parted-2.3/0000755000000000000000000000000011400006133007570 500000000000000parted-2.3/configure.ac0000644000000000000000000005003111400001027011772 00000000000000dnl GNU Parted - a library and front end for manipulation hard disk partitions dnl Copyright (C) 1998-2002, 2005-2010 Free Software Foundation, Inc. dnl dnl This file may be modified and/or distributed without restriction. AC_PREREQ([2.63]) AC_INIT([GNU parted], m4_esyscmd([build-aux/git-version-gen .version]), [bug-parted@gnu.org]) # When the most recent signed tag is v1.8.8.1, # the above might set e.g., PACKAGE_VERSION='1.8.8.1.1-0bfc' AC_CONFIG_SRCDIR([include/parted/parted.h]) AC_CONFIG_HEADERS([lib/config.h:lib/config.h.in]) AC_CONFIG_AUX_DIR([build-aux]) dnl Versioning dnl Shamelessly pulled straight from glib's configure.in ... dnl Making releases: dnl PED_MICRO_VERSION += 1; dnl PED_INTERFACE_AGE += 1; dnl PED_BINARY_AGE += 1; dnl if any functions have been added, set PED_INTERFACE_AGE to 0. dnl if backwards compatibility has been broken (eg. functions removed, dnl function signatures changed), dnl set PED_BINARY_AGE _and_ PED_INTERFACE_AGE to 0. # Derive these numbers from $PACKAGE_VERSION, which is set # when autoconf creates configure (see AC_INIT, above). PED_MAJOR_VERSION=`echo "$PACKAGE_VERSION"|sed 's/\..*//'` PED_MINOR_VERSION=`echo "$PACKAGE_VERSION"|sed 's/^[[0-9]][[0-9]]*\.//;s/\..*//'` case $PACKAGE_VERSION in *.*.*.*.*) PED_MICRO_VERSION=`echo "$PACKAGE_VERSION" \ | sed 's/^[^.]*\.[^.]*\.//;s/\..*//'` ;; *) PED_MICRO_VERSION=0;; esac PED_INTERFACE_AGE=0 PED_BINARY_AGE=0 PED_VERSION_SUFFIX= PED_VERSION=$PED_MAJOR_VERSION.$PED_MINOR_VERSION.$PED_MICRO_VERSION$PED_VERSION_SUFFIX LT_RELEASE=$PED_MAJOR_VERSION.$PED_MINOR_VERSION LT_CURRENT=`expr $PED_MICRO_VERSION - $PED_INTERFACE_AGE` LT_REVISION=$PED_INTERFACE_AGE LT_AGE=`expr $PED_BINARY_AGE - $PED_INTERFACE_AGE` AC_SUBST([LT_RELEASE]) AC_SUBST([LT_CURRENT]) AC_SUBST([LT_REVISION]) AC_SUBST([LT_AGE]) AM_INIT_AUTOMAKE([1.11 dist-xz color-tests parallel-tests]) AM_SILENT_RULES([yes]) # make --enable-silent-rules the default. AC_CANONICAL_HOST case "$host_os" in linux*) OS=linux ;; gnu*) OS=gnu ;; beos*) OS=beos ;; *) AC_MSG_ERROR([Unknown or unsupported OS "$host_os". Only "linux", "gnu" and "beos" are supported in this version of GNU Parted.]) ;; esac AC_SUBST([OS]) dnl Command-line options AC_ARG_WITH([readline], [ --with-readline support fancy command line editing], , with_readline=yes ) AC_ARG_ENABLE([mtrace], [ --enable-mtrace enable malloc() debugging], , enable_mtrace=no ) if test "$enable_mtrace" = yes; then AC_DEFINE([ENABLE_MTRACE], [1], [Mtrace malloc() debugging]) fi AC_SUBST([ENABLE_DEVICE_MAPPER]) ENABLE_DEVICE_MAPPER=yes AC_ARG_ENABLE([device-mapper], [ --enable-device-mapper enable device mapper support [default=yes]], [ENABLE_DEVICE_MAPPER=$enable_device_mapper]) if test $ENABLE_DEVICE_MAPPER = yes; then AC_DEFINE([ENABLE_DEVICE_MAPPER], 1, [device mapper (libdevmapper) support]) fi AC_ARG_ENABLE([selinux], [ --enable-selinux enable SELinux support [default=no]], , enable_selinux=no ) AC_ARG_ENABLE([discover-only], [ --enable-discover-only support only reading/probing [default=no]], , enable_discover_only=no ) if test "$enable_discover_only" = yes; then AC_DEFINE([DISCOVER_ONLY], [1], [Probing functionality only]) fi PARTED_LIBS="" AC_ARG_ENABLE([dynamic-loading], [ --enable-dynamic-loading support dynamic fs libraries [default=yes]], , if test "$enable_discover_only" = yes; then enable_dynamic_loading=no else enable_dynamic_loading=yes fi ) if test "$enable_discover_only" = yes \ && test "$enable_dynamic_loading" = yes; then AC_MSG_ERROR( [You can't use --enable-dynamic-loading and --disable-discover-only together] ) fi AC_ARG_ENABLE([fs], [ --enable-fs include filesystem support [default=yes]], , enable_fs=yes ) if test "$enable_fs" = yes; then AC_DEFINE([ENABLE_FS], [1], [Include file system support. i.e. libparted/fs_...]) fi AC_ARG_ENABLE([debug], [ --enable-debug compile in assertions [default=yes]], , enable_debug=yes ) if test "$enable_debug" = yes; then AC_DEFINE([DEBUG], [1], [Enable assertions, etc.]) fi AC_ARG_ENABLE([read-only], [ --enable-read-only disable writing (for debugging) [default=no]] , , enable_read_only=no ) if test "$enable_read_only" = yes; then AC_DEFINE([READ_ONLY], [1], [Disable all writing code]) fi PARTEDLDFLAGS= AC_SUBST([PARTEDLDFLAGS]) AC_ARG_ENABLE([pc98], [ --enable-pc98 build with pc98 support [default=yes]], , enable_pc98=yes ) if test "$enable_pc98" = yes; then AC_DEFINE([ENABLE_PC98], [1], [Include PC98 partition tables. (Sometimes excluded to avoid collisions with msdos partition tables]) fi AC_ARG_ENABLE([Werror], [ --enable-Werror build with gcc -Werror [default=yes]], , enable_Werror=yes ) AC_ARG_ENABLE([hfs-extract-fs], [ --enable-hfs-extract-fs Extract special HFS files for debugging [default=no]], , enable_hfs_extract_fs=no ) if test "$enable_hfs_extract_fs" = yes; then AC_DEFINE([HFS_EXTRACT_FS], [1], [Extract low level special HFS(+) files for debugging purposes when using the "check" command (NOT FOR PACKAGING)]) fi dnl make libc threadsafe (not required for us, but useful other users of dnl libparted) AM_CPPFLAGS="$AM_CPPFLAGS -D_REENTRANT" dnl Check for programs. AC_ISC_POSIX AC_PROG_CC AC_PROG_GCC_TRADITIONAL AM_PROG_CC_C_O gl_EARLY parted_FIND_USABLE_TEST_DIR dnl This test must come as early as possible after the compiler configuration dnl tests, because the choice of the file model can (in principle) affect dnl whether functions and headers are available, whether they work, etc. AC_SYS_LARGEFILE gl_INIT AC_ARG_ENABLE([gcc-warnings], [AS_HELP_STRING([--enable-gcc-warnings], [turn on lots of GCC warnings (for developers)])], [case $enableval in yes|no) ;; *) AC_MSG_ERROR([bad value $enableval for gcc-warnings option]) ;; esac gl_gcc_warnings=$enableval], [gl_gcc_warnings=no] ) if test "$gl_gcc_warnings" = yes; then gl_WARN_ADD([-Werror], [WERROR_CFLAGS]) AC_SUBST([WERROR_CFLAGS]) nw= # This, $nw, is the list of warnings we disable. nw="$nw -Wdeclaration-after-statement" # too useful to forbid nw="$nw -Waggregate-return" # anachronistic nw="$nw -Wlong-long" # C90 is anachronistic (lib/gethrxtime.h) nw="$nw -Wc++-compat" # We don't care about C++ compilers nw="$nw -Wundef" # Warns on '#if GNULIB_FOO' etc in gnulib nw="$nw -Wtraditional" # Warns on #elif which we use often nw="$nw -Wcast-qual" # Too many warnings for now nw="$nw -Wconversion" # Too many warnings for now nw="$nw -Wsystem-headers" # Don't let system headers trigger warnings nw="$nw -Wsign-conversion" # Too many warnings for now nw="$nw -Wtraditional-conversion" # Too many warnings for now nw="$nw -Wunreachable-code" # Too many warnings for now nw="$nw -Wpadded" # Our structs are not padded nw="$nw -Wredundant-decls" # openat.h declares e.g., mkdirat nw="$nw -Wlogical-op" # any use of fwrite provokes this nw="$nw -Wformat-nonliteral" # who.c and pinky.c strftime uses nw="$nw -Wvla" # warnings in gettext.h nw="$nw -Wnested-externs" # use of XARGMATCH/verify_function__ nw="$nw -Wswitch-enum" # Too many warnings for now nw="$nw -Wswitch-default" # Too many warnings for now # Too many warnings for now nw="$nw -Wattributes" nw="$nw -Wstrict-prototypes" nw="$nw -Wold-style-definition" nw="$nw -Wpacked" nw="$nw -Wmissing-prototypes" nw="$nw -Wmissing-declarations" nw="$nw -Wmissing-noreturn" # things I might fix soon: nw="$nw -Wfloat-equal" # sort.c, seq.c nw="$nw -Wmissing-format-attribute" # copy.c nw="$nw -Wunsafe-loop-optimizations" # a few src/*.c nw="$nw -Winline" # system.h's readdir_ignoring_dot_and_dotdot nw="$nw -Wstrict-overflow" # expr.c, pr.c, tr.c, factor.c nw="$nw -Wstack-protector" # libparted/label/gpt.c # ?? -Wstrict-overflow gl_MANYWARN_ALL_GCC([ws]) gl_MANYWARN_COMPLEMENT([ws], [$ws], [$nw]) for w in $ws; do gl_WARN_ADD([$w]) done gl_WARN_ADD([-Wno-missing-field-initializers]) # We need this one gl_WARN_ADD([-Wno-sign-compare]) # Too many warnings for now gl_WARN_ADD([-Wno-pointer-sign]) # Too many warnings for now gl_WARN_ADD([-Wno-unused-parameter]) # Too many warnings for now gl_WARN_ADD([-Wno-unused-macros]) # Too many warnings for now # FIXME: investigate these gl_WARN_ADD([-Wno-jump-misses-init]) # In spite of excluding -Wlogical-op above, it is enabled, as of # gcc 4.5.0 20090517, and it provokes warnings in cat.c, dd.c, truncate.c gl_WARN_ADD([-Wno-logical-op]) gl_WARN_ADD([-fdiagnostics-show-option]) AC_SUBST([WARN_CFLAGS]) AC_DEFINE([lint], [1], [Define to 1 if the compiler is checking for lint.]) AC_DEFINE([_FORTIFY_SOURCE], [2], [enable compile-time and run-time bounds-checking, and some warnings]) AC_DEFINE([GNULIB_PORTCHECK], [1], [enable some gnulib portability checks]) fi AC_CHECK_SIZEOF([off_t], [64], [ #include #include #include ]) AM_ENABLE_SHARED if test "$OS" = linux && test $ac_cv_sizeof_off_t -lt 8; then dnl Need to disable shared libraries, to get llseek() to work. Long dnl story. The short story is: lseek() isn't in glibc, so a syscall dnl must be made. syscalls can't be made from within shared libraries, dnl because of a bug (?) in gcc. AC_MSG_WARN( off_t is less than 8 bytes. Using llseek syscall, and disabling shared libraries.) AM_DISABLE_SHARED fi AM_PROG_LIBTOOL AM_GNU_GETTEXT_VERSION([0.18]) AM_GNU_GETTEXT([external]) if test "$USE_INCLUDED_LIBINTL" = "yes"; then AC_MSG_ERROR([ GNU Parted requires gettext to be installed for compilation - if native language support is desired. Either disable native language support with: $ ./configure --disable-nls Or install gettext. GNU gettext is available from http://ftp.gnu.org/gnu/gettext ]) fi dnl Check for libdl, if we are doing dynamic loading DL_LIBS="" if test "$enable_dynamic_loading" = yes; then AC_CHECK_LIB([dl], [dlopen], DL_LIBS="-ldl" PARTED_LIBS="$PARTED_LIBS -ldl" AC_DEFINE([DYNAMIC_LOADING], [1], [Lazy linking to fs libs]), AC_MSG_ERROR( [-ldl not found! Try using --disable-dynamic-loading] ) ) fi AC_SUBST([DL_LIBS]) dnl Check for libuuid UUID_LIBS="" AC_CHECK_LIB([uuid], [uuid_generate], [UUID_LIBS="-luuid"], [AC_MSG_ERROR(dnl [GNU Parted requires libuuid - a part of the e2fsprogs package (but sometimes distributed separately in uuid-devel or similar) This can probably be found on your distribution's CD or FTP site or at: http://web.mit.edu/tytso/www/linux/e2fsprogs.html Note: if you are using precompiled packages you will also need the development package as well (which may be called e2fsprogs-devel or something similar). If you compile e2fsprogs yourself then you need to do 'make install' and 'make install-libs'.])] ) AC_SUBST([UUID_LIBS]) dnl Check for libdevmapper DM_LIBS= if test $ENABLE_DEVICE_MAPPER = yes; then AC_CHECK_LIB([devmapper], [dm_task_create], [DM_LIBS=-ldevmapper], [AC_MSG_ERROR(dnl [libdevmapper could not be found, but is required for the --enable-device-mapper option, which is enabled by default. Either disable device-mapper support with --disable-device-mapper or download and install device-mapper from: http://sources.redhat.com/dm/ Note: if you are using precompiled packages you will need the development package as well (it may be called device-mapper-devel or something similar).] )] ) fi AC_SUBST([DM_LIBS]) dnl Check for SELinux SELINUX_LIBS="" if test "$enable_selinux" = yes; then SELINUX_LIBS="-lselinux -lsepol" fi AC_SUBST([SELINUX_LIBS]) dnl Check for libreiserfs REISER_LIBS="" if test "$enable_dynamic_loading" = no && test "$enable_discover_only" = no; then OLD_LIBS="$LIBS" AC_CHECK_LIB([dal], [dal_equals], LIBS="-ldal" AC_CHECK_LIB([reiserfs], [reiserfs_fs_probe], REISER_LIBS="-ldal -lreiserfs" AC_DEFINE([HAVE_LIBREISERFS], [1], [Have libreiserfs]) ) AC_CHECK_LIB([reiserfs], [reiserfs_fs_check], AC_DEFINE([HAVE_REISERFS_FS_CHECK], [1], [Have reiserfs_fs_check()]) ) ) LIBS="$OLD_LIBS" fi AC_SUBST([REISER_LIBS]) dnl Check for termcap if test "$with_readline" = yes; then OLD_LIBS="$LIBS" LIBS="" AC_SEARCH_LIBS([tgetent], [tinfo ncurses curses termcap termlib], [PARTED_LIBS="$PARTED_LIBS $LIBS"], [AC_MSG_ERROR(dnl [termcap could not be found which is required for the --with-readline option (which is enabled by default). Either disable readline support with --without-readline or download and install termcap from: ftp.gnu.org/gnu/termcap Note: if you are using precompiled packages you will also need the development package as well (which may be called termcap-devel or something similar). Note: (n)curses also seems to work as a substitute for termcap. This was not found either - but you could try installing that as well.])]) LIBS="$OLD_LIBS" fi dnl Check for readline dnl NOTE: We need to remove the gl_cv_ignore_unused_libraries flag if we dnl detected one earlier. libreadline on some platforms (e.g., RHEL and dnl Fedora) is left with if test "$with_readline" = yes; then OLD_LIBS="$LIBS" LIBS="$LIBS $PARTED_LIBS" found_working_libreadline=no AC_CHECK_LIB([readline], [readline], found_working_libreadline=yes, AC_MSG_ERROR( [GNU Readline could not be found which is required for the --with-readline (which is enabled by default). Either disable readline support with --without-readline or downloaded and install it from: ftp.gnu.org/gnu/readline Note: if you are using precompiled packages you will also need the development package as well (which may be called readline-devel or something similar). ]) , $PARTED_LIBS ) LIBS="$OLD_LIBS $PARTED_LIBS" # See if libreadline is too old to be used. # The readline function in Debian's libreadline5 5.0-10 fails to # print to stdout the response (from stdin) to a prompt, when stdout # is redirected, while 5.2-3 works fine. That failure would cause # several of parted's tests to failure. # The purist approach would be to write a run-test, but that's # not friendly to cross-compilers, so here's a compromise: # # See if libreadline defines one of these symbols: # [this is the list of public symbols that are in 5.2, but not 5.0] # # $ diff -u /tmp/readline-5.[02]|grep '+T.[^_]' # +T rl_vi_rubout # +T rl_variable_value # +T rl_reset_screen_size # +T alloc_history_entry # +T copy_history_entry # +T replace_history_data # # If not, then reject this readline lib. AC_CHECK_LIB([readline], [rl_variable_value], , AC_MSG_ERROR( [Your version of libreadline is too old to be used. Consider upgrading to version 5.2 or newer.]) found_working_libreadline=no, $PARTED_LIBS) if test $found_working_libreadline = yes; then PARTED_LIBS="-lreadline $PARTED_LIBS" AC_DEFINE([HAVE_LIBREADLINE], [1], [have readline]) fi LIBS="$OLD_LIBS" fi AC_SUBST([PARTED_LIBS]) dnl Check for OS specific libraries dnl GNU/Hurd: if test "$OS" = gnu; then dnl libshouldbeinlibc AC_CHECK_LIB([shouldbeinlibc], [vm_deallocate], OS_LIBS="$OS_LIBS -lshouldbeinlibc", AC_MSG_ERROR( [GNU Parted requires libshouldbeinlibc when running on GNU/Hurd systems. It is a standard part of a GNU/Hurd system.] ) ) dnl libstore may depend on libparted being present. dnl Aren't circular dependencies wonderful? OLD_LIBS="$LIBS" LIBS= AC_CHECK_LIB([parted], [ped_device_read]) dnl libstore AC_CHECK_LIB([store], [store_open], OS_LIBS="$OS_LIBS -lstore", AC_MSG_ERROR( [GNU Parted requires libstore when running on GNU/Hurd systems. It is a standard part of a GNU/Hurd system.] ) , $OS_LIBS $UUID_LIBS $DM_LIBS $LIBS ) LIBS="$OLD_LIBS" fi dnl BeOS/ZETA/Haiku: if test "$OS" = beos; then dnl Include the socket library, as it is a depedency of libuuid dnl and so also of us (due to socket() call in libuuid) OS_LIBS="$OS_LIBS -lsocket" fi AC_SUBST([OS_LIBS]) dnl One day, gettext might support libtool... dnl if test "$USE_INCLUDED_LIBINTL" = "yes"; then dnl INTLINCS='-I$(top_srcdir)/intl' dnl fi AC_SUBST([INTLINCS]) dnl Checks for header files. AC_CHECK_HEADER([uuid/uuid.h], , [AC_MSG_ERROR( [GNU Parted requires libuuid - a part of the e2fsprogs package. You seem to have the library installed but not the headers. These are usually found in a corresponding development package (usually called e2fsprogs-devel). If you can't find one try: http://web.mit.edu/tytso/www/linux/e2fsprogs.html])] ) AC_CHECK_HEADERS([getopt.h]) dnl required for libparted/llseek.c (TODO: make linux-x86 only) if test "$OS" = linux; then AC_CHECK_HEADER([linux/unistd.h]) fi if test "$with_readline" = yes; then AC_CHECK_HEADERS([readline/readline.h readline/history.h], , [AC_MSG_ERROR( [The headers for GNU Readline could not be found which are required for the --with-readline option. You seem to have the GNU readline library installed but not the headers. These are usually found in a corresponding development package (usually called readline-devel). If you can't find one try: ftp.gnu.org/gnu/readline Alternatively you can disable readline support with --without-readline])] ) fi AC_CHECK_HEADERS([termcap.h]) if test "$USE_NLS" = yes; then AC_CHECK_HEADERS([wctype.h], , [AC_MSG_ERROR( [One or more of the header files that are required for native language support (wctype.h) could not be found. Either get a newer version of GNU libc and its headers - which can be obtained from: ftp.gnu.org/gnu/glibc Or disable native language support with the --disable-nls option])] ) fi AC_CHECK_HEADER([execinfo.h], [ AC_CHECK_LIB([c], [backtrace], [ AC_DEFINE([HAVE_BACKTRACE], [1], [Has backtrace support]) LDFLAGS="$LDFLAGS -rdynamic" ]) ]) AM_CONDITIONAL([COMPILE_FOR_S390], [test "$host_cpu" = s390 || test "$host_cpu" = s390x]) AM_CONDITIONAL([BUILD_LINUX], [test "$OS" = linux]) dnl check for "check", unit testing library/header PKG_CHECK_MODULES([CHECK], [check >= 0.9.3], have_check=yes, have_check=no) if test "$have_check" != "yes"; then AC_MSG_RESULT([Unable to locate check version 0.9.3 or higher: not building]) fi AM_CONDITIONAL([HAVE_CHECK], [test "$have_check" = yes]) dnl Checks for typedefs, structures and compiler characteristics. AC_PROG_LD AC_C_BIGENDIAN AC_C_INLINE AC_C_CONST AC_C_RESTRICT dnl Checks for library functions. AC_CHECK_FUNCS([sigaction]) AC_CHECK_FUNCS([getuid]) dnl NOTE: We need to remove the gl_cv_ignore_unused_libraries flag if we dnl detected one earlier. libreadline on some platforms (e.g., RHEL and dnl Fedora) is left with if test "$with_readline" = yes; then OLD_LIBS="$LIBS" LIBS="$LIBS $PARTED_LIBS -lreadline" AC_CHECK_FUNCS([rl_completion_matches]) LIBS="$OLD_LIBS" fi AC_CHECK_FUNCS([canonicalize_file_name]) # CFLAGS="$CFLAGS -W -Wall -Wno-unused -Wno-switch -Wno-format" if test "$enable_Werror" = yes; then CFLAGS="$CFLAGS -Werror" fi DATE=$(date '+%d %b %Y %H:%M') USER=$(whoami) HOST=$(hostname) BUILDINFO="$USER@$HOST, $DATE" AC_SUBST([BUILDINFO]) LIB_BLKID= AC_SUBST([LIB_BLKID]) pe_saved_libs=$LIBS AC_SEARCH_LIBS([blkid_probe_get_topology], [blkid], [test "$ac_cv_search_blkid_probe_get_topology" = "none required" \ || LIB_BLKID=$ac_cv_search_blkid_probe_get_topology]) AC_CHECK_FUNC([blkid_probe_get_topology], [use_blkid=1], [use_blkid=0]) LIBS=$pe_saved_libs AC_DEFINE_UNQUOTED([USE_BLKID], [$use_blkid], [Define if you have sufficient blkid support.]) AC_CHECK_HEADERS_ONCE([blkid/blkid.h]) AC_OUTPUT([ Makefile lib/Makefile include/Makefile include/parted/Makefile libparted/Makefile libparted/labels/Makefile libparted/fs/Makefile libparted/fs/amiga/Makefile libparted/fs/ext2/Makefile libparted/fs/fat/Makefile libparted/fs/hfs/Makefile libparted/fs/jfs/Makefile libparted/fs/linux_swap/Makefile libparted/fs/ntfs/Makefile libparted/fs/reiserfs/Makefile libparted/fs/ufs/Makefile libparted/fs/xfs/Makefile libparted/tests/Makefile libparted.pc parted/Makefile partprobe/Makefile doc/Makefile doc/C/Makefile doc/pt_BR/Makefile debug/Makefile debug/clearfat/Makefile debug/test/Makefile tests/Makefile po/Makefile.in ]) echo echo Type \'make\' to compile parted. parted-2.3/libparted/0000755000000000000000000000000011400006131011534 500000000000000parted-2.3/libparted/architecture.h0000644000000000000000000000226211333731662014334 00000000000000 /* libparted - a library for manipulating disk partitions Copyright (C) 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* * WARNING: This shouldn't be exported to the API */ #ifndef _LIBPARTED_ARCH_H_INCLUDED #define _LIBPARTED_ARCH_H_INCLUDED #include struct _PedArchitecture { PedDiskArchOps* disk_ops; PedDeviceArchOps* dev_ops; }; typedef struct _PedArchitecture PedArchitecture; extern const PedArchitecture* ped_architecture; extern void ped_set_architecture (); #endif /* _LIBPARTED_ARCH_H_INCLUDED */ parted-2.3/libparted/debug.c0000644000000000000000000000642311333731662012736 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 2000, 2005, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ #ifdef DEBUG #if HAVE_BACKTRACE #include #endif static void default_handler ( const int level, const char* file, int line, const char* function, const char* msg ); static PedDebugHandler* debug_handler = &default_handler; /** * Default debug handler. * Will print all information to stderr. */ static void default_handler ( const int level, const char* file, int line, const char* function, const char* msg ) { fprintf ( stderr, "[%d] %s:%d (%s): %s\n", level, file, line, function, msg ); } /** * Send a debug message. * Do not call this directly -- use PED_DEBUG() instead. * * level log level, 0 ~= "print definitely" */ void ped_debug ( const int level, const char* file, int line, const char* function, const char* msg, ... ) { va_list arg_list; char* msg_concat = ped_malloc(8192); va_start ( arg_list, msg ); vsnprintf ( msg_concat, 8192, msg, arg_list ); va_end ( arg_list ); debug_handler ( level, file, line, function, msg_concat ); free ( msg_concat ); } /* * handler debug handler; NULL for default handler */ void ped_debug_set_handler ( PedDebugHandler* handler ) { debug_handler = ( handler ? handler : default_handler ); } /* * Check an assertion. * Do not call this directly -- use PED_ASSERT() instead. */ void ped_assert (const char* cond_text, const char* file, int line, const char* function) { #if HAVE_BACKTRACE /* Print backtrace stack */ void *stack[20]; char **strings, **string; int size = backtrace(stack, 20); strings = backtrace_symbols(stack, size); if (strings) { printf(_("Backtrace has %d calls on stack:\n"), size); for (string = strings; size > 0; size--, string++) printf(" %d: %s\n", size, *string); free(strings); } #endif /* Throw the exception */ ped_exception_throw ( PED_EXCEPTION_BUG, PED_EXCEPTION_FATAL, _("Assertion (%s) at %s:%d in function %s() failed."), cond_text, file, line, function); abort (); } #endif /* DEBUG */ parted-2.3/libparted/arch/0000755000000000000000000000000011400006131012451 500000000000000parted-2.3/libparted/arch/linux.c0000644000000000000000000027035011371763262013731 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 1999-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #define PROC_DEVICES_BUFSIZ 16384 #include #include #include #include #include #if defined __s390__ || defined __s390x__ #include #endif #include #include #include #include #include #include #include #include #include #include #include #include #include /* for uname() */ #include #ifdef ENABLE_DEVICE_MAPPER #include #endif #include "../architecture.h" #include "dirname.h" #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ #define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c)) #ifndef __NR__llseek #define __NR__llseek 140 #endif #ifndef SCSI_IOCTL_SEND_COMMAND #define SCSI_IOCTL_SEND_COMMAND 1 #endif /* from */ #define HDIO_GETGEO 0x0301 /* get device geometry */ #define HDIO_GET_IDENTITY 0x030d /* get IDE identification info */ #define RD_MODE (O_RDONLY) #define WR_MODE (O_WRONLY) #define RW_MODE (O_RDWR) struct hd_geometry { unsigned char heads; unsigned char sectors; unsigned short cylinders; unsigned long start; }; struct ata7_sectinfo { int valid1:1; int valid2:1; int rsv:26; int multiplier:4; }; /* structure returned by HDIO_GET_IDENTITY, as per ANSI ATA2 rev.2f spec */ struct hd_driveid { unsigned short config; /* lots of obsolete bit flags */ unsigned short cyls; /* "physical" cyls */ unsigned short reserved2; /* reserved (word 2) */ unsigned short heads; /* "physical" heads */ unsigned short track_bytes; /* unformatted bytes per track */ unsigned short sector_bytes; /* unformatted bytes per sector */ unsigned short sectors; /* "physical" sectors per track */ unsigned short vendor0; /* vendor unique */ unsigned short vendor1; /* vendor unique */ unsigned short vendor2; /* vendor unique */ unsigned char serial_no[20]; /* 0 = not_specified */ unsigned short buf_type; unsigned short buf_size; /* 512 byte increments; 0 = not_specified */ unsigned short ecc_bytes; /* for r/w long cmds; 0 = not_specified */ unsigned char fw_rev[8]; /* 0 = not_specified */ char model[40]; /* 0 = not_specified */ unsigned char max_multsect; /* 0=not_implemented */ unsigned char vendor3; /* vendor unique */ unsigned short dword_io; /* 0=not_implemented; 1=implemented */ unsigned char vendor4; /* vendor unique */ unsigned char capability; /* bits 0:DMA 1:LBA 2:IORDYsw 3:IORDYsup*/ unsigned short reserved50; /* reserved (word 50) */ unsigned char vendor5; /* vendor unique */ unsigned char tPIO; /* 0=slow, 1=medium, 2=fast */ unsigned char vendor6; /* vendor unique */ unsigned char tDMA; /* 0=slow, 1=medium, 2=fast */ unsigned short field_valid; /* bits 0:cur_ok 1:eide_ok */ unsigned short cur_cyls; /* logical cylinders */ unsigned short cur_heads; /* logical heads */ unsigned short cur_sectors; /* logical sectors per track */ unsigned short cur_capacity0; /* logical total sectors on drive */ unsigned short cur_capacity1; /* (2 words, misaligned int) */ unsigned char multsect; /* current multiple sector count */ unsigned char multsect_valid; /* when (bit0==1) multsect is ok */ unsigned int lba_capacity; /* total number of sectors */ unsigned short dma_1word; /* single-word dma info */ unsigned short dma_mword; /* multiple-word dma info */ unsigned short eide_pio_modes; /* bits 0:mode3 1:mode4 */ unsigned short eide_dma_min; /* min mword dma cycle time (ns) */ unsigned short eide_dma_time; /* recommended mword dma cycle time (ns) */ unsigned short eide_pio; /* min cycle time (ns), no IORDY */ unsigned short eide_pio_iordy; /* min cycle time (ns), with IORDY */ unsigned short words69_70[2]; /* reserved words 69-70 */ /* HDIO_GET_IDENTITY currently returns only words 0 through 70 */ unsigned short words71_74[4]; /* reserved words 71-74 */ unsigned short queue_depth; /* */ unsigned short words76_79[4]; /* reserved words 76-79 */ unsigned short major_rev_num; /* */ unsigned short minor_rev_num; /* */ unsigned short command_set_1; /* bits 0:Smart 1:Security 2:Removable 3:PM */ unsigned short command_set_2; /* bits 14:Smart Enabled 13:0 zero */ unsigned short cfsse; /* command set-feature supported extensions */ unsigned short cfs_enable_1; /* command set-feature enabled */ unsigned short cfs_enable_2; /* command set-feature enabled */ unsigned short csf_default; /* command set-feature default */ unsigned short dma_ultra; /* */ unsigned short word89; /* reserved (word 89) */ unsigned short word90; /* reserved (word 90) */ unsigned short CurAPMvalues; /* current APM values */ unsigned short word92; /* reserved (word 92) */ unsigned short hw_config; /* hardware config */ unsigned short words94_105[12];/* reserved words 94-105 */ struct ata7_sectinfo ata7_sectinfo; /* ATAPI/ATA7 physical and logical sector size */ unsigned short words107_116[10];/* reserved words 107-116 */ unsigned int logical_sectsize;/* ATAPI/ATA7 logical sector size */ unsigned short words119_125[7];/* reserved words 119-125 */ unsigned short last_lun; /* reserved (word 126) */ unsigned short word127; /* reserved (word 127) */ unsigned short dlf; /* device lock function * 15:9 reserved * 8 security level 1:max 0:high * 7:6 reserved * 5 enhanced erase * 4 expire * 3 frozen * 2 locked * 1 en/disabled * 0 capability */ unsigned short csfo; /* current set features options * 15:4 reserved * 3 auto reassign * 2 reverting * 1 read-look-ahead * 0 write cache */ unsigned short words130_155[26];/* reserved vendor words 130-155 */ unsigned short word156; unsigned short words157_159[3]; /* reserved vendor words 157-159 */ unsigned short words160_255[95];/* reserved words 160-255 */ }; /* from */ #define BLKRRPART _IO(0x12,95) /* re-read partition table */ #define BLKGETSIZE _IO(0x12,96) /* return device size */ #define BLKFLSBUF _IO(0x12,97) /* flush buffer cache */ #define BLKSSZGET _IO(0x12,104) /* get block device sector size */ #define BLKGETLASTSECT _IO(0x12,108) /* get last sector of block device */ #define BLKSETLASTSECT _IO(0x12,109) /* set last sector of block device */ /* return device size in bytes (u64 *arg) */ #define BLKGETSIZE64 _IOR(0x12,114,size_t) struct blkdev_ioctl_param { unsigned int block; size_t content_length; char * block_contents; }; /* from */ #define IDE0_MAJOR 3 #define IDE1_MAJOR 22 #define IDE2_MAJOR 33 #define IDE3_MAJOR 34 #define IDE4_MAJOR 56 #define IDE5_MAJOR 57 #define SCSI_CDROM_MAJOR 11 #define SCSI_DISK0_MAJOR 8 #define SCSI_DISK1_MAJOR 65 #define SCSI_DISK2_MAJOR 66 #define SCSI_DISK3_MAJOR 67 #define SCSI_DISK4_MAJOR 68 #define SCSI_DISK5_MAJOR 69 #define SCSI_DISK6_MAJOR 70 #define SCSI_DISK7_MAJOR 71 #define COMPAQ_SMART2_MAJOR 72 #define COMPAQ_SMART2_MAJOR1 73 #define COMPAQ_SMART2_MAJOR2 74 #define COMPAQ_SMART2_MAJOR3 75 #define COMPAQ_SMART2_MAJOR4 76 #define COMPAQ_SMART2_MAJOR5 77 #define COMPAQ_SMART2_MAJOR6 78 #define COMPAQ_SMART2_MAJOR7 79 #define COMPAQ_SMART_MAJOR 104 #define COMPAQ_SMART_MAJOR1 105 #define COMPAQ_SMART_MAJOR2 106 #define COMPAQ_SMART_MAJOR3 107 #define COMPAQ_SMART_MAJOR4 108 #define COMPAQ_SMART_MAJOR5 109 #define COMPAQ_SMART_MAJOR6 110 #define COMPAQ_SMART_MAJOR7 111 #define DAC960_MAJOR 48 #define ATARAID_MAJOR 114 #define I2O_MAJOR1 80 #define I2O_MAJOR2 81 #define I2O_MAJOR3 82 #define I2O_MAJOR4 83 #define I2O_MAJOR5 84 #define I2O_MAJOR6 85 #define I2O_MAJOR7 86 #define I2O_MAJOR8 87 #define UBD_MAJOR 98 #define DASD_MAJOR 94 #define VIODASD_MAJOR 112 #define AOE_MAJOR 152 #define SX8_MAJOR1 160 #define SX8_MAJOR2 161 #define XVD_MAJOR 202 #define SDMMC_MAJOR 179 #define LOOP_MAJOR 7 #define MD_MAJOR 9 #define SCSI_BLK_MAJOR(M) ( \ (M) == SCSI_DISK0_MAJOR \ || (M) == SCSI_CDROM_MAJOR \ || ((M) >= SCSI_DISK1_MAJOR && (M) <= SCSI_DISK7_MAJOR)) /* Maximum number of partitions supported by linux. */ #define MAX_NUM_PARTS 64 static char* _device_get_part_path (PedDevice* dev, int num); static int _partition_is_mounted_by_path (const char* path); static int _read_fd (int fd, char **buf) { char* p; size_t size = PROC_DEVICES_BUFSIZ; int s, filesize = 0; *buf = malloc (size * sizeof (char)); if (*buf == 0) { return -1; } do { p = &(*buf) [filesize]; s = read (fd, p, PROC_DEVICES_BUFSIZ); /* exit if there is an error or EOF is reached */ if (s <= 0) break; filesize += s; size += s; char *new_buf = realloc (*buf, size); if (new_buf == NULL) { int saved_errno = errno; free (*buf); errno = saved_errno; return -1; } *buf = new_buf; } while (1); if (filesize == 0 && s < 0) { free (*buf); *buf = NULL; return -1; } else { char *new_buf = realloc (*buf, filesize + 1); if (new_buf == NULL) { int saved_errno = errno; free (*buf); errno = saved_errno; return -1; } *buf = new_buf; (*buf)[filesize] = '\0'; } return filesize; } static int _major_type_in_devices (int major, const char* type) { int fd; char* buf = NULL; char* line; char* end; int bd = 0; char c; fd = open ("/proc/devices", O_RDONLY); if (fd < 0) return 0; if (_read_fd(fd, &buf) < 0) { close(fd); return 0; } line = buf; end = strchr(line, '\n'); while (end) { char *name; int maj; c = *end; *end = '\0'; if (!bd) { if (!strncmp(line, "Block devices:", 14)) bd = 1; goto next; } name = strrchr(line, ' '); if (!name || strcmp(name+1, type)) goto next; maj = strtol(line, &name, 10); if (maj == major) { free(buf); close(fd); return 1; } next: *end = c; line = end+1; end = strchr(line, '\n'); } free(buf); close(fd); return 0; } static int _is_ide_major (int major) { switch (major) { case IDE0_MAJOR: case IDE1_MAJOR: case IDE2_MAJOR: case IDE3_MAJOR: case IDE4_MAJOR: case IDE5_MAJOR: return 1; default: return 0; } } static int _is_cpqarray_major (int major) { return ((COMPAQ_SMART2_MAJOR <= major && major <= COMPAQ_SMART2_MAJOR7) || (COMPAQ_SMART_MAJOR <= major && major <= COMPAQ_SMART_MAJOR7)); } static int _is_i2o_major (int major) { return (I2O_MAJOR1 <= major && major <= I2O_MAJOR8); } static int _is_sx8_major (int major) { return (SX8_MAJOR1 <= major && major <= SX8_MAJOR2); } static int _is_virtblk_major (int major) { return _major_type_in_devices (major, "virtblk"); } #ifdef ENABLE_DEVICE_MAPPER static int _is_dm_major (int major) { return _major_type_in_devices (major, "device-mapper"); } static int _dm_maptype (PedDevice *dev) { LinuxSpecific* arch_specific = LINUX_SPECIFIC (dev); struct dm_task *dmt; uint64_t start, length; char *target_type = NULL; char *params; int r = -1; const char* dev_dir = getenv ("DM_DEV_DIR"); if (dev_dir && *dev_dir && !dm_set_dev_dir(dev_dir)) return r; if (!(dmt = dm_task_create(DM_DEVICE_TABLE))) return r; if (!dm_task_set_major_minor(dmt, arch_specific->major, arch_specific->minor, 0)) goto bad; dm_task_no_open_count(dmt); if (!dm_task_run(dmt)) goto bad; dm_get_next_target(dmt, NULL, &start, &length, &target_type, ¶ms); arch_specific->dmtype = strdup(target_type ? target_type : "NO-TARGET"); if (arch_specific->dmtype == NULL) goto bad; r = 0; bad: dm_task_destroy(dmt); return r; } static int _probe_dm_devices () { DIR* mapper_dir; struct dirent* dent; char buf [512]; /* readdir(3) claims d_name[256] */ struct stat st; mapper_dir = opendir ("/dev/mapper"); if (!mapper_dir) return 0; /* Search the /dev/mapper directory for devices w/ the same major * number that was returned from _probe_lvm_major(). */ while ((dent = readdir (mapper_dir))) { if (strcmp (dent->d_name, ".") == 0 || strcmp (dent->d_name, "..") == 0) continue; snprintf (buf, sizeof (buf), "/dev/mapper/%s", dent->d_name); if (stat (buf, &st) != 0) continue; if (_is_dm_major(major(st.st_rdev))) _ped_device_probe (buf); } closedir (mapper_dir); return 1; } #endif static int _device_stat (PedDevice* dev, struct stat * dev_stat) { PED_ASSERT (dev != NULL, return 0); PED_ASSERT (!dev->external_mode, return 0); while (1) { if (!stat (dev->path, dev_stat)) { return 1; } else { if (ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_RETRY_CANCEL, _("Could not stat device %s - %s."), dev->path, strerror (errno)) != PED_EXCEPTION_RETRY) return 0; } } } static int _device_probe_type (PedDevice* dev) { struct stat dev_stat; int dev_major; int dev_minor; LinuxSpecific* arch_specific = LINUX_SPECIFIC (dev); if (!_device_stat (dev, &dev_stat)) return 0; if (!S_ISBLK(dev_stat.st_mode)) { dev->type = PED_DEVICE_FILE; return 1; } arch_specific->major = dev_major = major (dev_stat.st_rdev); arch_specific->minor = dev_minor = minor (dev_stat.st_rdev); if (SCSI_BLK_MAJOR (dev_major) && (dev_minor % 0x10 == 0)) { dev->type = PED_DEVICE_SCSI; } else if (_is_ide_major (dev_major) && (dev_minor % 0x40 == 0)) { dev->type = PED_DEVICE_IDE; } else if (dev_major == DAC960_MAJOR && (dev_minor % 0x8 == 0)) { dev->type = PED_DEVICE_DAC960; } else if (dev_major == ATARAID_MAJOR && (dev_minor % 0x10 == 0)) { dev->type = PED_DEVICE_ATARAID; } else if (dev_major == AOE_MAJOR && (dev_minor % 0x10 == 0)) { dev->type = PED_DEVICE_AOE; } else if (dev_major == DASD_MAJOR && (dev_minor % 0x4 == 0)) { dev->type = PED_DEVICE_DASD; } else if (dev_major == VIODASD_MAJOR && (dev_minor % 0x8 == 0)) { dev->type = PED_DEVICE_VIODASD; } else if (_is_sx8_major(dev_major) && (dev_minor % 0x20 == 0)) { dev->type = PED_DEVICE_SX8; } else if (_is_i2o_major (dev_major) && (dev_minor % 0x10 == 0)) { dev->type = PED_DEVICE_I2O; } else if (_is_cpqarray_major (dev_major) && (dev_minor % 0x10 == 0)) { dev->type = PED_DEVICE_CPQARRAY; } else if (dev_major == UBD_MAJOR && (dev_minor % 0x10 == 0)) { dev->type = PED_DEVICE_UBD; #ifdef ENABLE_DEVICE_MAPPER } else if (_is_dm_major(dev_major)) { dev->type = PED_DEVICE_DM; if (_dm_maptype(dev)) { ped_exception_throw ( PED_EXCEPTION_BUG, PED_EXCEPTION_CANCEL, _("Unable to determine the dm type of %s."), dev->path); } #endif } else if (dev_major == XVD_MAJOR && (dev_minor % 0x10 == 0)) { dev->type = PED_DEVICE_XVD; } else if (dev_major == SDMMC_MAJOR && (dev_minor % 0x08 == 0)) { dev->type = PED_DEVICE_SDMMC; } else if (_is_virtblk_major(dev_major)) { dev->type = PED_DEVICE_VIRTBLK; } else if (dev_major == LOOP_MAJOR) { dev->type = PED_DEVICE_FILE; } else if (dev_major == MD_MAJOR) { dev->type = PED_DEVICE_MD; } else { dev->type = PED_DEVICE_UNKNOWN; } return 1; } static int _get_linux_version () { static int kver = -1; struct utsname uts; int major; int minor; int teeny; if (kver != -1) return kver; if (uname (&uts)) return kver = 0; if (sscanf (uts.release, "%u.%u.%u", &major, &minor, &teeny) != 3) return kver = 0; return kver = KERNEL_VERSION (major, minor, teeny); } static int _have_kern26 () { static int have_kern26 = -1; int kver; if (have_kern26 != -1) return have_kern26; kver = _get_linux_version(); return have_kern26 = kver >= KERNEL_VERSION (2,6,0) ? 1 : 0; } #if USE_BLKID static void get_blkid_topology (LinuxSpecific *arch_specific) { arch_specific->probe = blkid_new_probe (); if (!arch_specific->probe) return; if (blkid_probe_set_device(arch_specific->probe, arch_specific->fd, 0, 0)) return; arch_specific->topology = blkid_probe_get_topology(arch_specific->probe); } #endif static void _device_set_sector_size (PedDevice* dev) { LinuxSpecific* arch_specific = LINUX_SPECIFIC (dev); int sector_size; dev->sector_size = PED_SECTOR_SIZE_DEFAULT; dev->phys_sector_size = PED_SECTOR_SIZE_DEFAULT; PED_ASSERT (dev->open_count, return); if (_get_linux_version() < KERNEL_VERSION (2,3,0)) { dev->sector_size = PED_SECTOR_SIZE_DEFAULT; return; } if (ioctl (arch_specific->fd, BLKSSZGET, §or_size)) { ped_exception_throw ( PED_EXCEPTION_WARNING, PED_EXCEPTION_OK, _("Could not determine sector size for %s: %s.\n" "Using the default sector size (%lld)."), dev->path, strerror (errno), PED_SECTOR_SIZE_DEFAULT); } else { dev->sector_size = (long long)sector_size; dev->phys_sector_size = dev->sector_size; } #if USE_BLKID get_blkid_topology(arch_specific); if (!arch_specific->topology) { dev->phys_sector_size = 0; } else { dev->phys_sector_size = blkid_topology_get_physical_sector_size( arch_specific->topology); } if (dev->phys_sector_size == 0) { ped_exception_throw ( PED_EXCEPTION_WARNING, PED_EXCEPTION_OK, _("Could not determine physical sector size for %s.\n" "Using the logical sector size (%lld)."), dev->path, dev->sector_size); dev->phys_sector_size = dev->sector_size; } #endif #if defined __s390__ || defined __s390x__ /* Return PED_SECTOR_SIZE_DEFAULT for DASDs. */ if (dev->type == PED_DEVICE_DASD) { arch_specific->real_sector_size = dev->sector_size; dev->sector_size = PED_SECTOR_SIZE_DEFAULT; } #endif } static int _kernel_has_blkgetsize64(void) { int version = _get_linux_version(); if (version >= KERNEL_VERSION (2,5,4)) return 1; if (version < KERNEL_VERSION (2,5,0) && version >= KERNEL_VERSION (2,4,18)) return 1; return 0; } /* TODO: do a binary search if BLKGETSIZE doesn't work?! */ static PedSector _device_get_length (PedDevice* dev) { unsigned long size; LinuxSpecific* arch_specific = LINUX_SPECIFIC (dev); uint64_t bytes=0; PED_ASSERT (dev->open_count > 0, return 0); PED_ASSERT (dev->sector_size % PED_SECTOR_SIZE_DEFAULT == 0, return 0); if (_kernel_has_blkgetsize64()) { if (ioctl(arch_specific->fd, BLKGETSIZE64, &bytes) == 0) { return bytes / dev->sector_size; } } if (ioctl (arch_specific->fd, BLKGETSIZE, &size)) { ped_exception_throw ( PED_EXCEPTION_BUG, PED_EXCEPTION_CANCEL, _("Unable to determine the size of %s (%s)."), dev->path, strerror (errno)); return 0; } return size; } static int _device_probe_geometry (PedDevice* dev) { LinuxSpecific* arch_specific = LINUX_SPECIFIC (dev); struct stat dev_stat; struct hd_geometry geometry; if (!_device_stat (dev, &dev_stat)) return 0; PED_ASSERT (S_ISBLK (dev_stat.st_mode), return 0); _device_set_sector_size (dev); dev->length = _device_get_length (dev); if (!dev->length) return 0; /* The GETGEO ioctl is no longer useful (as of linux 2.6.x). We could * still use it in 2.4.x, but this is contentious. Perhaps we should * move to EDD. */ dev->bios_geom.sectors = 63; dev->bios_geom.heads = 255; dev->bios_geom.cylinders = dev->length / (63 * 255); /* FIXME: what should we put here? (TODO: discuss on linux-kernel) */ if (!ioctl (arch_specific->fd, HDIO_GETGEO, &geometry) && geometry.sectors && geometry.heads) { dev->hw_geom.sectors = geometry.sectors; dev->hw_geom.heads = geometry.heads; dev->hw_geom.cylinders = dev->length / (dev->hw_geom.heads * dev->hw_geom.sectors); } else { dev->hw_geom = dev->bios_geom; } return 1; } static char* strip_name(char* str) { int i; int end = 0; for (i = 0; str[i] != 0; i++) { if (!isspace (str[i]) || (isspace (str[i]) && !isspace (str[i+1]) && str[i+1])) { str [end] = str[i]; end++; } } str[end] = 0; return strdup (str); } static int init_ide (PedDevice* dev) { LinuxSpecific* arch_specific = LINUX_SPECIFIC (dev); struct stat dev_stat; struct hd_driveid hdi; PedExceptionOption ex_status; char hdi_buf[41]; int sector_multiplier = 0; if (!_device_stat (dev, &dev_stat)) goto error; if (!ped_device_open (dev)) goto error; if (ioctl (arch_specific->fd, HDIO_GET_IDENTITY, &hdi)) { ex_status = ped_exception_throw ( PED_EXCEPTION_WARNING, PED_EXCEPTION_IGNORE_CANCEL, _("Could not get identity of device %s - %s"), dev->path, strerror (errno)); switch (ex_status) { case PED_EXCEPTION_CANCEL: goto error_close_dev; case PED_EXCEPTION_UNHANDLED: ped_exception_catch (); case PED_EXCEPTION_IGNORE: dev->model = strdup(_("Generic IDE")); break; default: PED_ASSERT (0, (void) 0); break; } } else { /* hdi.model is not guaranteed to be NULL terminated */ memcpy (hdi_buf, hdi.model, 40); hdi_buf[40] = '\0'; dev->model = strip_name (hdi_buf); if (!hdi.ata7_sectinfo.valid1 && hdi.ata7_sectinfo.valid2) sector_multiplier = hdi.ata7_sectinfo.multiplier; else sector_multiplier = 1; if (sector_multiplier != 1) { ex_status = ped_exception_throw ( PED_EXCEPTION_WARNING, PED_EXCEPTION_IGNORE_CANCEL, _("Device %s has multiple (%d) logical sectors " "per physical sector.\n" "GNU Parted supports this EXPERIMENTALLY for " "some special disk label/file system " "combinations, e.g. GPT and ext2/3.\n" "Please consult the web site for up-to-date " "information."), dev->path, sector_multiplier); switch (ex_status) { case PED_EXCEPTION_CANCEL: goto error_close_dev; case PED_EXCEPTION_UNHANDLED: ped_exception_catch (); case PED_EXCEPTION_IGNORE: break; default: PED_ASSERT (0, (void) 0); break; } } /* XXX sector_size has not been set yet! */ /* dev->phys_sector_size = dev->sector_size * sector_multiplier;*/ dev->phys_sector_size = PED_SECTOR_SIZE_DEFAULT; } if (!_device_probe_geometry (dev)) goto error_close_dev; ped_device_close (dev); return 1; error_close_dev: ped_device_close (dev); error: return 0; } /* This function reads the /sys entry named "file" for device "dev". */ static char * read_device_sysfs_file (PedDevice *dev, const char *file) { FILE *f; char name_buf[128]; char buf[256]; snprintf (name_buf, 127, "/sys/block/%s/device/%s", last_component (dev->path), file); if ((f = fopen (name_buf, "r")) == NULL) return NULL; if (fgets (buf, 255, f) == NULL) return NULL; fclose (f); return strip_name (buf); } /* This function sends a query to a SCSI device for vendor and product * information. It uses the deprecated SCSI_IOCTL_SEND_COMMAND to * issue this query. */ static int scsi_query_product_info (PedDevice* dev, char **vendor, char **product) { /* The following are defined by the SCSI-2 specification. */ typedef struct _scsi_inquiry_cmd { uint8_t op; uint8_t lun; /* bits 5-7 denote the LUN */ uint8_t page_code; uint8_t reserved; uint8_t alloc_length; uint8_t control; } __attribute__((packed)) scsi_inquiry_cmd_t; typedef struct _scsi_inquiry_data { uint8_t peripheral_info; uint8_t device_info; uint8_t version_info; uint8_t _field1; uint8_t additional_length; uint8_t _reserved1; uint8_t _reserved2; uint8_t _field2; uint8_t vendor_id[8]; uint8_t product_id[16]; uint8_t product_revision[4]; uint8_t vendor_specific[20]; uint8_t _reserved3[40]; } __attribute__((packed)) scsi_inquiry_data_t; struct scsi_arg { unsigned int inlen; unsigned int outlen; union arg_data { scsi_inquiry_data_t out; scsi_inquiry_cmd_t in; } data; } arg; LinuxSpecific* arch_specific = LINUX_SPECIFIC (dev); char buf[32]; *vendor = NULL; *product = NULL; memset (&arg, 0x00, sizeof(struct scsi_arg)); arg.inlen = 0; arg.outlen = sizeof(scsi_inquiry_data_t); arg.data.in.op = INQUIRY; arg.data.in.lun = dev->host << 5; arg.data.in.alloc_length = sizeof(scsi_inquiry_data_t); arg.data.in.page_code = 0; arg.data.in.reserved = 0; arg.data.in.control = 0; if (ioctl (arch_specific->fd, SCSI_IOCTL_SEND_COMMAND, &arg) < 0) return 0; memcpy (buf, arg.data.out.vendor_id, 8); buf[8] = '\0'; *vendor = strip_name (buf); memcpy (buf, arg.data.out.product_id, 16); buf[16] = '\0'; *product = strip_name (buf); return 1; } /* This function provides the vendor and product name for a SCSI device. * It supports both the modern /sys interface and direct queries * via the deprecated ioctl, SCSI_IOCTL_SEND_COMMAND. */ static int scsi_get_product_info (PedDevice* dev, char **vendor, char **product) { *vendor = read_device_sysfs_file (dev, "vendor"); *product = read_device_sysfs_file (dev, "model"); if (*vendor && *product) return 1; return scsi_query_product_info (dev, vendor, product); } static int init_scsi (PedDevice* dev) { struct scsi_idlun { uint32_t dev_id; uint32_t host_unique_id; } idlun; LinuxSpecific* arch_specific = LINUX_SPECIFIC (dev); char* vendor; char* product; if (!ped_device_open (dev)) goto error; if (ioctl (arch_specific->fd, SCSI_IOCTL_GET_IDLUN, &idlun) < 0) { dev->host = 0; dev->did = 0; if (ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_IGNORE_CANCEL, _("Error initialising SCSI device %s - %s"), dev->path, strerror (errno)) != PED_EXCEPTION_IGNORE) goto error_close_dev; if (!_device_probe_geometry (dev)) goto error_close_dev; ped_device_close (dev); return 1; } dev->host = idlun.host_unique_id; dev->did = idlun.dev_id; dev->model = (char*) ped_malloc (8 + 16 + 2); if (!dev->model) goto error_close_dev; if (scsi_get_product_info (dev, &vendor, &product)) { sprintf (dev->model, "%.8s %.16s", vendor, product); free (vendor); free (product); } else { strcpy (dev->model, "Generic SCSI"); } if (!_device_probe_geometry (dev)) goto error_close_dev; ped_device_close (dev); return 1; error_close_dev: ped_device_close (dev); error: return 0; } static int init_file (PedDevice* dev) { struct stat dev_stat; if (!_device_stat (dev, &dev_stat)) goto error; if (!ped_device_open (dev)) goto error; dev->sector_size = PED_SECTOR_SIZE_DEFAULT; char *p = getenv ("PARTED_SECTOR_SIZE"); if (p) { int s = atoi (p); if (0 < s && s % 512 == 0) dev->sector_size = s; } dev->phys_sector_size = dev->sector_size; if (S_ISBLK(dev_stat.st_mode)) dev->length = _device_get_length (dev); else dev->length = dev_stat.st_size / dev->sector_size; if (dev->length <= 0) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("The device %s has zero length, and can't possibly " "store a file system or partition table. Perhaps " "you selected the wrong device?"), dev->path); goto error_close_dev; } ped_device_close (dev); dev->bios_geom.cylinders = dev->length / 4 / 32; dev->bios_geom.heads = 4; dev->bios_geom.sectors = 32; dev->hw_geom = dev->bios_geom; dev->model = strdup (""); return 1; error_close_dev: ped_device_close (dev); error: return 0; } #if defined __s390__ || defined __s390x__ static int init_dasd (PedDevice* dev, const char* model_name) { struct stat dev_stat; struct hd_geometry geo; dasd_information_t dasd_info; if (!_device_stat (dev, &dev_stat)) goto error; if (!ped_device_open (dev)) goto error; LinuxSpecific* arch_specific = LINUX_SPECIFIC (dev); PED_ASSERT (S_ISBLK (dev_stat.st_mode), return 0); _device_set_sector_size (dev); if (!dev->sector_size) goto error_close_dev; dev->length = _device_get_length (dev); if (!dev->length) goto error_close_dev; if (!ioctl (arch_specific->fd, HDIO_GETGEO, &geo)) { dev->hw_geom.sectors = geo.sectors; dev->hw_geom.heads = geo.heads; dev->hw_geom.cylinders = dev->length / (dev->hw_geom.heads * dev->hw_geom.sectors) / (dev->sector_size / PED_SECTOR_SIZE_DEFAULT); dev->bios_geom = dev->hw_geom; } else { dev->bios_geom.sectors = 12; dev->bios_geom.heads = 15; dev->bios_geom.cylinders = dev->length / (dev->hw_geom.heads * dev->hw_geom.sectors) / (dev->sector_size / PED_SECTOR_SIZE_DEFAULT); dev->hw_geom = dev->bios_geom; } if (!ioctl(arch_specific->fd, BIODASDINFO, &dasd_info)) { arch_specific->devno = dasd_info.devno; } else { arch_specific->devno = arch_specific->major * 256 + arch_specific->minor; } dev->model = strdup (model_name); ped_device_close (dev); return 1; error_close_dev: ped_device_close (dev); error: return 0; } #endif static int init_generic (PedDevice* dev, const char* model_name) { struct stat dev_stat; PedExceptionOption ex_status; if (!_device_stat (dev, &dev_stat)) goto error; if (!ped_device_open (dev)) goto error; ped_exception_fetch_all (); if (_device_probe_geometry (dev)) { ped_exception_leave_all (); } else { /* hack to allow use of files, for testing */ ped_exception_catch (); ped_exception_leave_all (); ex_status = ped_exception_throw ( PED_EXCEPTION_WARNING, PED_EXCEPTION_IGNORE_CANCEL, _("Unable to determine geometry of " "file/device %s. You should not use Parted " "unless you REALLY know what you're doing!"), dev->path); switch (ex_status) { case PED_EXCEPTION_CANCEL: goto error_close_dev; case PED_EXCEPTION_UNHANDLED: ped_exception_catch (); case PED_EXCEPTION_IGNORE: break; default: PED_ASSERT (0, (void) 0); break; } /* what should we stick in here? */ dev->length = dev_stat.st_size / PED_SECTOR_SIZE_DEFAULT; dev->bios_geom.cylinders = dev->length / 4 / 32; dev->bios_geom.heads = 4; dev->bios_geom.sectors = 32; dev->sector_size = PED_SECTOR_SIZE_DEFAULT; dev->phys_sector_size = PED_SECTOR_SIZE_DEFAULT; } dev->model = strdup (model_name); ped_device_close (dev); return 1; error_close_dev: ped_device_close (dev); error: return 0; } static int sdmmc_get_product_info (PedDevice* dev, char **type, char **name) { *type = read_device_sysfs_file (dev, "type"); *name = read_device_sysfs_file (dev, "name"); if (*type && *name) return 1; return 0; } static int init_sdmmc (PedDevice* dev) { char id[128]; char *type, *name; if (sdmmc_get_product_info (dev, &type, &name)) { snprintf (id, sizeof(id) - 1, "%s %s", type, name); free (type); free (name); } else { snprintf (id, sizeof(id) - 1, "%s", _("Generic SD/MMC Storage Card")); } return init_generic(dev, id); } static PedDevice* linux_new (const char* path) { PedDevice* dev; LinuxSpecific* arch_specific; PED_ASSERT (path != NULL, return NULL); dev = (PedDevice*) ped_malloc (sizeof (PedDevice)); if (!dev) goto error; dev->path = strdup (path); if (!dev->path) goto error_free_dev; dev->arch_specific = (LinuxSpecific*) ped_malloc (sizeof (LinuxSpecific)); if (!dev->arch_specific) goto error_free_path; arch_specific = LINUX_SPECIFIC (dev); arch_specific->dmtype = NULL; #if USE_BLKID arch_specific->probe = NULL; arch_specific->topology = NULL; #endif dev->open_count = 0; dev->read_only = 0; dev->external_mode = 0; dev->dirty = 0; dev->boot_dirty = 0; if (!_device_probe_type (dev)) goto error_free_arch_specific; switch (dev->type) { case PED_DEVICE_IDE: if (!init_ide (dev)) goto error_free_arch_specific; break; case PED_DEVICE_SCSI: if (!init_scsi (dev)) goto error_free_arch_specific; break; case PED_DEVICE_DAC960: if (!init_generic (dev, _("DAC960 RAID controller"))) goto error_free_arch_specific; break; case PED_DEVICE_SX8: if (!init_generic (dev, _("Promise SX8 SATA Device"))) goto error_free_arch_specific; break; case PED_DEVICE_AOE: if (!init_generic (dev, _("ATA over Ethernet Device"))) goto error_free_arch_specific; break; #if defined __s390__ || defined __s390x__ case PED_DEVICE_DASD: if (!init_dasd (dev, _("IBM S390 DASD drive"))) goto error_free_arch_specific; break; #endif case PED_DEVICE_VIODASD: if (!init_generic (dev, _("IBM iSeries Virtual DASD"))) goto error_free_arch_specific; break; case PED_DEVICE_CPQARRAY: if (!init_generic (dev, _("Compaq Smart Array"))) goto error_free_arch_specific; break; case PED_DEVICE_ATARAID: if (!init_generic (dev, _("ATARAID Controller"))) goto error_free_arch_specific; break; case PED_DEVICE_I2O: if (!init_generic (dev, _("I2O Controller"))) goto error_free_arch_specific; break; case PED_DEVICE_UBD: if (!init_generic (dev, _("User-Mode Linux UBD"))) goto error_free_arch_specific; break; case PED_DEVICE_FILE: if (!init_file (dev)) goto error_free_arch_specific; break; case PED_DEVICE_DM: { char* type; if (arch_specific->dmtype == NULL || asprintf(&type, _("Linux device-mapper (%s)"), arch_specific->dmtype) == -1) goto error_free_arch_specific; bool ok = init_generic (dev, type); free (type); if (!ok) goto error_free_arch_specific; break; } case PED_DEVICE_XVD: if (!init_generic (dev, _("Xen Virtual Block Device"))) goto error_free_arch_specific; break; case PED_DEVICE_UNKNOWN: if (!init_generic (dev, _("Unknown"))) goto error_free_arch_specific; break; case PED_DEVICE_SDMMC: if (!init_sdmmc (dev)) goto error_free_arch_specific; break; case PED_DEVICE_VIRTBLK: if (!init_generic(dev, _("Virtio Block Device"))) goto error_free_arch_specific; break; case PED_DEVICE_MD: if (!init_generic(dev, _("Linux Software RAID Array"))) goto error_free_arch_specific; break; default: ped_exception_throw (PED_EXCEPTION_NO_FEATURE, PED_EXCEPTION_CANCEL, _("ped_device_new() Unsupported device type")); goto error_free_arch_specific; } return dev; error_free_arch_specific: free (dev->arch_specific); error_free_path: free (dev->path); error_free_dev: free (dev); error: return NULL; } static void linux_destroy (PedDevice* dev) { LinuxSpecific *arch_specific = LINUX_SPECIFIC(dev); void *p = arch_specific->dmtype; #if USE_BLKID if (arch_specific->probe) blkid_free_probe(arch_specific->probe); #endif free (p); free (dev->arch_specific); free (dev->path); free (dev->model); free (dev); } static int linux_is_busy (PedDevice* dev) { int i; char* part_name; if (_partition_is_mounted_by_path (dev->path)) return 1; for (i = 0; i < 32; i++) { int status; part_name = _device_get_part_path (dev, i); if (!part_name) return 1; status = _partition_is_mounted_by_path (part_name); free (part_name); if (status) return 1; } return 0; } /* we need to flush the master device, and with kernel < 2.6 all the partition * devices, because there is no coherency between the caches with old kernels. * We should only flush unmounted partition devices, because: * - there is never a need to flush them (we're not doing IO there) * - flushing a device that is mounted causes unnecessary IO, and can * even screw journaling & friends up. Even cause oopsen! */ static void _flush_cache (PedDevice* dev) { LinuxSpecific* arch_specific = LINUX_SPECIFIC (dev); int i; if (dev->read_only) return; dev->dirty = 0; ioctl (arch_specific->fd, BLKFLSBUF); /* With linux-2.6.0 and newer, we're done. */ if (_have_kern26()) return; for (i = 1; i < 16; i++) { char* name; int fd; name = _device_get_part_path (dev, i); if (!name) break; if (!_partition_is_mounted_by_path (name)) { fd = open (name, WR_MODE, 0); if (fd > 0) { ioctl (fd, BLKFLSBUF); retry: if (fsync (fd) < 0 || close (fd) < 0) if (ped_exception_throw ( PED_EXCEPTION_WARNING, PED_EXCEPTION_RETRY + PED_EXCEPTION_IGNORE, _("Error fsyncing/closing %s: %s"), name, strerror (errno)) == PED_EXCEPTION_RETRY) goto retry; } } free (name); } } static int linux_open (PedDevice* dev) { LinuxSpecific* arch_specific = LINUX_SPECIFIC (dev); retry: arch_specific->fd = open (dev->path, RW_MODE); if (arch_specific->fd == -1) { char* rw_error_msg = strerror (errno); arch_specific->fd = open (dev->path, RD_MODE); if (arch_specific->fd == -1) { if (ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_RETRY_CANCEL, _("Error opening %s: %s"), dev->path, strerror (errno)) != PED_EXCEPTION_RETRY) { return 0; } else { goto retry; } } else { ped_exception_throw ( PED_EXCEPTION_WARNING, PED_EXCEPTION_OK, _("Unable to open %s read-write (%s). %s has " "been opened read-only."), dev->path, rw_error_msg, dev->path); dev->read_only = 1; } } else { dev->read_only = 0; } /* With kernels < 2.6 flush cache for cache coherence issues */ if (!_have_kern26()) _flush_cache (dev); return 1; } static int linux_refresh_open (PedDevice* dev) { return 1; } static int linux_close (PedDevice* dev) { LinuxSpecific* arch_specific = LINUX_SPECIFIC (dev); if (dev->dirty) _flush_cache (dev); retry: if (fsync (arch_specific->fd) < 0 || close (arch_specific->fd) < 0) if (ped_exception_throw ( PED_EXCEPTION_WARNING, PED_EXCEPTION_RETRY + PED_EXCEPTION_IGNORE, _("Error fsyncing/closing %s: %s"), dev->path, strerror (errno)) == PED_EXCEPTION_RETRY) goto retry; return 1; } static int linux_refresh_close (PedDevice* dev) { if (dev->dirty) _flush_cache (dev); return 1; } #if SIZEOF_OFF_T < 8 static _syscall5(int,_llseek, unsigned int, fd, unsigned long, offset_high, unsigned long, offset_low, loff_t*, result, unsigned int, origin) loff_t llseek (unsigned int fd, loff_t offset, unsigned int whence) { loff_t result; int retval; retval = _llseek(fd, ((unsigned long long)offset) >> 32, ((unsigned long long)offset) & 0xffffffff, &result, whence); return (retval==-1 ? (loff_t) retval : result); } #endif /* SIZEOF_OFF_T < 8 */ static int _device_seek (const PedDevice* dev, PedSector sector) { LinuxSpecific* arch_specific; PED_ASSERT (dev->sector_size % PED_SECTOR_SIZE_DEFAULT == 0, return 0); PED_ASSERT (dev != NULL, return 0); PED_ASSERT (!dev->external_mode, return 0); arch_specific = LINUX_SPECIFIC (dev); #if SIZEOF_OFF_T < 8 if (sizeof (off_t) < 8) { loff_t pos = (loff_t)(sector * dev->sector_size); return llseek (arch_specific->fd, pos, SEEK_SET) == pos; } else #endif { off_t pos = sector * dev->sector_size; return lseek (arch_specific->fd, pos, SEEK_SET) == pos; } } static int _read_lastoddsector (const PedDevice* dev, void* buffer) { LinuxSpecific* arch_specific; struct blkdev_ioctl_param ioctl_param; PED_ASSERT(dev != NULL, return 0); PED_ASSERT(buffer != NULL, return 0); arch_specific = LINUX_SPECIFIC (dev); retry: ioctl_param.block = 0; /* read the last sector */ ioctl_param.content_length = dev->sector_size; ioctl_param.block_contents = buffer; if (ioctl(arch_specific->fd, BLKGETLASTSECT, &ioctl_param) == -1) { PedExceptionOption opt; opt = ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_RETRY_IGNORE_CANCEL, _("%s during read on %s"), strerror (errno), dev->path); if (opt == PED_EXCEPTION_CANCEL) return 0; if (opt == PED_EXCEPTION_RETRY) goto retry; } return 1; } static int linux_read (const PedDevice* dev, void* buffer, PedSector start, PedSector count) { LinuxSpecific* arch_specific = LINUX_SPECIFIC (dev); PedExceptionOption ex_status; void* diobuf = NULL; PED_ASSERT (dev != NULL, return 0); PED_ASSERT (dev->sector_size % PED_SECTOR_SIZE_DEFAULT == 0, return 0); if (_get_linux_version() < KERNEL_VERSION (2,6,0)) { /* Kludge. This is necessary to read/write the last block of an odd-sized disk, until Linux 2.5.x kernel fixes. */ if (dev->type != PED_DEVICE_FILE && (dev->length & 1) && start + count - 1 == dev->length - 1) return ped_device_read (dev, buffer, start, count - 1) && _read_lastoddsector ( dev, (char *) buffer + (count-1) * 512); } while (1) { if (_device_seek (dev, start)) break; ex_status = ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_RETRY_IGNORE_CANCEL, _("%s during seek for read on %s"), strerror (errno), dev->path); switch (ex_status) { case PED_EXCEPTION_IGNORE: return 1; case PED_EXCEPTION_RETRY: break; case PED_EXCEPTION_UNHANDLED: ped_exception_catch (); case PED_EXCEPTION_CANCEL: return 0; default: PED_ASSERT (0, (void) 0); break; } } size_t read_length = count * dev->sector_size; if (posix_memalign (&diobuf, dev->sector_size, read_length) != 0) return 0; while (1) { ssize_t status = read (arch_specific->fd, diobuf, read_length); if (status > 0) memcpy(buffer, diobuf, status); if (status == (ssize_t) read_length) break; if (status > 0) { read_length -= status; buffer = (char *) buffer + status; continue; } ex_status = ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_RETRY_IGNORE_CANCEL, (status == 0 ? _("end of file while reading %s") : _("%s during read on %s")), strerror (errno), dev->path); switch (ex_status) { case PED_EXCEPTION_IGNORE: free(diobuf); return 1; case PED_EXCEPTION_RETRY: break; case PED_EXCEPTION_UNHANDLED: ped_exception_catch (); case PED_EXCEPTION_CANCEL: free(diobuf); return 0; default: PED_ASSERT (0, (void) 0); break; } } free (diobuf); return 1; } static int _write_lastoddsector (PedDevice* dev, const void* buffer) { LinuxSpecific* arch_specific; struct blkdev_ioctl_param ioctl_param; PED_ASSERT(dev != NULL, return 0); PED_ASSERT(buffer != NULL, return 0); arch_specific = LINUX_SPECIFIC (dev); retry: ioctl_param.block = 0; /* write the last sector */ ioctl_param.content_length = dev->sector_size; ioctl_param.block_contents = (void*) buffer; if (ioctl(arch_specific->fd, BLKSETLASTSECT, &ioctl_param) == -1) { PedExceptionOption opt; opt = ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_RETRY_IGNORE_CANCEL, _("%s during write on %s"), strerror (errno), dev->path); if (opt == PED_EXCEPTION_CANCEL) return 0; if (opt == PED_EXCEPTION_RETRY) goto retry; } return 1; } static int linux_write (PedDevice* dev, const void* buffer, PedSector start, PedSector count) { LinuxSpecific* arch_specific = LINUX_SPECIFIC (dev); PedExceptionOption ex_status; void* diobuf; void* diobuf_start; PED_ASSERT(dev->sector_size % PED_SECTOR_SIZE_DEFAULT == 0, return 0); if (dev->read_only) { if (ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_IGNORE_CANCEL, _("Can't write to %s, because it is opened read-only."), dev->path) != PED_EXCEPTION_IGNORE) return 0; else return 1; } if (_get_linux_version() < KERNEL_VERSION (2,6,0)) { /* Kludge. This is necessary to read/write the last block of an odd-sized disk, until Linux 2.5.x kernel fixes. */ if (dev->type != PED_DEVICE_FILE && (dev->length & 1) && start + count - 1 == dev->length - 1) return ped_device_write (dev, buffer, start, count - 1) && _write_lastoddsector ( dev, ((char*) buffer + (count-1) * dev->sector_size)); } while (1) { if (_device_seek (dev, start)) break; ex_status = ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_RETRY_IGNORE_CANCEL, _("%s during seek for write on %s"), strerror (errno), dev->path); switch (ex_status) { case PED_EXCEPTION_IGNORE: return 1; case PED_EXCEPTION_RETRY: break; case PED_EXCEPTION_UNHANDLED: ped_exception_catch (); case PED_EXCEPTION_CANCEL: return 0; default: PED_ASSERT (0, (void) 0); break; } } #ifdef READ_ONLY printf ("ped_device_write (\"%s\", %p, %d, %d)\n", dev->path, buffer, (int) start, (int) count); #else size_t write_length = count * dev->sector_size; dev->dirty = 1; if (posix_memalign(&diobuf, dev->sector_size, write_length) != 0) return 0; memcpy(diobuf, buffer, write_length); diobuf_start = diobuf; while (1) { ssize_t status = write (arch_specific->fd, diobuf, write_length); if (status == write_length) break; if (status > 0) { write_length -= status; diobuf = (char *) diobuf + status; continue; } ex_status = ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_RETRY_IGNORE_CANCEL, _("%s during write on %s"), strerror (errno), dev->path); switch (ex_status) { case PED_EXCEPTION_IGNORE: free(diobuf_start); return 1; case PED_EXCEPTION_RETRY: break; case PED_EXCEPTION_UNHANDLED: ped_exception_catch (); case PED_EXCEPTION_CANCEL: free(diobuf_start); return 0; default: PED_ASSERT (0, (void) 0); break; } } free(diobuf_start); #endif /* !READ_ONLY */ return 1; } /* returns the number of sectors that are ok. */ static PedSector linux_check (PedDevice* dev, void* buffer, PedSector start, PedSector count) { LinuxSpecific* arch_specific = LINUX_SPECIFIC (dev); PedSector done = 0; int status; void* diobuf; PED_ASSERT(dev != NULL, return 0); if (!_device_seek (dev, start)) return 0; if (posix_memalign(&diobuf, PED_SECTOR_SIZE_DEFAULT, count * PED_SECTOR_SIZE_DEFAULT) != 0) return 0; for (done = 0; done < count; done += status / dev->sector_size) { status = read (arch_specific->fd, diobuf, (size_t) ((count-done) * dev->sector_size)); if (status > 0) memcpy(buffer, diobuf, status); if (status < 0) break; } free(diobuf); return done; } static int _do_fsync (PedDevice* dev) { LinuxSpecific* arch_specific = LINUX_SPECIFIC (dev); int status; PedExceptionOption ex_status; while (1) { status = fsync (arch_specific->fd); if (status >= 0) break; ex_status = ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_RETRY_IGNORE_CANCEL, _("%s during write on %s"), strerror (errno), dev->path); switch (ex_status) { case PED_EXCEPTION_IGNORE: return 1; case PED_EXCEPTION_RETRY: break; case PED_EXCEPTION_UNHANDLED: ped_exception_catch (); case PED_EXCEPTION_CANCEL: return 0; default: PED_ASSERT (0, (void) 0); break; } } return 1; } static int linux_sync (PedDevice* dev) { PED_ASSERT (dev != NULL, return 0); PED_ASSERT (!dev->external_mode, return 0); if (dev->read_only) return 1; if (!_do_fsync (dev)) return 0; _flush_cache (dev); return 1; } static int linux_sync_fast (PedDevice* dev) { PED_ASSERT (dev != NULL, return 0); PED_ASSERT (!dev->external_mode, return 0); if (dev->read_only) return 1; if (!_do_fsync (dev)) return 0; /* no cache flush... */ return 1; } static inline int _compare_digit_state (char ch, int need_digit) { return !!isdigit (ch) == need_digit; } /* matches the regexp "[^0-9]+[0-9]+[^0-9]+[0-9]+$". * Motivation: accept devices looking like /dev/rd/c0d0, but * not looking like /dev/hda1 and /dev/rd/c0d0p1 */ static int _match_rd_device (const char* name) { const char* pos; int state; /* exclude directory names from test */ pos = strrchr(name, '/') ?: name; /* states: * 0 non-digits * 1 digits * 2 non-digits * 3 digits */ for (state = 0; state < 4; state++) { int want_digits = (state % 2 == 1); do { if (!*pos) return 0; if (!_compare_digit_state (*pos, want_digits)) return 0; pos++; } while (_compare_digit_state (*pos, want_digits)); } return *pos == 0; } static int _probe_proc_partitions () { FILE* proc_part_file; int major, minor, size; char buf [512]; char part_name [256]; char dev_name [256]; proc_part_file = fopen ("/proc/partitions", "r"); if (!proc_part_file) return 0; if (fgets (buf, 256, proc_part_file) == NULL) return 0; if (fgets (buf, 256, proc_part_file) == NULL) return 0; while (fgets (buf, 512, proc_part_file) && sscanf (buf, "%d %d %d %255s", &major, &minor, &size, part_name) == 4) { /* Heuristic for telling partitions and devices apart * Probably needs to be improved */ if (!_match_rd_device (part_name) && isdigit (part_name [strlen (part_name) - 1])) continue; strcpy (dev_name, "/dev/"); strcat (dev_name, part_name); _ped_device_probe (dev_name); } fclose (proc_part_file); return 1; } struct _entry { const char *name; size_t len; }; static int _skip_entry (const char *name) { struct _entry *i; static struct _entry entries[] = { { ".", sizeof (".") - 1 }, { "..", sizeof ("..") - 1 }, { "dm-", sizeof ("dm-") - 1 }, { "loop", sizeof ("loop") - 1 }, { "ram", sizeof ("ram") - 1 }, { 0, 0 }, }; for (i = entries; i->name != 0; i++) { if (strncmp (name, i->name, i->len) == 0) return 1; } return 0; } static int _probe_sys_block () { DIR *blockdir; struct dirent *dirent; char dev_name [256]; char *ptr; if (!(blockdir = opendir ("/sys/block"))) return 0; while ((dirent = readdir (blockdir))) { if (_skip_entry (dirent->d_name)) continue; if (strlen (dirent->d_name) > sizeof (dev_name) - 6) continue; /* device name too long! */ strcpy (dev_name, "/dev/"); strcat (dev_name, dirent->d_name); /* in /sys/block, '/'s are replaced with '!' or '.' */ for (ptr = dev_name; *ptr != '\0'; ptr++) { if (*ptr == '!' || *ptr == '.') *ptr = '/'; } _ped_device_probe (dev_name); } closedir (blockdir); return 1; } static int _probe_standard_devices () { _ped_device_probe ("/dev/hda"); _ped_device_probe ("/dev/hdb"); _ped_device_probe ("/dev/hdc"); _ped_device_probe ("/dev/hdd"); _ped_device_probe ("/dev/hde"); _ped_device_probe ("/dev/hdf"); _ped_device_probe ("/dev/hdg"); _ped_device_probe ("/dev/hdh"); _ped_device_probe ("/dev/sda"); _ped_device_probe ("/dev/sdb"); _ped_device_probe ("/dev/sdc"); _ped_device_probe ("/dev/sdd"); _ped_device_probe ("/dev/sde"); _ped_device_probe ("/dev/sdf"); return 1; } static void linux_probe_all () { /* we should probe the standard devs too, even with /proc/partitions, * because /proc/partitions might return devfs stuff, and we might not * have devfs available */ _probe_standard_devices (); #ifdef ENABLE_DEVICE_MAPPER /* device-mapper devices aren't listed in /proc/partitions; or, if * they are, they're listed as dm-X. So, instead of relying on that, * we do our own checks. */ _probe_dm_devices (); #endif /* /sys/block is more reliable and consistent; fall back to using * /proc/partitions if the former is unavailable, however. */ if (!_probe_sys_block ()) _probe_proc_partitions (); } static char* _device_get_part_path (PedDevice* dev, int num) { int path_len = strlen (dev->path); int result_len = path_len + 16; char* result; result = (char*) ped_malloc (result_len); if (!result) return NULL; /* Check for devfs-style /disc => /partN transformation unconditionally; the system might be using udev with devfs rules, and if not the test is harmless. */ if (!strcmp (dev->path + path_len - 5, "/disc")) { /* replace /disc with /path%d */ strcpy (result, dev->path); snprintf (result + path_len - 5, 16, "/part%d", num); } else if (dev->type == PED_DEVICE_DAC960 || dev->type == PED_DEVICE_CPQARRAY || dev->type == PED_DEVICE_ATARAID || dev->type == PED_DEVICE_DM || isdigit (dev->path[path_len - 1])) snprintf (result, result_len, "%sp%d", dev->path, num); else snprintf (result, result_len, "%s%d", dev->path, num); return result; } static char* linux_partition_get_path (const PedPartition* part) { return _device_get_part_path (part->disk->dev, part->num); } static dev_t _partition_get_part_dev (const PedPartition* part) { struct stat dev_stat; int dev_major, dev_minor; if (stat (part->disk->dev->path, &dev_stat)) return (dev_t)0; dev_major = major (dev_stat.st_rdev); dev_minor = minor (dev_stat.st_rdev); return (dev_t)makedev (dev_major, dev_minor + part->num); } static int _mount_table_search (const char* file_name, dev_t dev) { struct stat part_stat; char line[512]; char part_name[512]; FILE* file; file = fopen (file_name, "r"); if (!file) return 0; while (fgets (line, 512, file)) { if (sscanf (line, "%s", part_name) == 1 && stat (part_name, &part_stat) == 0) { if (part_stat.st_rdev == dev) { fclose (file); return 1; } } } fclose (file); return 0; } static int _partition_is_mounted_by_dev (dev_t dev) { return _mount_table_search( "/proc/mounts", dev) || _mount_table_search( "/proc/swaps", dev) || _mount_table_search( "/etc/mtab", dev); } static int _partition_is_mounted_by_path (const char *path) { struct stat part_stat; if (stat (path, &part_stat) != 0) return 0; if (!S_ISBLK(part_stat.st_mode)) return 0; return _partition_is_mounted_by_dev (part_stat.st_rdev); } static int _partition_is_mounted (const PedPartition *part) { dev_t dev; if (!ped_partition_is_active (part)) return 0; dev = _partition_get_part_dev (part); if (!dev) return 0; return _partition_is_mounted_by_dev (dev); } static int _has_partitions (const PedDisk* disk) { PED_ASSERT(disk != NULL, return 0); /* Some devices can't be partitioned. */ if (!strcmp (disk->type->name, "loop")) return 0; return 1; } static int linux_partition_is_busy (const PedPartition* part) { PedPartition* walk; PED_ASSERT (part != NULL, return 0); if (_partition_is_mounted (part)) return 1; if (part->type == PED_PARTITION_EXTENDED) { for (walk = part->part_list; walk; walk = walk->next) { if (linux_partition_is_busy (walk)) return 1; } } return 0; } static int _blkpg_part_command (PedDevice* dev, struct blkpg_partition* part, int op) { LinuxSpecific* arch_specific = LINUX_SPECIFIC (dev); struct blkpg_ioctl_arg ioctl_arg; ioctl_arg.op = op; ioctl_arg.flags = 0; ioctl_arg.datalen = sizeof (struct blkpg_partition); ioctl_arg.data = (void*) part; return ioctl (arch_specific->fd, BLKPG, &ioctl_arg) == 0; } static int _blkpg_add_partition (PedDisk* disk, const PedPartition *part) { struct blkpg_partition linux_part; const char* vol_name; char* dev_name; PED_ASSERT(disk != NULL, return 0); PED_ASSERT(disk->dev->sector_size % PED_SECTOR_SIZE_DEFAULT == 0, return 0); if (!_has_partitions (disk)) return 0; if (ped_disk_type_check_feature (disk->type, PED_DISK_TYPE_PARTITION_NAME)) vol_name = ped_partition_get_name (part); else vol_name = NULL; dev_name = _device_get_part_path (disk->dev, part->num); if (!dev_name) return 0; memset (&linux_part, 0, sizeof (linux_part)); linux_part.start = part->geom.start * disk->dev->sector_size; /* see fs/partitions/msdos.c:msdos_partition(): "leave room for LILO" */ if (part->type & PED_PARTITION_EXTENDED) linux_part.length = part->geom.length == 1 ? 512 : 1024; else linux_part.length = part->geom.length * disk->dev->sector_size; linux_part.pno = part->num; strncpy (linux_part.devname, dev_name, BLKPG_DEVNAMELTH); if (vol_name) strncpy (linux_part.volname, vol_name, BLKPG_VOLNAMELTH); free (dev_name); if (!_blkpg_part_command (disk->dev, &linux_part, BLKPG_ADD_PARTITION)) { return ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_IGNORE_CANCEL, _("Error informing the kernel about modifications to " "partition %s -- %s. This means Linux won't know " "about any changes you made to %s until you reboot " "-- so you shouldn't mount it or use it in any way " "before rebooting."), linux_part.devname, strerror (errno), linux_part.devname) == PED_EXCEPTION_IGNORE; } return 1; } static int _blkpg_remove_partition (PedDisk* disk, int n) { struct blkpg_partition linux_part; if (!_has_partitions (disk)) return 0; memset (&linux_part, 0, sizeof (linux_part)); linux_part.pno = n; return _blkpg_part_command (disk->dev, &linux_part, BLKPG_DEL_PARTITION); } /* * The number of partitions that a device can have depends on the kernel. * If we don't find this value in /sys/block/DEV/range, we will use our own * value. */ static unsigned int _device_get_partition_range(PedDevice* dev) { int range, r; char path[128]; FILE* fp; bool ok; r = snprintf(path, sizeof(path), "/sys/block/%s/range", last_component(dev->path)); if (r < 0 || r >= sizeof(path)) return MAX_NUM_PARTS; fp = fopen(path, "r"); if (!fp) return MAX_NUM_PARTS; ok = fscanf(fp, "%d", &range) == 1; fclose(fp); /* (range <= 0) is none sense.*/ return ok && range > 0 ? range : MAX_NUM_PARTS; } /* * Sync the partition table in two step process: * 1. Remove all of the partitions from the kernel's tables, but do not attempt * removal of any partition for which the corresponding ioctl call fails. * 2. Add all the partitions that we hold in disk, throwing a warning * if we cannot because step 1 failed to remove it and it is not being * added back with the same start and length. * * To achieve this two step process we must calculate the minimum number of * maximum possible partitions between what linux supports and what the label * type supports. EX: * * number=MIN(max_parts_supported_in_linux,max_parts_supported_in_msdos_tables) */ static int _disk_sync_part_table (PedDisk* disk) { PED_ASSERT(disk != NULL, return 0); PED_ASSERT(disk->dev != NULL, return 0); int lpn; /* lpn = largest partition number. */ if (ped_disk_get_max_supported_partition_count(disk, &lpn)) lpn = PED_MIN(lpn, _device_get_partition_range(disk->dev)); else lpn = _device_get_partition_range(disk->dev); /* Its not possible to support largest_partnum < 0. * largest_partnum == 0 would mean does not support partitions. * */ if (lpn < 0) return 0; int ret = 0; int *ok = calloc (lpn, sizeof *ok); if (!ok) return 0; int *errnums = ped_malloc(sizeof(int) * lpn); if (!errnums) goto cleanup; /* Attempt to remove each and every partition, retrying for up to max_sleep_seconds upon any failure due to EBUSY. */ unsigned int sleep_microseconds = 10000; unsigned int max_sleep_seconds = 1; unsigned int n_sleep = (max_sleep_seconds * 1000000 / sleep_microseconds); int i; for (i = 0; i < n_sleep; i++) { if (i) usleep (sleep_microseconds); bool busy = false; int j; for (j = 0; j < lpn; j++) { if (!ok[j]) { ok[j] = _blkpg_remove_partition (disk, j + 1); errnums[j] = errno; if (!ok[j] && errnums[j] == EBUSY) busy = true; } } if (!busy) break; } for (i = 1; i <= lpn; i++) { const PedPartition *part = ped_disk_get_partition (disk, i); if (part) { if (!ok[i - 1] && errnums[i - 1] == EBUSY) { struct hd_geometry geom; unsigned long long length = 0; /* get start and length of existing partition */ char *dev_name = _device_get_part_path (disk->dev, i); if (!dev_name) goto cleanup; int fd = open (dev_name, O_RDONLY); if (fd == -1 || ioctl (fd, HDIO_GETGEO, &geom) || ioctl (fd, BLKGETSIZE64, &length)) { ped_exception_throw ( PED_EXCEPTION_BUG, PED_EXCEPTION_CANCEL, _("Unable to determine the size and length of %s."), dev_name); if (fd != -1) close (fd); free (dev_name); goto cleanup; } free (dev_name); length /= disk->dev->sector_size; close (fd); if (geom.start == part->geom.start && length == part->geom.length) ok[i - 1] = 1; /* If the new partition is unchanged and the existing one was not removed because it was in use, then reset the error flag and do not try to add it since it is already there. */ continue; } /* add the (possibly modified or new) partition */ if (!_blkpg_add_partition (disk, part)) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_RETRY_CANCEL, _("Failed to add partition %d (%s)"), i, strerror (errno)); goto cleanup; } } } char *bad_part_list = NULL; /* now warn about any errors */ for (i = 1; i <= lpn; i++) { if (ok[i - 1] || errnums[i - 1] == ENXIO) continue; if (bad_part_list == NULL) { bad_part_list = malloc (lpn * 5); if (!bad_part_list) goto cleanup; bad_part_list[0] = 0; } sprintf (bad_part_list + strlen (bad_part_list), "%d, ", i); } if (bad_part_list == NULL) ret = 1; else { bad_part_list[strlen (bad_part_list) - 2] = 0; if (ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_IGNORE_CANCEL, _("Partition(s) %s on %s have been written, but we have " "been unable to inform the kernel of the change, " "probably because it/they are in use. As a result, " "the old partition(s) will remain in use. You " "should reboot now before making further changes."), bad_part_list, disk->dev->path) == PED_EXCEPTION_IGNORE) ret = 1; free (bad_part_list); } cleanup: free (errnums); free (ok); return ret; } #ifdef ENABLE_DEVICE_MAPPER static int _dm_remove_map_name(char *name) { struct dm_task *task = NULL; int rc; task = dm_task_create(DM_DEVICE_REMOVE); if (!task) return 1; dm_task_set_name (task, name); rc = dm_task_run(task); dm_task_update_nodes(); dm_task_destroy(task); if (!rc) return 1; return 0; } static int _dm_is_part (struct dm_info *this, char *name) { struct dm_task* task = NULL; struct dm_info* info = alloca(sizeof *info); struct dm_deps* deps = NULL; int rc = 0; unsigned int i; task = dm_task_create(DM_DEVICE_DEPS); if (!task) return 0; dm_task_set_name(task, name); if (!dm_task_run(task)) goto err; memset(info, '\0', sizeof *info); dm_task_get_info(task, info); if (!info->exists) goto err; deps = dm_task_get_deps(task); if (!deps) goto err; for (i = 0; i < deps->count; i++) { unsigned int ma = major(deps->device[i]), mi = minor(deps->device[i]); if (ma == this->major && mi == this->minor) rc = 1; } err: dm_task_destroy(task); return rc; } static int _dm_remove_parts (PedDevice* dev) { struct dm_task* task = NULL; struct dm_info* info = alloca(sizeof *info); struct dm_names* names = NULL; unsigned int next = 0; int rc; LinuxSpecific* arch_specific = LINUX_SPECIFIC (dev); task = dm_task_create(DM_DEVICE_LIST); if (!task) goto err; if (!dm_task_set_major_minor (task, arch_specific->major, arch_specific->minor, 0)) goto err; if (!dm_task_run(task)) goto err; memset(info, '\0', sizeof *info); dm_task_get_info(task, info); if (!info->exists) goto err; names = dm_task_get_names(task); if (!names) goto err; rc = 0; do { names = (void *) ((char *) names + next); if (_dm_is_part(info, names->name)) rc += _dm_remove_map_name(names->name); next = names->next; } while (next); dm_task_update_nodes(); dm_task_destroy(task); task = NULL; if (!rc) return 1; err: if (task) dm_task_destroy(task); ped_exception_throw (PED_EXCEPTION_WARNING, PED_EXCEPTION_IGNORE, _("parted was unable to re-read the partition " "table on %s (%s). This means Linux won't know " "anything about the modifications you made. "), dev->path, strerror (errno)); return 0; } static int _dm_add_partition (PedDisk* disk, PedPartition* part) { char* vol_name = NULL; const char* dev_name = NULL; char* params = NULL; LinuxSpecific* arch_specific = LINUX_SPECIFIC (disk->dev); if (!_has_partitions(disk)) return 0; /* Get map name from devicemapper */ struct dm_task *task = dm_task_create (DM_DEVICE_INFO); if (!task) goto err; if (!dm_task_set_major_minor (task, arch_specific->major, arch_specific->minor, 0)) goto err; if (!dm_task_run(task)) goto err; dev_name = dm_task_get_name (task); if (asprintf (&vol_name, "%sp%d", dev_name, part->num) == -1) goto err; /* Caution: dm_task_destroy frees dev_name. */ dm_task_destroy (task); task = NULL; if (asprintf (¶ms, "%d:%d %lld", arch_specific->major, arch_specific->minor, part->geom.start) == -1) goto err; task = dm_task_create (DM_DEVICE_CREATE); if (!task) goto err; dm_task_set_name (task, vol_name); dm_task_add_target (task, 0, part->geom.length, "linear", params); if (dm_task_run (task)) { //printf("0 %ld linear %s\n", part->geom.length, params); dm_task_update_nodes(); dm_task_destroy(task); free(params); free(vol_name); return 1; } else { _dm_remove_map_name(vol_name); } err: dm_task_update_nodes(); if (task) dm_task_destroy (task); free (params); free (vol_name); return 0; } static int _dm_reread_part_table (PedDisk* disk) { int largest_partnum = ped_disk_get_last_partition_num (disk); if (largest_partnum <= 0) return 1; int rc = 1; int last = PED_MIN (largest_partnum, 16); int i; sync(); if (!_dm_remove_parts(disk->dev)) rc = 0; for (i = 1; i <= last; i++) { PedPartition* part; part = ped_disk_get_partition (disk, i); if (!part) continue; if (!_dm_add_partition (disk, part)) rc = 0; } return rc; } #endif static int _have_blkpg () { static int have_blkpg = -1; int kver; if (have_blkpg != -1) return have_blkpg; kver = _get_linux_version(); return have_blkpg = kver >= KERNEL_VERSION (2,4,0) ? 1 : 0; } /* Return nonzero upon success, 0 if something fails. */ static int linux_disk_commit (PedDisk* disk) { if (!_has_partitions (disk)) return 1; #ifdef ENABLE_DEVICE_MAPPER if (disk->dev->type == PED_DEVICE_DM) return _dm_reread_part_table (disk); #endif if (disk->dev->type != PED_DEVICE_FILE) { /* The ioctl() command BLKPG_ADD_PARTITION does not notify * the devfs system; consequently, /proc/partitions will not * be up to date, and the proper links in /dev are not * created. Therefore, if using DevFS, we must get the kernel * to re-read and grok the partition table. */ /* Work around kernel dasd problem so we really do BLKRRPART */ int ok = 1; if (disk->dev->type != PED_DEVICE_DASD && _have_blkpg ()) { if (!_disk_sync_part_table (disk)) ok = 0; } return ok; } return 1; } #if USE_BLKID static PedAlignment* linux_get_minimum_alignment(const PedDevice *dev) { blkid_topology tp = LINUX_SPECIFIC(dev)->topology; if (!tp) return NULL; if (blkid_topology_get_minimum_io_size(tp) == 0) return ped_alignment_new( blkid_topology_get_alignment_offset(tp) / dev->sector_size, dev->phys_sector_size / dev->sector_size); return ped_alignment_new( blkid_topology_get_alignment_offset(tp) / dev->sector_size, blkid_topology_get_minimum_io_size(tp) / dev->sector_size); } static PedAlignment* linux_get_optimum_alignment(const PedDevice *dev) { blkid_topology tp = LINUX_SPECIFIC(dev)->topology; if (!tp) return NULL; /* If optimal_io_size is 0 _and_ alignment_offset is 0 _and_ minimum_io_size is a power of 2 then go with the device.c default */ unsigned long minimum_io_size = blkid_topology_get_minimum_io_size(tp); if (blkid_topology_get_optimal_io_size(tp) == 0 && blkid_topology_get_alignment_offset(tp) == 0 && (minimum_io_size & (minimum_io_size - 1)) == 0) return NULL; /* If optimal_io_size is 0 and we don't meet the other criteria for using the device.c default, return the minimum alignment. */ if (blkid_topology_get_optimal_io_size(tp) == 0) return linux_get_minimum_alignment(dev); return ped_alignment_new( blkid_topology_get_alignment_offset(tp) / dev->sector_size, blkid_topology_get_optimal_io_size(tp) / dev->sector_size); } #endif static PedDeviceArchOps linux_dev_ops = { _new: linux_new, destroy: linux_destroy, is_busy: linux_is_busy, open: linux_open, refresh_open: linux_refresh_open, close: linux_close, refresh_close: linux_refresh_close, read: linux_read, write: linux_write, check: linux_check, sync: linux_sync, sync_fast: linux_sync_fast, probe_all: linux_probe_all, #if USE_BLKID get_minimum_alignment: linux_get_minimum_alignment, get_optimum_alignment: linux_get_optimum_alignment, #endif }; PedDiskArchOps linux_disk_ops = { partition_get_path: linux_partition_get_path, partition_is_busy: linux_partition_is_busy, disk_commit: linux_disk_commit }; PedArchitecture ped_linux_arch = { dev_ops: &linux_dev_ops, disk_ops: &linux_disk_ops }; parted-2.3/libparted/arch/gnu.c0000644000000000000000000005056311370314006013350 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 1999-2001, 2005, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include #include #include #include #include #include #include #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ #include "../architecture.h" #define GNU_SPECIFIC(dev) ((GNUSpecific*) (dev)->arch_specific) typedef struct _GNUSpecific GNUSpecific; struct _GNUSpecific { struct store* store; int consume; }; /* Initialize a PedDevice using SOURCE. The SOURCE will NOT be destroyed; the caller created it, it is the caller's responsilbility to free it after it calls ped_device_destory. SOURCE is not registered in Parted's list of devices. */ PedDevice* ped_device_new_from_store (struct store *source); static int _device_get_sector_size (PedDevice* dev) { GNUSpecific* arch_specific = GNU_SPECIFIC (dev); size_t store_block_size = arch_specific->store->block_size; return PED_SECTOR_SIZE_DEFAULT; } static PedSector _device_get_length (PedDevice* dev) { GNUSpecific* arch_specific = GNU_SPECIFIC (dev); size_t store_blocks = arch_specific->store->blocks; size_t store_block_size = arch_specific->store->block_size; return ((long long) store_blocks * store_block_size) / PED_SECTOR_SIZE_DEFAULT; } static int _device_probe_geometry (PedDevice* dev) { PedSector cyl_size; dev->length = _device_get_length (dev); if (!dev->length) return 0; dev->sector_size = _device_get_sector_size (dev); if (!dev->sector_size) return 0; /* XXX: We have no way to get this! */ dev->bios_geom.sectors = 63; dev->bios_geom.heads = 255; cyl_size = dev->bios_geom.sectors * dev->bios_geom.heads; dev->bios_geom.cylinders = dev->length / cyl_size * (dev->sector_size / PED_SECTOR_SIZE_DEFAULT); dev->hw_geom = dev->bios_geom; return 1; } static int init_file (PedDevice* dev) { PedExceptionOption ex_status; retry_open: if (!ped_device_open (dev)) { ex_status = ped_exception_throw ( PED_EXCEPTION_WARNING, PED_EXCEPTION_RETRY_CANCEL, _("Unable to open %s."), dev->path); switch (ex_status) { case PED_EXCEPTION_RETRY: goto retry_open; case PED_EXCEPTION_UNHANDLED: ped_exception_catch (); case PED_EXCEPTION_CANCEL: goto error; } return 0; } retry_probe: if (!_device_probe_geometry (dev)) { ex_status = ped_exception_throw ( PED_EXCEPTION_WARNING, PED_EXCEPTION_RETRY_CANCEL, _("Unable to probe store.")); switch (ex_status) { case PED_EXCEPTION_RETRY: goto retry_probe; case PED_EXCEPTION_UNHANDLED: ped_exception_catch (); case PED_EXCEPTION_CANCEL: goto error_close_dev; } return 0; } dev->model = ""; ped_device_close (dev); return 1; error_close_dev: ped_device_close (dev); error: return 0; } static void _flush_cache (PedDevice* dev) { GNUSpecific* arch_specific = GNU_SPECIFIC (dev); if (dev->read_only) return; /* Wait for a complete sync to finish. */ file_sync (arch_specific->store->source, 1, 0); } /* Initialize by allocating memory and filling in a few defaults, a PedDevice structure. */ static PedDevice* _init_device (const char *path) { PedDevice *dev; GNUSpecific* arch_specific; dev = (PedDevice*) ped_malloc (sizeof (PedDevice)); if (!dev) goto error; dev->path = strdup (path); if (!dev->path) goto error_free_dev; dev->arch_specific = (GNUSpecific*) ped_malloc (sizeof (GNUSpecific)); if (!dev->arch_specific) goto error_free_path; dev->type = PED_DEVICE_FILE; /* FIXME? */ dev->open_count = 0; dev->read_only = 0; dev->external_mode = 0; dev->dirty = 0; dev->boot_dirty = 0; return dev; error_free_arch_specific: free (dev->arch_specific); error_free_path: free (dev->path); error_free_dev: free (dev); error: return NULL; } static int _kernel_reread_part_table (PedDevice* dev) { /* XXX: We must wait for partfs to be finished. */ return 1; } /* Free the memory associated with a PedDevice structure. */ static void _done_device (PedDevice *dev) { free (dev->arch_specific); free (dev->path); free (dev); } /* Release all resources that libparted owns in DEV. */ static void gnu_destroy (PedDevice* dev) { GNUSpecific* arch_specific = GNU_SPECIFIC (dev); if (arch_specific->consume) store_free (arch_specific->store); _done_device (dev); } static PedDevice* gnu_new (const char* path) { PedDevice* dev; GNUSpecific* arch_specific; error_t ro_err, rw_err; int ispath; PED_ASSERT (path != NULL, return NULL); dev = _init_device (path); if (!dev) return NULL; arch_specific = GNU_SPECIFIC (dev); arch_specific->consume = 1; retry_open: /* Try read-write. */ if (strchr (dev->path, '/') != NULL) { /* We set this to prevent having to use strchr more then once. */ ispath = 1; rw_err = store_open (dev->path, 0, NULL, &arch_specific->store); } else { rw_err = store_typed_open (dev->path, 0, NULL, &arch_specific->store); } /* Try readonly. */ if (rw_err) { if (ispath) { ro_err = store_open (dev->path, STORE_READONLY, NULL, &arch_specific->store); } else { ro_err = store_typed_open (dev->path, STORE_READONLY, NULL, &arch_specific->store); } if (ro_err) { if (ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_RETRY_CANCEL, _("Error opening %s: %s"), dev->path, strerror (ro_err)) != PED_EXCEPTION_RETRY) { return NULL; } else goto retry_open; } else { ped_exception_throw ( PED_EXCEPTION_WARNING, PED_EXCEPTION_OK, _("Unable to open %s read-write (%s). %s has " "been opened read-only."), dev->path, strerror (rw_err), dev->path); dev->read_only = 1; } } else { dev->read_only = 0; } _flush_cache (dev); if (!init_file (dev)) { gnu_destroy(dev); return NULL; } return dev; } PedDevice* ped_device_new_from_store (struct store *source) { PedDevice* dev; GNUSpecific* arch_specific; PED_ASSERT (source != NULL, return NULL); dev = _init_device (source->name ?: "(unknown)"); if (!dev) return NULL; arch_specific = GNU_SPECIFIC (dev); arch_specific->store = source; arch_specific->consume = 0; dev->read_only = source->flags & (STORE_READONLY|STORE_HARD_READONLY); if (!init_file (dev)) { _done_device (dev); return NULL; } return dev; } static int gnu_is_busy (PedDevice* dev) { return 0; } static int gnu_open (PedDevice* dev) { return 1; } static int gnu_refresh_open (PedDevice* dev) { return 1; } static int gnu_close (PedDevice* dev) { GNUSpecific* arch_specific = GNU_SPECIFIC (dev); _flush_cache (dev); if (dev->dirty && dev->type != PED_DEVICE_FILE) { if (_kernel_reread_part_table (dev)) dev->dirty = 0; } #if 0 if (dev->dirty && dev->boot_dirty && dev->type != PED_DEVICE_FILE) { /* ouch! */ ped_exception_throw ( PED_EXCEPTION_WARNING, PED_EXCEPTION_OK, _("The partition table cannot be re-read. This means " "you need to reboot before mounting any " "modified partitions. You also need to reinstall " "your boot loader before you reboot (which may " "require mounting modified partitions). It is " "impossible do both things! So you'll need to " "boot off a rescue disk, and reinstall your boot " "loader from the rescue disk. Read section 4 of " "the Parted User documentation for more " "information.")); return 1; } if (dev->dirty && dev->type != PED_DEVICE_FILE) { ped_exception_throw ( PED_EXCEPTION_WARNING, PED_EXCEPTION_IGNORE, _("The partition table on %s cannot be re-read " "(%s). This means the Hurd knows nothing about any " "modifications you made. You should reboot your " "computer before doing anything with %s."), dev->path, strerror (errno), dev->path); } if (dev->boot_dirty && dev->type != PED_DEVICE_FILE) { ped_exception_throw ( PED_EXCEPTION_WARNING, PED_EXCEPTION_OK, _("You should reinstall your boot loader before " "rebooting. Read section 4 of the Parted User " "documentation for more information.")); } #endif return 1; } static int gnu_refresh_close (PedDevice* dev) { _flush_cache (dev); return 1; } static int gnu_read (const PedDevice* dev, void* user_buffer, PedSector device_start, PedSector count) { GNUSpecific* arch_specific = GNU_SPECIFIC (dev); error_t err; PedExceptionOption ex_status; size_t start; size_t store_start_block; /* In bytes. This can be larger than COUNT when store pages are larger than PED_SECTOR_SIZE_DEFAULT. */ size_t store_read_length; char local_buffer[PED_SECTOR_SIZE_DEFAULT]; void * store_read_buffer; size_t have_read; size_t read_offset; size_t device_read_length = count * PED_SECTOR_SIZE_DEFAULT; start = device_start * PED_SECTOR_SIZE_DEFAULT; if (PED_SECTOR_SIZE_DEFAULT != arch_specific->store->block_size) { store_start_block = start / arch_specific->store->block_size; store_read_length = (device_read_length + arch_specific->store->block_size - 1) / arch_specific->store->block_size; } else { store_start_block = device_start; store_read_length = device_read_length; } read_offset = start - store_start_block * arch_specific->store->block_size; if (store_read_length % arch_specific->store->block_size != 0) store_read_length = store_read_length + arch_specific->store->block_size - store_read_length % arch_specific->store->block_size; retry: have_read = 0; while (1) { size_t did_read; size_t offset; store_read_buffer = local_buffer; did_read = sizeof (local_buffer); err = store_read (arch_specific->store, store_start_block, store_read_length - have_read, &store_read_buffer, &did_read); if (err) { ex_status = ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_RETRY_IGNORE_CANCEL, _("%s during read on %s"), strerror (err), dev->path); switch (ex_status) { case PED_EXCEPTION_IGNORE: return 1; case PED_EXCEPTION_RETRY: goto retry; case PED_EXCEPTION_UNHANDLED: ped_exception_catch (); case PED_EXCEPTION_CANCEL: return 0; } } memcpy (user_buffer + have_read - read_offset, store_read_buffer + (have_read >= read_offset ? 0 : read_offset - have_read), have_read + did_read > device_read_length + read_offset ? device_read_length + read_offset - have_read : did_read); if (store_read_buffer != local_buffer) vm_deallocate (mach_task_self (), (long) store_read_buffer, did_read); have_read += did_read; store_start_block += did_read / arch_specific->store->block_size; if (have_read >= device_read_length) break; } return 1; } static int gnu_write (PedDevice* dev, const void* buffer, PedSector start, PedSector count) { GNUSpecific* arch_specific = GNU_SPECIFIC (dev); error_t err; PedExceptionOption ex_status; void * temp; char local_buffer[PED_SECTOR_SIZE_DEFAULT]; size_t did_read; size_t did_write; /* Map a disk sector to a store sector. */ #define PED_TO_STORE(store, sector) (((sector) * PED_SECTOR_SIZE_DEFAULT) \ / (store)->block_size) if (dev->read_only) { if (ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_IGNORE_CANCEL, _("Can't write to %s, because it is opened read-only."), dev->path) != PED_EXCEPTION_IGNORE) return 0; else return 1; } #ifdef READ_ONLY printf ("ped_device_write (\"%s\", %p, %d, %d)\n", dev->path, buffer, (int) start, (int) count); #else dev->dirty = 1; /* If the first ``device'' block (PedSector) is not aligned on a store block, then we need to fetch the old block, copy in the overlaping area and finally, write the modified data out to the store. */ if ((PED_SECTOR_SIZE_DEFAULT * start) % arch_specific->store->block_size != 0) { size_t write_offset; size_t flushing; doggy_first_block_read: /* We do not bother looping as we are only reading a single block. */ temp = local_buffer; did_read = sizeof (local_buffer); err = store_read (arch_specific->store, PED_TO_STORE (arch_specific->store, start), arch_specific->store->block_size, &temp, &did_read); if (! err && did_read != arch_specific->store->block_size) err = EIO; if (err) { ex_status = ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_RETRY_IGNORE_CANCEL, _("%s during read on %s"), strerror (err), dev->path); switch (ex_status) { case PED_EXCEPTION_IGNORE: break; case PED_EXCEPTION_RETRY: goto doggy_first_block_read; case PED_EXCEPTION_UNHANDLED: ped_exception_catch (); case PED_EXCEPTION_CANCEL: return 0; } } write_offset = (start * PED_SECTOR_SIZE_DEFAULT) % arch_specific->store->block_size; flushing = arch_specific->store->block_size - write_offset; if (flushing > count * PED_SECTOR_SIZE_DEFAULT) flushing = count * PED_SECTOR_SIZE_DEFAULT; memcpy (temp + write_offset, buffer, flushing); doggy_first_block_write: err = store_write (arch_specific->store, PED_TO_STORE (arch_specific->store, start), temp, arch_specific->store->block_size, &did_write); if (! err && did_write != arch_specific->store->block_size) err = EIO; if (err) { ex_status = ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_RETRY_IGNORE_CANCEL, _("%s during write on %s"), strerror (err), dev->path); switch (ex_status) { case PED_EXCEPTION_IGNORE: break; case PED_EXCEPTION_RETRY: goto doggy_first_block_write; case PED_EXCEPTION_UNHANDLED: ped_exception_catch (); case PED_EXCEPTION_CANCEL: if (temp != local_buffer) vm_deallocate ( mach_task_self (), (long) temp, did_read); return 0; } } start += flushing / PED_SECTOR_SIZE_DEFAULT; count -= flushing / PED_SECTOR_SIZE_DEFAULT; buffer += write_offset; if (temp != local_buffer) vm_deallocate (mach_task_self (), (long) temp, did_read); if (count == 0) return 1; } while (count > 0 && count >= arch_specific->store->block_size / PED_SECTOR_SIZE_DEFAULT) { err = store_write (arch_specific->store, PED_TO_STORE (arch_specific->store, start), buffer, count * PED_SECTOR_SIZE_DEFAULT, &did_write); if (err) { ex_status = ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_RETRY_IGNORE_CANCEL, _("%s during write on %s"), strerror (err), dev->path); switch (ex_status) { case PED_EXCEPTION_IGNORE: break; case PED_EXCEPTION_RETRY: continue; case PED_EXCEPTION_UNHANDLED: ped_exception_catch (); case PED_EXCEPTION_CANCEL: return 0; } } start += did_write / PED_SECTOR_SIZE_DEFAULT; count -= did_write / PED_SECTOR_SIZE_DEFAULT; buffer += did_write; } if (count == 0) return 1; /* We are now left with (strictly) less then a store block to write to disk. Thus, we read the block, overlay the buffer and flush. */ PED_ASSERT (count * PED_SECTOR_SIZE_DEFAULT < arch_specific->store->block_size, return 0); doggy_last_block_read: /* We do not bother looping as we are only reading a single block. */ temp = local_buffer; did_read = sizeof (local_buffer); err = store_read (arch_specific->store, PED_TO_STORE (arch_specific->store, start), arch_specific->store->block_size, &temp, &did_read); if (! err && did_read != arch_specific->store->block_size) err = EIO; if (err) { ex_status = ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_RETRY_IGNORE_CANCEL, _("%s during read on %s"), strerror (err), dev->path); switch (ex_status) { case PED_EXCEPTION_IGNORE: break; case PED_EXCEPTION_RETRY: goto doggy_last_block_read; case PED_EXCEPTION_UNHANDLED: ped_exception_catch (); case PED_EXCEPTION_CANCEL: return 0; } } memcpy (temp, buffer, count * PED_SECTOR_SIZE_DEFAULT); doggy_last_block_write: err = store_write (arch_specific->store, PED_TO_STORE (arch_specific->store, start), temp, arch_specific->store->block_size, &did_write); if (! err && did_write != arch_specific->store->block_size) err = EIO; if (err) { ex_status = ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_RETRY_IGNORE_CANCEL, _("%s during write on %s"), strerror (err), dev->path); switch (ex_status) { case PED_EXCEPTION_IGNORE: break; case PED_EXCEPTION_RETRY: goto doggy_last_block_write; case PED_EXCEPTION_UNHANDLED: ped_exception_catch (); case PED_EXCEPTION_CANCEL: if (temp != local_buffer) vm_deallocate (mach_task_self (), (long) temp, did_read); return 0; } } #endif /* !READ_ONLY */ return 1; } /* TODO: returns the number of sectors that are ok. */ static PedSector gnu_check (PedDevice* dev, void* buffer, PedSector start, PedSector count) { int status; int done = 0; PED_ASSERT (dev != NULL, return 0); PED_ASSERT (!dev->external_mode, return 0); PED_ASSERT (buffer != NULL, return 0); return count; } static int gnu_sync (PedDevice* dev) { GNUSpecific* arch_specific; error_t err; PedExceptionOption ex_status; static char *last_failure = NULL; PED_ASSERT (dev != NULL, return 0); PED_ASSERT (!dev->external_mode, return 0); arch_specific = GNU_SPECIFIC (dev); if (dev->read_only || ! dev->dirty) return 1; while (1) { err = file_sync (arch_specific->store->source, 1, 0); if (! err || err == EOPNOTSUPP || err == EPERM || (last_failure && strcmp (last_failure, dev->path) == 0)) break; ex_status = ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_RETRY_IGNORE_CANCEL, _("%s trying to sync %s to disk"), strerror (errno), dev->path); switch (ex_status) { case PED_EXCEPTION_IGNORE: free (last_failure); last_failure = strdup (dev->path); return 1; case PED_EXCEPTION_RETRY: break; case PED_EXCEPTION_UNHANDLED: ped_exception_catch (); case PED_EXCEPTION_CANCEL: return 0; } } return 1; } static int probe_standard_devices () { _ped_device_probe ("/dev/sd0"); _ped_device_probe ("/dev/sd1"); _ped_device_probe ("/dev/sd2"); _ped_device_probe ("/dev/sd3"); _ped_device_probe ("/dev/sd4"); _ped_device_probe ("/dev/sd5"); _ped_device_probe ("/dev/hd0"); _ped_device_probe ("/dev/hd1"); _ped_device_probe ("/dev/hd2"); _ped_device_probe ("/dev/hd3"); _ped_device_probe ("/dev/hd4"); _ped_device_probe ("/dev/hd5"); _ped_device_probe ("/dev/hd6"); _ped_device_probe ("/dev/hd7"); return 1; } static void gnu_probe_all () { probe_standard_devices (); } static char* gnu_partition_get_path (const PedPartition* part) { const char* dev_path = part->disk->dev->path; int result_len = strlen (dev_path) + 16; char* result; result = (char*) ped_malloc (result_len); if (!result) return NULL; snprintf (result, result_len, "%s%d", dev_path, part->num); return result; } static int gnu_partition_is_busy (const PedPartition* part) { return 0; } static int gnu_disk_commit (PedDisk* disk) { return 1; } static PedDeviceArchOps gnu_dev_ops = { _new: gnu_new, destroy: gnu_destroy, is_busy: gnu_is_busy, open: gnu_open, refresh_open: gnu_refresh_open, close: gnu_close, refresh_close: gnu_refresh_close, read: gnu_read, write: gnu_write, check: gnu_check, sync: gnu_sync, sync_fast: gnu_sync, probe_all: gnu_probe_all }; static PedDiskArchOps gnu_disk_ops = { partition_get_path: gnu_partition_get_path, partition_is_busy: gnu_partition_is_busy, disk_commit: gnu_disk_commit }; PedArchitecture ped_gnu_arch = { dev_ops: &gnu_dev_ops, disk_ops: &gnu_disk_ops }; parted-2.3/libparted/arch/beos.c0000644000000000000000000003211211333731662013507 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 2006-2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include /* POSIX headers */ #include #include #include #include #include #include /* BeOS APIs */ #include /* ZETA R1+ APIs */ #if B_ZETA_VERSION >= B_ZETA_VERSION_1_0_0 # include #endif #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ #include "../architecture.h" #define BEOS_SPECIFIC(dev) ((BEOSSpecific*) (dev)->arch_specific) typedef struct _BEOSSpecific BEOSSpecific; struct _BEOSSpecific { int fd; }; static void _scan_for_disks(const char* path) { char subdir[PATH_MAX]; dirent_t* entp; size_t pos; DIR* dirp; if ((dirp=opendir(path)) != NULL) { /* Build first part of path */ strcpy(subdir, path); strcat(subdir, "/"); pos = strlen(subdir); /* Check all directory entries.. */ while((entp=readdir(dirp)) != NULL) { /* If they start with '.' just skip */ if (entp->d_name[0] == '.') continue; strcpy(subdir+pos, entp->d_name); /* /dev/disk/.../raw are the complete disks we're interested in */ if (strcmp(entp->d_name, "raw") == 0) _ped_device_probe(subdir); else /* If not 'raw', it most often will be another subdir */ _scan_for_disks(subdir); } closedir(dirp); } } static void _flush_cache(PedDevice* dev) { int fd; if ((fd=open(dev->path, O_RDONLY)) < 0) { ioctl(fd, B_FLUSH_DRIVE_CACHE); close(fd); } } #if B_ZETA_VERSION >= B_ZETA_VERSION_1_0_0 static int _device_init_ata(PedDevice* dev) { ata_device_infoblock ide_info; int maxlen, len, idx, fd; char buf[256]; /* Try and get information about device from ATA(PI) driver */ if ((fd=open(dev->path, O_RDONLY)) < 0) goto ata_error; if (ioctl(fd, B_ATA_GET_DEVICE_INFO, &ide_info, sizeof(ide_info)) < 0) goto ata_error_close; close(fd); /* Copy 'logical' dimensions */ dev->bios_geom.cylinders = ide_info.cylinders; dev->bios_geom.heads = ide_info.heads; dev->bios_geom.sectors = ide_info.sectors; /* Copy used dimensions */ dev->hw_geom.cylinders = ide_info.current_cylinders; dev->hw_geom.heads = ide_info.current_heads; dev->hw_geom.sectors = ide_info.current_sectors; /* Copy total number of sectors */ if (ide_info._48_bit_addresses_supported) dev->length = ide_info.LBA48_total_sectors; else if (ide_info.LBA_supported) dev->length = ide_info.LBA_total_sectors; else dev->length = ide_info.cylinders * ide_info.heads * ide_info.sectors; dev->sector_size = dev->phys_sector_size = PED_SECTOR_SIZE_DEFAULT; /* Use sensible model */ maxlen=sizeof(ide_info.model_number); strncpy(buf, ide_info.model_number, maxlen); buf[maxlen] = '\0'; for (len=-1, idx=maxlen-1; idx > 0 && len < 0; idx--) if (buf[idx] > 0x20) len = idx; buf[(len == -1) ? 0 : len+1] = '\0'; dev->model = strdup(buf); return PED_DEVICE_IDE; ata_error_close: close(fd); ata_error: return 0; } #endif static int _device_init_generic_blkdev(PedDevice* dev) { device_geometry bios, os; int got_bios_info = 0; int fd; /* Try and get information about device from ATA(PI) driver */ if ((fd=open(dev->path, O_RDONLY)) < 0) goto blkdev_error; /* B_GET_GEOMETRY is mandatory */ if (ioctl(fd, B_GET_GEOMETRY, &os, sizeof(os)) < 0) goto blkdev_error_close; /* B_GET_BIOS_GEOMETRY is optional */ if (!ioctl(fd, B_GET_BIOS_GEOMETRY, &bios, sizeof(bios))) got_bios_info = 1; close(fd); dev->hw_geom.cylinders = os.cylinder_count; dev->hw_geom.heads = os.head_count; dev->hw_geom.sectors = os.sectors_per_track; dev->sector_size = dev->phys_sector_size = os.bytes_per_sector; if (got_bios_info) { dev->bios_geom.cylinders = bios.cylinder_count; dev->bios_geom.heads = bios.head_count; dev->bios_geom.sectors = bios.sectors_per_track; } else dev->bios_geom = dev->hw_geom; dev->model = strdup(""); return PED_DEVICE_IDE; blkdev_error_close: close(fd); blkdev_error: return 0; } static int _device_init_blkdev(PedDevice* dev) { int type; #if B_ZETA_VERSION >= B_ZETA_VERSION_1_0_0 if (!(type=_device_init_ata(dev))) #endif type = _device_init_generic_blkdev(dev); return type; } static int _device_init_file(PedDevice* dev, struct stat* dev_statp) { if (!dev_statp->st_size) return 0; dev->sector_size = dev->phys_sector_size = PED_SECTOR_SIZE_DEFAULT; dev->length = dev_statp->st_size / PED_SECTOR_SIZE_DEFAULT; dev->bios_geom.cylinders = dev->length / (4 * 32); dev->bios_geom.heads = 4; dev->bios_geom.sectors = 32; dev->hw_geom = dev->bios_geom; dev->model = strdup(_("Disk Image")); return PED_DEVICE_FILE; } static int _device_init(PedDevice* dev) { struct stat dev_stat; int type = 0; /* Check if we're a regular file */ if (stat(dev->path, &dev_stat) < 0) goto done; if (S_ISBLK(dev_stat.st_mode) || S_ISCHR(dev_stat.st_mode)) type = _device_init_blkdev(dev); else if (S_ISREG(dev_stat.st_mode)) type = _device_init_file(dev,&dev_stat); done: return type; } static PedDevice* beos_new (const char* path) { struct stat stat_info; PedDevice* dev; PED_ASSERT(path != NULL, return NULL); dev = (PedDevice*) ped_malloc (sizeof (PedDevice)); if (!dev) goto error; dev->path = strdup(path); if (!dev->path) goto error_free_dev; dev->arch_specific = (BEOSSpecific*) ped_malloc(sizeof(BEOSSpecific)); if (dev->arch_specific == NULL) goto error_free_path; dev->open_count = 0; dev->read_only = 0; dev->external_mode = 0; dev->dirty = 0; dev->boot_dirty = 0; if ((dev->type=_device_init(dev)) <= 0) goto error_free_arch_specific; /* All OK! */ return dev; error_free_arch_specific: free (dev->arch_specific); error_free_path: free (dev->path); error_free_dev: free (dev); error: return NULL; } static void beos_destroy (PedDevice* dev) { free (dev->arch_specific); free (dev->path); free (dev->model); free (dev); } static int beos_is_busy (PedDevice* dev) { return 1; } static int beos_open (PedDevice* dev) { BEOSSpecific* arch_specific = BEOS_SPECIFIC(dev); retry: arch_specific->fd = open(dev->path, O_RDWR); if (arch_specific->fd == -1) { char* rw_error_msg = strerror(errno); arch_specific->fd = open (dev->path, O_RDONLY); if (arch_specific->fd == -1) { if (ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_RETRY_CANCEL, _("Error opening %s: %s"), dev->path, strerror (errno)) != PED_EXCEPTION_RETRY) { return 0; } else { goto retry; } } else { ped_exception_throw ( PED_EXCEPTION_WARNING, PED_EXCEPTION_OK, _("Unable to open %s read-write (%s). %s has " "been opened read-only."), dev->path, rw_error_msg, dev->path); dev->read_only = 1; } } else { dev->read_only = 0; } _flush_cache (dev); return 1; } static int beos_refresh_open (PedDevice* dev) { return 1; } static int beos_close (PedDevice* dev) { BEOSSpecific* arch_specific = BEOS_SPECIFIC(dev); if (dev->dirty) _flush_cache (dev); close (arch_specific->fd); return 1; } static int beos_refresh_close (PedDevice* dev) { if (dev->dirty) _flush_cache (dev); return 1; } static int beos_read (const PedDevice* dev, void* buffer, PedSector start, PedSector count) { BEOSSpecific* arch_specific = BEOS_SPECIFIC(dev); int status; PedExceptionOption ex_status; size_t read_length = count * dev->sector_size; PED_ASSERT(dev->sector_size % PED_SECTOR_SIZE_DEFAULT == 0, return 0); /* First, try to seek */ while(1) { if (lseek(arch_specific->fd, start * dev->sector_size, SEEK_SET) == start * dev->sector_size) break; ex_status = ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_RETRY_IGNORE_CANCEL, _("%s during seek for read on %s"), strerror (errno), dev->path); switch (ex_status) { case PED_EXCEPTION_IGNORE: return 1; case PED_EXCEPTION_RETRY: break /* out of switch */; case PED_EXCEPTION_UNHANDLED: ped_exception_catch (); case PED_EXCEPTION_CANCEL: return 0; } } /* If we seeked ok, now is the time to read */ while (1) { status = read(arch_specific->fd, buffer, read_length); if (status == count * dev->sector_size) break; if (status > 0) { read_length -= status; buffer += status; continue; } ex_status = ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_RETRY_IGNORE_CANCEL, _("%s during read on %s"), strerror (errno), dev->path); switch (ex_status) { case PED_EXCEPTION_IGNORE: return 1; case PED_EXCEPTION_RETRY: break; case PED_EXCEPTION_UNHANDLED: ped_exception_catch (); case PED_EXCEPTION_CANCEL: return 0; } } return 1; } static int beos_write (PedDevice* dev, const void* buffer, PedSector start, PedSector count) { BEOSSpecific* arch_specific = BEOS_SPECIFIC(dev); int status; PedExceptionOption ex_status; size_t write_length = count * dev->sector_size; PED_ASSERT(dev->sector_size % PED_SECTOR_SIZE_DEFAULT == 0, return 0); if (dev->read_only) { if (ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_IGNORE_CANCEL, _("Can't write to %s, because it is opened read-only."), dev->path) != PED_EXCEPTION_IGNORE) return 0; else return 1; } while(1) { if (lseek(arch_specific->fd,start * dev->sector_size,SEEK_SET) == start * dev->sector_size) break; ex_status = ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_RETRY_IGNORE_CANCEL, _("%s during seek for write on %s"), strerror (errno), dev->path); switch (ex_status) { case PED_EXCEPTION_IGNORE: return 1; case PED_EXCEPTION_RETRY: break; case PED_EXCEPTION_UNHANDLED: ped_exception_catch (); case PED_EXCEPTION_CANCEL: return 0; } } #ifdef READ_ONLY printf ("ped_device_write (\"%s\", %p, %d, %d)\n", dev->path, buffer, (int) start, (int) count); #else dev->dirty = 1; while(1) { status = write (arch_specific->fd, buffer, write_length); if (status == count * dev->sector_size) break; if (status > 0) { write_length -= status; buffer += status; continue; } ex_status = ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_RETRY_IGNORE_CANCEL, _("%s during write on %s"), strerror (errno), dev->path); switch (ex_status) { case PED_EXCEPTION_IGNORE: return 1; case PED_EXCEPTION_RETRY: break; case PED_EXCEPTION_UNHANDLED: ped_exception_catch (); case PED_EXCEPTION_CANCEL: return 0; } } #endif /* !READ_ONLY */ return 1; } static PedSector beos_check (PedDevice* dev, void* buffer, PedSector start, PedSector count) { BEOSSpecific* arch_specific = BEOS_SPECIFIC(dev); PedSector done = 0; int status; PED_ASSERT(dev != NULL, return 0); if (lseek(arch_specific->fd, start * dev->sector_size, SEEK_SET) != start * dev->sector_size) return 0; for (done = 0; done < count; done += status / dev->sector_size) { status = read (arch_specific->fd, buffer, (size_t) ((count-done) * dev->sector_size)); if (status < 0) break; } return done; } static int beos_sync (PedDevice* dev) { return 1; } static int beos_sync_fast (PedDevice* dev) { return 1; } /* Probe for all available disks */ static void beos_probe_all () { /* For BeOS/ZETA/Haiku, all disks are published under /dev/disk */ _scan_for_disks("/dev/disk"); } static char* beos_partition_get_path (const PedPartition* part) { return NULL; } static int beos_partition_is_busy (const PedPartition* part) { return 0; } static int beos_disk_commit (PedDisk* disk) { return 0; } static PedDeviceArchOps beos_dev_ops = { _new: beos_new, destroy: beos_destroy, is_busy: beos_is_busy, open: beos_open, refresh_open: beos_refresh_open, close: beos_close, refresh_close: beos_refresh_close, read: beos_read, write: beos_write, check: beos_check, sync: beos_sync, sync_fast: beos_sync_fast, probe_all: beos_probe_all }; static PedDiskArchOps beos_disk_ops = { partition_get_path: beos_partition_get_path, partition_is_busy: beos_partition_is_busy, disk_commit: beos_disk_commit }; PedArchitecture ped_beos_arch = { dev_ops: &beos_dev_ops, disk_ops: &beos_disk_ops }; parted-2.3/libparted/arch/linux.h0000644000000000000000000000251111333731662013723 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef PED_ARCH_LINUX_H_INCLUDED #define PED_ARCH_LINUX_H_INCLUDED #if HAVE_BLKID_BLKID_H # include #endif #define LINUX_SPECIFIC(dev) ((LinuxSpecific*) (dev)->arch_specific) typedef struct _LinuxSpecific LinuxSpecific; struct _LinuxSpecific { int fd; int major; int minor; char* dmtype; /**< device map target type */ #if defined __s390__ || defined __s390x__ unsigned int real_sector_size; unsigned int devno; #endif #if USE_BLKID blkid_probe probe; blkid_topology topology; #endif }; #endif /* PED_ARCH_LINUX_H_INCLUDED */ parted-2.3/libparted/unit.c0000644000000000000000000003451411333731662012631 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 2005, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /** \file unit.c */ /** * \addtogroup PedUnit * * \brief The PedUnit module provides a standard mechanism for describing * and parsing locations within devices in human-friendly plain text. * * Internally, libparted uses PedSector (which is typedef'ed to be long long * in ) to describe device locations such as the start and * end of partitions. However, sector numbers are often long and unintuitive. * For example, my extended partition starts at sector 208845. PedUnit allows * this location to be represented in more intutitive ways, including "106Mb", * "0Gb" and "0%", as well as "208845s". PedUnit aims to provide facilities * to provide a consistent system for describing device locations all * throughout libparted. * * PedUnit provides two basic services: converting a PedSector into a text * representation, and parsing a text representation into a PedSector. * PedUnit currently supports these units: * * sectors, bytes, kilobytes, megabytes, gigabytes, terabytes, compact, * cylinder and percent. * * PedUnit has a global variable that contains the default unit for all * conversions. * * @{ */ #include #include #include #include #include #include #define N_(String) String #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ static PedUnit default_unit = PED_UNIT_COMPACT; static const char* unit_names[] = { "s", "B", "kB", "MB", "GB", "TB", "compact", "cyl", "chs", "%", "kiB", "MiB", "GiB", "TiB" }; /** * \brief Set the default \p unit used by subsequent calls to the PedUnit API. * * In particular, this affects how locations inside error messages * (exceptions) are displayed. */ void ped_unit_set_default (PedUnit unit) { default_unit = unit; } /** * \brief Get the current default unit. */ PedUnit ped_unit_get_default () { return default_unit; } /** * Get the byte size of a given \p unit. */ long long ped_unit_get_size (const PedDevice* dev, PedUnit unit) { PedSector cyl_size = dev->bios_geom.heads * dev->bios_geom.sectors; switch (unit) { case PED_UNIT_SECTOR: return dev->sector_size; case PED_UNIT_BYTE: return 1; case PED_UNIT_KILOBYTE: return PED_KILOBYTE_SIZE; case PED_UNIT_MEGABYTE: return PED_MEGABYTE_SIZE; case PED_UNIT_GIGABYTE: return PED_GIGABYTE_SIZE; case PED_UNIT_TERABYTE: return PED_TERABYTE_SIZE; case PED_UNIT_KIBIBYTE: return PED_KIBIBYTE_SIZE; case PED_UNIT_MEBIBYTE: return PED_MEBIBYTE_SIZE; case PED_UNIT_GIBIBYTE: return PED_GIBIBYTE_SIZE; case PED_UNIT_TEBIBYTE: return PED_TEBIBYTE_SIZE; case PED_UNIT_CYLINDER: return cyl_size * dev->sector_size; case PED_UNIT_CHS: return dev->sector_size; case PED_UNIT_PERCENT: return dev->length * dev->sector_size / 100; case PED_UNIT_COMPACT: ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Cannot get unit size for special unit " "'COMPACT'.")); return 0; } /* never reached */ PED_ASSERT(0, return 0); return 0; } /** * Get a textual (non-internationalized) representation of a \p unit. * * For example, the textual representation of PED_UNIT_SECTOR is "s". */ const char* ped_unit_get_name (PedUnit unit) { return unit_names[unit]; } /** * Get a unit based on its textual representation: \p unit_name. * * For example, ped_unit_get_by_name("Mb") returns PED_UNIT_MEGABYTE. */ PedUnit ped_unit_get_by_name (const char* unit_name) { PedUnit unit; for (unit = PED_UNIT_FIRST; unit <= PED_UNIT_LAST; unit++) { if (!strcasecmp (unit_names[unit], unit_name)) return unit; } return -1; } static char* ped_strdup (const char *str) { char *result; result = ped_malloc (strlen (str) + 1); if (!result) return NULL; strcpy (result, str); return result; } /** * \brief Get a string that describes the location of the \p byte on * device \p dev. * * The string is described with the desired \p unit. * The returned string must be freed with free(). */ char* ped_unit_format_custom_byte (const PedDevice* dev, PedSector byte, PedUnit unit) { char buf[100]; PedSector sector = byte / dev->sector_size; double d, w; int p; PED_ASSERT (dev != NULL, return NULL); /* CHS has a special comma-separated format. */ if (unit == PED_UNIT_CHS) { const PedCHSGeometry *chs = &dev->bios_geom; snprintf (buf, 100, "%lld,%lld,%lld", sector / chs->sectors / chs->heads, (sector / chs->sectors) % chs->heads, sector % chs->sectors); return ped_strdup (buf); } /* Cylinders, sectors and bytes should be rounded down... */ if (unit == PED_UNIT_CYLINDER || unit == PED_UNIT_SECTOR || unit == PED_UNIT_BYTE) { snprintf (buf, 100, "%lld%s", byte / ped_unit_get_size (dev, unit), ped_unit_get_name (unit)); return ped_strdup (buf); } if (unit == PED_UNIT_COMPACT) { if (byte >= 10LL * PED_TERABYTE_SIZE) unit = PED_UNIT_TERABYTE; else if (byte >= 10LL * PED_GIGABYTE_SIZE) unit = PED_UNIT_GIGABYTE; else if (byte >= 10LL * PED_MEGABYTE_SIZE) unit = PED_UNIT_MEGABYTE; else if (byte >= 10LL * PED_KILOBYTE_SIZE) unit = PED_UNIT_KILOBYTE; else unit = PED_UNIT_BYTE; } /* IEEE754 says that 100.5 has to be rounded to 100 (by printf) */ /* but 101.5 has to be rounded to 102... so we multiply by 1+E. */ /* This just divide by 2 the natural IEEE754 extended precision */ /* and won't cause any trouble before 1000 TB */ d = ((double)byte / ped_unit_get_size (dev, unit)) * (1. + DBL_EPSILON); w = d + ( (d < 10. ) ? 0.005 : (d < 100.) ? 0.05 : 0.5 ); p = (w < 10. ) ? 2 : (w < 100.) ? 1 : 0 ; #ifdef __BEOS__ snprintf (buf, 100, "%.*f%s", p, d, ped_unit_get_name(unit)); #else snprintf (buf, 100, "%1$.*2$f%3$s", d, p, ped_unit_get_name (unit)); #endif return ped_strdup (buf); } /** * \brief Get a string that describes the location of the \p byte on * device \p dev. * * The string is described with the default unit, which is set * by ped_unit_set_default(). * The returned string must be freed with free(). */ char* ped_unit_format_byte (const PedDevice* dev, PedSector byte) { PED_ASSERT (dev != NULL, return NULL); return ped_unit_format_custom_byte (dev, byte, default_unit); } /** * \brief Get a string that describes the location \p sector on device \p dev. * * The string is described with the desired \p unit. * The returned string must be freed with free(). */ char* ped_unit_format_custom (const PedDevice* dev, PedSector sector, PedUnit unit) { PED_ASSERT (dev != NULL, return NULL); return ped_unit_format_custom_byte(dev, sector*dev->sector_size, unit); } /** * \brief Get a string that describes the location \p sector on device \p dev. * * The string is described with the default unit, which is set * by ped_unit_set_default(). * The returned string must be freed with free(). */ char* ped_unit_format (const PedDevice* dev, PedSector sector) { PED_ASSERT (dev != NULL, return NULL); return ped_unit_format_custom_byte (dev, sector * dev->sector_size, default_unit); } /** * If \p str contains a valid description of a location on \p dev, * then \p *sector is modified to describe the location and a geometry * is created in \p *range describing a 2 units large area centered on * \p *sector. If the \p range as described here would be partially outside * the device \p dev, the geometry returned is the intersection between the * former and the whole device geometry. If no units are specified, then the * default unit is assumed. * * \return \c 1 if \p str is a valid location description, \c 0 otherwise */ int ped_unit_parse (const char* str, const PedDevice* dev, PedSector *sector, PedGeometry** range) { return ped_unit_parse_custom (str, dev, default_unit, sector, range); } /* Inefficiently removes all spaces from a string, in-place. */ static void strip_string (char* str) { int i; for (i = 0; str[i] != 0; i++) { if (isspace (str[i])) { int j; for (j = i + 1; str[j] != 0; j++) str[j - 1] = str[j]; } } } /* Find non-number suffix. Eg: find_suffix("32Mb") returns a pointer to * "Mb". */ static char* find_suffix (const char* str) { while (str[0] != 0 && (isdigit (str[0]) || strchr(",.-", str[0]))) str++; return (char *) str; } static void remove_punct (char* str) { int i = 0; for (i = 0; str[i]; i++) { if (ispunct (str[i])) str[i] = ' '; } } static int is_chs (const char* str) { int punct_count = 0; int i = 0; for (i = 0; str[i]; i++) punct_count += ispunct (str[i]) != 0; return punct_count == 2; } static int parse_chs (const char* str, const PedDevice* dev, PedSector* sector, PedGeometry** range) { PedSector cyl_size = dev->bios_geom.heads * dev->bios_geom.sectors; PedCHSGeometry chs; char* copy = ped_strdup (str); if (!copy) return 0; strip_string (copy); remove_punct (copy); if (sscanf (copy, "%d %d %d", &chs.cylinders, &chs.heads, &chs.sectors) != 3) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("\"%s\" has invalid syntax for locations."), copy); goto error_free_copy; } if (chs.heads >= dev->bios_geom.heads) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("The maximum head value is %d."), dev->bios_geom.heads - 1); goto error_free_copy; } if (chs.sectors >= dev->bios_geom.sectors) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("The maximum sector value is %d."), dev->bios_geom.sectors - 1); goto error_free_copy; } *sector = 1LL * chs.cylinders * cyl_size + chs.heads * dev->bios_geom.sectors + chs.sectors; if (*sector >= dev->length) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("The location %s is outside of the " "device %s."), str, dev->path); goto error_free_copy; } if (range) *range = ped_geometry_new (dev, *sector, 1); free (copy); return !range || *range != NULL; error_free_copy: free (copy); *sector = 0; if (range) *range = NULL; return 0; } static PedSector clip (const PedDevice* dev, PedSector sector) { if (sector < 0) return 0; if (sector > dev->length - 1) return dev->length - 1; return sector; } static PedGeometry* geometry_from_centre_radius (const PedDevice* dev, PedSector sector, PedSector radius) { PedSector start = clip (dev, sector - radius); PedSector end = clip (dev, sector + radius); if (sector - end > radius || start - sector > radius) return NULL; return ped_geometry_new (dev, start, end - start + 1); } static PedUnit parse_unit_suffix (const char* suffix, PedUnit suggested_unit) { if (strlen (suffix) > 1 && tolower (suffix[1]) == 'i') { switch (tolower (suffix[0])) { case 'k': return PED_UNIT_KIBIBYTE; case 'm': return PED_UNIT_MEBIBYTE; case 'g': return PED_UNIT_GIBIBYTE; case 't': return PED_UNIT_TEBIBYTE; } } else if (strlen (suffix) > 0) { switch (tolower (suffix[0])) { case 's': return PED_UNIT_SECTOR; case 'b': return PED_UNIT_BYTE; case 'k': return PED_UNIT_KILOBYTE; case 'm': return PED_UNIT_MEGABYTE; case 'g': return PED_UNIT_GIGABYTE; case 't': return PED_UNIT_TERABYTE; case 'c': return PED_UNIT_CYLINDER; case '%': return PED_UNIT_PERCENT; } } if (suggested_unit == PED_UNIT_COMPACT) { if (default_unit == PED_UNIT_COMPACT) return PED_UNIT_MEGABYTE; else return default_unit; } return suggested_unit; } /** * If \p str contains a valid description of a location on \p dev, then * \p *sector is modified to describe the location and a geometry is created * in \p *range describing a 2 units large area centered on \p *sector. If the * \p range as described here would be partially outside the device \p dev, the * geometry returned is the intersection between the former and the whole * device geometry. If no units are specified, then the default unit is * assumed. * * \throws PED_EXCEPTION_ERROR if \p str contains invalid description of a * location * \throws PED_EXCEPTION_ERROR if location described by \p str * is outside of the device \p dev->path * * \return \c 1 if \p str is a valid location description, \c 0 otherwise. */ int ped_unit_parse_custom (const char* str, const PedDevice* dev, PedUnit unit, PedSector* sector, PedGeometry** range) { char* copy; char* suffix; double num; long long unit_size; PedSector radius; if (is_chs (str)) return parse_chs (str, dev, sector, range); copy = ped_strdup (str); if (!copy) goto error; strip_string (copy); suffix = find_suffix (copy); unit = parse_unit_suffix (suffix, unit); suffix[0] = 0; if (sscanf (copy, "%lf", &num) != 1) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Invalid number.")); goto error_free_copy; } unit_size = ped_unit_get_size (dev, unit); radius = ped_div_round_up (unit_size, dev->sector_size) - 1; if (radius < 0) radius = 0; *sector = num * unit_size / dev->sector_size; /* negative numbers count from the end */ if (copy[0] == '-') *sector += dev->length; if (range) { *range = geometry_from_centre_radius (dev, *sector, radius); if (!*range) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("The location %s is outside of the " "device %s."), str, dev->path); goto error_free_copy; } } *sector = clip (dev, *sector); free (copy); return 1; error_free_copy: free (copy); error: *sector = 0; if (range) *range = NULL; return 0; } /** @} */ parted-2.3/libparted/filesys.c0000644000000000000000000005216711333731662013334 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 1999-2001, 2007-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /** \file filesys.c */ /** * \addtogroup PedFileSystem * * \note File systems exist on a PedGeometry - NOT a PedPartition. * * @{ */ #include #include #include #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ #define BUFFER_SIZE 4096 /* in sectors */ static PedFileSystemType* fs_types = NULL; static PedFileSystemAlias* fs_aliases = NULL; void ped_file_system_type_register (PedFileSystemType* fs_type) { PED_ASSERT (fs_type != NULL, return); PED_ASSERT (fs_type->ops != NULL, return); PED_ASSERT (fs_type->name != NULL, return); fs_type->next = fs_types; fs_types = fs_type; } void ped_file_system_type_unregister (PedFileSystemType* fs_type) { PedFileSystemType* walk; PedFileSystemType* last = NULL; PED_ASSERT (fs_types != NULL, return); PED_ASSERT (fs_type != NULL, return); for (walk = fs_types; walk && walk != fs_type; last = walk, walk = walk->next); PED_ASSERT (walk != NULL, return); if (last) ((struct _PedFileSystemType*) last)->next = fs_type->next; else fs_types = fs_type->next; } void ped_file_system_alias_register (PedFileSystemType* fs_type, const char* alias, int deprecated) { PedFileSystemAlias* fs_alias; PED_ASSERT (fs_type != NULL, return); PED_ASSERT (alias != NULL, return); fs_alias = ped_malloc (sizeof *fs_alias); if (!fs_alias) return; fs_alias->next = fs_aliases; fs_alias->fs_type = fs_type; fs_alias->alias = alias; fs_alias->deprecated = deprecated; fs_aliases = fs_alias; } void ped_file_system_alias_unregister (PedFileSystemType* fs_type, const char* alias) { PedFileSystemAlias* walk; PedFileSystemAlias* last = NULL; PED_ASSERT (fs_aliases != NULL, return); PED_ASSERT (fs_type != NULL, return); PED_ASSERT (alias != NULL, return); for (walk = fs_aliases; walk; last = walk, walk = walk->next) { if (walk->fs_type == fs_type && !strcmp (walk->alias, alias)) break; } PED_ASSERT (walk != NULL, return); if (last) last->next = walk->next; else fs_aliases = walk->next; free (walk); } /** * Get a PedFileSystemType by its @p name. * * @return @c NULL if none found. */ PedFileSystemType* ped_file_system_type_get (const char* name) { PedFileSystemType* walk; PedFileSystemAlias* alias_walk; PED_ASSERT (name != NULL, return NULL); for (walk = fs_types; walk != NULL; walk = walk->next) { if (!strcasecmp (walk->name, name)) break; } if (walk != NULL) return walk; for (alias_walk = fs_aliases; alias_walk != NULL; alias_walk = alias_walk->next) { if (!strcasecmp (alias_walk->alias, name)) break; } if (alias_walk != NULL) { if (alias_walk->deprecated) PED_DEBUG (0, "File system alias %s is deprecated", name); return alias_walk->fs_type; } return NULL; } /** * Get the next PedFileSystemType after @p fs_type. * * @return @c NULL if @p fs_type is the last item in the list. */ PedFileSystemType* ped_file_system_type_get_next (const PedFileSystemType* fs_type) { if (fs_type) return fs_type->next; else return fs_types; } /** * Get the next PedFileSystemAlias after @p fs_alias. * * @return @c NULL if @p fs_alias is the last item in the list. */ PedFileSystemAlias* ped_file_system_alias_get_next (const PedFileSystemAlias* fs_alias) { if (fs_alias) return fs_alias->next; else return fs_aliases; } /** * Attempt to find a file system and return the region it occupies. * * @param fs_type The file system type to probe for. * @param geom The region to be searched. * * @return @p NULL if @p fs_type file system wasn't detected */ PedGeometry* ped_file_system_probe_specific ( const PedFileSystemType* fs_type, PedGeometry* geom) { PedGeometry* result; PED_ASSERT (fs_type != NULL, return NULL); PED_ASSERT (fs_type->ops->probe != NULL, return NULL); PED_ASSERT (geom != NULL, return NULL); /* Fail all fs-specific probe-related tests when sector size is not the default. */ if (geom->dev->sector_size != PED_SECTOR_SIZE_DEFAULT) return 0; if (!ped_device_open (geom->dev)) return 0; result = fs_type->ops->probe (geom); ped_device_close (geom->dev); return result; } static int _test_open (PedFileSystemType* fs_type, PedGeometry* geom) { PedFileSystem* fs; ped_exception_fetch_all (); fs = fs_type->ops->open (geom); if (fs) fs_type->ops->close (fs); else ped_exception_catch (); ped_exception_leave_all (); return fs != NULL; } static PedFileSystemType* _probe_with_open (PedGeometry* geom, int detected_count, PedFileSystemType* detected[]) { int i; PedFileSystemType* open_detected = NULL; ped_device_open (geom->dev); /* If one and only one file system that Parted is able to open * can be successfully opened on this geometry, return it. * If more than one can be, return NULL. */ for (i=0; iops->open || !_test_open (detected [i], geom)) continue; if (open_detected) { ped_device_close (geom->dev); return NULL; } else { open_detected = detected [i]; } } /* If no file system has been successfully opened, and * if Parted has detected at most one unopenable file system, * return it. */ if (!open_detected) for (i=0; iops->open) continue; if (open_detected) { ped_device_close (geom->dev); return NULL; } else { open_detected = detected [i]; } } ped_device_close (geom->dev); return open_detected; } static int _geometry_error (const PedGeometry* a, const PedGeometry* b) { PedSector start_delta = a->start - b->start; PedSector end_delta = a->end - b->end; return abs (start_delta) + abs (end_delta); } static PedFileSystemType* _best_match (const PedGeometry* geom, PedFileSystemType* detected [], const int detected_error [], int detected_count) { int best_match = 0; int i; PedSector min_error; min_error = PED_MAX (4096, geom->length / 100); for (i = 1; i < detected_count; i++) { if (detected_error [i] < detected_error [best_match]) best_match = i; } /* make sure the best match is significantly better than all the * other matches */ for (i = 0; i < detected_count; i++) { if (i == best_match) continue; if (abs (detected_error [best_match] - detected_error [i]) < min_error) return NULL; } return detected [best_match]; } /** * Attempt to detect a file system in region \p geom. * This function tries to be clever at dealing with ambiguous * situations, such as when one file system was not completely erased before a * new file system was created on top of it. * * \return a new PedFileSystem on success, \c NULL on failure */ PedFileSystemType* ped_file_system_probe (PedGeometry* geom) { PedFileSystemType* detected[32]; int detected_error[32]; int detected_count = 0; PedFileSystemType* walk = NULL; PED_ASSERT (geom != NULL, return NULL); if (!ped_device_open (geom->dev)) return NULL; ped_exception_fetch_all (); while ( (walk = ped_file_system_type_get_next (walk)) ) { PedGeometry* probed; probed = ped_file_system_probe_specific (walk, geom); if (probed) { detected [detected_count] = walk; detected_error [detected_count] = _geometry_error (geom, probed); detected_count++; ped_geometry_destroy (probed); } else { ped_exception_catch (); } } ped_exception_leave_all (); ped_device_close (geom->dev); if (!detected_count) return NULL; walk = _best_match (geom, detected, detected_error, detected_count); if (walk) return walk; return _probe_with_open (geom, detected_count, detected); } /** * This function erases all file system signatures that indicate that a * file system occupies a given region described by \p geom. * After this operation ped_file_system_probe() won't detect any file system. * * \note ped_file_system_create() calls this before creating a new file system. * * \return \c 1 on success, \c 0 on failure */ int ped_file_system_clobber (PedGeometry* geom) { PedFileSystemType* fs_type = NULL; PED_ASSERT (geom != NULL, return 0); if (!ped_device_open (geom->dev)) goto error; ped_exception_fetch_all (); while ((fs_type = ped_file_system_type_get_next (fs_type))) { PedGeometry* probed; if (!fs_type->ops->clobber) continue; probed = ped_file_system_probe_specific (fs_type, geom); if (!probed) { ped_exception_catch (); continue; } ped_geometry_destroy (probed); if (fs_type->ops->clobber && !fs_type->ops->clobber (geom)) { ped_exception_leave_all (); goto error_close_dev; } } ped_device_close (geom->dev); ped_exception_leave_all (); return 1; error_close_dev: ped_device_close (geom->dev); error: return 0; } /* This function erases all signatures that indicate the presence of * a file system in a particular region, without erasing any data * contained inside the "exclude" region. */ static int ped_file_system_clobber_exclude (PedGeometry* geom, const PedGeometry* exclude) { PedGeometry* clobber_geom; int status; if (ped_geometry_test_sector_inside (exclude, geom->start)) return 1; clobber_geom = ped_geometry_duplicate (geom); if (ped_geometry_test_overlap (clobber_geom, exclude)) ped_geometry_set_end (clobber_geom, exclude->start - 1); status = ped_file_system_clobber (clobber_geom); ped_geometry_destroy (clobber_geom); return status; } /** * This function opens the file system stored on \p geom, if it * can find one. * It is often called in the following manner: * \code * fs = ped_file_system_open (&part.geom) * \endcode * * \throws PED_EXCEPTION_ERROR if file system could not be detected * \throws PED_EXCEPTION_ERROR if the file system is bigger than its volume * \throws PED_EXCEPTION_NO_FEATURE if opening of a file system stored on * \p geom is not implemented * * \return a PedFileSystem on success, \c NULL on failure. */ PedFileSystem* ped_file_system_open (PedGeometry* geom) { PedFileSystemType* type; PedFileSystem* fs; PedGeometry* probed_geom; PED_ASSERT (geom != NULL, return NULL); if (!ped_device_open (geom->dev)) goto error; type = ped_file_system_probe (geom); if (!type) { ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Could not detect file system.")); goto error_close_dev; } probed_geom = ped_file_system_probe_specific (type, geom); if (!probed_geom) goto error_close_dev; if (!ped_geometry_test_inside (geom, probed_geom)) { if (ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_IGNORE_CANCEL, _("The file system is bigger than its volume!")) != PED_EXCEPTION_IGNORE) goto error_destroy_probed_geom; } if (!type->ops->open) { ped_exception_throw (PED_EXCEPTION_NO_FEATURE, PED_EXCEPTION_CANCEL, _("Support for opening %s file systems " "is not implemented yet."), type->name); goto error_destroy_probed_geom; } fs = type->ops->open (probed_geom); if (!fs) goto error_destroy_probed_geom; ped_geometry_destroy (probed_geom); return fs; error_destroy_probed_geom: ped_geometry_destroy (probed_geom); error_close_dev: ped_device_close (geom->dev); error: return 0; } /** * This function initializes a new file system of type \p type on * a region described by \p geom, writing out appropriate metadata and * signatures. If \p timer is non-NULL, it is used as the progress meter. * * \throws PED_EXCEPTION_NO_FEATURE if creating file system type \p type * is not implemented yet * * \return a PedFileSystem on success, \c NULL on failure */ PedFileSystem* ped_file_system_create (PedGeometry* geom, const PedFileSystemType* type, PedTimer* timer) { PedFileSystem* fs; PED_ASSERT (geom != NULL, return NULL); PED_ASSERT (type != NULL, return NULL); if (!type->ops->create) { ped_exception_throw (PED_EXCEPTION_NO_FEATURE, PED_EXCEPTION_CANCEL, _("Support for creating %s file systems " "is not implemented yet."), type->name); goto error; } if (!ped_device_open (geom->dev)) goto error; if (!ped_file_system_clobber (geom)) goto error_close_dev; fs = type->ops->create (geom, timer); if (!fs) goto error_close_dev; return fs; error_close_dev: ped_device_close (geom->dev); error: return 0; } /** * Close file system \p fs. * * \return \c 1 on success, \c 0 on failure */ int ped_file_system_close (PedFileSystem* fs) { PedDevice* dev = fs->geom->dev; PED_ASSERT (fs != NULL, goto error_close_dev); if (!fs->type->ops->close (fs)) goto error_close_dev; ped_device_close (dev); return 1; error_close_dev: ped_device_close (dev); return 0; } /** * Check \p fs file system for errors. * * \throws PED_EXCEPTION_NO_FEATURE if checking file system \p fs is * not implemented yet * * \return \c 0 on failure (i.e. unfixed errors) */ int ped_file_system_check (PedFileSystem* fs, PedTimer* timer) { PED_ASSERT (fs != NULL, return 0); if (!fs->type->ops->check) { ped_exception_throw (PED_EXCEPTION_NO_FEATURE, PED_EXCEPTION_CANCEL, _("Support for checking %s file systems " "is not implemented yet."), fs->type->name); return 0; } return fs->type->ops->check (fs, timer); } static int _raw_copy (const PedGeometry* src, PedGeometry* dest, PedTimer* timer) { char* buf; PedSector pos; PED_ASSERT (src != NULL, goto error); PED_ASSERT (dest != NULL, goto error); PED_ASSERT (src->length <= dest->length, goto error); buf = ped_malloc (BUFFER_SIZE * 512); /* FIXME */ if (!buf) goto error; if (!ped_device_open (src->dev)) goto error_free_buf; if (!ped_device_open (dest->dev)) goto error_close_src; for (pos = 0; pos + BUFFER_SIZE < src->length; pos += BUFFER_SIZE) { ped_timer_update (timer, 1.0 * pos / src->length); if (!ped_geometry_read (src, buf, pos, BUFFER_SIZE)) goto error_close_dest; if (!ped_geometry_write (dest, buf, pos, BUFFER_SIZE)) goto error_close_dest; } if (pos < src->length) { ped_timer_update (timer, 1.0 * pos / src->length); if (!ped_geometry_read (src, buf, pos, src->length - pos)) goto error_close_dest; if (!ped_geometry_write (dest, buf, pos, src->length - pos)) goto error_close_dest; } ped_timer_update (timer, 1.0); ped_device_close (src->dev); ped_device_close (dest->dev); free (buf); return 1; error_close_dest: ped_device_close (dest->dev); error_close_src: ped_device_close (src->dev); error_free_buf: free (buf); error: return 0; } static PedFileSystem* _raw_copy_and_resize (const PedFileSystem* fs, PedGeometry* geom, PedTimer* timer) { PedFileSystem* new_fs; PedTimer* sub_timer = NULL; ped_timer_reset (timer); ped_timer_set_state_name (timer, _("raw block copying")); sub_timer = ped_timer_new_nested (timer, 0.95); if (!_raw_copy (fs->geom, geom, sub_timer)) goto error; ped_timer_destroy_nested (sub_timer); new_fs = ped_file_system_open (geom); if (!new_fs) goto error; ped_timer_set_state_name (timer, _("growing file system")); sub_timer = ped_timer_new_nested (timer, 0.05); if (!ped_file_system_resize (new_fs, geom, sub_timer)) goto error_close_new_fs; ped_timer_destroy_nested (sub_timer); return new_fs; error_close_new_fs: ped_file_system_close (new_fs); error: ped_timer_destroy_nested (sub_timer); return NULL; } /** * Create a new file system (of the same type) on \p geom, and * copy the contents of \p fs into the new filesystem. * If \p timer is non-NULL, it is used as the progress meter. * * \throws PED_EXCEPTION_ERROR when trying to copy onto an overlapping partition * \throws PED_EXCEPTION_NO_FEATURE if copying of file system \p fs * is not implemented yet * * \return a new PedFileSystem on success, \c NULL on failure */ PedFileSystem* ped_file_system_copy (PedFileSystem* fs, PedGeometry* geom, PedTimer* timer) { PedFileSystem* new_fs; PED_ASSERT (fs != NULL, return 0); PED_ASSERT (geom != NULL, return 0); if (!ped_device_open (geom->dev)) goto error; if (ped_geometry_test_overlap (fs->geom, geom)) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Can't copy onto an overlapping partition.")); goto error_close_dev; } if (!fs->checked && fs->type->ops->check) { if (!ped_file_system_check (fs, timer)) goto error_close_dev; } if (!ped_file_system_clobber_exclude (geom, fs->geom)) goto error_close_dev; if (!fs->type->ops->copy) { if (fs->type->ops->resize) { if (fs->geom->length <= geom->length) return _raw_copy_and_resize ( fs, (PedGeometry*) geom, timer); ped_exception_throw ( PED_EXCEPTION_NO_FEATURE, PED_EXCEPTION_CANCEL, _("Direct support for copying file systems is " "not yet implemented for %s. However, " "support for resizing is implemented. " "Therefore, the file system can be copied if " "the new partition is at least as big as the " "old one. So, either shrink the partition " "you are trying to copy, or copy to a bigger " "partition."), fs->type->name); goto error_close_dev; } else { ped_exception_throw ( PED_EXCEPTION_NO_FEATURE, PED_EXCEPTION_CANCEL, _("Support for copying %s file systems is not " "implemented yet."), fs->type->name); goto error_close_dev; } } new_fs = fs->type->ops->copy (fs, geom, timer); if (!new_fs) goto error_close_dev; return new_fs; error_close_dev: ped_device_close (geom->dev); error: return NULL;; } /** * Resize \p fs to new geometry \p geom. * * \p geom should satisfy the ped_file_system_get_resize_constraint(). * (This isn't asserted, so it's not a bug not to... just it's likely * to fail ;) If \p timer is non-NULL, it is used as the progress meter. * * \throws PED_EXCEPTION_NO_FEATURE if resizing of file system \p fs * is not implemented yet * * \return \c 0 on failure */ int ped_file_system_resize (PedFileSystem* fs, PedGeometry* geom, PedTimer* timer) { PED_ASSERT (fs != NULL, return 0); PED_ASSERT (geom != NULL, return 0); if (!fs->type->ops->resize) { ped_exception_throw (PED_EXCEPTION_NO_FEATURE, PED_EXCEPTION_CANCEL, _("Support for resizing %s file systems " "is not implemented yet."), fs->type->name); return 0; } if (!fs->checked && fs->type->ops->check) { if (!ped_file_system_check (fs, timer)) return 0; } if (!ped_file_system_clobber_exclude (geom, fs->geom)) return 0; return fs->type->ops->resize (fs, geom, timer); } /** * This function returns a constraint on the region that all file systems * of a particular type \p fs_type created on device \p dev with * ped_file_system_create() must satisfy. For example, FAT16 file systems must * be at least 32 megabytes. * * \return \c NULL on failure */ PedConstraint* ped_file_system_get_create_constraint (const PedFileSystemType* fs_type, const PedDevice* dev) { PED_ASSERT (fs_type != NULL, return NULL); PED_ASSERT (dev != NULL, return NULL); if (!fs_type->ops->get_create_constraint) return NULL; return fs_type->ops->get_create_constraint (dev); } /** * Return a constraint, that represents all of the possible ways the * file system \p fs can be resized with ped_file_system_resize(). * This takes into account the amount of used space on * the filesystem \p fs and the capabilities of the resize algorithm. * Hints: * -# if constraint->start_align->grain_size == 0, or * constraint->start_geom->length == 1, then the start can not be moved * -# constraint->min_size is the minimum size you can resize the partition * to. You might want to tell the user this ;-). * * \return a PedConstraint on success, \c NULL on failure */ PedConstraint* ped_file_system_get_resize_constraint (const PedFileSystem* fs) { PED_ASSERT (fs != NULL, return 0); if (!fs->type->ops->get_resize_constraint) return NULL; return fs->type->ops->get_resize_constraint (fs); } /** * Get the constraint on copying \p fs with ped_file_system_copy() * to somewhere on \p dev. * * \return a PedConstraint on success, \c NULL on failure */ PedConstraint* ped_file_system_get_copy_constraint (const PedFileSystem* fs, const PedDevice* dev) { PedGeometry full_dev; PED_ASSERT (fs != NULL, return NULL); PED_ASSERT (dev != NULL, return NULL); if (fs->type->ops->get_copy_constraint) return fs->type->ops->get_copy_constraint (fs, dev); if (fs->type->ops->resize) { if (!ped_geometry_init (&full_dev, dev, 0, dev->length - 1)) return NULL; return ped_constraint_new ( ped_alignment_any, ped_alignment_any, &full_dev, &full_dev, fs->geom->length, dev->length); } return NULL; } /** @} */ parted-2.3/libparted/timer.c0000644000000000000000000001307211333731662012766 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 2001, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /** \file timer.c */ /** * \addtogroup PedTimer * * \brief A PedTimer keeps track of the progress of a single (possibly * compound) operation. * * The user of libparted constructs a PedTimer, and passes it to libparted * functions that are likely to be expensive operations * (like ped_file_system_resize). Use of timers is optional... you may * pass NULL instead. * * When you create a PedTimer, you must specify a timer handler function. * This will be called when there's an update on how work is progressing. * * Timers may be nested. When a timer is constructed, you can choose * to assign it a parent, along with an estimate of what proportion of * the total (parent's) time will be used in the nested operation. In * this case, the nested timer's handler is internal to libparted, * and simply updates the parent's progress, and calls its handler. * * @{ */ #include #include #include typedef struct { PedTimer* parent; float nest_frac; float start_frac; } NestedContext; /** * \brief Creates a timer. * * Context will be passed in the \p context * argument to the \p handler, when it is invoked. * * \return a new PedTimer */ PedTimer* ped_timer_new (PedTimerHandler* handler, void* context) { PedTimer* timer; PED_ASSERT (handler != NULL, return NULL); timer = (PedTimer*) ped_malloc (sizeof (PedTimer)); if (!timer) return NULL; timer->handler = handler; timer->context = context; ped_timer_reset (timer); return timer; } /** * \brief Destroys a \p timer. */ void ped_timer_destroy (PedTimer* timer) { if (!timer) return; free (timer); } /* This function is used by ped_timer_new_nested() as the timer->handler * function. */ static void _nest_handler (PedTimer* timer, void* context) { NestedContext* ncontext = (NestedContext*) context; ped_timer_update ( ncontext->parent, ncontext->start_frac + ncontext->nest_frac * timer->frac); } /** * \brief Creates a new nested timer. * * This function creates a "nested" timer that describes the progress * of a subtask. \p parent is the parent timer, and \p nested_frac is * the estimated proportion (between 0 and 1) of the time that will be * spent doing the nested timer's operation. The timer should only be * constructed immediately prior to starting the nested operation. * (It will be inaccurate, otherwise). * Updates to the progress of the subtask are propagated * back through to the parent task's timer. * * \return nested timer */ PedTimer* ped_timer_new_nested (PedTimer* parent, float nest_frac) { NestedContext* context; if (!parent) return NULL; PED_ASSERT (nest_frac >= 0.0, return NULL); PED_ASSERT (nest_frac <= 1.0, return NULL); context = (NestedContext*) ped_malloc (sizeof (NestedContext)); if (!context) return NULL; context->parent = parent; context->nest_frac = nest_frac; context->start_frac = parent->frac; return ped_timer_new (_nest_handler, context); } /** * \brief Destroys a nested \p timer. */ void ped_timer_destroy_nested (PedTimer* timer) { if (!timer) return; free (timer->context); ped_timer_destroy (timer); } /** * \internal * * \brief This function calls the update handler, making sure that it has * the latest time. * * First it updates \p timer->now and recomputes \p timer->predicted_end, * and then calls the handler. */ void ped_timer_touch (PedTimer* timer) { if (!timer) return; timer->now = time (NULL); if (timer->now > timer->predicted_end) timer->predicted_end = timer->now; timer->handler (timer, timer->context); } /** * \internal * * \brief This function sets the \p timer into a "start of task" position. * * It resets the \p timer, by setting \p timer->start and \p timer->now * to the current time. */ void ped_timer_reset (PedTimer* timer) { if (!timer) return; timer->start = timer->now = timer->predicted_end = time (NULL); timer->state_name = NULL; timer->frac = 0; ped_timer_touch (timer); } /** * \internal * * \brief This function tells a \p timer what fraction \p frac of the task * has been completed. * * Sets the new \p timer->frac, and calls ped_timer_touch(). */ void ped_timer_update (PedTimer* timer, float frac) { if (!timer) return; timer->now = time (NULL); timer->frac = frac; if (frac) timer->predicted_end = timer->start + (long) ((timer->now - timer->start) / frac); ped_timer_touch (timer); } /** * \internal * * \brief This function changes the description of the current task that the * \p timer describes. * * Sets a new name - \p state_name - for the current "phase" of the operation, * and calls ped_timer_touch(). */ void ped_timer_set_state_name (PedTimer* timer, const char* state_name) { if (!timer) return; timer->state_name = state_name; ped_timer_touch (timer); } /** @} */ parted-2.3/libparted/exception.c0000644000000000000000000001653511370314006013641 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 1999-2000, 2007-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /** \file exception.c */ /** * \addtogroup PedException * * \brief Exception handling. * * There are a few types of exceptions: PED_EXCEPTION_INFORMATION, * PED_EXCEPTION_WARNING, PED_EXCEPTION_ERROR, PED_EXCEPTION_FATAL, * PED_EXCEPTION_BUG. * * They are "thrown" when one of the above events occur while executing * a libparted function. For example, if ped_device_open() fails * because the device doesn't exist, an exception will be thrown. * Exceptions contain text describing what the event was. It will give * at least one option for resolving the exception: PED_EXCEPTION_FIX, * PED_EXCEPTION_YES, PED_EXCEPTION_NO, PED_EXCEPTION_OK, PED_EXCEPTION_RETRY, * PED_EXCEPTION_IGNORE, PED_EXCEPTION_CANCEL. After an exception is thrown, * there are two things that can happen: * * -# an exception handler is called, which selects how the exception should be * resolved (usually by asking the user). Also note: an exception handler may * choose to return PED_EXCEPTION_UNHANDLED. In this case, a default action * will be taken by libparted (respectively the code that threw the * exception). In general, a default action will be "safe". * -# the exception is not handled, because the caller of the function wants to * handle everything itself. In this case, PED_EXCEPTION_UNHANDLED is * returned. * * @{ */ #include #include #include #define N_(String) String #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ #include #include #include int ped_exception = 0; static PedExceptionOption default_handler (PedException* ex); static PedExceptionHandler* ex_handler = default_handler; static PedException* ex = NULL; static int ex_fetch_count = 0; static const char *const type_strings [] = { N_("Information"), N_("Warning"), N_("Error"), N_("Fatal"), N_("Bug"), N_("No Implementation") }; static const char *const option_strings [] = { N_("Fix"), N_("Yes"), N_("No"), N_("OK"), N_("Retry"), N_("Ignore"), N_("Cancel") }; /** * Return a string describing an exception type. */ char* ped_exception_get_type_string (PedExceptionType ex_type) { return (char *) type_strings [ex_type - 1]; } /* FIXME: move this out to the prospective math.c */ /* FIXME: this can probably be done more efficiently */ static int ped_log2 (int n) { int x; PED_ASSERT (n > 0, return -1); for (x=0; 1 << x <= n; x++); return x - 1; } /** * Return a string describing an exception option. */ char* ped_exception_get_option_string (PedExceptionOption ex_opt) { return (char *) option_strings [ped_log2 (ex_opt)]; } static PedExceptionOption default_handler (PedException* e) { if (e->type == PED_EXCEPTION_BUG) fprintf (stderr, _("A bug has been detected in GNU Parted. " "Refer to the web site of parted " "http://www.gnu.org/software/parted/parted.html " "for more information of what could be useful " "for bug submitting! " "Please email a bug report to " "bug-parted@gnu.org containing at least the " "version (%s) and the following message: "), VERSION); else fprintf (stderr, "%s: ", ped_exception_get_type_string (e->type)); fprintf (stderr, "%s\n", e->message); switch (e->options) { case PED_EXCEPTION_OK: case PED_EXCEPTION_CANCEL: case PED_EXCEPTION_IGNORE: return e->options; default: return PED_EXCEPTION_UNHANDLED; } } /** * Set the exception handler. * * The exception handler should return ONE of the options set in ex->options, * indicating the way the event should be resolved. */ void ped_exception_set_handler (PedExceptionHandler* handler) { if (handler) ex_handler = handler; else ex_handler = default_handler; } /** * Get the current exception handler. */ PedExceptionHandler * ped_exception_get_handler (void) { if (ex_handler) return ex_handler; return default_handler; } /** * Assert that the current exception has been resolved. */ void ped_exception_catch () { if (ped_exception) { ped_exception = 0; free (ex->message); free (ex); ex = NULL; } } static PedExceptionOption do_throw () { PedExceptionOption ex_opt; ped_exception = 1; if (ex_fetch_count) { return PED_EXCEPTION_UNHANDLED; } else { ex_opt = ex_handler (ex); ped_exception_catch (); return ex_opt; } } /** * Throw an exception. * * You can also use this in a program using libparted. * "message" is a printf-like format string, so you can do * * \code * ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_RETRY_CANCEL, * "Can't open %s", file_name); * \endcode * * Returns the option selected to resolve the exception. If the exception was * unhandled, PED_EXCEPTION_UNHANDLED is returned. */ PedExceptionOption ped_exception_throw (PedExceptionType ex_type, PedExceptionOption ex_opts, const char* message, ...) { va_list arg_list; int result; static int size = 1000; if (ex) ped_exception_catch (); ex = (PedException*) malloc (sizeof (PedException)); if (!ex) goto no_memory; ex->type = ex_type; ex->options = ex_opts; while (message) { ex->message = (char*) malloc (size * sizeof (char)); if (!ex->message) goto no_memory; va_start (arg_list, message); result = vsnprintf (ex->message, size, message, arg_list); va_end (arg_list); if (result > -1 && result < size) break; size += 10; free (ex->message); } return do_throw (); no_memory: fputs ("Out of memory in exception handler!\n", stderr); va_start (arg_list, message); vfprintf (stderr, message, arg_list); va_end (arg_list); return PED_EXCEPTION_UNHANDLED; } /** * Rethrow an unhandled exception. * This means repeating the last ped_exception_throw() statement. */ PedExceptionOption ped_exception_rethrow () { return do_throw (); } /** * Indicates that exceptions should not go to the exception handler, but * passed up to the calling function(s). All calls to * ped_exception_throw() will return PED_EXCEPTION_UNHANDLED. */ void ped_exception_fetch_all () { ex_fetch_count++; } /** * Indicates that the calling function does not want to accept any * responsibility for exceptions any more. * * \note a caller of that function may still want responsibility, so * ped_exception_throw() may not invoke the exception handler. * * \warning every call to this function must have a preceding * ped_exception_fetch_all(). */ void ped_exception_leave_all () { PED_ASSERT (ex_fetch_count > 0, return); ex_fetch_count--; } /** @} */ parted-2.3/libparted/tests/0000755000000000000000000000000011400006132012677 500000000000000parted-2.3/libparted/tests/common.h0000644000000000000000000000113511370314006014270 00000000000000#include /* Create an empty disk image * * filename: file (with full path) where to write the disk image * size: size of disk image (megabytes) */ char* _create_disk (const off_t size); /* Create a disk label * * dev: device to use when creating the label * type: label type */ PedDisk* _create_disk_label (PedDevice* dev, PedDiskType* type); /* Return if a disk label is implemented * * label: disk label name */ int _implemented_disk_label (const char* label); /* Test specific exception handler * */ PedExceptionOption _test_exception_handler (PedException* e); parted-2.3/libparted/tests/Makefile.am0000644000000000000000000000175711370314006014675 00000000000000# This file is part of GNU Parted # Copyright (C) 1999-2001, 2007-2010 Free Software Foundation, Inc. # # This file may be modified and/or distributed without restriction. TESTS = t1000-label.sh t2000-disk.sh t3000-symlink.sh EXTRA_DIST = $(TESTS) check_PROGRAMS = label disk symlink AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) LDADD = \ $(top_builddir)/libparted/libparted.la \ $(CHECK_LIBS) AM_CPPFLAGS = \ $(CHECK_CFLAGS) \ -I$(top_srcdir)/lib \ -I$(top_srcdir)/include label_SOURCES = common.h common.c label.c disk_SOURCES = common.h common.c disk.c symlink_SOURCES = common.h common.c symlink.c MAINTAINERCLEANFILES = Makefile.in CLEANFILES = old-init.sh all: old-init.sh old-init.sh: Makefile.in rm -f $@-t $@ echo 'PARTED_USABLE_TEST_DIR="$(PARTED_USABLE_TEST_DIR)"' > $@-t echo 'abs_top_srcdir="$(abs_top_srcdir)"' >> $@-t echo 'PATH="$(abs_builddir)$(PATH_SEPARATOR)$$PATH"; export PATH' >> $@-t chmod a-w $@-t mv $@-t $@ TESTS_ENVIRONMENT = \ top_srcdir='$(top_srcdir)' parted-2.3/libparted/tests/t1000-label.sh0000744000000000000000000000200711333731662015016 00000000000000#!/bin/sh # Copyright (C) 2007-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . test_description='run the label unit tests in a directory supporting O_DIRECT' # This wrapper around the ./label binary is used to find a directory # in which one can open a file with the O_DIRECT flag. : ${top_srcdir=../..} . "$top_srcdir/tests/test-lib.sh" test_expect_success \ 'run the actual tests' 'label' test_done parted-2.3/libparted/tests/t3000-symlink.sh0000744000000000000000000000171011357321527015430 00000000000000#!/bin/sh # Copyright (C) 2007-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . test_description='run the /dev/mapper symlink test' # Need root privileges to create a symlink under /dev/mapper. privileges_required_=1 : ${top_srcdir=../..} . "$top_srcdir/tests/test-lib.sh" test_expect_success \ 'run the actual tests' 'symlink' test_done parted-2.3/libparted/tests/Makefile.in0000644000000000000000000014320011400005575014676 00000000000000# Makefile.in generated by automake 1.11a from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # This file is part of GNU Parted # Copyright (C) 1999-2001, 2007-2010 Free Software Foundation, Inc. # # This file may be modified and/or distributed without restriction. VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ check_PROGRAMS = label$(EXEEXT) disk$(EXEEXT) symlink$(EXEEXT) subdir = libparted/tests DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \ $(top_srcdir)/m4/asm-underscore.m4 $(top_srcdir)/m4/assert.m4 \ $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/calloc.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \ $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/dirname.m4 \ $(top_srcdir)/m4/dos.m4 $(top_srcdir)/m4/double-slash-root.m4 \ $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/extensions.m4 \ $(top_srcdir)/m4/fclose.m4 $(top_srcdir)/m4/fcntl-o.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fpending.m4 \ $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getopt.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \ $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/lib-ignore.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \ $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \ $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/long-options.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \ $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/memchr.m4 \ $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \ $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/o-direct.m4 $(top_srcdir)/m4/open.m4 \ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \ $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/readlink.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/safe-read.m4 \ $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \ $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/symlink.m4 \ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \ $(top_srcdir)/m4/version-etc.m4 \ $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \ $(top_srcdir)/m4/wctype_h.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xstrndup.m4 \ $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/lib/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am_disk_OBJECTS = common.$(OBJEXT) disk.$(OBJEXT) disk_OBJECTS = $(am_disk_OBJECTS) disk_LDADD = $(LDADD) am__DEPENDENCIES_1 = disk_DEPENDENCIES = $(top_builddir)/libparted/libparted.la \ $(am__DEPENDENCIES_1) AM_V_lt = $(am__v_lt_$(V)) am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) am__v_lt_0 = --silent am_label_OBJECTS = common.$(OBJEXT) label.$(OBJEXT) label_OBJECTS = $(am_label_OBJECTS) label_LDADD = $(LDADD) label_DEPENDENCIES = $(top_builddir)/libparted/libparted.la \ $(am__DEPENDENCIES_1) am_symlink_OBJECTS = common.$(OBJEXT) symlink.$(OBJEXT) symlink_OBJECTS = $(am_symlink_OBJECTS) symlink_LDADD = $(LDADD) symlink_DEPENDENCIES = $(top_builddir)/libparted/libparted.la \ $(am__DEPENDENCIES_1) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/lib depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_$(V)) am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) am__v_CC_0 = @echo " CC " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_$(V)) am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) am__v_CCLD_0 = @echo " CCLD " $@; AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; SOURCES = $(disk_SOURCES) $(label_SOURCES) $(symlink_SOURCES) DIST_SOURCES = $(disk_SOURCES) $(label_SOURCES) $(symlink_SOURCES) ETAGS = etags CTAGS = ctags # If stdout is a non-dumb tty, use colors. If test -t is not supported, # then this fails; a conservative approach. Of course do not redirect # stdout here, just stderr. am__tty_colors = \ red=; grn=; lgn=; blu=; std=; \ test "X$(AM_COLOR_TESTS)" != Xno \ && test "X$$TERM" != Xdumb \ && { test "X$(AM_COLOR_TESTS)" = Xalways || test -t 1 2>/dev/null; } \ && { \ red=''; \ grn=''; \ lgn=''; \ blu=''; \ std=''; \ } am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' # Restructured Text title and section. am__rst_title = sed 's/.*/ & /;h;s/./=/g;p;x;p;g;p;s/.*//' am__rst_section = sed 'p;s/./=/g;p;g' # Put stdin (possibly several lines separated by ". ") in a box. am__text_box = $(AWK) '{ \ n = split($$0, lines, "\\. "); max = 0; \ for (i = 1; i <= n; ++i) \ if (max < length(lines[i])) \ max = length(lines[i]); \ for (i = 0; i < max; ++i) line = line "="; \ print line; \ for (i = 1; i <= n; ++i) if (lines[i]) print lines[i];\ print line; \ }' # Solaris 10 'make', and several other traditional 'make' implementations, # pass "-e" to $(SHELL). This contradicts POSIX. Work around the problem # by disabling -e (using the XSI extension "set +e") if it's set. am__sh_e_setup = case $$- in *e*) set +e;; esac # To be inserted before the command running the test. Creates the # directory for the log if needed. Stores in $dir the directory # containing $f, in $tst the test, in $log the log, and passes # TESTS_ENVIRONMENT. Save and restore TERM around use of # TESTS_ENVIRONMENT, in case that unsets it. am__check_pre = \ $(am__sh_e_setup); \ $(am__vpath_adj_setup) $(am__vpath_adj) \ srcdir=$(srcdir); export srcdir; \ rm -f $@-t; \ am__trap='rm -f '\''$(abs_builddir)/$@-t'\''; (exit $$st); exit $$st'; \ trap "st=129; $$am__trap" 1; trap "st=130; $$am__trap" 2; \ trap "st=141; $$am__trap" 13; trap "st=143; $$am__trap" 15; \ am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`; \ test "x$$am__odir" = x. || $(MKDIR_P) "$$am__odir" || exit $$?; \ if test -f "./$$f"; then dir=./; \ elif test -f "$$f"; then dir=; \ else dir="$(srcdir)/"; fi; \ tst=$$dir$$f; log='$@'; __SAVED_TERM=$$TERM; \ $(TESTS_ENVIRONMENT) RECHECK_LOGS = $(TEST_LOGS) AM_RECURSIVE_TARGETS = check check-html recheck recheck-html TEST_SUITE_LOG = test-suite.log TEST_SUITE_HTML = $(TEST_SUITE_LOG:.log=.html) TEST_EXTENSIONS = @EXEEXT@ .test LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) am__test_logs1 = $(TESTS:=.log) am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) TEST_LOGS = $(am__test_logs2:.test.log=.log) TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ $(TEST_LOG_FLAGS) TEST_LOGS_TMP = $(TEST_LOGS:.log=.log-t) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ BUILDINFO = @BUILDINFO@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ CONFIG_INCLUDE = @CONFIG_INCLUDE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DL_LIBS = @DL_LIBS@ DM_LIBS = @DM_LIBS@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENABLE_DEVICE_MAPPER = @ENABLE_DEVICE_MAPPER@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPURGE = @GNULIB_FPURGE@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSTATAT = @GNULIB_FSTATAT@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETGROUPS = @GNULIB_GETGROUPS@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMCHR = @GNULIB_MEMCHR@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDIRAT = @GNULIB_MKDIRAT@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKFIFO = @GNULIB_MKFIFO@ GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@ GNULIB_MKNOD = @GNULIB_MKNOD@ GNULIB_MKNODAT = @GNULIB_MKNODAT@ GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PTSNAME = @GNULIB_PTSNAME@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ GNULIB_RMDIR = @GNULIB_RMDIR@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STAT = @GNULIB_STAT@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNCAT = @GNULIB_STRNCAT@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRPTIME = @GNULIB_STRPTIME@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNLINK = @GNULIB_UNLINK@ GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_USLEEP = @GNULIB_USLEEP@ GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_FUTIMENS = @HAVE_FUTIMENS@ HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETGROUPS = @HAVE_GETGROUPS@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@ HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@ HAVE_LANGINFO_H = @HAVE_LANGINFO_H@ HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LCHOWN = @HAVE_LCHOWN@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LOCALTIME_R = @HAVE_LOCALTIME_R@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_MKFIFO = @HAVE_MKFIFO@ HAVE_MKFIFOAT = @HAVE_MKFIFOAT@ HAVE_MKNOD = @HAVE_MKNOD@ HAVE_MKNODAT = @HAVE_MKNODAT@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ HAVE_OS_H = @HAVE_OS_H@ HAVE_PIPE2 = @HAVE_PIPE2@ HAVE_PREAD = @HAVE_PREAD@ HAVE_PTSNAME = @HAVE_PTSNAME@ HAVE_PWRITE = @HAVE_PWRITE@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TTYNAME_R = @HAVE_TTYNAME_R@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_USLEEP = @HAVE_USLEEP@ HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ HAVE_WCRTOMB = @HAVE_WCRTOMB@ HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE__BOOL = @HAVE__BOOL@ IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ INTLINCS = @INTLINCS@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ LIBTOOL = @LIBTOOL@ LIB_BLKID = @LIB_BLKID@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@ LOCALE_JA = @LOCALE_JA@ LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTALLOCA = @LTALLOCA@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ NEXT_WCTYPE_H = @NEXT_WCTYPE_H@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OS = @OS@ OS_LIBS = @OS_LIBS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PARTEDLDFLAGS = @PARTEDLDFLAGS@ PARTED_LIBS = @PARTED_LIBS@ PARTED_USABLE_TEST_DIR = @PARTED_USABLE_TEST_DIR@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POSUB = @POSUB@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PRIPTR_PREFIX = @PRIPTR_PREFIX@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REISER_LIBS = @REISER_LIBS@ REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FSTAT = @REPLACE_FSTAT@ REPLACE_FSTATAT = @REPLACE_FSTATAT@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ REPLACE_MBRLEN = @REPLACE_MBRLEN@ REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ REPLACE_MBSINIT = @REPLACE_MBSINIT@ REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_OPENAT = @REPLACE_OPENAT@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALPATH = @REPLACE_REALPATH@ REPLACE_REMOVE = @REPLACE_REMOVE@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRNCAT = @REPLACE_STRNCAT@ REPLACE_STRNDUP = @REPLACE_STRNDUP@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ REPLACE_UNSETENV = @REPLACE_UNSETENV@ REPLACE_USLEEP = @REPLACE_USLEEP@ REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ SELINUX_LIBS = @SELINUX_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_NLS = @USE_NLS@ UUID_LIBS = @UUID_LIBS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_aux_dir = @abs_aux_dir@ 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@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ gltests_WITNESS = @gltests_WITNESS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ TESTS = t1000-label.sh t2000-disk.sh t3000-symlink.sh EXTRA_DIST = $(TESTS) AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) LDADD = \ $(top_builddir)/libparted/libparted.la \ $(CHECK_LIBS) AM_CPPFLAGS = \ $(CHECK_CFLAGS) \ -I$(top_srcdir)/lib \ -I$(top_srcdir)/include label_SOURCES = common.h common.c label.c disk_SOURCES = common.h common.c disk.c symlink_SOURCES = common.h common.c symlink.c MAINTAINERCLEANFILES = Makefile.in CLEANFILES = old-init.sh TESTS_ENVIRONMENT = \ top_srcdir='$(top_srcdir)' all: all-am .SUFFIXES: .SUFFIXES: .c .html .lo .log .o .obj .test .test$(EXEEXT) $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libparted/tests/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu libparted/tests/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-checkPROGRAMS: @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list disk$(EXEEXT): $(disk_OBJECTS) $(disk_DEPENDENCIES) @rm -f disk$(EXEEXT) $(AM_V_CCLD)$(LINK) $(disk_OBJECTS) $(disk_LDADD) $(LIBS) label$(EXEEXT): $(label_OBJECTS) $(label_DEPENDENCIES) @rm -f label$(EXEEXT) $(AM_V_CCLD)$(LINK) $(label_OBJECTS) $(label_LDADD) $(LIBS) symlink$(EXEEXT): $(symlink_OBJECTS) $(symlink_DEPENDENCIES) @rm -f symlink$(EXEEXT) $(AM_V_CCLD)$(LINK) $(symlink_OBJECTS) $(symlink_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/common.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/disk.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/label.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/symlink.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: $(HEADERS) $(SOURCES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags # To be appended to the command running the test. Handle the stdout # and stderr redirection, and catch the exit status. am__check_post = \ >$@-t 2>&1; \ estatus=$$?; \ if test -n '$(DISABLE_HARD_ERRORS)' \ && test $$estatus -eq 99; then \ estatus=1; \ fi; \ TERM=$$__SAVED_TERM; export TERM; \ $(am__tty_colors); \ xfailed=PASS; \ case " $(XFAIL_TESTS) " in \ *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ xfailed=XFAIL;; \ esac; \ case $$estatus:$$xfailed in \ 0:XFAIL) col=$$red; res=XPASS;; \ 0:*) col=$$grn; res=PASS ;; \ 77:*) col=$$blu; res=SKIP ;; \ 99:*) col=$$red; res=FAIL ;; \ *:XFAIL) col=$$lgn; res=XFAIL;; \ *:*) col=$$red; res=FAIL ;; \ esac; \ echo "$${col}$$res$${std}: $$f"; \ echo "$$res: $$f (exit: $$estatus)" | \ $(am__rst_section) >$@; \ cat $@-t >>$@; \ rm -f $@-t $(TEST_SUITE_LOG): $(TEST_LOGS) @$(am__sh_e_setup); \ list='$(TEST_LOGS)'; \ results=`for f in $$list; do \ read line < $$f && echo "$$line" || echo FAIL; \ done`; \ all=`echo "$$results" | sed '/^$$/d' | wc -l | sed -e 's/^[ ]*//'`; \ fail=`echo "$$results" | grep -c '^FAIL'`; \ pass=`echo "$$results" | grep -c '^PASS'`; \ skip=`echo "$$results" | grep -c '^SKIP'`; \ xfail=`echo "$$results" | grep -c '^XFAIL'`; \ xpass=`echo "$$results" | grep -c '^XPASS'`; \ failures=`expr $$fail + $$xpass`; \ all=`expr $$all - $$skip`; \ if test "$$all" -eq 1; then tests=test; All=; \ else tests=tests; All="All "; fi; \ case fail=$$fail:xpass=$$xpass:xfail=$$xfail in \ fail=0:xpass=0:xfail=0) \ msg="$$All$$all $$tests passed. "; \ exit=true;; \ fail=0:xpass=0:xfail=*) \ msg="$$All$$all $$tests behaved as expected"; \ if test "$$xfail" -eq 1; then xfailures=failure; \ else xfailures=failures; fi; \ msg="$$msg ($$xfail expected $$xfailures). "; \ exit=true;; \ fail=*:xpass=0:xfail=*) \ msg="$$fail of $$all $$tests failed. "; \ exit=false;; \ fail=*:xpass=*:xfail=*) \ msg="$$failures of $$all $$tests did not behave as expected"; \ if test "$$xpass" -eq 1; then xpasses=pass; \ else xpasses=passes; fi; \ msg="$$msg ($$xpass unexpected $$xpasses). "; \ exit=false;; \ *) \ echo >&2 "incorrect case"; exit 4;; \ esac; \ if test "$$skip" -ne 0; then \ if test "$$skip" -eq 1; then \ msg="$$msg($$skip test was not run). "; \ else \ msg="$$msg($$skip tests were not run). "; \ fi; \ fi; \ { \ echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ $(am__rst_title); \ echo "$$msg"; \ echo; \ echo ".. contents:: :depth: 2"; \ echo; \ for f in $$list; do \ read line < $$f; \ case $$line in \ PASS:*|XFAIL:*);; \ *) echo; cat $$f;; \ esac; \ done; \ } >$(TEST_SUITE_LOG).tmp; \ mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ if test "$$failures" -ne 0; then \ msg="$${msg}See $(subdir)/$(TEST_SUITE_LOG). "; \ if test -n "$(PACKAGE_BUGREPORT)"; then \ msg="$${msg}Please report to $(PACKAGE_BUGREPORT). "; \ fi; \ fi; \ test x"$$VERBOSE" = x || $$exit || cat $(TEST_SUITE_LOG); \ $(am__tty_colors); \ if $$exit; then \ echo $(ECHO_N) "$$grn$(ECHO_C)"; \ else \ echo $(ECHO_N) "$$red$(ECHO_C)"; \ fi; \ echo "$$msg" | $(am__text_box); \ echo $(ECHO_N) "$$std$(ECHO_C)"; \ $$exit # Run all the tests. check-TESTS: @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @list='$(TEST_LOGS)'; \ list=`for f in $$list; do \ test .log = $$f || echo $$f; \ done | tr '\012\015' ' '`; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$list" .log.html: @list='$(RST2HTML) $$RST2HTML rst2html rst2html.py'; \ for r2h in $$list; do \ if ($$r2h --version) >/dev/null 2>&1; then \ R2H=$$r2h; \ fi; \ done; \ if test -z "$$R2H"; then \ echo >&2 "cannot find rst2html, cannot create $@"; \ exit 2; \ fi; \ $$R2H $< >$@.tmp @mv $@.tmp $@ # Be sure to run check first, and then to convert the result. # Beware of concurrent executions. Run "check" not "check-TESTS", as # check-SCRIPTS and other dependencies are rebuilt by the former only. # And expect check to fail. check-html: @if $(MAKE) $(AM_MAKEFLAGS) check; then \ rv=0; else rv=$$?; \ fi; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_HTML) || exit 4; \ exit $$rv recheck recheck-html: @target=`echo $@ | sed 's,^re,,'`; \ list='$(TEST_LOGS)'; \ list=`for f in $$list; do \ test -f $$f || continue; \ if read line < $$f; then \ case $$line in FAIL*|XPASS*) echo $$f;; esac; \ else echo $$f; fi; \ done | tr '\012\015' ' '`; \ $(MAKE) $(AM_MAKEFLAGS) $$target AM_MAKEFLAGS='$(AM_MAKEFLAGS) TEST_LOGS="'"$$list"'"' t1000-label.sh.log: t1000-label.sh @p='t1000-label.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t2000-disk.sh.log: t2000-disk.sh @p='t2000-disk.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t3000-symlink.sh.log: t3000-symlink.sh @p='t3000-symlink.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) .test.log: @p='$<'; $(am__check_pre) $(TEST_LOG_COMPILE) "$$tst" $(am__check_post) @am__EXEEXT_TRUE@.test$(EXEEXT).log: @am__EXEEXT_TRUE@ @p='$<'; $(am__check_pre) $(TEST_LOG_COMPILE) "$$tst" $(am__check_post) distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) -test -z "$(TEST_LOGS_TMP)" || rm -f $(TEST_LOGS_TMP) -test -z "$(TEST_SUITE_HTML)" || rm -f $(TEST_SUITE_HTML) -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-checkPROGRAMS clean-generic clean-libtool \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: check-am check-html install-am install-strip recheck \ recheck-html .PHONY: CTAGS GTAGS all all-am check check-TESTS check-am check-html \ clean clean-checkPROGRAMS clean-generic clean-libtool \ cscopelist ctags distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ recheck recheck-html tags uninstall uninstall-am all: old-init.sh old-init.sh: Makefile.in rm -f $@-t $@ echo 'PARTED_USABLE_TEST_DIR="$(PARTED_USABLE_TEST_DIR)"' > $@-t echo 'abs_top_srcdir="$(abs_top_srcdir)"' >> $@-t echo 'PATH="$(abs_builddir)$(PATH_SEPARATOR)$$PATH"; export PATH' >> $@-t chmod a-w $@-t mv $@-t $@ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: parted-2.3/libparted/tests/symlink.c0000644000000000000000000001024711357321527014500 00000000000000/* Sometimes libparted operates on device mapper files, with a path of /dev/mapper/foo. With newer lvm versions /dev/mapper/foo is a symlink to /dev/dm-#. However some storage administration programs (anaconda for example) may do the following: 1) Create a ped_device for /dev/mapper/foo 2) ped_get_device resolves the symlink to /dev/dm-#, and the path in the PedDevice struct points to /dev/dm-# 3) The program does some things to lvm, causing the symlink to point to a different /dev/dm-# node 4) The program does something with the PedDevice, which results in an operation on the wrong device Newer libparted versions do not suffer from this problem, as they do not canonicalize device names under /dev/mapper. This test checks for this bug. */ #include #include #include #include #include "common.h" #include "progname.h" static char *temporary_disk; static void create_disk (void) { temporary_disk = _create_disk (4096 * 1024); fail_if (temporary_disk == NULL, "Failed to create temporary disk"); } static void destroy_disk (void) { unlink (temporary_disk); free (temporary_disk); } START_TEST (test_symlink) { char cwd[256], ln[256] = "/dev/mapper/parted-test-XXXXXX"; if (!getcwd (cwd, sizeof cwd)) { fail ("Could not get cwd"); return; } /* Create a symlink under /dev/mapper to our temporary disk */ int tmp_fd = mkstemp (ln); if (tmp_fd == -1) { fail ("Could not create tempfile"); return; } /* There is a temp file vulnerability symlink attack possibility here, but as /dev/mapper is root owned this is a non issue */ close (tmp_fd); unlink (ln); char temp_disk_path[256]; snprintf (temp_disk_path, sizeof temp_disk_path, "%s/%s", cwd, temporary_disk); int res = symlink (temp_disk_path, ln); if (res) { fail ("could not create symlink"); return; } PedDevice *dev = ped_device_get (ln); if (dev == NULL) goto exit_unlink_ln; /* Create a second temporary_disk */ char *temporary_disk2 = _create_disk (4096 * 1024); if (temporary_disk2 == NULL) { fail ("Failed to create 2nd temporary disk"); goto exit_destroy_dev; } /* Remove first temporary disk, and make temporary_disk point to temporary_disk2 (for destroy_disk()). */ unlink (temporary_disk); free (temporary_disk); temporary_disk = temporary_disk2; /* Update symlink to point to our new / second temporary disk */ unlink (ln); snprintf (temp_disk_path, sizeof temp_disk_path, "%s/%s", cwd, temporary_disk); res = symlink (temp_disk_path, ln); if (res) { fail ("could not create 2nd symlink"); goto exit_destroy_dev; } /* Do something to our PedDevice, if the symlink was resolved, instead of remembering the /dev/mapper/foo name, this will fail */ ped_disk_clobber (dev); exit_destroy_dev: ped_device_destroy (dev); exit_unlink_ln: unlink (ln); } END_TEST int main (int argc, char **argv) { set_program_name (argv[0]); int number_failed; Suite* suite = suite_create ("Symlink"); TCase* tcase_symlink = tcase_create ("/dev/mapper symlink"); /* Fail when an exception is raised */ ped_exception_set_handler (_test_exception_handler); tcase_add_checked_fixture (tcase_symlink, create_disk, destroy_disk); tcase_add_test (tcase_symlink, test_symlink); /* Disable timeout for this test */ tcase_set_timeout (tcase_symlink, 0); suite_add_tcase (suite, tcase_symlink); SRunner* srunner = srunner_create (suite); srunner_run_all (srunner, CK_VERBOSE); number_failed = srunner_ntests_failed (srunner); srunner_free (srunner); return (number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE; } parted-2.3/libparted/tests/t2000-disk.sh0000744000000000000000000000200511333731662014670 00000000000000#!/bin/sh # Copyright (C) 2007-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . test_description='run the disk unit tests in a directory supporting O_DIRECT' # This wrapper around the ./label binary is used to find a directory # in which one can open a file with the O_DIRECT flag. : ${top_srcdir=../..} . "$top_srcdir/tests/test-lib.sh" test_expect_success \ 'run the actual tests' 'disk' test_done parted-2.3/libparted/tests/disk.c0000644000000000000000000000723111261072715013737 00000000000000#include #include #include #include #include "common.h" #include "progname.h" #include "xstrtol.h" static char* temporary_disk; static size_t get_sector_size (void) { char *p = getenv ("PARTED_SECTOR_SIZE"); size_t ss = 512; unsigned long val; if (p && xstrtoul (p, NULL, 10, &val, NULL) == LONGINT_OK && val % 512 == 0) ss = val; return ss; } static void create_disk (void) { temporary_disk = _create_disk (get_sector_size () * 4 * 10 * 1024); fail_if (temporary_disk == NULL, "Failed to create temporary disk"); } static void destroy_disk (void) { unlink (temporary_disk); free (temporary_disk); } /* TEST: Create a disklabel on a simple disk image */ START_TEST (test_duplicate) { PedDevice* dev = ped_device_get (temporary_disk); if (dev == NULL) return; PedDisk* disk; PedDisk* disk_dup; PedPartition *part; PedPartition *part_dup; PedConstraint *constraint; int part_num[] = {1, 5, 6, 0}; disk = _create_disk_label (dev, ped_disk_type_get ("msdos")); constraint = ped_constraint_any (dev); /* Primary partition from 16,4kB to 15MB */ part = ped_partition_new (disk, PED_PARTITION_EXTENDED, NULL, 32, 29311); ped_disk_add_partition (disk, part, constraint); /* Logical partition from 10MB to 15MB */ part = ped_partition_new (disk, PED_PARTITION_LOGICAL, ped_file_system_type_get ("ext2"), 19584, 29311); ped_disk_add_partition (disk, part, constraint); /* Logical partition from 16,4kB to 4981kB */ part = ped_partition_new (disk, PED_PARTITION_LOGICAL, ped_file_system_type_get ("ext2"), 32, 9727); ped_disk_add_partition (disk, part, constraint); ped_disk_commit (disk); ped_constraint_destroy (constraint); disk_dup = ped_disk_duplicate (disk); /* Checks if both partitions match */ for (int *i = part_num; *i != 0; i++) { part = ped_disk_get_partition (disk, *i); part_dup = ped_disk_get_partition (disk_dup, *i); fail_if (part->geom.start != part_dup->geom.start || part->geom.end != part_dup->geom.end, "Duplicated partition %d doesn't match. " "Details are start: %d/%d end: %d/%d\n", *i, part->geom.start, part_dup->geom.start, part->geom.end, part_dup->geom.end); } ped_disk_destroy (disk); ped_device_destroy (dev); } END_TEST int main (int argc, char **argv) { set_program_name (argv[0]); int number_failed; Suite* suite = suite_create ("Disk"); TCase* tcase_duplicate = tcase_create ("Duplicate"); /* Fail when an exception is raised */ ped_exception_set_handler (_test_exception_handler); tcase_add_checked_fixture (tcase_duplicate, create_disk, destroy_disk); tcase_add_test (tcase_duplicate, test_duplicate); /* Disable timeout for this test */ tcase_set_timeout (tcase_duplicate, 0); suite_add_tcase (suite, tcase_duplicate); SRunner* srunner = srunner_create (suite); srunner_run_all (srunner, CK_VERBOSE); number_failed = srunner_ntests_failed (srunner); srunner_free (srunner); return (number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE; } parted-2.3/libparted/tests/label.c0000644000000000000000000001426211303030141014046 00000000000000#include #include #include #include #include "common.h" #include "progname.h" #define STREQ(a, b) (strcmp (a, b) == 0) static char* temporary_disk; static void create_disk (void) { temporary_disk = _create_disk (80 * 1024 * 1024); fail_if (temporary_disk == NULL, "Failed to create temporary disk"); } static void destroy_disk (void) { unlink (temporary_disk); free (temporary_disk); } /* TEST: Create a disklabel on a simple disk image */ START_TEST (test_create_label) { PedDevice* dev = ped_device_get (temporary_disk); if (dev == NULL) return; PedDiskType* type; PedDisk* disk; for (type = ped_disk_type_get_next (NULL); type; type = ped_disk_type_get_next (type)) { fprintf (stderr, "create label: %s\n", type->name); fflush (stderr); if (!_implemented_disk_label (type->name)) continue; disk = _create_disk_label (dev, type); ped_disk_destroy (disk); } ped_device_destroy (dev); } END_TEST /* TEST: Probe the disk label of a loop device. */ START_TEST (test_probe_label) { PedDevice* dev = ped_device_get (temporary_disk); if (dev == NULL) return; PedDiskType* probed; PedDiskType* type; PedDisk* disk; for (type = ped_disk_type_get_next (NULL); type; type = ped_disk_type_get_next (type)) { fprintf (stderr, "PROBE label: %s\n", type->name); fflush (stderr); if (!_implemented_disk_label (type->name)) continue; disk = _create_disk_label (dev, type); ped_disk_destroy (disk); /* Try to probe the disk label. */ probed = ped_disk_probe (dev); fail_if (!probed, "Failed to probe the just created label of type: %s", type->name); if (probed && !STREQ (probed->name, type->name)) fail_if (1, "Probe returned label of type: %s as type: %s", type->name, probed->name); } ped_device_destroy (dev); } END_TEST /* TEST: Read the disk label of a loop device. */ START_TEST (test_read_label) { PedDevice* dev = ped_device_get (temporary_disk); if (dev == NULL) return; PedDiskType* type; PedDisk* disk; for (type = ped_disk_type_get_next (NULL); type; type = ped_disk_type_get_next (type)) { fprintf (stderr, "read label: %s\n", type->name); fflush (stderr); if (!_implemented_disk_label (type->name)) continue; disk = _create_disk_label (dev, type); ped_disk_destroy (disk); /* Try to read the disk label. */ disk = ped_disk_new (dev); fail_if (!disk, "Failed to read the just created label of type: %s", type->name); if (disk && !STREQ (disk->type->name, type->name)) fail_if (1, "Read returned label of type: %s as type: %s", type->name, disk->type->name); ped_disk_destroy (disk); } ped_device_destroy (dev); } END_TEST /* TEST: Clone the disk label of a loop device. */ START_TEST (test_clone_label) { PedDevice* dev = ped_device_get (temporary_disk); if (dev == NULL) return; PedDiskType* type; for (type = ped_disk_type_get_next (NULL); type; type = ped_disk_type_get_next (type)) { fprintf (stderr, "clone label: %s\n", type->name); fflush (stderr); if (!_implemented_disk_label (type->name)) continue; PedDisk* disk = _create_disk_label (dev, type); /* Try to clone the disk label. */ PedDisk* clone = ped_disk_duplicate (disk); fail_if (!clone, "Failed to clone the just created label of type: %s", type->name); ped_disk_destroy (clone); ped_disk_destroy (disk); } ped_device_destroy (dev); } END_TEST int main (int argc, char **argv) { set_program_name (argv[0]); int number_failed; Suite* suite = suite_create ("Disk Label"); TCase* tcase_basic = tcase_create ("Create"); TCase* tcase_probe = tcase_create ("Probe"); TCase* tcase_read = tcase_create ("Read"); TCase* tcase_clone = tcase_create ("Clone"); /* Fail when an exception is raised */ ped_exception_set_handler (_test_exception_handler); tcase_add_checked_fixture (tcase_basic, create_disk, destroy_disk); tcase_add_test (tcase_basic, test_create_label); /* Disable timeout for this test */ tcase_set_timeout (tcase_basic, 0); suite_add_tcase (suite, tcase_basic); tcase_add_checked_fixture (tcase_probe, create_disk, destroy_disk); tcase_add_test (tcase_probe, test_probe_label); /* Disable timeout for this test. */ tcase_set_timeout (tcase_probe, 0); suite_add_tcase (suite, tcase_probe); tcase_add_checked_fixture (tcase_read, create_disk, destroy_disk); tcase_add_test (tcase_read, test_read_label); /* Disable timeout for this test. */ tcase_set_timeout (tcase_read, 0); suite_add_tcase (suite, tcase_read); tcase_add_checked_fixture (tcase_clone, create_disk, destroy_disk); tcase_add_test (tcase_clone, test_clone_label); /* Disable timeout for this test. */ tcase_set_timeout (tcase_clone, 0); suite_add_tcase (suite, tcase_clone); SRunner* srunner = srunner_create (suite); srunner_run_all (srunner, CK_VERBOSE); number_failed = srunner_ntests_failed (srunner); srunner_free (srunner); return (number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE; } parted-2.3/libparted/tests/common.c0000644000000000000000000000335311346231173014275 00000000000000#include #include #include #include #include #include #include "common.h" #define STREQ(a, b) (strcmp (a, b) == 0) PedExceptionOption _test_exception_handler (PedException* e) { fail ("Exception of type %s has been raised: %s", ped_exception_get_type_string (e->type), e->message); return PED_EXCEPTION_UNHANDLED; } char* _create_disk (const off_t n_bytes) { char* filename = strdup ("parted-test-XXXXXX"); if (filename == NULL) return NULL; int fd = mkstemp (filename); if (fd < 0) { free_filename: free (filename); return NULL; } FILE* disk = fdopen (fd, "w"); if (disk == NULL) goto free_filename; int fail = (fseek (disk, n_bytes, SEEK_SET) != 0 || fwrite ("", sizeof (char), 1, disk) != 1); if (fclose (disk) != 0 || fail) goto free_filename; return filename; } PedDisk* _create_disk_label (PedDevice *dev, PedDiskType *type) { PedDisk* disk = NULL; /* Create the label */ disk = ped_disk_new_fresh (dev, type); fail_if (!disk, "Failed to create a label of type: %s", type->name); fail_if (!ped_disk_commit(disk), "Failed to commit label to device"); return disk; } int _implemented_disk_label (const char *label) { /* FIXME: these have minor problems, so skip them, temporarily. */ if (STREQ (label, "amiga")) return 0; /* Not implemented yet */ if (STREQ (label, "aix")) return 0; if (STREQ (label, "pc98")) return 0; return 1; } parted-2.3/libparted/device.c0000644000000000000000000003742711370314006013105 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 1999 - 2001, 2005, 2007-2009 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /** \file device.c */ /** * \addtogroup PedDevice * * \brief Device access. * * When ped_device_probe_all() is called, libparted attempts to detect all * devices. It constructs a list which can be accessed with * ped_device_get_next(). * * If you want to use a device that isn't on the list, use * ped_device_get(). Also, there may be OS-specific constructors, for creating * devices from file descriptors, stores, etc. For example, * ped_device_new_from_store(). * * @{ */ #include #include #include #include #include #include #include #include "architecture.h" static PedDevice* devices; /* legal advice says: initialized to NULL, under section 6.7.8 part 10 of ISO/EIC 9899:1999 */ static void _device_register (PedDevice* dev) { PedDevice* walk; for (walk = devices; walk && walk->next; walk = walk->next); if (walk) walk->next = dev; else devices = dev; dev->next = NULL; } static void _device_unregister (PedDevice* dev) { PedDevice* walk; PedDevice* last = NULL; for (walk = devices; walk != NULL; last = walk, walk = walk->next) { if (walk == dev) break; } /* This function may be called twice for the same device if a libparted user explictly removes the device from the cache using ped_device_cache_remove(), we get called and it then becomes the user's responsibility to free the PedDevice by calling ped_device_destroy(). ped_device_destroy() will then call us a second time, so if the device is not found in the list do nothing. */ if (walk == NULL) return; if (last) last->next = dev->next; else devices = dev->next; } /** * Returns the next device that was detected by ped_device_probe_all(), or * calls to ped_device_get_next(). * If dev is NULL, returns the first device. * * \return NULL if dev is the last device. */ PedDevice* ped_device_get_next (const PedDevice* dev) { if (dev) return dev->next; else return devices; } void _ped_device_probe (const char* path) { PedDevice* dev; PED_ASSERT (path != NULL, return); ped_exception_fetch_all (); dev = ped_device_get (path); if (!dev) ped_exception_catch (); ped_exception_leave_all (); } /** * Attempts to detect all devices. */ void ped_device_probe_all () { ped_architecture->dev_ops->probe_all (); } /** * Close/free all devices. * Called by ped_done(), so you do not need to worry about it. */ void ped_device_free_all () { while (devices) ped_device_destroy (devices); } /** * Gets the device "name", where name is usually the block device, e.g. * /dev/sdb. If the device wasn't detected with ped_device_probe_all(), * an attempt will be made to detect it again. If it is found, it will * be added to the list. */ PedDevice* ped_device_get (const char* path) { PedDevice* walk; char* normal_path = NULL; PED_ASSERT (path != NULL, return NULL); /* Don't canonicalize /dev/mapper paths, see tests/symlink.c */ if (strncmp (path, "/dev/mapper/", 12)) normal_path = canonicalize_file_name (path); if (!normal_path) /* Well, maybe it is just that the file does not exist. * Try it anyway. */ normal_path = strdup (path); if (!normal_path) return NULL; for (walk = devices; walk != NULL; walk = walk->next) { if (!strcmp (walk->path, normal_path)) { free (normal_path); return walk; } } walk = ped_architecture->dev_ops->_new (normal_path); free (normal_path); if (!walk) return NULL; _device_register (walk); return walk; } /** * Destroys a device and removes it from the device list, and frees * all resources associated with the device (all resources allocated * when the device was created). */ void ped_device_destroy (PedDevice* dev) { _device_unregister (dev); while (dev->open_count) { if (!ped_device_close (dev)) break; } ped_architecture->dev_ops->destroy (dev); } void ped_device_cache_remove(PedDevice *dev) { _device_unregister (dev); } int ped_device_is_busy (PedDevice* dev) { return ped_architecture->dev_ops->is_busy (dev); } /** * Attempt to open a device to allow use of read, write and sync functions. * * The meaning of "open" is architecture-dependent. Apart from requesting * access to the device from the operating system, it does things like flushing * caches. * \note May allocate resources. Any resources allocated here will * be freed by a final ped_device_close(). (ped_device_open() may be * called multiple times -- it's a ref-count-like mechanism) * * \return zero on failure */ int ped_device_open (PedDevice* dev) { int status; PED_ASSERT (dev != NULL, return 0); PED_ASSERT (!dev->external_mode, return 0); if (dev->open_count) status = ped_architecture->dev_ops->refresh_open (dev); else status = ped_architecture->dev_ops->open (dev); if (status) dev->open_count++; return status; } /** * Close dev. * If this is the final close, then resources allocated by * ped_device_open() are freed. * * \return zero on failure */ int ped_device_close (PedDevice* dev) { PED_ASSERT (dev != NULL, return 0); PED_ASSERT (!dev->external_mode, return 0); PED_ASSERT (dev->open_count > 0, return 0); if (--dev->open_count) return ped_architecture->dev_ops->refresh_close (dev); else return ped_architecture->dev_ops->close (dev); } /** * Begins external access mode. External access mode allows you to * safely do IO on the device. If a PedDevice is open, then you should * not do any IO on that device, e.g. by calling an external program * like e2fsck, unless you put it in external access mode. You should * not use any libparted commands that do IO to a device, e.g. * ped_file_system_{open|resize|copy}, ped_disk_{read|write}), while * a device is in external access mode. * Also, you should not ped_device_close() a device, while it is * in external access mode. * Note: ped_device_begin_external_access_mode() does things like * tell the kernel to flush its caches. * * Close a device while pretending it is still open. * This is useful for temporarily suspending libparted access to the device * in order for an external program to access it. * (Running external programs while the device is open can cause cache * coherency problems.) * * In particular, this function keeps track of dev->open_count, so that * reference counting isn't screwed up. * * \return zero on failure. */ int ped_device_begin_external_access (PedDevice* dev) { PED_ASSERT (dev != NULL, return 0); PED_ASSERT (!dev->external_mode, return 0); dev->external_mode = 1; if (dev->open_count) return ped_architecture->dev_ops->close (dev); else return 1; } /** * \brief Complementary function to ped_device_begin_external_access. * * \note does things like tell the kernel to flush the device's cache. * * \return zero on failure. */ int ped_device_end_external_access (PedDevice* dev) { PED_ASSERT (dev != NULL, return 0); PED_ASSERT (dev->external_mode, return 0); dev->external_mode = 0; if (dev->open_count) return ped_architecture->dev_ops->open (dev); else return 1; } /** * \internal Read count sectors from dev into buffer, beginning with sector * start. * * \return zero on failure. */ int ped_device_read (const PedDevice* dev, void* buffer, PedSector start, PedSector count) { PED_ASSERT (dev != NULL, return 0); PED_ASSERT (buffer != NULL, return 0); PED_ASSERT (!dev->external_mode, return 0); PED_ASSERT (dev->open_count > 0, return 0); return (ped_architecture->dev_ops->read) (dev, buffer, start, count); } /** * \internal Write count sectors from buffer to dev, starting at sector * start. * * \return zero on failure. * * \sa PedDevice::sector_size * \sa PedDevice::phys_sector_size */ int ped_device_write (PedDevice* dev, const void* buffer, PedSector start, PedSector count) { PED_ASSERT (dev != NULL, return 0); PED_ASSERT (buffer != NULL, return 0); PED_ASSERT (!dev->external_mode, return 0); PED_ASSERT (dev->open_count > 0, return 0); return (ped_architecture->dev_ops->write) (dev, buffer, start, count); } PedSector ped_device_check (PedDevice* dev, void* buffer, PedSector start, PedSector count) { PED_ASSERT (dev != NULL, return 0); PED_ASSERT (!dev->external_mode, return 0); PED_ASSERT (dev->open_count > 0, return 0); return (ped_architecture->dev_ops->check) (dev, buffer, start, count); } /** * \internal Flushes all write-behind caches that might be holding up * writes. * It is slow because it guarantees cache coherency among all relevant caches. * * \return zero on failure */ int ped_device_sync (PedDevice* dev) { PED_ASSERT (dev != NULL, return 0); PED_ASSERT (!dev->external_mode, return 0); PED_ASSERT (dev->open_count > 0, return 0); return ped_architecture->dev_ops->sync (dev); } /** * \internal Flushes all write-behind caches that might be holding writes. * \warning Does NOT ensure cache coherency with other caches. * If you need cache coherency, use ped_device_sync() instead. * * \return zero on failure */ int ped_device_sync_fast (PedDevice* dev) { PED_ASSERT (dev != NULL, return 0); PED_ASSERT (!dev->external_mode, return 0); PED_ASSERT (dev->open_count > 0, return 0); return ped_architecture->dev_ops->sync_fast (dev); } /** * Get a constraint that represents hardware requirements on geometry. * This function will return a constraint representing the limits imposed * by the size of the disk, it will *not* provide any alignment constraints. * * Alignment constraints may be desirable when using media that have a physical * sector size that is a multiple of the logical sector size, as in this case * proper partition alignment can benefit disk performance signigicantly. * When you want a constraint with alignment info, use * ped_device_get_minimal_aligned_constraint() or * ped_device_get_optimal_aligned_constraint(). * * \return NULL on error, otherwise a pointer to a dynamically allocated * constraint. */ PedConstraint* ped_device_get_constraint (const PedDevice* dev) { PedGeometry *s, *e; PedConstraint* c = ped_constraint_new ( ped_alignment_any, ped_alignment_any, s = ped_geometry_new (dev, 0, dev->length), e = ped_geometry_new (dev, 0, dev->length), 1, dev->length); free (s); free (e); return c; } static PedConstraint* _ped_device_get_aligned_constraint(const PedDevice *dev, PedAlignment* start_align) { PedAlignment *end_align = NULL; PedGeometry *whole_dev_geom = NULL; PedConstraint *c = NULL; if (start_align) { end_align = ped_alignment_new(start_align->offset - 1, start_align->grain_size); if (!end_align) goto free_start_align; } whole_dev_geom = ped_geometry_new (dev, 0, dev->length); if (start_align) c = ped_constraint_new (start_align, end_align, whole_dev_geom, whole_dev_geom, 1, dev->length); else c = ped_constraint_new (ped_alignment_any, ped_alignment_any, whole_dev_geom, whole_dev_geom, 1, dev->length); free (whole_dev_geom); free (end_align); free_start_align: free (start_align); return c; } /** * Get a constraint that represents hardware requirements on geometry and * alignment. * * This function will return a constraint representing the limits imposed * by the size of the disk and the minimal alignment requirements for proper * performance of the disk. * * \return NULL on error, otherwise a pointer to a dynamically allocated * constraint. */ PedConstraint* ped_device_get_minimal_aligned_constraint(const PedDevice *dev) { return _ped_device_get_aligned_constraint(dev, ped_device_get_minimum_alignment(dev)); } /** * Get a constraint that represents hardware requirements on geometry and * alignment. * * This function will return a constraint representing the limits imposed * by the size of the disk and the alignment requirements for optimal * performance of the disk. * * \return NULL on error, otherwise a pointer to a dynamically allocated * constraint. */ PedConstraint* ped_device_get_optimal_aligned_constraint(const PedDevice *dev) { return _ped_device_get_aligned_constraint(dev, ped_device_get_optimum_alignment(dev)); } /** * Get an alignment that represents minimum hardware requirements on alignment. * When for example using media that has a physical sector size that is a * multiple of the logical sector size, it is desirable to have disk accesses * (and thus partitions) properly aligned. Having partitions not aligned to * the minimum hardware requirements may lead to a performance penalty. * * The returned alignment describes the alignment for the start sector of the * partition, the end sector should be aligned too, to get the end sector * alignment decrease the returned alignment's offset by 1. * * \return the minimum alignment of partition start sectors, or NULL if this * information is not available. */ PedAlignment* ped_device_get_minimum_alignment(const PedDevice *dev) { PedAlignment *align = NULL; if (ped_architecture->dev_ops->get_minimum_alignment) align = ped_architecture->dev_ops->get_minimum_alignment(dev); if (align == NULL) align = ped_alignment_new(0, dev->phys_sector_size / dev->sector_size); return align; } /** * Get an alignment that represents the hardware requirements for optimal * performance. * * The returned alignment describes the alignment for the start sector of the * partition, the end sector should be aligned too, to get the end sector * alignment decrease the returned alignment's offset by 1. * * \return the optimal alignment of partition start sectors, or NULL if this * information is not available. */ PedAlignment* ped_device_get_optimum_alignment(const PedDevice *dev) { PedAlignment *align = NULL; if (ped_architecture->dev_ops->get_optimum_alignment) align = ped_architecture->dev_ops->get_optimum_alignment(dev); /* If the arch specific code could not give as an alignment return a default value based on the type of device. */ if (align == NULL) { switch (dev->type) { case PED_DEVICE_DASD: align = ped_device_get_minimum_alignment(dev); break; default: /* Align to a grain of 1MiB (like vista / win7) */ align = ped_alignment_new(0, 1048576 / dev->sector_size); } } return align; } /** @} */ parted-2.3/libparted/Makefile.am0000644000000000000000000000262711335463115013537 00000000000000# This file is part of GNU Parted # Copyright (C) 1999-2001, 2007, 2009-2010 Free Software Foundation, # Inc. # # This file may be modified and/or distributed without restriction. SUBDIRS_CHECK = if HAVE_CHECK SUBDIRS_CHECK += tests endif ARCH_SOURCE = arch/$(OS).c if BUILD_LINUX ARCH_SOURCE += arch/$(OS).h endif AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) SUBDIRS = labels fs . $(SUBDIRS_CHECK) partedincludedir = -I$(top_srcdir)/lib -I$(top_srcdir)/include lib_LTLIBRARIES = libparted.la # Set the shared library version, per Libtool's guidelines. # For details, see the "Libtool's versioning system" section of "info libtool" CURRENT = 0 REVISION = 1 AGE = 0 libparted_la_LDFLAGS = -version-info $(CURRENT):$(REVISION):$(AGE) libparted_la_SOURCES = debug.c \ architecture.c \ architecture.h \ device.c \ exception.c \ filesys.c \ libparted.c \ timer.c \ unit.c \ disk.c \ cs/geom.c \ cs/constraint.c \ cs/natmath.c \ $(ARCH_SOURCE) EXTRA_libparted_la_SOURCES = arch/linux.c \ arch/linux.h \ arch/gnu.c \ arch/beos.c libparted_la_LIBADD = \ fs/libfs.la \ labels/liblabels.la \ $(top_builddir)/lib/libgnulib.la \ $(OS_LIBS) \ $(DL_LIBS) \ $(DM_LIBS) \ $(SELINUX_LIBS) \ $(LIB_BLKID) \ $(INTLLIBS) EXTRA_DIST = mbr.s INCLUDES = $(partedincludedir) $(INTLINCS) MAINTAINERCLEANFILES = Makefile.in parted-2.3/libparted/labels/0000755000000000000000000000000011400006132012777 500000000000000parted-2.3/libparted/labels/bsd.c0000644000000000000000000004104111337744564013666 00000000000000/* -*- Mode: c; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- libparted - a library for manipulating disk partitions Copyright (C) 2000-2001, 2007-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Contributor: Matt Wilson */ #include #include #include #include #include #include #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ #include "misc.h" #include "pt-tools.h" /* struct's & #define's stolen from libfdisk, which probably came from * Linux... */ #define BSD_DISKMAGIC (0x82564557UL) /* The disk magic number */ #define BSD_MAXPARTITIONS 8 #define BSD_FS_UNUSED 0 /* disklabel unused partition entry ID */ #define BSD_LABEL_OFFSET 64 #define BSD_DTYPE_SMD 1 /* SMD, XSMD; VAX hp/up */ #define BSD_DTYPE_MSCP 2 /* MSCP */ #define BSD_DTYPE_DEC 3 /* other DEC (rk, rl) */ #define BSD_DTYPE_SCSI 4 /* SCSI */ #define BSD_DTYPE_ESDI 5 /* ESDI interface */ #define BSD_DTYPE_ST506 6 /* ST506 etc. */ #define BSD_DTYPE_HPIB 7 /* CS/80 on HP-IB */ #define BSD_DTYPE_HPFL 8 /* HP Fiber-link */ #define BSD_DTYPE_FLOPPY 10 /* floppy */ #define BSD_BBSIZE 8192 /* size of boot area, with label */ #define BSD_SBSIZE 8192 /* max size of fs superblock */ typedef struct _BSDRawPartition BSDRawPartition; typedef struct _BSDRawLabel BSDRawLabel; struct _BSDRawPartition { /* the partition table */ uint32_t p_size; /* number of sectors in partition */ uint32_t p_offset; /* starting sector */ uint32_t p_fsize; /* file system basic fragment size */ uint8_t p_fstype; /* file system type, see below */ uint8_t p_frag; /* file system fragments per block */ uint16_t p_cpg; /* file system cylinders per group */ } __attribute__((packed)); struct _BSDRawLabel { uint32_t d_magic; /* the magic number */ int16_t d_type; /* drive type */ int16_t d_subtype; /* controller/d_type specific */ int8_t d_typename[16]; /* type name, e.g. "eagle" */ int8_t d_packname[16]; /* pack identifier */ uint32_t d_secsize; /* # of bytes per sector */ uint32_t d_nsectors; /* # of data sectors per track */ uint32_t d_ntracks; /* # of tracks per cylinder */ uint32_t d_ncylinders; /* # of data cylinders per unit */ uint32_t d_secpercyl; /* # of data sectors per cylinder */ uint32_t d_secperunit; /* # of data sectors per unit */ uint16_t d_sparespertrack; /* # of spare sectors per track */ uint16_t d_sparespercyl; /* # of spare sectors per cylinder */ uint32_t d_acylinders; /* # of alt. cylinders per unit */ uint16_t d_rpm; /* rotational speed */ uint16_t d_interleave; /* hardware sector interleave */ uint16_t d_trackskew; /* sector 0 skew, per track */ uint16_t d_cylskew; /* sector 0 skew, per cylinder */ uint32_t d_headswitch; /* head switch time, usec */ uint32_t d_trkseek; /* track-to-track seek, usec */ uint32_t d_flags; /* generic flags */ #define NDDATA 5 uint32_t d_drivedata[NDDATA]; /* drive-type specific information */ #define NSPARE 5 uint32_t d_spare[NSPARE]; /* reserved for future use */ uint32_t d_magic2; /* the magic number (again) */ uint16_t d_checksum; /* xor of data incl. partitions */ /* file system and partition information: */ uint16_t d_npartitions; /* number of partitions in following */ uint32_t d_bbsize; /* size of boot area at sn0, bytes */ uint32_t d_sbsize; /* max size of fs superblock, bytes */ BSDRawPartition d_partitions[BSD_MAXPARTITIONS]; /* actually may be more */ } __attribute__((packed)); typedef struct { char boot_code [512]; } BSDDiskData; typedef struct { uint8_t type; int boot; int raid; int lvm; } BSDPartitionData; static PedDiskType bsd_disk_type; /* XXX fixme: endian? */ static unsigned short xbsd_dkcksum (BSDRawLabel *lp) { unsigned short *start, *end; unsigned short sum = 0; lp->d_checksum = 0; start = (u_short*) lp; end = (u_short*) &lp->d_partitions [ PED_LE16_TO_CPU (lp->d_npartitions)]; while (start < end) sum ^= *start++; return sum; } /* XXX fixme: endian? */ static void alpha_bootblock_checksum (char *boot) { uint64_t *dp, sum; int i; dp = (uint64_t *)boot; sum = 0; for (i = 0; i < 63; i++) sum += dp[i]; dp[63] = sum; } static int bsd_probe (const PedDevice *dev) { BSDRawLabel *partition; PED_ASSERT (dev != NULL, return 0); if (dev->sector_size < 512) return 0; void *label; if (!ptt_read_sector (dev, 0, &label)) return 0; partition = (BSDRawLabel *) ((char *) label + BSD_LABEL_OFFSET); alpha_bootblock_checksum(label); /* check magic */ bool found = PED_LE32_TO_CPU (partition->d_magic) == BSD_DISKMAGIC; free (label); return found; } static PedDisk* bsd_alloc (const PedDevice* dev) { PedDisk* disk; BSDDiskData* bsd_specific; BSDRawLabel* label; PED_ASSERT(dev->sector_size % PED_SECTOR_SIZE_DEFAULT == 0, return 0); disk = _ped_disk_alloc ((PedDevice*)dev, &bsd_disk_type); if (!disk) goto error; disk->disk_specific = bsd_specific = ped_malloc (sizeof (BSDDiskData)); if (!bsd_specific) goto error_free_disk; /* Initialize the first byte to zero, so that the code in bsd_write knows to call _probe_and_add_boot_code. Initializing all of the remaining buffer is a little wasteful, but the alternative is to figure out why a block at offset 340 would otherwise be used uninitialized. */ memset(bsd_specific->boot_code, 0, sizeof (bsd_specific->boot_code)); label = (BSDRawLabel*) (bsd_specific->boot_code + BSD_LABEL_OFFSET); label->d_magic = PED_CPU_TO_LE32 (BSD_DISKMAGIC); label->d_type = PED_CPU_TO_LE16 (BSD_DTYPE_SCSI); label->d_flags = 0; label->d_secsize = PED_CPU_TO_LE16 (dev->sector_size); label->d_nsectors = PED_CPU_TO_LE32 (dev->bios_geom.sectors); label->d_ntracks = PED_CPU_TO_LE32 (dev->bios_geom.heads); label->d_ncylinders = PED_CPU_TO_LE32 (dev->bios_geom.cylinders); label->d_secpercyl = PED_CPU_TO_LE32 (dev->bios_geom.sectors * dev->bios_geom.heads); label->d_secperunit = PED_CPU_TO_LE32 (dev->bios_geom.sectors * dev->bios_geom.heads * dev->bios_geom.cylinders); label->d_rpm = PED_CPU_TO_LE16 (3600); label->d_interleave = PED_CPU_TO_LE16 (1);; label->d_trackskew = 0; label->d_cylskew = 0; label->d_headswitch = 0; label->d_trkseek = 0; label->d_magic2 = PED_CPU_TO_LE32 (BSD_DISKMAGIC); label->d_bbsize = PED_CPU_TO_LE32 (BSD_BBSIZE); label->d_sbsize = PED_CPU_TO_LE32 (BSD_SBSIZE); label->d_npartitions = 0; label->d_checksum = xbsd_dkcksum (label); return disk; error_free_disk: free (disk); error: return NULL; } static PedDisk* bsd_duplicate (const PedDisk* disk) { PedDisk* new_disk; BSDDiskData* new_bsd_data; BSDDiskData* old_bsd_data = (BSDDiskData*) disk->disk_specific; new_disk = ped_disk_new_fresh (disk->dev, &bsd_disk_type); if (!new_disk) return NULL; new_bsd_data = (BSDDiskData*) new_disk->disk_specific; memcpy (new_bsd_data->boot_code, old_bsd_data->boot_code, 512); return new_disk; } static void bsd_free (PedDisk* disk) { free (disk->disk_specific); _ped_disk_free (disk); } static int bsd_read (PedDisk* disk) { BSDDiskData* bsd_specific = (BSDDiskData*) disk->disk_specific; BSDRawLabel* label; int i; ped_disk_delete_all (disk); void *s0; if (!ptt_read_sector (disk->dev, 0, &s0)) return 0; memcpy (bsd_specific->boot_code, s0, sizeof (bsd_specific->boot_code)); free (s0); label = (BSDRawLabel *) (bsd_specific->boot_code + BSD_LABEL_OFFSET); for (i = 1; i <= BSD_MAXPARTITIONS; i++) { PedPartition* part; BSDPartitionData* bsd_part_data; PedSector start; PedSector end; PedConstraint* constraint_exact; if (!label->d_partitions[i - 1].p_size || !label->d_partitions[i - 1].p_fstype) continue; start = PED_LE32_TO_CPU(label->d_partitions[i - 1].p_offset); end = PED_LE32_TO_CPU(label->d_partitions[i - 1].p_offset) + PED_LE32_TO_CPU(label->d_partitions[i - 1].p_size) - 1; part = ped_partition_new (disk, PED_PARTITION_NORMAL, NULL, start, end); if (!part) goto error; bsd_part_data = part->disk_specific; bsd_part_data->type = label->d_partitions[i - 1].p_fstype; part->num = i; part->fs_type = ped_file_system_probe (&part->geom); constraint_exact = ped_constraint_exact (&part->geom); if (!ped_disk_add_partition (disk, part, constraint_exact)) goto error; ped_constraint_destroy (constraint_exact); } return 1; error: return 0; } static void _probe_and_add_boot_code (const PedDisk* disk) { void *s0; if (!ptt_read_sector (disk->dev, 0, &s0)) return; char *old_boot_code = s0; BSDRawLabel *old_label = (BSDRawLabel*) (old_boot_code + BSD_LABEL_OFFSET); if (old_boot_code [0] && old_label->d_magic == PED_CPU_TO_LE32 (BSD_DISKMAGIC)) { BSDDiskData *bsd_specific = (BSDDiskData*) disk->disk_specific; memcpy (bsd_specific->boot_code, old_boot_code, sizeof (BSDDiskData)); } free (s0); } #ifndef DISCOVER_ONLY static int bsd_write (const PedDisk* disk) { BSDDiskData* bsd_specific; BSDRawLabel* label; BSDPartitionData* bsd_data; PedPartition* part; int i; int max_part = 0; PED_ASSERT (disk != NULL, return 0); PED_ASSERT (disk->dev != NULL, return 0); bsd_specific = (BSDDiskData*) disk->disk_specific; label = (BSDRawLabel *) (bsd_specific->boot_code + BSD_LABEL_OFFSET); if (!bsd_specific->boot_code [0]) _probe_and_add_boot_code (disk); memset (label->d_partitions, 0, sizeof (BSDRawPartition) * BSD_MAXPARTITIONS); for (i = 1; i <= BSD_MAXPARTITIONS; i++) { part = ped_disk_get_partition (disk, i); if (!part) continue; bsd_data = part->disk_specific; label->d_partitions[i - 1].p_fstype = bsd_data->type; label->d_partitions[i - 1].p_offset = PED_CPU_TO_LE32 (part->geom.start); label->d_partitions[i - 1].p_size = PED_CPU_TO_LE32 (part->geom.length); max_part = i; } label->d_npartitions = PED_CPU_TO_LE16 (max_part) + 1; label->d_checksum = xbsd_dkcksum (label); alpha_bootblock_checksum (bsd_specific->boot_code); if (!ptt_write_sector (disk, bsd_specific->boot_code, sizeof (BSDDiskData))) goto error; return ped_device_sync (disk->dev); error: return 0; } #endif /* !DISCOVER_ONLY */ static PedPartition* bsd_partition_new (const PedDisk* disk, PedPartitionType part_type, const PedFileSystemType* fs_type, PedSector start, PedSector end) { PedPartition* part; BSDPartitionData* bsd_data; part = _ped_partition_alloc (disk, part_type, fs_type, start, end); if (!part) goto error; if (ped_partition_is_active (part)) { part->disk_specific = bsd_data = ped_malloc (sizeof (BSDPartitionData)); if (!bsd_data) goto error_free_part; bsd_data->type = 0; bsd_data->boot = 0; bsd_data->raid = 0; bsd_data->lvm = 0; } else { part->disk_specific = NULL; } return part; error_free_part: free (part); error: return 0; } static PedPartition* bsd_partition_duplicate (const PedPartition* part) { PedPartition* new_part; BSDPartitionData* new_bsd_data; BSDPartitionData* old_bsd_data; new_part = ped_partition_new (part->disk, part->type, part->fs_type, part->geom.start, part->geom.end); if (!new_part) return NULL; new_part->num = part->num; old_bsd_data = (BSDPartitionData*) part->disk_specific; new_bsd_data = (BSDPartitionData*) new_part->disk_specific; new_bsd_data->type = old_bsd_data->type; new_bsd_data->boot = old_bsd_data->boot; new_bsd_data->raid = old_bsd_data->raid; new_bsd_data->lvm = old_bsd_data->lvm; return new_part; } static void bsd_partition_destroy (PedPartition* part) { PED_ASSERT (part != NULL, return); if (ped_partition_is_active (part)) free (part->disk_specific); _ped_partition_free (part); } static int bsd_partition_set_system (PedPartition* part, const PedFileSystemType* fs_type) { BSDPartitionData* bsd_data = part->disk_specific; part->fs_type = fs_type; if (!fs_type) bsd_data->type = 0x8; else if (is_linux_swap (fs_type->name)) bsd_data->type = 0x1; else bsd_data->type = 0x8; return 1; } static int bsd_partition_set_flag (PedPartition* part, PedPartitionFlag flag, int state) { // PedPartition* walk; // since -Werror, this unused variable would break build BSDPartitionData* bsd_data; PED_ASSERT (part != NULL, return 0); PED_ASSERT (part->disk_specific != NULL, return 0); PED_ASSERT (part->disk != NULL, return 0); bsd_data = part->disk_specific; switch (flag) { case PED_PARTITION_BOOT: bsd_data->boot = state; return 1; case PED_PARTITION_RAID: if (state) { bsd_data->lvm = 0; } bsd_data->raid = state; return 1; case PED_PARTITION_LVM: if (state) { bsd_data->raid = 0; } bsd_data->lvm = state; default: ; } return 0; } static int bsd_partition_get_flag (const PedPartition* part, PedPartitionFlag flag) { BSDPartitionData* bsd_data; PED_ASSERT (part != NULL, return 0); PED_ASSERT (part->disk_specific != NULL, return 0); bsd_data = part->disk_specific; switch (flag) { case PED_PARTITION_BOOT: return bsd_data->boot; case PED_PARTITION_RAID: return bsd_data->raid; case PED_PARTITION_LVM: return bsd_data->lvm; default: ; } return 0; } static int bsd_partition_is_flag_available (const PedPartition* part, PedPartitionFlag flag) { switch (flag) { case PED_PARTITION_BOOT: case PED_PARTITION_RAID: case PED_PARTITION_LVM: return 1; default: ; } return 0; } static int bsd_get_max_primary_partition_count (const PedDisk* disk) { return BSD_MAXPARTITIONS; } static bool bsd_get_max_supported_partition_count(const PedDisk* disk, int *max_n) { *max_n = BSD_MAXPARTITIONS; return true; } static PedConstraint* _get_constraint (const PedDevice* dev) { PedGeometry max; ped_geometry_init (&max, dev, 1, dev->length - 1); return ped_constraint_new_from_max (&max); } static int bsd_partition_align (PedPartition* part, const PedConstraint* constraint) { if (_ped_partition_attempt_align (part, constraint, _get_constraint (part->disk->dev))) return 1; #ifndef DISCOVER_ONLY ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Unable to satisfy all constraints on the partition.")); #endif return 0; } static int bsd_partition_enumerate (PedPartition* part) { int i; PedPartition* p; /* never change the partition numbers */ if (part->num != -1) return 1; for (i = 1; i <= BSD_MAXPARTITIONS; i++) { p = ped_disk_get_partition (part->disk, i); if (!p) { part->num = i; return 1; } } /* failed to allocate a number */ #ifndef DISCOVER_ONLY ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Unable to allocate a bsd disklabel slot.")); #endif return 0; } static int bsd_alloc_metadata (PedDisk* disk) { PedPartition* new_part; PedConstraint* constraint_any = NULL; PED_ASSERT (disk != NULL, goto error); PED_ASSERT (disk->dev != NULL, goto error); constraint_any = ped_constraint_any (disk->dev); /* allocate 1 sector for the disk label at the start */ new_part = ped_partition_new (disk, PED_PARTITION_METADATA, NULL, 0, 0); if (!new_part) goto error; if (!ped_disk_add_partition (disk, new_part, constraint_any)) { ped_partition_destroy (new_part); goto error; } ped_constraint_destroy (constraint_any); return 1; error: ped_constraint_destroy (constraint_any); return 0; } #include "pt-common.h" PT_define_limit_functions (bsd) static PedDiskOps bsd_disk_ops = { clobber: NULL, write: NULL_IF_DISCOVER_ONLY (bsd_write), partition_set_name: NULL, partition_get_name: NULL, PT_op_function_initializers (bsd) }; static PedDiskType bsd_disk_type = { next: NULL, name: "bsd", ops: &bsd_disk_ops, features: 0 }; void ped_disk_bsd_init () { PED_ASSERT (sizeof (BSDRawPartition) == 16, return); PED_ASSERT (sizeof (BSDRawLabel) == 276, return); ped_disk_type_register (&bsd_disk_type); } void ped_disk_bsd_done () { ped_disk_type_unregister (&bsd_disk_type); } parted-2.3/libparted/labels/pt-common.h0000644000000000000000000000413411307757277015040 00000000000000/* Factor some of the duplication out of *.c. */ #ifdef DISCOVER_ONLY # define NULL_IF_DISCOVER_ONLY(val) NULL #else # define NULL_IF_DISCOVER_ONLY(val) val #endif #define PT_define_limit_functions(PT_type) \ \ static bool \ PT_type##_partition_check (const PedPartition *part) \ { \ return ptt_partition_max_start_len (#PT_type, part); \ } \ \ static PedSector \ PT_type##_partition_max_start_sector (void) \ { \ PedSector max; \ int err = ptt_partition_max_start_sector (#PT_type, &max); \ PED_ASSERT (err == 0, return 0); \ return max; \ } \ \ static PedSector \ PT_type##_partition_max_length (void) \ { \ PedSector max; \ int err = ptt_partition_max_length (#PT_type, &max); \ PED_ASSERT (err == 0, return 0); \ return max; \ } #define PT_op_function_initializers(PT_type) \ probe: PT_type##_probe, \ alloc: PT_type##_alloc, \ duplicate: PT_type##_duplicate, \ free: PT_type##_free, \ read: PT_type##_read, \ partition_new: PT_type##_partition_new, \ partition_duplicate: PT_type##_partition_duplicate, \ partition_set_flag: PT_type##_partition_set_flag, \ partition_get_flag: PT_type##_partition_get_flag, \ partition_set_system: PT_type##_partition_set_system, \ partition_is_flag_available: PT_type##_partition_is_flag_available, \ partition_align: PT_type##_partition_align, \ partition_destroy: PT_type##_partition_destroy, \ partition_enumerate: PT_type##_partition_enumerate, \ alloc_metadata: PT_type##_alloc_metadata, \ get_max_primary_partition_count: PT_type##_get_max_primary_partition_count, \ get_max_supported_partition_count:PT_type##_get_max_supported_partition_count,\ partition_check: PT_type##_partition_check, \ max_length: PT_type##_partition_max_length, \ max_start_sector: PT_type##_partition_max_start_sector parted-2.3/libparted/labels/vtoc.c0000644000000000000000000007001611371762233014064 00000000000000#include #include #ifdef DEBUG_DASD #define PDEBUG fprintf(stderr, "%s:%d:%s\n", \ __FILE__, \ __LINE__, \ __PRETTY_FUNCTION__); #else #define PDEBUG #endif #include #include #if ENABLE_NLS # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ static const unsigned char EBCtoASC[256] = { /* 0x00 NUL SOH STX ETX *SEL HT *RNL DEL */ 0x00, 0x01, 0x02, 0x03, 0x07, 0x09, 0x07, 0x7F, /* 0x08 -GE -SPS -RPT VT FF CR SO SI */ 0x07, 0x07, 0x07, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, /* 0x10 DLE DC1 DC2 DC3 -RES -NL BS -POC -ENP ->LF */ 0x10, 0x11, 0x12, 0x13, 0x07, 0x0A, 0x08, 0x07, /* 0x18 CAN EM -UBS -CU1 -IFS -IGS -IRS -ITB -IUS */ 0x18, 0x19, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, /* 0x20 -DS -SOS FS -WUS -BYP LF ETB ESC -INP */ 0x07, 0x07, 0x1C, 0x07, 0x07, 0x0A, 0x17, 0x1B, /* 0x28 -SA -SFE -SM -CSP -MFA ENQ ACK BEL -SW */ 0x07, 0x07, 0x07, 0x07, 0x07, 0x05, 0x06, 0x07, /* 0x30 ---- ---- SYN -IR -PP -TRN -NBS EOT */ 0x07, 0x07, 0x16, 0x07, 0x07, 0x07, 0x07, 0x04, /* 0x38 -SBS -IT -RFF -CU3 DC4 NAK ---- SUB */ 0x07, 0x07, 0x07, 0x07, 0x14, 0x15, 0x07, 0x1A, /* 0x40 SP RSP ä ---- */ 0x20, 0xFF, 0x83, 0x84, 0x85, 0xA0, 0x07, 0x86, /* 0x48 . < ( + | */ 0x87, 0xA4, 0x9B, 0x2E, 0x3C, 0x28, 0x2B, 0x7C, /* 0x50 & ---- */ 0x26, 0x82, 0x88, 0x89, 0x8A, 0xA1, 0x8C, 0x07, /* 0x58 ß ! $ * ) ; */ 0x8D, 0xE1, 0x21, 0x24, 0x2A, 0x29, 0x3B, 0xAA, /* 0x60 - / ---- Ä ---- ---- ---- */ 0x2D, 0x2F, 0x07, 0x8E, 0x07, 0x07, 0x07, 0x8F, /* 0x68 ---- , % _ > ? */ 0x80, 0xA5, 0x07, 0x2C, 0x25, 0x5F, 0x3E, 0x3F, /* 0x70 --- ---- ---- ---- ---- ---- ---- */ 0x07, 0x90, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, /* 0x78 * ` : # @ ' = " */ 0x70, 0x60, 0x3A, 0x23, 0x40, 0x27, 0x3D, 0x22, /* 0x80 * a b c d e f g */ 0x07, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, /* 0x88 h i ---- ---- ---- */ 0x68, 0x69, 0xAE, 0xAF, 0x07, 0x07, 0x07, 0xF1, /* 0x90 ° j k l m n o p */ 0xF8, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, 0x70, /* 0x98 q r ---- ---- */ 0x71, 0x72, 0xA6, 0xA7, 0x91, 0x07, 0x92, 0x07, /* 0xA0 ~ s t u v w x */ 0xE6, 0x7E, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, /* 0xA8 y z ---- ---- ---- ---- */ 0x79, 0x7A, 0xAD, 0xAB, 0x07, 0x07, 0x07, 0x07, /* 0xB0 ^ ---- § ---- */ 0x5E, 0x9C, 0x9D, 0xFA, 0x07, 0x07, 0x07, 0xAC, /* 0xB8 ---- [ ] ---- ---- ---- ---- */ 0xAB, 0x07, 0x5B, 0x5D, 0x07, 0x07, 0x07, 0x07, /* 0xC0 { A B C D E F G */ 0x7B, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, /* 0xC8 H I ---- ö ---- */ 0x48, 0x49, 0x07, 0x93, 0x94, 0x95, 0xA2, 0x07, /* 0xD0 } J K L M N O P */ 0x7D, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, /* 0xD8 Q R ---- ü */ 0x51, 0x52, 0x07, 0x96, 0x81, 0x97, 0xA3, 0x98, /* 0xE0 \ S T U V W X */ 0x5C, 0xF6, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, /* 0xE8 Y Z ---- Ö ---- ---- ---- */ 0x59, 0x5A, 0xFD, 0x07, 0x99, 0x07, 0x07, 0x07, /* 0xF0 0 1 2 3 4 5 6 7 */ 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, /* 0xF8 8 9 ---- ---- Ü ---- ---- ---- */ 0x38, 0x39, 0x07, 0x07, 0x9A, 0x07, 0x07, 0x07 }; static const unsigned char ASCtoEBC[256] = { /*00 NL SH SX EX ET NQ AK BL */ 0x00, 0x01, 0x02, 0x03, 0x37, 0x2D, 0x2E, 0x2F, /*08 BS HT LF VT FF CR SO SI */ 0x16, 0x05, 0x15, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, /*10 DL D1 D2 D3 D4 NK SN EB */ 0x10, 0x11, 0x12, 0x13, 0x3C, 0x15, 0x32, 0x26, /*18 CN EM SB EC FS GS RS US */ 0x18, 0x19, 0x3F, 0x27, 0x1C, 0x1D, 0x1E, 0x1F, /*20 SP ! " # $ % & ' */ 0x40, 0x5A, 0x7F, 0x7B, 0x5B, 0x6C, 0x50, 0x7D, /*28 ( ) * + , - . / */ 0x4D, 0x5D, 0x5C, 0x4E, 0x6B, 0x60, 0x4B, 0x61, /*30 0 1 2 3 4 5 6 7 */ 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, /*38 8 9 : ; < = > ? */ 0xF8, 0xF9, 0x7A, 0x5E, 0x4C, 0x7E, 0x6E, 0x6F, /*40 @ A B C D E F G */ 0x7C, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, /*48 H I J K L M N O */ 0xC8, 0xC9, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, /*50 P Q R S T U V W */ 0xD7, 0xD8, 0xD9, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, /*58 X Y Z [ \ ] ^ _ */ 0xE7, 0xE8, 0xE9, 0xAD, 0xE0, 0xBD, 0x5F, 0x6D, /*60 ` a b c d e f g */ 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /*68 h i j k l m n o */ 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, /*70 p q r s t u v w */ 0x97, 0x98, 0x99, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, /*78 x y z { | } ~ DL */ 0xA7, 0xA8, 0xA9, 0xC0, 0x4F, 0xD0, 0xA1, 0x07, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFF }; enum failure { unable_to_open, unable_to_seek, unable_to_write, unable_to_read }; static char buffer[85]; static void vtoc_error (enum failure why, char const *s1, char const *s2) { PDEBUG char error[8192]; switch (why) { case unable_to_open: sprintf(error, "VTOC: %s -- %s\n%s\n", _("opening of device failed"), s1, s2); break; case unable_to_seek: sprintf(error, "VTOC: %s -- %s\n%s\n", _("seeking on device failed"), s1, s2); break; case unable_to_write: sprintf(error, "VTOC: %s -- %s\n%s\n", _("writing to device failed"), s1, s2); break; case unable_to_read: sprintf(error, "VTOC: %s -- %s\n%s\n", _("reading from device failed"), s1, s2); break; default: sprintf(error, "VTOC: %s\n", _("Fatal error")); } ped_exception_throw(PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, error); } char * vtoc_ebcdic_enc (char const *source, char *target, int l) { PDEBUG int i; for (i = 0; i < l; i++) target[i]=ASCtoEBC[(unsigned char)(source[i])]; return target; } char * vtoc_ebcdic_dec (char const *source, char *target, int l) { PDEBUG int i; for (i = 0; i < l; i++) target[i]=EBCtoASC[(unsigned char)(source[i])]; return target; } void vtoc_set_extent (extent_t *ext, u_int8_t typeind, u_int8_t seqno, cchh_t *lower, cchh_t *upper) { PDEBUG ext->typeind = typeind; ext->seqno = seqno; memcpy(&ext->llimit,lower,sizeof(cchh_t)); memcpy(&ext->ulimit,upper,sizeof(cchh_t)); } void vtoc_set_cchh (cchh_t *addr, u_int16_t cc, u_int16_t hh) { PDEBUG addr->cc = cc; addr->hh = hh; } static void vtoc_set_ttr (ttr_t *addr, u_int16_t tt, u_int8_t r) { PDEBUG addr->tt = tt; addr->r = r; } void vtoc_set_cchhb (cchhb_t *addr, u_int16_t cc, u_int16_t hh, u_int8_t b) { PDEBUG addr->cc = cc; addr->hh = hh; addr->b = b; } void vtoc_set_date (labeldate_t * d, u_int8_t year, u_int16_t day) { PDEBUG d->year = year; d->day = day; } /* * initializes the volume label with EBCDIC spaces */ void vtoc_volume_label_init (volume_label_t *vlabel) { PDEBUG sprintf(buffer, "%84s", " "); vtoc_ebcdic_enc(buffer, buffer, sizeof *vlabel); memcpy(vlabel, buffer, sizeof *vlabel); } /* * reads the volume label from dasd */ int vtoc_read_volume_label (int f, unsigned long vlabel_start, volume_label_t *vlabel) { PDEBUG int rc; if (lseek(f, vlabel_start, SEEK_SET) == -1) { vtoc_error(unable_to_seek, "vtoc_read_volume_label", _("Could not read volume label.")); return 1; } rc = read(f, vlabel, sizeof(volume_label_t)); if (rc != sizeof(volume_label_t)) { vtoc_error(unable_to_read, "vtoc_read_volume_label", _("Could not read volume label.")); return 1; } return 0; } /* * writes the volume label to dasd */ int vtoc_write_volume_label (int f, unsigned long vlabel_start, volume_label_t const *vlabel) { PDEBUG int rc; if (lseek(f, vlabel_start, SEEK_SET) == -1) vtoc_error(unable_to_seek, "vtoc_write_volume_label", _("Could not write volume label.")); rc = write(f, vlabel, sizeof(volume_label_t)); if (rc != sizeof(volume_label_t)) vtoc_error(unable_to_write, "vtoc_write_volume_label", _("Could not write volume label.")); return 0; } /* * takes a string as input, converts it to uppercase, translates * it to EBCDIC and fills it up with spaces before it copies it * as volume serial to the volume label */ void vtoc_volume_label_set_volser (volume_label_t *vlabel, char const *volser) { PDEBUG int j, i = strlen(volser); char s[VOLSER_LENGTH + 1]; strcpy(s, " "); vtoc_ebcdic_enc(s, s, VOLSER_LENGTH); strncpy(vlabel->volid, s, VOLSER_LENGTH); if (i > VOLSER_LENGTH) i = VOLSER_LENGTH; strncpy(s, volser, i); for (j=0; jvolid, s, i); return; } /* * returns the volume serial number right after it is translated * to ASCII */ char * vtoc_volume_label_get_volser (volume_label_t *vlabel, char *volser) { PDEBUG vtoc_ebcdic_dec(vlabel->volid, volser, VOLSER_LENGTH); return volser; } /* * sets the volume label key right after * it has been translated to EBCDIC */ void vtoc_volume_label_set_key (volume_label_t *vlabel, char const *key) { PDEBUG char s[4]; vtoc_ebcdic_enc(key, s, 4); strncpy(vlabel->volkey, s, 4); return; } /* * sets the volume label identifier right * after it has been translated to EBCDIC */ void vtoc_volume_label_set_label (volume_label_t *vlabel, char const *lbl) { PDEBUG char s[4]; vtoc_ebcdic_enc(lbl, s, 4); strncpy(vlabel->vollbl, s, 4); return; } /* * returns the volume label key = the label identifier * right after it has been translated to ASCII */ char * vtoc_volume_label_get_label (volume_label_t *vlabel, char *lbl) { PDEBUG vtoc_ebcdic_dec(vlabel->vollbl, lbl, 4); return lbl; } /* * reads either a format4 label or a format1 label * from the specified position */ void vtoc_read_label (int f, unsigned long position, format1_label_t *f1, format4_label_t *f4, format5_label_t *f5, format7_label_t *f7) { PDEBUG int t; if (lseek(f, position, SEEK_SET) == -1) vtoc_error(unable_to_seek, "vtoc_read_label", _("Could not read VTOC labels.")); if (f1 != NULL) { t = sizeof(format1_label_t); if (read(f, f1, t) != t) vtoc_error(unable_to_read, "vtoc_read_label", _("Could not read VTOC FMT1 DSCB.")); } if (f4 != NULL) { t = sizeof(format4_label_t); if (read(f, f4, t) != t) vtoc_error(unable_to_read, "vtoc_read_label", _("Could not read VTOC FMT4 DSCB.")); } if (f5 != NULL) { t = sizeof(format5_label_t); if (read(f, f5, t) != t) vtoc_error(unable_to_read, "vtoc_read_label", _("Could not read VTOC FMT5 DSCB.")); } if (f7 != NULL) { t = sizeof(format7_label_t); if (read(f, f7, t) != t) vtoc_error(unable_to_read, "vtoc_read_label", _("Could not read VTOC FMT7 DSCB.")); } } /* * writes either a FMT1, FMT4 or FMT5 label * to the specified position */ void vtoc_write_label (int f, unsigned long position, format1_label_t const *f1, format4_label_t const *f4, format5_label_t const *f5, format7_label_t const *f7) { PDEBUG int t; if (lseek(f, position, SEEK_SET) == -1) vtoc_error(unable_to_seek, "vtoc_write_label", _("Could not write VTOC labels.")); if (f1 != NULL) { t = sizeof(format1_label_t); if (write(f, f1, t) != t) vtoc_error(unable_to_write, "vtoc_write_label", _("Could not write VTOC FMT1 DSCB.")); } if (f4 != NULL) { t = sizeof(format4_label_t); if (write(f, f4, t) != t) vtoc_error(unable_to_write, "vtoc_write_label", _("Could not write VTOC FMT4 DSCB.")); } if (f5 != NULL) { t = sizeof(format5_label_t); if (write(f, f5, t) != t) vtoc_error(unable_to_write, "vtoc_write_label", _("Could not write VTOC FMT5 DSCB.")); } if (f7 != NULL) { t = sizeof(format7_label_t); if (write(f, f7, t) != t) vtoc_error(unable_to_write, "vtoc_write_label", _("Could not write VTOC FMT7 DSCB.")); } } /* * initializes a format4 label */ void vtoc_init_format4_label (format4_label_t *f4, unsigned int usable_partitions, unsigned int cylinders, unsigned int tracks, unsigned int blocks, unsigned int blksize, u_int16_t dev_type) { PDEBUG int i; cchh_t lower = {VTOC_START_CC, VTOC_START_HH}; cchh_t upper = {VTOC_START_CC, VTOC_START_HH}; for (i=0; i<44; i++) f4->DS4KEYCD[i] = 0x04; f4->DS4IDFMT = 0xf4; vtoc_set_cchhb(&f4->DS4HPCHR, 0x0000, 0x0000, 0x00); f4->DS4DSREC = blocks - 2; /* free space starts right behind VTOC vtoc_set_cchh(&f4->DS4HCCHH, VTOC_START_CC, VTOC_START_HH + 1);*/ vtoc_set_cchh(&f4->DS4HCCHH, 0x0000, 0x0000); f4->DS4NOATK = 0x0000; f4->DS4VTOCI = 0x00; f4->DS4NOEXT = 0x01; f4->DS4SMSFG = 0x00; f4->DS4DEVAC = 0x00; /* -- begin f4->DS4DEVCT -- */ f4->DS4DEVCT.DS4DSCYL = cylinders; f4->DS4DEVCT.DS4DSTRK = tracks; switch (dev_type) { case DASD_3380_TYPE: f4->DS4DEVCT.DS4DEVTK = DASD_3380_VALUE; break; case DASD_3390_TYPE: f4->DS4DEVCT.DS4DEVTK = DASD_3390_VALUE; break; case DASD_9345_TYPE: f4->DS4DEVCT.DS4DEVTK = DASD_9345_VALUE; break; default: f4->DS4DEVCT.DS4DEVTK = blocks * blksize;; } f4->DS4DEVCT.DS4DEVI = 0x00; f4->DS4DEVCT.DS4DEVL = 0x00; f4->DS4DEVCT.DS4DEVK = 0x00; f4->DS4DEVCT.DS4DEVFG = 0x30; f4->DS4DEVCT.DS4DEVTL = 0x0000; f4->DS4DEVCT.DS4DEVDT = blocks; f4->DS4DEVCT.DS4DEVDB = 0x00; /* -- end f4->DS4DEVCT -- */ bzero(f4->DS4AMTIM, sizeof(f4->DS4AMTIM)); bzero(f4->DS4AMCAT, sizeof(f4->DS4AMCAT)); bzero(f4->DS4R2TIM, sizeof(f4->DS4R2TIM)); bzero(f4->res1, sizeof(f4->res1)); bzero(f4->DS4F6PTR, sizeof(f4->DS4F6PTR)); /* -- begin f4lbl->DS4VTOCE -- */ vtoc_set_extent(&f4->DS4VTOCE, 0x01, 0x00, &lower, &upper); /* -- end f4lbl->DS4VTOCE -- */ bzero(f4->res2, sizeof(f4->res2)); f4->DS4EFLVL = 0x00; bzero(&f4->DS4EFPTR, sizeof(f4->DS4EFPTR)); bzero(f4->res3, sizeof(f4->res3)); } /* * initializes a format5 label */ void vtoc_init_format5_label (format5_label_t *f5) { PDEBUG int i; bzero(f5, sizeof(format5_label_t)); for (i=0; i<4; i++) f5->DS5KEYID[i] = 0x05; f5->DS5FMTID = 0xf5; } /* * initializes a format7 label */ void vtoc_init_format7_label (format7_label_t *f7) { PDEBUG int i; bzero(f7, sizeof(format7_label_t)); for (i=0; i<4; i++) f7->DS7KEYID[i] = 0x07; f7->DS7FMTID = 0xf7; } /* * initializes a format1 label */ void vtoc_init_format1_label (char *volid, unsigned int blksize, extent_t *part_extent, format1_label_t *f1) { PDEBUG struct tm * creatime; time_t t; char str[80]; /* get actual date */ t = time(NULL); creatime = gmtime(&t); bzero(f1->DS1DSNAM, sizeof(f1->DS1DSNAM)); sprintf(str, "PART .NEW "); vtoc_ebcdic_enc(str, str, 44); strncpy(f1->DS1DSNAM, str, 44); f1->DS1FMTID = 0xf1; strncpy(f1->DS1DSSN, " ", 6); f1->DS1VOLSQ = 0x0001; vtoc_set_date(&f1->DS1CREDT, (u_int8_t) creatime->tm_year, (u_int16_t) creatime->tm_yday); /* expires never - 99 365 */ vtoc_set_date(&f1->DS1EXPDT, 0x63, 0x016D); f1->DS1NOEPV = 0x01; f1->DS1NOBDB = 0x00; f1->DS1FLAG1 = 0x00; vtoc_ebcdic_enc("IBM LINUX ", str, 13); strncpy(f1->DS1SYSCD, str, 13); vtoc_set_date(&f1->DS1REFD, (u_int8_t) creatime->tm_year, (u_int16_t) creatime->tm_yday); f1->DS1SMSFG = 0x00; f1->DS1SCXTF = 0x00; f1->DS1SCXTV = 0x0000; f1->DS1DSRG1 = 0x00; f1->DS1DSRG2 = 0x00; f1->DS1RECFM = 0x88; f1->DS1OPTCD = 0x00; f1->DS1BLKL = blksize; f1->DS1LRECL = blksize; f1->DS1KEYL = 0x00; f1->DS1RKP = 0x0000; f1->DS1DSIND = 0x80; /* last volume for this dataset */ f1->DS1SCAL1 = 0x80; bzero(&f1->DS1SCAL3, sizeof(f1->DS1SCAL3)); vtoc_set_ttr(&f1->DS1LSTAR, 0x0000, 0x00); f1->DS1TRBAL = 0x00; bzero(&f1->res1, sizeof(f1->res1)); memcpy(&f1->DS1EXT1, part_extent, sizeof(extent_t)); bzero(&f1->DS1EXT2, sizeof(extent_t)); bzero(&f1->DS1EXT3, sizeof(extent_t)); vtoc_set_cchhb(&f1->DS1PTRDS, 0x0000, 0x0000, 0x00); } /* * do some updates to the VTOC format4 label */ void vtoc_update_format4_label (format4_label_t *f4, cchhb_t *highest_f1, u_int16_t unused_update) { PDEBUG /* update highest address of a format 1 label */ memcpy(&f4->DS4HPCHR, highest_f1, sizeof(cchhb_t)); /* update unused DSCB count */ f4->DS4DSREC = unused_update; } /* * reorganizes all extents within a FMT5 label */ static void vtoc_reorganize_FMT5_extents (format5_label_t *f5) { PDEBUG ds5ext_t *ext, *last, tmp; int i, j; for (i=0; i<26; i++) { if (i==0) last = &f5->DS5AVEXT; else if ((i > 0) && (i < 8)) last = &f5->DS5EXTAV[i-1]; else last = &f5->DS5MAVET[i-8]; for (j=i; j<26; j++) { if (j==0) ext = &f5->DS5AVEXT; else if ((j > 0) && (j < 8)) ext = &f5->DS5EXTAV[j-1]; else ext = &f5->DS5MAVET[j-8]; if (((ext->t > 0) && (last->t == 0)) || ((ext->t > 0) && (ext->t < last->t))) { tmp.t = last->t; tmp.fc = last->fc; tmp.ft = last->ft; last->t = ext->t; last->fc = ext->fc; last->ft = ext->ft; ext->t = tmp.t; ext->fc = tmp.fc; ext->ft = tmp.ft; } } } } /* * add a free space extent description to the VTOC FMT5 DSCB */ void vtoc_update_format5_label_add (format5_label_t *f5, int verbose, int cyl, int trk, u_int16_t a, u_int16_t b, u_int8_t c) { PDEBUG ds5ext_t *ext = NULL, *tmp = NULL; int i; for (i=0; i<26; i++) { if (i==0) ext = &f5->DS5AVEXT; else if ((i > 0) && (i < 8)) ext = &f5->DS5EXTAV[i-1]; else ext = &f5->DS5MAVET[i-8]; if (((a < ext->t) && (a + b*trk + c > ext->t)) || ((a > ext->t) && (ext->t + ext->fc*trk + ext->ft > a))) { puts ("BUG: overlapping free space extents " "in FMT5 DSCB!\nexiting..."); exit(EXIT_FAILURE); } if ((ext->t + ext->fc + ext->ft) == 0x0000) { ext->t = a; ext->fc = b; ext->ft = c; tmp = ext; if (verbose) puts ("FMT5 add extent: add new extent"); break; } } if (tmp == NULL) { /* BUG: no free extent found */ puts ("BUG: no free FMT5 DSCB extent found!\nexiting..."); exit(EXIT_FAILURE); } for (i=0; i<26; i++) { if (i==0) ext = &f5->DS5AVEXT; else if ((i > 0) && (i < 8)) ext = &f5->DS5EXTAV[i-1]; else ext = &f5->DS5MAVET[i-8]; if ((ext->t + ext->fc + ext->ft) == 0x0000) continue; if ((ext->t + ext->fc*trk + ext->ft) == tmp->t) { /* this extent precedes the new one */ ext->fc += (tmp->fc + (tmp->ft + ext->ft)/trk); ext->ft = (tmp->ft + ext->ft) % trk; bzero(tmp, sizeof(ds5ext_t)); tmp = ext; if (verbose) puts ("FMT5 add extent: " "merge with predecessor"); i = -1; continue; } if ((tmp->t + tmp->fc*trk + tmp->ft) == ext->t) { /* this extent succeeds the new one */ ext->t = tmp->t; ext->fc += (tmp->fc + (tmp->ft + ext->ft)/trk); ext->ft = (tmp->ft + ext->ft) % trk; bzero(tmp, sizeof(ds5ext_t)); tmp = ext; if (verbose) puts ("FMT5 add extent: " "merge with successor"); i = -1; continue; } } } /* * remove a free space extent description from the VTOC FMT5 DSCB */ void vtoc_update_format5_label_del (format5_label_t *f5, int verbose, int cyl, int trk, u_int16_t a, u_int16_t b, u_int8_t c) { PDEBUG ds5ext_t *ext; int i, counter=0; for (i=0; i<26; i++) { if (i==0) ext = &f5->DS5AVEXT; else if ((i > 0) && (i < 8)) ext = &f5->DS5EXTAV[i-1]; else ext = &f5->DS5MAVET[i-8]; if ((a == ext->t) && (b == ext->fc) && (c == ext->ft)) { /* fills up whole free space gap */ bzero(ext, sizeof(ds5ext_t)); if (verbose) puts ("FMT5 del extent: fills whole gap"); counter++; break; } if ((a == ext->t) && ((b < ext->fc) || (c < ext->ft))) { /* left-bounded in free space gap */ ext->t = ext->t + b*trk + c; if (c > ext->ft) { ext->fc -= (b + 1); ext->ft -= (c - trk); } else { ext->fc -= b; ext->ft -= c; } if (verbose) puts ("FMT5 del extent: left bounded"); counter++; break; } if ((ext->t < a) && ((ext->t + ext->fc*trk + ext->ft) == (a + b*trk + c))) { /* right-bounded in free space gap */ if (c > ext->ft) { ext->fc -= (b + 1); ext->ft -= (c - trk); } else { ext->fc -= b; ext->ft -= c; } if (verbose) puts ("FMT5 del extent: right bounded"); counter++; break; } if ((a > ext->t) && ((ext->t + ext->fc*trk + ext->ft) > (a + b*trk + c))) { /* partition devides free space into 2 pieces */ u_int16_t x = a + b*trk + c; u_int16_t w,y; u_int8_t z; w = (ext->t + ext->fc*trk + ext->ft) - (a + b*trk + c); y = w / trk; z = w % trk; ext->fc = (a - ext->t) / trk; ext->ft = (a - ext->t) % trk; vtoc_update_format5_label_add(f5, verbose, cyl, trk, x, y, z); if (verbose) puts ("FMT5 del extent: 2 pieces"); counter++; break; } if ((a < ext->t) && (a + b*trk + c > ext->t) && (a + b*trk + c < ext->t + ext->fc*trk + ext->ft)) { puts ("BUG: corresponding free space extent " "doesn't match free space currently shown " "in FMT5 DSCB!\nexiting..."); exit(EXIT_FAILURE); } if ((a > ext->t) && (a < ext->t + ext->fc*trk + ext->ft) && (a + b*trk + c > ext->t + ext->fc*trk + ext->ft)) { puts ("BUG: specified free space extent for " "deleting doesn't match free space " "currently shown in FMT5 DSCB!\n" "exiting..."); exit(EXIT_FAILURE); } } if (counter > 0) return; puts ("BUG: specified free space extent for " "deleting not found in FMT5 DSCB!\n" "exiting..."); exit(EXIT_FAILURE); } /* * reorganizes all extents within a FMT7 label */ static void vtoc_reorganize_FMT7_extents (format7_label_t *f7) { PDEBUG ds7ext_t *ext, *last, tmp; int i, j; for (i=0; i<16; i++) { if (i<5) last = &f7->DS7EXTNT[i]; else last = &f7->DS7ADEXT[i-5]; for (j=i; j<16; j++) { if (j<5) ext = &f7->DS7EXTNT[j]; else ext = &f7->DS7ADEXT[j-5]; if (((ext->a > 0) && (last->a == 0)) || ((ext->a > 0) && (ext->a < last->a))) { tmp.a = last->a; tmp.b = last->b; last->a = ext->a; last->b = ext->b; ext->a = tmp.a; ext->b = tmp.b; } } } } /* * add a free space extent description to the VTOC FMT7 DSCB */ void vtoc_update_format7_label_add (format7_label_t *f7, int verbose, u_int32_t a, u_int32_t b) { PDEBUG ds7ext_t *ext = NULL, *tmp = NULL; int i; for (i=0; i<16; i++) { if (i<5) ext = &f7->DS7EXTNT[i]; else ext = &f7->DS7ADEXT[i-5]; if (((a < ext->a) && (b > ext->a) && (b < ext->b)) || ((a > ext->a) && (a < ext->b) && (b > ext->b))) { puts ("BUG: overlapping free space extents " "in FMT7 DSCB!\nexiting..."); exit(EXIT_FAILURE); } if ((ext->a + ext->b) == 0x00000000) { ext->a = a; ext->b = b; tmp = ext; if (verbose) puts ("FMT7 add extent: add new extent"); break; } } if (tmp == NULL) { /* BUG: no free extent found */ puts ("BUG: no free FMT7 DSCB extent found!\nexiting..."); exit(EXIT_FAILURE); } for (i=0; i<16; i++) { if (i<5) ext = &f7->DS7EXTNT[i]; else ext = &f7->DS7ADEXT[i-5]; if ((ext->a + ext->b) == 0x00000000) continue; if ((ext->b + 1) == tmp->a) { /* this extent precedes the new one */ ext->b = tmp->b; bzero(tmp, sizeof(ds7ext_t)); tmp = ext; if (verbose) puts ("FMT7 add extent: " "merge with predecessor"); i = -1; continue; } if (ext->a == (tmp->b + 1)) { /* this extent succeeds the new one */ ext->a = tmp->a; bzero(tmp, sizeof(ds7ext_t)); tmp = ext; if (verbose) puts ("FMT7 add extent: merge with successor"); i = -1; continue; } } } /* * remove a free space extent description from the VTOC FMT7 DSCB */ void vtoc_update_format7_label_del (format7_label_t *f7, int verbose, u_int32_t a, u_int32_t b) { PDEBUG ds7ext_t *ext; int i, counter=0; for (i=0; i<16; i++) { if (i<5) ext = &f7->DS7EXTNT[i]; else ext = &f7->DS7ADEXT[i-5]; if ((a == ext->a) && (b == ext->b)) { /* fills up whole free space gap */ bzero(ext, sizeof(ds7ext_t)); if (verbose) puts ("FMT7 del extent: fills whole gap"); counter++; break; } if ((a == ext->a) && (b < ext->b)) { /* left-bounded in free space gap */ ext->a = b + 1; if (verbose) puts ("FMT7 add extent: left-bounded"); counter++; break; } if ((a > ext->a) && (b == ext->b)) { /* right-bounded in free space gap */ ext->b = a - 1; if (verbose) puts ("FMT7 add extent: right-bounded"); counter++; break; } if ((a > ext->a) && (b < ext->b)) { /* partition devides free space into 2 pieces */ vtoc_update_format7_label_add(f7, verbose, b+1, ext->b); ext->b = a - 1; if (verbose) puts ("FMT7 add extent: 2 pieces"); counter++; break; } if (((a < ext->a) && (b > ext->a)) || ((a < ext->b) && (b > ext->b))) { puts ("BUG: specified free space extent for deleting " "doesn't match free space currently shown in " "FMT7 DSCB!\nexiting..."); printf ("%d %d %d %d\n", a, b, ext->a, ext->b); exit(EXIT_FAILURE); } } if (counter > 0) return; puts ("BUG: specified free space extent for " "deleting not found in FMT7 DSCB!\n" "exiting..."); exit(EXIT_FAILURE); } void vtoc_set_freespace(format4_label_t *f4, format5_label_t *f5, format7_label_t *f7, char ch, int verbose, u_int32_t start, u_int32_t stop, int cyl, int trk) { PDEBUG if ((cyl * trk) > BIG_DISK_SIZE) { if (ch == '+') vtoc_update_format7_label_add(f7, verbose, start, stop); else if (ch == '-') vtoc_update_format7_label_del(f7, verbose, start, stop); else puts ("BUG: syntax error in vtoc_set_freespace call"); vtoc_reorganize_FMT7_extents (f7); f4->DS4VTOCI = 0xa0; f4->DS4EFLVL = 0x07; vtoc_set_cchhb(&f4->DS4EFPTR, 0x0000, 0x0001, 0x03); } else { u_int16_t x,y; u_int8_t z; x = (u_int16_t) start; y = (u_int16_t) ((stop - start + 1) / trk); z = (u_int8_t) ((stop - start + 1) % trk); if (ch == '+') vtoc_update_format5_label_add(f5, verbose, cyl, trk, x, y, z); else if (ch == '-') vtoc_update_format5_label_del(f5, verbose, cyl, trk, x, y, z); else puts ("BUG: syntax error in vtoc_set_freespace call"); vtoc_reorganize_FMT5_extents (f5); } } parted-2.3/libparted/labels/pc98.c0000644000000000000000000005132511337744564013707 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 2000-2001, 2007-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include #include "pt-tools.h" #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ /* hacked from Linux/98 source: fs/partitions/nec98.h * * See also: * http://people.FreeBSD.org/~kato/pc98.html * http://www.kmc.kyoto-u.ac.jp/proj/linux98/index-english.html * * Partition types: * * id0(mid): * bit 7: 1=bootable, 0=not bootable * # Linux uses this flag to make a distinction between ext2 and swap. * bit 6--0: * 00H : N88-BASIC(data)?, PC-UX(data)? * 04H : PC-UX(data) * 06H : N88-BASIC * 10H : N88-BASIC * 14H : *BSD, PC-UX * 20H : DOS(data), Windows95/98/NT, Linux * 21H..2FH : DOS(system#1 .. system#15) * 40H : Minix * * id1(sid): * bit 7: 1=active, 0=sleep(hidden) * # PC-UX uses this flag to make a distinction between its file system * # and its swap. * bit 6--0: * 01H: FAT12 * 11H: FAT16, <32MB [accessible to DOS 3.3] * 21H: FAT16, >=32MB [Large Partition] * 31H: NTFS * 28H: Windows NT (Volume/Stripe Set?) * 41H: Windows NT (Volume/Stripe Set?) * 48H: Windows NT (Volume/Stripe Set?) * 61H: FAT32 * 04H: PC-UX * 06H: N88-BASIC * 44H: *BSD * 62H: ext2, linux-swap */ #define MAX_PART_COUNT 16 #define PC9800_EXTFMT_MAGIC 0xAA55 #define BIT(x) (1 << (x)) #define GET_BIT(n,bit) (((n) & BIT(bit)) != 0) #define SET_BIT(n,bit,val) n = (val)? (n | BIT(bit)) : (n & ~BIT(bit)) typedef struct _PC98RawPartition PC98RawPartition; typedef struct _PC98RawTable PC98RawTable; /* ripped from Linux/98 source */ struct _PC98RawPartition { uint8_t mid; /* 0x80 - boot */ uint8_t sid; /* 0x80 - active */ uint8_t dum1; /* dummy for padding */ uint8_t dum2; /* dummy for padding */ uint8_t ipl_sect; /* IPL sector */ uint8_t ipl_head; /* IPL head */ uint16_t ipl_cyl; /* IPL cylinder */ uint8_t sector; /* starting sector */ uint8_t head; /* starting head */ uint16_t cyl; /* starting cylinder */ uint8_t end_sector; /* end sector */ uint8_t end_head; /* end head */ uint16_t end_cyl; /* end cylinder */ char name[16]; } __attribute__((packed)); struct _PC98RawTable { uint8_t boot_code [510]; uint16_t magic; PC98RawPartition partitions [MAX_PART_COUNT]; } __attribute__((packed)); typedef struct { PedSector ipl_sector; int system; int boot; int hidden; char name [17]; } PC98PartitionData; /* this MBR boot code is dummy */ static const char MBR_BOOT_CODE[] = { 0xcb, /* retf */ 0x00, 0x00, 0x00, /* */ 0x49, 0x50, 0x4c, 0x31 /* "IPL1" */ }; static PedDiskType pc98_disk_type; static PedSector chs_to_sector (const PedDevice* dev, int c, int h, int s); static void sector_to_chs (const PedDevice* dev, PedSector sector, int* c, int* h, int* s); /* magic(?) check */ static int pc98_check_magic (const PC98RawTable *part_table) { /* check "extended-format" (have partition table?) */ if (PED_LE16_TO_CPU(part_table->magic) != PC9800_EXTFMT_MAGIC) return 0; return 1; } static int pc98_check_ipl_signature (const PC98RawTable *part_table) { return !memcmp (part_table->boot_code + 4, "IPL1", 4); } static int check_partition_consistency (const PedDevice* dev, const PC98RawPartition* raw_part) { if (raw_part->ipl_sect >= dev->hw_geom.sectors || raw_part->sector >= dev->hw_geom.sectors || raw_part->end_sector >= dev->hw_geom.sectors || raw_part->ipl_head >= dev->hw_geom.heads || raw_part->head >= dev->hw_geom.heads || raw_part->end_head >= dev->hw_geom.heads || PED_LE16_TO_CPU(raw_part->ipl_cyl) >= dev->hw_geom.cylinders || PED_LE16_TO_CPU(raw_part->cyl) >= dev->hw_geom.cylinders || PED_LE16_TO_CPU(raw_part->end_cyl) >= dev->hw_geom.cylinders || PED_LE16_TO_CPU(raw_part->cyl) > PED_LE16_TO_CPU(raw_part->end_cyl) #if 0 || !chs_to_sector(dev, PED_LE16_TO_CPU(raw_part->ipl_cyl), raw_part->ipl_head, raw_part->ipl_sect) || !chs_to_sector(dev, PED_LE16_TO_CPU(raw_part->cyl), raw_part->head, raw_part->sector) || !chs_to_sector(dev, PED_LE16_TO_CPU(raw_part->end_cyl), raw_part->end_head, raw_part->end_sector) #endif || PED_LE16_TO_CPU(raw_part->end_cyl) < PED_LE16_TO_CPU(raw_part->cyl)) return 0; return 1; } static int pc98_probe (const PedDevice *dev) { PC98RawTable part_table; int empty; const PC98RawPartition* p; PED_ASSERT (dev != NULL, return 0); if (dev->sector_size != 512) return 0; if (!ped_device_read (dev, &part_table, 0, 2)) return 0; /* check magic */ if (!pc98_check_magic (&part_table)) return 0; /* check consistency */ empty = 1; for (p = part_table.partitions; p < part_table.partitions + MAX_PART_COUNT; p++) { if (p->mid == 0 && p->sid == 0) continue; empty = 0; if (!check_partition_consistency (dev, p)) return 0; } /* check boot loader */ if (pc98_check_ipl_signature (&part_table)) return 1; else if (part_table.boot_code[0]) /* invalid boot loader */ return 0; /* Not to mistake msdos disk map for PC-9800's empty disk map */ if (empty) return 0; return 1; } static PedDisk* pc98_alloc (const PedDevice* dev) { PED_ASSERT (dev != NULL, return 0); return _ped_disk_alloc (dev, &pc98_disk_type); } static PedDisk* pc98_duplicate (const PedDisk* disk) { return ped_disk_new_fresh (disk->dev, &pc98_disk_type); } static void pc98_free (PedDisk* disk) { PED_ASSERT (disk != NULL, return); _ped_disk_free (disk); } static PedSector chs_to_sector (const PedDevice* dev, int c, int h, int s) { PED_ASSERT (dev != NULL, return 0); return (c * dev->hw_geom.heads + h) * dev->hw_geom.sectors + s; } static void sector_to_chs (const PedDevice* dev, PedSector sector, int* c, int* h, int* s) { PedSector cyl_size; PED_ASSERT (dev != NULL, return); PED_ASSERT (c != NULL, return); PED_ASSERT (h != NULL, return); PED_ASSERT (s != NULL, return); cyl_size = dev->hw_geom.heads * dev->hw_geom.sectors; *c = sector / cyl_size; *h = (sector) % cyl_size / dev->hw_geom.sectors; *s = (sector) % cyl_size % dev->hw_geom.sectors; } static PedSector legacy_start (const PedDisk* disk, const PC98RawPartition* raw_part) { PED_ASSERT (disk != NULL, return 0); PED_ASSERT (raw_part != NULL, return 0); return chs_to_sector (disk->dev, PED_LE16_TO_CPU(raw_part->cyl), raw_part->head, raw_part->sector); } static PedSector legacy_end (const PedDisk* disk, const PC98RawPartition* raw_part) { PED_ASSERT (disk != NULL, return 0); PED_ASSERT (raw_part != NULL, return 0); if (raw_part->end_head == 0 && raw_part->end_sector == 0) { return chs_to_sector (disk->dev, PED_LE16_TO_CPU(raw_part->end_cyl), disk->dev->hw_geom.heads - 1, disk->dev->hw_geom.sectors - 1); } else { return chs_to_sector (disk->dev, PED_LE16_TO_CPU(raw_part->end_cyl), raw_part->end_head, raw_part->end_sector); } } static int is_unused_partition(const PC98RawPartition* raw_part) { if (raw_part->mid || raw_part->sid || raw_part->ipl_sect || raw_part->ipl_head || PED_LE16_TO_CPU(raw_part->ipl_cyl) || raw_part->sector || raw_part->head || PED_LE16_TO_CPU(raw_part->cyl) || raw_part->end_sector || raw_part->end_head || PED_LE16_TO_CPU(raw_part->end_cyl)) return 0; return 1; } static int read_table (PedDisk* disk) { int i; PC98RawTable table; PedConstraint* constraint_any; PED_ASSERT (disk != NULL, return 0); PED_ASSERT (disk->dev != NULL, return 0); constraint_any = ped_constraint_any (disk->dev); if (!ped_device_read (disk->dev, (void*) &table, 0, 2)) goto error; if (!pc98_check_magic(&table)) { if (ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_IGNORE_CANCEL, _("Invalid partition table on %s."), disk->dev->path)) goto error; } for (i = 0; i < MAX_PART_COUNT; i++) { PC98RawPartition* raw_part; PedPartition* part; PC98PartitionData* pc98_data; PedSector part_start; PedSector part_end; raw_part = &table.partitions [i]; if (is_unused_partition(raw_part)) continue; part_start = legacy_start (disk, raw_part); part_end = legacy_end (disk, raw_part); part = ped_partition_new (disk, PED_PARTITION_NORMAL, NULL, part_start, part_end); if (!part) goto error; pc98_data = part->disk_specific; PED_ASSERT (pc98_data != NULL, goto error); pc98_data->system = (raw_part->mid << 8) | raw_part->sid; pc98_data->boot = GET_BIT(raw_part->mid, 7); pc98_data->hidden = !GET_BIT(raw_part->sid, 7); ped_partition_set_name (part, raw_part->name); pc98_data->ipl_sector = chs_to_sector ( disk->dev, PED_LE16_TO_CPU(raw_part->ipl_cyl), raw_part->ipl_head, raw_part->ipl_sect); /* hack */ if (pc98_data->ipl_sector == part->geom.start) pc98_data->ipl_sector = 0; part->num = i + 1; if (!ped_disk_add_partition (disk, part, constraint_any)) goto error; if (part->geom.start != part_start || part->geom.end != part_end) { ped_exception_throw ( PED_EXCEPTION_NO_FEATURE, PED_EXCEPTION_CANCEL, _("Partition %d isn't aligned to cylinder " "boundaries. This is still unsupported."), part->num); goto error; } part->fs_type = ped_file_system_probe (&part->geom); } ped_constraint_destroy (constraint_any); return 1; error: ped_disk_delete_all (disk); ped_constraint_destroy (constraint_any); return 0; } static int pc98_read (PedDisk* disk) { PED_ASSERT (disk != NULL, return 0); PED_ASSERT (disk->dev != NULL, return 0); ped_disk_delete_all (disk); return read_table (disk); } #ifndef DISCOVER_ONLY static int fill_raw_part (PC98RawPartition* raw_part, const PedPartition* part) { PC98PartitionData* pc98_data; int c, h, s; const char* name; PED_ASSERT (raw_part != NULL, return 0); PED_ASSERT (part != NULL, return 0); PED_ASSERT (part->disk_specific != NULL, return 0); pc98_data = part->disk_specific; raw_part->mid = (pc98_data->system >> 8) & 0xFF; raw_part->sid = pc98_data->system & 0xFF; SET_BIT(raw_part->mid, 7, pc98_data->boot); SET_BIT(raw_part->sid, 7, !pc98_data->hidden); memset (raw_part->name, ' ', sizeof(raw_part->name)); name = ped_partition_get_name (part); PED_ASSERT (name != NULL, return 0); PED_ASSERT (strlen (name) <= 16, return 0); if (!strlen (name) && part->fs_type) name = part->fs_type->name; memcpy (raw_part->name, name, strlen (name)); sector_to_chs (part->disk->dev, part->geom.start, &c, &h, &s); raw_part->cyl = PED_CPU_TO_LE16(c); raw_part->head = h; raw_part->sector = s; if (pc98_data->ipl_sector) { sector_to_chs (part->disk->dev, pc98_data->ipl_sector, &c, &h, &s); raw_part->ipl_cyl = PED_CPU_TO_LE16(c); raw_part->ipl_head = h; raw_part->ipl_sect = s; } else { raw_part->ipl_cyl = raw_part->cyl; raw_part->ipl_head = raw_part->head; raw_part->ipl_sect = raw_part->sector; } sector_to_chs (part->disk->dev, part->geom.end, &c, &h, &s); if (h != part->disk->dev->hw_geom.heads - 1 || s != part->disk->dev->hw_geom.sectors - 1) { ped_exception_throw ( PED_EXCEPTION_NO_FEATURE, PED_EXCEPTION_CANCEL, _("Partition %d isn't aligned to cylinder " "boundaries. This is still unsupported."), part->num); return 0; } raw_part->end_cyl = PED_CPU_TO_LE16(c); #if 0 raw_part->end_head = h; raw_part->end_sector = s; #else raw_part->end_head = 0; raw_part->end_sector = 0; #endif return 1; } static int pc98_write (const PedDisk* disk) { PedPartition* part; int i; PED_ASSERT (disk != NULL, return 0); PED_ASSERT (disk->dev != NULL, return 0); void *s0; if (!ptt_read_sectors (disk->dev, 0, 2, &s0)) return 0; PC98RawTable *table = s0; if (!pc98_check_ipl_signature (table)) { memset (table->boot_code, 0, sizeof(table->boot_code)); memcpy (table->boot_code, MBR_BOOT_CODE, sizeof(MBR_BOOT_CODE)); } memset (table->partitions, 0, sizeof (table->partitions)); table->magic = PED_CPU_TO_LE16(PC9800_EXTFMT_MAGIC); for (i = 1; i <= MAX_PART_COUNT; i++) { part = ped_disk_get_partition (disk, i); if (!part) continue; if (!fill_raw_part (&table->partitions [i - 1], part)) return 0; } int write_ok = ped_device_write (disk->dev, table, 0, 2); free (s0); if (!write_ok) return 0; return ped_device_sync (disk->dev); } #endif /* !DISCOVER_ONLY */ static PedPartition* pc98_partition_new ( const PedDisk* disk, PedPartitionType part_type, const PedFileSystemType* fs_type, PedSector start, PedSector end) { PedPartition* part; PC98PartitionData* pc98_data; part = _ped_partition_alloc (disk, part_type, fs_type, start, end); if (!part) goto error; if (ped_partition_is_active (part)) { part->disk_specific = pc98_data = ped_malloc (sizeof (PC98PartitionData)); if (!pc98_data) goto error_free_part; pc98_data->ipl_sector = 0; pc98_data->hidden = 0; pc98_data->boot = 0; strcpy (pc98_data->name, ""); } else { part->disk_specific = NULL; } return part; free (pc98_data); error_free_part: free (part); error: return 0; } static PedPartition* pc98_partition_duplicate (const PedPartition* part) { PedPartition* new_part; PC98PartitionData* new_pc98_data; PC98PartitionData* old_pc98_data; new_part = ped_partition_new (part->disk, part->type, part->fs_type, part->geom.start, part->geom.end); if (!new_part) return NULL; new_part->num = part->num; old_pc98_data = (PC98PartitionData*) part->disk_specific; new_pc98_data = (PC98PartitionData*) new_part->disk_specific; /* ugly, but C is ugly :p */ memcpy (new_pc98_data, old_pc98_data, sizeof (PC98PartitionData)); return new_part; } static void pc98_partition_destroy (PedPartition* part) { PED_ASSERT (part != NULL, return); if (ped_partition_is_active (part)) free (part->disk_specific); free (part); } static int pc98_partition_set_system (PedPartition* part, const PedFileSystemType* fs_type) { PC98PartitionData* pc98_data = part->disk_specific; part->fs_type = fs_type; pc98_data->system = 0x2062; if (fs_type) { if (!strcmp (fs_type->name, "fat16")) { if (part->geom.length * 512 >= 32 * 1024 * 1024) pc98_data->system = 0x2021; else pc98_data->system = 0x2011; } else if (!strcmp (fs_type->name, "fat32")) { pc98_data->system = 0x2061; } else if (!strcmp (fs_type->name, "ntfs")) { pc98_data->system = 0x2031; } else if (!strncmp (fs_type->name, "ufs", 3)) { pc98_data->system = 0x2044; } else { /* ext2, reiser, xfs, etc. */ /* ext2 partitions must be marked boot */ pc98_data->boot = 1; pc98_data->system = 0xa062; } } if (pc98_data->boot) pc98_data->system |= 0x8000; if (!pc98_data->hidden) pc98_data->system |= 0x0080; return 1; } static int pc98_partition_set_flag (PedPartition* part, PedPartitionFlag flag, int state) { PC98PartitionData* pc98_data; PED_ASSERT (part != NULL, return 0); PED_ASSERT (part->disk_specific != NULL, return 0); pc98_data = part->disk_specific; switch (flag) { case PED_PARTITION_HIDDEN: pc98_data->hidden = state; return ped_partition_set_system (part, part->fs_type); case PED_PARTITION_BOOT: pc98_data->boot = state; return ped_partition_set_system (part, part->fs_type); default: return 0; } } static int pc98_partition_get_flag (const PedPartition* part, PedPartitionFlag flag) { PC98PartitionData* pc98_data; PED_ASSERT (part != NULL, return 0); PED_ASSERT (part->disk_specific != NULL, return 0); pc98_data = part->disk_specific; switch (flag) { case PED_PARTITION_HIDDEN: return pc98_data->hidden; case PED_PARTITION_BOOT: return pc98_data->boot; default: return 0; } } static int pc98_partition_is_flag_available ( const PedPartition* part, PedPartitionFlag flag) { switch (flag) { case PED_PARTITION_HIDDEN: case PED_PARTITION_BOOT: return 1; default: return 0; } } static void pc98_partition_set_name (PedPartition* part, const char* name) { PC98PartitionData* pc98_data; int i; PED_ASSERT (part != NULL, return); PED_ASSERT (part->disk_specific != NULL, return); pc98_data = part->disk_specific; strncpy (pc98_data->name, name, 16); pc98_data->name [16] = 0; for (i = strlen (pc98_data->name) - 1; pc98_data->name[i] == ' '; i--) pc98_data->name [i] = 0; } static const char* pc98_partition_get_name (const PedPartition* part) { PC98PartitionData* pc98_data; PED_ASSERT (part != NULL, return NULL); PED_ASSERT (part->disk_specific != NULL, return NULL); pc98_data = part->disk_specific; return pc98_data->name; } static PedAlignment* pc98_get_partition_alignment(const PedDisk *disk) { PedSector cylinder_size = disk->dev->hw_geom.sectors * disk->dev->hw_geom.heads; return ped_alignment_new(0, cylinder_size); } static PedConstraint* _primary_constraint (PedDisk* disk) { PedDevice* dev = disk->dev; PedAlignment start_align; PedAlignment end_align; PedGeometry max_geom; PedSector cylinder_size; cylinder_size = dev->hw_geom.sectors * dev->hw_geom.heads; if (!ped_alignment_init (&start_align, 0, cylinder_size)) return NULL; if (!ped_alignment_init (&end_align, -1, cylinder_size)) return NULL; if (!ped_geometry_init (&max_geom, dev, cylinder_size, dev->length - cylinder_size)) return NULL; return ped_constraint_new (&start_align, &end_align, &max_geom, &max_geom, 1, dev->length); } static int pc98_partition_align (PedPartition* part, const PedConstraint* constraint) { PED_ASSERT (part != NULL, return 0); if (_ped_partition_attempt_align (part, constraint, _primary_constraint (part->disk))) return 1; #ifndef DISCOVER_ONLY ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Unable to satisfy all constraints on the partition.")); #endif return 0; } static int next_primary (PedDisk* disk) { int i; for (i=1; i<=MAX_PART_COUNT; i++) { if (!ped_disk_get_partition (disk, i)) return i; } return 0; } static int pc98_partition_enumerate (PedPartition* part) { PED_ASSERT (part != NULL, return 0); PED_ASSERT (part->disk != NULL, return 0); /* don't re-number a partition */ if (part->num != -1) return 1; PED_ASSERT (ped_partition_is_active (part), return 0); part->num = next_primary (part->disk); if (!part->num) { ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Can't add another partition.")); return 0; } return 1; } static int pc98_alloc_metadata (PedDisk* disk) { PedPartition* new_part; PedConstraint* constraint_any = NULL; PedSector cyl_size; PED_ASSERT (disk != NULL, goto error); PED_ASSERT (disk->dev != NULL, goto error); constraint_any = ped_constraint_any (disk->dev); cyl_size = disk->dev->hw_geom.sectors * disk->dev->hw_geom.heads; new_part = ped_partition_new (disk, PED_PARTITION_METADATA, NULL, 0, cyl_size - 1); if (!new_part) goto error; if (!ped_disk_add_partition (disk, new_part, constraint_any)) { ped_partition_destroy (new_part); goto error; } ped_constraint_destroy (constraint_any); return 1; error: ped_constraint_destroy (constraint_any); return 0; } static int pc98_get_max_primary_partition_count (const PedDisk* disk) { return MAX_PART_COUNT; } static bool pc98_get_max_supported_partition_count (const PedDisk* disk, int *max_n) { *max_n = MAX_PART_COUNT; return true; } #include "pt-common.h" PT_define_limit_functions (pc98) static PedDiskOps pc98_disk_ops = { clobber: NULL, write: NULL_IF_DISCOVER_ONLY (pc98_write), partition_set_name: pc98_partition_set_name, partition_get_name: pc98_partition_get_name, get_partition_alignment: pc98_get_partition_alignment, PT_op_function_initializers (pc98) }; static PedDiskType pc98_disk_type = { next: NULL, name: "pc98", ops: &pc98_disk_ops, features: PED_DISK_TYPE_PARTITION_NAME }; void ped_disk_pc98_init () { PED_ASSERT (sizeof (PC98RawTable) == 512 * 2, return); ped_disk_type_register (&pc98_disk_type); } void ped_disk_pc98_done () { ped_disk_type_unregister (&pc98_disk_type); } parted-2.3/libparted/labels/aix.c0000644000000000000000000001314611337744564013704 00000000000000/* -*- Mode: c; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- libparted - a library for manipulating disk partitions Copyright (C) 2000-2001, 2007-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Contributor: Matt Wilson */ #include #include #include #include #include #include "pt-tools.h" #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ #define AIX_LABEL_MAGIC 0xc9c2d4c1 #define MAX_TOTAL_PART 16 static PedDiskType aix_disk_type; static inline int aix_label_magic_get (const char *label) { return *(unsigned int *)label; } static inline void aix_label_magic_set (char *label, int magic_val) { *(unsigned int *)label = magic_val; } static int aix_probe (const PedDevice *dev) { PED_ASSERT (dev != NULL, return 0); void *label; if (!ptt_read_sector (dev, 0, &label)) return 0; unsigned int magic = aix_label_magic_get (label); free (label); return magic == AIX_LABEL_MAGIC; } static PedDisk* aix_alloc (const PedDevice* dev) { PedDisk* disk; disk = _ped_disk_alloc (dev, &aix_disk_type); if (!disk) return NULL; return disk; } static PedDisk* aix_duplicate (const PedDisk* disk) { PedDisk* new_disk; new_disk = ped_disk_new_fresh (disk->dev, &aix_disk_type); if (!new_disk) return NULL; return new_disk; } static void aix_free (PedDisk *disk) { _ped_disk_free (disk); } static int aix_read (PedDisk* disk) { ped_disk_delete_all (disk); ped_exception_throw (PED_EXCEPTION_NO_FEATURE, PED_EXCEPTION_CANCEL, _("Support for reading AIX disk labels is " "is not implemented yet.")); return 0; } #ifndef DISCOVER_ONLY static int aix_write (const PedDisk* disk) { ped_exception_throw (PED_EXCEPTION_NO_FEATURE, PED_EXCEPTION_CANCEL, _("Support for writing AIX disk labels is " "is not implemented yet.")); return 0; } #endif /* !DISCOVER_ONLY */ static PedPartition* aix_partition_new (const PedDisk* disk, PedPartitionType part_type, const PedFileSystemType* fs_type, PedSector start, PedSector end) { ped_exception_throw (PED_EXCEPTION_NO_FEATURE, PED_EXCEPTION_CANCEL, _("Support for adding partitions to AIX disk " "labels is not implemented yet.")); return NULL; } static PedPartition* aix_partition_duplicate (const PedPartition* part) { ped_exception_throw (PED_EXCEPTION_NO_FEATURE, PED_EXCEPTION_CANCEL, _("Support for duplicating partitions in AIX " "disk labels is not implemented yet.")); return NULL; } static void aix_partition_destroy (PedPartition* part) { PED_ASSERT (part != NULL, return); _ped_partition_free (part); } static int aix_partition_set_system (PedPartition* part, const PedFileSystemType* fs_type) { ped_exception_throw (PED_EXCEPTION_NO_FEATURE, PED_EXCEPTION_CANCEL, _("Support for setting system type of partitions " "in AIX disk labels is not implemented yet.")); return 0; } static int aix_partition_set_flag (PedPartition* part, PedPartitionFlag flag, int state) { ped_exception_throw (PED_EXCEPTION_NO_FEATURE, PED_EXCEPTION_CANCEL, _("Support for setting flags " "in AIX disk labels is not implemented yet.")); return 0; } static int aix_partition_get_flag (const PedPartition* part, PedPartitionFlag flag) { return 0; } static int aix_partition_is_flag_available (const PedPartition* part, PedPartitionFlag flag) { return 0; } static int aix_get_max_primary_partition_count (const PedDisk* disk) { return 4; } static bool aix_get_max_supported_partition_count (const PedDisk* disk, int *max_n) { *max_n = MAX_TOTAL_PART; return true; } static int aix_partition_align (PedPartition* part, const PedConstraint* constraint) { PED_ASSERT (part != NULL, return 0); return 1; } static int aix_partition_enumerate (PedPartition* part) { return 1; } static int aix_alloc_metadata (PedDisk* disk) { return 1; } #include "pt-common.h" PT_define_limit_functions (aix) static PedDiskOps aix_disk_ops = { clobber: NULL, write: NULL_IF_DISCOVER_ONLY (aix_write), partition_set_name: NULL, partition_get_name: NULL, PT_op_function_initializers (aix) }; static PedDiskType aix_disk_type = { next: NULL, name: "aix", ops: &aix_disk_ops, features: 0 }; void ped_disk_aix_init () { ped_disk_type_register (&aix_disk_type); } void ped_disk_aix_done () { ped_disk_type_unregister (&aix_disk_type); } parted-2.3/libparted/labels/pt-limit.gperf0000644000000000000000000000132511307757277015541 00000000000000struct partition_limit { char const *name; uint64_t max_start_sector; uint64_t max_length; }; %% dasd,UINT32_MAX,UINT32_MAX dvh,UINT32_MAX,UINT32_MAX gpt,UINT64_MAX,UINT64_MAX mac,UINT32_MAX,UINT32_MAX msdos,UINT32_MAX,UINT32_MAX # # Sun partitions are cylinder-aligned, and it looks like there are 128 sectors # in a cylinder. FIXME verify. Possibly compute sectors-per-cylinder, given # u_int16_t ntrks; /* Tracks per cylinder */ # u_int16_t nsect; /* Sectors per track */ sun,128ULL*UINT32_MAX,UINT32_MAX # bsd,UINT32_MAX,UINT32_MAX # aix,UINT32_MAX,UINT32_MAX loop,UINT32_MAX,UINT32_MAX pc98,UINT32_MAX,UINT32_MAX # # FIXME: not verified. looks like these are cylinder aligned, too amiga,UINT32_MAX,UINT32_MAX parted-2.3/libparted/labels/Makefile.am0000644000000000000000000000222211333731662014773 00000000000000# This file is part of GNU Parted # Copyright (C) 1999-2001, 2007-2010 Free Software Foundation, Inc. # # This file may be modified and/or distributed without restriction. if COMPILE_FOR_S390 S390_SRCS = dasd.c fdasd.c vtoc.c else S390_SRCS = endif AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) partedincludedir = \ -I$(top_srcdir)/lib -I$(top_srcdir)/include -I$(top_srcdir)/libparted noinst_LTLIBRARIES = liblabels.la liblabels_la_SOURCES = \ $(S390_SRCS) \ aix.c \ bsd.c \ dos.c \ dvh.c \ dvh.h \ efi_crc32.c \ gpt.c \ loop.c \ mac.c \ misc.h \ pc98.c \ pt-common.h \ pt-tools.c \ pt-tools.h \ rdb.c \ sun.c liblabels_la_LIBADD = $(OS_LIBS) $(INTLLIBS) INCLUDES = $(partedincludedir) $(INTLINCS) BUILT_SOURCES = pt-limit.c MAINTAINERCLEANFILES = $(BUILT_SOURCES) liblabels_la_SOURCES += pt-limit.gperf EXTRA_DIST = $(BUILT_SOURCES) GPERF = gperf GPERF_OPTIONS = \ -C -N pt_limit_lookup -n -t -s 6 -k '*' --language=ANSI-C pt-limit.c: pt-limit.gperf rm -f $@ $@-tmp $(GPERF) $(GPERF_OPTIONS) $< \ | perl -ne '/__GNUC_STDC_INLINE__/ and print "static\n"; print' \ > $@-tmp chmod a-w $@-tmp mv $@-tmp $@ parted-2.3/libparted/labels/dos.c0000644000000000000000000017432611376751675013724 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 1999-2001, 2004-2005, 2007-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include #include #include #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ #include "misc.h" #include "pt-tools.h" /* this MBR boot code is loaded into 0000:7c00 by the BIOS. See mbr.s for * the source, and how to build it */ static const char MBR_BOOT_CODE[] = { 0xfa, 0xb8, 0x00, 0x10, 0x8e, 0xd0, 0xbc, 0x00, 0xb0, 0xb8, 0x00, 0x00, 0x8e, 0xd8, 0x8e, 0xc0, 0xfb, 0xbe, 0x00, 0x7c, 0xbf, 0x00, 0x06, 0xb9, 0x00, 0x02, 0xf3, 0xa4, 0xea, 0x21, 0x06, 0x00, 0x00, 0xbe, 0xbe, 0x07, 0x38, 0x04, 0x75, 0x0b, 0x83, 0xc6, 0x10, 0x81, 0xfe, 0xfe, 0x07, 0x75, 0xf3, 0xeb, 0x16, 0xb4, 0x02, 0xb0, 0x01, 0xbb, 0x00, 0x7c, 0xb2, 0x80, 0x8a, 0x74, 0x01, 0x8b, 0x4c, 0x02, 0xcd, 0x13, 0xea, 0x00, 0x7c, 0x00, 0x00, 0xeb, 0xfe }; #define MSDOS_MAGIC 0xAA55 #define PARTITION_MAGIC_MAGIC 0xf6f6 /* The maximum number of DOS primary partitions. */ #define DOS_N_PRI_PARTITIONS 4 #define PARTITION_EMPTY 0x00 #define PARTITION_FAT12 0x01 #define PARTITION_FAT16_SM 0x04 #define PARTITION_DOS_EXT 0x05 #define PARTITION_FAT16 0x06 #define PARTITION_NTFS 0x07 #define PARTITION_HPFS 0x07 #define PARTITION_FAT32 0x0b #define PARTITION_FAT32_LBA 0x0c #define PARTITION_FAT16_LBA 0x0e #define PARTITION_EXT_LBA 0x0f #define PART_FLAG_HIDDEN 0x10 /* Valid for FAT/NTFS only */ #define PARTITION_FAT12_H (PARTITION_FAT12 | PART_FLAG_HIDDEN) #define PARTITION_FAT16_SM_H (PARTITION_FAT16_SM | PART_FLAG_HIDDEN) #define PARTITION_DOS_EXT_H (PARTITION_DOS_EXT | PART_FLAG_HIDDEN) #define PARTITION_FAT16_H (PARTITION_FAT16 | PART_FLAG_HIDDEN) #define PARTITION_NTFS_H (PARTITION_NTFS | PART_FLAG_HIDDEN) #define PARTITION_FAT32_H (PARTITION_FAT32 | PART_FLAG_HIDDEN) #define PARTITION_FAT32_LBA_H (PARTITION_FAT32_LBA | PART_FLAG_HIDDEN) #define PARTITION_FAT16_LBA_H (PARTITION_FAT16_LBA | PART_FLAG_HIDDEN) #define PARTITION_COMPAQ_DIAG 0x12 #define PARTITION_MSFT_RECOVERY 0x27 #define PARTITION_LDM 0x42 #define PARTITION_LINUX_SWAP 0x82 #define PARTITION_LINUX 0x83 #define PARTITION_LINUX_EXT 0x85 #define PARTITION_LINUX_LVM 0x8e #define PARTITION_HFS 0xaf #define PARTITION_SUN_UFS 0xbf #define PARTITION_DELL_DIAG 0xde #define PARTITION_GPT 0xee #define PARTITION_PALO 0xf0 #define PARTITION_PREP 0x41 #define PARTITION_LINUX_RAID 0xfd #define PARTITION_LINUX_LVM_OLD 0xfe /* This constant contains the maximum cylinder number that can be represented * in (C,H,S) notation. Higher cylinder numbers are reserved for * "too big" indicators (in which case only LBA addressing can be used). * Some partition tables in the wild indicate this number is 1021. * (i.e. 1022 is sometimes used to indicate "use LBA"). */ #define MAX_CHS_CYLINDER 1021 #define MAX_TOTAL_PART 16 typedef struct _DosRawPartition DosRawPartition; typedef struct _DosRawTable DosRawTable; /* note: lots of bit-bashing here, thus, you shouldn't look inside it. * Use chs_to_sector() and sector_to_chs() instead. */ typedef struct { uint8_t head; uint8_t sector; uint8_t cylinder; } __attribute__((packed)) RawCHS; /* ripped from Linux source */ struct _DosRawPartition { uint8_t boot_ind; /* 00: 0x80 - active */ RawCHS chs_start; /* 01: */ uint8_t type; /* 04: partition type */ RawCHS chs_end; /* 05: */ uint32_t start; /* 08: starting sector counting from 0 */ uint32_t length; /* 0c: nr of sectors in partition */ } __attribute__((packed)); struct _DosRawTable { char boot_code [440]; uint32_t mbr_signature; /* really a unique ID */ uint16_t Unknown; DosRawPartition partitions [DOS_N_PRI_PARTITIONS]; uint16_t magic; } __attribute__((packed)); /* OrigState is information we want to preserve about the partition for * dealing with CHS issues */ typedef struct { PedGeometry geom; DosRawPartition raw_part; PedSector lba_offset; /* needed for computing start/end for * logical partitions */ } OrigState; typedef struct { int cylinder_alignment; } DosDiskData; typedef struct { unsigned char system; int boot; int hidden; int raid; int lvm; int lba; int palo; int prep; int diag; OrigState* orig; /* used for CHS stuff */ } DosPartitionData; static PedDiskType msdos_disk_type; static int msdos_probe (const PedDevice *dev) { PedDiskType* disk_type; DosRawTable* part_table; int i; PED_ASSERT (dev != NULL, return 0); if (dev->sector_size < sizeof *part_table) return 0; void *label; if (!ptt_read_sector (dev, 0, &label)) return 0; part_table = (DosRawTable *) label; /* check magic */ if (PED_LE16_TO_CPU (part_table->magic) != MSDOS_MAGIC) goto probe_fail; /* If this is a FAT fs, fail here. Checking for the FAT signature * has some false positives; instead, do what the Linux kernel does * and ensure that each partition has a boot indicator that is * either 0 or 0x80. */ for (i = 0; i < DOS_N_PRI_PARTITIONS; i++) { if (part_table->partitions[i].boot_ind != 0 && part_table->partitions[i].boot_ind != 0x80) goto probe_fail; } /* If this is a GPT disk, fail here */ for (i = 0; i < DOS_N_PRI_PARTITIONS; i++) { if (part_table->partitions[i].type == PARTITION_GPT) goto probe_fail; } /* If this is an AIX Physical Volume, fail here. IBMA in EBCDIC */ if (part_table->boot_code[0] == (char) 0xc9 && part_table->boot_code[1] == (char) 0xc2 && part_table->boot_code[2] == (char) 0xd4 && part_table->boot_code[3] == (char) 0xc1) goto probe_fail; #ifdef ENABLE_PC98 /* HACK: it's impossible to tell PC98 and msdos disk labels apart. * Someone made the signatures the same (very clever). Since * PC98 has some idiosyncracies with it's boot-loader, it's detection * is more reliable */ disk_type = ped_disk_type_get ("pc98"); if (disk_type && disk_type->ops->probe (dev)) goto probe_fail; #endif /* ENABLE_PC98 */ free (label); return 1; probe_fail: free (label); return 0; } static PedDisk* msdos_alloc (const PedDevice* dev) { PedDisk* disk; PED_ASSERT (dev != NULL, return NULL); disk = _ped_disk_alloc ((PedDevice*)dev, &msdos_disk_type); if (disk) { DosDiskData *disk_specific = ped_malloc(sizeof *disk_specific); if (!disk_specific) { free (disk); return NULL; } disk_specific->cylinder_alignment = 1; disk->disk_specific = disk_specific; } return disk; } static PedDisk* msdos_duplicate (const PedDisk* disk) { PedDisk* new_disk; new_disk = ped_disk_new_fresh (disk->dev, &msdos_disk_type); if (!new_disk) return NULL; memcpy(new_disk->disk_specific, disk->disk_specific, sizeof(DosDiskData)); return new_disk; } static void msdos_free (PedDisk* disk) { PED_ASSERT (disk != NULL, return); DosDiskData *disk_specific = disk->disk_specific; _ped_disk_free (disk); free(disk_specific); } static int msdos_disk_set_flag (PedDisk *disk, PedDiskFlag flag, int state) { DosDiskData *disk_specific = disk->disk_specific; switch (flag) { case PED_DISK_CYLINDER_ALIGNMENT: disk_specific->cylinder_alignment = !!state; return 1; default: return 0; } } static int msdos_disk_get_flag (const PedDisk *disk, PedDiskFlag flag) { DosDiskData *disk_specific = disk->disk_specific; switch (flag) { case PED_DISK_CYLINDER_ALIGNMENT: return disk_specific->cylinder_alignment; default: return 0; } } static int msdos_disk_is_flag_available (const PedDisk *disk, PedDiskFlag flag) { switch (flag) { case PED_DISK_CYLINDER_ALIGNMENT: return 1; default: return 0; } } static int chs_get_cylinder (const RawCHS* chs) { return chs->cylinder + ((chs->sector >> 6) << 8); } static int chs_get_head (const RawCHS* chs) { return chs->head; } /* counts from 0 */ static int chs_get_sector (const RawCHS* chs) { return (chs->sector & 0x3f) - 1; } static PedSector chs_to_sector (const PedDevice* dev, const PedCHSGeometry *bios_geom, const RawCHS* chs) { PedSector c; /* not measured in sectors, but need */ PedSector h; /* lots of bits */ PedSector s; PED_ASSERT (bios_geom != NULL, return 0); PED_ASSERT (chs != NULL, return 0); c = chs_get_cylinder (chs); h = chs_get_head (chs); s = chs_get_sector (chs); if (c > MAX_CHS_CYLINDER) /* MAGIC: C/H/S is irrelevant */ return 0; if (s < 0) return 0; return (c * bios_geom->heads + h) * bios_geom->sectors + s; } static void sector_to_chs (const PedDevice* dev, const PedCHSGeometry* bios_geom, PedSector sector, RawCHS* chs) { PedSector real_c, real_h, real_s; PED_ASSERT (dev != NULL, return); PED_ASSERT (chs != NULL, return); if (!bios_geom) bios_geom = &dev->bios_geom; real_c = sector / (bios_geom->heads * bios_geom->sectors); real_h = (sector / bios_geom->sectors) % bios_geom->heads; real_s = sector % bios_geom->sectors; if (real_c > MAX_CHS_CYLINDER) { real_c = 1023; real_h = bios_geom->heads - 1; real_s = bios_geom->sectors - 1; } chs->cylinder = real_c % 0x100; chs->head = real_h; chs->sector = real_s + 1 + (real_c >> 8 << 6); } static PedSector legacy_start (const PedDisk* disk, const PedCHSGeometry* bios_geom, const DosRawPartition* raw_part) { PED_ASSERT (disk != NULL, return 0); PED_ASSERT (raw_part != NULL, return 0); return chs_to_sector (disk->dev, bios_geom, &raw_part->chs_start); } static PedSector legacy_end (const PedDisk* disk, const PedCHSGeometry* bios_geom, const DosRawPartition* raw_part) { PED_ASSERT (disk != NULL, return 0); PED_ASSERT (raw_part != NULL, return 0); return chs_to_sector (disk->dev, bios_geom, &raw_part->chs_end); } static PedSector linear_start (const PedDisk* disk, const DosRawPartition* raw_part, PedSector offset) { PED_ASSERT (disk != NULL, return 0); PED_ASSERT (raw_part != NULL, return 0); return offset + PED_LE32_TO_CPU (raw_part->start); } static PedSector linear_end (const PedDisk* disk, const DosRawPartition* raw_part, PedSector offset) { PED_ASSERT (disk != NULL, return 0); PED_ASSERT (raw_part != NULL, return 0); return (linear_start (disk, raw_part, offset) + (PED_LE32_TO_CPU (raw_part->length) - 1)); } #ifndef DISCOVER_ONLY static int partition_check_bios_geometry (PedPartition* part, PedCHSGeometry* bios_geom) { PedSector leg_start, leg_end; DosPartitionData* dos_data; PedDisk* disk; PED_ASSERT (part != NULL, return 0); PED_ASSERT (part->disk != NULL, return 0); PED_ASSERT (part->disk_specific != NULL, return 0); dos_data = part->disk_specific; if (!dos_data->orig) return 1; disk = part->disk; leg_start = legacy_start (disk, bios_geom, &dos_data->orig->raw_part); leg_end = legacy_end (disk, bios_geom, &dos_data->orig->raw_part); if (leg_start && leg_start != dos_data->orig->geom.start) return 0; if (leg_end && leg_end != dos_data->orig->geom.end) return 0; return 1; } static int disk_check_bios_geometry (const PedDisk* disk, PedCHSGeometry* bios_geom) { PedPartition* part = NULL; PED_ASSERT (disk != NULL, return 0); while ((part = ped_disk_next_partition (disk, part))) { if (ped_partition_is_active (part)) { if (!partition_check_bios_geometry (part, bios_geom)) return 0; } } return 1; } static int probe_filesystem_for_geom (const PedPartition* part, PedCHSGeometry* bios_geom) { const char* ms_types[] = {"ntfs", "fat16", "fat32", NULL}; int i; int found; unsigned char* buf; int sectors; int heads; int res = 0; PED_ASSERT (bios_geom != NULL, return 0); PED_ASSERT (part != NULL, return 0); PED_ASSERT (part->disk != NULL, return 0); PED_ASSERT (part->disk->dev != NULL, return 0); PED_ASSERT (part->disk->dev->sector_size % PED_SECTOR_SIZE_DEFAULT == 0, return 0); buf = ped_malloc (part->disk->dev->sector_size); if (!buf) return 0; if (!part->fs_type) goto end; found = 0; for (i = 0; ms_types[i]; i++) { if (!strcmp(ms_types[i], part->fs_type->name)) found = 1; } if (!found) goto end; if (!ped_geometry_read(&part->geom, buf, 0, 1)) goto end; /* shared by the start of all Microsoft file systems */ sectors = buf[0x18] + (buf[0x19] << 8); heads = buf[0x1a] + (buf[0x1b] << 8); if (sectors < 1 || sectors > 63) goto end; if (heads > 255 || heads < 1) goto end; bios_geom->sectors = sectors; bios_geom->heads = heads; bios_geom->cylinders = part->disk->dev->length / (sectors * heads); res = 1; end: free(buf); return res; } /* This function attempts to infer the BIOS CHS geometry of the hard disk * from the CHS + LBA information contained in the partition table from * a single partition's entry. * * This involves some maths. Let (c,h,s,a) be the starting cylinder, * starting head, starting sector and LBA start address of the partition. * Likewise, (C,H,S,A) the end addresses. Using both of these pieces * of information, we want to deduce cyl_sectors and head_sectors which * are the sizes of a single cylinder and a single head, respectively. * * The relationships are: * c*cyl_sectors + h * head_sectors + s = a * C*cyl_sectors + H * head_sectors + S = A * * We can rewrite this in matrix form: * * [ c h ] [ cyl_sectors ] = [ s - a ] = [ a_ ] * [ C H ] [ head_sectors ] [ S - A ] [ A_ ]. * * (s - a is abbreviated to a_to simplify the notation.) * * This can be abbreviated into augmented matrix form: * * [ c h | a_ ] * [ C H | A_ ]. * * Solving these equations requires following the row reduction algorithm. We * need to be careful about a few things though: * - the equations might be linearly dependent, in which case there * are many solutions. * - the equations might be inconsistent, in which case there * are no solutions. (Inconsistent partition table entry!) * - there might be zeros, so we need to be careful about applying * the algorithm. We know, however, that C > 0. */ static int probe_partition_for_geom (const PedPartition* part, PedCHSGeometry* bios_geom) { DosPartitionData* dos_data; RawCHS* start_chs; RawCHS* end_chs; PedSector c, h, s, a, a_; /* start */ PedSector C, H, S, A, A_; /* end */ PedSector dont_overflow, denum; PedSector cyl_size, head_size; PedSector cylinders, heads, sectors; PED_ASSERT (part != NULL, return 0); PED_ASSERT (part->disk_specific != NULL, return 0); PED_ASSERT (bios_geom != NULL, return 0); dos_data = part->disk_specific; if (!dos_data->orig) return 0; start_chs = &dos_data->orig->raw_part.chs_start; c = chs_get_cylinder (start_chs); h = chs_get_head (start_chs); s = chs_get_sector (start_chs); a = dos_data->orig->geom.start; a_ = a - s; end_chs = &dos_data->orig->raw_part.chs_end; C = chs_get_cylinder (end_chs); H = chs_get_head (end_chs); S = chs_get_sector (end_chs); A = dos_data->orig->geom.end; A_ = A - S; if (h < 0 || H < 0 || h > 254 || H > 254) return 0; if (c > C) return 0; /* If no geometry is feasible, then don't even bother. * Useful for eliminating assertions for broken partition * tables generated by Norton Ghost et al. */ if (A > (C+1) * 255 * 63) return 0; /* Not enough information. In theory, we can do better. Should we? */ if (C > MAX_CHS_CYLINDER) return 0; if (C == 0) return 0; /* Calculate the maximum number that can be multiplied by * any head count without overflowing a PedSector * 2^8 = 256, 8 bits + 1(sign bit) = 9 */ dont_overflow = 1; dont_overflow <<= (8*sizeof(dont_overflow)) - 9; dont_overflow--; if (a_ > dont_overflow || A_ > dont_overflow) return 0; /* The matrix is solved by : * * [ c h | a_] R1 * [ C H | A_] R2 * * (cH - Ch) cyl_size = a_H - A_h H R1 - h R2 * => (if cH - Ch != 0) cyl_size = (a_H - A_h) / (cH - Ch) * * (Hc - hC) head_size = A_c - a_C c R2 - C R1 * => (if cH - Ch != 0) head_size = (A_c - a_C) / (cH - Ch) * * But this calculation of head_size would need * not overflowing A_c or a_C * So substitution is use instead, to minimize dimension * of temporary results : * * If h != 0 : head_size = ( a_ - c cyl_size ) / h * If H != 0 : head_size = ( A_ - C cyl_size ) / H * */ denum = c * H - C * h; if (denum == 0) return 0; cyl_size = (a_*H - A_*h) / denum; /* Check for non integer result */ if (cyl_size * denum != a_*H - A_*h) return 0; PED_ASSERT (cyl_size > 0, return 0); PED_ASSERT (cyl_size <= 255 * 63, return 0); if (h > 0) head_size = ( a_ - c * cyl_size ) / h; else if (H > 0) head_size = ( A_ - C * cyl_size ) / H; else { /* should not happen because denum != 0 */ PED_ASSERT (0, return 0); } PED_ASSERT (head_size > 0, return 0); PED_ASSERT (head_size <= 63, return 0); cylinders = part->disk->dev->length / cyl_size; heads = cyl_size / head_size; sectors = head_size; PED_ASSERT (heads > 0, return 0); PED_ASSERT (heads < 256, return 0); PED_ASSERT (sectors > 0, return 0); PED_ASSERT (sectors <= 63, return 0); /* Some broken OEM partitioning program(s) seem to have an out-by-one * error on the end of partitions. We should offer to fix the * partition table... */ if (((C + 1) * heads + H) * sectors + S == A) C++; PED_ASSERT ((c * heads + h) * sectors + s == a, return 0); PED_ASSERT ((C * heads + H) * sectors + S == A, return 0); bios_geom->cylinders = cylinders; bios_geom->heads = heads; bios_geom->sectors = sectors; return 1; } static void partition_probe_bios_geometry (const PedPartition* part, PedCHSGeometry* bios_geom) { PED_ASSERT (part != NULL, return); PED_ASSERT (part->disk != NULL, return); PED_ASSERT (bios_geom != NULL, return); if (ped_partition_is_active (part)) { if (probe_partition_for_geom (part, bios_geom)) return; if (part->type & PED_PARTITION_EXTENDED) { if (probe_filesystem_for_geom (part, bios_geom)) return; } } if (part->type & PED_PARTITION_LOGICAL) { PedPartition* ext_part; ext_part = ped_disk_extended_partition (part->disk); PED_ASSERT (ext_part != NULL, return); partition_probe_bios_geometry (ext_part, bios_geom); } else { *bios_geom = part->disk->dev->bios_geom; } } static void disk_probe_bios_geometry (const PedDisk* disk, PedCHSGeometry* bios_geom) { PedPartition* part; /* first look at the boot partition */ part = NULL; while ((part = ped_disk_next_partition (disk, part))) { if (!ped_partition_is_active (part)) continue; if (ped_partition_get_flag (part, PED_PARTITION_BOOT)) { if (probe_filesystem_for_geom (part, bios_geom)) return; if (probe_partition_for_geom (part, bios_geom)) return; } } /* that didn't work... try all partition table entries */ part = NULL; while ((part = ped_disk_next_partition (disk, part))) { if (ped_partition_is_active (part)) { if (probe_partition_for_geom (part, bios_geom)) return; } } /* that didn't work... look at all file systems */ part = NULL; while ((part = ped_disk_next_partition (disk, part))) { if (ped_partition_is_active (part)) { if (probe_filesystem_for_geom (part, bios_geom)) return; } } } #endif /* !DISCOVER_ONLY */ static int raw_part_is_extended (const DosRawPartition* raw_part) { PED_ASSERT (raw_part != NULL, return 0); switch (raw_part->type) { case PARTITION_DOS_EXT: case PARTITION_EXT_LBA: case PARTITION_LINUX_EXT: return 1; default: return 0; } return 0; } static int raw_part_is_hidden (const DosRawPartition* raw_part) { PED_ASSERT (raw_part != NULL, return 0); switch (raw_part->type) { case PARTITION_FAT12_H: case PARTITION_FAT16_SM_H: case PARTITION_FAT16_H: case PARTITION_FAT32_H: case PARTITION_NTFS_H: case PARTITION_FAT32_LBA_H: case PARTITION_FAT16_LBA_H: return 1; default: return 0; } return 0; } static int raw_part_is_lba (const DosRawPartition* raw_part) { PED_ASSERT (raw_part != NULL, return 0); switch (raw_part->type) { case PARTITION_FAT32_LBA: case PARTITION_FAT16_LBA: case PARTITION_EXT_LBA: case PARTITION_FAT32_LBA_H: case PARTITION_FAT16_LBA_H: return 1; default: return 0; } return 0; } static PedPartition* raw_part_parse (const PedDisk* disk, const DosRawPartition* raw_part, PedSector lba_offset, PedPartitionType type) { PedPartition* part; DosPartitionData* dos_data; PED_ASSERT (disk != NULL, return NULL); PED_ASSERT (raw_part != NULL, return NULL); part = ped_partition_new ( disk, type, NULL, linear_start (disk, raw_part, lba_offset), linear_end (disk, raw_part, lba_offset)); if (!part) return NULL; dos_data = part->disk_specific; dos_data->system = raw_part->type; dos_data->boot = raw_part->boot_ind != 0; dos_data->diag = raw_part->type == PARTITION_COMPAQ_DIAG || raw_part->type == PARTITION_MSFT_RECOVERY || raw_part->type == PARTITION_DELL_DIAG; dos_data->hidden = raw_part_is_hidden (raw_part); dos_data->raid = raw_part->type == PARTITION_LINUX_RAID; dos_data->lvm = raw_part->type == PARTITION_LINUX_LVM_OLD || raw_part->type == PARTITION_LINUX_LVM; dos_data->lba = raw_part_is_lba (raw_part); dos_data->palo = raw_part->type == PARTITION_PALO; dos_data->prep = raw_part->type == PARTITION_PREP; dos_data->orig = ped_malloc (sizeof (OrigState)); if (!dos_data->orig) { ped_partition_destroy (part); return NULL; } dos_data->orig->geom = part->geom; dos_data->orig->raw_part = *raw_part; dos_data->orig->lba_offset = lba_offset; return part; } static int read_table (PedDisk* disk, PedSector sector, int is_extended_table) { int i; DosRawTable* table; DosRawPartition* raw_part; PedPartition* part; PedPartitionType type; PedSector lba_offset; PED_ASSERT (disk != NULL, return 0); PED_ASSERT (disk->dev != NULL, return 0); void *label = NULL; if (!ptt_read_sector (disk->dev, sector, &label)) goto error; table = (DosRawTable *) label; /* weird: empty extended partitions are filled with 0xf6 by PM */ if (is_extended_table && PED_LE16_TO_CPU (table->magic) == PARTITION_MAGIC_MAGIC) goto read_ok; #ifndef DISCOVER_ONLY if (PED_LE16_TO_CPU (table->magic) != MSDOS_MAGIC) { if (ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_IGNORE_CANCEL, _("Invalid partition table on %s " "-- wrong signature %x."), disk->dev->path, PED_LE16_TO_CPU (table->magic)) != PED_EXCEPTION_IGNORE) goto error; goto read_ok; } #endif /* parse the partitions from this table */ for (i = 0; i < DOS_N_PRI_PARTITIONS; i++) { raw_part = &table->partitions [i]; if (raw_part->type == PARTITION_EMPTY || !raw_part->length) continue; /* process nested extended partitions after normal logical * partitions, to make sure we get the order right. */ if (is_extended_table && raw_part_is_extended (raw_part)) continue; lba_offset = is_extended_table ? sector : 0; if (linear_start (disk, raw_part, lba_offset) == sector) { if (ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_IGNORE_CANCEL, _("Invalid partition table - recursive " "partition on %s."), disk->dev->path) != PED_EXCEPTION_IGNORE) goto error; continue; /* avoid infinite recursion */ } if (is_extended_table) type = PED_PARTITION_LOGICAL; else if (raw_part_is_extended (raw_part)) type = PED_PARTITION_EXTENDED; else type = PED_PARTITION_NORMAL; part = raw_part_parse (disk, raw_part, lba_offset, type); if (!part) goto error; if (!is_extended_table) part->num = i + 1; if (type != PED_PARTITION_EXTENDED) part->fs_type = ped_file_system_probe (&part->geom); PedConstraint *constraint_exact = ped_constraint_exact (&part->geom); bool ok = ped_disk_add_partition (disk, part, constraint_exact); ped_constraint_destroy (constraint_exact); if (!ok) goto error; /* non-nested extended partition */ if (part->type == PED_PARTITION_EXTENDED) { if (!read_table (disk, part->geom.start, 1)) goto error; } } if (is_extended_table) { /* process the nested extended partitions */ for (i = 0; i < DOS_N_PRI_PARTITIONS; i++) { PedSector part_start; raw_part = &table->partitions [i]; if (!raw_part_is_extended (raw_part)) continue; lba_offset = ped_disk_extended_partition (disk)->geom.start; part_start = linear_start (disk, raw_part, lba_offset); if (part_start == sector) { /* recursive table - already threw an * exception above. */ continue; } if (!read_table (disk, part_start, 1)) goto error; } } read_ok: free (label); return 1; error: free (label); ped_disk_delete_all (disk); return 0; } static int msdos_read (PedDisk* disk) { PED_ASSERT (disk != NULL, return 0); PED_ASSERT (disk->dev != NULL, return 0); ped_disk_delete_all (disk); if (!read_table (disk, 0, 0)) return 0; #ifndef DISCOVER_ONLY /* try to figure out the correct BIOS CHS values */ if (!disk_check_bios_geometry (disk, &disk->dev->bios_geom)) { PedCHSGeometry bios_geom = disk->dev->bios_geom; disk_probe_bios_geometry (disk, &bios_geom); /* if the geometry was wrong, then we should reread, to * make sure the metadata is allocated in the right places. */ if (disk->dev->bios_geom.cylinders != bios_geom.cylinders || disk->dev->bios_geom.heads != bios_geom.heads || disk->dev->bios_geom.sectors != bios_geom.sectors) { disk->dev->bios_geom = bios_geom; return msdos_read (disk); } } #endif return 1; } #ifndef DISCOVER_ONLY static int fill_raw_part (DosRawPartition* raw_part, const PedPartition* part, PedSector offset) { DosPartitionData* dos_data; PedCHSGeometry bios_geom; PED_ASSERT (raw_part != NULL, return 0); PED_ASSERT (part != NULL, return 0); partition_probe_bios_geometry (part, &bios_geom); dos_data = part->disk_specific; raw_part->boot_ind = 0x80 * dos_data->boot; raw_part->type = dos_data->system; raw_part->start = PED_CPU_TO_LE32 (part->geom.start - offset); raw_part->length = PED_CPU_TO_LE32 (part->geom.length); sector_to_chs (part->disk->dev, &bios_geom, part->geom.start, &raw_part->chs_start); sector_to_chs (part->disk->dev, &bios_geom, part->geom.end, &raw_part->chs_end); if (dos_data->orig) { DosRawPartition* orig_raw_part = &dos_data->orig->raw_part; if (dos_data->orig->geom.start == part->geom.start) raw_part->chs_start = orig_raw_part->chs_start; if (dos_data->orig->geom.end == part->geom.end) raw_part->chs_end = orig_raw_part->chs_end; } return 1; } static int fill_ext_raw_part_geom (DosRawPartition* raw_part, const PedCHSGeometry* bios_geom, const PedGeometry* geom, PedSector offset) { PED_ASSERT (raw_part != NULL, return 0); PED_ASSERT (geom != NULL, return 0); PED_ASSERT (geom->dev != NULL, return 0); raw_part->boot_ind = 0; raw_part->type = PARTITION_DOS_EXT; raw_part->start = PED_CPU_TO_LE32 (geom->start - offset); raw_part->length = PED_CPU_TO_LE32 (geom->length); sector_to_chs (geom->dev, bios_geom, geom->start, &raw_part->chs_start); sector_to_chs (geom->dev, bios_geom, geom->start + geom->length - 1, &raw_part->chs_end); return 1; } static int write_ext_table (const PedDisk* disk, PedSector sector, const PedPartition* logical) { PedPartition* part; PedSector lba_offset; PED_ASSERT (disk != NULL, return 0); PED_ASSERT (ped_disk_extended_partition (disk) != NULL, return 0); PED_ASSERT (logical != NULL, return 0); lba_offset = ped_disk_extended_partition (disk)->geom.start; void* s; if (!ptt_read_sector (disk->dev, sector, &s)) return 0; DosRawTable *table = s; memset(&(table->partitions), 0, sizeof (table->partitions)); table->magic = PED_CPU_TO_LE16 (MSDOS_MAGIC); int ok = 0; if (!fill_raw_part (&table->partitions[0], logical, sector)) goto cleanup; part = ped_disk_get_partition (disk, logical->num + 1); if (part) { PedGeometry* geom; PedCHSGeometry bios_geom; geom = ped_geometry_new (disk->dev, part->prev->geom.start, part->geom.end - part->prev->geom.start + 1); if (!geom) goto cleanup; partition_probe_bios_geometry (part, &bios_geom); fill_ext_raw_part_geom (&table->partitions[1], &bios_geom, geom, lba_offset); ped_geometry_destroy (geom); if (!write_ext_table (disk, part->prev->geom.start, part)) goto cleanup; } ok = ped_device_write (disk->dev, table, sector, 1); cleanup: free (s); return ok; } static int write_empty_table (const PedDisk* disk, PedSector sector) { DosRawTable table; void* table_sector; PED_ASSERT (disk != NULL, return 0); if (ptt_read_sector (disk->dev, sector, &table_sector)) { memcpy (&table, table_sector, sizeof (table)); free(table_sector); } memset (&(table.partitions), 0, sizeof (table.partitions)); table.magic = PED_CPU_TO_LE16 (MSDOS_MAGIC); return ped_device_write (disk->dev, (void*) &table, sector, 1); } /* Find the first logical partition, and write the partition table for it. */ static int write_extended_partitions (const PedDisk* disk) { PedPartition* ext_part; PedPartition* part; PedCHSGeometry bios_geom; PED_ASSERT (disk != NULL, return 0); ext_part = ped_disk_extended_partition (disk); partition_probe_bios_geometry (ext_part, &bios_geom); part = ped_disk_get_partition (disk, 5); if (part) return write_ext_table (disk, ext_part->geom.start, part); else return write_empty_table (disk, ext_part->geom.start); } static inline uint32_t generate_random_id (void) { struct timeval tv; int rc; rc = gettimeofday(&tv, NULL); if (rc == -1) return 0; return (uint32_t)(tv.tv_usec & 0xFFFFFFFFUL); } static int msdos_write (const PedDisk* disk) { PedPartition* part; int i; PED_ASSERT (disk != NULL, return 0); PED_ASSERT (disk->dev != NULL, return 0); void *s0; if (!ptt_read_sector (disk->dev, 0, &s0)) return 0; DosRawTable *table = (DosRawTable *) s0; if (!table->boot_code[0]) { memset (table->boot_code, 0, 512); memcpy (table->boot_code, MBR_BOOT_CODE, sizeof (MBR_BOOT_CODE)); } /* If there is no unique identifier, generate a random one */ if (!table->mbr_signature) table->mbr_signature = generate_random_id(); memset (table->partitions, 0, sizeof (table->partitions)); table->magic = PED_CPU_TO_LE16 (MSDOS_MAGIC); for (i=1; i<=DOS_N_PRI_PARTITIONS; i++) { part = ped_disk_get_partition (disk, i); if (!part) continue; if (!fill_raw_part (&table->partitions [i - 1], part, 0)) goto write_fail; if (part->type == PED_PARTITION_EXTENDED) { if (!write_extended_partitions (disk)) goto write_fail; } } int write_ok = ped_device_write (disk->dev, (void*) table, 0, 1); free (s0); if (!write_ok) return 0; return ped_device_sync (disk->dev); write_fail: free (s0); return 0; } #endif /* !DISCOVER_ONLY */ static PedPartition* msdos_partition_new (const PedDisk* disk, PedPartitionType part_type, const PedFileSystemType* fs_type, PedSector start, PedSector end) { PedPartition* part; DosPartitionData* dos_data; part = _ped_partition_alloc (disk, part_type, fs_type, start, end); if (!part) goto error; if (ped_partition_is_active (part)) { part->disk_specific = dos_data = ped_malloc (sizeof (DosPartitionData)); if (!dos_data) goto error_free_part; dos_data->orig = NULL; dos_data->system = PARTITION_LINUX; dos_data->hidden = 0; dos_data->boot = 0; dos_data->diag = 0; dos_data->raid = 0; dos_data->lvm = 0; dos_data->lba = 0; dos_data->palo = 0; dos_data->prep = 0; } else { part->disk_specific = NULL; } return part; error_free_part: free (part); error: return 0; } static PedPartition* msdos_partition_duplicate (const PedPartition* part) { PedPartition* new_part; DosPartitionData* new_dos_data; DosPartitionData* old_dos_data; new_part = ped_partition_new (part->disk, part->type, part->fs_type, part->geom.start, part->geom.end); if (!new_part) return NULL; new_part->num = part->num; old_dos_data = (DosPartitionData*) part->disk_specific; new_dos_data = (DosPartitionData*) new_part->disk_specific; new_dos_data->system = old_dos_data->system; new_dos_data->boot = old_dos_data->boot; new_dos_data->diag = old_dos_data->diag; new_dos_data->hidden = old_dos_data->hidden; new_dos_data->raid = old_dos_data->raid; new_dos_data->lvm = old_dos_data->lvm; new_dos_data->lba = old_dos_data->lba; new_dos_data->palo = old_dos_data->palo; new_dos_data->prep = old_dos_data->prep; if (old_dos_data->orig) { new_dos_data->orig = ped_malloc (sizeof (OrigState)); if (!new_dos_data->orig) { ped_partition_destroy (new_part); return NULL; } new_dos_data->orig->geom = old_dos_data->orig->geom; new_dos_data->orig->raw_part = old_dos_data->orig->raw_part; new_dos_data->orig->lba_offset = old_dos_data->orig->lba_offset; } return new_part; } static void msdos_partition_destroy (PedPartition* part) { PED_ASSERT (part != NULL, return); if (ped_partition_is_active (part)) { DosPartitionData* dos_data; dos_data = (DosPartitionData*) part->disk_specific; free (dos_data->orig); free (part->disk_specific); } free (part); } static int msdos_partition_set_system (PedPartition* part, const PedFileSystemType* fs_type) { DosPartitionData* dos_data = part->disk_specific; part->fs_type = fs_type; if (dos_data->hidden && fs_type && strncmp (fs_type->name, "fat", 3) != 0 && strcmp (fs_type->name, "ntfs") != 0) dos_data->hidden = 0; if (part->type & PED_PARTITION_EXTENDED) { dos_data->diag = 0; dos_data->raid = 0; dos_data->lvm = 0; dos_data->palo = 0; dos_data->prep = 0; if (dos_data->lba) dos_data->system = PARTITION_EXT_LBA; else dos_data->system = PARTITION_DOS_EXT; return 1; } if (dos_data->diag) { /* Don't change the system if it already is a diag type, otherwise use Compaq as almost all vendors use that. */ if (dos_data->system != PARTITION_COMPAQ_DIAG && dos_data->system != PARTITION_MSFT_RECOVERY && dos_data->system != PARTITION_DELL_DIAG) dos_data->system = PARTITION_COMPAQ_DIAG; return 1; } if (dos_data->lvm) { dos_data->system = PARTITION_LINUX_LVM; return 1; } if (dos_data->raid) { dos_data->system = PARTITION_LINUX_RAID; return 1; } if (dos_data->palo) { dos_data->system = PARTITION_PALO; return 1; } if (dos_data->prep) { dos_data->system = PARTITION_PREP; return 1; } if (!fs_type) dos_data->system = PARTITION_LINUX; else if (!strcmp (fs_type->name, "fat16")) { dos_data->system = dos_data->lba ? PARTITION_FAT16_LBA : PARTITION_FAT16; dos_data->system |= dos_data->hidden ? PART_FLAG_HIDDEN : 0; } else if (!strcmp (fs_type->name, "fat32")) { dos_data->system = dos_data->lba ? PARTITION_FAT32_LBA : PARTITION_FAT32; dos_data->system |= dos_data->hidden ? PART_FLAG_HIDDEN : 0; } else if (!strcmp (fs_type->name, "ntfs") || !strcmp (fs_type->name, "hpfs")) { dos_data->system = PARTITION_NTFS; dos_data->system |= dos_data->hidden ? PART_FLAG_HIDDEN : 0; } else if (!strcmp (fs_type->name, "hfs") || !strcmp (fs_type->name, "hfs+")) dos_data->system = PARTITION_HFS; else if (!strcmp (fs_type->name, "sun-ufs")) dos_data->system = PARTITION_SUN_UFS; else if (is_linux_swap (fs_type->name)) dos_data->system = PARTITION_LINUX_SWAP; else dos_data->system = PARTITION_LINUX; return 1; } static void clear_flags (DosPartitionData *dos_data) { dos_data->diag = 0; dos_data->hidden = 0; dos_data->lvm = 0; dos_data->palo = 0; dos_data->prep = 0; dos_data->raid = 0; } static int msdos_partition_set_flag (PedPartition* part, PedPartitionFlag flag, int state) { PedDisk* disk; PedPartition* walk; DosPartitionData* dos_data; PED_ASSERT (part != NULL, return 0); PED_ASSERT (part->disk_specific != NULL, return 0); PED_ASSERT (part->disk != NULL, return 0); dos_data = part->disk_specific; disk = part->disk; switch (flag) { case PED_PARTITION_HIDDEN: if (part->type == PED_PARTITION_EXTENDED) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Extended partitions cannot be hidden on " "msdos disk labels.")); return 0; } dos_data->hidden = state; return ped_partition_set_system (part, part->fs_type); case PED_PARTITION_BOOT: dos_data->boot = state; if (!state) return 1; walk = ped_disk_next_partition (disk, NULL); for (; walk; walk = ped_disk_next_partition (disk, walk)) { if (walk == part || !ped_partition_is_active (walk)) continue; msdos_partition_set_flag (walk, PED_PARTITION_BOOT, 0); } return 1; case PED_PARTITION_DIAG: if (state) clear_flags (dos_data); dos_data->diag = state; return ped_partition_set_system (part, part->fs_type); case PED_PARTITION_RAID: if (state) clear_flags (dos_data); dos_data->raid = state; return ped_partition_set_system (part, part->fs_type); case PED_PARTITION_LVM: if (state) clear_flags (dos_data); dos_data->lvm = state; return ped_partition_set_system (part, part->fs_type); case PED_PARTITION_LBA: dos_data->lba = state; return ped_partition_set_system (part, part->fs_type); case PED_PARTITION_PALO: if (state) clear_flags (dos_data); dos_data->palo = state; return ped_partition_set_system (part, part->fs_type); case PED_PARTITION_PREP: if (state) clear_flags (dos_data); dos_data->prep = state; return ped_partition_set_system (part, part->fs_type); default: return 0; } } static int msdos_partition_get_flag (const PedPartition* part, PedPartitionFlag flag) { DosPartitionData* dos_data; PED_ASSERT (part != NULL, return 0); PED_ASSERT (part->disk_specific != NULL, return 0); dos_data = part->disk_specific; switch (flag) { case PED_PARTITION_HIDDEN: if (part->type == PED_PARTITION_EXTENDED) return 0; else return dos_data->hidden; case PED_PARTITION_BOOT: return dos_data->boot; case PED_PARTITION_DIAG: return dos_data->diag; case PED_PARTITION_RAID: return dos_data->raid; case PED_PARTITION_LVM: return dos_data->lvm; case PED_PARTITION_LBA: return dos_data->lba; case PED_PARTITION_PALO: return dos_data->palo; case PED_PARTITION_PREP: return dos_data->prep; default: return 0; } } static int msdos_partition_is_flag_available (const PedPartition* part, PedPartitionFlag flag) { switch (flag) { case PED_PARTITION_HIDDEN: if (part->type == PED_PARTITION_EXTENDED) return 0; else return 1; case PED_PARTITION_BOOT: case PED_PARTITION_RAID: case PED_PARTITION_LVM: case PED_PARTITION_LBA: case PED_PARTITION_PALO: case PED_PARTITION_PREP: case PED_PARTITION_DIAG: return 1; default: return 0; } } static PedGeometry* _try_constraint (const PedPartition* part, const PedConstraint* external, PedConstraint* internal) { PedConstraint* intersection; PedGeometry* solution; intersection = ped_constraint_intersect (external, internal); ped_constraint_destroy (internal); if (!intersection) return NULL; solution = ped_constraint_solve_nearest (intersection, &part->geom); ped_constraint_destroy (intersection); return solution; } static PedGeometry* _best_solution (const PedPartition* part, const PedCHSGeometry* bios_geom, PedGeometry* a, PedGeometry* b) { PedSector cyl_size = bios_geom->heads * bios_geom->sectors; int a_cylinder; int b_cylinder; if (!a) return b; if (!b) return a; a_cylinder = a->start / cyl_size; b_cylinder = b->start / cyl_size; if (a_cylinder == b_cylinder) { if ( (a->start / bios_geom->sectors) % bios_geom->heads < (b->start / bios_geom->sectors) % bios_geom->heads) goto choose_a; else goto choose_b; } else { PedSector a_delta; PedSector b_delta; a_delta = abs (part->geom.start - a->start); b_delta = abs (part->geom.start - b->start); if (a_delta < b_delta) goto choose_a; else goto choose_b; } return NULL; /* never get here! */ choose_a: ped_geometry_destroy (b); return a; choose_b: ped_geometry_destroy (a); return b; } /* This constraint is for "normal" primary partitions, that start at the * beginning of a cylinder, and end at the end of a cylinder. * Note: you can't start a partition at the beginning of the 1st * cylinder, because that's where the partition table is! There are different * rules for that - see the _primary_start_constraint. */ static PedConstraint* _primary_constraint (const PedDisk* disk, const PedCHSGeometry* bios_geom, PedGeometry* min_geom) { PedDevice* dev = disk->dev; PedSector cylinder_size = bios_geom->sectors * bios_geom->heads; PedAlignment start_align; PedAlignment end_align; PedGeometry start_geom; PedGeometry end_geom; if (!ped_alignment_init (&start_align, 0, cylinder_size)) return NULL; if (!ped_alignment_init (&end_align, -1, cylinder_size)) return NULL; if (min_geom) { if (min_geom->start < cylinder_size) return NULL; if (!ped_geometry_init (&start_geom, dev, cylinder_size, min_geom->start + 1 - cylinder_size)) return NULL; if (!ped_geometry_init (&end_geom, dev, min_geom->end, dev->length - min_geom->end)) return NULL; } else { /* Do not assume that length is larger than 1 cylinder's worth of sectors. This is useful when testing with a memory-mapped "disk" (a la scsi_debug) that is say, 2048 sectors long. */ if (cylinder_size < dev->length && !ped_geometry_init (&start_geom, dev, cylinder_size, dev->length - cylinder_size)) return NULL; if (!ped_geometry_init (&end_geom, dev, 0, dev->length)) return NULL; } return ped_constraint_new (&start_align, &end_align, &start_geom, &end_geom, 1, dev->length); } /* This constraint is for partitions starting on the first cylinder. They * must start on the 2nd head of the 1st cylinder. * * NOTE: We don't always start on the 2nd head of the 1st cylinder. Windows * Vista aligns starting partitions at sector 2048 (0x800) by default. See: * http://support.microsoft.com/kb/923332 */ static PedConstraint* _primary_start_constraint (const PedDisk* disk, const PedPartition *part, const PedCHSGeometry* bios_geom, const PedGeometry* min_geom) { PedDevice* dev = disk->dev; PedSector cylinder_size = bios_geom->sectors * bios_geom->heads; PedAlignment start_align; PedAlignment end_align; PedGeometry start_geom; PedGeometry end_geom; PedSector start_pos; if (part->geom.start == 2048) /* check for known Windows Vista (NTFS >= 3.1) alignments */ /* sector 0x800 == 2048 */ start_pos = 2048; else /* all other primary partitions on a DOS label align to */ /* the 2nd head of the first cylinder (0x3F == 63) */ start_pos = bios_geom->sectors; if (!ped_alignment_init (&start_align, start_pos, 0)) return NULL; if (!ped_alignment_init (&end_align, -1, cylinder_size)) return NULL; if (min_geom) { if (!ped_geometry_init (&start_geom, dev, start_pos, 1)) return NULL; if (!ped_geometry_init (&end_geom, dev, min_geom->end, dev->length - min_geom->end)) return NULL; } else { if (!ped_geometry_init (&start_geom, dev, start_pos, dev->length - start_pos)) return NULL; if (!ped_geometry_init (&end_geom, dev, 0, dev->length)) return NULL; } return ped_constraint_new (&start_align, &end_align, &start_geom, &end_geom, 1, dev->length); } /* constraints for logical partitions: * - start_offset is the offset in the start alignment. "normally", * this is bios_geom->sectors. exceptions: MINOR > 5 at the beginning of the * extended partition, or MINOR == 5 in the middle of the extended partition * - is_start_part == 1 if the constraint is for the first cylinder of * the extended partition, or == 0 if the constraint is for the second cylinder * onwards of the extended partition. */ static PedConstraint* _logical_constraint (const PedDisk* disk, const PedCHSGeometry* bios_geom, PedSector start_offset, int is_start_part) { PedPartition* ext_part = ped_disk_extended_partition (disk); PedDevice* dev = disk->dev; PedSector cylinder_size = bios_geom->sectors * bios_geom->heads; PedAlignment start_align; PedAlignment end_align; PedGeometry max_geom; PED_ASSERT (ext_part != NULL, return NULL); if (!ped_alignment_init (&start_align, start_offset, cylinder_size)) return NULL; if (!ped_alignment_init (&end_align, -1, cylinder_size)) return NULL; if (is_start_part) { if (!ped_geometry_init (&max_geom, dev, ext_part->geom.start, ext_part->geom.length)) return NULL; } else { PedSector min_start; PedSector max_length; min_start = ped_round_up_to (ext_part->geom.start + 1, cylinder_size); max_length = ext_part->geom.end - min_start + 1; if (min_start >= ext_part->geom.end) return NULL; if (!ped_geometry_init (&max_geom, dev, min_start, max_length)) return NULL; } return ped_constraint_new (&start_align, &end_align, &max_geom, &max_geom, 1, dev->length); } /* returns the minimum geometry for the extended partition, given that the * extended partition must contain: * * all logical partitions * * all partition tables for all logical partitions (except the first) * * the extended partition table */ static PedGeometry* _get_min_extended_part_geom (const PedPartition* ext_part, const PedCHSGeometry* bios_geom) { PedDisk* disk = ext_part->disk; PedSector head_size = bios_geom ? bios_geom->sectors : 1; PedPartition* walk; PedGeometry* min_geom; walk = ped_disk_get_partition (disk, 5); if (!walk) return NULL; min_geom = ped_geometry_duplicate (&walk->geom); if (!min_geom) return NULL; /* We must always allow at least two sectors at the start, to leave * room for LILO. See linux/fs/partitions/msdos.c. */ ped_geometry_set_start (min_geom, walk->geom.start - PED_MAX (1 * head_size, 2)); for (walk = ext_part->part_list; walk; walk = walk->next) { if (!ped_partition_is_active (walk) || walk->num == 5) continue; if (walk->geom.start < min_geom->start) ped_geometry_set_start (min_geom, walk->geom.start - 2 * head_size); if (walk->geom.end > min_geom->end) ped_geometry_set_end (min_geom, walk->geom.end); } return min_geom; } static int _align_primary (PedPartition* part, const PedCHSGeometry* bios_geom, const PedConstraint* constraint) { PedDisk* disk = part->disk; PedGeometry* min_geom = NULL; PedGeometry* solution = NULL; if (part->type == PED_PARTITION_EXTENDED) min_geom = _get_min_extended_part_geom (part, bios_geom); solution = _best_solution (part, bios_geom, solution, _try_constraint (part, constraint, _primary_start_constraint (disk, part, bios_geom, min_geom))); solution = _best_solution (part, bios_geom, solution, _try_constraint (part, constraint, _primary_constraint (disk, bios_geom, min_geom))); if (min_geom) ped_geometry_destroy (min_geom); if (solution) { ped_geometry_set (&part->geom, solution->start, solution->length); ped_geometry_destroy (solution); return 1; } return 0; } static int _logical_min_start_head (const PedPartition* part, const PedCHSGeometry* bios_geom, const PedPartition* ext_part, int is_start_ext_part) { PedSector cylinder_size = bios_geom->sectors * bios_geom->heads; PedSector base_head; if (is_start_ext_part) base_head = 1 + (ext_part->geom.start % cylinder_size) / bios_geom->sectors; else base_head = 0; if (part->num == 5) return base_head + 0; else return base_head + 1; } /* Shamelessly copied and adapted from _partition_get_overlap_constraint * (in disk.c) * This should get rid of the infamous Assertion (metadata_length > 0) failed * bug for extended msdos disklabels generated by Parted. * 1) There always is a partition table at the start of ext_part, so we leave * a one sector gap there. * 2)*The partition table of part5 is always at the beginning of the ext_part * so there is no need to leave a one sector gap before part5. * *There always is a partition table at the beginning of each partition != 5. * We don't need to worry to much about consistency with * _partition_get_overlap_constraint because missing it means we are in edge * cases anyway, and we don't lose anything by just refusing to do the job in * those cases. */ static PedConstraint* _log_meta_overlap_constraint (PedPartition* part, const PedGeometry* geom) { PedGeometry safe_space; PedSector min_start; PedSector max_end; PedPartition* ext_part = ped_disk_extended_partition (part->disk); PedPartition* walk; int not_5 = (part->num != 5); PED_ASSERT (ext_part != NULL, return NULL); walk = ext_part->part_list; /* 1) 2) */ min_start = ext_part->geom.start + 1 + not_5; max_end = ext_part->geom.end; while (walk != NULL /* 2) 2) */ && ( walk->geom.start - (walk->num != 5) < geom->start - not_5 || walk->geom.start - (walk->num != 5) <= min_start )) { if (walk != part && ped_partition_is_active (walk)) min_start = walk->geom.end + 1 + not_5; /* 2) */ walk = walk->next; } while (walk && (walk == part || !ped_partition_is_active (walk))) walk = walk->next; if (walk) max_end = walk->geom.start - 1 - (walk->num != 5); /* 2) */ if (min_start >= max_end) return NULL; ped_geometry_init (&safe_space, part->disk->dev, min_start, max_end - min_start + 1); return ped_constraint_new_from_max (&safe_space); } static int _align_logical (PedPartition* part, const PedCHSGeometry* bios_geom, const PedConstraint* constraint) { PedDisk* disk = part->disk; PedPartition* ext_part = ped_disk_extended_partition (disk); PedSector cyl_size = bios_geom->sectors * bios_geom->heads; PedSector start_base; int head; PedGeometry* solution = NULL; PedConstraint *intersect, *log_meta_overlap; PED_ASSERT (ext_part != NULL, return 0); log_meta_overlap = _log_meta_overlap_constraint(part, &part->geom); intersect = ped_constraint_intersect (constraint, log_meta_overlap); ped_constraint_destroy (log_meta_overlap); if (!intersect) return 0; start_base = ped_round_down_to (part->geom.start, cyl_size); for (head = _logical_min_start_head (part, bios_geom, ext_part, 0); head < PED_MIN (5, bios_geom->heads); head++) { PedConstraint* disk_constraint; PedSector start = start_base + head * bios_geom->sectors; if (head >= _logical_min_start_head (part, bios_geom, ext_part, 1)) disk_constraint = _logical_constraint (disk, bios_geom, start, 1); else disk_constraint = _logical_constraint (disk, bios_geom, start, 0); solution = _best_solution (part, bios_geom, solution, _try_constraint (part, intersect, disk_constraint)); } ped_constraint_destroy (intersect); if (solution) { ped_geometry_set (&part->geom, solution->start, solution->length); ped_geometry_destroy (solution); return 1; } return 0; } static int _align (PedPartition* part, const PedCHSGeometry* bios_geom, const PedConstraint* constraint) { if (part->type == PED_PARTITION_LOGICAL) return _align_logical (part, bios_geom, constraint); else return _align_primary (part, bios_geom, constraint); } static PedConstraint* _no_geom_constraint (const PedDisk* disk, PedSector start, PedSector end) { PedGeometry max; ped_geometry_init (&max, disk->dev, start, end - start + 1); return ped_constraint_new_from_max (&max); } static PedConstraint* _no_geom_extended_constraint (const PedPartition* part) { PedDevice* dev = part->disk->dev; PedGeometry* min = _get_min_extended_part_geom (part, NULL); PedGeometry start_range; PedGeometry end_range; PedConstraint* constraint; if (min) { ped_geometry_init (&start_range, dev, 1, min->start); ped_geometry_init (&end_range, dev, min->end, dev->length - min->end); ped_geometry_destroy (min); } else { ped_geometry_init (&start_range, dev, 1, dev->length - 1); ped_geometry_init (&end_range, dev, 1, dev->length - 1); } constraint = ped_constraint_new (ped_alignment_any, ped_alignment_any, &start_range, &end_range, 1, dev->length); return constraint; } static int _align_primary_no_geom (PedPartition* part, const PedConstraint* constraint) { PedDisk* disk = part->disk; PedGeometry* solution; if (part->type == PED_PARTITION_EXTENDED) { solution = _try_constraint (part, constraint, _no_geom_extended_constraint (part)); } else { solution = _try_constraint (part, constraint, _no_geom_constraint (disk, 1, disk->dev->length - 1)); } if (solution) { ped_geometry_set (&part->geom, solution->start, solution->length); ped_geometry_destroy (solution); return 1; } return 0; } static int _align_logical_no_geom (PedPartition* part, const PedConstraint* constraint) { PedGeometry* solution; solution = _try_constraint (part, constraint, _log_meta_overlap_constraint (part, &part->geom)); if (solution) { ped_geometry_set (&part->geom, solution->start, solution->length); ped_geometry_destroy (solution); return 1; } return 0; } static int _align_no_geom (PedPartition* part, const PedConstraint* constraint) { if (part->type == PED_PARTITION_LOGICAL) return _align_logical_no_geom (part, constraint); else return _align_primary_no_geom (part, constraint); } static int msdos_partition_align (PedPartition* part, const PedConstraint* constraint) { PedCHSGeometry bios_geom; DosPartitionData* dos_data; PED_ASSERT (part != NULL, return 0); PED_ASSERT (part->disk_specific != NULL, return 0); dos_data = part->disk_specific; if (dos_data->system == PARTITION_LDM && dos_data->orig) { PedGeometry *orig_geom = &dos_data->orig->geom; if (ped_geometry_test_equal (&part->geom, orig_geom) && ped_constraint_is_solution (constraint, &part->geom)) return 1; ped_geometry_set (&part->geom, orig_geom->start, orig_geom->length); ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Parted can't resize partitions managed by " "Windows Dynamic Disk.")); return 0; } partition_probe_bios_geometry (part, &bios_geom); DosDiskData *disk_specific = part->disk->disk_specific; if (disk_specific->cylinder_alignment && _align(part, &bios_geom, constraint)) return 1; if (_align_no_geom (part, constraint)) return 1; #ifndef DISCOVER_ONLY ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Unable to satisfy all constraints on the partition.")); #endif return 0; } static int add_metadata_part (PedDisk* disk, PedPartitionType type, PedSector start, PedSector end) { PedPartition* new_part; PED_ASSERT (disk != NULL, return 0); new_part = ped_partition_new (disk, type | PED_PARTITION_METADATA, NULL, start, end); if (!new_part) goto error; if (!ped_disk_add_partition (disk, new_part, NULL)) goto error_destroy_new_part; return 1; error_destroy_new_part: ped_partition_destroy (new_part); error: return 0; } /* There are a few objectives here: * - avoid having lots of "free space" partitions lying around, to confuse * the front end. * - ensure that there's enough room to put in the extended partition * tables, etc. */ static int add_logical_part_metadata (PedDisk* disk, const PedPartition* log_part) { PedPartition* ext_part = ped_disk_extended_partition (disk); PedPartition* prev = log_part->prev; PedCHSGeometry bios_geom; PedSector cyl_size; PedSector metadata_start; PedSector metadata_end; PedSector metadata_length; partition_probe_bios_geometry (ext_part, &bios_geom); cyl_size = bios_geom.sectors * bios_geom.heads; /* if there's metadata shortly before the partition (on the same * cylinder), then make this new metadata partition touch the end of * the other. No point having 63 bytes (or whatever) of free space * partition - just confuses front-ends, etc. * Otherwise, start the metadata at the start of the cylinder */ metadata_end = log_part->geom.start - 1; metadata_start = ped_round_down_to (metadata_end, cyl_size); if (prev) metadata_start = PED_MAX (metadata_start, prev->geom.end + 1); else metadata_start = PED_MAX (metadata_start, ext_part->geom.start + 1); metadata_length = metadata_end - metadata_start + 1; /* partition 5 doesn't need to have any metadata */ if (log_part->num == 5 && metadata_length < bios_geom.sectors) return 1; PED_ASSERT (metadata_length > 0, return 0); return add_metadata_part (disk, PED_PARTITION_LOGICAL, metadata_start, metadata_end); } /* * Find the starting sector number of the first non-free partition, * set *SECTOR to that value, and return 1. * If there is no non-free partition, don't modify *SECTOR and return 0. */ static int get_start_first_nonfree_part (const PedDisk* disk, PedSector *sector) { PedPartition* walk; // disk->part_list is the first partition on the disk. if (!disk->part_list) return 0; for (walk = disk->part_list; walk; walk = walk->next) { if (walk->type == PED_PARTITION_NORMAL || walk->type == PED_PARTITION_EXTENDED) { *sector = walk->geom.start; return 1; } } return 0; } /* * Find the ending sector number of the last non-free partition, * set *SECTOR to that value, and return 1. * If there is no non-free partition, don't modify *SECTOR and return 0. */ static int get_end_last_nonfree_part (const PedDisk* disk, PedSector *sector) { PedPartition* last_part = NULL; PedPartition* walk; // disk->part_list is the first partition on the disk. if (!disk->part_list) return 0; for (walk = disk->part_list; walk; walk = walk->next) { if (walk->type == PED_PARTITION_NORMAL || walk->type == PED_PARTITION_EXTENDED) { last_part = walk; } } if (!last_part) return 0; else { *sector = last_part->geom.end; return 1; } } /* Adds metadata placeholder partitions to cover the partition table (and * "free" space after it that often has bootloader stuff), and the last * incomplete cylinder at the end of the disk. * Parted has to be mindful of the uncertainty of dev->bios_geom. * It therefore makes sure this metadata doesn't overlap with partitions. */ static int add_startend_metadata (PedDisk* disk) { PedDevice* dev = disk->dev; PedSector cyl_size = dev->bios_geom.sectors * dev->bios_geom.heads; PedSector init_start, init_end, final_start, final_end; // Ranges for the initial and final metadata partition. init_start = 0; if (!get_start_first_nonfree_part(disk, &init_end)) init_end = dev->bios_geom.sectors - 1; else init_end = PED_MIN (dev->bios_geom.sectors - 1, init_end - 1); DosDiskData *disk_specific = disk->disk_specific; if (!disk_specific->cylinder_alignment) final_start = dev->length - 1; else if (!get_end_last_nonfree_part(disk, &final_start)) final_start = ped_round_down_to (dev->length, cyl_size); else final_start = PED_MAX (final_start + 1, ped_round_down_to (dev->length, cyl_size)); final_end = dev->length - 1; // Create the metadata partitions. // init_end <= dev->length for devices that are _real_ small. if (init_start < init_end && init_end <= dev->length && !add_metadata_part (disk, PED_PARTITION_NORMAL, init_start, init_end)) return 0; // init_end < final_start so they dont overlap. For very small devs. if (final_start < final_end && init_end < final_start && final_end <= dev->length && !add_metadata_part (disk, PED_PARTITION_NORMAL, final_start, final_end)) return 0; return 1; } static int msdos_alloc_metadata (PedDisk* disk) { PedPartition* ext_part; PED_ASSERT (disk != NULL, return 0); PED_ASSERT (disk->dev != NULL, return 0); if (!add_startend_metadata (disk)) return 0; ext_part = ped_disk_extended_partition (disk); if (ext_part) { int i; PedSector start, end; PedCHSGeometry bios_geom; for (i=5; 1; i++) { PedPartition* log_part; log_part = ped_disk_get_partition (disk, i); if (!log_part) break; if (!add_logical_part_metadata (disk, log_part)) return 0; } partition_probe_bios_geometry (ext_part, &bios_geom); start = ext_part->geom.start; end = start + bios_geom.sectors - 1; if (ext_part->part_list) end = PED_MIN (end, ext_part->part_list->geom.start - 1); if (!add_metadata_part (disk, PED_PARTITION_LOGICAL, start, end)) return 0; } return 1; } static int next_primary (const PedDisk* disk) { int i; for (i=1; i<=DOS_N_PRI_PARTITIONS; i++) { if (!ped_disk_get_partition (disk, i)) return i; } return 0; } static int next_logical (const PedDisk* disk) { int i; for (i=5; 1; i++) { if (!ped_disk_get_partition (disk, i)) return i; } } static int msdos_partition_enumerate (PedPartition* part) { PED_ASSERT (part != NULL, return 0); PED_ASSERT (part->disk != NULL, return 0); /* don't re-number a primary partition */ if (part->num != -1 && part->num <= DOS_N_PRI_PARTITIONS) return 1; part->num = -1; if (part->type & PED_PARTITION_LOGICAL) part->num = next_logical (part->disk); else part->num = next_primary (part->disk); return 1; } static int msdos_get_max_primary_partition_count (const PedDisk* disk) { return DOS_N_PRI_PARTITIONS; } static bool msdos_get_max_supported_partition_count(const PedDisk* disk, int *max_n) { *max_n = MAX_TOTAL_PART; return true; } #include "pt-common.h" PT_define_limit_functions (msdos) static PedDiskOps msdos_disk_ops = { clobber: NULL, write: NULL_IF_DISCOVER_ONLY (msdos_write), disk_set_flag: msdos_disk_set_flag, disk_get_flag: msdos_disk_get_flag, disk_is_flag_available: msdos_disk_is_flag_available, partition_set_name: NULL, partition_get_name: NULL, PT_op_function_initializers (msdos) }; static PedDiskType msdos_disk_type = { next: NULL, name: "msdos", ops: &msdos_disk_ops, features: PED_DISK_TYPE_EXTENDED }; void ped_disk_msdos_init () { PED_ASSERT (sizeof (DosRawPartition) == 16, return); PED_ASSERT (sizeof (DosRawTable) == 512, return); ped_disk_type_register (&msdos_disk_type); } void ped_disk_msdos_done () { ped_disk_type_unregister (&msdos_disk_type); } parted-2.3/libparted/labels/gpt.c0000644000000000000000000015253511370544035013707 00000000000000/* libparted - a library for manipulating disk partitions original version by Matt Domsch Disclaimed into the Public Domain Portions Copyright (C) 2001-2003, 2005-2010 Free Software Foundation, Inc. EFI GUID Partition Table handling Per Intel EFI Specification v1.02 http://developer.intel.com/technology/efi/efi.htm 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "xalloc.h" #include "pt-tools.h" #if ENABLE_NLS # include # define _(String) gettext (String) #else # define _(String) (String) #endif /* ENABLE_NLS */ #define EFI_PMBR_OSTYPE_EFI 0xEE #define MSDOS_MBR_SIGNATURE 0xaa55 #define GPT_HEADER_SIGNATURE 0x5452415020494645LL /* NOTE: the document that describes revision 1.00 is labelled "version 1.02", * so some implementors got confused... */ #define GPT_HEADER_REVISION_V1_02 0x00010200 #define GPT_HEADER_REVISION_V1_00 0x00010000 #define GPT_HEADER_REVISION_V0_99 0x00009900 typedef uint16_t efi_char16_t; /* UNICODE character */ typedef struct _GuidPartitionTableHeader_t GuidPartitionTableHeader_t; typedef struct _GuidPartitionEntryAttributes_t GuidPartitionEntryAttributes_t; typedef struct _GuidPartitionEntry_t GuidPartitionEntry_t; typedef struct _PartitionRecord_t PartitionRecord_t; typedef struct _LegacyMBR_t LegacyMBR_t; typedef struct _GPTDiskData GPTDiskData; typedef struct { uint32_t time_low; uint16_t time_mid; uint16_t time_hi_and_version; uint8_t clock_seq_hi_and_reserved; uint8_t clock_seq_low; uint8_t node[6]; } /* __attribute__ ((packed)) */ efi_guid_t; /* commented out "__attribute__ ((packed))" to work around gcc bug (fixed * in gcc3.1): __attribute__ ((packed)) breaks addressing on initialized * data. It turns out we don't need it in this case, so it doesn't break * anything :) */ #define UNUSED_ENTRY_GUID \ ((efi_guid_t) { 0x00000000, 0x0000, 0x0000, 0x00, 0x00, \ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }}) #define PARTITION_SYSTEM_GUID \ ((efi_guid_t) { PED_CPU_TO_LE32 (0xC12A7328), PED_CPU_TO_LE16 (0xF81F), \ PED_CPU_TO_LE16 (0x11d2), 0xBA, 0x4B, \ { 0x00, 0xA0, 0xC9, 0x3E, 0xC9, 0x3B }}) #define PARTITION_BIOS_GRUB_GUID \ ((efi_guid_t) { PED_CPU_TO_LE32 (0x21686148), PED_CPU_TO_LE16 (0x6449), \ PED_CPU_TO_LE16 (0x6E6f), 0x74, 0x4E, \ { 0x65, 0x65, 0x64, 0x45, 0x46, 0x49 }}) #define LEGACY_MBR_PARTITION_GUID \ ((efi_guid_t) { PED_CPU_TO_LE32 (0x024DEE41), PED_CPU_TO_LE16 (0x33E7), \ PED_CPU_TO_LE16 (0x11d3, 0x9D, 0x69, \ { 0x00, 0x08, 0xC7, 0x81, 0xF3, 0x9F }}) #define PARTITION_MSFT_RESERVED_GUID \ ((efi_guid_t) { PED_CPU_TO_LE32 (0xE3C9E316), PED_CPU_TO_LE16 (0x0B5C), \ PED_CPU_TO_LE16 (0x4DB8), 0x81, 0x7D, \ { 0xF9, 0x2D, 0xF0, 0x02, 0x15, 0xAE }}) #define PARTITION_MSFT_RECOVERY \ ((efi_guid_t) { PED_CPU_TO_LE32 (0xDE94BBA4), PED_CPU_TO_LE16 (0x06D1), \ PED_CPU_TO_LE16 (0x4D40), 0xA1, 0x6A, \ { 0xBF, 0xD5, 0x01, 0x79, 0xD6, 0xAC }}) #define PARTITION_BASIC_DATA_GUID \ ((efi_guid_t) { PED_CPU_TO_LE32 (0xEBD0A0A2), PED_CPU_TO_LE16 (0xB9E5), \ PED_CPU_TO_LE16 (0x4433), 0x87, 0xC0, \ { 0x68, 0xB6, 0xB7, 0x26, 0x99, 0xC7 }}) #define PARTITION_RAID_GUID \ ((efi_guid_t) { PED_CPU_TO_LE32 (0xa19d880f), PED_CPU_TO_LE16 (0x05fc), \ PED_CPU_TO_LE16 (0x4d3b), 0xa0, 0x06, \ { 0x74, 0x3f, 0x0f, 0x84, 0x91, 0x1e }}) #define PARTITION_SWAP_GUID \ ((efi_guid_t) { PED_CPU_TO_LE32 (0x0657fd6d), PED_CPU_TO_LE16 (0xa4ab), \ PED_CPU_TO_LE16 (0x43c4), 0x84, 0xe5, \ { 0x09, 0x33, 0xc8, 0x4b, 0x4f, 0x4f }}) #define PARTITION_LVM_GUID \ ((efi_guid_t) { PED_CPU_TO_LE32 (0xe6d6d379), PED_CPU_TO_LE16 (0xf507), \ PED_CPU_TO_LE16 (0x44c2), 0xa2, 0x3c, \ { 0x23, 0x8f, 0x2a, 0x3d, 0xf9, 0x28 }}) #define PARTITION_RESERVED_GUID \ ((efi_guid_t) { PED_CPU_TO_LE32 (0x8da63339), PED_CPU_TO_LE16 (0x0007), \ PED_CPU_TO_LE16 (0x60c0), 0xc4, 0x36, \ { 0x08, 0x3a, 0xc8, 0x23, 0x09, 0x08 }}) #define PARTITION_HPSERVICE_GUID \ ((efi_guid_t) { PED_CPU_TO_LE32 (0xe2a1e728), PED_CPU_TO_LE16 (0x32e3), \ PED_CPU_TO_LE16 (0x11d6), 0xa6, 0x82, \ { 0x7b, 0x03, 0xa0, 0x00, 0x00, 0x00 }}) #define PARTITION_APPLE_HFS_GUID \ ((efi_guid_t) { PED_CPU_TO_LE32 (0x48465300), PED_CPU_TO_LE16 (0x0000), \ PED_CPU_TO_LE16 (0x11AA), 0xaa, 0x11, \ { 0x00, 0x30, 0x65, 0x43, 0xEC, 0xAC }}) #define PARTITION_APPLE_TV_RECOVERY_GUID \ ((efi_guid_t) { PED_CPU_TO_LE32 (0x5265636F), PED_CPU_TO_LE16 (0x7665), \ PED_CPU_TO_LE16 (0x11AA), 0xaa, 0x11, \ { 0x00, 0x30, 0x65, 0x43, 0xEC, 0xAC }}) struct __attribute__ ((packed)) _GuidPartitionTableHeader_t { uint64_t Signature; uint32_t Revision; uint32_t HeaderSize; uint32_t HeaderCRC32; uint32_t Reserved1; uint64_t MyLBA; uint64_t AlternateLBA; uint64_t FirstUsableLBA; uint64_t LastUsableLBA; efi_guid_t DiskGUID; uint64_t PartitionEntryLBA; uint32_t NumberOfPartitionEntries; uint32_t SizeOfPartitionEntry; uint32_t PartitionEntryArrayCRC32; uint8_t *Reserved2; }; struct __attribute__ ((packed)) _GuidPartitionEntryAttributes_t { #ifdef __GNUC__ /* XXX narrow this down to !TinyCC */ uint64_t RequiredToFunction:1; uint64_t Reserved:47; uint64_t GuidSpecific:16; #else # warning "Using crippled partition entry type" uint32_t RequiredToFunction:1; uint32_t Reserved:32; uint32_t LOST:5; uint32_t GuidSpecific:16; #endif }; struct __attribute__ ((packed)) _GuidPartitionEntry_t { efi_guid_t PartitionTypeGuid; efi_guid_t UniquePartitionGuid; uint64_t StartingLBA; uint64_t EndingLBA; GuidPartitionEntryAttributes_t Attributes; efi_char16_t PartitionName[72 / sizeof (efi_char16_t)]; }; #define GPT_PMBR_LBA 0 #define GPT_PMBR_SECTORS 1 #define GPT_PRIMARY_HEADER_LBA 1 #define GPT_HEADER_SECTORS 1 #define GPT_PRIMARY_PART_TABLE_LBA 2 /* These values are only defaults. The actual on-disk structures may define different sizes, so use those unless creating a new GPT disk! */ #define GPT_DEFAULT_PARTITION_ENTRY_ARRAY_SIZE 16384 /* Number of actual partition entries should be calculated as: */ #define GPT_DEFAULT_PARTITION_ENTRIES \ (GPT_DEFAULT_PARTITION_ENTRY_ARRAY_SIZE / \ sizeof(GuidPartitionEntry_t)) struct __attribute__ ((packed)) _PartitionRecord_t { /* Not used by EFI firmware. Set to 0x80 to indicate that this is the bootable legacy partition. */ uint8_t BootIndicator; /* Start of partition in CHS address, not used by EFI firmware. */ uint8_t StartHead; /* Start of partition in CHS address, not used by EFI firmware. */ uint8_t StartSector; /* Start of partition in CHS address, not used by EFI firmware. */ uint8_t StartTrack; /* OS type. A value of 0xEF defines an EFI system partition. Other values are reserved for legacy operating systems, and allocated independently of the EFI specification. */ uint8_t OSType; /* End of partition in CHS address, not used by EFI firmware. */ uint8_t EndHead; /* End of partition in CHS address, not used by EFI firmware. */ uint8_t EndSector; /* End of partition in CHS address, not used by EFI firmware. */ uint8_t EndTrack; /* Starting LBA address of the partition on the disk. Used by EFI firmware to define the start of the partition. */ uint32_t StartingLBA; /* Size of partition in LBA. Used by EFI firmware to determine the size of the partition. */ uint32_t SizeInLBA; }; /* Protected Master Boot Record & Legacy MBR share same structure */ /* Needs to be packed because the u16s force misalignment. */ struct __attribute__ ((packed)) _LegacyMBR_t { uint8_t BootCode[440]; uint32_t UniqueMBRSignature; uint16_t Unknown; PartitionRecord_t PartitionRecord[4]; uint16_t Signature; }; /* uses libparted's disk_specific field in PedDisk, to store our info */ struct __attribute__ ((packed)) _GPTDiskData { PedGeometry data_area; int entry_count; efi_guid_t uuid; }; /* uses libparted's disk_specific field in PedPartition, to store our info */ typedef struct _GPTPartitionData { efi_guid_t type; efi_guid_t uuid; char name[37]; int lvm; int raid; int boot; int bios_grub; int hp_service; int hidden; int msftres; int atvrecv; int msftrecv; } GPTPartitionData; static PedDiskType gpt_disk_type; static inline uint32_t pth_get_size (const PedDevice *dev) { return GPT_HEADER_SECTORS * dev->sector_size; } static inline uint32_t pth_get_size_static (const PedDevice *dev) { return sizeof (GuidPartitionTableHeader_t) - sizeof (uint8_t *); } static inline uint32_t pth_get_size_rsv2 (const PedDevice *dev) { return pth_get_size (dev) - pth_get_size_static (dev); } static GuidPartitionTableHeader_t * pth_new (const PedDevice *dev) { GuidPartitionTableHeader_t *pth = ped_malloc (sizeof (GuidPartitionTableHeader_t) + sizeof (uint8_t)); pth->Reserved2 = ped_malloc (pth_get_size_rsv2 (dev)); return pth; } static GuidPartitionTableHeader_t * pth_new_zeroed (const PedDevice *dev) { GuidPartitionTableHeader_t *pth = pth_new (dev); memset (pth, 0, pth_get_size_static (dev)); memset (pth->Reserved2, 0, pth_get_size_rsv2 (dev)); return (pth); } static GuidPartitionTableHeader_t * pth_new_from_raw (const PedDevice *dev, const uint8_t *pth_raw) { GuidPartitionTableHeader_t *pth = pth_new (dev); PED_ASSERT (pth_raw != NULL, return 0); memcpy (pth, pth_raw, pth_get_size_static (dev)); memcpy (pth->Reserved2, pth_raw + pth_get_size_static (dev), pth_get_size_rsv2 (dev)); return pth; } static void pth_free (GuidPartitionTableHeader_t *pth) { if (pth == NULL) return; PED_ASSERT (pth->Reserved2 != NULL, return); free (pth->Reserved2); free (pth); } static uint8_t * pth_get_raw (const PedDevice *dev, const GuidPartitionTableHeader_t *pth) { PED_ASSERT (pth != NULL, return 0); PED_ASSERT (pth->Reserved2 != NULL, return 0); int size_static = pth_get_size_static (dev); uint8_t *pth_raw = ped_malloc (pth_get_size (dev)); if (pth_raw == NULL) return NULL; memcpy (pth_raw, pth, size_static); memcpy (pth_raw + size_static, pth->Reserved2, pth_get_size_rsv2 (dev)); return pth_raw; } /** * swap_uuid_and_efi_guid() - converts between uuid formats * @uuid - uuid_t in either format (converts it to the other) * * There are two different representations for Globally Unique Identifiers * (GUIDs or UUIDs). * * The RFC specifies a UUID as a string of 16 bytes, essentially * a big-endian array of char. * Intel, in their EFI Specification, references the same RFC, but * then defines a GUID as a structure of little-endian fields. * Coincidentally, both structures have the same format when unparsed. * * When read from disk, EFI GUIDs are in struct of little endian format, * and need to be converted to be treated as uuid_t in memory. * * When writing to disk, uuid_ts need to be converted into EFI GUIDs. * * Blame Intel. */ static void swap_uuid_and_efi_guid (uuid_t uuid) { efi_guid_t *guid = (efi_guid_t *) uuid; PED_ASSERT (uuid != NULL, return); guid->time_low = PED_SWAP32 (guid->time_low); guid->time_mid = PED_SWAP16 (guid->time_mid); guid->time_hi_and_version = PED_SWAP16 (guid->time_hi_and_version); } /* returns the EFI-style CRC32 value for buf * This function uses the crc32 function by Gary S. Brown, * but seeds the function with ~0, and xor's with ~0 at the end. */ static inline uint32_t efi_crc32 (const void *buf, unsigned long len) { return (__efi_crc32 (buf, len, ~0L) ^ ~0L); } /* Compute the crc32 checksum of the partition table header and store it in *CRC32. Return 0 upon success. Return 1 upon failure to allocate space. */ static int pth_crc32 (const PedDevice *dev, const GuidPartitionTableHeader_t *pth, uint32_t *crc32) { PED_ASSERT (dev != NULL, return 0); PED_ASSERT (pth != NULL, return 0); uint8_t *pth_raw = pth_get_raw (dev, pth); if (pth_raw == NULL) return 1; *crc32 = efi_crc32 (pth_raw, PED_LE32_TO_CPU (pth->HeaderSize)); free (pth_raw); return 0; } static inline int guid_cmp (efi_guid_t left, efi_guid_t right) { return memcmp (&left, &right, sizeof (efi_guid_t)); } /* checks if 'mbr' is a protective MBR partition table */ static inline int _pmbr_is_valid (const LegacyMBR_t *mbr) { int i; PED_ASSERT (mbr != NULL, return 0); if (mbr->Signature != PED_CPU_TO_LE16 (MSDOS_MBR_SIGNATURE)) return 0; for (i = 0; i < 4; i++) { if (mbr->PartitionRecord[i].OSType == EFI_PMBR_OSTYPE_EFI) return 1; } return 0; } static int gpt_probe (const PedDevice *dev) { GuidPartitionTableHeader_t *gpt = NULL; int gpt_sig_found = 0; PED_ASSERT (dev != NULL, return 0); if (dev->length <= 1) return 0; void *pth_raw = ped_malloc (pth_get_size (dev)); if (ped_device_read (dev, pth_raw, 1, GPT_HEADER_SECTORS) || ped_device_read (dev, pth_raw, dev->length - 1, GPT_HEADER_SECTORS)) { gpt = pth_new_from_raw (dev, pth_raw); if (gpt->Signature == PED_CPU_TO_LE64 (GPT_HEADER_SIGNATURE)) gpt_sig_found = 1; } free (pth_raw); pth_free (gpt); if (!gpt_sig_found) return 0; void *label; if (!ptt_read_sector (dev, 0, &label)) return 0; int ok = 1; if (!_pmbr_is_valid ((const LegacyMBR_t *) label)) { int ex_status = ped_exception_throw (PED_EXCEPTION_WARNING, PED_EXCEPTION_YES_NO, _("%s contains GPT signatures, indicating that it has " "a GPT table. However, it does not have a valid " "fake msdos partition table, as it should. Perhaps " "it was corrupted -- possibly by a program that " "doesn't understand GPT partition tables. Or " "perhaps you deleted the GPT table, and are now " "using an msdos partition table. Is this a GPT " "partition table?"), dev->path); if (ex_status == PED_EXCEPTION_NO) ok = 0; } free (label); return ok; } static PedDisk * gpt_alloc (const PedDevice *dev) { PedDisk *disk; GPTDiskData *gpt_disk_data; PedSector data_start, data_end; disk = _ped_disk_alloc ((PedDevice *) dev, &gpt_disk_type); if (!disk) goto error; disk->disk_specific = gpt_disk_data = ped_malloc (sizeof (GPTDiskData)); if (!disk->disk_specific) goto error_free_disk; data_start = 2 + GPT_DEFAULT_PARTITION_ENTRY_ARRAY_SIZE / dev->sector_size; data_end = dev->length - 2 - GPT_DEFAULT_PARTITION_ENTRY_ARRAY_SIZE / dev->sector_size; ped_geometry_init (&gpt_disk_data->data_area, dev, data_start, data_end - data_start + 1); gpt_disk_data->entry_count = GPT_DEFAULT_PARTITION_ENTRIES; uuid_generate ((unsigned char *) &gpt_disk_data->uuid); swap_uuid_and_efi_guid ((unsigned char *) (&gpt_disk_data->uuid)); return disk; error_free_disk: free (disk); error: return NULL; } static PedDisk * gpt_duplicate (const PedDisk *disk) { PedDisk *new_disk; GPTDiskData *new_disk_data; GPTDiskData *old_disk_data; new_disk = ped_disk_new_fresh (disk->dev, &gpt_disk_type); if (!new_disk) return NULL; old_disk_data = disk->disk_specific; new_disk_data = new_disk->disk_specific; ped_geometry_init (&new_disk_data->data_area, disk->dev, old_disk_data->data_area.start, old_disk_data->data_area.length); new_disk_data->entry_count = old_disk_data->entry_count; new_disk_data->uuid = old_disk_data->uuid; return new_disk; } static void gpt_free (PedDisk *disk) { ped_disk_delete_all (disk); free (disk->disk_specific); _ped_disk_free (disk); } /* Given GUID Partition table header, GPT, read its partition array entries from DISK into malloc'd storage. Set *PTES_BYTES to the number of bytes required. Upon success, return a pointer to the resulting buffer. Otherwise, set errno and return NULL. */ static void * gpt_read_PE_array (PedDisk const *disk, GuidPartitionTableHeader_t const *gpt, size_t *ptes_bytes) { GPTDiskData *gpt_disk_data = disk->disk_specific; uint32_t p_ent_size = PED_LE32_TO_CPU (gpt->SizeOfPartitionEntry); *ptes_bytes = p_ent_size * gpt_disk_data->entry_count; size_t ptes_sectors = ped_div_round_up (*ptes_bytes, disk->dev->sector_size); if (xalloc_oversized (ptes_sectors, disk->dev->sector_size)) { errno = ENOMEM; return NULL; } void *ptes = ped_malloc (ptes_sectors * disk->dev->sector_size); if (ptes == NULL) return NULL; if (!ped_device_read (disk->dev, ptes, PED_LE64_TO_CPU (gpt->PartitionEntryLBA), ptes_sectors)) { int saved_errno = errno; free (ptes); errno = saved_errno; return NULL; } return ptes; } static int check_PE_array_CRC (PedDisk const *disk, GuidPartitionTableHeader_t const *gpt, bool *valid) { size_t ptes_bytes; void *ptes = gpt_read_PE_array (disk, gpt, &ptes_bytes); if (ptes == NULL) return 1; uint32_t ptes_crc = efi_crc32 (ptes, ptes_bytes); *valid = (ptes_crc == PED_LE32_TO_CPU (gpt->PartitionEntryArrayCRC32)); free (ptes); return 0; } static int _header_is_valid (PedDisk const *disk, GuidPartitionTableHeader_t *gpt, PedSector my_lba) { uint32_t crc, origcrc; PedDevice const *dev = disk->dev; if (PED_LE64_TO_CPU (gpt->Signature) != GPT_HEADER_SIGNATURE) return 0; /* * "While the GUID Partition Table Header's size may increase * in the future it cannot span more than one block on the * device." EFI Specification, version 1.10, 11.2.2.1 */ if (PED_LE32_TO_CPU (gpt->HeaderSize) < pth_get_size_static (dev) || PED_LE32_TO_CPU (gpt->HeaderSize) > dev->sector_size) return 0; /* The SizeOfPartitionEntry must be a multiple of 8 and no smaller than the size of the PartitionEntry structure. We also require that be no larger than 1/16th of UINT32_MAX, as an additional sanity check. */ uint32_t sope = PED_LE32_TO_CPU (gpt->SizeOfPartitionEntry); if (sope % 8 != 0 || sope < sizeof (GuidPartitionEntry_t) || (UINT32_MAX >> 4) < sope) return 0; if (PED_LE64_TO_CPU (gpt->MyLBA) != my_lba) return 0; PedSector alt_lba = PED_LE64_TO_CPU (gpt->AlternateLBA); /* The backup table's AlternateLBA must be 1. */ if (my_lba != 1 && alt_lba != 1) return 0; /* The alt_lba must never be the same as my_lba. */ if (alt_lba == my_lba) return 0; bool crc_match; if (check_PE_array_CRC (disk, gpt, &crc_match) != 0 || !crc_match) return 0; origcrc = gpt->HeaderCRC32; gpt->HeaderCRC32 = 0; if (pth_crc32 (dev, gpt, &crc) != 0) return 0; gpt->HeaderCRC32 = origcrc; return crc == PED_LE32_TO_CPU (origcrc); } static int _parse_header (PedDisk *disk, const GuidPartitionTableHeader_t *gpt, int *update_needed) { GPTDiskData *gpt_disk_data = disk->disk_specific; PedSector first_usable; PedSector last_usable; PedSector last_usable_if_grown, last_usable_min_default; static int asked_already; #ifndef DISCOVER_ONLY if (PED_LE32_TO_CPU (gpt->Revision) > GPT_HEADER_REVISION_V1_02) { if (ped_exception_throw (PED_EXCEPTION_WARNING, PED_EXCEPTION_IGNORE_CANCEL, _("The format of the GPT partition table is version " "%x, which is newer than what Parted can " "recognise. Please tell us! bug-parted@gnu.org"), PED_LE32_TO_CPU (gpt->Revision)) != PED_EXCEPTION_IGNORE) return 0; } #endif first_usable = PED_LE64_TO_CPU (gpt->FirstUsableLBA); last_usable = PED_LE64_TO_CPU (gpt->LastUsableLBA); /* Need to check whether the volume has grown, the LastUsableLBA is normally set to disk->dev->length - 2 - ptes_size (at least for parted created volumes), where ptes_size is the number of entries * size of each entry / sector size or 16k / sector size, whatever the greater. If the volume has grown, offer the user the chance to use the new space or continue with the current usable area. Only ask once per parted invocation. */ last_usable_if_grown = (disk->dev->length - 2 - ((PedSector) (PED_LE32_TO_CPU (gpt->NumberOfPartitionEntries)) * (PedSector) (PED_LE32_TO_CPU (gpt->SizeOfPartitionEntry)) / disk->dev->sector_size)); last_usable_min_default = disk->dev->length - 2 - GPT_DEFAULT_PARTITION_ENTRY_ARRAY_SIZE / disk->dev->sector_size; if (last_usable_if_grown > last_usable_min_default) { last_usable_if_grown = last_usable_min_default; } PED_ASSERT (last_usable > first_usable, return 0); PED_ASSERT (last_usable <= disk->dev->length, return 0); PED_ASSERT (last_usable_if_grown > first_usable, return 0); PED_ASSERT (last_usable_if_grown <= disk->dev->length, return 0); if (!asked_already && last_usable < last_usable_if_grown) { PedExceptionOption q; q = ped_exception_throw (PED_EXCEPTION_WARNING, PED_EXCEPTION_FIX | PED_EXCEPTION_IGNORE, _("Not all of the space available to %s appears " "to be used, you can fix the GPT to use all of the " "space (an extra %llu blocks) or continue with the " "current setting? "), disk->dev->path, (uint64_t) (last_usable_if_grown - last_usable)); if (q == PED_EXCEPTION_FIX) { last_usable = last_usable_if_grown; *update_needed = 1; } else if (q != PED_EXCEPTION_UNHANDLED) { asked_already = 1; } } ped_geometry_init (&gpt_disk_data->data_area, disk->dev, first_usable, last_usable - first_usable + 1); gpt_disk_data->entry_count = PED_LE32_TO_CPU (gpt->NumberOfPartitionEntries); PED_ASSERT (gpt_disk_data->entry_count > 0, return 0); PED_ASSERT (gpt_disk_data->entry_count <= 8192, return 0); gpt_disk_data->uuid = gpt->DiskGUID; return 1; } static PedPartition * _parse_part_entry (PedDisk *disk, GuidPartitionEntry_t *pte) { PedPartition *part; GPTPartitionData *gpt_part_data; unsigned int i; part = ped_partition_new (disk, PED_PARTITION_NORMAL, NULL, PED_LE64_TO_CPU (pte->StartingLBA), PED_LE64_TO_CPU (pte->EndingLBA)); if (!part) return NULL; gpt_part_data = part->disk_specific; gpt_part_data->type = pte->PartitionTypeGuid; gpt_part_data->uuid = pte->UniquePartitionGuid; for (i = 0; i < 72 / sizeof (efi_char16_t); i++) gpt_part_data->name[i] = (efi_char16_t) PED_LE16_TO_CPU ((uint16_t) pte->PartitionName[i]); gpt_part_data->name[i] = 0; gpt_part_data->lvm = gpt_part_data->raid = gpt_part_data->boot = gpt_part_data->hp_service = gpt_part_data->hidden = gpt_part_data->msftres = gpt_part_data->msftrecv = gpt_part_data->bios_grub = gpt_part_data->atvrecv = 0; if (pte->Attributes.RequiredToFunction & 0x1) gpt_part_data->hidden = 1; if (!guid_cmp (gpt_part_data->type, PARTITION_SYSTEM_GUID)) gpt_part_data->boot = 1; else if (!guid_cmp (gpt_part_data->type, PARTITION_BIOS_GRUB_GUID)) gpt_part_data->bios_grub = 1; else if (!guid_cmp (gpt_part_data->type, PARTITION_RAID_GUID)) gpt_part_data->raid = 1; else if (!guid_cmp (gpt_part_data->type, PARTITION_LVM_GUID)) gpt_part_data->lvm = 1; else if (!guid_cmp (gpt_part_data->type, PARTITION_HPSERVICE_GUID)) gpt_part_data->hp_service = 1; else if (!guid_cmp (gpt_part_data->type, PARTITION_MSFT_RESERVED_GUID)) gpt_part_data->msftres = 1; else if (!guid_cmp (gpt_part_data->type, PARTITION_MSFT_RECOVERY)) gpt_part_data->msftrecv = 1; else if (!guid_cmp (gpt_part_data->type, PARTITION_APPLE_TV_RECOVERY_GUID)) gpt_part_data->atvrecv = 1; return part; } /* Read the primary GPT at sector 1 of DEV. Verify its CRC and that of its partition entry array. If they are valid, read the backup GPT specified by AlternateLBA. If not, read the backup GPT in the last sector of the disk. Return 1 if any read fails. Upon successful verification of the primary GPT, set *PRIMARY_GPT, else NULL. Upon successful verification of the backup GPT, set *BACKUP_GPT, else NULL. If we've set *BACKUP_GPT to non-NULL, set *BACKUP_LBA to the sector number in which it was found. */ static int gpt_read_headers (PedDisk const *disk, GuidPartitionTableHeader_t **primary_gpt, GuidPartitionTableHeader_t **backup_gpt, PedSector *backup_sector_num_p) { *primary_gpt = NULL; *backup_gpt = NULL; PedDevice const *dev = disk->dev; void *s1; if (!ptt_read_sector (dev, 1, &s1)) return 1; GuidPartitionTableHeader_t *t = pth_new_from_raw (dev, s1); free (s1); if (t == NULL) return 1; GuidPartitionTableHeader_t *pri = t; bool valid_primary = _header_is_valid (disk, pri, 1); if (valid_primary) *primary_gpt = pri; else pth_free (pri); PedSector backup_sector_num = (valid_primary ? PED_LE64_TO_CPU (pri->AlternateLBA) : dev->length - 1); void *s_bak; if (!ptt_read_sector (dev, backup_sector_num, &s_bak)) return 1; t = pth_new_from_raw (dev, s_bak); free (s_bak); if (t == NULL) return 1; GuidPartitionTableHeader_t *bak = t; if (_header_is_valid (disk, bak, backup_sector_num)) { *backup_gpt = bak; *backup_sector_num_p = backup_sector_num; } else pth_free (bak); return 0; } /************************************************************ * Intel is changing the EFI Spec. (after v1.02) to say that a * disk is considered to have a GPT label only if the GPT * structures are correct, and the MBR is actually a Protective * MBR (has one 0xEE type partition). * Problem occurs when a GPT-partitioned disk is then * edited with a legacy (non-GPT-aware) application, such as * fdisk (which doesn't generally erase the PGPT or AGPT). * How should such a disk get handled? As a GPT disk (throwing * away the fdisk changes), or as an MSDOS disk (throwing away * the GPT information). Previously, I've taken the GPT-is-right, * MBR is wrong, approach, to stay consistent with the EFI Spec. * Intel disagrees, saying the disk should then be treated * as having a msdos label, not a GPT label. If this is true, * then what's the point of having an AGPT, since if the PGPT * is screwed up, likely the PMBR is too, and the PMBR becomes * a single point of failure. * So, in the Linux kernel, I'm going to test for PMBR, and * warn if it's not there, and treat the disk as MSDOS, with a note * for users to use Parted to "fix up" their disk if they * really want it to be considered GPT. ************************************************************/ static int gpt_read (PedDisk *disk) { GPTDiskData *gpt_disk_data = disk->disk_specific; int i; #ifndef DISCOVER_ONLY int write_back = 0; #endif ped_disk_delete_all (disk); /* motivation: let the user decide about the pmbr... during ped_disk_probe(), they probably didn't get a choice... */ if (!gpt_probe (disk->dev)) goto error; GuidPartitionTableHeader_t *gpt = NULL; GuidPartitionTableHeader_t *primary_gpt; GuidPartitionTableHeader_t *backup_gpt; PedSector backup_sector_num; int read_failure = gpt_read_headers (disk, &primary_gpt, &backup_gpt, &backup_sector_num); if (read_failure) { /* This includes the case in which there used to be a GPT partition table here, with an alternate LBA that extended beyond the current end-of-device. It's treated as a non-match. */ /* Another possibility: The primary header is ok, but backup is corrupt. In the UEFI spec, this means the primary GUID table is officially invalid. */ pth_free (backup_gpt); pth_free (primary_gpt); return 0; } if (primary_gpt && backup_gpt) { /* Both are valid. */ #ifndef DISCOVER_ONLY if (PED_LE64_TO_CPU (primary_gpt->AlternateLBA) < disk->dev->length - 1) { switch (ped_exception_throw (PED_EXCEPTION_ERROR, (PED_EXCEPTION_FIX | PED_EXCEPTION_CANCEL | PED_EXCEPTION_IGNORE), _("The backup GPT table is not at the end of the disk, as it " "should be. This might mean that another operating system " "believes the disk is smaller. Fix, by moving the backup " "to the end (and removing the old backup)?"))) { case PED_EXCEPTION_CANCEL: goto error_free_gpt; case PED_EXCEPTION_FIX: ptt_clear_sectors (disk->dev, PED_LE64_TO_CPU (primary_gpt->AlternateLBA), 1); write_back = 1; break; default: break; } } #endif /* !DISCOVER_ONLY */ gpt = primary_gpt; pth_free (backup_gpt); } else if (!primary_gpt && !backup_gpt) { /* Both are corrupt. */ ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Both the primary and backup GPT tables " "are corrupt. Try making a fresh table, " "and using Parted's rescue feature to " "recover partitions.")); goto error; } else if (primary_gpt && !backup_gpt) { /* The primary header is ok, but backup is corrupt. */ if (ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_OK_CANCEL, _("The backup GPT table is corrupt, but the " "primary appears OK, so that will be used.")) == PED_EXCEPTION_CANCEL) goto error_free_gpt; gpt = primary_gpt; } else /* !primary_gpt && backup_gpt */ { /* primary GPT corrupt, backup is ok. */ if (ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_OK_CANCEL, _("The primary GPT table is corrupt, but the " "backup appears OK, so that will be used.")) == PED_EXCEPTION_CANCEL) goto error_free_gpt; gpt = backup_gpt; } backup_gpt = NULL; primary_gpt = NULL; if (!_parse_header (disk, gpt, &write_back)) goto error_free_gpt; size_t ptes_bytes; void *ptes = gpt_read_PE_array (disk, gpt, &ptes_bytes); if (ptes == NULL) goto error_free_gpt; uint32_t ptes_crc = efi_crc32 (ptes, ptes_bytes); if (ptes_crc != PED_LE32_TO_CPU (gpt->PartitionEntryArrayCRC32)) { ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("primary partition table array CRC mismatch")); goto error_free_ptes; } uint32_t p_ent_size = PED_LE32_TO_CPU (gpt->SizeOfPartitionEntry); for (i = 0; i < gpt_disk_data->entry_count; i++) { GuidPartitionEntry_t *pte = (GuidPartitionEntry_t *) ((char *) ptes + i * p_ent_size); PedPartition *part; if (!guid_cmp (pte->PartitionTypeGuid, UNUSED_ENTRY_GUID)) continue; part = _parse_part_entry (disk, pte); if (!part) goto error_delete_all; part->fs_type = ped_file_system_probe (&part->geom); part->num = i + 1; PedConstraint *constraint_exact = ped_constraint_exact (&part->geom); if (!ped_disk_add_partition (disk, part, constraint_exact)) { ped_constraint_destroy (constraint_exact); ped_partition_destroy (part); goto error_delete_all; } ped_constraint_destroy (constraint_exact); } free (ptes); #ifndef DISCOVER_ONLY if (write_back) ped_disk_commit_to_dev (disk); #endif pth_free (gpt); return 1; error_delete_all: ped_disk_delete_all (disk); error_free_ptes: free (ptes); error_free_gpt: pth_free (primary_gpt); pth_free (backup_gpt); pth_free (gpt); error: return 0; } #ifndef DISCOVER_ONLY /* Write the protective MBR (to keep DOS happy) */ static int _write_pmbr (PedDevice *dev) { /* The UEFI spec is not clear about what to do with the following elements of the Protective MBR (pmbr): BootCode (0-440B), UniqueMBRSignature (440B-444B) and Unknown (444B-446B). With this in mind, we try not to modify these elements. */ void *s0; if (!ptt_read_sector (dev, 0, &s0)) return 0; LegacyMBR_t *pmbr = s0; /* Zero out the legacy partitions. */ memset (pmbr->PartitionRecord, 0, sizeof pmbr->PartitionRecord); pmbr->Signature = PED_CPU_TO_LE16 (MSDOS_MBR_SIGNATURE); pmbr->PartitionRecord[0].OSType = EFI_PMBR_OSTYPE_EFI; pmbr->PartitionRecord[0].StartSector = 1; pmbr->PartitionRecord[0].EndHead = 0xFE; pmbr->PartitionRecord[0].EndSector = 0xFF; pmbr->PartitionRecord[0].EndTrack = 0xFF; pmbr->PartitionRecord[0].StartingLBA = PED_CPU_TO_LE32 (1); if ((dev->length - 1ULL) > 0xFFFFFFFFULL) pmbr->PartitionRecord[0].SizeInLBA = PED_CPU_TO_LE32 (0xFFFFFFFF); else pmbr->PartitionRecord[0].SizeInLBA = PED_CPU_TO_LE32 (dev->length - 1UL); int write_ok = ped_device_write (dev, pmbr, GPT_PMBR_LBA, GPT_PMBR_SECTORS); free (s0); return write_ok; } static int _generate_header (const PedDisk *disk, int alternate, uint32_t ptes_crc, GuidPartitionTableHeader_t **gpt_p) { GPTDiskData *gpt_disk_data = disk->disk_specific; GuidPartitionTableHeader_t *gpt; *gpt_p = pth_new_zeroed (disk->dev); gpt = *gpt_p; gpt->Signature = PED_CPU_TO_LE64 (GPT_HEADER_SIGNATURE); gpt->Revision = PED_CPU_TO_LE32 (GPT_HEADER_REVISION_V1_00); /* per 1.00 spec */ gpt->HeaderSize = PED_CPU_TO_LE32 (pth_get_size_static (disk->dev)); gpt->HeaderCRC32 = 0; gpt->Reserved1 = 0; if (alternate) { PedSector ptes_size = gpt_disk_data->entry_count * sizeof (GuidPartitionEntry_t) / disk->dev->sector_size; gpt->MyLBA = PED_CPU_TO_LE64 (disk->dev->length - 1); gpt->AlternateLBA = PED_CPU_TO_LE64 (1); gpt->PartitionEntryLBA = PED_CPU_TO_LE64 (disk->dev->length - 1 - ptes_size); } else { gpt->MyLBA = PED_CPU_TO_LE64 (1); gpt->AlternateLBA = PED_CPU_TO_LE64 (disk->dev->length - 1); gpt->PartitionEntryLBA = PED_CPU_TO_LE64 (2); } gpt->FirstUsableLBA = PED_CPU_TO_LE64 (gpt_disk_data->data_area.start); gpt->LastUsableLBA = PED_CPU_TO_LE64 (gpt_disk_data->data_area.end); gpt->DiskGUID = gpt_disk_data->uuid; gpt->NumberOfPartitionEntries = PED_CPU_TO_LE32 (gpt_disk_data->entry_count); gpt->SizeOfPartitionEntry = PED_CPU_TO_LE32 (sizeof (GuidPartitionEntry_t)); gpt->PartitionEntryArrayCRC32 = PED_CPU_TO_LE32 (ptes_crc); uint32_t crc; if (pth_crc32 (disk->dev, gpt, &crc) != 0) return 1; gpt->HeaderCRC32 = PED_CPU_TO_LE32 (crc); return 0; } static void _partition_generate_part_entry (PedPartition *part, GuidPartitionEntry_t *pte) { GPTPartitionData *gpt_part_data = part->disk_specific; unsigned int i; PED_ASSERT (gpt_part_data != NULL, return); pte->PartitionTypeGuid = gpt_part_data->type; pte->UniquePartitionGuid = gpt_part_data->uuid; pte->StartingLBA = PED_CPU_TO_LE64 (part->geom.start); pte->EndingLBA = PED_CPU_TO_LE64 (part->geom.end); memset (&pte->Attributes, 0, sizeof (GuidPartitionEntryAttributes_t)); if (gpt_part_data->hidden) pte->Attributes.RequiredToFunction = 1; for (i = 0; i < 72 / sizeof (efi_char16_t); i++) pte->PartitionName[i] = (efi_char16_t) PED_CPU_TO_LE16 ((uint16_t) gpt_part_data->name[i]); } static int gpt_write (const PedDisk *disk) { GPTDiskData *gpt_disk_data; GuidPartitionEntry_t *ptes; uint32_t ptes_crc; uint8_t *pth_raw; GuidPartitionTableHeader_t *gpt; PedPartition *part; int ptes_size; PED_ASSERT (disk != NULL, goto error); PED_ASSERT (disk->dev != NULL, goto error); PED_ASSERT (disk->disk_specific != NULL, goto error); gpt_disk_data = disk->disk_specific; ptes_size = sizeof (GuidPartitionEntry_t) * gpt_disk_data->entry_count; ptes = (GuidPartitionEntry_t *) ped_malloc (ptes_size); if (!ptes) goto error; memset (ptes, 0, ptes_size); for (part = ped_disk_next_partition (disk, NULL); part; part = ped_disk_next_partition (disk, part)) { if (part->type != 0) continue; _partition_generate_part_entry (part, &ptes[part->num - 1]); } ptes_crc = efi_crc32 (ptes, ptes_size); /* Write protective MBR */ if (!_write_pmbr (disk->dev)) goto error_free_ptes; /* Write PTH and PTEs */ /* FIXME: Caution: this code is nearly identical to what's just below. */ if (_generate_header (disk, 0, ptes_crc, &gpt) != 0) goto error_free_ptes; pth_raw = pth_get_raw (disk->dev, gpt); pth_free (gpt); if (pth_raw == NULL) goto error_free_ptes; int write_ok = ped_device_write (disk->dev, pth_raw, 1, 1); free (pth_raw); if (!write_ok) goto error_free_ptes; if (!ped_device_write (disk->dev, ptes, 2, ptes_size / disk->dev->sector_size)) goto error_free_ptes; /* Write Alternate PTH & PTEs */ /* FIXME: Caution: this code is nearly identical to what's just above. */ if (_generate_header (disk, 1, ptes_crc, &gpt) != 0) goto error_free_ptes; pth_raw = pth_get_raw (disk->dev, gpt); pth_free (gpt); if (pth_raw == NULL) goto error_free_ptes; write_ok = ped_device_write (disk->dev, pth_raw, disk->dev->length - 1, 1); free (pth_raw); if (!write_ok) goto error_free_ptes; if (!ped_device_write (disk->dev, ptes, disk->dev->length - 1 - ptes_size / disk->dev->sector_size, ptes_size / disk->dev->sector_size)) goto error_free_ptes; free (ptes); return ped_device_sync (disk->dev); error_free_ptes: free (ptes); error: return 0; } #endif /* !DISCOVER_ONLY */ static int add_metadata_part (PedDisk *disk, PedSector start, PedSector length) { PedPartition *part; PedConstraint *constraint_exact; PED_ASSERT (disk != NULL, return 0); part = ped_partition_new (disk, PED_PARTITION_METADATA, NULL, start, start + length - 1); if (!part) goto error; constraint_exact = ped_constraint_exact (&part->geom); if (!ped_disk_add_partition (disk, part, constraint_exact)) goto error_destroy_constraint; ped_constraint_destroy (constraint_exact); return 1; error_destroy_constraint: ped_constraint_destroy (constraint_exact); ped_partition_destroy (part); error: return 0; } static PedPartition * gpt_partition_new (const PedDisk *disk, PedPartitionType part_type, const PedFileSystemType *fs_type, PedSector start, PedSector end) { PedPartition *part; GPTPartitionData *gpt_part_data; part = _ped_partition_alloc (disk, part_type, fs_type, start, end); if (!part) goto error; if (part_type != 0) return part; gpt_part_data = part->disk_specific = ped_malloc (sizeof (GPTPartitionData)); if (!gpt_part_data) goto error_free_part; gpt_part_data->type = PARTITION_BASIC_DATA_GUID; gpt_part_data->lvm = 0; gpt_part_data->raid = 0; gpt_part_data->boot = 0; gpt_part_data->bios_grub = 0; gpt_part_data->hp_service = 0; gpt_part_data->hidden = 0; gpt_part_data->msftres = 0; gpt_part_data->msftrecv = 0; gpt_part_data->atvrecv = 0; uuid_generate ((unsigned char *) &gpt_part_data->uuid); swap_uuid_and_efi_guid ((unsigned char *) (&gpt_part_data->uuid)); memset (gpt_part_data->name, 0, sizeof gpt_part_data->name); return part; error_free_part: _ped_partition_free (part); error: return NULL; } static PedPartition * gpt_partition_duplicate (const PedPartition *part) { PedPartition *result; GPTPartitionData *part_data = part->disk_specific; GPTPartitionData *result_data; result = _ped_partition_alloc (part->disk, part->type, part->fs_type, part->geom.start, part->geom.end); if (!result) goto error; result->num = part->num; if (result->type != 0) return result; result_data = result->disk_specific = ped_malloc (sizeof (GPTPartitionData)); if (!result_data) goto error_free_part; result_data->type = part_data->type; result_data->uuid = part_data->uuid; strcpy (result_data->name, part_data->name); return result; error_free_part: _ped_partition_free (result); error: return NULL; } static void gpt_partition_destroy (PedPartition *part) { if (part->type == 0) { PED_ASSERT (part->disk_specific != NULL, return); free (part->disk_specific); } _ped_partition_free (part); } static int gpt_partition_set_system (PedPartition *part, const PedFileSystemType *fs_type) { GPTPartitionData *gpt_part_data = part->disk_specific; PED_ASSERT (gpt_part_data != NULL, return 0); part->fs_type = fs_type; if (gpt_part_data->lvm) { gpt_part_data->type = PARTITION_LVM_GUID; return 1; } if (gpt_part_data->raid) { gpt_part_data->type = PARTITION_RAID_GUID; return 1; } if (gpt_part_data->boot) { gpt_part_data->type = PARTITION_SYSTEM_GUID; return 1; } if (gpt_part_data->bios_grub) { gpt_part_data->type = PARTITION_BIOS_GRUB_GUID; return 1; } if (gpt_part_data->hp_service) { gpt_part_data->type = PARTITION_HPSERVICE_GUID; return 1; } if (gpt_part_data->msftres) { gpt_part_data->type = PARTITION_MSFT_RESERVED_GUID; return 1; } if (gpt_part_data->msftrecv) { gpt_part_data->type = PARTITION_MSFT_RECOVERY; return 1; } if (gpt_part_data->atvrecv) { gpt_part_data->type = PARTITION_APPLE_TV_RECOVERY_GUID; return 1; } if (fs_type) { if (strncmp (fs_type->name, "fat", 3) == 0 || strcmp (fs_type->name, "ntfs") == 0) { gpt_part_data->type = PARTITION_BASIC_DATA_GUID; return 1; } if (strncmp (fs_type->name, "hfs", 3) == 0) { gpt_part_data->type = PARTITION_APPLE_HFS_GUID; return 1; } if (strstr (fs_type->name, "swap")) { gpt_part_data->type = PARTITION_SWAP_GUID; return 1; } } gpt_part_data->type = PARTITION_BASIC_DATA_GUID; return 1; } /* Allocate metadata partitions for the GPTH and PTES */ static int gpt_alloc_metadata (PedDisk *disk) { PedSector gptlength, pteslength = 0; GPTDiskData *gpt_disk_data; PED_ASSERT (disk != NULL, return 0); PED_ASSERT (disk->dev != NULL, return 0); PED_ASSERT (disk->disk_specific != NULL, return 0); gpt_disk_data = disk->disk_specific; gptlength = ped_div_round_up (sizeof (GuidPartitionTableHeader_t), disk->dev->sector_size); pteslength = ped_div_round_up (gpt_disk_data->entry_count * sizeof (GuidPartitionEntry_t), disk->dev->sector_size); /* metadata at the start of the disk includes the MBR */ if (!add_metadata_part (disk, GPT_PMBR_LBA, GPT_PMBR_SECTORS + gptlength + pteslength)) return 0; /* metadata at the end of the disk */ if (!add_metadata_part (disk, disk->dev->length - gptlength - pteslength, gptlength + pteslength)) return 0; return 1; } /* Does nothing, as the read/new/destroy functions maintain part->num */ static int gpt_partition_enumerate (PedPartition *part) { GPTDiskData *gpt_disk_data = part->disk->disk_specific; int i; /* never change the partition numbers */ if (part->num != -1) return 1; for (i = 1; i <= gpt_disk_data->entry_count; i++) { if (!ped_disk_get_partition (part->disk, i)) { part->num = i; return 1; } } PED_ASSERT (0, return 0); return 0; /* used if debug is disabled */ } static int gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state) { GPTPartitionData *gpt_part_data; PED_ASSERT (part != NULL, return 0); PED_ASSERT (part->disk_specific != NULL, return 0); gpt_part_data = part->disk_specific; switch (flag) { case PED_PARTITION_BOOT: gpt_part_data->boot = state; if (state) gpt_part_data->raid = gpt_part_data->lvm = gpt_part_data->bios_grub = gpt_part_data->hp_service = gpt_part_data->msftres = gpt_part_data->msftrecv = gpt_part_data->atvrecv = 0; return gpt_partition_set_system (part, part->fs_type); case PED_PARTITION_BIOS_GRUB: gpt_part_data->bios_grub = state; if (state) gpt_part_data->raid = gpt_part_data->lvm = gpt_part_data->boot = gpt_part_data->hp_service = gpt_part_data->msftres = gpt_part_data->msftrecv = gpt_part_data->atvrecv = 0; return gpt_partition_set_system (part, part->fs_type); case PED_PARTITION_RAID: gpt_part_data->raid = state; if (state) gpt_part_data->boot = gpt_part_data->lvm = gpt_part_data->bios_grub = gpt_part_data->hp_service = gpt_part_data->msftres = gpt_part_data->msftrecv = gpt_part_data->atvrecv = 0; return gpt_partition_set_system (part, part->fs_type); case PED_PARTITION_LVM: gpt_part_data->lvm = state; if (state) gpt_part_data->boot = gpt_part_data->raid = gpt_part_data->bios_grub = gpt_part_data->hp_service = gpt_part_data->msftres = gpt_part_data->msftrecv = gpt_part_data->atvrecv = 0; return gpt_partition_set_system (part, part->fs_type); case PED_PARTITION_HPSERVICE: gpt_part_data->hp_service = state; if (state) gpt_part_data->boot = gpt_part_data->raid = gpt_part_data->lvm = gpt_part_data->bios_grub = gpt_part_data->msftres = gpt_part_data->msftrecv = gpt_part_data->atvrecv = 0; return gpt_partition_set_system (part, part->fs_type); case PED_PARTITION_MSFT_RESERVED: gpt_part_data->msftres = state; if (state) gpt_part_data->boot = gpt_part_data->raid = gpt_part_data->lvm = gpt_part_data->bios_grub = gpt_part_data->hp_service = gpt_part_data->msftrecv = gpt_part_data->atvrecv = 0; return gpt_partition_set_system (part, part->fs_type); case PED_PARTITION_DIAG: gpt_part_data->msftrecv = state; if (state) gpt_part_data->boot = gpt_part_data->raid = gpt_part_data->lvm = gpt_part_data->bios_grub = gpt_part_data->hp_service = gpt_part_data->msftres = gpt_part_data->atvrecv = 0; return gpt_partition_set_system (part, part->fs_type); case PED_PARTITION_APPLE_TV_RECOVERY: gpt_part_data->atvrecv = state; if (state) gpt_part_data->boot = gpt_part_data->raid = gpt_part_data->lvm = gpt_part_data->bios_grub = gpt_part_data->hp_service = gpt_part_data->msftres = gpt_part_data->msftrecv = 0; return gpt_partition_set_system (part, part->fs_type); case PED_PARTITION_HIDDEN: gpt_part_data->hidden = state; return 1; case PED_PARTITION_SWAP: case PED_PARTITION_ROOT: case PED_PARTITION_LBA: default: return 0; } return 1; } static int gpt_partition_get_flag (const PedPartition *part, PedPartitionFlag flag) { GPTPartitionData *gpt_part_data; PED_ASSERT (part->disk_specific != NULL, return 0); gpt_part_data = part->disk_specific; switch (flag) { case PED_PARTITION_RAID: return gpt_part_data->raid; case PED_PARTITION_LVM: return gpt_part_data->lvm; case PED_PARTITION_BOOT: return gpt_part_data->boot; case PED_PARTITION_BIOS_GRUB: return gpt_part_data->bios_grub; case PED_PARTITION_HPSERVICE: return gpt_part_data->hp_service; case PED_PARTITION_MSFT_RESERVED: return gpt_part_data->msftres; case PED_PARTITION_DIAG: return gpt_part_data->msftrecv; case PED_PARTITION_APPLE_TV_RECOVERY: return gpt_part_data->atvrecv; case PED_PARTITION_HIDDEN: return gpt_part_data->hidden; case PED_PARTITION_SWAP: case PED_PARTITION_LBA: case PED_PARTITION_ROOT: default: return 0; } return 0; } static int gpt_partition_is_flag_available (const PedPartition *part, PedPartitionFlag flag) { switch (flag) { case PED_PARTITION_RAID: case PED_PARTITION_LVM: case PED_PARTITION_BOOT: case PED_PARTITION_BIOS_GRUB: case PED_PARTITION_HPSERVICE: case PED_PARTITION_MSFT_RESERVED: case PED_PARTITION_DIAG: case PED_PARTITION_APPLE_TV_RECOVERY: case PED_PARTITION_HIDDEN: return 1; case PED_PARTITION_SWAP: case PED_PARTITION_ROOT: case PED_PARTITION_LBA: default: return 0; } return 0; } static void gpt_partition_set_name (PedPartition *part, const char *name) { GPTPartitionData *gpt_part_data = part->disk_specific; strncpy (gpt_part_data->name, name, 36); gpt_part_data->name[36] = 0; } static const char * gpt_partition_get_name (const PedPartition *part) { GPTPartitionData *gpt_part_data = part->disk_specific; return gpt_part_data->name; } static int gpt_get_max_primary_partition_count (const PedDisk *disk) { const GPTDiskData *gpt_disk_data = disk->disk_specific; return gpt_disk_data->entry_count; } /* * From (http://developer.apple.com/technotes/tn2006/tn2166.html Chapter 5). * According to the specs the first LBA (LBA0) is not relevant (it exists * to maintain compatibility). on the second LBA(LBA1) gpt places the * header. The header is as big as the block size. After the header we * find the Entry array. Each element of said array, describes each * partition. One can have as much elements as can fit between the end of * the second LBA (where the header ends) and the FirstUsableLBA. * FirstUsableLBA is the first logical block that is used for contents * and is defined in header. * * /---------------------------------------------------\ * | BLOCK0 | HEADER | Entry Array | First Usable LBA | * | | BLOCK1 | | | * \---------------------------------------------------/ * / \ * /----------/ \----------\ * /-----------------------------------------\ * | E1 | E2 | E3 |...............| EN | * \-----------------------------------------/ * * The number of possible partitions or supported partitions is: * SP = FirstUsableLBA*Blocksize - 2*Blocksize / SizeOfPartitionEntry * SP = Blocksize(FirstusableLBA - 2) / SizeOfPartitoinEntry */ static bool gpt_get_max_supported_partition_count (const PedDisk *disk, int *max_n) { GuidPartitionTableHeader_t *pth = NULL; uint8_t *pth_raw = ped_malloc (pth_get_size (disk->dev)); if (ped_device_read (disk->dev, pth_raw, 1, GPT_HEADER_SECTORS) || ped_device_read (disk->dev, pth_raw, disk->dev->length, GPT_HEADER_SECTORS)) pth = pth_new_from_raw (disk->dev, pth_raw); free (pth_raw); if (pth == NULL) return false; *max_n = (disk->dev->sector_size * (pth->FirstUsableLBA - 2) / PED_LE32_TO_CPU (pth->SizeOfPartitionEntry)); pth_free (pth); return true; } static PedConstraint * _non_metadata_constraint (const PedDisk *disk) { GPTDiskData *gpt_disk_data = disk->disk_specific; return ped_constraint_new_from_max (&gpt_disk_data->data_area); } static int gpt_partition_align (PedPartition *part, const PedConstraint *constraint) { PED_ASSERT (part != NULL, return 0); if (_ped_partition_attempt_align (part, constraint, _non_metadata_constraint (part->disk))) return 1; #ifndef DISCOVER_ONLY ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Unable to satisfy all constraints on the partition.")); #endif return 0; } #include "pt-common.h" PT_define_limit_functions (gpt) static PedDiskOps gpt_disk_ops = { clobber: NULL, write: NULL_IF_DISCOVER_ONLY (gpt_write), partition_set_name: gpt_partition_set_name, partition_get_name: gpt_partition_get_name, PT_op_function_initializers (gpt) }; static PedDiskType gpt_disk_type = { next: NULL, name: "gpt", ops: &gpt_disk_ops, features: PED_DISK_TYPE_PARTITION_NAME }; void ped_disk_gpt_init () { PED_ASSERT (sizeof (GuidPartitionEntryAttributes_t) == 8, return); PED_ASSERT (sizeof (GuidPartitionEntry_t) == 128, return); ped_disk_type_register (&gpt_disk_type); } void ped_disk_gpt_done () { ped_disk_type_unregister (&gpt_disk_type); } parted-2.3/libparted/labels/fdasd.c0000644000000000000000000005700611371762233014176 00000000000000/* * File...........: arch/s390/tools/fdasd.c * Author(s)......: Volker Sameske * Bugreports.to..: * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 2001 * * History of changes (starts March 2001) * 2001-04-11 possibility to change volume serial added * possibility to change partition type added * some changes to DS4HPCHR and DS4DSREC * 2001-05-03 check for invalid partition numbers added * wrong free_space calculation bug fixed * 2001-06-26 '-a' option added, it is now possible to add a single * partition in non-interactive mode * 2001-06-26 long parameter support added * */ #include #include #include #include #include #include #include #if ENABLE_NLS # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ static int getpos (fdasd_anchor_t *anc, int dsn) { PDEBUG return anc->partno[dsn]; } static int getdsn (fdasd_anchor_t *anc, int pos) { PDEBUG int i; for (i=0; ipartno[i] == pos) return i; } return -1; } static void setpos (fdasd_anchor_t *anc, int dsn, int pos) { PDEBUG anc->partno[dsn] = pos; } void fdasd_cleanup (fdasd_anchor_t *anchor) { PDEBUG int i; partition_info_t *p, *q; if (anchor == NULL) return; free(anchor->f4); free(anchor->f5); free(anchor->f7); free(anchor->vlabel); p = anchor->first; if (p == NULL) return; for (i=1; i <= USABLE_PARTITIONS; i++) { if (p == NULL) return; q = p->next; free(p); p = q; } } static void fdasd_error (fdasd_anchor_t *anc, enum fdasd_failure why, char const *str) { PDEBUG char error[2*LINE_LENGTH], *message = error; switch (why) { case unable_to_open_disk: sprintf(error, "fdasd: %s -- %s\n", _("open error"), str); break; case unable_to_seek_disk: sprintf(error, "fdasd: %s -- %s\n", _("seek error"), str); break; case unable_to_read_disk: sprintf(error, "fdasd: %s -- %s\n", _("read error"), str); break; case read_only_disk: sprintf(error, "fdasd: %s -- %s\n", _("write error"), str); break; case unable_to_ioctl: sprintf(error, "fdasd: %s -- %s\n", _("ioctl() error"), str); break; case api_version_mismatch: sprintf(error, "fdasd: %s -- %s\n", _("API version mismatch"), str); break; case wrong_disk_type: sprintf(error, "fdasd: %s -- %s\n", _("Unsupported disk type"), str); break; case wrong_disk_format: sprintf(error, "fdasd: %s -- %s\n", _("Unsupported disk format"), str); break; case disk_in_use: sprintf(error, "fdasd: %s -- %s\n", _("Disk is in use"), str); break; case config_syntax_error: sprintf(error, "fdasd: %s -- %s\n", _("Syntax error in config file"), str); break; case vlabel_corrupted: sprintf(error, "fdasd: %s -- %s\n", _("Volume label is corrupted"), str); break; case dsname_corrupted: sprintf(error, "fdasd: %s -- %s\n", _("A data set name is corrupted"), str); break; case malloc_failed: sprintf(error, "fdasd: %s -- %s\n", _("Memory allocation failed"), str); break; case device_verification_failed: sprintf(error, "fdasd: %s -- %s\n", _("Device verification failed"), _("The specified device is not a valid DASD device")); break; default: sprintf(error, "fdasd: %s: %s\n", _("Fatal error"), str); } ped_exception_throw(PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, message); } /* * converts cyl-cyl-head-head-blk to blk */ static unsigned long cchhb2blk (cchhb_t *p, struct fdasd_hd_geometry *geo) { PDEBUG return (unsigned long) (p->cc * geo->heads * geo->sectors + p->hh * geo->sectors + p->b); } /* * initializes the anchor structure and allocates some * memory for the labels */ void fdasd_initialize_anchor (fdasd_anchor_t * anc) { PDEBUG int i; volume_label_t *v; partition_info_t *p = NULL; partition_info_t *q = NULL; anc->devno = 0; anc->dev_type = 0; anc->used_partitions = 0; anc->silent = 0; anc->verbose = 0; anc->big_disk = 0; anc->volid_specified = 0; anc->config_specified = 0; anc->auto_partition = 0; anc->devname_specified = 0; anc->print_table = 0; anc->option_reuse = 0; anc->option_recreate = 0; anc->vlabel_changed = 0; anc->vtoc_changed = 0; anc->blksize = 0; anc->fspace_trk = 0; anc->label_pos = 0; for (i=0; iconfdata, sizeof(config_data_t)); anc->f4 = malloc(sizeof(format4_label_t)); if (anc->f4 == NULL) fdasd_error(anc, malloc_failed, "FMT4 DSCB."); anc->f5 = malloc(sizeof(format5_label_t)); if (anc->f5 == NULL) fdasd_error(anc, malloc_failed, "FMT5 DSCB."); anc->f7 = malloc(sizeof(format7_label_t)); if (anc->f7 == NULL) fdasd_error(anc, malloc_failed, "FMT7 DSCB."); bzero(anc->f4, sizeof(format4_label_t)); bzero(anc->f5, sizeof(format5_label_t)); bzero(anc->f7, sizeof(format7_label_t)); v = malloc(sizeof(volume_label_t)); if (v == NULL) fdasd_error(anc, malloc_failed, _("No room for volume label.")); bzero(v, sizeof(volume_label_t)); anc->vlabel = v; for (i=1; i<=USABLE_PARTITIONS; i++) { p = malloc(sizeof(partition_info_t)); if (p == NULL) fdasd_error(anc, malloc_failed, _("No room for partition info.")); p->used = 0x00; p->len_trk = 0; p->start_trk = 0; p->fspace_trk = 0; p->type = 0; /* add p to double pointered list */ if (i == 1) { anc->first = p; p->prev = NULL; } else if (i == USABLE_PARTITIONS) { anc->last = p; p->next = NULL; p->prev = q; q->next = p; } else { p->prev = q; q->next = p; } p->f1 = malloc(sizeof(format1_label_t)); if (p->f1 == NULL) fdasd_error(anc, malloc_failed, "FMT1 DSCB."); bzero(p->f1, sizeof(format1_label_t)); q = p; } } /* * writes all changes to dasd */ static void fdasd_write_vtoc_labels (fdasd_anchor_t * anc, int fd) { PDEBUG partition_info_t *p; unsigned long b; char dsno[6], s1[7], s2[45], *c1, *c2, *ch; int i = 0, k = 0; b = (cchhb2blk (&anc->vlabel->vtoc, &anc->geo) - 1) * anc->blksize; if (b <= 0) fdasd_error (anc, vlabel_corrupted, ""); /* write FMT4 DSCB */ vtoc_write_label (fd, b, NULL, anc->f4, NULL, NULL); /* write FMT5 DSCB */ b += anc->blksize; vtoc_write_label (fd, b, NULL, NULL, anc->f5, NULL); /* write FMT7 DSCB */ if (anc->big_disk) { b += anc->blksize; vtoc_write_label (fd, b, NULL, NULL, NULL, anc->f7); } /* loop over all FMT1 DSCBs */ p = anc->first; for (i = 0; i < USABLE_PARTITIONS; i++) { b += anc->blksize; if (p->used != 0x01) { vtoc_write_label (fd, b, p->f1, NULL, NULL, NULL); continue; } strncpy (p->f1->DS1DSSN, anc->vlabel->volid, 6); ch = p->f1->DS1DSNAM; vtoc_ebcdic_dec (ch, ch, 44); c1 = ch + 7; if (getdsn (anc, i) > -1) { /* re-use the existing data set name */ c2 = strchr (c1, '.'); if (c2 != NULL) strncpy (s2, c2, 31); else fdasd_error (anc, dsname_corrupted, ""); strncpy (s1, anc->vlabel->volid, 6); vtoc_ebcdic_dec (s1, s1, 6); s1[6] = ' '; strncpy (c1, s1, 7); c1 = strchr (ch, ' '); strncpy (c1, s2, 31); } else { /* create a new data set name */ while (getpos (anc, k) > -1) k++; setpos (anc, k, i); strncpy (s2, ch, 44); s2[44] = 0; vtoc_ebcdic_dec (s2, s2, 44); strncpy (ch, "LINUX.V " " ", 44); strncpy (s1, anc->vlabel->volid, 6); vtoc_ebcdic_dec (s1, s1, 6); strncpy (c1, s1, 6); c1 = strchr (ch, ' '); strncpy (c1, ".PART", 5); c1 += 5; sprintf (dsno, "%04d.", k + 1); strncpy (c1, dsno, 5); c1 += 5; switch(p->type) { case PARTITION_LINUX_LVM: strncpy(c1, PART_TYPE_LVM, 6); break; case PARTITION_LINUX_RAID: strncpy(c1, PART_TYPE_RAID, 6); break; case PARTITION_LINUX: strncpy(c1, PART_TYPE_NATIVE, 6); break; case PARTITION_LINUX_SWAP: strncpy(c1, PART_TYPE_SWAP, 6); break; default: strncpy(c1, PART_TYPE_NATIVE, 6); break; } } vtoc_ebcdic_enc (ch, ch, 44); vtoc_write_label (fd, b, p->f1, NULL, NULL, NULL); p = p->next; } } /* * writes all changes to dasd */ int fdasd_write_labels (fdasd_anchor_t * anc, int fd) { PDEBUG if (anc->vlabel_changed) vtoc_write_volume_label (fd, anc->label_pos, anc->vlabel); if (anc->vtoc_changed) fdasd_write_vtoc_labels (anc, fd); return 1; } /* * writes all changes to dasd */ int fdasd_prepare_labels (fdasd_anchor_t *anc, int fd) { PDEBUG partition_info_t *p = anc->first; char dsno[6], s1[7], s2[45], *c1, *c2, *ch; int i = 0, k = 0; /* loop over all FMT1 DSCBs */ p = anc->first; for (i = 0; i < USABLE_PARTITIONS; i++) { strncpy (p->f1->DS1DSSN, anc->vlabel->volid, 6); ch = p->f1->DS1DSNAM; vtoc_ebcdic_dec (ch, ch, 44); c1 = ch + 7; if (getdsn (anc, i) > -1) { /* re-use the existing data set name */ c2 = strchr (c1, '.'); if (c2 != NULL) strncpy (s2, c2, 31); else fdasd_error (anc, dsname_corrupted, ""); strncpy (s1, anc->vlabel->volid, 6); vtoc_ebcdic_dec (s1, s1, 6); s1[6] = ' '; strncpy (c1, s1, 7); c1 = strchr (ch, ' '); strncpy (c1, s2, 31); } else { /* create a new data set name */ while (getpos (anc, k) > -1) k++; setpos (anc, k, i); strncpy (s2, ch, 44); s2[44] = 0; vtoc_ebcdic_dec (s2, s2, 44); strncpy (ch, "LINUX.V " " ", 44); strncpy (s1, anc->vlabel->volid, 6); vtoc_ebcdic_dec (s1, s1, 6); strncpy (c1, s1, 6); c1 = strchr (ch, ' '); strncpy (c1, ".PART", 5); c1 += 5; sprintf (dsno, "%04d.", k + 1); strncpy (c1, dsno, 5); c1 += 5; switch(p->type) { case PARTITION_LINUX_LVM: strncpy(c1, PART_TYPE_LVM, 6); break; case PARTITION_LINUX_RAID: strncpy(c1, PART_TYPE_RAID, 6); break; case PARTITION_LINUX: strncpy(c1, PART_TYPE_NATIVE, 6); break; case PARTITION_LINUX_SWAP: strncpy(c1, PART_TYPE_SWAP, 6); break; default: strncpy(c1, PART_TYPE_NATIVE, 6); break; } } vtoc_ebcdic_enc (ch, ch, 44); p = p->next; } return 1; } void fdasd_recreate_vtoc (fdasd_anchor_t *anc) { PDEBUG partition_info_t *p = anc->first; int i; vtoc_init_format4_label(anc->f4, USABLE_PARTITIONS, anc->geo.cylinders, anc->geo.heads, anc->geo.sectors, anc->blksize, anc->dev_type); vtoc_init_format5_label(anc->f5); vtoc_init_format7_label(anc->f7); vtoc_set_freespace(anc->f4, anc->f5, anc->f7, '+', anc->verbose, FIRST_USABLE_TRK, anc->geo.cylinders * anc->geo.heads - 1, anc->geo.cylinders, anc->geo.heads); for (i = 0; i < USABLE_PARTITIONS; i++) { bzero(p->f1, sizeof(format1_label_t)); p->used = 0x00; p->start_trk = 0; p->end_trk = 0; p->len_trk = 0; p->fspace_trk = 0; p->type = 0; p = p->next; } anc->used_partitions = 0; anc->fspace_trk = anc->geo.cylinders * anc->geo.heads - FIRST_USABLE_TRK; for (i=0; ivtoc_changed++; } /* * sets some important partition data * (like used, start_trk, end_trk, len_trk) * by calculating these values with the * information provided in the labels */ static void fdasd_update_partition_info (fdasd_anchor_t *anc) { PDEBUG partition_info_t *q = NULL, *p = anc->first; unsigned int h = anc->geo.heads; unsigned long max = anc->geo.cylinders * h - 1; int i; char *ch; anc->used_partitions = anc->geo.sectors - 2 - anc->f4->DS4DSREC; for (i = 1; i <= USABLE_PARTITIONS; i++) { if (p->f1->DS1FMTID != 0xf1) { if (i == 1) /* there is no partition at all */ anc->fspace_trk = max - FIRST_USABLE_TRK + 1; else /* previous partition was the last one */ q->fspace_trk = max - q->end_trk; break; } /* this is a valid format 1 label */ p->used = 0x01; p->start_trk = p->f1->DS1EXT1.llimit.cc * h + p->f1->DS1EXT1.llimit.hh; p->end_trk = p->f1->DS1EXT1.ulimit.cc * h + p->f1->DS1EXT1.ulimit.hh; p->len_trk = p->end_trk - p->start_trk + 1; if (i == 1) { /* first partition, there is at least one */ anc->fspace_trk = p->start_trk - FIRST_USABLE_TRK; } else { if (i == USABLE_PARTITIONS) /* last possible partition */ p->fspace_trk = max - p->end_trk; /* set free space values of previous partition */ q->fspace_trk = p->start_trk - q->end_trk - 1; } ch = p->f1->DS1DSNAM; vtoc_ebcdic_dec (ch, ch, 44); if (strstr(ch, PART_TYPE_LVM)) p->type = PARTITION_LINUX_LVM; else if (strstr(ch, PART_TYPE_RAID)) p->type = PARTITION_LINUX_RAID; else if (strstr(ch, PART_TYPE_NATIVE)) p->type = PARTITION_LINUX; else if (strstr(ch, PART_TYPE_SWAP)) p->type = PARTITION_LINUX_SWAP; else p->type = PARTITION_LINUX; vtoc_ebcdic_enc (ch, ch, 44); q = p; p = p->next; } } /* * reorganizes all FMT1s, after that all used FMT1s should be right in * front of all unused FMT1s */ static void fdasd_reorganize_FMT1s (fdasd_anchor_t *anc) { PDEBUG int i, j; format1_label_t *ltmp; partition_info_t *ptmp; for (i=1; i<=USABLE_PARTITIONS - 1; i++) { ptmp = anc->first; for (j=1; j<=USABLE_PARTITIONS - i; j++) { if (ptmp->f1->DS1FMTID < ptmp->next->f1->DS1FMTID) { ltmp = ptmp->f1; ptmp->f1 = ptmp->next->f1; ptmp->next->f1 = ltmp; } ptmp=ptmp->next; } } } static void fdasd_process_valid_vtoc (fdasd_anchor_t * anc, unsigned long b, int fd) { PDEBUG int f5_counter = 0, f7_counter = 0, f1_counter = 0, oldfmt = 0; int i, n, f1size = sizeof (format1_label_t); partition_info_t *p = anc->first; format1_label_t q; char s[5], *ch; b += anc->blksize; for (i = 1; i <= anc->geo.sectors; i++) { bzero (&q, f1size); vtoc_read_label (fd, b, &q, NULL, NULL, NULL); switch (q.DS1FMTID) { case 0xf1: if (p == NULL) break; memcpy (p->f1, &q, f1size); n = -1; vtoc_ebcdic_dec (p->f1->DS1DSNAM, p->f1->DS1DSNAM, 44); ch = strstr (p->f1->DS1DSNAM, "PART"); if (ch != NULL) { strncpy (s, ch + 4, 4); s[4] = '\0'; n = atoi (s) - 1; } vtoc_ebcdic_enc (p->f1->DS1DSNAM, p->f1->DS1DSNAM, 44); /* this dasd has data set names 0000-0002 but we use now 0001-0003 */ if (n == -1) oldfmt++; if (((oldfmt == 0) && (n < 0)) || (n >= USABLE_PARTITIONS)) { /* no op */ } else { if (oldfmt) { /* correct +1 */ setpos (anc, n + 1, f1_counter); } else { setpos (anc, n, f1_counter); } } p = p->next; f1_counter++; break; case 0xf5: memcpy (anc->f5, &q, f1size); f5_counter++; break; case 0xf7: if (f7_counter == 0) memcpy (anc->f7, &q, f1size); f7_counter++; break; } b += anc->blksize; } if (oldfmt > 0) { /* this is the old format PART0000 - PART0002 */ anc->vtoc_changed++; } if ((f5_counter == 0) || (anc->big_disk)) vtoc_init_format5_label (anc->f5); if (f7_counter == 0) vtoc_init_format7_label (anc->f7); fdasd_reorganize_FMT1s (anc); fdasd_update_partition_info (anc); } static int fdasd_valid_vtoc_pointer(fdasd_anchor_t *anc, unsigned long b, int fd) { PDEBUG char str[LINE_LENGTH]; /* VOL1 label contains valid VTOC pointer */ vtoc_read_label (fd, b, NULL, anc->f4, NULL, NULL); if (anc->f4->DS4IDFMT != 0xf4) { if (strncmp(anc->vlabel->volkey,vtoc_ebcdic_enc("LNX1",str,4),4) == 0) return 0; fdasd_error(anc, wrong_disk_format, _("Invalid VTOC.")); } else { fdasd_process_valid_vtoc (anc, b, fd); } return 0; } /* * check the dasd for a volume label */ int fdasd_check_volume (fdasd_anchor_t *anc, int fd) { PDEBUG volume_label_t *v = anc->vlabel; unsigned long b = -1; char str[LINE_LENGTH]; vtoc_read_volume_label (fd, anc->label_pos, v); if (strncmp(v->vollbl, vtoc_ebcdic_enc ("VOL1", str, 4), 4) == 0) { /* found VOL1 volume label */ b = (cchhb2blk (&v->vtoc, &anc->geo) - 1) * anc->blksize; if (b > 0) { int rc; rc = fdasd_valid_vtoc_pointer (anc, b, fd); if (rc < 0) return 1; else return 0; } else { return 1; } } else if (strncmp (v->volkey, vtoc_ebcdic_enc ("LNX1", str, 4), 4) == 0) { return 0; } return 1; } /* * checks the current API version with the API version of the dasd driver */ void fdasd_check_api_version (fdasd_anchor_t *anc, int f) { PDEBUG int api; char s[LINE_LENGTH]; struct stat st; if (fstat (f, &st) == 0 && S_ISREG (st.st_mode)) { /* skip these tests when F is a regular file. */ } else { if (ioctl(f, DASDAPIVER, &api) != 0) fdasd_error(anc, unable_to_ioctl, _("Could not retrieve API version.")); if (api != DASD_MIN_API_VERSION) { sprintf(s, _("The current API version '%d' doesn't " \ "match dasd driver API version " \ "'%d'!"), api, DASD_MIN_API_VERSION); fdasd_error(anc, api_version_mismatch, s); } } } /* * reads dasd geometry data */ void fdasd_get_geometry (const PedDevice *dev, fdasd_anchor_t *anc, int f) { PDEBUG int blksize = 0; dasd_information_t dasd_info; /* We can't get geometry from a regular file, so simulate something usable, for the sake of testing. */ struct stat st; if (fstat (f, &st) == 0 && S_ISREG (st.st_mode)) { PedSector n_sectors = st.st_size / dev->sector_size; anc->geo.heads = 15; anc->geo.sectors = 12; anc->geo.cylinders = (n_sectors / (anc->geo.heads * anc->geo.sectors * (dev->sector_size / dev->phys_sector_size))); anc->geo.start = 0; blksize = 4096; memcpy (dasd_info.type, "ECKD", 4); dasd_info.dev_type = 13200; dasd_info.label_block = 2; dasd_info.devno = 513; } else { if (ioctl(f, HDIO_GETGEO, &anc->geo) != 0) fdasd_error(anc, unable_to_ioctl, _("Could not retrieve disk geometry information.")); if (ioctl(f, BLKSSZGET, &blksize) != 0) fdasd_error(anc, unable_to_ioctl, _("Could not retrieve blocksize information.")); /* get disk type */ if (ioctl(f, BIODASDINFO, &dasd_info) != 0) fdasd_error(anc, unable_to_ioctl, _("Could not retrieve disk information.")); } if (strncmp(dasd_info.type, "ECKD", 4) != 0) fdasd_error(anc, wrong_disk_type, _("This is not an ECKD disk! " \ "This disk type is not supported!")); anc->dev_type = dasd_info.dev_type; anc->blksize = blksize; anc->label_pos = dasd_info.label_block * blksize; anc->devno = dasd_info.devno; anc->fspace_trk = anc->geo.cylinders * anc->geo.heads - FIRST_USABLE_TRK; } /* * returns unused partition info pointer if there * is a free partition, otherwise NULL */ static partition_info_t * fdasd_get_empty_f1_label (fdasd_anchor_t * anc) { PDEBUG if (anc->used_partitions < USABLE_PARTITIONS) return anc->last; else return NULL; } /* * asks for and sets some important partition data */ static int fdasd_get_partition_data (fdasd_anchor_t *anc, extent_t *part_extent, partition_info_t *p, unsigned int *start_ptr, unsigned int *stop_ptr) { PDEBUG unsigned int limit, cc, hh; cchh_t llimit, ulimit; partition_info_t *q; u_int8_t b1, b2; u_int16_t c, h; unsigned int start = *start_ptr, stop = *stop_ptr; int i; char *ch; if (anc->f4->DS4DEVCT.DS4DEVFG & ALTERNATE_CYLINDERS_USED) c = anc->f4->DS4DEVCT.DS4DSCYL - (u_int16_t) anc->f4->DS4DEVAC; else c = anc->f4->DS4DEVCT.DS4DSCYL; h = anc->f4->DS4DEVCT.DS4DSTRK; limit = (h * c - 1); /* check start value from user */ q = anc->first; for (i = 0; i < USABLE_PARTITIONS; i++) { if ( q->next == NULL ) break; if (start >= q->start_trk && start <= q->end_trk) { /* start is within another partition */ start = q->end_trk + 1; if (start > limit) { start = FIRST_USABLE_TRK; q = anc->first; } } if (start < q->start_trk) { limit = q->start_trk - 1; break; } q = q->next; } if (start == limit) stop = start; /* update partition info */ p->len_trk = stop - start + 1; p->start_trk = start; p->end_trk = stop; cc = start / anc->geo.heads; hh = start - (cc * anc->geo.heads); vtoc_set_cchh(&llimit, cc, hh); /* check for cylinder boundary */ if (hh == 0) b1 = 0x81; else b1 = 0x01; cc = stop / anc->geo.heads; hh = stop - cc * anc->geo.heads; vtoc_set_cchh(&ulimit, cc, hh); /* it is always the 1st extent */ b2 = 0x00; vtoc_set_extent(part_extent, b1, b2, &llimit, &ulimit); *start_ptr = start; *stop_ptr = stop; ch = p->f1->DS1DSNAM; vtoc_ebcdic_dec (ch, ch, 44); if (strstr(ch, PART_TYPE_LVM)) p->type = PARTITION_LINUX_LVM; else if (strstr(ch, PART_TYPE_RAID)) p->type = PARTITION_LINUX_RAID; else if (strstr(ch, PART_TYPE_NATIVE)) p->type = PARTITION_LINUX; else if (strstr(ch, PART_TYPE_SWAP)) p->type = PARTITION_LINUX_SWAP; else p->type = PARTITION_LINUX; vtoc_ebcdic_enc (ch, ch, 44); return 0; } static void fdasd_enqueue_new_partition (fdasd_anchor_t *anc) { PDEBUG partition_info_t *q = anc->first, *p = anc->last; int i, k=0; for (i=1; iend_trk == 0) || (p->start_trk < q->start_trk)) { break; } else { q = q->next; k++; } } if (anc->first == q) anc->first = p; if (p != q) { anc->last->prev->next = NULL; anc->last = anc->last->prev; p->next = q; p->prev = q->prev; q->prev = p; if (p->prev != NULL) p->prev->next = p; } p->used = 0x01; p->type = PARTITION_LINUX; for (i=0; i= k) setpos(anc, i, j + 1); } /* update free-space counters */ if (anc->first == p) { /* partition is the first used partition */ if (p->start_trk == FIRST_USABLE_TRK) { /* partition starts right behind VTOC */ p->fspace_trk = anc->fspace_trk - p->len_trk; anc->fspace_trk = 0; } else { /* there is some space between VTOC and partition */ p->fspace_trk = anc->fspace_trk - p->len_trk - p->start_trk + FIRST_USABLE_TRK; anc->fspace_trk = p->start_trk - FIRST_USABLE_TRK; } } else { /* there are partitions in front of the new one */ if (p->start_trk == p->prev->end_trk + 1) { /* new partition is right behind the previous one */ p->fspace_trk = p->prev->fspace_trk - p->len_trk; p->prev->fspace_trk = 0; } else { /* there is some space between new and prev. part. */ p->fspace_trk = p->prev->fspace_trk - p->len_trk - p->start_trk + p->prev->end_trk + 1; p->prev->fspace_trk = p->start_trk - p->prev->end_trk - 1; } } } /* * adds a new partition to the 'partition table' */ partition_info_t * fdasd_add_partition (fdasd_anchor_t *anc, unsigned int start, unsigned int stop) { PDEBUG cchhb_t hf1; partition_info_t *p; extent_t ext; int i; PDEBUG; if ((p = fdasd_get_empty_f1_label(anc)) == NULL) { PDEBUG; return 0; } PDEBUG; if (fdasd_get_partition_data(anc, &ext, p, &start, &stop) != 0) return 0; PDEBUG; vtoc_init_format1_label(anc->vlabel->volid, anc->blksize, &ext, p->f1); PDEBUG; fdasd_enqueue_new_partition(anc); PDEBUG; anc->used_partitions += 1; i = anc->used_partitions + 2; if (anc->big_disk) i++; PDEBUG; vtoc_set_cchhb(&hf1, VTOC_START_CC, VTOC_START_HH, i); vtoc_update_format4_label(anc->f4, &hf1, anc->f4->DS4DSREC - 1); PDEBUG; start = ext.llimit.cc * anc->geo.heads + ext.llimit.hh; stop = ext.ulimit.cc * anc->geo.heads + ext.ulimit.hh; PDEBUG; vtoc_set_freespace(anc->f4, anc->f5, anc->f7, '-', anc->verbose, start, stop, anc->geo.cylinders, anc->geo.heads); anc->vtoc_changed++; PDEBUG; return p; } /* vim:set tabstop=4 shiftwidth=4 softtabstop=4: */ parted-2.3/libparted/labels/efi_crc32.c0000644000000000000000000001654511154043331014645 00000000000000/* * Dec 5, 2000 Matt Domsch * - Copied crc32.c from the linux/drivers/net/cipe directory. * - Now pass seed as an arg * - changed unsigned long to uint32_t, added #include * - changed len to be an unsigned long * - changed crc32val to be a register * - License remains unchanged! It's still GPL-compatable! */ /* ============================================================= */ /* COPYRIGHT (C) 1986 Gary S. Brown. You may use this program, or */ /* code or tables extracted from it, as desired without restriction. */ /* */ /* First, the polynomial itself and its table of feedback terms. The */ /* polynomial is */ /* X^32+X^26+X^23+X^22+X^16+X^12+X^11+X^10+X^8+X^7+X^5+X^4+X^2+X^1+X^0 */ /* */ /* Note that we take it "backwards" and put the highest-order term in */ /* the lowest-order bit. The X^32 term is "implied"; the LSB is the */ /* X^31 term, etc. The X^0 term (usually shown as "+1") results in */ /* the MSB being 1. */ /* */ /* Note that the usual hardware shift register implementation, which */ /* is what we're using (we're merely optimizing it by doing eight-bit */ /* chunks at a time) shifts bits into the lowest-order term. In our */ /* implementation, that means shifting towards the right. Why do we */ /* do it this way? Because the calculated CRC must be transmitted in */ /* order from highest-order term to lowest-order term. UARTs transmit */ /* characters in order from LSB to MSB. By storing the CRC this way, */ /* we hand it to the UART in the order low-byte to high-byte; the UART */ /* sends each low-bit to hight-bit; and the result is transmission bit */ /* by bit from highest- to lowest-order term without requiring any bit */ /* shuffling on our part. Reception works similarly. */ /* */ /* The feedback terms table consists of 256, 32-bit entries. Notes: */ /* */ /* The table can be generated at runtime if desired; code to do so */ /* is shown later. It might not be obvious, but the feedback */ /* terms simply represent the results of eight shift/xor opera- */ /* tions for all combinations of data and CRC register values. */ /* */ /* The values must be right-shifted by eight bits by the "updcrc" */ /* logic; the shift must be unsigned (bring in zeroes). On some */ /* hardware you could probably optimize the shift in assembler by */ /* using byte-swap instructions. */ /* polynomial $edb88320 */ /* */ /* -------------------------------------------------------------------- */ #include #include static const uint32_t crc32_tab[] = { 0x00000000L, 0x77073096L, 0xee0e612cL, 0x990951baL, 0x076dc419L, 0x706af48fL, 0xe963a535L, 0x9e6495a3L, 0x0edb8832L, 0x79dcb8a4L, 0xe0d5e91eL, 0x97d2d988L, 0x09b64c2bL, 0x7eb17cbdL, 0xe7b82d07L, 0x90bf1d91L, 0x1db71064L, 0x6ab020f2L, 0xf3b97148L, 0x84be41deL, 0x1adad47dL, 0x6ddde4ebL, 0xf4d4b551L, 0x83d385c7L, 0x136c9856L, 0x646ba8c0L, 0xfd62f97aL, 0x8a65c9ecL, 0x14015c4fL, 0x63066cd9L, 0xfa0f3d63L, 0x8d080df5L, 0x3b6e20c8L, 0x4c69105eL, 0xd56041e4L, 0xa2677172L, 0x3c03e4d1L, 0x4b04d447L, 0xd20d85fdL, 0xa50ab56bL, 0x35b5a8faL, 0x42b2986cL, 0xdbbbc9d6L, 0xacbcf940L, 0x32d86ce3L, 0x45df5c75L, 0xdcd60dcfL, 0xabd13d59L, 0x26d930acL, 0x51de003aL, 0xc8d75180L, 0xbfd06116L, 0x21b4f4b5L, 0x56b3c423L, 0xcfba9599L, 0xb8bda50fL, 0x2802b89eL, 0x5f058808L, 0xc60cd9b2L, 0xb10be924L, 0x2f6f7c87L, 0x58684c11L, 0xc1611dabL, 0xb6662d3dL, 0x76dc4190L, 0x01db7106L, 0x98d220bcL, 0xefd5102aL, 0x71b18589L, 0x06b6b51fL, 0x9fbfe4a5L, 0xe8b8d433L, 0x7807c9a2L, 0x0f00f934L, 0x9609a88eL, 0xe10e9818L, 0x7f6a0dbbL, 0x086d3d2dL, 0x91646c97L, 0xe6635c01L, 0x6b6b51f4L, 0x1c6c6162L, 0x856530d8L, 0xf262004eL, 0x6c0695edL, 0x1b01a57bL, 0x8208f4c1L, 0xf50fc457L, 0x65b0d9c6L, 0x12b7e950L, 0x8bbeb8eaL, 0xfcb9887cL, 0x62dd1ddfL, 0x15da2d49L, 0x8cd37cf3L, 0xfbd44c65L, 0x4db26158L, 0x3ab551ceL, 0xa3bc0074L, 0xd4bb30e2L, 0x4adfa541L, 0x3dd895d7L, 0xa4d1c46dL, 0xd3d6f4fbL, 0x4369e96aL, 0x346ed9fcL, 0xad678846L, 0xda60b8d0L, 0x44042d73L, 0x33031de5L, 0xaa0a4c5fL, 0xdd0d7cc9L, 0x5005713cL, 0x270241aaL, 0xbe0b1010L, 0xc90c2086L, 0x5768b525L, 0x206f85b3L, 0xb966d409L, 0xce61e49fL, 0x5edef90eL, 0x29d9c998L, 0xb0d09822L, 0xc7d7a8b4L, 0x59b33d17L, 0x2eb40d81L, 0xb7bd5c3bL, 0xc0ba6cadL, 0xedb88320L, 0x9abfb3b6L, 0x03b6e20cL, 0x74b1d29aL, 0xead54739L, 0x9dd277afL, 0x04db2615L, 0x73dc1683L, 0xe3630b12L, 0x94643b84L, 0x0d6d6a3eL, 0x7a6a5aa8L, 0xe40ecf0bL, 0x9309ff9dL, 0x0a00ae27L, 0x7d079eb1L, 0xf00f9344L, 0x8708a3d2L, 0x1e01f268L, 0x6906c2feL, 0xf762575dL, 0x806567cbL, 0x196c3671L, 0x6e6b06e7L, 0xfed41b76L, 0x89d32be0L, 0x10da7a5aL, 0x67dd4accL, 0xf9b9df6fL, 0x8ebeeff9L, 0x17b7be43L, 0x60b08ed5L, 0xd6d6a3e8L, 0xa1d1937eL, 0x38d8c2c4L, 0x4fdff252L, 0xd1bb67f1L, 0xa6bc5767L, 0x3fb506ddL, 0x48b2364bL, 0xd80d2bdaL, 0xaf0a1b4cL, 0x36034af6L, 0x41047a60L, 0xdf60efc3L, 0xa867df55L, 0x316e8eefL, 0x4669be79L, 0xcb61b38cL, 0xbc66831aL, 0x256fd2a0L, 0x5268e236L, 0xcc0c7795L, 0xbb0b4703L, 0x220216b9L, 0x5505262fL, 0xc5ba3bbeL, 0xb2bd0b28L, 0x2bb45a92L, 0x5cb36a04L, 0xc2d7ffa7L, 0xb5d0cf31L, 0x2cd99e8bL, 0x5bdeae1dL, 0x9b64c2b0L, 0xec63f226L, 0x756aa39cL, 0x026d930aL, 0x9c0906a9L, 0xeb0e363fL, 0x72076785L, 0x05005713L, 0x95bf4a82L, 0xe2b87a14L, 0x7bb12baeL, 0x0cb61b38L, 0x92d28e9bL, 0xe5d5be0dL, 0x7cdcefb7L, 0x0bdbdf21L, 0x86d3d2d4L, 0xf1d4e242L, 0x68ddb3f8L, 0x1fda836eL, 0x81be16cdL, 0xf6b9265bL, 0x6fb077e1L, 0x18b74777L, 0x88085ae6L, 0xff0f6a70L, 0x66063bcaL, 0x11010b5cL, 0x8f659effL, 0xf862ae69L, 0x616bffd3L, 0x166ccf45L, 0xa00ae278L, 0xd70dd2eeL, 0x4e048354L, 0x3903b3c2L, 0xa7672661L, 0xd06016f7L, 0x4969474dL, 0x3e6e77dbL, 0xaed16a4aL, 0xd9d65adcL, 0x40df0b66L, 0x37d83bf0L, 0xa9bcae53L, 0xdebb9ec5L, 0x47b2cf7fL, 0x30b5ffe9L, 0xbdbdf21cL, 0xcabac28aL, 0x53b39330L, 0x24b4a3a6L, 0xbad03605L, 0xcdd70693L, 0x54de5729L, 0x23d967bfL, 0xb3667a2eL, 0xc4614ab8L, 0x5d681b02L, 0x2a6f2b94L, 0xb40bbe37L, 0xc30c8ea1L, 0x5a05df1bL, 0x2d02ef8dL }; /* Return a 32-bit CRC of the contents of the buffer. */ uint32_t __efi_crc32(const void *buf, unsigned long len, uint32_t seed) { unsigned long i; register uint32_t crc32val; const unsigned char *s = buf; crc32val = seed; for (i = 0; i < len; i ++) { crc32val = crc32_tab[(crc32val ^ s[i]) & 0xff] ^ (crc32val >> 8); } return crc32val; } parted-2.3/libparted/labels/misc.h0000644000000000000000000000220311333731662014042 00000000000000/* -*- Mode: c; indent-tabs-mode: nil -*- libparted - a library for manipulating disk partitions Copyright (C) 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Return nonzero if FS_TYPE_NAME starts with "linux-swap". This must match the NUL-terminated "linux-swap" as well as "linux-swap(v0)" and "linux-swap(v1)". */ static inline int is_linux_swap (char const *fs_type_name) { char const *prefix = "linux-swap"; return strncmp (fs_type_name, prefix, strlen (prefix)) == 0; } parted-2.3/libparted/labels/pt-tools.c0000644000000000000000000001244411360553301014663 00000000000000/* partition table tools Copyright (C) 2008-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include #include #include "pt-tools.h" #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ static char zero[16 * 1024]; /* Write a single sector to DISK, filling the first BUFLEN bytes of that sector with data from BUF, and NUL-filling any remaining bytes. Return nonzero to indicate success, zero otherwise. */ int ptt_write_sector (PedDisk const *disk, void const *buf, size_t buflen) { PED_ASSERT (buflen <= disk->dev->sector_size, return 0); /* Allocate a big enough buffer for ped_device_write. */ char *s0 = ped_malloc (disk->dev->sector_size); if (s0 == NULL) return 0; /* Copy boot_code into the first part. */ memcpy (s0, buf, buflen); char *p = s0 + buflen; /* Fill the rest with zeros. */ memset (p, 0, disk->dev->sector_size - buflen); int write_ok = ped_device_write (disk->dev, s0, 0, 1); free (s0); return write_ok; } /* Read N sectors, starting with sector SECTOR_NUM (which has length DEV->sector_size) into malloc'd storage. If the read fails, free the memory and return zero without modifying *BUF. Otherwise, set *BUF to the new buffer and return 1. */ int ptt_read_sectors (PedDevice const *dev, PedSector start_sector, PedSector n_sectors, void **buf) { char *b = ped_malloc (n_sectors * dev->sector_size); PED_ASSERT (b != NULL, return 0); if (!ped_device_read (dev, b, start_sector, n_sectors)) { free (b); return 0; } *buf = b; return 1; } /* Read sector, SECTOR_NUM (which has length DEV->sector_size) into malloc'd storage. If the read fails, free the memory and return zero without modifying *BUF. Otherwise, set *BUF to the new buffer and return 1. */ int ptt_read_sector (PedDevice const *dev, PedSector sector_num, void **buf) { return ptt_read_sectors (dev, sector_num, 1, buf); } /* Zero N sectors of DEV, starting with START. Return nonzero to indicate success, zero otherwise. */ int ptt_clear_sectors (PedDevice *dev, PedSector start, PedSector n) { PED_ASSERT (dev->sector_size <= sizeof zero, return 0); PedSector n_z_sectors = sizeof zero / dev->sector_size; PedSector n_full = n / n_z_sectors; PedSector i; for (i = 0; i < n_full; i++) { if (!ped_device_write (dev, zero, start + n_z_sectors * i, n_z_sectors)) return 0; } PedSector rem = n - n_z_sectors * i; return (rem == 0 ? 1 : ped_device_write (dev, zero, start + n_z_sectors * i, rem)); } #include "pt-limit.c" /* Throw an exception and return 0 if PART's starting sector number or its length is greater than the maximum allowed value for LABEL_TYPE. Otherwise, return 1. */ int ptt_partition_max_start_len (char const *pt_type, const PedPartition *part) { struct partition_limit const *pt_lim = pt_limit_lookup (pt_type, strlen (pt_type)); /* If we don't have info on the type, return "true". */ if (pt_lim == NULL) return 1; /* If the length in sectors exceeds the limit, you lose. */ if (part->geom.length > pt_lim->max_length) { ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("partition length of %jd sectors exceeds" " the %s-partition-table-imposed maximum" " of %jd"), part->geom.length, pt_type, pt_lim->max_length); return 0; } /* If the starting sector exceeds the limit, you lose. */ if (part->geom.start > pt_lim->max_start_sector) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("starting sector number, %jd exceeds" " the %s-partition-table-imposed maximum" " of %jd"), part->geom.start, pt_type, pt_lim->max_start_sector); return 0; } return 1; } /* Set *MAX to the largest representation-imposed starting sector number of a partition of type PT_TYPE and return 0. If PT_TYPE is not recognized, return -1. */ int ptt_partition_max_start_sector (char const *pt_type, PedSector *max) { struct partition_limit const *pt_lim = pt_limit_lookup (pt_type, strlen (pt_type)); if (pt_lim == NULL) return -1; *max = pt_lim->max_start_sector; return 0; } /* Set *MAX to the maximum representable length of a partition of type PT_TYPE and return 0. If PT_TYPE is not recognized, return -1. */ int ptt_partition_max_length (char const *pt_type, PedSector *max) { struct partition_limit const *pt_lim = pt_limit_lookup (pt_type, strlen (pt_type)); if (pt_lim == NULL) return -1; *max = pt_lim->max_length; return 0; } parted-2.3/libparted/labels/rdb.c0000644000000000000000000010753111337744564013674 00000000000000/* -*- Mode: c; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- libparted - a library for manipulating disk partitions disk_amiga.c - libparted module to manipulate amiga RDB partition tables. Copyright (C) 2000-2001, 2004, 2007-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Contributor: Sven Luther */ #include #include #include #include #include "pt-tools.h" #ifndef MAX # define MAX(a,b) ((a) < (b) ? (b) : (a)) #endif #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ #include "misc.h" /* String manipulation */ static void _amiga_set_bstr (const char *cstr, char *bstr, int maxsize) { int size = strlen (cstr); int i; if (size >= maxsize) return; bstr[0] = size; for (i = 0; i"; default : return ""; } } struct AmigaIds { uint32_t ID; struct AmigaIds *next; }; static struct AmigaIds * _amiga_add_id (uint32_t id, struct AmigaIds *ids) { struct AmigaIds *newid; if ((newid=ped_malloc(sizeof (struct AmigaIds)))==NULL) return 0; newid->ID = id; newid->next = ids; return newid; } static void _amiga_free_ids (struct AmigaIds *ids) { struct AmigaIds *current, *next; for (current = ids; current != NULL; current = next) { next = current->next; free (current); } } static int _amiga_id_in_list (uint32_t id, struct AmigaIds *ids) { struct AmigaIds *current; for (current = ids; current != NULL; current = current->next) { if (id == current->ID) return 1; } return 0; } struct AmigaBlock { uint32_t amiga_ID; /* Identifier 32 bit word */ uint32_t amiga_SummedLongss; /* Size of the structure for checksums */ int32_t amiga_ChkSum; /* Checksum of the structure */ }; #define AMIGA(pos) ((struct AmigaBlock *)(pos)) static int _amiga_checksum (struct AmigaBlock *blk) { uint32_t *rdb = (uint32_t *) blk; uint32_t sum; int i, end; sum = PED_BE32_TO_CPU (rdb[0]); end = PED_BE32_TO_CPU (rdb[1]); if (end > PED_SECTOR_SIZE_DEFAULT) end = PED_SECTOR_SIZE_DEFAULT; for (i = 1; i < end; i++) sum += PED_BE32_TO_CPU (rdb[i]); return sum; } static void _amiga_calculate_checksum (struct AmigaBlock *blk) { blk->amiga_ChkSum = PED_CPU_TO_BE32( PED_BE32_TO_CPU(blk->amiga_ChkSum) - _amiga_checksum((struct AmigaBlock *) blk)); return; } static struct AmigaBlock * _amiga_read_block (const PedDevice *dev, struct AmigaBlock *blk, PedSector block, struct AmigaIds *ids) { if (!ped_device_read (dev, blk, block, 1)) return NULL; if (ids && !_amiga_id_in_list(PED_BE32_TO_CPU(blk->amiga_ID), ids)) return NULL; if (_amiga_checksum (blk) != 0) { switch (ped_exception_throw(PED_EXCEPTION_ERROR, PED_EXCEPTION_FIX | PED_EXCEPTION_IGNORE | PED_EXCEPTION_CANCEL, _("%s : Bad checksum on block %llu of type %s."), __func__, block, _amiga_block_id(PED_BE32_TO_CPU(blk->amiga_ID)))) { case PED_EXCEPTION_CANCEL : return NULL; case PED_EXCEPTION_FIX : _amiga_calculate_checksum(AMIGA(blk)); if (!ped_device_write ((PedDevice*)dev, blk, block, 1)) return NULL; case PED_EXCEPTION_IGNORE : case PED_EXCEPTION_UNHANDLED : default : return blk; } } return blk; } struct RigidDiskBlock { uint32_t rdb_ID; /* Identifier 32 bit word : 'RDSK' */ uint32_t rdb_SummedLongs; /* Size of the structure for checksums */ int32_t rdb_ChkSum; /* Checksum of the structure */ uint32_t rdb_HostID; /* SCSI Target ID of host, not really used */ uint32_t rdb_BlockBytes; /* Size of disk blocks */ uint32_t rdb_Flags; /* RDB Flags */ /* block list heads */ uint32_t rdb_BadBlockList; /* Bad block list */ uint32_t rdb_PartitionList; /* Partition list */ uint32_t rdb_FileSysHeaderList; /* File system header list */ uint32_t rdb_DriveInit; /* Drive specific init code */ uint32_t rdb_BootBlockList; /* Amiga OS 4 Boot Blocks */ uint32_t rdb_Reserved1[5]; /* Unused word, need to be set to $ffffffff */ /* physical drive characteristics */ uint32_t rdb_Cylinders; /* Number of the cylinders of the drive */ uint32_t rdb_Sectors; /* Number of sectors of the drive */ uint32_t rdb_Heads; /* Number of heads of the drive */ uint32_t rdb_Interleave; /* Interleave */ uint32_t rdb_Park; /* Head parking cylinder */ uint32_t rdb_Reserved2[3]; /* Unused word, need to be set to $ffffffff */ uint32_t rdb_WritePreComp; /* Starting cylinder of write precompensation */ uint32_t rdb_ReducedWrite; /* Starting cylinder of reduced write current */ uint32_t rdb_StepRate; /* Step rate of the drive */ uint32_t rdb_Reserved3[5]; /* Unused word, need to be set to $ffffffff */ /* logical drive characteristics */ uint32_t rdb_RDBBlocksLo; /* low block of range reserved for hardblocks */ uint32_t rdb_RDBBlocksHi; /* high block of range for these hardblocks */ uint32_t rdb_LoCylinder; /* low cylinder of partitionable disk area */ uint32_t rdb_HiCylinder; /* high cylinder of partitionable data area */ uint32_t rdb_CylBlocks; /* number of blocks available per cylinder */ uint32_t rdb_AutoParkSeconds; /* zero for no auto park */ uint32_t rdb_HighRDSKBlock; /* highest block used by RDSK */ /* (not including replacement bad blocks) */ uint32_t rdb_Reserved4; /* drive identification */ char rdb_DiskVendor[8]; char rdb_DiskProduct[16]; char rdb_DiskRevision[4]; char rdb_ControllerVendor[8]; char rdb_ControllerProduct[16]; char rdb_ControllerRevision[4]; uint32_t rdb_Reserved5[10]; }; #define RDSK(pos) ((struct RigidDiskBlock *)(pos)) #define AMIGA_RDB_NOT_FOUND ((uint32_t)0xffffffff) #define RDB_LOCATION_LIMIT 16 #define AMIGA_MAX_PARTITIONS 128 #define MAX_RDB_BLOCK (RDB_LOCATION_LIMIT + 2 * AMIGA_MAX_PARTITIONS + 2) static uint32_t _amiga_find_rdb (const PedDevice *dev, struct RigidDiskBlock *rdb) { int i; struct AmigaIds *ids; ids = _amiga_add_id (IDNAME_RIGIDDISK, NULL); for (i = 0; irdb_ID) == IDNAME_RIGIDDISK) { _amiga_free_ids (ids); return i; } } _amiga_free_ids (ids); return AMIGA_RDB_NOT_FOUND; } struct PartitionBlock { uint32_t pb_ID; /* Identifier 32 bit word : 'PART' */ uint32_t pb_SummedLongs; /* Size of the structure for checksums */ int32_t pb_ChkSum; /* Checksum of the structure */ uint32_t pb_HostID; /* SCSI Target ID of host, not really used */ uint32_t pb_Next; /* Block number of the next PartitionBlock */ uint32_t pb_Flags; /* Part Flags (NOMOUNT and BOOTABLE) */ uint32_t pb_Reserved1[2]; uint32_t pb_DevFlags; /* Preferred flags for OpenDevice */ char pb_DriveName[32]; /* Preferred DOS device name: BSTR form */ uint32_t pb_Reserved2[15]; uint32_t de_TableSize; /* Size of Environment vector */ /* Size of the blocks in 32 bit words, usually 128 */ uint32_t de_SizeBlock; uint32_t de_SecOrg; /* Not used; must be 0 */ uint32_t de_Surfaces; /* Number of heads (surfaces) */ /* Disk sectors per block, used with SizeBlock, usually 1 */ uint32_t de_SectorPerBlock; uint32_t de_BlocksPerTrack; /* Blocks per track. drive specific */ uint32_t de_Reserved; /* DOS reserved blocks at start of partition. */ uint32_t de_PreAlloc; /* DOS reserved blocks at end of partition */ uint32_t de_Interleave; /* Not used, usually 0 */ uint32_t de_LowCyl; /* First cylinder of the partition */ uint32_t de_HighCyl; /* Last cylinder of the partition */ uint32_t de_NumBuffers; /* Initial # DOS of buffers. */ uint32_t de_BufMemType; /* Type of mem to allocate for buffers */ uint32_t de_MaxTransfer; /* Max number of bytes to transfer at a time */ uint32_t de_Mask; /* Address Mask to block out certain memory */ int32_t de_BootPri; /* Boot priority for autoboot */ uint32_t de_DosType; /* Dostype of the file system */ uint32_t de_Baud; /* Baud rate for serial handler */ uint32_t de_Control; /* Control word for handler/filesystem */ uint32_t de_BootBlocks; /* Number of blocks containing boot code */ uint32_t pb_EReserved[12]; }; #define PART(pos) ((struct PartitionBlock *)(pos)) #define PBFB_BOOTABLE 0 /* this partition is intended to be bootable */ #define PBFF_BOOTABLE 1L /* (expected directories and files exist) */ #define PBFB_NOMOUNT 1 /* do not mount this partition (e.g. manually */ #define PBFF_NOMOUNT 2L /* mounted, but space reserved here) */ #define PBFB_RAID 2 /* this partition is intended to be part of */ #define PBFF_RAID 4L /* a RAID array */ #define PBFB_LVM 3 /* this partition is intended to be part of */ #define PBFF_LVM 8L /* a LVM volume group */ struct LinkedBlock { uint32_t lk_ID; /* Identifier 32 bit word */ uint32_t lk_SummedLongs; /* Size of the structure for checksums */ int32_t lk_ChkSum; /* Checksum of the structure */ uint32_t pb_HostID; /* SCSI Target ID of host, not really used */ uint32_t lk_Next; /* Block number of the next PartitionBlock */ }; struct Linked2Block { uint32_t lk2_ID; /* Identifier 32 bit word */ uint32_t lk2_SummedLongs; /* Size of the structure for checksums */ int32_t lk2_ChkSum; /* Checksum of the structure */ uint32_t lk2_HostID; /* SCSI Target ID of host, not really used */ uint32_t lk2_Next; /* Block number of the next PartitionBlock */ uint32_t lk2_Reverved[13]; uint32_t lk2_Linked; /* Secondary linked list */ }; #define LINK_END (uint32_t)0xffffffff #define LNK(pos) ((struct LinkedBlock *)(pos)) #define LNK2(pos) ((struct Linked2Block *)(pos)) static PedDiskType amiga_disk_type; static int amiga_probe (const PedDevice *dev) { struct RigidDiskBlock *rdb; uint32_t found; PED_ASSERT(dev != NULL, return 0); if ((rdb=RDSK(ped_malloc(dev->sector_size)))==NULL) return 0; found = _amiga_find_rdb (dev, rdb); free (rdb); return (found == AMIGA_RDB_NOT_FOUND ? 0 : 1); } static PedDisk* amiga_alloc (const PedDevice* dev) { PedDisk *disk; struct RigidDiskBlock *rdb; PedSector cyl_size; int highest_cylinder, highest_block; PED_ASSERT(dev != NULL, return NULL); cyl_size = dev->hw_geom.sectors * dev->hw_geom.heads; if (!(disk = _ped_disk_alloc (dev, &amiga_disk_type))) return NULL; if (!(disk->disk_specific = ped_malloc (disk->dev->sector_size))) { free (disk); return NULL; } rdb = disk->disk_specific; /* Upon failed assertion this does leak. That's fine, because if the assertion fails, you have bigger problems than this leak. */ PED_ASSERT(sizeof(*rdb) <= disk->dev->sector_size, return NULL); memset(rdb, 0, disk->dev->sector_size); rdb->rdb_ID = PED_CPU_TO_BE32 (IDNAME_RIGIDDISK); rdb->rdb_SummedLongs = PED_CPU_TO_BE32 (64); rdb->rdb_HostID = PED_CPU_TO_BE32 (0); rdb->rdb_BlockBytes = PED_CPU_TO_BE32 (disk->dev->sector_size); rdb->rdb_Flags = PED_CPU_TO_BE32 (0); /* Block lists */ rdb->rdb_BadBlockList = PED_CPU_TO_BE32 (LINK_END); rdb->rdb_PartitionList = PED_CPU_TO_BE32 (LINK_END); rdb->rdb_FileSysHeaderList = PED_CPU_TO_BE32 (LINK_END); rdb->rdb_DriveInit = PED_CPU_TO_BE32 (LINK_END); rdb->rdb_BootBlockList = PED_CPU_TO_BE32 (LINK_END); /* Physical drive characteristics */ rdb->rdb_Cylinders = PED_CPU_TO_BE32 (dev->hw_geom.cylinders); rdb->rdb_Sectors = PED_CPU_TO_BE32 (dev->hw_geom.sectors); rdb->rdb_Heads = PED_CPU_TO_BE32 (dev->hw_geom.heads); rdb->rdb_Interleave = PED_CPU_TO_BE32 (0); rdb->rdb_Park = PED_CPU_TO_BE32 (dev->hw_geom.cylinders); rdb->rdb_WritePreComp = PED_CPU_TO_BE32 (dev->hw_geom.cylinders); rdb->rdb_ReducedWrite = PED_CPU_TO_BE32 (dev->hw_geom.cylinders); rdb->rdb_StepRate = PED_CPU_TO_BE32 (0); highest_cylinder = 1 + MAX_RDB_BLOCK / cyl_size; highest_block = highest_cylinder * cyl_size - 1; /* Logical driver characteristics */ rdb->rdb_RDBBlocksLo = PED_CPU_TO_BE32 (0); rdb->rdb_RDBBlocksHi = PED_CPU_TO_BE32 (highest_block); rdb->rdb_LoCylinder = PED_CPU_TO_BE32 (highest_cylinder); rdb->rdb_HiCylinder = PED_CPU_TO_BE32 (dev->hw_geom.cylinders -1); rdb->rdb_CylBlocks = PED_CPU_TO_BE32 (cyl_size); rdb->rdb_AutoParkSeconds = PED_CPU_TO_BE32 (0); /* rdb_HighRDSKBlock will only be set when writing */ rdb->rdb_HighRDSKBlock = PED_CPU_TO_BE32 (0); /* Driver identification */ _amiga_set_bstr("", rdb->rdb_DiskVendor, 8); _amiga_set_bstr(dev->model, rdb->rdb_DiskProduct, 16); _amiga_set_bstr("", rdb->rdb_DiskRevision, 4); _amiga_set_bstr("", rdb->rdb_ControllerVendor, 8); _amiga_set_bstr("", rdb->rdb_ControllerProduct, 16); _amiga_set_bstr("", rdb->rdb_ControllerRevision, 4); /* And calculate the checksum */ _amiga_calculate_checksum ((struct AmigaBlock *) rdb); return disk; } static PedDisk* amiga_duplicate (const PedDisk* disk) { PedDisk* new_disk; struct RigidDiskBlock * new_rdb; struct RigidDiskBlock * old_rdb; PED_ASSERT(disk != NULL, return NULL); PED_ASSERT(disk->dev != NULL, return NULL); PED_ASSERT(disk->disk_specific != NULL, return NULL); old_rdb = (struct RigidDiskBlock *) disk->disk_specific; if (!(new_disk = ped_disk_new_fresh (disk->dev, &amiga_disk_type))) return NULL; new_rdb = (struct RigidDiskBlock *) new_disk->disk_specific; memcpy (new_rdb, old_rdb, 256); return new_disk; } static void amiga_free (PedDisk* disk) { PED_ASSERT(disk != NULL, return); PED_ASSERT(disk->disk_specific != NULL, return); free (disk->disk_specific); _ped_disk_free (disk); } static int _amiga_loop_check (uint32_t block, uint32_t * blocklist, uint32_t max) { uint32_t i; for (i = 0; i < max; i++) if (block == blocklist[i]) { /* We are looping, let's stop. */ return 1; } blocklist[max] = block; return 0; } /* We have already allocated a rdb, we are now reading it from the disk */ static int amiga_read (PedDisk* disk) { struct RigidDiskBlock *rdb; struct PartitionBlock *partition; uint32_t partblock; uint32_t partlist[AMIGA_MAX_PARTITIONS]; PedSector cylblocks; int i; PED_ASSERT(disk != NULL, return 0); PED_ASSERT(disk->dev != NULL, return 0); PED_ASSERT(disk->dev->sector_size % PED_SECTOR_SIZE_DEFAULT == 0, return 0); PED_ASSERT(disk->disk_specific != NULL, return 0); rdb = RDSK(disk->disk_specific); if (_amiga_find_rdb (disk->dev, rdb) == AMIGA_RDB_NOT_FOUND) { ped_exception_throw(PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("%s : Didn't find rdb block, should never happen."), __func__); return 0; } /* Let's copy the rdb read geometry to the dev */ /* FIXME: should this go into disk->dev->bios_geom instead? */ disk->dev->hw_geom.cylinders = PED_BE32_TO_CPU (rdb->rdb_Cylinders); disk->dev->hw_geom.heads = PED_BE32_TO_CPU (rdb->rdb_Heads); disk->dev->hw_geom.sectors = PED_BE32_TO_CPU (rdb->rdb_Sectors); cylblocks = (PedSector) PED_BE32_TO_CPU (rdb->rdb_Heads) * (PedSector) PED_BE32_TO_CPU (rdb->rdb_Sectors); /* Remove all partitions in the former in memory table */ ped_disk_delete_all (disk); /* Let's allocate a partition block */ if (!(partition = ped_malloc (disk->dev->sector_size))) return 0; /* We initialize the hardblock free list to detect loops */ for (i = 0; i < AMIGA_MAX_PARTITIONS; i++) partlist[i] = LINK_END; for (i = 1, partblock = PED_BE32_TO_CPU(rdb->rdb_PartitionList); i < AMIGA_MAX_PARTITIONS && partblock != LINK_END; i++, partblock = PED_BE32_TO_CPU(partition->pb_Next)) { PedPartition *part; PedSector start, end; PedConstraint *constraint_exact; /* Let's look for loops in the partition table */ if (_amiga_loop_check(partblock, partlist, i)) { break; } /* Let's allocate and read a partition block to get its geometry*/ if (!_amiga_read_block (disk->dev, AMIGA(partition), (PedSector)partblock, NULL)) { free(partition); return 0; } start = ((PedSector) PED_BE32_TO_CPU (partition->de_LowCyl)) * cylblocks; end = (((PedSector) PED_BE32_TO_CPU (partition->de_HighCyl)) + 1) * cylblocks - 1; /* We can now construct a new partition */ if (!(part = ped_partition_new (disk, PED_PARTITION_NORMAL, NULL, start, end))) { free(partition); return 0; } /* And copy over the partition block */ memcpy(part->disk_specific, partition, 256); part->num = i; part->type = 0; /* Let's probe what file system is present on the disk */ part->fs_type = ped_file_system_probe (&part->geom); constraint_exact = ped_constraint_exact (&part->geom); if (!ped_disk_add_partition (disk, part, constraint_exact)) { ped_partition_destroy(part); free(partition); return 0; } ped_constraint_destroy (constraint_exact); } free(partition); return 1; } static int _amiga_find_free_blocks(const PedDisk *disk, uint32_t *table, struct LinkedBlock *block, uint32_t first, uint32_t type) { PedSector next; PED_ASSERT(disk != NULL, return 0); PED_ASSERT(disk->dev != NULL, return 0); for (next = first; next != LINK_END; next = PED_BE32_TO_CPU(block->lk_Next)) { if (table[next] != IDNAME_FREE) { switch (ped_exception_throw(PED_EXCEPTION_ERROR, PED_EXCEPTION_FIX | PED_EXCEPTION_IGNORE | PED_EXCEPTION_CANCEL, _("%s : Loop detected at block %d."), __func__, next)) { case PED_EXCEPTION_CANCEL : return 0; case PED_EXCEPTION_FIX : /* TODO : Need to add fixing code */ case PED_EXCEPTION_IGNORE : case PED_EXCEPTION_UNHANDLED : default : return 1; } } if (!_amiga_read_block (disk->dev, AMIGA(block), next, NULL)) { return 0; } if (PED_BE32_TO_CPU(block->lk_ID) != type) { switch (ped_exception_throw(PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("%s : The %s list seems bad at block %s."), __func__, _amiga_block_id(PED_BE32_TO_CPU(block->lk_ID)), next)) { /* TODO : to more subtile things here */ case PED_EXCEPTION_CANCEL : case PED_EXCEPTION_UNHANDLED : default : return 0; } } table[next] = type; if (PED_BE32_TO_CPU(block->lk_ID) == IDNAME_FILESYSHEADER) { if (_amiga_find_free_blocks(disk, table, block, PED_BE32_TO_CPU(LNK2(block)->lk2_Linked), IDNAME_LOADSEG) == 0) return 0; } } return 1; } static uint32_t _amiga_next_free_block(uint32_t *table, uint32_t start, uint32_t type) { int i; for (i = start; table[i] != type && table[i] != IDNAME_FREE; i++); return i; } static PedPartition * _amiga_next_real_partition(const PedDisk *disk, PedPartition *part) { PedPartition *next; for (next = ped_disk_next_partition (disk, part); next != NULL && !ped_partition_is_active (next); next = ped_disk_next_partition (disk, next)); return next; } #ifndef DISCOVER_ONLY static int amiga_write (const PedDisk* disk) { struct RigidDiskBlock *rdb; struct LinkedBlock *block; struct PartitionBlock *partition; PedPartition *part, *next_part; PedSector cylblocks, first_hb, last_hb; uint32_t * table; uint32_t i; uint32_t rdb_num, part_num, block_num, next_num; PED_ASSERT (disk != NULL, return 0); PED_ASSERT (disk->dev != NULL, return 0); PED_ASSERT (disk->disk_specific != NULL, return 0); if (!(rdb = ped_malloc (disk->dev->sector_size))) return 0; /* Let's read the rdb */ if ((rdb_num = _amiga_find_rdb (disk->dev, rdb)) == AMIGA_RDB_NOT_FOUND) { rdb_num = 2; size_t pb_size = sizeof (struct PartitionBlock); /* Initialize only the part that won't be copied over with a partition block in amiga_read. */ memset ((char *)(RDSK(disk->disk_specific)) + pb_size, 0, PED_SECTOR_SIZE_DEFAULT - pb_size); } else { memcpy (RDSK(disk->disk_specific), rdb, disk->dev->sector_size); } free (rdb); rdb = RDSK(disk->disk_specific); cylblocks = (PedSector) PED_BE32_TO_CPU (rdb->rdb_Heads) * (PedSector) PED_BE32_TO_CPU (rdb->rdb_Sectors); first_hb = (PedSector) PED_BE32_TO_CPU (rdb->rdb_RDBBlocksLo); last_hb = (PedSector) PED_BE32_TO_CPU (rdb->rdb_RDBBlocksHi); /* Allocate a free block table and initialize it. There must be room for at least RDB_NUM + 2 entries, since the first RDB_NUM+1 entries get IDNAME_RIGIDDISK, and the following one must have LINK_END to serve as sentinel. */ size_t tab_size = 2 + MAX (last_hb - first_hb, rdb_num); if (!(table = ped_malloc (tab_size * sizeof *table))) return 0; for (i = 0; i <= rdb_num; i++) table[i] = IDNAME_RIGIDDISK; for ( ; i < tab_size; i++) table[i] = LINK_END; /* Let's allocate a partition block */ if (!(block = ped_malloc (disk->dev->sector_size))) { free (table); return 0; } /* And fill the free block table */ if (_amiga_find_free_blocks(disk, table, block, PED_BE32_TO_CPU (rdb->rdb_BadBlockList), IDNAME_BADBLOCK) == 0) { ped_exception_throw(PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("%s : Failed to list bad blocks."), __func__); goto error_free_table; } if (_amiga_find_free_blocks(disk, table, block, PED_BE32_TO_CPU (rdb->rdb_PartitionList), IDNAME_PARTITION) == 0) { ped_exception_throw(PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("%s : Failed to list partition blocks."), __func__); goto error_free_table; } if (_amiga_find_free_blocks(disk, table, block, PED_BE32_TO_CPU (rdb->rdb_FileSysHeaderList), IDNAME_FILESYSHEADER) == 0) { ped_exception_throw(PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("%s : Failed to list file system blocks."), __func__); goto error_free_table; } if (_amiga_find_free_blocks(disk, table, block, PED_BE32_TO_CPU (rdb->rdb_BootBlockList), IDNAME_BOOT) == 0) { ped_exception_throw(PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("%s : Failed to list boot blocks."), __func__); goto error_free_table; } block_num = part_num = _amiga_next_free_block(table, rdb_num+1, IDNAME_PARTITION); part = _amiga_next_real_partition(disk, NULL); rdb->rdb_PartitionList = PED_CPU_TO_BE32(part ? part_num : LINK_END); for (; part != NULL; part = next_part, block_num = next_num) { PED_ASSERT(part->disk_specific != NULL, return 0); PED_ASSERT(part->geom.start % cylblocks == 0, return 0); PED_ASSERT((part->geom.end + 1) % cylblocks == 0, return 0); next_part = _amiga_next_real_partition(disk, part); next_num = _amiga_next_free_block(table, block_num+1, IDNAME_PARTITION); partition = PART(part->disk_specific); if (next_part == NULL) partition->pb_Next = PED_CPU_TO_BE32(LINK_END); else partition->pb_Next = PED_CPU_TO_BE32(next_num); partition->de_LowCyl = PED_CPU_TO_BE32(part->geom.start/cylblocks); partition->de_HighCyl = PED_CPU_TO_BE32((part->geom.end+1)/cylblocks-1); _amiga_calculate_checksum(AMIGA(partition)); if (!ped_device_write (disk->dev, (void*) partition, block_num, 1)) { ped_exception_throw(PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Failed to write partition block at %d."), block_num); goto error_free_table; /* WARNING : If we fail here, we stop everything, * and the partition table is lost. A better * solution should be found, using the second * half of the hardblocks to not overwrite the * old partition table. It becomes problematic * if we use more than half of the hardblocks. */ } } if (block_num > PED_BE32_TO_CPU (rdb->rdb_HighRDSKBlock)) rdb->rdb_HighRDSKBlock = PED_CPU_TO_BE32(block_num); _amiga_calculate_checksum(AMIGA(rdb)); if (!ped_device_write (disk->dev, (void*) disk->disk_specific, rdb_num, 1)) goto error_free_table; free (table); free (block); return ped_device_sync (disk->dev); error_free_table: free (table); free (block); return 0; } #endif /* !DISCOVER_ONLY */ static PedPartition* amiga_partition_new (const PedDisk* disk, PedPartitionType part_type, const PedFileSystemType* fs_type, PedSector start, PedSector end) { PedPartition *part; PedDevice *dev; PedSector cyl; struct PartitionBlock *partition; struct RigidDiskBlock *rdb; PED_ASSERT(disk != NULL, return NULL); PED_ASSERT(disk->dev != NULL, return NULL); PED_ASSERT(disk->disk_specific != NULL, return NULL); dev = disk->dev; cyl = (PedSector) (dev->hw_geom.sectors * dev->hw_geom.heads); rdb = RDSK(disk->disk_specific); if (!(part = _ped_partition_alloc (disk, part_type, fs_type, start, end))) return NULL; if (ped_partition_is_active (part)) { if (!(part->disk_specific = ped_malloc (disk->dev->sector_size))) { free (part); return NULL; } partition = PART(part->disk_specific); memset(partition, 0, sizeof(struct PartitionBlock)); partition->pb_ID = PED_CPU_TO_BE32(IDNAME_PARTITION); partition->pb_SummedLongs = PED_CPU_TO_BE32(64); partition->pb_HostID = rdb->rdb_HostID; partition->pb_Flags = PED_CPU_TO_BE32(0); /* TODO : use a scheme including the device name and the * partition number, if it is possible */ _amiga_set_bstr("dhx", partition->pb_DriveName, 32); partition->de_TableSize = PED_CPU_TO_BE32(19); partition->de_SizeBlock = PED_CPU_TO_BE32(128); partition->de_SecOrg = PED_CPU_TO_BE32(0); partition->de_Surfaces = PED_CPU_TO_BE32(dev->hw_geom.heads); partition->de_SectorPerBlock = PED_CPU_TO_BE32(1); partition->de_BlocksPerTrack = PED_CPU_TO_BE32(dev->hw_geom.sectors); partition->de_Reserved = PED_CPU_TO_BE32(2); partition->de_PreAlloc = PED_CPU_TO_BE32(0); partition->de_Interleave = PED_CPU_TO_BE32(0); partition->de_LowCyl = PED_CPU_TO_BE32(start/cyl); partition->de_HighCyl = PED_CPU_TO_BE32((end+1)/cyl-1); partition->de_NumBuffers = PED_CPU_TO_BE32(30); partition->de_BufMemType = PED_CPU_TO_BE32(0); partition->de_MaxTransfer = PED_CPU_TO_BE32(0x7fffffff); partition->de_Mask = PED_CPU_TO_BE32(0xffffffff); partition->de_BootPri = PED_CPU_TO_BE32(0); partition->de_DosType = PED_CPU_TO_BE32(0x4c4e5800); partition->de_Baud = PED_CPU_TO_BE32(0); partition->de_Control = PED_CPU_TO_BE32(0); partition->de_BootBlocks = PED_CPU_TO_BE32(0); } else { part->disk_specific = NULL; } return part; } static PedPartition* amiga_partition_duplicate (const PedPartition* part) { PedPartition *new_part; struct PartitionBlock *new_amiga_part; struct PartitionBlock *old_amiga_part; PED_ASSERT(part != NULL, return NULL); PED_ASSERT(part->disk != NULL, return NULL); PED_ASSERT(part->disk_specific != NULL, return NULL); old_amiga_part = (struct PartitionBlock *) part->disk_specific; new_part = ped_partition_new (part->disk, part->type, part->fs_type, part->geom.start, part->geom.end); if (!new_part) return NULL; new_amiga_part = (struct PartitionBlock *) new_part->disk_specific; memcpy (new_amiga_part, old_amiga_part, 256); return new_part; } static void amiga_partition_destroy (PedPartition* part) { PED_ASSERT (part != NULL, return); if (ped_partition_is_active (part)) { PED_ASSERT (part->disk_specific != NULL, return); free (part->disk_specific); } _ped_partition_free (part); } static int amiga_partition_set_system (PedPartition* part, const PedFileSystemType* fs_type) { struct PartitionBlock *partition; PED_ASSERT (part != NULL, return 0); PED_ASSERT (part->disk_specific != NULL, return 0); partition = PART(part->disk_specific); part->fs_type = fs_type; if (!fs_type) partition->de_DosType = PED_CPU_TO_BE32(0x4c4e5800); /* 'LNX\0' */ else if (!strcmp (fs_type->name, "ext2")) partition->de_DosType = PED_CPU_TO_BE32(0x4c4e5800); /* 'LNX\0' */ else if (!strcmp (fs_type->name, "ext3")) partition->de_DosType = PED_CPU_TO_BE32(0x45585403); /* 'EXT\3' */ else if (is_linux_swap (fs_type->name)) partition->de_DosType = PED_CPU_TO_BE32(0x53575000); /* 'SWP\0' */ else if (!strcmp (fs_type->name, "fat16")) partition->de_DosType = PED_CPU_TO_BE32(0x46415400); /* 'FAT\0' */ else if (!strcmp (fs_type->name, "fat32")) partition->de_DosType = PED_CPU_TO_BE32(0x46415401); /* 'FAT\1'*/ else if (!strcmp (fs_type->name, "hfs")) partition->de_DosType = PED_CPU_TO_BE32(0x48465300); /* 'HFS\0' */ else if (!strcmp (fs_type->name, "jfs")) partition->de_DosType = PED_CPU_TO_BE32(0x4a465300); /* 'JFS\0' */ else if (!strcmp (fs_type->name, "ntfs")) partition->de_DosType = PED_CPU_TO_BE32(0x4e544653); /* 'NTFS' */ else if (!strcmp (fs_type->name, "reiserfs")) partition->de_DosType = PED_CPU_TO_BE32(0x52465300); /* 'RFS\0' */ else if (!strcmp (fs_type->name, "sun-ufs")) partition->de_DosType = PED_CPU_TO_BE32(0x53554653); /* 'SUFS' */ else if (!strcmp (fs_type->name, "hp-ufs")) partition->de_DosType = PED_CPU_TO_BE32(0x48554653); /* 'HUFS' */ else if (!strcmp (fs_type->name, "xfs")) partition->de_DosType = PED_CPU_TO_BE32(0x58465300); /* 'XFS\0' */ else partition->de_DosType = PED_CPU_TO_BE32(0x00000000); /* unknown */ return 1; } static int amiga_partition_set_flag (PedPartition* part, PedPartitionFlag flag, int state) { struct PartitionBlock *partition; PED_ASSERT (part != NULL, return 0); PED_ASSERT (part->disk_specific != NULL, return 0); partition = PART(part->disk_specific); switch (flag) { case PED_PARTITION_BOOT: if (state) partition->pb_Flags |= PED_CPU_TO_BE32(PBFF_BOOTABLE); else partition->pb_Flags &= ~(PED_CPU_TO_BE32(PBFF_BOOTABLE)); return 1; case PED_PARTITION_HIDDEN: if (state) partition->pb_Flags |= PED_CPU_TO_BE32(PBFF_NOMOUNT); else partition->pb_Flags &= ~(PED_CPU_TO_BE32(PBFF_NOMOUNT)); return 1; case PED_PARTITION_RAID: if (state) partition->pb_Flags |= PED_CPU_TO_BE32(PBFF_RAID); else partition->pb_Flags &= ~(PED_CPU_TO_BE32(PBFF_RAID)); return 1; case PED_PARTITION_LVM: if (state) partition->pb_Flags |= PED_CPU_TO_BE32(PBFF_LVM); else partition->pb_Flags &= ~(PED_CPU_TO_BE32(PBFF_LVM)); return 1; default: return 0; } } static int amiga_partition_get_flag (const PedPartition* part, PedPartitionFlag flag) { struct PartitionBlock *partition; PED_ASSERT (part != NULL, return 0); PED_ASSERT (part->disk_specific != NULL, return 0); partition = PART(part->disk_specific); switch (flag) { case PED_PARTITION_BOOT: return (partition->pb_Flags & PED_CPU_TO_BE32(PBFF_BOOTABLE)); case PED_PARTITION_HIDDEN: return (partition->pb_Flags & PED_CPU_TO_BE32(PBFF_NOMOUNT)); case PED_PARTITION_RAID: return (partition->pb_Flags & PED_CPU_TO_BE32(PBFF_RAID)); case PED_PARTITION_LVM: return (partition->pb_Flags & PED_CPU_TO_BE32(PBFF_LVM)); default: return 0; } } static int amiga_partition_is_flag_available (const PedPartition* part, PedPartitionFlag flag) { switch (flag) { case PED_PARTITION_BOOT: case PED_PARTITION_HIDDEN: case PED_PARTITION_RAID: case PED_PARTITION_LVM: return 1; default: return 0; } } static void amiga_partition_set_name (PedPartition* part, const char* name) { struct PartitionBlock *partition; PED_ASSERT (part != NULL, return); PED_ASSERT (part->disk_specific != NULL, return); partition = PART(part->disk_specific); _amiga_set_bstr(name, partition->pb_DriveName, 32); } static const char* amiga_partition_get_name (const PedPartition* part) { struct PartitionBlock *partition; PED_ASSERT (part != NULL, return 0); PED_ASSERT (part->disk_specific != NULL, return 0); partition = PART(part->disk_specific); return _amiga_get_bstr(partition->pb_DriveName); } static PedAlignment* amiga_get_partition_alignment(const PedDisk *disk) { PedSector cylinder_size = disk->dev->hw_geom.sectors * disk->dev->hw_geom.heads; return ped_alignment_new(0, cylinder_size); } static PedConstraint* _amiga_get_constraint (const PedDisk *disk) { PedDevice *dev = disk->dev; PedAlignment start_align, end_align; PedGeometry max_geom; PedSector cyl_size = dev->hw_geom.sectors * dev->hw_geom.heads; if (!ped_alignment_init(&start_align, 0, cyl_size)) return NULL; if (!ped_alignment_init(&end_align, -1, cyl_size)) return NULL; if (!ped_geometry_init(&max_geom, dev, MAX_RDB_BLOCK + 1, dev->length - MAX_RDB_BLOCK - 1)) return NULL; return ped_constraint_new (&start_align, &end_align, &max_geom, &max_geom, 1, dev->length); } static int amiga_partition_align (PedPartition* part, const PedConstraint* constraint) { PED_ASSERT (part != NULL, return 0); PED_ASSERT (part->disk != NULL, return 0); if (_ped_partition_attempt_align (part, constraint, _amiga_get_constraint (part->disk))) return 1; #ifndef DISCOVER_ONLY ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Unable to satisfy all constraints on the partition.")); #endif return 0; } static int amiga_partition_enumerate (PedPartition* part) { int i; PedPartition* p; PED_ASSERT (part != NULL, return 0); PED_ASSERT (part->disk != NULL, return 0); /* never change the partition numbers */ if (part->num != -1) return 1; for (i = 1; i <= AMIGA_MAX_PARTITIONS; i++) { p = ped_disk_get_partition (part->disk, i); if (!p) { part->num = i; return 1; } } /* failed to allocate a number */ #ifndef DISCOVER_ONLY ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Unable to allocate a partition number.")); #endif return 0; } static int amiga_alloc_metadata (PedDisk* disk) { PedPartition* new_part; PedConstraint* constraint_any = NULL; PED_ASSERT (disk != NULL, goto error); PED_ASSERT (disk->dev != NULL, goto error); constraint_any = ped_constraint_any (disk->dev); /* Allocate space for the RDB */ new_part = ped_partition_new (disk, PED_PARTITION_METADATA, NULL, 0, MAX_RDB_BLOCK); if (!new_part) goto error; if (!ped_disk_add_partition (disk, new_part, constraint_any)) { ped_partition_destroy (new_part); goto error; } ped_constraint_destroy (constraint_any); return 1; error: ped_constraint_destroy (constraint_any); return 0; } static int amiga_get_max_primary_partition_count (const PedDisk* disk) { return AMIGA_MAX_PARTITIONS; } static bool amiga_get_max_supported_partition_count (const PedDisk* disk, int *max_n) { *max_n = AMIGA_MAX_PARTITIONS; return true; } #include "pt-common.h" PT_define_limit_functions (amiga) static PedDiskOps amiga_disk_ops = { clobber: NULL, write: NULL_IF_DISCOVER_ONLY (amiga_write), partition_set_name: amiga_partition_set_name, partition_get_name: amiga_partition_get_name, get_partition_alignment: amiga_get_partition_alignment, PT_op_function_initializers (amiga) }; static PedDiskType amiga_disk_type = { next: NULL, name: "amiga", ops: &amiga_disk_ops, features: PED_DISK_TYPE_PARTITION_NAME }; void ped_disk_amiga_init () { PED_ASSERT (sizeof (struct AmigaBlock) != 3, return); PED_ASSERT (sizeof (struct RigidDiskBlock) != 64, return); PED_ASSERT (sizeof (struct PartitionBlock) != 64, return); PED_ASSERT (sizeof (struct LinkedBlock) != 5, return); PED_ASSERT (sizeof (struct Linked2Block) != 18, return); ped_disk_type_register (&amiga_disk_type); } void ped_disk_amiga_done () { ped_disk_type_unregister (&amiga_disk_type); } parted-2.3/libparted/labels/sun.c0000644000000000000000000006136611341530706013721 00000000000000/* -*- Mode: c; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- libparted - a library for manipulating disk partitions Copyright (C) 2000-2001, 2005, 2007-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Contributor: Ben Collins */ #include #include #include #include #include #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ #include "misc.h" #include "pt-tools.h" #include "verify.h" /* Most of this came from util-linux's sun support, which was mostly done by Jakub Jelinek. */ #define SUN_DISK_MAGIC 0xDABE /* Disk magic number */ #define SUN_DISK_MAXPARTITIONS 8 #define SUN_VTOC_VERSION 1 #define SUN_VTOC_SANITY 0x600DDEEE #define WHOLE_DISK_ID 0x05 #define WHOLE_DISK_PART 2 /* as in 0, 1, 2 (3rd partition) */ #define LINUX_SWAP_ID 0x82 typedef struct _SunRawPartition SunRawPartition; typedef struct _SunPartitionInfo SunPartitionInfo; typedef struct _SunRawLabel SunRawLabel; typedef struct _SunPartitionData SunPartitionData; typedef struct _SunDiskData SunDiskData; struct __attribute__ ((packed)) _SunRawPartition { u_int32_t start_cylinder; /* where the part starts... */ u_int32_t num_sectors; /* ...and it's length */ }; struct __attribute__ ((packed)) _SunPartitionInfo { u_int8_t spare1; u_int8_t id; /* Partition type */ u_int8_t spare2; u_int8_t flags; /* Partition flags */ }; struct __attribute__ ((packed)) _SunRawLabel { char info[128]; /* Informative text string */ u_int32_t version; /* Layout version */ u_int8_t volume[8]; /* Volume name */ u_int16_t nparts; /* Number of partitions */ SunPartitionInfo infos[SUN_DISK_MAXPARTITIONS]; u_int16_t padding; /* Alignment padding */ u_int32_t bootinfo[3]; /* Info needed by mboot */ u_int32_t sanity; /* To verify vtoc sanity */ u_int32_t reserved[10]; /* Free space */ u_int32_t timestamp[8]; /* Partition timestamp */ u_int32_t write_reinstruct; /* sectors to skip, writes */ u_int32_t read_reinstruct; /* sectors to skip, reads */ u_int8_t spare1[148]; /* Padding */ u_int16_t rspeed; /* Disk rotational speed */ u_int16_t pcylcount; /* Physical cylinder count */ u_int16_t sparecyl; /* extra sects per cylinder */ u_int8_t spare2[4]; /* More magic... */ u_int16_t ilfact; /* Interleave factor */ u_int16_t ncyl; /* Data cylinder count */ u_int16_t nacyl; /* Alt. cylinder count */ u_int16_t ntrks; /* Tracks per cylinder */ u_int16_t nsect; /* Sectors per track */ u_int8_t spare3[4]; /* Even more magic... */ SunRawPartition partitions[SUN_DISK_MAXPARTITIONS]; u_int16_t magic; /* Magic number */ u_int16_t csum; /* Label xor'd checksum */ }; struct _SunPartitionData { u_int8_t type; int is_boot; int is_root; int is_lvm; int is_raid; }; struct _SunDiskData { PedSector length; /* This is based on cyl - alt-cyl */ SunRawLabel raw_label; int cylinder_alignment; }; static PedDiskType sun_disk_type; /* Checksum computation */ static void sun_compute_checksum (SunRawLabel *label) { u_int16_t *ush = (u_int16_t *)label; u_int16_t csum = 0; while(ush < (u_int16_t *)(&label->csum)) csum ^= *ush++; label->csum = csum; } /* Checksum Verification */ static int sun_verify_checksum (SunRawLabel const *label) { u_int16_t *ush = ((u_int16_t *)(label + 1)) - 1; u_int16_t csum = 0; while (ush >= (u_int16_t *)label) csum ^= *ush--; return !csum; } static int sun_probe (const PedDevice *dev) { PED_ASSERT (dev != NULL, return 0); void *s0; if (!ptt_read_sector (dev, 0, &s0)) return 0; SunRawLabel const *label = (void const *) s0; int ok = 1; /* check magic */ if (PED_BE16_TO_CPU (label->magic) != SUN_DISK_MAGIC) { ok = 0; } else { #ifndef DISCOVER_ONLY if (!sun_verify_checksum(label)) { ok = 0; ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Corrupted Sun disk label detected.")); } } #endif free (s0); return ok; } static PedDisk* sun_alloc (const PedDevice* dev) { PedDisk* disk; SunRawLabel* label; SunDiskData* sun_specific; const PedCHSGeometry* bios_geom = &dev->bios_geom; PedSector cyl_size = bios_geom->sectors * bios_geom->heads; PED_ASSERT (cyl_size != 0, return NULL); disk = _ped_disk_alloc (dev, &sun_disk_type); if (!disk) goto error; disk->disk_specific = (SunDiskData*) ped_malloc (sizeof (SunDiskData)); if (!disk->disk_specific) goto error_free_disk; sun_specific = (SunDiskData*) disk->disk_specific; PED_ASSERT (bios_geom->cylinders == (PedSector) (dev->length / cyl_size), return NULL); sun_specific->length = ped_round_down_to (dev->length, cyl_size); sun_specific->cylinder_alignment = 1; label = &sun_specific->raw_label; memset(label, 0, sizeof(SunRawLabel)); /* #gentoo-sparc people agree that nacyl = 0 is the best option */ label->magic = PED_CPU_TO_BE16 (SUN_DISK_MAGIC); label->nacyl = 0; label->pcylcount = PED_CPU_TO_BE16 (bios_geom->cylinders); label->rspeed = PED_CPU_TO_BE16 (5400); label->ilfact = PED_CPU_TO_BE16 (1); label->sparecyl = 0; label->ntrks = PED_CPU_TO_BE16 (bios_geom->heads); label->nsect = PED_CPU_TO_BE16 (bios_geom->sectors); label->ncyl = PED_CPU_TO_BE16 (dev->length / cyl_size); label->sanity = PED_CPU_TO_BE32 (SUN_VTOC_SANITY); label->version = PED_CPU_TO_BE32 (SUN_VTOC_VERSION); label->nparts = PED_CPU_TO_BE16 (SUN_DISK_MAXPARTITIONS); /* Add a whole disk partition at a minimum */ label->infos[WHOLE_DISK_PART].id = WHOLE_DISK_ID; label->partitions[WHOLE_DISK_PART].start_cylinder = 0; label->partitions[WHOLE_DISK_PART].num_sectors = PED_CPU_TO_BE32(sun_specific->length); /* Now a neato string to describe this label */ snprintf(label->info, sizeof(label->info) - 1, "GNU Parted Custom cyl %d alt %d hd %d sec %d", PED_BE16_TO_CPU(label->ncyl), PED_BE16_TO_CPU(label->nacyl), PED_BE16_TO_CPU(label->ntrks), PED_BE16_TO_CPU(label->nsect)); sun_compute_checksum(label); return disk; error_free_disk: _ped_disk_free (disk); error: return NULL; } static PedDisk* sun_duplicate (const PedDisk* disk) { PedDisk* new_disk; SunDiskData* new_sun_data; SunDiskData* old_sun_data = (SunDiskData*) disk->disk_specific; new_disk = ped_disk_new_fresh (disk->dev, &sun_disk_type); if (!new_disk) return NULL; new_sun_data = (SunDiskData*) new_disk->disk_specific; memcpy (new_sun_data, old_sun_data, sizeof (SunDiskData)); return new_disk; } static void sun_free (PedDisk *disk) { free (disk->disk_specific); _ped_disk_free (disk); } static int sun_disk_set_flag (PedDisk *disk, PedDiskFlag flag, int state) { SunDiskData *disk_specific = disk->disk_specific; switch (flag) { case PED_DISK_CYLINDER_ALIGNMENT: disk_specific->cylinder_alignment = !!state; return 1; default: return 0; } } static int sun_disk_get_flag (const PedDisk *disk, PedDiskFlag flag) { SunDiskData *disk_specific = disk->disk_specific; switch (flag) { case PED_DISK_CYLINDER_ALIGNMENT: return disk_specific->cylinder_alignment; default: return 0; } } static int sun_disk_is_flag_available (const PedDisk *disk, PedDiskFlag flag) { switch (flag) { case PED_DISK_CYLINDER_ALIGNMENT: return 1; default: return 0; } } static int _check_geometry_sanity (PedDisk* disk, SunRawLabel* label) { PedDevice* dev = disk->dev; if (PED_BE16_TO_CPU(label->nsect) == dev->hw_geom.sectors && PED_BE16_TO_CPU(label->ntrks) == dev->hw_geom.heads) dev->bios_geom = dev->hw_geom; if (!!PED_BE16_TO_CPU(label->pcylcount) * !!PED_BE16_TO_CPU(label->ntrks) * !!PED_BE16_TO_CPU(label->nsect) == 0) return 0; if (PED_BE16_TO_CPU(label->nsect) != dev->bios_geom.sectors || PED_BE16_TO_CPU(label->ntrks) != dev->bios_geom.heads) { #ifndef DISCOVER_ONLY if (ped_exception_throw ( PED_EXCEPTION_WARNING, PED_EXCEPTION_IGNORE_CANCEL, _("The disk CHS geometry (%d,%d,%d) reported " "by the operating system does not match " "the geometry stored on the disk label " "(%d,%d,%d)."), dev->bios_geom.cylinders, dev->bios_geom.heads, dev->bios_geom.sectors, PED_BE16_TO_CPU(label->pcylcount), PED_BE16_TO_CPU(label->ntrks), PED_BE16_TO_CPU(label->nsect)) == PED_EXCEPTION_CANCEL) return 0; #endif dev->bios_geom.sectors = PED_BE16_TO_CPU(label->nsect); dev->bios_geom.heads = PED_BE16_TO_CPU(label->ntrks); dev->bios_geom.cylinders = PED_BE16_TO_CPU(label->pcylcount); if (dev->bios_geom.sectors * dev->bios_geom.heads * dev->bios_geom.cylinders > dev->length) { if (ped_exception_throw ( PED_EXCEPTION_WARNING, PED_EXCEPTION_IGNORE_CANCEL, _("The disk label describes a disk bigger than " "%s."), dev->path) != PED_EXCEPTION_IGNORE) return 0; } } return 1; } static int sun_read (PedDisk* disk) { SunPartitionData* sun_data; SunDiskData* disk_data; int i; PedPartition* part; PedSector end, start, block; PedConstraint* constraint_exact; PED_ASSERT (disk != NULL, return 0); PED_ASSERT (disk->dev != NULL, return 0); PED_ASSERT (disk->disk_specific != NULL, return 0); disk_data = (SunDiskData*) disk->disk_specific; ped_disk_delete_all (disk); void *s0; if (!ptt_read_sector (disk->dev, 0, &s0)) goto error; SunRawLabel *label = &disk_data->raw_label; verify (sizeof (*label) == 512); memcpy (label, s0, sizeof (*label)); free (s0); if (!_check_geometry_sanity (disk, label)) goto error; block = disk->dev->bios_geom.sectors * disk->dev->bios_geom.heads; disk_data->length = block * disk->dev->bios_geom.cylinders; for (i = 0; i < SUN_DISK_MAXPARTITIONS; i++) { if (!PED_BE32_TO_CPU(label->partitions[i].num_sectors)) continue; if (!label->infos[i].id) continue; if (label->infos[i].id == WHOLE_DISK_ID) continue; start = PED_BE32_TO_CPU(label->partitions[i].start_cylinder) * block; end = start + PED_BE32_TO_CPU(label->partitions[i].num_sectors) - 1; part = ped_partition_new (disk, PED_PARTITION_NORMAL, NULL, start, end); if (!part) goto error; sun_data = part->disk_specific; sun_data->type = label->infos[i].id; sun_data->is_boot = sun_data->type == 0x1; sun_data->is_root = sun_data->type == 0x2; sun_data->is_lvm = sun_data->type == 0x8e; sun_data->is_raid = sun_data->type == 0xfd; part->num = i + 1; part->fs_type = ped_file_system_probe (&part->geom); constraint_exact = ped_constraint_exact (&part->geom); if (!ped_disk_add_partition (disk, part, constraint_exact)) goto error; ped_constraint_destroy (constraint_exact); } return 1; error: return 0; } #ifndef DISCOVER_ONLY static int _use_old_info (const PedDisk* disk, const void *sector_0) { SunRawLabel const *old_label = sector_0; if (old_label->info[0] && PED_BE16_TO_CPU (old_label->magic) == SUN_DISK_MAGIC) { SunDiskData *sun_specific = disk->disk_specific; memcpy (&sun_specific->raw_label, sector_0, sizeof (sun_specific->raw_label)); verify (sizeof (sun_specific->raw_label) == 512); } return 1; } static int sun_write (const PedDisk* disk) { SunRawLabel* label; SunPartitionData* sun_data; SunDiskData* disk_data; PedPartition* part; int i; PED_ASSERT (disk != NULL, return 0); PED_ASSERT (disk->dev != NULL, return 0); void *s0; if (!ptt_read_sector (disk->dev, 0, &s0)) return 0; /* Calling _use_old_info here in sun_write above seems wrong, because it modifies *DISK. FIXME: maybe later. */ if (!_use_old_info (disk, s0)) { free (s0); return 0; } disk_data = (SunDiskData*) disk->disk_specific; label = &disk_data->raw_label; memset (label->partitions, 0, sizeof (SunRawPartition) * SUN_DISK_MAXPARTITIONS); memset (label->infos, 0, sizeof (SunPartitionInfo) * SUN_DISK_MAXPARTITIONS); for (i = 0; i < SUN_DISK_MAXPARTITIONS; i++) { part = ped_disk_get_partition (disk, i + 1); if (!part && i == WHOLE_DISK_PART) { /* Ok, nothing explicitly in the whole disk partition, so let's put it there for safety sake. */ label->infos[i].id = WHOLE_DISK_ID; label->partitions[i].start_cylinder = 0; label->partitions[i].num_sectors = PED_CPU_TO_BE32(disk_data->length); continue; } if (!part) continue; sun_data = part->disk_specific; label->infos[i].id = sun_data->type; label->partitions[i].start_cylinder = PED_CPU_TO_BE32 (part->geom.start / (disk->dev->bios_geom.sectors * disk->dev->bios_geom.heads)); label->partitions[i].num_sectors = PED_CPU_TO_BE32 (part->geom.end - part->geom.start + 1); } /* We assume the harddrive is always right, and that the label may be wrong. I don't think this will cause any problems, since the cylinder count is always enforced by our alignment, and we sanity checked the sectors/heads when we detected the device. The worst that could happen here is that the drive seems bigger or smaller than it really is, but we'll have that problem even if we don't do this. */ if (disk->dev->bios_geom.cylinders > 65536) { ped_exception_throw ( PED_EXCEPTION_WARNING, PED_EXCEPTION_IGNORE, _("The disk has %d cylinders, which is greater than " "the maximum of 65536."), disk->dev->bios_geom.cylinders); } label->pcylcount = PED_CPU_TO_BE16 (disk->dev->bios_geom.cylinders); label->ncyl = PED_CPU_TO_BE16 (disk->dev->bios_geom.cylinders - PED_BE16_TO_CPU (label->nacyl)); sun_compute_checksum (label); verify (sizeof *label == 512); memcpy (s0, label, sizeof *label); int write_ok = ped_device_write (disk->dev, s0, 0, 1); free (s0); if (write_ok) return ped_device_sync (disk->dev); return 0; } #endif /* !DISCOVER_ONLY */ static PedPartition* sun_partition_new (const PedDisk* disk, PedPartitionType part_type, const PedFileSystemType* fs_type, PedSector start, PedSector end) { PedPartition* part; SunPartitionData* sun_data; part = _ped_partition_alloc (disk, part_type, fs_type, start, end); if (!part) goto error; if (ped_partition_is_active (part)) { part->disk_specific = sun_data = ped_malloc (sizeof (SunPartitionData)); if (!sun_data) goto error_free_part; sun_data->type = 0; sun_data->is_boot = 0; sun_data->is_root = 0; sun_data->is_lvm = 0; sun_data->is_raid = 0; } else { part->disk_specific = NULL; } return part; free (sun_data); error_free_part: free (part); error: return NULL; } static PedPartition* sun_partition_duplicate (const PedPartition* part) { PedPartition* new_part; SunPartitionData* new_sun_data; SunPartitionData* old_sun_data; new_part = ped_partition_new (part->disk, part->type, part->fs_type, part->geom.start, part->geom.end); if (!new_part) return NULL; new_part->num = part->num; old_sun_data = (SunPartitionData*) part->disk_specific; new_sun_data = (SunPartitionData*) new_part->disk_specific; new_sun_data->type = old_sun_data->type; new_sun_data->is_boot = old_sun_data->is_boot; new_sun_data->is_root = old_sun_data->is_root; new_sun_data->is_lvm = old_sun_data->is_lvm; new_sun_data->is_raid = old_sun_data->is_raid; return new_part; } static void sun_partition_destroy (PedPartition* part) { PED_ASSERT (part != NULL, return); if (ped_partition_is_active (part)) free (part->disk_specific); free (part); } static int sun_partition_set_system (PedPartition* part, const PedFileSystemType* fs_type) { SunPartitionData* sun_data = part->disk_specific; part->fs_type = fs_type; if (sun_data->is_boot) { sun_data->type = 0x1; return 1; } if (sun_data->is_root) { sun_data->type = 0x2; return 1; } if (sun_data->is_lvm) { sun_data->type = 0x8e; return 1; } if (sun_data->is_raid) { sun_data->type = 0xfd; return 1; } sun_data->type = 0x83; if (fs_type) { if (is_linux_swap (fs_type->name)) sun_data->type = 0x82; else if (!strcmp (fs_type->name, "ufs")) sun_data->type = 0x6; } return 1; } static int sun_partition_set_flag (PedPartition* part, PedPartitionFlag flag, int state) { SunPartitionData* sun_data; PED_ASSERT (part != NULL, return 0); PED_ASSERT (part->disk_specific != NULL, return 0); PED_ASSERT (ped_partition_is_flag_available (part, flag), return 0); sun_data = part->disk_specific; switch (flag) { case PED_PARTITION_BOOT: sun_data->is_boot = state; if (state) { sun_data->is_lvm = 0; sun_data->is_raid = 0; sun_data->is_root = 0; } return ped_partition_set_system (part, part->fs_type); case PED_PARTITION_ROOT: sun_data->is_root = state; if (state) { sun_data->is_boot = 0; sun_data->is_lvm = 0; sun_data->is_raid = 0; } return ped_partition_set_system (part, part->fs_type); case PED_PARTITION_LVM: sun_data->is_lvm = state; if (state) { sun_data->is_boot = 0; sun_data->is_raid = 0; sun_data->is_root = 0; } return ped_partition_set_system (part, part->fs_type); case PED_PARTITION_RAID: sun_data->is_raid = state; if (state) { sun_data->is_boot = 0; sun_data->is_lvm = 0; sun_data->is_root = 0; } return ped_partition_set_system (part, part->fs_type); default: return 0; } } static int sun_partition_get_flag (const PedPartition* part, PedPartitionFlag flag) { SunPartitionData* sun_data; PED_ASSERT (part != NULL, return 0); PED_ASSERT (part->disk_specific != NULL, return 0); sun_data = part->disk_specific; switch (flag) { case PED_PARTITION_BOOT: return sun_data->is_boot; case PED_PARTITION_ROOT: return sun_data->is_root; case PED_PARTITION_LVM: return sun_data->is_lvm; case PED_PARTITION_RAID: return sun_data->is_raid; default: return 0; } } static int sun_partition_is_flag_available (const PedPartition* part, PedPartitionFlag flag) { switch (flag) { case PED_PARTITION_BOOT: case PED_PARTITION_ROOT: case PED_PARTITION_LVM: case PED_PARTITION_RAID: return 1; default: return 0; } } static bool sun_get_max_supported_partition_count (const PedDisk* disk, int *max_n) { *max_n = SUN_DISK_MAXPARTITIONS; return true; } static int sun_get_max_primary_partition_count (const PedDisk* disk) { return SUN_DISK_MAXPARTITIONS; } static PedAlignment* sun_get_partition_alignment(const PedDisk *disk) { PedSector block = disk->dev->hw_geom.sectors * disk->dev->hw_geom.heads; return ped_alignment_new(0, block); } static PedConstraint* _get_strict_constraint (PedDisk* disk) { PedDevice* dev = disk->dev; PedAlignment start_align; PedAlignment end_align; PedGeometry max_geom; SunDiskData* disk_data = disk->disk_specific; PedSector block = dev->bios_geom.sectors * dev->bios_geom.heads; if (!ped_alignment_init (&start_align, 0, block)) return NULL; if (!ped_alignment_init (&end_align, -1, block)) return NULL; if (!ped_geometry_init (&max_geom, dev, 0, disk_data->length)) return NULL; return ped_constraint_new (&start_align, &end_align, &max_geom, &max_geom, 1, dev->length); } static PedConstraint* _get_lax_constraint (PedDisk* disk) { PedDevice* dev = disk->dev; PedAlignment start_align; PedGeometry max_geom; SunDiskData* disk_data = disk->disk_specific; PedSector block = dev->bios_geom.sectors * dev->bios_geom.heads; if (!ped_alignment_init (&start_align, 0, block)) return NULL; if (!ped_geometry_init (&max_geom, dev, 0, disk_data->length)) return NULL; return ped_constraint_new (&start_align, ped_alignment_any, &max_geom, &max_geom, 1, dev->length); } /* _get_strict_constraint() will align the partition to the end of the cylinder. * This isn't required, but since partitions must start at the start of the * cylinder, space between the end of a partition and the end of a cylinder * is unusable, so there's no point wasting space! * However, if they really insist (via constraint)... which they will * if they're reading a weird table of the disk... then we allow the end to * be anywhere, with _get_lax_constraint() */ static int sun_partition_align (PedPartition* part, const PedConstraint* constraint) { PED_ASSERT (part != NULL, return 0); SunDiskData *disk_specific = part->disk->disk_specific; if (disk_specific->cylinder_alignment && _ped_partition_attempt_align (part, constraint, _get_strict_constraint (part->disk))) return 1; if (_ped_partition_attempt_align (part, constraint, _get_lax_constraint (part->disk))) return 1; #ifndef DISCOVER_ONLY ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Unable to satisfy all constraints on the partition.")); #endif return 0; } static int sun_partition_enumerate (PedPartition* part) { int i; PedPartition* p; /* never change the partition numbers */ if (part->num != -1) return 1; for (i = 1; i <= SUN_DISK_MAXPARTITIONS; i++) { /* skip the Whole Disk partition for now */ if (i == WHOLE_DISK_PART + 1) continue; p = ped_disk_get_partition (part->disk, i); if (!p) { part->num = i; return 1; } } #ifndef DISCOVER_ONLY /* Ok, now allocate the Whole disk if it isn't already */ p = ped_disk_get_partition (part->disk, WHOLE_DISK_PART + 1); if (!p) { int j = ped_exception_throw ( PED_EXCEPTION_WARNING, PED_EXCEPTION_IGNORE_CANCEL, _("The Whole Disk partition is the only " "available one left. Generally, it is not a " "good idea to overwrite this partition with " "a real one. Solaris may not be able to " "boot without it, and SILO (the sparc boot " "loader) appreciates it as well.")); if (j == PED_EXCEPTION_IGNORE) { /* bad bad bad...you will suffer your own fate */ part->num = WHOLE_DISK_PART + 1; return 1; } } /* failed to allocate a number, this means we are full */ ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Sun disk label is full.")); #endif return 0; } static int sun_alloc_metadata (PedDisk* disk) { PedPartition* new_part; SunDiskData* disk_data; PedConstraint* constraint_any; PED_ASSERT (disk != NULL, return 0); PED_ASSERT (disk->disk_specific != NULL, return 0); PED_ASSERT (disk->dev != NULL, return 0); constraint_any = ped_constraint_any (disk->dev); /* Sun disk label does not need to allocate a sector. The disk label is contained within the first 512 bytes, which should not be overwritten by any boot loader or superblock. It is safe for most partitions to start at sector 0. We do however, allocate the space used by alt-cyl's, since we cannot use those. Put them at the end of the disk. */ disk_data = disk->disk_specific; if (disk->dev->length <= 0 || disk_data->length <= 0 || disk->dev->length == disk_data->length) goto error; new_part = ped_partition_new (disk, PED_PARTITION_METADATA, NULL, disk_data->length, disk->dev->length - 1); if (!new_part) goto error; if (!ped_disk_add_partition (disk, new_part, constraint_any)) { ped_partition_destroy (new_part); goto error; } ped_constraint_destroy (constraint_any); return 1; error: ped_constraint_destroy (constraint_any); return 0; } #include "pt-common.h" PT_define_limit_functions (sun) static PedDiskOps sun_disk_ops = { clobber: NULL, write: NULL_IF_DISCOVER_ONLY (sun_write), disk_set_flag: sun_disk_set_flag, disk_get_flag: sun_disk_get_flag, disk_is_flag_available: sun_disk_is_flag_available, get_partition_alignment: sun_get_partition_alignment, partition_set_name: NULL, partition_get_name: NULL, PT_op_function_initializers (sun) }; static PedDiskType sun_disk_type = { next: NULL, name: "sun", ops: &sun_disk_ops, features: 0 }; void ped_disk_sun_init () { PED_ASSERT (sizeof (SunRawLabel) == 512, return); ped_disk_type_register (&sun_disk_type); } void ped_disk_sun_done () { ped_disk_type_unregister (&sun_disk_type); } parted-2.3/libparted/labels/Makefile.in0000644000000000000000000012120111400005575014773 00000000000000# Makefile.in generated by automake 1.11a from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # This file is part of GNU Parted # Copyright (C) 1999-2001, 2007-2010 Free Software Foundation, Inc. # # This file may be modified and/or distributed without restriction. VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = libparted/labels DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \ $(top_srcdir)/m4/asm-underscore.m4 $(top_srcdir)/m4/assert.m4 \ $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/calloc.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \ $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/dirname.m4 \ $(top_srcdir)/m4/dos.m4 $(top_srcdir)/m4/double-slash-root.m4 \ $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/extensions.m4 \ $(top_srcdir)/m4/fclose.m4 $(top_srcdir)/m4/fcntl-o.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fpending.m4 \ $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getopt.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \ $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/lib-ignore.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \ $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \ $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/long-options.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \ $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/memchr.m4 \ $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \ $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/o-direct.m4 $(top_srcdir)/m4/open.m4 \ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \ $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/readlink.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/safe-read.m4 \ $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \ $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/symlink.m4 \ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \ $(top_srcdir)/m4/version-etc.m4 \ $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \ $(top_srcdir)/m4/wctype_h.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xstrndup.m4 \ $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/lib/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) am__DEPENDENCIES_1 = liblabels_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) am__liblabels_la_SOURCES_DIST = dasd.c fdasd.c vtoc.c aix.c bsd.c \ dos.c dvh.c dvh.h efi_crc32.c gpt.c loop.c mac.c misc.h pc98.c \ pt-common.h pt-tools.c pt-tools.h rdb.c sun.c pt-limit.gperf @COMPILE_FOR_S390_TRUE@am__objects_1 = dasd.lo fdasd.lo vtoc.lo am_liblabels_la_OBJECTS = $(am__objects_1) aix.lo bsd.lo dos.lo dvh.lo \ efi_crc32.lo gpt.lo loop.lo mac.lo pc98.lo pt-tools.lo rdb.lo \ sun.lo liblabels_la_OBJECTS = $(am_liblabels_la_OBJECTS) AM_V_lt = $(am__v_lt_$(V)) am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) am__v_lt_0 = --silent DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/lib depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_$(V)) am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) am__v_CC_0 = @echo " CC " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_$(V)) am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) am__v_CCLD_0 = @echo " CCLD " $@; AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; SOURCES = $(liblabels_la_SOURCES) DIST_SOURCES = $(am__liblabels_la_SOURCES_DIST) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ BUILDINFO = @BUILDINFO@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ CONFIG_INCLUDE = @CONFIG_INCLUDE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DL_LIBS = @DL_LIBS@ DM_LIBS = @DM_LIBS@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENABLE_DEVICE_MAPPER = @ENABLE_DEVICE_MAPPER@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPURGE = @GNULIB_FPURGE@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSTATAT = @GNULIB_FSTATAT@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETGROUPS = @GNULIB_GETGROUPS@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMCHR = @GNULIB_MEMCHR@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDIRAT = @GNULIB_MKDIRAT@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKFIFO = @GNULIB_MKFIFO@ GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@ GNULIB_MKNOD = @GNULIB_MKNOD@ GNULIB_MKNODAT = @GNULIB_MKNODAT@ GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PTSNAME = @GNULIB_PTSNAME@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ GNULIB_RMDIR = @GNULIB_RMDIR@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STAT = @GNULIB_STAT@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNCAT = @GNULIB_STRNCAT@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRPTIME = @GNULIB_STRPTIME@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNLINK = @GNULIB_UNLINK@ GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_USLEEP = @GNULIB_USLEEP@ GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_FUTIMENS = @HAVE_FUTIMENS@ HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETGROUPS = @HAVE_GETGROUPS@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@ HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@ HAVE_LANGINFO_H = @HAVE_LANGINFO_H@ HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LCHOWN = @HAVE_LCHOWN@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LOCALTIME_R = @HAVE_LOCALTIME_R@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_MKFIFO = @HAVE_MKFIFO@ HAVE_MKFIFOAT = @HAVE_MKFIFOAT@ HAVE_MKNOD = @HAVE_MKNOD@ HAVE_MKNODAT = @HAVE_MKNODAT@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ HAVE_OS_H = @HAVE_OS_H@ HAVE_PIPE2 = @HAVE_PIPE2@ HAVE_PREAD = @HAVE_PREAD@ HAVE_PTSNAME = @HAVE_PTSNAME@ HAVE_PWRITE = @HAVE_PWRITE@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TTYNAME_R = @HAVE_TTYNAME_R@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_USLEEP = @HAVE_USLEEP@ HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ HAVE_WCRTOMB = @HAVE_WCRTOMB@ HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE__BOOL = @HAVE__BOOL@ IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ INTLINCS = @INTLINCS@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ LIBTOOL = @LIBTOOL@ LIB_BLKID = @LIB_BLKID@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@ LOCALE_JA = @LOCALE_JA@ LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTALLOCA = @LTALLOCA@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ NEXT_WCTYPE_H = @NEXT_WCTYPE_H@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OS = @OS@ OS_LIBS = @OS_LIBS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PARTEDLDFLAGS = @PARTEDLDFLAGS@ PARTED_LIBS = @PARTED_LIBS@ PARTED_USABLE_TEST_DIR = @PARTED_USABLE_TEST_DIR@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POSUB = @POSUB@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PRIPTR_PREFIX = @PRIPTR_PREFIX@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REISER_LIBS = @REISER_LIBS@ REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FSTAT = @REPLACE_FSTAT@ REPLACE_FSTATAT = @REPLACE_FSTATAT@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ REPLACE_MBRLEN = @REPLACE_MBRLEN@ REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ REPLACE_MBSINIT = @REPLACE_MBSINIT@ REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_OPENAT = @REPLACE_OPENAT@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALPATH = @REPLACE_REALPATH@ REPLACE_REMOVE = @REPLACE_REMOVE@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRNCAT = @REPLACE_STRNCAT@ REPLACE_STRNDUP = @REPLACE_STRNDUP@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ REPLACE_UNSETENV = @REPLACE_UNSETENV@ REPLACE_USLEEP = @REPLACE_USLEEP@ REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ SELINUX_LIBS = @SELINUX_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_NLS = @USE_NLS@ UUID_LIBS = @UUID_LIBS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_aux_dir = @abs_aux_dir@ 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@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ gltests_WITNESS = @gltests_WITNESS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ @COMPILE_FOR_S390_FALSE@S390_SRCS = @COMPILE_FOR_S390_TRUE@S390_SRCS = dasd.c fdasd.c vtoc.c AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) partedincludedir = \ -I$(top_srcdir)/lib -I$(top_srcdir)/include -I$(top_srcdir)/libparted noinst_LTLIBRARIES = liblabels.la liblabels_la_SOURCES = $(S390_SRCS) aix.c bsd.c dos.c dvh.c dvh.h \ efi_crc32.c gpt.c loop.c mac.c misc.h pc98.c pt-common.h \ pt-tools.c pt-tools.h rdb.c sun.c pt-limit.gperf liblabels_la_LIBADD = $(OS_LIBS) $(INTLLIBS) INCLUDES = $(partedincludedir) $(INTLINCS) BUILT_SOURCES = pt-limit.c MAINTAINERCLEANFILES = $(BUILT_SOURCES) EXTRA_DIST = $(BUILT_SOURCES) GPERF = gperf GPERF_OPTIONS = \ -C -N pt_limit_lookup -n -t -s 6 -k '*' --language=ANSI-C all: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libparted/labels/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu libparted/labels/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done liblabels.la: $(liblabels_la_OBJECTS) $(liblabels_la_DEPENDENCIES) $(AM_V_CCLD)$(LINK) $(liblabels_la_OBJECTS) $(liblabels_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aix.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bsd.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dasd.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dos.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dvh.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/efi_crc32.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdasd.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpt.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/loop.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mac.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pc98.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pt-tools.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rdb.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sun.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vtoc.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: $(HEADERS) $(SOURCES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) check-am all-am: Makefile $(LTLIBRARIES) installdirs: install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(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 mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: all check install install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstLTLIBRARIES cscopelist ctags \ distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am pt-limit.c: pt-limit.gperf rm -f $@ $@-tmp $(GPERF) $(GPERF_OPTIONS) $< \ | perl -ne '/__GNUC_STDC_INLINE__/ and print "static\n"; print' \ > $@-tmp chmod a-w $@-tmp mv $@-tmp $@ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: parted-2.3/libparted/labels/pt-limit.c0000444000000000000000000001301011310465641014631 00000000000000/* ANSI-C code produced by gperf version 3.0.3 */ /* Command-line: gperf -C -N pt_limit_lookup -n -t -s 6 -k '*' --language=ANSI-C pt-limit.gperf */ #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) /* The character set is not based on ISO-646. */ #error "gperf generated tables don't work with this execution character set. Please report a bug to ." #endif #line 1 "pt-limit.gperf" struct partition_limit { char const *name; uint64_t max_start_sector; uint64_t max_length; }; #define TOTAL_KEYWORDS 10 #define MIN_WORD_LENGTH 3 #define MAX_WORD_LENGTH 5 #define MIN_HASH_VALUE 0 #define MAX_HASH_VALUE 45 /* maximum key range = 46, duplicates = 0 */ #ifdef __GNUC__ __inline #else #ifdef __cplusplus inline #endif #endif static unsigned int hash (register const char *str, register unsigned int len) { static const unsigned char asso_values[] = { 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 10, 5, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 0, 30, 30, 10, 46, 46, 5, 10, 15, 46, 46, 5, 5, 0, 0, 0, 46, 46, 0, 5, 0, 10, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46 }; register int hval = 0; switch (len) { default: hval += asso_values[(unsigned char)str[4]]; /*FALLTHROUGH*/ case 4: hval += asso_values[(unsigned char)str[3]]; /*FALLTHROUGH*/ case 3: hval += asso_values[(unsigned char)str[2]]; /*FALLTHROUGH*/ case 2: hval += asso_values[(unsigned char)str[1]]; /*FALLTHROUGH*/ case 1: hval += asso_values[(unsigned char)str[0]]; break; } return hval; } #ifdef __GNUC__ __inline static #ifdef __GNUC_STDC_INLINE__ __attribute__ ((__gnu_inline__)) #endif #endif const struct partition_limit * pt_limit_lookup (register const char *str, register unsigned int len) { static const struct partition_limit wordlist[] = { #line 18 "pt-limit.gperf" {"sun",128ULL*UINT32_MAX,UINT32_MAX}, {""}, {""}, {""}, {""}, #line 22 "pt-limit.gperf" {"loop",UINT32_MAX,UINT32_MAX}, {""}, {""}, {""}, {""}, #line 10 "pt-limit.gperf" {"gpt",UINT64_MAX,UINT64_MAX}, {""}, {""}, {""}, {""}, #line 12 "pt-limit.gperf" {"msdos",UINT32_MAX,UINT32_MAX}, {""}, {""}, {""}, {""}, #line 8 "pt-limit.gperf" {"dasd",UINT32_MAX,UINT32_MAX}, {""}, {""}, {""}, {""}, #line 26 "pt-limit.gperf" {"amiga",UINT32_MAX,UINT32_MAX}, {""}, {""}, {""}, {""}, #line 9 "pt-limit.gperf" {"dvh",UINT32_MAX,UINT32_MAX}, {""}, {""}, {""}, {""}, #line 11 "pt-limit.gperf" {"mac",UINT32_MAX,UINT32_MAX}, {""}, {""}, {""}, {""}, #line 20 "pt-limit.gperf" {"bsd",UINT32_MAX,UINT32_MAX}, {""}, {""}, {""}, {""}, #line 23 "pt-limit.gperf" {"pc98",UINT32_MAX,UINT32_MAX} }; if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) { register int key = hash (str, len); if (key <= MAX_HASH_VALUE && key >= 0) { register const char *s = wordlist[key].name; if (*str == *s && !strcmp (str + 1, s + 1)) return &wordlist[key]; } } return 0; } parted-2.3/libparted/labels/dvh.c0000644000000000000000000005352111337744564013705 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 2001-2002, 2005, 2007-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include #include #include "dvh.h" #include "pt-tools.h" #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ /* Default size for volhdr part, same val as IRIX's fx uses */ #define PTYPE_VOLHDR_DFLTSZ 4096 /* Partition numbers that seem to be strongly held convention */ #define PNUM_VOLHDR 8 #define PNUM_VOLUME 10 /* Other notes of interest: * PED_PARTITION_EXTENDED is used for volume headers * PED_PARTITION_LOGICAL is used for bootfiles * PED_PARTITION_NORMAL is used for all else */ typedef struct _DVHDiskData { struct device_parameters dev_params; int swap; /* part num of swap, 0=none */ int root; /* part num of root, 0=none */ int boot; /* part num of boot, 0=none */ } DVHDiskData; typedef struct _DVHPartData { int type; char name[VDNAMESIZE + 1]; /* boot volumes only */ int real_file_size; /* boot volumes only */ } DVHPartData; static PedDiskType dvh_disk_type; /* FIXME: factor out this function: copied from aix.c, with changes to the description, and an added sector number argument. Read sector, SECTOR_NUM (which has length DEV->sector_size) into malloc'd storage. If the read fails, free the memory and return zero without modifying *BUF. Otherwise, set *BUF to the new buffer and return 1. */ static int read_sector (const PedDevice *dev, PedSector sector_num, char **buf) { char *b = ped_malloc (dev->sector_size); PED_ASSERT (b != NULL, return 0); if (!ped_device_read (dev, b, sector_num, 1)) { free (b); return 0; } *buf = b; return 1; } static int dvh_probe (const PedDevice *dev) { struct volume_header *vh; char *label; if (!read_sector (dev, 0, &label)) return 0; vh = (struct volume_header *) label; bool found = PED_BE32_TO_CPU (vh->vh_magic) == VHMAGIC; free (label); return found; } static PedDisk* dvh_alloc (const PedDevice* dev) { PedDisk* disk; DVHDiskData* dvh_disk_data; PedPartition* volume_part; PedConstraint* constraint_any; disk = _ped_disk_alloc (dev, &dvh_disk_type); if (!disk) goto error; disk->disk_specific = dvh_disk_data = ped_malloc (sizeof (DVHDiskData)); if (!dvh_disk_data) goto error_free_disk; memset (&dvh_disk_data->dev_params, 0, sizeof (struct device_parameters)); dvh_disk_data->swap = 0; dvh_disk_data->root = 0; dvh_disk_data->boot = 0; volume_part = ped_partition_new (disk, PED_PARTITION_EXTENDED, NULL, 0, PTYPE_VOLHDR_DFLTSZ - 1); if (!volume_part) goto error_free_disk_specific; volume_part->num = PNUM_VOLHDR + 1; constraint_any = ped_constraint_any (dev); if (!ped_disk_add_partition (disk, volume_part, constraint_any)) goto error_destroy_constraint_any; ped_constraint_destroy (constraint_any); return disk; error_destroy_constraint_any: ped_constraint_destroy (constraint_any); ped_partition_destroy (volume_part); error_free_disk_specific: free (disk->disk_specific); error_free_disk: free (disk); error: return NULL; } static PedDisk* dvh_duplicate (const PedDisk* disk) { PedDisk* new_disk; DVHDiskData* new_dvh_disk_data; DVHDiskData* old_dvh_disk_data = disk->disk_specific; PED_ASSERT (old_dvh_disk_data != NULL, goto error); new_disk = ped_disk_new_fresh (disk->dev, &dvh_disk_type); if (!new_disk) goto error; new_disk->disk_specific = new_dvh_disk_data = ped_malloc (sizeof (DVHDiskData)); if (!new_dvh_disk_data) goto error_free_new_disk; new_dvh_disk_data->dev_params = old_dvh_disk_data->dev_params; return new_disk; error_free_new_disk: free (new_disk); error: return NULL; } static void dvh_free (PedDisk* disk) { free (disk->disk_specific); _ped_disk_free (disk); } /* two's complement 32-bit checksum */ static uint32_t _checksum (const uint32_t* base, size_t size) { uint32_t sum = 0; size_t i; for (i = 0; i < size / sizeof (uint32_t); i++) sum = sum - PED_BE32_TO_CPU (base[i]); return sum; } /* try to make a reasonable volume header partition... */ static PedExceptionOption _handle_no_volume_header (PedDisk* disk) { PedExceptionOption ret; PedPartition* part; PedConstraint* constraint; switch (ped_exception_throw ( PED_EXCEPTION_WARNING, PED_EXCEPTION_FIX + PED_EXCEPTION_CANCEL, _("%s has no extended partition (volume header partition)."), disk->dev->path)) { case PED_EXCEPTION_UNHANDLED: case PED_EXCEPTION_FIX: default: part = ped_partition_new ( disk, PED_PARTITION_EXTENDED, NULL, 0, PTYPE_VOLHDR_DFLTSZ - 1); if (!part) goto error; part->num = PNUM_VOLHDR + 1; constraint = ped_constraint_any (part->disk->dev); if (!constraint) goto error_destroy_part; if (!ped_disk_add_partition (disk, part, constraint)) goto error_destroy_constraint; ped_constraint_destroy (constraint); ret = PED_EXCEPTION_FIX; break; case PED_EXCEPTION_CANCEL: goto error; } return ret; error_destroy_constraint: ped_constraint_destroy (constraint); error_destroy_part: ped_partition_destroy (part); error: return PED_EXCEPTION_CANCEL; } static PedPartition* _parse_partition (PedDisk* disk, struct partition_table* pt) { PedPartition* part; DVHPartData* dvh_part_data; PedSector start = PED_BE32_TO_CPU (pt->pt_firstlbn); PedSector length = PED_BE32_TO_CPU (pt->pt_nblks); part = ped_partition_new (disk, pt->pt_type ? 0 : PED_PARTITION_EXTENDED, NULL, start, start + length - 1); if (!part) return NULL; dvh_part_data = part->disk_specific; dvh_part_data->type = PED_BE32_TO_CPU (pt->pt_type); strcpy (dvh_part_data->name, ""); return part; } static PedPartition* _parse_boot_file (PedDisk* disk, struct volume_directory* vd) { PedPartition* part; DVHPartData* dvh_part_data; PedSector start = PED_BE32_TO_CPU (vd->vd_lbn); int length = PED_BE32_TO_CPU (vd->vd_nbytes); part = ped_partition_new (disk, PED_PARTITION_LOGICAL, NULL, start, start + length/512 - 1); if (!part) return NULL; dvh_part_data = part->disk_specific; dvh_part_data->real_file_size = length; strncpy (dvh_part_data->name, vd->vd_name, VDNAMESIZE); dvh_part_data->name[VDNAMESIZE] = 0; return part; } static int dvh_write (const PedDisk* disk); /* YUCK * * If you remove a boot/root/swap partition, the disk->disk_specific * thing isn't updated. (Probably reflects a design bug somewhere...) * Anyway, the workaround is: flush stale flags whenever we allocate * new partition numbers, and before we write to disk. */ static void _flush_stale_flags (const PedDisk* disk) { DVHDiskData* dvh_disk_data = disk->disk_specific; if (dvh_disk_data->root && !ped_disk_get_partition (disk, dvh_disk_data->root)) dvh_disk_data->root = 0; if (dvh_disk_data->swap && !ped_disk_get_partition (disk, dvh_disk_data->swap)) dvh_disk_data->swap = 0; if (dvh_disk_data->boot && !ped_disk_get_partition (disk, dvh_disk_data->boot)) dvh_disk_data->boot = 0; } static int dvh_read (PedDisk* disk) { DVHDiskData* dvh_disk_data = disk->disk_specific; int i; struct volume_header vh; char boot_name [BFNAMESIZE + 1]; #ifndef DISCOVER_ONLY int write_back = 0; #endif PED_ASSERT (dvh_disk_data != NULL, return 0); ped_disk_delete_all (disk); char *s0; if (!read_sector (disk->dev, 0, &s0)) return 0; memcpy (&vh, s0, sizeof vh); free (s0); if (_checksum ((uint32_t*) &vh, sizeof (struct volume_header))) { if (ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_IGNORE_CANCEL, _("Checksum is wrong, indicating the partition " "table is corrupt.")) == PED_EXCEPTION_CANCEL) return 0; } PED_ASSERT (PED_BE32_TO_CPU (vh.vh_magic) == VHMAGIC, return 0); dvh_disk_data->dev_params = vh.vh_dp; strncpy (boot_name, vh.vh_bootfile, BFNAMESIZE); boot_name[BFNAMESIZE] = 0; /* normal partitions */ for (i = 0; i < NPARTAB; i++) { PedPartition* part; if (!vh.vh_pt[i].pt_nblks) continue; /* Skip the whole-disk partition, parted disklikes overlap */ if (PED_BE32_TO_CPU (vh.vh_pt[i].pt_type) == PTYPE_VOLUME) continue; part = _parse_partition (disk, &vh.vh_pt[i]); if (!part) goto error_delete_all; part->fs_type = ped_file_system_probe (&part->geom); part->num = i + 1; if (PED_BE16_TO_CPU (vh.vh_rootpt) == i) ped_partition_set_flag (part, PED_PARTITION_ROOT, 1); if (PED_BE16_TO_CPU (vh.vh_swappt) == i) ped_partition_set_flag (part, PED_PARTITION_SWAP, 1); PedConstraint *constraint_exact = ped_constraint_exact (&part->geom); bool ok = ped_disk_add_partition (disk, part, constraint_exact); ped_constraint_destroy (constraint_exact); if (!ok) { ped_partition_destroy (part); goto error_delete_all; } } if (!ped_disk_extended_partition (disk)) { #ifdef DISCOVER_ONLY return 1; #else switch (_handle_no_volume_header (disk)) { case PED_EXCEPTION_CANCEL: return 0; case PED_EXCEPTION_IGNORE: return 1; case PED_EXCEPTION_FIX: write_back = 1; break; default: break; } #endif } /* boot partitions */ for (i = 0; i < NVDIR; i++) { PedPartition* part; if (!vh.vh_vd[i].vd_nbytes) continue; part = _parse_boot_file (disk, &vh.vh_vd[i]); if (!part) goto error_delete_all; part->fs_type = ped_file_system_probe (&part->geom); part->num = NPARTAB + i + 1; if (!strcmp (boot_name, ped_partition_get_name (part))) ped_partition_set_flag (part, PED_PARTITION_BOOT, 1); PedConstraint *constraint_exact = ped_constraint_exact (&part->geom); bool ok = ped_disk_add_partition (disk, part, constraint_exact); ped_constraint_destroy (constraint_exact); if (!ok) { ped_partition_destroy (part); goto error_delete_all; } } #ifndef DISCOVER_ONLY if (write_back) dvh_write (disk); #endif return 1; error_delete_all: ped_disk_delete_all (disk); return 0; } #ifndef DISCOVER_ONLY static void _generate_partition (PedPartition* part, struct partition_table* pt) { DVHPartData* dvh_part_data = part->disk_specific; /* Assert not a bootfile */ PED_ASSERT ((part->type & PED_PARTITION_LOGICAL) == 0, return); pt->pt_nblks = PED_CPU_TO_BE32 (part->geom.length); pt->pt_firstlbn = PED_CPU_TO_BE32 (part->geom.start); pt->pt_type = PED_CPU_TO_BE32 (dvh_part_data->type); } static void _generate_boot_file (PedPartition* part, struct volume_directory* vd) { DVHPartData* dvh_part_data = part->disk_specific; /* Assert it's a bootfile */ PED_ASSERT ((part->type & PED_PARTITION_LOGICAL) != 0, return); vd->vd_nbytes = PED_CPU_TO_BE32 (dvh_part_data->real_file_size); vd->vd_lbn = PED_CPU_TO_BE32 (part->geom.start); memset (vd->vd_name, 0, VDNAMESIZE); strncpy (vd->vd_name, dvh_part_data->name, VDNAMESIZE); } static int dvh_write (const PedDisk* disk) { DVHDiskData* dvh_disk_data = disk->disk_specific; struct volume_header vh; int i; PED_ASSERT (dvh_disk_data != NULL, return 0); _flush_stale_flags (disk); memset (&vh, 0, sizeof (struct volume_header)); vh.vh_magic = PED_CPU_TO_BE32 (VHMAGIC); vh.vh_rootpt = PED_CPU_TO_BE16 (dvh_disk_data->root - 1); vh.vh_swappt = PED_CPU_TO_BE16 (dvh_disk_data->swap - 1); if (dvh_disk_data->boot) { PedPartition* boot_part; boot_part = ped_disk_get_partition (disk, dvh_disk_data->boot); strcpy (vh.vh_bootfile, ped_partition_get_name (boot_part)); } vh.vh_dp = dvh_disk_data->dev_params; /* Set up rudimentary device geometry */ vh.vh_dp.dp_cyls = PED_CPU_TO_BE16 ((short)disk->dev->bios_geom.cylinders); vh.vh_dp.dp_trks0 = PED_CPU_TO_BE16 ((short)disk->dev->bios_geom.heads); vh.vh_dp.dp_secs = PED_CPU_TO_BE16 ((short)disk->dev->bios_geom.sectors); vh.vh_dp.dp_secbytes = PED_CPU_TO_BE16 ((short)disk->dev->sector_size); for (i = 0; i < NPARTAB; i++) { PedPartition* part = ped_disk_get_partition (disk, i + 1); if (part) _generate_partition (part, &vh.vh_pt[i]); } /* whole disk partition * This is only ever written here, and never modified * (or even shown) as it must contain the entire disk, * and parted does not like overlapping partitions */ vh.vh_pt[PNUM_VOLUME].pt_nblks = PED_CPU_TO_BE32 (disk->dev->length); vh.vh_pt[PNUM_VOLUME].pt_firstlbn = PED_CPU_TO_BE32 (0); vh.vh_pt[PNUM_VOLUME].pt_type = PED_CPU_TO_BE32 (PTYPE_VOLUME); for (i = 0; i < NVDIR; i++) { PedPartition* part = ped_disk_get_partition (disk, i + 1 + NPARTAB); if (part) _generate_boot_file (part, &vh.vh_vd[i]); } vh.vh_csum = 0; vh.vh_csum = PED_CPU_TO_BE32 (_checksum ((uint32_t*) &vh, sizeof (struct volume_header))); return (ptt_write_sector (disk, &vh, sizeof vh) && ped_device_sync (disk->dev)); } #endif /* !DISCOVER_ONLY */ static PedPartition* dvh_partition_new (const PedDisk* disk, PedPartitionType part_type, const PedFileSystemType* fs_type, PedSector start, PedSector end) { PedPartition* part; DVHPartData* dvh_part_data; part = _ped_partition_alloc (disk, part_type, fs_type, start, end); if (!part) goto error; if (!ped_partition_is_active (part)) { part->disk_specific = NULL; return part; } dvh_part_data = part->disk_specific = ped_malloc (sizeof (DVHPartData)); if (!dvh_part_data) goto error_free_part; dvh_part_data->type = (part_type == PED_PARTITION_EXTENDED) ? PTYPE_VOLHDR : PTYPE_RAW; strcpy (dvh_part_data->name, ""); dvh_part_data->real_file_size = part->geom.length * 512; return part; error_free_part: _ped_partition_free (part); error: return NULL; } static PedPartition* dvh_partition_duplicate (const PedPartition* part) { PedPartition* result; DVHPartData* part_data = part->disk_specific; DVHPartData* result_data; result = _ped_partition_alloc (part->disk, part->type, part->fs_type, part->geom.start, part->geom.end); if (!result) goto error; result->num = part->num; if (!ped_partition_is_active (part)) { result->disk_specific = NULL; return result; } result_data = result->disk_specific = ped_malloc (sizeof (DVHPartData)); if (!result_data) goto error_free_part; result_data->type = part_data->type; strcpy (result_data->name, part_data->name); result_data->real_file_size = part_data->real_file_size; return result; error_free_part: _ped_partition_free (result); error: return NULL; } static void dvh_partition_destroy (PedPartition* part) { if (ped_partition_is_active (part)) { PED_ASSERT (part->disk_specific != NULL, return); free (part->disk_specific); } _ped_partition_free (part); } static int dvh_partition_set_system (PedPartition* part, const PedFileSystemType* fs_type) { DVHPartData* dvh_part_data = part->disk_specific; part->fs_type = fs_type; if (part->type == PED_PARTITION_EXTENDED) { dvh_part_data->type = PTYPE_VOLHDR; return 1; } /* Is this a bootfile? */ if (part->type == PED_PARTITION_LOGICAL) return 1; if (fs_type && !strcmp (fs_type->name, "xfs")) dvh_part_data->type = PTYPE_XFS; else dvh_part_data->type = PTYPE_RAW; return 1; } static int dvh_partition_set_flag (PedPartition* part, PedPartitionFlag flag, int state) { DVHDiskData* dvh_disk_data = part->disk->disk_specific; switch (flag) { case PED_PARTITION_ROOT: if (part->type != 0 && state) { #ifndef DISCOVER_ONLY ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Only primary partitions can be root " "partitions.")); #endif return 0; } dvh_disk_data->root = state ? part->num : 0; break; case PED_PARTITION_SWAP: if (part->type != 0 && state) { #ifndef DISCOVER_ONLY ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Only primary partitions can be swap " "partitions.")); return 0; #endif } dvh_disk_data->swap = state ? part->num : 0; break; case PED_PARTITION_BOOT: if (part->type != PED_PARTITION_LOGICAL && state) { #ifndef DISCOVER_ONLY ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Only logical partitions can be a boot " "file.")); #endif return 0; } dvh_disk_data->boot = state ? part->num : 0; break; case PED_PARTITION_LVM: case PED_PARTITION_LBA: case PED_PARTITION_HIDDEN: case PED_PARTITION_RAID: default: return 0; } return 1; } static int dvh_partition_get_flag (const PedPartition* part, PedPartitionFlag flag) { DVHDiskData* dvh_disk_data = part->disk->disk_specific; switch (flag) { case PED_PARTITION_ROOT: return dvh_disk_data->root == part->num; case PED_PARTITION_SWAP: return dvh_disk_data->swap == part->num; case PED_PARTITION_BOOT: return dvh_disk_data->boot == part->num; case PED_PARTITION_LVM: case PED_PARTITION_LBA: case PED_PARTITION_HIDDEN: case PED_PARTITION_RAID: default: return 0; } return 1; } static int dvh_partition_is_flag_available (const PedPartition* part, PedPartitionFlag flag) { switch (flag) { case PED_PARTITION_ROOT: case PED_PARTITION_SWAP: case PED_PARTITION_BOOT: return 1; case PED_PARTITION_LVM: case PED_PARTITION_LBA: case PED_PARTITION_HIDDEN: case PED_PARTITION_RAID: default: return 0; } return 1; } static void dvh_partition_set_name (PedPartition* part, const char* name) { DVHPartData* dvh_part_data = part->disk_specific; if (part->type == PED_PARTITION_LOGICAL) { /* Bootfile */ strncpy (dvh_part_data->name, name, VDNAMESIZE); dvh_part_data->name[VDNAMESIZE] = 0; } else { #ifndef DISCOVER_ONLY ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("failed to set dvh partition name to %s:\n" "Only logical partitions (boot files) have a name."), name); #endif } } static const char* dvh_partition_get_name (const PedPartition* part) { DVHPartData* dvh_part_data = part->disk_specific; return dvh_part_data->name; } /* The constraint for the volume header partition is different, because it must * contain the first sector of the disk. */ static PedConstraint* _get_extended_constraint (PedDisk* disk) { PedGeometry min_geom; if (!ped_geometry_init (&min_geom, disk->dev, 0, 1)) return NULL; return ped_constraint_new_from_min (&min_geom); } static PedConstraint* _get_primary_constraint (PedDisk* disk) { PedGeometry max_geom; if (!ped_geometry_init (&max_geom, disk->dev, 1, disk->dev->length - 1)) return NULL; return ped_constraint_new_from_max (&max_geom); } static int dvh_partition_align (PedPartition* part, const PedConstraint* constraint) { PED_ASSERT (part != NULL, return 0); if (_ped_partition_attempt_align ( part, constraint, (part->type == PED_PARTITION_EXTENDED) ? _get_extended_constraint (part->disk) : _get_primary_constraint (part->disk))) return 1; #ifndef DISCOVER_ONLY ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Unable to satisfy all constraints on the partition.")); #endif return 0; } static int dvh_partition_enumerate (PedPartition* part) { int i; /* never change the partition numbers */ if (part->num != -1) return 1; _flush_stale_flags (part->disk); if (part->type & PED_PARTITION_LOGICAL) { /* Bootfile */ for (i = 1 + NPARTAB; i <= NPARTAB + NVDIR; i++) { if (!ped_disk_get_partition (part->disk, i)) { part->num = i; return 1; } } PED_ASSERT (0, return 0); } else if (part->type & PED_PARTITION_EXTENDED) { /* Volheader */ part->num = PNUM_VOLHDR + 1; } else { for (i = 1; i <= NPARTAB; i++) { /* reserved for full volume partition */ if (i == PNUM_VOLUME + 1) continue; if (!ped_disk_get_partition (part->disk, i)) { part->num = i; return 1; } } ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Too many primary partitions")); } return 0; } static int dvh_get_max_primary_partition_count (const PedDisk* disk) { return NPARTAB; } static bool dvh_get_max_supported_partition_count (const PedDisk* disk, int *max_n) { *max_n = NPARTAB; return true; } static int dvh_alloc_metadata (PedDisk* disk) { PedPartition* part; PedPartition* extended_part; PedPartitionType metadata_type; PED_ASSERT(disk != NULL, return 0); /* We don't need to "protect" the start of the disk from the volume * header. */ extended_part = ped_disk_extended_partition (disk); if (extended_part && extended_part->geom.start == 0) metadata_type = PED_PARTITION_METADATA | PED_PARTITION_LOGICAL; else metadata_type = PED_PARTITION_METADATA; part = ped_partition_new (disk, metadata_type, NULL, 0, 0); if (!part) goto error; PedConstraint *constraint_exact = ped_constraint_exact (&part->geom); bool ok = ped_disk_add_partition (disk, part, constraint_exact); ped_constraint_destroy (constraint_exact); if (ok) return 1; ped_partition_destroy (part); error: return 0; } #include "pt-common.h" PT_define_limit_functions (dvh) static PedDiskOps dvh_disk_ops = { clobber: NULL, write: NULL_IF_DISCOVER_ONLY (dvh_write), partition_set_name: dvh_partition_set_name, partition_get_name: dvh_partition_get_name, PT_op_function_initializers (dvh) }; static PedDiskType dvh_disk_type = { next: NULL, name: "dvh", ops: &dvh_disk_ops, features: PED_DISK_TYPE_PARTITION_NAME | PED_DISK_TYPE_EXTENDED }; void ped_disk_dvh_init () { PED_ASSERT (sizeof (struct volume_header) == 512, return); ped_disk_type_register (&dvh_disk_type); } void ped_disk_dvh_done () { ped_disk_type_unregister (&dvh_disk_type); } parted-2.3/libparted/labels/loop.c0000644000000000000000000001475011337744564014076 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 1999-2000, 2007-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include #include #include "pt-tools.h" #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ #define LOOP_SIGNATURE "GNU Parted Loopback 0" static PedDiskType loop_disk_type; static PedDisk* loop_alloc (const PedDevice* dev); static void loop_free (PedDisk* disk); static int loop_probe (const PedDevice* dev) { PedDisk *disk = loop_alloc (dev); if (!disk) goto error; void *buf; if (!ptt_read_sector (dev, 0, &buf)) goto error_destroy_disk; int found_sig = !strncmp (buf, LOOP_SIGNATURE, strlen (LOOP_SIGNATURE)); free (buf); int result; if (found_sig) { result = 1; } else { PedGeometry* geom; geom = ped_geometry_new (dev, 0, disk->dev->length); if (!geom) goto error_destroy_disk; result = ped_file_system_probe (geom) != NULL; ped_geometry_destroy (geom); } loop_free (disk); return result; error_destroy_disk: loop_free (disk); error: return 0; } static PedDisk* loop_alloc (const PedDevice* dev) { PED_ASSERT (dev != NULL, return 0); if (dev->length < 256) return NULL; return _ped_disk_alloc ((PedDevice*)dev, &loop_disk_type); } static PedDisk* loop_duplicate (const PedDisk* disk) { return ped_disk_new_fresh (disk->dev, &loop_disk_type); } static void loop_free (PedDisk* disk) { PED_ASSERT (disk != NULL, return); _ped_disk_free (disk); } static int loop_read (PedDisk* disk) { PedDevice* dev = NULL; PedGeometry* geom; PedFileSystemType* fs_type; PedPartition* part; PedConstraint* constraint_any; PED_ASSERT (disk != NULL, return 0); dev = disk->dev; constraint_any = ped_constraint_any (dev); ped_disk_delete_all (disk); void *buf; if (!ptt_read_sector (dev, 0, &buf)) goto error; int found_sig = !strncmp (buf, LOOP_SIGNATURE, strlen (LOOP_SIGNATURE)); free (buf); if (found_sig) { ped_constraint_destroy (constraint_any); return 1; } geom = ped_geometry_new (dev, 0, dev->length); if (!geom) goto error; fs_type = ped_file_system_probe (geom); if (!fs_type) goto error_free_geom; part = ped_partition_new (disk, PED_PARTITION_NORMAL, fs_type, geom->start, geom->end); ped_geometry_destroy (geom); if (!part) goto error; part->fs_type = fs_type; if (!ped_disk_add_partition (disk, part, constraint_any)) goto error; ped_constraint_destroy (constraint_any); return 1; error_free_geom: ped_geometry_destroy (geom); error: ped_constraint_destroy (constraint_any); return 0; } #ifndef DISCOVER_ONLY static int loop_write (const PedDisk* disk) { size_t buflen = disk->dev->sector_size; char *buf = ped_malloc (buflen); if (buf == NULL) return 0; if (ped_disk_get_partition (disk, 1)) { if (!ped_device_read (disk->dev, buf, 0, 1)) { free (buf); return 0; } if (strncmp (buf, LOOP_SIGNATURE, strlen (LOOP_SIGNATURE)) != 0) { free (buf); return 1; } memset (buf, 0, strlen (LOOP_SIGNATURE)); return ped_device_write (disk->dev, buf, 0, 1); } memset (buf, 0, buflen); strcpy (buf, LOOP_SIGNATURE); int write_ok = ped_device_write (disk->dev, buf, 0, 1); free (buf); return write_ok; } #endif /* !DISCOVER_ONLY */ static PedPartition* loop_partition_new (const PedDisk* disk, PedPartitionType part_type, const PedFileSystemType* fs_type, PedSector start, PedSector end) { PedPartition* part; part = _ped_partition_alloc (disk, part_type, fs_type, start, end); if (!part) return NULL; part->disk_specific = NULL; return part; } static PedPartition* loop_partition_duplicate (const PedPartition* part) { PedPartition* result; result = ped_partition_new (part->disk, part->type, part->fs_type, part->geom.start, part->geom.end); result->num = part->num; return result; } static void loop_partition_destroy (PedPartition* part) { free (part); } static int loop_partition_set_system (PedPartition* part, const PedFileSystemType* fs_type) { part->fs_type = fs_type; return 1; } static int loop_partition_set_flag (PedPartition* part, PedPartitionFlag flag, int state) { return 0; } static int loop_partition_get_flag (const PedPartition* part, PedPartitionFlag flag) { return 0; } static int loop_partition_align (PedPartition* part, const PedConstraint* constraint) { PedGeometry* new_geom; new_geom = ped_constraint_solve_nearest (constraint, &part->geom); if (!new_geom) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Unable to satisfy all constraints on the " "partition.")); return 0; } ped_geometry_set (&part->geom, new_geom->start, new_geom->length); ped_geometry_destroy (new_geom); return 1; } static int loop_partition_is_flag_available (const PedPartition* part, PedPartitionFlag flag) { return 0; } static int loop_partition_enumerate (PedPartition* part) { part->num = 1; return 1; } static int loop_alloc_metadata (PedDisk* disk) { return 1; } static int loop_get_max_primary_partition_count (const PedDisk* disk) { return 1; } static bool loop_get_max_supported_partition_count (const PedDisk* disk, int *max_n) { *max_n = 1; return true; } #include "pt-common.h" PT_define_limit_functions (loop) static PedDiskOps loop_disk_ops = { clobber: NULL, write: NULL_IF_DISCOVER_ONLY (loop_write), partition_set_name: NULL, partition_get_name: NULL, PT_op_function_initializers (loop) }; static PedDiskType loop_disk_type = { next: NULL, name: "loop", ops: &loop_disk_ops, features: 0 }; void ped_disk_loop_init () { ped_disk_type_register (&loop_disk_type); } void ped_disk_loop_done () { ped_disk_type_unregister (&loop_disk_type); } parted-2.3/libparted/labels/dasd.c0000644000000000000000000005167111371762233014032 00000000000000/* -*- Mode: c; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- libparted - a library for manipulating disk partitions Copyright (C) 2000-2001, 2007-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Contributor: Phil Knirsch Harald Hoyer */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #if ENABLE_NLS # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ #include "misc.h" #include "pt-tools.h" #define PARTITION_LINUX_SWAP 0x82 #define PARTITION_LINUX 0x83 #define PARTITION_LINUX_EXT 0x85 #define PARTITION_LINUX_LVM 0x8e #define PARTITION_LINUX_RAID 0xfd #define PARTITION_LINUX_LVM_OLD 0xfe extern void ped_disk_dasd_init (); extern void ped_disk_dasd_done (); #define DASD_NAME "dasd" typedef struct { int type; int system; int raid; int lvm; } DasdPartitionData; typedef struct { unsigned int format_type; volume_label_t vlabel; } DasdDiskSpecific; static int dasd_probe (const PedDevice *dev); static int dasd_read (PedDisk* disk); static int dasd_write (const PedDisk* disk); static PedPartition* dasd_partition_new (const PedDisk* disk, PedPartitionType part_type, const PedFileSystemType* fs_type, PedSector start, PedSector end); static PedPartition* dasd_partition_duplicate (const PedPartition *part); static void dasd_partition_destroy (PedPartition* part); static int dasd_partition_set_flag (PedPartition* part, PedPartitionFlag flag, int state); static int dasd_partition_get_flag (const PedPartition* part, PedPartitionFlag flag); static int dasd_partition_is_flag_available (const PedPartition* part, PedPartitionFlag flag); static int dasd_partition_align (PedPartition* part, const PedConstraint* constraint); static int dasd_partition_enumerate (PedPartition* part); static int dasd_get_max_primary_partition_count (const PedDisk* disk); static bool dasd_get_max_supported_partition_count (const PedDisk* disk, int *max_n); static PedAlignment *dasd_get_partition_alignment(const PedDisk *disk); static PedDisk* dasd_alloc (const PedDevice* dev); static PedDisk* dasd_duplicate (const PedDisk* disk); static void dasd_free (PedDisk* disk); static int dasd_partition_set_system (PedPartition* part, const PedFileSystemType* fs_type); static int dasd_alloc_metadata (PedDisk* disk); #include "pt-common.h" PT_define_limit_functions (dasd) static PedDiskOps dasd_disk_ops = { clobber: NULL, write: NULL_IF_DISCOVER_ONLY (dasd_write), partition_set_name: NULL, partition_get_name: NULL, get_partition_alignment: dasd_get_partition_alignment, PT_op_function_initializers (dasd) }; static PedDiskType dasd_disk_type = { next: NULL, name: "dasd", ops: &dasd_disk_ops, features: 0 }; static PedDisk* dasd_alloc (const PedDevice* dev) { PedDisk* disk; LinuxSpecific* arch_specific; DasdDiskSpecific *disk_specific; char volser[7]; PED_ASSERT (dev != NULL, return NULL); arch_specific = LINUX_SPECIFIC (dev); disk = _ped_disk_alloc (dev, &dasd_disk_type); if (!disk) return NULL; disk->disk_specific = disk_specific = ped_malloc(sizeof(DasdDiskSpecific)); if (!disk->disk_specific) { free (disk); return NULL; } /* CDL format, newer */ disk_specific->format_type = 2; /* Setup volume label (for fresh disks) */ snprintf(volser, sizeof(volser), "0X%04X", arch_specific->devno); vtoc_volume_label_init(&disk_specific->vlabel); vtoc_volume_label_set_key(&disk_specific->vlabel, "VOL1"); vtoc_volume_label_set_label(&disk_specific->vlabel, "VOL1"); vtoc_volume_label_set_volser(&disk_specific->vlabel, volser); vtoc_set_cchhb(&disk_specific->vlabel.vtoc, VTOC_START_CC, VTOC_START_HH, 0x01); return disk; } static PedDisk* dasd_duplicate (const PedDisk* disk) { PedDisk* new_disk; new_disk = ped_disk_new_fresh(disk->dev, &dasd_disk_type); if (!new_disk) return NULL; memcpy(new_disk->disk_specific, disk->disk_specific, sizeof(DasdDiskSpecific)); return new_disk; } static void dasd_free (PedDisk* disk) { PED_ASSERT(disk != NULL, return); /* Don't free disk->disk_specific first, in case _ped_disk_free or one of its eventual callees ever accesses it. */ void *p = disk->disk_specific; _ped_disk_free(disk); free(p); } void ped_disk_dasd_init () { ped_disk_type_register(&dasd_disk_type); } void ped_disk_dasd_done () { ped_disk_type_unregister(&dasd_disk_type); } static int dasd_probe (const PedDevice *dev) { LinuxSpecific* arch_specific; struct fdasd_anchor anchor; PED_ASSERT(dev != NULL, return 0); if (!(dev->type == PED_DEVICE_DASD || dev->type == PED_DEVICE_VIODASD || dev->type == PED_DEVICE_FILE)) return 0; arch_specific = LINUX_SPECIFIC(dev); /* add partition test here */ fdasd_initialize_anchor(&anchor); fdasd_get_geometry(dev, &anchor, arch_specific->fd); fdasd_check_api_version(&anchor, arch_specific->fd); if (fdasd_check_volume(&anchor, arch_specific->fd)) goto error_cleanup; fdasd_cleanup(&anchor); return 1; error_cleanup: fdasd_cleanup(&anchor); ped_exception_throw(PED_EXCEPTION_ERROR,PED_EXCEPTION_IGNORE_CANCEL, "Error while probing device %s.", dev->path); return 0; } static int dasd_read (PedDisk* disk) { int i; char str[20]; PedDevice* dev; PedPartition* part; PedFileSystemType *fs; PedSector start, end; PedConstraint* constraint_exact; partition_info_t *p; LinuxSpecific* arch_specific; DasdDiskSpecific* disk_specific; struct fdasd_anchor anchor; PDEBUG; PED_ASSERT (disk != NULL, return 0); PDEBUG; PED_ASSERT (disk->dev != NULL, return 0); PDEBUG; dev = disk->dev; arch_specific = LINUX_SPECIFIC(dev); disk_specific = disk->disk_specific; PDEBUG; fdasd_initialize_anchor(&anchor); fdasd_get_geometry(disk->dev, &anchor, arch_specific->fd); /* check dasd for labels and vtoc */ if (fdasd_check_volume(&anchor, arch_specific->fd)) goto error_close_dev; /* Save volume label (read by fdasd_check_volume) for writing */ memcpy(&disk_specific->vlabel, anchor.vlabel, sizeof(volume_label_t)); if ((anchor.geo.cylinders * anchor.geo.heads) > BIG_DISK_SIZE) anchor.big_disk++; ped_disk_delete_all (disk); if (strncmp(anchor.vlabel->volkey, vtoc_ebcdic_enc ("LNX1", str, 4), 4) == 0) { DasdPartitionData* dasd_data; /* LDL format, old one */ disk_specific->format_type = 1; start = 24; end = (long long)(long long) anchor.geo.cylinders * (long long)anchor.geo.heads * (long long)disk->dev->hw_geom.sectors * (long long)arch_specific->real_sector_size / (long long)disk->dev->sector_size - 1; part = ped_partition_new (disk, PED_PARTITION_PROTECTED, NULL, start, end); if (!part) goto error_close_dev; part->num = 1; part->fs_type = ped_file_system_probe (&part->geom); dasd_data = part->disk_specific; dasd_data->raid = 0; dasd_data->lvm = 0; dasd_data->type = 0; if (!ped_disk_add_partition (disk, part, NULL)) goto error_close_dev; fdasd_cleanup(&anchor); return 1; } /* CDL format, newer */ disk_specific->format_type = 2; p = anchor.first; PDEBUG; for (i = 1 ; i <= USABLE_PARTITIONS; i++) { char *ch = p->f1->DS1DSNAM; DasdPartitionData* dasd_data; if (p->used != 0x01) continue; PDEBUG; start = (long long)(long long) p->start_trk * (long long) disk->dev->hw_geom.sectors * (long long) arch_specific->real_sector_size / (long long) disk->dev->sector_size; end = (long long)((long long) p->end_trk + 1) * (long long) disk->dev->hw_geom.sectors * (long long) arch_specific->real_sector_size / (long long) disk->dev->sector_size - 1; part = ped_partition_new(disk, PED_PARTITION_NORMAL, NULL, start, end); PDEBUG; if (!part) goto error_close_dev; PDEBUG; part->num = i; part->fs_type = ped_file_system_probe(&part->geom); vtoc_ebcdic_dec(p->f1->DS1DSNAM, p->f1->DS1DSNAM, 44); ch = strstr(p->f1->DS1DSNAM, "PART"); if (ch != NULL) { strncpy(str, ch+9, 6); str[6] = '\0'; } dasd_data = part->disk_specific; if ((strncmp(PART_TYPE_RAID, str, 6) == 0) && (ped_file_system_probe(&part->geom) == NULL)) ped_partition_set_flag(part, PED_PARTITION_RAID, 1); else ped_partition_set_flag(part, PED_PARTITION_RAID, 0); if ((strncmp(PART_TYPE_LVM, str, 6) == 0) && (ped_file_system_probe(&part->geom) == NULL)) ped_partition_set_flag(part, PED_PARTITION_LVM, 1); else ped_partition_set_flag(part, PED_PARTITION_LVM, 0); if (strncmp(PART_TYPE_SWAP, str, 6) == 0) { fs = ped_file_system_probe(&part->geom); if (fs && is_linux_swap(fs->name)) { dasd_data->system = PARTITION_LINUX_SWAP; PDEBUG; } } vtoc_ebcdic_enc(p->f1->DS1DSNAM, p->f1->DS1DSNAM, 44); dasd_data->type = 0; constraint_exact = ped_constraint_exact (&part->geom); if (!constraint_exact) goto error_close_dev; if (!ped_disk_add_partition(disk, part, constraint_exact)) { ped_constraint_destroy(constraint_exact); goto error_close_dev; } ped_constraint_destroy(constraint_exact); if (p->fspace_trk > 0) { start = (long long)((long long) p->end_trk + 1) * (long long) disk->dev->hw_geom.sectors * (long long) arch_specific->real_sector_size / (long long) disk->dev->sector_size; end = (long long)((long long) p->end_trk + 1 + p->fspace_trk) * (long long) disk->dev->hw_geom.sectors * (long long) arch_specific->real_sector_size / (long long) disk->dev->sector_size - 1; part = ped_partition_new (disk, PED_PARTITION_NORMAL, NULL, start, end); if (!part) goto error_close_dev; part->type = PED_PARTITION_FREESPACE; constraint_exact = ped_constraint_exact(&part->geom); if (!constraint_exact) goto error_close_dev; if (!ped_disk_add_partition(disk, part, constraint_exact)) { ped_constraint_destroy(constraint_exact); goto error_close_dev; } ped_constraint_destroy (constraint_exact); } p = p->next; } PDEBUG; fdasd_cleanup(&anchor); return 1; error_close_dev: PDEBUG; fdasd_cleanup(&anchor); return 0; } static int dasd_update_type (const PedDisk* disk, struct fdasd_anchor *anchor, partition_info_t *part_info[USABLE_PARTITIONS]) { PedPartition* part; LinuxSpecific* arch_specific; DasdDiskSpecific* disk_specific; arch_specific = LINUX_SPECIFIC(disk->dev); disk_specific = disk->disk_specific; PDEBUG; unsigned int i; for (i = 1; i <= USABLE_PARTITIONS; i++) { partition_info_t *p; char *ch = NULL; DasdPartitionData* dasd_data; PDEBUG; part = ped_disk_get_partition(disk, i); if (!part) continue; PDEBUG; dasd_data = part->disk_specific; p = part_info[i - 1]; if (!p ) { PDEBUG; continue; } vtoc_ebcdic_dec(p->f1->DS1DSNAM, p->f1->DS1DSNAM, 44); ch = strstr(p->f1->DS1DSNAM, "PART"); PDEBUG; if (ch == NULL) { vtoc_ebcdic_enc(p->f1->DS1DSNAM, p->f1->DS1DSNAM, 44); PDEBUG; continue; } ch += 9; switch (dasd_data->system) { case PARTITION_LINUX_LVM: PDEBUG; strncpy(ch, PART_TYPE_LVM, 6); break; case PARTITION_LINUX_RAID: PDEBUG; strncpy(ch, PART_TYPE_RAID, 6); break; case PARTITION_LINUX: PDEBUG; strncpy(ch, PART_TYPE_NATIVE, 6); break; case PARTITION_LINUX_SWAP: PDEBUG; strncpy(ch, PART_TYPE_SWAP, 6); break; default: PDEBUG; strncpy(ch, PART_TYPE_NATIVE, 6); break; } anchor->vtoc_changed++; vtoc_ebcdic_enc(p->f1->DS1DSNAM, p->f1->DS1DSNAM, 44); } return 1; } static int dasd_write (const PedDisk* disk) { DasdPartitionData* dasd_data; PedPartition* part; int i; partition_info_t *p; LinuxSpecific* arch_specific; DasdDiskSpecific* disk_specific; struct fdasd_anchor anchor; partition_info_t *part_info[USABLE_PARTITIONS]; PED_ASSERT(disk != NULL, return 0); PED_ASSERT(disk->dev != NULL, return 0); arch_specific = LINUX_SPECIFIC (disk->dev); disk_specific = disk->disk_specific; PDEBUG; /* If formated in LDL, don't write anything. */ if (disk_specific->format_type == 1) return 1; /* initialize the anchor */ fdasd_initialize_anchor(&anchor); fdasd_get_geometry(disk->dev, &anchor, arch_specific->fd); memcpy(anchor.vlabel, &disk_specific->vlabel, sizeof(volume_label_t)); anchor.vlabel_changed++; if ((anchor.geo.cylinders * anchor.geo.heads) > BIG_DISK_SIZE) anchor.big_disk++; fdasd_recreate_vtoc(&anchor); for (i = 1; i <= USABLE_PARTITIONS; i++) { unsigned int start, stop; PDEBUG; part = ped_disk_get_partition(disk, i); if (!part) continue; PDEBUG; start = part->geom.start * disk->dev->sector_size / arch_specific->real_sector_size / disk->dev->hw_geom.sectors; stop = (part->geom.end + 1) * disk->dev->sector_size / arch_specific->real_sector_size / disk->dev->hw_geom.sectors - 1; PDEBUG; dasd_data = part->disk_specific; p = fdasd_add_partition(&anchor, start, stop); if (!p) { PDEBUG; goto error; } part_info[i - 1] = p; p->type = dasd_data->system; } PDEBUG; if (!fdasd_prepare_labels(&anchor, arch_specific->fd)) goto error; dasd_update_type(disk, &anchor, part_info); PDEBUG; if (!fdasd_write_labels(&anchor, arch_specific->fd)) goto error; fdasd_cleanup(&anchor); return 1; error: PDEBUG; fdasd_cleanup(&anchor); return 0; } static PedPartition* dasd_partition_new (const PedDisk* disk, PedPartitionType part_type, const PedFileSystemType* fs_type, PedSector start, PedSector end) { PedPartition* part; part = _ped_partition_alloc(disk, part_type, fs_type, start, end); if (!part) goto error; part->disk_specific = ped_malloc (sizeof (DasdPartitionData)); return part; error: return 0; } static PedPartition* dasd_partition_duplicate (const PedPartition *part) { PedPartition *new_part; new_part = ped_partition_new (part->disk, part->type, part->fs_type, part->geom.start, part->geom.end); if (!new_part) return NULL; new_part->num = part->num; memcpy(new_part->disk_specific, part->disk_specific, sizeof(DasdPartitionData)); return new_part; } static void dasd_partition_destroy (PedPartition* part) { PED_ASSERT(part != NULL, return); if (ped_partition_is_active(part)) free(part->disk_specific); free(part); } static int dasd_partition_set_flag (PedPartition* part, PedPartitionFlag flag, int state) { DasdPartitionData* dasd_data; PED_ASSERT(part != NULL, return 0); PED_ASSERT(part->disk_specific != NULL, return 0); dasd_data = part->disk_specific; switch (flag) { case PED_PARTITION_RAID: if (state) dasd_data->lvm = 0; dasd_data->raid = state; return ped_partition_set_system(part, part->fs_type); case PED_PARTITION_LVM: if (state) dasd_data->raid = 0; dasd_data->lvm = state; return ped_partition_set_system(part, part->fs_type); default: return 0; } } static int dasd_partition_get_flag (const PedPartition* part, PedPartitionFlag flag) { DasdPartitionData* dasd_data; PED_ASSERT (part != NULL, return 0); PED_ASSERT (part->disk_specific != NULL, return 0); dasd_data = part->disk_specific; switch (flag) { case PED_PARTITION_RAID: return dasd_data->raid; case PED_PARTITION_LVM: return dasd_data->lvm; default: return 0; } } static int dasd_partition_is_flag_available (const PedPartition* part, PedPartitionFlag flag) { switch (flag) { case PED_PARTITION_RAID: return 1; case PED_PARTITION_LVM: return 1; default: return 0; } } static int dasd_get_max_primary_partition_count (const PedDisk* disk) { DasdDiskSpecific* disk_specific; disk_specific = disk->disk_specific; /* If formated in LDL, maximum partition number is 1 */ if (disk_specific->format_type == 1) return 1; return USABLE_PARTITIONS; } static bool dasd_get_max_supported_partition_count (const PedDisk* disk, int *max_n) { *max_n = dasd_get_max_primary_partition_count(disk); return true; } static PedAlignment* dasd_get_partition_alignment(const PedDisk *disk) { LinuxSpecific *arch_specific = LINUX_SPECIFIC(disk->dev); PedSector sector_size = arch_specific->real_sector_size / disk->dev->sector_size; return ped_alignment_new(0, disk->dev->hw_geom.sectors * sector_size); } static PedConstraint* _primary_constraint (PedDisk* disk) { PedAlignment start_align; PedAlignment end_align; PedGeometry max_geom; PedSector sector_size; LinuxSpecific* arch_specific; DasdDiskSpecific* disk_specific; PDEBUG; arch_specific = LINUX_SPECIFIC (disk->dev); disk_specific = disk->disk_specific; sector_size = arch_specific->real_sector_size / disk->dev->sector_size; if (!ped_alignment_init (&start_align, 0, disk->dev->hw_geom.sectors * sector_size)) return NULL; if (!ped_alignment_init (&end_align, -1, disk->dev->hw_geom.sectors * sector_size)) return NULL; if (!ped_geometry_init (&max_geom, disk->dev, 0, disk->dev->length)) return NULL; return ped_constraint_new(&start_align, &end_align, &max_geom, &max_geom, 1, disk->dev->length); } static int dasd_partition_align (PedPartition* part, const PedConstraint* constraint) { DasdDiskSpecific* disk_specific; PED_ASSERT (part != NULL, return 0); disk_specific = part->disk->disk_specific; /* If formated in LDL, ignore metadata partition */ if (disk_specific->format_type == 1) return 1; if (_ped_partition_attempt_align(part, constraint, _primary_constraint(part->disk))) return 1; #ifndef DISCOVER_ONLY ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Unable to satisfy all constraints on the partition.")); #endif return 0; } static int dasd_partition_enumerate (PedPartition* part) { int i; PedPartition* p; /* never change the partition numbers */ if (part->num != -1) return 1; for (i = 1; i <= USABLE_PARTITIONS; i++) { p = ped_disk_get_partition (part->disk, i); if (!p) { part->num = i; return 1; } } /* failed to allocate a number */ ped_exception_throw(PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Unable to allocate a dasd disklabel slot")); return 0; } static int dasd_partition_set_system (PedPartition* part, const PedFileSystemType* fs_type) { DasdPartitionData* dasd_data = part->disk_specific; PedSector cyl_size; cyl_size=part->disk->dev->hw_geom.sectors * part->disk->dev->hw_geom.heads; PDEBUG; part->fs_type = fs_type; if (dasd_data->lvm) { dasd_data->system = PARTITION_LINUX_LVM; PDEBUG; return 1; } if (dasd_data->raid) { dasd_data->system = PARTITION_LINUX_RAID; PDEBUG; return 1; } if (!fs_type) { dasd_data->system = PARTITION_LINUX; PDEBUG; } else if (is_linux_swap (fs_type->name)) { dasd_data->system = PARTITION_LINUX_SWAP; PDEBUG; } else { dasd_data->system = PARTITION_LINUX; PDEBUG; } return 1; } static int dasd_alloc_metadata (PedDisk* disk) { PedPartition* new_part; PedConstraint* constraint_any = NULL; PedSector vtoc_end; LinuxSpecific* arch_specific; DasdDiskSpecific* disk_specific; PED_ASSERT (disk != NULL, goto error); PED_ASSERT (disk->dev != NULL, goto error); arch_specific = LINUX_SPECIFIC (disk->dev); disk_specific = disk->disk_specific; constraint_any = ped_constraint_any (disk->dev); /* If formated in LDL, the real partition starts at sector 24. */ if (disk_specific->format_type == 1) vtoc_end = 23; else { if (disk->dev->type == PED_DEVICE_FILE) arch_specific->real_sector_size = disk->dev->sector_size; /* Mark the start of the disk as metadata. */ vtoc_end = (FIRST_USABLE_TRK * (long long) disk->dev->hw_geom.sectors * (long long) arch_specific->real_sector_size / (long long) disk->dev->sector_size) - 1; } new_part = ped_partition_new (disk,PED_PARTITION_METADATA,NULL,0,vtoc_end); if (!new_part) goto error; if (!ped_disk_add_partition (disk, new_part, constraint_any)) { ped_partition_destroy (new_part); goto error; } ped_constraint_destroy (constraint_any); return 1; error: ped_constraint_destroy (constraint_any); return 0; } parted-2.3/libparted/labels/dvh.h0000644000000000000000000001720011324137521013665 00000000000000/* Copyright (C) 1985 MIPS Computer Systems, Inc. Copyright (C) 2000 Silicon Graphics Computer Systems, 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _SYS_DVH_H #define _SYS_DVH_H /* * Format for volume header information * * The volume header is a block located at the beginning of all disk * media (sector 0). It contains information pertaining to physical * device parameters and logical partition information. * * The volume header is manipulated by disk formatters/verifiers, * partition builders (e.g. fx, dvhtool, and mkfs), and disk drivers. * * Previous versions of IRIX wrote a copy of the volume header is * located at sector 0 of each track of cylinder 0. These copies were * never used, and reduced the capacity of the volume header to hold large * files, so this practice was discontinued. * The volume header is constrained to be less than or equal to 512 * bytes long. A particular copy is assumed valid if no drive errors * are detected, the magic number is correct, and the 32 bit 2's complement * of the volume header is correct. The checksum is calculated by initially * zeroing vh_csum, summing the entire structure and then storing the * 2's complement of the sum. Thus a checksum to verify the volume header * should be 0. * * The error summary table, bad sector replacement table, and boot blocks are * located by searching the volume directory within the volume header. * * Tables are sized simply by the integral number of table records that * will fit in the space indicated by the directory entry. * * The amount of space allocated to the volume header, replacement blocks, * and other tables is user defined when the device is formatted. */ /* * device parameters are in the volume header to determine mapping * from logical block numbers to physical device addresses * * Linux doesn't care ... */ struct device_parameters { unsigned char dp_skew; /* spiral addressing skew */ unsigned char dp_gap1; /* words of 0 before header */ unsigned char dp_gap2; /* words of 0 between hdr and data */ unsigned char dp_spares_cyl; /* This is for drives (such as SCSI that support zone oriented sparing, where the zone is larger than one track. It gets subracteded from the cylinder size ( dp_trks0 * dp_sec) when doing partition size calculations */ unsigned short dp_cyls; /* number of usable cylinders (i.e., doesn't include cylinders reserved by the drive for badblocks, etc.). For drives with variable geometry, this number may be decreased so that: dp_cyls * ((dp_heads * dp_trks0) - dp_spares_cyl) <= actualcapacity This happens on SCSI drives such as the Wren IV and Toshiba 156 Also see dp_cylshi below */ unsigned short dp_shd0; /* starting head vol 0 */ unsigned short dp_trks0; /* number of tracks / cylinder vol 0*/ unsigned char dp_ctq_depth; /* Depth of CTQ queue */ unsigned char dp_cylshi; /* high byte of 24 bits of cylinder count */ unsigned short dp_unused; /* not used */ unsigned short dp_secs; /* number of sectors/track */ unsigned short dp_secbytes; /* length of sector in bytes */ unsigned short dp_interleave; /* sector interleave */ int dp_flags; /* controller characteristics */ int dp_datarate; /* bytes/sec for kernel stats */ int dp_nretries; /* max num retries on data error */ int dp_mspw; /* ms per word to xfer, for iostat */ unsigned short dp_xgap1; /* Gap 1 for xylogics controllers */ unsigned short dp_xsync; /* sync delay for xylogics controllers */ unsigned short dp_xrdly; /* read delay for xylogics controllers */ unsigned short dp_xgap2; /* gap 2 for xylogics controllers */ unsigned short dp_xrgate; /* read gate for xylogics controllers */ unsigned short dp_xwcont; /* write continuation for xylogics */ }; /* * Device characterization flags * (dp_flags) */ #define DP_SECTSLIP 0x00000001 /* sector slip to spare sector */ #define DP_SECTFWD 0x00000002 /* forward to replacement sector */ #define DP_TRKFWD 0x00000004 /* forward to replacement track */ #define DP_MULTIVOL 0x00000008 /* multiple volumes per spindle */ #define DP_IGNOREERRORS 0x00000010 /* transfer data regardless of errors */ #define DP_RESEEK 0x00000020 /* recalibrate as last resort */ #define DP_CTQ_EN 0x00000040 /* enable command tag queueing */ /* * Boot blocks, bad sector tables, and the error summary table, are located * via the volume_directory. */ #define VDNAMESIZE 8 struct volume_directory { char vd_name[VDNAMESIZE]; /* name */ int vd_lbn; /* logical block number */ int vd_nbytes; /* file length in bytes */ }; /* * partition table describes logical device partitions * (device drivers examine this to determine mapping from logical units * to cylinder groups, device formatters/verifiers examine this to determine * location of replacement tracks/sectors, etc) * * NOTE: pt_firstlbn SHOULD BE CYLINDER ALIGNED */ struct partition_table { /* one per logical partition */ int pt_nblks; /* # of logical blks in partition */ int pt_firstlbn; /* first lbn of partition */ int pt_type; /* use of partition */ }; #define PTYPE_VOLHDR 0 /* partition is volume header */ #define PTYPE_TRKREPL 1 /* partition is used for repl trks */ #define PTYPE_SECREPL 2 /* partition is used for repl secs */ #define PTYPE_RAW 3 /* partition is used for data */ #define PTYPE_BSD42 4 /* partition is 4.2BSD file system */ #define PTYPE_BSD 4 /* partition is 4.2BSD file system */ #define PTYPE_SYSV 5 /* partition is SysV file system */ #define PTYPE_VOLUME 6 /* partition is entire volume */ #define PTYPE_EFS 7 /* partition is sgi EFS */ #define PTYPE_LVOL 8 /* partition is part of a logical vol */ #define PTYPE_RLVOL 9 /* part of a "raw" logical vol */ #define PTYPE_XFS 10 /* partition is sgi XFS */ #define PTYPE_XFSLOG 11 /* partition is sgi XFS log */ #define PTYPE_XLV 12 /* partition is part of an XLV vol */ #define PTYPE_XVM 13 /* partition is sgi XVM */ #define NPTYPES 16 #define VHMAGIC 0xbe5a941 /* randomly chosen value */ #define NPARTAB 16 /* 16 unix partitions */ #define NVDIR 15 /* max of 15 directory entries */ #define BFNAMESIZE 16 /* max 16 chars in boot file name */ /* Partition types for ARCS */ #define NOT_USED 0 /* Not used */ #define FAT_SHORT 1 /* FAT file system, 12-bit FAT entries */ #define FAT_LONG 4 /* FAT file system, 16-bit FAT entries */ #define EXTENDED 5 /* extended partition */ #define HUGE 6 /* huge partition- MS/DOS 4.0 and later */ /* Active flags for ARCS */ #define BOOTABLE 0x00; #define NOT_BOOTABLE 0x80; struct volume_header { int vh_magic; /* identifies volume header */ short vh_rootpt; /* root partition number */ short vh_swappt; /* swap partition number */ char vh_bootfile[BFNAMESIZE]; /* name of file to boot */ struct device_parameters vh_dp; /* device parameters */ struct volume_directory vh_vd[NVDIR]; /* other vol hdr contents */ struct partition_table vh_pt[NPARTAB]; /* device partition layout */ int vh_csum; /* volume header checksum */ int vh_fill; /* fill out to 512 bytes */ }; #endif /* _SYS_DVH_H */ parted-2.3/libparted/labels/pt-tools.h0000644000000000000000000000255611333731662014703 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 2008-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include int ptt_write_sector (PedDisk const *disk, void const *buf, size_t buflen); int ptt_read_sector (PedDevice const *dev, PedSector sector_num, void **buf); int ptt_read_sectors (PedDevice const *dev, PedSector start_sector, PedSector n_sectors, void **buf); int ptt_clear_sectors (PedDevice *dev, PedSector start, PedSector count); int ptt_partition_max_start_len (char const *label_type, const PedPartition *part); int ptt_partition_max_start_sector (char const *pt_type, PedSector *max); int ptt_partition_max_length (char const *pt_type, PedSector *max); parted-2.3/libparted/labels/mac.c0000644000000000000000000012516211337744564013665 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 2000, 2002, 2004, 2007-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include #include #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ #include "misc.h" #include "pt-tools.h" /* struct's hacked from Linux source: fs/partitions/mac.h * I believe it was originally written by Paul Mackerras (from comments in * Quik source) * * See also: * http://developer.apple.com/documentation/mac/Devices/Devices-126.html * http://developer.apple.com/documentation/mac/Devices/Devices-121.html * http://devworld.apple.com/technotes/tn/tn1189.html * * Partition types: * Apple_Bootstrap new-world (HFS) boot partition * Apple_partition_map partition map (table) * Apple_Driver device driver * Apple_Driver43 SCSI Manager 4.3 device driver * Apple_MFS original Macintosh File System * Apple_HFS Hierarchical File System (and +) * Apple_HFSX HFS+ with case sensitivity and more * Apple_UNIX_SVR2 UNIX file system (UFS?) * Apple_PRODOS ProDOS file system * Apple_Free unused space * Apple_Scratch empty * Apple_Void padding for iso9660 * Apple_Extra an unused partition map entry * * Quick explanation: * ------------------ * Terminology: * * Parted Apple * ------ ----- * device disk/device * disk no equivalent. * partition volume or partition * sector block * * * All space must be accounted for, except block 0 (driver block) and * block 1-X (the partition map: i.e. lots of MacRawPartitions) * * * It's really hard to grow/shrink the number of MacRawPartition * entries in the partition map, because the first partition starts * immediately after the partition map. When we can move the start of * HFS and ext2 partitions, this problem will disappear ;-) */ #define MAC_PARTITION_MAGIC_1 0x5453 /* old */ #define MAC_PARTITION_MAGIC_2 0x504d #define MAC_DISK_MAGIC 0x4552 #define MAC_STATUS_BOOTABLE 8 /* partition is bootable */ typedef struct _MacRawPartition MacRawPartition; typedef struct _MacRawDisk MacRawDisk; typedef struct _MacDeviceDriver MacDeviceDriver; typedef struct _MacPartitionData MacPartitionData; typedef struct _MacDiskData MacDiskData; struct __attribute__ ((packed)) _MacRawPartition { uint16_t signature; /* expected to be MAC_PARTITION_MAGIC */ uint16_t res1; uint32_t map_count; /* # blocks in partition map */ uint32_t start_block; /* absolute starting block # of partition */ uint32_t block_count; /* number of blocks in partition */ char name[32]; /* partition name */ char type[32]; /* string type description */ uint32_t data_start; /* rel block # of first data block */ uint32_t data_count; /* number of data blocks */ uint32_t status; /* partition status bits */ uint32_t boot_start; uint32_t boot_count; uint32_t boot_load; uint32_t boot_load2; uint32_t boot_entry; uint32_t boot_entry2; uint32_t boot_cksum; char processor[16]; /* Contains 680x0, x=0,2,3,4; or empty */ uint32_t driver_sig; char _padding[372]; }; /* Driver descriptor structure, in block 0 */ struct __attribute__ ((packed)) _MacRawDisk { uint16_t signature; /* expected to be MAC_DRIVER_MAGIC */ uint16_t block_size; /* physical sector size */ uint32_t block_count; /* size of device in blocks */ uint16_t dev_type; /* reserved */ uint16_t dev_id; /* reserved */ uint32_t data; /* reserved */ uint16_t driver_count; /* # of driver descriptor entries */ uint8_t driverlist[488];/* info about available drivers */ uint16_t padding[3]; /* pad to 512 bytes */ }; struct __attribute__ ((packed)) _MacDeviceDriver { uint32_t block; /* startblock in MacRawDisk->block_size units */ uint16_t size; /* size in 512 byte units */ uint16_t type; /* operating system type (MacOS = 1) */ }; struct _MacPartitionData { char volume_name[33]; /* eg: "Games" */ char system_name[33]; /* eg: "Apple_Unix_SVR2" */ char processor_name[17]; int is_boot; int is_driver; int has_driver; int is_root; int is_swap; int is_lvm; int is_raid; PedSector data_region_length; PedSector boot_region_length; uint32_t boot_base_address; uint32_t boot_entry_address; uint32_t boot_checksum; uint32_t status; uint32_t driver_sig; }; struct _MacDiskData { int ghost_size; /* sectors per "driver" block */ int part_map_entry_count; /* # entries (incl. ghost) */ int part_map_entry_num; /* partition map location */ int active_part_entry_count; /* # real partitions */ int free_part_entry_count; /* # free space */ int last_part_entry_num; /* last entry number */ uint16_t block_size; /* physical sector size */ uint16_t driver_count; MacDeviceDriver driverlist[1 + 60]; /* 488 bytes */ }; static PedDiskType mac_disk_type; static int _check_signature (MacRawDisk const *raw_disk) { if (PED_BE16_TO_CPU (raw_disk->signature) != MAC_DISK_MAGIC) { #ifdef DISCOVER_ONLY return 0; #else return ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_IGNORE_CANCEL, _("Invalid signature %x for Mac disk labels."), (int) PED_BE16_TO_CPU (raw_disk->signature)) == PED_EXCEPTION_IGNORE; #endif } return 1; } static int _rawpart_check_signature (MacRawPartition* raw_part) { int sig = (int) PED_BE16_TO_CPU (raw_part->signature); return sig == MAC_PARTITION_MAGIC_1 || sig == MAC_PARTITION_MAGIC_2; } static int mac_probe (const PedDevice * dev) { PED_ASSERT (dev != NULL, return 0); if (dev->sector_size < sizeof (MacRawDisk)) return 0; void *label; if (!ptt_read_sector (dev, 0, &label)) return 0; int valid = _check_signature (label); free (label); return valid; } static int _disk_add_part_map_entry (PedDisk* disk, int warn) { MacDiskData* mac_disk_data = disk->disk_specific; PedPartition* new_part; MacPartitionData* mac_part_data; PedSector part_map_size; PedConstraint* constraint_any = ped_constraint_any (disk->dev); #ifndef DISCOVER_ONLY if (warn && ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_FIX | PED_EXCEPTION_CANCEL, _("Partition map has no partition map entry!")) != PED_EXCEPTION_FIX) goto error; #endif /* !DISCOVER_ONLY */ part_map_size = ped_round_up_to (mac_disk_data->last_part_entry_num, 64); if (part_map_size == 0) part_map_size = 64; new_part = ped_partition_new (disk, PED_PARTITION_NORMAL, NULL, 1, part_map_size - 1); if (!new_part) goto error; mac_part_data = new_part->disk_specific; strcpy (mac_part_data->volume_name, "Apple"); strcpy (mac_part_data->system_name, "Apple_partition_map"); if (!ped_disk_add_partition (disk, new_part, constraint_any)) goto error_destroy_new_part; mac_disk_data->part_map_entry_num = new_part->num; mac_disk_data->part_map_entry_count = new_part->geom.end - mac_disk_data->ghost_size; ped_constraint_destroy (constraint_any); return 1; error_destroy_new_part: ped_partition_destroy (new_part); error: ped_constraint_destroy (constraint_any); return 0; } static PedDisk* mac_alloc (const PedDevice* dev) { PedDisk* disk; MacDiskData* mac_disk_data; PED_ASSERT (dev != NULL, return NULL); #ifndef DISCOVER_ONLY if (dev->length < 256) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("%s is too small for a Mac disk label!"), dev->path); goto error; } #endif disk = _ped_disk_alloc (dev, &mac_disk_type); if (!disk) goto error; mac_disk_data = (MacDiskData*) ped_malloc (sizeof (MacDiskData)); if (!mac_disk_data) goto error_free_disk; disk->disk_specific = mac_disk_data; mac_disk_data->ghost_size = disk->dev->sector_size / 512; mac_disk_data->active_part_entry_count = 0; mac_disk_data->free_part_entry_count = 1; mac_disk_data->last_part_entry_num = 1; mac_disk_data->block_size = 0; mac_disk_data->driver_count = 0; memset(&mac_disk_data->driverlist[0], 0, sizeof(mac_disk_data->driverlist)); if (!_disk_add_part_map_entry (disk, 0)) goto error_free_disk; return disk; error_free_disk: _ped_disk_free (disk); error: return NULL; } static PedDisk* mac_duplicate (const PedDisk* disk) { PedDisk* new_disk; MacDiskData* new_mac_data; MacDiskData* old_mac_data = (MacDiskData*) disk->disk_specific; new_disk = ped_disk_new_fresh (disk->dev, &mac_disk_type); if (!new_disk) return NULL; new_mac_data = (MacDiskData*) new_disk->disk_specific; /* remove the partition map partition - it will be duplicated * later. */ PedSector first_part_map_sector = old_mac_data->ghost_size; PedPartition *partition_map = ped_disk_get_partition_by_sector (new_disk, first_part_map_sector); PED_ASSERT (partition_map != NULL, return 0); /* ped_disk_remove_partition may be used only to delete a "normal" partition. Trying to delete at least "freespace" or "metadata" partitions leads to a violation of assumptions in ped_disk_remove_partition, since it calls _disk_push_update_mode, which destroys all "freespace" and "metadata" partitions, and depends on that destruction not freeing its PART parameter. */ PED_ASSERT (partition_map->type == PED_PARTITION_NORMAL, return 0); ped_disk_remove_partition (new_disk, partition_map); /* ugly, but C is ugly :p */ memcpy (new_mac_data, old_mac_data, sizeof (MacDiskData)); return new_disk; } static void mac_free (PedDisk* disk) { MacDiskData* mac_disk_data = disk->disk_specific; _ped_disk_free (disk); free (mac_disk_data); } static int _rawpart_cmp_type (const MacRawPartition* raw_part, const char* type) { return strncasecmp (raw_part->type, type, 32) == 0; } static int _rawpart_cmp_name (const MacRawPartition* raw_part, const char* name) { return strncasecmp (raw_part->name, name, 32) == 0; } static int _rawpart_is_partition_map (const MacRawPartition* raw_part) { return _rawpart_cmp_type (raw_part, "Apple_partition_map"); } static int strncasestr (const char* haystack, const char* needle, int n) { int needle_size = strlen (needle); int i; for (i = 0; haystack[i] && i < n - needle_size; i++) { if (strncasecmp (haystack + i, needle, needle_size) == 0) return 1; } return 0; } static int _rawpart_is_boot (const MacRawPartition* raw_part) { if (!strcasecmp(raw_part->type, "Apple_Bootstrap")) return 1; if (!strcasecmp(raw_part->type, "Apple_Boot")) return 1; return 0; } static int _rawpart_is_driver (const MacRawPartition* raw_part) { if (strncmp (raw_part->type, "Apple_", 6) != 0) return 0; if (!strncasestr (raw_part->type, "driver", 32)) return 0; return 1; } static int _rawpart_has_driver (const MacRawPartition* raw_part, MacDiskData* mac_disk_data) { MacDeviceDriver *driverlist; uint16_t i, bsz; uint32_t driver_bs, driver_be, part_be; driverlist = &mac_disk_data->driverlist[0]; bsz = mac_disk_data->block_size / 512; for (i = 0; i < mac_disk_data->driver_count; i++) { driver_bs = driverlist->block * bsz; driver_be = driver_bs + driverlist->size; part_be = raw_part->start_block + raw_part->block_count; if (driver_bs >= raw_part->start_block && driver_be <= part_be) return 1; driverlist++; } return 0; } static int _rawpart_is_root (MacRawPartition* raw_part) { if (!_rawpart_cmp_type (raw_part, "Apple_UNIX_SVR2")) return 0; if (strcmp (raw_part->name, "root") != 0) return 0; return 1; } static int _rawpart_is_swap (MacRawPartition* raw_part) { if (!_rawpart_cmp_type (raw_part, "Apple_UNIX_SVR2")) return 0; if (strcmp (raw_part->name, "swap") != 0) return 0; return 1; } static int _rawpart_is_lvm (MacRawPartition* raw_part) { if (strcmp (raw_part->type, "Linux_LVM") != 0) return 0; return 1; } static int _rawpart_is_raid (MacRawPartition* raw_part) { if (strcmp (raw_part->type, "Linux_RAID") != 0) return 0; return 1; } static int _rawpart_is_void (MacRawPartition* raw_part) { return _rawpart_cmp_type (raw_part, "Apple_Void"); } /* returns 1 if the raw_part represents a partition that is "unused space", or * doesn't represent a partition at all. NOTE: some people make Apple_Free * partitions with MacOS, because they can't select another type. So, if the * name is anything other than "Extra" or "", it is treated as a "real" * partition. */ static int _rawpart_is_active (MacRawPartition* raw_part) { if (_rawpart_cmp_type (raw_part, "Apple_Free") && (_rawpart_cmp_name (raw_part, "Extra") || _rawpart_cmp_name (raw_part, ""))) return 0; if (_rawpart_cmp_type (raw_part, "Apple_Void")) return 0; if (_rawpart_cmp_type (raw_part, "Apple_Scratch")) return 0; if (_rawpart_cmp_type (raw_part, "Apple_Extra")) return 0; return 1; } static PedPartition* _rawpart_analyse (MacRawPartition* raw_part, PedDisk* disk, int num) { MacDiskData* mac_disk_data; PedPartition* part; MacPartitionData* mac_part_data; PedSector block_size; PedSector start, length; if (!_rawpart_check_signature (raw_part)) { #ifndef DISCOVER_ONLY if (ped_exception_throw ( PED_EXCEPTION_WARNING, PED_EXCEPTION_IGNORE_CANCEL, _("Partition %d has an invalid signature %x."), num, (int) PED_BE16_TO_CPU (raw_part->signature)) != PED_EXCEPTION_IGNORE) #endif goto error; } mac_disk_data = (MacDiskData*) disk->disk_specific; block_size = disk->dev->sector_size / 512; start = PED_BE32_TO_CPU (raw_part->start_block) * block_size; length = PED_BE32_TO_CPU (raw_part->block_count) * block_size; if (length == 0) { #ifndef DISCOVER_ONLY ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Partition %d has an invalid length of 0 bytes!"), num); #endif return NULL; } part = ped_partition_new (disk, PED_PARTITION_NORMAL, NULL, start, start + length - 1); if (!part) goto error; mac_part_data = part->disk_specific; strncpy (mac_part_data->volume_name, raw_part->name, 32); strncpy (mac_part_data->system_name, raw_part->type, 32); strncpy (mac_part_data->processor_name, raw_part->processor, 16); mac_part_data->is_boot = _rawpart_is_boot (raw_part); mac_part_data->is_driver = _rawpart_is_driver (raw_part); if (mac_part_data->is_driver) mac_part_data->has_driver = _rawpart_has_driver(raw_part, mac_disk_data); mac_part_data->is_root = _rawpart_is_root (raw_part); mac_part_data->is_swap = _rawpart_is_swap (raw_part); mac_part_data->is_lvm = _rawpart_is_lvm (raw_part); mac_part_data->is_raid = _rawpart_is_raid (raw_part); /* "data" region */ #ifndef DISCOVER_ONLY if (raw_part->data_start) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("The data region doesn't start at the start " "of the partition.")); goto error_destroy_part; } #endif /* !DISCOVER_ONLY */ mac_part_data->data_region_length = PED_BE32_TO_CPU (raw_part->data_count) * block_size; /* boot region - we have no idea what this is for, but Mac OSX * seems to put garbage here, and doesn't pay any attention to * it afterwards. [clausen, dan burcaw] */ #if 0 if (raw_part->boot_start) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("The boot region doesn't start at the start " "of the partition.")); goto error_destroy_part; } #endif mac_part_data->boot_region_length = PED_BE32_TO_CPU (raw_part->boot_count) * block_size; #ifndef DISCOVER_ONLY if (mac_part_data->has_driver) { if (mac_part_data->boot_region_length < part->geom.length) { if (ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_IGNORE_CANCEL, _("The partition's boot region doesn't occupy " "the entire partition.")) != PED_EXCEPTION_IGNORE) goto error_destroy_part; } } else { if (mac_part_data->data_region_length < part->geom.length && !mac_part_data->is_boot) { if (ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_IGNORE_CANCEL, _("The partition's data region doesn't occupy " "the entire partition.")) != PED_EXCEPTION_IGNORE) goto error_destroy_part; } } #endif /* !DISCOVER_ONLY */ mac_part_data->boot_base_address = PED_BE32_TO_CPU (raw_part->boot_load); mac_part_data->boot_entry_address = PED_BE32_TO_CPU (raw_part->boot_entry); mac_part_data->boot_checksum = PED_BE32_TO_CPU (raw_part->boot_cksum); mac_part_data->status = PED_BE32_TO_CPU (raw_part->status); mac_part_data->driver_sig = PED_BE32_TO_CPU (raw_part->driver_sig); return part; error_destroy_part: ped_partition_destroy (part); error: return NULL; } /* looks at the partition map size field in a mac raw partition, and calculates * what the size of the partition map should be, from it */ static int _rawpart_get_partmap_size (MacRawPartition* raw_part, PedDisk* disk) { MacDiskData* mac_disk_data = disk->disk_specific; PedSector sector_size = disk->dev->sector_size / 512; PedSector part_map_start; PedSector part_map_end; part_map_start = mac_disk_data->ghost_size; part_map_end = sector_size * PED_BE32_TO_CPU (raw_part->map_count); return part_map_end - part_map_start + 1; } static int _disk_analyse_block_size (PedDisk* disk, MacRawDisk* raw_disk) { PedSector block_size; if (PED_BE16_TO_CPU (raw_disk->block_size) % 512) { #ifndef DISCOVER_ONLY ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Weird block size on device descriptor: %d bytes is " "not divisible by 512."), (int) PED_BE16_TO_CPU (raw_disk->block_size)); #endif goto error; } block_size = PED_BE16_TO_CPU (raw_disk->block_size) / 512; if (block_size != disk->dev->sector_size / 512) { #ifndef DISCOVER_ONLY if (ped_exception_throw ( PED_EXCEPTION_WARNING, PED_EXCEPTION_IGNORE_CANCEL, _("The driver descriptor says the physical block size " "is %d bytes, but Linux says it is %d bytes."), (int) block_size * 512, (int) disk->dev->sector_size) != PED_EXCEPTION_IGNORE) goto error; #endif disk->dev->sector_size = block_size * 512; } return 1; error: return 0; } /* Tries to figure out the block size used by the drivers, for the ghost * partitioning scheme. Ghost partitioning works like this: the OpenFirmware * (OF) sees 512 byte blocks, but some drivers use 2048 byte blocks (and, * perhaps, some other number?). To remain compatible, the partition map * only has "real" partition map entries on ghost-aligned block numbers (and * the others are padded with Apple_Void partitions). This function tries * to figure out what the "ghost-aligned" size is... (which, believe-it-or-not, * doesn't always equal 2048!!!) */ static int _disk_analyse_ghost_size (PedDisk* disk) { MacDiskData* mac_disk_data = disk->disk_specific; void *buf = ped_malloc (disk->dev->sector_size); if (!buf) return 0; int i; int found = 0; for (i = 1; i < 64; i *= 2) { if (!ped_device_read (disk->dev, buf, i, 1)) break; if (_rawpart_check_signature (buf) && !_rawpart_is_void (buf)) { mac_disk_data->ghost_size = i; PED_ASSERT (i <= disk->dev->sector_size / 512, break); found = 1; break; } } free (buf); #ifndef DISCOVER_ONLY if (!found) ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("No valid partition map found.")); #endif return found; } static int mac_read (PedDisk* disk) { MacDiskData* mac_disk_data; PedPartition* part; int num; PedSector ghost_size; PedConstraint* constraint_exact; int last_part_entry_num = 0; PED_ASSERT (disk != NULL, return 0); mac_disk_data = disk->disk_specific; mac_disk_data->part_map_entry_num = 0; /* 0 == none */ void *buf; if (!ptt_read_sector (disk->dev, 0, &buf)) return 0; MacRawDisk *raw_disk = (MacRawDisk *) buf; if (!_check_signature (raw_disk)) goto error; if (!_disk_analyse_block_size (disk, raw_disk)) goto error; if (!_disk_analyse_ghost_size (disk)) goto error; ghost_size = mac_disk_data->ghost_size; if (!ped_disk_delete_all (disk)) goto error; if (raw_disk->driver_count && raw_disk->driver_count < 62) { memcpy(&mac_disk_data->driverlist[0], &raw_disk->driverlist[0], sizeof(mac_disk_data->driverlist)); mac_disk_data->driver_count = raw_disk->driver_count; mac_disk_data->block_size = raw_disk->block_size; } for (num=1; num==1 || num <= last_part_entry_num; num++) { void *raw_part = buf; if (!ped_device_read (disk->dev, raw_part, num * ghost_size, 1)) goto error_delete_all; if (!_rawpart_check_signature (raw_part)) continue; if (num == 1) last_part_entry_num = _rawpart_get_partmap_size (raw_part, disk); if (_rawpart_get_partmap_size (raw_part, disk) != last_part_entry_num) { if (ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_IGNORE_CANCEL, _("Conflicting partition map entry sizes! " "Entry 1 says it is %d, but entry %d says " "it is %d!"), last_part_entry_num, _rawpart_get_partmap_size (raw_part, disk)) != PED_EXCEPTION_IGNORE) goto error_delete_all; } if (!_rawpart_is_active (raw_part)) continue; part = _rawpart_analyse (raw_part, disk, num); if (!part) goto error_delete_all; part->num = num; part->fs_type = ped_file_system_probe (&part->geom); constraint_exact = ped_constraint_exact (&part->geom); if (!ped_disk_add_partition (disk, part, constraint_exact)) goto error_delete_all; ped_constraint_destroy (constraint_exact); if (_rawpart_is_partition_map (raw_part)) { if (mac_disk_data->part_map_entry_num && ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_IGNORE_CANCEL, _("Weird! There are 2 partitions " "map entries!")) != PED_EXCEPTION_IGNORE) goto error_delete_all; mac_disk_data->part_map_entry_num = num; mac_disk_data->part_map_entry_count = part->geom.end - ghost_size + 1; } } if (!mac_disk_data->part_map_entry_num) { if (!_disk_add_part_map_entry (disk, 1)) goto error_delete_all; ped_disk_commit_to_dev (disk); } free (buf); return 1; error_delete_all: ped_disk_delete_all (disk); error: free (buf); return 0; } #ifndef DISCOVER_ONLY /* The Ghost partition: is a blank entry, used to pad out each block (where * there physical block size > 512 bytes). This is because OpenFirmware uses * 512 byte blocks, but device drivers Think Different TM, with a different * lbock size, so we need to do this to avoid a clash (!) */ static int _pad_raw_part (PedDisk* disk, int num, MacRawPartition* part_map) { MacDiskData* mac_disk_data = disk->disk_specific; int i; size_t ss = disk->dev->sector_size; void *buf = ped_calloc (ss); if (!buf) return 0; MacRawPartition *ghost_entry = buf; ghost_entry->signature = PED_CPU_TO_BE16 (MAC_PARTITION_MAGIC_2); strcpy (ghost_entry->type, "Apple_Void"); ghost_entry->map_count = PED_CPU_TO_BE32 (mac_disk_data->last_part_entry_num); for (i=0; i < mac_disk_data->ghost_size - 1; i++) { PedSector idx = i + (num - 1) * mac_disk_data->ghost_size; memcpy ((char*)part_map + idx * ss, ghost_entry, ss); } free (buf); return 1; } static void _update_driver_count (MacRawPartition* part_map_entry, MacDiskData *mac_driverdata, const MacDiskData* mac_disk_data) { uint16_t i, count_orig, count_cur, bsz; uint32_t driver_bs, driver_be, part_be; bsz = mac_disk_data->block_size / 512; count_cur = mac_driverdata->driver_count; count_orig = mac_disk_data->driver_count; for (i = 0; i < count_orig; i++) { driver_bs = mac_disk_data->driverlist[i].block * bsz; driver_be = driver_bs + mac_disk_data->driverlist[i].size; part_be = part_map_entry->start_block + part_map_entry->block_count; if (driver_bs >= part_map_entry->start_block && driver_be <= part_be) { mac_driverdata->driverlist[count_cur].block = mac_disk_data->driverlist[i].block; mac_driverdata->driverlist[count_cur].size = mac_disk_data->driverlist[i].size; mac_driverdata->driverlist[count_cur].type = mac_disk_data->driverlist[i].type; mac_driverdata->driver_count++; break; } } } static MacRawPartition * get_pme (MacRawPartition const *part_map, PedSector i, PedDisk const *disk) { MacDiskData const *mac_disk_data = disk->disk_specific; PedSector idx = i * mac_disk_data->ghost_size - 1; return (MacRawPartition *) ((char*)part_map + idx * disk->dev->sector_size); } /* Initialize the disk->dev->sector_size bytes of part_map[part->num]. */ static int _generate_raw_part (PedDisk* disk, PedPartition* part, MacRawPartition* part_map, MacDiskData *mac_driverdata) { MacDiskData* mac_disk_data; MacPartitionData* mac_part_data; PedSector block_size = disk->dev->sector_size / 512; PED_ASSERT (part->num > 0, goto error); mac_disk_data = disk->disk_specific; mac_part_data = part->disk_specific; MacRawPartition *part_map_entry = get_pme (part_map, part->num, disk); memset (part_map_entry, 0, disk->dev->sector_size); part_map_entry->signature = PED_CPU_TO_BE16 (MAC_PARTITION_MAGIC_2); part_map_entry->map_count = PED_CPU_TO_BE32 (mac_disk_data->last_part_entry_num); part_map_entry->start_block = PED_CPU_TO_BE32 (part->geom.start / block_size); part_map_entry->block_count = PED_CPU_TO_BE32 (part->geom.length / block_size); strcpy (part_map_entry->name, mac_part_data->volume_name); strcpy (part_map_entry->type, mac_part_data->system_name); if (mac_part_data->is_driver) { mac_part_data->boot_region_length = part->geom.length; if (mac_part_data->has_driver) _update_driver_count(part_map_entry, mac_driverdata, mac_disk_data); } else mac_part_data->data_region_length = part->geom.length; part_map_entry->data_count = PED_CPU_TO_BE32 ( mac_part_data->data_region_length / block_size); part_map_entry->boot_count = PED_CPU_TO_BE32 ( mac_part_data->boot_region_length / block_size); part_map_entry->status = PED_CPU_TO_BE32 (mac_part_data->status); part_map_entry->driver_sig = PED_CPU_TO_BE32 (mac_part_data->driver_sig); part_map_entry->boot_load = PED_CPU_TO_BE32 (mac_part_data->boot_base_address); part_map_entry->boot_entry = PED_CPU_TO_BE32 (mac_part_data->boot_entry_address); part_map_entry->boot_cksum = PED_CPU_TO_BE32 (mac_part_data->boot_checksum); strncpy (part_map_entry->processor, mac_part_data->processor_name, 16); if (!_pad_raw_part (disk, part->num, part_map)) goto error; return 1; error: return 0; } static int _generate_raw_freespace_part (PedDisk* disk, PedGeometry* geom, int num, MacRawPartition* part_map) { MacDiskData* mac_disk_data = disk->disk_specific; PedSector block_size = disk->dev->sector_size / 512; PED_ASSERT (num > 0, goto error); MacRawPartition *part_map_entry = get_pme (part_map, num, disk); part_map_entry->signature = PED_CPU_TO_BE16 (MAC_PARTITION_MAGIC_2); part_map_entry->map_count = PED_CPU_TO_BE32 (mac_disk_data->last_part_entry_num); part_map_entry->start_block = PED_CPU_TO_BE32 (geom->start / block_size); part_map_entry->block_count = PED_CPU_TO_BE32 (geom->length / block_size); strcpy (part_map_entry->name, "Extra"); strcpy (part_map_entry->type, "Apple_Free"); part_map_entry->data_count = PED_CPU_TO_BE32 (geom->length); part_map_entry->status = 0; part_map_entry->driver_sig = 0; if (!_pad_raw_part (disk, num, part_map)) goto error; return 1; error: return 0; } static int _generate_empty_part (PedDisk* disk, int num, MacRawPartition* part_map) { MacDiskData* mac_disk_data = disk->disk_specific; PED_ASSERT (num > 0, return 0); MacRawPartition *part_map_entry = get_pme (part_map, num, disk); part_map_entry->signature = PED_CPU_TO_BE16 (MAC_PARTITION_MAGIC_2); part_map_entry->map_count = PED_CPU_TO_BE32 (mac_disk_data->last_part_entry_num); strcpy (part_map_entry->type, "Apple_Void"); return _pad_raw_part (disk, num, part_map); } /* returns the first empty entry in the partition map */ static int _get_first_empty_part_entry (PedDisk* disk, MacRawPartition* part_map) { MacDiskData* mac_disk_data = disk->disk_specific; int i; for (i=1; i <= mac_disk_data->last_part_entry_num; i++) { MacRawPartition *part_map_entry = get_pme (part_map, i, disk); if (!part_map_entry->signature) return i; } return 0; } static int write_block_zero (PedDisk* disk, MacDiskData* mac_driverdata) { PedDevice* dev = disk->dev; void *s0; if (!ptt_read_sector (dev, 0, &s0)) return 0; MacRawDisk *raw_disk = (MacRawDisk *) s0; raw_disk->signature = PED_CPU_TO_BE16 (MAC_DISK_MAGIC); raw_disk->block_size = PED_CPU_TO_BE16 (dev->sector_size); raw_disk->block_count = PED_CPU_TO_BE32 (dev->length / (dev->sector_size / 512)); raw_disk->driver_count = mac_driverdata->driver_count; memcpy(&raw_disk->driverlist[0], &mac_driverdata->driverlist[0], sizeof(raw_disk->driverlist)); int write_ok = ped_device_write (dev, raw_disk, 0, 1); free (s0); return write_ok; } static int mac_write (PedDisk* disk) { MacRawPartition* part_map; MacDiskData* mac_disk_data; MacDiskData* mac_driverdata; /* updated driver list */ PedPartition* part; int num; PED_ASSERT (disk != NULL, return 0); PED_ASSERT (disk->disk_specific != NULL, return 0); PED_ASSERT (disk->dev != NULL, return 0); PED_ASSERT (!disk->update_mode, return 0); mac_disk_data = disk->disk_specific; if (!ped_disk_get_partition (disk, mac_disk_data->part_map_entry_num)) { if (!_disk_add_part_map_entry (disk, 1)) goto error; } mac_driverdata = ped_malloc(sizeof(MacDiskData)); if (!mac_driverdata) goto error; memset (mac_driverdata, 0, sizeof(MacDiskData)); size_t pmap_bytes = (mac_disk_data->part_map_entry_count * mac_disk_data->ghost_size * disk->dev->sector_size); part_map = (MacRawPartition*) ped_calloc (pmap_bytes); if (!part_map) goto error_free_driverdata; /* write (to memory) the "real" partitions */ for (part = ped_disk_next_partition (disk, NULL); part; part = ped_disk_next_partition (disk, part)) { if (!ped_partition_is_active (part)) continue; if (!_generate_raw_part (disk, part, part_map, mac_driverdata)) goto error_free_part_map; } /* write the "free space" partitions */ for (part = ped_disk_next_partition (disk, NULL); part; part = ped_disk_next_partition (disk, part)) { if (part->type != PED_PARTITION_FREESPACE) continue; num = _get_first_empty_part_entry (disk, part_map); if (!_generate_raw_freespace_part (disk, &part->geom, num, part_map)) goto error_free_part_map; } /* write the "void" (empty) partitions */ for (num = _get_first_empty_part_entry (disk, part_map); num; num = _get_first_empty_part_entry (disk, part_map)) _generate_empty_part (disk, num, part_map); /* write to disk */ if (!ped_device_write (disk->dev, part_map, 1, mac_disk_data->part_map_entry_count)) goto error_free_part_map; free (part_map); int write_ok = write_block_zero (disk, mac_driverdata); free (mac_driverdata); return write_ok; error_free_part_map: free (part_map); error_free_driverdata: free (mac_driverdata); error: return 0; } #endif /* !DISCOVER_ONLY */ static PedPartition* mac_partition_new ( const PedDisk* disk, PedPartitionType part_type, const PedFileSystemType* fs_type, PedSector start, PedSector end) { PedPartition* part; MacPartitionData* mac_data; part = _ped_partition_alloc (disk, part_type, fs_type, start, end); if (!part) goto error; if (ped_partition_is_active (part)) { part->disk_specific = mac_data = ped_malloc (sizeof (MacPartitionData)); if (!mac_data) goto error_free_part; memset (mac_data, 0, sizeof (MacPartitionData)); strcpy (mac_data->volume_name, "untitled"); } else { part->disk_specific = NULL; } return part; error_free_part: free (part); error: return NULL; } static PedPartition* mac_partition_duplicate (const PedPartition* part) { PedPartition* new_part; MacPartitionData* new_mac_data; MacPartitionData* old_mac_data; new_part = ped_partition_new (part->disk, part->type, part->fs_type, part->geom.start, part->geom.end); if (!new_part) return NULL; new_part->num = part->num; old_mac_data = (MacPartitionData*) part->disk_specific; new_mac_data = (MacPartitionData*) new_part->disk_specific; /* ugly, but C is ugly :p */ memcpy (new_mac_data, old_mac_data, sizeof (MacPartitionData)); return new_part; } static void mac_partition_destroy (PedPartition* part) { PED_ASSERT (part != NULL, return); if (ped_partition_is_active (part)) free (part->disk_specific); free (part); } static int mac_partition_set_system (PedPartition* part, const PedFileSystemType* fs_type) { MacPartitionData* mac_data = part->disk_specific; part->fs_type = fs_type; if (fs_type && is_linux_swap (fs_type->name)) ped_partition_set_flag (part, PED_PARTITION_SWAP, 1); if (mac_data->is_boot) { strcpy (mac_data->system_name, "Apple_Bootstrap"); mac_data->status = 0x33; return 1; } if (fs_type && (!strcmp (fs_type->name, "hfs") || !strcmp (fs_type->name, "hfs+"))) { strcpy (mac_data->system_name, "Apple_HFS"); mac_data->status |= 0x7f; } else if (fs_type && !strcmp (fs_type->name, "hfsx")) { strcpy (mac_data->system_name, "Apple_HFSX"); mac_data->status |= 0x7f; } else { strcpy (mac_data->system_name, "Apple_UNIX_SVR2"); mac_data->status = 0x33; } return 1; } static int mac_partition_set_flag (PedPartition* part, PedPartitionFlag flag, int state) { MacPartitionData* mac_data; PED_ASSERT (part != NULL, return 0); PED_ASSERT (part->disk_specific != NULL, return 0); mac_data = part->disk_specific; switch (flag) { case PED_PARTITION_BOOT: mac_data->is_boot = state; if (part->fs_type) return mac_partition_set_system (part, part->fs_type); if (state) { strcpy (mac_data->system_name, "Apple_Bootstrap"); mac_data->status = 0x33; } return 1; case PED_PARTITION_ROOT: if (state) { strcpy (mac_data->volume_name, "root"); mac_data->is_swap = 0; } else { if (mac_data->is_root) strcpy (mac_data->volume_name, "untitled"); } mac_data->is_root = state; return 1; case PED_PARTITION_SWAP: if (state) { strcpy (mac_data->volume_name, "swap"); mac_data->is_root = 0; } else { if (mac_data->is_swap) strcpy (mac_data->volume_name, "untitled"); } mac_data->is_swap = state; return 1; case PED_PARTITION_LVM: if (state) { strcpy (mac_data->system_name, "Linux_LVM"); mac_data->is_lvm = state; } else { if (mac_data->is_lvm) mac_partition_set_system (part, part->fs_type); } return 1; case PED_PARTITION_RAID: if (state) { strcpy (mac_data->system_name, "Linux_RAID"); mac_data->is_raid = state; } else { if (mac_data->is_raid) mac_partition_set_system (part, part->fs_type); } return 1; default: return 0; } } static int mac_partition_get_flag (const PedPartition* part, PedPartitionFlag flag) { MacPartitionData* mac_data; PED_ASSERT (part != NULL, return 0); PED_ASSERT (part->disk_specific != NULL, return 0); mac_data = part->disk_specific; switch (flag) { case PED_PARTITION_BOOT: return mac_data->is_boot; case PED_PARTITION_ROOT: return mac_data->is_root; case PED_PARTITION_SWAP: return mac_data->is_swap; case PED_PARTITION_LVM: return mac_data->is_lvm; case PED_PARTITION_RAID: return mac_data->is_raid; default: return 0; } } static int mac_partition_is_flag_available ( const PedPartition* part, PedPartitionFlag flag) { switch (flag) { case PED_PARTITION_BOOT: case PED_PARTITION_ROOT: case PED_PARTITION_SWAP: case PED_PARTITION_LVM: case PED_PARTITION_RAID: return 1; default: return 0; } } static void mac_partition_set_name (PedPartition* part, const char* name) { MacPartitionData* mac_data; int i; PED_ASSERT (part != NULL, return); PED_ASSERT (part->disk_specific != NULL, return); mac_data = part->disk_specific; #ifndef DISCOVER_ONLY if (mac_data->is_root || mac_data->is_swap) { if (ped_exception_throw ( PED_EXCEPTION_WARNING, PED_EXCEPTION_IGNORE_CANCEL, _("Changing the name of a root or swap partition " "will prevent Linux from recognising it as such.")) != PED_EXCEPTION_IGNORE) return; mac_data->is_root = mac_data->is_swap = 0; } #endif strncpy (mac_data->volume_name, name, 32); mac_data->volume_name [32] = 0; for (i = strlen (mac_data->volume_name) - 1; mac_data->volume_name[i] == ' '; i--) mac_data->volume_name [i] = 0; } static const char* mac_partition_get_name (const PedPartition* part) { MacPartitionData* mac_data; PED_ASSERT (part != NULL, return NULL); PED_ASSERT (part->disk_specific != NULL, return NULL); mac_data = part->disk_specific; return mac_data->volume_name; } static PedAlignment* mac_get_partition_alignment(const PedDisk *disk) { PedSector sector_size = disk->dev->sector_size / 512; return ped_alignment_new(0, sector_size); } static PedConstraint* _primary_constraint (PedDisk* disk) { PedAlignment start_align; PedAlignment end_align; PedGeometry max_geom; PedSector sector_size; sector_size = disk->dev->sector_size / 512; if (!ped_alignment_init (&start_align, 0, sector_size)) return NULL; if (!ped_alignment_init (&end_align, -1, sector_size)) return NULL; if (!ped_geometry_init (&max_geom, disk->dev, 1, disk->dev->length - 1)) return NULL; return ped_constraint_new (&start_align, &end_align, &max_geom, &max_geom, 1, disk->dev->length); } static int mac_partition_align (PedPartition* part, const PedConstraint* constraint) { PED_ASSERT (part != NULL, return 0); if (_ped_partition_attempt_align (part, constraint, _primary_constraint (part->disk))) return 1; #ifndef DISCOVER_ONLY ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Unable to satisfy all constraints on the partition.")); #endif return 0; } static int mac_partition_enumerate (PedPartition* part) { PedDisk* disk; MacDiskData* mac_disk_data; int i; int max_part_count; PED_ASSERT (part != NULL, return 0); PED_ASSERT (part->disk != NULL, return 0); disk = part->disk; mac_disk_data = (MacDiskData*) disk->disk_specific; max_part_count = ped_disk_get_max_primary_partition_count (disk); if (part->num > 0 && part->num <= mac_disk_data->part_map_entry_count) return 1; for (i = 1; i <= max_part_count; i++) { if (!ped_disk_get_partition (disk, i)) { part->num = i; return 1; } } #ifndef DISCOVER_ONLY ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Can't add another partition -- the partition map is too " "small!")); #endif return 0; } static int _disk_count_partitions (PedDisk* disk) { MacDiskData* mac_disk_data = disk->disk_specific; PedPartition* part = NULL; PedPartition* last = NULL; PED_ASSERT (disk->update_mode, return 0); mac_disk_data->active_part_entry_count = 0; mac_disk_data->free_part_entry_count = 0; mac_disk_data->last_part_entry_num = 0; /* subtle: we only care about free space after the partition map. * the partition map is an "active" partition, BTW... */ for (part = ped_disk_next_partition (disk, part); part; part = ped_disk_next_partition (disk, part)) { if (!ped_partition_is_active (part)) continue; mac_disk_data->active_part_entry_count++; if (last && last->geom.end + 1 < part->geom.start) mac_disk_data->free_part_entry_count++; mac_disk_data->last_part_entry_num = PED_MAX (mac_disk_data->last_part_entry_num, part->num); last = part; } if (last && last->geom.end < disk->dev->length - 1) mac_disk_data->free_part_entry_count++; mac_disk_data->last_part_entry_num = PED_MAX (mac_disk_data->last_part_entry_num, mac_disk_data->active_part_entry_count + mac_disk_data->free_part_entry_count); return 1; } static int add_metadata_part (PedDisk* disk, PedSector start, PedSector end) { PedPartition* new_part; PedConstraint* constraint_any = ped_constraint_any (disk->dev); PED_ASSERT (disk != NULL, return 0); new_part = ped_partition_new (disk, PED_PARTITION_METADATA, NULL, start, end); if (!new_part) goto error; if (!ped_disk_add_partition (disk, new_part, constraint_any)) goto error_destroy_new_part; ped_constraint_destroy (constraint_any); return 1; error_destroy_new_part: ped_partition_destroy (new_part); error: ped_constraint_destroy (constraint_any); return 0; } static int mac_alloc_metadata (PedDisk* disk) { PED_ASSERT (disk != NULL, return 0); PED_ASSERT (disk->disk_specific != NULL, return 0); PED_ASSERT (disk->dev != NULL, return 0); if (!add_metadata_part (disk, 0, disk->dev->sector_size / 512 - 1)) return 0; /* hack: this seems to be a good place, to update the partition map * entry count, since mac_alloc_metadata() gets called during * _disk_pop_update_mode() */ return _disk_count_partitions (disk); } static int mac_get_max_primary_partition_count (const PedDisk* disk) { MacDiskData* mac_disk_data = disk->disk_specific; PedPartition* part_map_partition; part_map_partition = ped_disk_get_partition (disk, mac_disk_data->part_map_entry_num); /* HACK: if we haven't found the partition map partition (yet), * we return this. */ if (!part_map_partition) { mac_disk_data->part_map_entry_num = 0; return 65536; } /* HACK: since Mac labels need an entry for free-space regions, we * must allow half plus 1 entries for free-space partitions. I hate * this, but things get REALLY complicated, otherwise. * (I'm prepared to complicate things later, but I want to get * everything working, first) */ return mac_disk_data->part_map_entry_count / mac_disk_data->ghost_size - mac_disk_data->free_part_entry_count + 1; } static bool mac_get_max_supported_partition_count (const PedDisk* disk, int *max_n) { *max_n = 65536; return true; } #include "pt-common.h" PT_define_limit_functions (mac) static PedDiskOps mac_disk_ops = { clobber: NULL, /* FIXME: remove this cast, once mac_write is fixed not to modify its *DISK parameter. */ write: NULL_IF_DISCOVER_ONLY ((int (*) (const PedDisk*)) mac_write), partition_set_name: mac_partition_set_name, partition_get_name: mac_partition_get_name, get_partition_alignment: mac_get_partition_alignment, PT_op_function_initializers (mac) }; static PedDiskType mac_disk_type = { next: NULL, name: "mac", ops: &mac_disk_ops, features: PED_DISK_TYPE_PARTITION_NAME }; void ped_disk_mac_init () { PED_ASSERT (sizeof (MacRawPartition) == 512, return); PED_ASSERT (sizeof (MacRawDisk) == 512, return); ped_disk_type_register (&mac_disk_type); } void ped_disk_mac_done () { ped_disk_type_unregister (&mac_disk_type); } parted-2.3/libparted/architecture.c0000644000000000000000000000242111333731662014324 00000000000000 /* libparted - a library for manipulating disk partitions Copyright (C) 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "architecture.h" const PedArchitecture* ped_architecture; void ped_set_architecture () { /* Set just once */ if (ped_architecture) return; #ifdef linux extern PedArchitecture ped_linux_arch; const PedArchitecture* arch = &ped_linux_arch; #elif defined(__BEOS__) extern PedArchitecture ped_beos_arch; const PedArchitecture* arch = &ped_beos_arch; #else extern PedArchitecture ped_gnu_arch; const PedArchitecture* arch = &ped_gnu_arch; #endif ped_architecture = arch; } parted-2.3/libparted/fs/0000755000000000000000000000000011400006132012145 500000000000000parted-2.3/libparted/fs/xfs/0000755000000000000000000000000011400006132012745 500000000000000parted-2.3/libparted/fs/xfs/xfs.c0000644000000000000000000000530311370314006013642 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 2001, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ #include #include "platform_defs.h" #include "xfs_types.h" #include "xfs_sb.h" #define XFS_BLOCK_SIZES ((int[2]){512, 0}) static PedGeometry* xfs_probe (PedGeometry* geom) { PedSector block_size; PedSector block_count; union { struct xfs_sb sb; char bytes [512]; } buf; if (geom->length < XFS_SB_DADDR + 1) return NULL; if (!ped_geometry_read (geom, &buf, XFS_SB_DADDR, 1)) return NULL; if (PED_LE32_TO_CPU (buf.sb.sb_magicnum) == XFS_SB_MAGIC) { block_size = PED_LE32_TO_CPU (buf.sb.sb_blocksize) / 512; block_count = PED_LE64_TO_CPU (buf.sb.sb_dblocks); return ped_geometry_new (geom->dev, geom->start, block_size * block_count); } if (PED_BE32_TO_CPU (buf.sb.sb_magicnum) == XFS_SB_MAGIC) { block_size = PED_BE32_TO_CPU (buf.sb.sb_blocksize) / 512; block_count = PED_BE64_TO_CPU (buf.sb.sb_dblocks); return ped_geometry_new (geom->dev, geom->start, block_size * block_count); } return NULL; } #ifndef DISCOVER_ONLY static int xfs_clobber (PedGeometry* geom) { char buf[512]; memset (buf, 0, 512); return ped_geometry_write (geom, buf, XFS_SB_DADDR, 1); } #endif /* !DISCOVER_ONLY */ static PedFileSystemOps xfs_ops = { probe: xfs_probe, #ifndef DISCOVER_ONLY clobber: xfs_clobber, #else clobber: NULL, #endif open: NULL, create: NULL, close: NULL, check: NULL, copy: NULL, resize: NULL, get_create_constraint: NULL, get_resize_constraint: NULL, get_copy_constraint: NULL }; static PedFileSystemType xfs_type = { next: NULL, ops: &xfs_ops, name: "xfs", block_sizes: XFS_BLOCK_SIZES }; void ped_file_system_xfs_init () { ped_file_system_type_register (&xfs_type); } void ped_file_system_xfs_done () { ped_file_system_type_unregister (&xfs_type); } parted-2.3/libparted/fs/xfs/Makefile.am0000644000000000000000000000033211035473300014730 00000000000000partedincludedir = -I$(top_srcdir)/include noinst_LTLIBRARIES = libxfs.la libxfs_la_SOURCES = xfs.c xfs_sb.h xfs_types.h platform_defs.h INCLUDES = $(partedincludedir) $(INTLINCS) MAINTAINERCLEANFILES = Makefile.in parted-2.3/libparted/fs/xfs/xfs_types.h0000644000000000000000000002430511324137521015102 00000000000000/* * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms of version 3 of the GNU General Public License as * published by the Free Software Foundation. * * This program is distributed in the hope that it would be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * * Further, this software is distributed without any warranty that it is * free of the rightful claim of any third person regarding infringement * or the like. Any license provided herein, whether implied or * otherwise, applies only to this software file. Patent licenses, if * any, provided herein do not apply to combinations of this program with * other software, or any other product whatsoever. * * You should have received a copy of the GNU General Public License along * with this program. If not, see . * * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy, * Mountain View, CA 94043, or: * * http://www.sgi.com * * For further information regarding this notice, see: * * http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/ */ #ifndef __XFS_TYPES_H__ #define __XFS_TYPES_H__ /* * Some types are conditional based on the selected configuration. * Set XFS_BIG_FILES=1 or 0 and XFS_BIG_FILESYSTEMS=1 or 0 depending * on the desired configuration. * XFS_BIG_FILES needs pgno_t to be 64 bits (64-bit kernels). * XFS_BIG_FILESYSTEMS needs daddr_t to be 64 bits (N32 and 64-bit kernels). * * Expect these to be set from klocaldefs, or from the machine-type * defs files for the normal case. */ #define XFS_BIG_FILES 1 #define XFS_BIG_FILESYSTEMS 1 typedef uint32_t xfs_agblock_t; /* blockno in alloc. group */ typedef uint32_t xfs_extlen_t; /* extent length in blocks */ typedef uint32_t xfs_agnumber_t; /* allocation group number */ typedef int32_t xfs_extnum_t; /* # of extents in a file */ typedef int16_t xfs_aextnum_t; /* # extents in an attribute fork */ typedef int64_t xfs_fsize_t; /* bytes in a file */ typedef uint64_t xfs_ufsize_t; /* unsigned bytes in a file */ typedef int32_t xfs_suminfo_t; /* type of bitmap summary info */ typedef int32_t xfs_rtword_t; /* word type for bitmap manipulations */ typedef int64_t xfs_lsn_t; /* log sequence number */ typedef int32_t xfs_tid_t; /* transaction identifier */ typedef uint32_t xfs_dablk_t; /* dir/attr block number (in file) */ typedef uint32_t xfs_dahash_t; /* dir/attr hash value */ typedef uint16_t xfs_prid_t; /* prid_t truncated to 16bits in XFS */ /* * These types are 64 bits on disk but are either 32 or 64 bits in memory. * Disk based types: */ typedef uint64_t xfs_dfsbno_t; /* blockno in filesystem (agno|agbno) */ typedef uint64_t xfs_drfsbno_t; /* blockno in filesystem (raw) */ typedef uint64_t xfs_drtbno_t; /* extent (block) in realtime area */ typedef uint64_t xfs_dfiloff_t; /* block number in a file */ typedef uint64_t xfs_dfilblks_t; /* number of blocks in a file */ /* * Memory based types are conditional. */ #if XFS_BIG_FILESYSTEMS typedef uint64_t xfs_fsblock_t; /* blockno in filesystem (agno|agbno) */ typedef uint64_t xfs_rfsblock_t; /* blockno in filesystem (raw) */ typedef uint64_t xfs_rtblock_t; /* extent (block) in realtime area */ typedef int64_t xfs_srtblock_t; /* signed version of xfs_rtblock_t */ #else typedef uint32_t xfs_fsblock_t; /* blockno in filesystem (agno|agbno) */ typedef uint32_t xfs_rfsblock_t; /* blockno in filesystem (raw) */ typedef uint32_t xfs_rtblock_t; /* extent (block) in realtime area */ typedef int32_t xfs_srtblock_t; /* signed version of xfs_rtblock_t */ #endif #if XFS_BIG_FILES typedef uint64_t xfs_fileoff_t; /* block number in a file */ typedef int64_t xfs_sfiloff_t; /* signed block number in a file */ typedef uint64_t xfs_filblks_t; /* number of blocks in a file */ #else typedef uint32_t xfs_fileoff_t; /* block number in a file */ typedef int32_t xfs_sfiloff_t; /* signed block number in a file */ typedef uint32_t xfs_filblks_t; /* number of blocks in a file */ #endif typedef uint8_t xfs_arch_t; /* architecutre of an xfs fs */ /* * Null values for the types. */ #define NULLDFSBNO ((xfs_dfsbno_t)-1) #define NULLDRFSBNO ((xfs_drfsbno_t)-1) #define NULLDRTBNO ((xfs_drtbno_t)-1) #define NULLDFILOFF ((xfs_dfiloff_t)-1) #define NULLFSBLOCK ((xfs_fsblock_t)-1) #define NULLRFSBLOCK ((xfs_rfsblock_t)-1) #define NULLRTBLOCK ((xfs_rtblock_t)-1) #define NULLFILEOFF ((xfs_fileoff_t)-1) #define NULLAGBLOCK ((xfs_agblock_t)-1) #define NULLAGNUMBER ((xfs_agnumber_t)-1) #define NULLEXTNUM ((xfs_extnum_t)-1) #define NULLCOMMITLSN ((xfs_lsn_t)-1) /* * Max values for extlen, extnum, aextnum. */ #define MAXEXTLEN ((xfs_extlen_t)0x001fffff) /* 21 bits */ #define MAXEXTNUM ((xfs_extnum_t)0x7fffffff) /* signed int */ #define MAXAEXTNUM ((xfs_aextnum_t)0x7fff) /* signed short */ /* * MAXNAMELEN is the length (including the terminating null) of * the longest permissible file (component) name. */ #define MAXNAMELEN 256 typedef enum { XFS_LOOKUP_EQi, XFS_LOOKUP_LEi, XFS_LOOKUP_GEi } xfs_lookup_t; typedef enum { XFS_BTNUM_BNOi, XFS_BTNUM_CNTi, XFS_BTNUM_BMAPi, XFS_BTNUM_INOi, XFS_BTNUM_MAX } xfs_btnum_t; #ifdef CONFIG_PROC_FS /* * XFS global statistics */ struct xfsstats { # define XFSSTAT_END_EXTENT_ALLOC 4 uint32_t xs_allocx; uint32_t xs_allocb; uint32_t xs_freex; uint32_t xs_freeb; # define XFSSTAT_END_ALLOC_BTREE (XFSSTAT_END_EXTENT_ALLOC+4) uint32_t xs_abt_lookup; uint32_t xs_abt_compare; uint32_t xs_abt_insrec; uint32_t xs_abt_delrec; # define XFSSTAT_END_BLOCK_MAPPING (XFSSTAT_END_ALLOC_BTREE+7) uint32_t xs_blk_mapr; uint32_t xs_blk_mapw; uint32_t xs_blk_unmap; uint32_t xs_add_exlist; uint32_t xs_del_exlist; uint32_t xs_look_exlist; uint32_t xs_cmp_exlist; # define XFSSTAT_END_BLOCK_MAP_BTREE (XFSSTAT_END_BLOCK_MAPPING+4) uint32_t xs_bmbt_lookup; uint32_t xs_bmbt_compare; uint32_t xs_bmbt_insrec; uint32_t xs_bmbt_delrec; # define XFSSTAT_END_DIRECTORY_OPS (XFSSTAT_END_BLOCK_MAP_BTREE+4) uint32_t xs_dir_lookup; uint32_t xs_dir_create; uint32_t xs_dir_remove; uint32_t xs_dir_getdents; # define XFSSTAT_END_TRANSACTIONS (XFSSTAT_END_DIRECTORY_OPS+3) uint32_t xs_trans_sync; uint32_t xs_trans_async; uint32_t xs_trans_empty; # define XFSSTAT_END_INODE_OPS (XFSSTAT_END_TRANSACTIONS+7) uint32_t xs_ig_attempts; uint32_t xs_ig_found; uint32_t xs_ig_frecycle; uint32_t xs_ig_missed; uint32_t xs_ig_dup; uint32_t xs_ig_reclaims; uint32_t xs_ig_attrchg; # define XFSSTAT_END_LOG_OPS (XFSSTAT_END_INODE_OPS+5) uint32_t xs_log_writes; uint32_t xs_log_blocks; uint32_t xs_log_noiclogs; uint32_t xs_log_force; uint32_t xs_log_force_sleep; # define XFSSTAT_END_TAIL_PUSHING (XFSSTAT_END_LOG_OPS+10) uint32_t xs_try_logspace; uint32_t xs_sleep_logspace; uint32_t xs_push_ail; uint32_t xs_push_ail_success; uint32_t xs_push_ail_pushbuf; uint32_t xs_push_ail_pinned; uint32_t xs_push_ail_locked; uint32_t xs_push_ail_flushing; uint32_t xs_push_ail_restarts; uint32_t xs_push_ail_flush; # define XFSSTAT_END_WRITE_CONVERT (XFSSTAT_END_TAIL_PUSHING+2) uint32_t xs_xstrat_quick; uint32_t xs_xstrat_split; # define XFSSTAT_END_READ_WRITE_OPS (XFSSTAT_END_WRITE_CONVERT+2) uint32_t xs_write_calls; uint32_t xs_read_calls; # define XFSSTAT_END_ATTRIBUTE_OPS (XFSSTAT_END_READ_WRITE_OPS+4) uint32_t xs_attr_get; uint32_t xs_attr_set; uint32_t xs_attr_remove; uint32_t xs_attr_list; # define XFSSTAT_END_QUOTA_OPS (XFSSTAT_END_ATTRIBUTE_OPS+8) uint32_t xs_qm_dqreclaims; uint32_t xs_qm_dqreclaim_misses; uint32_t xs_qm_dquot_dups; uint32_t xs_qm_dqcachemisses; uint32_t xs_qm_dqcachehits; uint32_t xs_qm_dqwants; uint32_t xs_qm_dqshake_reclaims; uint32_t xs_qm_dqinact_reclaims; # define XFSSTAT_END_INODE_CLUSTER (XFSSTAT_END_QUOTA_OPS+3) uint32_t xs_iflush_count; uint32_t xs_icluster_flushcnt; uint32_t xs_icluster_flushinode; # define XFSSTAT_END_VNODE_OPS (XFSSTAT_END_INODE_CLUSTER+8) uint32_t vn_active; /* # vnodes not on free lists */ uint32_t vn_alloc; /* # times vn_alloc called */ uint32_t vn_get; /* # times vn_get called */ uint32_t vn_hold; /* # times vn_hold called */ uint32_t vn_rele; /* # times vn_rele called */ uint32_t vn_reclaim; /* # times vn_reclaim called */ uint32_t vn_remove; /* # times vn_remove called */ uint32_t vn_free; /* # times vn_free called */ struct xfsstats_xpc { uint64_t xs_xstrat_bytes; uint64_t xs_write_bytes; uint64_t xs_read_bytes; } xpc; } xfsstats; # define XFS_STATS_INC(count) ( xfsstats.##count ++ ) # define XFS_STATS_DEC(count) ( xfsstats.##count -- ) # define XFS_STATS_ADD(count, inc) ( xfsstats.##count += (inc) ) # define XFS_STATS64_INC(count) ( xfsstats.xpc.##count ++ ) # define XFS_STATS64_ADD(count, inc) ( xfsstats.xpc.##count += (inc) ) #else /* !CONFIG_PROC_FS */ # define XFS_STATS_INC(count) # define XFS_STATS_DEC(count) # define XFS_STATS_ADD(count, inc) # define XFS_STATS64_INC(count) # define XFS_STATS64_ADD(count, inc) #endif /* !CONFIG_PROC_FS */ #ifdef __KERNEL__ /* juggle IRIX device numbers - still used in ondisk structures */ #define IRIX_DEV_BITSMAJOR 14 #define IRIX_DEV_BITSMINOR 18 #define IRIX_DEV_MAXMAJ 0x1ff #define IRIX_DEV_MAXMIN 0x3ffff #define IRIX_DEV_MAJOR(dev) ((int)(((unsigned)(dev)>>IRIX_DEV_BITSMINOR) \ & IRIX_DEV_MAXMAJ)) #define IRIX_DEV_MINOR(dev) ((int)((dev)&IRIX_DEV_MAXMIN)) #define IRIX_MKDEV(major,minor) ((xfs_dev_t)(((major)<. * * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy, * Mountain View, CA 94043, or: * * http://www.sgi.com * * For further information regarding this notice, see: * * http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/ * * @configure_input@ */ #ifndef __XFS_PLATFORM_DEFS_H__ #define __XFS_PLATFORM_DEFS_H__ #include #include #include #include #include #include #include #include #include #include #if (__GLIBC__ <= 2) && (__GLIBC_MINOR__ <= 1) # define constpp const char * const * #else # define constpp char * const * #endif typedef loff_t xfs_off_t; typedef uint64_t xfs_ino_t; typedef uint32_t xfs_dev_t; typedef int64_t xfs_daddr_t; typedef char* xfs_caddr_t; /* long and pointer must be either 32 bit or 64 bit */ /* #undef HAVE_64BIT_LONG */ #define HAVE_32BIT_LONG 1 #define HAVE_32BIT_PTR 1 /* #undef HAVE_64BIT_PTR */ /* Check if __psint_t is set to something meaningful */ /* #undef HAVE___PSINT_T */ #ifndef HAVE___PSINT_T # ifdef HAVE_32BIT_PTR typedef int __psint_t; # elif defined HAVE_64BIT_PTR # ifdef HAVE_64BIT_LONG typedef long __psint_t; # else /* This is a very strange architecture, which has 64 bit pointers but * not 64 bit longs. So, I'd just punt here and assume long long is Ok */ typedef long long __psint_t; # endif # else # error Unknown pointer size # endif #endif /* Check if __psunsigned_t is set to something meaningful */ /* #undef HAVE___PSUNSIGNED_T */ #ifndef HAVE___PSUNSIGNED_T # ifdef HAVE_32BIT_PTR typedef unsigned int __psunsigned_t; # elif defined HAVE_64BIT_PTR # ifdef HAVE_64BIT_LONG typedef long __psunsigned_t; # else /* This is a very strange architecture, which has 64 bit pointers but * not 64 bit longs. So, I'd just punt here and assume long long is Ok */ typedef unsigned long long __psunsigned_t; # endif # else # error Unknown pointer size # endif #endif #ifdef DEBUG # define ASSERT assert #else # define ASSERT(EX) ((void) 0) #endif #endif /* __XFS_PLATFORM_DEFS_H__ */ parted-2.3/libparted/fs/xfs/xfs_sb.h0000644000000000000000000004440511324137521014345 00000000000000/* * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms of version 3 of the GNU General Public License as * published by the Free Software Foundation. * * This program is distributed in the hope that it would be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * * Further, this software is distributed without any warranty that it is * free of the rightful claim of any third person regarding infringement * or the like. Any license provided herein, whether implied or * otherwise, applies only to this software file. Patent licenses, if * any, provided herein do not apply to combinations of this program with * other software, or any other product whatsoever. * * You should have received a copy of the GNU General Public License along * with this program. If not, see . * * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy, * Mountain View, CA 94043, or: * * http://www.sgi.com * * For further information regarding this notice, see: * * http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/ */ #ifndef __XFS_SB_H__ #define __XFS_SB_H__ /* * Super block * Fits into a 512-byte buffer at daddr_t 0 of each allocation group. * Only the first of these is ever updated except during growfs. */ struct xfs_buf; struct xfs_mount; #define XFS_SB_MAGIC 0x58465342 /* 'XFSB' */ #define XFS_SB_VERSION_1 1 /* 5.3, 6.0.1, 6.1 */ #define XFS_SB_VERSION_2 2 /* 6.2 - attributes */ #define XFS_SB_VERSION_3 3 /* 6.2 - new inode version */ #define XFS_SB_VERSION_4 4 /* 6.2+ - bitmask version */ #define XFS_SB_VERSION_NUMBITS 0x000f #define XFS_SB_VERSION_ALLFBITS 0xfff0 #define XFS_SB_VERSION_SASHFBITS 0xf000 #define XFS_SB_VERSION_REALFBITS 0x0ff0 #define XFS_SB_VERSION_ATTRBIT 0x0010 #define XFS_SB_VERSION_NLINKBIT 0x0020 #define XFS_SB_VERSION_QUOTABIT 0x0040 #define XFS_SB_VERSION_ALIGNBIT 0x0080 #define XFS_SB_VERSION_DALIGNBIT 0x0100 #define XFS_SB_VERSION_SHAREDBIT 0x0200 #define XFS_SB_VERSION_EXTFLGBIT 0x1000 #define XFS_SB_VERSION_DIRV2BIT 0x2000 #define XFS_SB_VERSION_OKSASHFBITS \ (XFS_SB_VERSION_EXTFLGBIT | \ XFS_SB_VERSION_DIRV2BIT) #define XFS_SB_VERSION_OKREALFBITS \ (XFS_SB_VERSION_ATTRBIT | \ XFS_SB_VERSION_NLINKBIT | \ XFS_SB_VERSION_QUOTABIT | \ XFS_SB_VERSION_ALIGNBIT | \ XFS_SB_VERSION_DALIGNBIT | \ XFS_SB_VERSION_SHAREDBIT) #define XFS_SB_VERSION_OKSASHBITS \ (XFS_SB_VERSION_NUMBITS | \ XFS_SB_VERSION_REALFBITS | \ XFS_SB_VERSION_OKSASHFBITS) #define XFS_SB_VERSION_OKREALBITS \ (XFS_SB_VERSION_NUMBITS | \ XFS_SB_VERSION_OKREALFBITS | \ XFS_SB_VERSION_OKSASHFBITS) #define XFS_SB_VERSION_MKFS(ia,dia,extflag,dirv2) \ (((ia) || (dia) || (extflag) || (dirv2)) ? \ (XFS_SB_VERSION_4 | \ ((ia) ? XFS_SB_VERSION_ALIGNBIT : 0) | \ ((dia) ? XFS_SB_VERSION_DALIGNBIT : 0) | \ ((extflag) ? XFS_SB_VERSION_EXTFLGBIT : 0) | \ ((dirv2) ? XFS_SB_VERSION_DIRV2BIT : 0)) : \ XFS_SB_VERSION_1) typedef struct xfs_sb { uint32_t sb_magicnum; /* magic number == XFS_SB_MAGIC */ uint32_t sb_blocksize; /* logical block size, bytes */ xfs_drfsbno_t sb_dblocks; /* number of data blocks */ xfs_drfsbno_t sb_rblocks; /* number of realtime blocks */ xfs_drtbno_t sb_rextents; /* number of realtime extents */ uuid_t sb_uuid; /* file system unique id */ xfs_dfsbno_t sb_logstart; /* starting block of log if internal */ xfs_ino_t sb_rootino; /* root inode number */ xfs_ino_t sb_rbmino; /* bitmap inode for realtime extents */ xfs_ino_t sb_rsumino; /* summary inode for rt bitmap */ xfs_agblock_t sb_rextsize; /* realtime extent size, blocks */ xfs_agblock_t sb_agblocks; /* size of an allocation group */ xfs_agnumber_t sb_agcount; /* number of allocation groups */ xfs_extlen_t sb_rbmblocks; /* number of rt bitmap blocks */ xfs_extlen_t sb_logblocks; /* number of log blocks */ uint16_t sb_versionnum; /* header version == XFS_SB_VERSION */ uint16_t sb_sectsize; /* volume sector size, bytes */ uint16_t sb_inodesize; /* inode size, bytes */ uint16_t sb_inopblock; /* inodes per block */ char sb_fname[12]; /* file system name */ uint8_t sb_blocklog; /* log2 of sb_blocksize */ uint8_t sb_sectlog; /* log2 of sb_sectsize */ uint8_t sb_inodelog; /* log2 of sb_inodesize */ uint8_t sb_inopblog; /* log2 of sb_inopblock */ uint8_t sb_agblklog; /* log2 of sb_agblocks (rounded up) */ uint8_t sb_rextslog; /* log2 of sb_rextents */ uint8_t sb_inprogress; /* mkfs is in progress, don't mount */ uint8_t sb_imax_pct; /* max % of fs for inode space */ /* statistics */ /* * These fields must remain contiguous. If you really * want to change their layout, make sure you fix the * code in xfs_trans_apply_sb_deltas(). */ uint64_t sb_icount; /* allocated inodes */ uint64_t sb_ifree; /* free inodes */ uint64_t sb_fdblocks; /* free data blocks */ uint64_t sb_frextents; /* free realtime extents */ /* * End contiguous fields. */ xfs_ino_t sb_uquotino; /* user quota inode */ xfs_ino_t sb_gquotino; /* group quota inode */ uint16_t sb_qflags; /* quota flags */ uint8_t sb_flags; /* misc. flags */ uint8_t sb_shared_vn; /* shared version number */ xfs_extlen_t sb_inoalignmt; /* inode chunk alignment, fsblocks */ uint32_t sb_unit; /* stripe or raid unit */ uint32_t sb_width; /* stripe or raid width */ uint8_t sb_dirblklog; /* log2 of dir block size (fsbs) */ uint8_t sb_dummy[7]; /* padding */ } xfs_sb_t; /* * Sequence number values for the fields. */ typedef enum { XFS_SBS_MAGICNUM, XFS_SBS_BLOCKSIZE, XFS_SBS_DBLOCKS, XFS_SBS_RBLOCKS, XFS_SBS_REXTENTS, XFS_SBS_UUID, XFS_SBS_LOGSTART, XFS_SBS_ROOTINO, XFS_SBS_RBMINO, XFS_SBS_RSUMINO, XFS_SBS_REXTSIZE, XFS_SBS_AGBLOCKS, XFS_SBS_AGCOUNT, XFS_SBS_RBMBLOCKS, XFS_SBS_LOGBLOCKS, XFS_SBS_VERSIONNUM, XFS_SBS_SECTSIZE, XFS_SBS_INODESIZE, XFS_SBS_INOPBLOCK, XFS_SBS_FNAME, XFS_SBS_BLOCKLOG, XFS_SBS_SECTLOG, XFS_SBS_INODELOG, XFS_SBS_INOPBLOG, XFS_SBS_AGBLKLOG, XFS_SBS_REXTSLOG, XFS_SBS_INPROGRESS, XFS_SBS_IMAX_PCT, XFS_SBS_ICOUNT, XFS_SBS_IFREE, XFS_SBS_FDBLOCKS, XFS_SBS_FREXTENTS, XFS_SBS_UQUOTINO, XFS_SBS_GQUOTINO, XFS_SBS_QFLAGS, XFS_SBS_FLAGS, XFS_SBS_SHARED_VN, XFS_SBS_INOALIGNMT, XFS_SBS_UNIT, XFS_SBS_WIDTH, XFS_SBS_DIRBLKLOG, XFS_SBS_DUMMY, XFS_SBS_FIELDCOUNT } xfs_sb_field_t; /* * Mask values, defined based on the xfs_sb_field_t values. * Only define the ones we're using. */ #define XFS_SB_MVAL(x) (1LL << XFS_SBS_ ## x) #define XFS_SB_UUID XFS_SB_MVAL(UUID) #define XFS_SB_FNAME XFS_SB_MVAL(FNAME) #define XFS_SB_ROOTINO XFS_SB_MVAL(ROOTINO) #define XFS_SB_RBMINO XFS_SB_MVAL(RBMINO) #define XFS_SB_RSUMINO XFS_SB_MVAL(RSUMINO) #define XFS_SB_VERSIONNUM XFS_SB_MVAL(VERSIONNUM) #define XFS_SB_UQUOTINO XFS_SB_MVAL(UQUOTINO) #define XFS_SB_GQUOTINO XFS_SB_MVAL(GQUOTINO) #define XFS_SB_QFLAGS XFS_SB_MVAL(QFLAGS) #define XFS_SB_SHARED_VN XFS_SB_MVAL(SHARED_VN) #define XFS_SB_UNIT XFS_SB_MVAL(UNIT) #define XFS_SB_WIDTH XFS_SB_MVAL(WIDTH) #define XFS_SB_NUM_BITS ((int)XFS_SBS_FIELDCOUNT) #define XFS_SB_ALL_BITS ((1LL << XFS_SB_NUM_BITS) - 1) #define XFS_SB_MOD_BITS \ (XFS_SB_UUID | XFS_SB_ROOTINO | XFS_SB_RBMINO | XFS_SB_RSUMINO | \ XFS_SB_VERSIONNUM | XFS_SB_UQUOTINO | XFS_SB_GQUOTINO | \ XFS_SB_QFLAGS | XFS_SB_SHARED_VN | XFS_SB_UNIT | XFS_SB_WIDTH) /* * Misc. Flags - warning - these will be cleared by xfs_repair unless * a feature bit is set when the flag is used. */ #define XFS_SBF_NOFLAGS 0x00 /* no flags set */ #define XFS_SBF_READONLY 0x01 /* only read-only mounts allowed */ /* * define max. shared version we can interoperate with */ #define XFS_SB_MAX_SHARED_VN 0 #if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_SB_VERSION_NUM) int xfs_sb_version_num(xfs_sb_t *sbp); #define XFS_SB_VERSION_NUM(sbp) xfs_sb_version_num(sbp) #else #define XFS_SB_VERSION_NUM(sbp) ((sbp)->sb_versionnum & XFS_SB_VERSION_NUMBITS) #endif #if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_SB_GOOD_VERSION) int xfs_sb_good_version(xfs_sb_t *sbp); #define XFS_SB_GOOD_VERSION(sbp) xfs_sb_good_version(sbp) #else #define XFS_SB_GOOD_VERSION_INT(sbp) \ ((((sbp)->sb_versionnum >= XFS_SB_VERSION_1) && \ ((sbp)->sb_versionnum <= XFS_SB_VERSION_3)) || \ ((XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \ !((sbp)->sb_versionnum & ~XFS_SB_VERSION_OKREALBITS) #ifdef __KERNEL__ #define XFS_SB_GOOD_VERSION(sbp) \ (XFS_SB_GOOD_VERSION_INT(sbp) && \ (sbp)->sb_shared_vn <= XFS_SB_MAX_SHARED_VN) )) #else /* * extra 2 paren's here (( to unconfuse paren-matching editors * like vi because XFS_SB_GOOD_VERSION_INT is a partial expression * and the two XFS_SB_GOOD_VERSION's each 2 more close paren's to * complete the expression. */ #define XFS_SB_GOOD_VERSION(sbp) \ (XFS_SB_GOOD_VERSION_INT(sbp) && \ (!((sbp)->sb_versionnum & XFS_SB_VERSION_SHAREDBIT) || \ (sbp)->sb_shared_vn <= XFS_SB_MAX_SHARED_VN)) )) #endif /* __KERNEL__ */ #endif #define XFS_SB_GOOD_SASH_VERSION(sbp) \ ((((sbp)->sb_versionnum >= XFS_SB_VERSION_1) && \ ((sbp)->sb_versionnum <= XFS_SB_VERSION_3)) || \ ((XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \ !((sbp)->sb_versionnum & ~XFS_SB_VERSION_OKSASHBITS))) #if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_SB_VERSION_TONEW) unsigned xfs_sb_version_tonew(unsigned v); #define XFS_SB_VERSION_TONEW(v) xfs_sb_version_tonew(v) #else #define XFS_SB_VERSION_TONEW(v) \ ((((v) == XFS_SB_VERSION_1) ? \ 0 : \ (((v) == XFS_SB_VERSION_2) ? \ XFS_SB_VERSION_ATTRBIT : \ (XFS_SB_VERSION_ATTRBIT | XFS_SB_VERSION_NLINKBIT))) | \ XFS_SB_VERSION_4) #endif #if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_SB_VERSION_TOOLD) unsigned xfs_sb_version_toold(unsigned v); #define XFS_SB_VERSION_TOOLD(v) xfs_sb_version_toold(v) #else #define XFS_SB_VERSION_TOOLD(v) \ (((v) & (XFS_SB_VERSION_QUOTABIT | XFS_SB_VERSION_ALIGNBIT)) ? \ 0 : \ (((v) & XFS_SB_VERSION_NLINKBIT) ? \ XFS_SB_VERSION_3 : \ (((v) & XFS_SB_VERSION_ATTRBIT) ? \ XFS_SB_VERSION_2 : \ XFS_SB_VERSION_1))) #endif #if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_SB_VERSION_HASATTR) int xfs_sb_version_hasattr(xfs_sb_t *sbp); #define XFS_SB_VERSION_HASATTR(sbp) xfs_sb_version_hasattr(sbp) #else #define XFS_SB_VERSION_HASATTR(sbp) \ (((sbp)->sb_versionnum == XFS_SB_VERSION_2) || \ ((sbp)->sb_versionnum == XFS_SB_VERSION_3) || \ ((XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \ ((sbp)->sb_versionnum & XFS_SB_VERSION_ATTRBIT))) #endif #if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_SB_VERSION_ADDATTR) void xfs_sb_version_addattr(xfs_sb_t *sbp); #define XFS_SB_VERSION_ADDATTR(sbp) xfs_sb_version_addattr(sbp) #else #define XFS_SB_VERSION_ADDATTR(sbp) \ ((sbp)->sb_versionnum = \ (((sbp)->sb_versionnum == XFS_SB_VERSION_1) ? \ XFS_SB_VERSION_2 : \ ((XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) ? \ ((sbp)->sb_versionnum | XFS_SB_VERSION_ATTRBIT) : \ (XFS_SB_VERSION_4 | XFS_SB_VERSION_ATTRBIT)))) #endif #if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_SB_VERSION_HASNLINK) int xfs_sb_version_hasnlink(xfs_sb_t *sbp); #define XFS_SB_VERSION_HASNLINK(sbp) xfs_sb_version_hasnlink(sbp) #else #define XFS_SB_VERSION_HASNLINK(sbp) \ (((sbp)->sb_versionnum == XFS_SB_VERSION_3) || \ ((XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \ ((sbp)->sb_versionnum & XFS_SB_VERSION_NLINKBIT))) #endif #if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_SB_VERSION_ADDNLINK) void xfs_sb_version_addnlink(xfs_sb_t *sbp); #define XFS_SB_VERSION_ADDNLINK(sbp) xfs_sb_version_addnlink(sbp) #else #define XFS_SB_VERSION_ADDNLINK(sbp) \ ((sbp)->sb_versionnum = \ ((sbp)->sb_versionnum <= XFS_SB_VERSION_2 ? \ XFS_SB_VERSION_3 : \ ((sbp)->sb_versionnum | XFS_SB_VERSION_NLINKBIT))) #endif #if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_SB_VERSION_HASQUOTA) int xfs_sb_version_hasquota(xfs_sb_t *sbp); #define XFS_SB_VERSION_HASQUOTA(sbp) xfs_sb_version_hasquota(sbp) #else #define XFS_SB_VERSION_HASQUOTA(sbp) \ ((XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \ ((sbp)->sb_versionnum & XFS_SB_VERSION_QUOTABIT)) #endif #if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_SB_VERSION_ADDQUOTA) void xfs_sb_version_addquota(xfs_sb_t *sbp); #define XFS_SB_VERSION_ADDQUOTA(sbp) xfs_sb_version_addquota(sbp) #else #define XFS_SB_VERSION_ADDQUOTA(sbp) \ ((sbp)->sb_versionnum = \ (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4 ? \ ((sbp)->sb_versionnum | XFS_SB_VERSION_QUOTABIT) : \ (XFS_SB_VERSION_TONEW((sbp)->sb_versionnum) | \ XFS_SB_VERSION_QUOTABIT))) #endif #if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_SB_VERSION_HASALIGN) int xfs_sb_version_hasalign(xfs_sb_t *sbp); #define XFS_SB_VERSION_HASALIGN(sbp) xfs_sb_version_hasalign(sbp) #else #define XFS_SB_VERSION_HASALIGN(sbp) \ ((XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \ ((sbp)->sb_versionnum & XFS_SB_VERSION_ALIGNBIT)) #endif #if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_SB_VERSION_SUBALIGN) void xfs_sb_version_subalign(xfs_sb_t *sbp); #define XFS_SB_VERSION_SUBALIGN(sbp) xfs_sb_version_subalign(sbp) #else #define XFS_SB_VERSION_SUBALIGN(sbp) \ ((sbp)->sb_versionnum = \ XFS_SB_VERSION_TOOLD((sbp)->sb_versionnum & ~XFS_SB_VERSION_ALIGNBIT)) #endif #if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_SB_VERSION_HASDALIGN) int xfs_sb_version_hasdalign(xfs_sb_t *sbp); #define XFS_SB_VERSION_HASDALIGN(sbp) xfs_sb_version_hasdalign(sbp) #else #define XFS_SB_VERSION_HASDALIGN(sbp) \ ((XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \ ((sbp)->sb_versionnum & XFS_SB_VERSION_DALIGNBIT)) #endif #if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_SB_VERSION_ADDDALIGN) int xfs_sb_version_adddalign(xfs_sb_t *sbp); #define XFS_SB_VERSION_ADDDALIGN(sbp) xfs_sb_version_adddalign(sbp) #else #define XFS_SB_VERSION_ADDDALIGN(sbp) \ ((sbp)->sb_versionnum = \ ((sbp)->sb_versionnum | XFS_SB_VERSION_DALIGNBIT)) #endif #if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_SB_VERSION_HASSHARED) int xfs_sb_version_hasshared(xfs_sb_t *sbp); #define XFS_SB_VERSION_HASSHARED(sbp) xfs_sb_version_hasshared(sbp) #else #define XFS_SB_VERSION_HASSHARED(sbp) \ ((XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \ ((sbp)->sb_versionnum & XFS_SB_VERSION_SHAREDBIT)) #endif #if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_SB_VERSION_ADDSHARED) int xfs_sb_version_addshared(xfs_sb_t *sbp); #define XFS_SB_VERSION_ADDSHARED(sbp) xfs_sb_version_addshared(sbp) #else #define XFS_SB_VERSION_ADDSHARED(sbp) \ ((sbp)->sb_versionnum = \ ((sbp)->sb_versionnum | XFS_SB_VERSION_SHAREDBIT)) #endif #if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_SB_VERSION_SUBSHARED) int xfs_sb_version_subshared(xfs_sb_t *sbp); #define XFS_SB_VERSION_SUBSHARED(sbp) xfs_sb_version_subshared(sbp) #else #define XFS_SB_VERSION_SUBSHARED(sbp) \ ((sbp)->sb_versionnum = \ ((sbp)->sb_versionnum & ~XFS_SB_VERSION_SHAREDBIT)) #endif #if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_SB_VERSION_HASDIRV2) int xfs_sb_version_hasdirv2(xfs_sb_t *sbp); #define XFS_SB_VERSION_HASDIRV2(sbp) xfs_sb_version_hasdirv2(sbp) #else #define XFS_SB_VERSION_HASDIRV2(sbp) \ ((XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \ ((sbp)->sb_versionnum & XFS_SB_VERSION_DIRV2BIT)) #endif #if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_SB_VERSION_HASEXTFLGBIT) int xfs_sb_version_hasextflgbit(xfs_sb_t *sbp); #define XFS_SB_VERSION_HASEXTFLGBIT(sbp) xfs_sb_version_hasextflgbit(sbp) #else #define XFS_SB_VERSION_HASEXTFLGBIT(sbp) \ ((XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4) && \ ((sbp)->sb_versionnum & XFS_SB_VERSION_EXTFLGBIT)) #endif #if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_SB_VERSION_ADDEXTFLGBIT) int xfs_sb_version_addextflgbit(xfs_sb_t *sbp); #define XFS_SB_VERSION_ADDEXTFLGBIT(sbp) xfs_sb_version_addextflgbit(sbp) #else #define XFS_SB_VERSION_ADDEXTFLGBIT(sbp) \ ((sbp)->sb_versionnum = \ ((sbp)->sb_versionnum | XFS_SB_VERSION_EXTFLGBIT)) #endif #if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_SB_VERSION_SUBEXTFLGBIT) int xfs_sb_version_subextflgbit(xfs_sb_t *sbp); #define XFS_SB_VERSION_SUBEXTFLGBIT(sbp) xfs_sb_version_subextflgbit(sbp) #else #define XFS_SB_VERSION_SUBEXTFLGBIT(sbp) \ ((sbp)->sb_versionnum = \ ((sbp)->sb_versionnum & ~XFS_SB_VERSION_EXTFLGBIT)) #endif /* * end of superblock version macros */ #define XFS_SB_DADDR ((xfs_daddr_t)0) /* daddr in file system/ag */ #if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_SB_BLOCK) xfs_agblock_t xfs_sb_block(struct xfs_mount *mp); #define XFS_SB_BLOCK(mp) xfs_sb_block(mp) #else #define XFS_SB_BLOCK(mp) XFS_HDR_BLOCK(mp, XFS_SB_DADDR) #endif #if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_HDR_BLOCK) xfs_agblock_t xfs_hdr_block(struct xfs_mount *mp, xfs_daddr_t d); #define XFS_HDR_BLOCK(mp,d) xfs_hdr_block(mp,d) #else #define XFS_HDR_BLOCK(mp,d) ((xfs_agblock_t)(XFS_BB_TO_FSBT(mp,d))) #endif #if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_DADDR_TO_FSB) xfs_fsblock_t xfs_daddr_to_fsb(struct xfs_mount *mp, xfs_daddr_t d); #define XFS_DADDR_TO_FSB(mp,d) xfs_daddr_to_fsb(mp,d) #else #define XFS_DADDR_TO_FSB(mp,d) \ XFS_AGB_TO_FSB(mp, XFS_DADDR_TO_AGNO(mp,d), XFS_DADDR_TO_AGBNO(mp,d)) #endif #if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_FSB_TO_DADDR) xfs_daddr_t xfs_fsb_to_daddr(struct xfs_mount *mp, xfs_fsblock_t fsbno); #define XFS_FSB_TO_DADDR(mp,fsbno) xfs_fsb_to_daddr(mp,fsbno) #else #define XFS_FSB_TO_DADDR(mp,fsbno) \ XFS_AGB_TO_DADDR(mp, XFS_FSB_TO_AGNO(mp,fsbno), \ XFS_FSB_TO_AGBNO(mp,fsbno)) #endif /* * File system block to basic block conversions. */ #define XFS_FSB_TO_BB(mp,fsbno) ((fsbno) << (mp)->m_blkbb_log) #define XFS_BB_TO_FSB(mp,bb) \ (((bb) + (XFS_FSB_TO_BB(mp,1) - 1)) >> (mp)->m_blkbb_log) #define XFS_BB_TO_FSBT(mp,bb) ((bb) >> (mp)->m_blkbb_log) #define XFS_BB_FSB_OFFSET(mp,bb) ((bb) & ((mp)->m_bsize - 1)) /* * File system block to byte conversions. */ #define XFS_FSB_TO_B(mp,fsbno) ((xfs_fsize_t)(fsbno) << \ (mp)->m_sb.sb_blocklog) #define XFS_B_TO_FSB(mp,b) \ ((((uint64_t)(b)) + (mp)->m_blockmask) >> (mp)->m_sb.sb_blocklog) #define XFS_B_TO_FSBT(mp,b) (((uint64_t)(b)) >> (mp)->m_sb.sb_blocklog) #define XFS_B_FSB_OFFSET(mp,b) ((b) & (mp)->m_blockmask) #if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_BUF_TO_SBP) xfs_sb_t *xfs_buf_to_sbp(struct xfs_buf *bp); #define XFS_BUF_TO_SBP(bp) xfs_buf_to_sbp(bp) #else #define XFS_BUF_TO_SBP(bp) ((xfs_sb_t *)XFS_BUF_PTR(bp)) #endif #endif /* __XFS_SB_H__ */ parted-2.3/libparted/fs/xfs/Makefile.in0000644000000000000000000011424211400005575014750 00000000000000# Makefile.in generated by automake 1.11a from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = libparted/fs/xfs DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \ $(top_srcdir)/m4/asm-underscore.m4 $(top_srcdir)/m4/assert.m4 \ $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/calloc.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \ $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/dirname.m4 \ $(top_srcdir)/m4/dos.m4 $(top_srcdir)/m4/double-slash-root.m4 \ $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/extensions.m4 \ $(top_srcdir)/m4/fclose.m4 $(top_srcdir)/m4/fcntl-o.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fpending.m4 \ $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getopt.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \ $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/lib-ignore.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \ $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \ $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/long-options.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \ $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/memchr.m4 \ $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \ $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/o-direct.m4 $(top_srcdir)/m4/open.m4 \ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \ $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/readlink.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/safe-read.m4 \ $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \ $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/symlink.m4 \ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \ $(top_srcdir)/m4/version-etc.m4 \ $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \ $(top_srcdir)/m4/wctype_h.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xstrndup.m4 \ $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/lib/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libxfs_la_LIBADD = am_libxfs_la_OBJECTS = xfs.lo libxfs_la_OBJECTS = $(am_libxfs_la_OBJECTS) AM_V_lt = $(am__v_lt_$(V)) am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) am__v_lt_0 = --silent DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/lib depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_$(V)) am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) am__v_CC_0 = @echo " CC " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_$(V)) am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) am__v_CCLD_0 = @echo " CCLD " $@; AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; SOURCES = $(libxfs_la_SOURCES) DIST_SOURCES = $(libxfs_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ BUILDINFO = @BUILDINFO@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ CONFIG_INCLUDE = @CONFIG_INCLUDE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DL_LIBS = @DL_LIBS@ DM_LIBS = @DM_LIBS@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENABLE_DEVICE_MAPPER = @ENABLE_DEVICE_MAPPER@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPURGE = @GNULIB_FPURGE@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSTATAT = @GNULIB_FSTATAT@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETGROUPS = @GNULIB_GETGROUPS@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMCHR = @GNULIB_MEMCHR@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDIRAT = @GNULIB_MKDIRAT@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKFIFO = @GNULIB_MKFIFO@ GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@ GNULIB_MKNOD = @GNULIB_MKNOD@ GNULIB_MKNODAT = @GNULIB_MKNODAT@ GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PTSNAME = @GNULIB_PTSNAME@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ GNULIB_RMDIR = @GNULIB_RMDIR@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STAT = @GNULIB_STAT@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNCAT = @GNULIB_STRNCAT@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRPTIME = @GNULIB_STRPTIME@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNLINK = @GNULIB_UNLINK@ GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_USLEEP = @GNULIB_USLEEP@ GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_FUTIMENS = @HAVE_FUTIMENS@ HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETGROUPS = @HAVE_GETGROUPS@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@ HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@ HAVE_LANGINFO_H = @HAVE_LANGINFO_H@ HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LCHOWN = @HAVE_LCHOWN@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LOCALTIME_R = @HAVE_LOCALTIME_R@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_MKFIFO = @HAVE_MKFIFO@ HAVE_MKFIFOAT = @HAVE_MKFIFOAT@ HAVE_MKNOD = @HAVE_MKNOD@ HAVE_MKNODAT = @HAVE_MKNODAT@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ HAVE_OS_H = @HAVE_OS_H@ HAVE_PIPE2 = @HAVE_PIPE2@ HAVE_PREAD = @HAVE_PREAD@ HAVE_PTSNAME = @HAVE_PTSNAME@ HAVE_PWRITE = @HAVE_PWRITE@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TTYNAME_R = @HAVE_TTYNAME_R@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_USLEEP = @HAVE_USLEEP@ HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ HAVE_WCRTOMB = @HAVE_WCRTOMB@ HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE__BOOL = @HAVE__BOOL@ IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ INTLINCS = @INTLINCS@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ LIBTOOL = @LIBTOOL@ LIB_BLKID = @LIB_BLKID@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@ LOCALE_JA = @LOCALE_JA@ LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTALLOCA = @LTALLOCA@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ NEXT_WCTYPE_H = @NEXT_WCTYPE_H@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OS = @OS@ OS_LIBS = @OS_LIBS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PARTEDLDFLAGS = @PARTEDLDFLAGS@ PARTED_LIBS = @PARTED_LIBS@ PARTED_USABLE_TEST_DIR = @PARTED_USABLE_TEST_DIR@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POSUB = @POSUB@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PRIPTR_PREFIX = @PRIPTR_PREFIX@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REISER_LIBS = @REISER_LIBS@ REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FSTAT = @REPLACE_FSTAT@ REPLACE_FSTATAT = @REPLACE_FSTATAT@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ REPLACE_MBRLEN = @REPLACE_MBRLEN@ REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ REPLACE_MBSINIT = @REPLACE_MBSINIT@ REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_OPENAT = @REPLACE_OPENAT@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALPATH = @REPLACE_REALPATH@ REPLACE_REMOVE = @REPLACE_REMOVE@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRNCAT = @REPLACE_STRNCAT@ REPLACE_STRNDUP = @REPLACE_STRNDUP@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ REPLACE_UNSETENV = @REPLACE_UNSETENV@ REPLACE_USLEEP = @REPLACE_USLEEP@ REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ SELINUX_LIBS = @SELINUX_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_NLS = @USE_NLS@ UUID_LIBS = @UUID_LIBS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_aux_dir = @abs_aux_dir@ 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@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ gltests_WITNESS = @gltests_WITNESS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ partedincludedir = -I$(top_srcdir)/include noinst_LTLIBRARIES = libxfs.la libxfs_la_SOURCES = xfs.c xfs_sb.h xfs_types.h platform_defs.h INCLUDES = $(partedincludedir) $(INTLINCS) MAINTAINERCLEANFILES = Makefile.in all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libparted/fs/xfs/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu libparted/fs/xfs/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libxfs.la: $(libxfs_la_OBJECTS) $(libxfs_la_DEPENDENCIES) $(AM_V_CCLD)$(LINK) $(libxfs_la_OBJECTS) $(libxfs_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xfs.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: $(HEADERS) $(SOURCES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstLTLIBRARIES cscopelist ctags \ distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: parted-2.3/libparted/fs/ufs/0000755000000000000000000000000011400006132012742 500000000000000parted-2.3/libparted/fs/ufs/ufs.c0000644000000000000000000002436611333731662013660 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 2001, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Contributor: Ben Collins */ #include #include #include #include #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ #include #include #define SUN_UFS_BLOCK_SIZES ((int[2]){512, 0}) #define HP_UFS_BLOCK_SIZES ((int[2]){512, 0}) /* taken from ufs_fs.h in Linux */ #define UFS_MAXNAMLEN 255 #define UFS_MAXMNTLEN 512 #define UFS_MAXCSBUFS 31 #define UFS_LINK_MAX 32000 #define UFS_MAGIC 0x00011954 #define UFS_MAGIC_LFN 0x00095014 #define UFS_MAGIC_FEA 0x00195612 #define UFS_MAGIC_4GB 0x05231994 struct ufs_csum { uint32_t cs_ndir; /* number of directories */ uint32_t cs_nbfree; /* number of free blocks */ uint32_t cs_nifree; /* number of free inodes */ uint32_t cs_nffree; /* number of free frags */ }; struct ufs_super_block { uint32_t fs_link; /* UNUSED */ uint32_t fs_rlink; /* UNUSED */ uint32_t fs_sblkno; /* addr of super-block in filesys */ uint32_t fs_cblkno; /* offset of cyl-block in filesys */ uint32_t fs_iblkno; /* offset of inode-blocks in filesys */ uint32_t fs_dblkno; /* offset of first data after cg */ uint32_t fs_cgoffset; /* cylinder group offset in cylinder */ uint32_t fs_cgmask; /* used to calc mod fs_ntrak */ uint32_t fs_time; /* last time written -- time_t */ uint32_t fs_size; /* number of blocks in fs */ uint32_t fs_dsize; /* number of data blocks in fs */ uint32_t fs_ncg; /* number of cylinder groups */ uint32_t fs_bsize; /* size of basic blocks in fs */ uint32_t fs_fsize; /* size of frag blocks in fs */ uint32_t fs_frag; /* number of frags in a block in fs */ /* these are configuration parameters */ uint32_t fs_minfree; /* minimum percentage of free blocks */ uint32_t fs_rotdelay; /* num of ms for optimal next block */ uint32_t fs_rps; /* disk revolutions per second */ /* these fields can be computed from the others */ uint32_t fs_bmask; /* ``blkoff'' calc of blk offsets */ uint32_t fs_fmask; /* ``fragoff'' calc of frag offsets */ uint32_t fs_bshift; /* ``lblkno'' calc of logical blkno */ uint32_t fs_fshift; /* ``numfrags'' calc number of frags */ /* these are configuration parameters */ uint32_t fs_maxcontig; /* max number of contiguous blks */ uint32_t fs_maxbpg; /* max number of blks per cyl group */ /* these fields can be computed from the others */ uint32_t fs_fragshift; /* block to frag shift */ uint32_t fs_fsbtodb; /* fsbtodb and dbtofsb shift constant */ uint32_t fs_sbsize; /* actual size of super block */ uint32_t fs_csmask; /* csum block offset */ uint32_t fs_csshift; /* csum block number */ uint32_t fs_nindir; /* value of NINDIR */ uint32_t fs_inopb; /* value of INOPB */ uint32_t fs_nspf; /* value of NSPF */ /* yet another configuration parameter */ uint32_t fs_optim; /* optimization preference, see below */ /* these fields are derived from the hardware */ union { struct { uint32_t fs_npsect; /* # sectors/track including spares */ } fs_sun; struct { int32_t fs_state; /* file system state time stamp */ } fs_sunx86; } fs_u1; uint32_t fs_interleave; /* hardware sector interleave */ uint32_t fs_trackskew; /* sector 0 skew, per track */ /* a unique id for this file system (currently unused and unmaintained) */ /* In 4.3 Tahoe this space is used by fs_headswitch and fs_trkseek */ /* Neither of those fields is used in the Tahoe code right now but */ /* there could be problems if they are. */ uint32_t fs_id[2]; /* file system id */ /* sizes determined by number of cylinder groups and their sizes */ uint32_t fs_csaddr; /* blk addr of cyl grp summary area */ uint32_t fs_cssize; /* size of cyl grp summary area */ uint32_t fs_cgsize; /* cylinder group size */ /* these fields are derived from the hardware */ uint32_t fs_ntrak; /* tracks per cylinder */ uint32_t fs_nsect; /* sectors per track */ uint32_t fs_spc; /* sectors per cylinder */ /* this comes from the disk driver partitioning */ uint32_t fs_ncyl; /* cylinders in file system */ /* these fields can be computed from the others */ uint32_t fs_cpg; /* cylinders per group */ uint32_t fs_ipg; /* inodes per group */ uint32_t fs_fpg; /* blocks per group * fs_frag */ /* this data must be re-computed after crashes */ struct ufs_csum fs_cstotal; /* cylinder summary information */ /* these fields are cleared at mount time */ int8_t fs_fmod; /* super block modified flag */ int8_t fs_clean; /* file system is clean flag */ int8_t fs_ronly; /* mounted read-only flag */ int8_t fs_flags; /* currently unused flag */ int8_t fs_fsmnt[UFS_MAXMNTLEN]; /* name mounted on */ /* these fields retain the current block allocation info */ uint32_t fs_cgrotor; /* last cg searched */ uint32_t fs_csp[UFS_MAXCSBUFS]; /* list of fs_cs info buffers */ uint32_t fs_maxcluster; uint32_t fs_cpc; /* cyl per cycle in postbl */ uint16_t fs_opostbl[16][8]; /* old rotation block list head */ union { struct { int32_t fs_sparecon[53];/* reserved for future constants */ int32_t fs_reclaim; int32_t fs_sparecon2[1]; int32_t fs_state; /* file system state time stamp */ uint32_t fs_qbmask[2]; /* ~usb_bmask */ uint32_t fs_qfmask[2]; /* ~usb_fmask */ } fs_sun; struct { int32_t fs_sparecon[53];/* reserved for future constants */ int32_t fs_reclaim; int32_t fs_sparecon2[1]; uint32_t fs_npsect; /* # sectors/track including spares */ uint32_t fs_qbmask[2]; /* ~usb_bmask */ uint32_t fs_qfmask[2]; /* ~usb_fmask */ } fs_sunx86; struct { int32_t fs_sparecon[50];/* reserved for future constants */ int32_t fs_contigsumsize;/* size of cluster summary array */ int32_t fs_maxsymlinklen;/* max length of an internal symlink */ int32_t fs_inodefmt; /* format of on-disk inodes */ uint32_t fs_maxfilesize[2]; /* max representable file size */ uint32_t fs_qbmask[2]; /* ~usb_bmask */ uint32_t fs_qfmask[2]; /* ~usb_fmask */ int32_t fs_state; /* file system state time stamp */ } fs_44; } fs_u2; int32_t fs_postblformat; /* format of positional layout tables */ int32_t fs_nrpos; /* number of rotational positions */ int32_t fs_postbloff; /* (__s16) rotation block list head */ int32_t fs_rotbloff; /* (uint8_t) blocks for each rotation */ int32_t fs_magic; /* magic number */ uint8_t fs_space[4]; /* list of blocks for each rotation */ }; static PedGeometry* ufs_probe_sun (PedGeometry* geom) { int8_t buf[512 * 3]; struct ufs_super_block *sb; if (geom->length < 5) return 0; if (!ped_geometry_read (geom, buf, 16, 3)) return 0; sb = (struct ufs_super_block *)buf; if (PED_BE32_TO_CPU(sb->fs_magic) == UFS_MAGIC) { PedSector block_size = PED_BE32_TO_CPU(sb->fs_bsize) / 512; PedSector block_count = PED_BE32_TO_CPU(sb->fs_size); return ped_geometry_new (geom->dev, geom->start, block_size * block_count); } if (PED_LE32_TO_CPU(sb->fs_magic) == UFS_MAGIC) { PedSector block_size = PED_LE32_TO_CPU(sb->fs_bsize) / 512; PedSector block_count = PED_LE32_TO_CPU(sb->fs_size); return ped_geometry_new (geom->dev, geom->start, block_size * block_count); } return NULL; } static PedGeometry* ufs_probe_hp (PedGeometry* geom) { int8_t buf[1536]; struct ufs_super_block *sb; PedSector block_size; PedSector block_count; if (geom->length < 5) return 0; if (!ped_geometry_read (geom, buf, 16, 3)) return 0; sb = (struct ufs_super_block *)buf; /* Try sane bytesex */ switch (PED_BE32_TO_CPU(sb->fs_magic)) { case UFS_MAGIC_LFN: case UFS_MAGIC_FEA: case UFS_MAGIC_4GB: block_size = PED_BE32_TO_CPU(sb->fs_bsize) / 512; block_count = PED_BE32_TO_CPU(sb->fs_size); return ped_geometry_new (geom->dev, geom->start, block_size * block_count); } /* Try perverted bytesex */ switch (PED_LE32_TO_CPU(sb->fs_magic)) { case UFS_MAGIC_LFN: case UFS_MAGIC_FEA: case UFS_MAGIC_4GB: block_size = PED_LE32_TO_CPU(sb->fs_bsize) / 512; block_count = PED_LE32_TO_CPU(sb->fs_size); return ped_geometry_new (geom->dev, geom->start, block_size * block_count); } return NULL; } #ifndef DISCOVER_ONLY static int ufs_clobber (PedGeometry* geom) { char buf[1536]; if (!ped_geometry_read (geom, buf, 16, 3)) return 0; memset (buf, 0, sizeof(struct ufs_super_block)); return ped_geometry_write (geom, buf, 16, 3); } #endif /* !DISCOVER_ONLY */ static PedFileSystemOps ufs_ops_sun = { probe: ufs_probe_sun, #ifndef DISCOVER_ONLY clobber: ufs_clobber, #else clobber: NULL, #endif open: NULL, create: NULL, close: NULL, check: NULL, copy: NULL, resize: NULL, get_create_constraint: NULL, get_resize_constraint: NULL, get_copy_constraint: NULL }; static PedFileSystemOps ufs_ops_hp = { probe: ufs_probe_hp, #ifndef DISCOVER_ONLY clobber: ufs_clobber, #else clobber: NULL, #endif open: NULL, create: NULL, close: NULL, check: NULL, copy: NULL, resize: NULL, get_create_constraint: NULL, get_resize_constraint: NULL, get_copy_constraint: NULL }; static PedFileSystemType ufs_type_sun = { next: NULL, ops: &ufs_ops_sun, name: "sun-ufs", block_sizes: SUN_UFS_BLOCK_SIZES }; static PedFileSystemType ufs_type_hp = { next: NULL, ops: &ufs_ops_hp, name: "hp-ufs", block_sizes: HP_UFS_BLOCK_SIZES }; void ped_file_system_ufs_init () { PED_ASSERT (sizeof (struct ufs_super_block) == 1380, return); ped_file_system_type_register (&ufs_type_sun); ped_file_system_type_register (&ufs_type_hp); } void ped_file_system_ufs_done () { ped_file_system_type_unregister (&ufs_type_hp); ped_file_system_type_unregister (&ufs_type_sun); } parted-2.3/libparted/fs/ufs/Makefile.am0000644000000000000000000000026511035473300014732 00000000000000partedincludedir = -I$(top_srcdir)/include noinst_LTLIBRARIES = libufs.la libufs_la_SOURCES = ufs.c INCLUDES = $(partedincludedir) $(INTLINCS) MAINTAINERCLEANFILES = Makefile.in parted-2.3/libparted/fs/ufs/Makefile.in0000644000000000000000000011417511400005574014751 00000000000000# Makefile.in generated by automake 1.11a from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = libparted/fs/ufs DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \ $(top_srcdir)/m4/asm-underscore.m4 $(top_srcdir)/m4/assert.m4 \ $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/calloc.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \ $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/dirname.m4 \ $(top_srcdir)/m4/dos.m4 $(top_srcdir)/m4/double-slash-root.m4 \ $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/extensions.m4 \ $(top_srcdir)/m4/fclose.m4 $(top_srcdir)/m4/fcntl-o.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fpending.m4 \ $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getopt.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \ $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/lib-ignore.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \ $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \ $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/long-options.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \ $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/memchr.m4 \ $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \ $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/o-direct.m4 $(top_srcdir)/m4/open.m4 \ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \ $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/readlink.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/safe-read.m4 \ $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \ $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/symlink.m4 \ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \ $(top_srcdir)/m4/version-etc.m4 \ $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \ $(top_srcdir)/m4/wctype_h.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xstrndup.m4 \ $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/lib/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libufs_la_LIBADD = am_libufs_la_OBJECTS = ufs.lo libufs_la_OBJECTS = $(am_libufs_la_OBJECTS) AM_V_lt = $(am__v_lt_$(V)) am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) am__v_lt_0 = --silent DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/lib depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_$(V)) am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) am__v_CC_0 = @echo " CC " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_$(V)) am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) am__v_CCLD_0 = @echo " CCLD " $@; AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; SOURCES = $(libufs_la_SOURCES) DIST_SOURCES = $(libufs_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ BUILDINFO = @BUILDINFO@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ CONFIG_INCLUDE = @CONFIG_INCLUDE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DL_LIBS = @DL_LIBS@ DM_LIBS = @DM_LIBS@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENABLE_DEVICE_MAPPER = @ENABLE_DEVICE_MAPPER@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPURGE = @GNULIB_FPURGE@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSTATAT = @GNULIB_FSTATAT@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETGROUPS = @GNULIB_GETGROUPS@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMCHR = @GNULIB_MEMCHR@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDIRAT = @GNULIB_MKDIRAT@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKFIFO = @GNULIB_MKFIFO@ GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@ GNULIB_MKNOD = @GNULIB_MKNOD@ GNULIB_MKNODAT = @GNULIB_MKNODAT@ GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PTSNAME = @GNULIB_PTSNAME@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ GNULIB_RMDIR = @GNULIB_RMDIR@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STAT = @GNULIB_STAT@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNCAT = @GNULIB_STRNCAT@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRPTIME = @GNULIB_STRPTIME@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNLINK = @GNULIB_UNLINK@ GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_USLEEP = @GNULIB_USLEEP@ GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_FUTIMENS = @HAVE_FUTIMENS@ HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETGROUPS = @HAVE_GETGROUPS@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@ HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@ HAVE_LANGINFO_H = @HAVE_LANGINFO_H@ HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LCHOWN = @HAVE_LCHOWN@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LOCALTIME_R = @HAVE_LOCALTIME_R@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_MKFIFO = @HAVE_MKFIFO@ HAVE_MKFIFOAT = @HAVE_MKFIFOAT@ HAVE_MKNOD = @HAVE_MKNOD@ HAVE_MKNODAT = @HAVE_MKNODAT@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ HAVE_OS_H = @HAVE_OS_H@ HAVE_PIPE2 = @HAVE_PIPE2@ HAVE_PREAD = @HAVE_PREAD@ HAVE_PTSNAME = @HAVE_PTSNAME@ HAVE_PWRITE = @HAVE_PWRITE@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TTYNAME_R = @HAVE_TTYNAME_R@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_USLEEP = @HAVE_USLEEP@ HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ HAVE_WCRTOMB = @HAVE_WCRTOMB@ HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE__BOOL = @HAVE__BOOL@ IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ INTLINCS = @INTLINCS@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ LIBTOOL = @LIBTOOL@ LIB_BLKID = @LIB_BLKID@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@ LOCALE_JA = @LOCALE_JA@ LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTALLOCA = @LTALLOCA@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ NEXT_WCTYPE_H = @NEXT_WCTYPE_H@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OS = @OS@ OS_LIBS = @OS_LIBS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PARTEDLDFLAGS = @PARTEDLDFLAGS@ PARTED_LIBS = @PARTED_LIBS@ PARTED_USABLE_TEST_DIR = @PARTED_USABLE_TEST_DIR@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POSUB = @POSUB@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PRIPTR_PREFIX = @PRIPTR_PREFIX@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REISER_LIBS = @REISER_LIBS@ REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FSTAT = @REPLACE_FSTAT@ REPLACE_FSTATAT = @REPLACE_FSTATAT@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ REPLACE_MBRLEN = @REPLACE_MBRLEN@ REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ REPLACE_MBSINIT = @REPLACE_MBSINIT@ REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_OPENAT = @REPLACE_OPENAT@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALPATH = @REPLACE_REALPATH@ REPLACE_REMOVE = @REPLACE_REMOVE@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRNCAT = @REPLACE_STRNCAT@ REPLACE_STRNDUP = @REPLACE_STRNDUP@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ REPLACE_UNSETENV = @REPLACE_UNSETENV@ REPLACE_USLEEP = @REPLACE_USLEEP@ REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ SELINUX_LIBS = @SELINUX_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_NLS = @USE_NLS@ UUID_LIBS = @UUID_LIBS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_aux_dir = @abs_aux_dir@ 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@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ gltests_WITNESS = @gltests_WITNESS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ partedincludedir = -I$(top_srcdir)/include noinst_LTLIBRARIES = libufs.la libufs_la_SOURCES = ufs.c INCLUDES = $(partedincludedir) $(INTLINCS) MAINTAINERCLEANFILES = Makefile.in all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libparted/fs/ufs/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu libparted/fs/ufs/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libufs.la: $(libufs_la_OBJECTS) $(libufs_la_DEPENDENCIES) $(AM_V_CCLD)$(LINK) $(libufs_la_OBJECTS) $(libufs_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ufs.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: $(HEADERS) $(SOURCES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstLTLIBRARIES cscopelist ctags \ distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: parted-2.3/libparted/fs/reiserfs/0000755000000000000000000000000011400006132013767 500000000000000parted-2.3/libparted/fs/reiserfs/reiserfs.h0000644000000000000000000000573711333731662015740 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 2000, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef REISERFS_H #define REISERFS_H #define REISERFS_API_VERSION 0 #define REISERFS_SIGNATURE "ReIsErFs" #define REISER2FS_SIGNATURE "ReIsEr2Fs" #define REISER3FS_SIGNATURE "ReIsEr3Fs" #define DEFAULT_BLOCK_SIZE 4096 struct reiserfs_super_block { uint32_t s_block_count; uint32_t s_free_blocks; uint32_t s_root_block; uint32_t s_journal_block; uint32_t s_journal_dev; uint32_t s_orig_journal_size; uint32_t s_journal_trans_max; uint32_t s_journal_block_count; uint32_t s_journal_max_batch; uint32_t s_journal_max_commit_age; uint32_t s_journal_max_trans_age; uint16_t s_blocksize; uint16_t s_oid_maxsize; uint16_t s_oid_cursize; uint16_t s_state; char s_magic[10]; uint16_t s_fsck_state; uint32_t s_hash_function_code; uint16_t s_tree_height; uint16_t s_bmap_nr; uint16_t s_version; char padding[438]; }; typedef struct reiserfs_super_block reiserfs_super_block_t; enum reiserfs_exception_type { EXCEPTION_INFORMATION = 1, EXCEPTION_WARNING = 2, EXCEPTION_ERROR = 3, EXCEPTION_FATAL = 4, EXCEPTION_BUG = 5, EXCEPTION_NO_FEATURE = 6 }; typedef enum reiserfs_exception_type reiserfs_exception_type_t; enum reiserfs_exception_option { EXCEPTION_UNHANDLED = 1 << 0, EXCEPTION_FIX = 1 << 1, EXCEPTION_YES = 1 << 2, EXCEPTION_NO = 1 << 3, EXCEPTION_OK = 1 << 4, EXCEPTION_RETRY = 1 << 5, EXCEPTION_IGNORE = 1 << 6, EXCEPTION_CANCEL = 1 << 7 }; typedef enum reiserfs_exception_option reiserfs_exception_option_t; typedef void (reiserfs_gauge_handler_t)(const char *, unsigned int, void *, int, int, int); typedef void * reiserfs_exception_t; typedef void * reiserfs_gauge_t; typedef void * reiserfs_fs_t; #define FS_FORMAT_3_5 0 #define FS_FORMAT_3_6 2 #define SUPER_OFFSET_IN_BYTES 64*1024 #define DEFAULT_JOURNAL_SIZE 8192 #define JOURNAL_MIN_SIZE 512 #define JOURNAL_MIN_TRANS 256 #define JOURNAL_MAX_TRANS 1024 #define JOURNAL_DEF_RATIO 8 #define JOURNAL_MIN_RATIO 2 #define JOURNAL_MAX_BATCH 900 #define JOURNAL_MAX_COMMIT_AGE 30 #define JOURNAL_MAX_TRANS_AGE 30 #define TEA_HASH 1 #define YURA_HASH 2 #define R5_HASH 3 #endif parted-2.3/libparted/fs/reiserfs/reiserfs.c0000644000000000000000000005243711333731662015732 00000000000000/* reiserfs.c -- libparted / libreiserfs glue Copyright (C) 2001-2002, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . This is all rather complicated. There are a few combinations: * shared libraries full support * dynamic libraries present full support (via dlopen) * dynamic libraries absent (full support disabled) (via dlopen) * discover only We'd love to hear comments... So far, we've opted for maximum flexibility for the user. Is it all worth it? */ #include #if (HAVE_LIBREISERFS || DYNAMIC_LOADING) && !DISCOVER_ONLY # define REISER_FULL_SUPPORT #endif #include #include #include #ifdef DYNAMIC_LOADING # include #endif #include #include #include #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif #include "reiserfs.h" #include "geom_dal.h" #define REISERFS_BLOCK_SIZES ((int[2]){512, 0}) static PedSector reiserfs_super_offset[] = { 128, 16, -1 }; static PedFileSystemType* reiserfs_type; #ifdef DYNAMIC_LOADING # define FPTR * # define FCLASS static #else # define FPTR # define FCLASS extern #endif #ifdef DYNAMIC_LOADING static int libreiserfs_present; static void *libdal_handle; static void *libreiserfs_handle; #endif /* DYNAMIC_LOADING */ #ifdef REISER_FULL_SUPPORT FCLASS blk_t (FPTR reiserfs_fs_probe) (dal_t *); FCLASS int (FPTR libreiserfs_exception_type) (reiserfs_exception_t *); FCLASS int (FPTR libreiserfs_exception_option) (reiserfs_exception_t *); FCLASS char *(FPTR libreiserfs_exception_message) (reiserfs_exception_t *); FCLASS void (FPTR libreiserfs_exception_set_handler) (int(FPTR)(reiserfs_exception_t *)); FCLASS void (FPTR dal_realize) (dal_t *); FCLASS size_t (FPTR dal_block_size) (dal_t *); FCLASS blk_t (FPTR dal_len) (dal_t *); FCLASS int (FPTR dal_flags) (dal_t *); FCLASS reiserfs_fs_t* (FPTR reiserfs_fs_open) (dal_t *, dal_t *); FCLASS reiserfs_fs_t* (FPTR reiserfs_fs_create) (dal_t *, dal_t *, blk_t, blk_t, blk_t, size_t, int, int, const char *, const char *, blk_t, reiserfs_gauge_t *); FCLASS int (FPTR reiserfs_fs_resize) (reiserfs_fs_t *, blk_t, reiserfs_gauge_t *); #ifdef HAVE_REISERFS_FS_CHECK FCLASS int (FPTR reiserfs_fs_check) (reiserfs_fs_t *, reiserfs_gauge_t *); #endif FCLASS reiserfs_fs_t *(FPTR reiserfs_fs_copy) (reiserfs_fs_t *, dal_t *, reiserfs_gauge_t *); FCLASS int (FPTR reiserfs_fs_clobber) (dal_t *); FCLASS void (FPTR reiserfs_fs_close) (reiserfs_fs_t *); FCLASS int (FPTR reiserfs_fs_is_resizeable) (reiserfs_fs_t *); FCLASS int (FPTR reiserfs_fs_is_consistent) (reiserfs_fs_t *); FCLASS blk_t (FPTR reiserfs_fs_min_size) (reiserfs_fs_t *); FCLASS blk_t (FPTR reiserfs_fs_block_size) (reiserfs_fs_t *); FCLASS dal_t* (FPTR reiserfs_fs_host_dal) (reiserfs_fs_t *); FCLASS blk_t (FPTR reiserfs_fs_bitmap_used) (reiserfs_fs_t *); FCLASS int (FPTR reiserfs_fs_bitmap_check) (reiserfs_fs_t *); FCLASS reiserfs_gauge_t *(FPTR libreiserfs_gauge_create) ( char *, reiserfs_gauge_handler_t, void *); FCLASS void (FPTR libreiserfs_gauge_free) (reiserfs_gauge_t *); static void gauge_handler(const char *name, unsigned int value, void *data, int determined, int update_header, int update_footer) { PedTimer *timer = (PedTimer *) data; ped_timer_set_state_name(timer, name); ped_timer_update(timer, 1.0 * value / 100); } static PedExceptionOption exopt_libreiserfs_to_parted(reiserfs_exception_option_t option) { switch (option) { case EXCEPTION_UNHANDLED: return PED_EXCEPTION_UNHANDLED; case EXCEPTION_FIX: return PED_EXCEPTION_FIX; case EXCEPTION_YES: return PED_EXCEPTION_YES; case EXCEPTION_NO: return PED_EXCEPTION_NO; case EXCEPTION_OK: return PED_EXCEPTION_OK; case EXCEPTION_RETRY: return PED_EXCEPTION_RETRY; case EXCEPTION_IGNORE: return PED_EXCEPTION_IGNORE; case EXCEPTION_CANCEL: return PED_EXCEPTION_CANCEL; default: return PED_EXCEPTION_UNHANDLED; } } static PedExceptionType extype_libreiserfs_to_parted(reiserfs_exception_type_t type) { switch (type) { case EXCEPTION_INFORMATION: return PED_EXCEPTION_INFORMATION; case EXCEPTION_WARNING: return PED_EXCEPTION_WARNING; case EXCEPTION_ERROR: return PED_EXCEPTION_ERROR; case EXCEPTION_FATAL: return PED_EXCEPTION_FATAL; case EXCEPTION_BUG: return PED_EXCEPTION_BUG; case EXCEPTION_NO_FEATURE: return PED_EXCEPTION_NO_FEATURE; default: return PED_EXCEPTION_NO_FEATURE; } } static int exception_handler(reiserfs_exception_t *exception) { int ex_type = libreiserfs_exception_type(exception); int ex_option = libreiserfs_exception_option(exception); char *ex_message = libreiserfs_exception_message(exception); return ped_exception_throw (extype_libreiserfs_to_parted (ex_type), exopt_libreiserfs_to_parted (ex_option), ex_message); } #endif /* REISER_FULL_SUPPORT */ static PedGeometry *reiserfs_probe(PedGeometry *geom) { int i; reiserfs_super_block_t sb; PED_ASSERT(geom != NULL, return NULL); for (i = 0; reiserfs_super_offset[i] != -1; i++) { if (reiserfs_super_offset[i] >= geom->length) continue; if (!ped_geometry_read (geom, &sb, reiserfs_super_offset[i], 1)) continue; if (strncmp(REISERFS_SIGNATURE, sb.s_magic, strlen(REISERFS_SIGNATURE)) == 0 || strncmp(REISER2FS_SIGNATURE, sb.s_magic, strlen(REISER2FS_SIGNATURE)) == 0 || strncmp(REISER3FS_SIGNATURE, sb.s_magic, strlen(REISER3FS_SIGNATURE)) == 0) { PedSector block_size; PedSector block_count; block_size = PED_LE16_TO_CPU(sb.s_blocksize) / PED_SECTOR_SIZE_DEFAULT; block_count = PED_LE32_TO_CPU(sb.s_block_count); return ped_geometry_new(geom->dev, geom->start, block_size * block_count); } } return NULL; } #ifndef DISCOVER_ONLY static int reiserfs_clobber(PedGeometry *geom) { int i; char buf[512]; PED_ASSERT(geom != NULL, return 0); memset(buf, 0, 512); for (i = 0; reiserfs_super_offset[i] != -1; i++) { if (reiserfs_super_offset[i] >= geom->length) continue; if (!ped_geometry_write (geom, buf, reiserfs_super_offset[i], 1)) return 0; } return 1; } #endif /* !DISCOVER_ONLY */ #ifdef REISER_FULL_SUPPORT static PedFileSystem *reiserfs_open(PedGeometry *geom) { PedFileSystem *fs; PedGeometry *fs_geom; dal_t *dal; reiserfs_fs_t *fs_info; PED_ASSERT(geom != NULL, return NULL); if (!(fs_geom = ped_geometry_duplicate(geom))) goto error; if (! (dal = geom_dal_create(fs_geom, DEFAULT_BLOCK_SIZE, O_RDONLY))) goto error_fs_geom_free; /* We are passing NULL as DAL for journal. Therefore we let libreiserfs know, that journal not available and parted will be working fine for reiserfs with relocated journal too. */ if (!(fs = (PedFileSystem *) ped_malloc(sizeof(PedFileSystem)))) goto error_free_dal; if (!(fs_info = reiserfs_fs_open(dal, NULL))) goto error_free_fs; fs->type = reiserfs_type; fs->geom = fs_geom; fs->type_specific = (void *) fs_info; return fs; error_free_fs: free(fs); error_free_dal: geom_dal_free(dal); error_fs_geom_free: ped_geometry_destroy(fs_geom); error: return NULL; } static PedFileSystem *reiserfs_create(PedGeometry *geom, PedTimer *timer) { dal_t *dal; uuid_t uuid; PedFileSystem *fs; PedGeometry *fs_geom; reiserfs_fs_t *fs_info; reiserfs_gauge_t *gauge = NULL; PED_ASSERT(geom != NULL, return NULL); fs_geom = ped_geometry_duplicate(geom); if (!(dal = geom_dal_create(fs_geom, DEFAULT_BLOCK_SIZE, O_RDWR))) goto error_fs_geom_free; memset(uuid, 0, sizeof(uuid)); uuid_generate(uuid); ped_timer_reset(timer); ped_timer_set_state_name(timer, _("creating")); if (libreiserfs_gauge_create && libreiserfs_gauge_free) { if (! (gauge = libreiserfs_gauge_create(NULL, gauge_handler, timer))) goto error_free_dal; } if (!(fs_info = reiserfs_fs_create(dal, dal, 0, JOURNAL_MAX_TRANS, DEFAULT_JOURNAL_SIZE, DEFAULT_BLOCK_SIZE, FS_FORMAT_3_6, R5_HASH, NULL, (char *) uuid, dal_len(dal), gauge))) goto error_free_gauge; ped_timer_update(timer, 1.0); if (gauge) libreiserfs_gauge_free(gauge); if (!(fs = (PedFileSystem *) ped_malloc(sizeof(PedFileSystem)))) goto error_free_fs_info; fs->type = reiserfs_type; fs->geom = fs_geom; fs->type_specific = (void *) fs_info; return fs; error_free_fs_info: free(fs_info); error_free_gauge: if (gauge) libreiserfs_gauge_free(gauge); error_free_dal: geom_dal_free(dal); error_fs_geom_free: ped_geometry_destroy(fs_geom); return NULL; } static int reiserfs_close(PedFileSystem *fs) { dal_t *dal; PED_ASSERT(fs != NULL, return 0); dal = reiserfs_fs_host_dal(fs->type_specific); reiserfs_fs_close(fs->type_specific); geom_dal_free(dal); ped_geometry_sync(fs->geom); free(fs); return 1; } static PedConstraint *reiserfs_get_create_constraint(const PedDevice *dev) { PedGeometry full_dev; PedSector min_blks = (SUPER_OFFSET_IN_BYTES / DEFAULT_BLOCK_SIZE) + 2 + DEFAULT_JOURNAL_SIZE + 1 + 100 + 1; if (!ped_geometry_init(&full_dev, dev, 0, dev->length - 1)) return NULL; return ped_constraint_new(ped_alignment_any, ped_alignment_any, &full_dev, &full_dev, min_blks * (DEFAULT_BLOCK_SIZE / 512), dev->length); } static int reiserfs_check(PedFileSystem *fs, PedTimer *timer) { reiserfs_fs_t *fs_info; #ifdef HAVE_REISERFS_FS_CHECK reiserfs_gauge_t *gauge = NULL; #endif PED_ASSERT(fs != NULL, return 0); fs_info = fs->type_specific; if (!reiserfs_fs_is_consistent(fs_info)) { ped_exception_throw(PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("The file system is in an invalid " "state. Perhaps it is mounted?")); return 0; } if (!reiserfs_fs_is_resizeable(fs_info)) ped_exception_throw(PED_EXCEPTION_WARNING, PED_EXCEPTION_IGNORE, _("The file system is in old " "(unresizeable) format.")); if (!reiserfs_fs_bitmap_check(fs_info)) { ped_exception_throw(PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Invalid free blocks count. Run " "reiserfsck --check first.")); return 0; } #ifdef HAVE_REISERFS_FS_CHECK ped_timer_reset(timer); if (libreiserfs_gauge_create && libreiserfs_gauge_free) { if (! (gauge = libreiserfs_gauge_create(NULL, gauge_handler, timer))) return 0; } ped_timer_set_state_name(timer, _("checking")); ped_timer_update(timer, 0.0); if (!reiserfs_fs_check(fs_info, gauge)) { ped_exception_throw(PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Reiserfs tree seems to be corrupted. " "Run reiserfsck --check first.")); return 0; } ped_timer_update(timer, 1.0); if (gauge) libreiserfs_gauge_free(gauge); #endif ped_exception_throw(PED_EXCEPTION_INFORMATION, PED_EXCEPTION_OK, _("The reiserfs file system passed a basic check. " "For a more comprehensive check, run " "reiserfsck --check.")); return 1; } static int reiserfs_resize(PedFileSystem *fs, PedGeometry *geom, PedTimer *timer) { dal_t *dal; blk_t fs_len; PedSector old_length; reiserfs_fs_t *fs_info; reiserfs_gauge_t *gauge = NULL; PED_ASSERT(fs != NULL, return 0); old_length = fs->geom->length; PED_ASSERT (fs->geom->dev == geom->dev, return 0); if (fs->geom->start != geom->start) { ped_exception_throw(PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Sorry, can't move the start of " "reiserfs partitions yet.")); return 0; } fs_info = fs->type_specific; fs_len = (blk_t) (geom->length / (reiserfs_fs_block_size(fs_info) / PED_SECTOR_SIZE_DEFAULT)); dal = reiserfs_fs_host_dal(fs_info); if (dal_flags(dal) && O_RDONLY) { if (!geom_dal_reopen(dal, O_RDWR)) { ped_exception_throw(PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Couldn't reopen device " "abstraction layer for " "read/write.")); return 0; } } ped_timer_reset(timer); if (libreiserfs_gauge_create && libreiserfs_gauge_free) { if (! (gauge = libreiserfs_gauge_create(NULL, gauge_handler, timer))) return 0; } if (old_length > geom->length) { ped_timer_set_state_name(timer, _("shrinking")); ped_timer_update(timer, 0.0); if (!reiserfs_fs_resize(fs_info, fs_len, gauge)) goto error_free_gauge; ped_geometry_set_end (fs->geom, geom->end); dal_realize(dal); } else { ped_geometry_set_end (fs->geom, geom->end); dal_realize(dal); ped_timer_set_state_name(timer, _("expanding")); ped_timer_update(timer, 0.0); if (!reiserfs_fs_resize(fs_info, fs_len, gauge)) goto error_free_gauge; } ped_timer_update(timer, 1.0); if (gauge) libreiserfs_gauge_free(gauge); return 1; error_free_gauge: if (gauge) libreiserfs_gauge_free(gauge); ped_geometry_set_end (fs->geom, fs->geom->start + old_length - 1); return 0; } static PedConstraint *reiserfs_get_resize_constraint(const PedFileSystem * fs) { PedDevice *dev; PedSector min_size; PedGeometry full_disk; reiserfs_fs_t *fs_info; PedAlignment start_align; PedGeometry start_sector; PED_ASSERT(fs != NULL, return NULL); fs_info = fs->type_specific; dev = fs->geom->dev; if (!ped_alignment_init(&start_align, fs->geom->start, 0)) return NULL; if (!ped_geometry_init(&full_disk, dev, 0, dev->length - 1)) return NULL; if (!ped_geometry_init(&start_sector, dev, fs->geom->start, 1)) return NULL; /* Minsize for reiserfs is area occupied by data blocks and metadata blocks minus free space blocks and minus bitmap blocks which describes free space blocks. */ min_size = reiserfs_fs_min_size(fs_info) * (reiserfs_fs_block_size(fs_info) / PED_SECTOR_SIZE_DEFAULT); return ped_constraint_new(&start_align, ped_alignment_any, &start_sector, &full_disk, min_size, dev->length); } static PedFileSystem *reiserfs_copy(const PedFileSystem *fs, PedGeometry *geom, PedTimer *timer) { dal_t *dal; PedGeometry *fs_geom; PedFileSystem *new_fs; blk_t fs_len, min_needed_blk; reiserfs_fs_t *dest_fs, *src_fs; reiserfs_gauge_t *gauge = NULL; fs_geom = ped_geometry_duplicate(geom); if (!(dal = geom_dal_create(fs_geom, DEFAULT_BLOCK_SIZE, O_RDWR))) { ped_exception_throw(PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Couldn't create reiserfs device " "abstraction handler.")); goto error_free_fs_geom; } src_fs = fs->type_specific; fs_len = (geom->length / (reiserfs_fs_block_size(src_fs) / PED_SECTOR_SIZE_DEFAULT)); min_needed_blk = reiserfs_fs_bitmap_used(src_fs); if (fs_len <= min_needed_blk) { ped_exception_throw(PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Device is too small for %lu blocks."), min_needed_blk); goto error_free_dal; } if (! (new_fs = (PedFileSystem *) ped_malloc(sizeof(PedFileSystem)))) goto error_free_dal; ped_timer_reset(timer); ped_timer_set_state_name(timer, _("copying")); ped_timer_update(timer, 0.0); if (libreiserfs_gauge_create && libreiserfs_gauge_free) { if (! (gauge = libreiserfs_gauge_create(NULL, gauge_handler, timer))) goto error_free_new_fs; } if (!(dest_fs = reiserfs_fs_copy(src_fs, dal, gauge))) goto error_free_gauge; ped_timer_update(timer, 1.0); if (gauge) libreiserfs_gauge_free(gauge); new_fs->type = reiserfs_type; new_fs->geom = fs_geom; new_fs->type_specific = (void *) dest_fs; return new_fs; error_free_gauge: if (gauge) libreiserfs_gauge_free(gauge); error_free_new_fs: free(new_fs); error_free_dal: geom_dal_free(dal); error_free_fs_geom: ped_geometry_destroy(fs_geom); return NULL; } static PedConstraint *reiserfs_get_copy_constraint(const PedFileSystem *fs, const PedDevice *dev) { PedGeometry full_dev; PED_ASSERT(fs != NULL, return NULL); PED_ASSERT(dev != NULL, return NULL); if (!ped_geometry_init(&full_dev, dev, 0, dev->length - 1)) return NULL; return ped_constraint_new(ped_alignment_any, ped_alignment_any, &full_dev, &full_dev, reiserfs_fs_bitmap_used(fs->type_specific), dev->length); } #endif /* !REISER_FULL_SUPPORT */ #ifdef DYNAMIC_LOADING #define INIT_SYM(SYM) SYM = getsym (libreiserfs_handle, #SYM) static void *getsym(void *handle, const char *symbol) { void *entry; char *error; entry = dlsym(handle, symbol); if ((error = dlerror()) != NULL) { ped_exception_throw(PED_EXCEPTION_WARNING, PED_EXCEPTION_IGNORE, _("Couldn't resolve symbol %s. " "Error: %s."), symbol, error); return NULL; } return entry; } static int reiserfs_ops_interface_version_check(void) { int min_interface_version, max_interface_version; int (*libreiserfs_get_max_interface_version) (void); int (*libreiserfs_get_min_interface_version) (void); INIT_SYM(libreiserfs_get_max_interface_version); INIT_SYM(libreiserfs_get_min_interface_version); if (!libreiserfs_get_min_interface_version || !libreiserfs_get_max_interface_version) { ped_exception_throw( PED_EXCEPTION_WARNING, PED_EXCEPTION_CANCEL, _("GNU Parted found an invalid libreiserfs library.")); return 0; } min_interface_version = libreiserfs_get_min_interface_version(); max_interface_version = libreiserfs_get_max_interface_version(); if (REISERFS_API_VERSION < min_interface_version || REISERFS_API_VERSION > max_interface_version) { ped_exception_throw( PED_EXCEPTION_WARNING, PED_EXCEPTION_CANCEL, _("GNU Parted has detected libreiserfs interface " "version mismatch. Found %d-%d, required %d. " "ReiserFS support will be disabled."), min_interface_version, max_interface_version, REISERFS_API_VERSION); return 0; } return 1; } static int reiserfs_ops_init(void) { if (!(libreiserfs_handle = dlopen("libreiserfs.so", RTLD_NOW))) goto error; if (!reiserfs_ops_interface_version_check()) goto error_free_libreiserfs_handle; if (!(libdal_handle = dlopen("libdal.so", RTLD_NOW))) goto error_free_libreiserfs_handle; INIT_SYM(reiserfs_fs_probe); INIT_SYM(libreiserfs_exception_type); INIT_SYM(libreiserfs_exception_option); INIT_SYM(libreiserfs_exception_message); INIT_SYM(libreiserfs_exception_set_handler); INIT_SYM(reiserfs_fs_clobber); INIT_SYM(reiserfs_fs_open); INIT_SYM(reiserfs_fs_create); INIT_SYM(reiserfs_fs_resize); INIT_SYM(reiserfs_fs_copy); INIT_SYM(reiserfs_fs_is_resizeable); INIT_SYM(reiserfs_fs_is_consistent); INIT_SYM(reiserfs_fs_bitmap_check); INIT_SYM(reiserfs_fs_bitmap_used); INIT_SYM(reiserfs_fs_min_size); INIT_SYM(reiserfs_fs_block_size); INIT_SYM(reiserfs_fs_host_dal); INIT_SYM(reiserfs_fs_close); INIT_SYM(libreiserfs_gauge_create); INIT_SYM(libreiserfs_gauge_free); INIT_SYM(dal_realize); INIT_SYM(dal_flags); INIT_SYM(dal_block_size); INIT_SYM(dal_len); return 1; error_free_libreiserfs_handle: dlclose(libreiserfs_handle); libreiserfs_handle = NULL; error: return 0; } static void reiserfs_ops_done() { if (libdal_handle) dlclose(libdal_handle); if (libreiserfs_handle) dlclose(libreiserfs_handle); } #endif /* DYNAMIC_LOADING */ #define REISER_BLOCK_SIZES ((int[]){512, 1024, 2048, 4096, 8192, 0}) #ifdef REISER_FULL_SUPPORT static PedFileSystemOps reiserfs_full_ops = { probe: reiserfs_probe, clobber: reiserfs_clobber, open: reiserfs_open, create: reiserfs_create, close: reiserfs_close, check: reiserfs_check, copy: reiserfs_copy, resize: reiserfs_resize, get_create_constraint: reiserfs_get_create_constraint, get_resize_constraint: reiserfs_get_resize_constraint, get_copy_constraint: reiserfs_get_copy_constraint }; static PedFileSystemType reiserfs_full_type = { next: NULL, ops: &reiserfs_full_ops, name: "reiserfs", block_sizes: REISER_BLOCK_SIZES }; #endif /* REISER_FULL_SUPPORT */ static PedFileSystemOps reiserfs_simple_ops = { probe: reiserfs_probe, #ifdef DISCOVER_ONLY clobber: NULL, #else clobber: reiserfs_clobber, #endif open: NULL, create: NULL, close: NULL, check: NULL, copy: NULL, resize: NULL, get_create_constraint: NULL, get_resize_constraint: NULL, get_copy_constraint: NULL }; static PedFileSystemType reiserfs_simple_type = { next: NULL, ops: &reiserfs_simple_ops, name: "reiserfs", block_sizes: REISER_BLOCK_SIZES }; void ped_file_system_reiserfs_init() { #ifdef DYNAMIC_LOADING libreiserfs_present = reiserfs_ops_init(); if (libreiserfs_present) { reiserfs_type = &reiserfs_full_type; libreiserfs_exception_set_handler(exception_handler); } else { reiserfs_type = &reiserfs_simple_type; } #else /* !DYNAMIC_LOADING */ #ifdef REISER_FULL_SUPPORT libreiserfs_exception_set_handler(exception_handler); reiserfs_type = &reiserfs_full_type; #else reiserfs_type = &reiserfs_simple_type; #endif #endif /* !DYNAMIC_LOADING */ ped_file_system_type_register(reiserfs_type); } void ped_file_system_reiserfs_done() { ped_file_system_type_unregister(reiserfs_type); #ifdef DYNAMIC_LOADING reiserfs_ops_done(); #endif /* DYNAMIC_LOADING */ } parted-2.3/libparted/fs/reiserfs/Makefile.am0000644000000000000000000000034611035473300015757 00000000000000partedincludedir = -I$(top_srcdir)/include noinst_LTLIBRARIES = libreiserfs.la libreiserfs_la_SOURCES = reiserfs.c reiserfs.h geom_dal.c geom_dal.h INCLUDES = $(partedincludedir) $(INTLINCS) MAINTAINERCLEANFILES = Makefile.in parted-2.3/libparted/fs/reiserfs/geom_dal.c0000644000000000000000000000640711333731662015653 00000000000000/* geom_dal.c -- parted device abstraction layer Copyright (C) 2001-2002, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #if (DYNAMIC_LOADING || HAVE_LIBREISERFS) && !DISCOVER_ONLY #include "geom_dal.h" #include #include static blk_t __len(dal_t *dal) { PED_ASSERT(dal != NULL, return 0); return ((PedGeometry *)dal->dev)->length / (dal->block_size / PED_SECTOR_SIZE_DEFAULT); } static int __read(dal_t *dal, void *buff, blk_t block, blk_t count) { blk_t k; PedSector block_pos; PedSector block_count; PED_ASSERT(dal != NULL, return 0); k = dal->block_size / PED_SECTOR_SIZE_DEFAULT; block_pos = (PedSector)(block * k); block_count = (PedSector)(count * k); return ped_geometry_read((PedGeometry *)dal->dev, buff, block_pos, block_count); } static int __write(dal_t *dal, void *buff, blk_t block, blk_t count) { blk_t k; PedSector block_pos; PedSector block_count; PED_ASSERT(dal != NULL, return 0); k = dal->block_size / PED_SECTOR_SIZE_DEFAULT; block_pos = (PedSector)(block * k); block_count = (PedSector)(count * k); return ped_geometry_write((PedGeometry *)dal->dev, buff, block_pos, block_count); } static int __sync(dal_t *dal) { PED_ASSERT(dal != NULL, return 0); return ped_geometry_sync((PedGeometry *)dal->dev); } static int __flags(dal_t *dal) { PED_ASSERT(dal != NULL, return 0); return dal->flags; } static int __equals(dal_t *dal1, dal_t *dal2) { PED_ASSERT(dal1 != NULL, return 0); PED_ASSERT(dal2 != NULL, return 0); return ped_geometry_test_equal((PedGeometry *)dal1->dev, (PedGeometry *)dal2->dev); } static int __stat(dal_t *dal, struct stat *st) { PED_ASSERT(dal != NULL, return 0); PED_ASSERT(st != NULL, return 0); if (stat(((PedGeometry *)dal->dev)->dev->path, st)) return 0; return 1; } static dev_t __dev(dal_t *dal) { struct stat st; if (!__stat(dal, &st)) return (dev_t)0; return st.st_dev; } static struct dal_ops ops = { __len, __read, __write, __sync, __flags, __equals, __stat, __dev }; dal_t *geom_dal_create(PedGeometry *geom, size_t block_size, int flags) { dal_t *dal; if (!geom) return NULL; if (!(dal = ped_malloc(sizeof(dal_t)))) return NULL; dal->ops = &ops; dal->dev = geom; dal->block_size = block_size; dal->flags = flags; dal->len = 0; return dal; } int geom_dal_reopen(dal_t *dal, int flags) { if (!dal) return 0; dal->flags = flags; return 1; } void geom_dal_free(dal_t *dal) { PED_ASSERT(dal != NULL, return); free(dal); } #endif parted-2.3/libparted/fs/reiserfs/Makefile.in0000644000000000000000000011452211400005574015772 00000000000000# Makefile.in generated by automake 1.11a from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = libparted/fs/reiserfs DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \ $(top_srcdir)/m4/asm-underscore.m4 $(top_srcdir)/m4/assert.m4 \ $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/calloc.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \ $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/dirname.m4 \ $(top_srcdir)/m4/dos.m4 $(top_srcdir)/m4/double-slash-root.m4 \ $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/extensions.m4 \ $(top_srcdir)/m4/fclose.m4 $(top_srcdir)/m4/fcntl-o.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fpending.m4 \ $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getopt.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \ $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/lib-ignore.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \ $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \ $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/long-options.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \ $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/memchr.m4 \ $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \ $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/o-direct.m4 $(top_srcdir)/m4/open.m4 \ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \ $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/readlink.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/safe-read.m4 \ $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \ $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/symlink.m4 \ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \ $(top_srcdir)/m4/version-etc.m4 \ $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \ $(top_srcdir)/m4/wctype_h.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xstrndup.m4 \ $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/lib/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libreiserfs_la_LIBADD = am_libreiserfs_la_OBJECTS = reiserfs.lo geom_dal.lo libreiserfs_la_OBJECTS = $(am_libreiserfs_la_OBJECTS) AM_V_lt = $(am__v_lt_$(V)) am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) am__v_lt_0 = --silent DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/lib depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_$(V)) am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) am__v_CC_0 = @echo " CC " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_$(V)) am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) am__v_CCLD_0 = @echo " CCLD " $@; AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; SOURCES = $(libreiserfs_la_SOURCES) DIST_SOURCES = $(libreiserfs_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ BUILDINFO = @BUILDINFO@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ CONFIG_INCLUDE = @CONFIG_INCLUDE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DL_LIBS = @DL_LIBS@ DM_LIBS = @DM_LIBS@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENABLE_DEVICE_MAPPER = @ENABLE_DEVICE_MAPPER@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPURGE = @GNULIB_FPURGE@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSTATAT = @GNULIB_FSTATAT@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETGROUPS = @GNULIB_GETGROUPS@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMCHR = @GNULIB_MEMCHR@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDIRAT = @GNULIB_MKDIRAT@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKFIFO = @GNULIB_MKFIFO@ GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@ GNULIB_MKNOD = @GNULIB_MKNOD@ GNULIB_MKNODAT = @GNULIB_MKNODAT@ GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PTSNAME = @GNULIB_PTSNAME@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ GNULIB_RMDIR = @GNULIB_RMDIR@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STAT = @GNULIB_STAT@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNCAT = @GNULIB_STRNCAT@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRPTIME = @GNULIB_STRPTIME@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNLINK = @GNULIB_UNLINK@ GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_USLEEP = @GNULIB_USLEEP@ GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_FUTIMENS = @HAVE_FUTIMENS@ HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETGROUPS = @HAVE_GETGROUPS@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@ HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@ HAVE_LANGINFO_H = @HAVE_LANGINFO_H@ HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LCHOWN = @HAVE_LCHOWN@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LOCALTIME_R = @HAVE_LOCALTIME_R@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_MKFIFO = @HAVE_MKFIFO@ HAVE_MKFIFOAT = @HAVE_MKFIFOAT@ HAVE_MKNOD = @HAVE_MKNOD@ HAVE_MKNODAT = @HAVE_MKNODAT@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ HAVE_OS_H = @HAVE_OS_H@ HAVE_PIPE2 = @HAVE_PIPE2@ HAVE_PREAD = @HAVE_PREAD@ HAVE_PTSNAME = @HAVE_PTSNAME@ HAVE_PWRITE = @HAVE_PWRITE@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TTYNAME_R = @HAVE_TTYNAME_R@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_USLEEP = @HAVE_USLEEP@ HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ HAVE_WCRTOMB = @HAVE_WCRTOMB@ HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE__BOOL = @HAVE__BOOL@ IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ INTLINCS = @INTLINCS@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ LIBTOOL = @LIBTOOL@ LIB_BLKID = @LIB_BLKID@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@ LOCALE_JA = @LOCALE_JA@ LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTALLOCA = @LTALLOCA@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ NEXT_WCTYPE_H = @NEXT_WCTYPE_H@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OS = @OS@ OS_LIBS = @OS_LIBS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PARTEDLDFLAGS = @PARTEDLDFLAGS@ PARTED_LIBS = @PARTED_LIBS@ PARTED_USABLE_TEST_DIR = @PARTED_USABLE_TEST_DIR@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POSUB = @POSUB@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PRIPTR_PREFIX = @PRIPTR_PREFIX@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REISER_LIBS = @REISER_LIBS@ REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FSTAT = @REPLACE_FSTAT@ REPLACE_FSTATAT = @REPLACE_FSTATAT@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ REPLACE_MBRLEN = @REPLACE_MBRLEN@ REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ REPLACE_MBSINIT = @REPLACE_MBSINIT@ REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_OPENAT = @REPLACE_OPENAT@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALPATH = @REPLACE_REALPATH@ REPLACE_REMOVE = @REPLACE_REMOVE@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRNCAT = @REPLACE_STRNCAT@ REPLACE_STRNDUP = @REPLACE_STRNDUP@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ REPLACE_UNSETENV = @REPLACE_UNSETENV@ REPLACE_USLEEP = @REPLACE_USLEEP@ REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ SELINUX_LIBS = @SELINUX_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_NLS = @USE_NLS@ UUID_LIBS = @UUID_LIBS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_aux_dir = @abs_aux_dir@ 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@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ gltests_WITNESS = @gltests_WITNESS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ partedincludedir = -I$(top_srcdir)/include noinst_LTLIBRARIES = libreiserfs.la libreiserfs_la_SOURCES = reiserfs.c reiserfs.h geom_dal.c geom_dal.h INCLUDES = $(partedincludedir) $(INTLINCS) MAINTAINERCLEANFILES = Makefile.in all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libparted/fs/reiserfs/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu libparted/fs/reiserfs/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libreiserfs.la: $(libreiserfs_la_OBJECTS) $(libreiserfs_la_DEPENDENCIES) $(AM_V_CCLD)$(LINK) $(libreiserfs_la_OBJECTS) $(libreiserfs_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/geom_dal.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reiserfs.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: $(HEADERS) $(SOURCES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstLTLIBRARIES cscopelist ctags \ distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: parted-2.3/libparted/fs/reiserfs/geom_dal.h0000644000000000000000000000312011333731662015645 00000000000000/* geom_dal.h -- parted device abstraction layer Copyright (C) 2001-2002, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef GEOM_DAL_H #define GEOM_DAL_H #include #if DYNAMIC_LOADING || !DISCOVER_ONLY #include typedef unsigned long blk_t; struct dal_ops; struct _dal { struct dal_ops *ops; const void *dev; size_t block_size; int flags; void *data; blk_t len; }; typedef struct _dal dal_t; struct dal_ops { blk_t (*len)(dal_t *); int (*read)(dal_t *, void *, blk_t, blk_t); int (*write)(dal_t *, void *, blk_t, blk_t); int (*sync)(dal_t *); int (*flags)(dal_t *); int (*equals)(dal_t *, dal_t *); int (*stat)(dal_t *, struct stat *); dev_t (*dev)(dal_t *); }; extern dal_t *geom_dal_create(PedGeometry *geom, size_t block_size, int flags); extern int geom_dal_reopen(dal_t *dal, int flags); extern void geom_dal_free(dal_t *dal); #endif #endif parted-2.3/libparted/fs/amiga/0000755000000000000000000000000011400006132013223 500000000000000parted-2.3/libparted/fs/amiga/interface.c0000644000000000000000000000651311333731662015276 00000000000000/* interface.c -- parted support amiga file systems Copyright (C) 1998-2000, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include extern PedFileSystemType _affs0_type; extern PedFileSystemType _affs1_type; extern PedFileSystemType _affs2_type; extern PedFileSystemType _affs3_type; extern PedFileSystemType _affs4_type; extern PedFileSystemType _affs5_type; extern PedFileSystemType _affs6_type; extern PedFileSystemType _affs7_type; extern PedFileSystemType _amufs_type; extern PedFileSystemType _amufs0_type; extern PedFileSystemType _amufs1_type; extern PedFileSystemType _amufs2_type; extern PedFileSystemType _amufs3_type; extern PedFileSystemType _amufs4_type; extern PedFileSystemType _amufs5_type; extern PedFileSystemType _asfs_type; extern PedFileSystemType _apfs1_type; extern PedFileSystemType _apfs2_type; void ped_file_system_amiga_init () { ped_file_system_type_register (&_affs0_type); ped_file_system_type_register (&_affs1_type); ped_file_system_type_register (&_affs2_type); ped_file_system_type_register (&_affs3_type); ped_file_system_type_register (&_affs4_type); ped_file_system_type_register (&_affs5_type); ped_file_system_type_register (&_affs6_type); ped_file_system_type_register (&_affs7_type); ped_file_system_type_register (&_amufs_type); ped_file_system_type_register (&_amufs0_type); ped_file_system_type_register (&_amufs1_type); ped_file_system_type_register (&_amufs2_type); ped_file_system_type_register (&_amufs3_type); ped_file_system_type_register (&_amufs4_type); ped_file_system_type_register (&_amufs5_type); ped_file_system_type_register (&_asfs_type); ped_file_system_type_register (&_apfs1_type); ped_file_system_type_register (&_apfs2_type); } void ped_file_system_amiga_done () { ped_file_system_type_unregister (&_affs0_type); ped_file_system_type_unregister (&_affs1_type); ped_file_system_type_unregister (&_affs2_type); ped_file_system_type_unregister (&_affs3_type); ped_file_system_type_unregister (&_affs4_type); ped_file_system_type_unregister (&_affs5_type); ped_file_system_type_unregister (&_affs6_type); ped_file_system_type_unregister (&_affs7_type); ped_file_system_type_unregister (&_amufs_type); ped_file_system_type_unregister (&_amufs0_type); ped_file_system_type_unregister (&_amufs1_type); ped_file_system_type_unregister (&_amufs2_type); ped_file_system_type_unregister (&_amufs3_type); ped_file_system_type_unregister (&_amufs4_type); ped_file_system_type_unregister (&_amufs5_type); ped_file_system_type_unregister (&_asfs_type); ped_file_system_type_unregister (&_apfs1_type); ped_file_system_type_unregister (&_apfs2_type); } parted-2.3/libparted/fs/amiga/affs.c0000644000000000000000000002664111333731662014261 00000000000000/* affs.c -- parted support for affs file systems Copyright (C) 1998-2000, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include #include "amiga.h" #include "affs.h" #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ static int _affs_probe_root (uint32_t *block, int blocksize) { int i; uint32_t sum; if (PED_BE32_TO_CPU (block[0]) != 2) return 0; if (PED_BE32_TO_CPU (block[128*blocksize-1]) != 1) return 0; for (i = 0, sum = 0; i < 128*blocksize; i++) sum += PED_BE32_TO_CPU (block[i]); if (sum) return 0; return 1; } static PedGeometry* _generic_affs_probe (PedGeometry* geom, uint32_t kind) { uint32_t *block; PedSector root, len, pos; struct PartitionBlock * part; int blocksize = 1, reserved = 2, prealloc = 0; PED_ASSERT (geom != NULL, return NULL); PED_ASSERT (geom->dev != NULL, return NULL); /* Finds the blocksize, prealloc and reserved values of the partition block */ if (!(part = ped_malloc (PED_SECTOR_SIZE_DEFAULT*blocksize))) { ped_exception_throw(PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("%s : Failed to allocate partition block\n"), __func__); goto error_part; } if (amiga_find_part(geom, part) != NULL) { prealloc = PED_BE32_TO_CPU (part->de_PreAlloc); reserved = PED_BE32_TO_CPU (part->de_Reserved); reserved = reserved == 0 ? 1 : reserved; blocksize = PED_BE32_TO_CPU (part->de_SizeBlock) * PED_BE32_TO_CPU (part->de_SectorPerBlock) / 128; } free (part); /* Test boot block */ if (!(block = ped_malloc (PED_SECTOR_SIZE_DEFAULT*blocksize))) { ped_exception_throw(PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("%s : Failed to allocate block\n"), __func__); goto error_block; } if (!ped_device_read (geom->dev, block, geom->start, blocksize)) { ped_exception_throw(PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("%s : Couldn't read boot block %llu\n"), __func__, geom->start); goto error; } if (PED_BE32_TO_CPU (block[0]) != kind) { goto error; } /* Find and test the root block */ len = geom->length / blocksize - reserved; pos = (len - 1) / 2; root = geom->start + (pos + reserved) * blocksize; printf ("Pralloc = %d, Reserved = %d, blocksize = %d, root block at %llu\n", prealloc, reserved, blocksize, root); if (!ped_device_read (geom->dev, block, root, blocksize)) { ped_exception_throw(PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("%s : Couldn't read root block %llu\n"), __func__, root); goto error; } if (_affs_probe_root(block, blocksize) == 1) { free (block); return ped_geometry_duplicate (geom); } error: free (block); error_block: error_part: return NULL; } static PedGeometry* _affs0_probe (PedGeometry* geom) { return _generic_affs_probe (geom, 0x444f5300); } static PedGeometry* _affs1_probe (PedGeometry* geom) { return _generic_affs_probe (geom, 0x444f5301); } static PedGeometry* _affs2_probe (PedGeometry* geom) { return _generic_affs_probe (geom, 0x444f5302); } static PedGeometry* _affs3_probe (PedGeometry* geom) { return _generic_affs_probe (geom, 0x444f5303); } static PedGeometry* _affs4_probe (PedGeometry* geom) { return _generic_affs_probe (geom, 0x444f5304); } static PedGeometry* _affs5_probe (PedGeometry* geom) { return _generic_affs_probe (geom, 0x444f5305); } static PedGeometry* _affs6_probe (PedGeometry* geom) { return _generic_affs_probe (geom, 0x444f5306); } static PedGeometry* _affs7_probe (PedGeometry* geom) { return _generic_affs_probe (geom, 0x444f5307); } static PedGeometry* _amufs_probe (PedGeometry* geom) { return _generic_affs_probe (geom, 0x6d754653); } static PedGeometry* _amufs0_probe (PedGeometry* geom) { return _generic_affs_probe (geom, 0x6d754600); } static PedGeometry* _amufs1_probe (PedGeometry* geom) { return _generic_affs_probe (geom, 0x6d754601); } static PedGeometry* _amufs2_probe (PedGeometry* geom) { return _generic_affs_probe (geom, 0x6d754602); } static PedGeometry* _amufs3_probe (PedGeometry* geom) { return _generic_affs_probe (geom, 0x6d754603); } static PedGeometry* _amufs4_probe (PedGeometry* geom) { return _generic_affs_probe (geom, 0x6d754604); } static PedGeometry* _amufs5_probe (PedGeometry* geom) { return _generic_affs_probe (geom, 0x6d754605); } static PedFileSystemOps _affs0_ops = { probe: _affs0_probe, clobber: NULL, open: NULL, create: NULL, close: NULL, check: NULL, resize: NULL, copy: NULL, get_create_constraint: NULL, get_copy_constraint: NULL, get_resize_constraint: NULL }; static PedFileSystemOps _affs1_ops = { probe: _affs1_probe, clobber: NULL, open: NULL, create: NULL, close: NULL, check: NULL, resize: NULL, copy: NULL, get_create_constraint: NULL, get_copy_constraint: NULL, get_resize_constraint: NULL }; static PedFileSystemOps _affs2_ops = { probe: _affs2_probe, clobber: NULL, open: NULL, create: NULL, close: NULL, check: NULL, resize: NULL, copy: NULL, get_create_constraint: NULL, get_copy_constraint: NULL, get_resize_constraint: NULL }; static PedFileSystemOps _affs3_ops = { probe: _affs3_probe, clobber: NULL, open: NULL, create: NULL, close: NULL, check: NULL, resize: NULL, copy: NULL, get_create_constraint: NULL, get_copy_constraint: NULL, get_resize_constraint: NULL }; static PedFileSystemOps _affs4_ops = { probe: _affs4_probe, clobber: NULL, open: NULL, create: NULL, close: NULL, check: NULL, resize: NULL, copy: NULL, get_create_constraint: NULL, get_copy_constraint: NULL, get_resize_constraint: NULL }; static PedFileSystemOps _affs5_ops = { probe: _affs5_probe, clobber: NULL, open: NULL, create: NULL, close: NULL, check: NULL, resize: NULL, copy: NULL, get_create_constraint: NULL, get_copy_constraint: NULL, get_resize_constraint: NULL }; static PedFileSystemOps _affs6_ops = { probe: _affs6_probe, clobber: NULL, open: NULL, create: NULL, close: NULL, check: NULL, resize: NULL, copy: NULL, get_create_constraint: NULL, get_copy_constraint: NULL, get_resize_constraint: NULL }; static PedFileSystemOps _affs7_ops = { probe: _affs7_probe, clobber: NULL, open: NULL, create: NULL, close: NULL, check: NULL, resize: NULL, copy: NULL, get_create_constraint: NULL, get_copy_constraint: NULL, get_resize_constraint: NULL }; static PedFileSystemOps _amufs_ops = { probe: _amufs_probe, clobber: NULL, open: NULL, create: NULL, close: NULL, check: NULL, resize: NULL, copy: NULL, get_create_constraint: NULL, get_copy_constraint: NULL, get_resize_constraint: NULL }; static PedFileSystemOps _amufs0_ops = { probe: _amufs0_probe, clobber: NULL, open: NULL, create: NULL, close: NULL, check: NULL, resize: NULL, copy: NULL, get_create_constraint: NULL, get_copy_constraint: NULL, get_resize_constraint: NULL }; static PedFileSystemOps _amufs1_ops = { probe: _amufs1_probe, clobber: NULL, open: NULL, create: NULL, close: NULL, check: NULL, resize: NULL, copy: NULL, get_create_constraint: NULL, get_copy_constraint: NULL, get_resize_constraint: NULL }; static PedFileSystemOps _amufs2_ops = { probe: _amufs2_probe, clobber: NULL, open: NULL, create: NULL, close: NULL, check: NULL, resize: NULL, copy: NULL, get_create_constraint: NULL, get_copy_constraint: NULL, get_resize_constraint: NULL }; static PedFileSystemOps _amufs3_ops = { probe: _amufs3_probe, clobber: NULL, open: NULL, create: NULL, close: NULL, check: NULL, resize: NULL, copy: NULL, get_create_constraint: NULL, get_copy_constraint: NULL, get_resize_constraint: NULL }; static PedFileSystemOps _amufs4_ops = { probe: _amufs4_probe, clobber: NULL, open: NULL, create: NULL, close: NULL, check: NULL, resize: NULL, copy: NULL, get_create_constraint: NULL, get_copy_constraint: NULL, get_resize_constraint: NULL }; static PedFileSystemOps _amufs5_ops = { probe: _amufs5_probe, clobber: NULL, open: NULL, create: NULL, close: NULL, check: NULL, resize: NULL, copy: NULL, get_create_constraint: NULL, get_copy_constraint: NULL, get_resize_constraint: NULL }; #define AFFS_BLOCK_SIZES ((int[5]){512, 1024, 2048, 4096, 0}) #define AMUFS_BLOCK_SIZES ((int[2]){512, 0}) PedFileSystemType _affs0_type = { next: NULL, ops: &_affs0_ops, name: "affs0", block_sizes: AFFS_BLOCK_SIZES }; PedFileSystemType _affs1_type = { next: NULL, ops: &_affs1_ops, name: "affs1", block_sizes: AFFS_BLOCK_SIZES }; PedFileSystemType _affs2_type = { next: NULL, ops: &_affs2_ops, name: "affs2", block_sizes: AFFS_BLOCK_SIZES }; PedFileSystemType _affs3_type = { next: NULL, ops: &_affs3_ops, name: "affs3", block_sizes: AFFS_BLOCK_SIZES }; PedFileSystemType _affs4_type = { next: NULL, ops: &_affs4_ops, name: "affs4", block_sizes: AFFS_BLOCK_SIZES }; PedFileSystemType _affs5_type = { next: NULL, ops: &_affs5_ops, name: "affs5", block_sizes: AFFS_BLOCK_SIZES }; PedFileSystemType _affs6_type = { next: NULL, ops: &_affs6_ops, name: "affs6", block_sizes: AFFS_BLOCK_SIZES }; PedFileSystemType _affs7_type = { next: NULL, ops: &_affs7_ops, name: "affs7", block_sizes: AFFS_BLOCK_SIZES }; PedFileSystemType _amufs_type = { next: NULL, ops: &_amufs_ops, name: "amufs", block_sizes: AMUFS_BLOCK_SIZES }; PedFileSystemType _amufs0_type = { next: NULL, ops: &_amufs0_ops, name: "amufs0", block_sizes: AMUFS_BLOCK_SIZES }; PedFileSystemType _amufs1_type = { next: NULL, ops: &_amufs1_ops, name: "amufs1", block_sizes: AMUFS_BLOCK_SIZES }; PedFileSystemType _amufs2_type = { next: NULL, ops: &_amufs2_ops, name: "amufs2", block_sizes: AMUFS_BLOCK_SIZES }; PedFileSystemType _amufs3_type = { next: NULL, ops: &_amufs3_ops, name: "amufs3", block_sizes: AMUFS_BLOCK_SIZES }; PedFileSystemType _amufs4_type = { next: NULL, ops: &_amufs4_ops, name: "amufs4", block_sizes: AMUFS_BLOCK_SIZES }; PedFileSystemType _amufs5_type = { next: NULL, ops: &_amufs5_ops, name: "amufs5", block_sizes: AMUFS_BLOCK_SIZES }; parted-2.3/libparted/fs/amiga/affs.h0000644000000000000000000000144311370314006014245 00000000000000 /* affs.h -- parted suppoer for affs filesystems header files Copyright (C) 1998-2000, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ parted-2.3/libparted/fs/amiga/amiga.h0000644000000000000000000000656311370314006014414 00000000000000/* util.h -- amiga partition table headers. Copyright (C) 1998-2000, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ struct PartitionBlock { uint32_t pb_ID; /* Identifier 32 bit word : 'PART' */ uint32_t pb_SummedLongs; /* Size of the structure for checksums */ int32_t pb_ChkSum; /* Checksum of the structure */ uint32_t pb_HostID; /* SCSI Target ID of host, not really used */ uint32_t pb_Next; /* Block number of the next PartitionBlock */ uint32_t pb_Flags; /* Part Flags (NOMOUNT and BOOTABLE) */ uint32_t pb_Reserved1[2]; uint32_t pb_DevFlags; /* Preferred flags for OpenDevice */ uint8_t pb_DriveName[32]; /* Preferred DOS device name: BSTR form */ uint32_t pb_Reserved2[15]; uint32_t de_TableSize; /* Size of Environment vector */ uint32_t de_SizeBlock; /* Size of the blocks in 32 bit words, usually 128 */ uint32_t de_SecOrg; /* Not used; must be 0 */ uint32_t de_Surfaces; /* Number of heads (surfaces) */ uint32_t de_SectorPerBlock; /* Disk sectors per block, used with SizeBlock, usually 1 */ uint32_t de_BlocksPerTrack; /* Blocks per track. drive specific */ uint32_t de_Reserved; /* DOS reserved blocks at start of partition. */ uint32_t de_PreAlloc; /* DOS reserved blocks at end of partition */ uint32_t de_Interleave; /* Not used, usually 0 */ uint32_t de_LowCyl; /* First cylinder of the partition */ uint32_t de_HighCyl; /* Last cylinder of the partition */ uint32_t de_NumBuffers; /* Initial # DOS of buffers. */ uint32_t de_BufMemType; /* Type of mem to allocate for buffers */ uint32_t de_MaxTransfer; /* Max number of bytes to transfer at a time */ uint32_t de_Mask; /* Address Mask to block out certain memory */ int32_t de_BootPri; /* Boot priority for autoboot */ uint32_t de_DosType; /* Dostype of the file system */ uint32_t de_Baud; /* Baud rate for serial handler */ uint32_t de_Control; /* Control word for handler/filesystem */ uint32_t de_BootBlocks; /* Number of blocks containing boot code */ uint32_t pb_EReserved[12]; }; #define PART(pos) ((struct PartitionBlock *)(pos)) #define PBFB_BOOTABLE 0 /* this partition is intended to be bootable */ #define PBFF_BOOTABLE 1L /* (expected directories and files exist) */ #define PBFB_NOMOUNT 1 /* do not mount this partition (e.g. manually */ #define PBFF_NOMOUNT 2L /* mounted, but space reserved here) */ struct PartitionBlock * amiga_find_part (PedGeometry *geom, struct PartitionBlock *part); struct AmigaIds { uint32_t ID; struct AmigaIds *next; }; struct AmigaIds * _amiga_add_id (uint32_t id, struct AmigaIds *ids); void _amiga_free_ids (struct AmigaIds *ids); int _amiga_id_in_list (uint32_t id, struct AmigaIds *ids); parted-2.3/libparted/fs/amiga/Makefile.am0000644000000000000000000000046711035473300015217 00000000000000partedincludedir = -I$(top_srcdir)/include noinst_LTLIBRARIES = libamigafs.la libamigafs_la_SOURCES = amiga.h \ amiga.c \ affs.h \ affs.c \ asfs.h \ asfs.c \ apfs.h \ apfs.c \ interface.c INCLUDES = $(partedincludedir) $(INTLINCS) MAINTAINERCLEANFILES = Makefile.in parted-2.3/libparted/fs/amiga/amiga.c0000644000000000000000000002446211333731662014417 00000000000000/* libparted/fs_amiga - amiga file system support. Copyright (C) 2000-2001, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Contributor: Sven Luther */ #include #include #include #include #include "amiga.h" #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ #define IDNAME_RIGIDDISK (uint32_t)0x5244534B /* 'RDSK' */ #define IDNAME_BADBLOCK (uint32_t)0x42414442 /* 'BADB' */ #define IDNAME_PARTITION (uint32_t)0x50415254 /* 'PART' */ #define IDNAME_FILESYSHEADER (uint32_t)0x46534844 /* 'FSHD' */ #define IDNAME_LOADSEG (uint32_t)0x4C534547 /* 'LSEG' */ #define IDNAME_BOOT (uint32_t)0x424f4f54 /* 'BOOT' */ #define IDNAME_FREE (uint32_t)0xffffffff static const char * _amiga_block_id (uint32_t id) { switch (id) { case IDNAME_RIGIDDISK : return "RDSK"; case IDNAME_BADBLOCK : return "BADB"; case IDNAME_PARTITION : return "PART"; case IDNAME_FILESYSHEADER : return "FSHD"; case IDNAME_LOADSEG : return "LSEG"; case IDNAME_BOOT : return "BOOT"; case IDNAME_FREE : return ""; default : return ""; } } struct AmigaIds * _amiga_add_id (uint32_t id, struct AmigaIds *ids) { struct AmigaIds *newid; if ((newid=ped_malloc(sizeof (struct AmigaIds)))==NULL) { ped_exception_throw(PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("%s : Failed to allocate id list element\n"), __func__); return 0; } newid->ID = id; newid->next = ids; return newid; } void _amiga_free_ids (struct AmigaIds *ids) { struct AmigaIds *current, *next; for (current = ids; current != NULL; current = next) { next = current->next; free (current); } } int _amiga_id_in_list (uint32_t id, struct AmigaIds *ids) { struct AmigaIds *current; for (current = ids; current != NULL; current = current->next) { if (id == current->ID) return 1; } return 0; } #define AMIGA_RDB_NOT_FOUND ((uint32_t)0xffffffff) struct AmigaBlock { uint32_t amiga_ID; /* Identifier 32 bit word */ uint32_t amiga_SummedLongss; /* Size of the structure for checksums */ int32_t amiga_ChkSum; /* Checksum of the structure */ }; #define AMIGA(pos) ((struct AmigaBlock *)(pos)) struct RigidDiskBlock { uint32_t rdb_ID; /* Identifier 32 bit word : 'RDSK' */ uint32_t rdb_SummedLongs; /* Size of the structure for checksums */ int32_t rdb_ChkSum; /* Checksum of the structure */ uint32_t rdb_HostID; /* SCSI Target ID of host, not really used */ uint32_t rdb_BlockBytes; /* Size of disk blocks */ uint32_t rdb_Flags; /* RDB Flags */ /* block list heads */ uint32_t rdb_BadBlockList; /* Bad block list */ uint32_t rdb_PartitionList; /* Partition list */ uint32_t rdb_FileSysHeaderList; /* File system header list */ uint32_t rdb_DriveInit; /* Drive specific init code */ uint32_t rdb_BootBlockList; /* Amiga OS 4 Boot Blocks */ uint32_t rdb_Reserved1[5]; /* Unused word, need to be set to $ffffffff */ /* physical drive characteristics */ uint32_t rdb_Cylinders; /* Number of the cylinders of the drive */ uint32_t rdb_Sectors; /* Number of sectors of the drive */ uint32_t rdb_Heads; /* Number of heads of the drive */ uint32_t rdb_Interleave; /* Interleave */ uint32_t rdb_Park; /* Head parking cylinder */ uint32_t rdb_Reserved2[3]; /* Unused word, need to be set to $ffffffff */ uint32_t rdb_WritePreComp; /* Starting cylinder of write precompensation */ uint32_t rdb_ReducedWrite; /* Starting cylinder of reduced write current */ uint32_t rdb_StepRate; /* Step rate of the drive */ uint32_t rdb_Reserved3[5]; /* Unused word, need to be set to $ffffffff */ /* logical drive characteristics */ uint32_t rdb_RDBBlocksLo; /* low block of range reserved for hardblocks */ uint32_t rdb_RDBBlocksHi; /* high block of range for these hardblocks */ uint32_t rdb_LoCylinder; /* low cylinder of partitionable disk area */ uint32_t rdb_HiCylinder; /* high cylinder of partitionable data area */ uint32_t rdb_CylBlocks; /* number of blocks available per cylinder */ uint32_t rdb_AutoParkSeconds; /* zero for no auto park */ uint32_t rdb_HighRDSKBlock; /* highest block used by RDSK */ /* (not including replacement bad blocks) */ uint32_t rdb_Reserved4; /* drive identification */ char rdb_DiskVendor[8]; char rdb_DiskProduct[16]; char rdb_DiskRevision[4]; char rdb_ControllerVendor[8]; char rdb_ControllerProduct[16]; char rdb_ControllerRevision[4]; uint32_t rdb_Reserved5[10]; }; #define AMIGA_MAX_PARTITIONS 128 #define RDB_LOCATION_LIMIT 16 #define RDSK(pos) ((struct RigidDiskBlock *)(pos)) static int _amiga_checksum (struct AmigaBlock *blk) { uint32_t *rdb = (uint32_t *) blk; uint32_t sum; int i, end; sum = PED_BE32_TO_CPU (rdb[0]); end = PED_BE32_TO_CPU (rdb[1]); if (end > PED_SECTOR_SIZE_DEFAULT) end = PED_SECTOR_SIZE_DEFAULT; for (i = 1; i < end; i++) sum += PED_BE32_TO_CPU (rdb[i]); return sum; } static void _amiga_calculate_checksum (struct AmigaBlock *blk) { blk->amiga_ChkSum = PED_CPU_TO_BE32( PED_BE32_TO_CPU(blk->amiga_ChkSum) - _amiga_checksum((struct AmigaBlock *) blk)); return; } static struct AmigaBlock * _amiga_read_block (PedDevice *dev, struct AmigaBlock *blk, PedSector block, struct AmigaIds *ids) { if (!ped_device_read (dev, blk, block, 1)) { switch (ped_exception_throw(PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("%s : Couldn't read block %llu\n"), __func__, block)) { case PED_EXCEPTION_CANCEL : case PED_EXCEPTION_UNHANDLED : default : return NULL; } } if (ids && !_amiga_id_in_list(PED_BE32_TO_CPU(blk->amiga_ID), ids)) return NULL; if (_amiga_checksum (blk) != 0) { switch (ped_exception_throw(PED_EXCEPTION_ERROR, PED_EXCEPTION_FIX | PED_EXCEPTION_IGNORE | PED_EXCEPTION_CANCEL, _("%s : Bad checksum on block %llu of type %s\n"), __func__, block, _amiga_block_id(PED_BE32_TO_CPU(blk->amiga_ID)))) { case PED_EXCEPTION_CANCEL : return NULL; case PED_EXCEPTION_FIX : _amiga_calculate_checksum(AMIGA(blk)); if (!ped_device_write (dev, blk, block, 1)) { switch (ped_exception_throw(PED_EXCEPTION_FATAL, PED_EXCEPTION_CANCEL, _("%s : Couldn't write block %d\n"), __func__, block)) { case PED_EXCEPTION_CANCEL : case PED_EXCEPTION_UNHANDLED : default : return NULL; } } case PED_EXCEPTION_IGNORE : case PED_EXCEPTION_UNHANDLED : default : return blk; } } return blk; } static uint32_t _amiga_find_rdb (PedDevice *dev, struct RigidDiskBlock *rdb) { int i; struct AmigaIds *ids; ids = _amiga_add_id (IDNAME_RIGIDDISK, NULL); for (i = 0; irdb_ID) == IDNAME_RIGIDDISK) { _amiga_free_ids (ids); return i; } } _amiga_free_ids (ids); return AMIGA_RDB_NOT_FOUND; } static int _amiga_loop_check (uint32_t block, uint32_t * blocklist, uint32_t max) { uint32_t i; for (i = 0; i < max; i++) if (block == blocklist[i]) { /* We are looping, let's stop. */ return 1; } blocklist[max] = block; return 0; } /* We have already allocated a rdb, we are now reading it from the disk */ struct PartitionBlock * amiga_find_part (PedGeometry *geom, struct PartitionBlock *part) { struct RigidDiskBlock *rdb; uint32_t partblock; uint32_t partlist[AMIGA_MAX_PARTITIONS]; int i; PED_ASSERT(geom!= NULL, return NULL); PED_ASSERT(geom->dev!= NULL, return NULL); if (!(rdb = ped_malloc (PED_SECTOR_SIZE_DEFAULT))) { switch (ped_exception_throw(PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("%s : Failed to allocate disk_specific rdb block\n"), __func__)) { case PED_EXCEPTION_CANCEL : case PED_EXCEPTION_UNHANDLED : default : return NULL; } } if (_amiga_find_rdb (geom->dev, rdb) == AMIGA_RDB_NOT_FOUND) { switch (ped_exception_throw(PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("%s : Didn't find rdb block, should never happen\n"), __func__)) { case PED_EXCEPTION_CANCEL : case PED_EXCEPTION_UNHANDLED : default : free(rdb); return NULL; } } /* We initialize the hardblock free list to detect loops */ for (i = 0; i < AMIGA_MAX_PARTITIONS; i++) partlist[i] = IDNAME_FREE; for (i = 1, partblock = PED_BE32_TO_CPU(rdb->rdb_PartitionList); i < AMIGA_MAX_PARTITIONS && partblock != IDNAME_FREE; i++, partblock = PED_BE32_TO_CPU(part->pb_Next)) { PedSector start, end; PedSector cylblocks; /* Let's look for loops in the partition table */ if (_amiga_loop_check(partblock, partlist, i)) { free (rdb); return NULL; } /* Let's read a partition block to get its geometry*/ if (!ped_device_read (geom->dev, part, (PedSector)partblock, 1)) { switch (ped_exception_throw(PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("%s : Failed to read partition block %llu\n"), __func__, (PedSector)partblock)) { case PED_EXCEPTION_CANCEL : case PED_EXCEPTION_UNHANDLED : default : free(rdb); return NULL; } } /* Current block is not a Partition Block */ if (part->pb_ID != IDNAME_PARTITION) { free (rdb); return NULL; } /* Calculate the geometry of the partition */ cylblocks = ((PedSector) PED_BE32_TO_CPU (part->de_Surfaces)) * ((PedSector) PED_BE32_TO_CPU (part->de_BlocksPerTrack)); start = ((PedSector) PED_BE32_TO_CPU (part->de_LowCyl)) * cylblocks; end = ((((PedSector) PED_BE32_TO_CPU (part->de_HighCyl))+1) * (cylblocks))-1; /* And check if it is the one we are searching for */ if (start == geom->start && end == geom->end) { free (rdb); return part; } } free (rdb); return NULL; } parted-2.3/libparted/fs/amiga/asfs.h0000644000000000000000000000143511333731662014275 00000000000000/* asfs.h -- parted asfs filesystem support header files Copyright (C) 1998-2000, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ parted-2.3/libparted/fs/amiga/Makefile.in0000644000000000000000000011515511400005573015230 00000000000000# Makefile.in generated by automake 1.11a from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = libparted/fs/amiga DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \ $(top_srcdir)/m4/asm-underscore.m4 $(top_srcdir)/m4/assert.m4 \ $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/calloc.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \ $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/dirname.m4 \ $(top_srcdir)/m4/dos.m4 $(top_srcdir)/m4/double-slash-root.m4 \ $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/extensions.m4 \ $(top_srcdir)/m4/fclose.m4 $(top_srcdir)/m4/fcntl-o.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fpending.m4 \ $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getopt.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \ $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/lib-ignore.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \ $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \ $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/long-options.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \ $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/memchr.m4 \ $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \ $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/o-direct.m4 $(top_srcdir)/m4/open.m4 \ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \ $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/readlink.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/safe-read.m4 \ $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \ $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/symlink.m4 \ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \ $(top_srcdir)/m4/version-etc.m4 \ $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \ $(top_srcdir)/m4/wctype_h.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xstrndup.m4 \ $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/lib/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libamigafs_la_LIBADD = am_libamigafs_la_OBJECTS = amiga.lo affs.lo asfs.lo apfs.lo \ interface.lo libamigafs_la_OBJECTS = $(am_libamigafs_la_OBJECTS) AM_V_lt = $(am__v_lt_$(V)) am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) am__v_lt_0 = --silent DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/lib depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_$(V)) am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) am__v_CC_0 = @echo " CC " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_$(V)) am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) am__v_CCLD_0 = @echo " CCLD " $@; AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; SOURCES = $(libamigafs_la_SOURCES) DIST_SOURCES = $(libamigafs_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ BUILDINFO = @BUILDINFO@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ CONFIG_INCLUDE = @CONFIG_INCLUDE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DL_LIBS = @DL_LIBS@ DM_LIBS = @DM_LIBS@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENABLE_DEVICE_MAPPER = @ENABLE_DEVICE_MAPPER@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPURGE = @GNULIB_FPURGE@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSTATAT = @GNULIB_FSTATAT@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETGROUPS = @GNULIB_GETGROUPS@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMCHR = @GNULIB_MEMCHR@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDIRAT = @GNULIB_MKDIRAT@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKFIFO = @GNULIB_MKFIFO@ GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@ GNULIB_MKNOD = @GNULIB_MKNOD@ GNULIB_MKNODAT = @GNULIB_MKNODAT@ GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PTSNAME = @GNULIB_PTSNAME@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ GNULIB_RMDIR = @GNULIB_RMDIR@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STAT = @GNULIB_STAT@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNCAT = @GNULIB_STRNCAT@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRPTIME = @GNULIB_STRPTIME@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNLINK = @GNULIB_UNLINK@ GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_USLEEP = @GNULIB_USLEEP@ GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_FUTIMENS = @HAVE_FUTIMENS@ HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETGROUPS = @HAVE_GETGROUPS@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@ HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@ HAVE_LANGINFO_H = @HAVE_LANGINFO_H@ HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LCHOWN = @HAVE_LCHOWN@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LOCALTIME_R = @HAVE_LOCALTIME_R@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_MKFIFO = @HAVE_MKFIFO@ HAVE_MKFIFOAT = @HAVE_MKFIFOAT@ HAVE_MKNOD = @HAVE_MKNOD@ HAVE_MKNODAT = @HAVE_MKNODAT@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ HAVE_OS_H = @HAVE_OS_H@ HAVE_PIPE2 = @HAVE_PIPE2@ HAVE_PREAD = @HAVE_PREAD@ HAVE_PTSNAME = @HAVE_PTSNAME@ HAVE_PWRITE = @HAVE_PWRITE@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TTYNAME_R = @HAVE_TTYNAME_R@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_USLEEP = @HAVE_USLEEP@ HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ HAVE_WCRTOMB = @HAVE_WCRTOMB@ HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE__BOOL = @HAVE__BOOL@ IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ INTLINCS = @INTLINCS@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ LIBTOOL = @LIBTOOL@ LIB_BLKID = @LIB_BLKID@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@ LOCALE_JA = @LOCALE_JA@ LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTALLOCA = @LTALLOCA@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ NEXT_WCTYPE_H = @NEXT_WCTYPE_H@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OS = @OS@ OS_LIBS = @OS_LIBS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PARTEDLDFLAGS = @PARTEDLDFLAGS@ PARTED_LIBS = @PARTED_LIBS@ PARTED_USABLE_TEST_DIR = @PARTED_USABLE_TEST_DIR@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POSUB = @POSUB@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PRIPTR_PREFIX = @PRIPTR_PREFIX@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REISER_LIBS = @REISER_LIBS@ REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FSTAT = @REPLACE_FSTAT@ REPLACE_FSTATAT = @REPLACE_FSTATAT@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ REPLACE_MBRLEN = @REPLACE_MBRLEN@ REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ REPLACE_MBSINIT = @REPLACE_MBSINIT@ REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_OPENAT = @REPLACE_OPENAT@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALPATH = @REPLACE_REALPATH@ REPLACE_REMOVE = @REPLACE_REMOVE@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRNCAT = @REPLACE_STRNCAT@ REPLACE_STRNDUP = @REPLACE_STRNDUP@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ REPLACE_UNSETENV = @REPLACE_UNSETENV@ REPLACE_USLEEP = @REPLACE_USLEEP@ REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ SELINUX_LIBS = @SELINUX_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_NLS = @USE_NLS@ UUID_LIBS = @UUID_LIBS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_aux_dir = @abs_aux_dir@ 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@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ gltests_WITNESS = @gltests_WITNESS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ partedincludedir = -I$(top_srcdir)/include noinst_LTLIBRARIES = libamigafs.la libamigafs_la_SOURCES = amiga.h \ amiga.c \ affs.h \ affs.c \ asfs.h \ asfs.c \ apfs.h \ apfs.c \ interface.c INCLUDES = $(partedincludedir) $(INTLINCS) MAINTAINERCLEANFILES = Makefile.in all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libparted/fs/amiga/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu libparted/fs/amiga/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libamigafs.la: $(libamigafs_la_OBJECTS) $(libamigafs_la_DEPENDENCIES) $(AM_V_CCLD)$(LINK) $(libamigafs_la_OBJECTS) $(libamigafs_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/affs.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amiga.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/apfs.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asfs.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/interface.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: $(HEADERS) $(SOURCES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstLTLIBRARIES cscopelist ctags \ distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: parted-2.3/libparted/fs/amiga/apfs.h0000644000000000000000000000144311333731662014271 00000000000000/* apfs.h -- parted support for apfs file systems header files Copyright (C) 1998-2000, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ parted-2.3/libparted/fs/amiga/apfs.c0000644000000000000000000000777111333731662014276 00000000000000/* apfs.c -- parted support for apfs file systems Copyright (C) 1998-2000, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include #include "amiga.h" #include "apfs.h" #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ static int _apfs_probe_root (uint32_t *block, uint32_t blocksize, uint32_t kind) { if (PED_BE32_TO_CPU (block[0]) != kind) return 0; return 1; } static PedGeometry* _generic_apfs_probe (PedGeometry* geom, uint32_t kind) { uint32_t *block; PedSector root; struct PartitionBlock * part; uint32_t blocksize = 1, reserved = 2; PED_ASSERT (geom != NULL, return NULL); PED_ASSERT (geom->dev != NULL, return NULL); /* Finds the blocksize and reserved values of the partition block */ if (!(part = ped_malloc (PED_SECTOR_SIZE_DEFAULT*blocksize))) { ped_exception_throw(PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("%s : Failed to allocate partition block\n"), __func__); goto error_part; } if (amiga_find_part(geom, part) != NULL) { reserved = PED_BE32_TO_CPU (part->de_Reserved); blocksize = PED_BE32_TO_CPU (part->de_SizeBlock) * PED_BE32_TO_CPU (part->de_SectorPerBlock) / 128; } free (part); /* Test boot block */ if (!(block = ped_malloc (PED_SECTOR_SIZE_DEFAULT*blocksize))) { ped_exception_throw(PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("%s : Failed to allocate block\n"), __func__); goto error_block; } if (!ped_device_read (geom->dev, block, geom->start, blocksize)) { ped_exception_throw(PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("%s : Couldn't read boot block %llu\n"), __func__, geom->start); goto error; } if (PED_BE32_TO_CPU (block[0]) != kind) { goto error; } /* Find and test the root block */ root = geom->start+reserved*blocksize; if (!ped_device_read (geom->dev, block, root, blocksize)) { ped_exception_throw(PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("%s : Couldn't read root block %llu\n"), __func__, root); goto error; } if (_apfs_probe_root(block, blocksize, kind) == 1) { free(block); return ped_geometry_duplicate (geom); } error: free (block); error_block: error_part: return NULL; } static PedGeometry* _apfs1_probe (PedGeometry* geom) { return _generic_apfs_probe (geom, 0x50463101); } static PedGeometry* _apfs2_probe (PedGeometry* geom) { return _generic_apfs_probe (geom, 0x50463102); } static PedFileSystemOps _apfs1_ops = { probe: _apfs1_probe, clobber: NULL, open: NULL, create: NULL, close: NULL, check: NULL, resize: NULL, copy: NULL, get_create_constraint: NULL, get_copy_constraint: NULL, get_resize_constraint: NULL }; static PedFileSystemOps _apfs2_ops = { probe: _apfs2_probe, clobber: NULL, open: NULL, create: NULL, close: NULL, check: NULL, resize: NULL, copy: NULL, get_create_constraint: NULL, get_copy_constraint: NULL, get_resize_constraint: NULL }; #define APFS_BLOCK_SIZES ((int[2]){512, 0}) PedFileSystemType _apfs1_type = { next: NULL, ops: &_apfs1_ops, name: "apfs1", block_sizes: APFS_BLOCK_SIZES }; PedFileSystemType _apfs2_type = { next: NULL, ops: &_apfs2_ops, name: "apfs2", block_sizes: APFS_BLOCK_SIZES }; parted-2.3/libparted/fs/amiga/asfs.c0000644000000000000000000000760511333731662014275 00000000000000/* asfs.c -- parted asfs filesystem support Copyright (C) 1998-2000, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include #include "amiga.h" #include "asfs.h" #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ static int _asfs_probe_root (PedGeometry *geom, uint32_t *block, int blocksize, PedSector root) { int i, sum; PedSector start, end; if (PED_BE32_TO_CPU (block[0]) != 0x53465300) return 0; for (i = 0, sum = 1; i < 128*blocksize; i++) sum += PED_BE32_TO_CPU (block[i]); if (sum != 0) return 0; if (PED_BE32_TO_CPU (block[2]) * blocksize + geom->start != root) { return 0; } start = ((((PedSector) PED_BE32_TO_CPU (block[8])) << 32) + (PedSector) PED_BE32_TO_CPU (block[9])) / 512; end = (((((PedSector) PED_BE32_TO_CPU (block[10])) << 32) + (PedSector) PED_BE32_TO_CPU (block[11])) / 512) - 1; if (start != geom->start || end != geom->end) return 0; return 1; } static PedGeometry* _asfs_probe (PedGeometry* geom) { uint32_t *block; struct PartitionBlock * part; int blocksize = 1; PedSector root; int found = 0; PED_ASSERT (geom != NULL, return NULL); PED_ASSERT (geom->dev != NULL, return NULL); /* Finds the blocksize of the partition block */ if (!(part = ped_malloc (PED_SECTOR_SIZE_DEFAULT*blocksize))) { ped_exception_throw(PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("%s : Failed to allocate partition block\n"), __func__); goto error_part; } if (amiga_find_part(geom, part) != NULL) { blocksize = PED_BE32_TO_CPU (part->de_SizeBlock) * PED_BE32_TO_CPU (part->de_SectorPerBlock) / 128; } free (part); /* Test boot block */ if (!(block = ped_malloc (PED_SECTOR_SIZE_DEFAULT*blocksize))) { ped_exception_throw(PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("%s : Failed to allocate block\n"), __func__); goto error_block; } root = geom->start; if (!ped_device_read (geom->dev, block, root, blocksize)) { ped_exception_throw(PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("%s : Couldn't read root block %llu\n"), __func__, root); goto error; } if (PED_BE32_TO_CPU (block[0]) != 0x53465300) { goto error; } /* Find and test the root blocks */ if (_asfs_probe_root(geom, block, blocksize, root)) { found++; } root = geom->end - blocksize - (geom->length % blocksize) + 1; if (!ped_device_read (geom->dev, block, root, 1)) { ped_exception_throw(PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("%s : Couldn't read root block %llu\n"), __func__, root); goto error; } if (_asfs_probe_root(geom, block, blocksize, root)) { found++; } if (found != 0) { free (block); return ped_geometry_duplicate (geom); } error: free (block); error_block: error_part: return NULL; } static PedFileSystemOps _asfs_ops = { probe: _asfs_probe, clobber: NULL, open: NULL, create: NULL, close: NULL, check: NULL, resize: NULL, copy: NULL, get_create_constraint: NULL, get_copy_constraint: NULL, get_resize_constraint: NULL }; PedFileSystemType _asfs_type = { next: NULL, ops: &_asfs_ops, name: "asfs", block_sizes: ((int[2]){512, 0}) }; parted-2.3/libparted/fs/Makefile.am0000644000000000000000000000164011333731662014144 00000000000000# This file is part of GNU Parted # Copyright (C) 1999-2001, 2007, 2009-2010 Free Software Foundation, # Inc. # # This file may be modified and/or distributed without restriction. SUBDIRS = amiga ext2 ufs fat ntfs hfs linux_swap xfs jfs reiserfs # bfs partedincludedir = -I$(top_srcdir)/include noinst_LTLIBRARIES = libfs.la libfs_la_LDFLAGS = -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \ -release $(LT_RELEASE) libfs_la_LIBADD = $(UUID_LIBS) \ $(INTLLIBS) \ $(OS_LIBS) \ $(REISER_LIBS) \ amiga/libamigafs.la \ ext2/libext2.la \ ufs/libufs.la \ fat/libfat.la \ ntfs/libntfs.la \ hfs/libhfs.la \ linux_swap/liblinuxswap.la \ xfs/libxfs.la \ jfs/libjfs.la \ reiserfs/libreiserfs.la # bfs/libbfs.la libfs_la_SOURCES = INCLUDES = $(partedincludedir) $(INTLINCS) MAINTAINERCLEANFILES = Makefile.in parted-2.3/libparted/fs/jfs/0000755000000000000000000000000011400006132012727 500000000000000parted-2.3/libparted/fs/jfs/jfs.c0000644000000000000000000000511711333731662013623 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 2001, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #define _JFS_UTILITY #include "jfs_types.h" #include "jfs_superblock.h" #define JFS_SUPER_SECTOR 64 #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ #define JFS_BLOCK_SIZES ((int[2]){512, 0}) static PedGeometry* jfs_probe (PedGeometry* geom) { union { struct superblock sb; char bytes[512]; } buf; /* FIXME: for now, don't even try to deal with larger sector size. */ if (geom->dev->sector_size != PED_SECTOR_SIZE_DEFAULT) return NULL; if (geom->length < JFS_SUPER_SECTOR + 1) return NULL; if (!ped_geometry_read (geom, &buf, JFS_SUPER_SECTOR, 1)) return NULL; if (strncmp (buf.sb.s_magic, JFS_MAGIC, 4) == 0) { PedSector block_size = PED_LE32_TO_CPU (buf.sb.s_pbsize) / 512; PedSector block_count = PED_LE64_TO_CPU (buf.sb.s_size); return ped_geometry_new (geom->dev, geom->start, block_size * block_count); } else { return NULL; } } #ifndef DISCOVER_ONLY static int jfs_clobber (PedGeometry* geom) { char buf[512]; memset (buf, 0, 512); return ped_geometry_write (geom, buf, JFS_SUPER_SECTOR, 1); } #endif /* !DISCOVER_ONLY */ static PedFileSystemOps jfs_ops = { probe: jfs_probe, #ifndef DISCOVER_ONLY clobber: jfs_clobber, #else clobber: NULL, #endif open: NULL, create: NULL, close: NULL, check: NULL, copy: NULL, resize: NULL, get_create_constraint: NULL, get_resize_constraint: NULL, get_copy_constraint: NULL }; static PedFileSystemType jfs_type = { next: NULL, ops: &jfs_ops, name: "jfs", block_sizes: JFS_BLOCK_SIZES }; void ped_file_system_jfs_init () { ped_file_system_type_register (&jfs_type); } void ped_file_system_jfs_done () { ped_file_system_type_unregister (&jfs_type); } parted-2.3/libparted/fs/jfs/Makefile.am0000644000000000000000000000032111035473300014710 00000000000000partedincludedir = -I$(top_srcdir)/include noinst_LTLIBRARIES = libjfs.la libjfs_la_SOURCES = jfs.c jfs_superblock.h jfs_types.h INCLUDES = $(partedincludedir) $(INTLINCS) MAINTAINERCLEANFILES = Makefile.inparted-2.3/libparted/fs/jfs/jfs_types.h0000644000000000000000000003351711324137521015053 00000000000000/* * Copyright (c) International Business Machines Corp., 2000 * * 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 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See * the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _H_JFS_TYPES #define _H_JFS_TYPES /* * jfs_types.h: * * basic type/utility definitions * * note: this header file must be the 1st include file * of JFS include list in all JFS .c file. */ #ifdef _JFS_UTILITY /* this is defined in asm/byteorder.h for i386, but * is NOT defined in asm/byteorder.h for ppc (non-kernel). * Until that is changed, we'll define it here. */ #define __BYTEORDER_HAS_U64__ #include //#include typedef unsigned short UniChar; #else #include #include #include #ifndef _ULS_UNICHAR_DEFINED #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,3,0)) typedef wchar_t UniChar; #else typedef unsigned short UniChar; #endif #define _ULS_UNICHAR_DEFINED #endif #endif /* #include "endian24.h" */ /* * primitive types */ #ifdef _JFS_UTILITY typedef int8_t s8; typedef uint8_t u8; typedef int16_t s16; typedef uint16_t u16; typedef int32_t s32; typedef uint32_t u32; typedef int64_t s64; typedef uint64_t u64; #ifndef _UINT_TYPES /* unicode includes also define these */ typedef u16 uint16; typedef u32 uint32; #define _UINT_TYPES #endif typedef s8 int8; typedef u8 uint8; typedef s16 int16; typedef s32 int32; typedef s64 int64; typedef u64 uint64; #endif /* _JFS_UTILITY */ /* * Holdovers from OS/2. Try to get away from using these altogether. */ typedef unsigned long ULONG; typedef unsigned short USHORT; typedef unsigned char UCHAR; typedef void *PVOID; #define MAXPATHLEN 255 /* * Almost identical to Linux's timespec, but not quite */ struct timestruc_t { u32 tv_sec; u32 tv_nsec; }; /* * handy */ #undef MIN #define MIN(a,b) (((a)<(b))?(a):(b)) #undef MAX #define MAX(a,b) (((a)>(b))?(a):(b)) #undef ROUNDUP #define ROUNDUP(x, y) ( ((x) + ((y) - 1)) & ~((y) - 1) ) #define LEFTMOSTONE 0x80000000 #define HIGHORDER 0x80000000u /* high order bit on */ #define ONES 0xffffffffu /* all bit on */ typedef int boolean_t; #define TRUE 1 #define FALSE 0 /* * logical xd (lxd) */ typedef struct { unsigned len:24; unsigned off1:8; u32 off2; } lxd_t; /* lxd_t field construction */ #define LXDlength(lxd, length32) ( (lxd)->len = length32 ) #define LXDoffset(lxd, offset64)\ {\ (lxd)->off1 = ((s64)offset64) >> 32;\ (lxd)->off2 = (offset64) & 0xffffffff;\ } /* lxd_t field extraction */ #define lengthLXD(lxd) ( (lxd)->len ) #define offsetLXD(lxd)\ ( ((s64)((lxd)->off1)) << 32 | (lxd)->off2 ) /* lxd list */ typedef struct { s16 maxnlxd; s16 nlxd; lxd_t *lxd; } lxdlist_t; /* * physical xd (pxd) */ typedef struct { unsigned len:24; unsigned addr1:8; u32 addr2; } pxd_t; /* xd_t field construction */ #define PXDlength(pxd, length32) ((pxd)->len = __cpu_to_le24(length32)) #define PXDaddress(pxd, address64)\ {\ (pxd)->addr1 = ((s64)address64) >> 32;\ (pxd)->addr2 = __cpu_to_le32((address64) & 0xffffffff);\ } /* xd_t field extraction */ #define lengthPXD(pxd) __le24_to_cpu((pxd)->len) #define addressPXD(pxd)\ ( ((s64)((pxd)->addr1)) << 32 | __le32_to_cpu((pxd)->addr2)) /* pxd list */ typedef struct { s16 maxnpxd; s16 npxd; pxd_t pxd[8]; } pxdlist_t; /* * data extent descriptor (dxd) */ typedef struct { unsigned flag:8; /* 1: flags */ unsigned rsrvd:24; /* 3: */ u32 size; /* 4: size in byte */ unsigned len:24; /* 3: length in unit of fsblksize */ unsigned addr1:8; /* 1: address in unit of fsblksize */ u32 addr2; /* 4: address in unit of fsblksize */ } dxd_t; /* - 16 - */ /* dxd_t flags */ #define DXD_INDEX 0x80 /* B+-tree index */ #define DXD_INLINE 0x40 /* in-line data extent */ #define DXD_EXTENT 0x20 /* out-of-line single extent */ #define DXD_FILE 0x10 /* out-of-line file (inode) */ #define DXD_CORRUPT 0x08 /* Inconsistency detected */ /* dxd_t field construction * Conveniently, the PXD macros work for DXD */ #define DXDlength PXDlength #define DXDaddress PXDaddress #define lengthDXD lengthPXD #define addressDXD addressPXD /* * directory entry argument */ typedef struct component_name { int namlen; UniChar *name; } component_t; /* * DASD limit information - stored in directory inode */ typedef struct dasd { u8 thresh; /* Alert Threshold (in percent) */ u8 delta; /* Alert Threshold delta (in percent) */ u8 rsrvd1; u8 limit_hi; /* DASD limit (in logical blocks) */ u32 limit_lo; /* DASD limit (in logical blocks) */ u8 rsrvd2[3]; u8 used_hi; /* DASD usage (in logical blocks) */ u32 used_lo; /* DASD usage (in logical blocks) */ } dasd_t; #define DASDLIMIT(dasdp) \ (((u64)((dasdp)->limit_hi) << 32) + __le32_to_cpu((dasdp)->limit_lo)) #define setDASDLIMIT(dasdp, limit)\ {\ (dasdp)->limit_hi = ((u64)limit) >> 32;\ (dasdp)->limit_lo = __cpu_to_le32(limit);\ } #define DASDUSED(dasdp) \ (((u64)((dasdp)->used_hi) << 32) + __le32_to_cpu((dasdp)->used_lo)) #define setDASDUSED(dasdp, used)\ {\ (dasdp)->used_hi = ((u64)used) >> 32;\ (dasdp)->used_lo = __cpu_to_le32(used);\ } /* * circular doubly-linked list (cdll) * * A circular doubly-linked list (cdll) is anchored by a pair of pointers, * one to the head of the list and the other to the tail of the list. * The elements are doubly linked so that an arbitrary element can be * removed without a need to traverse the list. * New elements can be added to the list before or after an existing element, * at the head of the list, or at the tail of the list. * A circle queue may be traversed in either direction. * * +----------+ +-------------------------------------+ * | | | | * +->+-----+ | +->+-----+ +->+-----+ +->+-----+ | * | | h +-+ | | h +--+ | n +----+ | n +--+ * | +-----+ | +-----+ | +-----+ | +-----+ * | | t +-+ +-----+ t | | | p +--+ | | p +--+ * | +-----+ | | | +-----+ | +-----+ | | +-----+ | * +----------+ | +-----------------------+ | | * | | | | * | +-------------------------+ * | | * +----------------------------+ */ /* * define header * * list header field definition in header element: * * type - type of list element struct embedding the link field */ #define CDLL_HEADER(type)\ struct {\ struct type *head;\ struct type *tail;\ } struct cdll_header { struct cdll_header *head; struct cdll_header *tail; }; /* * define link * * list link field definition in list element: * * type - type of parent list element struct embedding the link field */ #define CDLL_ENTRY(type)\ struct {\ struct type *next;\ struct type *prev;\ } struct cdll_entry { struct cdll_entry *next; struct cdll_entry *prev; }; /* * initialize header * * header - ptr to the header field in the header element */ #define CDLL_INIT(header) {\ (header)->head = (void *)(header);\ (header)->tail = (void *)(header);\ } /* * scan list * * header - ptr to the header field in the header element * elm - ptr to the element to be inserted * field - name of the link field in the list element * * struct header_container *container; * struct header_type *header; * struct element_type *elm; * * header = &container->header_field; * for (elm = header->head; elm != (void *)header; elm = elm->field.next) */ /* * insert at head of list anchored at
* * header - ptr to the header field in the header element * elm - ptr to the list element to be inserted * field - name of the link field in the list element */ #define CDLL_INSERT_HEAD(header, elm, field) {\ (elm)->field.next = (header)->head;\ (elm)->field.prev = (void *)(header);\ if ((header)->tail == (void *)(header))\ (header)->tail = (elm);\ else\ (header)->head->field.prev = (elm);\ (header)->head = (elm);\ } /* * insert at tail of list anchored at
* * header - ptr to the header field in the header element * elm - ptr to the list element to be inserted * field - name of the link field in the list element */ #define CDLL_INSERT_TAIL(header, elm, field) {\ (elm)->field.next = (void *)(header);\ (elm)->field.prev = (header)->tail;\ if ((header)->head == (void *)(header))\ (header)->head = (elm);\ else\ (header)->tail->field.next = (elm);\ (header)->tail = (elm);\ } /* * insert after of list anchored at
* * header - ptr to the header field in the header element * listelm - ptr to the list element at insertion point * elm - ptr to the list element to be inserted * field - name of the link field in the list element */ #define CDLL_INSERT_AFTER(header, listelm, elm, field) {\ (elm)->field.next = (listelm)->field.next;\ (elm)->field.prev = (listelm);\ if ((listelm)->field.next == (void *)(header))\ (header)->tail = (elm);\ else\ (listelm)->field.next->field.prev = (elm);\ (listelm)->field.next = (elm);\ } /* * insert before of list anchored at
* * header - ptr to the header field in the header element * listelm - ptr to list element at insertion point * elm - ptr to the element to be inserted * field - name of the link field in the list element */ #define CDLL_INSERT_BEFORE(header, listelm, elm, field) {\ (elm)->field.next = (listelm);\ (elm)->field.prev = (listelm)->field.prev;\ if ((listelm)->field.prev == (void *)(header))\ (header)->head = (elm);\ else\ (listelm)->field.prev->field.next = (elm);\ (listelm)->field.prev = (elm);\ } /* * remove from list anchored at
* * header - ptr to the header field in the header element * elm - ptr to the list element to be removed * field - name of the link field in the list element */ #define CDLL_REMOVE(header, elm, field) {\ if ((elm)->field.next == (void *)(header))\ (header)->tail = (elm)->field.prev;\ else\ (elm)->field.next->field.prev = (elm)->field.prev;\ if ((elm)->field.prev == (void *)(header))\ (header)->head = (elm)->field.next;\ else\ (elm)->field.prev->field.next = (elm)->field.next;\ } #define CDLL_MOVE_TO_HEAD(header, elm, field) {\ if ((elm)->field.prev != (void *)(header))\ {\ if ((elm)->field.next == (void *)(header))\ (header)->tail = (elm)->field.prev;\ else\ (elm)->field.next->field.prev = (elm)->field.prev;\ (elm)->field.prev->field.next = (elm)->field.next;\ (elm)->field.next = (header)->head;\ (elm)->field.prev = (void *)(header);\ (header)->head->field.prev = (elm);\ (header)->head = (elm);\ }\ } #define CDLL_MOVE_TO_TAIL(header, elm, field) {\ if ((elm)->field.next != (void *)(header))\ {\ (elm)->field.next->field.prev = (elm)->field.prev;\ if ((elm)->field.prev == (void *)(header))\ (header)->head = (elm)->field.next;\ else\ (elm)->field.prev->field.next = (elm)->field.next;\ (elm)->field.next = (void *)(header);\ (elm)->field.prev = (header)->tail;\ (header)->tail->field.next = (elm);\ (header)->tail = (elm);\ }\ } /* * orphan list element */ #define CDLL_SELF(elm, field)\ (elm)->field.next = (elm)->field.prev = (elm); /* * single head doubly-linked list * * A list is headed by a single head pointer. * The elements are doubly linked so that an arbitrary element can be * removed without a need to traverse the list. * New elements can be added to the list at the head of the list, or * after an existing element (NO insert at tail). * A list may only be traversed in the forward direction. * (note: the list is NULL terminated in next field.) * * +-----+ +->+-----+ +->+-----+ +->+-----+ * | NULL| | | h +--+ | n +----+ | NULL| * +-----+ | +-----+ | +-----+ +-----+ * | | | p +--+ | p +--+ * | | +-----+ | +-----+ | * +-----------------------+ | * | | * +-------------------------+ */ #define LIST_HEADER(type)\ struct {\ struct type *head;\ } #define LIST_ENTRY(type)\ struct {\ struct type *next;\ struct type **prev;\ } #define LIST_INIT(header) { (header)->head = NULL; } /* * scan list * * header - ptr to the header (field in header element) * elm - ptr to the element to be inserted * field - name of the link field in list element * * struct header_container *container; * struct header_type *header; * struct element_type *elm; * * header = &container->header_field; * for (elm = header->head; elm; elm = elm->field.next) */ #define LIST_INSERT_HEAD(header, elm, field) {\ if (((elm)->field.next = (header)->head) != NULL)\ (header)->head->field.prev = &(elm)->field.next;\ (header)->head = (elm);\ (elm)->field.prev = &(header)->head;\ } #define LIST_INSERT_AFTER(listelm, elm, field) {\ if (((elm)->field.next = (listelm)->field.next) != NULL)\ (listelm)->field.next->field.prev = &(elm)->field.next;\ (listelm)->field.next = (elm);\ (elm)->field.prev = &(listelm)->field.next;\ } #define LIST_REMOVE(elm, field) {\ if ((elm)->field.next != NULL)\ (elm)->field.next->field.prev = (elm)->field.prev;\ *(elm)->field.prev = (elm)->field.next;\ } #define LIST_SELF(elm, field) {\ (elm)->field.next = NULL;\ (elm)->field.prev = &(elm)->field.next;\ } #endif /* !_H_JFS_TYPES */ parted-2.3/libparted/fs/jfs/jfs_superblock.h0000644000000000000000000001100111324137521016040 00000000000000/* * Copyright (c) International Business Machines Corp., 2000 * * 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 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See * the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef _H_JFS_SUPERBLOCK #define _H_JFS_SUPERBLOCK /* * jfs_superblock.h */ /* * make the magic number something a human could read */ #define JFS_MAGIC "JFS1" /* Magic word: Version 1 */ #define JFS_VERSION 1 /* Version number: Version 1 */ #define LV_NAME_SIZE 11 /* MUST BE 11 for OS/2 boot sector */ /* * aggregate superblock * * The name superblock is too close to super_block, so the name has been * changed to jfs_superblock. The utilities are still using the old name. */ #ifdef _JFS_UTILITY struct superblock #else struct jfs_superblock #endif { char s_magic[4]; /* 4: magic number */ u32 s_version; /* 4: version number */ s64 s_size; /* 8: aggregate size in hardware/LVM blocks; * VFS: number of blocks */ s32 s_bsize; /* 4: aggregate block size in bytes; * VFS: fragment size */ s16 s_l2bsize; /* 2: log2 of s_bsize */ s16 s_l2bfactor; /* 2: log2(s_bsize/hardware block size) */ s32 s_pbsize; /* 4: hardware/LVM block size in bytes */ s16 s_l2pbsize; /* 2: log2 of s_pbsize */ s16 pad; /* 2: padding necessary for alignment */ u32 s_agsize; /* 4: allocation group size in aggr. blocks */ u32 s_flag; /* 4: aggregate attributes: * see jfs_filsys.h */ u32 s_state; /* 4: mount/unmount/recovery state: * see jfs_filsys.h */ s32 s_compress; /* 4: > 0 if data compression */ pxd_t s_ait2; /* 8: first extent of secondary * aggregate inode table */ pxd_t s_aim2; /* 8: first extent of secondary * aggregate inode map */ u32 s_logdev; /* 4: device address of log */ s32 s_logserial; /* 4: log serial number at aggregate mount */ pxd_t s_logpxd; /* 8: inline log extent */ pxd_t s_fsckpxd; /* 8: inline fsck work space extent */ struct timestruc_t s_time; /* 8: time last updated */ s32 s_fsckloglen; /* 4: Number of file system blocks reserved for * the fsck service log. * N.B. These blocks are divided among the * versions kept. This is not a per * version size. * N.B. These blocks are included in the * length field of s_fsckpxd. */ s8 s_fscklog; /* 1: which fsck service log is most recent * 0 => no service log data yet * 1 => the first one * 2 => the 2nd one */ char s_fpack[11]; /* 11: file system volume name * N.B. This must be 11 bytes to * conform with the OS/2 BootSector * requirements */ /* extendfs() parameter under s_state & FM_EXTENDFS */ s64 s_xsize; /* 8: extendfs s_size */ pxd_t s_xfsckpxd; /* 8: extendfs fsckpxd */ pxd_t s_xlogpxd; /* 8: extendfs logpxd */ /* - 128 byte boundary - */ /* * DFS VFS support (preliminary) */ char s_attach; /* 1: VFS: flag: set when aggregate is attached */ u8 rsrvd4[7]; /* 7: reserved - set to 0 */ u64 totalUsable; /* 8: VFS: total of 1K blocks which are * available to "normal" (non-root) users. */ u64 minFree; /* 8: VFS: # of 1K blocks held in reserve for * exclusive use of root. This value can be 0, * and if it is then totalUsable will be equal * to # of blocks in aggregate. I believe this * means that minFree + totalUsable = # blocks. * In that case, we don't need to store both * totalUsable and minFree since we can compute * one from the other. I would guess minFree * would be the one we should store, and * totalUsable would be the one we should * compute. (Just a guess...) */ u64 realFree; /* 8: VFS: # of free 1K blocks can be used by * "normal" users. It may be this is something * we should compute when asked for instead of * storing in the superblock. I don't know how * often this information is needed. */ /* * graffiti area */ }; #endif /*_H_JFS_SUPERBLOCK */ parted-2.3/libparted/fs/jfs/Makefile.in0000644000000000000000000011423211400005574014730 00000000000000# Makefile.in generated by automake 1.11a from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = libparted/fs/jfs DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \ $(top_srcdir)/m4/asm-underscore.m4 $(top_srcdir)/m4/assert.m4 \ $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/calloc.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \ $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/dirname.m4 \ $(top_srcdir)/m4/dos.m4 $(top_srcdir)/m4/double-slash-root.m4 \ $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/extensions.m4 \ $(top_srcdir)/m4/fclose.m4 $(top_srcdir)/m4/fcntl-o.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fpending.m4 \ $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getopt.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \ $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/lib-ignore.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \ $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \ $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/long-options.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \ $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/memchr.m4 \ $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \ $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/o-direct.m4 $(top_srcdir)/m4/open.m4 \ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \ $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/readlink.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/safe-read.m4 \ $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \ $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/symlink.m4 \ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \ $(top_srcdir)/m4/version-etc.m4 \ $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \ $(top_srcdir)/m4/wctype_h.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xstrndup.m4 \ $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/lib/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libjfs_la_LIBADD = am_libjfs_la_OBJECTS = jfs.lo libjfs_la_OBJECTS = $(am_libjfs_la_OBJECTS) AM_V_lt = $(am__v_lt_$(V)) am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) am__v_lt_0 = --silent DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/lib depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_$(V)) am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) am__v_CC_0 = @echo " CC " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_$(V)) am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) am__v_CCLD_0 = @echo " CCLD " $@; AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; SOURCES = $(libjfs_la_SOURCES) DIST_SOURCES = $(libjfs_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ BUILDINFO = @BUILDINFO@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ CONFIG_INCLUDE = @CONFIG_INCLUDE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DL_LIBS = @DL_LIBS@ DM_LIBS = @DM_LIBS@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENABLE_DEVICE_MAPPER = @ENABLE_DEVICE_MAPPER@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPURGE = @GNULIB_FPURGE@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSTATAT = @GNULIB_FSTATAT@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETGROUPS = @GNULIB_GETGROUPS@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMCHR = @GNULIB_MEMCHR@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDIRAT = @GNULIB_MKDIRAT@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKFIFO = @GNULIB_MKFIFO@ GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@ GNULIB_MKNOD = @GNULIB_MKNOD@ GNULIB_MKNODAT = @GNULIB_MKNODAT@ GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PTSNAME = @GNULIB_PTSNAME@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ GNULIB_RMDIR = @GNULIB_RMDIR@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STAT = @GNULIB_STAT@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNCAT = @GNULIB_STRNCAT@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRPTIME = @GNULIB_STRPTIME@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNLINK = @GNULIB_UNLINK@ GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_USLEEP = @GNULIB_USLEEP@ GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_FUTIMENS = @HAVE_FUTIMENS@ HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETGROUPS = @HAVE_GETGROUPS@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@ HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@ HAVE_LANGINFO_H = @HAVE_LANGINFO_H@ HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LCHOWN = @HAVE_LCHOWN@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LOCALTIME_R = @HAVE_LOCALTIME_R@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_MKFIFO = @HAVE_MKFIFO@ HAVE_MKFIFOAT = @HAVE_MKFIFOAT@ HAVE_MKNOD = @HAVE_MKNOD@ HAVE_MKNODAT = @HAVE_MKNODAT@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ HAVE_OS_H = @HAVE_OS_H@ HAVE_PIPE2 = @HAVE_PIPE2@ HAVE_PREAD = @HAVE_PREAD@ HAVE_PTSNAME = @HAVE_PTSNAME@ HAVE_PWRITE = @HAVE_PWRITE@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TTYNAME_R = @HAVE_TTYNAME_R@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_USLEEP = @HAVE_USLEEP@ HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ HAVE_WCRTOMB = @HAVE_WCRTOMB@ HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE__BOOL = @HAVE__BOOL@ IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ INTLINCS = @INTLINCS@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ LIBTOOL = @LIBTOOL@ LIB_BLKID = @LIB_BLKID@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@ LOCALE_JA = @LOCALE_JA@ LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTALLOCA = @LTALLOCA@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ NEXT_WCTYPE_H = @NEXT_WCTYPE_H@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OS = @OS@ OS_LIBS = @OS_LIBS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PARTEDLDFLAGS = @PARTEDLDFLAGS@ PARTED_LIBS = @PARTED_LIBS@ PARTED_USABLE_TEST_DIR = @PARTED_USABLE_TEST_DIR@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POSUB = @POSUB@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PRIPTR_PREFIX = @PRIPTR_PREFIX@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REISER_LIBS = @REISER_LIBS@ REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FSTAT = @REPLACE_FSTAT@ REPLACE_FSTATAT = @REPLACE_FSTATAT@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ REPLACE_MBRLEN = @REPLACE_MBRLEN@ REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ REPLACE_MBSINIT = @REPLACE_MBSINIT@ REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_OPENAT = @REPLACE_OPENAT@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALPATH = @REPLACE_REALPATH@ REPLACE_REMOVE = @REPLACE_REMOVE@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRNCAT = @REPLACE_STRNCAT@ REPLACE_STRNDUP = @REPLACE_STRNDUP@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ REPLACE_UNSETENV = @REPLACE_UNSETENV@ REPLACE_USLEEP = @REPLACE_USLEEP@ REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ SELINUX_LIBS = @SELINUX_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_NLS = @USE_NLS@ UUID_LIBS = @UUID_LIBS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_aux_dir = @abs_aux_dir@ 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@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ gltests_WITNESS = @gltests_WITNESS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ partedincludedir = -I$(top_srcdir)/include noinst_LTLIBRARIES = libjfs.la libjfs_la_SOURCES = jfs.c jfs_superblock.h jfs_types.h INCLUDES = $(partedincludedir) $(INTLINCS) MAINTAINERCLEANFILES = Makefile.in all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libparted/fs/jfs/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu libparted/fs/jfs/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libjfs.la: $(libjfs_la_OBJECTS) $(libjfs_la_DEPENDENCIES) $(AM_V_CCLD)$(LINK) $(libjfs_la_OBJECTS) $(libjfs_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jfs.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: $(HEADERS) $(SOURCES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstLTLIBRARIES cscopelist ctags \ distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: parted-2.3/libparted/fs/fat/0000755000000000000000000000000011400006132012717 500000000000000parted-2.3/libparted/fs/fat/context.c0000644000000000000000000001601611333731662014515 00000000000000/* libparted Copyright (C) 1998-2000, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include "fat.h" #ifndef DISCOVER_ONLY /* Note: this deals with file system start and end sectors, even if the physical * devices are different (eg for fat_copy()) Perhaps this is a hack, but it * works ;-) */ static int calc_deltas (FatOpContext* ctx) { PedFileSystem* old_fs = ctx->old_fs; PedFileSystem* new_fs = ctx->new_fs; FatSpecific* old_fs_info = FAT_SPECIFIC (old_fs); FatSpecific* new_fs_info = FAT_SPECIFIC (new_fs); PedSector old_cluster_ofs; PedSector new_cluster_ofs; PedSector sector_delta; old_cluster_ofs = old_fs->geom->start + old_fs_info->cluster_offset; new_cluster_ofs = new_fs->geom->start + new_fs_info->cluster_offset; if (new_cluster_ofs > old_cluster_ofs) { ctx->start_move_dir = FAT_DIR_FORWARD; sector_delta = new_cluster_ofs - old_cluster_ofs; } else { ctx->start_move_dir = FAT_DIR_BACKWARD; sector_delta = old_cluster_ofs - new_cluster_ofs; } if (sector_delta % new_fs_info->cluster_sectors) { ped_exception_throw ( PED_EXCEPTION_BUG, PED_EXCEPTION_CANCEL, _("Cluster start delta = %d, which is not a multiple " "of the cluster size %d."), (int) sector_delta, (int) new_fs_info->cluster_sectors); return 0; } ctx->start_move_delta = sector_delta / ctx->frag_sectors; #ifdef PED_VERBOSE printf ("Start move delta is: %d %s.\n", (int) ctx->start_move_delta, (ctx->start_move_dir == FAT_DIR_FORWARD)? "forwards" : "backwards"); #endif return 1; } FatOpContext* fat_op_context_new (PedFileSystem* new_fs, PedFileSystem* old_fs) { FatSpecific* old_fs_info = FAT_SPECIFIC (old_fs); FatSpecific* new_fs_info = FAT_SPECIFIC (new_fs); FatOpContext* ctx; ctx = (FatOpContext*) ped_malloc (sizeof (FatOpContext)); if (!ctx) goto error; ctx->frag_sectors = PED_MIN (old_fs_info->cluster_sectors, new_fs_info->cluster_sectors); if (!fat_set_frag_sectors (new_fs, ctx->frag_sectors)) goto error; if (!fat_set_frag_sectors (old_fs, ctx->frag_sectors)) goto error; ctx->buffer_frags = old_fs_info->buffer_sectors / ctx->frag_sectors; ctx->buffer_map = (FatFragment*) ped_malloc (sizeof (FatFragment) * ctx->buffer_frags); if (!ctx->buffer_map) goto error_free_ctx; ctx->remap = (FatFragment*) ped_malloc (sizeof (FatFragment) * old_fs_info->frag_count); if (!ctx->remap) goto error_free_buffer_map; ctx->new_fs = new_fs; ctx->old_fs = old_fs; if (!calc_deltas (ctx)) goto error_free_buffer_map; return ctx; error_free_buffer_map: free (ctx->buffer_map); error_free_ctx: free (ctx); error: return NULL; } void fat_op_context_destroy (FatOpContext* ctx) { free (ctx->buffer_map); free (ctx->remap); free (ctx); } FatFragment fat_op_context_map_static_fragment (const FatOpContext* ctx, FatFragment frag) { FatSpecific* new_fs_info = FAT_SPECIFIC (ctx->new_fs); FatFragment result; if (ctx->new_fs->geom->dev != ctx->old_fs->geom->dev) return -1; if (ctx->start_move_dir == FAT_DIR_FORWARD) { if (frag < ctx->start_move_delta) return -1; result = frag - ctx->start_move_delta; } else { result = frag + ctx->start_move_delta; } if (result >= new_fs_info->frag_count) return -1; return result; } FatCluster fat_op_context_map_static_cluster (const FatOpContext* ctx, FatCluster clst) { FatFragment mapped_frag; mapped_frag = fat_op_context_map_static_fragment (ctx, fat_cluster_to_frag (ctx->old_fs, clst)); if (mapped_frag != -1) return fat_frag_to_cluster (ctx->new_fs, mapped_frag); else return 0; } FatFragment fat_op_context_map_fragment (const FatOpContext* ctx, FatFragment frag) { return ctx->remap [frag]; } FatCluster fat_op_context_map_cluster (const FatOpContext* ctx, FatCluster clst) { FatFragment mapped_frag; mapped_frag = fat_op_context_map_fragment (ctx, fat_cluster_to_frag (ctx->old_fs, clst)); if (mapped_frag != -1) return fat_frag_to_cluster (ctx->new_fs, mapped_frag); else return 0; } /* This function sets the initial fat for the new resized file system. This is in *NO WAY* a proper FAT table - all it does is: a) mark bad clusters as bad. b) mark used clusters (that is, clusters from the original FS that are reachable from the resized one). Marks as EOF (i.e. used, end of file chain). c) mark original file system metadata as EOF (i.e. used), to prevent it from being clobbered. This will leave the original file system intact, until the partition table is modified, if the start of the partition is moved. The FATs are rebuilt *properly* after cluster relocation. This here is only to mark clusters as used, so when cluster relocation occurs, clusters aren't relocated on top of ones marked in a, b or c. */ int fat_op_context_create_initial_fat (FatOpContext* ctx) { FatSpecific* old_fs_info = FAT_SPECIFIC (ctx->old_fs); FatSpecific* new_fs_info = FAT_SPECIFIC (ctx->new_fs); FatCluster clst; FatCluster new_clst; PedSector sect; PedSector new_sect; FatFragment frag; FatFragment new_frag; FatClusterFlag frag_flag; new_fs_info->fat = fat_table_new ( new_fs_info->fat_type, new_fs_info->fat_sectors * 512 / fat_table_entry_size (new_fs_info->fat_type)); if (!new_fs_info->fat) return 0; if (!fat_table_set_cluster_count (new_fs_info->fat, new_fs_info->cluster_count)) return 0; /* mark bad and used clusters */ for (frag = 0; frag < old_fs_info->frag_count; frag++) { frag_flag = fat_get_fragment_flag (ctx->old_fs, frag); if (frag_flag == FAT_FLAG_FREE) continue; new_frag = fat_op_context_map_static_fragment (ctx, frag); if (new_frag == -1) continue; new_clst = fat_frag_to_cluster (ctx->new_fs, new_frag); PED_ASSERT (new_clst != 0, return 0); if (frag_flag == FAT_FLAG_BAD) { if (!fat_table_set_bad (new_fs_info->fat, new_clst)) return 0; } else { if (!fat_table_set_eof (new_fs_info->fat, new_clst)) return 0; } } /* mark metadata regions that map to clusters on the new FS */ for (sect = 0; sect < old_fs_info->cluster_offset; sect++) { new_sect = ped_geometry_map (ctx->new_fs->geom, ctx->old_fs->geom, sect); if (new_sect == -1 || !fat_is_sector_in_clusters (ctx->new_fs, new_sect)) continue; clst = fat_sector_to_cluster (ctx->new_fs, new_sect); PED_ASSERT (clst != 0, return 0); if (!fat_table_set_eof (new_fs_info->fat, clst)) return 0; } return 1; } #endif /* !DISCOVER_ONLY */ parted-2.3/libparted/fs/fat/table.c0000644000000000000000000002407211333731662014121 00000000000000/* libparted Copyright (C) 1998-2000, 2007-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include "fat.h" #ifndef DISCOVER_ONLY FatTable* fat_table_new (FatType fat_type, FatCluster size) { FatTable* ft; int entry_size = fat_table_entry_size (fat_type); ft = (FatTable*) ped_malloc (sizeof (FatTable)); if (!ft) return NULL; ft->cluster_count = ft->free_cluster_count = size - 2; /* ensure there's some free room on the end, to finish off the sector */ ft->size = ped_div_round_up (size * entry_size, 512) * 512 / entry_size; ft->fat_type = fat_type; ft->raw_size = ft->size * entry_size; ft->table = ped_malloc (ft->raw_size); if (!ft->table) { free (ft); return NULL; } fat_table_clear (ft); return ft; } void fat_table_destroy (FatTable* ft) { free (ft->table); free (ft); } FatTable* fat_table_duplicate (const FatTable* ft) { FatTable* dup_ft; dup_ft = fat_table_new (ft->fat_type, ft->size); if (!dup_ft) return NULL; dup_ft->cluster_count = ft->cluster_count; dup_ft->free_cluster_count = ft->free_cluster_count; dup_ft->bad_cluster_count = ft->bad_cluster_count; dup_ft->last_alloc = ft->last_alloc; memcpy (dup_ft->table, ft->table, ft->raw_size); return dup_ft; } void fat_table_clear (FatTable* ft) { memset (ft->table, 0, ft->raw_size); fat_table_set (ft, 0, 0x0ffffff8); fat_table_set (ft, 1, 0x0fffffff); ft->free_cluster_count = ft->cluster_count; ft->bad_cluster_count = 0; ft->last_alloc = 1; } int fat_table_set_cluster_count (FatTable* ft, FatCluster new_cluster_count) { PED_ASSERT (new_cluster_count + 2 <= ft->size, return 0); ft->cluster_count = new_cluster_count; return fat_table_count_stats (ft); } int fat_table_count_stats (FatTable* ft) { FatCluster i; PED_ASSERT (ft->cluster_count + 2 <= ft->size, return 0); ft->free_cluster_count = 0; ft->bad_cluster_count = 0; for (i=2; i < ft->cluster_count + 2; i++) { if (fat_table_is_available (ft, i)) ft->free_cluster_count++; if (fat_table_is_bad (ft, i)) ft->bad_cluster_count++; } return 1; } int fat_table_read (FatTable* ft, const PedFileSystem* fs, int table_num) { FatSpecific* fs_info = FAT_SPECIFIC (fs); PED_ASSERT (ft->raw_size >= fs_info->fat_sectors * 512, return 0); memset (ft->table, 0, ft->raw_size); if (!ped_geometry_read (fs->geom, (void *) ft->table, fs_info->fat_offset + table_num * fs_info->fat_sectors, fs_info->fat_sectors)) return 0; if ( *((unsigned char*) ft->table) != fs_info->boot_sector.media) { if (ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_IGNORE_CANCEL, _("FAT %d media %x doesn't match the boot sector's " "media %x. You should probably run scandisk."), (int) table_num + 1, (int) *((unsigned char*) ft->table), (int) fs_info->boot_sector.media) != PED_EXCEPTION_IGNORE) return 0; } ft->cluster_count = fs_info->cluster_count; fat_table_count_stats (ft); return 1; } int fat_table_write (const FatTable* ft, PedFileSystem* fs, int table_num) { FatSpecific* fs_info = FAT_SPECIFIC (fs); PED_ASSERT (ft->raw_size >= fs_info->fat_sectors * 512, return 0); if (!ped_geometry_write (fs->geom, (void *) ft->table, fs_info->fat_offset + table_num * fs_info->fat_sectors, fs_info->fat_sectors)) return 0; if (!ped_geometry_sync (fs->geom)) return 0; return 1; } int fat_table_write_all (const FatTable* ft, PedFileSystem* fs) { FatSpecific* fs_info = FAT_SPECIFIC (fs); int i; for (i = 0; i < fs_info->fat_table_count; i++) { if (!fat_table_write (ft, fs, i)) return 0; } return 1; } int fat_table_compare (const FatTable* a, const FatTable* b) { FatCluster i; if (a->cluster_count != b->cluster_count) return 0; for (i = 0; i < a->cluster_count + 2; i++) { if (fat_table_get (a, i) != fat_table_get (b, i)) return 0; } return 1; } static int _test_code_available (const FatTable* ft, FatCluster code) { return code == 0; } static int _test_code_bad (const FatTable* ft, FatCluster code) { switch (ft->fat_type) { case FAT_TYPE_FAT12: if (code == 0xff7) return 1; break; case FAT_TYPE_FAT16: if (code == 0xfff7) return 1; break; case FAT_TYPE_FAT32: if (code == 0x0ffffff7) return 1; break; } return 0; } static int _test_code_eof (const FatTable* ft, FatCluster code) { switch (ft->fat_type) { case FAT_TYPE_FAT12: if (code >= 0xff7) return 1; break; case FAT_TYPE_FAT16: if (code >= 0xfff7) return 1; break; case FAT_TYPE_FAT32: if (code >= 0x0ffffff7) return 1; break; } return 0; } void _update_stats (FatTable* ft, FatCluster cluster, FatCluster value) { if (_test_code_available (ft, value) && !fat_table_is_available (ft, cluster)) { ft->free_cluster_count++; if (fat_table_is_bad (ft, cluster)) ft->bad_cluster_count--; } if (!_test_code_available (ft, value) && fat_table_is_available (ft, cluster)) { ft->free_cluster_count--; if (_test_code_bad (ft, cluster)) ft->bad_cluster_count--; } } int fat_table_set (FatTable* ft, FatCluster cluster, FatCluster value) { if (cluster >= ft->cluster_count + 2) { ped_exception_throw (PED_EXCEPTION_BUG, PED_EXCEPTION_CANCEL, _("fat_table_set: cluster %ld outside " "file system"), (long) cluster); return 0; } _update_stats (ft, cluster, value); switch (ft->fat_type) { case FAT_TYPE_FAT12: PED_ASSERT (0, (void) 0); break; case FAT_TYPE_FAT16: ((unsigned short *) ft->table) [cluster] = PED_CPU_TO_LE16 (value); break; case FAT_TYPE_FAT32: ((unsigned int *) ft->table) [cluster] = PED_CPU_TO_LE32 (value); break; } return 1; } FatCluster fat_table_get (const FatTable* ft, FatCluster cluster) { if (cluster >= ft->cluster_count + 2) { ped_exception_throw (PED_EXCEPTION_BUG, PED_EXCEPTION_CANCEL, _("fat_table_get: cluster %ld outside " "file system"), (long) cluster); exit (EXIT_FAILURE); /* FIXME */ } switch (ft->fat_type) { case FAT_TYPE_FAT12: PED_ASSERT (0, (void) 0); break; case FAT_TYPE_FAT16: return PED_LE16_TO_CPU (((unsigned short *) ft->table) [cluster]); case FAT_TYPE_FAT32: return PED_LE32_TO_CPU (((unsigned int *) ft->table) [cluster]); } return 0; } FatCluster fat_table_alloc_cluster (FatTable* ft) { FatCluster i; FatCluster cluster; /* hack: assumes the first two FAT entries are marked as used (which they * always should be) */ for (i=1; i < ft->cluster_count + 1; i++) { cluster = (i + ft->last_alloc) % ft->cluster_count; if (fat_table_is_available (ft, cluster)) { ft->last_alloc = cluster; return cluster; } } ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("fat_table_alloc_cluster: no free clusters")); return 0; } FatCluster fat_table_alloc_check_cluster (FatTable* ft, PedFileSystem* fs) { FatSpecific* fs_info = FAT_SPECIFIC (fs); FatCluster result; while (1) { result = fat_table_alloc_cluster (ft); if (!result) return 0; if (fat_read_cluster (fs, fs_info->buffer, result)) return result; fat_table_set_bad (ft, result); } } /* returns true if is marked as bad */ int fat_table_is_bad (const FatTable* ft, FatCluster cluster) { return _test_code_bad (ft, fat_table_get (ft, cluster)); } /* returns true if represents an EOF marker */ int fat_table_is_eof (const FatTable* ft, FatCluster cluster) { return _test_code_eof (ft, cluster); } /* returns true if is available. */ int fat_table_is_available (const FatTable* ft, FatCluster cluster) { return _test_code_available (ft, fat_table_get (ft, cluster)); } /* returns true if is empty. Note that this includes bad clusters. */ int fat_table_is_empty (const FatTable* ft, FatCluster cluster) { return fat_table_is_available (ft, cluster) || fat_table_is_bad (ft, cluster); } /* returns true if is being used for something constructive. */ int fat_table_is_active (const FatTable* ft, FatCluster cluster) { return !fat_table_is_bad (ft, cluster) && !fat_table_is_available (ft, cluster); } /* marks as the last cluster in the chain */ int fat_table_set_eof (FatTable* ft, FatCluster cluster) { switch (ft->fat_type) { case FAT_TYPE_FAT12: PED_ASSERT (0, (void) 0); break; case FAT_TYPE_FAT16: return fat_table_set (ft, cluster, 0xfff8); case FAT_TYPE_FAT32: return fat_table_set (ft, cluster, 0x0fffffff); } return 0; } /* Marks a clusters as unusable, due to physical disk damage. */ int fat_table_set_bad (FatTable* ft, FatCluster cluster) { if (!fat_table_is_bad (ft, cluster)) ft->bad_cluster_count++; switch (ft->fat_type) { case FAT_TYPE_FAT12: return fat_table_set (ft, cluster, 0xff7); case FAT_TYPE_FAT16: return fat_table_set (ft, cluster, 0xfff7); case FAT_TYPE_FAT32: return fat_table_set (ft, cluster, 0x0ffffff7); } return 0; } /* marks as unused/free/available */ int fat_table_set_avail (FatTable* ft, FatCluster cluster) { return fat_table_set (ft, cluster, 0); } #endif /* !DISCOVER_ONLY */ int fat_table_entry_size (FatType fat_type) { switch (fat_type) { case FAT_TYPE_FAT12: return 2; /* FIXME: how? */ case FAT_TYPE_FAT16: return 2; case FAT_TYPE_FAT32: return 4; } return 0; } parted-2.3/libparted/fs/fat/traverse.h0000644000000000000000000000475711333731662014702 00000000000000/* libparted Copyright (C) 1998-2000, 2007-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef TRAVERSE_H_INCLUDED #define TRAVERSE_H_INCLUDED #include "fatio.h" typedef struct _FatTraverseInfo FatTraverseInfo; struct _FatTraverseInfo { PedFileSystem* fs; char* dir_name; int is_legacy_root_dir; int dirty; int eof; FatDirEntry* dir_entries; int current_entry; FatCluster this_buffer, next_buffer; int buffer_size; }; extern int fat_traverse_entries_per_buffer (FatTraverseInfo* trav_info); /* starts traversal at an arbitary cluster. if start_cluster==0, then uses root directory */ extern FatTraverseInfo* fat_traverse_begin (PedFileSystem* fs, FatCluster start_cluster, const char* dir_name); extern int fat_traverse_complete (FatTraverseInfo* trav_info); extern FatTraverseInfo* fat_traverse_directory (FatTraverseInfo* trav_info, FatDirEntry* parent); extern void fat_traverse_mark_dirty (FatTraverseInfo* trav_info); extern FatDirEntry* fat_traverse_next_dir_entry (FatTraverseInfo* trav_info); extern FatCluster fat_dir_entry_get_first_cluster (FatDirEntry* dir_entry, PedFileSystem* fs); extern void fat_dir_entry_set_first_cluster (FatDirEntry* dir_entry, PedFileSystem* fs, FatCluster cluster); extern uint32_t fat_dir_entry_get_length (FatDirEntry* dir_entry); extern int fat_dir_entry_is_null_term (const FatDirEntry* dir_entry); extern int fat_dir_entry_is_file (FatDirEntry* dir_entry); extern int fat_dir_entry_is_system_file (FatDirEntry* dir_entry); extern int fat_dir_entry_is_directory (FatDirEntry* dir_entry); extern void fat_dir_entry_get_name (const FatDirEntry* dir_entry, char* result); extern int fat_dir_entry_is_active (FatDirEntry* dir_entry); extern int fat_dir_entry_has_first_cluster (FatDirEntry* dir_entry, PedFileSystem* fs); #endif /* TRAVERSE_H_INCLUDED */ parted-2.3/libparted/fs/fat/Makefile.am0000644000000000000000000000071211035473300014704 00000000000000partedincludedir = -I$(top_srcdir)/include noinst_LTLIBRARIES = libfat.la libfat_la_SOURCES = bootsector.c \ bootsector.h \ calc.c \ calc.h \ clstdup.c \ clstdup.h \ context.c \ context.h \ count.c \ count.h \ fat.c \ fat.h \ fatio.c \ fatio.h \ table.c \ table.h \ traverse.c \ traverse.h \ resize.c INCLUDES = $(partedincludedir) $(INTLINCS) MAINTAINERCLEANFILES = Makefile.in parted-2.3/libparted/fs/fat/fat.c0000644000000000000000000005300011370314006013563 00000000000000/* libparted Copyright (C) 1998-2001, 2007-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include "fat.h" #include "calc.h" PedFileSystem* fat_alloc (const PedGeometry* geom) { PedFileSystem* fs; fs = (PedFileSystem*) ped_malloc (sizeof (PedFileSystem)); if (!fs) goto error; fs->type_specific = (FatSpecific*) ped_malloc (sizeof (FatSpecific)); if (!fs->type_specific) goto error_free_fs; fs->geom = ped_geometry_duplicate (geom); if (!fs->geom) goto error_free_type_specific; fs->checked = 0; return fs; error_free_type_specific: free (fs->type_specific); error_free_fs: free (fs); error: return NULL; } /* Requires the boot sector to be analysed */ int fat_alloc_buffers (PedFileSystem* fs) { FatSpecific* fs_info = FAT_SPECIFIC (fs); fs_info->buffer_sectors = BUFFER_SIZE; fs_info->buffer = ped_malloc (fs_info->buffer_sectors * 512); if (!fs_info->buffer) goto error; fs_info->cluster_info = ped_malloc (fs_info->cluster_count + 2); if (!fs_info->cluster_info) goto error_free_buffer; return 1; error_free_buffer: free (fs_info->buffer); error: return 0; }; void fat_free_buffers (PedFileSystem* fs) { FatSpecific* fs_info = FAT_SPECIFIC (fs); free (fs_info->cluster_info); free (fs_info->buffer); } void fat_free (PedFileSystem* fs) { ped_geometry_destroy (fs->geom); free (fs->type_specific); free (fs); } int fat_set_frag_sectors (PedFileSystem* fs, PedSector frag_sectors) { FatSpecific* fs_info = FAT_SPECIFIC (fs); PED_ASSERT (fs_info->cluster_sectors % frag_sectors == 0 && frag_sectors <= fs_info->cluster_sectors, return 0); fs_info->frag_size = frag_sectors * 512; fs_info->frag_sectors = frag_sectors; fs_info->buffer_frags = fs_info->buffer_sectors / frag_sectors; fs_info->cluster_frags = fs_info->cluster_sectors / frag_sectors; fs_info->frag_count = fs_info->cluster_count * fs_info->cluster_frags; return 1; } PedGeometry* fat_probe (PedGeometry* geom, FatType* fat_type) { PedFileSystem* fs; FatSpecific* fs_info; PedGeometry* result; fs = fat_alloc (geom); if (!fs) goto error; fs_info = (FatSpecific*) fs->type_specific; if (!fat_boot_sector_read (&fs_info->boot_sector, geom)) goto error_free_fs; if (!fat_boot_sector_analyse (&fs_info->boot_sector, fs)) goto error_free_fs; *fat_type = fs_info->fat_type; result = ped_geometry_new (geom->dev, geom->start, fs_info->sector_count); fat_free (fs); return result; error_free_fs: fat_free (fs); error: return NULL; } PedGeometry* fat_probe_fat16 (PedGeometry* geom) { FatType fat_type; PedGeometry* probed_geom = fat_probe (geom, &fat_type); if (probed_geom) { if (fat_type == FAT_TYPE_FAT16) return probed_geom; ped_geometry_destroy (probed_geom); } return NULL; } PedGeometry* fat_probe_fat32 (PedGeometry* geom) { FatType fat_type; PedGeometry* probed_geom = fat_probe (geom, &fat_type); if (probed_geom) { if (fat_type == FAT_TYPE_FAT32) return probed_geom; ped_geometry_destroy (probed_geom); } return NULL; } #ifndef DISCOVER_ONLY int fat_clobber (PedGeometry* geom) { FatBootSector boot_sector; if (!fat_boot_sector_read (&boot_sector, geom)) return 1; boot_sector.system_id[0] = 0; boot_sector.boot_sign = 0; if (boot_sector.u.fat16.fat_name[0] == 'F') boot_sector.u.fat16.fat_name[0] = 0; if (boot_sector.u.fat32.fat_name[0] == 'F') boot_sector.u.fat32.fat_name[0] = 0; return ped_geometry_write (geom, &boot_sector, 0, 1); } static int _init_fats (PedFileSystem* fs) { FatSpecific* fs_info = FAT_SPECIFIC (fs); FatCluster table_size; table_size = fs_info->fat_sectors * 512 / fat_table_entry_size (fs_info->fat_type); fs_info->fat = fat_table_new (fs_info->fat_type, table_size); if (!fs_info->fat) goto error; if (!fat_table_read (fs_info->fat, fs, 0)) goto error_free_fat; return 1; error_free_fat: fat_table_destroy (fs_info->fat); error: return 0; } PedFileSystem* fat_open (PedGeometry* geom) { PedFileSystem* fs; FatSpecific* fs_info; fs = fat_alloc (geom); if (!fs) goto error; fs_info = (FatSpecific*) fs->type_specific; if (!fat_boot_sector_read (&fs_info->boot_sector, geom)) goto error_free_fs; if (!fat_boot_sector_analyse (&fs_info->boot_sector, fs)) goto error_free_fs; fs->type = (fs_info->fat_type == FAT_TYPE_FAT16) ? &fat16_type : &fat32_type; if (fs_info->fat_type == FAT_TYPE_FAT32) { if (!fat_info_sector_read (&fs_info->info_sector, fs)) goto error_free_fs; } if (!_init_fats (fs)) goto error_free_fs; if (!fat_alloc_buffers (fs)) goto error_free_fat_table; if (!fat_collect_cluster_info (fs)) goto error_free_buffers; return fs; error_free_buffers: fat_free_buffers (fs); error_free_fat_table: fat_table_destroy (fs_info->fat); error_free_fs: fat_free (fs); error: return NULL; } static int fat_root_dir_clear (PedFileSystem* fs) { FatSpecific* fs_info = FAT_SPECIFIC (fs); memset (fs_info->buffer, 0, 512 * fs_info->root_dir_sector_count); return ped_geometry_write (fs->geom, fs_info->buffer, fs_info->root_dir_offset, fs_info->root_dir_sector_count); } /* hack: use the ext2 uuid library to generate a reasonably random (hopefully * with /dev/random) number. Unfortunately, we can only use 4 bytes of it */ static uint32_t _gen_new_serial_number (void) { union { uuid_t uuid; uint32_t i; } uu32; uuid_generate (uu32.uuid); return uu32.i; } PedFileSystem* fat_create (PedGeometry* geom, FatType fat_type, PedTimer* timer) { PedFileSystem* fs; FatSpecific* fs_info; FatCluster table_size; fs = fat_alloc (geom); if (!fs) goto error; fs_info = (FatSpecific*) fs->type_specific; fs_info->logical_sector_size = 1; fs_info->sectors_per_track = geom->dev->bios_geom.sectors; fs_info->heads = geom->dev->bios_geom.heads; fs_info->sector_count = fs->geom->length; fs_info->fat_table_count = 2; /* some initial values, to be changed later */ fs_info->root_dir_sector_count = FAT_ROOT_DIR_ENTRY_COUNT / (512 / sizeof (FatDirEntry)); fs_info->root_dir_entry_count = FAT_ROOT_DIR_ENTRY_COUNT; fs_info->fat_type = fat_type; if (!fat_calc_sizes (fs->geom->length, 0, fs_info->fat_type, fs_info->root_dir_sector_count, &fs_info->cluster_sectors, &fs_info->cluster_count, &fs_info->fat_sectors)) { ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Partition too big/small for a %s file system."), (fat_type == FAT_TYPE_FAT16) ? fat16_type.name : fat32_type.name); goto error_free_fs; } fs_info->cluster_size = fs_info->cluster_sectors * 512; fs_info->fat_offset = fat_min_reserved_sector_count (fs_info->fat_type); fs_info->dir_entries_per_cluster = fs_info->cluster_size / sizeof (FatDirEntry); if (fs_info->fat_type == FAT_TYPE_FAT16) { /* FAT16 */ fs->type = &fat16_type; if (fs_info->cluster_count > fat_max_cluster_count (fs_info->fat_type)) { fs_info->cluster_count = fat_max_cluster_count (fs_info->fat_type); } fs_info->root_dir_sector_count = FAT_ROOT_DIR_ENTRY_COUNT / (512 / sizeof (FatDirEntry)); fs_info->root_dir_entry_count = FAT_ROOT_DIR_ENTRY_COUNT; fs_info->root_dir_offset = fs_info->fat_offset + fs_info->fat_sectors * fs_info->fat_table_count; fs_info->cluster_offset = fs_info->root_dir_offset + fs_info->root_dir_sector_count; } else { /* FAT32 */ fs->type = &fat32_type; fs_info->info_sector_offset = 1; fs_info->boot_sector_backup_offset = 6; fs_info->root_dir_sector_count = 0; fs_info->root_dir_entry_count = 0; fs_info->root_dir_offset = 0; fs_info->cluster_offset = fs_info->fat_offset + fs_info->fat_sectors * fs_info->fat_table_count; } table_size = fs_info->fat_sectors * 512 / fat_table_entry_size (fs_info->fat_type); fs_info->fat = fat_table_new (fs_info->fat_type, table_size); if (!fs_info->fat) goto error_free_fs; fat_table_set_cluster_count (fs_info->fat, fs_info->cluster_count); if (!fat_alloc_buffers (fs)) goto error_free_fat_table; if (fs_info->fat_type == FAT_TYPE_FAT32) { fs_info->root_cluster = fat_table_alloc_cluster (fs_info->fat); fat_table_set_eof (fs_info->fat, fs_info->root_cluster); memset (fs_info->buffer, 0, fs_info->cluster_size); if (!fat_write_cluster (fs, fs_info->buffer, fs_info->root_cluster)) return 0; } fs_info->serial_number = _gen_new_serial_number (); if (!fat_boot_sector_set_boot_code (&fs_info->boot_sector)) goto error_free_buffers; if (!fat_boot_sector_generate (&fs_info->boot_sector, fs)) goto error_free_buffers; if (!fat_boot_sector_write (&fs_info->boot_sector, fs)) goto error_free_buffers; if (fs_info->fat_type == FAT_TYPE_FAT32) { if (!fat_info_sector_generate (&fs_info->info_sector, fs)) goto error_free_buffers; if (!fat_info_sector_write (&fs_info->info_sector, fs)) goto error_free_buffers; } if (!fat_table_write_all (fs_info->fat, fs)) goto error_free_buffers; if (fs_info->fat_type == FAT_TYPE_FAT16) { if (!fat_root_dir_clear (fs)) goto error_free_buffers; } return fs; error_free_buffers: fat_free_buffers (fs); error_free_fat_table: fat_table_destroy (fs_info->fat); error_free_fs: fat_free (fs); error: return NULL; } PedFileSystem* fat_create_fat16 (PedGeometry* geom, PedTimer* timer) { return fat_create (geom, FAT_TYPE_FAT16, timer); } PedFileSystem* fat_create_fat32 (PedGeometry* geom, PedTimer* timer) { return fat_create (geom, FAT_TYPE_FAT32, timer); } int fat_close (PedFileSystem* fs) { FatSpecific* fs_info = FAT_SPECIFIC (fs); fat_free_buffers (fs); fat_table_destroy (fs_info->fat); fat_free (fs); return 1; } /* Hack: just resize the file system outside of its boundaries! */ PedFileSystem* fat_copy (const PedFileSystem* fs, PedGeometry* geom, PedTimer* timer) { PedFileSystem* new_fs; new_fs = ped_file_system_open (fs->geom); if (!new_fs) goto error; if (!ped_file_system_resize (new_fs, geom, timer)) goto error_close_new_fs; return new_fs; error_close_new_fs: ped_file_system_close (new_fs); error: return 0; } static int _compare_fats (PedFileSystem* fs) { FatSpecific* fs_info = FAT_SPECIFIC (fs); FatTable* table_copy; FatCluster table_size; int i; table_size = fs_info->fat_sectors * 512 / fat_table_entry_size (fs_info->fat_type); table_copy = fat_table_new (fs_info->fat_type, table_size); if (!table_copy) goto error; for (i = 1; i < fs_info->fat_table_count; i++) { if (!fat_table_read (table_copy, fs, i)) goto error_free_table_copy; if (!fat_table_compare (fs_info->fat, table_copy)) { if (ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_IGNORE_CANCEL, _("The FATs don't match. If you don't know " "what this means, then select cancel, run " "scandisk on the file system, and then come " "back.")) != PED_EXCEPTION_IGNORE) goto error_free_table_copy; } } fat_table_destroy (table_copy); return 1; error_free_table_copy: fat_table_destroy (table_copy); error: return 0; } int fat_check (PedFileSystem* fs, PedTimer* timer) { FatSpecific* fs_info = FAT_SPECIFIC (fs); PedSector cluster_sectors; FatCluster cluster_count; PedSector fat_sectors; PedSector align_sectors; FatCluster info_free_clusters; align_sectors = fs_info->fat_offset - fat_min_reserved_sector_count (fs_info->fat_type); if (!fat_calc_sizes (fs->geom->length, align_sectors, fs_info->fat_type, fs_info->root_dir_sector_count, &cluster_sectors, &cluster_count, &fat_sectors)) { if (ped_exception_throw (PED_EXCEPTION_BUG, PED_EXCEPTION_IGNORE_CANCEL, _("There are no possible configurations for this FAT " "type.")) != PED_EXCEPTION_IGNORE) goto error; } if (fs_info->fat_type == FAT_TYPE_FAT16) { if (cluster_sectors != fs_info->cluster_sectors || cluster_count != fs_info->cluster_count || fat_sectors != fs_info->fat_sectors) { if (ped_exception_throw (PED_EXCEPTION_WARNING, PED_EXCEPTION_IGNORE_CANCEL, _("File system doesn't have expected sizes for " "Windows to like it. " "Cluster size is %dk (%dk expected); " "number of clusters is %d (%d expected); " "size of FATs is %d sectors (%d expected)."), (int) fs_info->cluster_sectors / 2, (int) cluster_sectors / 2, (int) fs_info->cluster_count, (int) cluster_count, (int) fs_info->fat_sectors, (int) fat_sectors) != PED_EXCEPTION_IGNORE) goto error; } } if (fs_info->fat_type == FAT_TYPE_FAT32) { info_free_clusters = PED_LE32_TO_CPU (fs_info->info_sector.free_clusters); if (info_free_clusters != (FatCluster) -1 && info_free_clusters != fs_info->fat->free_cluster_count) { if (ped_exception_throw (PED_EXCEPTION_WARNING, PED_EXCEPTION_IGNORE_CANCEL, _("File system is reporting the free space as " "%d clusters, not %d clusters."), info_free_clusters, fs_info->fat->free_cluster_count) != PED_EXCEPTION_IGNORE) goto error; } } if (!_compare_fats (fs)) goto error; fs->checked = 1; return 1; /* existence of fs implies consistency ;-) */ error: return 0; } /* Calculates how much space there will be in clusters in: * old_fs intersect the-new-fs */ static PedSector _calc_resize_data_size ( const PedFileSystem* old_fs, PedSector new_cluster_sectors, FatCluster new_cluster_count, PedSector new_fat_size) { FatSpecific* old_fs_info = FAT_SPECIFIC (old_fs); PedSector fat_size_delta; fat_size_delta = old_fs_info->fat_sectors - new_fat_size; return new_cluster_sectors * new_cluster_count - fat_size_delta * 2; } static int _test_resize_size (const PedFileSystem* fs, PedSector length, PedSector min_data_size) { FatSpecific* fs_info = FAT_SPECIFIC (fs); PedGeometry geom; PedSector _cluster_sectors; FatCluster _cluster_count; PedSector _fat_size; ped_geometry_init (&geom, fs->geom->dev, fs->geom->start, length); if (fat_calc_resize_sizes ( &geom, fs_info->cluster_sectors, FAT_TYPE_FAT16, fs_info->root_dir_sector_count, fs_info->cluster_sectors, &_cluster_sectors, &_cluster_count, &_fat_size) && _calc_resize_data_size (fs, _cluster_sectors, _cluster_count, _fat_size) >= min_data_size) return 1; if (fat_calc_resize_sizes ( &geom, fs_info->cluster_sectors, FAT_TYPE_FAT32, 0, fs_info->cluster_sectors, &_cluster_sectors, &_cluster_count, &_fat_size) && _calc_resize_data_size (fs, _cluster_sectors, _cluster_count, _fat_size) >= min_data_size) return 1; return 0; } /* does a binary search (!) for the mininum size. Too hard to compute directly * (see calc_sizes() for why!) */ static PedSector _get_min_resize_size (const PedFileSystem* fs, PedSector min_data_size) { PedSector min_length = 0; PedSector max_length = fs->geom->length; PedSector length; while (min_length < max_length - 1) { length = (min_length + max_length) / 2; if (_test_resize_size (fs, length, min_data_size)) max_length = length; else min_length = length; } /* adds a bit of leeway (64 sectors), for resolving extra issues, like root * directory allocation, that aren't covered here. */ return max_length + 64; } PedConstraint* fat_get_copy_constraint (const PedFileSystem* fs, const PedDevice* dev) { FatSpecific* fs_info = FAT_SPECIFIC (fs); PedGeometry full_dev; PedSector min_cluster_count; FatCluster used_clusters; PedSector min_data_size; if (!ped_geometry_init (&full_dev, dev, 0, dev->length - 1)) return NULL; used_clusters = fs_info->fat->cluster_count - fs_info->fat->free_cluster_count; min_cluster_count = used_clusters + fs_info->total_dir_clusters; min_data_size = min_cluster_count * fs_info->cluster_sectors; return ped_constraint_new (ped_alignment_any, ped_alignment_any, &full_dev, &full_dev, _get_min_resize_size (fs, min_data_size), dev->length); } PedConstraint* fat_get_resize_constraint (const PedFileSystem* fs) { return fat_get_copy_constraint (fs, fs->geom->dev); } /* FIXME: fat_calc_sizes() needs to say "too big" or "too small", or * something. This is a really difficult (maths) problem to do * nicely... * So, this algorithm works if dev->length / 2 is a valid fat_type * size. (Which is how I got the magic numbers below) */ #if 0 /* returns: -1 too small, 0 ok, 1 too big */ static int _test_create_size (PedSector length, FatType fat_type, PedSector cluster_sectors, PedSector cluster_count) { PedSector rootdir_sectors; PedSector _cluster_sectors; FatCluster _cluster_count; PedSector _fat_size; rootdir_sectors = (fat_type == FAT_TYPE_FAT16) ? 16 : 0; if (!fat_calc_sizes (length, 0, fat_type, rootdir_sectors, &_cluster_sectors, &_cluster_count, &_fat_size)) return -1; // XXX: doesn't work... can't see a better way! if (_cluster_sectors < cluster_sectors) return -1; if (_cluster_sectors > cluster_sectors) return 1; if (_cluster_count < cluster_count) return -1; if (_cluster_count > cluster_count) return 1; return 0; } static PedSector _get_create_size (PedSector upper_bound, FatType fat_type, PedSector cluster_sectors, FatCluster cluster_count) { PedSector min_length = 0; PedSector max_length = upper_bound; PedSector length; while (1) { length = (min_length + max_length) / 2; switch (_test_create_size (length, fat_type, cluster_sectors, cluster_count)) { case -1: min_length = length; break; case 0: return length; case 1: max_length = length; break; } /* hack... won't always be able to get max cluster count * with max cluster size, etc. */ if (max_length - min_length == 1) return min_length; } return 0; /* shut gcc up */ } #endif PedConstraint* fat_get_create_constraint_fat16 (const PedDevice* dev) { PedGeometry full_dev; PedSector min_size; PedSector max_size; if (!ped_geometry_init (&full_dev, dev, 0, dev->length - 1)) return NULL; #if 0 min_size = _get_create_size (dev->length, FAT_TYPE_FAT16, fat_min_cluster_size (FAT_TYPE_FAT16), fat_min_cluster_count (FAT_TYPE_FAT16)); max_size = _get_create_size (dev->length, FAT_TYPE_FAT16, fat_max_cluster_size (FAT_TYPE_FAT16), fat_max_cluster_count (FAT_TYPE_FAT16)); if (!min_size) return NULL; #else min_size = 65794; max_size = 2097153; #endif return ped_constraint_new ( ped_alignment_any, ped_alignment_any, &full_dev, &full_dev, min_size, max_size); } PedConstraint* fat_get_create_constraint_fat32 (const PedDevice* dev) { PedGeometry full_dev; PedSector min_size; if (!ped_geometry_init (&full_dev, dev, 0, dev->length - 1)) return NULL; #if 0 min_size = _get_create_size (dev->length, FAT_TYPE_FAT32, fat_min_cluster_size (FAT_TYPE_FAT32), fat_min_cluster_count (FAT_TYPE_FAT32)); if (!min_size) return NULL; #else min_size = 525224; #endif return ped_constraint_new ( ped_alignment_any, ped_alignment_any, &full_dev, &full_dev, min_size, dev->length); } #endif /* !DISCOVER_ONLY */ static PedFileSystemOps fat16_ops = { probe: fat_probe_fat16, #ifndef DISCOVER_ONLY clobber: fat_clobber, open: fat_open, create: fat_create_fat16, close: fat_close, check: fat_check, resize: fat_resize, copy: fat_copy, get_create_constraint: fat_get_create_constraint_fat16, get_resize_constraint: fat_get_resize_constraint, get_copy_constraint: fat_get_copy_constraint, #else /* !DISCOVER_ONLY */ clobber: NULL, open: NULL, create: NULL, close: NULL, check: NULL, resize: NULL, copy: NULL, get_create_constraint: NULL, get_resize_constraint: NULL, get_copy_constraint: NULL, #endif /* !DISCOVER_ONLY */ }; static PedFileSystemOps fat32_ops = { probe: fat_probe_fat32, #ifndef DISCOVER_ONLY clobber: fat_clobber, open: fat_open, create: fat_create_fat32, close: fat_close, check: fat_check, resize: fat_resize, copy: fat_copy, get_create_constraint: fat_get_create_constraint_fat32, get_resize_constraint: fat_get_resize_constraint, get_copy_constraint: fat_get_copy_constraint, #else /* !DISCOVER_ONLY */ clobber: NULL, open: NULL, create: NULL, close: NULL, check: NULL, resize: NULL, copy: NULL, get_create_constraint: NULL, get_resize_constraint: NULL, get_copy_constraint: NULL, #endif /* !DISCOVER_ONLY */ }; #define FAT_BLOCK_SIZES ((int[2]){512, 0}) PedFileSystemType fat16_type = { next: NULL, ops: &fat16_ops, name: "fat16", block_sizes: FAT_BLOCK_SIZES }; PedFileSystemType fat32_type = { next: NULL, ops: &fat32_ops, name: "fat32", block_sizes: FAT_BLOCK_SIZES }; void ped_file_system_fat_init () { if (sizeof (FatBootSector) != 512) { ped_exception_throw (PED_EXCEPTION_BUG, PED_EXCEPTION_CANCEL, _("GNU Parted was miscompiled: the FAT boot sector " "should be 512 bytes. FAT support will be disabled.")); } else { ped_file_system_type_register (&fat16_type); ped_file_system_type_register (&fat32_type); } } void ped_file_system_fat_done () { ped_file_system_type_unregister (&fat16_type); ped_file_system_type_unregister (&fat32_type); } parted-2.3/libparted/fs/fat/bootsector.c0000644000000000000000000003311211370314006015176 00000000000000/* libparted Copyright (C) 1998-2000, 2002, 2004, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "fat.h" #include #include #include #include #include #include #include /* Reads in the boot sector (superblock), and does a minimum of sanity * checking. The goals are: * - to detect fat file systems, even if they are damaged [i.e. not * return an error / throw an exception] * - to fail detection if there's not enough information for * fat_boot_sector_probe_type() to work (or possibly crash on a divide-by-zero) */ int fat_boot_sector_read (FatBootSector* bs, const PedGeometry *geom) { PED_ASSERT (bs != NULL, return 0); PED_ASSERT (geom != NULL, return 0); if (!ped_geometry_read (geom, bs, 0, 1)) return 0; if (PED_LE16_TO_CPU (bs->boot_sign) != 0xAA55) { ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("File system has an invalid signature for a FAT " "file system.")); return 0; } if (!bs->system_id[0]) { ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("File system has an invalid signature for a FAT " "file system.")); return 0; } if (!bs->sector_size || PED_LE16_TO_CPU (bs->sector_size) % PED_SECTOR_SIZE_DEFAULT) { ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("File system has an invalid sector size for a FAT " "file system.")); return 0; } if (!bs->cluster_size) { ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("File system has an invalid cluster size for a FAT " "file system.")); return 0; } if (!bs->reserved) { ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("File system has an invalid number of reserved " "sectors for a FAT file system.")); return 0; } if (bs->fats < 1 || bs->fats > 4) { ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("File system has an invalid number of FATs.")); return 0; } return 1; } /* Don't trust the FAT12, FAT16 or FAT32 label string. */ FatType fat_boot_sector_probe_type (const FatBootSector* bs, const PedGeometry* geom) { PedSector logical_sector_size; PedSector first_cluster_sector; FatCluster cluster_count; if (!PED_LE16_TO_CPU (bs->dir_entries)) return FAT_TYPE_FAT32; logical_sector_size = PED_LE16_TO_CPU (bs->sector_size) / 512; first_cluster_sector = PED_LE16_TO_CPU (bs->reserved) * logical_sector_size + 2 * PED_LE16_TO_CPU (bs->fat_length) * logical_sector_size + PED_LE16_TO_CPU (bs->dir_entries) / (512 / sizeof (FatDirEntry)); cluster_count = (geom->length - first_cluster_sector) / bs->cluster_size / logical_sector_size; if (cluster_count > MAX_FAT12_CLUSTERS) return FAT_TYPE_FAT16; else return FAT_TYPE_FAT12; } /* Analyses the boot sector, and sticks appropriate numbers in fs->type_specific. Note: you need to subtract (2 * cluster_sectors) off cluster offset, because the first cluster is number 2. (0 and 1 are not real clusters, and referencing them is a bug) */ int fat_boot_sector_analyse (FatBootSector* bs, PedFileSystem* fs) { FatSpecific* fs_info = FAT_SPECIFIC (fs); int fat_entry_size; PED_ASSERT (bs != NULL, return 0); if (PED_LE16_TO_CPU (bs->sector_size) != 512) { if (ped_exception_throw ( PED_EXCEPTION_BUG, PED_EXCEPTION_IGNORE_CANCEL, _("This file system has a logical sector size of %d. " "GNU Parted is known not to work properly with sector " "sizes other than 512 bytes."), (int) PED_LE16_TO_CPU (bs->sector_size)) != PED_EXCEPTION_IGNORE) return 0; } fs_info->logical_sector_size = PED_LE16_TO_CPU (bs->sector_size) / 512; fs_info->sectors_per_track = PED_LE16_TO_CPU (bs->secs_track); fs_info->heads = PED_LE16_TO_CPU (bs->heads); if (fs_info->sectors_per_track < 1 || fs_info->sectors_per_track > 63 || fs_info->heads < 1 || fs_info->heads > 255) { PedCHSGeometry* bios_geom = &fs->geom->dev->bios_geom; int cyl_count = 0; if (fs_info->heads > 0 && fs_info->sectors_per_track > 0) cyl_count = fs->geom->dev->length / fs_info->heads / fs_info->sectors_per_track; switch (ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_FIX + PED_EXCEPTION_IGNORE + PED_EXCEPTION_CANCEL, _("The file system's CHS geometry is (%d, %d, %d), " "which is invalid. The partition table's CHS " "geometry is (%d, %d, %d). If you select Ignore, " "the file system's CHS geometry will be left " "unchanged. If you select Fix, the file system's " "CHS geometry will be set to match the partition " "table's CHS geometry."), cyl_count, fs_info->heads, fs_info->sectors_per_track, bios_geom->cylinders, bios_geom->heads, bios_geom->sectors)) { case PED_EXCEPTION_FIX: fs_info->sectors_per_track = bios_geom->sectors; fs_info->heads = bios_geom->heads; bs->secs_track = PED_CPU_TO_LE16 (fs_info->sectors_per_track); bs->heads = PED_CPU_TO_LE16 (fs_info->heads); if (!fat_boot_sector_write (bs, fs)) return 0; break; case PED_EXCEPTION_CANCEL: return 0; case PED_EXCEPTION_IGNORE: break; default: break; } } if (bs->sectors) fs_info->sector_count = PED_LE16_TO_CPU (bs->sectors) * fs_info->logical_sector_size; else fs_info->sector_count = PED_LE32_TO_CPU (bs->sector_count) * fs_info->logical_sector_size; fs_info->fat_table_count = bs->fats; fs_info->root_dir_entry_count = PED_LE16_TO_CPU (bs->dir_entries); fs_info->fat_offset = PED_LE16_TO_CPU (bs->reserved) * fs_info->logical_sector_size; fs_info->cluster_sectors = bs->cluster_size * fs_info->logical_sector_size; fs_info->cluster_size = fs_info->cluster_sectors * 512; if (fs_info->logical_sector_size == 0) { ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("FAT boot sector says logical sector size is 0. " "This is weird. ")); return 0; } if (fs_info->fat_table_count == 0) { ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("FAT boot sector says there are no FAT tables. This " "is weird. ")); return 0; } if (fs_info->cluster_sectors == 0) { ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("FAT boot sector says clusters are 0 sectors. This " "is weird. ")); return 0; } fs_info->fat_type = fat_boot_sector_probe_type (bs, fs->geom); if (fs_info->fat_type == FAT_TYPE_FAT12) { ped_exception_throw ( PED_EXCEPTION_NO_FEATURE, PED_EXCEPTION_CANCEL, _("File system is FAT12, which is unsupported.")); return 0; } if (fs_info->fat_type == FAT_TYPE_FAT16) { fs_info->fat_sectors = PED_LE16_TO_CPU (bs->fat_length) * fs_info->logical_sector_size; fs_info->serial_number = PED_LE32_TO_CPU (bs->u.fat16.serial_number); fs_info->root_cluster = 0; fs_info->root_dir_offset = fs_info->fat_offset + fs_info->fat_sectors * fs_info->fat_table_count; fs_info->root_dir_sector_count = fs_info->root_dir_entry_count * sizeof (FatDirEntry) / (512 * fs_info->logical_sector_size); fs_info->cluster_offset = fs_info->root_dir_offset + fs_info->root_dir_sector_count; } if (fs_info->fat_type == FAT_TYPE_FAT32) { fs_info->fat_sectors = PED_LE32_TO_CPU (bs->u.fat32.fat_length) * fs_info->logical_sector_size; fs_info->serial_number = PED_LE32_TO_CPU (bs->u.fat32.serial_number); fs_info->info_sector_offset = PED_LE16_TO_CPU (fs_info->boot_sector.u.fat32.info_sector) * fs_info->logical_sector_size; fs_info->boot_sector_backup_offset = PED_LE16_TO_CPU (fs_info->boot_sector.u.fat32.backup_sector) * fs_info->logical_sector_size; fs_info->root_cluster = PED_LE32_TO_CPU (bs->u.fat32.root_dir_cluster); fs_info->root_dir_offset = 0; fs_info->root_dir_sector_count = 0; fs_info->cluster_offset = fs_info->fat_offset + fs_info->fat_sectors * fs_info->fat_table_count; } fs_info->cluster_count = (fs_info->sector_count - fs_info->cluster_offset) / fs_info->cluster_sectors; fat_entry_size = fat_table_entry_size (fs_info->fat_type); if (fs_info->cluster_count + 2 > fs_info->fat_sectors * 512 / fat_entry_size) fs_info->cluster_count = fs_info->fat_sectors * 512 / fat_entry_size - 2; fs_info->dir_entries_per_cluster = fs_info->cluster_size / sizeof (FatDirEntry); return 1; } #ifndef DISCOVER_ONLY int fat_boot_sector_set_boot_code (FatBootSector* bs) { PED_ASSERT (bs != NULL, return 0); memset (bs, 0, 512); memcpy (bs->boot_jump, FAT_BOOT_JUMP, 3); memcpy (bs->u.fat32.boot_code, FAT_BOOT_CODE, FAT_BOOT_CODE_LENGTH); return 1; } int fat_boot_sector_generate (FatBootSector* bs, const PedFileSystem* fs) { FatSpecific* fs_info = FAT_SPECIFIC (fs); PED_ASSERT (bs != NULL, return 0); memcpy (bs->system_id, "MSWIN4.1", 8); bs->sector_size = PED_CPU_TO_LE16 (fs_info->logical_sector_size * 512); bs->cluster_size = fs_info->cluster_sectors / fs_info->logical_sector_size; bs->reserved = PED_CPU_TO_LE16 (fs_info->fat_offset / fs_info->logical_sector_size); bs->fats = fs_info->fat_table_count; bs->dir_entries = (fs_info->fat_type == FAT_TYPE_FAT16) ? PED_CPU_TO_LE16 (fs_info->root_dir_entry_count) : 0; if (fs_info->sector_count / fs_info->logical_sector_size > 0xffff || fs_info->fat_type == FAT_TYPE_FAT32) { bs->sectors = 0; bs->sector_count = PED_CPU_TO_LE32 (fs_info->sector_count / fs_info->logical_sector_size); } else { bs->sectors = PED_CPU_TO_LE16 (fs_info->sector_count / fs_info->logical_sector_size); bs->sector_count = 0; } bs->media = 0xf8; bs->secs_track = PED_CPU_TO_LE16 (fs_info->sectors_per_track); bs->heads = PED_CPU_TO_LE16 (fs_info->heads); bs->hidden = PED_CPU_TO_LE32 (fs->geom->start); if (fs_info->fat_type == FAT_TYPE_FAT32) { bs->fat_length = 0; bs->u.fat32.fat_length = PED_CPU_TO_LE32 (fs_info->fat_sectors / fs_info->logical_sector_size); bs->u.fat32.flags = 0; /* FIXME: what the hell are these? */ bs->u.fat32.version = 0; /* must be 0, for Win98 bootstrap */ bs->u.fat32.root_dir_cluster = PED_CPU_TO_LE32 (fs_info->root_cluster); bs->u.fat32.info_sector = PED_CPU_TO_LE16 (fs_info->info_sector_offset / fs_info->logical_sector_size); bs->u.fat32.backup_sector = PED_CPU_TO_LE16 (fs_info->boot_sector_backup_offset / fs_info->logical_sector_size); bs->u.fat32.drive_num = 0x80; /* _ALWAYS_ 0x80. silly DOS */ memset (bs->u.fat32.empty_1, 0, 12); bs->u.fat32.ext_signature = 0x29; bs->u.fat32.serial_number = PED_CPU_TO_LE32 (fs_info->serial_number); memcpy (bs->u.fat32.volume_name, "NO NAME ", 11); memcpy (bs->u.fat32.fat_name, "FAT32 ", 8); } else { bs->fat_length = PED_CPU_TO_LE16 (fs_info->fat_sectors / fs_info->logical_sector_size); bs->u.fat16.drive_num = 0x80; /* _ALWAYS_ 0x80. silly DOS */ bs->u.fat16.ext_signature = 0x29; bs->u.fat16.serial_number = PED_CPU_TO_LE32 (fs_info->serial_number); memcpy (bs->u.fat16.volume_name, "NO NAME ", 11); memcpy (bs->u.fat16.fat_name, "FAT16 ", 8); } bs->boot_sign = PED_CPU_TO_LE16 (0xaa55); return 1; } int fat_boot_sector_write (const FatBootSector* bs, PedFileSystem* fs) { FatSpecific* fs_info = FAT_SPECIFIC (fs); PED_ASSERT (bs != NULL, return 0); if (!ped_geometry_write (fs->geom, bs, 0, 1)) return 0; if (fs_info->fat_type == FAT_TYPE_FAT32) { if (!ped_geometry_write (fs->geom, bs, fs_info->boot_sector_backup_offset, 1)) return 0; } return ped_geometry_sync (fs->geom); } int fat_info_sector_read (FatInfoSector* is, const PedFileSystem* fs) { FatSpecific* fs_info = FAT_SPECIFIC (fs); int status; PED_ASSERT (is != NULL, return 0); if (!ped_geometry_read (fs->geom, is, fs_info->info_sector_offset, 1)) return 0; if (PED_LE32_TO_CPU (is->signature_2) != FAT32_INFO_MAGIC2) { status = ped_exception_throw (PED_EXCEPTION_WARNING, PED_EXCEPTION_IGNORE_CANCEL, _("The information sector has the wrong " "signature (%x). Select cancel for now, " "and send in a bug report. If you're " "desperate, it's probably safe to ignore."), PED_LE32_TO_CPU (is->signature_2)); if (status == PED_EXCEPTION_CANCEL) return 0; } return 1; } int fat_info_sector_generate (FatInfoSector* is, const PedFileSystem* fs) { FatSpecific* fs_info = FAT_SPECIFIC (fs); PED_ASSERT (is != NULL, return 0); fat_table_count_stats (fs_info->fat); memset (is, 0, 512); is->signature_1 = PED_CPU_TO_LE32 (FAT32_INFO_MAGIC1); is->signature_2 = PED_CPU_TO_LE32 (FAT32_INFO_MAGIC2); is->free_clusters = PED_CPU_TO_LE32 (fs_info->fat->free_cluster_count); is->next_cluster = PED_CPU_TO_LE32 (fs_info->fat->last_alloc); is->signature_3 = PED_CPU_TO_LE16 (FAT32_INFO_MAGIC3); return 1; } int fat_info_sector_write (const FatInfoSector* is, PedFileSystem *fs) { FatSpecific* fs_info = FAT_SPECIFIC (fs); PED_ASSERT (is != NULL, return 0); if (!ped_geometry_write (fs->geom, is, fs_info->info_sector_offset, 1)) return 0; return ped_geometry_sync (fs->geom); } #endif /* !DISCOVER_ONLY */ parted-2.3/libparted/fs/fat/calc.h0000644000000000000000000000474411370314006013733 00000000000000/* libparted Copyright (C) 1998-2000, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef PED_FAT_CALC_H #define PED_FAT_CALC_H extern PedSector fat_min_cluster_size (FatType fat_type); extern PedSector fat_max_cluster_size (FatType fat_type); extern FatCluster fat_min_cluster_count (FatType fat_type); extern FatCluster fat_max_cluster_count (FatType fat_type); extern PedSector fat_min_reserved_sector_count (FatType fat_type); extern int fat_check_resize_geometry (const PedFileSystem* fs, const PedGeometry* geom, PedSector new_cluster_sectors, FatCluster new_cluster_count); extern int fat_calc_sizes (PedSector size, PedSector align, FatType fat_type, PedSector root_dir_sectors, PedSector* out_cluster_sectors, FatCluster* out_cluster_count, PedSector* out_fat_size); extern int fat_calc_resize_sizes (const PedGeometry* geom, PedSector align, FatType fat_type, PedSector root_dir_sectors, PedSector cluster_sectors, PedSector* out_cluster_sectors, FatCluster* out_cluster_count, PedSector* out_fat_size); extern PedSector fat_calc_align_sectors (const PedFileSystem* new_fs, const PedFileSystem* old_fs); extern int fat_is_sector_in_clusters (const PedFileSystem* fs, PedSector sector); extern FatFragment fat_cluster_to_frag (const PedFileSystem* fs, FatCluster cluster); extern FatCluster fat_frag_to_cluster (const PedFileSystem* fs, FatFragment frag); extern PedSector fat_frag_to_sector (const PedFileSystem* fs, FatFragment frag); extern FatFragment fat_sector_to_frag (const PedFileSystem* fs, PedSector sector); extern PedSector fat_cluster_to_sector (const PedFileSystem* fs, FatCluster cluster); extern FatCluster fat_sector_to_cluster (const PedFileSystem* fs, PedSector sector); #endif /* PED_FAT_CALC_H */ parted-2.3/libparted/fs/fat/resize.c0000644000000000000000000006010011333731662014323 00000000000000/* libparted Copyright (C) 1998-2000, 2007-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "fat.h" #include "traverse.h" #include "count.h" #include "fatio.h" #include "calc.h" #include #include #include #include #include #include #include #include #include #ifndef DISCOVER_ONLY /* Recursively builds (i.e. makes consistent) the duplicated directory tree * (leaving the original directory tree in tact) */ static int fat_construct_directory (FatOpContext* ctx, FatTraverseInfo* trav_info) { FatTraverseInfo* sub_dir_info; FatDirEntry* dir_entry; FatCluster old_first_cluster; while ( (dir_entry = fat_traverse_next_dir_entry (trav_info)) ) { if (fat_dir_entry_is_null_term (dir_entry)) break; if (!fat_dir_entry_has_first_cluster (dir_entry, ctx->old_fs)) continue; fat_traverse_mark_dirty (trav_info); old_first_cluster = fat_dir_entry_get_first_cluster (dir_entry, ctx->old_fs); fat_dir_entry_set_first_cluster (dir_entry, ctx->new_fs, fat_op_context_map_cluster (ctx, old_first_cluster)); if (fat_dir_entry_is_directory (dir_entry) && dir_entry->name [0] != '.') { sub_dir_info = fat_traverse_directory (trav_info, dir_entry); if (!sub_dir_info) return 0; if (!fat_construct_directory (ctx, sub_dir_info)) return 0; } } /* remove "stale" entries at the end */ while ((dir_entry = fat_traverse_next_dir_entry (trav_info))) { memset (dir_entry, 0, sizeof (FatDirEntry)); fat_traverse_mark_dirty (trav_info); } fat_traverse_complete (trav_info); return 1; } static int duplicate_legacy_root_dir (FatOpContext* ctx) { FatSpecific* old_fs_info = FAT_SPECIFIC (ctx->old_fs); FatSpecific* new_fs_info = FAT_SPECIFIC (ctx->new_fs); PED_ASSERT (old_fs_info->root_dir_sector_count == new_fs_info->root_dir_sector_count, return 0); if (!ped_geometry_read (ctx->old_fs->geom, old_fs_info->buffer, old_fs_info->root_dir_offset, old_fs_info->root_dir_sector_count)) return 0; if (!ped_geometry_write (ctx->new_fs->geom, old_fs_info->buffer, new_fs_info->root_dir_offset, new_fs_info->root_dir_sector_count)) return 0; return 1; } /* Constructs the new directory tree for legacy (FAT16) file systems. */ static int fat_construct_legacy_root (FatOpContext* ctx) { FatTraverseInfo* trav_info; if (!duplicate_legacy_root_dir (ctx)) return 0; trav_info = fat_traverse_begin (ctx->new_fs, FAT_ROOT, "\\"); return fat_construct_directory (ctx, trav_info); } /* Constructs the new directory tree for new (FAT32) file systems. */ static int fat_construct_root (FatOpContext* ctx) { FatSpecific* new_fs_info = FAT_SPECIFIC (ctx->new_fs); FatTraverseInfo* trav_info; trav_info = fat_traverse_begin (ctx->new_fs, new_fs_info->root_cluster, "\\"); fat_construct_directory (ctx, trav_info); return 1; } /* Converts the root directory between FAT16 and FAT32. NOTE: this code * can also do no conversion. I'm leaving fat_construct_directory(), because * it's really pretty :-) It also leaves a higher chance of deleted file * recovery, because it doesn't remove redundant entries. (We do this here, * because brain-damaged FAT16 has an arbitary limit on root directory entries, * so we save room) */ static int fat_convert_directory (FatOpContext* ctx, FatTraverseInfo* old_trav, FatTraverseInfo* new_trav) { FatTraverseInfo* sub_old_dir_trav; FatTraverseInfo* sub_new_dir_trav; FatDirEntry* new_dir_entry; FatDirEntry* old_dir_entry; FatCluster old_first_cluster; while ( (old_dir_entry = fat_traverse_next_dir_entry (old_trav)) ) { if (fat_dir_entry_is_null_term (old_dir_entry)) break; if (!fat_dir_entry_is_active (old_dir_entry)) continue; new_dir_entry = fat_traverse_next_dir_entry (new_trav); if (!new_dir_entry) { return ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_IGNORE_CANCEL, _("There's not enough room in the root " "directory for all of the files. Either " "cancel, or ignore to lose the files.")) == PED_EXCEPTION_IGNORE; } *new_dir_entry = *old_dir_entry; fat_traverse_mark_dirty (new_trav); if (!fat_dir_entry_has_first_cluster (old_dir_entry, ctx->old_fs)) continue; old_first_cluster = fat_dir_entry_get_first_cluster ( old_dir_entry, ctx->old_fs); fat_dir_entry_set_first_cluster (new_dir_entry, ctx->new_fs, fat_op_context_map_cluster (ctx, old_first_cluster)); if (fat_dir_entry_is_directory (old_dir_entry) && old_dir_entry->name [0] != '.') { sub_old_dir_trav = fat_traverse_directory (old_trav, old_dir_entry); sub_new_dir_trav = fat_traverse_directory (new_trav, new_dir_entry); if (!sub_old_dir_trav || !sub_new_dir_trav) return 0; if (!fat_convert_directory (ctx, sub_old_dir_trav, sub_new_dir_trav)) return 0; } } /* remove "stale" entries at the end, just in case there is some * overlap */ while ((new_dir_entry = fat_traverse_next_dir_entry (new_trav))) { memset (new_dir_entry, 0, sizeof (FatDirEntry)); fat_traverse_mark_dirty (new_trav); } fat_traverse_complete (old_trav); fat_traverse_complete (new_trav); return 1; } static void clear_cluster (PedFileSystem* fs, FatCluster cluster) { FatSpecific* fs_info = FAT_SPECIFIC (fs); memset (fs_info->buffer, 0, fs_info->cluster_size); fat_write_cluster (fs, fs_info->buffer, cluster); } /* This MUST be called BEFORE the fat_construct_new_fat(), because cluster * allocation depend on the old FAT. The reason is, old clusters may * still be needed during the resize, (particularly clusters in the directory * tree) even if they will be discarded later. */ static int alloc_root_dir (FatOpContext* ctx) { FatSpecific* old_fs_info = FAT_SPECIFIC (ctx->old_fs); FatSpecific* new_fs_info = FAT_SPECIFIC (ctx->new_fs); FatCluster i; FatCluster cluster; FatCluster cluster_count; PED_ASSERT (new_fs_info->fat_type == FAT_TYPE_FAT32, return 0); cluster_count = ped_div_round_up ( PED_MAX (16, old_fs_info->root_dir_sector_count), new_fs_info->cluster_sectors); for (i = 0; i < cluster_count; i++) { cluster = fat_table_alloc_check_cluster (new_fs_info->fat, ctx->new_fs); if (!cluster) return 0; ctx->new_root_dir [i] = cluster; clear_cluster (ctx->new_fs, cluster); } ctx->new_root_dir [i] = 0; new_fs_info->root_cluster = ctx->new_root_dir [0]; return 1; } /* when converting FAT32 -> FAT16 * fat_duplicate clusters() duplicated the root directory unnecessarily. * Let's free it. * * This must be called AFTER fat_construct_new_fat(). (otherwise, our * changes just get overwritten) */ static int free_root_dir (FatOpContext* ctx) { FatSpecific* old_fs_info = FAT_SPECIFIC (ctx->old_fs); FatSpecific* new_fs_info = FAT_SPECIFIC (ctx->new_fs); FatCluster old_cluster; FatFragment i; PED_ASSERT (old_fs_info->fat_type == FAT_TYPE_FAT32, return 0); PED_ASSERT (new_fs_info->fat_type == FAT_TYPE_FAT16, return 0); for (old_cluster = old_fs_info->root_cluster; !fat_table_is_eof (old_fs_info->fat, old_cluster); old_cluster = fat_table_get (old_fs_info->fat, old_cluster)) { FatFragment old_frag; old_frag = fat_cluster_to_frag (ctx->old_fs, old_cluster); for (i = 0; i < new_fs_info->cluster_frags; i++) { FatFragment new_frag; FatCluster new_clst; new_frag = fat_op_context_map_fragment (ctx, old_frag + i); new_clst = fat_frag_to_cluster (ctx->old_fs, new_frag); if (!fat_table_set_avail (new_fs_info->fat, new_clst)) return 0; } } return 1; } static int fat_clear_root_dir (PedFileSystem* fs) { FatSpecific* fs_info = FAT_SPECIFIC (fs); int i; PED_ASSERT (fs_info->fat_type == FAT_TYPE_FAT16, return 0); PED_ASSERT (fs_info->root_dir_sector_count, return 0); memset (fs_info->buffer, 0, 512); for (i = 0; i < fs_info->root_dir_sector_count; i++) { if (!ped_geometry_write (fs->geom, fs_info->buffer, fs_info->root_dir_offset + i, 1)) { if (ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_IGNORE_CANCEL, _("Error writing to the root directory.")) == PED_EXCEPTION_CANCEL) return 0; } } return 1; } static int fat_construct_converted_tree (FatOpContext* ctx) { FatSpecific* old_fs_info = FAT_SPECIFIC (ctx->old_fs); FatSpecific* new_fs_info = FAT_SPECIFIC (ctx->new_fs); FatTraverseInfo* old_trav_info; FatTraverseInfo* new_trav_info; if (new_fs_info->fat_type == FAT_TYPE_FAT32) { new_trav_info = fat_traverse_begin (ctx->new_fs, new_fs_info->root_cluster, "\\"); old_trav_info = fat_traverse_begin (ctx->old_fs, FAT_ROOT, "\\"); } else { fat_clear_root_dir (ctx->new_fs); new_trav_info = fat_traverse_begin (ctx->new_fs, FAT_ROOT, "\\"); old_trav_info = fat_traverse_begin (ctx->old_fs, old_fs_info->root_cluster, "\\"); } if (!new_trav_info || !old_trav_info) return 0; if (!fat_convert_directory (ctx, old_trav_info, new_trav_info)) return 0; return 1; } /* Constructs the new directory tree to match the new file locations. */ static int fat_construct_dir_tree (FatOpContext* ctx) { FatSpecific* new_fs_info = FAT_SPECIFIC (ctx->new_fs); FatSpecific* old_fs_info = FAT_SPECIFIC (ctx->old_fs); if (new_fs_info->fat_type == old_fs_info->fat_type) { switch (old_fs_info->fat_type) { case FAT_TYPE_FAT12: PED_ASSERT (0, (void) 0); break; case FAT_TYPE_FAT16: return fat_construct_legacy_root (ctx); case FAT_TYPE_FAT32: return fat_construct_root (ctx); } } else { return fat_construct_converted_tree (ctx); } return 0; } static FatFragment _get_next_old_frag (FatOpContext* ctx, FatFragment frag) { FatSpecific* old_fs_info = FAT_SPECIFIC (ctx->old_fs); FatCluster cluster; FatCluster next_cluster; if ((frag + 1) % old_fs_info->cluster_frags != 0) { if (fat_is_fragment_active (ctx->old_fs, frag + 1)) return frag + 1; else return -1; } else { cluster = fat_frag_to_cluster (ctx->old_fs, frag); next_cluster = fat_table_get (old_fs_info->fat, cluster); if (fat_table_is_eof (old_fs_info->fat, next_cluster)) return -1; else return fat_cluster_to_frag (ctx->old_fs, next_cluster); } } /* Constructs the new fat for the resized file system. */ static int fat_construct_new_fat (FatOpContext* ctx) { FatSpecific* old_fs_info = FAT_SPECIFIC (ctx->old_fs); FatSpecific* new_fs_info = FAT_SPECIFIC (ctx->new_fs); FatFragment old_frag; FatCluster new_cluster; FatFragment new_frag; FatFragment old_next_frag; FatFragment new_next_frag; FatCluster new_next_cluster; FatClusterFlag flag; int i; fat_table_clear (new_fs_info->fat); if (!fat_table_set_cluster_count (new_fs_info->fat, new_fs_info->cluster_count)) return 0; for (old_frag = 0; old_frag < old_fs_info->frag_count; old_frag++) { flag = fat_get_fragment_flag (ctx->old_fs, old_frag); if (flag == FAT_FLAG_FREE) continue; if (flag == FAT_FLAG_BAD) { new_frag = fat_op_context_map_static_fragment ( ctx, old_frag); if (new_frag == -1) continue; new_cluster = fat_frag_to_cluster (ctx->new_fs, new_frag); fat_table_set_bad (new_fs_info->fat, new_cluster); continue; } new_frag = fat_op_context_map_fragment (ctx, old_frag); new_cluster = fat_frag_to_cluster (ctx->new_fs, new_frag); old_next_frag = _get_next_old_frag (ctx, old_frag); if (old_next_frag == -1) { fat_table_set_eof (new_fs_info->fat, new_cluster); continue; } new_next_frag = fat_op_context_map_fragment (ctx, old_next_frag); PED_ASSERT (new_next_frag != -1, return 0); new_next_cluster = fat_frag_to_cluster (ctx->new_fs, new_next_frag); PED_ASSERT (new_next_cluster != new_cluster, return 0); fat_table_set (new_fs_info->fat, new_cluster, new_next_cluster); } #if 0 #ifdef PED_VERBOSE for (old_cluster=2; old_cluster < old_fs_info->cluster_count+2; old_cluster++) { if (fat_table_is_available (old_fs_info->fat, old_cluster)) continue; printf ("%d->%d\t(next: %d->%d)\n", old_cluster, ctx->remap [old_cluster], fat_table_get (old_fs_info->fat, old_cluster), fat_table_get (new_fs_info->fat, ctx->remap [old_cluster])); } #endif /* PED_VERBOSE */ #endif if (old_fs_info->fat_type == FAT_TYPE_FAT32 && new_fs_info->fat_type == FAT_TYPE_FAT32) { new_fs_info->root_cluster = fat_op_context_map_cluster (ctx, old_fs_info->root_cluster); } if (old_fs_info->fat_type == FAT_TYPE_FAT16 && new_fs_info->fat_type == FAT_TYPE_FAT32) { for (i=0; ctx->new_root_dir[i+1]; i++) { fat_table_set (new_fs_info->fat, ctx->new_root_dir[i], ctx->new_root_dir[i+1]); } fat_table_set_eof (new_fs_info->fat, ctx->new_root_dir[i]); } return 1; } static int ask_type (PedFileSystem* fs, int fat16_ok, int fat32_ok, FatType* out_fat_type) { FatSpecific* fs_info = FAT_SPECIFIC (fs); PedExceptionOption status; const char* fat16_msg; const char* fat32_msg; if (fs_info->fat_type == FAT_TYPE_FAT16) fat16_msg = _("If you leave your file system as FAT16, " "then you will have no problems."); else fat16_msg = _("If you convert to FAT16, and MS Windows " "is installed on this partition, then " "you must re-install the MS Windows boot " "loader. If you want to do this, you " "should consult the Parted manual (or " "your distribution's manual)."); if (fs_info->fat_type == FAT_TYPE_FAT32) fat32_msg = _("If you leave your file system as FAT32, " "then you will not introduce any new " "problems."); else fat32_msg = _("If you convert to FAT32, and MS Windows " "is installed on this partition, then " "you must re-install the MS Windows boot " "loader. If you want to do this, you " "should consult the Parted manual (or " "your distribution's manual). Also, " "converting to FAT32 will make the file " "system unreadable by MS DOS, MS Windows " "95a, and MS Windows NT."); if (fat16_ok && fat32_ok) { status = ped_exception_throw ( PED_EXCEPTION_INFORMATION, PED_EXCEPTION_YES_NO_CANCEL, _("%s %s %s"), _("Would you like to use FAT32?"), fat16_msg, fat32_msg); switch (status) { case PED_EXCEPTION_YES: *out_fat_type = FAT_TYPE_FAT32; return 1; case PED_EXCEPTION_NO: *out_fat_type = FAT_TYPE_FAT16; return 1; case PED_EXCEPTION_UNHANDLED: *out_fat_type = fs_info->fat_type; return 1; case PED_EXCEPTION_CANCEL: return 0; default: PED_ASSERT (0, (void) 0); break; } } if (fat16_ok) { if (fs_info->fat_type != FAT_TYPE_FAT16) { status = ped_exception_throw ( PED_EXCEPTION_WARNING, PED_EXCEPTION_OK_CANCEL, _("%s %s"), _("The file system can only be resized to this " "size by converting to FAT16."), fat16_msg); if (status == PED_EXCEPTION_CANCEL) return 0; } *out_fat_type = FAT_TYPE_FAT16; return 1; } if (fat32_ok) { if (fs_info->fat_type != FAT_TYPE_FAT32) { status = ped_exception_throw ( PED_EXCEPTION_WARNING, PED_EXCEPTION_OK_CANCEL, _("%s %s"), _("The file system can only be resized to this " "size by converting to FAT32."), fat32_msg); if (status == PED_EXCEPTION_CANCEL) return 0; } *out_fat_type = FAT_TYPE_FAT32; return 1; } ped_exception_throw ( PED_EXCEPTION_NO_FEATURE, PED_EXCEPTION_CANCEL, _("GNU Parted cannot resize this partition to this size. " "We're working on it!")); return 0; } /* For resize operations: determine if the file system must be FAT16 or FAT32, * or either. If the new file system must be FAT32, then query for * confirmation. If either file system can be used, query for which one. */ static int get_fat_type (PedFileSystem* fs, const PedGeometry* new_geom, FatType* out_fat_type) { FatSpecific* fs_info = FAT_SPECIFIC (fs); PedSector fat16_cluster_sectors; PedSector fat32_cluster_sectors; FatCluster dummy_cluster_count; PedSector dummy_fat_sectors; int fat16_ok; int fat32_ok; fat16_ok = fat_calc_resize_sizes ( new_geom, fs_info->cluster_sectors, FAT_TYPE_FAT16, fs_info->root_dir_sector_count, fs_info->cluster_sectors, &fat16_cluster_sectors, &dummy_cluster_count, &dummy_fat_sectors); fat32_ok = fat_calc_resize_sizes ( new_geom, fs_info->cluster_sectors, FAT_TYPE_FAT32, fs_info->root_dir_sector_count, fs_info->cluster_sectors, &fat32_cluster_sectors, &dummy_cluster_count, &dummy_fat_sectors); return ask_type (fs, fat16_ok, fat32_ok, out_fat_type); } /* Creates the PedFileSystem struct for the new resized file system, and sticks it in a FatOpContext. At the end of the process, the original (ctx->old_fs) is destroyed, and replaced with the new one (ctx->new_fs). */ static FatOpContext* create_resize_context (PedFileSystem* fs, const PedGeometry* new_geom) { FatSpecific* fs_info = FAT_SPECIFIC (fs); FatSpecific* new_fs_info; PedFileSystem* new_fs; PedSector new_cluster_sectors; FatCluster new_cluster_count; PedSector new_fat_sectors; FatType new_fat_type; PedSector root_dir_sector_count; FatOpContext* context; /* hypothetical number of root dir sectors, if we end up using * FAT16 */ if (fs_info->root_dir_sector_count) root_dir_sector_count = fs_info->root_dir_sector_count; else root_dir_sector_count = FAT_ROOT_DIR_ENTRY_COUNT * sizeof (FatDirEntry) / 512; if (!get_fat_type (fs, new_geom, &new_fat_type)) return 0; fat_calc_resize_sizes (new_geom, fs_info->cluster_sectors, new_fat_type, root_dir_sector_count, fs_info->cluster_sectors, &new_cluster_sectors, &new_cluster_count, &new_fat_sectors); if (!fat_check_resize_geometry (fs, new_geom, new_cluster_sectors, new_cluster_count)) goto error; new_fs = fat_alloc (new_geom); if (!new_fs) goto error; new_fs_info = FAT_SPECIFIC (new_fs); if (!new_fs_info) goto error_free_new_fs; /* preserve boot code, etc. */ memcpy (&new_fs_info->boot_sector, &fs_info->boot_sector, sizeof (FatBootSector)); memcpy (&new_fs_info->info_sector, &fs_info->info_sector, sizeof (FatInfoSector)); new_fs_info->logical_sector_size = fs_info->logical_sector_size; new_fs_info->sector_count = new_geom->length; new_fs_info->sectors_per_track = fs_info->sectors_per_track; new_fs_info->heads = fs_info->heads; new_fs_info->cluster_size = new_cluster_sectors * 512; new_fs_info->cluster_sectors = new_cluster_sectors; new_fs_info->cluster_count = new_cluster_count; new_fs_info->dir_entries_per_cluster = fs_info->dir_entries_per_cluster; new_fs_info->fat_type = new_fat_type; new_fs_info->fat_table_count = 2; new_fs_info->fat_sectors = new_fat_sectors; /* what about copying? */ new_fs_info->serial_number = fs_info->serial_number; if (new_fs_info->fat_type == FAT_TYPE_FAT32) { new_fs_info->info_sector_offset = 1; new_fs_info->boot_sector_backup_offset = 6; new_fs_info->root_dir_offset = 0; new_fs_info->root_dir_entry_count = 0; new_fs_info->root_dir_sector_count = 0; /* we add calc_align_sectors to push the cluster_offset forward, to keep the clusters aligned between the new and old file systems */ new_fs_info->fat_offset = fat_min_reserved_sector_count (FAT_TYPE_FAT32) + fat_calc_align_sectors (new_fs, fs); new_fs_info->cluster_offset = new_fs_info->fat_offset + 2 * new_fs_info->fat_sectors; } else { new_fs_info->root_dir_sector_count = root_dir_sector_count; new_fs_info->root_dir_entry_count = root_dir_sector_count * 512 / sizeof (FatDirEntry); new_fs_info->fat_offset = fat_min_reserved_sector_count (FAT_TYPE_FAT16) + fat_calc_align_sectors (new_fs, fs); new_fs_info->root_dir_offset = new_fs_info->fat_offset + 2 * new_fs_info->fat_sectors; new_fs_info->cluster_offset = new_fs_info->root_dir_offset + new_fs_info->root_dir_sector_count; } new_fs_info->total_dir_clusters = fs_info->total_dir_clusters; context = fat_op_context_new (new_fs, fs); if (!context) goto error_free_new_fs_info; if (!fat_op_context_create_initial_fat (context)) goto error_free_context; if (!fat_alloc_buffers (new_fs)) goto error_free_fat; return context; error_free_fat: fat_table_destroy (new_fs_info->fat); error_free_context: free (context); error_free_new_fs_info: free (new_fs_info); error_free_new_fs: free (new_fs); error: return NULL; } static int resize_context_assimilate (FatOpContext* ctx) { FatSpecific* old_fs_info = FAT_SPECIFIC (ctx->old_fs); FatSpecific* new_fs_info = FAT_SPECIFIC (ctx->new_fs); fat_free_buffers (ctx->old_fs); fat_table_destroy (old_fs_info->fat); free (old_fs_info); ped_geometry_destroy (ctx->old_fs->geom); ctx->old_fs->type_specific = ctx->new_fs->type_specific; ctx->old_fs->geom = ctx->new_fs->geom; ctx->old_fs->type = (new_fs_info->fat_type == FAT_TYPE_FAT16) ? &fat16_type : &fat32_type; free (ctx->new_fs); fat_op_context_destroy (ctx); return 1; } static int resize_context_abort (FatOpContext* ctx) { FatSpecific* new_fs_info = FAT_SPECIFIC (ctx->new_fs); fat_free_buffers (ctx->new_fs); fat_table_destroy (new_fs_info->fat); free (new_fs_info); ped_geometry_destroy (ctx->new_fs->geom); free (ctx->new_fs); fat_op_context_destroy (ctx); return 1; } /* copies the "hidden" sectors, between the boot sector and the FAT. Required, * for the Windows 98 FAT32 boot loader */ int _copy_hidden_sectors (FatOpContext* ctx) { FatSpecific* old_fs_info = FAT_SPECIFIC (ctx->old_fs); FatSpecific* new_fs_info = FAT_SPECIFIC (ctx->new_fs); PedSector first = 1; PedSector last; PedSector count; /* nothing to copy for FAT16 */ if (old_fs_info->fat_type == FAT_TYPE_FAT16 || new_fs_info->fat_type == FAT_TYPE_FAT16) return 1; last = PED_MIN (old_fs_info->fat_offset, new_fs_info->fat_offset) - 1; count = last - first + 1; PED_ASSERT (count < BUFFER_SIZE, return 0); if (!ped_geometry_read (ctx->old_fs->geom, old_fs_info->buffer, first, count)) return 0; if (!ped_geometry_write (ctx->new_fs->geom, old_fs_info->buffer, first, count)) return 0; return 1; } int fat_resize (PedFileSystem* fs, PedGeometry* geom, PedTimer* timer) { FatSpecific* fs_info = FAT_SPECIFIC (fs); FatSpecific* new_fs_info; FatOpContext* ctx; PedFileSystem* new_fs; ctx = create_resize_context (fs, geom); if (!ctx) goto error; new_fs = ctx->new_fs; new_fs_info = FAT_SPECIFIC (new_fs); if (!fat_duplicate_clusters (ctx, timer)) goto error_abort_ctx; if (fs_info->fat_type == FAT_TYPE_FAT16 && new_fs_info->fat_type == FAT_TYPE_FAT32) { if (!alloc_root_dir (ctx)) goto error_abort_ctx; } if (!fat_construct_new_fat (ctx)) goto error_abort_ctx; if (fs_info->fat_type == FAT_TYPE_FAT32 && new_fs_info->fat_type == FAT_TYPE_FAT16) { if (!free_root_dir (ctx)) goto error_abort_ctx; } if (!fat_construct_dir_tree (ctx)) goto error_abort_ctx; if (!fat_table_write_all (new_fs_info->fat, new_fs)) goto error_abort_ctx; _copy_hidden_sectors (ctx); fat_boot_sector_generate (&new_fs_info->boot_sector, new_fs); fat_boot_sector_write (&new_fs_info->boot_sector, new_fs); if (new_fs_info->fat_type == FAT_TYPE_FAT32) { fat_info_sector_generate (&new_fs_info->info_sector, new_fs); fat_info_sector_write (&new_fs_info->info_sector, new_fs); } if (!resize_context_assimilate (ctx)) goto error; return 1; error_abort_ctx: resize_context_abort (ctx); error: return 0; } #endif /* !DISCOVER_ONLY */ parted-2.3/libparted/fs/fat/count.h0000644000000000000000000000303211333731662014160 00000000000000/* libparted Copyright (C) 1999-2000, 2007-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef COUNT_H_INCLUDED #define COUNT_H_INCLUDED typedef enum _FatClusterFlag FatClusterFlag; typedef struct _FatClusterInfo FatClusterInfo; enum _FatClusterFlag { FAT_FLAG_FREE=0, FAT_FLAG_FILE=1, FAT_FLAG_DIRECTORY=2, FAT_FLAG_BAD=3 }; struct __attribute__ ((packed)) _FatClusterInfo { unsigned int units_used:6; /* 1 unit = cluster_size / 64 */ FatClusterFlag flag:2; }; extern int fat_collect_cluster_info (PedFileSystem *fs); extern FatClusterFlag fat_get_cluster_flag (PedFileSystem* fs, FatCluster cluster); extern PedSector fat_get_cluster_usage (PedFileSystem* fs, FatCluster cluster); extern FatClusterFlag fat_get_fragment_flag (PedFileSystem* fs, FatFragment frag); extern int fat_is_fragment_active (PedFileSystem* fs, FatFragment frag); #endif /* COUNT_H_INCLUDED */ parted-2.3/libparted/fs/fat/count.c0000644000000000000000000002330411370314006014145 00000000000000/* libparted Copyright (C) 1998-2000, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "fat.h" #include "traverse.h" #include #include #include #ifndef DISCOVER_ONLY #if 0 /* extremely ugly hack: stick everything that obviously isn't an unmovable file * in here. Note: DAT is a bit dubious. Unfortunately, it's used by the * registry, so it'll be all over the place :-( */ static char* movable_extensions[] = { "", "1ST", "AVI", "BAK", "BAT", "BMP", "CFG", "COM", "CSS", "DAT", "DLL", "DOC", "DRV", "EXE", "FAQ", "FLT", "FON", "GID", "GIF", "HLP", "HTT", "HTM", "ICO", "INI", "JPG", "LNK", "LOG", "KBD", "ME", "MID", "MSG", "OCX", "OLD", "PIF", "PNG", "PRV", "RTF", "SCR", "SYS", "TMP", "TTF", "TXT", "URL", "WAV", "VBX", "VOC", "VXD", NULL }; static char* get_extension (char* file_name) { char* ext; ext = strrchr (file_name, '.'); if (!ext) return ""; if (strchr (ext, '\\')) return ""; return ext + 1; } static int is_movable_system_file (char* file_name) { char* ext = get_extension (file_name); int i; for (i = 0; movable_extensions [i]; i++) { if (strcasecmp (ext, movable_extensions [i]) == 0) return 1; } return 0; } #endif /* 0 */ /* prints out the sequence of clusters for a given file chain, beginning at start_cluster. */ #ifdef PED_VERBOSE static void print_chain (PedFileSystem* fs, FatCluster start) { FatSpecific* fs_info = FAT_SPECIFIC (fs); FatCluster clst; int this_row; this_row = 0; for (clst = start; !fat_table_is_eof (fs_info->fat, clst); clst = fat_table_get (fs_info->fat, clst)) { printf (" %d", (int) clst); if (++this_row == 7) { putchar ('\n'); this_row = 0; } } putchar ('\n'); } #endif /* PED_VERBOSE */ static PedSector remainder_round_up (PedSector a, PedSector b) { PedSector result; result = a % b; if (!result) result = b; return result; } /* traverse the FAT for a file/directory, marking each entry's flag to "flag". */ static int flag_traverse_fat (PedFileSystem* fs, const char* chain_name, FatCluster start, FatClusterFlag flag, PedSector size) { FatSpecific* fs_info = FAT_SPECIFIC (fs); FatCluster clst; FatCluster prev_clst; int last_cluster_usage; FatCluster chain_length = 0; if (fat_table_is_eof (fs_info->fat, start)) { if (ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_IGNORE_CANCEL, _("Bad directory entry for %s: first cluster is the " "end of file marker."), chain_name) != PED_EXCEPTION_IGNORE) return 0; } for (prev_clst = clst = start; !fat_table_is_eof (fs_info->fat, clst); prev_clst = clst, clst = fat_table_get (fs_info->fat, clst)) { chain_length++; if (!clst) { ped_exception_throw (PED_EXCEPTION_FATAL, PED_EXCEPTION_CANCEL, _("Bad FAT: unterminated chain for %s. You " "should run dosfsck or scandisk."), chain_name); return 0; } if (clst >= fs_info->fat->cluster_count + 2) { ped_exception_throw (PED_EXCEPTION_FATAL, PED_EXCEPTION_CANCEL, _("Bad FAT: cluster %d outside file system " "in chain for %s. You should run dosfsck " "or scandisk."), (int) clst, chain_name); return 0; } if (fs_info->cluster_info [clst].flag != FAT_FLAG_FREE ) { ped_exception_throw (PED_EXCEPTION_FATAL, PED_EXCEPTION_CANCEL, _("Bad FAT: cluster %d is cross-linked for " "%s. You should run dosfsck or scandisk."), (int) clst, chain_name); return 0; } if (flag == FAT_FLAG_DIRECTORY) fs_info->total_dir_clusters++; fs_info->cluster_info [clst].flag = flag; fs_info->cluster_info [clst].units_used = 0; /* 0 == 64 */ } if (size && chain_length != ped_div_round_up (size, fs_info->cluster_sectors)) { if (ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_IGNORE_CANCEL, _("%s is %dk, but it has %d clusters (%dk)."), chain_name, (int) size / 2, (int) chain_length, (int) chain_length * fs_info->cluster_sectors / 2) != PED_EXCEPTION_IGNORE) return 0; } last_cluster_usage = ped_div_round_up (64 * remainder_round_up (size, fs_info->cluster_sectors), fs_info->cluster_sectors); fs_info->cluster_info [prev_clst].units_used = last_cluster_usage; return 1; } /* recursively traverses a directory, flagging all clusters in the process. It frees the traverse_info structure before returning. */ static int flag_traverse_dir (FatTraverseInfo* trav_info) { PedFileSystem* fs = trav_info->fs; FatDirEntry* this_entry; FatTraverseInfo* subdir_trav_info; char file_name [512]; char* file_name_start; FatCluster first_cluster; PedSector size; PED_ASSERT (trav_info != NULL, return 0); strcpy (file_name, trav_info->dir_name); file_name_start = file_name + strlen (file_name); while ( (this_entry = fat_traverse_next_dir_entry (trav_info)) ) { if (fat_dir_entry_is_null_term (this_entry)) break; if (!fat_dir_entry_has_first_cluster (this_entry, fs)) continue; if (this_entry->name [0] == '.') continue; /* skip . and .. entries */ fat_dir_entry_get_name (this_entry, file_name_start); first_cluster = fat_dir_entry_get_first_cluster(this_entry, fs); size = ped_div_round_up (fat_dir_entry_get_length (this_entry), 512); #ifdef PED_VERBOSE printf ("%s: ", file_name); print_chain (fs, first_cluster); #endif #if 0 if (fat_dir_entry_is_system_file (this_entry) && !is_movable_system_file (file_name)) { PedExceptionOption ex_status; ex_status = ped_exception_throw ( PED_EXCEPTION_WARNING, PED_EXCEPTION_IGNORE_CANCEL, _("The file %s is marked as a system file. " "This means moving it could cause some " "programs to stop working."), file_name); switch (ex_status) { case PED_EXCEPTION_CANCEL: return 0; case PED_EXCEPTION_UNHANDLED: ped_exception_catch (); case PED_EXCEPTION_IGNORE: } } #endif /* 0 */ if (fat_dir_entry_is_directory (this_entry)) { if (!flag_traverse_fat (fs, file_name, first_cluster, FAT_FLAG_DIRECTORY, size)) return 0; subdir_trav_info = fat_traverse_directory (trav_info, this_entry); if (!subdir_trav_info) return 0; if (!flag_traverse_dir (subdir_trav_info)) return 0; } else if (fat_dir_entry_is_file (this_entry)) { if (!flag_traverse_fat (fs, file_name, first_cluster, FAT_FLAG_FILE, size)) return 0; } } fat_traverse_complete (trav_info); return 1; } static void _mark_bad_clusters (PedFileSystem* fs) { FatSpecific* fs_info = FAT_SPECIFIC (fs); FatCluster cluster; for (cluster = 2; cluster < fs_info->cluster_count + 2; cluster++) { if (fat_table_is_bad (fs_info->fat, cluster)) fs_info->cluster_info [cluster].flag = FAT_FLAG_BAD; } } /* fills in cluster_info. Each FAT entry (= cluster) is flagged as either FAT_FLAG_FREE, FAT_FLAG_FILE or FAT_FLAG_DIRECTORY. Also, the fraction of each cluster (x/64) is recorded */ int fat_collect_cluster_info (PedFileSystem* fs) { FatSpecific* fs_info = FAT_SPECIFIC (fs); FatTraverseInfo* trav_info; /* set all clusters to unused as a default */ memset (fs_info->cluster_info, 0, fs_info->fat->cluster_count + 2); fs_info->total_dir_clusters = 0; if (fs_info->fat_type == FAT_TYPE_FAT32) { trav_info = fat_traverse_begin (fs, fs_info->root_cluster, "\\"); if (!flag_traverse_dir (trav_info)) return 0; if (!flag_traverse_fat (fs, "\\", fs_info->root_cluster, FAT_FLAG_DIRECTORY, 0)) return 0; } else { trav_info = fat_traverse_begin (fs, FAT_ROOT, "\\"); if (!flag_traverse_dir (trav_info)) return 0; } _mark_bad_clusters (fs); return 1; } FatClusterFlag fat_get_cluster_flag (PedFileSystem* fs, FatCluster cluster) { FatSpecific* fs_info = FAT_SPECIFIC (fs); return fs_info->cluster_info [cluster].flag; } PedSector fat_get_cluster_usage (PedFileSystem* fs, FatCluster cluster) { FatSpecific* fs_info = FAT_SPECIFIC (fs); int fraction; if (fs_info->cluster_info [cluster].flag == FAT_FLAG_FREE) return 0; fraction = fs_info->cluster_info [cluster].units_used; if (fraction == 0) fraction = 64; return fraction * fs_info->cluster_sectors / 64; } FatClusterFlag fat_get_fragment_flag (PedFileSystem* fs, FatFragment frag) { FatSpecific* fs_info = FAT_SPECIFIC (fs); FatCluster cluster = fat_frag_to_cluster (fs, frag); FatFragment offset = frag % fs_info->cluster_frags; FatFragment last_frag_used; FatClusterFlag flag; PED_ASSERT (cluster >= 2 && cluster < fs_info->cluster_count + 2, return 0); flag = fat_get_cluster_flag (fs, cluster); if (flag != FAT_FLAG_FILE && flag != FAT_FLAG_DIRECTORY) return flag; last_frag_used = (fat_get_cluster_usage (fs, cluster) - 1) / fs_info->frag_sectors; if (offset > last_frag_used) return FAT_FLAG_FREE; else return flag; } int fat_is_fragment_active (PedFileSystem* fs, FatFragment frag) { switch (fat_get_fragment_flag (fs, frag)) { case FAT_FLAG_FREE: case FAT_FLAG_BAD: return 0; case FAT_FLAG_FILE: case FAT_FLAG_DIRECTORY: return 1; } return 0; } #endif /* !DISCOVER_ONLY */ parted-2.3/libparted/fs/fat/bootsector.h0000644000000000000000000001264211370314006015210 00000000000000/* libparted Copyright (C) 1998-2000, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef PED_FAT_BOOTSECTOR_H #define PED_FAT_BOOTSECTOR_H typedef struct _FatBootSector FatBootSector; typedef struct _FatInfoSector FatInfoSector; #include "fat.h" #define FAT32_INFO_MAGIC1 0x41615252 #define FAT32_INFO_MAGIC2 0x61417272 #define FAT32_INFO_MAGIC3 0xaa55 /* stolen from mkdosfs, by Dave Hudson */ #define FAT_BOOT_MESSAGE \ "This partition does not have an operating system loader installed on it.\n\r"\ "Press a key to reboot..." #define FAT_BOOT_JUMP "\xeb\x58\x90" /* jmp +5a */ #define FAT_BOOT_CODE "\x0e" /* push cs */ \ "\x1f" /* pop ds */ \ "\xbe\x74\x7e" /* mov si, offset message */ \ /* write_msg_loop: */ \ "\xac" /* lodsb */ \ "\x22\xc0" /* and al, al */ \ "\x74\x06" /* jz done (+8) */ \ "\xb4\x0e" /* mov ah, 0x0e */ \ "\xcd\x10" /* int 0x10 */ \ "\xeb\xf5" /* jmp write_msg_loop */ \ /* done: */ \ "\xb4\x00" /* mov ah, 0x00 */ \ "\xcd\x16" /* int 0x16 */ \ "\xb4\x00" /* mov ah, 0x00 */ \ "\xcd\x19" /* int 0x19 */ \ "\xeb\xfe" /* jmp +0 - in case int 0x19 */ \ /* doesn't work */ \ /* message: */ \ FAT_BOOT_MESSAGE #define FAT_BOOT_CODE_LENGTH 128 struct __attribute__ ((packed)) _FatBootSector { uint8_t boot_jump[3]; /* 00: Boot strap short or near jump */ uint8_t system_id[8]; /* 03: system name */ uint16_t sector_size; /* 0b: bytes per logical sector */ uint8_t cluster_size; /* 0d: sectors/cluster */ uint16_t reserved; /* 0e: reserved sectors */ uint8_t fats; /* 10: number of FATs */ uint16_t dir_entries; /* 11: number of root directory entries */ uint16_t sectors; /* 13: if 0, total_sect supersedes */ uint8_t media; /* 15: media code */ uint16_t fat_length; /* 16: sectors/FAT for FAT12/16 */ uint16_t secs_track; /* 18: sectors per track */ uint16_t heads; /* 1a: number of heads */ uint32_t hidden; /* 1c: hidden sectors (partition start) */ uint32_t sector_count; /* 20: no. of sectors (if sectors == 0) */ union __attribute__ ((packed)) { /* FAT16 fields */ struct __attribute__ ((packed)) { uint8_t drive_num; /* 24: */ uint8_t empty_1; /* 25: */ uint8_t ext_signature; /* 26: always 0x29 */ uint32_t serial_number; /* 27: */ uint8_t volume_name [11]; /* 2b: */ uint8_t fat_name [8]; /* 36: */ uint8_t boot_code[448]; /* 3f: Boot code (or message) */ } fat16; /* FAT32 fields */ struct __attribute__ ((packed)) { uint32_t fat_length; /* 24: size of FAT in sectors */ uint16_t flags; /* 28: bit8: fat mirroring, low4: active fat */ uint16_t version; /* 2a: minor * 256 + major */ uint32_t root_dir_cluster; /* 2c: */ uint16_t info_sector; /* 30: */ uint16_t backup_sector; /* 32: */ uint8_t empty_1 [12]; /* 34: */ uint16_t drive_num; /* 40: */ uint8_t ext_signature; /* 42: always 0x29 */ uint32_t serial_number; /* 43: */ uint8_t volume_name [11]; /* 47: */ uint8_t fat_name [8]; /* 52: */ uint8_t boot_code[420]; /* 5a: Boot code (or message) */ } fat32; } u; uint16_t boot_sign; /* 1fe: always 0xAA55 */ }; struct __attribute__ ((packed)) _FatInfoSector { uint32_t signature_1; /* should be 0x41615252 */ uint8_t unused [480]; uint32_t signature_2; /* should be 0x61417272 */ uint32_t free_clusters; uint32_t next_cluster; /* most recently allocated cluster */ uint8_t unused2 [0xe]; uint16_t signature_3; /* should be 0xaa55 */ }; int fat_boot_sector_read (FatBootSector* bs, const PedGeometry* geom); FatType fat_boot_sector_probe_type (const FatBootSector* bs, const PedGeometry* geom); int fat_boot_sector_analyse (FatBootSector* bs, PedFileSystem* fs); int fat_boot_sector_set_boot_code (FatBootSector* bs); int fat_boot_sector_generate (FatBootSector* bs, const PedFileSystem* fs); int fat_boot_sector_write (const FatBootSector* bs, PedFileSystem* fs); int fat_info_sector_read (FatInfoSector* is, const PedFileSystem* fs); int fat_info_sector_generate (FatInfoSector* is, const PedFileSystem* fs); int fat_info_sector_write (const FatInfoSector* is, PedFileSystem* fs); #endif /* PED_FAT_BOOTSECTOR_H */ parted-2.3/libparted/fs/fat/Makefile.in0000644000000000000000000011615111400005574014722 00000000000000# Makefile.in generated by automake 1.11a from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = libparted/fs/fat DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \ $(top_srcdir)/m4/asm-underscore.m4 $(top_srcdir)/m4/assert.m4 \ $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/calloc.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \ $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/dirname.m4 \ $(top_srcdir)/m4/dos.m4 $(top_srcdir)/m4/double-slash-root.m4 \ $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/extensions.m4 \ $(top_srcdir)/m4/fclose.m4 $(top_srcdir)/m4/fcntl-o.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fpending.m4 \ $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getopt.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \ $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/lib-ignore.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \ $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \ $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/long-options.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \ $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/memchr.m4 \ $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \ $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/o-direct.m4 $(top_srcdir)/m4/open.m4 \ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \ $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/readlink.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/safe-read.m4 \ $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \ $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/symlink.m4 \ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \ $(top_srcdir)/m4/version-etc.m4 \ $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \ $(top_srcdir)/m4/wctype_h.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xstrndup.m4 \ $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/lib/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libfat_la_LIBADD = am_libfat_la_OBJECTS = bootsector.lo calc.lo clstdup.lo context.lo \ count.lo fat.lo fatio.lo table.lo traverse.lo resize.lo libfat_la_OBJECTS = $(am_libfat_la_OBJECTS) AM_V_lt = $(am__v_lt_$(V)) am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) am__v_lt_0 = --silent DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/lib depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_$(V)) am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) am__v_CC_0 = @echo " CC " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_$(V)) am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) am__v_CCLD_0 = @echo " CCLD " $@; AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; SOURCES = $(libfat_la_SOURCES) DIST_SOURCES = $(libfat_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ BUILDINFO = @BUILDINFO@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ CONFIG_INCLUDE = @CONFIG_INCLUDE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DL_LIBS = @DL_LIBS@ DM_LIBS = @DM_LIBS@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENABLE_DEVICE_MAPPER = @ENABLE_DEVICE_MAPPER@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPURGE = @GNULIB_FPURGE@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSTATAT = @GNULIB_FSTATAT@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETGROUPS = @GNULIB_GETGROUPS@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMCHR = @GNULIB_MEMCHR@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDIRAT = @GNULIB_MKDIRAT@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKFIFO = @GNULIB_MKFIFO@ GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@ GNULIB_MKNOD = @GNULIB_MKNOD@ GNULIB_MKNODAT = @GNULIB_MKNODAT@ GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PTSNAME = @GNULIB_PTSNAME@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ GNULIB_RMDIR = @GNULIB_RMDIR@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STAT = @GNULIB_STAT@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNCAT = @GNULIB_STRNCAT@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRPTIME = @GNULIB_STRPTIME@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNLINK = @GNULIB_UNLINK@ GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_USLEEP = @GNULIB_USLEEP@ GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_FUTIMENS = @HAVE_FUTIMENS@ HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETGROUPS = @HAVE_GETGROUPS@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@ HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@ HAVE_LANGINFO_H = @HAVE_LANGINFO_H@ HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LCHOWN = @HAVE_LCHOWN@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LOCALTIME_R = @HAVE_LOCALTIME_R@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_MKFIFO = @HAVE_MKFIFO@ HAVE_MKFIFOAT = @HAVE_MKFIFOAT@ HAVE_MKNOD = @HAVE_MKNOD@ HAVE_MKNODAT = @HAVE_MKNODAT@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ HAVE_OS_H = @HAVE_OS_H@ HAVE_PIPE2 = @HAVE_PIPE2@ HAVE_PREAD = @HAVE_PREAD@ HAVE_PTSNAME = @HAVE_PTSNAME@ HAVE_PWRITE = @HAVE_PWRITE@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TTYNAME_R = @HAVE_TTYNAME_R@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_USLEEP = @HAVE_USLEEP@ HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ HAVE_WCRTOMB = @HAVE_WCRTOMB@ HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE__BOOL = @HAVE__BOOL@ IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ INTLINCS = @INTLINCS@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ LIBTOOL = @LIBTOOL@ LIB_BLKID = @LIB_BLKID@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@ LOCALE_JA = @LOCALE_JA@ LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTALLOCA = @LTALLOCA@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ NEXT_WCTYPE_H = @NEXT_WCTYPE_H@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OS = @OS@ OS_LIBS = @OS_LIBS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PARTEDLDFLAGS = @PARTEDLDFLAGS@ PARTED_LIBS = @PARTED_LIBS@ PARTED_USABLE_TEST_DIR = @PARTED_USABLE_TEST_DIR@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POSUB = @POSUB@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PRIPTR_PREFIX = @PRIPTR_PREFIX@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REISER_LIBS = @REISER_LIBS@ REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FSTAT = @REPLACE_FSTAT@ REPLACE_FSTATAT = @REPLACE_FSTATAT@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ REPLACE_MBRLEN = @REPLACE_MBRLEN@ REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ REPLACE_MBSINIT = @REPLACE_MBSINIT@ REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_OPENAT = @REPLACE_OPENAT@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALPATH = @REPLACE_REALPATH@ REPLACE_REMOVE = @REPLACE_REMOVE@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRNCAT = @REPLACE_STRNCAT@ REPLACE_STRNDUP = @REPLACE_STRNDUP@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ REPLACE_UNSETENV = @REPLACE_UNSETENV@ REPLACE_USLEEP = @REPLACE_USLEEP@ REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ SELINUX_LIBS = @SELINUX_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_NLS = @USE_NLS@ UUID_LIBS = @UUID_LIBS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_aux_dir = @abs_aux_dir@ 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@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ gltests_WITNESS = @gltests_WITNESS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ partedincludedir = -I$(top_srcdir)/include noinst_LTLIBRARIES = libfat.la libfat_la_SOURCES = bootsector.c \ bootsector.h \ calc.c \ calc.h \ clstdup.c \ clstdup.h \ context.c \ context.h \ count.c \ count.h \ fat.c \ fat.h \ fatio.c \ fatio.h \ table.c \ table.h \ traverse.c \ traverse.h \ resize.c INCLUDES = $(partedincludedir) $(INTLINCS) MAINTAINERCLEANFILES = Makefile.in all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libparted/fs/fat/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu libparted/fs/fat/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libfat.la: $(libfat_la_OBJECTS) $(libfat_la_DEPENDENCIES) $(AM_V_CCLD)$(LINK) $(libfat_la_OBJECTS) $(libfat_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bootsector.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/calc.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/clstdup.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/context.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/count.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fat.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fatio.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/resize.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/table.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/traverse.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: $(HEADERS) $(SOURCES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstLTLIBRARIES cscopelist ctags \ distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: parted-2.3/libparted/fs/fat/context.h0000644000000000000000000000403111333731662014514 00000000000000/* libparted Copyright (C) 1999-2000, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef PED_FAT_CONTEXT_H_INCLUDED #define PED_FAT_CONTEXT_H_INCLUDED #include "count.h" enum _FatDirection { FAT_DIR_FORWARD, FAT_DIR_BACKWARD }; typedef enum _FatDirection FatDirection; struct _FatOpContext { PedFileSystem* old_fs; PedFileSystem* new_fs; PedSector frag_sectors; /* should equal old_fs and new_fs's frag_sectors */ FatDirection start_move_dir; FatFragment start_move_delta; FatFragment buffer_offset; FatFragment buffer_frags; FatFragment* buffer_map; FatFragment frags_duped; FatFragment* remap; FatCluster new_root_dir [32]; }; typedef struct _FatOpContext FatOpContext; extern FatOpContext* fat_op_context_new (PedFileSystem* new_fs, PedFileSystem* old_fs); extern void fat_op_context_destroy (FatOpContext* ctx); extern FatFragment fat_op_context_map_static_fragment (const FatOpContext* ctx, FatFragment frag); extern FatCluster fat_op_context_map_static_cluster (const FatOpContext* ctx, FatCluster clst); extern FatFragment fat_op_context_map_fragment (const FatOpContext* ctx, FatFragment frag); extern FatCluster fat_op_context_map_cluster (const FatOpContext* ctx, FatCluster clst); extern int fat_op_context_create_initial_fat (FatOpContext* ctx); #endif /* PED_FAT_CONTEXT_H_INCLUDED */ parted-2.3/libparted/fs/fat/clstdup.c0000644000000000000000000002453011333731662014507 00000000000000/* libparted Copyright (C) 1998-2001, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include "fat.h" #ifndef DISCOVER_ONLY static int needs_duplicating (const FatOpContext* ctx, FatFragment frag) { FatSpecific* old_fs_info = FAT_SPECIFIC (ctx->old_fs); FatCluster cluster = fat_frag_to_cluster (ctx->old_fs, frag); FatClusterFlag flag; PED_ASSERT (cluster >= 2 && cluster < old_fs_info->cluster_count + 2, return 0); flag = fat_get_fragment_flag (ctx->old_fs, frag); switch (flag) { case FAT_FLAG_FREE: return 0; case FAT_FLAG_DIRECTORY: return 1; case FAT_FLAG_FILE: return fat_op_context_map_static_fragment (ctx, frag) == -1; case FAT_FLAG_BAD: return 0; } return 0; } static int search_next_fragment (FatOpContext* ctx) { FatSpecific* fs_info = FAT_SPECIFIC (ctx->old_fs); for (; ctx->buffer_offset < fs_info->frag_count; ctx->buffer_offset++) { if (needs_duplicating (ctx, ctx->buffer_offset)) return 1; } return 0; /* all done! */ } static int read_marked_fragments (FatOpContext* ctx, FatFragment length) { FatSpecific* fs_info = FAT_SPECIFIC (ctx->old_fs); int status; FatFragment i; ped_exception_fetch_all (); status = fat_read_fragments (ctx->old_fs, fs_info->buffer, ctx->buffer_offset, length); ped_exception_leave_all (); if (status) return 1; ped_exception_catch (); /* something bad happened, so read fragments one by one. (The error may have occurred on an unused fragment: who cares) */ for (i = 0; i < length; i++) { if (ctx->buffer_map [i]) { if (!fat_read_fragment (ctx->old_fs, fs_info->buffer + i * fs_info->frag_size, ctx->buffer_offset + i)) return 0; } } return 1; } static int fetch_fragments (FatOpContext* ctx) { FatSpecific* old_fs_info = FAT_SPECIFIC (ctx->old_fs); FatFragment fetch_length = 0; FatFragment frag; for (frag = 0; frag < ctx->buffer_frags; frag++) ctx->buffer_map [frag] = -1; for (frag = 0; frag < ctx->buffer_frags && ctx->buffer_offset + frag < old_fs_info->frag_count; frag++) { if (needs_duplicating (ctx, ctx->buffer_offset + frag)) { ctx->buffer_map [frag] = 1; fetch_length = frag + 1; } } if (!read_marked_fragments (ctx, fetch_length)) return 0; return 1; } /***************************************************************************** * here starts the write code. All assumes that ctx->buffer_map [first] and * ctx->buffer_map [last] are occupied by fragments that need to be duplicated. *****************************************************************************/ /* finds the first fragment that is not going to get overwritten (that needs to get read in) */ static FatFragment get_first_underlay (const FatOpContext* ctx, int first, int last) { int old; FatFragment new; PED_ASSERT (first <= last, return 0); new = ctx->buffer_map [first]; for (old = first + 1; old <= last; old++) { if (ctx->buffer_map [old] == -1) continue; new++; if (ctx->buffer_map [old] != new) return new; } return -1; } /* finds the last fragment that is not going to get overwritten (that needs to get read in) */ static FatFragment get_last_underlay (const FatOpContext* ctx, int first, int last) { int old; FatFragment new; PED_ASSERT (first <= last, return 0); new = ctx->buffer_map [last]; for (old = last - 1; old >= first; old--) { if (ctx->buffer_map [old] == -1) continue; new--; if (ctx->buffer_map [old] != new) return new; } return -1; } /* "underlay" refers to the "static" fragments, that remain unchanged. * when writing large chunks at a time, we don't want to clobber these, * so we read them in, and write them back again. MUCH quicker that way. */ static int quick_group_write_read_underlay (FatOpContext* ctx, int first, int last) { FatSpecific* new_fs_info = FAT_SPECIFIC (ctx->new_fs); FatFragment first_underlay; FatFragment last_underlay; FatFragment underlay_length; PED_ASSERT (first <= last, return 0); first_underlay = get_first_underlay (ctx, first, last); if (first_underlay == -1) return 1; last_underlay = get_last_underlay (ctx, first, last); PED_ASSERT (first_underlay <= last_underlay, return 0); underlay_length = last_underlay - first_underlay + 1; if (!fat_read_fragments (ctx->new_fs, new_fs_info->buffer + (first_underlay - ctx->buffer_map [first]) * new_fs_info->frag_size, first_underlay, underlay_length)) return 0; return 1; } /* quick_group_write() makes no attempt to recover from errors - just * does things fast. If there is an error, slow_group_write() is * called. * Note: we do syncing writes, to make sure there isn't any * error writing out. It's rather difficult recovering from errors * further on. */ static int quick_group_write (FatOpContext* ctx, int first, int last) { FatSpecific* old_fs_info = FAT_SPECIFIC (ctx->old_fs); FatSpecific* new_fs_info = FAT_SPECIFIC (ctx->new_fs); int active_length; int i; int offset; PED_ASSERT (first <= last, return 0); ped_exception_fetch_all (); if (!quick_group_write_read_underlay (ctx, first, last)) goto error; for (i = first; i <= last; i++) { if (ctx->buffer_map [i] == -1) continue; offset = ctx->buffer_map [i] - ctx->buffer_map [first]; memcpy (new_fs_info->buffer + offset * new_fs_info->frag_size, old_fs_info->buffer + i * new_fs_info->frag_size, new_fs_info->frag_size); } active_length = ctx->buffer_map [last] - ctx->buffer_map [first] + 1; if (!fat_write_sync_fragments (ctx->new_fs, new_fs_info->buffer, ctx->buffer_map [first], active_length)) goto error; ped_exception_leave_all (); return 1; error: ped_exception_catch (); ped_exception_leave_all (); return 0; } /* Writes fragments out, one at a time, avoiding errors on redundant writes * on damaged parts of the disk we already know about. If there's an error * on one of the required fragments, it gets marked as bad, and a replacement * is found. */ static int slow_group_write (FatOpContext* ctx, int first, int last) { FatSpecific* old_fs_info = FAT_SPECIFIC (ctx->old_fs); FatSpecific* new_fs_info = FAT_SPECIFIC (ctx->new_fs); int i; PED_ASSERT (first <= last, return 0); for (i = first; i <= last; i++) { if (ctx->buffer_map [i] == -1) continue; while (!fat_write_sync_fragment (ctx->new_fs, old_fs_info->buffer + i * old_fs_info->frag_size, ctx->buffer_map [i])) { fat_table_set_bad (new_fs_info->fat, ctx->buffer_map [i]); ctx->buffer_map [i] = fat_table_alloc_cluster (new_fs_info->fat); if (ctx->buffer_map [i] == 0) return 0; } } return 1; } static int update_remap (FatOpContext* ctx, int first, int last) { int i; PED_ASSERT (first <= last, return 0); for (i = first; i <= last; i++) { if (ctx->buffer_map [i] == -1) continue; ctx->remap [ctx->buffer_offset + i] = ctx->buffer_map [i]; } return 1; } static int group_write (FatOpContext* ctx, int first, int last) { PED_ASSERT (first <= last, return 0); if (!quick_group_write (ctx, first, last)) { if (!slow_group_write (ctx, first, last)) return 0; } if (!update_remap (ctx, first, last)) return 0; return 1; } /* assumes fragment size and new_fs's cluster size are equal */ static int write_fragments (FatOpContext* ctx) { FatSpecific* old_fs_info = FAT_SPECIFIC (ctx->old_fs); FatSpecific* new_fs_info = FAT_SPECIFIC (ctx->new_fs); int group_start; int group_end = -1; /* shut gcc up! */ FatFragment mapped_length; FatFragment i; FatCluster new_cluster; PED_ASSERT (ctx->buffer_offset < old_fs_info->frag_count, return 0); group_start = -1; for (i = 0; i < ctx->buffer_frags; i++) { if (ctx->buffer_map [i] == -1) continue; ctx->frags_duped++; new_cluster = fat_table_alloc_cluster (new_fs_info->fat); if (!new_cluster) return 0; fat_table_set_eof (new_fs_info->fat, new_cluster); ctx->buffer_map [i] = fat_cluster_to_frag (ctx->new_fs, new_cluster); if (group_start == -1) group_start = group_end = i; PED_ASSERT (ctx->buffer_map [i] >= ctx->buffer_map [group_start], return 0); mapped_length = ctx->buffer_map [i] - ctx->buffer_map [group_start] + 1; if (mapped_length <= ctx->buffer_frags) { group_end = i; } else { /* ran out of room in the buffer, so write this group, * and start a new one... */ if (!group_write (ctx, group_start, group_end)) return 0; group_start = group_end = i; } } PED_ASSERT (group_start != -1, return 0); if (!group_write (ctx, group_start, group_end)) return 0; return 1; } /* default all fragments to unmoved */ static void init_remap (FatOpContext* ctx) { FatSpecific* old_fs_info = FAT_SPECIFIC (ctx->old_fs); FatFragment i; for (i = 0; i < old_fs_info->frag_count; i++) ctx->remap[i] = fat_op_context_map_static_fragment (ctx, i); } static FatFragment count_frags_to_dup (FatOpContext* ctx) { FatSpecific* fs_info = FAT_SPECIFIC (ctx->old_fs); FatFragment i; FatFragment total; total = 0; for (i = 0; i < fs_info->frag_count; i++) { if (needs_duplicating (ctx, i)) total++; } return total; } /* duplicates unreachable file clusters, and all directory clusters */ int fat_duplicate_clusters (FatOpContext* ctx, PedTimer* timer) { FatFragment total_frags_to_dup; init_remap (ctx); total_frags_to_dup = count_frags_to_dup (ctx); ped_timer_reset (timer); ped_timer_set_state_name (timer, "moving data"); ctx->buffer_offset = 0; ctx->frags_duped = 0; while (search_next_fragment (ctx)) { ped_timer_update ( timer, 1.0 * ctx->frags_duped / total_frags_to_dup); if (!fetch_fragments (ctx)) return 0; if (!write_fragments (ctx)) return 0; ctx->buffer_offset += ctx->buffer_frags; } ped_timer_update (timer, 1.0); return 1; } #endif /* !DISCOVER_ONLY */ parted-2.3/libparted/fs/fat/fatio.h0000644000000000000000000000375411333731662014145 00000000000000/* libparted Copyright (C) 1998-2000, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef FATIO_H_INCLUDED #define FATIO_H_INCLUDED #include "fat.h" extern int fat_read_fragments (PedFileSystem* fs, char* buf, FatFragment frag, FatFragment count); extern int fat_write_fragments (PedFileSystem* fs, char* buf, FatFragment frag, FatFragment count); extern int fat_write_sync_fragments (PedFileSystem* fs, char* buf, FatFragment frag, FatFragment count); extern int fat_read_fragment (PedFileSystem* fs, char* buf, FatFragment frag); extern int fat_write_fragment (PedFileSystem* fs, char* buf, FatFragment frag); extern int fat_write_sync_fragment (PedFileSystem* fs, char* buf, FatFragment frag); extern int fat_read_clusters (PedFileSystem* fs, char* buf, FatCluster cluster, FatCluster count); extern int fat_write_clusters (PedFileSystem* fs, char* buf, FatCluster cluster, FatCluster count); extern int fat_write_sync_clusters (PedFileSystem* fs, char* buf, FatCluster cluster, FatCluster count); extern int fat_read_cluster (PedFileSystem* fs, char *buf, FatCluster cluster); extern int fat_write_cluster (PedFileSystem* fs, char *buf, FatCluster cluster); extern int fat_write_sync_cluster (PedFileSystem* fs, char *buf, FatCluster cluster); #endif /* FATIO_H_INCLUDED */ parted-2.3/libparted/fs/fat/clstdup.h0000644000000000000000000000172711370314006014505 00000000000000/* libparted Copyright (C) 1999, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef PED_FAT_CLSTDUP_H_INCLUDED #define PED_FAT_CLSTDUP_H_INCLUDED #include "context.h" /* the big important one :-) */ extern int fat_duplicate_clusters (FatOpContext* ctx, PedTimer* timer); #endif /* PED_FAT_CLSTDUP_H_INCLUDED */ parted-2.3/libparted/fs/fat/table.h0000644000000000000000000000523211370314006014111 00000000000000/* libparted Copyright (C) 1998-2000, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef PED_FAT_TABLE_H_INCLUDED #define PED_FAT_TABLE_H_INCLUDED typedef struct _FatTable FatTable; #include "fat.h" struct _FatTable { void* table; FatCluster size; int raw_size; FatType fat_type; FatCluster cluster_count; FatCluster free_cluster_count; FatCluster bad_cluster_count; FatCluster last_alloc; }; extern FatTable* fat_table_new (FatType fat_type, FatCluster size); extern FatTable* fat_table_duplicate (const FatTable* ft); extern void fat_table_destroy (FatTable* ft); extern void fat_table_clear (FatTable* ft); extern int fat_table_set_cluster_count (FatTable* ft, FatCluster new_cluster_count); extern int fat_table_read (FatTable* ft, const PedFileSystem* fs, int table_num); extern int fat_table_write (const FatTable* ft, PedFileSystem* fs, int table_num); extern int fat_table_write_all (const FatTable* ft, PedFileSystem* fs); extern int fat_table_compare (const FatTable* a, const FatTable* b); extern int fat_table_count_stats (FatTable* ft); extern FatCluster fat_table_get (const FatTable* ft, FatCluster cluster); extern int fat_table_set (FatTable* ft, FatCluster cluster, FatCluster value); extern FatCluster fat_table_alloc_cluster (FatTable* ft); extern FatCluster fat_table_alloc_check_cluster (FatTable* ft, PedFileSystem* fs); extern int fat_table_is_bad (const FatTable* ft, FatCluster cluster); extern int fat_table_is_eof (const FatTable* ft, FatCluster cluster); extern int fat_table_is_empty (const FatTable* ft, FatCluster cluster); extern int fat_table_is_available (const FatTable* ft, FatCluster cluster); extern int fat_table_is_active (const FatTable* ft, FatCluster cluster); extern int fat_table_set_eof (FatTable* ft, FatCluster cluster); extern int fat_table_set_avail (FatTable* ft, FatCluster cluster); extern int fat_table_set_bad (FatTable* ft, FatCluster cluster); extern int fat_table_entry_size (FatType fat_type); #endif /* PED_FAT_TABLE_H_INCLUDED */ parted-2.3/libparted/fs/fat/fatio.c0000644000000000000000000000754411333731662014141 00000000000000/* libparted Copyright (C) 1998-2000, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "fat.h" #include "fatio.h" #include #include #include #include #include #include #include #ifndef DISCOVER_ONLY int fat_read_fragments (PedFileSystem* fs, char* buf, FatFragment frag, FatFragment count) { FatSpecific* fs_info = FAT_SPECIFIC (fs); PedSector sector = fat_frag_to_sector (fs, frag); PedSector sector_count = count * fs_info->frag_sectors; PED_ASSERT (frag >= 0 && frag < fs_info->frag_count, return 0); return ped_geometry_read (fs->geom, buf, sector, sector_count); } int fat_read_fragment (PedFileSystem* fs, char* buf, FatFragment frag) { return fat_read_fragments (fs, buf, frag, 1); } int fat_write_fragments (PedFileSystem* fs, char* buf, FatFragment frag, FatFragment count) { FatSpecific* fs_info = FAT_SPECIFIC (fs); PedSector sector = fat_frag_to_sector (fs, frag); PedSector sector_count = count * fs_info->frag_sectors; PED_ASSERT (frag >= 0 && frag < fs_info->frag_count, return 0); return ped_geometry_write (fs->geom, buf, sector, sector_count); } int fat_write_fragment (PedFileSystem* fs, char* buf, FatFragment frag) { return fat_write_fragments (fs, buf, frag, 1); } int fat_write_sync_fragments (PedFileSystem* fs, char* buf, FatFragment frag, FatFragment count) { if (!fat_write_fragments (fs, buf, frag, count)) return 0; if (!ped_geometry_sync (fs->geom)) return 0; return 1; } int fat_write_sync_fragment (PedFileSystem* fs, char* buf, FatFragment frag) { return fat_write_sync_fragments (fs, buf, frag, 1); } int fat_read_clusters (PedFileSystem* fs, char *buf, FatCluster cluster, FatCluster count) { FatSpecific* fs_info = FAT_SPECIFIC (fs); PedSector sector = fat_cluster_to_sector (fs, cluster); PedSector sector_count = count * fs_info->cluster_sectors; PED_ASSERT (cluster >= 2 && cluster + count - 1 < fs_info->cluster_count + 2, return 0); return ped_geometry_read (fs->geom, buf, sector, sector_count); } int fat_read_cluster (PedFileSystem* fs, char *buf, FatCluster cluster) { return fat_read_clusters (fs, buf, cluster, 1); } int fat_write_clusters (PedFileSystem* fs, char *buf, FatCluster cluster, FatCluster count) { FatSpecific* fs_info = FAT_SPECIFIC (fs); PedSector sector = fat_cluster_to_sector (fs, cluster); PedSector sector_count = count * fs_info->cluster_sectors; PED_ASSERT (cluster >= 2 && cluster + count - 1 < fs_info->cluster_count + 2, return 0); return ped_geometry_write (fs->geom, buf, sector, sector_count); } int fat_write_cluster (PedFileSystem* fs, char *buf, FatCluster cluster) { return fat_write_clusters (fs, buf, cluster, 1); } int fat_write_sync_clusters (PedFileSystem* fs, char *buf, FatCluster cluster, FatCluster count) { if (!fat_write_clusters (fs, buf, cluster, count)) return 0; if (!ped_geometry_sync (fs->geom)) return 0; return 1; } int fat_write_sync_cluster (PedFileSystem* fs, char *buf, FatCluster cluster) { if (!fat_write_cluster (fs, buf, cluster)) return 0; if (!ped_geometry_sync (fs->geom)) return 0; return 1; } #endif /* !DISCOVER_ONLY */ parted-2.3/libparted/fs/fat/traverse.c0000644000000000000000000002136111333731662014663 00000000000000/* libparted Copyright (C) 1998-2000, 2005, 2007-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "fat.h" #include "traverse.h" #include #include #include #ifndef DISCOVER_ONLY #define NO_CLUSTER -1 static char tmp_buffer [4096]; int fat_traverse_entries_per_buffer (FatTraverseInfo* trav_info) { return trav_info->buffer_size / sizeof (FatDirEntry); } /* returns 1 if there are no more directory entries in the directory being * traversed, 0 otherwise. */ static int is_last_buffer (FatTraverseInfo* trav_info) { FatSpecific* fs_info = FAT_SPECIFIC (trav_info->fs); if (trav_info->is_legacy_root_dir) return 1; else return fat_table_is_eof (fs_info->fat, trav_info->next_buffer); } static int write_root_dir (FatTraverseInfo* trav_info) { FatSpecific* fs_info = FAT_SPECIFIC (trav_info->fs); if (!ped_geometry_write (trav_info->fs->geom, trav_info->dir_entries, fs_info->root_dir_offset, fs_info->root_dir_sector_count)) return 0; if (!ped_geometry_sync (trav_info->fs->geom)) return 0; trav_info->dirty = 0; return 1; } static int write_dir_cluster (FatTraverseInfo* trav_info) { if (!fat_write_sync_cluster (trav_info->fs, (void*) trav_info->dir_entries, trav_info->this_buffer)) return 0; trav_info->dirty = 0; return 1; } static int write_dir_buffer (FatTraverseInfo* trav_info) { if (trav_info->is_legacy_root_dir) return write_root_dir (trav_info); else return write_dir_cluster (trav_info); } static int read_next_dir_buffer (FatTraverseInfo* trav_info) { FatSpecific* fs_info = FAT_SPECIFIC (trav_info->fs); PED_ASSERT (!trav_info->is_legacy_root_dir, return 0); trav_info->this_buffer = trav_info->next_buffer; if (trav_info->this_buffer < 2 || trav_info->this_buffer >= fs_info->cluster_count + 2) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, "Cluster %ld in directory %s is outside file system!", (long) trav_info->this_buffer, trav_info->dir_name); return 0; } trav_info->next_buffer = fat_table_get (fs_info->fat, trav_info->this_buffer); return fat_read_cluster (trav_info->fs, (void *) trav_info->dir_entries, trav_info->this_buffer); } /* FIXME: put into fat_dir_entry_* operations */ void fat_traverse_mark_dirty (FatTraverseInfo* trav_info) { trav_info->dirty = 1; } FatTraverseInfo* fat_traverse_begin (PedFileSystem* fs, FatCluster start_cluster, const char* dir_name) { FatSpecific* fs_info = FAT_SPECIFIC (fs); FatTraverseInfo* trav_info; trav_info = (FatTraverseInfo*) ped_malloc (sizeof (FatTraverseInfo)); if (!trav_info) goto error; trav_info->dir_name = strdup (dir_name); if (!trav_info->dir_name) goto error_free_trav_info; trav_info->fs = fs; trav_info->is_legacy_root_dir = (fs_info->fat_type == FAT_TYPE_FAT16) && (start_cluster == 0); trav_info->dirty = 0; trav_info->eof = 0; trav_info->current_entry = -1; if (trav_info->is_legacy_root_dir) { trav_info->buffer_size = 512 * fs_info->root_dir_sector_count; } else { trav_info->next_buffer = start_cluster; trav_info->buffer_size = fs_info->cluster_size; } trav_info->dir_entries = (FatDirEntry*) ped_malloc (trav_info->buffer_size); if (!trav_info->dir_entries) goto error_free_dir_name; if (trav_info->is_legacy_root_dir) { if (!ped_geometry_read (fs->geom, trav_info->dir_entries, fs_info->root_dir_offset, fs_info->root_dir_sector_count)) goto error_free_dir_entries; } else { if (!read_next_dir_buffer (trav_info)) goto error_free_dir_entries; } return trav_info; error_free_dir_entries: free (trav_info->dir_entries); error_free_dir_name: free (trav_info->dir_name); error_free_trav_info: free (trav_info); error: return NULL; } int fat_traverse_complete (FatTraverseInfo* trav_info) { if (trav_info->dirty) { if (!write_dir_buffer (trav_info)) return 0; } free (trav_info->dir_entries); free (trav_info->dir_name); free (trav_info); return 1; } FatTraverseInfo* fat_traverse_directory (FatTraverseInfo *trav_info, FatDirEntry* parent) { strcpy (tmp_buffer, trav_info->dir_name); fat_dir_entry_get_name (parent, tmp_buffer + strlen (trav_info->dir_name)); strcat (tmp_buffer, "\\"); return fat_traverse_begin (trav_info->fs, fat_dir_entry_get_first_cluster (parent, trav_info->fs), tmp_buffer); } FatDirEntry* fat_traverse_next_dir_entry (FatTraverseInfo *trav_info) { if (trav_info->eof) return NULL; trav_info->current_entry++; if (trav_info->current_entry >= fat_traverse_entries_per_buffer (trav_info)) { if (trav_info->dirty) { if (!write_dir_buffer (trav_info)) return NULL; } trav_info->current_entry = 0; if (is_last_buffer (trav_info)) { trav_info->eof = 1; return NULL; } if (!read_next_dir_buffer (trav_info)) return NULL; } return trav_info->dir_entries + trav_info->current_entry; } FatCluster fat_dir_entry_get_first_cluster (FatDirEntry* dir_entry, PedFileSystem *fs) { FatSpecific* fs_info = FAT_SPECIFIC (fs); switch (fs_info->fat_type) { case FAT_TYPE_FAT12: case FAT_TYPE_FAT16: return PED_LE16_TO_CPU (dir_entry->first_cluster); case FAT_TYPE_FAT32: return PED_LE16_TO_CPU (dir_entry->first_cluster_high) * 65536L + PED_LE16_TO_CPU (dir_entry->first_cluster); } return 0; } void fat_dir_entry_set_first_cluster (FatDirEntry* dir_entry, PedFileSystem* fs, FatCluster cluster) { FatSpecific* fs_info = FAT_SPECIFIC (fs); switch (fs_info->fat_type) { case FAT_TYPE_FAT12: PED_ASSERT (0, (void) 0); break; case FAT_TYPE_FAT16: dir_entry->first_cluster = PED_CPU_TO_LE16 (cluster); break; case FAT_TYPE_FAT32: dir_entry->first_cluster = PED_CPU_TO_LE16 (cluster & 0xffff); dir_entry->first_cluster_high = PED_CPU_TO_LE16 (cluster / 0x10000); break; } } uint32_t fat_dir_entry_get_length (FatDirEntry* dir_entry) { return PED_LE32_TO_CPU (dir_entry->length); } int fat_dir_entry_is_null_term (const FatDirEntry* dir_entry) { FatDirEntry null_entry; memset (&null_entry, 0, sizeof (null_entry)); return memcmp (&null_entry, dir_entry, sizeof (null_entry)) == 0; } int fat_dir_entry_is_active (FatDirEntry* dir_entry) { if ((unsigned char) dir_entry->name[0] == DELETED_FLAG) return 0; if ((unsigned char) dir_entry->name[0] == 0) return 0; if ((unsigned char) dir_entry->name[0] == 0xF6) return 0; return 1; } int fat_dir_entry_is_file (FatDirEntry* dir_entry) { if (dir_entry->attributes == VFAT_ATTR) return 0; if (dir_entry->attributes & VOLUME_LABEL_ATTR) return 0; if (!fat_dir_entry_is_active (dir_entry)) return 0; if ((dir_entry->attributes & DIRECTORY_ATTR) == DIRECTORY_ATTR) return 0; return 1; } int fat_dir_entry_is_system_file (FatDirEntry* dir_entry) { if (!fat_dir_entry_is_file (dir_entry)) return 0; return (dir_entry->attributes & SYSTEM_ATTR) || (dir_entry->attributes & HIDDEN_ATTR); } int fat_dir_entry_is_directory (FatDirEntry* dir_entry) { if (dir_entry->attributes == VFAT_ATTR) return 0; if (dir_entry->attributes & VOLUME_LABEL_ATTR) return 0; if (!fat_dir_entry_is_active (dir_entry)) return 0; return (dir_entry->attributes & DIRECTORY_ATTR) == DIRECTORY_ATTR; } int fat_dir_entry_has_first_cluster (FatDirEntry* dir_entry, PedFileSystem* fs) { FatSpecific* fs_info = FAT_SPECIFIC (fs); FatCluster first_cluster; if (!fat_dir_entry_is_file (dir_entry) && !fat_dir_entry_is_directory (dir_entry)) return 0; first_cluster = fat_dir_entry_get_first_cluster (dir_entry, fs); if (first_cluster == 0 || fat_table_is_eof (fs_info->fat, first_cluster)) return 0; return 1; } /* decrypts silly DOS names to FILENAME.EXT */ void fat_dir_entry_get_name (const FatDirEntry *dir_entry, char *result) { size_t i; const char *src; const char *ext; src = dir_entry->name; for (i=0; i < sizeof dir_entry->name; i++) { if (src[i] == ' ' || src[i] == 0) break; *result++ = src[i]; } ext = (const char *) dir_entry->extension; if (ext[0] != ' ' && ext[0] != 0) { *result++ = '.'; for (i=0; i < sizeof dir_entry->extension; i++) { if (ext[i] == ' ' || ext[i] == 0) break; *result++ = ext[i]; } } *result = 0; } #endif /* !DISCOVER_ONLY */ parted-2.3/libparted/fs/fat/fat.h0000644000000000000000000000775311333731662013620 00000000000000/* libparted Copyright (C) 1998-2001, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef FAT_H_INCLUDED #define FAT_H_INCLUDED #include #include #include #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ #include #include #include #include #define BUFFER_SIZE 1024 /* buffer size in sectors (512 bytes) */ typedef uint32_t FatCluster; typedef int32_t FatFragment; enum _FatType { FAT_TYPE_FAT12, FAT_TYPE_FAT16, FAT_TYPE_FAT32 }; typedef enum _FatType FatType; typedef struct _FatSpecific FatSpecific; typedef struct _FatDirEntry FatDirEntry; /* FIXME: YUCKY */ #include "table.h" #include "bootsector.h" #include "context.h" #include "fatio.h" #include "traverse.h" #include "calc.h" #include "count.h" #include "clstdup.h" struct __attribute__ ((packed)) _FatDirEntry { char name[8]; uint8_t extension[3]; uint8_t attributes; uint8_t is_upper_case_name; uint8_t creation_time_low; /* milliseconds */ uint16_t creation_time_high; uint16_t creation_date; uint16_t access_date; uint16_t first_cluster_high; /* for FAT32 */ uint16_t time; uint16_t date; uint16_t first_cluster; uint32_t length; }; struct _FatSpecific { FatBootSector boot_sector; /* structure of boot sector */ FatInfoSector info_sector; /* fat32-only information sector */ int logical_sector_size; /* illogical sector size :-) */ PedSector sector_count; int sectors_per_track; /* BIOS CHS stuff (S) */ int heads; /* BIOS CHS stuff (H) */ int cluster_size; PedSector cluster_sectors; FatCluster cluster_count; int dir_entries_per_cluster; FatType fat_type; int fat_table_count; PedSector fat_sectors; uint32_t serial_number; PedSector info_sector_offset; /* FAT32 only */ PedSector fat_offset; PedSector root_dir_offset; /* non-FAT32 */ PedSector cluster_offset; PedSector boot_sector_backup_offset; FatCluster root_cluster; /* FAT32 only */ int root_dir_entry_count; /* non-FAT32 */ PedSector root_dir_sector_count; /* non-FAT32 */ FatCluster total_dir_clusters; FatTable* fat; FatClusterInfo* cluster_info; PedSector buffer_sectors; char* buffer; int frag_size; PedSector frag_sectors; FatFragment frag_count; FatFragment buffer_frags; FatFragment cluster_frags; }; #define FAT_SPECIFIC(fs) ((FatSpecific*) fs->type_specific) #define FAT_ROOT 0 #define DELETED_FLAG 0xe5 #define READONLY_ATTR 0x01 #define HIDDEN_ATTR 0x02 #define SYSTEM_ATTR 0x04 #define VOLUME_LABEL_ATTR 0x08 #define VFAT_ATTR 0x0f #define DIRECTORY_ATTR 0x10 #define ARCH_ATTR 0x20 #define MAX_FAT12_CLUSTERS 4086 #define MAX_FAT16_CLUSTERS 65526 #define MAX_FAT32_CLUSTERS 2000000 #define FAT_ROOT_DIR_ENTRY_COUNT 512 extern PedFileSystemType fat16_type; extern PedFileSystemType fat32_type; extern void fat_print (const PedFileSystem* fs); extern PedFileSystem* fat_alloc (const PedGeometry* geom); extern void fat_free (PedFileSystem* fs); extern int fat_alloc_buffers (PedFileSystem* fs); extern void fat_free_buffers (PedFileSystem* fs); extern int fat_resize (PedFileSystem* fs, PedGeometry* geom, PedTimer* timer); extern int fat_set_frag_sectors (PedFileSystem* fs, PedSector frag_sectors); #endif /* FAT_H_INCLUDED */ parted-2.3/libparted/fs/fat/calc.c0000644000000000000000000003044111333731662013731 00000000000000/* libparted Copyright (C) 1998-2000, 2002, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "fat.h" #ifndef DISCOVER_ONLY /* returns the minimum size of clusters for a given file system type */ PedSector fat_min_cluster_size (FatType fat_type) { switch (fat_type) { case FAT_TYPE_FAT12: return 1; case FAT_TYPE_FAT16: return 1024/512; case FAT_TYPE_FAT32: return 4096/512; } return 0; } static PedSector _smallest_power2_over (PedSector ceiling) { PedSector result = 1; while (result < ceiling) result *= 2; return result; } /* returns the minimum size of clusters for a given file system type */ PedSector fat_recommend_min_cluster_size (FatType fat_type, PedSector size) { switch (fat_type) { case FAT_TYPE_FAT12: return 1; case FAT_TYPE_FAT16: return fat_min_cluster_size(fat_type); case FAT_TYPE_FAT32: return PED_MAX(_smallest_power2_over(size / MAX_FAT32_CLUSTERS), fat_min_cluster_size (fat_type)); } return 0; } /* returns the maxmimum size of clusters for a given file system type */ PedSector fat_max_cluster_size (FatType fat_type) { switch (fat_type) { case FAT_TYPE_FAT12: return 1; /* dunno... who cares? */ case FAT_TYPE_FAT16: return 65536/512; case FAT_TYPE_FAT32: return 65536/512; } return 0; } /* returns the minimum number of clusters for a given file system type */ FatCluster fat_min_cluster_count (FatType fat_type) { switch (fat_type) { case FAT_TYPE_FAT12: case FAT_TYPE_FAT16: return fat_max_cluster_count (fat_type) / 2; case FAT_TYPE_FAT32: return 0xfff0; } return 0; } /* returns the maximum number of clusters for a given file system type */ FatCluster fat_max_cluster_count (FatType fat_type) { switch (fat_type) { case FAT_TYPE_FAT12: return 0xff0; case FAT_TYPE_FAT16: return 0xfff0; case FAT_TYPE_FAT32: return 0x0ffffff0; } return 0; } /* what is this supposed to be? What drugs are M$ on? (Can I have some? :-) */ PedSector fat_min_reserved_sector_count (FatType fat_type) { return (fat_type == FAT_TYPE_FAT32) ? 32 : 1; } int fat_check_resize_geometry (const PedFileSystem* fs, const PedGeometry* geom, PedSector new_cluster_sectors, FatCluster new_cluster_count) { FatSpecific* fs_info = FAT_SPECIFIC (fs); PedSector free_space; PedSector min_free_space; PedSector total_space; PedSector new_total_space; PedSector dir_space; PED_ASSERT (geom != NULL, return 0); dir_space = fs_info->total_dir_clusters * fs_info->cluster_sectors; free_space = fs_info->fat->free_cluster_count * fs_info->cluster_sectors; total_space = fs_info->fat->cluster_count * fs_info->cluster_sectors; new_total_space = new_cluster_count * new_cluster_sectors; min_free_space = total_space - new_total_space + dir_space; PED_ASSERT (new_cluster_count <= fat_max_cluster_count (FAT_TYPE_FAT32), return 0); if (free_space < min_free_space) { char* needed = ped_unit_format (geom->dev, min_free_space); char* have = ped_unit_format (geom->dev, free_space); ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("You need %s of free disk space to shrink this " "partition to this size. Currently, only %s is " "free."), needed, have); free (needed); free (have); return 0; } return 1; } /******************************************************************************/ /* DO NOT EDIT THIS ALGORITHM! * As far as I can tell, this is the same algorithm used by Microsoft to * calculate the size of the file allocaion tables, and the number of clusters. * I have not verified this by dissassembling Microsoft code - I came to this * conclusion by empirical analysis (i.e. trial and error - this was HORRIBLE). * * If you think this code makes no sense, then you are right. I will restrain * the urge to inflict serious bodily harm on Microsoft people. */ static int entries_per_sector (FatType fat_type) { switch (fat_type) { case FAT_TYPE_FAT12: return 512 * 3 / 2; case FAT_TYPE_FAT16: return 512 / 2; case FAT_TYPE_FAT32: return 512 / 4; } return 0; } static int calc_sizes (PedSector size, PedSector align, FatType fat_type, PedSector root_dir_sectors, PedSector cluster_sectors, FatCluster* out_cluster_count, PedSector* out_fat_size) { PedSector data_fat_space; /* space available to clusters + FAT */ PedSector fat_space; /* space taken by each FAT */ PedSector cluster_space; /* space taken by clusters */ FatCluster cluster_count; int i; PED_ASSERT (out_cluster_count != NULL, return 0); PED_ASSERT (out_fat_size != NULL, return 0); data_fat_space = size - fat_min_reserved_sector_count (fat_type) - align; if (fat_type == FAT_TYPE_FAT16) data_fat_space -= root_dir_sectors; fat_space = 0; for (i = 0; i < 2; i++) { if (fat_type == FAT_TYPE_FAT32) cluster_space = data_fat_space - fat_space; else cluster_space = data_fat_space - 2 * fat_space; cluster_count = cluster_space / cluster_sectors; fat_space = ped_div_round_up (cluster_count + 2, entries_per_sector (fat_type)); } cluster_space = data_fat_space - 2 * fat_space; cluster_count = cluster_space / cluster_sectors; /* looks like this should be part of the loop condition? * Need to build the Big Table TM again to check */ if (fat_space < ped_div_round_up (cluster_count + 2, entries_per_sector (fat_type))) { fat_space = ped_div_round_up (cluster_count + 2, entries_per_sector (fat_type)); } if (cluster_count > fat_max_cluster_count (fat_type) || cluster_count < fat_min_cluster_count (fat_type)) return 0; *out_cluster_count = cluster_count; *out_fat_size = fat_space; return 1; } /****************************************************************************/ int fat_calc_sizes (PedSector size, PedSector align, FatType fat_type, PedSector root_dir_sectors, PedSector* out_cluster_sectors, FatCluster* out_cluster_count, PedSector* out_fat_size) { PedSector cluster_sectors; PED_ASSERT (out_cluster_sectors != NULL, return 0); PED_ASSERT (out_cluster_count != NULL, return 0); PED_ASSERT (out_fat_size != NULL, return 0); for (cluster_sectors = fat_recommend_min_cluster_size (fat_type, size); cluster_sectors <= fat_max_cluster_size (fat_type); cluster_sectors *= 2) { if (calc_sizes (size, align, fat_type, root_dir_sectors, cluster_sectors, out_cluster_count, out_fat_size)) { *out_cluster_sectors = cluster_sectors; return 1; } } for (cluster_sectors = fat_recommend_min_cluster_size (fat_type, size); cluster_sectors >= fat_min_cluster_size (fat_type); cluster_sectors /= 2) { if (calc_sizes (size, align, fat_type, root_dir_sectors, cluster_sectors, out_cluster_count, out_fat_size)) { *out_cluster_sectors = cluster_sectors; return 1; } } /* only make the cluster size really small (<4k) if a bigger one is * isn't possible. Windows never makes FS's like this, but it * seems to work... (do more tests!) */ for (cluster_sectors = 4; cluster_sectors > 0; cluster_sectors /= 2) { if (calc_sizes (size, align, fat_type, root_dir_sectors, cluster_sectors, out_cluster_count, out_fat_size)) { *out_cluster_sectors = cluster_sectors; return 1; } } return 0; } /* Same as fat_calc_sizes, except it only attempts to match a particular * cluster size. This is useful, because the FAT resizer can only shrink the * cluster size. */ int fat_calc_resize_sizes ( const PedGeometry* geom, PedSector align, FatType fat_type, PedSector root_dir_sectors, PedSector cluster_sectors, PedSector* out_cluster_sectors, FatCluster* out_cluster_count, PedSector* out_fat_size) { PED_ASSERT (geom != NULL, return 0); PED_ASSERT (out_cluster_sectors != NULL, return 0); PED_ASSERT (out_cluster_count != NULL, return 0); PED_ASSERT (out_fat_size != NULL, return 0); /* libparted can only reduce the cluster size at this point */ for (*out_cluster_sectors = cluster_sectors; *out_cluster_sectors >= fat_min_cluster_size (fat_type); *out_cluster_sectors /= 2) { if (calc_sizes (geom->length, align, fat_type, root_dir_sectors, *out_cluster_sectors, out_cluster_count, out_fat_size)) return 1; } return 0; } /* Calculates the number of sectors needed to be added to cluster_offset, to make the cluster on the new file system match up with the ones on the old file system. However, some space is reserved by fat_calc_resize_sizes() and friends, to allow room for this space. If too much of this space is left over, everyone will complain, so we have to be greedy, and use it all up... */ PedSector fat_calc_align_sectors (const PedFileSystem* new_fs, const PedFileSystem* old_fs) { FatSpecific* old_fs_info = FAT_SPECIFIC (old_fs); FatSpecific* new_fs_info = FAT_SPECIFIC (new_fs); PedSector raw_old_meta_data_end; PedSector new_meta_data_size; PedSector min_new_meta_data_end; PedSector new_data_size; PedSector new_clusters_size; PedSector align; new_meta_data_size = fat_min_reserved_sector_count (new_fs_info->fat_type) + new_fs_info->fat_sectors * 2; if (new_fs_info->fat_type == FAT_TYPE_FAT16) new_meta_data_size += new_fs_info->root_dir_sector_count; raw_old_meta_data_end = old_fs->geom->start + old_fs_info->cluster_offset; min_new_meta_data_end = new_fs->geom->start + new_meta_data_size; if (raw_old_meta_data_end > min_new_meta_data_end) align = (raw_old_meta_data_end - min_new_meta_data_end) % new_fs_info->cluster_sectors; else align = (new_fs_info->cluster_sectors - ( (min_new_meta_data_end - raw_old_meta_data_end) % new_fs_info->cluster_sectors )) % new_fs_info->cluster_sectors; new_data_size = new_fs->geom->length - new_meta_data_size; new_clusters_size = new_fs_info->cluster_count * new_fs_info->cluster_sectors; while (new_clusters_size + align + new_fs_info->cluster_sectors <= new_data_size) align += new_fs_info->cluster_sectors; return align; } int fat_is_sector_in_clusters (const PedFileSystem* fs, PedSector sector) { FatSpecific* fs_info = FAT_SPECIFIC (fs); return sector >= fs_info->cluster_offset && sector < fs_info->cluster_offset + fs_info->cluster_sectors * fs_info->cluster_count; } FatFragment fat_cluster_to_frag (const PedFileSystem* fs, FatCluster cluster) { FatSpecific* fs_info = FAT_SPECIFIC (fs); PED_ASSERT (cluster >= 2 && cluster < fs_info->cluster_count + 2, return 0); return (cluster - 2) * fs_info->cluster_frags; } FatCluster fat_frag_to_cluster (const PedFileSystem* fs, FatFragment frag) { FatSpecific* fs_info = FAT_SPECIFIC (fs); PED_ASSERT (frag >= 0 && frag < fs_info->frag_count, return 0); return frag / fs_info->cluster_frags + 2; } PedSector fat_frag_to_sector (const PedFileSystem* fs, FatFragment frag) { FatSpecific* fs_info = FAT_SPECIFIC (fs); PED_ASSERT (frag >= 0 && frag < fs_info->frag_count, return 0); return frag * fs_info->frag_sectors + fs_info->cluster_offset; } FatFragment fat_sector_to_frag (const PedFileSystem* fs, PedSector sector) { FatSpecific* fs_info = FAT_SPECIFIC (fs); PED_ASSERT (sector >= fs_info->cluster_offset, return 0); return (sector - fs_info->cluster_offset) / fs_info->frag_sectors; } PedSector fat_cluster_to_sector (const PedFileSystem* fs, FatCluster cluster) { FatSpecific* fs_info = FAT_SPECIFIC (fs); PED_ASSERT (cluster >= 2 && cluster < fs_info->cluster_count + 2, return 0); return (cluster - 2) * fs_info->cluster_sectors + fs_info->cluster_offset; } FatCluster fat_sector_to_cluster (const PedFileSystem* fs, PedSector sector) { FatSpecific* fs_info = FAT_SPECIFIC (fs); PED_ASSERT (sector >= fs_info->cluster_offset, return 0); return (sector - fs_info->cluster_offset) / fs_info->cluster_sectors + 2; } #endif /* !DISCOVER_ONLY */ parted-2.3/libparted/fs/ntfs/0000755000000000000000000000000011400006132013117 500000000000000parted-2.3/libparted/fs/ntfs/Makefile.am0000644000000000000000000000027011035473300015103 00000000000000partedincludedir = -I$(top_srcdir)/include noinst_LTLIBRARIES = libntfs.la libntfs_la_SOURCES = ntfs.c INCLUDES = $(partedincludedir) $(INTLINCS) MAINTAINERCLEANFILES = Makefile.in parted-2.3/libparted/fs/ntfs/Makefile.in0000644000000000000000000011422011400005574015115 00000000000000# Makefile.in generated by automake 1.11a from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = libparted/fs/ntfs DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \ $(top_srcdir)/m4/asm-underscore.m4 $(top_srcdir)/m4/assert.m4 \ $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/calloc.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \ $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/dirname.m4 \ $(top_srcdir)/m4/dos.m4 $(top_srcdir)/m4/double-slash-root.m4 \ $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/extensions.m4 \ $(top_srcdir)/m4/fclose.m4 $(top_srcdir)/m4/fcntl-o.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fpending.m4 \ $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getopt.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \ $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/lib-ignore.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \ $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \ $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/long-options.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \ $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/memchr.m4 \ $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \ $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/o-direct.m4 $(top_srcdir)/m4/open.m4 \ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \ $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/readlink.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/safe-read.m4 \ $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \ $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/symlink.m4 \ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \ $(top_srcdir)/m4/version-etc.m4 \ $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \ $(top_srcdir)/m4/wctype_h.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xstrndup.m4 \ $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/lib/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libntfs_la_LIBADD = am_libntfs_la_OBJECTS = ntfs.lo libntfs_la_OBJECTS = $(am_libntfs_la_OBJECTS) AM_V_lt = $(am__v_lt_$(V)) am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) am__v_lt_0 = --silent DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/lib depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_$(V)) am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) am__v_CC_0 = @echo " CC " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_$(V)) am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) am__v_CCLD_0 = @echo " CCLD " $@; AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; SOURCES = $(libntfs_la_SOURCES) DIST_SOURCES = $(libntfs_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ BUILDINFO = @BUILDINFO@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ CONFIG_INCLUDE = @CONFIG_INCLUDE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DL_LIBS = @DL_LIBS@ DM_LIBS = @DM_LIBS@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENABLE_DEVICE_MAPPER = @ENABLE_DEVICE_MAPPER@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPURGE = @GNULIB_FPURGE@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSTATAT = @GNULIB_FSTATAT@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETGROUPS = @GNULIB_GETGROUPS@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMCHR = @GNULIB_MEMCHR@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDIRAT = @GNULIB_MKDIRAT@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKFIFO = @GNULIB_MKFIFO@ GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@ GNULIB_MKNOD = @GNULIB_MKNOD@ GNULIB_MKNODAT = @GNULIB_MKNODAT@ GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PTSNAME = @GNULIB_PTSNAME@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ GNULIB_RMDIR = @GNULIB_RMDIR@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STAT = @GNULIB_STAT@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNCAT = @GNULIB_STRNCAT@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRPTIME = @GNULIB_STRPTIME@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNLINK = @GNULIB_UNLINK@ GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_USLEEP = @GNULIB_USLEEP@ GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_FUTIMENS = @HAVE_FUTIMENS@ HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETGROUPS = @HAVE_GETGROUPS@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@ HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@ HAVE_LANGINFO_H = @HAVE_LANGINFO_H@ HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LCHOWN = @HAVE_LCHOWN@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LOCALTIME_R = @HAVE_LOCALTIME_R@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_MKFIFO = @HAVE_MKFIFO@ HAVE_MKFIFOAT = @HAVE_MKFIFOAT@ HAVE_MKNOD = @HAVE_MKNOD@ HAVE_MKNODAT = @HAVE_MKNODAT@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ HAVE_OS_H = @HAVE_OS_H@ HAVE_PIPE2 = @HAVE_PIPE2@ HAVE_PREAD = @HAVE_PREAD@ HAVE_PTSNAME = @HAVE_PTSNAME@ HAVE_PWRITE = @HAVE_PWRITE@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TTYNAME_R = @HAVE_TTYNAME_R@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_USLEEP = @HAVE_USLEEP@ HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ HAVE_WCRTOMB = @HAVE_WCRTOMB@ HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE__BOOL = @HAVE__BOOL@ IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ INTLINCS = @INTLINCS@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ LIBTOOL = @LIBTOOL@ LIB_BLKID = @LIB_BLKID@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@ LOCALE_JA = @LOCALE_JA@ LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTALLOCA = @LTALLOCA@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ NEXT_WCTYPE_H = @NEXT_WCTYPE_H@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OS = @OS@ OS_LIBS = @OS_LIBS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PARTEDLDFLAGS = @PARTEDLDFLAGS@ PARTED_LIBS = @PARTED_LIBS@ PARTED_USABLE_TEST_DIR = @PARTED_USABLE_TEST_DIR@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POSUB = @POSUB@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PRIPTR_PREFIX = @PRIPTR_PREFIX@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REISER_LIBS = @REISER_LIBS@ REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FSTAT = @REPLACE_FSTAT@ REPLACE_FSTATAT = @REPLACE_FSTATAT@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ REPLACE_MBRLEN = @REPLACE_MBRLEN@ REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ REPLACE_MBSINIT = @REPLACE_MBSINIT@ REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_OPENAT = @REPLACE_OPENAT@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALPATH = @REPLACE_REALPATH@ REPLACE_REMOVE = @REPLACE_REMOVE@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRNCAT = @REPLACE_STRNCAT@ REPLACE_STRNDUP = @REPLACE_STRNDUP@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ REPLACE_UNSETENV = @REPLACE_UNSETENV@ REPLACE_USLEEP = @REPLACE_USLEEP@ REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ SELINUX_LIBS = @SELINUX_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_NLS = @USE_NLS@ UUID_LIBS = @UUID_LIBS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_aux_dir = @abs_aux_dir@ 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@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ gltests_WITNESS = @gltests_WITNESS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ partedincludedir = -I$(top_srcdir)/include noinst_LTLIBRARIES = libntfs.la libntfs_la_SOURCES = ntfs.c INCLUDES = $(partedincludedir) $(INTLINCS) MAINTAINERCLEANFILES = Makefile.in all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libparted/fs/ntfs/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu libparted/fs/ntfs/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libntfs.la: $(libntfs_la_OBJECTS) $(libntfs_la_DEPENDENCIES) $(AM_V_CCLD)$(LINK) $(libntfs_la_OBJECTS) $(libntfs_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ntfs.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: $(HEADERS) $(SOURCES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstLTLIBRARIES cscopelist ctags \ distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: parted-2.3/libparted/fs/ntfs/ntfs.c0000644000000000000000000000427211370314006014172 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 2000, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ #include #define NTFS_BLOCK_SIZES ((int[2]){512, 0}) #define NTFS_SIGNATURE "NTFS" static PedGeometry* ntfs_probe (PedGeometry* geom) { char buf[512]; if (!ped_geometry_read (geom, buf, 0, 1)) return 0; if (strncmp (NTFS_SIGNATURE, buf + 3, strlen (NTFS_SIGNATURE)) == 0) return ped_geometry_new (geom->dev, geom->start, PED_LE64_TO_CPU (*(uint64_t*) (buf + 0x28))); else return NULL; } #ifndef DISCOVER_ONLY static int ntfs_clobber (PedGeometry* geom) { char buf[512]; memset (buf, 0, 512); return ped_geometry_write (geom, buf, 0, 1); } #endif /* !DISCOVER_ONLY */ static PedFileSystemOps ntfs_ops = { probe: ntfs_probe, #ifndef DISCOVER_ONLY clobber: ntfs_clobber, #else clobber: NULL, #endif open: NULL, create: NULL, close: NULL, check: NULL, copy: NULL, resize: NULL, get_create_constraint: NULL, get_resize_constraint: NULL, get_copy_constraint: NULL }; static PedFileSystemType ntfs_type = { next: NULL, ops: &ntfs_ops, name: "ntfs", block_sizes: NTFS_BLOCK_SIZES }; void ped_file_system_ntfs_init () { ped_file_system_type_register (&ntfs_type); } void ped_file_system_ntfs_done () { ped_file_system_type_unregister (&ntfs_type); } parted-2.3/libparted/fs/hfs/0000755000000000000000000000000011400006132012725 500000000000000parted-2.3/libparted/fs/hfs/reloc_plus.c0000644000000000000000000006330111333731662015205 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 2004-2005, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef DISCOVER_ONLY #include #include #include #include #include #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ #include "hfs.h" #include "file_plus.h" #include "advfs_plus.h" #include "cache.h" #include "journal.h" #include "reloc_plus.h" /* This function moves data of size blocks starting at block *ptr_fblock to block *ptr_to_fblock */ /* return new start or -1 on failure */ /* -1 is ok because there can only be 2^32-1 blocks, so the max possible last one is 2^32-2 (and anyway it contains Alternate VH), so -1 (== 2^32-1[2^32]) never represent a valid block */ static int hfsplus_effect_move_extent (PedFileSystem *fs, unsigned int *ptr_fblock, unsigned int *ptr_to_fblock, unsigned int size) { HfsPPrivateFSData* priv_data = (HfsPPrivateFSData*) fs->type_specific; unsigned int i, ok = 0; unsigned int next_to_fblock; unsigned int start, stop; PED_ASSERT (hfsp_block != NULL, return -1); PED_ASSERT (*ptr_to_fblock <= *ptr_fblock, return -1); /* quiet GCC */ start = stop = 0; /* Try to fit the extent AT or _BEFORE_ the wanted place, or then in the gap between dest and source. If failed try to fit the extent after source, for 2 pass relocation The extent is always copied in a non overlapping way */ /* Backward search */ /* 1 pass relocation AT or BEFORE *ptr_to_fblock */ if (*ptr_to_fblock != *ptr_fblock) { start = stop = *ptr_fblock < *ptr_to_fblock+size ? *ptr_fblock : *ptr_to_fblock+size; while (start && stop-start != size) { --start; if (TST_BLOC_OCCUPATION(priv_data->alloc_map,start)) stop = start; } ok = (stop-start == size); } /* Forward search */ /* 1 pass relocation in the gap merged with 2 pass reloc after source */ if (!ok && *ptr_to_fblock != *ptr_fblock) { start = stop = *ptr_to_fblock+1; while (stop < PED_BE32_TO_CPU(priv_data->vh->total_blocks) && stop-start != size) { if (TST_BLOC_OCCUPATION(priv_data->alloc_map,stop)) start = stop + 1; ++stop; } ok = (stop-start == size); } /* new non overlapping room has been found ? */ if (ok) { /* enough room */ PedSector abs_sector; unsigned int ai, j, block; unsigned int block_sz = (PED_BE32_TO_CPU ( priv_data->vh->block_size) / PED_SECTOR_SIZE_DEFAULT); if (stop > *ptr_to_fblock && stop <= *ptr_fblock) /* Fit in the gap */ next_to_fblock = stop; else /* Before or after the gap */ next_to_fblock = *ptr_to_fblock; /* move blocks */ for (i = 0; i < size; /*i++*/) { j = size - i; j = (j < hfsp_block_count) ? j : hfsp_block_count ; abs_sector = (PedSector) (*ptr_fblock + i) * block_sz; if (!ped_geometry_read (priv_data->plus_geom, hfsp_block, abs_sector, block_sz * j)) return -1; abs_sector = (PedSector) (start + i) * block_sz; if (!ped_geometry_write (priv_data->plus_geom, hfsp_block, abs_sector, block_sz * j)) return -1; for (ai = i+j; i < ai; i++) { /* free source block */ block = *ptr_fblock + i; CLR_BLOC_OCCUPATION(priv_data->alloc_map,block); SET_BLOC_OCCUPATION(priv_data->dirty_alloc_map, block/(PED_SECTOR_SIZE_DEFAULT*8)); /* set dest block */ block = start + i; SET_BLOC_OCCUPATION(priv_data->alloc_map,block); SET_BLOC_OCCUPATION(priv_data->dirty_alloc_map, block/(PED_SECTOR_SIZE_DEFAULT*8)); } } if (!ped_geometry_sync_fast (priv_data->plus_geom)) return -1; *ptr_fblock += size; *ptr_to_fblock = next_to_fblock; } else { if (*ptr_fblock != *ptr_to_fblock) /* not enough room */ ped_exception_throw (PED_EXCEPTION_WARNING, PED_EXCEPTION_IGNORE, _("An extent has not been relocated.")); start = *ptr_fblock; *ptr_fblock = *ptr_to_fblock = start + size; } return start; } /* Returns 0 on error */ /* 1 on succes */ int hfsplus_update_vh (PedFileSystem *fs) { HfsPPrivateFSData* priv_data = (HfsPPrivateFSData*) fs->type_specific; uint8_t node[PED_SECTOR_SIZE_DEFAULT]; if (!ped_geometry_read (priv_data->plus_geom, node, 2, 1)) return 0; memcpy (node, priv_data->vh, sizeof (HfsPVolumeHeader)); if (!ped_geometry_write (priv_data->plus_geom, node, 2, 1) || !ped_geometry_write (priv_data->plus_geom, node, priv_data->plus_geom->length - 2, 1) || !ped_geometry_sync_fast (priv_data->plus_geom)) return 0; return 1; } static int hfsplus_do_move (PedFileSystem* fs, unsigned int *ptr_src, unsigned int *ptr_dest, HfsCPrivateCache* cache, HfsCPrivateExtent* ref) { HfsPPrivateFSData* priv_data = (HfsPPrivateFSData*) fs->type_specific; HfsPPrivateFile* file; HfsPExtDescriptor* extent; HfsCPrivateExtent* move; int new_start; new_start = hfsplus_effect_move_extent (fs, ptr_src, ptr_dest, ref->ext_length); if (new_start == -1) return -1; if (ref->ext_start != (unsigned) new_start) { switch (ref->where) { /************ VH ************/ case CR_PRIM_CAT : priv_data->catalog_file ->first[ref->ref_index].start_block = PED_CPU_TO_BE32(new_start); goto CR_PRIM; case CR_PRIM_EXT : priv_data->extents_file ->first[ref->ref_index].start_block = PED_CPU_TO_BE32(new_start); goto CR_PRIM; case CR_PRIM_ATTR : priv_data->attributes_file ->first[ref->ref_index].start_block = PED_CPU_TO_BE32(new_start); goto CR_PRIM; case CR_PRIM_ALLOC : priv_data->allocation_file ->first[ref->ref_index].start_block = PED_CPU_TO_BE32(new_start); goto CR_PRIM; case CR_PRIM_START : /* No startup file opened */ CR_PRIM : extent = ( HfsPExtDescriptor* ) ( (uint8_t*)priv_data->vh + ref->ref_offset ); extent[ref->ref_index].start_block = PED_CPU_TO_BE32(new_start); if (!hfsplus_update_vh(fs)) return -1; break; /************** BTREE *************/ case CR_BTREE_CAT_JIB : if (!hfsj_update_jib(fs, new_start)) return -1; goto BTREE_CAT; case CR_BTREE_CAT_JL : if (!hfsj_update_jl(fs, new_start)) return -1; goto BTREE_CAT; BTREE_CAT: case CR_BTREE_CAT : file = priv_data->catalog_file; goto CR_BTREE; case CR_BTREE_ATTR : file = priv_data->attributes_file; goto CR_BTREE; case CR_BTREE_EXT_ATTR : if (priv_data->attributes_file ->cache[ref->ref_index].start_block == PED_CPU_TO_BE32(ref->ext_start)) priv_data->attributes_file ->cache[ref->ref_index].start_block = PED_CPU_TO_BE32(new_start); goto CR_BTREE_EXT; case CR_BTREE_EXT_CAT : if (priv_data->catalog_file ->cache[ref->ref_index].start_block == PED_CPU_TO_BE32(ref->ext_start)) priv_data->catalog_file ->cache[ref->ref_index].start_block = PED_CPU_TO_BE32(new_start); goto CR_BTREE_EXT; case CR_BTREE_EXT_ALLOC : if (priv_data->allocation_file ->cache[ref->ref_index].start_block == PED_CPU_TO_BE32(ref->ext_start)) priv_data->allocation_file ->cache[ref->ref_index].start_block = PED_CPU_TO_BE32(new_start); goto CR_BTREE_EXT; case CR_BTREE_EXT_START : /* No startup file opened */ CR_BTREE_EXT : case CR_BTREE_EXT_0 : file = priv_data->extents_file; CR_BTREE : PED_ASSERT(PED_SECTOR_SIZE_DEFAULT * ref->sect_by_block > ref->ref_offset, return -1 ); if (!hfsplus_file_read(file, hfsp_block, (PedSector)ref->ref_block * ref->sect_by_block, ref->sect_by_block)) return -1; extent = ( HfsPExtDescriptor* ) ( hfsp_block + ref->ref_offset ); extent[ref->ref_index].start_block = PED_CPU_TO_BE32(new_start); if (!hfsplus_file_write(file, hfsp_block, (PedSector)ref->ref_block * ref->sect_by_block, ref->sect_by_block) || !ped_geometry_sync_fast (priv_data->plus_geom)) return -1; break; /********** BUG *********/ default : ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("A reference to an extent comes from a place " "it should not. You should check the file " "system!")); return -1; break; } move = hfsc_cache_move_extent(cache, ref->ext_start, new_start); if (!move) return -1; PED_ASSERT(move == ref, return -1); } return new_start; } /* save any dirty sector of the allocation bitmap file */ static int hfsplus_save_allocation(PedFileSystem *fs) { HfsPPrivateFSData* priv_data = (HfsPPrivateFSData*) fs->type_specific; unsigned int map_sectors, i, j; int ret = 1; map_sectors = ( PED_BE32_TO_CPU (priv_data->vh->total_blocks) + PED_SECTOR_SIZE_DEFAULT * 8 - 1 ) / (PED_SECTOR_SIZE_DEFAULT * 8); for (i = 0; i < map_sectors;) { for (j = i; (TST_BLOC_OCCUPATION(priv_data->dirty_alloc_map,j)); ++j) CLR_BLOC_OCCUPATION(priv_data->dirty_alloc_map,j); if (j-i) { ret = hfsplus_file_write(priv_data->allocation_file, priv_data->alloc_map + i * PED_SECTOR_SIZE_DEFAULT, i, j-i) && ret; i = j; } else ++i; } return ret; } /* This function moves an extent starting at block fblock to block to_fblock if there's enough room */ /* Return 1 if everything was fine */ /* Return -1 if an error occurred */ /* Return 0 if no extent was found */ static int hfsplus_move_extent_starting_at (PedFileSystem *fs, unsigned int *ptr_fblock, unsigned int *ptr_to_fblock, HfsCPrivateCache* cache) { HfsCPrivateExtent* ref; unsigned int old_start, new_start; ref = hfsc_cache_search_extent(cache, *ptr_fblock); if (!ref) return 0; old_start = *ptr_fblock; new_start = hfsplus_do_move(fs, ptr_fblock, ptr_to_fblock, cache, ref); if (new_start == (unsigned)-1) return -1; if (new_start > old_start) { new_start = hfsplus_do_move(fs, &new_start, ptr_to_fblock, cache, ref); if (new_start == (unsigned)-1 || new_start > old_start) return -1; } hfsplus_save_allocation(fs); return 1; } static int hfsplus_cache_from_vh(HfsCPrivateCache* cache, PedFileSystem* fs, PedTimer* timer) { HfsPPrivateFSData* priv_data = (HfsPPrivateFSData*) fs->type_specific; HfsPExtDescriptor* extent; unsigned int j; extent = priv_data->vh->allocation_file.extents; for (j = 0; j < HFSP_EXT_NB; ++j) { if (!extent[j].block_count) break; if (!hfsc_cache_add_extent( cache, PED_BE32_TO_CPU(extent[j].start_block), PED_BE32_TO_CPU(extent[j].block_count), 0, /* unused for vh */ ((uint8_t*)extent) - ((uint8_t*)priv_data->vh), 1, /* load / save 1 sector */ CR_PRIM_ALLOC, j ) ) return 0; } extent = priv_data->vh->extents_file.extents; for (j = 0; j < HFSP_EXT_NB; ++j) { if (!extent[j].block_count) break; if (!hfsc_cache_add_extent( cache, PED_BE32_TO_CPU(extent[j].start_block), PED_BE32_TO_CPU(extent[j].block_count), 0, /* unused for vh */ ((uint8_t*)extent) - ((uint8_t*)priv_data->vh), 1, /* load / save 1 sector */ CR_PRIM_EXT, j ) ) return 0; } extent = priv_data->vh->catalog_file.extents; for (j = 0; j < HFSP_EXT_NB; ++j) { if (!extent[j].block_count) break; if (!hfsc_cache_add_extent( cache, PED_BE32_TO_CPU(extent[j].start_block), PED_BE32_TO_CPU(extent[j].block_count), 0, /* unused for vh */ ((uint8_t*)extent) - ((uint8_t*)priv_data->vh), 1, /* load / save 1 sector */ CR_PRIM_CAT, j ) ) return 0; } extent = priv_data->vh->attributes_file.extents; for (j = 0; j < HFSP_EXT_NB; ++j) { if (!extent[j].block_count) break; if (!hfsc_cache_add_extent( cache, PED_BE32_TO_CPU(extent[j].start_block), PED_BE32_TO_CPU(extent[j].block_count), 0, /* unused for vh */ ((uint8_t*)extent) - ((uint8_t*)priv_data->vh), 1, /* load / save 1 sector */ CR_PRIM_ATTR, j ) ) return 0; } extent = priv_data->vh->startup_file.extents; for (j = 0; j < HFSP_EXT_NB; ++j) { if (!extent[j].block_count) break; if (!hfsc_cache_add_extent( cache, PED_BE32_TO_CPU(extent[j].start_block), PED_BE32_TO_CPU(extent[j].block_count), 0, /* unused for vh */ ((uint8_t*)extent) - ((uint8_t*)priv_data->vh), 1, /* load / save 1 sector */ CR_PRIM_START, j ) ) return 0; } return 1; } static int hfsplus_cache_from_catalog(HfsCPrivateCache* cache, PedFileSystem* fs, PedTimer* timer) { HfsPPrivateFSData* priv_data = (HfsPPrivateFSData*) fs->type_specific; uint8_t node_1[PED_SECTOR_SIZE_DEFAULT]; uint8_t* node; HfsPHeaderRecord* header; HfsPCatalogKey* catalog_key; HfsPCatalog* catalog_data; HfsPExtDescriptor* extent; unsigned int leaf_node, record_number; unsigned int i, j, size, bsize; uint32_t jib = priv_data->jib_start_block, jl = priv_data->jl_start_block; if (!priv_data->catalog_file->sect_nb) { ped_exception_throw ( PED_EXCEPTION_INFORMATION, PED_EXCEPTION_OK, _("This HFS+ volume has no catalog file. " "This is very unusual!")); return 1; } /* Search the extent starting at *ptr_block in the catalog file */ if (!hfsplus_file_read_sector (priv_data->catalog_file, node_1, 0)) return 0; header = (HfsPHeaderRecord*) (node_1 + HFS_FIRST_REC); leaf_node = PED_BE32_TO_CPU (header->first_leaf_node); bsize = PED_BE16_TO_CPU (header->node_size); size = bsize / PED_SECTOR_SIZE_DEFAULT; PED_ASSERT(size < 256, return 0); node = (uint8_t*) ped_malloc(bsize); if (!node) return 0; HfsPNodeDescriptor *desc = (HfsPNodeDescriptor*) node; for (; leaf_node; leaf_node = PED_BE32_TO_CPU (desc->next)) { if (!hfsplus_file_read (priv_data->catalog_file, node, (PedSector) leaf_node * size, size)) { free (node); return 0; } record_number = PED_BE16_TO_CPU (desc->rec_nb); for (i = 1; i <= record_number; i++) { unsigned int skip; uint8_t where; catalog_key = (HfsPCatalogKey*) ( node + PED_BE16_TO_CPU (*((uint16_t *) (node+(bsize - 2*i)))) ); skip = ( 2 + PED_BE16_TO_CPU (catalog_key->key_length) + 1) & ~1; catalog_data = (HfsPCatalog*) (((uint8_t*)catalog_key) + skip); /* check for obvious error in FS */ if (((uint8_t*)catalog_key - node < HFS_FIRST_REC) || ((uint8_t*)catalog_data - node >= (signed) bsize - 2 * (signed)(record_number+1))) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("The file system contains errors.")); free (node); return 0; } if (PED_BE16_TO_CPU(catalog_data->type)!=HFS_CAT_FILE) continue; extent = catalog_data->sel.file.data_fork.extents; for (j = 0; j < HFSP_EXT_NB; ++j) { if (!extent[j].block_count) break; where = CR_BTREE_CAT; if ( PED_BE32_TO_CPU(extent[j].start_block) == jib ) { jib = 0; where = CR_BTREE_CAT_JIB; } else if ( PED_BE32_TO_CPU(extent[j].start_block) == jl ) { jl = 0; where = CR_BTREE_CAT_JL; } if (!hfsc_cache_add_extent( cache, PED_BE32_TO_CPU(extent[j].start_block), PED_BE32_TO_CPU(extent[j].block_count), leaf_node, (uint8_t*)extent - node, size, where, j ) ) { free (node); return 0; } } extent = catalog_data->sel.file.res_fork.extents; for (j = 0; j < HFSP_EXT_NB; ++j) { if (!extent[j].block_count) break; if (!hfsc_cache_add_extent( cache, PED_BE32_TO_CPU(extent[j].start_block), PED_BE32_TO_CPU(extent[j].block_count), leaf_node, (uint8_t*)extent - node, size, CR_BTREE_CAT, j ) ) { free (node); return 0; } } } } free (node); return 1; } static int hfsplus_cache_from_extent(HfsCPrivateCache* cache, PedFileSystem* fs, PedTimer* timer) { HfsPPrivateFSData* priv_data = (HfsPPrivateFSData*) fs->type_specific; uint8_t node_1[PED_SECTOR_SIZE_DEFAULT]; uint8_t* node; HfsPHeaderRecord* header; HfsPExtentKey* extent_key; HfsPExtDescriptor* extent; unsigned int leaf_node, record_number; unsigned int i, j, size, bsize; if (!priv_data->extents_file->sect_nb) { ped_exception_throw ( PED_EXCEPTION_INFORMATION, PED_EXCEPTION_OK, _("This HFS+ volume has no extents overflow " "file. This is quite unusual!")); return 1; } if (!hfsplus_file_read_sector (priv_data->extents_file, node_1, 0)) return 0; header = ((HfsPHeaderRecord*) (node_1 + HFS_FIRST_REC)); leaf_node = PED_BE32_TO_CPU (header->first_leaf_node); bsize = PED_BE16_TO_CPU (header->node_size); size = bsize / PED_SECTOR_SIZE_DEFAULT; PED_ASSERT(size < 256, return 0); node = (uint8_t*) ped_malloc (bsize); if (!node) return -1; HfsPNodeDescriptor *desc = (HfsPNodeDescriptor*) node; for (; leaf_node; leaf_node = PED_BE32_TO_CPU (desc->next)) { if (!hfsplus_file_read (priv_data->extents_file, node, (PedSector) leaf_node * size, size)) { free (node); return 0; } record_number = PED_BE16_TO_CPU (desc->rec_nb); for (i = 1; i <= record_number; i++) { uint8_t where; extent_key = (HfsPExtentKey*) (node + PED_BE16_TO_CPU(*((uint16_t *) (node+(bsize - 2*i))))); extent = (HfsPExtDescriptor*) (((uint8_t*)extent_key) + sizeof (HfsPExtentKey)); /* check for obvious error in FS */ if (((uint8_t*)extent_key - node < HFS_FIRST_REC) || ((uint8_t*)extent - node >= (signed)bsize - 2 * (signed)(record_number+1))) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("The file system contains errors.")); free (node); return -1; } switch (extent_key->file_ID) { case PED_CPU_TO_BE32 (HFS_XTENT_ID) : if (ped_exception_throw ( PED_EXCEPTION_WARNING, PED_EXCEPTION_IGNORE_CANCEL, _("The extents overflow file should not" " contain its own extents! You should " "check the file system.")) != PED_EXCEPTION_IGNORE) return 0; where = CR_BTREE_EXT_EXT; break; case PED_CPU_TO_BE32 (HFS_CATALOG_ID) : where = CR_BTREE_EXT_CAT; break; case PED_CPU_TO_BE32 (HFSP_ALLOC_ID) : where = CR_BTREE_EXT_ALLOC; break; case PED_CPU_TO_BE32 (HFSP_STARTUP_ID) : where = CR_BTREE_EXT_START; break; case PED_CPU_TO_BE32 (HFSP_ATTRIB_ID) : where = CR_BTREE_EXT_ATTR; break; default : where = CR_BTREE_EXT_0; break; } for (j = 0; j < HFSP_EXT_NB; ++j) { if (!extent[j].block_count) break; if (!hfsc_cache_add_extent( cache, PED_BE32_TO_CPU(extent[j].start_block), PED_BE32_TO_CPU(extent[j].block_count), leaf_node, (uint8_t*)extent - node, size, where, j ) ) { free (node); return 0; } } } } free (node); return 1; } static int hfsplus_cache_from_attributes(HfsCPrivateCache* cache, PedFileSystem* fs, PedTimer* timer) { HfsPPrivateFSData* priv_data = (HfsPPrivateFSData*) fs->type_specific; uint8_t node_1[PED_SECTOR_SIZE_DEFAULT]; uint8_t* node; HfsPHeaderRecord* header; HfsPPrivateGenericKey* generic_key; HfsPForkDataAttr* fork_ext_data; HfsPExtDescriptor* extent; unsigned int leaf_node, record_number; unsigned int i, j, size, bsize; /* attributes file is facultative */ if (!priv_data->attributes_file->sect_nb) return 1; /* Search the extent starting at *ptr_block in the catalog file */ if (!hfsplus_file_read_sector (priv_data->attributes_file, node_1, 0)) return 0; header = ((HfsPHeaderRecord*) (node_1 + HFS_FIRST_REC)); leaf_node = PED_BE32_TO_CPU (header->first_leaf_node); bsize = PED_BE16_TO_CPU (header->node_size); size = bsize / PED_SECTOR_SIZE_DEFAULT; PED_ASSERT(size < 256, return 0); node = (uint8_t*) ped_malloc(bsize); if (!node) return 0; HfsPNodeDescriptor *desc = (HfsPNodeDescriptor*) node; for (; leaf_node; leaf_node = PED_BE32_TO_CPU (desc->next)) { if (!hfsplus_file_read (priv_data->attributes_file, node, (PedSector) leaf_node * size, size)) { free (node); return 0; } record_number = PED_BE16_TO_CPU (desc->rec_nb); for (i = 1; i <= record_number; i++) { unsigned int skip; generic_key = (HfsPPrivateGenericKey*) (node + PED_BE16_TO_CPU(*((uint16_t *) (node+(bsize - 2*i))))); skip = ( 2 + PED_BE16_TO_CPU (generic_key->key_length) + 1 ) & ~1; fork_ext_data = (HfsPForkDataAttr*) (((uint8_t*)generic_key) + skip); /* check for obvious error in FS */ if (((uint8_t*)generic_key - node < HFS_FIRST_REC) || ((uint8_t*)fork_ext_data - node >= (signed) bsize - 2 * (signed)(record_number+1))) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("The file system contains errors.")); free (node); return 0; } if (fork_ext_data->record_type == PED_CPU_TO_BE32 ( HFSP_ATTR_FORK ) ) { extent = fork_ext_data->fork_res.fork.extents; for (j = 0; j < HFSP_EXT_NB; ++j) { if (!extent[j].block_count) break; if (!hfsc_cache_add_extent( cache, PED_BE32_TO_CPU ( extent[j].start_block ), PED_BE32_TO_CPU ( extent[j].block_count ), leaf_node, (uint8_t*)extent-node, size, CR_BTREE_ATTR, j ) ) { free(node); return 0; } } } else if (fork_ext_data->record_type == PED_CPU_TO_BE32 ( HFSP_ATTR_EXTENTS ) ) { extent = fork_ext_data->fork_res.extents; for (j = 0; j < HFSP_EXT_NB; ++j) { if (!extent[j].block_count) break; if (!hfsc_cache_add_extent( cache, PED_BE32_TO_CPU ( extent[j].start_block ), PED_BE32_TO_CPU ( extent[j].block_count ), leaf_node, (uint8_t*)extent-node, size, CR_BTREE_ATTR, j ) ) { free(node); return 0; } } } else continue; } } free (node); return 1; } static HfsCPrivateCache* hfsplus_cache_extents(PedFileSystem* fs, PedTimer* timer) { HfsPPrivateFSData* priv_data = (HfsPPrivateFSData*) fs->type_specific; HfsCPrivateCache* ret; unsigned int file_number, block_number; file_number = PED_BE32_TO_CPU(priv_data->vh->file_count); block_number = PED_BE32_TO_CPU(priv_data->vh->total_blocks); ret = hfsc_new_cache(block_number, file_number); if (!ret) return NULL; if (!hfsplus_cache_from_vh(ret, fs, timer) || !hfsplus_cache_from_catalog(ret, fs, timer) || !hfsplus_cache_from_extent(ret, fs, timer) || !hfsplus_cache_from_attributes(ret, fs, timer)) { ped_exception_throw( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Could not cache the file system in memory.")); hfsc_delete_cache(ret); return NULL; } return ret; } /* This function moves file's data to compact used and free space, starting at fblock block */ /* return 0 on error */ int hfsplus_pack_free_space_from_block (PedFileSystem *fs, unsigned int fblock, PedTimer* timer, unsigned int to_free) { PedSector bytes_buff; HfsPPrivateFSData* priv_data = (HfsPPrivateFSData*) fs->type_specific; HfsPVolumeHeader* vh = priv_data->vh; HfsCPrivateCache* cache; unsigned int to_fblock = fblock; unsigned int start = fblock; unsigned int divisor = PED_BE32_TO_CPU (vh->total_blocks) + 1 - start - to_free; int ret; PED_ASSERT (!hfsp_block, return 0); cache = hfsplus_cache_extents (fs, timer); if (!cache) return 0; /* Calculate the size of the copy buffer : * Takes BLOCK_MAX_BUFF HFS blocks, but if > BYTES_MAX_BUFF * takes the maximum number of HFS blocks so that the buffer * will remain smaller than or equal to BYTES_MAX_BUFF, with * a minimum of 1 HFS block */ bytes_buff = PED_BE32_TO_CPU (priv_data->vh->block_size) * (PedSector) BLOCK_MAX_BUFF; if (bytes_buff > BYTES_MAX_BUFF) { hfsp_block_count = BYTES_MAX_BUFF / PED_BE32_TO_CPU (priv_data->vh->block_size); if (!hfsp_block_count) hfsp_block_count = 1; bytes_buff = (PedSector) hfsp_block_count * PED_BE32_TO_CPU (priv_data->vh->block_size); } else hfsp_block_count = BLOCK_MAX_BUFF; /* If the cache code requests more space, give it to him */ if (bytes_buff < hfsc_cache_needed_buffer (cache)) bytes_buff = hfsc_cache_needed_buffer (cache); hfsp_block = (uint8_t*) ped_malloc (bytes_buff); if (!hfsp_block) goto error_cache; if (!hfsplus_read_bad_blocks (fs)) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Bad blocks list could not be loaded.")); goto error_alloc; } while ( fblock < ( priv_data->plus_geom->length - 2 ) / ( PED_BE32_TO_CPU (vh->block_size) / PED_SECTOR_SIZE_DEFAULT ) ) { if (TST_BLOC_OCCUPATION (priv_data->alloc_map, fblock) && (!hfsplus_is_bad_block (fs, fblock))) { if (!(ret = hfsplus_move_extent_starting_at (fs, &fblock, &to_fblock, cache))) to_fblock = ++fblock; else if (ret == -1) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("An error occurred during extent " "relocation.")); goto error_alloc; } } else { fblock++; } ped_timer_update(timer, (float)(to_fblock - start) / divisor); } free (hfsp_block); hfsp_block = NULL; hfsp_block_count = 0; hfsc_delete_cache (cache); return 1; error_alloc: free (hfsp_block); hfsp_block = NULL; hfsp_block_count = 0; error_cache: hfsc_delete_cache (cache); return 0; } #endif /* !DISCOVER_ONLY */ parted-2.3/libparted/fs/hfs/journal.h0000644000000000000000000000351311333731662014514 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 2004, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _JOURNAL_H #define _JOURNAL_H #include #include #include #include "hfs.h" int hfsj_replay_journal(PedFileSystem* fs); int hfsj_update_jib(PedFileSystem* fs, uint32_t block); int hfsj_update_jl(PedFileSystem* fs, uint32_t block); #define HFS_16_TO_CPU(x, is_little_endian) ((is_little_endian) ? (uint16_t)PED_LE16_TO_CPU(x) : (uint16_t)PED_BE16_TO_CPU(x)) #define HFS_32_TO_CPU(x, is_little_endian) ((is_little_endian) ? (uint32_t)PED_LE32_TO_CPU(x) : (uint32_t)PED_BE32_TO_CPU(x)) #define HFS_64_TO_CPU(x, is_little_endian) ((is_little_endian) ? (uint64_t)PED_LE64_TO_CPU(x) : (uint64_t)PED_BE64_TO_CPU(x)) #define HFS_CPU_TO_16(x, is_little_endian) ((is_little_endian) ? (uint16_t)PED_CPU_TO_LE16(x) : (uint16_t)PED_CPU_TO_BE16(x)) #define HFS_CPU_TO_32(x, is_little_endian) ((is_little_endian) ? (uint32_t)PED_CPU_TO_LE32(x) : (uint32_t)PED_CPU_TO_BE32(x)) #define HFS_CPU_TO_64(x, is_little_endian) ((is_little_endian) ? (uint64_t)PED_CPU_TO_LE64(x) : (uint64_t)PED_CPU_TO_BE64(x)) #endif /* _JOURNAL_H */ parted-2.3/libparted/fs/hfs/advfs_plus.c0000644000000000000000000002541511333731662015210 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 2004-2005, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef DISCOVER_ONLY #include #include #include #include #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ #include "hfs.h" #include "advfs.h" #include "file_plus.h" #include "advfs_plus.h" /* - if a < b, 0 if a == b, + if a > b */ /* Comparaison is done in the following order : */ /* CNID, then fork type, then start block */ static int hfsplus_extent_key_cmp(HfsPPrivateGenericKey* a, HfsPPrivateGenericKey* b) { HfsPExtentKey* key1 = (HfsPExtentKey*) a; HfsPExtentKey* key2 = (HfsPExtentKey*) b; if (key1->file_ID != key2->file_ID) return PED_BE32_TO_CPU(key1->file_ID) < PED_BE32_TO_CPU(key2->file_ID) ? -1 : +1; if (key1->type != key2->type) return (int)(key1->type - key2->type); if (key1->start == key2->start) return 0; return PED_BE32_TO_CPU(key1->start) < PED_BE32_TO_CPU(key2->start) ? -1 : +1; } /* do a B-Tree lookup */ /* read the first record immediatly inferior or egal to the given key */ /* return 0 on error */ /* record_out _must_ be large enough to receive the whole record (key + data) */ /* WARNING : the search function called only handle Extents BTree */ /* so modify this function if you want to do lookup in */ /* other BTrees has well */ int hfsplus_btree_search (HfsPPrivateFile* b_tree_file, HfsPPrivateGenericKey* key, void *record_out, unsigned int record_size, HfsCPrivateLeafRec* record_ref) { uint8_t node_1[PED_SECTOR_SIZE_DEFAULT]; uint8_t* node; HfsPHeaderRecord* header; HfsPPrivateGenericKey* record_key = NULL; unsigned int node_number, record_number, size, bsize; int i; /* Read the header node */ if (!hfsplus_file_read_sector(b_tree_file, node_1, 0)) return 0; header = (HfsPHeaderRecord*) (node_1 + HFS_FIRST_REC); /* Get the node number of the root */ node_number = PED_BE32_TO_CPU (header->root_node); if (!node_number) return 0; /* Get the size of a node in sectors and allocate buffer */ size = (bsize = PED_BE16_TO_CPU (header->node_size)) / PED_SECTOR_SIZE_DEFAULT; node = (uint8_t*) ped_malloc (bsize); if (!node) return 0; HfsPNodeDescriptor *desc = (HfsPNodeDescriptor*) node; /* Read the root node */ if (!hfsplus_file_read (b_tree_file, node, (PedSector) node_number * size, size)) return 0; /* Follow the white rabbit */ while (1) { record_number = PED_BE16_TO_CPU (desc->rec_nb); for (i = record_number; i; i--) { record_key = (HfsPPrivateGenericKey*) (node + PED_BE16_TO_CPU(*((uint16_t *) (node+(bsize - 2*i))))); /* check for obvious error in FS */ if (((uint8_t*)record_key - node < HFS_FIRST_REC) || ((uint8_t*)record_key - node >= (signed)bsize - 2 * (signed)(record_number+1))) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("The file system contains errors.")); free (node); return 0; } if (hfsplus_extent_key_cmp(record_key, key) <= 0) break; } if (!i) { free (node); return 0; } if (desc->type == HFS_IDX_NODE) { unsigned int skip; skip = ( 2 + PED_BE16_TO_CPU (record_key->key_length) + 1 ) & ~1; node_number = PED_BE32_TO_CPU (*((uint32_t *) (((uint8_t *) record_key) + skip))); if (!hfsplus_file_read(b_tree_file, node, (PedSector) node_number * size, size)) { free (node); return 0; } } else break; } /* copy the result if needed */ if (record_size) memcpy (record_out, record_key, record_size); /* send record reference if needed */ if (record_ref) { record_ref->node_size = size; /* in sectors */ record_ref->node_number = node_number; record_ref->record_pos = (uint8_t*)record_key - node; record_ref->record_number = i; } /* success */ free (node); return 1; } /* free the bad blocks linked list */ void hfsplus_free_bad_blocks_list(HfsPPrivateLinkExtent* first) { HfsPPrivateLinkExtent* next; while (first) { next = first->next; free (first); first = next; } } /* This function reads bad blocks extents in the extents file and store it in f.s. specific data of fs */ int hfsplus_read_bad_blocks (const PedFileSystem *fs) { HfsPPrivateFSData* priv_data = (HfsPPrivateFSData*) fs->type_specific; if (priv_data->bad_blocks_loaded) return 1; { uint8_t record[sizeof (HfsPExtentKey) + sizeof (HfsPExtDataRec)]; HfsPExtentKey search; HfsPExtentKey* ret_key = (HfsPExtentKey*) record; HfsPExtDescriptor* ret_cache = (HfsPExtDescriptor*) (record + sizeof (HfsPExtentKey)); int block, first_pass = 1; unsigned int last_start; search.key_length = sizeof (HfsExtentKey) - 2; search.type = HFS_DATA_FORK; search.pad = 0; search.file_ID = PED_CPU_TO_BE32 (HFS_BAD_BLOCK_ID); last_start = -1; block = 0; while (1) { int i; search.start = PED_CPU_TO_BE32 (block); if (!hfsplus_btree_search (priv_data->extents_file, (HfsPPrivateGenericKey*) &search, record, sizeof (record), NULL) || ret_key->file_ID != search.file_ID || ret_key->type != search.type) { if (first_pass) break; else goto errbbp; } if (PED_BE32_TO_CPU (ret_key->start) == last_start) break; last_start = PED_BE32_TO_CPU (ret_key->start); for (i = 0; i < HFSP_EXT_NB; i++) { if (ret_cache[i].block_count) { HfsPPrivateLinkExtent* new_xt = (HfsPPrivateLinkExtent*) ped_malloc ( sizeof (HfsPPrivateLinkExtent)); if (!new_xt) goto errbbp; new_xt->next = priv_data->bad_blocks_xtent_list; memcpy (&(new_xt->extent), ret_cache+i, sizeof (HfsPExtDescriptor)); priv_data->bad_blocks_xtent_list = new_xt; priv_data->bad_blocks_xtent_nb++; block += PED_BE32_TO_CPU ( ret_cache[i].block_count); } } first_pass = 0; } priv_data->bad_blocks_loaded = 1; return 1;} errbbp: hfsplus_free_bad_blocks_list(priv_data->bad_blocks_xtent_list); priv_data->bad_blocks_xtent_list=NULL; priv_data->bad_blocks_xtent_nb=0; return 0; } /* This function check if fblock is a bad block */ int hfsplus_is_bad_block (const PedFileSystem *fs, unsigned int fblock) { HfsPPrivateFSData* priv_data = (HfsPPrivateFSData*) fs->type_specific; HfsPPrivateLinkExtent* walk; for (walk = priv_data->bad_blocks_xtent_list; walk; walk = walk->next) { /* Won't compile without the strange cast ! gcc bug ? */ /* or maybe C subtilties... */ if ((fblock >= PED_BE32_TO_CPU (walk->extent.start_block)) && (fblock < (unsigned int)(PED_BE32_TO_CPU ( walk->extent.start_block) + PED_BE32_TO_CPU (walk->extent.block_count)))) return 1; } return 0; } /* This function returns the first sector of the last free block of an HFS+ volume we can get after a hfsplus_pack_free_space_from_block call */ PedSector hfsplus_get_empty_end (const PedFileSystem *fs) { HfsPPrivateFSData* priv_data = (HfsPPrivateFSData*) fs->type_specific; HfsPVolumeHeader* vh = priv_data->vh; unsigned int block, last_bad, end_free_blocks; /* find the next block to the last bad block of the volume */ if (!hfsplus_read_bad_blocks (fs)) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Bad blocks could not be read.")); return 0; } HfsPPrivateLinkExtent* l; last_bad = 0; for (l = priv_data->bad_blocks_xtent_list; l; l = l->next) { if ((unsigned int) PED_BE32_TO_CPU (l->extent.start_block) + PED_BE32_TO_CPU (l->extent.block_count) > last_bad) last_bad = PED_BE32_TO_CPU (l->extent.start_block) + PED_BE32_TO_CPU (l->extent.block_count); } /* Count the free blocks from last_bad to the end of the volume */ end_free_blocks = 0; for (block = last_bad; block < PED_BE32_TO_CPU (vh->total_blocks); block++) { if (!TST_BLOC_OCCUPATION(priv_data->alloc_map,block)) end_free_blocks++; } /* Calculate the block that will by the first free at the end of the volume */ block = PED_BE32_TO_CPU (vh->total_blocks) - end_free_blocks; return (PedSector) block * ( PED_BE32_TO_CPU (vh->block_size) / PED_SECTOR_SIZE_DEFAULT ); } /* On error, returns 0 */ PedSector hfsplus_get_min_size (const PedFileSystem *fs) { HfsPPrivateFSData* priv_data = (HfsPPrivateFSData*) fs->type_specific; PedSector min_size; /* don't need to add anything because every sector can be part of allocation blocks in HFS+, and the last block _must_ be reserved */ min_size = hfsplus_get_empty_end(fs); if (!min_size) return 0; if (priv_data->wrapper) { HfsPrivateFSData* hfs_priv_data = (HfsPrivateFSData*) priv_data->wrapper->type_specific; unsigned int hfs_sect_block; PedSector hgee; hfs_sect_block = PED_BE32_TO_CPU (hfs_priv_data->mdb->block_size) / PED_SECTOR_SIZE_DEFAULT; /* * if hfs+ is embedded in an hfs wrapper then the new size is : * the new size of the hfs+ volume rounded up to the size * of hfs blocks * + the minimum size of the hfs wrapper without any hfs+ * modification * - the current size of the hfs+ volume in the hfs wrapper */ hgee = hfs_get_empty_end(priv_data->wrapper); if (!hgee) return 0; min_size = ((min_size + hfs_sect_block - 1) / hfs_sect_block) * hfs_sect_block + hgee + 2 - (PedSector) PED_BE16_TO_CPU ( hfs_priv_data->mdb ->old_new.embedded .location.block_count ) * hfs_sect_block; } return min_size; } /* return the block which should be used to pack data to have at least free fblock blocks at the end of the volume */ unsigned int hfsplus_find_start_pack (const PedFileSystem *fs, unsigned int fblock) { HfsPPrivateFSData* priv_data = (HfsPPrivateFSData*) fs->type_specific; unsigned int block; for (block = PED_BE32_TO_CPU (priv_data->vh->total_blocks) - 1; block && fblock; block--) { if (!TST_BLOC_OCCUPATION(priv_data->alloc_map,block)) fblock--; } while (block && !TST_BLOC_OCCUPATION(priv_data->alloc_map,block)) block--; if (TST_BLOC_OCCUPATION(priv_data->alloc_map,block)) block++; return block; } #endif /* !DISCOVER_ONLY */ parted-2.3/libparted/fs/hfs/advfs.c0000644000000000000000000002250711333731662014144 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 2004-2005, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef DISCOVER_ONLY #include #include #include #include #include #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ #include "hfs.h" #include "file.h" #include "advfs.h" /* - if a < b, 0 if a == b, + if a > b */ /* Comparaison is done in the following order : */ /* CNID, then fork type, then start block */ /* Note that HFS implementation in linux has a bug */ /* in this function */ static int hfs_extent_key_cmp(HfsPrivateGenericKey* a, HfsPrivateGenericKey* b) { HfsExtentKey* key1 = (HfsExtentKey*) a; HfsExtentKey* key2 = (HfsExtentKey*) b; /* do NOT use a substraction, because */ /* 0xFFFFFFFF - 1 = 0xFFFFFFFE so this */ /* would return -2, despite the fact */ /* 0xFFFFFFFF > 1 !!! (this is the 2.4 bug) */ if (key1->file_ID != key2->file_ID) return PED_BE32_TO_CPU(key1->file_ID) < PED_BE32_TO_CPU(key2->file_ID) ? -1 : +1; if (key1->type != key2->type) return (int)(key1->type - key2->type); if (key1->start == key2->start) return 0; /* the whole thing wont work with 16 bits ints */ /* anyway */ return (int)( PED_BE16_TO_CPU(key1->start) - PED_BE16_TO_CPU(key2->start) ); } /* do a B-Tree lookup */ /* read the first record immediatly inferior or egal to the given key */ /* return 0 on error */ /* record_out _must_ be large enough to receive record_size bytes */ /* WARNING : the compare function called only handle Extents BTree */ /* so modify this function if you want to do lookup in */ /* other BTrees has well */ int hfs_btree_search (HfsPrivateFile* b_tree_file, HfsPrivateGenericKey* key, void *record_out, unsigned int record_size, HfsCPrivateLeafRec* record_ref) { uint8_t node[PED_SECTOR_SIZE_DEFAULT]; HfsHeaderRecord* header; HfsNodeDescriptor* desc = (HfsNodeDescriptor*) node; HfsPrivateGenericKey* record_key = NULL; unsigned int node_number, record_number; int i; /* Read the header node */ if (!hfs_file_read_sector(b_tree_file, node, 0)) return 0; header = ((HfsHeaderRecord*) (node + PED_BE16_TO_CPU(*((uint16_t *) (node+(PED_SECTOR_SIZE_DEFAULT-2)))))); /* Get the node number of the root */ node_number = PED_BE32_TO_CPU(header->root_node); if (!node_number) return 0; /* Read the root node */ if (!hfs_file_read_sector(b_tree_file, node, node_number)) return 0; /* Follow the white rabbit */ while (1) { record_number = PED_BE16_TO_CPU (desc->rec_nb); for (i = record_number; i; i--) { record_key = (HfsPrivateGenericKey*) (node + PED_BE16_TO_CPU(*((uint16_t *) (node+(PED_SECTOR_SIZE_DEFAULT - 2*i))))); /* check for obvious error in FS */ if (((uint8_t*)record_key - node < HFS_FIRST_REC) || ((uint8_t*)record_key - node >= PED_SECTOR_SIZE_DEFAULT - 2 * (signed)(record_number+1))) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("The file system contains errors.")); return 0; } if (hfs_extent_key_cmp(record_key, key) <= 0) break; } if (!i) return 0; if (desc->type == HFS_IDX_NODE) { unsigned int skip; skip = (1 + record_key->key_length + 1) & ~1; node_number = PED_BE32_TO_CPU (*((uint32_t *) (((uint8_t *) record_key) + skip))); if (!hfs_file_read_sector(b_tree_file, node, node_number)) return 0; } else break; } /* copy the result if needed */ if (record_size) memcpy (record_out, record_key, record_size); /* send record reference if needed */ if (record_ref) { record_ref->node_size = 1; /* in sectors */ record_ref->node_number = node_number; record_ref->record_pos = (uint8_t*)record_key - node; record_ref->record_number = i; } /* success */ return 1; } /* free the bad blocks linked list */ void hfs_free_bad_blocks_list(HfsPrivateLinkExtent* first) { HfsPrivateLinkExtent* next; while (first) { next = first->next; free (first); first = next; } } /* This function reads bad blocks extents in the extents file and store it in f.s. specific data of fs */ int hfs_read_bad_blocks (const PedFileSystem *fs) { HfsPrivateFSData* priv_data = (HfsPrivateFSData*) fs->type_specific; if (priv_data->bad_blocks_loaded) return 1; { uint8_t record[sizeof (HfsExtentKey) + sizeof (HfsExtDataRec)]; HfsExtentKey search; HfsExtentKey* ret_key = (HfsExtentKey*) record; HfsExtDescriptor* ret_cache = (HfsExtDescriptor*) (record + sizeof (HfsExtentKey)); unsigned int block, last_start, first_pass = 1; search.key_length = sizeof (HfsExtentKey) - 1; search.type = HFS_DATA_FORK; search.file_ID = PED_CPU_TO_BE32 (HFS_BAD_BLOCK_ID); last_start = -1; block = 0; while (1) { int i; search.start = PED_CPU_TO_BE16 (block); if (!hfs_btree_search (priv_data->extent_file, (HfsPrivateGenericKey*) &search, record, sizeof (record), NULL) || ret_key->file_ID != search.file_ID || ret_key->type != search.type) { if (first_pass) break; else goto errbb; } if (PED_BE16_TO_CPU (ret_key->start) == last_start) break; last_start = PED_BE16_TO_CPU (ret_key->start); for (i = 0; i < HFS_EXT_NB; i++) { if (ret_cache[i].block_count) { HfsPrivateLinkExtent* new_xt = (HfsPrivateLinkExtent*) ped_malloc ( sizeof (HfsPrivateLinkExtent)); if (!new_xt) goto errbb; new_xt->next = priv_data->bad_blocks_xtent_list; memcpy(&(new_xt->extent), ret_cache+i, sizeof (HfsExtDescriptor)); priv_data->bad_blocks_xtent_list = new_xt; priv_data->bad_blocks_xtent_nb++; block += PED_BE16_TO_CPU ( ret_cache[i].block_count); } } first_pass = 0; } priv_data->bad_blocks_loaded = 1; return 1;} errbb: hfs_free_bad_blocks_list(priv_data->bad_blocks_xtent_list); priv_data->bad_blocks_xtent_list=NULL; priv_data->bad_blocks_xtent_nb=0; return 0; } /* This function check if fblock is a bad block */ int hfs_is_bad_block (const PedFileSystem *fs, unsigned int fblock) { HfsPrivateFSData* priv_data = (HfsPrivateFSData*) fs->type_specific; HfsPrivateLinkExtent* walk; for (walk = priv_data->bad_blocks_xtent_list; walk; walk = walk->next) { /* Won't compile without the strange cast ! gcc bug ? */ /* or maybe C subtilties... */ if ((fblock >= PED_BE16_TO_CPU (walk->extent.start_block)) && (fblock < (unsigned int) (PED_BE16_TO_CPU ( walk->extent.start_block) + PED_BE16_TO_CPU ( walk->extent.block_count)))) return 1; } return 0; } /* This function returns the first sector of the last free block of an HFS volume we can get after a hfs_pack_free_space_from_block call */ /* On error this function returns 0 */ PedSector hfs_get_empty_end (const PedFileSystem *fs) { HfsPrivateFSData* priv_data = (HfsPrivateFSData*) fs->type_specific; HfsMasterDirectoryBlock* mdb = priv_data->mdb; unsigned int block, last_bad, end_free_blocks; /* find the next block to the last bad block of the volume */ if (!hfs_read_bad_blocks (fs)) return 0; HfsPrivateLinkExtent* l; last_bad = 0; for (l = priv_data->bad_blocks_xtent_list; l; l = l->next) { if ((unsigned int) PED_BE16_TO_CPU (l->extent.start_block) + PED_BE16_TO_CPU (l->extent.block_count) > last_bad) last_bad = PED_BE16_TO_CPU (l->extent.start_block) + PED_BE16_TO_CPU (l->extent.block_count); } /* Count the free blocks from last_bad to the end of the volume */ end_free_blocks = 0; for (block = last_bad; block < PED_BE16_TO_CPU (mdb->total_blocks); block++) { if (!TST_BLOC_OCCUPATION(priv_data->alloc_map,block)) end_free_blocks++; } /* Calculate the block that will by the first free at the end of the volume */ block = PED_BE16_TO_CPU (mdb->total_blocks) - end_free_blocks; return (PedSector) PED_BE16_TO_CPU (mdb->start_block) + (PedSector) block * (PED_BE32_TO_CPU (mdb->block_size) / PED_SECTOR_SIZE_DEFAULT); } /* return the block which should be used to pack data to have at least free fblock blocks at the end of the volume */ unsigned int hfs_find_start_pack (const PedFileSystem *fs, unsigned int fblock) { HfsPrivateFSData* priv_data = (HfsPrivateFSData*) fs->type_specific; unsigned int block; for (block = PED_BE16_TO_CPU (priv_data->mdb->total_blocks) - 1; block && fblock; block--) { if (!TST_BLOC_OCCUPATION(priv_data->alloc_map,block)) fblock--; } while (block && !TST_BLOC_OCCUPATION(priv_data->alloc_map,block)) block--; if (TST_BLOC_OCCUPATION(priv_data->alloc_map,block)) block++; return block; } #endif /* !DISCOVER_ONLY */ parted-2.3/libparted/fs/hfs/Makefile.am0000644000000000000000000000070211354345727014730 00000000000000partedincludedir = -I$(top_srcdir)/include noinst_LTLIBRARIES = libhfs.la libhfs_la_SOURCES = hfs.c hfs.h \ probe.c probe.h \ cache.c cache.h \ advfs.c advfs.h \ file.c file.h \ reloc.c reloc.h \ advfs_plus.c advfs_plus.h \ file_plus.c file_plus.h \ reloc_plus.c reloc_plus.h \ journal.c journal.h INCLUDES = $(partedincludedir) $(INTLINCS) EXTRA_DIST = DOC HISTORY MAINTAINERCLEANFILES = Makefile.in parted-2.3/libparted/fs/hfs/probe.h0000644000000000000000000000225411333731662014152 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 2004-2005, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _PROBE_H #define _PROBE_H #include #include #include #include "hfs.h" int hfsc_can_use_geom (PedGeometry* geom); PedGeometry* hfs_and_wrapper_probe (PedGeometry* geom); PedGeometry* hfsplus_probe (PedGeometry* geom); PedGeometry* hfs_probe (PedGeometry* geom); PedGeometry* hfsx_probe (PedGeometry* geom); #endif /* _PROBE_H */ parted-2.3/libparted/fs/hfs/HISTORY0000644000000000000000000001325711154043331013751 00000000000000## modifications dd-mm-yyyy ---------------------- PATCH FOR PARTED 1.6.5 ---------------------------- 1 initial revision 07-04-2003 2 one pass resizing, removal of debug info 08-04-2003 3 safe abort if resize failed, code cleanups, timer, 10-04-2003 source file split, won't resize if not unmounted, only relocate data if needed, minimize disk operations 4 memory leaks removal, code cleanups, resize hfs+ code, 17-04-2003 more checks, minor hfs resize bugfix, probe code returns real geometry 5 hfs+ resize bugfixes : 19-04-2003 * fragmented fs could be corrupted * VH wasn't written on error during alloc map writing * attributes file could be corrupted 6 Use PedSector to be able to use 2To+ HD 23-04-2003 Minor probe bugfix, Cleanups, HFS+ Timer tuning, 7 80 columns indentation 23-04-2003 8 Bugfix free blocks calculation in wrapper (makes Mac OS boot !) 28-04-2003 ---------------------- PATCH FOR PARTED 1.6.6 ---------------------------- 9 Don't destroy the file being worked on in case of interruption of Parted 28-10-2003 ---------------------- PATCH FOR PARTED 1.6.10 --------------------------- 10 Regression tests, URL correction, In effect_move_extent : corrected memory leak & corrected a bug in precondition checks Added error messages, Check ped_alloc results Use macro for test / set / clear in the allocation bitmap Light probe correction, Check return value of get_empty_end Moved dynamic memory allocation out of effect_move_extent Check HFS+ version, Set implementation creator code Check journal absence, Corrected a bug in HFS+ block number calculation 24-04-2004 --------------------- PATCH FOR PARTED 1.6.11 ---------------------------- 11-Some pointer dereference moved after non nul assertion -Error messages for HFS(+) file IO -Memory leak correction in hfs(plus)_read_bad_blocks -Mark out of volume blocks as used (improve compatibility with broken HFS+ Linux implementation) WARNING : this fix is not 100% tn1150 compatible : "The allocation file may be larger than the minimum number of bits required for the given volume size. Any unused bits in the bitmap must be set to _zero_." Anyway neither is the Linux implementation, nor was my previous implementations Maybe I should ask Apple to change the specifications -HISTORY, DOC and TODO files 29-04-2004 12 Corrected a bug in hfsplus_volume_resize : size of alloc bitmap could be miscalculated 29-04-2004 --------------------- PATCH FOR PARTED 1.6.12 ---------------------------- 13-Finally partial rewrite of *_search_move_* Easier to maintain and prepare for extent search and relocation algorithm changes for better ones. -"An extent has not been relocated!" message now only when relocation requested -Slightly better and simpler relocation algorithm -Update of Makefile.in and Makefile.am in fs_hfs -Sign correction for some 8bits HFS integers -Added the option --enable-hfs-extract-fs in 'configure' -Added every ped_geometry_sync where needed -Bugfix : "A root node does not need to exist (if the tree is empty)." - now handled correctly in btree_search -Bugfix : failure wasn't detected in some cases during 2 pass relocation (*_search_move_*) -Bugfix : The extent key comparaison was done in a wrong order and a pad field was used during the comparaison -Bugfix : in hfs_file_find_sector and hfsplus_file_find_sector the absolute position of a file sector could be miscalculated in case of fragmentation, resulting in potential data corruption, or various errors -Bugfix : The end of the HFS bitmap compatibility block was miscalculated ( (1<<16)/8 instead of (1<<16) ) in hfs_resize 07-09-2004 --------------------- PATCH FOR PARTED 1.6.14 ---------------------------- 14 Port of Patch 13 for Parted 1.6.14 (update timestamps) 08-09-2004 --------------------- PATCH FOR PARTED 1.6.15 ---------------------------- 15-hfsplus_open : added a warning message if the "attributes" special file exists -hfsplus_open : added a test to check if the "allocation" special file has been correctly opened -optimisation of hfs+ block access : don't recalculate the address of each sector, and avoid checking the cache if obviously not useful ( hfsplus_file_read && hfsplus_file_write && hfsplus_file_find_extent && hfs_file_find_sector) -cut the "hfs.c" file in several parts -Bugfix: in hfsplus_do_move_primary, hfs_effect_move_extent was called instead of hfsplus_effect_move_extent !!! This could not produce data corruption, because of a welcome ASSERT in *_effect_move_extent that would detect the bug :) -Bugfix: in hfs_effect_move_extent, do PED_ASSERT(*ptr_to_fblock <= *ptr_fblock, return -1); instead of PED_ASSERT(*ptr_to_fblock < *ptr_fblock, return -1); and added that assertion to hfsplus_effect_move_extent -Bugfix: bugs introduced in rewrite of hfsplus_file_read && hfsplus_file_write : last sector was incorrectly detected as out of file. -Cache the extent references (speed improvement ?) 23-09-2004 16-Bugfix: in hfsplus_do_move (reloc_plus.c), case CR_BTREE_EXT_ATTR incorrectly updated the cached part of priv_data->catalog_file instead of priv_data->attributes_file -Bugfix: in hfs_read_bad_blocks && hfsplus_read_bad_blocks, now generate an error if file_ID or type mismatch after the first pass Also check return value of ped_malloc -Bugfix: in hfsplus_btree_search, check return value of ped_malloc 29-09-2004 ---------------- INTEGRATION IN PARTED 1.6.22 (cvs) ---------------------- Futur changes will be described in ../../ChangeLog 02-02-2005 parted-2.3/libparted/fs/hfs/cache.c0000644000000000000000000001412711333731662014103 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 2004-2005, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef DISCOVER_ONLY #include #include #include #include #include #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ #include "hfs.h" #include "cache.h" static HfsCPrivateCacheTable* hfsc_new_cachetable(unsigned int size) { HfsCPrivateCacheTable* ret; ret = (HfsCPrivateCacheTable*) ped_malloc(sizeof(*ret)); if (!ret) return NULL; ret->next_cache = NULL; ret->table_size = size; ret->table_first_free = 0; ret->table = ped_malloc(sizeof(*ret->table)*size); if (!ret->table) { free(ret); return NULL; } memset(ret->table, 0, sizeof(*ret->table)*size); return ret; } HfsCPrivateCache* hfsc_new_cache(unsigned int block_number, unsigned int file_number) { unsigned int cachetable_size, i; HfsCPrivateCache* ret; ret = (HfsCPrivateCache*) ped_malloc(sizeof(*ret)); if (!ret) return NULL; ret->block_number = block_number; /* following code avoid integer overflow */ ret->linked_ref_size = block_number > block_number + ((1<> CR_SHIFT ) + 1 : ( block_number + ((1<> CR_SHIFT ; ret->linked_ref = (HfsCPrivateExtent**) ped_malloc( sizeof(*ret->linked_ref) * ret->linked_ref_size ); if (!ret->linked_ref) { free(ret); return NULL; } cachetable_size = file_number + file_number / CR_OVER_DIV + CR_ADD_CST; if (cachetable_size < file_number) cachetable_size = (unsigned) -1; ret->first_cachetable_size = cachetable_size; ret->table_list = hfsc_new_cachetable(cachetable_size); if (!ret->table_list) { free(ret->linked_ref); free(ret); return NULL; } ret->last_table = ret->table_list; for (i = 0; i < ret->linked_ref_size; ++i) ret->linked_ref[i] = NULL; ret->needed_alloc_size = 0; return ret; } static void hfsc_delete_cachetable(HfsCPrivateCacheTable* list) { HfsCPrivateCacheTable* next; while (list) { free (list->table); next = list->next_cache; free (list); list = next; } } void hfsc_delete_cache(HfsCPrivateCache* cache) { hfsc_delete_cachetable(cache->table_list); free(cache->linked_ref); free(cache); } HfsCPrivateExtent* hfsc_cache_add_extent(HfsCPrivateCache* cache, uint32_t start, uint32_t length, uint32_t block, uint16_t offset, uint8_t sbb, uint8_t where, uint8_t ref_index) { HfsCPrivateExtent* ext; unsigned int idx = start >> CR_SHIFT; PED_ASSERT(idx < cache->linked_ref_size, return NULL); for (ext = cache->linked_ref[idx]; ext && start != ext->ext_start; ext = ext->next); if (ext) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Trying to register an extent starting at block " "0x%X, but another one already exists at this " "position. You should check the file system!"), start); return NULL; } if ( cache->last_table->table_first_free == cache->last_table->table_size ) { cache->last_table->next_cache = hfsc_new_cachetable( ( cache->first_cachetable_size / CR_NEW_ALLOC_DIV ) + CR_ADD_CST ); if (!cache->last_table->next_cache) return NULL; cache->last_table = cache->last_table->next_cache; } ext = cache->last_table->table+(cache->last_table->table_first_free++); ext->ext_start = start; ext->ext_length = length; ext->ref_block = block; ext->ref_offset = offset; ext->sect_by_block = sbb; ext->where = where; ext->ref_index = ref_index; ext->next = cache->linked_ref[idx]; cache->linked_ref[idx] = ext; cache->needed_alloc_size = cache->needed_alloc_size > (unsigned) PED_SECTOR_SIZE_DEFAULT * sbb ? cache->needed_alloc_size : (unsigned) PED_SECTOR_SIZE_DEFAULT * sbb; return ext; } HfsCPrivateExtent* hfsc_cache_search_extent(HfsCPrivateCache* cache, uint32_t start) { HfsCPrivateExtent* ret; unsigned int idx = start >> CR_SHIFT; PED_ASSERT(idx < cache->linked_ref_size, return NULL); for (ret = cache->linked_ref[idx]; ret && start != ret->ext_start; ret = ret->next); return ret; } /* Can't fail if extent begining at old_start exists */ /* Returns 0 if no such extent, or on error */ HfsCPrivateExtent* hfsc_cache_move_extent(HfsCPrivateCache* cache, uint32_t old_start, uint32_t new_start) { HfsCPrivateExtent** ppext; HfsCPrivateExtent* pext; unsigned int idx1 = old_start >> CR_SHIFT; unsigned int idx2 = new_start >> CR_SHIFT; PED_ASSERT(idx1 < cache->linked_ref_size, return NULL); PED_ASSERT(idx2 < cache->linked_ref_size, return NULL); for (pext = cache->linked_ref[idx2]; pext && new_start != pext->ext_start; pext = pext->next); if (pext) { ped_exception_throw ( PED_EXCEPTION_BUG, PED_EXCEPTION_CANCEL, _("Trying to move an extent from block Ox%X to block " "Ox%X, but another one already exists at this " "position. This should not happen!"), old_start, new_start); return NULL; } for (ppext = &(cache->linked_ref[idx1]); (*ppext) && old_start != (*ppext)->ext_start; ppext = &((*ppext)->next)); if (!(*ppext)) return NULL; /* removing the extent from the cache */ pext = *ppext; (*ppext) = pext->next; /* change ext_start and insert the extent again */ pext->ext_start = new_start; pext->next = cache->linked_ref[idx2]; cache->linked_ref[idx2] = pext; return pext; } #endif /* DISCOVER_ONLY */ parted-2.3/libparted/fs/hfs/hfs.h0000644000000000000000000005263311333731662013631 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 2003-2005, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _HFS_H #define _HFS_H /* WARNING : bn is used 2 times in theses macro */ /* so _never_ use side effect operators when using them */ #define TST_BLOC_OCCUPATION(tab,bn) \ (((tab)[(bn)/8]) & (1<<(7-((bn)&7)))) #define SET_BLOC_OCCUPATION(tab,bn) \ (((tab)[(bn)/8]) |= (1<<(7-((bn)&7)))) #define CLR_BLOC_OCCUPATION(tab,bn) \ (((tab)[(bn)/8]) &= ~(1<<(7-((bn)&7)))) /* Maximum number of blocks for the copy buffers */ #define BLOCK_MAX_BUFF 256 /* Maximum size of the copy buffers, in bytes */ #define BYTES_MAX_BUFF 8388608 /* Apple Creator Codes follow */ #define HFSP_IMPL_Shnk 0x53686e6b /* in use */ #define HFSP_IMPL_Xpnd 0x58706e64 /* reserved */ #define HFSP_IMPL_Resz 0x5265737a /* reserved */ #define HFSP_IMPL_PHpx 0x50482b78 /* reserved */ #define HFSP_IMPL_traP 0x74726150 /* reserved */ #define HFSP_IMPL_GnuP 0x476e7550 /* reserved */ #define HFS_SIGNATURE 0x4244 /* 'BD' */ #define HFSP_SIGNATURE 0x482B /* 'H+' */ #define HFSX_SIGNATURE 0x4858 /* 'HX' */ #define HFSP_VERSION 4 #define HFSX_VERSION 5 #define HFS_HARD_LOCK 7 #define HFS_UNMOUNTED 8 #define HFS_BAD_SPARED 9 #define HFS_SOFT_LOCK 15 #define HFSP_NO_CACHE 10 #define HFSP_INCONSISTENT 11 #define HFSP_REUSE_CNID 12 #define HFSP_JOURNALED 13 #define HFS_IDX_NODE 0x00 #define HFS_HDR_NODE 0x01 #define HFS_MAP_NODE 0x02 #define HFS_LEAF_NODE 0xFF #define HFS_FIRST_REC 0x0E #define HFS_NSD_HD_REC 0x78 #define HFS_MAP_REC 0xF8 #define HFS_DATA_FORK 0x00 #define HFS_RES_FORK 0xFF #define HFS_CAT_DIR 0x01 #define HFS_CAT_FILE 0x02 #define HFS_CAT_DIR_TH 0x03 #define HFS_CAT_FILE_TH 0x04 #define HFSP_ATTR_INLINE 0x10 #define HFSP_ATTR_FORK 0x20 #define HFSP_ATTR_EXTENTS 0x30 #define HFS_ROOT_PAR_ID 0x01 #define HFS_ROOT_DIR_ID 0x02 #define HFS_XTENT_ID 0x03 #define HFS_CATALOG_ID 0x04 #define HFS_BAD_BLOCK_ID 0x05 #define HFSP_ALLOC_ID 0x06 #define HFSP_STARTUP_ID 0x07 #define HFSP_ATTRIB_ID 0x08 #define HFSP_BOGUS_ID 0x0F #define HFSP_FIRST_AV_ID 0x10 #define HFSJ_JOURN_IN_FS 0x00 #define HFSJ_JOURN_OTHER_DEV 0x01 #define HFSJ_JOURN_NEED_INIT 0x02 #define HFSJ_HEADER_MAGIC 0x4a4e4c78 #define HFSJ_ENDIAN_MAGIC 0x12345678 #define HFSX_CASE_FOLDING 0xCF /* case insensitive HFSX */ #define HFSX_BINARY_COMPARE 0xBC /* case sensitive HFSX */ #define HFS_EXT_NB 3 #define HFSP_EXT_NB 8 /* Define the filenames used by the FS extractor */ #ifdef HFS_EXTRACT_FS #define HFS_MDB_FILENAME "mdb.hfs" #define HFS_CATALOG_FILENAME "catalog.hfs" #define HFS_EXTENTS_FILENAME "extents.hfs" #define HFS_BITMAP_FILENAME "bitmap.hfs" #define HFSP_VH_FILENAME "vh.hfsplus" #define HFSP_CATALOG_FILENAME "catalog.hfsplus" #define HFSP_EXTENTS_FILENAME "extents.hfsplus" #define HFSP_BITMAP_FILENAME "bitmap.hfsplus" #define HFSP_ATTRIB_FILENAME "attributes.hfsplus" #define HFSP_STARTUP_FILENAME "startup.hfsplus" #endif /* HFS_EXTRACT_FS */ /* ----------------------------------- */ /* -- HFS DATA STRUCTURES -- */ /* ----------------------------------- */ /* Extent descriptor */ struct __attribute__ ((packed)) _HfsExtDescriptor { uint16_t start_block; uint16_t block_count; }; typedef struct _HfsExtDescriptor HfsExtDescriptor; typedef HfsExtDescriptor HfsExtDataRec[HFS_EXT_NB]; /* Volume header */ struct __attribute__ ((packed)) _HfsMasterDirectoryBlock { uint16_t signature; uint32_t create_date; uint32_t modify_date; uint16_t volume_attributes; uint16_t files_in_root; uint16_t volume_bitmap_block; /* in sectors */ uint16_t next_allocation; uint16_t total_blocks; uint32_t block_size; /* in bytes */ uint32_t def_clump_size; /* in bytes */ uint16_t start_block; /* in sectors */ uint32_t next_free_node; uint16_t free_blocks; uint8_t name_length; char name[27]; uint32_t backup_date; uint16_t backup_number; uint32_t write_count; uint32_t extents_clump; uint32_t catalog_clump; uint16_t dirs_in_root; uint32_t file_count; uint32_t dir_count; uint32_t finder_info[8]; union __attribute__ ((packed)) { struct __attribute__ ((packed)) { uint16_t volume_cache_size; /* in blocks */ uint16_t bitmap_cache_size; /* in blocks */ uint16_t common_cache_size; /* in blocks */ } legacy; struct __attribute__ ((packed)) { uint16_t signature; HfsExtDescriptor location; } embedded; } old_new; uint32_t extents_file_size; /* in bytes, block size multiple */ HfsExtDataRec extents_file_rec; uint32_t catalog_file_size; /* in bytes, block size multiple */ HfsExtDataRec catalog_file_rec; }; typedef struct _HfsMasterDirectoryBlock HfsMasterDirectoryBlock; /* B*-Tree Node Descriptor */ struct __attribute__ ((packed)) _HfsNodeDescriptor { uint32_t next; uint32_t previous; int8_t type; uint8_t height; uint16_t rec_nb; uint16_t reserved; }; typedef struct _HfsNodeDescriptor HfsNodeDescriptor; /* Header record of a whole B*-Tree */ struct __attribute__ ((packed)) _HfsHeaderRecord { uint16_t depth; uint32_t root_node; uint32_t leaf_records; uint32_t first_leaf_node; uint32_t last_leaf_node; uint16_t node_size; uint16_t max_key_len; uint32_t total_nodes; uint32_t free_nodes; int8_t reserved[76]; }; typedef struct _HfsHeaderRecord HfsHeaderRecord; /* Catalog key for B*-Tree lookup in the catalog file */ struct __attribute__ ((packed)) _HfsCatalogKey { uint8_t key_length; /* length of the key without key_length */ uint8_t reserved; uint32_t parent_ID; uint8_t name_length; char name[31]; /* in fact physicaly 1 upto 31 */ }; typedef struct _HfsCatalogKey HfsCatalogKey; /* Extents overflow key for B*-Tree lookup */ struct __attribute__ ((packed)) _HfsExtentKey { uint8_t key_length; /* length of the key without key_length */ uint8_t type; /* data or ressource fork */ uint32_t file_ID; uint16_t start; }; typedef struct _HfsExtentKey HfsExtentKey; /* Catalog subdata case directory */ struct __attribute__ ((packed)) _HfsDir { uint16_t flags; uint16_t valence; /* number of files in this directory */ uint32_t dir_ID; uint32_t create_date; uint32_t modify_date; uint32_t backup_date; int8_t DInfo[16]; /* used by Finder, handle as reserved */ int8_t DXInfo[16]; /* used by Finder, handle as reserved */ uint32_t reserved[4]; }; typedef struct _HfsDir HfsDir; /* Catalog subdata case file */ struct __attribute__ ((packed)) _HfsFile { int8_t flags; int8_t type; /* should be 0 */ int8_t FInfo[16]; /* used by Finder, handle as reserved */ uint32_t file_ID; uint16_t data_start_block; uint32_t data_sz_byte; uint32_t data_sz_block; uint16_t res_start_block; uint32_t res_sz_byte; uint32_t res_sz_block; uint32_t create_date; uint32_t modify_date; uint32_t backup_date; int8_t FXInfo[16]; /* used by Finder, handle as reserved */ uint16_t clump_size; HfsExtDataRec extents_data; HfsExtDataRec extents_res; uint32_t reserved; }; typedef struct _HfsFile HfsFile; /* Catalog subdata case directory thread */ struct __attribute__ ((packed)) _HfsDirTh { uint32_t reserved[2]; uint32_t parent_ID; int8_t name_length; char name[31]; }; typedef struct _HfsDirTh HfsDirTh; /* Catalog subdata case file thread */ typedef struct _HfsDirTh HfsFileTh; /* same as directory thread */ /* Catalog data */ struct __attribute__ ((packed)) _HfsCatalog { int8_t type; int8_t reserved; union { HfsDir dir; HfsFile file; HfsDirTh dir_th; HfsFileTh file_th; } sel; }; typedef struct _HfsCatalog HfsCatalog; /* ------------------------------------ */ /* -- HFS+ DATA STRUCTURES -- */ /* ------------------------------------ */ /* documented since 2004 in tn1150 */ struct __attribute__ ((packed)) _HfsPPerms { uint32_t owner_ID; uint32_t group_ID; uint32_t permissions; uint32_t special_devices; }; typedef struct _HfsPPerms HfsPPerms; /* HFS+ extent descriptor*/ struct __attribute__ ((packed)) _HfsPExtDescriptor { uint32_t start_block; uint32_t block_count; }; typedef struct _HfsPExtDescriptor HfsPExtDescriptor; typedef HfsPExtDescriptor HfsPExtDataRec[HFSP_EXT_NB]; /* HFS+ fork data structure */ struct __attribute__ ((packed)) _HfsPForkData { uint64_t logical_size; uint32_t clump_size; uint32_t total_blocks; HfsPExtDataRec extents; }; typedef struct _HfsPForkData HfsPForkData; /* HFS+ catalog node ID */ typedef uint32_t HfsPNodeID; /* HFS+ file names */ typedef uint16_t unichar; struct __attribute__ ((packed)) _HfsPUniStr255 { uint16_t length; unichar unicode[255]; /* 1 upto 255 */ }; typedef struct _HfsPUniStr255 HfsPUniStr255; /* HFS+ volume header */ struct __attribute__ ((packed)) _HfsPVolumeHeader { uint16_t signature; uint16_t version; uint32_t attributes; uint32_t last_mounted_version; uint32_t journal_info_block; uint32_t create_date; uint32_t modify_date; uint32_t backup_date; uint32_t checked_date; uint32_t file_count; uint32_t dir_count; uint32_t block_size; uint32_t total_blocks; uint32_t free_blocks; uint32_t next_allocation; uint32_t res_clump_size; uint32_t data_clump_size; HfsPNodeID next_catalog_ID; uint32_t write_count; uint64_t encodings_bitmap; uint8_t finder_info[32]; HfsPForkData allocation_file; HfsPForkData extents_file; HfsPForkData catalog_file; HfsPForkData attributes_file; HfsPForkData startup_file; }; typedef struct _HfsPVolumeHeader HfsPVolumeHeader; /* HFS+ B-Tree Node Descriptor. Same as HFS btree. */ struct __attribute__ ((packed)) _HfsPNodeDescriptor { uint32_t next; uint32_t previous; int8_t type; uint8_t height; uint16_t rec_nb; uint16_t reserved; }; typedef struct _HfsPNodeDescriptor HfsPNodeDescriptor; /* Header record of a whole HFS+ B-Tree. */ struct __attribute__ ((packed)) _HfsPHeaderRecord { uint16_t depth; uint32_t root_node; uint32_t leaf_records; uint32_t first_leaf_node; uint32_t last_leaf_node; uint16_t node_size; uint16_t max_key_len; uint32_t total_nodes; uint32_t free_nodes; /* same as hfs btree until here */ uint16_t reserved1; uint32_t clump_size; uint8_t btree_type; /* must be 0 for HFS+ B-Tree */ uint8_t key_compare_type; /* hfsx => 0xCF = case folding */ /* 0xBC = binary compare */ /* otherwise, reserved */ uint32_t attributes; uint32_t reserved3[16]; }; typedef struct _HfsPHeaderRecord HfsPHeaderRecord; /* Catalog key for B-Tree lookup in the HFS+ catalog file */ struct __attribute__ ((packed)) _HfsPCatalogKey { uint16_t key_length; HfsPNodeID parent_ID; HfsPUniStr255 node_name; }; typedef struct _HfsPCatalogKey HfsPCatalogKey; /* HFS+ catalog subdata case dir */ struct __attribute__ ((packed)) _HfsPDir { uint16_t flags; uint32_t valence; HfsPNodeID dir_ID; uint32_t create_date; uint32_t modify_date; uint32_t attrib_mod_date; uint32_t access_date; uint32_t backup_date; HfsPPerms permissions; int8_t DInfo[16]; /* used by Finder, handle as reserved */ int8_t DXInfo[16]; /* used by Finder, handle as reserved */ uint32_t text_encoding; uint32_t reserved; }; typedef struct _HfsPDir HfsPDir; /* HFS+ catalog subdata case file */ struct __attribute__ ((packed)) _HfsPFile { uint16_t flags; uint32_t reserved1; HfsPNodeID file_ID; uint32_t create_date; uint32_t modify_date; uint32_t attrib_mod_date; uint32_t access_date; uint32_t backup_date; HfsPPerms permissions; int8_t FInfo[16]; /* used by Finder, handle as reserved */ int8_t FXInfo[16]; /* used by Finder, handle as reserved */ uint32_t text_encoding; uint32_t reserved2; HfsPForkData data_fork; HfsPForkData res_fork; }; typedef struct _HfsPFile HfsPFile; /* HFS+ catalog subdata case thread */ struct __attribute__ ((packed)) _HfsPThread { int16_t reserved; HfsPNodeID parent_ID; HfsPUniStr255 node_name; }; typedef struct _HfsPThread HfsPDirTh; typedef struct _HfsPThread HfsPFileTh; /* HFS+ Catalog leaf data */ struct __attribute__ ((packed)) _HfsPCatalog { int16_t type; union { HfsPDir dir; HfsPFile file; HfsPDirTh dir_th; HfsPFileTh file_th; } sel; }; typedef struct _HfsPCatalog HfsPCatalog; /* HFS+ extents file key */ struct __attribute__ ((packed)) _HfsPExtentKey { uint16_t key_length; uint8_t type; uint8_t pad; HfsPNodeID file_ID; uint32_t start; }; typedef struct _HfsPExtentKey HfsPExtentKey; /* extent file data is HfsPExtDataRec */ /* Fork data attribute file */ struct __attribute__ ((packed)) _HfsPForkDataAttr { uint32_t record_type; uint32_t reserved; union __attribute__ ((packed)) { HfsPForkData fork; HfsPExtDataRec extents; } fork_res; }; typedef struct _HfsPForkDataAttr HfsPForkDataAttr; /* ----------- Journal data structures ----------- */ /* Info block : stored in a block # defined in the VH */ struct __attribute__ ((packed)) _HfsJJournalInfoBlock { uint32_t flags; uint32_t device_signature[8]; uint64_t offset; uint64_t size; uint32_t reserved[32]; }; typedef struct _HfsJJournalInfoBlock HfsJJournalInfoBlock; struct __attribute__ ((packed)) _HfsJJournalHeader { uint32_t magic; uint32_t endian; uint64_t start; uint64_t end; uint64_t size; uint32_t blhdr_size; uint32_t checksum; uint32_t jhdr_size; }; typedef struct _HfsJJournalHeader HfsJJournalHeader; struct __attribute__ ((packed)) _HfsJBlockInfo { uint64_t bnum; /* sector number */ uint32_t bsize; /* size in bytes */ uint32_t next; }; typedef struct _HfsJBlockInfo HfsJBlockInfo; struct __attribute__ ((packed)) _HfsJBlockListHeader { uint16_t max_blocks; /* reserved */ uint16_t num_blocks; uint32_t bytes_used; uint32_t checksum; uint32_t pad; HfsJBlockInfo binfo[1]; }; typedef struct _HfsJBlockListHeader HfsJBlockListHeader; /* ---------------------------------------- */ /* -- INTERNAL DATA STRUCTURES -- */ /* ---------------------------------------- */ /* Data of an opened HFS file */ struct _HfsPrivateFile { PedSector sect_nb; PedFileSystem* fs; uint32_t CNID; /* disk order (BE) */ HfsExtDataRec first; /* disk order (BE) */ HfsExtDataRec cache; /* disk order (BE) */ uint16_t start_cache; /* CPU order */ }; typedef struct _HfsPrivateFile HfsPrivateFile; /* To store bad block list */ struct _HfsPrivateLinkExtent { HfsExtDescriptor extent; struct _HfsPrivateLinkExtent* next; }; typedef struct _HfsPrivateLinkExtent HfsPrivateLinkExtent; /* HFS Filesystem specific data */ struct _HfsPrivateFSData { uint8_t alloc_map[(1<<16) / 8]; HfsMasterDirectoryBlock* mdb; HfsPrivateFile* extent_file; HfsPrivateFile* catalog_file; HfsPrivateLinkExtent* bad_blocks_xtent_list; unsigned int bad_blocks_xtent_nb; char bad_blocks_loaded; }; typedef struct _HfsPrivateFSData HfsPrivateFSData; /* Generic btree key */ struct __attribute__ ((packed)) _HfsPrivateGenericKey { uint8_t key_length; uint8_t key_content[1]; /* we use 1 as a minimum size */ }; typedef struct _HfsPrivateGenericKey HfsPrivateGenericKey; /* ----- HFS+ ----- */ /* Data of an opened HFS file */ struct _HfsPPrivateFile { PedSector sect_nb; PedFileSystem* fs; HfsPNodeID CNID; /* disk order (BE) */ HfsPExtDataRec first; /* disk order (BE) */ HfsPExtDataRec cache; /* disk order (BE) */ uint32_t start_cache; /* CPU order */ }; typedef struct _HfsPPrivateFile HfsPPrivateFile; struct _HfsPPrivateExtent { PedSector start_sector; PedSector sector_count; }; typedef struct _HfsPPrivateExtent HfsPPrivateExtent; /* To store bad block list */ struct _HfsPPrivateLinkExtent { HfsPExtDescriptor extent; struct _HfsPPrivateLinkExtent* next; }; typedef struct _HfsPPrivateLinkExtent HfsPPrivateLinkExtent; /* HFS+ file system specific data */ struct _HfsPPrivateFSData { PedFileSystem* wrapper; /* NULL if hfs+ is not embedded */ PedGeometry* plus_geom; /* Geometry of HFS+ _volume_ */ uint8_t* alloc_map; uint8_t* dirty_alloc_map; HfsPVolumeHeader* vh; HfsPPrivateFile* extents_file; HfsPPrivateFile* catalog_file; HfsPPrivateFile* attributes_file; HfsPPrivateFile* allocation_file; HfsPPrivateLinkExtent* bad_blocks_xtent_list; uint32_t jib_start_block; uint32_t jl_start_block; unsigned int bad_blocks_xtent_nb; char bad_blocks_loaded; char free_geom; /* 1 = plus_geom must be freed */ }; typedef struct _HfsPPrivateFSData HfsPPrivateFSData; /* Generic + btree key */ struct __attribute__ ((packed)) _HfsPPrivateGenericKey { uint16_t key_length; uint8_t key_content[1]; /* we use 1 as a minimum size */ }; typedef struct _HfsPPrivateGenericKey HfsPPrivateGenericKey; /* ---- common ---- */ /* node and lead record reference for a BTree search */ struct _HfsCPrivateLeafRec { unsigned int node_size; /* in sectors */ unsigned int node_number; unsigned int record_pos; unsigned int record_number; }; typedef struct _HfsCPrivateLeafRec HfsCPrivateLeafRec; extern uint8_t* hfs_block; extern uint8_t* hfsp_block; extern unsigned hfs_block_count; extern unsigned hfsp_block_count; #endif /* _HFS_H */ parted-2.3/libparted/fs/hfs/TODO0000644000000000000000000000220011154043331013337 00000000000000--- TODO --- * Continue to write regressions tests and try on 2.6 kernel -- (high) * Fix timer progression calculation, according to the new caching code -- (high) * write doc, website, ... -- (high) * Check block allocation in linux 2.4 and remove compatibility code if possible -- (high) * In hfs(plus)_btree_search , use a static variable to detect illegal recursion and abort in that case. (find the right number of recursion before reporting bug) -- easy -- (medium) * Finish the HFS Extractor -- (medium) (add mdb & vh extraction, and maybe journal) * Write code to allow enlarging and moving HFS[+x] -- (low) * Use a bitmap to internaly store the bad blocks -- (low) * Less bitmap saves ? -- (low) * Continue to change the relocation algorithm for a better one :) -- (low) --- NOT todo --- * debug HFS(+) Linux implementation (block allocation for HFS+, hard and sym links for HFS+, filename length for HFS, ...) -- (dont) /// Linux 2.6 contains HFS(+) implementations with less bugs /// Linux 2.4 should not be used anymore to access HFS(+) parted-2.3/libparted/fs/hfs/reloc.h0000644000000000000000000000213311333731662014143 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 2004, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _RELOC_H #define _RELOC_H #include #include #include #include "hfs.h" int hfs_update_mdb (PedFileSystem *fs); int hfs_pack_free_space_from_block (PedFileSystem *fs, unsigned int fblock, PedTimer* timer, unsigned int to_free); #endif /* _RELOC_H */ parted-2.3/libparted/fs/hfs/file.h0000644000000000000000000000236111333731662013761 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 2004, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _FILE_H #define _FILE_H #include #include #include #include "hfs.h" HfsPrivateFile* hfs_file_open (PedFileSystem *fs, uint32_t CNID, HfsExtDataRec ext_desc, PedSector sect_nb); void hfs_file_close (HfsPrivateFile* file); int hfs_file_read_sector (HfsPrivateFile* file, void *buf, PedSector sector); int hfs_file_write_sector (HfsPrivateFile* file, void *buf, PedSector sector); #endif /* _FILE_H */ parted-2.3/libparted/fs/hfs/journal.c0000644000000000000000000002577111333731662014521 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 2004-2005, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef DISCOVER_ONLY #include #include #include #include #include #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ #include "hfs.h" #include "reloc_plus.h" #include "journal.h" static int hfsj_vh_replayed = 0; static int is_le = 0; static uint32_t hfsj_calc_checksum(uint8_t *ptr, int len) { int i; uint32_t cksum=0; for (i=0; i < len; i++, ptr++) { cksum = (cksum << 8) ^ (cksum + *ptr); } return (~cksum); } int hfsj_update_jib(PedFileSystem* fs, uint32_t block) { HfsPPrivateFSData* priv_data = (HfsPPrivateFSData*) fs->type_specific; priv_data->vh->journal_info_block = PED_CPU_TO_BE32(block); if (!hfsplus_update_vh (fs)) return 0; priv_data->jib_start_block = block; return 1; } int hfsj_update_jl(PedFileSystem* fs, uint32_t block) { uint8_t buf[PED_SECTOR_SIZE_DEFAULT]; PedSector sector; uint64_t offset; HfsPPrivateFSData* priv_data = (HfsPPrivateFSData*) fs->type_specific; HfsJJournalInfoBlock* jib; int binsect; binsect = HFS_32_TO_CPU(priv_data->vh->block_size, is_le) / PED_SECTOR_SIZE_DEFAULT; sector = (PedSector) priv_data->jib_start_block * binsect; if (!ped_geometry_read(priv_data->plus_geom, buf, sector, 1)) return 0; jib = (HfsJJournalInfoBlock*) buf; offset = (uint64_t)block * PED_SECTOR_SIZE_DEFAULT * binsect; jib->offset = HFS_CPU_TO_64(offset, is_le); if (!ped_geometry_write(priv_data->plus_geom, buf, sector, 1) || !ped_geometry_sync(priv_data->plus_geom)) return 0; priv_data->jl_start_block = block; return 1; } /* Return the sector in the journal that is after the area read */ /* or 0 on error */ static PedSector hfsj_journal_read(PedGeometry* geom, HfsJJournalHeader* jh, PedSector journ_sect, PedSector journ_length, PedSector read_sect, unsigned int nb_sect, void* buf) { int r; while (nb_sect--) { r = ped_geometry_read(geom, buf, journ_sect + read_sect, 1); if (!r) return 0; buf = ((uint8_t*)buf) + PED_SECTOR_SIZE_DEFAULT; read_sect++; if (read_sect == journ_length) read_sect = 1; /* skip journal header which is asserted to be 1 sector long */ } return read_sect; } static int hfsj_replay_transaction(PedFileSystem* fs, HfsJJournalHeader* jh, PedSector jsector, PedSector jlength) { PedSector start, sector; HfsPPrivateFSData* priv_data = (HfsPPrivateFSData*) fs->type_specific; HfsJBlockListHeader* blhdr; uint8_t* block; unsigned int blhdr_nbsect; int i, r; uint32_t cksum, size; blhdr_nbsect = HFS_32_TO_CPU(jh->blhdr_size, is_le) / PED_SECTOR_SIZE_DEFAULT; blhdr = (HfsJBlockListHeader*) ped_malloc (blhdr_nbsect * PED_SECTOR_SIZE_DEFAULT); if (!blhdr) return 0; start = HFS_64_TO_CPU(jh->start, is_le) / PED_SECTOR_SIZE_DEFAULT; do { start = hfsj_journal_read(priv_data->plus_geom, jh, jsector, jlength, start, blhdr_nbsect, blhdr); if (!start) goto err_replay; cksum = HFS_32_TO_CPU(blhdr->checksum, is_le); blhdr->checksum = 0; if (cksum!=hfsj_calc_checksum((uint8_t*)blhdr, sizeof(*blhdr))){ ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Bad block list header checksum.")); goto err_replay; } blhdr->checksum = HFS_CPU_TO_32(cksum, is_le); for (i=1; i < HFS_16_TO_CPU(blhdr->num_blocks, is_le); ++i) { size = HFS_32_TO_CPU(blhdr->binfo[i].bsize, is_le); sector = HFS_64_TO_CPU(blhdr->binfo[i].bnum, is_le); if (!size) continue; if (size % PED_SECTOR_SIZE_DEFAULT) { ped_exception_throw( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Invalid size of a transaction " "block while replaying the journal " "(%i bytes)."), size); goto err_replay; } block = (uint8_t*) ped_malloc(size); if (!block) goto err_replay; start = hfsj_journal_read(priv_data->plus_geom, jh, jsector, jlength, start, size / PED_SECTOR_SIZE_DEFAULT, block); if (!start) { free (block); goto err_replay; } /* the sector stored in the journal seems to be relative to the begin of the block device which contains the hfs+ journaled volume */ if (sector != ~0LL) r = ped_geometry_write (fs->geom, block, sector, size / PED_SECTOR_SIZE_DEFAULT); else r = 1; free (block); /* check if wrapper mdb or vh with no wrapper has changed */ if ( (sector != ~0LL) && (2 >= sector) && (2 < sector + size / PED_SECTOR_SIZE_DEFAULT) ) hfsj_vh_replayed = 1; /* check if vh of embedded hfs+ has changed */ if ( (sector != ~0LL) && (priv_data->plus_geom != fs->geom) && (sector + fs->geom->start - priv_data->plus_geom->start <= 2) && (sector + size / PED_SECTOR_SIZE_DEFAULT + fs->geom->start - priv_data->plus_geom->start > 2) ) hfsj_vh_replayed = 1; if (!r) goto err_replay; } } while (blhdr->binfo[0].next); jh->start = HFS_CPU_TO_64(start * PED_SECTOR_SIZE_DEFAULT, is_le); free (blhdr); return (ped_geometry_sync (fs->geom)); err_replay: free (blhdr); return 0; } /* 0 => Failure, don't continue to open ! */ /* 1 => Success, the journal has been completly replayed, or don't need to */ int hfsj_replay_journal(PedFileSystem* fs) { uint8_t buf[PED_SECTOR_SIZE_DEFAULT]; PedSector sector, length; HfsPPrivateFSData* priv_data = (HfsPPrivateFSData*) fs->type_specific; HfsJJournalInfoBlock* jib; HfsJJournalHeader* jh; int binsect; uint32_t cksum; binsect = PED_BE32_TO_CPU(priv_data->vh->block_size) / PED_SECTOR_SIZE_DEFAULT; priv_data->jib_start_block = PED_BE32_TO_CPU(priv_data->vh->journal_info_block); sector = (PedSector) priv_data->jib_start_block * binsect; if (!ped_geometry_read(priv_data->plus_geom, buf, sector, 1)) return 0; jib = (HfsJJournalInfoBlock*) buf; if ( (jib->flags & PED_CPU_TO_BE32(1 << HFSJ_JOURN_IN_FS)) && !(jib->flags & PED_CPU_TO_BE32(1 << HFSJ_JOURN_OTHER_DEV)) ) { priv_data->jl_start_block = HFS_64_TO_CPU(jib->offset, is_le) / ( PED_SECTOR_SIZE_DEFAULT * binsect ); } if (jib->flags & PED_CPU_TO_BE32(1 << HFSJ_JOURN_NEED_INIT)) return 1; if ( !(jib->flags & PED_CPU_TO_BE32(1 << HFSJ_JOURN_IN_FS)) || (jib->flags & PED_CPU_TO_BE32(1 << HFSJ_JOURN_OTHER_DEV)) ) { ped_exception_throw ( PED_EXCEPTION_NO_FEATURE, PED_EXCEPTION_CANCEL, _("Journal stored outside of the volume are " "not supported. Try to desactivate the " "journal and run Parted again.")); return 0; } if ( (PED_BE64_TO_CPU(jib->offset) % PED_SECTOR_SIZE_DEFAULT) || (PED_BE64_TO_CPU(jib->size) % PED_SECTOR_SIZE_DEFAULT) ) { ped_exception_throw ( PED_EXCEPTION_NO_FEATURE, PED_EXCEPTION_CANCEL, _("Journal offset or size is not multiple of " "the sector size.")); return 0; } sector = PED_BE64_TO_CPU(jib->offset) / PED_SECTOR_SIZE_DEFAULT; length = PED_BE64_TO_CPU(jib->size) / PED_SECTOR_SIZE_DEFAULT; jib = NULL; if (!ped_geometry_read(priv_data->plus_geom, buf, sector, 1)) return 0; jh = (HfsJJournalHeader*) buf; if (jh->endian == PED_LE32_TO_CPU(HFSJ_ENDIAN_MAGIC)) is_le = 1; if ( (jh->magic != HFS_32_TO_CPU(HFSJ_HEADER_MAGIC, is_le)) || (jh->endian != HFS_32_TO_CPU(HFSJ_ENDIAN_MAGIC, is_le)) ) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Incorrect magic values in the journal header.")); return 0; } if ( (HFS_64_TO_CPU(jh->size, is_le)%PED_SECTOR_SIZE_DEFAULT) || (HFS_64_TO_CPU(jh->size, is_le)/PED_SECTOR_SIZE_DEFAULT != (uint64_t)length) ) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Journal size mismatch between journal info block " "and journal header.")); return 0; } if ( (HFS_64_TO_CPU(jh->start, is_le) % PED_SECTOR_SIZE_DEFAULT) || (HFS_64_TO_CPU(jh->end, is_le) % PED_SECTOR_SIZE_DEFAULT) || (HFS_32_TO_CPU(jh->blhdr_size, is_le) % PED_SECTOR_SIZE_DEFAULT) || (HFS_32_TO_CPU(jh->jhdr_size, is_le) % PED_SECTOR_SIZE_DEFAULT) ) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Some header fields are not multiple of the sector " "size.")); return 0; } if (HFS_32_TO_CPU(jh->jhdr_size, is_le) != PED_SECTOR_SIZE_DEFAULT) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("The sector size stored in the journal is not 512 " "bytes. Parted only supports 512 bytes length " "sectors.")); return 0; } cksum = HFS_32_TO_CPU(jh->checksum, is_le); jh->checksum = 0; if (cksum != hfsj_calc_checksum((uint8_t*)jh, sizeof(*jh))) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Bad journal checksum.")); return 0; } jh->checksum = HFS_CPU_TO_32(cksum, is_le); /* The 2 following test are in the XNU Darwin source code */ /* so I assume they're needed */ if (jh->start == jh->size) jh->start = HFS_CPU_TO_64(PED_SECTOR_SIZE_DEFAULT, is_le); if (jh->end == jh->size) jh->start = HFS_CPU_TO_64(PED_SECTOR_SIZE_DEFAULT, is_le); if (jh->start == jh->end) return 1; if (ped_exception_throw ( PED_EXCEPTION_WARNING, PED_EXCEPTION_FIX | PED_EXCEPTION_CANCEL, _("The journal is not empty. Parted must replay the " "transactions before opening the file system. This will " "modify the file system.")) != PED_EXCEPTION_FIX) return 0; while (jh->start != jh->end) { /* Replay one complete transaction */ if (!hfsj_replay_transaction(fs, jh, sector, length)) return 0; /* Recalculate cksum of the journal header */ jh->checksum = 0; /* need to be 0 while calculating the cksum */ cksum = hfsj_calc_checksum((uint8_t*)jh, sizeof(*jh)); jh->checksum = HFS_CPU_TO_32(cksum, is_le); /* Update the Journal Header */ if (!ped_geometry_write(priv_data->plus_geom, buf, sector, 1) || !ped_geometry_sync(priv_data->plus_geom)) return 0; } if (hfsj_vh_replayed) { /* probe could have reported incorrect info ! */ /* is there a way to ask parted to quit ? */ ped_exception_throw( PED_EXCEPTION_WARNING, PED_EXCEPTION_OK, _("The volume header or the master directory block has " "changed while replaying the journal. You should " "restart Parted.")); return 0; } return 1; } #endif /* DISCOVER_ONLY */ parted-2.3/libparted/fs/hfs/Makefile.in0000644000000000000000000011616711400005574014737 00000000000000# Makefile.in generated by automake 1.11a from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = libparted/fs/hfs DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in TODO ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \ $(top_srcdir)/m4/asm-underscore.m4 $(top_srcdir)/m4/assert.m4 \ $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/calloc.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \ $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/dirname.m4 \ $(top_srcdir)/m4/dos.m4 $(top_srcdir)/m4/double-slash-root.m4 \ $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/extensions.m4 \ $(top_srcdir)/m4/fclose.m4 $(top_srcdir)/m4/fcntl-o.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fpending.m4 \ $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getopt.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \ $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/lib-ignore.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \ $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \ $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/long-options.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \ $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/memchr.m4 \ $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \ $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/o-direct.m4 $(top_srcdir)/m4/open.m4 \ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \ $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/readlink.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/safe-read.m4 \ $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \ $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/symlink.m4 \ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \ $(top_srcdir)/m4/version-etc.m4 \ $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \ $(top_srcdir)/m4/wctype_h.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xstrndup.m4 \ $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/lib/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libhfs_la_LIBADD = am_libhfs_la_OBJECTS = hfs.lo probe.lo cache.lo advfs.lo file.lo \ reloc.lo advfs_plus.lo file_plus.lo reloc_plus.lo journal.lo libhfs_la_OBJECTS = $(am_libhfs_la_OBJECTS) AM_V_lt = $(am__v_lt_$(V)) am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) am__v_lt_0 = --silent DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/lib depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_$(V)) am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) am__v_CC_0 = @echo " CC " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_$(V)) am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) am__v_CCLD_0 = @echo " CCLD " $@; AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; SOURCES = $(libhfs_la_SOURCES) DIST_SOURCES = $(libhfs_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ BUILDINFO = @BUILDINFO@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ CONFIG_INCLUDE = @CONFIG_INCLUDE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DL_LIBS = @DL_LIBS@ DM_LIBS = @DM_LIBS@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENABLE_DEVICE_MAPPER = @ENABLE_DEVICE_MAPPER@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPURGE = @GNULIB_FPURGE@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSTATAT = @GNULIB_FSTATAT@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETGROUPS = @GNULIB_GETGROUPS@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMCHR = @GNULIB_MEMCHR@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDIRAT = @GNULIB_MKDIRAT@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKFIFO = @GNULIB_MKFIFO@ GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@ GNULIB_MKNOD = @GNULIB_MKNOD@ GNULIB_MKNODAT = @GNULIB_MKNODAT@ GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PTSNAME = @GNULIB_PTSNAME@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ GNULIB_RMDIR = @GNULIB_RMDIR@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STAT = @GNULIB_STAT@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNCAT = @GNULIB_STRNCAT@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRPTIME = @GNULIB_STRPTIME@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNLINK = @GNULIB_UNLINK@ GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_USLEEP = @GNULIB_USLEEP@ GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_FUTIMENS = @HAVE_FUTIMENS@ HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETGROUPS = @HAVE_GETGROUPS@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@ HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@ HAVE_LANGINFO_H = @HAVE_LANGINFO_H@ HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LCHOWN = @HAVE_LCHOWN@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LOCALTIME_R = @HAVE_LOCALTIME_R@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_MKFIFO = @HAVE_MKFIFO@ HAVE_MKFIFOAT = @HAVE_MKFIFOAT@ HAVE_MKNOD = @HAVE_MKNOD@ HAVE_MKNODAT = @HAVE_MKNODAT@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ HAVE_OS_H = @HAVE_OS_H@ HAVE_PIPE2 = @HAVE_PIPE2@ HAVE_PREAD = @HAVE_PREAD@ HAVE_PTSNAME = @HAVE_PTSNAME@ HAVE_PWRITE = @HAVE_PWRITE@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TTYNAME_R = @HAVE_TTYNAME_R@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_USLEEP = @HAVE_USLEEP@ HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ HAVE_WCRTOMB = @HAVE_WCRTOMB@ HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE__BOOL = @HAVE__BOOL@ IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ INTLINCS = @INTLINCS@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ LIBTOOL = @LIBTOOL@ LIB_BLKID = @LIB_BLKID@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@ LOCALE_JA = @LOCALE_JA@ LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTALLOCA = @LTALLOCA@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ NEXT_WCTYPE_H = @NEXT_WCTYPE_H@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OS = @OS@ OS_LIBS = @OS_LIBS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PARTEDLDFLAGS = @PARTEDLDFLAGS@ PARTED_LIBS = @PARTED_LIBS@ PARTED_USABLE_TEST_DIR = @PARTED_USABLE_TEST_DIR@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POSUB = @POSUB@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PRIPTR_PREFIX = @PRIPTR_PREFIX@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REISER_LIBS = @REISER_LIBS@ REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FSTAT = @REPLACE_FSTAT@ REPLACE_FSTATAT = @REPLACE_FSTATAT@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ REPLACE_MBRLEN = @REPLACE_MBRLEN@ REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ REPLACE_MBSINIT = @REPLACE_MBSINIT@ REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_OPENAT = @REPLACE_OPENAT@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALPATH = @REPLACE_REALPATH@ REPLACE_REMOVE = @REPLACE_REMOVE@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRNCAT = @REPLACE_STRNCAT@ REPLACE_STRNDUP = @REPLACE_STRNDUP@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ REPLACE_UNSETENV = @REPLACE_UNSETENV@ REPLACE_USLEEP = @REPLACE_USLEEP@ REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ SELINUX_LIBS = @SELINUX_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_NLS = @USE_NLS@ UUID_LIBS = @UUID_LIBS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_aux_dir = @abs_aux_dir@ 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@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ gltests_WITNESS = @gltests_WITNESS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ partedincludedir = -I$(top_srcdir)/include noinst_LTLIBRARIES = libhfs.la libhfs_la_SOURCES = hfs.c hfs.h \ probe.c probe.h \ cache.c cache.h \ advfs.c advfs.h \ file.c file.h \ reloc.c reloc.h \ advfs_plus.c advfs_plus.h \ file_plus.c file_plus.h \ reloc_plus.c reloc_plus.h \ journal.c journal.h INCLUDES = $(partedincludedir) $(INTLINCS) EXTRA_DIST = DOC HISTORY MAINTAINERCLEANFILES = Makefile.in all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libparted/fs/hfs/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu libparted/fs/hfs/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libhfs.la: $(libhfs_la_OBJECTS) $(libhfs_la_DEPENDENCIES) $(AM_V_CCLD)$(LINK) $(libhfs_la_OBJECTS) $(libhfs_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/advfs.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/advfs_plus.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cache.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_plus.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hfs.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/journal.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/probe.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reloc.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reloc_plus.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: $(HEADERS) $(SOURCES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstLTLIBRARIES cscopelist ctags \ distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: parted-2.3/libparted/fs/hfs/file_plus.c0000644000000000000000000001736111333731662015025 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 2004-2005, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef DISCOVER_ONLY #include #include #include #include #include #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ #include "hfs.h" #include "advfs_plus.h" #include "file_plus.h" /* Open the data fork of a file with its first eight extents and its CNID */ /* CNID and ext_desc must be in disc order, sect_nb in CPU order */ /* return null on failure */ HfsPPrivateFile* hfsplus_file_open (PedFileSystem *fs, HfsPNodeID CNID, HfsPExtDataRec ext_desc, PedSector sect_nb) { HfsPPrivateFile* file; file = (HfsPPrivateFile*) ped_malloc (sizeof (HfsPPrivateFile)); if (!file) return NULL; file->fs = fs; file->sect_nb = sect_nb; file->CNID = CNID; memcpy(file->first, ext_desc, sizeof (HfsPExtDataRec)); file->start_cache = 0; return file; } /* Close an HFS+ file */ void hfsplus_file_close (HfsPPrivateFile* file) { free (file); } /* warning : only works on data forks */ static int hfsplus_get_extent_containing (HfsPPrivateFile* file, unsigned int block, HfsPExtDataRec cache, uint32_t* ptr_start_cache) { uint8_t record[sizeof (HfsPExtentKey) + sizeof (HfsPExtDataRec)]; HfsPExtentKey search; HfsPExtentKey* ret_key = (HfsPExtentKey*) record; HfsPExtDescriptor* ret_cache = (HfsPExtDescriptor*) (record + sizeof (HfsPExtentKey)); HfsPPrivateFSData* priv_data = (HfsPPrivateFSData*) file->fs->type_specific; search.key_length = PED_CPU_TO_BE16 (sizeof (HfsPExtentKey) - 2); search.type = HFS_DATA_FORK; search.pad = 0; search.file_ID = file->CNID; search.start = PED_CPU_TO_BE32 (block); if (!hfsplus_btree_search (priv_data->extents_file, (HfsPPrivateGenericKey*) &search, record, sizeof (record), NULL)) return 0; if (ret_key->file_ID != search.file_ID || ret_key->type != search.type) return 0; memcpy (cache, ret_cache, sizeof(HfsPExtDataRec)); *ptr_start_cache = PED_BE32_TO_CPU (ret_key->start); return 1; } /* find a sub extent contained in the desired area */ /* and with the same starting point */ /* return 0 in sector_count on error, or the physical area */ /* on the volume corresponding to the logical area in the file */ static HfsPPrivateExtent hfsplus_file_find_extent (HfsPPrivateFile* file, PedSector sector, unsigned int nb) { HfsPPrivateExtent ret = {0,0}; HfsPPrivateFSData* priv_data = (HfsPPrivateFSData*) file->fs->type_specific; unsigned int sect_by_block = PED_BE32_TO_CPU ( priv_data->vh->block_size) / PED_SECTOR_SIZE_DEFAULT; unsigned int i, s, vol_block, size; PedSector sect_size; unsigned int block = sector / sect_by_block; unsigned int offset = sector % sect_by_block; /* in the 8 first extent */ for (s = 0, i = 0; i < HFSP_EXT_NB; i++) { if ((block >= s) && (block < s + PED_BE32_TO_CPU ( file->first[i].block_count))) { vol_block = (block - s) + PED_BE32_TO_CPU (file->first[i] .start_block); size = PED_BE32_TO_CPU (file->first[i].block_count) + s - block; goto plus_sector_found; } s += PED_BE32_TO_CPU (file->first[i].block_count); } /* in the 8 cached extent */ if (file->start_cache && block >= file->start_cache) for (s = file->start_cache, i = 0; i < HFSP_EXT_NB; i++) { if ((block >= s) && (block < s + PED_BE32_TO_CPU ( file->cache[i].block_count))) { vol_block = (block - s) + PED_BE32_TO_CPU (file->cache[i] .start_block); size = PED_BE32_TO_CPU (file->cache[i].block_count) + s - block; goto plus_sector_found; } s += PED_BE32_TO_CPU (file->cache[i].block_count); } /* update cache */ if (!hfsplus_get_extent_containing (file, block, file->cache, &(file->start_cache))) { ped_exception_throw ( PED_EXCEPTION_WARNING, PED_EXCEPTION_CANCEL, _("Could not update the extent cache for HFS+ file " "with CNID %X."), PED_BE32_TO_CPU(file->CNID)); return ret; /* ret == {0,0} */ } /* ret == {0,0} */ PED_ASSERT(file->start_cache && block >= file->start_cache, return ret); for (s = file->start_cache, i = 0; i < HFSP_EXT_NB; i++) { if ((block >= s) && (block < s + PED_BE32_TO_CPU ( file->cache[i].block_count))) { vol_block = (block - s) + PED_BE32_TO_CPU (file->cache[i] .start_block); size = PED_BE32_TO_CPU (file->cache[i].block_count) + s - block; goto plus_sector_found; } s += PED_BE32_TO_CPU (file->cache[i].block_count); } return ret; plus_sector_found: sect_size = (PedSector) size * sect_by_block - offset; ret.start_sector = vol_block * sect_by_block + offset; ret.sector_count = (sect_size < nb) ? sect_size : nb; return ret; } int hfsplus_file_read(HfsPPrivateFile* file, void *buf, PedSector sector, unsigned int nb) { HfsPPrivateExtent phy_area; HfsPPrivateFSData* priv_data = (HfsPPrivateFSData*) file->fs->type_specific; char *b = buf; if (sector+nb < sector /* detect overflow */ || sector+nb > file->sect_nb) /* out of file */ { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Trying to read HFS+ file with CNID %X behind EOF."), PED_BE32_TO_CPU(file->CNID)); return 0; } while (nb) { phy_area = hfsplus_file_find_extent(file, sector, nb); if (phy_area.sector_count == 0) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Could not find sector %lli of HFS+ file " "with CNID %X."), sector, PED_BE32_TO_CPU(file->CNID)); return 0; } if (!ped_geometry_read(priv_data->plus_geom, b, phy_area.start_sector, phy_area.sector_count)) return 0; nb -= phy_area.sector_count; /* < nb anyway ... */ sector += phy_area.sector_count; b += phy_area.sector_count * PED_SECTOR_SIZE_DEFAULT; } return 1; } int hfsplus_file_write(HfsPPrivateFile* file, void *buf, PedSector sector, unsigned int nb) { HfsPPrivateExtent phy_area; HfsPPrivateFSData* priv_data = (HfsPPrivateFSData*) file->fs->type_specific; char *b = buf; if (sector+nb < sector /* detect overflow */ || sector+nb > file->sect_nb) /* out of file */ { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Trying to write HFS+ file with CNID %X behind EOF."), PED_BE32_TO_CPU(file->CNID)); return 0; } while (nb) { phy_area = hfsplus_file_find_extent(file, sector, nb); if (phy_area.sector_count == 0) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Could not find sector %lli of HFS+ file " "with CNID %X."), sector, PED_BE32_TO_CPU(file->CNID)); return 0; } if (!ped_geometry_write(priv_data->plus_geom, b, phy_area.start_sector, phy_area.sector_count)) return 0; nb -= phy_area.sector_count; /* < nb anyway ... */ sector += phy_area.sector_count; b += phy_area.sector_count * PED_SECTOR_SIZE_DEFAULT; } return 1; } #endif /* !DISCOVER_ONLY */ parted-2.3/libparted/fs/hfs/file.c0000644000000000000000000001422511333731662013756 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 2004-2005, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef DISCOVER_ONLY #include #include #include #include #include #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ #include "hfs.h" #include "advfs.h" #include "file.h" /* Open the data fork of a file with its first three extents and its CNID */ HfsPrivateFile* hfs_file_open (PedFileSystem *fs, uint32_t CNID, HfsExtDataRec ext_desc, PedSector sect_nb) { HfsPrivateFile* file; file = (HfsPrivateFile*) ped_malloc (sizeof (HfsPrivateFile)); if (!file) return NULL; file->fs = fs; file->sect_nb = sect_nb; file->CNID = CNID; memcpy(file->first, ext_desc, sizeof (HfsExtDataRec)); file->start_cache = 0; return file; } /* Close an HFS file */ void hfs_file_close (HfsPrivateFile* file) { free (file); } /* warning : only works on data forks */ static int hfs_get_extent_containing (HfsPrivateFile* file, unsigned int block, HfsExtDataRec cache, uint16_t* ptr_start_cache) { uint8_t record[sizeof (HfsExtentKey) + sizeof (HfsExtDataRec)]; HfsExtentKey search; HfsExtentKey* ret_key = (HfsExtentKey*) record; HfsExtDescriptor* ret_cache = (HfsExtDescriptor*) (record + sizeof (HfsExtentKey)); HfsPrivateFSData* priv_data = (HfsPrivateFSData*) file->fs->type_specific; search.key_length = sizeof (HfsExtentKey) - 1; search.type = HFS_DATA_FORK; search.file_ID = file->CNID; search.start = PED_CPU_TO_BE16 (block); if (!hfs_btree_search (priv_data->extent_file, (HfsPrivateGenericKey*) &search, record, sizeof (record), NULL)) return 0; if (ret_key->file_ID != search.file_ID || ret_key->type != search.type) return 0; memcpy (cache, ret_cache, sizeof(HfsExtDataRec)); *ptr_start_cache = PED_BE16_TO_CPU (ret_key->start); return 1; } /* find and return the nth sector of a file */ /* return 0 on error */ static PedSector hfs_file_find_sector (HfsPrivateFile* file, PedSector sector) { HfsPrivateFSData* priv_data = (HfsPrivateFSData*) file->fs->type_specific; unsigned int sect_by_block = PED_BE32_TO_CPU ( priv_data->mdb->block_size) / PED_SECTOR_SIZE_DEFAULT; unsigned int i, s, vol_block; unsigned int block = sector / sect_by_block; unsigned int offset = sector % sect_by_block; /* in the three first extent */ for (s = 0, i = 0; i < HFS_EXT_NB; i++) { if ((block >= s) && ( block < s + PED_BE16_TO_CPU ( file->first[i].block_count))) { vol_block = (block - s) + PED_BE16_TO_CPU ( file->first[i].start_block); goto sector_found; } s += PED_BE16_TO_CPU (file->first[i].block_count); } /* in the three cached extent */ if (file->start_cache && block >= file->start_cache) for (s = file->start_cache, i = 0; i < HFS_EXT_NB; i++) { if ((block >= s) && (block < s + PED_BE16_TO_CPU ( file->cache[i].block_count))) { vol_block = (block - s) + PED_BE16_TO_CPU ( file->cache[i].start_block); goto sector_found; } s += PED_BE16_TO_CPU (file->cache[i].block_count); } /* update cache */ if (!hfs_get_extent_containing (file, block, file->cache, &(file->start_cache))) { ped_exception_throw ( PED_EXCEPTION_WARNING, PED_EXCEPTION_CANCEL, _("Could not update the extent cache for HFS file with " "CNID %X."), PED_BE32_TO_CPU(file->CNID)); return 0; } /* in the three cached extent */ PED_ASSERT(file->start_cache && block >= file->start_cache, return 0); for (s = file->start_cache, i = 0; i < HFS_EXT_NB; i++) { if ((block >= s) && (block < s + PED_BE16_TO_CPU ( file->cache[i].block_count))) { vol_block = (block - s) + PED_BE16_TO_CPU ( file->cache[i].start_block); goto sector_found; } s += PED_BE16_TO_CPU (file->cache[i].block_count); } return 0; sector_found: return (PedSector) PED_BE16_TO_CPU (priv_data->mdb->start_block) + (PedSector) vol_block * sect_by_block + offset; } /* Read the nth sector of a file */ /* return 0 on error */ int hfs_file_read_sector (HfsPrivateFile* file, void *buf, PedSector sector) { PedSector abs_sector; if (sector >= file->sect_nb) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Trying to read HFS file with CNID %X behind EOF."), PED_BE32_TO_CPU(file->CNID)); return 0; } abs_sector = hfs_file_find_sector (file, sector); if (!abs_sector) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Could not find sector %lli of HFS file with " "CNID %X."), sector, PED_BE32_TO_CPU(file->CNID)); return 0; } return ped_geometry_read (file->fs->geom, buf, abs_sector, 1); } /* Write the nth sector of a file */ /* return 0 on error */ int hfs_file_write_sector (HfsPrivateFile* file, void *buf, PedSector sector) { PedSector abs_sector; if (sector >= file->sect_nb) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Trying to write HFS file with CNID %X behind EOF."), PED_BE32_TO_CPU(file->CNID)); return 0; } abs_sector = hfs_file_find_sector (file, sector); if (!abs_sector) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Could not find sector %lli of HFS file with " "CNID %X."), sector, PED_BE32_TO_CPU(file->CNID)); return 0; } return ped_geometry_write (file->fs->geom, buf, abs_sector, 1); } #endif /* !DISCOVER_ONLY */ parted-2.3/libparted/fs/hfs/reloc_plus.h0000644000000000000000000000215711333731662015214 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 2004, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _RELOC_PLUS_H #define _RELOC_PLUS_H #include #include #include #include "hfs.h" int hfsplus_update_vh (PedFileSystem *fs); int hfsplus_pack_free_space_from_block (PedFileSystem *fs, unsigned int fblock, PedTimer* timer, unsigned int to_free); #endif /* _RELOC_PLUS_H */ parted-2.3/libparted/fs/hfs/hfs.c0000644000000000000000000011401511333731662013615 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 2000, 2003-2005, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Author : Guillaume Knispel Report bug to */ #include #include #include #include #include #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ #include "hfs.h" #include "probe.h" uint8_t* hfs_block = NULL; uint8_t* hfsp_block = NULL; unsigned hfs_block_count; unsigned hfsp_block_count; #define HFS_BLOCK_SIZES ((int[2]){512, 0}) #define HFSP_BLOCK_SIZES ((int[2]){512, 0}) #define HFSX_BLOCK_SIZES ((int[2]){512, 0}) #ifndef DISCOVER_ONLY #include "file.h" #include "reloc.h" #include "advfs.h" static PedFileSystemType hfs_type; static PedFileSystemType hfsplus_type; /* ----- HFS ----- */ /* This is a very unundoable operation */ /* Maybe I shouldn't touch the alternate MDB ? */ /* Anyway clobber is call before other fs creation */ /* So this is a non-issue */ static int hfs_clobber (PedGeometry* geom) { uint8_t buf[PED_SECTOR_SIZE_DEFAULT]; memset (buf, 0, PED_SECTOR_SIZE_DEFAULT); /* destroy boot blocks, mdb, alternate mdb ... */ return (!!ped_geometry_write (geom, buf, 0, 1)) & (!!ped_geometry_write (geom, buf, 1, 1)) & (!!ped_geometry_write (geom, buf, 2, 1)) & (!!ped_geometry_write (geom, buf, geom->length - 2, 1)) & (!!ped_geometry_write (geom, buf, geom->length - 1, 1)) & (!!ped_geometry_sync (geom)); } static PedFileSystem* hfs_open (PedGeometry* geom) { uint8_t buf[PED_SECTOR_SIZE_DEFAULT]; PedFileSystem* fs; HfsMasterDirectoryBlock* mdb; HfsPrivateFSData* priv_data; if (!hfsc_can_use_geom (geom)) return NULL; /* Read MDB */ if (!ped_geometry_read (geom, buf, 2, 1)) return NULL; /* Allocate memory */ fs = (PedFileSystem*) ped_malloc (sizeof (PedFileSystem)); if (!fs) goto ho; mdb = (HfsMasterDirectoryBlock*) ped_malloc (sizeof (HfsMasterDirectoryBlock)); if (!mdb) goto ho_fs; priv_data = (HfsPrivateFSData*) ped_malloc (sizeof (HfsPrivateFSData)); if (!priv_data) goto ho_mdb; memcpy (mdb, buf, sizeof (HfsMasterDirectoryBlock)); /* init structures */ priv_data->mdb = mdb; priv_data->bad_blocks_loaded = 0; priv_data->bad_blocks_xtent_nb = 0; priv_data->bad_blocks_xtent_list = NULL; priv_data->extent_file = hfs_file_open (fs, PED_CPU_TO_BE32 (HFS_XTENT_ID), mdb->extents_file_rec, PED_CPU_TO_BE32 (mdb->extents_file_size) / PED_SECTOR_SIZE_DEFAULT); if (!priv_data->extent_file) goto ho_pd; priv_data->catalog_file = hfs_file_open (fs, PED_CPU_TO_BE32 (HFS_CATALOG_ID), mdb->catalog_file_rec, PED_CPU_TO_BE32 (mdb->catalog_file_size) / PED_SECTOR_SIZE_DEFAULT); if (!priv_data->catalog_file) goto ho_ce; /* Read allocation blocks */ if (!ped_geometry_read(geom, priv_data->alloc_map, PED_BE16_TO_CPU (mdb->volume_bitmap_block), ( PED_BE16_TO_CPU (mdb->total_blocks) + PED_SECTOR_SIZE_DEFAULT * 8 - 1 ) / (PED_SECTOR_SIZE_DEFAULT * 8) ) ) goto ho_cf; fs->type = &hfs_type; fs->geom = ped_geometry_duplicate (geom); if (!fs->geom) goto ho_cf; fs->type_specific = (void*) priv_data; fs->checked = ( PED_BE16_TO_CPU (mdb->volume_attributes) >> HFS_UNMOUNTED ) & 1; return fs; /*--- clean error handling ---*/ ho_cf: hfs_file_close(priv_data->catalog_file); ho_ce: hfs_file_close(priv_data->extent_file); ho_pd: free(priv_data); ho_mdb: free(mdb); ho_fs: free(fs); ho: return NULL; } static int hfs_close (PedFileSystem *fs) { HfsPrivateFSData* priv_data = (HfsPrivateFSData*) fs->type_specific; hfs_file_close (priv_data->extent_file); hfs_file_close (priv_data->catalog_file); if (priv_data->bad_blocks_loaded) hfs_free_bad_blocks_list (priv_data->bad_blocks_xtent_list); free (priv_data->mdb); free (priv_data); ped_geometry_destroy (fs->geom); free (fs); return 1; } static PedConstraint* hfs_get_resize_constraint (const PedFileSystem *fs) { PedDevice* dev = fs->geom->dev; PedAlignment start_align; PedGeometry start_sector; PedGeometry full_dev; PedSector min_size; if (!ped_alignment_init (&start_align, fs->geom->start, 0)) return NULL; if (!ped_geometry_init (&start_sector, dev, fs->geom->start, 1)) return NULL; if (!ped_geometry_init (&full_dev, dev, 0, dev->length - 1)) return NULL; /* 2 = last two sectors (alternate MDB and unused sector) */ min_size = hfs_get_empty_end(fs) + 2; if (min_size == 2) return NULL; return ped_constraint_new (&start_align, ped_alignment_any, &start_sector, &full_dev, min_size, fs->geom->length); } static int hfs_resize (PedFileSystem* fs, PedGeometry* geom, PedTimer* timer) { uint8_t buf[PED_SECTOR_SIZE_DEFAULT]; unsigned int nblock, nfree; unsigned int block, to_free; HfsPrivateFSData* priv_data; HfsMasterDirectoryBlock* mdb; int resize = 1; unsigned int hfs_sect_block; PedSector hgee; /* check preconditions */ PED_ASSERT (fs != NULL, return 0); PED_ASSERT (fs->geom != NULL, return 0); PED_ASSERT (geom != NULL, return 0); #ifdef DEBUG PED_ASSERT ((hgee = hfs_get_empty_end(fs)) != 0, return 0); #else if ((hgee = hfs_get_empty_end(fs)) == 0) return 0; #endif PED_ASSERT ((hgee = hfs_get_empty_end(fs)) != 0, return 0); if (ped_geometry_test_equal(fs->geom, geom)) return 1; priv_data = (HfsPrivateFSData*) fs->type_specific; mdb = priv_data->mdb; hfs_sect_block = PED_BE32_TO_CPU (mdb->block_size) / PED_SECTOR_SIZE_DEFAULT; if (fs->geom->start != geom->start || geom->length > fs->geom->length || geom->length < hgee + 2) { ped_exception_throw ( PED_EXCEPTION_NO_FEATURE, PED_EXCEPTION_CANCEL, _("Sorry, HFS cannot be resized that way yet.")); return 0; } /* Flush caches */ if (!ped_geometry_sync(fs->geom)) return 0; /* Clear the unmounted bit */ mdb->volume_attributes &= PED_CPU_TO_BE16 (~( 1 << HFS_UNMOUNTED )); if (!ped_geometry_read (fs->geom, buf, 2, 1)) return 0; memcpy (buf, mdb, sizeof (HfsMasterDirectoryBlock)); if ( !ped_geometry_write (fs->geom, buf, 2, 1) || !ped_geometry_sync (fs->geom)) return 0; ped_timer_reset (timer); ped_timer_set_state_name(timer, _("shrinking")); ped_timer_update(timer, 0.0); /* relocate data */ to_free = ( fs->geom->length - geom->length + hfs_sect_block - 1 ) / hfs_sect_block ; block = hfs_find_start_pack (fs, to_free); if (!hfs_pack_free_space_from_block (fs, block, timer, to_free)) { resize = 0; ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Data relocation has failed.")); goto write_MDB; } /* Calculate new block number and other MDB field */ nblock = ( geom->length - (PED_BE16_TO_CPU (mdb->start_block) + 2) ) / hfs_sect_block; nfree = PED_BE16_TO_CPU (mdb->free_blocks) - ( PED_BE16_TO_CPU (mdb->total_blocks) - nblock ); /* Check that all block after future end are really free */ for (block = nblock; block < PED_BE16_TO_CPU (mdb->total_blocks); block++) { if (TST_BLOC_OCCUPATION(priv_data->alloc_map,block)) { resize = 0; ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Data relocation left some data in the end " "of the volume.")); goto write_MDB; } } /* Mark out of volume blocks as used (broken implementations compatibility) */ for ( block = nblock; block < (1 << 16); ++block) SET_BLOC_OCCUPATION(priv_data->alloc_map,block); /* save the allocation map I do not write until start of allocation blocks but only until pre-resize end of bitmap blocks because the specifications do _not_ assert that everything until allocation blocks is boot, mdb and alloc */ ped_geometry_write(fs->geom, priv_data->alloc_map, PED_BE16_TO_CPU (priv_data->mdb->volume_bitmap_block), ( PED_BE16_TO_CPU (priv_data->mdb->total_blocks) + PED_SECTOR_SIZE_DEFAULT * 8 - 1) / (PED_SECTOR_SIZE_DEFAULT * 8)); /* Update geometry */ if (resize) { /* update in fs structure */ if (PED_BE16_TO_CPU (mdb->next_allocation) >= nblock) mdb->next_allocation = PED_CPU_TO_BE16 (0); mdb->total_blocks = PED_CPU_TO_BE16 (nblock); mdb->free_blocks = PED_CPU_TO_BE16 (nfree); /* update parted structure */ fs->geom->length = geom->length; fs->geom->end = fs->geom->start + geom->length - 1; } /* Set the unmounted bit */ mdb->volume_attributes |= PED_CPU_TO_BE16 ( 1 << HFS_UNMOUNTED ); /* Effective write */ write_MDB: ped_timer_set_state_name(timer,_("writing HFS Master Directory Block")); if (!hfs_update_mdb(fs)) { ped_geometry_sync(geom); return 0; } if (!ped_geometry_sync(geom)) return 0; ped_timer_update(timer, 1.0); return (resize); } /* ----- HFS+ ----- */ #include "file_plus.h" #include "advfs_plus.h" #include "reloc_plus.h" #include "journal.h" static int hfsplus_clobber (PedGeometry* geom) { unsigned int i = 1; uint8_t buf[PED_SECTOR_SIZE_DEFAULT]; HfsMasterDirectoryBlock *mdb; mdb = (HfsMasterDirectoryBlock *) buf; if (!ped_geometry_read (geom, buf, 2, 1)) return 0; if (PED_BE16_TO_CPU (mdb->signature) == HFS_SIGNATURE) { /* embedded hfs+ */ PedGeometry *embedded; i = PED_BE32_TO_CPU(mdb->block_size) / PED_SECTOR_SIZE_DEFAULT; embedded = ped_geometry_new ( geom->dev, (PedSector) geom->start + PED_BE16_TO_CPU (mdb->start_block) + (PedSector) PED_BE16_TO_CPU ( mdb->old_new.embedded.location.start_block ) * i, (PedSector) PED_BE16_TO_CPU ( mdb->old_new.embedded.location.block_count ) * i ); if (!embedded) i = 0; else { i = hfs_clobber (embedded); ped_geometry_destroy (embedded); } } /* non-embedded or envelop destroy as hfs */ return ( hfs_clobber (geom) && i ); } static int hfsplus_close (PedFileSystem *fs) { HfsPPrivateFSData* priv_data = (HfsPPrivateFSData*) fs->type_specific; if (priv_data->bad_blocks_loaded) hfsplus_free_bad_blocks_list(priv_data->bad_blocks_xtent_list); free(priv_data->alloc_map); free(priv_data->dirty_alloc_map); hfsplus_file_close (priv_data->allocation_file); hfsplus_file_close (priv_data->attributes_file); hfsplus_file_close (priv_data->catalog_file); hfsplus_file_close (priv_data->extents_file); if (priv_data->free_geom) ped_geometry_destroy (priv_data->plus_geom); if (priv_data->wrapper) hfs_close(priv_data->wrapper); ped_geometry_destroy (fs->geom); free(priv_data->vh); free(priv_data); free(fs); return 1; } static PedFileSystem* hfsplus_open (PedGeometry* geom) { uint8_t buf[PED_SECTOR_SIZE_DEFAULT]; PedFileSystem* fs; HfsPVolumeHeader* vh; HfsPPrivateFSData* priv_data; PedGeometry* wrapper_geom; unsigned int map_sectors; if (!hfsc_can_use_geom (geom)) return NULL; fs = (PedFileSystem*) ped_malloc (sizeof (PedFileSystem)); if (!fs) goto hpo; vh = (HfsPVolumeHeader*) ped_malloc (sizeof (HfsPVolumeHeader)); if (!vh) goto hpo_fs; priv_data = (HfsPPrivateFSData*)ped_malloc (sizeof (HfsPPrivateFSData)); if (!priv_data) goto hpo_vh; fs->geom = ped_geometry_duplicate (geom); if (!fs->geom) goto hpo_pd; fs->type_specific = (void*) priv_data; if ((wrapper_geom = hfs_and_wrapper_probe (geom))) { HfsPrivateFSData* hfs_priv_data; PedSector abs_sect, length; unsigned int bs; ped_geometry_destroy (wrapper_geom); priv_data->wrapper = hfs_open(geom); if (!priv_data->wrapper) goto hpo_gm; hfs_priv_data = (HfsPrivateFSData*) priv_data->wrapper->type_specific; bs = PED_BE32_TO_CPU (hfs_priv_data->mdb->block_size) / PED_SECTOR_SIZE_DEFAULT; abs_sect = (PedSector) geom->start + (PedSector) PED_BE16_TO_CPU ( hfs_priv_data->mdb->start_block) + (PedSector) PED_BE16_TO_CPU ( hfs_priv_data->mdb->old_new .embedded.location.start_block ) * bs; length = (PedSector) PED_BE16_TO_CPU ( hfs_priv_data->mdb->old_new .embedded.location.block_count) * bs; priv_data->plus_geom = ped_geometry_new (geom->dev, abs_sect, length); if (!priv_data->plus_geom) goto hpo_wr; priv_data->free_geom = 1; } else { priv_data->wrapper = NULL; priv_data->plus_geom = fs->geom; priv_data->free_geom = 0; } if (!ped_geometry_read (priv_data->plus_geom, buf, 2, 1)) goto hpo_pg; memcpy (vh, buf, sizeof (HfsPVolumeHeader)); priv_data->vh = vh; if (vh->signature != PED_CPU_TO_BE16(HFSP_SIGNATURE) && vh->signature != PED_CPU_TO_BE16(HFSX_SIGNATURE)) { ped_exception_throw ( PED_EXCEPTION_BUG, PED_EXCEPTION_CANCEL, _("No valid HFS[+X] signature has been found while " "opening.")); goto hpo_pg; } if (vh->signature == PED_CPU_TO_BE16(HFSP_SIGNATURE) && vh->version != PED_CPU_TO_BE16(HFSP_VERSION)) { if (ped_exception_throw ( PED_EXCEPTION_NO_FEATURE, PED_EXCEPTION_IGNORE_CANCEL, _("Version %d of HFS+ isn't supported."), PED_BE16_TO_CPU(vh->version)) != PED_EXCEPTION_IGNORE) goto hpo_pg; } if (vh->signature == PED_CPU_TO_BE16(HFSX_SIGNATURE) && vh->version != PED_CPU_TO_BE16(HFSX_VERSION)) { if (ped_exception_throw ( PED_EXCEPTION_NO_FEATURE, PED_EXCEPTION_IGNORE_CANCEL, _("Version %d of HFSX isn't supported."), PED_BE16_TO_CPU(vh->version)) != PED_EXCEPTION_IGNORE) goto hpo_pg; } priv_data->jib_start_block = 0; priv_data->jl_start_block = 0; if (vh->attributes & PED_CPU_TO_BE32(1<bad_blocks_loaded = 0; priv_data->bad_blocks_xtent_nb = 0; priv_data->bad_blocks_xtent_list = NULL; priv_data->extents_file = hfsplus_file_open (fs, PED_CPU_TO_BE32 (HFS_XTENT_ID), vh->extents_file.extents, PED_BE64_TO_CPU ( vh->extents_file.logical_size ) / PED_SECTOR_SIZE_DEFAULT); if (!priv_data->extents_file) goto hpo_pg; priv_data->catalog_file = hfsplus_file_open (fs, PED_CPU_TO_BE32 (HFS_CATALOG_ID), vh->catalog_file.extents, PED_BE64_TO_CPU ( vh->catalog_file.logical_size ) / PED_SECTOR_SIZE_DEFAULT); if (!priv_data->catalog_file) goto hpo_ce; priv_data->attributes_file = hfsplus_file_open (fs, PED_CPU_TO_BE32 (HFSP_ATTRIB_ID), vh->attributes_file.extents, PED_BE64_TO_CPU ( vh->attributes_file.logical_size) / PED_SECTOR_SIZE_DEFAULT); if (!priv_data->attributes_file) goto hpo_cc; map_sectors = ( PED_BE32_TO_CPU (vh->total_blocks) + PED_SECTOR_SIZE_DEFAULT * 8 - 1 ) / (PED_SECTOR_SIZE_DEFAULT * 8); priv_data->dirty_alloc_map = (uint8_t*) ped_malloc ((map_sectors + 7) / 8); if (!priv_data->dirty_alloc_map) goto hpo_cl; memset(priv_data->dirty_alloc_map, 0, (map_sectors + 7) / 8); priv_data->alloc_map = (uint8_t*) ped_malloc (map_sectors * PED_SECTOR_SIZE_DEFAULT); if (!priv_data->alloc_map) goto hpo_dm; priv_data->allocation_file = hfsplus_file_open (fs, PED_CPU_TO_BE32 (HFSP_ALLOC_ID), vh->allocation_file.extents, PED_BE64_TO_CPU ( vh->allocation_file.logical_size) / PED_SECTOR_SIZE_DEFAULT); if (!priv_data->allocation_file) goto hpo_am; if (!hfsplus_file_read (priv_data->allocation_file, priv_data->alloc_map, 0, map_sectors)) { hfsplus_close(fs); return NULL; } fs->type = &hfsplus_type; fs->checked = ((PED_BE32_TO_CPU (vh->attributes) >> HFS_UNMOUNTED) & 1) && !((PED_BE32_TO_CPU (vh->attributes) >> HFSP_INCONSISTENT) & 1); return fs; /*--- clean error handling ---*/ hpo_am: free(priv_data->alloc_map); hpo_dm: free(priv_data->dirty_alloc_map); hpo_cl: hfsplus_file_close (priv_data->attributes_file); hpo_cc: hfsplus_file_close (priv_data->catalog_file); hpo_ce: hfsplus_file_close (priv_data->extents_file); hpo_pg: if (priv_data->free_geom) ped_geometry_destroy (priv_data->plus_geom); hpo_wr: if (priv_data->wrapper) hfs_close(priv_data->wrapper); hpo_gm: ped_geometry_destroy (fs->geom); hpo_pd: free(priv_data); hpo_vh: free(vh); hpo_fs: free(fs); hpo: return NULL; } static PedConstraint* hfsplus_get_resize_constraint (const PedFileSystem *fs) { PedDevice* dev = fs->geom->dev; PedAlignment start_align; PedGeometry start_sector; PedGeometry full_dev; PedSector min_size; if (!ped_alignment_init (&start_align, fs->geom->start, 0)) return NULL; if (!ped_geometry_init (&start_sector, dev, fs->geom->start, 1)) return NULL; if (!ped_geometry_init (&full_dev, dev, 0, dev->length - 1)) return NULL; min_size = hfsplus_get_min_size (fs); if (!min_size) return NULL; return ped_constraint_new (&start_align, ped_alignment_any, &start_sector, &full_dev, min_size, fs->geom->length); } static int hfsplus_volume_resize (PedFileSystem* fs, PedGeometry* geom, PedTimer* timer) { uint8_t buf[PED_SECTOR_SIZE_DEFAULT]; unsigned int nblock, nfree, mblock; unsigned int block, to_free, old_blocks; HfsPPrivateFSData* priv_data = (HfsPPrivateFSData*) fs->type_specific; HfsPVolumeHeader* vh = priv_data->vh; int resize = 1; unsigned int hfsp_sect_block = ( PED_BE32_TO_CPU (vh->block_size) / PED_SECTOR_SIZE_DEFAULT ); unsigned int map_sectors; old_blocks = PED_BE32_TO_CPU (vh->total_blocks); /* Flush caches */ if (!ped_geometry_sync(priv_data->plus_geom)) return 0; /* Clear the unmounted bit */ /* and set the implementation code (Apple Creator Code) */ vh->attributes &= PED_CPU_TO_BE32 (~( 1 << HFS_UNMOUNTED )); vh->last_mounted_version = PED_CPU_TO_BE32(HFSP_IMPL_Shnk); if (!ped_geometry_read (priv_data->plus_geom, buf, 2, 1)) return 0; memcpy (buf, vh, sizeof (HfsPVolumeHeader)); if ( !ped_geometry_write (priv_data->plus_geom, buf, 2, 1) || !ped_geometry_sync (priv_data->plus_geom)) return 0; ped_timer_reset (timer); ped_timer_set_state_name(timer, _("shrinking")); ped_timer_update(timer, 0.0); /* relocate data */ to_free = ( priv_data->plus_geom->length - geom->length + hfsp_sect_block - 1 ) / hfsp_sect_block; block = hfsplus_find_start_pack (fs, to_free); if (!hfsplus_pack_free_space_from_block (fs, block, timer, to_free)) { resize = 0; ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Data relocation has failed.")); goto write_VH; } /* Calculate new block number and other VH field */ /* nblock must be rounded _down_ */ nblock = geom->length / hfsp_sect_block; nfree = PED_BE32_TO_CPU (vh->free_blocks) - (old_blocks - nblock); /* free block readjustement is only needed when incorrect nblock was used by my previous implementation, so detect the case */ if (priv_data->plus_geom->length < old_blocks * ( PED_BE32_TO_CPU (vh->block_size) / PED_SECTOR_SIZE_DEFAULT) ) { if (priv_data->plus_geom->length % hfsp_sect_block == 1) nfree++; } /* Check that all block after future end are really free */ mblock = ( priv_data->plus_geom->length - 2 ) / hfsp_sect_block; if (mblock > old_blocks - 1) mblock = old_blocks - 1; for ( block = nblock; block < mblock; block++ ) { if (TST_BLOC_OCCUPATION(priv_data->alloc_map,block)) { resize = 0; ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Data relocation left some data at the end " "of the volume.")); goto write_VH; } } /* Mark out of volume blocks as used */ map_sectors = ( ( old_blocks + PED_SECTOR_SIZE_DEFAULT * 8 - 1 ) / (PED_SECTOR_SIZE_DEFAULT * 8) ) * (PED_SECTOR_SIZE_DEFAULT * 8); for ( block = nblock; block < map_sectors; ++block) SET_BLOC_OCCUPATION(priv_data->alloc_map, block); /* Update geometry */ if (resize) { /* update in fs structure */ if (PED_BE32_TO_CPU (vh->next_allocation) >= nblock) vh->next_allocation = PED_CPU_TO_BE32 (0); vh->total_blocks = PED_CPU_TO_BE32 (nblock); vh->free_blocks = PED_CPU_TO_BE32 (nfree); /* update parted structure */ priv_data->plus_geom->length = geom->length; priv_data->plus_geom->end = priv_data->plus_geom->start + geom->length - 1; } /* Effective write */ write_VH: /* lasts two sectors are allocated by the alternate VH and a reserved sector, and last block is always reserved */ block = (priv_data->plus_geom->length - 1) / hfsp_sect_block; if (block < PED_BE32_TO_CPU (vh->total_blocks)) SET_BLOC_OCCUPATION(priv_data->alloc_map, block); block = (priv_data->plus_geom->length - 2) / hfsp_sect_block; if (block < PED_BE32_TO_CPU (vh->total_blocks)) SET_BLOC_OCCUPATION(priv_data->alloc_map, block); SET_BLOC_OCCUPATION(priv_data->alloc_map, PED_BE32_TO_CPU (vh->total_blocks) - 1); /* Write the _old_ area to set out of volume blocks as used */ map_sectors = ( old_blocks + PED_SECTOR_SIZE_DEFAULT * 8 - 1 ) / (PED_SECTOR_SIZE_DEFAULT * 8); if (!hfsplus_file_write (priv_data->allocation_file, priv_data->alloc_map, 0, map_sectors)) { resize = 0; ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Error while writing the allocation file.")); } else { /* Write remaining part of allocation bitmap */ /* This is necessary to handle pre patch-11 and third party */ /* implementations */ memset(buf, 0xFF, PED_SECTOR_SIZE_DEFAULT); for (block = map_sectors; block < priv_data->allocation_file->sect_nb; ++block) { if (!hfsplus_file_write_sector ( priv_data->allocation_file, buf, block)) { ped_exception_throw ( PED_EXCEPTION_WARNING, PED_EXCEPTION_IGNORE, _("Error while writing the " "compatibility part of the " "allocation file.")); break; } } } ped_geometry_sync (priv_data->plus_geom); if (resize) { /* Set the unmounted bit and clear the inconsistent bit */ vh->attributes |= PED_CPU_TO_BE32 ( 1 << HFS_UNMOUNTED ); vh->attributes &= ~ PED_CPU_TO_BE32 ( 1 << HFSP_INCONSISTENT ); } ped_timer_set_state_name(timer, _("writing HFS+ Volume Header")); if (!hfsplus_update_vh(fs)) { ped_geometry_sync(priv_data->plus_geom); return 0; } if (!ped_geometry_sync(priv_data->plus_geom)) return 0; ped_timer_update(timer, 1.0); return (resize); } /* Update the HFS wrapper mdb and bad blocks file to reflect the new geometry of the embedded HFS+ volume */ static int hfsplus_wrapper_update (PedFileSystem* fs) { uint8_t node[PED_SECTOR_SIZE_DEFAULT]; HfsCPrivateLeafRec ref; HfsExtentKey key; HfsNodeDescriptor* node_desc = (HfsNodeDescriptor*) node; HfsExtentKey* ret_key; HfsExtDescriptor* ret_data; unsigned int i; HfsPPrivateFSData* priv_data = (HfsPPrivateFSData*) fs->type_specific; HfsPrivateFSData* hfs_priv_data = (HfsPrivateFSData*) priv_data->wrapper->type_specific; unsigned int hfs_sect_block = PED_BE32_TO_CPU (hfs_priv_data->mdb->block_size) / PED_SECTOR_SIZE_DEFAULT ; PedSector hfsplus_sect = (PedSector) PED_BE32_TO_CPU (priv_data->vh->total_blocks) * ( PED_BE32_TO_CPU (priv_data->vh->block_size) / PED_SECTOR_SIZE_DEFAULT ); unsigned int hfs_blocks_embedded = (hfsplus_sect + hfs_sect_block - 1) / hfs_sect_block; unsigned int hfs_blocks_embedded_old; /* update HFS wrapper MDB */ hfs_blocks_embedded_old = PED_BE16_TO_CPU ( hfs_priv_data->mdb->old_new .embedded.location.block_count ); hfs_priv_data->mdb->old_new.embedded.location.block_count = PED_CPU_TO_BE16 (hfs_blocks_embedded); /* maybe macOS will boot with this */ /* update : yes it does \o/ :) */ hfs_priv_data->mdb->free_blocks = PED_CPU_TO_BE16 ( PED_BE16_TO_CPU (hfs_priv_data->mdb->free_blocks) + hfs_blocks_embedded_old - hfs_blocks_embedded ); if (!hfs_update_mdb(priv_data->wrapper)) return 0; /* force reload bad block list */ if (hfs_priv_data->bad_blocks_loaded) { hfs_free_bad_blocks_list (hfs_priv_data->bad_blocks_xtent_list); hfs_priv_data->bad_blocks_xtent_list = NULL; hfs_priv_data->bad_blocks_xtent_nb = 0; hfs_priv_data->bad_blocks_loaded = 0; } /* clean HFS wrapper allocation map */ for (i = PED_BE16_TO_CPU ( hfs_priv_data->mdb->old_new.embedded .location.start_block ) + hfs_blocks_embedded; i < PED_BE16_TO_CPU ( hfs_priv_data->mdb->old_new.embedded .location.start_block ) + hfs_blocks_embedded_old; i++ ) { CLR_BLOC_OCCUPATION(hfs_priv_data->alloc_map, i); } /* and save it */ if (!ped_geometry_write (fs->geom, hfs_priv_data->alloc_map, PED_BE16_TO_CPU ( hfs_priv_data->mdb->volume_bitmap_block ), ( PED_BE16_TO_CPU ( hfs_priv_data->mdb->total_blocks ) + PED_SECTOR_SIZE_DEFAULT * 8 - 1 ) / (PED_SECTOR_SIZE_DEFAULT * 8))) return 0; if (!ped_geometry_sync (fs->geom)) return 0; /* search and update the bad blocks file */ key.key_length = sizeof(key) - 1; key.type = HFS_DATA_FORK; key.file_ID = PED_CPU_TO_BE32 (HFS_BAD_BLOCK_ID); key.start = 0; if (!hfs_btree_search (hfs_priv_data->extent_file, (HfsPrivateGenericKey*) &key, NULL, 0, &ref)) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("An error occurred while looking for the mandatory " "bad blocks file.")); return 0; } if (!hfs_file_read_sector (hfs_priv_data->extent_file, node, ref.node_number)) return 0; ret_key = (HfsExtentKey*) (node + ref.record_pos); ret_data = (HfsExtDescriptor*) ( node + ref.record_pos + sizeof (HfsExtentKey) ); while (ret_key->type == key.type && ret_key->file_ID == key.file_ID) { for (i = 0; i < HFS_EXT_NB; i++) { if ( ret_data[i].start_block == hfs_priv_data->mdb->old_new .embedded.location.start_block) { ret_data[i].block_count = hfs_priv_data->mdb->old_new .embedded.location.block_count; /* found ! : update */ if (!hfs_file_write_sector ( hfs_priv_data->extent_file, node, ref.node_number) || !ped_geometry_sync(fs->geom)) return 0; return 1; } } if (ref.record_number < PED_BE16_TO_CPU (node_desc->rec_nb)) { ref.record_number++; } else { ref.node_number = PED_BE32_TO_CPU (node_desc->next); if (!ref.node_number || !hfs_file_read_sector(hfs_priv_data->extent_file, node, ref.node_number)) goto bb_not_found; ref.record_number = 1; } ref.record_pos = PED_BE16_TO_CPU (*((uint16_t *) (node + (PED_SECTOR_SIZE_DEFAULT - 2*ref.record_number)))); ret_key = (HfsExtentKey*) (node + ref.record_pos); ret_data = (HfsExtDescriptor*) ( node + ref.record_pos + sizeof (HfsExtentKey) ); } bb_not_found: /* not found : not a valid hfs+ wrapper : failure */ ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("It seems there is an error in the HFS wrapper: the bad " "blocks file doesn't contain the embedded HFS+ volume.")); return 0; } static int hfsplus_resize (PedFileSystem* fs, PedGeometry* geom, PedTimer* timer) { HfsPPrivateFSData* priv_data; PedTimer* timer_plus; PedGeometry* embedded_geom; PedSector hgms; /* check preconditions */ PED_ASSERT (fs != NULL, return 0); PED_ASSERT (fs->geom != NULL, return 0); PED_ASSERT (geom != NULL, return 0); PED_ASSERT (fs->geom->dev == geom->dev, return 0); #ifdef DEBUG PED_ASSERT ((hgms = hfsplus_get_min_size (fs)) != 0, return 0); #else if ((hgms = hfsplus_get_min_size (fs)) == 0) return 0; #endif if (ped_geometry_test_equal(fs->geom, geom)) return 1; priv_data = (HfsPPrivateFSData*) fs->type_specific; if (fs->geom->start != geom->start || geom->length > fs->geom->length || geom->length < hgms) { ped_exception_throw ( PED_EXCEPTION_NO_FEATURE, PED_EXCEPTION_CANCEL, _("Sorry, HFS+ cannot be resized that way yet.")); return 0; } if (priv_data->wrapper) { PedSector red, hgee; HfsPrivateFSData* hfs_priv_data = (HfsPrivateFSData*) priv_data->wrapper->type_specific; unsigned int hfs_sect_block = PED_BE32_TO_CPU (hfs_priv_data->mdb->block_size) / PED_SECTOR_SIZE_DEFAULT; /* There is a wrapper so we must calculate the new geometry of the embedded HFS+ volume */ red = ( (fs->geom->length - geom->length + hfs_sect_block - 1) / hfs_sect_block ) * hfs_sect_block; /* Can't we shrink the hfs+ volume by the desired size ? */ hgee = hfsplus_get_empty_end (fs); if (!hgee) return 0; if (red > priv_data->plus_geom->length - hgee) { /* No, shrink hfs+ by the greatest possible value */ hgee = ((hgee + hfs_sect_block - 1) / hfs_sect_block) * hfs_sect_block; red = priv_data->plus_geom->length - hgee; } embedded_geom = ped_geometry_new (geom->dev, priv_data->plus_geom->start, priv_data->plus_geom->length - red); /* There is a wrapper so the resize process is a two stages process (embedded resizing then wrapper resizing) : we create a sub timer */ ped_timer_reset (timer); ped_timer_set_state_name (timer, _("shrinking embedded HFS+ volume")); ped_timer_update(timer, 0.0); timer_plus = ped_timer_new_nested (timer, 0.98); } else { /* No wrapper : the desired geometry is the desired HFS+ volume geometry */ embedded_geom = geom; timer_plus = timer; } /* Resize the HFS+ volume */ if (!hfsplus_volume_resize (fs, embedded_geom, timer_plus)) { if (timer_plus != timer) ped_timer_destroy_nested (timer_plus); ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Resizing the HFS+ volume has failed.")); return 0; } if (priv_data->wrapper) { ped_geometry_destroy (embedded_geom); ped_timer_destroy_nested (timer_plus); ped_timer_set_state_name(timer, _("shrinking HFS wrapper")); timer_plus = ped_timer_new_nested (timer, 0.02); /* There's a wrapper : second stage = resizing it */ if (!hfsplus_wrapper_update (fs) || !hfs_resize (priv_data->wrapper, geom, timer_plus)) { ped_timer_destroy_nested (timer_plus); ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Updating the HFS wrapper has failed.")); return 0; } ped_timer_destroy_nested (timer_plus); } ped_timer_update(timer, 1.0); return 1; } #ifdef HFS_EXTRACT_FS /* The following is for debugging purpose only, NOT for packaging */ #include uint8_t* extract_buffer = NULL; static int hfs_extract_file(const char* filename, HfsPrivateFile* hfs_file) { FILE* fout; PedSector sect; fout = fopen(filename, "w"); if (!fout) return 0; for (sect = 0; sect < hfs_file->sect_nb; ++sect) { if (!hfs_file_read_sector(hfs_file, extract_buffer, sect)) goto err_close; if (!fwrite(extract_buffer, PED_SECTOR_SIZE_DEFAULT, 1, fout)) goto err_close; } return (fclose(fout) == 0 ? 1 : 0); err_close: fclose(fout); return 0; } static int hfs_extract_bitmap(const char* filename, PedFileSystem* fs) { HfsPrivateFSData* priv_data = (HfsPrivateFSData*) fs->type_specific; HfsMasterDirectoryBlock* mdb = priv_data->mdb; unsigned int count; FILE* fout; PedSector sect; fout = fopen(filename, "w"); if (!fout) return 0; for (sect = PED_BE16_TO_CPU(mdb->volume_bitmap_block); sect < PED_BE16_TO_CPU(mdb->start_block); sect += count) { uint16_t st_block = PED_BE16_TO_CPU(mdb->start_block); count = (st_block-sect) < BLOCK_MAX_BUFF ? (st_block-sect) : BLOCK_MAX_BUFF; if (!ped_geometry_read(fs->geom, extract_buffer, sect, count)) goto err_close; if (!fwrite (extract_buffer, count * PED_SECTOR_SIZE_DEFAULT, 1, fout)) goto err_close; } return (fclose(fout) == 0 ? 1 : 0); err_close: fclose(fout); return 0; } static int hfs_extract_mdb (const char* filename, PedFileSystem* fs) { FILE* fout; fout = fopen(filename, "w"); if (!fout) return 0; if (!ped_geometry_read(fs->geom, extract_buffer, 2, 1)) goto err_close; if (!fwrite(extract_buffer, PED_SECTOR_SIZE_DEFAULT, 1, fout)) goto err_close; return (fclose(fout) == 0 ? 1 : 0); err_close: fclose(fout); return 0; } static int hfs_extract (PedFileSystem* fs, PedTimer* timer) { HfsPrivateFSData* priv_data = (HfsPrivateFSData*) fs->type_specific; ped_exception_throw ( PED_EXCEPTION_INFORMATION, PED_EXCEPTION_OK, _("This is not a real %s check. This is going to extract " "special low level files for debugging purposes."), "HFS"); extract_buffer = ped_malloc(BLOCK_MAX_BUFF * PED_SECTOR_SIZE_DEFAULT); if (!extract_buffer) return 0; hfs_extract_mdb(HFS_MDB_FILENAME, fs); hfs_extract_file(HFS_CATALOG_FILENAME, priv_data->catalog_file); hfs_extract_file(HFS_EXTENTS_FILENAME, priv_data->extent_file); hfs_extract_bitmap(HFS_BITMAP_FILENAME, fs); free(extract_buffer); extract_buffer = NULL; return 0; /* nothing has been fixed by us ! */ } static int hfsplus_extract_file(const char* filename, HfsPPrivateFile* hfsp_file) { FILE* fout; unsigned int cp_sect; PedSector rem_sect; fout = fopen(filename, "w"); if (!fout) return 0; for (rem_sect = hfsp_file->sect_nb; rem_sect; rem_sect -= cp_sect) { cp_sect = rem_sect < BLOCK_MAX_BUFF ? rem_sect : BLOCK_MAX_BUFF; if (!hfsplus_file_read(hfsp_file, extract_buffer, hfsp_file->sect_nb - rem_sect, cp_sect)) goto err_close; if (!fwrite (extract_buffer, cp_sect * PED_SECTOR_SIZE_DEFAULT, 1, fout)) goto err_close; } return (fclose(fout) == 0 ? 1 : 0); err_close: fclose(fout); return 0; } static int hfsplus_extract_vh (const char* filename, PedFileSystem* fs) { HfsPPrivateFSData* priv_data = (HfsPPrivateFSData*) fs->type_specific; FILE* fout; PedGeometry* geom = priv_data->plus_geom; fout = fopen(filename, "w"); if (!fout) return 0; if (!ped_geometry_read(geom, extract_buffer, 2, 1)) goto err_close; if (!fwrite(extract_buffer, PED_SECTOR_SIZE_DEFAULT, 1, fout)) goto err_close; return (fclose(fout) == 0 ? 1 : 0); err_close: fclose(fout); return 0; } /* TODO : use the timer to report what is happening */ /* TODO : use exceptions to report errors */ static int hfsplus_extract (PedFileSystem* fs, PedTimer* timer) { HfsPPrivateFSData* priv_data = (HfsPPrivateFSData*) fs->type_specific; HfsPVolumeHeader* vh = priv_data->vh; HfsPPrivateFile* startup_file; if (priv_data->wrapper) { /* TODO : create nested timer */ hfs_extract (priv_data->wrapper, timer); } ped_exception_throw ( PED_EXCEPTION_INFORMATION, PED_EXCEPTION_OK, _("This is not a real %s check. This is going to extract " "special low level files for debugging purposes."), "HFS+"); extract_buffer = ped_malloc(BLOCK_MAX_BUFF * PED_SECTOR_SIZE_DEFAULT); if (!extract_buffer) return 0; hfsplus_extract_vh(HFSP_VH_FILENAME, fs); hfsplus_extract_file(HFSP_CATALOG_FILENAME, priv_data->catalog_file); hfsplus_extract_file(HFSP_EXTENTS_FILENAME, priv_data->extents_file); hfsplus_extract_file(HFSP_ATTRIB_FILENAME, priv_data->attributes_file); hfsplus_extract_file(HFSP_BITMAP_FILENAME, priv_data->allocation_file); startup_file = hfsplus_file_open(fs, PED_CPU_TO_BE32(HFSP_STARTUP_ID), vh->startup_file.extents, PED_BE64_TO_CPU ( vh->startup_file.logical_size) / PED_SECTOR_SIZE_DEFAULT); if (startup_file) { hfsplus_extract_file(HFSP_STARTUP_FILENAME, startup_file); hfsplus_file_close(startup_file); startup_file = NULL; } free(extract_buffer); extract_buffer = NULL; return 0; /* nothing has been fixed by us ! */ } #endif /* HFS_EXTRACT_FS */ #endif /* !DISCOVER_ONLY */ static PedFileSystemOps hfs_ops = { probe: hfs_probe, #ifndef DISCOVER_ONLY clobber: hfs_clobber, open: hfs_open, create: NULL, close: hfs_close, #ifndef HFS_EXTRACT_FS check: NULL, #else check: hfs_extract, #endif copy: NULL, resize: hfs_resize, get_create_constraint: NULL, get_resize_constraint: hfs_get_resize_constraint, get_copy_constraint: NULL, #else /* DISCOVER_ONLY */ clobber: NULL, open: NULL, create: NULL, close: NULL, check: NULL, copy: NULL, resize: NULL, get_create_constraint: NULL, get_resize_constraint: NULL, get_copy_constraint: NULL, #endif /* DISCOVER_ONLY */ }; static PedFileSystemOps hfsplus_ops = { probe: hfsplus_probe, #ifndef DISCOVER_ONLY clobber: hfsplus_clobber, open: hfsplus_open, create: NULL, close: hfsplus_close, #ifndef HFS_EXTRACT_FS check: NULL, #else check: hfsplus_extract, #endif copy: NULL, resize: hfsplus_resize, get_create_constraint: NULL, get_resize_constraint: hfsplus_get_resize_constraint, get_copy_constraint: NULL, #else /* DISCOVER_ONLY */ clobber: NULL, open: NULL, create: NULL, close: NULL, check: NULL, copy: NULL, resize: NULL, get_create_constraint: NULL, get_resize_constraint: NULL, get_copy_constraint: NULL, #endif /* DISCOVER_ONLY */ }; static PedFileSystemOps hfsx_ops = { probe: hfsx_probe, #ifndef DISCOVER_ONLY clobber: hfs_clobber, /* NOT hfsplus_clobber ! HFSX can't be embedded */ open: hfsplus_open, create: NULL, close: hfsplus_close, #ifndef HFS_EXTRACT_FS check: NULL, #else check: hfsplus_extract, #endif copy: NULL, resize: hfsplus_resize, get_create_constraint: NULL, get_resize_constraint: hfsplus_get_resize_constraint, get_copy_constraint: NULL, #else /* DISCOVER_ONLY */ clobber: NULL, open: NULL, create: NULL, close: NULL, check: NULL, copy: NULL, resize: NULL, get_create_constraint: NULL, get_resize_constraint: NULL, get_copy_constraint: NULL, #endif /* DISCOVER_ONLY */ }; static PedFileSystemType hfs_type = { next: NULL, ops: &hfs_ops, name: "hfs", block_sizes: HFS_BLOCK_SIZES }; static PedFileSystemType hfsplus_type = { next: NULL, ops: &hfsplus_ops, name: "hfs+", block_sizes: HFSP_BLOCK_SIZES }; static PedFileSystemType hfsx_type = { next: NULL, ops: &hfsx_ops, name: "hfsx", block_sizes: HFSX_BLOCK_SIZES }; void ped_file_system_hfs_init () { ped_file_system_type_register (&hfs_type); ped_file_system_type_register (&hfsplus_type); ped_file_system_type_register (&hfsx_type); } void ped_file_system_hfs_done () { ped_file_system_type_unregister (&hfs_type); ped_file_system_type_unregister (&hfsplus_type); ped_file_system_type_unregister (&hfsx_type); } parted-2.3/libparted/fs/hfs/advfs.h0000644000000000000000000000262711333731662014152 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 2004, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _ADVFS_H #define _ADVFS_H #include #include #include #include "hfs.h" int hfs_btree_search (HfsPrivateFile* b_tree_file, HfsPrivateGenericKey* key, void *record_out, unsigned int record_size, HfsCPrivateLeafRec* record_ref); void hfs_free_bad_blocks_list(HfsPrivateLinkExtent* first); int hfs_read_bad_blocks (const PedFileSystem *fs); int hfs_is_bad_block (const PedFileSystem *fs, unsigned int fblock); PedSector hfs_get_empty_end (const PedFileSystem *fs); unsigned int hfs_find_start_pack (const PedFileSystem *fs, unsigned int fblock); #endif /* _ADVFS_H */ parted-2.3/libparted/fs/hfs/probe.c0000644000000000000000000001504211333731662014144 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 2004-2005, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include #include #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ #include "hfs.h" #include "probe.h" int hfsc_can_use_geom (PedGeometry* geom) { PedDevice* dev; dev = geom->dev; PED_ASSERT (geom != NULL, return 0); PED_ASSERT (dev != NULL, return 0); if (dev->sector_size != PED_SECTOR_SIZE_DEFAULT) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Parted can't use HFS file systems on disks " "with a sector size not equal to %d bytes."), (int)PED_SECTOR_SIZE_DEFAULT ); return 0; } return 1; } /* Probe an HFS volume, detecting it even if it is in fact a wrapper to an HFS+ volume */ /* Used by hfsplus_probe and hfs_probe */ PedGeometry* hfs_and_wrapper_probe (PedGeometry* geom) { uint8_t buf[PED_SECTOR_SIZE_DEFAULT]; HfsMasterDirectoryBlock *mdb; PedGeometry* geom_ret; PedSector search, max; PED_ASSERT (geom != NULL, return NULL); PED_ASSERT (hfsc_can_use_geom (geom), return NULL); mdb = (HfsMasterDirectoryBlock *) buf; /* is 5 an intelligent value ? */ if ((geom->length < 5) || (!ped_geometry_read (geom, buf, 2, 1)) || (mdb->signature != PED_CPU_TO_BE16 (HFS_SIGNATURE)) ) return NULL; search = ((PedSector) PED_BE16_TO_CPU (mdb->start_block) + ((PedSector) PED_BE16_TO_CPU (mdb->total_blocks) * (PED_BE32_TO_CPU (mdb->block_size) / PED_SECTOR_SIZE_DEFAULT ))); max = search + (PED_BE32_TO_CPU (mdb->block_size) / PED_SECTOR_SIZE_DEFAULT); if (!(geom_ret = ped_geometry_new (geom->dev, geom->start, search + 2))) return NULL; for (; search < max; search++) { if (!ped_geometry_set (geom_ret, geom_ret->start, search + 2) || !ped_geometry_read (geom_ret, buf, search, 1)) break; if (mdb->signature == PED_CPU_TO_BE16 (HFS_SIGNATURE)) return geom_ret; } ped_geometry_destroy (geom_ret); return NULL; } PedGeometry* hfsplus_probe (PedGeometry* geom) { PedGeometry* geom_ret; uint8_t buf[PED_SECTOR_SIZE_DEFAULT]; PED_ASSERT (geom != NULL, return NULL); if (!hfsc_can_use_geom (geom)) return NULL; if ((geom_ret = hfs_and_wrapper_probe(geom))) { /* HFS+ is embedded in an HFS volume ? */ HfsMasterDirectoryBlock *mdb; mdb = (HfsMasterDirectoryBlock *) buf; if (!ped_geometry_read (geom, buf, 2, 1) || (mdb->old_new.embedded.signature != PED_CPU_TO_BE16 (HFSP_SIGNATURE))) { ped_geometry_destroy (geom_ret); return NULL; } else return geom_ret; } else { /* This is a standalone HFS+ volume ? */ PedSector search, max; HfsPVolumeHeader *vh; vh = (HfsPVolumeHeader *) buf; if ((geom->length < 5) || !ped_geometry_read (geom, buf, 2, 1) || (vh->signature != PED_CPU_TO_BE16 (HFSP_SIGNATURE))) return NULL; /* Correct range is indeed [ blocks*sz-2;(blocs+1)*sz-2 ( */ /* But previous versions of my implementation used to */ /* assume range is [(blocks-1)*sz-1;(blocks*sz) ( */ /* (blocks-1)*sz-1 has to be scanned last, because */ /* it can belong to a regular file */ max = ((PedSector) PED_BE32_TO_CPU (vh->total_blocks) + 1) * ( PED_BE32_TO_CPU (vh->block_size) / PED_SECTOR_SIZE_DEFAULT ) - 2; search = max - 2 * ( PED_BE32_TO_CPU (vh->block_size) / PED_SECTOR_SIZE_DEFAULT ) + 2; if (!(geom_ret = ped_geometry_new (geom->dev, geom->start, search + 2))) return NULL; for (; search < max; search++) { if (!ped_geometry_set (geom_ret, geom_ret->start, search + 2) || !ped_geometry_read (geom_ret, buf, search, 1)) break; if (vh->signature == PED_CPU_TO_BE16 (HFSP_SIGNATURE)) return geom_ret; } search = ((PedSector) PED_BE32_TO_CPU (vh->total_blocks) - 1) * ( PED_BE32_TO_CPU (vh->block_size) / PED_SECTOR_SIZE_DEFAULT ) - 1; if (!ped_geometry_set (geom_ret, geom_ret->start, search + 2) || !ped_geometry_read (geom_ret, buf, search, 1) || vh->signature != PED_CPU_TO_BE16 (HFSP_SIGNATURE)) { ped_geometry_destroy (geom_ret); return NULL; } else return geom_ret; } } PedGeometry* hfs_probe (PedGeometry* geom) { PedGeometry* geom_base; PedGeometry* geom_plus = NULL; PED_ASSERT (geom != NULL, return NULL); if (!hfsc_can_use_geom (geom)) return NULL; if ((geom_base = hfs_and_wrapper_probe(geom)) && (!(geom_plus = hfsplus_probe(geom_base)))) return geom_base; else { if (geom_base) ped_geometry_destroy (geom_base); if (geom_plus) ped_geometry_destroy (geom_plus); return NULL; } } PedGeometry* hfsx_probe (PedGeometry* geom) { PedGeometry* geom_ret; uint8_t buf[PED_SECTOR_SIZE_DEFAULT]; PedSector search, max; HfsPVolumeHeader *vh = (HfsPVolumeHeader *) buf; PED_ASSERT (geom != NULL, return NULL); if (!hfsc_can_use_geom (geom)) return NULL; if ((geom->length < 5) || !ped_geometry_read (geom, buf, 2, 1) || (vh->signature != PED_CPU_TO_BE16 (HFSX_SIGNATURE))) return NULL; /* unlike the hfs+ code, which should be kept compatible with my old previous implementations, we only care here about legal alternate VH positions, like TN1150 describes them */ max = ((PedSector) PED_BE32_TO_CPU (vh->total_blocks) + 1) * ( PED_BE32_TO_CPU (vh->block_size) / PED_SECTOR_SIZE_DEFAULT ) - 2; search = max - ( PED_BE32_TO_CPU (vh->block_size) / PED_SECTOR_SIZE_DEFAULT ); if (!(geom_ret = ped_geometry_new (geom->dev, geom->start, search + 2))) return NULL; for (; search < max; search++) { if (!ped_geometry_set (geom_ret, geom_ret->start, search + 2) || !ped_geometry_read (geom_ret, buf, search, 1)) break; if (vh->signature == PED_CPU_TO_BE16 (HFSX_SIGNATURE)) return geom_ret; } ped_geometry_destroy (geom_ret); return NULL; } parted-2.3/libparted/fs/hfs/reloc.c0000644000000000000000000004522011333731662014142 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 2004-2005, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef DISCOVER_ONLY #include #include #include #include #include #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ #include "hfs.h" #include "file.h" #include "advfs.h" #include "cache.h" #include "reloc.h" /* This function moves data of size blocks starting at block *ptr_fblock to block *ptr_to_fblock */ /* return new start or -1 on failure */ static int hfs_effect_move_extent (PedFileSystem *fs, unsigned int *ptr_fblock, unsigned int *ptr_to_fblock, unsigned int size) { HfsPrivateFSData* priv_data = (HfsPrivateFSData*) fs->type_specific; unsigned int i, ok = 0; unsigned int next_to_fblock; unsigned int start, stop; PED_ASSERT (hfs_block != NULL, return -1); PED_ASSERT (*ptr_to_fblock <= *ptr_fblock, return -1); /* quiet gcc */ start = stop = 0; /* Try to fit the extent AT or _BEFORE_ the wanted place, or then in the gap between dest and source. If failed try to fit the extent after source, for 2 pass relocation The extent is always copied in a non overlapping way */ /* Backward search */ /* 1 pass relocation AT or BEFORE *ptr_to_fblock */ if (*ptr_to_fblock != *ptr_fblock) { start = stop = *ptr_fblock < *ptr_to_fblock+size ? *ptr_fblock : *ptr_to_fblock+size; while (start && stop-start != size) { --start; if (TST_BLOC_OCCUPATION(priv_data->alloc_map,start)) stop = start; } ok = (stop-start == size); } /* Forward search */ /* 1 pass relocation in the gap merged with 2 pass reloc after source */ if (!ok && *ptr_to_fblock != *ptr_fblock) { start = stop = *ptr_to_fblock+1; while (stop < PED_BE16_TO_CPU(priv_data->mdb->total_blocks) && stop-start != size) { if (TST_BLOC_OCCUPATION(priv_data->alloc_map,stop)) start = stop + 1; ++stop; } ok = (stop-start == size); } /* new non overlapping room has been found ? */ if (ok) { /* enough room */ unsigned int j; unsigned int start_block = PED_BE16_TO_CPU (priv_data->mdb->start_block ); unsigned int block_sz = (PED_BE32_TO_CPU (priv_data->mdb->block_size) / PED_SECTOR_SIZE_DEFAULT); if (stop > *ptr_to_fblock && stop <= *ptr_fblock) /* Fit in the gap */ next_to_fblock = stop; else /* Before or after the gap */ next_to_fblock = *ptr_to_fblock; /* move blocks */ for (i = 0; i < size; /*i+=j*/) { PedSector abs_sector; unsigned int ai; j = size - i; j = (j < hfs_block_count) ? j : hfs_block_count ; abs_sector = start_block + (PedSector) (*ptr_fblock + i) * block_sz; if (!ped_geometry_read (fs->geom, hfs_block, abs_sector, block_sz * j)) return -1; abs_sector = start_block + (PedSector) (start + i) * block_sz; if (!ped_geometry_write (fs->geom,hfs_block,abs_sector, block_sz * j)) return -1; for (ai = i+j; i < ai; i++) { /* free source block */ CLR_BLOC_OCCUPATION(priv_data->alloc_map, *ptr_fblock + i); /* set dest block */ SET_BLOC_OCCUPATION(priv_data->alloc_map, start + i); } } if (!ped_geometry_sync_fast (fs->geom)) return -1; *ptr_fblock += size; *ptr_to_fblock = next_to_fblock; } else { if (*ptr_fblock != *ptr_to_fblock) /* not enough room, but try to continue */ ped_exception_throw (PED_EXCEPTION_WARNING, PED_EXCEPTION_IGNORE, _("An extent has not been relocated.")); start = *ptr_fblock; *ptr_fblock = *ptr_to_fblock = start + size; } return start; } /* Update MDB */ /* Return 0 if an error occurred */ /* Return 1 if everything ok */ int hfs_update_mdb (PedFileSystem *fs) { HfsPrivateFSData* priv_data = (HfsPrivateFSData*) fs->type_specific; uint8_t node[PED_SECTOR_SIZE_DEFAULT]; if (!ped_geometry_read (fs->geom, node, 2, 1)) return 0; memcpy (node, priv_data->mdb, sizeof (HfsMasterDirectoryBlock)); if ( !ped_geometry_write (fs->geom, node, 2, 1) || !ped_geometry_write (fs->geom, node, fs->geom->length - 2, 1) || !ped_geometry_sync_fast (fs->geom)) return 0; return 1; } /* Generic relocator */ /* replace previous hfs_do_move_* */ static int hfs_do_move (PedFileSystem* fs, unsigned int *ptr_src, unsigned int *ptr_dest, HfsCPrivateCache* cache, HfsCPrivateExtent* ref) { uint8_t node[PED_SECTOR_SIZE_DEFAULT]; HfsPrivateFSData* priv_data = (HfsPrivateFSData*) fs->type_specific; HfsPrivateFile* file; HfsExtDescriptor* extent; HfsCPrivateExtent* move; int new_start; new_start = hfs_effect_move_extent (fs, ptr_src, ptr_dest, ref->ext_length); if (new_start == -1) return -1; if (ref->ext_start != (unsigned) new_start) { /* Load, modify & save */ switch (ref->where) { /******** MDB *********/ case CR_PRIM_CAT : priv_data->catalog_file ->first[ref->ref_index].start_block = PED_CPU_TO_BE16(new_start); goto CR_PRIM; case CR_PRIM_EXT : priv_data->extent_file ->first[ref->ref_index].start_block = PED_CPU_TO_BE16(new_start); CR_PRIM : extent = ( HfsExtDescriptor* ) ( (uint8_t*)priv_data->mdb + ref->ref_offset ); extent[ref->ref_index].start_block = PED_CPU_TO_BE16(new_start); if (!hfs_update_mdb(fs)) return -1; break; /********* BTREE *******/ case CR_BTREE_EXT_CAT : if (priv_data->catalog_file ->cache[ref->ref_index].start_block == PED_CPU_TO_BE16(ref->ext_start)) priv_data->catalog_file ->cache[ref->ref_index].start_block = PED_CPU_TO_BE16(new_start); case CR_BTREE_EXT_0 : file = priv_data->extent_file; goto CR_BTREE; case CR_BTREE_CAT : file = priv_data->catalog_file; CR_BTREE: PED_ASSERT(ref->sect_by_block == 1 && ref->ref_offset < PED_SECTOR_SIZE_DEFAULT, return -1); if (!hfs_file_read_sector(file, node, ref->ref_block)) return -1; extent = ( HfsExtDescriptor* ) (node + ref->ref_offset); extent[ref->ref_index].start_block = PED_CPU_TO_BE16(new_start); if (!hfs_file_write_sector(file, node, ref->ref_block) || !ped_geometry_sync_fast (fs->geom)) return -1; break; /********** BUG ********/ default : ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("A reference to an extent comes from a place " "it should not. You should check the file " "system!")); return -1; break; } /* Update the cache */ move = hfsc_cache_move_extent(cache, ref->ext_start, new_start); if (!move) return -1; /* "cleanly" fail */ PED_ASSERT(move == ref, return -1); /* generate a bug */ } return new_start; } /* 0 error, 1 ok */ static int hfs_save_allocation(PedFileSystem* fs) { HfsPrivateFSData* priv_data = (HfsPrivateFSData*) fs->type_specific; unsigned int map_sectors; map_sectors = ( PED_BE16_TO_CPU (priv_data->mdb->total_blocks) + PED_SECTOR_SIZE_DEFAULT * 8 - 1 ) / (PED_SECTOR_SIZE_DEFAULT * 8); return ( ped_geometry_write (fs->geom, priv_data->alloc_map, PED_BE16_TO_CPU (priv_data->mdb->volume_bitmap_block), map_sectors) ); } /* This function moves an extent starting at block fblock to block to_fblock if there's enough room */ /* Return 1 if everything was fine */ /* Return -1 if an error occurred */ /* Return 0 if no extent was found */ /* Generic search thanks to the file system cache */ static int hfs_move_extent_starting_at (PedFileSystem *fs, unsigned int *ptr_fblock, unsigned int *ptr_to_fblock, HfsCPrivateCache* cache) { HfsCPrivateExtent* ref; unsigned int old_start, new_start; /* Reference search powered by the cache... */ /* This is the optimisation secret :) */ ref = hfsc_cache_search_extent(cache, *ptr_fblock); if (!ref) return 0; /* not found */ old_start = *ptr_fblock; new_start = hfs_do_move(fs, ptr_fblock, ptr_to_fblock, cache, ref); if (new_start == (unsigned int) -1) return -1; if (new_start > old_start) { /* detect 2 pass reloc */ new_start = hfs_do_move(fs,&new_start,ptr_to_fblock,cache,ref); if (new_start == (unsigned int) -1 || new_start > old_start) return -1; } /* allocation bitmap save is not atomic with data relocation */ /* so we only do it a few times, and without syncing */ /* The unmounted bit protect us anyway */ hfs_save_allocation(fs); return 1; } static int hfs_cache_from_mdb(HfsCPrivateCache* cache, PedFileSystem* fs, PedTimer* timer) { HfsPrivateFSData* priv_data = (HfsPrivateFSData*) fs->type_specific; HfsExtDescriptor* extent; unsigned int j; extent = priv_data->mdb->extents_file_rec; for (j = 0; j < HFS_EXT_NB; ++j) { if (!extent[j].block_count) break; if (!hfsc_cache_add_extent( cache, PED_BE16_TO_CPU(extent[j].start_block), PED_BE16_TO_CPU(extent[j].block_count), 0, /* unused for mdb */ ((uint8_t*)extent) - ((uint8_t*)priv_data->mdb), 1, /* load/save only 1 sector */ CR_PRIM_EXT, j ) ) return 0; } extent = priv_data->mdb->catalog_file_rec; for (j = 0; j < HFS_EXT_NB; ++j) { if (!extent[j].block_count) break; if (!hfsc_cache_add_extent( cache, PED_BE16_TO_CPU(extent[j].start_block), PED_BE16_TO_CPU(extent[j].block_count), 0, ((uint8_t*)extent) - ((uint8_t*)priv_data->mdb), 1, CR_PRIM_CAT, j ) ) return 0; } return 1; } static int hfs_cache_from_catalog(HfsCPrivateCache* cache, PedFileSystem* fs, PedTimer* timer) { HfsPrivateFSData* priv_data = (HfsPrivateFSData*) fs->type_specific; uint8_t node[PED_SECTOR_SIZE_DEFAULT]; HfsHeaderRecord* header; HfsNodeDescriptor* desc = (HfsNodeDescriptor*) node; HfsCatalogKey* catalog_key; HfsCatalog* catalog_data; HfsExtDescriptor* extent; unsigned int leaf_node, record_number; unsigned int i, j; if (!priv_data->catalog_file->sect_nb) { ped_exception_throw ( PED_EXCEPTION_INFORMATION, PED_EXCEPTION_OK, _("This HFS volume has no catalog file. " "This is very unusual!")); return 1; } if (!hfs_file_read_sector (priv_data->catalog_file, node, 0)) return 0; header = (HfsHeaderRecord*)(node + PED_BE16_TO_CPU(*((uint16_t*) (node+(PED_SECTOR_SIZE_DEFAULT-2))))); for (leaf_node = PED_BE32_TO_CPU (header->first_leaf_node); leaf_node; leaf_node = PED_BE32_TO_CPU (desc->next)) { if (!hfs_file_read_sector (priv_data->catalog_file, node, leaf_node)) return 0; record_number = PED_BE16_TO_CPU (desc->rec_nb); for (i = 1; i <= record_number; ++i) { /* undocumented alignement */ unsigned int skip; catalog_key = (HfsCatalogKey*) (node + PED_BE16_TO_CPU( *((uint16_t*)(node+(PED_SECTOR_SIZE_DEFAULT - 2*i))))); skip = (1 + catalog_key->key_length + 1) & ~1; catalog_data = (HfsCatalog*)( ((uint8_t*)catalog_key) + skip ); /* check for obvious error in FS */ if (((uint8_t*)catalog_key - node < HFS_FIRST_REC) || ((uint8_t*)catalog_data - node >= PED_SECTOR_SIZE_DEFAULT - 2 * (signed)(record_number+1))) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("The file system contains errors.")); return 0; } if (catalog_data->type != HFS_CAT_FILE) continue; extent = catalog_data->sel.file.extents_data; for (j = 0; j < HFS_EXT_NB; ++j) { if (!extent[j].block_count) break; if (!hfsc_cache_add_extent( cache, PED_BE16_TO_CPU(extent[j].start_block), PED_BE16_TO_CPU(extent[j].block_count), leaf_node, (uint8_t*)extent - node, 1, /* hfs => btree block = 512 b */ CR_BTREE_CAT, j ) ) return 0; } extent = catalog_data->sel.file.extents_res; for (j = 0; j < HFS_EXT_NB; ++j) { if (!extent[j].block_count) break; if (!hfsc_cache_add_extent( cache, PED_BE16_TO_CPU(extent[j].start_block), PED_BE16_TO_CPU(extent[j].block_count), leaf_node, (uint8_t*)extent - node, 1, /* hfs => btree block = 512 b */ CR_BTREE_CAT, j ) ) return 0; } } } return 1; } static int hfs_cache_from_extent(HfsCPrivateCache* cache, PedFileSystem* fs, PedTimer* timer) { HfsPrivateFSData* priv_data = (HfsPrivateFSData*) fs->type_specific; uint8_t node[PED_SECTOR_SIZE_DEFAULT]; HfsHeaderRecord* header; HfsNodeDescriptor* desc = (HfsNodeDescriptor*) node; HfsExtentKey* extent_key; HfsExtDescriptor* extent; unsigned int leaf_node, record_number; unsigned int i, j; if (!priv_data->extent_file->sect_nb) { ped_exception_throw ( PED_EXCEPTION_INFORMATION, PED_EXCEPTION_OK, _("This HFS volume has no extents overflow " "file. This is quite unusual!")); return 1; } if (!hfs_file_read_sector (priv_data->extent_file, node, 0)) return 0; header = ((HfsHeaderRecord*) (node + PED_BE16_TO_CPU(*((uint16_t *) (node+(PED_SECTOR_SIZE_DEFAULT-2)))))); for (leaf_node = PED_BE32_TO_CPU (header->first_leaf_node); leaf_node; leaf_node = PED_BE32_TO_CPU (desc->next)) { if (!hfs_file_read_sector (priv_data->extent_file, node, leaf_node)) return 0; record_number = PED_BE16_TO_CPU (desc->rec_nb); for (i = 1; i <= record_number; i++) { uint8_t where; extent_key = (HfsExtentKey*) (node + PED_BE16_TO_CPU(*((uint16_t *) (node+(PED_SECTOR_SIZE_DEFAULT - 2*i))))); /* size is cst */ extent = (HfsExtDescriptor*)(((uint8_t*)extent_key) + sizeof (HfsExtentKey)); /* check for obvious error in FS */ if (((uint8_t*)extent_key - node < HFS_FIRST_REC) || ((uint8_t*)extent - node >= PED_SECTOR_SIZE_DEFAULT - 2 * (signed)(record_number+1))) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("The file system contains errors.")); return 0; } switch (extent_key->file_ID) { case PED_CPU_TO_BE32 (HFS_XTENT_ID) : if (ped_exception_throw ( PED_EXCEPTION_WARNING, PED_EXCEPTION_IGNORE_CANCEL, _("The extents overflow file should not" " contain its own extents! You " "should check the file system.")) != PED_EXCEPTION_IGNORE) return 0; where = CR_BTREE_EXT_EXT; break; case PED_CPU_TO_BE32 (HFS_CATALOG_ID) : where = CR_BTREE_EXT_CAT; break; default : where = CR_BTREE_EXT_0; break; } for (j = 0; j < HFS_EXT_NB; ++j) { if (!extent[j].block_count) break; if (!hfsc_cache_add_extent( cache, PED_BE16_TO_CPU(extent[j].start_block), PED_BE16_TO_CPU(extent[j].block_count), leaf_node, (uint8_t*)extent - node, 1, /* hfs => btree block = 512 b */ where, j ) ) return 0; } } } return 1; } /* This function cache every extents start and length stored in any fs structure into the adt defined in cache.[ch] Returns NULL on failure */ static HfsCPrivateCache* hfs_cache_extents(PedFileSystem *fs, PedTimer* timer) { HfsPrivateFSData* priv_data = (HfsPrivateFSData*) fs->type_specific; HfsCPrivateCache* ret; unsigned int file_number, block_number; file_number = PED_BE32_TO_CPU(priv_data->mdb->file_count); block_number = PED_BE16_TO_CPU(priv_data->mdb->total_blocks); ret = hfsc_new_cache(block_number, file_number); if (!ret) return NULL; if (!hfs_cache_from_mdb(ret, fs, timer) || !hfs_cache_from_catalog(ret, fs, timer) || !hfs_cache_from_extent(ret, fs, timer)) { ped_exception_throw( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Could not cache the file system in memory.")); hfsc_delete_cache(ret); return NULL; } return ret; } /* This function moves file's data to compact used and free space, starting at fblock block */ /* return 0 on error */ int hfs_pack_free_space_from_block (PedFileSystem *fs, unsigned int fblock, PedTimer* timer, unsigned int to_free) { PedSector bytes_buff; HfsPrivateFSData* priv_data = (HfsPrivateFSData*) fs->type_specific; HfsMasterDirectoryBlock* mdb = priv_data->mdb; HfsCPrivateCache* cache; unsigned int to_fblock = fblock; unsigned int start = fblock; unsigned int divisor = PED_BE16_TO_CPU (mdb->total_blocks) + 1 - start - to_free; int ret; PED_ASSERT (!hfs_block, return 0); cache = hfs_cache_extents (fs, timer); if (!cache) return 0; /* Calculate the size of the copy buffer : * Takes BLOCK_MAX_BUFF HFS blocks, but if > BYTES_MAX_BUFF * takes the maximum number of HFS blocks so that the buffer * will remain smaller than or equal to BYTES_MAX_BUFF, with * a minimum of 1 HFS block */ bytes_buff = PED_BE32_TO_CPU (priv_data->mdb->block_size) * (PedSector) BLOCK_MAX_BUFF; if (bytes_buff > BYTES_MAX_BUFF) { hfs_block_count = BYTES_MAX_BUFF / PED_BE32_TO_CPU (priv_data->mdb->block_size); if (!hfs_block_count) hfs_block_count = 1; bytes_buff = (PedSector) hfs_block_count * PED_BE32_TO_CPU (priv_data->mdb->block_size); } else hfs_block_count = BLOCK_MAX_BUFF; /* If the cache code requests more space, give it to him */ if (bytes_buff < hfsc_cache_needed_buffer (cache)) bytes_buff = hfsc_cache_needed_buffer (cache); hfs_block = (uint8_t*) ped_malloc (bytes_buff); if (!hfs_block) goto error_cache; if (!hfs_read_bad_blocks (fs)) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Bad blocks list could not be loaded.")); goto error_alloc; } while (fblock < PED_BE16_TO_CPU (mdb->total_blocks)) { if (TST_BLOC_OCCUPATION(priv_data->alloc_map,fblock) && (!hfs_is_bad_block (fs, fblock))) { if (!(ret = hfs_move_extent_starting_at (fs, &fblock, &to_fblock, cache))) to_fblock = ++fblock; else if (ret == -1) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("An error occurred during extent " "relocation.")); goto error_alloc; } } else { fblock++; } ped_timer_update(timer, (float)(to_fblock - start)/divisor); } free (hfs_block); hfs_block = NULL; hfs_block_count = 0; hfsc_delete_cache (cache); return 1; error_alloc: free (hfs_block); hfs_block = NULL; hfs_block_count = 0; error_cache: hfsc_delete_cache (cache); return 0; } #endif /* !DISCOVER_ONLY */ parted-2.3/libparted/fs/hfs/advfs_plus.h0000644000000000000000000000300411333731662015203 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 2004, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _ADVFS_PLUS_H #define _ADVFS_PLUS_H #include #include #include #include "hfs.h" int hfsplus_btree_search (HfsPPrivateFile* b_tree_file, HfsPPrivateGenericKey* key, void *record_out, unsigned int record_size, HfsCPrivateLeafRec* record_ref); void hfsplus_free_bad_blocks_list(HfsPPrivateLinkExtent* first); int hfsplus_read_bad_blocks (const PedFileSystem *fs); int hfsplus_is_bad_block (const PedFileSystem *fs, unsigned int fblock); PedSector hfsplus_get_empty_end (const PedFileSystem *fs); PedSector hfsplus_get_min_size (const PedFileSystem *fs); unsigned int hfsplus_find_start_pack (const PedFileSystem *fs, unsigned int fblock); #endif /* _ADVFS_PLUS_H */ parted-2.3/libparted/fs/hfs/DOC0000644000000000000000000000750611154043331013215 00000000000000WARNING : Both HFS and HFS+ implementations of Linux 2.4 are buggy, at least when used before or after this implementation. Some workarounds are used in this implementation, but there can still be incompatibilities. Try Linux 2.6 if you want to play with HFS(+) resizing (though some bugs might also be there in 2.6, there is of course no warranty) --- Technical doc about Apple HFS and HFS+ file systems is available at : * For HFS, section "Data Organization on Volumes", "Chapter 2 - File Manager" of the book "Inside Macintosh: Files" http://developer.apple.com/documentation/mac/Files/Files-99.html * For HFS+, "Technical Note TN1150", "HFS Plus Volume Format" http://developer.apple.com/technotes/tn/tn1150.html Some useful HFS precisions concerning alignement, bit ordering, and order of fields for extent key comparaisons are only in the HFS+ TN These Apple Creator Codes are reserved for us : Shnk traP GP16 GnuP PH+x Xpnd Resz GP17 GP18 GP19 GP20 --- * Cache design * Versions before HFS Patch 15 were very slow when data relocation was needed, because every extent to relocate involved scanning the whole file system, looking for a reference to its physical position on the volume (this was a dummy algorithm, I know :) HFS Patch 16 introduced a cache that allows to efficiently retrieve the place of the reference in the file system given the physical position of an extent. The cache is designed for : - efficiency - scaling - simplicity - avoiding memory allocation while resizing This cache involves quite big worst case memory consumption, but without it the time needed to complete the operation in the worst case would be huge anyway (maybe several years...) so this isn't really an issue. The cache size is nearly proportional to the number of files you have, or if you have very few files, to the size of your volume, so worst cases situations occure when you fill a drive with millions of < 4 ko files :p For this very special usage you will just need a very special amount of RAM (on typical systems about (FS size) / 256 )... On a more "normal" volume it's about (# of files) * 20 bytes. With very few files it's about (FS Size) / 1024 / 256. At the beginning of the resize process, the cache is filed by scanning the FS. The position of each extent is cut into 2 parts : high order is used as an index into a table of pointer to a linked list which contains : - the next ptr (sizeof struct *) - the extent start (4 bytes) - the extent size (4 bytes) - number of BTree block or 0 if in prim (4 bytes) - offset of the extent start reference from the block beginning (2 bytes) - sectors by BTree block, or 1 for VH/MDB (1 byte) - FS special file / primary structure where the extent reference is stored (1 byte) (3 bits for the extent index, 5 for the actual ref) 0 : dont exists --- reserved 1 : mdb / vh : catalog --- 2 : mdb / vh : extent --- 3 : vh : attributes X+- 4 : vh : allocation X+- 5 : vh : startup X+- 6 : catalog --- 7 : attributes X+- 8 : extent (nothing to update) --- 9 : extent (update catalog) --- 10 : extent (update extent !?!) --- should not exist 11 : extent (update attributes) X+- 12 : extent (update allocation) X+- 13 : extent (update startup) X+- reserved 14 : vh : journal info block X+J 15 : jib: journal X+J 16 - 31 : --- mdb : Master Directory Block vh : Volume Header X+ : HFSX or HFS+ only J : Journaled only Large amount of memory is allocated at once (first enough memory to fit every files if there isn't any fragmentation +6.25%, then this value / 4, if this wasn't enough). On a typical FS, the first allocation should be enough. --- parted-2.3/libparted/fs/hfs/cache.h0000644000000000000000000000721211333731662014105 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 2004-2005, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _CACHE_H #define _CACHE_H #include #include #include #include "hfs.h" /* CR => CACHE REF */ #define CR_NULL 0 /* reserved */ #define CR_PRIM_CAT 1 #define CR_PRIM_EXT 2 #define CR_PRIM_ATTR 3 #define CR_PRIM_ALLOC 4 #define CR_PRIM_START 5 #define CR_BTREE_CAT 6 #define CR_BTREE_ATTR 7 #define CR_BTREE_EXT_0 8 #define CR_BTREE_EXT_CAT 9 #define CR_BTREE_EXT_EXT 10 /* should not happen ! */ #define CR_BTREE_EXT_ATTR 11 #define CR_BTREE_EXT_ALLOC 12 #define CR_BTREE_EXT_START 13 /* unneeded in current code */ #define CR_BTREE_CAT_JIB 14 /* journal info block */ #define CR_BTREE_CAT_JL 15 /* journal */ /* 16 -> 31 || high order bit */ /* reserved */ /* tuning */ #define CR_SHIFT 8 /* number of bits to shift start_block by */ /* to get the index of the linked list */ #define CR_OVER_DIV 16 /* alloc a table for (1+1/CR_OVER_DIV) * file_number + CR_ADD_CST */ #define CR_ADD_CST 16 #define CR_NEW_ALLOC_DIV 4 /* divide the size of the first alloc table by this value to allocate next tables */ /* See DOC for an explaination of this structure */ /* Access read only from outside cache.c */ struct _HfsCPrivateExtent { struct _HfsCPrivateExtent* next; uint32_t ext_start; uint32_t ext_length; uint32_t ref_block; uint16_t ref_offset; uint8_t sect_by_block; unsigned where : 5; unsigned ref_index : 3; /* 0 -> 7 */ }; typedef struct _HfsCPrivateExtent HfsCPrivateExtent; /* Internaly used by cache.c for custom memory managment only */ struct _HfsCPrivateCacheTable { struct _HfsCPrivateCacheTable* next_cache; HfsCPrivateExtent* table; unsigned int table_size; unsigned int table_first_free; /* first_elemt ? */ }; typedef struct _HfsCPrivateCacheTable HfsCPrivateCacheTable; /* Internaly used by cache.c for custom memory managment and cache handling only */ struct _HfsCPrivateCache { HfsCPrivateCacheTable* table_list; HfsCPrivateCacheTable* last_table; HfsCPrivateExtent** linked_ref; unsigned int linked_ref_size; unsigned int block_number; unsigned int first_cachetable_size; unsigned int needed_alloc_size; }; typedef struct _HfsCPrivateCache HfsCPrivateCache; HfsCPrivateCache* hfsc_new_cache(unsigned int block_number, unsigned int file_number); void hfsc_delete_cache(HfsCPrivateCache* cache); HfsCPrivateExtent* hfsc_cache_add_extent(HfsCPrivateCache* cache, uint32_t start, uint32_t length, uint32_t block, uint16_t offset, uint8_t sbb, uint8_t where, uint8_t index); HfsCPrivateExtent* hfsc_cache_search_extent(HfsCPrivateCache* cache, uint32_t start); HfsCPrivateExtent* hfsc_cache_move_extent(HfsCPrivateCache* cache, uint32_t old_start, uint32_t new_start); static __inline__ unsigned int hfsc_cache_needed_buffer(HfsCPrivateCache* cache) { return cache->needed_alloc_size; } #endif /* _CACHE_H */ parted-2.3/libparted/fs/hfs/file_plus.h0000644000000000000000000000333611333731662015027 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 2004, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _FILE_PLUS_H #define _FILE_PLUS_H #include #include #include #include "hfs.h" HfsPPrivateFile* hfsplus_file_open (PedFileSystem *fs, HfsPNodeID CNID, HfsPExtDataRec ext_desc, PedSector sect_nb); void hfsplus_file_close (HfsPPrivateFile* file); int hfsplus_file_read(HfsPPrivateFile* file, void *buf, PedSector sector, unsigned int nb); int hfsplus_file_write(HfsPPrivateFile* file, void *buf, PedSector sector, unsigned int nb); /* Read the nth sector of a file */ /* return 0 on error */ static __inline__ int hfsplus_file_read_sector (HfsPPrivateFile* file, void *buf, PedSector sector) { return hfsplus_file_read(file, buf, sector, 1); } /* Write the nth sector of a file */ /* return 0 on error */ static __inline__ int hfsplus_file_write_sector (HfsPPrivateFile* file, void *buf, PedSector sector) { return hfsplus_file_write(file, buf, sector, 1); } #endif /* _FILE_PLUS_H */ parted-2.3/libparted/fs/Makefile.in0000644000000000000000000012651411400005573014153 00000000000000# Makefile.in generated by automake 1.11a from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # This file is part of GNU Parted # Copyright (C) 1999-2001, 2007, 2009-2010 Free Software Foundation, # Inc. # # This file may be modified and/or distributed without restriction. VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = libparted/fs DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \ $(top_srcdir)/m4/asm-underscore.m4 $(top_srcdir)/m4/assert.m4 \ $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/calloc.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \ $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/dirname.m4 \ $(top_srcdir)/m4/dos.m4 $(top_srcdir)/m4/double-slash-root.m4 \ $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/extensions.m4 \ $(top_srcdir)/m4/fclose.m4 $(top_srcdir)/m4/fcntl-o.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fpending.m4 \ $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getopt.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \ $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/lib-ignore.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \ $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \ $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/long-options.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \ $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/memchr.m4 \ $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \ $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/o-direct.m4 $(top_srcdir)/m4/open.m4 \ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \ $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/readlink.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/safe-read.m4 \ $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \ $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/symlink.m4 \ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \ $(top_srcdir)/m4/version-etc.m4 \ $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \ $(top_srcdir)/m4/wctype_h.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xstrndup.m4 \ $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/lib/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) am__DEPENDENCIES_1 = libfs_la_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ amiga/libamigafs.la ext2/libext2.la ufs/libufs.la \ fat/libfat.la ntfs/libntfs.la hfs/libhfs.la \ linux_swap/liblinuxswap.la xfs/libxfs.la jfs/libjfs.la \ reiserfs/libreiserfs.la am_libfs_la_OBJECTS = libfs_la_OBJECTS = $(am_libfs_la_OBJECTS) AM_V_lt = $(am__v_lt_$(V)) am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) am__v_lt_0 = --silent libfs_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(libfs_la_LDFLAGS) $(LDFLAGS) -o $@ DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/lib COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_$(V)) am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) am__v_CC_0 = @echo " CC " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_$(V)) am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) am__v_CCLD_0 = @echo " CCLD " $@; AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; SOURCES = $(libfs_la_SOURCES) DIST_SOURCES = $(libfs_la_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 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ distdir ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ BUILDINFO = @BUILDINFO@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ CONFIG_INCLUDE = @CONFIG_INCLUDE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DL_LIBS = @DL_LIBS@ DM_LIBS = @DM_LIBS@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENABLE_DEVICE_MAPPER = @ENABLE_DEVICE_MAPPER@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPURGE = @GNULIB_FPURGE@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSTATAT = @GNULIB_FSTATAT@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETGROUPS = @GNULIB_GETGROUPS@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMCHR = @GNULIB_MEMCHR@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDIRAT = @GNULIB_MKDIRAT@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKFIFO = @GNULIB_MKFIFO@ GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@ GNULIB_MKNOD = @GNULIB_MKNOD@ GNULIB_MKNODAT = @GNULIB_MKNODAT@ GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PTSNAME = @GNULIB_PTSNAME@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ GNULIB_RMDIR = @GNULIB_RMDIR@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STAT = @GNULIB_STAT@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNCAT = @GNULIB_STRNCAT@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRPTIME = @GNULIB_STRPTIME@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNLINK = @GNULIB_UNLINK@ GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_USLEEP = @GNULIB_USLEEP@ GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_FUTIMENS = @HAVE_FUTIMENS@ HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETGROUPS = @HAVE_GETGROUPS@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@ HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@ HAVE_LANGINFO_H = @HAVE_LANGINFO_H@ HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LCHOWN = @HAVE_LCHOWN@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LOCALTIME_R = @HAVE_LOCALTIME_R@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_MKFIFO = @HAVE_MKFIFO@ HAVE_MKFIFOAT = @HAVE_MKFIFOAT@ HAVE_MKNOD = @HAVE_MKNOD@ HAVE_MKNODAT = @HAVE_MKNODAT@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ HAVE_OS_H = @HAVE_OS_H@ HAVE_PIPE2 = @HAVE_PIPE2@ HAVE_PREAD = @HAVE_PREAD@ HAVE_PTSNAME = @HAVE_PTSNAME@ HAVE_PWRITE = @HAVE_PWRITE@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TTYNAME_R = @HAVE_TTYNAME_R@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_USLEEP = @HAVE_USLEEP@ HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ HAVE_WCRTOMB = @HAVE_WCRTOMB@ HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE__BOOL = @HAVE__BOOL@ IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ INTLINCS = @INTLINCS@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ LIBTOOL = @LIBTOOL@ LIB_BLKID = @LIB_BLKID@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@ LOCALE_JA = @LOCALE_JA@ LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTALLOCA = @LTALLOCA@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ NEXT_WCTYPE_H = @NEXT_WCTYPE_H@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OS = @OS@ OS_LIBS = @OS_LIBS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PARTEDLDFLAGS = @PARTEDLDFLAGS@ PARTED_LIBS = @PARTED_LIBS@ PARTED_USABLE_TEST_DIR = @PARTED_USABLE_TEST_DIR@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POSUB = @POSUB@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PRIPTR_PREFIX = @PRIPTR_PREFIX@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REISER_LIBS = @REISER_LIBS@ REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FSTAT = @REPLACE_FSTAT@ REPLACE_FSTATAT = @REPLACE_FSTATAT@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ REPLACE_MBRLEN = @REPLACE_MBRLEN@ REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ REPLACE_MBSINIT = @REPLACE_MBSINIT@ REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_OPENAT = @REPLACE_OPENAT@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALPATH = @REPLACE_REALPATH@ REPLACE_REMOVE = @REPLACE_REMOVE@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRNCAT = @REPLACE_STRNCAT@ REPLACE_STRNDUP = @REPLACE_STRNDUP@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ REPLACE_UNSETENV = @REPLACE_UNSETENV@ REPLACE_USLEEP = @REPLACE_USLEEP@ REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ SELINUX_LIBS = @SELINUX_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_NLS = @USE_NLS@ UUID_LIBS = @UUID_LIBS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_aux_dir = @abs_aux_dir@ 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@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ gltests_WITNESS = @gltests_WITNESS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = amiga ext2 ufs fat ntfs hfs linux_swap xfs jfs reiserfs # bfs partedincludedir = -I$(top_srcdir)/include noinst_LTLIBRARIES = libfs.la libfs_la_LDFLAGS = -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \ -release $(LT_RELEASE) libfs_la_LIBADD = $(UUID_LIBS) \ $(INTLLIBS) \ $(OS_LIBS) \ $(REISER_LIBS) \ amiga/libamigafs.la \ ext2/libext2.la \ ufs/libufs.la \ fat/libfat.la \ ntfs/libntfs.la \ hfs/libhfs.la \ linux_swap/liblinuxswap.la \ xfs/libxfs.la \ jfs/libjfs.la \ reiserfs/libreiserfs.la # bfs/libbfs.la libfs_la_SOURCES = INCLUDES = $(partedincludedir) $(INTLINCS) MAINTAINERCLEANFILES = Makefile.in all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libparted/fs/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu libparted/fs/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libfs.la: $(libfs_la_OBJECTS) $(libfs_la_DEPENDENCIES) $(AM_V_CCLD)$(libfs_la_LINK) $(libfs_la_OBJECTS) $(libfs_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done cscopelist-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(LTLIBRARIES) installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(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 mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-recursive clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) \ cscopelist-recursive ctags-recursive install-am install-strip \ tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ clean-noinstLTLIBRARIES cscopelist cscopelist-recursive ctags \ ctags-recursive distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-recursive uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: parted-2.3/libparted/fs/ext2/0000755000000000000000000000000011400006132013027 500000000000000parted-2.3/libparted/fs/ext2/ext2_buffer.c0000644000000000000000000002001511370314006015334 00000000000000/* ext2_buffer.c -- ext2 buffer cache Copyright (C) 1998-2000, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #ifndef DISCOVER_ONLY #include #include #include #include "ext2.h" /* pseudo-header */ static __inline__ int ext2_block_hash(blk_t block) { unsigned long x; x = block ^ (block >> 8) ^ (block >> 16) ^ (block >> 24); return x & ((1 << ext2_hash_bits) - 1); } static struct ext2_buffer_head *ext2_bh_alloc (struct ext2_buffer_cache *, blk_t); static void ext2_bh_dealloc (struct ext2_buffer_head *); static struct ext2_buffer_head *ext2_bh_find (struct ext2_buffer_cache *, blk_t); static int ext2_bh_do_read (struct ext2_buffer_head *); static int ext2_bh_do_write(struct ext2_buffer_head *); static void ext2_bh_hash (struct ext2_buffer_head *); static void ext2_bh_unhash (struct ext2_buffer_head *); static int try_to_flush(struct ext2_buffer_cache *bc) { int i; for (i=0;isize;i++) { struct ext2_buffer_head *bh; bh = &bc->heads[i]; if (bh->alloc && !bh->usecount && !bh->dirty) { ext2_bh_dealloc(bh); return 1; } } for (i=0;isize;i++) { struct ext2_buffer_head *bh; bh = &bc->heads[i]; if (bh->alloc && !bh->usecount && bh->dirty) { ext2_bh_do_write(bh); ext2_bh_dealloc(bh); return 1; } } if (ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_IGNORE_CANCEL, _("Couldn't flush buffer cache!")) != PED_EXCEPTION_IGNORE) return 0; return 1; } static struct ext2_buffer_head *ext2_bh_alloc(struct ext2_buffer_cache *bc, blk_t block) { struct ext2_buffer_head *bh; int i; bh = NULL; tryagain: for (i=0;isize;i++) { bh = &bc->heads[i]; if (!bh->alloc) break; } if (i == bc->size) { try_to_flush(bc); goto tryagain; } bh = &bc->heads[i]; bh->next = NULL; bh->prev = NULL; bh->block = block; bh->usecount = 0; bh->dirty = 0; bh->alloc = 1; bc->numalloc++; ext2_bh_hash(bh); return bh; } static void ext2_bh_dealloc(struct ext2_buffer_head *bh) { if (bh->dirty) ped_exception_throw (PED_EXCEPTION_BUG, PED_EXCEPTION_IGNORE, "deallocing() a dirty buffer! %i\n", bh->block); ext2_bh_unhash(bh); bh->alloc = 0; bh->bc->numalloc--; } static struct ext2_buffer_head *ext2_bh_find(struct ext2_buffer_cache *bc, blk_t block) { struct ext2_buffer_head *a; struct ext2_buffer_head *b; int hash; hash = ext2_block_hash(block); a = bc->hash[hash]; if (a != NULL) { b = a; do { if (a->block == block) return a; a = a->next; } while (a != b); } return NULL; } static int ext2_bh_do_read(struct ext2_buffer_head *bh) { return ext2_read_blocks(bh->bc->fs, bh->data, bh->block, 1); } static int ext2_bh_do_write(struct ext2_buffer_head *bh) { if (!bh->alloc) { ped_exception_throw (PED_EXCEPTION_BUG, PED_EXCEPTION_CANCEL, "Attempt to write unallocated buffer."); return 0; } ext2_write_blocks(bh->bc->fs, bh->data, bh->block, 1); bh->dirty = 0; return 1; } static void ext2_bh_hash(struct ext2_buffer_head *bh) { int hash; hash = ext2_block_hash(bh->block); if (bh->bc->hash[hash] != NULL) { bh->next = bh->bc->hash[hash]; bh->prev = bh->next->prev; bh->next->prev = bh; bh->prev->next = bh; return; } bh->bc->hash[hash] = bh; bh->next = bh->prev = bh; } static void ext2_bh_unhash(struct ext2_buffer_head *bh) { int hash; hash = ext2_block_hash(bh->block); bh->prev->next = bh->next; bh->next->prev = bh->prev; if (bh->bc->hash[hash] == bh) { if (bh->next != bh) bh->bc->hash[hash] = bh->next; else bh->bc->hash[hash] = NULL; } bh->next = NULL; bh->prev = NULL; } static int breadimmhits = 0; static int breadindhits = 0; static int breadmisses = 0; void ext2_bcache_deinit(struct ext2_fs *fs) { ext2_bcache_sync(fs); free(fs->bc->buffermem); free(fs->bc->hash); free(fs->bc->heads); free(fs->bc); if (fs->opt_verbose) fprintf(stderr, "direct hits: %i, indirect hits: %i, misses: %i\n", breadimmhits, breadindhits, breadmisses); } void ext2_bcache_dump(struct ext2_fs *fs) { int i; fputs ("buffer cache dump:\n", stderr); for (i=0;i<(1<bc->hash[i] != NULL) { struct ext2_buffer_head *a; struct ext2_buffer_head *b; fprintf(stderr, "%i: ", i); a = b = fs->bc->hash[i]; do { fprintf(stderr, "%i ", a->block); a = a->next; } while (a != b); fputc ('\n', stderr); } } int ext2_bcache_flush(struct ext2_fs *fs, blk_t block) { struct ext2_buffer_head *bh; if ((bh = ext2_bh_find(fs->bc, block)) == NULL) return 1; if (bh->usecount) { ped_exception_throw (PED_EXCEPTION_BUG, PED_EXCEPTION_CANCEL, "Attempt to flush a buffer that's in use! [%i,%i]", bh->block, bh->usecount); return 0; } if (bh->dirty) { if (!ext2_bh_do_write(bh)) return 0; } ext2_bh_dealloc(bh); return 1; } int ext2_bcache_flush_range(struct ext2_fs *fs, blk_t block, blk_t num) { blk_t end = block + num; for (; block < end; block++) { if (!ext2_bcache_flush(fs, block)) return 0; } return 1; } int ext2_bcache_init(struct ext2_fs *fs) { struct ext2_buffer_cache *bc; int i; int size; size = ext2_buffer_cache_pool_size >> (fs->logsize - 10); if ((bc = (struct ext2_buffer_cache *) ped_malloc(sizeof(struct ext2_buffer_cache))) == NULL) return 0; if ((bc->heads = (struct ext2_buffer_head *) ped_malloc(size * sizeof(struct ext2_buffer_head))) == NULL) return 0; if ((bc->hash = (struct ext2_buffer_head **) ped_malloc(sizeof(struct ext2_buffer_head *) << ext2_hash_bits)) == NULL) { free(bc->heads); free(bc); return 0; } if ((bc->buffermem = (unsigned char *) ped_malloc(ext2_buffer_cache_pool_size << 10)) == NULL) { free(bc->hash); free(bc->heads); free(bc); return 0; } bc->cache = &bc->heads[0]; bc->fs = fs; bc->size = size; bc->numalloc = 0; for (i=0;iheads[i].data = bc->buffermem + (i << fs->logsize); bc->heads[i].bc = bc; bc->heads[i].alloc = 0; } for (i=0;i<(1<hash[i] = NULL; fs->bc = bc; return 1; } int ext2_bcache_sync(struct ext2_fs *fs) { int i; for (i=0;ibc->size;i++) { struct ext2_buffer_head *bh; bh = &fs->bc->heads[i]; if (bh->alloc && bh->dirty) { if (!ext2_bh_do_write(bh)) return 0; } } return 1; } struct ext2_buffer_head *ext2_bcreate(struct ext2_fs *fs, blk_t block) { struct ext2_buffer_head *bh; if ((bh = ext2_bh_find(fs->bc, block)) != NULL) { bh->usecount++; } else { bh = ext2_bh_alloc(fs->bc, block); bh->usecount = 1; } memset(bh->data, 0, fs->blocksize); bh->dirty = 1; return bh; } struct ext2_buffer_head *ext2_bread(struct ext2_fs *fs, blk_t block) { struct ext2_buffer_head *bh; if ((bh = fs->bc->cache)->block == block) { breadimmhits++; bh->usecount++; return bh; } if ((bh = ext2_bh_find(fs->bc, block)) != NULL) { fs->bc->cache = bh; breadindhits++; bh->usecount++; return bh; } breadmisses++; bh = ext2_bh_alloc(fs->bc, block); fs->bc->cache = bh; bh->usecount = 1; if (!ext2_bh_do_read(bh)) { ext2_bh_dealloc(bh); return NULL; } return bh; } int ext2_brelse(struct ext2_buffer_head *bh, int forget) { if (bh->usecount-- == 1 && forget) { if (bh->dirty) { if (!ext2_bh_do_write(bh)) return 0; } ext2_bh_dealloc(bh); } return 1; } #endif /* !DISCOVER_ONLY */ parted-2.3/libparted/fs/ext2/interface.c0000644000000000000000000002423411370314006015070 00000000000000/* interface.c -- parted binding glue to libext2resize Copyright (C) 1998-2000, 2007-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* VERSION: libext2resize 1.1.6 (by Lennert) * merged 1.1.11 changes (by Andrew) */ #include #include #include "ext2.h" #include "parted_io.h" static PedFileSystemType _ext2_type; static PedFileSystemType _ext3_type; struct ext2_dev_handle* ext2_make_dev_handle_from_parted_geometry(PedGeometry* geom); static PedGeometry* _ext2_generic_probe (PedGeometry* geom, int expect_ext_ver) { void *sb_v; if (!ped_geometry_read_alloc(geom, &sb_v, 2, 2)) return NULL; struct ext2_super_block *sb = sb_v; if (EXT2_SUPER_MAGIC(*sb) == EXT2_SUPER_MAGIC_CONST) { PedSector block_size = 1 << (EXT2_SUPER_LOG_BLOCK_SIZE(*sb) + 1); PedSector block_count = EXT2_SUPER_BLOCKS_COUNT(*sb); PedSector group_blocks = EXT2_SUPER_BLOCKS_PER_GROUP(*sb); PedSector group_nr = EXT2_SUPER_BLOCK_GROUP_NR(*sb); PedSector first_data_block = EXT2_SUPER_FIRST_DATA_BLOCK(*sb); int version = EXT2_SUPER_REV_LEVEL(*sb); int is_ext3 = 0; int is_ext4 = 0; is_ext3 = (EXT2_SUPER_FEATURE_COMPAT (*sb) & EXT3_FEATURE_COMPAT_HAS_JOURNAL) != 0; if (is_ext3) { is_ext4 = ((EXT2_SUPER_FEATURE_RO_COMPAT (*sb) & EXT4_FEATURE_RO_COMPAT_HUGE_FILE) || (EXT2_SUPER_FEATURE_RO_COMPAT (*sb) & EXT4_FEATURE_RO_COMPAT_GDT_CSUM) || (EXT2_SUPER_FEATURE_RO_COMPAT (*sb) & EXT4_FEATURE_RO_COMPAT_DIR_NLINK) || (EXT2_SUPER_FEATURE_INCOMPAT (*sb) & EXT4_FEATURE_INCOMPAT_EXTENTS) || (EXT2_SUPER_FEATURE_INCOMPAT (*sb) & EXT4_FEATURE_INCOMPAT_64BIT) || (EXT2_SUPER_FEATURE_INCOMPAT (*sb) & EXT4_FEATURE_INCOMPAT_FLEX_BG)); if (is_ext4) is_ext3 = 0; } free (sb); if (expect_ext_ver == 2 && (is_ext3 || is_ext4)) return NULL; if (expect_ext_ver == 3 && !is_ext3) return NULL; else if (expect_ext_ver == 4 && !is_ext4) return NULL; if (version > 0 && group_nr > 0) { PedSector start; PedGeometry probe_geom; start = geom->start - group_blocks * group_nr - first_data_block; if (start < 0) return NULL; ped_geometry_init (&probe_geom, geom->dev, start, block_count * block_size); return _ext2_generic_probe (&probe_geom, expect_ext_ver); } else { return ped_geometry_new (geom->dev, geom->start, block_count * block_size); } } else { free (sb); } return NULL; } static PedGeometry* _ext2_probe (PedGeometry* geom) { return _ext2_generic_probe (geom, 2); } static PedGeometry* _ext3_probe (PedGeometry* geom) { return _ext2_generic_probe (geom, 3); } static PedGeometry* _ext4_probe (PedGeometry* geom) { return _ext2_generic_probe (geom, 4); } #ifndef DISCOVER_ONLY static int _ext2_clobber (PedGeometry* geom) { void *sb_v; int ok = 0; if (ped_geometry_read_alloc(geom, &sb_v, 2, 2)) { struct ext2_super_block *sb = sb_v; /* Clobber only if there's a matching magic number. */ if (EXT2_SUPER_MAGIC(*sb) != EXT2_SUPER_MAGIC_CONST) { ok = 1; } else { sb->s_magic = 0; ok = ped_geometry_write(geom, sb, 2, 2); } free (sb); } return ok; } static PedFileSystem* _ext2_open (PedGeometry* geom) { PedFileSystem* fs; struct ext2_fs* fs_info; struct ext2_dev_handle* handle; fs = (PedFileSystem*) ped_malloc (sizeof (PedFileSystem)); if (!fs) goto error; fs->type = &_ext2_type; fs->geom = ped_geometry_duplicate (geom); fs->checked = 1; handle = ext2_make_dev_handle_from_parted_geometry(fs->geom); if (!handle) goto error_free_fs; fs_info = (struct ext2_fs*) ext2_open(handle, 0); if (!fs_info) goto error_free_handle; fs->type_specific = (void*) fs_info; fs_info->opt_verbose = 0; return fs; error_free_handle: ext2_destroy_dev_handle(handle); error_free_fs: free(fs); error: return NULL; } static PedFileSystem* _ext2_create (PedGeometry* geom, PedTimer* timer) { PedFileSystem* fs; struct ext2_fs* fs_info; struct ext2_dev_handle* handle; fs = (PedFileSystem*) ped_malloc (sizeof (PedFileSystem)); if (!fs) goto error; fs->type = &_ext2_type; fs->geom = ped_geometry_duplicate (geom); handle = ext2_make_dev_handle_from_parted_geometry(fs->geom); if (!handle) goto error_free_fs; fs_info = ext2_mkfs (handle, 0, 0, 0, 0, -1, -1, timer); if (!fs_info) goto error_free_handle; fs->type_specific = (void*) fs_info; fs_info->opt_verbose = 0; return fs; error_free_handle: ext2_destroy_dev_handle(handle); error_free_fs: free(fs); error: return NULL; } static int _ext2_close (PedFileSystem *fs) { struct ext2_dev_handle* handle; handle = ((struct ext2_fs*)fs->type_specific)->devhandle; ext2_close(fs->type_specific); ext2_destroy_dev_handle(handle); free(fs); return 1; } static int _ext2_check (PedFileSystem *fs, PedTimer* timer) { ped_exception_throw (PED_EXCEPTION_INFORMATION, PED_EXCEPTION_OK, _("The ext2 file system passed a basic check. For a more " "comprehensive check, use the e2fsck program.")); return 1; } static int _ext2_resize (PedFileSystem* fs, PedGeometry* geom, PedTimer* timer) { struct ext2_fs* f; PedSector old_length = fs->geom->length; PED_ASSERT (fs->geom->dev == geom->dev, return 0); if (fs->geom->start != geom->start) { ped_exception_throw (PED_EXCEPTION_NO_FEATURE, PED_EXCEPTION_CANCEL, _("Sorry, can't move the start of ext2 partitions yet!")); return 0; } geom->dev->boot_dirty = 1; f = (struct ext2_fs *) fs->type_specific; /* ensure that the geometry contains the new and old geometry */ if (old_length > geom->length) { if (!ext2_resize_fs(f, geom->length >> (f->logsize - 9), timer)) goto error; fs->geom->length = geom->length; fs->geom->end = fs->geom->start + geom->length - 1; } else { fs->geom->length = geom->length; fs->geom->end = fs->geom->start + geom->length - 1; if (!ext2_resize_fs(f, geom->length >> (f->logsize - 9), timer)) goto error; } return 1; error: return 0; } static PedConstraint* _ext2_get_create_constraint (const PedDevice* dev) { PedGeometry full_dev; if (!ped_geometry_init (&full_dev, dev, 0, dev->length - 1)) return NULL; return ped_constraint_new ( ped_alignment_any, ped_alignment_any, &full_dev, &full_dev, 64, dev->length); } static PedConstraint* _ext2_get_resize_constraint (const PedFileSystem* fs) { struct ext2_fs* f = (struct ext2_fs *) fs->type_specific; PedDevice* dev = fs->geom->dev; PedAlignment start_align; PedGeometry start_sector; PedGeometry full_dev; PedSector min_size; if (!ped_alignment_init (&start_align, fs->geom->start, 0)) return NULL; if (!ped_geometry_init (&full_dev, dev, 0, dev->length - 1)) return NULL; if (!ped_geometry_init (&start_sector, dev, fs->geom->start, 1)) return NULL; min_size = (EXT2_SUPER_BLOCKS_COUNT(f->sb) - EXT2_SUPER_FREE_BLOCKS_COUNT(f->sb)) * (f->blocksize / dev->sector_size); return ped_constraint_new (&start_align, ped_alignment_any, &start_sector, &full_dev, min_size, dev->length); } #endif /* !DISCOVER_ONLY */ static PedFileSystemOps _ext2_ops = { probe: _ext2_probe, #ifndef DISCOVER_ONLY clobber: _ext2_clobber, open: _ext2_open, create: _ext2_create, close: _ext2_close, check: _ext2_check, resize: _ext2_resize, copy: NULL, get_create_constraint: _ext2_get_create_constraint, get_copy_constraint: NULL, get_resize_constraint: _ext2_get_resize_constraint #else /* !DISCOVER_ONLY */ clobber: NULL, open: NULL, create: NULL, close: NULL, check: NULL, resize: NULL, copy: NULL, get_create_constraint: NULL, get_copy_constraint: NULL, get_resize_constraint: NULL #endif /* !DISCOVER_ONLY */ }; static PedFileSystemOps _ext3_ops = { probe: _ext3_probe, #ifndef DISCOVER_ONLY clobber: _ext2_clobber, open: _ext2_open, create: NULL, close: _ext2_close, check: _ext2_check, resize: _ext2_resize, copy: NULL, get_create_constraint: _ext2_get_create_constraint, get_copy_constraint: NULL, get_resize_constraint: _ext2_get_resize_constraint #else /* !DISCOVER_ONLY */ clobber: NULL, open: NULL, create: NULL, close: NULL, check: NULL, resize: NULL, copy: NULL, get_create_constraint: NULL, get_copy_constraint: NULL, get_resize_constraint: NULL #endif /* !DISCOVER_ONLY */ }; static PedFileSystemOps _ext4_ops = { probe: _ext4_probe, clobber: NULL, open: NULL, create: NULL, close: NULL, check: NULL, resize: NULL, copy: NULL, get_create_constraint: NULL, get_copy_constraint: NULL, get_resize_constraint: NULL }; #define EXT23_BLOCK_SIZES ((int[6]){512, 1024, 2048, 4096, 8192, 0}) static PedFileSystemType _ext2_type = { next: NULL, ops: &_ext2_ops, name: "ext2", block_sizes: EXT23_BLOCK_SIZES }; static PedFileSystemType _ext3_type = { next: NULL, ops: &_ext3_ops, name: "ext3", block_sizes: EXT23_BLOCK_SIZES }; static PedFileSystemType _ext4_type = { next: NULL, ops: &_ext4_ops, name: "ext4", block_sizes: EXT23_BLOCK_SIZES }; void ped_file_system_ext2_init () { ped_file_system_type_register (&_ext2_type); ped_file_system_type_register (&_ext3_type); ped_file_system_type_register (&_ext4_type); } void ped_file_system_ext2_done () { ped_file_system_type_unregister (&_ext2_type); ped_file_system_type_unregister (&_ext3_type); ped_file_system_type_unregister (&_ext4_type); } parted-2.3/libparted/fs/ext2/ext2.h0000644000000000000000000001620311370314006014014 00000000000000/* ext2.h -- ext2 header Copyright (C) 1998-2000, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _EXT2_H #define _EXT2_H #include #include #include #include "tune.h" #include #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ /* Ehrm.... sorry, pedanticists! :-) */ #ifndef offsetof # define offsetof(type, field) ((size_t)(&(((type *)0)->field))) #endif #ifdef __BEOS__ typedef off_t loff_t; #endif typedef u_int32_t blk_t; #ifdef HAVE_LINUX_EXT2_FS_H #define _LINUX_TYPES_H #define i_version i_generation #include #else #include "ext2_fs.h" #endif extern unsigned char _bitmap[8]; struct ext2_buffer_cache { struct ext2_buffer_head *cache; struct ext2_buffer_head *heads; struct ext2_buffer_head **hash; struct ext2_fs *fs; int size; int numalloc; unsigned char *buffermem; }; struct ext2_buffer_head { struct ext2_buffer_head *next; struct ext2_buffer_head *prev; unsigned char *data; blk_t block; int usecount; int dirty; struct ext2_buffer_cache *bc; int alloc; }; struct ext2_dev_ops { int (*close)(void *cookie); blk_t (*get_size)(void *cookie); int (*read)(void *cookie, void *ptr, blk_t block, blk_t num); int (*set_blocksize)(void *cookie, int logsize); int (*sync)(void *cookie); int (*write)(void *cookie, void *ptr, blk_t block, blk_t num); }; struct ext2_dev_handle { struct ext2_dev_ops *ops; void *cookie; }; struct ext2_fs { struct ext2_dev_handle *devhandle; struct ext2_super_block sb; struct ext2_group_desc *gd; struct ext2_buffer_cache *bc; int metadirty; /* 0:all sb&gd copies clean 1:all sb&gd copies dirty 2:only first sb&gd copy clean */ int dynamic_version; int sparse; /* sparse superblocks */ int has_journal; /* journal */ int has_internal_journal; int blocksize; int logsize; blk_t adminblocks; blk_t gdblocks; blk_t itoffset; blk_t inodeblocks; int numgroups; int r_frac; /* reserved % of blocks */ unsigned char *relocator_pool; unsigned char *relocator_pool_end; int opt_debug; int opt_safe; int opt_verbose; void *journal; }; #define EXT2_ACTION_ADD 1 #define EXT2_ACTION_DELETE 2 #define EXT2_ACTION_FIND 3 #define EXT2_META_CLEAN 0 #define EXT2_META_PRIMARY_SB 1 #define EXT2_META_BACKUP_SB 2 #define EXT2_META_PRIMARY_GD 4 #define EXT2_META_BACKUP_GD 8 #define EXT2_META_PRIMARY (EXT2_META_PRIMARY_SB | EXT2_META_PRIMARY_GD) #define EXT2_META_BACKUP (EXT2_META_BACKUP_SB | EXT2_META_BACKUP_GD) #define EXT2_META_SB (EXT2_META_PRIMARY_SB | EXT2_META_BACKUP_SB) #define EXT2_META_GD (EXT2_META_PRIMARY_GD | EXT2_META_BACKUP_GD) /* generic stuff */ int ext2_copy_block (struct ext2_fs *fs, blk_t from, blk_t to); void ext2_close (struct ext2_fs *fs); int ext2_commit_metadata (struct ext2_fs *fs, int copies); off_t ext2_get_inode_offset (struct ext2_fs *fs, ino_t inode, blk_t *block); blk_t ext2_find_free_block (struct ext2_fs *fs); ino_t ext2_find_free_inode (struct ext2_fs *fs); int ext2_get_inode_state (struct ext2_fs *fs, ino_t inode); int ext2_is_group_sparse (struct ext2_fs *fs, int group); int ext2_move_blocks (struct ext2_fs *fs, blk_t src, blk_t num, blk_t dest); struct ext2_fs *ext2_open (struct ext2_dev_handle *handle, int state); int ext2_read_blocks (struct ext2_fs *fs, void *ptr, blk_t block, blk_t numblocks); int ext2_read_inode (struct ext2_fs *fs, ino_t inode, struct ext2_inode *inodep); int ext2_set_inode_state (struct ext2_fs *fs, ino_t inode, int state, int updatemetadata); int ext2_do_inode (struct ext2_fs *fs, struct ext2_inode *inode, blk_t block, int action); int ext2_sync (struct ext2_fs *fs); int ext2_write_blocks (struct ext2_fs *fs, void *ptr, blk_t block, blk_t numblocks); int ext2_write_inode (struct ext2_fs *fs, ino_t inode, const struct ext2_inode *inodep); int ext2_zero_blocks (struct ext2_fs *fs, blk_t block, blk_t num); int ext2_zero_inode (struct ext2_fs *fs, ino_t inode); /* block related */ void ext2_bgbitmap_cache_deinit (struct ext2_fs *fs); int ext2_bgbitmap_cache_flush (struct ext2_fs *fs); int ext2_bgbitmap_cache_init (struct ext2_fs *fs); int ext2_get_block_state (struct ext2_fs *, blk_t block); int ext2_set_block_state (struct ext2_fs *, blk_t block, int state, int updatemetadata); /* block relocator */ int ext2_block_relocate (struct ext2_fs *fs, blk_t newsize); /* buffer */ void ext2_bcache_deinit (struct ext2_fs *fs); void ext2_bcache_dump (struct ext2_fs *fs); int ext2_bcache_flush (struct ext2_fs *fs, blk_t block); int ext2_bcache_flush_range (struct ext2_fs *fs, blk_t first, blk_t last); int ext2_bcache_init (struct ext2_fs *fs); int ext2_bcache_sync (struct ext2_fs *fs); struct ext2_buffer_head *ext2_bcreate (struct ext2_fs *fs, blk_t block); struct ext2_buffer_head *ext2_bread (struct ext2_fs *fs, blk_t block); int ext2_brelse (struct ext2_buffer_head *bh, int forget); /* inode relocator */ int ext2_inode_relocate (struct ext2_fs *fs, int newgroups); /* journalling */ void ext2_journal_deinit (struct ext2_fs *fs); int ext2_journal_init (struct ext2_fs *fs); /* metadata mover */ int ext2_metadata_push (struct ext2_fs *fs, blk_t newsize); /* fs creation */ struct ext2_fs *ext2_mkfs (struct ext2_dev_handle *handle, blk_t numblocks, int log_block_size, blk_t blocks_per_group, int inodes_per_group, int sparse_sb, int reserved_block_percentage, PedTimer* timer); /* resize */ int ext2_resize_fs (struct ext2_fs *fs, blk_t newsize, PedTimer* timer); /* unix I/O */ struct ext2_dev_handle *ext2_make_dev_handle_from_file(char *dev); static __inline__ int ext2_is_data_block(struct ext2_fs *fs, blk_t block) { blk_t blk; int group; PED_ASSERT (block >= EXT2_SUPER_FIRST_DATA_BLOCK(fs->sb), return 0); PED_ASSERT (block < EXT2_SUPER_BLOCKS_COUNT(fs->sb), return 0); blk = block - EXT2_SUPER_FIRST_DATA_BLOCK(fs->sb); group = blk / EXT2_SUPER_BLOCKS_PER_GROUP(fs->sb); blk %= EXT2_SUPER_BLOCKS_PER_GROUP(fs->sb); if (ext2_is_group_sparse(fs, group) && blk <= fs->gdblocks) return 0; if (block == EXT2_GROUP_BLOCK_BITMAP(fs->gd[group]) || block == EXT2_GROUP_INODE_BITMAP(fs->gd[group])) return 0; if (block >= EXT2_GROUP_INODE_TABLE(fs->gd[group]) && block < EXT2_GROUP_INODE_TABLE(fs->gd[group]) + fs->inodeblocks) return 0; return 1; } #endif parted-2.3/libparted/fs/ext2/ext2_block_relocator.c0000644000000000000000000005114211333731662017246 00000000000000/* ext2_block_relocator.c -- ext2 block relocator Copyright (C) 1998-2000, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #ifndef DISCOVER_ONLY #include #include #include "ext2.h" /* This struct describes a single block that will be relocated. The * block's original location is "num", and its new location is "dest". * The block is presumebly referred to by some other block in the file * system, which is recorded as "refblock". (Only one reference to * the block is allowed by the block relocator.) "refoffset" describes * the location within the refblock in which the block is referenced. * "isindirect" is 0 for direct, 1 for single-indirect, 2 for * double-indirect, etc. * * The algorithms in the file fill the entries of this struct in this order: * num, refblock/refoffset/isindirectblock, dest. */ struct ext2_block_entry { blk_t num; blk_t dest; blk_t refblock; unsigned refoffset:16; unsigned isindirectblock:16; }; /* This struct contains all data structures relevant to the block relocator. * - newallocoffset is the distance between the start of a block group, * and the first data block in the group. This can change when a * filesystem is resized, because the size of the group descriptors is * proportional to the size of the filesystem. * * - allocentries is the size of the "block" array. It is a tuneable * parameter that determines how many blocks can be moved in each * pass. * * - usedentries says how many entries of the "block" array have been * used. That is, how many blocks have been scheduled so far to * be moved. * * - resolvedentries is the number of blocks whose referencing block * has been found and recorded in block[.]->refblock, etc. * * - block is an array that records which blocks need to be moved, and * where they will be moved to, etc. At some point in the algorithm, this * array gets sorted (grep for qsort!) by indirectness. * * - start: each entry in this array corresponds to a level of * indirectness (0-3). Each level has two items: dst and num. "num" * is the number of blocks inside "block" of that level of indirectness. * After doscan() is finished, and the level of indirectness of each * block is known, "block" is sorted (see above). The "dst" pointer * is a pointer inside "block" that indicates the start of the portion * of the array containg blocks of that level of indirectness. */ struct ext2_block_relocator_state { blk_t newallocoffset; blk_t allocentries; blk_t usedentries; blk_t resolvedentries; struct ext2_block_entry *block; struct { struct ext2_block_entry *dst; int num; } start[4]; }; static int compare_block_entries(const void *x0, const void *x1) { const struct ext2_block_entry *b0; const struct ext2_block_entry *b1; b0 = (const struct ext2_block_entry *)x0; b1 = (const struct ext2_block_entry *)x1; if (b0->num < b1->num) return -1; if (b0->num > b1->num) return 1; return 0; } static int compare_block_entries_ind(const void *x0, const void *x1) { const struct ext2_block_entry *b0; const struct ext2_block_entry *b1; b0 = (const struct ext2_block_entry *)x0; b1 = (const struct ext2_block_entry *)x1; if (b0->isindirectblock > b1->isindirectblock) return -1; if (b0->isindirectblock < b1->isindirectblock) return 1; return 0; } static int compare_block_entries_ref(const void *x0, const void *x1) { const struct ext2_block_entry *b0; const struct ext2_block_entry *b1; b0 = (const struct ext2_block_entry *)x0; b1 = (const struct ext2_block_entry *)x1; if (b0->refblock < b1->refblock) return -1; if (b0->refblock > b1->refblock) return 1; return 0; } struct ext2_block_entry *findit(struct ext2_block_relocator_state *state, blk_t block) { int min; int max; struct ext2_block_entry *retv; int t; blk_t tval; max = state->usedentries - 1; min = 0; retv = NULL; repeat: if (min > max) goto out; t = (min + max) >> 1; tval = state->block[t].num; if (tval > block) max = t - 1; if (tval < block) min = t + 1; if (tval != block) goto repeat; retv = &state->block[t]; out: return retv; } /* This function adds records a reference to a block ("blk"), if that * block is scheduled to be moved. */ static int doblock(struct ext2_fs *fs, struct ext2_block_relocator_state *state, blk_t blk, blk_t refblock, off_t refoffset, int indirect) { struct ext2_block_entry *ent; if ((ent = findit(state, blk)) == NULL) return 1; if (ent->refblock) { ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Cross-linked blocks found! Better go run e2fsck " "first!")); return 0; } ent->refblock = refblock; ent->refoffset = refoffset; ent->isindirectblock = indirect; state->resolvedentries++; state->start[indirect].num++; return 1; } static int doindblock(struct ext2_fs *fs, struct ext2_block_relocator_state *state, blk_t blk, blk_t refblock, off_t refoffset) { struct ext2_buffer_head *bh; int i; uint32_t *uptr; if (!doblock(fs, state, blk, refblock, refoffset, 1)) return 0; bh = ext2_bread(fs, blk); if (!bh) return 0; uptr = (uint32_t *)bh->data; for (i=0;i<(fs->blocksize >> 2);i++) if (uptr[i]) if (!doblock(fs, state, PED_LE32_TO_CPU(uptr[i]), blk, i<<2, 0)) return 0; if (!ext2_brelse(bh, 0)) return 0; return 1; } static int dodindblock(struct ext2_fs *fs, struct ext2_block_relocator_state *state, blk_t blk, blk_t refblock, off_t refoffset) { struct ext2_buffer_head *bh; int i; uint32_t *uptr; if (!doblock(fs, state, blk, refblock, refoffset, 2)) return 0; bh = ext2_bread(fs, blk); if (!bh) return 0; uptr = (uint32_t *)bh->data; for (i=0;i<(fs->blocksize >> 2);i++) if (uptr[i]) if (!doindblock(fs, state, PED_LE32_TO_CPU(uptr[i]), blk, i<<2)) return 0; if (!ext2_brelse(bh, 0)) return 0; return 1; } static int dotindblock(struct ext2_fs *fs, struct ext2_block_relocator_state *state, blk_t blk, blk_t refblock, off_t refoffset) { struct ext2_buffer_head *bh; int i; uint32_t *uptr; if (!doblock(fs, state, blk, refblock, refoffset, 3)) return 0; bh = ext2_bread(fs, blk); if (!bh) return 0; uptr = (uint32_t *)bh->data; for (i=0;i<(fs->blocksize >> 2);i++) if (uptr[i]) if (!dodindblock(fs, state, PED_LE32_TO_CPU(uptr[i]), blk, i<<2)) return 0; if (!ext2_brelse(bh, 0)) return 0; return 1; } /* This function records any block references from an inode to blocks that are * scheduled to be moved. */ static int doinode(struct ext2_fs *fs, struct ext2_block_relocator_state *state, int inode) { struct ext2_inode buf; if (!ext2_read_inode(fs, inode, &buf)) return 0; if (EXT2_INODE_BLOCKS(buf)) { blk_t blk; int i; off_t inodeoffset; blk_t inodeblock; inodeoffset = ext2_get_inode_offset(fs, inode, &inodeblock); /* do Hurd block, if there is one... */ if (EXT2_SUPER_CREATOR_OS(fs->sb) == EXT2_OS_HURD && EXT2_INODE_TRANSLATOR(buf)) { if (!doblock(fs, state, EXT2_INODE_TRANSLATOR(buf), inodeblock, inodeoffset + offsetof(struct ext2_inode, osd1.hurd1.h_i_translator), 0)) return 0; } for (i=0;istart[0].num = 0; state->start[1].num = 0; state->start[2].num = 0; state->start[3].num = 0; for (i=0;inumgroups;i++) { struct ext2_buffer_head *bh; unsigned int j; int offset; if (fs->opt_verbose) { fprintf(stderr, " scanning group %i.... ", i); fflush(stderr); } bh = ext2_bread(fs, EXT2_GROUP_INODE_BITMAP(fs->gd[i])); if (!bh) return 0; offset = i * EXT2_SUPER_INODES_PER_GROUP(fs->sb) + 1; for (j=0;jsb);j++) if (bh->data[j>>3] & _bitmap[j&7]) { if (!doinode(fs, state, offset + j)) { ext2_brelse(bh, 0); return 0; } if (state->resolvedentries == state->usedentries) break; } ext2_brelse(bh, 0); if (fs->opt_verbose) { fprintf(stderr, "%i/%i blocks resolved\r", state->resolvedentries, state->usedentries); fflush(stderr); } if (state->resolvedentries == state->usedentries) break; } if (fs->opt_verbose) fputc('\n', stderr); state->start[3].dst = state->block; state->start[2].dst = state->start[3].dst + state->start[3].num; state->start[1].dst = state->start[2].dst + state->start[2].num; state->start[0].dst = state->start[1].dst + state->start[1].num; return 1; } static int ext2_block_relocator_copy(struct ext2_fs *fs, struct ext2_block_relocator_state *state) { unsigned char *buf; ped_exception_fetch_all(); buf = (unsigned char *) ped_malloc(MAXCONT << fs->logsize); if (buf) { int num; int numleft; struct ext2_block_entry *ptr; ped_exception_leave_all(); numleft = state->usedentries; ptr = state->block; while (numleft) { num = PED_MIN(numleft, MAXCONT); while (num != 1) { if (ptr[0].num + num-1 == ptr[num-1].num && ptr[0].dest + num-1 == ptr[num-1].dest) break; num >>= 1; } if (!ext2_bcache_flush_range(fs, ptr[0].num, num)) goto error_free_buf; if (!ext2_bcache_flush_range(fs, ptr[0].dest, num)) goto error_free_buf; if (!ext2_read_blocks(fs, buf, ptr[0].num, num)) goto error_free_buf; if (!ext2_write_blocks(fs, buf, ptr[0].dest, num)) goto error_free_buf; ptr += num; numleft -= num; if (fs->opt_verbose) { fprintf(stderr, "copied %i/%i blocks\r", state->usedentries - numleft, state->usedentries); fflush(stderr); } } free(buf); if (fs->opt_safe) ext2_sync(fs); if (fs->opt_verbose) fputc('\n', stderr); } else { blk_t i; ped_exception_catch(); ped_exception_leave_all(); for (i=0;iusedentries;i++) { struct ext2_block_entry *block; block = &state->block[i]; if (!ext2_copy_block(fs, block->num, block->dest)) goto error; } } return 1; error_free_buf: free(buf); error: return 0; } static int ext2_block_relocator_ref(struct ext2_fs *fs, struct ext2_block_relocator_state *state, struct ext2_block_entry *block) { struct ext2_buffer_head *bh; static int numerrors = 0; if (!(block->refblock || block->refoffset)) { ped_exception_throw (PED_EXCEPTION_BUG, PED_EXCEPTION_CANCEL, _("Block %i has no reference? Weird."), block->num); return 0; } bh = ext2_bread(fs, block->refblock); if (!bh) return 0; if (fs->opt_debug) { if (PED_LE32_TO_CPU(*((uint32_t *)(bh->data + block->refoffset))) != block->num) { fprintf(stderr, "block %i ref error! (->%i {%i, %i})\n", block->num, block->dest, block->refblock, block->refoffset); ext2_brelse(bh, 0); if (numerrors++ < 4) return 1; fputs("all is not well!\n", stderr); return 0; } } *((uint32_t *)(bh->data + block->refoffset)) = PED_LE32_TO_CPU(block->dest); bh->dirty = 1; ext2_brelse(bh, 0); ext2_set_block_state(fs, block->dest, 1, 1); ext2_set_block_state(fs, block->num, 0, 1); if (block->isindirectblock) { struct ext2_block_entry *dst; int i; int num; dst = state->start[block->isindirectblock-1].dst; num = state->start[block->isindirectblock-1].num; for (i=0;inum) dst[i].refblock = block->dest; } return 1; } /* This function allocates new locations for blocks that are scheduled to move * (inside state->blocks). * * FIXME: doesn't seem to handle sparse block groups. That is, there might be * some free space that could be exploited in resizing that currently isn't... * * FIXME: should throw an exception if it fails to allocate blocks. */ static int ext2_block_relocator_grab_blocks(struct ext2_fs *fs, struct ext2_block_relocator_state *state) { int i; blk_t ptr; ptr = 0; for (i=0;inumgroups;i++) if (EXT2_GROUP_FREE_BLOCKS_COUNT(fs->gd[i])) { struct ext2_buffer_head *bh; unsigned int j; int offset; bh = ext2_bread(fs, EXT2_GROUP_BLOCK_BITMAP(fs->gd[i])); offset = i * EXT2_SUPER_BLOCKS_PER_GROUP(fs->sb) + EXT2_SUPER_FIRST_DATA_BLOCK(fs->sb); for (j=state->newallocoffset; jsb); j++) if (!(bh->data[j>>3] & _bitmap[j&7])) { state->block[ptr++].dest = offset + j; if (ptr == state->usedentries) { ext2_brelse(bh, 0); return 1; } } ext2_brelse(bh, 0); } return 0; } static int ext2_block_relocator_flush(struct ext2_fs *fs, struct ext2_block_relocator_state *state) { int i; if (!state->usedentries) return 1; if (fs->opt_verbose) fputs("ext2_block_relocator_flush\n", stderr); if (fs->opt_debug) { again: for (i=0; (unsigned int) i < state->usedentries-1; i++) if (state->block[i].num >= state->block[i+1].num) { fputs("ext2_block_relocator_flush: " "blocks not in order!\n", stderr); qsort(state->block, state->usedentries, sizeof(struct ext2_block_entry), compare_block_entries); goto again; } } if (!doscan(fs, state)) return 0; if (!ext2_block_relocator_grab_blocks(fs, state)) return 0; if (!ext2_block_relocator_copy(fs, state)) return 0; qsort(state->block, state->usedentries, sizeof(struct ext2_block_entry), compare_block_entries_ind); for (i=3;i>=0;i--) { struct ext2_block_entry *dst; int j; int num; dst = state->start[i].dst; num = state->start[i].num; if (!num) continue; if (fs->opt_verbose) { /* FIXXXME gross hack */ fprintf(stderr, "relocating %s blocks", ((const char *const [4]) {"direct", "singly indirect", "doubly indirect", "triply indirect"})[i]); fflush(stderr); } qsort(dst, num, sizeof(struct ext2_block_entry), compare_block_entries_ref); for (j=0;jopt_safe) { if (!ext2_sync(fs)) return 0; } if (fs->opt_verbose) fputc('\n', stderr); } state->usedentries = 0; state->resolvedentries = 0; return 1; } static int ext2_block_relocator_mark(struct ext2_fs *fs, struct ext2_block_relocator_state *state, blk_t block) { int i; if (fs->opt_debug) { if (!ext2_get_block_state(fs, block) || !ext2_is_data_block(fs, block)) { ped_exception_throw (PED_EXCEPTION_WARNING, PED_EXCEPTION_IGNORE, _("Block %i shouldn't have been marked " "(%d, %d)!"), block, ext2_get_block_state(fs, block), ext2_is_data_block(fs, block)); } } if (state->usedentries == state->allocentries - 1) if (!ext2_block_relocator_flush(fs, state)) return 0; i = state->usedentries; state->block[i].num = block; state->block[i].dest = 0; state->block[i].refblock = 0; state->block[i].refoffset = 0; state->usedentries++; return 1; } static int ext2_block_relocate_grow(struct ext2_fs *fs, struct ext2_block_relocator_state *state, blk_t newsize) { blk_t newgdblocks; blk_t newitoffset; int i; newgdblocks = ped_div_round_up (newsize - EXT2_SUPER_FIRST_DATA_BLOCK(fs->sb), EXT2_SUPER_BLOCKS_PER_GROUP(fs->sb)); newgdblocks = ped_div_round_up (newgdblocks * sizeof(struct ext2_group_desc), fs->blocksize); if (newgdblocks == fs->gdblocks) return 1; newitoffset = newgdblocks + 3; state->newallocoffset = newitoffset + fs->inodeblocks; for (i=0;inumgroups;i++) { struct ext2_buffer_head *bh; blk_t diff; blk_t j; blk_t start; int sparse; bh = ext2_bread(fs, EXT2_GROUP_BLOCK_BITMAP(fs->gd[i])); start = (i * EXT2_SUPER_BLOCKS_PER_GROUP(fs->sb)) + EXT2_SUPER_FIRST_DATA_BLOCK(fs->sb); sparse = ext2_is_group_sparse(fs, i); if (EXT2_GROUP_INODE_TABLE(fs->gd[i]) < start + newitoffset || (sparse && ((EXT2_GROUP_BLOCK_BITMAP(fs->gd[i]) < start + newitoffset - 2) || (EXT2_GROUP_INODE_BITMAP(fs->gd[i]) < start + newitoffset - 1)))) { diff = newitoffset - (EXT2_GROUP_INODE_TABLE(fs->gd[i]) - start); for (j=0;jgd[i]) + fs->inodeblocks + j; block = k % EXT2_SUPER_BLOCKS_PER_GROUP(fs->sb); if (bh->data[block>>3] & _bitmap[block&7]) { k += EXT2_SUPER_FIRST_DATA_BLOCK(fs->sb); if (!ext2_block_relocator_mark(fs, state, k)) { ext2_brelse(bh, 0); return 0; } } } } ext2_brelse(bh, 0); } if (!ext2_block_relocator_flush(fs, state)) return 0; return 1; } static int ext2_block_relocate_shrink(struct ext2_fs *fs, struct ext2_block_relocator_state *state, blk_t newsize) { int i; state->newallocoffset = fs->itoffset + fs->inodeblocks; for (i=0;inumgroups;i++) { struct ext2_buffer_head *bh; blk_t groupsize; blk_t j; blk_t offset; int sparse; blk_t start; int type; offset = i * EXT2_SUPER_BLOCKS_PER_GROUP(fs->sb) + EXT2_SUPER_FIRST_DATA_BLOCK(fs->sb); sparse = ext2_is_group_sparse(fs, i); if (newsize >= offset + EXT2_SUPER_BLOCKS_PER_GROUP(fs->sb)) continue; /* group will survive */ bh = ext2_bread(fs, EXT2_GROUP_BLOCK_BITMAP(fs->gd[i])); if (newsize <= offset) type = 2; /* group is fully chopped off */ else type = 1; /* group is partly chopped off */ if (!sparse && type == 2) { for (j=EXT2_GROUP_INODE_BITMAP(fs->gd[i])+1; jgd[i]); j++) { blk_t k; k = j - offset; if (bh->data[k>>3] & _bitmap[k&7]) if (!ext2_block_relocator_mark(fs, state, j)) { ext2_brelse(bh, 0); return 0; } } } start = newsize; if (type == 2) start = EXT2_GROUP_INODE_TABLE(fs->gd[i]) + fs->inodeblocks; start -= offset; groupsize = EXT2_SUPER_BLOCKS_PER_GROUP(fs->sb); if (offset + groupsize > EXT2_SUPER_BLOCKS_COUNT(fs->sb)) groupsize = EXT2_SUPER_BLOCKS_COUNT(fs->sb) - offset; for (j=start;jdata[j>>3] & _bitmap[j&7]) if (!ext2_block_relocator_mark(fs, state, offset + j)) { ext2_brelse(bh, 0); return 0; } ext2_brelse(bh, 0); } return ext2_block_relocator_flush(fs, state); } int ext2_block_relocate(struct ext2_fs *fs, blk_t newsize) { struct ext2_block_relocator_state state; if (fs->opt_verbose) fputs("relocating blocks....\n", stderr); state.newallocoffset = 0; state.allocentries = (ext2_relocator_pool_size << 10) / sizeof(struct ext2_block_entry); state.usedentries = 0; state.resolvedentries = 0; state.block = (struct ext2_block_entry *)fs->relocator_pool; if (newsize < EXT2_SUPER_BLOCKS_COUNT(fs->sb)) return ext2_block_relocate_shrink(fs, &state, newsize); return ext2_block_relocate_grow(fs, &state, newsize); } #endif /* !DISCOVER_ONLY */ parted-2.3/libparted/fs/ext2/Makefile.am0000644000000000000000000000065111035473300015016 00000000000000partedincludedir = -I$(top_srcdir)/include noinst_LTLIBRARIES = libext2.la libext2_la_SOURCES = ext2.c \ ext2.h \ ext2_fs.h \ ext2_block_relocator.c \ ext2_buffer.c \ ext2_inode_relocator.c \ ext2_meta.c \ ext2_mkfs.c \ ext2_resize.c \ interface.c \ parted_io.c \ parted_io.h \ tune.c \ tune.h INCLUDES = $(partedincludedir) $(INTLINCS) MAINTAINERCLEANFILES = Makefile.in parted-2.3/libparted/fs/ext2/parted_io.h0000644000000000000000000000157011370314006015101 00000000000000/* parted_io.h Copyright (C) 1998-2000, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _PARTED_IO_H #define _PARTED_IO_H #include "ext2.h" void ext2_destroy_dev_handle(struct ext2_dev_handle *handle); #endif parted-2.3/libparted/fs/ext2/ext2_mkfs.c0000644000000000000000000004226511333731662015050 00000000000000/* ext2_mkfs.c -- ext2 fs creator Copyright (C) 1999-2001, 2007-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #ifndef DISCOVER_ONLY #define USE_EXT2_IS_DATA_BLOCK #include #include #include #include #include #include #include #include "ext2.h" /* formula grabbed from linux ext2 kernel source * * returns 1 iff: * x == y^N, N is some natural number * OR x == 0 */ static __inline__ int is_root(int x, int y) { if (!x) return 1; while (1) { if (x == 1) return 1; if (x % y) return 0; x /= y; } } static __inline__ int is_group_sparse(int sparsesbfs, int group) { if (!sparsesbfs) return 1; if (is_root(group, 3) || is_root(group, 5) || is_root(group, 7)) return 1; return 0; } /* has implicit parameter 'sb' !! */ #define is_sparse(group) is_group_sparse(EXT2_SUPER_FEATURE_RO_COMPAT(*sb) \ & EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER, (group)) static int ext2_mkfs_write_main(struct ext2_dev_handle *handle, struct ext2_super_block *sb, struct ext2_group_desc *gd) { int freeit; int i; int numgroups; int gdblocks; unsigned char *sbbuf; struct ext2_super_block *sb_for_io; freeit = 0; sbbuf = (unsigned char *)sb; sb_for_io = sb; if (EXT2_SUPER_LOG_BLOCK_SIZE(*sb)) { sbbuf = ped_malloc(1024 << EXT2_SUPER_LOG_BLOCK_SIZE(*sb)); if (!(handle->ops->read)(handle->cookie, sbbuf, 0, 1)) return 0; memcpy (sbbuf+1024, sb, 1024); freeit = 1; sb_for_io = (struct ext2_super_block*) (sbbuf + 1024); } numgroups = ped_div_round_up (EXT2_SUPER_BLOCKS_COUNT(*sb) - EXT2_SUPER_FIRST_DATA_BLOCK(*sb), EXT2_SUPER_BLOCKS_PER_GROUP(*sb)); gdblocks = ped_div_round_up (numgroups * sizeof(struct ext2_group_desc), 1024 << EXT2_SUPER_LOG_BLOCK_SIZE(*sb)); for (i=0;is_block_group_nr = PED_CPU_TO_LE16 (i); if (!handle->ops->write(handle->cookie, sbbuf, offset, 1)) return 0; if (!handle->ops->write(handle->cookie, gd, offset+1, gdblocks)) return 0; } } sb_for_io->s_block_group_nr = 0; if (freeit) free(sbbuf); return 1; } static int ext2_mkfs_write_meta(struct ext2_dev_handle *handle, struct ext2_super_block *sb, struct ext2_group_desc *gd, PedTimer* timer) { int blocksize; int gdtsize; int i; int itsize; int numgroups; unsigned char *bb; unsigned char *ib; unsigned char *zero; blocksize = 1 << (EXT2_SUPER_LOG_BLOCK_SIZE(*sb) + 13); numgroups = ped_div_round_up (EXT2_SUPER_BLOCKS_COUNT(*sb) - EXT2_SUPER_FIRST_DATA_BLOCK(*sb), EXT2_SUPER_BLOCKS_PER_GROUP(*sb)); itsize = ped_div_round_up (sizeof(struct ext2_inode) * EXT2_SUPER_INODES_PER_GROUP(*sb), (1024 << EXT2_SUPER_LOG_BLOCK_SIZE(*sb))); gdtsize = ped_div_round_up (sizeof(struct ext2_group_desc) * numgroups, (1024 << EXT2_SUPER_LOG_BLOCK_SIZE(*sb))); bb = ped_malloc(1024 << EXT2_SUPER_LOG_BLOCK_SIZE(*sb)); if (!bb) goto error; ib = ped_malloc(1024 << EXT2_SUPER_LOG_BLOCK_SIZE(*sb)); if (!ib) goto error_free_bb; zero = ped_malloc((1024 << EXT2_SUPER_LOG_BLOCK_SIZE(*sb)) * itsize); if (!zero) goto error_free_zero; memset(zero, 0, (1024 << EXT2_SUPER_LOG_BLOCK_SIZE(*sb)) * itsize); ped_timer_reset (timer); ped_timer_set_state_name (timer, _("writing per-group metadata")); for (i=0;i>3] |= _bitmap[j&7]; j = bbblock - groupoffset; bb[j>>3] |= _bitmap[j&7]; j = ibblock - groupoffset; bb[j>>3] |= _bitmap[j&7]; for (j=0;j>3] |= _bitmap[k&7]; } for (j=groupsize;j>3] |= _bitmap[j&7]; if (!handle->ops->write(handle->cookie, bb, bbblock, 1)) goto error_free_zero; } { memset(ib, 0, 1024 << EXT2_SUPER_LOG_BLOCK_SIZE(*sb)); for (j=EXT2_SUPER_INODES_PER_GROUP(*sb);j>3] |= _bitmap[j&7]; if (!handle->ops->write(handle->cookie, ib, ibblock, 1)) goto error_free_zero; } if (!handle->ops->write(handle->cookie, zero, groupoffset + gdtsize + 3, itsize)) goto error_free_zero; gd[i].bg_block_bitmap = PED_CPU_TO_LE32(bbblock); gd[i].bg_inode_bitmap = PED_CPU_TO_LE32(ibblock); gd[i].bg_inode_table = PED_CPU_TO_LE32(groupoffset + gdtsize + 3); gd[i].bg_free_blocks_count = PED_CPU_TO_LE16(groupsize - admin); gd[i].bg_free_inodes_count = PED_CPU_TO_LE16( EXT2_SUPER_INODES_PER_GROUP(*sb)); gd[i].bg_used_dirs_count = 0; gd[i].bg_used_dirs_count = 0; gd[i].bg_pad = 0; gd[i].bg_reserved[0] = 0; gd[i].bg_reserved[1] = 0; gd[i].bg_reserved[2] = 0; sb->s_free_blocks_count = PED_CPU_TO_LE32 ( EXT2_SUPER_FREE_BLOCKS_COUNT(*sb) + EXT2_GROUP_FREE_BLOCKS_COUNT(gd[i])); } ped_timer_update (timer, 1.0); free(zero); free(ib); free(bb); return 1; error_free_zero: free(zero); free(ib); error_free_bb: free(bb); error: return 0; } /* returns the offset into the buffer of the start of the next dir entry */ static int _set_dirent(void* buf, int offset, int block_size, int is_last, uint32_t inode, const char* name, int file_type) { struct ext2_dir_entry_2 *dirent = (void*) (((char*)buf) + offset); int name_len = strlen(name); int rec_len; if (is_last) rec_len = block_size - offset; else rec_len = ped_round_up_to(name_len + 1 + 8, 4); memset (dirent, 0, rec_len); dirent->inode = PED_CPU_TO_LE32(inode); dirent->name_len = name_len; dirent->rec_len = PED_CPU_TO_LE16(rec_len); dirent->file_type = file_type; strcpy(dirent->name, name); return offset + rec_len; } static int ext2_mkfs_create_lost_and_found_inode(struct ext2_fs *fs) { struct ext2_buffer_head *bh; blk_t blocks[12]; uint32_t* data = ped_malloc ((fs->blocksize / 4) * sizeof(uint32_t)); int i; struct ext2_inode inode; int offset; for (i=0;i<12;i++) { if (!(blocks[i] = ext2_find_free_block(fs))) return 0; if (!ext2_set_block_state(fs, blocks[i], 1, 1)) return 0; } /* create the directory entries, preallocating lots of blocks */ /* first block contains . and .. */ bh = ext2_bcreate(fs, blocks[0]); if (!bh) return 0; memset(bh->data, 0, fs->blocksize); offset = _set_dirent(bh->data, 0, fs->blocksize, 0, 11, ".", EXT2_FT_DIR); offset = _set_dirent(bh->data, offset, fs->blocksize, 1, EXT2_ROOT_INO, "..", EXT2_FT_DIR); (void) offset; bh->dirty = 1; ext2_brelse(bh, 1); /* subsequent blocks are empty */ memset(data, 0, fs->blocksize); data[0] = 0; data[1] = PED_CPU_TO_LE32(fs->blocksize); for (i=1;i<12;i++) { bh = ext2_bcreate(fs, blocks[i]); memcpy(bh->data, data, fs->blocksize); bh->dirty = 1; ext2_brelse(bh, 1); } /* create inode */ memset(&inode, 0, sizeof(struct ext2_inode)); inode.i_mode = PED_CPU_TO_LE16(S_IFDIR | 0755); inode.i_uid = 0; inode.i_size = PED_CPU_TO_LE32(12 * fs->blocksize); inode.i_atime = PED_CPU_TO_LE32(time(NULL)); inode.i_ctime = PED_CPU_TO_LE32(time(NULL)); inode.i_mtime = PED_CPU_TO_LE32(time(NULL)); inode.i_dtime = 0; inode.i_gid = 0; inode.i_links_count = PED_CPU_TO_LE16(2); inode.i_blocks = PED_CPU_TO_LE32((12 * fs->blocksize) >> 9); inode.i_flags = 0; for (i=0;i<12;i++) inode.i_block[i] = PED_CPU_TO_LE32(blocks[i]); if (!ext2_write_inode(fs, 11, &inode)) return 0; fs->gd[0].bg_used_dirs_count = PED_CPU_TO_LE16( EXT2_GROUP_USED_DIRS_COUNT(fs->gd[0]) + 1); fs->metadirty |= EXT2_META_GD; return 1; } static int ext2_mkfs_create_root_inode(struct ext2_fs *fs) { struct ext2_buffer_head *bh; blk_t block; struct ext2_inode inode; int offset; if (!(block = ext2_find_free_block(fs))) return 0; if (!ext2_set_block_state(fs, block, 1, 1)) return 0; /* create directory entries */ bh = ext2_bcreate(fs, block); memset(bh->data, 0, fs->blocksize); offset = _set_dirent(bh->data, 0, fs->blocksize, 0, EXT2_ROOT_INO, ".", EXT2_FT_DIR); offset = _set_dirent(bh->data, offset, fs->blocksize, 0, EXT2_ROOT_INO, "..", EXT2_FT_DIR); offset = _set_dirent(bh->data, offset, fs->blocksize, 1, 11, "lost+found", EXT2_FT_DIR); bh->dirty = 1; if (!ext2_brelse(bh, 1)) return 0; /* create inode */ memset(&inode, 0, sizeof(struct ext2_inode)); inode.i_mode = PED_CPU_TO_LE16(S_IFDIR | 0755); inode.i_uid = 0; inode.i_size = PED_CPU_TO_LE32(fs->blocksize); inode.i_atime = PED_CPU_TO_LE32(time(NULL)); inode.i_ctime = PED_CPU_TO_LE32(time(NULL)); inode.i_mtime = PED_CPU_TO_LE32(time(NULL)); inode.i_dtime = 0; inode.i_gid = 0; inode.i_links_count = PED_CPU_TO_LE16(3); inode.i_blocks = PED_CPU_TO_LE32(fs->blocksize >> 9); inode.i_flags = 0; inode.i_block[0] = PED_CPU_TO_LE32(block); if (!ext2_write_inode(fs, 2, &inode)) return 0; fs->gd[0].bg_used_dirs_count = PED_CPU_TO_LE16 ( EXT2_GROUP_USED_DIRS_COUNT(fs->gd[0]) + 1); fs->metadirty |= EXT2_META_GD; return 1; } static int ext2_reserve_inodes(struct ext2_fs *fs) { int i; for (i=1;i<12;i++) if (!ext2_set_inode_state(fs, i, 1, 1)) return 0; return 1; } static int ext2_mkfs_init_sb (struct ext2_super_block *sb, blk_t numblocks, int numgroups, int first_block, int log_block_size, blk_t blocks_per_group, int inodes_per_group, int sparse_sb, int reserved_block_percentage) { /* catch a bug in gcc 2.95.2 */ PED_ASSERT(numgroups != 0, return 0); memset(sb, 0, 1024); sb->s_inodes_count = PED_CPU_TO_LE32(numgroups * inodes_per_group); sb->s_blocks_count = PED_CPU_TO_LE32(numblocks); sb->s_r_blocks_count = PED_CPU_TO_LE32(((uint64_t)numblocks * reserved_block_percentage) / 100); /* hack: this get's inc'd as we go through each group in * ext2_mkfs_write_meta() */ sb->s_free_blocks_count = 0; sb->s_free_inodes_count = PED_CPU_TO_LE32 (numgroups * inodes_per_group); sb->s_first_data_block = PED_CPU_TO_LE32(first_block); sb->s_log_block_size = PED_CPU_TO_LE32(log_block_size - 10); sb->s_log_frag_size = sb->s_log_block_size; sb->s_blocks_per_group = PED_CPU_TO_LE32(blocks_per_group); sb->s_frags_per_group = PED_CPU_TO_LE32(blocks_per_group); sb->s_inodes_per_group = PED_CPU_TO_LE32(inodes_per_group); sb->s_mtime = 0; sb->s_wtime = 0; sb->s_mnt_count = 0; sb->s_max_mnt_count = PED_CPU_TO_LE16(30); sb->s_magic = PED_CPU_TO_LE16(0xEF53); sb->s_state = PED_CPU_TO_LE16(EXT2_VALID_FS); sb->s_errors = PED_CPU_TO_LE16(EXT2_ERRORS_DEFAULT); sb->s_minor_rev_level = 0; sb->s_lastcheck = 0; sb->s_checkinterval = 0; sb->s_creator_os = 0; sb->s_rev_level = PED_CPU_TO_LE32(1); sb->s_def_resuid = 0; sb->s_def_resgid = 0; sb->s_first_ino = PED_CPU_TO_LE32(11); sb->s_inode_size = PED_CPU_TO_LE16(128); sb->s_block_group_nr = 0; sb->s_feature_compat = 0; sb->s_feature_incompat = 0; sb->s_feature_ro_compat = 0; if (sparse_sb) sb->s_feature_ro_compat |= PED_CPU_TO_LE32(EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER); /* FIXME: let the user decide? _set_dirent() assumes FILETYPE */ sb->s_feature_incompat |= PED_CPU_TO_LE32(EXT2_FEATURE_INCOMPAT_FILETYPE); uuid_generate(sb->s_uuid); memset(sb->s_volume_name, 0, 16); memset(sb->s_last_mounted, 0, 64); sb->s_algorithm_usage_bitmap = 0; sb->s_prealloc_blocks = 0; sb->s_prealloc_dir_blocks = 0; sb->s_padding1 = 0; return 1; } /* Given these five inputs, compute the three outputs. */ static void compute_block_counts (blk_t numblocks, int numgroups, int log_block_size, int sparse_sb, blk_t blocks_per_group, int *last_group_blocks, int *last_group_admin, int *inodes_per_group) { int first_block = (log_block_size == 10) ? 1 : 0; size_t block_size = 1 << log_block_size; *last_group_blocks = ((numblocks - first_block) % blocks_per_group); if (!*last_group_blocks) *last_group_blocks = blocks_per_group; *inodes_per_group = ped_round_up_to (numblocks / numgroups / 2, (block_size / sizeof(struct ext2_inode))); *last_group_admin = (2 + *inodes_per_group * sizeof(struct ext2_inode) / block_size); if (is_group_sparse(sparse_sb, numgroups - 1)) { *last_group_admin += (ped_div_round_up (numgroups * sizeof(struct ext2_group_desc), block_size)); } } struct ext2_fs *ext2_mkfs(struct ext2_dev_handle *handle, blk_t numblocks, int log_block_size, blk_t blocks_per_group, int inodes_per_group, int sparse_sb, int reserved_block_percentage, PedTimer* timer) { struct ext2_fs *fs; struct ext2_super_block sb; struct ext2_group_desc *gd; int numgroups; int first_block; int last_group_blocks; int last_group_admin; /* if the FS is > 512Mb, use 4k blocks, otherwise 1k blocks */ if (log_block_size == 0) { handle->ops->set_blocksize(handle->cookie, 12); if (handle->ops->get_size(handle->cookie) > (512 * 1024)) log_block_size = 12; else log_block_size = 10; } /* FIXME: block size must be > MAX(logicalbs, physicalbs) * to avoid modify-on-write. * -- Leslie */ handle->ops->set_blocksize(handle->cookie, log_block_size); if (numblocks == 0) numblocks = handle->ops->get_size(handle->cookie); if (numblocks == 0) goto diagnose_fs_too_small; if (blocks_per_group == (unsigned int) 0) blocks_per_group = 8 << log_block_size; first_block = (log_block_size == 10) ? 1 : 0; numgroups = ped_div_round_up (numblocks - first_block, blocks_per_group); if (sparse_sb == -1) sparse_sb = 1; /* FIXME: 5% not appropriate for modern drive sizes */ if (reserved_block_percentage == -1) reserved_block_percentage = 5; compute_block_counts (numblocks, numgroups, log_block_size, sparse_sb, blocks_per_group, &last_group_blocks, &last_group_admin, &inodes_per_group); int fs_too_small = 0; if (last_group_admin + 1 >= last_group_blocks) { numgroups--; if (numgroups == 0) fs_too_small = 1; else { numblocks -= last_group_blocks; compute_block_counts (numblocks, numgroups, log_block_size, sparse_sb, blocks_per_group, &last_group_blocks, &last_group_admin, &inodes_per_group); } } if (numgroups == 1 && (last_group_blocks - last_group_admin < 8 || inodes_per_group < 16 /* This final term ensures that we detect mkpartfs primary ext2 10KB 27650B as invalid. */ || (inodes_per_group == 16 && last_group_blocks - last_group_admin < 14))) fs_too_small = 1; if (fs_too_small) { diagnose_fs_too_small: ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("File system too small for ext2.")); goto error; } gd = ped_malloc(numgroups * sizeof(struct ext2_group_desc) + (1 << log_block_size)); if (!gd) goto error; if (!ext2_mkfs_init_sb(&sb, numblocks, numgroups, first_block, log_block_size, blocks_per_group, inodes_per_group, sparse_sb, reserved_block_percentage)) goto error_free_gd; if (!ext2_mkfs_write_meta(handle, &sb, gd, timer)) goto error_free_gd; if (!ext2_mkfs_write_main(handle, &sb, gd)) goto error_free_gd; fs = ext2_open(handle, 0); if (!fs) goto error_close_fs; if (!ext2_reserve_inodes(fs)) goto error_close_fs; if (!ext2_mkfs_create_root_inode(fs)) goto error_close_fs; if (!ext2_mkfs_create_lost_and_found_inode(fs)) goto error_close_fs; if (!ext2_sync(fs)) goto error_close_fs; free(gd); return fs; error_close_fs: ext2_close(fs); error_free_gd: free (gd); error: return NULL; } #endif /* !DISCOVER_ONLY */ parted-2.3/libparted/fs/ext2/ext2_inode_relocator.c0000644000000000000000000003046211370314006017242 00000000000000/* ext2_inode_relocator.c -- ext2 inode relocator Copyright (C) 1998-2000, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #ifndef DISCOVER_ONLY #include #include #include /* for S_ISDIR */ #include "ext2.h" struct ext2_reference { blk_t block; off_t offset; }; struct ext2_inode_entry { ino_t num; ino_t dest; unsigned numreferences:16; unsigned isdir:1; struct ext2_reference *ref; }; struct ext2_inode_relocator_state { int usedentries; int resolvedentries; struct ext2_inode_entry *inode; struct ext2_reference *last; }; static struct ext2_inode_entry *findit(struct ext2_inode_relocator_state *state, ino_t inode) { int min; int max; struct ext2_inode_entry *retv; int t; blk_t tval; max = state->usedentries - 1; min = 0; retv = NULL; repeat: if (min > max) goto out; t = (min + max) >> 1; tval = state->inode[t].num; t--; if (tval > inode) max = t; t += 2; if (tval < inode) min = t; t--; if (tval != inode) goto repeat; retv = &state->inode[t]; out: return retv; } static int addref(struct ext2_fs *fs, struct ext2_inode_relocator_state *state, ino_t inode, blk_t block, off_t offset) { struct ext2_inode_entry *ent; int i; if ((ent = findit(state, inode)) == NULL) return 1; for (i=0;inumreferences;i++) if (!ent->ref[i].block) break; if (i == ent->numreferences) { ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Found an inode with a incorrect link count. " "Better go run e2fsck first!")); return 0; } if (i == ent->numreferences - 1) state->resolvedentries++; ent->ref[i].block = block; ent->ref[i].offset = offset; return 1; } static int doblock(struct ext2_fs *fs, struct ext2_inode_relocator_state *state, blk_t blockno) { struct ext2_buffer_head *bh; off_t offset; bh = ext2_bread(fs, blockno); if (!bh) return 0; offset = 0; do { struct ext2_dir_entry_2 *ptr; ptr = (struct ext2_dir_entry_2 *)(bh->data + offset); if (ptr->name_len) if (!addref(fs, state, EXT2_DIRENT_INODE(*ptr), blockno, offset)) return 0; PED_ASSERT (ptr->rec_len > 0, return 0); offset += EXT2_DIRENT_REC_LEN (*ptr); } while (offset < fs->blocksize); ext2_brelse(bh, 0); return 1; } static int doindblock(struct ext2_fs *fs, struct ext2_inode_relocator_state *state, blk_t blockno) { struct ext2_buffer_head *bh; blk_t blk; int i; bh = ext2_bread(fs, blockno); for (i=0;i<(fs->blocksize>>2);i++) if ((blk = PED_LE32_TO_CPU(((uint32_t *)bh->data)[i])) != 0) if (!doblock(fs, state, blk)) return 0; ext2_brelse(bh, 0); return 1; } static int dodindblock(struct ext2_fs *fs, struct ext2_inode_relocator_state *state, blk_t blockno) { struct ext2_buffer_head *bh; blk_t blk; int i; bh = ext2_bread(fs, blockno); if (!bh) return 0; for (i=0;i<(fs->blocksize>>2);i++) if ((blk = PED_LE32_TO_CPU(((uint32_t *)bh->data)[i])) != 0) if (!doindblock(fs, state, blk)) return 0; ext2_brelse(bh, 0); return 1; } static int dotindblock(struct ext2_fs *fs, struct ext2_inode_relocator_state *state, blk_t blockno) { struct ext2_buffer_head *bh; blk_t blk; int i; bh = ext2_bread(fs, blockno); if (!bh) return 0; for (i=0;i<(fs->blocksize>>2);i++) if ((blk = PED_LE32_TO_CPU(((uint32_t *)bh->data)[i])) != 0) if (!dodindblock(fs, state, blk)) return 0; ext2_brelse(bh, 0); return 1; } static int doinode(struct ext2_fs *fs, struct ext2_inode_relocator_state *state, ino_t inode) { struct ext2_inode buf; int i; if (!ext2_read_inode(fs, inode, &buf)) return 0; if (S_ISDIR(EXT2_INODE_MODE(buf))) { blk_t blk; for (i=0;iopt_verbose) fprintf(stderr, " scanning group %i.... ", group); bh = ext2_bread(fs, EXT2_GROUP_INODE_BITMAP(fs->gd[group])); offset = group * EXT2_SUPER_INODES_PER_GROUP(fs->sb) + 1; for (i=0;isb);i++) if (bh->data[i>>3] & _bitmap[i&7]) { if (!doinode(fs, state, offset + i)) { ext2_brelse(bh, 0); return 0; } if (state->resolvedentries == state->usedentries) break; } ext2_brelse(bh, 0); if (fs->opt_verbose) fprintf(stderr, "%i/%i inodes resolved\r", state->resolvedentries, state->usedentries); return 1; } /* basically: this builds a dependency graph of the inodes in the entire file * system. inodes are only referenced by the directory tree (or the magic * ones implicitly, like the bad blocks inode), so we just walk the directory * tree adding references. */ static int doscan(struct ext2_fs *fs, struct ext2_inode_relocator_state *state) { int i; /* while the journal will usually be inode 8 (and therefore will never * need to be moved), we don't have any guarantee (grrr). So, we * need to be prepared to move it... (and update the reference in the * super block) */ if (fs->has_internal_journal) addref(fs, state, EXT2_SUPER_JOURNAL_INUM(fs->sb), 1, offsetof(struct ext2_super_block, s_journal_inum)); if (!doscangroup(fs, state, 0)) return 0; if (state->resolvedentries != state->usedentries) for (i=fs->numgroups-1;i>0;i--) { if (!doscangroup(fs, state, i)) return 0; if (state->resolvedentries == state->usedentries) break; } if (fs->opt_verbose) fputc ('\n', stderr); return 1; } static int ext2_inode_relocator_copy(struct ext2_fs *fs, struct ext2_inode_relocator_state *state) { int i; for (i=0;iusedentries;i++) { struct ext2_inode buf; struct ext2_inode_entry *entry; entry = &state->inode[i]; if (fs->opt_debug) if (!ext2_get_inode_state(fs, entry->num) || ext2_get_inode_state(fs, entry->dest)) fputs ("inodebitmaperror\n", stderr); if (!ext2_read_inode(fs, entry->num, &buf)) return 0; if (!ext2_write_inode(fs, entry->dest, &buf)) return 0; entry->isdir = S_ISDIR(EXT2_INODE_MODE(buf))?1:0; } if (fs->opt_safe) if (!ext2_sync(fs)) return 0; return 1; } static int ext2_inode_relocator_finish(struct ext2_fs *fs, struct ext2_inode_relocator_state *state) { int i; for (i=0;iusedentries;i++) { struct ext2_inode_entry *entry; entry = &state->inode[i]; ext2_set_inode_state(fs, entry->dest, 1, 1); ext2_set_inode_state(fs, entry->num, 0, 1); ext2_zero_inode(fs, entry->num); } if (fs->opt_safe) if (!ext2_sync(fs)) return 0; return 1; } static int ext2_inode_relocator_ref(struct ext2_fs *fs, struct ext2_inode_relocator_state *state) { int i; static int numerrors = 0; for (i=0;iusedentries;i++) { struct ext2_inode_entry *entry; int j; uint32_t t; entry = &state->inode[i]; t = entry->dest; for (j=0;jnumreferences;j++) { struct ext2_buffer_head *bh; bh = ext2_bread(fs, entry->ref[j].block); if (!bh) return 0; if (fs->opt_debug) { if (PED_LE32_TO_CPU((*((uint32_t *)(bh->data + entry->ref[j].offset)))) != entry->num) { fprintf(stderr, "inode %li ref error! (->%li, [%i]={%i, %i})\n", (long) entry->num, (long) entry->dest, j, entry->ref[j].block, (int) entry->ref[j].offset); ext2_brelse(bh, 0); if (numerrors++ < 4) continue; fputs ("all is not well!\n", stderr); return 0; } } *((uint32_t *)(bh->data + entry->ref[j].offset)) = PED_CPU_TO_LE32(t); bh->dirty = 1; ext2_brelse(bh, 0); } if (entry->isdir) { int oldgroup; int newgroup; oldgroup = (entry->num - 1) / EXT2_SUPER_INODES_PER_GROUP(fs->sb); newgroup = (entry->dest - 1) / EXT2_SUPER_INODES_PER_GROUP(fs->sb); fs->gd[oldgroup].bg_used_dirs_count = PED_CPU_TO_LE16 ( EXT2_GROUP_USED_DIRS_COUNT(fs->gd[oldgroup]) - 1); fs->gd[newgroup].bg_used_dirs_count = PED_CPU_TO_LE16 ( EXT2_GROUP_USED_DIRS_COUNT(fs->gd[newgroup]) + 1); fs->metadirty = EXT2_META_GD; } } if (fs->opt_safe) if (!ext2_sync(fs)) return 0; return 1; } static int ext2_inode_relocator_grab_inodes(struct ext2_fs *fs, struct ext2_inode_relocator_state *state) { int i; int ptr; ptr = 0; for (i=0;inumgroups;i++) if (EXT2_GROUP_FREE_INODES_COUNT(fs->gd[i])) { struct ext2_buffer_head *bh; unsigned int j; int offset; bh = ext2_bread(fs, EXT2_GROUP_INODE_BITMAP(fs->gd[i])); if (!bh) return 0; offset = i * EXT2_SUPER_INODES_PER_GROUP(fs->sb) + 1; j = i ? 0 : 13; for (;jsb);j++) if (!(bh->data[j>>3] & _bitmap[j&7])) { state->inode[ptr++].dest = offset + j; if (ptr == state->usedentries) { ext2_brelse(bh, 0); return 1; } } ext2_brelse(bh, 0); } ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Not enough free inodes!")); return 0; } static int ext2_inode_relocator_flush(struct ext2_fs *fs, struct ext2_inode_relocator_state *state) { if (!state->usedentries) return 1; if (!doscan(fs, state)) return 0; if (!ext2_inode_relocator_grab_inodes(fs, state)) return 0; if (!ext2_inode_relocator_copy(fs, state)) return 0; if (!ext2_inode_relocator_ref(fs, state)) return 0; if (!ext2_inode_relocator_finish(fs, state)) return 0; state->usedentries = 0; state->resolvedentries = 0; state->last = (struct ext2_reference *)fs->relocator_pool_end; if (fs->opt_safe) if (!ext2_sync(fs)) return 0; return 1; } static int ext2_inode_relocator_mark(struct ext2_fs *fs, struct ext2_inode_relocator_state *state, ino_t inode) { struct ext2_inode buf; struct ext2_inode_entry *ent; int i; if (!ext2_read_inode(fs, inode, &buf)) return 0; { register void *adv; register void *rec; adv = state->inode + state->usedentries + 1; rec = state->last - EXT2_INODE_LINKS_COUNT(buf); if (adv >= rec) ext2_inode_relocator_flush(fs, state); } state->last -= EXT2_INODE_LINKS_COUNT(buf); ent = &state->inode[state->usedentries]; ent->num = inode; ent->dest = 0; ent->numreferences = EXT2_INODE_LINKS_COUNT(buf); ent->ref = state->last; for (i=0;inumreferences;i++) { ent->ref[i].block = 0; ent->ref[i].offset = 0; } state->usedentries++; return 1; } int ext2_inode_relocate(struct ext2_fs *fs, int newgroups) { int i; struct ext2_inode_relocator_state state; if (fs->opt_verbose) fputs ("ext2_inode_relocate\n", stderr); state.usedentries = 0; state.resolvedentries = 0; state.inode = (struct ext2_inode_entry *)fs->relocator_pool; state.last = (struct ext2_reference *)fs->relocator_pool_end; for (i=newgroups;inumgroups;i++) { struct ext2_buffer_head *bh; unsigned int j; int offset; bh = ext2_bread(fs, EXT2_GROUP_INODE_BITMAP(fs->gd[i])); if (!bh) return 0; offset = i * EXT2_SUPER_INODES_PER_GROUP(fs->sb) + 1; for (j=0;jsb);j++) if (bh->data[j>>3] & _bitmap[j&7]) ext2_inode_relocator_mark(fs, &state, offset + j); ext2_brelse(bh, 0); } if (!ext2_inode_relocator_flush(fs, &state)) return 0; return 1; } #endif /* !DISCOVER_ONLY */ parted-2.3/libparted/fs/ext2/ext2.c0000644000000000000000000004665011333731662014032 00000000000000/* ext2.c -- generic ext2 stuff Copyright (C) 1998-2001, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #ifndef DISCOVER_ONLY #include #include #include #include #include #include "ext2.h" /* ext2 stuff ****************************************************************/ unsigned char _bitmap[8] = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80}; int ext2_copy_block(struct ext2_fs *fs, blk_t from, blk_t to) { unsigned char* buf = ped_malloc (fs->blocksize); if (!ext2_bcache_flush(fs, from)) return 0; if (!ext2_bcache_flush(fs, to)) return 0; if (!ext2_read_blocks(fs, buf, from, 1)) return 0; if (!ext2_write_blocks(fs, buf, to, 1)) return 0; return 1; } int ext2_get_block_state(struct ext2_fs *fs, blk_t block) { struct ext2_buffer_head *bh; int group; int offset; int state; block -= EXT2_SUPER_FIRST_DATA_BLOCK(fs->sb); group = block / EXT2_SUPER_BLOCKS_PER_GROUP(fs->sb); offset = block % EXT2_SUPER_BLOCKS_PER_GROUP(fs->sb); bh = ext2_bread(fs, EXT2_GROUP_BLOCK_BITMAP(fs->gd[group])); state = bh->data[offset>>3] & _bitmap[offset&7]; ext2_brelse(bh, 0); return state; } blk_t ext2_find_free_block(struct ext2_fs *fs) { int i; for (i=0;inumgroups;i++) if (EXT2_GROUP_FREE_BLOCKS_COUNT(fs->gd[i])) { blk_t j; blk_t offset; offset = i * EXT2_SUPER_BLOCKS_PER_GROUP(fs->sb) + EXT2_SUPER_FIRST_DATA_BLOCK(fs->sb); for (j=fs->adminblocks; jsb); j++) if (ext2_is_data_block(fs, offset + j) && !ext2_get_block_state(fs, offset + j)) return offset + j; ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Inconsistent group descriptors!")); } ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("File system full!")); return 0; } ino_t ext2_find_free_inode(struct ext2_fs *fs) { int i; for (i=0;inumgroups;i++) if (EXT2_GROUP_FREE_INODES_COUNT(fs->gd[i])) { ino_t j; ino_t offset; offset = i * EXT2_SUPER_INODES_PER_GROUP(fs->sb) + 1; for (j=0;jsb);j++) if (!ext2_get_inode_state(fs, offset + j)) return offset + j; ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Inconsistent group descriptors!")); } ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("File system full!")); return 0; } int ext2_move_blocks(struct ext2_fs *fs, blk_t src, blk_t num, blk_t dest) { unsigned char *buf; blk_t i; ped_exception_fetch_all(); if ((buf = ped_malloc(num << fs->logsize)) != NULL) { ped_exception_leave_all(); if (!ext2_bcache_flush_range(fs, src, num)) return 0; if (!ext2_bcache_flush_range(fs, dest, num)) return 0; if (!ext2_read_blocks(fs, buf, src, num)) return 0; if (!ext2_write_blocks(fs, buf, dest, num)) return 0; free(buf); return 1; } ped_exception_catch(); ped_exception_leave_all(); if (src > dest) { for (i=0;i0;i--) if (!ext2_copy_block(fs, src+i, dest+i)) return 0; } return 1; } int ext2_read_blocks(struct ext2_fs *fs, void *ptr, blk_t block, blk_t num) { return fs->devhandle->ops->read(fs->devhandle->cookie, ptr, block, num); } int ext2_set_block_state(struct ext2_fs *fs, blk_t block, int state, int updatemetadata) { struct ext2_buffer_head *bh; int group; int offset; block -= EXT2_SUPER_FIRST_DATA_BLOCK(fs->sb); group = block / EXT2_SUPER_BLOCKS_PER_GROUP(fs->sb); offset = block % EXT2_SUPER_BLOCKS_PER_GROUP(fs->sb); bh = ext2_bread(fs, EXT2_GROUP_BLOCK_BITMAP(fs->gd[group])); bh->dirty = 1; if (state) bh->data[offset>>3] |= _bitmap[offset&7]; else bh->data[offset>>3] &= ~_bitmap[offset&7]; ext2_brelse(bh, 0); if (updatemetadata) { int diff; diff = state ? -1 : 1; fs->gd[group].bg_free_blocks_count = PED_CPU_TO_LE16 (EXT2_GROUP_FREE_BLOCKS_COUNT(fs->gd[group]) + diff); fs->sb.s_free_blocks_count = PED_CPU_TO_LE32 (EXT2_SUPER_FREE_BLOCKS_COUNT(fs->sb) + diff); fs->metadirty |= EXT2_META_SB | EXT2_META_GD; } return 1; } int ext2_write_blocks(struct ext2_fs *fs, void *ptr, blk_t block, blk_t num) { return fs->devhandle->ops->write(fs->devhandle->cookie, ptr, block, num); } int ext2_zero_blocks(struct ext2_fs *fs, blk_t block, blk_t num) { unsigned char *buf; blk_t i; ped_exception_fetch_all(); buf = ped_malloc (num << fs->logsize); if (buf) { ped_exception_leave_all(); memset(buf, 0, num << fs->logsize); if (!ext2_bcache_flush_range(fs, block, num)) goto error_free_buf; if (!ext2_write_blocks(fs, buf, block, num)) goto error_free_buf; free(buf); return 1; } ped_exception_catch(); buf = ped_malloc (fs->blocksize); if (buf) { ped_exception_leave_all(); memset(buf, 0, fs->blocksize); for (i=0;idirty = 1; if (!ext2_brelse(bh, 1)) goto error; } return 1; error_free_buf: free(buf); error: return 0; } off_t ext2_get_inode_offset(struct ext2_fs *fs, ino_t inode, blk_t *block) { int group; int offset; inode--; group = inode / EXT2_SUPER_INODES_PER_GROUP(fs->sb); offset = (inode % EXT2_SUPER_INODES_PER_GROUP(fs->sb)) * sizeof(struct ext2_inode); *block = EXT2_GROUP_INODE_TABLE(fs->gd[group]) + (offset >> fs->logsize); return offset & (fs->blocksize - 1); } int ext2_get_inode_state(struct ext2_fs *fs, ino_t inode) { struct ext2_buffer_head *bh; int group; int offset; int ret; inode--; group = inode / EXT2_SUPER_INODES_PER_GROUP(fs->sb); offset = inode % EXT2_SUPER_INODES_PER_GROUP(fs->sb); bh = ext2_bread(fs, EXT2_GROUP_INODE_BITMAP(fs->gd[group])); ret = bh->data[offset>>3] & _bitmap[offset&7]; ext2_brelse(bh, 0); return ret; } int ext2_read_inode(struct ext2_fs *fs, ino_t inode, struct ext2_inode *data) { struct ext2_buffer_head *bh; blk_t blk; off_t off; off = ext2_get_inode_offset(fs, inode, &blk); bh = ext2_bread(fs, blk); if (!bh) return 0; memcpy(data, bh->data + off, sizeof(struct ext2_inode)); ext2_brelse(bh, 0); return 1; } int ext2_set_inode_state(struct ext2_fs *fs, ino_t inode, int state, int updatemetadata) { struct ext2_buffer_head *bh; int group; int offset; inode--; group = inode / EXT2_SUPER_INODES_PER_GROUP(fs->sb); offset = inode % EXT2_SUPER_INODES_PER_GROUP(fs->sb); bh = ext2_bread(fs, EXT2_GROUP_INODE_BITMAP(fs->gd[group])); if (!bh) return 0; bh->dirty = 1; if (state) bh->data[offset>>3] |= _bitmap[offset&7]; else bh->data[offset>>3] &= ~_bitmap[offset&7]; ext2_brelse(bh, 0); if (updatemetadata) { int diff; diff = state ? -1 : 1; fs->gd[group].bg_free_inodes_count = PED_CPU_TO_LE16 (EXT2_GROUP_FREE_INODES_COUNT(fs->gd[group]) + diff); fs->sb.s_free_inodes_count = PED_CPU_TO_LE32 (EXT2_SUPER_FREE_INODES_COUNT(fs->sb) + diff); fs->metadirty = EXT2_META_SB | EXT2_META_GD; } return 1; } static void _inode_update_size(struct ext2_fs *fs, struct ext2_inode *inode, int delta) { int i512perblock = 1 << (fs->logsize - 9); uint64_t size; /* i_blocks is in 512 byte blocks */ inode->i_blocks = PED_CPU_TO_LE32(EXT2_INODE_BLOCKS(*inode) + delta * i512perblock); size = EXT2_INODE_SIZE(*inode) + delta * fs->blocksize; inode->i_size = PED_CPU_TO_LE32(size % (1LL << 32)); inode->i_size_high = PED_CPU_TO_LE32(size / (1LL << 32)); inode->i_mtime = PED_CPU_TO_LE32(time(NULL)); } int ext2_do_inode(struct ext2_fs *fs, struct ext2_inode *inode, blk_t block, int action) { struct ext2_buffer_head *bh; uint32_t *udata; blk_t count = 0; int i; int u32perblock = fs->blocksize >> 2; int i512perblock = 1 << (fs->logsize - 9); if (block == 0 || EXT2_INODE_MODE(*inode) == 0) return -1; if (fs->opt_debug) switch (action) { case EXT2_ACTION_ADD: fprintf(stderr,"adding 0x%04x to inode\n", block); break; case EXT2_ACTION_DELETE: fprintf(stderr,"deleting 0x%04x from inode\n", block); break; case EXT2_ACTION_FIND: fprintf(stderr,"finding 0x%04x in inode\n", block); break; } /* Direct blocks for first 12 blocks */ for (i = 0; i < EXT2_NDIR_BLOCKS; i++) { if (action == EXT2_ACTION_ADD && !EXT2_INODE_BLOCK(*inode, i)) { inode->i_block[i] = PED_CPU_TO_LE32(block); _inode_update_size (fs, inode, 1); ext2_set_block_state(fs, block, 1, 1); return i; } if (EXT2_INODE_BLOCK(*inode, i) == block) { if (action == EXT2_ACTION_DELETE) { inode->i_block[i] = 0; _inode_update_size (fs, inode, -1); ext2_set_block_state(fs, block, 0, 1); } return i; } if (EXT2_INODE_BLOCK(*inode, i)) count += i512perblock; } count += EXT2_INODE_BLOCK(*inode, EXT2_IND_BLOCK) ? i512perblock : 0; count += EXT2_INODE_BLOCK(*inode, EXT2_DIND_BLOCK) ? i512perblock : 0; count += EXT2_INODE_BLOCK(*inode, EXT2_TIND_BLOCK) ? i512perblock : 0; if (!EXT2_INODE_BLOCK(*inode, EXT2_IND_BLOCK) || (count >= EXT2_INODE_BLOCKS(*inode) && action != EXT2_ACTION_ADD)) return -1; bh = ext2_bread(fs, EXT2_INODE_BLOCK(*inode, EXT2_IND_BLOCK)); udata = (uint32_t *)bh->data; /* Indirect blocks for next 256/512/1024 blocks (for 1k/2k/4k blocks) */ for (i = 0; i < u32perblock; i++) { if (action == EXT2_ACTION_ADD && !udata[i]) { bh->dirty = 1; udata[i] = PED_CPU_TO_LE32(block); _inode_update_size (fs, inode, 1); ext2_set_block_state(fs, block, 1, 1); ext2_brelse(bh, 0); return EXT2_NDIR_BLOCKS + i; } if (PED_LE32_TO_CPU(udata[i]) == block) { if (action == EXT2_ACTION_DELETE) { bh->dirty = 1; udata[i] = 0; _inode_update_size (fs, inode, -1); ext2_set_block_state(fs, block, 0, 1); } ext2_brelse(bh, 0); return EXT2_NDIR_BLOCKS + i; } if (udata[i]) { count += i512perblock; if (count >= EXT2_INODE_BLOCKS(*inode) && action != EXT2_ACTION_ADD) return -1; } } ext2_brelse(bh, 0); if (!EXT2_INODE_BLOCK(*inode, EXT2_DIND_BLOCK) || (count >= EXT2_INODE_BLOCKS(*inode) && action != EXT2_ACTION_ADD)) return -1; bh = ext2_bread(fs, EXT2_INODE_BLOCK(*inode, EXT2_DIND_BLOCK)); udata = (uint32_t *)bh->data; /* Double indirect blocks for next 2^16/2^18/2^20 1k/2k/4k blocks */ for (i = 0; i < u32perblock; i++) { struct ext2_buffer_head *bh2; uint32_t *udata2; int j; if (!udata[i]) { ext2_brelse(bh, 0); return -1; } bh2 = ext2_bread(fs, PED_LE32_TO_CPU(udata[i])); udata2 = (uint32_t *)bh2->data; count += i512perblock; for (j = 0; j < u32perblock; j++) { if (action == EXT2_ACTION_ADD && !udata2[j]) { bh2->dirty = 1; udata2[j] = PED_CPU_TO_LE32(block); _inode_update_size (fs, inode, 1); ext2_set_block_state(fs, block, 1, 1); ext2_brelse(bh, 0); ext2_brelse(bh2, 0); return EXT2_NDIR_BLOCKS + i * u32perblock + j; } if (PED_LE32_TO_CPU(udata2[j]) == block) { if (action == EXT2_ACTION_DELETE) { bh2->dirty = 1; udata2[j] = 0; _inode_update_size (fs, inode, -1); ext2_set_block_state(fs, block, 0, 1); } ext2_brelse(bh, 0); ext2_brelse(bh2, 0); return EXT2_NDIR_BLOCKS + i * u32perblock + j; } if (udata2[j]) { count += i512perblock; if (count >= EXT2_INODE_BLOCKS(*inode) && action != EXT2_ACTION_ADD) return -1; } } ext2_brelse(bh2, 0); } ext2_brelse(bh, 0); /* FIXME: we should check for triple-indirect blocks here, but it * would be nice to have a better routine to traverse blocks, and * file systems that need triple-indirect blocks for the resize * inode are too big to worry about yet. */ return -1; } int ext2_write_inode(struct ext2_fs *fs, ino_t inode, const struct ext2_inode *data) { struct ext2_buffer_head *bh; blk_t blk; off_t off; off = ext2_get_inode_offset(fs, inode, &blk); bh = ext2_bread(fs, blk); if (!bh) return 0; bh->dirty = 1; memcpy(bh->data + off, data, sizeof(struct ext2_inode)); ext2_brelse(bh, 0); return 1; } int ext2_zero_inode(struct ext2_fs *fs, ino_t inode) { struct ext2_inode buf; memset(&buf, 0, sizeof(struct ext2_inode)); return ext2_write_inode(fs, inode, &buf); } /* check whether y is root of x * (formula grabbed from linux ext2 kernel source) */ static int is_root(int x, int y) { if (!x) return 1; while (1) { if (x == 1) return 1; if (x % y) return 0; x /= y; } } /* check whether group contains a superblock copy on file systems * where not all groups have one (sparse superblock feature) */ int ext2_is_group_sparse(struct ext2_fs *fs, int group) { if (!fs->sparse) return 1; if (is_root(group, 3) || is_root(group, 5) || is_root(group, 7)) return 1; return 0; } void ext2_close(struct ext2_fs *fs) { ext2_commit_metadata(fs, EXT2_META_PRIMARY | EXT2_META_BACKUP); ext2_sync(fs); ext2_bcache_deinit(fs); fs->devhandle->ops->close(fs->devhandle->cookie); free(fs->gd); free(fs); } int ext2_commit_metadata(struct ext2_fs *fs, int copies) { int i; int num; int wmeta = fs->metadirty & copies; unsigned char* sb = ped_malloc(fs->blocksize); struct ext2_super_block *sb_for_io; int sb_block; /* See if there is even anything to write... */ if (wmeta == EXT2_META_CLEAN) return 1; fs->sb.s_r_blocks_count = PED_CPU_TO_LE32 ( fs->r_frac * (loff_t)EXT2_SUPER_BLOCKS_COUNT(fs->sb) / 100); if (!ext2_read_blocks (fs, sb, 0, 1)) return 0; if (EXT2_SUPER_FIRST_DATA_BLOCK(fs->sb)) { memcpy(sb, &fs->sb, 1024); sb_for_io = (struct ext2_super_block *) sb; } else { memcpy(sb+1024, &fs->sb, 1024); sb_for_io = (struct ext2_super_block *) (sb + 1024); } num = copies & EXT2_META_BACKUP ? fs->numgroups : 1; for (i = 0, sb_block = EXT2_SUPER_FIRST_DATA_BLOCK(fs->sb); i < num; i++, sb_block += EXT2_SUPER_BLOCKS_PER_GROUP(fs->sb)) { if (!ext2_is_group_sparse(fs, i)) continue; if (fs->dynamic_version) sb_for_io->s_block_group_nr = PED_CPU_TO_LE16 (i); if ((i == 0 && wmeta & EXT2_META_PRIMARY_SB) || (i != 0 && wmeta & EXT2_META_SB)) { if (!ext2_bcache_flush_range(fs, sb_block, 1)) return 0; if (!ext2_write_blocks(fs, sb, sb_block, 1)) return 0; } if ((i == 0 && wmeta & EXT2_META_PRIMARY_GD) || (i != 0 && wmeta & EXT2_META_GD)) { if (!ext2_bcache_flush_range(fs, sb_block + 1, fs->gdblocks)) return 0; if (!ext2_write_blocks(fs, fs->gd, sb_block + 1, fs->gdblocks)) return 0; } } sb_for_io->s_block_group_nr = 0; /* Clear the flags of the components we just finished writing. */ fs->metadirty &= ~copies; return 1; } int ext2_sync(struct ext2_fs *fs) { if (!ext2_commit_metadata(fs, EXT2_META_PRIMARY)) return 0; if (!ext2_bcache_sync(fs)) return 0; if (!fs->devhandle->ops->sync(fs->devhandle->cookie)) return 0; return 1; } struct ext2_fs *ext2_open(struct ext2_dev_handle *handle, int state) { struct ext2_fs *fs; if ((fs = (struct ext2_fs *) ped_malloc(sizeof(struct ext2_fs))) == NULL) goto error; handle->ops->set_blocksize(handle->cookie, 10); if (!handle->ops->read(handle->cookie, &fs->sb, 1, 1) || EXT2_SUPER_MAGIC(fs->sb) != EXT2_SUPER_MAGIC_CONST) { ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Invalid superblock. Are you sure this is an ext2 " "file system?")); goto error_free_fs; } fs->opt_debug = 1; fs->opt_safe = 1; fs->opt_verbose = 0; if (EXT2_SUPER_STATE(fs->sb) & EXT2_ERROR_FS & ~(state & EXT2_ERROR_FS)) { if (ped_exception_throw ( PED_EXCEPTION_WARNING, PED_EXCEPTION_IGNORE_CANCEL, _("File system has errors! You should run e2fsck.")) == PED_EXCEPTION_CANCEL) goto error_free_fs; } if (!((EXT2_SUPER_STATE(fs->sb) | state) & EXT2_VALID_FS) || (EXT2_SUPER_FEATURE_INCOMPAT(fs->sb) & EXT3_FEATURE_INCOMPAT_RECOVER)) { if (ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_IGNORE_CANCEL, _("File system was not cleanly unmounted! " "You should run e2fsck. Modifying an unclean " "file system could cause severe corruption.")) != PED_EXCEPTION_IGNORE) goto error_free_fs; } fs->dynamic_version = EXT2_SUPER_REV_LEVEL (fs->sb) > 0; if ((EXT2_SUPER_FEATURE_COMPAT(fs->sb) & ~(EXT3_FEATURE_COMPAT_HAS_JOURNAL | EXT2_FEATURE_COMPAT_HAS_DIR_INDEX)) || (EXT2_SUPER_FEATURE_INCOMPAT(fs->sb) & ~(EXT2_FEATURE_INCOMPAT_FILETYPE | EXT3_FEATURE_INCOMPAT_RECOVER)) || (EXT2_SUPER_FEATURE_RO_COMPAT(fs->sb) & ~(EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER | EXT2_FEATURE_RO_COMPAT_LARGE_FILE))) { ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("File system has an incompatible feature enabled. " "Compatible features are has_journal, dir_index, " "filetype, sparse_super and large_file. " "Use tune2fs or debugfs to remove features.")); goto error_free_fs; } fs->devhandle = handle; fs->logsize = EXT2_SUPER_LOG_BLOCK_SIZE(fs->sb) + 10; handle->ops->set_blocksize(handle->cookie, fs->logsize); if (!ext2_bcache_init(fs)) { ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Error allocating buffer cache.")); goto error_free_fs; } fs->blocksize = 1 << fs->logsize; fs->numgroups = ped_div_round_up (EXT2_SUPER_BLOCKS_COUNT(fs->sb) - EXT2_SUPER_FIRST_DATA_BLOCK(fs->sb), EXT2_SUPER_BLOCKS_PER_GROUP(fs->sb)); fs->gdblocks = ped_div_round_up (fs->numgroups * sizeof(struct ext2_group_desc), fs->blocksize); fs->inodeblocks = ped_div_round_up (EXT2_SUPER_INODES_PER_GROUP(fs->sb) * sizeof(struct ext2_inode), fs->blocksize); fs->r_frac = ped_div_round_up (100 * (loff_t)EXT2_SUPER_R_BLOCKS_COUNT(fs->sb), EXT2_SUPER_BLOCKS_COUNT(fs->sb)); fs->adminblocks = 3 + fs->gdblocks + fs->inodeblocks; fs->sparse = 0; if (EXT2_SUPER_FEATURE_RO_COMPAT(fs->sb) & EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER) fs->sparse = 1; fs->has_journal = 0 < (EXT2_SUPER_FEATURE_COMPAT(fs->sb) & EXT3_FEATURE_COMPAT_HAS_JOURNAL); fs->has_internal_journal = fs->has_journal && uuid_is_null(EXT2_SUPER_JOURNAL_UUID(fs->sb)) && EXT2_SUPER_JOURNAL_INUM(fs->sb); fs->gd = ped_malloc (fs->numgroups * sizeof (struct ext2_group_desc) + fs->blocksize); if (!fs->gd) goto error_deinit_bcache; ext2_read_blocks(fs, fs->gd, EXT2_SUPER_FIRST_DATA_BLOCK(fs->sb) + 1, fs->gdblocks); fs->metadirty = 0; return fs; free(fs->gd); error_deinit_bcache: ext2_bcache_deinit(fs); error_free_fs: free(fs); error: return NULL; } #endif /* !DISCOVER_ONLY */ parted-2.3/libparted/fs/ext2/ext2_fs.h0000644000000000000000000002771511370314006014516 00000000000000/* * linux/include/linux/ext2_fs.h * * Copyright (C) 1992, 1993, 1994, 1995 * Remy Card (card@masi.ibp.fr) * Laboratoire MASI - Institut Blaise Pascal * Universite Pierre et Marie Curie (Paris VI) * * from * * linux/include/linux/minix_fs.h * * Copyright (C) 1991, 1992 Linus Torvalds */ /* * EXT2_*_*() convienience macros added by Andrew Clausen * Copyright (C) 2000, 2009-2010 Free Software Foundation, Inc. */ #ifndef _EXT2_FS_H #define _EXT2_FS_H #include #include /* * The second extended file system constants/structures */ #define EXT2_SUPER_MAGIC_CONST 0xEF53 #define EXT2_MIN_BLOCK_SIZE 1024 #define EXT2_NDIR_BLOCKS 12 #define EXT2_IND_BLOCK EXT2_NDIR_BLOCKS #define EXT2_DIND_BLOCK (EXT2_IND_BLOCK + 1) #define EXT2_TIND_BLOCK (EXT2_DIND_BLOCK + 1) #define EXT2_N_BLOCKS (EXT2_TIND_BLOCK + 1) #define EXT2_VALID_FS 0x0001 #define EXT2_ERROR_FS 0x0002 #define EXT2_RESERVED_INODE_COUNT 11 /* * Codes for operating systems */ #define EXT2_OS_LINUX 0 #define EXT2_OS_HURD 1 #define EXT2_OS_MASIX 2 #define EXT2_OS_FREEBSD 3 #define EXT2_OS_LITES 4 /* * Feature set definitions */ #define EXT3_FEATURE_COMPAT_HAS_JOURNAL 0x0004 #define EXT2_FEATURE_COMPAT_HAS_DIR_INDEX 0x0020 #define EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER 0x0001 #define EXT2_FEATURE_RO_COMPAT_LARGE_FILE 0x0002 #define EXT4_FEATURE_RO_COMPAT_HUGE_FILE 0x0008 #define EXT4_FEATURE_RO_COMPAT_GDT_CSUM 0x0010 #define EXT4_FEATURE_RO_COMPAT_DIR_NLINK 0x0020 #define EXT2_FEATURE_INCOMPAT_FILETYPE 0x0002 #define EXT3_FEATURE_INCOMPAT_RECOVER 0x0004 #define EXT4_FEATURE_INCOMPAT_EXTENTS 0x0040 #define EXT4_FEATURE_INCOMPAT_64BIT 0x0080 #define EXT4_FEATURE_INCOMPAT_FLEX_BG 0x0200 /* * Special inodes numbers */ #define EXT2_BAD_INO 1 /* Bad blocks inode */ #define EXT2_ROOT_INO 2 /* Root inode */ #define EXT2_ACL_IDX_INO 3 /* ACL inode */ #define EXT2_ACL_DATA_INO 4 /* ACL inode */ #define EXT2_BOOT_LOADER_INO 5 /* Boot loader inode */ #define EXT2_UNDEL_DIR_INO 6 /* Undelete directory inode */ /* * Ext2 directory file types. Only the low 3 bits are used. The * other bits are reserved for now. */ #define EXT2_FT_UNKNOWN 0 #define EXT2_FT_REG_FILE 1 #define EXT2_FT_DIR 2 #define EXT2_FT_CHRDEV 3 #define EXT2_FT_BLKDEV 4 #define EXT2_FT_FIFO 5 #define EXT2_FT_SOCK 6 #define EXT2_FT_SYMLINK 7 /* * Behaviour when detecting errors */ #define EXT2_ERRORS_CONTINUE 1 /* Continue execution */ #define EXT2_ERRORS_RO 2 /* Remount fs read-only */ #define EXT2_ERRORS_PANIC 3 /* Panic */ #define EXT2_ERRORS_DEFAULT EXT2_ERRORS_CONTINUE struct ext2_dir_entry_2 { uint32_t inode; uint16_t rec_len; uint8_t name_len; uint8_t file_type; char name[255]; }; struct ext2_group_desc { uint32_t bg_block_bitmap; uint32_t bg_inode_bitmap; uint32_t bg_inode_table; uint16_t bg_free_blocks_count; uint16_t bg_free_inodes_count; uint16_t bg_used_dirs_count; uint16_t bg_pad; uint32_t bg_reserved[3]; }; struct ext2_inode { uint16_t i_mode; /* File mode */ uint16_t i_uid; /* Owner Uid */ uint32_t i_size; /* Size in bytes */ uint32_t i_atime; /* Access time */ uint32_t i_ctime; /* Creation time */ uint32_t i_mtime; /* Modification time */ uint32_t i_dtime; /* Deletion Time */ uint16_t i_gid; /* Group Id */ uint16_t i_links_count; /* Links count */ uint32_t i_blocks; /* Blocks count */ uint32_t i_flags; /* File flags */ union { struct { uint32_t l_i_reserved1; } linux1; struct { uint32_t h_i_translator; } hurd1; struct { uint32_t m_i_reserved1; } masix1; } osd1; /* OS dependent 1 */ uint32_t i_block[EXT2_N_BLOCKS];/* Pointers to blocks */ uint32_t i_generation; /* File version (for NFS) */ uint32_t i_file_acl; /* File ACL */ uint32_t i_dir_acl; /* Directory ACL */ uint32_t i_faddr; /* Fragment address */ union { struct { uint8_t l_i_frag; /* Fragment number */ uint8_t l_i_fsize; /* Fragment size */ uint16_t i_pad1; uint32_t l_i_reserved2[2]; } linux2; struct { uint8_t h_i_frag; /* Fragment number */ uint8_t h_i_fsize; /* Fragment size */ uint16_t h_i_mode_high; uint16_t h_i_uid_high; uint16_t h_i_gid_high; uint32_t h_i_author; } hurd2; struct { uint8_t m_i_frag; /* Fragment number */ uint8_t m_i_fsize; /* Fragment size */ uint16_t m_pad1; uint32_t m_i_reserved2[2]; } masix2; } osd2; /* OS dependent 2 */ }; #define i_size_high i_dir_acl struct ext2_super_block { uint32_t s_inodes_count; /* Inodes count */ uint32_t s_blocks_count; /* Blocks count */ uint32_t s_r_blocks_count; /* Reserved blocks count */ uint32_t s_free_blocks_count; /* Free blocks count */ uint32_t s_free_inodes_count; /* Free inodes count */ uint32_t s_first_data_block; /* First Data Block */ uint32_t s_log_block_size; /* Block size */ int32_t s_log_frag_size; /* Fragment size */ uint32_t s_blocks_per_group; /* # Blocks per group */ uint32_t s_frags_per_group; /* # Fragments per group */ uint32_t s_inodes_per_group; /* # Inodes per group */ uint32_t s_mtime; /* Mount time */ uint32_t s_wtime; /* Write time */ uint16_t s_mnt_count; /* Mount count */ int16_t s_max_mnt_count; /* Maximal mount count */ uint16_t s_magic; /* Magic signature */ uint16_t s_state; /* File system state */ uint16_t s_errors; /* Behaviour when detecting errors */ uint16_t s_minor_rev_level; /* minor revision level */ uint32_t s_lastcheck; /* time of last check */ uint32_t s_checkinterval; /* max. time between checks */ uint32_t s_creator_os; /* OS */ uint32_t s_rev_level; /* Revision level */ uint16_t s_def_resuid; /* Default uid for reserved blocks */ uint16_t s_def_resgid; /* Default gid for reserved blocks */ /* * These fields are for EXT2_DYNAMIC_REV superblocks only. * * Note: the difference between the compatible feature set and * the incompatible feature set is that if there is a bit set * in the incompatible feature set that the kernel doesn't * know about, it should refuse to mount the file system. * * e2fsck's requirements are more strict; if it doesn't know * about a feature in either the compatible or incompatible * feature set, it must abort and not try to meddle with * things it doesn't understand... */ uint32_t s_first_ino; /* First non-reserved inode */ uint16_t s_inode_size; /* size of inode structure */ uint16_t s_block_group_nr; /* block group # of this superblock */ uint32_t s_feature_compat; /* compatible feature set */ uint32_t s_feature_incompat; /* incompatible feature set */ uint32_t s_feature_ro_compat; /* readonly-compatible feature set */ uint8_t s_uuid[16]; /* 128-bit uuid for volume */ char s_volume_name[16]; /* volume name */ char s_last_mounted[64]; /* directory where last mounted */ uint32_t s_algorithm_usage_bitmap; /* For compression */ /* * Performance hints. Directory preallocation should only * happen if the EXT2_COMPAT_PREALLOC flag is on. */ uint8_t s_prealloc_blocks; /* Nr of blocks to try to preallocate*/ uint8_t s_prealloc_dir_blocks; /* Nr to preallocate for dirs */ uint16_t s_padding1; /* * Journaling support valid if EXT2_FEATURE_COMPAT_HAS_JOURNAL set. */ uint8_t s_journal_uuid[16]; /* uuid of journal superblock */ uint32_t s_journal_inum; /* inode number of journal file */ uint32_t s_journal_dev; /* device number of journal file */ uint32_t s_last_orphan; /* start of list of inodes to delete */ uint32_t s_reserved[197]; /* Padding to the end of the block */ }; #define EXT2_DIRENT_INODE(dir_ent) (PED_LE32_TO_CPU((dir_ent).inode)) #define EXT2_DIRENT_REC_LEN(dir_ent) (PED_LE16_TO_CPU((dir_ent).rec_len)) #define EXT2_DIRENT_NAME_LEN(dir_ent) ((dir_ent).name_len) #define EXT2_DIRENT_FILE_TYPE(dir_ent) ((dir_ent).file_type) #define EXT2_GROUP_BLOCK_BITMAP(gd) (PED_LE32_TO_CPU((gd).bg_block_bitmap)) #define EXT2_GROUP_INODE_BITMAP(gd) (PED_LE32_TO_CPU((gd).bg_inode_bitmap)) #define EXT2_GROUP_INODE_TABLE(gd) (PED_LE32_TO_CPU((gd).bg_inode_table)) #define EXT2_GROUP_FREE_BLOCKS_COUNT(gd) \ (PED_LE16_TO_CPU((gd).bg_free_blocks_count)) #define EXT2_GROUP_FREE_INODES_COUNT(gd) \ (PED_LE16_TO_CPU((gd).bg_free_inodes_count)) #define EXT2_GROUP_USED_DIRS_COUNT(gd) \ (PED_LE16_TO_CPU((gd).bg_used_dirs_count)) #define EXT2_INODE_MODE(inode) (PED_LE16_TO_CPU((inode).i_mode)) #define EXT2_INODE_UID(inode) (PED_LE16_TO_CPU((inode).i_uid)) #define EXT2_INODE_SIZE(inode) \ ((uint64_t) PED_LE32_TO_CPU((inode).i_size) \ + ((uint64_t) PED_LE32_TO_CPU((inode).i_size_high) << 32)) #define EXT2_INODE_ATIME(inode) (PED_LE32_TO_CPU((inode).i_atime)) #define EXT2_INODE_CTIME(inode) (PED_LE32_TO_CPU((inode).i_ctime)) #define EXT2_INODE_MTIME(inode) (PED_LE32_TO_CPU((inode).i_mtime)) #define EXT2_INODE_DTIME(inode) (PED_LE32_TO_CPU((inode).i_dtime)) #define EXT2_INODE_GID(inode) (PED_LE16_TO_CPU((inode).i_gid)) #define EXT2_INODE_LINKS_COUNT(inode) (PED_LE16_TO_CPU((inode).i_links_count)) #define EXT2_INODE_BLOCKS(inode) (PED_LE32_TO_CPU((inode).i_blocks)) #define EXT2_INODE_FLAGS(inode) (PED_LE32_TO_CPU((inode).i_flags)) #define EXT2_INODE_TRANSLATOR(inode) (PED_LE32_TO_CPU((inode).osd1.hurd1.h_i_translator)) #define EXT2_INODE_BLOCK(inode, blk) (PED_LE32_TO_CPU((inode).i_block[blk])) #define EXT2_SUPER_INODES_COUNT(sb) (PED_LE32_TO_CPU((sb).s_inodes_count)) #define EXT2_SUPER_BLOCKS_COUNT(sb) (PED_LE32_TO_CPU((sb).s_blocks_count)) #define EXT2_SUPER_R_BLOCKS_COUNT(sb) (PED_LE32_TO_CPU((sb).s_r_blocks_count)) #define EXT2_SUPER_FREE_BLOCKS_COUNT(sb) \ (PED_LE32_TO_CPU((sb).s_free_blocks_count)) #define EXT2_SUPER_FREE_INODES_COUNT(sb) \ (PED_LE32_TO_CPU((sb).s_free_inodes_count)) #define EXT2_SUPER_FIRST_DATA_BLOCK(sb) \ (PED_LE32_TO_CPU((sb).s_first_data_block)) #define EXT2_SUPER_LOG_BLOCK_SIZE(sb) (PED_LE32_TO_CPU((sb).s_log_block_size)) #define EXT2_SUPER_LOG_FRAG_SIZE(sb) \ ((int32_t) PED_LE32_TO_CPU((sb).s_log_frag_size)) #define EXT2_SUPER_BLOCKS_PER_GROUP(sb) \ (PED_LE32_TO_CPU((sb).s_blocks_per_group)) #define EXT2_SUPER_FRAGS_PER_GROUP(sb) \ (PED_LE32_TO_CPU((sb).s_frags_per_group)) #define EXT2_SUPER_INODES_PER_GROUP(sb) \ (PED_LE32_TO_CPU((sb).s_inodes_per_group)) #define EXT2_SUPER_MTIME(sb) (PED_LE32_TO_CPU((sb).s_mtime)) #define EXT2_SUPER_WTIME(sb) (PED_LE32_TO_CPU((sb).s_wtime)) #define EXT2_SUPER_MNT_COUNT(sb) (PED_LE16_TO_CPU((sb).s_mnt_count)) #define EXT2_SUPER_MAX_MNT_COUNT(sb) \ ((int16_t) PED_LE16_TO_CPU((sb).s_max_mnt_count)) #define EXT2_SUPER_MAGIC(sb) (PED_LE16_TO_CPU((sb).s_magic)) #define EXT2_SUPER_STATE(sb) (PED_LE16_TO_CPU((sb).s_state)) #define EXT2_SUPER_ERRORS(sb) (PED_LE16_TO_CPU((sb).s_errors)) #define EXT2_SUPER_MINOR_REV_LEVEL(sb) \ (PED_LE16_TO_CPU((sb).s_minor_rev_level)) #define EXT2_SUPER_LASTCHECK(sb) (PED_LE32_TO_CPU((sb).s_lastcheck)) #define EXT2_SUPER_CHECKINTERVAL(sb) (PED_LE32_TO_CPU((sb).s_checkinterval)) #define EXT2_SUPER_CREATOR_OS(sb) (PED_LE32_TO_CPU((sb).s_creator_os)) #define EXT2_SUPER_REV_LEVEL(sb) (PED_LE32_TO_CPU((sb).s_rev_level)) #define EXT2_SUPER_DEF_RESUID(sb) (PED_LE16_TO_CPU((sb).s_def_resuid)) #define EXT2_SUPER_DEF_RESGID(sb) (PED_LE16_TO_CPU((sb).s_def_resgid)) #define EXT2_SUPER_FIRST_INO(sb) (PED_LE32_TO_CPU((sb).s_first_ino)) #define EXT2_SUPER_INODE_SIZE(sb) (PED_LE16_TO_CPU((sb).s_inode_size)) #define EXT2_SUPER_BLOCK_GROUP_NR(sb) (PED_LE16_TO_CPU((sb).s_block_group_nr)) #define EXT2_SUPER_FEATURE_COMPAT(sb) (PED_LE32_TO_CPU((sb).s_feature_compat)) #define EXT2_SUPER_FEATURE_INCOMPAT(sb) \ (PED_LE32_TO_CPU((sb).s_feature_incompat)) #define EXT2_SUPER_FEATURE_RO_COMPAT(sb) \ (PED_LE32_TO_CPU((sb).s_feature_ro_compat)) #define EXT2_SUPER_UUID(sb) ((sb).s_uuid) #define EXT2_SUPER_VOLUME_NAME(sb) ((sb).s_volume_name) #define EXT2_SUPER_LAST_MOUNTED(sb) ((sb).s_last_mounted) #define EXT2_SUPER_ALGORITHM_USAGE_BITMAP(sb) \ (PED_LE32_TO_CPU((sb).s_algorithm_usage_bitmap)) #define EXT2_SUPER_JOURNAL_UUID(sb) ((sb).s_journal_uuid) #define EXT2_SUPER_JOURNAL_INUM(sb) (PED_LE32_TO_CPU((sb).s_journal_inum)) #define EXT2_SUPER_JOURNAL_DEV(sb) (PED_LE32_TO_CPU((sb).s_journal_dev)) #define EXT2_SUPER_LAST_ORPHAN(sb) (PED_LE32_TO_CPU((sb).s_last_orphan)) #endif parted-2.3/libparted/fs/ext2/ext2_resize.c0000644000000000000000000004264311333731662015411 00000000000000/* ext2_resize.c -- ext2 resizer Copyright (C) 1998-2000, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #ifndef DISCOVER_ONLY #include #include #include "ext2.h" static int ext2_add_group(struct ext2_fs *fs, blk_t groupsize) { blk_t admin; int group; blk_t groupstart; blk_t newgdblocks; int sparse; if (fs->opt_verbose) fputs ("ext2_add_group\n", stderr); if (!ped_realloc ((void*) &fs->gd, (fs->numgroups+1) * sizeof(struct ext2_group_desc) + fs->blocksize)) return 0; if (fs->opt_debug) { if (EXT2_SUPER_BLOCKS_COUNT(fs->sb) != EXT2_SUPER_FIRST_DATA_BLOCK(fs->sb) + fs->numgroups * EXT2_SUPER_BLOCKS_PER_GROUP(fs->sb)) { fputs ("ext2_add_group: last (existing) group " "isn't complete!\n", stderr); return 0; } } group = fs->numgroups; sparse = ext2_is_group_sparse(fs, group); groupstart = EXT2_SUPER_FIRST_DATA_BLOCK(fs->sb) + group * EXT2_SUPER_BLOCKS_PER_GROUP(fs->sb); admin = fs->adminblocks; if (!sparse) admin -= fs->gdblocks + 1; if (fs->opt_debug) { if (groupsize < fs->adminblocks || groupsize > EXT2_SUPER_BLOCKS_PER_GROUP(fs->sb)) { fprintf(stderr, "ext2_add_group: groups of %i blocks are " "impossible!\n", groupsize); return 0; } } newgdblocks = ped_div_round_up((fs->numgroups + 1) * sizeof(struct ext2_group_desc), fs->blocksize); if (newgdblocks != fs->gdblocks) { int i; for (i=0;inumgroups;i++) if (ext2_is_group_sparse(fs, i)) { blk_t start; start = EXT2_SUPER_FIRST_DATA_BLOCK(fs->sb) + i * EXT2_SUPER_BLOCKS_PER_GROUP(fs->sb); ext2_set_block_state(fs, start + fs->gdblocks + 1, 1, 1); } fs->gdblocks++; fs->adminblocks++; if (sparse) admin++; } fs->numgroups++; fs->sb.s_inodes_count = PED_CPU_TO_LE32( EXT2_SUPER_INODES_COUNT(fs->sb) + EXT2_SUPER_INODES_PER_GROUP(fs->sb)); fs->sb.s_blocks_count = PED_CPU_TO_LE32( EXT2_SUPER_BLOCKS_COUNT(fs->sb) + groupsize); fs->sb.s_free_blocks_count = PED_CPU_TO_LE32( EXT2_SUPER_FREE_BLOCKS_COUNT(fs->sb) + groupsize - admin); fs->sb.s_free_inodes_count = PED_CPU_TO_LE32( EXT2_SUPER_FREE_INODES_COUNT(fs->sb) + EXT2_SUPER_INODES_PER_GROUP(fs->sb)); fs->metadirty |= EXT2_META_SB; { blk_t off; blk_t sparseoff; off = groupstart; sparseoff = off + fs->itoffset - 2; if (sparse) { fs->gd[group].bg_block_bitmap = PED_CPU_TO_LE32(sparseoff); fs->gd[group].bg_inode_bitmap = PED_CPU_TO_LE32(sparseoff + 1); } else { fs->gd[group].bg_block_bitmap = PED_CPU_TO_LE32(off); fs->gd[group].bg_inode_bitmap = PED_CPU_TO_LE32(off + 1); } /* Hey, I don't know _why_ either */ fs->gd[group].bg_inode_table = PED_CPU_TO_LE32(sparseoff + 2); } fs->gd[group].bg_free_blocks_count = PED_CPU_TO_LE16(groupsize - admin); fs->gd[group].bg_free_inodes_count = PED_CPU_TO_LE16( EXT2_SUPER_INODES_PER_GROUP(fs->sb)); fs->gd[group].bg_used_dirs_count = 0; fs->metadirty |= EXT2_META_SB | EXT2_META_GD; { struct ext2_buffer_head *bh; blk_t i; bh = ext2_bcreate(fs, EXT2_GROUP_BLOCK_BITMAP(fs->gd[group])); if (!bh) return 0; if (sparse) { bh->data[0] |= _bitmap[0]; for (i=1;i<=fs->gdblocks;i++) bh->data[i>>3] |= _bitmap[i&7]; } i = EXT2_GROUP_BLOCK_BITMAP(fs->gd[group]) - groupstart; bh->data[i>>3] |= _bitmap[i&7]; i = EXT2_GROUP_INODE_BITMAP(fs->gd[group]) - groupstart; bh->data[i>>3] |= _bitmap[i&7]; for (i=0;iinodeblocks;i++) { blk_t j; j = EXT2_GROUP_INODE_TABLE(fs->gd[group]) - groupstart + i; bh->data[j>>3] |= _bitmap[j&7]; } for (i=groupsize;isb);i++) bh->data[i>>3] |= _bitmap[i&7]; ext2_brelse(bh, 0); /* this is a block bitmap */ } if (!ext2_zero_blocks(fs, EXT2_GROUP_INODE_BITMAP(fs->gd[group]), 1)) return 0; if (!ext2_zero_blocks(fs, EXT2_GROUP_INODE_TABLE(fs->gd[group]), fs->inodeblocks)) return 0; if (fs->opt_safe) if (!ext2_sync(fs)) return 0; return 1; } static int ext2_del_group(struct ext2_fs *fs) { blk_t admin; int group; blk_t groupsize; blk_t newgdblocks; int sparse; if (fs->opt_verbose) fputs ("ext2_del_group\n", stderr); group = fs->numgroups - 1; sparse = ext2_is_group_sparse(fs, group); admin = fs->adminblocks; if (!sparse) admin -= fs->gdblocks + 1; groupsize = EXT2_SUPER_BLOCKS_COUNT(fs->sb) - EXT2_SUPER_FIRST_DATA_BLOCK(fs->sb) - group * EXT2_SUPER_BLOCKS_PER_GROUP(fs->sb); if (EXT2_SUPER_FREE_BLOCKS_COUNT(fs->sb) < groupsize - admin) { ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("File system is too full to remove a group!")); return 0; } if (EXT2_SUPER_FREE_INODES_COUNT(fs->sb) < EXT2_SUPER_INODES_PER_GROUP(fs->sb)) { ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("File system has too many allocated inodes to " "remove a group!")); return 0; } if (fs->opt_debug) { if (EXT2_GROUP_FREE_INODES_COUNT(fs->gd[group]) != EXT2_SUPER_INODES_PER_GROUP(fs->sb)) { fputs ("ext2_del_group: this should not " "happen anymore!\n", stderr); return 0; } } newgdblocks = ped_div_round_up((fs->numgroups - 1) * sizeof(struct ext2_group_desc), fs->blocksize); if (newgdblocks != fs->gdblocks) { int i; for (i=0;inumgroups;i++) if (ext2_is_group_sparse(fs, i)) { blk_t start; start = EXT2_SUPER_FIRST_DATA_BLOCK(fs->sb) + i * EXT2_SUPER_BLOCKS_PER_GROUP(fs->sb); ext2_set_block_state(fs, start + fs->gdblocks, 0, 1); } fs->gdblocks--; fs->adminblocks--; if (sparse) admin--; } if (fs->opt_debug) { if (EXT2_GROUP_FREE_BLOCKS_COUNT(fs->gd[group]) != groupsize - admin) { blk_t i; blk_t num; blk_t offset; offset = EXT2_SUPER_FIRST_DATA_BLOCK(fs->sb) + group * EXT2_SUPER_BLOCKS_PER_GROUP(fs->sb); num = EXT2_SUPER_BLOCKS_PER_GROUP(fs->sb); for (i=0;inumgroups--; fs->sb.s_inodes_count = PED_CPU_TO_LE32( EXT2_SUPER_INODES_COUNT(fs->sb) - EXT2_SUPER_INODES_PER_GROUP(fs->sb)); fs->sb.s_blocks_count = PED_CPU_TO_LE32( EXT2_SUPER_BLOCKS_COUNT(fs->sb) - groupsize); fs->sb.s_free_blocks_count = PED_CPU_TO_LE32( EXT2_SUPER_FREE_BLOCKS_COUNT(fs->sb) - (groupsize - admin)); fs->sb.s_free_inodes_count = PED_CPU_TO_LE32( EXT2_SUPER_FREE_INODES_COUNT(fs->sb) - EXT2_SUPER_INODES_PER_GROUP(fs->sb)); fs->metadirty |= EXT2_META_SB; if (fs->opt_safe) ext2_sync(fs); ped_realloc ((void*) &fs->gd, fs->numgroups * sizeof(struct ext2_group_desc) + fs->blocksize); return 1; } static int ext2_grow_group(struct ext2_fs *fs, blk_t newsize) { int group; blk_t groupoff; blk_t gblocks; blk_t i; if (fs->opt_verbose) fputs ("ext2_grow_group\n", stderr); group = fs->numgroups - 1; groupoff = group * EXT2_SUPER_BLOCKS_PER_GROUP(fs->sb) + EXT2_SUPER_FIRST_DATA_BLOCK(fs->sb); gblocks = EXT2_SUPER_BLOCKS_COUNT(fs->sb) - groupoff; if (fs->opt_debug) { if (newsize < gblocks) { fputs ("ext2_grow_group: called to shrink group!\n", stderr); return 0; } if (gblocks == newsize) { fputs ("ext2_grow_group: nothing to do!\n", stderr); return 0; } } for (i=gblocks;isb.s_blocks_count = PED_CPU_TO_LE32( EXT2_SUPER_BLOCKS_COUNT(fs->sb) + newsize - gblocks); fs->metadirty |= EXT2_META_SB; if (fs->opt_safe) ext2_sync(fs); return 1; } static int ext2_shrink_group(struct ext2_fs *fs, blk_t newsize) { blk_t admin; int group; blk_t groupoff; blk_t gblocks; blk_t i; if (fs->opt_verbose) fputs ("ext2_shrink_group\n", stderr); group = fs->numgroups - 1; admin = fs->adminblocks; if (!ext2_is_group_sparse(fs, group)) admin -= fs->gdblocks + 1; groupoff = group * EXT2_SUPER_BLOCKS_PER_GROUP(fs->sb) + EXT2_SUPER_FIRST_DATA_BLOCK(fs->sb); gblocks = EXT2_SUPER_BLOCKS_COUNT(fs->sb) - groupoff; if (fs->opt_debug) { if (newsize < admin) { fprintf(stderr, "ext2_shrink_group: cant shrink a group " "to %i blocks\n", newsize); return 0; } if (newsize > gblocks) { fputs ("ext2_shrink_group: called to grow group!\n", stderr); return 0; } if (gblocks == newsize) { fputs ("ext2_shrink_group: nothing to do!\n", stderr); return 0; } } for (i=newsize;iopt_debug && ext2_get_block_state(fs, groupoff + i)) { fprintf(stderr, "error: block relocator should have relocated " "%i\n", groupoff + i); return 0; } ext2_set_block_state(fs, groupoff + i, 1, 0); } i = gblocks - newsize; fs->sb.s_blocks_count = PED_CPU_TO_LE32( EXT2_SUPER_BLOCKS_COUNT(fs->sb) - i); fs->sb.s_free_blocks_count = PED_CPU_TO_LE32( EXT2_SUPER_FREE_BLOCKS_COUNT(fs->sb) - i); fs->gd[group].bg_free_blocks_count = PED_CPU_TO_LE16( EXT2_GROUP_FREE_BLOCKS_COUNT(fs->gd[group]) - i); fs->metadirty |= EXT2_META_SB | EXT2_META_GD; if (fs->opt_safe) ext2_sync(fs); return 1; } static int ext2_grow_fs(struct ext2_fs *fs, blk_t newsize, PedTimer* timer) { blk_t diff; blk_t sizelast; blk_t origsize = EXT2_SUPER_BLOCKS_COUNT(fs->sb); if (fs->opt_verbose) fputs ("ext2_grow_fs\n", stderr); if (!ext2_block_relocate(fs, newsize)) return 0; if (!ext2_metadata_push(fs, newsize)) return 0; diff = newsize - EXT2_SUPER_BLOCKS_COUNT(fs->sb); sizelast = EXT2_SUPER_BLOCKS_COUNT(fs->sb) - EXT2_SUPER_FIRST_DATA_BLOCK(fs->sb) - (fs->numgroups-1) * EXT2_SUPER_BLOCKS_PER_GROUP(fs->sb); if (sizelast != EXT2_SUPER_BLOCKS_PER_GROUP(fs->sb)) { blk_t growto; growto = sizelast + diff; if (growto > EXT2_SUPER_BLOCKS_PER_GROUP(fs->sb)) growto = EXT2_SUPER_BLOCKS_PER_GROUP(fs->sb); if (!ext2_grow_group(fs, growto)) return 0; diff -= growto - sizelast; } ped_timer_reset (timer); ped_timer_set_state_name (timer, _("adding groups")); while (diff) { ped_timer_update (timer, 1.0 - 1.0 * diff / (newsize - origsize)); sizelast = PED_MIN(diff, EXT2_SUPER_BLOCKS_PER_GROUP(fs->sb)); if (!ext2_add_group(fs, sizelast)) return 0; diff -= sizelast; } ped_timer_update (timer, 1.0); return 1; } static int ext2_shrink_fs(struct ext2_fs *fs, blk_t newsize, PedTimer* timer) { blk_t origsize = EXT2_SUPER_BLOCKS_COUNT (fs->sb); blk_t diff; int newgroups; blk_t sizelast; if (fs->opt_verbose) fputs ("ext2_shrink_fs\n", stderr); newgroups = ped_div_round_up (newsize - EXT2_SUPER_FIRST_DATA_BLOCK(fs->sb), EXT2_SUPER_BLOCKS_PER_GROUP(fs->sb)); if (EXT2_SUPER_BLOCKS_COUNT(fs->sb) - EXT2_SUPER_FREE_BLOCKS_COUNT(fs->sb) > newsize) { ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Your file system is too full to resize it to %i " "blocks. Sorry."), newsize); return 0; } if (EXT2_SUPER_INODES_COUNT(fs->sb) - EXT2_SUPER_FREE_INODES_COUNT(fs->sb) > newgroups * EXT2_SUPER_INODES_PER_GROUP(fs->sb)) { ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Your file system has too many occupied inodes to " "resize it to %i blocks. Sorry."), newsize); return 0; } if (!ext2_inode_relocate(fs, newgroups)) return 0; if (!ext2_block_relocate(fs, newsize)) return 0; diff = EXT2_SUPER_BLOCKS_COUNT(fs->sb) - newsize; ped_timer_reset (timer); ped_timer_set_state_name (timer, _("shrinking")); while (diff > 0) { ped_timer_update (timer, 1.0 - 1.0 * diff / (origsize - newsize)); sizelast = EXT2_SUPER_BLOCKS_COUNT(fs->sb) - EXT2_SUPER_FIRST_DATA_BLOCK(fs->sb) - (fs->numgroups - 1) * EXT2_SUPER_BLOCKS_PER_GROUP(fs->sb); if (diff < sizelast) { if (!ext2_shrink_group(fs, sizelast - diff)) return 0; diff = 0; } else { if (!ext2_del_group(fs)) return 0; diff -= sizelast; } } ped_timer_update (timer, 1.0); return 1; } int ext2_determine_itoffset(struct ext2_fs *fs) { int i; fs->itoffset = EXT2_GROUP_INODE_TABLE(fs->gd[0]) - EXT2_SUPER_FIRST_DATA_BLOCK(fs->sb); /*PED_DEBUG (0x20, "itoffset is %d", fs->itoffset); PED_DEBUG (0x20, "walking %d groups", fs->numgroups);*/ for (i=0;inumgroups;i++) { blk_t start; blk_t bb; blk_t ib; blk_t it; start = EXT2_SUPER_FIRST_DATA_BLOCK(fs->sb) + (i * EXT2_SUPER_BLOCKS_PER_GROUP(fs->sb)); it = start + fs->itoffset; /*PED_DEBUG (0x21, "start = %d, it = %d", start, it);*/ if (ext2_is_group_sparse(fs, i)) { /*PED_DEBUG (0x21, "%d has a superblock copy", i);*/ bb = it - 2; ib = it - 1; } else { /*PED_DEBUG (0x21, "%d doesn't have a superblock copy", i);*/ bb = start; ib = start + 1; } if (EXT2_GROUP_BLOCK_BITMAP(fs->gd[i]) != bb || EXT2_GROUP_INODE_BITMAP(fs->gd[i]) != ib || EXT2_GROUP_INODE_TABLE(fs->gd[i]) != it) { /* ped_exception_throw (PED_EXCEPTION_NO_FEATURE, PED_EXCEPTION_CANCEL, _("This ext2 file system has a rather strange layout! " "Parted can't resize this (yet)."));*/ /* PED_DEBUG (0x21, "calculated block bitmap to be %d, " "but fs says %d.", bb, EXT2_GROUP_BLOCK_BITMAP(fs->gd[i])); PED_DEBUG (0x21, "calculated inode bitmap to be %d, " "but fs says %d.", ib, EXT2_GROUP_INODE_BITMAP(fs->gd[i])); PED_DEBUG (0x21, "calculated inode table to be %d, " "but fs says %d.", it, EXT2_GROUP_INODE_TABLE(fs->gd[i]));*/ return 0; } } return 1; } int ext2_resize_fs(struct ext2_fs *fs, blk_t newsize, PedTimer* timer) { blk_t residue; int status; if (EXT2_SUPER_STATE(fs->sb) & EXT2_ERROR_FS) { ped_exception_throw ( PED_EXCEPTION_WARNING, PED_EXCEPTION_CANCEL, _("File system has errors! You should run e2fsck.")); return 0; } if (!(EXT2_SUPER_STATE(fs->sb) & EXT2_VALID_FS)) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("File system was not cleanly unmounted! " "You should run e2fsck.")); return 0; } if (EXT2_SUPER_FEATURE_COMPAT(fs->sb) & EXT2_FEATURE_COMPAT_HAS_DIR_INDEX) { if (ped_exception_throw ( PED_EXCEPTION_WARNING, PED_EXCEPTION_IGNORE_CANCEL, _("The file system has the 'dir_index' feature " "enabled. Parted can only resize the file system " "if it disables this feature. You can enable it " "later by running 'tune2fs -O dir_index DEVICE' " "and then 'e2fsck -fD DEVICE'.")) != PED_EXCEPTION_IGNORE) return 0; fs->sb.s_feature_compat = PED_CPU_TO_LE32(EXT2_SUPER_FEATURE_COMPAT(fs->sb) & ~EXT2_FEATURE_COMPAT_HAS_DIR_INDEX); fs->metadirty |= EXT2_META_SB; } if (!ext2_determine_itoffset(fs) && ped_exception_throw ( PED_EXCEPTION_WARNING, PED_EXCEPTION_OK_CANCEL, _("A resize operation on this file system will " "use EXPERIMENTAL code\n" "that MAY CORRUPT it (although no one has " "reported any such damage yet).\n" "You should at least backup your data first, " "and run 'e2fsck -f' afterwards.")) == PED_EXCEPTION_CANCEL) { return 0; } if (fs->opt_verbose) fputs ("ext2_resize_fs\n", stderr); residue = (newsize - EXT2_SUPER_FIRST_DATA_BLOCK(fs->sb)) % EXT2_SUPER_BLOCKS_PER_GROUP(fs->sb); if (residue && residue <= fs->adminblocks) newsize -= residue; if (newsize == EXT2_SUPER_BLOCKS_COUNT(fs->sb)) return 1; fs->relocator_pool = (unsigned char *)ped_malloc(ext2_relocator_pool_size << 10); if (!fs->relocator_pool) return 0; fs->relocator_pool_end = fs->relocator_pool + (ext2_relocator_pool_size << 10); if (newsize < EXT2_SUPER_BLOCKS_COUNT(fs->sb)) status = ext2_shrink_fs(fs, newsize, timer); else status = ext2_grow_fs(fs, newsize, timer); free(fs->relocator_pool); fs->relocator_pool = NULL; fs->relocator_pool_end = NULL; return status; } #endif /* !DISCOVER_ONLY */ parted-2.3/libparted/fs/ext2/Makefile.in0000644000000000000000000011626611400005574015041 00000000000000# Makefile.in generated by automake 1.11a from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = libparted/fs/ext2 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \ $(top_srcdir)/m4/asm-underscore.m4 $(top_srcdir)/m4/assert.m4 \ $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/calloc.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \ $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/dirname.m4 \ $(top_srcdir)/m4/dos.m4 $(top_srcdir)/m4/double-slash-root.m4 \ $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/extensions.m4 \ $(top_srcdir)/m4/fclose.m4 $(top_srcdir)/m4/fcntl-o.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fpending.m4 \ $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getopt.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \ $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/lib-ignore.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \ $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \ $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/long-options.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \ $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/memchr.m4 \ $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \ $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/o-direct.m4 $(top_srcdir)/m4/open.m4 \ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \ $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/readlink.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/safe-read.m4 \ $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \ $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/symlink.m4 \ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \ $(top_srcdir)/m4/version-etc.m4 \ $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \ $(top_srcdir)/m4/wctype_h.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xstrndup.m4 \ $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/lib/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libext2_la_LIBADD = am_libext2_la_OBJECTS = ext2.lo ext2_block_relocator.lo ext2_buffer.lo \ ext2_inode_relocator.lo ext2_meta.lo ext2_mkfs.lo \ ext2_resize.lo interface.lo parted_io.lo tune.lo libext2_la_OBJECTS = $(am_libext2_la_OBJECTS) AM_V_lt = $(am__v_lt_$(V)) am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) am__v_lt_0 = --silent DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/lib depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_$(V)) am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) am__v_CC_0 = @echo " CC " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_$(V)) am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) am__v_CCLD_0 = @echo " CCLD " $@; AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; SOURCES = $(libext2_la_SOURCES) DIST_SOURCES = $(libext2_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ BUILDINFO = @BUILDINFO@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ CONFIG_INCLUDE = @CONFIG_INCLUDE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DL_LIBS = @DL_LIBS@ DM_LIBS = @DM_LIBS@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENABLE_DEVICE_MAPPER = @ENABLE_DEVICE_MAPPER@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPURGE = @GNULIB_FPURGE@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSTATAT = @GNULIB_FSTATAT@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETGROUPS = @GNULIB_GETGROUPS@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMCHR = @GNULIB_MEMCHR@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDIRAT = @GNULIB_MKDIRAT@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKFIFO = @GNULIB_MKFIFO@ GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@ GNULIB_MKNOD = @GNULIB_MKNOD@ GNULIB_MKNODAT = @GNULIB_MKNODAT@ GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PTSNAME = @GNULIB_PTSNAME@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ GNULIB_RMDIR = @GNULIB_RMDIR@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STAT = @GNULIB_STAT@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNCAT = @GNULIB_STRNCAT@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRPTIME = @GNULIB_STRPTIME@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNLINK = @GNULIB_UNLINK@ GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_USLEEP = @GNULIB_USLEEP@ GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_FUTIMENS = @HAVE_FUTIMENS@ HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETGROUPS = @HAVE_GETGROUPS@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@ HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@ HAVE_LANGINFO_H = @HAVE_LANGINFO_H@ HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LCHOWN = @HAVE_LCHOWN@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LOCALTIME_R = @HAVE_LOCALTIME_R@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_MKFIFO = @HAVE_MKFIFO@ HAVE_MKFIFOAT = @HAVE_MKFIFOAT@ HAVE_MKNOD = @HAVE_MKNOD@ HAVE_MKNODAT = @HAVE_MKNODAT@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ HAVE_OS_H = @HAVE_OS_H@ HAVE_PIPE2 = @HAVE_PIPE2@ HAVE_PREAD = @HAVE_PREAD@ HAVE_PTSNAME = @HAVE_PTSNAME@ HAVE_PWRITE = @HAVE_PWRITE@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TTYNAME_R = @HAVE_TTYNAME_R@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_USLEEP = @HAVE_USLEEP@ HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ HAVE_WCRTOMB = @HAVE_WCRTOMB@ HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE__BOOL = @HAVE__BOOL@ IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ INTLINCS = @INTLINCS@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ LIBTOOL = @LIBTOOL@ LIB_BLKID = @LIB_BLKID@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@ LOCALE_JA = @LOCALE_JA@ LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTALLOCA = @LTALLOCA@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ NEXT_WCTYPE_H = @NEXT_WCTYPE_H@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OS = @OS@ OS_LIBS = @OS_LIBS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PARTEDLDFLAGS = @PARTEDLDFLAGS@ PARTED_LIBS = @PARTED_LIBS@ PARTED_USABLE_TEST_DIR = @PARTED_USABLE_TEST_DIR@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POSUB = @POSUB@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PRIPTR_PREFIX = @PRIPTR_PREFIX@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REISER_LIBS = @REISER_LIBS@ REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FSTAT = @REPLACE_FSTAT@ REPLACE_FSTATAT = @REPLACE_FSTATAT@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ REPLACE_MBRLEN = @REPLACE_MBRLEN@ REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ REPLACE_MBSINIT = @REPLACE_MBSINIT@ REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_OPENAT = @REPLACE_OPENAT@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALPATH = @REPLACE_REALPATH@ REPLACE_REMOVE = @REPLACE_REMOVE@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRNCAT = @REPLACE_STRNCAT@ REPLACE_STRNDUP = @REPLACE_STRNDUP@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ REPLACE_UNSETENV = @REPLACE_UNSETENV@ REPLACE_USLEEP = @REPLACE_USLEEP@ REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ SELINUX_LIBS = @SELINUX_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_NLS = @USE_NLS@ UUID_LIBS = @UUID_LIBS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_aux_dir = @abs_aux_dir@ 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@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ gltests_WITNESS = @gltests_WITNESS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ partedincludedir = -I$(top_srcdir)/include noinst_LTLIBRARIES = libext2.la libext2_la_SOURCES = ext2.c \ ext2.h \ ext2_fs.h \ ext2_block_relocator.c \ ext2_buffer.c \ ext2_inode_relocator.c \ ext2_meta.c \ ext2_mkfs.c \ ext2_resize.c \ interface.c \ parted_io.c \ parted_io.h \ tune.c \ tune.h INCLUDES = $(partedincludedir) $(INTLINCS) MAINTAINERCLEANFILES = Makefile.in all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libparted/fs/ext2/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu libparted/fs/ext2/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libext2.la: $(libext2_la_OBJECTS) $(libext2_la_DEPENDENCIES) $(AM_V_CCLD)$(LINK) $(libext2_la_OBJECTS) $(libext2_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ext2.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ext2_block_relocator.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ext2_buffer.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ext2_inode_relocator.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ext2_meta.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ext2_mkfs.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ext2_resize.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/interface.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parted_io.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tune.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: $(HEADERS) $(SOURCES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstLTLIBRARIES cscopelist ctags \ distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: parted-2.3/libparted/fs/ext2/tune.h0000644000000000000000000000171211333731662014116 00000000000000/* tune.h -- ext2 tunables header Copyright (C) 1998-2000, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _TUNE_H #define _TUNE_H #define MAXCONT 256 extern int ext2_buffer_cache_pool_size; extern int ext2_hash_bits; extern int ext2_max_groups; extern int ext2_relocator_pool_size; #endif parted-2.3/libparted/fs/ext2/parted_io.c0000644000000000000000000000642211370314741015103 00000000000000/* parted_io.c -- parted I/O code interface for libext2resize Copyright (C) 1998-2000, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #ifndef DISCOVER_ONLY #include #include #include #include "ext2.h" /* pseudo-header.... */ loff_t llseek(unsigned int fd, loff_t offset, unsigned int whence); struct my_cookie { int logsize; PedGeometry* geom; }; /* ...then this must be pseudo-code :-) */ static int do_close (void *cookie); static int do_sync (void *cookie); static blk_t do_get_size (void *cookie); static int do_read (void *cookie, void *ptr, blk_t block, blk_t numblocks); static int do_set_blocksize(void *cookie, int logsize); static int do_write (void *cookie, void *ptr, blk_t block, blk_t numblocks); struct ext2_dev_ops ops = { close: do_close, get_size: do_get_size, read: do_read, set_blocksize: do_set_blocksize, sync: do_sync, write: do_write }; static int do_close(void *cookie) { struct my_cookie *monster = cookie; return ped_geometry_sync(monster->geom); } static int do_sync(void *cookie) { struct my_cookie *monster = cookie; return ped_geometry_sync(monster->geom); } static blk_t do_get_size(void *cookie) { struct my_cookie *monster = cookie; return monster->geom->length >> (monster->logsize - 9); } static int do_read(void *cookie, void *ptr, blk_t block, blk_t num) { struct my_cookie *monster = cookie; return ped_geometry_read(monster->geom, ptr, (PedSector) block << (monster->logsize - 9), (PedSector) num << (monster->logsize - 9)); } static int do_set_blocksize(void *cookie, int logsize) { struct my_cookie *monster = cookie; monster->logsize = logsize; return 1; } static int do_write(void *cookie, void *ptr, blk_t block, blk_t num) { struct my_cookie *monster = cookie; return ped_geometry_write(monster->geom, ptr, (PedSector) block << (monster->logsize - 9), (PedSector) num << (monster->logsize - 9)); } struct ext2_dev_handle *ext2_make_dev_handle_from_parted_geometry(PedGeometry* geom) { struct ext2_dev_handle *dh; struct my_cookie *monster; if ((dh = ped_malloc(sizeof(struct ext2_dev_handle))) == NULL) goto error; if ((monster = ped_malloc(sizeof(struct my_cookie))) == NULL) goto error_free_dh; dh->ops = &ops; dh->cookie = monster; monster->logsize = 9; monster->geom = geom; return dh; error_free_dh: free(dh); error: return NULL; } void ext2_destroy_dev_handle(struct ext2_dev_handle *handle) { ped_geometry_destroy(((struct my_cookie *)handle->cookie)->geom); free(handle->cookie); free(handle); } #endif /* !DISCOVER_ONLY */ parted-2.3/libparted/fs/ext2/ext2_meta.c0000644000000000000000000000737611333731662015042 00000000000000/* ext2_meta.c -- ext2 metadata mover Copyright (C) 1998-2000, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #ifndef DISCOVER_ONLY #include #include #include "ext2.h" int ext2_metadata_push(struct ext2_fs *fs, blk_t newsize) { int i; int newgdblocks; blk_t newitoffset; newgdblocks = ped_div_round_up (newsize - EXT2_SUPER_FIRST_DATA_BLOCK(fs->sb), EXT2_SUPER_BLOCKS_PER_GROUP(fs->sb)); newgdblocks = ped_div_round_up (newgdblocks * sizeof(struct ext2_group_desc), fs->blocksize); newitoffset = newgdblocks + 3; if (newitoffset <= fs->itoffset) return 1; for (i=0;inumgroups;i++) { blk_t diff; blk_t j; blk_t fromblock; blk_t start; start = (i * EXT2_SUPER_BLOCKS_PER_GROUP(fs->sb)) + EXT2_SUPER_FIRST_DATA_BLOCK(fs->sb); if (EXT2_GROUP_INODE_TABLE(fs->gd[i]) >= start + newitoffset && EXT2_GROUP_BLOCK_BITMAP(fs->gd[i]) >= start + newitoffset - 2 && EXT2_GROUP_INODE_BITMAP(fs->gd[i]) >= start + newitoffset - 1) continue; diff = newitoffset - (EXT2_GROUP_INODE_TABLE(fs->gd[i]) - start); /* inode table */ fromblock = EXT2_GROUP_INODE_TABLE(fs->gd[i]) + fs->inodeblocks; if (fs->opt_debug) { for (j=0;jgd[i]), fs->inodeblocks, EXT2_GROUP_INODE_TABLE(fs->gd[i]) + diff)) return 0; fs->gd[i].bg_inode_table = PED_CPU_TO_LE32 ( EXT2_GROUP_INODE_TABLE(fs->gd[i]) + diff); fs->metadirty |= EXT2_META_GD; if (fs->opt_safe) if (!ext2_sync(fs)) return 0; /* block bitmap and inode bitmap */ fromblock = EXT2_GROUP_INODE_TABLE(fs->gd[i]); if (ext2_is_group_sparse(fs, i)) { if (!ext2_copy_block(fs, EXT2_GROUP_INODE_BITMAP(fs->gd[i]), EXT2_GROUP_INODE_BITMAP(fs->gd[i]) + diff)) return 0; fs->gd[i].bg_inode_bitmap = PED_CPU_TO_LE32 ( EXT2_GROUP_INODE_BITMAP(fs->gd[i]) + diff); fs->metadirty |= EXT2_META_GD; if (fs->opt_safe) if (!ext2_sync(fs)) return 0; if (!ext2_copy_block(fs, EXT2_GROUP_BLOCK_BITMAP(fs->gd[i]), EXT2_GROUP_BLOCK_BITMAP(fs->gd[i])+diff)) return 0; fs->gd[i].bg_block_bitmap = PED_CPU_TO_LE32 ( EXT2_GROUP_BLOCK_BITMAP(fs->gd[i]) + diff); fs->metadirty |= EXT2_META_GD; if (fs->opt_safe) if (!ext2_sync(fs)) return 0; fromblock = EXT2_GROUP_BLOCK_BITMAP(fs->gd[i]); } ext2_zero_blocks(fs, fromblock-diff, diff); for (j=0;jopt_verbose) fprintf(stderr, "ext2_metadata_push: group %i/%i\r", i+1, fs->numgroups); } fs->itoffset = newitoffset; if (fs->opt_verbose) fputc ('\n', stderr); return 1; } #endif /* !DISCOVER_ONLY */ parted-2.3/libparted/fs/ext2/tune.c0000644000000000000000000000264011333731662014112 00000000000000/* tune.c -- tuneable stuff Copyright (C) 1998-2000, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #ifndef DISCOVER_ONLY /* * maybe i'll make this all command-line configurable one day */ /* The size of the buffer cache in kilobytes. Note that this is only the actual buffer memory. On top of this amount additional memory will be allocated for buffer cache bookkeeping. */ int ext2_buffer_cache_pool_size = 512; /* The size of the buffer cache hash table (log2 of # of buckets). */ int ext2_hash_bits = 8; /* The block/inode relocator pool size in kilobytes. Make this as big as you can. The smaller this is, the more disk I/O is required for doing relocations. */ int ext2_relocator_pool_size = 4096; #endif /* !DISCOVER_ONLY */ parted-2.3/libparted/fs/linux_swap/0000755000000000000000000000000011400006132014336 500000000000000parted-2.3/libparted/fs/linux_swap/linux_swap.c0000644000000000000000000004262011333731662016641 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 1999-2000, 2002, 2007-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* It's a bit silly calling a swap partition a file system. Oh well... */ #include #include #include #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ #include #include #define SWAP_SPECIFIC(fs) ((SwapSpecific*) (fs->type_specific)) #define BUFFER_SIZE 128 #define LINUXSWAP_BLOCK_SIZES ((int[2]){512, 0}) typedef struct { char page_map[1]; } SwapOldHeader; /* ripped from mkswap */ typedef struct { char bootbits[1024]; /* Space for disklabel etc. */ uint32_t version; uint32_t last_page; uint32_t nr_badpages; unsigned char sws_uuid[16]; unsigned char sws_volume[16]; uint32_t padding[117]; uint32_t badpages[1]; } SwapNewHeader; typedef struct { union { SwapNewHeader new; SwapOldHeader old; }* header; void* buffer; int buffer_size; PedSector page_sectors; unsigned int page_count; unsigned int version; unsigned int max_bad_pages; } SwapSpecific; static PedFileSystemType _swap_v0_type; static PedFileSystemType _swap_v1_type; static PedFileSystemType _swap_swsusp_type; static PedFileSystem* _swap_v0_open (PedGeometry* geom); static PedFileSystem* _swap_v1_open (PedGeometry* geom); static PedFileSystem* _swap_swsusp_open (PedGeometry* geom); static int swap_close (PedFileSystem* fs); static PedGeometry* _generic_swap_probe (PedGeometry* geom, int kind) { PedFileSystem* fs; SwapSpecific* fs_info; PedGeometry* probed_geom; PedSector length; /* Fail the swap-file-system-recognizing test when sector size is not the default. */ if (geom->dev->sector_size != PED_SECTOR_SIZE_DEFAULT) return NULL; switch (kind) { /* Check for old style swap partitions. */ case 0: fs = _swap_v0_open(geom); break; /* Check for new style swap partitions. */ case 1: fs = _swap_v1_open(geom); break; /* Check for swap partitions containing swsusp data. */ case -1: fs = _swap_swsusp_open(geom); break; /* Not reached. */ default: goto error; } if (!fs) goto error; fs_info = SWAP_SPECIFIC (fs); if (fs_info->version) length = fs_info->page_sectors * fs_info->page_count; else length = geom->length; probed_geom = ped_geometry_new (geom->dev, geom->start, length); if (!probed_geom) goto error_close_fs; swap_close (fs); return probed_geom; error_close_fs: swap_close (fs); error: return NULL; } #ifndef DISCOVER_ONLY static int _generic_swap_clobber (PedGeometry* geom, int kind) { PedFileSystem* fs; char buf[512]; switch (kind) { /* Check for old style swap partitions. */ case 0: fs = _swap_v0_open(geom); break; /* Check for new style swap partitions. */ case 1: fs = _swap_v1_open(geom); break; /* Check for swap partitions containing swsusp data. */ case -1: fs = _swap_swsusp_open(geom); break; /* Not reached */ default: goto error; } if (!fs) return 1; memset (buf, 0, 512); if (!ped_geometry_write (geom, buf, getpagesize() / 512 - 1, 1)) goto error_close_fs; swap_close (fs); return 1; error_close_fs: swap_close (fs); error: return 0; } #endif /* !DISCOVER_ONLY */ static int swap_init (PedFileSystem* fs, int fresh) { SwapSpecific* fs_info = SWAP_SPECIFIC (fs); fs_info->page_sectors = getpagesize () / 512; fs_info->page_count = fs->geom->length / fs_info->page_sectors; fs_info->version = 1; fs_info->max_bad_pages = (getpagesize() - sizeof (SwapNewHeader)) / 4; if (fresh) { uuid_t uuid_dat; memset (fs_info->header, 0, getpagesize()); /* version is always 1 here */ uuid_generate (uuid_dat); memcpy (fs_info->header->new.sws_uuid, uuid_dat, sizeof (fs_info->header->new.sws_uuid)); return 1; } else return ped_geometry_read (fs->geom, fs_info->header, 0, fs_info->page_sectors); } static PedFileSystem* swap_alloc (PedGeometry* geom) { PedFileSystem* fs; SwapSpecific* fs_info; fs = (PedFileSystem*) ped_malloc (sizeof (PedFileSystem)); if (!fs) goto error; fs->type_specific = (SwapSpecific*) ped_malloc (sizeof (SwapSpecific)); if (!fs->type_specific) goto error_free_fs; fs_info = SWAP_SPECIFIC (fs); fs_info->header = ped_malloc (getpagesize()); if (!fs_info->header) goto error_free_type_specific; fs_info = SWAP_SPECIFIC (fs); fs_info->buffer_size = getpagesize() * BUFFER_SIZE; fs_info->buffer = ped_malloc (fs_info->buffer_size); if (!fs_info->buffer) goto error_free_header; fs->geom = ped_geometry_duplicate (geom); if (!fs->geom) goto error_free_buffer; fs->type = &_swap_v1_type; return fs; error_free_buffer: free (fs_info->buffer); error_free_header: free (fs_info->header); error_free_type_specific: free (fs->type_specific); error_free_fs: free (fs); error: return NULL; } static void swap_free (PedFileSystem* fs) { SwapSpecific* fs_info = SWAP_SPECIFIC (fs); free (fs_info->buffer); free (fs_info->header); free (fs->type_specific); ped_geometry_destroy (fs->geom); free (fs); } static PedFileSystem* _swap_v0_open (PedGeometry* geom) { PedFileSystem* fs; SwapSpecific* fs_info; const char* sig; fs = swap_alloc (geom); if (!fs) goto error; swap_init (fs, 0); fs_info = SWAP_SPECIFIC (fs); if (!ped_geometry_read (fs->geom, fs_info->header, 0, fs_info->page_sectors)) goto error_free_fs; sig = ((char*) fs_info->header) + getpagesize() - 10; if (strncmp (sig, "SWAP-SPACE", 10) == 0) { fs_info->version = 0; fs_info->page_count = PED_MIN (fs->geom->length / fs_info->page_sectors, 8 * (getpagesize() - 10)); } else { char _sig [11]; memcpy (_sig, sig, 10); _sig [10] = 0; ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Unrecognised old style linux swap signature '%10s'."), _sig); goto error_free_fs; } fs->checked = 1; return fs; error_free_fs: swap_free (fs); error: return NULL; } static PedFileSystem* _swap_v1_open (PedGeometry* geom) { PedFileSystem* fs; SwapSpecific* fs_info; const char* sig; fs = swap_alloc (geom); if (!fs) goto error; /* swap_init (fs, 0); */ /* fs_info = SWAP_SPECIFIC (fs); */ /* if (!ped_geometry_read (fs->geom, fs_info->header, 0, */ /* fs_info->page_sectors)) */ if (!swap_init(fs, 0)) goto error_free_fs; fs_info = SWAP_SPECIFIC (fs); sig = ((char*) fs_info->header) + getpagesize() - 10; if (strncmp (sig, "SWAPSPACE2", 10) == 0) { fs_info->version = 1; fs_info->page_count = fs_info->header->new.last_page; } else { char _sig [11]; memcpy (_sig, sig, 10); _sig [10] = 0; ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Unrecognised new style linux swap signature '%10s'."), _sig); goto error_free_fs; } fs->checked = 1; return fs; error_free_fs: swap_free (fs); error: return NULL; } static PedFileSystem* _swap_swsusp_open (PedGeometry* geom) { PedFileSystem* fs; SwapSpecific* fs_info; const char* sig; fs = swap_alloc (geom); if (!fs) goto error; fs->type = &_swap_swsusp_type; swap_init (fs, 0); fs_info = SWAP_SPECIFIC (fs); if (!ped_geometry_read (fs->geom, fs_info->header, 0, fs_info->page_sectors)) goto error_free_fs; sig = ((char*) fs_info->header) + getpagesize() - 10; if (strncmp (sig, "S1SUSPEND", 9) == 0) { fs_info->version = -1; } else { char _sig [10]; memcpy (_sig, sig, 9); _sig [9] = 0; ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Unrecognised swsusp linux swap signature '%9s'."), _sig); goto error_free_fs; } fs->checked = 1; return fs; error_free_fs: swap_free (fs); error: return NULL; } static int swap_close (PedFileSystem* fs) { swap_free (fs); return 1; } #ifndef DISCOVER_ONLY static int swap_new_find_bad_page (PedFileSystem* fs, unsigned int page) { SwapSpecific* fs_info = SWAP_SPECIFIC (fs); unsigned int i; for (i=0; i < fs_info->header->new.nr_badpages; i++) { if (fs_info->header->new.badpages [i] == page) return i; } return 0; } static int swap_new_remove_bad_page (PedFileSystem* fs, unsigned int page) { SwapSpecific* fs_info = SWAP_SPECIFIC (fs); unsigned int pos; pos = swap_new_find_bad_page (fs, page); if (!pos) return 0; for (; pos < fs_info->header->new.nr_badpages; pos++) { fs_info->header->new.badpages [pos - 1] = fs_info->header->new.badpages [pos]; } return 1; } static int swap_mark_page (PedFileSystem* fs, unsigned int page, int ok) { SwapSpecific* fs_info = SWAP_SPECIFIC (fs); char* ptr; unsigned int mask; if (fs_info->version == 0) { ptr = &fs_info->header->old.page_map [page/8]; mask = 1 << (page%8); *ptr = (*ptr & ~mask) + ok * mask; } else { if (ok) { if (swap_new_remove_bad_page (fs, page)) fs_info->header->new.nr_badpages--; } else { if (swap_new_find_bad_page (fs, page)) return 1; if (fs_info->header->new.nr_badpages > fs_info->max_bad_pages) { ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Too many bad pages.")); return 0; } fs_info->header->new.badpages [fs_info->header->new.nr_badpages] = page; fs_info->header->new.nr_badpages++; } } return 1; } static void swap_clear_pages (PedFileSystem* fs) { SwapSpecific* fs_info = SWAP_SPECIFIC (fs); unsigned int i; for (i = 1; i < fs_info->page_count; i++) { swap_mark_page (fs, i, 1); } if (fs_info->version == 0) { for (; i < 1024; i++) { swap_mark_page (fs, i, 0); } } } static int swap_check_pages (PedFileSystem* fs, PedTimer* timer) { SwapSpecific* fs_info = SWAP_SPECIFIC (fs); PedSector result; int first_page = 1; int stop_page = 0; int last_page = fs_info->page_count - 1; PedTimer* nested_timer; ped_timer_reset (timer); ped_timer_set_state_name (timer, _("checking for bad blocks")); swap_clear_pages (fs); while (first_page <= last_page) { nested_timer = ped_timer_new_nested ( timer, 1.0 * (last_page - first_page) / last_page); result = ped_geometry_check ( fs->geom, fs_info->buffer, fs_info->buffer_size / 512, first_page * fs_info->page_sectors, fs_info->page_sectors, (last_page - first_page + 1) * fs_info->page_sectors, nested_timer); ped_timer_destroy_nested (nested_timer); if (!result) return 1; stop_page = result / fs_info->page_sectors; if (!swap_mark_page (fs, stop_page, 0)) return 0; first_page = stop_page + 1; } return 1; } static int swap_write (PedFileSystem* fs) { SwapSpecific* fs_info = SWAP_SPECIFIC (fs); char* sig = ((char*) fs_info->header) + getpagesize() - 10; if (fs_info->version == 0) { memcpy (sig, "SWAP-SPACE", 10); } else { fs_info->header->new.version = 1; fs_info->header->new.last_page = fs_info->page_count - 1; fs_info->header->new.nr_badpages = 0; memcpy (sig, "SWAPSPACE2", 10); } return ped_geometry_write (fs->geom, fs_info->header, 0, fs_info->page_sectors); } static PedFileSystem* swap_create (PedGeometry* geom, PedTimer* timer) { PedFileSystem* fs; fs = swap_alloc (geom); if (!fs) goto error; swap_init (fs, 1); if (!swap_write (fs)) goto error_free_fs; return fs; error_free_fs: swap_free (fs); error: return NULL; } static int swap_resize (PedFileSystem* fs, PedGeometry* geom, PedTimer* timer) { PedGeometry* old_geom = fs->geom; fs->geom = ped_geometry_duplicate (geom); swap_init (fs, old_geom->start != geom->start); if (!swap_write (fs)) goto error; ped_geometry_destroy (old_geom); return 1; error: ped_geometry_destroy (fs->geom); fs->geom = old_geom; return 0; } static PedFileSystem* swap_copy (const PedFileSystem* fs, PedGeometry* geom, PedTimer* timer) { return ped_file_system_create (geom, &_swap_v1_type, timer); } static int swap_check (PedFileSystem* fs, PedTimer* timer) { return swap_check_pages (fs, timer) && swap_write (fs); } static PedConstraint* swap_get_create_constraint (const PedDevice* dev) { PedGeometry full_dev; if (!ped_geometry_init (&full_dev, dev, 0, dev->length - 1)) return NULL; return ped_constraint_new (ped_alignment_any, ped_alignment_any, &full_dev, &full_dev, getpagesize() / 512, dev->length); } static PedConstraint* swap_get_resize_constraint (const PedFileSystem* fs) { return swap_get_create_constraint (fs->geom->dev); } static PedConstraint* swap_get_copy_constraint (const PedFileSystem* fs, const PedDevice* dev) { return swap_get_create_constraint (dev); } #endif /* !DISCOVER_ONLY */ static PedGeometry* _swap_v0_probe (PedGeometry* geom) { return _generic_swap_probe (geom, 0); } static PedGeometry* _swap_v1_probe (PedGeometry* geom) { return _generic_swap_probe (geom, 1); } static PedGeometry* _swap_swsusp_probe (PedGeometry* geom) { return _generic_swap_probe (geom, -1); } static int _swap_v0_clobber (PedGeometry* geom) { return _generic_swap_clobber (geom, 0); } static int _swap_v1_clobber (PedGeometry* geom) { return _generic_swap_clobber (geom, 1); } static int _swap_swsusp_clobber (PedGeometry* geom) { return _generic_swap_clobber (geom, -1); } static PedFileSystemOps _swap_v0_ops = { probe: _swap_v0_probe, #ifndef DISCOVER_ONLY clobber: _swap_v0_clobber, open: _swap_v0_open, create: swap_create, close: swap_close, check: swap_check, copy: swap_copy, resize: swap_resize, get_create_constraint: swap_get_create_constraint, get_resize_constraint: swap_get_resize_constraint, get_copy_constraint: swap_get_copy_constraint #else clobber: NULL, open: NULL, create: NULL, close: NULL, check: NULL, copy: NULL, resize: NULL, get_create_constraint: NULL, get_resize_constraint: NULL, get_copy_constraint: NULL #endif /* !DISCOVER_ONLY */ }; static PedFileSystemOps _swap_v1_ops = { probe: _swap_v1_probe, #ifndef DISCOVER_ONLY clobber: _swap_v1_clobber, open: _swap_v1_open, create: swap_create, close: swap_close, check: swap_check, copy: swap_copy, resize: swap_resize, get_create_constraint: swap_get_create_constraint, get_resize_constraint: swap_get_resize_constraint, get_copy_constraint: swap_get_copy_constraint #else clobber: NULL, open: NULL, create: NULL, close: NULL, check: NULL, copy: NULL, resize: NULL, get_create_constraint: NULL, get_resize_constraint: NULL, get_copy_constraint: NULL #endif /* !DISCOVER_ONLY */ }; static PedFileSystemOps _swap_swsusp_ops = { probe: _swap_swsusp_probe, #ifndef DISCOVER_ONLY clobber: _swap_swsusp_clobber, open: _swap_swsusp_open, create: swap_create, close: swap_close, check: swap_check, copy: swap_copy, resize: swap_resize, get_create_constraint: swap_get_create_constraint, get_resize_constraint: swap_get_resize_constraint, get_copy_constraint: swap_get_copy_constraint #else clobber: NULL, open: NULL, create: NULL, close: NULL, check: NULL, copy: NULL, resize: NULL, get_create_constraint: NULL, get_resize_constraint: NULL, get_copy_constraint: NULL #endif /* !DISCOVER_ONLY */ }; static PedFileSystemType _swap_v0_type = { next: NULL, ops: &_swap_v0_ops, name: "linux-swap(v0)", block_sizes: LINUXSWAP_BLOCK_SIZES }; static PedFileSystemType _swap_v1_type = { next: NULL, ops: &_swap_v1_ops, name: "linux-swap(v1)", block_sizes: LINUXSWAP_BLOCK_SIZES }; static PedFileSystemType _swap_swsusp_type = { next: NULL, ops: &_swap_swsusp_ops, name: "swsusp", block_sizes: LINUXSWAP_BLOCK_SIZES }; void ped_file_system_linux_swap_init () { ped_file_system_type_register (&_swap_v0_type); ped_file_system_type_register (&_swap_v1_type); ped_file_system_type_register (&_swap_swsusp_type); ped_file_system_alias_register (&_swap_v0_type, "linux-swap(old)", 1); ped_file_system_alias_register (&_swap_v1_type, "linux-swap(new)", 1); ped_file_system_alias_register (&_swap_v1_type, "linux-swap", 0); } void ped_file_system_linux_swap_done () { ped_file_system_alias_unregister (&_swap_v0_type, "linux-swap(old)"); ped_file_system_alias_unregister (&_swap_v1_type, "linux-swap(new)"); ped_file_system_alias_unregister (&_swap_v1_type, "linux-swap"); ped_file_system_type_unregister (&_swap_v0_type); ped_file_system_type_unregister (&_swap_v1_type); ped_file_system_type_unregister (&_swap_swsusp_type); } parted-2.3/libparted/fs/linux_swap/Makefile.am0000644000000000000000000000031011035473300016315 00000000000000partedincludedir = -I$(top_srcdir)/include noinst_LTLIBRARIES = liblinuxswap.la liblinuxswap_la_SOURCES = linux_swap.c INCLUDES = $(partedincludedir) $(INTLINCS) MAINTAINERCLEANFILES = Makefile.in parted-2.3/libparted/fs/linux_swap/Makefile.in0000644000000000000000000011436511400005574016346 00000000000000# Makefile.in generated by automake 1.11a from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = libparted/fs/linux_swap DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \ $(top_srcdir)/m4/asm-underscore.m4 $(top_srcdir)/m4/assert.m4 \ $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/calloc.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \ $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/dirname.m4 \ $(top_srcdir)/m4/dos.m4 $(top_srcdir)/m4/double-slash-root.m4 \ $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/extensions.m4 \ $(top_srcdir)/m4/fclose.m4 $(top_srcdir)/m4/fcntl-o.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fpending.m4 \ $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getopt.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \ $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/lib-ignore.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \ $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \ $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/long-options.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \ $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/memchr.m4 \ $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \ $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/o-direct.m4 $(top_srcdir)/m4/open.m4 \ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \ $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/readlink.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/safe-read.m4 \ $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \ $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/symlink.m4 \ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \ $(top_srcdir)/m4/version-etc.m4 \ $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \ $(top_srcdir)/m4/wctype_h.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xstrndup.m4 \ $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/lib/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) liblinuxswap_la_LIBADD = am_liblinuxswap_la_OBJECTS = linux_swap.lo liblinuxswap_la_OBJECTS = $(am_liblinuxswap_la_OBJECTS) AM_V_lt = $(am__v_lt_$(V)) am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) am__v_lt_0 = --silent DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/lib depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_$(V)) am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) am__v_CC_0 = @echo " CC " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_$(V)) am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) am__v_CCLD_0 = @echo " CCLD " $@; AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; SOURCES = $(liblinuxswap_la_SOURCES) DIST_SOURCES = $(liblinuxswap_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ BUILDINFO = @BUILDINFO@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ CONFIG_INCLUDE = @CONFIG_INCLUDE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DL_LIBS = @DL_LIBS@ DM_LIBS = @DM_LIBS@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENABLE_DEVICE_MAPPER = @ENABLE_DEVICE_MAPPER@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPURGE = @GNULIB_FPURGE@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSTATAT = @GNULIB_FSTATAT@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETGROUPS = @GNULIB_GETGROUPS@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMCHR = @GNULIB_MEMCHR@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDIRAT = @GNULIB_MKDIRAT@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKFIFO = @GNULIB_MKFIFO@ GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@ GNULIB_MKNOD = @GNULIB_MKNOD@ GNULIB_MKNODAT = @GNULIB_MKNODAT@ GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PTSNAME = @GNULIB_PTSNAME@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ GNULIB_RMDIR = @GNULIB_RMDIR@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STAT = @GNULIB_STAT@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNCAT = @GNULIB_STRNCAT@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRPTIME = @GNULIB_STRPTIME@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNLINK = @GNULIB_UNLINK@ GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_USLEEP = @GNULIB_USLEEP@ GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_FUTIMENS = @HAVE_FUTIMENS@ HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETGROUPS = @HAVE_GETGROUPS@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@ HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@ HAVE_LANGINFO_H = @HAVE_LANGINFO_H@ HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LCHOWN = @HAVE_LCHOWN@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LOCALTIME_R = @HAVE_LOCALTIME_R@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_MKFIFO = @HAVE_MKFIFO@ HAVE_MKFIFOAT = @HAVE_MKFIFOAT@ HAVE_MKNOD = @HAVE_MKNOD@ HAVE_MKNODAT = @HAVE_MKNODAT@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ HAVE_OS_H = @HAVE_OS_H@ HAVE_PIPE2 = @HAVE_PIPE2@ HAVE_PREAD = @HAVE_PREAD@ HAVE_PTSNAME = @HAVE_PTSNAME@ HAVE_PWRITE = @HAVE_PWRITE@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TTYNAME_R = @HAVE_TTYNAME_R@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_USLEEP = @HAVE_USLEEP@ HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ HAVE_WCRTOMB = @HAVE_WCRTOMB@ HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE__BOOL = @HAVE__BOOL@ IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ INTLINCS = @INTLINCS@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ LIBTOOL = @LIBTOOL@ LIB_BLKID = @LIB_BLKID@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@ LOCALE_JA = @LOCALE_JA@ LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTALLOCA = @LTALLOCA@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ NEXT_WCTYPE_H = @NEXT_WCTYPE_H@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OS = @OS@ OS_LIBS = @OS_LIBS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PARTEDLDFLAGS = @PARTEDLDFLAGS@ PARTED_LIBS = @PARTED_LIBS@ PARTED_USABLE_TEST_DIR = @PARTED_USABLE_TEST_DIR@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POSUB = @POSUB@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PRIPTR_PREFIX = @PRIPTR_PREFIX@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REISER_LIBS = @REISER_LIBS@ REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FSTAT = @REPLACE_FSTAT@ REPLACE_FSTATAT = @REPLACE_FSTATAT@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ REPLACE_MBRLEN = @REPLACE_MBRLEN@ REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ REPLACE_MBSINIT = @REPLACE_MBSINIT@ REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_OPENAT = @REPLACE_OPENAT@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALPATH = @REPLACE_REALPATH@ REPLACE_REMOVE = @REPLACE_REMOVE@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRNCAT = @REPLACE_STRNCAT@ REPLACE_STRNDUP = @REPLACE_STRNDUP@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ REPLACE_UNSETENV = @REPLACE_UNSETENV@ REPLACE_USLEEP = @REPLACE_USLEEP@ REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ SELINUX_LIBS = @SELINUX_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_NLS = @USE_NLS@ UUID_LIBS = @UUID_LIBS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_aux_dir = @abs_aux_dir@ 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@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ gltests_WITNESS = @gltests_WITNESS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ partedincludedir = -I$(top_srcdir)/include noinst_LTLIBRARIES = liblinuxswap.la liblinuxswap_la_SOURCES = linux_swap.c INCLUDES = $(partedincludedir) $(INTLINCS) MAINTAINERCLEANFILES = Makefile.in all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libparted/fs/linux_swap/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu libparted/fs/linux_swap/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done liblinuxswap.la: $(liblinuxswap_la_OBJECTS) $(liblinuxswap_la_DEPENDENCIES) $(AM_V_CCLD)$(LINK) $(liblinuxswap_la_OBJECTS) $(liblinuxswap_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linux_swap.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: $(HEADERS) $(SOURCES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstLTLIBRARIES cscopelist ctags \ distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: parted-2.3/libparted/mbr.s0000644000000000000000000000410711370314006012433 00000000000000; libparted - a library for manipulating disk partitions ; Copyright (C) 1999-2000, 2007, 2009-2010 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 3 of the License, or ; (at your option) any later version. ; ; This program is distributed in the hope that it will be useful, ; but WITHOUT ANY WARRANTY; without even the implied warranty of ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ; GNU General Public License for more details. ; ; You should have received a copy of the GNU General Public License ; along with this program. If not, see . ; NOTE: I build this with: ; $ as86 -b /dev/stdout mbr.s | hexdump -e '8/1 "0x%02x, " "\n"' ; ; The build isn't done automagically by make, because as86 may not be on many ; machines (particularly non-x86). Also, it seems rather difficult to get ; as86 to build object files that can be linked, especially as it's 16 bit ; code... USE16 ; This code, plus the partition table is loaded into 0000:7C00 by the BIOS .text ; set top of stack to 1000:B000 cli mov ax, #0x1000 mov ss, ax mov sp, #0xB000 mov ax, #0x0000 mov ds, ax mov es, ax sti ; Copy what the BIOS loaded (i.e. the MBR + head of partition table) from ; 0000:7c00 to 0000:0600 mov si, #0x7c00 mov di, #0x0600 mov cx, #0x200 rep movsb ; Jump to the copy of the MBR jmp 0x0000:find_boot_partition + 0x0600 find_boot_partition: mov si, #0x07BE check_next_bootable: cmp [si], al jnz found_bootable add si, #0x0010 cmp si, #0x07FE jnz check_next_bootable jmp error found_bootable: ; Load in the boot sector at 0000:7c00 mov ah, #2 ; BIOS command (read) mov al, #1 ; count mov bx, #0x7c00 ; destination pointer mov dl, #0x80 ; drive mov dh, byte ptr [si + 1] ; head mov cx, word ptr [si + 2] ; sector / cylinder int #0x13 ; BIOS read interrupt jmp 0x0000:0x7c00 ; hand control to boot sector error: jmp error parted-2.3/libparted/Makefile.in0000644000000000000000000015645011400005573013545 00000000000000# Makefile.in generated by automake 1.11a from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # This file is part of GNU Parted # Copyright (C) 1999-2001, 2007, 2009-2010 Free Software Foundation, # Inc. # # This file may be modified and/or distributed without restriction. VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ @HAVE_CHECK_TRUE@am__append_1 = tests @BUILD_LINUX_TRUE@am__append_2 = arch/$(OS).h subdir = libparted DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \ $(top_srcdir)/m4/asm-underscore.m4 $(top_srcdir)/m4/assert.m4 \ $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/calloc.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \ $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/dirname.m4 \ $(top_srcdir)/m4/dos.m4 $(top_srcdir)/m4/double-slash-root.m4 \ $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/extensions.m4 \ $(top_srcdir)/m4/fclose.m4 $(top_srcdir)/m4/fcntl-o.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fpending.m4 \ $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getopt.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \ $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/lib-ignore.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \ $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \ $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/long-options.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \ $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/memchr.m4 \ $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \ $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/o-direct.m4 $(top_srcdir)/m4/open.m4 \ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \ $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/readlink.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/safe-read.m4 \ $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \ $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/symlink.m4 \ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \ $(top_srcdir)/m4/version-etc.m4 \ $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \ $(top_srcdir)/m4/wctype_h.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xstrndup.m4 \ $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/lib/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(libdir)" LTLIBRARIES = $(lib_LTLIBRARIES) am__DEPENDENCIES_1 = libparted_la_DEPENDENCIES = fs/libfs.la labels/liblabels.la \ $(top_builddir)/lib/libgnulib.la $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) am__libparted_la_SOURCES_DIST = debug.c architecture.c architecture.h \ device.c exception.c filesys.c libparted.c timer.c unit.c \ disk.c cs/geom.c cs/constraint.c cs/natmath.c arch/$(OS).c \ arch/$(OS).h am__objects_1 = am__objects_2 = $(OS).lo $(am__objects_1) am_libparted_la_OBJECTS = debug.lo architecture.lo device.lo \ exception.lo filesys.lo libparted.lo timer.lo unit.lo disk.lo \ geom.lo constraint.lo natmath.lo $(am__objects_2) libparted_la_OBJECTS = $(am_libparted_la_OBJECTS) AM_V_lt = $(am__v_lt_$(V)) am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) am__v_lt_0 = --silent libparted_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(libparted_la_LDFLAGS) $(LDFLAGS) -o $@ DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/lib depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_$(V)) am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) am__v_CC_0 = @echo " CC " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_$(V)) am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) am__v_CCLD_0 = @echo " CCLD " $@; AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; SOURCES = $(libparted_la_SOURCES) $(EXTRA_libparted_la_SOURCES) DIST_SOURCES = $(am__libparted_la_SOURCES_DIST) \ $(EXTRA_libparted_la_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 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ distdir ETAGS = etags CTAGS = ctags DIST_SUBDIRS = labels fs . tests DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ BUILDINFO = @BUILDINFO@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ CONFIG_INCLUDE = @CONFIG_INCLUDE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DL_LIBS = @DL_LIBS@ DM_LIBS = @DM_LIBS@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENABLE_DEVICE_MAPPER = @ENABLE_DEVICE_MAPPER@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPURGE = @GNULIB_FPURGE@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSTATAT = @GNULIB_FSTATAT@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETGROUPS = @GNULIB_GETGROUPS@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMCHR = @GNULIB_MEMCHR@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDIRAT = @GNULIB_MKDIRAT@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKFIFO = @GNULIB_MKFIFO@ GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@ GNULIB_MKNOD = @GNULIB_MKNOD@ GNULIB_MKNODAT = @GNULIB_MKNODAT@ GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PTSNAME = @GNULIB_PTSNAME@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ GNULIB_RMDIR = @GNULIB_RMDIR@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STAT = @GNULIB_STAT@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNCAT = @GNULIB_STRNCAT@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRPTIME = @GNULIB_STRPTIME@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNLINK = @GNULIB_UNLINK@ GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_USLEEP = @GNULIB_USLEEP@ GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_FUTIMENS = @HAVE_FUTIMENS@ HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETGROUPS = @HAVE_GETGROUPS@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@ HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@ HAVE_LANGINFO_H = @HAVE_LANGINFO_H@ HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LCHOWN = @HAVE_LCHOWN@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LOCALTIME_R = @HAVE_LOCALTIME_R@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_MKFIFO = @HAVE_MKFIFO@ HAVE_MKFIFOAT = @HAVE_MKFIFOAT@ HAVE_MKNOD = @HAVE_MKNOD@ HAVE_MKNODAT = @HAVE_MKNODAT@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ HAVE_OS_H = @HAVE_OS_H@ HAVE_PIPE2 = @HAVE_PIPE2@ HAVE_PREAD = @HAVE_PREAD@ HAVE_PTSNAME = @HAVE_PTSNAME@ HAVE_PWRITE = @HAVE_PWRITE@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TTYNAME_R = @HAVE_TTYNAME_R@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_USLEEP = @HAVE_USLEEP@ HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ HAVE_WCRTOMB = @HAVE_WCRTOMB@ HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE__BOOL = @HAVE__BOOL@ IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ INTLINCS = @INTLINCS@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ LIBTOOL = @LIBTOOL@ LIB_BLKID = @LIB_BLKID@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@ LOCALE_JA = @LOCALE_JA@ LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTALLOCA = @LTALLOCA@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ NEXT_WCTYPE_H = @NEXT_WCTYPE_H@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OS = @OS@ OS_LIBS = @OS_LIBS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PARTEDLDFLAGS = @PARTEDLDFLAGS@ PARTED_LIBS = @PARTED_LIBS@ PARTED_USABLE_TEST_DIR = @PARTED_USABLE_TEST_DIR@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POSUB = @POSUB@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PRIPTR_PREFIX = @PRIPTR_PREFIX@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REISER_LIBS = @REISER_LIBS@ REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FSTAT = @REPLACE_FSTAT@ REPLACE_FSTATAT = @REPLACE_FSTATAT@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ REPLACE_MBRLEN = @REPLACE_MBRLEN@ REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ REPLACE_MBSINIT = @REPLACE_MBSINIT@ REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_OPENAT = @REPLACE_OPENAT@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALPATH = @REPLACE_REALPATH@ REPLACE_REMOVE = @REPLACE_REMOVE@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRNCAT = @REPLACE_STRNCAT@ REPLACE_STRNDUP = @REPLACE_STRNDUP@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ REPLACE_UNSETENV = @REPLACE_UNSETENV@ REPLACE_USLEEP = @REPLACE_USLEEP@ REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ SELINUX_LIBS = @SELINUX_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_NLS = @USE_NLS@ UUID_LIBS = @UUID_LIBS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_aux_dir = @abs_aux_dir@ 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@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ gltests_WITNESS = @gltests_WITNESS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS_CHECK = $(am__append_1) ARCH_SOURCE = arch/$(OS).c $(am__append_2) AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) SUBDIRS = labels fs . $(SUBDIRS_CHECK) partedincludedir = -I$(top_srcdir)/lib -I$(top_srcdir)/include lib_LTLIBRARIES = libparted.la # Set the shared library version, per Libtool's guidelines. # For details, see the "Libtool's versioning system" section of "info libtool" CURRENT = 0 REVISION = 1 AGE = 0 libparted_la_LDFLAGS = -version-info $(CURRENT):$(REVISION):$(AGE) libparted_la_SOURCES = debug.c \ architecture.c \ architecture.h \ device.c \ exception.c \ filesys.c \ libparted.c \ timer.c \ unit.c \ disk.c \ cs/geom.c \ cs/constraint.c \ cs/natmath.c \ $(ARCH_SOURCE) EXTRA_libparted_la_SOURCES = arch/linux.c \ arch/linux.h \ arch/gnu.c \ arch/beos.c libparted_la_LIBADD = \ fs/libfs.la \ labels/liblabels.la \ $(top_builddir)/lib/libgnulib.la \ $(OS_LIBS) \ $(DL_LIBS) \ $(DM_LIBS) \ $(SELINUX_LIBS) \ $(LIB_BLKID) \ $(INTLLIBS) EXTRA_DIST = mbr.s INCLUDES = $(partedincludedir) $(INTLINCS) MAINTAINERCLEANFILES = Makefile.in all: all-recursive .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libparted/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu libparted/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ list2=; for p in $$list; do \ if test -f $$p; then \ list2="$$list2 $$p"; \ else :; fi; \ done; \ test -z "$$list2" || { \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ } uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ for p in $$list; do \ $(am__strip_dir) \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ done clean-libLTLIBRARIES: -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libparted.la: $(libparted_la_OBJECTS) $(libparted_la_DEPENDENCIES) $(AM_V_CCLD)$(libparted_la_LINK) -rpath $(libdir) $(libparted_la_OBJECTS) $(libparted_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/$(OS).Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/architecture.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/beos.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/constraint.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/debug.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/device.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/disk.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exception.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filesys.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/geom.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnu.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libparted.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linux.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/natmath.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timer.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< geom.lo: cs/geom.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT geom.lo -MD -MP -MF $(DEPDIR)/geom.Tpo -c -o geom.lo `test -f 'cs/geom.c' || echo '$(srcdir)/'`cs/geom.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/geom.Tpo $(DEPDIR)/geom.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='cs/geom.c' object='geom.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o geom.lo `test -f 'cs/geom.c' || echo '$(srcdir)/'`cs/geom.c constraint.lo: cs/constraint.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT constraint.lo -MD -MP -MF $(DEPDIR)/constraint.Tpo -c -o constraint.lo `test -f 'cs/constraint.c' || echo '$(srcdir)/'`cs/constraint.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/constraint.Tpo $(DEPDIR)/constraint.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='cs/constraint.c' object='constraint.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o constraint.lo `test -f 'cs/constraint.c' || echo '$(srcdir)/'`cs/constraint.c natmath.lo: cs/natmath.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT natmath.lo -MD -MP -MF $(DEPDIR)/natmath.Tpo -c -o natmath.lo `test -f 'cs/natmath.c' || echo '$(srcdir)/'`cs/natmath.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/natmath.Tpo $(DEPDIR)/natmath.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='cs/natmath.c' object='natmath.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o natmath.lo `test -f 'cs/natmath.c' || echo '$(srcdir)/'`cs/natmath.c $(OS).lo: arch/$(OS).c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT $(OS).lo -MD -MP -MF $(DEPDIR)/$(OS).Tpo -c -o $(OS).lo `test -f 'arch/$(OS).c' || echo '$(srcdir)/'`arch/$(OS).c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$(OS).Tpo $(DEPDIR)/$(OS).Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='arch/$(OS).c' object='$(OS).lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(OS).lo `test -f 'arch/$(OS).c' || echo '$(srcdir)/'`arch/$(OS).c linux.lo: arch/linux.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT linux.lo -MD -MP -MF $(DEPDIR)/linux.Tpo -c -o linux.lo `test -f 'arch/linux.c' || echo '$(srcdir)/'`arch/linux.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/linux.Tpo $(DEPDIR)/linux.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='arch/linux.c' object='linux.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o linux.lo `test -f 'arch/linux.c' || echo '$(srcdir)/'`arch/linux.c gnu.lo: arch/gnu.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gnu.lo -MD -MP -MF $(DEPDIR)/gnu.Tpo -c -o gnu.lo `test -f 'arch/gnu.c' || echo '$(srcdir)/'`arch/gnu.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gnu.Tpo $(DEPDIR)/gnu.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='arch/gnu.c' object='gnu.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gnu.lo `test -f 'arch/gnu.c' || echo '$(srcdir)/'`arch/gnu.c beos.lo: arch/beos.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT beos.lo -MD -MP -MF $(DEPDIR)/beos.Tpo -c -o beos.lo `test -f 'arch/beos.c' || echo '$(srcdir)/'`arch/beos.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/beos.Tpo $(DEPDIR)/beos.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='arch/beos.c' object='beos.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o beos.lo `test -f 'arch/beos.c' || echo '$(srcdir)/'`arch/beos.c mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done cscopelist-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(LTLIBRARIES) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(libdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(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 mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-recursive clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-libLTLIBRARIES install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-libLTLIBRARIES .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) \ cscopelist-recursive ctags-recursive install-am install-strip \ tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic \ clean-libLTLIBRARIES clean-libtool cscopelist \ cscopelist-recursive ctags ctags-recursive distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am \ install-libLTLIBRARIES install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-recursive uninstall uninstall-am \ uninstall-libLTLIBRARIES # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: parted-2.3/libparted/libparted.c0000644000000000000000000001417011333731662013614 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 1999-2001, 2007-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "configmake.h" #include #include #include "architecture.h" #if ENABLE_NLS # include # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ /* ped_malloc() debugging. Stick the address and size of memory blocks that * weren't free()d in here, and an exception will be thrown when it is * allocated. That way, you can find out what, exactly, the allocated thing * is, and where it is created. */ typedef struct { void* pointer; size_t size; } pointer_size_type; /* IMHO, none of the DEBUG-related code below is useful, and the ped_malloc memset code is actually quite harmful: it masked at least two nasty bugs that were fixed in June of 2007. */ #undef DEBUG #ifdef DEBUG static pointer_size_type dodgy_malloc_list[] = { {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0} }; static int dodgy_memory_active[100]; #endif /* DEBUG */ extern void ped_disk_aix_init (); extern void ped_disk_bsd_init (); extern void ped_disk_dvh_init (); extern void ped_disk_gpt_init (); extern void ped_disk_loop_init (); extern void ped_disk_mac_init (); extern void ped_disk_msdos_init (); extern void ped_disk_pc98_init (); extern void ped_disk_sun_init (); extern void ped_disk_amiga_init (); extern void ped_disk_dasd_init (); static void init_disk_types () { ped_disk_loop_init (); /* must be last in the probe list */ #if defined __s390__ || defined __s390x__ ped_disk_dasd_init(); #endif ped_disk_sun_init (); #ifdef ENABLE_PC98 ped_disk_pc98_init (); #endif ped_disk_msdos_init (); ped_disk_mac_init (); ped_disk_gpt_init (); ped_disk_dvh_init (); ped_disk_bsd_init (); ped_disk_amiga_init (); ped_disk_aix_init (); } #ifdef ENABLE_FS extern void ped_file_system_amiga_init (void); extern void ped_file_system_xfs_init (void); extern void ped_file_system_ufs_init (void); extern void ped_file_system_reiserfs_init (void); extern void ped_file_system_ntfs_init (void); extern void ped_file_system_linux_swap_init (void); extern void ped_file_system_jfs_init (void); extern void ped_file_system_hfs_init (void); extern void ped_file_system_fat_init (void); extern void ped_file_system_ext2_init (void); static void init_file_system_types () { ped_file_system_amiga_init (); ped_file_system_xfs_init (); ped_file_system_ufs_init (); ped_file_system_reiserfs_init (); ped_file_system_ntfs_init (); ped_file_system_linux_swap_init (); ped_file_system_jfs_init (); ped_file_system_hfs_init (); ped_file_system_fat_init (); ped_file_system_ext2_init (); } #endif /* ENABLE_FS */ extern void ped_disk_aix_done (); extern void ped_disk_bsd_done (); extern void ped_disk_dvh_done (); extern void ped_disk_gpt_done (); extern void ped_disk_loop_done (); extern void ped_disk_mac_done (); extern void ped_disk_msdos_done (); extern void ped_disk_pc98_done (); extern void ped_disk_sun_done (); extern void ped_disk_amiga_done (); extern void ped_disk_dasd_done (); static void done_disk_types () { #if defined __s390__ || __s390x__ ped_disk_dasd_done (); #endif ped_disk_sun_done (); #ifdef ENABLE_PC98 ped_disk_pc98_done (); #endif ped_disk_msdos_done (); ped_disk_mac_done (); ped_disk_loop_done (); ped_disk_gpt_done (); ped_disk_dvh_done (); ped_disk_bsd_done (); ped_disk_amiga_done (); ped_disk_aix_done (); } static void _init() __attribute__ ((constructor)); static void _init() { #ifdef ENABLE_NLS bindtextdomain (PACKAGE, LOCALEDIR); #endif init_disk_types (); #ifdef ENABLE_FS init_file_system_types (); #endif ped_set_architecture (); #ifdef DEBUG memset (dodgy_memory_active, 0, sizeof (dodgy_memory_active)); #endif } #ifdef ENABLE_FS extern void ped_file_system_ext2_done (void); extern void ped_file_system_fat_done (void); extern void ped_file_system_hfs_done (void); extern void ped_file_system_jfs_done (void); extern void ped_file_system_linux_swap_done (void); extern void ped_file_system_ntfs_done (void); extern void ped_file_system_reiserfs_done (void); extern void ped_file_system_ufs_done (void); extern void ped_file_system_xfs_done (void); extern void ped_file_system_amiga_done (void); static void done_file_system_types () { ped_file_system_ext2_done (); ped_file_system_fat_done (); ped_file_system_hfs_done (); ped_file_system_jfs_done (); ped_file_system_linux_swap_done (); ped_file_system_ntfs_done (); ped_file_system_reiserfs_done (); ped_file_system_ufs_done (); ped_file_system_xfs_done (); ped_file_system_amiga_done (); } #endif /* ENABLE_FS */ static void _done() __attribute__ ((destructor)); static void _done() { ped_device_free_all (); done_disk_types (); #ifdef ENABLE_FS done_file_system_types (); #endif } const char* ped_get_version () { return VERSION; } void* ped_malloc (size_t size) { void* mem; mem = (void*) malloc (size); if (!mem) { ped_exception_throw (PED_EXCEPTION_FATAL, PED_EXCEPTION_CANCEL, _("Out of memory.")); return NULL; } return mem; } int ped_realloc (void** old, size_t size) { void* mem; mem = (void*) realloc (*old, size); if (!mem) { ped_exception_throw (PED_EXCEPTION_FATAL, PED_EXCEPTION_CANCEL, _("Out of memory.")); return 0; } *old = mem; return 1; } void* ped_calloc (size_t size) { void* buf = ped_malloc (size); memset (buf, 0, size); return buf; } parted-2.3/libparted/disk.c0000644000000000000000000017251411370314006012575 00000000000000 /* libparted - a library for manipulating disk partitions Copyright (C) 1999-2003, 2005, 2007-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /** \file disk.c */ /** * \addtogroup PedDisk * * \brief Disk label access. * * Most programs will need to use ped_disk_new() or ped_disk_new_fresh() to get * anything done. A PedDisk is always associated with a device and has a * partition table. There are different types of partition tables (or disk * labels). These are represented by the PedDiskType enumeration. * * @{ */ #include #include #include #include #include "architecture.h" #include "labels/pt-tools.h" #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) # define N_(String) (String) #else # define _(String) (String) # define N_(String) (String) #endif /* ENABLE_NLS */ /* UPDATE MODE functions */ #ifdef DEBUG static int _disk_check_sanity (PedDisk* disk); #endif static int _disk_push_update_mode (PedDisk* disk); static int _disk_pop_update_mode (PedDisk* disk); static int _disk_raw_insert_before (PedDisk* disk, PedPartition* loc, PedPartition* part); static int _disk_raw_insert_after (PedDisk* disk, PedPartition* loc, PedPartition* part); static int _disk_raw_remove (PedDisk* disk, PedPartition* part); static int _disk_raw_add (PedDisk* disk, PedPartition* part); static PedDiskType* disk_types = NULL; void ped_disk_type_register (PedDiskType* disk_type) { PED_ASSERT (disk_type != NULL, return); PED_ASSERT (disk_type->ops != NULL, return); PED_ASSERT (disk_type->name != NULL, return); disk_type->next = disk_types; disk_types = disk_type; } void ped_disk_type_unregister (PedDiskType* disk_type) { PedDiskType* walk; PedDiskType* last = NULL; PED_ASSERT (disk_types != NULL, return); PED_ASSERT (disk_type != NULL, return); for (walk = disk_types; walk && walk != disk_type; last = walk, walk = walk->next); PED_ASSERT (walk != NULL, return); if (last) ((struct _PedDiskType*) last)->next = disk_type->next; else disk_types = disk_type->next; } /** * Return the next disk type registers, after "type". If "type" is * NULL, returns the first disk type. * * \return Next disk; NULL if "type" is the last registered disk type. */ PedDiskType* ped_disk_type_get_next (PedDiskType const *type) { if (type) return type->next; else return disk_types; } /** * Return the disk type with a name of "name". * * \return Disk type; NULL if no match. */ PedDiskType* ped_disk_type_get (const char* name) { PedDiskType* walk = NULL; PED_ASSERT (name != NULL, return NULL); for (walk = ped_disk_type_get_next (NULL); walk; walk = ped_disk_type_get_next (walk)) if (strcasecmp (walk->name, name) == 0) break; return walk; } /** * Return the type of partition table detected on "dev". * * \return Type; NULL if none was detected. */ PedDiskType* ped_disk_probe (PedDevice* dev) { PedDiskType* walk = NULL; PED_ASSERT (dev != NULL, return NULL); if (!ped_device_open (dev)) return NULL; ped_exception_fetch_all (); for (walk = ped_disk_type_get_next (NULL); walk; walk = ped_disk_type_get_next (walk)) { if (getenv ("PARTED_DEBUG")) { fprintf (stderr, "probe label: %s\n", walk->name); fflush (stderr); } if (walk->ops->probe (dev)) break; } if (ped_exception) ped_exception_catch (); ped_exception_leave_all (); ped_device_close (dev); return walk; } /** * Read the partition table off a device (if one is found). * * \warning May modify \p dev->cylinders, \p dev->heads and \p dev->sectors * if the partition table indicates that the existing values * are incorrect. * * \return A new \link _PedDisk PedDisk \endlink object; * NULL on failure (e.g. partition table not detected). */ PedDisk* ped_disk_new (PedDevice* dev) { PedDiskType* type; PedDisk* disk; PED_ASSERT (dev != NULL, return NULL); if (!ped_device_open (dev)) goto error; type = ped_disk_probe (dev); if (!type) { ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("%s: unrecognised disk label"), dev->path); goto error_close_dev; } disk = ped_disk_new_fresh (dev, type); if (!disk) goto error_close_dev; if (!type->ops->read (disk)) goto error_destroy_disk; disk->needs_clobber = 0; ped_device_close (dev); return disk; error_destroy_disk: ped_disk_destroy (disk); error_close_dev: ped_device_close (dev); error: return NULL; } static int _add_duplicate_part (PedDisk* disk, PedPartition* old_part) { PedPartition* new_part; int ret; new_part = disk->type->ops->partition_duplicate (old_part); if (!new_part) goto error; new_part->disk = disk; if (!_disk_push_update_mode (disk)) goto error_destroy_new_part; ret = _disk_raw_add (disk, new_part); if (!_disk_pop_update_mode (disk)) goto error_destroy_new_part; if (!ret) goto error_destroy_new_part; #ifdef DEBUG if (!_disk_check_sanity (disk)) goto error_destroy_new_part; #endif return 1; error_destroy_new_part: ped_partition_destroy (new_part); error: return 0; } /** * Clone a \link _PedDisk PedDisk \endlink object. * * \return Deep copy of \p old_disk, NULL on failure. */ PedDisk* ped_disk_duplicate (const PedDisk* old_disk) { PedDisk* new_disk; PedPartition* old_part; PED_ASSERT (old_disk != NULL, return NULL); PED_ASSERT (!old_disk->update_mode, return NULL); PED_ASSERT (old_disk->type->ops->duplicate != NULL, return NULL); PED_ASSERT (old_disk->type->ops->partition_duplicate != NULL, return NULL); new_disk = old_disk->type->ops->duplicate (old_disk); if (!new_disk) goto error; if (!_disk_push_update_mode (new_disk)) goto error_destroy_new_disk; for (old_part = ped_disk_next_partition (old_disk, NULL); old_part; old_part = ped_disk_next_partition (old_disk, old_part)) { if (ped_partition_is_active (old_part)) { if (!_add_duplicate_part (new_disk, old_part)){ _disk_pop_update_mode (new_disk); goto error_destroy_new_disk; } } } if (!_disk_pop_update_mode (new_disk)) goto error_destroy_new_disk; new_disk->needs_clobber = old_disk->needs_clobber; return new_disk; error_destroy_new_disk: ped_disk_destroy (new_disk); error: return NULL; } /* Given a partition table type NAME, e.g., "gpt", return its PedDiskType handle. If no known type has a name matching NAME, return NULL. */ static PedDiskType const * find_disk_type (char const *name) { PedDiskType const *t; for (t = ped_disk_type_get_next (NULL); t; t = ped_disk_type_get_next (t)) { if (strcmp (t->name, name) == 0) return t; } return NULL; } /** * Remove all identifying signatures of a partition table, * * \return 0 on error, 1 otherwise. * * \sa ped_disk_clobber() */ int ped_disk_clobber (PedDevice* dev) { PED_ASSERT (dev != NULL, goto error); if (!ped_device_open (dev)) goto error; PedDiskType const *gpt = find_disk_type ("gpt"); PED_ASSERT (gpt != NULL, goto error); /* If there is a GPT table, don't clobber the protective MBR. */ bool is_gpt = gpt->ops->probe (dev); PedSector first_sector = (is_gpt ? 1 : 0); /* How many sectors to zero out at each end. This must be large enough to zero out the magic bytes starting at offset 8KiB on a DASD partition table. Doing the same from the end of the disk is probably overkill, but at least on GPT, we do need to zero out the final sector. */ const PedSector n_sectors = 9 * 1024 / dev->sector_size + 1; /* Clear the first few. */ PedSector n = n_sectors; if (dev->length < first_sector + n_sectors) n = dev->length - first_sector; if (!ptt_clear_sectors (dev, first_sector, n)) goto error_close_dev; /* Clear the last few. */ PedSector t = (dev->length - (n_sectors < dev->length ? n_sectors : 1)); /* Don't clobber the pMBR if we have a pathologically small disk. */ if (t < first_sector) t = first_sector; if (!ptt_clear_sectors (dev, t, dev->length - t)) goto error_close_dev; ped_device_close (dev); return 1; error_close_dev: ped_device_close (dev); error: return 0; } /** * Create a new partition table on \p dev. * * This new partition table is only created in-memory, and nothing is written * to disk until ped_disk_commit_to_dev() is called. * * \return The newly constructed \link _PedDisk PedDisk \endlink, * NULL on failure. */ PedDisk* ped_disk_new_fresh (PedDevice* dev, const PedDiskType* type) { PedDisk* disk; PED_ASSERT (dev != NULL, return NULL); PED_ASSERT (type != NULL, return NULL); PED_ASSERT (type->ops->alloc != NULL, return NULL); PedCHSGeometry* bios_geom = &dev->bios_geom; PED_ASSERT (bios_geom->sectors != 0, return NULL); PED_ASSERT (bios_geom->heads != 0, return NULL); disk = type->ops->alloc (dev); if (!disk) goto error; if (!_disk_pop_update_mode (disk)) goto error_destroy_disk; PED_ASSERT (disk->update_mode == 0, ignored); disk->needs_clobber = 1; return disk; error_destroy_disk: ped_disk_destroy (disk); error: return NULL; } PedDisk* _ped_disk_alloc (const PedDevice* dev, const PedDiskType* disk_type) { PedDisk* disk; disk = (PedDisk*) ped_malloc (sizeof (PedDisk)); if (!disk) goto error; disk->dev = (PedDevice*)dev; disk->type = disk_type; disk->update_mode = 1; disk->part_list = NULL; return disk; error: return NULL; } void _ped_disk_free (PedDisk* disk) { _disk_push_update_mode (disk); ped_disk_delete_all (disk); free (disk); } /** * Close \p disk. * * What this function does depends on the PedDiskType of \p disk, * but you can generally assume that outstanding writes are flushed * (this mainly means that _ped_disk_free is called). */ void ped_disk_destroy (PedDisk* disk) { PED_ASSERT (disk != NULL, return); PED_ASSERT (!disk->update_mode, return); disk->type->ops->free (disk); } /** * Tell the operating system kernel about the partition table layout * of \p disk. * * This is rather loosely defined: for example, on old versions of Linux, * it simply calls the BLKRRPART ioctl, which tells the kernel to * reread the partition table. On newer versions (2.4.x), it will * use the new blkpg interface to tell Linux where each partition * starts/ends, etc. In this case, Linux does not need to have support for * a specific type of partition table. * * \return 0 on failure, 1 otherwise. */ int ped_disk_commit_to_os (PedDisk* disk) { PED_ASSERT (disk != NULL, return 0); if (!ped_device_open (disk->dev)) goto error; if (!ped_architecture->disk_ops->disk_commit (disk)) goto error_close_dev; ped_device_close (disk->dev); return 1; error_close_dev: ped_device_close (disk->dev); error: return 0; } /** * Write the changes made to the in-memory description * of a partition table to the device. * * \return 0 on failure, 1 otherwise. */ int ped_disk_commit_to_dev (PedDisk* disk) { PED_ASSERT (disk != NULL, goto error); PED_ASSERT (!disk->update_mode, goto error); if (!disk->type->ops->write) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("This libparted doesn't have write support for " "%s. Perhaps it was compiled read-only."), disk->type->name); goto error; } if (!ped_device_open (disk->dev)) goto error; if (disk->needs_clobber) { if (!ped_disk_clobber (disk->dev)) goto error_close_dev; disk->needs_clobber = 0; } if (!disk->type->ops->write (disk)) goto error_close_dev; ped_device_close (disk->dev); return 1; error_close_dev: ped_device_close (disk->dev); error: return 0; } /* * This function writes the in-memory changes to a partition table to * disk and informs the operating system of the changes. * * \note Equivalent to calling first ped_disk_commit_to_dev(), then * ped_disk_commit_to_os(). * * \return 0 on failure, 1 otherwise. */ int ped_disk_commit (PedDisk* disk) { /* Open the device here, so that the underlying fd is not closed between commit_to_dev and commit_to_os (closing causes unwanted udev events to be sent under Linux). */ if (!ped_device_open (disk->dev)) goto error; if (!ped_disk_commit_to_dev (disk)) goto error_close_dev; if (!ped_disk_commit_to_os (disk)) goto error_close_dev; ped_device_close (disk->dev); return 1; error_close_dev: ped_device_close (disk->dev); error: return 0; } /** * \addtogroup PedPartition * * @{ */ /** * Check whether a partition is mounted or busy in some * other way. * * \note An extended partition is busy if any logical partitions are mounted. * * \return \c 1 if busy. */ int ped_partition_is_busy (const PedPartition* part) { PED_ASSERT (part != NULL, return 1); return ped_architecture->disk_ops->partition_is_busy (part); } /** * Return a path that can be used to address the partition in the * operating system. */ char* ped_partition_get_path (const PedPartition* part) { PED_ASSERT (part != NULL, return NULL); return ped_architecture->disk_ops->partition_get_path (part); } /** @} */ /** * \addtogroup PedDisk * * @{ */ /** * Perform a sanity check on a partition table. * * \note The check performed is generic (i.e. it does not depends on the label * type of the disk. * * \throws PED_EXCEPTION_WARNING if a partition type ID does not match the file * system on it. * * \return 0 if the check fails, 1 otherwise. */ int ped_disk_check (const PedDisk* disk) { PedPartition* walk; PED_ASSERT (disk != NULL, return 0); for (walk = disk->part_list; walk; walk = ped_disk_next_partition (disk, walk)) { const PedFileSystemType* fs_type = walk->fs_type; PedGeometry* geom; PedSector length_error; PedSector max_length_error; if (!ped_partition_is_active (walk) || !fs_type) continue; geom = ped_file_system_probe_specific (fs_type, &walk->geom); if (!geom) continue; length_error = abs (walk->geom.length - geom->length); max_length_error = PED_MAX (4096, walk->geom.length / 100); bool ok = (ped_geometry_test_inside (&walk->geom, geom) && length_error <= max_length_error); char *fs_size = ped_unit_format (disk->dev, geom->length); ped_geometry_destroy (geom); if (!ok) { char* part_size = ped_unit_format (disk->dev, walk->geom.length); PedExceptionOption choice; choice = ped_exception_throw ( PED_EXCEPTION_WARNING, PED_EXCEPTION_IGNORE_CANCEL, _("Partition %d is %s, but the file system is " "%s."), walk->num, part_size, fs_size); free (part_size); free (fs_size); fs_size = NULL; if (choice != PED_EXCEPTION_IGNORE) return 0; } free (fs_size); } return 1; } /** * This function checks if a particular type of partition table supports * a feature. * * \return 1 if \p disk_type supports \p feature, 0 otherwise. */ int ped_disk_type_check_feature (const PedDiskType* disk_type, PedDiskTypeFeature feature) { return (disk_type->features & feature) != 0; } /** * Get the number of primary partitions. */ int ped_disk_get_primary_partition_count (const PedDisk* disk) { PedPartition* walk; int count = 0; PED_ASSERT (disk != NULL, return 0); for (walk = disk->part_list; walk; walk = ped_disk_next_partition (disk, walk)) { if (ped_partition_is_active (walk) && ! (walk->type & PED_PARTITION_LOGICAL)) count++; } return count; } /** * Get the highest available partition number on \p disk. */ int ped_disk_get_last_partition_num (const PedDisk* disk) { PedPartition* walk; int highest = -1; PED_ASSERT (disk != NULL, return 0); for (walk = disk->part_list; walk; walk = ped_disk_next_partition (disk, walk)) { if (walk->num > highest) highest = walk->num; } return highest; } /** * Get the highest supported partition number on \p disk. * * \return 0 if call fails. 1 otherwise. */ bool ped_disk_get_max_supported_partition_count(const PedDisk* disk, int* supported) { PED_ASSERT(disk != NULL, return -1); PED_ASSERT(disk->type->ops->get_max_supported_partition_count != NULL, return -1); return disk->type->ops->get_max_supported_partition_count(disk, supported); } /** * Get the alignment needed for partition boundaries on this disk. * The returned alignment describes the alignment for the start sector of the * partition, for all disklabel types which require alignment, except Sun * disklabels, the end sector must be aligned too. To get the end sector * alignment decrease the PedAlignment offset by 1. * * \return NULL on error, otherwise a pointer to a dynamically allocated * alignment. */ PedAlignment* ped_disk_get_partition_alignment(const PedDisk *disk) { /* disklabel handlers which don't need alignment don't define this */ if (!disk->type->ops->get_partition_alignment) return ped_alignment_duplicate(ped_alignment_any); return disk->type->ops->get_partition_alignment(disk); } /** * Get the maximum number of (primary) partitions the disk label supports. * * For example, MacIntosh partition maps can have different sizes, * and accordingly support a different number of partitions. */ int ped_disk_get_max_primary_partition_count (const PedDisk* disk) { PED_ASSERT (disk->type != NULL, return 0); PED_ASSERT (disk->type->ops->get_max_primary_partition_count != NULL, return 0); return disk->type->ops->get_max_primary_partition_count (disk); } /** * Set the state (\c 1 or \c 0) of a flag on a disk. * * \note It is an error to call this on an unavailable flag -- use * ped_disk_is_flag_available() to determine which flags are available * for a given disk label. * * \throws PED_EXCEPTION_ERROR if the requested flag is not available for this * label. */ int ped_disk_set_flag(PedDisk *disk, PedDiskFlag flag, int state) { int ret; PED_ASSERT (disk != NULL, return 0); PedDiskOps *ops = disk->type->ops; if (!_disk_push_update_mode(disk)) return 0; if (!ped_disk_is_flag_available(disk, flag)) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, "The flag '%s' is not available for %s disk labels.", ped_disk_flag_get_name(flag), disk->type->name); _disk_pop_update_mode(disk); return 0; } ret = ops->disk_set_flag(disk, flag, state); if (!_disk_pop_update_mode (disk)) return 0; return ret; } /** * Get the state (\c 1 or \c 0) of a flag on a disk. */ int ped_disk_get_flag(const PedDisk *disk, PedDiskFlag flag) { PED_ASSERT (disk != NULL, return 0); PedDiskOps *ops = disk->type->ops; if (!ped_disk_is_flag_available(disk, flag)) return 0; return ops->disk_get_flag(disk, flag); } /** * Check whether a given flag is available on a disk. * * \return \c 1 if the flag is available. */ int ped_disk_is_flag_available(const PedDisk *disk, PedDiskFlag flag) { PED_ASSERT (disk != NULL, return 0); PedDiskOps *ops = disk->type->ops; if (!ops->disk_is_flag_available) return 0; return ops->disk_is_flag_available(disk, flag); } /** * Returns a name for a \p flag, e.g. PED_DISK_CYLINDER_ALIGNMENT will return * "cylinder_alignment". * * \note The returned string will be in English. However, * translations are provided, so the caller can call * dgettext("parted", RESULT) on the result. */ const char * ped_disk_flag_get_name(PedDiskFlag flag) { switch (flag) { case PED_DISK_CYLINDER_ALIGNMENT: return N_("cylinder_alignment"); default: ped_exception_throw ( PED_EXCEPTION_BUG, PED_EXCEPTION_CANCEL, _("Unknown disk flag, %d."), flag); return NULL; } } /** * Returns the flag associated with \p name. * * \p name can be the English * string, or the translation for the native language. */ PedDiskFlag ped_disk_flag_get_by_name(const char *name) { PedDiskFlag flag; for (flag = ped_disk_flag_next(0); flag; flag = ped_disk_flag_next(flag)) { const char *flag_name = ped_disk_flag_get_name(flag); if (strcasecmp(name, flag_name) == 0 || strcasecmp(name, _(flag_name)) == 0) return flag; } return 0; } /** * Iterates through all disk flags. * * ped_disk_flag_next(0) returns the first flag * * \return the next flag, or 0 if there are no more flags */ PedDiskFlag ped_disk_flag_next(PedDiskFlag flag) { return (flag + 1) % (PED_DISK_LAST_FLAG + 1); } /** * \internal We turned a really nasty bureaucracy problem into an elegant maths * problem :-) Basically, there are some constraints to a partition's * geometry: * * (1) it must start and end on a "disk" block, determined by the disk label * (not the hardware). (constraint represented by a PedAlignment) * * (2) if we're resizing a partition, we MIGHT need to keep each block aligned. * Eg: if an ext2 file system has 4k blocks, then we can only move the start * by a multiple of 4k. (constraint represented by a PedAlignment) * * (3) we need to keep the start and end within the device's physical * boundaries. (constraint represented by a PedGeometry) * * Satisfying (1) and (2) simultaneously required a bit of fancy maths ;-) See * ped_alignment_intersect() * * The application of these constraints is in disk_*.c's *_partition_align() * function. */ static int _partition_align (PedPartition* part, const PedConstraint* constraint) { const PedDiskType* disk_type; PED_ASSERT (part != NULL, return 0); PED_ASSERT (part->num != -1, return 0); PED_ASSERT (part->disk != NULL, return 0); disk_type = part->disk->type; PED_ASSERT (disk_type != NULL, return 0); PED_ASSERT (disk_type->ops->partition_align != NULL, return 0); PED_ASSERT (part->disk->update_mode, return 0); return disk_type->ops->partition_align (part, constraint); } static int _partition_enumerate (PedPartition* part) { const PedDiskType* disk_type; PED_ASSERT (part != NULL, return 0); PED_ASSERT (part->disk != NULL, return 0); disk_type = part->disk->type; PED_ASSERT (disk_type != NULL, return 0); PED_ASSERT (disk_type->ops->partition_enumerate != NULL, return 0); return disk_type->ops->partition_enumerate (part); } /** * Gives all the (active) partitions a number. It should preserve the numbers * and orders as much as possible. */ static int ped_disk_enumerate_partitions (PedDisk* disk) { PedPartition* walk; int i; int end; PED_ASSERT (disk != NULL, return 0); /* first "sort" already-numbered partitions. (e.g. if a logical partition * is removed, then all logical partitions that were number higher MUST be * renumbered) */ end = ped_disk_get_last_partition_num (disk); for (i=1; i<=end; i++) { walk = ped_disk_get_partition (disk, i); if (walk) { if (!_partition_enumerate (walk)) return 0; } } /* now, number un-numbered partitions */ for (walk = disk->part_list; walk; walk = ped_disk_next_partition (disk, walk)) { if (ped_partition_is_active (walk) && walk->num == -1) { if (!_partition_enumerate (walk)) return 0; } } return 1; } static int _disk_remove_metadata (PedDisk* disk) { PedPartition* walk = NULL; PedPartition* next; PED_ASSERT (disk != NULL, return 0); next = ped_disk_next_partition (disk, walk); while (next) { walk = next; while (1) { next = ped_disk_next_partition (disk, next); if (!next || next->type & PED_PARTITION_METADATA) break; } if (walk->type & PED_PARTITION_METADATA) ped_disk_delete_partition (disk, walk); } return 1; } static int _disk_alloc_metadata (PedDisk* disk) { PED_ASSERT (disk != NULL, return 0); if (!disk->update_mode) _disk_remove_metadata (disk); return disk->type->ops->alloc_metadata (disk); } static int _disk_remove_freespace (PedDisk* disk) { PedPartition* walk; PedPartition* next; walk = ped_disk_next_partition (disk, NULL); for (; walk; walk = next) { next = ped_disk_next_partition (disk, walk); if (walk->type & PED_PARTITION_FREESPACE) { _disk_raw_remove (disk, walk); ped_partition_destroy (walk); } } return 1; } static int _alloc_extended_freespace (PedDisk* disk) { PedSector last_end; PedPartition* walk; PedPartition* last; PedPartition* free_space; PedPartition* extended_part; extended_part = ped_disk_extended_partition (disk); if (!extended_part) return 1; last_end = extended_part->geom.start; last = NULL; for (walk = extended_part->part_list; walk; walk = walk->next) { if (walk->geom.start > last_end + 1) { free_space = ped_partition_new ( disk, PED_PARTITION_FREESPACE | PED_PARTITION_LOGICAL, NULL, last_end + 1, walk->geom.start - 1); _disk_raw_insert_before (disk, walk, free_space); } last = walk; last_end = last->geom.end; } if (last_end < extended_part->geom.end) { free_space = ped_partition_new ( disk, PED_PARTITION_FREESPACE | PED_PARTITION_LOGICAL, NULL, last_end + 1, extended_part->geom.end); if (last) return _disk_raw_insert_after (disk, last, free_space); else extended_part->part_list = free_space; } return 1; } static int _disk_alloc_freespace (PedDisk* disk) { PedSector last_end; PedPartition* walk; PedPartition* last; PedPartition* free_space; if (!_disk_remove_freespace (disk)) return 0; if (!_alloc_extended_freespace (disk)) return 0; last = NULL; last_end = -1; for (walk = disk->part_list; walk; walk = walk->next) { if (walk->geom.start > last_end + 1) { free_space = ped_partition_new (disk, PED_PARTITION_FREESPACE, NULL, last_end + 1, walk->geom.start - 1); _disk_raw_insert_before (disk, walk, free_space); } last = walk; last_end = last->geom.end; } if (last_end < disk->dev->length - 1) { free_space = ped_partition_new (disk, PED_PARTITION_FREESPACE, NULL, last_end + 1, disk->dev->length - 1); if (last) return _disk_raw_insert_after (disk, last, free_space); else disk->part_list = free_space; } return 1; } /** * Update mode: used when updating the internal representation of the partition * table. In update mode, the metadata and freespace placeholder/virtual * partitions are removed, making it much easier for various manipulation * routines... */ static int _disk_push_update_mode (PedDisk* disk) { if (!disk->update_mode) { #ifdef DEBUG if (!_disk_check_sanity (disk)) return 0; #endif _disk_remove_freespace (disk); disk->update_mode++; _disk_remove_metadata (disk); #ifdef DEBUG if (!_disk_check_sanity (disk)) return 0; #endif } else { disk->update_mode++; } return 1; } static int _disk_pop_update_mode (PedDisk* disk) { PED_ASSERT (disk->update_mode, return 0); if (disk->update_mode == 1) { /* re-allocate metadata BEFORE leaving update mode, to prevent infinite * recursion (metadata allocation requires update mode) */ #ifdef DEBUG if (!_disk_check_sanity (disk)) return 0; #endif _disk_alloc_metadata (disk); disk->update_mode--; _disk_alloc_freespace (disk); #ifdef DEBUG if (!_disk_check_sanity (disk)) return 0; #endif } else { disk->update_mode--; } return 1; } /** @} */ /** * \addtogroup PedPartition * * \brief Partition access. * * @{ */ PedPartition* _ped_partition_alloc (const PedDisk* disk, PedPartitionType type, const PedFileSystemType* fs_type, PedSector start, PedSector end) { PedPartition* part; PED_ASSERT (disk != NULL, return 0); part = (PedPartition*) ped_malloc (sizeof (PedPartition)); if (!part) goto error; part->prev = NULL; part->next = NULL; part->disk = (PedDisk*) disk; if (!ped_geometry_init (&part->geom, disk->dev, start, end - start + 1)) goto error_free_part; part->num = -1; part->type = type; part->part_list = NULL; part->fs_type = fs_type; return part; error_free_part: free (part); error: return NULL; } void _ped_partition_free (PedPartition* part) { free (part); } int _ped_partition_attempt_align (PedPartition* part, const PedConstraint* external, PedConstraint* internal) { PedConstraint* intersection; PedGeometry* solution; intersection = ped_constraint_intersect (external, internal); ped_constraint_destroy (internal); if (!intersection) goto fail; solution = ped_constraint_solve_nearest (intersection, &part->geom); if (!solution) goto fail_free_intersection; ped_geometry_set (&part->geom, solution->start, solution->length); ped_geometry_destroy (solution); ped_constraint_destroy (intersection); return 1; fail_free_intersection: ped_constraint_destroy (intersection); fail: return 0; } /** * Create a new \link _PedPartition PedPartition \endlink on \p disk. * * \param type One of \p PED_PARTITION_NORMAL, \p PED_PARTITION_EXTENDED, * \p PED_PARTITION_LOGICAL. * * \note The constructed partition is not added to disk's * partition table. Use ped_disk_add_partition() to do this. * * \return A new \link _PedPartition PedPartition \endlink object, * NULL on failure. * * \throws PED_EXCEPTION_ERROR if \p type is \p EXTENDED or \p LOGICAL but the * label does not support this concept. */ PedPartition* ped_partition_new (const PedDisk* disk, PedPartitionType type, const PedFileSystemType* fs_type, PedSector start, PedSector end) { int supports_extended; PedPartition* part; PED_ASSERT (disk != NULL, return NULL); PED_ASSERT (disk->type->ops->partition_new != NULL, return NULL); supports_extended = ped_disk_type_check_feature (disk->type, PED_DISK_TYPE_EXTENDED); if (!supports_extended && (type == PED_PARTITION_EXTENDED || type == PED_PARTITION_LOGICAL)) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("%s disk labels do not support extended " "partitions."), disk->type->name); goto error; } part = disk->type->ops->partition_new (disk, type, fs_type, start, end); if (!part) goto error; if (fs_type || part->type == PED_PARTITION_EXTENDED) { if (!ped_partition_set_system (part, fs_type)) goto error_destroy_part; } return part; error_destroy_part: ped_partition_destroy (part); error: return NULL; } /** * Destroy a \link _PedPartition PedPartition \endlink object. * * \note Should not be called on a partition that is in a partition table. * Use ped_disk_delete_partition() instead. */ void ped_partition_destroy (PedPartition* part) { PED_ASSERT (part != NULL, return); PED_ASSERT (part->disk != NULL, return); PED_ASSERT (part->disk->type->ops->partition_new != NULL, return); part->disk->type->ops->partition_destroy (part); } /** * Return whether or not the partition is "active". * * A partition is active if \p part->type is neither \p PED_PARTITION_METADATA * nor \p PED_PARTITION_FREE. */ int ped_partition_is_active (const PedPartition* part) { PED_ASSERT (part != NULL, return 0); return !(part->type & PED_PARTITION_FREESPACE || part->type & PED_PARTITION_METADATA); } /** * Set the state (\c 1 or \c 0) of a flag on a partition. * * Flags are disk label specific, although they have a global * "namespace": the flag PED_PARTITION_BOOT, for example, roughly means * "this" partition is bootable". But this means different things on different * disk labels (and may not be defined on some disk labels). For example, * on MS-DOS disk labels, there can only be one boot partition, and this * refers to the partition that will be booted from on startup. On PC98 * disk labels, the user can choose from any bootable partition on startup. * * \note It is an error to call this on an unavailable flag -- use * ped_partition_is_flag_available() to determine which flags are available * for a given disk label. * * \throws PED_EXCEPTION_ERROR if the requested flag is not available for this * label. */ int ped_partition_set_flag (PedPartition* part, PedPartitionFlag flag, int state) { PedDiskOps* ops; PED_ASSERT (part != NULL, return 0); PED_ASSERT (part->disk != NULL, return 0); PED_ASSERT (ped_partition_is_active (part), return 0); ops = part->disk->type->ops; PED_ASSERT (ops->partition_set_flag != NULL, return 0); PED_ASSERT (ops->partition_is_flag_available != NULL, return 0); if (!ops->partition_is_flag_available (part, flag)) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, "The flag '%s' is not available for %s disk labels.", ped_partition_flag_get_name (flag), part->disk->type->name); return 0; } return ops->partition_set_flag (part, flag, state); } /** * Get the state (\c 1 or \c 0) of a flag on a partition. * * See ped_partition_set_flag() for conditions that must hold. * * \todo Where's the check for flag availability? */ int ped_partition_get_flag (const PedPartition* part, PedPartitionFlag flag) { PED_ASSERT (part != NULL, return 0); PED_ASSERT (part->disk != NULL, return 0); PED_ASSERT (part->disk->type->ops->partition_get_flag != NULL, return 0); PED_ASSERT (ped_partition_is_active (part), return 0); return part->disk->type->ops->partition_get_flag (part, flag); } /** * Check whether a given flag is available on a partition. * * \return \c 1 if the flag is available. */ int ped_partition_is_flag_available (const PedPartition* part, PedPartitionFlag flag) { PED_ASSERT (part != NULL, return 0); PED_ASSERT (part->disk != NULL, return 0); PED_ASSERT (part->disk->type->ops->partition_is_flag_available != NULL, return 0); PED_ASSERT (ped_partition_is_active (part), return 0); return part->disk->type->ops->partition_is_flag_available (part, flag); } /** * Sets the system type on the partition to \p fs_type. * * \note The file system may be opened, to get more information about the * file system, e.g. to determine if it's FAT16 or FAT32. * * \return \c 0 on failure. */ int ped_partition_set_system (PedPartition* part, const PedFileSystemType* fs_type) { const PedDiskType* disk_type; PED_ASSERT (part != NULL, return 0); PED_ASSERT (ped_partition_is_active (part), return 0); PED_ASSERT (part->disk != NULL, return 0); disk_type = part->disk->type; PED_ASSERT (disk_type != NULL, return 0); PED_ASSERT (disk_type->ops != NULL, return 0); PED_ASSERT (disk_type->ops->partition_set_system != NULL, return 0); return disk_type->ops->partition_set_system (part, fs_type); } static int _assert_partition_name_feature (const PedDiskType* disk_type) { if (!ped_disk_type_check_feature ( disk_type, PED_DISK_TYPE_PARTITION_NAME)) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, "%s disk labels do not support partition names.", disk_type->name); return 0; } return 1; } /** * Sets the name of a partition. * * \note This will only work if the disk label supports it. * You can use * \code * ped_disk_type_check_feature (part->disk->type, PED_DISK_TYPE_PARTITION_NAME); * \endcode * to check whether this feature is enabled for a label. * * \note \p name will not be modified by libparted. It can be freed * by the caller immediately after ped_partition_set_name() is called. * * \return \c 1 on success, \c 0 otherwise. */ int ped_partition_set_name (PedPartition* part, const char* name) { PED_ASSERT (part != NULL, return 0); PED_ASSERT (part->disk != NULL, return 0); PED_ASSERT (ped_partition_is_active (part), return 0); PED_ASSERT (name != NULL, return 0); if (!_assert_partition_name_feature (part->disk->type)) return 0; PED_ASSERT (part->disk->type->ops->partition_set_name != NULL, return 0); part->disk->type->ops->partition_set_name (part, name); return 1; } /** * Returns the name of a partition \p part. This will only work if the disk * label supports it. * * \note The returned string should not be modified. It should * not be referenced after the partition is destroyed. */ const char* ped_partition_get_name (const PedPartition* part) { PED_ASSERT (part != NULL, return NULL); PED_ASSERT (part->disk != NULL, return 0); PED_ASSERT (ped_partition_is_active (part), return 0); if (!_assert_partition_name_feature (part->disk->type)) return NULL; PED_ASSERT (part->disk->type->ops->partition_get_name != NULL, return NULL); return part->disk->type->ops->partition_get_name (part); } /** @} */ /** * \addtogroup PedDisk * * @{ */ PedPartition* ped_disk_extended_partition (const PedDisk* disk) { PedPartition* walk; PED_ASSERT (disk != NULL, return 0); for (walk = disk->part_list; walk; walk = walk->next) { if (walk->type == PED_PARTITION_EXTENDED) break; } return walk; } /** * Return the next partition after \p part on \p disk. If \p part is \c NULL, * return the first partition. If \p part is the last partition, returns * \c NULL. If \p part is an extended partition, returns the first logical * partition. If this is called repeatedly passing the return value as \p part, * a depth-first traversal is executed. * * \return The next partition, \c NULL if no more partitions left. */ PedPartition* ped_disk_next_partition (const PedDisk* disk, const PedPartition* part) { PED_ASSERT (disk != NULL, return 0); if (!part) return disk->part_list; if (part->type == PED_PARTITION_EXTENDED) return part->part_list ? part->part_list : part->next; if (part->next) return part->next; if (part->type & PED_PARTITION_LOGICAL) return ped_disk_extended_partition (disk)->next; return NULL; } /** @} */ #ifdef DEBUG static int _disk_check_sanity (PedDisk* disk) { PedPartition* walk; PED_ASSERT (disk != NULL, return 0); for (walk = disk->part_list; walk; walk = walk->next) { PED_ASSERT (!(walk->type & PED_PARTITION_LOGICAL), return 0); PED_ASSERT (!walk->prev || walk->prev->next == walk, return 0); } if (!ped_disk_extended_partition (disk)) return 1; for (walk = ped_disk_extended_partition (disk)->part_list; walk; walk = walk->next) { PED_ASSERT (walk->type & PED_PARTITION_LOGICAL, return 0); if (walk->prev) PED_ASSERT (walk->prev->next == walk, return 0); } return 1; } #endif /** * Returns the partition numbered \p num. * * \return \c NULL if the specified partition does not exist. */ PedPartition* ped_disk_get_partition (const PedDisk* disk, int num) { PedPartition* walk; PED_ASSERT (disk != NULL, return 0); for (walk = disk->part_list; walk; walk = ped_disk_next_partition (disk, walk)) { if (walk->num == num && !(walk->type & PED_PARTITION_FREESPACE)) return walk; } return NULL; } /** * Returns the partition that contains sect. If sect lies within a logical * partition, then the logical partition is returned (not the extended * partition). */ PedPartition* ped_disk_get_partition_by_sector (const PedDisk* disk, PedSector sect) { PedPartition* walk; PED_ASSERT (disk != NULL, return 0); for (walk = disk->part_list; walk; walk = ped_disk_next_partition (disk, walk)) { if (ped_geometry_test_sector_inside (&walk->geom, sect) && walk->type != PED_PARTITION_EXTENDED) return walk; } /* should never get here, unless sect is outside of disk's useable * part, or we're in "update mode", and the free space place-holders * have been removed with _disk_remove_freespace() */ return NULL; } /** * Return the maximum representable length (in sectors) of a * partition on disk \disk. */ PedSector ped_disk_max_partition_length (const PedDisk* disk) { return disk->type->ops->max_length (); } /** * Return the maximum representable start sector of a * partition on disk \disk. */ PedSector ped_disk_max_partition_start_sector (const PedDisk* disk) { return disk->type->ops->max_start_sector (); } /* I'm beginning to agree with Sedgewick :-/ */ static int _disk_raw_insert_before (PedDisk* disk, PedPartition* loc, PedPartition* part) { PED_ASSERT (disk != NULL, return 0); PED_ASSERT (loc != NULL, return 0); PED_ASSERT (part != NULL, return 0); part->prev = loc->prev; part->next = loc; if (part->prev) { part->prev->next = part; } else { if (loc->type & PED_PARTITION_LOGICAL) ped_disk_extended_partition (disk)->part_list = part; else disk->part_list = part; } loc->prev = part; return 1; } static int _disk_raw_insert_after (PedDisk* disk, PedPartition* loc, PedPartition* part) { PED_ASSERT (disk != NULL, return 0); PED_ASSERT (loc != NULL, return 0); PED_ASSERT (part != NULL, return 0); part->prev = loc; part->next = loc->next; if (loc->next) loc->next->prev = part; loc->next = part; return 1; } static int _disk_raw_remove (PedDisk* disk, PedPartition* part) { PED_ASSERT (disk != NULL, return 0); PED_ASSERT (part != NULL, return 0); if (part->prev) { part->prev->next = part->next; if (part->next) part->next->prev = part->prev; } else { if (part->type & PED_PARTITION_LOGICAL) { ped_disk_extended_partition (disk)->part_list = part->next; } else { disk->part_list = part->next; } if (part->next) part->next->prev = NULL; } return 1; } /* *UPDATE MODE ONLY */ static int _disk_raw_add (PedDisk* disk, PedPartition* part) { PedPartition* walk; PedPartition* last; PedPartition* ext_part; PED_ASSERT (disk->update_mode, return 0); ext_part = ped_disk_extended_partition (disk); last = NULL; walk = (part->type & PED_PARTITION_LOGICAL) ? ext_part->part_list : disk->part_list; for (; walk; last = walk, walk = walk->next) { if (walk->geom.start > part->geom.end) break; } if (walk) { return _disk_raw_insert_before (disk, walk, part); } else { if (last) { return _disk_raw_insert_after (disk, last, part); } else { if (part->type & PED_PARTITION_LOGICAL) ext_part->part_list = part; else disk->part_list = part; } } return 1; } static PedConstraint* _partition_get_overlap_constraint (PedPartition* part, PedGeometry* geom) { PedSector min_start; PedSector max_end; PedPartition* walk; PedGeometry free_space; PED_ASSERT (part->disk->update_mode, return NULL); PED_ASSERT (part->geom.dev == geom->dev, return NULL); if (part->type & PED_PARTITION_LOGICAL) { PedPartition* ext_part; ext_part = ped_disk_extended_partition (part->disk); PED_ASSERT (ext_part != NULL, return NULL); min_start = ext_part->geom.start; max_end = ext_part->geom.end; walk = ext_part->part_list; } else { min_start = 0; max_end = part->disk->dev->length - 1; walk = part->disk->part_list; } while (walk != NULL && (walk->geom.start < geom->start || min_start >= walk->geom.start)) { if (walk != part) min_start = walk->geom.end + 1; walk = walk->next; } if (walk == part) walk = walk->next; if (walk) max_end = walk->geom.start - 1; if (min_start >= max_end) return NULL; ped_geometry_init (&free_space, part->disk->dev, min_start, max_end - min_start + 1); return ped_constraint_new_from_max (&free_space); } /* * Returns \c 0 if the partition, \p part overlaps with any partitions on the * \p disk. The geometry of \p part is taken to be \p geom, NOT \p part->geom * (the idea here is to check if \p geom is valid, before changing \p part). * * This is useful for seeing if a resized partitions new geometry is going to * fit, without the existing geomtry getting in the way. * * Note: overlap with an extended partition is also allowed, provided that * \p geom lies completely inside the extended partition. */ static int _disk_check_part_overlaps (PedDisk* disk, PedPartition* part) { PedPartition* walk; PED_ASSERT (disk != NULL, return 0); PED_ASSERT (part != NULL, return 0); for (walk = ped_disk_next_partition (disk, NULL); walk; walk = ped_disk_next_partition (disk, walk)) { if (walk->type & PED_PARTITION_FREESPACE) continue; if (walk == part) continue; if (part->type & PED_PARTITION_EXTENDED && walk->type & PED_PARTITION_LOGICAL) continue; if (ped_geometry_test_overlap (&walk->geom, &part->geom)) { if (walk->type & PED_PARTITION_EXTENDED && part->type & PED_PARTITION_LOGICAL && ped_geometry_test_inside (&walk->geom, &part->geom)) continue; return 0; } } return 1; } static int _partition_check_basic_sanity (PedDisk* disk, PedPartition* part) { PedPartition* ext_part = ped_disk_extended_partition (disk); PED_ASSERT (part->disk == disk, return 0); PED_ASSERT (part->geom.start >= 0, return 0); PED_ASSERT (part->geom.end < disk->dev->length, return 0); PED_ASSERT (part->geom.start <= part->geom.end, return 0); if (!ped_disk_type_check_feature (disk->type, PED_DISK_TYPE_EXTENDED) && (part->type == PED_PARTITION_EXTENDED || part->type == PED_PARTITION_LOGICAL)) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("%s disk labels don't support logical or extended " "partitions."), disk->type->name); return 0; } if (ped_partition_is_active (part) && ! (part->type & PED_PARTITION_LOGICAL)) { if (ped_disk_get_primary_partition_count (disk) + 1 > ped_disk_get_max_primary_partition_count (disk)) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Too many primary partitions.")); return 0; } } if ((part->type & PED_PARTITION_LOGICAL) && !ext_part) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Can't add a logical partition to %s, because " "there is no extended partition."), disk->dev->path); return 0; } return 1; } static int _check_extended_partition (PedDisk* disk, PedPartition* part) { PedPartition* walk; PedPartition* ext_part; PED_ASSERT (disk != NULL, return 0); ext_part = ped_disk_extended_partition (disk); if (!ext_part) ext_part = part; PED_ASSERT (ext_part != NULL, return 0); if (part != ext_part) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Can't have more than one extended partition on %s."), disk->dev->path); return 0; } for (walk = ext_part->part_list; walk; walk = walk->next) { if (!ped_geometry_test_inside (&ext_part->geom, &walk->geom)) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Can't have logical partitions outside of " "the extended partition.")); return 0; } } return 1; } static int _check_partition (PedDisk* disk, PedPartition* part) { PedPartition* ext_part = ped_disk_extended_partition (disk); PED_ASSERT (part->geom.start <= part->geom.end, return 0); if (part->type == PED_PARTITION_EXTENDED) { if (!_check_extended_partition (disk, part)) return 0; } if (part->type & PED_PARTITION_LOGICAL && !ped_geometry_test_inside (&ext_part->geom, &part->geom)) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Can't have a logical partition outside of the " "extended partition on %s."), disk->dev->path); return 0; } if (!_disk_check_part_overlaps (disk, part)) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Can't have overlapping partitions.")); return 0; } if (! (part->type & PED_PARTITION_LOGICAL) && ext_part && ext_part != part && ped_geometry_test_inside (&ext_part->geom, &part->geom)) { ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Can't have a primary partition inside an extended " "partition.")); return 0; } if (!(part->type & PED_PARTITION_METADATA)) if (!disk->type->ops->partition_check(part)) return 0; return 1; } /** * Adds PedPartition \p part to PedPartition \p disk. * * \warning The partition's geometry may be changed, subject to \p constraint. * You could set \p constraint to ped_constraint_exact(&part->geom), * but many partition table schemes have special requirements on the start * and end of partitions. Therefore, having an overly strict constraint * will probably mean that this function will fail (in which * case \p part will be left unmodified) * \p part is assigned a number (\p part->num) in this process. * * \return \c 0 on failure. */ int ped_disk_add_partition (PedDisk* disk, PedPartition* part, const PedConstraint* constraint) { PedConstraint* overlap_constraint = NULL; PedConstraint* constraints = NULL; PED_ASSERT (disk != NULL, return 0); PED_ASSERT (part != NULL, return 0); if (!_partition_check_basic_sanity (disk, part)) return 0; if (!_disk_push_update_mode (disk)) return 0; if (ped_partition_is_active (part)) { overlap_constraint = _partition_get_overlap_constraint (part, &part->geom); constraints = ped_constraint_intersect (overlap_constraint, constraint); if (!constraints && constraint) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Can't have overlapping partitions.")); goto error; } if (!_partition_enumerate (part)) goto error; if (!_partition_align (part, constraints)) goto error; } /* FIXME: when _check_partition fails, we end up leaking PART at least for DVH partition tables. Simply calling ped_partition_destroy(part) here fixes it for DVH, but causes trouble for other partition types. Similarly, reordering these two checks, putting _check_partition after _disk_raw_add induces an infinite loop. */ if (!_check_partition (disk, part)) goto error; if (!_disk_raw_add (disk, part)) goto error; ped_constraint_destroy (overlap_constraint); ped_constraint_destroy (constraints); if (!_disk_pop_update_mode (disk)) return 0; #ifdef DEBUG if (!_disk_check_sanity (disk)) return 0; #endif return 1; error: ped_constraint_destroy (overlap_constraint); ped_constraint_destroy (constraints); _disk_pop_update_mode (disk); return 0; } /** * Removes PedPartition \p part from PedDisk \p disk. * * If \p part is an extended partition, it must not contain any logical * partitions. \p part is *NOT* destroyed. The caller must call * ped_partition_destroy(), or use ped_disk_delete_partition() instead. * * \return \c 0 on error. */ int ped_disk_remove_partition (PedDisk* disk, PedPartition* part) { PED_ASSERT (disk != NULL, return 0); PED_ASSERT (part != NULL, return 0); if (!_disk_push_update_mode (disk)) return 0; PED_ASSERT (part->part_list == NULL, ignored); _disk_raw_remove (disk, part); if (!_disk_pop_update_mode (disk)) return 0; ped_disk_enumerate_partitions (disk); return 1; } static int ped_disk_delete_all_logical (PedDisk* disk); /** * Removes \p part from \p disk, and destroys \p part. * * \return \c 0 on failure. */ int ped_disk_delete_partition (PedDisk* disk, PedPartition* part) { PED_ASSERT (disk != NULL, return 0); PED_ASSERT (part != NULL, return 0); if (!_disk_push_update_mode (disk)) return 0; if (part->type == PED_PARTITION_EXTENDED) ped_disk_delete_all_logical (disk); ped_disk_remove_partition (disk, part); ped_partition_destroy (part); if (!_disk_pop_update_mode (disk)) return 0; return 1; } static int ped_disk_delete_all_logical (PedDisk* disk) { PedPartition* walk; PedPartition* next; PedPartition* ext_part; PED_ASSERT (disk != NULL, return 0); ext_part = ped_disk_extended_partition (disk); PED_ASSERT (ext_part != NULL, return 0); for (walk = ext_part->part_list; walk; walk = next) { next = walk->next; if (!ped_disk_delete_partition (disk, walk)) return 0; } return 1; } /** * Removes and destroys all partitions on \p disk. * * \return \c 0 on failure. */ int ped_disk_delete_all (PedDisk* disk) { PedPartition* walk; PedPartition* next; PED_ASSERT (disk != NULL, return 0); if (!_disk_push_update_mode (disk)) return 0; for (walk = disk->part_list; walk; walk = next) { next = walk->next; if (!ped_disk_delete_partition (disk, walk)) { _disk_pop_update_mode(disk); return 0; } } if (!_disk_pop_update_mode (disk)) return 0; return 1; } /** * Sets the geometry of \p part (i.e. change a partitions location). This can * fail for many reasons, e.g. can't overlap with other partitions. If it * does fail, \p part will remain unchanged. Returns \c 0 on failure. \p part's * geometry may be set to something different from \p start and \p end subject * to \p constraint. * * \warning The constraint warning from ped_disk_add_partition() applies. * * \note this function does not modify the contents of the partition. You need * to call ped_file_system_resize() separately. */ int ped_disk_set_partition_geom (PedDisk* disk, PedPartition* part, const PedConstraint* constraint, PedSector start, PedSector end) { PedConstraint* overlap_constraint = NULL; PedConstraint* constraints = NULL; PedGeometry old_geom; PedGeometry new_geom; PED_ASSERT (disk != NULL, return 0); PED_ASSERT (part != NULL, return 0); PED_ASSERT (part->disk == disk, return 0); old_geom = part->geom; ped_geometry_init (&new_geom, part->geom.dev, start, end - start + 1); if (!_disk_push_update_mode (disk)) return 0; overlap_constraint = _partition_get_overlap_constraint (part, &new_geom); constraints = ped_constraint_intersect (overlap_constraint, constraint); if (!constraints && constraint) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Can't have overlapping partitions.")); goto error_pop_update_mode; } part->geom = new_geom; if (!_partition_align (part, constraints)) goto error_pop_update_mode; if (!_check_partition (disk, part)) goto error_pop_update_mode; /* remove and add, to ensure the ordering gets updated if necessary */ _disk_raw_remove (disk, part); _disk_raw_add (disk, part); if (!_disk_pop_update_mode (disk)) goto error; ped_constraint_destroy (overlap_constraint); ped_constraint_destroy (constraints); return 1; error_pop_update_mode: _disk_pop_update_mode (disk); error: ped_constraint_destroy (overlap_constraint); ped_constraint_destroy (constraints); part->geom = old_geom; return 0; } /** * Grow PedPartition \p part geometry to the maximum possible subject to * \p constraint. The new geometry will be a superset of the old geometry. * * \return 0 on failure */ int ped_disk_maximize_partition (PedDisk* disk, PedPartition* part, const PedConstraint* constraint) { PedGeometry old_geom; PedSector global_min_start; PedSector global_max_end; PedSector new_start; PedSector new_end; PedPartition* ext_part = ped_disk_extended_partition (disk); PedConstraint* constraint_any; PED_ASSERT (disk != NULL, return 0); PED_ASSERT (part != NULL, return 0); if (part->type & PED_PARTITION_LOGICAL) { PED_ASSERT (ext_part != NULL, return 0); global_min_start = ext_part->geom.start; global_max_end = ext_part->geom.end; } else { global_min_start = 0; global_max_end = disk->dev->length - 1; } old_geom = part->geom; if (!_disk_push_update_mode (disk)) return 0; if (part->prev) new_start = part->prev->geom.end + 1; else new_start = global_min_start; if (part->next) new_end = part->next->geom.start - 1; else new_end = global_max_end; if (!ped_disk_set_partition_geom (disk, part, constraint, new_start, new_end)) goto error; if (!_disk_pop_update_mode (disk)) return 0; return 1; error: constraint_any = ped_constraint_any (disk->dev); ped_disk_set_partition_geom (disk, part, constraint_any, old_geom.start, old_geom.end); ped_constraint_destroy (constraint_any); _disk_pop_update_mode (disk); return 0; } /** * Get the maximum geometry \p part can be grown to, subject to * \p constraint. * * \return \c NULL on failure. */ PedGeometry* ped_disk_get_max_partition_geometry (PedDisk* disk, PedPartition* part, const PedConstraint* constraint) { PedGeometry old_geom; PedGeometry* max_geom; PedConstraint* constraint_exact; PED_ASSERT(disk != NULL, return NULL); PED_ASSERT(part != NULL, return NULL); PED_ASSERT(ped_partition_is_active (part), return NULL); old_geom = part->geom; if (!ped_disk_maximize_partition (disk, part, constraint)) return NULL; max_geom = ped_geometry_duplicate (&part->geom); constraint_exact = ped_constraint_exact (&old_geom); ped_disk_set_partition_geom (disk, part, constraint_exact, old_geom.start, old_geom.end); ped_constraint_destroy (constraint_exact); /* this assertion should never fail, because the old * geometry was valid */ PED_ASSERT (ped_geometry_test_equal (&part->geom, &old_geom), return NULL); return max_geom; } /** * Reduce the size of the extended partition to a minimum while still wrapping * its logical partitions. If there are no logical partitions, remove the * extended partition. * * \return 0 on failure. */ int ped_disk_minimize_extended_partition (PedDisk* disk) { PedPartition* first_logical; PedPartition* last_logical; PedPartition* walk; PedPartition* ext_part; PedConstraint* constraint; int status; PED_ASSERT (disk != NULL, return 0); ext_part = ped_disk_extended_partition (disk); if (!ext_part) return 1; if (!_disk_push_update_mode (disk)) return 0; first_logical = ext_part->part_list; if (!first_logical) { if (!_disk_pop_update_mode (disk)) return 0; return ped_disk_delete_partition (disk, ext_part); } for (walk = first_logical; walk->next; walk = walk->next); last_logical = walk; constraint = ped_constraint_any (disk->dev); status = ped_disk_set_partition_geom (disk, ext_part, constraint, first_logical->geom.start, last_logical->geom.end); ped_constraint_destroy (constraint); if (!_disk_pop_update_mode (disk)) return 0; return status; } /** * @} */ /** * \addtogroup PedPartition * * @{ */ /** * Returns a name that seems mildly appropriate for a partition type \p type. * * Eg, if you pass (PED_PARTITION_LOGICAL & PED_PARTITION_FREESPACE), it * will return "free". This isn't to be taken too seriously - it's just * useful for user interfaces, so you can show the user something ;-) * * \note The returned string will be in English. However, * translations are provided, so the caller can call * dgettext("parted", RESULT) on the result. * */ const char* ped_partition_type_get_name (PedPartitionType type) { if (type & PED_PARTITION_METADATA) return N_("metadata"); else if (type & PED_PARTITION_FREESPACE) return N_("free"); else if (type & PED_PARTITION_EXTENDED) return N_("extended"); else if (type & PED_PARTITION_LOGICAL) return N_("logical"); else return N_("primary"); } /** * Returns a name for a \p flag, e.g. PED_PARTITION_BOOT will return "boot". * * \note The returned string will be in English. However, * translations are provided, so the caller can call * dgettext("parted", RESULT) on the result. */ const char* ped_partition_flag_get_name (PedPartitionFlag flag) { switch (flag) { case PED_PARTITION_BOOT: return N_("boot"); case PED_PARTITION_BIOS_GRUB: return N_("bios_grub"); case PED_PARTITION_ROOT: return N_("root"); case PED_PARTITION_SWAP: return N_("swap"); case PED_PARTITION_HIDDEN: return N_("hidden"); case PED_PARTITION_RAID: return N_("raid"); case PED_PARTITION_LVM: return N_("lvm"); case PED_PARTITION_LBA: return N_("lba"); case PED_PARTITION_HPSERVICE: return N_("hp-service"); case PED_PARTITION_PALO: return N_("palo"); case PED_PARTITION_PREP: return N_("prep"); case PED_PARTITION_MSFT_RESERVED: return N_("msftres"); case PED_PARTITION_APPLE_TV_RECOVERY: return N_("atvrecv"); case PED_PARTITION_DIAG: return N_("diag"); default: ped_exception_throw ( PED_EXCEPTION_BUG, PED_EXCEPTION_CANCEL, _("Unknown partition flag, %d."), flag); return NULL; } } /** * Iterates through all flags. * * ped_partition_flag_next(0) returns the first flag * * \return the next flag, or 0 if there are no more flags */ PedPartitionFlag ped_partition_flag_next (PedPartitionFlag flag) { return (flag + 1) % (PED_PARTITION_LAST_FLAG + 1); } /** * Returns the flag associated with \p name. * * \p name can be the English * string, or the translation for the native language. */ PedPartitionFlag ped_partition_flag_get_by_name (const char* name) { PedPartitionFlag flag; const char* flag_name; for (flag = ped_partition_flag_next (0); flag; flag = ped_partition_flag_next (flag)) { flag_name = ped_partition_flag_get_name (flag); if (strcasecmp (name, flag_name) == 0 || strcasecmp (name, _(flag_name)) == 0) return flag; } return 0; } static void ped_partition_print (const PedPartition* part) { PED_ASSERT (part != NULL, return); printf (" %-10s %02d (%d->%d)\n", ped_partition_type_get_name (part->type), part->num, (int) part->geom.start, (int) part->geom.end); } /** @} */ /** * \addtogroup PedDisk * * @{ */ /** * Prints a summary of disk's partitions. Useful for debugging. */ void ped_disk_print (const PedDisk* disk) { PedPartition* part; PED_ASSERT (disk != NULL, return); for (part = disk->part_list; part; part = ped_disk_next_partition (disk, part)) ped_partition_print (part); } /** @} */ parted-2.3/libparted/cs/0000755000000000000000000000000011400006131012141 500000000000000parted-2.3/libparted/cs/geom.c0000644000000000000000000003034111333731662013200 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 1999-2000, 2005, 2007-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /** \file geom.c */ /** * \addtogroup PedGeometry * * \brief PedGeometry represents a continuous region on a device. All addressing * through a PedGeometry object is in terms of the start of the continuous * region. * * The following conditions are always true on a PedGeometry object manipulated * with the GNU Parted API: * * - start + length - 1 == end * - length > 0 * - start >= 0 * - end < dev->length * * @{ */ #include #include #include #if ENABLE_NLS # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ /** * Initialize the previously allocated PedGeometry \p geom. */ int ped_geometry_init (PedGeometry* geom, const PedDevice* dev, PedSector start, PedSector length) { PED_ASSERT (geom != NULL, return 0); PED_ASSERT (dev != NULL, return 0); geom->dev = (PedDevice*) dev; return ped_geometry_set (geom, start, length); } /** * Create a new PedGeometry object on \p disk, starting at \p start with a * size of \p length sectors. * * \return NULL on failure. */ PedGeometry* ped_geometry_new (const PedDevice* dev, PedSector start, PedSector length) { PedGeometry* geom; PED_ASSERT (dev != NULL, return NULL); geom = (PedGeometry*) ped_malloc (sizeof (PedGeometry)); if (!geom) goto error; if (!ped_geometry_init (geom, dev, start, length)) goto error_free_geom; return geom; error_free_geom: free (geom); error: return NULL; } /** * Duplicate a PedGeometry object. * * This function constructs a PedGeometry object that is an identical but * independent copy of \p geom. Both the input, \p geom, and the output * should be destroyed with ped_geometry_destroy() when they are no * longer needed. * * \return NULL on failure. */ PedGeometry* ped_geometry_duplicate (const PedGeometry* geom) { PED_ASSERT (geom != NULL, return NULL); return ped_geometry_new (geom->dev, geom->start, geom->length); } /** * Return a PedGeometry object that refers to the intersection of * \p a and \p b. * * This function constructs a PedGeometry object that describes the * region that is common to both a and b. If there is no such common * region, it returns NULL. (This situation is not treated as an * error by much of GNU Parted.) */ PedGeometry* ped_geometry_intersect (const PedGeometry* a, const PedGeometry* b) { PedSector start; PedSector end; if (!a || !b || a->dev != b->dev) return NULL; start = PED_MAX (a->start, b->start); end = PED_MIN (a->end, b->end); if (start > end) return NULL; return ped_geometry_new (a->dev, start, end - start + 1); } /** * Destroy a PedGeometry object. */ void ped_geometry_destroy (PedGeometry* geom) { PED_ASSERT (geom != NULL, return); free (geom); } /** * Assign a new \p start, \p end (implicitly) and \p length to \p geom. * * \p geom->end is calculated from \p start and \p length. */ int ped_geometry_set (PedGeometry* geom, PedSector start, PedSector length) { PED_ASSERT (geom != NULL, return 0); PED_ASSERT (geom->dev != NULL, return 0); if (length < 1) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Can't have the end before the start!" " (start sector=%jd length=%jd)"), start, length); return 0; } if (start < 0 || start + length - 1 >= geom->dev->length) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Can't have a partition outside the disk!")); return 0; } geom->start = start; geom->length = length; geom->end = start + length - 1; return 1; } /** * Assign a new start to \p geom without changing \p geom->end. * * \p geom->length is updated accordingly. */ int ped_geometry_set_start (PedGeometry* geom, PedSector start) { return ped_geometry_set (geom, start, geom->end - start + 1); } /** * Assign a new end to \p geom without changing \p geom->start. * * \p geom->length is updated accordingly. */ int ped_geometry_set_end (PedGeometry* geom, PedSector end) { return ped_geometry_set (geom, geom->start, end - geom->start + 1); } /** * Test if \p a overlaps with \p b. * * That is, they lie on the same physical device, and they share * the same physical region at least partially. * * \return 1 if \p a and \p b overlap. */ int ped_geometry_test_overlap (const PedGeometry* a, const PedGeometry* b) { PED_ASSERT (a != NULL, return 0); PED_ASSERT (b != NULL, return 0); if (a->dev != b->dev) return 0; if (a->start < b->start) return a->end >= b->start; else return b->end >= a->start; } /** * Tests if \p b lies completely within \p a. That is, they lie on the same * physical device, and all of the \p b's region is contained inside * \p a's. * * \return 1 if the region \p b describes is contained entirely inside \p a */ int ped_geometry_test_inside (const PedGeometry* a, const PedGeometry* b) { PED_ASSERT (a != NULL, return 0); PED_ASSERT (b != NULL, return 0); if (a->dev != b->dev) return 0; return b->start >= a->start && b->end <= a->end; } /** * Tests if \a a and \p b refer to the same physical region. * * \return 1 if \p a and \p b describe the same regions * */ int ped_geometry_test_equal (const PedGeometry* a, const PedGeometry* b) { PED_ASSERT (a != NULL, return 0); PED_ASSERT (b != NULL, return 0); return a->dev == b->dev && a->start == b->start && a->end == b->end; } /** * Tests if \p sector is inside \p geom. * * \return 1 if sector lies within the \p region that \p geom describes */ int ped_geometry_test_sector_inside (const PedGeometry* geom, PedSector sector) { PED_ASSERT (geom != NULL, return 0); return sector >= geom->start && sector <= geom->end; } /** * Reads data from the region represented by \p geom. \p offset is the * location from within the region, not from the start of the disk. * \p count sectors are read into \p buffer. * This is essentially equivalent to: * \code * ped_device_read (geom->disk->dev, buffer, geom->start + offset, count) * \endcode * * \throws PED_EXCEPTION_ERROR when attempting to read sectors outside of * partition * * \return 0 on failure */ int ped_geometry_read (const PedGeometry* geom, void* buffer, PedSector offset, PedSector count) { PedSector real_start; PED_ASSERT (geom != NULL, return 0); PED_ASSERT (buffer != NULL, return 0); PED_ASSERT (offset >= 0, return 0); PED_ASSERT (count >= 0, return 0); real_start = geom->start + offset; if (real_start + count - 1 > geom->end) return 0; if (!ped_device_read (geom->dev, buffer, real_start, count)) return 0; return 1; } /* Like ped_device_read, but read into malloc'd storage. */ int ped_geometry_read_alloc (const PedGeometry* geom, void** buffer, PedSector offset, PedSector count) { char *buf = ped_malloc (count * geom->dev->sector_size); if (buf == NULL) return 0; int ok = ped_geometry_read (geom, buf, offset, count); if (!ok) { free (buf); buf = NULL; } *buffer = buf; return ok; } /** * Flushes the cache on \p geom. * * This function flushes all write-behind caches that might be holding * writes made by ped_geometry_write() to \p geom. It is slow, because * it guarantees cache coherency among all relevant caches. * * \return 0 on failure */ int ped_geometry_sync (PedGeometry* geom) { PED_ASSERT (geom != NULL, return 0); return ped_device_sync (geom->dev); } /** * Flushes the cache on \p geom. * * This function flushes all write-behind caches that might be holding writes * made by ped_geometry_write() to \p geom. It does NOT ensure cache coherency * with other caches that cache data in the region described by \p geom. * If you need cache coherency, use ped_geometry_sync() instead. * * \return 0 on failure */ int ped_geometry_sync_fast (PedGeometry* geom) { PED_ASSERT (geom != NULL, return 0); return ped_device_sync_fast (geom->dev); } /** * Writes data into the region represented by \p geom. \p offset is the * location from within the region, not from the start of the disk. * \p count sectors are written. * * \return 0 on failure */ int ped_geometry_write (PedGeometry* geom, const void* buffer, PedSector offset, PedSector count) { int exception_status; PedSector real_start; PED_ASSERT (geom != NULL, return 0); PED_ASSERT (buffer != NULL, return 0); PED_ASSERT (offset >= 0, return 0); PED_ASSERT (count >= 0, return 0); real_start = geom->start + offset; if (real_start + count - 1 > geom->end) { exception_status = ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_IGNORE_CANCEL, _("Attempt to write sectors %ld-%ld outside of " "partition on %s."), (long) offset, (long) (offset + count - 1), geom->dev->path); return exception_status == PED_EXCEPTION_IGNORE; } if (!ped_device_write (geom->dev, buffer, real_start, count)) return 0; return 1; } /** * Checks for physical disk errors. \todo use ped_device_check() * * Checks a region for physical defects on \p geom. \p buffer is used * for temporary storage for ped_geometry_check(), and has an undefined * value. \p buffer is \p buffer_size sectors long. * The region checked starts at \p offset sectors inside the * region represented by \p geom, and is \p count sectors long. * \p granularity specificies how sectors should be grouped * together. The first bad sector to be returned will always be in * the form: * offset + n * granularity * * \return the first bad sector, or 0 if there were no physical errors */ PedSector ped_geometry_check (PedGeometry* geom, void* buffer, PedSector buffer_size, PedSector offset, PedSector granularity, PedSector count, PedTimer* timer) { PedSector group; PedSector i; PedSector read_len; PED_ASSERT (geom != NULL, return 0); PED_ASSERT (buffer != NULL, return 0); ped_timer_reset (timer); ped_timer_set_state_name (timer, _("checking for bad blocks")); retry: ped_exception_fetch_all(); for (group = offset; group < offset + count; group += buffer_size) { ped_timer_update (timer, 1.0 * (group - offset) / count); read_len = PED_MIN (buffer_size, offset + count - group); if (!ped_geometry_read (geom, buffer, group, read_len)) goto found_error; } ped_exception_leave_all(); ped_timer_update (timer, 1.0); return 0; found_error: ped_exception_catch(); for (i = group; i + granularity < group + count; i += granularity) { if (!ped_geometry_read (geom, buffer, i, granularity)) { ped_exception_catch(); ped_exception_leave_all(); return i; } } ped_exception_leave_all(); goto retry; /* weird: failure on group read, but not individually */ } /** * This function takes a \p sector inside the region described by src, and * returns that sector's address inside dst. This means that * * \code * ped_geometry_read (dst, buf, ped_geometry_map(dst, src, sector), 1) * \endcode * * does the same thing as * * \code * ped_geometry_read (src, buf, sector, 1) * \endcode * * Clearly, this will only work if \p src and \p dst overlap. * * \return -1 if \p sector is not within \p dst's space, * or \p sector's address inside \p dst * */ PedSector ped_geometry_map (const PedGeometry* dst, const PedGeometry* src, PedSector sector) { PedSector result; PED_ASSERT (dst != NULL, return 0); PED_ASSERT (src != NULL, return 0); if (!ped_geometry_test_sector_inside (src, sector)) return -1; if (dst->dev != src->dev) return -1; result = src->start + sector - dst->start; if (result < 0 || result > dst->length) return -1; return result; } /** @} */ parted-2.3/libparted/cs/natmath.c0000644000000000000000000002724511333731662013716 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 2000, 2007-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /** * \file natmath.c */ /** * \addtogroup PedAlignment * * \brief Alignment constraint model. * * This part of libparted models alignment constraints. * * @{ */ #include #include #include #include #include /* Arrrghhh! Why doesn't C have tuples? */ typedef struct { PedSector gcd; /* "converges" to the gcd */ PedSector x; PedSector y; } EuclidTriple; static const PedAlignment _any = { offset: 0, grain_size: 1 }; const PedAlignment* ped_alignment_any = &_any; const PedAlignment* ped_alignment_none = NULL; /* This function returns "a mod b", the way C should have done it! * Mathematicians prefer -3 mod 4 to be 3. Reason: division by N * is all about adding or subtracting N, and we like our remainders * to be between 0 and N - 1. */ static PedSector abs_mod (PedSector a, PedSector b) { if (a < 0) return a % b + b; else return a % b; } /* Rounds a number down to the closest number that is a multiple of * grain_size. */ PedSector ped_round_down_to (PedSector sector, PedSector grain_size) { return sector - abs_mod (sector, grain_size); } /* Rounds a number up to the closest number that is a multiple of * grain_size. */ PedSector ped_round_up_to (PedSector sector, PedSector grain_size) { if (sector % grain_size) return ped_round_down_to (sector, grain_size) + grain_size; else return sector; } /* Rounds a number to the closest number that is a multiple of grain_size. */ PedSector ped_round_to_nearest (PedSector sector, PedSector grain_size) { if (sector % grain_size > grain_size/2) return ped_round_up_to (sector, grain_size); else return ped_round_down_to (sector, grain_size); } /* This function returns the largest number that divides both a and b. * It uses the ancient Euclidean algorithm. */ PedSector ped_greatest_common_divisor (PedSector a, PedSector b) { PED_ASSERT (a >= 0, return 0); PED_ASSERT (b >= 0, return 0); /* Put the arguments in the "right" format. (Recursive calls made by * this function are always in the right format.) */ if (b > a) return ped_greatest_common_divisor (b, a); if (b) return ped_greatest_common_divisor (b, a % b); else return a; } /** * Initialize a preallocated piece of memory for an alignment object * (used by PedConstraint). * * The object will represent all sectors \e s for which the equation * s = offset + X * grain_size holds. */ int ped_alignment_init (PedAlignment* align, PedSector offset, PedSector grain_size) { PED_ASSERT (align != NULL, return 0); if (grain_size < 0) return 0; if (grain_size) align->offset = abs_mod (offset, grain_size); else align->offset = offset; align->grain_size = grain_size; return 1; } /** * Return an alignment object (used by PedConstraint), representing all * PedSector's that are of the form offset + X * grain_size. */ PedAlignment* ped_alignment_new (PedSector offset, PedSector grain_size) { PedAlignment* align; align = (PedAlignment*) ped_malloc (sizeof (PedAlignment)); if (!align) goto error; if (!ped_alignment_init (align, offset, grain_size)) goto error_free_align; return align; error_free_align: free (align); error: return NULL; } /** * Free up memory associated with \p align. */ void ped_alignment_destroy (PedAlignment* align) { free (align); } /** * Return a duplicate of \p align. */ PedAlignment* ped_alignment_duplicate (const PedAlignment* align) { if (!align) return NULL; return ped_alignment_new (align->offset, align->grain_size); } /* the extended Euclid algorithm. * * input: * a and b, a > b * * output: * gcd, x and y, such that: * * gcd = greatest common divisor of a and b * gcd = x*a + y*b */ static EuclidTriple extended_euclid (int a, int b) { EuclidTriple result; EuclidTriple tmp; if (b == 0) { result.gcd = a; result.x = 1; result.y = 0; return result; } tmp = extended_euclid (b, a % b); result.gcd = tmp.gcd; result.x = tmp.y; result.y = tmp.x - (a/b) * tmp.y; return result; } /** * This function computes a PedAlignment object that describes the * intersection of two alignments. That is, a sector satisfies the * new alignment object if and only if it satisfies both of the original * ones. (See ped_alignment_is_aligned() for the meaning of "satisfies") * * Apart from the trivial cases (where one or both of the alignment objects * constraints have no sectors that satisfy them), this is what we're trying to * do: * - two input constraints: \p a and \p b. * - the new grain_size is going to be the lowest common multiple of * \p a->grain_size and \p b->grain_size * - hard part - solve the simultaneous equations, for offset, where offset, * X and Y are variables. (Note: offset can be obtained from either X or Y, * by substituing into either equation) * * \code * offset = \p a->offset + X * \p a->grain_size (1) * offset = \p b->offset + Y * \p b->grain_size (2) * \endcode * * or, abbreviated: * * \code * o = Ao + X*Ag (1) * o = Bo + Y*Bg (2) * * => Ao + X*Ag = Bo + Y*Bg (1) = (2) * X*Ag - Y*Bg = Bo - Ao (3) * \endcode * * As it turns out, there only exists a solution if (Bo - Ao) is a multiple * of the GCD of Ag and Bg. Reason: all linear combinations of Ag and Bg are * multiples of the GCD. * * Proof: * * \code * A * Ag + B * Bg * = A * (\p a * gcd) + B * (\p b * gcd) * = gcd * (A * \p a + B * \p b) * \endcode * * gcd is a factor of the linear combination. QED * * Anyway, \p a * Ag + \p b * Bg = gcd can be solved (for \p a, \p b and gcd) * with Euclid's extended algorithm. Then, we just multiply through by * (Bo - Ao) / gcd to get (3). * * i.e. * \code * A * Ag + B * Bg = gcd * A*(Bo-Ao)/gcd * Ag + B(Bo-Ao)/gcd * Bg = gcd * (Bo-Ao)/gcd * X*Ag - Y*Bg = Bo - Ao (3) * * X = A*(Bo-Ao)/gcd * Y = - B*(Bo-Ao)/gcd * \endcode * * then: * \code * o = Ao + X*Ag (1) * = Ao + A*(Bo-Ao)/gcd*Ag * o = Bo + Y*Bg (2) * = Bo - B*(Bo-Ao)/gcd*Ag * \endcode * * Thanks go to Nathan Hurst (njh@hawthorn.csse.monash.edu.au) for figuring * this algorithm out :-) * * \note Returned \c NULL is a valid PedAlignment object, and can be used for ped_alignment_*() function. * * \return a PedAlignment on success, \c NULL on failure */ PedAlignment* ped_alignment_intersect (const PedAlignment* a, const PedAlignment* b) { PedSector new_grain_size; PedSector new_offset; PedSector delta_on_gcd; EuclidTriple gcd_factors; if (!a || !b) return NULL; /*PED_DEBUG (0x10, "intersecting alignments (%d,%d) and (%d,%d)", a->offset, a->grain_size, b->offset, b->grain_size); */ if (a->grain_size < b->grain_size) { const PedAlignment* tmp; tmp = a; a = b; b = tmp; } /* weird/trivial case: where the solution space for "a" or "b" is * either empty or contains exactly one solution */ if (a->grain_size == 0 && b->grain_size == 0) { if (a->offset == b->offset) return ped_alignment_duplicate (a); else return NULL; } /* general case */ gcd_factors = extended_euclid (a->grain_size, b->grain_size); delta_on_gcd = (b->offset - a->offset) / gcd_factors.gcd; new_offset = a->offset + gcd_factors.x * delta_on_gcd * a->grain_size; new_grain_size = a->grain_size * b->grain_size / gcd_factors.gcd; /* inconsistency => no solution */ if (new_offset != b->offset - gcd_factors.y * delta_on_gcd * b->grain_size) return NULL; return ped_alignment_new (new_offset, new_grain_size); } /* This function returns the sector closest to "sector" that lies inside * geom and satisfies the alignment constraint. */ static PedSector _closest_inside_geometry (const PedAlignment* align, const PedGeometry* geom, PedSector sector) { PED_ASSERT (align != NULL, return -1); if (!align->grain_size) { if (ped_alignment_is_aligned (align, geom, sector) && (!geom || ped_geometry_test_sector_inside (geom, sector))) return sector; else return -1; } if (sector < geom->start) sector += ped_round_up_to (geom->start - sector, align->grain_size); if (sector > geom->end) sector -= ped_round_up_to (sector - geom->end, align->grain_size); if (!ped_geometry_test_sector_inside (geom, sector)) return -1; return sector; } /** * This function returns the closest sector to \p sector that lies inside * \p geom that satisfies the given alignment constraint \p align. It prefers * sectors that are beyond \p sector (are not smaller than \p sector), * but does not guarantee that this. * * \return a PedSector on success, \c -1 on failure */ PedSector ped_alignment_align_up (const PedAlignment* align, const PedGeometry* geom, PedSector sector) { PedSector result; PED_ASSERT (align != NULL, return -1); if (!align->grain_size) result = align->offset; else result = ped_round_up_to (sector - align->offset, align->grain_size) + align->offset; if (geom) result = _closest_inside_geometry (align, geom, result); return result; } /** * This function returns the closest sector to \p sector that lies inside * \p geom that satisfies the given alignment constraint \p align. It prefers * sectors that are before \p sector (are not larger than \p sector), * but does not guarantee that this. * * \return a PedSector on success, \c -1 on failure */ PedSector ped_alignment_align_down (const PedAlignment* align, const PedGeometry* geom, PedSector sector) { PedSector result; PED_ASSERT (align != NULL, return -1); if (!align->grain_size) result = align->offset; else result = ped_round_down_to (sector - align->offset, align->grain_size) + align->offset; if (geom) result = _closest_inside_geometry (align, geom, result); return result; } /* Returns either a or b, depending on which is closest to "sector". */ static PedSector closest (PedSector sector, PedSector a, PedSector b) { if (a == -1) return b; if (b == -1) return a; if (abs (sector - a) < abs (sector - b)) return a; else return b; } /** * This function returns the sector that is closest to \p sector, * satisfies the \p align constraint and lies inside \p geom. * * \return a PedSector on success, \c -1 on failure */ PedSector ped_alignment_align_nearest (const PedAlignment* align, const PedGeometry* geom, PedSector sector) { PED_ASSERT (align != NULL, return -1); return closest (sector, ped_alignment_align_up (align, geom, sector), ped_alignment_align_down (align, geom, sector)); } /** * This function returns 1 if \p sector satisfies the alignment * constraint \p align and lies inside \p geom. * * \return \c 1 on success, \c 0 on failure */ int ped_alignment_is_aligned (const PedAlignment* align, const PedGeometry* geom, PedSector sector) { if (!align) return 0; if (geom && !ped_geometry_test_sector_inside (geom, sector)) return 0; if (align->grain_size) return (sector - align->offset) % align->grain_size == 0; else return sector == align->offset; } /** * @} */ parted-2.3/libparted/cs/constraint.c0000644000000000000000000003433011370314006014425 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 2000-2001, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /** * \addtogroup PedConstraint * * \brief Constraint solver interface. * * Constraints are used to communicate restrictions on operations Constraints * are restrictions on the location and alignment of the start and end of a * partition, and the minimum and maximum size. * * Constraints are closed under intersection (for the proof see the source * code). For background information see the Chinese Remainder Theorem. * * This interface consists of construction constraints, finding the intersection * of constraints, and finding solutions to constraints. * * The constraint solver allows you to specify constraints on where a partition * or file system (or any PedGeometry) may be placed/resized/etc. For example, * you might want to make sure that a file system is at least 10 Gb, or that it * starts at the beginning of new cylinder. * * The constraint solver in this file unifies solver in geom.c (which allows you * to specify constraints on ranges) and natmath.c (which allows you to specify * alignment constraints). * * @{ */ #include #include #include /** * Initializes a pre-allocated piece of memory to contain a constraint * with the supplied default values. * * \return \c 0 on failure. */ int ped_constraint_init ( PedConstraint* constraint, const PedAlignment* start_align, const PedAlignment* end_align, const PedGeometry* start_range, const PedGeometry* end_range, PedSector min_size, PedSector max_size) { PED_ASSERT (constraint != NULL, return 0); PED_ASSERT (start_range != NULL, return 0); PED_ASSERT (end_range != NULL, return 0); PED_ASSERT (min_size > 0, return 0); PED_ASSERT (max_size > 0, return 0); constraint->start_align = ped_alignment_duplicate (start_align); constraint->end_align = ped_alignment_duplicate (end_align); constraint->start_range = ped_geometry_duplicate (start_range); constraint->end_range = ped_geometry_duplicate (end_range); constraint->min_size = min_size; constraint->max_size = max_size; return 1; } /** * Convenience wrapper for ped_constraint_init(). * * Allocates a new piece of memory and initializes the constraint. * * \return \c NULL on failure. */ PedConstraint* ped_constraint_new ( const PedAlignment* start_align, const PedAlignment* end_align, const PedGeometry* start_range, const PedGeometry* end_range, PedSector min_size, PedSector max_size) { PedConstraint* constraint; constraint = (PedConstraint*) ped_malloc (sizeof (PedConstraint)); if (!constraint) goto error; if (!ped_constraint_init (constraint, start_align, end_align, start_range, end_range, min_size, max_size)) goto error_free_constraint; return constraint; error_free_constraint: free (constraint); error: return NULL; } /** * Return a constraint that requires a region to be entirely contained inside * \p max, and to entirely contain \p min. * * \return \c NULL on failure. */ PedConstraint* ped_constraint_new_from_min_max ( const PedGeometry* min, const PedGeometry* max) { PedGeometry start_range; PedGeometry end_range; PED_ASSERT (min != NULL, return NULL); PED_ASSERT (max != NULL, return NULL); PED_ASSERT (ped_geometry_test_inside (max, min), return NULL); ped_geometry_init (&start_range, min->dev, max->start, min->start - max->start + 1); ped_geometry_init (&end_range, min->dev, min->end, max->end - min->end + 1); return ped_constraint_new ( ped_alignment_any, ped_alignment_any, &start_range, &end_range, min->length, max->length); } /** * Return a constraint that requires a region to entirely contain \p min. * * \return \c NULL on failure. */ PedConstraint* ped_constraint_new_from_min (const PedGeometry* min) { PedGeometry full_dev; PED_ASSERT (min != NULL, return NULL); ped_geometry_init (&full_dev, min->dev, 0, min->dev->length); return ped_constraint_new_from_min_max (min, &full_dev); } /** * Return a constraint that requires a region to be entirely contained inside * \p max. * * \return \c NULL on failure. */ PedConstraint* ped_constraint_new_from_max (const PedGeometry* max) { PED_ASSERT (max != NULL, return NULL); return ped_constraint_new ( ped_alignment_any, ped_alignment_any, max, max, 1, max->length); } /** * Duplicate a constraint. * * \return \c NULL on failure. */ PedConstraint* ped_constraint_duplicate (const PedConstraint* constraint) { PED_ASSERT (constraint != NULL, return NULL); return ped_constraint_new ( constraint->start_align, constraint->end_align, constraint->start_range, constraint->end_range, constraint->min_size, constraint->max_size); } /** * Return a constraint that requires a region to satisfy both \p a and \p b. * * Moreover, any region satisfying \p a and \p b will also satisfy the returned * constraint. * * \return \c NULL if no solution could be found (note that \c NULL is a valid * PedConstraint). */ PedConstraint* ped_constraint_intersect (const PedConstraint* a, const PedConstraint* b) { PedAlignment* start_align; PedAlignment* end_align; PedGeometry* start_range; PedGeometry* end_range; PedSector min_size; PedSector max_size; PedConstraint* constraint; if (!a || !b) return NULL; start_align = ped_alignment_intersect (a->start_align, b->start_align); if (!start_align) goto empty; end_align = ped_alignment_intersect (a->end_align, b->end_align); if (!end_align) goto empty_destroy_start_align; start_range = ped_geometry_intersect (a->start_range, b->start_range); if (!start_range) goto empty_destroy_end_align; end_range = ped_geometry_intersect (a->end_range, b->end_range); if (!end_range) goto empty_destroy_start_range; min_size = PED_MAX (a->min_size, b->min_size); max_size = PED_MIN (a->max_size, b->max_size); constraint = ped_constraint_new ( start_align, end_align, start_range, end_range, min_size, max_size); if (!constraint) goto empty_destroy_end_range; ped_alignment_destroy (start_align); ped_alignment_destroy (end_align); ped_geometry_destroy (start_range); ped_geometry_destroy (end_range); return constraint; empty_destroy_end_range: ped_geometry_destroy (end_range); empty_destroy_start_range: ped_geometry_destroy (start_range); empty_destroy_end_align: ped_alignment_destroy (end_align); empty_destroy_start_align: ped_alignment_destroy (start_align); empty: return NULL; } /** * Release the memory allocated for a PedConstraint constructed with * ped_constraint_init(). */ void ped_constraint_done (PedConstraint* constraint) { PED_ASSERT (constraint != NULL, return); ped_alignment_destroy (constraint->start_align); ped_alignment_destroy (constraint->end_align); ped_geometry_destroy (constraint->start_range); ped_geometry_destroy (constraint->end_range); } /** * Release the memory allocated for a PedConstraint constructed with * ped_constraint_new(). */ void ped_constraint_destroy (PedConstraint* constraint) { if (constraint) { ped_constraint_done (constraint); free (constraint); } } /* * Return the region within which the start must lie * in order to satisfy a constriant. It takes into account * constraint->start_range, constraint->min_size and constraint->max_size. * All sectors in this range that also satisfy alignment requirements have * an end, such that the (start, end) satisfy the constraint. */ static PedGeometry* _constraint_get_canonical_start_range (const PedConstraint* constraint) { PedSector first_end_soln; PedSector last_end_soln; PedSector min_start; PedSector max_start; PedGeometry start_min_max_range; if (constraint->min_size > constraint->max_size) return NULL; first_end_soln = ped_alignment_align_down ( constraint->end_align, constraint->end_range, constraint->end_range->start); last_end_soln = ped_alignment_align_up ( constraint->end_align, constraint->end_range, constraint->end_range->end); if (first_end_soln == -1 || last_end_soln == -1 || first_end_soln > last_end_soln || last_end_soln < constraint->min_size) return NULL; min_start = first_end_soln - constraint->max_size + 1; if (min_start < 0) min_start = 0; max_start = last_end_soln - constraint->min_size + 1; if (max_start < 0) return NULL; ped_geometry_init ( &start_min_max_range, constraint->start_range->dev, min_start, max_start - min_start + 1); return ped_geometry_intersect (&start_min_max_range, constraint->start_range); } /* * Return the nearest start that will have at least one other end that * together satisfy the constraint. */ static PedSector _constraint_get_nearest_start_soln (const PedConstraint* constraint, PedSector start) { PedGeometry* start_range; PedSector result; start_range = _constraint_get_canonical_start_range (constraint); if (!start_range) return -1; result = ped_alignment_align_nearest ( constraint->start_align, start_range, start); ped_geometry_destroy (start_range); return result; } /* * Given a constraint and a start ("half of the solution"), find the * range of all possible ends, such that all (start, end) are solutions * to constraint (subject to additional alignment requirements). */ static PedGeometry* _constraint_get_end_range (const PedConstraint* constraint, PedSector start) { PedDevice* dev = constraint->end_range->dev; PedSector first_min_max_end; PedSector last_min_max_end; PedGeometry end_min_max_range; if (start + constraint->min_size - 1 > dev->length - 1) return NULL; first_min_max_end = start + constraint->min_size - 1; last_min_max_end = start + constraint->max_size - 1; if (last_min_max_end > dev->length - 1) last_min_max_end = dev->length - 1; ped_geometry_init (&end_min_max_range, dev, first_min_max_end, last_min_max_end - first_min_max_end + 1); return ped_geometry_intersect (&end_min_max_range, constraint->end_range); } /* * Given "constraint" and "start", find the end that is nearest to * "end", such that ("start", the end) together form a solution to * "constraint". */ static PedSector _constraint_get_nearest_end_soln (const PedConstraint* constraint, PedSector start, PedSector end) { PedGeometry* end_range; PedSector result; end_range = _constraint_get_end_range (constraint, start); if (!end_range) return -1; result = ped_alignment_align_nearest (constraint->end_align, end_range, end); ped_geometry_destroy (end_range); return result; } /** * Return the nearest region to \p geom that satisfy a \p constraint. * * Note that "nearest" is somewhat ambiguous. This function makes * no guarantees about how this ambiguity is resovled. * * \return PedGeometry, or NULL when a \p constrain cannot be satisfied */ PedGeometry* ped_constraint_solve_nearest ( const PedConstraint* constraint, const PedGeometry* geom) { PedSector start; PedSector end; PedGeometry* result; if (constraint == NULL) return NULL; PED_ASSERT (geom != NULL, return NULL); PED_ASSERT (constraint->start_range->dev == geom->dev, return NULL); start = _constraint_get_nearest_start_soln (constraint, geom->start); if (start == -1) return NULL; end = _constraint_get_nearest_end_soln (constraint, start, geom->end); if (end == -1) return NULL; result = ped_geometry_new (geom->dev, start, end - start + 1); if (!result) return NULL; PED_ASSERT (ped_constraint_is_solution (constraint, result), return NULL); return result; } /** * Find the largest region that satisfies a constraint. * * There might be more than one solution. This function makes no * guarantees about which solution it will choose in this case. */ PedGeometry* ped_constraint_solve_max (const PedConstraint* constraint) { PedDevice* dev; PedGeometry full_dev; if (!constraint) return NULL; dev = constraint->start_range->dev; ped_geometry_init (&full_dev, dev, 0, dev->length - 1); return ped_constraint_solve_nearest (constraint, &full_dev); } /** * Check whether \p geom satisfies the given constraint. * * \return \c 1 if it does. **/ int ped_constraint_is_solution (const PedConstraint* constraint, const PedGeometry* geom) { PED_ASSERT (constraint != NULL, return 0); PED_ASSERT (geom != NULL, return 0); if (!ped_alignment_is_aligned (constraint->start_align, NULL, geom->start)) return 0; if (!ped_alignment_is_aligned (constraint->end_align, NULL, geom->end)) return 0; if (!ped_geometry_test_sector_inside (constraint->start_range, geom->start)) return 0; if (!ped_geometry_test_sector_inside (constraint->end_range, geom->end)) return 0; if (geom->length < constraint->min_size) return 0; if (geom->length > constraint->max_size) return 0; return 1; } /** * Return a constraint that any region on the given device will satisfy. */ PedConstraint* ped_constraint_any (const PedDevice* dev) { PedGeometry full_dev; if (!ped_geometry_init (&full_dev, dev, 0, dev->length)) return NULL; return ped_constraint_new ( ped_alignment_any, ped_alignment_any, &full_dev, &full_dev, 1, dev->length); } /** * Return a constraint that only the given region will satisfy. */ PedConstraint* ped_constraint_exact (const PedGeometry* geom) { PedAlignment start_align; PedAlignment end_align; PedGeometry start_sector; PedGeometry end_sector; ped_alignment_init (&start_align, geom->start, 0); ped_alignment_init (&end_align, geom->end, 0); ped_geometry_init (&start_sector, geom->dev, geom->start, 1); ped_geometry_init (&end_sector, geom->dev, geom->end, 1); return ped_constraint_new (&start_align, &end_align, &start_sector, &end_sector, 1, geom->dev->length); } /** * @} */ parted-2.3/NEWS0000644000000000000000000005045411400005276010226 00000000000000GNU parted NEWS -*- outline -*- * Noteworthy changes in release 2.3 (2010-05-28) [stable] ** New features parted now recognizes ATA over Ethernet (AoE) devices parted now recognizes Linux Software RAID Arrays libparted has a new partition flag to check for diagnostic (aka recovery or reserved) partitions: PED_PARTITION_DIAG ** Bug fixes When libparted deferenced a /dev/mapper/foo symlink, it would keep the resulting /dev/dm-N name and sometimes use it later, even though it had since become stale and invalid. It no longer stores the result of dereferencing a /dev/mapper symlink. libparted's msdos_partition_is_flag_available function now always reports that the "hidden" flag is not available for an extended partition. Similarly, msdos_partition_get_flag(p,PED_PARTITION_HIDDEN) always returns 0 for an extended partition. libparted uses a more accurate heuristic to distinguish between ext4 and ext3 partitions. libparted now properly checks the return value of dm_task_run when operating on devicemapper devices. allow using ped_device_cache_remove(dev) followed by a (later) ped_device_destroy() without corrupting the device cache. when creating an ext2 file system[*], Parted no longer creates an invalid one when its size is 2TiB or larger. [*] Remember, now all FS-creation operations are deprecated in Parted. This is not an indicator that we'll be supporting this code. On the contrary, it is slated to be removed. ** Changes in behavior libparted no longer issues an exception/warning about >512-byte sector support being "HIGHLY EXPERIMENTAL". It seems to have matured enough to be usable at least with GPT and MSDOS partition tables. * Noteworthy changes in release 2.2 (2010-02-26) [stable] ** Changes in behavior The default alignment (--align option) for newly created partitions has been changed to optimal. ** New features The ped_device_get_*_alignment() functions now return a sane default value instead of NULL when the so called topology information is incomplete. The default minimum alignment aligns to physical sector size, the default optimal alignment is 1MiB, which is what vista and windows 7 do. ** Bug fixes Parted no longer uses a physical sector size of 0 or of any other value smaller than the logical sector size. dos: creating an HFS or HFS+ partition in an msdos partition table used to set the partition type to 0x83. That is wrong. The required number is 0xaf, and that is what is used now. gpt: read-only operation could clobber MBR part of hybrid GPT+MBR table [bug introduced in parted-2.1] gpt: a read-only operation like "parted $dev print" would overwrite $dev's protective MBR when exactly one of the primary and backup GPT tables was found to be corrupt. [bug introduced prior to parted-1.8.0] sun: the version, sanity and nparts VTOC fields were ignored by libparted. Those fields are properly initialized now. The nparts (number of partitions) field is initialized to 8 (max. number of sun partitions) rather that to a real number of partitions. This solution is compatible with Linux kernel and Linux fdisk. "make install" no longer installs tests programs named disk and label libparted: try harder to inform kernel of partition changes. Previously when editing partitions, occasionally the kernel would fail to be informed of partition changes. When this happened future problems would occur because the kernel had incorrect information. For example, if this problem arose when resizing or creating a new partition, then an incorrect partition size might be displayed or a user might encounter a failure to format or delete a newly created partition, respectively. libparted: committing a disk that was returned by ped_disk_duplicate would always result in ped_disk_clobber being called (and thus the first and last 9KiB of the disk being zeroed), even if the duplicated disk, was not returned by ped_disk_fresh(). * Noteworthy changes in release 2.1 (2009-12-20) [stable] ** New features new --align= commandline option which can have the following values: none: Use the minimum alignment allowed by the disk type cylinder: Align partitions to cylinders (the default) minimal: Use minimum alignment as given by the disk topology information optimal: Use optimum alignment as given by the disk topology information The minimal and optimal values will use layout information provided by the disk to align the logical partition table addresses to actual physical blocks on the disks. The mininal value uses the minimum aligment needed to align the partition properly to physical blocks, which avoids performance degradation. Where as the optimal value uses a multiple of the physical block size in a way that guarantees optimal performance. The min and opt values will only work when compiled with libblkid >= 2.17 and running on a kernel >= 2.6.31, otherwise they will behave as the none --align value. libparted: new functions to set per disk (instead of per partition) flags: ped_disk_set_flag() ped_disk_get_flag() ped_disk_is_flag_available() ped_disk_flag_get_name() ped_disk_flag_get_by_name() ped_disk_flag_next() libparted: new per disk flag: PED_DISK_CYLINDER_ALIGNMENT. This flag (which defaults to true) controls if disk types for which cylinder alignment is optional do cylinder alignment when a new partition gets added. libparted: new functions to return per-partition-table-type limits: - ped_disk_max_partition_start_sector: Return the largest representable start sector number for a given "disk". - ped_disk_max_partition_length: Return the maximum partition length for a given "disk". new command "align-check TYPE N" to determine whether the starting sector of partition N is TYPE(minimal|optimal)-aligned for the disk. E.g., parted -s /dev/sda align-check min 1 && echo partition 1 is min-aligned parted -s /dev/sda align-check opt 2 && echo partition 2 is opt-aligned The same libblkid and kernel version requirements apply as for --align Add functions to libparted to get minimal and optimal alignment information from devices: ped_device_get_minimal_aligned_constraint() ped_device_get_optimal_aligned_constraint() ped_device_get_minimum_alignment() ped_device_get_optimum_alignment() The same libblkid and kernel version requirements apply as for --align Add ped_disk_get_partition_alignment() function to libparted to get information about alignment enforced by the disk type. ** Bug fixes parted can once again create partition tables on loop devices. Before, "parted -s /dev/loop0 mklabel gpt" would fail. [bug introduced in parted-1.9.0] improved >512-byte sector support: for example, printing a table on a 4k-sector disk would show "Sector size (logical/physical): 4096B/512B", when the sizes should have been "4096B/4096B". gpt tables are more rigorously checked; before, partition entry array CRCs were not checked, and we would mistakenly use the AlternateLBA member of a known-corrupt primary table. improved dasd disk support, in previous versions calling ped_disk_new_fresh() or ped_disk_duplicate() on a dasd type PedDisk would fail. This is fixed now. handle device nodes created by lvm build with udev synchronisation enabled properly. when printing tables, parted no longer truncates flag names * Noteworthy changes in release 2.0 (2009-10-06) [beta] ** Improvements Parted now supports disks with sector size larger than 512 bytes. Before this release, Parted could operate only on disks with a sector size of 512 bytes. However, disk manufacturers are already making disks with an exposed hardware sector size of 4096 bytes. Prior versions of Parted cannot even read a partition table on such a device, not to mention create or manipulate existing partition tables. Due to internal design and time constraints, the following less-common partition table types are currently disabled: amiga, bsd, aix, pc98 "bsd" and "amiga" are mostly done, but had a few minor problems, so may remain disabled until someone requests that they be revived. ** Bug fixes big-endian systems can once again read GPT partition tables [bug introduced in parted-1.9.0] ped_partition_is_busy no longer calls libparted's exception handler, since doing so caused trouble with anaconda/pyparted when operating on dmraid devices. Partitions in a GPT table are no longer assigned the "microsoft reserved partition" type. Before this change, each partition would be listed with a type of "msftres" by default. * Noteworthy changes in release 1.9.0 (2009-07-23) [stable] ** Bug fixes parted now preserves the protective MBR (PMBR) in GPT type labels. http://lists.alioth.debian.org/pipermail/parted-devel/2008-December/\ 002473.html http://lists.gnu.org/archive/html/bug-parted/2008-12/msg00015.html gpt_read now uses SizeOfPartitionEntry instead of the size of GuidPartitionEntry_t. This ensures that *all* of the partition entries are correctly read. http://lists.alioth.debian.org/pipermail/parted-devel/2008-December/\ 002465.html http://lists.alioth.debian.org/pipermail/parted-devel/attachments/\ 20081202/b7c0528d/attachment.txt mklabel (interactive mode) now correctly asks for confirmation, when replacing an existent label, without outputting an error message. http://lists.alioth.debian.org/pipermail/parted-devel/2009-January/\ 002739.html resize now handles FAT16 file systems with a 64k cluster. This configuration is not common, but it is possible. http://parted.alioth.debian.org/cgi-bin/trac.cgi/ticket/207 parted now ignores devices of the type /dev/md* when probing. These types of devices should be handled by the device-mapper capabilities of parted. http://lists.alioth.debian.org/pipermail/parted-devel/2009-April/\ 002781.html The parted documentation now describes the differences in the options passed to mkpart for the label types. http://lists.alioth.debian.org/pipermail/parted-devel/2009-April/\ 002782.html ** Changes in behavior include/parted/beos.h, include/parted/gnu.h and include/parted/linux.h have been removed. The symbols contained in these files (GNUSpecific, ped_device_new_from_store, BEOSSpecific, LinuxSpecific, LINUX_SPECIFIC) were moved to the individual files that need them. In libparted, the linux-swap "filesystem" types are now called "linux-swap(v0)" and "linux-swap(v1)" rather than "linux-swap(old)" and "linux-swap(new)" as in parted 1.8, or "linux-swap" as in older versions; "old" and "new" generally make poor names, and v1 is the only format supported by current Linux kernels. Aliases for all previous names are available. * Noteworthy changes in release 1.8.8.1 (2007-12-17) [stable] ** FIXME: fill in details * Noteworthy changes in release 1.8.8 (2007-08-09) [stable] ** GNU parted is now licensed under the GNU General Public License version 3 or higher. See the COPYING file for more details. ** libparted: - Add compute_block_counts() to improve ext2fs support. - Properly detect 'ext2 fs too small' cases. - Move formatting commands out of translatable strings. - Read an msdos partition table from a device with 2K sectors. - Remove always-false "Unable to open" diagnostic in ped_disk_new(), leave the "unrecognized disk label" diagnostic. - Don't leak partition table buffer in amiga_read(). - Don't read/write initialized memory with DEBUG turned on off for 'mklabel bsd' and 'mklabel amiga' command calls. - Turn off DEBUG in libparted.c to avoid initializing all allocated memory to '1' bits. - Correct handling of HeaderSize field in GPT labels. - Fix block number used when checking for ext2 fs state. - Add detection support for Xen virtual block devices (/dev/xvd*). - When reading DASD labels, check the filesystem type as well as partition flags to determine what's on the partition. - Add _dm_probe_all() from Debian to probe for all device-mapper devices. ** parted: - Fixed exception handling in mkpart and mkpartfs commands. - Add the --dry-run option to the partprobe command. - Update docs: cannot specify 'primary' for a partition on a loop device. - Remove unused functions (get_spaces). - Fix off-by-one error in str_list_print_wrap(). - Use xmalloc() and xrealloc() to check return values. - Fix invalid command line argument handling. - Close memory leaks in parted.c and table.c. - Fix warnings when compiling with translation support enabled. - Use a consistent prompt when asking for a file system type. - Update docs: don't reference old versions of gzip. ** misc: - Improve the testing framework in the tests/ subdirectory. Build out more of the testing scripts so we can start using that to ensure we don't introduce regressions in releases. - Support testing with tmpfs filesystems on Linux. - Work around inadequate libreadline in the configure script. - Don't include config.h from internal headers. * Noteworthy changes in release 1.8.7 (2007-05-09) [stable] ** libparted: - Prevent compilation of DASD code on GNU Hurd systems. - Integrate new unit testing framework for parted and libparted. - Fix primary partition cylinder alignment error for DOS disk labels. - Use PED_PARTITION_NORMAL in place of PED_PARTITION_PRIMARY. - Avoid segfault due to a double free on reiserfs support. ** parted: - Fix script mode (-s) for mkfs command in parted. - Suppress "you are not superuser..." warning in script mode. - Fix off-by-one bug in parted when displaying information about the disk. - Do not translate partition names in the 'parted print' command. This causes problems for non-Latin-based character sets. - Send errors to stderr rather than stdout. - Handle command line options independent of the order. - Abort on any invalid option and handle -v and -h first. - Only display the update /etc/fstab message when there has been a change to the disk (a shorter and more direct message too). * Noteworthy changes in release 1.8.6 (2007-03-20) [stable] ** Revert the implementation of the linux-swap(new) and linux-swap(old) types. The type is 'linux-swap' for v1, v2, and s1suspend swap partitions on Linux. * Noteworthy changes in release 1.8.5 (2007-03-20) [stable] ** Another minor update. Both versions 1.8.3 and 1.8.4 lacked po translation files. These are included with version 1.8.5. * Noteworthy changes in release 1.8.4 (2007-03-19) [stable] ** Minor bug fix release for 1.8.3 to fix build issues on various platforms: - Use 'uname -m' to determine if we build on System Z or not. - Include in for format1_label_t definition. - Remove unused variables in libparted/arch/linux.c (-Werror). - Check return values on fgets() and asprint() in libparted/arch/linux.c (-Werror). - Check for tgetent() in libtinfo in the configure script. - Move some macro definitions in to fix a compile problem with gcc-4.1.2 as indicated here: http://lists.gnu.org/archive/html/bug-parted/2007-03/msg00008.html * Noteworthy changes in release 1.8.3 (2007-03-16) [stable] ** libparted: - Header file clean ups. - Sync the linux-swap header according to the Linux kernel sources. - Enable support for swsusp partitions and the ability to differentiate between old and new versions of linux-swap partitions. - Renaming PARTITION_EXT to PARTITION_DOS_EXT in the DOS disklabel code (consitency with Linux kernel source). - Added libparted.pc pkg-config file. - Remove unused functions, ifdefs, and other code. - Deprecate ped_[register|unregister]_disk_type in favor of ped_disk_type_[register|unregister]. - Small test program fixes (in label.c and common.c). - Make functions const-correct. - Handle systems where libreadline is not available. - Preserve starting sector for primary NTFS 3.1 partitions on DOS disklabel. - Handle 2048-byte logical sectors in linux_read(). - Use PED_SECTOR_SIZE_DEFAULT macro in place of 512. - Don't assume logical sector size is <= 512B on AIX. - Detect HFS write failure. - Use mkstemp() in place of mktemp(). - Added HFS+ resize support. - Don't build DASD support on non-zSeries hardware. ** parted/partprobe: - Use fputs() and putchar() in place for printf(), when possible. - Detect/report stdout write errors. - Accept the --version and --help options. - Fix memory leaks in parted(8). ** general: - Synchronize the manual page and --help documentation. - GNU autoconf and automake updates. - 'gcc -Wall -Wshadow' warning cleanups. - Don't define _GNU_SOURCE manually. - Documentation updates and cleanups (AUTHORS, copyright notices, etc). - Use gnulib (http://www.gnu.org/software/gnulib/). * Noteworthy changes in release 1.8.2 (2007-01-12) [stable] ** libparted: - Add the ped_device_cache_remove() function to remove a device from the cache. This is necessary for some things that use libparted, including pyparted. - Fix a segfault in ped_assert() where the wrong pointer is freed in the backtrace handler. - Only call _disk_warn_loss(disk) in do_mklabel() if disk is not NULL. Fixes a segfault when initializing new volumes. - Dynamically allocate space for exception messages. - Output a backtrace when catching SEGV_MAPPER or a general SIGSEGV. ** parted: - Destroy all objects before return when called with --list or --all option. - Zero sized device is shown as 0.00B and not -0.00kB. - Implement 'print devices' command. - Alias 'print list' to 'print all'. - Alias 'mktable' to 'mklabel'. ** misc: - Other bug fixes, documentation updates, and translation improvements. - Code and API clean-ups. * Noteworthy changes in release 1.8.1 (2006-12-04) [stable] ** libparted: - Rework backtrace support. - Code cleanups. - Added --enable-selinux configure option to enable linking libparted with libselinux and libsepol. - Disable ext2fs resize for now, tell user to use resize2fs. ** parted: - Fix loop in print_all(). - Introduce the -list command-line switch. - Make mktable aliased to mklabel. - Warn before mklabel and mkfs. - Code cleanups in _partition_warn_busy(), _disk_warn_busy(), _partition_warn_loss(), and _disk_warn_loss(). - Avoid warning about user permissions when using --version. - Fix 'print' command help. - Proper print when there are no extended partitions, but partition names. ** misc: - Generate SHA-1 digest of the archive files and upload those along with the actual archive files. - Update translation files. - Remove automatically generated files from version control. * Noteworthy changes in release 1.8.0 (2006-11-17) [stable] ** libparted: - GPT fixes: - Correctly handle disks with non-512 byte sector sizes - Support LUN resizing (see new space, allow parted to use it) - Prevent overlap of LastUsableLBA and PartitionEntryLBA in backup GPT - Prevent SIGFPE when FAT sector size is 0 - Add ped_exception_get_handler() - DASD support for IBM zSeries systems - AIX disk label support - Detect Promise SX8 storage devices - Macintosh (ppc and x86) disk label improvements: - Prevent LVM and RAID partition types from corrupting the table - Fix removal of driver partition - Add support binary units (MiB, KiB, GiB) - In ped_register_disk_type(), handle disk_types==NULL case - In ped_unregister_disk_type(), handle case where type is not registered - Fix geometry read problems on 64-bit Macs (and probably other 64-bit systems) - Add support for /dev/mapper devices via libdevmapper library - Detect Apple_Boot partition types correctly on MacOS X 10.4 systems ** parted: - Various bug fixes, signal handling fixes, and spelling error fixes - UI improvements to display more information about the disk and transport layer ======================================================================== Copyright (C) 2001-2010 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the ``GNU Free Documentation License'' file as part of this distribution. parted-2.3/.x-sc_prohibit_always-defined_macros0000644000000000000000000000004611377171067016631 00000000000000^parted/strlist\.h$ ^parted/table\.h$ parted-2.3/INSTALL0000644000000000000000000003634011370541031010556 00000000000000Installation Instructions ************************* Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without warranty of any kind. Basic Installation ================== Briefly, the shell commands `./configure; make; make install' should configure, build, and install this package. The following more-detailed instructions are generic; see the `README' file for instructions specific to this package. Some packages provide this `INSTALL' file but do not implement all of the features documented below. The lack of an optional feature in a given package is not necessarily a bug. More recommendations for GNU packages can be found in *note Makefile Conventions: (standards)Makefile Conventions. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a `Makefile' in each directory of the package. It may also create one or more `.h' files containing system-dependent definitions. Finally, it creates a shell script `config.status' that you can run in the future to recreate the current configuration, and a file `config.log' containing compiler output (useful mainly for debugging `configure'). It can also use an optional file (typically called `config.cache' and enabled with `--cache-file=config.cache' or simply `-C') that saves the results of its tests to speed up reconfiguring. Caching is disabled by default to prevent problems with accidental use of stale cache files. If you need to do unusual things to compile the package, please try to figure out how `configure' could check whether to do them, and mail diffs or instructions to the address given in the `README' so they can be considered for the next release. If you are using the cache, and at some point `config.cache' contains results you don't want to keep, you may remove or edit it. The file `configure.ac' (or `configure.in') is used to create `configure' by a program called `autoconf'. You need `configure.ac' if you want to change it or regenerate `configure' using a newer version of `autoconf'. The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type `./configure' to configure the package for your system. Running `configure' might take a while. While running, it prints some messages telling which features it is checking for. 2. Type `make' to compile the package. 3. Optionally, type `make check' to run any self-tests that come with the package, generally using the just-built uninstalled binaries. 4. Type `make install' to install the programs and any data files and documentation. When installing into a prefix owned by root, it is recommended that the package be configured and built as a regular user, and only the `make install' phase executed with root privileges. 5. Optionally, type `make installcheck' to repeat any self-tests, but this time using the binaries in their final installed location. This target does not install anything. Running this target as a regular user, particularly if the prior `make install' required root privileges, verifies that the installation completed correctly. 6. You can remove the program binaries and object files from the source code directory by typing `make clean'. To also remove the files that `configure' created (so you can compile the package for a different kind of computer), type `make distclean'. There is also a `make maintainer-clean' target, but that is intended mainly for the package's developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution. 7. Often, you can also type `make uninstall' to remove the installed files again. In practice, not all packages have tested that uninstallation works correctly, even though it is required by the GNU Coding Standards. 8. Some packages, particularly those that use Automake, provide `make distcheck', which can by used by developers to test that all other targets like `make install' and `make uninstall' work correctly. This target is generally not run by end users. Compilers and Options ===================== Some systems require unusual options for compilation or linking that the `configure' script does not know about. Run `./configure --help' for details on some of the pertinent environment variables. You can give `configure' initial values for configuration parameters by setting variables in the command line or in the environment. Here is an example: ./configure CC=c99 CFLAGS=-g LIBS=-lposix *Note Defining Variables::, for more details. Compiling For Multiple Architectures ==================================== You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, you can use GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the source code in the directory that `configure' is in and in `..'. This is known as a "VPATH" build. With a non-GNU `make', it is safer to compile the package for one architecture at a time in the source code directory. After you have installed the package for one architecture, use `make distclean' before reconfiguring for another architecture. On MacOS X 10.5 and later systems, you can create libraries and executables that work on multiple system types--known as "fat" or "universal" binaries--by specifying multiple `-arch' options to the compiler but only a single `-arch' option to the preprocessor. Like this: ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CPP="gcc -E" CXXCPP="g++ -E" This is not guaranteed to produce working output in all cases, you may have to build one architecture at a time and combine the results using the `lipo' tool if you have problems. Installation Names ================== By default, `make install' installs the package's commands under `/usr/local/bin', include files under `/usr/local/include', etc. You can specify an installation prefix other than `/usr/local' by giving `configure' the option `--prefix=PREFIX', where PREFIX must be an absolute file name. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you pass the option `--exec-prefix=PREFIX' to `configure', the package uses PREFIX as the prefix for installing programs and libraries. Documentation and other data files still use the regular prefix. In addition, if you use an unusual directory layout you can give options like `--bindir=DIR' to specify different values for particular kinds of files. Run `configure --help' for a list of the directories you can set and what kinds of files go in them. In general, the default for these options is expressed in terms of `${prefix}', so that specifying just `--prefix' will affect all of the other directory specifications that were not explicitly provided. The most portable way to affect installation locations is to pass the correct locations to `configure'; however, many packages provide one or both of the following shortcuts of passing variable assignments to the `make install' command line to change installation locations without having to reconfigure or recompile. The first method involves providing an override variable for each affected directory. For example, `make install prefix=/alternate/directory' will choose an alternate location for all directory configuration variables that were expressed in terms of `${prefix}'. Any directories that were specified during `configure', but not in terms of `${prefix}', must each be overridden at install time for the entire installation to be relocated. The approach of makefile variable overrides for each directory variable is required by the GNU Coding Standards, and ideally causes no recompilation. However, some platforms have known limitations with the semantics of shared libraries that end up requiring recompilation when using this method, particularly noticeable in packages that use GNU Libtool. The second method involves providing the `DESTDIR' variable. For example, `make install DESTDIR=/alternate/directory' will prepend `/alternate/directory' before all installation names. The approach of `DESTDIR' overrides is not required by the GNU Coding Standards, and does not work on platforms that have drive letters. On the other hand, it does better at avoiding recompilation issues, and works well even when some directory options were not specified in terms of `${prefix}' at `configure' time. Optional Features ================= If the package supports it, you can cause programs to be installed with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE is something like `gnu-as' or `x' (for the X Window System). The `README' should mention any `--enable-' and `--with-' options that the package recognizes. For packages that use the X Window System, `configure' can usually find the X include and library files automatically, but if it doesn't, you can use the `configure' options `--x-includes=DIR' and `--x-libraries=DIR' to specify their locations. Some packages offer the ability to configure how verbose the execution of `make' will be. For these packages, running `./configure --enable-silent-rules' sets the default to minimal output, which can be overridden with `make V=1'; while running `./configure --disable-silent-rules' sets the default to verbose, which can be overridden with `make V=0'. Particular systems ================== On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC is not installed, it is recommended to use the following options in order to use an ANSI C compiler: ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" and if that doesn't work, install pre-built binaries of GCC for HP-UX. On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot parse its `' header file. The option `-nodtk' can be used as a workaround. If GNU CC is not installed, it is therefore recommended to try ./configure CC="cc" and if that doesn't work, try ./configure CC="cc -nodtk" On Solaris, don't put `/usr/ucb' early in your `PATH'. This directory contains several dysfunctional programs; working variants of these programs are available in `/usr/bin'. So, if you need `/usr/ucb' in your `PATH', put it _after_ `/usr/bin'. On Haiku, software installed for all users goes in `/boot/common', not `/usr/local'. It is recommended to use the following options: ./configure --prefix=/boot/common Specifying the System Type ========================== There may be some features `configure' cannot figure out automatically, but needs to determine by the type of machine the package will run on. Usually, assuming the package is built to be run on the _same_ architectures, `configure' can figure that out, but if it prints a message saying it cannot guess the machine type, give it the `--build=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name which has the form: CPU-COMPANY-SYSTEM where SYSTEM can have one of these forms: OS KERNEL-OS See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't need to know the machine type. If you are _building_ compiler tools for cross-compiling, you should use the option `--target=TYPE' to select the type of system they will produce code for. If you want to _use_ a cross compiler, that generates code for a platform different from the build platform, you should specify the "host" platform (i.e., that on which the generated programs will eventually be run) with `--host=TYPE'. Sharing Defaults ================ If you want to set default values for `configure' scripts to share, you can create a site shell script called `config.site' that gives default values for variables like `CC', `cache_file', and `prefix'. `configure' looks for `PREFIX/share/config.site' if it exists, then `PREFIX/etc/config.site' if it exists. Or, you can set the `CONFIG_SITE' environment variable to the location of the site script. A warning: not all `configure' scripts look for a site script. Defining Variables ================== Variables not defined in a site shell script can be set in the environment passed to `configure'. However, some packages may run configure again during the build, and the customized values of these variables may be lost. In order to avoid this problem, you should set them in the `configure' command line, using `VAR=value'. For example: ./configure CC=/usr/local2/bin/gcc causes the specified `gcc' to be used as the C compiler (unless it is overridden in the site shell script). Unfortunately, this technique does not work for `CONFIG_SHELL' due to an Autoconf bug. Until the bug is fixed you can use this workaround: CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash `configure' Invocation ====================== `configure' recognizes the following options to control how it operates. `--help' `-h' Print a summary of all of the options to `configure', and exit. `--help=short' `--help=recursive' Print a summary of the options unique to this package's `configure', and exit. The `short' variant lists options used only in the top level, while the `recursive' variant lists options also present in any nested packages. `--version' `-V' Print the version of Autoconf used to generate the `configure' script, and exit. `--cache-file=FILE' Enable the cache: use and save the results of the tests in FILE, traditionally `config.cache'. FILE defaults to `/dev/null' to disable caching. `--config-cache' `-C' Alias for `--cache-file=config.cache'. `--quiet' `--silent' `-q' Do not print messages saying which checks are being made. To suppress all normal output, redirect it to `/dev/null' (any error messages will still be shown). `--srcdir=DIR' Look for the package's source code in directory DIR. Usually `configure' can determine that directory automatically. `--prefix=DIR' Use DIR as the installation prefix. *note Installation Names:: for more details, including other options available for fine-tuning the installation locations. `--no-create' `-n' Run the configure checks, but stop before creating any output files. `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. parted-2.3/parted.spec0000644000000000000000000000543011311026747011663 00000000000000# Default to disabling device-mapper and SELinux %define use_devmapper 0 %define use_selinux 0 %define use_sepol 0 # Enable device-mapper support if we find devmapper %define use_devmapper %(pkg-config --libs devmapper >/dev/null 2>&1; [ $? -eq 0 ] && echo 1) # Enable SELinux if we find libselinux and libsepol %define use_selinux %([ -r %{_libdir}/libselinux.a ] && echo 1) %define use_sepol %([ -r %{_libdir}/libsepol.so ] && echo 1) Summary: The GNU disk partition manipulation program Name: parted Version: 2.0.139-c60f Release: 1 Source: ftp://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.bz2 Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) License: GPL Group: Applications/System BuildRequires: e2fsprogs-devel readline-devel ncurses-devel gperf BuildRequires: automake libtool gettext-devel texinfo pkgconfig BuildRequires: device-mapper-devel, libselinux-devel libsepol-devel Prereq: /sbin/install-info %description The GNU Parted program allows you to create, destroy, resize, move, and copy hard disk partitions. Parted can be used for creating space for new operating systems, reorganizing disk usage, and copying data to new hard disks. %package devel Summary: Files for developing apps which will manipulate disk partitions Group: Development/Libraries Requires: %{name}-%{version}-%{release} %description devel The GNU Parted library is a set of routines for hard disk partition manipulation. If you want to develop programs that manipulate disk partitions and filesystems using the routines provided by the GNU Parted library, you need to install this package. %prep %setup -q %build %configure \ --enable-shared \ %if "%{use_devmapper}" == "1" --enable-device-mapper \ %else --disable-devmapper \ %endif %if "%{use_selinux}" == "1" && "%{use_sepol}" == "1" --enable-selinux \ %else --disable-selinux \ %endif --enable-part-static \ --enable-pc98=no \ --enable-Werror=no \ --disable-dynamic-loading %{__make} %{?_smp_mflags} %install %{__rm} -rf %{buildroot} %{__make} install DESTDIR=%{buildroot} %clean %{__rm} -rf %{buildroot} %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %defattr(-,root,root,-) %doc AUTHORS BUGS COPYING ChangeLog NEWS README THANKS TODO doc/API doc/FAT %{_sbindir}/parted %{_sbindir}/partprobe %{_mandir}/man8/parted.8.gz %{_mandir}/man8/partprobe.8.gz %{_libdir}/libparted-*.so.* %{_libdir}/libparted-*.so.* %{_infodir}/parted.info.gz %files devel %defattr(-,root,root,-) %{_includedir}/parted %{_libdir}/libparted.a %{_libdir}/libparted.so %{_libdir}/pkgconfig/libparted.pc %changelog * Tue Mar 13 2007 David Cantrell - Updated spec file * Mon Mar 13 2000 Fabian Emmes - changed "unset LINGUAS" line - reintroduced %build section ;) - started changelog parted-2.3/tests/0000755000000000000000000000000011400006133010732 500000000000000parted-2.3/tests/t9020-alignment.sh0000744000000000000000000000276111333731662013770 00000000000000#!/bin/sh # verify that new alignment-querying functions work # Copyright (C) 2009-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . if test "$VERBOSE" = yes; then set -x parted --version fi : ${srcdir=.} . $srcdir/t-lib.sh require_root_ require_scsi_debug_module_ # check for scsi_debug module modprobe -n scsi_debug || skip_test_ "you lack the scsi_debug kernel module" grep '^#define USE_BLKID 1' "$CONFIG_HEADER" > /dev/null || skip_test_ 'this system lacks a new-enough libblkid' cat < exp || framework_failure minimum: 7 8 optimal: 7 64 partition alignment: 0 1 EOF # create memory-backed device scsi_debug_setup_ physblk_exp=3 lowest_aligned=7 num_parts=4 > dev-name || skip_test_ 'failed to create scsi_debug device' scsi_dev=$(cat dev-name) fail=0 # print alignment info "$abs_srcdir/print-align" $scsi_dev > out 2>&1 || fail=1 compare out exp || fail=1 Exit $fail parted-2.3/tests/t4100-msdos-partition-limits.sh0000744000000000000000000001142311370314006016420 00000000000000#!/bin/sh # Copyright (C) 2008-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . test_description='enforce limits on partition start sector and length' # Need root privileges to use mount. privileges_required_=1 : ${srcdir=.} . $srcdir/test-lib.sh require_xfs_ ss=$sector_size_ # On a 32-bit system, we must skip this test when $ss >= 4096. # Otherwise, due to an inherent 32-bit-XFS limit, dd would fail to # create the file of size > 16TiB if test $(uname -m) != x86_64; then test $ss -le 2048 || exit 77 fi #################################################### # Create and mount a file system capable of dealing with >=2TB files. # We must be able to create a file with an apparent length of 2TB or larger. # It needn't be a large file system. fs=fs_file mp=`pwd`/mount-point n=4096 test_expect_success \ 'create an XFS file system' \ ' dd if=/dev/zero of=$fs bs=1MB count=2 seek=20 && mkfs.xfs -f -q $fs && mkdir "$mp" ' # Unmount upon interrupt, failure, etc., as well as upon normal completion. cleanup_() { cd "$test_dir_" && umount "$mp" > /dev/null 2>&1; } test_expect_success \ 'mount it' \ ' mount -o loop $fs "$mp" && cd "$mp" ' dev=loop-file do_mkpart() { start_sector=$1 end_sector=$2 # echo '********' $(echo $end_sector - $start_sector + 1 |bc) dd if=/dev/zero of=$dev bs=$ss count=2k seek=$end_sector 2> dd-err || { cat dd-err 1>&2; return 1; } parted -s $dev mklabel $table_type && parted -s $dev mkpart p xfs ${start_sector}s ${end_sector}s } # Specify the starting sector number and length in sectors, # rather than start and end. do_mkpart_start_and_len() { start_sector=$1 len=$2 end_sector=$(echo $start_sector + $len - 1|bc) do_mkpart $start_sector $end_sector } for table_type in msdos; do test_expect_success \ "$table_type: a partition length of 2^32-1 works." \ ' end=$(echo $n+2^32-2|bc) && do_mkpart $n $end ' test_expect_success \ 'print the result' \ 'parted -s $dev unit s p > out 2>&1 && sed -n "/^ *1 *$n/s/ */ /gp" out|sed "s/ *\$//" > k && mv k out && echo " 1 ${n}s ${end}s 4294967295s primary" > exp && diff -u out exp ' test_expect_failure \ "$table_type: a partition length of exactly 2^32 sectors provokes failure." \ 'do_mkpart $n $(echo $n+2^32-1|bc) > err 2>&1' bad_part_length() { echo "Error: partition length of $1 sectors exceeds the"\ "$table_type-partition-table-imposed maximum of 4294967295"; } test_expect_success \ 'check for new diagnostic' \ 'bad_part_length 4294967296 > exp && diff -u err exp' test_expect_failure \ "$table_type: a partition length of 2^32+1 sectors provokes failure." \ 'do_mkpart $n $(echo $n+2^32|bc) > err 2>&1' test_expect_success \ 'check for new diagnostic' \ 'bad_part_length 4294967297 > exp && diff -u err exp' # ========================================================= # Now consider partition starting sector numbers. bad_start_sector() { echo "Error: starting sector number, $1 exceeds the"\ "$table_type-partition-table-imposed maximum of 4294967295"; } test_expect_success \ "$table_type: a partition start sector number of 2^32-1 works." \ 'do_mkpart_start_and_len $(echo 2^32-1|bc) 1000' cat > exp < out 2>&1 && sed "s/Disk .*:/Disk:/;s/ *$//" out > k && mv k out && diff -u out exp ' test_expect_failure \ "$table_type: a partition start sector number of 2^32 must fail." \ 'do_mkpart_start_and_len $(echo 2^32|bc) 1000 > err 2>&1' test_expect_success \ 'check for new diagnostic' \ 'bad_start_sector 4294967296 > exp && diff -u err exp' test_expect_failure \ "$table_type: a partition start sector number of 2^32+1 must fail, too." \ 'do_mkpart_start_and_len $(echo 2^32+1|bc) 1000 > err 2>&1' test_expect_success \ 'check for new diagnostic' \ 'bad_start_sector 4294967297 > exp && diff -u err exp' done test_done parted-2.3/tests/t1100-busy-label.sh0000744000000000000000000000574311333731662014043 00000000000000#!/bin/sh # Copyright (C) 2007-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . test_description='partitioning (parted -s DEV mklabel) a busy disk must fail.' privileges_required_=1 erasable_device_required_=1 : ${srcdir=.} . $srcdir/test-lib.sh require_512_byte_sector_size_ dev=$DEVICE_TO_ERASE test_expect_success \ "setup: create a fat32 file system on $dev" \ 'dd if=/dev/zero "of=$dev" bs=1k count=1 2> /dev/null && parted -s "$dev" mklabel msdos > out 2>&1 && parted -s "$dev" mkpartfs primary fat32 1 40 >> out 2>&1' test_expect_success 'expect no output' 'compare out /dev/null' mount_point="`pwd`/mnt" # Be sure to unmount upon interrupt, failure, etc. cleanup_() { umount "${dev}1" > /dev/null 2>&1; } # There's a race condition here: on udev-based systems, the partition#1 # device, ${dev}1 (i.e., /dev/sdd1) is not created immediately, and # without some delay, this mount command would fail. Using a flash card # as $dev, the loop below typically iterates 7-20 times. test_expect_success \ 'create mount point dir. and mount the just-created partition on it' \ 'mkdir $mount_point && i=0; while :; do test -e "${dev}1" && break; test $i = 90 && break; i=$(expr $i + 1); done; mount "${dev}1" $mount_point' test_expect_failure \ 'now that a partition is mounted, mklabel attempt must fail' \ 'parted -s "$dev" mklabel msdos > out 2>&1' test_expect_success \ 'create expected output file' \ 'echo "Error: Partition(s) on $dev are being used." > exp' test_expect_success \ 'check for expected failure diagnostic' \ 'compare out exp' # ================================================== # Now, test it in interactive mode. test_expect_success 'create input file' 'echo c > in' test_expect_failure \ 'as above, this mklabel attempt must fail' \ 'parted ---pretend-input-tty "$dev" mklabel msdos < in > out 2>&1' fail=0 cat < exp || fail=1 Warning: Partition(s) on $dev are being used. Ignore/Cancel? c EOF test_expect_success 'create expected output file' 'test $fail = 0' # Transform the actual output, removing ^M ...^M. test_expect_success \ 'normalize the actual output' \ 'mv out o2 && sed -e "s, * ,,;s, $,," \ -e "s,^.*/lt-parted: ,parted: ," o2 > out' test_expect_success \ 'check for expected failure diagnostic' \ 'compare out exp' test_done parted-2.3/tests/t-lib.sh0000644000000000000000000002651711343166353012251 00000000000000# source this file; set up for tests # Copyright (C) 2009-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Skip this test if the shell lacks support for functions. unset function_test eval 'function_test() { return 11; }; function_test' if test $? != 11; then echo "$0: /bin/sh lacks support for functions; skipping this test." 1>&2 Exit 77 fi skip_test_() { echo "$0: skipping test: $@" | head -1 1>&9 echo "$0: skipping test: $@" 1>&2 Exit 77 } fail_() { echo "$0: failed test: $@" | head -1 1>&9 echo "$0: failed test: $@" 1>&2 Exit 1 } getlimits_() { eval $(getlimits) test "$INT_MAX" || error_ "Error running getlimits" } require_acl_() { getfacl --version < /dev/null > /dev/null 2>&1 \ && setfacl --version < /dev/null > /dev/null 2>&1 \ || skip_test_ "This test requires getfacl and setfacl." id -u bin > /dev/null 2>&1 \ || skip_test_ "This test requires a local user named bin." } require_hfs_() { mkfs.hfs 2>&1 | grep '^usage:' \ || skip_test_ "This test requires HFS support." } # Skip this test if we're not in SELinux "enforcing" mode. require_selinux_enforcing_() { test "$(getenforce)" = Enforcing \ || skip_test_ "This test is useful only with SELinux in Enforcing mode." } require_openat_support_() { # Skip this test if your system has neither the openat-style functions # nor /proc/self/fd support with which to emulate them. test -z "$CONFIG_HEADER" \ && skip_test_ 'internal error: CONFIG_HEADER not defined' _skip=yes grep '^#define HAVE_OPENAT' "$CONFIG_HEADER" > /dev/null && _skip=no test -d /proc/self/fd && _skip=no if test $_skip = yes; then skip_test_ 'this system lacks openat support' fi } require_ulimit_() { ulimit_works=yes # Expect to be able to exec a program in 10MB of virtual memory, # but not in 20KB. I chose "date". It must not be a shell built-in # function, so you can't use echo, printf, true, etc. # Of course, in coreutils, I could use $top_builddir/src/true, # but this should be able to work for other projects, too. ( ulimit -v 10000; date ) > /dev/null 2>&1 || ulimit_works=no ( ulimit -v 20; date ) > /dev/null 2>&1 && ulimit_works=no test $ulimit_works = no \ && skip_test_ "this shell lacks ulimit support" } require_readable_root_() { test -r / || skip_test_ "/ is not readable" } # Skip the current test if strace is not available or doesn't work # with the named syscall. Usage: require_strace_ unlink require_strace_() { test $# = 1 || framework_failure strace -V < /dev/null > /dev/null 2>&1 || skip_test_ 'no strace program' strace -qe "$1" echo > /dev/null 2>&1 || skip_test_ 'strace -qe "'"$1"'" does not work' } # Require a controlling input `terminal'. require_controlling_input_terminal_() { tty -s || have_input_tty=no test -t 0 || have_input_tty=no if test "$have_input_tty" = no; then skip_test_ 'requires controlling input terminal This test must have a controlling input "terminal", so it may not be run via "batch", "at", or "ssh". On some systems, it may not even be run in the background.' fi } require_built_() { skip_=no for i in "$@"; do case " $built_programs " in *" $i "*) ;; *) echo "$i: not built" 1>&2; skip_=yes ;; esac done test $skip_ = yes && skip_test_ "required program(s) not built" } uid_is_privileged_() { # Make sure id -u succeeds. my_uid=$(id -u) \ || { echo "$0: cannot run \`id -u'" 1>&2; return 1; } # Make sure it gives valid output. case $my_uid in 0) ;; *[!0-9]*) echo "$0: invalid output (\`$my_uid') from \`id -u'" 1>&2 return 1 ;; *) return 1 ;; esac } get_process_status_() { sed -n '/^State:[ ]*\([[:alpha:]]\).*/s//\1/p' /proc/$1/status } # Convert an ls-style permission string, like drwxr----x and -rw-r-x-wx # to the equivalent chmod --mode (-m) argument, (=,u=rwx,g=r,o=x and # =,u=rw,g=rx,o=wx). Ignore ACLs. rwx_to_mode_() { case $# in 1) rwx=$1;; *) echo "$0: wrong number of arguments" 1>&2 echo "Usage: $0 ls-style-mode-string" 1>&2 return;; esac case $rwx in [ld-][rwx-][rwx-][rwxsS-][rwx-][rwx-][rwxsS-][rwx-][rwx-][rwxtT-]) ;; [ld-][rwx-][rwx-][rwxsS-][rwx-][rwx-][rwxsS-][rwx-][rwx-][rwxtT-][+.]) ;; *) echo "$0: invalid mode string: $rwx" 1>&2; return;; esac # Perform these conversions: # S s # s xs # T t # t xt # The `T' and `t' ones are only valid for `other'. s='s/S/@/;s/s/x@/;s/@/s/' t='s/T/@/;s/t/x@/;s/@/t/' u=`echo $rwx|sed 's/^.\(...\).*/,u=\1/;s/-//g;s/^,u=$//;'$s` g=`echo $rwx|sed 's/^....\(...\).*/,g=\1/;s/-//g;s/^,g=$//;'$s` o=`echo $rwx|sed 's/^.......\(...\).*/,o=\1/;s/-//g;s/^,o=$//;'$s';'$t` echo "=$u$g$o" } skip_if_() { case $1 in root) skip_test_ must be run as root ;; non-root) skip_test_ must be run as non-root ;; *) ;; # FIXME? esac } require_selinux_() { case `ls -Zd .` in '? .'|'unlabeled .') skip_test_ "this system (or maybe just" \ "the current file system) lacks SELinux support" ;; esac } very_expensive_() { if test "$RUN_VERY_EXPENSIVE_TESTS" != yes; then skip_test_ 'very expensive: disabled by default This test is very expensive, so it is disabled by default. To run it anyway, rerun make check with the RUN_VERY_EXPENSIVE_TESTS environment variable set to yes. E.g., env RUN_VERY_EXPENSIVE_TESTS=yes make check ' fi } expensive_() { if test "$RUN_EXPENSIVE_TESTS" != yes; then skip_test_ 'expensive: disabled by default This test is relatively expensive, so it is disabled by default. To run it anyway, rerun make check with the RUN_EXPENSIVE_TESTS environment variable set to yes. E.g., env RUN_EXPENSIVE_TESTS=yes make check ' fi } require_root_() { uid_is_privileged_ || skip_test_ "must be run as root" NON_ROOT_USERNAME=${NON_ROOT_USERNAME=nobody} NON_ROOT_GROUP=${NON_ROOT_GROUP=$(id -g $NON_ROOT_USERNAME)} } skip_if_root_() { uid_is_privileged_ && skip_test_ "must be run as non-root"; } error_() { echo "$0: $@" 1>&2; Exit 1; } framework_failure() { error_ 'failure in testing framework'; } # Set `groups' to a space-separated list of at least two groups # of which the user is a member. require_membership_in_two_groups_() { test $# = 0 || framework_failure groups=${COREUTILS_GROUPS-`(id -G || /usr/xpg4/bin/id -G) 2>/dev/null`} case "$groups" in *' '*) ;; *) skip_test_ 'requires membership in two groups this test requires that you be a member of more than one group, but running `id -G'\'' either failed or found just one. If you really are a member of at least two groups, then rerun this test with COREUTILS_GROUPS set in your environment to the space-separated list of group names or numbers. E.g., env COREUTILS_GROUPS='users cdrom' make check ' ;; esac } # Is /proc/$PID/status supported? require_proc_pid_status_() { sleep 2 & local pid=$! sleep .5 grep '^State:[ ]*[S]' /proc/$pid/status > /dev/null 2>&1 || skip_test_ "/proc/$pid/status: missing or 'different'" kill $pid } # Does the current (working-dir) file system support sparse files? require_sparse_support_() { test $# = 0 || framework_failure # Test whether we can create a sparse file. # For example, on Darwin6.5 with a file system of type hfs, it's not possible. # NTFS requires 128K before a hole appears in a sparse file. t=sparse.$$ dd bs=1 seek=128K of=$t < /dev/null 2> /dev/null set x `du -sk $t` kb_size=$2 rm -f $t if test $kb_size -ge 128; then skip_test_ 'this file system does not support sparse files' fi } mkfifo_or_skip_() { test $# = 1 || framework_failure if ! mkfifo "$1"; then # Make an exception of this case -- usually we interpret framework-creation # failure as a test failure. However, in this case, when running on a SunOS # system using a disk NFS mounted from OpenBSD, the above fails like this: # mkfifo: cannot make fifo `fifo-10558': Not owner skip_test_ 'NOTICE: unable to create test prerequisites' fi } # Disable the current test if the working directory seems to have # the setgid bit set. skip_if_setgid_() { setgid_tmpdir=setgid-$$ (umask 77; mkdir $setgid_tmpdir) perms=$(stat --printf %A $setgid_tmpdir) rmdir $setgid_tmpdir case $perms in drwx------);; drwxr-xr-x);; # Windows98 + DJGPP 2.03 *) skip_test_ 'this directory has the setgid bit set';; esac } skip_if_mcstransd_is_running_() { test $# = 0 || framework_failure # When mcstransd is running, you'll see only the 3-component # version of file-system context strings. Detect that, # and if it's running, skip this test. __ctx=$(stat --printf='%C\n' .) || framework_failure case $__ctx in *:*:*:*) ;; # four components is ok *) # anything else probably means mcstransd is running skip_test_ "unexpected context '$__ctx'; turn off mcstransd" ;; esac } # Skip the current test if umask doesn't work as usual. # This test should be run in the temporary directory that ends # up being removed via the trap commands. working_umask_or_skip_() { umask 022 touch file1 file2 chmod 644 file2 perms=`ls -l file1 file2 | sed 's/ .*//' | uniq` rm -f file1 file2 case $perms in *' '*) skip_test_ 'your build directory has unusual umask semantics' esac } # We use a trap below for cleanup. This requires us to go through # hoops to get the right exit status transported through the signal. # So use `Exit STATUS' instead of `exit STATUS' inside of the tests. # Turn off errexit here so that we don't trip the bug with OSF1/Tru64 # sh inside this function. Exit () { set +e (exit $1) exit $1 } test_dir_=$(pwd) this_test_() { echo "./$0" | sed 's,.*/,,'; } this_test=$(this_test_) # This is a stub function that is run upon trap (upon regular exit and # interrupt). Override it with a per-test function, e.g., to unmount # a partition, or to undo any other global state changes. cleanup_() { :; } t_=$(mktemp -d --tmp="$test_dir_" pe-$this_test.XXXXXXXXXX)\ || error_ "failed to create temporary directory in $test_dir_" # Eval the following upon cleanup. # This is useful if you have more than than one cleanup function, # and for encapsulated cleanup functions; append any addition. cleanup_eval_=':' remove_tmp_() { __st=$? cleanup_ test -n "$cleanup_eval_" && eval "$cleanup_eval_" cd "$test_dir_" && chmod -R u+rwx "$t_" && rm -rf "$t_" && exit $__st } . $srcdir/t-local.sh # Run each test from within a temporary sub-directory named after the # test itself, and arrange to remove it upon exception or normal exit. trap remove_tmp_ 0 trap 'Exit $?' 1 2 13 15 cd "$t_" || error_ "failed to cd to $t_" if ( diff --version < /dev/null 2>&1 | grep GNU ) 2>&1 > /dev/null; then compare() { diff -u "$@"; } elif ( cmp --version < /dev/null 2>&1 | grep GNU ) 2>&1 > /dev/null; then compare() { cmp -s "$@"; } else compare() { cmp "$@"; } fi parted-2.3/tests/t0000-basic.sh0000744000000000000000000000610311333731662013052 00000000000000#!/bin/sh # Ensure that a simple command using -s succeeds with no prompt # Copyright (C) 2007, 2009-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . ../parted/parted --version > /dev/null 2>&1 if test $? != 0; then echo >&2 'You have not built parted yet.' exit 1 fi test_description='Test the very basics part #1.' : ${srcdir=.} . $srcdir/test-lib.sh # FIXME: is id -u portable enough? uid=`id -u` || uid=1 # create a file of size N bytes N=1M dev=loop-file test_expect_success \ 'create the test file' \ 'dd if=/dev/null of=$dev bs=1 seek=$N 2> /dev/null' test_expect_success \ 'run parted -s FILE mklabel msdos' \ 'parted -s $dev mklabel msdos > out 2>&1' test_expect_success 'expect no output' 'compare out /dev/null' # ---------------------------------------------- # Now, ensure that a simple mklabel command succeeds. # Since there's no -s option, there are prompts -- sometimes. test_expect_success \ 'erase the left-over label' \ 'dd if=/dev/zero of=$dev bs=4K count=1 conv=notrunc 2> /dev/null' # First iteration works with no prompting, since there is no preexisting label. test_expect_success \ 'run parted mklabel (without -s) on a blank disk' \ 'parted $dev mklabel msdos > out 2>&1' test_expect_success \ 'create expected output file' \ 'emit_superuser_warning > exp' test_expect_success \ 'check its "interactive" output' \ 'compare out exp 1>&2' test_expect_success 'create interactive input' 'printf "y\n" > in' # Now that there's a label, rerunning the same command is interactive. test_expect_success \ 'rerun that same command, but now with a preexisting label' \ 'parted ---pretend-input-tty $dev mklabel msdos < in > out 2>&1' # Transform the actual output, to avoid spurious differences when # $PWD contains a symlink-to-dir. Also, remove the ^M ...^M bogosity. test_expect_success \ 'normalize the actual output' \ 'mv out o2 && sed -e "s,on /.*/$dev,on DEVICE,;s, * ,,;s, $,," \ -e "s,^.*/lt-parted: ,parted: ," o2 > out' # Create expected output file. fail=0 { emit_superuser_warning > exp; } || fail=1 cat <> exp || fail=1 Warning: The existing disk label on DEVICE will be destroyed and all\ data on this disk will be lost. Do you want to continue? Yes/No? y EOF test_expect_success \ 'create expected output file' \ 'test $fail = 0' test_expect_success \ 'check its output -- slightly different here, due to prompts' \ 'compare out exp' test_done parted-2.3/tests/t0202-gpt-pmbr.sh0000744000000000000000000000330211341753546013527 00000000000000#!/bin/sh # Preserve first 446B of the Protected MBR for gpt partitions. # Copyright (C) 2009-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . if test "$VERBOSE" = yes; then set -x parted --version fi : ${srcdir=.} . $srcdir/t-lib.sh dev=loop-file bootcode_size=446 fail=0 dd if=/dev/null of=$dev bs=1 seek=1M || framework_failure # create a GPT partition table parted -s $dev mklabel gpt > out 2>&1 || fail=1 # expect no output compare out /dev/null || fail=1 # Fill the first $bootcode_size bytes with 0's. # This affects only the protective MBR, so doesn't affect validity of gpt table. printf %0${bootcode_size}d 0 > in || fail=1 dd of=$dev bs=1 seek=0 count=$bootcode_size conv=notrunc < in || fail=1 parted -s $dev p || fail=1 # create a GPT partition table on top of the existing one. parted -s $dev mklabel gpt > out 2>&1 || fail=1 # expect no output compare out /dev/null || fail=1 # Extract the first $bootcode_size Bytes after GPT creation dd if=$dev of=after bs=1c count=$bootcode_size > /dev/null 2>&1 || fail=1 # Compare the before and after compare in after || fail=1 Exit $fail parted-2.3/tests/t3000-resize-fs.sh0000744000000000000000000000756311370314006013704 00000000000000#!/bin/sh # exercise the resize sub-command; FAT and HFS only # Copyright (C) 2009-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . if test "$VERBOSE" = yes; then set -x parted --version fi : ${srcdir=.} . $srcdir/t-lib.sh require_hfs_ require_root_ require_scsi_debug_module_ require_512_byte_sector_size_ cat < exp-warning || framework_failure WARNING: you are attempting to use parted to operate on (resize) a file system. parted's file system manipulation code is not as robust as what you'll find in dedicated, file-system-specific packages like e2fsprogs. We recommend you use parted only to manipulate partition tables, whenever possible. Support for performing most operations on most types of file systems will be removed in an upcoming release. EOF ss=$sector_size_ start=63s default_end=546147s new_end=530144s # create memory-backed device scsi_debug_setup_ dev_size_mb=550 > dev-name || skip_test_ 'failed to create scsi_debug device' dev=$(cat dev-name) fail=0 parted -s $dev mklabel gpt > out 2>&1 || fail=1 # expect no output compare out /dev/null || fail=1 # ensure that the disk is large enough dev_n_sectors=$(parted -s $dev u s p|sed -n '2s/.* \([0-9]*\)s$/\1/p') device_sectors_required=$(echo $default_end | sed 's/s$//') # Ensure that $dev is large enough for this test test $device_sectors_required -le $dev_n_sectors || fail=1 for fs_type in hfs+ fat32; do # create an empty $fs_type partition, cylinder aligned, size > 256 MB parted -s $dev mkpart primary $fs_type $start $default_end > out 2>&1 || fail=1 echo "Warning: The resulting partition is not properly aligned for best performance." > exp compare out exp || fail=1 # print partition table parted -m -s $dev u s p > out 2>&1 || fail=1 # FIXME: check expected output # There's a race condition here: on udev-based systems, the partition#1 # device, ${dev}1 (i.e., /dev/sde1) is not created immediately, and # without some delay, this mount command would fail. Using a flash card # as $dev, the loop below typically iterates 7-20 times. # wait for new partition device to appear i=0 while :; do test -e "${dev}1" && break; test $i = 90 && break; i=$(expr $i + 1) sleep .01 2>/dev/null || sleep 1 done test $i = 90 && fail=1 case $fs_type in fat32) mkfs_cmd='mkfs.vfat -F 32';; hfs*) mkfs_cmd='mkfs.hfs';; *) error "internal error: unhandled fs type: $fs_type";; esac # create the file system $mkfs_cmd ${dev}1 || fail=1 # NOTE: shrinking is the only type of resizing that works. # resize that file system to be one cylinder (8MiB) smaller parted -s $dev resize 1 $start $new_end > out 2> err || fail=1 # expect no output compare out /dev/null || fail=1 compare err exp-warning || fail=1 # print partition table parted -m -s $dev u s p > out 2>&1 || fail=1 # compare against expected output sed -n 3p out > k && mv k out || fail=1 printf "1:$start:$new_end:530082s:$fs_type:primary:$ms;\n" > exp || fail=1 compare out exp || fail=1 # Remove the partition explicitly, so that mklabel doesn't evoke a warning. parted -s $dev rm 1 || fail=1 # Create a clean partition table for the next iteration. parted -s $dev mklabel gpt > out 2>&1 || fail=1 # expect no output compare out /dev/null || fail=1 done Exit $fail parted-2.3/tests/t3310-flags.sh0000644000000000000000000000407211370314006013064 00000000000000#!/bin/sh # Exercise the exclusive, single-bit flags. # Copyright (C) 2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . if test "$VERBOSE" = yes; then set -x parted --version fi : ${srcdir=.} : ${abs_top_srcdir=$(cd .. && pwd)} . $srcdir/t-lib.sh ss=$sector_size_ fail=0 dev=dev-file # Extract all msdos flag names from the texinfo documentation. msdos_flags=$(sed -n '/^@node set/,/^@node/p' "$abs_top_srcdir/doc/parted.texi" \ | perl -00 -ne '/^\@item (\w+).*MS-DOS/s and print lc($1), "\n"') n_sectors=5000 dd if=/dev/null of=$dev bs=$ss seek=$n_sectors || fail=1 parted -s $dev mklabel msdos \ mkpart pri ext2 $((1*2048))s $((2*2048-1))s \ > out 2> err || fail=1 compare out /dev/null || fail=1 for mode in on_only on_and_off ; do for flag in $msdos_flags; do # Exclude the supplemental flags. # These are not boolean, like the others. case $flag in boot|lba|hidden) continue;; esac echo $flag > exp || fail=1 # Turn on each flag, one at a time. parted -m -s $dev set 1 $flag on u s print > raw 2> err || fail=1 perl -nle '/^1:2048s:4095s:2048s:::(\w+);$/ and print $1' raw > out compare out exp || fail=1 compare err /dev/null || fail=1 if test $mode = on_and_off; then # Turn it off : > exp parted -m -s $dev set 1 $flag off u s print > raw 2> err || fail=1 perl -nle '/^1:2048s:4095s:2048s:::.*;$/ and print $1' raw > out compare err /dev/null || fail=1 fi done done Exit $fail parted-2.3/tests/t2300-dos-label-extended-bootcode.sh0000744000000000000000000000370011342670013017222 00000000000000#!/bin/sh # Ensure parted preserves bootcode in extended partition. # Copyright (C) 2009-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . if test "$VERBOSE" = yes; then set -x parted --version fi : ${srcdir=.} . $srcdir/t-lib.sh require_512_byte_sector_size_ dev=loop-file bootcode_size=446 fail=0 # Create the test file dd if=/dev/zero of=$dev bs=1M count=4 || fail=1 # Create msdos label parted -s $dev mklabel msdos > out 2>&1 || fail=1 compare out /dev/null || fail=1 # Expect no output # Create extended partition parted -s $dev mkpart extended 2048s 8191s > out 2>&1 || fail=1 compare out /dev/null || fail=1 # Expect no output # Create logical partition parted -s $dev mkpart logical 4096s 8191s > out 2>&1 || fail=1 compare out /dev/null || fail=1 # Expect no output # Install fake bootcode printf %0${bootcode_size}d 0 > in || fail=1 dd if=in of=$dev bs=1c seek=1M count=$bootcode_size \ conv=notrunc > /dev/null 2>&1 || fail=1 # Save fake bootcode for later comparison dd if=$dev of=before bs=1 skip=1M count=$bootcode_size || fail=1 # Do something to the label parted -s $dev rm 5 > out 2>&1 || fail=1 compare out /dev/null || fail=1 # Expect no output # Extract the bootcode for comparison dd if=$dev of=after bs=1 skip=1M count=$bootcode_size || fail=1 # Expect bootcode has not changed compare before after || fail=1 Exit $fail parted-2.3/tests/t4200-partprobe.sh0000744000000000000000000000355411333731662014004 00000000000000#!/bin/sh # Copyright (C) 2008-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . test_description='partprobe must not examine more than 16 partitions' privileges_required_=1 erasable_device_required_=1 dvhtool_required_=1 : ${srcdir=.} . $srcdir/test-lib.sh dev=$DEVICE_TO_ERASE test_expect_success \ "setup: create a DVH partition table on $dev" \ ' dd if=/dev/zero of=$dev bs=512 count=1 seek=10000 && parted -s $dev mklabel dvh ' test_expect_success \ "setup: use dvhtool to create a 17th (invalid?) partition" \ ' dd if=/dev/zero of=d bs=1 count=4k && dvhtool -d $dev --unix-to-vh d data ' # Here's sample output from the parted...print command below: # BYT; # /dev/sdd:128880s:scsi:512:512:dvh: Flash Disk; # 9:0s:4095s:4096s:::; # 17:4s:11s:8s::data:; test_expect_success \ "ensure that dvhtool did what we want" \ ' parted -m -s $dev unit s print > out 2>&1 && grep "^17:.*::data:;\$" out ' # Parted 1.8.9 and earlier would mistakenly try to access partition #17. test_expect_success \ "ensure that partprobe succeeds and produces no output" \ ' partprobe -s $dev > out 2>err && compare err /dev/null && echo "$dev: dvh partitions 9 <17>" > exp && compare out exp ' test_done parted-2.3/tests/t0300-dos-on-gpt.sh0000744000000000000000000000250311333731662013763 00000000000000#!/bin/sh # avoid segfault creating a dos PT on top of a gpt one # Copyright (C) 2009-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . if test "$VERBOSE" = yes; then set -x parted --version fi : ${srcdir=.} . $srcdir/t-lib.sh PARTED_SECTOR_SIZE=4096 export PARTED_SECTOR_SIZE fail=0 dev=loop-file # create a backing file large enough for a GPT partition table dd if=/dev/null of=$dev seek=4001 2> /dev/null || framework_failure # create a GPT partition table parted -s $dev mklabel gpt > out 2>&1 || fail=1 # expect no output compare out /dev/null || fail=1 # create a DOS partition table on top of it parted -s $dev mklabel msdos > out 2>&1 || fail=1 # expect no output compare out /dev/null || fail=1 Exit $fail parted-2.3/tests/t0201-gpt.sh0000744000000000000000000000261111333731662012566 00000000000000#!/bin/sh # avoid failed assertion when creating a GPT on top of an old one for a # larger device # Copyright (C) 2009-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . if test "$VERBOSE" = yes; then set -x parted --version fi : ${srcdir=.} . $srcdir/t-lib.sh fail=0 dev=loop-file # create a backing file large enough for a GPT partition table dd if=/dev/null of=$dev seek=4001 2> /dev/null || fail=1 # create a GPT partition table parted -s $dev mklabel gpt > out 2>&1 || fail=1 # expect no output compare out /dev/null || fail=1 # shrink the backing file dd if=/dev/null of=$dev seek=4000 2> /dev/null || fail=1 # create a new GPT table on top of the shrunken backing file parted -s $dev mklabel gpt > out 2>&1 || fail=1 # expect no output compare out /dev/null || fail=1 Exit $fail parted-2.3/tests/t0500-dup-clobber.sh0000644000000000000000000000160611341527361014174 00000000000000#!/bin/sh # Drive the dup-clobber program. # Copyright (C) 2009-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . if test "$VERBOSE" = yes; then set -x parted --version fi : ${srcdir=.} . $srcdir/t-lib.sh PATH="..:$PATH" export PATH fail=0 dup-clobber || fail=1 Exit $fail parted-2.3/tests/t-local.sh0000644000000000000000000001116511334566630012570 00000000000000# Put test-related bits that are parted-specific here. # This file is sourced from near the end of t-lib.sh. sector_size_=${PARTED_SECTOR_SIZE:-512} scsi_debug_lock_file_="$abs_srcdir/scsi_debug.lock" require_scsi_debug_module_() { # check for scsi_debug module modprobe -n scsi_debug || skip_test_ "you lack the scsi_debug kernel module" } scsi_debug_modprobe_succeeded_= cleanup_eval_="$cleanup_eval_; scsi_debug_cleanup_" scsi_debug_cleanup_() { rm -f $scsi_debug_lock_file_ test -z "$scsi_debug_modprobe_succeeded_" && return # We have to insist. Otherwise, a single rmmod usually fails to remove it, # due either to "Resource temporarily unavailable" or to # "Module scsi_debug is in use". for i in 1 2 3; do rmmod scsi_debug && break; sleep .2 || sleep 1; done } # Helper function: wait 2s (via .1s increments) for FILE to appear. # Usage: wait_for_dev_to_appear_ /dev/sdg # Return 0 upon success, 1 upon failure. wait_for_dev_to_appear_() { local file=$1 local i=0 local incr=1 while :; do ls "$file" > /dev/null 2>&1 && return 0 sleep .1 2>/dev/null || { sleep 1; incr=10; } i=$(expr $i + $incr); test $i = 20 && break done return 1 } # Tests that uses "modprobe scsi_debug ..." must not be run in parallel. scsi_debug_acquire_lock_() { local retries=20 local lock_timeout_seconds=120 lockfile -1 -r $retries -l $lock_timeout_seconds $scsi_debug_lock_file_ } print_sd_names_() { (cd /sys/block && printf '%s\n' sd*); } # Create a device using the scsi_debug module with the options passed to # this function as arguments. Upon success, print the name of the new device. scsi_debug_setup_() { scsi_debug_acquire_lock_ # It is not trivial to determine the name of the device we're creating. # Record the names of all /sys/block/sd* devices *before* probing: print_sd_names_ > before modprobe scsi_debug "$@" || { rm -f before; return 1; } scsi_debug_modprobe_succeeded_=1 # Wait up to 2s (via .1s increments) for the list of devices to change. # Sleeping for a fraction of a second requires GNU sleep, so fall # back on sleeping 2x1s if that fails. # FIXME-portability: using "cmp - ..." probably requires GNU cmp. local incr=1 local i=0 while print_sd_names_ | cmp -s - before; do sleep .1 2>/dev/null || { sleep 1; incr=10; } i=$(expr $i + $incr); test $i = 20 && break done # Record the names of all /sys/block/sd* devices *after* probe+wait. print_sd_names_ > after # Determine which device names (if any) are new. # There could be more than one new device, and there have been a removal. local new_dev=$(comm -13 before after) rm -f before after case $new_dev in sd[a-z]) ;; sd[a-z][a-z]) ;; *) return 1 ;; esac local t=/dev/$new_dev wait_for_dev_to_appear_ $t echo $t return 0 } require_512_byte_sector_size_() { test $sector_size_ = 512 \ || skip_test_ FS test with sector size != 512 } peek_() { case $# in 2) ;; *) echo "usage: peek_ FILE 0_BASED_OFFSET" >&2; exit 1;; esac case $2 in *[^0-9]*) echo "peek_: invalid offset: $2" >&2; exit 1 ;; esac dd if="$1" bs=1 skip="$2" count=1 } poke_() { case $# in 3) ;; *) echo "usage: poke_ FILE 0_BASED_OFFSET BYTE" >&2; exit 1;; esac case $2 in *[^0-9]*) echo "poke_: invalid offset: $2" >&2; exit 1 ;; esac case $3 in ?) ;; *) echo "poke_: invalid byte: '$3'" >&2; exit 1 ;; esac printf %s "$3" | dd of="$1" bs=1 seek="$2" count=1 conv=notrunc } # byte 56 of the partition entry is the first byte of its 72-byte name field gpt1_pte_name_offset_() { local ss=$1 case $ss in *[^0-9]*) echo "$0: invalid sector size: $ss">&2; return 1;; esac expr $ss \* 2 + 56 return 0 } # Change the name of the first partition in the primary GPT table, # thus invalidating the PartitionEntryArrayCRC32 checksum. gpt_corrupt_primary_table_() { case $# in 2) ;; *) echo "$0: expected 2 args, got $#" >&2; return 1;; esac local dev=$1 local ss=$2 case $ss in *[^0-9]*) echo "$0: invalid sector size: $ss">&2; return 1;; esac # get the first byte of the name local orig_pte_name_byte=$(peek_ $dev $(gpt1_pte_name_offset_ $ss)) || return 1 local new_byte test x"$orig_pte_name_byte" = xA && new_byte=B || new_byte=A # Replace with a different byte poke_ $dev $(gpt1_pte_name_offset_ $ss) "$new_byte" || return 1 printf %s "$orig_pte_name_byte" return 0 } gpt_restore_primary_table_() { case $# in 3) ;; *) echo "$0: expected 2 args, got $#" >&2; return 1;; esac local dev=$1 local ss=$2 case $ss in *[^0-9]*) echo "$0: invalid sector size: $ss">&2; return 1;; esac local orig_byte=$3 poke_ $dev $(gpt1_pte_name_offset_ $ss) "$orig_byte" || return 1 } . $srcdir/t-lvm.sh parted-2.3/tests/t4100-msdos-starting-sector.sh0000744000000000000000000000505511334561170016252 00000000000000#!/bin/sh # Copyright (C) 2008-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . test_description='Consistency in msdos free space starting sector.' : ${srcdir=.} . $srcdir/test-lib.sh ss=$sector_size_ ###################################################################### # parted 1.8.8.1 and earlier was inconsistent when calculating the # start sector for free space in msdos type lables. parted was not # consistent in the use of metadata padding for msdos labels. ###################################################################### N=4096 # number of sectors dev=loop-file test_expect_success \ 'create a file to simulate the underlying device' \ 'dd if=/dev/zero of=$dev bs=${ss}c count=$N 2> /dev/null' test_expect_success \ 'label the test disk' \ 'parted -s $dev mklabel msdos > out 2>&1' test_expect_success 'expect no output' 'compare out /dev/null' # Test the output of print free with no partitions. fail=0 cat < exp || fail=1 BYT; path:${N}s:file:$ss:$ss:msdos:; 1:32s:4095s:4064s:free; EOF test_expect_success 'create expected output file' 'test $fail = 0' test_expect_success \ 'display output of label without partitions' \ 'parted -m -s $dev unit s print free > out 2>&1' test_expect_success \ 'check for expected output' \ 'sed "2s/^[^:]*:/path:/" < out > k; mv k out compare out exp' # Test the output of print free with one partition. fail=0 cat < exp || fail=1 BYT; path:${N}s:file:$ss:$ss:msdos:; 1:32s:2047s:2016s:free; 1:2048s:4095s:2048s:::; EOF test_expect_success 'create expected output file' 'test $fail = 0' test_expect_success \ 'create a partition at the end of the label' \ 'parted -s $dev mkpart primary 2048s 4095s' test_expect_success \ 'display output of label with partition' \ 'parted -m -s $dev unit s print free > out 2>&1' test_expect_success \ 'check for expected output' \ 'sed "2s/^[^:]*:/path:/" < out > k; mv k out compare out exp' test_done parted-2.3/tests/t4000-sun-raid-type.sh0000744000000000000000000000443411333731662014503 00000000000000#!/bin/sh # Copyright (C) 2008-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Written by Tom "spot" Callaway # Derived from an example by Jim Meyering test_description="RAID support on sun disk type" : ${srcdir=.} . $srcdir/test-lib.sh ss=$sector_size_ N=2000 # number of sectors dev=sun-disk-file exp="BYT;\n---:${N}s:file:$ss:$ss:sun:;\n1:0s:50s:51s" test_expect_success \ 'create an empty file as a test disk' \ 'dd if=/dev/zero of=$dev bs=${ss}c count=$N 2> /dev/null' test_expect_success \ 'label the test disk as a sun disk' \ 'parted -s $dev mklabel sun > out 2>&1' test_expect_success 'check for empty output' 'compare out /dev/null' test_expect_success \ 'create a single partition' \ 'parted -s $dev unit s mkpart ext2 0s 50s > out 2>&1' test_expect_success 'check for empty output' 'compare out /dev/null' test_expect_success \ 'print the partition data in machine readable format' \ 'parted -m -s $dev unit s p > out 2>&1 && sed "s,^.*/$dev:,---:," out > k && mv k out' test_expect_success \ 'check for expected values for the partition' ' printf "$exp:::;\n" > exp && compare out exp' test_expect_success \ 'set the raid flag' \ 'parted -s $dev set 1 raid >out 2>&1' test_expect_success 'check for empty output' 'compare out /dev/null' test_expect_success \ 'print the partition data in machine readable format again' \ 'parted -m -s $dev unit s p > out 2>&1 && sed "s,^.*/$dev:,---:," out > k && mv k out' test_expect_success \ 'check for expected values (including raid flag) for the partition' ' printf "$exp:::raid;\n" > exp && compare out exp' test_done parted-2.3/tests/t9021-maxima.sh0000744000000000000000000000305311370314006013250 00000000000000#!/bin/sh # verify that partition maxima-querying functions work # Copyright (C) 2009-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . if test "$VERBOSE" = yes; then set -x parted --version fi : ${srcdir=.} . $srcdir/t-lib.sh ss=$sector_size_ fail=0 dev=dev-file PATH="..:$PATH" export PATH # FIXME: add aix when/if it's supported again for t in msdos gpt dvh sun mac bsd amiga loop pc98; do echo $t rm -f $dev dd if=/dev/zero of=$dev bs=$ss count=1 seek=10000 || { fail=1; continue; } parted -s $dev mklabel $t || { fail=1; continue; } #case $t in pc98) sleep 999d;; esac max_start=4294967295 max_len=4294967295 case $t in gpt) max_start=18446744073709551615; max_len=$max_start;; sun) max_start=549755813760;; # 128 * (2^32-1) esac print-max $dev > out 2>&1 || fail=1 printf '%s\n' "max len: $max_len" \ "max start sector: $max_start" > exp || fail=1 compare out exp || fail=1 done Exit $fail parted-2.3/tests/Makefile.am0000644000000000000000000000661411370535376012743 00000000000000XFAIL_TESTS = \ t3200-type-change.sh TESTS = \ help-version \ t0000-basic.sh \ t0001-tiny.sh \ t0010-script-no-ctrl-chars.sh \ t0100-print.sh \ t0200-gpt.sh \ t0201-gpt.sh \ t0202-gpt-pmbr.sh \ t0205-gpt-list-clobbers-pmbr.sh \ t0206-gpt-print-with-corrupt-primary-clobbers-pmbr.sh \ t0220-gpt-msftres.sh \ t0250-gpt.sh \ t0280-gpt-corrupt.sh \ t0300-dos-on-gpt.sh \ t0400-loop-clobber-infloop.sh \ t0500-dup-clobber.sh \ t1100-busy-label.sh \ t1700-ext-probe.sh \ t2100-mkswap.sh \ t2200-dos-label-recog.sh \ t2300-dos-label-extended-bootcode.sh \ t2310-dos-extended-2-sector-min-offset.sh \ t2400-dos-hfs-partition-type.sh \ t3000-resize-fs.sh \ t3200-type-change.sh \ t3300-palo-prep.sh \ t3310-flags.sh \ t4000-sun-raid-type.sh \ t4001-sun-vtoc.sh \ t4100-msdos-partition-limits.sh \ t4100-dvh-partition-limits.sh \ t4100-msdos-starting-sector.sh \ t4200-partprobe.sh \ t5000-tags.sh \ t6000-dm.sh \ t7000-scripting.sh \ t8000-loop.sh \ t9010-big-sector.sh \ t9020-alignment.sh \ t9021-maxima.sh \ t9030-align-check.sh \ t9040-many-partitions.sh EXTRA_DIST = \ $(TESTS) test-lib.sh t-lib.sh lvm-utils.sh t-local.sh t-lvm.sh init.sh check_PROGRAMS = print-align print-max dup-clobber LDADD = \ $(top_builddir)/libparted/libparted.la AM_CPPFLAGS = \ -I$(top_srcdir)/lib \ -I$(top_srcdir)/include AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) parted_dir = $(abs_top_builddir)/parted pp_dir = $(abs_top_builddir)/partprobe sep = $(PATH_SEPARATOR) CLEANFILES = old-init.sh all: old-init.sh old-init.sh: Makefile.in rm -f $@-t $@ echo 'PARTED_USABLE_TEST_DIR="$(PARTED_USABLE_TEST_DIR)"' > $@-t echo 'abs_top_srcdir="$(abs_top_srcdir)"' >> $@-t echo 'PATH="$(parted_dir)$(sep)$(pp_dir)$(sep)$$PATH"' >> $@-t echo 'export PATH' >> $@-t chmod a-w $@-t mv $@-t $@ # Note that the first lines are statements. They ensure that environment # variables that can perturb tests are unset or set to expected values. # The rest are envvar settings that propagate build-related Makefile # variables to test scripts. TESTS_ENVIRONMENT = \ tmp__=$$TMPDIR; test -d "$$tmp__" || tmp__=.; \ TMPDIR=$$tmp__; export TMPDIR; \ exec 9>&2; \ shell_or_perl_() { \ if grep '^\#!/usr/bin/perl' "$$1" > /dev/null; then \ if $(PERL) -e 'use warnings' > /dev/null 2>&1; then \ grep '^\#!/usr/bin/perl -T' "$$1" > /dev/null && T_=T || T_=; \ $(PERL) -w$$T_ -I$(srcdir) -MCoreutils \ -M"CuTmpdir qw($$f)" -- "$$1"; \ else \ echo 1>&2 "$$tst: configure did not find a usable version of Perl," \ "so skipping this test"; \ (exit 77); \ fi; \ else \ $(SHELL) "$$1"; \ fi; \ }; \ export \ abs_top_builddir='$(abs_top_builddir)' \ abs_top_srcdir='$(abs_top_srcdir)' \ abs_srcdir='$(abs_srcdir)' \ built_programs=parted \ srcdir='$(srcdir)' \ top_srcdir='$(top_srcdir)' \ AWK='$(AWK)' \ CC='$(CC)' \ MAKE=$(MAKE) \ PACKAGE_BUGREPORT='$(PACKAGE_BUGREPORT)' \ PACKAGE_VERSION=$(PACKAGE_VERSION) \ CONFIG_HEADER='$(abs_top_builddir)/lib/config.h' \ ENABLE_DEVICE_MAPPER=$(ENABLE_DEVICE_MAPPER) \ PERL='$(PERL)' \ PREFERABLY_POSIX_SHELL='$(PREFERABLY_POSIX_SHELL)' \ REPLACE_GETCWD=$(REPLACE_GETCWD) \ PATH='$(abs_top_builddir)/parted$(PATH_SEPARATOR)'"$$PATH" \ VERSION=$(VERSION) \ ; shell_or_perl_ VERBOSE = yes parted-2.3/tests/t4001-sun-vtoc.sh0000744000000000000000000000316311341530733013552 00000000000000#!/bin/sh # Ensure that Sun VTOC is properly initialized. # Copyright (C) 2009-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Written by Karel Zak if test "$VERBOSE" = yes; then set -x parted --version fi : ${srcdir=.} . $srcdir/t-lib.sh N=2M dev=loop-file # create a file to simulate the underlying device dd if=/dev/null of=$dev bs=1 seek=$N || framework_failure fail=0 # label the test disk parted -s $dev mklabel sun > out 2>&1 || fail=1 # expect no output compare out /dev/null || fail=1 # extract version od -t x1 -An -j128 -N4 $dev > out || fail=1 echo " 00 00 00 01" > exp || fail=1 # expect it to be 00 00 00 01, not 00 00 00 00 compare out exp || fail=1 # extract nparts od -t x1 -An -j140 -N2 $dev > out || fail=1 echo " 00 08" > exp || fail=1 # expect it to be 00 08, not 00 00 compare out exp || fail=1 # extract sanity magic od -t x1 -An -j188 -N4 $dev > out || fail=1 echo " 60 0d de ee" > exp # expect it to be 60 0d de ee, not 00 00 00 00 compare out exp || fail=1 Exit $fail parted-2.3/tests/dup-clobber.c0000644000000000000000000000475011341000611013221 00000000000000/* Demonstrate that setting disk->needs_clobber in ped_disk_duplicate is necessary. With that, this test passes. Without it, the last sectors of the disk are cleared, and this test fails. */ #include #include #include #include #include #include #include #include #include "closeout.h" #include "progname.h" static void seek_to_final_sector (int fd, PedSector ss) { /* Seek to EOF. */ off_t off = lseek (fd, 0, SEEK_END); /* That had better succeed and determine that the size is > 2 sectors and an exact multiple of ss. */ assert (2 * ss < off); assert (off % ss == 0); /* Back up one sector. */ off = lseek (fd, -ss, SEEK_CUR); assert (0 < off); } static void scribble_on_final_sector (char const *file_name, PedSector ss) { assert (0 < ss); assert (ss % 512 == 0); int fd = open (file_name, O_WRONLY); assert (0 <= fd); seek_to_final_sector (fd, ss); /* Fill the final sector with ascii 'G's. */ char *buf = malloc (ss); assert (buf); memset (buf, 'G', ss); assert (write (fd, buf, ss) == ss); free (buf); assert (close (fd) == 0); } int main (int argc, char **argv) { atexit (close_stdout); set_program_name (argv[0]); if (argc != 1) return EXIT_FAILURE; char const *dev_name = "dev-file"; /* Create a file. */ int fd = open (dev_name, O_CREAT|O_TRUNC|O_WRONLY, 0644); assert (0 <= fd); off_t size = 8 * 1024 * 1024; assert (ftruncate (fd, size) == 0); assert (close (fd) == 0); PedDevice *dev = ped_device_get (dev_name); assert (dev); PedDisk *disk = ped_disk_new_fresh (dev, ped_disk_type_get ("msdos")); assert (disk); assert (ped_disk_commit(disk)); PedSector ss = dev->sector_size; scribble_on_final_sector (dev_name, ss); /* Before the fix, this ped_disk_duplicate call would always set copy->needs_clobber, thus causing the subsequent commit to mistakenly clobber 9KiB at each end of the disk. */ PedDisk *copy = ped_disk_duplicate (disk); assert (ped_disk_commit(copy)); ped_disk_destroy (copy); ped_disk_destroy (disk); ped_device_destroy (dev); /* Read the final sector and ensure it's still all 'G's. */ fd = open (dev_name, O_RDONLY); assert (0 <= fd); seek_to_final_sector (fd, ss); char *buf = malloc (ss); assert (buf); assert (read (fd, buf, ss) == ss); unsigned int i; for (i = 0; i < ss; i++) assert (buf[i] == 'G'); free (buf); return EXIT_SUCCESS; } parted-2.3/tests/t1700-ext-probe.sh0000744000000000000000000000331511370314006013676 00000000000000#!/bin/sh # Probe Ext2, Ext3 and Ext4 file systems # Copyright (C) 2008-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . if test "$VERBOSE" = yes; then set -x parted --version fi : ${srcdir=.} . $srcdir/t-lib.sh require_512_byte_sector_size_ dev=loop-file ss=$sector_size_ n_sectors=8000 fail=0 for type in ext2 ext3 ext4; do ( mkfs.$type -V ) >/dev/null 2>&1 || skip_test_ "no $type support" # create an $type file system dd if=/dev/zero of=$dev bs=1024 count=4096 >/dev/null || fail=1 mkfs.$type -F $dev >/dev/null || fail=1 # probe the $type file system parted -m -s $dev u s print >out 2>&1 || fail=1 grep '^1:.*:'$type'::;$' out || fail=1 done # Some features should indicate ext4 by themselves. for feature in uninit_bg flex_bg; do # create an ext3 file system dd if=/dev/zero of=$dev bs=1024 count=4096 >/dev/null || fail=1 mkfs.ext3 -F $dev >/dev/null || fail=1 # set the feature tune2fs -O $feature $dev || fail=1 # probe the file system, which should now be ext4 parted -m -s $dev u s print >out 2>&1 || fail=1 grep '^1:.*:ext4::;$' out || fail=1 done Exit $fail parted-2.3/tests/t9040-many-partitions.sh0000644000000000000000000000510611377171762015154 00000000000000#!/bin/sh # Ensure that creating many partitions works. # Copyright (C) 2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . if test "$VERBOSE" = yes; then set -x parted --version fi : ${srcdir=.} . $srcdir/t-lib.sh require_root_ require_scsi_debug_module_ # check for scsi_debug module modprobe -n scsi_debug || skip_test_ "you lack the scsi_debug kernel module" grep '^#define USE_BLKID 1' "$CONFIG_HEADER" > /dev/null || skip_test_ 'this system lacks a new-enough libblkid' ss=$sector_size_ partition_sectors=256 # sectors per partition n_partitions=60 # how many partitions to create start=2048 # start sector for the first partition gpt_slop=34 # sectors at end of disk reserved for GPT n_sectors=$(($start + n_partitions * partition_sectors + gpt_slop)) sectors_per_MiB=$((1024 * 1024 / ss)) n_MiB=$(((n_sectors + sectors_per_MiB - 1) / sectors_per_MiB)) # create memory-backed device scsi_debug_setup_ sector_size=$ss dev_size_mb=$n_MiB > dev-name || skip_test_ 'failed to create scsi_debug device' scsi_dev=$(cat dev-name) fail=0 n=$((n_MiB * sectors_per_MiB)) printf "BYT;\n$scsi_dev:${n}s:scsi:$ss:$ss:gpt:Linux scsi_debug;\n" \ > exp || fail=1 parted -s $scsi_dev mklabel gpt || fail=1 parted -s $scsi_dev u s p || fail=1 i=1 t0=$(date +%s.%N) while :; do end=$((start + partition_sectors - 1)) parted -s $scsi_dev mkpart p$i ${start}s ${end}s || fail=1 printf "$i:${start}s:${end}s:${partition_sectors}s::p$i:;\n" >> exp test $i = $n_partitions && break start=$((start + partition_sectors)) i=$((i+1)) done t_final=$(date +%s.%N) # Fail the test if it takes too long. # On Fedora 13, it takes about 15 seconds. # With older kernels, it typically takes more than 150 seconds. $AWK "BEGIN {d = $t_final - $t0; n = $n_partitions; st = 60 < d;"\ ' printf "created %d partitions in %.2f seconds\n", n, d; exit st }' /dev/null \ || fail=1 parted -m -s $scsi_dev u s p > out || fail=1 compare out exp || fail=1 Exit $fail parted-2.3/tests/lvm-utils.sh0000644000000000000000000001153311354364247013172 00000000000000# Put lvm-related utilities here. # This file is sourced from test-lib.sh. # Copyright (C) 2007-2010 Red Hat, Inc. All rights reserved. # # This copyrighted material is made available to anyone wishing to use, # modify, copy, or redistribute it subject to the terms and conditions # of the GNU General Public License v.2. # # 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 export LVM_SUPPRESS_FD_WARNINGS=1 ME=$(basename "$0") warn() { echo >&2 "$ME: $@"; } unsafe_losetup_() { f=$1 test -n "$G_dev_" \ || error "Internal error: unsafe_losetup_ called before init_root_dir_" # Iterate through $G_dev_/loop{,/}{0,1,2,3,4,5,6,7,8,9} for slash in '' /; do for i in 0 1 2 3 4 5 6 7 8 9; do dev=$G_dev_/loop$slash$i losetup $dev > /dev/null 2>&1 && continue; losetup "$dev" "$f" > /dev/null && { echo "$dev"; return 0; } break done done return 1 } loop_setup_() { file=$1 dd if=/dev/zero of="$file" bs=1M count=1 seek=1000 > /dev/null 2>&1 \ || { warn "loop_setup_ failed: Unable to create tmp file $file"; return 1; } # NOTE: this requires a new enough version of losetup dev=$(unsafe_losetup_ "$file") \ || { warn "loop_setup_ failed: Unable to create loopback device"; return 1; } echo "$dev" return 0; } compare_two_fields_() { local cmd1=$1; local obj1=$2; local field1=$3; local cmd2=$4; local obj2=$5; local field2=$6; local val1; local val2; val1=$($cmd1 --noheadings -o $field1 $obj1) val2=$($cmd2 --noheadings -o $field2 $obj2) if test "$verbose" = "t" then echo "compare_two_fields_ $obj1($field1): $val1 $obj2($field2): $val2" fi test $val1 = $val2 } compare_vg_field_() { local vg1=$1; local vg2=$2; local field=$3; local val1; local val2; val1=$(vgs --noheadings -o $field $vg1) val2=$(vgs --noheadings -o $field $vg2) if test "$verbose" = "t" then echo "compare_vg_field_ VG1: $val1 VG2: $val2" fi test $val1 = $val2 } check_vg_field_() { local vg=$1; local field=$2; local expected=$3; local actual; actual=$(vgs --noheadings -o $field $vg) if test "$verbose" = "t" then echo "check_vg_field_ VG=$vg, field=$field, actual=$actual, expected=$expected" fi test $actual = $expected } check_pv_field_() { local pv=$1; local field=$2; local expected=$3; local actual; actual=$(pvs --noheadings -o $field $pv) if test "$verbose" = "t" then echo "check_pv_field_ PV=$pv, field=$field, actual=$actual, expected=$expected" fi test $actual = $expected } check_lv_field_() { local lv=$1; local field=$2; local expected=$3; local actual; actual=$(lvs --noheadings -o $field $lv) if test "$verbose" = "t" then echo "check_lv_field_ LV=$lv, field=$field, actual=$actual, expected=$expected" fi test $actual = $expected } vg_validate_pvlv_counts_() { local local_vg=$1 local num_pvs=$2 local num_lvs=$3 local num_snaps=$4 check_vg_field_ $local_vg pv_count $num_pvs && check_vg_field_ $local_vg lv_count $num_lvs && check_vg_field_ $local_vg snap_count $num_snaps } dmsetup_has_dm_devdir_support_() { # Detect support for the envvar. If it's supported, the # following command will fail with the expected diagnostic. out=$(DM_DEV_DIR=j dmsetup version 2>&1) test "$?:$out" = "1:Invalid DM_DEV_DIR envvar value." || test "$?:$out" = "1:Invalid DM_DEV_DIR environment variable value." } # set up private /dev and /etc init_root_dir_() { test -n "$test_dir_rand_" \ || error "Internal error: called init_root_dir_ before" \ "defining \$test_dir_rand_" # Define these two globals. G_root_=$test_dir_rand_/root G_dev_=$G_root_/dev export LVM_SYSTEM_DIR=$G_root_/etc export DM_DEV_DIR=$G_dev_ # Only the first caller does anything. mkdir -p $G_root_/etc $G_dev_ $G_dev_/mapper $G_root_/lib for i in 0 1 2 3 4 5 6 7; do mknod $G_root_/dev/loop$i b 7 $i done for i in $abs_top_builddir/dmeventd/mirror/*.so $abs_top_builddir/dmeventd/snapshot/*.so do # NOTE: This check is necessary because the loop above will give us the value # "$abs_top_builddir/dmeventd/mirror/*.so" if no files ending in 'so' exist. # This is the best way I could quickly determine to skip over this bogus value. if [ -f $i ]; then echo Setting up symlink from $i to $G_root_/lib ln -s $i $G_root_/lib fi done cat > $G_root_/etc/lvm.conf <<-EOF devices { dir = "$G_dev_" scan = "$G_dev_" filter = [ "a/loop/", "a/mirror/", "a/mapper/", "r/.*/" ] cache_dir = "$G_root_/etc" sysfs_scan = 0 } log { verbose = $verboselevel syslog = 0 indent = 1 } backup { backup = 0 archive = 0 } global { library_dir = "$G_root_/lib" } EOF } init_root_dir_ parted-2.3/tests/init.sh0000644000000000000000000003057511377170522012204 00000000000000# source this file; set up for tests # Copyright (C) 2009, 2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Using this file in a test # ========================= # # The typical skeleton of a test looks like this: # # #!/bin/sh # . "${srcdir=.}/init.sh"; path_prepend_ . # Execute some commands. # Note that these commands are executed in a subdirectory, therefore you # need to prepend "../" to relative filenames in the build directory. # Note that the "path_prepend_ ." is useful only if the body of your # test invokes programs residing in the initial directory. # For example, if the programs you want to test are in src/, and this test # script is named tests/test-1, then you would use "path_prepend_ ../src", # or perhaps export PATH='$(abs_top_builddir)/src$(PATH_SEPARATOR)'"$$PATH" # to all tests via automake's TESTS_ENVIRONMENT. # Set the exit code 0 for success, 77 for skipped, or 1 or other for failure. # Use the skip_ and fail_ functions to print a diagnostic and then exit # with the corresponding exit code. # Exit $? # Executing a test that uses this file # ==================================== # # Running a single test: # $ make check TESTS=test-foo.sh # # Running a single test, with verbose output: # $ make check TESTS=test-foo.sh VERBOSE=yes # # Running a single test, with single-stepping: # 1. Go into a sub-shell: # $ bash # 2. Set relevant environment variables from TESTS_ENVIRONMENT in the # Makefile: # $ export srcdir=../../tests # this is an example # 3. Execute the commands from the test, copy&pasting them one by one: # $ . "$srcdir/init.sh"; path_prepend_ . # ... # 4. Finally # $ exit # We require $(...) support unconditionally. # We require a few additional shell features only when $EXEEXT is nonempty, # in order to support automatic $EXEEXT emulation: # - hyphen-containing alias names # - we prefer to use ${var#...} substitution, rather than having # to work around lack of support for that feature. # The following code attempts to find a shell with support for these features. # If the current shell passes the test, we're done. Otherwise, test other # shells until we find one that passes. If one is found, re-exec it. # If no acceptable shell is found, skip the current test. # # Use "9" to indicate success (rather than 0), in case some shell acts # like Solaris 10's /bin/sh but exits successfully instead of with status 2. gl_shell_test_script_=' test $(echo y) = y || exit 1 test -z "$EXEEXT" && exit 9 shopt -s expand_aliases alias a-b="echo zoo" v=abx test ${v%x} = ab \ && test ${v#a} = bx \ && test $(a-b) = zoo \ && exit 9 ' if test "x$1" = "x--no-reexec"; then shift else # 'eval'ing the above code makes Solaris 10's /bin/sh exit with $? set to 2. # It does not evaluate any of the code after the "unexpected" `('. Thus, # we must run it in a subshell. ( eval "$gl_shell_test_script_" ) > /dev/null 2>&1 if test $? = 9; then : # The current shell is adequate. No re-exec required. else # Search for a shell that meets our requirements. for re_shell_ in "${CONFIG_SHELL:-no_shell}" /bin/sh bash dash zsh pdksh fail do test "$re_shell_" = no_shell && continue test "$re_shell_" = fail && skip_ failed to find an adequate shell "$re_shell_" -c "$gl_shell_test_script_" 2>/dev/null if test $? = 9; then # Found an acceptable shell. exec "$re_shell_" "$0" --no-reexec "$@" echo "$ME_: exec failed" 1>&2 exit 127 fi done fi fi test -n "$EXEEXT" && shopt -s expand_aliases # Enable glibc's malloc-perturbing option. # This is cheap and useful for exposing code that depends on the fact that # malloc-related functions often return memory that is mostly zeroed. # If you have the time and cycles, use valgrind to do an even better job. : ${MALLOC_PERTURB_=87} export MALLOC_PERTURB_ # We use a trap below for cleanup. This requires us to go through # hoops to get the right exit status transported through the handler. # So use `Exit STATUS' instead of `exit STATUS' inside of the tests. # Turn off errexit here so that we don't trip the bug with OSF1/Tru64 # sh inside this function. Exit () { set +e; (exit $1); exit $1; } # Print warnings (e.g., about skipped and failed tests) to this file number. # Override by defining to say, 9, in init.cfg, and putting say, # "export ...ENVVAR_SETTINGS...; exec 9>&2; $(SHELL)" in the definition # of TESTS_ENVIRONMENT in your tests/Makefile.am file. # This is useful when using automake's parallel tests mode, to print # the reason for skip/failure to console, rather than to the .log files. : ${stderr_fileno_=2} warn_() { echo "$@" 1>&$stderr_fileno_; } fail_() { warn_ "$ME_: failed test: $@"; Exit 1; } skip_() { warn_ "$ME_: skipped test: $@"; Exit 77; } framework_failure_() { warn_ "$ME_: set-up failure: $@"; Exit 1; } # This is a stub function that is run upon trap (upon regular exit and # interrupt). Override it with a per-test function, e.g., to unmount # a partition, or to undo any other global state changes. cleanup_() { :; } if ( diff --version < /dev/null 2>&1 | grep GNU ) > /dev/null 2>&1; then compare() { diff -u "$@"; } elif ( cmp --version < /dev/null 2>&1 | grep GNU ) > /dev/null 2>&1; then compare() { cmp -s "$@"; } else compare() { cmp "$@"; } fi # An arbitrary prefix to help distinguish test directories. testdir_prefix_() { printf gt; } # Run the user-overridable cleanup_ function, remove the temporary # directory and exit with the incoming value of $?. remove_tmp_() { __st=$? cleanup_ # cd out of the directory we're about to remove cd "$initial_cwd_" || cd / || cd /tmp chmod -R u+rwx "$test_dir_" # If removal fails and exit status was to be 0, then change it to 1. rm -rf "$test_dir_" || { test $__st = 0 && __st=1; } exit $__st } # Given a directory name, DIR, if every entry in it that matches *.exe # contains only the specified bytes (see the case stmt below), then print # a space-separated list of those names and return 0. Otherwise, don't # print anything and return 1. Naming constraints apply also to DIR. find_exe_basenames_() { feb_dir_=$1 feb_fail_=0 feb_result_= feb_sp_= for feb_file_ in $feb_dir_/*.exe; do case $feb_file_ in *[!-a-zA-Z/0-9_.+]*) feb_fail_=1; break;; *) # Remove leading file name components as well as the .exe suffix. feb_file_=${feb_file_##*/} feb_file_=${feb_file_%.exe} feb_result_="$feb_result_$feb_sp_$feb_file_";; esac feb_sp_=' ' done test $feb_fail_ = 0 && printf %s "$feb_result_" return $feb_fail_ } # Consider the files in directory, $1. # For each file name of the form PROG.exe, create an alias named # PROG that simply invokes PROG.exe, then return 0. If any selected # file name or the directory name, $1, contains an unexpected character, # define no function and return 1. create_exe_shims_() { case $EXEEXT in '') return 0 ;; .exe) ;; *) echo "$0: unexpected \$EXEEXT value: $EXEEXT" 1>&2; return 1 ;; esac base_names_=`find_exe_basenames_ $1` \ || { echo "$0 (exe_shim): skipping directory: $1" 1>&2; return 1; } if test -n "$base_names_"; then for base_ in $base_names_; do alias "$base_"="$base_$EXEEXT" done fi return 0 } # Use this function to prepend to PATH an absolute name for each # specified, possibly-$initial_cwd_-relative, directory. path_prepend_() { while test $# != 0; do path_dir_=$1 case $path_dir_ in '') fail_ "invalid path dir: '$1'";; /*) abs_path_dir_=$path_dir_;; *) abs_path_dir_=`cd "$initial_cwd_/$path_dir_" && echo "$PWD"` \ || fail_ "invalid path dir: $path_dir_";; esac case $abs_path_dir_ in *:*) fail_ "invalid path dir: '$abs_path_dir_'";; esac PATH="$abs_path_dir_:$PATH" # Create an alias, FOO, for each FOO.exe in this directory. create_exe_shims_ "$abs_path_dir_" \ || fail_ "something failed (above): $abs_path_dir_" shift done export PATH } setup_() { test "$VERBOSE" = yes && set -x initial_cwd_=$PWD ME_=`expr "./$0" : '.*/\(.*\)$'` pfx_=`testdir_prefix_` test_dir_=`mktempd_ "$initial_cwd_" "$pfx_-$ME_.XXXX"` \ || fail_ "failed to create temporary directory in $initial_cwd_" cd "$test_dir_" # These trap statements ensure that the temporary directory, $test_dir_, # is removed upon exit as well as upon receipt of any of the listed signals. trap remove_tmp_ 0 for sig_ in 1 2 3 13 15; do eval "trap 'Exit $(expr $sig_ + 128)' $sig_" done } # Create a temporary directory, much like mktemp -d does. # Written by Jim Meyering. # # Usage: mktempd_ /tmp phoey.XXXXXXXXXX # # First, try to use the mktemp program. # Failing that, we'll roll our own mktemp-like function: # - try to get random bytes from /dev/urandom # - failing that, generate output from a combination of quickly-varying # sources and gzip. Ignore non-varying gzip header, and extract # "random" bits from there. # - given those bits, map to file-name bytes using tr, and try to create # the desired directory. # - make only $MAX_TRIES_ attempts # Helper function. Print $N pseudo-random bytes from a-zA-Z0-9. rand_bytes_() { n_=$1 # Maybe try openssl rand -base64 $n_prime_|tr '+/=\012' abcd first? # But if they have openssl, they probably have mktemp, too. chars_=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 dev_rand_=/dev/urandom if test -r "$dev_rand_"; then # Note: 256-length($chars_) == 194; 3 copies of $chars_ is 186 + 8 = 194. dd ibs=$n_ count=1 if=$dev_rand_ 2>/dev/null \ | LC_ALL=C tr -c $chars_ 01234567$chars_$chars_$chars_ return fi n_plus_50_=`expr $n_ + 50` cmds_='date; date +%N; free; who -a; w; ps auxww; ps ef; netstat -n' data_=` (eval "$cmds_") 2>&1 | gzip ` # Ensure that $data_ has length at least 50+$n_ while :; do len_=`echo "$data_"|wc -c` test $n_plus_50_ -le $len_ && break; data_=` (echo "$data_"; eval "$cmds_") 2>&1 | gzip ` done echo "$data_" \ | dd bs=1 skip=50 count=$n_ 2>/dev/null \ | LC_ALL=C tr -c $chars_ 01234567$chars_$chars_$chars_ } mktempd_() { case $# in 2);; *) fail_ "Usage: $ME DIR TEMPLATE";; esac destdir_=$1 template_=$2 MAX_TRIES_=4 # Disallow any trailing slash on specified destdir: # it would subvert the post-mktemp "case"-based destdir test. case $destdir_ in /) ;; */) fail_ "invalid destination dir: remove trailing slash(es)";; esac case $template_ in *XXXX) ;; *) fail_ "invalid template: $template_ (must have a suffix of at least 4 X's)";; esac fail=0 # First, try to use mktemp. d=`unset TMPDIR; mktemp -d -t -p "$destdir_" "$template_" 2>/dev/null` \ || fail=1 # The resulting name must be in the specified directory. case $d in "$destdir_"*);; *) fail=1;; esac # It must have created the directory. test -d "$d" || fail=1 # It must have 0700 permissions. Handle sticky "S" bits. perms=`ls -dgo "$d" 2>/dev/null|tr S -` || fail=1 case $perms in drwx------*) ;; *) fail=1;; esac test $fail = 0 && { echo "$d" return } # If we reach this point, we'll have to create a directory manually. # Get a copy of the template without its suffix of X's. base_template_=`echo "$template_"|sed 's/XX*$//'` # Calculate how many X's we've just removed. template_length_=`echo "$template_" | wc -c` nx_=`echo "$base_template_" | wc -c` nx_=`expr $template_length_ - $nx_` err_= i_=1 while :; do X_=`rand_bytes_ $nx_` candidate_dir_="$destdir_/$base_template_$X_" err_=`mkdir -m 0700 "$candidate_dir_" 2>&1` \ && { echo "$candidate_dir_"; return; } test $MAX_TRIES_ -le $i_ && break; i_=`expr $i_ + 1` done fail_ "$err_" } # If you want to override the testdir_prefix_ function, # or to add more utility functions, use this file. test -f "$srcdir/init.cfg" \ && . "$srcdir/init.cfg" setup_ "$@" parted-2.3/tests/t3300-palo-prep.sh0000744000000000000000000000253311370314006013667 00000000000000#!/bin/sh # Ensure that palo and prep types work properly. # Copyright (C) 2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . if test "$VERBOSE" = yes; then set -x parted --version fi : ${srcdir=.} . $srcdir/t-lib.sh ss=$sector_size_ cat > exp < out 2> err || fail=1 grep -E '^1:2048s:4095s:2048s:::p...;$' out > k; mv k out compare out exp || fail=1 Exit $fail parted-2.3/tests/t9010-big-sector.sh0000744000000000000000000000265711333731662014053 00000000000000#!/bin/sh # check physical sector size as reported by 'print' # Copyright (C) 2009-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . if test "$VERBOSE" = yes; then set -x parted --version fi : ${srcdir=.} . $srcdir/t-lib.sh require_root_ require_scsi_debug_module_ grep '^#define USE_BLKID 1' "$CONFIG_HEADER" > /dev/null || skip_test_ 'this system lacks a new-enough libblkid' echo 'Sector size (logical/physical): 4096B/4096B' > exp || framework_failure # create memory-backed device scsi_debug_setup_ dev_size_mb=8 sector_size=4096 > dev-name || skip_test_ 'failed to create scsi_debug device' scsi_dev=$(cat dev-name) fail=0 # create partition table and print parted -s $scsi_dev mklabel gpt print > out 2>&1 || fail=1 grep '^Sector' out > k 2>&1 || fail=1 mv k out || fail=1 compare out exp || fail=1 Exit $fail parted-2.3/tests/t0250-gpt.sh0000744000000000000000000000255011333731662012574 00000000000000#!/bin/sh # very basic GPT table # Copyright (C) 2008-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . if test "$VERBOSE" = yes; then set -x parted --version fi : ${srcdir=.} . $srcdir/t-lib.sh dev=loop-file nb=512 n_sectors=$(expr $nb '*' 512 / $sector_size_) fail=0 # create zeroed device dd if=/dev/zero bs=512 count=$nb of=$dev || fail=1 # create gpt label parted -s $dev mklabel gpt > empty 2>&1 || fail=1 # ensure there was no output compare /dev/null empty || fail=1 # print the empty table parted -m -s $dev unit s print > t 2>&1 || fail=1 sed "s,.*/$dev:,$dev:," t > out || fail=1 # check for expected output printf "BYT;\n$dev:${n_sectors}s:file:$sector_size_:$sector_size_:gpt:;\n" \ > exp || fail=1 compare exp out || fail=1 Exit $fail parted-2.3/tests/t0010-script-no-ctrl-chars.sh0000744000000000000000000000247611333731662015761 00000000000000#!/bin/sh # Ensure that printing with -s outputs no readline control chars # Copyright (C) 2009-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . if test "$VERBOSE" = yes; then set -x parted --version fi : ${srcdir=.} . $srcdir/t-lib.sh ss=$sector_size_ n_sectors=5000 dev=loop-file fail=0 dd if=/dev/null of=$dev bs=$ss seek=$n_sectors || fail=1 parted -s $dev mklabel msdos > out 2>&1 || fail=1 # expect no output compare out /dev/null || fail=1 # print partition table in --script mode TERM=xterm parted -m -s $dev u s p > out 2>&1 || fail=1 sed "s,.*/$dev:,$dev:," out > k && mv k out || fail=1 printf "BYT;\n$dev:${n_sectors}s:file:$ss:$ss:msdos:;\n" > exp || fail=1 compare out exp || fail=1 Exit $fail parted-2.3/tests/print-max.c0000644000000000000000000000150311307757277012770 00000000000000#include #include #include #include #include "closeout.h" #include "progname.h" int main (int argc, char **argv) { atexit (close_stdout); set_program_name (argv[0]); if (argc != 2) return EXIT_FAILURE; char const *dev_name = argv[1]; PedDevice *dev = ped_device_get (dev_name); if (dev == NULL) return EXIT_FAILURE; PedDisk *disk = ped_disk_new (dev); if (disk == NULL) return EXIT_FAILURE; PedSector max_length = ped_disk_max_partition_length (disk); PedSector max_start_sector = ped_disk_max_partition_start_sector (disk); printf ("max len: %llu\n", (unsigned long long) max_length); printf ("max start sector: %llu\n", (unsigned long long) max_start_sector); ped_disk_destroy (disk); ped_device_destroy (dev); return EXIT_SUCCESS; } parted-2.3/tests/t6000-dm.sh0000744000000000000000000000502011333731662012374 00000000000000#!/bin/sh # ensure that parted can distinguish device map types: linear, multipath # Copyright (C) 2008-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . if test "$VERBOSE" = yes; then set -x parted --version fi : ${srcdir=.} . $srcdir/t-lib.sh require_root_ lvm_init_root_dir_ test "x$ENABLE_DEVICE_MAPPER" = xyes \ || skip_test_ "no device-mapper support" # Device maps names - should be random to not conflict with existing ones on # the system linear_=plinear-$$ mpath_=mpath-$$ d1= d2= d3= f1= f2= f3= cleanup_() { dmsetup remove $linear_ dmsetup remove $mpath_ test -n "$d1" && losetup -d "$d1" test -n "$d2" && losetup -d "$d2" test -n "$d3" && losetup -d "$d3" rm -f "$f1" "$f2" "$f3"; } f1=$(pwd)/1; d1=$(loop_setup_ "$f1") \ || skip_test_ "is this partition mounted with 'nodev'?" fail=0 # setup: create loop devices f2=$(pwd)/2 && d2=$(loop_setup_ "$f2") || fail=1 f3=$(pwd)/3 && d3=$(loop_setup_ "$f3") || fail=1 # This loop used to include "multipath", but lvm2 changed # in such a way that that no longer works with loop devices. # FIXME: use two scsi_debug devices instead. for type in linear ; do case $type in linear) type_kwd=$linear_ dmsetup_cmd="0 1024 linear $d1 0" ;; *) type_kwd=$mpath_ dmsetup_cmd="0 1024 multipath 0 0 1 1 round-robin 0 2 0 $d2 $d3" ;; esac # setup: create a mapping echo "$dmsetup_cmd" | dmsetup create "$type_kwd" || fail=1 dev="$DM_DEV_DIR/mapper/$type_kwd" # Create msdos partition table parted -s $dev mklabel msdos > out 2>&1 || fail=1 compare out /dev/null || fail=1 parted -s "$dev" print > out 2>&1 || fail=1 # Create expected output file. cat <> exp || fail=1 Model: Linux device-mapper ($type) (dm) Disk $dev: 524kB Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags EOF compare out exp || fail=1 done Exit $fail parted-2.3/tests/t0100-print.sh0000744000000000000000000000376111333731662013135 00000000000000#!/bin/sh # the most basic 'print' test # Copyright (C) 2007, 2009-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . if test "$VERBOSE" = yes; then set -x parted --version fi : ${srcdir=.} . $srcdir/t-lib.sh ss=$sector_size_ ss=$sector_size_ dev=loop-file { cat < exp || framework_failure # Using msdos_magic='\x55\xaa' looks nicer, but isn't portable. # dash's builtin printf doesn't recognize such \xHH hexadecimal escapes. msdos_magic='\125\252' fail=0 # The extra 3KB+ zero bytes at the end are to avoid triggering a failure # on linux-2.6.8 that's probably related to opening with O_DIRECT. # Note that the minimum number of appended zero bytes required to avoid # the failure was 3465. Here, we append a little more to make the resulting # file have a total size of exactly 8 sectors. # setup: create the most basic partition table, manually { dd if=/dev/zero bs=510 count=1; printf "$msdos_magic" dd if=/dev/zero bs=$(expr 8 '*' $ss - 510) count=1; } > $dev || fail=1 # print the empty table' \ parted -s $dev unit s print >out 2>&1 || fail=1 # prepare actual and expected output' \ mv out o2 && sed "s,^Disk .*/$dev:,Disk .../$dev:," o2 > out || fail=1 # check for expected output compare out exp || fail=1 Exit $fail parted-2.3/tests/test-lib.sh0000644000000000000000000002314611370314006012746 00000000000000#!/bin/sh # Derived from git's t/test-lib.sh. # Copyright (c) 2005 Junio C Hamano # For repeatability, reset the environment to known value. LANG=C LC_ALL=C TZ=UTC export LANG LC_ALL TZ export PARTED_SUPPRESS_FILE_SYSTEM_MANIPULATION_WARNING=1 . ./old-init.sh || { echo >&2 you must run make first; exit 1; } # Protect ourselves from common misconfiguration to export # CDPATH into the environment unset CDPATH # Avoid spurious test failures due to buggy ncurses-5.6. unset TERM # Each test should start with something like this, after copyright notices: # # test_description='Description of this test... # This test checks if command xyzzy does the right thing... # ' # . ./test-lib.sh skip_test_() { echo "$0: skipping test: $@" | head -1 1>&9 echo "$0: skipping test: $@" 1>&2 exit 77 } require_512_byte_sector_size_() { test $sector_size_ = 512 \ || skip_test_ FS test with sector size != 512 } error () { echo "* error: $*" trap - exit exit 1 } say () { echo "* $*" } this_test_() { expr "./$0" : '.*/\(t[0-9]*\)-[^/]*$'; } test "${test_description}" != "" || error "Test script did not set test_description." while test "$#" -ne 0 do case "$1" in -d|--d|--de|--deb|--debu|--debug) debug=t; shift ;; -i|--i|--im|--imm|--imme|--immed|--immedi|--immedia|--immediat|--immediate) immediate=t; shift ;; -h|--h|--he|--hel|--help) echo "$test_description" exit 0 ;; -v|--v|--ve|--ver|--verb|--verbo|--verbos|--verbose) verbose=t; shift ;; *) echo "invalid option: $1"; exit 1;; esac done exec 5>&1 if test "$verbose" = "t" then exec 4>&2 3>&1 else exec 4>/dev/null 3>/dev/null fi test_failure=0 test_count=0 trap 'echo >&5 "FATAL: Unexpected exit with code $?"; exit 1' exit # You are not expected to call test_ok_ and test_failure_ directly, use # the text_expect_* functions instead. test_ok_ () { test_count=$(expr "$test_count" + 1) say " ok $test_count: $@" } test_failure_ () { test_count=$(expr "$test_count" + 1) test_failure=$(expr "$test_failure" + 1); say "FAIL $test_count: $1" shift echo "$@" | sed -e 's/^/ /' test "$immediate" = "" || { trap - exit; exit 1; } } test_debug () { test "$debug" = "" || eval "$1" } test_run_ () { eval >&3 2>&4 "$1" eval_ret="$?" return 0 } test_skip () { this_test=$(this_test_) this_test="$this_test.$(expr "$test_count" + 1)" to_skip= for skp in $SKIP_TESTS do case "$this_test" in $skp) to_skip=t esac done case "$to_skip" in t) say >&3 "skipping test: $@" test_count=$(expr "$test_count" + 1) say "skip $test_count: $1" : true ;; *) false ;; esac } test_expect_failure () { test "$#" = 2 || error "bug in the test script: not 2 parameters to test-expect-failure" if ! test_skip "$@" then say >&3 "expecting failure: $2" test_run_ "$2" if test "$?" = 0 && test "$eval_ret" != 0 \ && test "$eval_ret" -lt 129 then test_ok_ "$1" else test_failure_ "$@" fi fi echo >&3 "" } test_expect_success () { test "$#" = 2 || error "bug in the test script: not 2 parameters to test-expect-success" if ! test_skip "$@" then say >&3 "expecting success: $2" test_run_ "$2" if test "$?" = 0 && test "$eval_ret" = 0 then test_ok_ "$1" else test_failure_ "$@" fi fi echo >&3 "" } test_expect_code () { test "$#" = 3 || error "bug in the test script: not 3 parameters to test-expect-code" if ! test_skip "$@" then say >&3 "expecting exit code $1: $3" test_run_ "$3" if test "$?" = 0 && test "$eval_ret" = "$1" then test_ok_ "$2" else test_failure_ "$@" fi fi echo >&3 "" } test_done () { case "$test_failure" in 0) # We could: # cd .. && rm -fr trash # but that means we forbid any tests that use their own # subdirectory from calling test_done without coming back # to where they started from. # The Makefile provided will clean this test area so # we will leave things as they are. say "passed all $test_count test(s)" exit 0 ;; *) say "failed $test_failure among $test_count test(s)" exit 1 ;; esac } this_test=$(this_test_) skip_=0 # If $privileges_required_ is nonempty, non-root skips this test. if test "$privileges_required_" != ''; then uid=`id -u` || error 'failed to run "id -u"' if test "$uid" != 0; then SKIP_TESTS="$SKIP_TESTS $this_test" say "you have insufficient privileges for test $this_test" skip_=1 fi fi # If $dvhtool_required_ is nonempty, and you lack the dvhtool program, # then skip this test. if test "$dvhtool_required_" != ''; then (dvhtool --help) > /dev/null 2>&1 || { SKIP_TESTS="$SKIP_TESTS $this_test" say "you lack dvhtool, which is required for test $this_test" skip_=1 } fi emit_superuser_warning() { uid=`id -u` || uid=1 test "$uid" != 0 && echo 'WARNING: You are not superuser. Watch out for permissions.' || : } # Test the binaries we have just built. pwd_=`pwd` parted_="$pwd_/../parted/parted" test_dir_=$PARTED_USABLE_TEST_DIR test $test_dir_ = . && test_dir_=$pwd_ fail= # Some tests require an actual hardware device, e.g., a real disk with a # spindle, a USB key, or a CD-RW. If this variable is nonempty, the user # has properly set the $DEVICE_TO_ERASE and $DEVICE_TO_ERASE_SIZE envvars, # then the test will proceed. Otherwise, it is skipped. if test $skip_ = 0 && test "$erasable_device_required_" != ''; then # Since testing a drive with parted destroys all data on that drive, # we have rather draconian safety requirements that should help avoid # accidents. If $dev_ is the name of the device, # - running "parted -s $dev_ print" must succeed, and # - its output must include a line matching /^Disk $dev_: $DEV_SIZE$/ # - Neither $dev_ nor any $dev_[0-9]* may be mounted. if test "$DEVICE_TO_ERASE" != '' && test "$DEVICE_TO_ERASE_SIZE" != ''; then dev_=$DEVICE_TO_ERASE sz=$DEVICE_TO_ERASE_SIZE parted_output=$($parted_ -s $dev_ print) || fail="no such device: $dev_" $parted_ -s $dev_ print|grep "^Disk $dev_: $sz$" \ > /dev/null || fail="actual device size is not $sz" # Try to see if $dev_ or any of its partitions is mounted. # This is not reliable. FIXME: find a better way. # Maybe expose parted's own test for whether a disk is in use. # The following assume that $dev_ is canonicalized, e.g., that $dev_ # contains no "//" or "/./" components. # Prefer df --local, if it works, so we don't waste time # enumerating lots of automounted file systems. ( df --local / > /dev/null 2>&1 ) && df='df --local' || df=df $df | grep "^$dev_" && fail="$dev_ is already mounted" $df | grep "^$dev_[0-9]" && fail="a partition of $dev_ is already mounted" # Skip this test and complain if anything failed. if test "$fail" != ''; then SKIP_TESTS="$SKIP_TESTS $this_test" say "invalid setup: $fail" fi else # Skip quietly if both envvars are not specified. SKIP_TESTS="$SKIP_TESTS $this_test" say 'This test requires an erasable device and you have not properly' say 'set the $DEVICE_TO_ERASE and $DEVICE_TO_ERASE_SIZE envvars.' fi fi # This is a stub function that is run upon trap (upon regular exit and # interrupt). Override it with a per-test function, e.g., to unmount # a partition, or to undo any other global state changes. cleanup_() { :; } for skp in $SKIP_TESTS do to_skip= for skp in $SKIP_TESTS do case "$this_test" in $skp) to_skip=t esac done case "$to_skip" in t) say >&3 "skipping test $this_test altogether" say "skip all tests in $this_test" trap - exit test_done esac done test_dir_rand_=$("$abs_top_srcdir/build-aux/mktempd" $test_dir_ \ parted-$this_test.XXXXXXXXXX) \ || error "failed to create temporary directory in $test_dir_" if test $skip_ = 0 && test "x$device_mapper_required_" != 'x'; then . "$abs_top_srcdir/tests/lvm-utils.sh" || exit 1 fi # Run each test from within a temporary sub-directory named after the # test itself, and arrange to remove it upon exception or normal exit. trap 'st=$?; cleanup_; d='"$test_dir_rand_"'; cd '"$test_dir_"' && chmod -R u+rwx "$d" && rm -rf "$d" && exit $st' 0 trap '(exit $?); exit $?' 1 2 13 15 cd "$test_dir_rand_" || error "failed to cd to $test_dir_rand_" if ( diff --version < /dev/null 2>&1 | grep GNU ) 2>&1 > /dev/null; then compare() { diff -u "$@"; } elif ( cmp --version < /dev/null 2>&1 | grep GNU ) 2>&1 > /dev/null; then compare() { cmp -s "$@"; } else compare() { cmp "$@"; } fi require_mdadm_() { ( mdadm --version ) > /dev/null 2>&1 || { say "skipping $0: could not find mdadm executable" test_done exit } } # Will look for an md number that is not in use and create a md device with # that number. If the system has more than 9 md devices, it will fail. mdadm_create_linear_device_() { lo_dev=$1 mdd=$G_dev_/md0 for i in 0 1 2 3 4 5 6 7 8 9 ; do mdd=$G_dev_/md$i mdadm --create --force $mdd --level=linear --raid-devices=1 $lo_dev \ > /dev/null 2>&1 \ && break if [ $i -eq 9 ]; then echo $mdd ; return 1 ; fi done echo $mdd return 0 } # Often, when parted cannot use the specified size or start/endpoints # of a partition, it outputs a warning or error like this: # # Error: You requested a partition from 512B to 50.7kB. # The closest location we can manage is 17.4kB to 33.8kB. # # But those numbers depend on sector size, so # replace the specific values with place-holders, # so tests do not depend on sector size. normalize_part_diag_() { local file=$1 sed 's/ [0-9.k]*B to [0-9.k]*B\.$/ X to Y./' $file > $file.t \ && mv $file.t $file && return 0 return 1 } require_xfs_() { ( mkfs.xfs -V ) >/dev/null 2>&1 || { say "skipping $0: this test requires XFS support" test_done exit } } sector_size_=${PARTED_SECTOR_SIZE:-512} parted-2.3/tests/t5000-tags.sh0000744000000000000000000000474111334561170012736 00000000000000#!/bin/sh # Copyright (C) 2007-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . test_description="test bios_grub flag in gpt labels" : ${srcdir=.} . $srcdir/test-lib.sh ss=$sector_size_ dev=loop-file N=4200 # number of sectors part_sectors=2048 start_sector=2048 end_sector=$(expr $start_sector + $part_sectors - 1) test_expect_success \ "setup: reasonable params" \ 'test $end_sector -lt $N' test_expect_success \ "setup: create zeroed device" \ 'dd if=/dev/zero of=$dev bs=${ss}c count=$N 2> /dev/null' test_expect_success \ 'create gpt label' \ 'parted -s $dev mklabel gpt > empty 2>&1' test_expect_success 'ensure there was no output' \ 'compare /dev/null empty' test_expect_success \ 'print the table (before adding a partition)' \ 'parted -m -s $dev unit s print > t 2>&1 && sed 's,.*/$dev:,$dev:,' t > out' test_expect_success \ 'check for expected output' \ 'printf "BYT;\n$dev:${N}s:file:$ss:$ss:gpt:;\n" > exp && compare exp out' test_expect_success \ 'add a partition' \ 'parted -s $dev u s mkpart name1 ${start_sector} ${end_sector} >out 2>&1' test_expect_success \ 'print the table before modification' \ ' parted -m -s $dev unit s print > t 2>&1 && sed 's,.*/$dev:,$dev:,' t >> out ' test_expect_success \ 'set the new bios_grub attribute' \ 'parted -m -s $dev set 1 bios_grub on' test_expect_success \ 'print the table after modification' \ ' parted -m -s $dev unit s print > t 2>&1 sed 's,.*/$dev:,$dev:,' t >> out ' gen_exp() { cat < exp && compare exp out ' test_done parted-2.3/tests/t3200-type-change.sh0000744000000000000000000000505411333731662014206 00000000000000#!/bin/sh # Ensure parted doesn't change the type of a partition to match its FS. # Copyright (C) 2009-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . if test "$VERBOSE" = yes; then set -x parted --version fi : ${srcdir=.} . $srcdir/t-lib.sh require_root_ require_scsi_debug_module_ # check for scsi_debug module modprobe -n scsi_debug || skip_test_ "you lack the scsi_debug kernel module" grep '^#define USE_BLKID 1' "$CONFIG_HEADER" > /dev/null || skip_test_ 'this system lacks a new-enough libblkid' # create memory-backed device scsi_debug_setup_ dev_size_mb=550 > dev-name || skip_test_ 'failed to create scsi_debug device' scsi_dev=$(cat dev-name) # Create an empty partition of "type fat32", and then create an actual # ext2 partition in it. Then "unset" the already unset LVM flag on that # partition and ensure that parted doesn't "helpfully" change the partition # type to match the newly-detected FS type. fail=0 parted -s $scsi_dev mklabel msdos mkpart primary fat32 64s 80000s || fail=1 parted -s $scsi_dev u s p p1=${scsi_dev}1 wait_for_dev_to_appear_ $p1 || fail=1 mkfs.ext2 $p1 || fail=1 # print as hex, the type of the first partition msdos_p1_type() { od -An --skip=450 -N1 -tx1 "$1"; } # Initially, it is 0x0c (FAT32). type=$(msdos_p1_type $scsi_dev) || fail=1 type=${type# } # remove leading space case $type in 0c) ;; *) fail_ "expected initial type of 0c (FAT32)";; esac parted -s $scsi_dev u s p parted -s $scsi_dev set 1 lvm off || fail=1 # Before parted-2.1, the above would mistakenly change it to 0x83, # to match the file system now residing in that partition. type=$(msdos_p1_type $scsi_dev) || fail=1 type=${type# } # remove leading space case $type in 0c) ;; *) fail_ "parted changed the type of partition 1 from 0c to $type";; esac # Ensure that setting the "lvm" flag still works. parted -s $scsi_dev set 1 lvm on || fail=1 parted -s $scsi_dev u s p > out || fail=1 grep lvm out || { fail=1; cat out; } Exit $fail parted-2.3/tests/t0220-gpt-msftres.sh0000744000000000000000000000466711334561170014261 00000000000000#!/bin/sh # Copyright (C) 2009-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . test_description='gpt default "flag" for a partition must not be msftres' : ${srcdir=.} . $srcdir/test-lib.sh ss=$sector_size_ dev=loop-file # FIXME: should be able to use "ufs" here, too, but that doesn't work. fs_types=' ext2 fat16 fat32 hfs hfs+ hfsx linux-swap NTFS reiserfs ' start=2048 part_size=2048 n_types=$(echo "$fs_types"|wc -w) # Create a "disk" with enough room for one partition per FS type, # and the overhead required for a GPT partition table. # 32 is the number of 512-byte sectors required to accommodate the # minimum size of the secondary GPT header at the end of the disk. n_sectors=$(expr $start + $n_types \* $part_size + 1 + 32) test_expect_success \ 'create a test file large enough for one partition per FS type' \ 'dd if=/dev/null of=$dev bs=$ss seek=$n_sectors' test_expect_success \ 'create a gpt partition table' \ 'parted -s $dev mklabel gpt > out 2>&1' test_expect_success 'expect no output' 'compare out /dev/null' printf "BYT;\n$dev:${n_sectors}s:file:$ss:$ss:gpt:;\n" > exp i=1 fail=0 rm -f out for type in $fs_types; do end=$(expr $start + $part_size - 1) echo "$i:${start}s:${end}s:${part_size}s::$type:;" >> exp || fail=1 parted -s $dev mkpart primary $type ${start}s ${end}s >> out 2>&1 || fail=1 parted -s $dev name $i $type >> out 2>&1 || fail=1 start=$(expr $end + 1) i=$(expr $i + 1) done test_expect_success \ "create $n_types partitions" \ 'test $fail = 0' test_expect_success 'expect no output' 'compare out /dev/null' rm -f out test_expect_success \ 'print partition table' \ 'parted -m -s $dev u s p > out 2>&1' sed "s,.*/$dev:,$dev:," out > k && mv k out && ok=1 || ok=0 test_expect_success \ 'match against expected output' \ 'test $ok = 1 && compare out exp' test_done parted-2.3/tests/t2100-mkswap.sh0000744000000000000000000000714111334561170013275 00000000000000#!/bin/sh # Copyright (C) 2007, 2009-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . test_description='create linux-swap partitions' : ${srcdir=.} . $srcdir/test-lib.sh require_512_byte_sector_size_ ###################################################################### # When creating a partition of type linux-swap(v1) in a DOS partition # table, ensure that the proper file system type (0x82) is used. # Some releases, e.g. parted-1.8.8 would mistakenly use 0x83. ###################################################################### N=2M dev=loop-file dev2=loop-file-2 test_expect_success \ 'create a file to simulate the underlying device' \ 'dd if=/dev/null of=$dev bs=1 seek=$N 2> /dev/null' test_expect_success \ 'label the test disk' \ 'parted -s $dev mklabel msdos > out 2>&1' test_expect_success 'expect no output' 'compare out /dev/null' test_expect_success \ 'create a partition' \ 'parted -s $dev mkpart primary 2048s 4095s > out 2>&1' test_expect_success 'expect no output' 'compare out /dev/null' test_expect_success \ 'create a linux-swap file system' \ 'parted -s $dev mkfs 1 "linux-swap(v1)" > out 2>&1' test_expect_success 'expect no output' 'compare out /dev/null' # Extract the byte at offset 451. It must be 0x82, not 0x83. test_expect_success \ 'extract byte 451 (fs-type)' \ 'od -t x1 -An -j450 -N1 $dev > out && echo " 82" > exp' test_expect_success 'expect it to be 82, not 83' 'compare out exp' test_expect_success \ 'create another file to simulate the underlying device' \ 'dd if=/dev/null of=$dev2 bs=1 seek=$N 2> /dev/null' test_expect_success \ 'label another test disk' \ 'parted -s $dev2 mklabel msdos > out 2>&1' test_expect_success 'expect no output' 'compare out /dev/null' test_expect_success \ 'create another partition' \ 'parted -s $dev2 mkpart primary 2048s 4095s > out 2>&1' test_expect_success 'expect no output' 'compare out /dev/null' test_expect_success \ 'create another linux-swap file system' \ 'parted -s $dev2 mkfs 1 "linux-swap(v1)" > out 2>&1' test_expect_success 'expect no output' 'compare out /dev/null' # partition starts at offset 1048576; swap UUID is 1036 bytes in test_expect_success \ 'extract UUID 1' \ 'od -t x1 -An -j1049612 -N16 $dev > uuid1' test_expect_success \ 'extract UUID 2' \ 'od -t x1 -An -j1049612 -N16 $dev2 > uuid2' test_expect_failure \ 'two linux-swap file systems have different UUIDs' \ 'compare uuid1 uuid2' test_expect_success \ 'check linux-swap file system' \ 'parted -s $dev2 check 1 > out 2>&1' test_expect_success 'expect no output' 'compare out /dev/null' test_expect_success \ 'extract new UUID 2' \ 'od -t x1 -An -j1049612 -N16 $dev2 > uuid2-new' test_expect_success \ 'check preserves linux-swap UUID' \ 'compare uuid2 uuid2-new' test_expect_success \ 'create a linux-swap file system via alias' \ 'parted -s $dev mkfs 1 linux-swap > out 2>&1' test_expect_success 'expect no output' 'compare out /dev/null' test_done parted-2.3/tests/t4100-dvh-partition-limits.sh0000744000000000000000000001264611370314006016064 00000000000000#!/bin/sh # Copyright (C) 2008-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . test_description='enforce limits on partition start sector and length' # Need root privileges to use mount. privileges_required_=1 : ${srcdir=.} . $srcdir/test-lib.sh require_xfs_ ss=$sector_size_ # On a 32-bit system, we must skip this test when $ss >= 4096. # Otherwise, due to an inherent 32-bit-XFS limit, dd would fail to # create the file of size > 16TiB if test $(uname -m) != x86_64; then test $ss -le 2048 || exit 77 fi #################################################### # Create and mount a file system capable of dealing with >=2TB files. # We must be able to create a file with an apparent length of 2TB or larger. # It needn't be a large file system. fs=fs_file mp=`pwd`/mount-point n=4096 test_expect_success \ 'create an XFS file system' \ ' dd if=/dev/zero of=$fs bs=1MB count=2 seek=20 && mkfs.xfs -f -q $fs && mkdir "$mp" ' # Unmount upon interrupt, failure, etc., as well as upon normal completion. cleanup_() { cd "$test_dir_" && umount "$mp" > /dev/null 2>&1; } test_expect_success \ 'mount it' \ ' mount -o loop $fs "$mp" && cd "$mp" ' dev=loop-file do_mkpart() { start_sector=$1 end_sector=$2 # echo '********' $(echo $end_sector - $start_sector + 1 |bc) dd if=/dev/zero of=$dev bs=$ss count=2k seek=$end_sector 2> /dev/null && parted -s $dev mklabel $table_type && parted -s $dev mkpart p xfs ${start_sector}s ${end_sector}s } # Specify the starting sector number and length in sectors, # rather than start and end. do_mkpart_start_and_len() { start_sector=$1 len=$2 end_sector=$(echo $start_sector + $len - 1|bc) do_mkpart $start_sector $end_sector } for table_type in dvh; do test_expect_success \ "$table_type: a partition length of 2^32-1 works." \ ' end=$(echo $n+2^32-2|bc) && do_mkpart $n $end ' test_expect_success \ 'print the result' \ 'parted -s $dev unit s p > out 2>&1 && sed -n "/^ *1 *$n/s/ */ /gp" out|sed "s/ *\$//" > k && mv k out && echo " 1 ${n}s ${end}s 4294967295s primary" > exp && diff -u out exp ' test_expect_failure \ "$table_type: a partition length of exactly 2^32 sectors provokes failure." \ 'do_mkpart $n $(echo $n+2^32-1|bc) > err 2>&1' bad_part_length() { echo "Error: partition length of $1 sectors exceeds the"\ "$table_type-partition-table-imposed maximum of 4294967295"; } test_expect_success \ 'check for new diagnostic' \ 'bad_part_length 4294967296 > exp && diff -u err exp' # FIXME: investigate this. # Unexpectedly to me, both of these failed with this same diagnostic: # # Error: partition length of 4294967296 sectors exceeds the \ # DOS-partition-table-imposed maximum of 2^32-1" > exp && # # I expected the one below to fail with a length of _4294967297_. # Debugging, I see that _check_partition *does* detect this, # but the diagnostic doesn't get displayed because of the wonders # of parted's exception mechanism. test_expect_failure \ "$table_type: a partition length of 2^32+1 sectors provokes failure." \ 'do_mkpart $n $(echo $n+2^32|bc) > err 2>&1' test_expect_success \ 'check for new diagnostic' \ 'bad_part_length 4294967297 > exp && diff -u err exp' # ========================================================= # Now consider partition starting sector numbers. bad_start_sector() { echo "Error: starting sector number, $1 exceeds the"\ "$table_type-partition-table-imposed maximum of 4294967295"; } test_expect_success \ "$table_type: a partition start sector number of 2^32-1 works." \ 'do_mkpart_start_and_len $(echo 2^32-1|bc) 1000' # FIXME: this partition number 9 (not requested!) looks totally bogus # FIXME: For now, we just expect what the code produces. # FIXME: In the long run, figure out if it's sensible. cat > exp < out 2>&1 && sed "s/Disk .*:/Disk:/;s/ *$//" out > k && mv k out && diff -u out exp ' test_expect_failure \ "$table_type: a partition start sector number of 2^32 must fail." \ 'do_mkpart_start_and_len $(echo 2^32|bc) 1000 > err 2>&1' test_expect_success \ 'check for new diagnostic' \ 'bad_start_sector 4294967296 > exp && diff -u err exp' test_expect_failure \ "$table_type: a partition start sector number of 2^32+1 must fail, too." \ 'do_mkpart_start_and_len $(echo 2^32+1|bc) 1000 > err 2>&1' test_expect_success \ 'check for new diagnostic' \ 'bad_start_sector 4294967297 > exp && diff -u err exp' done test_done parted-2.3/tests/t-lvm.sh0000644000000000000000000000540711324137521012266 00000000000000# Put lvm-related utilities here. # This file is sourced from test-lib.sh. # Copyright (C) 2007, 2008 Red Hat, Inc. All rights reserved. # # This copyrighted material is made available to anyone wishing to use, # modify, copy, or redistribute it subject to the terms and conditions # of the GNU General Public License v.2. # # 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 export LVM_SUPPRESS_FD_WARNINGS=1 ME=$(basename "$0") warn() { echo >&2 "$ME: $@"; } unsafe_losetup_() { f=$1 test -n "$G_dev_" \ || error "Internal error: unsafe_losetup_ called before init_root_dir_" # Iterate through $G_dev_/loop{,/}{0,1,2,3,4,5,6,7,8,9} for slash in '' /; do for i in 0 1 2 3 4 5 6 7 8 9; do dev=$G_dev_/loop$slash$i losetup $dev > /dev/null 2>&1 && continue; losetup "$dev" "$f" > /dev/null && { echo "$dev"; return 0; } break done done return 1 } loop_setup_() { file=$1 dd if=/dev/zero of="$file" bs=1M count=1 seek=1000 > /dev/null 2>&1 \ || { warn "loop_setup_ failed: Unable to create tmp file $file"; return 1; } # NOTE: this requires a new enough version of losetup dev=$(unsafe_losetup_ "$file" 2>/dev/null) \ || { warn "loop_setup_ failed: Unable to create loopback device"; return 1; } echo "$dev" return 0; } # set up private /dev and /etc lvm_init_root_dir_() { test -n "$t_" \ || skip_test_ "Internal error: called lvm_init_root_dir_ before" \ "defining \$t_" test_dir_rand_=$t_ # Define these two globals. G_root_=$test_dir_rand_/root G_dev_=$G_root_/dev export LVM_SYSTEM_DIR=$G_root_/etc export DM_DEV_DIR=$G_dev_ # Only the first caller does anything. mkdir -p $G_root_/etc $G_dev_ $G_dev_/mapper $G_root_/lib for i in 0 1 2 3 4 5 6 7; do mknod $G_root_/dev/loop$i b 7 $i done for i in $abs_top_builddir/dmeventd/mirror/*.so \ $abs_top_builddir/dmeventd/snapshot/*.so do # NOTE: This check is necessary because the loop above will give us the # value "$abs_top_builddir/dmeventd/mirror/*.so" if no files ending in # 'so' exist. This is the best way I could quickly determine to skip # over this bogus value. if [ -f $i ]; then echo Setting up symlink from $i to $G_root_/lib ln -s $i $G_root_/lib fi done cat > $G_root_/etc/lvm.conf <<-EOF devices { dir = "$G_dev_" scan = "$G_dev_" filter = [ "a/loop/", "a/mirror/", "a/mapper/", "r/.*/" ] cache_dir = "$G_root_/etc" sysfs_scan = 0 } log { verbose = $verboselevel syslog = 0 indent = 1 } backup { backup = 0 archive = 0 } global { library_dir = "$G_root_/lib" } EOF } parted-2.3/tests/Makefile.in0000644000000000000000000016211611400005575012737 00000000000000# Makefile.in generated by automake 1.11a from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ check_PROGRAMS = print-align$(EXEEXT) print-max$(EXEEXT) \ dup-clobber$(EXEEXT) subdir = tests DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \ $(top_srcdir)/m4/asm-underscore.m4 $(top_srcdir)/m4/assert.m4 \ $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/calloc.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \ $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/dirname.m4 \ $(top_srcdir)/m4/dos.m4 $(top_srcdir)/m4/double-slash-root.m4 \ $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/extensions.m4 \ $(top_srcdir)/m4/fclose.m4 $(top_srcdir)/m4/fcntl-o.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fpending.m4 \ $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getopt.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \ $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/lib-ignore.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \ $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \ $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/long-options.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \ $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/memchr.m4 \ $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \ $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/o-direct.m4 $(top_srcdir)/m4/open.m4 \ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \ $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/readlink.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/safe-read.m4 \ $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \ $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/symlink.m4 \ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \ $(top_srcdir)/m4/version-etc.m4 \ $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \ $(top_srcdir)/m4/wctype_h.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xstrndup.m4 \ $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/lib/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = dup_clobber_SOURCES = dup-clobber.c dup_clobber_OBJECTS = dup-clobber.$(OBJEXT) dup_clobber_LDADD = $(LDADD) dup_clobber_DEPENDENCIES = $(top_builddir)/libparted/libparted.la AM_V_lt = $(am__v_lt_$(V)) am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) am__v_lt_0 = --silent print_align_SOURCES = print-align.c print_align_OBJECTS = print-align.$(OBJEXT) print_align_LDADD = $(LDADD) print_align_DEPENDENCIES = $(top_builddir)/libparted/libparted.la print_max_SOURCES = print-max.c print_max_OBJECTS = print-max.$(OBJEXT) print_max_LDADD = $(LDADD) print_max_DEPENDENCIES = $(top_builddir)/libparted/libparted.la DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/lib depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_$(V)) am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) am__v_CC_0 = @echo " CC " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_$(V)) am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) am__v_CCLD_0 = @echo " CCLD " $@; AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; SOURCES = dup-clobber.c print-align.c print-max.c DIST_SOURCES = dup-clobber.c print-align.c print-max.c ETAGS = etags CTAGS = ctags # If stdout is a non-dumb tty, use colors. If test -t is not supported, # then this fails; a conservative approach. Of course do not redirect # stdout here, just stderr. am__tty_colors = \ red=; grn=; lgn=; blu=; std=; \ test "X$(AM_COLOR_TESTS)" != Xno \ && test "X$$TERM" != Xdumb \ && { test "X$(AM_COLOR_TESTS)" = Xalways || test -t 1 2>/dev/null; } \ && { \ red=''; \ grn=''; \ lgn=''; \ blu=''; \ std=''; \ } am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' # Restructured Text title and section. am__rst_title = sed 's/.*/ & /;h;s/./=/g;p;x;p;g;p;s/.*//' am__rst_section = sed 'p;s/./=/g;p;g' # Put stdin (possibly several lines separated by ". ") in a box. am__text_box = $(AWK) '{ \ n = split($$0, lines, "\\. "); max = 0; \ for (i = 1; i <= n; ++i) \ if (max < length(lines[i])) \ max = length(lines[i]); \ for (i = 0; i < max; ++i) line = line "="; \ print line; \ for (i = 1; i <= n; ++i) if (lines[i]) print lines[i];\ print line; \ }' # Solaris 10 'make', and several other traditional 'make' implementations, # pass "-e" to $(SHELL). This contradicts POSIX. Work around the problem # by disabling -e (using the XSI extension "set +e") if it's set. am__sh_e_setup = case $$- in *e*) set +e;; esac # To be inserted before the command running the test. Creates the # directory for the log if needed. Stores in $dir the directory # containing $f, in $tst the test, in $log the log, and passes # TESTS_ENVIRONMENT. Save and restore TERM around use of # TESTS_ENVIRONMENT, in case that unsets it. am__check_pre = \ $(am__sh_e_setup); \ $(am__vpath_adj_setup) $(am__vpath_adj) \ srcdir=$(srcdir); export srcdir; \ rm -f $@-t; \ am__trap='rm -f '\''$(abs_builddir)/$@-t'\''; (exit $$st); exit $$st'; \ trap "st=129; $$am__trap" 1; trap "st=130; $$am__trap" 2; \ trap "st=141; $$am__trap" 13; trap "st=143; $$am__trap" 15; \ am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`; \ test "x$$am__odir" = x. || $(MKDIR_P) "$$am__odir" || exit $$?; \ if test -f "./$$f"; then dir=./; \ elif test -f "$$f"; then dir=; \ else dir="$(srcdir)/"; fi; \ tst=$$dir$$f; log='$@'; __SAVED_TERM=$$TERM; \ $(TESTS_ENVIRONMENT) RECHECK_LOGS = $(TEST_LOGS) AM_RECURSIVE_TARGETS = check check-html recheck recheck-html TEST_SUITE_LOG = test-suite.log TEST_SUITE_HTML = $(TEST_SUITE_LOG:.log=.html) TEST_EXTENSIONS = @EXEEXT@ .test LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) am__test_logs1 = $(TESTS:=.log) am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) TEST_LOGS = $(am__test_logs2:.test.log=.log) TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ $(TEST_LOG_FLAGS) TEST_LOGS_TMP = $(TEST_LOGS:.log=.log-t) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ BUILDINFO = @BUILDINFO@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ CONFIG_INCLUDE = @CONFIG_INCLUDE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DL_LIBS = @DL_LIBS@ DM_LIBS = @DM_LIBS@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENABLE_DEVICE_MAPPER = @ENABLE_DEVICE_MAPPER@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPURGE = @GNULIB_FPURGE@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSTATAT = @GNULIB_FSTATAT@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETGROUPS = @GNULIB_GETGROUPS@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMCHR = @GNULIB_MEMCHR@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDIRAT = @GNULIB_MKDIRAT@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKFIFO = @GNULIB_MKFIFO@ GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@ GNULIB_MKNOD = @GNULIB_MKNOD@ GNULIB_MKNODAT = @GNULIB_MKNODAT@ GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PTSNAME = @GNULIB_PTSNAME@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ GNULIB_RMDIR = @GNULIB_RMDIR@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STAT = @GNULIB_STAT@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNCAT = @GNULIB_STRNCAT@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRPTIME = @GNULIB_STRPTIME@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNLINK = @GNULIB_UNLINK@ GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_USLEEP = @GNULIB_USLEEP@ GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_FUTIMENS = @HAVE_FUTIMENS@ HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETGROUPS = @HAVE_GETGROUPS@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@ HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@ HAVE_LANGINFO_H = @HAVE_LANGINFO_H@ HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LCHOWN = @HAVE_LCHOWN@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LOCALTIME_R = @HAVE_LOCALTIME_R@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_MKFIFO = @HAVE_MKFIFO@ HAVE_MKFIFOAT = @HAVE_MKFIFOAT@ HAVE_MKNOD = @HAVE_MKNOD@ HAVE_MKNODAT = @HAVE_MKNODAT@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ HAVE_OS_H = @HAVE_OS_H@ HAVE_PIPE2 = @HAVE_PIPE2@ HAVE_PREAD = @HAVE_PREAD@ HAVE_PTSNAME = @HAVE_PTSNAME@ HAVE_PWRITE = @HAVE_PWRITE@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TTYNAME_R = @HAVE_TTYNAME_R@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_USLEEP = @HAVE_USLEEP@ HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ HAVE_WCRTOMB = @HAVE_WCRTOMB@ HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE__BOOL = @HAVE__BOOL@ IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ INTLINCS = @INTLINCS@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ LIBTOOL = @LIBTOOL@ LIB_BLKID = @LIB_BLKID@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@ LOCALE_JA = @LOCALE_JA@ LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTALLOCA = @LTALLOCA@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ NEXT_WCTYPE_H = @NEXT_WCTYPE_H@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OS = @OS@ OS_LIBS = @OS_LIBS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PARTEDLDFLAGS = @PARTEDLDFLAGS@ PARTED_LIBS = @PARTED_LIBS@ PARTED_USABLE_TEST_DIR = @PARTED_USABLE_TEST_DIR@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POSUB = @POSUB@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PRIPTR_PREFIX = @PRIPTR_PREFIX@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REISER_LIBS = @REISER_LIBS@ REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FSTAT = @REPLACE_FSTAT@ REPLACE_FSTATAT = @REPLACE_FSTATAT@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ REPLACE_MBRLEN = @REPLACE_MBRLEN@ REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ REPLACE_MBSINIT = @REPLACE_MBSINIT@ REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_OPENAT = @REPLACE_OPENAT@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALPATH = @REPLACE_REALPATH@ REPLACE_REMOVE = @REPLACE_REMOVE@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRNCAT = @REPLACE_STRNCAT@ REPLACE_STRNDUP = @REPLACE_STRNDUP@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ REPLACE_UNSETENV = @REPLACE_UNSETENV@ REPLACE_USLEEP = @REPLACE_USLEEP@ REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ SELINUX_LIBS = @SELINUX_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_NLS = @USE_NLS@ UUID_LIBS = @UUID_LIBS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_aux_dir = @abs_aux_dir@ 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@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ gltests_WITNESS = @gltests_WITNESS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ XFAIL_TESTS = \ t3200-type-change.sh TESTS = \ help-version \ t0000-basic.sh \ t0001-tiny.sh \ t0010-script-no-ctrl-chars.sh \ t0100-print.sh \ t0200-gpt.sh \ t0201-gpt.sh \ t0202-gpt-pmbr.sh \ t0205-gpt-list-clobbers-pmbr.sh \ t0206-gpt-print-with-corrupt-primary-clobbers-pmbr.sh \ t0220-gpt-msftres.sh \ t0250-gpt.sh \ t0280-gpt-corrupt.sh \ t0300-dos-on-gpt.sh \ t0400-loop-clobber-infloop.sh \ t0500-dup-clobber.sh \ t1100-busy-label.sh \ t1700-ext-probe.sh \ t2100-mkswap.sh \ t2200-dos-label-recog.sh \ t2300-dos-label-extended-bootcode.sh \ t2310-dos-extended-2-sector-min-offset.sh \ t2400-dos-hfs-partition-type.sh \ t3000-resize-fs.sh \ t3200-type-change.sh \ t3300-palo-prep.sh \ t3310-flags.sh \ t4000-sun-raid-type.sh \ t4001-sun-vtoc.sh \ t4100-msdos-partition-limits.sh \ t4100-dvh-partition-limits.sh \ t4100-msdos-starting-sector.sh \ t4200-partprobe.sh \ t5000-tags.sh \ t6000-dm.sh \ t7000-scripting.sh \ t8000-loop.sh \ t9010-big-sector.sh \ t9020-alignment.sh \ t9021-maxima.sh \ t9030-align-check.sh \ t9040-many-partitions.sh EXTRA_DIST = \ $(TESTS) test-lib.sh t-lib.sh lvm-utils.sh t-local.sh t-lvm.sh init.sh LDADD = \ $(top_builddir)/libparted/libparted.la AM_CPPFLAGS = \ -I$(top_srcdir)/lib \ -I$(top_srcdir)/include AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) parted_dir = $(abs_top_builddir)/parted pp_dir = $(abs_top_builddir)/partprobe sep = $(PATH_SEPARATOR) CLEANFILES = old-init.sh # Note that the first lines are statements. They ensure that environment # variables that can perturb tests are unset or set to expected values. # The rest are envvar settings that propagate build-related Makefile # variables to test scripts. TESTS_ENVIRONMENT = \ tmp__=$$TMPDIR; test -d "$$tmp__" || tmp__=.; \ TMPDIR=$$tmp__; export TMPDIR; \ exec 9>&2; \ shell_or_perl_() { \ if grep '^\#!/usr/bin/perl' "$$1" > /dev/null; then \ if $(PERL) -e 'use warnings' > /dev/null 2>&1; then \ grep '^\#!/usr/bin/perl -T' "$$1" > /dev/null && T_=T || T_=; \ $(PERL) -w$$T_ -I$(srcdir) -MCoreutils \ -M"CuTmpdir qw($$f)" -- "$$1"; \ else \ echo 1>&2 "$$tst: configure did not find a usable version of Perl," \ "so skipping this test"; \ (exit 77); \ fi; \ else \ $(SHELL) "$$1"; \ fi; \ }; \ export \ abs_top_builddir='$(abs_top_builddir)' \ abs_top_srcdir='$(abs_top_srcdir)' \ abs_srcdir='$(abs_srcdir)' \ built_programs=parted \ srcdir='$(srcdir)' \ top_srcdir='$(top_srcdir)' \ AWK='$(AWK)' \ CC='$(CC)' \ MAKE=$(MAKE) \ PACKAGE_BUGREPORT='$(PACKAGE_BUGREPORT)' \ PACKAGE_VERSION=$(PACKAGE_VERSION) \ CONFIG_HEADER='$(abs_top_builddir)/lib/config.h' \ ENABLE_DEVICE_MAPPER=$(ENABLE_DEVICE_MAPPER) \ PERL='$(PERL)' \ PREFERABLY_POSIX_SHELL='$(PREFERABLY_POSIX_SHELL)' \ REPLACE_GETCWD=$(REPLACE_GETCWD) \ PATH='$(abs_top_builddir)/parted$(PATH_SEPARATOR)'"$$PATH" \ VERSION=$(VERSION) \ ; shell_or_perl_ VERBOSE = yes all: all-am .SUFFIXES: .SUFFIXES: .c .html .lo .log .o .obj .test .test$(EXEEXT) $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu tests/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-checkPROGRAMS: @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list dup-clobber$(EXEEXT): $(dup_clobber_OBJECTS) $(dup_clobber_DEPENDENCIES) @rm -f dup-clobber$(EXEEXT) $(AM_V_CCLD)$(LINK) $(dup_clobber_OBJECTS) $(dup_clobber_LDADD) $(LIBS) print-align$(EXEEXT): $(print_align_OBJECTS) $(print_align_DEPENDENCIES) @rm -f print-align$(EXEEXT) $(AM_V_CCLD)$(LINK) $(print_align_OBJECTS) $(print_align_LDADD) $(LIBS) print-max$(EXEEXT): $(print_max_OBJECTS) $(print_max_DEPENDENCIES) @rm -f print-max$(EXEEXT) $(AM_V_CCLD)$(LINK) $(print_max_OBJECTS) $(print_max_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dup-clobber.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/print-align.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/print-max.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: $(HEADERS) $(SOURCES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags # To be appended to the command running the test. Handle the stdout # and stderr redirection, and catch the exit status. am__check_post = \ >$@-t 2>&1; \ estatus=$$?; \ if test -n '$(DISABLE_HARD_ERRORS)' \ && test $$estatus -eq 99; then \ estatus=1; \ fi; \ TERM=$$__SAVED_TERM; export TERM; \ $(am__tty_colors); \ xfailed=PASS; \ case " $(XFAIL_TESTS) " in \ *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ xfailed=XFAIL;; \ esac; \ case $$estatus:$$xfailed in \ 0:XFAIL) col=$$red; res=XPASS;; \ 0:*) col=$$grn; res=PASS ;; \ 77:*) col=$$blu; res=SKIP ;; \ 99:*) col=$$red; res=FAIL ;; \ *:XFAIL) col=$$lgn; res=XFAIL;; \ *:*) col=$$red; res=FAIL ;; \ esac; \ echo "$${col}$$res$${std}: $$f"; \ echo "$$res: $$f (exit: $$estatus)" | \ $(am__rst_section) >$@; \ cat $@-t >>$@; \ rm -f $@-t $(TEST_SUITE_LOG): $(TEST_LOGS) @$(am__sh_e_setup); \ list='$(TEST_LOGS)'; \ results=`for f in $$list; do \ read line < $$f && echo "$$line" || echo FAIL; \ done`; \ all=`echo "$$results" | sed '/^$$/d' | wc -l | sed -e 's/^[ ]*//'`; \ fail=`echo "$$results" | grep -c '^FAIL'`; \ pass=`echo "$$results" | grep -c '^PASS'`; \ skip=`echo "$$results" | grep -c '^SKIP'`; \ xfail=`echo "$$results" | grep -c '^XFAIL'`; \ xpass=`echo "$$results" | grep -c '^XPASS'`; \ failures=`expr $$fail + $$xpass`; \ all=`expr $$all - $$skip`; \ if test "$$all" -eq 1; then tests=test; All=; \ else tests=tests; All="All "; fi; \ case fail=$$fail:xpass=$$xpass:xfail=$$xfail in \ fail=0:xpass=0:xfail=0) \ msg="$$All$$all $$tests passed. "; \ exit=true;; \ fail=0:xpass=0:xfail=*) \ msg="$$All$$all $$tests behaved as expected"; \ if test "$$xfail" -eq 1; then xfailures=failure; \ else xfailures=failures; fi; \ msg="$$msg ($$xfail expected $$xfailures). "; \ exit=true;; \ fail=*:xpass=0:xfail=*) \ msg="$$fail of $$all $$tests failed. "; \ exit=false;; \ fail=*:xpass=*:xfail=*) \ msg="$$failures of $$all $$tests did not behave as expected"; \ if test "$$xpass" -eq 1; then xpasses=pass; \ else xpasses=passes; fi; \ msg="$$msg ($$xpass unexpected $$xpasses). "; \ exit=false;; \ *) \ echo >&2 "incorrect case"; exit 4;; \ esac; \ if test "$$skip" -ne 0; then \ if test "$$skip" -eq 1; then \ msg="$$msg($$skip test was not run). "; \ else \ msg="$$msg($$skip tests were not run). "; \ fi; \ fi; \ { \ echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ $(am__rst_title); \ echo "$$msg"; \ echo; \ echo ".. contents:: :depth: 2"; \ echo; \ for f in $$list; do \ read line < $$f; \ case $$line in \ PASS:*|XFAIL:*);; \ *) echo; cat $$f;; \ esac; \ done; \ } >$(TEST_SUITE_LOG).tmp; \ mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ if test "$$failures" -ne 0; then \ msg="$${msg}See $(subdir)/$(TEST_SUITE_LOG). "; \ if test -n "$(PACKAGE_BUGREPORT)"; then \ msg="$${msg}Please report to $(PACKAGE_BUGREPORT). "; \ fi; \ fi; \ test x"$$VERBOSE" = x || $$exit || cat $(TEST_SUITE_LOG); \ $(am__tty_colors); \ if $$exit; then \ echo $(ECHO_N) "$$grn$(ECHO_C)"; \ else \ echo $(ECHO_N) "$$red$(ECHO_C)"; \ fi; \ echo "$$msg" | $(am__text_box); \ echo $(ECHO_N) "$$std$(ECHO_C)"; \ $$exit # Run all the tests. check-TESTS: @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @list='$(TEST_LOGS)'; \ list=`for f in $$list; do \ test .log = $$f || echo $$f; \ done | tr '\012\015' ' '`; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$list" .log.html: @list='$(RST2HTML) $$RST2HTML rst2html rst2html.py'; \ for r2h in $$list; do \ if ($$r2h --version) >/dev/null 2>&1; then \ R2H=$$r2h; \ fi; \ done; \ if test -z "$$R2H"; then \ echo >&2 "cannot find rst2html, cannot create $@"; \ exit 2; \ fi; \ $$R2H $< >$@.tmp @mv $@.tmp $@ # Be sure to run check first, and then to convert the result. # Beware of concurrent executions. Run "check" not "check-TESTS", as # check-SCRIPTS and other dependencies are rebuilt by the former only. # And expect check to fail. check-html: @if $(MAKE) $(AM_MAKEFLAGS) check; then \ rv=0; else rv=$$?; \ fi; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_HTML) || exit 4; \ exit $$rv recheck recheck-html: @target=`echo $@ | sed 's,^re,,'`; \ list='$(TEST_LOGS)'; \ list=`for f in $$list; do \ test -f $$f || continue; \ if read line < $$f; then \ case $$line in FAIL*|XPASS*) echo $$f;; esac; \ else echo $$f; fi; \ done | tr '\012\015' ' '`; \ $(MAKE) $(AM_MAKEFLAGS) $$target AM_MAKEFLAGS='$(AM_MAKEFLAGS) TEST_LOGS="'"$$list"'"' help-version.log: help-version @p='help-version'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t0000-basic.sh.log: t0000-basic.sh @p='t0000-basic.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t0001-tiny.sh.log: t0001-tiny.sh @p='t0001-tiny.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t0010-script-no-ctrl-chars.sh.log: t0010-script-no-ctrl-chars.sh @p='t0010-script-no-ctrl-chars.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t0100-print.sh.log: t0100-print.sh @p='t0100-print.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t0200-gpt.sh.log: t0200-gpt.sh @p='t0200-gpt.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t0201-gpt.sh.log: t0201-gpt.sh @p='t0201-gpt.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t0202-gpt-pmbr.sh.log: t0202-gpt-pmbr.sh @p='t0202-gpt-pmbr.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t0205-gpt-list-clobbers-pmbr.sh.log: t0205-gpt-list-clobbers-pmbr.sh @p='t0205-gpt-list-clobbers-pmbr.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t0206-gpt-print-with-corrupt-primary-clobbers-pmbr.sh.log: t0206-gpt-print-with-corrupt-primary-clobbers-pmbr.sh @p='t0206-gpt-print-with-corrupt-primary-clobbers-pmbr.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t0220-gpt-msftres.sh.log: t0220-gpt-msftres.sh @p='t0220-gpt-msftres.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t0250-gpt.sh.log: t0250-gpt.sh @p='t0250-gpt.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t0280-gpt-corrupt.sh.log: t0280-gpt-corrupt.sh @p='t0280-gpt-corrupt.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t0300-dos-on-gpt.sh.log: t0300-dos-on-gpt.sh @p='t0300-dos-on-gpt.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t0400-loop-clobber-infloop.sh.log: t0400-loop-clobber-infloop.sh @p='t0400-loop-clobber-infloop.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t0500-dup-clobber.sh.log: t0500-dup-clobber.sh @p='t0500-dup-clobber.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t1100-busy-label.sh.log: t1100-busy-label.sh @p='t1100-busy-label.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t1700-ext-probe.sh.log: t1700-ext-probe.sh @p='t1700-ext-probe.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t2100-mkswap.sh.log: t2100-mkswap.sh @p='t2100-mkswap.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t2200-dos-label-recog.sh.log: t2200-dos-label-recog.sh @p='t2200-dos-label-recog.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t2300-dos-label-extended-bootcode.sh.log: t2300-dos-label-extended-bootcode.sh @p='t2300-dos-label-extended-bootcode.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t2310-dos-extended-2-sector-min-offset.sh.log: t2310-dos-extended-2-sector-min-offset.sh @p='t2310-dos-extended-2-sector-min-offset.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t2400-dos-hfs-partition-type.sh.log: t2400-dos-hfs-partition-type.sh @p='t2400-dos-hfs-partition-type.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t3000-resize-fs.sh.log: t3000-resize-fs.sh @p='t3000-resize-fs.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t3200-type-change.sh.log: t3200-type-change.sh @p='t3200-type-change.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t3300-palo-prep.sh.log: t3300-palo-prep.sh @p='t3300-palo-prep.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t3310-flags.sh.log: t3310-flags.sh @p='t3310-flags.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t4000-sun-raid-type.sh.log: t4000-sun-raid-type.sh @p='t4000-sun-raid-type.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t4001-sun-vtoc.sh.log: t4001-sun-vtoc.sh @p='t4001-sun-vtoc.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t4100-msdos-partition-limits.sh.log: t4100-msdos-partition-limits.sh @p='t4100-msdos-partition-limits.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t4100-dvh-partition-limits.sh.log: t4100-dvh-partition-limits.sh @p='t4100-dvh-partition-limits.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t4100-msdos-starting-sector.sh.log: t4100-msdos-starting-sector.sh @p='t4100-msdos-starting-sector.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t4200-partprobe.sh.log: t4200-partprobe.sh @p='t4200-partprobe.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t5000-tags.sh.log: t5000-tags.sh @p='t5000-tags.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t6000-dm.sh.log: t6000-dm.sh @p='t6000-dm.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t7000-scripting.sh.log: t7000-scripting.sh @p='t7000-scripting.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t8000-loop.sh.log: t8000-loop.sh @p='t8000-loop.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t9010-big-sector.sh.log: t9010-big-sector.sh @p='t9010-big-sector.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t9020-alignment.sh.log: t9020-alignment.sh @p='t9020-alignment.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t9021-maxima.sh.log: t9021-maxima.sh @p='t9021-maxima.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t9030-align-check.sh.log: t9030-align-check.sh @p='t9030-align-check.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) t9040-many-partitions.sh.log: t9040-many-partitions.sh @p='t9040-many-partitions.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) .test.log: @p='$<'; $(am__check_pre) $(TEST_LOG_COMPILE) "$$tst" $(am__check_post) @am__EXEEXT_TRUE@.test$(EXEEXT).log: @am__EXEEXT_TRUE@ @p='$<'; $(am__check_pre) $(TEST_LOG_COMPILE) "$$tst" $(am__check_post) distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) -test -z "$(TEST_LOGS_TMP)" || rm -f $(TEST_LOGS_TMP) -test -z "$(TEST_SUITE_HTML)" || rm -f $(TEST_SUITE_HTML) -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-checkPROGRAMS clean-generic clean-libtool \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: check-am check-html install-am install-strip recheck \ recheck-html .PHONY: CTAGS GTAGS all all-am check check-TESTS check-am check-html \ clean clean-checkPROGRAMS clean-generic clean-libtool \ cscopelist ctags distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ recheck recheck-html tags uninstall uninstall-am all: old-init.sh old-init.sh: Makefile.in rm -f $@-t $@ echo 'PARTED_USABLE_TEST_DIR="$(PARTED_USABLE_TEST_DIR)"' > $@-t echo 'abs_top_srcdir="$(abs_top_srcdir)"' >> $@-t echo 'PATH="$(parted_dir)$(sep)$(pp_dir)$(sep)$$PATH"' >> $@-t echo 'export PATH' >> $@-t chmod a-w $@-t mv $@-t $@ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: parted-2.3/tests/t0280-gpt-corrupt.sh0000744000000000000000000000631211334566630014275 00000000000000#!/bin/sh # corrupt a GPT table; ensure parted takes notice # Copyright (C) 2009-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . if test "$VERBOSE" = yes; then set -x parted --version fi : ${srcdir=.} . $srcdir/t-lib.sh dev=loop-file ss=$sector_size_ n_sectors=5000 fail=0 dd if=/dev/null of=$dev bs=$ss seek=$n_sectors || fail=1 # create gpt label parted -s $dev mklabel gpt > empty 2>&1 || fail=1 compare /dev/null empty || fail=1 # print the empty table parted -m -s $dev unit s print > t 2>&1 || fail=1 sed "s,.*/$dev:,$dev:," t > out || fail=1 # check for expected output printf "BYT;\n$dev:${n_sectors}s:file:$sector_size_:$sector_size_:gpt:;\n" \ > exp || fail=1 compare exp out || fail=1 # create a partition parted -s $dev mkpart sw linux-swap 2048s 4095s > empty 2>&1 || fail=1 compare /dev/null empty || fail=1 # We're going to change the name of the first partition, # thus invalidating the PartitionEntryArrayCRC32 checksum. orig_byte=$(gpt_corrupt_primary_table_ $dev $ss) || fail=1 # printing the table must succeed, but with a scary diagnostic. parted -s $dev print > err 2>&1 || fail=1 grep Error: err > k && mv k err || fail=1 # check for expected diagnostic echo 'Error: The primary GPT table is corrupt, but the backup appears OK,' \ 'so that will be used.' > exp || fail=1 compare exp err || fail=1 # ---------------------------------------------------------- # Now, restore things, and corrupt the MyLBA in the alternate GUID table. # Restore original byte gpt_restore_primary_table_ $dev $ss "$orig_byte" || fail=1 # print the table parted -s $dev print > out 2> err || fail=1 compare /dev/null err || fail=1 # The MyLBA member of the alternate table is in the last sector, # $n_sectors, 8-byte field starting at offset 24. alt_my_lba_offset=$(expr $n_sectors \* $ss - $ss + 24) # get the first byte of MyLBA byte=$(peek_ $dev $alt_my_lba_offset) || fail=1 # Perturb it. test x"$byte" = xA && new_byte=B || new_byte=A # Replace good byte with the bad one. poke_ $dev $alt_my_lba_offset "$new_byte" || fail=1 # attempting to set partition name must print a diagnostic parted -m -s $dev name 1 foo > err 2>&1 || fail=1 # check for expected diagnostic echo 'Error: The backup GPT table is corrupt, but the primary appears OK,' \ 'so that will be used.' > exp || fail=1 compare exp err || fail=1 # corruption is fixed; printing the table now elicits no diagnostic parted -m -s $dev u s print > out 2>&1 || fail=1 # check for expected output printf "BYT;\nfile\n1:2048s:4095s:2048s::foo:;\n" > exp || fail=1 sed "s/.*gpt:;/file/" out > k && mv k out || fail=1 compare exp out || fail=1 Exit $fail parted-2.3/tests/t2200-dos-label-recog.sh0000744000000000000000000000361611342670013014732 00000000000000#!/bin/sh # improved MSDOS partition-table recognition # Copyright (C) 2008-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . if test "$VERBOSE" = yes; then set -x parted --version fi : ${srcdir=.} . $srcdir/t-lib.sh ###################################################################### # With vestiges of a preceding FAT file system boot sector in the MBR, # parted 1.8.8.1.29 and earlier would fail to recognize a DOS # partition table. ###################################################################### ss=$sector_size_ N=8192 dev=loop-file # create a file to simulate the underlying device dd if=/dev/null of=$dev bs=$ss seek=$N 2> /dev/null || fail=1 # label the test disk parted -s $dev mklabel msdos > out 2>&1 || fail=1 compare out /dev/null || fail=1 # expect no output # create two partitions parted -s $dev mkpart primary 2048s 4095s \ mkpart primary 4096s 8191s > out 2>&1 || fail=1 compare out /dev/null || fail=1 # expect no output # write "FAT" where it would cause trouble printf FAT | dd bs=1c seek=82 count=3 of=$dev conv=notrunc || fail=1 # print the partition table parted -m -s $dev unit s p > out || fail=1 tail -2 out > k && mv k out || fail=1 printf "1:2048s:4095s:2048s:::;\n2:4096s:8191s:4096s:::;\n" > exp || fail=1 compare out exp || fail=1 Exit $fail parted-2.3/tests/t8000-loop.sh0000744000000000000000000000244411334561170012752 00000000000000#!/bin/sh # Test usage of loop devices # Copyright (C) 2008-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . if test "$VERBOSE" = yes; then set -x parted --version fi : ${srcdir=.} . $srcdir/t-lib.sh require_root_ lvm_init_root_dir_ d1= f1= cleanup_() { test -n "$d1" && losetup -d "$d1" rm -f "$f1" } f1=$(pwd)/1; d1=$(loop_setup_ "$f1") \ || skip_test_ "is this partition mounted with 'nodev'?" fail=0 # Expect this to succeed. parted -s $d1 mklabel msdos > err 2>&1 || fail=1 compare err /dev/null || fail=1 # expect no output # Create a partition parted -s $d1 mkpart primary 1 10 > err 2>&1 || fail=1 compare err /dev/null || fail=1 # expect no output Exit $fail parted-2.3/tests/t0001-tiny.sh0000744000000000000000000000311311333731662012753 00000000000000#!/bin/sh # operate on a very small (1-sector) "disk" # Copyright (C) 2009-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . if test "$VERBOSE" = yes; then set -x parted --version fi : ${srcdir=.} . $srcdir/t-lib.sh ss=$sector_size_ dev=loop-file fail=0 for opt in '' -s; do dd if=/dev/null of=$dev bs=1 seek=$ss || framework_failure # create an msdos partition table: # Before parted-2.1, without -s, this would fail with a bogus diagnostic: # Error: Success during read on .../tests/loop-file # Retry/Ignore/Cancel? ^C parted $opt $dev mklabel msdos ---pretend-input-tty out 2>&1 \ || fail=1 # expect no output sed 's/.*WARNING: You are not superuser.*//;/^$/d' out > k && mv k out \ || fail=1 # When run as root, there are just curses-related control chars. Remove them. sed 's/^.\{1,12\}$//;/^$/d' out > k && mv k out \ || fail=1 compare out /dev/null || fail=1 parted -s $dev p || fail=1 rm -f $dev done Exit $fail parted-2.3/tests/t2400-dos-hfs-partition-type.sh0000644000000000000000000000255711341753546016344 00000000000000#!/bin/sh # Ensure that an HFS partition in a dos table gets the right ID # Copyright (C) 2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . if test "$VERBOSE" = yes; then set -x parted --version fi : ${srcdir=.} . $srcdir/t-lib.sh dev=loop-file ss=$sector_size_ n_sectors=8000 fail=0 dd if=/dev/null of=$dev bs=$ss seek=$n_sectors || framework_failure # create a GPT partition table parted -s $dev mklabel msdos \ mkpart pri hfs 2048s 4095s \ mkpart pri hfs+ 4096s 6143s > out 2>&1 || fail=1 # expect no output compare out /dev/null || fail=1 # Extract the "type" byte of the first partition. od -An -j450 -tx1 -N1 $dev > out || fail=1 od -An -j466 -tx1 -N1 $dev >> out || fail=1 printf ' af\n af\n' > exp || fail=1 compare out exp || fail=1 Exit $fail parted-2.3/tests/t9030-align-check.sh0000644000000000000000000000333611360701556014155 00000000000000#!/bin/sh # exercise the new align-check command # Copyright (C) 2009-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . if test "$VERBOSE" = yes; then set -x parted --version fi : ${srcdir=.} . $srcdir/t-lib.sh require_root_ require_scsi_debug_module_ # check for scsi_debug module modprobe -n scsi_debug || skip_test_ "you lack the scsi_debug kernel module" grep '^#define USE_BLKID 1' "$CONFIG_HEADER" > /dev/null || skip_test_ 'this system lacks a new-enough libblkid' # create memory-backed device scsi_debug_setup_ dev_size_mb=550 physblk_exp=3 lowest_aligned=7 > dev-name || skip_test_ 'failed to create scsi_debug device' scsi_dev=$(cat dev-name) p1=${scsi_dev}1 fail=0 parted -s $scsi_dev mklabel gpt || fail=1 i=60 while :; do parted -s $scsi_dev mkpart p1 ext2 ${i}s 80000s || fail=1 wait_for_dev_to_appear_ $p1 || fail=1 parted -s $scsi_dev align-check min 1 > out 2>&1 result=$? test $(expr $i % 8) = 7 && exp_result=0 || exp_result=1 test $result = $exp_result || fail=1 compare out /dev/null || fail=1 parted -s $scsi_dev rm 1 i=$(expr $i + 1) test $i = 70 && break done Exit $fail parted-2.3/tests/t0200-gpt.sh0000744000000000000000000000320011333731662012560 00000000000000#!/bin/sh # Ensure that printing a GPT partition table does not modify it. # Copyright (C) 2009-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . if test "$VERBOSE" = yes; then set -x parted --version fi : ${srcdir=.} . $srcdir/t-lib.sh N=2M dev=loop-file # create a file large enough to hold a GPT partition table dd if=/dev/null of=$dev bs=1 seek=$N || framework_failure fail=0 # create a GPT partition table parted -s $dev mklabel gpt > out 2>&1 || fail=1 # expect no output compare out /dev/null || fail=1 # save a copy of the original primary GPT table dd if=$dev of=before count=1 skip=1 || fail=1 # extend the backing file by 1 byte printf x >> $dev || fail=1 # use parted simply to print the partition table parted -m -s $dev u s p > out 2> err || fail=1 # don't bother comparing stdout # expect no stderr compare err /dev/null || fail=1 # extract the primary GPT table again dd if=$dev of=after count=1 skip=1 || fail=1 # compare partition tables (they had better be identical) compare before after || fail=1 Exit $fail parted-2.3/tests/print-align.c0000644000000000000000000000221111275065566013267 00000000000000#include #include #include #include #include "closeout.h" #include "progname.h" int main (int argc, char **argv) { atexit (close_stdout); set_program_name (argv[0]); if (argc != 2) return EXIT_FAILURE; char const *dev_name = argv[1]; PedDevice *dev = ped_device_get (dev_name); if (dev == NULL) return EXIT_FAILURE; PedAlignment *pa_min = ped_device_get_minimum_alignment (dev); if (pa_min) printf ("minimum: %lld %lld\n", pa_min->offset, pa_min->grain_size); else printf ("minimum: - -\n"); free (pa_min); PedAlignment *pa_opt = ped_device_get_optimum_alignment (dev); if (pa_opt) printf ("optimal: %lld %lld\n", pa_opt->offset, pa_opt->grain_size); else printf ("optimal: - -\n"); free (pa_opt); PedDisk *disk = ped_disk_new (dev); if (disk == NULL) return EXIT_FAILURE; PedAlignment *part_align = ped_disk_get_partition_alignment (disk); if (part_align == NULL) return EXIT_FAILURE; printf ("partition alignment: %lld %lld\n", part_align->offset, part_align->grain_size); ped_device_destroy (dev); return EXIT_SUCCESS; } parted-2.3/tests/t0400-loop-clobber-infloop.sh0000644000000000000000000000215211333731662016017 00000000000000#!/bin/sh # do not infloop in loop_clobber # Copyright (C) 2009-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . if test "$VERBOSE" = yes; then set -x parted --version fi : ${srcdir=.} . $srcdir/t-lib.sh N=1M dev=loop-file fail=0 dd if=/dev/null of=$dev bs=1 seek=$N || fail=1 mkswap $dev || fail=1 # There was a small interval (no release) during which this would infloop. # create a dos partition table parted -s $dev mklabel msdos > out 2>&1 || fail=1 compare out /dev/null || fail=1 Exit $fail parted-2.3/tests/t0205-gpt-list-clobbers-pmbr.sh0000644000000000000000000000360711334345167016301 00000000000000#!/bin/sh # Ensure that printing a GPT partition table does not modify the pMBR. # Due to a bug in parted-2.1, "parted /dev/... print" would do just that. # Not a problem for most, but if you have a hybrid, e.g., gptsync'd # GPT/MBR table, merely listing the table with Parted-2.1 would clobber # the MBR part. # Copyright (C) 2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . if test "$VERBOSE" = yes; then set -x parted --version fi : ${srcdir=.} . $srcdir/t-lib.sh fail=0 ss=$sector_size_ n_sectors=400 dev=dev-file dd if=/dev/null of=$dev bs=$ss seek=$n_sectors || fail=1 parted -s $dev mklabel gpt || fail=1 parted -s $dev mkpart p1 101s 150s || fail=1 parted -s $dev mkpart p2 151s 200s || fail=1 parted -s $dev mkpart p3 201s 250s || fail=1 parted -m -s $dev u s p || fail=1 # Write non-NUL bytes all over the MBR, so we're likely to see any change. # However, be careful to leave the type of the first partition, 0xEE, # as well as the final two magic bytes. printf '%0450d\xee%059d\x55\xaa' 0 0 | dd of=$dev count=1 conv=notrunc || fail=1 dd if=$dev of=before count=1 || fail=1 chmod a-w $dev parted -m -s $dev u s p || fail=1 dd if=$dev of=after count=1 || fail=1 cmp before after || fail=1 Exit $fail parted-2.3/tests/help-version0000744000000000000000000002044111377171064013235 00000000000000#! /bin/sh # Make sure all these programs work properly # when invoked with --help or --version. # Copyright (C) 2000-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Ensure that $SHELL is set to *some* value and exported. # This is required for dircolors, which would fail e.g., when # invoked via debuild (which removes SHELL from the environment). test "x$SHELL" = x && SHELL=/bin/sh export SHELL . "${srcdir=.}/init.sh"; path_prepend_ ../parted expected_failure_status_chroot=125 expected_failure_status_env=125 expected_failure_status_nice=125 expected_failure_status_nohup=125 expected_failure_status_stdbuf=125 expected_failure_status_su=125 expected_failure_status_timeout=125 expected_failure_status_printenv=2 expected_failure_status_tty=3 expected_failure_status_sort=2 expected_failure_status_expr=3 expected_failure_status_lbracket=2 expected_failure_status_dir=2 expected_failure_status_ls=2 expected_failure_status_vdir=2 expected_failure_status_cmp=2 expected_failure_status_zcmp=2 expected_failure_status_sdiff=2 expected_failure_status_diff3=2 expected_failure_status_diff=2 expected_failure_status_zdiff=2 expected_failure_status_zgrep=2 expected_failure_status_zegrep=2 expected_failure_status_zfgrep=2 expected_failure_status_grep=2 expected_failure_status_egrep=2 expected_failure_status_fgrep=2 test "$built_programs" \ || fail_ "built_programs not specified!?!" test "$VERSION" \ || fail_ "set envvar VERSION; it is required for a PATH sanity-check" # Extract version from --version output of the first program for i in $built_programs; do v=$(env $i --version | sed -n '1s/.* //p;q') break done # Ensure that it matches $VERSION. test "x$v" = "x$VERSION" \ || fail_ "--version-\$VERSION mismatch" for lang in C fr da; do for i in $built_programs; do # Skip `test'; it doesn't accept --help or --version. test $i = test && continue; # false fails even when invoked with --help or --version. if test $i = false; then env LC_MESSAGES=$lang $i --help >/dev/null && fail=1 env LC_MESSAGES=$lang $i --version >/dev/null && fail=1 continue fi # The just-built install executable is always named `ginstall'. test $i = install && i=ginstall # Make sure they exit successfully, under normal conditions. env $i --help > h-$i || fail=1 env $i --version >/dev/null || fail=1 # Make sure they mention the bug-reporting address in --help output. grep "$PACKAGE_BUGREPORT" h-$i > /dev/null || fail=1 rm -f h-$i # Make sure they fail upon `disk full' error. if test -w /dev/full && test -c /dev/full; then env $i --help >/dev/full 2>/dev/null && fail=1 env $i --version >/dev/full 2>/dev/null && fail=1 status=$? test $i = [ && prog=lbracket || prog=$i eval "expected=\$expected_failure_status_$prog" test x$expected = x && expected=1 if test $status = $expected; then : # ok else fail=1 echo "*** $i: bad exit status \`$status' (expected $expected)," 1>&2 echo " with --help or --version output redirected to /dev/full" 1>&2 fi fi done done bigZ_in=bigZ-in.Z zin=zin.gz zin2=zin2.gz tmp=tmp-$$ tmp_in=in-$$ tmp_in2=in2-$$ tmp_dir=dir-$$ tmp_out=out-$$ mkdir $tmp || fail=1 cd $tmp || fail=1 comm_setup () { args="$tmp_in $tmp_in"; } csplit_setup () { args="$tmp_in //"; } cut_setup () { args='-f 1'; } join_setup () { args="$tmp_in $tmp_in"; } tr_setup () { args='a a'; } chmod_setup () { args="a+x $tmp_in"; } # Punt on these. chgrp_setup () { args=--version; } chown_setup () { args=--version; } mkfifo_setup () { args=--version; } mknod_setup () { args=--version; } # Punt on uptime, since it fails (e.g., failing to get boot time) # on some systems, and we shouldn't let that stop `make check'. uptime_setup () { args=--version; } # Create a file in the current directory, not in $TMPDIR. mktemp_setup () { args=mktemp.XXXX; } cmp_setup () { args="$tmp_in $tmp_in2"; } # Tell dd not to print the line with transfer rate and total. # The transfer rate would vary between runs. dd_setup () { args=status=noxfer; } zdiff_setup () { args="$zin $zin2"; } zcmp_setup () { args="$zin $zin2"; } zcat_setup () { args=$zin; } gunzip_setup () { args=$zin; } zmore_setup () { args=$zin; } zless_setup () { args=$zin; } znew_setup () { args=$bigZ_in; } zforce_setup () { args=$zin; } zgrep_setup () { args="z $zin"; } zegrep_setup () { args="z $zin"; } zfgrep_setup () { args="z $zin"; } gzexe_setup () { args=$tmp_in; } # We know that $tmp_in contains a "0" grep_setup () { args="0 $tmp_in"; } egrep_setup () { args="0 $tmp_in"; } fgrep_setup () { args="0 $tmp_in"; } diff_setup () { args="$tmp_in $tmp_in2"; } sdiff_setup () { args="$tmp_in $tmp_in2"; } diff3_setup () { args="$tmp_in $tmp_in2 $tmp_in2"; } cp_setup () { args="$tmp_in $tmp_in2"; } ln_setup () { args="$tmp_in ln-target"; } ginstall_setup () { args="$tmp_in $tmp_in2"; } mv_setup () { args="$tmp_in $tmp_in2"; } mkdir_setup () { args=$tmp_dir/subdir; } rmdir_setup () { args=$tmp_dir; } rm_setup () { args=$tmp_in; } shred_setup () { args=$tmp_in; } touch_setup () { args=$tmp_in2; } truncate_setup () { args="--reference=$tmp_in $tmp_in2"; } mkid_setup () { printf 'f(){}\ntypedef int t;\n' > f.c; args=. ; } lid_setup () { args=; } fid_setup () { args=f.c; } fnid_setup () { args=; } xtokid_setup () { args=; } aid_setup () { args=f; } eid_setup () { args=--version; } gid_setup () { args=f; } defid_setup () { args=t; } basename_setup () { args=$tmp_in; } dirname_setup () { args=$tmp_in; } expr_setup () { args=foo; } # Punt, in case GNU `id' hasn't been installed yet. groups_setup () { args=--version; } pathchk_setup () { args=$tmp_in; } yes_setup () { args=--version; } logname_setup () { args=--version; } nohup_setup () { args=--version; } printf_setup () { args=foo; } seq_setup () { args=10; } sleep_setup () { args=0; } su_setup () { args=--version; } stdbuf_setup () { args="-oL true"; } timeout_setup () { args=--version; } # I'd rather not run sync, since it spins up disks that I've # deliberately caused to spin down (but not unmounted). sync_setup () { args=--version; } test_setup () { args=foo; } # This is necessary in the unusual event that there is # no valid entry in /etc/mtab. df_setup () { args=/; } # This is necessary in the unusual event that getpwuid (getuid ()) fails. id_setup () { args=-u; } # Use env to avoid invoking built-in sleep of Solaris 11's /bin/sh. kill_setup () { env sleep 10m & args=$! } link_setup () { args="$tmp_in link-target"; } unlink_setup () { args=$tmp_in; } readlink_setup () { ln -s . slink args=slink; } stat_setup () { args=$tmp_in; } unlink_setup () { args=$tmp_in; } lbracket_setup () { args=": ]"; } parted_setup () { args="-s $tmp_in mklabel gpt" dd if=/dev/null of=$tmp_in seek=2000; } # Ensure that each program "works" (exits successfully) when doing # something more than --help or --version. for i in $built_programs; do # Skip these. case $i in chroot|stty|tty|false|chcon|runcon) continue;; esac rm -rf $tmp_in $tmp_in2 $tmp_dir $tmp_out $bigZ_in $zin $zin2 echo z |gzip > $zin cp $zin $zin2 cp $zin $bigZ_in # This is sort of kludgey: use numbers so this is valid input for factor, # and two tokens so it's valid input for tsort. echo 2147483647 0 > $tmp_in # Make $tmp_in2 identical. Then, using $tmp_in and $tmp_in2 as arguments # to the likes of cmp and diff makes them exit successfully. cp $tmp_in $tmp_in2 mkdir $tmp_dir # echo ================== $i test $i = [ && prog=lbracket || prog=$i if type ${prog}_setup > /dev/null 2>&1; then ${prog}_setup else args= fi if env $i $args < $tmp_in > $tmp_out; then : # ok else echo FAIL: $i fail=1 fi rm -rf $tmp_in $tmp_in2 $tmp_out $tmp_dir done Exit $fail parted-2.3/tests/t7000-scripting.sh0000744000000000000000000000525611333731662014012 00000000000000#!/bin/sh # Copyright (C) 2008-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . test_description='Make sure the scripting option works (-s) properly.' : ${srcdir=.} . $srcdir/test-lib.sh ss=$sector_size_ N=100 # number of sectors : ${abs_top_builddir=$(cd ../..; pwd)} : ${CONFIG_HEADER="$abs_top_builddir/lib/config.h"} config_h=$abs_top_srcdir grep '^#define HAVE_LIBREADLINE 1' $CONFIG_HEADER > /dev/null || { say "skipping $0: configured without readline support" test_done exit } fail=0 # The failure messages. cat << EOF > errS || fail=1 Error: You requested a partition from 512B to 50.7kB. The closest location we can manage is 17.4kB to 33.8kB. EOF normalize_part_diag_ errS || fail=1 { emit_superuser_warning sed s/Error/Warning/ errS printf 'Is this still acceptable to you?\nYes/No?'; } >> errI || fail=1 for mkpart in mkpart; do # Test for mkpart in scripting mode test_expect_success \ 'Create the test file' \ 'dd if=/dev/zero of=testfile bs=${ss}c count=$N 2> /dev/null' test_expect_failure \ "Test the scripting mode of $mkpart" \ 'parted -s testfile -- mklabel gpt '$mkpart' primary ext3 1s -1s > out' test_expect_success \ 'Compare the real error and the expected one' \ ' normalize_part_diag_ out && compare out errS ' # Test mkpart interactive mode. test_expect_success \ 'Create the test file' \ ' rm -f testfile dd if=/dev/zero of=testfile bs=${ss}c count=$N 2> /dev/null ' test_expect_failure \ "Test the interactive mode of $mkpart" \ 'echo n | \ parted ---pretend-input-tty testfile \ "mklabel gpt '$mkpart' primary ext3 1s -1s" > out ' # We have to format the output before comparing. test_expect_success \ 'normalize the actual output' \ ' printf x >> out && sed "s, * ,,;s, x$,,;/ n$/ {N;s, n\nx,,}" out > o2 && mv -f o2 out && normalize_part_diag_ out ' test_expect_success \ 'Compare the real error and the expected one' \ 'compare out errI' done test_done parted-2.3/tests/t0206-gpt-print-with-corrupt-primary-clobbers-pmbr.sh0000744000000000000000000000332711334566630022611 00000000000000#!/bin/sh # Ensure that printing a GPT partition table does not modify the pMBR. # Much like t0205, but with the addition of a corrupt PTE in primary table, # "parted $device print" would modify $device. # Copyright (C) 2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . if test "$VERBOSE" = yes; then set -x parted --version fi : ${srcdir=.} . $srcdir/t-lib.sh fail=0 ss=$sector_size_ n_sectors=400 dev=dev-file dd if=/dev/null of=$dev bs=$ss seek=$n_sectors || fail=1 parted -s $dev mklabel gpt || fail=1 parted -s $dev mkpart p1 128s 255s || fail=1 parted -m -s $dev u s p || fail=1 # Write non-NUL bytes all over the MBR, so we're likely to see any change. # However, be careful to leave the type of the first partition, 0xEE, # as well as the final two magic bytes. printf '%0450d\xee%059d\x55\xaa' 0 0 | dd of=$dev count=1 conv=notrunc || fail=1 dd if=$dev of=before count=1 || fail=1 orig_byte=$(gpt_corrupt_primary_table_ $dev $ss) || fail=1 parted -m -s $dev u s p || fail=1 dd if=$dev of=after count=1 || fail=1 cmp before after || fail=1 Exit $fail parted-2.3/tests/t2310-dos-extended-2-sector-min-offset.sh0000644000000000000000000000514511370314006020055 00000000000000#!/bin/sh # Ensure that parted leaves at least 2 sectors between the beginning # of an extended partition and the first logical partition. # Before parted-2.3, it could be made to leave just one, and that # would cause trouble with the Linux kernel. # Copyright (C) 2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . if test "$VERBOSE" = yes; then set -x parted --version fi : ${srcdir=.} . $srcdir/t-lib.sh require_root_ require_scsi_debug_module_ # check for scsi_debug module modprobe -n scsi_debug || skip_test_ "you lack the scsi_debug kernel module" # create memory-backed device scsi_debug_setup_ dev_size_mb=1 > dev-name || skip_test_ 'failed to create scsi_debug device' scsi_dev=$(cat dev-name) p1=${scsi_dev}1 p5=${scsi_dev}5 cat < exp || framework_failure BYT; $scsi_dev:2048s:scsi:512:512:msdos:Linux scsi_debug; 1:64s:128s:65s:::lba; 5:66s:128s:63s:::; EOF cat < err.exp || framework_failure Error: Error informing the kernel about modifications to partition $p5 -- Device or resource busy. This means Linux won't know about any changes you made to $p5 until you reboot -- so you shouldn't mount it or use it in any way before rebooting. Error: Failed to add partition 5 (Device or resource busy) EOF fail=0 # Create a DOS label with an extended partition starting at sector 64. parted -s $scsi_dev mklabel msdos || fail=1 parted --align=min -s $scsi_dev mkpart extended 64s 128s> out 2>&1 || fail=1 parted -m -s $scsi_dev u s print compare out /dev/null || fail=1 # Provoke a failure by trying to create a partition that starts just # one sector after the start of the extended partition. parted --align=min -s $scsi_dev mkpart logical 65s 128s > err 2>&1 && fail=1 compare err err.exp || fail=1 # The above failed, but created the partition nonetheless. Remove it. parted -s $scsi_dev rm 5 || fail=1 parted --align=min -s $scsi_dev mkpart logical 66s 128s > out 2>&1 || fail=1 compare out /dev/null || fail=1 parted -m -s $scsi_dev u s print > out 2>&1 compare out exp || fail=1 Exit $fail parted-2.3/Makefile.am0000644000000000000000000000612211377171067011573 00000000000000ACLOCAL_AMFLAGS = -I m4 SUBDIRS = po lib libparted parted partprobe include doc debug tests EXTRA_DIST = \ .version \ .prev-version \ BUGS \ libparted.pc.in \ parted.spec.in \ parted.spec \ .x-sc_GPL_version \ .x-sc_prohibit_always-defined_macros \ scripts/data/abi/baseline_symbols.txt \ scripts/extract_symvers \ cfg.mk \ dist-check.mk \ maint.mk \ GNUmakefile aclocaldir=$(datadir)/aclocal pcdir = $(libdir)/pkgconfig pc_DATA = libparted.pc # This is best not done via configure.ac, because automake's # make distcheck target does not like auto-generated files # being included in the distributed archive. parted.spec: parted.spec.in sed 's/@''PACKAGE@/$(PACKAGE)/;s/@''VERSION@/$(VERSION)/' $< > $@-tmp mv $@-tmp $@ MAINTAINERCLEANFILES = parted.spec distcheck-hook: $(MAKE) my-distcheck ### ABI Checking scripts ### baseline_file = ${top_srcdir}/scripts/data/abi/baseline_symbols.txt extract_symvers = $(top_srcdir)/scripts/extract_symvers current_symbols.txt: ${extract_symvers} -@(sh ${extract_symvers} libparted/.libs/libparted.so current_symbols.txt) baseline_symbols: -@(output=${baseline_file}; \ if test ! -f $${output}; then \ echo "Baseline file doesn't exist."; \ echo "Try 'make new-abi-baseline' to create it."; \ exit 1; \ fi; true) new-abi-baseline: -@$(mkinstalldirs) ${baseline_dir} -@(output=${baseline_file}; \ if test -f $${output}; then \ output=$${output}.new; \ t=`echo $${output} | sed 's=.*config/abi/=='`; \ echo "Baseline file already exists, writing to $${t} instead."; \ fi; \ sh ${extract_symvers} libparted/.libs/libparted.so $${output}) # Use 'new-abi-baseline' to create an initial symbol file. Then run # 'check-abi' to test for changes against that file. check-abi: baseline_symbols current_symbols.txt @diff -u ${baseline_file} ./current_symbols.txt 2>&1 \ | tee libparted.abi-diff @test `wc -l < libparted.abi-diff` -eq 0 && exit 0 \ || echo "ABI has changed. Please, update you ABI package version." \ && exit 1 MOSTLYCLEANDIRS = m4 MAINTAINERCLEANFILES += \ ABOUT-NLS \ ChangeLog \ INSTALL \ aclocal.m4 \ configure .PHONY: ss-1024 ss-2048 ss-4096 ss-1024 ss-2048 ss-4096: PARTED_SECTOR_SIZE=$(subst ss-,,$@) $(MAKE) check-recursive # Run the regression test suite with different settings, # to ensure it works with simulated partition sizes > 512. .PHONY: check-other-sector_sizes check-other-sector_sizes: $(MAKE) ss-1024 $(MAKE) ss-2048 $(MAKE) ss-4096 check: check-other-sector_sizes # Arrange so that .tarball-version appears only in the distribution # tarball, and never in a checked-out repository. dist-hook: gen-ChangeLog echo $(VERSION) > $(distdir)/.tarball-version gen_start_date = 2000-01-01 .PHONY: gen-ChangeLog gen-ChangeLog: if test -d .git; then \ $(top_srcdir)/build-aux/gitlog-to-changelog \ --since=$(gen_start_date) > $(distdir)/cl-t; \ rm -f $(distdir)/ChangeLog; \ mv $(distdir)/cl-t $(distdir)/ChangeLog; \ fi BUILT_SOURCES = .version .version: echo $(VERSION) > $@-t && mv $@-t $@ parted-2.3/po/0000755000000000000000000000000011400006131010204 500000000000000parted-2.3/po/zh_TW.po0000644000000000000000000030320611400005705011531 00000000000000# Traditional Chinese Messages for parted # Copyright (C) 2003, 05, 06 Free Software Foundation, Inc. # Wang Li , 2003 # Wei-Lun Chao , 2005, 06 # msgid "" msgstr "" "Project-Id-Version: parted 1.7.0rc1\n" "Report-Msgid-Bugs-To: bug-parted@gnu.org\n" "POT-Creation-Date: 2010-05-28 20:30+0200\n" "PO-Revision-Date: 2006-07-04 18:18+0800\n" "Last-Translator: Wei-Lun Chao \n" "Language-Team: Chinese (traditional) \n" "Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" #: lib/argmatch.c:133 #, fuzzy, c-format msgid "invalid argument %s for %s" msgstr "無法開啟 %s。" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "" #: lib/argmatch.c:153 #, fuzzy, c-format msgid "Valid arguments are:" msgstr "無法開啟 %s。" #: lib/closeout.c:112 libparted/labels/fdasd.c:107 msgid "write error" msgstr "" #: lib/error.c:181 #, fuzzy msgid "Unknown system error" msgstr "未知的檔案系統類型「%sã€ã€‚" #: lib/getopt.c:527 lib/getopt.c:543 #, c-format msgid "%s: option '%s' is ambiguous\n" msgstr "" #: lib/getopt.c:576 lib/getopt.c:580 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:589 lib/getopt.c:594 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:637 lib/getopt.c:656 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "" #: lib/getopt.c:694 lib/getopt.c:697 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "無法開啟 %s - 無法識別的ç£ç¢Ÿæ¨™ç±¤ã€‚" #: lib/getopt.c:705 lib/getopt.c:708 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "無法開啟 %s - 無法識別的ç£ç¢Ÿæ¨™ç±¤ã€‚" #: lib/getopt.c:757 lib/getopt.c:760 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "" #: lib/getopt.c:810 lib/getopt.c:827 lib/getopt.c:1035 lib/getopt.c:1053 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "" #: lib/getopt.c:883 lib/getopt.c:899 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "" #: lib/getopt.c:923 lib/getopt.c:941 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:962 lib/getopt.c:980 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". If the catalog has no translation, #. locale_quoting_style quotes `like this', and #. clocale_quoting_style quotes "like this". #. #. For example, an American English Unicode locale should #. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and #. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION #. MARK). A British English Unicode locale should instead #. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) #. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. #. #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. #: lib/quotearg.c:272 msgid "`" msgstr "" #: lib/quotearg.c:273 msgid "'" msgstr "" #: lib/regcomp.c:134 msgid "Success" msgstr "" #: lib/regcomp.c:137 msgid "No match" msgstr "" #: lib/regcomp.c:140 msgid "Invalid regular expression" msgstr "" #: lib/regcomp.c:143 msgid "Invalid collation character" msgstr "" #: lib/regcomp.c:146 msgid "Invalid character class name" msgstr "" #: lib/regcomp.c:149 msgid "Trailing backslash" msgstr "" #: lib/regcomp.c:152 msgid "Invalid back reference" msgstr "" #: lib/regcomp.c:155 msgid "Unmatched [ or [^" msgstr "" #: lib/regcomp.c:158 msgid "Unmatched ( or \\(" msgstr "" #: lib/regcomp.c:161 msgid "Unmatched \\{" msgstr "" #: lib/regcomp.c:164 msgid "Invalid content of \\{\\}" msgstr "" #: lib/regcomp.c:167 #, fuzzy msgid "Invalid range end" msgstr "無效的編號。" #: lib/regcomp.c:170 msgid "Memory exhausted" msgstr "" #: lib/regcomp.c:173 msgid "Invalid preceding regular expression" msgstr "" #: lib/regcomp.c:176 msgid "Premature end of regular expression" msgstr "" #: lib/regcomp.c:179 msgid "Regular expression too big" msgstr "" #: lib/regcomp.c:182 msgid "Unmatched ) or \\)" msgstr "" #: lib/regcomp.c:703 msgid "No previous regular expression" msgstr "" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "" #: lib/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "" #: lib/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "" #: lib/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" #: lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "" #: lib/xstrtol-error.c:63 #, fuzzy, c-format msgid "invalid %s%s argument `%s'" msgstr "無法開啟 %s。" #: lib/xstrtol-error.c:68 #, fuzzy, c-format msgid "invalid suffix in %s%s argument `%s'" msgstr "無法開啟 %s。" #: lib/xstrtol-error.c:72 #, fuzzy, c-format msgid "%s%s argument `%s' too large" msgstr "無法開啟 %s。" #: libparted/arch/beos.c:245 msgid "Disk Image" msgstr "" #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277 #: libparted/arch/linux.c:1519 #, c-format msgid "Error opening %s: %s" msgstr "開啟 %s 出錯:%s" #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287 #: libparted/arch/linux.c:1530 #, c-format msgid "Unable to open %s read-write (%s). %s has been opened read-only." msgstr "無法開啟 %s 以讀寫 (%s)。%s 已用唯讀的方å¼é–‹å•Ÿã€‚" #: libparted/arch/beos.c:419 libparted/arch/linux.c:1688 #, c-format msgid "%s during seek for read on %s" msgstr "åœ¨ç‚ºè®€å– %2$s è€Œå‘¼å« seek 時 %1$s" #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564 #: libparted/arch/gnu.c:692 libparted/arch/linux.c:1648 #: libparted/arch/linux.c:1729 #, c-format msgid "%s during read on %s" msgstr "åœ¨è®€å– %2$s 期間 %1$s" #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525 #: libparted/arch/linux.c:1805 #, c-format msgid "Can't write to %s, because it is opened read-only." msgstr "由於 %s 是以唯讀方å¼é–‹å•Ÿçš„,因此無法寫入。" #: libparted/arch/beos.c:504 libparted/arch/linux.c:1830 #, c-format msgid "%s during seek for write on %s" msgstr "在為寫入 %2$s å‘¼å« seek 時 %1$s" #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646 #: libparted/arch/gnu.c:723 libparted/arch/linux.c:1778 #: libparted/arch/linux.c:1872 libparted/arch/linux.c:1944 #, c-format msgid "%s during write on %s" msgstr "在寫入 %2$s 時 %1$s" #: debug/clearfat/clearfat.c:62 partprobe/partprobe.c:137 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "" #: debug/clearfat/clearfat.c:66 #, c-format msgid "" "Usage: %s [OPTION]\n" " or: %s DEVICE MINOR\n" msgstr "" #: debug/clearfat/clearfat.c:69 msgid "" "Clear unused space on a FAT partition (a GNU Parted testing tool).\n" "\n" msgstr "" #: debug/clearfat/clearfat.c:73 msgid " --help display this help and exit\n" msgstr "" #: debug/clearfat/clearfat.c:74 msgid " --version output version information and exit\n" msgstr "" #: debug/clearfat/clearfat.c:76 partprobe/partprobe.c:154 #, c-format msgid "" "\n" "Report bugs to <%s>.\n" msgstr "" #: debug/clearfat/clearfat.c:284 #, c-format msgid "too few arguments" msgstr "" #: debug/clearfat/clearfat.c:289 #, fuzzy, c-format msgid "too many arguments" msgstr "éŽå¤šçš„ä¸ç•¶åˆ†é ã€‚" #: debug/clearfat/clearfat.c:297 #, fuzzy, c-format msgid "invalid minor device number: %s" msgstr "無法開啟 %s。" #: partprobe/partprobe.c:141 #, c-format msgid "Usage: %s [OPTION] [DEVICE]...\n" msgstr "" #: partprobe/partprobe.c:142 msgid "" "Inform the operating system about partition table changes.\n" "\n" " -d, --dry-run do not actually inform the operating system\n" " -s, --summary print a summary of contents\n" " -h, --help display this help and exit\n" " -v, --version output version information and exit\n" msgstr "" #: partprobe/partprobe.c:150 msgid "" "\n" "When no DEVICE is given, probe all partitions.\n" msgstr "" #: libparted/arch/gnu.c:110 #, c-format msgid "Unable to open %s." msgstr "無法開啟 %s。" #: libparted/arch/gnu.c:130 msgid "Unable to probe store." msgstr "ç„¡æ³•åµæ¸¬å„²å­˜è¨­å‚™ã€‚" #: libparted/arch/gnu.c:368 msgid "" "The partition table cannot be re-read. This means you need to reboot before " "mounting any modified partitions. You also need to reinstall your boot " "loader before you reboot (which may require mounting modified partitions). " "It is impossible do both things! So you'll need to boot off a rescue disk, " "and reinstall your boot loader from the rescue disk. Read section 4 of the " "Parted User documentation for more information." msgstr "" "ç„¡æ³•é‡æ–°è®€å…¥åˆ†å‰²å€è¡¨ã€‚åŒæ¨£ï¼Œæ‚¨å¿…須在掛載任何修改éŽçš„分割å€ä¹‹å‰é‡æ–°å•Ÿå‹•。您還" "需è¦åœ¨æ‚¨é‡æ–°å•Ÿå‹•之å‰é‡æ–°å®‰è£é–‹æ©Ÿè¼‰å…¥ç¨‹å¼ (它å¯èƒ½éœ€è¦æŽ›è¼‰ä¿®æ”¹éŽçš„分割å€)ã€‚åŒæ™‚" "åšé€™å…©ä»¶äº‹æ˜¯ä¸å¯èƒ½çš„ï¼æ‰€ä»¥æ‚¨å°±éœ€è¦å¾žå›žå¾©ç¢Ÿç‰‡å•Ÿå‹•ï¼Œä¸¦å¾žå›žå¾©ç¢Ÿç‰‡é‡æ–°å®‰è£æ‚¨çš„é–‹" "機載入程å¼ã€‚更多詳情請åƒé–± Parted 使用者文件的第四節。" #: libparted/arch/gnu.c:385 #, c-format msgid "" "The partition table on %s cannot be re-read (%s). This means the Hurd knows " "nothing about any modifications you made. You should reboot your computer " "before doing anything with %s." msgstr "" "%s 上的分割å€è¡¨ç„¡æ³•è¢«é‡æ–°è®€å– (%s)。這æ„味著 Hurd ä¸çŸ¥é“任何您所作的修改。您" "æ‡‰è©²åœ¨å° %s åšä»»ä½•æ“作之å‰é‡æ–°å•Ÿå‹•您的電腦。" #: libparted/arch/gnu.c:396 parted/parted.c:2719 msgid "" "You should reinstall your boot loader before rebooting. Read section 4 of " "the Parted User documentation for more information." msgstr "" "æ‚¨æ‡‰è©²åœ¨é‡æ–°å•Ÿå‹•之å‰é‡æ–°å®‰è£æ‚¨çš„開機載入程å¼ã€‚詳情請閱讀 Parted 使用者文件的" "第四節。" #: libparted/arch/gnu.c:788 #, c-format msgid "%s trying to sync %s to disk" msgstr "%s 試圖將 %s åŒæ­¥åˆ°ç£ç¢Ÿä¸Š" #: libparted/arch/linux.c:509 #, c-format msgid "Could not stat device %s - %s." msgstr "無法å°è¨­å‚™ %s - %s 進行 stat æ“作。" #: libparted/arch/linux.c:566 #, fuzzy, c-format msgid "Unable to determine the dm type of %s." msgstr "無法確定 %s (%s) 的大å°ã€‚" #: libparted/arch/linux.c:658 #, fuzzy, c-format msgid "" "Could not determine sector size for %s: %s.\n" "Using the default sector size (%lld)." msgstr "" "無法決定 %s çš„ç£å€å¤§å°ï¼š%s。\n" "使用é è¨­ç£å€å¤§å° (%d)。" #: libparted/arch/linux.c:679 #, fuzzy, c-format msgid "" "Could not determine physical sector size for %s.\n" "Using the logical sector size (%lld)." msgstr "" "無法決定 %s çš„ç£å€å¤§å°ï¼š%s。\n" "使用é è¨­ç£å€å¤§å° (%d)。" #: libparted/arch/linux.c:728 #, c-format msgid "Unable to determine the size of %s (%s)." msgstr "無法確定 %s (%s) 的大å°ã€‚" #: libparted/arch/linux.c:814 #, c-format msgid "Could not get identity of device %s - %s" msgstr "無法ç²å–設備 %s - %s 的標識" #: libparted/arch/linux.c:823 msgid "Generic IDE" msgstr "一般 IDE" #: libparted/arch/linux.c:844 #, c-format msgid "" "Device %s has multiple (%d) logical sectors per physical sector.\n" "GNU Parted supports this EXPERIMENTALLY for some special disk label/file " "system combinations, e.g. GPT and ext2/3.\n" "Please consult the web site for up-to-date information." msgstr "" "è£ç½® %s çš„æ¯ä¸€ç‰©ç†ç£å€å…·æœ‰å¤šå€‹ (%d) é‚輯ç£å€ã€‚\n" "GNU Parted å°æŸäº›ç‰¹å®šç£ç¢Ÿæ¨™ç±¤/檔案系統組åˆé‚„是[實驗性]支æ´ï¼Œåƒæ˜¯ GPT å’Œ " "ext2/3。\n" "è«‹åƒç…§ç¶²é ä»¥ç²å¾—最新的資訊。" #: libparted/arch/linux.c:1019 #, c-format msgid "Error initialising SCSI device %s - %s" msgstr "åˆå§‹åŒ– SCSI 設備 %s - %s 出錯" #: libparted/arch/linux.c:1083 #, c-format msgid "" "The device %s has zero length, and can't possibly store a file system or " "partition table. Perhaps you selected the wrong device?" msgstr "" "設備 %s 的長度為零,因此也許無法ä¿å­˜æª”案系統或分割å€è¡¨ã€‚å¯èƒ½æ‚¨é¸æ“‡äº†éŒ¯èª¤çš„設" "備?" #: libparted/arch/linux.c:1190 #, fuzzy, c-format msgid "" "Unable to determine geometry of file/device %s. You should not use Parted " "unless you REALLY know what you're doing!" msgstr "" "無法確定檔案/è¨­å‚™çš„å¹¾ä½•çµæ§‹ã€‚é™¤éžæ‚¨ç¢ºå¯¦çŸ¥é“您在åšä»€éº¼ï¼Œå¦å‰‡æ‚¨ä¸è©²ä½¿ç”¨ " "Partedï¼" #: libparted/arch/linux.c:1250 msgid "Generic SD/MMC Storage Card" msgstr "" #: libparted/arch/linux.c:1303 msgid "DAC960 RAID controller" msgstr "DAC960 RAID 控制器" #: libparted/arch/linux.c:1308 msgid "Promise SX8 SATA Device" msgstr "" #: libparted/arch/linux.c:1313 msgid "ATA over Ethernet Device" msgstr "" #: libparted/arch/linux.c:1319 msgid "IBM S390 DASD drive" msgstr "" #: libparted/arch/linux.c:1325 msgid "IBM iSeries Virtual DASD" msgstr "" #: libparted/arch/linux.c:1330 msgid "Compaq Smart Array" msgstr "Compaq 智慧型陣列" #: libparted/arch/linux.c:1335 msgid "ATARAID Controller" msgstr "ATARAID 控制器" #: libparted/arch/linux.c:1340 msgid "I2O Controller" msgstr "I2O 控制器" #: libparted/arch/linux.c:1345 msgid "User-Mode Linux UBD" msgstr "ä½¿ç”¨è€…æ¨¡å¼ Linux UBD" #: libparted/arch/linux.c:1358 #, c-format msgid "Linux device-mapper (%s)" msgstr "" #: libparted/arch/linux.c:1369 msgid "Xen Virtual Block Device" msgstr "" #: libparted/arch/linux.c:1374 msgid "Unknown" msgstr "未知" #: libparted/arch/linux.c:1383 msgid "Virtio Block Device" msgstr "" #: libparted/arch/linux.c:1388 msgid "Linux Software RAID Array" msgstr "" #: libparted/arch/linux.c:1395 msgid "ped_device_new() Unsupported device type" msgstr "ped_device_new() 䏿”¯æ´çš„設備類型" #: libparted/arch/linux.c:1492 libparted/arch/linux.c:1564 #, fuzzy, c-format msgid "Error fsyncing/closing %s: %s" msgstr "開啟 %s 出錯:%s" #: libparted/arch/linux.c:1728 #, c-format msgid "end of file while reading %s" msgstr "" #: libparted/arch/linux.c:2365 #, c-format msgid "" "Error informing the kernel about modifications to partition %s -- %s. This " "means Linux won't know about any changes you made to %s until you reboot -- " "so you shouldn't mount it or use it in any way before rebooting." msgstr "" "é€šçŸ¥æ ¸å¿ƒé—œæ–¼åˆ†å‰²å€ %s -- %s 的修改時出錯。這æ„味著 Linux åœ¨é‡æ–°å•Ÿå‹•之å‰ç„¡æ³•知" "铿‚¨é‡å° %s 所作的任何修改 - 所以您也ä¸èƒ½åœ¨é‡æ–°å•Ÿå‹•ä¹‹å‰æŽ›è¼‰æˆ–ä»¥ä»»ä½•æ–¹å¼ä½¿ç”¨" "它。" #: libparted/arch/linux.c:2503 #, fuzzy, c-format msgid "Unable to determine the size and length of %s." msgstr "無法確定 %s (%s) 的大å°ã€‚" #: libparted/arch/linux.c:2528 #, fuzzy, c-format msgid "Failed to add partition %d (%s)" msgstr "%s:列舉分割å€å€å¡Šæ™‚失敗。" #: libparted/arch/linux.c:2555 #, c-format msgid "" "Partition(s) %s on %s have been written, but we have been unable to inform " "the kernel of the change, probably because it/they are in use. As a result, " "the old partition(s) will remain in use. You should reboot now before " "making further changes." msgstr "" #: libparted/arch/linux.c:2681 #, fuzzy, c-format msgid "" "parted was unable to re-read the partition table on %s (%s). This means " "Linux won't know anything about the modifications you made. " msgstr "" "æ ¸å¿ƒç„¡æ³•é‡æ–°è®€å– %s (%s) 上的分割å€è¡¨ã€‚這æ„味這 Linux åœ¨æ‚¨é‡æ–°å•Ÿå‹•之å‰ç„¡æ³•知" "é“ä»»ä½•ä¿®æ”¹ã€‚æ‚¨æ‡‰è©²åœ¨å° %s åšä»»ä½•æ“作之å‰é‡æ–°å•Ÿå‹•您的電腦。" #: libparted/cs/geom.c:162 #, fuzzy, c-format msgid "Can't have the end before the start! (start sector=%jd length=%jd)" msgstr "無法在開始之å‰çµæŸï¼" #: libparted/cs/geom.c:170 msgid "Can't have a partition outside the disk!" msgstr "無法讓分割å€è¶…出ç£ç¢Ÿï¼" #: libparted/cs/geom.c:385 #, c-format msgid "Attempt to write sectors %ld-%ld outside of partition on %s." msgstr "試圖寫入 %3$s 上分割å€ä¹‹å¤–çš„ç£å€ %1$ld-%2$ld。" #: libparted/cs/geom.c:425 libparted/fs/linux_swap/linux_swap.c:488 msgid "checking for bad blocks" msgstr "檢查壞å€å¡Š" #: libparted/debug.c:97 #, c-format msgid "Backtrace has %d calls on stack:\n" msgstr "" #: libparted/debug.c:110 #, c-format msgid "Assertion (%s) at %s:%d in function %s() failed." msgstr "" #: libparted/disk.c:193 #, fuzzy, c-format msgid "%s: unrecognised disk label" msgstr "無法開啟 %s - 無法識別的ç£ç¢Ÿæ¨™ç±¤ã€‚" #: libparted/disk.c:486 #, c-format msgid "" "This libparted doesn't have write support for %s. Perhaps it was compiled " "read-only." msgstr "這個 libparted 䏿”¯æ´å° %s 的寫入æ“作。å¯èƒ½å®ƒæ˜¯ä»¥å”¯è®€æ–¹å¼ç·¨è­¯çš„。" #: libparted/disk.c:631 #, c-format msgid "Partition %d is %s, but the file system is %s." msgstr "åˆ†å‰²å€ %d 大å°ç‚º %s,但檔案系統大å°ç‚º %s。" #: libparted/disk.c:841 msgid "cylinder_alignment" msgstr "" #: libparted/disk.c:847 #, fuzzy, c-format msgid "Unknown disk flag, %d." msgstr "æœªçŸ¥çš„åˆ†å‰²å€æ——標,%d。" #: libparted/disk.c:1286 #, c-format msgid "%s disk labels do not support extended partitions." msgstr "%s ç£ç¢Ÿæ¨™ç±¤ä¸æ”¯æ´æ“´å……分割å€ã€‚" #: libparted/disk.c:1865 #, c-format msgid "%s disk labels don't support logical or extended partitions." msgstr "%s ç£ç¢Ÿæ¨™ç±¤ä¸æ”¯æ´é‚輯或擴充分割å€ã€‚" #: libparted/disk.c:1878 msgid "Too many primary partitions." msgstr "éŽå¤šçš„主分割å€ã€‚" #: libparted/disk.c:1887 #, c-format msgid "" "Can't add a logical partition to %s, because there is no extended partition." msgstr "由於沒有擴充分割å€ï¼Œç„¡æ³•å°‡é‚è¼¯åˆ†å‰²å€æ·»åŠ åˆ° %s。" #: libparted/disk.c:1911 #, c-format msgid "Can't have more than one extended partition on %s." msgstr "%s 上ä¸èƒ½å«æœ‰å¤šæ–¼ä¸€å€‹çš„æ“´å……分割å€ã€‚" #: libparted/disk.c:1921 msgid "Can't have logical partitions outside of the extended partition." msgstr "é‚輯分割å€ä¸èƒ½ä½æ–¼æ“´å……分割å€ä¹‹å¤–。" #: libparted/disk.c:1946 #, c-format msgid "Can't have a logical partition outside of the extended partition on %s." msgstr "%s 上的é‚輯分割å€ä¸èƒ½ä½æ–¼æ“´å……分割å€ä¹‹å¤–。" #: libparted/disk.c:1956 libparted/disk.c:2015 libparted/disk.c:2193 msgid "Can't have overlapping partitions." msgstr "分割å€ä¸èƒ½é‡ç–Šã€‚" #: libparted/disk.c:1964 msgid "Can't have a primary partition inside an extended partition." msgstr "擴充分割å€ä¸­ä¸èƒ½å«æœ‰ä¸»åˆ†å‰²å€ã€‚" #: libparted/disk.c:2395 msgid "metadata" msgstr "中繼資料" #: libparted/disk.c:2397 msgid "free" msgstr "自由空間" #: libparted/disk.c:2399 parted/ui.c:1193 parted/ui.c:1221 msgid "extended" msgstr "擴充分割å€" #: libparted/disk.c:2401 parted/ui.c:1197 parted/ui.c:1225 msgid "logical" msgstr "é‚輯分割å€" #: libparted/disk.c:2403 parted/ui.c:1189 parted/ui.c:1217 msgid "primary" msgstr "主分割å€" #: libparted/disk.c:2419 msgid "boot" msgstr "啟動" #: libparted/disk.c:2421 msgid "bios_grub" msgstr "" #: libparted/disk.c:2423 msgid "root" msgstr "æ ¹" #: libparted/disk.c:2425 msgid "swap" msgstr "交æ›åˆ†å‰²å€" #: libparted/disk.c:2427 msgid "hidden" msgstr "éš±è—分割å€" #: libparted/disk.c:2429 msgid "raid" msgstr "raid" #: libparted/disk.c:2431 msgid "lvm" msgstr "lvm" #: libparted/disk.c:2433 msgid "lba" msgstr "lba" #: libparted/disk.c:2435 msgid "hp-service" msgstr "hp-æœå‹™" #: libparted/disk.c:2437 msgid "palo" msgstr "palo" #: libparted/disk.c:2439 msgid "prep" msgstr "prep" #: libparted/disk.c:2441 msgid "msftres" msgstr "msftres" #: libparted/disk.c:2443 msgid "atvrecv" msgstr "" #: libparted/disk.c:2445 msgid "diag" msgstr "" #: libparted/disk.c:2451 #, c-format msgid "Unknown partition flag, %d." msgstr "æœªçŸ¥çš„åˆ†å‰²å€æ——標,%d。" #: libparted/exception.c:77 msgid "Information" msgstr "資訊" #: libparted/exception.c:78 msgid "Warning" msgstr "警告" #: libparted/exception.c:79 msgid "Error" msgstr "錯誤" #: libparted/exception.c:80 msgid "Fatal" msgstr "致命錯誤" #: libparted/exception.c:81 msgid "Bug" msgstr "臭蟲" #: libparted/exception.c:82 msgid "No Implementation" msgstr "未實作" #: libparted/exception.c:86 msgid "Fix" msgstr "修正" #: libparted/exception.c:87 msgid "Yes" msgstr "是" #: libparted/exception.c:88 msgid "No" msgstr "å¦" #: libparted/exception.c:89 msgid "OK" msgstr "確èª" #: libparted/exception.c:90 msgid "Retry" msgstr "é‡è©¦" #: libparted/exception.c:91 msgid "Ignore" msgstr "忽略" #: libparted/exception.c:92 msgid "Cancel" msgstr "å–æ¶ˆ" #: libparted/exception.c:132 #, fuzzy, c-format msgid "" "A bug has been detected in GNU Parted. Refer to the web site of parted " "http://www.gnu.org/software/parted/parted.html for more information of what " "could be useful for bug submitting! Please email a bug report to bug-" "parted@gnu.org containing at least the version (%s) and the following " "message: " msgstr "" "ç™¼ç¾ GNU Parted 中的程å¼éŒ¯èª¤ã€‚åƒç…§ parted çš„ç¶²å€ http://www.gnu.org/software/" "parted/parted.html 以ç²å¾—更多有關æäº¤éŒ¯èª¤å ±å‘Šçš„æœ‰ç”¨è³‡è¨Šã€‚è«‹å°‡è‡³å°‘å«æœ‰ç‰ˆæœ¬ " "(%s) 和以下資訊的錯誤報告發é€åˆ° bug-parted@gnu.org:" #: libparted/filesys.c:462 msgid "Could not detect file system." msgstr "ç„¡æ³•åµæ¸¬æª”案系統。" #: libparted/filesys.c:473 msgid "The file system is bigger than its volume!" msgstr "檔案系統比它的å·å†Šé‚„大ï¼" #: libparted/filesys.c:481 #, c-format msgid "Support for opening %s file systems is not implemented yet." msgstr "開啟 %s 檔案系統的支æ´å°šæœªå¯¦ä½œã€‚" #: libparted/filesys.c:523 #, c-format msgid "Support for creating %s file systems is not implemented yet." msgstr "建立 %s 檔案系統的支æ´å°šæœªå¯¦ä½œã€‚" #: libparted/filesys.c:583 #, c-format msgid "Support for checking %s file systems is not implemented yet." msgstr "檢查 %s 檔案系統的支æ´å°šæœªå¯¦ä½œã€‚" #: libparted/filesys.c:649 msgid "raw block copying" msgstr "原始å€å¡Šè¤‡è£½" #: libparted/filesys.c:660 msgid "growing file system" msgstr "正在擴大檔案系統" #: libparted/filesys.c:700 msgid "Can't copy onto an overlapping partition." msgstr "無法複製到é‡ç–Šçš„分割å€ã€‚" #: libparted/filesys.c:722 #, c-format msgid "" "Direct support for copying file systems is not yet implemented for %s. " "However, support for resizing is implemented. Therefore, the file system " "can be copied if the new partition is at least as big as the old one. So, " "either shrink the partition you are trying to copy, or copy to a bigger " "partition." msgstr "" "å° %s 來說尚ä¸ç›´æŽ¥æ”¯æ´å®ƒçš„æª”案系統複製。然而,改變大å°çš„æ”¯æ´å·²å¯¦ä½œå®Œæˆã€‚å› " "此,åªè¦æ–°åˆ†å‰²å€æ¯”舊分割å€å¤§ï¼Œå°±èƒ½å¤ è¤‡è£½æª”æ¡ˆç³»çµ±ã€‚æ‰€ä»¥ï¼Œç¸®å°æ‚¨è©¦åœ–複製的分割" "å€ï¼Œæˆ–是複製到較大的分割å€ã€‚" #: libparted/filesys.c:736 #, c-format msgid "Support for copying %s file systems is not implemented yet." msgstr "複製 %s 檔案系統的支æ´å°šæœªå¯¦ä½œã€‚" #: libparted/filesys.c:774 #, c-format msgid "Support for resizing %s file systems is not implemented yet." msgstr "改變 %s 檔案系統的支æ´å°šæœªå¯¦ä½œã€‚" #: libparted/fs/reiserfs/reiserfs.c:315 msgid "creating" msgstr "" #: libparted/fs/reiserfs/reiserfs.c:402 #, fuzzy msgid "The file system is in an invalid state. Perhaps it is mounted?" msgstr "檔案系統比它的å·å†Šé‚„大ï¼" #: libparted/fs/reiserfs/reiserfs.c:410 msgid "The file system is in old (unresizeable) format." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:416 msgid "Invalid free blocks count. Run reiserfsck --check first." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:431 #, fuzzy msgid "checking" msgstr "檢查" #: libparted/fs/reiserfs/reiserfs.c:437 msgid "Reiserfs tree seems to be corrupted. Run reiserfsck --check first." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:449 #, fuzzy msgid "" "The reiserfs file system passed a basic check. For a more comprehensive " "check, run reiserfsck --check." msgstr "ext2 檔案系統通éŽäº†åŸºæœ¬æª¢æŸ¥ã€‚至於更完整的檢查,請使用 e2fsck 程å¼ã€‚" #: libparted/fs/reiserfs/reiserfs.c:474 #, fuzzy msgid "Sorry, can't move the start of reiserfs partitions yet." msgstr "抱歉,尚無法移動 ext2 分割å€çš„起點ï¼" #: libparted/fs/reiserfs/reiserfs.c:490 msgid "Couldn't reopen device abstraction layer for read/write." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:508 libparted/fs/ext2/ext2_resize.c:552 #: libparted/fs/hfs/hfs.c:250 libparted/fs/hfs/hfs.c:629 msgid "shrinking" msgstr "正在縮å°" #: libparted/fs/reiserfs/reiserfs.c:520 #, fuzzy msgid "expanding" msgstr "警告" #: libparted/fs/reiserfs/reiserfs.c:592 msgid "Couldn't create reiserfs device abstraction handler." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:606 #, fuzzy, c-format msgid "Device is too small for %lu blocks." msgstr "å° ext2 來說檔案系統éŽå°ã€‚" #: libparted/fs/reiserfs/reiserfs.c:615 msgid "copying" msgstr "" #: libparted/fs/reiserfs/reiserfs.c:682 #, c-format msgid "Couldn't resolve symbol %s. Error: %s." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:704 msgid "GNU Parted found an invalid libreiserfs library." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:715 #, c-format msgid "" "GNU Parted has detected libreiserfs interface version mismatch. Found %d-" "%d, required %d. ReiserFS support will be disabled." msgstr "" #: libparted/labels/aix.c:103 #, fuzzy msgid "Support for reading AIX disk labels is is not implemented yet." msgstr "建立 %s 檔案系統的支æ´å°šæœªå¯¦ä½œã€‚" #: libparted/labels/aix.c:114 #, fuzzy msgid "Support for writing AIX disk labels is is not implemented yet." msgstr "建立 %s 檔案系統的支æ´å°šæœªå¯¦ä½œã€‚" #: libparted/labels/aix.c:127 #, fuzzy msgid "" "Support for adding partitions to AIX disk labels is not implemented yet." msgstr "建立 %s 檔案系統的支æ´å°šæœªå¯¦ä½œã€‚" #: libparted/labels/aix.c:137 #, fuzzy msgid "" "Support for duplicating partitions in AIX disk labels is not implemented yet." msgstr "建立 %s 檔案系統的支æ´å°šæœªå¯¦ä½œã€‚" #: libparted/labels/aix.c:155 #, fuzzy msgid "" "Support for setting system type of partitions in AIX disk labels is not " "implemented yet." msgstr "建立 %s 檔案系統的支æ´å°šæœªå¯¦ä½œã€‚" #: libparted/labels/aix.c:165 #, fuzzy msgid "Support for setting flags in AIX disk labels is not implemented yet." msgstr "建立 %s 檔案系統的支æ´å°šæœªå¯¦ä½œã€‚" #: libparted/labels/bsd.c:568 libparted/labels/dasd.c:783 #: libparted/labels/dos.c:2092 libparted/labels/dvh.c:788 #: libparted/labels/gpt.c:1750 libparted/labels/loop.c:245 #: libparted/labels/mac.c:1424 libparted/labels/pc98.c:749 #: libparted/labels/rdb.c:1051 libparted/labels/sun.c:821 msgid "Unable to satisfy all constraints on the partition." msgstr "無法滿足分割å€çš„æ‰€æœ‰é™åˆ¶ã€‚" #: libparted/labels/bsd.c:593 msgid "Unable to allocate a bsd disklabel slot." msgstr "ç„¡æ³•å®šä½ bsd ç£ç¢Ÿæ¨™ç±¤æ§½ã€‚" #: libparted/labels/dasd.c:809 #, fuzzy msgid "Unable to allocate a dasd disklabel slot" msgstr "ç„¡æ³•å®šä½ bsd ç£ç¢Ÿæ¨™ç±¤æ§½ã€‚" #: libparted/labels/dos.c:882 #, c-format msgid "Invalid partition table on %s -- wrong signature %x." msgstr "%s 上的分割å€è¡¨ç„¡æ•ˆ - 錯誤的簽å %x。" #: libparted/labels/dos.c:910 #, c-format msgid "Invalid partition table - recursive partition on %s." msgstr "無效的分割å€è¡¨ - %s 出ç¾éžæ­¸åˆ†å‰²å€ã€‚" #: libparted/labels/dos.c:1420 msgid "Extended partitions cannot be hidden on msdos disk labels." msgstr "擴充分割å€ç„¡æ³•éš±è—æ–¼ msdos ç£ç¢Ÿæ¨™ç±¤ä¹‹ä¸Šã€‚" #: libparted/labels/dos.c:2074 msgid "Parted can't resize partitions managed by Windows Dynamic Disk." msgstr "Parted 無法改變由「視窗動態ç£ç¢Ÿã€æ‰€ç®¡ç†çš„分割å€å¤§å°ã€‚" #: libparted/labels/dvh.c:201 #, c-format msgid "%s has no extended partition (volume header partition)." msgstr "%s æ²’æœ‰æ“´å……åˆ†å‰²å€ (å·é ­åˆ†å‰²å€)。" #: libparted/labels/dvh.c:327 msgid "Checksum is wrong, indicating the partition table is corrupt." msgstr "總和檢查錯誤,標明分割å€è¡¨å·²æå£žã€‚" #: libparted/labels/dvh.c:632 msgid "Only primary partitions can be root partitions." msgstr "åªæœ‰ä¸»åˆ†å‰²å€å¯ä»¥åšç‚ºæ ¹åˆ†å‰²å€ã€‚" #: libparted/labels/dvh.c:646 msgid "Only primary partitions can be swap partitions." msgstr "åªæœ‰ä¸»åˆ†å‰²å€å¯ä»¥æ˜¯äº¤æ›åˆ†å‰²å€ã€‚" #: libparted/labels/dvh.c:660 msgid "Only logical partitions can be a boot file." msgstr "åªæœ‰é‚輯分割å€å¯ä»¥æ˜¯å€‹é–‹æ©Ÿæª”案。" #: libparted/labels/dvh.c:737 #, fuzzy, c-format msgid "" "failed to set dvh partition name to %s:\n" "Only logical partitions (boot files) have a name." msgstr "åªæœ‰é‚è¼¯åˆ†å‰²å€ (開機檔案) æ“æœ‰å字。" #: libparted/labels/dvh.c:830 msgid "Too many primary partitions" msgstr "éŽå¤šçš„主分割å€" #: libparted/labels/fdasd.c:98 msgid "open error" msgstr "" #: libparted/labels/fdasd.c:101 msgid "seek error" msgstr "" #: libparted/labels/fdasd.c:104 msgid "read error" msgstr "" #: libparted/labels/fdasd.c:110 msgid "ioctl() error" msgstr "" #: libparted/labels/fdasd.c:114 msgid "API version mismatch" msgstr "" #: libparted/labels/fdasd.c:118 #, fuzzy msgid "Unsupported disk type" msgstr "ped_device_new() 䏿”¯æ´çš„設備類型" #: libparted/labels/fdasd.c:122 msgid "Unsupported disk format" msgstr "" #: libparted/labels/fdasd.c:126 #, fuzzy msgid "Disk is in use" msgstr "ç£ç¢Ÿ %s:%s\n" #: libparted/labels/fdasd.c:130 msgid "Syntax error in config file" msgstr "" #: libparted/labels/fdasd.c:134 msgid "Volume label is corrupted" msgstr "" #: libparted/labels/fdasd.c:138 msgid "A data set name is corrupted" msgstr "" #: libparted/labels/fdasd.c:142 #, fuzzy msgid "Memory allocation failed" msgstr "è³‡æ–™é‡æ–°å®šä½æ™‚失敗。" #: libparted/labels/fdasd.c:146 #, fuzzy msgid "Device verification failed" msgstr "è³‡æ–™é‡æ–°å®šä½æ™‚失敗。" #: libparted/labels/fdasd.c:147 msgid "The specified device is not a valid DASD device" msgstr "" #: libparted/labels/fdasd.c:150 libparted/labels/vtoc.c:179 #, fuzzy msgid "Fatal error" msgstr "致命錯誤" #: libparted/labels/fdasd.c:226 msgid "No room for volume label." msgstr "" #: libparted/labels/fdasd.c:234 #, fuzzy msgid "No room for partition info." msgstr "找ä¸åˆ°æœ‰æ•ˆçš„åˆ†å‰²å€æ˜ å°„。" #: libparted/labels/fdasd.c:704 #, fuzzy msgid "Invalid VTOC." msgstr "無效的編號。" #: libparted/labels/fdasd.c:764 msgid "Could not retrieve API version." msgstr "" #: libparted/labels/fdasd.c:767 #, c-format msgid "" "The current API version '%d' doesn't match dasd driver API version '%d'!" msgstr "" #: libparted/labels/fdasd.c:804 msgid "Could not retrieve disk geometry information." msgstr "" #: libparted/labels/fdasd.c:808 msgid "Could not retrieve blocksize information." msgstr "" #: libparted/labels/fdasd.c:813 msgid "Could not retrieve disk information." msgstr "" #: libparted/labels/fdasd.c:818 msgid "This is not an ECKD disk! This disk type is not supported!" msgstr "" #: libparted/labels/gpt.c:485 #, c-format msgid "" "%s contains GPT signatures, indicating that it has a GPT table. However, it " "does not have a valid fake msdos partition table, as it should. Perhaps it " "was corrupted -- possibly by a program that doesn't understand GPT partition " "tables. Or perhaps you deleted the GPT table, and are now using an msdos " "partition table. Is this a GPT partition table?" msgstr "" "%s 嫿œ‰ GPT ç°½åï¼Œæ¨™æ˜Žå®ƒå«æœ‰ GPT 表。然而,它並ä¸åƒæ‡‰è©²çš„é‚£æ¨£å«æœ‰æœ‰æ•ˆçš„å½ " "msdos 分割å€è¡¨ã€‚å¯èƒ½å®ƒå·²ç¶“æå£ž - å¯èƒ½æ˜¯ä¸ç†è§£ GPT 分割å€è¡¨çš„ç¨‹å¼æ‰€å°Žè‡´çš„。或" "者您刪除了 GPT 表,而ç¾åœ¨ä½¿ç”¨ msdos 分割å€è¡¨ã€‚這是 GPT 分割å€è¡¨å—Žï¼Ÿ" #: libparted/labels/gpt.c:680 #, c-format msgid "" "The format of the GPT partition table is version %x, which is newer than " "what Parted can recognise. Please tell us! bug-parted@gnu.org" msgstr "" "GPT 分割å€è¡¨çš„æ ¼å¼ç‰ˆæœ¬ç‚º %x,它比 Parted æ‰€èƒ½è­˜åˆ¥çš„ç‰ˆæœ¬è¦æ–°ã€‚請告訴我們ï¼bug-" "parted@gnu.org" #: libparted/labels/gpt.c:727 #, c-format msgid "" "Not all of the space available to %s appears to be used, you can fix the GPT " "to use all of the space (an extra %llu blocks) or continue with the current " "setting? " msgstr "" #: libparted/labels/gpt.c:936 msgid "" "The backup GPT table is not at the end of the disk, as it should be. This " "might mean that another operating system believes the disk is smaller. Fix, " "by moving the backup to the end (and removing the old backup)?" msgstr "" "備份 GPT 表ä¸åƒæ‡‰è©²çš„那樣出ç¾åœ¨ç£ç¢Ÿçš„æœ«å°¾ã€‚這å¯èƒ½æ„味者其它æ“作系統相信ç£ç¢Ÿå°" "一些。經由將備份移動到末尾 (並刪除舊備份) 來修正它?" #: libparted/labels/gpt.c:960 msgid "" "Both the primary and backup GPT tables are corrupt. Try making a fresh " "table, and using Parted's rescue feature to recover partitions." msgstr "" "主 GPT 和備份 GPT 都æå£žäº†ã€‚ç¾åœ¨è©¦åœ–建立新表,並使用 Parted 的回復功能以é‡å»º" "分割å€è¡¨ã€‚" #: libparted/labels/gpt.c:971 #, fuzzy msgid "" "The backup GPT table is corrupt, but the primary appears OK, so that will be " "used." msgstr "主 GPT 表æå£žï¼Œä½†å‚™ä»½ä¼¼ä¹Žæ˜¯æ­£ç¢ºçš„,所以將會使用它。" #: libparted/labels/gpt.c:983 msgid "" "The primary GPT table is corrupt, but the backup appears OK, so that will be " "used." msgstr "主 GPT 表æå£žï¼Œä½†å‚™ä»½ä¼¼ä¹Žæ˜¯æ­£ç¢ºçš„,所以將會使用它。" #: libparted/labels/gpt.c:1007 msgid "primary partition table array CRC mismatch" msgstr "" #: libparted/labels/mac.c:185 #, c-format msgid "Invalid signature %x for Mac disk labels." msgstr "無效的 Mac ç£ç¢Ÿæ¨™ç±¤ç°½å %x。" #: libparted/labels/mac.c:232 msgid "Partition map has no partition map entry!" msgstr "åˆ†å‰²å€æ˜ å°„ä¸å«æœ‰åˆ†å‰²å€æ˜ å°„æ¢ç›®ï¼" #: libparted/labels/mac.c:280 #, c-format msgid "%s is too small for a Mac disk label!" msgstr "%s å° Mac ç£ç¢Ÿæ¨™ç±¤ä¾†èªªå¤ªå°äº†ï¼" #: libparted/labels/mac.c:509 #, c-format msgid "Partition %d has an invalid signature %x." msgstr "åˆ†å‰²å€ %d 嫿œ‰ç„¡æ•ˆçš„ç°½å %x。" #: libparted/labels/mac.c:527 #, c-format msgid "Partition %d has an invalid length of 0 bytes!" msgstr "åˆ†å‰²å€ %d 嫿œ‰ç„¡æ•ˆçš„長度 0 ä½å…ƒçµ„ï¼" #: libparted/labels/mac.c:558 msgid "The data region doesn't start at the start of the partition." msgstr "資料å€ä¸¦æœªå¾žåˆ†å‰²å€çš„起點開始。" #: libparted/labels/mac.c:575 msgid "The boot region doesn't start at the start of the partition." msgstr "啟動å€åŸŸä¸¦æœªå¾žåˆ†å‰²å€çš„起點開始。" #: libparted/labels/mac.c:589 msgid "The partition's boot region doesn't occupy the entire partition." msgstr "分割å€çš„啟動å€åŸŸä¸¦æœªä½”用整個分割å€ã€‚" #: libparted/labels/mac.c:600 msgid "The partition's data region doesn't occupy the entire partition." msgstr "分割å€çš„資料å€åŸŸä¸¦æœªä½”用整個分割å€ã€‚" #: libparted/labels/mac.c:653 #, c-format msgid "" "Weird block size on device descriptor: %d bytes is not divisible by 512." msgstr "設備æè¿°ä¸­å‡ºç¾å¤æ€ªçš„å€å¡Šå¤§å°ï¼š%d ä½å…ƒçµ„ä¸èƒ½è¢« 512 整除。" #: libparted/labels/mac.c:666 #, c-format msgid "" "The driver descriptor says the physical block size is %d bytes, but Linux " "says it is %d bytes." msgstr "ç£ç¢Ÿæè¿°è¡¨æ˜Žç‰©ç†å€å¡Šå¤§å°ç‚º %d ä½å…ƒçµ„,但 Linux èªç‚ºå®ƒæ˜¯ %d ä½å…ƒçµ„。" #: libparted/labels/mac.c:720 msgid "No valid partition map found." msgstr "找ä¸åˆ°æœ‰æ•ˆçš„åˆ†å‰²å€æ˜ å°„。" #: libparted/labels/mac.c:782 #, c-format msgid "" "Conflicting partition map entry sizes! Entry 1 says it is %d, but entry %d " "says it is %d!" msgstr "åˆ†å‰²å€æ˜ å°„æ¢ç›®å¤§å°ç™¼ç”Ÿè¡çªï¼æ¢ç›® 1 說它是 %d,但æ¢ç›® %d 說它是 %dï¼" #: libparted/labels/mac.c:809 msgid "Weird! There are 2 partitions map entries!" msgstr "奇怪ï¼å…©å€‹åˆ†å‰²å€æ˜ å°„æ¢ç›®ï¼" #: libparted/labels/mac.c:1355 msgid "" "Changing the name of a root or swap partition will prevent Linux from " "recognising it as such." msgstr "æ”¹è®Šæ ¹åˆ†å‰²å€æˆ–交æ›åˆ†å‰²å€çš„å稱將導致 Linux 無法識別它。" #: libparted/labels/mac.c:1459 msgid "Can't add another partition -- the partition map is too small!" msgstr "無法添加å¦ä¸€å€‹åˆ†å‰²å€ -- åˆ†å‰²å€æ˜ å°„éŽå°ï¼" #: libparted/labels/pc98.c:331 #, c-format msgid "Invalid partition table on %s." msgstr "%s 的分割å€è¡¨ç„¡æ•ˆã€‚" #: libparted/labels/pc98.c:384 libparted/labels/pc98.c:462 #, c-format msgid "" "Partition %d isn't aligned to cylinder boundaries. This is still " "unsupported." msgstr "åˆ†å‰²å€ %d 並未å°é½Šåˆ°ç£æŸ±é‚Šç•Œã€‚此功能ä»ç„¶å°šæœªè¢«æ”¯æ´ã€‚" #: libparted/labels/pc98.c:781 msgid "Can't add another partition." msgstr "無法添加其它分割å€ã€‚" #: libparted/labels/pt-tools.c:125 #, c-format msgid "" "partition length of %jd sectors exceeds the %s-partition-table-imposed " "maximum of %jd" msgstr "" #: libparted/labels/pt-tools.c:138 #, c-format msgid "" "starting sector number, %jd exceeds the %s-partition-table-imposed maximum " "of %jd" msgstr "" #: libparted/labels/rdb.c:170 #, c-format msgid "%s : Bad checksum on block %llu of type %s." msgstr "%s:å€å¡Š %llu 的類型 %s 有ä¸ç•¶çš„總和檢查值。" #: libparted/labels/rdb.c:486 #, c-format msgid "%s : Didn't find rdb block, should never happen." msgstr "%s:無法找到 rdb å€å¡Šï¼Œé€™ä¸æ‡‰è©²ç™¼ç”Ÿã€‚" #: libparted/labels/rdb.c:572 #, c-format msgid "%s : Loop detected at block %d." msgstr "%s:於å€å¡Š %d 嵿¸¬åˆ°è¿´åœˆã€‚" #: libparted/labels/rdb.c:591 #, c-format msgid "%s : The %s list seems bad at block %s." msgstr "%1$s:å€å¡Š %3$s 處似有ä¸ç•¶ %2$s 列表。" #: libparted/labels/rdb.c:690 #, c-format msgid "%s : Failed to list bad blocks." msgstr "%s:列舉ä¸ç•¶å€å¡Šæ™‚失敗。" #: libparted/labels/rdb.c:698 #, c-format msgid "%s : Failed to list partition blocks." msgstr "%s:列舉分割å€å€å¡Šæ™‚失敗。" #: libparted/labels/rdb.c:706 #, c-format msgid "%s : Failed to list file system blocks." msgstr "%s:列舉檔案系統å€å¡Šæ™‚失敗。" #: libparted/labels/rdb.c:714 #, c-format msgid "%s : Failed to list boot blocks." msgstr "%s:列舉開機å€å¡Šæ™‚失敗。" #: libparted/labels/rdb.c:741 #, c-format msgid "Failed to write partition block at %d." msgstr "寫入分割å€å€å¡Š %d 時失敗。" #: libparted/labels/rdb.c:1079 msgid "Unable to allocate a partition number." msgstr "無法定ä½åˆ†å‰²å€ç·¨è™Ÿã€‚" #: libparted/labels/sun.c:163 msgid "Corrupted Sun disk label detected." msgstr "嵿¸¬åˆ°æå£žäº†çš„ Sun ç£ç¢Ÿæ¨™ç±¤ã€‚" #: libparted/labels/sun.c:316 #, c-format msgid "" "The disk CHS geometry (%d,%d,%d) reported by the operating system does not " "match the geometry stored on the disk label (%d,%d,%d)." msgstr "" "由作業系統回報的ç£ç¢Ÿ CHS å¹¾ä½•çµæ§‹ (%d,%d,%d) 與ä¿å­˜åœ¨ç£ç¢Ÿæ¨™ç±¤ä¸­çš„å¹¾ä½•çµæ§‹ " "(%d,%d,%d) ä¸ç¬¦åˆã€‚" #: libparted/labels/sun.c:338 #, c-format msgid "The disk label describes a disk bigger than %s." msgstr "ç£ç¢Ÿæ¨™ç±¤æè¿°çš„ç£ç¢Ÿå¤§æ–¼ %s。" #: libparted/labels/sun.c:510 #, c-format msgid "The disk has %d cylinders, which is greater than the maximum of 65536." msgstr "該ç£ç¢Ÿå…·æœ‰ %d åœˆç£æŸ±ï¼Œå·²è¶…éŽ 65536 的最大é™åˆ¶ã€‚" #: libparted/labels/sun.c:853 msgid "" "The Whole Disk partition is the only available one left. Generally, it is " "not a good idea to overwrite this partition with a real one. Solaris may " "not be able to boot without it, and SILO (the sparc boot loader) appreciates " "it as well." msgstr "" "整個ç£ç¢Ÿåˆ†å‰²å€æ˜¯æƒŸä¸€é‚„留下å¯ç”¨çš„å€å¡Šã€‚一般而言,以真實的å€å¡Šä¾†è¦†å¯«é€™å¡Šåˆ†å‰²å€ " "䏦䏿˜¯å€‹å¥½ä¸»æ„。沒有了它,Solaris 也許就無法開機,並且 SILO (sparc 開機載入程" "å¼) 也會因此而感激的。" #: libparted/labels/sun.c:868 msgid "Sun disk label is full." msgstr "Sun ç£ç¢Ÿæ¨™ç±¤å·²æ»¿ã€‚" #: libparted/labels/vtoc.c:164 msgid "opening of device failed" msgstr "" #: libparted/labels/vtoc.c:168 msgid "seeking on device failed" msgstr "" #: libparted/labels/vtoc.c:172 msgid "writing to device failed" msgstr "" #: libparted/labels/vtoc.c:176 msgid "reading from device failed" msgstr "" #: libparted/labels/vtoc.c:277 libparted/labels/vtoc.c:284 msgid "Could not read volume label." msgstr "" #: libparted/labels/vtoc.c:303 libparted/labels/vtoc.c:308 #, fuzzy msgid "Could not write volume label." msgstr "ç„¡æ³•åµæ¸¬æª”案系統。" #: libparted/labels/vtoc.c:414 msgid "Could not read VTOC labels." msgstr "" #: libparted/labels/vtoc.c:420 msgid "Could not read VTOC FMT1 DSCB." msgstr "" #: libparted/labels/vtoc.c:427 msgid "Could not read VTOC FMT4 DSCB." msgstr "" #: libparted/labels/vtoc.c:434 msgid "Could not read VTOC FMT5 DSCB." msgstr "" #: libparted/labels/vtoc.c:441 msgid "Could not read VTOC FMT7 DSCB." msgstr "" #: libparted/labels/vtoc.c:461 msgid "Could not write VTOC labels." msgstr "" #: libparted/labels/vtoc.c:467 msgid "Could not write VTOC FMT1 DSCB." msgstr "" #: libparted/labels/vtoc.c:474 msgid "Could not write VTOC FMT4 DSCB." msgstr "" #: libparted/labels/vtoc.c:481 msgid "Could not write VTOC FMT5 DSCB." msgstr "" #: libparted/labels/vtoc.c:488 msgid "Could not write VTOC FMT7 DSCB." msgstr "" #: libparted/libparted.c:237 libparted/libparted.c:252 msgid "Out of memory." msgstr "記憶體耗盡。" #: libparted/unit.c:138 msgid "Cannot get unit size for special unit 'COMPACT'." msgstr "無法ç²å¾—特殊的「COMPACTã€æ‰€ç”¨çš„å–®ä½å¤§å°ã€‚" #: libparted/unit.c:384 #, c-format msgid "\"%s\" has invalid syntax for locations." msgstr "å®šä½ \"%s\" 時語法無效。" #: libparted/unit.c:392 #, c-format msgid "The maximum head value is %d." msgstr "ç£é ­æ•¸é‡çš„æœ€å¤§å€¼ç‚º %d。" #: libparted/unit.c:399 #, c-format msgid "The maximum sector value is %d." msgstr "ç£å€æ•¸é‡çš„æœ€å¤§å€¼ç‚º %d。" #: libparted/unit.c:411 libparted/unit.c:543 #, c-format msgid "The location %s is outside of the device %s." msgstr "ä½ç½® %s 超出è£ç½® %s 的範åœã€‚" #: libparted/unit.c:525 msgid "Invalid number." msgstr "無效的編號。" #: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:56 #: libparted/fs/amiga/asfs.c:70 #, fuzzy, c-format msgid "%s : Failed to allocate partition block\n" msgstr "%s:列舉分割å€å€å¡Šæ™‚失敗。" #: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:69 #: libparted/fs/amiga/asfs.c:82 #, fuzzy, c-format msgid "%s : Failed to allocate block\n" msgstr "%s:列舉開機å€å¡Šæ™‚失敗。" #: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:74 #, fuzzy, c-format msgid "%s : Couldn't read boot block %llu\n" msgstr "%s:於å€å¡Š %d 嵿¸¬åˆ°è¿´åœˆã€‚" #: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:85 #: libparted/fs/amiga/asfs.c:88 libparted/fs/amiga/asfs.c:102 #, fuzzy, c-format msgid "%s : Couldn't read root block %llu\n" msgstr "%s:於å€å¡Š %d 嵿¸¬åˆ°è¿´åœˆã€‚" #: libparted/fs/amiga/amiga.c:72 #, fuzzy, c-format msgid "%s : Failed to allocate id list element\n" msgstr "%s:列舉ä¸ç•¶å€å¡Šæ™‚失敗。" #: libparted/fs/amiga/amiga.c:189 #, c-format msgid "%s : Couldn't read block %llu\n" msgstr "" #: libparted/fs/amiga/amiga.c:202 #, fuzzy, c-format msgid "%s : Bad checksum on block %llu of type %s\n" msgstr "%s:å€å¡Š %llu 的類型 %s 有ä¸ç•¶çš„總和檢查值。" #: libparted/fs/amiga/amiga.c:212 #, fuzzy, c-format msgid "%s : Couldn't write block %d\n" msgstr "%s:於å€å¡Š %d 嵿¸¬åˆ°è¿´åœˆã€‚" #: libparted/fs/amiga/amiga.c:278 #, fuzzy, c-format msgid "%s : Failed to allocate disk_specific rdb block\n" msgstr "%s:列舉ä¸ç•¶å€å¡Šæ™‚失敗。" #: libparted/fs/amiga/amiga.c:289 #, fuzzy, c-format msgid "%s : Didn't find rdb block, should never happen\n" msgstr "%s:無法找到 rdb å€å¡Šï¼Œé€™ä¸æ‡‰è©²ç™¼ç”Ÿã€‚" #: libparted/fs/amiga/amiga.c:318 #, fuzzy, c-format msgid "%s : Failed to read partition block %llu\n" msgstr "%s:列舉分割å€å€å¡Šæ™‚失敗。" #: libparted/fs/ext2/ext2.c:87 libparted/fs/ext2/ext2.c:112 msgid "Inconsistent group descriptors!" msgstr "ä¸ä¸€è‡´çš„群組æè¿°ç¬¦è™Ÿï¼" #: libparted/fs/ext2/ext2.c:91 libparted/fs/ext2/ext2.c:116 msgid "File system full!" msgstr "檔案系統已滿ï¼" #: libparted/fs/ext2/ext2.c:686 msgid "Invalid superblock. Are you sure this is an ext2 file system?" msgstr "無效的超å€å¡Šã€‚您確信它是一個 ext2 檔案系統?" #: libparted/fs/ext2/ext2.c:700 libparted/fs/ext2/ext2_resize.c:658 msgid "File system has errors! You should run e2fsck." msgstr "æª”æ¡ˆç³»çµ±ç™¼ç”ŸéŒ¯èª¤ï¼æ‚¨æ‡‰è©²åŸ·è¡Œ e2fsck。" #: libparted/fs/ext2/ext2.c:711 msgid "" "File system was not cleanly unmounted! You should run e2fsck. Modifying an " "unclean file system could cause severe corruption." msgstr "" "檔案系統沒有被乾淨地å¸è¼‰ï¼æ‚¨æ‡‰è©²åŸ·è¡Œ e2fsck。修改ä¸ä¹¾æ·¨çš„æª”案系統å¯èƒ½å°Žè‡´åš´é‡" "çš„æå£žã€‚" #: libparted/fs/ext2/ext2.c:731 msgid "" "File system has an incompatible feature enabled. Compatible features are " "has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs " "or debugfs to remove features." msgstr "" #: libparted/fs/ext2/ext2.c:745 msgid "Error allocating buffer cache." msgstr "分é…ç·©è¡å€å¿«å–時發生錯誤。" #: libparted/fs/ext2/ext2_inode_relocator.c:114 msgid "" "Found an inode with a incorrect link count. Better go run e2fsck first!" msgstr "找到帶有錯誤連çµè¨ˆæ•¸çš„ inode。最好先執行 e2fsckï¼" #: libparted/fs/ext2/ext2_inode_relocator.c:487 msgid "Not enough free inodes!" msgstr "沒有足夠的å¯ç”¨ inodesï¼" #: libparted/fs/ext2/ext2_resize.c:223 msgid "File system is too full to remove a group!" msgstr "檔案系統被éŽåº¦ä½”用,以致無法刪除整組ï¼" #: libparted/fs/ext2/ext2_resize.c:232 msgid "File system has too many allocated inodes to remove a group!" msgstr "檔案系統中已使用的 inode éŽå¤šï¼Œä»¥è‡´ç„¡æ³•刪除整組ï¼" #: libparted/fs/ext2/ext2_resize.c:491 msgid "adding groups" msgstr "添加群組" #: libparted/fs/ext2/ext2_resize.c:528 #, c-format msgid "Your file system is too full to resize it to %i blocks. Sorry." msgstr "您的檔案系統被éŽåº¦ä½”ç”¨ï¼Œä»¥è‡´ç„¡æ³•å°‡å®ƒçš„å¤§å°æ”¹è®Šç‚º %i 個å€å¡Šã€‚抱歉。" #: libparted/fs/ext2/ext2_resize.c:538 #, c-format msgid "" "Your file system has too many occupied inodes to resize it to %i blocks. " "Sorry." msgstr "" "您的檔案系統中已使用的 inode éŽå¤šï¼Œä»¥è‡´ç„¡æ³•將其大尿”¹è®Šç‚º %i 個å€å¡Šã€‚抱歉。" #: libparted/fs/ext2/ext2_resize.c:666 msgid "File system was not cleanly unmounted! You should run e2fsck." msgstr "檔案系統沒有乾淨地å¸è¼‰ï¼æ‚¨æ‡‰è©²åŸ·è¡Œ e2fsck。" #: libparted/fs/ext2/ext2_resize.c:675 msgid "" "The file system has the 'dir_index' feature enabled. Parted can only resize " "the file system if it disables this feature. You can enable it later by " "running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'." msgstr "" "檔案系統已啟用「dir_indexã€çš„ç‰¹æ®ŠåŠŸèƒ½ã€‚åªæœ‰ç•¶æ­¤ç‰¹æ€§åœç”¨æ™‚,Parted æ‰èƒ½æ”¹è®Šæª”" "案系統的大å°ã€‚您å¯ä»¥åœ¨ç¨å¾Œåˆ©ç”¨åŸ·è¡Œã€Œtune2fs -O dir_index DEVICEã€ä¾†å•Ÿç”¨å®ƒï¼Œç„¶" "後接著「e2fsck -fD DEVICEã€ã€‚" #: libparted/fs/ext2/ext2_resize.c:691 #, fuzzy msgid "" "A resize operation on this file system will use EXPERIMENTAL code\n" "that MAY CORRUPT it (although no one has reported any such damage yet).\n" "You should at least backup your data first, and run 'e2fsck -f' afterwards." msgstr "" "在這個檔案系統上改變大å°çš„æ“ä½œï¼Œå°‡æœƒä½¿ç”¨[實驗性]的程å¼ç¢¼ï¼Œå®ƒ[有å¯èƒ½]造æˆ[毀" "æ](é›–ç„¶é‚„ä¸æ›¾ç™¼ç”ŸéŽ)。您應該至少è¦å‚™ä»½æ‚¨çš„資料,並在之後執行 'e2fsck -f'。" #: libparted/fs/ext2/ext2_block_relocator.c:198 msgid "Cross-linked blocks found! Better go run e2fsck first!" msgstr "發ç¾äº¤å‰é€£çµå€å¡Šï¼æœ€å¥½å…ˆåŸ·è¡Œ e2fsckï¼" #: libparted/fs/ext2/ext2_block_relocator.c:537 #, c-format msgid "Block %i has no reference? Weird." msgstr "å€å¡Š %i 沒有被åƒç…§ï¼Ÿå¥‡æ€ªã€‚" #: libparted/fs/ext2/ext2_block_relocator.c:738 #, fuzzy, c-format msgid "Block %i shouldn't have been marked (%d, %d)!" msgstr "å€å¡Š %i 䏿‡‰è©²å·²è¢«æ¨™è¨˜ï¼" #: libparted/fs/ext2/interface.c:226 msgid "" "The ext2 file system passed a basic check. For a more comprehensive check, " "use the e2fsck program." msgstr "ext2 檔案系統通éŽäº†åŸºæœ¬æª¢æŸ¥ã€‚至於更完整的檢查,請使用 e2fsck 程å¼ã€‚" #: libparted/fs/ext2/interface.c:243 msgid "Sorry, can't move the start of ext2 partitions yet!" msgstr "抱歉,尚無法移動 ext2 分割å€çš„起點ï¼" #: libparted/fs/ext2/ext2_buffer.c:82 msgid "Couldn't flush buffer cache!" msgstr "無法排空緩è¡å€å¿«å–ï¼" #: libparted/fs/ext2/ext2_mkfs.c:161 msgid "writing per-group metadata" msgstr "寫入個別群組的中繼資料" #: libparted/fs/ext2/ext2_mkfs.c:597 msgid "File system too small for ext2." msgstr "å° ext2 來說檔案系統éŽå°ã€‚" #: libparted/fs/fat/calc.c:135 #, c-format msgid "" "You need %s of free disk space to shrink this partition to this size. " "Currently, only %s is free." msgstr "" "æ‚¨éœ€è¦ %s çš„è‡ªç”±ç©ºé–“ä¾†å°‡æ­¤åˆ†å‰²å€æ”¶ç¸®åˆ°é€™ä¸€å¤§å°ã€‚而目å‰åªæœ‰ %s 的自由空間。" #: libparted/fs/fat/context.c:56 #, c-format msgid "" "Cluster start delta = %d, which is not a multiple of the cluster size %d." msgstr "ç£ç°‡èµ·å§‹åç§» = %dï¼Œä¸æ˜¯ç£ç°‡å¤§å° %d 的整數å€ã€‚" #: libparted/fs/fat/fat.c:310 #, c-format msgid "Partition too big/small for a %s file system." msgstr "å°æ–¼ %s 檔案系統來說,分割å€éŽå¤§æˆ–éŽå°ã€‚" #: libparted/fs/fat/fat.c:476 msgid "" "The FATs don't match. If you don't know what this means, then select " "cancel, run scandisk on the file system, and then come back." msgstr "" "FAT ä¸ç›¸ç¬¦åˆã€‚如果你ä¸çŸ¥é“它的å«ç¾©ï¼Œè«‹é¸æ“‡å–æ¶ˆï¼Œä¸¦å°æª”案系統執行 scandisk,然" "後å†å›žåˆ°é€™è£¡ä¾†ã€‚" #: libparted/fs/fat/fat.c:516 msgid "There are no possible configurations for this FAT type." msgstr "å°æ–¼æ­¤ FAT 類型沒有å¯èƒ½çš„é…置。" #: libparted/fs/fat/fat.c:528 #, c-format msgid "" "File system doesn't have expected sizes for Windows to like it. Cluster " "size is %dk (%dk expected); number of clusters is %d (%d expected); size of " "FATs is %d sectors (%d expected)." msgstr "" "檔案系統的大å°ä¸æ˜¯ Windows 所希望的。ç£ç°‡å¤§å°ç‚º %dk (期望 %dk)ï¼›ç£ç°‡æ•¸é‡ç‚º " "%d (期望 %d)ï¼›FAT 的大å°ç‚º %d ç£å€ (期望 %d)。" #: libparted/fs/fat/fat.c:551 #, c-format msgid "" "File system is reporting the free space as %d clusters, not %d clusters." msgstr "檔案系統報告自由空間為 %d ç£ç°‡ï¼Œè€Œä¸æ˜¯ %d ç£ç°‡ã€‚" #: libparted/fs/fat/fat.c:876 msgid "" "GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT " "support will be disabled." msgstr "GNU parted 編譯錯誤:FAT 啟動ç£å€æ‡‰ç‚º 512 ä½å…ƒçµ„。FAT 支æ´å°‡è¢«é—œé–‰ã€‚" #: libparted/fs/fat/resize.c:158 msgid "" "There's not enough room in the root directory for all of the files. Either " "cancel, or ignore to lose the files." msgstr "根目錄下沒有ä¿å­˜æ‰€æœ‰æª”æ¡ˆçš„è¶³å¤ ç©ºé–“ã€‚å–æ¶ˆæˆ–者以æå¤±æª”案為代價忽略它。" #: libparted/fs/fat/resize.c:299 msgid "Error writing to the root directory." msgstr "寫入根目錄時錯誤。" #: libparted/fs/fat/resize.c:488 msgid "If you leave your file system as FAT16, then you will have no problems." msgstr "å¦‚æžœå°‡æ‚¨çš„æª”æ¡ˆç³»çµ±é¡žåž‹ä¿æŒ FAT16 ä¸è®Šï¼Œé‚£éº¼ä½ å°±ä¸æœƒæœ‰å•題。" #: libparted/fs/fat/resize.c:491 msgid "" "If you convert to FAT16, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual)." msgstr "" "如果您轉æ›ç‚º FAT16,並將 MS Windows 安è£åˆ°é€™å€‹åˆ†å‰²å€ï¼Œé‚£éº¼æ‚¨å¿…é ˆé‡æ–°å®‰è£ MS " "Windows 開機載入程å¼ã€‚如果您打算這麼åšï¼Œæ‚¨æ‡‰è©²åƒé–± Parted 的手冊 (或您的發行" "版手冊)。" #: libparted/fs/fat/resize.c:499 msgid "" "If you leave your file system as FAT32, then you will not introduce any new " "problems." msgstr "å¦‚æžœæ‚¨ä¿æŒæª”案系統類型為 FAT32 ä¸è®Šï¼Œé‚£éº¼æ‚¨å°‡ä¸æœƒé‡åˆ°ä»»ä½•æ–°å•題。" #: libparted/fs/fat/resize.c:503 msgid "" "If you convert to FAT32, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual). Also, " "converting to FAT32 will make the file system unreadable by MS DOS, MS " "Windows 95a, and MS Windows NT." msgstr "" "如果您轉æ›ç‚º FAT32,並且 MS Windows 安è£åœ¨é€™å€‹åˆ†å‰²å€ï¼Œé‚£éº¼æ‚¨å¿…é ˆé‡æ–°å®‰è£ MS " "Windows 的開機載入程å¼ã€‚如果您打算這樣作,您應該åƒé–± Parted 的手冊 (或者您的" "發行版手冊)。此外,將檔案系統轉æ›ç‚º FAT32,檔案系統就ä¸èƒ½å¤ è¢« MS DOSã€MS " "Windows 95a å’Œ MS Windows NT 所存å–。" #: libparted/fs/fat/resize.c:517 #, c-format msgid "%s %s %s" msgstr "%s %s %s" #: libparted/fs/fat/resize.c:518 msgid "Would you like to use FAT32?" msgstr "您是å¦é¡˜æ„使用 FAT32?" #: libparted/fs/fat/resize.c:549 libparted/fs/fat/resize.c:565 #, c-format msgid "%s %s" msgstr "%s %s" #: libparted/fs/fat/resize.c:550 msgid "" "The file system can only be resized to this size by converting to FAT16." msgstr "檔案系統的大å°åªèƒ½ç¶“由轉æ›ç‚º FAT16 改變到這一大å°ã€‚" #: libparted/fs/fat/resize.c:566 msgid "" "The file system can only be resized to this size by converting to FAT32." msgstr "檔案系統的大å°åªèƒ½ç¶“由轉æ›ç‚º FAT32 改變到這一大å°ã€‚" #: libparted/fs/fat/resize.c:579 msgid "" "GNU Parted cannot resize this partition to this size. We're working on it!" msgstr "GNU Parted 無法將此分割å€è½‰æ›åˆ°é€™ä¸€å¤§å°ã€‚我們正在努力中ï¼" #: libparted/fs/fat/bootsector.c:49 libparted/fs/fat/bootsector.c:56 msgid "File system has an invalid signature for a FAT file system." msgstr "æª”æ¡ˆç³»çµ±å«æœ‰ç„¡æ•ˆçš„ FAT 檔案系統簽å。" #: libparted/fs/fat/bootsector.c:64 msgid "File system has an invalid sector size for a FAT file system." msgstr "檔案系統的ç£å€å¤§å°å° FAT 檔案系統來說無效。" #: libparted/fs/fat/bootsector.c:71 msgid "File system has an invalid cluster size for a FAT file system." msgstr "檔案系統的ç£ç°‡å¤§å°å° FAT 檔案系統來說無效。" #: libparted/fs/fat/bootsector.c:78 msgid "" "File system has an invalid number of reserved sectors for a FAT file system." msgstr "檔案系統的ä¿ç•™ç£å€æ•¸å° FAT 檔案系統來說無效。" #: libparted/fs/fat/bootsector.c:85 msgid "File system has an invalid number of FATs." msgstr "檔案系統的 FAT 數é‡ç„¡æ•ˆã€‚" #: libparted/fs/fat/bootsector.c:139 #, c-format msgid "" "This file system has a logical sector size of %d. GNU Parted is known not " "to work properly with sector sizes other than 512 bytes." msgstr "" "此檔案系統的é‚輯ç£å€å¤§å°ç‚º %d。GNU Parted 無法在ç£å€å¤§å°ä¸æ˜¯ 512 ä½å…ƒçµ„的情æ³" "下正確工作。" #: libparted/fs/fat/bootsector.c:164 #, c-format msgid "" "The file system's CHS geometry is (%d, %d, %d), which is invalid. The " "partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the " "file system's CHS geometry will be left unchanged. If you select Fix, the " "file system's CHS geometry will be set to match the partition table's CHS " "geometry." msgstr "" "檔案系統的 CHS å¹¾ä½•çµæ§‹ç‚º (%d, %d, %d),而其為無效。分割å€è¡¨çš„ CHS å¹¾ä½•çµæ§‹" "為 (%d, %d, %d)ã€‚å¦‚æžœæ‚¨é¸æ“‡å¿½ç•¥ï¼Œæª”案系統的 CHS å¹¾ä½•çµæ§‹å°‡æœƒä¿ç•™ä¸è®Šã€‚如果您" "鏿“‡ä¿®å¾©ï¼Œæª”案系統的 CHS å¹¾ä½•çµæ§‹å°‡æœƒè¢«è¨­å®šä»¥ç¬¦åˆåˆ†å‰²å€è¡¨çš„ CHS å¹¾ä½•çµæ§‹ã€‚" #: libparted/fs/fat/bootsector.c:213 msgid "FAT boot sector says logical sector size is 0. This is weird. " msgstr "FAT 啟動ç£å€è²ç¨±é‚輯ç£å€çš„大å°ç‚ºé›¶ã€‚這很奇怪。" #: libparted/fs/fat/bootsector.c:219 msgid "FAT boot sector says there are no FAT tables. This is weird. " msgstr "FAT 啟動ç£å€è²ç¨±æ²’有 FAT 表。這很奇怪。" #: libparted/fs/fat/bootsector.c:225 msgid "FAT boot sector says clusters are 0 sectors. This is weird. " msgstr "FAT 啟動ç£å€è²ç¨±ç£ç°‡å…·æœ‰é›¶ç£å€ã€‚這很奇怪。" #: libparted/fs/fat/bootsector.c:235 msgid "File system is FAT12, which is unsupported." msgstr "檔案系統為 FAT12ï¼Œä¸æ”¯æ´ã€‚" #: libparted/fs/fat/bootsector.c:411 #, c-format msgid "" "The information sector has the wrong signature (%x). Select cancel for now, " "and send in a bug report. If you're desperate, it's probably safe to ignore." msgstr "" "資訊ç£å€çš„ç°½å錯誤 (%x)。ç¾åœ¨é¸æ“‡å–消,並發é€ç¨‹å¼éŒ¯èª¤å ±å‘Šã€‚如果您ä¸é¡§ä¸€åˆ‡ï¼Œé¸" "擇忽略有å¯èƒ½æ˜¯ã€Œå®‰å…¨ã€çš„。" #: libparted/fs/fat/count.c:144 #, c-format msgid "Bad directory entry for %s: first cluster is the end of file marker." msgstr "%s 的目錄æ¢ç›®ä¸ç•¶ï¼šç¬¬ä¸€å€‹ç£ç°‡å°±æ˜¯æª”æ¡ˆæ¨™è¨˜çš„çµæŸã€‚" #: libparted/fs/fat/count.c:157 #, c-format msgid "" "Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk." msgstr "ä¸ç•¶çš„ FAT:%s çš„éˆçµæœªçµæŸã€‚您應該執行 dosfsck 或 scandisk。" #: libparted/fs/fat/count.c:166 #, c-format msgid "" "Bad FAT: cluster %d outside file system in chain for %s. You should run " "dosfsck or scandisk." msgstr "" "ä¸ç•¶çš„ FAT:在%2$s çš„éˆçµä¸­ï¼Œç£ç°‡ %1$d 使–¼æª”案系統之外。您應該執行 dosfsck " "或 scandisk。" #: libparted/fs/fat/count.c:176 #, c-format msgid "" "Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or " "scandisk." msgstr "ä¸ç•¶çš„ FAT:ç£ç°‡ %d 與 %s çš„éˆçµäº¤å‰ã€‚您應該執行 dosfsck 或 scandisk。" #: libparted/fs/fat/count.c:195 #, c-format msgid "%s is %dk, but it has %d clusters (%dk)." msgstr "%s 為 %dkï¼Œä½†å«æœ‰ %d 個ç£ç°‡ (%dk)。" #: libparted/fs/fat/count.c:258 #, c-format msgid "" "The file %s is marked as a system file. This means moving it could cause " "some programs to stop working." msgstr "檔案 %s 被標記為系統檔案。這æ„味著移動它å¯èƒ½å°Žè‡´æŸäº›ç¨‹å¼åœæ­¢å·¥ä½œã€‚" #: libparted/fs/fat/table.c:136 #, c-format msgid "" "FAT %d media %x doesn't match the boot sector's media %x. You should " "probably run scandisk." msgstr "" "FAT %d 媒體 %x 和啟動ç£å€æ‰€åœ¨çš„媒體 %x ä¸ç¬¦åˆã€‚您å¯èƒ½æ‡‰è©²åŸ·è¡Œ scandisk。" #: libparted/fs/fat/table.c:268 #, c-format msgid "fat_table_set: cluster %ld outside file system" msgstr "fat_table_set:ç£ç°‡ %ld 使–¼æª”案系統之外" #: libparted/fs/fat/table.c:300 #, c-format msgid "fat_table_get: cluster %ld outside file system" msgstr "fat_table_get:ç£ç°‡ %ld 使–¼æª”案系統之外" #: libparted/fs/fat/table.c:342 msgid "fat_table_alloc_cluster: no free clusters" msgstr "fat_table_alloc_cluster:沒有自由ç£ç°‡" #: libparted/fs/linux_swap/linux_swap.c:288 #, fuzzy, c-format msgid "Unrecognised old style linux swap signature '%10s'." msgstr "無法識別的 linux 交æ›ç°½å「%10sã€ã€‚" #: libparted/fs/linux_swap/linux_swap.c:331 #, fuzzy, c-format msgid "Unrecognised new style linux swap signature '%10s'." msgstr "無法識別的 linux 交æ›ç°½å「%10sã€ã€‚" #: libparted/fs/linux_swap/linux_swap.c:371 #, fuzzy, c-format msgid "Unrecognised swsusp linux swap signature '%9s'." msgstr "無法識別的 linux 交æ›ç°½å「%10sã€ã€‚" #: libparted/fs/linux_swap/linux_swap.c:447 msgid "Too many bad pages." msgstr "éŽå¤šçš„ä¸ç•¶åˆ†é ã€‚" #: libparted/fs/hfs/advfs.c:121 libparted/fs/hfs/advfs_plus.c:121 #: libparted/fs/hfs/reloc.c:414 libparted/fs/hfs/reloc.c:508 #: libparted/fs/hfs/reloc_plus.c:538 libparted/fs/hfs/reloc_plus.c:656 #: libparted/fs/hfs/reloc_plus.c:769 msgid "The file system contains errors." msgstr "檔案系統包å«éŒ¯èª¤ã€‚" #: libparted/fs/hfs/advfs_plus.c:285 msgid "Bad blocks could not be read." msgstr "無法讀å–ä¸ç•¶çš„å€å¡Šã€‚" #: libparted/fs/hfs/cache.c:137 #, c-format msgid "" "Trying to register an extent starting at block 0x%X, but another one already " "exists at this position. You should check the file system!" msgstr "" "嘗試註冊一個起始於å€å¡Š 0x%X 的擴充å€ï¼Œä½†æ˜¯æ­¤è™•已有其他å€å¡Šå­˜åœ¨ã€‚您應該檢查檔" "案系統ï¼" #: libparted/fs/hfs/cache.c:214 #, c-format msgid "" "Trying to move an extent from block Ox%X to block Ox%X, but another one " "already exists at this position. This should not happen!" msgstr "" "嘗試將一個擴充å€è‡ªå€å¡Š Ox%X 移至 Ox%X,但是此處已有其他å€å¡Šå­˜åœ¨ã€‚é€™ç¨®äº‹ä¸æ‡‰è©²" "發生ï¼" #: libparted/fs/hfs/file.c:143 #, c-format msgid "Could not update the extent cache for HFS file with CNID %X." msgstr "無法更新具有 CNID %X çš„ HFS 檔案擴充快å–。" #: libparted/fs/hfs/file.c:180 #, c-format msgid "Trying to read HFS file with CNID %X behind EOF." msgstr "嘗試讀å–資料於具有 CNID %X çš„ HFS 檔案çµå°¾ä¹‹å¾Œã€‚" #: libparted/fs/hfs/file.c:190 libparted/fs/hfs/file.c:220 #, c-format msgid "Could not find sector %lli of HFS file with CNID %X." msgstr "無法找到具有 CNID %2$X çš„ HFS 檔案之中的ç£å€ %1$lli。" #: libparted/fs/hfs/file.c:210 #, c-format msgid "Trying to write HFS file with CNID %X behind EOF." msgstr "嘗試寫入資料於具有 CNID %X çš„ HFS 檔案çµå°¾ä¹‹å¾Œã€‚" #: libparted/fs/hfs/file_plus.c:157 #, c-format msgid "Could not update the extent cache for HFS+ file with CNID %X." msgstr "無法更新具有 CNID %X çš„ HFS+ 檔案之擴充快å–。" #: libparted/fs/hfs/file_plus.c:202 #, c-format msgid "Trying to read HFS+ file with CNID %X behind EOF." msgstr "嘗試讀å–資料於具有 CNID %X çš„ HFS+ 檔案çµå°¾ä¹‹å¾Œã€‚" #: libparted/fs/hfs/file_plus.c:213 libparted/fs/hfs/file_plus.c:256 #, c-format msgid "Could not find sector %lli of HFS+ file with CNID %X." msgstr "無法找到具有 CNID %2$X çš„ HFS+ 檔案之中的ç£å€ %1$lli。" #: libparted/fs/hfs/file_plus.c:245 #, c-format msgid "Trying to write HFS+ file with CNID %X behind EOF." msgstr "嘗試寫入資料於具有 CNID %X çš„ HFS+ 檔案çµå°¾ä¹‹å¾Œã€‚" #: libparted/fs/hfs/hfs.c:232 msgid "Sorry, HFS cannot be resized that way yet." msgstr "抱歉,HFS å°šç„¡æ³•ä»¥æ­¤æ–¹å¼æ”¹è®Šå¤§å°ã€‚" #: libparted/fs/hfs/hfs.c:262 libparted/fs/hfs/hfs.c:641 msgid "Data relocation has failed." msgstr "è³‡æ–™é‡æ–°å®šä½æ™‚失敗。" #: libparted/fs/hfs/hfs.c:281 msgid "Data relocation left some data in the end of the volume." msgstr "è³‡æ–™é‡æ–°å®šä½æ™‚留下一些資料於å·å†Šæœ«ç«¯ã€‚" #: libparted/fs/hfs/hfs.c:320 msgid "writing HFS Master Directory Block" msgstr "正在寫入 HFS 主目錄å€å¡Š" #: libparted/fs/hfs/hfs.c:468 msgid "No valid HFS[+X] signature has been found while opening." msgstr "開啟時沒有找到任何有效的 HFS[+X] 簽章。" #: libparted/fs/hfs/hfs.c:478 #, c-format msgid "Version %d of HFS+ isn't supported." msgstr "䏦䏿”¯æ´ç‰ˆæœ¬ %d çš„ HFS+。" #: libparted/fs/hfs/hfs.c:489 #, c-format msgid "Version %d of HFSX isn't supported." msgstr "䏦䏿”¯æ´ç‰ˆæœ¬ %d çš„ HFSX。" #: libparted/fs/hfs/hfs.c:672 msgid "Data relocation left some data at the end of the volume." msgstr "資料é‡å®šä½å¾Œéºç•™ä¸€äº›è³‡æ–™æ–¼å·å†Šçš„æœ«ç«¯ã€‚" #: libparted/fs/hfs/hfs.c:720 msgid "Error while writing the allocation file." msgstr "å¯«å…¥å®šä½æª”案時發生錯誤。" #: libparted/fs/hfs/hfs.c:735 msgid "Error while writing the compatibility part of the allocation file." msgstr "å¯«å…¥å®šä½æª”案的相容部份時發生錯誤。" #: libparted/fs/hfs/hfs.c:750 msgid "writing HFS+ Volume Header" msgstr "正在寫入 HFS+ å·å†Šè¡¨é ­" #: libparted/fs/hfs/hfs.c:850 msgid "An error occurred while looking for the mandatory bad blocks file." msgstr "尋找強制性æå£žå€å¡Šæª”案時發生錯誤。" #: libparted/fs/hfs/hfs.c:904 msgid "" "It seems there is an error in the HFS wrapper: the bad blocks file doesn't " "contain the embedded HFS+ volume." msgstr "在 HFS+ 轉包程å¼ä¸­ä¼¼ä¹Žæœ‰éŒ¯èª¤ï¼šæå£žçš„å€å¡Šæª”案並未包å«å…§åµŒçš„ HFS+ å·å†Šã€‚" #: libparted/fs/hfs/hfs.c:940 msgid "Sorry, HFS+ cannot be resized that way yet." msgstr "抱歉,HFS+ å°šç„¡æ³•ä»¥æ­¤æ–¹å¼æ”¹è®Šå¤§å°ã€‚" #: libparted/fs/hfs/hfs.c:975 msgid "shrinking embedded HFS+ volume" msgstr "正在縮å°å…§åµŒçš„ HFS+ å·å†Š" #: libparted/fs/hfs/hfs.c:991 msgid "Resizing the HFS+ volume has failed." msgstr "改變 HFS+ å·å†Šå¤§å°æ™‚失敗。" #: libparted/fs/hfs/hfs.c:998 msgid "shrinking HFS wrapper" msgstr "æ­£åœ¨ç¸®å° HFS 轉包程å¼" #: libparted/fs/hfs/hfs.c:1007 msgid "Updating the HFS wrapper has failed." msgstr "æ›´æ–° HFS+ è½‰åŒ…ç¨‹å¼æ™‚失敗。" #: libparted/fs/hfs/hfs.c:1109 libparted/fs/hfs/hfs.c:1194 #, c-format msgid "" "This is not a real %s check. This is going to extract special low level " "files for debugging purposes." msgstr "" "é€™ä¸¦éžæ˜¯ä¸€æ¬¡çœŸæ­£çš„ %s 檢查。而是為了è¦åˆ†é›¢å‡ºç‰¹åˆ¥çš„低階檔案,以é”到除錯的目" "的。" #: libparted/fs/hfs/journal.c:155 msgid "Bad block list header checksum." msgstr "ä¸è‰¯çš„å€å¡Šåˆ—表頭總和檢查值。" #: libparted/fs/hfs/journal.c:168 #, c-format msgid "" "Invalid size of a transaction block while replaying the journal (%i bytes)." msgstr "釿’­æ—¥èªŒæ™‚無效的異動å€å¡Šå¤§å° (%i ä½å…ƒçµ„)。" #: libparted/fs/hfs/journal.c:260 msgid "" "Journal stored outside of the volume are not supported. Try to desactivate " "the journal and run Parted again." msgstr "䏿”¯æ´æ—¥èªŒå¼ HFS+ å·å†Šï¼Œæ‚¨æ‡‰è©²åœ¨å…¶ä¸Šå˜—試任何作業之å‰é—œé–‰æ—¥èªŒåŠŸèƒ½ã€‚" #: libparted/fs/hfs/journal.c:271 msgid "Journal offset or size is not multiple of the sector size." msgstr "日誌åç§»é‡æˆ–大å°ä¸æ˜¯ç£å€å¤§å°çš„æ•´æ•¸å€ã€‚" #: libparted/fs/hfs/journal.c:292 msgid "Incorrect magic values in the journal header." msgstr "åœ¨æ—¥èªŒè¡¨é ­ä¸­æœ‰ä¸æ­£ç¢ºçš„特異值。" #: libparted/fs/hfs/journal.c:302 msgid "Journal size mismatch between journal info block and journal header." msgstr "在日誌資訊å€å¡Šèˆ‡æ—¥èªŒè¡¨é ­ä¹‹é–“的大å°ä¸ç›¸ç¬¦åˆã€‚" #: libparted/fs/hfs/journal.c:314 msgid "Some header fields are not multiple of the sector size." msgstr "æŸäº›è¡¨é ­æ¬„ä½ä¸æ˜¯ç£å€å¤§å°çš„æ•´æ•¸å€ã€‚" #: libparted/fs/hfs/journal.c:323 msgid "" "The sector size stored in the journal is not 512 bytes. Parted only " "supports 512 bytes length sectors." msgstr "" "儲存於日誌的ç£å€å¤§å°ä¸æ˜¯ 512 ä½å…ƒçµ„。Parted åªæ”¯æ´é•·åº¦ç‚º 512 ä½å…ƒçµ„çš„ç£å€ã€‚" #: libparted/fs/hfs/journal.c:335 msgid "Bad journal checksum." msgstr "ä¸è‰¯çš„æ—¥èªŒç¸½å’Œæª¢æŸ¥å€¼ã€‚" #: libparted/fs/hfs/journal.c:353 msgid "" "The journal is not empty. Parted must replay the transactions before " "opening the file system. This will modify the file system." msgstr "" "日誌並éžç‚ºç©ºã€‚Parted 必須在開啟檔案系統之å‰é‡æ–°æ’­æ”¾ç•°å‹•。這將會修改檔案系統。" #: libparted/fs/hfs/journal.c:381 msgid "" "The volume header or the master directory block has changed while replaying " "the journal. You should restart Parted." msgstr "" "ç•¶é‡æ–°æ’­æ”¾æ—¥èªŒæ™‚,å·å†Šè¡¨é ­æˆ–是主目錄å€å¡Šå·²ç¶“æ”¹è®Šã€‚æ‚¨æ‡‰è©²é‡æ–°å•Ÿå‹• Parted。" #: libparted/fs/hfs/probe.c:51 #, c-format msgid "" "Parted can't use HFS file systems on disks with a sector size not equal to " "%d bytes." msgstr "Parted 無法在其ç£å€å¤§å°ä¸ç­‰æ–¼ %d ä½å…ƒçµ„çš„ç£ç¢Ÿä¸Šä½¿ç”¨ HFS 檔案系統。" #: libparted/fs/hfs/reloc.c:151 libparted/fs/hfs/reloc_plus.c:155 msgid "An extent has not been relocated." msgstr "å°šæœªé‡æ–°å®šä½ä¸€å€‹æ“´å……分割å€ã€‚" #: libparted/fs/hfs/reloc.c:251 libparted/fs/hfs/reloc_plus.c:307 msgid "" "A reference to an extent comes from a place it should not. You should check " "the file system!" msgstr "å°æ–¼æ“´å……分割å€çš„åƒç…§ä¾†è‡ªä¸€å€‹ä¸æ‡‰è©²çš„地方。您應該檢查檔案系統ï¼" #: libparted/fs/hfs/reloc.c:381 msgid "This HFS volume has no catalog file. This is very unusual!" msgstr "這個 HFS å·å†Šæ²’有類目檔案。這是很ä¸å°‹å¸¸çš„ï¼" #: libparted/fs/hfs/reloc.c:475 msgid "This HFS volume has no extents overflow file. This is quite unusual!" msgstr "這個 HFS å·å†Šæ²’æœ‰æ“´å……å€æº¢ä½æª”案。這是相當ä¸å°‹å¸¸çš„ï¼" #: libparted/fs/hfs/reloc.c:517 libparted/fs/hfs/reloc_plus.c:666 msgid "" "The extents overflow file should not contain its own extents! You should " "check the file system." msgstr "æ“´å……å€æº¢ä½æª”æ¡ˆä¸æ‡‰è©²åŒ…å«å®ƒè‡ªå·±çš„æ“´å……éƒ¨ä»½ï¼æ‚¨æ‡‰è©²æª¢æŸ¥æª”案系統。" #: libparted/fs/hfs/reloc.c:574 libparted/fs/hfs/reloc_plus.c:844 msgid "Could not cache the file system in memory." msgstr "無法快å–記憶體中的檔案系統。" #: libparted/fs/hfs/reloc.c:635 libparted/fs/hfs/reloc_plus.c:905 msgid "Bad blocks list could not be loaded." msgstr "ä¸ç•¶çš„å€å¡Šåˆ—表無法被載入。" #: libparted/fs/hfs/reloc.c:649 libparted/fs/hfs/reloc_plus.c:921 msgid "An error occurred during extent relocation." msgstr "擴充分割å€é‡æ–°å®šä½æœŸé–“發生錯誤。" #: libparted/fs/hfs/reloc_plus.c:494 msgid "This HFS+ volume has no catalog file. This is very unusual!" msgstr "這個 HFS+ å·å†Šæ²’有類目檔案。這是很ä¸å°‹å¸¸çš„ï¼" #: libparted/fs/hfs/reloc_plus.c:617 msgid "This HFS+ volume has no extents overflow file. This is quite unusual!" msgstr "這個 HFS+ å·å†Šæ²’æœ‰æ“´å……å€æº¢ä½æª”案。這是相當ä¸å°‹å¸¸çš„ï¼" #: parted/parted.c:123 msgid "displays this help message" msgstr "顯示此求助資訊" #: parted/parted.c:124 msgid "lists partition layout on all block devices" msgstr "" #: parted/parted.c:125 msgid "displays machine parseable output" msgstr "" #: parted/parted.c:126 msgid "never prompts for user intervention" msgstr "å¾žä¸æç¤ºä½¿ç”¨è€…ä»‹å…¥" #: parted/parted.c:127 msgid "displays the version" msgstr "顯示版本" #: parted/parted.c:128 #, fuzzy msgid "alignment for new partitions" msgstr "無法建立更多分割å€ã€‚" #: parted/parted.c:140 msgid "" "NUMBER is the partition number used by Linux. On MS-DOS disk labels, the " "primary partitions number from 1 to 4, logical partitions from 5 onwards.\n" msgstr "" "NUMBER 是 Linux 使用的分割å€ç·¨è™Ÿã€‚在 MS-DOS ç£ç¢Ÿæ¨™ç±¤ä¸­ï¼Œä¸»åˆ†å‰²å€ç·¨è™Ÿç‚º 1 - " "4,é‚輯分割å€å¾ž 5 開始。\n" #: parted/parted.c:143 msgid "LABEL-TYPE is one of: " msgstr "LABEL-TYPE 是以下任æ„一項:" #: parted/parted.c:144 msgid "FLAG is one of: " msgstr "FLAG 是以下任æ„一項:" #: parted/parted.c:145 msgid "UNIT is one of: " msgstr "UNIT 是以下任æ„一項:" #: parted/parted.c:146 msgid "desired alignment: minimum or optimal" msgstr "" #: parted/parted.c:147 msgid "PART-TYPE is one of: primary, logical, extended\n" msgstr "PART-TYPE 是主分割å€ã€é‚輯分割å€ã€æ“´å……分割å€ä¹‹ä¸€\n" #: parted/parted.c:149 msgid "FS-TYPE is one of: " msgstr "FS-TYPE 是以下任æ„一項:" #: parted/parted.c:150 msgid "" "START and END are disk locations, such as 4GB or 10%. Negative values count " "from the end of the disk. For example, -1s specifies exactly the last " "sector.\n" msgstr "" "START å’Œ END 是ç£ç¢Ÿç”¨é‡ï¼Œåƒæ˜¯ 4GB 或 10%。負數值則是從ç£ç¢Ÿæœ«ç«¯èµ·ç®—。例" "如,-1s 指定最後一個ç£å€ã€‚\n" #: parted/parted.c:153 msgid "STATE is one of: on, off\n" msgstr "STATE 為:開ã€é—œ\n" #: parted/parted.c:154 msgid "DEVICE is usually /dev/hda or /dev/sda\n" msgstr "DEVICE 通常為 /dev/hda 或 /dev/sda\n" #: parted/parted.c:155 msgid "NAME is any word you want\n" msgstr "NAME 是您需è¦çš„任何單詞\n" #: parted/parted.c:156 msgid "The partition must have one of the following FS-TYPEs: " msgstr "分割å€å¿…須具備以下 FS-TYPEs 之一:" #: parted/parted.c:160 #, fuzzy msgid "" "Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n" "This program is free software, covered by the GNU General Public License.\n" "\n" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" msgstr "" "版權所有 (C) 1998 - 2006 自由軟體基金會。\n" "本程å¼ç‚ºè‡ªç”±è»Ÿé«”,按 GNU 通用公共許å¯è­‰ç™¼è¡Œã€‚\n" "\n" "ç™¼è¡Œæœ¬ç¨‹å¼æ˜¯å¸Œæœ›å®ƒèƒ½å¤ æœ‰ç”¨ï¼Œä½†æ²’有任何擔ä¿ï¼›ç”šè‡³ä¸åŒ…括隱å«çš„é©éŠ·å’Œé©åˆç‰¹å®šç”¨" "途的ä¿è­‰ã€‚詳情請åƒè¦‹ GNU 通用公共許å¯è­‰ã€‚\n" "\n" #: parted/parted.c:208 #, c-format msgid "%0.f%%\t(time left %.2d:%.2d)" msgstr "%0.f%%\t(剩餘時間 %.2d:%.2d)" #: parted/parted.c:227 #, fuzzy, c-format msgid "" "Partition %s is being used. You must unmount it before you modify it with " "Parted." msgstr "æ­£åœ¨ä½¿ç”¨åˆ†å‰²å€ %s。您必須在以 Parted 更改它之å‰å…ˆå°‡å®ƒå¸è¼‰ã€‚" #: parted/parted.c:245 #, c-format msgid "Partition(s) on %s are being used." msgstr "正在使用 %s 上的分割å€ã€‚" #: parted/parted.c:257 msgid "" "The existing file system will be destroyed and all data on the partition " "will be lost. Do you want to continue?" msgstr "" #: parted/parted.c:269 #, c-format msgid "" "The existing disk label on %s will be destroyed and all data on this disk " "will be lost. Do you want to continue?" msgstr "" #: parted/parted.c:487 #, c-format msgid "" "WARNING: you are attempting to use %s to operate on (%s) a file system.\n" "%s's file system manipulation code is not as robust as what you'll find in\n" "dedicated, file-system-specific packages like e2fsprogs. We recommend\n" "you use %s only to manipulate partition tables, whenever possible.\n" "Support for performing most operations on most types of file systems\n" "will be removed in an upcoming release.\n" msgstr "" #: parted/parted.c:508 parted/parted.c:702 parted/parted.c:1179 #: parted/parted.c:1263 parted/parted.c:1935 parted/parted.c:2016 #: parted/parted.c:2088 parted/parted.c:2122 msgid "Partition number?" msgstr "分割å€ç·¨è™Ÿï¼Ÿ" #: parted/parted.c:551 msgid "Source device?" msgstr "來æºè¨­å‚™ï¼Ÿ" #: parted/parted.c:555 msgid "Source partition number?" msgstr "來æºåˆ†å‰²å€ç·¨è™Ÿï¼Ÿ" #: parted/parted.c:560 msgid "Can't copy an extended partition." msgstr "無法複製擴充分割å€ã€‚" #: parted/parted.c:566 msgid "Destination partition number?" msgstr "目標分割å€ç·¨è™Ÿï¼Ÿ" #: parted/parted.c:655 msgid "New disk label type?" msgstr "æ–°çš„ç£ç¢Ÿæ¨™ç±¤é¡žåž‹ï¼Ÿ" #: parted/parted.c:706 parted/parted.c:788 parted/parted.c:1000 msgid "File system type?" msgstr "檔案系統類型?" #: parted/parted.c:762 parted/parted.c:983 msgid "Partition type?" msgstr "分割å€é¡žåž‹ï¼Ÿ" #: parted/parted.c:780 parted/parted.c:990 parted/parted.c:1266 msgid "Partition name?" msgstr "分割å€å稱?" #: parted/parted.c:794 parted/parted.c:1002 parted/parted.c:1194 #: parted/parted.c:1883 parted/parted.c:1944 msgid "Start?" msgstr "起始點?" #: parted/parted.c:796 parted/parted.c:1005 parted/parted.c:1197 #: parted/parted.c:1885 parted/parted.c:1946 msgid "End?" msgstr "çµæŸé»žï¼Ÿ" #: parted/parted.c:862 parted/parted.c:1066 #, fuzzy, c-format msgid "" "You requested a partition from %s to %s.\n" "The closest location we can manage is %s to %s.%s" msgstr "" "æ‚¨è¦æ±‚將分割å€å¾ž %s 移動到 %s。\n" "我們å¯ä»¥ç®¡ç†çš„æœ€æŽ¥è¿‘åˆ†å‰²å€æ˜¯å¾ž %s 到 %s。這樣您å¯ä»¥æŽ¥å—嗎?" #: parted/parted.c:867 parted/parted.c:1071 msgid "" "\n" "Is this still acceptable to you?" msgstr "" #: parted/parted.c:889 parted/parted.c:1093 msgid "The resulting partition is not properly aligned for best performance." msgstr "" #: parted/parted.c:995 msgid "An extended partition cannot hold a file system. Did you want mkpart?" msgstr "擴充分割å€ä¸èƒ½å«æœ‰æª”案系統。您是è¦ç”¨ mkpart å§ï¼Ÿ" #: parted/parted.c:1185 msgid "Can't move an extended partition." msgstr "無法移動擴充分割å€ã€‚" #: parted/parted.c:1214 msgid "Can't move a partition onto itself. Try using resize, perhaps?" msgstr "無法將分割å€ç§»å‹•到它自身。也許試試改變大å°ï¼Ÿ" #: parted/parted.c:1360 #, c-format msgid "Minor: %d\n" msgstr "編號:%d\n" #: parted/parted.c:1361 #, c-format msgid "Flags: %s\n" msgstr "旗標:%s\n" #: parted/parted.c:1362 #, c-format msgid "File System: %s\n" msgstr "檔案系統:%s\n" #: parted/parted.c:1363 msgid "Size: " msgstr "大å°ï¼š " #: parted/parted.c:1368 msgid "Minimum size: " msgstr "最å°å°ºå¯¸ï¼š" #: parted/parted.c:1371 msgid "Maximum size: " msgstr "最大尺寸:" #: parted/parted.c:1504 #, c-format msgid "Model: %s (%s)\n" msgstr "" #: parted/parted.c:1506 #, c-format msgid "Disk %s: %s\n" msgstr "ç£ç¢Ÿ %s:%s\n" #: parted/parted.c:1507 #, c-format msgid "Sector size (logical/physical): %lldB/%lldB\n" msgstr "ç£å€å¤§å° (é‚輯/物ç†):%lldB/%lldB\n" #: parted/parted.c:1525 #, c-format msgid "BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s.\n" msgstr "BIOS çš„ç£æŸ±ã€ç£é ­ã€ç£å€å¹¾ä½•çµæ§‹ï¼š%d,%d,%d。æ¯åœˆç£æŸ±æ˜¯ %s。\n" #: parted/parted.c:1534 #, c-format msgid "Partition Table: %s\n" msgstr "分割å€ï¼š%s\n" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Number" msgstr "編號" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Start" msgstr "起始點" #: parted/parted.c:1550 parted/parted.c:1553 msgid "End" msgstr "çµæŸé»ž" #: parted/parted.c:1553 msgid "Size" msgstr "大å°" #: parted/parted.c:1557 msgid "Type" msgstr "類型" #: parted/parted.c:1559 msgid "File system" msgstr "檔案系統" #: parted/parted.c:1562 msgid "Name" msgstr "å稱" #: parted/parted.c:1564 msgid "Flags" msgstr "旗標" #: parted/parted.c:1621 msgid "Free Space" msgstr "å¯ç”¨ç©ºé–“" #: parted/parted.c:1782 #, c-format msgid "" "A %s %s partition was found at %s -> %s. Do you want to add it to the " "partition table?" msgstr "" "在 %3$s -> %4$s 處找到一個 %1$s %2$s 分割å€ã€‚您希望將其添加到分割表中嗎?" #: parted/parted.c:1821 msgid "searching for file systems" msgstr "正在æœå°‹æª”案系統" #: parted/parted.c:2041 msgid "New device?" msgstr "æ–°è£ç½®ï¼Ÿ" #: parted/parted.c:2086 msgid "alignment type(min/opt)" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d aligned\n" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d not aligned\n" msgstr "" #: parted/parted.c:2124 msgid "Flag to Invert?" msgstr "è¦å相的旗標?" #: parted/parted.c:2129 msgid "New state?" msgstr "新狀態?" #: parted/parted.c:2166 msgid "Unit?" msgstr "å–®ä½ï¼Ÿ" #: parted/parted.c:2348 #, fuzzy msgid "align-check" msgstr "檢查" #: parted/parted.c:2351 msgid "" "align-check TYPE N check partition N for TYPE(min|" "opt) alignment" msgstr "" #: parted/parted.c:2359 msgid "check" msgstr "檢查" #: parted/parted.c:2362 msgid "" "check NUMBER do a simple check on the file system" msgstr "check 編號 å°æª”案系統進行簡單的檢查" #: parted/parted.c:2368 msgid "cp" msgstr "cp" #: parted/parted.c:2371 msgid "" "cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another " "partition" msgstr "cp [來æºè£ç½®] 來æºç·¨è™Ÿ 目標編號 將檔案系統複製到å¦ä¸€å€‹åˆ†å‰²å€" #: parted/parted.c:2377 msgid "help" msgstr "help" #: parted/parted.c:2380 #, fuzzy msgid "" "help [COMMAND] print general help, or help on " "COMMAND" msgstr "" "help [命令] å°å‡ºä¸€èˆ¬æ±‚助資訊,或關於「命令ã€çš„資" "訊" #: parted/parted.c:2386 msgid "mklabel" msgstr "mklabel" #: parted/parted.c:2386 #, fuzzy msgid "mktable" msgstr "mklabel" #: parted/parted.c:2389 #, fuzzy msgid "" "mklabel,mktable LABEL-TYPE create a new disklabel (partition " "table)" msgstr "mklabel 標籤類型 建立新的ç£ç¢Ÿæ¨™ç±¤ (分割å€è¡¨)" #: parted/parted.c:2395 msgid "mkfs" msgstr "mkfs" #: parted/parted.c:2398 #, fuzzy msgid "" "mkfs NUMBER FS-TYPE make a FS-TYPE file system on " "partition NUMBER" msgstr "" "mkfs 編號 檔案系統類型 在指定「編號ã€çš„分割å€ä¸­å»ºç«‹é¡žåž‹ç‚º" "「檔案系統類型ã€çš„æª”案系統" #: parted/parted.c:2404 msgid "mkpart" msgstr "mkpart" #: parted/parted.c:2407 msgid "mkpart PART-TYPE [FS-TYPE] START END make a partition" msgstr "mkpart 分割å€é¡žåž‹ [檔案系統類型] 起始點 çµæŸé»ž 建立一個分割å€" #: parted/parted.c:2413 #, fuzzy msgid "" "'mkpart' makes a partition without creating a new file system on the " "partition. FS-TYPE may be specified to set an appropriate partition ID.\n" msgstr "" "mkpart 建立分割å€è€Œä¸åœ¨åˆ†å‰²å€ä¸Šå»ºç«‹æ–°æª”案系統。「檔案系統類型ã€å¯ä»¥ç”¨æ–¼è¨­ç½®é©" "當的分割å€è­˜åˆ¥è™Ÿã€‚\n" #: parted/parted.c:2418 msgid "mkpartfs" msgstr "mkpartfs" #: parted/parted.c:2421 msgid "" "mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system" msgstr "" "mkpartfs 分割å€é¡žåž‹ 檔案系統類型 起始點 çµæŸé»ž 建立一個帶有檔案系統的分割å€" #: parted/parted.c:2427 msgid "move" msgstr "move" #: parted/parted.c:2430 msgid "move NUMBER START END move partition NUMBER" msgstr "move 編號 起始點 çµæŸé»ž 移動指定「編號ã€çš„分割å€" #: parted/parted.c:2435 msgid "name" msgstr "name" #: parted/parted.c:2438 msgid "name NUMBER NAME name partition NUMBER as NAME" msgstr "" "name 編號 å稱 將指定「編號ã€çš„分割å€å‘½å為「å稱ã€" #: parted/parted.c:2443 msgid "print" msgstr "print" #: parted/parted.c:2446 msgid "" "print [devices|free|list,all|NUMBER] display the partition table, " "available devices, free space, all found partitions, or a particular " "partition" msgstr "" #: parted/parted.c:2451 msgid "" "Without arguments, 'print' displays the entire partition table. However with " "the following arguments it performs various other actions.\n" msgstr "" #: parted/parted.c:2453 msgid " devices : display all active block devices\n" msgstr "" #: parted/parted.c:2454 msgid "" " free : display information about free unpartitioned space on the " "current block device\n" msgstr "" #: parted/parted.c:2456 #, fuzzy msgid "" " list, all : display the partition tables of all active block devices\n" msgstr "" "print [free|編號|all] 顯示分割å€è¡¨ã€åˆ†å‰²å€ï¼Œæˆ–者所有è£ç½®" #: parted/parted.c:2457 msgid "" " NUMBER : display more detailed information about this particular " "partition\n" msgstr "" #: parted/parted.c:2462 msgid "quit" msgstr "quit" #: parted/parted.c:2465 msgid "quit exit program" msgstr "quit 離開程å¼" #: parted/parted.c:2470 msgid "rescue" msgstr "rescue" #: parted/parted.c:2473 msgid "" "rescue START END rescue a lost partition near START " "and END" msgstr "" "rescue 起始點 çµæŸé»ž 挽救臨近「起始點ã€ã€ã€ŒçµæŸé»žã€çš„éºå¤±" "的分割å€" #: parted/parted.c:2479 msgid "resize" msgstr "resize" #: parted/parted.c:2482 msgid "" "resize NUMBER START END resize partition NUMBER and its " "file system" msgstr "" "resize 編號 起始點 çµæŸé»ž æ”¹è®Šä½æ–¼æŒ‡å®šã€Œç·¨è™Ÿã€çš„分割å€ä¸­æª”案系" "統的大å°" #: parted/parted.c:2490 msgid "rm" msgstr "rm" #: parted/parted.c:2493 msgid "rm NUMBER delete partition NUMBER" msgstr "rm 編號 刪除指定「編號ã€çš„分割å€" #: parted/parted.c:2498 msgid "select" msgstr "select" #: parted/parted.c:2501 msgid "select DEVICE choose the device to edit" msgstr "select 設備 鏿“‡è¦ç·¨è¼¯çš„設備" #: parted/parted.c:2506 msgid "set" msgstr "set" #: parted/parted.c:2509 msgid "" "set NUMBER FLAG STATE change the FLAG on partition NUMBER" msgstr "set 編號 旗標 狀態 改變指定「編號ã€åˆ†å‰²å€çš„æ——標" #: parted/parted.c:2515 msgid "toggle" msgstr "toggle" #: parted/parted.c:2518 msgid "" "toggle [NUMBER [FLAG]] toggle the state of FLAG on " "partition NUMBER" msgstr "" "toggle [編號 [旗標]] 切æ›ã€Œç·¨è™Ÿã€åˆ†å‰²å€ä¸Šçš„「旗標ã€ç‹€æ…‹" #: parted/parted.c:2524 msgid "unit" msgstr "unit" #: parted/parted.c:2527 msgid "unit UNIT set the default unit to UNIT" msgstr "unit å–®ä½ è¨­å®šé è¨­çš„「單ä½ã€" #: parted/parted.c:2532 #, fuzzy msgid "version" msgstr "verion" #: parted/parted.c:2535 #, fuzzy msgid "" "version display the version number and " "copyright information of GNU Parted" msgstr "" "version é¡¯ç¤ºç›®å‰ GNU Parted 的版本與版權資訊" #: parted/parted.c:2539 #, fuzzy msgid "" "'version' displays copyright and version information corresponding to this " "copy of GNU Parted\n" msgstr "version 便“𿭤份 GNU Parted 顯示其版權與版本資訊\n" #: parted/parted.c:2607 #, c-format msgid "Usage: %s [-hlmsv] [-a] [DEVICE [COMMAND [PARAMETERS]]...]\n" msgstr "" #: parted/parted.c:2651 msgid "No device found" msgstr "沒有找到設備" #: parted/parted.c:2688 msgid "WARNING: You are not superuser. Watch out for permissions." msgstr "" #: parted/parted.c:2726 #, fuzzy msgid "You may need to update /etc/fstab.\n" msgstr "如果必è¦ï¼Œä¸è¦å¿˜è¨˜æ›´æ–° /etc/fstab。\n" #: parted/ui.c:162 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n" msgstr "歡迎使用 GNU Partedï¼è¼¸å…¥ 'help' 來檢視命令列表。\n" #: parted/ui.c:165 msgid "" "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n" "Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run " "in\n" "interactive mode.\n" msgstr "" "用法:parted [é¸é …]… [è£ç½® [命令 [åƒæ•¸]…]…]\n" "å°‡å¸¶æœ‰ã€Œåƒæ•¸ã€çš„ã€Œå‘½ä»¤ã€æ‡‰ç”¨æ–¼ã€Œè£ç½®ã€ã€‚如果沒有指定「命令ã€ï¼Œå‰‡ä»¥äº¤è«‡æ¨¡å¼åŸ·" "行。\n" #: parted/ui.c:170 #, fuzzy, c-format msgid "" "\n" "\n" "You found a bug in GNU Parted! Here's what you have to do:\n" "\n" "Don't panic! The bug has most likely not affected any of your data.\n" "Help us to fix this bug by doing the following:\n" "\n" "Check whether the bug has already been fixed by checking\n" "the last version of GNU Parted that you can find at:\n" "\n" "\thttp://ftp.gnu.org/gnu/parted/\n" "\n" "Please check this version prior to bug reporting.\n" "\n" "If this has not been fixed yet or if you don't know how to check,\n" "please visit the GNU Parted website:\n" "\n" "\thttp://www.gnu.org/software/parted\n" "\n" "for further information.\n" "\n" "Your report should contain the version of this release (%s)\n" "along with the error message below, the output of\n" "\n" "\tparted DEVICE unit co print unit s print\n" "\n" "and the following history of commands you entered.\n" "Also include any additional information about your setup you\n" "consider important.\n" msgstr "" "\n" "\n" "您找到了 GNU Parted 中的一個錯誤ï¼ä»¥ä¸‹æ˜¯æ‚¨å¿…須進行的事:\n" "\n" "ä¸å¿…æ…Œå¼µï¼æ­¤ä¸€éŒ¯èª¤ä¸å¤ªå¯èƒ½æœƒå½±éŸ¿åˆ°æ‚¨çš„任何資料。\n" "請用以下方法來幫助我們修正這個錯誤:\n" "\n" "è—‰ç”±æª¢æŸ¥ä½æ–¼ï¼š\n" "\n" "\thttp://ftp.gnu.org/gnu/parted/\n" "\n" "的最新版 GNU Parted,您å¯ä»¥ç¢ºèªæ˜¯å¦é€™å€‹éŒ¯èª¤å·²ç¶“被修正了。\n" "請於回報錯誤å‰å…ˆæª¢æŸ¥æ­¤ä¸€ç‰ˆæœ¬ã€‚\n" "\n" "如果這尚未被修正,或是您ä¸çŸ¥é“如何去檢查,\n" "è«‹åƒè¨ª GNU Parted ç¶²å€ï¼š\n" "\n" "\thttp://www.gnu.org/software/parted\n" "\n" "以ç²å¾—進一步的資訊。\n" "\n" "您的回報應該è¦åŒ…å«é‡‹å‡ºçš„版本編號 (%s)\n" "以åŠå…¶ä¸‹çš„錯誤訊æ¯ï¼Œç³»åˆ—命令\n" "\n" "\tparted è£ç½® unit co print unit s print\n" "\n" "çš„è¼¸å‡ºçµæžœå’Œå…¶ä»–您èªç‚ºé‡è¦çš„設定資訊。\n" #: parted/ui.c:291 msgid "" "\n" "Command History:\n" msgstr "" #: parted/ui.c:354 #, fuzzy msgid "" "\n" "Error: SEGV_MAPERR (Address not mapped to object)\n" msgstr "" "\n" "錯誤: SEGV_MAPERR (ä½å€ä¸¦æœªå°æ‡‰åˆ°ç‰©ä»¶)" #: parted/ui.c:360 #, fuzzy msgid "" "\n" "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n" msgstr "" "\n" "錯誤: SEGV_ACCERR (å°æ‡‰çš„物件權é™ç„¡æ•ˆ)" #: parted/ui.c:365 #, fuzzy msgid "" "\n" "Error: A general SIGSEGV signal was encountered.\n" msgstr "" "\n" "錯誤: é‡åˆ°ä¸€èˆ¬çš„ SIGSEGV 訊號。" #: parted/ui.c:389 msgid "" "\n" "Error: FPE_INTDIV (Integer: divide by zero)" msgstr "" "\n" "錯誤: FPE_INTDIV (整數: 被零除)" #: parted/ui.c:394 msgid "" "\n" "Error: FPE_INTOVF (Integer: overflow)" msgstr "" "\n" "錯誤: FPE_INTOVF (整數: å‘上溢ä½)" #: parted/ui.c:399 #, fuzzy msgid "" "\n" "Error: FPE_FLTDIV (Float: divide by zero)" msgstr "" "\n" "錯誤: FPE_INTDIV (浮點: 被零除)" #: parted/ui.c:404 msgid "" "\n" "Error: FPE_FLTOVF (Float: overflow)" msgstr "" "\n" "錯誤: FPE_FLTOVF (浮點: å‘上溢ä½)" #: parted/ui.c:409 msgid "" "\n" "Error: FPE_FLTUND (Float: underflow)" msgstr "" "\n" "錯誤: FPE_FLTUND (浮點: å‘下溢ä½)" #: parted/ui.c:414 msgid "" "\n" "Error: FPE_FLTRES (Float: inexact result)" msgstr "" "\n" "錯誤: FPE_FLTRES (浮點: 䏿˜Žç¢ºçš„çµæžœ)" #: parted/ui.c:419 msgid "" "\n" "Error: FPE_FLTINV (Float: invalid operation)" msgstr "" "\n" "錯誤: FPE_FLTINV (浮點: 無效的æ“作)" #: parted/ui.c:424 msgid "" "\n" "Error: FPE_FLTSUB (Float: subscript out of range)" msgstr "" "\n" "錯誤: FPE_FLTSUB (浮點: 註標超出範åœ)" #: parted/ui.c:429 msgid "" "\n" "Error: A general SIGFPE signal was encountered." msgstr "" "\n" "錯誤: é‡åˆ°ä¸€èˆ¬çš„ SIGFPE 訊號。" #: parted/ui.c:453 msgid "" "\n" "Error: ILL_ILLOPC (Illegal Opcode)" msgstr "" "\n" "錯誤: ILL_ILLOPC (ä¸åˆæ³•çš„æ“作碼)" #: parted/ui.c:458 msgid "" "\n" "Error: ILL_ILLOPN (Illegal Operand)" msgstr "" "\n" "錯誤: ILL_ILLOPN (ä¸åˆæ³•çš„é‹ç®—å…ƒ)" #: parted/ui.c:463 msgid "" "\n" "Error: ILL_ILLADR (Illegal addressing mode)" msgstr "" "\n" "錯誤: ILL_ILLADR (ä¸åˆæ³•çš„å®šå€æ¨¡å¼)" #: parted/ui.c:468 msgid "" "\n" "Error: ILL_ILLTRP (Illegal Trap)" msgstr "" "\n" "錯誤: ILL_ILLTRP (ä¸åˆæ³•的陷阱)" #: parted/ui.c:473 msgid "" "\n" "Error: ILL_PRVOPC (Privileged Opcode)" msgstr "" "\n" "錯誤: ILL_PRVOPC (具優先權的æ“作碼)" #: parted/ui.c:478 msgid "" "\n" "Error: ILL_PRVREG (Privileged Register)" msgstr "" "\n" "錯誤: ILL_PRVREG (具優先權的暫存器)" #: parted/ui.c:483 msgid "" "\n" "Error: ILL_COPROC (Coprocessor Error)" msgstr "" "\n" "錯誤: ILL_COPROC (輔助處ç†å™¨éŒ¯èª¤)" #: parted/ui.c:488 msgid "" "\n" "Error: ILL_BADSTK (Internal Stack Error)" msgstr "" "\n" "錯誤: ILL_BADSTK (內部堆疊錯誤)" #: parted/ui.c:493 #, fuzzy msgid "" "\n" "Error: A general SIGILL signal was encountered." msgstr "" "\n" "錯誤: é‡åˆ°ä¸€èˆ¬çš„ SIGILL 訊號。" #: parted/ui.c:892 #, fuzzy, c-format msgid "invalid token: %s" msgstr "無法開啟 %s。" #: parted/ui.c:1048 msgid "Expecting a partition number." msgstr "需è¦åˆ†å‰²å€ç·¨è™Ÿã€‚" #: parted/ui.c:1057 msgid "Partition doesn't exist." msgstr "分割å€ä¸å­˜åœ¨ã€‚" #: parted/ui.c:1077 msgid "Expecting a file system type." msgstr "éœ€è¦æª”案系統類型。" #: parted/ui.c:1084 #, c-format msgid "Unknown file system type \"%s\"." msgstr "未知的檔案系統類型「%sã€ã€‚" #: parted/ui.c:1104 msgid "Expecting a disk label type." msgstr "需è¦ç£ç¢Ÿæ¨™ç±¤é¡žåž‹ã€‚" #: parted/ui.c:1202 msgid "Can't create any more partitions." msgstr "無法建立更多分割å€ã€‚" #: parted/ui.c:1212 msgid "Expecting a partition type." msgstr "需è¦åˆ†å‰²å€é¡žåž‹ã€‚" #: parted/ui.c:1360 msgid "on" msgstr "é–‹" #: parted/ui.c:1361 msgid "off" msgstr "é—œ" #: parted/ui.c:1378 msgid "optimal" msgstr "" #: parted/ui.c:1379 msgid "minimal" msgstr "" #: parted/ui.c:1512 msgid "OPTIONs:" msgstr "é¸é …:" #: parted/ui.c:1517 msgid "COMMANDs:" msgstr "命令:" #: parted/ui.c:1520 #, c-format msgid "" "\n" "Report bugs to %s\n" msgstr "" #: parted/ui.c:1527 #, c-format msgid "Using %s\n" msgstr "使用 %s\n" #: parted/ui.c:1601 msgid "This command does not make sense in non-interactive mode.\n" msgstr "" #, fuzzy #~ msgid "" #~ "Device %s has a logical sector size of %lld. Not all parts of GNU Parted " #~ "support this at the moment, and the working code is HIGHLY EXPERIMENTAL.\n" #~ msgstr "%s çš„é‚輯ç£å€å¤§å°ç‚º %d。目å‰ä¸¦éžå…¨éƒ¨çš„ GNU Parted 都支æ´å®ƒã€‚\n" #, fuzzy #~ msgid "" #~ "Could not determine minimum io size for %s: %s.\n" #~ "Using the default size (%lld)." #~ msgstr "" #~ "無法決定 %s çš„ç£å€å¤§å°ï¼š%s。\n" #~ "使用é è¨­ç£å€å¤§å° (%d)。" #, fuzzy #~ msgid "Unable to determine the block size of this dasd" #~ msgstr "無法確定 %s (%s) 的大å°ã€‚" #~ msgid "" #~ "The kernel was unable to re-read the partition table on %s (%s). This " #~ "means Linux won't know anything about the modifications you made until " #~ "you reboot. You should reboot your computer before doing anything with " #~ "%s." #~ msgstr "" #~ "æ ¸å¿ƒç„¡æ³•é‡æ–°è®€å– %s (%s) 上的分割å€è¡¨ã€‚這æ„味這 Linux åœ¨æ‚¨é‡æ–°å•Ÿå‹•之å‰ç„¡æ³•" #~ "知é“ä»»ä½•ä¿®æ”¹ã€‚æ‚¨æ‡‰è©²åœ¨å° %s åšä»»ä½•æ“作之å‰é‡æ–°å•Ÿå‹•您的電腦。" #~ msgid "Attempt to read sectors %ld-%ld outside of partition on %s." #~ msgstr "è©¦åœ–è®€å– %3$s 上分割å€ä¹‹å¤–çš„ç£å€ %1$ld-%2$ld。" #~ msgid "File system has an incompatible feature enabled." #~ msgstr "檔案系統啟用了ä¸ç›¸å®¹çš„功能。" #~ msgid "where necessary, prompts for user intervention" #~ msgstr "åœ¨å¿…è¦æ™‚,æç¤ºä½¿ç”¨è€…介入" #~ msgid "GNU Parted Version information:\n" #~ msgstr "GNU Parted 版本資訊:\n" #~ msgid "File system?" #~ msgstr "檔案系統?" #~ msgid "" #~ "Without arguments, print displays the entire partition table. With " #~ "'free'\n" #~ "argument, information about free space will be displayed otherwise if a\n" #~ "partition number is given, then more detailed information is displayed\n" #~ "about that partition. If the 'all' argument is passed instead, partition\n" #~ "information for all devices will be displayed." #~ msgstr "" #~ "若無引數,print 顯示整個分割å€è¡¨ã€‚利用 'free' 引數來顯示å¯ç”¨ç©ºé–“的資訊,\n" #~ "å¦å‰‡å¦‚果指定了分割å€è™Ÿç¢¼ï¼Œå°±é¡¯ç¤ºæ›´å¤šé—œæ–¼åˆ†å‰²å€çš„詳細資訊。如果以引數 " #~ "'all' 來å–代,\n" #~ "將會顯示所有è£ç½®çš„分割å€è³‡è¨Šã€‚" parted-2.3/po/sv.po0000644000000000000000000031013411400005705011124 00000000000000# Swedish messages for parted # Copyright (C) 2001, 2009 Free Software Foundation, Inc. # This file is distributed under the same license as the parted package. # Jörgen Tegnér , 2001. # Daniel Nylander , 2009. # msgid "" msgstr "" "Project-Id-Version: parted 2.2\n" "Report-Msgid-Bugs-To: bug-parted@gnu.org\n" "POT-Creation-Date: 2010-05-28 20:30+0200\n" "PO-Revision-Date: 2010-03-21 15:25+0100\n" "Last-Translator: Daniel Nylander \n" "Language-Team: Swedish \n" "Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "Ogiltigt argument %s för %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "tvetydigt argument %s för %s" #: lib/argmatch.c:153 #, c-format msgid "Valid arguments are:" msgstr "Giltiga argument är:" #: lib/closeout.c:112 libparted/labels/fdasd.c:107 msgid "write error" msgstr "skrivfel" #: lib/error.c:181 msgid "Unknown system error" msgstr "Okänt systemfel" #: lib/getopt.c:527 lib/getopt.c:543 #, c-format msgid "%s: option '%s' is ambiguous\n" msgstr "%s: flaggan \"%s\" är tvetydig\n" #: lib/getopt.c:576 lib/getopt.c:580 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: flaggan \"--%s\" tillÃ¥ter inget argument\n" #: lib/getopt.c:589 lib/getopt.c:594 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: flaggan \"%c%s\" tillÃ¥ter inget argument\n" #: lib/getopt.c:637 lib/getopt.c:656 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: flaggan \"%s\" kräver ett argument\n" #: lib/getopt.c:694 lib/getopt.c:697 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: okänd flagga \"--%s\"\n" #: lib/getopt.c:705 lib/getopt.c:708 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: okänd flagga \"%c%s\"\n" #: lib/getopt.c:757 lib/getopt.c:760 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: ogiltig flagga -- \"%c\"\n" #: lib/getopt.c:810 lib/getopt.c:827 lib/getopt.c:1035 lib/getopt.c:1053 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: flaggan kräver ett argument -- \"%c\"\n" #: lib/getopt.c:883 lib/getopt.c:899 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: flaggan \"-W %s\" är tvetydig\n" #: lib/getopt.c:923 lib/getopt.c:941 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: flaggan \"-W %s\" tillÃ¥ter inget argument\n" #: lib/getopt.c:962 lib/getopt.c:980 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: flaggan \"%s\" kräver ett argument\n" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". If the catalog has no translation, #. locale_quoting_style quotes `like this', and #. clocale_quoting_style quotes "like this". #. #. For example, an American English Unicode locale should #. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and #. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION #. MARK). A British English Unicode locale should instead #. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) #. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. #. #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. #: lib/quotearg.c:272 msgid "`" msgstr "\"" #: lib/quotearg.c:273 msgid "'" msgstr "\"" #: lib/regcomp.c:134 msgid "Success" msgstr "Lyckades" #: lib/regcomp.c:137 msgid "No match" msgstr "Ingen träff" #: lib/regcomp.c:140 msgid "Invalid regular expression" msgstr "Ogiltigt reguljärt uttryck" #: lib/regcomp.c:143 msgid "Invalid collation character" msgstr "Ogiltigt sorteringstecken" #: lib/regcomp.c:146 msgid "Invalid character class name" msgstr "Ogiltigt teckenklassnamn" #: lib/regcomp.c:149 msgid "Trailing backslash" msgstr "Efterföljande omvänt snedstreck" #: lib/regcomp.c:152 msgid "Invalid back reference" msgstr "Ogiltig bakÃ¥treferens" #: lib/regcomp.c:155 msgid "Unmatched [ or [^" msgstr "Omatchat [ eller [^" #: lib/regcomp.c:158 msgid "Unmatched ( or \\(" msgstr "Omatchat ( eller \\(" #: lib/regcomp.c:161 msgid "Unmatched \\{" msgstr "Omatchat \\{" #: lib/regcomp.c:164 msgid "Invalid content of \\{\\}" msgstr "Ogiltigt innehÃ¥ll i \\{\\}" #: lib/regcomp.c:167 msgid "Invalid range end" msgstr "Ogiltigt intervallslut" #: lib/regcomp.c:170 msgid "Memory exhausted" msgstr "Slut pÃ¥ minne" #: lib/regcomp.c:173 msgid "Invalid preceding regular expression" msgstr "Ogiltigt föregÃ¥ende reguljärt uttryck" #: lib/regcomp.c:176 msgid "Premature end of regular expression" msgstr "För tidigt slut pÃ¥ reguljärt uttryck" #: lib/regcomp.c:179 msgid "Regular expression too big" msgstr "Reguljärt uttryck är för stort" #: lib/regcomp.c:182 msgid "Unmatched ) or \\)" msgstr "Omatchat ) eller \\)" #: lib/regcomp.c:703 msgid "No previous regular expression" msgstr "Inga tidigare reguljära uttryck" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[jJyY]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nN]" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Paketerat av %s (%s)\n" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Paketerat av %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "©" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "Licens GPLv3+: GNU GPL version 3 eller senare .\n" "Detta är fri programvara: du fÃ¥r ändra och distribuera den.\n" "Det finns INGEN GARANTI, sÃ¥ lÃ¥ngt som lagen tillÃ¥ter.\n" "\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Skrivet av %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Skrivet av %s och %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Skrivet av %s, %s och %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "Skrivet av %s, %s, %s\n" "och %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Skrivet av %s, %s, %s,\n" "%s och %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Skrivet av %s, %s, %s,\n" "%s, %s och %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Skrivet av %s, %s, %s,\n" "%s, %s, %s och %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Skrivet av %s, %s, %s,\n" "%s, %s, %s, %s\n" "och %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Skrivet av %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s och %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Skrivet av %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s och andra.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Rapportera fel till: %s\n" "Skicka synpunkter pÃ¥ översättningen till \n" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "Rapportera fel i %s till: %s\n" #: lib/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "Webbplats för %s: <%s>\n" #: lib/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "Webbsida för %s: \n" #: lib/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" "Allmän hjälp för hur man använder GNU-programvara: \n" #: lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "slut pÃ¥ minne" #: lib/xstrtol-error.c:63 #, c-format msgid "invalid %s%s argument `%s'" msgstr "ogiltigt %s%s-argument \"%s\"" #: lib/xstrtol-error.c:68 #, c-format msgid "invalid suffix in %s%s argument `%s'" msgstr "ogiltigt suffix i %s%s-argumentet \"%s\"" #: lib/xstrtol-error.c:72 #, c-format msgid "%s%s argument `%s' too large" msgstr "%s%s-argumentet \"%s\" är för stort" #: libparted/arch/beos.c:245 msgid "Disk Image" msgstr "Diskavbildning" #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277 #: libparted/arch/linux.c:1519 #, c-format msgid "Error opening %s: %s" msgstr "Ett fel uppstod när %s öppnades: %s" #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287 #: libparted/arch/linux.c:1530 #, c-format msgid "Unable to open %s read-write (%s). %s has been opened read-only." msgstr "" "Kunde inte öppna %s för bÃ¥de läsning och skrivning (%s). %s öppnades i " "läsläge." #: libparted/arch/beos.c:419 libparted/arch/linux.c:1688 #, c-format msgid "%s during seek for read on %s" msgstr "%s under positionering för att läsa pÃ¥ %s" #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564 #: libparted/arch/gnu.c:692 libparted/arch/linux.c:1648 #: libparted/arch/linux.c:1729 #, c-format msgid "%s during read on %s" msgstr "%s under läsning pÃ¥ %s" #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525 #: libparted/arch/linux.c:1805 #, c-format msgid "Can't write to %s, because it is opened read-only." msgstr "Kan inte skriva till %s eftersom den är öppnad som skrivskyddad." #: libparted/arch/beos.c:504 libparted/arch/linux.c:1830 #, c-format msgid "%s during seek for write on %s" msgstr "%s under positionering för att skriva pÃ¥ %s" #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646 #: libparted/arch/gnu.c:723 libparted/arch/linux.c:1778 #: libparted/arch/linux.c:1872 libparted/arch/linux.c:1944 #, c-format msgid "%s during write on %s" msgstr "%s under skrivning pÃ¥ %s" #: debug/clearfat/clearfat.c:62 partprobe/partprobe.c:137 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Prova \"%s --help\" för mer information.\n" #: debug/clearfat/clearfat.c:66 #, c-format msgid "" "Usage: %s [OPTION]\n" " or: %s DEVICE MINOR\n" msgstr "" "Användning: %s [FLAGGA]\n" " eller: %s ENHET UNDRE\n" #: debug/clearfat/clearfat.c:69 msgid "" "Clear unused space on a FAT partition (a GNU Parted testing tool).\n" "\n" msgstr "" "Töm oanvänt utrymme pÃ¥ en FAT-partition (ett testverktyg för GNU Parted).\n" "\n" #: debug/clearfat/clearfat.c:73 msgid " --help display this help and exit\n" msgstr " --help visa denna hjälp och avsluta\n" #: debug/clearfat/clearfat.c:74 msgid " --version output version information and exit\n" msgstr " --version skriv ut versionsinformation och avsluta\n" #: debug/clearfat/clearfat.c:76 partprobe/partprobe.c:154 #, c-format msgid "" "\n" "Report bugs to <%s>.\n" msgstr "" "\n" "Rapportera fel till <%s>.\n" "Skicka synpunkter pÃ¥ översättningen till .\n" #: debug/clearfat/clearfat.c:284 #, c-format msgid "too few arguments" msgstr "för fÃ¥ argument" #: debug/clearfat/clearfat.c:289 #, c-format msgid "too many arguments" msgstr "för mÃ¥nga argument" #: debug/clearfat/clearfat.c:297 #, c-format msgid "invalid minor device number: %s" msgstr "ogiltigt undre enhetsnummer: %s" #: partprobe/partprobe.c:141 #, c-format msgid "Usage: %s [OPTION] [DEVICE]...\n" msgstr "Användning: %s [FLAGGA] [ENHET]...\n" #: partprobe/partprobe.c:142 msgid "" "Inform the operating system about partition table changes.\n" "\n" " -d, --dry-run do not actually inform the operating system\n" " -s, --summary print a summary of contents\n" " -h, --help display this help and exit\n" " -v, --version output version information and exit\n" msgstr "" "Informera operativsystemet om ändringar i partitionstabell.\n" "\n" " -d, --dry-run testa med informera inte operativsystemet\n" " -s, --summary skriv ut ett sammandrag av innehÃ¥llet\n" " -h, --help visa denna hjälp och avsluta\n" " -v, --version skriv ut versionsinformation och avsluta\n" #: partprobe/partprobe.c:150 msgid "" "\n" "When no DEVICE is given, probe all partitions.\n" msgstr "" "\n" "När ingen ENHET har angivits, undersök alla partitioner.\n" #: libparted/arch/gnu.c:110 #, c-format msgid "Unable to open %s." msgstr "Kunde inte öppna %s." #: libparted/arch/gnu.c:130 #, fuzzy msgid "Unable to probe store." msgstr "Kunde inte placera partitionen pÃ¥ jämn cylindergräns." #: libparted/arch/gnu.c:368 msgid "" "The partition table cannot be re-read. This means you need to reboot before " "mounting any modified partitions. You also need to reinstall your boot " "loader before you reboot (which may require mounting modified partitions). " "It is impossible do both things! So you'll need to boot off a rescue disk, " "and reinstall your boot loader from the rescue disk. Read section 4 of the " "Parted User documentation for more information." msgstr "" "Partitionstabellen kunde inte läsas om. Det betyder att du behöver starta om " "datorn innan du kan montera nÃ¥gra ändrade partitioner. Du mÃ¥ste ocksÃ¥ " "installera om starthanteraren innan du startar om (vilket kan innebära " "montering av ändrade partitioner). Det är omöjligt att göra bÃ¥da! Du mÃ¥ste " "starta frÃ¥n en räddningsskiva och installera om starthanteraren frÃ¥n den. " "Läs kapitel fyra i Parteds användardokumentation för mer information." #: libparted/arch/gnu.c:385 #, c-format msgid "" "The partition table on %s cannot be re-read (%s). This means the Hurd knows " "nothing about any modifications you made. You should reboot your computer " "before doing anything with %s." msgstr "" "Partitionstabellen pÃ¥ %s kan inte läsas om (%s). Det betyder att Hurd inte " "vet nÃ¥nting om de ändringar du gjort. Du bör starta om datorn innan du gör " "nÃ¥nting med %s." #: libparted/arch/gnu.c:396 parted/parted.c:2719 msgid "" "You should reinstall your boot loader before rebooting. Read section 4 of " "the Parted User documentation for more information." msgstr "" "Du bör installera om startprogrammet innan du startar om. Läs avsnitt fyra i " "Parteds användardokumentation för mer information." #: libparted/arch/gnu.c:788 #, c-format msgid "%s trying to sync %s to disk" msgstr "%s försöker att synkronisera %s till disk" #: libparted/arch/linux.c:509 #, c-format msgid "Could not stat device %s - %s." msgstr "Kunde inte ta status pÃ¥ enheten %s - %s." #: libparted/arch/linux.c:566 #, c-format msgid "Unable to determine the dm type of %s." msgstr "Kunde inte fastställa dm-typen pÃ¥ %s." #: libparted/arch/linux.c:658 #, c-format msgid "" "Could not determine sector size for %s: %s.\n" "Using the default sector size (%lld)." msgstr "" "Kunde inte fastställa sektorstorlek för %s: %s.\n" "Använder standardsektorstorleken (%lld)." #: libparted/arch/linux.c:679 #, fuzzy, c-format msgid "" "Could not determine physical sector size for %s.\n" "Using the logical sector size (%lld)." msgstr "" "Kunde inte fastställa sektorstorlek för %s: %s.\n" "Använder standardsektorstorleken (%lld)." #: libparted/arch/linux.c:728 #, c-format msgid "Unable to determine the size of %s (%s)." msgstr "Kunde inte fastställa storleken pÃ¥ %s (%s)." #: libparted/arch/linux.c:814 #, c-format msgid "Could not get identity of device %s - %s" msgstr "Kunde inte hitta identitet för enhet %s - %s" #: libparted/arch/linux.c:823 msgid "Generic IDE" msgstr "Allmän IDE" #: libparted/arch/linux.c:844 #, c-format msgid "" "Device %s has multiple (%d) logical sectors per physical sector.\n" "GNU Parted supports this EXPERIMENTALLY for some special disk label/file " "system combinations, e.g. GPT and ext2/3.\n" "Please consult the web site for up-to-date information." msgstr "" "Enheten %s har flera (%d) logiska sektorer per fysisk sektor.\n" "GNU Parted har EXPERIMENTIELLT stöd för detta för vissa speciella " "kombinationer av disketikett/filsystem, t.ex. GPT och ext2/3.\n" "Referera till webbsidan för uppdaterad information." #: libparted/arch/linux.c:1019 #, c-format msgid "Error initialising SCSI device %s - %s" msgstr "Ett fel uppstod vid initiering av SCSI-enheten %s - %s" #: libparted/arch/linux.c:1083 #, c-format msgid "" "The device %s has zero length, and can't possibly store a file system or " "partition table. Perhaps you selected the wrong device?" msgstr "" "Enheten %s har noll längd och kan omöjligt lagra ett filsystem eller " "partitionstabell. Du kanske valde fel enhet?" #: libparted/arch/linux.c:1190 #, c-format msgid "" "Unable to determine geometry of file/device %s. You should not use Parted " "unless you REALLY know what you're doing!" msgstr "" "Kunde inte fastställa geometrin pÃ¥ filen/enheten %s. Du bör inte använda " "Parted sÃ¥vida inte du VERKLIGEN vet vad du gör!" #: libparted/arch/linux.c:1250 msgid "Generic SD/MMC Storage Card" msgstr "Allmänt SD/MMC-lagringskort" #: libparted/arch/linux.c:1303 msgid "DAC960 RAID controller" msgstr "Styrkort för DAC960 RAID" #: libparted/arch/linux.c:1308 msgid "Promise SX8 SATA Device" msgstr "Promise SX8 SATA-enhet" #: libparted/arch/linux.c:1313 msgid "ATA over Ethernet Device" msgstr "" #: libparted/arch/linux.c:1319 msgid "IBM S390 DASD drive" msgstr "IBM S390 DASD-enhet" #: libparted/arch/linux.c:1325 msgid "IBM iSeries Virtual DASD" msgstr "IBM iSeries virtuell DASD" #: libparted/arch/linux.c:1330 msgid "Compaq Smart Array" msgstr "Compaq Smart Array" #: libparted/arch/linux.c:1335 msgid "ATARAID Controller" msgstr "Styrkort för ATARAID" #: libparted/arch/linux.c:1340 msgid "I2O Controller" msgstr "Styrkort för I2O" #: libparted/arch/linux.c:1345 msgid "User-Mode Linux UBD" msgstr "" #: libparted/arch/linux.c:1358 #, c-format msgid "Linux device-mapper (%s)" msgstr "Linux device-mapper (%s)" #: libparted/arch/linux.c:1369 msgid "Xen Virtual Block Device" msgstr "Xen virtuell blockenhet" #: libparted/arch/linux.c:1374 msgid "Unknown" msgstr "Okänd" #: libparted/arch/linux.c:1383 msgid "Virtio Block Device" msgstr "Virtio-blockenhet" #: libparted/arch/linux.c:1388 msgid "Linux Software RAID Array" msgstr "" #: libparted/arch/linux.c:1395 msgid "ped_device_new() Unsupported device type" msgstr "ped_device_new() Stöd saknas för den här enhetstypen" #: libparted/arch/linux.c:1492 libparted/arch/linux.c:1564 #, fuzzy, c-format msgid "Error fsyncing/closing %s: %s" msgstr "Ett fel uppstod när %s öppnades: %s" #: libparted/arch/linux.c:1728 #, c-format msgid "end of file while reading %s" msgstr "" #: libparted/arch/linux.c:2365 #, fuzzy, c-format msgid "" "Error informing the kernel about modifications to partition %s -- %s. This " "means Linux won't know about any changes you made to %s until you reboot -- " "so you shouldn't mount it or use it in any way before rebooting." msgstr "" "Kärnan kunde inte läsa om partitionstabellen pÃ¥ %s (%s). Det betyder att " "Linux inte vet nÃ¥nting om de ändringar du gjort tills du har startar om " "datorn. Du bör starta om datorn innan du gör nÃ¥nting med %s." #: libparted/arch/linux.c:2503 #, fuzzy, c-format msgid "Unable to determine the size and length of %s." msgstr "Kunde inte fastställa storleken pÃ¥ %s (%s)." #: libparted/arch/linux.c:2528 #, fuzzy, c-format msgid "Failed to add partition %d (%s)" msgstr "%s : Misslyckades med att läsa partitionsblock %llu\n" #: libparted/arch/linux.c:2555 #, c-format msgid "" "Partition(s) %s on %s have been written, but we have been unable to inform " "the kernel of the change, probably because it/they are in use. As a result, " "the old partition(s) will remain in use. You should reboot now before " "making further changes." msgstr "" #: libparted/arch/linux.c:2681 #, c-format msgid "" "parted was unable to re-read the partition table on %s (%s). This means " "Linux won't know anything about the modifications you made. " msgstr "" "parted kunde inte läsa om partitionstabellen pÃ¥ %s (%s). Det betyder att " "Linux inte vet nÃ¥nting om de ändringar du gjort." #: libparted/cs/geom.c:162 #, fuzzy, c-format msgid "Can't have the end before the start! (start sector=%jd length=%jd)" msgstr "Kan inte ha slutet före början!" #: libparted/cs/geom.c:170 msgid "Can't have a partition outside the disk!" msgstr "Kan inte ha en partition utanför hÃ¥rddisken!" #: libparted/cs/geom.c:385 #, c-format msgid "Attempt to write sectors %ld-%ld outside of partition on %s." msgstr "Försökte skriva sektorerna %ld-%ld utanför partitionen pÃ¥ %s." #: libparted/cs/geom.c:425 libparted/fs/linux_swap/linux_swap.c:488 msgid "checking for bad blocks" msgstr "letar efter felaktiga block" #: libparted/debug.c:97 #, c-format msgid "Backtrace has %d calls on stack:\n" msgstr "" #: libparted/debug.c:110 #, c-format msgid "Assertion (%s) at %s:%d in function %s() failed." msgstr "Försäkran (%s) pÃ¥ %s:%d i funktionen %s() misslyckades." #: libparted/disk.c:193 #, c-format msgid "%s: unrecognised disk label" msgstr "%s: okänt disketikett" #: libparted/disk.c:486 #, c-format msgid "" "This libparted doesn't have write support for %s. Perhaps it was compiled " "read-only." msgstr "" "Denna libparted saknar skrivstöd för %s. Kanske kompilerades den utan " "skrivstöd." #: libparted/disk.c:631 #, c-format msgid "Partition %d is %s, but the file system is %s." msgstr "Partition %d är %s, men filsystemet är %s." #: libparted/disk.c:841 msgid "cylinder_alignment" msgstr "" #: libparted/disk.c:847 #, c-format msgid "Unknown disk flag, %d." msgstr "Okänd diskflagga, %d." #: libparted/disk.c:1286 #, c-format msgid "%s disk labels do not support extended partitions." msgstr "%s-disketiketter saknar stöd för utökade partitioner." #: libparted/disk.c:1865 #, c-format msgid "%s disk labels don't support logical or extended partitions." msgstr "%s-disketiketter saknar stöd för logiska eller utökade partitioner." #: libparted/disk.c:1878 msgid "Too many primary partitions." msgstr "För mÃ¥nga primära partitioner." #: libparted/disk.c:1887 #, c-format msgid "" "Can't add a logical partition to %s, because there is no extended partition." msgstr "" "Kan inte lägga till en logisk partition till %s, eftersom det saknas en " "utökad partition." #: libparted/disk.c:1911 #, c-format msgid "Can't have more than one extended partition on %s." msgstr "Kan inte ha fler än en utökad partition pÃ¥ %s." #: libparted/disk.c:1921 msgid "Can't have logical partitions outside of the extended partition." msgstr "Kan inte ha logiska partitioner utanför den utökade partitionen." #: libparted/disk.c:1946 #, c-format msgid "Can't have a logical partition outside of the extended partition on %s." msgstr "Kan inte ha en logisk partition utanför den utökade partitionen pÃ¥ %s." #: libparted/disk.c:1956 libparted/disk.c:2015 libparted/disk.c:2193 msgid "Can't have overlapping partitions." msgstr "Kan inte ha överlappande partitioner." #: libparted/disk.c:1964 msgid "Can't have a primary partition inside an extended partition." msgstr "Kan inte ha en primär partition inuti en utökad partition." #: libparted/disk.c:2395 msgid "metadata" msgstr "metadata" #: libparted/disk.c:2397 msgid "free" msgstr "ledigt" #: libparted/disk.c:2399 parted/ui.c:1193 parted/ui.c:1221 msgid "extended" msgstr "utökat" #: libparted/disk.c:2401 parted/ui.c:1197 parted/ui.c:1225 msgid "logical" msgstr "logiskt" #: libparted/disk.c:2403 parted/ui.c:1189 parted/ui.c:1217 msgid "primary" msgstr "primär" #: libparted/disk.c:2419 msgid "boot" msgstr "startbar" #: libparted/disk.c:2421 msgid "bios_grub" msgstr "bios_grub" #: libparted/disk.c:2423 msgid "root" msgstr "rot" #: libparted/disk.c:2425 msgid "swap" msgstr "växlingsutrymme" #: libparted/disk.c:2427 msgid "hidden" msgstr "dold" #: libparted/disk.c:2429 msgid "raid" msgstr "raid" #: libparted/disk.c:2431 msgid "lvm" msgstr "lvm" #: libparted/disk.c:2433 msgid "lba" msgstr "lba" #: libparted/disk.c:2435 msgid "hp-service" msgstr "hp-service" #: libparted/disk.c:2437 msgid "palo" msgstr "palo" #: libparted/disk.c:2439 msgid "prep" msgstr "prep" #: libparted/disk.c:2441 msgid "msftres" msgstr "msftres" #: libparted/disk.c:2443 msgid "atvrecv" msgstr "" #: libparted/disk.c:2445 msgid "diag" msgstr "" #: libparted/disk.c:2451 #, c-format msgid "Unknown partition flag, %d." msgstr "Okänd partitionsflagga, %d." #: libparted/exception.c:77 msgid "Information" msgstr "Information" #: libparted/exception.c:78 msgid "Warning" msgstr "Varning" #: libparted/exception.c:79 msgid "Error" msgstr "Fel" #: libparted/exception.c:80 msgid "Fatal" msgstr "Ödesdiger" #: libparted/exception.c:81 msgid "Bug" msgstr "Programfel" #: libparted/exception.c:82 msgid "No Implementation" msgstr "Inte implementerat" #: libparted/exception.c:86 msgid "Fix" msgstr "Reparera" #: libparted/exception.c:87 msgid "Yes" msgstr "Ja" #: libparted/exception.c:88 msgid "No" msgstr "Nej" #: libparted/exception.c:89 msgid "OK" msgstr "OK" #: libparted/exception.c:90 msgid "Retry" msgstr "Försök igen" #: libparted/exception.c:91 msgid "Ignore" msgstr "Ignorera" #: libparted/exception.c:92 msgid "Cancel" msgstr "Avbryt" #: libparted/exception.c:132 #, fuzzy, c-format msgid "" "A bug has been detected in GNU Parted. Refer to the web site of parted " "http://www.gnu.org/software/parted/parted.html for more information of what " "could be useful for bug submitting! Please email a bug report to bug-" "parted@gnu.org containing at least the version (%s) and the following " "message: " msgstr "" "Ett fel har upptäckts i GNU Parted. Referera till webbsidan för parted " "http://www.gnu.org/software/parted/parted.html för mer information om vad " "som kan vara användbar information för en felrapport! Skicka in " "felrapporten via e-post till bug-parted@gnu.org och inkludera Ã¥tminstone " "versionsnumret (%s) och följande meddelande: " #: libparted/filesys.c:462 msgid "Could not detect file system." msgstr "Kunde inte hitta nÃ¥got filsystem." #: libparted/filesys.c:473 msgid "The file system is bigger than its volume!" msgstr "Filsystemet är större än dess volym!" #: libparted/filesys.c:481 #, c-format msgid "Support for opening %s file systems is not implemented yet." msgstr "Stöd för att öppna filsystem av typ %s är inte implementerat än." #: libparted/filesys.c:523 #, c-format msgid "Support for creating %s file systems is not implemented yet." msgstr "Stöd för att skapa filsystem av typ %s är inte implementerat än." #: libparted/filesys.c:583 #, c-format msgid "Support for checking %s file systems is not implemented yet." msgstr "Stöd för att kontrollera filsystem av typ %s är inte implementerat än." #: libparted/filesys.c:649 msgid "raw block copying" msgstr "" #: libparted/filesys.c:660 msgid "growing file system" msgstr "växande filsystem" #: libparted/filesys.c:700 msgid "Can't copy onto an overlapping partition." msgstr "Kan inte kopiera till en överlappande partition." #: libparted/filesys.c:722 #, c-format msgid "" "Direct support for copying file systems is not yet implemented for %s. " "However, support for resizing is implemented. Therefore, the file system " "can be copied if the new partition is at least as big as the old one. So, " "either shrink the partition you are trying to copy, or copy to a bigger " "partition." msgstr "" "Direkt stöd för att kopiera filsystem är inte implementerat än för %s. Dock " "finns det stöd för att ändra storleken. Därför kan filsystemet kopieras om " "den nya partitionen är minst lika stor som den gamla. SÃ¥ antingen fÃ¥r du " "minska partitionen som du försöker kopiera, eller sÃ¥ kopierar du till en " "större partition." #: libparted/filesys.c:736 #, c-format msgid "Support for copying %s file systems is not implemented yet." msgstr "Stöd för att kopiera filsystem av typ %s är inte implementerat än." #: libparted/filesys.c:774 #, c-format msgid "Support for resizing %s file systems is not implemented yet." msgstr "" "Stöd för att ändra storlek pÃ¥ filsystem av typ %s är inte implementerat än." #: libparted/fs/reiserfs/reiserfs.c:315 msgid "creating" msgstr "skapar" #: libparted/fs/reiserfs/reiserfs.c:402 msgid "The file system is in an invalid state. Perhaps it is mounted?" msgstr "" "Filsystemet befinner sig i ett ogiltigt tillstÃ¥nd. Kanske är det monterat?" #: libparted/fs/reiserfs/reiserfs.c:410 msgid "The file system is in old (unresizeable) format." msgstr "" "Filsystemet använder ett gammalt format (inte möjligt att ändra storlek pÃ¥)." #: libparted/fs/reiserfs/reiserfs.c:416 msgid "Invalid free blocks count. Run reiserfsck --check first." msgstr "Ogiltigt antal lediga block. Kör reiserfsck --check först." #: libparted/fs/reiserfs/reiserfs.c:431 msgid "checking" msgstr "kontrollerar" #: libparted/fs/reiserfs/reiserfs.c:437 msgid "Reiserfs tree seems to be corrupted. Run reiserfsck --check first." msgstr "Reiserfs-trädet verkar vara skadat. Kör reiserfsck --check först." #: libparted/fs/reiserfs/reiserfs.c:449 msgid "" "The reiserfs file system passed a basic check. For a more comprehensive " "check, run reiserfsck --check." msgstr "" "Filsystemet (reiserfs) klarade en grundläggande kontroll. För en mer " "genomgÃ¥ende kontroll, kör reiserfsck --check." #: libparted/fs/reiserfs/reiserfs.c:474 msgid "Sorry, can't move the start of reiserfs partitions yet." msgstr "Tyvärr, kan inte flytta början av reiserfs-partitioner än." #: libparted/fs/reiserfs/reiserfs.c:490 msgid "Couldn't reopen device abstraction layer for read/write." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:508 libparted/fs/ext2/ext2_resize.c:552 #: libparted/fs/hfs/hfs.c:250 libparted/fs/hfs/hfs.c:629 msgid "shrinking" msgstr "minskar" #: libparted/fs/reiserfs/reiserfs.c:520 msgid "expanding" msgstr "expanderar" #: libparted/fs/reiserfs/reiserfs.c:592 msgid "Couldn't create reiserfs device abstraction handler." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:606 #, c-format msgid "Device is too small for %lu blocks." msgstr "Enheten är för liten för %lu block." #: libparted/fs/reiserfs/reiserfs.c:615 msgid "copying" msgstr "kopierar" #: libparted/fs/reiserfs/reiserfs.c:682 #, c-format msgid "Couldn't resolve symbol %s. Error: %s." msgstr "Kunde inte slÃ¥ upp symbolen %s. Fel: %s." #: libparted/fs/reiserfs/reiserfs.c:704 msgid "GNU Parted found an invalid libreiserfs library." msgstr "GNU Parted hittade ett ogiltigt libreiserfs-bibliotek." #: libparted/fs/reiserfs/reiserfs.c:715 #, c-format msgid "" "GNU Parted has detected libreiserfs interface version mismatch. Found %d-" "%d, required %d. ReiserFS support will be disabled." msgstr "" "GNU Parted har upptäckt ett versionsfel i gränssnittet mot libreiserfs. " "Hittade %d-%d, men kräver %d. ReiserFS-stödet kommer att vara inaktiverat." #: libparted/labels/aix.c:103 msgid "Support for reading AIX disk labels is is not implemented yet." msgstr "Stöd för att läsa AIX-disketiketter är inte implementerat än." #: libparted/labels/aix.c:114 msgid "Support for writing AIX disk labels is is not implemented yet." msgstr "Stöd för att skriva AIX-disketiketter är inte implementerat än." #: libparted/labels/aix.c:127 msgid "" "Support for adding partitions to AIX disk labels is not implemented yet." msgstr "" "Stöd för att lägga till partitioner till AIX-disketiketter är inte " "implementerat än." #: libparted/labels/aix.c:137 msgid "" "Support for duplicating partitions in AIX disk labels is not implemented yet." msgstr "" "Stöd för att duplicera partitioner i AIX-disketiketter är inte implementerat " "än." #: libparted/labels/aix.c:155 msgid "" "Support for setting system type of partitions in AIX disk labels is not " "implemented yet." msgstr "" "Stöd för att ställa in systemtyp för partitioner i AIX-disketiketter är inte " "implementerat än." #: libparted/labels/aix.c:165 msgid "Support for setting flags in AIX disk labels is not implemented yet." msgstr "" "Stöd för att ställa in flaggor i AIX-disketiketter är inte implementerat än." #: libparted/labels/bsd.c:568 libparted/labels/dasd.c:783 #: libparted/labels/dos.c:2092 libparted/labels/dvh.c:788 #: libparted/labels/gpt.c:1750 libparted/labels/loop.c:245 #: libparted/labels/mac.c:1424 libparted/labels/pc98.c:749 #: libparted/labels/rdb.c:1051 libparted/labels/sun.c:821 msgid "Unable to satisfy all constraints on the partition." msgstr "Kunde inte uppfylla alla begränsningar pÃ¥ partitionen." #: libparted/labels/bsd.c:593 msgid "Unable to allocate a bsd disklabel slot." msgstr "Kunde inte allokera en plats i bsd-disketiketten." #: libparted/labels/dasd.c:809 msgid "Unable to allocate a dasd disklabel slot" msgstr "Kunde inte allokera en plats i dasd-disketiketten" #: libparted/labels/dos.c:882 #, c-format msgid "Invalid partition table on %s -- wrong signature %x." msgstr "Ogiltig partitionstabell pÃ¥ %s -- felaktig signatur %x." #: libparted/labels/dos.c:910 #, c-format msgid "Invalid partition table - recursive partition on %s." msgstr "Ogiltig partitionstabell - rekursiv partition pÃ¥ %s." #: libparted/labels/dos.c:1420 msgid "Extended partitions cannot be hidden on msdos disk labels." msgstr "Utökade partitioner kan inte gömmas i disketiketter av typen msdos." #: libparted/labels/dos.c:2074 msgid "Parted can't resize partitions managed by Windows Dynamic Disk." msgstr "" "Parted kan inte ändra storlek pÃ¥ partitioner som hanteras av Windows Dynamic " "Disk." #: libparted/labels/dvh.c:201 #, c-format msgid "%s has no extended partition (volume header partition)." msgstr "%s har ingen utökad partition (partition för volymhuvud)." #: libparted/labels/dvh.c:327 msgid "Checksum is wrong, indicating the partition table is corrupt." msgstr "" "Kontrollsumman är felaktig, vilket indikerar att partitionstabellen är " "skadad." #: libparted/labels/dvh.c:632 msgid "Only primary partitions can be root partitions." msgstr "Endast primära partitioner kan vara rotpartitioner." #: libparted/labels/dvh.c:646 msgid "Only primary partitions can be swap partitions." msgstr "Endast primära partitioner kan vara växlingspartitioner." #: libparted/labels/dvh.c:660 msgid "Only logical partitions can be a boot file." msgstr "Endast logiska partitioner kan vara en uppstartsfil." #: libparted/labels/dvh.c:737 #, c-format msgid "" "failed to set dvh partition name to %s:\n" "Only logical partitions (boot files) have a name." msgstr "" "misslyckades med att ställa in dvh-partitionsnamnet till %s:\n" "Endast logiska partitioner (uppstartsfiler) har ett namn." #: libparted/labels/dvh.c:830 msgid "Too many primary partitions" msgstr "För mÃ¥nga primära partitioner" #: libparted/labels/fdasd.c:98 msgid "open error" msgstr "" #: libparted/labels/fdasd.c:101 msgid "seek error" msgstr "" #: libparted/labels/fdasd.c:104 msgid "read error" msgstr "läsfel" #: libparted/labels/fdasd.c:110 msgid "ioctl() error" msgstr "ioctl()-fel" #: libparted/labels/fdasd.c:114 msgid "API version mismatch" msgstr "API-versionen stämmer inte" #: libparted/labels/fdasd.c:118 msgid "Unsupported disk type" msgstr "Disktypen stöds inte" #: libparted/labels/fdasd.c:122 msgid "Unsupported disk format" msgstr "Diskformatet stöds inte" #: libparted/labels/fdasd.c:126 msgid "Disk is in use" msgstr "Disken används" #: libparted/labels/fdasd.c:130 msgid "Syntax error in config file" msgstr "Syntaxfel i konfigurationsfilen" #: libparted/labels/fdasd.c:134 msgid "Volume label is corrupted" msgstr "Volymetiketten är skadad" #: libparted/labels/fdasd.c:138 msgid "A data set name is corrupted" msgstr "" #: libparted/labels/fdasd.c:142 msgid "Memory allocation failed" msgstr "Minnesallokeringen misslyckades" #: libparted/labels/fdasd.c:146 msgid "Device verification failed" msgstr "Enhetsverifieringen misslyckades" #: libparted/labels/fdasd.c:147 msgid "The specified device is not a valid DASD device" msgstr "Den angivna enheten är inte en giltig DASD-enhet" #: libparted/labels/fdasd.c:150 libparted/labels/vtoc.c:179 msgid "Fatal error" msgstr "Ödesdigert fel" #: libparted/labels/fdasd.c:226 msgid "No room for volume label." msgstr "Ingen plats för volymetikett." #: libparted/labels/fdasd.c:234 msgid "No room for partition info." msgstr "Inget utrymme för partitionsinformation." #: libparted/labels/fdasd.c:704 msgid "Invalid VTOC." msgstr "Ogiltig VTOC." #: libparted/labels/fdasd.c:764 msgid "Could not retrieve API version." msgstr "Kunde inte läsa av API-versionen." #: libparted/labels/fdasd.c:767 #, c-format msgid "" "The current API version '%d' doesn't match dasd driver API version '%d'!" msgstr "" "Den aktuella API-versionen \"%d\" stämmer inte med API-versionen \"%d\" för " "dasd-drivrutinen!" #: libparted/labels/fdasd.c:804 msgid "Could not retrieve disk geometry information." msgstr "Kunde inte läsa av information om diskgeometri." #: libparted/labels/fdasd.c:808 msgid "Could not retrieve blocksize information." msgstr "Kunde inte läsa av information om blockstorlek." #: libparted/labels/fdasd.c:813 msgid "Could not retrieve disk information." msgstr "Kunde inte läsa av diskinformationen." #: libparted/labels/fdasd.c:818 msgid "This is not an ECKD disk! This disk type is not supported!" msgstr "Detta är inte en ECKD-disk! Denna disktyp stöds inte!" #: libparted/labels/gpt.c:485 #, c-format msgid "" "%s contains GPT signatures, indicating that it has a GPT table. However, it " "does not have a valid fake msdos partition table, as it should. Perhaps it " "was corrupted -- possibly by a program that doesn't understand GPT partition " "tables. Or perhaps you deleted the GPT table, and are now using an msdos " "partition table. Is this a GPT partition table?" msgstr "" #: libparted/labels/gpt.c:680 #, c-format msgid "" "The format of the GPT partition table is version %x, which is newer than " "what Parted can recognise. Please tell us! bug-parted@gnu.org" msgstr "" #: libparted/labels/gpt.c:727 #, c-format msgid "" "Not all of the space available to %s appears to be used, you can fix the GPT " "to use all of the space (an extra %llu blocks) or continue with the current " "setting? " msgstr "" #: libparted/labels/gpt.c:936 msgid "" "The backup GPT table is not at the end of the disk, as it should be. This " "might mean that another operating system believes the disk is smaller. Fix, " "by moving the backup to the end (and removing the old backup)?" msgstr "" #: libparted/labels/gpt.c:960 msgid "" "Both the primary and backup GPT tables are corrupt. Try making a fresh " "table, and using Parted's rescue feature to recover partitions." msgstr "" #: libparted/labels/gpt.c:971 msgid "" "The backup GPT table is corrupt, but the primary appears OK, so that will be " "used." msgstr "" #: libparted/labels/gpt.c:983 msgid "" "The primary GPT table is corrupt, but the backup appears OK, so that will be " "used." msgstr "" #: libparted/labels/gpt.c:1007 msgid "primary partition table array CRC mismatch" msgstr "" #: libparted/labels/mac.c:185 #, c-format msgid "Invalid signature %x for Mac disk labels." msgstr "Ogiltig signatur %x för en Mac-disketikett." #: libparted/labels/mac.c:232 msgid "Partition map has no partition map entry!" msgstr "Partitionstabellen saknar uppgift om sig själv!" #: libparted/labels/mac.c:280 #, c-format msgid "%s is too small for a Mac disk label!" msgstr "%s är för liten för en Mac-disketikett!" #: libparted/labels/mac.c:509 #, c-format msgid "Partition %d has an invalid signature %x." msgstr "Partition %d har en ogiltig signatur %x." #: libparted/labels/mac.c:527 #, c-format msgid "Partition %d has an invalid length of 0 bytes!" msgstr "Partition %d har en ogiltig längd, 0 byte!" #: libparted/labels/mac.c:558 msgid "The data region doesn't start at the start of the partition." msgstr "DataomrÃ¥det börjar inte vid partitionens början." #: libparted/labels/mac.c:575 msgid "The boot region doesn't start at the start of the partition." msgstr "StartomrÃ¥det börjar inte vid partitionens början." #: libparted/labels/mac.c:589 msgid "The partition's boot region doesn't occupy the entire partition." msgstr "Partitionens startomrÃ¥de tar inte upp hela partitionens utrymme." #: libparted/labels/mac.c:600 msgid "The partition's data region doesn't occupy the entire partition." msgstr "Partitionens dataomrÃ¥de tar inte upp hela partitionens utrymme." #: libparted/labels/mac.c:653 #, c-format msgid "" "Weird block size on device descriptor: %d bytes is not divisible by 512." msgstr "" "Konstig blockstorlek pÃ¥ enhetens handtag: %d byte är inte jämnt delbart med " "512." #: libparted/labels/mac.c:666 #, c-format msgid "" "The driver descriptor says the physical block size is %d bytes, but Linux " "says it is %d bytes." msgstr "" "Enhetens handtag pÃ¥stÃ¥r att den fysiska blockstorleken är %d byte, men Linux " "pÃ¥stÃ¥r att den är %d byte." #: libparted/labels/mac.c:720 msgid "No valid partition map found." msgstr "Ingen giltig partitionstabell kunde hittas." #: libparted/labels/mac.c:782 #, fuzzy, c-format msgid "" "Conflicting partition map entry sizes! Entry 1 says it is %d, but entry %d " "says it is %d!" msgstr "" "Motsägelsefulla storleksdata i partitionstabellen! Post ett pÃ¥stÃ¥r sig vara " "%d medan post %d pÃ¥stÃ¥r sig vara %d!" #: libparted/labels/mac.c:809 msgid "Weird! There are 2 partitions map entries!" msgstr "Konstigt! Det finns 2 poster i partitionstabellen!" #: libparted/labels/mac.c:1355 msgid "" "Changing the name of a root or swap partition will prevent Linux from " "recognising it as such." msgstr "" "Att ändra namnet pÃ¥ en rot- eller växlingspartition gör att Linux inte kan " "känna igen dem." #: libparted/labels/mac.c:1459 msgid "Can't add another partition -- the partition map is too small!" msgstr "" "Kan inte lägga till ytterligare en partition -- partitionstabellen är för " "liten!" #: libparted/labels/pc98.c:331 #, c-format msgid "Invalid partition table on %s." msgstr "Ogiltig partitionstabell pÃ¥ %s." #: libparted/labels/pc98.c:384 libparted/labels/pc98.c:462 #, c-format msgid "" "Partition %d isn't aligned to cylinder boundaries. This is still " "unsupported." msgstr "" "Partition %d ligger inte pÃ¥ jämna cylindergränser. Detta stöds fortfarande " "inte." #: libparted/labels/pc98.c:781 msgid "Can't add another partition." msgstr "Kan inte lägga till ännu en partition." #: libparted/labels/pt-tools.c:125 #, c-format msgid "" "partition length of %jd sectors exceeds the %s-partition-table-imposed " "maximum of %jd" msgstr "" "partitionslängden pÃ¥ %jd sektorer överstiger maximum för %s-partition-table-" "imposed pÃ¥ %jd" #: libparted/labels/pt-tools.c:138 #, c-format msgid "" "starting sector number, %jd exceeds the %s-partition-table-imposed maximum " "of %jd" msgstr "" "sektornumret för början, %jd överstiger maximum för %s-partition-table-" "imposed maximum pÃ¥ %jd" #: libparted/labels/rdb.c:170 #, c-format msgid "%s : Bad checksum on block %llu of type %s." msgstr "%s : Felaktig kontrollsumma pÃ¥ block %llu av typen %s." #: libparted/labels/rdb.c:486 #, c-format msgid "%s : Didn't find rdb block, should never happen." msgstr "%s : Hittade inte rdb-blocket. Detta ska aldrig hända." #: libparted/labels/rdb.c:572 #, c-format msgid "%s : Loop detected at block %d." msgstr "%s : Slinga upptäcktes pÃ¥ block %d." #: libparted/labels/rdb.c:591 #, c-format msgid "%s : The %s list seems bad at block %s." msgstr "%s : %s-listan verkar vara felaktig pÃ¥ block %s." #: libparted/labels/rdb.c:690 #, c-format msgid "%s : Failed to list bad blocks." msgstr "%s : Misslyckades med att lista felaktiga block." #: libparted/labels/rdb.c:698 #, c-format msgid "%s : Failed to list partition blocks." msgstr "%s : Misslyckades med att lista partitionsblock." #: libparted/labels/rdb.c:706 #, c-format msgid "%s : Failed to list file system blocks." msgstr "%s : Misslyckades med att lista filsystemsblock." #: libparted/labels/rdb.c:714 #, c-format msgid "%s : Failed to list boot blocks." msgstr "%s : Misslyckades med att lista uppstartsblock." #: libparted/labels/rdb.c:741 #, c-format msgid "Failed to write partition block at %d." msgstr "Misslyckades med att skriva partitionsblock pÃ¥ %d." #: libparted/labels/rdb.c:1079 msgid "Unable to allocate a partition number." msgstr "Kunde inte allokera ett partitionsnummer." #: libparted/labels/sun.c:163 msgid "Corrupted Sun disk label detected." msgstr "Skadad Sun-disketikett upptäcktes." #: libparted/labels/sun.c:316 #, c-format msgid "" "The disk CHS geometry (%d,%d,%d) reported by the operating system does not " "match the geometry stored on the disk label (%d,%d,%d)." msgstr "" #: libparted/labels/sun.c:338 #, c-format msgid "The disk label describes a disk bigger than %s." msgstr "Disketiketten beskriver en disk som är större än %s." #: libparted/labels/sun.c:510 #, c-format msgid "The disk has %d cylinders, which is greater than the maximum of 65536." msgstr "Disken har %d cylindrar, vilket är större än maximum som är 65536." #: libparted/labels/sun.c:853 msgid "" "The Whole Disk partition is the only available one left. Generally, it is " "not a good idea to overwrite this partition with a real one. Solaris may " "not be able to boot without it, and SILO (the sparc boot loader) appreciates " "it as well." msgstr "" #: libparted/labels/sun.c:868 msgid "Sun disk label is full." msgstr "" #: libparted/labels/vtoc.c:164 msgid "opening of device failed" msgstr "öppning av enheten misslyckades" #: libparted/labels/vtoc.c:168 msgid "seeking on device failed" msgstr "" #: libparted/labels/vtoc.c:172 msgid "writing to device failed" msgstr "skrivning till enheten misslyckades" #: libparted/labels/vtoc.c:176 msgid "reading from device failed" msgstr "läsning frÃ¥n enheten misslyckades" #: libparted/labels/vtoc.c:277 libparted/labels/vtoc.c:284 msgid "Could not read volume label." msgstr "Kunde inte läsa volymetikett." #: libparted/labels/vtoc.c:303 libparted/labels/vtoc.c:308 msgid "Could not write volume label." msgstr "Kunde inte skriva volymetikett." #: libparted/labels/vtoc.c:414 msgid "Could not read VTOC labels." msgstr "Kunde inte läsa VTOC-etiketter." #: libparted/labels/vtoc.c:420 msgid "Could not read VTOC FMT1 DSCB." msgstr "Kunde inte läsa VTOC FMT1 DSCB." #: libparted/labels/vtoc.c:427 msgid "Could not read VTOC FMT4 DSCB." msgstr "Kunde inte läsa VTOC FMT4 DSCB." #: libparted/labels/vtoc.c:434 msgid "Could not read VTOC FMT5 DSCB." msgstr "Kunde inte läsa VTOC FMT5 DSCB." #: libparted/labels/vtoc.c:441 msgid "Could not read VTOC FMT7 DSCB." msgstr "Kunde inte läsa VTOC FMT7 DSCB." #: libparted/labels/vtoc.c:461 msgid "Could not write VTOC labels." msgstr "Kunde inte skriva VTOC-etiketter." #: libparted/labels/vtoc.c:467 msgid "Could not write VTOC FMT1 DSCB." msgstr "Kunde inte skriva VTOC FMT1 DSCB." #: libparted/labels/vtoc.c:474 msgid "Could not write VTOC FMT4 DSCB." msgstr "Kunde inte skriva VTOC FMT4 DSCB." #: libparted/labels/vtoc.c:481 msgid "Could not write VTOC FMT5 DSCB." msgstr "Kunde inte skriva VTOC FMT5 DSCB." #: libparted/labels/vtoc.c:488 msgid "Could not write VTOC FMT7 DSCB." msgstr "Kunde inte skriva VTOC FMT7 DSCB." #: libparted/libparted.c:237 libparted/libparted.c:252 msgid "Out of memory." msgstr "Slut pÃ¥ minne." #: libparted/unit.c:138 msgid "Cannot get unit size for special unit 'COMPACT'." msgstr "" #: libparted/unit.c:384 #, c-format msgid "\"%s\" has invalid syntax for locations." msgstr "\"%s\" innehÃ¥ller en ogiltig syntax för platser." #: libparted/unit.c:392 #, c-format msgid "The maximum head value is %d." msgstr "Det maximala värdet för huvud är %d." #: libparted/unit.c:399 #, c-format msgid "The maximum sector value is %d." msgstr "Det maximala värdet för sektorer är %d." #: libparted/unit.c:411 libparted/unit.c:543 #, c-format msgid "The location %s is outside of the device %s." msgstr "Platsen %s är utanför enheten %s." #: libparted/unit.c:525 msgid "Invalid number." msgstr "Ogiltigt nummer." #: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:56 #: libparted/fs/amiga/asfs.c:70 #, c-format msgid "%s : Failed to allocate partition block\n" msgstr "%s : Misslyckades med att allokera partitionsblock\n" #: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:69 #: libparted/fs/amiga/asfs.c:82 #, c-format msgid "%s : Failed to allocate block\n" msgstr "%s : Misslyckades med att allokera block\n" #: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:74 #, c-format msgid "%s : Couldn't read boot block %llu\n" msgstr "%s : Kunde inte läsa startblock %llu\n" #: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:85 #: libparted/fs/amiga/asfs.c:88 libparted/fs/amiga/asfs.c:102 #, c-format msgid "%s : Couldn't read root block %llu\n" msgstr "%s : Kunde inte läsa rotblock %llu\n" #: libparted/fs/amiga/amiga.c:72 #, c-format msgid "%s : Failed to allocate id list element\n" msgstr "" #: libparted/fs/amiga/amiga.c:189 #, c-format msgid "%s : Couldn't read block %llu\n" msgstr "%s : Kunde inte läsa block %llu\n" #: libparted/fs/amiga/amiga.c:202 #, c-format msgid "%s : Bad checksum on block %llu of type %s\n" msgstr "%s : Felaktig kontrollsumma pÃ¥ block %llu av typen %s\n" #: libparted/fs/amiga/amiga.c:212 #, c-format msgid "%s : Couldn't write block %d\n" msgstr "%s : Kunde inte skriva block %d\n" #: libparted/fs/amiga/amiga.c:278 #, c-format msgid "%s : Failed to allocate disk_specific rdb block\n" msgstr "" #: libparted/fs/amiga/amiga.c:289 #, c-format msgid "%s : Didn't find rdb block, should never happen\n" msgstr "" #: libparted/fs/amiga/amiga.c:318 #, c-format msgid "%s : Failed to read partition block %llu\n" msgstr "%s : Misslyckades med att läsa partitionsblock %llu\n" #: libparted/fs/ext2/ext2.c:87 libparted/fs/ext2/ext2.c:112 msgid "Inconsistent group descriptors!" msgstr "Inkonsistenta grupphandtag!" #: libparted/fs/ext2/ext2.c:91 libparted/fs/ext2/ext2.c:116 msgid "File system full!" msgstr "Filsystemet är fullt!" #: libparted/fs/ext2/ext2.c:686 msgid "Invalid superblock. Are you sure this is an ext2 file system?" msgstr "Ogiltigt superblock. Är du säker pÃ¥ att det här är ett ext2-filsystem?" #: libparted/fs/ext2/ext2.c:700 libparted/fs/ext2/ext2_resize.c:658 msgid "File system has errors! You should run e2fsck." msgstr "Filsystemet innehÃ¥ller fel! Du bör köra e2fsck." #: libparted/fs/ext2/ext2.c:711 msgid "" "File system was not cleanly unmounted! You should run e2fsck. Modifying an " "unclean file system could cause severe corruption." msgstr "" "Filsystemet har inte avmonterats pÃ¥ rätt sätt! Du bör köra e2fsck. Ändring " "pÃ¥ ett inkorrekt filsystem kan orsaka allvarliga skador." #: libparted/fs/ext2/ext2.c:731 msgid "" "File system has an incompatible feature enabled. Compatible features are " "has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs " "or debugfs to remove features." msgstr "" "Filsystemet har en inkompatibel funktion aktiverad. Kompatibla funktioner " "är has_journal, dir_index, filetype, sparse_super och large_file. Använd " "tune2fs eller debugfs för att ta bort funktioner." #: libparted/fs/ext2/ext2.c:745 msgid "Error allocating buffer cache." msgstr "Kunde inte reservera buffercache" #: libparted/fs/ext2/ext2_inode_relocator.c:114 msgid "" "Found an inode with a incorrect link count. Better go run e2fsck first!" msgstr "" "Hittade en inode med felaktigt antal länkar. Bäst att du kör e2fsck först!" #: libparted/fs/ext2/ext2_inode_relocator.c:487 msgid "Not enough free inodes!" msgstr "Det finns inte tillräckligt mÃ¥nga fria inoder!" #: libparted/fs/ext2/ext2_resize.c:223 msgid "File system is too full to remove a group!" msgstr "Filsystemet är för fullt för att ta bort en grupp!" #: libparted/fs/ext2/ext2_resize.c:232 msgid "File system has too many allocated inodes to remove a group!" msgstr "Filsystemet har för mÃ¥nga allokerade inoder för att ta bort en grupp!" #: libparted/fs/ext2/ext2_resize.c:491 msgid "adding groups" msgstr "lägger till grupper" #: libparted/fs/ext2/ext2_resize.c:528 #, c-format msgid "Your file system is too full to resize it to %i blocks. Sorry." msgstr "" "Filsystemet är för fullt för att ändra dess storlek till %i block. Tyvärr." #: libparted/fs/ext2/ext2_resize.c:538 #, c-format msgid "" "Your file system has too many occupied inodes to resize it to %i blocks. " "Sorry." msgstr "" "Ditt filsystem har för mÃ¥nga upptagna inoder för att ändra dess storlek till " "%i block. Tyvärr." #: libparted/fs/ext2/ext2_resize.c:666 msgid "File system was not cleanly unmounted! You should run e2fsck." msgstr "Filsystemet har inte avmonterats pÃ¥ rätt sätt! Du bör köra e2fsck." #: libparted/fs/ext2/ext2_resize.c:675 msgid "" "The file system has the 'dir_index' feature enabled. Parted can only resize " "the file system if it disables this feature. You can enable it later by " "running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'." msgstr "" "Filsystemet har funktionen \"dir_index\" aktiverad. Parted kan endast ändra " "storlek pÃ¥ filsystemet om denna funktion är inaktiverad. Du kan aktivera " "den senare genom att köra \"tune2fs -O dir_index ENHET\" och sedan \"e2fsck -" "fD ENHET\"." #: libparted/fs/ext2/ext2_resize.c:691 msgid "" "A resize operation on this file system will use EXPERIMENTAL code\n" "that MAY CORRUPT it (although no one has reported any such damage yet).\n" "You should at least backup your data first, and run 'e2fsck -f' afterwards." msgstr "" #: libparted/fs/ext2/ext2_block_relocator.c:198 msgid "Cross-linked blocks found! Better go run e2fsck first!" msgstr "Korslänkade block hittades! Bäst att du kör e2fsck först!" #: libparted/fs/ext2/ext2_block_relocator.c:537 #, c-format msgid "Block %i has no reference? Weird." msgstr "Block %i har ingen referens? Konstigt." #: libparted/fs/ext2/ext2_block_relocator.c:738 #, c-format msgid "Block %i shouldn't have been marked (%d, %d)!" msgstr "Block %i borde inte ha markerats (%d, %d)!" #: libparted/fs/ext2/interface.c:226 msgid "" "The ext2 file system passed a basic check. For a more comprehensive check, " "use the e2fsck program." msgstr "" "Filsystemet (e2fs) klarade en grundläggande kontroll. För en mer genomgÃ¥ende " "kontroll sÃ¥ använd programmet e2fsck." #: libparted/fs/ext2/interface.c:243 msgid "Sorry, can't move the start of ext2 partitions yet!" msgstr "Kan inte flytta en ext2-partitions början ännu!" #: libparted/fs/ext2/ext2_buffer.c:82 msgid "Couldn't flush buffer cache!" msgstr "Kunde inte rensa buffercachen!" #: libparted/fs/ext2/ext2_mkfs.c:161 msgid "writing per-group metadata" msgstr "" #: libparted/fs/ext2/ext2_mkfs.c:597 msgid "File system too small for ext2." msgstr "Filsystemet är för litet för ext2." #: libparted/fs/fat/calc.c:135 #, c-format msgid "" "You need %s of free disk space to shrink this partition to this size. " "Currently, only %s is free." msgstr "" "Du behöver %s ledigt diskutrymme för att minska storleken pÃ¥ den här " "partitionen till angiven storlek. För närvarande är det endast %s." #: libparted/fs/fat/context.c:56 #, c-format msgid "" "Cluster start delta = %d, which is not a multiple of the cluster size %d." msgstr "" "Klustrets startdifferens är %d, vilket inte är en multipel av " "klusterstorleken %d" #: libparted/fs/fat/fat.c:310 #, c-format msgid "Partition too big/small for a %s file system." msgstr "Partitionen för stor/liten för ett filsystem av typen %s." #: libparted/fs/fat/fat.c:476 msgid "" "The FATs don't match. If you don't know what this means, then select " "cancel, run scandisk on the file system, and then come back." msgstr "" "Filallokeringstabellerna stämmer inte överens. Om du inte vet vad detta " "betyder, välj avbryt, kör scandisk pÃ¥ filsystemet och försök igen." #: libparted/fs/fat/fat.c:516 msgid "There are no possible configurations for this FAT type." msgstr "Det finns inga möjliga kombinationer för den här sortens FAT." #: libparted/fs/fat/fat.c:528 #, c-format msgid "" "File system doesn't have expected sizes for Windows to like it. Cluster " "size is %dk (%dk expected); number of clusters is %d (%d expected); size of " "FATs is %d sectors (%d expected)." msgstr "" "Filsystemet har inte en storlek som Windows gillar. Klusterstorleken är %dk " "(%dk förväntas); antalet kluster är %d (%d förväntas); storleken pÃ¥ FAT:arna " "är %d sektorer (%d förväntas)." #: libparted/fs/fat/fat.c:551 #, c-format msgid "" "File system is reporting the free space as %d clusters, not %d clusters." msgstr "Filsystemet menar att det fria utrymmet är %d kluster, inte %d." #: libparted/fs/fat/fat.c:876 msgid "" "GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT " "support will be disabled." msgstr "" "GNU Parted kompilerades felaktigt: FAT-startsektorn skall vara 512 byte. " "Stödet för FAT kommer att inaktiveras." #: libparted/fs/fat/resize.c:158 msgid "" "There's not enough room in the root directory for all of the files. Either " "cancel, or ignore to lose the files." msgstr "" "Det finns inte tillräckligt med utrymme för alla filer i rotkatalogen. Välj " "antingen att avbryta, eller ignorera och förlora filerna." #: libparted/fs/fat/resize.c:299 msgid "Error writing to the root directory." msgstr "Ett fel uppstod vid skrivning till rotkatalogen." #: libparted/fs/fat/resize.c:488 msgid "If you leave your file system as FAT16, then you will have no problems." msgstr "" "Om du lÃ¥ter filsystemet fortsätta vara FAT16 sÃ¥ kommer du inte att fÃ¥ nÃ¥gra " "problem." #: libparted/fs/fat/resize.c:491 msgid "" "If you convert to FAT16, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual)." msgstr "" "Om du konverterar till FAT16 och MS Windows är installerad pÃ¥ den här " "partitionen sÃ¥ mÃ¥ste du installera om MS Windows starthanterare. Om du gör " "det bör du studera Parteds manual (eller din distributions manual)." #: libparted/fs/fat/resize.c:499 msgid "" "If you leave your file system as FAT32, then you will not introduce any new " "problems." msgstr "" "Om du lÃ¥ter filsystemet fortsätta vara FAT32 kommer du inte att introducera " "nÃ¥gra nya problem." #: libparted/fs/fat/resize.c:503 msgid "" "If you convert to FAT32, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual). Also, " "converting to FAT32 will make the file system unreadable by MS DOS, MS " "Windows 95a, and MS Windows NT." msgstr "" "Om du konverterar till FAT32 och MS Windows är installerad pÃ¥ den här " "partitionen mÃ¥ste du installera om MS Windows starthanterare. Om du gör det " "bör du studera Parteds manual (eller din distributions manual). Märk att " "genom att konvertera filsystemet till FAT32 kommer det inte att kunna läsas " "av MS DOS, MS Windows 95a och MS Windows NT." #: libparted/fs/fat/resize.c:517 #, c-format msgid "%s %s %s" msgstr "%s %s %s" #: libparted/fs/fat/resize.c:518 msgid "Would you like to use FAT32?" msgstr "Vill du använda FAT32?" #: libparted/fs/fat/resize.c:549 libparted/fs/fat/resize.c:565 #, c-format msgid "%s %s" msgstr "%s %s" #: libparted/fs/fat/resize.c:550 msgid "" "The file system can only be resized to this size by converting to FAT16." msgstr "" "Filsystemet kan bara ändras till den här storleken genom att konvertera till " "FAT16." #: libparted/fs/fat/resize.c:566 msgid "" "The file system can only be resized to this size by converting to FAT32." msgstr "" "Filsystemet kan bara ändras till den här storleken genom att konvertera till " "FAT32." #: libparted/fs/fat/resize.c:579 msgid "" "GNU Parted cannot resize this partition to this size. We're working on it!" msgstr "" "GNU Parted kan inte ändra partitionen till den här storleken. Vi arbetar pÃ¥ " "en lösning!" #: libparted/fs/fat/bootsector.c:49 libparted/fs/fat/bootsector.c:56 msgid "File system has an invalid signature for a FAT file system." msgstr "Filsystemet har en ogiltig signatur för filsystem av typen FAT." #: libparted/fs/fat/bootsector.c:64 msgid "File system has an invalid sector size for a FAT file system." msgstr "" "Filsystemet har en ogiltig sektorstorlek för ett filsystem av typen FAT." #: libparted/fs/fat/bootsector.c:71 msgid "File system has an invalid cluster size for a FAT file system." msgstr "" "Filsystemet har en ogiltig klusterstorlek för ett filsystem av typen FAT." #: libparted/fs/fat/bootsector.c:78 msgid "" "File system has an invalid number of reserved sectors for a FAT file system." msgstr "" "Filsystemet har ett ogiltigt antal reserverade sektorer för ett filsystem av " "typen FAT." #: libparted/fs/fat/bootsector.c:85 msgid "File system has an invalid number of FATs." msgstr "Filsystemet har ett ogiltigt antal filallokeringstabeller." #: libparted/fs/fat/bootsector.c:139 #, c-format msgid "" "This file system has a logical sector size of %d. GNU Parted is known not " "to work properly with sector sizes other than 512 bytes." msgstr "" "Filsystemet har en logisk sektorstorlek pÃ¥ %d. Det är känt att GNU Parted " "inte fungerar bra med andra sektorstorlekar 512 byte." #: libparted/fs/fat/bootsector.c:164 #, c-format msgid "" "The file system's CHS geometry is (%d, %d, %d), which is invalid. The " "partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the " "file system's CHS geometry will be left unchanged. If you select Fix, the " "file system's CHS geometry will be set to match the partition table's CHS " "geometry." msgstr "" "Filsystemets CHS-geometri är (%d, %d, %d), vilket är ogiltigt. " "Partitionstabellens CHS-geometri är (%d, %d, %d). Om du väljer Ignorera sÃ¥ " "kommer filsystemets CHS-geometri inte att ändras. Om du väljer Reparera sÃ¥ " "kommer filsystemets CHS-geometri att ställas in för att matcha " "partitionstabellens CHS-geometri." #: libparted/fs/fat/bootsector.c:213 msgid "FAT boot sector says logical sector size is 0. This is weird. " msgstr "" "FAT-startsektorn menar att den logiska sektorstorleken är 0. Detta är " "märkligt." #: libparted/fs/fat/bootsector.c:219 msgid "FAT boot sector says there are no FAT tables. This is weird. " msgstr "FAT-startsektorn menar att det saknas FAT-tabeller. Detta är märkligt." #: libparted/fs/fat/bootsector.c:225 msgid "FAT boot sector says clusters are 0 sectors. This is weird. " msgstr "" "FAT-startsektorn menar att ett kluster bestÃ¥r av 0 sektorer. Detta är " "märkligt." #: libparted/fs/fat/bootsector.c:235 msgid "File system is FAT12, which is unsupported." msgstr "Filsystemet är FAT12, som inte stöds." #: libparted/fs/fat/bootsector.c:411 #, c-format msgid "" "The information sector has the wrong signature (%x). Select cancel for now, " "and send in a bug report. If you're desperate, it's probably safe to ignore." msgstr "" "Informationssektorn har fel signatur (%x). Välj avbryt och skicka in en " "felrapport. Om du är desperat sÃ¥ är det troligen säkert att strunta i felet." #: libparted/fs/fat/count.c:144 #, c-format msgid "Bad directory entry for %s: first cluster is the end of file marker." msgstr "Felaktig katalogpost för %s: första klustret är en filslutsmarkering." #: libparted/fs/fat/count.c:157 #, c-format msgid "" "Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk." msgstr "" "Trasig filallokeringstabell: ej avslutad kedja för %s. Du bör köra dosfsck " "eller scandisk." #: libparted/fs/fat/count.c:166 #, c-format msgid "" "Bad FAT: cluster %d outside file system in chain for %s. You should run " "dosfsck or scandisk." msgstr "" "Trasig filallokeringstabell: kluster %d ligger utanför filsystemet i kedja " "för %s. Du bör köra dosfsck eller scandisk." #: libparted/fs/fat/count.c:176 #, c-format msgid "" "Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or " "scandisk." msgstr "" "Trasig filallokeringstabell: kluster %d är korslänkad för %s. Du bör köra " "dosfsck eller scandisk." #: libparted/fs/fat/count.c:195 #, c-format msgid "%s is %dk, but it has %d clusters (%dk)." msgstr "%s är %dk, men den har %d kluster (%dk)." #: libparted/fs/fat/count.c:258 #, c-format msgid "" "The file %s is marked as a system file. This means moving it could cause " "some programs to stop working." msgstr "" "Filen %s är markerad som en systemfil. Det betyder att om den flyttas sÃ¥ " "kan det orsaka att vissa program slutar att fungera." #: libparted/fs/fat/table.c:136 #, c-format msgid "" "FAT %d media %x doesn't match the boot sector's media %x. You should " "probably run scandisk." msgstr "" "FAT %d media %x passar inte med startsektorns media %x. Du bör antagligen " "köra scandisk." #: libparted/fs/fat/table.c:268 #, c-format msgid "fat_table_set: cluster %ld outside file system" msgstr "fat_table_set: kluster %ld ligger utanför filsystemet" #: libparted/fs/fat/table.c:300 #, c-format msgid "fat_table_get: cluster %ld outside file system" msgstr "fat_table_get: kluster %ld ligger utanför filsystemet" #: libparted/fs/fat/table.c:342 msgid "fat_table_alloc_cluster: no free clusters" msgstr "fat_table_alloc_cluster: inga lediga kluster" #: libparted/fs/linux_swap/linux_swap.c:288 #, fuzzy, c-format msgid "Unrecognised old style linux swap signature '%10s'." msgstr "Okänd signatur för Linux växlingsutrymme \\\"%10s\\\"." #: libparted/fs/linux_swap/linux_swap.c:331 #, fuzzy, c-format msgid "Unrecognised new style linux swap signature '%10s'." msgstr "Okänd signatur för Linux växlingsutrymme \\\"%10s\\\"." #: libparted/fs/linux_swap/linux_swap.c:371 #, fuzzy, c-format msgid "Unrecognised swsusp linux swap signature '%9s'." msgstr "Okänd signatur för Linux växlingsutrymme \\\"%10s\\\"." #: libparted/fs/linux_swap/linux_swap.c:447 msgid "Too many bad pages." msgstr "För mÃ¥nga dÃ¥liga sidor." #: libparted/fs/hfs/advfs.c:121 libparted/fs/hfs/advfs_plus.c:121 #: libparted/fs/hfs/reloc.c:414 libparted/fs/hfs/reloc.c:508 #: libparted/fs/hfs/reloc_plus.c:538 libparted/fs/hfs/reloc_plus.c:656 #: libparted/fs/hfs/reloc_plus.c:769 msgid "The file system contains errors." msgstr "Filsystemet innehÃ¥ller fel." #: libparted/fs/hfs/advfs_plus.c:285 msgid "Bad blocks could not be read." msgstr "Felaktiga block kunde inte läsas." #: libparted/fs/hfs/cache.c:137 #, c-format msgid "" "Trying to register an extent starting at block 0x%X, but another one already " "exists at this position. You should check the file system!" msgstr "" #: libparted/fs/hfs/cache.c:214 #, c-format msgid "" "Trying to move an extent from block Ox%X to block Ox%X, but another one " "already exists at this position. This should not happen!" msgstr "" #: libparted/fs/hfs/file.c:143 #, c-format msgid "Could not update the extent cache for HFS file with CNID %X." msgstr "" #: libparted/fs/hfs/file.c:180 #, c-format msgid "Trying to read HFS file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/file.c:190 libparted/fs/hfs/file.c:220 #, c-format msgid "Could not find sector %lli of HFS file with CNID %X." msgstr "" #: libparted/fs/hfs/file.c:210 #, c-format msgid "Trying to write HFS file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/file_plus.c:157 #, c-format msgid "Could not update the extent cache for HFS+ file with CNID %X." msgstr "" #: libparted/fs/hfs/file_plus.c:202 #, c-format msgid "Trying to read HFS+ file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/file_plus.c:213 libparted/fs/hfs/file_plus.c:256 #, c-format msgid "Could not find sector %lli of HFS+ file with CNID %X." msgstr "" #: libparted/fs/hfs/file_plus.c:245 #, c-format msgid "Trying to write HFS+ file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/hfs.c:232 msgid "Sorry, HFS cannot be resized that way yet." msgstr "" #: libparted/fs/hfs/hfs.c:262 libparted/fs/hfs/hfs.c:641 msgid "Data relocation has failed." msgstr "" #: libparted/fs/hfs/hfs.c:281 msgid "Data relocation left some data in the end of the volume." msgstr "" #: libparted/fs/hfs/hfs.c:320 #, fuzzy msgid "writing HFS Master Directory Block" msgstr "Ett fel uppstod vid skrivning till rotkatalogen." #: libparted/fs/hfs/hfs.c:468 msgid "No valid HFS[+X] signature has been found while opening." msgstr "" #: libparted/fs/hfs/hfs.c:478 #, c-format msgid "Version %d of HFS+ isn't supported." msgstr "Version %d av HFS+ stöds inte." #: libparted/fs/hfs/hfs.c:489 #, c-format msgid "Version %d of HFSX isn't supported." msgstr "Version %d av HFSX stöds inte." #: libparted/fs/hfs/hfs.c:672 msgid "Data relocation left some data at the end of the volume." msgstr "" #: libparted/fs/hfs/hfs.c:720 msgid "Error while writing the allocation file." msgstr "Fel vid skrivning av allokeringsfilen." #: libparted/fs/hfs/hfs.c:735 msgid "Error while writing the compatibility part of the allocation file." msgstr "" #: libparted/fs/hfs/hfs.c:750 msgid "writing HFS+ Volume Header" msgstr "" #: libparted/fs/hfs/hfs.c:850 msgid "An error occurred while looking for the mandatory bad blocks file." msgstr "" #: libparted/fs/hfs/hfs.c:904 msgid "" "It seems there is an error in the HFS wrapper: the bad blocks file doesn't " "contain the embedded HFS+ volume." msgstr "" #: libparted/fs/hfs/hfs.c:940 msgid "Sorry, HFS+ cannot be resized that way yet." msgstr "" #: libparted/fs/hfs/hfs.c:975 msgid "shrinking embedded HFS+ volume" msgstr "minskar inbäddad HFS+-volym" #: libparted/fs/hfs/hfs.c:991 msgid "Resizing the HFS+ volume has failed." msgstr "Storleksändring av HFS+-volymen misslyckades." #: libparted/fs/hfs/hfs.c:998 msgid "shrinking HFS wrapper" msgstr "" #: libparted/fs/hfs/hfs.c:1007 msgid "Updating the HFS wrapper has failed." msgstr "" #: libparted/fs/hfs/hfs.c:1109 libparted/fs/hfs/hfs.c:1194 #, c-format msgid "" "This is not a real %s check. This is going to extract special low level " "files for debugging purposes." msgstr "" #: libparted/fs/hfs/journal.c:155 msgid "Bad block list header checksum." msgstr "" #: libparted/fs/hfs/journal.c:168 #, c-format msgid "" "Invalid size of a transaction block while replaying the journal (%i bytes)." msgstr "" #: libparted/fs/hfs/journal.c:260 msgid "" "Journal stored outside of the volume are not supported. Try to desactivate " "the journal and run Parted again." msgstr "" #: libparted/fs/hfs/journal.c:271 #, fuzzy msgid "Journal offset or size is not multiple of the sector size." msgstr "" "Klustrets startdifferens är %d, vilket inte är en multipel av " "klusterstorleken %d" #: libparted/fs/hfs/journal.c:292 msgid "Incorrect magic values in the journal header." msgstr "" #: libparted/fs/hfs/journal.c:302 msgid "Journal size mismatch between journal info block and journal header." msgstr "" #: libparted/fs/hfs/journal.c:314 #, fuzzy msgid "Some header fields are not multiple of the sector size." msgstr "" "Klustrets startdifferens är %d, vilket inte är en multipel av " "klusterstorleken %d" #: libparted/fs/hfs/journal.c:323 msgid "" "The sector size stored in the journal is not 512 bytes. Parted only " "supports 512 bytes length sectors." msgstr "" #: libparted/fs/hfs/journal.c:335 msgid "Bad journal checksum." msgstr "" #: libparted/fs/hfs/journal.c:353 msgid "" "The journal is not empty. Parted must replay the transactions before " "opening the file system. This will modify the file system." msgstr "" #: libparted/fs/hfs/journal.c:381 msgid "" "The volume header or the master directory block has changed while replaying " "the journal. You should restart Parted." msgstr "" #: libparted/fs/hfs/probe.c:51 #, c-format msgid "" "Parted can't use HFS file systems on disks with a sector size not equal to " "%d bytes." msgstr "" #: libparted/fs/hfs/reloc.c:151 libparted/fs/hfs/reloc_plus.c:155 msgid "An extent has not been relocated." msgstr "" #: libparted/fs/hfs/reloc.c:251 libparted/fs/hfs/reloc_plus.c:307 msgid "" "A reference to an extent comes from a place it should not. You should check " "the file system!" msgstr "" #: libparted/fs/hfs/reloc.c:381 msgid "This HFS volume has no catalog file. This is very unusual!" msgstr "" #: libparted/fs/hfs/reloc.c:475 msgid "This HFS volume has no extents overflow file. This is quite unusual!" msgstr "" #: libparted/fs/hfs/reloc.c:517 libparted/fs/hfs/reloc_plus.c:666 msgid "" "The extents overflow file should not contain its own extents! You should " "check the file system." msgstr "" #: libparted/fs/hfs/reloc.c:574 libparted/fs/hfs/reloc_plus.c:844 msgid "Could not cache the file system in memory." msgstr "Kunde inte mellanlagra filsystemet i minnet." #: libparted/fs/hfs/reloc.c:635 libparted/fs/hfs/reloc_plus.c:905 msgid "Bad blocks list could not be loaded." msgstr "Listan över felaktiga block kunde inte läsas in." #: libparted/fs/hfs/reloc.c:649 libparted/fs/hfs/reloc_plus.c:921 msgid "An error occurred during extent relocation." msgstr "" #: libparted/fs/hfs/reloc_plus.c:494 msgid "This HFS+ volume has no catalog file. This is very unusual!" msgstr "" #: libparted/fs/hfs/reloc_plus.c:617 msgid "This HFS+ volume has no extents overflow file. This is quite unusual!" msgstr "" #: parted/parted.c:123 msgid "displays this help message" msgstr "visa den här hjälptexten" #: parted/parted.c:124 msgid "lists partition layout on all block devices" msgstr "listar partitionslayout för alla blockenheter" #: parted/parted.c:125 msgid "displays machine parseable output" msgstr "visar utskriften som maskintolkningsbar" #: parted/parted.c:126 msgid "never prompts for user intervention" msgstr "frÃ¥gar aldrig användaren om alternativ" #: parted/parted.c:127 msgid "displays the version" msgstr "visar versionen" #: parted/parted.c:128 #, fuzzy msgid "alignment for new partitions" msgstr "Kan inte skapa nÃ¥gra fler partitioner." #: parted/parted.c:140 msgid "" "NUMBER is the partition number used by Linux. On MS-DOS disk labels, the " "primary partitions number from 1 to 4, logical partitions from 5 onwards.\n" msgstr "" "NUMMER är partitionsnumret som Linux använder. PÃ¥ disketiketter av typen MS-" "DOS är de primära partitionerna numrerade frÃ¥n 1 till 4, och de logiska " "partitionerna frÃ¥n 5 och uppÃ¥t.\n" #: parted/parted.c:143 msgid "LABEL-TYPE is one of: " msgstr "PART-TYP är en av:" #: parted/parted.c:144 msgid "FLAG is one of: " msgstr "FLAGGA är en av: " #: parted/parted.c:145 msgid "UNIT is one of: " msgstr "ENHET är en av: " #: parted/parted.c:146 msgid "desired alignment: minimum or optimal" msgstr "" #: parted/parted.c:147 msgid "PART-TYPE is one of: primary, logical, extended\n" msgstr "PART-TYP är en av: primär, logisk, utökad\n" #: parted/parted.c:149 msgid "FS-TYPE is one of: " msgstr "FS-TYP är en av: " #: parted/parted.c:150 msgid "" "START and END are disk locations, such as 4GB or 10%. Negative values count " "from the end of the disk. For example, -1s specifies exactly the last " "sector.\n" msgstr "" "BÖRJAN och SLUT är platser pÃ¥ disken, sÃ¥som 4GB eller 10%. Negativa värden " "räknas frÃ¥n slutet pÃ¥ disken. Till exempel, -1s anger exakt den sista " "sektorn.\n" #: parted/parted.c:153 msgid "STATE is one of: on, off\n" msgstr "TILLSTÃ…ND är ett av: pÃ¥, av\n" #: parted/parted.c:154 msgid "DEVICE is usually /dev/hda or /dev/sda\n" msgstr "ENHET är vanligen /dev/hda eller /dev/sda\n" #: parted/parted.c:155 msgid "NAME is any word you want\n" msgstr "NAMN är vilket ord du vill\n" #: parted/parted.c:156 msgid "The partition must have one of the following FS-TYPEs: " msgstr "Partitionen mÃ¥ste ha en av följande FS-TYPer: " #: parted/parted.c:160 msgid "" "Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n" "This program is free software, covered by the GNU General Public License.\n" "\n" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" msgstr "" "Upphovsrätt © 1998-2006 Free Software Foundation, Inc.\n" "Detta program är fri programvara och innefattas av GNU General Public " "License.\n" "\n" "Följande text är en informell översättning som enbart tillhandahÃ¥lls i\n" "informativt syfte. För alla juridiska tolkningar gäller den engelska " "original-\n" "texten.\n" "\n" "Detta program distribueras i hopp om att det ska vara användbart, men UTAN\n" "NÃ…GON SOM HELST GARANTI, även utan underförstÃ¥dd garanti om SÄLJBARHET " "eller\n" "LÄMPLIGHET FÖR NÃ…GOT SPECIELLT ÄNDAMÃ…L. Se GNU General Public License för\n" "ytterligare information.\n" "\n" #: parted/parted.c:208 #, c-format msgid "%0.f%%\t(time left %.2d:%.2d)" msgstr "%0.f%%\t(tid kvar %.2d:%.2d)" #: parted/parted.c:227 #, c-format msgid "" "Partition %s is being used. You must unmount it before you modify it with " "Parted." msgstr "" "Partitionen %s används. Du mÃ¥ste avmontera den innan du kan ändra den med " "Parted." #: parted/parted.c:245 #, c-format msgid "Partition(s) on %s are being used." msgstr "Partitionen pÃ¥ %s är i bruk." #: parted/parted.c:257 msgid "" "The existing file system will be destroyed and all data on the partition " "will be lost. Do you want to continue?" msgstr "" "Det befintliga filsystemet kommer att förstöras och all data pÃ¥ partitionen " "kommer att gÃ¥ förlorad. Vill du fortsätta?" #: parted/parted.c:269 #, c-format msgid "" "The existing disk label on %s will be destroyed and all data on this disk " "will be lost. Do you want to continue?" msgstr "" "Den befintliga disketiketten pÃ¥ %s kommer att förstöras och all data pÃ¥ " "denna disk kommer att gÃ¥ förlorad. Vill du fortsätta?" #: parted/parted.c:487 #, c-format msgid "" "WARNING: you are attempting to use %s to operate on (%s) a file system.\n" "%s's file system manipulation code is not as robust as what you'll find in\n" "dedicated, file-system-specific packages like e2fsprogs. We recommend\n" "you use %s only to manipulate partition tables, whenever possible.\n" "Support for performing most operations on most types of file systems\n" "will be removed in an upcoming release.\n" msgstr "" #: parted/parted.c:508 parted/parted.c:702 parted/parted.c:1179 #: parted/parted.c:1263 parted/parted.c:1935 parted/parted.c:2016 #: parted/parted.c:2088 parted/parted.c:2122 msgid "Partition number?" msgstr "Partitionsnummer?" #: parted/parted.c:551 msgid "Source device?" msgstr "Källenhet?" #: parted/parted.c:555 msgid "Source partition number?" msgstr "Partitionsnummer för källan?" #: parted/parted.c:560 msgid "Can't copy an extended partition." msgstr "Kan inte kopiera en utökad partition." #: parted/parted.c:566 msgid "Destination partition number?" msgstr "Partitionsnummer för mÃ¥let?" #: parted/parted.c:655 msgid "New disk label type?" msgstr "Ny typ av disketikett?" #: parted/parted.c:706 parted/parted.c:788 parted/parted.c:1000 msgid "File system type?" msgstr "Filsystemstyp?" #: parted/parted.c:762 parted/parted.c:983 msgid "Partition type?" msgstr "Partitionstyp?" #: parted/parted.c:780 parted/parted.c:990 parted/parted.c:1266 msgid "Partition name?" msgstr "Partitionsnamn?" #: parted/parted.c:794 parted/parted.c:1002 parted/parted.c:1194 #: parted/parted.c:1883 parted/parted.c:1944 msgid "Start?" msgstr "Början?" #: parted/parted.c:796 parted/parted.c:1005 parted/parted.c:1197 #: parted/parted.c:1885 parted/parted.c:1946 msgid "End?" msgstr "Slut?" #: parted/parted.c:862 parted/parted.c:1066 #, c-format msgid "" "You requested a partition from %s to %s.\n" "The closest location we can manage is %s to %s.%s" msgstr "" "Du begärde en partition frÃ¥n %s till %s.\n" "Den närmsta platsen vi kan hantera är %s till %s.%s" #: parted/parted.c:867 parted/parted.c:1071 msgid "" "\n" "Is this still acceptable to you?" msgstr "" "\n" "Är detta fortfarande godtagbart för dig?" #: parted/parted.c:889 parted/parted.c:1093 msgid "The resulting partition is not properly aligned for best performance." msgstr "" #: parted/parted.c:995 msgid "An extended partition cannot hold a file system. Did you want mkpart?" msgstr "" "En utökad partition kan inte innehÃ¥lla ett filsystem. Ville du verkligen " "köra mkpart?" #: parted/parted.c:1185 msgid "Can't move an extended partition." msgstr "Kan inte flytta en utökad partition." #: parted/parted.c:1214 msgid "Can't move a partition onto itself. Try using resize, perhaps?" msgstr "" "Kan inte flytta en partition till sig själv. Prova att ändra storleken " "istället." #: parted/parted.c:1360 #, c-format msgid "Minor: %d\n" msgstr "Mindre: %d\n" #: parted/parted.c:1361 #, c-format msgid "Flags: %s\n" msgstr "Flaggor: %s\n" #: parted/parted.c:1362 #, c-format msgid "File System: %s\n" msgstr "Filsystem: %s\n" #: parted/parted.c:1363 msgid "Size: " msgstr "Storlek: " #: parted/parted.c:1368 msgid "Minimum size: " msgstr "Minsta storlek: " #: parted/parted.c:1371 msgid "Maximum size: " msgstr "Största storlek: " #: parted/parted.c:1504 #, c-format msgid "Model: %s (%s)\n" msgstr "Modell: %s (%s)\n" #: parted/parted.c:1506 #, c-format msgid "Disk %s: %s\n" msgstr "Disk %s: %s\n" #: parted/parted.c:1507 #, c-format msgid "Sector size (logical/physical): %lldB/%lldB\n" msgstr "Sektorstorlek (logisk/fysisk): %lldB/%lldB\n" #: parted/parted.c:1525 #, c-format msgid "BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s.\n" msgstr "" "BIOS-geometri för cylinder,huvud,sektor: %d,%d,%d. Varje cylinder är %s.\n" #: parted/parted.c:1534 #, c-format msgid "Partition Table: %s\n" msgstr "Partitionstabell: %s\n" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Number" msgstr "Nummer" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Start" msgstr "Början" #: parted/parted.c:1550 parted/parted.c:1553 msgid "End" msgstr "Slut" #: parted/parted.c:1553 msgid "Size" msgstr "Storlek" #: parted/parted.c:1557 msgid "Type" msgstr "Typ" #: parted/parted.c:1559 msgid "File system" msgstr "Filsystem" #: parted/parted.c:1562 msgid "Name" msgstr "Namn" #: parted/parted.c:1564 msgid "Flags" msgstr "Flaggor" #: parted/parted.c:1621 msgid "Free Space" msgstr "Ledigt utrymme" #: parted/parted.c:1782 #, c-format msgid "" "A %s %s partition was found at %s -> %s. Do you want to add it to the " "partition table?" msgstr "" "En %s %s-partition hittades pÃ¥ %s -> %s. Vill du lägga till den till " "partitionstabellen?" #: parted/parted.c:1821 msgid "searching for file systems" msgstr "söker efter filsystem" #: parted/parted.c:2041 msgid "New device?" msgstr "Ny enhet?" #: parted/parted.c:2086 msgid "alignment type(min/opt)" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d aligned\n" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d not aligned\n" msgstr "" #: parted/parted.c:2124 msgid "Flag to Invert?" msgstr "Flagga att invertera?" #: parted/parted.c:2129 msgid "New state?" msgstr "Nytt tillstÃ¥nd?" #: parted/parted.c:2166 msgid "Unit?" msgstr "Enhet?" #: parted/parted.c:2348 #, fuzzy msgid "align-check" msgstr "kontrollera" #: parted/parted.c:2351 msgid "" "align-check TYPE N check partition N for TYPE(min|" "opt) alignment" msgstr "" #: parted/parted.c:2359 msgid "check" msgstr "kontrollera" #: parted/parted.c:2362 msgid "" "check NUMBER do a simple check on the file system" msgstr "" "kontrollera NUMMER gör en enkel kontroll av filsystemet" #: parted/parted.c:2368 msgid "cp" msgstr "kopiera" #: parted/parted.c:2371 msgid "" "cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another " "partition" msgstr "" "kopiera [FRÃ…N ENHET] FRÃ…N-NUMMER TILL-NUMMER kopiera ett filsystem till en " "annan partition" #: parted/parted.c:2377 msgid "help" msgstr "hjälp" #: parted/parted.c:2380 msgid "" "help [COMMAND] print general help, or help on " "COMMAND" msgstr "" "hjälp [KOMMANDO] skriver ut allmän hjälp eller hjälp " "för KOMMANDO" #: parted/parted.c:2386 msgid "mklabel" msgstr "mklabel" #: parted/parted.c:2386 msgid "mktable" msgstr "mktable" #: parted/parted.c:2389 msgid "" "mklabel,mktable LABEL-TYPE create a new disklabel (partition " "table)" msgstr "" "mklabel,mktable ETIKETT-TYP skapa en ny disketikett " "(partitionstabell)" #: parted/parted.c:2395 msgid "mkfs" msgstr "mkfs" #: parted/parted.c:2398 #, fuzzy msgid "" "mkfs NUMBER FS-TYPE make a FS-TYPE file system on " "partition NUMBER" msgstr "" "mkfs NUMMER FS-TYP skapa ett filsystem av typen FS-TYP " "pÃ¥ partititon NUMMER" #: parted/parted.c:2404 msgid "mkpart" msgstr "mkpart" #: parted/parted.c:2407 msgid "mkpart PART-TYPE [FS-TYPE] START END make a partition" msgstr "mkpart PART-TYP [FS-TYP] BÖRJAN SLUT skapa en partition" #: parted/parted.c:2413 msgid "" "'mkpart' makes a partition without creating a new file system on the " "partition. FS-TYPE may be specified to set an appropriate partition ID.\n" msgstr "" "\"mkpart\" skapar en partition utan att skapa ett nytt filsystem pÃ¥ " "partitionen. FS-TYP mÃ¥ste anges för att ställa in ett lämpligt partitions-" "id.\n" #: parted/parted.c:2418 msgid "mkpartfs" msgstr "mkpartfs" #: parted/parted.c:2421 msgid "" "mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system" msgstr "" "mkpartfs PART-TYP FS-TYP BÖRJAN SLUT skapa en partition med ett filsystem" #: parted/parted.c:2427 msgid "move" msgstr "flytta" #: parted/parted.c:2430 msgid "move NUMBER START END move partition NUMBER" msgstr "flytta NUMMER BÖRJAN SLUT flytta partition NUMMER" #: parted/parted.c:2435 msgid "name" msgstr "namn" #: parted/parted.c:2438 msgid "name NUMBER NAME name partition NUMBER as NAME" msgstr "" "namn NUMMER NAMN ge namnet NAMN till partition NUMMER" #: parted/parted.c:2443 msgid "print" msgstr "visa" #: parted/parted.c:2446 msgid "" "print [devices|free|list,all|NUMBER] display the partition table, " "available devices, free space, all found partitions, or a particular " "partition" msgstr "" "visa [devices|free|list,all|NUMMER] visa partitionstabellen, " "tillgängliga enheter, ledigt utrymme, alla partitioner som hittats, eller en " "specifik partition" #: parted/parted.c:2451 msgid "" "Without arguments, 'print' displays the entire partition table. However with " "the following arguments it performs various other actions.\n" msgstr "" "Utan argument sÃ¥ skriver \"visa\" ut hela partitionstabellen. Dock kan " "diverse andra Ã¥tgärder genomföras med följande argument.\n" #: parted/parted.c:2453 msgid " devices : display all active block devices\n" msgstr " devices : visa alla aktiva blockenheter\n" #: parted/parted.c:2454 msgid "" " free : display information about free unpartitioned space on the " "current block device\n" msgstr "" " free : visa information om ledigt, opartitionerat utrymme pÃ¥ den " "aktuella blockenheten\n" #: parted/parted.c:2456 msgid "" " list, all : display the partition tables of all active block devices\n" msgstr " list, all : visa partitionstabellerna pÃ¥ alla aktiva blockenheter\n" #: parted/parted.c:2457 msgid "" " NUMBER : display more detailed information about this particular " "partition\n" msgstr "" " NUMMER : visa mer detaljerad information om denna specifika partition\n" #: parted/parted.c:2462 msgid "quit" msgstr "avsluta" #: parted/parted.c:2465 msgid "quit exit program" msgstr "avsluta avsluta programmet" #: parted/parted.c:2470 msgid "rescue" msgstr "rädda" #: parted/parted.c:2473 msgid "" "rescue START END rescue a lost partition near START " "and END" msgstr "" "rädda BÖRJAN SLUT rädda en förlorad partition nära " "BÖRJAN och SLUT" #: parted/parted.c:2479 msgid "resize" msgstr "ändra_storlek" #: parted/parted.c:2482 msgid "" "resize NUMBER START END resize partition NUMBER and its " "file system" msgstr "" "ändra_storlek NUMMER BÖRJAN SLUT ändra storlek pÃ¥ partition NUMMER " "och dess filsystem" #: parted/parted.c:2490 msgid "rm" msgstr "ta_bort" #: parted/parted.c:2493 msgid "rm NUMBER delete partition NUMBER" msgstr "ta_bort NUMMER ta bort partition NUMMER" #: parted/parted.c:2498 msgid "select" msgstr "välj" #: parted/parted.c:2501 msgid "select DEVICE choose the device to edit" msgstr "välj ENHET välj enheten att redigera" #: parted/parted.c:2506 msgid "set" msgstr "ställ_in" #: parted/parted.c:2509 msgid "" "set NUMBER FLAG STATE change the FLAG on partition NUMBER" msgstr "" "ställ_in NUMMER FLAGGA TILLSTÃ…ND ändra FLAGGAn pÃ¥ partition NUMMER" #: parted/parted.c:2515 msgid "toggle" msgstr "växla" #: parted/parted.c:2518 msgid "" "toggle [NUMBER [FLAG]] toggle the state of FLAG on " "partition NUMBER" msgstr "" "växla [NUMMER [FLAGGA]] växla tillstÃ¥ndet för FLAGGA pÃ¥ " "partition NUMMER" #: parted/parted.c:2524 msgid "unit" msgstr "enhet" #: parted/parted.c:2527 msgid "unit UNIT set the default unit to UNIT" msgstr "" "enhet ENHET ställ in standardenheten till ENHET" #: parted/parted.c:2532 msgid "version" msgstr "version" #: parted/parted.c:2535 msgid "" "version display the version number and " "copyright information of GNU Parted" msgstr "" "version visa versionsnumret och " "upphovsrättslig information om GNU Parted" #: parted/parted.c:2539 msgid "" "'version' displays copyright and version information corresponding to this " "copy of GNU Parted\n" msgstr "" "\"version\" visar information om version och upphovsrätt för denna kopia av " "GNU Parted\n" #: parted/parted.c:2607 #, fuzzy, c-format msgid "Usage: %s [-hlmsv] [-a] [DEVICE [COMMAND [PARAMETERS]]...]\n" msgstr "Användning: %s [-hlmsv] [ENHET [KOMMANDO [PARAMETRAR]]...]\n" #: parted/parted.c:2651 msgid "No device found" msgstr "Ingen enhet hittades" #: parted/parted.c:2688 msgid "WARNING: You are not superuser. Watch out for permissions." msgstr "VARNING: Du är inte superanvändare. Se upp för rättighetsproblem." #: parted/parted.c:2726 msgid "You may need to update /etc/fstab.\n" msgstr "Du kan behöva att uppdatera /etc/fstab.\n" #: parted/ui.c:162 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n" msgstr "" "Välkommen till GNU Parted! Skriv \"hjälp\" för att visa en lista över " "kommandon.\n" #: parted/ui.c:165 msgid "" "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n" "Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run " "in\n" "interactive mode.\n" msgstr "" "Användning: parted [FLAGGA]... [ENHET [KOMMANDO [PARAMETRAR]...]...]\n" "Tillämpa KOMMANDOn med PARAMETRAR pÃ¥ ENHET. Om inga KOMMANDO(n) anges\n" "körs programmet i interaktivt läge.\n" #: parted/ui.c:170 #, c-format msgid "" "\n" "\n" "You found a bug in GNU Parted! Here's what you have to do:\n" "\n" "Don't panic! The bug has most likely not affected any of your data.\n" "Help us to fix this bug by doing the following:\n" "\n" "Check whether the bug has already been fixed by checking\n" "the last version of GNU Parted that you can find at:\n" "\n" "\thttp://ftp.gnu.org/gnu/parted/\n" "\n" "Please check this version prior to bug reporting.\n" "\n" "If this has not been fixed yet or if you don't know how to check,\n" "please visit the GNU Parted website:\n" "\n" "\thttp://www.gnu.org/software/parted\n" "\n" "for further information.\n" "\n" "Your report should contain the version of this release (%s)\n" "along with the error message below, the output of\n" "\n" "\tparted DEVICE unit co print unit s print\n" "\n" "and the following history of commands you entered.\n" "Also include any additional information about your setup you\n" "consider important.\n" msgstr "" "\n" "\n" "Du har hittat ett fel i GNU Parted! Det här behöver du göra:\n" "\n" "FÃ¥ inte panik! Felet har antagligen inte pÃ¥verkat nÃ¥got av ditt data.\n" "Hjälp oss att rätta till detta fel genom att göra följande:\n" "\n" "Kontrollera huruvida felet redan har rättats till genom att kontrollera\n" "den senaste versionen av GNU Parted som du kan hitta pÃ¥:\n" "\n" "\thttp://ftp.gnu.org/gnu/parted/\n" "\n" "Kontrollera med denna version innan du rapporterar felet.\n" "\n" "Om det inte har rättats till än, eller om du inte vet hur du ska\n" "kontrollera det, sÃ¥ besök webbsidan för GNU Parted:\n" "\n" "\thttp://www.gnu.org/software/parted\n" "\n" "för ytterligare information.\n" "\n" "Din rapport bör innehÃ¥lla versionsnumret för denna utgÃ¥va (%s)\n" "tillsammans med felmeddelandet nedan samt utskriften frÃ¥n\n" "\n" "\tparted ENHET unit co print unit s print\n" "\n" "och följande kommandohistorik som du angav.\n" "Inkludera även ytterligare information om din konfiguration som\n" "du anser vara viktigt att veta.\n" #: parted/ui.c:291 msgid "" "\n" "Command History:\n" msgstr "" "\n" "Kommandohistorik:\n" #: parted/ui.c:354 msgid "" "\n" "Error: SEGV_MAPERR (Address not mapped to object)\n" msgstr "" "\n" "Fel: SEGV_MAPERR (Address not mapped to object)\n" #: parted/ui.c:360 msgid "" "\n" "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n" msgstr "" "\n" "Fel: SEGV_ACCERR (Invalid permissions for mapped object)\n" #: parted/ui.c:365 msgid "" "\n" "Error: A general SIGSEGV signal was encountered.\n" msgstr "" "\n" "Fel: En allmän SIGSEGV-signal pÃ¥träffades.\n" #: parted/ui.c:389 msgid "" "\n" "Error: FPE_INTDIV (Integer: divide by zero)" msgstr "" "\n" "Fel: FPE_INTDIV (Integer: divide by zero)" #: parted/ui.c:394 msgid "" "\n" "Error: FPE_INTOVF (Integer: overflow)" msgstr "" "\n" "Fel: FPE_INTOVF (Integer: overflow)" #: parted/ui.c:399 msgid "" "\n" "Error: FPE_FLTDIV (Float: divide by zero)" msgstr "" "\n" "Fel: FPE_FLTDIV (Float: divide by zero)" #: parted/ui.c:404 msgid "" "\n" "Error: FPE_FLTOVF (Float: overflow)" msgstr "" "\n" "Fel: FPE_FLTOVF (Float: overflow)" #: parted/ui.c:409 msgid "" "\n" "Error: FPE_FLTUND (Float: underflow)" msgstr "" "\n" "Fel: FPE_FLTUND (Float: underflow)" #: parted/ui.c:414 msgid "" "\n" "Error: FPE_FLTRES (Float: inexact result)" msgstr "" "\n" "Fel: FPE_FLTRES (Float: inexact result)" #: parted/ui.c:419 msgid "" "\n" "Error: FPE_FLTINV (Float: invalid operation)" msgstr "" "\n" "Fel: FPE_FLTINV (Float: invalid operation)" #: parted/ui.c:424 msgid "" "\n" "Error: FPE_FLTSUB (Float: subscript out of range)" msgstr "" "\n" "Fel: FPE_FLTSUB (Float: subscript out of range)" #: parted/ui.c:429 msgid "" "\n" "Error: A general SIGFPE signal was encountered." msgstr "" "\n" "Fel: A general SIGFPE signal was encountered." #: parted/ui.c:453 msgid "" "\n" "Error: ILL_ILLOPC (Illegal Opcode)" msgstr "" "\n" "Fel: ILL_ILLOPC (Illegal Opcode)" #: parted/ui.c:458 msgid "" "\n" "Error: ILL_ILLOPN (Illegal Operand)" msgstr "" "\n" "Fel: ILL_ILLOPN (Illegal Operand)" #: parted/ui.c:463 msgid "" "\n" "Error: ILL_ILLADR (Illegal addressing mode)" msgstr "" "\n" "Fel: ILL_ILLADR (Illegal addressing mode)" #: parted/ui.c:468 msgid "" "\n" "Error: ILL_ILLTRP (Illegal Trap)" msgstr "" "\n" "Fel: ILL_ILLTRP (Illegal Trap)" #: parted/ui.c:473 msgid "" "\n" "Error: ILL_PRVOPC (Privileged Opcode)" msgstr "" "\n" "Fel: ILL_PRVOPC (Privileged Opcode)" #: parted/ui.c:478 msgid "" "\n" "Error: ILL_PRVREG (Privileged Register)" msgstr "" "\n" "Fel: ILL_PRVREG (Privileged Register)" #: parted/ui.c:483 msgid "" "\n" "Error: ILL_COPROC (Coprocessor Error)" msgstr "" "\n" "Fel: ILL_COPROC (Coprocessor Error)" #: parted/ui.c:488 msgid "" "\n" "Error: ILL_BADSTK (Internal Stack Error)" msgstr "" "\n" "Fel: ILL_BADSTK (Internal Stack Error)" #: parted/ui.c:493 msgid "" "\n" "Error: A general SIGILL signal was encountered." msgstr "" "\n" "Fel: En allmän SIGILL-signal pÃ¥träffades." #: parted/ui.c:892 #, c-format msgid "invalid token: %s" msgstr "ogiltigt token: %s" #: parted/ui.c:1048 msgid "Expecting a partition number." msgstr "Förväntade ett partitionsnummer." #: parted/ui.c:1057 msgid "Partition doesn't exist." msgstr "Partitionen finns inte." #: parted/ui.c:1077 msgid "Expecting a file system type." msgstr "Förväntade en filsystemstyp." #: parted/ui.c:1084 #, c-format msgid "Unknown file system type \"%s\"." msgstr "Okänd filsystemstyp \"%s\"." #: parted/ui.c:1104 msgid "Expecting a disk label type." msgstr "Förväntade en typ av disketikett." #: parted/ui.c:1202 msgid "Can't create any more partitions." msgstr "Kan inte skapa nÃ¥gra fler partitioner." #: parted/ui.c:1212 msgid "Expecting a partition type." msgstr "Förväntade en partitionstyp." #: parted/ui.c:1360 msgid "on" msgstr "pÃ¥" #: parted/ui.c:1361 msgid "off" msgstr "av" #: parted/ui.c:1378 msgid "optimal" msgstr "optimal" #: parted/ui.c:1379 msgid "minimal" msgstr "minimal" #: parted/ui.c:1512 msgid "OPTIONs:" msgstr "FLAGGOR:" #: parted/ui.c:1517 msgid "COMMANDs:" msgstr "KOMMANDON:" #: parted/ui.c:1520 #, fuzzy, c-format msgid "" "\n" "Report bugs to %s\n" msgstr "" "\n" "Rapportera fel till: %s\n" "Skicka synpunkter pÃ¥ översättningen till \n" #: parted/ui.c:1527 #, c-format msgid "Using %s\n" msgstr "Använder %s\n" #: parted/ui.c:1601 msgid "This command does not make sense in non-interactive mode.\n" msgstr "Detta kommando är meningslöst i icke-interaktivt läge.\n" #~ msgid "" #~ "Device %s has a logical sector size of %lld. Not all parts of GNU Parted " #~ "support this at the moment, and the working code is HIGHLY EXPERIMENTAL.\n" #~ msgstr "" #~ "Enheten %s har en logisk sektor-storlek pÃ¥ %lld. Inte alla delar av GNU " #~ "Parted har stöd för detta för stunden, och den fungerande programkoden " #~ "för detta är MYCKET EXPERIMENTIELL.\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: otillÃ¥ten flagga -- %c\n" #~ msgid "Unable to determine the block size of this dasd" #~ msgstr "Kunde inte fastställa blockstorleken pÃ¥ denna dasd" #~ msgid "" #~ "The sector size on %s is %d bytes. Parted is known not to work properly " #~ "with drives with sector sizes other than 512 bytes" #~ msgstr "" #~ "Sektorstorleken pÃ¥ %s är %d byte. Parted fungerar inte bra pÃ¥ skivor med " #~ "annan sektorstorlek än 512 byte" #~ msgid "Device %s has dodgey geometry." #~ msgstr "Enheten %s har märklig geometri." #~ msgid "unknown" #~ msgstr "okänd" parted-2.3/po/de.po0000644000000000000000000033047111400005704011071 00000000000000# translation of parted-1.8.8.po to German # German message for GNU parted. # Copyright (C) 1999, 2000, 2001, 2002, 2007 Free Software Foundation, Inc. # # # Martin Ereth , 2007. # Martin von Löwis , 1999, 2000, 2001, 2002. msgid "" msgstr "" "Project-Id-Version: parted-1.8.8\n" "Report-Msgid-Bugs-To: bug-parted@gnu.org\n" "POT-Creation-Date: 2010-05-28 20:30+0200\n" "PO-Revision-Date: 2007-08-15 12:16+0200\n" "Last-Translator: Martin Ereth \n" "Language-Team: German \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" #: lib/argmatch.c:133 #, fuzzy, c-format msgid "invalid argument %s for %s" msgstr "Unbekanntes Zeichen: %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "" #: lib/argmatch.c:153 #, fuzzy, c-format msgid "Valid arguments are:" msgstr "Unbekanntes Zeichen: %s" #: lib/closeout.c:112 libparted/labels/fdasd.c:107 msgid "write error" msgstr "Schreibfehler" #: lib/error.c:181 msgid "Unknown system error" msgstr "Unbekannter Systemfehler" #: lib/getopt.c:527 lib/getopt.c:543 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous\n" msgstr "%s: Die Option `%s' ist mehrdeutig\n" #: lib/getopt.c:576 lib/getopt.c:580 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: Die Option `%s' erlaubt kein Argument\n" #: lib/getopt.c:589 lib/getopt.c:594 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: Die Option `%c%s' erlaubt kein Argument\n" #: lib/getopt.c:637 lib/getopt.c:656 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: Die Option `%s' benötigt ein Argument\n" #: lib/getopt.c:694 lib/getopt.c:697 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: Unbekannte Option `--%s'\n" #: lib/getopt.c:705 lib/getopt.c:708 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: unbekannte Option `%c%s'\n" #: lib/getopt.c:757 lib/getopt.c:760 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: ungültige Option -- %c\n" #: lib/getopt.c:810 lib/getopt.c:827 lib/getopt.c:1035 lib/getopt.c:1053 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: Die Option benötigt ein Argument -- %c\n" #: lib/getopt.c:883 lib/getopt.c:899 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: Die Option `-W %s' ist mehrdeutig\n" #: lib/getopt.c:923 lib/getopt.c:941 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: Die Option `-W %s' erlaubt kein Argument\n" #: lib/getopt.c:962 lib/getopt.c:980 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: Die Option `%s' benötigt ein Argument\n" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". If the catalog has no translation, #. locale_quoting_style quotes `like this', and #. clocale_quoting_style quotes "like this". #. #. For example, an American English Unicode locale should #. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and #. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION #. MARK). A British English Unicode locale should instead #. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) #. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. #. #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. #: lib/quotearg.c:272 msgid "`" msgstr "`" #: lib/quotearg.c:273 msgid "'" msgstr "'" #: lib/regcomp.c:134 msgid "Success" msgstr "Erfolg" #: lib/regcomp.c:137 msgid "No match" msgstr "Keine Übereinstimmung" #: lib/regcomp.c:140 msgid "Invalid regular expression" msgstr "Ungültiger regulärer Ausdruck" #: lib/regcomp.c:143 msgid "Invalid collation character" msgstr "Ungültiger Sortierbuchstabe" #: lib/regcomp.c:146 msgid "Invalid character class name" msgstr "Ungültiger Klassenname des Buchstabens" #: lib/regcomp.c:149 msgid "Trailing backslash" msgstr "Angehängter umgekehrter Schrägstrich" #: lib/regcomp.c:152 msgid "Invalid back reference" msgstr "Ungültige Zurück-Referenz" #: lib/regcomp.c:155 msgid "Unmatched [ or [^" msgstr "Nicht gefunden: [ oder [^" #: lib/regcomp.c:158 msgid "Unmatched ( or \\(" msgstr "Nicht gefunden: ( oder \\(" #: lib/regcomp.c:161 msgid "Unmatched \\{" msgstr "Nicht gefunden: \\{" #: lib/regcomp.c:164 msgid "Invalid content of \\{\\}" msgstr "Ungültiger Inhalt in \\{\\}" #: lib/regcomp.c:167 msgid "Invalid range end" msgstr "Ungültiges Ende des Bereichs" #: lib/regcomp.c:170 msgid "Memory exhausted" msgstr "Speicher erschöpft" #: lib/regcomp.c:173 msgid "Invalid preceding regular expression" msgstr "Vorrausgehender ungültiger regülärer Ausdruck" #: lib/regcomp.c:176 msgid "Premature end of regular expression" msgstr "Verfrühtes Ende des regülären Ausdrucks" #: lib/regcomp.c:179 msgid "Regular expression too big" msgstr "Regulärer Ausdruck zu groß" #: lib/regcomp.c:182 msgid "Unmatched ) or \\)" msgstr "Nicht gefunden: ) oder \\)" #: lib/regcomp.c:703 msgid "No previous regular expression" msgstr "Kein regulärer Ausdruck vorher" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[jJ]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nN]" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "(C)" #: lib/version-etc.c:86 #, fuzzy msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "Lizenz GPLv3+: GNU GPL Version 3 oder später \n" "Dies ist freie Software: Es ist Ihnen freigestellt sie zu verändern und zu " "verbreiten.\n" "Es gibt in dem gesetzlichen gegebenen Umfang KEINE GARANTIE.\n" "\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Geschrieben von %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Geschrieben von %s und %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Geschrieben von %s, %s und %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "Geschrieben von %s, %s, %s und %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Geschrieben von %s, %s, %s,\n" "%s und %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Geschrieben von %s, %s, %s,\n" "%s, %s und %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Geschrieben von %s, %s, %s,\n" "%s, %s, %s und %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Geschrieben von %s, %s, %s,\n" "%s, %s, %s, %s\n" "und %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Geschrieben von %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s und %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Geschrieben von %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s und anderen.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, fuzzy, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Fehler an <%s> berichten.\n" #: lib/version-etc.c:247 #, fuzzy, c-format msgid "Report %s bugs to: %s\n" msgstr "" "\n" "Fehler an <%s> berichten.\n" #: lib/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "" #: lib/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "" #: lib/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" #: lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "Speicher erschöpft" #: lib/xstrtol-error.c:63 #, fuzzy, c-format msgid "invalid %s%s argument `%s'" msgstr "Unbekanntes Zeichen: %s" #: lib/xstrtol-error.c:68 #, fuzzy, c-format msgid "invalid suffix in %s%s argument `%s'" msgstr "Unbekanntes Zeichen: %s" #: lib/xstrtol-error.c:72 #, fuzzy, c-format msgid "%s%s argument `%s' too large" msgstr "Unbekanntes Zeichen: %s" #: libparted/arch/beos.c:245 msgid "Disk Image" msgstr "Speicherabbild" #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277 #: libparted/arch/linux.c:1519 #, c-format msgid "Error opening %s: %s" msgstr "Fehler beim Öffnen von %s: %s" #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287 #: libparted/arch/linux.c:1530 #, c-format msgid "Unable to open %s read-write (%s). %s has been opened read-only." msgstr "Kann %s nicht zum Schreiben öffnen (%s). %s wurde nur lesbar geöffnet." #: libparted/arch/beos.c:419 libparted/arch/linux.c:1688 #, c-format msgid "%s during seek for read on %s" msgstr "%s, während %s zum Lesen positioniert wurde" #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564 #: libparted/arch/gnu.c:692 libparted/arch/linux.c:1648 #: libparted/arch/linux.c:1729 #, c-format msgid "%s during read on %s" msgstr "%s, während von %s gelesen wurde" #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525 #: libparted/arch/linux.c:1805 #, c-format msgid "Can't write to %s, because it is opened read-only." msgstr "" "Auf %s kann nicht geschrieben werden, weil es nur-lesend geöffnet wurde." #: libparted/arch/beos.c:504 libparted/arch/linux.c:1830 #, c-format msgid "%s during seek for write on %s" msgstr "%s, während %s zum Schreiben positioniert wurde" #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646 #: libparted/arch/gnu.c:723 libparted/arch/linux.c:1778 #: libparted/arch/linux.c:1872 libparted/arch/linux.c:1944 #, c-format msgid "%s during write on %s" msgstr "%s, während auf %s geschrieben wurde" #: debug/clearfat/clearfat.c:62 partprobe/partprobe.c:137 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Versuchen Sie `%s --help' für mehr Informationen\n" #: debug/clearfat/clearfat.c:66 #, c-format msgid "" "Usage: %s [OPTION]\n" " or: %s DEVICE MINOR\n" msgstr "" "Aufruf: %s [OPTION]\n" " oder: %s GERÄT NUMMER\n" #: debug/clearfat/clearfat.c:69 msgid "" "Clear unused space on a FAT partition (a GNU Parted testing tool).\n" "\n" msgstr "" "Unbenutzten Speicherplatz auf einer FAT-Partiton löschen (ein GNU Parted-" "Test-Programm)\n" "\n" #: debug/clearfat/clearfat.c:73 msgid " --help display this help and exit\n" msgstr " --help diese Hilfe anzeigen und beenden\n" #: debug/clearfat/clearfat.c:74 msgid " --version output version information and exit\n" msgstr " --version Versionsangaben ausgeben und beenden\n" #: debug/clearfat/clearfat.c:76 partprobe/partprobe.c:154 #, c-format msgid "" "\n" "Report bugs to <%s>.\n" msgstr "" "\n" "Fehler an <%s> berichten.\n" #: debug/clearfat/clearfat.c:284 #, c-format msgid "too few arguments" msgstr "zu wenige Argumente" #: debug/clearfat/clearfat.c:289 #, c-format msgid "too many arguments" msgstr "Zu viele falsche Argumente" #: debug/clearfat/clearfat.c:297 #, fuzzy, c-format msgid "invalid minor device number: %s" msgstr "Unbekanntes Zeichen: %s" #: partprobe/partprobe.c:141 #, c-format msgid "Usage: %s [OPTION] [DEVICE]...\n" msgstr "Aufruf: %s [OPTION] [GERÄT]...\n" #: partprobe/partprobe.c:142 msgid "" "Inform the operating system about partition table changes.\n" "\n" " -d, --dry-run do not actually inform the operating system\n" " -s, --summary print a summary of contents\n" " -h, --help display this help and exit\n" " -v, --version output version information and exit\n" msgstr "" "Dem Betriebssystem Änderungen an der Partitionstabelle mitteilen.\n" "\n" " -d, --dry-run das Betriebssystem nicht informieren\n" " -s, --summary eine Zusammenfassung der Inhalte ausgeben\n" " -h, --help diese Hilfe anzeigen und beenden\n" " -v, --version Versionsangaben ausgeben und beenden\n" #: partprobe/partprobe.c:150 msgid "" "\n" "When no DEVICE is given, probe all partitions.\n" msgstr "" "\n" "Ohne GERÄT, alle Partitionen testen.\n" #: libparted/arch/gnu.c:110 #, c-format msgid "Unable to open %s." msgstr "%s kann nicht geöffnet werden." #: libparted/arch/gnu.c:130 msgid "Unable to probe store." msgstr "Der Speicher konnte nicht untersucht werden." #: libparted/arch/gnu.c:368 msgid "" "The partition table cannot be re-read. This means you need to reboot before " "mounting any modified partitions. You also need to reinstall your boot " "loader before you reboot (which may require mounting modified partitions). " "It is impossible do both things! So you'll need to boot off a rescue disk, " "and reinstall your boot loader from the rescue disk. Read section 4 of the " "Parted User documentation for more information." msgstr "" "Die Partitionstabelle konnte nicht neu gelesen werden. Sie müssen also den " "Rechner neu hochfahren, bevor Sie geänderte Partitionen einhängen. Sie " "müssen auch Ihren Bootlader vor dem Booten neu installieren (was u.U. das " "Einhängen geänderter Partitionen erfordert). Man kann nicht beides tun! Also " "müssen Sie von einer Rettungsdiskette booten und ihren Bootlader von dort " "neu installieren. Lesen Sie Abschnitt 4 der Benutzerdokumentation von Parted " "für mehr Informationen." #: libparted/arch/gnu.c:385 #, c-format msgid "" "The partition table on %s cannot be re-read (%s). This means the Hurd knows " "nothing about any modifications you made. You should reboot your computer " "before doing anything with %s." msgstr "" "Die Partitionstabelle auf %s konnte nicht neu eingelesen werden (%s). Das " "bedeutet, dass das Hurd nichts über Ihre Änderungen weiss. Sie sollten den " "Computer neu starten, bevor Sie irgendwas mit %s machen." #: libparted/arch/gnu.c:396 parted/parted.c:2719 msgid "" "You should reinstall your boot loader before rebooting. Read section 4 of " "the Parted User documentation for more information." msgstr "" "Vor einem Neustart sollten Sie Ihren Bootlader neu installieren. Lesen Sie " "den Abschnitt 4 der Benutzerdokumentation von Parted für mehr Informationen." #: libparted/arch/gnu.c:788 #, c-format msgid "%s trying to sync %s to disk" msgstr "%s beim Versuch, %s auf die Platte zu speichern (sync)" # cformat removed for testing #: libparted/arch/linux.c:509 #, c-format msgid "Could not stat device %s - %s." msgstr "Ruf von stat für Gerät %s schlug fehl - %s." #: libparted/arch/linux.c:566 #, fuzzy, c-format msgid "Unable to determine the dm type of %s." msgstr "Die Größe von %s kann nicht festgestellt werden (%s)." #: libparted/arch/linux.c:658 #, fuzzy, c-format msgid "" "Could not determine sector size for %s: %s.\n" "Using the default sector size (%lld)." msgstr "" "Die Sektorgröße von %s konnte nicht ermittelt werden: %s.\n" "Es wird die Standardsektorgröße verwendet (%lld)." #: libparted/arch/linux.c:679 #, fuzzy, c-format msgid "" "Could not determine physical sector size for %s.\n" "Using the logical sector size (%lld)." msgstr "" "Die Sektorgröße von %s konnte nicht ermittelt werden: %s.\n" "Es wird die Standardsektorgröße verwendet (%lld)." #: libparted/arch/linux.c:728 #, c-format msgid "Unable to determine the size of %s (%s)." msgstr "Die Größe von %s kann nicht festgestellt werden (%s)." #: libparted/arch/linux.c:814 #, c-format msgid "Could not get identity of device %s - %s" msgstr "Die Identität von Gerät %s konnte nicht ermittelt werden - %s" #: libparted/arch/linux.c:823 msgid "Generic IDE" msgstr "Standard IDE" #: libparted/arch/linux.c:844 #, c-format msgid "" "Device %s has multiple (%d) logical sectors per physical sector.\n" "GNU Parted supports this EXPERIMENTALLY for some special disk label/file " "system combinations, e.g. GPT and ext2/3.\n" "Please consult the web site for up-to-date information." msgstr "" "Das Gerät %s hat mehrere (%d) logische Sektoren pro physischem Sektor.\n" "GNU Parted unterstützt dies EXPERIMENTELL für einige spezielle " "Plattenkennungen/Dateisystem-Kombinationen, z.B.: GPT und ext2/3.\n" "Bitte besuchen Sie die Webseite für aktuelle Informationen." #: libparted/arch/linux.c:1019 #, c-format msgid "Error initialising SCSI device %s - %s" msgstr "Fehler in der Initialisierung von SCSI-Gerät %s - %s" #: libparted/arch/linux.c:1083 #, c-format msgid "" "The device %s has zero length, and can't possibly store a file system or " "partition table. Perhaps you selected the wrong device?" msgstr "" "Das Gerät %s hat die Länge 0 und kann unmöglich ein Dateisystem oder eine " "Partitionstabelle speichern. Vielleicht haben Sie das falsche Gerät " "ausgewählt?" #: libparted/arch/linux.c:1190 #, c-format msgid "" "Unable to determine geometry of file/device %s. You should not use Parted " "unless you REALLY know what you're doing!" msgstr "" "Geometrie von Datei/Gerät %s konnte nicht ermittelt werden. Sie sollten " "Parted nicht verwenden, wenn sie nicht WIRKLICH wissen, was Sie tun!" #: libparted/arch/linux.c:1250 msgid "Generic SD/MMC Storage Card" msgstr "" #: libparted/arch/linux.c:1303 msgid "DAC960 RAID controller" msgstr "DAC960 RAID controller" #: libparted/arch/linux.c:1308 msgid "Promise SX8 SATA Device" msgstr "Promise SX8 SATA Device" #: libparted/arch/linux.c:1313 msgid "ATA over Ethernet Device" msgstr "" #: libparted/arch/linux.c:1319 msgid "IBM S390 DASD drive" msgstr "IBM S390 DASD drive" #: libparted/arch/linux.c:1325 msgid "IBM iSeries Virtual DASD" msgstr "IBM iSeries Virtual DASD" #: libparted/arch/linux.c:1330 msgid "Compaq Smart Array" msgstr "Compaq Smart Array" #: libparted/arch/linux.c:1335 msgid "ATARAID Controller" msgstr "ATARAID Controller" #: libparted/arch/linux.c:1340 msgid "I2O Controller" msgstr "I20 controller" #: libparted/arch/linux.c:1345 msgid "User-Mode Linux UBD" msgstr "User-Mode Linux UBD" #: libparted/arch/linux.c:1358 #, fuzzy, c-format msgid "Linux device-mapper (%s)" msgstr "Linux device-mapper" #: libparted/arch/linux.c:1369 msgid "Xen Virtual Block Device" msgstr "Xen Virtuelles Blockorientiertes Gerät" #: libparted/arch/linux.c:1374 msgid "Unknown" msgstr "Unbekannt" #: libparted/arch/linux.c:1383 #, fuzzy msgid "Virtio Block Device" msgstr "Xen Virtuelles Blockorientiertes Gerät" #: libparted/arch/linux.c:1388 msgid "Linux Software RAID Array" msgstr "" #: libparted/arch/linux.c:1395 msgid "ped_device_new() Unsupported device type" msgstr "ped_device_new() Nicht unterstützter Gerätetyp" #: libparted/arch/linux.c:1492 libparted/arch/linux.c:1564 #, fuzzy, c-format msgid "Error fsyncing/closing %s: %s" msgstr "Fehler beim Öffnen von %s: %s" #: libparted/arch/linux.c:1728 #, c-format msgid "end of file while reading %s" msgstr "" #: libparted/arch/linux.c:2365 #, c-format msgid "" "Error informing the kernel about modifications to partition %s -- %s. This " "means Linux won't know about any changes you made to %s until you reboot -- " "so you shouldn't mount it or use it in any way before rebooting." msgstr "" "Fehler beim Informieren des Kernels über Änderungen an der Partition %s -- " "%s. Das bedeutet, dass Linux Ihre Änderungen an %s vor einem Neustart nicht " "sehen wird. Sie sollten daher die Partition nicht einhängen oder sonst " "irgendwie benutzen, bis Sie den Rechner neu gestartet haben." #: libparted/arch/linux.c:2503 #, fuzzy, c-format msgid "Unable to determine the size and length of %s." msgstr "Die Größe von %s kann nicht festgestellt werden (%s)." #: libparted/arch/linux.c:2528 #, fuzzy, c-format msgid "Failed to add partition %d (%s)" msgstr "%s : Der Partitionsblock %llu kann nicht gelesen werden\n" #: libparted/arch/linux.c:2555 #, c-format msgid "" "Partition(s) %s on %s have been written, but we have been unable to inform " "the kernel of the change, probably because it/they are in use. As a result, " "the old partition(s) will remain in use. You should reboot now before " "making further changes." msgstr "" #: libparted/arch/linux.c:2681 #, c-format msgid "" "parted was unable to re-read the partition table on %s (%s). This means " "Linux won't know anything about the modifications you made. " msgstr "" "Parted konnte die Partitionstabelle von %s nicht neu einlesen (%s). Das " "bedeutet, dass Linux bis zum Neustart nichts über Ihrer Modifikationen " "weiss. " #: libparted/cs/geom.c:162 #, fuzzy, c-format msgid "Can't have the end before the start! (start sector=%jd length=%jd)" msgstr "Das Ende kommt nicht vor dem Anfang!" #: libparted/cs/geom.c:170 msgid "Can't have a partition outside the disk!" msgstr "Partitionen ausserhalb der Festplatte sind nicht möglich!" #: libparted/cs/geom.c:385 #, c-format msgid "Attempt to write sectors %ld-%ld outside of partition on %s." msgstr "" "Versuch, die Sektoren %ld-%ld außerhalb der Partition auf %s zu schreiben." #: libparted/cs/geom.c:425 libparted/fs/linux_swap/linux_swap.c:488 msgid "checking for bad blocks" msgstr "Suche nach defekten Blöcken" #: libparted/debug.c:97 #, c-format msgid "Backtrace has %d calls on stack:\n" msgstr "Die Ablaufverfolgung hat %d Aufrufe auf dem Stack:\n" #: libparted/debug.c:110 #, c-format msgid "Assertion (%s) at %s:%d in function %s() failed." msgstr "Aussage (%s) bei %s:%d in der Funktion %s() fehlgeschlagen." #: libparted/disk.c:193 #, c-format msgid "%s: unrecognised disk label" msgstr "%s: unbekannte Partitionstabelle" #: libparted/disk.c:486 #, c-format msgid "" "This libparted doesn't have write support for %s. Perhaps it was compiled " "read-only." msgstr "" "Der libparted fehlt die Schreibunterstützung für %s. Vielleicht wurde sie " "nur lesbar übersetzt." #: libparted/disk.c:631 #, c-format msgid "Partition %d is %s, but the file system is %s." msgstr "Die Partition %d hat %s, aber das Dateisystem hat %s." #: libparted/disk.c:841 msgid "cylinder_alignment" msgstr "" #: libparted/disk.c:847 #, fuzzy, c-format msgid "Unknown disk flag, %d." msgstr "Unbekanntes Partitionsflag %d." #: libparted/disk.c:1286 #, c-format msgid "%s disk labels do not support extended partitions." msgstr "%s-Disk-Labels unterstützen keine erweiterten Partitionen." #: libparted/disk.c:1865 #, c-format msgid "%s disk labels don't support logical or extended partitions." msgstr "" "%s-Disk-Labels unterstützen keine logischen oder erweiterten Partitionen." #: libparted/disk.c:1878 msgid "Too many primary partitions." msgstr "Zu viele primäre Partitionen." #: libparted/disk.c:1887 #, c-format msgid "" "Can't add a logical partition to %s, because there is no extended partition." msgstr "" "Zu %s kann keine logische Partition hinzugefügt werden, da es keine " "erweiterte Partition gibt." #: libparted/disk.c:1911 #, c-format msgid "Can't have more than one extended partition on %s." msgstr "Auf %s kann es nicht mehr als eine erweiterte Partition geben." #: libparted/disk.c:1921 msgid "Can't have logical partitions outside of the extended partition." msgstr "" "Logische Partitionen können nicht außerhalb der erweiterten Partition sein." #: libparted/disk.c:1946 #, c-format msgid "Can't have a logical partition outside of the extended partition on %s." msgstr "" "Außerhalb der erweiterten Partition auf %s kann keine logische Partition " "existieren." #: libparted/disk.c:1956 libparted/disk.c:2015 libparted/disk.c:2193 msgid "Can't have overlapping partitions." msgstr "Es können keine überlappenden Partitionen existieren." #: libparted/disk.c:1964 msgid "Can't have a primary partition inside an extended partition." msgstr "Es kann keine primäre Partition in einer erweiterten Partition sein." #: libparted/disk.c:2395 msgid "metadata" msgstr "Metadaten" #: libparted/disk.c:2397 msgid "free" msgstr "frei" #: libparted/disk.c:2399 parted/ui.c:1193 parted/ui.c:1221 msgid "extended" msgstr "erweitert" #: libparted/disk.c:2401 parted/ui.c:1197 parted/ui.c:1225 msgid "logical" msgstr "logisch" #: libparted/disk.c:2403 parted/ui.c:1189 parted/ui.c:1217 msgid "primary" msgstr "primär" #: libparted/disk.c:2419 msgid "boot" msgstr "boot" #: libparted/disk.c:2421 msgid "bios_grub" msgstr "" #: libparted/disk.c:2423 msgid "root" msgstr "root" #: libparted/disk.c:2425 msgid "swap" msgstr "swap" #: libparted/disk.c:2427 msgid "hidden" msgstr "versteckt" #: libparted/disk.c:2429 msgid "raid" msgstr "raid" #: libparted/disk.c:2431 msgid "lvm" msgstr "lvm" #: libparted/disk.c:2433 msgid "lba" msgstr "lba" #: libparted/disk.c:2435 msgid "hp-service" msgstr "hp-service" #: libparted/disk.c:2437 msgid "palo" msgstr "palo" #: libparted/disk.c:2439 msgid "prep" msgstr "prep" #: libparted/disk.c:2441 msgid "msftres" msgstr "msftres" #: libparted/disk.c:2443 msgid "atvrecv" msgstr "" #: libparted/disk.c:2445 msgid "diag" msgstr "" #: libparted/disk.c:2451 #, c-format msgid "Unknown partition flag, %d." msgstr "Unbekanntes Partitionsflag %d." #: libparted/exception.c:77 msgid "Information" msgstr "Information" #: libparted/exception.c:78 msgid "Warning" msgstr "Warnung" #: libparted/exception.c:79 msgid "Error" msgstr "Fehler" #: libparted/exception.c:80 msgid "Fatal" msgstr "Fataler Fehler" #: libparted/exception.c:81 msgid "Bug" msgstr "Bug" #: libparted/exception.c:82 msgid "No Implementation" msgstr "Keine Implementierung" #: libparted/exception.c:86 msgid "Fix" msgstr "Fix" #: libparted/exception.c:87 msgid "Yes" msgstr "Ja" #: libparted/exception.c:88 msgid "No" msgstr "Nein" #: libparted/exception.c:89 msgid "OK" msgstr "OK" #: libparted/exception.c:90 msgid "Retry" msgstr "Wiederholen" #: libparted/exception.c:91 msgid "Ignore" msgstr "Ignorieren" #: libparted/exception.c:92 msgid "Cancel" msgstr "Abbrechen" #: libparted/exception.c:132 #, fuzzy, c-format msgid "" "A bug has been detected in GNU Parted. Refer to the web site of parted " "http://www.gnu.org/software/parted/parted.html for more information of what " "could be useful for bug submitting! Please email a bug report to bug-" "parted@gnu.org containing at least the version (%s) and the following " "message: " msgstr "" "Es wurde ein Bug in GNU parted entdeckt. Bitte lesen Sie die Webseite http://" "www.gnu.org/software/parted/parted.html für Informationen, was wichtig für " "einen Fehlerbericht sein könnte. Bitte senden Sie einen Fehlerbericht an bug-" "parted@gnu.org unter Angabe der Version (%s) und der folgenden Meldung: " #: libparted/filesys.c:462 msgid "Could not detect file system." msgstr "Dateisystem wurde nicht erkannt." #: libparted/filesys.c:473 msgid "The file system is bigger than its volume!" msgstr "Das Dateisystem ist größer als sein Datenträger!" #: libparted/filesys.c:481 #, c-format msgid "Support for opening %s file systems is not implemented yet." msgstr "" "Die Unterstützung für das Öffnen von Dateisystemen ist für %s noch nicht " "implementiert." #: libparted/filesys.c:523 #, c-format msgid "Support for creating %s file systems is not implemented yet." msgstr "Erzeugung von Dateisystemen ist für %s noch nicht implementiert." #: libparted/filesys.c:583 #, c-format msgid "Support for checking %s file systems is not implemented yet." msgstr "Überprüfung von Dateisystemen ist für %s noch nicht implementiert." #: libparted/filesys.c:649 msgid "raw block copying" msgstr "Kopieren von Blöcken vom Typ \"raw\"" #: libparted/filesys.c:660 msgid "growing file system" msgstr "Dateisystem wird vergrößert" #: libparted/filesys.c:700 msgid "Can't copy onto an overlapping partition." msgstr "Auf überlappende Partitionen kann nicht kopiert werden." #: libparted/filesys.c:722 #, c-format msgid "" "Direct support for copying file systems is not yet implemented for %s. " "However, support for resizing is implemented. Therefore, the file system " "can be copied if the new partition is at least as big as the old one. So, " "either shrink the partition you are trying to copy, or copy to a bigger " "partition." msgstr "" "Direkte Unterstützung für das Kopieren von Dateisystemen ist für %s noch " "nicht implementiert, Größenänderungen sind aber unterstützt. Deshalb kann " "das Dateisystem kopiert werden, wenn die neue Partition mindestens so groß " "ist, wie die alte. Also sollten Sie entweder die Partition, die Sie kopieren " "wollen, verkleinern, oder auf eine größere Partition kopieren." #: libparted/filesys.c:736 #, c-format msgid "Support for copying %s file systems is not implemented yet." msgstr "Kopieren von Dateisystemen ist für %s noch nicht implementiert." #: libparted/filesys.c:774 #, c-format msgid "Support for resizing %s file systems is not implemented yet." msgstr "Größenänderung von Dateisystemen ist für %s noch nicht implementiert." #: libparted/fs/reiserfs/reiserfs.c:315 msgid "creating" msgstr "erstellen" #: libparted/fs/reiserfs/reiserfs.c:402 msgid "The file system is in an invalid state. Perhaps it is mounted?" msgstr "" "Das Dateisystem hat einen ungültigen Status. Ist es vielleicht eingebunden?" #: libparted/fs/reiserfs/reiserfs.c:410 msgid "The file system is in old (unresizeable) format." msgstr "" "Das Dateisystem ist in einem alten (nicht vergrößerbaren/verkleinerbaren) " "Format." #: libparted/fs/reiserfs/reiserfs.c:416 msgid "Invalid free blocks count. Run reiserfsck --check first." msgstr "" "Ungültige Anzahl freier Blöcke. Führen Sie zuerst reiserfsck --check aus." #: libparted/fs/reiserfs/reiserfs.c:431 msgid "checking" msgstr "prüfen" #: libparted/fs/reiserfs/reiserfs.c:437 msgid "Reiserfs tree seems to be corrupted. Run reiserfsck --check first." msgstr "" "Der Reiserfs-Baum scheint beschädigt zu sein. Führen Sie zuerst reiserfsck --" "check aus." #: libparted/fs/reiserfs/reiserfs.c:449 msgid "" "The reiserfs file system passed a basic check. For a more comprehensive " "check, run reiserfsck --check." msgstr "" "Das Reiserfs-Dateisystem hat die Basisprüfung bestanden. Um eine " "ausführlichere Prüfung auszuführen, führen Sie reiserfsck --check aus." #: libparted/fs/reiserfs/reiserfs.c:474 msgid "Sorry, can't move the start of reiserfs partitions yet." msgstr "" "Leider kann der Anfang von Reiserfs-Partitionen noch nicht verschoben werden." #: libparted/fs/reiserfs/reiserfs.c:490 msgid "Couldn't reopen device abstraction layer for read/write." msgstr "" "Die Abstraktionsschicht kann nicht erneut zum lesen/schreiben geöffnet " "werden." #: libparted/fs/reiserfs/reiserfs.c:508 libparted/fs/ext2/ext2_resize.c:552 #: libparted/fs/hfs/hfs.c:250 libparted/fs/hfs/hfs.c:629 msgid "shrinking" msgstr "verkleinern" #: libparted/fs/reiserfs/reiserfs.c:520 msgid "expanding" msgstr "vergrößern" #: libparted/fs/reiserfs/reiserfs.c:592 msgid "Couldn't create reiserfs device abstraction handler." msgstr "" "Der Reiserfs-Gerät-Abstraktions-Handhaber konnte nicht erstellt werden." #: libparted/fs/reiserfs/reiserfs.c:606 #, c-format msgid "Device is too small for %lu blocks." msgstr "Das Gerät ist für %lu Blöcke zu klein." #: libparted/fs/reiserfs/reiserfs.c:615 msgid "copying" msgstr "kopieren" #: libparted/fs/reiserfs/reiserfs.c:682 #, c-format msgid "Couldn't resolve symbol %s. Error: %s." msgstr "Das Symbol %s konnte nicht aufgelöst werden. Fehler: %s." #: libparted/fs/reiserfs/reiserfs.c:704 msgid "GNU Parted found an invalid libreiserfs library." msgstr "GNU Parted hat eine ungültige libreiserfs-Bibliothek gefunden." #: libparted/fs/reiserfs/reiserfs.c:715 #, c-format msgid "" "GNU Parted has detected libreiserfs interface version mismatch. Found %d-" "%d, required %d. ReiserFS support will be disabled." msgstr "" "GNU Parted hat einen Versionskonflikt mit dem libreiserfs-Interface " "festgestellt. Gefunden: %d-%d, benötigt: %d. ReiserFS-Unterstützung wird " "deaktiviert." #: libparted/labels/aix.c:103 msgid "Support for reading AIX disk labels is is not implemented yet." msgstr "" "Unterstützung für das Lesen von AIX-Partitionstabellen ist noch nicht " "implementiert." #: libparted/labels/aix.c:114 msgid "Support for writing AIX disk labels is is not implemented yet." msgstr "" "Unterstützung für das Schreiben von AIX-Partitionstabellen ist noch nicht " "implementiert." #: libparted/labels/aix.c:127 msgid "" "Support for adding partitions to AIX disk labels is not implemented yet." msgstr "" "Unterstützung für das Hinzufügen von Partitionen zu AIX-Partitionstabellen " "ist noch nicht implementiert." #: libparted/labels/aix.c:137 msgid "" "Support for duplicating partitions in AIX disk labels is not implemented yet." msgstr "" "Unterstützung für das Verdoppeln von Partitionen in AIX-Partitionstabellen " "ist noch nicht implementiert." #: libparted/labels/aix.c:155 msgid "" "Support for setting system type of partitions in AIX disk labels is not " "implemented yet." msgstr "" "Unterstützung für das Setzen des Systemtyps von Partitionen in AIX-" "Partitionstabellen ist noch nicht implementiert." #: libparted/labels/aix.c:165 msgid "Support for setting flags in AIX disk labels is not implemented yet." msgstr "" "Unterstützung für das Setzen von Bitschaltern in AIX-Partitionstabellen ist " "noch nicht implementiert." #: libparted/labels/bsd.c:568 libparted/labels/dasd.c:783 #: libparted/labels/dos.c:2092 libparted/labels/dvh.c:788 #: libparted/labels/gpt.c:1750 libparted/labels/loop.c:245 #: libparted/labels/mac.c:1424 libparted/labels/pc98.c:749 #: libparted/labels/rdb.c:1051 libparted/labels/sun.c:821 msgid "Unable to satisfy all constraints on the partition." msgstr "Es können nicht alle Anforderungen an die Partition erfüllt werden." #: libparted/labels/bsd.c:593 msgid "Unable to allocate a bsd disklabel slot." msgstr "Kann keine BSD-Disklabel-Zeile belegen." #: libparted/labels/dasd.c:809 msgid "Unable to allocate a dasd disklabel slot" msgstr "Kann keine dasd Disklabel-Zeile belegen" #: libparted/labels/dos.c:882 #, c-format msgid "Invalid partition table on %s -- wrong signature %x." msgstr "Ungültige Partitionstabelle auf %s -- falsche Signatur %x." #: libparted/labels/dos.c:910 #, c-format msgid "Invalid partition table - recursive partition on %s." msgstr "Ungültige Partitionstabelle - Rekursive Partition auf %s." #: libparted/labels/dos.c:1420 msgid "Extended partitions cannot be hidden on msdos disk labels." msgstr "" "Erweiterte Partitionen können in MS-DOS-Disk-Labels nicht versteckt werden." #: libparted/labels/dos.c:2074 msgid "Parted can't resize partitions managed by Windows Dynamic Disk." msgstr "" "Parted kann von Windows Dynamic Disk verwaltete Partitionen nicht in der " "Größe verändern." #: libparted/labels/dvh.c:201 #, c-format msgid "%s has no extended partition (volume header partition)." msgstr "%s hat keine erweiterte Partition (volume header partition)." #: libparted/labels/dvh.c:327 msgid "Checksum is wrong, indicating the partition table is corrupt." msgstr "" "Die Prüfsumme ist falsch. Das weist auf eine defekte Partitionstabelle hin." #: libparted/labels/dvh.c:632 msgid "Only primary partitions can be root partitions." msgstr "Nur primäre Partitionen können Root-Partitionen sein." #: libparted/labels/dvh.c:646 msgid "Only primary partitions can be swap partitions." msgstr "Nur primäre Partitionen können Swap-Partitionen sein." #: libparted/labels/dvh.c:660 msgid "Only logical partitions can be a boot file." msgstr "Nur logische Partitionen können Boot-Dateien sein." #: libparted/labels/dvh.c:737 #, fuzzy, c-format msgid "" "failed to set dvh partition name to %s:\n" "Only logical partitions (boot files) have a name." msgstr "Nur logische Partitionen (Boot-Dateien) haben einen Namen." #: libparted/labels/dvh.c:830 msgid "Too many primary partitions" msgstr "Zu viele primäre Partitionen" #: libparted/labels/fdasd.c:98 msgid "open error" msgstr "Fehler beim Öffnen" #: libparted/labels/fdasd.c:101 msgid "seek error" msgstr "Fehler beim Suchen" #: libparted/labels/fdasd.c:104 msgid "read error" msgstr "Lesefehler" #: libparted/labels/fdasd.c:110 msgid "ioctl() error" msgstr "ioctl() Fehler" #: libparted/labels/fdasd.c:114 msgid "API version mismatch" msgstr "Versionsunterschied der API" #: libparted/labels/fdasd.c:118 msgid "Unsupported disk type" msgstr " Nicht unterstützter Festplattentyp" #: libparted/labels/fdasd.c:122 msgid "Unsupported disk format" msgstr "Nicht unterstütztes Festplattenfomat" #: libparted/labels/fdasd.c:126 msgid "Disk is in use" msgstr "Festplatte ist in Verwendung" #: libparted/labels/fdasd.c:130 msgid "Syntax error in config file" msgstr "Syntaxfehler in der Konfigurationsdatei" #: libparted/labels/fdasd.c:134 msgid "Volume label is corrupted" msgstr "Die Volumenbezeichnung ist beschädigt" #: libparted/labels/fdasd.c:138 msgid "A data set name is corrupted" msgstr "Ein Datensatzname ist beschädigt" #: libparted/labels/fdasd.c:142 msgid "Memory allocation failed" msgstr "Speicherreservierung ist fehlgeschlagen" #: libparted/labels/fdasd.c:146 msgid "Device verification failed" msgstr "Geräteprüfung fehlgeschlagen" #: libparted/labels/fdasd.c:147 msgid "The specified device is not a valid DASD device" msgstr "Das angegebene Gerät ist kein gültiges DASD-Gerät" #: libparted/labels/fdasd.c:150 libparted/labels/vtoc.c:179 msgid "Fatal error" msgstr "Fataler Fehler" #: libparted/labels/fdasd.c:226 msgid "No room for volume label." msgstr "Kein Platz für eine Volumenbezeichnung." #: libparted/labels/fdasd.c:234 msgid "No room for partition info." msgstr "Kein Platz für Partitionsinformationen." #: libparted/labels/fdasd.c:704 msgid "Invalid VTOC." msgstr "Ungültiges VTOC." #: libparted/labels/fdasd.c:764 msgid "Could not retrieve API version." msgstr "Die API-Version kann nicht abgefragt werden." #: libparted/labels/fdasd.c:767 #, c-format msgid "" "The current API version '%d' doesn't match dasd driver API version '%d'!" msgstr "" "Die aktuelle API-Version '%d' stimmt nicht mit der dasd-Treiber API '%d' " "überein!" #: libparted/labels/fdasd.c:804 msgid "Could not retrieve disk geometry information." msgstr "Die Festplattengeometrie konnte nicht gelesen werden." #: libparted/labels/fdasd.c:808 msgid "Could not retrieve blocksize information." msgstr "Die Blöckgröße konnte nicht gelesen werden." #: libparted/labels/fdasd.c:813 msgid "Could not retrieve disk information." msgstr "Die Festplatteninformationen konnten nicht gelesen werden." #: libparted/labels/fdasd.c:818 msgid "This is not an ECKD disk! This disk type is not supported!" msgstr "" "Dies ist keine ECKD-Festplatte! Dieser Festplattentyp wird nicht " "unterstützt!" #: libparted/labels/gpt.c:485 #, c-format msgid "" "%s contains GPT signatures, indicating that it has a GPT table. However, it " "does not have a valid fake msdos partition table, as it should. Perhaps it " "was corrupted -- possibly by a program that doesn't understand GPT partition " "tables. Or perhaps you deleted the GPT table, and are now using an msdos " "partition table. Is this a GPT partition table?" msgstr "" "%s enthält GPT-Signaturen, die anzeigen, dass es eine GPT-Tabelle hat. Es " "ist jedoch keine gültige vorgetäuschte MSDOS-Partitionstabelle vorhanden, " "die erforderlich wäre. Vielleicht wurde diese zerstört -- eventuell durch " "ein Programm, das GPT-Partitionstabellen nicht versteht. Oder vielleicht " "haben Sie die GPT-Tabelle gelöscht, und verwenden jetzt eine MS-DOS-" "Partitions-Tabelle. Ist dies eine GPT-Partitionstabelle?" #: libparted/labels/gpt.c:680 #, c-format msgid "" "The format of the GPT partition table is version %x, which is newer than " "what Parted can recognise. Please tell us! bug-parted@gnu.org" msgstr "" "Das Format der GPT-Partitionstabelle (%x) ist neuer als das von Parted " "verstandene. Bitte melden Sie das an: bug-parted@gnu.org" #: libparted/labels/gpt.c:727 #, c-format msgid "" "Not all of the space available to %s appears to be used, you can fix the GPT " "to use all of the space (an extra %llu blocks) or continue with the current " "setting? " msgstr "" "Nicht der gesamte verfügbare Platz von %s scheint verwendet. Sie können die " "GPT reparieren, damit der gesamte Platz verwendet wird (zusätzlich %llu " "Blöcke) oder Sie können mit den aktuellen Einstellungen fortfahren." #: libparted/labels/gpt.c:936 msgid "" "The backup GPT table is not at the end of the disk, as it should be. This " "might mean that another operating system believes the disk is smaller. Fix, " "by moving the backup to the end (and removing the old backup)?" msgstr "" "Die Sicherung der GPT-Tabelle ist nicht am Ende der Festplatte, wo sie " "normalerweise sein sollte. Das kann bedeuten, dass ein anderes " "Betriebssystem glaubt, die Festplatte sei kleiner. Soll das durch " "Verschieben der Sicherung zum Ende (und löschen der alten Sicherung) " "korrigiert werden?" #: libparted/labels/gpt.c:960 msgid "" "Both the primary and backup GPT tables are corrupt. Try making a fresh " "table, and using Parted's rescue feature to recover partitions." msgstr "" "Sowohl die primäre als auch die Backup-GPT-Tabelle sind defekt. Versuchen " "Sie, eine neue Tabelle anzulegen und die Partititionen mit Hilfe von " "Parted's Rettungsmöglichkeiten zu restaurieren." #: libparted/labels/gpt.c:971 #, fuzzy msgid "" "The backup GPT table is corrupt, but the primary appears OK, so that will be " "used." msgstr "" "Die primäre GPT-Tabelle ist defekt, aber die Sicherung scheint in Ordnung zu " "sein. Daher wird die Sicherung verwendet." #: libparted/labels/gpt.c:983 msgid "" "The primary GPT table is corrupt, but the backup appears OK, so that will be " "used." msgstr "" "Die primäre GPT-Tabelle ist defekt, aber die Sicherung scheint in Ordnung zu " "sein. Daher wird die Sicherung verwendet." #: libparted/labels/gpt.c:1007 msgid "primary partition table array CRC mismatch" msgstr "" #: libparted/labels/mac.c:185 #, c-format msgid "Invalid signature %x for Mac disk labels." msgstr "Ungültige Signatur %x für Mac-Partitionstabellen." #: libparted/labels/mac.c:232 msgid "Partition map has no partition map entry!" msgstr "Die Partitionskarte hat keinen Partitionskarteneintrag!" #: libparted/labels/mac.c:280 #, c-format msgid "%s is too small for a Mac disk label!" msgstr "%s ist zu klein für eine Mac-Partitionstabelle!" #: libparted/labels/mac.c:509 #, c-format msgid "Partition %d has an invalid signature %x." msgstr "Partition %d hat eine ungültige Signatur %x." #: libparted/labels/mac.c:527 #, c-format msgid "Partition %d has an invalid length of 0 bytes!" msgstr "Partition %d hat eine ungültige Länge von 0 Bytes!" #: libparted/labels/mac.c:558 msgid "The data region doesn't start at the start of the partition." msgstr "Die Datenregion beginnt nicht am Anfang der Partition." #: libparted/labels/mac.c:575 msgid "The boot region doesn't start at the start of the partition." msgstr "Die Bootregion beginnt nicht am Anfang der Partition." #: libparted/labels/mac.c:589 msgid "The partition's boot region doesn't occupy the entire partition." msgstr "Die Bootregion der Partition belegt nicht die ganze Partition." #: libparted/labels/mac.c:600 msgid "The partition's data region doesn't occupy the entire partition." msgstr "Die Datenregion der Partition belegt nicht die ganze Partition." #: libparted/labels/mac.c:653 #, c-format msgid "" "Weird block size on device descriptor: %d bytes is not divisible by 512." msgstr "" "Seltsame Blockgröße auf dem Gerätedeskriptor: %d Bytes ist nicht durch 512 " "teilbar." #: libparted/labels/mac.c:666 #, c-format msgid "" "The driver descriptor says the physical block size is %d bytes, but Linux " "says it is %d bytes." msgstr "" "Der Treiberdeskriptor sagt, dass die physische Blockgröße %d Bytes ist. " "Linux sagt, dass es %d Bytes sind." #: libparted/labels/mac.c:720 msgid "No valid partition map found." msgstr "Keine gültige Partitionskarte gefunden." #: libparted/labels/mac.c:782 #, c-format msgid "" "Conflicting partition map entry sizes! Entry 1 says it is %d, but entry %d " "says it is %d!" msgstr "" "Widersprüchliche Größen in den Partitionskarteneinträgen! Eintrag 1 sagt, " "dass es %d Bytes sind, Eintrag %d sagt aber, dass es %d Bytes sind!" #: libparted/labels/mac.c:809 msgid "Weird! There are 2 partitions map entries!" msgstr "Seltsam! Es gibt 2 Partitionskarteneinträge!" #: libparted/labels/mac.c:1355 msgid "" "Changing the name of a root or swap partition will prevent Linux from " "recognising it as such." msgstr "" "Eine Änderung des Namens der Root- oder Swap-Partition verhindert, dass " "Linux sie als solche erkennt." #: libparted/labels/mac.c:1459 msgid "Can't add another partition -- the partition map is too small!" msgstr "" "Eine weitere Partition kann nicht hinzugefügt werden -- die Partitionskarte " "ist zu klein!" #: libparted/labels/pc98.c:331 #, c-format msgid "Invalid partition table on %s." msgstr "Ungültige Partitionstabelle auf %s." #: libparted/labels/pc98.c:384 libparted/labels/pc98.c:462 #, c-format msgid "" "Partition %d isn't aligned to cylinder boundaries. This is still " "unsupported." msgstr "" "Partition %d ist nicht auf Zylindergrenzen ausgerichtet. Das ist immer noch " "nicht unterstützt." #: libparted/labels/pc98.c:781 msgid "Can't add another partition." msgstr "Es kann keine weitere Partition hinzugefügt werden." #: libparted/labels/pt-tools.c:125 #, c-format msgid "" "partition length of %jd sectors exceeds the %s-partition-table-imposed " "maximum of %jd" msgstr "" #: libparted/labels/pt-tools.c:138 #, c-format msgid "" "starting sector number, %jd exceeds the %s-partition-table-imposed maximum " "of %jd" msgstr "" #: libparted/labels/rdb.c:170 #, c-format msgid "%s : Bad checksum on block %llu of type %s." msgstr "%s : Schlechte Prüfsumme bei Block %llu vom Typ %s." #: libparted/labels/rdb.c:486 #, c-format msgid "%s : Didn't find rdb block, should never happen." msgstr "%s : Konnte rdb-Block nicht finden. Das sollte niemals passieren." #: libparted/labels/rdb.c:572 #, c-format msgid "%s : Loop detected at block %d." msgstr "%s : Schleife bei Block %d gefunden." #: libparted/labels/rdb.c:591 #, c-format msgid "%s : The %s list seems bad at block %s." msgstr "%s : Die %s-Liste scheint am Block %s fehlerhaft zu sein." #: libparted/labels/rdb.c:690 #, c-format msgid "%s : Failed to list bad blocks." msgstr "%s : Die fehlerhaften Blöcke konnten nicht angezeigt werden." #: libparted/labels/rdb.c:698 #, c-format msgid "%s : Failed to list partition blocks." msgstr "%s : Die Partitionsblöcke konnten nicht angezeigt werden." #: libparted/labels/rdb.c:706 #, c-format msgid "%s : Failed to list file system blocks." msgstr "%s : Die Dateisystemblöcke konnten nicht angezeigt werden." #: libparted/labels/rdb.c:714 #, c-format msgid "%s : Failed to list boot blocks." msgstr "%s : Die Bootblöcke konnten nicht angezeigt werden." #: libparted/labels/rdb.c:741 #, c-format msgid "Failed to write partition block at %d." msgstr "Der Partitionsblock konnte an %d nicht geschrieben werden." #: libparted/labels/rdb.c:1079 msgid "Unable to allocate a partition number." msgstr "Die Partitionsnummer konnte nicht zugewiesen werden." #: libparted/labels/sun.c:163 msgid "Corrupted Sun disk label detected." msgstr "Defektes Sun-Disklabel gefunden." #: libparted/labels/sun.c:316 #, c-format msgid "" "The disk CHS geometry (%d,%d,%d) reported by the operating system does not " "match the geometry stored on the disk label (%d,%d,%d)." msgstr "" "Die vom System gemeldete CHS-Geometrie (%d,%d,%d) der Festplatte stimmt " "nicht mit der gespeicherten Geometrie in der Partitionstabelle (%d,%d,%d) " "überein." #: libparted/labels/sun.c:338 #, c-format msgid "The disk label describes a disk bigger than %s." msgstr "Das Disklabel beschreibt eine Festplatte größer als %s." #: libparted/labels/sun.c:510 #, c-format msgid "The disk has %d cylinders, which is greater than the maximum of 65536." msgstr "" "Die Festplatte hat %d Zylinder, was größer ist als das Maximum von 65536." #: libparted/labels/sun.c:853 msgid "" "The Whole Disk partition is the only available one left. Generally, it is " "not a good idea to overwrite this partition with a real one. Solaris may " "not be able to boot without it, and SILO (the sparc boot loader) appreciates " "it as well." msgstr "" "Die Whole-Disk-Partition ist die einzig verbleibende. Es ist normalerweise " "keine gute Idee, diese Partition mit einer echten zu überschreiben. Solaris " "bootet ohne vielleicht nicht mehr, und SILO (der Sparc-Bootlader) schätzt " "sie auch." #: libparted/labels/sun.c:868 msgid "Sun disk label is full." msgstr "Das Sun-Disklabel ist voll." #: libparted/labels/vtoc.c:164 msgid "opening of device failed" msgstr "Fehler beim Öffnen des Geräts" #: libparted/labels/vtoc.c:168 msgid "seeking on device failed" msgstr "Fehler beim Suchen auf dem Gerät" #: libparted/labels/vtoc.c:172 msgid "writing to device failed" msgstr "Fehler beim Schreiben auf das Gerät" #: libparted/labels/vtoc.c:176 msgid "reading from device failed" msgstr "Fehler beim Lesen vom Gerät" #: libparted/labels/vtoc.c:277 libparted/labels/vtoc.c:284 msgid "Could not read volume label." msgstr "Volumenbezeichnung kann nicht gelesen werden." #: libparted/labels/vtoc.c:303 libparted/labels/vtoc.c:308 msgid "Could not write volume label." msgstr "Volumenbeschriftung kann nicht geschrieben werden." #: libparted/labels/vtoc.c:414 msgid "Could not read VTOC labels." msgstr "VTOC-Beschriftung kann nicht gelesen werden." #: libparted/labels/vtoc.c:420 msgid "Could not read VTOC FMT1 DSCB." msgstr "Konnte das VTOC FMT1 DSCB nicht lesen." #: libparted/labels/vtoc.c:427 msgid "Could not read VTOC FMT4 DSCB." msgstr "Konnte das VTOC FMT4 DSCB nicht lesen." #: libparted/labels/vtoc.c:434 msgid "Could not read VTOC FMT5 DSCB." msgstr "Konnte das VTOC FMT5 DSCB nicht lesen." #: libparted/labels/vtoc.c:441 msgid "Could not read VTOC FMT7 DSCB." msgstr "Konnte das VTOC FMT7 DSCB nicht lesen." #: libparted/labels/vtoc.c:461 msgid "Could not write VTOC labels." msgstr "VTOC-Beschriftung kann nicht geschrieben werden." #: libparted/labels/vtoc.c:467 msgid "Could not write VTOC FMT1 DSCB." msgstr "Konnte das VTOC FMT1 DSCB nicht schreiben." #: libparted/labels/vtoc.c:474 msgid "Could not write VTOC FMT4 DSCB." msgstr "Konnte das VTOC FMT4 DSCB nicht schreiben." #: libparted/labels/vtoc.c:481 msgid "Could not write VTOC FMT5 DSCB." msgstr "Konnte das VTOC FMT5 DSCB nicht schreiben." #: libparted/labels/vtoc.c:488 msgid "Could not write VTOC FMT7 DSCB." msgstr "Konnte das VTOC FMT7 DSCB nicht schreiben." #: libparted/libparted.c:237 libparted/libparted.c:252 msgid "Out of memory." msgstr "Speicher erschöpft." #: libparted/unit.c:138 msgid "Cannot get unit size for special unit 'COMPACT'." msgstr "Konnte die Größe der speziellen Einheit 'COMPACT' nicht bekommen." #: libparted/unit.c:384 #, c-format msgid "\"%s\" has invalid syntax for locations." msgstr "\"%s\" hat eine ungültige Syntax für Orte." #: libparted/unit.c:392 #, c-format msgid "The maximum head value is %d." msgstr "Die maximale Zahl der Köpfe ist %d." #: libparted/unit.c:399 #, c-format msgid "The maximum sector value is %d." msgstr "Die maximale Zahl der Sektoren ist %d." #: libparted/unit.c:411 libparted/unit.c:543 #, c-format msgid "The location %s is outside of the device %s." msgstr "Der Ort %s ist außerhalb des Geräts %s." #: libparted/unit.c:525 msgid "Invalid number." msgstr "Ungültige Nummer." #: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:56 #: libparted/fs/amiga/asfs.c:70 #, c-format msgid "%s : Failed to allocate partition block\n" msgstr "%s : Der Partitionsblock konnte nicht belegt werden\n" #: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:69 #: libparted/fs/amiga/asfs.c:82 #, c-format msgid "%s : Failed to allocate block\n" msgstr "%s : Der Block konnte nicht belegt werden\n" #: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:74 #, c-format msgid "%s : Couldn't read boot block %llu\n" msgstr "%s : Der Boot-Block %llu konnte nicht gelesen werden\n" #: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:85 #: libparted/fs/amiga/asfs.c:88 libparted/fs/amiga/asfs.c:102 #, c-format msgid "%s : Couldn't read root block %llu\n" msgstr "%s : Der Root-Block %llu konnte nicht gelesen werden\n" #: libparted/fs/amiga/amiga.c:72 #, c-format msgid "%s : Failed to allocate id list element\n" msgstr "%s : Das Id-Listen-Element konnte nicht belegt werden\n" #: libparted/fs/amiga/amiga.c:189 #, c-format msgid "%s : Couldn't read block %llu\n" msgstr "%s: Der Block %llu konnte nicht gelesen werden\n" #: libparted/fs/amiga/amiga.c:202 #, c-format msgid "%s : Bad checksum on block %llu of type %s\n" msgstr "%s : Schlechte Prüfsumme bei Block %llu vom Typ %s\n" #: libparted/fs/amiga/amiga.c:212 #, c-format msgid "%s : Couldn't write block %d\n" msgstr "%s : Konnte den Block %d nicht schreiben\n" #: libparted/fs/amiga/amiga.c:278 #, c-format msgid "%s : Failed to allocate disk_specific rdb block\n" msgstr "" "%s : Der Festplatten-spezifische rdb-Block konnte nicht belegt werden\n" #: libparted/fs/amiga/amiga.c:289 #, c-format msgid "%s : Didn't find rdb block, should never happen\n" msgstr "%s : Konnte rdb-Block nicht finden. Das sollte niemals passieren\n" #: libparted/fs/amiga/amiga.c:318 #, c-format msgid "%s : Failed to read partition block %llu\n" msgstr "%s : Der Partitionsblock %llu kann nicht gelesen werden\n" #: libparted/fs/ext2/ext2.c:87 libparted/fs/ext2/ext2.c:112 msgid "Inconsistent group descriptors!" msgstr "Inkonsistente Gruppendeskriptoren!" #: libparted/fs/ext2/ext2.c:91 libparted/fs/ext2/ext2.c:116 msgid "File system full!" msgstr "Dateisystem voll!" #: libparted/fs/ext2/ext2.c:686 msgid "Invalid superblock. Are you sure this is an ext2 file system?" msgstr "" "Ungültiger Superblock. Sind Sie sicher, dass das ein ext2-Dateisystem ist?" #: libparted/fs/ext2/ext2.c:700 libparted/fs/ext2/ext2_resize.c:658 msgid "File system has errors! You should run e2fsck." msgstr "Das Dateisystem hat Fehler! Sie sollten e2fsck aufrufen." #: libparted/fs/ext2/ext2.c:711 msgid "" "File system was not cleanly unmounted! You should run e2fsck. Modifying an " "unclean file system could cause severe corruption." msgstr "" "Das Dateisystem wurde nicht sauber ausgehängt! Sie sollten e2fsck ausführen. " "Das Bearbeiten eines unsauberen Dateisystems kann zu schweren Beschädigungen " "führen." #: libparted/fs/ext2/ext2.c:731 msgid "" "File system has an incompatible feature enabled. Compatible features are " "has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs " "or debugfs to remove features." msgstr "" #: libparted/fs/ext2/ext2.c:745 msgid "Error allocating buffer cache." msgstr "Fehler beim Belegen des Puffercaches." #: libparted/fs/ext2/ext2_inode_relocator.c:114 msgid "" "Found an inode with a incorrect link count. Better go run e2fsck first!" msgstr "" "I-Node mit ungültigem Linkzähler gefunden. Führen Sie besser zuerst e2fsck " "aus!" #: libparted/fs/ext2/ext2_inode_relocator.c:487 msgid "Not enough free inodes!" msgstr "Nicht genügend freie I-Nodes!" #: libparted/fs/ext2/ext2_resize.c:223 msgid "File system is too full to remove a group!" msgstr "Dateisystem ist zu voll, um eine Gruppe entfernen zu können!" #: libparted/fs/ext2/ext2_resize.c:232 msgid "File system has too many allocated inodes to remove a group!" msgstr "" "Dateisystem hat zu viele belegte I-Nodes, um eine Gruppe entfernen zu können!" #: libparted/fs/ext2/ext2_resize.c:491 msgid "adding groups" msgstr "Gruppen hinzufügen" #: libparted/fs/ext2/ext2_resize.c:528 #, c-format msgid "Your file system is too full to resize it to %i blocks. Sorry." msgstr "" "Ihr Dateisystem ist zu voll, um es auf %i Blöcke verkleinern zu können. " "Entschuldigung." #: libparted/fs/ext2/ext2_resize.c:538 #, c-format msgid "" "Your file system has too many occupied inodes to resize it to %i blocks. " "Sorry." msgstr "" "Ihr Dateisystem hat zu viele belegt I-Nodes, um es auf %i Blöcke reduzieren " "zu können. Entschuldigung." #: libparted/fs/ext2/ext2_resize.c:666 msgid "File system was not cleanly unmounted! You should run e2fsck." msgstr "" "Das Dateisystem wurde nicht sauber ausgehängt! Sie sollten e2fsck ausführen." #: libparted/fs/ext2/ext2_resize.c:675 msgid "" "The file system has the 'dir_index' feature enabled. Parted can only resize " "the file system if it disables this feature. You can enable it later by " "running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'." msgstr "" "Das Dateisystem hat 'dir_index' eingeschaltet. Parted kann nur die Größe des " "Dateisystems ändern, wenn diese Eigenschaft ausgeschaltet ist. Sie können " "die Fähigkeit später mit 'tune2fs -O dir_index GERÄT' und dann 'e2fsck -fD " "GERÄT' wieder einschalten." #: libparted/fs/ext2/ext2_resize.c:691 msgid "" "A resize operation on this file system will use EXPERIMENTAL code\n" "that MAY CORRUPT it (although no one has reported any such damage yet).\n" "You should at least backup your data first, and run 'e2fsck -f' afterwards." msgstr "" "Eine Größenänderungsoperation an diesem Dateisystem wird EXPERIMENTELLEN " "Code verwenden,\n" " der es beschädigen kann (obwohl niemand bisher eine solche Beschädigung " "gemeldet hat).\n" "Sie sollten zumindest zuvor ihre Daten sichern und danach 'e2fsck -f' " "ausführen." #: libparted/fs/ext2/ext2_block_relocator.c:198 msgid "Cross-linked blocks found! Better go run e2fsck first!" msgstr "Querverbundene Blöcke gefunden! Führen Sie lieber zuerst e2fsck aus!" #: libparted/fs/ext2/ext2_block_relocator.c:537 #, c-format msgid "Block %i has no reference? Weird." msgstr "Block %i hat keine Referenz? Seltsam." #: libparted/fs/ext2/ext2_block_relocator.c:738 #, c-format msgid "Block %i shouldn't have been marked (%d, %d)!" msgstr "Block %i dürfte nicht markiert sein (%d, %d)!" #: libparted/fs/ext2/interface.c:226 msgid "" "The ext2 file system passed a basic check. For a more comprehensive check, " "use the e2fsck program." msgstr "" "Das ext2-Dateisystem hat die Basisprüfung bestanden. Für eine ausführlichere " "Prüfungverwenden Sie bitte e2fsck." #: libparted/fs/ext2/interface.c:243 msgid "Sorry, can't move the start of ext2 partitions yet!" msgstr "" "Leider kann der Anfang von ext2-Partitionen noch nicht verschoben werden." #: libparted/fs/ext2/ext2_buffer.c:82 msgid "Couldn't flush buffer cache!" msgstr "Der Puffercache konnte nicht geleert werden." #: libparted/fs/ext2/ext2_mkfs.c:161 msgid "writing per-group metadata" msgstr "Schreiben der Meta-Daten pro Gruppe" #: libparted/fs/ext2/ext2_mkfs.c:597 msgid "File system too small for ext2." msgstr "Das Dateisystem ist für ext2 zu klein." #: libparted/fs/fat/calc.c:135 #, c-format msgid "" "You need %s of free disk space to shrink this partition to this size. " "Currently, only %s is free." msgstr "" "Sie benötigen %s freien Platz, um diese Partition auf diese Größe zu " "verkleinern.Momentan ist nur %s frei." #: libparted/fs/fat/context.c:56 #, c-format msgid "" "Cluster start delta = %d, which is not a multiple of the cluster size %d." msgstr "Clusteranfang delta = %d ist kein Vielfaches der Clustergröße %d." #: libparted/fs/fat/fat.c:310 #, c-format msgid "Partition too big/small for a %s file system." msgstr "Die Partition ist für ein %s-Dateisystem zu groß/klein." #: libparted/fs/fat/fat.c:476 msgid "" "The FATs don't match. If you don't know what this means, then select " "cancel, run scandisk on the file system, and then come back." msgstr "" "Die FATs stimmen nicht überein. Wenn Sie nicht wissen, was das bedeutet, " "brechen Sie ab, rufen Scandisk für das Dateisystem auf und versuchen es " "nochmal." #: libparted/fs/fat/fat.c:516 msgid "There are no possible configurations for this FAT type." msgstr "Es gibt keine möglichen Konfigurationen für diesen FAT-Typ." #: libparted/fs/fat/fat.c:528 #, c-format msgid "" "File system doesn't have expected sizes for Windows to like it. Cluster " "size is %dk (%dk expected); number of clusters is %d (%d expected); size of " "FATs is %d sectors (%d expected)." msgstr "" "Das Dateisystem hat nicht die Größe, die Windows mag. Die Clustergröße ist " "%dk (%dk erwartet); die Clusterzahl ist %d (%d erwartet); die FAT-Größe ist " "%d Sektoren (%d erwartet)." #: libparted/fs/fat/fat.c:551 #, c-format msgid "" "File system is reporting the free space as %d clusters, not %d clusters." msgstr "Dateisystem meldet freien Platz als %d Cluster, nicht %d Cluster." #: libparted/fs/fat/fat.c:876 msgid "" "GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT " "support will be disabled." msgstr "" "GNU parted ist fehlerhaft übersetzt: Der FAT-Bootsektor sollte 512 Bytes " "sein. FAT-Unterstützung wird deaktiviert." #: libparted/fs/fat/resize.c:158 msgid "" "There's not enough room in the root directory for all of the files. Either " "cancel, or ignore to lose the files." msgstr "" "Es gibt im Root-Verzeichnis nicht genügend Platz für alle Dateien. Entweder " "abbrechen, oder ignorieren und die Dateien verlieren." #: libparted/fs/fat/resize.c:299 msgid "Error writing to the root directory." msgstr "Fehler beim Schreiben in das Root-Verzeichnis." #: libparted/fs/fat/resize.c:488 msgid "If you leave your file system as FAT16, then you will have no problems." msgstr "" "Wenn Sie Ihr Dateisystem als FAT16 lassen, werden Sie keine Probleme haben." #: libparted/fs/fat/resize.c:491 msgid "" "If you convert to FAT16, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual)." msgstr "" "Wenn Sie in FAT16 konvertieren und MS-Windows auf dieser Partition " "installiert ist, müssen Sie den MS-Windows-Bootlader neu installieren. Wenn " "Sie das tun wollen, sollten Sie das Handbuch von Parted lesen (oder das " "Handbuch Ihrer Distribution)." #: libparted/fs/fat/resize.c:499 msgid "" "If you leave your file system as FAT32, then you will not introduce any new " "problems." msgstr "" "Wenn Sie Ihr Dateisystem als FAT32 lassen, werden Sie keine neuen Probleme " "herbeiführen." #: libparted/fs/fat/resize.c:503 msgid "" "If you convert to FAT32, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual). Also, " "converting to FAT32 will make the file system unreadable by MS DOS, MS " "Windows 95a, and MS Windows NT." msgstr "" "Wenn Sie zu FAT32 konvertieren und MS-Windows auf dieser Partition " "installiert ist, müssen Sie den MS-Windows-Bootlader neu installieren. Wenn " "Sie das tun wollen, sollten Sie das Handbuch von Parted lesen (oder das " "Ihrer Distribution). Außerdem kann nach einer Konvertierung zu FAT32 das " "Dateisystem nicht mehr von MS-DOS, MS-Windows 95a und MS-Windows NT gelesen " "werden." #: libparted/fs/fat/resize.c:517 #, c-format msgid "%s %s %s" msgstr "%s %s %s" #: libparted/fs/fat/resize.c:518 msgid "Would you like to use FAT32?" msgstr "Wollen Sie FAT32 verwenden?" #: libparted/fs/fat/resize.c:549 libparted/fs/fat/resize.c:565 #, c-format msgid "%s %s" msgstr "%s %s" #: libparted/fs/fat/resize.c:550 msgid "" "The file system can only be resized to this size by converting to FAT16." msgstr "" "Das Dateisystem kann nur durch Konvertierung zu FAT16 in der Größe verändert " "werden." #: libparted/fs/fat/resize.c:566 msgid "" "The file system can only be resized to this size by converting to FAT32." msgstr "" "Das Dateisystem kann nur durch Konvertierung zu FAT32 in der Größe verändert " "werden." #: libparted/fs/fat/resize.c:579 msgid "" "GNU Parted cannot resize this partition to this size. We're working on it!" msgstr "" "GNU Parted kann diese Partition nicht auf diese Größe verändern. Wir " "arbeiten dran!" #: libparted/fs/fat/bootsector.c:49 libparted/fs/fat/bootsector.c:56 msgid "File system has an invalid signature for a FAT file system." msgstr "Das Dateisystem hat eine ungültige Signatur für ein FAT-Dateisystem." #: libparted/fs/fat/bootsector.c:64 msgid "File system has an invalid sector size for a FAT file system." msgstr "" "Das Dateisystem hat eine ungültige Sektorgröße für ein FAT-Dateisystem." #: libparted/fs/fat/bootsector.c:71 msgid "File system has an invalid cluster size for a FAT file system." msgstr "" "Das Dateisystem hat eine ungültige Clustergröße für ein FAT-Dateisystem." #: libparted/fs/fat/bootsector.c:78 msgid "" "File system has an invalid number of reserved sectors for a FAT file system." msgstr "" "Das Dateisystem hat eine ungültige Zahl von reservierten Sektoren für ein " "FAT-Dateisystem." #: libparted/fs/fat/bootsector.c:85 msgid "File system has an invalid number of FATs." msgstr "Das Dateisystem hat eine ungültige Anzahl von FATs." #: libparted/fs/fat/bootsector.c:139 #, c-format msgid "" "This file system has a logical sector size of %d. GNU Parted is known not " "to work properly with sector sizes other than 512 bytes." msgstr "" "Dieses Dateisystem hat eine logische Sektorgröße von %d. GNU Parted " "funktioniert mit anderen Sektorgrößen als 512 Bytes nicht richtig." #: libparted/fs/fat/bootsector.c:164 #, c-format msgid "" "The file system's CHS geometry is (%d, %d, %d), which is invalid. The " "partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the " "file system's CHS geometry will be left unchanged. If you select Fix, the " "file system's CHS geometry will be set to match the partition table's CHS " "geometry." msgstr "" "Die CHS-Geometrie des Dateisystems ist ungültig (%d, %d, %d). Die CHS-" "Geometrie der Partitionstabelle ist (%d, %d, %d). Wenn Sie Abbrechen " "auswählen, wird die CHS-Geometrie des Dateisystem nicht verändert. Wenn Sie " "Reparieren auswählen, wird die CHS-Geometrie des Dateisystems so gesetzt, " "dass sie mit der CHS-Geometrie der Partitionstabelle übereinstimmt." #: libparted/fs/fat/bootsector.c:213 msgid "FAT boot sector says logical sector size is 0. This is weird. " msgstr "" "Der FAT-Bootsektor sagt, die logische Sektorgröße sei 0. Das ist seltsam." #: libparted/fs/fat/bootsector.c:219 msgid "FAT boot sector says there are no FAT tables. This is weird. " msgstr "Der FAT-Bootsektor sagt, es gäbe keine FAT-Tabellen. Das ist seltsam." #: libparted/fs/fat/bootsector.c:225 msgid "FAT boot sector says clusters are 0 sectors. This is weird. " msgstr "" "Der FAT-Bootsektor sagt, Cluster seien 0 Sektoren groß. Das ist seltsam." #: libparted/fs/fat/bootsector.c:235 msgid "File system is FAT12, which is unsupported." msgstr "Das Dateisystem ist FAT12, welches nicht unterstützt wird." #: libparted/fs/fat/bootsector.c:411 #, c-format msgid "" "The information sector has the wrong signature (%x). Select cancel for now, " "and send in a bug report. If you're desperate, it's probably safe to ignore." msgstr "" "Der Informationssektor hat die falsche Signatur (%x). Wählen Sie jetzt " "Abbrechen und senden Sie einen Fehlerbericht. Wenn es sein muß, können Sie " "das auch ignorieren." #: libparted/fs/fat/count.c:144 #, c-format msgid "Bad directory entry for %s: first cluster is the end of file marker." msgstr "" "Falscher Verzeichniseintrag für %s: Erster Cluster ist am Ende des " "Dateimarkers." #: libparted/fs/fat/count.c:157 #, c-format msgid "" "Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk." msgstr "" "Schlechte FAT: unbeendete Kette für %s. Sie sollten dosfsck oder Scandisk " "ausführen." #: libparted/fs/fat/count.c:166 #, c-format msgid "" "Bad FAT: cluster %d outside file system in chain for %s. You should run " "dosfsck or scandisk." msgstr "" "Schlechte FAT: Cluster %d ist außerhalb des Dateisystems in Kette %s. Sie " "sollten dosfsck oder Scandisk ausführen." #: libparted/fs/fat/count.c:176 #, c-format msgid "" "Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or " "scandisk." msgstr "" "Schlechte FAT: Cluster %d ist querverbunden für %s. Sie sollten dosfsck oder " "Scandisk ausführen." #: libparted/fs/fat/count.c:195 #, c-format msgid "%s is %dk, but it has %d clusters (%dk)." msgstr "%s ist %dk, hat aber %d Cluster (%dk)." #: libparted/fs/fat/count.c:258 #, c-format msgid "" "The file %s is marked as a system file. This means moving it could cause " "some programs to stop working." msgstr "" "Die Datei %s ist als Systemdatei markiert. Das bedeutet, dass nach dem " "Verschieben einige Programme nicht mehr funktionieren können." #: libparted/fs/fat/table.c:136 #, c-format msgid "" "FAT %d media %x doesn't match the boot sector's media %x. You should " "probably run scandisk." msgstr "" "FAT %d Medium %x stimmt nicht mit dem Bootsektor von Medium %x überein. Sie " "sollten Scandisk ausführen." #: libparted/fs/fat/table.c:268 #, c-format msgid "fat_table_set: cluster %ld outside file system" msgstr "fat_table_set: Cluster %ld ist außerhalb des Dateisystems" #: libparted/fs/fat/table.c:300 #, c-format msgid "fat_table_get: cluster %ld outside file system" msgstr "fat_table_get: Cluster %ld ist außerhalb des Dateisystems" #: libparted/fs/fat/table.c:342 msgid "fat_table_alloc_cluster: no free clusters" msgstr "fat_table_alloc_cluster: Keine freien Cluster" #: libparted/fs/linux_swap/linux_swap.c:288 #, fuzzy, c-format msgid "Unrecognised old style linux swap signature '%10s'." msgstr "Unbekannte Linux-Swap-Signatur '%10s'." #: libparted/fs/linux_swap/linux_swap.c:331 #, fuzzy, c-format msgid "Unrecognised new style linux swap signature '%10s'." msgstr "Unbekannte Linux-Swap-Signatur '%10s'." #: libparted/fs/linux_swap/linux_swap.c:371 #, fuzzy, c-format msgid "Unrecognised swsusp linux swap signature '%9s'." msgstr "Unbekannte Linux-Swap-Signatur '%10s'." #: libparted/fs/linux_swap/linux_swap.c:447 msgid "Too many bad pages." msgstr "Zu viele falsche Seiten." #: libparted/fs/hfs/advfs.c:121 libparted/fs/hfs/advfs_plus.c:121 #: libparted/fs/hfs/reloc.c:414 libparted/fs/hfs/reloc.c:508 #: libparted/fs/hfs/reloc_plus.c:538 libparted/fs/hfs/reloc_plus.c:656 #: libparted/fs/hfs/reloc_plus.c:769 msgid "The file system contains errors." msgstr "Das Dateisystem enthält Fehler." #: libparted/fs/hfs/advfs_plus.c:285 msgid "Bad blocks could not be read." msgstr "Fehlerhafte Blöcke konnten nicht gelesen werden." #: libparted/fs/hfs/cache.c:137 #, c-format msgid "" "Trying to register an extent starting at block 0x%X, but another one already " "exists at this position. You should check the file system!" msgstr "" "Es wurde versucht, einen erweiterten Anfang bei Block 0x%X zu registrieren, " "aber es existiert bereits ein anderer an dieser Stelle. Sie sollten das " "Dateisystem überprüfen lassen!" #: libparted/fs/hfs/cache.c:214 #, c-format msgid "" "Trying to move an extent from block Ox%X to block Ox%X, but another one " "already exists at this position. This should not happen!" msgstr "" "Es wurde versucht, einen erweiterten Block von 0x%X nach 0X%X zu " "verschieben, aber ein anderer existiert bereits an dieser Stelle. Das sollte " "nicht passieren!" #: libparted/fs/hfs/file.c:143 #, c-format msgid "Could not update the extent cache for HFS file with CNID %X." msgstr "" "Der erweiterte Cache der HFS-Datei mit der CNID %X konnte nicht aktualisiert " "werden." #: libparted/fs/hfs/file.c:180 #, c-format msgid "Trying to read HFS file with CNID %X behind EOF." msgstr "" "Die HFS-Datei mit der CNID %X kann nicht hinter dem Ende gelesen werden." #: libparted/fs/hfs/file.c:190 libparted/fs/hfs/file.c:220 #, c-format msgid "Could not find sector %lli of HFS file with CNID %X." msgstr "Konnte den Sektor %lli der HFS-Datei mit der CNID %X nicht finden." #: libparted/fs/hfs/file.c:210 #, c-format msgid "Trying to write HFS file with CNID %X behind EOF." msgstr "" "Die HFS-Datei mit der CNID %X kann nicht hinter dem Ende geschrieben werden." #: libparted/fs/hfs/file_plus.c:157 #, c-format msgid "Could not update the extent cache for HFS+ file with CNID %X." msgstr "" "Der erweiterte Cache der HFS+-Datei mit der CNID %X konnte nicht " "aktualisiert werden." #: libparted/fs/hfs/file_plus.c:202 #, c-format msgid "Trying to read HFS+ file with CNID %X behind EOF." msgstr "" "Die HFS+-Datei mit der CNID %X kann nicht hinter dem Ende gelesen werden." #: libparted/fs/hfs/file_plus.c:213 libparted/fs/hfs/file_plus.c:256 #, c-format msgid "Could not find sector %lli of HFS+ file with CNID %X." msgstr "Konnte den Sektor %lli der HFS+-Datei mit der CNID %X nicht finden." #: libparted/fs/hfs/file_plus.c:245 #, c-format msgid "Trying to write HFS+ file with CNID %X behind EOF." msgstr "" "Die HFS+-Datei mit der CNID %X kann nicht hinter dem Ende geschrieben werden." #: libparted/fs/hfs/hfs.c:232 msgid "Sorry, HFS cannot be resized that way yet." msgstr "Entschuldigung, HFS kann so noch nicht in der Größe verändert werden." #: libparted/fs/hfs/hfs.c:262 libparted/fs/hfs/hfs.c:641 msgid "Data relocation has failed." msgstr "Die Umlagerung der Daten ist fehlgeschlagen." #: libparted/fs/hfs/hfs.c:281 msgid "Data relocation left some data in the end of the volume." msgstr "" "Die Umlagerung der Daten hat einige Daten am Ende des Datenträgers gelassen." #: libparted/fs/hfs/hfs.c:320 msgid "writing HFS Master Directory Block" msgstr "Schreiben des HFS Master Directory Block" #: libparted/fs/hfs/hfs.c:468 msgid "No valid HFS[+X] signature has been found while opening." msgstr "Beim Öffnen wurde keine gültige HFS[+X]-Signatur gefunden." #: libparted/fs/hfs/hfs.c:478 #, c-format msgid "Version %d of HFS+ isn't supported." msgstr "Die HFS+-Version %d ist nicht unterstützt." #: libparted/fs/hfs/hfs.c:489 #, c-format msgid "Version %d of HFSX isn't supported." msgstr "Die HFSX-Version %d ist nicht unterstützt." #: libparted/fs/hfs/hfs.c:672 msgid "Data relocation left some data at the end of the volume." msgstr "" "Die Umlagerung der Daten hat einige Daten am Ende des Datenträgers gelassen." #: libparted/fs/hfs/hfs.c:720 msgid "Error while writing the allocation file." msgstr "Fehler beim Schreiben der Belegungsdatei." #: libparted/fs/hfs/hfs.c:735 msgid "Error while writing the compatibility part of the allocation file." msgstr "Fehler beim Schreiben des Verträglichkeitsteils der Belegungsdatei." #: libparted/fs/hfs/hfs.c:750 msgid "writing HFS+ Volume Header" msgstr "Schreiben des HFS+-Datenträger-Kopfes" #: libparted/fs/hfs/hfs.c:850 msgid "An error occurred while looking for the mandatory bad blocks file." msgstr "" "Beim Suchen nach der notwendigen Datei, die schlechte Blöcke enthält, trat " "ein Fehler auf." #: libparted/fs/hfs/hfs.c:904 msgid "" "It seems there is an error in the HFS wrapper: the bad blocks file doesn't " "contain the embedded HFS+ volume." msgstr "" "Es scheint, als wäre im HFS-Wrapper ein Fehler: die Datei der schlechten " "Blöcke enthält nicht den eingebetteten HFS+-Datenträger." #: libparted/fs/hfs/hfs.c:940 msgid "Sorry, HFS+ cannot be resized that way yet." msgstr "Entschuldigung, HFS+ kann so nicht in der Größe verändert werden." #: libparted/fs/hfs/hfs.c:975 msgid "shrinking embedded HFS+ volume" msgstr "Verkleinern des eingebetteten HFS+-Datenträgers" #: libparted/fs/hfs/hfs.c:991 msgid "Resizing the HFS+ volume has failed." msgstr "Verkleinern des HFS+-Datenträgers ist fehlgeschlagen." #: libparted/fs/hfs/hfs.c:998 msgid "shrinking HFS wrapper" msgstr "Verkleinern des HFS-Wrappers" #: libparted/fs/hfs/hfs.c:1007 msgid "Updating the HFS wrapper has failed." msgstr "Aktualisieren des HFS-Wrappers ist fehlgeschlagen." #: libparted/fs/hfs/hfs.c:1109 libparted/fs/hfs/hfs.c:1194 #, c-format msgid "" "This is not a real %s check. This is going to extract special low level " "files for debugging purposes." msgstr "" "Das ist keine echte Prüfung von %s. Es werden spezielle Dateien einer tiefen " "Ebene zu Fehlerbeseitigungszwecken extrahiert." #: libparted/fs/hfs/journal.c:155 msgid "Bad block list header checksum." msgstr "Prüfsummenfehler im Kopf der Liste der schlechten Blöcke." #: libparted/fs/hfs/journal.c:168 #, c-format msgid "" "Invalid size of a transaction block while replaying the journal (%i bytes)." msgstr "" "Ungültige Größe eines Vorgangsblocks während das Journal überprüft wurde (%i " "Bytes)." #: libparted/fs/hfs/journal.c:260 msgid "" "Journal stored outside of the volume are not supported. Try to desactivate " "the journal and run Parted again." msgstr "" "Ein Journal außerhalb des Datenträgers ist nicht unterstützt. Versuchen Sie, " "das Journal zu deaktivieren und führen Sie Parted dann erneut aus." #: libparted/fs/hfs/journal.c:271 msgid "Journal offset or size is not multiple of the sector size." msgstr "Journal-Abstand oder Größe ist kein Vielfaches der Sektorgröße." #: libparted/fs/hfs/journal.c:292 msgid "Incorrect magic values in the journal header." msgstr "Falsche Magic-Zahl im Kopf des Journals." #: libparted/fs/hfs/journal.c:302 msgid "Journal size mismatch between journal info block and journal header." msgstr "" "Versatz der Größe des Journals zwischen Infoblock und dem Kopf des Journals." #: libparted/fs/hfs/journal.c:314 msgid "Some header fields are not multiple of the sector size." msgstr "Einige Einträge im Kopf sind kein Vielfaches der Clustergröße." #: libparted/fs/hfs/journal.c:323 msgid "" "The sector size stored in the journal is not 512 bytes. Parted only " "supports 512 bytes length sectors." msgstr "" "Die im Journal gespeicherte Sektorgröße ist ungleich 512 Bytes. Parted " "unterstützt nur Sektoren mit einer Länge von 512 Bytes." #: libparted/fs/hfs/journal.c:335 msgid "Bad journal checksum." msgstr "Schlechte Prüfsumme des Journals." #: libparted/fs/hfs/journal.c:353 msgid "" "The journal is not empty. Parted must replay the transactions before " "opening the file system. This will modify the file system." msgstr "" "Das Journal ist nicht leer. Parted muss die Vorgänge überprüfen, bevor das " "Dateisystem geöffnet werden kann. Das wird das Dateisystem verändern." #: libparted/fs/hfs/journal.c:381 msgid "" "The volume header or the master directory block has changed while replaying " "the journal. You should restart Parted." msgstr "" "Der Kopf des Datenträgers oder der Block des Hauptverzeichnisses hat sich " "während dem Überprüfen der Vorgänge geändert. Sie sollten Parted neustarten." #: libparted/fs/hfs/probe.c:51 #, c-format msgid "" "Parted can't use HFS file systems on disks with a sector size not equal to " "%d bytes." msgstr "" "Parted kann das HFS-Dateisystem nicht auf Festplatten mit einer Sektorgröße " "ungleich %d Bytes verwenden." #: libparted/fs/hfs/reloc.c:151 libparted/fs/hfs/reloc_plus.c:155 msgid "An extent has not been relocated." msgstr "Eine Erweiterung wurde nicht umgelagert." #: libparted/fs/hfs/reloc.c:251 libparted/fs/hfs/reloc_plus.c:307 msgid "" "A reference to an extent comes from a place it should not. You should check " "the file system!" msgstr "" "Ein Verweis einer Erweiterung kam von einem Ort, von des er nicht kommen " "sollte. Sie sollten das Dateisystem überprüfen lassen!" #: libparted/fs/hfs/reloc.c:381 msgid "This HFS volume has no catalog file. This is very unusual!" msgstr "Dieser HFS-Datenträger hat keine Katalog-Datei. Das ist sehr unüblich!" #: libparted/fs/hfs/reloc.c:475 msgid "This HFS volume has no extents overflow file. This is quite unusual!" msgstr "" "Dieser HFS-Datenträger hat keine Überlaufdatei für Erweiterungen. Das ist " "schon ungewöhnlich!" #: libparted/fs/hfs/reloc.c:517 libparted/fs/hfs/reloc_plus.c:666 msgid "" "The extents overflow file should not contain its own extents! You should " "check the file system." msgstr "" "Die Überlaufdatei der Erweiterungen sollte nicht seine eigenen Erweiterungen " "enthalten! Sie sollten das Dateisystem überprüfen lassen." #: libparted/fs/hfs/reloc.c:574 libparted/fs/hfs/reloc_plus.c:844 msgid "Could not cache the file system in memory." msgstr "Das Dateisystem konnte nicht zwischengespeichert werden." #: libparted/fs/hfs/reloc.c:635 libparted/fs/hfs/reloc_plus.c:905 msgid "Bad blocks list could not be loaded." msgstr "Die Liste der schlechten Blöcke konnte nicht geladen werden." #: libparted/fs/hfs/reloc.c:649 libparted/fs/hfs/reloc_plus.c:921 msgid "An error occurred during extent relocation." msgstr "Während der Umlagerung der Erweiterungen trat ein Fehler auf." #: libparted/fs/hfs/reloc_plus.c:494 msgid "This HFS+ volume has no catalog file. This is very unusual!" msgstr "" "Dieser HFS+-Datenträger hat keine Katalog-Datei. Das ist sehr ungewöhnlich!" #: libparted/fs/hfs/reloc_plus.c:617 msgid "This HFS+ volume has no extents overflow file. This is quite unusual!" msgstr "" "Dieser HFS-Datenträger hat keine Überlaufdatei für Erweiterungen. Das ist " "schon ungewöhnlich!" #: parted/parted.c:123 msgid "displays this help message" msgstr "zeigt diese Hilfe" #: parted/parted.c:124 msgid "lists partition layout on all block devices" msgstr "zeigt das Partitionslayout aller blockorientierten Geräte" #: parted/parted.c:125 msgid "displays machine parseable output" msgstr "zeigt maschinenlesbare Ausgaben" #: parted/parted.c:126 msgid "never prompts for user intervention" msgstr "bittet nie um Eingriff des Benutzers" #: parted/parted.c:127 msgid "displays the version" msgstr "zeigt die Version" #: parted/parted.c:128 #, fuzzy msgid "alignment for new partitions" msgstr "Kann keine weitere Partition erzeugen." #: parted/parted.c:140 msgid "" "NUMBER is the partition number used by Linux. On MS-DOS disk labels, the " "primary partitions number from 1 to 4, logical partitions from 5 onwards.\n" msgstr "" "NUMMER ist die von Linux verwendete Partitionsnummer. Bei MS-DOS-" "Partitionstabellen ist für Primärpartitionen die Nummer zwischen 1 und 4, " "für logische Partitionen größer 5.\n" #: parted/parted.c:143 msgid "LABEL-TYPE is one of: " msgstr "LABEL-TYP ist eines aus: " #: parted/parted.c:144 msgid "FLAG is one of: " msgstr "FLAG ist eines aus: " #: parted/parted.c:145 msgid "UNIT is one of: " msgstr "EINHEIT ist eines aus: " #: parted/parted.c:146 msgid "desired alignment: minimum or optimal" msgstr "" #: parted/parted.c:147 msgid "PART-TYPE is one of: primary, logical, extended\n" msgstr "PART-TYP ist eines aus: primär, logisch, erweitert\n" #: parted/parted.c:149 msgid "FS-TYPE is one of: " msgstr "FS-TYP ist eines aus: " #: parted/parted.c:150 msgid "" "START and END are disk locations, such as 4GB or 10%. Negative values count " "from the end of the disk. For example, -1s specifies exactly the last " "sector.\n" msgstr "" "ANFANG und ENDE sind Stellen auf der Festplatte, z.B. 4GB oder 10%. Negative " "Werte zählen vom Ende der Festplatte aus. Beispielsweise steht -1s für genau " "den letzen Sektor.\n" #: parted/parted.c:153 msgid "STATE is one of: on, off\n" msgstr "STATUS ist eines aus: an, aus\n" #: parted/parted.c:154 msgid "DEVICE is usually /dev/hda or /dev/sda\n" msgstr "GERÄT ist normalerweise /dev/hda oder /dev/sda\n" #: parted/parted.c:155 msgid "NAME is any word you want\n" msgstr "NAME ist ein beliebiges Wort Ihrer Wahl\n" #: parted/parted.c:156 msgid "The partition must have one of the following FS-TYPEs: " msgstr "Die Partition muss eines der folgenden FS-TYPe haben: " #: parted/parted.c:160 msgid "" "Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n" "This program is free software, covered by the GNU General Public License.\n" "\n" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" msgstr "" "Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n" "Dieses Programm ist freie Software unter den Regeln der GNU General Public " "License.\n" "\n" "Dieses Programm wird in der Hoffnung verteilt, daß es nützlich ist,\n" "jedoch OHNE JEGLICHE GARANTIE; sogar ohne die implizite Garantie der\n" "MARKTFÄHIGKEIT oder der ERFÜLLUNG EINES BESTIMMTEN ZWECKES. In der\n" "\"GNU General Public License\" können weitere Einzelheiten nachgelesen\n" "werden.\n" #: parted/parted.c:208 #, c-format msgid "%0.f%%\t(time left %.2d:%.2d)" msgstr "%0.f%%\t(Restzeit %.2d:%.2d)" #: parted/parted.c:227 #, c-format msgid "" "Partition %s is being used. You must unmount it before you modify it with " "Parted." msgstr "" "Die Partition %s wird gerade verwendet. Sie müssen sie aushängen, bevor Sie " "sie mit Parted verändern." #: parted/parted.c:245 #, c-format msgid "Partition(s) on %s are being used." msgstr "Partition(en) auf %s werden verwendet." #: parted/parted.c:257 msgid "" "The existing file system will be destroyed and all data on the partition " "will be lost. Do you want to continue?" msgstr "" "Das existierende Dateisystem wird zerstört und alle Daten in der Partition " "werden gelöscht. Wollen Sie fortfahren?" #: parted/parted.c:269 #, c-format msgid "" "The existing disk label on %s will be destroyed and all data on this disk " "will be lost. Do you want to continue?" msgstr "" "Die bestehende Partitionstabelle und alle Daten auf %s werden gelöscht. " "Wollen Sie fortfahren?" #: parted/parted.c:487 #, c-format msgid "" "WARNING: you are attempting to use %s to operate on (%s) a file system.\n" "%s's file system manipulation code is not as robust as what you'll find in\n" "dedicated, file-system-specific packages like e2fsprogs. We recommend\n" "you use %s only to manipulate partition tables, whenever possible.\n" "Support for performing most operations on most types of file systems\n" "will be removed in an upcoming release.\n" msgstr "" #: parted/parted.c:508 parted/parted.c:702 parted/parted.c:1179 #: parted/parted.c:1263 parted/parted.c:1935 parted/parted.c:2016 #: parted/parted.c:2088 parted/parted.c:2122 msgid "Partition number?" msgstr "Partitionsnummer?" #: parted/parted.c:551 msgid "Source device?" msgstr "Quellgerät?" #: parted/parted.c:555 msgid "Source partition number?" msgstr "Quellpartitionsnummer?" #: parted/parted.c:560 msgid "Can't copy an extended partition." msgstr "Eine erweiterte Partition kann nicht kopiert werden." #: parted/parted.c:566 msgid "Destination partition number?" msgstr "Zielpartitionsnummer?" #: parted/parted.c:655 msgid "New disk label type?" msgstr "Neuer Disk-Label-Typ?" #: parted/parted.c:706 parted/parted.c:788 parted/parted.c:1000 msgid "File system type?" msgstr "Dateisystemtyp?" #: parted/parted.c:762 parted/parted.c:983 msgid "Partition type?" msgstr "Partitionstyp?" #: parted/parted.c:780 parted/parted.c:990 parted/parted.c:1266 msgid "Partition name?" msgstr "Partitionsname?" #: parted/parted.c:794 parted/parted.c:1002 parted/parted.c:1194 #: parted/parted.c:1883 parted/parted.c:1944 msgid "Start?" msgstr "Anfang?" #: parted/parted.c:796 parted/parted.c:1005 parted/parted.c:1197 #: parted/parted.c:1885 parted/parted.c:1946 msgid "End?" msgstr "Ende?" #: parted/parted.c:862 parted/parted.c:1066 #, fuzzy, c-format msgid "" "You requested a partition from %s to %s.\n" "The closest location we can manage is %s to %s.%s" msgstr "" "Sie wollen eine Partition von %s bis %s. Das Beste, was Parted bieten kann, " "ist von %s nach %s. Ist das in Ordnung?" #: parted/parted.c:867 parted/parted.c:1071 msgid "" "\n" "Is this still acceptable to you?" msgstr "" #: parted/parted.c:889 parted/parted.c:1093 msgid "The resulting partition is not properly aligned for best performance." msgstr "" #: parted/parted.c:995 msgid "An extended partition cannot hold a file system. Did you want mkpart?" msgstr "" "Eine erweiterte Partition kann kein Dateisystem beinhalten. Wollten Sie eine " "Partition erstellen (mkpart)?" #: parted/parted.c:1185 msgid "Can't move an extended partition." msgstr "Eine erweiterte Partition kann nicht verschoben werden." #: parted/parted.c:1214 msgid "Can't move a partition onto itself. Try using resize, perhaps?" msgstr "" "Die Partition kann nicht auf sich selbst verschoben werden. Vielleicht " "wollen Sie eine Größenänderung (resize) versuchen?" #: parted/parted.c:1360 #, c-format msgid "Minor: %d\n" msgstr "Nummer: %d\n" #: parted/parted.c:1361 #, c-format msgid "Flags: %s\n" msgstr "Flags: %s\n" #: parted/parted.c:1362 #, c-format msgid "File System: %s\n" msgstr "Dateisystem: %s\n" #: parted/parted.c:1363 msgid "Size: " msgstr "Größe: " #: parted/parted.c:1368 msgid "Minimum size: " msgstr "Minimale Größe: " #: parted/parted.c:1371 msgid "Maximum size: " msgstr "Maximale Größe: " #: parted/parted.c:1504 #, c-format msgid "Model: %s (%s)\n" msgstr "Modell: %s (%s)\n" #: parted/parted.c:1506 #, c-format msgid "Disk %s: %s\n" msgstr "Festplatte %s: %s\n" #: parted/parted.c:1507 #, c-format msgid "Sector size (logical/physical): %lldB/%lldB\n" msgstr "Sektorgröße (logisch/physisch): %lldB/%lldB\n" #: parted/parted.c:1525 #, c-format msgid "BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s.\n" msgstr "" "BIOS Zylinder-, Kopf-, Sektor-Geometrie: %d, %d, %d. Jeder Zylinder ist %s " "groß.\n" #: parted/parted.c:1534 #, c-format msgid "Partition Table: %s\n" msgstr "Partitionstabelle: %s\n" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Number" msgstr "Nummer" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Start" msgstr "Anfang" #: parted/parted.c:1550 parted/parted.c:1553 msgid "End" msgstr "Ende" #: parted/parted.c:1553 msgid "Size" msgstr "Größe" #: parted/parted.c:1557 msgid "Type" msgstr "Typ" #: parted/parted.c:1559 msgid "File system" msgstr "Dateisystem" #: parted/parted.c:1562 msgid "Name" msgstr "Name" #: parted/parted.c:1564 msgid "Flags" msgstr "Flags" #: parted/parted.c:1621 msgid "Free Space" msgstr "Freier Platz" #: parted/parted.c:1782 #, c-format msgid "" "A %s %s partition was found at %s -> %s. Do you want to add it to the " "partition table?" msgstr "" "Eine %s %s-Partition wurde bei %s -> %s gefunden. Wollen Sie diese Partition " "zur Partitionstabelle hinzufügen?" #: parted/parted.c:1821 msgid "searching for file systems" msgstr "Suche nach Dateisystemen" #: parted/parted.c:2041 msgid "New device?" msgstr "Neues Gerät?" #: parted/parted.c:2086 msgid "alignment type(min/opt)" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d aligned\n" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d not aligned\n" msgstr "" #: parted/parted.c:2124 msgid "Flag to Invert?" msgstr "Umzukehrendes Flag?" #: parted/parted.c:2129 msgid "New state?" msgstr "Neuer Zustand?" #: parted/parted.c:2166 msgid "Unit?" msgstr "Einheit?" #: parted/parted.c:2348 #, fuzzy msgid "align-check" msgstr "Prüfen" #: parted/parted.c:2351 msgid "" "align-check TYPE N check partition N for TYPE(min|" "opt) alignment" msgstr "" #: parted/parted.c:2359 msgid "check" msgstr "Prüfen" #: parted/parted.c:2362 msgid "" "check NUMBER do a simple check on the file system" msgstr "" "check NUMMER Einen einfachen Test auf dem " "Dateisystem ausführen." #: parted/parted.c:2368 msgid "cp" msgstr "cp" #: parted/parted.c:2371 msgid "" "cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another " "partition" msgstr "" "cp [VON-GERÄT] VON-NUMMER AUF-NUMMER Dateisystem auf andere Partition " "kopieren" #: parted/parted.c:2377 msgid "help" msgstr "help" #: parted/parted.c:2380 msgid "" "help [COMMAND] print general help, or help on " "COMMAND" msgstr "" "help [KOMMANDO] Allgemeine Hilfe, oder Hilfe zu " "KOMMANDO" #: parted/parted.c:2386 msgid "mklabel" msgstr "mklabel" #: parted/parted.c:2386 msgid "mktable" msgstr "mktable" #: parted/parted.c:2389 msgid "" "mklabel,mktable LABEL-TYPE create a new disklabel (partition " "table)" msgstr "" "mklabel,mktable LABEL-TYP Neues Disklabel (Partitionstabelle) " "erzeugen" #: parted/parted.c:2395 msgid "mkfs" msgstr "mkfs" #: parted/parted.c:2398 #, fuzzy msgid "" "mkfs NUMBER FS-TYPE make a FS-TYPE file system on " "partition NUMBER" msgstr "" "mkfs NUMMER FS-TYP Dateisystem FS-TYP auf Partition " "NUMMER erzeugen" #: parted/parted.c:2404 msgid "mkpart" msgstr "mkpart" #: parted/parted.c:2407 msgid "mkpart PART-TYPE [FS-TYPE] START END make a partition" msgstr "mkpart PART-TYP [FS-TYP] ANFANG ENDE Partition erzeugen" #: parted/parted.c:2413 msgid "" "'mkpart' makes a partition without creating a new file system on the " "partition. FS-TYPE may be specified to set an appropriate partition ID.\n" msgstr "" "'mkpart' erzeugt eine Partition ohne ein neues Dateisystem auf der Partition " "zu erzeugen. FS-TYP kann angegeben werden, um eine geeignete Partitions-ID " "zu setzen.\n" #: parted/parted.c:2418 msgid "mkpartfs" msgstr "mkpartfs" #: parted/parted.c:2421 msgid "" "mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system" msgstr "" "mkpartfs PART-TYP FS-TYP ANFANG ENDE Partition mit Dateisystem erzeugen" #: parted/parted.c:2427 msgid "move" msgstr "move" #: parted/parted.c:2430 msgid "move NUMBER START END move partition NUMBER" msgstr "move NUMMER ANFANG ENDE Partition NUMBER verschieben" #: parted/parted.c:2435 msgid "name" msgstr "name" #: parted/parted.c:2438 msgid "name NUMBER NAME name partition NUMBER as NAME" msgstr "" "name NUMMER NAME Partition NUMMER mit NAME benennen" #: parted/parted.c:2443 msgid "print" msgstr "print" #: parted/parted.c:2446 msgid "" "print [devices|free|list,all|NUMBER] display the partition table, " "available devices, free space, all found partitions, or a particular " "partition" msgstr "" "print [devices|free|list,all|NUMMER] Partitionstabelle, verfügbare " "Geräte, freien Speicher, alle Paritionen oder eine bestimmte Partition " "anzeigen" #: parted/parted.c:2451 msgid "" "Without arguments, 'print' displays the entire partition table. However with " "the following arguments it performs various other actions.\n" msgstr "" "Ohne Argumente zeigt 'print' die komplette Partitionstabelle an. Mit den " "folgenden Argumenten verrichtet es die zahlreichen anderen Aktionen.\n" #: parted/parted.c:2453 msgid " devices : display all active block devices\n" msgstr " devices : zeigt alle aktiven blockorientierten Geräte an\n" #: parted/parted.c:2454 msgid "" " free : display information about free unpartitioned space on the " "current block device\n" msgstr "" " free : zeigt Informationen über freien, unpartitionierten Platz auf " "dem aktuellen blockorientierten Gerät an\n" #: parted/parted.c:2456 msgid "" " list, all : display the partition tables of all active block devices\n" msgstr "" " list, all : anzeigen der Partitionstabellen aller aktiven " "blockorientierten Geräte\n" #: parted/parted.c:2457 msgid "" " NUMBER : display more detailed information about this particular " "partition\n" msgstr "" " NUMMER : Detailiertere Informationen über diese Partition anzeigen\n" #: parted/parted.c:2462 msgid "quit" msgstr "quit" #: parted/parted.c:2465 msgid "quit exit program" msgstr "quit Programm beenden" #: parted/parted.c:2470 msgid "rescue" msgstr "rescue" #: parted/parted.c:2473 msgid "" "rescue START END rescue a lost partition near START " "and END" msgstr "" "rescue ANFANG ENDE Eine verlorene Partitionen zwischen " "ANFANG und ENDE retten" #: parted/parted.c:2479 msgid "resize" msgstr "resize" #: parted/parted.c:2482 msgid "" "resize NUMBER START END resize partition NUMBER and its " "file system" msgstr "" "resize NUMMER ANFANG ENDE Dateisystem- und Partitionsgröße " "auf Partition NUMMER ändern" #: parted/parted.c:2490 msgid "rm" msgstr "rm" #: parted/parted.c:2493 msgid "rm NUMBER delete partition NUMBER" msgstr "rm NUMMER Partion NUMMER löschen" #: parted/parted.c:2498 msgid "select" msgstr "select" #: parted/parted.c:2501 msgid "select DEVICE choose the device to edit" msgstr "" "select GERÄT Wählen Sie ein GERÄT zur Bearbeitung" #: parted/parted.c:2506 msgid "set" msgstr "set" #: parted/parted.c:2509 msgid "" "set NUMBER FLAG STATE change the FLAG on partition NUMBER" msgstr "" "set NUMMER FLAG STATUS ändern des FLAGs auf der Partition " "NUMMER" #: parted/parted.c:2515 msgid "toggle" msgstr "toggle" #: parted/parted.c:2518 msgid "" "toggle [NUMBER [FLAG]] toggle the state of FLAG on " "partition NUMBER" msgstr "" "toggle [NUMMER [FLAG]] umschalten des FLAGs von Partition " "NUMMER" #: parted/parted.c:2524 msgid "unit" msgstr "unit" #: parted/parted.c:2527 msgid "unit UNIT set the default unit to UNIT" msgstr "" "unit EINHEIT die Standardgröße auf EINHEIT setzen" #: parted/parted.c:2532 msgid "version" msgstr "version" #: parted/parted.c:2535 msgid "" "version display the version number and " "copyright information of GNU Parted" msgstr "" "version zeigt die Versions- und Copyright-" "Informationen von GNU Parted an" #: parted/parted.c:2539 msgid "" "'version' displays copyright and version information corresponding to this " "copy of GNU Parted\n" msgstr "" "'version' zeigt die Versions- und Copyright-Informationen zu dieser Kopie " "von GNU Parted an\n" #: parted/parted.c:2607 #, fuzzy, c-format msgid "Usage: %s [-hlmsv] [-a] [DEVICE [COMMAND [PARAMETERS]]...]\n" msgstr "Aufruf: %s [-hlmsv] [GERÄT [KOMMANDO [PARAMETER]]...]\n" #: parted/parted.c:2651 msgid "No device found" msgstr "Kein Gerät gefunden" #: parted/parted.c:2688 msgid "WARNING: You are not superuser. Watch out for permissions." msgstr "WARNUNG: Sie sind nicht root. Achten Sie auf Ihre Rechte." #: parted/parted.c:2726 msgid "You may need to update /etc/fstab.\n" msgstr "Möglicherweise müssen Sie /etc/fstab anpassen.\n" #: parted/ui.c:162 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n" msgstr "" "Willkommen zu GNU Parted! Geben Sie 'help' ein, um eine Liste der " "verfügbaren Kommados zu erhalten.\n" #: parted/ui.c:165 msgid "" "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n" "Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run " "in\n" "interactive mode.\n" msgstr "" "Aufruf: parted [OPTION]... [GERÄT [KOMMANDO [PARAMETER]...]...]\n" "KOMMANDOs mit PARAMETERn für GERÄT ausführen. Wenn keine KOMMANDOs angegeben " "sind,\n" " interaktiv arbeiten.\n" #: parted/ui.c:170 #, c-format msgid "" "\n" "\n" "You found a bug in GNU Parted! Here's what you have to do:\n" "\n" "Don't panic! The bug has most likely not affected any of your data.\n" "Help us to fix this bug by doing the following:\n" "\n" "Check whether the bug has already been fixed by checking\n" "the last version of GNU Parted that you can find at:\n" "\n" "\thttp://ftp.gnu.org/gnu/parted/\n" "\n" "Please check this version prior to bug reporting.\n" "\n" "If this has not been fixed yet or if you don't know how to check,\n" "please visit the GNU Parted website:\n" "\n" "\thttp://www.gnu.org/software/parted\n" "\n" "for further information.\n" "\n" "Your report should contain the version of this release (%s)\n" "along with the error message below, the output of\n" "\n" "\tparted DEVICE unit co print unit s print\n" "\n" "and the following history of commands you entered.\n" "Also include any additional information about your setup you\n" "consider important.\n" msgstr "" "\n" "\n" "Sie haben einen Fehler in GNU Parted gefunden! Hier steht, was Sie tun " "sollten:\n" "\n" "Bleiben Sie ruhig! Der Fehler sollte Ihre Daten nicht beeinträchtigt haben.\n" "Helfen Sie uns, den Fehler zu beseitigen, indem Sie folgendes tun:\n" "\n" "Überprüfen Sie, ob der Fehler bereits ausgebesert wurde, indem Sie die \n" "neueste Version von GNU Parted verwenden:\n" "\n" "\thttp://ftp.gnu.org/gnu/parted/\n" "\n" "Bitte überprüfen Sie diese Version, bevor Sie einen Fehlerbericht " "einreichen.\n" "\n" "Falls der Fehler noch nicht beseitigt sein sollte, oder falls Sie nicht " "wissen sollten, wie Sie das überprüfen soll,\n" " besuchen Sie bitte die GNU Parted- Webseite:\n" "\n" "\thttp://www.gnu.org/software/parted\n" "\n" "für weitere Informationen.\n" "\n" "Ihr Bericht sollte die Version dieser Fregabe beinhalten (%s),\n" "die untenstehende Fehlermeldung und die Ausgabe von \n" "\n" "\tparted GERÄT unit co print unit s print\n" "\n" "und die folgende Befehlsgeschichte, die sie eingegeben haben.\n" "Nehmen Sie auch noch weitere Informationen über Ihr System auf, die Sie als " "wichtig empfinden.\n" #: parted/ui.c:291 msgid "" "\n" "Command History:\n" msgstr "" "\n" "Befehlsgeschichte:\n" #: parted/ui.c:354 msgid "" "\n" "Error: SEGV_MAPERR (Address not mapped to object)\n" msgstr "" "\n" "Fehler: SEGV_MAPERR (Adresse nicht an ein Objekt gebunden)\n" #: parted/ui.c:360 msgid "" "\n" "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n" msgstr "" "\n" "Fehler: SEGV_ACCERR (Ungültige Berechtigung für gebundenes Objekt)\n" #: parted/ui.c:365 msgid "" "\n" "Error: A general SIGSEGV signal was encountered.\n" msgstr "" "\n" "Fehler: Ein genereller SIGSEGV-Signal wurde empfangen.\n" #: parted/ui.c:389 msgid "" "\n" "Error: FPE_INTDIV (Integer: divide by zero)" msgstr "" "\n" "Fehler: FPE_INTDIV (Ganzzahl: Division durch Null)" #: parted/ui.c:394 msgid "" "\n" "Error: FPE_INTOVF (Integer: overflow)" msgstr "" "\n" "Fehler: FPE_INTOVF (Ganzzahl: Overflow)" #: parted/ui.c:399 msgid "" "\n" "Error: FPE_FLTDIV (Float: divide by zero)" msgstr "" "\n" "Fehler: FPE_FLTDIV (Fließkommazahl: Division durch Null)" #: parted/ui.c:404 msgid "" "\n" "Error: FPE_FLTOVF (Float: overflow)" msgstr "" "\n" "Fehler: FPE_FLTOVF (Fließkommazahl: Overflow)" #: parted/ui.c:409 msgid "" "\n" "Error: FPE_FLTUND (Float: underflow)" msgstr "" "\n" "Fehler: FPE_FLTUND (Fließkommazahl: Underflow)" #: parted/ui.c:414 msgid "" "\n" "Error: FPE_FLTRES (Float: inexact result)" msgstr "" "\n" "Fehler: FPE_FLTRES (Fließkommazahl ungenaues Ergebnis)" #: parted/ui.c:419 msgid "" "\n" "Error: FPE_FLTINV (Float: invalid operation)" msgstr "" "\n" "Fehler: FPE_FLTINV (Fließkommazahl: ungültige Operation)" #: parted/ui.c:424 msgid "" "\n" "Error: FPE_FLTSUB (Float: subscript out of range)" msgstr "" "\n" "Fehler: FPE_FLTSUB (Fließkommazahl: Index außerhalb des zulässigen Bereichs)" #: parted/ui.c:429 msgid "" "\n" "Error: A general SIGFPE signal was encountered." msgstr "" "\n" "Fehler: Ein generelles SIGFPE-Signal wurde empfangen." #: parted/ui.c:453 msgid "" "\n" "Error: ILL_ILLOPC (Illegal Opcode)" msgstr "" "\n" "Fehler: ILL_ILLOPC (Nicht erlaubter Opcode)" #: parted/ui.c:458 msgid "" "\n" "Error: ILL_ILLOPN (Illegal Operand)" msgstr "" "\n" "Fehler: ILL_ILLOPN (Nicht erlaubter Operand)" #: parted/ui.c:463 msgid "" "\n" "Error: ILL_ILLADR (Illegal addressing mode)" msgstr "" "\n" "Fehler: ILL_ILLADR (Nicht erlaubter Adressierungsmodus)" #: parted/ui.c:468 msgid "" "\n" "Error: ILL_ILLTRP (Illegal Trap)" msgstr "" "\n" "Fehler: ILL_ILLTRP (Nicht erlaubte Falle)" #: parted/ui.c:473 msgid "" "\n" "Error: ILL_PRVOPC (Privileged Opcode)" msgstr "" "\n" "Fehler: ILL_PRVOPC (Privilegierter Opcode)" #: parted/ui.c:478 msgid "" "\n" "Error: ILL_PRVREG (Privileged Register)" msgstr "" "\n" "Fehler: ILL_PRVREG (Privilegiertes Register)" #: parted/ui.c:483 msgid "" "\n" "Error: ILL_COPROC (Coprocessor Error)" msgstr "" "\n" "Fehler: ILL_COPROC (Coprozessor-Fehler)" #: parted/ui.c:488 msgid "" "\n" "Error: ILL_BADSTK (Internal Stack Error)" msgstr "" "\n" "Fehler: ILL_BADSTK (Interner Stack-Fehler)" #: parted/ui.c:493 msgid "" "\n" "Error: A general SIGILL signal was encountered." msgstr "" "\n" "Fehler: Ein generelles SIGILL-Signal wurde empfangen." #: parted/ui.c:892 #, c-format msgid "invalid token: %s" msgstr "Unbekanntes Zeichen: %s" #: parted/ui.c:1048 msgid "Expecting a partition number." msgstr "Es wird eine Partitionsnummer erwartet." #: parted/ui.c:1057 msgid "Partition doesn't exist." msgstr "Die Partition existiert nicht." #: parted/ui.c:1077 msgid "Expecting a file system type." msgstr "Es wird ein Dateisystemtyp erwartet." #: parted/ui.c:1084 #, c-format msgid "Unknown file system type \"%s\"." msgstr "Unbekannter Dateisystemtyp \"%s\"." #: parted/ui.c:1104 msgid "Expecting a disk label type." msgstr "Es wird ein Disklabeltyp erwartet." #: parted/ui.c:1202 msgid "Can't create any more partitions." msgstr "Kann keine weitere Partition erzeugen." #: parted/ui.c:1212 msgid "Expecting a partition type." msgstr "Es wird ein Partitionstyp erwartet." #: parted/ui.c:1360 msgid "on" msgstr "an" #: parted/ui.c:1361 msgid "off" msgstr "aus" #: parted/ui.c:1378 msgid "optimal" msgstr "" #: parted/ui.c:1379 msgid "minimal" msgstr "" #: parted/ui.c:1512 msgid "OPTIONs:" msgstr "OPTIONen:" #: parted/ui.c:1517 msgid "COMMANDs:" msgstr "KOMMANDOs:" #: parted/ui.c:1520 #, fuzzy, c-format msgid "" "\n" "Report bugs to %s\n" msgstr "" "\n" "Fehler an <%s> berichten.\n" #: parted/ui.c:1527 #, c-format msgid "Using %s\n" msgstr "Verwende %s\n" #: parted/ui.c:1601 msgid "This command does not make sense in non-interactive mode.\n" msgstr "Dieses Kommando macht im nicht-interaktiven Modus keinen Sinn.\n" #~ msgid "" #~ "Device %s has a logical sector size of %lld. Not all parts of GNU Parted " #~ "support this at the moment, and the working code is HIGHLY EXPERIMENTAL.\n" #~ msgstr "" #~ "Das Gerät %s hat eine logische Sektorgröße von %lld. Nicht alle Teile von " #~ "GNU Parted unterstützen dies im Moment und der funktionierende Code ist " #~ "HOCH EXPERIMENTELL.\n" #, fuzzy #~ msgid "" #~ "Could not determine minimum io size for %s: %s.\n" #~ "Using the default size (%lld)." #~ msgstr "" #~ "Die Sektorgröße von %s konnte nicht ermittelt werden: %s.\n" #~ "Es wird die Standardsektorgröße verwendet (%lld)." #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: unerlaubte Option -- %c\n" #~ msgid "Unable to determine the block size of this dasd" #~ msgstr "Die Blockgröße dieses dasd kann nicht kann nicht bestimmt werden" #~ msgid "" #~ "The kernel was unable to re-read the partition table on %s (%s). This " #~ "means Linux won't know anything about the modifications you made until " #~ "you reboot. You should reboot your computer before doing anything with " #~ "%s." #~ msgstr "" #~ "Der Kernel konnte die Partitionstabelle von %s nicht neu einlesen (%s). " #~ "Das bedeutet, dass Linux bis zum Neustart nichts über Ihrer " #~ "Modifikationen weiss. Sie sollten den Rechner neu starten, bevor Sie %s " #~ "irgendwie verwenden." #~ msgid "File system has an incompatible feature enabled." #~ msgstr "Das Dateisystem hat eine inkompatible Funktion aktiviert." parted-2.3/po/sk.po0000644000000000000000000033151011400005705011112 00000000000000# Slovak translation of parted. # Copyright (C) 2001, 2004, 2005 Free Software Foundation, Inc. # This file is distributed under the same license as the parted package. # Ivan Masár , 2007, 2008, 2009, 2010. # msgid "" msgstr "" "Project-Id-Version: parted 2.2\n" "Report-Msgid-Bugs-To: bug-parted@gnu.org\n" "POT-Creation-Date: 2010-05-28 20:30+0200\n" "PO-Revision-Date: 2010-02-26 23:11+0100\n" "Last-Translator: Ivan Masár \n" "Language-Team: Slovak \n" "Language: sk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "neplatný argument %s pre %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "nejednoznaÄný argument %s pre %s" #: lib/argmatch.c:153 #, c-format msgid "Valid arguments are:" msgstr "Platné argumenty sú:" #: lib/closeout.c:112 libparted/labels/fdasd.c:107 msgid "write error" msgstr "chyba zápisu" #: lib/error.c:181 msgid "Unknown system error" msgstr "Neznáma systémová chyba" #: lib/getopt.c:527 lib/getopt.c:543 #, c-format msgid "%s: option '%s' is ambiguous\n" msgstr "%s: voľba „%s“ je nejednoznaÄná\n" #: lib/getopt.c:576 lib/getopt.c:580 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: voľba „--%s“ nepovoľuje argument\n" #: lib/getopt.c:589 lib/getopt.c:594 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: voľba „%c%s“ nepovoľuje argument\n" #: lib/getopt.c:637 lib/getopt.c:656 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: voľba „%s“ vyžaduje argument\n" #: lib/getopt.c:694 lib/getopt.c:697 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: nerozpoznaná voľba „--%s“\n" #: lib/getopt.c:705 lib/getopt.c:708 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: nerozpoznaná voľba „%c%s“\n" #: lib/getopt.c:757 lib/getopt.c:760 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: neplatná voľba -- %c\n" #: lib/getopt.c:810 lib/getopt.c:827 lib/getopt.c:1035 lib/getopt.c:1053 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: voľba vyžaduje argument -- %c\n" #: lib/getopt.c:883 lib/getopt.c:899 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: voľba „-W %s“ je nejednoznaÄná\n" #: lib/getopt.c:923 lib/getopt.c:941 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: voľba „-W %s“ nepovoľuje argument\n" #: lib/getopt.c:962 lib/getopt.c:980 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: voľba „%s“ vyžaduje argument\n" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". If the catalog has no translation, #. locale_quoting_style quotes `like this', and #. clocale_quoting_style quotes "like this". #. #. For example, an American English Unicode locale should #. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and #. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION #. MARK). A British English Unicode locale should instead #. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) #. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. #. #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. #: lib/quotearg.c:272 msgid "`" msgstr "„" #: lib/quotearg.c:273 msgid "'" msgstr "“" #: lib/regcomp.c:134 msgid "Success" msgstr "ÚspeÅ¡né" #: lib/regcomp.c:137 msgid "No match" msgstr "Bez zhody" #: lib/regcomp.c:140 msgid "Invalid regular expression" msgstr "Neplatný regulárny výraz" #: lib/regcomp.c:143 msgid "Invalid collation character" msgstr "Neplatný znak triedenia" #: lib/regcomp.c:146 msgid "Invalid character class name" msgstr "Neplatný názov triedy znakov" #: lib/regcomp.c:149 msgid "Trailing backslash" msgstr "Lomka na konci" #: lib/regcomp.c:152 msgid "Invalid back reference" msgstr "Neplatný spätný odkaz" #: lib/regcomp.c:155 msgid "Unmatched [ or [^" msgstr "[ alebo [^ bez náprotivku" #: lib/regcomp.c:158 msgid "Unmatched ( or \\(" msgstr "( alebo \\( bez náprotivku" #: lib/regcomp.c:161 msgid "Unmatched \\{" msgstr "\\{ bez náprotivku" #: lib/regcomp.c:164 msgid "Invalid content of \\{\\}" msgstr "Neplatný obsah \\{\\}" #: lib/regcomp.c:167 msgid "Invalid range end" msgstr "Neplatné ukonÄenie rozsahu" #: lib/regcomp.c:170 msgid "Memory exhausted" msgstr "Pamäť bola vyÄerpaná" #: lib/regcomp.c:173 msgid "Invalid preceding regular expression" msgstr "Neplatný predchádzajúci regulárny výraz" #: lib/regcomp.c:176 msgid "Premature end of regular expression" msgstr "PredÄasný koniec regulárneho výrazu" #: lib/regcomp.c:179 msgid "Regular expression too big" msgstr "Regulárny výraz je príliÅ¡ veľký" #: lib/regcomp.c:182 msgid "Unmatched ) or \\)" msgstr ") alebo \\) bez náprotivku" #: lib/regcomp.c:703 msgid "No previous regular expression" msgstr "Žiaden predchádzajúci regulárny výraz" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[aAáÃyY]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nN]" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Balík vytvoril %s (%s)\n" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Balík vytvoril %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "©" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "Licencia GPLv3+: GNU GPL verzie 3 alebo neskorÅ¡ia \n" "Toto je slobodný softvér: môžete ho slobodne meniÅ¥ a redistribuovaÅ¥.\n" "Neexistuje ŽIADNA ZÃRUKA do rozsahu, aký pripúšťa zákon.\n" "\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Napísal %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Napísal %s a %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Napísal %s, %s a %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "Napísal %s, %s, %s\n" "a %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Napísal %s, %s, %s,\n" "%s a %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Napísal %s, %s, %s,\n" "%s, %s a %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Napísal %s, %s, %s,\n" "%s, %s, %s a %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Napísal %s, %s, %s,\n" "%s, %s, %s, %s\n" "a %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Napísal %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s a %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Napísal %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s a Äalší.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Chyby hláste <%s>.\n" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "Chyby %s hláste %s\n" #: lib/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "Domovská stránka %s: <%s>\n" #: lib/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "Domovská stránka %s: \n" #: lib/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" "VÅ¡eobecná pomoc s použitím softvéru GNU: \n" #: lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "pamäť je vyÄerpaná" #: lib/xstrtol-error.c:63 #, c-format msgid "invalid %s%s argument `%s'" msgstr "neplatný %s%s argument „%s“" #: lib/xstrtol-error.c:68 #, c-format msgid "invalid suffix in %s%s argument `%s'" msgstr "neplatná prípona v %s%s argument „%s“" #: lib/xstrtol-error.c:72 #, c-format msgid "%s%s argument `%s' too large" msgstr "%s%s argument „%s“ príliÅ¡ veľký" #: libparted/arch/beos.c:245 msgid "Disk Image" msgstr "Obraz disku" #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277 #: libparted/arch/linux.c:1519 #, c-format msgid "Error opening %s: %s" msgstr "Chyba pri otváraní %s: %s" #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287 #: libparted/arch/linux.c:1530 #, c-format msgid "Unable to open %s read-write (%s). %s has been opened read-only." msgstr "" "Nemôžem otvoriÅ¥ %s na Äítanie/zápis (%s). %s bol otvorený len na Äítanie." #: libparted/arch/beos.c:419 libparted/arch/linux.c:1688 #, c-format msgid "%s during seek for read on %s" msgstr "%s pri vyhľadávaní pre Äítanie na %s" #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564 #: libparted/arch/gnu.c:692 libparted/arch/linux.c:1648 #: libparted/arch/linux.c:1729 #, c-format msgid "%s during read on %s" msgstr "%s pri Äítaní %s" #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525 #: libparted/arch/linux.c:1805 #, c-format msgid "Can't write to %s, because it is opened read-only." msgstr "Nemôžem zapisovaÅ¥ na %s, pretože je tvorený len na Äítanie." #: libparted/arch/beos.c:504 libparted/arch/linux.c:1830 #, c-format msgid "%s during seek for write on %s" msgstr "%s pri pri vyhľadávaní pre zápis na %s" #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646 #: libparted/arch/gnu.c:723 libparted/arch/linux.c:1778 #: libparted/arch/linux.c:1872 libparted/arch/linux.c:1944 #, c-format msgid "%s during write on %s" msgstr "%s pri zápise na %s" #: debug/clearfat/clearfat.c:62 partprobe/partprobe.c:137 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Viac informácií získate po napísaní „%s --help“.\n" #: debug/clearfat/clearfat.c:66 #, c-format msgid "" "Usage: %s [OPTION]\n" " or: %s DEVICE MINOR\n" msgstr "" "Použitie: %s [VOĽBA]\n" " alebo: %s ZARIADENIE MINOR\n" #: debug/clearfat/clearfat.c:69 msgid "" "Clear unused space on a FAT partition (a GNU Parted testing tool).\n" "\n" msgstr "" "VyÄistiÅ¥ nevyužité miesto na oblasti FAT (a nástroj na testovanie GNU " "Parted).\n" "\n" #: debug/clearfat/clearfat.c:73 msgid " --help display this help and exit\n" msgstr " --help zobraziÅ¥ tohto pomocníka a skonÄiÅ¥\n" #: debug/clearfat/clearfat.c:74 msgid " --version output version information and exit\n" msgstr " --version vypísaÅ¥ informácie o verzii a skonÄiÅ¥\n" #: debug/clearfat/clearfat.c:76 partprobe/partprobe.c:154 #, c-format msgid "" "\n" "Report bugs to <%s>.\n" msgstr "" "\n" "Chyby hláste <%s>.\n" #: debug/clearfat/clearfat.c:284 #, c-format msgid "too few arguments" msgstr "príliÅ¡ málo argumentov" #: debug/clearfat/clearfat.c:289 #, c-format msgid "too many arguments" msgstr "príliÅ¡ veľa argumentov" #: debug/clearfat/clearfat.c:297 #, c-format msgid "invalid minor device number: %s" msgstr "neplatn0 vedľajÅ¡ie Äíslo zariadenia: %s" #: partprobe/partprobe.c:141 #, c-format msgid "Usage: %s [OPTION] [DEVICE]...\n" msgstr "Použitie: %s [VOĽBA] [ZARIADENIE]...\n" #: partprobe/partprobe.c:142 msgid "" "Inform the operating system about partition table changes.\n" "\n" " -d, --dry-run do not actually inform the operating system\n" " -s, --summary print a summary of contents\n" " -h, --help display this help and exit\n" " -v, --version output version information and exit\n" msgstr "" "InformovaÅ¥ OS o zmenách tabuľky oblastí.\n" "\n" " -d, --no-update v skutoÄnosti neinformovaÅ¥ OS\n" " -s, --summary vypísaÅ¥ zhrnutie obsahu\n" " -h, --help zobraziÅ¥ tento návod a skonÄiÅ¥\n" " -v, --version vypísaÅ¥ info o verzii a skonÄiÅ¥\n" #: partprobe/partprobe.c:150 msgid "" "\n" "When no DEVICE is given, probe all partitions.\n" msgstr "" "\n" "Bez zadaného ZARIADENIA skúsi vÅ¡etky oblasti.\n" #: libparted/arch/gnu.c:110 #, c-format msgid "Unable to open %s." msgstr "Nemôžem otvoriÅ¥ %s." #: libparted/arch/gnu.c:130 msgid "Unable to probe store." msgstr "Nemôžem preskúmaÅ¥ úložný priestor." #: libparted/arch/gnu.c:368 msgid "" "The partition table cannot be re-read. This means you need to reboot before " "mounting any modified partitions. You also need to reinstall your boot " "loader before you reboot (which may require mounting modified partitions). " "It is impossible do both things! So you'll need to boot off a rescue disk, " "and reinstall your boot loader from the rescue disk. Read section 4 of the " "Parted User documentation for more information." msgstr "" "Nebolo možné znovu naÄítaÅ¥ tabuľku oblastí, takže budete musieÅ¥ pred " "pripojením zmenených oblastí reÅ¡tartovaÅ¥ poÄítaÄ. Tiež musíte pred reÅ¡tartom " "znovu nainÅ¡talovaÅ¥ svoj zavádzaÄ systému (Äo môže vyžadovaÅ¥ pripojenie " "zmenených oblastí). Nie je možné vykonaÅ¥ oboje! Takže budete musieÅ¥ zaviesÅ¥ " "systém zo záchranného disku a znovu nainÅ¡talovaÅ¥ svoj zavádzaÄ systému " "odtiaľ. PodrobnejÅ¡ie informácie sa doÄítate v kapitole 4 Používateľskej " "dokumentácie Parted." #: libparted/arch/gnu.c:385 #, c-format msgid "" "The partition table on %s cannot be re-read (%s). This means the Hurd knows " "nothing about any modifications you made. You should reboot your computer " "before doing anything with %s." msgstr "" "Tabuľku oblastí na %s nie je možné znovu naÄítaÅ¥ (%s). To znamená, že Hurd " "nevie niÄ o zmenách, ktoré ste vykonali. Než budete Äokoľvek robiÅ¥ s %s, " "mali by ste reÅ¡tartovaÅ¥ svoj poÄítaÄ." #: libparted/arch/gnu.c:396 parted/parted.c:2719 msgid "" "You should reinstall your boot loader before rebooting. Read section 4 of " "the Parted User documentation for more information." msgstr "" "Pred reÅ¡tartom by ste mali reinÅ¡talovaÅ¥ svoj zavádzaÄ systému. Viac " "informáci nájdete v kapitole 4 Používateľskej dokumentácie Parted." #: libparted/arch/gnu.c:788 #, c-format msgid "%s trying to sync %s to disk" msgstr "%s pri pokuse o sync %s na disk" #: libparted/arch/linux.c:509 #, c-format msgid "Could not stat device %s - %s." msgstr "Nemôžem získaÅ¥ stat zariadenia %s - %s." #: libparted/arch/linux.c:566 #, c-format msgid "Unable to determine the dm type of %s." msgstr "Nepodarilo sa urÄiÅ¥ typ dm %s" #: libparted/arch/linux.c:658 #, c-format msgid "" "Could not determine sector size for %s: %s.\n" "Using the default sector size (%lld)." msgstr "" "Nebolo možné urÄiÅ¥ veľkosÅ¥ sektora %s: %s.\n" "Používam Å¡tandardnú veľkosÅ¥ sektora (%lld)." #: libparted/arch/linux.c:679 #, c-format msgid "" "Could not determine physical sector size for %s.\n" "Using the logical sector size (%lld)." msgstr "" "Nebolo možné urÄiÅ¥ veľkosÅ¥ sektora %s.\n" "Použije sa Å¡tandardná veľkosÅ¥ sektora (%lld)." #: libparted/arch/linux.c:728 #, c-format msgid "Unable to determine the size of %s (%s)." msgstr "Nepodarilo sa urÄiÅ¥ veľkosÅ¥ %s (%s)" #: libparted/arch/linux.c:814 #, c-format msgid "Could not get identity of device %s - %s" msgstr "Nemôžem získat identitu zariadenia %s - %s" #: libparted/arch/linux.c:823 msgid "Generic IDE" msgstr "VÅ¡eobecný IDE" #: libparted/arch/linux.c:844 #, c-format msgid "" "Device %s has multiple (%d) logical sectors per physical sector.\n" "GNU Parted supports this EXPERIMENTALLY for some special disk label/file " "system combinations, e.g. GPT and ext2/3.\n" "Please consult the web site for up-to-date information." msgstr "" "Zariadenie %s má viacero (%d) logických sektorov na fyzický sektor.\n" "GNU Parted oto podporuje EXPERIMENTÃLNE pre niektoré Å¡peciálne kombinácie " "zväzkov/súborových systémov, napr. GPT a ext2/3.\n" "Prosím, pozrite si aktuálne informácie na webe." #: libparted/arch/linux.c:1019 #, c-format msgid "Error initialising SCSI device %s - %s" msgstr "Chyba pri inicializácii zariadenia SCSI %s - %s" #: libparted/arch/linux.c:1083 #, c-format msgid "" "The device %s has zero length, and can't possibly store a file system or " "partition table. Perhaps you selected the wrong device?" msgstr "" "Zariadenie %s má nulovú dĺžku a nemôže obsahovaÅ¥ systém súborov ani tabuľku " "oblastí. Možno ste vybrali chybné zariadenie?" #: libparted/arch/linux.c:1190 #, c-format msgid "" "Unable to determine geometry of file/device %s. You should not use Parted " "unless you REALLY know what you're doing!" msgstr "" "Nemôžem urÄiÅ¥ geometriu súboru/zariadenia %s. Nemali by ste používaÅ¥ Parted, " "ak NAOZAJ neviete, Äo robíte!" #: libparted/arch/linux.c:1250 msgid "Generic SD/MMC Storage Card" msgstr "VÅ¡eobecná úložná karta SD/MMC" #: libparted/arch/linux.c:1303 msgid "DAC960 RAID controller" msgstr "radiÄ RAID DAC960" #: libparted/arch/linux.c:1308 msgid "Promise SX8 SATA Device" msgstr "Promise SX8 zariadenie SATA" #: libparted/arch/linux.c:1313 msgid "ATA over Ethernet Device" msgstr "" #: libparted/arch/linux.c:1319 msgid "IBM S390 DASD drive" msgstr "jednotka IBM S390 DASD" #: libparted/arch/linux.c:1325 msgid "IBM iSeries Virtual DASD" msgstr "IBM iSeries Virtual DASD" #: libparted/arch/linux.c:1330 msgid "Compaq Smart Array" msgstr "Compaq Smart Array" #: libparted/arch/linux.c:1335 msgid "ATARAID Controller" msgstr "radiÄ ATARAID" #: libparted/arch/linux.c:1340 msgid "I2O Controller" msgstr "radiÄ I2O" #: libparted/arch/linux.c:1345 msgid "User-Mode Linux UBD" msgstr "User-Mode Linux UBD" #: libparted/arch/linux.c:1358 #, c-format msgid "Linux device-mapper (%s)" msgstr "mapovaÄ zariadení Linux (%s)" #: libparted/arch/linux.c:1369 msgid "Xen Virtual Block Device" msgstr "Virtuálne blokové zariadenie Xen" #: libparted/arch/linux.c:1374 msgid "Unknown" msgstr "Neznámy" #: libparted/arch/linux.c:1383 msgid "Virtio Block Device" msgstr "Blokové zariadenie Vistio" #: libparted/arch/linux.c:1388 msgid "Linux Software RAID Array" msgstr "" #: libparted/arch/linux.c:1395 msgid "ped_device_new() Unsupported device type" msgstr "ped_device_new() Nepodporovaný typ zariadenia" #: libparted/arch/linux.c:1492 libparted/arch/linux.c:1564 #, c-format msgid "Error fsyncing/closing %s: %s" msgstr "Chyba pri fsync/zatváraní %s: %s" #: libparted/arch/linux.c:1728 #, c-format msgid "end of file while reading %s" msgstr "koniec súboru poÄas Äítania %s" #: libparted/arch/linux.c:2365 #, c-format msgid "" "Error informing the kernel about modifications to partition %s -- %s. This " "means Linux won't know about any changes you made to %s until you reboot -- " "so you shouldn't mount it or use it in any way before rebooting." msgstr "" "Chyba pri informování jadra o zmenách oddielu %s - %s. To znamená, že Linux " "nebude vedieÅ¥ o zmenách, ktoré ste na %s vykonali, pokým nereÅ¡tartujete " "systém - takže by ste ho nemali pripájaÅ¥ ani ho pred reÅ¡tartom akokoľvek " "používaÅ¥." #: libparted/arch/linux.c:2503 #, fuzzy, c-format msgid "Unable to determine the size and length of %s." msgstr "Nepodarilo sa urÄiÅ¥ veľkosÅ¥ %s (%s)" #: libparted/arch/linux.c:2528 #, fuzzy, c-format msgid "Failed to add partition %d (%s)" msgstr "%s : Nepodarilo sa naÄítaÅ¥ blok oblasti %llu\n" #: libparted/arch/linux.c:2555 #, c-format msgid "" "Partition(s) %s on %s have been written, but we have been unable to inform " "the kernel of the change, probably because it/they are in use. As a result, " "the old partition(s) will remain in use. You should reboot now before " "making further changes." msgstr "" #: libparted/arch/linux.c:2681 #, c-format msgid "" "parted was unable to re-read the partition table on %s (%s). This means " "Linux won't know anything about the modifications you made. " msgstr "" "Jádro nedokázalo znovu naÄítaÅ¥ tabuľku oblastí na %s (%s). To znamená, že " "Linux vedieÅ¥ o zmenách, ktoré ste vykonali." #: libparted/cs/geom.c:162 #, c-format msgid "Can't have the end before the start! (start sector=%jd length=%jd)" msgstr "Nemožno maÅ¥ koniec pred zaÄiatkom! (poÄiat. sektor=%jd dĺžka=%jd)" #: libparted/cs/geom.c:170 msgid "Can't have a partition outside the disk!" msgstr "Nemožno maÅ¥ oblasÅ¥ mimo disku!" #: libparted/cs/geom.c:385 #, c-format msgid "Attempt to write sectors %ld-%ld outside of partition on %s." msgstr "Pokus o zápis sektorov %ld-%ld mimo oblasti na %s" #: libparted/cs/geom.c:425 libparted/fs/linux_swap/linux_swap.c:488 msgid "checking for bad blocks" msgstr "hľadám chybné bloky" #: libparted/debug.c:97 #, c-format msgid "Backtrace has %d calls on stack:\n" msgstr "Backtrace: %d volaní na zásobníku:\n" #: libparted/debug.c:110 #, c-format msgid "Assertion (%s) at %s:%d in function %s() failed." msgstr "Zlyhal predpoklad (%s) v %s:%d vo funkcii %s()." #: libparted/disk.c:193 #, c-format msgid "%s: unrecognised disk label" msgstr "%s: nerozpoznaná menovka disku." #: libparted/disk.c:486 #, c-format msgid "" "This libparted doesn't have write support for %s. Perhaps it was compiled " "read-only." msgstr "" "Táto libparted nemá podporu pre zápis na %s. Možno bola skompilovaná len na " "Äítanie." #: libparted/disk.c:631 #, c-format msgid "Partition %d is %s, but the file system is %s." msgstr "OblasÅ¥ %d má %s, ale systém súborov má %s." #: libparted/disk.c:841 msgid "cylinder_alignment" msgstr "cylinder_alignment" #: libparted/disk.c:847 #, c-format msgid "Unknown disk flag, %d." msgstr "Neznámý príznak disku, %d." #: libparted/disk.c:1286 #, c-format msgid "%s disk labels do not support extended partitions." msgstr "Menovky disku %s nepodporujú rozšírené oblasti." #: libparted/disk.c:1865 #, c-format msgid "%s disk labels don't support logical or extended partitions." msgstr "Menovky disku %s nepodporujú logické alebo rozšírené oblasti." #: libparted/disk.c:1878 msgid "Too many primary partitions." msgstr "PríliÅ¡ veľa primárnych oblastí." #: libparted/disk.c:1887 #, c-format msgid "" "Can't add a logical partition to %s, because there is no extended partition." msgstr "" "Nemožno pridaÅ¥ logickú oblasÅ¥ do %s, pretože neexistuje rozšírená oblasÅ¥." #: libparted/disk.c:1911 #, c-format msgid "Can't have more than one extended partition on %s." msgstr "Nie je možné maÅ¥ na %s viac než jednu rozšírenú oblasÅ¥." #: libparted/disk.c:1921 msgid "Can't have logical partitions outside of the extended partition." msgstr "Logické oblasti nemôžu byÅ¥ mimo rozšírenej oblasti." #: libparted/disk.c:1946 #, c-format msgid "Can't have a logical partition outside of the extended partition on %s." msgstr "Logická oblasÅ¥ nemôže byÅ¥ mimo rozšírenej oblasti na %s." #: libparted/disk.c:1956 libparted/disk.c:2015 libparted/disk.c:2193 msgid "Can't have overlapping partitions." msgstr "Nie je možné maÅ¥ prekrývajúce se oblasti." #: libparted/disk.c:1964 msgid "Can't have a primary partition inside an extended partition." msgstr "Primárna oblasÅ¥ nemôže byÅ¥ vnútri rozšírenej oblasti." #: libparted/disk.c:2395 msgid "metadata" msgstr "metadáta" #: libparted/disk.c:2397 msgid "free" msgstr "voľné" #: libparted/disk.c:2399 parted/ui.c:1193 parted/ui.c:1221 msgid "extended" msgstr "rozšírený" #: libparted/disk.c:2401 parted/ui.c:1197 parted/ui.c:1225 msgid "logical" msgstr "logický" #: libparted/disk.c:2403 parted/ui.c:1189 parted/ui.c:1217 msgid "primary" msgstr "primárny" #: libparted/disk.c:2419 msgid "boot" msgstr "zavádzací" #: libparted/disk.c:2421 msgid "bios_grub" msgstr "bios_grub" #: libparted/disk.c:2423 msgid "root" msgstr "koreňový" #: libparted/disk.c:2425 msgid "swap" msgstr "odkladací" #: libparted/disk.c:2427 msgid "hidden" msgstr "skrytý" #: libparted/disk.c:2429 msgid "raid" msgstr "RAID" #: libparted/disk.c:2431 msgid "lvm" msgstr "LVM" #: libparted/disk.c:2433 msgid "lba" msgstr "LBA" #: libparted/disk.c:2435 msgid "hp-service" msgstr "hp-service" #: libparted/disk.c:2437 msgid "palo" msgstr "palo" #: libparted/disk.c:2439 msgid "prep" msgstr "prep" #: libparted/disk.c:2441 msgid "msftres" msgstr "msftres" #: libparted/disk.c:2443 msgid "atvrecv" msgstr "atvrecv" #: libparted/disk.c:2445 msgid "diag" msgstr "" #: libparted/disk.c:2451 #, c-format msgid "Unknown partition flag, %d." msgstr "Neznámy príznak oblasti, %d." #: libparted/exception.c:77 msgid "Information" msgstr "Informácia" #: libparted/exception.c:78 msgid "Warning" msgstr "Upozornenie" #: libparted/exception.c:79 msgid "Error" msgstr "Chyba" #: libparted/exception.c:80 msgid "Fatal" msgstr "Fatálna chyba" #: libparted/exception.c:81 msgid "Bug" msgstr "Chyba" #: libparted/exception.c:82 msgid "No Implementation" msgstr "Neimplementované" #: libparted/exception.c:86 msgid "Fix" msgstr "Oprava" #: libparted/exception.c:87 msgid "Yes" msgstr "Ãno" #: libparted/exception.c:88 msgid "No" msgstr "Nie" #: libparted/exception.c:89 msgid "OK" msgstr "OK" #: libparted/exception.c:90 msgid "Retry" msgstr "Znovu" #: libparted/exception.c:91 msgid "Ignore" msgstr "IgnorovaÅ¥" #: libparted/exception.c:92 msgid "Cancel" msgstr "ZruÅ¡iÅ¥" #: libparted/exception.c:132 #, c-format msgid "" "A bug has been detected in GNU Parted. Refer to the web site of parted " "http://www.gnu.org/software/parted/parted.html for more information of what " "could be useful for bug submitting! Please email a bug report to bug-" "parted@gnu.org containing at least the version (%s) and the following " "message: " msgstr "" "Bola zistená chyba v GNU parted. Podrobnosti o tom, Äo by mohlo byÅ¥ užitoÄné " "pri ohlasovaní chyby sa dozviete na http://www.gnu.org/software/parted/" "parted.html. Prosím, poÅ¡lite emailom hlásenie o chybe na bug-parted@gnu.org " "obsahujúce minimálne Äíslo verzie (%s) a nasledujúcu správu:" #: libparted/filesys.c:462 msgid "Could not detect file system." msgstr "Nebolo možné detekovaÅ¥ systém súborov." #: libparted/filesys.c:473 msgid "The file system is bigger than its volume!" msgstr "Systém súborov je väÄší než zväzok, na ktorom sa nachádza!" #: libparted/filesys.c:481 #, c-format msgid "Support for opening %s file systems is not implemented yet." msgstr "" "Podpora pro otváranie súborových systémov %s eÅ¡te nie je implementovaná." #: libparted/filesys.c:523 #, c-format msgid "Support for creating %s file systems is not implemented yet." msgstr "" "Podpora pre vytváranie súborových systémov %s eÅ¡te nie je implementovaná." #: libparted/filesys.c:583 #, c-format msgid "Support for checking %s file systems is not implemented yet." msgstr "" "Podpora pre kontrolu súborových systémov %s eÅ¡te nie je implementovaná." #: libparted/filesys.c:649 msgid "raw block copying" msgstr "priame kopírovánie blokov" #: libparted/filesys.c:660 msgid "growing file system" msgstr "zväÄÅ¡ovanie systému súborov" #: libparted/filesys.c:700 msgid "Can't copy onto an overlapping partition." msgstr "Nemožno kopírovaÅ¥ do prekrývajúcej sa oblasti." #: libparted/filesys.c:722 #, c-format msgid "" "Direct support for copying file systems is not yet implemented for %s. " "However, support for resizing is implemented. Therefore, the file system " "can be copied if the new partition is at least as big as the old one. So, " "either shrink the partition you are trying to copy, or copy to a bigger " "partition." msgstr "" "Priama podpora pre kopírovanie súborových systémov zatiaľ nie je " "implementovaná pre %s. Ale je implementovaná podpora zmeny veľkosti. Preto " "nie je možné skopírovaÅ¥ súborový systém ak je nová oblasÅ¥ najmenej taká " "veľká ako tá stará. Takže buÄ zmenÅ¡ite oblasÅ¥, ktorú sa pokúšate kopírovaÅ¥ " "alebo kopírujte na väÄÅ¡iu oblasÅ¥." #: libparted/filesys.c:736 #, c-format msgid "Support for copying %s file systems is not implemented yet." msgstr "" "Podpora pre kopírovánie súborových systémov %s eÅ¡te nie je implementovaná." #: libparted/filesys.c:774 #, c-format msgid "Support for resizing %s file systems is not implemented yet." msgstr "" "Podpora pre zmenu veľikosti súborových systémov %s eÅ¡te nie je " "implementovaná." #: libparted/fs/reiserfs/reiserfs.c:315 msgid "creating" msgstr "vytvára sa" #: libparted/fs/reiserfs/reiserfs.c:402 msgid "The file system is in an invalid state. Perhaps it is mounted?" msgstr "Systém súborov je v neplatnom stave. Že by bol pripojený?" #: libparted/fs/reiserfs/reiserfs.c:410 msgid "The file system is in old (unresizeable) format." msgstr "Súborový systém má starý formát (nie je možné meniÅ¥ jeho veľkosÅ¥)." #: libparted/fs/reiserfs/reiserfs.c:416 msgid "Invalid free blocks count. Run reiserfsck --check first." msgstr "Neplatný poÄet voľných blokov. Najprv spustite reiserfsck --check." #: libparted/fs/reiserfs/reiserfs.c:431 msgid "checking" msgstr "kontroluje sa" #: libparted/fs/reiserfs/reiserfs.c:437 msgid "Reiserfs tree seems to be corrupted. Run reiserfsck --check first." msgstr "" "Zdá sa, že Reiserfs strom je poÅ¡kodený. Najpv spustite reiserfsck --check." #: libparted/fs/reiserfs/reiserfs.c:449 msgid "" "The reiserfs file system passed a basic check. For a more comprehensive " "check, run reiserfsck --check." msgstr "" "Systém súborov reiserfs absolvoval základnú kontrolu. Pre podrobnejÅ¡iu " "kontrolu použite reiserfsck --check." #: libparted/fs/reiserfs/reiserfs.c:474 msgid "Sorry, can't move the start of reiserfs partitions yet." msgstr "Ľutujem, zatiaľ nie je možné presúvaÅ¥ zaÄiatok oblastí reiserfs." #: libparted/fs/reiserfs/reiserfs.c:490 msgid "Couldn't reopen device abstraction layer for read/write." msgstr "" "Nebolo možné znovu otvoriÅ¥ abstrakÄnú vrstvu zariadenia pre Äítanie/zápis." #: libparted/fs/reiserfs/reiserfs.c:508 libparted/fs/ext2/ext2_resize.c:552 #: libparted/fs/hfs/hfs.c:250 libparted/fs/hfs/hfs.c:629 msgid "shrinking" msgstr "zmenÅ¡ujem" #: libparted/fs/reiserfs/reiserfs.c:520 msgid "expanding" msgstr "zväÄÅ¡uje sa" #: libparted/fs/reiserfs/reiserfs.c:592 msgid "Couldn't create reiserfs device abstraction handler." msgstr "Nebolo možné vytvoriÅ¥ abstrakÄnú vrstvu reiserfs zariadenia." #: libparted/fs/reiserfs/reiserfs.c:606 #, c-format msgid "Device is too small for %lu blocks." msgstr "Systém súborov je príliÅ¡ malý na %lu blokov." #: libparted/fs/reiserfs/reiserfs.c:615 msgid "copying" msgstr "kopíruje sa" #: libparted/fs/reiserfs/reiserfs.c:682 #, c-format msgid "Couldn't resolve symbol %s. Error: %s." msgstr "Nebolo možné preložiÅ¥ symbol %s. Chyba: %s." #: libparted/fs/reiserfs/reiserfs.c:704 msgid "GNU Parted found an invalid libreiserfs library." msgstr "GNU Parted naÅ¡iel neplatnú knižnicu libreiserfs." #: libparted/fs/reiserfs/reiserfs.c:715 #, c-format msgid "" "GNU Parted has detected libreiserfs interface version mismatch. Found %d-" "%d, required %d. ReiserFS support will be disabled." msgstr "" "GNU Parted zistil nezhodu verzií rozhrania libreiserfs. Nájdená %d-%d, " "požadovaná %d. Podpora ReiserFS bude vypnutá." #: libparted/labels/aix.c:103 msgid "Support for reading AIX disk labels is is not implemented yet." msgstr "Podpora Äítania menoviek disku AIX eÅ¡te nie je implementovaná." #: libparted/labels/aix.c:114 msgid "Support for writing AIX disk labels is is not implemented yet." msgstr "Podpora zápisu menoviek disku AIX eÅ¡te nie je implementovaná." #: libparted/labels/aix.c:127 msgid "" "Support for adding partitions to AIX disk labels is not implemented yet." msgstr "" "Podpora pridávania oblastí do menoviek disku AIX eÅ¡te nie je implementovaná." #: libparted/labels/aix.c:137 msgid "" "Support for duplicating partitions in AIX disk labels is not implemented yet." msgstr "" "Podpora kopírovania oblastí v menovkách disku AIX eÅ¡te nie je implementovaná." #: libparted/labels/aix.c:155 msgid "" "Support for setting system type of partitions in AIX disk labels is not " "implemented yet." msgstr "" "Podpora nastavovania typu systému oblastí v menovkách disku AIX eÅ¡te nie je " "implementovaná." #: libparted/labels/aix.c:165 msgid "Support for setting flags in AIX disk labels is not implemented yet." msgstr "" "Podpora nastavovania príznakov v menovkách disku AIX eÅ¡te nie je " "implementovaná." #: libparted/labels/bsd.c:568 libparted/labels/dasd.c:783 #: libparted/labels/dos.c:2092 libparted/labels/dvh.c:788 #: libparted/labels/gpt.c:1750 libparted/labels/loop.c:245 #: libparted/labels/mac.c:1424 libparted/labels/pc98.c:749 #: libparted/labels/rdb.c:1051 libparted/labels/sun.c:821 msgid "Unable to satisfy all constraints on the partition." msgstr "Nemožno splniÅ¥ vÅ¡etky obmedzenia na oddiel." #: libparted/labels/bsd.c:593 msgid "Unable to allocate a bsd disklabel slot." msgstr "Nie je možné alokovaÅ¥ položku menovky disku BSD." #: libparted/labels/dasd.c:809 msgid "Unable to allocate a dasd disklabel slot" msgstr "Nie je možné alokovaÅ¥ položku menovky disku dasd." #: libparted/labels/dos.c:882 #, c-format msgid "Invalid partition table on %s -- wrong signature %x." msgstr "Neplatná tabuľka oblastí na %s - nesprávny podpis %x" #: libparted/labels/dos.c:910 #, c-format msgid "Invalid partition table - recursive partition on %s." msgstr "Neplatná tabuľka oblastí - rekurzívna oblasÅ¥ na %s." #: libparted/labels/dos.c:1420 msgid "Extended partitions cannot be hidden on msdos disk labels." msgstr "Rozšírené oblasti nie je možné skryÅ¥ na Å¡títkoch diskov msdos." #: libparted/labels/dos.c:2074 msgid "Parted can't resize partitions managed by Windows Dynamic Disk." msgstr "" "Parted nemôže zmeniÅ¥ veľkosÅ¥ oblastí, ktoré spravuje Windows Dynamic Disk." #: libparted/labels/dvh.c:201 #, c-format msgid "%s has no extended partition (volume header partition)." msgstr "%s nemá rozšírenú oblasÅ¥ (oblasÅ¥ hlaviÄky zväzku)." #: libparted/labels/dvh.c:327 msgid "Checksum is wrong, indicating the partition table is corrupt." msgstr "Kontrolný súÄet je zlý, Äo indikuje, že tabuľka oblastí je poÅ¡kodená." #: libparted/labels/dvh.c:632 msgid "Only primary partitions can be root partitions." msgstr "Iba primárne oblasti môžu byÅ¥ koreňové oblasti." #: libparted/labels/dvh.c:646 msgid "Only primary partitions can be swap partitions." msgstr "Iba primárne oblasti môžu byÅ¥ odkladacie oblasti." #: libparted/labels/dvh.c:660 msgid "Only logical partitions can be a boot file." msgstr "Iba logické oblasti môžu býť zavázací súbor." #: libparted/labels/dvh.c:737 #, c-format msgid "" "failed to set dvh partition name to %s:\n" "Only logical partitions (boot files) have a name." msgstr "" "nepodarilo sa nastaviÅ¥ názov dvh oblasti na %s:\n" "Iba logické oblasti (zavádzacie súbory) majú název." #: libparted/labels/dvh.c:830 msgid "Too many primary partitions" msgstr "PríliÅ¡ veľa primárnych oblastí" #: libparted/labels/fdasd.c:98 msgid "open error" msgstr "chyba otvárania" #: libparted/labels/fdasd.c:101 msgid "seek error" msgstr "chyba hľadania" #: libparted/labels/fdasd.c:104 msgid "read error" msgstr "chyba Äítania" #: libparted/labels/fdasd.c:110 msgid "ioctl() error" msgstr "chyba ioctl()" #: libparted/labels/fdasd.c:114 msgid "API version mismatch" msgstr "nezhoda verzií API" #: libparted/labels/fdasd.c:118 msgid "Unsupported disk type" msgstr "Nepodporovaný typ disku" #: libparted/labels/fdasd.c:122 msgid "Unsupported disk format" msgstr "Nepodporovaný formát disku" #: libparted/labels/fdasd.c:126 msgid "Disk is in use" msgstr "Disk sa používa" #: libparted/labels/fdasd.c:130 msgid "Syntax error in config file" msgstr "Chyba syntaxe v konfiguraÄnom súbore" #: libparted/labels/fdasd.c:134 msgid "Volume label is corrupted" msgstr "Menovka zväzku je poÅ¡kodená" #: libparted/labels/fdasd.c:138 msgid "A data set name is corrupted" msgstr "Názov dátovej množiny je poÅ¡kodený" #: libparted/labels/fdasd.c:142 msgid "Memory allocation failed" msgstr "Nepodarilo sa alokovaÅ¥ pamäť" #: libparted/labels/fdasd.c:146 msgid "Device verification failed" msgstr "Nepodarilo sa overiÅ¥ zariadenie" #: libparted/labels/fdasd.c:147 msgid "The specified device is not a valid DASD device" msgstr "Uvedené zariadenie nie je platné zariadenie DASD" #: libparted/labels/fdasd.c:150 libparted/labels/vtoc.c:179 msgid "Fatal error" msgstr "Osudová chyba" #: libparted/labels/fdasd.c:226 msgid "No room for volume label." msgstr "Pre menovku oddielu nie je miesto." #: libparted/labels/fdasd.c:234 msgid "No room for partition info." msgstr "Na informácie o oblastiach nie je dostatok miesta." #: libparted/labels/fdasd.c:704 msgid "Invalid VTOC." msgstr "Neplatný VTOC." #: libparted/labels/fdasd.c:764 msgid "Could not retrieve API version." msgstr "Nebolo možné zistiÅ¥ informácie o API." #: libparted/labels/fdasd.c:767 #, c-format msgid "" "The current API version '%d' doesn't match dasd driver API version '%d'!" msgstr "SúÄasná verzia API „%d“ nezodpovedá API verzii dasd ovládaÄa „%d“!" #: libparted/labels/fdasd.c:804 msgid "Could not retrieve disk geometry information." msgstr "Nebolo možné zistiÅ¥ informácie o geometrii disku." #: libparted/labels/fdasd.c:808 msgid "Could not retrieve blocksize information." msgstr "Nebolo možné zistiÅ¥ informácie o veľkosti bloku." #: libparted/labels/fdasd.c:813 msgid "Could not retrieve disk information." msgstr "Nebolo možné zistiÅ¥ informácie o disku." #: libparted/labels/fdasd.c:818 msgid "This is not an ECKD disk! This disk type is not supported!" msgstr "Toto nie je ECKD disk! Tento typ disku nie je podporovaný!" #: libparted/labels/gpt.c:485 #, c-format msgid "" "%s contains GPT signatures, indicating that it has a GPT table. However, it " "does not have a valid fake msdos partition table, as it should. Perhaps it " "was corrupted -- possibly by a program that doesn't understand GPT partition " "tables. Or perhaps you deleted the GPT table, and are now using an msdos " "partition table. Is this a GPT partition table?" msgstr "" "%s obsahuje podpisy GPT, Äo znamená, že obsahuje tabuľku GPT. Nemá ale " "platnú faloÅ¡nú tabuľku oddielov DOS, ktorú by mal maÅ¥. Možno bola poÅ¡kodená " "- napr. programom, ktorý nerozumie tabuľkám oblastí GPT. Alebo ste možno " "odstránili tabuľku oblastí GPT a teraz používate tabuľku oblastí DOS. Je " "toto tabuľka oblastí GPT?" #: libparted/labels/gpt.c:680 #, c-format msgid "" "The format of the GPT partition table is version %x, which is newer than " "what Parted can recognise. Please tell us! bug-parted@gnu.org" msgstr "" "Formát tabuľky oblastí GPT je verzie %x, Äo je novší, než ten s ktorým vie " "pracovaÅ¥ Parted. Oznámte nám to prosím! bug-parted@gnu.org" #: libparted/labels/gpt.c:727 #, c-format msgid "" "Not all of the space available to %s appears to be used, you can fix the GPT " "to use all of the space (an extra %llu blocks) or continue with the current " "setting? " msgstr "" "Zdá sa, že nie vÅ¡etko miesto dostupné pre %s je využité. Môžete opraviÅ¥ GPT, " "aby využívalo vÅ¡etok dostupný priestor (Äalších %llu blokov) alebo " "pokraÄovaÅ¥ s aktuálnym nastavením? " #: libparted/labels/gpt.c:936 msgid "" "The backup GPT table is not at the end of the disk, as it should be. This " "might mean that another operating system believes the disk is smaller. Fix, " "by moving the backup to the end (and removing the old backup)?" msgstr "" "Záložná tabuľka GPT nie je na konci disku, ako by mala byÅ¥. To možná " "znamená, že iný operaÄný systém si myslí, že disk je menší. Mám to opraviÅ¥ " "presunutím zálohy na koniec (a odstránením starej zálohy)?" #: libparted/labels/gpt.c:960 msgid "" "Both the primary and backup GPT tables are corrupt. Try making a fresh " "table, and using Parted's rescue feature to recover partitions." msgstr "" "Primárna aj záložná tabuľka GPT je poÅ¡kodená. Skúste vytvoriÅ¥ novú tabuľku a " "obnoviÅ¥ oblasti pomocou možnosti Partedu rescue." #: libparted/labels/gpt.c:971 msgid "" "The backup GPT table is corrupt, but the primary appears OK, so that will be " "used." msgstr "" "Záložná tabuľka GPT je poÅ¡kodená, ale primárna sa zdá byÅ¥ v poriadku, takže " "sa použije primárna." #: libparted/labels/gpt.c:983 msgid "" "The primary GPT table is corrupt, but the backup appears OK, so that will be " "used." msgstr "" "Primárna tabuľka GPT je poÅ¡kodená, ale záloha sa zdá byÅ¥ v poriadku, takže " "sa použije záloha." #: libparted/labels/gpt.c:1007 msgid "primary partition table array CRC mismatch" msgstr "nezodpovedá CRC poľa primárnej tabuľky oblastí" #: libparted/labels/mac.c:185 #, c-format msgid "Invalid signature %x for Mac disk labels." msgstr "Neplatný podpis %x pre menovky disku Mac." #: libparted/labels/mac.c:232 msgid "Partition map has no partition map entry!" msgstr "Mapa oblastí nemá žiadnu položku mapy oblastí!" #: libparted/labels/mac.c:280 #, c-format msgid "%s is too small for a Mac disk label!" msgstr "%s je príliÅ¡ malý pro menovku disku Mac!" #: libparted/labels/mac.c:509 #, c-format msgid "Partition %d has an invalid signature %x." msgstr "OblasÅ¥ %d má neplatný podpis %x." #: libparted/labels/mac.c:527 #, c-format msgid "Partition %d has an invalid length of 0 bytes!" msgstr "OblasÅ¥ %d má neplatnú dĺžku 0 bajtov." #: libparted/labels/mac.c:558 msgid "The data region doesn't start at the start of the partition." msgstr "Dátová ÄasÅ¥ nezaÄína na zaÄiatku oblasti." #: libparted/labels/mac.c:575 msgid "The boot region doesn't start at the start of the partition." msgstr "Å tartovacia oblasÅ¥ nezaÄína na zaÄiatku oblasti." #: libparted/labels/mac.c:589 msgid "The partition's boot region doesn't occupy the entire partition." msgstr "Zavádzacia ÄasÅ¥ diskovej oblasti nezaberá celú oblasÅ¥." #: libparted/labels/mac.c:600 msgid "The partition's data region doesn't occupy the entire partition." msgstr "Dátová ÄasÅ¥ oblasti nezaberá celú oblasÅ¥." #: libparted/labels/mac.c:653 #, c-format msgid "" "Weird block size on device descriptor: %d bytes is not divisible by 512." msgstr "" "ÄŒudná veľkosÅ¥ bloku v deskriptore zariadenia: %d bajtov nie je deliteľné 512." #: libparted/labels/mac.c:666 #, c-format msgid "" "The driver descriptor says the physical block size is %d bytes, but Linux " "says it is %d bytes." msgstr "" "Deskriptor ovládaÄa vraví, že fyzická veľkosÅ¥ bloku je %d bajtov, ale Linux " "vraví, že je to %d bajtov." #: libparted/labels/mac.c:720 msgid "No valid partition map found." msgstr "Nebola nájdená platná mapa oblastí." #: libparted/labels/mac.c:782 #, c-format msgid "" "Conflicting partition map entry sizes! Entry 1 says it is %d, but entry %d " "says it is %d!" msgstr "" "Kolidujúce veľkosti položek mapy oblastí! Položka 1 vraví, že je to %d, ale " "položka %d vraví, že je to %d!" #: libparted/labels/mac.c:809 msgid "Weird! There are 2 partitions map entries!" msgstr "ÄŒudné! 2 položky mapy oblastí!" #: libparted/labels/mac.c:1355 msgid "" "Changing the name of a root or swap partition will prevent Linux from " "recognising it as such." msgstr "" "Zmena názvu koreňového alebo odkladacej oblasti zabráni Linuxu v jej " "rozpoznaní." #: libparted/labels/mac.c:1459 msgid "Can't add another partition -- the partition map is too small!" msgstr "Nemôžem pridaÅ¥ ÄalÅ¡iu oblasÅ¥ - mapa oblastí je príliÅ¡ malá!" #: libparted/labels/pc98.c:331 #, c-format msgid "Invalid partition table on %s." msgstr "Neplatná tabuľka oblastí na %s." #: libparted/labels/pc98.c:384 libparted/labels/pc98.c:462 #, c-format msgid "" "Partition %d isn't aligned to cylinder boundaries. This is still " "unsupported." msgstr "" "OblasÅ¥ %d nie je zarovnaná na hranice cylindra. Toto zatiaľ nie je " "podporované." #: libparted/labels/pc98.c:781 msgid "Can't add another partition." msgstr "Nemožno pridaÅ¥ ÄalÅ¡iu oblasÅ¥." #: libparted/labels/pt-tools.c:125 #, c-format msgid "" "partition length of %jd sectors exceeds the %s-partition-table-imposed " "maximum of %jd" msgstr "" "dĺžka oblasti of %jd sektorov prekraÄuje maximum stanovené tabuľkou oblastí " "%s v dĺžke %jd" #: libparted/labels/pt-tools.c:138 #, c-format msgid "" "starting sector number, %jd exceeds the %s-partition-table-imposed maximum " "of %jd" msgstr "" "Äíslo poÄiatoÄného sektora, %jd prekraÄuje prekraÄuje maximum stanovené " "tabuľkou oblastí %s %jd" #: libparted/labels/rdb.c:170 #, c-format msgid "%s : Bad checksum on block %llu of type %s." msgstr "%s : Chybný kontrolný súÄet na bloku %llu typu %s." #: libparted/labels/rdb.c:486 #, c-format msgid "%s : Didn't find rdb block, should never happen." msgstr "%s : Nebol nájdený rdb blok, toto by sa nemalo nikdy staÅ¥." #: libparted/labels/rdb.c:572 #, c-format msgid "%s : Loop detected at block %d." msgstr "%s : Na bloku %d bola detekovaná sluÄka." #: libparted/labels/rdb.c:591 #, c-format msgid "%s : The %s list seems bad at block %s." msgstr "%s : Zoznam %s sa zdá byÅ¥ chybný na bloku %s." #: libparted/labels/rdb.c:690 #, c-format msgid "%s : Failed to list bad blocks." msgstr "%s : Nepodarilo sa vypísaÅ¥ zoznam chybných blokov." #: libparted/labels/rdb.c:698 #, c-format msgid "%s : Failed to list partition blocks." msgstr "%s : Nepodarilo sa vypísaÅ¥ zoznam blokov oblasti." #: libparted/labels/rdb.c:706 #, c-format msgid "%s : Failed to list file system blocks." msgstr "%s : Nepodarilo sa vypísaÅ¥ zoznam blokov súborového systému." #: libparted/labels/rdb.c:714 #, c-format msgid "%s : Failed to list boot blocks." msgstr "%s : Nepodarilo sa vypísaÅ¥ zoznam zavádzacích blokov." #: libparted/labels/rdb.c:741 #, c-format msgid "Failed to write partition block at %d." msgstr "Nepodarilo sa zapísaÅ¥ blok oblasti na %d." #: libparted/labels/rdb.c:1079 msgid "Unable to allocate a partition number." msgstr "Nepodarilo sa alokovaÅ¥ Äíslo oblasti." #: libparted/labels/sun.c:163 msgid "Corrupted Sun disk label detected." msgstr "Detekovaná poÅ¡kodená menovka disku Sun." #: libparted/labels/sun.c:316 #, c-format msgid "" "The disk CHS geometry (%d,%d,%d) reported by the operating system does not " "match the geometry stored on the disk label (%d,%d,%d)." msgstr "" "Geometria disku CHS (%d,%d,%d) nezodpovedá geometrii uloženej v menovke " "disku (%d,%d,%d)." #: libparted/labels/sun.c:338 #, c-format msgid "The disk label describes a disk bigger than %s." msgstr "Menovka disku popisuje disk väÄší než %s." #: libparted/labels/sun.c:510 #, c-format msgid "The disk has %d cylinders, which is greater than the maximum of 65536." msgstr "Disk má %d cylindrov, Äo je viac ako maximálny poÄet 65536." #: libparted/labels/sun.c:853 msgid "" "The Whole Disk partition is the only available one left. Generally, it is " "not a good idea to overwrite this partition with a real one. Solaris may " "not be able to boot without it, and SILO (the sparc boot loader) appreciates " "it as well." msgstr "" "Jediná zostávajúca oblasÅ¥ je oblasÅ¥ Celý disk. Vo vÅ¡eobecnosti nie je dobrý " "nápad túto oblasti prepísaÅ¥ skutoÄnou oblasÅ¥ou. Bez nej možno nebude možné " "zaviesÅ¥ Solaris a SILO (zavádzaÄ systému pre sparc) ju tiež ocení." #: libparted/labels/sun.c:868 msgid "Sun disk label is full." msgstr "Menovka disku Sun je plná." #: libparted/labels/vtoc.c:164 msgid "opening of device failed" msgstr "%s otváranie zariadenia zlyhalo" #: libparted/labels/vtoc.c:168 msgid "seeking on device failed" msgstr "vyhľadávanie na zariadení zlyhalo" #: libparted/labels/vtoc.c:172 msgid "writing to device failed" msgstr "zápis na zariadenie zlyhal" #: libparted/labels/vtoc.c:176 msgid "reading from device failed" msgstr "Äítanie zo zariadenia zlyhalo" #: libparted/labels/vtoc.c:277 libparted/labels/vtoc.c:284 msgid "Could not read volume label." msgstr "Nebolo možné preÄítaÅ¥ Å¡títok zväzku." #: libparted/labels/vtoc.c:303 libparted/labels/vtoc.c:308 msgid "Could not write volume label." msgstr "Nebolo možné zapísaÅ¥ Å¡títok zväzku." #: libparted/labels/vtoc.c:414 msgid "Could not read VTOC labels." msgstr "Nebolo možné preÄítaÅ¥ Å¡títky VTOC." #: libparted/labels/vtoc.c:420 msgid "Could not read VTOC FMT1 DSCB." msgstr "Nebolo možné preÄítaÅ¥ VTOC FMT1 DSCB." #: libparted/labels/vtoc.c:427 msgid "Could not read VTOC FMT4 DSCB." msgstr "Nebolo možné preÄítaÅ¥ VTOC FMT4 DSCB." #: libparted/labels/vtoc.c:434 msgid "Could not read VTOC FMT5 DSCB." msgstr "Nebolo možné preÄítaÅ¥ VTOC FMT5 DSCB." #: libparted/labels/vtoc.c:441 msgid "Could not read VTOC FMT7 DSCB." msgstr "Nebolo možné preÄítaÅ¥ VTOC FMT7 DSCB." #: libparted/labels/vtoc.c:461 msgid "Could not write VTOC labels." msgstr "Nebolo možné zapísaÅ¥ Å¡títky VTOC." #: libparted/labels/vtoc.c:467 msgid "Could not write VTOC FMT1 DSCB." msgstr "Nebolo možné zapísaÅ¥ VTOC FMT1 DSCB." #: libparted/labels/vtoc.c:474 msgid "Could not write VTOC FMT4 DSCB." msgstr "Nebolo možné zapísaÅ¥ VTOC FMT4 DSCB." #: libparted/labels/vtoc.c:481 msgid "Could not write VTOC FMT5 DSCB." msgstr "Nebolo možné zapísaÅ¥ VTOC FMT5 DSCB." #: libparted/labels/vtoc.c:488 msgid "Could not write VTOC FMT7 DSCB." msgstr "Nebolo možné zapísaÅ¥ VTOC FMT7 DSCB." #: libparted/libparted.c:237 libparted/libparted.c:252 msgid "Out of memory." msgstr "Nedostatok pamäte." #: libparted/unit.c:138 msgid "Cannot get unit size for special unit 'COMPACT'." msgstr "Nebolo možné získaÅ¥ veľkosÅ¥ Å¡peciálnej jednotky „COMPACT“." #: libparted/unit.c:384 #, c-format msgid "\"%s\" has invalid syntax for locations." msgstr "„%s“ má neplatnú syntax lokácií." #: libparted/unit.c:392 #, c-format msgid "The maximum head value is %d." msgstr "Maximálna hodnota hlaviÄiek je %d." #: libparted/unit.c:399 #, c-format msgid "The maximum sector value is %d." msgstr "Maximálna hodnota sektorov je %d." #: libparted/unit.c:411 libparted/unit.c:543 #, c-format msgid "The location %s is outside of the device %s." msgstr "Lokácia %s sa nachádza mimo zariadenia %s." #: libparted/unit.c:525 msgid "Invalid number." msgstr "Neplatné Äíslo." #: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:56 #: libparted/fs/amiga/asfs.c:70 #, c-format msgid "%s : Failed to allocate partition block\n" msgstr "%s : Nepodarilo sa alokovaÅ¥ blok oblasti\n" #: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:69 #: libparted/fs/amiga/asfs.c:82 #, c-format msgid "%s : Failed to allocate block\n" msgstr "%s : Nepodarilo sa alokovaÅ¥ blok\n" #: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:74 #, c-format msgid "%s : Couldn't read boot block %llu\n" msgstr "%s : Nebolo možné preÄítaÅ¥ Å¡tartovací blok %llu\n" #: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:85 #: libparted/fs/amiga/asfs.c:88 libparted/fs/amiga/asfs.c:102 #, c-format msgid "%s : Couldn't read root block %llu\n" msgstr "%s : Nebolo možné preÄítaÅ¥ koreňový blok %llu\n" #: libparted/fs/amiga/amiga.c:72 #, c-format msgid "%s : Failed to allocate id list element\n" msgstr "%s : nepodarilo sa alokovaÅ¥ prvok zoznamu ID\n" #: libparted/fs/amiga/amiga.c:189 #, c-format msgid "%s : Couldn't read block %llu\n" msgstr "%s : Nepodarilo sa preÄítaÅ¥ blok %llu\n" #: libparted/fs/amiga/amiga.c:202 #, c-format msgid "%s : Bad checksum on block %llu of type %s\n" msgstr "%s : Chybný kontrolný súÄet bloku %llu typu %s\n" #: libparted/fs/amiga/amiga.c:212 #, c-format msgid "%s : Couldn't write block %d\n" msgstr "%s : Nepodarilo sa zapísaÅ¥ blok %d\n" #: libparted/fs/amiga/amiga.c:278 #, c-format msgid "%s : Failed to allocate disk_specific rdb block\n" msgstr "%s : Nepodarilo sa alokovaÅ¥ disk_specific rdb blok\n" #: libparted/fs/amiga/amiga.c:289 #, c-format msgid "%s : Didn't find rdb block, should never happen\n" msgstr "%s : Nebol nájdený rdb blok, to by sa nikdy nemalo staÅ¥\n" #: libparted/fs/amiga/amiga.c:318 #, c-format msgid "%s : Failed to read partition block %llu\n" msgstr "%s : Nepodarilo sa naÄítaÅ¥ blok oblasti %llu\n" #: libparted/fs/ext2/ext2.c:87 libparted/fs/ext2/ext2.c:112 msgid "Inconsistent group descriptors!" msgstr "Nekonzistentné deskriptory skupín!" #: libparted/fs/ext2/ext2.c:91 libparted/fs/ext2/ext2.c:116 msgid "File system full!" msgstr "Súborový systém je plný!" #: libparted/fs/ext2/ext2.c:686 msgid "Invalid superblock. Are you sure this is an ext2 file system?" msgstr "Neplatný superblok. Ste si istý, že toto je systém súborov ext2?" #: libparted/fs/ext2/ext2.c:700 libparted/fs/ext2/ext2_resize.c:658 msgid "File system has errors! You should run e2fsck." msgstr "Systém súborov má chyby! Mali by ste spustiÅ¥ e2fsck." #: libparted/fs/ext2/ext2.c:711 msgid "" "File system was not cleanly unmounted! You should run e2fsck. Modifying an " "unclean file system could cause severe corruption." msgstr "" "Systém súborov nebol Äisto odpojený! Mali by ste spustiÅ¥ e2fsck. Úpravy " "neÄistého systému súborov môžu spôsobiÅ¥ jeho vážne poÅ¡kodenie." #: libparted/fs/ext2/ext2.c:731 msgid "" "File system has an incompatible feature enabled. Compatible features are " "has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs " "or debugfs to remove features." msgstr "" "Súborový systém má zapnutú nekompatibilnú vlastnosÅ¥. Kompatibilné vlastnosti " "sú has_journal, dir_index, filetype, sparse_super a large_file. Na " "odstránenie vlastností použite tune2fs alebo debugfs." #: libparted/fs/ext2/ext2.c:745 msgid "Error allocating buffer cache." msgstr "Chyba pri alokácii buffer cache." #: libparted/fs/ext2/ext2_inode_relocator.c:114 msgid "" "Found an inode with a incorrect link count. Better go run e2fsck first!" msgstr "" "Bol nájdený inode s nesprávnym poÄtom odkazov. RadÅ¡ej najskôr spustite " "e2fsck!" #: libparted/fs/ext2/ext2_inode_relocator.c:487 msgid "Not enough free inodes!" msgstr "Nedostatok voľných inodov!" #: libparted/fs/ext2/ext2_resize.c:223 msgid "File system is too full to remove a group!" msgstr "Systém súborov je príliÅ¡ plný na to, aby bolo možné odstrániÅ¥ skupinu!" #: libparted/fs/ext2/ext2_resize.c:232 msgid "File system has too many allocated inodes to remove a group!" msgstr "" "Systém súborov má príliÅ¡ mnoho alokovaných inodov na to, aby bolo možné " "odstrániÅ¥ skupinu!" #: libparted/fs/ext2/ext2_resize.c:491 msgid "adding groups" msgstr "pridávam skupiny" #: libparted/fs/ext2/ext2_resize.c:528 #, c-format msgid "Your file system is too full to resize it to %i blocks. Sorry." msgstr "" "Váš systém súborov je príliÅ¡ plný na to, aby bolo možné zmeniÅ¥ jeho veľkosÅ¥ " "na %d blokov. Ľutujem." #: libparted/fs/ext2/ext2_resize.c:538 #, c-format msgid "" "Your file system has too many occupied inodes to resize it to %i blocks. " "Sorry." msgstr "" "Váš systém súborov má príliÅ¡ mnoho použitých inodov na to, aby bolo možné " "zmeniÅ¥ jeho veľkosÅ¥ na %i blokov. Ľutujem." #: libparted/fs/ext2/ext2_resize.c:666 msgid "File system was not cleanly unmounted! You should run e2fsck." msgstr "Systém súborov nebol správne odpojený! Mali by ste spustiÅ¥ e2fsck." #: libparted/fs/ext2/ext2_resize.c:675 msgid "" "The file system has the 'dir_index' feature enabled. Parted can only resize " "the file system if it disables this feature. You can enable it later by " "running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'." msgstr "" "Systém súborov má zapnutú schopnosÅ¥ „dir_index“. Parted môže zmeniÅ¥ veľkosÅ¥ " "súborového systému, iba ak túto schopnosÅ¥ zakáže. Môžete ju neskôr povoliÅ¥ " "spustením „tune2fs -O dir_index zariadenie“ a potom „e2fsck -fD zariadenie“." #: libparted/fs/ext2/ext2_resize.c:691 msgid "" "A resize operation on this file system will use EXPERIMENTAL code\n" "that MAY CORRUPT it (although no one has reported any such damage yet).\n" "You should at least backup your data first, and run 'e2fsck -f' afterwards." msgstr "" "Operácia zmeny veľkosti na tomto disku použije EXPERIMENTÃLNY kód,\n" "ktorý ho MôŽE POÅ KODIŤ (hoci zatiaľ nikto také poÅ¡kodenie neoznámil).\n" "Mali by ste predtým minimálne svoje dáta zálohovaÅ¥ a spustiÅ¥ „e2fsck -f“\n" "potom." #: libparted/fs/ext2/ext2_block_relocator.c:198 msgid "Cross-linked blocks found! Better go run e2fsck first!" msgstr "" "Boli nájdené bloky s krížovými odkazmi! RadÅ¡ej najskôr spustite e2fsck!" #: libparted/fs/ext2/ext2_block_relocator.c:537 #, c-format msgid "Block %i has no reference? Weird." msgstr "Blok %i nemá odkaz? ÄŒudné." #: libparted/fs/ext2/ext2_block_relocator.c:738 #, c-format msgid "Block %i shouldn't have been marked (%d, %d)!" msgstr "Blok %i nemal byÅ¥ oznaÄený (%d, %d)!" #: libparted/fs/ext2/interface.c:226 msgid "" "The ext2 file system passed a basic check. For a more comprehensive check, " "use the e2fsck program." msgstr "" "Súborový systém ext2 absolvoval základnú kontrolu. Pre podrobnejÅ¡iu kontrolu " "použite program e2fsck." #: libparted/fs/ext2/interface.c:243 msgid "Sorry, can't move the start of ext2 partitions yet!" msgstr "Ľutujem, zatiaľ nie je možné presúvaÅ¥ zaÄiatok oddielov ext2!" #: libparted/fs/ext2/ext2_buffer.c:82 msgid "Couldn't flush buffer cache!" msgstr "Nemôžem vyprázdniÅ¥ vyrovnávaciu pamäť!" #: libparted/fs/ext2/ext2_mkfs.c:161 msgid "writing per-group metadata" msgstr "zapisujem metadáta skupín" #: libparted/fs/ext2/ext2_mkfs.c:597 msgid "File system too small for ext2." msgstr "Systém súborov príliÅ¡ malý pre ext2." #: libparted/fs/fat/calc.c:135 #, c-format msgid "" "You need %s of free disk space to shrink this partition to this size. " "Currently, only %s is free." msgstr "" "Na zmenÅ¡enie tejto oblasti na túto veľkosÅ¥ potrebujete %s voľného miesta " "(momentálne máte voľných iba %s)" #: libparted/fs/fat/context.c:56 #, c-format msgid "" "Cluster start delta = %d, which is not a multiple of the cluster size %d." msgstr "Zmena zaÄiatku klastra = %d, Äo nie je násobok veľikosti klastra %d." #: libparted/fs/fat/fat.c:310 #, c-format msgid "Partition too big/small for a %s file system." msgstr "OblasÅ¥ je príliÅ¡ veľká/malá pre súborový systém %s" #: libparted/fs/fat/fat.c:476 msgid "" "The FATs don't match. If you don't know what this means, then select " "cancel, run scandisk on the file system, and then come back." msgstr "" "Tabuľky FAT si nezodpovedajú. Ak neviete, Äo to znamená, zvoľte ZruÅ¡iÅ¥, " "spustite na systéme súborov scandisk a potom sa vráťte." #: libparted/fs/fat/fat.c:516 msgid "There are no possible configurations for this FAT type." msgstr "Pro tento typ FAT neexistuje možná konfigurácia." #: libparted/fs/fat/fat.c:528 #, c-format msgid "" "File system doesn't have expected sizes for Windows to like it. Cluster " "size is %dk (%dk expected); number of clusters is %d (%d expected); size of " "FATs is %d sectors (%d expected)." msgstr "" "Systém súborov nemá oÄekávané veľkosti, aby ho Windows mali radi. VeľkosÅ¥ " "klastra je %dk (oÄakáva sa %dk); poÄet klastrov je %d (oÄakáva sa %d); " "veľkosÅ¥ FAT je %d sektorov (oÄakáva sa %d)." #: libparted/fs/fat/fat.c:551 #, c-format msgid "" "File system is reporting the free space as %d clusters, not %d clusters." msgstr "Systém súborov oznamuje voľné miesto %d klastrov, nie %d klastrov." #: libparted/fs/fat/fat.c:876 msgid "" "GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT " "support will be disabled." msgstr "" "GNU parted bol nesprávne preložený; Å¡tartovací sektor FAT by mal maÅ¥ 512 " "bajtov. Podpora FAT bude vypnutá." #: libparted/fs/fat/resize.c:158 msgid "" "There's not enough room in the root directory for all of the files. Either " "cancel, or ignore to lose the files." msgstr "" "V koreňovom adresári nie je dostatok miesta na vÅ¡etky súbory. Zvoľte buÄ " "ZruÅ¡iÅ¥, alebo IgnorovaÅ¥, Äím sa tieto súbory stratia." #: libparted/fs/fat/resize.c:299 msgid "Error writing to the root directory." msgstr "Chyba pri zapisování do koreňového adresára." #: libparted/fs/fat/resize.c:488 msgid "If you leave your file system as FAT16, then you will have no problems." msgstr "" "Ak ponecháte svoj systém súborov vo formáte FAT16, nespôsobíte žiadné nové " "problémy." #: libparted/fs/fat/resize.c:491 msgid "" "If you convert to FAT16, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual)." msgstr "" "Ak prevediete oblasÅ¥ na FAT16 a sú na nej nainÅ¡talované MS Windows, musíte " "znova nainÅ¡talovaÅ¥ zavádzaÄ systému MS Windows. Ak to chcete urobiÅ¥, mali by " "ste si preÄítaÅ¥ príruÄku Parted (alebo príruÄku svojej distribúcie)." #: libparted/fs/fat/resize.c:499 msgid "" "If you leave your file system as FAT32, then you will not introduce any new " "problems." msgstr "" "Ak ponecháte svoj systém súborov vo formáte FAT32, nespôsobíte žiadné nové " "problémy." #: libparted/fs/fat/resize.c:503 msgid "" "If you convert to FAT32, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual). Also, " "converting to FAT32 will make the file system unreadable by MS DOS, MS " "Windows 95a, and MS Windows NT." msgstr "" "Ak prevediete oblasÅ¥ na FAT32 a sú na nej nainÅ¡talované MS Windows, musíte " "znova nainÅ¡talovaÅ¥ zavádzaÄ systému MS Windows. Ak to chcete urobiÅ¥, mali by " "ste si preÄítaÅ¥ príruÄku Parted (alebo príruÄku svojej distribúcie). " "Prevedenie na FAT32 tiež urobí systém súborov neÄitateľný pre MS-DOS, MS " "Windows 95a a MS Windows NT." #: libparted/fs/fat/resize.c:517 #, c-format msgid "%s %s %s" msgstr "%s %s %s" #: libparted/fs/fat/resize.c:518 msgid "Would you like to use FAT32?" msgstr "Chcete použiÅ¥ FAT32?" #: libparted/fs/fat/resize.c:549 libparted/fs/fat/resize.c:565 #, c-format msgid "%s %s" msgstr "%s %s" #: libparted/fs/fat/resize.c:550 msgid "" "The file system can only be resized to this size by converting to FAT16." msgstr "" "VeľkosÅ¥ systému súborov je možné túto hodnotu zmeniÅ¥ iba prevodom na FAT16." #: libparted/fs/fat/resize.c:566 msgid "" "The file system can only be resized to this size by converting to FAT32." msgstr "" "VeľkosÅ¥ systému súborov je možné túto hodnotu zmeniÅ¥ iba prevodom na FAT32." #: libparted/fs/fat/resize.c:579 msgid "" "GNU Parted cannot resize this partition to this size. We're working on it!" msgstr "" "GNU Parted nedokáže zmeniÅ¥ veľkosÅ¥ tejto oblasti na túto hodnotu. Pracujeme " "na tom!" #: libparted/fs/fat/bootsector.c:49 libparted/fs/fat/bootsector.c:56 msgid "File system has an invalid signature for a FAT file system." msgstr "Systém súborov nemá platný podpis systému súborov FAT." #: libparted/fs/fat/bootsector.c:64 msgid "File system has an invalid sector size for a FAT file system." msgstr "Systém súborov má neplatnú veľkost sektora pre systém súborov FAT." #: libparted/fs/fat/bootsector.c:71 msgid "File system has an invalid cluster size for a FAT file system." msgstr "Systém súborov má neplatnú veľkost klastra pre systém súborov FAT." #: libparted/fs/fat/bootsector.c:78 msgid "" "File system has an invalid number of reserved sectors for a FAT file system." msgstr "" "Systém súborov má neplatný poÄet rezervovaných sektorov pre systém súborov " "FAT." #: libparted/fs/fat/bootsector.c:85 msgid "File system has an invalid number of FATs." msgstr "Súborový systém má má neplatný poÄet FAT." #: libparted/fs/fat/bootsector.c:139 #, c-format msgid "" "This file system has a logical sector size of %d. GNU Parted is known not " "to work properly with sector sizes other than 512 bytes." msgstr "" "Systém súborov má logickú veľkost sektora %d. Je známe, že GNU Parted " "nepracuje správne s veľkosÅ¥ou sektora inou ako 512 bajtov." #: libparted/fs/fat/bootsector.c:164 #, c-format msgid "" "The file system's CHS geometry is (%d, %d, %d), which is invalid. The " "partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the " "file system's CHS geometry will be left unchanged. If you select Fix, the " "file system's CHS geometry will be set to match the partition table's CHS " "geometry." msgstr "" "CHS geometria tohto systému je (%d, %d, %d), Äo nie je platná hodnota. CHS " "geometria tabuľky oddielov je (%d, %d, %d). Ak zvolíte IgnorovaÅ¥, CHS " "geometria systému sa nezmení. Ak zvolíte OpraviÅ¥, CHS geometria systému sa " "zmení na CHS geometriu tabuľky oblastí." #: libparted/fs/fat/bootsector.c:213 msgid "FAT boot sector says logical sector size is 0. This is weird. " msgstr "" "Å tartovací sektor FAT vraví, že logická veľkosÅ¥ sektoru je 0. To je divné. " #: libparted/fs/fat/bootsector.c:219 msgid "FAT boot sector says there are no FAT tables. This is weird. " msgstr "" "Å tartovací sektor FAT vraví, že neexistuje žiadna tabuľka FAT. To je divné. " #: libparted/fs/fat/bootsector.c:225 msgid "FAT boot sector says clusters are 0 sectors. This is weird. " msgstr "Å tartovací sektor FAT vraví, že klaster je 0 sektorov. To je divné. " #: libparted/fs/fat/bootsector.c:235 msgid "File system is FAT12, which is unsupported." msgstr "Súborový systém je FAT12, ktorý nie je podporovaný." #: libparted/fs/fat/bootsector.c:411 #, c-format msgid "" "The information sector has the wrong signature (%x). Select cancel for now, " "and send in a bug report. If you're desperate, it's probably safe to ignore." msgstr "" "Sektor informácií má nesprávný podpis (%x). Nateraz zvoľte ZruÅ¡iÅ¥ a poÅ¡lite " "hlásenie o chybe. Ak ste v úzkych, môžete to pravdepodobne bez obáv " "ignorovaÅ¥." #: libparted/fs/fat/count.c:144 #, c-format msgid "Bad directory entry for %s: first cluster is the end of file marker." msgstr "Chybná položka adresára pre %s: prvý klaster je znaÄka konca súboru." #: libparted/fs/fat/count.c:157 #, c-format msgid "" "Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk." msgstr "" "Chybná FAT: neukonÄený reÅ¥azec pre %s. Mali by ste spustiÅ¥ dosfsck alebo " "scandisk." #: libparted/fs/fat/count.c:166 #, c-format msgid "" "Bad FAT: cluster %d outside file system in chain for %s. You should run " "dosfsck or scandisk." msgstr "" "Chybná FAT: klaster %d sa nachádza mimo systému súborov v reÅ¥ezci pro %s. " "Mali by ste spustiÅ¥ dosfsck alebo scandisk." #: libparted/fs/fat/count.c:176 #, c-format msgid "" "Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or " "scandisk." msgstr "" "Chybná FAT: klaster %d má vymenené odkazy s %s. Mali by ste spustiÅ¥ dosfsck " "alebo scandisk." #: libparted/fs/fat/count.c:195 #, c-format msgid "%s is %dk, but it has %d clusters (%dk)." msgstr "%s je %dk, ale má %d klastrov (%dk)." #: libparted/fs/fat/count.c:258 #, c-format msgid "" "The file %s is marked as a system file. This means moving it could cause " "some programs to stop working." msgstr "" "súbor %s je oznaÄený ako systémový súbor. To znamená, že jeho presun môže " "zpôsobiÅ¥, že niektoré programy prestanú fungovaÅ¥." #: libparted/fs/fat/table.c:136 #, c-format msgid "" "FAT %d media %x doesn't match the boot sector's media %x. You should " "probably run scandisk." msgstr "" "FAT %d media %x nezdpovedá media %x Å¡tartovacieho sektoru. Pravdepodobne by " "ste mali spustiÅ¥ scandisk." #: libparted/fs/fat/table.c:268 #, c-format msgid "fat_table_set: cluster %ld outside file system" msgstr "fat_table_set: klaster %ld sa nachádza mimo súborového systému" #: libparted/fs/fat/table.c:300 #, c-format msgid "fat_table_get: cluster %ld outside file system" msgstr "fat_table_get: klaster %ld sa nachádza mimo súborového systému" #: libparted/fs/fat/table.c:342 msgid "fat_table_alloc_cluster: no free clusters" msgstr "fat_table_alloc_cluster: nie sú voľné klastre" #: libparted/fs/linux_swap/linux_swap.c:288 #, c-format msgid "Unrecognised old style linux swap signature '%10s'." msgstr "Nerozpoznaný podpis odkladacieho oddielu Linuxu v starom Å¡týle „%10s“." #: libparted/fs/linux_swap/linux_swap.c:331 #, c-format msgid "Unrecognised new style linux swap signature '%10s'." msgstr "Nerozpoznaný podpis odkladacieho oddielu Linuxu v novom Å¡týle „%10s“." #: libparted/fs/linux_swap/linux_swap.c:371 #, c-format msgid "Unrecognised swsusp linux swap signature '%9s'." msgstr "Nerozpoznaný podpis odkladacieho oddielu Linuxu swsusp „%10s“." #: libparted/fs/linux_swap/linux_swap.c:447 msgid "Too many bad pages." msgstr "PríliÅ¡ veľa zlých stránok." #: libparted/fs/hfs/advfs.c:121 libparted/fs/hfs/advfs_plus.c:121 #: libparted/fs/hfs/reloc.c:414 libparted/fs/hfs/reloc.c:508 #: libparted/fs/hfs/reloc_plus.c:538 libparted/fs/hfs/reloc_plus.c:656 #: libparted/fs/hfs/reloc_plus.c:769 msgid "The file system contains errors." msgstr "Súborový systém obsahuje chyby." #: libparted/fs/hfs/advfs_plus.c:285 msgid "Bad blocks could not be read." msgstr "Nebolo možné preÄítaÅ¥ chybné bloky." #: libparted/fs/hfs/cache.c:137 #, c-format msgid "" "Trying to register an extent starting at block 0x%X, but another one already " "exists at this position. You should check the file system!" msgstr "" "Prebieha pokus o registráciu rozsahu poÄínajúc blokom 0x%X, ale iný už na " "tejto pozícii existuje. Mali by ste skontrolovaÅ¥ súborový systém!" #: libparted/fs/hfs/cache.c:214 #, c-format msgid "" "Trying to move an extent from block Ox%X to block Ox%X, but another one " "already exists at this position. This should not happen!" msgstr "" "Prebieha pokus o presunutie rozsahu z bloku 0x%X na blok 0x%X, ale iný už na " "tejto pozícii existuje. Toto by sa nemalo staÅ¥!" #: libparted/fs/hfs/file.c:143 #, c-format msgid "Could not update the extent cache for HFS file with CNID %X." msgstr "" "Nebolo možné aktualizovaÅ¥ vyrovnávaciu pamäť rozsahov súboru HFS s CNID %X." #: libparted/fs/hfs/file.c:180 #, c-format msgid "Trying to read HFS file with CNID %X behind EOF." msgstr "Pokus o Äítanie súboru HFS s CNID %X za znakom konca súboru." #: libparted/fs/hfs/file.c:190 libparted/fs/hfs/file.c:220 #, c-format msgid "Could not find sector %lli of HFS file with CNID %X." msgstr "Nebol nájdený sektor %lli súboru HFS s CNID %X." #: libparted/fs/hfs/file.c:210 #, c-format msgid "Trying to write HFS file with CNID %X behind EOF." msgstr "Pokus o zápis súboru HFS s CNID %X za znakom konca súboru." #: libparted/fs/hfs/file_plus.c:157 #, c-format msgid "Could not update the extent cache for HFS+ file with CNID %X." msgstr "" "Nebolo možné aktualizovaÅ¥ vyrovnávaciu pamäť rozsahov súboru HFS+ s CNID %X." #: libparted/fs/hfs/file_plus.c:202 #, c-format msgid "Trying to read HFS+ file with CNID %X behind EOF." msgstr "Pokus o Äítanie súboru HFS+ s CNID %X za znakom konca súboru." #: libparted/fs/hfs/file_plus.c:213 libparted/fs/hfs/file_plus.c:256 #, c-format msgid "Could not find sector %lli of HFS+ file with CNID %X." msgstr "Nebol nájdený sektor %lli súboru HFS+ s CNID %X." #: libparted/fs/hfs/file_plus.c:245 #, c-format msgid "Trying to write HFS+ file with CNID %X behind EOF." msgstr "Pokus o zápis súboru HFS+ s CNID %X za znakom konca súboru." #: libparted/fs/hfs/hfs.c:232 msgid "Sorry, HFS cannot be resized that way yet." msgstr "PrepáÄte, veľkosÅ¥ HFS nie je zatiaľ možné týmto spôsobom zmeniÅ¥." #: libparted/fs/hfs/hfs.c:262 libparted/fs/hfs/hfs.c:641 msgid "Data relocation has failed." msgstr "Relokácia údajov zlyhala." #: libparted/fs/hfs/hfs.c:281 msgid "Data relocation left some data in the end of the volume." msgstr "Relokácia údajov zanechala na konci zväzku nejaké údaje." #: libparted/fs/hfs/hfs.c:320 msgid "writing HFS Master Directory Block" msgstr "zapisuje sa HFS Master Directory Block" #: libparted/fs/hfs/hfs.c:468 msgid "No valid HFS[+X] signature has been found while opening." msgstr "PoÄas otvárania nebol nájdený platný podpis HFS[+X]." #: libparted/fs/hfs/hfs.c:478 #, c-format msgid "Version %d of HFS+ isn't supported." msgstr "Verzia %d HFS+ nie je podporovaná." #: libparted/fs/hfs/hfs.c:489 #, c-format msgid "Version %d of HFSX isn't supported." msgstr "Verzia %d HFSX nie je podporovaná." #: libparted/fs/hfs/hfs.c:672 msgid "Data relocation left some data at the end of the volume." msgstr "Relokácia údajov zanechala na konci zväzku nejaké údaje." #: libparted/fs/hfs/hfs.c:720 msgid "Error while writing the allocation file." msgstr "Chyba pri zapisování alokaÄného súboru." #: libparted/fs/hfs/hfs.c:735 msgid "Error while writing the compatibility part of the allocation file." msgstr "Chyba pri zápise do Äasti pre komaptibilitu alokaÄného súboru." #: libparted/fs/hfs/hfs.c:750 msgid "writing HFS+ Volume Header" msgstr "zapisuje sa HlaviÄka zväzku HFS+" #: libparted/fs/hfs/hfs.c:850 msgid "An error occurred while looking for the mandatory bad blocks file." msgstr "Vyskytla sa chyba pri hľadaní povinného súboru chybných blokov." #: libparted/fs/hfs/hfs.c:904 msgid "" "It seems there is an error in the HFS wrapper: the bad blocks file doesn't " "contain the embedded HFS+ volume." msgstr "" "Zdá sa, že sa vyskytla chyba v HFS wrapperi: súbor chybných blokov " "neobsahuje vnorený zväzok HFS+." #: libparted/fs/hfs/hfs.c:940 msgid "Sorry, HFS+ cannot be resized that way yet." msgstr "PrepáÄte, veľkosÅ¥ HFS+ nie je zatiaľ možné týmto spôsobom zmeniÅ¥." #: libparted/fs/hfs/hfs.c:975 msgid "shrinking embedded HFS+ volume" msgstr "zmenÅ¡uje sa vnorený zväzok HFS+" #: libparted/fs/hfs/hfs.c:991 msgid "Resizing the HFS+ volume has failed." msgstr "Zmena veľkosti HFS+ zlyhala." #: libparted/fs/hfs/hfs.c:998 msgid "shrinking HFS wrapper" msgstr "zmenÅ¡uje sa HPS wrapper" #: libparted/fs/hfs/hfs.c:1007 msgid "Updating the HFS wrapper has failed." msgstr "Aktualizácia HFS wrappera zlyhala." #: libparted/fs/hfs/hfs.c:1109 libparted/fs/hfs/hfs.c:1194 #, c-format msgid "" "This is not a real %s check. This is going to extract special low level " "files for debugging purposes." msgstr "" "Toto nie je skutoÄná kontrola %s. Týmto sa získajú Å¡peciálne nízkoúrovňové " "súbory pre úÄely ladenia." #: libparted/fs/hfs/journal.c:155 msgid "Bad block list header checksum." msgstr "Chybný kontrolný súÄet zoznamu blokov." #: libparted/fs/hfs/journal.c:168 #, c-format msgid "" "Invalid size of a transaction block while replaying the journal (%i bytes)." msgstr "" "Neplatná veľkosÅ¥ bloku transakcií poÄas prehrávania žurnálu (%i bajtov)." #: libparted/fs/hfs/journal.c:260 msgid "" "Journal stored outside of the volume are not supported. Try to desactivate " "the journal and run Parted again." msgstr "" "Žurnál uložený mimo zväzku nie je podporovaný. Pokúste sa deaktivovaÅ¥ žurnál " "a znova spustiÅ¥ Parted." #: libparted/fs/hfs/journal.c:271 msgid "Journal offset or size is not multiple of the sector size." msgstr "Ofset žurnálu nie je násobkom veľkosti sektora." #: libparted/fs/hfs/journal.c:292 msgid "Incorrect magic values in the journal header." msgstr "Neplatné magické hodnoty v hlaviÄke žurnálu." #: libparted/fs/hfs/journal.c:302 msgid "Journal size mismatch between journal info block and journal header." msgstr "" "VeľkosÅ¥ žurnálu sa nezhoduje v info bloku žurnálu a v hlaviÄke žurnálu." #: libparted/fs/hfs/journal.c:314 msgid "Some header fields are not multiple of the sector size." msgstr "Niektoré polia hlaviÄky nie sú násobkom veľkosti sektora." #: libparted/fs/hfs/journal.c:323 msgid "" "The sector size stored in the journal is not 512 bytes. Parted only " "supports 512 bytes length sectors." msgstr "" "VeľkosÅ¥ sektora uložená v žurnále nie je 512 bajtov. Parted podporuje iba " "sektory s dĺžkou 512 bajtov." #: libparted/fs/hfs/journal.c:335 msgid "Bad journal checksum." msgstr "Chybný kontrolný súÄet žurnálu." #: libparted/fs/hfs/journal.c:353 msgid "" "The journal is not empty. Parted must replay the transactions before " "opening the file system. This will modify the file system." msgstr "" "Žurnál nie je prázdny. Parted musí prehraÅ¥ transakcie pred otvorením " "súsborového systému. Týmto sa súborový systém zmení." #: libparted/fs/hfs/journal.c:381 msgid "" "The volume header or the master directory block has changed while replaying " "the journal. You should restart Parted." msgstr "" "HlaviÄka zväazku hlavného bloku adresárov sa v dôsledku prehrania žurnálu " "zmenila. Mali by ste znova spustiÅ¥ Parted." #: libparted/fs/hfs/probe.c:51 #, c-format msgid "" "Parted can't use HFS file systems on disks with a sector size not equal to " "%d bytes." msgstr "" "Parted nedokáže používaÅ¥ súborové systémy HFS na diskoch s veľkosÅ¥ou sektora " "inou ako %d bajtov." #: libparted/fs/hfs/reloc.c:151 libparted/fs/hfs/reloc_plus.c:155 msgid "An extent has not been relocated." msgstr "Rozsah nebol premiestnený." #: libparted/fs/hfs/reloc.c:251 libparted/fs/hfs/reloc_plus.c:307 msgid "" "A reference to an extent comes from a place it should not. You should check " "the file system!" msgstr "" "Odkaz na rozsah pochádza z miesta, odkiaľ by nemal. Mali by ste skontrolovaÅ¥ " "súborový systém!" #: libparted/fs/hfs/reloc.c:381 msgid "This HFS volume has no catalog file. This is very unusual!" msgstr "Tento zväzok HFS nemá katalógový súbor. To je veľmi nezvyÄajné!" #: libparted/fs/hfs/reloc.c:475 msgid "This HFS volume has no extents overflow file. This is quite unusual!" msgstr "Tento zväzok HFS nemá súbor preteÄení rozsahov. To je dosÅ¥ nezvyÄajné!" #: libparted/fs/hfs/reloc.c:517 libparted/fs/hfs/reloc_plus.c:666 msgid "" "The extents overflow file should not contain its own extents! You should " "check the file system." msgstr "" "Súbor preteÄení rozsahov by nemal obsahovaÅ¥ svoje vlastné rozsahy! Mali by " "ste skontrolovaÅ¥ súborový systém!" #: libparted/fs/hfs/reloc.c:574 libparted/fs/hfs/reloc_plus.c:844 msgid "Could not cache the file system in memory." msgstr "Nebolo možné udržiavaÅ¥ kópiu systému súborov v pamäti." #: libparted/fs/hfs/reloc.c:635 libparted/fs/hfs/reloc_plus.c:905 msgid "Bad blocks list could not be loaded." msgstr "Zoznam chybných blokov nebolo možné naÄítaÅ¥." #: libparted/fs/hfs/reloc.c:649 libparted/fs/hfs/reloc_plus.c:921 msgid "An error occurred during extent relocation." msgstr "Vyskytla sa chyba pri premiestňovaní rozsahov." #: libparted/fs/hfs/reloc_plus.c:494 msgid "This HFS+ volume has no catalog file. This is very unusual!" msgstr "Tento zväzok HFS+ nemá katalógový súbor. To je veľmi nezvyÄajné!" #: libparted/fs/hfs/reloc_plus.c:617 msgid "This HFS+ volume has no extents overflow file. This is quite unusual!" msgstr "" "Tento zväzok HFS+ nemá súbor preteÄení rozsahov. To je dosÅ¥ nezvyÄajné!" #: parted/parted.c:123 msgid "displays this help message" msgstr "zobrazí túto správu pomocníka" #: parted/parted.c:124 msgid "lists partition layout on all block devices" msgstr "vypíše rozloženie oblastí na vÅ¡etkých blokových zariadeniach" #: parted/parted.c:125 msgid "displays machine parseable output" msgstr "zobrazí strojovo Äitateľný výstup" #: parted/parted.c:126 msgid "never prompts for user intervention" msgstr "nikdy nežiada o zásah používateľa" #: parted/parted.c:127 msgid "displays the version" msgstr "zobrazí verziu" #: parted/parted.c:128 msgid "alignment for new partitions" msgstr "zarovnanie nových oblastí" #: parted/parted.c:140 msgid "" "NUMBER is the partition number used by Linux. On MS-DOS disk labels, the " "primary partitions number from 1 to 4, logical partitions from 5 onwards.\n" msgstr "" "ÄŒÃSLO je Äíslo oblasti, ktorú používa Linux. Na menovkách disku msdos majú " "primárne oblasti Äísla 1-4 a logické oblasti sú od 5 Äalej.\n" #: parted/parted.c:143 msgid "LABEL-TYPE is one of: " msgstr "TYP-JMENOVKY je jeden z: " #: parted/parted.c:144 msgid "FLAG is one of: " msgstr "PREPÃNAÄŒ je jeden z: " #: parted/parted.c:145 msgid "UNIT is one of: " msgstr "JEDNOTKA je jedno z: " #: parted/parted.c:146 msgid "desired alignment: minimum or optimal" msgstr "požadovan zarovnanie: minimálne alebo optimálne" #: parted/parted.c:147 msgid "PART-TYPE is one of: primary, logical, extended\n" msgstr "TYP-ODDIELU je jeden z: primary, logical, extended\n" #: parted/parted.c:149 msgid "FS-TYPE is one of: " msgstr "TYP-FS je jeden z: " #: parted/parted.c:150 msgid "" "START and END are disk locations, such as 4GB or 10%. Negative values count " "from the end of the disk. For example, -1s specifies exactly the last " "sector.\n" msgstr "" "ZAÄŒIATOK a KONIEC sú pozície na disku, napr 4 GB alebo 10%. Záporné hodnoty " "sa poÄítajú od konca disku. Napríklad -1s znamená presne posledný sektor.\n" #: parted/parted.c:153 msgid "STATE is one of: on, off\n" msgstr "STAV je jeden z: on, off\n" #: parted/parted.c:154 msgid "DEVICE is usually /dev/hda or /dev/sda\n" msgstr "zariadenie je obvykle /dev/hda alebo /dev/sda\n" #: parted/parted.c:155 msgid "NAME is any word you want\n" msgstr "NÃZEV je ľubovoľné slovo\n" #: parted/parted.c:156 msgid "The partition must have one of the following FS-TYPEs: " msgstr "OblasÅ¥ musí maÅ¥ jeden z nasledovných TYP-FS: " #: parted/parted.c:160 msgid "" "Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n" "This program is free software, covered by the GNU General Public License.\n" "\n" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" msgstr "" "Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n" "Toto je slobodný softvér pod VÅ¡eobecnou verejnou licenciou GNU.\n" "\n" "Tento program je šírený v nadeji, že bude užitoÄný, ale\n" "BEZ AKEJKOĽVEK ZÃRUKY; bez i implicitnej záruky PREDAJNOSTI\n" "Äi VHODNOSTI NA URÄŒITà ÚČEL. ÄŽalÅ¡ie podrobnosti nájdete v\n" "GNU General Public License.\n" "\n" #: parted/parted.c:208 #, c-format msgid "%0.f%%\t(time left %.2d:%.2d)" msgstr "%0.f%%\t(zostávajúci Äas %.2d:%.2d)" #: parted/parted.c:227 #, c-format msgid "" "Partition %s is being used. You must unmount it before you modify it with " "Parted." msgstr "" "OblasÅ¥ %s sa používa. Predtým, než vykonáte zmeny pomocou Parted ju musíte " "odpojiÅ¥." #: parted/parted.c:245 #, c-format msgid "Partition(s) on %s are being used." msgstr "Oblasti na %s sa používajú." #: parted/parted.c:257 msgid "" "The existing file system will be destroyed and all data on the partition " "will be lost. Do you want to continue?" msgstr "" "Existujúci súborový systém sa zniÄí a vÅ¡etky dáta na oblasti sa stratia. " "Chcete pokraÄovaÅ¥?" #: parted/parted.c:269 #, c-format msgid "" "The existing disk label on %s will be destroyed and all data on this disk " "will be lost. Do you want to continue?" msgstr "" "Existujúca menovka disku na %s sa zniÄí a vÅ¡etky dáta na oddiele sa stratia. " "Chcete pokraÄovaÅ¥?" #: parted/parted.c:487 #, c-format msgid "" "WARNING: you are attempting to use %s to operate on (%s) a file system.\n" "%s's file system manipulation code is not as robust as what you'll find in\n" "dedicated, file-system-specific packages like e2fsprogs. We recommend\n" "you use %s only to manipulate partition tables, whenever possible.\n" "Support for performing most operations on most types of file systems\n" "will be removed in an upcoming release.\n" msgstr "" "UPOZORNENIE: pokúšate sa použiÅ¥ %s na pracovanie na (%s) súborovom systéme.\n" "manipulácia so súborovým systémom %s nie je taká robustná ako tá, ktorú " "nájdete\n" "v na to urÄených balíkoch Å¡pecifických pre súborový systém ako e2fsprogs.\n" "OdporúÄame, aby ste používali %s iba na manipuláciu s tabuľkami oblastí\n" "vždy, keÄ je to možné. Podpora vykonávania väÄÅ¡iny operácií na väÄÅ¡ine\n" "typov súborových systémov bude v nasledovnom vydaní odstránená.\n" #: parted/parted.c:508 parted/parted.c:702 parted/parted.c:1179 #: parted/parted.c:1263 parted/parted.c:1935 parted/parted.c:2016 #: parted/parted.c:2088 parted/parted.c:2122 msgid "Partition number?" msgstr "Číslo oblasti?" #: parted/parted.c:551 msgid "Source device?" msgstr "Zdrojové zariadenie?" #: parted/parted.c:555 msgid "Source partition number?" msgstr "Číslo zdrojovej oblasti?" #: parted/parted.c:560 msgid "Can't copy an extended partition." msgstr "Nie je možné kopírovaÅ¥ rozšírené oblasti." #: parted/parted.c:566 msgid "Destination partition number?" msgstr "Číslo cieľovej oblasti?" #: parted/parted.c:655 msgid "New disk label type?" msgstr "Typ novej menovky disku?" #: parted/parted.c:706 parted/parted.c:788 parted/parted.c:1000 msgid "File system type?" msgstr "Typ súborového systému?" #: parted/parted.c:762 parted/parted.c:983 msgid "Partition type?" msgstr "Typ oblasti?" #: parted/parted.c:780 parted/parted.c:990 parted/parted.c:1266 msgid "Partition name?" msgstr "Názov oblasti?" #: parted/parted.c:794 parted/parted.c:1002 parted/parted.c:1194 #: parted/parted.c:1883 parted/parted.c:1944 msgid "Start?" msgstr "ZaÄiatok?" #: parted/parted.c:796 parted/parted.c:1005 parted/parted.c:1197 #: parted/parted.c:1885 parted/parted.c:1946 msgid "End?" msgstr "Koniec?" #: parted/parted.c:862 parted/parted.c:1066 #, c-format msgid "" "You requested a partition from %s to %s.\n" "The closest location we can manage is %s to %s.%s" msgstr "" "Vyžiadali ste oblasÅ¥ od %s do %s.\n" "Najbližšie možné miesto je od %s do %s.%s" #: parted/parted.c:867 parted/parted.c:1071 msgid "" "\n" "Is this still acceptable to you?" msgstr "" "\n" "Je to pre vás eÅ¡te prijateľné?" #: parted/parted.c:889 parted/parted.c:1093 msgid "The resulting partition is not properly aligned for best performance." msgstr "" "Výsledná oblasÅ¥ nie je správne zarovnaná, Äo sa prejaví zhorÅ¡eným výkonom." #: parted/parted.c:995 msgid "An extended partition cannot hold a file system. Did you want mkpart?" msgstr "Rozšírené oblasti nemôžu maÅ¥ súborový systém. Chceli ste mkpart?" #: parted/parted.c:1185 msgid "Can't move an extended partition." msgstr "Nie je možné presunúť rozšírenú oblasÅ¥." #: parted/parted.c:1214 msgid "Can't move a partition onto itself. Try using resize, perhaps?" msgstr "Nie je možné presunúť oblasti na seba. Možno skúste použiÅ¥ resize?" #: parted/parted.c:1360 #, c-format msgid "Minor: %d\n" msgstr "Drobné: %d\n" #: parted/parted.c:1361 #, c-format msgid "Flags: %s\n" msgstr "PrepínaÄe: %s\n" #: parted/parted.c:1362 #, c-format msgid "File System: %s\n" msgstr "Systém súborov: %s\n" #: parted/parted.c:1363 msgid "Size: " msgstr "VeľkosÅ¥: " #: parted/parted.c:1368 msgid "Minimum size: " msgstr "Minimálna veľkosÅ¥: " #: parted/parted.c:1371 msgid "Maximum size: " msgstr "Maximálna veľkosÅ¥: " #: parted/parted.c:1504 #, c-format msgid "Model: %s (%s)\n" msgstr "Model: %s (%s)\n" #: parted/parted.c:1506 #, c-format msgid "Disk %s: %s\n" msgstr "Disk %s: %s\n" #: parted/parted.c:1507 #, c-format msgid "Sector size (logical/physical): %lldB/%lldB\n" msgstr "VeľkosÅ¥ sektora (logická/fyzická): %lldB/%lldB\n" #: parted/parted.c:1525 #, c-format msgid "BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s.\n" msgstr "" "BIOS geometria cylinder,hlava,sektor: %d,%d,%d. Každý cylinder má %s.\n" #: parted/parted.c:1534 #, c-format msgid "Partition Table: %s\n" msgstr "Tabuľka oblastí: %s\n" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Number" msgstr "Číslo" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Start" msgstr "ZaÄiatok" #: parted/parted.c:1550 parted/parted.c:1553 msgid "End" msgstr "Koniec" #: parted/parted.c:1553 msgid "Size" msgstr "VeľkosÅ¥" #: parted/parted.c:1557 msgid "Type" msgstr "Typ" #: parted/parted.c:1559 msgid "File system" msgstr "Súborový systém" #: parted/parted.c:1562 msgid "Name" msgstr "Názov" #: parted/parted.c:1564 msgid "Flags" msgstr "PrepínaÄe" #: parted/parted.c:1621 msgid "Free Space" msgstr "Voľné miesto" #: parted/parted.c:1782 #, c-format msgid "" "A %s %s partition was found at %s -> %s. Do you want to add it to the " "partition table?" msgstr "" "Bola nájdená oblasÅ¥ %s %s na %s -> %s. Chcete ju pridaÅ¥ do tabuľky oblastí?" #: parted/parted.c:1821 msgid "searching for file systems" msgstr "hľadám systémy súborov" #: parted/parted.c:2041 msgid "New device?" msgstr "Nové zariadenie?" #: parted/parted.c:2086 msgid "alignment type(min/opt)" msgstr "typ zarovnania(min/opt)" #: parted/parted.c:2093 #, c-format msgid "%d aligned\n" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d not aligned\n" msgstr "" #: parted/parted.c:2124 msgid "Flag to Invert?" msgstr "PrepínaÄ, který sa má zmeniÅ¥?" #: parted/parted.c:2129 msgid "New state?" msgstr "Nový stav?" #: parted/parted.c:2166 msgid "Unit?" msgstr "Jednotka?" #: parted/parted.c:2348 msgid "align-check" msgstr "kontrola-zarovnania" #: parted/parted.c:2351 msgid "" "align-check TYPE N check partition N for TYPE(min|" "opt) alignment" msgstr "" "align-check TYP N skontrolovaÅ¥ zarovnanie TYP(min|" "opt) na oblasti N" #: parted/parted.c:2359 msgid "check" msgstr "check" #: parted/parted.c:2362 msgid "" "check NUMBER do a simple check on the file system" msgstr "" "check ÄŒÃSLO vykonaÅ¥ jednoduchú kontrolu systému " "súborov" #: parted/parted.c:2368 msgid "cp" msgstr "cp" #: parted/parted.c:2371 msgid "" "cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another " "partition" msgstr "" "cp [OD-ZARIADENIE] OD-ÄŒÃSLO DO-ÄŒÃSLO skopírovaÅ¥ systém súborov na inú " "oblasÅ¥" #: parted/parted.c:2377 msgid "help" msgstr "help" #: parted/parted.c:2380 msgid "" "help [COMMAND] print general help, or help on " "COMMAND" msgstr "" "help [PRÃKAZ] vypíše vÅ¡eobecného pomocníka alebo " "pomocníka o PRÃKAZE" #: parted/parted.c:2386 msgid "mklabel" msgstr "mklabel" #: parted/parted.c:2386 msgid "mktable" msgstr "mktable" #: parted/parted.c:2389 msgid "" "mklabel,mktable LABEL-TYPE create a new disklabel (partition " "table)" msgstr "" "mklabel TYP-MENOVKY vytvorí novú menovku disku (tabuľku " "oblastí)" #: parted/parted.c:2395 msgid "mkfs" msgstr "mkfs" #: parted/parted.c:2398 msgid "" "mkfs NUMBER FS-TYPE make a FS-TYPE file system on " "partition NUMBER" msgstr "" "mkfs ÄŒÃSLO TYP-FS vytvorí systém súborov FS-TYPE na " "oblasti ÄŒÃSLO" #: parted/parted.c:2404 msgid "mkpart" msgstr "mkpart" #: parted/parted.c:2407 msgid "mkpart PART-TYPE [FS-TYPE] START END make a partition" msgstr "mkpart TYP-ODDIELU [TYP-FS] ZAÄŒIATOK KONIEC vytvorí oblasÅ¥" #: parted/parted.c:2413 msgid "" "'mkpart' makes a partition without creating a new file system on the " "partition. FS-TYPE may be specified to set an appropriate partition ID.\n" msgstr "" "„mkpart“ vytvorí oblasÅ¥ bez toho, aby vytvoril nový systém súborov na nej. " "TYP-FS môže Å¡pecifikovaÅ¥ zodpovedajúci ID oblasti.\n" #: parted/parted.c:2418 msgid "mkpartfs" msgstr "mkpartfs" #: parted/parted.c:2421 msgid "" "mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system" msgstr "" "mkpartfs TYP-ODDIELU TYP-FS ZAÄŒ KONIEC vytvoriÅ¥ oblasÅ¥ se systémom súborov" #: parted/parted.c:2427 msgid "move" msgstr "move" #: parted/parted.c:2430 msgid "move NUMBER START END move partition NUMBER" msgstr "move ÄŒÃSLO ZAÄŒIATOK KONIEC presunúť oblasÅ¥ ÄŒÃSLO" #: parted/parted.c:2435 msgid "name" msgstr "name" #: parted/parted.c:2438 msgid "name NUMBER NAME name partition NUMBER as NAME" msgstr "name MINOR NÃZOV nazvaÅ¥ oblasÅ¥ MINOR NÃZVOM" #: parted/parted.c:2443 msgid "print" msgstr "print" #: parted/parted.c:2446 msgid "" "print [devices|free|list,all|NUMBER] display the partition table, " "available devices, free space, all found partitions, or a particular " "partition" msgstr "" "print [devices|free|list,all|ÄŒÃSLO] zobrazí tabuľku oblastí, dostupné " "zariadenia, voľné miesto, vÅ¡etky nájdené oblasti alebo konkrétnu oblasÅ¥" #: parted/parted.c:2451 msgid "" "Without arguments, 'print' displays the entire partition table. However with " "the following arguments it performs various other actions.\n" msgstr "" "„print“ bez argumentov zobrazí celú tabuľku oblastí. S nasledovnými " "argumentami vÅ¡ak vykoná rôzne iné Äinnosti.\n" #: parted/parted.c:2453 msgid " devices : display all active block devices\n" msgstr " devices : zobrazí vÅ¡etky aktívne blokové zariadenia\n" #: parted/parted.c:2454 msgid "" " free : display information about free unpartitioned space on the " "current block device\n" msgstr "" " free : zobrazí informácie o voľnom mieste nerozdelenom medzi oblasti " "na aktuálnom blokovom zariadení\n" #: parted/parted.c:2456 msgid "" " list, all : display the partition tables of all active block devices\n" msgstr "" " list, all : zobrazí tabuľky oblastí vÅ¡etkých aktívnych blokových " "zariadení\n" #: parted/parted.c:2457 msgid "" " NUMBER : display more detailed information about this particular " "partition\n" msgstr "" " ÄŒÃSLO : zobrazí podrobnejÅ¡ie informácie o tejto konkrétnej oblasti\n" #: parted/parted.c:2462 msgid "quit" msgstr "quit" #: parted/parted.c:2465 msgid "quit exit program" msgstr "quit ukonÄiÅ¥ program" #: parted/parted.c:2470 msgid "rescue" msgstr "rescue" #: parted/parted.c:2473 msgid "" "rescue START END rescue a lost partition near START " "and END" msgstr "" "rescue ZAÄŒIATOK KONIEC zachrániÅ¥ stratenú oblasÅ¥ v " "blízkosti ZAÄŒIATKU a KONCA" #: parted/parted.c:2479 msgid "resize" msgstr "resize" #: parted/parted.c:2482 msgid "" "resize NUMBER START END resize partition NUMBER and its " "file system" msgstr "" "rescue ÄŒÃSLO ZAÄŒIATOK KONIEC zmeniÅ¥ veľkosÅ¥ oblasti ÄŒÃSLO a jej " "súborového systému" #: parted/parted.c:2490 msgid "rm" msgstr "rm" #: parted/parted.c:2493 msgid "rm NUMBER delete partition NUMBER" msgstr "rm MINOR odstrániÅ¥ oblasÅ¥ MINOR" #: parted/parted.c:2498 msgid "select" msgstr "select" #: parted/parted.c:2501 msgid "select DEVICE choose the device to edit" msgstr "" "select zariadenie zvoliÅ¥ zariadenie, ktoré sa má " "upravovaÅ¥" #: parted/parted.c:2506 msgid "set" msgstr "set" #: parted/parted.c:2509 msgid "" "set NUMBER FLAG STATE change the FLAG on partition NUMBER" msgstr "set MINOR PREPÃNAÄŒ STAV zmeniÅ¥ voľbu na oblasti MINOR" #: parted/parted.c:2515 msgid "toggle" msgstr "toggle" #: parted/parted.c:2518 msgid "" "toggle [NUMBER [FLAG]] toggle the state of FLAG on " "partition NUMBER" msgstr "" "toggle [ÄŒÃSLO [PRÃZNAK]] prepnúť PRÃZNAK na oblasti ÄŒÃSLO" #: parted/parted.c:2524 msgid "unit" msgstr "unit" #: parted/parted.c:2527 msgid "unit UNIT set the default unit to UNIT" msgstr "" "unit JEDNOTKA nastaviÅ¥ predvolenú jednotku na " "JEDNOTKA" #: parted/parted.c:2532 msgid "version" msgstr "version" #: parted/parted.c:2535 msgid "" "version display the version number and " "copyright information of GNU Parted" msgstr "" "version zobrazí verziu a informácie o " "autorských právach GNU Parted" #: parted/parted.c:2539 msgid "" "'version' displays copyright and version information corresponding to this " "copy of GNU Parted\n" msgstr "" "„version“ zobrazí informácie o autorských právach a verzii tejto kópie GNU " "Parted\n" #: parted/parted.c:2607 #, c-format msgid "Usage: %s [-hlmsv] [-a] [DEVICE [COMMAND [PARAMETERS]]...]\n" msgstr "" "Použitie: %s [-hlmsv] [-a] [ZARIADENIE [PRÃKAZ [PARAMETRE]]...]\n" #: parted/parted.c:2651 msgid "No device found" msgstr "Nebolo nájdené žiadne zariadenie" #: parted/parted.c:2688 msgid "WARNING: You are not superuser. Watch out for permissions." msgstr "UPOZORNENIE: Nie ste superpoužívateľ. Dávajte pozor na oprávnenia." #: parted/parted.c:2726 msgid "You may need to update /etc/fstab.\n" msgstr "Môže byÅ¥ potrebné aktualizovaÅ¥ /etc/fstab.\n" #: parted/ui.c:162 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n" msgstr "Vitajte v GNU Parted! Zoznam príkazov zobrazíte napísaním „help“.\n" #: parted/ui.c:165 msgid "" "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n" "Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run " "in\n" "interactive mode.\n" msgstr "" "Použitie: parted [PREPÃNAÄŒ]... [ZARIADENIE [PRÃKAZ [PARAMETRE]...]...]\n" "VykonaÅ¥ PRÃKAZy s PARAMETRami na ZARIADENIE. Ak nie je zadaný PRÃKAZ, beží v " "interaktívnom režime.\n" #: parted/ui.c:170 #, c-format msgid "" "\n" "\n" "You found a bug in GNU Parted! Here's what you have to do:\n" "\n" "Don't panic! The bug has most likely not affected any of your data.\n" "Help us to fix this bug by doing the following:\n" "\n" "Check whether the bug has already been fixed by checking\n" "the last version of GNU Parted that you can find at:\n" "\n" "\thttp://ftp.gnu.org/gnu/parted/\n" "\n" "Please check this version prior to bug reporting.\n" "\n" "If this has not been fixed yet or if you don't know how to check,\n" "please visit the GNU Parted website:\n" "\n" "\thttp://www.gnu.org/software/parted\n" "\n" "for further information.\n" "\n" "Your report should contain the version of this release (%s)\n" "along with the error message below, the output of\n" "\n" "\tparted DEVICE unit co print unit s print\n" "\n" "and the following history of commands you entered.\n" "Also include any additional information about your setup you\n" "consider important.\n" msgstr "" "\n" "\n" "naÅ¡li ste chybu v GNU Parted! Musíte spraviÅ¥ nasledovné:\n" "\n" "Nepanikárte! Chyba pravdepodobne neovplyvnila vaÅ¡e údaje.\n" "Pomôžte nám opraviÅ¥ ju tým, že urobíte nasledovné:\n" "\n" "Skontrolujte, Äi chyba už nebola opravená v poslednej verzii\n" "GNU Parted, ktorú nájdete na:\n" "\n" "\thttp://ftp.gnu.org/gnu/parted/\n" "\n" "Prosím, pred oznámením chyby ju overte v tejto verzii.\n" "\n" "Ak chyba nebola zatiaľ opravená alebo neviete ako ju overiÅ¥,\n" "navÅ¡tívte prosím webstránku GNU Parted:\n" "\n" "\thttp://www.gnu.org/software/parted\n" "\n" "VaÅ¡e hlásenie by malo obsahovaÅ¥ verziu tohto vydania (%s)\n" "spolu s nižšie zobrazeným chybovým hlásením, výstup\n" "\n" "\tparted DEVICE unit co print unit s print\n" "\n" "a históriu príkazov, ktoré ste zadali. Tiež doplňte akékoľvek\n" "ÄalÅ¡ie informácie o vaÅ¡om systéme, ktoré považujete za\n" "relevantné.\n" #: parted/ui.c:291 msgid "" "\n" "Command History:\n" msgstr "" "\n" "História príkazov:\n" #: parted/ui.c:354 msgid "" "\n" "Error: SEGV_MAPERR (Address not mapped to object)\n" msgstr "" "\n" "Chyba: SEGV_MAPERR (Adresa nemá mapovanie na objekt)\n" #: parted/ui.c:360 msgid "" "\n" "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n" msgstr "" "\n" "Chyba: SEGV_ACCERR (Neplatné oprávnenia mapovaného objektu)\n" #: parted/ui.c:365 msgid "" "\n" "Error: A general SIGSEGV signal was encountered.\n" msgstr "" "\n" "Chyba: Vyskytol sa vÅ¡eobecný signál SIGSEGV.\n" #: parted/ui.c:389 msgid "" "\n" "Error: FPE_INTDIV (Integer: divide by zero)" msgstr "" "\n" "Chyba: FPE_INTDIV (Celé Äíslo: delenie nulou)" #: parted/ui.c:394 msgid "" "\n" "Error: FPE_INTOVF (Integer: overflow)" msgstr "" "\n" "Chyba: FPE_INTOVF (Celé Äíslo: preteÄenie)" #: parted/ui.c:399 msgid "" "\n" "Error: FPE_FLTDIV (Float: divide by zero)" msgstr "" "\n" "Chyba: FPE_FLTDIV (Desatinné Äíslo: delenie nulou)" #: parted/ui.c:404 msgid "" "\n" "Error: FPE_FLTOVF (Float: overflow)" msgstr "" "\n" "Chyba: FPE_FLTOVF (Desatinné Äíslo: preteÄenie)" #: parted/ui.c:409 msgid "" "\n" "Error: FPE_FLTUND (Float: underflow)" msgstr "" "\n" "Chyba: FPE_FLTUND (Desatinné Äíslo: podteÄenie)" #: parted/ui.c:414 msgid "" "\n" "Error: FPE_FLTRES (Float: inexact result)" msgstr "" "\n" "Chyba: FPE_FLTRES (Desatinné Äíslo: nepresný výsledok)" #: parted/ui.c:419 msgid "" "\n" "Error: FPE_FLTINV (Float: invalid operation)" msgstr "" "\n" "Chyba: FPE_FLTINV (Desatinné Äíslo: neplatná operácia)" #: parted/ui.c:424 msgid "" "\n" "Error: FPE_FLTSUB (Float: subscript out of range)" msgstr "" "\n" "Chyba: FPE_FLTSUB (Desatinné Äíslo: dolný index mimo rozsahu)" #: parted/ui.c:429 msgid "" "\n" "Error: A general SIGFPE signal was encountered." msgstr "" "\n" "Chyba: Vyskytol sa vÅ¡eobecný signál SIGFPE." #: parted/ui.c:453 msgid "" "\n" "Error: ILL_ILLOPC (Illegal Opcode)" msgstr "" "\n" "Chyba: ILL_ILLOPC (Neplatný opkód)" #: parted/ui.c:458 msgid "" "\n" "Error: ILL_ILLOPN (Illegal Operand)" msgstr "" "\n" "Chyba: ILL_ILLOPN (Neplatný operand)" #: parted/ui.c:463 msgid "" "\n" "Error: ILL_ILLADR (Illegal addressing mode)" msgstr "" "\n" "Chyba: ILL_ILLADR (Neplatný režim adresácie)" #: parted/ui.c:468 msgid "" "\n" "Error: ILL_ILLTRP (Illegal Trap)" msgstr "" "\n" "Chyba: ILL_ILLTRP (Neplatné zachytenie)" #: parted/ui.c:473 msgid "" "\n" "Error: ILL_PRVOPC (Privileged Opcode)" msgstr "" "\n" "Chyba: ILL_PRVOPC (Privilegovaný opkód)" #: parted/ui.c:478 msgid "" "\n" "Error: ILL_PRVREG (Privileged Register)" msgstr "" "\n" "Chyba: ILL_PRVREG (Privilegovaný register)" #: parted/ui.c:483 msgid "" "\n" "Error: ILL_COPROC (Coprocessor Error)" msgstr "" "\n" "Chyba: ILL_COPROC (Chyba koprocesora)" #: parted/ui.c:488 msgid "" "\n" "Error: ILL_BADSTK (Internal Stack Error)" msgstr "" "\n" "Chyba: ILL_BADSTK (Vnútorná chyba zásobníka)" #: parted/ui.c:493 msgid "" "\n" "Error: A general SIGILL signal was encountered." msgstr "" "\n" "Chyba: Vyskytol sa vÅ¡eobecný signál SIGILL." #: parted/ui.c:892 #, c-format msgid "invalid token: %s" msgstr "neplatný token: %s" #: parted/ui.c:1048 msgid "Expecting a partition number." msgstr "OÄakáva sa Äíslo oblasti." #: parted/ui.c:1057 msgid "Partition doesn't exist." msgstr "OblasÅ¥ neexistuje." #: parted/ui.c:1077 msgid "Expecting a file system type." msgstr "OÄakáva sa typ systému súborov." #: parted/ui.c:1084 #, c-format msgid "Unknown file system type \"%s\"." msgstr "Neznámy typ systému súborov „%s“." #: parted/ui.c:1104 msgid "Expecting a disk label type." msgstr "OÄakáva sa typ menovky disku." #: parted/ui.c:1202 msgid "Can't create any more partitions." msgstr "Nie je možné vytvoriÅ¥ ÄalÅ¡ie oblasti." #: parted/ui.c:1212 msgid "Expecting a partition type." msgstr "OÄakáva sa typ oblasti." #: parted/ui.c:1360 msgid "on" msgstr "zap" #: parted/ui.c:1361 msgid "off" msgstr "vyp" #: parted/ui.c:1378 msgid "optimal" msgstr "optimálne" #: parted/ui.c:1379 msgid "minimal" msgstr "minimálne" #: parted/ui.c:1512 msgid "OPTIONs:" msgstr "VOĽBY:" #: parted/ui.c:1517 msgid "COMMANDs:" msgstr "PRÃKAZy:" #: parted/ui.c:1520 #, fuzzy, c-format msgid "" "\n" "Report bugs to %s\n" msgstr "" "\n" "Chyby hláste <%s>.\n" #: parted/ui.c:1527 #, c-format msgid "Using %s\n" msgstr "Používa sa %s\n" #: parted/ui.c:1601 msgid "This command does not make sense in non-interactive mode.\n" msgstr "Príkaz nedáva zmysel v neinteraktívnom režime.\n" #~ msgid "" #~ "WARNING: the kernel failed to re-read the partition table on %s (%s). As " #~ "a result, it may not reflect all of your changes until after reboot." #~ msgstr "" #~ "UPOZORNENIE: jadru sa nepodarilo znova naÄítaÅ¥ tabuľku oblastí na %s " #~ "(%s). V dôsledku toho menusí reflektovaÅ¥ vÅ¡etky vaÅ¡e zmeny dovtedy, kým " #~ "nevykonáte reÅ¡tart." #~ msgid "" #~ "Device %s has a logical sector size of %lld. Not all parts of GNU Parted " #~ "support this at the moment, and the working code is HIGHLY EXPERIMENTAL.\n" #~ msgstr "" #~ "Zariadenie %s má veľkosÅ¥ logického sektora %lld. Nie vÅ¡etky Äasti GNU " #~ "Parted to momentálne podporujú a pracovný kód je VYSOKO EXPERIMENTÃLNY.\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: neprípustná voľba -- %c\n" #~ msgid "" #~ "Could not determine minimum io size for %s: %s.\n" #~ "Using the default size (%lld)." #~ msgstr "" #~ "Nebolo možné urÄiÅ¥ minimálnu veľkosÅ¥ io pre %s: %s.\n" #~ "Používa sa Å¡tandardná veľkosÅ¥ sektora (%lld)." #~ msgid "" #~ "The kernel was unable to re-read the partition table on %s (%s). This " #~ "means Linux won't know anything about the modifications you made until " #~ "you reboot. You should reboot your computer before doing anything with " #~ "%s." #~ msgstr "" #~ "Jadro nemohlo znovu naÄítaÅ¥ tabuľku oddielov na %s (%s). To znamená, že " #~ "Linux nebude vedieÅ¥ o zmenách, ktoré ste vykonali, pokým nereÅ¡tartujete " #~ "systém - takže by ste nemali %s pripájaÅ¥ ani ho pred reÅ¡tartom akokoľvek " #~ "používaÅ¥." #~ msgid "Unable to determine the block size of this dasd" #~ msgstr "Nie je možné urÄiÅ¥ veľkosÅ¥ bloku tohto dasd." #~ msgid "File system has an incompatible feature enabled." #~ msgstr "Systém súborov má povolenou nekompatibilnú vlastnosÅ¥." #~ msgid "Unrecognised linux swap signature '%10s'." #~ msgstr "Nerozpoznaný podpis odkladacieho oddielu Linuxu „%10s“." #~ msgid "" #~ "%s read error\n" #~ "%s\n" #~ msgstr "" #~ "%s chyba Äítania\n" #~ "%s\n" #, fuzzy #~ msgid "" #~ "%s write error\n" #~ "%s\n" #~ msgstr "%s pri zápise na %s" #~ msgid "" #~ "%s IOCTL error\n" #~ "%s\n" #~ msgstr "" #~ "%s chyba IOCTL\n" #~ "%s\n" #~ msgid "" #~ "%s Config file syntax error\n" #~ "%s\n" #~ msgstr "" #~ "%s Chyba syntaxe konfiguraÄného súboru.\n" #~ "%s\n" #~ msgid "" #~ "%s space allocation\n" #~ "%s\n" #~ msgstr "" #~ "%s alokácia miesta\n" #~ "%s\n" #~ msgid "" #~ "%s Fatal error\n" #~ "%s\n" #~ msgstr "" #~ "%s Osudová chyba\n" #~ "%s\n" #~ msgid "File system?" #~ msgstr "Systém súborov?" #~ msgid "where necessary, prompts for user intervention" #~ msgstr "ak je treba, požiada o zásah používateľa" #, fuzzy #~ msgid "" #~ "Without arguments, print displays the entire partition table. With " #~ "'free'\n" #~ "argument, information about free space will be displayed otherwise if a\n" #~ "partition number is given, then more detailed information is displayed\n" #~ "about that partition. If the 'all' argument is passed instead, partition\n" #~ "information for all devices will be displayed.\n" #~ msgstr "" #~ "print bez argumentov zobrazí celú tabuľku oddielov. Je-li zadáno Äíslo " #~ "oddielu, zobrazí se o tomto oddielu podrobnejší informace.\n" parted-2.3/po/de.gmo0000644000000000000000000022050311400005705011230 00000000000000Þ•!$×,"ˆ-;‰-Å00Ø00 12:1*m1-˜1$Æ1*ë122%I2,o2&œ2)Ã2&í2,3#A3$e3!Š3&¬3(Ó3<ü3394m40„4,µ45â4P5/i5]™5G÷5&?6f6ƒ6 Š6+•6+Á6í6# 7#07T70r70£7Ô70ó7($8(M8v8 –8'·8%ß8)9/9'O9`w92Ø:< ;H;];{;š;7°;(è;%<7<T<p<Žr<^=`=Wd=¼=]Ù=Õ7> ?"?+5?Ba?F¤?!ë?0 @<>@D{@!À@Pâ@]3AH‘AÚAúA$BD=B‚B"˜B-»B‡éBqC uCLC>ÌC D!(D)JD!tDG–D(ÞD<E@DE2…E"¸E?ÛE!F2=FpF0wF]¨F=GDDGI‰GÓGZæGoAH"±I*ÔIÿI4J5RJ(ˆJ±JÐJïJK-KIKfK)†K-°K$ÞKL<"L=_LL½LÝLýLM:M4XMM8ªM'ãM7 NCN'ZN‚N8žN8×NOë.O#P>P/YP ‰Q –Q¡Q°Q´Q¹Q¿QØÞQ&·RÞR(óRBS$_S„S¡S¿SÝS:ùS\4T=‘T?ÏT>UNU_U&sUšU  U¬U ½U¶ÉU€V>’V*ÑVLüV=IW;‡W/ÃW<óW+0XH\X*¥XÐXðX>YAYÁYÅYÕY ÛYHæY /ZK:Z0†Z}·Zc5[ ™[¥[´[È[Ûá[I½\G^UO^¥^¬^-Ì^ú^ ` `$`;`X`t`9Œ`Æ`4Ö`4 a@a$_a„a–a)±aKÛa>'blfb:ÓbDcmScÁcØcçcdd d+d;d”Vdëd ðdüd eee1eAeJeie…e8ŸeØe¢öe™f±f¸f»f+Äf/ðf/ gPg0_g?gTÐg.%h)Th.~hN­hQühNici)|i¦i¶i-Èiöi"j#)jMjejC€j$ÄjéjœïjŒk,¦kÓkØk7çk*l+Jl3vl7ªlâlñl mmmmH7m<€m;½m<ùmM6n;„n>Àn<ÿnDÚop‚5pí¸pÖ¦q<}rHºr<s@s‚ÂsFEt/Œt^¼tpuoŒucüu``vhÁvH*wHsw ¼wÙÝw*·x?âx0"y0Syˆ„zš {¨{,*|W|u|7•|¨Í|¶v~@-@nR¯g€gj€/Ò€t7wp¯; ‚E\‚<¢‚Fß‚:&ƒƒaƒfåƒ;L„Uˆ„Þ„ò„…+…&>…e…0ç…1†ˆJ†1Ó†2‡8‡=‡(N‡(w‡& ‡tLJ(<ˆAeˆ§ˆºˆ3ш‰ ‰‰2‰N‰c‰u‰‡‰ ™‰¦‰¾‰$Ô‰*ù‰$Š DŠåŠ ùŠ#‹#'‹K‹;e‹¡‹H©‹+ò‹?Œˆ^ŒçŒ;3W/‹+»'ç#Ž3ŽSŽoŽŽ˜Ž#œŽbÀŽ~#P¢?ó39? AOTMZ¨±ÉÑNÔ#‘!,‘N‘c‘ ~‘ˆ‘)‘‘.»‘.ê‘’’2’O7’‡’ Ž’™’ «’¹’+½’é’ñ’õ’“““Q“n“9u“¯“L¸“” ”>”Q”Y”F^”#¥”ɔ͔ ДÛ”ô”…ù”)•©•®•¶•”¼•Q–5V–Œ–‘– £–®–É–SЖ$—T+—€—@ƒ—Ä—É— ä—ï—˜B˜R˜LV˜ £˜­˜Øâ˜ç˜Uî˜D™V™i™En™´™k¼™ (š"4šWšršš•¦šñ<œ. 6C 6z 8± :ê ;%¡/a¡8‘¡PÊ¡0¢3L¢(€¢+©¢(Õ¢8þ¢,7£-d£*’£+½£-é£F¤<^¤›¤'·¤2ߤ6¥II¥>“¥vÒ¥VI¦* ¦˦ç¦ î¦4ù¦4.§/c§5“§5ɧ)ÿ§A)¨Ak¨*­¨Fب6©4V©=‹©4É©;þ©::ª8uª$®ª9Óª© «;·¬Jó¬!>­,`­0­%¾­<ä­&!®0H®6y® °®Ñ®£Ó®\w¯Ô¯oد!H°j°ì°ô±²>#²\b²j¿²(*³;S³K³RÛ³3.´bb´tÅ´V:µ;‘µ1͵=ÿµQ=¶"¶%²¶.ضÀ·È· Ì·_×·Z7¸4’¸4Ǹ8ü¸&5¹U\¹:²¹Eí¹M3º>º7Àº|øº7u»I­» ÷»C¼fE¼L¬¼Zù¼CT½˜½‘«½­=¾ ë¿8 À EÀBfÀC©À?íÀ&-Á&TÁ&{Á&¢Á,ÉÁ-öÁ,$Â.QÂ5€Â:¶Â-ñÂTÃUtÃ*ÊÃ*õÃ* Ä*KÄ0vÄ2§ÄHÚÄ,#ÅOPÅ9 ÅFÚÅ!Æ08Æ,iÆM–ÆMäÆ2ÇHÇ)PÈzÈs™È Ê"Ê1ÊNÊSÊYÊ%`ʆÊ5¥ËÛË)úËD$Ì.iÌ"˜Ì$»Ì'àÌ#ÍL,ÍiyÍIãÍK-ÎFyÎÀÎÕÎ:ìÎ'Ï6ÏEÏ VÏ·bÏÐL,Ð4yÐ\®ÐK ÑFWÑ8žÑN×Ñ;&ÒAbÒ=¤Ò'âÒ ÓNÓ¥iÓÔÔ'Ô -ÔR8Ô ‹ÔV˜Ô?ïÔ›/ÕtËÕ @ÖMÖ\ÖpÖõ‰Öu×KõØYAÙ ›Ù"¦Ù(ÉÙ#òÙ Û"Û4Û'PÛxÛ•ÛL°ÛýÛ:Ü;KÜ$‡Ü0¬ÜÝÜûÜ3ÝZOÝKªÝ…öÝC|ÞNÀޓߣ߽ß'Ðßøß à à+à(<à³eàá á,áBáQáVáláá˜á(¸á(áá< â(GâÜpâMãlãsã vã3€ã7´ã7ìã$ä49ä\näjËä46å-kå5™å_Ïåh/æ˜æ¯æ7Îæçç9(çbç&qç*˜çÃçÛçYøç6Rè ‰è¯•èEé.dé“é›éA­éHïéD8êI}êMÇê ë"ë9ë@ëHëOëkkëE×ë@ìA^ìj ì[ íVgíI¾ígîupîZæî'Aï›iïìð òð5òRIò6œòžÓò›róKô9Zôl”ô_õtaõsÖõ‰Jö…ÔöWZ÷W²÷ ø+ø30ùLdùS±ùiúoû©ïû•™ü)/ý$Yý&~ý6¥ýßÜýϼÿ>Œ?Ëw Œƒ‚4“œÈ=eƒ£H'apMÒa ?‚ŠÂ|MOÊb}–´&Ó2úž-HÌI ´_ L Ma ¯ ³ 'Ë 'ó 4 P 7Þ H _ , E¬ ò  û   & E ^ x ’ ¬ %¿ $å 2 .= l­; O+\+ˆ&´9ÛV-te¢Ž—³@Ï73H/|+¬'Ø#$D'Y1„m¶™$h¾Y'‡£¨]°3<Q? ‘›»Í ß ì-ö:$:_šŸ½Q  )AP:T—› ¯¹¾UÆ:#^Kg³»EÀK$_„ˆ‹Ÿ¿—Ä1\Ž“›˜¡:9?y#~ ¢­ÊcÑ5h<¥@¨éî!<PC”S˜ ìø0FKRR¥¹ÔOÙ) j1  œ (ª &Ó #ú $!Å[K†]›éÜÁ¸ªÉ"-oižQš‰ØÊ£®¿D'…˜Þ»1TF ^Ë3!…&qf„n™æð;ü³ƒú« %7Jv¡*Œ¨éëMSB¥Â8b!—û¬g¡¢–  ÿa ä%à êV¾ø-p|JΨLÑhMor=¦n)CºxȹgDÓÒÆG§ÍS:^ Vþ†Õõ׺ÔáP,Àç_±C$ëýÐ!µËîxÊ”ò–[Û÷@¯ÀkìA½QàÓ(~5u j’ù)Iô©$OH‚ª#Uf”Ž Zpriy&I ¶mBs4­‚A|HôÕ‘0¯•ÏŠNœKz©×EÌ> ÞŸl\ÆÙy—/7ßó´ã.Šù]Î<åâÒ+£îÿ9(\µv'ú€R°àÂ_±üÜ‘íÄ:¸‹t>{¶k#jÛ­·,0´‡ ûc+òcÝ*UÇè² áEtÍ6öñ˜ìïdƒïöZlþYÇ`»“ Öç? q}í6€²‡wó÷`?œN®<29/dÚÔ§õb5O› óå1‹Øâ "°ÈW¢TÌX·Å=uˆ} ÉR¼äžz¥ˆ™¦eŸwæ„ÐFÙÁÖšèGmñ3ÝÄe¬s¹ðWýYÚÑ¿“꫌P2½Ž¤.ha4LÏ{’ @ã8~¤ ¾ß•¼‰;Xø You found a bug in GNU Parted! Here's what you have to do: Don't panic! The bug has most likely not affected any of your data. Help us to fix this bug by doing the following: Check whether the bug has already been fixed by checking the last version of GNU Parted that you can find at: http://ftp.gnu.org/gnu/parted/ Please check this version prior to bug reporting. If this has not been fixed yet or if you don't know how to check, please visit the GNU Parted website: http://www.gnu.org/software/parted for further information. Your report should contain the version of this release (%s) along with the error message below, the output of parted DEVICE unit co print unit s print and the following history of commands you entered. Also include any additional information about your setup you consider important. Command History: Error: A general SIGFPE signal was encountered. Error: A general SIGILL signal was encountered. Error: A general SIGSEGV signal was encountered. Error: FPE_FLTDIV (Float: divide by zero) Error: FPE_FLTINV (Float: invalid operation) Error: FPE_FLTOVF (Float: overflow) Error: FPE_FLTRES (Float: inexact result) Error: FPE_FLTSUB (Float: subscript out of range) Error: FPE_FLTUND (Float: underflow) Error: FPE_INTDIV (Integer: divide by zero) Error: FPE_INTOVF (Integer: overflow) Error: ILL_BADSTK (Internal Stack Error) Error: ILL_COPROC (Coprocessor Error) Error: ILL_ILLADR (Illegal addressing mode) Error: ILL_ILLOPC (Illegal Opcode) Error: ILL_ILLOPN (Illegal Operand) Error: ILL_ILLTRP (Illegal Trap) Error: ILL_PRVOPC (Privileged Opcode) Error: ILL_PRVREG (Privileged Register) Error: SEGV_ACCERR (Invalid permissions for mapped object) Error: SEGV_MAPERR (Address not mapped to object) Report bugs to <%s>. When no DEVICE is given, probe all partitions. --help display this help and exit --version output version information and exit NUMBER : display more detailed information about this particular partition devices : display all active block devices free : display information about free unpartitioned space on the current block device list, all : display the partition tables of all active block devices "%s" has invalid syntax for locations.%0.f%% (time left %.2d:%.2d)%s %s%s %s %s%s : Bad checksum on block %llu of type %s %s : Bad checksum on block %llu of type %s.%s : Couldn't read block %llu %s : Couldn't read boot block %llu %s : Couldn't read root block %llu %s : Couldn't write block %d %s : Didn't find rdb block, should never happen %s : Didn't find rdb block, should never happen.%s : Failed to allocate block %s : Failed to allocate disk_specific rdb block %s : Failed to allocate id list element %s : Failed to allocate partition block %s : Failed to list bad blocks.%s : Failed to list boot blocks.%s : Failed to list file system blocks.%s : Failed to list partition blocks.%s : Failed to read partition block %llu %s : Loop detected at block %d.%s : The %s list seems bad at block %s.%s contains GPT signatures, indicating that it has a GPT table. However, it does not have a valid fake msdos partition table, as it should. Perhaps it was corrupted -- possibly by a program that doesn't understand GPT partition tables. Or perhaps you deleted the GPT table, and are now using an msdos partition table. Is this a GPT partition table?%s disk labels do not support extended partitions.%s disk labels don't support logical or extended partitions.%s during read on %s%s during seek for read on %s%s during seek for write on %s%s during write on %s%s has no extended partition (volume header partition).%s is %dk, but it has %d clusters (%dk).%s is too small for a Mac disk label!%s trying to sync %s to disk%s: unrecognised disk label''mkpart' makes a partition without creating a new file system on the partition. FS-TYPE may be specified to set an appropriate partition ID. 'version' displays copyright and version information corresponding to this copy of GNU Parted (C)A %s %s partition was found at %s -> %s. Do you want to add it to the partition table?A data set name is corruptedA reference to an extent comes from a place it should not. You should check the file system!A resize operation on this file system will use EXPERIMENTAL code that MAY CORRUPT it (although no one has reported any such damage yet). You should at least backup your data first, and run 'e2fsck -f' afterwards.API version mismatchATARAID ControllerAn error occurred during extent relocation.An error occurred while looking for the mandatory bad blocks file.An extended partition cannot hold a file system. Did you want mkpart?An extent has not been relocated.Assertion (%s) at %s:%d in function %s() failed.Attempt to write sectors %ld-%ld outside of partition on %s.BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s. Backtrace has %d calls on stack: Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or scandisk.Bad FAT: cluster %d outside file system in chain for %s. You should run dosfsck or scandisk.Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk.Bad block list header checksum.Bad blocks could not be read.Bad blocks list could not be loaded.Bad directory entry for %s: first cluster is the end of file marker.Bad journal checksum.Block %i has no reference? Weird.Block %i shouldn't have been marked (%d, %d)!Both the primary and backup GPT tables are corrupt. Try making a fresh table, and using Parted's rescue feature to recover partitions.BugCOMMANDs:Can't add a logical partition to %s, because there is no extended partition.Can't add another partition -- the partition map is too small!Can't add another partition.Can't copy an extended partition.Can't copy onto an overlapping partition.Can't create any more partitions.Can't have a logical partition outside of the extended partition on %s.Can't have a partition outside the disk!Can't have a primary partition inside an extended partition.Can't have logical partitions outside of the extended partition.Can't have more than one extended partition on %s.Can't have overlapping partitions.Can't move a partition onto itself. Try using resize, perhaps?Can't move an extended partition.Can't write to %s, because it is opened read-only.CancelCannot get unit size for special unit 'COMPACT'.Changing the name of a root or swap partition will prevent Linux from recognising it as such.Checksum is wrong, indicating the partition table is corrupt.Clear unused space on a FAT partition (a GNU Parted testing tool). Cluster start delta = %d, which is not a multiple of the cluster size %d.Compaq Smart ArrayConflicting partition map entry sizes! Entry 1 says it is %d, but entry %d says it is %d!Copyright (C) 1998 - 2006 Free Software Foundation, Inc. This program is free software, covered by the GNU General Public License. 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. Corrupted Sun disk label detected.Could not cache the file system in memory.Could not detect file system.Could not find sector %lli of HFS file with CNID %X.Could not find sector %lli of HFS+ file with CNID %X.Could not get identity of device %s - %sCould not read VTOC FMT1 DSCB.Could not read VTOC FMT4 DSCB.Could not read VTOC FMT5 DSCB.Could not read VTOC FMT7 DSCB.Could not read VTOC labels.Could not read volume label.Could not retrieve API version.Could not retrieve blocksize information.Could not retrieve disk geometry information.Could not retrieve disk information.Could not stat device %s - %s.Could not update the extent cache for HFS file with CNID %X.Could not update the extent cache for HFS+ file with CNID %X.Could not write VTOC FMT1 DSCB.Could not write VTOC FMT4 DSCB.Could not write VTOC FMT5 DSCB.Could not write VTOC FMT7 DSCB.Could not write VTOC labels.Could not write volume label.Couldn't create reiserfs device abstraction handler.Couldn't flush buffer cache!Couldn't reopen device abstraction layer for read/write.Couldn't resolve symbol %s. Error: %s.Cross-linked blocks found! Better go run e2fsck first!DAC960 RAID controllerDEVICE is usually /dev/hda or /dev/sda Data relocation has failed.Data relocation left some data at the end of the volume.Data relocation left some data in the end of the volume.Destination partition number?Device %s has multiple (%d) logical sectors per physical sector. GNU Parted supports this EXPERIMENTALLY for some special disk label/file system combinations, e.g. GPT and ext2/3. Please consult the web site for up-to-date information.Device is too small for %lu blocks.Device verification failedDirect support for copying file systems is not yet implemented for %s. However, support for resizing is implemented. Therefore, the file system can be copied if the new partition is at least as big as the old one. So, either shrink the partition you are trying to copy, or copy to a bigger partition.Disk %s: %s Disk ImageDisk is in useEndEnd?ErrorError allocating buffer cache.Error informing the kernel about modifications to partition %s -- %s. This means Linux won't know about any changes you made to %s until you reboot -- so you shouldn't mount it or use it in any way before rebooting.Error initialising SCSI device %s - %sError opening %s: %sError while writing the allocation file.Error while writing the compatibility part of the allocation file.Error writing to the root directory.Expecting a disk label type.Expecting a file system type.Expecting a partition number.Expecting a partition type.Extended partitions cannot be hidden on msdos disk labels.FAT %d media %x doesn't match the boot sector's media %x. You should probably run scandisk.FAT boot sector says clusters are 0 sectors. This is weird. FAT boot sector says logical sector size is 0. This is weird. FAT boot sector says there are no FAT tables. This is weird. FLAG is one of: FS-TYPE is one of: Failed to write partition block at %d.FatalFatal errorFile System: %s File systemFile system doesn't have expected sizes for Windows to like it. Cluster size is %dk (%dk expected); number of clusters is %d (%d expected); size of FATs is %d sectors (%d expected).File system full!File system has an invalid cluster size for a FAT file system.File system has an invalid number of FATs.File system has an invalid number of reserved sectors for a FAT file system.File system has an invalid sector size for a FAT file system.File system has an invalid signature for a FAT file system.File system has errors! You should run e2fsck.File system has too many allocated inodes to remove a group!File system is FAT12, which is unsupported.File system is reporting the free space as %d clusters, not %d clusters.File system is too full to remove a group!File system too small for ext2.File system type?File system was not cleanly unmounted! You should run e2fsck.File system was not cleanly unmounted! You should run e2fsck. Modifying an unclean file system could cause severe corruption.FixFlag to Invert?FlagsFlags: %s Found an inode with a incorrect link count. Better go run e2fsck first!Free SpaceGNU Parted cannot resize this partition to this size. We're working on it!GNU Parted found an invalid libreiserfs library.GNU Parted has detected libreiserfs interface version mismatch. Found %d-%d, required %d. ReiserFS support will be disabled.GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT support will be disabled.Generic IDEI2O ControllerIBM S390 DASD driveIBM iSeries Virtual DASDIf you convert to FAT16, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual).If you convert to FAT32, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual). Also, converting to FAT32 will make the file system unreadable by MS DOS, MS Windows 95a, and MS Windows NT.If you leave your file system as FAT16, then you will have no problems.If you leave your file system as FAT32, then you will not introduce any new problems.IgnoreInconsistent group descriptors!Incorrect magic values in the journal header.Inform the operating system about partition table changes. -d, --dry-run do not actually inform the operating system -s, --summary print a summary of contents -h, --help display this help and exit -v, --version output version information and exit InformationInvalid VTOC.Invalid back referenceInvalid character class nameInvalid collation characterInvalid content of \{\}Invalid free blocks count. Run reiserfsck --check first.Invalid number.Invalid partition table - recursive partition on %s.Invalid partition table on %s -- wrong signature %x.Invalid partition table on %s.Invalid preceding regular expressionInvalid range endInvalid regular expressionInvalid signature %x for Mac disk labels.Invalid size of a transaction block while replaying the journal (%i bytes).Invalid superblock. Are you sure this is an ext2 file system?It seems there is an error in the HFS wrapper: the bad blocks file doesn't contain the embedded HFS+ volume.Journal offset or size is not multiple of the sector size.Journal size mismatch between journal info block and journal header.Journal stored outside of the volume are not supported. Try to desactivate the journal and run Parted again.LABEL-TYPE is one of: Maximum size: Memory allocation failedMemory exhaustedMinimum size: Minor: %d Model: %s (%s) NAME is any word you want NUMBER is the partition number used by Linux. On MS-DOS disk labels, the primary partitions number from 1 to 4, logical partitions from 5 onwards. NameNew device?New disk label type?New state?NoNo ImplementationNo device foundNo matchNo previous regular expressionNo room for partition info.No room for volume label.No valid HFS[+X] signature has been found while opening.No valid partition map found.Not all of the space available to %s appears to be used, you can fix the GPT to use all of the space (an extra %llu blocks) or continue with the current setting? Not enough free inodes!NumberOKOPTIONs:Only logical partitions can be a boot file.Only primary partitions can be root partitions.Only primary partitions can be swap partitions.Out of memory.PART-TYPE is one of: primary, logical, extended Parted can't resize partitions managed by Windows Dynamic Disk.Parted can't use HFS file systems on disks with a sector size not equal to %d bytes.Partition %d has an invalid length of 0 bytes!Partition %d has an invalid signature %x.Partition %d is %s, but the file system is %s.Partition %d isn't aligned to cylinder boundaries. This is still unsupported.Partition %s is being used. You must unmount it before you modify it with Parted.Partition Table: %s Partition doesn't exist.Partition map has no partition map entry!Partition name?Partition number?Partition too big/small for a %s file system.Partition type?Partition(s) on %s are being used.Premature end of regular expressionPromise SX8 SATA DeviceRegular expression too bigReiserfs tree seems to be corrupted. Run reiserfsck --check first.Resizing the HFS+ volume has failed.RetrySTART and END are disk locations, such as 4GB or 10%. Negative values count from the end of the disk. For example, -1s specifies exactly the last sector. STATE is one of: on, off Sector size (logical/physical): %lldB/%lldB SizeSize: Some header fields are not multiple of the sector size.Sorry, HFS cannot be resized that way yet.Sorry, HFS+ cannot be resized that way yet.Sorry, can't move the start of ext2 partitions yet!Sorry, can't move the start of reiserfs partitions yet.Source device?Source partition number?StartStart?SuccessSun disk label is full.Support for adding partitions to AIX disk labels is not implemented yet.Support for checking %s file systems is not implemented yet.Support for copying %s file systems is not implemented yet.Support for creating %s file systems is not implemented yet.Support for duplicating partitions in AIX disk labels is not implemented yet.Support for opening %s file systems is not implemented yet.Support for reading AIX disk labels is is not implemented yet.Support for resizing %s file systems is not implemented yet.Support for setting flags in AIX disk labels is not implemented yet.Support for setting system type of partitions in AIX disk labels is not implemented yet.Support for writing AIX disk labels is is not implemented yet.Syntax error in config fileThe FATs don't match. If you don't know what this means, then select cancel, run scandisk on the file system, and then come back.The Whole Disk partition is the only available one left. Generally, it is not a good idea to overwrite this partition with a real one. Solaris may not be able to boot without it, and SILO (the sparc boot loader) appreciates it as well.The backup GPT table is not at the end of the disk, as it should be. This might mean that another operating system believes the disk is smaller. Fix, by moving the backup to the end (and removing the old backup)?The boot region doesn't start at the start of the partition.The current API version '%d' doesn't match dasd driver API version '%d'!The data region doesn't start at the start of the partition.The device %s has zero length, and can't possibly store a file system or partition table. Perhaps you selected the wrong device?The disk CHS geometry (%d,%d,%d) reported by the operating system does not match the geometry stored on the disk label (%d,%d,%d).The disk has %d cylinders, which is greater than the maximum of 65536.The disk label describes a disk bigger than %s.The driver descriptor says the physical block size is %d bytes, but Linux says it is %d bytes.The existing disk label on %s will be destroyed and all data on this disk will be lost. Do you want to continue?The existing file system will be destroyed and all data on the partition will be lost. Do you want to continue?The ext2 file system passed a basic check. For a more comprehensive check, use the e2fsck program.The extents overflow file should not contain its own extents! You should check the file system.The file %s is marked as a system file. This means moving it could cause some programs to stop working.The file system can only be resized to this size by converting to FAT16.The file system can only be resized to this size by converting to FAT32.The file system contains errors.The file system has the 'dir_index' feature enabled. Parted can only resize the file system if it disables this feature. You can enable it later by running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'.The file system is bigger than its volume!The file system is in an invalid state. Perhaps it is mounted?The file system is in old (unresizeable) format.The file system's CHS geometry is (%d, %d, %d), which is invalid. The partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the file system's CHS geometry will be left unchanged. If you select Fix, the file system's CHS geometry will be set to match the partition table's CHS geometry.The format of the GPT partition table is version %x, which is newer than what Parted can recognise. Please tell us! bug-parted@gnu.orgThe information sector has the wrong signature (%x). Select cancel for now, and send in a bug report. If you're desperate, it's probably safe to ignore.The journal is not empty. Parted must replay the transactions before opening the file system. This will modify the file system.The location %s is outside of the device %s.The maximum head value is %d.The maximum sector value is %d.The partition must have one of the following FS-TYPEs: The partition table cannot be re-read. This means you need to reboot before mounting any modified partitions. You also need to reinstall your boot loader before you reboot (which may require mounting modified partitions). It is impossible do both things! So you'll need to boot off a rescue disk, and reinstall your boot loader from the rescue disk. Read section 4 of the Parted User documentation for more information.The partition table on %s cannot be re-read (%s). This means the Hurd knows nothing about any modifications you made. You should reboot your computer before doing anything with %s.The partition's boot region doesn't occupy the entire partition.The partition's data region doesn't occupy the entire partition.The primary GPT table is corrupt, but the backup appears OK, so that will be used.The reiserfs file system passed a basic check. For a more comprehensive check, run reiserfsck --check.The sector size stored in the journal is not 512 bytes. Parted only supports 512 bytes length sectors.The specified device is not a valid DASD deviceThe volume header or the master directory block has changed while replaying the journal. You should restart Parted.There are no possible configurations for this FAT type.There's not enough room in the root directory for all of the files. Either cancel, or ignore to lose the files.This HFS volume has no catalog file. This is very unusual!This HFS volume has no extents overflow file. This is quite unusual!This HFS+ volume has no catalog file. This is very unusual!This HFS+ volume has no extents overflow file. This is quite unusual!This command does not make sense in non-interactive mode. This file system has a logical sector size of %d. GNU Parted is known not to work properly with sector sizes other than 512 bytes.This is not a real %s check. This is going to extract special low level files for debugging purposes.This is not an ECKD disk! This disk type is not supported!This libparted doesn't have write support for %s. Perhaps it was compiled read-only.Too many bad pages.Too many primary partitionsToo many primary partitions.Trailing backslashTry `%s --help' for more information. Trying to move an extent from block Ox%X to block Ox%X, but another one already exists at this position. This should not happen!Trying to read HFS file with CNID %X behind EOF.Trying to read HFS+ file with CNID %X behind EOF.Trying to register an extent starting at block 0x%X, but another one already exists at this position. You should check the file system!Trying to write HFS file with CNID %X behind EOF.Trying to write HFS+ file with CNID %X behind EOF.TypeUNIT is one of: Unable to allocate a bsd disklabel slot.Unable to allocate a dasd disklabel slotUnable to allocate a partition number.Unable to determine geometry of file/device %s. You should not use Parted unless you REALLY know what you're doing!Unable to determine the size of %s (%s).Unable to open %s read-write (%s). %s has been opened read-only.Unable to open %s.Unable to probe store.Unable to satisfy all constraints on the partition.Unit?UnknownUnknown file system type "%s".Unknown partition flag, %d.Unknown system errorUnmatched ( or \(Unmatched ) or \)Unmatched [ or [^Unmatched \{Unsupported disk formatUnsupported disk typeUpdating the HFS wrapper has failed.Usage: %s [OPTION] or: %s DEVICE MINOR Usage: %s [OPTION] [DEVICE]... Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...] Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run in interactive mode. User-Mode Linux UBDUsing %s Version %d of HFS+ isn't supported.Version %d of HFSX isn't supported.Volume label is corruptedWARNING: You are not superuser. Watch out for permissions.WarningWeird block size on device descriptor: %d bytes is not divisible by 512.Weird! There are 2 partitions map entries!Welcome to GNU Parted! Type 'help' to view a list of commands. Without arguments, 'print' displays the entire partition table. However with the following arguments it performs various other actions. Would you like to use FAT32?Written by %s and %s. Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, and %s. Written by %s, %s, %s, and %s. Written by %s, %s, and %s. Written by %s. Xen Virtual Block DeviceYesYou may need to update /etc/fstab. You need %s of free disk space to shrink this partition to this size. Currently, only %s is free.You should reinstall your boot loader before rebooting. Read section 4 of the Parted User documentation for more information.Your file system has too many occupied inodes to resize it to %i blocks. Sorry.Your file system is too full to resize it to %i blocks. Sorry.^[nN]^[yY]`adding groupsbootcheckcheck NUMBER do a simple check on the file systemcheckingchecking for bad blockscopyingcpcp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another partitioncreatingdisplays machine parseable outputdisplays the versiondisplays this help messageexpandingextendedfat_table_alloc_cluster: no free clustersfat_table_get: cluster %ld outside file systemfat_table_set: cluster %ld outside file systemfreegrowing file systemhelphelp [COMMAND] print general help, or help on COMMANDhiddenhp-serviceinvalid token: %sioctl() errorlbalists partition layout on all block deviceslogicallvmmemory exhaustedmetadatamkfsmklabelmklabel,mktable LABEL-TYPE create a new disklabel (partition table)mkpartmkpart PART-TYPE [FS-TYPE] START END make a partitionmkpartfsmkpartfs PART-TYPE FS-TYPE START END make a partition with a file systemmktablemovemove NUMBER START END move partition NUMBERmsftresnamename NUMBER NAME name partition NUMBER as NAMEnever prompts for user interventionoffonopen erroropening of device failedpaloparted was unable to re-read the partition table on %s (%s). This means Linux won't know anything about the modifications you made. ped_device_new() Unsupported device typeprepprimaryprintprint [devices|free|list,all|NUMBER] display the partition table, available devices, free space, all found partitions, or a particular partitionquitquit exit programraidraw block copyingread errorreading from device failedrescuerescue START END rescue a lost partition near START and ENDresizeresize NUMBER START END resize partition NUMBER and its file systemrmrm NUMBER delete partition NUMBERrootsearching for file systemsseek errorseeking on device failedselectselect DEVICE choose the device to editsetset NUMBER FLAG STATE change the FLAG on partition NUMBERshrinkingshrinking HFS wrappershrinking embedded HFS+ volumeswaptoggletoggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBERtoo few argumentstoo many argumentsunitunit UNIT set the default unit to UNITversionversion display the version number and copyright information of GNU Partedwrite errorwriting HFS Master Directory Blockwriting HFS+ Volume Headerwriting per-group metadatawriting to device failedProject-Id-Version: parted-1.8.8 Report-Msgid-Bugs-To: bug-parted@gnu.org POT-Creation-Date: 2010-05-28 20:30+0200 PO-Revision-Date: 2007-08-15 12:16+0200 Last-Translator: Martin Ereth Language-Team: German Language: de MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: KBabel 1.11.4 Sie haben einen Fehler in GNU Parted gefunden! Hier steht, was Sie tun sollten: Bleiben Sie ruhig! Der Fehler sollte Ihre Daten nicht beeinträchtigt haben. Helfen Sie uns, den Fehler zu beseitigen, indem Sie folgendes tun: Überprüfen Sie, ob der Fehler bereits ausgebesert wurde, indem Sie die neueste Version von GNU Parted verwenden: http://ftp.gnu.org/gnu/parted/ Bitte überprüfen Sie diese Version, bevor Sie einen Fehlerbericht einreichen. Falls der Fehler noch nicht beseitigt sein sollte, oder falls Sie nicht wissen sollten, wie Sie das überprüfen soll, besuchen Sie bitte die GNU Parted- Webseite: http://www.gnu.org/software/parted für weitere Informationen. Ihr Bericht sollte die Version dieser Fregabe beinhalten (%s), die untenstehende Fehlermeldung und die Ausgabe von parted GERÄT unit co print unit s print und die folgende Befehlsgeschichte, die sie eingegeben haben. Nehmen Sie auch noch weitere Informationen über Ihr System auf, die Sie als wichtig empfinden. Befehlsgeschichte: Fehler: Ein generelles SIGFPE-Signal wurde empfangen. Fehler: Ein generelles SIGILL-Signal wurde empfangen. Fehler: Ein genereller SIGSEGV-Signal wurde empfangen. Fehler: FPE_FLTDIV (Fließkommazahl: Division durch Null) Fehler: FPE_FLTINV (Fließkommazahl: ungültige Operation) Fehler: FPE_FLTOVF (Fließkommazahl: Overflow) Fehler: FPE_FLTRES (Fließkommazahl ungenaues Ergebnis) Fehler: FPE_FLTSUB (Fließkommazahl: Index außerhalb des zulässigen Bereichs) Fehler: FPE_FLTUND (Fließkommazahl: Underflow) Fehler: FPE_INTDIV (Ganzzahl: Division durch Null) Fehler: FPE_INTOVF (Ganzzahl: Overflow) Fehler: ILL_BADSTK (Interner Stack-Fehler) Fehler: ILL_COPROC (Coprozessor-Fehler) Fehler: ILL_ILLADR (Nicht erlaubter Adressierungsmodus) Fehler: ILL_ILLOPC (Nicht erlaubter Opcode) Fehler: ILL_ILLOPN (Nicht erlaubter Operand) Fehler: ILL_ILLTRP (Nicht erlaubte Falle) Fehler: ILL_PRVOPC (Privilegierter Opcode) Fehler: ILL_PRVREG (Privilegiertes Register) Fehler: SEGV_ACCERR (Ungültige Berechtigung für gebundenes Objekt) Fehler: SEGV_MAPERR (Adresse nicht an ein Objekt gebunden) Fehler an <%s> berichten. Ohne GERÄT, alle Partitionen testen. --help diese Hilfe anzeigen und beenden --version Versionsangaben ausgeben und beenden NUMMER : Detailiertere Informationen über diese Partition anzeigen devices : zeigt alle aktiven blockorientierten Geräte an free : zeigt Informationen über freien, unpartitionierten Platz auf dem aktuellen blockorientierten Gerät an list, all : anzeigen der Partitionstabellen aller aktiven blockorientierten Geräte "%s" hat eine ungültige Syntax für Orte.%0.f%% (Restzeit %.2d:%.2d)%s %s%s %s %s%s : Schlechte Prüfsumme bei Block %llu vom Typ %s %s : Schlechte Prüfsumme bei Block %llu vom Typ %s.%s: Der Block %llu konnte nicht gelesen werden %s : Der Boot-Block %llu konnte nicht gelesen werden %s : Der Root-Block %llu konnte nicht gelesen werden %s : Konnte den Block %d nicht schreiben %s : Konnte rdb-Block nicht finden. Das sollte niemals passieren %s : Konnte rdb-Block nicht finden. Das sollte niemals passieren.%s : Der Block konnte nicht belegt werden %s : Der Festplatten-spezifische rdb-Block konnte nicht belegt werden %s : Das Id-Listen-Element konnte nicht belegt werden %s : Der Partitionsblock konnte nicht belegt werden %s : Die fehlerhaften Blöcke konnten nicht angezeigt werden.%s : Die Bootblöcke konnten nicht angezeigt werden.%s : Die Dateisystemblöcke konnten nicht angezeigt werden.%s : Die Partitionsblöcke konnten nicht angezeigt werden.%s : Der Partitionsblock %llu kann nicht gelesen werden %s : Schleife bei Block %d gefunden.%s : Die %s-Liste scheint am Block %s fehlerhaft zu sein.%s enthält GPT-Signaturen, die anzeigen, dass es eine GPT-Tabelle hat. Es ist jedoch keine gültige vorgetäuschte MSDOS-Partitionstabelle vorhanden, die erforderlich wäre. Vielleicht wurde diese zerstört -- eventuell durch ein Programm, das GPT-Partitionstabellen nicht versteht. Oder vielleicht haben Sie die GPT-Tabelle gelöscht, und verwenden jetzt eine MS-DOS-Partitions-Tabelle. Ist dies eine GPT-Partitionstabelle?%s-Disk-Labels unterstützen keine erweiterten Partitionen.%s-Disk-Labels unterstützen keine logischen oder erweiterten Partitionen.%s, während von %s gelesen wurde%s, während %s zum Lesen positioniert wurde%s, während %s zum Schreiben positioniert wurde%s, während auf %s geschrieben wurde%s hat keine erweiterte Partition (volume header partition).%s ist %dk, hat aber %d Cluster (%dk).%s ist zu klein für eine Mac-Partitionstabelle!%s beim Versuch, %s auf die Platte zu speichern (sync)%s: unbekannte Partitionstabelle''mkpart' erzeugt eine Partition ohne ein neues Dateisystem auf der Partition zu erzeugen. FS-TYP kann angegeben werden, um eine geeignete Partitions-ID zu setzen. 'version' zeigt die Versions- und Copyright-Informationen zu dieser Kopie von GNU Parted an (C)Eine %s %s-Partition wurde bei %s -> %s gefunden. Wollen Sie diese Partition zur Partitionstabelle hinzufügen?Ein Datensatzname ist beschädigtEin Verweis einer Erweiterung kam von einem Ort, von des er nicht kommen sollte. Sie sollten das Dateisystem überprüfen lassen!Eine Größenänderungsoperation an diesem Dateisystem wird EXPERIMENTELLEN Code verwenden, der es beschädigen kann (obwohl niemand bisher eine solche Beschädigung gemeldet hat). Sie sollten zumindest zuvor ihre Daten sichern und danach 'e2fsck -f' ausführen.Versionsunterschied der APIATARAID ControllerWährend der Umlagerung der Erweiterungen trat ein Fehler auf.Beim Suchen nach der notwendigen Datei, die schlechte Blöcke enthält, trat ein Fehler auf.Eine erweiterte Partition kann kein Dateisystem beinhalten. Wollten Sie eine Partition erstellen (mkpart)?Eine Erweiterung wurde nicht umgelagert.Aussage (%s) bei %s:%d in der Funktion %s() fehlgeschlagen.Versuch, die Sektoren %ld-%ld außerhalb der Partition auf %s zu schreiben.BIOS Zylinder-, Kopf-, Sektor-Geometrie: %d, %d, %d. Jeder Zylinder ist %s groß. Die Ablaufverfolgung hat %d Aufrufe auf dem Stack: Schlechte FAT: Cluster %d ist querverbunden für %s. Sie sollten dosfsck oder Scandisk ausführen.Schlechte FAT: Cluster %d ist außerhalb des Dateisystems in Kette %s. Sie sollten dosfsck oder Scandisk ausführen.Schlechte FAT: unbeendete Kette für %s. Sie sollten dosfsck oder Scandisk ausführen.Prüfsummenfehler im Kopf der Liste der schlechten Blöcke.Fehlerhafte Blöcke konnten nicht gelesen werden.Die Liste der schlechten Blöcke konnte nicht geladen werden.Falscher Verzeichniseintrag für %s: Erster Cluster ist am Ende des Dateimarkers.Schlechte Prüfsumme des Journals.Block %i hat keine Referenz? Seltsam.Block %i dürfte nicht markiert sein (%d, %d)!Sowohl die primäre als auch die Backup-GPT-Tabelle sind defekt. Versuchen Sie, eine neue Tabelle anzulegen und die Partititionen mit Hilfe von Parted's Rettungsmöglichkeiten zu restaurieren.BugKOMMANDOs:Zu %s kann keine logische Partition hinzugefügt werden, da es keine erweiterte Partition gibt.Eine weitere Partition kann nicht hinzugefügt werden -- die Partitionskarte ist zu klein!Es kann keine weitere Partition hinzugefügt werden.Eine erweiterte Partition kann nicht kopiert werden.Auf überlappende Partitionen kann nicht kopiert werden.Kann keine weitere Partition erzeugen.Außerhalb der erweiterten Partition auf %s kann keine logische Partition existieren.Partitionen ausserhalb der Festplatte sind nicht möglich!Es kann keine primäre Partition in einer erweiterten Partition sein.Logische Partitionen können nicht außerhalb der erweiterten Partition sein.Auf %s kann es nicht mehr als eine erweiterte Partition geben.Es können keine überlappenden Partitionen existieren.Die Partition kann nicht auf sich selbst verschoben werden. Vielleicht wollen Sie eine Größenänderung (resize) versuchen?Eine erweiterte Partition kann nicht verschoben werden.Auf %s kann nicht geschrieben werden, weil es nur-lesend geöffnet wurde.AbbrechenKonnte die Größe der speziellen Einheit 'COMPACT' nicht bekommen.Eine Änderung des Namens der Root- oder Swap-Partition verhindert, dass Linux sie als solche erkennt.Die Prüfsumme ist falsch. Das weist auf eine defekte Partitionstabelle hin.Unbenutzten Speicherplatz auf einer FAT-Partiton löschen (ein GNU Parted-Test-Programm) Clusteranfang delta = %d ist kein Vielfaches der Clustergröße %d.Compaq Smart ArrayWidersprüchliche Größen in den Partitionskarteneinträgen! Eintrag 1 sagt, dass es %d Bytes sind, Eintrag %d sagt aber, dass es %d Bytes sind!Copyright (C) 1998 - 2006 Free Software Foundation, Inc. Dieses Programm ist freie Software unter den Regeln der GNU General Public License. Dieses Programm wird in der Hoffnung verteilt, daß es nützlich ist, jedoch OHNE JEGLICHE GARANTIE; sogar ohne die implizite Garantie der MARKTFÄHIGKEIT oder der ERFÜLLUNG EINES BESTIMMTEN ZWECKES. In der "GNU General Public License" können weitere Einzelheiten nachgelesen werden. Defektes Sun-Disklabel gefunden.Das Dateisystem konnte nicht zwischengespeichert werden.Dateisystem wurde nicht erkannt.Konnte den Sektor %lli der HFS-Datei mit der CNID %X nicht finden.Konnte den Sektor %lli der HFS+-Datei mit der CNID %X nicht finden.Die Identität von Gerät %s konnte nicht ermittelt werden - %sKonnte das VTOC FMT1 DSCB nicht lesen.Konnte das VTOC FMT4 DSCB nicht lesen.Konnte das VTOC FMT5 DSCB nicht lesen.Konnte das VTOC FMT7 DSCB nicht lesen.VTOC-Beschriftung kann nicht gelesen werden.Volumenbezeichnung kann nicht gelesen werden.Die API-Version kann nicht abgefragt werden.Die Blöckgröße konnte nicht gelesen werden.Die Festplattengeometrie konnte nicht gelesen werden.Die Festplatteninformationen konnten nicht gelesen werden.Ruf von stat für Gerät %s schlug fehl - %s.Der erweiterte Cache der HFS-Datei mit der CNID %X konnte nicht aktualisiert werden.Der erweiterte Cache der HFS+-Datei mit der CNID %X konnte nicht aktualisiert werden.Konnte das VTOC FMT1 DSCB nicht schreiben.Konnte das VTOC FMT4 DSCB nicht schreiben.Konnte das VTOC FMT5 DSCB nicht schreiben.Konnte das VTOC FMT7 DSCB nicht schreiben.VTOC-Beschriftung kann nicht geschrieben werden.Volumenbeschriftung kann nicht geschrieben werden.Der Reiserfs-Gerät-Abstraktions-Handhaber konnte nicht erstellt werden.Der Puffercache konnte nicht geleert werden.Die Abstraktionsschicht kann nicht erneut zum lesen/schreiben geöffnet werden.Das Symbol %s konnte nicht aufgelöst werden. Fehler: %s.Querverbundene Blöcke gefunden! Führen Sie lieber zuerst e2fsck aus!DAC960 RAID controllerGERÄT ist normalerweise /dev/hda oder /dev/sda Die Umlagerung der Daten ist fehlgeschlagen.Die Umlagerung der Daten hat einige Daten am Ende des Datenträgers gelassen.Die Umlagerung der Daten hat einige Daten am Ende des Datenträgers gelassen.Zielpartitionsnummer?Das Gerät %s hat mehrere (%d) logische Sektoren pro physischem Sektor. GNU Parted unterstützt dies EXPERIMENTELL für einige spezielle Plattenkennungen/Dateisystem-Kombinationen, z.B.: GPT und ext2/3. Bitte besuchen Sie die Webseite für aktuelle Informationen.Das Gerät ist für %lu Blöcke zu klein.Geräteprüfung fehlgeschlagenDirekte Unterstützung für das Kopieren von Dateisystemen ist für %s noch nicht implementiert, Größenänderungen sind aber unterstützt. Deshalb kann das Dateisystem kopiert werden, wenn die neue Partition mindestens so groß ist, wie die alte. Also sollten Sie entweder die Partition, die Sie kopieren wollen, verkleinern, oder auf eine größere Partition kopieren.Festplatte %s: %s SpeicherabbildFestplatte ist in VerwendungEndeEnde?FehlerFehler beim Belegen des Puffercaches.Fehler beim Informieren des Kernels über Änderungen an der Partition %s -- %s. Das bedeutet, dass Linux Ihre Änderungen an %s vor einem Neustart nicht sehen wird. Sie sollten daher die Partition nicht einhängen oder sonst irgendwie benutzen, bis Sie den Rechner neu gestartet haben.Fehler in der Initialisierung von SCSI-Gerät %s - %sFehler beim Öffnen von %s: %sFehler beim Schreiben der Belegungsdatei.Fehler beim Schreiben des Verträglichkeitsteils der Belegungsdatei.Fehler beim Schreiben in das Root-Verzeichnis.Es wird ein Disklabeltyp erwartet.Es wird ein Dateisystemtyp erwartet.Es wird eine Partitionsnummer erwartet.Es wird ein Partitionstyp erwartet.Erweiterte Partitionen können in MS-DOS-Disk-Labels nicht versteckt werden.FAT %d Medium %x stimmt nicht mit dem Bootsektor von Medium %x überein. Sie sollten Scandisk ausführen.Der FAT-Bootsektor sagt, Cluster seien 0 Sektoren groß. Das ist seltsam.Der FAT-Bootsektor sagt, die logische Sektorgröße sei 0. Das ist seltsam.Der FAT-Bootsektor sagt, es gäbe keine FAT-Tabellen. Das ist seltsam.FLAG ist eines aus: FS-TYP ist eines aus: Der Partitionsblock konnte an %d nicht geschrieben werden.Fataler FehlerFataler FehlerDateisystem: %s DateisystemDas Dateisystem hat nicht die Größe, die Windows mag. Die Clustergröße ist %dk (%dk erwartet); die Clusterzahl ist %d (%d erwartet); die FAT-Größe ist %d Sektoren (%d erwartet).Dateisystem voll!Das Dateisystem hat eine ungültige Clustergröße für ein FAT-Dateisystem.Das Dateisystem hat eine ungültige Anzahl von FATs.Das Dateisystem hat eine ungültige Zahl von reservierten Sektoren für ein FAT-Dateisystem.Das Dateisystem hat eine ungültige Sektorgröße für ein FAT-Dateisystem.Das Dateisystem hat eine ungültige Signatur für ein FAT-Dateisystem.Das Dateisystem hat Fehler! Sie sollten e2fsck aufrufen.Dateisystem hat zu viele belegte I-Nodes, um eine Gruppe entfernen zu können!Das Dateisystem ist FAT12, welches nicht unterstützt wird.Dateisystem meldet freien Platz als %d Cluster, nicht %d Cluster.Dateisystem ist zu voll, um eine Gruppe entfernen zu können!Das Dateisystem ist für ext2 zu klein.Dateisystemtyp?Das Dateisystem wurde nicht sauber ausgehängt! Sie sollten e2fsck ausführen.Das Dateisystem wurde nicht sauber ausgehängt! Sie sollten e2fsck ausführen. Das Bearbeiten eines unsauberen Dateisystems kann zu schweren Beschädigungen führen.FixUmzukehrendes Flag?FlagsFlags: %s I-Node mit ungültigem Linkzähler gefunden. Führen Sie besser zuerst e2fsck aus!Freier PlatzGNU Parted kann diese Partition nicht auf diese Größe verändern. Wir arbeiten dran!GNU Parted hat eine ungültige libreiserfs-Bibliothek gefunden.GNU Parted hat einen Versionskonflikt mit dem libreiserfs-Interface festgestellt. Gefunden: %d-%d, benötigt: %d. ReiserFS-Unterstützung wird deaktiviert.GNU parted ist fehlerhaft übersetzt: Der FAT-Bootsektor sollte 512 Bytes sein. FAT-Unterstützung wird deaktiviert.Standard IDEI20 controllerIBM S390 DASD driveIBM iSeries Virtual DASDWenn Sie in FAT16 konvertieren und MS-Windows auf dieser Partition installiert ist, müssen Sie den MS-Windows-Bootlader neu installieren. Wenn Sie das tun wollen, sollten Sie das Handbuch von Parted lesen (oder das Handbuch Ihrer Distribution).Wenn Sie zu FAT32 konvertieren und MS-Windows auf dieser Partition installiert ist, müssen Sie den MS-Windows-Bootlader neu installieren. Wenn Sie das tun wollen, sollten Sie das Handbuch von Parted lesen (oder das Ihrer Distribution). Außerdem kann nach einer Konvertierung zu FAT32 das Dateisystem nicht mehr von MS-DOS, MS-Windows 95a und MS-Windows NT gelesen werden.Wenn Sie Ihr Dateisystem als FAT16 lassen, werden Sie keine Probleme haben.Wenn Sie Ihr Dateisystem als FAT32 lassen, werden Sie keine neuen Probleme herbeiführen.IgnorierenInkonsistente Gruppendeskriptoren!Falsche Magic-Zahl im Kopf des Journals.Dem Betriebssystem Änderungen an der Partitionstabelle mitteilen. -d, --dry-run das Betriebssystem nicht informieren -s, --summary eine Zusammenfassung der Inhalte ausgeben -h, --help diese Hilfe anzeigen und beenden -v, --version Versionsangaben ausgeben und beenden InformationUngültiges VTOC.Ungültige Zurück-ReferenzUngültiger Klassenname des BuchstabensUngültiger SortierbuchstabeUngültiger Inhalt in \{\}Ungültige Anzahl freier Blöcke. Führen Sie zuerst reiserfsck --check aus.Ungültige Nummer.Ungültige Partitionstabelle - Rekursive Partition auf %s.Ungültige Partitionstabelle auf %s -- falsche Signatur %x.Ungültige Partitionstabelle auf %s.Vorrausgehender ungültiger regülärer AusdruckUngültiges Ende des BereichsUngültiger regulärer AusdruckUngültige Signatur %x für Mac-Partitionstabellen.Ungültige Größe eines Vorgangsblocks während das Journal überprüft wurde (%i Bytes).Ungültiger Superblock. Sind Sie sicher, dass das ein ext2-Dateisystem ist?Es scheint, als wäre im HFS-Wrapper ein Fehler: die Datei der schlechten Blöcke enthält nicht den eingebetteten HFS+-Datenträger.Journal-Abstand oder Größe ist kein Vielfaches der Sektorgröße.Versatz der Größe des Journals zwischen Infoblock und dem Kopf des Journals.Ein Journal außerhalb des Datenträgers ist nicht unterstützt. Versuchen Sie, das Journal zu deaktivieren und führen Sie Parted dann erneut aus.LABEL-TYP ist eines aus: Maximale Größe: Speicherreservierung ist fehlgeschlagenSpeicher erschöpftMinimale Größe: Nummer: %d Modell: %s (%s) NAME ist ein beliebiges Wort Ihrer Wahl NUMMER ist die von Linux verwendete Partitionsnummer. Bei MS-DOS-Partitionstabellen ist für Primärpartitionen die Nummer zwischen 1 und 4, für logische Partitionen größer 5. NameNeues Gerät?Neuer Disk-Label-Typ?Neuer Zustand?NeinKeine ImplementierungKein Gerät gefundenKeine ÜbereinstimmungKein regulärer Ausdruck vorherKein Platz für Partitionsinformationen.Kein Platz für eine Volumenbezeichnung.Beim Öffnen wurde keine gültige HFS[+X]-Signatur gefunden.Keine gültige Partitionskarte gefunden.Nicht der gesamte verfügbare Platz von %s scheint verwendet. Sie können die GPT reparieren, damit der gesamte Platz verwendet wird (zusätzlich %llu Blöcke) oder Sie können mit den aktuellen Einstellungen fortfahren.Nicht genügend freie I-Nodes!NummerOKOPTIONen:Nur logische Partitionen können Boot-Dateien sein.Nur primäre Partitionen können Root-Partitionen sein.Nur primäre Partitionen können Swap-Partitionen sein.Speicher erschöpft.PART-TYP ist eines aus: primär, logisch, erweitert Parted kann von Windows Dynamic Disk verwaltete Partitionen nicht in der Größe verändern.Parted kann das HFS-Dateisystem nicht auf Festplatten mit einer Sektorgröße ungleich %d Bytes verwenden.Partition %d hat eine ungültige Länge von 0 Bytes!Partition %d hat eine ungültige Signatur %x.Die Partition %d hat %s, aber das Dateisystem hat %s.Partition %d ist nicht auf Zylindergrenzen ausgerichtet. Das ist immer noch nicht unterstützt.Die Partition %s wird gerade verwendet. Sie müssen sie aushängen, bevor Sie sie mit Parted verändern.Partitionstabelle: %s Die Partition existiert nicht.Die Partitionskarte hat keinen Partitionskarteneintrag!Partitionsname?Partitionsnummer?Die Partition ist für ein %s-Dateisystem zu groß/klein.Partitionstyp?Partition(en) auf %s werden verwendet.Verfrühtes Ende des regülären AusdrucksPromise SX8 SATA DeviceRegulärer Ausdruck zu großDer Reiserfs-Baum scheint beschädigt zu sein. Führen Sie zuerst reiserfsck --check aus.Verkleinern des HFS+-Datenträgers ist fehlgeschlagen.WiederholenANFANG und ENDE sind Stellen auf der Festplatte, z.B. 4GB oder 10%. Negative Werte zählen vom Ende der Festplatte aus. Beispielsweise steht -1s für genau den letzen Sektor. STATUS ist eines aus: an, aus Sektorgröße (logisch/physisch): %lldB/%lldB GrößeGröße: Einige Einträge im Kopf sind kein Vielfaches der Clustergröße.Entschuldigung, HFS kann so noch nicht in der Größe verändert werden.Entschuldigung, HFS+ kann so nicht in der Größe verändert werden.Leider kann der Anfang von ext2-Partitionen noch nicht verschoben werden.Leider kann der Anfang von Reiserfs-Partitionen noch nicht verschoben werden.Quellgerät?Quellpartitionsnummer?AnfangAnfang?ErfolgDas Sun-Disklabel ist voll.Unterstützung für das Hinzufügen von Partitionen zu AIX-Partitionstabellen ist noch nicht implementiert.Überprüfung von Dateisystemen ist für %s noch nicht implementiert.Kopieren von Dateisystemen ist für %s noch nicht implementiert.Erzeugung von Dateisystemen ist für %s noch nicht implementiert.Unterstützung für das Verdoppeln von Partitionen in AIX-Partitionstabellen ist noch nicht implementiert.Die Unterstützung für das Öffnen von Dateisystemen ist für %s noch nicht implementiert.Unterstützung für das Lesen von AIX-Partitionstabellen ist noch nicht implementiert.Größenänderung von Dateisystemen ist für %s noch nicht implementiert.Unterstützung für das Setzen von Bitschaltern in AIX-Partitionstabellen ist noch nicht implementiert.Unterstützung für das Setzen des Systemtyps von Partitionen in AIX-Partitionstabellen ist noch nicht implementiert.Unterstützung für das Schreiben von AIX-Partitionstabellen ist noch nicht implementiert.Syntaxfehler in der KonfigurationsdateiDie FATs stimmen nicht überein. Wenn Sie nicht wissen, was das bedeutet, brechen Sie ab, rufen Scandisk für das Dateisystem auf und versuchen es nochmal.Die Whole-Disk-Partition ist die einzig verbleibende. Es ist normalerweise keine gute Idee, diese Partition mit einer echten zu überschreiben. Solaris bootet ohne vielleicht nicht mehr, und SILO (der Sparc-Bootlader) schätzt sie auch.Die Sicherung der GPT-Tabelle ist nicht am Ende der Festplatte, wo sie normalerweise sein sollte. Das kann bedeuten, dass ein anderes Betriebssystem glaubt, die Festplatte sei kleiner. Soll das durch Verschieben der Sicherung zum Ende (und löschen der alten Sicherung) korrigiert werden?Die Bootregion beginnt nicht am Anfang der Partition.Die aktuelle API-Version '%d' stimmt nicht mit der dasd-Treiber API '%d' überein!Die Datenregion beginnt nicht am Anfang der Partition.Das Gerät %s hat die Länge 0 und kann unmöglich ein Dateisystem oder eine Partitionstabelle speichern. Vielleicht haben Sie das falsche Gerät ausgewählt?Die vom System gemeldete CHS-Geometrie (%d,%d,%d) der Festplatte stimmt nicht mit der gespeicherten Geometrie in der Partitionstabelle (%d,%d,%d) überein.Die Festplatte hat %d Zylinder, was größer ist als das Maximum von 65536.Das Disklabel beschreibt eine Festplatte größer als %s.Der Treiberdeskriptor sagt, dass die physische Blockgröße %d Bytes ist. Linux sagt, dass es %d Bytes sind.Die bestehende Partitionstabelle und alle Daten auf %s werden gelöscht. Wollen Sie fortfahren?Das existierende Dateisystem wird zerstört und alle Daten in der Partition werden gelöscht. Wollen Sie fortfahren?Das ext2-Dateisystem hat die Basisprüfung bestanden. Für eine ausführlichere Prüfungverwenden Sie bitte e2fsck.Die Überlaufdatei der Erweiterungen sollte nicht seine eigenen Erweiterungen enthalten! Sie sollten das Dateisystem überprüfen lassen.Die Datei %s ist als Systemdatei markiert. Das bedeutet, dass nach dem Verschieben einige Programme nicht mehr funktionieren können.Das Dateisystem kann nur durch Konvertierung zu FAT16 in der Größe verändert werden.Das Dateisystem kann nur durch Konvertierung zu FAT32 in der Größe verändert werden.Das Dateisystem enthält Fehler.Das Dateisystem hat 'dir_index' eingeschaltet. Parted kann nur die Größe des Dateisystems ändern, wenn diese Eigenschaft ausgeschaltet ist. Sie können die Fähigkeit später mit 'tune2fs -O dir_index GERÄT' und dann 'e2fsck -fD GERÄT' wieder einschalten.Das Dateisystem ist größer als sein Datenträger!Das Dateisystem hat einen ungültigen Status. Ist es vielleicht eingebunden?Das Dateisystem ist in einem alten (nicht vergrößerbaren/verkleinerbaren) Format.Die CHS-Geometrie des Dateisystems ist ungültig (%d, %d, %d). Die CHS-Geometrie der Partitionstabelle ist (%d, %d, %d). Wenn Sie Abbrechen auswählen, wird die CHS-Geometrie des Dateisystem nicht verändert. Wenn Sie Reparieren auswählen, wird die CHS-Geometrie des Dateisystems so gesetzt, dass sie mit der CHS-Geometrie der Partitionstabelle übereinstimmt.Das Format der GPT-Partitionstabelle (%x) ist neuer als das von Parted verstandene. Bitte melden Sie das an: bug-parted@gnu.orgDer Informationssektor hat die falsche Signatur (%x). Wählen Sie jetzt Abbrechen und senden Sie einen Fehlerbericht. Wenn es sein muß, können Sie das auch ignorieren.Das Journal ist nicht leer. Parted muss die Vorgänge überprüfen, bevor das Dateisystem geöffnet werden kann. Das wird das Dateisystem verändern.Der Ort %s ist außerhalb des Geräts %s.Die maximale Zahl der Köpfe ist %d.Die maximale Zahl der Sektoren ist %d.Die Partition muss eines der folgenden FS-TYPe haben: Die Partitionstabelle konnte nicht neu gelesen werden. Sie müssen also den Rechner neu hochfahren, bevor Sie geänderte Partitionen einhängen. Sie müssen auch Ihren Bootlader vor dem Booten neu installieren (was u.U. das Einhängen geänderter Partitionen erfordert). Man kann nicht beides tun! Also müssen Sie von einer Rettungsdiskette booten und ihren Bootlader von dort neu installieren. Lesen Sie Abschnitt 4 der Benutzerdokumentation von Parted für mehr Informationen.Die Partitionstabelle auf %s konnte nicht neu eingelesen werden (%s). Das bedeutet, dass das Hurd nichts über Ihre Änderungen weiss. Sie sollten den Computer neu starten, bevor Sie irgendwas mit %s machen.Die Bootregion der Partition belegt nicht die ganze Partition.Die Datenregion der Partition belegt nicht die ganze Partition.Die primäre GPT-Tabelle ist defekt, aber die Sicherung scheint in Ordnung zu sein. Daher wird die Sicherung verwendet.Das Reiserfs-Dateisystem hat die Basisprüfung bestanden. Um eine ausführlichere Prüfung auszuführen, führen Sie reiserfsck --check aus.Die im Journal gespeicherte Sektorgröße ist ungleich 512 Bytes. Parted unterstützt nur Sektoren mit einer Länge von 512 Bytes.Das angegebene Gerät ist kein gültiges DASD-GerätDer Kopf des Datenträgers oder der Block des Hauptverzeichnisses hat sich während dem Überprüfen der Vorgänge geändert. Sie sollten Parted neustarten.Es gibt keine möglichen Konfigurationen für diesen FAT-Typ.Es gibt im Root-Verzeichnis nicht genügend Platz für alle Dateien. Entweder abbrechen, oder ignorieren und die Dateien verlieren.Dieser HFS-Datenträger hat keine Katalog-Datei. Das ist sehr unüblich!Dieser HFS-Datenträger hat keine Überlaufdatei für Erweiterungen. Das ist schon ungewöhnlich!Dieser HFS+-Datenträger hat keine Katalog-Datei. Das ist sehr ungewöhnlich!Dieser HFS-Datenträger hat keine Überlaufdatei für Erweiterungen. Das ist schon ungewöhnlich!Dieses Kommando macht im nicht-interaktiven Modus keinen Sinn. Dieses Dateisystem hat eine logische Sektorgröße von %d. GNU Parted funktioniert mit anderen Sektorgrößen als 512 Bytes nicht richtig.Das ist keine echte Prüfung von %s. Es werden spezielle Dateien einer tiefen Ebene zu Fehlerbeseitigungszwecken extrahiert.Dies ist keine ECKD-Festplatte! Dieser Festplattentyp wird nicht unterstützt!Der libparted fehlt die Schreibunterstützung für %s. Vielleicht wurde sie nur lesbar übersetzt.Zu viele falsche Seiten.Zu viele primäre PartitionenZu viele primäre Partitionen.Angehängter umgekehrter SchrägstrichVersuchen Sie `%s --help' für mehr Informationen Es wurde versucht, einen erweiterten Block von 0x%X nach 0X%X zu verschieben, aber ein anderer existiert bereits an dieser Stelle. Das sollte nicht passieren!Die HFS-Datei mit der CNID %X kann nicht hinter dem Ende gelesen werden.Die HFS+-Datei mit der CNID %X kann nicht hinter dem Ende gelesen werden.Es wurde versucht, einen erweiterten Anfang bei Block 0x%X zu registrieren, aber es existiert bereits ein anderer an dieser Stelle. Sie sollten das Dateisystem überprüfen lassen!Die HFS-Datei mit der CNID %X kann nicht hinter dem Ende geschrieben werden.Die HFS+-Datei mit der CNID %X kann nicht hinter dem Ende geschrieben werden.TypEINHEIT ist eines aus: Kann keine BSD-Disklabel-Zeile belegen.Kann keine dasd Disklabel-Zeile belegenDie Partitionsnummer konnte nicht zugewiesen werden.Geometrie von Datei/Gerät %s konnte nicht ermittelt werden. Sie sollten Parted nicht verwenden, wenn sie nicht WIRKLICH wissen, was Sie tun!Die Größe von %s kann nicht festgestellt werden (%s).Kann %s nicht zum Schreiben öffnen (%s). %s wurde nur lesbar geöffnet.%s kann nicht geöffnet werden.Der Speicher konnte nicht untersucht werden.Es können nicht alle Anforderungen an die Partition erfüllt werden.Einheit?UnbekanntUnbekannter Dateisystemtyp "%s".Unbekanntes Partitionsflag %d.Unbekannter SystemfehlerNicht gefunden: ( oder \(Nicht gefunden: ) oder \)Nicht gefunden: [ oder [^Nicht gefunden: \{Nicht unterstütztes Festplattenfomat Nicht unterstützter FestplattentypAktualisieren des HFS-Wrappers ist fehlgeschlagen.Aufruf: %s [OPTION] oder: %s GERÄT NUMMER Aufruf: %s [OPTION] [GERÄT]... Aufruf: parted [OPTION]... [GERÄT [KOMMANDO [PARAMETER]...]...] KOMMANDOs mit PARAMETERn für GERÄT ausführen. Wenn keine KOMMANDOs angegeben sind, interaktiv arbeiten. User-Mode Linux UBDVerwende %s Die HFS+-Version %d ist nicht unterstützt.Die HFSX-Version %d ist nicht unterstützt.Die Volumenbezeichnung ist beschädigtWARNUNG: Sie sind nicht root. Achten Sie auf Ihre Rechte.WarnungSeltsame Blockgröße auf dem Gerätedeskriptor: %d Bytes ist nicht durch 512 teilbar.Seltsam! Es gibt 2 Partitionskarteneinträge!Willkommen zu GNU Parted! Geben Sie 'help' ein, um eine Liste der verfügbaren Kommados zu erhalten. Ohne Argumente zeigt 'print' die komplette Partitionstabelle an. Mit den folgenden Argumenten verrichtet es die zahlreichen anderen Aktionen. Wollen Sie FAT32 verwenden?Geschrieben von %s und %s. Geschrieben von %s, %s, %s, %s, %s, %s, %s, %s, %s und anderen. Geschrieben von %s, %s, %s, %s, %s, %s, %s, %s und %s. Geschrieben von %s, %s, %s, %s, %s, %s, %s und %s. Geschrieben von %s, %s, %s, %s, %s, %s und %s. Geschrieben von %s, %s, %s, %s, %s und %s. Geschrieben von %s, %s, %s, %s und %s. Geschrieben von %s, %s, %s und %s. Geschrieben von %s, %s und %s. Geschrieben von %s. Xen Virtuelles Blockorientiertes GerätJaMöglicherweise müssen Sie /etc/fstab anpassen. Sie benötigen %s freien Platz, um diese Partition auf diese Größe zu verkleinern.Momentan ist nur %s frei.Vor einem Neustart sollten Sie Ihren Bootlader neu installieren. Lesen Sie den Abschnitt 4 der Benutzerdokumentation von Parted für mehr Informationen.Ihr Dateisystem hat zu viele belegt I-Nodes, um es auf %i Blöcke reduzieren zu können. Entschuldigung.Ihr Dateisystem ist zu voll, um es auf %i Blöcke verkleinern zu können. Entschuldigung.^[nN]^[jJ]`Gruppen hinzufügenbootPrüfencheck NUMMER Einen einfachen Test auf dem Dateisystem ausführen.prüfenSuche nach defekten Blöckenkopierencpcp [VON-GERÄT] VON-NUMMER AUF-NUMMER Dateisystem auf andere Partition kopierenerstellenzeigt maschinenlesbare Ausgabenzeigt die Versionzeigt diese Hilfevergrößernerweitertfat_table_alloc_cluster: Keine freien Clusterfat_table_get: Cluster %ld ist außerhalb des Dateisystemsfat_table_set: Cluster %ld ist außerhalb des DateisystemsfreiDateisystem wird vergrößerthelphelp [KOMMANDO] Allgemeine Hilfe, oder Hilfe zu KOMMANDOversteckthp-serviceUnbekanntes Zeichen: %sioctl() Fehlerlbazeigt das Partitionslayout aller blockorientierten GerätelogischlvmSpeicher erschöpftMetadatenmkfsmklabelmklabel,mktable LABEL-TYP Neues Disklabel (Partitionstabelle) erzeugenmkpartmkpart PART-TYP [FS-TYP] ANFANG ENDE Partition erzeugenmkpartfsmkpartfs PART-TYP FS-TYP ANFANG ENDE Partition mit Dateisystem erzeugenmktablemovemove NUMMER ANFANG ENDE Partition NUMBER verschiebenmsftresnamename NUMMER NAME Partition NUMMER mit NAME benennenbittet nie um Eingriff des BenutzersausanFehler beim ÖffnenFehler beim Öffnen des GerätspaloParted konnte die Partitionstabelle von %s nicht neu einlesen (%s). Das bedeutet, dass Linux bis zum Neustart nichts über Ihrer Modifikationen weiss. ped_device_new() Nicht unterstützter Gerätetypprepprimärprintprint [devices|free|list,all|NUMMER] Partitionstabelle, verfügbare Geräte, freien Speicher, alle Paritionen oder eine bestimmte Partition anzeigenquitquit Programm beendenraidKopieren von Blöcken vom Typ "raw"LesefehlerFehler beim Lesen vom Gerätrescuerescue ANFANG ENDE Eine verlorene Partitionen zwischen ANFANG und ENDE rettenresizeresize NUMMER ANFANG ENDE Dateisystem- und Partitionsgröße auf Partition NUMMER ändernrmrm NUMMER Partion NUMMER löschenrootSuche nach DateisystemenFehler beim SuchenFehler beim Suchen auf dem Gerätselectselect GERÄT Wählen Sie ein GERÄT zur Bearbeitungsetset NUMMER FLAG STATUS ändern des FLAGs auf der Partition NUMMERverkleinernVerkleinern des HFS-WrappersVerkleinern des eingebetteten HFS+-Datenträgersswaptoggletoggle [NUMMER [FLAG]] umschalten des FLAGs von Partition NUMMERzu wenige ArgumenteZu viele falsche Argumenteunitunit EINHEIT die Standardgröße auf EINHEIT setzenversionversion zeigt die Versions- und Copyright-Informationen von GNU Parted anSchreibfehlerSchreiben des HFS Master Directory BlockSchreiben des HFS+-Datenträger-KopfesSchreiben der Meta-Daten pro GruppeFehler beim Schreiben auf das Gerätparted-2.3/po/nl.gmo0000644000000000000000000023516411400005705011262 00000000000000Þ•\ü)Ü%€2;2½50Ð506226*e6-6$¾6*ã627%A7,g7&”7)»7&å7, 8#98$]8!‚8&¤8(Ë8<ô8319!e9ʇ9R:i:0~:,¯:5Ü:P;/c;]“;Gñ;&9<`<}< „<+<+»<ç<#=#*=N=0l=0=Î=0í=(>(G>p> >'±>%Ù>)ÿ>)?'I?`q?2Ò@<ABAWAuA”A7ªAâA0öA('B%PBvB“B°B,ÌBùB,C-DC rC(“C¼CØCøCDŽD^©DEW E*dEF]¬FÕ GàGõG+HB4HFwH!¾H0àH<IDNI!“IPµI]JHdJ­JÍJ$ëJDKUK"kK-ŽK‡¼KDL HLLRL>ŸLÞL!ûL)M!GMGiM(±M<ÚM@N2XN"‹NB®N?ñN!1O2SO†O0O]¾O=PDZPIŸPéPZüPoWQ"ÇR*êRSV3SQŠS4ÜS5T(GTpTT®TÍTìTU%U)EU-oU$UÂU<áU=V\V|VœV¼VÜVùV4WLW8iW'¢W7ÊWX'XAX8]X8–XÏXëíX#ÙYýY/Z H[ U[`[o[s[x[~[[&»[â[(÷[B \$c\ˆ\¥\Ã\á\:ý\\8]=•]?Ó]>^R^c^&w^ž^ ¤^°^ Á^¶Í^„_´–_>K`*Š`Lµ`=a;@a/|a<¬a+éaHb*^b‰b©b>»búbzc~cŽc ”cHŸc ècKóc0?d}pdcîd?Re ’ežeºeÉeÝeÛöeIÒfGhUdhºhÁh-áhi j +j9jPjmj‰j9¡jÛj4ëj4 kUk$tk™k«k)ÆkKðk>*y<iyD¦yXëy>Dzƒz‚Ÿzí"{R|Öc|<:}Hw}<À}ý}‚~F/I^ypØoI€c¹€`h~HçH0‚ y‚Ùš‚*tƒ?Ÿƒ0߃0„ˆA…šÊ…e†,熇2‡7R‡¨Ї¶3‰@ê‰@+ŠRlŠg¿ŠE'‹gm‹/Õ‹tŒ7zŒp²Œ;#E_<¥Fâ:)ŽƒdŽfèŽ;OU‹áõ.&Ah0ê1‘ˆM‘1Ö‘2’;’@’(Q’(z’&£’tÊ’&?“(f“A“Ñ“ä“3û“/”5”=”T”s””¤”¶”È” Ú”3ç”3•/O••—•$­•BÒ•*–@– `–— ——#4—#X—|——;ª—Šæ—q™Hy™+™?.š·šÔš;ëš3'›/[›+‹›'·›#ß›œ#œ?œOœhœ#lœbœZóœ~NPÍ?ž^ždžjž lž zžW†žÞžûžŸ0Ÿ 8ŸBŸGŸMMŸ›Ÿ¤Ÿ¼ŸÄŸNÇŸ  %2 !X z  ª  Ç Ñ YÚ )4¡.^¡.¡¼¡Á¡Õ¡OÚ¡*¢ 1¢<¢W¢r¢$’¢·¢ É¢×¢+Û¢£££$£-£5£W:£’£Qš£ì£9ó£-¤L6¤ƒ¤‹¤>¤ϤפFܤ##¥G¥K¥ N¥Y¥r¥z¥…¥U¦)[¦…¦Ц*’¦½¦”æX§5]§“§˜§ ª§µ§ЧS×§+¨T2¨‡¨@Ѝ˨Ш ë¨ö¨©B©Y©L]© ª©´©Ê©Qé©;ª@ªUGªª¯ªªEǪ «k« «"«°«Ë«æ«­ÿ«h­­±80±8i±:¢±#ݱ&²(²%E²'k²“²#±²Õ²&ò²#³/=³$m³'’³/º³Iê³G4´;|´5¸´î´ûµm¶mp¶?Þ¶2·3Q·7…·0½·Jî·H9¸0‚¸#³¸׸ Þ¸3é¸3¹Q¹%p¹#–¹ º¹:Û¹:º.QºD€º9ź6ÿº-6»,d»4‘»-Æ»&ô»"¼4>¼ls¼2à½>¾R¾*j¾/•¾ž9⾿44¿(i¿(’¿/»¿(ë¿À)1À![À)}À*§À$ÒÀ'÷ÀÁ8ÁTÁpÁ tÁQÂgÂ]jÂ2ÈÂ"ûÃjĉÄ"¦ÅÉÅCßÅ=#ÆSaÆ µÆ7ÖÆGÇ`VÇ-·ÇcåÇvIÈSÀÈ.É+CÉ5oÉJ¥É!ðÉ1Ê5DʶzÊ1Ë AËSMËJ¡Ë$ìË,Ì2>Ì%qÌF—Ì)ÞÌAÍ@JÍ9‹Í&ÅÍIìÍG6Î.~ÎC­Î ñÎ<ûÎl8Ï5¥ÏQÛÏJ-Ð xÐk™ÐlÑ$rÒ?—Ò ×ÒføÒc_Ó8ÃÓ9üÓ96ÔpÔŽÔ¬ÔÊÔèÔÕ"!Õ DÕ1eÕ%—Õ4½Õ?òÕ@2Ö!sÖ!•Ö!·Ö!ÙÖûÖ ×&<×"c×4†×)»×På×6Ø,PØ#}ØZ¡ØZüØWÙpÙ*xÚ£ÚÞ¿ÚžÛ ­Û¹ÛÎÛÔÛÛÛ(àÛ( Ü62ÜiÜ3ˆÜP¼Ü( Ý#6Ý(ZÝ"ƒÝ ¦ÝGÇÝpÞT€ÞTÕÞO*ßzߌß)¢ßÌß ÓßßßôßÉàÎàßæà@Æá4âN<â?‹â>Ëâ; ãOFã:–ãVÑã:(ä*cäŽäK¤ä¤ðä •åŸå²å ºåeÇå -æ^:æ4™æªÎæyçJûç FèQèoèè–è÷°èh¨éGëTYë®ë!¶ë,Øë4ì :íEíUíoí‰í¥íD¿íî5î:Kî†î*¥îÐîåî3ïX7ïFïk×ïHCðLŒð‡Ùðañyñ’ñ ¤ñ Åñæñ øñòò¬2òßòäòôòó!ó%ó;óRó fó%‡ó"­ó:Ðó$ ô­0ôÞôþôõõ9õ3Jõ3~õ!²õ3Ôõö$(öUMöd£ö3÷0<÷2m÷S ÷`ô÷Uøhø+ø«ø¾ø=Óø ù"ù(Bùkù…ùK¥ùqñù;cúŸú§°ú Xû,yû¦û®ûHÀûD üENüF”üJÛü &ý4ýMýSýZýaýNyýXÈýV!þRxþJËþSÿ<jÿc§ÿH ST@¨!é  ©u·X-<†RÃ=™T–îF…4Ìxwz{ò‚nqñ†c aê aL !®  Ð .Ý P R] V° ‘æ™’€'$;'`<ˆÅÐÆ2—3Êhþ„gMìj:3¥yÙ7Sx‹ISNJ¢Tí>BsBwcº8Tp&‡—®GFHŽ›×KsL¿ 7&8^%—~½/<-lRší99;u ~‰$¢Çâø   1 B? @‚ =à %!!'!+I!Ku!5Á!#÷!¼""Ø"û"#*1#*\#‡#›#N¶#±$ ·%PÄ% &A6&…x&þ&'?1'6q'2¨'.Û'* (&5("\((ž(³(Í(-Ð(†þ(^…)”ä)]y*J×*"+(+0+4+T+Od+ ´+Õ+$ð+, ,', /,a:,œ,%²,Ø,ì,bô,W-j-)}-&§-Î-ç-"ü-. 3.u>.4´.<é.<&/c/'h//L•/ â/ ì/%÷/0906X00 ¤0±0*µ0à0è0 ì0 11#1X*1 ƒ1L1Ú1Aã1 %2Y02 Š2”2J›2æ2î2;ó2/3D3H3L3U3t3}3Œ‚3Z4$j44”4(œ4Å4¨Ê4s5/y5©5®5Î5×5õ5eù5_6\g6 Ä67Î67& 7 27!>7`7>e7¤7K¨7ô7# 81-8Q_8±8¶8L¼8 9919<99v9K}9 É9(Õ9'þ9*&:"Q:†úÀ‹-¬/"“I/{Ðp#KGYVÅw/$?ýáSûŒ%4°ðµ`:½­²ô"Õƒ]b·eë2öø[¸óÜ(7QõF@éf ‡g)ßýÆi¹&ÊeÚù1½B  ×*JkTÙä© á³œÑ^ÛIÍ »›7êÄÌ?u€ZŸºÅhöÆLɾËÿ&E±¡OT·_ÇùÇ2¸¯}s¼ræL9Ô|˜ñ ’6t jľЯq Ô)£M KbþÝJòQìÛÎÂ6…‘yCÏ(7®ïÑݪ äçy:vß ¤hðú 4r5?g—TuC[…RG÷—ø.«wÒBVþÕ ÎRæ>ž¢1¥©<û±>Ïííî;x]WŸ@'å!ƒ¦Áˆ\‡U’ºžI~no¡A.<Œlq*Š–n®lLåÓD}‹ëP§"ì «Ö¥ ¬dFÀWÓ‰|,Rm%dZÊÞ‚1”³ò“¹=f0ñ†8+ôÌÃ%¶P*´NØMv<œ£à$‘o^™õXx‚= ” jÞ-`èŠÒUÙè¢!{3ó´WHJ[ç¨a!ï5§3˜A¿Ép°3NGã_„=Fªs¿2¶\i²t>éÖ.»Z­Ž+XKS$ÜÈ8 –üŽ•ü›\+D×ãc9a#4šà~BË ˆâ0Aÿê,‰X;„5#@m9QDP÷Ák&,Eš0ÚîÍY¦z™¼¨;•SzØ:VÃ8'OOÈNU-â H¤(µEH6'c€)YMC You found a bug in GNU Parted! Here's what you have to do: Don't panic! The bug has most likely not affected any of your data. Help us to fix this bug by doing the following: Check whether the bug has already been fixed by checking the last version of GNU Parted that you can find at: http://ftp.gnu.org/gnu/parted/ Please check this version prior to bug reporting. If this has not been fixed yet or if you don't know how to check, please visit the GNU Parted website: http://www.gnu.org/software/parted for further information. Your report should contain the version of this release (%s) along with the error message below, the output of parted DEVICE unit co print unit s print and the following history of commands you entered. Also include any additional information about your setup you consider important. Command History: Error: A general SIGFPE signal was encountered. Error: A general SIGILL signal was encountered. Error: A general SIGSEGV signal was encountered. Error: FPE_FLTDIV (Float: divide by zero) Error: FPE_FLTINV (Float: invalid operation) Error: FPE_FLTOVF (Float: overflow) Error: FPE_FLTRES (Float: inexact result) Error: FPE_FLTSUB (Float: subscript out of range) Error: FPE_FLTUND (Float: underflow) Error: FPE_INTDIV (Integer: divide by zero) Error: FPE_INTOVF (Integer: overflow) Error: ILL_BADSTK (Internal Stack Error) Error: ILL_COPROC (Coprocessor Error) Error: ILL_ILLADR (Illegal addressing mode) Error: ILL_ILLOPC (Illegal Opcode) Error: ILL_ILLOPN (Illegal Operand) Error: ILL_ILLTRP (Illegal Trap) Error: ILL_PRVOPC (Privileged Opcode) Error: ILL_PRVREG (Privileged Register) Error: SEGV_ACCERR (Invalid permissions for mapped object) Error: SEGV_MAPERR (Address not mapped to object) Is this still acceptable to you? License GPLv3+: GNU GPL version 3 or later . This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Report bugs to <%s>. Report bugs to: %s When no DEVICE is given, probe all partitions. --help display this help and exit --version output version information and exit NUMBER : display more detailed information about this particular partition devices : display all active block devices free : display information about free unpartitioned space on the current block device list, all : display the partition tables of all active block devices "%s" has invalid syntax for locations.%0.f%% (time left %.2d:%.2d)%s %s%s %s %s%s : Bad checksum on block %llu of type %s %s : Bad checksum on block %llu of type %s.%s : Couldn't read block %llu %s : Couldn't read boot block %llu %s : Couldn't read root block %llu %s : Couldn't write block %d %s : Didn't find rdb block, should never happen %s : Didn't find rdb block, should never happen.%s : Failed to allocate block %s : Failed to allocate disk_specific rdb block %s : Failed to allocate id list element %s : Failed to allocate partition block %s : Failed to list bad blocks.%s : Failed to list boot blocks.%s : Failed to list file system blocks.%s : Failed to list partition blocks.%s : Failed to read partition block %llu %s : Loop detected at block %d.%s : The %s list seems bad at block %s.%s contains GPT signatures, indicating that it has a GPT table. However, it does not have a valid fake msdos partition table, as it should. Perhaps it was corrupted -- possibly by a program that doesn't understand GPT partition tables. Or perhaps you deleted the GPT table, and are now using an msdos partition table. Is this a GPT partition table?%s disk labels do not support extended partitions.%s disk labels don't support logical or extended partitions.%s during read on %s%s during seek for read on %s%s during seek for write on %s%s during write on %s%s has no extended partition (volume header partition).%s home page: <%s> %s home page: %s is %dk, but it has %d clusters (%dk).%s is too small for a Mac disk label!%s trying to sync %s to disk%s%s argument `%s' too large%s: invalid option -- '%c' %s: option '%c%s' doesn't allow an argument %s: option '%s' is ambiguous %s: option '--%s' doesn't allow an argument %s: option '-W %s' doesn't allow an argument %s: option '-W %s' is ambiguous %s: option requires an argument -- '%c' %s: unrecognised disk label%s: unrecognized option '%c%s' %s: unrecognized option '--%s' ''mkpart' makes a partition without creating a new file system on the partition. FS-TYPE may be specified to set an appropriate partition ID. 'version' displays copyright and version information corresponding to this copy of GNU Parted (C)A %s %s partition was found at %s -> %s. Do you want to add it to the partition table?A bug has been detected in GNU Parted. Refer to the web site of parted http://www.gnu.org/software/parted/parted.html for more information of what could be useful for bug submitting! Please email a bug report to bug-parted@gnu.org containing at least the version (%s) and the following message: A data set name is corruptedA reference to an extent comes from a place it should not. You should check the file system!A resize operation on this file system will use EXPERIMENTAL code that MAY CORRUPT it (although no one has reported any such damage yet). You should at least backup your data first, and run 'e2fsck -f' afterwards.API version mismatchATARAID ControllerAn error occurred during extent relocation.An error occurred while looking for the mandatory bad blocks file.An extended partition cannot hold a file system. Did you want mkpart?An extent has not been relocated.Assertion (%s) at %s:%d in function %s() failed.Attempt to write sectors %ld-%ld outside of partition on %s.BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s. Backtrace has %d calls on stack: Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or scandisk.Bad FAT: cluster %d outside file system in chain for %s. You should run dosfsck or scandisk.Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk.Bad block list header checksum.Bad blocks could not be read.Bad blocks list could not be loaded.Bad directory entry for %s: first cluster is the end of file marker.Bad journal checksum.Block %i has no reference? Weird.Block %i shouldn't have been marked (%d, %d)!Both the primary and backup GPT tables are corrupt. Try making a fresh table, and using Parted's rescue feature to recover partitions.BugCOMMANDs:Can't add a logical partition to %s, because there is no extended partition.Can't add another partition -- the partition map is too small!Can't add another partition.Can't copy an extended partition.Can't copy onto an overlapping partition.Can't create any more partitions.Can't have a logical partition outside of the extended partition on %s.Can't have a partition outside the disk!Can't have a primary partition inside an extended partition.Can't have logical partitions outside of the extended partition.Can't have more than one extended partition on %s.Can't have overlapping partitions.Can't have the end before the start! (start sector=%jd length=%jd)Can't move a partition onto itself. Try using resize, perhaps?Can't move an extended partition.Can't write to %s, because it is opened read-only.CancelCannot get unit size for special unit 'COMPACT'.Changing the name of a root or swap partition will prevent Linux from recognising it as such.Checksum is wrong, indicating the partition table is corrupt.Clear unused space on a FAT partition (a GNU Parted testing tool). Cluster start delta = %d, which is not a multiple of the cluster size %d.Compaq Smart ArrayConflicting partition map entry sizes! Entry 1 says it is %d, but entry %d says it is %d!Copyright (C) 1998 - 2006 Free Software Foundation, Inc. This program is free software, covered by the GNU General Public License. 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. Corrupted Sun disk label detected.Could not cache the file system in memory.Could not detect file system.Could not determine physical sector size for %s. Using the logical sector size (%lld).Could not determine sector size for %s: %s. Using the default sector size (%lld).Could not find sector %lli of HFS file with CNID %X.Could not find sector %lli of HFS+ file with CNID %X.Could not get identity of device %s - %sCould not read VTOC FMT1 DSCB.Could not read VTOC FMT4 DSCB.Could not read VTOC FMT5 DSCB.Could not read VTOC FMT7 DSCB.Could not read VTOC labels.Could not read volume label.Could not retrieve API version.Could not retrieve blocksize information.Could not retrieve disk geometry information.Could not retrieve disk information.Could not stat device %s - %s.Could not update the extent cache for HFS file with CNID %X.Could not update the extent cache for HFS+ file with CNID %X.Could not write VTOC FMT1 DSCB.Could not write VTOC FMT4 DSCB.Could not write VTOC FMT5 DSCB.Could not write VTOC FMT7 DSCB.Could not write VTOC labels.Could not write volume label.Couldn't create reiserfs device abstraction handler.Couldn't flush buffer cache!Couldn't reopen device abstraction layer for read/write.Couldn't resolve symbol %s. Error: %s.Cross-linked blocks found! Better go run e2fsck first!DAC960 RAID controllerDEVICE is usually /dev/hda or /dev/sda Data relocation has failed.Data relocation left some data at the end of the volume.Data relocation left some data in the end of the volume.Destination partition number?Device %s has multiple (%d) logical sectors per physical sector. GNU Parted supports this EXPERIMENTALLY for some special disk label/file system combinations, e.g. GPT and ext2/3. Please consult the web site for up-to-date information.Device is too small for %lu blocks.Device verification failedDirect support for copying file systems is not yet implemented for %s. However, support for resizing is implemented. Therefore, the file system can be copied if the new partition is at least as big as the old one. So, either shrink the partition you are trying to copy, or copy to a bigger partition.Disk %s: %s Disk ImageDisk is in useEndEnd?ErrorError allocating buffer cache.Error fsyncing/closing %s: %sError initialising SCSI device %s - %sError opening %s: %sError while writing the allocation file.Error while writing the compatibility part of the allocation file.Error writing to the root directory.Expecting a disk label type.Expecting a file system type.Expecting a partition number.Expecting a partition type.Extended partitions cannot be hidden on msdos disk labels.FAT %d media %x doesn't match the boot sector's media %x. You should probably run scandisk.FAT boot sector says clusters are 0 sectors. This is weird. FAT boot sector says logical sector size is 0. This is weird. FAT boot sector says there are no FAT tables. This is weird. FLAG is one of: FS-TYPE is one of: Failed to write partition block at %d.FatalFatal errorFile System: %s File systemFile system doesn't have expected sizes for Windows to like it. Cluster size is %dk (%dk expected); number of clusters is %d (%d expected); size of FATs is %d sectors (%d expected).File system full!File system has an incompatible feature enabled. Compatible features are has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs or debugfs to remove features.File system has an invalid cluster size for a FAT file system.File system has an invalid number of FATs.File system has an invalid number of reserved sectors for a FAT file system.File system has an invalid sector size for a FAT file system.File system has an invalid signature for a FAT file system.File system has errors! You should run e2fsck.File system has too many allocated inodes to remove a group!File system is FAT12, which is unsupported.File system is reporting the free space as %d clusters, not %d clusters.File system is too full to remove a group!File system too small for ext2.File system type?File system was not cleanly unmounted! You should run e2fsck.File system was not cleanly unmounted! You should run e2fsck. Modifying an unclean file system could cause severe corruption.FixFlag to Invert?FlagsFlags: %s Found an inode with a incorrect link count. Better go run e2fsck first!Free SpaceGNU Parted cannot resize this partition to this size. We're working on it!GNU Parted found an invalid libreiserfs library.GNU Parted has detected libreiserfs interface version mismatch. Found %d-%d, required %d. ReiserFS support will be disabled.GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT support will be disabled.General help using GNU software: Generic IDEGeneric SD/MMC Storage CardI2O ControllerIBM S390 DASD driveIBM iSeries Virtual DASDIf you convert to FAT16, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual).If you convert to FAT32, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual). Also, converting to FAT32 will make the file system unreadable by MS DOS, MS Windows 95a, and MS Windows NT.If you leave your file system as FAT16, then you will have no problems.If you leave your file system as FAT32, then you will not introduce any new problems.IgnoreInconsistent group descriptors!Incorrect magic values in the journal header.Inform the operating system about partition table changes. -d, --dry-run do not actually inform the operating system -s, --summary print a summary of contents -h, --help display this help and exit -v, --version output version information and exit InformationInvalid VTOC.Invalid back referenceInvalid character class nameInvalid collation characterInvalid content of \{\}Invalid free blocks count. Run reiserfsck --check first.Invalid number.Invalid partition table - recursive partition on %s.Invalid partition table on %s -- wrong signature %x.Invalid partition table on %s.Invalid preceding regular expressionInvalid range endInvalid regular expressionInvalid signature %x for Mac disk labels.Invalid size of a transaction block while replaying the journal (%i bytes).Invalid superblock. Are you sure this is an ext2 file system?It seems there is an error in the HFS wrapper: the bad blocks file doesn't contain the embedded HFS+ volume.Journal offset or size is not multiple of the sector size.Journal size mismatch between journal info block and journal header.Journal stored outside of the volume are not supported. Try to desactivate the journal and run Parted again.LABEL-TYPE is one of: Linux device-mapper (%s)Maximum size: Memory allocation failedMemory exhaustedMinimum size: Minor: %d Model: %s (%s) NAME is any word you want NUMBER is the partition number used by Linux. On MS-DOS disk labels, the primary partitions number from 1 to 4, logical partitions from 5 onwards. NameNew device?New disk label type?New state?NoNo ImplementationNo device foundNo matchNo previous regular expressionNo room for partition info.No room for volume label.No valid HFS[+X] signature has been found while opening.No valid partition map found.Not all of the space available to %s appears to be used, you can fix the GPT to use all of the space (an extra %llu blocks) or continue with the current setting? Not enough free inodes!NumberOKOPTIONs:Only logical partitions can be a boot file.Only primary partitions can be root partitions.Only primary partitions can be swap partitions.Out of memory.PART-TYPE is one of: primary, logical, extended Packaged by %s Packaged by %s (%s) Parted can't resize partitions managed by Windows Dynamic Disk.Parted can't use HFS file systems on disks with a sector size not equal to %d bytes.Partition %d has an invalid length of 0 bytes!Partition %d has an invalid signature %x.Partition %d is %s, but the file system is %s.Partition %d isn't aligned to cylinder boundaries. This is still unsupported.Partition %s is being used. You must unmount it before you modify it with Parted.Partition Table: %s Partition doesn't exist.Partition map has no partition map entry!Partition name?Partition number?Partition too big/small for a %s file system.Partition type?Partition(s) on %s are being used.Premature end of regular expressionPromise SX8 SATA DeviceRegular expression too bigReiserfs tree seems to be corrupted. Run reiserfsck --check first.Report %s bugs to: %s Resizing the HFS+ volume has failed.RetrySTART and END are disk locations, such as 4GB or 10%. Negative values count from the end of the disk. For example, -1s specifies exactly the last sector. STATE is one of: on, off Sector size (logical/physical): %lldB/%lldB SizeSize: Some header fields are not multiple of the sector size.Sorry, HFS cannot be resized that way yet.Sorry, HFS+ cannot be resized that way yet.Sorry, can't move the start of ext2 partitions yet!Sorry, can't move the start of reiserfs partitions yet.Source device?Source partition number?StartStart?SuccessSun disk label is full.Support for adding partitions to AIX disk labels is not implemented yet.Support for checking %s file systems is not implemented yet.Support for copying %s file systems is not implemented yet.Support for creating %s file systems is not implemented yet.Support for duplicating partitions in AIX disk labels is not implemented yet.Support for opening %s file systems is not implemented yet.Support for reading AIX disk labels is is not implemented yet.Support for resizing %s file systems is not implemented yet.Support for setting flags in AIX disk labels is not implemented yet.Support for setting system type of partitions in AIX disk labels is not implemented yet.Support for writing AIX disk labels is is not implemented yet.Syntax error in config fileThe FATs don't match. If you don't know what this means, then select cancel, run scandisk on the file system, and then come back.The Whole Disk partition is the only available one left. Generally, it is not a good idea to overwrite this partition with a real one. Solaris may not be able to boot without it, and SILO (the sparc boot loader) appreciates it as well.The backup GPT table is corrupt, but the primary appears OK, so that will be used.The backup GPT table is not at the end of the disk, as it should be. This might mean that another operating system believes the disk is smaller. Fix, by moving the backup to the end (and removing the old backup)?The boot region doesn't start at the start of the partition.The current API version '%d' doesn't match dasd driver API version '%d'!The data region doesn't start at the start of the partition.The device %s has zero length, and can't possibly store a file system or partition table. Perhaps you selected the wrong device?The disk CHS geometry (%d,%d,%d) reported by the operating system does not match the geometry stored on the disk label (%d,%d,%d).The disk has %d cylinders, which is greater than the maximum of 65536.The disk label describes a disk bigger than %s.The driver descriptor says the physical block size is %d bytes, but Linux says it is %d bytes.The existing disk label on %s will be destroyed and all data on this disk will be lost. Do you want to continue?The existing file system will be destroyed and all data on the partition will be lost. Do you want to continue?The ext2 file system passed a basic check. For a more comprehensive check, use the e2fsck program.The extents overflow file should not contain its own extents! You should check the file system.The file %s is marked as a system file. This means moving it could cause some programs to stop working.The file system can only be resized to this size by converting to FAT16.The file system can only be resized to this size by converting to FAT32.The file system contains errors.The file system has the 'dir_index' feature enabled. Parted can only resize the file system if it disables this feature. You can enable it later by running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'.The file system is bigger than its volume!The file system is in an invalid state. Perhaps it is mounted?The file system is in old (unresizeable) format.The file system's CHS geometry is (%d, %d, %d), which is invalid. The partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the file system's CHS geometry will be left unchanged. If you select Fix, the file system's CHS geometry will be set to match the partition table's CHS geometry.The format of the GPT partition table is version %x, which is newer than what Parted can recognise. Please tell us! bug-parted@gnu.orgThe information sector has the wrong signature (%x). Select cancel for now, and send in a bug report. If you're desperate, it's probably safe to ignore.The journal is not empty. Parted must replay the transactions before opening the file system. This will modify the file system.The location %s is outside of the device %s.The maximum head value is %d.The maximum sector value is %d.The partition must have one of the following FS-TYPEs: The partition table cannot be re-read. This means you need to reboot before mounting any modified partitions. You also need to reinstall your boot loader before you reboot (which may require mounting modified partitions). It is impossible do both things! So you'll need to boot off a rescue disk, and reinstall your boot loader from the rescue disk. Read section 4 of the Parted User documentation for more information.The partition table on %s cannot be re-read (%s). This means the Hurd knows nothing about any modifications you made. You should reboot your computer before doing anything with %s.The partition's boot region doesn't occupy the entire partition.The partition's data region doesn't occupy the entire partition.The primary GPT table is corrupt, but the backup appears OK, so that will be used.The reiserfs file system passed a basic check. For a more comprehensive check, run reiserfsck --check.The resulting partition is not properly aligned for best performance.The sector size stored in the journal is not 512 bytes. Parted only supports 512 bytes length sectors.The specified device is not a valid DASD deviceThe volume header or the master directory block has changed while replaying the journal. You should restart Parted.There are no possible configurations for this FAT type.There's not enough room in the root directory for all of the files. Either cancel, or ignore to lose the files.This HFS volume has no catalog file. This is very unusual!This HFS volume has no extents overflow file. This is quite unusual!This HFS+ volume has no catalog file. This is very unusual!This HFS+ volume has no extents overflow file. This is quite unusual!This command does not make sense in non-interactive mode. This file system has a logical sector size of %d. GNU Parted is known not to work properly with sector sizes other than 512 bytes.This is not a real %s check. This is going to extract special low level files for debugging purposes.This is not an ECKD disk! This disk type is not supported!This libparted doesn't have write support for %s. Perhaps it was compiled read-only.Too many bad pages.Too many primary partitionsToo many primary partitions.Trailing backslashTry `%s --help' for more information. Trying to move an extent from block Ox%X to block Ox%X, but another one already exists at this position. This should not happen!Trying to read HFS file with CNID %X behind EOF.Trying to read HFS+ file with CNID %X behind EOF.Trying to register an extent starting at block 0x%X, but another one already exists at this position. You should check the file system!Trying to write HFS file with CNID %X behind EOF.Trying to write HFS+ file with CNID %X behind EOF.TypeUNIT is one of: Unable to allocate a bsd disklabel slot.Unable to allocate a dasd disklabel slotUnable to allocate a partition number.Unable to determine geometry of file/device %s. You should not use Parted unless you REALLY know what you're doing!Unable to determine the dm type of %s.Unable to determine the size of %s (%s).Unable to open %s read-write (%s). %s has been opened read-only.Unable to open %s.Unable to probe store.Unable to satisfy all constraints on the partition.Unit?UnknownUnknown disk flag, %d.Unknown file system type "%s".Unknown partition flag, %d.Unknown system errorUnmatched ( or \(Unmatched ) or \)Unmatched [ or [^Unmatched \{Unrecognised new style linux swap signature '%10s'.Unrecognised old style linux swap signature '%10s'.Unrecognised swsusp linux swap signature '%9s'.Unsupported disk formatUnsupported disk typeUpdating the HFS wrapper has failed.Usage: %s [-hlmsv] [-a] [DEVICE [COMMAND [PARAMETERS]]...] Usage: %s [OPTION] or: %s DEVICE MINOR Usage: %s [OPTION] [DEVICE]... Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...] Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run in interactive mode. User-Mode Linux UBDUsing %s Valid arguments are:Version %d of HFS+ isn't supported.Version %d of HFSX isn't supported.Virtio Block DeviceVolume label is corruptedWARNING: You are not superuser. Watch out for permissions.WARNING: you are attempting to use %s to operate on (%s) a file system. %s's file system manipulation code is not as robust as what you'll find in dedicated, file-system-specific packages like e2fsprogs. We recommend you use %s only to manipulate partition tables, whenever possible. Support for performing most operations on most types of file systems will be removed in an upcoming release. WarningWeird block size on device descriptor: %d bytes is not divisible by 512.Weird! There are 2 partitions map entries!Welcome to GNU Parted! Type 'help' to view a list of commands. Without arguments, 'print' displays the entire partition table. However with the following arguments it performs various other actions. Would you like to use FAT32?Written by %s and %s. Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, and %s. Written by %s, %s, %s, and %s. Written by %s, %s, and %s. Written by %s. Xen Virtual Block DeviceYesYou may need to update /etc/fstab. You need %s of free disk space to shrink this partition to this size. Currently, only %s is free.You requested a partition from %s to %s. The closest location we can manage is %s to %s.%sYou should reinstall your boot loader before rebooting. Read section 4 of the Parted User documentation for more information.Your file system has too many occupied inodes to resize it to %i blocks. Sorry.Your file system is too full to resize it to %i blocks. Sorry.^[nN]^[yY]`adding groupsalign-checkalign-check TYPE N check partition N for TYPE(min|opt) alignmentalignment for new partitionsalignment type(min/opt)ambiguous argument %s for %satvrecvbios_grubbootcheckcheck NUMBER do a simple check on the file systemcheckingchecking for bad blockscopyingcpcp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another partitioncreatingcylinder_alignmentdesired alignment: minimum or optimaldisplays machine parseable outputdisplays the versiondisplays this help messageend of file while reading %sexpandingextendedfailed to set dvh partition name to %s: Only logical partitions (boot files) have a name.fat_table_alloc_cluster: no free clustersfat_table_get: cluster %ld outside file systemfat_table_set: cluster %ld outside file systemfreegrowing file systemhelphelp [COMMAND] print general help, or help on COMMANDhiddenhp-serviceinvalid %s%s argument `%s'invalid argument %s for %sinvalid minor device number: %sinvalid suffix in %s%s argument `%s'invalid token: %sioctl() errorlbalists partition layout on all block deviceslogicallvmmemory exhaustedmetadataminimalmkfsmkfs NUMBER FS-TYPE make a FS-TYPE file system on partition NUMBERmklabelmklabel,mktable LABEL-TYPE create a new disklabel (partition table)mkpartmkpart PART-TYPE [FS-TYPE] START END make a partitionmkpartfsmkpartfs PART-TYPE FS-TYPE START END make a partition with a file systemmktablemovemove NUMBER START END move partition NUMBERmsftresnamename NUMBER NAME name partition NUMBER as NAMEnever prompts for user interventionoffonopen erroropening of device failedoptimalpaloparted was unable to re-read the partition table on %s (%s). This means Linux won't know anything about the modifications you made. partition length of %jd sectors exceeds the %s-partition-table-imposed maximum of %jdped_device_new() Unsupported device typeprepprimaryprimary partition table array CRC mismatchprintprint [devices|free|list,all|NUMBER] display the partition table, available devices, free space, all found partitions, or a particular partitionquitquit exit programraidraw block copyingread errorreading from device failedrescuerescue START END rescue a lost partition near START and ENDresizeresize NUMBER START END resize partition NUMBER and its file systemrmrm NUMBER delete partition NUMBERrootsearching for file systemsseek errorseeking on device failedselectselect DEVICE choose the device to editsetset NUMBER FLAG STATE change the FLAG on partition NUMBERshrinkingshrinking HFS wrappershrinking embedded HFS+ volumestarting sector number, %jd exceeds the %s-partition-table-imposed maximum of %jdswaptoggletoggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBERtoo few argumentstoo many argumentsunitunit UNIT set the default unit to UNITversionversion display the version number and copyright information of GNU Partedwrite errorwriting HFS Master Directory Blockwriting HFS+ Volume Headerwriting per-group metadatawriting to device failedProject-Id-Version: parted 2.2 Report-Msgid-Bugs-To: bug-parted@gnu.org POT-Creation-Date: 2010-05-28 20:30+0200 PO-Revision-Date: 2010-04-04 13:31+0200 Last-Translator: Benno Schulenberg Language-Team: Dutch Language: nl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Lokalize 1.0 Plural-Forms: nplurals=2; plural=(n != 1); U hebt een programmeerfout in GNU Parted gevonden. Help ons de fout te verbeteren door het volgende te doen: Raak niet in paniek. De fout heeft zeer waarschijnlijk uw gegevens intact gelaten. Controleer of de fout al is verbeterd door de nieuwste versie van GNU Parted te gebruiken, te vinden op: http://ftp.gnu.org/gnu/parted/ Probeer die versie alvorens een fout te rapporteren. Als de fout nog niet is verbeterd, of als u niet precies weet hoe dit te controleren, kijk dan voor verdere informatie op de Parted-website: http://www.gnu.org/software/parted Uw rapportage dient het versienummer van Parted te bevatten (%s), de onderstaande foutmelding, de uitvoer van de volgende opdracht: parted APPARAAT unit co print unit s print en de hierna volgende opdrachtengeschiedenis, plus verdere relevante informatie over de configuratie van uw systeem. Opdrachtengeschiedenis: Fout: een niet-specifiek SIGFPE-signaal werd ontvangen. Fout: een niet-specifiek SIGILL-signaal werd ontvangen. Fout: een niet-specifiek SIGSEGV-signaal werd ontvangen. Fout: FPE_FLTDIV (Deling door nul) Fout: FPE_FLTINV (Ongeldige operatie) Fout: FPE_FLTOVF (Overloop) Fout: FPE_FLTRES (Inexact resultaat) Fout: FPE_FLTSUB (Index buiten bereik) Fout: FPE_FLTUND (Onderloop) Fout: FPE_INTDIV (Deling door nul) Fout: FPE_INTOVF (Overloop) Fout: ILL_BADSTK (Interne stack-fout) Fout: ILL_COPROC (Coprocessorfout) Fout: ILL_ILLADR (Ongeldige adresseringsmodus) Fout: ILL_ILLOPC (Ongeldige opcode) Fout: ILL_ILLOPN (Ongeldige parameter) Fout: ILL_ILLTRP (Ongeldige 'trap'-instructie) Fout: ILL_PRVOPC (Instructie alleen toegankelijk voor geprivilegieerden) Fout: ILL_PRVREG (Register alleen toegankelijk voor geprivilegieerden) Fout: SEGV_ACCERR (Ongeldige toegangsrechten voor object) Fout: SEGV_MAPERR (Adres niet verbonden met object) Is dit nog acceptabel? Dit is vrije software: u mag het vrijelijk wijzigen en verder verspreiden. De precieze licentie is GPLv3+: GNU GPL versie 3 of later; zie http://gnu.org/licenses/gpl.html voor de volledige tekst. Er is GEEN GARANTIE, voor zover de wet dit toestaat. Rapporteer gebreken in het programma aan <%s>; meld fouten in de vertaling aan . Rapporteer gebreken in het programma aan <%s>; meld fouten in de vertaling aan . Zonder APPARAAT worden alle beschikbare apparaten onderzocht. --help deze hulptekst tonen en stoppen --version programmaversie tonen en stoppen NUMMER : meer details over partitie NUMMER tonen devices : alle actieve blokapparaten tonen free : informatie over vrije ruimte op huidige blokapparaat tonen list, all : de partitietabellen van alle actieve blokapparaten tonen "%s" heeft een voor lokaties ongeldige syntaxis.%0.f%% (resterende tijd: %.2d:%.2d)%s %s%s %s %s%s : Onjuiste controlesom op blok %llu van type %s %s : Onjuiste controlesom op blok %llu van type %s.%s : Kan blok %llu niet lezen %s : Kan opstartblok %llu niet lezen %s : Kan hoofdblok %llu niet lezen %s : Kan blok %d niet schrijven %s : Geen 'rdb'-blok gevonden -- zou nooit mogen gebeuren %s : Geen 'rdb'-blok gevonden -- zou nooit mogen gebeuren.%s : Geheugen reserveren voor blok is mislukt %s : Geheugen reserveren voor schijfspecifiek 'rdb'-blok is mislukt %s : Geheugen reserveren voor ID-lijstelement is mislukt %s : Geheugen reserveren voor partitieblok is mislukt %s : Invullen van slechte blokken is mislukt.%s : Invullen van opstartblokken is mislukt.%s : Invullen van bestandssysteemblokken is mislukt.%s : Invullen van partitieblokken is mislukt.%s : Kan partitieblok %llu niet lezen %s : Lus gedetecteerd bij blok %d.%s : De %s-lijst lijkt verkeerd te zijn bij blok %s.%s bevat GPT-vingerafdrukken die aangeven dat het een GPT-tabel heeft. Maar het bevat geen geldige nep-MSDOS-partitietabel, zoals zou moeten. Misschien werd deze beschadigd, mogelijk door een programma dat GPT-partitietabellen niet begrijpt. Of misschien hebt u de GPT-tabel verwijderd en gebruikt nu een MSDOS-partitietabel. Is dit echt een GPT-partitietabel?%s-schijflabels kennen geen uitgebreide partities.%s-schijflabels kennen geen logische of uitgebreide partities.%s tijdens lezen van %s%s tijdens een 'seek' bij het lezen van %s%s tijdens een 'seek' bij het schrijven naar %s%s tijdens schrijven naar %s%s bevat geen uitgebreide partitie (volumenkop-partitie).Webpagina van %s: <%s> Webpagina van %s: %s is %dk, maar heeft %d clusters (%dk).%s is te klein voor een Mac-schijflabel!%s: bezig met synchroniseren van %s naar schijfargument '%3$s' van %1$s%2$s is te groot%s: ongeldige optie -- '%c' %s: optie '%c%s' staat geen argument toe %s: optie '%s' is niet eenduidig %s: optie '--%s' staat geen argument toe %s: optie '-W %s' staat geen argument toe %s: optie '-W %s' is niet eenduidig %s: optie vereist een argument -- '%c' %s: onbekend schijflabel%s: onbekende optie '%c%s' %s: onbekende optie '--%s' ’Opdracht 'maakpart' maakt een partitie aan zonder een bestandssysteem aan te maken. BS-SOORT mag gebruikt worden om het een geschikt partitiekenmerk te geven. 'versie' toont informatie over het auteursrecht en de versie van deze GNU Parted ©Er is een %s %s-partitie gevonden van %s tot %s. Wilt u deze aan de partitietabel toevoegen?U bent tegen een programmeerfout in GNU Parted aangelopen. Zie eventueel de website (http://www.gnu.org/software/parted/parted.html) voor meer informatie over het nuttig rapporteren van fouten. Stuur een foutrapportage naar , samen met het versienummer (%s) en de volgende boodschap: Naam van een dataset is beschadigdEr wordt gerefereerd aan een 'extent' vanuit een onmogelijke plaats. Voer een bestandssyteemcontrole uit!Het van grootte veranderen van dit bestandssysteem zal EXPERIMENTELE programmacode gebruiken die het bestandssysteem ZOU KUNNEN BESCHADIGEN (maar dit, voor zover bekend, nog nooit gedaan heeft). Maak vooraf een reservekopie van uw gegevens, en voer na de verandering 'e2fsck -f' uit.API-versies passen niet bij elkaarATARAID-stuurapparaatEr is een fout opgetreden tijdens het verplaatsen van een 'extent'.Fout tijdens zoeken naar het vereiste slechte-blokkenbestand.Een uitgebreide partitie kan geen bestandssysteem bevatten. Bedoelde u 'maakpart'?Een 'extent' is niet verplaatst.*** assertion (%s) at %s:%d in function %s() failed ***Poging tot het schrijven van sectoren %ld-%ld buiten de partitie op %s.Logische schijfopbouw volgens BIOS: %d,%d,%d (cilinders,koppen,sectoren). Elke cilinder is %s. De backtrace heeft %d aanroepen op de stack: Onjuiste FAT: cluster %d is voor %s kruiselings gekoppeld. Voer eerst 'dosfsck' of 'scandisk' uit.Onjuiste FAT: cluster %d in de keten voor %s ligt buiten het bestandssysteem. Voer eerst 'dosfsck' of 'scandisk' uit.Onjuiste FAT: onbeëindigde keten voor %s. Voer eerst 'dosfsck' of 'scandisk' uit.Onjuiste controlesom van kop van blokkenlijst.Slechte blokken konden niet gelezen worden.De lijst met slechte blokken kan niet geladen worden.Foutief mapitem voor %s: de eerste cluster is een bestandseinde-markering.Onjuiste controlesom van journal.Aan blok %i wordt niet gerefereerd! Merkwaardig.Blok %i zou niet als (%d, %d) gemarkeerd moeten zijn!Zowel de primaire GPT-tabel als de reservekopie zijn beschadigd. Maak eerst een nieuw schijflabel aan, en probeer dan met de 'red'-opdracht de kwijtgeraakte partities te herstellen.ProgrammeerfoutOPDRACHTen:Kan geen logische partitie aan %s toevoegen, omdat er geen uitgebreide partitie is.Kan geen nieuwe primaire partitie toevoegen: de partitietabel is te klein!Kan niet nog een partitie toevoegen.Kan een uitgebreide partitie niet kopiëren.Kan niet naar een overlappende partitie kopiëren.Kan geen nieuwe partities meer maken.Kan geen logische partitie buiten de uitgebreide partitie op %s maken.Kan geen partitie maken buiten de schijf!Kan geen primaire partitie binnen een uitgebreide partitie maken.Kan geen logische partitie buiten de uitgebreide partitie maken.Kan niet meer dan één uitgebreide partitie maken op %s.Kan geen overlappende partities maken.Het einde kan niet vóór het begin liggen! (startsector=%jd, lengte=%jd)Kan een partitie niet naar zichzelf verplaatsen. Bedoelde u 'grootte'?Kan een uitgebreide partitie niet verplaatsen.Kan niet naar %s schrijven, omdat het geopend is voor alleen-lezen.AnnulerenKan grootte van speciale eenheid 'COMPACT' niet achterhalen.Het veranderen van de naam van een root- of swappartitie zal verhinderen dat Linux deze als zodanig herkent.Onjuiste controlesom: de partitietabel is beschadigd.Ongebruikte ruimte op een FAT-partitie wissen (testgereedschap van GNU Parted). Clusterbegin-delta = %d, en dat is geen veelvoud van de clustergrootte %d.Compaq Smart Array-stuurapparaatTegenstrijdige groottes van partitietabelitems! Item 1 zegt dat het %d is, maar item %d zegt dat het %d is!Copyright (C) 1998 - 2006 Free Software Foundation, Inc. Dit is vrije software, vallend onder de GNU General Public License. Dit programma wordt uitgegeven in de hoop dat het nuttig is, maar ZONDER ENIGE GARANTIE; zelfs zonder de impliciete garantie van VERKOOPBAARHEID of GESCHIKTHEID VOOR EEN BEPAALD DOEL. Zie de GNU General Public License voor meer details. Beschadigd Sun-schijflabel gevonden.Kan het bestandssysteem niet tijdelijk opslaan in het geheugen.Kan geen bestandssysteem vinden.Kan de fysieke sectorgrootte van %s niet achterhalen. De logische sectorgrootte (%lld) wordt gebruikt.Kan de sectorgrootte van %s niet achterhalen: %s. De standaard sectorgrootte (%lld) wordt gebruikt.Kan sector %lli van HFS-bestand met CNID %X niet vinden.Kan sector %lli van HFS+-bestand met CNID %X niet vinden.Kan de identiteit van apparaat %s niet achterhalen -- %s.Kan een FMT1 DSCB niet lezen.Kan een FMT4 DSCB niet lezen.Kan een FMT5 DSCB niet lezen.Kan een FMT7 DSCB niet lezen.Kan VTOC-labels niet lezen.Kan volumenlabel niet lezen.Kan de API-versie niet verkrijgen.Kan blokgrootte niet verkrijgen.Kan informatie over schijfopbouw niet verkrijgen.Kan geen schijfinformatie verkrijgen.Kan de status van apparaat '%s' niet opvragen -- %s.Kan 'extent'-cache voor HFS-bestand met CNID %X niet bijwerken.Kan 'extent'-cache voor HFS+-bestand met CNID %X niet bijwerken.Kan een FMT1 DSCB niet schrijven.Kan een FMT4 DSCB niet schrijven.Kan een FMT5 DSCB niet schrijven.Kan een FMT7 DSCB niet schrijven.Kan VTOC-labels niet schrijven.Kan volumenlabel niet schrijven.Kan apparaat-abstractie niet aanmaken.Kan de buffercache niet leegmaken!Kan apparaat niet heropenen voor lezen en schrijven.Kan symbool %s niet herleiden. Fout: %s.Kruiselings gekoppelde blokken gevonden! U kunt beter eerst 'e2fsck' uitvoeren.DAC960 RAID-stuurapparaatAPPARAAT is gewoonlijk /dev/hda of /dev/sda De gegevensverplaatsing is mislukt.De gegevensverplaatsing heeft enkele gegevens aan het einde van het volumen achtergelaten.De gegevensverplaatsing heeft enkele gegevens aan het einde van het volumen achtergelaten.Nummer van doelpartitie?Apparaat %s bevat per fysieke sector meerdere (%d) logische sectoren. GNU Parted ondersteunt dit op EXPERIMENTELE basis voor sommige combinaties van schijflabel en bestandssysteem, bijvoorbeeld GPT met ext2/3. Zie de website van Parted voor de laatste informatie.Het apparaat is te klein voor %lu blokken.Apparaatcontrole is misluktHet kopiëren en tegelijkertijd verkleinen van een %s-bestandssysteem is nog niet geïmplementeerd. Verklein dus eerst de bronpartitie alvorens deze naar de gekozen partitie te kopiëren, of kies een grotere doelpartitie.Schijf %s: %s SchijfimageSchijf is in gebruikEindeEinde?FoutFout tijdens reserveren van buffercache.Fout tijdens fsyncing/sluiten van %s: %sFout tijdens initialiseren van SCSI-apparaat %s -- %s.Fout tijdens openen van %s: %sFout tijdens schrijven van het reserveringsbestand.Fout tijdens schrijven van het compatibiliteitsdeel van het reserveringsbestand.Fout tijdens schrijven naar de hoofdmap.Een schijflabeltype wordt verwacht.Een bestandssysteemsoort wordt verwacht.Een partitienummer wordt verwacht.Een partitietype wordt verwacht.Uitgebreide partities kunnen op MSDOS-schijflabels niet verborgen zijn.FAT %d medium %x komt niet overeen met medium %x uit de opstartsector. U kunt beter eerst 'scandisk' uitvoeren.De FAT-opstartsector zegt dat een cluster nul sectoren heeft. Dit is heel vreemd. De FAT-opstartsector zegt dat de logische sectorgrootte 0 is. Dit is heel vreemd. De FAT-opstartsector zegt dat er geen FAT-tabellen zijn. Dit is heel vreemd. VLAG is een van: BS-SOORT is een van: Schrijven van partitieblok %d is mislukt.FataalFatale foutBestandssysteem: %s BestandssysteemHet bestandssysteem heeft andere groottes dan Windows graag wil. De clustergrootte is %dk (%dk verwacht); het aantal clusters is %d (%d verwacht); de grootte van de FAT's is %d sectoren (%d verwacht).Bestandssysteem is vol!Bestandssysteem heeft een niet-compatibele functie ingeschakeld. Compatibele functies zijn 'has_journal', 'dir_index', 'filetype', 'sparse_super' en 'large_file'. Gebruik 'tune2fs' of 'debugfs' om functies te verwijderen.Dit bestandssysteem heeft een voor FAT ongeldige clustergrootte.Dit bestandssysteem heeft een ongeldig aantal FAT's.Dit bestandssysteem heeft een voor FAT ongeldig aantal gereserveerde sectoren.Dit bestandssysteem heeft een voor FAT ongeldige sectorgrootte.Dit bestandssysteem heeft een voor FAT ongeldige vingerafdruk.Het bestandssysteem bevat fouten! Voer eerst 'e2fsck' uit.Het bestandssysteem heeft te veel gebruikte inodes om een groep te verwijderen!Het bestandssysteem is FAT12. Dit wordt niet ondersteund.Het bestandssysteem geeft de beschikbare ruimte aan als %d clusters, niet %d clusters.Het bestandssysteem is te vol om een groep te verwijderen!Het bestandssysteem is te klein voor ext2.Bestandssysteemsoort?Het bestandssysteem werd niet correct ontkoppeld! Voer eerst 'e2fsck' uit.Het bestandssysteem werd niet correct ontkoppeld! Voer eerst 'e2fsck' uit. Het veranderen van een ongeschoond bestandssysteem kan tot zware beschadigingen leiden.ReparerenOm te zetten vlag?VlaggenVlaggen: %s Er is een inode gevonden met een onjuist aantal verwijzingen! U kunt beter eerst 'e2fsck' uitvoeren.Vrije ruimteGNU Parted kan de partitiegrootte niet naar deze afmetingen veranderen. We zijn er mee bezig!GNU Parted heeft een ongeldige libreiserfs gevonden.GNU Parted heeft een niet-passende versie van libreiserfs gevonden. Gevonden is versie %d-%d, terwijl versie %d nodig is. Ondersteuning voor reiserfs wordt uitgeschakeld.GNU Parted is verkeerd gecompileerd: de FAT-opstartsector zou 512 bytes moeten zijn. Ondersteuning voor FAT wordt uitgeschakeld.Algemene hulp bij gebruik van GNU-software: Gewone IDEAlgemeen SD/MMC-geheugenkaartI2O-stuurapparaatIBM S390 DASD-schijfIBM iSeries virtuele DASDAls u converteert naar FAT16, en MS-Windows is op deze partitie geïnstalleerd, dan dient u het MS-Windows-opstartprogramma opnieuw te installeren. Als u dit wilt doen, raadpleeg dan de Parted-documentatie (of de documentatie van uw distributie).Als u converteert naar FAT32, en MS-Windows is op deze partitie geïnstalleerd, dan dient u het MS-Windows-opstartprogramma opnieuw te installeren. Als u dit wilt doen, raadpleeg dan de Parted-documentatie (of de documentatie van uw distributie). Maar bedenk: converteren naar FAT32 maakt het bestandssysteem onleesbaar voor MSDOS, Windows 95a en Windows NT.Als u het bestandssysteem als FAT16 laat, zult u geen problemen hebben.Als u het bestandssysteem als FAT32 laat, zult u geen nieuwe problemen introduceren.NegerenInconsistente groepsbeschrijvers!Onjuiste magische getallen in de journalkop.Het besturingssysteem informeren over veranderingen in een partitietabel. -d, --dry-run het besturingssysteem niet informeren, maar doen alsof -s, --summary een samenvatting van de inhoud tonen -h, --help deze hulptekst tonen en stoppen -v, --version programmaversie tonen en stoppen InformatieOngeldige VTOC.Ongeldige terugverwijzingOngeldige tekenklassenaamOngeldig samengesteld tekenOngeldige inhoud van \{\}Ongeldig aantal vrije blokken. Voer eerst 'reiserfsck --check' uit.Ongeldig nummer.Ongeldige partitietabel -- recursieve partitie op %s.Ongeldige partitietabel op %s -- onjuiste vingerafdruk %x.Ongeldige partitietabel op %s.Ongeldige voorafgaande reguliere expressieOngeldig bereikeindeOngeldige reguliere expressieOngeldige vingerafdruk %x voor een Mac-schijflabel.Ongeldige grootte (%i bytes) van een transactieblok tijdens herafspelen van het journal.Ongeldig superblok. Weet u zeker dat dit een ext2-bestandssysteem is?Er schijnt een fout in de HFS-wikkel te zitten: het slechte-blokkenbestand bevat geen ingebed HFS+-volumen.Grootte of offset van het journal is geen veelvoud van de sectorgrootte.Journalgrootte is verschillend aangegeven in journal-infoblok en journalkop.Een journal opgeslagen buiten het volumen wordt niet ondersteund. Probeer het journal uit te schakelen en voer dan Parted opnieuw uit.LABEL-TYPE is een van: Linux device-mapper (%s)Maximum grootte: Onvoldoende geheugen beschikbaarOnvoldoende geheugen beschikbaarMinimum grootte: Nummer: %d Model: %s (%s) NAAM is elk woord dat u wilt NUMMER is het door Linux gebruikte nummer van de partitie. In MSDOS-schijflabels zijn de primaire partities genummerd van 1 tot 4, de logische partities vanaf 5 en hoger. NaamNieuw apparaat?Type van nieuw schijflabel?Nieuwe toestand?NeeNiet-geïmplementeerdGeen apparaat gevondenGeen overeenkomstenGeen eerdere reguliere expressieGeen ruimte voor partitie-informatie.Geen ruimte voor een volumenlabel.Geen geldige HFS[+X]-vingerafdruk gevonden tijdens openen.Geen geldige partitietabel gevonden.Niet alle beschibare ruimte voor %s schijnt gebruikt te worden. De GPT bijwerken om alle ruimte te gebruiken (%llu extra blokken), of doorgaan en deze extra ruimte negeren? Niet genoeg beschikbare inodes!NummerOKOPTIEs:Alleen een logische partitie kan een opstartbestand zijn.Alleen een primaire partitie kan rootpartitie zijn.Alleen een primaire partitie kan swappartitie zijn.Onvoldoende geheugen beschikbaar.PART-TYPE is een van: primair, logisch, uitgebreid In pakketvorm gebracht door %s In pakketvorm gebracht door %s (%s) Parted kan partitities beheerd door Windows Dynamic Disk niet van grootte veranderen.Parted kan geen HFS-bestandssystemen bewerken op schijven met een andere sectorgrootte dan %d bytes.Partitie %d heeft een ongeldige lengte van 0 bytes!Partitie %d heeft een ongeldige vingerafdruk %x.Partitie %d is %s, maar het bestandssysteem is %s.Partitie %d is niet uitgelijnd op cilindergrenzen. Dit wordt nog niet ondersteund.Partitie %s is in gebruik. Deze dient ontkoppeld te worden alvorens hem met Parted te bewerken.Partitietabel: %s Partitie bestaat niet.Partitietabel bevat geen partitietabelitem!Naam van partitie?Nummer van partitie?Partitie is te klein of te groot voor een %s-bestandssysteem.Partitietype?Partitie(s) op %s zijn in gebruik.Voortijdig einde van reguliere expressiePromise SX8 SATA-apparaatReguliere expressie is te grootHet bestandssysteem lijkt beschadigd. Voer eerst 'reiserfsck --check' uit.Rapporteer gebreken in het programma '%s' aan <%s>; meld fouten in de vertaling aan . Het van grootte veranderen van het HFS+-volumen is mislukt.Opnieuw proberenBEGIN en EINDE zijn schijflokaties, zoals 4GB of 10%. Negatieve waarden tellen vanaf het einde van de schijf. Bijvoorbeeld, -1s geeft precies de laatste sector aan. TOESTAND is één van: aan, uit Sectorgrootte (logisch/fysiek): %lldB/%lldB GrootteGrootte: Sommige velden in de journalkop zijn geen veelvoud van de sectorgrootte.Sorry, HFS kan nog niet op deze manier van grootte veranderd worden.Sorry, HFS+ kan nog niet op deze manier van grootte veranderd worden.Sorry, het begin van een ext2-partitie kan nog niet verplaatst worden.Sorry, het begin van een reiserfs-partitie kan nog niet verplaatst worden.Bronapparaat?Nummer van bronpartitie?BeginBegin?GeluktSun-schijflabel is vol.Het toevoegen van partities aan AIX-schijflabels is nog niet geïmplementeerd.Ondersteuning voor het controleren van %s-bestandssystemen is nog niet geïmplementeerd.Ondersteuning voor het kopiëren van %s-bestandssystemen is nog niet geïmplementeerd.Ondersteuning voor het maken van %s-bestandssystemen is nog niet geïmplementeerd.Het klonen van partities in AIX-schijflabels is nog niet geïmplementeerd.Ondersteuning voor het openen van %s-bestandssystemen is nog niet geïmplementeerd.Het lezen van AIX-schijflabels is nog niet geïmplementeerd.Ondersteuning voor het van grootte veranderen van %s-bestandssystemen is nog niet geïmplementeerd.Het zetten van vlaggen in AIX-schijflabels is nog niet geïmplementeerd.Het instellen van het systeemtype in AIX-schijflabels is nog niet geïmplementeerd.Het schrijven van AIX-schijflabels is nog niet geïmplementeerd.Syntaxfout in configuratiebestandDe FAT's komen niet overeen. Als u niet weet wat dit betekent, selecteer dan 'Annuleren', voer 'scandisk' uit op het bestandssysteem, en kom dan weer terug.De 'Hele-Schijf'-partitie is de enige die over is. In het algemeen is het geen goed idee om deze partitie met een echte te overschrijven. Solaris kan mogelijk niet zonder deze partitie starten, en SILO (het Sparc-opstartprogramma) waardeert de aanwezigheid ervan ook.De reservekopie van de GPT-tabel is beschadigd, maar de primaire tabel lijkt goed. Deze laatste zal worden gebruikt.De reservekopie van de GPT-tabel staat niet helemaal aan het einde van de schijf, zoals zou moeten. Dit zou kunnen betekenen dat een ander besturingssysteem aanneemt dat de schijf kleiner is dan hij is. Dit kan gerepareerd worden door de reservekopie naar het einde te verplaatsen en de oude reservekopie te verwijderen. Reparatie uitvoeren?Het opstartgebied begint niet bij het begin van de partitie.Huidige API-versie '%d' past niet bij API-versie '%d' van het DASD-stuurprogramma!Het gegevensgebied begint niet bij het begin van de partitie.Apparaat %s heeft lengte nul en kan met geen mogelijkheid een bestandssysteem of partitietabel bevatten. Hebt u misschien een verkeerd apparaat gekozen?De logische schijfopbouw (%d,%d,%d) gerapporteerd door het besturingssysteem komt niet overeen met de opbouw (%d,%d,%d) opgeslagen in het schijflabel.De schijf heeft %d cilinders, wat groter is dan het maximum van 65536.Het schijflabel beschrijft een schijf groter dan %s.De beschrijving van het stuurprogramma zegt dat de fysieke blokgrootte %d bytes is, maar Linux zegt dat het %d bytes is.Het bestaande label op %s zal worden vernietigd en alle gegevens op deze schijf zullen verloren gaan. Wilt u doorgaan?Het bestaande bestandssysteem zal worden vernietigd en alle gegevens op de partitie zullen verloren gaan. Wilt u doorgaan?Het ext2-bestandssysteem heeft deze basistest goed doorstaan. Voor een uitgebreidere test kunt u het programma 'e2fsck' gebruiken.Het 'extents-overflow'-bestand hoort niet zijn eigen 'extents' te bevatten. Voer een bestandssyteemcontrole uit!Het bestand %s is gemarkeerd als een systeembestand. Als het verplaatst wordt, zullen sommige programma's misschien niet meer werken.Het bestandssysteem kan alleen naar deze grootte veranderd worden door te converteren naar FAT16.Het bestandssysteem kan alleen naar deze grootte veranderd worden door te converteren naar FAT32.Het bestandssysteem bevat fouten.Het bestandssysteem gebruikt de 'dir_index'-functie. Parted kan het bestandssysteem alleen van grootte veranderen als het deze functie uitschakelt. U kunt deze functie later weer aanzetten door middel van 'tune2fs -O dir_index APPARAAT' en dan 'e2fsck -fD APPARAAT'.Het bestandssysteem is groter dan de partitie!Het bestandssysteem is in een ongeldige toestand. Misschien is het aangekoppeld?Het bestandssysteem is in een oude indeling; de grootte kan niet veranderd worden.De logische schijfopbouw (%d,%d,%d) vermeld in het bestandssysteem is ongeldig. De opbouw opgeslagen in het schijflabel is (%d,%d,%d) (cilinders,koppen,sectoren). Als u 'Negeren' kiest, wordt de opbouw vermeld in het bestandssysteem onveranderd gelaten. Als u 'Repareren' kiest, wordt deze opbouw gelijkgemaakt aan die in de partitietabel.De indeling van de GPT-partitietabel is van versie %x. Dit is nieuwer dan wat deze versie van Parted kent. Vertel het ons: De informatiesector heeft een onjuiste vingerafdruk (%x). Kies voorlopig 'Annuleren', en stuur een foutrapportage naar . Indien u heel wanhopig bent: het is waarschijnlijk wel veilig om voor 'Negeren' kiezen.Het journal is niet leeg. Parted moet de transacties herafspelen alvorens het bestandssysteem te openen. Dit zal het bestandssysteem veranderen.Lokatie %s ligt buiten het apparaat %s.De maximum waarde voor de kop is %d.De maximum waarde voor de sector is %d.De partitie dient een van de volgende BS-SOORTen te hebben: De kernel kan de partitietabel niet herlezen. Dit betekent dat u uw computer moet herstarten alvorens veranderde partities te gebruiken. Maar voor het herstarten moet u ook uw opstartprogramma opnieuw installeren, wat mogelijk het aankoppelen van veranderde partitities vereist. De twee dingen zijn niet samen mogelijk! U zult dus van een reddingsdiskette of van een CD moeten herstarten, en vanaf daar uw opstartprogramma moeten herinstalleren. Lees eventueel sectie 4 van de Parted-gebruikersdocumentatie.De kernel kan de partitietabel op %s niet herlezen (%s). Dit betekent dat de Hurd geen weet heeft van de veranderingen die u net hebt gemaakt. U dient uw computer te herstarten alvorens iets met %s te doen.Het opstartgebied beslaat niet de gehele partitie.Het gegevensgebied beslaat niet de gehele partitie.De primaire GPT-tabel is beschadigd, maar de reservekopie lijkt goed. Deze laatste zal worden gebruikt.Het reiserfs-bestandssysteem heeft deze basistest goed doorstaan. Voor een uitgebreidere test kunt u 'reiserfsck --check' gebruiken.De resulterende partitie is niet correct uitgelijnd voor optimale prestaties.De sectorgrootte is volgens het journal niet 512 bytes. Parted ondersteunt alleen sectoren van 512 bytes.Het opgegeven apparaat is geen geldig DASD-apparaatDe volumenkop of het hoofdmappenblok is veranderd tijdens het herafspelen van het journal. U dient Parted te herstarten.Er zijn geen mogelijke configuraties voor dit type FAT.Er is niet genoeg ruimte in de hoofdmap voor alle bestanden. Kies 'Negeren' om de overtallige bestanden te verwijderen.Dit HFS-volumen heeft geen catalogusbestand. Dit is zeer ongebruikelijk!Dit HFS-volumen heeft geen 'extents-overflow'-bestand. Dit is zeer ongebruikelijk!Dit HFS+-volumen heeft geen catalogusbestand. Dit is zeer ongebruikelijk!Dit HFS+-volumen heeft geen 'extents-overflow'-bestand. Dit is zeer ongebruikelijk!Deze opdracht is zonder betekenis in niet-interactieve modus. Dit bestandssysteem heeft een logische sectorgrootte van %d. GNU Parted werkt niet goed met sectorgroottes anders dan 512 bytes.Dit is geen echte %s-controle. Het extraheert slechts enkele speciale bestanden om bij de foutopsporing te helpen.Dit is geen ECKD-schijf! Dit soort schijf wordt niet ondersteund!Deze libparted kan niet naar %s schrijven. Mogelijk werd libparted voor alleen-lezen gecompileerd.Te veel slechte pagina's.Te veel primaire partities.Te veel primaire partities.Backslash aan het eindTyp '%s --help' voor meer informatie. Poging tot het verplaatsen van een 'extent' van blok 0x%X naar blok Ox%X, maar er bestaat al een 'extent' op die positie. Dit hoort nooit te gebeuren!Poging tot lezen van HFS-bestand met CNID %X voorbij einde-van-bestand.Poging tot lezen van HFS+-bestand met CNID %X voorbij einde-van-bestand.Poging tot het registreren van een 'extent' beginnend bij blok 0x%X, maar er bestaat al een 'extent' op die positie. Voer een bestandssysteemcontrole uit!Poging tot schrijven van HFS-bestand met CNID %X voorbij einde-van-bestand.Poging tot schrijven van HFS+-bestand met CNID %X voorbij einde-van-bestand.TypeEENHEID is een van: Kan in het BSD-schijflabel geen plekje meer reserveren.Kan in het DASD-schijflabel geen plekje meer reserveren.Geen partitienummer meer beschikbaar.Kan de logische opbouw van het apparaat %s niet achterhalen. U kunt Parted beter niet gebruiken tenzij u ECHT weet wat u doet!Kan het apparaattype van '%s' niet achterhalen.Kan de grootte van %s niet achterhalen -- %s.Kan %s niet openen voor lezen-en-schrijven (%s); %s is geopend voor alleen-lezen.Kan %s niet openen.Kan de logische opbouw van het apparaat niet achterhalen.Kan niet aan alle voorwaarden voor deze partitie voldoen.Eenheid?(onbekend)Onbekende schijfvlag %d.Onbekende bestandssysteemsoort '%s'.Onbekende partitievlag %d.Onbekende systeemfoutOngepaarde ( of \(Ongepaarde ) of \)Ongepaarde [ of [^Ongepaarde \{Onbekende vingerafdruk '%10s' voor nieuwestijl-Linux-swappartitie.Onbekende vingerafdruk '%10s' voor oudestijl-Linux-swappartitie.Onbekende vingerafdruk '%10s' voor swsusp-Linux-swappartitie.Schijfindeling wordt niet ondersteundSchijftype wordt niet ondersteundHet bijwerken van de HFS-wikkel is mislukt.Gebruik: %s [-hlmsv] [-aUITLIJNING] [APPARAAT [OPDRACHT [PARAMETERS]]...] Gebruik: %s [OPTIE] of: %s APPARAAT-SUBNUMMER Gebruik: %s [OPTIE] [APPARAAT]... Gebruik: parted [OPTIE]... [APPARAAT [OPDRACHT [ARGUMENTEN]...]...] Dit voert OPDRACHT met ARGUMENTEN uit op APPARAAT. Als er geen OPDRACHT gegeven is, wordt interactieve modus gestart. User-Mode Linux-blokapparaat (UBD)Apparaat %s wordt gebruikt. Geldige argumenten zijn:Versie %d van HFS+ wordt niet ondersteund.Versie %d van HFSX wordt niet ondersteund.Virtio-blokapparaatVolumenlabel is beschadigdWAARSCHUWING: u bent niet root. Houd rekening met ontbrekende toegangsrechten.WAARSCHUWING: u probeert %s te gebruiken om een bestandssysteem (%s) te bewerken. De bestandssysteembewerkingsroutines van %s zijn niet zo robuust als in gespecialiseerde bestandssysteemspecifieke pakketten zoals esfsprogs. We bevelen aan om %s zo mogelijk alleen te gebruiken om partitietabellen te bewerken. Ondersteuning van de meeste bewerkingen op de meeste bestandssysteemsoorten zal in de komende versies verwijderd worden. WaarschuwingVreemde blokgrootte in apparaatbeschrijving: %d bytes is niet deelbaar door 512.Vreemd: twee partitietabelitems!Welkom bij GNU Parted! Typ 'help' voor een opdrachtenoverzicht. Zonder argumenten toont 'toon' de volledige partitietabel, maar met de volgende argumenten wordt meer specifieke informatie getoond: Wilt u FAT32 gebruiken?Geschreven door %s en %s. Geschreven door %s, %s, %s, %s, %s, %s, %s, %s, %s en anderen. Geschreven door %s, %s, %s, %s, %s, %s, %s, %s en %s. Geschreven door %s, %s, %s, %s, %s, %s, %s en %s. Geschreven door %s, %s, %s, %s, %s, %s en %s. Geschreven door %s, %s, %s, %s, %s en %s. Geschreven door %s, %s, %s, %s en %s. Geschreven door %s, %s, %s en %s. Geschreven door %s, %s en %s. Geschreven door %s. Xen virtueel blokapparaatJaHet kan nodig zijn /etc/fstab bij te werken. U hebt minstens %s vrije schijfruimte nodig om deze partitie naar die grootte te kunnen verkleinen (u hebt nu slechts %s beschikbaar).U verzocht om een partitie van %s tot %s. De dichtstbijzijnde mogelijkheid is van %s tot %s.%sAlvorens te herstarten dient u uw opstartprogramma opnieuw te installeren. Lees sectie 4 van de Parted-gebruikersdocumentatie voor meer informatie.Uw bestandssysteem heeft te veel bezette inodes om het naar %i blokken te verkleinen. Sorry.Uw bestandssysteem is te vol om het naar %i blokken te verkleinen. Sorry.^[nN]^[jJyY]‘bezig met toevoegen van groepenuitlijncontroleuitlijncontrole SOORT N partitie N controleren op SOORT(min|opt)-uitlijninguitlijning voor nieuwe partitiesuitlijningssoort (min/opt)argument %s van %s is niet eenduidigatvrecvbios_grubopstartcontroleercontroleer NUMMER een simpele controle uitvoeren van bestandssysteem op partitie NUMMERbezig met controlerenbezig met zoeken naar slechte blokkenbezig met kopiërenkopieerkopieer [APPARAAT] VAN-NUMMER NAAR-NUMMER een bestandssysteem naar een andere partitie kopiërenbezig met aanmakencilinderuitlijninggewenste uitlijning: minimaal of optimaalcomputerverwerkbare uitvoer producerende programmaversie tonendeze hulptekst tonenbestandseinde tijdens lezen van %sbezig met vergrotenuitgebreidHet instellen van '%s' als dvh-partitienaam is mislukt: alleen logische partities (opstartbestanden) hebben een naam.fat_table_alloc_cluster(): geen beschikbare clustersfat_table_get(): cluster %ld ligt buiten het bestandssysteemfat_table_set(): cluster %ld ligt buiten het bestandssysteemvrijbezig met vergroten van bestandssysteemhulphelp [OPDRACHT] enige algemene hulp geven (of hulp bij OPDRACHT)verborgenhp-serviceongeldig argument '%3$s' van %1$s%2$songeldig argument %s van %songeldig subapparaatnummer: %songeldig achtervoegsel in argument '%3$s' van %1$s%2$songeldig symbool: %sioctl()-foutlbade partietabellen van alle apparaten tonenlogischlvmonvoldoende geheugen beschikbaarmetagegevensminimaalmaakbsmaakbs NUMMER BS-SOORT op partitie NUMMER een bestandssysteem van BS-SOORT aanmakenmaaklabelmaaklabel LABEL-TYPE nieuw schijflabel maken (met lege partitietabel)maakpartmaakpart PART-TYPE [BS-SOORT] BEGIN EINDE een partitie aanmakenmaakpartbsmaakpartbs PART-TYPE BS-SOORT BEGIN EINDE een partitie met een bestandssysteem aanmakenmaaktabelschuifschuif NUMMER BEGIN EINDE partitie verplaatsen naar nieuw BEGIN en EINDEmsftresnoemnoem NUMMER NAAM partitie NUMMER deze NAAM gevennooit vragen stellenuitaanopenfoutopenen van apparaat is misluktoptimaalpaloParted kan de partitietabel op %s niet herlezen (%s). Dit betekent dat Linux geen weet heeft van de veranderingen die u net hebt gemaakt. partitielengte van %jd-sectoren overschrijdt het %s-partitietabelverplicht maximum van %jdApparaattype wordt niet ondersteund.prepprimairCRC-verschil in hoofdpartitietabel-arraytoontoon [devices|free|list,all|NUMMER] de partitietabel weergeven (of beschikbare apparaten, of vrije ruimte, of tabellen van alle apparaten, of een specifieke partitie)eindeeinde programma afsluitenraidbezig met kopiëren van blokkenleesfoutlezen van apparaat is misluktredred BEGIN EINDE een verloren partitie (met geschat begin en einde) proberen te herstellengroottegrootte NUMMER BEGIN EINDE de grootte van het bestandssysteem op partitie NUMMER veranderenverwijderverwijder NUMMER partitie NUMMER verwijderenrootbezig met zoeken naar bestandssystemen'seek'-fouteen 'seek' op apparaat is misluktkieskies APPARAAT dit APPARAAT kiezen om te bewerkenzetzet NUMMER VLAG TOESTAND op partitie NUMMER deze VLAG in TOESTAND zettenbezig met verkleinenbezig met verkleinen van HFS-wikkelbezig met verkleinen van een ingebed HFS+-volumenstartsectornummer, %jd overschrijdt het %s-partitietabelverplicht maximum van %jdswapzetomzetom [NUMMER [VLAG]] op partitie NUMMER de toestand van VLAG omzettente weinig argumentente veel argumenteneenheideenheid EENHEID standaard deze EENHEID gebruikenversieversie versienummer en copyright van deze Parted tonenschrijffoutbezig met schrijven van HFS-hoofdmapblokbezig met schrijven van HFS+-volumenkopbezig met schrijven van groepsmetagegevensschrijven naar apparaat is misluktparted-2.3/po/Makefile.in.in0000644000000000000000000003756411400002041012611 00000000000000# -*- buffer-read-only: t -*- vi: set ro: # DO NOT EDIT! GENERATED AUTOMATICALLY! # Makefile for PO directory in any package using GNU gettext. # Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper # # This file can be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU General Public # License but which still want to provide support for the GNU gettext # functionality. # Please note that the actual code of GNU gettext is covered by the GNU # General Public License and is *not* in the public domain. # # Origin: gettext-0.18 GETTEXT_MACRO_VERSION = 0.18 PACKAGE = @PACKAGE@ VERSION = @VERSION@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ SHELL = /bin/sh @SET_MAKE@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ datarootdir = @datarootdir@ datadir = @datadir@ localedir = @localedir@ gettextsrcdir = $(datadir)/gettext/po INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ # We use $(mkdir_p). # In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as # "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions, # @install_sh@ does not start with $(SHELL), so we add it. # In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined # either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake # versions, $(mkinstalldirs) and $(install_sh) are unused. mkinstalldirs = $(SHELL) @install_sh@ -d install_sh = $(SHELL) @install_sh@ MKDIR_P = @MKDIR_P@ mkdir_p = @mkdir_p@ GMSGFMT_ = @GMSGFMT@ GMSGFMT_no = @GMSGFMT@ GMSGFMT_yes = @GMSGFMT_015@ GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT)) MSGFMT_ = @MSGFMT@ MSGFMT_no = @MSGFMT@ MSGFMT_yes = @MSGFMT_015@ MSGFMT = $(MSGFMT_$(USE_MSGCTXT)) XGETTEXT_ = @XGETTEXT@ XGETTEXT_no = @XGETTEXT@ XGETTEXT_yes = @XGETTEXT_015@ XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT)) MSGMERGE = msgmerge MSGMERGE_UPDATE = @MSGMERGE@ --update MSGINIT = msginit MSGCONV = msgconv MSGFILTER = msgfilter POFILES = @POFILES@ GMOFILES = @GMOFILES@ UPDATEPOFILES = @UPDATEPOFILES@ DUMMYPOFILES = @DUMMYPOFILES@ DISTFILES.common = Makefile.in.in remove-potcdate.sin \ $(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \ $(POFILES) $(GMOFILES) \ $(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) POTFILES = \ CATALOGS = @CATALOGS@ # Makevars gets inserted here. (Don't remove this line!) .SUFFIXES: .SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update .po.mo: @echo "$(MSGFMT) -c -o $@ $<"; \ $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ .po.gmo: @lang=`echo $* | sed -e 's,.*/,,'`; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \ cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo .sin.sed: sed -e '/^#/d' $< > t-$@ mv t-$@ $@ all: check-macro-version all-@USE_NLS@ all-yes: stamp-po all-no: # Ensure that the gettext macros and this Makefile.in.in are in sync. check-macro-version: @test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \ || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \ exit 1; \ } # $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no # internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because # we don't want to bother translators with empty POT files). We assume that # LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. # In this case, stamp-po is a nop (i.e. a phony target). # stamp-po is a timestamp denoting the last time at which the CATALOGS have # been loosely updated. Its purpose is that when a developer or translator # checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, # "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent # invocations of "make" will do nothing. This timestamp would not be necessary # if updating the $(CATALOGS) would always touch them; however, the rule for # $(POFILES) has been designed to not touch files that don't need to be # changed. stamp-po: $(srcdir)/$(DOMAIN).pot test ! -f $(srcdir)/$(DOMAIN).pot || \ test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) @test ! -f $(srcdir)/$(DOMAIN).pot || { \ echo "touch stamp-po" && \ echo timestamp > stamp-poT && \ mv stamp-poT stamp-po; \ } # Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', # otherwise packages like GCC can not be built if only parts of the source # have been downloaded. # This target rebuilds $(DOMAIN).pot; it is an expensive operation. # Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed if LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \ package_gnu='GNU '; \ else \ package_gnu=''; \ fi; \ if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \ msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ else \ msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ fi; \ case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ --files-from=$(srcdir)/POTFILES.in \ --copyright-holder='$(COPYRIGHT_HOLDER)' \ --msgid-bugs-address="$$msgid_bugs_address" \ ;; \ *) \ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ --files-from=$(srcdir)/POTFILES.in \ --copyright-holder='$(COPYRIGHT_HOLDER)' \ --package-name="$${package_gnu}@PACKAGE@" \ --package-version='@VERSION@' \ --msgid-bugs-address="$$msgid_bugs_address" \ ;; \ esac test ! -f $(DOMAIN).po || { \ if test -f $(srcdir)/$(DOMAIN).pot; then \ sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ else \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ else \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ } # This rule has no dependencies: we don't need to update $(DOMAIN).pot at # every "make" invocation, only create it when it is missing. # Only "make $(DOMAIN).pot-update" or "make dist" will force an update. $(srcdir)/$(DOMAIN).pot: $(MAKE) $(DOMAIN).pot-update # This target rebuilds a PO file if $(DOMAIN).pot has changed. # Note that a PO file is not touched if it doesn't need to be changed. $(POFILES): $(srcdir)/$(DOMAIN).pot @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ if test -f "$(srcdir)/$${lang}.po"; then \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ cd $(srcdir) \ && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ *) \ $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ esac; \ }; \ else \ $(MAKE) $${lang}.po-create; \ fi install: install-exec install-data install-exec: install-data: install-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ for file in $(DISTFILES.common) Makevars.template; do \ $(INSTALL_DATA) $(srcdir)/$$file \ $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ for file in Makevars; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi install-data-no: all install-data-yes: all @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $(DESTDIR)$$dir; \ if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ fi; \ done; \ done install-strip: install installdirs: installdirs-exec installdirs-data installdirs-exec: installdirs-data: installdirs-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ else \ : ; \ fi installdirs-data-no: installdirs-data-yes: @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $(DESTDIR)$$dir; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ fi; \ done; \ done # Define this as empty until I found a useful application. installcheck: uninstall: uninstall-exec uninstall-data uninstall-exec: uninstall-data: uninstall-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ for file in $(DISTFILES.common) Makevars.template; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi uninstall-data-no: uninstall-data-yes: catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ done; \ done check: all info dvi ps pdf html tags TAGS ctags CTAGS ID: mostlyclean: rm -f remove-potcdate.sed rm -f stamp-poT rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po rm -fr *.o clean: mostlyclean distclean: clean rm -f Makefile Makefile.in POTFILES *.mo maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." rm -f stamp-po $(GMOFILES) distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) dist distdir: $(MAKE) update-po @$(MAKE) dist2 # This is a separate target because 'update-po' must be executed before. dist2: stamp-po $(DISTFILES) dists="$(DISTFILES)"; \ if test "$(PACKAGE)" = "gettext-tools"; then \ dists="$$dists Makevars.template"; \ fi; \ if test -f $(srcdir)/$(DOMAIN).pot; then \ dists="$$dists $(DOMAIN).pot stamp-po"; \ fi; \ if test -f $(srcdir)/ChangeLog; then \ dists="$$dists ChangeLog"; \ fi; \ for i in 0 1 2 3 4 5 6 7 8 9; do \ if test -f $(srcdir)/ChangeLog.$$i; then \ dists="$$dists ChangeLog.$$i"; \ fi; \ done; \ if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ for file in $$dists; do \ if test -f $$file; then \ cp -p $$file $(distdir) || exit 1; \ else \ cp -p $(srcdir)/$$file $(distdir) || exit 1; \ fi; \ done update-po: Makefile $(MAKE) $(DOMAIN).pot-update test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) $(MAKE) update-gmo # General rule for creating PO files. .nop.po-create: @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ exit 1 # General rule for updating PO files. .nop.po-update: @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ cd $(srcdir); \ if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ *) \ $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ esac; \ }; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "msgmerge for $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi $(DUMMYPOFILES): update-gmo: Makefile $(GMOFILES) @: # Recreate Makefile by invoking config.status. Explicitly invoke the shell, # because execution permission bits may not work on the current file system. # Use @SHELL@, which is the shell determined by autoconf for the use by its # scripts, not $(SHELL) which is hardwired to /bin/sh and may be deficient. Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@ cd $(top_builddir) \ && @SHELL@ ./config.status $(subdir)/$@.in po-directories force: # Tell versions [3.59,3.63) of GNU make not to export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: parted-2.3/po/es.gmo0000644000000000000000000010463711400005705011260 00000000000000Þ•Œoü¸¹Ö Ý+è0E'e`2î<!^s‘°(Æ%ïW2Š+<ÉP]WHµþD"a‡„  L>g¦)Ã!íG(W<€@½2þ"1?T!”2¶é]ð=N IŒ Ö Zé "D!g!(…!®!Í!7ê!""'9"a"/"¯#³#¸#¾#ØÝ#&¶$Ý$$ò$%4%R%p%:Œ%\Ç%=$&?b&>¢&á&ò&&'-'3' D'¶P'(>(*X(Lƒ(=Ð(;)/J)<z)+·)Hã)*,*W*w*>‰*È*H+L+HR+K›+cç+K,ÛZ,I6-G€.UÈ./%/ E/4Q/4†/»/)Ú/>0C0Z0i0 x0ƒ0ž0 £0¯0 Ä0Ï0Ò0ä0ô01*11141+=1/i1/™1É10Ø1? 2.I2)x2.¢2NÑ2 3)93c3s3-…3³3"Ã3æ3ì343 4?4N4g4m4t4<Œ4;É4<5;B5<~5‚»5í>6Ö,7<8<@8‚}8F9/G9^w9cÖ9h::H£:Hì: 5;ÙV;*0<ˆ[<šä<7=¨·=¶`?@@@X@R™@7ì@p$Aƒ•AUBoBƒBŸB¼Bˆ>CÇC(ÌC&õC(DAED‡DšD3±DåDëDóDE .E8EH@E+‰EµEÒEbÖE~9FP¸F? G IGWG\GbGzGN}GÌGáGüG)H/H4HHHMH TH_HcHkHoHxH}H…H9ŒHÆHLÏHI!I#&IJINIQI)VI€I…II“I˜II¯I¶I½IÀIÅIàIçI ëIõIúIÿImJ#ˆK¬K ³K<¾K:ûK%6L-\L„ŠL@NGPN˜N,´N-áNO(-O8VO%O`µOP;+PHgPd°P|QS’Q)æQ`R0qR®¢RQSWSU`SW¶S"T31T"eTMˆT1ÖTKUGTU7œU+ÔUVV+WVBƒVÆVdÏV`4WQ•WçW‚X3…X,¹X8æX6Y&VYP}YÎY/çY#Ze;Z¡[¥[«[.±[ôà[+Õ\](])@]+j]#–]!º]HÜ]y%^[Ÿ^]û^NY_¨_¹_2Í_```í3`!a[=a8™agÒaZ:bP•b@æbP'c;xcd´cDd0^ddP­dœþd›e¤eZ­e[fudfÚfæëfKÒgHiOgi ·i&Ái èi:ôi8/j"hj/‹jO»j k%k5k Ek'Pkxkk!“kµkÄkÇkÚk.øk#'lKl Rl ]l?gl;§lEãl)m19mMkm8¹m,òm<nX\nµnIÍno0oBIoŒo2 o ÓoÞoùoFpGp"_p‚p‰p$’pM·pJqIPqIšqQäq‹6røÂrß»s>›t;Út™uC°u4ôuv)vx vŒw\¦w\x(`xð‰x5zyž°y¢Oz;òzî.{À}AÞ}> ~k_~6Ë~|¤^$€ƒ€ £€!Ä€†æ€“m‚:‚+A‚,m‚`š‚û‚ƒ@0ƒqƒ zƒ-†ƒ+´ƒ àƒëƒ\ñƒ3N„‚„›„nž„• …f£…Y †d†u† ~†ˆ†¥†Y¨†‡‡ 3‡2=‡p‡v‡”‡™‡  ‡¬‡°‡·‡»‡ćɇч<؇ˆXˆwˆ|ˆ*ˆ¬ˆ°ˆ³ˆ2¸ˆëˆðˆùˆÿˆ‰ ‰&‰-‰4‰7‰!<‰^‰e‰ i‰u‰z‰‰¸¾XÃ;æßI<Üý*{È pDžR–Ò Z9ó^ÑyO/7 å¥ ÏúáÇé±Ú—]êj> B¡Àï\M|¬þ‰§‘"¶“f6Ý£NÂÎÞ½ûˆÊ@'.?šƒk5„™%q&õ «`PØ‹Œ ‡ÓWT´)¨¯w(ö­ÿCâàuiÍKô~zhìG²Õl•aH×¢!J_ ©’ä[oL³#†Æ¦ò…1VíÔùçüŸÖAm¤¿nî€,bY˜eÅ:  0xµëUÐãv‚8dcÌ ºg°3Û»2ðÉs”÷Š›ø¹+QÁèSŽ·ªFœE®=ñÄr}$Ù˼4- t%0.f%% (time left %.2d:%.2d)%s %s%s %s %s%s : Bad checksum on block %llu of type %s.%s : Didn't find rdb block, should never happen.%s : Loop detected at block %d.%s : The %s list seems bad at block %s.%s contains GPT signatures, indicating that it has a GPT table. However, it does not have a valid fake msdos partition table, as it should. Perhaps it was corrupted -- possibly by a program that doesn't understand GPT partition tables. Or perhaps you deleted the GPT table, and are now using an msdos partition table. Is this a GPT partition table?%s disk labels do not support extended partitions.%s disk labels don't support logical or extended partitions.%s during read on %s%s during seek for read on %s%s during seek for write on %s%s during write on %s%s is %dk, but it has %d clusters (%dk).%s is too small for a Mac disk label!%s trying to sync %s to diskA %s %s partition was found at %s -> %s. Do you want to add it to the partition table?ATARAID ControllerAn error occurred during extent relocation.Attempt to write sectors %ld-%ld outside of partition on %s.Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or scandisk.Bad FAT: cluster %d outside file system in chain for %s. You should run dosfsck or scandisk.Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk.Bad blocks could not be read.Bad directory entry for %s: first cluster is the end of file marker.Block %i has no reference? Weird.Both the primary and backup GPT tables are corrupt. Try making a fresh table, and using Parted's rescue feature to recover partitions.BugCOMMANDs:Can't add a logical partition to %s, because there is no extended partition.Can't add another partition -- the partition map is too small!Can't add another partition.Can't copy onto an overlapping partition.Can't create any more partitions.Can't have a logical partition outside of the extended partition on %s.Can't have a partition outside the disk!Can't have a primary partition inside an extended partition.Can't have logical partitions outside of the extended partition.Can't have more than one extended partition on %s.Can't have overlapping partitions.Can't move a partition onto itself. Try using resize, perhaps?Can't move an extended partition.Can't write to %s, because it is opened read-only.CancelChanging the name of a root or swap partition will prevent Linux from recognising it as such.Checksum is wrong, indicating the partition table is corrupt.Cluster start delta = %d, which is not a multiple of the cluster size %d.Compaq Smart ArrayConflicting partition map entry sizes! Entry 1 says it is %d, but entry %d says it is %d!Corrupted Sun disk label detected.Could not detect file system.Could not get identity of device %s - %sCould not stat device %s - %s.Couldn't flush buffer cache!Cross-linked blocks found! Better go run e2fsck first!DAC960 RAID controllerDEVICE is usually /dev/hda or /dev/sda Destination partition number?Direct support for copying file systems is not yet implemented for %s. However, support for resizing is implemented. Therefore, the file system can be copied if the new partition is at least as big as the old one. So, either shrink the partition you are trying to copy, or copy to a bigger partition.EndEnd?ErrorError allocating buffer cache.Error informing the kernel about modifications to partition %s -- %s. This means Linux won't know about any changes you made to %s until you reboot -- so you shouldn't mount it or use it in any way before rebooting.Error initialising SCSI device %s - %sError opening %s: %sError writing to the root directory.Expecting a disk label type.Expecting a file system type.Expecting a partition number.Expecting a partition type.Extended partitions cannot be hidden on msdos disk labels.FAT %d media %x doesn't match the boot sector's media %x. You should probably run scandisk.FAT boot sector says clusters are 0 sectors. This is weird. FAT boot sector says logical sector size is 0. This is weird. FAT boot sector says there are no FAT tables. This is weird. FLAG is one of: FS-TYPE is one of: Failed to write partition block at %d.FatalFile System: %s File systemFile system doesn't have expected sizes for Windows to like it. Cluster size is %dk (%dk expected); number of clusters is %d (%d expected); size of FATs is %d sectors (%d expected).File system full!File system has an invalid cluster size for a FAT file system.File system has an invalid number of FATs.File system has an invalid number of reserved sectors for a FAT file system.File system has an invalid sector size for a FAT file system.File system has an invalid signature for a FAT file system.File system has errors! You should run e2fsck.File system has too many allocated inodes to remove a group!File system is FAT12, which is unsupported.File system is reporting the free space as %d clusters, not %d clusters.File system is too full to remove a group!File system too small for ext2.File system type?File system was not cleanly unmounted! You should run e2fsck.File system was not cleanly unmounted! You should run e2fsck. Modifying an unclean file system could cause severe corruption.FixFlagsFound an inode with a incorrect link count. Better go run e2fsck first!GNU Parted cannot resize this partition to this size. We're working on it!GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT support will be disabled.I2O ControllerIf you convert to FAT16, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual).If you convert to FAT32, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual). Also, converting to FAT32 will make the file system unreadable by MS DOS, MS Windows 95a, and MS Windows NT.If you leave your file system as FAT16, then you will have no problems.If you leave your file system as FAT32, then you will not introduce any new problems.IgnoreInconsistent group descriptors!InformationInvalid partition table - recursive partition on %s.Invalid partition table on %s -- wrong signature %x.Invalid partition table on %s.Invalid signature %x for Mac disk labels.Invalid superblock. Are you sure this is an ext2 file system?LABEL-TYPE is one of: Maximum size: Minimum size: Minor: %d NAME is any word you want NameNew device?New disk label type?New state?NoNo ImplementationNo device foundNo valid partition map found.Not enough free inodes!NumberOKOPTIONs:Only logical partitions can be a boot file.Only primary partitions can be root partitions.Only primary partitions can be swap partitions.Out of memory.PART-TYPE is one of: primary, logical, extended Parted can't resize partitions managed by Windows Dynamic Disk.Partition %d has an invalid length of 0 bytes!Partition %d has an invalid signature %x.Partition %d is %s, but the file system is %s.Partition %d isn't aligned to cylinder boundaries. This is still unsupported.Partition doesn't exist.Partition map has no partition map entry!Partition name?Partition number?Partition too big/small for a %s file system.Partition type?Partition(s) on %s are being used.RetrySTATE is one of: on, off SizeSorry, can't move the start of ext2 partitions yet!Source device?Source partition number?StartStart?Sun disk label is full.Support for checking %s file systems is not implemented yet.Support for copying %s file systems is not implemented yet.Support for creating %s file systems is not implemented yet.Support for opening %s file systems is not implemented yet.Support for resizing %s file systems is not implemented yet.The FATs don't match. If you don't know what this means, then select cancel, run scandisk on the file system, and then come back.The Whole Disk partition is the only available one left. Generally, it is not a good idea to overwrite this partition with a real one. Solaris may not be able to boot without it, and SILO (the sparc boot loader) appreciates it as well.The backup GPT table is not at the end of the disk, as it should be. This might mean that another operating system believes the disk is smaller. Fix, by moving the backup to the end (and removing the old backup)?The boot region doesn't start at the start of the partition.The data region doesn't start at the start of the partition.The disk CHS geometry (%d,%d,%d) reported by the operating system does not match the geometry stored on the disk label (%d,%d,%d).The disk has %d cylinders, which is greater than the maximum of 65536.The disk label describes a disk bigger than %s.The driver descriptor says the physical block size is %d bytes, but Linux says it is %d bytes.The ext2 file system passed a basic check. For a more comprehensive check, use the e2fsck program.The file %s is marked as a system file. This means moving it could cause some programs to stop working.The file system can only be resized to this size by converting to FAT16.The file system can only be resized to this size by converting to FAT32.The file system contains errors.The file system has the 'dir_index' feature enabled. Parted can only resize the file system if it disables this feature. You can enable it later by running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'.The file system is bigger than its volume!The format of the GPT partition table is version %x, which is newer than what Parted can recognise. Please tell us! bug-parted@gnu.orgThe information sector has the wrong signature (%x). Select cancel for now, and send in a bug report. If you're desperate, it's probably safe to ignore.The partition must have one of the following FS-TYPEs: The partition table cannot be re-read. This means you need to reboot before mounting any modified partitions. You also need to reinstall your boot loader before you reboot (which may require mounting modified partitions). It is impossible do both things! So you'll need to boot off a rescue disk, and reinstall your boot loader from the rescue disk. Read section 4 of the Parted User documentation for more information.The partition table on %s cannot be re-read (%s). This means the Hurd knows nothing about any modifications you made. You should reboot your computer before doing anything with %s.The partition's boot region doesn't occupy the entire partition.The partition's data region doesn't occupy the entire partition.The primary GPT table is corrupt, but the backup appears OK, so that will be used.There are no possible configurations for this FAT type.There's not enough room in the root directory for all of the files. Either cancel, or ignore to lose the files.This file system has a logical sector size of %d. GNU Parted is known not to work properly with sector sizes other than 512 bytes.This libparted doesn't have write support for %s. Perhaps it was compiled read-only.Too many bad pages.Too many primary partitionsToo many primary partitions.Trying to move an extent from block Ox%X to block Ox%X, but another one already exists at this position. This should not happen!Trying to register an extent starting at block 0x%X, but another one already exists at this position. You should check the file system!TypeUnable to allocate a bsd disklabel slot.Unable to allocate a partition number.Unable to determine the size of %s (%s).Unable to open %s read-write (%s). %s has been opened read-only.Unable to open %s.Unable to probe store.Unable to satisfy all constraints on the partition.Unit?UnknownUnknown file system type "%s".Unknown partition flag, %d.Using %s WarningWeird block size on device descriptor: %d bytes is not divisible by 512.Weird! There are 2 partitions map entries!Would you like to use FAT32?YesYou need %s of free disk space to shrink this partition to this size. Currently, only %s is free.You should reinstall your boot loader before rebooting. Read section 4 of the Parted User documentation for more information.Your file system has too many occupied inodes to resize it to %i blocks. Sorry.Your file system is too full to resize it to %i blocks. Sorry.adding groupsbootcheckchecking for bad blockscpcp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another partitiondisplays the versiondisplays this help messageextendedfat_table_alloc_cluster: no free clustersfreegrowing file systemhelphiddenhp-servicelbalogicallvmmetadatamkfsmklabelmkpartmkpart PART-TYPE [FS-TYPE] START END make a partitionmkpartfsmkpartfs PART-TYPE FS-TYPE START END make a partition with a file systemmovenamenever prompts for user interventionoffonpaloped_device_new() Unsupported device typeprepprimaryprintquitraidraw block copyingrescueresizermrootsearching for file systemsselectsetshrinkingswapunitwriting per-group metadataProject-Id-Version: GNU parted 1.6.23 Report-Msgid-Bugs-To: bug-parted@gnu.org POT-Creation-Date: 2010-05-28 20:30+0200 PO-Revision-Date: 2005-09-18 20:05+0100 Last-Translator: Vicente E. Llorens Language-Team: Spanish Language: es MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8-bit %0.f%% (tiempo que queda %.2d:%.2d)%s %s%s %s %s%s : Suma de comprobación mala en el bloque %llu de tipo %s.%s : No se encuentra el bloque rdb, nunca debería ocurrir.%s : Bucle detectado en el bloque %d.%s : La lista %s parece mala en el bloque %s.%s contiene firmas GPT, lo cual indica que tiene una tabla GPT. No obstante, no tiene una tabla de particiones msdos de imitación válida, como habría de ser. Quizás esta corrupta -- posiblemente por un programa que no es capaz de enterder las tablas de partición GPT. O quizás borró la tabla GPT y ahora está usando una tabla de particiones msdos. ¿Es esta una tabla de partición GPT?Las etiquetas de disco de %s no soportan particiones extendidas.Las etiquetas de disco %s no soportan particiones extendidas o lógicas.%s durante la lectura en %s%s durante la preparación para lectura en %s%s durante la preparación para escribir en %s%s durante la escritura en %s%s es %dk, pero tiene %d clusters (%dk).¡%s es demasiado pequeño para una etiqueta de disco Mac!%s intentando sincronizar %s al discoHa sido encontrada una partición %s %s en %s -> %s. ¿Quiere añadirla a la tabla de particiones?Controladora ATARAIDOcurrió un error durante la relocalización de la extensión.Se intentaron escribir los sectores %ld-%ld fuera de la partición en %s.FAT incorrecta: el cluster %d tiene enlaces cruzados para %s. Debería ejecutar dosfsck o scandisck.FAT incorrecta: el cluster %d está fuera del sistema de ficheros en la cadena para %s. Debería ejecutar dosfsck o scandisk.FAT incorrecta: cadena no terminada para %s. Debería ejecutar dosfsck o scandisck.No pueden leerse los bloques incorrectos.Entrada de directorio incorrecta para %s: el primer cluster es el final de la marca del fichero.¿El bloque %i no tiene una referencia? Estraño.La tabla primaria y la copia de respaldo GPT están corruptas. Intente crear una tabla actualizada, y utilice la opción de rescate de Parted para reconstruir las particiones.BichoORDENes:No se puede añadir una partición lógica en %s, porque no hay una partición extendida.¡No se puede añadir otra partición -- la tabla de las particiones es demasiado pequeña!No se puede añadir otra partición.No se puede copiar sobre una partición superpuesta.No se puede crear más particiones.No se puede tener una partición lógica fuera de la partición extendida en %s.¡No se puede hacer una partición fuera del disco!No se puede tener una partición primaria dentro de una partición extendida.No se puede tener una partición lógica fuera de la partición extendida.No se puede tener más de una partición extendida en %s.No se puede tener particiones superpuestas.No se puede mover una partición sobre sí misma. ¿Pruebe a usar redimensionar, quizás?No se pueden mover una partición extendida.No se puede escribir en %s, porque está abierto para sólo lectura.CancelarCambiando el nombre de una partición raíz o de intercambio impedirán a Linux de reconocela como tal.La suma de comprobación es incorrecta, lo cual indica que la tabla de particiones está corrupta.El inicio delta del cluster = %d, que no es un múltiplo del tamaño de cluster %d.Estructura Smart de Compaq¡Conflicto en el tamaño de la entrada de la tabla de particiones! ¡La entrada 1 dice que es %d, pero la entrada %d dice que es %d!Se ha detectado una etiqueta de disco Sun corrupta.No se puede detectar el sistema de ficheros.No se puede obtener la identidad del dispositivo %s - %sNo se puede hacer `stat' sobre el dispositivo %s - %s.¡No se pudo vaciar la caché del búfer!¡Se encontraron bloques con referencia cruzada! ¡Mejor ejecutar primero e2fsck!Controladora RAID DAC960DISPOSITIVO es normalmente /dev/hda o /dev/sda ¿Número de la partición de destino?El soporte directo para copiar sistemas de ficheros aún no está implementado para %s. Sin embargo, el soporte para redimensionar está implementado. Por lo tanto, el sistema de ficheros se puede copiar si la nueva partición es por lo menos tan grande como la vieja. Así, o reduce la partición que está intentando copiar o copie en una partición más grande.Fin¿Fin?ErrorError asignando espacio en la caché del búfer.Error al informar el núcleo sobre las modificaciones en la partición %s -- %s. Esto significa que Linux no reconocerá ningún cambio que haya hecho en %s hasta que lo reinicie -- por lo tanto no puede montarla o utilizarla antes de reiniciarla.Error iniciando el dispositivo SCSI %s - %sError al abrir %s: %sError al escribir en el directorio root.Se esperaba un tipo de etiqueta de disco.Se esperaba un tipo de sistema de ficheros.Se esperaba un número de partición.Se esperaba un tipo de partición.No pueden esconderse particiones extendidas en etiquetas de disco msdos.La FAT %d del medio %x no coincide con los sectores de arranque del medio %x. Debería, probablemente, ejecutar scandisk.El sector de arranque de la FAT dice que los clusters tienen 0 sectores. Esto es extraño. El sector de arranque de la FAT dice que el tamaño lógico del sector es 0. Esto es extraño. El sector de arranque de la FAT dice que no hay tablas FAT. Esto es extraño. FLAG es uno de: TIPO-SF es uno de: Fallo al escribir el bloque de la partición en %d.FatalSistema de ficheros: %s Sistema de ficherosEl sistema de ficheros no tiene los tamaños esperados para que los utilize Windows. El tamaño del cluster es %dk (se esperaba %dk); el número de clusters es de %d (se esperaba %d); el tamaño de la FAT es de %d sectores (se esperaba %d).¡Sistema de ficheros lleno!El sistema de ficheros tiene un tamaño de cluster inválido para un sistema de ficheros FAT.El sistema de ficheros tiene un número de FATS inválido.El sistema de ficheros tiene un número inválido de sectores reservados para un sistema de ficheros FAT.El sistema de ficheros tiene un tamaño de sector inválido para un sistema de ficheros FAT.El sistema de ficheros tiene una firma inválida para un sistema de ficheros FAT.¡El sistema de ficheros tiene errores! Debería ejecutar e2fsck.¡El sistema de ficheros tiene demasiados nodos-i asignados para borrar un grupo!El sistema de ficheros es FAT12, el cuál no está soportado.El sistema de ficheros está informando que el espacio libre de clusters es de %d, no de %d clusters.¡El sistema de ficheros está demasiado ocupado para borrar un grupo!Sistema de ficheros demasiado pequeño para ext2.¿Tipo de sistema de ficheros?¡El sistema de ficheros no fue desmontado limpiamente! Debería ejecutar e2fsck.¡El sistema de ficheros no fue desmontado limpiamente! Debería ejecutar e2fsck. Modificar un sistema de ficheros sucio podría causar una corrupción grave.ArreglarBanderasEncontrado un nodo-i con una cuenta de enlace incorrecta. ¡Mejor ejecutar primero e2fsck!GNU Parted no puede redimensionar esta partición a ese tamaño. ¡Estamos trabajando en ello!GNU parted fue mal compilado: el sector de arranque FAT debería ser de 512 bytes. El soporte a FAT será desabilitado.Controladora I20Si convierte a FAT16, y MS Windows está instalado en esa partición, entonces debería re-instalar el cargador de arranque de MS Windows. Si quiere hacer esto, debería consultar el manual de Parted (o el manual de su distribución).Si convierte a FAT32, y MS Windows está instalado en la partición, tiene que re-instalar el cargador de arranque de MS Windows. Si quiere hacerlo, debería consultar el manual de Parted (o el manual de su distribución). También, la conversión a FAT32 hará ilegible el sistema de ficheros para MS DOS, MS Windows 95a y MS Windows NT.Si deja su sistema de ficheros como FAT16, entonces no tendrá problemas.Si deja su sistema de ficheros como FAT32, entonces no tendrá nuevos problemas.Descartar¡Descriptores de grupo inconsistentes!InformaciónTabla de particiones inválida - partición recursiva en %s.Tabla de particiones inválida en %s -- firma errónea %x.Tabla de partición inválida en %s.Firma inválida %x para etiquetas de discos Mac.Superbloque inválido. ¿Está seguro de que este es un sistema de ficheros ext2?TIPO_ETIQUETA es uno de: Tamaño máximo: Tamaño mínimo: Minor: %d NOMBRE es cualquier palabra que quiera Nombre¿Nuevo dispositivo?¿Nuevo tipo de etiqueta de disco?¿Nuevo estado?NoSin ImplementaciónNo se encontró el dispositivoSe encontró una tabla de particiones inválida.¡No hay suficientes nodos-i libres!NumeroDe acuerdoOPCIÓNes:Sólo las particiones lógicas pueden ser un fichero de arranque.Sólo las particiones primarias pueden ser particiones raíz.Sólo las particiones primarias pueden ser particiones de intercambio.No hay memoria.TIPO-PART es uno de: primário, lógico, extendido Parted no puede redimensionar particiones manejadas por Windows Dynamic Disk.¡La partición %d tiene una longitud inválida de 0 bytes!La partición %d tiene una firma inválida %x.La partición %d es %s, pero el sistema de ficheros es de %s.La partición %d no está alineada a los límites del cilindro. Necesita añadirle soporte.La partición no existe.¡La tabla de particiones no tiene una entrada de la tabla de particiones!¿Nombre de la partición?¿Número de la partición?Partición demasiado grande/pequeña para un sistema de ficheros %s.¿Tipo de partición?La(s) partición(es) en %s está(n) siendo usada(s).ReintentarESTADO es uno de: on, off Tamaño¡Disculpe, aún no se puede mover el principio de las particiones ext2!¿Dispositivo de origen?¿Número de la partición de origen?Inicio¿Inicio?La etiqueta de disco Sun está llena.El soporte para comprobar el sistema de ficheros %s aún no está implementado.El soporte para copiar el sistema de ficheros %s aún no está implementado.El soporte para crear el sistema de ficheros %s aún no está implementado.El soporte para abrir el sistema de ficheros %s aún no está implementado.El soporte para redimensionar el sistema de ficheros %s aún no está implementado.Las FATs no son iguales. Si no sabe que significa esto, seleccione cancelar, ejecute scandisk en el sistema de ficheros, y después vuelva.La partición Entera del Disco es la única que queda disponible. Generalmente, no es una buena idea sobrescribir esta partición con una verdadera. Solaris no se puede arrancar sin ella, y SILO (el cargador de arranque de sparc) también la agradece.La copia de la tabla GPT no está al final disco, como debería ser. Esto quiere decir que otro sistema operativo cree que el disco es más pequeño. ¿Lo quiere arreglar moviendo la copia al final (y borrando la copia vieja)?La región de arranque no empieza al principio de la partición.La región de datos no empieza al principio de la partición.La geometría de disco CHS (%d,%d,%d) informado por el sistema operativo no parece coincidir con la geometría guardada en la etiqueta de disco (%d,%d,%d).El disco tiene %d cilindros que son mayores que el máximo de 65536.La etiqueta de disco describe un disco mayor que %s.El descriptor del controlador dice que el tamaño del bloque físico es de %d bytes, pero Linux dice que es de %d bytes.El sistema de ficheros ext2 pasó una comprobación básica. Para una comprobación más a fondo, utilize el programa e2fsck.El fichero %s está marcado como un fichero del sistema. Esto quiere decir que si lo mueve puede ocurrir que algunos programas no funcionen.El sistema de ficheros sólo puede ser redimensionado a este tamaño para convertirlo a FAT16.El sistema de ficheros sólo puede ser redimensionado a este tamaño para convertirlo a FAT32.El sistema de ficheros contiene errores.El sistema de ficheros tiene la opción 'dir_index' habilitada. Parted sólo pude redimensionar el sistema de ficheros si desactiva esta opción. Puede habilitarla después ejecutando 'tune2fs -O dir_index UNIDAD' y luego 'e2fsck -fD UNIDAD'.¡El sistema de ficheros es más grande que su volumen!El formato de la tabla de particiones GPT es la versión %x, el cual es más nuevo que lo que Parted puede reconocer. Por favor, díganoslo a bug-parted@gnu.orgEl sector de información tiene una firma errónea (%x). Seleccione cancelar por ahora, y mande un informe del fallo. Si está desesperado, es más seguro descartar.La partición debe tener uno de los siguientes TIPOS de SF: No se pudo releer la tabla de particiones, por lo tanto es necesario reiniciar antes de montar alguna partición modificada. ¡También necesita reinstalar su cargador de arranque antes de reiniciar (que puede requerir montar las particiones modificadas). ¡Es imposible hacer ambas cosas! Así que necesitará arrancar con un disco de rescate y reinstalar su cargador de arranque desde el disco de rescate. Lea la sección 4 de la documentación del Usuario de Parted para obtener más información.La tabla de particiones en %s no puede ser releida(%s). Esto significa que Hurd (o Linux) no reconocerá las modificaciones que hizo. Debe reiniciar su computadora antes de hacer nada con %s.La región de arranque de la partición no ocupa toda la partición.La región de datos de la partición no ocupa toda la partición.La tabla primaria GPT está corrupta, pero la copia de respaldo parece correcta, por lo tanto se usará esta.No hay configuraciones posibles para este tipo de FAT.No hay espacio suficiente en el directorio root para todos los ficheros. Puede cancelar o descartar perdiendo los ficheros.El sistema de ficheros tiene el tamaño del sector lógico de %d. GNU Parted es conocido por no funcionar adecuadamente con tamaños de sector distintos de 512 bytes.Esta libparted no tiene soporte para escritura en %s. Quizás fue compilada para sólo lectura.Demasiadas páginas incorrectas.Demasiadas particiones primariasDemasiadas particiones primarias.Intentando mover una extensión desde el bloque Ox%X para bloquear Ox%X, pero ya existe otra en esta posición. ¡Esto no debería pasar!Intentando registrar una extensión que empieza en el bloque 0x%X, pero ya existe otra en esta posición. ¡Debería verificar el sistema de ficheros!TypoNo se puede asignar una ranura de la etiqueta de disco bsdNo se puede asignar un número de partición.No se puede determinar el tamaño de %s (%s).No se puede abrir %s en modo lectura-escritura (%s). %s ha sido abierto en modo de sólo lectura.No se puede abrir %s.No se puede probar el guardar.No se pueden satisfacer todas las restricciones en la partición.¿Unidad?DesconocidaTipo de sistema de ficheros "%s" desconocido.Modificador de particiones desconocido, %d.Usando %s AvisoTamaño de bloque extraño en el descriptor del dispositivo: %d bytes no es divisible por 512.¡Extraño! ¡Hay 2 entradas de tabla de particiones!¿Le gustaría usar FAT32?SíNecesita %s de espacio disco libre para reducir esta partición a este tamaño. Actualmente, sólo %s está libre.Debe reinstalar su cargador de arranque antes de reiniciar. Lea la sección 4 de la documentación del Usuario de Parted para obtener más información.Su sistema de ficheros tiene demasiados nodos-i ocupados para redimensionarlo a %i bloques. Disculpe.Su sistema de ficheros está demasiado lleno para redimensionarlo a %i bloques. Disculpe.añadiendo gruposarranquecomprobarcomprobando bloques erroneoscpcp [DESDE-DISPOSITIVO] DE-NUMERO A-NUMERO copia el sistema de ficheros a otra particiónmostrar la versiónmostrar este mensaje de ayudaextendidafat_table_alloc_cluster: no quedan clusters libreslibresistema de ficheros creciendohelpocultautilidad-hplbalógicalvmmetadatamkfsmklabelmkpartmkpart TIPO-PART [TIPO-SF] INICIO FIN crea una particiónmkpartfsmkpartfs TIPO-PART TIPO-SF INICIO FIN crear una partición con un sistema de ficherosmovenameno pedir nunca la intervención del usuariooffonpaloped_device_new() Tipo de dispositivo no soportadoprepprimariaprintquitraidcopiando los bloque en brutorescueresizermraízbuscando los sistemas de ficherosselectsetcontrayendoswapunitescribiendo metadatos por-grupoparted-2.3/po/Rules-quot0000644000000000000000000000340011400002041012120 00000000000000# Special Makefile rules for English message catalogs with quotation marks. DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot .SUFFIXES: .insert-header .po-update-en en@quot.po-create: $(MAKE) en@quot.po-update en@boldquot.po-create: $(MAKE) en@boldquot.po-update en@quot.po-update: en@quot.po-update-en en@boldquot.po-update: en@boldquot.po-update-en .insert-header.po-update-en: @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ ll=`echo $$lang | sed -e 's/@.*//'`; \ LC_ALL=C; export LC_ALL; \ cd $(srcdir); \ if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$lang -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "creation of $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi en@quot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header en@boldquot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header mostlyclean: mostlyclean-quot mostlyclean-quot: rm -f *.insert-header parted-2.3/po/pt_BR.gmo0000644000000000000000000003430411400005705011650 00000000000000Þ•ˆ\µœp q x 2ƒ <¶ ó  & E %[  P” Hå D. s w L Î )ë (?>2~±]¸I`"s–(´Ýü'0X^&}¤$¹\Þ=;?y>¹ø ¶#=Ú;HT¡§Û¶I’UÜ29 Y4e)šÄÛöù 9QT]0l.)Ìö)"9\b3|°<È;<A;~<º‚÷/z^ªH HRš›@6@w7¸ƒðtAˆÊÒHÚ#@~DÃÈÎÑæ) 49>EIQU^ckr{€#…©)¬ÖÞäéîõøý   ›! ¢!6­!Aä!&"%?"%e"‹"/¤"Ô"fè"SO#Y£#ý# $R $#^$,‚$.¯$HÞ$A'%i%Wr%OÊ%&0-&0^&=&5Í&+'/'.G'v'%{'+¡'Í'"á'X(?](C(8á()));)ÉA)A *<M*XŠ*ã* ë*÷*Ü+cä+XH-¡-$©- Î-8Ù-1.D.$Y.~.‚.”./².!â.///. /1O/-/¯/*Æ/0ñ/"0*0;C0!0A¡0Aã0G%1Gm1Hµ1þ11Œ2k¾2_*3_Š3­ê3?˜47Ø455›F5â5Mü5 J6W6Z]6¸6Õ6Ù6i7n7t7w7‡7 ¥7/¯7ß7å7 ê7ô7ø7ÿ78 888 8)8.8!38U83X8Œ8•8›8 8¥8¬8¯8´8»8¿8I5x'ZXk[Tƒ_q-!h=U….†VF^n4„EcNt$Pl€i3b uD#;‚f<rA0 O)?yp+d/}R9KLBoSC*8v :`Qwe‡%gz@Mm,| {a"Y17jsH~ˆ \G6W&2(]J>%s %s%s %s %s%s disk labels do not support extended partitions.%s disk labels don't support logical or extended partitions.%s during read on %s%s during seek for read on %s%s during seek for write on %s%s during write on %s%s is too small for a Mac disk label!ATARAID ControllerBad FAT: cluster %d is cross-linked for %s. You should run dosfsck or scandisk.Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk.Bad directory entry for %s: first cluster is the end of file marker.BugCOMMANDs:Can't add a logical partition to %s, because there is no extended partition.Can't add another partition.Can't copy onto an overlapping partition.Can't have a partition outside the disk!Can't move a partition onto itself. Try using resize, perhaps?Can't write to %s, because it is opened read-only.CancelChanging the name of a root or swap partition will prevent Linux from recognising it as such.Cluster start delta = %d, which is not a multiple of the cluster size %d.Compaq Smart ArrayCorrupted Sun disk label detected.Could not detect file system.Could not get identity of device %s - %sCould not stat device %s - %s.Couldn't flush buffer cache!DAC960 RAID controllerDEVICE is usually /dev/hda or /dev/sda ErrorError allocating buffer cache.Error initialising SCSI device %s - %sError opening %s: %sError writing to the root directory.FAT %d media %x doesn't match the boot sector's media %x. You should probably run scandisk.FAT boot sector says clusters are 0 sectors. This is weird. FAT boot sector says logical sector size is 0. This is weird. FAT boot sector says there are no FAT tables. This is weird. FLAG is one of: FS-TYPE is one of: FatalFile system doesn't have expected sizes for Windows to like it. Cluster size is %dk (%dk expected); number of clusters is %d (%d expected); size of FATs is %d sectors (%d expected).File system has an invalid sector size for a FAT file system.File system has an invalid signature for a FAT file system.File system is reporting the free space as %d clusters, not %d clusters.FixFlagsI2O ControllerIf you convert to FAT16, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual).If you convert to FAT32, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual). Also, converting to FAT32 will make the file system unreadable by MS DOS, MS Windows 95a, and MS Windows NT.If you leave your file system as FAT32, then you will not introduce any new problems.IgnoreInconsistent group descriptors!InformationInvalid partition table - recursive partition on %s.Invalid signature %x for Mac disk labels.LABEL-TYPE is one of: NAME is any word you want NoNo ImplementationNo device foundNo valid partition map found.Not enough free inodes!OKOPTIONs:Out of memory.PART-TYPE is one of: primary, logical, extended Partition %d has an invalid length of 0 bytes!Partition %d has an invalid signature %x.Partition doesn't exist.Partition map has no partition map entry!Partition(s) on %s are being used.RetrySTATE is one of: on, off Sorry, can't move the start of ext2 partitions yet!Sun disk label is full.Support for checking %s file systems is not implemented yet.Support for copying %s file systems is not implemented yet.Support for creating %s file systems is not implemented yet.Support for opening %s file systems is not implemented yet.Support for resizing %s file systems is not implemented yet.The FATs don't match. If you don't know what this means, then select cancel, run scandisk on the file system, and then come back.The disk label describes a disk bigger than %s.The driver descriptor says the physical block size is %d bytes, but Linux says it is %d bytes.The file system can only be resized to this size by converting to FAT16.The file system can only be resized to this size by converting to FAT32.The information sector has the wrong signature (%x). Select cancel for now, and send in a bug report. If you're desperate, it's probably safe to ignore.The partition's boot region doesn't occupy the entire partition.The partition's data region doesn't occupy the entire partition.There are no possible configurations for this FAT type.This file system has a logical sector size of %d. GNU Parted is known not to work properly with sector sizes other than 512 bytes.Too many bad pages.Unable to open %s read-write (%s). %s has been opened read-only.UnknownWarningWeird block size on device descriptor: %d bytes is not divisible by 512.Would you like to use FAT32?YesYou should reinstall your boot loader before rebooting. Read section 4 of the Parted User documentation for more information.bootcheckcpdisplays the versiondisplays this help messageextendedfat_table_alloc_cluster: no free clustersfreehelphiddenlbalogicallvmmetadatamkfsmklabelmkpartmkpartfsmovenamenever prompts for user interventiononped_device_new() Unsupported device typeprimaryprintquitraidresizermrootselectsetswapProject-Id-Version: GNU parted 1.4.21 Report-Msgid-Bugs-To: bug-parted@gnu.org POT-Creation-Date: 2010-05-28 20:30+0200 PO-Revision-Date: 2001-11-21 09:10-0300 Last-Translator: Eliphas Levy Theodoro Language-Team: Brazilian Portuguese Language: pt_BR MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8-bit %s %s%s %s %sRótulos de disco %s não suportam partições extendidas.Rótulos de disco %s não suportam partições lógicas ou extendidas.%s durante leitura em %s%s durante procura para leitura em %s%s durante procura para escrita em %s%s durante escrita em %s%s é muito pequeno para um rótulo de disco Mac!Controlador ATARAIDFAT ruim: o cluster %d tem uma referência cruzada para %s. Você deveria rodar o dosfsck ou o scandisk.FAT ruim: cadeia não terminada para %s. Você deveria rodar o dosfsck ou o scandisk.Entrada de diretório inválida para %s: o primeiro cluster é o fim do marcador de arquivo.BugCOMANDOs:Não posso adicionar uma partição lógica em %s, pois não há uma partição extendida.Não posso adicionar outra partição.Não posso copiar em uma partição sobreposta.Não pode ter uma partição para fora do disco!.Não posso mover a partição sobre ela mesma. Talvez queira redimensionar?Não posso gravar em %s, pois ela foi aberta como somente-leitura.CancelarMudar o nome de uma partição root ou swap irá impedir o Linux de reconhecê-la como tal.O cluster inicia em delta = %d, que não é um múltiplo do tamanho de cluster %d.Compaq Smart ArrayUm rótulo de disco Sun corrompido foi detectado.Não foi possível detectar o sistema de arquivos.Não foi possível obter a identificação do dispositivo %s - %sNão foi possível obter status do dispositivo %s - %s.Não foi possível esvaziar cache temporário!Controlador RAID DAC960DISPOSITIVO é usualmente /dev/hda ou /dev/sda ErroErro determinando o cache temporário.Erro inicializando dispositivo SCSI %s - %sErro abrindo %s: %sErro escrevendo no diretório raiz.FAT %d mídia %x não bate com o setor de boot mídia %x. Você deveria executar o scandisk.Setor de boot FAT diz que os clusters têm 0 setores. Estranho. Setor de boot FAT diz que o tamanho lógico do setor é 0. Estranho. Setor de boot FAT diz que não há tabelas FAT. Estranho. FLAG é um de: TIPO-FS é um de: FatalO sistema de arquivos não tem o tamanho esperado para que o Windows utilize. O tamanho do cluster é %dk (%dk esperado); número de clusters é %d (%d esperado); tamanho da FAT é %d setores (%d esperado).Sistema de arquivos tem um tamanho de setor inválido para um FAT.Sistema de arquivos tem uma assinatura inválida para um FAT.O sistema de arquivos está reportando que o espaço livre é %d clusters, não %d clusters.ArrumarSinalizadorControlador I2OSe você converter para FAT16, e o MS Windows está instalado nesta partição, você deverá reinstalar o gerenciador de boot do MS Windows. Se quiser fazer isso, consulte o manual do Parted (ou o manual de sua distribuição).Se você converter para FAT32, e o MS Windows está instalado nesta partição, você deverá reinstalar o gerenciador de boot do MS Windows. Se quiser fazer isso, consulte o manual do Parted (ou o manual de sua distribuição). Também, convertendo para FAT32 fará com que o sistema de arquivos não seja mais reconhecido pelo MS DOS, Windows 95a, e MS Windows NT.Se deixar seu sistema de arquivos como FAT32, você não criará mais nenhum problema novo.IgnorarDescritores de grupo inconsistentes!InformaçãoTabela de partições inválida - partição recursiva em %s.Assinatura inválida %x para rótulos de disco Mac.TIPO_ROTULO é um de:NAME é qualquer palavra que desejar NãoSem ImplementaçãoNenhum dispositivo encontradoNenhum mapa de partições válido foi encontrado.Não há inodes livres suficientes!OKOPÇÕESs:Não há memória.TIPO-PART é um de: primary, logical, extended A partição %d tem um tamanho inválido de 0 bytes!A partição %d tem uma assinatura inválida %x.A partição não existe.Mapa de partições não tem nenhuma entrada!Partição(ões) em %s está(ão) sendo utilizada(s).RepetirESTADO é um de: on, off Desculpe, não posso mover o início de partições ext2 ainda!O rótulo de disco Sun está cheio.Suporte para checar sistema de arquivos não implementado para %s.Suporte para copiar sistema de arquivos não implementado para %s.O suporte para criar sistema de arquivos %s não foi implementado ainda.O suporte para abrir sistema de arquivos %s não foi implementado ainda.Suporte para redimensionar sistema de arquivos não implementado para %s.As FATs não estão iguais. Se você não sabe o que isto significa, selecione cancelar, execute o scandisk no sistema de arquivos, depois volte.O rótulo de disco descreve um disco maior que %s.O descritor do driver informa que o tamanho físico de bloco é %d bytes, mas o Linux informa que é %d bytes.O sistema de arquivos só pode ser redimensionado para este tamanho sendo convertido para FAT16.O sistema de arquivos só pode ser redimensionado para este tamanho sendo convertido para FAT32.O setor de informações tem uma assinatura inválida (%x). Selecione cancelar agora, e mande um relatório de bug. Se você está desesperado, é provável que seja seguro ignorar.A região de inicialização da partição não a ocupa inteiramente.A região de dados da partição não a ocupa inteiramente.Não há configurações possíveis para este tipo de FAT.Este sistema de arquivos tem um tamanho de setor lógico de %d. O GNU Parted é conhecido por não funcionar corretamente com setores diferentes de 512 bytes.Muitas páginas inválidas.Não posso abrir %s para leitura-gravação (%s). %s foi aberto somente-leitura.DesconhecidoAvisotamanho de bloco estranho no descritor de dispositivo: %d bytes não sãodivisíveis por 512.Você gostaria de usar FAT32?SimVocê deve reinstalar seu gerenciador de boot antes de reinicializar. Leia a seção 4 da documentação do usuário do Parted para mais informações.bootcheckcpmostra a versãomostra esta mensagem de ajudaextendidafat_table_alloc_cluster: não há clusters livreslivrehelpescondidalbalógicalvmmetadadomkfsmklabelmkpartmkpartfsmovenamenunca pede intervenção do usuárioonped_device_new() Tipo de dispositivo não suportadoprimáriaprintquitraidresizermrootselectsetswapparted-2.3/po/cs.po0000644000000000000000000033333611400005704011111 00000000000000# Czech translation of parted. # Copyright (C) 2003, 2007 Miloslav Trmac # Miloslav Trmac , 2003, 2007. # msgid "" msgstr "" "Project-Id-Version: parted 1.8.8\n" "Report-Msgid-Bugs-To: bug-parted@gnu.org\n" "POT-Creation-Date: 2010-05-28 20:30+0200\n" "PO-Revision-Date: 2007-09-11 14:02+0200\n" "Last-Translator: Miloslav Trmac \n" "Language-Team: Czech \n" "Language: cs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: lib/argmatch.c:133 #, fuzzy, c-format msgid "invalid argument %s for %s" msgstr "neplatný token: %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "" #: lib/argmatch.c:153 #, fuzzy, c-format msgid "Valid arguments are:" msgstr "neplatný token: %s" #: lib/closeout.c:112 libparted/labels/fdasd.c:107 msgid "write error" msgstr "chyba pÅ™i zápisu" #: lib/error.c:181 msgid "Unknown system error" msgstr "Neznámá chyba systému" #: lib/getopt.c:527 lib/getopt.c:543 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous\n" msgstr "%s: pÅ™epínaÄ `%s' není jednoznaÄný\n" #: lib/getopt.c:576 lib/getopt.c:580 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: pÅ™epínaÄ `--%s' nepovoluje parametr\n" #: lib/getopt.c:589 lib/getopt.c:594 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: pÅ™epínaÄ `%c%s' nepovoluje parametr\n" #: lib/getopt.c:637 lib/getopt.c:656 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: pÅ™epínaÄ `%s' vyžaduje parametr\n" #: lib/getopt.c:694 lib/getopt.c:697 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: neznámý pÅ™epínaÄ `--%s'\n" #: lib/getopt.c:705 lib/getopt.c:708 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: neznámý pÅ™epínaÄ `%c%s'\n" #: lib/getopt.c:757 lib/getopt.c:760 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: neplatný pÅ™epínaÄ -- %c\n" #: lib/getopt.c:810 lib/getopt.c:827 lib/getopt.c:1035 lib/getopt.c:1053 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: pÅ™epínaÄ vyžaduje parametr -- %c\n" #: lib/getopt.c:883 lib/getopt.c:899 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: pÅ™epínaÄ `-W %s' není jednoznaÄný\n" #: lib/getopt.c:923 lib/getopt.c:941 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: pÅ™epínaÄ `-W %s' nepovoluje parametr\n" #: lib/getopt.c:962 lib/getopt.c:980 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: pÅ™epínaÄ `%s' vyžaduje parametr\n" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". If the catalog has no translation, #. locale_quoting_style quotes `like this', and #. clocale_quoting_style quotes "like this". #. #. For example, an American English Unicode locale should #. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and #. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION #. MARK). A British English Unicode locale should instead #. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) #. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. #. #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. #: lib/quotearg.c:272 msgid "`" msgstr "„" #: lib/quotearg.c:273 msgid "'" msgstr "â€" #: lib/regcomp.c:134 msgid "Success" msgstr "ÚspÄ›ch" #: lib/regcomp.c:137 msgid "No match" msgstr "Žádný výskyt" #: lib/regcomp.c:140 msgid "Invalid regular expression" msgstr "Neplatný regulární výraz" #: lib/regcomp.c:143 msgid "Invalid collation character" msgstr "Neplatný Å™adicí znak" #: lib/regcomp.c:146 msgid "Invalid character class name" msgstr "Neplatný název třídy znaků" #: lib/regcomp.c:149 msgid "Trailing backslash" msgstr "Koncové zpÄ›tné lomítko" #: lib/regcomp.c:152 msgid "Invalid back reference" msgstr "Neplatný odkaz zpÄ›t" #: lib/regcomp.c:155 msgid "Unmatched [ or [^" msgstr "Nepárová [ nebo [^" #: lib/regcomp.c:158 msgid "Unmatched ( or \\(" msgstr "Nepárová ( nebo \\(" #: lib/regcomp.c:161 msgid "Unmatched \\{" msgstr "Nepárová \\{" #: lib/regcomp.c:164 msgid "Invalid content of \\{\\}" msgstr "Neplatný obsah \\{\\}" #: lib/regcomp.c:167 msgid "Invalid range end" msgstr "Neplatný konec rozsahu" #: lib/regcomp.c:170 msgid "Memory exhausted" msgstr "DoÅ¡la paměť" #: lib/regcomp.c:173 msgid "Invalid preceding regular expression" msgstr "Neplatný pÅ™edchozí regulární výraz" #: lib/regcomp.c:176 msgid "Premature end of regular expression" msgstr "PÅ™edÄasný konec regulárního výrazu" #: lib/regcomp.c:179 msgid "Regular expression too big" msgstr "Regulární výraz je příliÅ¡ velký" #: lib/regcomp.c:182 msgid "Unmatched ) or \\)" msgstr "Nepárová ) nebo \\)" #: lib/regcomp.c:703 msgid "No previous regular expression" msgstr "Žádný pÅ™edchozí regulární výraz" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[aA]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nN]" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "©" #: lib/version-etc.c:86 #, fuzzy msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "License GPLv3+: GNU GPL verze 3 nebo novÄ›jší \n" "Toto je free software: můžete je mÄ›nit a dále šířit.\n" "Není poskytována ŽÃDNà ZÃRUKA, v rozsahu povoleném zákonem.\n" "\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Napsal(a) %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Napsali %s a %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Napsali %s, %s a %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "Napsali %s, %s, %s\n" "a %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Napsali %s, %s, %s,\n" "%s a %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Napsali %s, %s, %s,\n" "%s, %s a %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Napsali %s, %s, %s,\n" "%s, %s, %s a %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Napsali %s, %s, %s,\n" "%s, %s, %s, %s\n" "a %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Napsali %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s a %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Napsali %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s a další.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, fuzzy, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Chyby hlaste na <%s>.\n" #: lib/version-etc.c:247 #, fuzzy, c-format msgid "Report %s bugs to: %s\n" msgstr "" "\n" "Chyby hlaste na <%s>.\n" #: lib/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "" #: lib/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "" #: lib/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" #: lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "doÅ¡la paměť" #: lib/xstrtol-error.c:63 #, fuzzy, c-format msgid "invalid %s%s argument `%s'" msgstr "neplatný token: %s" #: lib/xstrtol-error.c:68 #, fuzzy, c-format msgid "invalid suffix in %s%s argument `%s'" msgstr "neplatný token: %s" #: lib/xstrtol-error.c:72 #, fuzzy, c-format msgid "%s%s argument `%s' too large" msgstr "neplatný token: %s" #: libparted/arch/beos.c:245 msgid "Disk Image" msgstr "Obraz disku" #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277 #: libparted/arch/linux.c:1519 #, c-format msgid "Error opening %s: %s" msgstr "Chyba pÅ™i otevírání %s: %s" #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287 #: libparted/arch/linux.c:1530 #, c-format msgid "Unable to open %s read-write (%s). %s has been opened read-only." msgstr "" "Nemohu otevřít %s pro Ätení/zápis (%s). %s bylo otevÅ™eno jen pro Ätení." #: libparted/arch/beos.c:419 libparted/arch/linux.c:1688 #, c-format msgid "%s during seek for read on %s" msgstr "%s pÅ™i seek pro Ätení %s" #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564 #: libparted/arch/gnu.c:692 libparted/arch/linux.c:1648 #: libparted/arch/linux.c:1729 #, c-format msgid "%s during read on %s" msgstr "%s pÅ™i Ätení %s" #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525 #: libparted/arch/linux.c:1805 #, c-format msgid "Can't write to %s, because it is opened read-only." msgstr "Nemohu zapisovat na %s, protože je otevÅ™en jen pro Ätení." #: libparted/arch/beos.c:504 libparted/arch/linux.c:1830 #, c-format msgid "%s during seek for write on %s" msgstr "%s pÅ™i seek pro zápis na %s" #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646 #: libparted/arch/gnu.c:723 libparted/arch/linux.c:1778 #: libparted/arch/linux.c:1872 libparted/arch/linux.c:1944 #, c-format msgid "%s during write on %s" msgstr "%s pÅ™i zápisu na %s" #: debug/clearfat/clearfat.c:62 partprobe/partprobe.c:137 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Pro více informací zkuste `%s --help'.\n" #: debug/clearfat/clearfat.c:66 #, c-format msgid "" "Usage: %s [OPTION]\n" " or: %s DEVICE MINOR\n" msgstr "" "Použití: %s [PŘEPÃNAÄŒ]\n" " nebo: %s ZAŘÃZENà MINOR\n" #: debug/clearfat/clearfat.c:69 msgid "" "Clear unused space on a FAT partition (a GNU Parted testing tool).\n" "\n" msgstr "" "Vymazat nepoužívané místo na oddílu FAT (nástroj pro testování GNU Parted).\n" "\n" #: debug/clearfat/clearfat.c:73 msgid " --help display this help and exit\n" msgstr " --help zobrazit tuto nápovÄ›du a skonÄit\n" #: debug/clearfat/clearfat.c:74 msgid " --version output version information and exit\n" msgstr " --version vypsat informace o verzi a skonÄit\n" #: debug/clearfat/clearfat.c:76 partprobe/partprobe.c:154 #, c-format msgid "" "\n" "Report bugs to <%s>.\n" msgstr "" "\n" "Chyby hlaste na <%s>.\n" #: debug/clearfat/clearfat.c:284 #, c-format msgid "too few arguments" msgstr "příliÅ¡ málo parametrů" #: debug/clearfat/clearfat.c:289 #, c-format msgid "too many arguments" msgstr "příliÅ¡ mnoho parametrů" #: debug/clearfat/clearfat.c:297 #, fuzzy, c-format msgid "invalid minor device number: %s" msgstr "neplatný token: %s" #: partprobe/partprobe.c:141 #, c-format msgid "Usage: %s [OPTION] [DEVICE]...\n" msgstr "použití: %s [PŘEPÃNAÄŒ] [ZAŘÃZENÃ]...\n" #: partprobe/partprobe.c:142 msgid "" "Inform the operating system about partition table changes.\n" "\n" " -d, --dry-run do not actually inform the operating system\n" " -s, --summary print a summary of contents\n" " -h, --help display this help and exit\n" " -v, --version output version information and exit\n" msgstr "" "Informovat operaÄní systém o zmÄ›nách tabulky oddílů.\n" "\n" " -d, --dry-run ve skuteÄnosti operaÄní systém neinformovat\n" " -s, --summary vypsat souhrn obsahu\n" " -h, --help zobrazit tuto nápovÄ›du a skonÄit\n" " -v, --version vypsat informace o verzi a skonÄit\n" #: partprobe/partprobe.c:150 msgid "" "\n" "When no DEVICE is given, probe all partitions.\n" msgstr "" "\n" "Když není zadáno ZAŘÃZENÃ, prozkoumat vÅ¡echny oddíly.\n" #: libparted/arch/gnu.c:110 #, c-format msgid "Unable to open %s." msgstr "Nemohu otevřít %s." #: libparted/arch/gnu.c:130 msgid "Unable to probe store." msgstr "Nemohu prozkoumat úložný prostor." #: libparted/arch/gnu.c:368 msgid "" "The partition table cannot be re-read. This means you need to reboot before " "mounting any modified partitions. You also need to reinstall your boot " "loader before you reboot (which may require mounting modified partitions). " "It is impossible do both things! So you'll need to boot off a rescue disk, " "and reinstall your boot loader from the rescue disk. Read section 4 of the " "Parted User documentation for more information." msgstr "" "Nebylo možné znovu naÄíst tabulku oddílů. To znamená, že budete muset pÅ™ed " "pÅ™ipojením zmÄ›nÄ›ných oddílů restartovat poÄítaÄ. Také musíte pÅ™ed restartem " "reinstalovat svůj zavadÄ›Ä systému (což může vyžadovat pÅ™ipojení zmÄ›nÄ›ných " "oddílů). Nelze provést obojí! Takže budete muset zavést systém ze " "záchranného disku a reinstalovat svůj zavadÄ›Ä systému odtud. Pro více " "informací si pÅ™eÄtÄ›te oddíl 4 Uživatelské dokumentace Parted." #: libparted/arch/gnu.c:385 #, c-format msgid "" "The partition table on %s cannot be re-read (%s). This means the Hurd knows " "nothing about any modifications you made. You should reboot your computer " "before doing anything with %s." msgstr "" "Tabulku oddílů na %s nelze znovu naÄíst (%s). To znamená, že Hurd neví nic o " "zmÄ›nách, které jste provedli. Než budete cokoli dÄ›lat s %s, mÄ›li byste " "restartovat svůj poÄítaÄ." #: libparted/arch/gnu.c:396 parted/parted.c:2719 msgid "" "You should reinstall your boot loader before rebooting. Read section 4 of " "the Parted User documentation for more information." msgstr "" "PÅ™ed restartem byste mÄ›li reinstalovat svůj zavadÄ›Ä systému. Pro více " "informací si pÅ™eÄtÄ›te oddíl 4 Uživatelské dokumentace Parted." #: libparted/arch/gnu.c:788 #, c-format msgid "%s trying to sync %s to disk" msgstr "%s pÅ™i pokusu sync %s na disk" #: libparted/arch/linux.c:509 #, c-format msgid "Could not stat device %s - %s." msgstr "Nemohu stat zařízení %s - %s." #: libparted/arch/linux.c:566 #, fuzzy, c-format msgid "Unable to determine the dm type of %s." msgstr "Nemohu urÄit velikost %s (%s)." #: libparted/arch/linux.c:658 #, fuzzy, c-format msgid "" "Could not determine sector size for %s: %s.\n" "Using the default sector size (%lld)." msgstr "" "Nemohu zjistit velikost sektoru pro %s: %s.\n" "Používám implicitní velikost sektoru (%lld)." #: libparted/arch/linux.c:679 #, fuzzy, c-format msgid "" "Could not determine physical sector size for %s.\n" "Using the logical sector size (%lld)." msgstr "" "Nemohu zjistit velikost sektoru pro %s: %s.\n" "Používám implicitní velikost sektoru (%lld)." #: libparted/arch/linux.c:728 #, c-format msgid "Unable to determine the size of %s (%s)." msgstr "Nemohu urÄit velikost %s (%s)." #: libparted/arch/linux.c:814 #, c-format msgid "Could not get identity of device %s - %s" msgstr "Nemohu získat identitu zařízení %s - %s" #: libparted/arch/linux.c:823 msgid "Generic IDE" msgstr "Obecné IDE" #: libparted/arch/linux.c:844 #, c-format msgid "" "Device %s has multiple (%d) logical sectors per physical sector.\n" "GNU Parted supports this EXPERIMENTALLY for some special disk label/file " "system combinations, e.g. GPT and ext2/3.\n" "Please consult the web site for up-to-date information." msgstr "" "Zařízení %s má nÄ›kolik (%d) logických sektorů na fyzický sektor.\n" "GNU Parted to EXPERIMENTÃLNÄš podporuje pro nÄ›které konkrétní kombinace " "jmenovky disku/systému souborů, napÅ™. GPT a ext2/3.\n" "Pro aktuální informace prosím navÅ¡tivte WWW server." #: libparted/arch/linux.c:1019 #, c-format msgid "Error initialising SCSI device %s - %s" msgstr "Chyba pÅ™i inicializaci zařízení SCSI %s - %s" #: libparted/arch/linux.c:1083 #, c-format msgid "" "The device %s has zero length, and can't possibly store a file system or " "partition table. Perhaps you selected the wrong device?" msgstr "" "Zařízení %s má nulovou délku a nemůže obsahovat systém souborů nebo tabulku " "oddílů. Možná jste vybrali Å¡patné zařízení?" #: libparted/arch/linux.c:1190 #, c-format msgid "" "Unable to determine geometry of file/device %s. You should not use Parted " "unless you REALLY know what you're doing!" msgstr "" "Nemohu urÄit geometrii souboru/zařízení %s. NemÄ›li byste používat Parted, " "pokud OPRAVDU nevíte, co dÄ›láte!" #: libparted/arch/linux.c:1250 msgid "Generic SD/MMC Storage Card" msgstr "" #: libparted/arch/linux.c:1303 msgid "DAC960 RAID controller" msgstr "ŘadiÄ RAID DAC960" #: libparted/arch/linux.c:1308 msgid "Promise SX8 SATA Device" msgstr "Zařízení Promise SX8 SATA" #: libparted/arch/linux.c:1313 msgid "ATA over Ethernet Device" msgstr "" #: libparted/arch/linux.c:1319 msgid "IBM S390 DASD drive" msgstr "Disk IBM S390 DASD" #: libparted/arch/linux.c:1325 msgid "IBM iSeries Virtual DASD" msgstr "Virtuální DASD IBM iSeries" #: libparted/arch/linux.c:1330 msgid "Compaq Smart Array" msgstr "Compaq Smart Array" #: libparted/arch/linux.c:1335 msgid "ATARAID Controller" msgstr "ŘadiÄ ATARAID" #: libparted/arch/linux.c:1340 msgid "I2O Controller" msgstr "ŘadiÄ I2O" #: libparted/arch/linux.c:1345 msgid "User-Mode Linux UBD" msgstr "UBD User-mode Linuxu" #: libparted/arch/linux.c:1358 #, fuzzy, c-format msgid "Linux device-mapper (%s)" msgstr "Linux device-mapper" #: libparted/arch/linux.c:1369 msgid "Xen Virtual Block Device" msgstr "Virtuální blokové zařízení Xenu" #: libparted/arch/linux.c:1374 msgid "Unknown" msgstr "Neznámý" #: libparted/arch/linux.c:1383 #, fuzzy msgid "Virtio Block Device" msgstr "Virtuální blokové zařízení Xenu" #: libparted/arch/linux.c:1388 msgid "Linux Software RAID Array" msgstr "" #: libparted/arch/linux.c:1395 msgid "ped_device_new() Unsupported device type" msgstr "ped_device_new() Nepodporovaný typ zařízení" #: libparted/arch/linux.c:1492 libparted/arch/linux.c:1564 #, fuzzy, c-format msgid "Error fsyncing/closing %s: %s" msgstr "Chyba pÅ™i otevírání %s: %s" #: libparted/arch/linux.c:1728 #, c-format msgid "end of file while reading %s" msgstr "" #: libparted/arch/linux.c:2365 #, c-format msgid "" "Error informing the kernel about modifications to partition %s -- %s. This " "means Linux won't know about any changes you made to %s until you reboot -- " "so you shouldn't mount it or use it in any way before rebooting." msgstr "" "Chyba pÅ™i informování jádra o zmÄ›nách oddílu %s — %s. To znamená, že Linux " "nebude vÄ›dÄ›t o zmÄ›nách, které provedli na %s, dokud nerestartujete systém — " "takže byste jej nemÄ›li pÅ™ipojovat nebo jej pÅ™ed restartem jakkoli používat." #: libparted/arch/linux.c:2503 #, fuzzy, c-format msgid "Unable to determine the size and length of %s." msgstr "Nemohu urÄit velikost %s (%s)." #: libparted/arch/linux.c:2528 #, fuzzy, c-format msgid "Failed to add partition %d (%s)" msgstr "%s : NemohuÄíst blok oddílu %llu\n" #: libparted/arch/linux.c:2555 #, c-format msgid "" "Partition(s) %s on %s have been written, but we have been unable to inform " "the kernel of the change, probably because it/they are in use. As a result, " "the old partition(s) will remain in use. You should reboot now before " "making further changes." msgstr "" #: libparted/arch/linux.c:2681 #, c-format msgid "" "parted was unable to re-read the partition table on %s (%s). This means " "Linux won't know anything about the modifications you made. " msgstr "" "parted nemohl znovu naÄíst tabulku oddílů na %s (%s). To znamená, že Linux " "nebude vÄ›dÄ›t nic o zmÄ›nách, které jste provedli." #: libparted/cs/geom.c:162 #, fuzzy, c-format msgid "Can't have the end before the start! (start sector=%jd length=%jd)" msgstr "Nemohu mít konec pÅ™ed zaÄátkem!" #: libparted/cs/geom.c:170 msgid "Can't have a partition outside the disk!" msgstr "Nemohu mít oddíl mimo disk!" #: libparted/cs/geom.c:385 #, c-format msgid "Attempt to write sectors %ld-%ld outside of partition on %s." msgstr "Pokus zapisovat sektory %ld-%ld mimo oddíl na %s." #: libparted/cs/geom.c:425 libparted/fs/linux_swap/linux_swap.c:488 msgid "checking for bad blocks" msgstr "hledám Å¡patné bloky" #: libparted/debug.c:97 #, c-format msgid "Backtrace has %d calls on stack:\n" msgstr "Backtrace má na zásobníku %d volání:\n" #: libparted/debug.c:110 #, c-format msgid "Assertion (%s) at %s:%d in function %s() failed." msgstr "Tvrzení (%s) na %s:%d ve funkci %s() selhalo." #: libparted/disk.c:193 #, c-format msgid "%s: unrecognised disk label" msgstr "%s: neznámá jmenovka disku" #: libparted/disk.c:486 #, c-format msgid "" "This libparted doesn't have write support for %s. Perhaps it was compiled " "read-only." msgstr "" "Tato libparted nemá podporu pro zápis pro %s. Možná byla pÅ™eložena jen pro " "Ätení." #: libparted/disk.c:631 #, c-format msgid "Partition %d is %s, but the file system is %s." msgstr "Oddíl %d je %s, ale systém souborů je %s." #: libparted/disk.c:841 msgid "cylinder_alignment" msgstr "" #: libparted/disk.c:847 #, fuzzy, c-format msgid "Unknown disk flag, %d." msgstr "Neznámý příznak oddílu, %d." #: libparted/disk.c:1286 #, c-format msgid "%s disk labels do not support extended partitions." msgstr "Jmenovky disku %s nepodporují rozšířené oddíly." #: libparted/disk.c:1865 #, c-format msgid "%s disk labels don't support logical or extended partitions." msgstr "Jmenovky disku %s nepodporují logické nebo rozšířené oddíly." #: libparted/disk.c:1878 msgid "Too many primary partitions." msgstr "PříliÅ¡ mnoho primárních oddílů." #: libparted/disk.c:1887 #, c-format msgid "" "Can't add a logical partition to %s, because there is no extended partition." msgstr "Nemohu pÅ™idat logický oddíl do %s, protože neexistuje rozšířený oddíl." #: libparted/disk.c:1911 #, c-format msgid "Can't have more than one extended partition on %s." msgstr "Nemohu mít více než jeden rozšířený oddíl na %s." #: libparted/disk.c:1921 msgid "Can't have logical partitions outside of the extended partition." msgstr "Nemohu mít logické oddíly mimo rozšířený oddíl." #: libparted/disk.c:1946 #, c-format msgid "Can't have a logical partition outside of the extended partition on %s." msgstr "Nemohu mít logický oddíl mimo rozšířený oddíl na %s." #: libparted/disk.c:1956 libparted/disk.c:2015 libparted/disk.c:2193 msgid "Can't have overlapping partitions." msgstr "Nemohu mít pÅ™ekrývající se oddíly." #: libparted/disk.c:1964 msgid "Can't have a primary partition inside an extended partition." msgstr "Nemohu mít primární oddíl uvnitÅ™ rozšířeného oddílu." #: libparted/disk.c:2395 msgid "metadata" msgstr "metadata" #: libparted/disk.c:2397 msgid "free" msgstr "volné" #: libparted/disk.c:2399 parted/ui.c:1193 parted/ui.c:1221 msgid "extended" msgstr "rozšířený" #: libparted/disk.c:2401 parted/ui.c:1197 parted/ui.c:1225 msgid "logical" msgstr "logický" #: libparted/disk.c:2403 parted/ui.c:1189 parted/ui.c:1217 msgid "primary" msgstr "primární" #: libparted/disk.c:2419 msgid "boot" msgstr "boot" #: libparted/disk.c:2421 msgid "bios_grub" msgstr "" #: libparted/disk.c:2423 msgid "root" msgstr "root" #: libparted/disk.c:2425 msgid "swap" msgstr "swap" #: libparted/disk.c:2427 msgid "hidden" msgstr "skrytý" #: libparted/disk.c:2429 msgid "raid" msgstr "raid" #: libparted/disk.c:2431 msgid "lvm" msgstr "lvm" #: libparted/disk.c:2433 msgid "lba" msgstr "lba" #: libparted/disk.c:2435 msgid "hp-service" msgstr "hp-service" #: libparted/disk.c:2437 msgid "palo" msgstr "palo" #: libparted/disk.c:2439 msgid "prep" msgstr "prep" #: libparted/disk.c:2441 msgid "msftres" msgstr "msftres" #: libparted/disk.c:2443 msgid "atvrecv" msgstr "" #: libparted/disk.c:2445 msgid "diag" msgstr "" #: libparted/disk.c:2451 #, c-format msgid "Unknown partition flag, %d." msgstr "Neznámý příznak oddílu, %d." #: libparted/exception.c:77 msgid "Information" msgstr "Informace" #: libparted/exception.c:78 msgid "Warning" msgstr "Varování" #: libparted/exception.c:79 msgid "Error" msgstr "Chyba" #: libparted/exception.c:80 msgid "Fatal" msgstr "Fatální" #: libparted/exception.c:81 msgid "Bug" msgstr "Chyba" #: libparted/exception.c:82 msgid "No Implementation" msgstr "Neimplementováno" #: libparted/exception.c:86 msgid "Fix" msgstr "Opravit" #: libparted/exception.c:87 msgid "Yes" msgstr "Ano" #: libparted/exception.c:88 msgid "No" msgstr "Ne" #: libparted/exception.c:89 msgid "OK" msgstr "OK" #: libparted/exception.c:90 msgid "Retry" msgstr "Znovu" #: libparted/exception.c:91 msgid "Ignore" msgstr "Ignorovat" #: libparted/exception.c:92 msgid "Cancel" msgstr "ZruÅ¡it" #: libparted/exception.c:132 #, fuzzy, c-format msgid "" "A bug has been detected in GNU Parted. Refer to the web site of parted " "http://www.gnu.org/software/parted/parted.html for more information of what " "could be useful for bug submitting! Please email a bug report to bug-" "parted@gnu.org containing at least the version (%s) and the following " "message: " msgstr "" "Byla detekována chyba v GNU parted. Pro více informací o tom, co je užiteÄné " "pÅ™i hlášení chyb, viz WWW server partedu http://www.gnu.org/software/parted/" "parted.html! PoÅ¡lete prosím e-mailem hlášení o chybÄ› na bug-parted@gnu.org " "obsahující alespoň verzi (%s) a následující zprávu:" #: libparted/filesys.c:462 msgid "Could not detect file system." msgstr "Nemohu detekovat systém souborů." #: libparted/filesys.c:473 msgid "The file system is bigger than its volume!" msgstr "Systém souborů je vÄ›tší než jeho obsah!" #: libparted/filesys.c:481 #, c-format msgid "Support for opening %s file systems is not implemented yet." msgstr "" "Podpora pro otevírání souborových systémů %s jeÅ¡tÄ› není implementována." #: libparted/filesys.c:523 #, c-format msgid "Support for creating %s file systems is not implemented yet." msgstr "" "Podpora pro vytváření souborových systémů %s jeÅ¡tÄ› není implementována." #: libparted/filesys.c:583 #, c-format msgid "Support for checking %s file systems is not implemented yet." msgstr "Podpora pro kontrolu souborových systémů %s jeÅ¡tÄ› není implementována." #: libparted/filesys.c:649 msgid "raw block copying" msgstr "přímé kopírování bloků" #: libparted/filesys.c:660 msgid "growing file system" msgstr "zvÄ›tÅ¡ování systému souborů" #: libparted/filesys.c:700 msgid "Can't copy onto an overlapping partition." msgstr "Nemohu kopírovat do pÅ™ekrývajícího se oddílu." #: libparted/filesys.c:722 #, c-format msgid "" "Direct support for copying file systems is not yet implemented for %s. " "However, support for resizing is implemented. Therefore, the file system " "can be copied if the new partition is at least as big as the old one. So, " "either shrink the partition you are trying to copy, or copy to a bigger " "partition." msgstr "" "Pro %s není jeÅ¡tÄ› implementována přímá podpora pro kopírování systémů " "souborů. Je ale implementována podpora pro zmÄ›nu velikosti. Systém souborů " "tedy může být zkopírován, je-li nový oddíl alespoň tak velký jako starý. " "Takže buÄ zmenÅ¡ete oddíl, který se pokoušíte zkopírovat, nebo kopírujte do " "vÄ›tšího oddílu." #: libparted/filesys.c:736 #, c-format msgid "Support for copying %s file systems is not implemented yet." msgstr "" "Podpora pro kopírování souborových systémů %s jeÅ¡tÄ› není implementována." #: libparted/filesys.c:774 #, c-format msgid "Support for resizing %s file systems is not implemented yet." msgstr "" "Podpora pro zmÄ›nu velikosti souborových systémů %s jeÅ¡tÄ› není implementována." #: libparted/fs/reiserfs/reiserfs.c:315 msgid "creating" msgstr "vytváření" #: libparted/fs/reiserfs/reiserfs.c:402 msgid "The file system is in an invalid state. Perhaps it is mounted?" msgstr "Systém souborů je v neplatném stavu. Možná je pÅ™ipojen?" #: libparted/fs/reiserfs/reiserfs.c:410 msgid "The file system is in old (unresizeable) format." msgstr "Systém souborů má starý formát (nepodporující zmÄ›nu velikosti)." #: libparted/fs/reiserfs/reiserfs.c:416 msgid "Invalid free blocks count. Run reiserfsck --check first." msgstr "Neplatný poÄet volných bloků. Nejdřív spusÅ¥te reiserfsck --check." #: libparted/fs/reiserfs/reiserfs.c:431 msgid "checking" msgstr "kontroluji" #: libparted/fs/reiserfs/reiserfs.c:437 msgid "Reiserfs tree seems to be corrupted. Run reiserfsck --check first." msgstr "Strom reiserfs je zÅ™ejmÄ› poÅ¡kozen. Nejdřív spusÅ¥te reiserfsck --check." #: libparted/fs/reiserfs/reiserfs.c:449 msgid "" "The reiserfs file system passed a basic check. For a more comprehensive " "check, run reiserfsck --check." msgstr "" "Systém souborů reiserfs proÅ¡el základní kontrolou. Pro podrobnÄ›jší kontrolu " "spusÅ¥te reiserfsck --check." #: libparted/fs/reiserfs/reiserfs.c:474 msgid "Sorry, can't move the start of reiserfs partitions yet." msgstr "Lituji, jeÅ¡tÄ› neumím pÅ™esunout zaÄátek oddílů reiserfs." #: libparted/fs/reiserfs/reiserfs.c:490 msgid "Couldn't reopen device abstraction layer for read/write." msgstr "Nemohu znovu otevřít vrstvu abstrakce zařízení pro Ätení/zápis." #: libparted/fs/reiserfs/reiserfs.c:508 libparted/fs/ext2/ext2_resize.c:552 #: libparted/fs/hfs/hfs.c:250 libparted/fs/hfs/hfs.c:629 msgid "shrinking" msgstr "zmenÅ¡uji" #: libparted/fs/reiserfs/reiserfs.c:520 msgid "expanding" msgstr "zvÄ›tÅ¡uji" #: libparted/fs/reiserfs/reiserfs.c:592 msgid "Couldn't create reiserfs device abstraction handler." msgstr "Nemohu vytvoÅ™it vrtsvu abstrakce zařízení reiserfs." #: libparted/fs/reiserfs/reiserfs.c:606 #, c-format msgid "Device is too small for %lu blocks." msgstr "Zařízení pro %lu bloků příliÅ¡ malé." #: libparted/fs/reiserfs/reiserfs.c:615 msgid "copying" msgstr "kopíruji" #: libparted/fs/reiserfs/reiserfs.c:682 #, c-format msgid "Couldn't resolve symbol %s. Error: %s." msgstr "Nemohu nalézt symbol %s. Chyba: %s." #: libparted/fs/reiserfs/reiserfs.c:704 msgid "GNU Parted found an invalid libreiserfs library." msgstr "GNU Parted nalezl neplatnou knihovnu libreiserfs." #: libparted/fs/reiserfs/reiserfs.c:715 #, c-format msgid "" "GNU Parted has detected libreiserfs interface version mismatch. Found %d-" "%d, required %d. ReiserFS support will be disabled." msgstr "" "GNU Parted detekoval nesoulad ve verzích rozhraní libreiserfs. Nalezeno %d-" "%d, vyžadováno %d. Podpora ReiserFS bude zakázána." #: libparted/labels/aix.c:103 msgid "Support for reading AIX disk labels is is not implemented yet." msgstr "Podpora pro Ätení jmenovek disku AIXu jeÅ¡tÄ› není implementována." #: libparted/labels/aix.c:114 msgid "Support for writing AIX disk labels is is not implemented yet." msgstr "Podpora pro zápis jmenovek disku AIXu jeÅ¡tÄ› není implementována." #: libparted/labels/aix.c:127 msgid "" "Support for adding partitions to AIX disk labels is not implemented yet." msgstr "" "Podpora pro pÅ™idávání oddílů do jmenovek disku AIXu jeÅ¡tÄ› není " "implementována." #: libparted/labels/aix.c:137 msgid "" "Support for duplicating partitions in AIX disk labels is not implemented yet." msgstr "" "Podpora pro duplikování oddílů ve jmenovkách disku AIXu jeÅ¡tÄ› není " "implementována." #: libparted/labels/aix.c:155 msgid "" "Support for setting system type of partitions in AIX disk labels is not " "implemented yet." msgstr "" "Podpora pro nastavování typu systému oddílů ve jmenovkách disku AIXu jeÅ¡tÄ› " "není implementována." #: libparted/labels/aix.c:165 msgid "Support for setting flags in AIX disk labels is not implemented yet." msgstr "" "Podpora pro nastavování pÅ™epínaÄů ve jmenovkách disku AIXu jeÅ¡tÄ› není " "implementována." #: libparted/labels/bsd.c:568 libparted/labels/dasd.c:783 #: libparted/labels/dos.c:2092 libparted/labels/dvh.c:788 #: libparted/labels/gpt.c:1750 libparted/labels/loop.c:245 #: libparted/labels/mac.c:1424 libparted/labels/pc98.c:749 #: libparted/labels/rdb.c:1051 libparted/labels/sun.c:821 msgid "Unable to satisfy all constraints on the partition." msgstr "Nemohu splnit vÅ¡echna omezení na oddíl." #: libparted/labels/bsd.c:593 msgid "Unable to allocate a bsd disklabel slot." msgstr "Nemohu alokovat položku jmenovky disku bsd." #: libparted/labels/dasd.c:809 msgid "Unable to allocate a dasd disklabel slot" msgstr "Nemohu alokovat položku jmenovky disku dasd" #: libparted/labels/dos.c:882 #, c-format msgid "Invalid partition table on %s -- wrong signature %x." msgstr "Neplatná tabulka oddílů na %s - nesprávný podpis %x." #: libparted/labels/dos.c:910 #, c-format msgid "Invalid partition table - recursive partition on %s." msgstr "Neplatná tabulka oddílů - rekurzivní oddíl na %s." #: libparted/labels/dos.c:1420 msgid "Extended partitions cannot be hidden on msdos disk labels." msgstr "Rozšířené oddíly nelze na jmenovkách disku msdos skrývat." #: libparted/labels/dos.c:2074 msgid "Parted can't resize partitions managed by Windows Dynamic Disk." msgstr "" "Parted neumí mÄ›nit velikost oddílů spravovaných pomocí Windows Dynamic Disk." #: libparted/labels/dvh.c:201 #, c-format msgid "%s has no extended partition (volume header partition)." msgstr "%s nemá rozšířený oddíl (oddíl hlaviÄky svazku)." #: libparted/labels/dvh.c:327 msgid "Checksum is wrong, indicating the partition table is corrupt." msgstr "" "Kontrolní souÄet je Å¡patnÄ›, což indikuje, že tabulka oddílů je poÅ¡kozená." #: libparted/labels/dvh.c:632 msgid "Only primary partitions can be root partitions." msgstr "Jen primární oddíly mohou být koÅ™enové oddíly." #: libparted/labels/dvh.c:646 msgid "Only primary partitions can be swap partitions." msgstr "Jen primární oddíly mohou být odkládací oddíly." #: libparted/labels/dvh.c:660 msgid "Only logical partitions can be a boot file." msgstr "Jen logické oddíly mohou být zavádÄ›cí soubor." #: libparted/labels/dvh.c:737 #, fuzzy, c-format msgid "" "failed to set dvh partition name to %s:\n" "Only logical partitions (boot files) have a name." msgstr "Jen logické oddíly (zavádÄ›cí soubory) mají název." #: libparted/labels/dvh.c:830 msgid "Too many primary partitions" msgstr "PříliÅ¡ mnoho primárních oddílů" #: libparted/labels/fdasd.c:98 msgid "open error" msgstr "chyba pÅ™i otevírání" #: libparted/labels/fdasd.c:101 msgid "seek error" msgstr "chyba pÅ™i posunu" #: libparted/labels/fdasd.c:104 msgid "read error" msgstr "chyba pÅ™i Ätení" #: libparted/labels/fdasd.c:110 msgid "ioctl() error" msgstr "chyba pÅ™i ioctl()" #: libparted/labels/fdasd.c:114 msgid "API version mismatch" msgstr "Nesoulad verzí API" #: libparted/labels/fdasd.c:118 msgid "Unsupported disk type" msgstr "Nepodporovaný typ disku" #: libparted/labels/fdasd.c:122 msgid "Unsupported disk format" msgstr "Nepodporovaný formát disku" #: libparted/labels/fdasd.c:126 msgid "Disk is in use" msgstr "Disk se používá" #: libparted/labels/fdasd.c:130 msgid "Syntax error in config file" msgstr "Chyba syntaxe v souboru s nastavením" #: libparted/labels/fdasd.c:134 msgid "Volume label is corrupted" msgstr "Jmenovka svazku je poÅ¡kozena" #: libparted/labels/fdasd.c:138 msgid "A data set name is corrupted" msgstr "Název sady dat je poÅ¡kozen" #: libparted/labels/fdasd.c:142 msgid "Memory allocation failed" msgstr "Alokace pamÄ›ti selhala" #: libparted/labels/fdasd.c:146 msgid "Device verification failed" msgstr "Ověřování zařízení selhalo" #: libparted/labels/fdasd.c:147 msgid "The specified device is not a valid DASD device" msgstr "Zadané zařízení není platné zařízení DASD" #: libparted/labels/fdasd.c:150 libparted/labels/vtoc.c:179 msgid "Fatal error" msgstr "Fatální chyba" #: libparted/labels/fdasd.c:226 msgid "No room for volume label." msgstr "Není místo na jmenovku svazku." #: libparted/labels/fdasd.c:234 msgid "No room for partition info." msgstr "Není místo pro informace o oddílech." #: libparted/labels/fdasd.c:704 msgid "Invalid VTOC." msgstr "Neplatná VTOC." #: libparted/labels/fdasd.c:764 msgid "Could not retrieve API version." msgstr "Nemohu získat verzi API." #: libparted/labels/fdasd.c:767 #, c-format msgid "" "The current API version '%d' doesn't match dasd driver API version '%d'!" msgstr "Aktuální verze API '%d' neodpovídá verzi API ovladaÄe '%d'!" #: libparted/labels/fdasd.c:804 msgid "Could not retrieve disk geometry information." msgstr "Nemohu získat informace o geometrii disku." #: libparted/labels/fdasd.c:808 msgid "Could not retrieve blocksize information." msgstr "Nemohu získat informace o velikosti bloku." #: libparted/labels/fdasd.c:813 msgid "Could not retrieve disk information." msgstr "Nemohu získat informace o disku." #: libparted/labels/fdasd.c:818 msgid "This is not an ECKD disk! This disk type is not supported!" msgstr "Toto není disk ECKD! Tento typ disku není podporován!" #: libparted/labels/gpt.c:485 #, c-format msgid "" "%s contains GPT signatures, indicating that it has a GPT table. However, it " "does not have a valid fake msdos partition table, as it should. Perhaps it " "was corrupted -- possibly by a program that doesn't understand GPT partition " "tables. Or perhaps you deleted the GPT table, and are now using an msdos " "partition table. Is this a GPT partition table?" msgstr "" "%s obsahuje podpisy GPT, což naznaÄuje, že má tabulku GPT. Nemá ale platnou " "faleÅ¡nou tabulku oddílů msdos, kterou by mÄ›l mít. Možná byla poÅ¡kozena — " "napÅ™. programem, který nerozumí tabulkám oddílů GPT. Nebo jste možná " "odstranili tabulku oddílů GPT a nyní používáte tabulku oddílů msdos. Je toto " "tabulka oddílů GPT?" #: libparted/labels/gpt.c:680 #, c-format msgid "" "The format of the GPT partition table is version %x, which is newer than " "what Parted can recognise. Please tell us! bug-parted@gnu.org" msgstr "" "Formát tabulky oddílů GPT je verze %x, což je novÄ›jší, než kterou umí " "rozpoznat Parted. Oznamte nám to prosím! bug-parted@gnu.org" #: libparted/labels/gpt.c:727 #, c-format msgid "" "Not all of the space available to %s appears to be used, you can fix the GPT " "to use all of the space (an extra %llu blocks) or continue with the current " "setting? " msgstr "" "ZÅ™ejmÄ› se nepoužívá vÅ¡echno dostupné místo na %s, můžete opravit GPT, aby " "používala vÅ¡echno místo (dalších %llu bloků) nebo pokraÄovat se souÄasným " "nasatvením? " #: libparted/labels/gpt.c:936 msgid "" "The backup GPT table is not at the end of the disk, as it should be. This " "might mean that another operating system believes the disk is smaller. Fix, " "by moving the backup to the end (and removing the old backup)?" msgstr "" "Záložní tabulka GPT není na konci disku, jak by mÄ›la být. To možná znamená, " "že jiný operaÄní systém si myslí, že disk je menší. Mám to opravit " "pÅ™esunutím zálohy na konec (a odstranÄ›ním staré zálohy)?" #: libparted/labels/gpt.c:960 msgid "" "Both the primary and backup GPT tables are corrupt. Try making a fresh " "table, and using Parted's rescue feature to recover partitions." msgstr "" "Primární i záložní tabulka GPT je poÅ¡kozena. Zkuste vytvoÅ™it novou tabulku a " "obnovit oddíly pomocí schopnosti Partedu rescue." #: libparted/labels/gpt.c:971 #, fuzzy msgid "" "The backup GPT table is corrupt, but the primary appears OK, so that will be " "used." msgstr "" "Primární tabulka GPT je poÅ¡kozena, ale záloha se zdá být v pořádku, takže " "bude použita záloha." #: libparted/labels/gpt.c:983 msgid "" "The primary GPT table is corrupt, but the backup appears OK, so that will be " "used." msgstr "" "Primární tabulka GPT je poÅ¡kozena, ale záloha se zdá být v pořádku, takže " "bude použita záloha." #: libparted/labels/gpt.c:1007 msgid "primary partition table array CRC mismatch" msgstr "" #: libparted/labels/mac.c:185 #, c-format msgid "Invalid signature %x for Mac disk labels." msgstr "Neplatný podpis %x pro jmenovky disku Mac." #: libparted/labels/mac.c:232 msgid "Partition map has no partition map entry!" msgstr "Mapa oddílů nemá žádnou položku mapy oddílů!" #: libparted/labels/mac.c:280 #, c-format msgid "%s is too small for a Mac disk label!" msgstr "%s je příliÅ¡ malý pro jmenovku disku Mac!" #: libparted/labels/mac.c:509 #, c-format msgid "Partition %d has an invalid signature %x." msgstr "Oddíl %d má neplatný podpis %x." #: libparted/labels/mac.c:527 #, c-format msgid "Partition %d has an invalid length of 0 bytes!" msgstr "Oddíl %d má neplatnou délku 0 bajtů." #: libparted/labels/mac.c:558 msgid "The data region doesn't start at the start of the partition." msgstr "Datový region nezaÄíná na zaÄátku oddílu." #: libparted/labels/mac.c:575 msgid "The boot region doesn't start at the start of the partition." msgstr "ZavádÄ›cí region nezaÄíná na zaÄátku oddílu." #: libparted/labels/mac.c:589 msgid "The partition's boot region doesn't occupy the entire partition." msgstr "ZavádÄ›cí region oddílu nezabírá celý oddíl." #: libparted/labels/mac.c:600 msgid "The partition's data region doesn't occupy the entire partition." msgstr "Datový region oddílu nezabírá celý oddíl." #: libparted/labels/mac.c:653 #, c-format msgid "" "Weird block size on device descriptor: %d bytes is not divisible by 512." msgstr "" "Podivná velikost bloku v deskriptoru zařízení: %d bajtů není dÄ›litelné 512." #: libparted/labels/mac.c:666 #, c-format msgid "" "The driver descriptor says the physical block size is %d bytes, but Linux " "says it is %d bytes." msgstr "" "Deskriptor ovladaÄe říká, že fyzická velikost bloku je %d bajtů ale Linux " "říká, že je to %d bajtů." #: libparted/labels/mac.c:720 msgid "No valid partition map found." msgstr "Nenalezena platná mapa oddílů." #: libparted/labels/mac.c:782 #, c-format msgid "" "Conflicting partition map entry sizes! Entry 1 says it is %d, but entry %d " "says it is %d!" msgstr "" "Kolidující velikosti položek mapy oddílů! Položka 1 říká, že je to %d, ale " "položka %d říká, že je to %d!" #: libparted/labels/mac.c:809 msgid "Weird! There are 2 partitions map entries!" msgstr "Podivné! Existují 2 položky mapy oddílu!" #: libparted/labels/mac.c:1355 msgid "" "Changing the name of a root or swap partition will prevent Linux from " "recognising it as such." msgstr "" "ZmÄ›na názvu koÅ™enového nebo odkládacího oddílu zabrání Linuxu v jeho " "rozpoznání." #: libparted/labels/mac.c:1459 msgid "Can't add another partition -- the partition map is too small!" msgstr "Nemohu pÅ™idat další oddíl — mapa oddílů je příliÅ¡ malá!" #: libparted/labels/pc98.c:331 #, c-format msgid "Invalid partition table on %s." msgstr "Neplatná tabulka oddílů na %s." #: libparted/labels/pc98.c:384 libparted/labels/pc98.c:462 #, c-format msgid "" "Partition %d isn't aligned to cylinder boundaries. This is still " "unsupported." msgstr "" "Oddíl %d není zarovnán na hranice cylindru. To pořád jeÅ¡tÄ› není podporováno." #: libparted/labels/pc98.c:781 msgid "Can't add another partition." msgstr "Nemohu pÅ™idat další oddíl." #: libparted/labels/pt-tools.c:125 #, c-format msgid "" "partition length of %jd sectors exceeds the %s-partition-table-imposed " "maximum of %jd" msgstr "" #: libparted/labels/pt-tools.c:138 #, c-format msgid "" "starting sector number, %jd exceeds the %s-partition-table-imposed maximum " "of %jd" msgstr "" #: libparted/labels/rdb.c:170 #, c-format msgid "%s : Bad checksum on block %llu of type %s." msgstr "%s : Å patný kontrolní souÄet bloku %llu typu %s." #: libparted/labels/rdb.c:486 #, c-format msgid "%s : Didn't find rdb block, should never happen." msgstr "%s : NenaÅ¡el jsem blok rdb, to by se nemÄ›lo nikdy stát." #: libparted/labels/rdb.c:572 #, c-format msgid "%s : Loop detected at block %d." msgstr "%s : Na bloku %d detekována smyÄka." #: libparted/labels/rdb.c:591 #, c-format msgid "%s : The %s list seems bad at block %s." msgstr "%s : Seznam %s je zÅ™ejmÄ› v bloku %s Å¡patný." #: libparted/labels/rdb.c:690 #, c-format msgid "%s : Failed to list bad blocks." msgstr "%s : Nemohu vypsat Å¡patné bloky." #: libparted/labels/rdb.c:698 #, c-format msgid "%s : Failed to list partition blocks." msgstr "%s : Nemohu vypsat bloky oddílu." #: libparted/labels/rdb.c:706 #, c-format msgid "%s : Failed to list file system blocks." msgstr "%s : Nemohu vypsat bloky systému souborů." #: libparted/labels/rdb.c:714 #, c-format msgid "%s : Failed to list boot blocks." msgstr "%s : Nemohu vypsat zavádÄ›cí bloky." #: libparted/labels/rdb.c:741 #, c-format msgid "Failed to write partition block at %d." msgstr "Nemohu zapsat blok oddílu na %d." #: libparted/labels/rdb.c:1079 msgid "Unable to allocate a partition number." msgstr "Nemohu alokovat Äíslo oddílu." #: libparted/labels/sun.c:163 msgid "Corrupted Sun disk label detected." msgstr "Detekována poÅ¡kozená jmenovka disku Sun." #: libparted/labels/sun.c:316 #, c-format msgid "" "The disk CHS geometry (%d,%d,%d) reported by the operating system does not " "match the geometry stored on the disk label (%d,%d,%d)." msgstr "" "Geometrie disku CHS (%d,%d,%d) ohlášená operaÄním systémem neodpovídá " "geometrii uložené v jmenovce disku (%d,%d,%d)." #: libparted/labels/sun.c:338 #, c-format msgid "The disk label describes a disk bigger than %s." msgstr "Jmenovka disku popisuje disk vÄ›tší než %s." #: libparted/labels/sun.c:510 #, c-format msgid "The disk has %d cylinders, which is greater than the maximum of 65536." msgstr "Disk má %d cylindrů, což je více než maximum 65536." #: libparted/labels/sun.c:853 msgid "" "The Whole Disk partition is the only available one left. Generally, it is " "not a good idea to overwrite this partition with a real one. Solaris may " "not be able to boot without it, and SILO (the sparc boot loader) appreciates " "it as well." msgstr "" "Jediný zbývající oddíl je oddíl Celý disk. ObecnÄ› není dobrý nápad tento " "oddíl pÅ™epsat skuteÄným oddílem. Bez nÄ›j možná nebude možné zavést Solaris a " "SILO (zavadÄ›Ä systému pro sparc) jej také ocení." #: libparted/labels/sun.c:868 msgid "Sun disk label is full." msgstr "Jmenovka disku Sun je plná." #: libparted/labels/vtoc.c:164 msgid "opening of device failed" msgstr "otevírání zařízení selhalo" #: libparted/labels/vtoc.c:168 msgid "seeking on device failed" msgstr "posun v zařízení selhal" #: libparted/labels/vtoc.c:172 msgid "writing to device failed" msgstr "zápis na zařízení selhal" #: libparted/labels/vtoc.c:176 msgid "reading from device failed" msgstr "Ätení ze zařízení selhalo" #: libparted/labels/vtoc.c:277 libparted/labels/vtoc.c:284 msgid "Could not read volume label." msgstr "Nemohu Äíst jmenovku svazku." #: libparted/labels/vtoc.c:303 libparted/labels/vtoc.c:308 msgid "Could not write volume label." msgstr "Nemohu zapsat jmenovku svazku." #: libparted/labels/vtoc.c:414 msgid "Could not read VTOC labels." msgstr "Nemohu Äíst jmenovky VTOC." #: libparted/labels/vtoc.c:420 msgid "Could not read VTOC FMT1 DSCB." msgstr "Nemohu Äíst FMT1 DSCB VTOC." #: libparted/labels/vtoc.c:427 msgid "Could not read VTOC FMT4 DSCB." msgstr "Nemohu Äíst FMT4 DSCB VTOC." #: libparted/labels/vtoc.c:434 msgid "Could not read VTOC FMT5 DSCB." msgstr "Nemohu Äíst FMT5 DSCB VTOC." #: libparted/labels/vtoc.c:441 msgid "Could not read VTOC FMT7 DSCB." msgstr "Nemohu Äíst FMT7 DSCB VTOC." #: libparted/labels/vtoc.c:461 msgid "Could not write VTOC labels." msgstr "Nemohu zapisovat jmenovky VTOC." #: libparted/labels/vtoc.c:467 msgid "Could not write VTOC FMT1 DSCB." msgstr "Nemohu zapisovat FMT1 DSCB VTOC." #: libparted/labels/vtoc.c:474 msgid "Could not write VTOC FMT4 DSCB." msgstr "Nemohu zapisovat FMT4 DSCB VTOC." #: libparted/labels/vtoc.c:481 msgid "Could not write VTOC FMT5 DSCB." msgstr "Nemohu zapisovat FMT5 DSCB VTOC." #: libparted/labels/vtoc.c:488 msgid "Could not write VTOC FMT7 DSCB." msgstr "Nemohu zapisovat FMT7 DSCB VTOC." #: libparted/libparted.c:237 libparted/libparted.c:252 msgid "Out of memory." msgstr "Nedostatek pamÄ›ti." #: libparted/unit.c:138 msgid "Cannot get unit size for special unit 'COMPACT'." msgstr "Nemohu získat velikost jednotky pro speciální jednotku 'COMPACT'." #: libparted/unit.c:384 #, c-format msgid "\"%s\" has invalid syntax for locations." msgstr "\"%s\" má neplatnou syntax umístÄ›ní." #: libparted/unit.c:392 #, c-format msgid "The maximum head value is %d." msgstr "Maximální hodnota hlavy je %d." #: libparted/unit.c:399 #, c-format msgid "The maximum sector value is %d." msgstr "Maximální hodnota sektoru je %d." #: libparted/unit.c:411 libparted/unit.c:543 #, c-format msgid "The location %s is outside of the device %s." msgstr "UmístÄ›ní %s je mimo zařízení %s." #: libparted/unit.c:525 msgid "Invalid number." msgstr "Neplatné Äíslo." #: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:56 #: libparted/fs/amiga/asfs.c:70 #, c-format msgid "%s : Failed to allocate partition block\n" msgstr "%s : Nemohu alokovat blok oddílu\n" #: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:69 #: libparted/fs/amiga/asfs.c:82 #, c-format msgid "%s : Failed to allocate block\n" msgstr "%s : Nemohu alokovat blok\n" #: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:74 #, c-format msgid "%s : Couldn't read boot block %llu\n" msgstr "%s : Nemohu Äíst zavádÄ›cí blok %llu\n" #: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:85 #: libparted/fs/amiga/asfs.c:88 libparted/fs/amiga/asfs.c:102 #, c-format msgid "%s : Couldn't read root block %llu\n" msgstr "%s : Nemohu Äíst koÅ™enový blok %llu\n" #: libparted/fs/amiga/amiga.c:72 #, c-format msgid "%s : Failed to allocate id list element\n" msgstr "%s : Nemohu alokovat prvek seznamu id\n" #: libparted/fs/amiga/amiga.c:189 #, c-format msgid "%s : Couldn't read block %llu\n" msgstr "%s : Nemohu Äíst blok %llu\n" #: libparted/fs/amiga/amiga.c:202 #, c-format msgid "%s : Bad checksum on block %llu of type %s\n" msgstr "%s : Å patný kontrolní souÄet bloku %llu typu %s\n" #: libparted/fs/amiga/amiga.c:212 #, c-format msgid "%s : Couldn't write block %d\n" msgstr "%s : Nemohu zapsat blok %d\n" #: libparted/fs/amiga/amiga.c:278 #, c-format msgid "%s : Failed to allocate disk_specific rdb block\n" msgstr "%s : Nemohu alokovat disk_specific blok rdb\n" #: libparted/fs/amiga/amiga.c:289 #, c-format msgid "%s : Didn't find rdb block, should never happen\n" msgstr "%s : NenaÅ¡eljsem blok rdb, to by se nemÄ›lo nikdy stát\n" #: libparted/fs/amiga/amiga.c:318 #, c-format msgid "%s : Failed to read partition block %llu\n" msgstr "%s : NemohuÄíst blok oddílu %llu\n" #: libparted/fs/ext2/ext2.c:87 libparted/fs/ext2/ext2.c:112 msgid "Inconsistent group descriptors!" msgstr "Nekonzistentní deskriptory skupin!" #: libparted/fs/ext2/ext2.c:91 libparted/fs/ext2/ext2.c:116 msgid "File system full!" msgstr "Systém souborů plný!" #: libparted/fs/ext2/ext2.c:686 msgid "Invalid superblock. Are you sure this is an ext2 file system?" msgstr "Neplatný superblok. Opravdu to je systém souborů ext2?" #: libparted/fs/ext2/ext2.c:700 libparted/fs/ext2/ext2_resize.c:658 msgid "File system has errors! You should run e2fsck." msgstr "Systém souborů má chyby! MÄ›li byste spustit e2fsck." #: libparted/fs/ext2/ext2.c:711 msgid "" "File system was not cleanly unmounted! You should run e2fsck. Modifying an " "unclean file system could cause severe corruption." msgstr "" "Systém souborů nebyl ÄistÄ› odpojen! MÄ›li byste spustit e2fsck. Úpravy " "neÄistého systému souborů mohou způsobit vážné poÅ¡kození dat." #: libparted/fs/ext2/ext2.c:731 msgid "" "File system has an incompatible feature enabled. Compatible features are " "has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs " "or debugfs to remove features." msgstr "" #: libparted/fs/ext2/ext2.c:745 msgid "Error allocating buffer cache." msgstr "Chyba pÅ™i alokaci buffer cache." #: libparted/fs/ext2/ext2_inode_relocator.c:114 msgid "" "Found an inode with a incorrect link count. Better go run e2fsck first!" msgstr "" "NaÅ¡el jsem inode s nesprávným poÄtem odkazů. RadÅ¡i nejdřív spusÅ¥te e2fsck!" #: libparted/fs/ext2/ext2_inode_relocator.c:487 msgid "Not enough free inodes!" msgstr "Nedostatek volných inodů!" #: libparted/fs/ext2/ext2_resize.c:223 msgid "File system is too full to remove a group!" msgstr "Systém souborů je příliÅ¡ plný na to, abych mohl odstranit skupinu!" #: libparted/fs/ext2/ext2_resize.c:232 msgid "File system has too many allocated inodes to remove a group!" msgstr "" "Systém souborů má příliÅ¡ mnoho alokovaných inodů na to, abych mohl odstranit " "skupinu!" #: libparted/fs/ext2/ext2_resize.c:491 msgid "adding groups" msgstr "pÅ™idávám skupiny" #: libparted/fs/ext2/ext2_resize.c:528 #, c-format msgid "Your file system is too full to resize it to %i blocks. Sorry." msgstr "" "Váš systém souborů je příliÅ¡ plný na to, abych mohl zmÄ›nit jeho velikost na " "%i bloků. Lituji." #: libparted/fs/ext2/ext2_resize.c:538 #, c-format msgid "" "Your file system has too many occupied inodes to resize it to %i blocks. " "Sorry." msgstr "" "Váš systém souborů má příliÅ¡ mnoho použitých inodů na to, abych mohl zmÄ›nit " "jeho velikost na %i bloků. Lituji." #: libparted/fs/ext2/ext2_resize.c:666 msgid "File system was not cleanly unmounted! You should run e2fsck." msgstr "Systém souborů nebyl správnÄ› odpojen! MÄ›li byste spustit e2fsck." #: libparted/fs/ext2/ext2_resize.c:675 msgid "" "The file system has the 'dir_index' feature enabled. Parted can only resize " "the file system if it disables this feature. You can enable it later by " "running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'." msgstr "" "Systém souborů má povolenu vlastnost 'dir_index'. Parted může zmÄ›nit " "velikost systému souborů, jen pokud tuto vlastnost zakáže. Můžete ji pozdÄ›ji " "povolit spuÅ¡tÄ›ním 'tune2fs -O dir_index ZAŘÃZENÃ' a pak 'e2fsck -fD " "ZAŘÃZENÃ'." #: libparted/fs/ext2/ext2_resize.c:691 msgid "" "A resize operation on this file system will use EXPERIMENTAL code\n" "that MAY CORRUPT it (although no one has reported any such damage yet).\n" "You should at least backup your data first, and run 'e2fsck -f' afterwards." msgstr "" "Operace zmÄ›ny velikosti na tomto systému souborů bude používat " "EXPERIMENTÃLNÃ\n" "kód, který jej MŮŽE POÅ KODIT (i když zatím nikdo takové poÅ¡kození " "nehlásil).\n" "PÅ™inejmenším byste mÄ›li nejdřív zazálohovat svá data, a potom spustit\n" "'e2fsck -f'." #: libparted/fs/ext2/ext2_block_relocator.c:198 msgid "Cross-linked blocks found! Better go run e2fsck first!" msgstr "Nalezeny bloky s křížovými odkazy! RadÅ¡i nejdřív spusÅ¥te e2fsck!" #: libparted/fs/ext2/ext2_block_relocator.c:537 #, c-format msgid "Block %i has no reference? Weird." msgstr "Blok %i nemá odkaz? Divné." #: libparted/fs/ext2/ext2_block_relocator.c:738 #, c-format msgid "Block %i shouldn't have been marked (%d, %d)!" msgstr "Blok %i by nemÄ›l být oznaÄen (%d, %d)!" #: libparted/fs/ext2/interface.c:226 msgid "" "The ext2 file system passed a basic check. For a more comprehensive check, " "use the e2fsck program." msgstr "" "Systém souborů ext2 proÅ¡el základní kontrolou. Pro podrobnÄ›jší kontrolu " "použijte program e2fsck." #: libparted/fs/ext2/interface.c:243 msgid "Sorry, can't move the start of ext2 partitions yet!" msgstr "Lituji, jeÅ¡tÄ› neumím pÅ™esunout zaÄátek oddílů ext2!" #: libparted/fs/ext2/ext2_buffer.c:82 msgid "Couldn't flush buffer cache!" msgstr "Nemohu vyprázdnit buffer cache!" #: libparted/fs/ext2/ext2_mkfs.c:161 msgid "writing per-group metadata" msgstr "zapisuji metadata skupin" #: libparted/fs/ext2/ext2_mkfs.c:597 msgid "File system too small for ext2." msgstr "Systém souborů příliÅ¡ malý pro ext2." #: libparted/fs/fat/calc.c:135 #, c-format msgid "" "You need %s of free disk space to shrink this partition to this size. " "Currently, only %s is free." msgstr "" "Pro zmenÅ¡ení tohoto oddílu na tuto velikost potÅ™ebujete %s volného místa. " "MomentálnÄ› je volné jen %s." #: libparted/fs/fat/context.c:56 #, c-format msgid "" "Cluster start delta = %d, which is not a multiple of the cluster size %d." msgstr "ZmÄ›na zaÄátku clusteru = %d, což není násobek velikosti clusteru %d." #: libparted/fs/fat/fat.c:310 #, c-format msgid "Partition too big/small for a %s file system." msgstr "Oddíl je příliÅ¡ velký/malý pro systém souborů %s." #: libparted/fs/fat/fat.c:476 msgid "" "The FATs don't match. If you don't know what this means, then select " "cancel, run scandisk on the file system, and then come back." msgstr "" "Tabulky FAT si neodpovídají. Pokud nevíte, co to znamená, zvolte ZruÅ¡it, " "spusÅ¥te na systému souborů scandisk a pak se vraÅ¥te." #: libparted/fs/fat/fat.c:516 msgid "There are no possible configurations for this FAT type." msgstr "Pro tento typ FAT neexistuje možná konfigurace." #: libparted/fs/fat/fat.c:528 #, c-format msgid "" "File system doesn't have expected sizes for Windows to like it. Cluster " "size is %dk (%dk expected); number of clusters is %d (%d expected); size of " "FATs is %d sectors (%d expected)." msgstr "" "Systém souborů nemá oÄekávané velikosti, aby jej Windows mÄ›ly rády. Velikost " "clusteru je %dk (oÄekáváno %dk); poÄet clusterů je %d (oÄekáváno %d); " "velikost FAT je %d sektorů (oÄekáváno %d)." #: libparted/fs/fat/fat.c:551 #, c-format msgid "" "File system is reporting the free space as %d clusters, not %d clusters." msgstr "Systém souborů oznamuje volné místo jako %d clusterů, ne %d clusterů." #: libparted/fs/fat/fat.c:876 msgid "" "GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT " "support will be disabled." msgstr "" "GNU Parted byl nesprávnÄ› pÅ™eložen: zavádÄ›cí sektor FAT by mÄ›l být 512 bajtů. " "Podpora FAT bude zakázána." #: libparted/fs/fat/resize.c:158 msgid "" "There's not enough room in the root directory for all of the files. Either " "cancel, or ignore to lose the files." msgstr "" "V koÅ™enovém adresáři není dostatek místa pro vÅ¡echny souborů. Zvolte buÄ " "ZruÅ¡it, nebo Ignorovat pro ztrátu tÄ›chto souborů." #: libparted/fs/fat/resize.c:299 msgid "Error writing to the root directory." msgstr "Chyba pÅ™i zápisu do koÅ™enového adresáře." #: libparted/fs/fat/resize.c:488 msgid "If you leave your file system as FAT16, then you will have no problems." msgstr "" "Pokud svůj systém souborů ponecháte jako FAT16, nebudete mít žádné problémy." #: libparted/fs/fat/resize.c:491 msgid "" "If you convert to FAT16, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual)." msgstr "" "Pokud pÅ™evedete na FAT16 a na tomto oddílu jsou nainstalovány MS Windows, " "musíte reinstalovat zavadÄ›Ä systému MS Windows. Pokud to chcete udÄ›lat, mÄ›li " "byste si pÅ™eÄíst manuál Partedu (nebo manuál své distribuce)." #: libparted/fs/fat/resize.c:499 msgid "" "If you leave your file system as FAT32, then you will not introduce any new " "problems." msgstr "" "Pokud svůj systém souborů ponecháte jako FAT16, nezpůsobíte žádné nové " "problémy." #: libparted/fs/fat/resize.c:503 msgid "" "If you convert to FAT32, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual). Also, " "converting to FAT32 will make the file system unreadable by MS DOS, MS " "Windows 95a, and MS Windows NT." msgstr "" "Pokud pÅ™evedete na FAT32 a na tomto oddílu jsou nainstalovány MS Windows, " "musíte reinstalovat zavadÄ›Ä systému MS Windows. Pokud to chcete udÄ›lat, mÄ›li " "byste si pÅ™eÄíst manuál Partedu (nebo manuál své distribuce). PÅ™evedení na " "FAT32 také uÄiní systém souborů neÄitelným pro MS DOS, MS Windows 95a a MS " "Windows NT." #: libparted/fs/fat/resize.c:517 #, c-format msgid "%s %s %s" msgstr "%s %s %s" #: libparted/fs/fat/resize.c:518 msgid "Would you like to use FAT32?" msgstr "Chcete použít FAT32?" #: libparted/fs/fat/resize.c:549 libparted/fs/fat/resize.c:565 #, c-format msgid "%s %s" msgstr "%s %s" #: libparted/fs/fat/resize.c:550 msgid "" "The file system can only be resized to this size by converting to FAT16." msgstr "" "Velikost systému souborů může být na tuto hodnotu zmÄ›nÄ›na jen pÅ™evodem na " "FAT16." #: libparted/fs/fat/resize.c:566 msgid "" "The file system can only be resized to this size by converting to FAT32." msgstr "" "Velikost systému souborů může být na tuto hodnotu zmÄ›nÄ›na jen pÅ™evodem na " "FAT32." #: libparted/fs/fat/resize.c:579 msgid "" "GNU Parted cannot resize this partition to this size. We're working on it!" msgstr "" "GNU Parted neumí zmÄ›nit velikost tohoto oddílu na tuto hodnotu. Pracujeme na " "tom!" #: libparted/fs/fat/bootsector.c:49 libparted/fs/fat/bootsector.c:56 msgid "File system has an invalid signature for a FAT file system." msgstr "Systém souborů má neplatný podpis pro systém souborů FAT." #: libparted/fs/fat/bootsector.c:64 msgid "File system has an invalid sector size for a FAT file system." msgstr "Systém souborů má neplatnou velikost sektoru pro systém souborů FAT." #: libparted/fs/fat/bootsector.c:71 msgid "File system has an invalid cluster size for a FAT file system." msgstr "Systém souborů má neplatnou velikost clusteru pro systém souborů FAT." #: libparted/fs/fat/bootsector.c:78 msgid "" "File system has an invalid number of reserved sectors for a FAT file system." msgstr "" "Systém souborů má neplatný poÄet rezervovaných sektorů pro systém souborů " "FAT." #: libparted/fs/fat/bootsector.c:85 msgid "File system has an invalid number of FATs." msgstr "Systém souborů má neplatný poÄet FAT." #: libparted/fs/fat/bootsector.c:139 #, c-format msgid "" "This file system has a logical sector size of %d. GNU Parted is known not " "to work properly with sector sizes other than 512 bytes." msgstr "" "Systém souborů má logickou velikost sektoru %d. Ví se, že GNU Parted " "nepracuje správnÄ› s velikostí sektoru jinou než 512 bajtů." #: libparted/fs/fat/bootsector.c:164 #, c-format msgid "" "The file system's CHS geometry is (%d, %d, %d), which is invalid. The " "partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the " "file system's CHS geometry will be left unchanged. If you select Fix, the " "file system's CHS geometry will be set to match the partition table's CHS " "geometry." msgstr "" "Geometrie CHS systému souborů je (%d, %d, %d), což není platné. Geometrie " "CHS tabulky oddílů je (%d, %d, %d). Zvolíte-li Ignorovat, geometrie CHS " "systému souborů bude ponechána beze zmÄ›ny. Zvolíte-li Opravit, geometrie CHS " "systému souborů bude nastavena tak, aby odpovídala geometrii CHS tabulky " "oddílů." #: libparted/fs/fat/bootsector.c:213 msgid "FAT boot sector says logical sector size is 0. This is weird. " msgstr "" "ZavádÄ›cí sektor FAT říká, že logická velikost sektoru je 0. To je divné. " #: libparted/fs/fat/bootsector.c:219 msgid "FAT boot sector says there are no FAT tables. This is weird. " msgstr "" "ZavádÄ›cí sektor FAT říká, že neexistuje žádná tabulka FAT. To je divné. " #: libparted/fs/fat/bootsector.c:225 msgid "FAT boot sector says clusters are 0 sectors. This is weird. " msgstr "ZavádÄ›cí sektor FAT říká, že cluster je 0 sektorů. To je divné. " #: libparted/fs/fat/bootsector.c:235 msgid "File system is FAT12, which is unsupported." msgstr "Systém souborů je FAT12, což není podporováno." #: libparted/fs/fat/bootsector.c:411 #, c-format msgid "" "The information sector has the wrong signature (%x). Select cancel for now, " "and send in a bug report. If you're desperate, it's probably safe to ignore." msgstr "" "Sektor informací má nesprávný podpis (%x). Zatím zvolte ZruÅ¡it a poÅ¡lete " "hlášení o chybÄ›. Pokud jste v úzkých, můžete to pravdÄ›podobnÄ› bez obav " "ignorovat." #: libparted/fs/fat/count.c:144 #, c-format msgid "Bad directory entry for %s: first cluster is the end of file marker." msgstr "Å patná položka adresáře pro %s: první cluster je znaÄka konce souboru." #: libparted/fs/fat/count.c:157 #, c-format msgid "" "Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk." msgstr "" "Å patná FAT: neukonÄený Å™etÄ›zec pro %s. MÄ›li byste spustit dosfsck nebo " "scandisk." #: libparted/fs/fat/count.c:166 #, c-format msgid "" "Bad FAT: cluster %d outside file system in chain for %s. You should run " "dosfsck or scandisk." msgstr "" "Å patná FAT: cluster %d je mimo systém souborů v Å™etÄ›zci pro %s. MÄ›li byste " "spustit dosfsck nebo scandisk." #: libparted/fs/fat/count.c:176 #, c-format msgid "" "Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or " "scandisk." msgstr "" "Å patná FAT: cluster %d pro %s má křížové odkazy. MÄ›li byste spustit dosfsck " "nebo scandisk." #: libparted/fs/fat/count.c:195 #, c-format msgid "%s is %dk, but it has %d clusters (%dk)." msgstr "%s je %dk, ale má %d clusterů (%dk)." #: libparted/fs/fat/count.c:258 #, c-format msgid "" "The file %s is marked as a system file. This means moving it could cause " "some programs to stop working." msgstr "" "Soubor %s je oznaÄen jako systémový soubor. To znamená, že jeho pÅ™esun může " "způsobit, že nÄ›které programy pÅ™estanou fungovat." #: libparted/fs/fat/table.c:136 #, c-format msgid "" "FAT %d media %x doesn't match the boot sector's media %x. You should " "probably run scandisk." msgstr "" "FAT %d media %x neodpovídá media %x zavádÄ›cího sektoru. PravdÄ›podobnÄ› byste " "mÄ›li spustit scandisk." #: libparted/fs/fat/table.c:268 #, c-format msgid "fat_table_set: cluster %ld outside file system" msgstr "fat_table_set: cluster %ld mimo systém souborů" #: libparted/fs/fat/table.c:300 #, c-format msgid "fat_table_get: cluster %ld outside file system" msgstr "fat_table_get: cluster %ld mimo systém souborů" #: libparted/fs/fat/table.c:342 msgid "fat_table_alloc_cluster: no free clusters" msgstr "fat_table_alloc_cluster: nejsou volné clustery" #: libparted/fs/linux_swap/linux_swap.c:288 #, fuzzy, c-format msgid "Unrecognised old style linux swap signature '%10s'." msgstr "Nerozpoznaný podpis odkládacího oddílu linuxu '%10s'." #: libparted/fs/linux_swap/linux_swap.c:331 #, fuzzy, c-format msgid "Unrecognised new style linux swap signature '%10s'." msgstr "Nerozpoznaný podpis odkládacího oddílu linuxu '%10s'." #: libparted/fs/linux_swap/linux_swap.c:371 #, fuzzy, c-format msgid "Unrecognised swsusp linux swap signature '%9s'." msgstr "Nerozpoznaný podpis odkládacího oddílu linuxu '%10s'." #: libparted/fs/linux_swap/linux_swap.c:447 msgid "Too many bad pages." msgstr "PříliÅ¡ mnoho Å¡patných stránek." #: libparted/fs/hfs/advfs.c:121 libparted/fs/hfs/advfs_plus.c:121 #: libparted/fs/hfs/reloc.c:414 libparted/fs/hfs/reloc.c:508 #: libparted/fs/hfs/reloc_plus.c:538 libparted/fs/hfs/reloc_plus.c:656 #: libparted/fs/hfs/reloc_plus.c:769 msgid "The file system contains errors." msgstr "Systém souborů obsahuje chyby." #: libparted/fs/hfs/advfs_plus.c:285 msgid "Bad blocks could not be read." msgstr "Nelze Äíst Å¡patné bloky." #: libparted/fs/hfs/cache.c:137 #, c-format msgid "" "Trying to register an extent starting at block 0x%X, but another one already " "exists at this position. You should check the file system!" msgstr "" "Pokouším se zaregistrovat rozsah zaÄínající na bloku 0x%X, ale v tomto " "umístÄ›ní již jeden existuje. MÄ›li byste zkontrolovat systém souborů!" #: libparted/fs/hfs/cache.c:214 #, c-format msgid "" "Trying to move an extent from block Ox%X to block Ox%X, but another one " "already exists at this position. This should not happen!" msgstr "" "Pokouším se pÅ™esunout rozsah z bloku 0x%X do bloku 0x%X, ale v tomto " "umístÄ›ní již jeden existuje. To by se nemÄ›lo stát!" #: libparted/fs/hfs/file.c:143 #, c-format msgid "Could not update the extent cache for HFS file with CNID %X." msgstr "Nemohu aktualizovat cache rozsahů pro soubor HFS s CNID %X." #: libparted/fs/hfs/file.c:180 #, c-format msgid "Trying to read HFS file with CNID %X behind EOF." msgstr "Pokus Äíst soubor HFS s CNID %X za koncem souboru." #: libparted/fs/hfs/file.c:190 libparted/fs/hfs/file.c:220 #, c-format msgid "Could not find sector %lli of HFS file with CNID %X." msgstr "Nemohu najít sektor %lli souboru HFS s CNID %X." #: libparted/fs/hfs/file.c:210 #, c-format msgid "Trying to write HFS file with CNID %X behind EOF." msgstr "Pokus zapisovat do souboru HFS s CNID %X za konec souboru." #: libparted/fs/hfs/file_plus.c:157 #, c-format msgid "Could not update the extent cache for HFS+ file with CNID %X." msgstr "Nemohu aktualizovat cache rozsahů pro soubor HFS+ s CNID %X." #: libparted/fs/hfs/file_plus.c:202 #, c-format msgid "Trying to read HFS+ file with CNID %X behind EOF." msgstr "Pokus Äíst soubor HFS+ s CNID %X za koncem souboru." #: libparted/fs/hfs/file_plus.c:213 libparted/fs/hfs/file_plus.c:256 #, c-format msgid "Could not find sector %lli of HFS+ file with CNID %X." msgstr "Nemohu najít sektor %lli souboru HFS+ s CNID %X." #: libparted/fs/hfs/file_plus.c:245 #, c-format msgid "Trying to write HFS+ file with CNID %X behind EOF." msgstr "Pokus zapisovat do souboru HFS+ s CNID %X za konec souboru." #: libparted/fs/hfs/hfs.c:232 msgid "Sorry, HFS cannot be resized that way yet." msgstr "Lituji, HFS zatím nelze takto mÄ›nit velikost." #: libparted/fs/hfs/hfs.c:262 libparted/fs/hfs/hfs.c:641 msgid "Data relocation has failed." msgstr "PÅ™esun dat selhal." #: libparted/fs/hfs/hfs.c:281 msgid "Data relocation left some data in the end of the volume." msgstr "PÅ™esun dat nechal na konci svazku nÄ›jaká data." #: libparted/fs/hfs/hfs.c:320 msgid "writing HFS Master Directory Block" msgstr "zapisuhi blok hlavního adresáře HFS" #: libparted/fs/hfs/hfs.c:468 msgid "No valid HFS[+X] signature has been found while opening." msgstr "PÅ™i otevírání nebyl nalezen platný podpis HFS[+X]." #: libparted/fs/hfs/hfs.c:478 #, c-format msgid "Version %d of HFS+ isn't supported." msgstr "Verze %d HFS+ není podporována." #: libparted/fs/hfs/hfs.c:489 #, c-format msgid "Version %d of HFSX isn't supported." msgstr "Verze %d HFSX není podporována." #: libparted/fs/hfs/hfs.c:672 msgid "Data relocation left some data at the end of the volume." msgstr "PÅ™esun dat nechal na konci svazku nÄ›jaká data." #: libparted/fs/hfs/hfs.c:720 msgid "Error while writing the allocation file." msgstr "Chyba pÅ™i zápisu do souboru alokací." #: libparted/fs/hfs/hfs.c:735 msgid "Error while writing the compatibility part of the allocation file." msgstr "Chyba pÅ™i zápisu do Äásti pro kompatibilitu souboru alokací." #: libparted/fs/hfs/hfs.c:750 msgid "writing HFS+ Volume Header" msgstr "zapisuji hlaviÄku svazku HFS+" #: libparted/fs/hfs/hfs.c:850 msgid "An error occurred while looking for the mandatory bad blocks file." msgstr "PÅ™i hledání povinného souboru Å¡patných bloků doÅ¡lo k chybÄ›." #: libparted/fs/hfs/hfs.c:904 msgid "" "It seems there is an error in the HFS wrapper: the bad blocks file doesn't " "contain the embedded HFS+ volume." msgstr "" "V obalu HFS je zÅ™ejmÄ› chyba: soubor Å¡patných bloků neobsahuje vložený svazek " "HFS+." #: libparted/fs/hfs/hfs.c:940 msgid "Sorry, HFS+ cannot be resized that way yet." msgstr "Lituji, HFS+ zatím nelze takto mÄ›nit velikost." #: libparted/fs/hfs/hfs.c:975 msgid "shrinking embedded HFS+ volume" msgstr "zmenÅ¡uji vložený svazek HFS+" #: libparted/fs/hfs/hfs.c:991 msgid "Resizing the HFS+ volume has failed." msgstr "ZmÄ›na velikosti svazku HFS+ selhala." #: libparted/fs/hfs/hfs.c:998 msgid "shrinking HFS wrapper" msgstr "zmenÅ¡uji obal HFS" #: libparted/fs/hfs/hfs.c:1007 msgid "Updating the HFS wrapper has failed." msgstr "Aktualizace obalu HFS selhala." #: libparted/fs/hfs/hfs.c:1109 libparted/fs/hfs/hfs.c:1194 #, c-format msgid "" "This is not a real %s check. This is going to extract special low level " "files for debugging purposes." msgstr "" "Toto není skuteÄná kontrola %s. Toto pro ladicí úÄely extrahuje speciální " "nízkoúrovňové soubory." #: libparted/fs/hfs/journal.c:155 msgid "Bad block list header checksum." msgstr "Kontrolní souÄet hlaviÄky seznamu Å¡patných bloků." #: libparted/fs/hfs/journal.c:168 #, c-format msgid "" "Invalid size of a transaction block while replaying the journal (%i bytes)." msgstr "Neplatná velikost bloku transakce pÅ™i pÅ™ehrávání žurnálu (%i bajtů)." #: libparted/fs/hfs/journal.c:260 msgid "" "Journal stored outside of the volume are not supported. Try to desactivate " "the journal and run Parted again." msgstr "" "Žurnály uložené mimo svazek nejsou podporovány. Zkuste deaktivovat žurnál a " "spusÅ¥te Parted znovu." #: libparted/fs/hfs/journal.c:271 msgid "Journal offset or size is not multiple of the sector size." msgstr "Posun nebo velikost žurnálu není násobek velikosti sektoru." #: libparted/fs/hfs/journal.c:292 msgid "Incorrect magic values in the journal header." msgstr "Neplatné kouzelné hodnoty v hlaviÄce žurnálu." #: libparted/fs/hfs/journal.c:302 msgid "Journal size mismatch between journal info block and journal header." msgstr "" "Nesoulad velikosti žurnálu mezi blokem informací o žurnálu a hlaviÄkou " "žurnálu." #: libparted/fs/hfs/journal.c:314 msgid "Some header fields are not multiple of the sector size." msgstr "NÄ›které pole hlaviÄky nejsou násobek velikosti sektoru." #: libparted/fs/hfs/journal.c:323 msgid "" "The sector size stored in the journal is not 512 bytes. Parted only " "supports 512 bytes length sectors." msgstr "" "Velikost sektoru uložená v žurnálunení 512. Parted podporuje jen sektory " "velké 512 bajtů." #: libparted/fs/hfs/journal.c:335 msgid "Bad journal checksum." msgstr "Å patný kontrolní souÄet žurnálu." #: libparted/fs/hfs/journal.c:353 msgid "" "The journal is not empty. Parted must replay the transactions before " "opening the file system. This will modify the file system." msgstr "" "Žurnál není prázdný. PÅ™ed otevÅ™ením systému souborů musí Parted pÅ™ehrát " "transakce. To zmÄ›ní systém souborů." #: libparted/fs/hfs/journal.c:381 msgid "" "The volume header or the master directory block has changed while replaying " "the journal. You should restart Parted." msgstr "" "HlaviÄka svazku nebo hlavní blok adresáře se pÅ™i pÅ™ehrávání žurnálu zmÄ›nil. " "MÄ›li byste restartovat Parted." #: libparted/fs/hfs/probe.c:51 #, c-format msgid "" "Parted can't use HFS file systems on disks with a sector size not equal to " "%d bytes." msgstr "" "Parted nemůže používat systémy souborů HFS na disků s velikostí sektoru " "jinou než %d bajtů." #: libparted/fs/hfs/reloc.c:151 libparted/fs/hfs/reloc_plus.c:155 msgid "An extent has not been relocated." msgstr "Rozsah nebyl pÅ™esunut." #: libparted/fs/hfs/reloc.c:251 libparted/fs/hfs/reloc_plus.c:307 msgid "" "A reference to an extent comes from a place it should not. You should check " "the file system!" msgstr "" "Odkaz na rozsah pÅ™ichází z místa, ze kterého by nemÄ›la. MÄ›li byste " "zkontrolovat systém souborů!" #: libparted/fs/hfs/reloc.c:381 msgid "This HFS volume has no catalog file. This is very unusual!" msgstr "Tento svazek HFS nemá soubor katalogu. To je velice neobvyklé!" #: libparted/fs/hfs/reloc.c:475 msgid "This HFS volume has no extents overflow file. This is quite unusual!" msgstr "" "Tento svazek HFS nemá soubor pÅ™eteÄení rozsahů. To je celkem neobvyklé!" #: libparted/fs/hfs/reloc.c:517 libparted/fs/hfs/reloc_plus.c:666 msgid "" "The extents overflow file should not contain its own extents! You should " "check the file system." msgstr "" "Soubor pÅ™eteÄení rozsahů by nemÄ›l obsahovat své vlastní rozsahy! MÄ›li byste " "zkontrolovat systém souborů." #: libparted/fs/hfs/reloc.c:574 libparted/fs/hfs/reloc_plus.c:844 msgid "Could not cache the file system in memory." msgstr "Nemohu keÅ¡ovat systém souborů v pamÄ›ti." #: libparted/fs/hfs/reloc.c:635 libparted/fs/hfs/reloc_plus.c:905 msgid "Bad blocks list could not be loaded." msgstr "Seznam Å¡patných bloků nelze naÄíst." #: libparted/fs/hfs/reloc.c:649 libparted/fs/hfs/reloc_plus.c:921 msgid "An error occurred during extent relocation." msgstr "PÅ™i pÅ™esunu rozsahu doÅ¡lo k chybÄ›." #: libparted/fs/hfs/reloc_plus.c:494 msgid "This HFS+ volume has no catalog file. This is very unusual!" msgstr "Tento svazek HFS+ nemá soubor katalogu. To je velice neobvyklé!" #: libparted/fs/hfs/reloc_plus.c:617 msgid "This HFS+ volume has no extents overflow file. This is quite unusual!" msgstr "" "Tento svazek HFS+ nemá soubor pÅ™eteÄení rozsahů. To je celkem neobvyklé!" #: parted/parted.c:123 msgid "displays this help message" msgstr "zobrazí tuto zprávu nápovÄ›dy" #: parted/parted.c:124 msgid "lists partition layout on all block devices" msgstr "vypíše rozložení oddílů na vÅ¡ech blokových zařízeních" #: parted/parted.c:125 msgid "displays machine parseable output" msgstr "zobrazí strojovÄ› zpracovatelný výstup" #: parted/parted.c:126 msgid "never prompts for user intervention" msgstr "nikdy nežádá o intervenci uživatele" #: parted/parted.c:127 msgid "displays the version" msgstr "zobrazí verzi" #: parted/parted.c:128 #, fuzzy msgid "alignment for new partitions" msgstr "Nemohu vytvářet další oddíly." #: parted/parted.c:140 msgid "" "NUMBER is the partition number used by Linux. On MS-DOS disk labels, the " "primary partitions number from 1 to 4, logical partitions from 5 onwards.\n" msgstr "" "ÄŒÃSLO je Äíslo oddílu používané Linuxem. Na jmenovkách disku MS-DOS mají " "primární oddíly Äísla 1-4 a logické oddíly od 5 dál.\n" #: parted/parted.c:143 msgid "LABEL-TYPE is one of: " msgstr "TYP-JMENOVKY je jeden z: " #: parted/parted.c:144 msgid "FLAG is one of: " msgstr "PŘEPÃNAÄŒ je jeden z: " #: parted/parted.c:145 msgid "UNIT is one of: " msgstr "JEDNOTKA je jedna z: " #: parted/parted.c:146 msgid "desired alignment: minimum or optimal" msgstr "" #: parted/parted.c:147 msgid "PART-TYPE is one of: primary, logical, extended\n" msgstr "TYP-ODDÃLU je jeden z: primary, logical, extended\n" #: parted/parted.c:149 msgid "FS-TYPE is one of: " msgstr "TYP-FS je jeden z: " #: parted/parted.c:150 msgid "" "START and END are disk locations, such as 4GB or 10%. Negative values count " "from the end of the disk. For example, -1s specifies exactly the last " "sector.\n" msgstr "" "ZAÄŒÃTEK a KONEC jsou místa na disku, napÅ™. 4GB nebo 10%. Záporné hodnoty se " "poÄítají od konce disku. Například -1s urÄuje pÅ™esnÄ› poslední sektor.\n" #: parted/parted.c:153 msgid "STATE is one of: on, off\n" msgstr "STAV je jeden z: on, off\n" #: parted/parted.c:154 msgid "DEVICE is usually /dev/hda or /dev/sda\n" msgstr "ZAŘÃZENà je obvykle /dev/hda nebo /dev/sda\n" #: parted/parted.c:155 msgid "NAME is any word you want\n" msgstr "NÃZEV je libovolné slovo\n" #: parted/parted.c:156 msgid "The partition must have one of the following FS-TYPEs: " msgstr "Oddíl musí mít jeden z následujících TYPů-FS:" #: parted/parted.c:160 msgid "" "Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n" "This program is free software, covered by the GNU General Public License.\n" "\n" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" msgstr "" "Copyright © 1998 — 2006 Free Software Foundation, Inc.\n" "Toto je volné programové vybavení podle GNU General Public License.\n" "\n" "Tento program je rozÅ¡iÅ™ován v nadÄ›ji, že bude užiteÄný,\n" "ale BEZ JAKÉKOLI ZÃRUKY; ani bez pÅ™edpokládané záruky\n" "PRODEJNOSTI nebo VHODNOSTI PRO KONKRÉTNà ÚČEL. Další\n" "podrobnosti najdete v GNU General Public License.\n" "\n" #: parted/parted.c:208 #, c-format msgid "%0.f%%\t(time left %.2d:%.2d)" msgstr "%0.f%%\t(zbylý Äas %.2d:%.2d)" #: parted/parted.c:227 #, c-format msgid "" "Partition %s is being used. You must unmount it before you modify it with " "Parted." msgstr "" "Oddíl %s se používá. Než jej budete upravovat Partedem, musíte jej odpojit." #: parted/parted.c:245 #, c-format msgid "Partition(s) on %s are being used." msgstr "Oddíl(a) na %s jsou používány." #: parted/parted.c:257 msgid "" "The existing file system will be destroyed and all data on the partition " "will be lost. Do you want to continue?" msgstr "" "Existující systém souborů bude zniÄen a vÅ¡echna data v oddílu budou " "ztracena. Chcete pokraÄovat?" #: parted/parted.c:269 #, c-format msgid "" "The existing disk label on %s will be destroyed and all data on this disk " "will be lost. Do you want to continue?" msgstr "" "Existující jmenovka disku na %s bude zniÄena a vÅ¡echna data na tomto disku " "budou ztracena. Chcete pokraÄovat?" #: parted/parted.c:487 #, c-format msgid "" "WARNING: you are attempting to use %s to operate on (%s) a file system.\n" "%s's file system manipulation code is not as robust as what you'll find in\n" "dedicated, file-system-specific packages like e2fsprogs. We recommend\n" "you use %s only to manipulate partition tables, whenever possible.\n" "Support for performing most operations on most types of file systems\n" "will be removed in an upcoming release.\n" msgstr "" #: parted/parted.c:508 parted/parted.c:702 parted/parted.c:1179 #: parted/parted.c:1263 parted/parted.c:1935 parted/parted.c:2016 #: parted/parted.c:2088 parted/parted.c:2122 msgid "Partition number?" msgstr "Číslo oddílu?" #: parted/parted.c:551 msgid "Source device?" msgstr "Zdrojové zařízení?" #: parted/parted.c:555 msgid "Source partition number?" msgstr "Číslo zdrojového oddílu?" #: parted/parted.c:560 msgid "Can't copy an extended partition." msgstr "Nemohu kopírovat rozšířený oddíl." #: parted/parted.c:566 msgid "Destination partition number?" msgstr "Číslo cílového oddílu?" #: parted/parted.c:655 msgid "New disk label type?" msgstr "Typ nové jmenovky disku?" #: parted/parted.c:706 parted/parted.c:788 parted/parted.c:1000 msgid "File system type?" msgstr "Typ souborového systému?" #: parted/parted.c:762 parted/parted.c:983 msgid "Partition type?" msgstr "Typ oddílu?" #: parted/parted.c:780 parted/parted.c:990 parted/parted.c:1266 msgid "Partition name?" msgstr "Název oddílu?" #: parted/parted.c:794 parted/parted.c:1002 parted/parted.c:1194 #: parted/parted.c:1883 parted/parted.c:1944 msgid "Start?" msgstr "ZaÄátek?" #: parted/parted.c:796 parted/parted.c:1005 parted/parted.c:1197 #: parted/parted.c:1885 parted/parted.c:1946 msgid "End?" msgstr "Konec?" #: parted/parted.c:862 parted/parted.c:1066 #, fuzzy, c-format msgid "" "You requested a partition from %s to %s.\n" "The closest location we can manage is %s to %s.%s" msgstr "" "Požádali jste o oddíl od %s do %s.\n" "Nejbližší umístÄ›ní, které zvládneme, je %s až %s. Je to pro vás jeÅ¡tÄ› " "pÅ™ijatelné?" #: parted/parted.c:867 parted/parted.c:1071 msgid "" "\n" "Is this still acceptable to you?" msgstr "" #: parted/parted.c:889 parted/parted.c:1093 msgid "The resulting partition is not properly aligned for best performance." msgstr "" #: parted/parted.c:995 msgid "An extended partition cannot hold a file system. Did you want mkpart?" msgstr "Rozšířený oddíl nemůže obsahovat systém souborů. ChtÄ›li jste mkpart?" #: parted/parted.c:1185 msgid "Can't move an extended partition." msgstr "Nemohu pÅ™esouvat rozšířený oddíl." #: parted/parted.c:1214 msgid "Can't move a partition onto itself. Try using resize, perhaps?" msgstr "Nemohu pÅ™esunout oddíl na sebe. Možná zkuste použít resize?" #: parted/parted.c:1360 #, c-format msgid "Minor: %d\n" msgstr "Minor: %d\n" #: parted/parted.c:1361 #, c-format msgid "Flags: %s\n" msgstr "PÅ™epínaÄe: %s\n" #: parted/parted.c:1362 #, c-format msgid "File System: %s\n" msgstr "Systém souborů: %s\n" #: parted/parted.c:1363 msgid "Size: " msgstr "Velikost: " #: parted/parted.c:1368 msgid "Minimum size: " msgstr "Minimální velikost: " #: parted/parted.c:1371 msgid "Maximum size: " msgstr "Maximální velikost: " #: parted/parted.c:1504 #, c-format msgid "Model: %s (%s)\n" msgstr "Model: %s (%s)\n" #: parted/parted.c:1506 #, c-format msgid "Disk %s: %s\n" msgstr "Disk %s: %s\n" #: parted/parted.c:1507 #, c-format msgid "Sector size (logical/physical): %lldB/%lldB\n" msgstr "Sector size (logical/physical): %lldB/%lldB\n" #: parted/parted.c:1525 #, c-format msgid "BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s.\n" msgstr "Geometrie cylindr,hlava,sektor BIOSu: %d,%d,%d. Každý cylindr je %s.\n" #: parted/parted.c:1534 #, c-format msgid "Partition Table: %s\n" msgstr "Tabulka oddílů: %s\n" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Number" msgstr "Číslo" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Start" msgstr "ZaÄátek" #: parted/parted.c:1550 parted/parted.c:1553 msgid "End" msgstr "Konec" #: parted/parted.c:1553 msgid "Size" msgstr "Velikost" #: parted/parted.c:1557 msgid "Type" msgstr "Typ" #: parted/parted.c:1559 msgid "File system" msgstr "Systém souborů" #: parted/parted.c:1562 msgid "Name" msgstr "Název" #: parted/parted.c:1564 msgid "Flags" msgstr "PÅ™epínaÄe" #: parted/parted.c:1621 msgid "Free Space" msgstr "Volné místo" #: parted/parted.c:1782 #, c-format msgid "" "A %s %s partition was found at %s -> %s. Do you want to add it to the " "partition table?" msgstr "" "Byl nalezen oddíl %s %s na %s -> %s. Chcete jej pÅ™idat do tabulky oddílů?" #: parted/parted.c:1821 msgid "searching for file systems" msgstr "hledám systémy souborů" #: parted/parted.c:2041 msgid "New device?" msgstr "Nové zařízení?" #: parted/parted.c:2086 msgid "alignment type(min/opt)" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d aligned\n" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d not aligned\n" msgstr "" #: parted/parted.c:2124 msgid "Flag to Invert?" msgstr "PÅ™epínaÄ, který zmÄ›nit?" #: parted/parted.c:2129 msgid "New state?" msgstr "Nový stav?" #: parted/parted.c:2166 msgid "Unit?" msgstr "Jednotka?" #: parted/parted.c:2348 #, fuzzy msgid "align-check" msgstr "check" #: parted/parted.c:2351 msgid "" "align-check TYPE N check partition N for TYPE(min|" "opt) alignment" msgstr "" #: parted/parted.c:2359 msgid "check" msgstr "check" #: parted/parted.c:2362 msgid "" "check NUMBER do a simple check on the file system" msgstr "" "check ÄŒÃSLO provést jednoduchou kontrolu " "systému souborů" #: parted/parted.c:2368 msgid "cp" msgstr "cp" #: parted/parted.c:2371 msgid "" "cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another " "partition" msgstr "" "cp [Z-ZAŘÃZENÃ] Z-ÄŒÃSLA NA-ÄŒÃSLO zkopírovat systém souborů na jiný " "oddíl" #: parted/parted.c:2377 msgid "help" msgstr "help" #: parted/parted.c:2380 msgid "" "help [COMMAND] print general help, or help on " "COMMAND" msgstr "" "help [PŘÃKAZ] vypsat obecnou nápovÄ›du nebo " "nápovÄ›du o PŘÃKAZu" #: parted/parted.c:2386 msgid "mklabel" msgstr "mklabel" #: parted/parted.c:2386 msgid "mktable" msgstr "mktable" #: parted/parted.c:2389 msgid "" "mklabel,mktable LABEL-TYPE create a new disklabel (partition " "table)" msgstr "" "mklabel,mktable TYP-JMENOVKY vytvoÅ™it novou jmenovku disku " "(tabulku oddílů)" #: parted/parted.c:2395 msgid "mkfs" msgstr "mkfs" #: parted/parted.c:2398 #, fuzzy msgid "" "mkfs NUMBER FS-TYPE make a FS-TYPE file system on " "partition NUMBER" msgstr "" "mkfs ÄŒÃSLO TYP-FS vytvoÅ™it systém souborů TYP-FS na " "oddílu ÄŒÃSLO" #: parted/parted.c:2404 msgid "mkpart" msgstr "mkpart" #: parted/parted.c:2407 msgid "mkpart PART-TYPE [FS-TYPE] START END make a partition" msgstr "mkpart TYP-ODDÃLU [TYP-FS] ZAÄŒÃTEK KONEC vytvoÅ™it oddíl" #: parted/parted.c:2413 msgid "" "'mkpart' makes a partition without creating a new file system on the " "partition. FS-TYPE may be specified to set an appropriate partition ID.\n" msgstr "" "'mkpart' vytvoří oddíl bez vytvoÅ™ení nového systému souborů na nÄ›m. TYP-FS " "může být urÄen pro nastavení odpovídajícího ID oddílu.\n" #: parted/parted.c:2418 msgid "mkpartfs" msgstr "mkpartfs" #: parted/parted.c:2421 msgid "" "mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system" msgstr "" "mkpartfs TYP-ODDÃLU TYP-FS ZAÄŒÃTEK KONEC vytvoÅ™it oddíl se systémem souborů" #: parted/parted.c:2427 msgid "move" msgstr "move" #: parted/parted.c:2430 msgid "move NUMBER START END move partition NUMBER" msgstr "move ÄŒÃSLO ZAÄŒÃTEK KONEC pÅ™esunout oddíl ÄŒÃSLO" #: parted/parted.c:2435 msgid "name" msgstr "name" #: parted/parted.c:2438 msgid "name NUMBER NAME name partition NUMBER as NAME" msgstr "name ÄŒÃSLO NÃZEV pojmenovat oddíl ÄŒÃSLO NÃZEV" #: parted/parted.c:2443 msgid "print" msgstr "print" #: parted/parted.c:2446 msgid "" "print [devices|free|list,all|NUMBER] display the partition table, " "available devices, free space, all found partitions, or a particular " "partition" msgstr "" "print [devices|free|list,all|ÄŒÃSLO] zobrazit tabulku oddílů, dostupná " "zařízení, volné místo, vÅ¡echny nalezené oddíly, nebo konkrétní oddíl" #: parted/parted.c:2451 msgid "" "Without arguments, 'print' displays the entire partition table. However with " "the following arguments it performs various other actions.\n" msgstr "" "'print' bez parametrů zobrazí celou tabulku oddílů. S následujícími " "parametry ale provede různé jiné akce.\n" #: parted/parted.c:2453 msgid " devices : display all active block devices\n" msgstr " devices : zobrazit vÅ¡echna aktivní bloková zařízení\n" #: parted/parted.c:2454 msgid "" " free : display information about free unpartitioned space on the " "current block device\n" msgstr "" " free : zobrazit informace o volném místÄ› mimo oddíly na aktuálním " "blokovém zařízení\n" #: parted/parted.c:2456 msgid "" " list, all : display the partition tables of all active block devices\n" msgstr "" " list, all : zobrazit tabulky oddílů vÅ¡ech aktivních blokových zařízení\n" #: parted/parted.c:2457 msgid "" " NUMBER : display more detailed information about this particular " "partition\n" msgstr "" " ÄŒÃSLO : zobrazit podrobnÄ›jší informace o tomto konkrétním oddílu\n" #: parted/parted.c:2462 msgid "quit" msgstr "quit" #: parted/parted.c:2465 msgid "quit exit program" msgstr "quit ukonÄit program" #: parted/parted.c:2470 msgid "rescue" msgstr "rescue" #: parted/parted.c:2473 msgid "" "rescue START END rescue a lost partition near START " "and END" msgstr "" "rescue ZAÄŒÃTEK KONEC zachránit ztracený oddíl poblíž " "ZAÄŒÃTKU a KONCE" #: parted/parted.c:2479 msgid "resize" msgstr "resize" #: parted/parted.c:2482 msgid "" "resize NUMBER START END resize partition NUMBER and its " "file system" msgstr "" "resize ÄŒÃSLO ZAÄŒÃTEK KONEC zmÄ›nit velikost oddílu ÄŒÃSLO a jeho " "systému souborů" #: parted/parted.c:2490 msgid "rm" msgstr "rm" #: parted/parted.c:2493 msgid "rm NUMBER delete partition NUMBER" msgstr "rm ÄŒÃSLO odstranit oddíl ÄŒÃSLO" #: parted/parted.c:2498 msgid "select" msgstr "select" #: parted/parted.c:2501 msgid "select DEVICE choose the device to edit" msgstr "select ZAŘÃZENà zvolit upravované zařízení" #: parted/parted.c:2506 msgid "set" msgstr "set" #: parted/parted.c:2509 msgid "" "set NUMBER FLAG STATE change the FLAG on partition NUMBER" msgstr "" "set ÄŒÃSLO PŘEPÃNAÄŒ STAV zmÄ›nit PŘEPÃNAÄŒ na oddílu ÄŒÃSLO" #: parted/parted.c:2515 msgid "toggle" msgstr "toggle" #: parted/parted.c:2518 msgid "" "toggle [NUMBER [FLAG]] toggle the state of FLAG on " "partition NUMBER" msgstr "" "toggle [ÄŒÃSLO [PŘEPÃNAÄŒ]] pÅ™epnout stav PŘEPÃNAÄŒE na oddílu " "ÄŒÃSLO" #: parted/parted.c:2524 msgid "unit" msgstr "unit" #: parted/parted.c:2527 msgid "unit UNIT set the default unit to UNIT" msgstr "" "unit JEDNOTKA nastavit implicitní jednotku na " "JEDNOTKA" #: parted/parted.c:2532 msgid "version" msgstr "version" #: parted/parted.c:2535 msgid "" "version display the version number and " "copyright information of GNU Parted" msgstr "" "version zobrazit Äíslo verze a informace o " "copyrightu GNU Parted" #: parted/parted.c:2539 msgid "" "'version' displays copyright and version information corresponding to this " "copy of GNU Parted\n" msgstr "" "'version' zobrazí informace o copyrightu a informace o verzi odpovídající " "této kopii GNU Parted\n" #: parted/parted.c:2607 #, fuzzy, c-format msgid "Usage: %s [-hlmsv] [-a] [DEVICE [COMMAND [PARAMETERS]]...]\n" msgstr "Použití: %s [-hlmsv] [ZAŘÃZENà [PŘÃKAZ [PARAMETRY]]...]\n" #: parted/parted.c:2651 msgid "No device found" msgstr "Nenalezeno žádné zařízení" #: parted/parted.c:2688 msgid "WARNING: You are not superuser. Watch out for permissions." msgstr "VAROVÃNÃ: Nejste superuživatel. Pozor na oprávnÄ›ní." #: parted/parted.c:2726 msgid "You may need to update /etc/fstab.\n" msgstr "Možná budete potÅ™ebovat aktualizovat /etc/fstab.\n" #: parted/ui.c:162 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n" msgstr "Vítá vás GNU Parted! Zobrazte seznam příkazů napsáním 'help'.\n" #: parted/ui.c:165 msgid "" "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n" "Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run " "in\n" "interactive mode.\n" msgstr "" "Použití: parted [PŘEPÃNAÄŒ]... [ZAŘÃZENà [PŘÃKAZ [PARAMETRY]...]...]\n" "Provést PŘÃKAZy s PARAMETRY na ZAŘÃZENÃ. Není-li zadán PŘÃKAZ, spustit\n" "v interaktivním režimu.\n" #: parted/ui.c:170 #, c-format msgid "" "\n" "\n" "You found a bug in GNU Parted! Here's what you have to do:\n" "\n" "Don't panic! The bug has most likely not affected any of your data.\n" "Help us to fix this bug by doing the following:\n" "\n" "Check whether the bug has already been fixed by checking\n" "the last version of GNU Parted that you can find at:\n" "\n" "\thttp://ftp.gnu.org/gnu/parted/\n" "\n" "Please check this version prior to bug reporting.\n" "\n" "If this has not been fixed yet or if you don't know how to check,\n" "please visit the GNU Parted website:\n" "\n" "\thttp://www.gnu.org/software/parted\n" "\n" "for further information.\n" "\n" "Your report should contain the version of this release (%s)\n" "along with the error message below, the output of\n" "\n" "\tparted DEVICE unit co print unit s print\n" "\n" "and the following history of commands you entered.\n" "Also include any additional information about your setup you\n" "consider important.\n" msgstr "" "\n" "\n" "NaÅ¡li jste chybu v GNU Parted! Musíte udÄ›lat toto:\n" "\n" "NepanikaÅ™te! Chyba pravdÄ›podobnÄ› nemÄ›la vliv na žádná vaÅ¡e data.\n" "Pomozte nám opravit tuto chybu takto:\n" "\n" "Zkontrolujte, jestli již byla chyba opravena, zkontrolováním\n" "nejnovÄ›jší verze GNU Parted, kterou můžete najít na:\n" "\n" "\thttp://ftp.gnu.org/gnu/parted/\n" "\n" "PÅ™ed hlášením chyby prosím zkontrolujte tuto verzi.\n" "\n" "Pokud to jeÅ¡tÄ› nebylo opraveno nebo pokud nevíte, jak to zkontrolovat,\n" "navÅ¡tivte prosím WWW server GNU Parted:\n" "\n" "\thttp://www.gnu.org/software/parted\n" "\n" "pro více informací.\n" "\n" "VaÅ¡e zpráva by mÄ›la obsahovat verzi tohoto programu (%s)\n" "a zprávu o chybÄ› níže, výstup\n" "\n" "\tparted ZAŘÃZENà unit co print unit s print\n" "\n" "a následující historii příkazů, které jste zadali.\n" "Také pÅ™idejte další informace o vaší konfiguraci, které\n" "považujete za důležité.\n" #: parted/ui.c:291 msgid "" "\n" "Command History:\n" msgstr "" "\n" "Historie příkazů:\n" #: parted/ui.c:354 msgid "" "\n" "Error: SEGV_MAPERR (Address not mapped to object)\n" msgstr "" "\n" "Chyba: SEGV_MAPERR (Adresa nepÅ™iÅ™azena objektu)\n" #: parted/ui.c:360 msgid "" "\n" "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n" msgstr "" "\n" "Chyba: SEGV_ACCERR (Neplatné oprávnÄ›ní namapovaného objektu)\n" #: parted/ui.c:365 msgid "" "\n" "Error: A general SIGSEGV signal was encountered.\n" msgstr "" "\n" "Chyba: Byl pÅ™ijat obecný signál SIGSEGV.\n" #: parted/ui.c:389 msgid "" "\n" "Error: FPE_INTDIV (Integer: divide by zero)" msgstr "" "\n" "Chyba: FPE_INTDIV (Celá Äísla: dÄ›lení nulou)" #: parted/ui.c:394 msgid "" "\n" "Error: FPE_INTOVF (Integer: overflow)" msgstr "" "\n" "Chyba: FPE_INTOVF (Celá Äísla: pÅ™eteÄení)" #: parted/ui.c:399 msgid "" "\n" "Error: FPE_FLTDIV (Float: divide by zero)" msgstr "" "\n" "Chyba: FPE_FLTDIV (Plovoucí: dÄ›lení nulou)" #: parted/ui.c:404 msgid "" "\n" "Error: FPE_FLTOVF (Float: overflow)" msgstr "" "\n" "Chyba: FPE_FLTOVF (Plovoucí: pÅ™eteÄení)" #: parted/ui.c:409 msgid "" "\n" "Error: FPE_FLTUND (Float: underflow)" msgstr "" "\n" "Chyba: FPE_FLTUND (Plovoucí: podteÄení)" #: parted/ui.c:414 msgid "" "\n" "Error: FPE_FLTRES (Float: inexact result)" msgstr "" "\n" "Chyba: FPE_FLTRES (Plovoucí: nepÅ™esný výsledek)" #: parted/ui.c:419 msgid "" "\n" "Error: FPE_FLTINV (Float: invalid operation)" msgstr "" "\n" "Chyba: FPE_FLTINV (Plovoucí: neplatný výsledek)" #: parted/ui.c:424 msgid "" "\n" "Error: FPE_FLTSUB (Float: subscript out of range)" msgstr "" "\n" "Chyba: FPE_FLTSUB (Plovoucí: index mimo rozsah)" #: parted/ui.c:429 msgid "" "\n" "Error: A general SIGFPE signal was encountered." msgstr "" "\n" "Chyba: Byl pÅ™ijat obecný signál SIGFPE." #: parted/ui.c:453 msgid "" "\n" "Error: ILL_ILLOPC (Illegal Opcode)" msgstr "" "\n" "Chyba: ILL_ILLOPC (Neplatný kód operace)" #: parted/ui.c:458 msgid "" "\n" "Error: ILL_ILLOPN (Illegal Operand)" msgstr "" "\n" "Chyba: ILL_ILLOPN (Neplatný parametr)" #: parted/ui.c:463 msgid "" "\n" "Error: ILL_ILLADR (Illegal addressing mode)" msgstr "" "\n" "Chyba: ILL_ILLADR (Neplatný režim adresování)" #: parted/ui.c:468 msgid "" "\n" "Error: ILL_ILLTRP (Illegal Trap)" msgstr "" "\n" "Chyba: ILL_ILLTRP (Neplatné zachycení)" #: parted/ui.c:473 msgid "" "\n" "Error: ILL_PRVOPC (Privileged Opcode)" msgstr "" "\n" "Chyba: ILL_PRVOPC (Privilegovaný kód operace)" #: parted/ui.c:478 msgid "" "\n" "Error: ILL_PRVREG (Privileged Register)" msgstr "" "\n" "Chyba: ILL_PRVREG (Privilegovaný registr)" #: parted/ui.c:483 msgid "" "\n" "Error: ILL_COPROC (Coprocessor Error)" msgstr "" "\n" "Chyba: ILL_COPROC (Chyba koprocesoru)" #: parted/ui.c:488 msgid "" "\n" "Error: ILL_BADSTK (Internal Stack Error)" msgstr "" "\n" "Chyba: ILL_BADSTK (Interní chyba zásobníku)" #: parted/ui.c:493 msgid "" "\n" "Error: A general SIGILL signal was encountered." msgstr "" "\n" "Chyba: Byl pÅ™ijat obecný signál SIGILL." #: parted/ui.c:892 #, c-format msgid "invalid token: %s" msgstr "neplatný token: %s" #: parted/ui.c:1048 msgid "Expecting a partition number." msgstr "OÄekávám Äíslo oddílu." #: parted/ui.c:1057 msgid "Partition doesn't exist." msgstr "Oddíl neexistuje." #: parted/ui.c:1077 msgid "Expecting a file system type." msgstr "OÄekávám typ systému souborů." #: parted/ui.c:1084 #, c-format msgid "Unknown file system type \"%s\"." msgstr "Neznámý typ systému souborů \"%s\"." #: parted/ui.c:1104 msgid "Expecting a disk label type." msgstr "OÄekávám typ jmenovky disku." #: parted/ui.c:1202 msgid "Can't create any more partitions." msgstr "Nemohu vytvářet další oddíly." #: parted/ui.c:1212 msgid "Expecting a partition type." msgstr "OÄekávám typ oddílu." #: parted/ui.c:1360 msgid "on" msgstr "on" #: parted/ui.c:1361 msgid "off" msgstr "off" #: parted/ui.c:1378 msgid "optimal" msgstr "" #: parted/ui.c:1379 msgid "minimal" msgstr "" #: parted/ui.c:1512 msgid "OPTIONs:" msgstr "PŘEPÃNAÄŒe:" #: parted/ui.c:1517 msgid "COMMANDs:" msgstr "PŘÃKAZy:" #: parted/ui.c:1520 #, fuzzy, c-format msgid "" "\n" "Report bugs to %s\n" msgstr "" "\n" "Chyby hlaste na <%s>.\n" #: parted/ui.c:1527 #, c-format msgid "Using %s\n" msgstr "Používám %s\n" #: parted/ui.c:1601 msgid "This command does not make sense in non-interactive mode.\n" msgstr "Tento příkaz nedává smysl v neinteraktivním režimu.\n" #~ msgid "" #~ "Device %s has a logical sector size of %lld. Not all parts of GNU Parted " #~ "support this at the moment, and the working code is HIGHLY EXPERIMENTAL.\n" #~ msgstr "" #~ "Zařízení %s má logickou velikost sektoru %lld. Ne vÅ¡echny Äásti GNU " #~ "Parted to momentálnÄ› podporují, a fungující kód je VELICE " #~ "EXPERIMENTÃLNÃ.\n" #, fuzzy #~ msgid "" #~ "Could not determine minimum io size for %s: %s.\n" #~ "Using the default size (%lld)." #~ msgstr "" #~ "Nemohu zjistit velikost sektoru pro %s: %s.\n" #~ "Používám implicitní velikost sektoru (%lld)." #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: neplatný pÅ™epínaÄ -- %c\n" #~ msgid "Unable to determine the block size of this dasd" #~ msgstr "Nemohu urÄit bloku tohoto dasd" #~ msgid "" #~ "The kernel was unable to re-read the partition table on %s (%s). This " #~ "means Linux won't know anything about the modifications you made until " #~ "you reboot. You should reboot your computer before doing anything with " #~ "%s." #~ msgstr "" #~ "Jádro nemohlo znovu naÄíst tabulku oddílů na %s (%s). To znamená, že " #~ "Linux nebude vÄ›dÄ›t nic o zmÄ›nách, které jste provedli, dokud " #~ "nerestartujete systém. MÄ›li byste svůj poÄítaÄ restartovat, než budete s " #~ "%s nÄ›co dÄ›lat." #~ msgid "File system has an incompatible feature enabled." #~ msgstr "Systém souborů má povolenou nekompatibilní vlastnost." #~ msgid "IDE" #~ msgstr "IDE" #~ msgid "SCSI" #~ msgstr "SCSI" #~ msgid "Device %s is neither a SCSI nor IDE drive." #~ msgstr "Zařízení %s není disk SCSI ani IDE." #~ msgid "Error reading %s (%s) to determine if partition is mounted." #~ msgstr "Chyba pÅ™i Ätení %s (%s) pro urÄení, jestli je oddíl pÅ™ipojen." #~ msgid "" #~ "Unable to determine if partitions are mounted via /proc/mounts or /etc/" #~ "mtab. Make sure you don't attempt to resize or modify mounted file " #~ "systems. (Even read-only mounted)" #~ msgstr "" #~ "Nemohu urÄit pomocí /proc/mounts nebo /etc/mtab, jestli jsou oddíly " #~ "pÅ™ipojeny. PÅ™esvÄ›dÄte se, že se nepokoušíte zmÄ›nit velikost nebo mÄ›nit " #~ "pÅ™ipojené soubory souborů. (I pÅ™ipojené jen pro Ätení)" #~ msgid "" #~ "The partition table on %s is inconsistent. There are many reasons why " #~ "this might be the case. However, the most likely reason is that Linux " #~ "detected the BIOS geometry for %s incorrectly. GNU Parted suspects the " #~ "real geometry should be %d/%d/%d (not %d/%d/%d). You should check with " #~ "your BIOS first, as this may not be correct. You can inform Linux by " #~ "adding the parameter %s=%d,%d,%d to the command line. See the LILO or " #~ "GRUB documentation for more information. If you think Parted's suggested " #~ "geometry is correct, you may select Ignore to continue (and fix Linux " #~ "later). Otherwise, select Cancel (and fix Linux and/or the BIOS now)." #~ msgstr "" #~ "Tabulka oddílů na %s není konzistentní. To se může stát z mnoha důvodů. " #~ "NejpravdÄ›podobnÄ›jší důvod je, že Linux nesprávnÄ› detekoval geometrii " #~ "BIOSu pro %s. GNU Parted má podezÅ™ení, že skuteÄná geometrie by mÄ›la být " #~ "%d/%d/%d (ne %d/%d/%d). MÄ›li byste to nejdřív zkontrolovat ve svém BIOSu, " #~ "protože to možná není správnÄ›. Linux můžete informovat pÅ™idáním parametru " #~ "%s=%d,%d%d na příkazovém řádku. Pro více informací viz dokumentaci o LILO " #~ "nebo GRUB. Jestliže si myslíte, že geometrie Partedu je správná, můžete " #~ "pokraÄovat zvolením Ignorovat (a opravit Linux pozdÄ›ji). V opaÄném " #~ "případÄ› zvolte ZruÅ¡it (a opravte Linux a/nebo BIOS hned)." #~ msgid "" #~ "The partition table on %s is inconsistent. There are many reasons why " #~ "this might be the case. Often, the reason is that Linux detected the " #~ "BIOS geometry incorrectly. However, this does not appear to be the case " #~ "here. It is safe to ignore,but ignoring may cause (fixable) problems " #~ "with some boot loaders, and may cause problems with FAT file systems. " #~ "Using LBA is recommended." #~ msgstr "" #~ "Tabulka oddílů na %s není konzistentní. To se může stát z mnoha důvodů. " #~ "ÄŒasto se stává, že Linux nesprávnÄ› detekuje geometrii BIOSu. To ale není " #~ "tento případ. Můžete problém bez obav ignorovat, ale jeho ignorování může " #~ "způsobit (opravitelné) problémy s nÄ›kterými zavadÄ›Äi systému a může " #~ "způsobit problémy se systémy souborů FAT. DoporuÄuje se používat LBA." #~ msgid "" #~ "Unable to align partition properly. This probably means that another " #~ "partitioning tool generated an incorrect partition table, because it " #~ "didn't have the correct BIOS geometry. It is safe to ignore,but ignoring " #~ "may cause (fixable) problems with some boot loaders." #~ msgstr "" #~ "Nemohu správnÄ› zarovnat oddíl. To pravdÄ›podobnÄ› znamená, že jiný nástroj " #~ "na tvorbu oddílů vygeneroval nesprávnou tabulku oddílů, protože nemÄ›l " #~ "správnou geometrii BIOSu. Tento problém můžete bez obav ignorovat, ale " #~ "jeho ignorování může způsobit (opravitelné) problémy s nÄ›kterými zavadÄ›Äi " #~ "systému." #~ msgid "Attempt to read sectors %ld-%ld outside of partition on %s" #~ msgstr "Pokus Äíst sektory %ld-%ld mimo oddíl na %s" #~ msgid "" #~ "This ext2 filesystem has a rather strange layout! Parted can't resize " #~ "this (yet)." #~ msgstr "" #~ "Tento systém souborů ext2 má ponÄ›kud zvláštní rozložení! Parted (jeÅ¡tÄ›) " #~ "neumí zmÄ›nit jeho velikost." #~ msgid "File system has an invalid signature for a FAT file systems." #~ msgstr "Systém souborů má neplatný podpis pro systémy souborů FAT." #~ msgid "where necessary, prompts for user intervention" #~ msgstr "je-li potÅ™eba, požádá o intervenci uživatele" #~ msgid "" #~ "Partition %s is being used. Modifying it while it is in use could cause " #~ "severe corruption." #~ msgstr "" #~ "Oddíl %s je používán. Úpravy oddílu, který je používán, mohou vést k " #~ "vážnému poÅ¡kození dat." #~ msgid "Disk geometry for %s: 0.000-%.3f megabytes\n" #~ msgstr "Geometrie disku pro %s: 0.000-%.3f megabajtů\n" #~ msgid "Disk label type: %s\n" #~ msgstr "Typ jmenovky disku: %s\n" #~ msgid "Type " #~ msgstr "Typ " #~ msgid "Name " #~ msgstr "Název " #~ msgid "" #~ " You have Windows FAT partition(s) that are not using LBA. If your BIOS " #~ "supports LBA, then you should switch to LBA by setting the LBA flag on " #~ "all FAT partitions. Otherwise, make sure the operating system and the " #~ "BIOS have the same geometry before resizing any FAT partitions." #~ msgstr "" #~ "Máte oddíl(y) Windows FAT, které nepoužívají LBA. Pokud váš BIOS " #~ "podporuje LBA, mÄ›li byste pÅ™ejít na LBA nastavením pÅ™epínaÄe LBA na vÅ¡ech " #~ "oddílech FAT. V opaÄném případÄ› se pÅ™ed zmÄ›nou velikosti oddílů FAT " #~ "pÅ™esvÄ›dÄete, že operaÄní systém a BIOS mají stejnou geometrii." parted-2.3/po/ChangeLog.00000644000000000000000000000307711324137521012060 000000000000002004-03-11 gettextize * Makefile.in.in: Upgrade to gettext-0.14.1. * boldquot.sed: New file, from gettext-0.14.1. * en@boldquot.header: New file, from gettext-0.14.1. * en@quot.header: New file, from gettext-0.14.1. * insert-header.sin: New file, from gettext-0.14.1. * quot.sed: New file, from gettext-0.14.1. * remove-potcdate.sin: New file, from gettext-0.14.1. * Rules-quot: New file, from gettext-0.14.1. 2003-06-13 gettextize * Makefile.in.in: Upgrade to gettext-0.10.40. 2002-11-15 gettextize * Makefile.in.in: Upgrade to gettext-0.10.40. 2001-12-31 gettextize * Makefile.in.in: Upgrade to gettext-0.10.40. 2001-12-27 gettextize * Makefile.in.in: Upgrade to gettext-0.10.40. 2001-12-16 gettextize * Makefile.in.in: Upgrade to gettext-0.10.40. 2001-12-12 gettextize * Makefile.in.in: Upgrade to gettext-0.10.40. 2001-11-09 gettextize * Makefile.in.in: Upgrade to gettext-0.10.40. 2001-07-14 gettextize * Makefile.in.in: Upgrade to gettext-0.10.38. * cat-id-tbl.c: Remove file. * stamp-cat-id: Remove file. ----------------------------------------------------------------------------- This file is part of GNU Parted Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation Inc. This file may be modified and/or distributed without restriction. This is not an invitation to misrepresent the history of GNU Parted. parted-2.3/po/nn.gmo0000644000000000000000000004633111400005705011260 00000000000000Þ•¼üûÜ ÈÉæ í2ø<+h}›º(Ð%ù<POH Dé. 2L<‰)¦!ÐGò(:<c@ ?á2!T][=¹I÷A"Tw(•¾Ýú'9W\b&¨$½âÿ;\W=´?ò>2q‚–œ¶­>d=£;áHf†˜œ¢Û±IU×-4 T4`)•¿ Öá ü (+=Mkƒ†+/»/ë0*.[)Š´)Í÷  ") L R 3l   ¯ È Ï <ç ;$!<`!;!<Ù!‚"í™"Ö‡#/^$^Ž$hí$HV%HŸ%ˆè%šq&@ '@M'7Ž'ƒÆ'UJ( (´(AÐ()%)3<)p)x) —)¡)H©)ò)*~* ’* *¥*«*Ã*Æ*Û*ö*)ÿ*)+.+B+G+ N+Y+]+e+i+r+w++†++”+#™+½+Á+)Ä+î+ö+ü+,,,,&,),.,I,P, T,^,c,Š~, .$. +.46.?k.«.'Á.*é./6-/&d/?‹/Ë/]Þ/I<0R†0 Ù0 å0Zñ0'L13t1"¨1IË1*2C@2>„2UÃ2<3V3[]3F¹3Y4Z4m4&‹41²4'ä4' 545,K5x5—5ž5!£5/Å5õ5$646Q6l6‹6h¨6M7G_7L§7ô788#8Ë28Tþ8HS9Bœ9Iß9!):K:Z:c:i:òx:-k;F™<à<!è< =4=*K=v= =™= ³=¾= Ñ=Ü= à=ë=&þ=%>;>>>.E>0t>2¥>Ø>.ç>1?)H?r?,‹?¸?È?Ú?ê? @@>/@n@&‹@²@¹@AÐ@9A6LA6ƒACºA|þAù{BëuC,aDnŽDoýDCmEC±E·õEŸ­F,MG,zG9§GáGmcHÑHêHSIZI&oI=–IÔIÛI úIJQJ`JzJk}JéJúJÿJKK"K5KMK9VKK–K´K¹K ÀKËKÏKÖKÚKãKèKðK÷KLL LL!L.$LSLZL`LeLjL{L‚L‰LŒLL§L®L²LºL¿L,†¦Rwk¶¯jH§[PtLSªŒQ6š}­fWOn1h|m«C%V-a^A¡·{g$ƒ`s’ #yFµ… ‰¢3ˆ 4¥B¸<9´K»UiŠJz±?&Y³\œ>5°=2E•p‹:)D¹X€‚›¼(b!¬d‡£qe™ŽZ .²®”“'žN0G*@o–r+;Ÿlxv˜‘º ~—„"c¨I/_M¤ ©]8 Tu7%0.f%% (time left %.2d:%.2d)%s %s%s %s %s%s disk labels do not support extended partitions.%s disk labels don't support logical or extended partitions.%s during read on %s%s during seek for read on %s%s during seek for write on %s%s during write on %s%s is %dk, but it has %d clusters (%dk).%s is too small for a Mac disk label!%s trying to sync %s to diskATARAID ControllerBad FAT: cluster %d is cross-linked for %s. You should run dosfsck or scandisk.Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk.Bad directory entry for %s: first cluster is the end of file marker.BugCOMMANDs:Can't add a logical partition to %s, because there is no extended partition.Can't add another partition.Can't copy onto an overlapping partition.Can't create any more partitions.Can't have a logical partition outside of the extended partition on %s.Can't have a partition outside the disk!Can't have a primary partition inside an extended partition.Can't have logical partitions outside of the extended partition.Can't move a partition onto itself. Try using resize, perhaps?Can't write to %s, because it is opened read-only.CancelChanging the name of a root or swap partition will prevent Linux from recognising it as such.Checksum is wrong, indicating the partition table is corrupt.Cluster start delta = %d, which is not a multiple of the cluster size %d.Compaq Smart ArrayCorrupted Sun disk label detected.Could not detect file system.Could not get identity of device %s - %sCould not stat device %s - %s.Couldn't flush buffer cache!DAC960 RAID controllerDEVICE is usually /dev/hda or /dev/sda Destination partition number?End?ErrorError allocating buffer cache.Error initialising SCSI device %s - %sError opening %s: %sError writing to the root directory.Expecting a disk label type.Expecting a file system type.Expecting a partition number.Expecting a partition type.FAT %d media %x doesn't match the boot sector's media %x. You should probably run scandisk.FAT boot sector says clusters are 0 sectors. This is weird. FAT boot sector says logical sector size is 0. This is weird. FAT boot sector says there are no FAT tables. This is weird. FLAG is one of: FS-TYPE is one of: FatalFile System: %s File system doesn't have expected sizes for Windows to like it. Cluster size is %dk (%dk expected); number of clusters is %d (%d expected); size of FATs is %d sectors (%d expected).File system has an invalid cluster size for a FAT file system.File system has an invalid sector size for a FAT file system.File system has an invalid signature for a FAT file system.File system is reporting the free space as %d clusters, not %d clusters.File system too small for ext2.File system type?FixFlagsI2O ControllerIf you convert to FAT16, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual).If you convert to FAT32, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual). Also, converting to FAT32 will make the file system unreadable by MS DOS, MS Windows 95a, and MS Windows NT.If you leave your file system as FAT32, then you will not introduce any new problems.IgnoreInconsistent group descriptors!InformationInvalid partition table - recursive partition on %s.Invalid signature %x for Mac disk labels.LABEL-TYPE is one of: Minor: %d NAME is any word you want New device?New disk label type?New state?NoNo ImplementationNo device foundNo valid partition map found.Not enough free inodes!OKOPTIONs:Only logical partitions can be a boot file.Only primary partitions can be root partitions.Only primary partitions can be swap partitions.Out of memory.PART-TYPE is one of: primary, logical, extended Partition %d has an invalid length of 0 bytes!Partition %d has an invalid signature %x.Partition doesn't exist.Partition map has no partition map entry!Partition name?Partition number?Partition type?Partition(s) on %s are being used.RetrySTATE is one of: on, off Sorry, can't move the start of ext2 partitions yet!Source device?Source partition number?Start?Sun disk label is full.Support for checking %s file systems is not implemented yet.Support for copying %s file systems is not implemented yet.Support for creating %s file systems is not implemented yet.Support for opening %s file systems is not implemented yet.Support for resizing %s file systems is not implemented yet.The FATs don't match. If you don't know what this means, then select cancel, run scandisk on the file system, and then come back.The Whole Disk partition is the only available one left. Generally, it is not a good idea to overwrite this partition with a real one. Solaris may not be able to boot without it, and SILO (the sparc boot loader) appreciates it as well.The backup GPT table is not at the end of the disk, as it should be. This might mean that another operating system believes the disk is smaller. Fix, by moving the backup to the end (and removing the old backup)?The disk label describes a disk bigger than %s.The driver descriptor says the physical block size is %d bytes, but Linux says it is %d bytes.The file %s is marked as a system file. This means moving it could cause some programs to stop working.The file system can only be resized to this size by converting to FAT16.The file system can only be resized to this size by converting to FAT32.The format of the GPT partition table is version %x, which is newer than what Parted can recognise. Please tell us! bug-parted@gnu.orgThe information sector has the wrong signature (%x). Select cancel for now, and send in a bug report. If you're desperate, it's probably safe to ignore.The partition's boot region doesn't occupy the entire partition.The partition's data region doesn't occupy the entire partition.There are no possible configurations for this FAT type.This file system has a logical sector size of %d. GNU Parted is known not to work properly with sector sizes other than 512 bytes.This libparted doesn't have write support for %s. Perhaps it was compiled read-only.Too many bad pages.Too many primary partitionsUnable to open %s read-write (%s). %s has been opened read-only.Unable to open %s.Unable to probe store.Unable to satisfy all constraints on the partition.UnknownUnknown file system type "%s".Using %s WarningWeird block size on device descriptor: %d bytes is not divisible by 512.Would you like to use FAT32?YesYou should reinstall your boot loader before rebooting. Read section 4 of the Parted User documentation for more information.adding groupsbootcheckchecking for bad blockscpdisplays the versiondisplays this help messageextendedfat_table_alloc_cluster: no free clustersfreegrowing file systemhelphiddenhp-servicelbalogicallvmmetadatamkfsmklabelmkpartmkpartfsmovenamenever prompts for user interventionoffonped_device_new() Unsupported device typeprimaryprintquitraidraw block copyingrescueresizermrootsearching for file systemsselectsetshrinkingswapwriting per-group metadataProject-Id-Version: GNU parted 1.6.6-pre2 Report-Msgid-Bugs-To: bug-parted@gnu.org POT-Creation-Date: 2010-05-28 20:30+0200 PO-Revision-Date: 2003-07-04 19:03+0200 Last-Translator: Kjetil Torgrim Homme Language-Team: Norwegian Nynorsk Language: nn MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit %0.f%% (tid att %.2d:%.2d)%s %s%s %s %sEin %s-disklabel støttar ikkje utvidingspartisjonar.%s-disklablar støttar ikkje logiske eller utvidingspartisjonar.%s under lesing av %s%s under posisjonering før lesing av %s%s under posisjonering før skriving til %s%s under skriving til %s%s er %d KiB, men har %d allokeringseiningar (%d KiB).%s er for liten for ein Mac-disklabel!Fekk feilmeldinga «%s» ved forsøk på å synkronisera %s til diskATARAID-kontrollerFeil på FAT: allokeringseining %d er krysslenka for %s. Du bør køyre dosfsck eller scandisk.Feil på FAT: endelaus kjede for %s. Du bør køyre dosfsck eller scandisk.Feil i katalogoppføringa for %s: første allokeringseininga markerer slutt på fila.ProgramfeilKOMMANDOar:Kan ikkje leggja ein logisk partisjon til %s, sidan der ikkje er nokon utvidingspartisjon.Kan ikkje leggja til ein partisjon til.Kan ikkje kopiera inn i ein overlappande partisjon.Kan ikkje laga fleire partisjonar.Ein logisk partisjon kan ikkje liggja utanfor utvidingspartisjonen på %s.Kan ikkje ha ein partisjon utanfor disken!Ein primærpartisjon kan ikkje liggja inne i ein utvidingspartisjon.Kan ikkje ha logiske partisjonar utanfor utvidingspartisjonen.Kan ikkje flytta ein partisjon til seg sjølv. Kanskje du vil prøva å endra storleik?Kan ikkje skriva til %s, sidan han berre er opna for lesing.AvbrytEndrar du namnet på ein rot- eller swap-partisjon, vil ikkje Linux lenger kjenna han igjen.Sjekksummen er feil, og det tyder på at partisjonstabellen er korrupt.Allokeringseininga sitt startdelta er %d, og det er ikkje eit multiplum av storleiken %d.Compaq Smart ArrayØydelagd Sun-disklabel funne.Kan ikkje kjenna igjen noko filsystem.Kunne ikkje finna identiteten til eininga %s - %sKunne ikkje undersøkja eininga %s - %s.Kunne ikkje lagra buffercache til disk!DAC960 RAID-kontrollerEINING er vanlegvis /dev/hda eller /dev/sda Kva partisjonsnummer er målet?Slutt?FeilKunne ikkje allokera buffercache.Initialisering av SCSI-eininga %s gav feil - %sFeil ved opning av %s: %sFeil ved skriving til toppkatalogen.Forventa ein disklabel-type.Forventa ei filsystemtype.Forventa eit partisjonsnummer.Forventa ein partisjonstype.FAT %d media %x stemmer ikkje overeins med bootsektorens media %x. Du bør sannsynlegvis køyra scandisk.Bootsektoren i FAT seier at allokeringseininga er 0 sektorar. Det var rart. Bootsektoren i FAT seier at logisk sektorstorleik er 0. Det var rart. Bootsektoren i FAT seier at der ikkje er nokon FAT-tabellar. Det var rart. FLAGG er eitt av: FS-TYPE er ein av: KritiskFilsystem: %s Filsystemet har ikkje parametrar som Windows vil like. Allokeringseininga er %d KiB (%d KiB er forventa), talet på allokeringseiningar er %d (%d er forventa), FAT-ane er på %d sektorar (%d er forventa).Filsystemet har ein storleik på allokeringseininga som er ugyldig for FAT-filsystem.Filsystemet har ein ugyldig sektorstorleik til å vera eit FAT-filsystem.Filsystemet har ein ugyldig signatur til å vera eit FAT-filsystem.Filsystemet rapporterer %d allokeringseiningar med ledig plass, ikkje %d.Filsystemet er for lite for ext2.Filsystemtype?Rett oppFlaggI2O-kontrollerViss du konverterer til FAT16 og MS Windows er installert på denne partisjonen, må du leggja inn boot-lastaren til MS Windows på nytt. Dersom du vil gjera dette, bør du lesa Parted-manualen (eller manualen som høyrer til distribusjonen din).Viss du konverterer til FAT32, og MS Windows er installert på denne partisjonen, må du leggja inn boot-lastaren til MS Windows på nytt. Dersom du vil gjera dette, bør du lesa Parted-manualen (eller manualen som høyrer til distribusjonen din). FAT32 er også uleseleg for MS-DOS, MS Windows 95a og NT.Viss du let filsystemet vera FAT32, vil du ikkje få nokon nye problem.OversjåInkonsistente gruppe-deskriptorarInformasjonUgyldig partisjonstabell - rekursiv partisjon på %s.Ugyldig signatur %x for ein Mac-disklabel.LABEL-TYPE er ein av: Nummer: %d NAMN er eit valfritt ord Ny eining?Ny disklabel-type?Ny status?NeiIkkje lagaIngen diskar funneFann ikkje noko gyldig partisjonskart.For få ledige inodar!OKFLAGG:Berre logiske partisjonar kan vera ei bootfil.Berre primærpartisjonar kan vera rotpartisjonar.Berre primærpartisjonar kan vera swap-partisjonar.Tom for minne.PART-TYPE er ein av: primær, logisk, utviding Partisjon %d har ei ugyldig lengde på 0 oktettar!Partisjon %d har ein ugyldig signatur %x.Partisjonen finst ikkje.Partisjonskartet inneheld ingen oppføringar!Partisjonsnamn?Partisjonsnummer?Partisjonstype?Partisjon(ane) på %s er i bruk.Prøv igjenSTATUS er ein av: av, på Beklagar, kan ikkje flytta starten på ein ext2-partisjon enno!Kva eining skal vera kjelda?Kva partisjonsnummer skal vera kjelda?Start?Sun-disklabel er full.Støtte for å sjekka %s-filsystem for feil er ikkje lagt inn enno.Støtte for å kopiera %s-filsystem er ikkje lagt inn enno.Støtte for å laga %s-filsystem er ikkje lagt inn enno.Støtte for å opna %s-filsystem er ikkje lagt inn enno.Støtte for å endra storleik på %s-filsystem er ikkje lagt inn enno.FAT-ane stemmer ikkje overeins. Viss du ikkje veit kva dette tyder, vel avbryt, køyr scandisk på filsystem, og kom attende.Partisjonen som omfattar heile disken er den einaste som er ledig. Det er vanlegvis ikkje nokon god idé å bruka dette som ein vanleg partisjon. Solaris klarer kanskje ikkje å starta utan han, og SILO (boot-lastar for SPARC) likar det heller ikkje.Sikringskopien av GPT-tabellen er ikkje sist på disken slik han skal vera. Dette kan tyda at eit anna operativsystem trur at disken er mindre. Skal dette rettast ved å flytta kopien til slutten av disken (og sletta den gamle kopien)?Disklabelen skildrar ein disk større enn %s.Drivardeskriptoren seier at den fysiske blokkstorleiken er %d oktettar, men Linux seier at han er %d oktettar.Fila %s er klassifisert som ei systemfil. Å flytta denne fila kan føra til at nokon program sluttar å fungera.Filsystemet kan kun få denne storleiken ved å konvertera til FAT16.Filsystemet kan kun få denne storleiken ved å konvertera til FAT32.Formatet til GPT-partisjonstabellen er versjon %x, som er nyare enn det Parted kan kjenna att. Ver venleg å seia i frå med ein epost til (skriv helst på engelsk)Informasjonssektoren har feil signatur (%x). Vel avbryt, og send inn ein feilrapport. Viss du er desperat, er det sannsynlegvis trygt å oversjå denne feilen.Bootregionen fyller ikkje heile partisjonen.Dataregionen fyller ikkje heile partisjonen.Der er ingen moglege konfigurasjonar for denne FAT-typen.Dette filsystemet har ein logisk sektorstorleik på %d. GNU Parted fungerer berre skikkeleg når sektorstorleiken er 512 oktettar.Dette libparted-biblioteket har ikkje støtte for skriving til %s. Kanskje vart det kompilert for kun lesing.For mange dårlege sider.For mange primærpartisjonarKunne ikkje opna %s for både lesing og skriving (%s). %s er berre opna for lesing.Kunne ikkje opna %s.Kunne ikkje undersøkja lagringsmediet.Kunne ikkje oppfylla alle dei tekniske krava til partisjonen.UkjentFilsystemtypen «%s» er ukjend.Brukar %s ÅtvaringMerkeleg blokkstorleik på einingsdeskriptor: %d oktettar er ikkje deleleg på 512.Ønskjer du å bruka FAT32?JaDu må installera boot-lastaren på nytt før neste omstart. Les del 4 i brukarhandboka for meir informasjon.legg til grupperbootcheckser etter dårlege blokkercpvis programversjonvis denne hjelpetekstenutvidingfat_table_alloc_cluster: ingen ledige allokeringseiningarledigaukar storleik på filsystemethelpskjulthp-servicelbalogisklvmmetadatamkfsmklabelmkpartmkpartfsmovenamespør aldri brukarenavpåped_device_new() Einingstypen er ikkje støttaprimærprintquitraidrå blokkopieringrescueresizermrotleitar etter filsystemselectsetkrymparswapskriv per-gruppe metadataparted-2.3/po/tr.gmo0000644000000000000000000023402111400005706011266 00000000000000Þ•\ü)Ü%€2;2½50Ð506226*e6-6$¾6*ã627%A7,g7&”7)»7&å7, 8#98$]8!‚8&¤8(Ë8<ô8319!e9ʇ9R:i:0~:,¯:5Ü:P;/c;]“;Gñ;&9<`<}< „<+<+»<ç<#=#*=N=0l=0=Î=0í=(>(G>p> >'±>%Ù>)ÿ>)?'I?`q?2Ò@<ABAWAuA”A7ªAâA0öA('B%PBvB“B°B,ÌBùB,C-DC rC(“C¼CØCøCDŽD^©DEW E*dEF]¬FÕ GàGõG+HB4HFwH!¾H0àH<IDNI!“IPµI]JHdJ­JÍJ$ëJDKUK"kK-ŽK‡¼KDL HLLRL>ŸLÞL!ûL)M!GMGiM(±M<ÚM@N2XN"‹NB®N?ñN!1O2SO†O0O]¾O=PDZPIŸPéPZüPoWQ"ÇR*êRSV3SQŠS4ÜS5T(GTpTT®TÍTìTU%U)EU-oU$UÂU<áU=V\V|VœV¼VÜVùV4WLW8iW'¢W7ÊWX'XAX8]X8–XÏXëíX#ÙYýY/Z H[ U[`[o[s[x[~[[&»[â[(÷[B \$c\ˆ\¥\Ã\á\:ý\\8]=•]?Ó]>^R^c^&w^ž^ ¤^°^ Á^¶Í^„_´–_>K`*Š`Lµ`=a;@a/|a<¬a+éaHb*^b‰b©b>»búbzc~cŽc ”cHŸc ècKóc0?d}pdcîd?Re ’ežeºeÉeÝeÛöeIÒfGhUdhºhÁh-áhi j +j9jPjmj‰j9¡jÛj4ëj4 kUk$tk™k«k)ÆkKðk>*y<iyD¦yXëy>Dzƒz‚Ÿzí"{R|Öc|<:}Hw}<À}ý}‚~F/I^ypØoI€c¹€`h~HçH0‚ y‚Ùš‚*tƒ?Ÿƒ0߃0„ˆA…šÊ…e†,熇2‡7R‡¨Ї¶3‰@ê‰@+ŠRlŠg¿ŠE'‹gm‹/Õ‹tŒ7zŒp²Œ;#E_<¥Fâ:)ŽƒdŽfèŽ;OU‹áõ.&Ah0ê1‘ˆM‘1Ö‘2’;’@’(Q’(z’&£’tÊ’&?“(f“A“Ñ“ä“3û“/”5”=”T”s””¤”¶”È” Ú”3ç”3•/O••—•$­•BÒ•*–@– `–— ——#4—#X—|——;ª—Šæ—q™Hy™+™?.š·šÔš;ëš3'›/[›+‹›'·›#ß›œ#œ?œOœhœ#lœbœZóœ~NPÍ?ž^ždžjž lž zžW†žÞžûžŸ0Ÿ 8ŸBŸGŸMMŸ›Ÿ¤Ÿ¼ŸÄŸNÇŸ  %2 !X z  ª  Ç Ñ YÚ )4¡.^¡.¡¼¡Á¡Õ¡OÚ¡*¢ 1¢<¢W¢r¢$’¢·¢ É¢×¢+Û¢£££$£-£5£W:£’£Qš£ì£9ó£-¤L6¤ƒ¤‹¤>¤ϤפFܤ##¥G¥K¥ N¥Y¥r¥z¥…¥U¦)[¦…¦Ц*’¦½¦”æX§5]§“§˜§ ª§µ§ЧS×§+¨T2¨‡¨@Ѝ˨Ш ë¨ö¨©B©Y©L]© ª©´©Ê©Qé©;ª@ªUGªª¯ªªEǪ «k« «"«°«Ë«櫳ÿ«´³­h±5|±5²±7è±. ²+O²!{²/²0Ͳ#þ²1"³$T³+y³'¥³/ͳ'ý³*%´&P´)w´*¡´>Ì´. µ):µÝdµ)B¶'l¶7”¶7̶8·R=·4·\Å·O"¸0r¸£¸¸ ɸ8Ô¸@ ¹N¹(k¹!”¹¶¹2Ó¹2º 9º)Zº$„º-©º.׺5»6<»5s»2©»&Ü»6¼€:¼7»½Hó½<¾*Z¾)…¾¯¾?; ¿<-¿)j¿-”¿0¿!ó¿À05ÀfÀ0„À1µÀ çÀ0Á9Á!VÁ!xÁšÁ¦œÁWC›ÂlŸÂ; ÃHÄfbÄóÉĽÅÙÅBíÅ=0ÆFnÆ"µÆ=ØÆhÇMÇ7ÍÇYÈm_ÈZÍÈ0(ÉYÉ"vÉC™É!ÝÉ#ÿÉ0#Ê¢TÊ÷Ê ËIËL]Ë&ªË$ÑË8öË(/ÌMXÌ)¦Ì@ÐÌ@Í2RÍ"…ÍK¨Í^ôÍ"SÎ<vγÎ6»ÎtòÎZgÏ\ÂÏLÐlÐxÐúÐ!|Ò'žÒÆÒ`ãÒcDÓ;¨Ó<äÓ*!ÔLÔhÔ„Ô Ô¼ÔÙÔôÔ!Õ%4ÕZÕ/uÕB¥ÕCèÕ,ÖJÖhÖ†Ö¤ÖÃÖ6àÖ"×>:×&y×J ×ë×/Ø/3ØJcØJ®ØùØÙ$Ú!DÚjfÚÑÛâÛõÛÜ ÜÜÜ6Ü+UÜÜšÜ6¹ÜðÜ# Ý$0Ý(UÝ%~Ý:¤ÝlßÝPLÞZÞOøÞHßbß/ß ¯ßºßÊß Ýß½ëß©àɽàJ‡á/ÒáZâL]âCªâ4îâH#ã'lãH”ã/Ýã' ä5äDKä†äå"å ?åIåaXå ºå_Äå9$æ†^ævåæH\ç ¥ç¯çÊçÚçõçûèƒ éEŽê`Ôê5ë#<ë4`ë-•ëÃìÉìÙì!óìí4íFPí—íO©íFùí0@î qî’î¨î,ÁîFîîM5ïnƒïCòïN6ð……ð ñ +ñLñ]ñyñ‰ñ ™ñ¤ñ,´ñ¼áñžò ¤ò±ò Ëò×ò Þòëò þò ó$*óOó/kó,›ó·Èó"€ô£ôªô °ôH½ôAõDHõõ7õÕõðõUöTfö7»ö,óö7 ÷RX÷U«÷øø<1ønøƒø@øÞø3õø)ùFù`ùJ|ùÇù9çù !ú.ú*Ìú2÷ú*û0û8@ûAyûB»ûIþûMHü–ü §ü Èü Õü ãüïüOýKWýH£ýIìýT6þD‹þ?ÐþUÿGfÿ]®ÿ? $LqâXåã>@"Mc9±’ëW~;Ö8kKv·h.r—d ›o^ ^j É ê&÷ : 5Y ? Ï ¡_ l -n œ ¶ HÓ  Ô(KýDI\ŽvëRbqµ3'n[.Êiù=cK¡>íL,(y™¢d<9¡XÛ4"N"q”+¨zÔAOB‘ ÔCuD¹þ-.K(zx£#;P_°Á;Ö $%C(i’¬ÄÝõ117-i—³5ÎE3J$~¬£Pk!~$ $Åêÿ> ÉR "M#"0q"U¢"˜ø"‘# °#YÑ#M+$Gy$BÁ$<%,A%(n%#—%»%Ö%î%)ó%|&bš&‘ý&n'Tþ'S(Y(_(a( s(c($ã()!!)C) K) U)a)Kg)³)Ä) Û)ç)\ê)G*V*)k*3•*É*#á*++-+†0+'·+6ß+6,M,^,v,\{,Ø, Þ,é,"-%)-'O-w-Œ-œ-; - Ü-ç-ë- û-..[.o.^w.Ö.DÝ."/S+//‡/@Œ/Í/Õ/PÚ/3+0_0g0 n0"|0Ÿ0§0´¬0_a1.Á1ð1õ14þ13292×29Ü233 .3<3Y3Z`3»3nÂ314>44s4x4 ~4Œ4¨4:¯4ê4Yî4H5&Z5'5]©56 6i#66¨6¼6CÂ67p7 7 7"®7$Ñ7ö7†úÀ‹-¬/"“I/{Ðp#KGYVÅw/$?ýáSûŒ%4°ðµ`:½­²ô"Õƒ]b·eë2öø[¸óÜ(7QõF@éf ‡g)ßýÆi¹&ÊeÚù1½B  ×*JkTÙä© á³œÑ^ÛIÍ »›7êÄÌ?u€ZŸºÅhöÆLɾËÿ&E±¡OT·_ÇùÇ2¸¯}s¼ræL9Ô|˜ñ ’6t jľЯq Ô)£M KbþÝJòQìÛÎÂ6…‘yCÏ(7®ïÑݪ äçy:vß ¤hðú 4r5?g—TuC[…RG÷—ø.«wÒBVþÕ ÎRæ>ž¢1¥©<û±>Ïííî;x]WŸ@'å!ƒ¦Áˆ\‡U’ºžI~no¡A.<Œlq*Š–n®lLåÓD}‹ëP§"ì «Ö¥ ¬dFÀWÓ‰|,Rm%dZÊÞ‚1”³ò“¹=f0ñ†8+ôÌÃ%¶P*´NØMv<œ£à$‘o^™õXx‚= ” jÞ-`èŠÒUÙè¢!{3ó´WHJ[ç¨a!ï5§3˜A¿Ép°3NGã_„=Fªs¿2¶\i²t>éÖ.»Z­Ž+XKS$ÜÈ8 –üŽ•ü›\+D×ãc9a#4šà~BË ˆâ0Aÿê,‰X;„5#@m9QDP÷Ák&,Eš0ÚîÍY¦z™¼¨;•SzØ:VÃ8'OOÈNU-â H¤(µEH6'c€)YMC You found a bug in GNU Parted! Here's what you have to do: Don't panic! The bug has most likely not affected any of your data. Help us to fix this bug by doing the following: Check whether the bug has already been fixed by checking the last version of GNU Parted that you can find at: http://ftp.gnu.org/gnu/parted/ Please check this version prior to bug reporting. If this has not been fixed yet or if you don't know how to check, please visit the GNU Parted website: http://www.gnu.org/software/parted for further information. Your report should contain the version of this release (%s) along with the error message below, the output of parted DEVICE unit co print unit s print and the following history of commands you entered. Also include any additional information about your setup you consider important. Command History: Error: A general SIGFPE signal was encountered. Error: A general SIGILL signal was encountered. Error: A general SIGSEGV signal was encountered. Error: FPE_FLTDIV (Float: divide by zero) Error: FPE_FLTINV (Float: invalid operation) Error: FPE_FLTOVF (Float: overflow) Error: FPE_FLTRES (Float: inexact result) Error: FPE_FLTSUB (Float: subscript out of range) Error: FPE_FLTUND (Float: underflow) Error: FPE_INTDIV (Integer: divide by zero) Error: FPE_INTOVF (Integer: overflow) Error: ILL_BADSTK (Internal Stack Error) Error: ILL_COPROC (Coprocessor Error) Error: ILL_ILLADR (Illegal addressing mode) Error: ILL_ILLOPC (Illegal Opcode) Error: ILL_ILLOPN (Illegal Operand) Error: ILL_ILLTRP (Illegal Trap) Error: ILL_PRVOPC (Privileged Opcode) Error: ILL_PRVREG (Privileged Register) Error: SEGV_ACCERR (Invalid permissions for mapped object) Error: SEGV_MAPERR (Address not mapped to object) Is this still acceptable to you? License GPLv3+: GNU GPL version 3 or later . This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Report bugs to <%s>. Report bugs to: %s When no DEVICE is given, probe all partitions. --help display this help and exit --version output version information and exit NUMBER : display more detailed information about this particular partition devices : display all active block devices free : display information about free unpartitioned space on the current block device list, all : display the partition tables of all active block devices "%s" has invalid syntax for locations.%0.f%% (time left %.2d:%.2d)%s %s%s %s %s%s : Bad checksum on block %llu of type %s %s : Bad checksum on block %llu of type %s.%s : Couldn't read block %llu %s : Couldn't read boot block %llu %s : Couldn't read root block %llu %s : Couldn't write block %d %s : Didn't find rdb block, should never happen %s : Didn't find rdb block, should never happen.%s : Failed to allocate block %s : Failed to allocate disk_specific rdb block %s : Failed to allocate id list element %s : Failed to allocate partition block %s : Failed to list bad blocks.%s : Failed to list boot blocks.%s : Failed to list file system blocks.%s : Failed to list partition blocks.%s : Failed to read partition block %llu %s : Loop detected at block %d.%s : The %s list seems bad at block %s.%s contains GPT signatures, indicating that it has a GPT table. However, it does not have a valid fake msdos partition table, as it should. Perhaps it was corrupted -- possibly by a program that doesn't understand GPT partition tables. Or perhaps you deleted the GPT table, and are now using an msdos partition table. Is this a GPT partition table?%s disk labels do not support extended partitions.%s disk labels don't support logical or extended partitions.%s during read on %s%s during seek for read on %s%s during seek for write on %s%s during write on %s%s has no extended partition (volume header partition).%s home page: <%s> %s home page: %s is %dk, but it has %d clusters (%dk).%s is too small for a Mac disk label!%s trying to sync %s to disk%s%s argument `%s' too large%s: invalid option -- '%c' %s: option '%c%s' doesn't allow an argument %s: option '%s' is ambiguous %s: option '--%s' doesn't allow an argument %s: option '-W %s' doesn't allow an argument %s: option '-W %s' is ambiguous %s: option requires an argument -- '%c' %s: unrecognised disk label%s: unrecognized option '%c%s' %s: unrecognized option '--%s' ''mkpart' makes a partition without creating a new file system on the partition. FS-TYPE may be specified to set an appropriate partition ID. 'version' displays copyright and version information corresponding to this copy of GNU Parted (C)A %s %s partition was found at %s -> %s. Do you want to add it to the partition table?A bug has been detected in GNU Parted. Refer to the web site of parted http://www.gnu.org/software/parted/parted.html for more information of what could be useful for bug submitting! Please email a bug report to bug-parted@gnu.org containing at least the version (%s) and the following message: A data set name is corruptedA reference to an extent comes from a place it should not. You should check the file system!A resize operation on this file system will use EXPERIMENTAL code that MAY CORRUPT it (although no one has reported any such damage yet). You should at least backup your data first, and run 'e2fsck -f' afterwards.API version mismatchATARAID ControllerAn error occurred during extent relocation.An error occurred while looking for the mandatory bad blocks file.An extended partition cannot hold a file system. Did you want mkpart?An extent has not been relocated.Assertion (%s) at %s:%d in function %s() failed.Attempt to write sectors %ld-%ld outside of partition on %s.BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s. Backtrace has %d calls on stack: Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or scandisk.Bad FAT: cluster %d outside file system in chain for %s. You should run dosfsck or scandisk.Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk.Bad block list header checksum.Bad blocks could not be read.Bad blocks list could not be loaded.Bad directory entry for %s: first cluster is the end of file marker.Bad journal checksum.Block %i has no reference? Weird.Block %i shouldn't have been marked (%d, %d)!Both the primary and backup GPT tables are corrupt. Try making a fresh table, and using Parted's rescue feature to recover partitions.BugCOMMANDs:Can't add a logical partition to %s, because there is no extended partition.Can't add another partition -- the partition map is too small!Can't add another partition.Can't copy an extended partition.Can't copy onto an overlapping partition.Can't create any more partitions.Can't have a logical partition outside of the extended partition on %s.Can't have a partition outside the disk!Can't have a primary partition inside an extended partition.Can't have logical partitions outside of the extended partition.Can't have more than one extended partition on %s.Can't have overlapping partitions.Can't have the end before the start! (start sector=%jd length=%jd)Can't move a partition onto itself. Try using resize, perhaps?Can't move an extended partition.Can't write to %s, because it is opened read-only.CancelCannot get unit size for special unit 'COMPACT'.Changing the name of a root or swap partition will prevent Linux from recognising it as such.Checksum is wrong, indicating the partition table is corrupt.Clear unused space on a FAT partition (a GNU Parted testing tool). Cluster start delta = %d, which is not a multiple of the cluster size %d.Compaq Smart ArrayConflicting partition map entry sizes! Entry 1 says it is %d, but entry %d says it is %d!Copyright (C) 1998 - 2006 Free Software Foundation, Inc. This program is free software, covered by the GNU General Public License. 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. Corrupted Sun disk label detected.Could not cache the file system in memory.Could not detect file system.Could not determine physical sector size for %s. Using the logical sector size (%lld).Could not determine sector size for %s: %s. Using the default sector size (%lld).Could not find sector %lli of HFS file with CNID %X.Could not find sector %lli of HFS+ file with CNID %X.Could not get identity of device %s - %sCould not read VTOC FMT1 DSCB.Could not read VTOC FMT4 DSCB.Could not read VTOC FMT5 DSCB.Could not read VTOC FMT7 DSCB.Could not read VTOC labels.Could not read volume label.Could not retrieve API version.Could not retrieve blocksize information.Could not retrieve disk geometry information.Could not retrieve disk information.Could not stat device %s - %s.Could not update the extent cache for HFS file with CNID %X.Could not update the extent cache for HFS+ file with CNID %X.Could not write VTOC FMT1 DSCB.Could not write VTOC FMT4 DSCB.Could not write VTOC FMT5 DSCB.Could not write VTOC FMT7 DSCB.Could not write VTOC labels.Could not write volume label.Couldn't create reiserfs device abstraction handler.Couldn't flush buffer cache!Couldn't reopen device abstraction layer for read/write.Couldn't resolve symbol %s. Error: %s.Cross-linked blocks found! Better go run e2fsck first!DAC960 RAID controllerDEVICE is usually /dev/hda or /dev/sda Data relocation has failed.Data relocation left some data at the end of the volume.Data relocation left some data in the end of the volume.Destination partition number?Device %s has multiple (%d) logical sectors per physical sector. GNU Parted supports this EXPERIMENTALLY for some special disk label/file system combinations, e.g. GPT and ext2/3. Please consult the web site for up-to-date information.Device is too small for %lu blocks.Device verification failedDirect support for copying file systems is not yet implemented for %s. However, support for resizing is implemented. Therefore, the file system can be copied if the new partition is at least as big as the old one. So, either shrink the partition you are trying to copy, or copy to a bigger partition.Disk %s: %s Disk ImageDisk is in useEndEnd?ErrorError allocating buffer cache.Error fsyncing/closing %s: %sError initialising SCSI device %s - %sError opening %s: %sError while writing the allocation file.Error while writing the compatibility part of the allocation file.Error writing to the root directory.Expecting a disk label type.Expecting a file system type.Expecting a partition number.Expecting a partition type.Extended partitions cannot be hidden on msdos disk labels.FAT %d media %x doesn't match the boot sector's media %x. You should probably run scandisk.FAT boot sector says clusters are 0 sectors. This is weird. FAT boot sector says logical sector size is 0. This is weird. FAT boot sector says there are no FAT tables. This is weird. FLAG is one of: FS-TYPE is one of: Failed to write partition block at %d.FatalFatal errorFile System: %s File systemFile system doesn't have expected sizes for Windows to like it. Cluster size is %dk (%dk expected); number of clusters is %d (%d expected); size of FATs is %d sectors (%d expected).File system full!File system has an incompatible feature enabled. Compatible features are has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs or debugfs to remove features.File system has an invalid cluster size for a FAT file system.File system has an invalid number of FATs.File system has an invalid number of reserved sectors for a FAT file system.File system has an invalid sector size for a FAT file system.File system has an invalid signature for a FAT file system.File system has errors! You should run e2fsck.File system has too many allocated inodes to remove a group!File system is FAT12, which is unsupported.File system is reporting the free space as %d clusters, not %d clusters.File system is too full to remove a group!File system too small for ext2.File system type?File system was not cleanly unmounted! You should run e2fsck.File system was not cleanly unmounted! You should run e2fsck. Modifying an unclean file system could cause severe corruption.FixFlag to Invert?FlagsFlags: %s Found an inode with a incorrect link count. Better go run e2fsck first!Free SpaceGNU Parted cannot resize this partition to this size. We're working on it!GNU Parted found an invalid libreiserfs library.GNU Parted has detected libreiserfs interface version mismatch. Found %d-%d, required %d. ReiserFS support will be disabled.GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT support will be disabled.General help using GNU software: Generic IDEGeneric SD/MMC Storage CardI2O ControllerIBM S390 DASD driveIBM iSeries Virtual DASDIf you convert to FAT16, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual).If you convert to FAT32, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual). Also, converting to FAT32 will make the file system unreadable by MS DOS, MS Windows 95a, and MS Windows NT.If you leave your file system as FAT16, then you will have no problems.If you leave your file system as FAT32, then you will not introduce any new problems.IgnoreInconsistent group descriptors!Incorrect magic values in the journal header.Inform the operating system about partition table changes. -d, --dry-run do not actually inform the operating system -s, --summary print a summary of contents -h, --help display this help and exit -v, --version output version information and exit InformationInvalid VTOC.Invalid back referenceInvalid character class nameInvalid collation characterInvalid content of \{\}Invalid free blocks count. Run reiserfsck --check first.Invalid number.Invalid partition table - recursive partition on %s.Invalid partition table on %s -- wrong signature %x.Invalid partition table on %s.Invalid preceding regular expressionInvalid range endInvalid regular expressionInvalid signature %x for Mac disk labels.Invalid size of a transaction block while replaying the journal (%i bytes).Invalid superblock. Are you sure this is an ext2 file system?It seems there is an error in the HFS wrapper: the bad blocks file doesn't contain the embedded HFS+ volume.Journal offset or size is not multiple of the sector size.Journal size mismatch between journal info block and journal header.Journal stored outside of the volume are not supported. Try to desactivate the journal and run Parted again.LABEL-TYPE is one of: Linux device-mapper (%s)Maximum size: Memory allocation failedMemory exhaustedMinimum size: Minor: %d Model: %s (%s) NAME is any word you want NUMBER is the partition number used by Linux. On MS-DOS disk labels, the primary partitions number from 1 to 4, logical partitions from 5 onwards. NameNew device?New disk label type?New state?NoNo ImplementationNo device foundNo matchNo previous regular expressionNo room for partition info.No room for volume label.No valid HFS[+X] signature has been found while opening.No valid partition map found.Not all of the space available to %s appears to be used, you can fix the GPT to use all of the space (an extra %llu blocks) or continue with the current setting? Not enough free inodes!NumberOKOPTIONs:Only logical partitions can be a boot file.Only primary partitions can be root partitions.Only primary partitions can be swap partitions.Out of memory.PART-TYPE is one of: primary, logical, extended Packaged by %s Packaged by %s (%s) Parted can't resize partitions managed by Windows Dynamic Disk.Parted can't use HFS file systems on disks with a sector size not equal to %d bytes.Partition %d has an invalid length of 0 bytes!Partition %d has an invalid signature %x.Partition %d is %s, but the file system is %s.Partition %d isn't aligned to cylinder boundaries. This is still unsupported.Partition %s is being used. You must unmount it before you modify it with Parted.Partition Table: %s Partition doesn't exist.Partition map has no partition map entry!Partition name?Partition number?Partition too big/small for a %s file system.Partition type?Partition(s) on %s are being used.Premature end of regular expressionPromise SX8 SATA DeviceRegular expression too bigReiserfs tree seems to be corrupted. Run reiserfsck --check first.Report %s bugs to: %s Resizing the HFS+ volume has failed.RetrySTART and END are disk locations, such as 4GB or 10%. Negative values count from the end of the disk. For example, -1s specifies exactly the last sector. STATE is one of: on, off Sector size (logical/physical): %lldB/%lldB SizeSize: Some header fields are not multiple of the sector size.Sorry, HFS cannot be resized that way yet.Sorry, HFS+ cannot be resized that way yet.Sorry, can't move the start of ext2 partitions yet!Sorry, can't move the start of reiserfs partitions yet.Source device?Source partition number?StartStart?SuccessSun disk label is full.Support for adding partitions to AIX disk labels is not implemented yet.Support for checking %s file systems is not implemented yet.Support for copying %s file systems is not implemented yet.Support for creating %s file systems is not implemented yet.Support for duplicating partitions in AIX disk labels is not implemented yet.Support for opening %s file systems is not implemented yet.Support for reading AIX disk labels is is not implemented yet.Support for resizing %s file systems is not implemented yet.Support for setting flags in AIX disk labels is not implemented yet.Support for setting system type of partitions in AIX disk labels is not implemented yet.Support for writing AIX disk labels is is not implemented yet.Syntax error in config fileThe FATs don't match. If you don't know what this means, then select cancel, run scandisk on the file system, and then come back.The Whole Disk partition is the only available one left. Generally, it is not a good idea to overwrite this partition with a real one. Solaris may not be able to boot without it, and SILO (the sparc boot loader) appreciates it as well.The backup GPT table is corrupt, but the primary appears OK, so that will be used.The backup GPT table is not at the end of the disk, as it should be. This might mean that another operating system believes the disk is smaller. Fix, by moving the backup to the end (and removing the old backup)?The boot region doesn't start at the start of the partition.The current API version '%d' doesn't match dasd driver API version '%d'!The data region doesn't start at the start of the partition.The device %s has zero length, and can't possibly store a file system or partition table. Perhaps you selected the wrong device?The disk CHS geometry (%d,%d,%d) reported by the operating system does not match the geometry stored on the disk label (%d,%d,%d).The disk has %d cylinders, which is greater than the maximum of 65536.The disk label describes a disk bigger than %s.The driver descriptor says the physical block size is %d bytes, but Linux says it is %d bytes.The existing disk label on %s will be destroyed and all data on this disk will be lost. Do you want to continue?The existing file system will be destroyed and all data on the partition will be lost. Do you want to continue?The ext2 file system passed a basic check. For a more comprehensive check, use the e2fsck program.The extents overflow file should not contain its own extents! You should check the file system.The file %s is marked as a system file. This means moving it could cause some programs to stop working.The file system can only be resized to this size by converting to FAT16.The file system can only be resized to this size by converting to FAT32.The file system contains errors.The file system has the 'dir_index' feature enabled. Parted can only resize the file system if it disables this feature. You can enable it later by running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'.The file system is bigger than its volume!The file system is in an invalid state. Perhaps it is mounted?The file system is in old (unresizeable) format.The file system's CHS geometry is (%d, %d, %d), which is invalid. The partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the file system's CHS geometry will be left unchanged. If you select Fix, the file system's CHS geometry will be set to match the partition table's CHS geometry.The format of the GPT partition table is version %x, which is newer than what Parted can recognise. Please tell us! bug-parted@gnu.orgThe information sector has the wrong signature (%x). Select cancel for now, and send in a bug report. If you're desperate, it's probably safe to ignore.The journal is not empty. Parted must replay the transactions before opening the file system. This will modify the file system.The location %s is outside of the device %s.The maximum head value is %d.The maximum sector value is %d.The partition must have one of the following FS-TYPEs: The partition table cannot be re-read. This means you need to reboot before mounting any modified partitions. You also need to reinstall your boot loader before you reboot (which may require mounting modified partitions). It is impossible do both things! So you'll need to boot off a rescue disk, and reinstall your boot loader from the rescue disk. Read section 4 of the Parted User documentation for more information.The partition table on %s cannot be re-read (%s). This means the Hurd knows nothing about any modifications you made. You should reboot your computer before doing anything with %s.The partition's boot region doesn't occupy the entire partition.The partition's data region doesn't occupy the entire partition.The primary GPT table is corrupt, but the backup appears OK, so that will be used.The reiserfs file system passed a basic check. For a more comprehensive check, run reiserfsck --check.The resulting partition is not properly aligned for best performance.The sector size stored in the journal is not 512 bytes. Parted only supports 512 bytes length sectors.The specified device is not a valid DASD deviceThe volume header or the master directory block has changed while replaying the journal. You should restart Parted.There are no possible configurations for this FAT type.There's not enough room in the root directory for all of the files. Either cancel, or ignore to lose the files.This HFS volume has no catalog file. This is very unusual!This HFS volume has no extents overflow file. This is quite unusual!This HFS+ volume has no catalog file. This is very unusual!This HFS+ volume has no extents overflow file. This is quite unusual!This command does not make sense in non-interactive mode. This file system has a logical sector size of %d. GNU Parted is known not to work properly with sector sizes other than 512 bytes.This is not a real %s check. This is going to extract special low level files for debugging purposes.This is not an ECKD disk! This disk type is not supported!This libparted doesn't have write support for %s. Perhaps it was compiled read-only.Too many bad pages.Too many primary partitionsToo many primary partitions.Trailing backslashTry `%s --help' for more information. Trying to move an extent from block Ox%X to block Ox%X, but another one already exists at this position. This should not happen!Trying to read HFS file with CNID %X behind EOF.Trying to read HFS+ file with CNID %X behind EOF.Trying to register an extent starting at block 0x%X, but another one already exists at this position. You should check the file system!Trying to write HFS file with CNID %X behind EOF.Trying to write HFS+ file with CNID %X behind EOF.TypeUNIT is one of: Unable to allocate a bsd disklabel slot.Unable to allocate a dasd disklabel slotUnable to allocate a partition number.Unable to determine geometry of file/device %s. You should not use Parted unless you REALLY know what you're doing!Unable to determine the dm type of %s.Unable to determine the size of %s (%s).Unable to open %s read-write (%s). %s has been opened read-only.Unable to open %s.Unable to probe store.Unable to satisfy all constraints on the partition.Unit?UnknownUnknown disk flag, %d.Unknown file system type "%s".Unknown partition flag, %d.Unknown system errorUnmatched ( or \(Unmatched ) or \)Unmatched [ or [^Unmatched \{Unrecognised new style linux swap signature '%10s'.Unrecognised old style linux swap signature '%10s'.Unrecognised swsusp linux swap signature '%9s'.Unsupported disk formatUnsupported disk typeUpdating the HFS wrapper has failed.Usage: %s [-hlmsv] [-a] [DEVICE [COMMAND [PARAMETERS]]...] Usage: %s [OPTION] or: %s DEVICE MINOR Usage: %s [OPTION] [DEVICE]... Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...] Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run in interactive mode. User-Mode Linux UBDUsing %s Valid arguments are:Version %d of HFS+ isn't supported.Version %d of HFSX isn't supported.Virtio Block DeviceVolume label is corruptedWARNING: You are not superuser. Watch out for permissions.WARNING: you are attempting to use %s to operate on (%s) a file system. %s's file system manipulation code is not as robust as what you'll find in dedicated, file-system-specific packages like e2fsprogs. We recommend you use %s only to manipulate partition tables, whenever possible. Support for performing most operations on most types of file systems will be removed in an upcoming release. WarningWeird block size on device descriptor: %d bytes is not divisible by 512.Weird! There are 2 partitions map entries!Welcome to GNU Parted! Type 'help' to view a list of commands. Without arguments, 'print' displays the entire partition table. However with the following arguments it performs various other actions. Would you like to use FAT32?Written by %s and %s. Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, and %s. Written by %s, %s, %s, and %s. Written by %s, %s, and %s. Written by %s. Xen Virtual Block DeviceYesYou may need to update /etc/fstab. You need %s of free disk space to shrink this partition to this size. Currently, only %s is free.You requested a partition from %s to %s. The closest location we can manage is %s to %s.%sYou should reinstall your boot loader before rebooting. Read section 4 of the Parted User documentation for more information.Your file system has too many occupied inodes to resize it to %i blocks. Sorry.Your file system is too full to resize it to %i blocks. Sorry.^[nN]^[yY]`adding groupsalign-checkalign-check TYPE N check partition N for TYPE(min|opt) alignmentalignment for new partitionsalignment type(min/opt)ambiguous argument %s for %satvrecvbios_grubbootcheckcheck NUMBER do a simple check on the file systemcheckingchecking for bad blockscopyingcpcp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another partitioncreatingcylinder_alignmentdesired alignment: minimum or optimaldisplays machine parseable outputdisplays the versiondisplays this help messageend of file while reading %sexpandingextendedfailed to set dvh partition name to %s: Only logical partitions (boot files) have a name.fat_table_alloc_cluster: no free clustersfat_table_get: cluster %ld outside file systemfat_table_set: cluster %ld outside file systemfreegrowing file systemhelphelp [COMMAND] print general help, or help on COMMANDhiddenhp-serviceinvalid %s%s argument `%s'invalid argument %s for %sinvalid minor device number: %sinvalid suffix in %s%s argument `%s'invalid token: %sioctl() errorlbalists partition layout on all block deviceslogicallvmmemory exhaustedmetadataminimalmkfsmkfs NUMBER FS-TYPE make a FS-TYPE file system on partition NUMBERmklabelmklabel,mktable LABEL-TYPE create a new disklabel (partition table)mkpartmkpart PART-TYPE [FS-TYPE] START END make a partitionmkpartfsmkpartfs PART-TYPE FS-TYPE START END make a partition with a file systemmktablemovemove NUMBER START END move partition NUMBERmsftresnamename NUMBER NAME name partition NUMBER as NAMEnever prompts for user interventionoffonopen erroropening of device failedoptimalpaloparted was unable to re-read the partition table on %s (%s). This means Linux won't know anything about the modifications you made. partition length of %jd sectors exceeds the %s-partition-table-imposed maximum of %jdped_device_new() Unsupported device typeprepprimaryprimary partition table array CRC mismatchprintprint [devices|free|list,all|NUMBER] display the partition table, available devices, free space, all found partitions, or a particular partitionquitquit exit programraidraw block copyingread errorreading from device failedrescuerescue START END rescue a lost partition near START and ENDresizeresize NUMBER START END resize partition NUMBER and its file systemrmrm NUMBER delete partition NUMBERrootsearching for file systemsseek errorseeking on device failedselectselect DEVICE choose the device to editsetset NUMBER FLAG STATE change the FLAG on partition NUMBERshrinkingshrinking HFS wrappershrinking embedded HFS+ volumestarting sector number, %jd exceeds the %s-partition-table-imposed maximum of %jdswaptoggletoggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBERtoo few argumentstoo many argumentsunitunit UNIT set the default unit to UNITversionversion display the version number and copyright information of GNU Partedwrite errorwriting HFS Master Directory Blockwriting HFS+ Volume Headerwriting per-group metadatawriting to device failedProject-Id-Version: parted-2.2 Report-Msgid-Bugs-To: bug-parted@gnu.org POT-Creation-Date: 2010-05-28 20:30+0200 PO-Revision-Date: 2010-02-26 22:18-0500 Last-Translator: E. Hakan Duran Language-Team: Turkish Language: tr MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Lokalize 1.0 Plural-Forms: nplurals=1; plural=0; GNU Parted'da bir yazılım hatası buldunuz! Yapmanız gereken ÅŸunlardır: PaniÄŸe kapılmayın! Yazılım hatası büyük olasılıkla verinizi etkilemedi. Bu hatayı onarmak için bize ÅŸunları yaparak yardım edin: http://ftp.gnu.org/gnu/parted/ adresinde bulabileceÄŸiniz GNU Parted'in son sürümünü kontrol ederek hatanın zaten düzeltilmiÅŸ olup olmadığını kontrol edin. Hatayı rapor etmeden önce lütfen bu sürümü kontrol edin. EÄŸer hata onarılmamışsa ya da nasıl kontrol edeceÄŸinizi bilmiyorsanız, lütfen GNU Parted web sitesini daha fazla bilgi için ziyaret edin: http://www.gnu.org/software/parted Raporunuz bu dağıtımın sürüm numarasını (%s) aÅŸağıdaki hata mesajını, parted DEVICE unit co print unit s print komutunun çıktısını ve aÅŸağıdaki girdiÄŸiniz komut tarihçesini içermelidir. Ayrıca kurulumunuz hakkında önemli olduÄŸunu düşündüğünüz ek bilgileri ekleyiniz. Komut Tarihçesi: Hata: Genel bir SIGFPE sinyaliyle karşılaşıldı. Hata: Genel bir SIGILL sinyaliyle karşılaşıldı. Hata: Genel bir SIGSEGV sinyaliyle karşılaşıldı. Hata: FPE_FLTDIV (Kayan: sıfırla bölünme) Hata: FPE_FLTINV (Kayan: geçersiz iÅŸlem) Hata: FPE_FLTOVF (Kayan: taÅŸma) Hata: FPE_FLTRES (Kayan: kesin olmayan sonuç) Hata: FPE_FLTSUB (Kayan: altsimge erim dışı) Hata: FPE_FLTUND (Kayan: boÅŸalma) Hata: FPE_INTDIV (Tamsayı: sıfırla bölünme) Hata: FPE_INTOVF (Tamsayı: taÅŸma) Hata: ILL_BADSTK (Dahili Yığın Hatası) Hata: ILL_COPROC (EÅŸiÅŸlemci Hatası) Hata: ILL_ILLADR (Kuraldışı adresleme kipi) Hata: ILL_ILLOPC (Kuraldışı Opcode) Hata: ILL_ILLOPN (Kuraldışı İşlenen) Hata: ILL_ILLTRP (Kuraldışı Tuzak) Hata: ILL_PRVOPC (Ayrıcalıklı Opcode) Hata: ILL_PRVREG (Ayrıcalıklı Yazmaç) Hata: SEGV_ACCERR (EÅŸlenmiÅŸ nesne için geçersiz izinler) Hata: SEGV_MAPERR (Adres nesneye eÅŸlenmedi) Bu sizin için hala kabul edilebilir mi? Lisans GPLv3+: GNU GPL sürüm 3 ya da sonrası Bu özgür yazılımdır: deÄŸiÅŸtirmek ve yeniden dağıtmakta özgürsünüz. Yasal olarak izin verildiÄŸi ölçüde GARANTİ YOKTUR. Yazılım hatalarını <%s>'e bildirin. Yazılım hatalarını %s'e bildirin. AYGIT verilmediÄŸinde, tüm disk bölümlerini yokla. --help bu yardımı görüntüler ve çıkar --version sürüm bilgisi çıkartır ve çıkar NUMBER : bu belirtilmiÅŸ bölüm hakkında daha ayrıntılı bilgi gösterir devices : tüm aktif blok aygıtları gösterir free : mevcut blok aygıt üzerindeki boÅŸ bölümlenmemiÅŸ alan bilgisini gösterir list, all : tüm aktif blok aygıtların bölümleme tablolarını gösterir "%s" yerleÅŸimler için geçersiz yazıma sahip.%0.f%% (kalan süre %.2d:%.2d)%s %s%s %s %s%s: %llu bloÄŸunda yanlış saÄŸlama toplamı türü %s %1$s : %3$s türündeki %2$llu bloÄŸunda bozuk saÄŸlama toplamı%s: %llu bloÄŸu okunamıyor %s: Önyükleme bloÄŸu %llu okunamıyor %s: Kök bloÄŸu %llu okunamıyor %s: %d bloÄŸu yazılamıyor %s : rdb bloÄŸu bulunamadı, asla olmamalı(ydı) %s : rdb bloÄŸu bulunamadı, asla olmamalı(ydı).%s : BoluÄŸu atama baÅŸarısız %s: Diske özgün rdb bloÄŸu atanamıyor %s : Id listesi öğesi atanamıyor %s : Bölümleme bloÄŸunu atama baÅŸarısız %s : Hatalı blokları listeleme baÅŸarısız.%s : Önyükleme bloklarını listeleme baÅŸarısız.%s : Dosya sistemi bloklarını listeleme baÅŸarısız%s : Bölümleme bloklarını listeleme baÅŸarısız.%s : %llu bölümleme bloÄŸunu okuma baÅŸarısız %1$s : Blok %2$d'de döngü saptandı.%1$s : %2$s listesi %3$s bloÄŸunda bozuk görünüyor.%s, GPT tablosu içerdiÄŸini belirten GPT imzalarına sahip. Ayrıca, olması gerekenin aksine, geçerli sahte msdos disk bölümleme tablosu yok. Belki GPT disk bölümleme tablolarından anlamayan bir program tarafından bozulmuÅŸtur. Ya da belki siz GPT tablosunu sildiniz ve ÅŸimdi bir msdos disk bölümleme tablosu kullanmaktasınız. Bu bir GPT disk bölümleme tablosu mu?%s disk etiketleri ek disk bölümlerini desteklemiyor.%s disk etiketleri mantıksal ya da ek disk bölümlerini desteklemiyor.%2$s'i okuma sırasında %1$s%2$s'te okuma için arama sırasında %1$s%2$s'e yazma için arama sırasında %1$s%2$s'e yazma sırasında %1$s%s'in ek disk bölümü (oylum baÅŸlığı disk bölümü) yok.%s baÅŸlangıç sayfası: <%s> %s baÅŸlangıç sayfası: %s %dkdır, fakat %d kümeye (%dk) sahip.%s, bir Mac disk etiketi için çok küçük!%1$s %2$s diske eÅŸzamanlanmaya çalışılıyor%s%s argümanı `%s' çok büyük%s: geçersiz seçenek -- '%c' %s: '%c%s' seçeneÄŸi argümansız kullanılır %s: '%s' seçeneÄŸi belirsiz %s: '--%s' seçeneÄŸi argümansız kullanılır %s: '-W %s' seçeneÄŸi argümansız kullanılır %s: '-W %s' seçeneÄŸi belirsiz %s: seçenek için bir argüman gerekli -- '%c' %s: tanınmayan disk etiketi%s: '%c%s' seçeneÄŸi bilinmiyor %s: '--%s' seçeneÄŸi bilinmiyor 'mkpart, disk bölümü üzerinde yeni bir dosya sistemi oluÅŸturmadan bir disk bölümü yapar. DS-TÜRÜ, uygun bir disk bölümü ID atamak için belirtilebilir. sürüm, GNU Parted'in bu kopyasının telif hakkı ve sürüm bilgisini görüntüler (C)%3$s -> %4$s'de bir %1$s %2$s disk bölümü bulundu. Bunu disk bölümü tablosuna eklemeyi ister misiniz?GNU parted'da bir yazılım hatası saptandı. Hata bildirmek için daha fazla bilgiye ulaÅŸmak üzere parted'ın web sitesine baÅŸvurun: http://www.gnu.org/software/parted/parted.html! Lütfen bug-parted@gnu.org'a en azından sürüm (%s) ve aÅŸağıdaki mesajı içeren bir yazılım hatası raporu gönderin: Bir veri küme adı bozukBir aralığın baÅŸvurusu gelmemesi gereken bir yerden geliyor. Dosya sistemini kontrol etmelisiniz!Bu dosya sistemindeki yeniden boyutlama iÅŸlemi DENEYSEL kod kullanacak bu, dosya sisteminde BOZULMAYA YOL AÇABİLİR (ÅŸimdiye dek kimse bunu rapor etmediyse de). En azından önce verinizi yedeklemeli, sonra da 'e2fsck -f' yürütmelisiniz.API sürüm uyuÅŸmazlığıATARAID DenetleyiciAralık yeniden konumlandırılması sırasında bir hata oluÅŸtu.Zorunlu hatalı bloklar dosyası aranırken bir hata oluÅŸtu.Bir ek disk bölümünün dosya sistemi olamaz. mkpart mı istediniz?Bir aralık yeniden konumlanmadı.%2$s'deki iddia (%1$s):%4$s() iÅŸlevindeki %3$d baÅŸarısız.%3$s üzerindeki disk bölümünün dışında yeralan %1$ld-%2$ld sektörlere yazmaya çalışılıyor.BIOS silindiri, kafa, sektör geometrisi: %d,%d,%d. Herbir silindir %s'tir. Geriye doÄŸru iz sürme yığınında %d çaÄŸrı var: Bozuk FAT: %d kümesi %s için çapraz baÄŸlı. dosfsck ya da scandisk yürütmelisiniz.Bozuk FAT: %d kümesi %s için dosya sistemi zincirinin dışında. dosfsck ya da scandisk yürütmelisiniz.Bozuk FAT: %s için sonlandırılmamış zincir. dosfsck ya da scandisk yürütmelisiniz.Hatalı blok liste baÅŸlığı saÄŸlama toplamıHatalı bloklar okunamıyor.Hatalı blok listesi yüklenemedi.%s için bozuk dizin giriÅŸi: ilk küme dosya belirtecinin sonunda.Bozuk günlük saÄŸlama toplamı.%i bloÄŸunun baÅŸvurusu yok? Tuhaf%i bloÄŸu iÅŸaretlenmemiÅŸ olmalıydı (%d, %d)!Hem birincil, hem de yedek GPT tablosu bozuk. Yeni bir tablo oluÅŸturmayı ve Parted'ın kurtarma özelliÄŸini kullanarak disk bölümlerini kurtarmayı deneyin.Yazılım hatasıKOMUTlar:%s'e mantıksal disk bölümü eklenemez, çünkü ek disk bölümü yok.Bir baÅŸka disk bölümü eklenemiyor -- disk bölüm eÅŸlemi çok küçük!Bir baÅŸka disk bölümü eklenemiyor.Ek disk bölümleri kopyalanamıyor.Çakışan disk bölümlerinin üzerine kopyalanamıyor.BaÅŸka disk bölümü oluÅŸturulamıyor.%s üzerinde ek disk bölümü dışında mantıksal disk bölümleri olamaz.Disk bölümü disk dışında bulunamaz!Bir ek disk bölümü içinde birincil disk bölümü bulunamaz.Ek disk bölümü dışında mantıksal disk bölümleri olamaz.%s üzerinde birden fazla ek disk bölümü olamazÖrtüşen disk bölümleri olamazBaÅŸlangıçtan önce son gelemez! (baÅŸlangıç sektörü=%jd uzunluk=%jd)Bir disk bölümü kendi üzerine taşınamaz. Belki yeniden boyutlandırmayı dener misiniz?Bir ek disk bölümü taşınamaz.%s'e yazılamıyor, çünkü salt-okunur olarak açılmış.VazgeçÖzel birim 'COMPACT' için birim boyutu alınamıyor.Bir kök ya da takas disk bölümünün adını deÄŸiÅŸtirmek, Linux'un onu olduÄŸu gibi tanımasını engelleyecek.SaÄŸlama toplamı, disk bölümleme tablosunun bozuk olduÄŸunu belirtir ÅŸekilde yanlış.Bir FAT disk bölümündeki kullanılmayan boÅŸluÄŸu silin (bir GNU Parted deneme aracı). Küme baÅŸlangıcı delta = %d, küme boyutu olan %d'nin katsayısı deÄŸil.Compaq Akıllı DiziÇeliÅŸen disk bölümü eÅŸlem girdi boyutları! 1. Girdi %1$d olduÄŸunu, ancak %2$d. girdi %3$d olduÄŸunu bildiriyor!Telifhakkı (C) 1998 - 2006 Özgür Yazılım KuruluÅŸu, A.Åž. Bu program, GNU Genel Kamu Lisansı'nca kapsanan özgür yazılımdır. Bu program, yararlı olacağı ümidiyle dağıtılmış olup, SATILABİLİRLİK ya da BELLİ BİR AMACA UYGUNLUK garantileri de dahil olmak üzere HERHANGİ BİR GARANTİ içermez. Daha fazla ayrıntı için GNU Genel Kamu Lisansı'na bakınız. Bozuk Sun disk etiketi saptandı.Dosya sistemi önbelleÄŸe alınamıyor.Dosya sistemi saptanamıyor.%s için fiziksel sektör boyutu belirlenemiyor. Mantıksal sektör boyutu (%lld) kullanılacak.%1$s: %2$s için sektör boyutu belirlenemiyor. Öntanımlı sektör boyutu (%3$lld) kullanılacak.CNID %2$X li HFS dosyasının %1$lli sektörü bulunamadı.CNID %2$X li HFS+ dosyasının %1$lli sektörü bulunamadı.%s - %s aygıtının kimliÄŸi alınamadı VTOC FMT1 DSCB okunamıyor.VTOC FMT4 DSCB okunamıyor.VTOC FMT5 DSCB okunamıyor.VTOC FMT7 DSCB okunamıyor.VTOC etiketleri okunamıyor.Oylum etiketi okunamıyor.API sürümü belirlenemiyor.Blok boyutu bilgisi alınamıyor.Disk geometrisi bilgisi alınamıyor.Disk bilgisi alınamıyor.Dosya durum bilgisi alınamayan aygıt %s - %s.Aralık önbelleÄŸi CNID %X'li HFS dosyası için güncellenemedi.Aralık önbelleÄŸi CNID %X'li HFS+ dosyası için güncellenemedi.VTOC FMT1 DSCB yazılamıyor.VTOC FMT4 DSCB yazılamıyor.VTOC FMT5 DSCB yazılamıyor.VTOC FMT7 DSCB yazılamıyor.VTOC etiketleri yazılamıyor.Oylum etiketi yazılamıyor.Reiserfs aygıt özetleme iÅŸleyici oluÅŸturulamıyor.Tampon önbellek boÅŸaltılamadı!Aygıt özetleme katmanı oku/yaz için yeniden açılamıyor.Simge %s çözümlenemiyor. Hata: %s.Çapraz baÄŸlı bloklar bulundu! İiyisi mi önce gibip e2fsck yürütün!DAC960 RAID denetleyiciDEVICE sıklıkla /dev/hda ya da /dev/sda'dır Veri yeniden konumlandırılması baÅŸarısız.Veri yeniden konumladırılması oylumun sonunda bazı verileri bıraktı.Veri yeniden konumladırılması oylumun sonunda bazı verileri bıraktı.Hedef disk bölümü numarası?Aygıt %s fiziksel sektör başına çok sayıda (%d) mantıksal sektör içeriyor. GNU Parted bunu DENEYSEL olarak bazı disk etiketi/dosya sistemi kombinasyonları için destekliyor, örneÄŸin GPT ve ext2/3. Lütfen güncel bilgi için web sitesine baÅŸvurun.%lu blok için aygıt çok küçük.Aygıt doÄŸrulaması baÅŸarısız%s için dosya sistemlerini kopyalamaya direkt destek henüz saÄŸlanmamıştır. Ancak yeniden boyutlandırma desteÄŸi mevcut. Bu nedenle, eÄŸer yeni disk bölümü en az eskisi kadar büyükse, dosya sistemi kopyalanabilir. Dolayısıyla, ya kopyalamaya çalıştığınız disk bölümünü küçültün, ya da daha büyük bir disk bölümüne kopyalayın.Disk %1$s: %2$s Disk GörüntüsüDisk kullanımdaSonBitiÅŸ?HataTampon önbellek atamada hata.%s fsyncleme/kapamada hata: %s%s - %s SCSI aygıtını ilklendirmede hata%1$s açarken hata: %2$sAtama dosyasına yazmada hata.Atama dosyasının uyumluluk bölümüne yazmada hata.Kök dizinine yazmada hata.Bir disk etiketi türü bekleniyor.Bir dosya sistemi türü bekleniyor.Bir disk bölümü numarası bekleniyor.Bir disk bölümü türü bekleniyor.Msdos disk etiketlerinde ek disk bölümleri gizli olamaz.FAT %d ortam %x önyükleme sektörünün ortamı %x'le uyuÅŸmamakta. Muhtemelen scandisk yürütmelisiniz.FAT önyükleme sektörü kümelerin 0 sektör olduÄŸunu söylüyor. Bu tuhaf. FAT önyükleme sektörü mantıksal sektör boyutunun 0 olduÄŸunu söylüyor. Bu tuhaf. FAT önyükleme sektörü FAT tablosunun olmadığını söylüyor. Bu tuhaf. FLAG ÅŸunlardan biridir: FS-TYPE ÅŸunlardan biridir: %d'ye bölümleme bloÄŸu yazımı baÅŸarısız.ÖlümcülÖlümcül hataDosya Sistemi: %s Dosya sistemiDosya sistemi, Windows'un hoÅŸlanması beklenen boyutlara sahip deÄŸil. Küme boyutu %dk (%dk beklenirdi); küme sayısı %d (%d beklenirdi); FAT boyutları %d sektördür (%d beklenirdi).Dosya sistemi dolu!Dosya sisteminin uyumsuz bir özelliÄŸi etkin durumda. Uyumlu özellikler has_journal, dir_index, filetype, sparse_super ve lrage_file'dır. Özellikleri silmek için tune2fs ya da debugfs kullanın.Dosya sistemi, FAT dosya sistemi için geçersiz bir küme boyutuna sahip.Dosya sistemi, geçersiz FATS sayısına sahip.Dosya sistemi, FAT dosya sistemi için geçersiz bir ayrılmış sektör sayısına sahip.Dosya sistemi, FAT dosya sistemi için geçersiz bir sektör boyutuna sahip.Dosya sistemi, FAT dosya sistemi için geçersiz bir imzaya sahip..Dosya sisteminde hatalar var! e2fsck'yi yürütün.Dosya sistemi bir grubu silmek için çok sayıda dosya indeksine sahip!Dosya sistemi FAT12, ki desteklenmiyor.Dosya sistemi boÅŸluÄŸun %d küme olduÄŸunu bildiriyor, %d küme deÄŸil.Dosya sistemi bir grubu silmek için çok dolu!ext2 için dosya sistemi çok küçük.Dosya sistemi türü?Dosya sistemi temizce ayrılmadı! e2fsck çalıştırmalısınız.Dosya sistemi temizce ayrılmadı! e2fsck'lamalısınız. Temiz olmayan dosya sistemini deÄŸiÅŸtirmek ciddi sorunlara yol açabilir.OnarTersine çevirmek üzere bayrakla?BayraklarBayraklar: %s Yanlış link sayısına sahip bir dosya indeksi bulundu. İyisi mi önce bir e2fsck yürütün.BoÅŸ AlanGNU Parted bu disk bölümünü bu boyuta yeniden boyutlandıramaz. Üzerinde çalışıyoruz!GNU Parted geçersiz bir libreiserfs kütüphanesi buldu.GNU Parted libreiserfs arayüz sürüm uyumsuzluÄŸu tespit etti. %d-%d buldu, %d gerekiyordu. ReiserFS desteÄŸi etkisizleÅŸtirilecek.GNU parted yanlış derlenmiÅŸ: FAT önyükleme sektörü 512 bayt olmalı. FAT desteÄŸi devre dışı bırakılacak.GNU yazılımı kullanmada genel yardım: Genel IDEGenel SD/MMC Bellek KartıI20 DenetleyiciIBM S390 DASD sürücüsüIBM iSeries Virtual DASDEÄŸer FAT16'ya dönüştürürseniz ve bu disk bölümüne MS Windows yüklenmiÅŸse, MS Windows önyükleyicisini yeniden yüklemelisiniz. EÄŸer bunu yapmak isterseniz, Parted el kitabına (ya da dağıtımınızın el kitabına) baÅŸvurmalısınız.EÄŸer FAT32'ye dönüştürürseniz ve bu disk bölümüne MS Windows yüklenmiÅŸse, MS Windows önyükleyicisini yeniden yüklemelisiniz. EÄŸer bunu yapmak isterseniz, Parted el kitabına (ya da dağıtımınızın el kitabına) baÅŸvurmalısınız. Ayrıca FAT32'ye dönüşüm, dosya sisteminin MS DOS, MS Windows 95a ve MS Windows NT tarafından okunamaz olmasına yol açacaktır.EÄŸer dosya sisteminizi FAT16 olarak bırakırsanız sorununuz olmaz.EÄŸer dosya sisteminizi FAT32 olarak bırakırsanız yeni bir sorunla karşılaÅŸmayacaksınız.YoksayTutarsız grup tanımlayıcıları!Günlük baÅŸlığında geçersiz sihirli deÄŸerler.İşletim sistemini disk bölümleme tablosu deÄŸiÅŸikliklerinden haberdar eder. -d, --dry-run iÅŸletim sistemini haberdar etmez -s, --summary içeriÄŸin bir özetini basar -h, --help bu yardımı görüntüler ve çıkar -v, --version sürüm bilgisini çıkartır ve çıkar BilgiGeçersiz VTOC.Geçersiz geriye baÅŸvuruGeçersiz karakter sınıfı ismiGeçersiz harmanlama karakteri\{\} in içeriÄŸi geçersizGeçersiz serbest blok sayısı. Önce reiserfsck --check yürütün.Geçersiz numara.Geçersiz disk bölümleme tablosu - %s üzerinde özyinelemeli disk bölümü.%1$s üzerinde geçersiz disk bölümleme tablosu - yanlış imza %2$x%s üzerinde geçersiz disk bölümleme tablosu.Geçersiz önceki düzenli ifadeGeçersiz kapsam sonuGeçersiz düzenli ifadeMac disk etiketleri için geçersiz imza %x.Günlük tekrar okunurken geçersiz bir iÅŸlem boyut bloÄŸu (%i bayt).Geçersiz süperblok. Bunun bir ext2 dosya sistemi olduÄŸundan emin misiniz?HFS sarmalayıcısında hata var gibi görünüyor: hatalı blok dosyası, gömülü HFS+ oylumunu içermiyor.Günlük baÅŸlangıcı ya da boyutu sektör boyutunun katı deÄŸil.Günlük bilgi bloÄŸu ve baÅŸlığı arasında günlük boyutu örtüşmüyor.Oylum dışında depolanan günlükler desteklenmiyor. Günlüğü etkisiz kılmayı ve Parted'ı yeniden çalıştırmayı deneyin.LABEL-TYPE ÅŸunlardan biridir: Linux aygıt-eÅŸlemleyicisi (%s)Maksimum boyut: Bellek tahsisi baÅŸarısızBellek tükendiMinimum boyut: Minor: %d Model: %s (%s) NAME istediÄŸiniz herhangi bir sözcüktür NUMBER, Linux tarafından kullanılan disk bölümü numarasıdır. Msdos disk etiketlerinde birincil disk bölümü numarası 1-4 arası, mantıksal disk bölümleri de 5 ve üstüdür. İsimYeni aygıt?Yeni disk etiketi türü?Yeni durum?HayırUyarlama yokAygıt bulunamadıEÅŸleÅŸme yokDaha önce düzenli ifade yokDisk bölümü bilgisi için yer yokOylum etiketi için yer yokAçarken, geçerli HFS[+X] imzası bulunamadı.Geçerli disk bölümü eÅŸlemi bulunamadı.%s için kullanılabilir boÅŸluÄŸun tamamı kullanılmamış görünüyor, GPT'yi ayarlayıp tüm mevcut boÅŸluÄŸu (%llu ek blok) kullanabilir ya da mevcut ayarla devam edebilirsiniz?Yeterli serbest dosya indeksi yok!NumaraTamamSEÇENEKler:Yalnızca mantıksal disk bölümleri bir önyükleme dosyası olabilir.Yalnızca birincil disk bölümleri kök disk bölümü olabilir.Yalnızca birincil disk bölümleri takas disk bölümleri olabilir.Yetersiz bellekPART-TYPE ÅŸunlardan biridir: birincil, mantıksal, ek %s tarafından paketlendi %s (%s) tarafından paketlendi Parted, Windows Dinamik Disk tarafından yönetilen bölümleri yeniden boyutlayamaz.Parted sektör boyutu %d bayta eÅŸit olmayan disklerde HFS dosya sistemi kullanamaz.%d disk bölümü 0 baytlık geçersiz uzunluÄŸa sahip!%d disk bölümü geçersiz imzaya sahip %x.%1$d disk bölümü %2$s, fakat dosya sistemi %3$s'dir.%d disk bölümü silindir sınırlarına hizalanmamış. Bu hala desteklenmiyor.%s disk bölümü kullanılıyor. Parted'la deÄŸiÅŸtirmeden önce ayırmalısınız.Disk bölümü Tablosu: %s Disk bölümü yok.Disk bölümü eÅŸleminin disk bölümü eÅŸlem girdisi yok!Disk bölümü adı?Disk bölümü numarası?Disk bölümü, bir %s dosya sistemi için çok büyük/küçükDisk bölümü türü?%s üzerindeki disk bölümü(leri) kullanılıyor.Düzenli ifadenin sonu eksikPromise SX8 SATA AygıtıDüzenli ifade çok büyükReiserfs aÄŸacı bozuk görünüyor. Önce reiserfsck --check yürütün.%s hatalarını %s'e bildirin. HFS+ oylumunun yeniden boyutlandırılması baÅŸarısız.Yeniden deneSTART ve END disk konumlarıdır, 4GB ya da %10 gibi. Eksi deÄŸerler, diskin sonuna uzaklığı belirtir. ÖrneÄŸin -1s tam olarak son sektörü belirtir. STATE ÅŸunlardan biridir: açık, kapalı Sektör boyutu (mantıksal/fiziksel): %lldB/%lldB BoyutBoyut: Bazı baÅŸlık alanları sektör boyutunun katı deÄŸil.Üzgünüm, HFS henüz o ÅŸekilde yeniden boyutlandırılamıyor.Üzgünüm, HFS+ henüz o ÅŸekilde yeniden boyutlandırılamıyor.Üzgünüm, henüz ext2 disk bölümlerinin baÅŸlangıcı taşınamıyor!Üzgünüm, henüz reiserfs disk bölümlerinin baÅŸlangıcı taşınamıyor.Kaynak aygıtı?Kaynak disk bölümü numarası?BaÅŸlangıçBaÅŸlangıç?BaÅŸarılıSun disk etiketi doldu.AIX disk etiketlerine disk bölümü ekleme desteÄŸi henüz saÄŸlanmamıştır.%s dosya sistemlerini kontrol etmek için destek henüz saÄŸlanmamıştır.%s dosya sistemlerini kopyalamak için destek henüz saÄŸlanmamıştır.%s dosya sistemlerini oluÅŸturmak için destek henüz saÄŸlanmamıştır.AIX disk etiketlerinde disk bölümü çoÄŸaltma desteÄŸi henüz saÄŸlanmamıştır.%s dosya sistemlerini açmak için destek henüz saÄŸlanmamıştır.AIX disk etiketlerini okuma desteÄŸi henüz saÄŸlanmamıştır.%s dosya sistemlerini yeniden boyutlandırmak için destek henüz saÄŸlanmamıştır.AIX disk etiketlerinde bayrak kurma desteÄŸi henüz saÄŸlanmamıştır.AIX disk etiketlerinde sistem türü disk bölümü kurma desteÄŸi henüz saÄŸlanmamıştır.AIX disk etiketlerini yazma desteÄŸi henüz saÄŸlanmamıştır.Config dosyasında sözdizim hatasıFAT'lar uyuÅŸmuyor. EÄŸer bunun ne demek olduÄŸunu bilmiyorsanız, Vazgeç'i seçin, dosya sisteminde scandisk'i yürütün, ve buraya dönün.Geride yalnızca Tüm Disk disk bölümü kaldı. Genellikle, bu disk bölümünün üzerine bir gerçeÄŸini yazmak iyi bir fikir deÄŸildir. Solaris onsuz açılmayabilir, ve SILO da (sparc önyükleyicisi) ona deÄŸer verir.Yedek GPT tablosu bozuk, ama birincil tamam görünüyor, dolayısıyla o kullanılacak.GPT tablosunun yedeÄŸi, olması gerektiÄŸi gibi diskin sonunda deÄŸil. Bu, bir baÅŸka iÅŸletim sisteminin diski olduÄŸundan küçük sanması anlamına gelebilir. YedeÄŸi sona taşıyarak (ve eski yedeÄŸi silerek) onarınız?Önyükleme bölgesi, disk bölümünün başından baÅŸlamıyorMevcut API sürümü '%d' dasd sürücüsü API sürümüyle '%d' uyuÅŸmuyor!Veri bölgesi, disk bölümünün başından baÅŸlamıyor%s aygıtı sıfır-uzunlukta ve muhtemelen bir dosya sistemi ya da bölümleme tablosu depolayamıyor. Yanlış aygıtı seçmiÅŸ olmayasınız?Disk CHS geometrisi (%d,%d,%d), disk etiketinde saklanan geometriye (%d,%d,%d).uymuyor.Disk %d silindire sahip ki bu maksimum 65536'dan daha çok.Disk etiketi, %s'den daha büyük bir disk tanımlıyor.Sürücü tanımlayıcısı fiziksel blok boyutunun %d bayt olduÄŸunu, Linux %d bayt olduÄŸunu bildiriyor..%s üzerindeki mevcut disk etiketi silinecek ve bu disk üzerindeki tüm veri kaybolacak. Devam etmek istiyor musunuz?Mevcut dosya sistemi silinecek ve disk bölümündeki tüm veri kaybolacak. Devam etmek istiyor musunuz?ext2 dosya sistemi temel bir kontrolü geçti. Daha kapsamlı bir kontrol için e2fsck programını kullanınız.Aralık taÅŸması dosyası, kendi aralıklarını içermemeli! Dosya sistemini kontrol etmelisiniz.%s dosyası bir sistem dosyası olarak iÅŸaretlenmiÅŸ. Bu, onu taşımanın bazı programların çalışmasını durdurmaya yolaçacağı anlamına gelir.Dosya sistemi, yalnızca FAT16'ya dönüştürülerek bu boyuta yeniden boyutlandırılabilir.Dosya sistemi, yalnızca FAT32'ye dönüştürülerek bu boyuta yeniden boyutlandırılabilir.Dosya sistemi hatalar içeriyor.Dosya sisteminin 'dir_index' özelliÄŸi etkin halde... Parted, dosya sistemini ancak bu özelliÄŸi devre dışı bırakarak yeniden boyutlandırabilir. Daha sonra 'tune2fs -O dir_index' ve sonrasında 'e2fsck -fD AYGIT' komutlarıyla yeniden etkinleÅŸtirebilirsiniz.Dosya sistemi oylumundan daha büyük!Dosya sistemi geçersiz bir durumda. BaÄŸlı olabilir mi?Dosya sistemi eski (yeniden boyutlanamayan) biçemde.Dosya sisteminin CHS geometrisi (%d, %d, %d), ki bu geçersiz. Bölümleme tablosunun CHS geometrisi (%d ,%d ,%d). Yoksay'ı seçerseniz dosya sisteminin CHS geometrisi deÄŸiÅŸtirilmeyecek. Onar'ı seçerseniz dosya sisteminin CHS geometrisi, bölümleme tablosunun CHS geometrisiyle uyuÅŸacak ÅŸekilde ayarlanacak.GPT disk bölümleme tablosu biçemi sürüm %x olup, Parted'ın tanıyabileceÄŸinden daha yenidir. Lütfen bize bildirin! bug-parted@gnu.orgBilgi sektörü yanlış imzaya sahip. (%x). Åžimdilik vazgeçi seçin ve bir yazılım hatası raporu gönderin. Çaresizseniz, yoksaymak muhtemelen güvenli.Günlük boÅŸ. Parted, dosya sistemini açmadan iÅŸlemleri yinelemeli. Bu, dosya sistemini deÄŸiÅŸtirecek.%1$s yerleÅŸimi %2$s aygıtının dışında.Maksimum kafa deÄŸeri %d.Maksimum sektör deÄŸeri %d.Disk bölümü aÅŸağıdaki FS-TYPE'larından birine sahip olmalıdır: Disk bölümleme tablosu yeniden okunamadı, bu nedenle deÄŸiÅŸtirilmiÅŸ herhangi bir disk bölümünü baÄŸlamadan (bilgisayarı) yeniden açmalısınız. Yeniden açmadan önce önyükleyicinizi de yeniden kurmalısınız (ki bu deÄŸiÅŸtirilmiÅŸ disk bölümlerini baÄŸlamayı gerektirebilir). İki ÅŸeyi birden yapmak olanaksız! Dolayısıyla, bir kurtarma diskiyle açmanız ve önyükleyicinizi bu diskten yeniden kurmanız gerekecek. Daha fazla bilgi için Parted Kullanıcı belgesinin 4. bölümünü okuyunuz.%1$s (%2$s) üzerindeki disk bölümleme tablosu. Bu, sizin yaptığınız deÄŸiÅŸiklikleri Hurd bilmiyor anlamına gelir. %3$s ile ilgili hiçbir ÅŸey yapmadan önce bilgisayarınızı yeniden açmalısınız.Disk bölümünün önyükleme bölgesi tüm disk bölümünü kaplamıyor.Disk bölümünün veri bölgesi tüm disk bölümünü kaplamıyor.Birincil GPT tablosu bozuk, ama yedek tamam görünüyor, dolayısıyla yedek kullanılacak.reiserfs dosya sistemi temel bir kontrolü geçti. Daha kapsamlı bir kontrol için reiserfsck --check yürütünüz.Ortaya çıkan disk bölümü en iyi performansı elde etmek için ayarlanmamış.Günlükte kayıtlı sektör boyutu 512 bayt deÄŸil. Parted yalnızca 512 bayt uzunluktaki sektörleri destekler.Belirtilen aygıt geçerli bir DASD aygıtı deÄŸilGünlük yinelenirken ana dizin bloÄŸunun oylum baÅŸlığı deÄŸiÅŸti. Parted'ı yeniden baÅŸlatmalısınız.Bu FAT türü için olası yapılandırma yok.Kök dizininde tüm dosyalara yetecek yer yok. Ya iptal edin, ya da dosyaları yitirmek için yoksayın.Bu HFS oylumunun katalog dosyası yok. Bu çok sıradışı!Bu HFS oylumunun aralık taÅŸması dosyası yok. Bu oldukça sıradışı!Bu HFS+ oylumunun katalog dosyası yok. Bu çok sıradışı!Bu HFS+ oylumunun aralık taÅŸması dosyası yok. Bu oldukça sıradışı!Bu komut etkileÅŸimsiz kipte anlamsız. Bu dosya sistemi %d mantıksal sektör boyutuna sahip. GNU Parted'in 512 bayttan farklı sektör boyutlarıyla düzgün çalışmadığı bilinmektedir.Bu geçek bir %s kontrolü deÄŸil. Hata ayıklama amacıyla düşük düzey dosyalar özütlenecek.Bu bir ECKD diski deÄŸil! Bu disk türü desteklenmiyor!Bu libparted'in %s için yazma desteÄŸi yok. Belki de salt-okunur olarak derlenmiÅŸtir.Çok sayıda bozuk sayfa.Çok fazla birincil disk bölümüÇok fazla birincil disk bölümüİzleyen tersbölüDaha fazla bilgi için `%s --help' yazın. Blok Ox%X'den Ox%X'e bir aralık taşınmaya çalışılıyor, fakat bu konumda bir baÅŸkası zaten mevcut. Bu olmamalı!EOF arkasında CNID %X'li HFS dosyası okunmaya çalışılıyor.EOF arkasında CNID %X'li HFS+ dosyası okunmaya çalışılıyor.Blok 0x%X'den baÅŸlayacak ÅŸekilde bir aralık kaydedilmeye çalışılıyor, fakat bu konumda bir baÅŸkası zaten mevcut. Dosya sistemini kontrol etmelisiniz!EOF arkasında CNID %X'li HFS dosyası yazılmaya çalışılıyor.EOF arkasında CNID %X'li HFS+ dosyası yazılmaya çalışılıyor.TürUNIT ÅŸunlardan biridir: Bir bsd disk etiketi yuvası tahsis edilemediBir dasd disk etiketi yuvası tahsis edilemediBir disk bölümü numarası atanamadı.%s Dosya/aygıtının geometrisi belirlenemedi. CİDDEN ne yaptığınızı bilmiyorsanız Parted kullanmamalısınız!%s'in dm türü belirlenemedi.%1$s (%2$s)'in boyutu belirlenemedi%1$s oku-yaz ÅŸeklinde açılamıyor (%2$s). %3$s salt-okunur olarak açıldı.%s açılamadı.Depo sondalanamadı.Disk bölümü üzerindeki tüm koÅŸullar karşılanamadı.Birim?BilinmeyenBilinmeyen disk bayrağı, %d.Bilinmeyen dosya sistemi türü "%s".Bilinmeyen.disk bölümü bayrağı, %d.Bilinmeyen sistem hatası( ya da \( eÅŸleÅŸmiyor) ya da \) eÅŸleÅŸmiyor[ ya da [^ eÅŸleÅŸmiyor\{ eÅŸleÅŸmiyorTanınmayan yeni tarz linux takas imzası '%10s'.Tanınmayan ezki tarz linux takas imzası '%10s'.Tanınmayan swsusp linux takas imzası '%9s'.Desteklenmeyen disk biçemiDesteklenmeyen disk türüHFS sarmalayıcısının göncellenmesi baÅŸarısız.Kullanım: %s [-hlmsv] [-a] [AYGIT [KOMUT [PARAMETRELER]]...] Kullanım: %s [SEÇENEK] ya da: %s AYGIT MİNOR Kullanım: %s [SEÇENEK] [AYGIT]... Kullanım: parted [SEÇENEK]... [AYGIT [KOMUT [PARAMETRELER]...]...] KOMUTLARI PARAMETRELERle AYGITa uygular. EÄŸer KOMUT(lar) verilmezse, etkileÅŸimli kipte çalışır. Kullanıcı Kipi Linux UBD%s kullanılıyor Geçerli argümanlar ÅŸunlardır:HFS+'in %d sürümü desteklenmiyor.HFSX'in %d sürümü desteklenmiyor.Virtio Blok AygıtıOylum etiketi bozukUYARI: Süper kullanıcı deÄŸilsiniz. İzinlere dikkat edin.UYARI: (%s) dosya sistemi üzerinde iÅŸlem yapmak üzere %s kullanma giriÅŸiminde bulunuyorsunuz. %s'nin dosya sistemi iÅŸleme kodu, e2fsprogs gibi adanmış, dosya sistemine özgün paketlerde bulabileceÄŸiniz kadar saÄŸlam deÄŸildir. Biz, %s 'i mümkünse yalnızca bölümleme tablolarını iÅŸlemek için kullanmanızı öneririz. Gelecek bir sürümde dosya sistemleri üzerinde yapılabilen iÅŸlemler ve türlerine verilen destek kaldırılacaktır. UyarıAygıt tanımlayıcısında tuhaf blok boyutu: %d bayt, 512'ye bölünemiyor.Tuhaf!- 2 disk bölümü eÅŸlem girdisi mevcut!GNU Parted'a hoÅŸgeldiniz! Komutların bir listesini görmek için 'help' yazınız. Argümansız olduÄŸunda print tüm bölümleme tablosunnu gösterir. AÅŸağıdaki argümanlarla kullanıldığında diÄŸer çeÅŸitli eylemleri uygular. FAT32 kullanmak ister misiniz?%s ve %s tarafından yazıldı. %1$s, %2$s, %3$s, %4$s, %5$s %6$s, %7$s, %8$s, %9$s ve diÄŸerleri tarafından yazıldı. %1$s, %2$s, %3$s, %4$s, %5$s %6$s, %7$s, %8$s ve %9$s tarafından yazıldı. %1$s, %2$s, %3$s, %4$s, %5$s %6$s, %7$s ve %8$s tarafından yazıldı. %1$s, %2$s, %3$s, %4$s, %5$s, %6$s ve %7$s tarafından yazıldı. %1$s, %2$s, %3$s, %4$s, %5$s ve %6$s tarafından yazıldı. %s, %s, %s, %s ve %s tarafından yazıldı. %s, %s, %s ve %s tarafından yazıldı. %s, %s ve %s taraından yazıldı. %s tarafından yazıldı. Xen Sanal Blok AygıtıEvet/etc/fstab'i güncellemeniz gerekebilir. Bu disk bölümünü bu boyuta küçültmek için %1$s'lik boÅŸ yere gereksiniminiz var. Halen yalnızca %2$s kadarı boÅŸ.%1$s'den %2$s'e bir bölüm istediniz. BecerebildiÄŸimiz buna en yakın konum %3$s'den %4$s.%5$s'eYeniden açmadan önce önyükleyicinizi yeniden kurmalısınız. Daha fazla bilgi için Parted Kullanıcı belgesinin 4. bölümünü okuyunuz.Dosya sisteminiz %i bloÄŸa yeniden boyutlandırmak için çok sayıda dolu dosya indeksine sahip. Üzgünüm.Dosya sisteminiz %i bloÄŸa yeniden boyutlandırılmak için çok dolul. Üzgünüm.^[hH]^[eE]`gruplar ekleniyoralign-checkalign-check TÜR N disk bölümü N'yi hiza TÜRü(min|opt) için kontrol etyeni disk bölümleri için hizalamahizalama türü(min/opt)%2$s için belirsiz argüman %1$satvrecvbios_grubönyüklemecheckcheck NUMBER dosya sistemi üzerinde basit bir kontrol yapkontrol ediliyorhatalı blok aranıyorkopyalıyorcpcp [FROM-DEVICE] FROM-NUMBER TO-NUMBER dosya sistemini bir baÅŸka disk bölümüne kopyalaoluÅŸturuluyorsilindir_hizalamasıarzulanan hizalama: minimum ya da optimalmakinece ayrıştırılabilir çıktıyı gösterirsürümü görüntülerbu yardım mesajını görüntüler%s okunurken dosya sonugeniÅŸletiliyorek%s'e dvh bölümleme adı atanması baÅŸarısız: Yalnızca mantıksal disk bölümlerinin (önyükleme dosyaları) bir adı olabilir.fat_table_alloc_cluster: boÅŸ küme yokfat_table_get: %ld kümesi dosya sisteminin dışındafat_table_set: %ld kümesi dosya sisteminin dışındakullanılmamışbüyüyen dosya sistemihelphelp [COMMAND] genel yardımı ya da KOMUT yardımını yazdırırgizlihp-servisigeçersiz %s%s argüman `%s'%2$s için geçersiz argüman %1$sgeçersiz minör aygıt numarası: %s%s%s argümanında geçersiz sonek `%s'geçersiz andaç: %sioctl() hatasılbatüm blok aygıtların bölümleme yerleÅŸimlerini listelermantıksallvmbellek tükendimetaverisiminimalmkfsmkfs NUMBER FS-TYPE NUMBER disk bölümü üzerinde FS-TYPE dosya sistemini yapmklabelmklabel,mktable LABEL-TYPE yeni bir disk etiketi (disk bölümü tablosu) oluÅŸturmkpartmkpart PART-TYPE [FS-TYPE] START END bir disk bölümü yapmkpartfsmkpartfs PART-TYPE FS-TYPE START END dosya sistemi olan bir disk bölümü yapmktablemovemove NUMBER START END NUMBER. disk bölümünü taşımsftresnamename NUMBER NAME NUMBER. disk bölümünü NAME'le adlandırkullanıcı müdahalesi için asla istemde bulunmazkapalıaçıkaçma hatasıaygıtın açılması baÅŸarısızoptimalpaloparted, %1$s (%2$s) üzerindeki disk bölümleme tablosunu yeniden okuyamadı. Bu, siz (bilgisayarı) yeniden açana dek yaptığınız deÄŸiÅŸiklikleri Linux'un bilmemesi demek. %jd sektörün bölümleme uzunluÄŸu %s bölümleme tablosunca zorlanan maksimum %jd'i aşıyorped_device_new() Desteklenmeyen aygıt türüprepbirincilbirincil bölümleme tablosu dizisi CRC uyumsuzluÄŸuprintprint [aygıtlar|boÅŸluk|liste,tümü|NUMARA] bölümleme tablosu, mevcut aygıtlar, boÅŸluk, tüm bulunan bölümler ya da belli bir bölümü gösterirquitquit programdan çıkraidham blok kopyalamaokuma hatasıaygıttan okuma baÅŸarısızrescuerescue START END START ve END arasındaki kayıp disk bölümlerini kurtarresizeresize NUMBER START END NUMBER. disk bölümünü ve üzerindeki dosya sistemini yeniden boyutlandırrmrm NUMBER NUMBER. disk bölümünü silkökdosyaarama hatasıaygıtta arama baÅŸarısızselectselect DEVICE düzenlenecek aygıtı seçsetset NUMBER FLAG STATE NUMBER. disk bölümü üzerindeki bayrağı deÄŸiÅŸtirküçültülüyorHFS sarmalayıcısı küçültülüyorgömülü HFS+ oylumu küçültülüyorbaÅŸlangıç sektör numarası %jd,%s bölümleme tablosunca zorlanan maksimum %jd'i aşıyortakasseçmece / deÄŸiÅŸtirtoggle [NUMBER [FLAG] NUMBER. disk bölümü üzerindeki BAYRAK durumunu deÄŸiÅŸtirargüman sayısı yetersizçok fazla argümanbirimbirim UNIT öntanımlı birimi UNIT'e ayarlasürümversion GNU Parted'in sürüm numarasını ve telif hakkı bilgisini görüntüleryazma hatasıHFS Ana Dizin BloÄŸu yazılıyorHFS+ Oylum BaÅŸlığı yazılıyorgrup bazında metaverisi yazılıyoraygıta yazma baÅŸarısızparted-2.3/po/it.po0000644000000000000000000032731711400005704011122 00000000000000# Italian translation for the parted package # Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. # This file is distributed under the same license as the parted package. # Giuseppe Sacco , 2004-2006. # # Milo Casagrande , 2008, 2009, 2010. msgid "" msgstr "" "Project-Id-Version: parted 2.2\n" "Report-Msgid-Bugs-To: bug-parted@gnu.org\n" "POT-Creation-Date: 2010-05-28 20:30+0200\n" "PO-Revision-Date: 2010-03-10 18:33+0100\n" "Last-Translator: Milo Casagrande \n" "Language-Team: Italian \n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "argomento %s per %s non valido" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "argomento %s per %s ambiguo" #: lib/argmatch.c:153 #, c-format msgid "Valid arguments are:" msgstr "Argomenti validi sono:" #: lib/closeout.c:112 libparted/labels/fdasd.c:107 msgid "write error" msgstr "errore di scrittura" #: lib/error.c:181 msgid "Unknown system error" msgstr "Errore di sistema sconosciuto" #: lib/getopt.c:527 lib/getopt.c:543 #, c-format msgid "%s: option '%s' is ambiguous\n" msgstr "%s: l'opzione \"%s\" è ambigua\n" #: lib/getopt.c:576 lib/getopt.c:580 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: l'opzione \"--%s\" non accetta un argomento\n" #: lib/getopt.c:589 lib/getopt.c:594 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: l'opzione \"%c%s\" non accetta un argomento\n" #: lib/getopt.c:637 lib/getopt.c:656 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: l'opzione \"%s\" richiede un argomento\n" #: lib/getopt.c:694 lib/getopt.c:697 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: opzione \"--%s\" non riconosciuta\n" #: lib/getopt.c:705 lib/getopt.c:708 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: opzione \"%c%s\" non riconosciuta\n" #: lib/getopt.c:757 lib/getopt.c:760 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: opzione non valida -- \"%c\"\n" #: lib/getopt.c:810 lib/getopt.c:827 lib/getopt.c:1035 lib/getopt.c:1053 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: l'opzione richiede un argomento -- \"%c\"\n" #: lib/getopt.c:883 lib/getopt.c:899 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: l'opzione \"-W %s\" è ambigua\n" #: lib/getopt.c:923 lib/getopt.c:941 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: l'opzione \"-W %s\" non accetta un argomento\n" #: lib/getopt.c:962 lib/getopt.c:980 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: l'opzione \"%s\" richiede un argomento\n" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". If the catalog has no translation, #. locale_quoting_style quotes `like this', and #. clocale_quoting_style quotes "like this". #. #. For example, an American English Unicode locale should #. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and #. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION #. MARK). A British English Unicode locale should instead #. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) #. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. #. #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. #: lib/quotearg.c:272 msgid "`" msgstr "\"" #: lib/quotearg.c:273 msgid "'" msgstr "\"" #: lib/regcomp.c:134 msgid "Success" msgstr "Successo" #: lib/regcomp.c:137 msgid "No match" msgstr "Nessuna corrispondenza" #: lib/regcomp.c:140 msgid "Invalid regular expression" msgstr "Espressione regolare non valida" # (ndt) http://en.wikipedia.org/wiki/Collation #: lib/regcomp.c:143 msgid "Invalid collation character" msgstr "Carattere di collazione non valido" #: lib/regcomp.c:146 msgid "Invalid character class name" msgstr "Nome classe del carattere non valida" #: lib/regcomp.c:149 msgid "Trailing backslash" msgstr "Backslash finale" # (ndt) hmmm.... #: lib/regcomp.c:152 msgid "Invalid back reference" msgstr "Riferimento all'indietro non valido" #: lib/regcomp.c:155 msgid "Unmatched [ or [^" msgstr "[ o [^ senza corrispondenza" #: lib/regcomp.c:158 msgid "Unmatched ( or \\(" msgstr "( o \\( senza corrispondenza" #: lib/regcomp.c:161 msgid "Unmatched \\{" msgstr "\\{ senza corrispondenza" #: lib/regcomp.c:164 msgid "Invalid content of \\{\\}" msgstr "Contenuto di \\{\\} non valido" #: lib/regcomp.c:167 msgid "Invalid range end" msgstr "Limite massimo non valido" #: lib/regcomp.c:170 msgid "Memory exhausted" msgstr "Memoria esaurita" #: lib/regcomp.c:173 msgid "Invalid preceding regular expression" msgstr "Espressione regolare precedente non valida" #: lib/regcomp.c:176 msgid "Premature end of regular expression" msgstr "Fine prematura dell'espressione regolare" #: lib/regcomp.c:179 msgid "Regular expression too big" msgstr "Espressione regolare troppo grande" #: lib/regcomp.c:182 msgid "Unmatched ) or \\)" msgstr ") o \\) senza corrispondenza" #: lib/regcomp.c:703 msgid "No previous regular expression" msgstr "Nessuna espressione regolare precedente" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[sSyY]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nN]" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Pacchetto creato da %s (%s)\n" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Pacchetto creato da %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "©" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "Licenza GPLv3+: GNU GPL versione 3 o successiva .\n" "Questo programma è software libero: siete liberi di modificarlo e " "ridistribuirlo.\n" "Non c'è ALCUNA GARANZIA, per quanto consentito dalle vigenti normative.\n" "\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Scritto da %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Scritto da %s e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Scritto da %s, %s e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "Scritto da %s, %s, %s\n" "e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Scritto da %s, %s, %s,\n" "%s e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Scritto da %s, %s, %s,\n" "%s, %s e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Scritto da %s, %s, %s,\n" "%s, %s, %s e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Scritto da %s, %s, %s,\n" "%s, %s, %s, %s\n" "e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Scritto da %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Scritto da %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s e altri.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Segnalare i bug a: %s\n" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "Segnalare i bug di %s a: %s\n" #: lib/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "Sito web di %s: <%s>\n" #: lib/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "Sito web di %s: \n" #: lib/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "Aiuto per l'utilizzo di software GNU: \n" #: lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "memoria esaurita" #: lib/xstrtol-error.c:63 #, c-format msgid "invalid %s%s argument `%s'" msgstr "l'argomento \"%3$s\" di %1$s%2$s non è valido" #: lib/xstrtol-error.c:68 #, c-format msgid "invalid suffix in %s%s argument `%s'" msgstr "il suffisso nell'argomento \"%3$s\" di %1$s%2$s non è valido" #: lib/xstrtol-error.c:72 #, c-format msgid "%s%s argument `%s' too large" msgstr "l'argomento \"%3$s\" di %1$s%2$s è troppo grande" #: libparted/arch/beos.c:245 msgid "Disk Image" msgstr "Immagine disco" #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277 #: libparted/arch/linux.c:1519 #, c-format msgid "Error opening %s: %s" msgstr "Errore nell'aprire %s: %s" #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287 #: libparted/arch/linux.c:1530 #, c-format msgid "Unable to open %s read-write (%s). %s has been opened read-only." msgstr "" "Impossibile aprire %s in lettura-scrittura (%s). %s è stato aperto in sola " "lettura." #: libparted/arch/beos.c:419 libparted/arch/linux.c:1688 #, c-format msgid "%s during seek for read on %s" msgstr "%s durante il posizionamento per la lettura su %s" #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564 #: libparted/arch/gnu.c:692 libparted/arch/linux.c:1648 #: libparted/arch/linux.c:1729 #, c-format msgid "%s during read on %s" msgstr "%s durante la lettura su %s" #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525 #: libparted/arch/linux.c:1805 #, c-format msgid "Can't write to %s, because it is opened read-only." msgstr "Impossibile scrivere su %s poiché è stato aperto in sola lettura." #: libparted/arch/beos.c:504 libparted/arch/linux.c:1830 #, c-format msgid "%s during seek for write on %s" msgstr "%s durante il posizionamento per la scrittura su %s" #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646 #: libparted/arch/gnu.c:723 libparted/arch/linux.c:1778 #: libparted/arch/linux.c:1872 libparted/arch/linux.c:1944 #, c-format msgid "%s during write on %s" msgstr "%s durante la scrittura su %s" #: debug/clearfat/clearfat.c:62 partprobe/partprobe.c:137 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Usare \"%s --help\" per ulteriori informazioni.\n" #: debug/clearfat/clearfat.c:66 #, c-format msgid "" "Usage: %s [OPTION]\n" " or: %s DEVICE MINOR\n" msgstr "" "Uso: %s [OPZIONI]\n" " o: %s DEVICE MINOR\n" #: debug/clearfat/clearfat.c:69 msgid "" "Clear unused space on a FAT partition (a GNU Parted testing tool).\n" "\n" msgstr "" "Pulisce lo spazio non usato su una partizione FAT (uno strumento di test di " "GNU Parted).\n" "\n" #: debug/clearfat/clearfat.c:73 msgid " --help display this help and exit\n" msgstr " --help Visualizza questo aiuto ed esce\n" #: debug/clearfat/clearfat.c:74 msgid " --version output version information and exit\n" msgstr " --version Stampa la versione ed esce\n" #: debug/clearfat/clearfat.c:76 partprobe/partprobe.c:154 #, c-format msgid "" "\n" "Report bugs to <%s>.\n" msgstr "" "\n" "Segnalare i bug a <%s>.\n" #: debug/clearfat/clearfat.c:284 #, c-format msgid "too few arguments" msgstr "troppi pochi argomenti" #: debug/clearfat/clearfat.c:289 #, c-format msgid "too many arguments" msgstr "troppi argomenti" #: debug/clearfat/clearfat.c:297 #, c-format msgid "invalid minor device number: %s" msgstr "minor number del dispositivo %s non valido" #: partprobe/partprobe.c:141 #, c-format msgid "Usage: %s [OPTION] [DEVICE]...\n" msgstr "Uso: %s [OPZIONI] [DEVICE]...\n" #: partprobe/partprobe.c:142 msgid "" "Inform the operating system about partition table changes.\n" "\n" " -d, --dry-run do not actually inform the operating system\n" " -s, --summary print a summary of contents\n" " -h, --help display this help and exit\n" " -v, --version output version information and exit\n" msgstr "" "Informa il sistema operativo riguardo i cambiamenti nella tabella delle " "partizioni.\n" "\n" " -d, --dry-run Non informa il sistema operativo\n" " -s, --summary Stampa un sommario dei contenuti\n" " -h, --help Visualizza questo aiuto ed esce\n" " -v, --version Stampa la versione ed esce\n" #: partprobe/partprobe.c:150 msgid "" "\n" "When no DEVICE is given, probe all partitions.\n" msgstr "" "\n" "Quando non viene fornito alcun DEVICE, rileva tutte le partizioni.\n" #: libparted/arch/gnu.c:110 #, c-format msgid "Unable to open %s." msgstr "Impossibile aprire %s." #: libparted/arch/gnu.c:130 msgid "Unable to probe store." msgstr "Impossibile rilevare il dispositivo di archiviazione." #: libparted/arch/gnu.c:368 msgid "" "The partition table cannot be re-read. This means you need to reboot before " "mounting any modified partitions. You also need to reinstall your boot " "loader before you reboot (which may require mounting modified partitions). " "It is impossible do both things! So you'll need to boot off a rescue disk, " "and reinstall your boot loader from the rescue disk. Read section 4 of the " "Parted User documentation for more information." msgstr "" "Impossibile rileggere la tabella delle partizioni; per poter montare le " "partizioni modificate è necessario riavviare il computer. Prima del riavvio " "è anche necessario installare nuovamente il \"boot loader\" (potrebbe " "richiedere di montare le partizioni modificate). Poiché non è possibile " "svolgere entrambe le operazioni, avviare il computer da un disco di " "ripristino e installare il \"boot loader\" da tale disco. Per maggiori " "informazioni, consultare la sezione 4 della documentazione di Parted." #: libparted/arch/gnu.c:385 #, c-format msgid "" "The partition table on %s cannot be re-read (%s). This means the Hurd knows " "nothing about any modifications you made. You should reboot your computer " "before doing anything with %s." msgstr "" "La tabella delle partizioni su %s (%s) non può essere riletta. Questo " "significa che le modifiche effettuate non saranno note a Hurd. Riavviare il " "computer prima di fare qualsiasi cosa con %s." #: libparted/arch/gnu.c:396 parted/parted.c:2719 msgid "" "You should reinstall your boot loader before rebooting. Read section 4 of " "the Parted User documentation for more information." msgstr "" "Prima di riavviare è utile reinstallare il \"boot loader\". Per maggiori " "informazioni, consultare la sezione 4 della documentazione di Parted." #: libparted/arch/gnu.c:788 #, c-format msgid "%s trying to sync %s to disk" msgstr "%s nel tentativo di sincronizzare %s sul disco" #: libparted/arch/linux.c:509 #, c-format msgid "Could not stat device %s - %s." msgstr "Impossibile fare stat del device %s - %s." #: libparted/arch/linux.c:566 #, c-format msgid "Unable to determine the dm type of %s." msgstr "Impossibile determinare il tipo dm di %s." #: libparted/arch/linux.c:658 #, c-format msgid "" "Could not determine sector size for %s: %s.\n" "Using the default sector size (%lld)." msgstr "" "Impossibile determinare la dimensione del settore per %s: %s.\n" "Verrà utilizzata la dimensione predefinita (%lld)." #: libparted/arch/linux.c:679 #, c-format msgid "" "Could not determine physical sector size for %s.\n" "Using the logical sector size (%lld)." msgstr "" "Impossibile determinare la dimensione fisica del settore per %s.\n" "Verrà utilizzata la dimensione logica (%lld)." #: libparted/arch/linux.c:728 #, c-format msgid "Unable to determine the size of %s (%s)." msgstr "Impossibile determinare la dimensione di %s (%s)." #: libparted/arch/linux.c:814 #, c-format msgid "Could not get identity of device %s - %s" msgstr "Impossibile identificare il device %s -%s" #: libparted/arch/linux.c:823 msgid "Generic IDE" msgstr "IDE generico" #: libparted/arch/linux.c:844 #, c-format msgid "" "Device %s has multiple (%d) logical sectors per physical sector.\n" "GNU Parted supports this EXPERIMENTALLY for some special disk label/file " "system combinations, e.g. GPT and ext2/3.\n" "Please consult the web site for up-to-date information." msgstr "" "Il device %s ha settori logici multipli (%d) per ogni settore fisico.\n" "Il supporto a questa configurazione è SPERIMENTALE e solo per alcune " "combinazioni di tipi di etichetta/file system, come GPT ed ext2/3.\n" "Per maggiori informazioni, consultare il sito web." #: libparted/arch/linux.c:1019 #, c-format msgid "Error initialising SCSI device %s - %s" msgstr "Errore nell'inizializzare il device SCSI %s - %s" #: libparted/arch/linux.c:1083 #, c-format msgid "" "The device %s has zero length, and can't possibly store a file system or " "partition table. Perhaps you selected the wrong device?" msgstr "" "Il device %s ha dimensione zero e probabilmente non può contenere un file " "system o una tabella delle partizioni. È stato selezionato il device errato?" #: libparted/arch/linux.c:1190 #, c-format msgid "" "Unable to determine geometry of file/device %s. You should not use Parted " "unless you REALLY know what you're doing!" msgstr "" "Impossibile determinare la geometria del file/device %s. L'uso di questo " "programma è sconsigliato a meno che non si sappia VERAMENTE cosa si sta " "facendo." #: libparted/arch/linux.c:1250 msgid "Generic SD/MMC Storage Card" msgstr "Scheda di archiviazione SD/MMC generica" #: libparted/arch/linux.c:1303 msgid "DAC960 RAID controller" msgstr "Controller RAID DAC960" #: libparted/arch/linux.c:1308 msgid "Promise SX8 SATA Device" msgstr "Dispositivo Promise SX8 SATA" #: libparted/arch/linux.c:1313 msgid "ATA over Ethernet Device" msgstr "" #: libparted/arch/linux.c:1319 msgid "IBM S390 DASD drive" msgstr "Drive IBM S390 DASD" #: libparted/arch/linux.c:1325 msgid "IBM iSeries Virtual DASD" msgstr "IBM iSeries Virtual DASD" #: libparted/arch/linux.c:1330 msgid "Compaq Smart Array" msgstr "Compaq Smart Array" #: libparted/arch/linux.c:1335 msgid "ATARAID Controller" msgstr "Controller ATARAID" #: libparted/arch/linux.c:1340 msgid "I2O Controller" msgstr "Controller I2O" #: libparted/arch/linux.c:1345 msgid "User-Mode Linux UBD" msgstr "User-Mode Linux UBD" #: libparted/arch/linux.c:1358 #, c-format msgid "Linux device-mapper (%s)" msgstr "Device-mapper Linux (%s)" #: libparted/arch/linux.c:1369 msgid "Xen Virtual Block Device" msgstr "Device a blocchi Xen Virtual" #: libparted/arch/linux.c:1374 msgid "Unknown" msgstr "Sconosciuto" #: libparted/arch/linux.c:1383 msgid "Virtio Block Device" msgstr "Device a blocchi Virtio" #: libparted/arch/linux.c:1388 msgid "Linux Software RAID Array" msgstr "" #: libparted/arch/linux.c:1395 msgid "ped_device_new() Unsupported device type" msgstr "ped_device_new() Tipo di device non supportato" #: libparted/arch/linux.c:1492 libparted/arch/linux.c:1564 #, c-format msgid "Error fsyncing/closing %s: %s" msgstr "Errore nell'eseguire fsync o nel chiudere %s: %s" #: libparted/arch/linux.c:1728 #, c-format msgid "end of file while reading %s" msgstr "raggiunta la fine del file durante la lettura di %s" #: libparted/arch/linux.c:2365 #, c-format msgid "" "Error informing the kernel about modifications to partition %s -- %s. This " "means Linux won't know about any changes you made to %s until you reboot -- " "so you shouldn't mount it or use it in any way before rebooting." msgstr "" #: libparted/arch/linux.c:2503 #, fuzzy, c-format msgid "Unable to determine the size and length of %s." msgstr "Impossibile determinare la dimensione di %s (%s)." #: libparted/arch/linux.c:2528 #, fuzzy, c-format msgid "Failed to add partition %d (%s)" msgstr "%s: lettura del blocco di partizione %llu non riuscita\n" #: libparted/arch/linux.c:2555 #, c-format msgid "" "Partition(s) %s on %s have been written, but we have been unable to inform " "the kernel of the change, probably because it/they are in use. As a result, " "the old partition(s) will remain in use. You should reboot now before " "making further changes." msgstr "" #: libparted/arch/linux.c:2681 #, c-format msgid "" "parted was unable to re-read the partition table on %s (%s). This means " "Linux won't know anything about the modifications you made. " msgstr "" "Il programma non ha potuto rileggere la tabella delle partizioni su %s (%s). " "Questo significa che Linux non sarà al corrente dei cambiamenti fatti." #: libparted/cs/geom.c:162 #, c-format msgid "Can't have the end before the start! (start sector=%jd length=%jd)" msgstr "" "Impossibile avere la fine prima dell'inizio (settore iniziale=%jd lunghezza=" "%jd)." #: libparted/cs/geom.c:170 msgid "Can't have a partition outside the disk!" msgstr "Impossibile avere una partizione al di fuori del disco." #: libparted/cs/geom.c:385 #, c-format msgid "Attempt to write sectors %ld-%ld outside of partition on %s." msgstr "" "Tentativo di scrivere i settori %ld-%ld al di fuori della partizione su %s." #: libparted/cs/geom.c:425 libparted/fs/linux_swap/linux_swap.c:488 msgid "checking for bad blocks" msgstr "controllo dei blocchi danneggiati" #: libparted/debug.c:97 #, c-format msgid "Backtrace has %d calls on stack:\n" msgstr "Backtrace ha %d chiamate sullo stack:\n" #: libparted/debug.c:110 #, c-format msgid "Assertion (%s) at %s:%d in function %s() failed." msgstr "Asserzione (%s) in %s:%d nella funzione %s() non riuscita." #: libparted/disk.c:193 #, c-format msgid "%s: unrecognised disk label" msgstr "%s: etichetta del disco non riconosciuta" #: libparted/disk.c:486 #, c-format msgid "" "This libparted doesn't have write support for %s. Perhaps it was compiled " "read-only." msgstr "" "Questa versione di libparted non dispone del supporto alla scrittura per %s. " "Potrebbe essere stato compilato in sola lettura." #: libparted/disk.c:631 #, c-format msgid "Partition %d is %s, but the file system is %s." msgstr "La partizione %d è %s, ma il file system è %s." # (ndt) lasciare non tradotto? #: libparted/disk.c:841 msgid "cylinder_alignment" msgstr "cylinder_alignment" #: libparted/disk.c:847 #, c-format msgid "Unknown disk flag, %d." msgstr "Flag del disco %d sconosciuto." #: libparted/disk.c:1286 #, c-format msgid "%s disk labels do not support extended partitions." msgstr "Le etichette dei dischi %s non supportano le partizioni estese." #: libparted/disk.c:1865 #, c-format msgid "%s disk labels don't support logical or extended partitions." msgstr "" "Le etichette dei dischi %s non supportano le partizioni estese o logiche." #: libparted/disk.c:1878 msgid "Too many primary partitions." msgstr "Troppe partizioni primarie." #: libparted/disk.c:1887 #, c-format msgid "" "Can't add a logical partition to %s, because there is no extended partition." msgstr "" "Impossibile aggiungere una partizione logica a %s poiché non ci sono " "partizioni estese." #: libparted/disk.c:1911 #, c-format msgid "Can't have more than one extended partition on %s." msgstr "Impossibile avere più di una partizione estesa su %s." #: libparted/disk.c:1921 msgid "Can't have logical partitions outside of the extended partition." msgstr "" "Impossibile avere partizioni logiche al di fuori della partizione estesa." #: libparted/disk.c:1946 #, c-format msgid "Can't have a logical partition outside of the extended partition on %s." msgstr "" "Impossibile avere una partizione logica esterna alla partizione estesa su %s." #: libparted/disk.c:1956 libparted/disk.c:2015 libparted/disk.c:2193 msgid "Can't have overlapping partitions." msgstr "Impossibile avere partizioni che si sovrappongono." #: libparted/disk.c:1964 msgid "Can't have a primary partition inside an extended partition." msgstr "Impossibile avere una partizione primaria all'interno di una estesa." #: libparted/disk.c:2395 msgid "metadata" msgstr "metadati" #: libparted/disk.c:2397 msgid "free" msgstr "libero" #: libparted/disk.c:2399 parted/ui.c:1193 parted/ui.c:1221 msgid "extended" msgstr "estesa" #: libparted/disk.c:2401 parted/ui.c:1197 parted/ui.c:1225 msgid "logical" msgstr "logica" #: libparted/disk.c:2403 parted/ui.c:1189 parted/ui.c:1217 msgid "primary" msgstr "primaria" #: libparted/disk.c:2419 msgid "boot" msgstr "avvio" #: libparted/disk.c:2421 msgid "bios_grub" msgstr "bios_grub" #: libparted/disk.c:2423 msgid "root" msgstr "root" #: libparted/disk.c:2425 msgid "swap" msgstr "swap" #: libparted/disk.c:2427 msgid "hidden" msgstr "nascosta" #: libparted/disk.c:2429 msgid "raid" msgstr "raid" #: libparted/disk.c:2431 msgid "lvm" msgstr "lvm" #: libparted/disk.c:2433 msgid "lba" msgstr "lba" #: libparted/disk.c:2435 msgid "hp-service" msgstr "hp-service" #: libparted/disk.c:2437 msgid "palo" msgstr "palo" #: libparted/disk.c:2439 msgid "prep" msgstr "prep" #: libparted/disk.c:2441 msgid "msftres" msgstr "msftres" #: libparted/disk.c:2443 msgid "atvrecv" msgstr "atvrecv" #: libparted/disk.c:2445 msgid "diag" msgstr "" #: libparted/disk.c:2451 #, c-format msgid "Unknown partition flag, %d." msgstr "Flag di partizione %d sconosciuto." #: libparted/exception.c:77 msgid "Information" msgstr "Informazioni" #: libparted/exception.c:78 msgid "Warning" msgstr "Avviso" #: libparted/exception.c:79 msgid "Error" msgstr "Errore" #: libparted/exception.c:80 msgid "Fatal" msgstr "Irrimediabile" #: libparted/exception.c:81 msgid "Bug" msgstr "Bug" #: libparted/exception.c:82 msgid "No Implementation" msgstr "Non implementato" #: libparted/exception.c:86 msgid "Fix" msgstr "Ripara" #: libparted/exception.c:87 msgid "Yes" msgstr "Sì" #: libparted/exception.c:88 msgid "No" msgstr "No" #: libparted/exception.c:89 msgid "OK" msgstr "OK" #: libparted/exception.c:90 msgid "Retry" msgstr "Riprova" #: libparted/exception.c:91 msgid "Ignore" msgstr "Ignora" #: libparted/exception.c:92 msgid "Cancel" msgstr "Annulla" #: libparted/exception.c:132 #, c-format msgid "" "A bug has been detected in GNU Parted. Refer to the web site of parted " "http://www.gnu.org/software/parted/parted.html for more information of what " "could be useful for bug submitting! Please email a bug report to bug-" "parted@gnu.org containing at least the version (%s) and the following " "message: " msgstr "" "È stato trovato un bug di GNU Parted. Controllare il sito web di parted " "http://www.gnu.org/software/parted/parted.html per maggiori informazioni su " "cosa è utile comunicare nelle segnalazioni. Segnalare un bug a bug-" "parted@gnu.org specificando almeno la versione (%s) e il seguente " "messaggio: " #: libparted/filesys.c:462 msgid "Could not detect file system." msgstr "Impossibile rilevare il file system." #: libparted/filesys.c:473 msgid "The file system is bigger than its volume!" msgstr "Il file system è più ampio del suo volume." #: libparted/filesys.c:481 #, c-format msgid "Support for opening %s file systems is not implemented yet." msgstr "Il supporto per aprire file system %s non è ancora stato implementato." #: libparted/filesys.c:523 #, c-format msgid "Support for creating %s file systems is not implemented yet." msgstr "Il supporto per creare file system %s non è ancora stato implementato." #: libparted/filesys.c:583 #, c-format msgid "Support for checking %s file systems is not implemented yet." msgstr "" "Il supporto per controllare file system %s non è ancora stato implementato." #: libparted/filesys.c:649 msgid "raw block copying" msgstr "copia grezza dei blocchi" #: libparted/filesys.c:660 msgid "growing file system" msgstr "aumento del file system" #: libparted/filesys.c:700 msgid "Can't copy onto an overlapping partition." msgstr "Impossibile copiare su una partizione sovrapposta." #: libparted/filesys.c:722 #, c-format msgid "" "Direct support for copying file systems is not yet implemented for %s. " "However, support for resizing is implemented. Therefore, the file system " "can be copied if the new partition is at least as big as the old one. So, " "either shrink the partition you are trying to copy, or copy to a bigger " "partition." msgstr "" "Il supporto per copiare direttamente file system %s non è ancora " "implementato, ma è possibile ridimensionarli. Il file system può quindi " "essere copiato se la nuova partizione è almeno grande quanto quella di " "origine. Ridimensionare la partizione da copiare oppure copiarla in una più " "grande." #: libparted/filesys.c:736 #, c-format msgid "Support for copying %s file systems is not implemented yet." msgstr "" "Il supporto per copiare file system %s non è ancora stato implementato." #: libparted/filesys.c:774 #, c-format msgid "Support for resizing %s file systems is not implemented yet." msgstr "" "Il supporto per ridimensionare il file system %s non è stato ancora " "implementato." #: libparted/fs/reiserfs/reiserfs.c:315 msgid "creating" msgstr "creazione" #: libparted/fs/reiserfs/reiserfs.c:402 msgid "The file system is in an invalid state. Perhaps it is mounted?" msgstr "Il file system è in uno stato non valido. Forse è montato?" #: libparted/fs/reiserfs/reiserfs.c:410 msgid "The file system is in old (unresizeable) format." msgstr "Il file system è in un formato vecchio (non ridimensionabile)." #: libparted/fs/reiserfs/reiserfs.c:416 msgid "Invalid free blocks count. Run reiserfsck --check first." msgstr "" "Conteggio dei blocchi liberi non valido. Eseguire \"reiserfsck --check\"." #: libparted/fs/reiserfs/reiserfs.c:431 msgid "checking" msgstr "controllo" #: libparted/fs/reiserfs/reiserfs.c:437 msgid "Reiserfs tree seems to be corrupted. Run reiserfsck --check first." msgstr "" "L'albero reiserfs sembra essere danneggiato. Eseguire \"reiserfsck --check\"." #: libparted/fs/reiserfs/reiserfs.c:449 msgid "" "The reiserfs file system passed a basic check. For a more comprehensive " "check, run reiserfsck --check." msgstr "" "Il file system reiserfs ha superato un controllo basilare. Per un controllo " "più approfondito, eseguire \"reiserfsck --check\"." #: libparted/fs/reiserfs/reiserfs.c:474 msgid "Sorry, can't move the start of reiserfs partitions yet." msgstr "" "Impossibile, per il momento, spostare l'inizio delle partizioni reiserfs." #: libparted/fs/reiserfs/reiserfs.c:490 msgid "Couldn't reopen device abstraction layer for read/write." msgstr "" "Impossibile riaprire il livello di astrazione del device in lettura/" "scrittura." #: libparted/fs/reiserfs/reiserfs.c:508 libparted/fs/ext2/ext2_resize.c:552 #: libparted/fs/hfs/hfs.c:250 libparted/fs/hfs/hfs.c:629 msgid "shrinking" msgstr "riduzione" #: libparted/fs/reiserfs/reiserfs.c:520 msgid "expanding" msgstr "espansione" #: libparted/fs/reiserfs/reiserfs.c:592 msgid "Couldn't create reiserfs device abstraction handler." msgstr "Impossibile creare il gestore di astrazione del device reiserfs." #: libparted/fs/reiserfs/reiserfs.c:606 #, c-format msgid "Device is too small for %lu blocks." msgstr "Il device è troppo piccolo per %lu blocchi." #: libparted/fs/reiserfs/reiserfs.c:615 msgid "copying" msgstr "copia" #: libparted/fs/reiserfs/reiserfs.c:682 #, c-format msgid "Couldn't resolve symbol %s. Error: %s." msgstr "Impossibile risolvere il simbolo %s. Errore: %s." #: libparted/fs/reiserfs/reiserfs.c:704 msgid "GNU Parted found an invalid libreiserfs library." msgstr "Il programma ha trovato una libreria libreiserfs non valida." #: libparted/fs/reiserfs/reiserfs.c:715 #, c-format msgid "" "GNU Parted has detected libreiserfs interface version mismatch. Found %d-" "%d, required %d. ReiserFS support will be disabled." msgstr "" "Il programma ha rilevato una corrispondenza errata sulla versione " "dell'interfaccia di libreiserfs, trovato %d-%d quando è necessario %d. Il " "supporto a ReiserFS sarà disabilitato." #: libparted/labels/aix.c:103 msgid "Support for reading AIX disk labels is is not implemented yet." msgstr "" "Il supporto per leggere etichette dei dischi AIX non è ancora stato " "implementato." #: libparted/labels/aix.c:114 msgid "Support for writing AIX disk labels is is not implemented yet." msgstr "" "Il supporto per scrivere etichette dei dischi AIX non è ancora stato " "implementato." #: libparted/labels/aix.c:127 msgid "" "Support for adding partitions to AIX disk labels is not implemented yet." msgstr "" "Il supporto per aggiungere partizioni alle etichette dei dischi AIX non è " "ancora stato implementato." #: libparted/labels/aix.c:137 msgid "" "Support for duplicating partitions in AIX disk labels is not implemented yet." msgstr "" "Il supporto per duplicare partizioni in etichette dei dischi AIX non è " "ancora stato implementato." #: libparted/labels/aix.c:155 msgid "" "Support for setting system type of partitions in AIX disk labels is not " "implemented yet." msgstr "" "Il supporto per impostare il tipo di sistema delle partizioni in etichette " "dei dischi AIX non è ancora stato implementato." #: libparted/labels/aix.c:165 msgid "Support for setting flags in AIX disk labels is not implemented yet." msgstr "" "Il supporto per impostare i flag in etichette dei dischi AIX non è ancora " "stato implementato." #: libparted/labels/bsd.c:568 libparted/labels/dasd.c:783 #: libparted/labels/dos.c:2092 libparted/labels/dvh.c:788 #: libparted/labels/gpt.c:1750 libparted/labels/loop.c:245 #: libparted/labels/mac.c:1424 libparted/labels/pc98.c:749 #: libparted/labels/rdb.c:1051 libparted/labels/sun.c:821 msgid "Unable to satisfy all constraints on the partition." msgstr "Impossibile soddisfare tutti i vincoli sulla partizione." #: libparted/labels/bsd.c:593 msgid "Unable to allocate a bsd disklabel slot." msgstr "Impossibile allocare uno spazio per un'etichetta bsd." #: libparted/labels/dasd.c:809 msgid "Unable to allocate a dasd disklabel slot" msgstr "Impossibile allocare uno spazio per un'etichetta dasd" #: libparted/labels/dos.c:882 #, c-format msgid "Invalid partition table on %s -- wrong signature %x." msgstr "Tabella delle partizioni su %s non valida -- firma %x errata." #: libparted/labels/dos.c:910 #, c-format msgid "Invalid partition table - recursive partition on %s." msgstr "Tabella della partizioni non valida - partizione ricorsiva su %s." #: libparted/labels/dos.c:1420 msgid "Extended partitions cannot be hidden on msdos disk labels." msgstr "Le partizioni estese non possono essere nascoste su etichette MS-DOS." #: libparted/labels/dos.c:2074 msgid "Parted can't resize partitions managed by Windows Dynamic Disk." msgstr "Impossibile ridimensionare partizioni gestite da Windows Dynamic Disk." #: libparted/labels/dvh.c:201 #, c-format msgid "%s has no extended partition (volume header partition)." msgstr "%s non ha partizioni estese (volume header partition)." #: libparted/labels/dvh.c:327 msgid "Checksum is wrong, indicating the partition table is corrupt." msgstr "Checksum errato; la tabella delle partizioni è danneggiata." #: libparted/labels/dvh.c:632 msgid "Only primary partitions can be root partitions." msgstr "Solo le partizioni primarie possono essere partizioni di root." #: libparted/labels/dvh.c:646 msgid "Only primary partitions can be swap partitions." msgstr "Solo le partizioni primarie possono essere partizioni di swap." #: libparted/labels/dvh.c:660 msgid "Only logical partitions can be a boot file." msgstr "Solo le partizioni logiche possono essere file di avvio." #: libparted/labels/dvh.c:737 #, c-format msgid "" "failed to set dvh partition name to %s:\n" "Only logical partitions (boot files) have a name." msgstr "" "Impostazione del nome della partizione dvh a %s non riuscita:\n" "solo le partizioni logiche (file di avvio) hanno un nome." #: libparted/labels/dvh.c:830 msgid "Too many primary partitions" msgstr "Troppe partizioni primarie" # (ndt) o forse è il caso di rendere in italiano? # errore di apertura #: libparted/labels/fdasd.c:98 msgid "open error" msgstr "errore di \"open\"" #: libparted/labels/fdasd.c:101 msgid "seek error" msgstr "errore di \"seek\"" #: libparted/labels/fdasd.c:104 msgid "read error" msgstr "errore di \"read\"" #: libparted/labels/fdasd.c:110 msgid "ioctl() error" msgstr "errore di \"ioctl()\"" #: libparted/labels/fdasd.c:114 msgid "API version mismatch" msgstr "Corrispondenza versione API non corretta" #: libparted/labels/fdasd.c:118 msgid "Unsupported disk type" msgstr "Tipo di disco non supportato" #: libparted/labels/fdasd.c:122 msgid "Unsupported disk format" msgstr "Formato del disco non supportato" #: libparted/labels/fdasd.c:126 msgid "Disk is in use" msgstr "Disco in uso" #: libparted/labels/fdasd.c:130 msgid "Syntax error in config file" msgstr "Errore di sintassi nel file di configurazione" #: libparted/labels/fdasd.c:134 msgid "Volume label is corrupted" msgstr "L'etichetta del volume è danneggiata" # (ndt) ???? #: libparted/labels/fdasd.c:138 msgid "A data set name is corrupted" msgstr "Il nome di un data set è danneggiato" #: libparted/labels/fdasd.c:142 msgid "Memory allocation failed" msgstr "Allocazione memoria non riuscita" #: libparted/labels/fdasd.c:146 msgid "Device verification failed" msgstr "Verifica del device non riuscita" #: libparted/labels/fdasd.c:147 msgid "The specified device is not a valid DASD device" msgstr "Il device specificato non è un device DASD valido" #: libparted/labels/fdasd.c:150 libparted/labels/vtoc.c:179 msgid "Fatal error" msgstr "Errore irrimediabile" # (ndt) ? #: libparted/labels/fdasd.c:226 msgid "No room for volume label." msgstr "Spazio insufficiente per l'etichetta di volume." #: libparted/labels/fdasd.c:234 msgid "No room for partition info." msgstr "Spazio insufficiente per le informazioni sulla partizione." #: libparted/labels/fdasd.c:704 msgid "Invalid VTOC." msgstr "VTOC non valido." #: libparted/labels/fdasd.c:764 msgid "Could not retrieve API version." msgstr "Impossibile recuperare la versione delle API." #: libparted/labels/fdasd.c:767 #, c-format msgid "" "The current API version '%d' doesn't match dasd driver API version '%d'!" msgstr "" "La versione \"%d\" delle API correnti non corrisponde alla versione \"%d\" " "delle API del driver dasd." #: libparted/labels/fdasd.c:804 msgid "Could not retrieve disk geometry information." msgstr "Impossibile recuperare informazioni sulla geometria del disco." #: libparted/labels/fdasd.c:808 msgid "Could not retrieve blocksize information." msgstr "Impossibile recuperare informazioni sulla dimensione del blocco." #: libparted/labels/fdasd.c:813 msgid "Could not retrieve disk information." msgstr "Impossibile recuperare informazioni sul disco." #: libparted/labels/fdasd.c:818 msgid "This is not an ECKD disk! This disk type is not supported!" msgstr "Questo non è un disco ECKD. Questo tipo di disco non è supportato." # (ndt) il pezzo di codice indica 'dev->path'... quindi presumo si il device #: libparted/labels/gpt.c:485 #, c-format msgid "" "%s contains GPT signatures, indicating that it has a GPT table. However, it " "does not have a valid fake msdos partition table, as it should. Perhaps it " "was corrupted -- possibly by a program that doesn't understand GPT partition " "tables. Or perhaps you deleted the GPT table, and are now using an msdos " "partition table. Is this a GPT partition table?" msgstr "" "Il device %s contiene delle firme GPT, indicando che si tratta di una " "tabella GPT, ma non dispone di una finta tabella delle partizioni msdos come " "dovrebbe. Forse è stata danneggiata da un programma che non riconosce le " "tabelle delle partizioni GPT, oppure è stata eliminata la tabella GPT ed è " "ora in uso quella MS-DOS. È questa una tabella delle partizioni GPT?" #: libparted/labels/gpt.c:680 #, c-format msgid "" "The format of the GPT partition table is version %x, which is newer than " "what Parted can recognise. Please tell us! bug-parted@gnu.org" msgstr "" "La versione del formato della tabella delle partizioni GPT è %x, successiva " "a quelle note al programma. Segnalare questo a gnu-parted@gnu.org" #: libparted/labels/gpt.c:727 #, c-format msgid "" "Not all of the space available to %s appears to be used, you can fix the GPT " "to use all of the space (an extra %llu blocks) or continue with the current " "setting? " msgstr "" "Non tutto lo spazio disponibile in %s sembra essere usato. Correggere GPT " "affinché utilizzi tutto lo spazio (ulteriori %llu blocchi) o continuare con " "le impostazioni attuali?" #: libparted/labels/gpt.c:936 msgid "" "The backup GPT table is not at the end of the disk, as it should be. This " "might mean that another operating system believes the disk is smaller. Fix, " "by moving the backup to the end (and removing the old backup)?" msgstr "" "La copia di backup della tabella GPT non è presente, come dovrebbe, alla " "fine del disco. Questo potrebbe voler dire che un altro sistema operativo " "pensa che il disco sia più piccolo. Correggere il problema spostando la " "copia alla fine (e rimuovendo quella vecchia)?" #: libparted/labels/gpt.c:960 msgid "" "Both the primary and backup GPT tables are corrupt. Try making a fresh " "table, and using Parted's rescue feature to recover partitions." msgstr "" "Sia la tabella GPT principale che quella di backup sono danneggiate. Provare " "a crearne una nuova e, tramite le funzionalità di ripristino del programma, " "recuperare le partizioni." #: libparted/labels/gpt.c:971 msgid "" "The backup GPT table is corrupt, but the primary appears OK, so that will be " "used." msgstr "" "La tabella GPT di backup è danneggiata, ma quella principale sembra corretta " "e verrà utilizzata." #: libparted/labels/gpt.c:983 msgid "" "The primary GPT table is corrupt, but the backup appears OK, so that will be " "used." msgstr "" "La tabella GPT principale è danneggiata, ma la copia di backup sembra " "corretta e verrà utilizzata." # (ndt) aiuto!!! idee sul vero significato della frase? #: libparted/labels/gpt.c:1007 msgid "primary partition table array CRC mismatch" msgstr "" "CRC non corrispondente nella tabella delle partizioni primaria dell'array" #: libparted/labels/mac.c:185 #, c-format msgid "Invalid signature %x for Mac disk labels." msgstr "Firma %x non valida per le etichette dei dischi Mac." #: libparted/labels/mac.c:232 msgid "Partition map has no partition map entry!" msgstr "La mappa delle partizioni non ha elementi." #: libparted/labels/mac.c:280 #, c-format msgid "%s is too small for a Mac disk label!" msgstr "%s è troppo piccolo per un'etichetta di disco Mac." #: libparted/labels/mac.c:509 #, c-format msgid "Partition %d has an invalid signature %x." msgstr "La partizione %d ha una firma non valida %x." #: libparted/labels/mac.c:527 #, c-format msgid "Partition %d has an invalid length of 0 bytes!" msgstr "La partizione %d ha una lunghezza non valida di 0 byte." #: libparted/labels/mac.c:558 msgid "The data region doesn't start at the start of the partition." msgstr "La regione dei dati non comincia all'inizio della partizione." #: libparted/labels/mac.c:575 msgid "The boot region doesn't start at the start of the partition." msgstr "La regione di avvio non comincia all'inizio della partizione." #: libparted/labels/mac.c:589 msgid "The partition's boot region doesn't occupy the entire partition." msgstr "La regione di avvio della partizione non occupa l'intera partizione." #: libparted/labels/mac.c:600 msgid "The partition's data region doesn't occupy the entire partition." msgstr "La regione dati della partizione non occupa l'intera partizione." #: libparted/labels/mac.c:653 #, c-format msgid "" "Weird block size on device descriptor: %d bytes is not divisible by 512." msgstr "" "Dimensione del blocco nel descrittore del device inusuale: %d byte non è " "divisibile per 512." #: libparted/labels/mac.c:666 #, c-format msgid "" "The driver descriptor says the physical block size is %d bytes, but Linux " "says it is %d bytes." msgstr "" "Il descrittore del driver indica che la dimensione del blocco fisico è di %d " "byte, ma Linux indica %d byte." #: libparted/labels/mac.c:720 msgid "No valid partition map found." msgstr "Non è stata trovata alcuna mappa delle partizioni valida." #: libparted/labels/mac.c:782 #, c-format msgid "" "Conflicting partition map entry sizes! Entry 1 says it is %d, but entry %d " "says it is %d!" msgstr "" "Due elementi della mappa delle partizioni hanno dimensioni diverse. Il primo " "elemento indica di essere %d, mentre l'elemento %d indica %d." #: libparted/labels/mac.c:809 msgid "Weird! There are 2 partitions map entries!" msgstr "Sono presenti due mappe delle partizioni. Situazione inusuale." #: libparted/labels/mac.c:1355 msgid "" "Changing the name of a root or swap partition will prevent Linux from " "recognising it as such." msgstr "" "Cambiare il nome di una partizione di root o swap non permetterà a Linux di " "riconoscerla come tale." #: libparted/labels/mac.c:1459 msgid "Can't add another partition -- the partition map is too small!" msgstr "" "Impossibile aggiungere un'altra partizione: la mappa delle partizioni è " "troppo piccola." #: libparted/labels/pc98.c:331 #, c-format msgid "Invalid partition table on %s." msgstr "Tabella delle partizioni non valida su %s." #: libparted/labels/pc98.c:384 libparted/labels/pc98.c:462 #, c-format msgid "" "Partition %d isn't aligned to cylinder boundaries. This is still " "unsupported." msgstr "" "La partizione %d non è allineata con l'inizio di un cilindro. Funzionalità " "non ancora supportata." #: libparted/labels/pc98.c:781 msgid "Can't add another partition." msgstr "Non è possibile aggiungere un'altra partizione." #: libparted/labels/pt-tools.c:125 #, c-format msgid "" "partition length of %jd sectors exceeds the %s-partition-table-imposed " "maximum of %jd" msgstr "" "la lunghezza della partizione di %1$jd settori eccede quella massima di " "%3$jd imposta dalla tabella delle partizioni %2$s" #: libparted/labels/pt-tools.c:138 #, c-format msgid "" "starting sector number, %jd exceeds the %s-partition-table-imposed maximum " "of %jd" msgstr "" "il numero di settori iniziali %1$jd eccede quello massimo di %3$jd imposto " "dalla tabella delle partizioni di %2$s" #: libparted/labels/rdb.c:170 #, c-format msgid "%s : Bad checksum on block %llu of type %s." msgstr "%s: checksum errato sul blocco %llu di tipo %s." #: libparted/labels/rdb.c:486 #, c-format msgid "%s : Didn't find rdb block, should never happen." msgstr "%s: non è stato trovato il blocco rdb, non dovrebbe succedere." #: libparted/labels/rdb.c:572 #, c-format msgid "%s : Loop detected at block %d." msgstr "%s: rilevato ciclo al blocco %d." #: libparted/labels/rdb.c:591 #, c-format msgid "%s : The %s list seems bad at block %s." msgstr "%s: l'elenco %s sembra errato al blocco %s." #: libparted/labels/rdb.c:690 #, c-format msgid "%s : Failed to list bad blocks." msgstr "%s: elencazione dei blocchi danneggiati non riuscita." #: libparted/labels/rdb.c:698 #, c-format msgid "%s : Failed to list partition blocks." msgstr "%s: elencazione dei blocchi della partizione non riuscita." #: libparted/labels/rdb.c:706 #, c-format msgid "%s : Failed to list file system blocks." msgstr "%s: elencazione dei blocchi del file system non riuscita." #: libparted/labels/rdb.c:714 #, c-format msgid "%s : Failed to list boot blocks." msgstr "%s: elencazione dei blocchi di avvio non riuscita." #: libparted/labels/rdb.c:741 #, c-format msgid "Failed to write partition block at %d." msgstr "Scrittura del blocco di partizione alla posizione %d non riuscita." #: libparted/labels/rdb.c:1079 msgid "Unable to allocate a partition number." msgstr "Impossibile allocare un numero di partizione." #: libparted/labels/sun.c:163 msgid "Corrupted Sun disk label detected." msgstr "Rilevata etichetta Sun danneggiata." #: libparted/labels/sun.c:316 #, c-format msgid "" "The disk CHS geometry (%d,%d,%d) reported by the operating system does not " "match the geometry stored on the disk label (%d,%d,%d)." msgstr "" "La geometria CHS del disco (%d,%d,%d) riportata dal sistema operativo non " "corrisponde a quella presente nell'etichetta del disco (%d,%d,%d)." #: libparted/labels/sun.c:338 #, c-format msgid "The disk label describes a disk bigger than %s." msgstr "L'etichetta del disco descrive un disco più grande di %s." #: libparted/labels/sun.c:510 #, c-format msgid "The disk has %d cylinders, which is greater than the maximum of 65536." msgstr "Il disco ha %d cilindri, maggiori del massimo consentito di 65536." #: libparted/labels/sun.c:853 msgid "" "The Whole Disk partition is the only available one left. Generally, it is " "not a good idea to overwrite this partition with a real one. Solaris may " "not be able to boot without it, and SILO (the sparc boot loader) appreciates " "it as well." msgstr "" "La partizione \"whole disk\" è l'unica rimasta disponibile. Normalmente non " "è una buona idea sovrascriverla con una partizione reale. Solaris potrebbe " "non essere in grado di avviarsi; inoltre anche SILO (il boot loader per " "sparc) ne fa uso." #: libparted/labels/sun.c:868 msgid "Sun disk label is full." msgstr "L'etichetta del disco Sun è piena." #: libparted/labels/vtoc.c:164 msgid "opening of device failed" msgstr "apertura del device non riuscita" #: libparted/labels/vtoc.c:168 msgid "seeking on device failed" msgstr "posizionamento nel device non riuscito" #: libparted/labels/vtoc.c:172 msgid "writing to device failed" msgstr "scrittura sul device non riuscita" #: libparted/labels/vtoc.c:176 msgid "reading from device failed" msgstr "lettura dal device non riuscita" #: libparted/labels/vtoc.c:277 libparted/labels/vtoc.c:284 msgid "Could not read volume label." msgstr "Impossibile leggere l'etichetta del volume." #: libparted/labels/vtoc.c:303 libparted/labels/vtoc.c:308 msgid "Could not write volume label." msgstr "Impossibile scrivere l'etichetta del volume." #: libparted/labels/vtoc.c:414 msgid "Could not read VTOC labels." msgstr "Impossibile leggere le etichette VTOC." #: libparted/labels/vtoc.c:420 msgid "Could not read VTOC FMT1 DSCB." msgstr "Impossibile leggere VTOC FMT1 DSCB." #: libparted/labels/vtoc.c:427 msgid "Could not read VTOC FMT4 DSCB." msgstr "Impossibile leggere VTOC FMT4 DSCB." #: libparted/labels/vtoc.c:434 msgid "Could not read VTOC FMT5 DSCB." msgstr "Impossibile leggere VTOC FMT5 DSCB." #: libparted/labels/vtoc.c:441 msgid "Could not read VTOC FMT7 DSCB." msgstr "Impossibile leggere VTOC FMT7 DSCB." #: libparted/labels/vtoc.c:461 msgid "Could not write VTOC labels." msgstr "Impossibile scrivere le etichette VTOC." #: libparted/labels/vtoc.c:467 msgid "Could not write VTOC FMT1 DSCB." msgstr "Impossibile scrivere VTOC FMT1 DSCB." #: libparted/labels/vtoc.c:474 msgid "Could not write VTOC FMT4 DSCB." msgstr "Impossibile scrivere VTOC FMT4 DSCB." #: libparted/labels/vtoc.c:481 msgid "Could not write VTOC FMT5 DSCB." msgstr "Impossibile scrivere VTOC FMT5 DSCB." #: libparted/labels/vtoc.c:488 msgid "Could not write VTOC FMT7 DSCB." msgstr "Impossibile scrivere VTOC FMT7 DSCB." #: libparted/libparted.c:237 libparted/libparted.c:252 msgid "Out of memory." msgstr "Memoria non sufficiente." #: libparted/unit.c:138 msgid "Cannot get unit size for special unit 'COMPACT'." msgstr "Impossibile ottenere la dimensione dell'unità speciale \"COMPACT\"" #: libparted/unit.c:384 #, c-format msgid "\"%s\" has invalid syntax for locations." msgstr "\"%s\" utilizza una sintassi errata per le posizioni." #: libparted/unit.c:392 #, c-format msgid "The maximum head value is %d." msgstr "Il massimo valore per la testina è %d." #: libparted/unit.c:399 #, c-format msgid "The maximum sector value is %d." msgstr "Il massimo valore per il settore è %d." #: libparted/unit.c:411 libparted/unit.c:543 #, c-format msgid "The location %s is outside of the device %s." msgstr "La posizione %s è esterna al device %s." #: libparted/unit.c:525 msgid "Invalid number." msgstr "Numero non valido." #: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:56 #: libparted/fs/amiga/asfs.c:70 #, c-format msgid "%s : Failed to allocate partition block\n" msgstr "%s: allocazione blocco di partizione non riuscita\n" #: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:69 #: libparted/fs/amiga/asfs.c:82 #, c-format msgid "%s : Failed to allocate block\n" msgstr "%s: allocazione del blocco non riuscita\n" #: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:74 #, c-format msgid "%s : Couldn't read boot block %llu\n" msgstr "%s: impossibile leggere il blocco di avvio %llu\n" #: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:85 #: libparted/fs/amiga/asfs.c:88 libparted/fs/amiga/asfs.c:102 #, c-format msgid "%s : Couldn't read root block %llu\n" msgstr "%s: impossibile leggere il blocco di root %llu\n" #: libparted/fs/amiga/amiga.c:72 #, c-format msgid "%s : Failed to allocate id list element\n" msgstr "%s: allocazione ID elemento dell'elenco non riuscita\n" #: libparted/fs/amiga/amiga.c:189 #, c-format msgid "%s : Couldn't read block %llu\n" msgstr "%s: impossibile leggere il blocco %llu\n" #: libparted/fs/amiga/amiga.c:202 #, c-format msgid "%s : Bad checksum on block %llu of type %s\n" msgstr "%s: checksum errato sul blocco %llu del tipo %s\n" #: libparted/fs/amiga/amiga.c:212 #, c-format msgid "%s : Couldn't write block %d\n" msgstr "%s: impossibile scrivere il blocco %d\n" # (ndt) disk_specific ??? #: libparted/fs/amiga/amiga.c:278 #, c-format msgid "%s : Failed to allocate disk_specific rdb block\n" msgstr "%s: allocazione del blocco rdb disk_specific non riuscita\n" #: libparted/fs/amiga/amiga.c:289 #, c-format msgid "%s : Didn't find rdb block, should never happen\n" msgstr "%s: blocco rdb non trovato, non dovrebbe accadere\n" #: libparted/fs/amiga/amiga.c:318 #, c-format msgid "%s : Failed to read partition block %llu\n" msgstr "%s: lettura del blocco di partizione %llu non riuscita\n" #: libparted/fs/ext2/ext2.c:87 libparted/fs/ext2/ext2.c:112 msgid "Inconsistent group descriptors!" msgstr "Descrittori di gruppo inconsistenti." #: libparted/fs/ext2/ext2.c:91 libparted/fs/ext2/ext2.c:116 msgid "File system full!" msgstr "File system pieno." #: libparted/fs/ext2/ext2.c:686 msgid "Invalid superblock. Are you sure this is an ext2 file system?" msgstr "Superblocco non valido. È proprio un file system ext2?" #: libparted/fs/ext2/ext2.c:700 libparted/fs/ext2/ext2_resize.c:658 msgid "File system has errors! You should run e2fsck." msgstr "Il file system contiene errori. Eseguire \"e2fsck\"." #: libparted/fs/ext2/ext2.c:711 msgid "" "File system was not cleanly unmounted! You should run e2fsck. Modifying an " "unclean file system could cause severe corruption." msgstr "" "Il file system non è stato smontato correttamente. Eseguire \"e2fsck\"; " "modificare un file system non consistente può causare seri problemi." #: libparted/fs/ext2/ext2.c:731 msgid "" "File system has an incompatible feature enabled. Compatible features are " "has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs " "or debugfs to remove features." msgstr "" "Il file system ha una funzionalità non compatibile abilitata. Le " "funzionalità compatibili sono has_journal, dir_index, filetype, sparse_super " "e large_file. Usare tune2fs o debugfs per rimuovere le funzionalità." #: libparted/fs/ext2/ext2.c:745 msgid "Error allocating buffer cache." msgstr "Errore nell'allocare la cache del buffer." #: libparted/fs/ext2/ext2_inode_relocator.c:114 msgid "" "Found an inode with a incorrect link count. Better go run e2fsck first!" msgstr "" "Trovato un inode con un conteggio di collegamenti non corretto. Eseguire " "\"e2fsck\"." #: libparted/fs/ext2/ext2_inode_relocator.c:487 msgid "Not enough free inodes!" msgstr "Non ci sono abbastanza inode liberi." #: libparted/fs/ext2/ext2_resize.c:223 msgid "File system is too full to remove a group!" msgstr "Il file system è troppo pieno per rimuovere un gruppo." #: libparted/fs/ext2/ext2_resize.c:232 msgid "File system has too many allocated inodes to remove a group!" msgstr "Il file system ha troppi inode allocati per rimuovere un gruppo." #: libparted/fs/ext2/ext2_resize.c:491 msgid "adding groups" msgstr "aggiunta gruppi" #: libparted/fs/ext2/ext2_resize.c:528 #, c-format msgid "Your file system is too full to resize it to %i blocks. Sorry." msgstr "" "Il file system contiene troppi dati per essere ridimensionato a %i blocchi." #: libparted/fs/ext2/ext2_resize.c:538 #, c-format msgid "" "Your file system has too many occupied inodes to resize it to %i blocks. " "Sorry." msgstr "" "Il file system ha troppi inode occupati per essere ridimensionato a %i " "blocchi." #: libparted/fs/ext2/ext2_resize.c:666 msgid "File system was not cleanly unmounted! You should run e2fsck." msgstr "Il file system non è stato smontato correttamente. Eseguire e2fsck." #: libparted/fs/ext2/ext2_resize.c:675 msgid "" "The file system has the 'dir_index' feature enabled. Parted can only resize " "the file system if it disables this feature. You can enable it later by " "running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'." msgstr "" "Il file system ha la funzionalità \"dir_index\" attiva. È possibile " "ridimensionare il file system solo disattivando questa caratteristica. Per " "riattivarla eseguire \"tune2fs -O dir_index DEVICE\" e successivamente " "\"e2fsck -fD DEVICE\"." #: libparted/fs/ext2/ext2_resize.c:691 msgid "" "A resize operation on this file system will use EXPERIMENTAL code\n" "that MAY CORRUPT it (although no one has reported any such damage yet).\n" "You should at least backup your data first, and run 'e2fsck -f' afterwards." msgstr "" "Un'operazione di ridimensionamento di questo file system utilizzerà codice " "SPERIMENTALE che POTREBBE DANNEGGIARLO (anche se nessuno ha mai riferito che " "sia successo). È consigliato fare una copia di backup dei dati ed eseguire " "\"e2fsck -f\" subito dopo." #: libparted/fs/ext2/ext2_block_relocator.c:198 msgid "Cross-linked blocks found! Better go run e2fsck first!" msgstr "Trovati dei blocchi con collegamenti incrociati. Eseguire \"e2fsck\"." #: libparted/fs/ext2/ext2_block_relocator.c:537 #, c-format msgid "Block %i has no reference? Weird." msgstr "Il blocco %i non è referenziato? Situazione insolita." #: libparted/fs/ext2/ext2_block_relocator.c:738 #, c-format msgid "Block %i shouldn't have been marked (%d, %d)!" msgstr "Il blocco %i non avrebbe dovuto essere segnato (%d, %d)." #: libparted/fs/ext2/interface.c:226 msgid "" "The ext2 file system passed a basic check. For a more comprehensive check, " "use the e2fsck program." msgstr "" "Il file system ext2 ha passato i controlli di base. Per un controllo più " "approfondito utilizzare il programma e2fsck." #: libparted/fs/ext2/interface.c:243 msgid "Sorry, can't move the start of ext2 partitions yet!" msgstr "Non è ancora possibile spostare l'inizio di una partizione ext2." #: libparted/fs/ext2/ext2_buffer.c:82 msgid "Couldn't flush buffer cache!" msgstr "Impossibile svuotare la cache del buffer." #: libparted/fs/ext2/ext2_mkfs.c:161 msgid "writing per-group metadata" msgstr "scrittura dei metadati per ogni gruppo" #: libparted/fs/ext2/ext2_mkfs.c:597 msgid "File system too small for ext2." msgstr "File system troppo piccolo per ext2." #: libparted/fs/fat/calc.c:135 #, c-format msgid "" "You need %s of free disk space to shrink this partition to this size. " "Currently, only %s is free." msgstr "" "Servono %s di spazio libero per ridurre la partizione a questa dimensione. " "Attualmente soltanto %s sono liberi." #: libparted/fs/fat/context.c:56 #, c-format msgid "" "Cluster start delta = %d, which is not a multiple of the cluster size %d." msgstr "" "Lo spostamento del primo blocco del cluster è %d e non è un multiplo della " "dimensione del cluster %d." #: libparted/fs/fat/fat.c:310 #, c-format msgid "Partition too big/small for a %s file system." msgstr "Partizione troppo grande o troppo piccola per il file system %s." #: libparted/fs/fat/fat.c:476 msgid "" "The FATs don't match. If you don't know what this means, then select " "cancel, run scandisk on the file system, and then come back." msgstr "" "Le FAT non coincidono. Se non se ne conosce il significato, selezionare " "\"Annulla\", eseguire \"scandisk\", quindi ritornare a questo punto." #: libparted/fs/fat/fat.c:516 msgid "There are no possible configurations for this FAT type." msgstr "Non ci sono configurazioni possibili per questo tipo di FAT." #: libparted/fs/fat/fat.c:528 #, c-format msgid "" "File system doesn't have expected sizes for Windows to like it. Cluster " "size is %dk (%dk expected); number of clusters is %d (%d expected); size of " "FATs is %d sectors (%d expected)." msgstr "" "Il file system non ha una parametri compatibili con Windows. La dimensione " "del cluster è %dk (atteso %dk); il numero di cluster è %d (atteso %d); la " "dimensione delle FAT è %d settori (atteso %d)." #: libparted/fs/fat/fat.c:551 #, c-format msgid "" "File system is reporting the free space as %d clusters, not %d clusters." msgstr "Il file system riporta uno spazio libero di %d cluster anziché %d." #: libparted/fs/fat/fat.c:876 msgid "" "GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT " "support will be disabled." msgstr "" "Il programma non è stato compilato correttamente: il settore di avvio " "dovrebbe essere di 512 byte. Il supporto per FAT verrà disabilitato." #: libparted/fs/fat/resize.c:158 msgid "" "There's not enough room in the root directory for all of the files. Either " "cancel, or ignore to lose the files." msgstr "" "Non c'è sufficiente spazio nella directory principale per tutti i file. " "Annullare oppure ignorare per perdere i file." #: libparted/fs/fat/resize.c:299 msgid "Error writing to the root directory." msgstr "Errore nello scrivere nella directory principale." #: libparted/fs/fat/resize.c:488 msgid "If you leave your file system as FAT16, then you will have no problems." msgstr "Lasciare il file system come FAT16 non causerà alcun problema." #: libparted/fs/fat/resize.c:491 msgid "" "If you convert to FAT16, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual)." msgstr "" "Convertire una partizione che contiene MS Windows a FAT16 richiede di " "reinstallare il boot loader di Windows. Per continuare, consultare il " "manuale di Parted (o della propria distribuzione)." #: libparted/fs/fat/resize.c:499 msgid "" "If you leave your file system as FAT32, then you will not introduce any new " "problems." msgstr "Lasciare il file system come FAT32 non introdurrà alcun problema." #: libparted/fs/fat/resize.c:503 msgid "" "If you convert to FAT32, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual). Also, " "converting to FAT32 will make the file system unreadable by MS DOS, MS " "Windows 95a, and MS Windows NT." msgstr "" "Convertire una partizione che contiene MS Windows a FAT32 richiede di " "reinstallare il boot loader. Per continuare, consultare il manuale di Parted " "(o della propria distribuzione). Inoltre, la conversione a FAT32 renderà il " "file system non utilizzabile con MS-DOS, MS Windows 95a e MS Windows NT." #: libparted/fs/fat/resize.c:517 #, c-format msgid "%s %s %s" msgstr "%s %s %s" #: libparted/fs/fat/resize.c:518 msgid "Would you like to use FAT32?" msgstr "Usare FAT32?" #: libparted/fs/fat/resize.c:549 libparted/fs/fat/resize.c:565 #, c-format msgid "%s %s" msgstr "%s %s" #: libparted/fs/fat/resize.c:550 msgid "" "The file system can only be resized to this size by converting to FAT16." msgstr "" "Il file system può solo essere portato a questa dimensione se si converte a " "FAT16." #: libparted/fs/fat/resize.c:566 msgid "" "The file system can only be resized to this size by converting to FAT32." msgstr "" "Il file system può solo essere portato a questa dimensione se si converte a " "FAT32." #: libparted/fs/fat/resize.c:579 msgid "" "GNU Parted cannot resize this partition to this size. We're working on it!" msgstr "" "Impossibile ridimensionare questa partizione a questa dimensione. Funzione " "in fase di sviluppo." #: libparted/fs/fat/bootsector.c:49 libparted/fs/fat/bootsector.c:56 msgid "File system has an invalid signature for a FAT file system." msgstr "Il file system ha una firma non valida per un file system FAT." #: libparted/fs/fat/bootsector.c:64 msgid "File system has an invalid sector size for a FAT file system." msgstr "" "Il file system ha una dimensione del settore non valida per un file system " "FAT." #: libparted/fs/fat/bootsector.c:71 msgid "File system has an invalid cluster size for a FAT file system." msgstr "" "Il file system ha una dimensione del cluster non valida per un file system " "FAT." #: libparted/fs/fat/bootsector.c:78 msgid "" "File system has an invalid number of reserved sectors for a FAT file system." msgstr "" "Il file system ha un numero di settori riservati non valido per un file " "system FAT." #: libparted/fs/fat/bootsector.c:85 msgid "File system has an invalid number of FATs." msgstr "Il file system ha un numero non valido di FAT." #: libparted/fs/fat/bootsector.c:139 #, c-format msgid "" "This file system has a logical sector size of %d. GNU Parted is known not " "to work properly with sector sizes other than 512 bytes." msgstr "" "Il file system ha dei settori logici con dimensione %d. Il programma non " "funziona correttamente con settori di dimensione diversa da 512 byte." #: libparted/fs/fat/bootsector.c:164 #, c-format msgid "" "The file system's CHS geometry is (%d, %d, %d), which is invalid. The " "partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the " "file system's CHS geometry will be left unchanged. If you select Fix, the " "file system's CHS geometry will be set to match the partition table's CHS " "geometry." msgstr "" "La geometria CHS (%d, %d, %d) del file system non è valida. La geometria CHS " "della tabella delle partizioni è (%d, %d, %d). Selezionare \"Ignora\" per " "non modificare la geometria CHS del file system, selezionare \"Ripara\" per " "impostare la geometria CHS del file system affinché corrisponda alla " "geometria CHS della tabella delle partizioni." #: libparted/fs/fat/bootsector.c:213 msgid "FAT boot sector says logical sector size is 0. This is weird. " msgstr "" "Il settore di avvio della FAT sostiene che la dimensione del settore logico " "sia 0. Situazione inusuale." #: libparted/fs/fat/bootsector.c:219 msgid "FAT boot sector says there are no FAT tables. This is weird. " msgstr "" "Il settore di avvio della FAT sostiene che non ci siano tabelle FAT. " "Situazione inusuale." #: libparted/fs/fat/bootsector.c:225 msgid "FAT boot sector says clusters are 0 sectors. This is weird. " msgstr "" "Il settore di avvio della FAT sostiene che il cluster sia composto da 0 " "settori. Situazione inusuale." #: libparted/fs/fat/bootsector.c:235 msgid "File system is FAT12, which is unsupported." msgstr "Il file system è FAT12 e non è supportato." #: libparted/fs/fat/bootsector.c:411 #, c-format msgid "" "The information sector has the wrong signature (%x). Select cancel for now, " "and send in a bug report. If you're desperate, it's probably safe to ignore." msgstr "" "Il settore di informazioni ha una firma errata (%x). Selezionare \"Annulla\" " "e inviare un segnalazione di bug. In situazioni estreme è forse possibile " "ignorare l'errore." #: libparted/fs/fat/count.c:144 #, c-format msgid "Bad directory entry for %s: first cluster is the end of file marker." msgstr "" "Elemento di directory errato per %s: il primo cluster è la fine del " "marcatore di file." #: libparted/fs/fat/count.c:157 #, c-format msgid "" "Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk." msgstr "" "FAT errata: catena per %s non terminata. Eseguire \"dosfsck\" oppure " "\"scandisk\"." #: libparted/fs/fat/count.c:166 #, c-format msgid "" "Bad FAT: cluster %d outside file system in chain for %s. You should run " "dosfsck or scandisk." msgstr "" "FAT errata: cluster %d usato nella catena %s fuori dal file system. Eseguire " "\"dosfsck\" oppure \"scandisk\"." #: libparted/fs/fat/count.c:176 #, c-format msgid "" "Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or " "scandisk." msgstr "" "FAT errata: cluster %d con collegamenti incrociati per %s. Eseguire \"dosfsck" "\" oppure \"scandisk\"." #: libparted/fs/fat/count.c:195 #, c-format msgid "%s is %dk, but it has %d clusters (%dk)." msgstr "%s è %dk, ma contiene %d cluster (%dk)." #: libparted/fs/fat/count.c:258 #, c-format msgid "" "The file %s is marked as a system file. This means moving it could cause " "some programs to stop working." msgstr "" "Il file %s è indicato come file di sistema; spostandolo, alcuni programmi " "potrebbero bloccarsi." #: libparted/fs/fat/table.c:136 #, c-format msgid "" "FAT %d media %x doesn't match the boot sector's media %x. You should " "probably run scandisk." msgstr "" "FAT %d, il supporto %x non coincide con quello specificato nel settore di " "avvio di %x. Eseguire \"scandisk\"." #: libparted/fs/fat/table.c:268 #, c-format msgid "fat_table_set: cluster %ld outside file system" msgstr "fat_table_set: cluster %ld al di fuori del file system" #: libparted/fs/fat/table.c:300 #, c-format msgid "fat_table_get: cluster %ld outside file system" msgstr "fat_table_get: cluster %ld al di fuori del file system" #: libparted/fs/fat/table.c:342 msgid "fat_table_alloc_cluster: no free clusters" msgstr "fat_table_alloc_cluster: cluster esauriti" #: libparted/fs/linux_swap/linux_swap.c:288 #, c-format msgid "Unrecognised old style linux swap signature '%10s'." msgstr "Vecchia firma linux di partizione swap non conosciuta: \"%10s\"." #: libparted/fs/linux_swap/linux_swap.c:331 #, c-format msgid "Unrecognised new style linux swap signature '%10s'." msgstr "Nuova firma linux di partizione swap non conosciuta: \"%10s\"." #: libparted/fs/linux_swap/linux_swap.c:371 #, c-format msgid "Unrecognised swsusp linux swap signature '%9s'." msgstr "Firma linux di partizione swap swsusp non conosciuta: \"%9s\"." #: libparted/fs/linux_swap/linux_swap.c:447 msgid "Too many bad pages." msgstr "Troppe pagine inutilizzabili." #: libparted/fs/hfs/advfs.c:121 libparted/fs/hfs/advfs_plus.c:121 #: libparted/fs/hfs/reloc.c:414 libparted/fs/hfs/reloc.c:508 #: libparted/fs/hfs/reloc_plus.c:538 libparted/fs/hfs/reloc_plus.c:656 #: libparted/fs/hfs/reloc_plus.c:769 msgid "The file system contains errors." msgstr "Il file system contiene errori." #: libparted/fs/hfs/advfs_plus.c:285 msgid "Bad blocks could not be read." msgstr "I blocchi danneggiati non possono essere letti." #: libparted/fs/hfs/cache.c:137 #, c-format msgid "" "Trying to register an extent starting at block 0x%X, but another one already " "exists at this position. You should check the file system!" msgstr "" "Tentativo di registrare un extent a partire dal blocco 0x%X, ma ne esiste " "già uno alla stessa posizione. Controllare il file system." #: libparted/fs/hfs/cache.c:214 #, c-format msgid "" "Trying to move an extent from block Ox%X to block Ox%X, but another one " "already exists at this position. This should not happen!" msgstr "" "Tentativo di spostare un extent dal blocco 0x%X al blocco 0x%X, ma ne esiste " "già uno alla stessa posizione. Questo non dovrebbe verificarsi." #: libparted/fs/hfs/file.c:143 #, c-format msgid "Could not update the extent cache for HFS file with CNID %X." msgstr "Impossibile aggiornare la cache degli extent per file HFS con CNID %X." #: libparted/fs/hfs/file.c:180 #, c-format msgid "Trying to read HFS file with CNID %X behind EOF." msgstr "Tentativo di leggere file HFS con CNID %X oltre EOF." #: libparted/fs/hfs/file.c:190 libparted/fs/hfs/file.c:220 #, c-format msgid "Could not find sector %lli of HFS file with CNID %X." msgstr "Impossibile trovare il settore %lli del file HFS con CNID %X." #: libparted/fs/hfs/file.c:210 #, c-format msgid "Trying to write HFS file with CNID %X behind EOF." msgstr "Tentativo di scrivere file HFS con CNID %X oltre EOF." #: libparted/fs/hfs/file_plus.c:157 #, c-format msgid "Could not update the extent cache for HFS+ file with CNID %X." msgstr "" "Impossibile aggiornare la cache degli extent per file HFS+ con CNID %X." #: libparted/fs/hfs/file_plus.c:202 #, c-format msgid "Trying to read HFS+ file with CNID %X behind EOF." msgstr "Tentativo di leggere file HFS+ con CNID %X oltre EOF." #: libparted/fs/hfs/file_plus.c:213 libparted/fs/hfs/file_plus.c:256 #, c-format msgid "Could not find sector %lli of HFS+ file with CNID %X." msgstr "Impossibile trovare il settore %lli del file HFS+ con CNID %X." #: libparted/fs/hfs/file_plus.c:245 #, c-format msgid "Trying to write HFS+ file with CNID %X behind EOF." msgstr "Tentativo di scrivere file HFS+ con CNID %X oltre EOF." #: libparted/fs/hfs/hfs.c:232 msgid "Sorry, HFS cannot be resized that way yet." msgstr "HFS non può ancora essere ridimensionato in quel modo." #: libparted/fs/hfs/hfs.c:262 libparted/fs/hfs/hfs.c:641 msgid "Data relocation has failed." msgstr "Riposizionamento dei dati non riuscito." #: libparted/fs/hfs/hfs.c:281 msgid "Data relocation left some data in the end of the volume." msgstr "" "Il riposizionamento dei dati ne ha lasciati alcuni alla fine del volume." #: libparted/fs/hfs/hfs.c:320 msgid "writing HFS Master Directory Block" msgstr "scrittura del \"Master Directory Block\" HFS" #: libparted/fs/hfs/hfs.c:468 msgid "No valid HFS[+X] signature has been found while opening." msgstr "All'apertura non è stata trovata alcuna firma HFS[+X] valida." #: libparted/fs/hfs/hfs.c:478 #, c-format msgid "Version %d of HFS+ isn't supported." msgstr "La versione %d di HFS+ non è supportata." #: libparted/fs/hfs/hfs.c:489 #, c-format msgid "Version %d of HFSX isn't supported." msgstr "La versione %d di HFSX non è supportata." #: libparted/fs/hfs/hfs.c:672 msgid "Data relocation left some data at the end of the volume." msgstr "" "Il riposizionamento dei dati ne ha lasciati alcuni alla fine del volume." #: libparted/fs/hfs/hfs.c:720 msgid "Error while writing the allocation file." msgstr "Errore nello scrivere l'\"Allocation File\"." #: libparted/fs/hfs/hfs.c:735 msgid "Error while writing the compatibility part of the allocation file." msgstr "Errore nello scrivere la parte compatibile dell'\"Allocation File\"." #: libparted/fs/hfs/hfs.c:750 msgid "writing HFS+ Volume Header" msgstr "scrittura del \"Volume Header\" HFS+" #: libparted/fs/hfs/hfs.c:850 msgid "An error occurred while looking for the mandatory bad blocks file." msgstr "Errore nella ricerca del file obbligatorio per i blocchi danneggiati." #: libparted/fs/hfs/hfs.c:904 msgid "" "It seems there is an error in the HFS wrapper: the bad blocks file doesn't " "contain the embedded HFS+ volume." msgstr "" "Sembra esserci un errore nel wrapper HFS: il file dei blocchi danneggiati " "non contiene il volume HFS+ integrato." #: libparted/fs/hfs/hfs.c:940 msgid "Sorry, HFS+ cannot be resized that way yet." msgstr "HFS+ non può ancora essere ridimensionato in quel modo." #: libparted/fs/hfs/hfs.c:975 msgid "shrinking embedded HFS+ volume" msgstr "riduzione del volume HFS+ integrato" #: libparted/fs/hfs/hfs.c:991 msgid "Resizing the HFS+ volume has failed." msgstr "Ridimensionamento del volume HFS+ non riuscito." #: libparted/fs/hfs/hfs.c:998 msgid "shrinking HFS wrapper" msgstr "riduzione del wrapper HFS" #: libparted/fs/hfs/hfs.c:1007 msgid "Updating the HFS wrapper has failed." msgstr "Aggiornamento del wrapper HFS non riuscito." # (ndt) mah... #: libparted/fs/hfs/hfs.c:1109 libparted/fs/hfs/hfs.c:1194 #, c-format msgid "" "This is not a real %s check. This is going to extract special low level " "files for debugging purposes." msgstr "" "Non è un controllo %s reale. Avvio della speciale procedura a basso livello " "d'estrazione dei file per il debug." #: libparted/fs/hfs/journal.c:155 msgid "Bad block list header checksum." msgstr "Checksum dell'elenco blocchi di intestazione inesatto." #: libparted/fs/hfs/journal.c:168 #, c-format msgid "" "Invalid size of a transaction block while replaying the journal (%i bytes)." msgstr "" "Dimensione di un blocco di transazione non valida durante la riesecuzione " "del registro (%i byte)." #: libparted/fs/hfs/journal.c:260 msgid "" "Journal stored outside of the volume are not supported. Try to desactivate " "the journal and run Parted again." msgstr "" "Registri memorizzati all'esterno del volume non sono supportati. Disattivare " "il registro e riavviare il programma." #: libparted/fs/hfs/journal.c:271 msgid "Journal offset or size is not multiple of the sector size." msgstr "" "Lo spostamento o la dimensione del registro non è un multiplo della " "dimensione di un settore." #: libparted/fs/hfs/journal.c:292 msgid "Incorrect magic values in the journal header." msgstr "Valori \"magic\" errati nell'intestazione del registro." #: libparted/fs/hfs/journal.c:302 msgid "Journal size mismatch between journal info block and journal header." msgstr "" "La dimensione del registro non corrisponde con quella dell'intestazione del " "registro medesimo." #: libparted/fs/hfs/journal.c:314 msgid "Some header fields are not multiple of the sector size." msgstr "" "Alcuni campi dell'intestazione non sono un multiplo della dimensione di un " "settore." #: libparted/fs/hfs/journal.c:323 msgid "" "The sector size stored in the journal is not 512 bytes. Parted only " "supports 512 bytes length sectors." msgstr "" "La dimensione del settore presente nel registro non è di 512 byte. Il " "programma supporta solo settori di lunghezza pari a 512 byte." #: libparted/fs/hfs/journal.c:335 msgid "Bad journal checksum." msgstr "Checksum del registro inesatto." #: libparted/fs/hfs/journal.c:353 msgid "" "The journal is not empty. Parted must replay the transactions before " "opening the file system. This will modify the file system." msgstr "" "Il registro non è vuoto. Il programma deve ripetere le transazioni prima di " "aprire il file system. Il file system verrà modificato." #: libparted/fs/hfs/journal.c:381 msgid "" "The volume header or the master directory block has changed while replaying " "the journal. You should restart Parted." msgstr "" "Il \"Volume Header\" o il \"Master Directory Block\" è stato modificato " "durante la riesecuzione del registro. Riavviare il programma." #: libparted/fs/hfs/probe.c:51 #, c-format msgid "" "Parted can't use HFS file systems on disks with a sector size not equal to " "%d bytes." msgstr "" "Il programma non può utilizzare file system HFS su dischi con settori di " "dimensione diversa da %d byte." #: libparted/fs/hfs/reloc.c:151 libparted/fs/hfs/reloc_plus.c:155 msgid "An extent has not been relocated." msgstr "Un extent non è stato riposizionato." #: libparted/fs/hfs/reloc.c:251 libparted/fs/hfs/reloc_plus.c:307 msgid "" "A reference to an extent comes from a place it should not. You should check " "the file system!" msgstr "" "Il riferimento a un extent proviene da una posizione inusuale. Controllare " "il file system." # (ndt) preferisco lasciarli in inglese, sono delle 'parti' della struttura di HFS #: libparted/fs/hfs/reloc.c:381 msgid "This HFS volume has no catalog file. This is very unusual!" msgstr "" "Questo volume HFS non possiede un \"Catalog File\". Situazione inusuale." #: libparted/fs/hfs/reloc.c:475 msgid "This HFS volume has no extents overflow file. This is quite unusual!" msgstr "" "Questo volume HFS non possiede un \"Extent Overflow File\". Situazione " "abbastanza inusuale." #: libparted/fs/hfs/reloc.c:517 libparted/fs/hfs/reloc_plus.c:666 msgid "" "The extents overflow file should not contain its own extents! You should " "check the file system." msgstr "" "L'\"Extent Overflow File\" non deve contenere i propri extent. Controllare " "il file system." #: libparted/fs/hfs/reloc.c:574 libparted/fs/hfs/reloc_plus.c:844 msgid "Could not cache the file system in memory." msgstr "Impossibile caricare il file system in memoria." #: libparted/fs/hfs/reloc.c:635 libparted/fs/hfs/reloc_plus.c:905 msgid "Bad blocks list could not be loaded." msgstr "Impossibile caricare l'elenco dei blocchi danneggiati." #: libparted/fs/hfs/reloc.c:649 libparted/fs/hfs/reloc_plus.c:921 msgid "An error occurred during extent relocation." msgstr "Si è verificato un errore nel riallocare l'extent." #: libparted/fs/hfs/reloc_plus.c:494 msgid "This HFS+ volume has no catalog file. This is very unusual!" msgstr "Questo volume HFS non ha un \"Catalog File\". Situazione inusuale." #: libparted/fs/hfs/reloc_plus.c:617 msgid "This HFS+ volume has no extents overflow file. This is quite unusual!" msgstr "" "Questo volume HFS+ non possiede un \"Extent Overflow File\". Situazione " "abbastanza inusuale." #: parted/parted.c:123 msgid "displays this help message" msgstr "Mostra questo messaggio di aiuto" #: parted/parted.c:124 msgid "lists partition layout on all block devices" msgstr "Elenca la disposizione delle partizioni su tutti i device a blocchi" #: parted/parted.c:125 msgid "displays machine parseable output" msgstr "Mostra un output analizzabile dal computer" #: parted/parted.c:126 msgid "never prompts for user intervention" msgstr "Non chiede mai l'intervento dell'utente" #: parted/parted.c:127 msgid "displays the version" msgstr "Stampa la versione" #: parted/parted.c:128 msgid "alignment for new partitions" msgstr "allineamento per le nuove partizioni" #: parted/parted.c:140 msgid "" "NUMBER is the partition number used by Linux. On MS-DOS disk labels, the " "primary partitions number from 1 to 4, logical partitions from 5 onwards.\n" msgstr "" "NUMERO è il numero di partizione usato da Linux. Su etichette del disco MS-" "DOS, le partizioni primarie hanno numeri da 1 a 4 e le logiche da 5 in poi.\n" #: parted/parted.c:143 msgid "LABEL-TYPE is one of: " msgstr "TIPO_ETIC è uno di: " #: parted/parted.c:144 msgid "FLAG is one of: " msgstr "FLAG è uno di: " #: parted/parted.c:145 msgid "UNIT is one of: " msgstr "UNITÀ è uno di: " # (ndt) da tradurre? #: parted/parted.c:146 msgid "desired alignment: minimum or optimal" msgstr "allineamento richiesto: minimo od ottimale" #: parted/parted.c:147 msgid "PART-TYPE is one of: primary, logical, extended\n" msgstr "TIPO_PART è uno di: primary, logical, extended\n" #: parted/parted.c:149 msgid "FS-TYPE is one of: " msgstr "TIPO_FS è uno di: " #: parted/parted.c:150 msgid "" "START and END are disk locations, such as 4GB or 10%. Negative values count " "from the end of the disk. For example, -1s specifies exactly the last " "sector.\n" msgstr "" "INIZIO e FINE sono posizioni sul disco, come 4GB o 10%. I numeri negativi " "sono relativi alla fine del disco. Per esempio, -1s indica esattamente " "l'ultimo settore.\n" #: parted/parted.c:153 msgid "STATE is one of: on, off\n" msgstr "STATO è uno di: on, off\n" #: parted/parted.c:154 msgid "DEVICE is usually /dev/hda or /dev/sda\n" msgstr "DEVICE è normalmente /dev/hda o /dev/sda\n" #: parted/parted.c:155 msgid "NAME is any word you want\n" msgstr "NOME è una qualsiasi parola\n" #: parted/parted.c:156 msgid "The partition must have one of the following FS-TYPEs: " msgstr "La partizione deve avere uno dei seguenti TIPO_FS: " #: parted/parted.c:160 msgid "" "Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n" "This program is free software, covered by the GNU General Public License.\n" "\n" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" msgstr "" "Copyright (C) 1998-2006 Free Software Foundation, Inc.\n" "Questo programma è software libero, protetto dalla GNU General Public " "License.\n" "\n" "Questo programma è distribuito nella speranza che sia utile, ma SENZA ALCUNA " "GARANZIA; senza neppure le garanzie derivate dalla COMMERCIABILITÀ o " "dall'essere ADATTO A UN PARTICOLARE SCOPO. Per maggiori informazioni, " "consultare la GNU General Public License.\n" "\n" #: parted/parted.c:208 #, c-format msgid "%0.f%%\t(time left %.2d:%.2d)" msgstr "%0.f%%\t(tempo rimasto %.2d.%.2d)" #: parted/parted.c:227 #, c-format msgid "" "Partition %s is being used. You must unmount it before you modify it with " "Parted." msgstr "" "La partizione %s è in uso. È necessario smontarla prima di poterla " "modificare." # (ndt) preferisco tenerla al plurale #: parted/parted.c:245 #, c-format msgid "Partition(s) on %s are being used." msgstr "Le partizioni su %s sono in uso." #: parted/parted.c:257 msgid "" "The existing file system will be destroyed and all data on the partition " "will be lost. Do you want to continue?" msgstr "" "Il file system esistente verrà eliminato e tutti i dati sulla partizione " "saranno persi. Continuare?" #: parted/parted.c:269 #, c-format msgid "" "The existing disk label on %s will be destroyed and all data on this disk " "will be lost. Do you want to continue?" msgstr "" "L'etichetta del disco su %s verrà eliminata e tutti i dati su questo disco " "saranno persi. Continuare?" #: parted/parted.c:487 #, c-format msgid "" "WARNING: you are attempting to use %s to operate on (%s) a file system.\n" "%s's file system manipulation code is not as robust as what you'll find in\n" "dedicated, file-system-specific packages like e2fsprogs. We recommend\n" "you use %s only to manipulate partition tables, whenever possible.\n" "Support for performing most operations on most types of file systems\n" "will be removed in an upcoming release.\n" msgstr "" "Attenzione: si sta tentando di usare %s per operare su un file system (%s).\n" "Il codice per la gestione del file system %s non è sicuro e robusto come \n" "quello presente in programmi dedicati come e2fsprogs. È consigliato usare\n" "%s solo per la gestione delle tabelle di partizione. Il supporto per " "l'esecuzione\n" "della maggior parte delle operazioni su molti dei file system verrà rimosso\n" "in una prossima versione.\n" #: parted/parted.c:508 parted/parted.c:702 parted/parted.c:1179 #: parted/parted.c:1263 parted/parted.c:1935 parted/parted.c:2016 #: parted/parted.c:2088 parted/parted.c:2122 msgid "Partition number?" msgstr "Partizione numero?" #: parted/parted.c:551 msgid "Source device?" msgstr "Device di origine?" #: parted/parted.c:555 msgid "Source partition number?" msgstr "Numero di partizione di origine?" #: parted/parted.c:560 msgid "Can't copy an extended partition." msgstr "Impossibile copiare una partizione estesa." #: parted/parted.c:566 msgid "Destination partition number?" msgstr "Numero della partizione di destinazione?" #: parted/parted.c:655 msgid "New disk label type?" msgstr "Tipo dell'etichetta del nuovo disco?" #: parted/parted.c:706 parted/parted.c:788 parted/parted.c:1000 msgid "File system type?" msgstr "Tipo di file system?" #: parted/parted.c:762 parted/parted.c:983 msgid "Partition type?" msgstr "Tipo di partizione?" #: parted/parted.c:780 parted/parted.c:990 parted/parted.c:1266 msgid "Partition name?" msgstr "Nome della partizione?" #: parted/parted.c:794 parted/parted.c:1002 parted/parted.c:1194 #: parted/parted.c:1883 parted/parted.c:1944 msgid "Start?" msgstr "Inizio?" #: parted/parted.c:796 parted/parted.c:1005 parted/parted.c:1197 #: parted/parted.c:1885 parted/parted.c:1946 msgid "End?" msgstr "Fine?" #: parted/parted.c:862 parted/parted.c:1066 #, c-format msgid "" "You requested a partition from %s to %s.\n" "The closest location we can manage is %s to %s.%s" msgstr "" "È stata richiesta una partizione da %s a %s.\n" "La posizione più prossima disponibile è da %s a %s.%s" #: parted/parted.c:867 parted/parted.c:1071 msgid "" "\n" "Is this still acceptable to you?" msgstr "" "\n" "È accettabile?" #: parted/parted.c:889 parted/parted.c:1093 msgid "The resulting partition is not properly aligned for best performance." msgstr "" "La partizione risultante non è allineata correttamente per garantire " "prestazioni ottimali." #: parted/parted.c:995 msgid "An extended partition cannot hold a file system. Did you want mkpart?" msgstr "" "Una partizione estesa non può contenere un file system. Proseguire con " "mkpart?" #: parted/parted.c:1185 msgid "Can't move an extended partition." msgstr "Impossibile spostare una partizione estesa." #: parted/parted.c:1214 msgid "Can't move a partition onto itself. Try using resize, perhaps?" msgstr "" "Impossibile spostare una partizione su sé stessa. Provare con il comando " "resize?" #: parted/parted.c:1360 #, c-format msgid "Minor: %d\n" msgstr "Minor: %d\n" #: parted/parted.c:1361 #, c-format msgid "Flags: %s\n" msgstr "Flag: %s\n" #: parted/parted.c:1362 #, c-format msgid "File System: %s\n" msgstr "File system: %s\n" #: parted/parted.c:1363 msgid "Size: " msgstr "Dimensione: " #: parted/parted.c:1368 msgid "Minimum size: " msgstr "Dimensione minima: " #: parted/parted.c:1371 msgid "Maximum size: " msgstr "Dimensione massima: " #: parted/parted.c:1504 #, c-format msgid "Model: %s (%s)\n" msgstr "Modello: %s (%s)\n" #: parted/parted.c:1506 #, c-format msgid "Disk %s: %s\n" msgstr "Disco %s: %s\n" #: parted/parted.c:1507 #, c-format msgid "Sector size (logical/physical): %lldB/%lldB\n" msgstr "Dimensione del settore (logica/fisica): %lldB/%lldB\n" #: parted/parted.c:1525 #, c-format msgid "BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s.\n" msgstr "" "Geometria cilindri, testine, settori dal BIOS: %d,%d,%d. Ogni cilindro è " "%s.\n" #: parted/parted.c:1534 #, c-format msgid "Partition Table: %s\n" msgstr "Tabella delle partizioni: %s\n" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Number" msgstr "Numero" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Start" msgstr "Inizio" #: parted/parted.c:1550 parted/parted.c:1553 msgid "End" msgstr "Fine" #: parted/parted.c:1553 msgid "Size" msgstr "Dimensione" #: parted/parted.c:1557 msgid "Type" msgstr "Tipo" #: parted/parted.c:1559 msgid "File system" msgstr "File system" #: parted/parted.c:1562 msgid "Name" msgstr "Nome" #: parted/parted.c:1564 msgid "Flags" msgstr "Flag" #: parted/parted.c:1621 msgid "Free Space" msgstr "Spazio libero" #: parted/parted.c:1782 #, c-format msgid "" "A %s %s partition was found at %s -> %s. Do you want to add it to the " "partition table?" msgstr "" "È stata trovata una partizione %s %s su %s -> %s. Aggiungerla alla tabella " "delle partizioni?" #: parted/parted.c:1821 msgid "searching for file systems" msgstr "ricerca file system" #: parted/parted.c:2041 msgid "New device?" msgstr "Nuovo device?" #: parted/parted.c:2086 msgid "alignment type(min/opt)" msgstr "tipo di allineamento (min/ott)" #: parted/parted.c:2093 #, c-format msgid "%d aligned\n" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d not aligned\n" msgstr "" #: parted/parted.c:2124 msgid "Flag to Invert?" msgstr "Flag da invertire?" #: parted/parted.c:2129 msgid "New state?" msgstr "Nuovo stato?" #: parted/parted.c:2166 msgid "Unit?" msgstr "Unità?" #: parted/parted.c:2348 msgid "align-check" msgstr "align-check" #: parted/parted.c:2351 msgid "" "align-check TYPE N check partition N for TYPE(min|" "opt) alignment" msgstr "" "align-check TIPO N Controlla la partizione N per " "l'allineamento TIPO(min|ott)" #: parted/parted.c:2359 msgid "check" msgstr "check" #: parted/parted.c:2362 msgid "" "check NUMBER do a simple check on the file system" msgstr "" "check NUMERO Esegue un semplice controllo sul " "file system" #: parted/parted.c:2368 msgid "cp" msgstr "cp" #: parted/parted.c:2371 msgid "" "cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another " "partition" msgstr "" "cp [DEVICE_INZIALE] DAL_NUMERO AL_NUMERO Copia un file system in un'altra " "partizione" #: parted/parted.c:2377 msgid "help" msgstr "help" #: parted/parted.c:2380 msgid "" "help [COMMAND] print general help, or help on " "COMMAND" msgstr "" "help [COMANDO] Mostra l'aiuto generale o sul " "COMANDO" #: parted/parted.c:2386 msgid "mklabel" msgstr "mklabel" #: parted/parted.c:2386 msgid "mktable" msgstr "mktable" #: parted/parted.c:2389 msgid "" "mklabel,mktable LABEL-TYPE create a new disklabel (partition " "table)" msgstr "" "mklabel,mktable TIPO_ETIC Crea una nuova etichetta del disco " "(tabella delle partizioni)" #: parted/parted.c:2395 msgid "mkfs" msgstr "mkfs" #: parted/parted.c:2398 msgid "" "mkfs NUMBER FS-TYPE make a FS-TYPE file system on " "partition NUMBER" msgstr "" "mkfs NUMERO TIPO_FS Crea un file system TIPO_FS sulla " "partizione NUMERO" #: parted/parted.c:2404 msgid "mkpart" msgstr "mkpart" #: parted/parted.c:2407 msgid "mkpart PART-TYPE [FS-TYPE] START END make a partition" msgstr "mkpart TIPO_PART [TIPO_FS] INIZIO FINE Crea una partizione" #: parted/parted.c:2413 msgid "" "'mkpart' makes a partition without creating a new file system on the " "partition. FS-TYPE may be specified to set an appropriate partition ID.\n" msgstr "" "\"mkpart\" crea un partizione senza crearvi un file system. TIPO_FS può " "essere specificato per impostare un ID della partizione appropriato.\n" #: parted/parted.c:2418 msgid "mkpartfs" msgstr "mkpartfs" #: parted/parted.c:2421 msgid "" "mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system" msgstr "" "mkpartfs TIPO_PART TIPO_FS INIZIO FINE Crea una partizione con un file " "system" #: parted/parted.c:2427 msgid "move" msgstr "move" #: parted/parted.c:2430 msgid "move NUMBER START END move partition NUMBER" msgstr "move NUMERO INIZIO FINE Sposta la partizione NUMERO" #: parted/parted.c:2435 msgid "name" msgstr "name" #: parted/parted.c:2438 msgid "name NUMBER NAME name partition NUMBER as NAME" msgstr "" "name NUMERO NOME Chiama la partizione NUMERO come " "NOME" #: parted/parted.c:2443 msgid "print" msgstr "print" #: parted/parted.c:2446 msgid "" "print [devices|free|list,all|NUMBER] display the partition table, " "available devices, free space, all found partitions, or a particular " "partition" msgstr "" "print [device|free|list,all|NUMERO] Visualizza la tabella delle " "partizioni, i device disponibili, lo spazio libero, tutte le partizioni " "trovate o una particolare partizione" #: parted/parted.c:2451 msgid "" "Without arguments, 'print' displays the entire partition table. However with " "the following arguments it performs various other actions.\n" msgstr "" "Senza argomenti, \"print\" visualizza l'intera tabella delle partizioni. Con " "i seguenti argomenti esegue diverse altre azioni.\n" #: parted/parted.c:2453 msgid " devices : display all active block devices\n" msgstr " devices : mostra tutti i device a blocchi attivi\n" #: parted/parted.c:2454 msgid "" " free : display information about free unpartitioned space on the " "current block device\n" msgstr "" " free : visualizza informazioni riguardo lo spazio libero non " "partizionato sul device a blocchi corrente\n" #: parted/parted.c:2456 msgid "" " list, all : display the partition tables of all active block devices\n" msgstr "" " list, all : visualizza le tabelle delle partizioni di tutti i device a " "blocchi attivi\n" #: parted/parted.c:2457 msgid "" " NUMBER : display more detailed information about this particular " "partition\n" msgstr "" " NUMERO : visualizza informazioni dettagliate riguardo questa " "particolare partizione\n" #: parted/parted.c:2462 msgid "quit" msgstr "quit" #: parted/parted.c:2465 msgid "quit exit program" msgstr "quit Esce dal programma" #: parted/parted.c:2470 msgid "rescue" msgstr "rescue" #: parted/parted.c:2473 msgid "" "rescue START END rescue a lost partition near START " "and END" msgstr "" "rescue INIZIO FINE Ripristina una partizione persa " "vicino a INIZIO e FINE" #: parted/parted.c:2479 msgid "resize" msgstr "resize" #: parted/parted.c:2482 msgid "" "resize NUMBER START END resize partition NUMBER and its " "file system" msgstr "" "resize NUMERO INIZIO FINE Ridimensiona la partizione NUMERO e " "il suo file system" #: parted/parted.c:2490 msgid "rm" msgstr "rm" #: parted/parted.c:2493 msgid "rm NUMBER delete partition NUMBER" msgstr "rm NUMERO Elimina la partizione NUMERO" #: parted/parted.c:2498 msgid "select" msgstr "select" #: parted/parted.c:2501 msgid "select DEVICE choose the device to edit" msgstr "" "select DEVICE Sceglie il device da modificare" #: parted/parted.c:2506 msgid "set" msgstr "set" #: parted/parted.c:2509 msgid "" "set NUMBER FLAG STATE change the FLAG on partition NUMBER" msgstr "" "set NUMERO FLAG STATO Modifica il FLAG sulla partizione " "NUMERO" #: parted/parted.c:2515 msgid "toggle" msgstr "toggle" #: parted/parted.c:2518 msgid "" "toggle [NUMBER [FLAG]] toggle the state of FLAG on " "partition NUMBER" msgstr "" "toggle [NUMERO [FLAG]] Commuta lo stato del FLAG sulla " "partizione NUMERO" #: parted/parted.c:2524 msgid "unit" msgstr "unit" #: parted/parted.c:2527 msgid "unit UNIT set the default unit to UNIT" msgstr "" "unit UNITÀ Imposta l'unità predefinita a UNITÀ" #: parted/parted.c:2532 msgid "version" msgstr "version" #: parted/parted.c:2535 msgid "" "version display the version number and " "copyright information of GNU Parted" msgstr "" "version Stampa la versione e le " "informazioni sul copyright di GNU Parted" #: parted/parted.c:2539 msgid "" "'version' displays copyright and version information corresponding to this " "copy of GNU Parted\n" msgstr "" "\"version\" visualizza informazioni sul copyright e la versione di questa " "copia di GNU Parted\n" #: parted/parted.c:2607 #, c-format msgid "Usage: %s [-hlmsv] [-a] [DEVICE [COMMAND [PARAMETERS]]...]\n" msgstr "" "Uso: %s [-hlmsv] [-a] [DEVICE [COMANDO [PARAMETRI]]...]\n" #: parted/parted.c:2651 msgid "No device found" msgstr "Nessun device trovato" #: parted/parted.c:2688 msgid "WARNING: You are not superuser. Watch out for permissions." msgstr "" "Attenzione: non è stato eseguito come super utente. Prestare attenzione ai " "permessi." #: parted/parted.c:2726 msgid "You may need to update /etc/fstab.\n" msgstr "Potrebbe essere necessario aggiornare /etc/fstab.\n" #: parted/ui.c:162 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n" msgstr "Benvenuti in GNU Parted. Digitare \"help\" per l'elenco dei comandi.\n" #: parted/ui.c:165 msgid "" "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n" "Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run " "in\n" "interactive mode.\n" msgstr "" "Uso: parted [OPZIONI]... [DEVICE [COMANDO [PARAMETRI]...]...]\n" "Esegue COMANDO con i PARAMETRI sul DEVICE. Se non c'è alcun COMANDO\n" "parte in modalità interattiva.\n" #: parted/ui.c:170 #, c-format msgid "" "\n" "\n" "You found a bug in GNU Parted! Here's what you have to do:\n" "\n" "Don't panic! The bug has most likely not affected any of your data.\n" "Help us to fix this bug by doing the following:\n" "\n" "Check whether the bug has already been fixed by checking\n" "the last version of GNU Parted that you can find at:\n" "\n" "\thttp://ftp.gnu.org/gnu/parted/\n" "\n" "Please check this version prior to bug reporting.\n" "\n" "If this has not been fixed yet or if you don't know how to check,\n" "please visit the GNU Parted website:\n" "\n" "\thttp://www.gnu.org/software/parted\n" "\n" "for further information.\n" "\n" "Your report should contain the version of this release (%s)\n" "along with the error message below, the output of\n" "\n" "\tparted DEVICE unit co print unit s print\n" "\n" "and the following history of commands you entered.\n" "Also include any additional information about your setup you\n" "consider important.\n" msgstr "" "\n" "\n" "È stato trovato un bug in GNU Parted. Ecco cosa fare:\n" "\n" "Non innervosirsi, molto probabilmente il bug non ha rovinato i dati.\n" "Il modo per aiutare nel correggerlo è il seguente:\n" "\n" "Verificare che il bug non sia già stato corretto utilizzando\n" "la versione più recente di GNU Parted disponibile presso:\n" "\n" "\thttp://ftp.gnu.org/gnu/parted/\n" "\n" "Usare questa versione prima di segnalare il bug.\n" "\n" "Se il problema non è ancora stato risolto o non si sa come verificarlo,\n" "visitare il sito web di GNU Parted:\n" "\n" "\thttp://www.gnu.org/software/parted\n" "\n" "per ulteriori informazioni.\n" "\n" "La segnalazione deve contenere la versione di questo programma (%s),\n" "il messaggio d'errore riportato di seguito, l'output di\n" "\n" "\tparted DEVICE unit co print unit s print\n" "\n" "e la seguente cronologia dei comandi.\n" "Includere anche qualsiasi altra informazione riguardo la propria\n" "configurazione da considerarsi importante.\n" #: parted/ui.c:291 msgid "" "\n" "Command History:\n" msgstr "" "\n" "Cronologia comandi:\n" #: parted/ui.c:354 msgid "" "\n" "Error: SEGV_MAPERR (Address not mapped to object)\n" msgstr "" "\n" "Errore: SEGV_MAPERR (indirizzo non mappato all'oggetto)\n" #: parted/ui.c:360 msgid "" "\n" "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n" msgstr "" "\n" "Errore: SEGV_ACCERR (permessi non validi per l'oggetto mappato)\n" #: parted/ui.c:365 msgid "" "\n" "Error: A general SIGSEGV signal was encountered.\n" msgstr "" "\n" "Errore: incontrato un segnale SIGSEGV generico.\n" #: parted/ui.c:389 msgid "" "\n" "Error: FPE_INTDIV (Integer: divide by zero)" msgstr "" "\n" "Errore: FPE_INTDIV (intero: divisione per zero)" #: parted/ui.c:394 msgid "" "\n" "Error: FPE_INTOVF (Integer: overflow)" msgstr "" "\n" "Errore: FPE_INTOVF (intero: overflow)" #: parted/ui.c:399 msgid "" "\n" "Error: FPE_FLTDIV (Float: divide by zero)" msgstr "" "\n" "Errore: FPE_FLTDIV (float: divisione per zero)" #: parted/ui.c:404 msgid "" "\n" "Error: FPE_FLTOVF (Float: overflow)" msgstr "" "\n" "Errore: FPE_FLTOVF (float: overflow)" #: parted/ui.c:409 msgid "" "\n" "Error: FPE_FLTUND (Float: underflow)" msgstr "" "\n" "Errore: FPE_FLTUND (float: underflow)" #: parted/ui.c:414 msgid "" "\n" "Error: FPE_FLTRES (Float: inexact result)" msgstr "" "\n" "Errore: FPE_FLTRES (float: risultato inesatto)" #: parted/ui.c:419 msgid "" "\n" "Error: FPE_FLTINV (Float: invalid operation)" msgstr "" "\n" "Errore: FPE_FLTINV (float: operazione non valida)" #: parted/ui.c:424 msgid "" "\n" "Error: FPE_FLTSUB (Float: subscript out of range)" msgstr "" "\n" "Errore: FPE_FLTSUB (float: subscript fuori dal limite)" #: parted/ui.c:429 msgid "" "\n" "Error: A general SIGFPE signal was encountered." msgstr "" "\n" "Errore: incontrato un segnale SIGFPE generico." #: parted/ui.c:453 msgid "" "\n" "Error: ILL_ILLOPC (Illegal Opcode)" msgstr "" "\n" "Errore: ILL_ILLOPC (opcode non consentito)" #: parted/ui.c:458 msgid "" "\n" "Error: ILL_ILLOPN (Illegal Operand)" msgstr "" "\n" "Errore: ILL_ILLOPN (operando non consentito)" #: parted/ui.c:463 msgid "" "\n" "Error: ILL_ILLADR (Illegal addressing mode)" msgstr "" "\n" "Errore: ILL_ILLADR (modalità di indirizzamento non consentita)" #: parted/ui.c:468 msgid "" "\n" "Error: ILL_ILLTRP (Illegal Trap)" msgstr "" "\n" "Errore: ILL_ILLTRP (trap non consentita)" #: parted/ui.c:473 msgid "" "\n" "Error: ILL_PRVOPC (Privileged Opcode)" msgstr "" "\n" "Errore: ILL_PRVOPC (opcode privilegiato)" #: parted/ui.c:478 msgid "" "\n" "Error: ILL_PRVREG (Privileged Register)" msgstr "" "\n" "Errore: ILL_PRVREG (registro privilegiato)" #: parted/ui.c:483 msgid "" "\n" "Error: ILL_COPROC (Coprocessor Error)" msgstr "" "\n" "Errore: ILL_COPROC (errore del coprocessore)" #: parted/ui.c:488 msgid "" "\n" "Error: ILL_BADSTK (Internal Stack Error)" msgstr "" "\n" "Errore: ILL_BADSTK (errore dello stack interno)" #: parted/ui.c:493 msgid "" "\n" "Error: A general SIGILL signal was encountered." msgstr "" "\n" "Errore: incontrato un segnale SIGILL generico." #: parted/ui.c:892 #, c-format msgid "invalid token: %s" msgstr "token non valido: %s" #: parted/ui.c:1048 msgid "Expecting a partition number." msgstr "Atteso un numero di partizione." #: parted/ui.c:1057 msgid "Partition doesn't exist." msgstr "La partizione non esiste." #: parted/ui.c:1077 msgid "Expecting a file system type." msgstr "Atteso un tipo di file system." #: parted/ui.c:1084 #, c-format msgid "Unknown file system type \"%s\"." msgstr "Tipo di file system \"%s\" sconosciuto." #: parted/ui.c:1104 msgid "Expecting a disk label type." msgstr "Atteso un tipo di etichetta disco." #: parted/ui.c:1202 msgid "Can't create any more partitions." msgstr "Non è possibile creare ulteriori partizioni." #: parted/ui.c:1212 msgid "Expecting a partition type." msgstr "Atteso un tipo di partizione." #: parted/ui.c:1360 msgid "on" msgstr "on" #: parted/ui.c:1361 msgid "off" msgstr "off" #: parted/ui.c:1378 msgid "optimal" msgstr "ottimale" #: parted/ui.c:1379 msgid "minimal" msgstr "minimale" #: parted/ui.c:1512 msgid "OPTIONs:" msgstr "OPZIONI:" #: parted/ui.c:1517 msgid "COMMANDs:" msgstr "COMANDI:" #: parted/ui.c:1520 #, fuzzy, c-format msgid "" "\n" "Report bugs to %s\n" msgstr "" "\n" "Segnalare i bug a: %s\n" # '%s' = dev->path #: parted/ui.c:1527 #, c-format msgid "Using %s\n" msgstr "Viene usato %s\n" #: parted/ui.c:1601 msgid "This command does not make sense in non-interactive mode.\n" msgstr "Questo comando non ha senso nella modalità non interattiva.\n" #~ msgid "" #~ "WARNING: the kernel failed to re-read the partition table on %s (%s). As " #~ "a result, it may not reflect all of your changes until after reboot." #~ msgstr "" #~ "Attenzione: il kernel non è riuscito a rileggere la tabella delle " #~ "partizioni su %s (%s). Le modifiche effettuate potrebbero non essere " #~ "visibili se non dopo un riavvio." #~ msgid "" #~ "Device %s has a logical sector size of %lld. Not all parts of GNU Parted " #~ "support this at the moment, and the working code is HIGHLY EXPERIMENTAL.\n" #~ msgstr "" #~ "La dimensione del settore logico del device %s è %lld. Il programma, " #~ "attualmente, non supporta pienamente questa caratteristica e il relativo " #~ "codice è ALTAMENTE SPERIMENTALE.\n" parted-2.3/po/vi.gmo0000644000000000000000000024762611400005706011276 00000000000000Þ•\ü)Ü%€2;2½50Ð506226*e6-6$¾6*ã627%A7,g7&”7)»7&å7, 8#98$]8!‚8&¤8(Ë8<ô8319!e9ʇ9R:i:0~:,¯:5Ü:P;/c;]“;Gñ;&9<`<}< „<+<+»<ç<#=#*=N=0l=0=Î=0í=(>(G>p> >'±>%Ù>)ÿ>)?'I?`q?2Ò@<ABAWAuA”A7ªAâA0öA('B%PBvB“B°B,ÌBùB,C-DC rC(“C¼CØCøCDŽD^©DEW E*dEF]¬FÕ GàGõG+HB4HFwH!¾H0àH<IDNI!“IPµI]JHdJ­JÍJ$ëJDKUK"kK-ŽK‡¼KDL HLLRL>ŸLÞL!ûL)M!GMGiM(±M<ÚM@N2XN"‹NB®N?ñN!1O2SO†O0O]¾O=PDZPIŸPéPZüPoWQ"ÇR*êRSV3SQŠS4ÜS5T(GTpTT®TÍTìTU%U)EU-oU$UÂU<áU=V\V|VœV¼VÜVùV4WLW8iW'¢W7ÊWX'XAX8]X8–XÏXëíX#ÙYýY/Z H[ U[`[o[s[x[~[[&»[â[(÷[B \$c\ˆ\¥\Ã\á\:ý\\8]=•]?Ó]>^R^c^&w^ž^ ¤^°^ Á^¶Í^„_´–_>K`*Š`Lµ`=a;@a/|a<¬a+éaHb*^b‰b©b>»búbzc~cŽc ”cHŸc ècKóc0?d}pdcîd?Re ’ežeºeÉeÝeÛöeIÒfGhUdhºhÁh-áhi j +j9jPjmj‰j9¡jÛj4ëj4 kUk$tk™k«k)ÆkKðk>*y<iyD¦yXëy>Dzƒz‚Ÿzí"{R|Öc|<:}Hw}<À}ý}‚~F/I^ypØoI€c¹€`h~HçH0‚ y‚Ùš‚*tƒ?Ÿƒ0߃0„ˆA…šÊ…e†,熇2‡7R‡¨Ї¶3‰@ê‰@+ŠRlŠg¿ŠE'‹gm‹/Õ‹tŒ7zŒp²Œ;#E_<¥Fâ:)ŽƒdŽfèŽ;OU‹áõ.&Ah0ê1‘ˆM‘1Ö‘2’;’@’(Q’(z’&£’tÊ’&?“(f“A“Ñ“ä“3û“/”5”=”T”s””¤”¶”È” Ú”3ç”3•/O••—•$­•BÒ•*–@– `–— ——#4—#X—|——;ª—Šæ—q™Hy™+™?.š·šÔš;ëš3'›/[›+‹›'·›#ß›œ#œ?œOœhœ#lœbœZóœ~NPÍ?ž^ždžjž lž zžW†žÞžûžŸ0Ÿ 8ŸBŸGŸMMŸ›Ÿ¤Ÿ¼ŸÄŸNÇŸ  %2 !X z  ª  Ç Ñ YÚ )4¡.^¡.¡¼¡Á¡Õ¡OÚ¡*¢ 1¢<¢W¢r¢$’¢·¢ É¢×¢+Û¢£££$£-£5£W:£’£Qš£ì£9ó£-¤L6¤ƒ¤‹¤>¤ϤפFܤ##¥G¥K¥ N¥Y¥r¥z¥…¥U¦)[¦…¦Ц*’¦½¦”æX§5]§“§˜§ ª§µ§ЧS×§+¨T2¨‡¨@Ѝ˨Ш ë¨ö¨©B©Y©L]© ª©´©Ê©Qé©;ª@ªUGªª¯ªªEǪ «k« «"«°«Ë«櫳ÿ«8³­ì±-²-6²/d²2”²0Dz(ø²A!³Ec³1©³2Û³(´-7´7e´:´(Ø´'µ!)µ<Kµ8ˆµOÁµS¶e¶%t¶#š·h¾·A'¸?i¸B©¸Jì¸T7¹Œ¹h º.uº¤ºº ɺAÔºA»$X»3}»3±»å»B¼BH¼‹¼Iª¼6ô¼)+½%U½0{½8¬½-å½)¾-=¾1k¾˜¾:6ÀOqÀÁÀ,ÞÀ) Á5ÁSOÁ£Á2¹Á*ìÁ)Â/AÂ$qÂ.–Â8ÅÂ(þÂ8'Ã9`Ã+šÃ9ÆÃ Ä,!Ä,NÄ{ÄçÄwgÅßÅXâÅD;Æ.€Çn¯Ç,È%KÉqÉ/ŽÉJ¾ÉW Ê.aÊ<ÊBÍÊHË0YË`ŠËnëËTZÌC¯Ì!óÌ+ÍZAÍ#œÍ.ÀÍ2ïͱ"ÎÔÎÚÎ_âÎPBÏ,“Ï/ÀÏ<ðÏ+-ÐUYÐ1¯ÐHáÐL*ÑEwÑ:½ÑjøÑocÒ1ÓÒZÓ`ÓTfÓx»ÓA4ÔhvÔ^ßÔ>ÕlRÕá¿Õ,¡×AÎ×1Ø}BØ{ÀØD<ÙEÙ1ÇÙ#ùÙ#Ú#AÚ#eÚ$‰Ú%®Ú$ÔÚ5ùÚG/Û)wÛ<¡ÛRÞÛS1Ü …Ü ¦Ü ÇÜ èÜ Ý"&ÝTIÝEžÝRäÝ67Þ^nÞ ÍÞ4îÞ%#ßkIßkµß$!àRFà0™áÊá‘èá z㠈㠔ãµã¼ãÅã:Ëãä6$ä[ä+mäM™ä*çäå*2å(]å†åG¦åwîåEfæX¬æEçKç#hç&Œç³çÃçÙçõçÐ èÜè?ùèZ9ê(”ê_½ê^ëO|ë8ÌëSìAYìU›ì@ñì42ígíO‡í·×íî•î²î ·îjÂî -ïš;ïGÖïðq¼ðS.ñ‚ñ)”ñ¾ñ×ñïñò™"óS¼ôXõiõ+rõ?žõCÞõ "÷-÷ E÷f÷)†÷)°÷pÚ÷Kø:gøD¢ø çø0ù9ù*Sù.~ùY­ùdúolú]Üúl:û~§û$&ü&Kürü‰ü¦ü·ü Óüßü,óü· ýØýÝýòý þ#þ*þ;þ[þ0nþ:Ÿþ/Úþ; ÿ4Fÿõ{ÿ q’— šI§9ñ?+kl„ñb"k…,ñ*<Ip†q÷iE¡çúD]*r*È#æs "~3¡ ÕªáCŒ8Ð Y$H~HÇF IW ¡ %¸ Þ å  î û F DZ CŸ ?ã M# >q 6° Pç A8 bz 3Ý 1 ¬C =ð w.ð¦F—zÞCY± O8ð/)rY°Ì³}z1j¬£|»|8$µCÚ.ZM[¨ÇµÌ•‚¬*Å#ð&c;uŸ!M"Jf"k±"˜#R¶#“ $N$Œì$:y%©´%>^&;&@Ù&<'MW'Ÿ¥'˜E(`Þ(h?)¨)Â) â)!*Y%*¨*?(+@h+±©+<[,=˜,Ö,"Ý,3-34-;h- ¤--E.6s._ª. /& /9G/ / Ž/ ™/2º/&í/#03803l03 0'Ô0Eü0CB1>†1/Å1'õ1&2RD2?—20×2Ý3$æ3 44<-4<j4§4Â4wß4ïW5 G7_S71³7hå7¨N8÷89N/96~92µ9.è9*:&B:"i:Œ:©:»:Ø:9Ü:‰;… ;»&<yâ<c\=À=È=Ð=Ô= æ=kò="^> >*¢>Í> Õ>ß>î>eõ>[?#l?? ?j¦? @@00@7a@™@³@/Ñ@A AqA2ŽA8ÁA6úA1B!9B [BWgB¿BÄB+ÓB ÿB% CBFC‰C C«C@¯C ðCúCþCD !D/DpLD ½DZÉD$EI6E,€El­E F'F=-FkFsFLxF/ÅFõFûF G G $G.G–3GpÊG@;H |H‰H/HÀHòÃH¶IF½IJ J %J2JQJdWJ ¼JyÈJBK7GKK(…K®K"¾KáKCèK,LV3LŠL$™L!¾LƒàL dM pMb|MßMôM NNN gN~tNóN%O')O(QOzO†úÀ‹-¬/"“I/{Ðp#KGYVÅw/$?ýáSûŒ%4°ðµ`:½­²ô"Õƒ]b·eë2öø[¸óÜ(7QõF@éf ‡g)ßýÆi¹&ÊeÚù1½B  ×*JkTÙä© á³œÑ^ÛIÍ »›7êÄÌ?u€ZŸºÅhöÆLɾËÿ&E±¡OT·_ÇùÇ2¸¯}s¼ræL9Ô|˜ñ ’6t jľЯq Ô)£M KbþÝJòQìÛÎÂ6…‘yCÏ(7®ïÑݪ äçy:vß ¤hðú 4r5?g—TuC[…RG÷—ø.«wÒBVþÕ ÎRæ>ž¢1¥©<û±>Ïííî;x]WŸ@'å!ƒ¦Áˆ\‡U’ºžI~no¡A.<Œlq*Š–n®lLåÓD}‹ëP§"ì «Ö¥ ¬dFÀWÓ‰|,Rm%dZÊÞ‚1”³ò“¹=f0ñ†8+ôÌÃ%¶P*´NØMv<œ£à$‘o^™õXx‚= ” jÞ-`èŠÒUÙè¢!{3ó´WHJ[ç¨a!ï5§3˜A¿Ép°3NGã_„=Fªs¿2¶\i²t>éÖ.»Z­Ž+XKS$ÜÈ8 –üŽ•ü›\+D×ãc9a#4šà~BË ˆâ0Aÿê,‰X;„5#@m9QDP÷Ák&,Eš0ÚîÍY¦z™¼¨;•SzØ:VÃ8'OOÈNU-â H¤(µEH6'c€)YMC You found a bug in GNU Parted! Here's what you have to do: Don't panic! The bug has most likely not affected any of your data. Help us to fix this bug by doing the following: Check whether the bug has already been fixed by checking the last version of GNU Parted that you can find at: http://ftp.gnu.org/gnu/parted/ Please check this version prior to bug reporting. If this has not been fixed yet or if you don't know how to check, please visit the GNU Parted website: http://www.gnu.org/software/parted for further information. Your report should contain the version of this release (%s) along with the error message below, the output of parted DEVICE unit co print unit s print and the following history of commands you entered. Also include any additional information about your setup you consider important. Command History: Error: A general SIGFPE signal was encountered. Error: A general SIGILL signal was encountered. Error: A general SIGSEGV signal was encountered. Error: FPE_FLTDIV (Float: divide by zero) Error: FPE_FLTINV (Float: invalid operation) Error: FPE_FLTOVF (Float: overflow) Error: FPE_FLTRES (Float: inexact result) Error: FPE_FLTSUB (Float: subscript out of range) Error: FPE_FLTUND (Float: underflow) Error: FPE_INTDIV (Integer: divide by zero) Error: FPE_INTOVF (Integer: overflow) Error: ILL_BADSTK (Internal Stack Error) Error: ILL_COPROC (Coprocessor Error) Error: ILL_ILLADR (Illegal addressing mode) Error: ILL_ILLOPC (Illegal Opcode) Error: ILL_ILLOPN (Illegal Operand) Error: ILL_ILLTRP (Illegal Trap) Error: ILL_PRVOPC (Privileged Opcode) Error: ILL_PRVREG (Privileged Register) Error: SEGV_ACCERR (Invalid permissions for mapped object) Error: SEGV_MAPERR (Address not mapped to object) Is this still acceptable to you? License GPLv3+: GNU GPL version 3 or later . This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Report bugs to <%s>. Report bugs to: %s When no DEVICE is given, probe all partitions. --help display this help and exit --version output version information and exit NUMBER : display more detailed information about this particular partition devices : display all active block devices free : display information about free unpartitioned space on the current block device list, all : display the partition tables of all active block devices "%s" has invalid syntax for locations.%0.f%% (time left %.2d:%.2d)%s %s%s %s %s%s : Bad checksum on block %llu of type %s %s : Bad checksum on block %llu of type %s.%s : Couldn't read block %llu %s : Couldn't read boot block %llu %s : Couldn't read root block %llu %s : Couldn't write block %d %s : Didn't find rdb block, should never happen %s : Didn't find rdb block, should never happen.%s : Failed to allocate block %s : Failed to allocate disk_specific rdb block %s : Failed to allocate id list element %s : Failed to allocate partition block %s : Failed to list bad blocks.%s : Failed to list boot blocks.%s : Failed to list file system blocks.%s : Failed to list partition blocks.%s : Failed to read partition block %llu %s : Loop detected at block %d.%s : The %s list seems bad at block %s.%s contains GPT signatures, indicating that it has a GPT table. However, it does not have a valid fake msdos partition table, as it should. Perhaps it was corrupted -- possibly by a program that doesn't understand GPT partition tables. Or perhaps you deleted the GPT table, and are now using an msdos partition table. Is this a GPT partition table?%s disk labels do not support extended partitions.%s disk labels don't support logical or extended partitions.%s during read on %s%s during seek for read on %s%s during seek for write on %s%s during write on %s%s has no extended partition (volume header partition).%s home page: <%s> %s home page: %s is %dk, but it has %d clusters (%dk).%s is too small for a Mac disk label!%s trying to sync %s to disk%s%s argument `%s' too large%s: invalid option -- '%c' %s: option '%c%s' doesn't allow an argument %s: option '%s' is ambiguous %s: option '--%s' doesn't allow an argument %s: option '-W %s' doesn't allow an argument %s: option '-W %s' is ambiguous %s: option requires an argument -- '%c' %s: unrecognised disk label%s: unrecognized option '%c%s' %s: unrecognized option '--%s' ''mkpart' makes a partition without creating a new file system on the partition. FS-TYPE may be specified to set an appropriate partition ID. 'version' displays copyright and version information corresponding to this copy of GNU Parted (C)A %s %s partition was found at %s -> %s. Do you want to add it to the partition table?A bug has been detected in GNU Parted. Refer to the web site of parted http://www.gnu.org/software/parted/parted.html for more information of what could be useful for bug submitting! Please email a bug report to bug-parted@gnu.org containing at least the version (%s) and the following message: A data set name is corruptedA reference to an extent comes from a place it should not. You should check the file system!A resize operation on this file system will use EXPERIMENTAL code that MAY CORRUPT it (although no one has reported any such damage yet). You should at least backup your data first, and run 'e2fsck -f' afterwards.API version mismatchATARAID ControllerAn error occurred during extent relocation.An error occurred while looking for the mandatory bad blocks file.An extended partition cannot hold a file system. Did you want mkpart?An extent has not been relocated.Assertion (%s) at %s:%d in function %s() failed.Attempt to write sectors %ld-%ld outside of partition on %s.BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s. Backtrace has %d calls on stack: Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or scandisk.Bad FAT: cluster %d outside file system in chain for %s. You should run dosfsck or scandisk.Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk.Bad block list header checksum.Bad blocks could not be read.Bad blocks list could not be loaded.Bad directory entry for %s: first cluster is the end of file marker.Bad journal checksum.Block %i has no reference? Weird.Block %i shouldn't have been marked (%d, %d)!Both the primary and backup GPT tables are corrupt. Try making a fresh table, and using Parted's rescue feature to recover partitions.BugCOMMANDs:Can't add a logical partition to %s, because there is no extended partition.Can't add another partition -- the partition map is too small!Can't add another partition.Can't copy an extended partition.Can't copy onto an overlapping partition.Can't create any more partitions.Can't have a logical partition outside of the extended partition on %s.Can't have a partition outside the disk!Can't have a primary partition inside an extended partition.Can't have logical partitions outside of the extended partition.Can't have more than one extended partition on %s.Can't have overlapping partitions.Can't have the end before the start! (start sector=%jd length=%jd)Can't move a partition onto itself. Try using resize, perhaps?Can't move an extended partition.Can't write to %s, because it is opened read-only.CancelCannot get unit size for special unit 'COMPACT'.Changing the name of a root or swap partition will prevent Linux from recognising it as such.Checksum is wrong, indicating the partition table is corrupt.Clear unused space on a FAT partition (a GNU Parted testing tool). Cluster start delta = %d, which is not a multiple of the cluster size %d.Compaq Smart ArrayConflicting partition map entry sizes! Entry 1 says it is %d, but entry %d says it is %d!Copyright (C) 1998 - 2006 Free Software Foundation, Inc. This program is free software, covered by the GNU General Public License. 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. Corrupted Sun disk label detected.Could not cache the file system in memory.Could not detect file system.Could not determine physical sector size for %s. Using the logical sector size (%lld).Could not determine sector size for %s: %s. Using the default sector size (%lld).Could not find sector %lli of HFS file with CNID %X.Could not find sector %lli of HFS+ file with CNID %X.Could not get identity of device %s - %sCould not read VTOC FMT1 DSCB.Could not read VTOC FMT4 DSCB.Could not read VTOC FMT5 DSCB.Could not read VTOC FMT7 DSCB.Could not read VTOC labels.Could not read volume label.Could not retrieve API version.Could not retrieve blocksize information.Could not retrieve disk geometry information.Could not retrieve disk information.Could not stat device %s - %s.Could not update the extent cache for HFS file with CNID %X.Could not update the extent cache for HFS+ file with CNID %X.Could not write VTOC FMT1 DSCB.Could not write VTOC FMT4 DSCB.Could not write VTOC FMT5 DSCB.Could not write VTOC FMT7 DSCB.Could not write VTOC labels.Could not write volume label.Couldn't create reiserfs device abstraction handler.Couldn't flush buffer cache!Couldn't reopen device abstraction layer for read/write.Couldn't resolve symbol %s. Error: %s.Cross-linked blocks found! Better go run e2fsck first!DAC960 RAID controllerDEVICE is usually /dev/hda or /dev/sda Data relocation has failed.Data relocation left some data at the end of the volume.Data relocation left some data in the end of the volume.Destination partition number?Device %s has multiple (%d) logical sectors per physical sector. GNU Parted supports this EXPERIMENTALLY for some special disk label/file system combinations, e.g. GPT and ext2/3. Please consult the web site for up-to-date information.Device is too small for %lu blocks.Device verification failedDirect support for copying file systems is not yet implemented for %s. However, support for resizing is implemented. Therefore, the file system can be copied if the new partition is at least as big as the old one. So, either shrink the partition you are trying to copy, or copy to a bigger partition.Disk %s: %s Disk ImageDisk is in useEndEnd?ErrorError allocating buffer cache.Error fsyncing/closing %s: %sError initialising SCSI device %s - %sError opening %s: %sError while writing the allocation file.Error while writing the compatibility part of the allocation file.Error writing to the root directory.Expecting a disk label type.Expecting a file system type.Expecting a partition number.Expecting a partition type.Extended partitions cannot be hidden on msdos disk labels.FAT %d media %x doesn't match the boot sector's media %x. You should probably run scandisk.FAT boot sector says clusters are 0 sectors. This is weird. FAT boot sector says logical sector size is 0. This is weird. FAT boot sector says there are no FAT tables. This is weird. FLAG is one of: FS-TYPE is one of: Failed to write partition block at %d.FatalFatal errorFile System: %s File systemFile system doesn't have expected sizes for Windows to like it. Cluster size is %dk (%dk expected); number of clusters is %d (%d expected); size of FATs is %d sectors (%d expected).File system full!File system has an incompatible feature enabled. Compatible features are has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs or debugfs to remove features.File system has an invalid cluster size for a FAT file system.File system has an invalid number of FATs.File system has an invalid number of reserved sectors for a FAT file system.File system has an invalid sector size for a FAT file system.File system has an invalid signature for a FAT file system.File system has errors! You should run e2fsck.File system has too many allocated inodes to remove a group!File system is FAT12, which is unsupported.File system is reporting the free space as %d clusters, not %d clusters.File system is too full to remove a group!File system too small for ext2.File system type?File system was not cleanly unmounted! You should run e2fsck.File system was not cleanly unmounted! You should run e2fsck. Modifying an unclean file system could cause severe corruption.FixFlag to Invert?FlagsFlags: %s Found an inode with a incorrect link count. Better go run e2fsck first!Free SpaceGNU Parted cannot resize this partition to this size. We're working on it!GNU Parted found an invalid libreiserfs library.GNU Parted has detected libreiserfs interface version mismatch. Found %d-%d, required %d. ReiserFS support will be disabled.GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT support will be disabled.General help using GNU software: Generic IDEGeneric SD/MMC Storage CardI2O ControllerIBM S390 DASD driveIBM iSeries Virtual DASDIf you convert to FAT16, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual).If you convert to FAT32, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual). Also, converting to FAT32 will make the file system unreadable by MS DOS, MS Windows 95a, and MS Windows NT.If you leave your file system as FAT16, then you will have no problems.If you leave your file system as FAT32, then you will not introduce any new problems.IgnoreInconsistent group descriptors!Incorrect magic values in the journal header.Inform the operating system about partition table changes. -d, --dry-run do not actually inform the operating system -s, --summary print a summary of contents -h, --help display this help and exit -v, --version output version information and exit InformationInvalid VTOC.Invalid back referenceInvalid character class nameInvalid collation characterInvalid content of \{\}Invalid free blocks count. Run reiserfsck --check first.Invalid number.Invalid partition table - recursive partition on %s.Invalid partition table on %s -- wrong signature %x.Invalid partition table on %s.Invalid preceding regular expressionInvalid range endInvalid regular expressionInvalid signature %x for Mac disk labels.Invalid size of a transaction block while replaying the journal (%i bytes).Invalid superblock. Are you sure this is an ext2 file system?It seems there is an error in the HFS wrapper: the bad blocks file doesn't contain the embedded HFS+ volume.Journal offset or size is not multiple of the sector size.Journal size mismatch between journal info block and journal header.Journal stored outside of the volume are not supported. Try to desactivate the journal and run Parted again.LABEL-TYPE is one of: Linux device-mapper (%s)Maximum size: Memory allocation failedMemory exhaustedMinimum size: Minor: %d Model: %s (%s) NAME is any word you want NUMBER is the partition number used by Linux. On MS-DOS disk labels, the primary partitions number from 1 to 4, logical partitions from 5 onwards. NameNew device?New disk label type?New state?NoNo ImplementationNo device foundNo matchNo previous regular expressionNo room for partition info.No room for volume label.No valid HFS[+X] signature has been found while opening.No valid partition map found.Not all of the space available to %s appears to be used, you can fix the GPT to use all of the space (an extra %llu blocks) or continue with the current setting? Not enough free inodes!NumberOKOPTIONs:Only logical partitions can be a boot file.Only primary partitions can be root partitions.Only primary partitions can be swap partitions.Out of memory.PART-TYPE is one of: primary, logical, extended Packaged by %s Packaged by %s (%s) Parted can't resize partitions managed by Windows Dynamic Disk.Parted can't use HFS file systems on disks with a sector size not equal to %d bytes.Partition %d has an invalid length of 0 bytes!Partition %d has an invalid signature %x.Partition %d is %s, but the file system is %s.Partition %d isn't aligned to cylinder boundaries. This is still unsupported.Partition %s is being used. You must unmount it before you modify it with Parted.Partition Table: %s Partition doesn't exist.Partition map has no partition map entry!Partition name?Partition number?Partition too big/small for a %s file system.Partition type?Partition(s) on %s are being used.Premature end of regular expressionPromise SX8 SATA DeviceRegular expression too bigReiserfs tree seems to be corrupted. Run reiserfsck --check first.Report %s bugs to: %s Resizing the HFS+ volume has failed.RetrySTART and END are disk locations, such as 4GB or 10%. Negative values count from the end of the disk. For example, -1s specifies exactly the last sector. STATE is one of: on, off Sector size (logical/physical): %lldB/%lldB SizeSize: Some header fields are not multiple of the sector size.Sorry, HFS cannot be resized that way yet.Sorry, HFS+ cannot be resized that way yet.Sorry, can't move the start of ext2 partitions yet!Sorry, can't move the start of reiserfs partitions yet.Source device?Source partition number?StartStart?SuccessSun disk label is full.Support for adding partitions to AIX disk labels is not implemented yet.Support for checking %s file systems is not implemented yet.Support for copying %s file systems is not implemented yet.Support for creating %s file systems is not implemented yet.Support for duplicating partitions in AIX disk labels is not implemented yet.Support for opening %s file systems is not implemented yet.Support for reading AIX disk labels is is not implemented yet.Support for resizing %s file systems is not implemented yet.Support for setting flags in AIX disk labels is not implemented yet.Support for setting system type of partitions in AIX disk labels is not implemented yet.Support for writing AIX disk labels is is not implemented yet.Syntax error in config fileThe FATs don't match. If you don't know what this means, then select cancel, run scandisk on the file system, and then come back.The Whole Disk partition is the only available one left. Generally, it is not a good idea to overwrite this partition with a real one. Solaris may not be able to boot without it, and SILO (the sparc boot loader) appreciates it as well.The backup GPT table is corrupt, but the primary appears OK, so that will be used.The backup GPT table is not at the end of the disk, as it should be. This might mean that another operating system believes the disk is smaller. Fix, by moving the backup to the end (and removing the old backup)?The boot region doesn't start at the start of the partition.The current API version '%d' doesn't match dasd driver API version '%d'!The data region doesn't start at the start of the partition.The device %s has zero length, and can't possibly store a file system or partition table. Perhaps you selected the wrong device?The disk CHS geometry (%d,%d,%d) reported by the operating system does not match the geometry stored on the disk label (%d,%d,%d).The disk has %d cylinders, which is greater than the maximum of 65536.The disk label describes a disk bigger than %s.The driver descriptor says the physical block size is %d bytes, but Linux says it is %d bytes.The existing disk label on %s will be destroyed and all data on this disk will be lost. Do you want to continue?The existing file system will be destroyed and all data on the partition will be lost. Do you want to continue?The ext2 file system passed a basic check. For a more comprehensive check, use the e2fsck program.The extents overflow file should not contain its own extents! You should check the file system.The file %s is marked as a system file. This means moving it could cause some programs to stop working.The file system can only be resized to this size by converting to FAT16.The file system can only be resized to this size by converting to FAT32.The file system contains errors.The file system has the 'dir_index' feature enabled. Parted can only resize the file system if it disables this feature. You can enable it later by running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'.The file system is bigger than its volume!The file system is in an invalid state. Perhaps it is mounted?The file system is in old (unresizeable) format.The file system's CHS geometry is (%d, %d, %d), which is invalid. The partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the file system's CHS geometry will be left unchanged. If you select Fix, the file system's CHS geometry will be set to match the partition table's CHS geometry.The format of the GPT partition table is version %x, which is newer than what Parted can recognise. Please tell us! bug-parted@gnu.orgThe information sector has the wrong signature (%x). Select cancel for now, and send in a bug report. If you're desperate, it's probably safe to ignore.The journal is not empty. Parted must replay the transactions before opening the file system. This will modify the file system.The location %s is outside of the device %s.The maximum head value is %d.The maximum sector value is %d.The partition must have one of the following FS-TYPEs: The partition table cannot be re-read. This means you need to reboot before mounting any modified partitions. You also need to reinstall your boot loader before you reboot (which may require mounting modified partitions). It is impossible do both things! So you'll need to boot off a rescue disk, and reinstall your boot loader from the rescue disk. Read section 4 of the Parted User documentation for more information.The partition table on %s cannot be re-read (%s). This means the Hurd knows nothing about any modifications you made. You should reboot your computer before doing anything with %s.The partition's boot region doesn't occupy the entire partition.The partition's data region doesn't occupy the entire partition.The primary GPT table is corrupt, but the backup appears OK, so that will be used.The reiserfs file system passed a basic check. For a more comprehensive check, run reiserfsck --check.The resulting partition is not properly aligned for best performance.The sector size stored in the journal is not 512 bytes. Parted only supports 512 bytes length sectors.The specified device is not a valid DASD deviceThe volume header or the master directory block has changed while replaying the journal. You should restart Parted.There are no possible configurations for this FAT type.There's not enough room in the root directory for all of the files. Either cancel, or ignore to lose the files.This HFS volume has no catalog file. This is very unusual!This HFS volume has no extents overflow file. This is quite unusual!This HFS+ volume has no catalog file. This is very unusual!This HFS+ volume has no extents overflow file. This is quite unusual!This command does not make sense in non-interactive mode. This file system has a logical sector size of %d. GNU Parted is known not to work properly with sector sizes other than 512 bytes.This is not a real %s check. This is going to extract special low level files for debugging purposes.This is not an ECKD disk! This disk type is not supported!This libparted doesn't have write support for %s. Perhaps it was compiled read-only.Too many bad pages.Too many primary partitionsToo many primary partitions.Trailing backslashTry `%s --help' for more information. Trying to move an extent from block Ox%X to block Ox%X, but another one already exists at this position. This should not happen!Trying to read HFS file with CNID %X behind EOF.Trying to read HFS+ file with CNID %X behind EOF.Trying to register an extent starting at block 0x%X, but another one already exists at this position. You should check the file system!Trying to write HFS file with CNID %X behind EOF.Trying to write HFS+ file with CNID %X behind EOF.TypeUNIT is one of: Unable to allocate a bsd disklabel slot.Unable to allocate a dasd disklabel slotUnable to allocate a partition number.Unable to determine geometry of file/device %s. You should not use Parted unless you REALLY know what you're doing!Unable to determine the dm type of %s.Unable to determine the size of %s (%s).Unable to open %s read-write (%s). %s has been opened read-only.Unable to open %s.Unable to probe store.Unable to satisfy all constraints on the partition.Unit?UnknownUnknown disk flag, %d.Unknown file system type "%s".Unknown partition flag, %d.Unknown system errorUnmatched ( or \(Unmatched ) or \)Unmatched [ or [^Unmatched \{Unrecognised new style linux swap signature '%10s'.Unrecognised old style linux swap signature '%10s'.Unrecognised swsusp linux swap signature '%9s'.Unsupported disk formatUnsupported disk typeUpdating the HFS wrapper has failed.Usage: %s [-hlmsv] [-a] [DEVICE [COMMAND [PARAMETERS]]...] Usage: %s [OPTION] or: %s DEVICE MINOR Usage: %s [OPTION] [DEVICE]... Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...] Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run in interactive mode. User-Mode Linux UBDUsing %s Valid arguments are:Version %d of HFS+ isn't supported.Version %d of HFSX isn't supported.Virtio Block DeviceVolume label is corruptedWARNING: You are not superuser. Watch out for permissions.WARNING: you are attempting to use %s to operate on (%s) a file system. %s's file system manipulation code is not as robust as what you'll find in dedicated, file-system-specific packages like e2fsprogs. We recommend you use %s only to manipulate partition tables, whenever possible. Support for performing most operations on most types of file systems will be removed in an upcoming release. WarningWeird block size on device descriptor: %d bytes is not divisible by 512.Weird! There are 2 partitions map entries!Welcome to GNU Parted! Type 'help' to view a list of commands. Without arguments, 'print' displays the entire partition table. However with the following arguments it performs various other actions. Would you like to use FAT32?Written by %s and %s. Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, and %s. Written by %s, %s, %s, and %s. Written by %s, %s, and %s. Written by %s. Xen Virtual Block DeviceYesYou may need to update /etc/fstab. You need %s of free disk space to shrink this partition to this size. Currently, only %s is free.You requested a partition from %s to %s. The closest location we can manage is %s to %s.%sYou should reinstall your boot loader before rebooting. Read section 4 of the Parted User documentation for more information.Your file system has too many occupied inodes to resize it to %i blocks. Sorry.Your file system is too full to resize it to %i blocks. Sorry.^[nN]^[yY]`adding groupsalign-checkalign-check TYPE N check partition N for TYPE(min|opt) alignmentalignment for new partitionsalignment type(min/opt)ambiguous argument %s for %satvrecvbios_grubbootcheckcheck NUMBER do a simple check on the file systemcheckingchecking for bad blockscopyingcpcp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another partitioncreatingcylinder_alignmentdesired alignment: minimum or optimaldisplays machine parseable outputdisplays the versiondisplays this help messageend of file while reading %sexpandingextendedfailed to set dvh partition name to %s: Only logical partitions (boot files) have a name.fat_table_alloc_cluster: no free clustersfat_table_get: cluster %ld outside file systemfat_table_set: cluster %ld outside file systemfreegrowing file systemhelphelp [COMMAND] print general help, or help on COMMANDhiddenhp-serviceinvalid %s%s argument `%s'invalid argument %s for %sinvalid minor device number: %sinvalid suffix in %s%s argument `%s'invalid token: %sioctl() errorlbalists partition layout on all block deviceslogicallvmmemory exhaustedmetadataminimalmkfsmkfs NUMBER FS-TYPE make a FS-TYPE file system on partition NUMBERmklabelmklabel,mktable LABEL-TYPE create a new disklabel (partition table)mkpartmkpart PART-TYPE [FS-TYPE] START END make a partitionmkpartfsmkpartfs PART-TYPE FS-TYPE START END make a partition with a file systemmktablemovemove NUMBER START END move partition NUMBERmsftresnamename NUMBER NAME name partition NUMBER as NAMEnever prompts for user interventionoffonopen erroropening of device failedoptimalpaloparted was unable to re-read the partition table on %s (%s). This means Linux won't know anything about the modifications you made. partition length of %jd sectors exceeds the %s-partition-table-imposed maximum of %jdped_device_new() Unsupported device typeprepprimaryprimary partition table array CRC mismatchprintprint [devices|free|list,all|NUMBER] display the partition table, available devices, free space, all found partitions, or a particular partitionquitquit exit programraidraw block copyingread errorreading from device failedrescuerescue START END rescue a lost partition near START and ENDresizeresize NUMBER START END resize partition NUMBER and its file systemrmrm NUMBER delete partition NUMBERrootsearching for file systemsseek errorseeking on device failedselectselect DEVICE choose the device to editsetset NUMBER FLAG STATE change the FLAG on partition NUMBERshrinkingshrinking HFS wrappershrinking embedded HFS+ volumestarting sector number, %jd exceeds the %s-partition-table-imposed maximum of %jdswaptoggletoggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBERtoo few argumentstoo many argumentsunitunit UNIT set the default unit to UNITversionversion display the version number and copyright information of GNU Partedwrite errorwriting HFS Master Directory Blockwriting HFS+ Volume Headerwriting per-group metadatawriting to device failedProject-Id-Version: parted 2.2 Report-Msgid-Bugs-To: bug-parted@gnu.org POT-Creation-Date: 2010-05-28 20:30+0200 PO-Revision-Date: 2010-03-06 19:41+0930 Last-Translator: Clytie Siddall Language-Team: Vietnamese Language: vi MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; X-Generator: LocFactoryEditor 1.8 Bạn đã tìm má»™t lá»—i trong phần má»m GNU Parted ! Hãy bình tÄ©nh, rất có thể là lá»—i này không có tác động dữ liệu cá»§a bạn. Xin hãy giúp chúng tôi sá»­a chữa lá»—i này bằng cách theo những bước theo đây: 1. Kiểm tra nếu phiên bản GNU Parted má»›i nhất: http://ftp.gnu.org/gnu/parted/ đã sá»­a chữa lá»—i này chưa. Nếu chưa, hãy tiếp tục: 2. Äể biết thêm thông tin, hãy thăm trang chá»§ GNU Parted: http://www.gnu.org/software/parted 3. Hãy gá»­i má»™t báo cáo lá»—i cho địa chỉ . Báo cáo này nên chứa:(a) số thứ tá»± phiên bản (%s)(b) thông Ä‘iệp lá»—i dưới đây, kết xuất cá»§a câu lệnh: parted THIẾT_BỊ unit co print unit s print (c) lược sá»­ các câu lệnh bạn đã gõ vào (d) thông tin bổ sung nào vá» cấu hình máy tính và hệ Ä‘iá»u hành mà bạn thấy là quan trá»ng. Má»™t khi bạn làm những bước trên, cám Æ¡n bạn giúp phát triển phần má»m GNU Parted tốt hÆ¡n ! :) Lược sá»­ Câu lệnh: Lá»—i: gặp má»™t tín hiệu SIGFPE chung. Lá»—i: gặp má»™t tín hiệu SIGILL chung. Lá»—i: gặp má»™t tín hiệu SIGSEGV chung. Lá»—i: FPE_FLTDIV (Phù động: chia cho không) Lá»—i: FPE_FLTINV (Phù động: thao tác sai) Lá»—i: FPE_FLTOVF (Phù động: tràn) Lá»—i: FPE_FLTRES (Phù động: kết quả không chính xác) Lá»—i: FPE_FLTSUB (Phù động: chữ thấp ở ngoại phạm vi) Lá»—i: FPE_FLTUND (Phù động: tràn ngược) Lá»—i: FPE_INTDIV (Số nguyên: chia cho không) Lá»—i: FPE_INTOVF (Số nguyên: tràn) Lá»—i: ILL_BADSTK (Lá»—i đống ná»™i bá»™) Lá»—i: ILL_COPROC (Lá»—i tiến trình đồng chạy) Lá»—i: ILL_ILLADR (Chế độ đặt địa chỉ cấm) Lá»—i: ILL_ILLOPC (Mã thao tác cấm) Lá»—i: ILL_ILLOPN (Toán hạng cấm) Lá»—i : ILL_ILLTRP (Bẫy cấm) Lá»—i: ILL_PRVOPC (Mã thao tác có quyá»n đặc biệt) Lá»—i: ILL_PRVREG (Thanh ghi có quyá»n đặc biệt) Lá»—i: SEGV_ACCERR (Quyá»n truy cập sai cho đối tượng đã ánh xạ Lá»—i: SEGV_MAPERR (Äịa chỉ không được ánh xạ tá»›i đối tượng) Vẫn tốt ? Giấy phép GPL pb3+ : Giấy phép Công cá»™ng GNU phiên bản 3 hay sau Äây là phần má»m tá»± do : bạn có quyá»n sá»­a đổi và phát hành lại nó. KHÔNG CÓ BẢO HÀNH GÃŒ CẢ, vá»›i Ä‘iá»u khiển được pháp luật cho phép. Gá»­i báo cáo lá»—i tá»›i <%s>. Gá»­i báo cáo lá»—i tá»›i: <%s> Gá»­i báo cáo lá»—i dịch tá»›i Clytie: Không đưa ra THIẾT_BỊ thì thăm dò má»i phiên bản. --help hiển thị trợ giúp này rồi thoát --version đưa ra thông tin phiên bản rồi thoát Sá» : hiển thị thông tin chi tiết hÆ¡n vá» phân vùng này devices : hiển thị tất cả các thiết bị khối vẫn hoạt động free : hiển thị thông tin vá» sức chứa còn trống chưa phân vùng trên thiết bị khối hiện thá»i list, all : hiển thị các bảng phân vùng cá»§a má»i thiết bị khối vẫn hoạt động « %s » sai cú pháp đối vá»›i vị trí.%0.f%% (còn lại %.2d:%.2d)%s %s%s %s %s%s: Sai kiểm tổng (checksum) trên khối %llu có loại %s %s: Sai kiểm tổng (checksum) trên khối %llu có loại %s.%s: Không thể Ä‘á»c khối %llu %s: Không thể Ä‘á»c khối khởi động %llu %s: Không thể Ä‘á»c khối khởi động %llu %s: Không thể ghi khối %d %s: Không tìm thấy khối rdb, không bao giá» nên xảy ra %s: Không tìm thấy khối rdb, không bao giá» nên xảy ra.%s: Lá»—i cấp phát khối. %s: Lá»—i cấp phát khối rdb disk_specific (đặc trưng cho đĩa) %s: Lá»—i cấp phát phần tá»­ danh sách mã số %s: Lá»—i cấp phát khối phân vùng %s: Lá»—i liệt kê các khối sai.%s: Lá»—i liệt kê các khối khởi động.%s: Lá»—i liệt kê các khối hệ thống tập tin.%s: Lá»—i liệt kê các khối phân vùng.%s: Lá»—i Ä‘á»c khối phân vùng %llu %s: Phát hiện vòng lặp tại khối %d.%s: Danh sách %s hình như sai tại khối %s.%s chứa chữ ký GPT, chỉ ra nó có bảng GPT. Tuy nhiên, nó không có má»™t bảng phân vùng giả msdos cần thiết. Có thể nó đã bị làm há»ng bởi má»™t chương trình không hiểu bảng phân vùng GPT. Hoặc có thể ngưá»i dùng đã xoá bảng GPT, và bây giá» Ä‘ang sá»­ dụng má»™t bảng phân vùng msdos. Äây có phải là má»™t bảng phân vùng GPT?Nhãn đĩa %s không há»— trợ phiên bản mở rá»™ng.Nhãn đĩa %s không há»— trợ phiên bản kiểu mở rá»™ng hay hợp lý.%s trong khi Ä‘á»c trên %s%s trong khi tìm nÆ¡i để Ä‘á»c trên %s%s trong khi tìm nÆ¡i để ghi trên %s%s trong khi ghi trên %s%s không có phân vùng mở rá»™ng (phân vùng phần đầu cá»§a khối tin).Trang chá»§ %s: <%s> Trang chá»§ %s: %s là %dk, nhưng nó có %d chùm (%dk).%s quá nhá» cho má»™t nhãn đĩa Mac !%s Ä‘ang thá»­ đồng bá»™ hoá %s vá»›i đĩađối số %s%s « %s » quá lá»›n%s: tùy chá»n không hợp lệ -- « %c » %s: tùy chá»n « %c%s » không cho phép đối số %s: tùy chá»n « %s » vẫn mÆ¡ hồ %s: tùy chá»n « --%s » không cho phép đối số %s: tùy chá»n « -W %s » không cho phép đối số %s: tùy chá»n « -W %s » vẫn mÆ¡ hồ %s: tùy chá»n yêu cầu má»™t đối số -- « %c » %s: không nhận ra nhãn đĩa%s: không nhận ra tùy chá»n « %c%s » %s: không nhận ra tùy chá»n « --%s » »« mkpart » tạo má»™t phân vùng mà không tạo má»™t hệ thống tập tin má»›i trên phân vùng đó. Có thể chỉ ra KIỂU_HTTT (kiểu hệ thống tập tin) để đặt má»™t mã số phân vùng thích hợp. « version » hiển thị thông tin vá» tác quyá»n và phiên bản tương ứng vá»›i bản sao GNU Parted này ©Tìm thấy má»™t phân vùng %s %s tại %s -> %s. Thêm nó vào bảng phân vùng ?Phát hiện ra má»™t lá»—i trong GNU parted. Hãy thăm trang chá»§ Web cá»§a parted (http://www.gnu.org/software/parted/parted.html) để biết thêm vá» thông tin thích hợp vá»›i báo cáo lá»—i. Xin hãy gá»­i thư thông báo tá»›i kèm theo ít nhất phiên bản (%s) và thông tin sau :Má»™t tên tập hợp dữ liệu bị há»ngTham chiếu đến má»™t tầm đến từ vị trí không đúng. Cần kiểm tra hệ thống tập tin !Thao tác thay đổi kích cỡ trên hệ thống tập tin này thì dùng mã nguồn VẪN THá»°C NGHIỆM mà CÓ THỂ LÀM HỎNG nó (dù chưa có ngưá»i dùng thông báo trưá»ng hợp này). ít nhất ngưá»i dùng nên sao lưu dữ liệu trước, và chạy « e2fsck -f » sau.Phiên bản API không tương ứngBá»™ Ä‘iá»u khiển ATARAIDGặp lá»—i trong khi định vị lại tầm.Gặp lá»—i trong khi tìm tập tin khối xấu bắt buá»™c phải có.Phân vùng mở rá»™ng không thể có hệ thống tập tin. Bạn muốn mkpart ?Má»™t tầm chưa được định vị lại.Khẳng định (%s) tại %s:%d trong hàm %s() bị lá»—i.Cố ghi các rãnh ghi %ld-%ld nằm ngoài phân vùng trên %s.Dạng hình trụ,đầu,rãnh ghi BIOS: %d,%d,%d. Má»—i trụ là %s. Truy ngược có %d lá»i gá»i trên đống: FAT xấu: chùm %d là liên kết chồng chéo cho %s. Cần chạy dosfsck hoặc scandisk.FAT xấu: chùm %d ngoài hệ thống tập tin trong chuá»—i cho %s. Cần chạy dosfsck hoặc scandisk.FAT xấu: chuá»—i không kết thúc cho %s. Cần chạy dosfsck hoặc scandisk.Sai kiểm tổng (checksum) phần đầu danh sách khối xấu.Không thể Ä‘á»c khối xấu.Không thể nạp danh sách khối xấu.Mục thư mục xấu cho %s: chùm đầu tiên là cuối cá»§a đánh dấu tập tin.Lá»—i tổng kiểm tra nhật ký.Khối %i không có tham chiếu ? Kỳ lạ.Khối %i không nên bị đánh dấu (%d, %d) !Cả bảng GPT chính và sao lưu Ä‘á»u há»ng. Hãy thá»­ tạo má»™t bảng má»›i, và sá»­ dụng tính năng cứu nguy cá»§a Parted để phục hồi các phân vùng.Lá»—iLỆNH:Không thể thêm vào %s má»™t phân vùng hợp lý, vì không có phân vùng mở rá»™ng.Không thêm được phân vùng bổ sung - sÆ¡ đồ phân vùng quá nhá» !Không thêm được phân vùng bổ sung.Không thể sao chép phân vùng mở rá»™ng.Không thể sao chép vào má»™t phân vùng chồng lấp.Không thể tạo phân vùng thêm nữa.Không cho phép phân vùng hợp lý nằm ngoài phân vùng mở rá»™ng trên %s.Không thể có phân vùng nằm ngoài đĩa !Không cho phép phân vùng chính nằm trong phân vùng mở rá»™ng.Không cho phép phân vùng hợp lý nằm ngoài phân vùng mở rá»™ng.Không cho phép nhiá»u hÆ¡n má»™t phân vùng mở rá»™ng trên %s.Không cho phép các phân vùng chồng chéo lên nhau.Không thể có kết thúc đứng trước bắt đầu ! (bắt đầu rãnh_ghi=%jd chiá»u_dài=%jd)Không thể di chuyển má»™t phân vùng lên chính nó. Có thể, hãy thá»­ thay đổi kích thước ?Không thể di chuyển phân vùng mở rá»™ng.Không thể ghi nhá»› vào %s, vì nó đã được mở ở tình trạng chỉ Ä‘á»c.ThôiKhông thể lấy kích cỡ đơn vị cho đơn vị đặc biệt « COMPACT ».Thay đổi tên cá»§a má»™t phân vùng gốc hay trao đổi sẽ khiến Linux không nhận ra chúng như trước.Sai kiểm tổng (checksum) thì bảng phân vùng bị há»ng.Xoá sạch sức chứa không dùng trên má»™t phân vùng FAT (má»™t công cụ thá»­ GNU Parted). Delta bắt đầu chùm = %d, mà không phải là bá»™i số cá»§a kích thước chùm %d.Mảng Khéo CompaqXung đột kích thước mục sÆ¡ đồ phân vùng ! Mục 1 nói là %d, nhưng mục %d nói là %d !Tác quyá»n © năm 1998-2006 cá»§a Tổ chức Phần má»m Tá»± do. Chương trình này là phần má»m tá»± do, được bao quát bởi Giấy Phép Công Cá»™ng GNU (GPL). Chương trình này được phát hành vì mong muốn nó có ích, nhưng KHÔNG CÓ BẢO HÀNH GÃŒ CẢ, THẬM CHà KHÔNG CÓ BẢO ÄẢM ÄÆ¯á»¢C NGỤ à KHẢ NÄ‚NG BÃN HAY KHẢ NÄ‚NG LÀM ÄÆ¯á»¢C VIỆC DỨT KHOÃT. Xem Giấy Phép Công Cá»™ng GNU để biết thêm chi tiết. Nhận ra má»™t nhãn đĩa Sun bị há»ng.Không thể nhá»› tạm hệ thống tập tin trong bá»™ nhá»›.Không thể phát hiện hệ thống tập tin.Không thể quyết định kích cỡ rãnh ghi vật lý đối vá»›i %s nên dùng kích cỡ rãnh ghi hợp lý (%lld).Không thể quyết định kích cỡ rãnh ghi đối vá»›i %s: %s nên dùng kích cỡ rãnh ghi mặc định (%lld).Không tìm thấy rãnh ghi %lli cá»§a tập tin HFS vá»›i CNID %X.Không tìm thấy rãnh ghi %lli cá»§a tập tin HFS+ vá»›i CNID %X.Không thể nhận diện thiết bị %s — %sKhông thể Ä‘á»c VTOC FMT1 DSCB.Không thể Ä‘á»c VTOC FMT4 DSCB.Không thể Ä‘á»c VTOC FMT5 DSCB.Không thể Ä‘á»c VTOC FMT7 DSCB.Không thể Ä‘á»c các nhãn VTOC.Không thể Ä‘á»c nhãn khối tin.Không thể lấy phiên bản API.Không thể lấy thông tin vá» kích cỡ khối.Không thể lấy thông tin vá» cấu trúc hình há»c cá»§a đĩa.Không thể lấy thông tin vỠđĩa.Không thể lấy trạng thái vá» thiết bị %s — %sKhông thể cập nhật vùng nhá»› tạm tầm cho tập tin HFS vá»›i CNID %X.Không thể cập nhật vùng nhá»› tạm tầm cho tập tin HFS+ vá»›i CNID %X.Không thể ghi VTOC FMT1 DSCB.Không thể ghi VTOC FMT4 DSCB.Không thể ghi VTOC FMT5 DSCB.Không thể ghi VTOC FMT7 DSCB.Không thể ghi nhãn VTOC.Không thể ghi nhãn khối tin.Không thể tạo bá»™ quản lý sá»± nhìn trừu tượng thiết bị reiserfs.Không thể chuyển hết ra ngoài vùng nhá»› tạm bá»™ đệm !Không thể mở lại lá»›p nhìn trừu tượng thiết bị để Ä‘á»c/ghi.Không thể quyết định ký hiệu %s. Lá»—i: %s.Tìm thấy các khối liên kết chồng chéo ! Tốt nhất hãy chạy e2fsck trước !Bá»™ Ä‘iá»u khiển RAID DAC960THIẾT_BỊ thưá»ng là /dev/hda hoặc /dev/sda Lá»—i định vị lại dữ liệu.Tiến trình định vị lại dữ liệu đã để lại má»™t số dữ liệu ở cuối khối tin.Tiến trình định vị lại dữ liệu đã để lại má»™t số dữ liệu ở cuối khối tin.Số thứ tá»± phân vùng đích ?Thiết bị %s có nhiá»u (%d) rãnh ghi hợp lý trên má»—i rãnh ghi vật lý. Chương trình GNU Parted há»— trợ trưá»ng hợp này má»™t cách VẪN THá»°C NGHIỆM đối vá»›i má»™t số tổ hợp nhãn đĩa/hệ thống tập tin, v.d. GPT và ext2/3. Hãy thăm trang chá»§ Web để tìm thông tin đã cập nhật.Thiết bị quá nhỠđể chứa %lu khối.Lá»—i thẩm tra thiết bịHá»— trợ thẳng để sao chép hệ thống tập tin chưa được thá»±c hiện cho %s. Tuy nhiên, đã có há»— trợ thay đổi kích thước. Vì thế, có thể sao chép hệ thống tập tin nếu phân vùng má»›i có kích thước không nhá» hÆ¡n phân vùng cÅ©. Vì vậy, hoặc rút ngắn phân vùng cần sao chép, hoặc sao chép tá»›i má»™t phân vùng lá»›n hÆ¡n.ÄÄ©a %s: %s Ảnh ÄÄ©aÄÄ©a Ä‘ang được sá»­ dụngCuốiCuối ?Lá»—iGặp lá»—i khi phân cấp vùng nhá»› tạm bá»™ đệm.Lá»—i fsync hay đóng %s: %sGặp lá»—i khi sÆ¡ khởi thiết bị SCSI %s — %sLá»—i mở %s: %sGặp lá»—i khi ghi tập tin phân phối.Gặp lá»—i khi ghi phần tính tương thích cá»§a tập tin phân phối.Gặp lá»—i khi ghi vào thư mục gốc.Mong đợi kiểu nhãn đĩa.Mong đợi kiểu hệ thống tập tin.Mong đợi số thứ tá»± phân vùng.Mong đợi kiểu phân vùng.Phân vùng mở rá»™ng không thể bị ẩn trên nhãn đĩa MSDOS.FAT %d vật chứa %x không tương ứng vật chứa rãnh ghi khởi động %x. Có thể cần chạy scandisk.Rãnh ghi khởi động FAT nói chùm là 0 rãnh ghi. Kỳ lạ. Rãnh ghi khởi động FAT nói kích thước rãnh ghi hợp lý là 0. Kỳ lạ. Rãnh ghi khởi động FAT nói không có bảng FAT. Kỳ lạ. CỜ là má»™t trong số : KIỂU_HTTT là má»™t trong số : Lá»—i ghi khối phân vùng tại %d.Nghiêm trá»ngLá»—i nghiêm trá»ngHệ thống Tập tin: %s Hê thống tập tinHệ thống tập tin không có kích thước Windows mong đợi. Kích thước chùm là %dk (mong đợi %dk); số chùm là %d (mong đợi %d); kích thước FAT là %d rãnh ghi (mong đợi %d).Hê thống tập tin đầyHệ thống tập tin đã hiệu lá»±c má»™t tính năng không tương thích. Những tính năng tương thích: • has_journal có nhật ký • dir_index thư mục phụ lục • sparse_super siêu sparse • large_file tập tin lá»›n Hãy sá»­ dụng tune2fs hay debugfs để gỡ bá» tính năng.Hệ thống tập tin có kích thước chùm sai cho hệ thống tập tin kiểu FAT.Hệ thống tập tin có số FAT sai.Hệ thống tập tin có số rãnh ghi dá»± trữ sai cho hệ thống tập tin kiểu FAT.Hệ thống tập tin có kích thước rãnh ghi sai cho hệ thống tập tin kiểu FAT.Hệ thống tập tin có chữ ký sai cho hệ thống tập tin kiểu FAT.Hệ thống tập tin có lá»—i ! Cần chạy e2fsck.Hệ thống tập tin có quá nhiá»u inode phân phối để xóa má»™t nhóm !Hệ thống tập tin là FAT12, mà không được há»— trợ.Hệ thống tập tin cho biết không gian trống là %d chùm, không phải %d.Hệ thống tập tin quá đầy để gỡ bá» má»™t nhóm !Hệ thống tập tin quá nhỠđối vá»›i ext2.Kiểu hệ thống tập tin ?Hệ thống tập tin chưa được bá» gắn đúng ! Cần chạy e2fsck.Hệ thống tập tin chưa được bá» gắn má»™t cách đúng đắn! Cần chạy e2fsck. Sá»­a đổi hệ thống tin đó có thể gây trưá»ng hợp rất bị há»ng.Sá»­aCá» cần đảo ngược ?Cá»Cá» : %s Tìm thấy má»™t nút inode vá»›i số đếm liên kết sai. Tốt nhất hãy chạy e2fsck trước.Chá»— trốngGNU Parted không thay đổi được kích thước cá»§a phân vùng này thành kích thước chỉ ra. Chúng tôi Ä‘ang thá»±c hiện việc đó!GNU Parted tìm thấy má»™t thư viện libreiserfs không hợp lệ.GNU Parted phát hiện được phiên bản giao diện libreiserfs không tương ứng. Tìm %d-%d, cần %d. Vì thế phải tắt há»— trợ ReiserFS.GNU Parted bị biên dịch sai: rãnh ghi khởi động FAT nên là 512 byte. Vì thế tắt há»— trợ FAT.Trợ giúp chung vá» sá»­ dụng phần má»m GNU: IDE giống loàiBo mạch lưu trữ SD/MMC giống loàiBá»™ Ä‘iá»u khiển I2Oá»” đĩa DASD S390 IBMDASD Ảo iSeries IBMNếu chuyển thành FAT16, và cài đặt MS Windows trên phân vùng này, thì sẽ phải cài đặt lại trình khởi động cá»§a MS Windows. Nếu muốn thá»±c hiện, thì cần xem tài liệu ngưá»i dùng cá»§a Parted (hoặc tài liệu cá»§a nhà phân phối).Nếu chuyển thành FAT32, và cài đặt MS Windows trên phân vùng này, thì sẽ phải cài đặt lại trình khởi động cá»§a MS Windows. Nếu muốn thá»±c hiện, thì cần xem tài liệu ngưá»i dùng cá»§a Parted (hoặc tài liệu cá»§a nhà phân phối). Äồng thá»i, chuyển thành FAT32 sẽ khiến MS DOS, MS Windows 95a, và MS Windows NT không Ä‘á»c được chúng.Nếu để hệ thống tập tin là FAT16, thì sẽ không có vấn đỠgì.Nếu dể hệ thống là FAT32, thì sẽ không có vấn đỠmá»›i nào xảy ra.Bá» quaCác mô tả nhóm không đồng nhất !Gặp giá trị ma thuật sai trong phần đầu nhật ký.Báo hệ Ä‘iá»u hành biết vá» thay đổi trong bảng phân vùng. -d, --dry-run chạy thá»±c hành (không báo gì) -s, --summary in ra bản tóm tắt ná»™i dung -h, --help hiển thị trợ giúp này, sau đó thoát -v, --version xuất thông tin vá» phiên bản, sau đó thoát Thông tinVTOC không hợp lệ.Sai đặt tham chiếu ngượcSai đặt tên hạng ký tá»±Ký tá»± đối chiếu không hợp lệNá»™i dụng « \{\} » không hợp lệÄếm sai số các khối trống. Trước tiên hãy chạy câu lệnh kiểm tra « reiserfsck --check ».Con số không hợp lệ.Bảng phân vùng sai -- phiên bản đệ quy trên %s.Gặp bảng phân vùng sai trên %s -- chữ ký không đúng %x.Bảng phân vùng sai trên %s.Sai đặt biểu thức chính quy Ä‘i trướcSai kết thúc phạm viBiểu thức chính quy không hợp lệChữ ký sai %x đối vá»›i nhãn đĩa Mac.Gặp kích cỡ sai cá»§a khối giao dịch trong khi phát lại nhật ký (%i byte).Siêu khối sai. Bạn có chắc rằng đây là má»™t hệ thống tập tin loại ext2 không?Có vẻ là gặp lá»—i trong bá»™ bao bá»c HFS: tập tin khối xấu không chứa khối tin HFS+ nhúng.Hiệu hay kích cỡ cá»§a nhất ký không phải là bá»™i số cho kích cỡ rãnh ghi.Kích cỡ nhật ký không tương ứng giữa khối thông tin nhật ký và phần đầu nhật ký.Nhật ký nằm ngoài khối tin thì không được há»— trợ. Hãy thá»­ tắt nhật ký, sau đó chạy lại Parted.KIỂU_NHÃN là má»™t trong số : Bá»™ ánh xạ thiết bị Linux (%s)Kích cỡ tối Ä‘a: Lá»—i cấp phát bá»™ nhá»›Cạn bá»™ nhá»›Kích cỡ tối thiểu : Phụ : %d Mô hình: %s (%s) TÊN là bất kỳ từ gì theo ý muốn Sá» là số thứ tá»± phân vùng sá»­ dụng bởi Linux. Trên nhãn đĩa MS-DOS, các phân vùng chính có số từ 1 đến 4, và phân vùng hợp lý từ 5 trở Ä‘i. TênThiết bị má»›i ?Kiểu nhãn đĩa má»›i ?Tình trạng má»›i ?KhôngKhông thi hànhKhông tìm thấy thiết bịKhông tìm thấyKhông có biểu thức chính quy Ä‘i trướckhông có chá»— trống cho thông tin vá» phiên bản.Không còn chá»— trống cho nhãn khối tin.Không tìm thấy chữ ký HFS[+X] đúng trong khi mở.Không tìm thấy sÆ¡ đồ phân vùng hợp lệ.Không phải toàn bá»™ sức chứa sẵn sàng cho %s hình như được sá»­ dụng. Ngưá»i dùng có thể sá»­a GPT để sá»­ dụng toàn bá»™ sức chứa (%llu khối bổ sung) hoặc tiếp tục vá»›i thiết lập hiện thá»i.Không đủ inode còn rảnh !SốOKTÙY CHỌN:Chỉ phân vùng hợp lý có thể là má»™t tập tin khởi động.Chỉ phân vùng chính có thể là phân vùng gốc.Chỉ phân vùng chính có thể là phân vùng trao đổi.Không đủ bá»™ nhá»›.KIỂU_PHẦN là má»™t trong số : • primary chính • logical hợp lý • extended mở rá»™ng Äóng gói bởi %s Äóng gói bởi %s (%s) Parted không thể thay đổi kích cỡ cá»§a phân vùng bị Windows Dynamic Disk quản lý.Parted không dùng được hệ thống tập tin HFS trên đĩa có kích cỡ rãnh ghi khác %d byte.Phân vùng %d có chiá»u dài sai 0 byte !Phân vùng %d có má»™t chữ ký sai %x.Phân vùng %d là %s, nhưng hệ thống tập tin là %s.Phân vùng %d không sắp hàng vá»›i biên trụ. Trưá»ng hợp này vẫn còn không được há»— trợ.Phân vùng %s Ä‘ang được dùng. Ngưá»i dùng cần bá» gắn nó trước khi sá»­a đổi bằng Parted.Bảng Phân Vùng: %s Phân vùng không tồn tại.SÆ¡ đồ phân vùng không có mục nhập sÆ¡ đồ phân vùng !Tên phân vùng ?Số thứ tá»± phân vùng ?Phân vùng quá lá»›n/nhỠđối vá»›i hệ thống tập tin %s.Kiểu phân vùng ?Phân vùng trên %s Ä‘ang được dùng.Kết thúc sá»›m biểu thức chính quyThiết bị SATA SX8 PromiseBiểu thức chính quy quá lá»›nCó vẻ là cây reiserfs bị há»ng. Trước tiên hãy chạy câu lệnh kiểm tra « reiserfsck --check ».Thông báo lá»—i %s nào cho: %s Lá»—i thay đổi kích cỡ cá»§a khối tin HFS+.Thá»­ lạiÄẦU và CUá»I là vị trí trên đĩa, v.d. 4GB hay 10%. Giá trị âm đếm từ cuối đĩa. Ví dụ, « -1s » chỉ ra chính xác rãnh ghi cuối cùng. TÃŒNH_TRẠNG là má»™t trong số: • on bật • off tắt Kích cỡ rãnh ghi (hợp lý/vật lý): %lldB/%lldB Kích cỡCỡ : Má»™t số trưá»ng phần đầu không phải là bá»™i số cho kích cỡ rãnh ghi.Tiếc là chưa có thể thay đổi kích cỡ HFS bằng cách đó.Tiếc là chưa có thể thay đổi kích cỡ HFS bằng cách đó.Tiếc là chưa có thể di chuyển đầu cá»§a phân vùng ext2 !Tiếc là chưa có thể di chuyển đầu cá»§a phân vùng reiserfs.Thiết bị nguồn ?Số thứ tá»± phân vùng nguồn ?ÄầuÄầu ?Thành côngNhán đĩa Sun đầy.Chưa thá»±c hiện há»— trợ thêm phân vùng vào nhãn đĩa AIX.Chưa thá»±c hiện há»— trợ kiểm tra hệ thống tập tin %s.Chưa thá»±c hiện há»— trợ sao chép hệ thống tập tin %s.Chưa thá»±c hiện há»— trợ tạo hệ thống tập tin %s.Chưa thá»±c hiện há»— trợ nhân đôi phân vùng trong nhãn đĩa AIX.Chưa thá»±c hiện há»— trợ mở hệ thống tập tin %s.Chưa thá»±c hiện há»— trợ Ä‘á»c nhãn đĩa AIX.Chưa thá»±c hiện há»— trợ thay đổi kích cỡ hệ thống tập tin %s.Chưa thá»±c hiện há»— trợ đặt cá» trong nhãn đĩa AIX.Chưa thá»±c hiện há»— trợ đặt loại hệ thống cá»§a phân vùng trong nhãn đĩa AIX.Chưa thá»±c hiện há»— trợ ghi nhãn đĩa AIX.Gặp lá»—i cú pháp trong tập tin cấu hìnhCác FAT không tương ứng. Nếu không biết ý nghÄ©a cá»§a nó, thì hãy chá»n cancel (Thôi), chạy scandisk trên hệ thống tập tin, sau đó quay lại.Phân vùng Toàn bá»™ ÄÄ©a (Whole Disk) là phân vùng sẵn sàng còn lại duy nhất. Nói chung, không nên ghi chèn phân vùng này bằng má»™t phân vùng thá»±c sá»±. Solaris có thể sẽ không khởi động khi không có nó, và SILO (trình khởi động sparc) cÅ©ng cần phân vùng này.Bảng GPT sao lưu bị há»ng, nhưng bảng chính hình như vẫn tốt, vì thế sẽ sá»­ dụng bảng chính.Bảng GPT sao lưu không nằm tại cuối đĩa như yêu cầu. Có nghÄ©a là hệ Ä‘iá»u hành khác sẽ thấy đĩa nhá» hÆ¡n thông thưá»ng. Sá»­a bằng cách di chuyển sao lưu tá»›i cuối (và xóa bá» sao lưu cÅ©)?Vùng khởi động không bắt đầu ở đầu cá»§a phân vùng.Phiên bản API hiện thá»i « %d » không tương ứng vá»›i phiên bản API trình Ä‘iá»u khiển DASD « %d » !Vùng dữ liệu không bắt đầu ở đầu cá»§a phân vùng.Thiết bị %s có chiá»u dài số không, và không thể cất giữ má»™t hệ thống tập tin hay bảng phiên bản. Có thể bạn đã chá»n nhầm thiết bị.Cấu trúc hình há»c CHS cá»§a đĩa (%d,%d,%d) được hệ Ä‘iá»u hành thông báo không tương ứng cấu trúc chứa trong nhãn đĩa (%d,%d,%d).ÄÄ©a có %d trụ, mà lá»›n hÆ¡n số tối Ä‘a 65536.Nhãn đĩa mô tả má»™t đĩa lá»›n hÆ¡n %s.Mô tả cá»§a trình Ä‘iá»u khiển cho biết kích thước khối là %d byte, nhưng Linux nói nó %d byte.Nhãn đĩa đã tồn tại trên %s sẽ bị há»§y và tắt cả các dữ liệu trên đĩa này sẽ bị mất hoàn toàn. Bạn vẫn còn muốn tiếp tục không?Hệ thống tập tin đã tồn tại sẽ bị há»§y và tắt cả các dữ liệu trên phân vùng sẽ bị mất hoàn toàn. Bạn vẫn còn muốn tiếp tục không?Hệ thống tập tin ext2 đã qua kiểm tra cÆ¡ bản. Äể kiểm tra kỹ hÆ¡n, hãy dùng chương trình e2fsck.Tập tin trản tầm không nên chứa các tầm cá»§a mình. Cần kiểm tra hệ thống tập tin.Tập tin %s có dấu hiệu cá»§a tập tin hệ thống. Có nghÄ©a di chuyển tập tin này có thể khiến má»™t số chương trình dừng làm việc.Chỉ thay đổi được kích thước cá»§a hệ thống tập tin thành kích thước này khi chuyển thành FAT16.Chỉ thay đổi được kích thước cá»§a hệ thống tập tin thành kích thước này khi chuyển thành FAT32.Hệ thống tập tin chứa lá»—i.Hệ thống tập tin có tính năng « dir_index » bật dùng. Parted chỉ có thể thay đổi kích thước cá»§a hệ thống tập tin nếu tắt bá» tính năng này. Có thể bật dùng lại tính năng sau này bằng « tune2fs -O dir_index THIẾT_BỊ » và sau đó « e2fsck -fD THIẾT_BỊ ».Hệ thống tập tin lá»›n hÆ¡n khối tin !Hệ thống tập tin có tình trạng không hợp lệ. Có thể là nó bị gắn ?Hệ thống tập tin theo má»™t định dạng cÅ© (không thể thay đổi kích cỡ).Cấu trúc hình há»c CHS cá»§a hệ thống tập tin là (%d, %d, %d) mà sai. Cấu trúc hình há»c CHS cá»§a bảng phân vùng là (%d, %d, %d). Nếu ngưá»i dùng chá»n « Bá» qua » thì không thay đổi cấu trúc hình há»c CHS cá»§a hệ thống tập tin. Chá»n « Sá»­a » thì cấu trúc hình há»c CHS cá»§a hệ thống tập tin được đặt để tương ứng vá»›i cấu trúc hình há»c CHS cá»§a bảng phân vùng.Äịnh dạng cá»§a bảng phân vùng GPT có phiên bản %x, má»›i hÆ¡n so vá»›i phiên bản Parted có thể nhận ra. Xin hãy cho chúng tôi biết! Rãnh ghi thông tin có chữ ký sai (%x). Hãy chá»n « Thôi », và gá»­i má»™t báo cáo lá»—i. Nếu liá»u lÄ©nh, thì có thể lá» Ä‘i.Nhật ký không trống. Parted phải phát lại các giao dịch trước khi mở hệ thống tập tin. Tiến trình này sẽ sá»­a đổi hệ thống tập tin.Vị trí %s nằm ngoài thiết bị %s.Giá trị đầu tối Ä‘a là %d.Giá trị rãnh ghi tối Ä‘a là %d.Phân vùng phải có má»™t cá»§a những kiểu hệ thống tập tin (KIỂU_HTTT) theo đây: Không Ä‘á»c lại được bảng phân vùng, vì thế, cần khởi động lại trước khi gắn bất ký phân vùng đã sá»­a đổi nào. Ngưá»i dùng cÅ©ng cần cài đặt lại trình khởi động cá»§a mình trước khi khởi động lại (thao tác này có thể yêu cầu gắn phân vùng đã sá»­a đổi). Không thể thá»±c hiện cả hai thao tác ! Vì thế ngưá»i dùng sẽ cần khởi động bẳng đĩa dá»± phòng, và cài đặt lại trình khởi động từ đó. Hãy Ä‘á»c phần 4 cá»§a tài liệu hướng dẫn Ngưá»i dùng Parted để biết thêm chi tiết.Bảng phân vùng trên %s không Ä‘á»c lại được (%s). Có nghÄ©a là Hurd không biết gì vá» những thay đổi đã tạo ra. Ngưá»i dùng cần khởi động lại máy tính trước khi thá»±c hiện bất kỳ thao tác nào vá»›i %s.Vùng khởi động cá»§a phân vùng không chiếm toàn bá»™ phân vùng.Vùng dữ liệu cá»§a phân vùng không chiếm toàn bá»™ phân vùng.Bảng GPT chính bị há»ng, nhưng sao lưu hình như vẫn tốt, vì thế sẽ sá»­ dụng sao lưu.Hệ thống tập tin reiserfs đã qua kiểm tra cÆ¡ bản. Äể kiểm tra kỹ hÆ¡n, hãy chạy câu lệnh kiểm tra « reiserfsck --check ».Phân vùng kết quả chưa được sắp hàng cho hiệu suất tốt nhất.Kích cỡ rãnh ghi được cất giữ trong nhật ký không phải là 512 byte. Parted chỉ há»— trợ rãnh ghi có chiá»u dài 512 byte.Thiết bị đã ghi rõ không phải là má»™t thiết bị DASD hợp lệPhần đầu khối tin hoặc khối thư mục chá»§ bị thay đổi trong khi phát lại nhật ký. Cần khởi chạy lại Parted.Không có cấu hình có thể làm cho kiểu FAT này.Không đủ chá»— trống trong thư mục gốc để chứa tất cả các tập tin. Hoặc Thôi (cancel), hoặc Bá» qua (ignore) và sẽ mất các tập tin.Khối tin HFS không có tập tin phân loại. Rất lạ !Khối tin HFS không có tập tin tràn tầm. HÆ¡i lạ.Khối tin HFS+ không có tập tin phần loại. Rất lạ !Khối tin HFS+ không có tập tin tràn tầm. HÆ¡i lạ.Câu lệnh này không có ý nghÄ©a trong chế độ không tương tác. Hệ thống tập tin có kích thước rãnh ghi hợp lý là %d. GNU Parted không làm việc chính xác vá»›i kích thước rãnh ghi khác 512 byte.Äây không phải là má»™t kiểm tra %s thật. Tiến trình này sẽ tách các tập tin cấp thấp đặc biệt cho mục đích gỡ lá»—i.Äây không phải là má»™t đĩa ECKD ! Loại đĩa này không phải được há»— trợ !Thư viện libparted này không há»— trợ ghi vào %s. Có thể đã biên dịch nó chỉ Ä‘á»c.Quá nhiá»u trang xấu.Quá nhiá»u phân vùng chínhQuá nhiá»u phân vùng chính.Có dấu chéo ngược theo sauHãy thá»­ chạy câu lệnh trợ giúp « %s --help » để biết thêm thông tin. Äang cố di chuyển má»™t tầm từ khối Ox%X sang khối Ox%X, nhưng má»™t tầm khác đã có tại vị trí này. Trưá»ng hợp này không nên xảy ra.Äang thá»­ Ä‘á»c tập tin HFS vá»›i CNID %X đằng sau EOF.Äang thá»­ Ä‘á»c tập tin HFS+ vá»›i CNID %X đằng sau EOF.Äang cố đăng ký má»™t tầm bắt đầu tại khối 0x%X, nhưng má»™t tầm khác đã có tại vị trí này. Ngưá»i dùng cần kiểm tra hệ thống tập tin.Äang thá»­ ghi tập tin HFS vá»›i CNID %X đằng sau EOF.Äang thá»­ ghi tập tin HFS+ vá»›i CNID %X đằng sau EOF.KiểuÄÆ N_VỊ là má»™t trong số : Không thể cấp phát má»™t khe nhãn đĩa sai.Không thể cấp phát má»™t khe nhãn đĩa DASDKhông thể cấp phát má»™t số thứ tá»± phân vùng.Không nhận ra cấu trúc hình há»c cá»§a tập tin/thiết bị %s. Không được sá»­ dụng Parted trừ khi THá»°C Sá»° biết mình Ä‘ang làm gì!Không thể xác định kiểu dm cá»§a %s.Không thể quyết định kích cỡ cá»§a %s (%s).Không mở được %s Ä‘á»c-ghi (%s). %s đã được mở ở tình trạng chỉ Ä‘á»c.Không thể mở %s.Không thể thăm dò kho lưu trữ.Không thể thoả má»i ràng buá»™c trên phân vùng.ÄÆ¡n vị ?Không rõKhông nhận ra cỠđĩa, %d.Không rõ kiểu hệ thống tập tin « %s ».Không nhận ra cá» phân vùng, %d.Gặp lá»—i hệ thống không rõCó má»™t ký tá»± « ( » hay « \( » riêng lẻCó má»™t ký tá»± « ) » hay « \) » riêng lẻCó má»™t ký tá»± « [ » hay « [^ » riêng lẻCó má»™t ký tá»± « \{ » riêng lẻChữ ký trao đổi linux kiểu má»›i không nhận ra « %10s ».Chữ ký trao đổi linux kiểu cÅ© không nhận ra « %10s ».Chữ ký trao đổi linux swsusp không nhận ra « %9s ».Äịnh dạng đĩa không được há»— trợLoại đĩa không được há»— trợLá»—i cập nhật bá»™ bao bá»c HFS.Sá»­ dụng: %s [-hlmsv] [-a] [THIẾT_BỊ [LỆNH [THAM_Sá»]]...] Sá»­ dụng: %s [TÙY_CHỌN] hoặc: %s THIẾT_BỊ PHỤ Sá»­ dụng: %s [TÙY_CHỌN] [THIẾT_BỊ]... Sá»­ dụng: parted [TÙY_CHỌN]... [THIẾT_BỊ [LỆNH [THAM_Sá»]...]...] Ãp dụng các câu LỆNH vá»›i các THAM_Sá» tá»›i THIẾT_BỊ. Nếu không có câu LỆNH nào chạy trong chế độ há»i đáp. UBD Linux Chế độ Ngưá»i dùngDùng %s Äối số hợp lệ:Phiên bản %d cá»§a HFS+ vẫn không được há»— trợ.Phiên bản %d cá»§a HFSX vẫn không được há»— trợ.Thiết bị khối VirtioNhãn khối tin bị há»ngCẢNH BÃO : bạn không phải là siêu ngưá»i dùng nên bạn không thể thay đổi các quyá»n truy cập.CẢNH BÃO : bạn Ä‘ang thá»­ sá»­ dụng %s để thao tác má»™t hệ thống tập tin (%s). Mã nguồn thao tác hệ thống tập tin cá»§a %s không phải cùng mạnh vá»›i gói dành cho hệ thống tập tin như e2fsprogs. Khuyên bạn chỉ sá»­ dụng %s để thao tác bảng phân vùng, khi nào có thể. HÆ¡n nữa, má»™t phiên bản sau cá»§a gói này sẽ gỡ bá» khả năng há»— trợ thao tác đối vá»›i gần tất cả các kiểu hệ thống tập tin. Cảnh báoKích thước khối kỳ lạ trên mô tả thiết bị: %d byte không chia hết cho 512.Kỳ lạ - có hai mục sÆ¡ đồ phân vùng !Chào mừng bạn đến vá»›i GNU Parted ! Hãy gõ « help » để xem danh sách các câu lệnh. Khi không có đối số, « print » hiển thị toàn bá»™ bảng phân vùng. Nếu đưa ra các đối số theo sau, thì nó làm má»™t số hành vi khác. Bạn có muốn dùng FAT32 ?Viết bởi %s và %s. Viết bởi %s, %s, %s,. %s, %s, %s, %s. %s, %s, và những ngưá»i khác. Viết bởi %s, %s, %s,. %s, %s, %s, %s. %s, và %s. Viết bởi %s, %s, %s,. %s, %s, %s, %s. và %s. Viết bởi %s, %s, %s,. %s, %s, %s, và %s. Viết bởi %s, %s, %s,. %s, %s, và %s. Viết bởi %s, %s, %s,. %s, và %s. Viết bởi %s, %s, %s,. và %s. Viết bởi %s, %s và %s. Viết bởi %s. Thiết bị Khối Ảo XenCóCó thể cần cập nhật tập tin « /etc/fstab ». Ngưá»i dùng cần %s không gian trống để rút ngắn phân vùng tá»›i kích thước này (hiện thá»i chỉ có %s trống).Ngưá»i dùng đã yêu cầu tạo má»™t phân vùng từ %s đến %s. Vùng gần nhất có thể quản lý là %s đến %s.%sCần cài đặt lại trình khởi động trước khi khởi động lại. Hãy Ä‘á»c phần 4 cá»§a tài liệu hướng dẫn Ngưá»i dùng Parted để biết thêm chi tiết.Hệ thống tập tin có quá nhiá»u nút inode bận để thay đổi kích thước thành %i khối. Rất tiếc.Hệ thống tập tin quá đầy để thay đổi kích thước thành %i khối. Rất tiếc.^[kKnN]^[cCyY]« Ä‘ang thêm nhómalign-checkalign-check KIỂU Sá» kiểm tra phân vùng Sá» có sắp hàng KIỂU (min|opt)sắp hàng các phân vùng má»›icách sắp hàng (tiểu/quang)gặp đối số vẫn mÆ¡ hồ %s cho %satvrecvbios_grubkhởi độngkiểmcheck Sá» thá»±c hiện má»™t kiểm tra đơn giản trên hệ thống tập tinÄ‘ang kiểm traÄ‘ang kiểm tra tìm khối há»ngÄ‘ang sao chépchépcp [TỪ THIẾT BỊ] TỪ_Sá» ÄẾN_Sá» sao chép hệ thống tập tin tá»›i phân vùng khácÄ‘ang tạocylinder_alignmentsắp hàng đã muốn: tối thiểu hay quanghiển thị kết xuất cho máy phân tích đượchiển thị phiên bảnhiển thị trợ giúp nàygặp kết thúc tập tin trong khi Ä‘á»c %sÄ‘ang giãn ramở rá»™nglá»—i đặt tên phân vùng DVH thành %s: Chỉ phân vùng lôgíc (tập tin khởi động) có má»™t tên.fat_table_alloc_cluster: không còn chùm trốngfat_table_get: cluster %ld ngoài hệ thống tập tinfat_table_set: chùm %ld ngoài hệ thống tập tintrốngÄ‘ang má»c hê thống tập tintrợ giúphelp [LỆNH] in trợ giúp chung, hoặc trợ giúp trên câu LỆNHẩndịch vụ HPđối số %s%s không hợp lệ « %s »sai đặt đối số %s cho %ssai số nhá» cá»§a thiết bị: %sgặp hậu tố không hợp lệ trong đối số %s%s « %s »hiệu bài sai: %slá»—i ioctl()lbaliệt kê bố trí phân vùng trên má»i thiết bị khốihợp lýlvmcạn bá»™ nhá»›siêu dữ liệutối thiểutạo hệ thống tập tinmkfs Sá» KIỂU tạo má»™t hệ thống tập tin KIỂU này trên phân vùng Sá» thứ tá»± nàytạo nhãnmklabel,mktable KIỂU_NHÃN tạo má»™t nhãn đĩa má»›i (bảng phân vùng)tạo phân vùngmkpart KIỂU_PV [KIỂU_HTTT] ÄẦU CUá»I tạo má»™t phân vùngtạo phân vùng có hệ thống tập tinmkpartfs KIỂU_PV KIỂU_HTTT ÄẦU CUá»I tạo má»™t phân vùng vá»›i má»™t hệ thống tập tintạo bảngdá»imove Sá» ÄẦU CUá»I di chuyển phân vùng Sá»msftrestênname Sá» TÊN đặt tên phân vùng Sá» là TÊNkhông bao giá» nhắc ngưá»i dùng làm gìtắtbậtlá»—i mởlá»—i mở thiết bịtối ưupaloParted không Ä‘á»c lại được bảng phân vùng trên %s (%s). Có nghÄ©a là Linux sẽ không biết vá» những thay đổi đã tạo ra.chiá»u dài phân vùng %1$jd vượt quá chiá»u dài tối Ä‘a %3$jd bị bảng phân vùng %2$s ép buá»™cped_device_new() Kiểu thiết bị không được há»— trợchuẩn bịchínhsai khá»›p CRC mảng bảng phân vùng chínhinprint [devices|free|list,all|Sá»] hiển thị phân vùng và: • devices các thiết bị sẵn sàng • free sức chứa còn trống • list,all tất cả các phân vùng đã tìm • Sá» má»™t phân vùng nào đóthoátquit thoát khá»i chương trìnhraidÄ‘ang sao chép khối thôlá»—i Ä‘á»clá»—i Ä‘á»c từ thiết bịcứurescue ÄẦU CUá»I phục hồi má»™t phân vùng đã mất cạnh ÄẦU và CUá»Iđổi cỡresize Sá» ÄẦU CUá»I thay đổi kích cỡ cá»§a phân vùng số và hệ thống tập tin cá»§a nóbá»rm Sá» xóa bá» phân vùng Sá»gốcÄ‘ang tìm kiếm hệ thống tập tinlá»—i tìm nÆ¡ilá»—i tìm nÆ¡i trên thiết bịchá»nselect THIẾT_BỊ chá»n thiết bị cần sá»­ađặtset Sá» CỜ TÃŒNH_TRẠNG thay đổi CỜ trên phân vùng Sá»Ä‘ang co lạiÄ‘ang rút ngắn bá»™ bao bá»c HFSÄ‘ang rút ngắn khối tin HFS+bắt đầu ở số thứ tá»± rãnh ghi, %1$jd vượt quá chiá»u dài tối Ä‘a %3$jd bị bảng phân vùng %2$s ép buá»™ctrao đổibật/tắttoggle [Sá» [CỜ]] bật/tắt tình trạng cá»§a CỜ trên phân vùng Sá»quá ít đối sốquá nhiá»u đối sốđơn vịunit ÄÆ N_VỊ đặt đơn vị mặc địnhphiên bảnversion hiển thị số thứ tá»± phiên bản và thông tin tác quyá»n vá» GNU Partedlá»—i ghi nhớđang ghi Khối Thư mục Chá»§ HFSÄ‘ang ghi Phần đầu Khối tin HFS+Ä‘ang ghi siêu dữ liệu từng nhómlá»—i ghi vào thiết bịparted-2.3/po/vi.po0000644000000000000000000034072211400005705011120 00000000000000# Vietnamese translation for Parted. # Copyright © 2010 Free Software Foundation, Inc. # This file is distributed under the same license as the parted package. # Trần Thị Hoàng Quyá»n , 2005. # Clytie Siddall , 2009, 2010. # msgid "" msgstr "" "Project-Id-Version: parted 2.2\n" "Report-Msgid-Bugs-To: bug-parted@gnu.org\n" "POT-Creation-Date: 2010-05-28 20:30+0200\n" "PO-Revision-Date: 2010-03-06 19:41+0930\n" "Last-Translator: Clytie Siddall \n" "Language-Team: Vietnamese \n" "Language: vi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: LocFactoryEditor 1.8\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "sai đặt đối số %s cho %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "gặp đối số vẫn mÆ¡ hồ %s cho %s" #: lib/argmatch.c:153 #, c-format msgid "Valid arguments are:" msgstr "Äối số hợp lệ:" #: lib/closeout.c:112 libparted/labels/fdasd.c:107 msgid "write error" msgstr "lá»—i ghi nhá»›" #: lib/error.c:181 msgid "Unknown system error" msgstr "Gặp lá»—i hệ thống không rõ" #: lib/getopt.c:527 lib/getopt.c:543 #, c-format msgid "%s: option '%s' is ambiguous\n" msgstr "%s: tùy chá»n « %s » vẫn mÆ¡ hồ\n" #: lib/getopt.c:576 lib/getopt.c:580 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: tùy chá»n « --%s » không cho phép đối số\n" #: lib/getopt.c:589 lib/getopt.c:594 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: tùy chá»n « %c%s » không cho phép đối số\n" #: lib/getopt.c:637 lib/getopt.c:656 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: tùy chá»n « %s » yêu cầu má»™t đối số\n" #: lib/getopt.c:694 lib/getopt.c:697 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: không nhận ra tùy chá»n « --%s »\n" #: lib/getopt.c:705 lib/getopt.c:708 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: không nhận ra tùy chá»n « %c%s »\n" #: lib/getopt.c:757 lib/getopt.c:760 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: tùy chá»n không hợp lệ -- « %c »\n" #: lib/getopt.c:810 lib/getopt.c:827 lib/getopt.c:1035 lib/getopt.c:1053 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: tùy chá»n yêu cầu má»™t đối số -- « %c »\n" #: lib/getopt.c:883 lib/getopt.c:899 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: tùy chá»n « -W %s » vẫn mÆ¡ hồ\n" #: lib/getopt.c:923 lib/getopt.c:941 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: tùy chá»n « -W %s » không cho phép đối số\n" #: lib/getopt.c:962 lib/getopt.c:980 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: tùy chá»n « %s » yêu cầu má»™t đối số\n" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". If the catalog has no translation, #. locale_quoting_style quotes `like this', and #. clocale_quoting_style quotes "like this". #. #. For example, an American English Unicode locale should #. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and #. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION #. MARK). A British English Unicode locale should instead #. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) #. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. #. #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. #: lib/quotearg.c:272 msgid "`" msgstr "« " #: lib/quotearg.c:273 msgid "'" msgstr " »" #: lib/regcomp.c:134 msgid "Success" msgstr "Thành công" #: lib/regcomp.c:137 msgid "No match" msgstr "Không tìm thấy" #: lib/regcomp.c:140 msgid "Invalid regular expression" msgstr "Biểu thức chính quy không hợp lệ" #: lib/regcomp.c:143 msgid "Invalid collation character" msgstr "Ký tá»± đối chiếu không hợp lệ" #: lib/regcomp.c:146 msgid "Invalid character class name" msgstr "Sai đặt tên hạng ký tá»±" #: lib/regcomp.c:149 msgid "Trailing backslash" msgstr "Có dấu chéo ngược theo sau" #: lib/regcomp.c:152 msgid "Invalid back reference" msgstr "Sai đặt tham chiếu ngược" #: lib/regcomp.c:155 msgid "Unmatched [ or [^" msgstr "Có má»™t ký tá»± « [ » hay « [^ » riêng lẻ" #: lib/regcomp.c:158 msgid "Unmatched ( or \\(" msgstr "Có má»™t ký tá»± « ( » hay « \\( » riêng lẻ" #: lib/regcomp.c:161 msgid "Unmatched \\{" msgstr "Có má»™t ký tá»± « \\{ » riêng lẻ" #: lib/regcomp.c:164 msgid "Invalid content of \\{\\}" msgstr "Ná»™i dụng « \\{\\} » không hợp lệ" #: lib/regcomp.c:167 msgid "Invalid range end" msgstr "Sai kết thúc phạm vi" #: lib/regcomp.c:170 msgid "Memory exhausted" msgstr "Cạn bá»™ nhá»›" #: lib/regcomp.c:173 msgid "Invalid preceding regular expression" msgstr "Sai đặt biểu thức chính quy Ä‘i trước" #: lib/regcomp.c:176 msgid "Premature end of regular expression" msgstr "Kết thúc sá»›m biểu thức chính quy" #: lib/regcomp.c:179 msgid "Regular expression too big" msgstr "Biểu thức chính quy quá lá»›n" #: lib/regcomp.c:182 msgid "Unmatched ) or \\)" msgstr "Có má»™t ký tá»± « ) » hay « \\) » riêng lẻ" #: lib/regcomp.c:703 msgid "No previous regular expression" msgstr "Không có biểu thức chính quy Ä‘i trước" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[cCyY]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[kKnN]" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Äóng gói bởi %s (%s)\n" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Äóng gói bởi %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "©" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "Giấy phép GPL pb3+ : Giấy phép Công cá»™ng GNU phiên bản 3 hay sau\n" "\n" "Äây là phần má»m tá»± do : bạn có quyá»n sá»­a đổi và phát hành lại nó.\n" "KHÔNG CÓ BẢO HÀNH GÃŒ CẢ, vá»›i Ä‘iá»u khiển được pháp luật cho phép.\n" "\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Viết bởi %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Viết bởi %s và %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Viết bởi %s, %s và %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "Viết bởi %s, %s, %s,.\n" "và %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Viết bởi %s, %s, %s,.\n" "%s, và %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Viết bởi %s, %s, %s,.\n" "%s, %s, và %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Viết bởi %s, %s, %s,.\n" "%s, %s, %s, và %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Viết bởi %s, %s, %s,.\n" "%s, %s, %s, %s.\n" "và %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Viết bởi %s, %s, %s,.\n" "%s, %s, %s, %s.\n" "%s, và %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Viết bởi %s, %s, %s,.\n" "%s, %s, %s, %s.\n" "%s, %s, và những ngưá»i khác.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Gá»­i báo cáo lá»—i tá»›i: <%s>\n" "Gá»­i báo cáo lá»—i dịch tá»›i Clytie: \n" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "Thông báo lá»—i %s nào cho: %s\n" #: lib/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "Trang chá»§ %s: <%s>\n" #: lib/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "Trang chá»§ %s: \n" #: lib/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" "Trợ giúp chung vá» sá»­ dụng phần má»m GNU: \n" #: lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "cạn bá»™ nhá»›" #: lib/xstrtol-error.c:63 #, c-format msgid "invalid %s%s argument `%s'" msgstr "đối số %s%s không hợp lệ « %s »" #: lib/xstrtol-error.c:68 #, c-format msgid "invalid suffix in %s%s argument `%s'" msgstr "gặp hậu tố không hợp lệ trong đối số %s%s « %s »" #: lib/xstrtol-error.c:72 #, c-format msgid "%s%s argument `%s' too large" msgstr "đối số %s%s « %s » quá lá»›n" #: libparted/arch/beos.c:245 msgid "Disk Image" msgstr "Ảnh ÄÄ©a" #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277 #: libparted/arch/linux.c:1519 #, c-format msgid "Error opening %s: %s" msgstr "Lá»—i mở %s: %s" #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287 #: libparted/arch/linux.c:1530 #, c-format msgid "Unable to open %s read-write (%s). %s has been opened read-only." msgstr "Không mở được %s Ä‘á»c-ghi (%s). %s đã được mở ở tình trạng chỉ Ä‘á»c." #: libparted/arch/beos.c:419 libparted/arch/linux.c:1688 #, c-format msgid "%s during seek for read on %s" msgstr "%s trong khi tìm nÆ¡i để Ä‘á»c trên %s" #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564 #: libparted/arch/gnu.c:692 libparted/arch/linux.c:1648 #: libparted/arch/linux.c:1729 #, c-format msgid "%s during read on %s" msgstr "%s trong khi Ä‘á»c trên %s" #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525 #: libparted/arch/linux.c:1805 #, c-format msgid "Can't write to %s, because it is opened read-only." msgstr "Không thể ghi nhá»› vào %s, vì nó đã được mở ở tình trạng chỉ Ä‘á»c." #: libparted/arch/beos.c:504 libparted/arch/linux.c:1830 #, c-format msgid "%s during seek for write on %s" msgstr "%s trong khi tìm nÆ¡i để ghi trên %s" #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646 #: libparted/arch/gnu.c:723 libparted/arch/linux.c:1778 #: libparted/arch/linux.c:1872 libparted/arch/linux.c:1944 #, c-format msgid "%s during write on %s" msgstr "%s trong khi ghi trên %s" #: debug/clearfat/clearfat.c:62 partprobe/partprobe.c:137 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Hãy thá»­ chạy câu lệnh trợ giúp « %s --help » để biết thêm thông tin.\n" #: debug/clearfat/clearfat.c:66 #, c-format msgid "" "Usage: %s [OPTION]\n" " or: %s DEVICE MINOR\n" msgstr "" "Sá»­ dụng: %s [TÙY_CHỌN]\n" " hoặc: %s THIẾT_BỊ PHỤ\n" #: debug/clearfat/clearfat.c:69 msgid "" "Clear unused space on a FAT partition (a GNU Parted testing tool).\n" "\n" msgstr "" "Xoá sạch sức chứa không dùng trên má»™t phân vùng FAT (má»™t công cụ thá»­ GNU " "Parted).\n" "\n" #: debug/clearfat/clearfat.c:73 msgid " --help display this help and exit\n" msgstr " --help hiển thị trợ giúp này rồi thoát\n" #: debug/clearfat/clearfat.c:74 msgid " --version output version information and exit\n" msgstr " --version đưa ra thông tin phiên bản rồi thoát\n" #: debug/clearfat/clearfat.c:76 partprobe/partprobe.c:154 #, c-format msgid "" "\n" "Report bugs to <%s>.\n" msgstr "" "\n" "Gá»­i báo cáo lá»—i tá»›i <%s>.\n" #: debug/clearfat/clearfat.c:284 #, c-format msgid "too few arguments" msgstr "quá ít đối số" #: debug/clearfat/clearfat.c:289 #, c-format msgid "too many arguments" msgstr "quá nhiá»u đối số" #: debug/clearfat/clearfat.c:297 #, c-format msgid "invalid minor device number: %s" msgstr "sai số nhá» cá»§a thiết bị: %s" #: partprobe/partprobe.c:141 #, c-format msgid "Usage: %s [OPTION] [DEVICE]...\n" msgstr "Sá»­ dụng: %s [TÙY_CHỌN] [THIẾT_BỊ]...\n" #: partprobe/partprobe.c:142 msgid "" "Inform the operating system about partition table changes.\n" "\n" " -d, --dry-run do not actually inform the operating system\n" " -s, --summary print a summary of contents\n" " -h, --help display this help and exit\n" " -v, --version output version information and exit\n" msgstr "" "Báo hệ Ä‘iá»u hành biết vá» thay đổi trong bảng phân vùng.\n" "\n" " -d, --dry-run chạy thá»±c hành (không báo gì)\n" " -s, --summary in ra bản tóm tắt ná»™i dung\n" " -h, --help hiển thị trợ giúp này, sau đó thoát\n" " -v, --version xuất thông tin vá» phiên bản, sau đó thoát\n" #: partprobe/partprobe.c:150 msgid "" "\n" "When no DEVICE is given, probe all partitions.\n" msgstr "" "\n" "Không đưa ra THIẾT_BỊ thì thăm dò má»i phiên bản.\n" #: libparted/arch/gnu.c:110 #, c-format msgid "Unable to open %s." msgstr "Không thể mở %s." #: libparted/arch/gnu.c:130 msgid "Unable to probe store." msgstr "Không thể thăm dò kho lưu trữ." #: libparted/arch/gnu.c:368 msgid "" "The partition table cannot be re-read. This means you need to reboot before " "mounting any modified partitions. You also need to reinstall your boot " "loader before you reboot (which may require mounting modified partitions). " "It is impossible do both things! So you'll need to boot off a rescue disk, " "and reinstall your boot loader from the rescue disk. Read section 4 of the " "Parted User documentation for more information." msgstr "" "Không Ä‘á»c lại được bảng phân vùng, vì thế, cần khởi động lại trước khi gắn " "bất ký phân vùng đã sá»­a đổi nào. Ngưá»i dùng cÅ©ng cần cài đặt lại trình khởi " "động cá»§a mình trước khi khởi động lại (thao tác này có thể yêu cầu gắn phân " "vùng đã sá»­a đổi). Không thể thá»±c hiện cả hai thao tác ! Vì thế ngưá»i dùng " "sẽ cần khởi động bẳng đĩa dá»± phòng, và cài đặt lại trình khởi động từ đó. " "Hãy Ä‘á»c phần 4 cá»§a tài liệu hướng dẫn Ngưá»i dùng Parted để biết thêm chi " "tiết." #: libparted/arch/gnu.c:385 #, c-format msgid "" "The partition table on %s cannot be re-read (%s). This means the Hurd knows " "nothing about any modifications you made. You should reboot your computer " "before doing anything with %s." msgstr "" "Bảng phân vùng trên %s không Ä‘á»c lại được (%s). Có nghÄ©a là Hurd không biết " "gì vá» những thay đổi đã tạo ra. Ngưá»i dùng cần khởi động lại máy tính trước " "khi thá»±c hiện bất kỳ thao tác nào vá»›i %s." #: libparted/arch/gnu.c:396 parted/parted.c:2719 msgid "" "You should reinstall your boot loader before rebooting. Read section 4 of " "the Parted User documentation for more information." msgstr "" "Cần cài đặt lại trình khởi động trước khi khởi động lại. Hãy Ä‘á»c phần 4 cá»§a " "tài liệu hướng dẫn Ngưá»i dùng Parted để biết thêm chi tiết." #: libparted/arch/gnu.c:788 #, c-format msgid "%s trying to sync %s to disk" msgstr "%s Ä‘ang thá»­ đồng bá»™ hoá %s vá»›i đĩa" #: libparted/arch/linux.c:509 #, c-format msgid "Could not stat device %s - %s." msgstr "Không thể lấy trạng thái vá» thiết bị %s — %s" #: libparted/arch/linux.c:566 #, c-format msgid "Unable to determine the dm type of %s." msgstr "Không thể xác định kiểu dm cá»§a %s." #: libparted/arch/linux.c:658 #, c-format msgid "" "Could not determine sector size for %s: %s.\n" "Using the default sector size (%lld)." msgstr "" "Không thể quyết định kích cỡ rãnh ghi đối vá»›i %s: %s\n" "nên dùng kích cỡ rãnh ghi mặc định (%lld)." #: libparted/arch/linux.c:679 #, c-format msgid "" "Could not determine physical sector size for %s.\n" "Using the logical sector size (%lld)." msgstr "" "Không thể quyết định kích cỡ rãnh ghi vật lý đối vá»›i %s\n" "nên dùng kích cỡ rãnh ghi hợp lý (%lld)." #: libparted/arch/linux.c:728 #, c-format msgid "Unable to determine the size of %s (%s)." msgstr "Không thể quyết định kích cỡ cá»§a %s (%s)." #: libparted/arch/linux.c:814 #, c-format msgid "Could not get identity of device %s - %s" msgstr "Không thể nhận diện thiết bị %s — %s" #: libparted/arch/linux.c:823 msgid "Generic IDE" msgstr "IDE giống loài" #: libparted/arch/linux.c:844 #, c-format msgid "" "Device %s has multiple (%d) logical sectors per physical sector.\n" "GNU Parted supports this EXPERIMENTALLY for some special disk label/file " "system combinations, e.g. GPT and ext2/3.\n" "Please consult the web site for up-to-date information." msgstr "" "Thiết bị %s có nhiá»u (%d) rãnh ghi hợp lý trên má»—i rãnh ghi vật lý.\n" "Chương trình GNU Parted há»— trợ trưá»ng hợp này má»™t cách VẪN THá»°C NGHIỆM\n" "đối vá»›i má»™t số tổ hợp nhãn đĩa/hệ thống tập tin, v.d. GPT và ext2/3.\n" "Hãy thăm trang chá»§ Web để tìm thông tin đã cập nhật." #: libparted/arch/linux.c:1019 #, c-format msgid "Error initialising SCSI device %s - %s" msgstr "Gặp lá»—i khi sÆ¡ khởi thiết bị SCSI %s — %s" #: libparted/arch/linux.c:1083 #, c-format msgid "" "The device %s has zero length, and can't possibly store a file system or " "partition table. Perhaps you selected the wrong device?" msgstr "" "Thiết bị %s có chiá»u dài số không, và không thể cất giữ má»™t hệ thống tập tin " "hay bảng phiên bản. Có thể bạn đã chá»n nhầm thiết bị." #: libparted/arch/linux.c:1190 #, c-format msgid "" "Unable to determine geometry of file/device %s. You should not use Parted " "unless you REALLY know what you're doing!" msgstr "" "Không nhận ra cấu trúc hình há»c cá»§a tập tin/thiết bị %s. Không được sá»­ dụng " "Parted trừ khi THá»°C Sá»° biết mình Ä‘ang làm gì!" #: libparted/arch/linux.c:1250 msgid "Generic SD/MMC Storage Card" msgstr "Bo mạch lưu trữ SD/MMC giống loài" #: libparted/arch/linux.c:1303 msgid "DAC960 RAID controller" msgstr "Bá»™ Ä‘iá»u khiển RAID DAC960" #: libparted/arch/linux.c:1308 msgid "Promise SX8 SATA Device" msgstr "Thiết bị SATA SX8 Promise" #: libparted/arch/linux.c:1313 msgid "ATA over Ethernet Device" msgstr "" #: libparted/arch/linux.c:1319 msgid "IBM S390 DASD drive" msgstr "á»” đĩa DASD S390 IBM" #: libparted/arch/linux.c:1325 msgid "IBM iSeries Virtual DASD" msgstr "DASD Ảo iSeries IBM" #: libparted/arch/linux.c:1330 msgid "Compaq Smart Array" msgstr "Mảng Khéo Compaq" #: libparted/arch/linux.c:1335 msgid "ATARAID Controller" msgstr "Bá»™ Ä‘iá»u khiển ATARAID" #: libparted/arch/linux.c:1340 msgid "I2O Controller" msgstr "Bá»™ Ä‘iá»u khiển I2O" #: libparted/arch/linux.c:1345 msgid "User-Mode Linux UBD" msgstr "UBD Linux Chế độ Ngưá»i dùng" #: libparted/arch/linux.c:1358 #, c-format msgid "Linux device-mapper (%s)" msgstr "Bá»™ ánh xạ thiết bị Linux (%s)" #: libparted/arch/linux.c:1369 msgid "Xen Virtual Block Device" msgstr "Thiết bị Khối Ảo Xen" #: libparted/arch/linux.c:1374 msgid "Unknown" msgstr "Không rõ" #: libparted/arch/linux.c:1383 msgid "Virtio Block Device" msgstr "Thiết bị khối Virtio" #: libparted/arch/linux.c:1388 msgid "Linux Software RAID Array" msgstr "" #: libparted/arch/linux.c:1395 msgid "ped_device_new() Unsupported device type" msgstr "ped_device_new() Kiểu thiết bị không được há»— trợ" #: libparted/arch/linux.c:1492 libparted/arch/linux.c:1564 #, c-format msgid "Error fsyncing/closing %s: %s" msgstr "Lá»—i fsync hay đóng %s: %s" #: libparted/arch/linux.c:1728 #, c-format msgid "end of file while reading %s" msgstr "gặp kết thúc tập tin trong khi Ä‘á»c %s" #: libparted/arch/linux.c:2365 #, c-format msgid "" "Error informing the kernel about modifications to partition %s -- %s. This " "means Linux won't know about any changes you made to %s until you reboot -- " "so you shouldn't mount it or use it in any way before rebooting." msgstr "" #: libparted/arch/linux.c:2503 #, fuzzy, c-format msgid "Unable to determine the size and length of %s." msgstr "Không thể quyết định kích cỡ cá»§a %s (%s)." #: libparted/arch/linux.c:2528 #, fuzzy, c-format msgid "Failed to add partition %d (%s)" msgstr "%s: Lá»—i Ä‘á»c khối phân vùng %llu\n" #: libparted/arch/linux.c:2555 #, c-format msgid "" "Partition(s) %s on %s have been written, but we have been unable to inform " "the kernel of the change, probably because it/they are in use. As a result, " "the old partition(s) will remain in use. You should reboot now before " "making further changes." msgstr "" #: libparted/arch/linux.c:2681 #, c-format msgid "" "parted was unable to re-read the partition table on %s (%s). This means " "Linux won't know anything about the modifications you made. " msgstr "" "Parted không Ä‘á»c lại được bảng phân vùng trên %s (%s). Có nghÄ©a là Linux sẽ " "không biết vá» những thay đổi đã tạo ra." #: libparted/cs/geom.c:162 #, c-format msgid "Can't have the end before the start! (start sector=%jd length=%jd)" msgstr "" "Không thể có kết thúc đứng trước bắt đầu ! (bắt đầu rãnh_ghi=%jd chiá»u_dài=" "%jd)" #: libparted/cs/geom.c:170 msgid "Can't have a partition outside the disk!" msgstr "Không thể có phân vùng nằm ngoài đĩa !" #: libparted/cs/geom.c:385 #, c-format msgid "Attempt to write sectors %ld-%ld outside of partition on %s." msgstr "Cố ghi các rãnh ghi %ld-%ld nằm ngoài phân vùng trên %s." #: libparted/cs/geom.c:425 libparted/fs/linux_swap/linux_swap.c:488 msgid "checking for bad blocks" msgstr "Ä‘ang kiểm tra tìm khối há»ng" #: libparted/debug.c:97 #, c-format msgid "Backtrace has %d calls on stack:\n" msgstr "Truy ngược có %d lá»i gá»i trên đống:\n" #: libparted/debug.c:110 #, c-format msgid "Assertion (%s) at %s:%d in function %s() failed." msgstr "Khẳng định (%s) tại %s:%d trong hàm %s() bị lá»—i." #: libparted/disk.c:193 #, c-format msgid "%s: unrecognised disk label" msgstr "%s: không nhận ra nhãn đĩa" #: libparted/disk.c:486 #, c-format msgid "" "This libparted doesn't have write support for %s. Perhaps it was compiled " "read-only." msgstr "" "Thư viện libparted này không há»— trợ ghi vào %s. Có thể đã biên dịch nó chỉ " "Ä‘á»c." #: libparted/disk.c:631 #, c-format msgid "Partition %d is %s, but the file system is %s." msgstr "Phân vùng %d là %s, nhưng hệ thống tập tin là %s." #: libparted/disk.c:841 msgid "cylinder_alignment" msgstr "cylinder_alignment" #: libparted/disk.c:847 #, c-format msgid "Unknown disk flag, %d." msgstr "Không nhận ra cỠđĩa, %d." #: libparted/disk.c:1286 #, c-format msgid "%s disk labels do not support extended partitions." msgstr "Nhãn đĩa %s không há»— trợ phiên bản mở rá»™ng." #: libparted/disk.c:1865 #, c-format msgid "%s disk labels don't support logical or extended partitions." msgstr "Nhãn đĩa %s không há»— trợ phiên bản kiểu mở rá»™ng hay hợp lý." #: libparted/disk.c:1878 msgid "Too many primary partitions." msgstr "Quá nhiá»u phân vùng chính." #: libparted/disk.c:1887 #, c-format msgid "" "Can't add a logical partition to %s, because there is no extended partition." msgstr "" "Không thể thêm vào %s má»™t phân vùng hợp lý, vì không có phân vùng mở rá»™ng." #: libparted/disk.c:1911 #, c-format msgid "Can't have more than one extended partition on %s." msgstr "Không cho phép nhiá»u hÆ¡n má»™t phân vùng mở rá»™ng trên %s." #: libparted/disk.c:1921 msgid "Can't have logical partitions outside of the extended partition." msgstr "Không cho phép phân vùng hợp lý nằm ngoài phân vùng mở rá»™ng." #: libparted/disk.c:1946 #, c-format msgid "Can't have a logical partition outside of the extended partition on %s." msgstr "Không cho phép phân vùng hợp lý nằm ngoài phân vùng mở rá»™ng trên %s." #: libparted/disk.c:1956 libparted/disk.c:2015 libparted/disk.c:2193 msgid "Can't have overlapping partitions." msgstr "Không cho phép các phân vùng chồng chéo lên nhau." #: libparted/disk.c:1964 msgid "Can't have a primary partition inside an extended partition." msgstr "Không cho phép phân vùng chính nằm trong phân vùng mở rá»™ng." #: libparted/disk.c:2395 msgid "metadata" msgstr "siêu dữ liệu" #: libparted/disk.c:2397 msgid "free" msgstr "trống" #: libparted/disk.c:2399 parted/ui.c:1193 parted/ui.c:1221 msgid "extended" msgstr "mở rá»™ng" #: libparted/disk.c:2401 parted/ui.c:1197 parted/ui.c:1225 msgid "logical" msgstr "hợp lý" #: libparted/disk.c:2403 parted/ui.c:1189 parted/ui.c:1217 msgid "primary" msgstr "chính" #: libparted/disk.c:2419 msgid "boot" msgstr "khởi động" #: libparted/disk.c:2421 msgid "bios_grub" msgstr "bios_grub" #: libparted/disk.c:2423 msgid "root" msgstr "gốc" #: libparted/disk.c:2425 msgid "swap" msgstr "trao đổi" #: libparted/disk.c:2427 msgid "hidden" msgstr "ẩn" #: libparted/disk.c:2429 msgid "raid" msgstr "raid" #: libparted/disk.c:2431 msgid "lvm" msgstr "lvm" #: libparted/disk.c:2433 msgid "lba" msgstr "lba" #: libparted/disk.c:2435 msgid "hp-service" msgstr "dịch vụ HP" #: libparted/disk.c:2437 msgid "palo" msgstr "palo" #: libparted/disk.c:2439 msgid "prep" msgstr "chuẩn bị" #: libparted/disk.c:2441 msgid "msftres" msgstr "msftres" #: libparted/disk.c:2443 msgid "atvrecv" msgstr "atvrecv" #: libparted/disk.c:2445 msgid "diag" msgstr "" #: libparted/disk.c:2451 #, c-format msgid "Unknown partition flag, %d." msgstr "Không nhận ra cá» phân vùng, %d." #: libparted/exception.c:77 msgid "Information" msgstr "Thông tin" #: libparted/exception.c:78 msgid "Warning" msgstr "Cảnh báo" #: libparted/exception.c:79 msgid "Error" msgstr "Lá»—i" #: libparted/exception.c:80 msgid "Fatal" msgstr "Nghiêm trá»ng" #: libparted/exception.c:81 msgid "Bug" msgstr "Lá»—i" #: libparted/exception.c:82 msgid "No Implementation" msgstr "Không thi hành" #: libparted/exception.c:86 msgid "Fix" msgstr "Sá»­a" #: libparted/exception.c:87 msgid "Yes" msgstr "Có" #: libparted/exception.c:88 msgid "No" msgstr "Không" #: libparted/exception.c:89 msgid "OK" msgstr "OK" #: libparted/exception.c:90 msgid "Retry" msgstr "Thá»­ lại" #: libparted/exception.c:91 msgid "Ignore" msgstr "Bá» qua" #: libparted/exception.c:92 msgid "Cancel" msgstr "Thôi" #: libparted/exception.c:132 #, c-format msgid "" "A bug has been detected in GNU Parted. Refer to the web site of parted " "http://www.gnu.org/software/parted/parted.html for more information of what " "could be useful for bug submitting! Please email a bug report to bug-" "parted@gnu.org containing at least the version (%s) and the following " "message: " msgstr "" "Phát hiện ra má»™t lá»—i trong GNU parted. Hãy thăm trang chá»§ Web cá»§a parted " "(http://www.gnu.org/software/parted/parted.html) để biết thêm vá» thông tin " "thích hợp vá»›i báo cáo lá»—i. Xin hãy gá»­i thư thông báo tá»›i kèm theo ít nhất phiên bản (%s) và thông tin sau :" #: libparted/filesys.c:462 msgid "Could not detect file system." msgstr "Không thể phát hiện hệ thống tập tin." #: libparted/filesys.c:473 msgid "The file system is bigger than its volume!" msgstr "Hệ thống tập tin lá»›n hÆ¡n khối tin !" #: libparted/filesys.c:481 #, c-format msgid "Support for opening %s file systems is not implemented yet." msgstr "Chưa thá»±c hiện há»— trợ mở hệ thống tập tin %s." #: libparted/filesys.c:523 #, c-format msgid "Support for creating %s file systems is not implemented yet." msgstr "Chưa thá»±c hiện há»— trợ tạo hệ thống tập tin %s." #: libparted/filesys.c:583 #, c-format msgid "Support for checking %s file systems is not implemented yet." msgstr "Chưa thá»±c hiện há»— trợ kiểm tra hệ thống tập tin %s." #: libparted/filesys.c:649 msgid "raw block copying" msgstr "Ä‘ang sao chép khối thô" #: libparted/filesys.c:660 msgid "growing file system" msgstr "Ä‘ang má»c hê thống tập tin" #: libparted/filesys.c:700 msgid "Can't copy onto an overlapping partition." msgstr "Không thể sao chép vào má»™t phân vùng chồng lấp." #: libparted/filesys.c:722 #, c-format msgid "" "Direct support for copying file systems is not yet implemented for %s. " "However, support for resizing is implemented. Therefore, the file system " "can be copied if the new partition is at least as big as the old one. So, " "either shrink the partition you are trying to copy, or copy to a bigger " "partition." msgstr "" "Há»— trợ thẳng để sao chép hệ thống tập tin chưa được thá»±c hiện cho %s. Tuy " "nhiên, đã có há»— trợ thay đổi kích thước. Vì thế, có thể sao chép hệ thống " "tập tin nếu phân vùng má»›i có kích thước không nhá» hÆ¡n phân vùng cÅ©. Vì vậy, " "hoặc rút ngắn phân vùng cần sao chép, hoặc sao chép tá»›i má»™t phân vùng lá»›n " "hÆ¡n." #: libparted/filesys.c:736 #, c-format msgid "Support for copying %s file systems is not implemented yet." msgstr "Chưa thá»±c hiện há»— trợ sao chép hệ thống tập tin %s." #: libparted/filesys.c:774 #, c-format msgid "Support for resizing %s file systems is not implemented yet." msgstr "Chưa thá»±c hiện há»— trợ thay đổi kích cỡ hệ thống tập tin %s." #: libparted/fs/reiserfs/reiserfs.c:315 msgid "creating" msgstr "Ä‘ang tạo" #: libparted/fs/reiserfs/reiserfs.c:402 msgid "The file system is in an invalid state. Perhaps it is mounted?" msgstr "Hệ thống tập tin có tình trạng không hợp lệ. Có thể là nó bị gắn ?" #: libparted/fs/reiserfs/reiserfs.c:410 msgid "The file system is in old (unresizeable) format." msgstr "Hệ thống tập tin theo má»™t định dạng cÅ© (không thể thay đổi kích cỡ)." #: libparted/fs/reiserfs/reiserfs.c:416 msgid "Invalid free blocks count. Run reiserfsck --check first." msgstr "" "Äếm sai số các khối trống. Trước tiên hãy chạy câu lệnh kiểm tra « " "reiserfsck --check »." #: libparted/fs/reiserfs/reiserfs.c:431 msgid "checking" msgstr "Ä‘ang kiểm tra" #: libparted/fs/reiserfs/reiserfs.c:437 msgid "Reiserfs tree seems to be corrupted. Run reiserfsck --check first." msgstr "" "Có vẻ là cây reiserfs bị há»ng. Trước tiên hãy chạy câu lệnh kiểm tra « " "reiserfsck --check »." #: libparted/fs/reiserfs/reiserfs.c:449 msgid "" "The reiserfs file system passed a basic check. For a more comprehensive " "check, run reiserfsck --check." msgstr "" "Hệ thống tập tin reiserfs đã qua kiểm tra cÆ¡ bản. Äể kiểm tra kỹ hÆ¡n, hãy " "chạy câu lệnh kiểm tra « reiserfsck --check »." #: libparted/fs/reiserfs/reiserfs.c:474 msgid "Sorry, can't move the start of reiserfs partitions yet." msgstr "Tiếc là chưa có thể di chuyển đầu cá»§a phân vùng reiserfs." #: libparted/fs/reiserfs/reiserfs.c:490 msgid "Couldn't reopen device abstraction layer for read/write." msgstr "Không thể mở lại lá»›p nhìn trừu tượng thiết bị để Ä‘á»c/ghi." #: libparted/fs/reiserfs/reiserfs.c:508 libparted/fs/ext2/ext2_resize.c:552 #: libparted/fs/hfs/hfs.c:250 libparted/fs/hfs/hfs.c:629 msgid "shrinking" msgstr "Ä‘ang co lại" #: libparted/fs/reiserfs/reiserfs.c:520 msgid "expanding" msgstr "Ä‘ang giãn ra" #: libparted/fs/reiserfs/reiserfs.c:592 msgid "Couldn't create reiserfs device abstraction handler." msgstr "Không thể tạo bá»™ quản lý sá»± nhìn trừu tượng thiết bị reiserfs." #: libparted/fs/reiserfs/reiserfs.c:606 #, c-format msgid "Device is too small for %lu blocks." msgstr "Thiết bị quá nhỠđể chứa %lu khối." #: libparted/fs/reiserfs/reiserfs.c:615 msgid "copying" msgstr "Ä‘ang sao chép" #: libparted/fs/reiserfs/reiserfs.c:682 #, c-format msgid "Couldn't resolve symbol %s. Error: %s." msgstr "Không thể quyết định ký hiệu %s. Lá»—i: %s." #: libparted/fs/reiserfs/reiserfs.c:704 msgid "GNU Parted found an invalid libreiserfs library." msgstr "GNU Parted tìm thấy má»™t thư viện libreiserfs không hợp lệ." #: libparted/fs/reiserfs/reiserfs.c:715 #, c-format msgid "" "GNU Parted has detected libreiserfs interface version mismatch. Found %d-" "%d, required %d. ReiserFS support will be disabled." msgstr "" "GNU Parted phát hiện được phiên bản giao diện libreiserfs không tương ứng. " "Tìm %d-%d, cần %d. Vì thế phải tắt há»— trợ ReiserFS." #: libparted/labels/aix.c:103 msgid "Support for reading AIX disk labels is is not implemented yet." msgstr "Chưa thá»±c hiện há»— trợ Ä‘á»c nhãn đĩa AIX." #: libparted/labels/aix.c:114 msgid "Support for writing AIX disk labels is is not implemented yet." msgstr "Chưa thá»±c hiện há»— trợ ghi nhãn đĩa AIX." #: libparted/labels/aix.c:127 msgid "" "Support for adding partitions to AIX disk labels is not implemented yet." msgstr "Chưa thá»±c hiện há»— trợ thêm phân vùng vào nhãn đĩa AIX." #: libparted/labels/aix.c:137 msgid "" "Support for duplicating partitions in AIX disk labels is not implemented yet." msgstr "Chưa thá»±c hiện há»— trợ nhân đôi phân vùng trong nhãn đĩa AIX." #: libparted/labels/aix.c:155 msgid "" "Support for setting system type of partitions in AIX disk labels is not " "implemented yet." msgstr "" "Chưa thá»±c hiện há»— trợ đặt loại hệ thống cá»§a phân vùng trong nhãn đĩa AIX." #: libparted/labels/aix.c:165 msgid "Support for setting flags in AIX disk labels is not implemented yet." msgstr "Chưa thá»±c hiện há»— trợ đặt cá» trong nhãn đĩa AIX." #: libparted/labels/bsd.c:568 libparted/labels/dasd.c:783 #: libparted/labels/dos.c:2092 libparted/labels/dvh.c:788 #: libparted/labels/gpt.c:1750 libparted/labels/loop.c:245 #: libparted/labels/mac.c:1424 libparted/labels/pc98.c:749 #: libparted/labels/rdb.c:1051 libparted/labels/sun.c:821 msgid "Unable to satisfy all constraints on the partition." msgstr "Không thể thoả má»i ràng buá»™c trên phân vùng." #: libparted/labels/bsd.c:593 msgid "Unable to allocate a bsd disklabel slot." msgstr "Không thể cấp phát má»™t khe nhãn đĩa sai." #: libparted/labels/dasd.c:809 msgid "Unable to allocate a dasd disklabel slot" msgstr "Không thể cấp phát má»™t khe nhãn đĩa DASD" #: libparted/labels/dos.c:882 #, c-format msgid "Invalid partition table on %s -- wrong signature %x." msgstr "Gặp bảng phân vùng sai trên %s -- chữ ký không đúng %x." #: libparted/labels/dos.c:910 #, c-format msgid "Invalid partition table - recursive partition on %s." msgstr "Bảng phân vùng sai -- phiên bản đệ quy trên %s." #: libparted/labels/dos.c:1420 msgid "Extended partitions cannot be hidden on msdos disk labels." msgstr "Phân vùng mở rá»™ng không thể bị ẩn trên nhãn đĩa MSDOS." #: libparted/labels/dos.c:2074 msgid "Parted can't resize partitions managed by Windows Dynamic Disk." msgstr "" "Parted không thể thay đổi kích cỡ cá»§a phân vùng bị Windows Dynamic Disk quản " "lý." #: libparted/labels/dvh.c:201 #, c-format msgid "%s has no extended partition (volume header partition)." msgstr "%s không có phân vùng mở rá»™ng (phân vùng phần đầu cá»§a khối tin)." #: libparted/labels/dvh.c:327 msgid "Checksum is wrong, indicating the partition table is corrupt." msgstr "Sai kiểm tổng (checksum) thì bảng phân vùng bị há»ng." #: libparted/labels/dvh.c:632 msgid "Only primary partitions can be root partitions." msgstr "Chỉ phân vùng chính có thể là phân vùng gốc." #: libparted/labels/dvh.c:646 msgid "Only primary partitions can be swap partitions." msgstr "Chỉ phân vùng chính có thể là phân vùng trao đổi." #: libparted/labels/dvh.c:660 msgid "Only logical partitions can be a boot file." msgstr "Chỉ phân vùng hợp lý có thể là má»™t tập tin khởi động." #: libparted/labels/dvh.c:737 #, c-format msgid "" "failed to set dvh partition name to %s:\n" "Only logical partitions (boot files) have a name." msgstr "" "lá»—i đặt tên phân vùng DVH thành %s:\n" "Chỉ phân vùng lôgíc (tập tin khởi động) có má»™t tên." #: libparted/labels/dvh.c:830 msgid "Too many primary partitions" msgstr "Quá nhiá»u phân vùng chính" #: libparted/labels/fdasd.c:98 msgid "open error" msgstr "lá»—i mở" #: libparted/labels/fdasd.c:101 msgid "seek error" msgstr "lá»—i tìm nÆ¡i" #: libparted/labels/fdasd.c:104 msgid "read error" msgstr "lá»—i Ä‘á»c" #: libparted/labels/fdasd.c:110 msgid "ioctl() error" msgstr "lá»—i ioctl()" #: libparted/labels/fdasd.c:114 msgid "API version mismatch" msgstr "Phiên bản API không tương ứng" #: libparted/labels/fdasd.c:118 msgid "Unsupported disk type" msgstr "Loại đĩa không được há»— trợ" #: libparted/labels/fdasd.c:122 msgid "Unsupported disk format" msgstr "Äịnh dạng đĩa không được há»— trợ" #: libparted/labels/fdasd.c:126 msgid "Disk is in use" msgstr "ÄÄ©a Ä‘ang được sá»­ dụng" #: libparted/labels/fdasd.c:130 msgid "Syntax error in config file" msgstr "Gặp lá»—i cú pháp trong tập tin cấu hình" #: libparted/labels/fdasd.c:134 msgid "Volume label is corrupted" msgstr "Nhãn khối tin bị há»ng" #: libparted/labels/fdasd.c:138 msgid "A data set name is corrupted" msgstr "Má»™t tên tập hợp dữ liệu bị há»ng" #: libparted/labels/fdasd.c:142 msgid "Memory allocation failed" msgstr "Lá»—i cấp phát bá»™ nhá»›" #: libparted/labels/fdasd.c:146 msgid "Device verification failed" msgstr "Lá»—i thẩm tra thiết bị" #: libparted/labels/fdasd.c:147 msgid "The specified device is not a valid DASD device" msgstr "Thiết bị đã ghi rõ không phải là má»™t thiết bị DASD hợp lệ" #: libparted/labels/fdasd.c:150 libparted/labels/vtoc.c:179 msgid "Fatal error" msgstr "Lá»—i nghiêm trá»ng" #: libparted/labels/fdasd.c:226 msgid "No room for volume label." msgstr "Không còn chá»— trống cho nhãn khối tin." #: libparted/labels/fdasd.c:234 msgid "No room for partition info." msgstr "không có chá»— trống cho thông tin vá» phiên bản." #: libparted/labels/fdasd.c:704 msgid "Invalid VTOC." msgstr "VTOC không hợp lệ." #: libparted/labels/fdasd.c:764 msgid "Could not retrieve API version." msgstr "Không thể lấy phiên bản API." #: libparted/labels/fdasd.c:767 #, c-format msgid "" "The current API version '%d' doesn't match dasd driver API version '%d'!" msgstr "" "Phiên bản API hiện thá»i « %d » không tương ứng vá»›i phiên bản API trình Ä‘iá»u " "khiển DASD « %d » !" #: libparted/labels/fdasd.c:804 msgid "Could not retrieve disk geometry information." msgstr "Không thể lấy thông tin vá» cấu trúc hình há»c cá»§a đĩa." #: libparted/labels/fdasd.c:808 msgid "Could not retrieve blocksize information." msgstr "Không thể lấy thông tin vá» kích cỡ khối." #: libparted/labels/fdasd.c:813 msgid "Could not retrieve disk information." msgstr "Không thể lấy thông tin vỠđĩa." #: libparted/labels/fdasd.c:818 msgid "This is not an ECKD disk! This disk type is not supported!" msgstr "Äây không phải là má»™t đĩa ECKD ! Loại đĩa này không phải được há»— trợ !" #: libparted/labels/gpt.c:485 #, c-format msgid "" "%s contains GPT signatures, indicating that it has a GPT table. However, it " "does not have a valid fake msdos partition table, as it should. Perhaps it " "was corrupted -- possibly by a program that doesn't understand GPT partition " "tables. Or perhaps you deleted the GPT table, and are now using an msdos " "partition table. Is this a GPT partition table?" msgstr "" "%s chứa chữ ký GPT, chỉ ra nó có bảng GPT. Tuy nhiên, nó không có má»™t bảng " "phân vùng giả msdos cần thiết. Có thể nó đã bị làm há»ng bởi má»™t chương " "trình không hiểu bảng phân vùng GPT. Hoặc có thể ngưá»i dùng đã xoá bảng " "GPT, và bây giá» Ä‘ang sá»­ dụng má»™t bảng phân vùng msdos. Äây có phải là má»™t " "bảng phân vùng GPT?" #: libparted/labels/gpt.c:680 #, c-format msgid "" "The format of the GPT partition table is version %x, which is newer than " "what Parted can recognise. Please tell us! bug-parted@gnu.org" msgstr "" "Äịnh dạng cá»§a bảng phân vùng GPT có phiên bản %x, má»›i hÆ¡n so vá»›i phiên bản " "Parted có thể nhận ra. Xin hãy cho chúng tôi biết! " #: libparted/labels/gpt.c:727 #, c-format msgid "" "Not all of the space available to %s appears to be used, you can fix the GPT " "to use all of the space (an extra %llu blocks) or continue with the current " "setting? " msgstr "" "Không phải toàn bá»™ sức chứa sẵn sàng cho %s hình như được sá»­ dụng. Ngưá»i " "dùng có thể sá»­a GPT để sá»­ dụng toàn bá»™ sức chứa (%llu khối bổ sung) hoặc " "tiếp tục vá»›i thiết lập hiện thá»i." #: libparted/labels/gpt.c:936 msgid "" "The backup GPT table is not at the end of the disk, as it should be. This " "might mean that another operating system believes the disk is smaller. Fix, " "by moving the backup to the end (and removing the old backup)?" msgstr "" "Bảng GPT sao lưu không nằm tại cuối đĩa như yêu cầu. Có nghÄ©a là hệ Ä‘iá»u " "hành khác sẽ thấy đĩa nhá» hÆ¡n thông thưá»ng. Sá»­a bằng cách di chuyển sao lưu " "tá»›i cuối (và xóa bá» sao lưu cÅ©)?" #: libparted/labels/gpt.c:960 msgid "" "Both the primary and backup GPT tables are corrupt. Try making a fresh " "table, and using Parted's rescue feature to recover partitions." msgstr "" "Cả bảng GPT chính và sao lưu Ä‘á»u há»ng. Hãy thá»­ tạo má»™t bảng má»›i, và sá»­ dụng " "tính năng cứu nguy cá»§a Parted để phục hồi các phân vùng." #: libparted/labels/gpt.c:971 msgid "" "The backup GPT table is corrupt, but the primary appears OK, so that will be " "used." msgstr "" "Bảng GPT sao lưu bị há»ng, nhưng bảng chính hình như vẫn tốt, vì thế sẽ sá»­ " "dụng bảng chính." #: libparted/labels/gpt.c:983 msgid "" "The primary GPT table is corrupt, but the backup appears OK, so that will be " "used." msgstr "" "Bảng GPT chính bị há»ng, nhưng sao lưu hình như vẫn tốt, vì thế sẽ sá»­ dụng " "sao lưu." #: libparted/labels/gpt.c:1007 msgid "primary partition table array CRC mismatch" msgstr "sai khá»›p CRC mảng bảng phân vùng chính" #: libparted/labels/mac.c:185 #, c-format msgid "Invalid signature %x for Mac disk labels." msgstr "Chữ ký sai %x đối vá»›i nhãn đĩa Mac." #: libparted/labels/mac.c:232 msgid "Partition map has no partition map entry!" msgstr "SÆ¡ đồ phân vùng không có mục nhập sÆ¡ đồ phân vùng !" #: libparted/labels/mac.c:280 #, c-format msgid "%s is too small for a Mac disk label!" msgstr "%s quá nhá» cho má»™t nhãn đĩa Mac !" #: libparted/labels/mac.c:509 #, c-format msgid "Partition %d has an invalid signature %x." msgstr "Phân vùng %d có má»™t chữ ký sai %x." #: libparted/labels/mac.c:527 #, c-format msgid "Partition %d has an invalid length of 0 bytes!" msgstr "Phân vùng %d có chiá»u dài sai 0 byte !" #: libparted/labels/mac.c:558 msgid "The data region doesn't start at the start of the partition." msgstr "Vùng dữ liệu không bắt đầu ở đầu cá»§a phân vùng." #: libparted/labels/mac.c:575 msgid "The boot region doesn't start at the start of the partition." msgstr "Vùng khởi động không bắt đầu ở đầu cá»§a phân vùng." #: libparted/labels/mac.c:589 msgid "The partition's boot region doesn't occupy the entire partition." msgstr "Vùng khởi động cá»§a phân vùng không chiếm toàn bá»™ phân vùng." #: libparted/labels/mac.c:600 msgid "The partition's data region doesn't occupy the entire partition." msgstr "Vùng dữ liệu cá»§a phân vùng không chiếm toàn bá»™ phân vùng." #: libparted/labels/mac.c:653 #, c-format msgid "" "Weird block size on device descriptor: %d bytes is not divisible by 512." msgstr "" "Kích thước khối kỳ lạ trên mô tả thiết bị: %d byte không chia hết cho 512." #: libparted/labels/mac.c:666 #, c-format msgid "" "The driver descriptor says the physical block size is %d bytes, but Linux " "says it is %d bytes." msgstr "" "Mô tả cá»§a trình Ä‘iá»u khiển cho biết kích thước khối là %d byte, nhưng Linux " "nói nó %d byte." #: libparted/labels/mac.c:720 msgid "No valid partition map found." msgstr "Không tìm thấy sÆ¡ đồ phân vùng hợp lệ." #: libparted/labels/mac.c:782 #, c-format msgid "" "Conflicting partition map entry sizes! Entry 1 says it is %d, but entry %d " "says it is %d!" msgstr "" "Xung đột kích thước mục sÆ¡ đồ phân vùng ! Mục 1 nói là %d, nhưng mục %d nói " "là %d !" #: libparted/labels/mac.c:809 msgid "Weird! There are 2 partitions map entries!" msgstr "Kỳ lạ - có hai mục sÆ¡ đồ phân vùng !" #: libparted/labels/mac.c:1355 msgid "" "Changing the name of a root or swap partition will prevent Linux from " "recognising it as such." msgstr "" "Thay đổi tên cá»§a má»™t phân vùng gốc hay trao đổi sẽ khiến Linux không nhận ra " "chúng như trước." #: libparted/labels/mac.c:1459 msgid "Can't add another partition -- the partition map is too small!" msgstr "Không thêm được phân vùng bổ sung - sÆ¡ đồ phân vùng quá nhá» !" #: libparted/labels/pc98.c:331 #, c-format msgid "Invalid partition table on %s." msgstr "Bảng phân vùng sai trên %s." #: libparted/labels/pc98.c:384 libparted/labels/pc98.c:462 #, c-format msgid "" "Partition %d isn't aligned to cylinder boundaries. This is still " "unsupported." msgstr "" "Phân vùng %d không sắp hàng vá»›i biên trụ. Trưá»ng hợp này vẫn còn không được " "há»— trợ." #: libparted/labels/pc98.c:781 msgid "Can't add another partition." msgstr "Không thêm được phân vùng bổ sung." #: libparted/labels/pt-tools.c:125 #, c-format msgid "" "partition length of %jd sectors exceeds the %s-partition-table-imposed " "maximum of %jd" msgstr "" "chiá»u dài phân vùng %1$jd vượt quá chiá»u dài tối Ä‘a %3$jd bị bảng phân vùng " "%2$s ép buá»™c" #: libparted/labels/pt-tools.c:138 #, c-format msgid "" "starting sector number, %jd exceeds the %s-partition-table-imposed maximum " "of %jd" msgstr "" "bắt đầu ở số thứ tá»± rãnh ghi, %1$jd vượt quá chiá»u dài tối Ä‘a %3$jd bị bảng " "phân vùng %2$s ép buá»™c" #: libparted/labels/rdb.c:170 #, c-format msgid "%s : Bad checksum on block %llu of type %s." msgstr "%s: Sai kiểm tổng (checksum) trên khối %llu có loại %s." #: libparted/labels/rdb.c:486 #, c-format msgid "%s : Didn't find rdb block, should never happen." msgstr "%s: Không tìm thấy khối rdb, không bao giá» nên xảy ra." #: libparted/labels/rdb.c:572 #, c-format msgid "%s : Loop detected at block %d." msgstr "%s: Phát hiện vòng lặp tại khối %d." #: libparted/labels/rdb.c:591 #, c-format msgid "%s : The %s list seems bad at block %s." msgstr "%s: Danh sách %s hình như sai tại khối %s." #: libparted/labels/rdb.c:690 #, c-format msgid "%s : Failed to list bad blocks." msgstr "%s: Lá»—i liệt kê các khối sai." #: libparted/labels/rdb.c:698 #, c-format msgid "%s : Failed to list partition blocks." msgstr "%s: Lá»—i liệt kê các khối phân vùng." #: libparted/labels/rdb.c:706 #, c-format msgid "%s : Failed to list file system blocks." msgstr "%s: Lá»—i liệt kê các khối hệ thống tập tin." #: libparted/labels/rdb.c:714 #, c-format msgid "%s : Failed to list boot blocks." msgstr "%s: Lá»—i liệt kê các khối khởi động." #: libparted/labels/rdb.c:741 #, c-format msgid "Failed to write partition block at %d." msgstr "Lá»—i ghi khối phân vùng tại %d." #: libparted/labels/rdb.c:1079 msgid "Unable to allocate a partition number." msgstr "Không thể cấp phát má»™t số thứ tá»± phân vùng." #: libparted/labels/sun.c:163 msgid "Corrupted Sun disk label detected." msgstr "Nhận ra má»™t nhãn đĩa Sun bị há»ng." #: libparted/labels/sun.c:316 #, c-format msgid "" "The disk CHS geometry (%d,%d,%d) reported by the operating system does not " "match the geometry stored on the disk label (%d,%d,%d)." msgstr "" "Cấu trúc hình há»c CHS cá»§a đĩa (%d,%d,%d) được hệ Ä‘iá»u hành thông báo không " "tương ứng cấu trúc chứa trong nhãn đĩa (%d,%d,%d)." #: libparted/labels/sun.c:338 #, c-format msgid "The disk label describes a disk bigger than %s." msgstr "Nhãn đĩa mô tả má»™t đĩa lá»›n hÆ¡n %s." #: libparted/labels/sun.c:510 #, c-format msgid "The disk has %d cylinders, which is greater than the maximum of 65536." msgstr "ÄÄ©a có %d trụ, mà lá»›n hÆ¡n số tối Ä‘a 65536." #: libparted/labels/sun.c:853 msgid "" "The Whole Disk partition is the only available one left. Generally, it is " "not a good idea to overwrite this partition with a real one. Solaris may " "not be able to boot without it, and SILO (the sparc boot loader) appreciates " "it as well." msgstr "" "Phân vùng Toàn bá»™ ÄÄ©a (Whole Disk) là phân vùng sẵn sàng còn lại duy nhất. " "Nói chung, không nên ghi chèn phân vùng này bằng má»™t phân vùng thá»±c sá»±. " "Solaris có thể sẽ không khởi động khi không có nó, và SILO (trình khởi động " "sparc) cÅ©ng cần phân vùng này." #: libparted/labels/sun.c:868 msgid "Sun disk label is full." msgstr "Nhán đĩa Sun đầy." #: libparted/labels/vtoc.c:164 msgid "opening of device failed" msgstr "lá»—i mở thiết bị" #: libparted/labels/vtoc.c:168 msgid "seeking on device failed" msgstr "lá»—i tìm nÆ¡i trên thiết bị" #: libparted/labels/vtoc.c:172 msgid "writing to device failed" msgstr "lá»—i ghi vào thiết bị" #: libparted/labels/vtoc.c:176 msgid "reading from device failed" msgstr "lá»—i Ä‘á»c từ thiết bị" #: libparted/labels/vtoc.c:277 libparted/labels/vtoc.c:284 msgid "Could not read volume label." msgstr "Không thể Ä‘á»c nhãn khối tin." #: libparted/labels/vtoc.c:303 libparted/labels/vtoc.c:308 msgid "Could not write volume label." msgstr "Không thể ghi nhãn khối tin." #: libparted/labels/vtoc.c:414 msgid "Could not read VTOC labels." msgstr "Không thể Ä‘á»c các nhãn VTOC." #: libparted/labels/vtoc.c:420 msgid "Could not read VTOC FMT1 DSCB." msgstr "Không thể Ä‘á»c VTOC FMT1 DSCB." #: libparted/labels/vtoc.c:427 msgid "Could not read VTOC FMT4 DSCB." msgstr "Không thể Ä‘á»c VTOC FMT4 DSCB." #: libparted/labels/vtoc.c:434 msgid "Could not read VTOC FMT5 DSCB." msgstr "Không thể Ä‘á»c VTOC FMT5 DSCB." #: libparted/labels/vtoc.c:441 msgid "Could not read VTOC FMT7 DSCB." msgstr "Không thể Ä‘á»c VTOC FMT7 DSCB." #: libparted/labels/vtoc.c:461 msgid "Could not write VTOC labels." msgstr "Không thể ghi nhãn VTOC." #: libparted/labels/vtoc.c:467 msgid "Could not write VTOC FMT1 DSCB." msgstr "Không thể ghi VTOC FMT1 DSCB." #: libparted/labels/vtoc.c:474 msgid "Could not write VTOC FMT4 DSCB." msgstr "Không thể ghi VTOC FMT4 DSCB." #: libparted/labels/vtoc.c:481 msgid "Could not write VTOC FMT5 DSCB." msgstr "Không thể ghi VTOC FMT5 DSCB." #: libparted/labels/vtoc.c:488 msgid "Could not write VTOC FMT7 DSCB." msgstr "Không thể ghi VTOC FMT7 DSCB." #: libparted/libparted.c:237 libparted/libparted.c:252 msgid "Out of memory." msgstr "Không đủ bá»™ nhá»›." #: libparted/unit.c:138 msgid "Cannot get unit size for special unit 'COMPACT'." msgstr "Không thể lấy kích cỡ đơn vị cho đơn vị đặc biệt « COMPACT »." #: libparted/unit.c:384 #, c-format msgid "\"%s\" has invalid syntax for locations." msgstr "« %s » sai cú pháp đối vá»›i vị trí." #: libparted/unit.c:392 #, c-format msgid "The maximum head value is %d." msgstr "Giá trị đầu tối Ä‘a là %d." #: libparted/unit.c:399 #, c-format msgid "The maximum sector value is %d." msgstr "Giá trị rãnh ghi tối Ä‘a là %d." #: libparted/unit.c:411 libparted/unit.c:543 #, c-format msgid "The location %s is outside of the device %s." msgstr "Vị trí %s nằm ngoài thiết bị %s." #: libparted/unit.c:525 msgid "Invalid number." msgstr "Con số không hợp lệ." #: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:56 #: libparted/fs/amiga/asfs.c:70 #, c-format msgid "%s : Failed to allocate partition block\n" msgstr "%s: Lá»—i cấp phát khối phân vùng\n" #: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:69 #: libparted/fs/amiga/asfs.c:82 #, c-format msgid "%s : Failed to allocate block\n" msgstr "%s: Lá»—i cấp phát khối.\n" #: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:74 #, c-format msgid "%s : Couldn't read boot block %llu\n" msgstr "%s: Không thể Ä‘á»c khối khởi động %llu\n" #: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:85 #: libparted/fs/amiga/asfs.c:88 libparted/fs/amiga/asfs.c:102 #, c-format msgid "%s : Couldn't read root block %llu\n" msgstr "%s: Không thể Ä‘á»c khối khởi động %llu\n" #: libparted/fs/amiga/amiga.c:72 #, c-format msgid "%s : Failed to allocate id list element\n" msgstr "%s: Lá»—i cấp phát phần tá»­ danh sách mã số\n" #: libparted/fs/amiga/amiga.c:189 #, c-format msgid "%s : Couldn't read block %llu\n" msgstr "%s: Không thể Ä‘á»c khối %llu\n" #: libparted/fs/amiga/amiga.c:202 #, c-format msgid "%s : Bad checksum on block %llu of type %s\n" msgstr "%s: Sai kiểm tổng (checksum) trên khối %llu có loại %s\n" #: libparted/fs/amiga/amiga.c:212 #, c-format msgid "%s : Couldn't write block %d\n" msgstr "%s: Không thể ghi khối %d\n" #: libparted/fs/amiga/amiga.c:278 #, c-format msgid "%s : Failed to allocate disk_specific rdb block\n" msgstr "%s: Lá»—i cấp phát khối rdb disk_specific (đặc trưng cho đĩa)\n" #: libparted/fs/amiga/amiga.c:289 #, c-format msgid "%s : Didn't find rdb block, should never happen\n" msgstr "%s: Không tìm thấy khối rdb, không bao giá» nên xảy ra\n" #: libparted/fs/amiga/amiga.c:318 #, c-format msgid "%s : Failed to read partition block %llu\n" msgstr "%s: Lá»—i Ä‘á»c khối phân vùng %llu\n" #: libparted/fs/ext2/ext2.c:87 libparted/fs/ext2/ext2.c:112 msgid "Inconsistent group descriptors!" msgstr "Các mô tả nhóm không đồng nhất !" #: libparted/fs/ext2/ext2.c:91 libparted/fs/ext2/ext2.c:116 msgid "File system full!" msgstr "Hê thống tập tin đầy" #: libparted/fs/ext2/ext2.c:686 msgid "Invalid superblock. Are you sure this is an ext2 file system?" msgstr "" "Siêu khối sai. Bạn có chắc rằng đây là má»™t hệ thống tập tin loại ext2 không?" #: libparted/fs/ext2/ext2.c:700 libparted/fs/ext2/ext2_resize.c:658 msgid "File system has errors! You should run e2fsck." msgstr "Hệ thống tập tin có lá»—i ! Cần chạy e2fsck." #: libparted/fs/ext2/ext2.c:711 msgid "" "File system was not cleanly unmounted! You should run e2fsck. Modifying an " "unclean file system could cause severe corruption." msgstr "" "Hệ thống tập tin chưa được bá» gắn má»™t cách đúng đắn! Cần chạy e2fsck. Sá»­a " "đổi hệ thống tin đó có thể gây trưá»ng hợp rất bị há»ng." #: libparted/fs/ext2/ext2.c:731 msgid "" "File system has an incompatible feature enabled. Compatible features are " "has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs " "or debugfs to remove features." msgstr "" "Hệ thống tập tin đã hiệu lá»±c má»™t tính năng không tương thích. Những tính " "năng tương thích:\n" " • has_journal\t\tcó nhật ký\n" " • dir_index\t\tthư mục phụ lục\n" " • sparse_super\tsiêu sparse\n" " • large_file\t\ttập tin lá»›n\n" "Hãy sá»­ dụng tune2fs hay debugfs để gỡ bá» tính năng." #: libparted/fs/ext2/ext2.c:745 msgid "Error allocating buffer cache." msgstr "Gặp lá»—i khi phân cấp vùng nhá»› tạm bá»™ đệm." #: libparted/fs/ext2/ext2_inode_relocator.c:114 msgid "" "Found an inode with a incorrect link count. Better go run e2fsck first!" msgstr "" "Tìm thấy má»™t nút inode vá»›i số đếm liên kết sai. Tốt nhất hãy chạy e2fsck " "trước." #: libparted/fs/ext2/ext2_inode_relocator.c:487 msgid "Not enough free inodes!" msgstr "Không đủ inode còn rảnh !" #: libparted/fs/ext2/ext2_resize.c:223 msgid "File system is too full to remove a group!" msgstr "Hệ thống tập tin quá đầy để gỡ bá» má»™t nhóm !" #: libparted/fs/ext2/ext2_resize.c:232 msgid "File system has too many allocated inodes to remove a group!" msgstr "Hệ thống tập tin có quá nhiá»u inode phân phối để xóa má»™t nhóm !" #: libparted/fs/ext2/ext2_resize.c:491 msgid "adding groups" msgstr "Ä‘ang thêm nhóm" #: libparted/fs/ext2/ext2_resize.c:528 #, c-format msgid "Your file system is too full to resize it to %i blocks. Sorry." msgstr "" "Hệ thống tập tin quá đầy để thay đổi kích thước thành %i khối. Rất tiếc." #: libparted/fs/ext2/ext2_resize.c:538 #, c-format msgid "" "Your file system has too many occupied inodes to resize it to %i blocks. " "Sorry." msgstr "" "Hệ thống tập tin có quá nhiá»u nút inode bận để thay đổi kích thước thành %i " "khối. Rất tiếc." #: libparted/fs/ext2/ext2_resize.c:666 msgid "File system was not cleanly unmounted! You should run e2fsck." msgstr "Hệ thống tập tin chưa được bá» gắn đúng ! Cần chạy e2fsck." #: libparted/fs/ext2/ext2_resize.c:675 msgid "" "The file system has the 'dir_index' feature enabled. Parted can only resize " "the file system if it disables this feature. You can enable it later by " "running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'." msgstr "" "Hệ thống tập tin có tính năng « dir_index » bật dùng. Parted chỉ có thể " "thay đổi kích thước cá»§a hệ thống tập tin nếu tắt bá» tính năng này. Có thể " "bật dùng lại tính năng sau này bằng « tune2fs -O dir_index THIẾT_BỊ » và sau " "đó « e2fsck -fD THIẾT_BỊ »." #: libparted/fs/ext2/ext2_resize.c:691 msgid "" "A resize operation on this file system will use EXPERIMENTAL code\n" "that MAY CORRUPT it (although no one has reported any such damage yet).\n" "You should at least backup your data first, and run 'e2fsck -f' afterwards." msgstr "" "Thao tác thay đổi kích cỡ trên hệ thống tập tin này thì dùng mã nguồn VẪN " "THá»°C NGHIỆM mà CÓ THỂ LÀM HỎNG nó (dù chưa có ngưá»i dùng thông báo trưá»ng " "hợp này).\n" "ít nhất ngưá»i dùng nên sao lưu dữ liệu trước, và chạy « e2fsck -f » sau." #: libparted/fs/ext2/ext2_block_relocator.c:198 msgid "Cross-linked blocks found! Better go run e2fsck first!" msgstr "" "Tìm thấy các khối liên kết chồng chéo ! Tốt nhất hãy chạy e2fsck trước !" #: libparted/fs/ext2/ext2_block_relocator.c:537 #, c-format msgid "Block %i has no reference? Weird." msgstr "Khối %i không có tham chiếu ? Kỳ lạ." #: libparted/fs/ext2/ext2_block_relocator.c:738 #, c-format msgid "Block %i shouldn't have been marked (%d, %d)!" msgstr "Khối %i không nên bị đánh dấu (%d, %d) !" #: libparted/fs/ext2/interface.c:226 msgid "" "The ext2 file system passed a basic check. For a more comprehensive check, " "use the e2fsck program." msgstr "" "Hệ thống tập tin ext2 đã qua kiểm tra cÆ¡ bản. Äể kiểm tra kỹ hÆ¡n, hãy dùng " "chương trình e2fsck." #: libparted/fs/ext2/interface.c:243 msgid "Sorry, can't move the start of ext2 partitions yet!" msgstr "Tiếc là chưa có thể di chuyển đầu cá»§a phân vùng ext2 !" #: libparted/fs/ext2/ext2_buffer.c:82 msgid "Couldn't flush buffer cache!" msgstr "Không thể chuyển hết ra ngoài vùng nhá»› tạm bá»™ đệm !" #: libparted/fs/ext2/ext2_mkfs.c:161 msgid "writing per-group metadata" msgstr "Ä‘ang ghi siêu dữ liệu từng nhóm" #: libparted/fs/ext2/ext2_mkfs.c:597 msgid "File system too small for ext2." msgstr "Hệ thống tập tin quá nhỠđối vá»›i ext2." #: libparted/fs/fat/calc.c:135 #, c-format msgid "" "You need %s of free disk space to shrink this partition to this size. " "Currently, only %s is free." msgstr "" "Ngưá»i dùng cần %s không gian trống để rút ngắn phân vùng tá»›i kích thước này " "(hiện thá»i chỉ có %s trống)." #: libparted/fs/fat/context.c:56 #, c-format msgid "" "Cluster start delta = %d, which is not a multiple of the cluster size %d." msgstr "" "Delta bắt đầu chùm = %d, mà không phải là bá»™i số cá»§a kích thước chùm %d." #: libparted/fs/fat/fat.c:310 #, c-format msgid "Partition too big/small for a %s file system." msgstr "Phân vùng quá lá»›n/nhỠđối vá»›i hệ thống tập tin %s." #: libparted/fs/fat/fat.c:476 msgid "" "The FATs don't match. If you don't know what this means, then select " "cancel, run scandisk on the file system, and then come back." msgstr "" "Các FAT không tương ứng. Nếu không biết ý nghÄ©a cá»§a nó, thì hãy chá»n cancel " "(Thôi), chạy scandisk trên hệ thống tập tin, sau đó quay lại." #: libparted/fs/fat/fat.c:516 msgid "There are no possible configurations for this FAT type." msgstr "Không có cấu hình có thể làm cho kiểu FAT này." #: libparted/fs/fat/fat.c:528 #, c-format msgid "" "File system doesn't have expected sizes for Windows to like it. Cluster " "size is %dk (%dk expected); number of clusters is %d (%d expected); size of " "FATs is %d sectors (%d expected)." msgstr "" "Hệ thống tập tin không có kích thước Windows mong đợi. Kích thước chùm là " "%dk (mong đợi %dk); số chùm là %d (mong đợi %d); kích thước FAT là %d rãnh " "ghi (mong đợi %d)." #: libparted/fs/fat/fat.c:551 #, c-format msgid "" "File system is reporting the free space as %d clusters, not %d clusters." msgstr "Hệ thống tập tin cho biết không gian trống là %d chùm, không phải %d." #: libparted/fs/fat/fat.c:876 msgid "" "GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT " "support will be disabled." msgstr "" "GNU Parted bị biên dịch sai: rãnh ghi khởi động FAT nên là 512 byte. Vì thế " "tắt há»— trợ FAT." #: libparted/fs/fat/resize.c:158 msgid "" "There's not enough room in the root directory for all of the files. Either " "cancel, or ignore to lose the files." msgstr "" "Không đủ chá»— trống trong thư mục gốc để chứa tất cả các tập tin. Hoặc Thôi " "(cancel), hoặc Bá» qua (ignore) và sẽ mất các tập tin." #: libparted/fs/fat/resize.c:299 msgid "Error writing to the root directory." msgstr "Gặp lá»—i khi ghi vào thư mục gốc." #: libparted/fs/fat/resize.c:488 msgid "If you leave your file system as FAT16, then you will have no problems." msgstr "Nếu để hệ thống tập tin là FAT16, thì sẽ không có vấn đỠgì." #: libparted/fs/fat/resize.c:491 msgid "" "If you convert to FAT16, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual)." msgstr "" "Nếu chuyển thành FAT16, và cài đặt MS Windows trên phân vùng này, thì sẽ " "phải cài đặt lại trình khởi động cá»§a MS Windows. Nếu muốn thá»±c hiện, thì " "cần xem tài liệu ngưá»i dùng cá»§a Parted (hoặc tài liệu cá»§a nhà phân phối)." #: libparted/fs/fat/resize.c:499 msgid "" "If you leave your file system as FAT32, then you will not introduce any new " "problems." msgstr "Nếu dể hệ thống là FAT32, thì sẽ không có vấn đỠmá»›i nào xảy ra." #: libparted/fs/fat/resize.c:503 msgid "" "If you convert to FAT32, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual). Also, " "converting to FAT32 will make the file system unreadable by MS DOS, MS " "Windows 95a, and MS Windows NT." msgstr "" "Nếu chuyển thành FAT32, và cài đặt MS Windows trên phân vùng này, thì sẽ " "phải cài đặt lại trình khởi động cá»§a MS Windows. Nếu muốn thá»±c hiện, thì " "cần xem tài liệu ngưá»i dùng cá»§a Parted (hoặc tài liệu cá»§a nhà phân phối). " "Äồng thá»i, chuyển thành FAT32 sẽ khiến MS DOS, MS Windows 95a, và MS Windows " "NT không Ä‘á»c được chúng." #: libparted/fs/fat/resize.c:517 #, c-format msgid "%s %s %s" msgstr "%s %s %s" #: libparted/fs/fat/resize.c:518 msgid "Would you like to use FAT32?" msgstr "Bạn có muốn dùng FAT32 ?" #: libparted/fs/fat/resize.c:549 libparted/fs/fat/resize.c:565 #, c-format msgid "%s %s" msgstr "%s %s" #: libparted/fs/fat/resize.c:550 msgid "" "The file system can only be resized to this size by converting to FAT16." msgstr "" "Chỉ thay đổi được kích thước cá»§a hệ thống tập tin thành kích thước này khi " "chuyển thành FAT16." #: libparted/fs/fat/resize.c:566 msgid "" "The file system can only be resized to this size by converting to FAT32." msgstr "" "Chỉ thay đổi được kích thước cá»§a hệ thống tập tin thành kích thước này khi " "chuyển thành FAT32." #: libparted/fs/fat/resize.c:579 msgid "" "GNU Parted cannot resize this partition to this size. We're working on it!" msgstr "" "GNU Parted không thay đổi được kích thước cá»§a phân vùng này thành kích thước " "chỉ ra. Chúng tôi Ä‘ang thá»±c hiện việc đó!" #: libparted/fs/fat/bootsector.c:49 libparted/fs/fat/bootsector.c:56 msgid "File system has an invalid signature for a FAT file system." msgstr "Hệ thống tập tin có chữ ký sai cho hệ thống tập tin kiểu FAT." #: libparted/fs/fat/bootsector.c:64 msgid "File system has an invalid sector size for a FAT file system." msgstr "" "Hệ thống tập tin có kích thước rãnh ghi sai cho hệ thống tập tin kiểu FAT." #: libparted/fs/fat/bootsector.c:71 msgid "File system has an invalid cluster size for a FAT file system." msgstr "Hệ thống tập tin có kích thước chùm sai cho hệ thống tập tin kiểu FAT." #: libparted/fs/fat/bootsector.c:78 msgid "" "File system has an invalid number of reserved sectors for a FAT file system." msgstr "" "Hệ thống tập tin có số rãnh ghi dá»± trữ sai cho hệ thống tập tin kiểu FAT." #: libparted/fs/fat/bootsector.c:85 msgid "File system has an invalid number of FATs." msgstr "Hệ thống tập tin có số FAT sai." #: libparted/fs/fat/bootsector.c:139 #, c-format msgid "" "This file system has a logical sector size of %d. GNU Parted is known not " "to work properly with sector sizes other than 512 bytes." msgstr "" "Hệ thống tập tin có kích thước rãnh ghi hợp lý là %d. GNU Parted không làm " "việc chính xác vá»›i kích thước rãnh ghi khác 512 byte." #: libparted/fs/fat/bootsector.c:164 #, c-format msgid "" "The file system's CHS geometry is (%d, %d, %d), which is invalid. The " "partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the " "file system's CHS geometry will be left unchanged. If you select Fix, the " "file system's CHS geometry will be set to match the partition table's CHS " "geometry." msgstr "" "Cấu trúc hình há»c CHS cá»§a hệ thống tập tin là (%d, %d, %d) mà sai. Cấu trúc " "hình há»c CHS cá»§a bảng phân vùng là (%d, %d, %d). Nếu ngưá»i dùng chá»n « Bá» " "qua » thì không thay đổi cấu trúc hình há»c CHS cá»§a hệ thống tập tin. Chá»n « " "Sá»­a » thì cấu trúc hình há»c CHS cá»§a hệ thống tập tin được đặt để tương ứng " "vá»›i cấu trúc hình há»c CHS cá»§a bảng phân vùng." #: libparted/fs/fat/bootsector.c:213 msgid "FAT boot sector says logical sector size is 0. This is weird. " msgstr "Rãnh ghi khởi động FAT nói kích thước rãnh ghi hợp lý là 0. Kỳ lạ. " #: libparted/fs/fat/bootsector.c:219 msgid "FAT boot sector says there are no FAT tables. This is weird. " msgstr "Rãnh ghi khởi động FAT nói không có bảng FAT. Kỳ lạ. " #: libparted/fs/fat/bootsector.c:225 msgid "FAT boot sector says clusters are 0 sectors. This is weird. " msgstr "Rãnh ghi khởi động FAT nói chùm là 0 rãnh ghi. Kỳ lạ. " #: libparted/fs/fat/bootsector.c:235 msgid "File system is FAT12, which is unsupported." msgstr "Hệ thống tập tin là FAT12, mà không được há»— trợ." #: libparted/fs/fat/bootsector.c:411 #, c-format msgid "" "The information sector has the wrong signature (%x). Select cancel for now, " "and send in a bug report. If you're desperate, it's probably safe to ignore." msgstr "" "Rãnh ghi thông tin có chữ ký sai (%x). Hãy chá»n « Thôi », và gá»­i má»™t báo " "cáo lá»—i. Nếu liá»u lÄ©nh, thì có thể lá» Ä‘i." #: libparted/fs/fat/count.c:144 #, c-format msgid "Bad directory entry for %s: first cluster is the end of file marker." msgstr "Mục thư mục xấu cho %s: chùm đầu tiên là cuối cá»§a đánh dấu tập tin." #: libparted/fs/fat/count.c:157 #, c-format msgid "" "Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk." msgstr "FAT xấu: chuá»—i không kết thúc cho %s. Cần chạy dosfsck hoặc scandisk." #: libparted/fs/fat/count.c:166 #, c-format msgid "" "Bad FAT: cluster %d outside file system in chain for %s. You should run " "dosfsck or scandisk." msgstr "" "FAT xấu: chùm %d ngoài hệ thống tập tin trong chuá»—i cho %s. Cần chạy " "dosfsck hoặc scandisk." #: libparted/fs/fat/count.c:176 #, c-format msgid "" "Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or " "scandisk." msgstr "" "FAT xấu: chùm %d là liên kết chồng chéo cho %s. Cần chạy dosfsck hoặc " "scandisk." #: libparted/fs/fat/count.c:195 #, c-format msgid "%s is %dk, but it has %d clusters (%dk)." msgstr "%s là %dk, nhưng nó có %d chùm (%dk)." #: libparted/fs/fat/count.c:258 #, c-format msgid "" "The file %s is marked as a system file. This means moving it could cause " "some programs to stop working." msgstr "" "Tập tin %s có dấu hiệu cá»§a tập tin hệ thống. Có nghÄ©a di chuyển tập tin này " "có thể khiến má»™t số chương trình dừng làm việc." #: libparted/fs/fat/table.c:136 #, c-format msgid "" "FAT %d media %x doesn't match the boot sector's media %x. You should " "probably run scandisk." msgstr "" "FAT %d vật chứa %x không tương ứng vật chứa rãnh ghi khởi động %x. Có thể " "cần chạy scandisk." #: libparted/fs/fat/table.c:268 #, c-format msgid "fat_table_set: cluster %ld outside file system" msgstr "fat_table_set: chùm %ld ngoài hệ thống tập tin" #: libparted/fs/fat/table.c:300 #, c-format msgid "fat_table_get: cluster %ld outside file system" msgstr "fat_table_get: cluster %ld ngoài hệ thống tập tin" #: libparted/fs/fat/table.c:342 msgid "fat_table_alloc_cluster: no free clusters" msgstr "fat_table_alloc_cluster: không còn chùm trống" #: libparted/fs/linux_swap/linux_swap.c:288 #, c-format msgid "Unrecognised old style linux swap signature '%10s'." msgstr "Chữ ký trao đổi linux kiểu cÅ© không nhận ra « %10s »." #: libparted/fs/linux_swap/linux_swap.c:331 #, c-format msgid "Unrecognised new style linux swap signature '%10s'." msgstr "Chữ ký trao đổi linux kiểu má»›i không nhận ra « %10s »." #: libparted/fs/linux_swap/linux_swap.c:371 #, c-format msgid "Unrecognised swsusp linux swap signature '%9s'." msgstr "Chữ ký trao đổi linux swsusp không nhận ra « %9s »." #: libparted/fs/linux_swap/linux_swap.c:447 msgid "Too many bad pages." msgstr "Quá nhiá»u trang xấu." #: libparted/fs/hfs/advfs.c:121 libparted/fs/hfs/advfs_plus.c:121 #: libparted/fs/hfs/reloc.c:414 libparted/fs/hfs/reloc.c:508 #: libparted/fs/hfs/reloc_plus.c:538 libparted/fs/hfs/reloc_plus.c:656 #: libparted/fs/hfs/reloc_plus.c:769 msgid "The file system contains errors." msgstr "Hệ thống tập tin chứa lá»—i." #: libparted/fs/hfs/advfs_plus.c:285 msgid "Bad blocks could not be read." msgstr "Không thể Ä‘á»c khối xấu." #: libparted/fs/hfs/cache.c:137 #, c-format msgid "" "Trying to register an extent starting at block 0x%X, but another one already " "exists at this position. You should check the file system!" msgstr "" "Äang cố đăng ký má»™t tầm bắt đầu tại khối 0x%X, nhưng má»™t tầm khác đã có tại " "vị trí này. Ngưá»i dùng cần kiểm tra hệ thống tập tin." #: libparted/fs/hfs/cache.c:214 #, c-format msgid "" "Trying to move an extent from block Ox%X to block Ox%X, but another one " "already exists at this position. This should not happen!" msgstr "" "Äang cố di chuyển má»™t tầm từ khối Ox%X sang khối Ox%X, nhưng má»™t tầm khác đã " "có tại vị trí này. Trưá»ng hợp này không nên xảy ra." #: libparted/fs/hfs/file.c:143 #, c-format msgid "Could not update the extent cache for HFS file with CNID %X." msgstr "Không thể cập nhật vùng nhá»› tạm tầm cho tập tin HFS vá»›i CNID %X." #: libparted/fs/hfs/file.c:180 #, c-format msgid "Trying to read HFS file with CNID %X behind EOF." msgstr "Äang thá»­ Ä‘á»c tập tin HFS vá»›i CNID %X đằng sau EOF." #: libparted/fs/hfs/file.c:190 libparted/fs/hfs/file.c:220 #, c-format msgid "Could not find sector %lli of HFS file with CNID %X." msgstr "Không tìm thấy rãnh ghi %lli cá»§a tập tin HFS vá»›i CNID %X." #: libparted/fs/hfs/file.c:210 #, c-format msgid "Trying to write HFS file with CNID %X behind EOF." msgstr "Äang thá»­ ghi tập tin HFS vá»›i CNID %X đằng sau EOF." #: libparted/fs/hfs/file_plus.c:157 #, c-format msgid "Could not update the extent cache for HFS+ file with CNID %X." msgstr "Không thể cập nhật vùng nhá»› tạm tầm cho tập tin HFS+ vá»›i CNID %X." #: libparted/fs/hfs/file_plus.c:202 #, c-format msgid "Trying to read HFS+ file with CNID %X behind EOF." msgstr "Äang thá»­ Ä‘á»c tập tin HFS+ vá»›i CNID %X đằng sau EOF." #: libparted/fs/hfs/file_plus.c:213 libparted/fs/hfs/file_plus.c:256 #, c-format msgid "Could not find sector %lli of HFS+ file with CNID %X." msgstr "Không tìm thấy rãnh ghi %lli cá»§a tập tin HFS+ vá»›i CNID %X." #: libparted/fs/hfs/file_plus.c:245 #, c-format msgid "Trying to write HFS+ file with CNID %X behind EOF." msgstr "Äang thá»­ ghi tập tin HFS+ vá»›i CNID %X đằng sau EOF." #: libparted/fs/hfs/hfs.c:232 msgid "Sorry, HFS cannot be resized that way yet." msgstr "Tiếc là chưa có thể thay đổi kích cỡ HFS bằng cách đó." #: libparted/fs/hfs/hfs.c:262 libparted/fs/hfs/hfs.c:641 msgid "Data relocation has failed." msgstr "Lá»—i định vị lại dữ liệu." #: libparted/fs/hfs/hfs.c:281 msgid "Data relocation left some data in the end of the volume." msgstr "" "Tiến trình định vị lại dữ liệu đã để lại má»™t số dữ liệu ở cuối khối tin." #: libparted/fs/hfs/hfs.c:320 msgid "writing HFS Master Directory Block" msgstr "Ä‘ang ghi Khối Thư mục Chá»§ HFS" #: libparted/fs/hfs/hfs.c:468 msgid "No valid HFS[+X] signature has been found while opening." msgstr "Không tìm thấy chữ ký HFS[+X] đúng trong khi mở." #: libparted/fs/hfs/hfs.c:478 #, c-format msgid "Version %d of HFS+ isn't supported." msgstr "Phiên bản %d cá»§a HFS+ vẫn không được há»— trợ." #: libparted/fs/hfs/hfs.c:489 #, c-format msgid "Version %d of HFSX isn't supported." msgstr "Phiên bản %d cá»§a HFSX vẫn không được há»— trợ." #: libparted/fs/hfs/hfs.c:672 msgid "Data relocation left some data at the end of the volume." msgstr "" "Tiến trình định vị lại dữ liệu đã để lại má»™t số dữ liệu ở cuối khối tin." #: libparted/fs/hfs/hfs.c:720 msgid "Error while writing the allocation file." msgstr "Gặp lá»—i khi ghi tập tin phân phối." #: libparted/fs/hfs/hfs.c:735 msgid "Error while writing the compatibility part of the allocation file." msgstr "Gặp lá»—i khi ghi phần tính tương thích cá»§a tập tin phân phối." #: libparted/fs/hfs/hfs.c:750 msgid "writing HFS+ Volume Header" msgstr "Ä‘ang ghi Phần đầu Khối tin HFS+" #: libparted/fs/hfs/hfs.c:850 msgid "An error occurred while looking for the mandatory bad blocks file." msgstr "Gặp lá»—i trong khi tìm tập tin khối xấu bắt buá»™c phải có." #: libparted/fs/hfs/hfs.c:904 msgid "" "It seems there is an error in the HFS wrapper: the bad blocks file doesn't " "contain the embedded HFS+ volume." msgstr "" "Có vẻ là gặp lá»—i trong bá»™ bao bá»c HFS: tập tin khối xấu không chứa khối tin " "HFS+ nhúng." #: libparted/fs/hfs/hfs.c:940 msgid "Sorry, HFS+ cannot be resized that way yet." msgstr "Tiếc là chưa có thể thay đổi kích cỡ HFS bằng cách đó." #: libparted/fs/hfs/hfs.c:975 msgid "shrinking embedded HFS+ volume" msgstr "Ä‘ang rút ngắn khối tin HFS+" #: libparted/fs/hfs/hfs.c:991 msgid "Resizing the HFS+ volume has failed." msgstr "Lá»—i thay đổi kích cỡ cá»§a khối tin HFS+." #: libparted/fs/hfs/hfs.c:998 msgid "shrinking HFS wrapper" msgstr "Ä‘ang rút ngắn bá»™ bao bá»c HFS" #: libparted/fs/hfs/hfs.c:1007 msgid "Updating the HFS wrapper has failed." msgstr "Lá»—i cập nhật bá»™ bao bá»c HFS." #: libparted/fs/hfs/hfs.c:1109 libparted/fs/hfs/hfs.c:1194 #, c-format msgid "" "This is not a real %s check. This is going to extract special low level " "files for debugging purposes." msgstr "" "Äây không phải là má»™t kiểm tra %s thật. Tiến trình này sẽ tách các tập tin " "cấp thấp đặc biệt cho mục đích gỡ lá»—i." #: libparted/fs/hfs/journal.c:155 msgid "Bad block list header checksum." msgstr "Sai kiểm tổng (checksum) phần đầu danh sách khối xấu." #: libparted/fs/hfs/journal.c:168 #, c-format msgid "" "Invalid size of a transaction block while replaying the journal (%i bytes)." msgstr "" "Gặp kích cỡ sai cá»§a khối giao dịch trong khi phát lại nhật ký (%i byte)." #: libparted/fs/hfs/journal.c:260 msgid "" "Journal stored outside of the volume are not supported. Try to desactivate " "the journal and run Parted again." msgstr "" "Nhật ký nằm ngoài khối tin thì không được há»— trợ. Hãy thá»­ tắt nhật ký, sau " "đó chạy lại Parted." #: libparted/fs/hfs/journal.c:271 msgid "Journal offset or size is not multiple of the sector size." msgstr "" "Hiệu hay kích cỡ cá»§a nhất ký không phải là bá»™i số cho kích cỡ rãnh ghi." #: libparted/fs/hfs/journal.c:292 msgid "Incorrect magic values in the journal header." msgstr "Gặp giá trị ma thuật sai trong phần đầu nhật ký." #: libparted/fs/hfs/journal.c:302 msgid "Journal size mismatch between journal info block and journal header." msgstr "" "Kích cỡ nhật ký không tương ứng giữa khối thông tin nhật ký và phần đầu nhật " "ký." #: libparted/fs/hfs/journal.c:314 msgid "Some header fields are not multiple of the sector size." msgstr "Má»™t số trưá»ng phần đầu không phải là bá»™i số cho kích cỡ rãnh ghi." #: libparted/fs/hfs/journal.c:323 msgid "" "The sector size stored in the journal is not 512 bytes. Parted only " "supports 512 bytes length sectors." msgstr "" "Kích cỡ rãnh ghi được cất giữ trong nhật ký không phải là 512 byte. Parted " "chỉ há»— trợ rãnh ghi có chiá»u dài 512 byte." #: libparted/fs/hfs/journal.c:335 msgid "Bad journal checksum." msgstr "Lá»—i tổng kiểm tra nhật ký." #: libparted/fs/hfs/journal.c:353 msgid "" "The journal is not empty. Parted must replay the transactions before " "opening the file system. This will modify the file system." msgstr "" "Nhật ký không trống. Parted phải phát lại các giao dịch trước khi mở hệ " "thống tập tin. Tiến trình này sẽ sá»­a đổi hệ thống tập tin." #: libparted/fs/hfs/journal.c:381 msgid "" "The volume header or the master directory block has changed while replaying " "the journal. You should restart Parted." msgstr "" "Phần đầu khối tin hoặc khối thư mục chá»§ bị thay đổi trong khi phát lại nhật " "ký. Cần khởi chạy lại Parted." #: libparted/fs/hfs/probe.c:51 #, c-format msgid "" "Parted can't use HFS file systems on disks with a sector size not equal to " "%d bytes." msgstr "" "Parted không dùng được hệ thống tập tin HFS trên đĩa có kích cỡ rãnh ghi " "khác %d byte." #: libparted/fs/hfs/reloc.c:151 libparted/fs/hfs/reloc_plus.c:155 msgid "An extent has not been relocated." msgstr "Má»™t tầm chưa được định vị lại." #: libparted/fs/hfs/reloc.c:251 libparted/fs/hfs/reloc_plus.c:307 msgid "" "A reference to an extent comes from a place it should not. You should check " "the file system!" msgstr "" "Tham chiếu đến má»™t tầm đến từ vị trí không đúng. Cần kiểm tra hệ thống tập " "tin !" #: libparted/fs/hfs/reloc.c:381 msgid "This HFS volume has no catalog file. This is very unusual!" msgstr "Khối tin HFS không có tập tin phân loại. Rất lạ !" #: libparted/fs/hfs/reloc.c:475 msgid "This HFS volume has no extents overflow file. This is quite unusual!" msgstr "Khối tin HFS không có tập tin tràn tầm. HÆ¡i lạ." #: libparted/fs/hfs/reloc.c:517 libparted/fs/hfs/reloc_plus.c:666 msgid "" "The extents overflow file should not contain its own extents! You should " "check the file system." msgstr "" "Tập tin trản tầm không nên chứa các tầm cá»§a mình. Cần kiểm tra hệ thống tập " "tin." #: libparted/fs/hfs/reloc.c:574 libparted/fs/hfs/reloc_plus.c:844 msgid "Could not cache the file system in memory." msgstr "Không thể nhá»› tạm hệ thống tập tin trong bá»™ nhá»›." #: libparted/fs/hfs/reloc.c:635 libparted/fs/hfs/reloc_plus.c:905 msgid "Bad blocks list could not be loaded." msgstr "Không thể nạp danh sách khối xấu." #: libparted/fs/hfs/reloc.c:649 libparted/fs/hfs/reloc_plus.c:921 msgid "An error occurred during extent relocation." msgstr "Gặp lá»—i trong khi định vị lại tầm." #: libparted/fs/hfs/reloc_plus.c:494 msgid "This HFS+ volume has no catalog file. This is very unusual!" msgstr "Khối tin HFS+ không có tập tin phần loại. Rất lạ !" #: libparted/fs/hfs/reloc_plus.c:617 msgid "This HFS+ volume has no extents overflow file. This is quite unusual!" msgstr "Khối tin HFS+ không có tập tin tràn tầm. HÆ¡i lạ." #: parted/parted.c:123 msgid "displays this help message" msgstr "hiển thị trợ giúp này" #: parted/parted.c:124 msgid "lists partition layout on all block devices" msgstr "liệt kê bố trí phân vùng trên má»i thiết bị khối" #: parted/parted.c:125 msgid "displays machine parseable output" msgstr "hiển thị kết xuất cho máy phân tích được" #: parted/parted.c:126 msgid "never prompts for user intervention" msgstr "không bao giá» nhắc ngưá»i dùng làm gì" #: parted/parted.c:127 msgid "displays the version" msgstr "hiển thị phiên bản" #: parted/parted.c:128 msgid "alignment for new partitions" msgstr "sắp hàng các phân vùng má»›i" #: parted/parted.c:140 msgid "" "NUMBER is the partition number used by Linux. On MS-DOS disk labels, the " "primary partitions number from 1 to 4, logical partitions from 5 onwards.\n" msgstr "" "Sá» là số thứ tá»± phân vùng sá»­ dụng bởi Linux. Trên nhãn đĩa MS-DOS, các phân " "vùng chính có số từ 1 đến 4, và phân vùng hợp lý từ 5 trở Ä‘i.\n" #: parted/parted.c:143 msgid "LABEL-TYPE is one of: " msgstr "KIỂU_NHÃN là má»™t trong số : " #: parted/parted.c:144 msgid "FLAG is one of: " msgstr "CỜ là má»™t trong số : " #: parted/parted.c:145 msgid "UNIT is one of: " msgstr "ÄÆ N_VỊ là má»™t trong số : " #: parted/parted.c:146 msgid "desired alignment: minimum or optimal" msgstr "sắp hàng đã muốn: tối thiểu hay quang" #: parted/parted.c:147 msgid "PART-TYPE is one of: primary, logical, extended\n" msgstr "" "KIỂU_PHẦN là má»™t trong số :\n" " • primary\t\tchính\n" " • logical\t\thợp lý\n" " • extended\tmở rá»™ng\n" #: parted/parted.c:149 msgid "FS-TYPE is one of: " msgstr "KIỂU_HTTT là má»™t trong số : " #: parted/parted.c:150 msgid "" "START and END are disk locations, such as 4GB or 10%. Negative values count " "from the end of the disk. For example, -1s specifies exactly the last " "sector.\n" msgstr "" "ÄẦU và CUá»I là vị trí trên đĩa, v.d. 4GB hay 10%. Giá trị âm đếm từ cuối " "đĩa. Ví dụ, « -1s » chỉ ra chính xác rãnh ghi cuối cùng.\n" #: parted/parted.c:153 msgid "STATE is one of: on, off\n" msgstr "" "TÃŒNH_TRẠNG là má»™t trong số:\n" " • on\t\tbật\n" " • off\t\ttắt\n" #: parted/parted.c:154 msgid "DEVICE is usually /dev/hda or /dev/sda\n" msgstr "THIẾT_BỊ thưá»ng là /dev/hda hoặc /dev/sda\n" #: parted/parted.c:155 msgid "NAME is any word you want\n" msgstr "TÊN là bất kỳ từ gì theo ý muốn\n" #: parted/parted.c:156 msgid "The partition must have one of the following FS-TYPEs: " msgstr "" "Phân vùng phải có má»™t cá»§a những kiểu hệ thống tập tin (KIỂU_HTTT) theo đây: " #: parted/parted.c:160 msgid "" "Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n" "This program is free software, covered by the GNU General Public License.\n" "\n" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" msgstr "" "Tác quyá»n © năm 1998-2006 cá»§a Tổ chức Phần má»m Tá»± do.\n" "Chương trình này là phần má»m tá»± do, được bao quát bởi Giấy Phép Công Cá»™ng " "GNU (GPL).\n" "\n" "Chương trình này được phát hành vì mong muốn nó có ích,\n" "nhưng KHÔNG CÓ BẢO HÀNH GÃŒ CẢ, THẬM CHà KHÔNG CÓ BẢO ÄẢM\n" "ÄÆ¯á»¢C NGỤ à KHẢ NÄ‚NG BÃN HAY KHẢ NÄ‚NG LÀM ÄÆ¯á»¢C VIỆC DỨT KHOÃT.\n" "Xem Giấy Phép Công Cá»™ng GNU để biết thêm chi tiết.\n" "\n" #: parted/parted.c:208 #, c-format msgid "%0.f%%\t(time left %.2d:%.2d)" msgstr "%0.f%%\t(còn lại %.2d:%.2d)" #: parted/parted.c:227 #, c-format msgid "" "Partition %s is being used. You must unmount it before you modify it with " "Parted." msgstr "" "Phân vùng %s Ä‘ang được dùng. Ngưá»i dùng cần bá» gắn nó trước khi sá»­a đổi bằng " "Parted." #: parted/parted.c:245 #, c-format msgid "Partition(s) on %s are being used." msgstr "Phân vùng trên %s Ä‘ang được dùng." #: parted/parted.c:257 msgid "" "The existing file system will be destroyed and all data on the partition " "will be lost. Do you want to continue?" msgstr "" "Hệ thống tập tin đã tồn tại sẽ bị há»§y và tắt cả các dữ liệu trên phân vùng " "sẽ bị mất hoàn toàn. Bạn vẫn còn muốn tiếp tục không?" #: parted/parted.c:269 #, c-format msgid "" "The existing disk label on %s will be destroyed and all data on this disk " "will be lost. Do you want to continue?" msgstr "" "Nhãn đĩa đã tồn tại trên %s sẽ bị há»§y và tắt cả các dữ liệu trên đĩa này sẽ " "bị mất hoàn toàn. Bạn vẫn còn muốn tiếp tục không?" #: parted/parted.c:487 #, c-format msgid "" "WARNING: you are attempting to use %s to operate on (%s) a file system.\n" "%s's file system manipulation code is not as robust as what you'll find in\n" "dedicated, file-system-specific packages like e2fsprogs. We recommend\n" "you use %s only to manipulate partition tables, whenever possible.\n" "Support for performing most operations on most types of file systems\n" "will be removed in an upcoming release.\n" msgstr "" "CẢNH BÃO : bạn Ä‘ang thá»­ sá»­ dụng %s để thao tác má»™t hệ thống tập tin (%s).\n" "Mã nguồn thao tác hệ thống tập tin cá»§a %s không phải cùng mạnh\n" "vá»›i gói dành cho hệ thống tập tin như e2fsprogs.\n" "Khuyên bạn chỉ sá»­ dụng %s để thao tác bảng phân vùng, khi nào có thể.\n" "HÆ¡n nữa, má»™t phiên bản sau cá»§a gói này sẽ gỡ bá» khả năng há»— trợ thao tác\n" "đối vá»›i gần tất cả các kiểu hệ thống tập tin.\n" #: parted/parted.c:508 parted/parted.c:702 parted/parted.c:1179 #: parted/parted.c:1263 parted/parted.c:1935 parted/parted.c:2016 #: parted/parted.c:2088 parted/parted.c:2122 msgid "Partition number?" msgstr "Số thứ tá»± phân vùng ?" #: parted/parted.c:551 msgid "Source device?" msgstr "Thiết bị nguồn ?" #: parted/parted.c:555 msgid "Source partition number?" msgstr "Số thứ tá»± phân vùng nguồn ?" #: parted/parted.c:560 msgid "Can't copy an extended partition." msgstr "Không thể sao chép phân vùng mở rá»™ng." #: parted/parted.c:566 msgid "Destination partition number?" msgstr "Số thứ tá»± phân vùng đích ?" #: parted/parted.c:655 msgid "New disk label type?" msgstr "Kiểu nhãn đĩa má»›i ?" #: parted/parted.c:706 parted/parted.c:788 parted/parted.c:1000 msgid "File system type?" msgstr "Kiểu hệ thống tập tin ?" #: parted/parted.c:762 parted/parted.c:983 msgid "Partition type?" msgstr "Kiểu phân vùng ?" #: parted/parted.c:780 parted/parted.c:990 parted/parted.c:1266 msgid "Partition name?" msgstr "Tên phân vùng ?" #: parted/parted.c:794 parted/parted.c:1002 parted/parted.c:1194 #: parted/parted.c:1883 parted/parted.c:1944 msgid "Start?" msgstr "Äầu ?" #: parted/parted.c:796 parted/parted.c:1005 parted/parted.c:1197 #: parted/parted.c:1885 parted/parted.c:1946 msgid "End?" msgstr "Cuối ?" #: parted/parted.c:862 parted/parted.c:1066 #, c-format msgid "" "You requested a partition from %s to %s.\n" "The closest location we can manage is %s to %s.%s" msgstr "" "Ngưá»i dùng đã yêu cầu tạo má»™t phân vùng từ %s đến %s.\n" "Vùng gần nhất có thể quản lý là %s đến %s.%s" #: parted/parted.c:867 parted/parted.c:1071 msgid "" "\n" "Is this still acceptable to you?" msgstr "" "\n" "Vẫn tốt ?" #: parted/parted.c:889 parted/parted.c:1093 msgid "The resulting partition is not properly aligned for best performance." msgstr "Phân vùng kết quả chưa được sắp hàng cho hiệu suất tốt nhất." #: parted/parted.c:995 msgid "An extended partition cannot hold a file system. Did you want mkpart?" msgstr "Phân vùng mở rá»™ng không thể có hệ thống tập tin. Bạn muốn mkpart ?" #: parted/parted.c:1185 msgid "Can't move an extended partition." msgstr "Không thể di chuyển phân vùng mở rá»™ng." #: parted/parted.c:1214 msgid "Can't move a partition onto itself. Try using resize, perhaps?" msgstr "" "Không thể di chuyển má»™t phân vùng lên chính nó. Có thể, hãy thá»­ thay đổi " "kích thước ?" #: parted/parted.c:1360 #, c-format msgid "Minor: %d\n" msgstr "Phụ : %d\n" #: parted/parted.c:1361 #, c-format msgid "Flags: %s\n" msgstr "Cá» : %s\n" #: parted/parted.c:1362 #, c-format msgid "File System: %s\n" msgstr "Hệ thống Tập tin: %s\n" #: parted/parted.c:1363 msgid "Size: " msgstr "Cỡ : " #: parted/parted.c:1368 msgid "Minimum size: " msgstr "Kích cỡ tối thiểu : " #: parted/parted.c:1371 msgid "Maximum size: " msgstr "Kích cỡ tối Ä‘a: " #: parted/parted.c:1504 #, c-format msgid "Model: %s (%s)\n" msgstr "Mô hình: %s (%s)\n" #: parted/parted.c:1506 #, c-format msgid "Disk %s: %s\n" msgstr "ÄÄ©a %s: %s\n" #: parted/parted.c:1507 #, c-format msgid "Sector size (logical/physical): %lldB/%lldB\n" msgstr "Kích cỡ rãnh ghi (hợp lý/vật lý): %lldB/%lldB\n" #: parted/parted.c:1525 #, c-format msgid "BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s.\n" msgstr "Dạng hình trụ,đầu,rãnh ghi BIOS: %d,%d,%d. Má»—i trụ là %s.\n" #: parted/parted.c:1534 #, c-format msgid "Partition Table: %s\n" msgstr "Bảng Phân Vùng: %s\n" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Number" msgstr "Số" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Start" msgstr "Äầu" #: parted/parted.c:1550 parted/parted.c:1553 msgid "End" msgstr "Cuối" #: parted/parted.c:1553 msgid "Size" msgstr "Kích cỡ" #: parted/parted.c:1557 msgid "Type" msgstr "Kiểu" #: parted/parted.c:1559 msgid "File system" msgstr "Hê thống tập tin" #: parted/parted.c:1562 msgid "Name" msgstr "Tên" #: parted/parted.c:1564 msgid "Flags" msgstr "Cá»" #: parted/parted.c:1621 msgid "Free Space" msgstr "Chá»— trống" #: parted/parted.c:1782 #, c-format msgid "" "A %s %s partition was found at %s -> %s. Do you want to add it to the " "partition table?" msgstr "" "Tìm thấy má»™t phân vùng %s %s tại %s -> %s. Thêm nó vào bảng phân vùng ?" #: parted/parted.c:1821 msgid "searching for file systems" msgstr "Ä‘ang tìm kiếm hệ thống tập tin" #: parted/parted.c:2041 msgid "New device?" msgstr "Thiết bị má»›i ?" #: parted/parted.c:2086 msgid "alignment type(min/opt)" msgstr "cách sắp hàng (tiểu/quang)" #: parted/parted.c:2093 #, c-format msgid "%d aligned\n" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d not aligned\n" msgstr "" #: parted/parted.c:2124 msgid "Flag to Invert?" msgstr "Cá» cần đảo ngược ?" #: parted/parted.c:2129 msgid "New state?" msgstr "Tình trạng má»›i ?" #: parted/parted.c:2166 msgid "Unit?" msgstr "ÄÆ¡n vị ?" #: parted/parted.c:2348 msgid "align-check" msgstr "align-check" #: parted/parted.c:2351 msgid "" "align-check TYPE N check partition N for TYPE(min|" "opt) alignment" msgstr "" "align-check KIỂU Sá» kiểm tra phân vùng Sá» có sắp hàng " "KIỂU (min|opt)" #: parted/parted.c:2359 msgid "check" msgstr "kiểm" #: parted/parted.c:2362 msgid "" "check NUMBER do a simple check on the file system" msgstr "" "check Sá» thá»±c hiện má»™t kiểm tra đơn giản trên hệ thống tập " "tin" #: parted/parted.c:2368 msgid "cp" msgstr "chép" #: parted/parted.c:2371 msgid "" "cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another " "partition" msgstr "" "cp [TỪ THIẾT BỊ] TỪ_Sá» ÄẾN_Sá» sao chép hệ thống tập tin tá»›i phân vùng " "khác" #: parted/parted.c:2377 msgid "help" msgstr "trợ giúp" #: parted/parted.c:2380 msgid "" "help [COMMAND] print general help, or help on " "COMMAND" msgstr "" "help [LỆNH] in trợ giúp chung, hoặc trợ giúp trên câu LỆNH" #: parted/parted.c:2386 msgid "mklabel" msgstr "tạo nhãn" #: parted/parted.c:2386 msgid "mktable" msgstr "tạo bảng" #: parted/parted.c:2389 msgid "" "mklabel,mktable LABEL-TYPE create a new disklabel (partition " "table)" msgstr "" "mklabel,mktable KIỂU_NHÃN tạo má»™t nhãn đĩa má»›i (bảng phân vùng)" #: parted/parted.c:2395 msgid "mkfs" msgstr "tạo hệ thống tập tin" #: parted/parted.c:2398 msgid "" "mkfs NUMBER FS-TYPE make a FS-TYPE file system on " "partition NUMBER" msgstr "" "mkfs Sá» KIỂU tạo má»™t hệ thống tập tin KIỂU này trên phân vùng Sá» " "thứ tá»± này" #: parted/parted.c:2404 msgid "mkpart" msgstr "tạo phân vùng" #: parted/parted.c:2407 msgid "mkpart PART-TYPE [FS-TYPE] START END make a partition" msgstr "mkpart KIỂU_PV [KIỂU_HTTT] ÄẦU CUá»I tạo má»™t phân vùng" #: parted/parted.c:2413 msgid "" "'mkpart' makes a partition without creating a new file system on the " "partition. FS-TYPE may be specified to set an appropriate partition ID.\n" msgstr "" "« mkpart » tạo má»™t phân vùng mà không tạo má»™t hệ thống tập tin má»›i trên phân " "vùng đó. Có thể chỉ ra KIỂU_HTTT (kiểu hệ thống tập tin) để đặt má»™t mã số " "phân vùng thích hợp.\n" #: parted/parted.c:2418 msgid "mkpartfs" msgstr "tạo phân vùng có hệ thống tập tin" #: parted/parted.c:2421 msgid "" "mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system" msgstr "" "mkpartfs KIỂU_PV KIỂU_HTTT ÄẦU CUá»I tạo má»™t phân vùng vá»›i má»™t hệ thống " "tập tin" #: parted/parted.c:2427 msgid "move" msgstr "dá»i" #: parted/parted.c:2430 msgid "move NUMBER START END move partition NUMBER" msgstr "move Sá» ÄẦU CUá»I di chuyển phân vùng Sá»" #: parted/parted.c:2435 msgid "name" msgstr "tên" #: parted/parted.c:2438 msgid "name NUMBER NAME name partition NUMBER as NAME" msgstr "name Sá» TÊN đặt tên phân vùng Sá» là TÊN" #: parted/parted.c:2443 msgid "print" msgstr "in" #: parted/parted.c:2446 msgid "" "print [devices|free|list,all|NUMBER] display the partition table, " "available devices, free space, all found partitions, or a particular " "partition" msgstr "" "print [devices|free|list,all|Sá»] hiển thị phân vùng và:\n" " • devices\t\tcác thiết bị sẵn sàng\n" " • free\t\tsức chứa còn trống\n" " • list,all\t\ttất cả các phân vùng đã tìm\n" " • Sá»\t\t\tmá»™t phân vùng nào đó" #: parted/parted.c:2451 msgid "" "Without arguments, 'print' displays the entire partition table. However with " "the following arguments it performs various other actions.\n" msgstr "" "Khi không có đối số, « print » hiển thị toàn bá»™ bảng phân vùng. Nếu đưa\n" "ra các đối số theo sau, thì nó làm má»™t số hành vi khác.\n" #: parted/parted.c:2453 msgid " devices : display all active block devices\n" msgstr " devices : hiển thị tất cả các thiết bị khối vẫn hoạt động\n" #: parted/parted.c:2454 msgid "" " free : display information about free unpartitioned space on the " "current block device\n" msgstr "" " free : hiển thị thông tin vá» sức chứa còn trống chưa phân vùng trên " "thiết bị khối hiện thá»i\n" #: parted/parted.c:2456 msgid "" " list, all : display the partition tables of all active block devices\n" msgstr "" " list, all : hiển thị các bảng phân vùng cá»§a má»i thiết bị khối vẫn hoạt " "động\n" #: parted/parted.c:2457 msgid "" " NUMBER : display more detailed information about this particular " "partition\n" msgstr " Sá» : hiển thị thông tin chi tiết hÆ¡n vá» phân vùng này\n" #: parted/parted.c:2462 msgid "quit" msgstr "thoát" #: parted/parted.c:2465 msgid "quit exit program" msgstr "quit thoát khá»i chương trình" #: parted/parted.c:2470 msgid "rescue" msgstr "cứu" #: parted/parted.c:2473 msgid "" "rescue START END rescue a lost partition near START " "and END" msgstr "" "rescue ÄẦU CUá»I phục hồi má»™t phân vùng đã mất cạnh ÄẦU và CUá»I" #: parted/parted.c:2479 msgid "resize" msgstr "đổi cỡ" #: parted/parted.c:2482 msgid "" "resize NUMBER START END resize partition NUMBER and its " "file system" msgstr "" "resize Sá» ÄẦU CUá»I thay đổi kích cỡ cá»§a phân vùng số và hệ " "thống tập tin cá»§a nó" #: parted/parted.c:2490 msgid "rm" msgstr "bá»" #: parted/parted.c:2493 msgid "rm NUMBER delete partition NUMBER" msgstr "rm Sá» xóa bá» phân vùng Sá»" #: parted/parted.c:2498 msgid "select" msgstr "chá»n" #: parted/parted.c:2501 msgid "select DEVICE choose the device to edit" msgstr "select THIẾT_BỊ chá»n thiết bị cần sá»­a" #: parted/parted.c:2506 msgid "set" msgstr "đặt" #: parted/parted.c:2509 msgid "" "set NUMBER FLAG STATE change the FLAG on partition NUMBER" msgstr "set Sá» CỜ TÃŒNH_TRẠNG thay đổi CỜ trên phân vùng Sá»" #: parted/parted.c:2515 msgid "toggle" msgstr "bật/tắt" #: parted/parted.c:2518 msgid "" "toggle [NUMBER [FLAG]] toggle the state of FLAG on " "partition NUMBER" msgstr "" "toggle [Sá» [CỜ]] bật/tắt tình trạng cá»§a CỜ trên phân vùng " "Sá»" #: parted/parted.c:2524 msgid "unit" msgstr "đơn vị" #: parted/parted.c:2527 msgid "unit UNIT set the default unit to UNIT" msgstr "unit ÄÆ N_VỊ đặt đơn vị mặc định" #: parted/parted.c:2532 msgid "version" msgstr "phiên bản" #: parted/parted.c:2535 msgid "" "version display the version number and " "copyright information of GNU Parted" msgstr "" "version hiển thị số thứ tá»± phiên bản và " "thông tin tác quyá»n vá» GNU Parted" #: parted/parted.c:2539 msgid "" "'version' displays copyright and version information corresponding to this " "copy of GNU Parted\n" msgstr "" "« version » hiển thị thông tin vá» tác quyá»n và phiên bản tương ứng vá»›i bản " "sao GNU Parted này\n" #: parted/parted.c:2607 #, c-format msgid "Usage: %s [-hlmsv] [-a] [DEVICE [COMMAND [PARAMETERS]]...]\n" msgstr "Sá»­ dụng: %s [-hlmsv] [-a] [THIẾT_BỊ [LỆNH [THAM_Sá»]]...]\n" #: parted/parted.c:2651 msgid "No device found" msgstr "Không tìm thấy thiết bị" #: parted/parted.c:2688 msgid "WARNING: You are not superuser. Watch out for permissions." msgstr "" "CẢNH BÃO : bạn không phải là siêu ngưá»i dùng nên bạn không thể thay đổi các " "quyá»n truy cập." #: parted/parted.c:2726 msgid "You may need to update /etc/fstab.\n" msgstr "Có thể cần cập nhật tập tin « /etc/fstab ».\n" #: parted/ui.c:162 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n" msgstr "" "Chào mừng bạn đến vá»›i GNU Parted ! Hãy gõ « help » để xem danh sách các câu " "lệnh.\n" #: parted/ui.c:165 msgid "" "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n" "Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run " "in\n" "interactive mode.\n" msgstr "" "Sá»­ dụng: parted [TÙY_CHỌN]... [THIẾT_BỊ [LỆNH [THAM_Sá»]...]...]\n" "Ãp dụng các câu LỆNH vá»›i các THAM_Sá» tá»›i THIẾT_BỊ. Nếu\n" "không có câu LỆNH nào chạy trong chế độ há»i đáp.\n" #: parted/ui.c:170 #, c-format msgid "" "\n" "\n" "You found a bug in GNU Parted! Here's what you have to do:\n" "\n" "Don't panic! The bug has most likely not affected any of your data.\n" "Help us to fix this bug by doing the following:\n" "\n" "Check whether the bug has already been fixed by checking\n" "the last version of GNU Parted that you can find at:\n" "\n" "\thttp://ftp.gnu.org/gnu/parted/\n" "\n" "Please check this version prior to bug reporting.\n" "\n" "If this has not been fixed yet or if you don't know how to check,\n" "please visit the GNU Parted website:\n" "\n" "\thttp://www.gnu.org/software/parted\n" "\n" "for further information.\n" "\n" "Your report should contain the version of this release (%s)\n" "along with the error message below, the output of\n" "\n" "\tparted DEVICE unit co print unit s print\n" "\n" "and the following history of commands you entered.\n" "Also include any additional information about your setup you\n" "consider important.\n" msgstr "" "\n" "\n" "Bạn đã tìm má»™t lá»—i trong phần má»m GNU Parted ! Hãy bình tÄ©nh, rất có thể là " "lá»—i này không có tác động dữ liệu cá»§a bạn.\n" "\n" "Xin hãy giúp chúng tôi sá»­a chữa lá»—i này bằng cách theo những bước theo đây:\n" "\n" "1. \tKiểm tra nếu phiên bản GNU Parted má»›i nhất:\n" "\n" "\thttp://ftp.gnu.org/gnu/parted/\n" "\n" "\tđã sá»­a chữa lá»—i này chưa. Nếu chưa, hãy tiếp tục:\n" "\n" "2.\tÄể biết thêm thông tin, hãy thăm trang chá»§ GNU Parted:\n" "\n" "\thttp://www.gnu.org/software/parted\n" "\n" "3.\tHãy gá»­i má»™t báo cáo lá»—i cho địa chỉ . Báo cáo này " "nên chứa:(a)\tsố thứ tá»± phiên bản (%s)(b)\tthông Ä‘iệp lá»—i dưới đây, kết xuất " "cá»§a câu lệnh:\n" "\n" "\tparted THIẾT_BỊ unit co print unit s print\n" "\n" "(c)\tlược sá»­ các câu lệnh bạn đã gõ vào\n" "(d)\tthông tin bổ sung nào vá» cấu hình máy tính và hệ Ä‘iá»u hành mà bạn thấy " "là quan trá»ng.\n" "\n" "Má»™t khi bạn làm những bước trên, cám Æ¡n bạn giúp phát triển phần má»m GNU " "Parted tốt hÆ¡n ! :)\n" #: parted/ui.c:291 msgid "" "\n" "Command History:\n" msgstr "" "\n" "Lược sá»­ Câu lệnh:\n" #: parted/ui.c:354 msgid "" "\n" "Error: SEGV_MAPERR (Address not mapped to object)\n" msgstr "" "\n" "Lá»—i: SEGV_MAPERR (Äịa chỉ không được ánh xạ tá»›i đối tượng)\n" #: parted/ui.c:360 msgid "" "\n" "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n" msgstr "" "\n" "Lá»—i: SEGV_ACCERR (Quyá»n truy cập sai cho đối tượng đã ánh xạ\n" #: parted/ui.c:365 msgid "" "\n" "Error: A general SIGSEGV signal was encountered.\n" msgstr "" "\n" "Lá»—i: gặp má»™t tín hiệu SIGSEGV chung.\n" #: parted/ui.c:389 msgid "" "\n" "Error: FPE_INTDIV (Integer: divide by zero)" msgstr "" "\n" "Lá»—i: FPE_INTDIV (Số nguyên: chia cho không)" #: parted/ui.c:394 msgid "" "\n" "Error: FPE_INTOVF (Integer: overflow)" msgstr "" "\n" "Lá»—i: FPE_INTOVF (Số nguyên: tràn)" #: parted/ui.c:399 msgid "" "\n" "Error: FPE_FLTDIV (Float: divide by zero)" msgstr "" "\n" "Lá»—i: FPE_FLTDIV (Phù động: chia cho không)" #: parted/ui.c:404 msgid "" "\n" "Error: FPE_FLTOVF (Float: overflow)" msgstr "" "\n" "Lá»—i: FPE_FLTOVF (Phù động: tràn)" #: parted/ui.c:409 msgid "" "\n" "Error: FPE_FLTUND (Float: underflow)" msgstr "" "\n" "Lá»—i: FPE_FLTUND (Phù động: tràn ngược)" #: parted/ui.c:414 msgid "" "\n" "Error: FPE_FLTRES (Float: inexact result)" msgstr "" "\n" "Lá»—i: FPE_FLTRES (Phù động: kết quả không chính xác)" #: parted/ui.c:419 msgid "" "\n" "Error: FPE_FLTINV (Float: invalid operation)" msgstr "" "\n" "Lá»—i: FPE_FLTINV (Phù động: thao tác sai)" #: parted/ui.c:424 msgid "" "\n" "Error: FPE_FLTSUB (Float: subscript out of range)" msgstr "" "\n" "Lá»—i: FPE_FLTSUB (Phù động: chữ thấp ở ngoại phạm vi)" #: parted/ui.c:429 msgid "" "\n" "Error: A general SIGFPE signal was encountered." msgstr "" "\n" "Lá»—i: gặp má»™t tín hiệu SIGFPE chung." #: parted/ui.c:453 msgid "" "\n" "Error: ILL_ILLOPC (Illegal Opcode)" msgstr "" "\n" "Lá»—i: ILL_ILLOPC (Mã thao tác cấm)" #: parted/ui.c:458 msgid "" "\n" "Error: ILL_ILLOPN (Illegal Operand)" msgstr "" "\n" "Lá»—i: ILL_ILLOPN (Toán hạng cấm)" #: parted/ui.c:463 msgid "" "\n" "Error: ILL_ILLADR (Illegal addressing mode)" msgstr "" "\n" "Lá»—i: ILL_ILLADR (Chế độ đặt địa chỉ cấm)" #: parted/ui.c:468 msgid "" "\n" "Error: ILL_ILLTRP (Illegal Trap)" msgstr "" "\n" "Lá»—i : ILL_ILLTRP (Bẫy cấm)" #: parted/ui.c:473 msgid "" "\n" "Error: ILL_PRVOPC (Privileged Opcode)" msgstr "" "\n" "Lá»—i: ILL_PRVOPC (Mã thao tác có quyá»n đặc biệt)" #: parted/ui.c:478 msgid "" "\n" "Error: ILL_PRVREG (Privileged Register)" msgstr "" "\n" "Lá»—i: ILL_PRVREG (Thanh ghi có quyá»n đặc biệt)" #: parted/ui.c:483 msgid "" "\n" "Error: ILL_COPROC (Coprocessor Error)" msgstr "" "\n" "Lá»—i: ILL_COPROC (Lá»—i tiến trình đồng chạy)" #: parted/ui.c:488 msgid "" "\n" "Error: ILL_BADSTK (Internal Stack Error)" msgstr "" "\n" "Lá»—i: ILL_BADSTK (Lá»—i đống ná»™i bá»™)" #: parted/ui.c:493 msgid "" "\n" "Error: A general SIGILL signal was encountered." msgstr "" "\n" "Lá»—i: gặp má»™t tín hiệu SIGILL chung." #: parted/ui.c:892 #, c-format msgid "invalid token: %s" msgstr "hiệu bài sai: %s" #: parted/ui.c:1048 msgid "Expecting a partition number." msgstr "Mong đợi số thứ tá»± phân vùng." #: parted/ui.c:1057 msgid "Partition doesn't exist." msgstr "Phân vùng không tồn tại." #: parted/ui.c:1077 msgid "Expecting a file system type." msgstr "Mong đợi kiểu hệ thống tập tin." #: parted/ui.c:1084 #, c-format msgid "Unknown file system type \"%s\"." msgstr "Không rõ kiểu hệ thống tập tin « %s »." #: parted/ui.c:1104 msgid "Expecting a disk label type." msgstr "Mong đợi kiểu nhãn đĩa." #: parted/ui.c:1202 msgid "Can't create any more partitions." msgstr "Không thể tạo phân vùng thêm nữa." #: parted/ui.c:1212 msgid "Expecting a partition type." msgstr "Mong đợi kiểu phân vùng." #: parted/ui.c:1360 msgid "on" msgstr "bật" #: parted/ui.c:1361 msgid "off" msgstr "tắt" #: parted/ui.c:1378 msgid "optimal" msgstr "tối ưu" #: parted/ui.c:1379 msgid "minimal" msgstr "tối thiểu" #: parted/ui.c:1512 msgid "OPTIONs:" msgstr "TÙY CHỌN:" #: parted/ui.c:1517 msgid "COMMANDs:" msgstr "LỆNH:" #: parted/ui.c:1520 #, fuzzy, c-format msgid "" "\n" "Report bugs to %s\n" msgstr "" "\n" "Gá»­i báo cáo lá»—i tá»›i: <%s>\n" "Gá»­i báo cáo lá»—i dịch tá»›i Clytie: \n" #: parted/ui.c:1527 #, c-format msgid "Using %s\n" msgstr "Dùng %s\n" #: parted/ui.c:1601 msgid "This command does not make sense in non-interactive mode.\n" msgstr "Câu lệnh này không có ý nghÄ©a trong chế độ không tương tác.\n" #~ msgid "" #~ "WARNING: the kernel failed to re-read the partition table on %s (%s). As " #~ "a result, it may not reflect all of your changes until after reboot." #~ msgstr "" #~ "CẢNH BÃO : hạt nhân không Ä‘á»c lại được bảng phân vùng trên %s (%s). Kết " #~ "quả là bạn có thể cần phải khởi động lại để má»i thay đổi có tác dụng." #~ msgid "" #~ "Device %s has a logical sector size of %lld. Not all parts of GNU Parted " #~ "support this at the moment, and the working code is HIGHLY EXPERIMENTAL.\n" #~ msgstr "" #~ "Thiết bị %s có kích cỡ rãnh ghi hợp lý %lld. Vẫn còn có phần cá»§a chương " #~ "trình GNU Parted mà không há»— trợ tính năng này, và mã nguồn làm việc vẫn " #~ "RẤT THá»°C NGHIỆM.\n" parted-2.3/po/id.gmo0000644000000000000000000023055411400005705011243 00000000000000Þ•Q¤,% 1;¡1Ý40ð40!52R5*…5-°5$Þ5*62.6%a6,‡6&´6)Û6&7,,7#Y7$}7!¢7&Ä7(ë7<83Q8!…8ʧ8r9‰90ž9,Ï95ü9P2:/ƒ:]³:G;&Y;€;; ¤;+¯;+Û;<#&<#J<n<0Œ<0½<î<0 =(>=(g== °='Ñ=%ù=)>I>'i>`‘>2ò?<%@b@w@•@´@7Ê@A0A(GA%pA–A³AÐAìAŽîA^}BÜBWàB8C]UCÕ³C‰DžD+±DBÝDF E!gE0‰E<ºED÷E!HI‡I!¤I)ÆI!ðIGJ(ZJ<ƒJ@ÀJ2K"4KBWK?šK!ÚK2üK/L06L]gL=ÅLDMIHM’MZ¥MoN"pO*“O¾OQÜO4.P5cP(™PÂPáPQQ>QZQwQ)—Q-ÁQ$ïQR<3R=pR®RÎRîRS.SKS4iSžS8»S'ôS7TTT'kT“T8¯T8èT!Uë?U#+VOV/jV šW §W²WÁWÅWÊWÐWïWØ X&æX Y("YBKY$ŽY³YÐYîY Z:(Z\cZ=ÀZ?þZ>>[}[Ž[&¢[É[ Ï[Û[ ì[¶ø[¯\´Á\>v]*µ]Là]=-^;k^/§^<×^+_H@_*‰_´_Ô_>æ_%`¥`©`¹` ¿`HÊ` aKa0ja}›acb?}b ½bÉbåbôbcÛ!cIýcGGeUeåeìe- f:f Jg Vgdg{g˜g´g9Ìgh4h4Kh€h$ŸhÄhÖh)ñhKi>gil¦i:jDNjm“jkk1k@kYkjk yk„k”k”¯kDl IlUl jlulxlŠlšl£lÂlÞl8øl1m¢Omòm nnn+n/In/yn©n0¸nénùn?oTNo.£o)Òo.üoN+pQzpÌpáp)úp$q4q-Fqtq"„q#§qËqãqCþqBr$Yr~rœ„r!s,;shsms7|s*´s+ßs3 t7?twt†tŸt¥t¬t´tHÌt<u;Ru<ŽuMËu;v>Uv<”vDÑvXw>ow®w‚ÊwíMxR;yÖŽy<ezH¢z<ëz({‚ª{F-|/t|^¤|p}ot}cä}`H~h©~HH[ ¤ÙÅ*Ÿ€?Ê€0 0;ˆl‚šõ‚ƒ,„?„]„7}„¨µ„¶^†@‡@V‡R—‡gê‡gRˆ/ºˆtêˆ7_‰p—‰;ŠEDŠ<ŠŠFÇŠ:‹ƒI‹fÍ‹;4ŒUpŒÆŒÚŒöŒ&&M0Ï1Žˆ2Ž1»Ž2íŽ %(6(_&ˆt¯&$(KAt¶É3à‘‘"‘9‘X‘t‘‰‘›‘­‘ ¿‘3Ì‘3’/4’d’|’$’’B·’*ú’%“ E“æ“ ú“”#”#=”a”u”;”ŠË”V–H^–+§–?Ó–ˆ—œ—¹—;З3 ˜/@˜+p˜'œ˜#Ę蘙$™4™M™#Q™bu™ZØ™~3šP²š?›C›I›O› Q› _›Wk›Ûà›ø›œ œ'œ,œM2œ€œ‰œ¡œ©œN¬œûœ%!=_t ¬¶Y¿)ž.Cž.rž¡ž¦žºžO¿žŸ Ÿ!Ÿ<ŸWŸ$wŸœŸ ®Ÿ¼Ÿ+ÀŸìŸôŸøŸ    W w Q Ñ 9Ø ¡L¡h¡p¡>u¡´¡¼¡FÁ¡#¢,¢0¢ 3¢>¢W¢_¢…d¢Uê¢)@£j£o£*w£¢£”¨£=¤5B¤x¤}¤ ¤š¤µ¤S¼¤¥T¥l¥@o¥°¥µ¥ Ð¥Û¥ô¥Bû¥>¦LB¦ ¦™¦¯¦QΦ §%§U,§‚§”§§§E¬§ò§kú§ f¨"r¨•¨°¨˨‚䨠gª"®2+®2^®2‘®-Ä®/ò®$"¯-G¯;u¯%±¯/ׯ&°).°&X°/°#¯°$Ó°!ø°&±(A±>j±3©±$ݱð²ó²³@'³4h³8³RÖ³<)´ff´MÍ´3µ Oµpµ wµ8‚µ8»µ#ôµ(¶(A¶!j¶DŒ¶@Ѷ%·78·)p·-š·%È·&î·-¸(C¸+l¸#˜¸3¼¸rð¸0cº>”ºÓº(ïº)»B»;^»š»4²»5ç»,¼-J¼x¼˜¼·¼¾¼YO½©½\­½ ¾p*¾/›¾Ë¿á¿'ô¿>À[[À(·À0àÀAÁISÁ*ÁdÈÁu-ÂX£Â!üÂÃ%=ÃNcòÃ(ÊÃ2óÛ&ÄÂÄ ÆÄaÐÄ@2Å'sÅ-›Å2ÉÅ!üÅEÆ.dÆE“ÆBÙÆ>Ç-[ÇH‰ÇYÒÇ0,È@]ÈžÈ@¤ÈVåÈ<<ÉayÉGÛÉ#Ê_6Êu–Ê% Ì.2Ì"aÌY„Ì>ÞÌ?Í7]Í#•Í#¹Í#ÝÍ#Î%Î!DÎfÎ)†Î-°Î$ÞÎ3ÏC7ÏD{Ï#ÀÏ#äÏ#Ð#,ÐPÐ!pÐ8’Ð"ËÐ>îÐ+-ÑLYѦÑ;½ÑùÑBÒBYҜҲÒ'»Ó ãÓdÔ iÕvÕˆÕžÕ¤Õ«Õ"±ÕÔÕ<òÕ-/×]×"r×=•×"Ó×%ö×%Ø#BØ"fØB‰Ø`ÌØ?-ÙCmÙ@±ÙòÙ Ú*2Ú]Ú cÚoÚ €ÚÞŒÚkÛÌ}ÛKJÜ7–Ü_ÎÜQ.ÝT€Ý@ÕÝ_ÞAvÞK¸Þ7ß%<ßbßOtß´Äßyà‚à›à ¡ài¬à áf#áAŠáŽÌáh[âPÄâã ã?ãNãbã{ãˆäcæZzæÕæ#Þæ-ç0ç @èJè\è wè˜è¸èKÓèé52é8hé"¡é&Äéëéê. êSOêP£êdôêBYëJœë{çë#cì‡ì ì²ìÇìØì éìôì+í¦0í×íÜíìí îîî,î Fî$Rî!wî!™î@»î'üîÔ$ïùïððð3$ð6Xð6ðÆð=×ðñ)ñLBñmñ5ýñ23ò7fòKžòvêòaótó5‡ó ½óËó8Úó ô!!ô9Cô}ô˜ôS·ô õ&#õJõ¥Oõ'õõ.öLöSö:cö žö:¿ö5úö90÷j÷z÷Ž÷“÷™÷ ÷I»÷Aø=Gø>…øMÄø>ù=Qù?ùEÏùSú=iú#§ú|ËúêHûc3üý—ü1•ýIÇý1þœCþ†àþGgÿ4¯ÿuäÿoZzÊhEf®K•^á@ú`'[>ƒ=Â@A§ßu‡,ý*%I<o"¬ÈÏ 6˜ 6Ï a {h rä @W |˜ 6|L?ÉE @OA=Ò†n—4b;ž¸×÷/ :=Ê>”G=Ü>Y^;~6º0ñ˜"'»+ãN^v4’ÇÏß%ÿ!%-Gu‹¡·6Æ6ý74lˆ$¢PÇ5%NÝtRj„¼Ûî:×A L$!q`“ô‚¡Cº5þ14-f)”%¾!ä $ 6 N 1Q bƒ mæ ”T!`é!LJ"—""£"ª"½"[Õ"1#P#j#…# #—#œ#P¤# õ#ÿ#$$U$$z$‚$1—$:É$ %%%#A% e%q%]z%6Ø%-&-=&k&p&ˆ&]& î& ú&'!' ;'&\'ƒ' ™'§'2«'Þ'æ'ê'û'( (Y(k(Vs(Ê(?Ñ()Q)l)t)B{)¾)Æ)OË)%*A*F* L*Z*r*z**V+/g+—+œ+,¤+Ñ+¨×+€,<‰,Æ,Ë, Ý,ë, -h-|-[ƒ-ß-<å-".'. B.P.j.Jp.».I¿. // -/TN/£/¨/Q­/ÿ/000I700b‡0 ê0"ø0161Q1=9,éµÐôÙ­qþú¿Õ¯mø1H #œ U,$®JÞRj¸su3ÛS&É‘ ¿ø Œ˜ï-±ƒË”§&ã€ò CãæŽÞBŽëóŠÿ„ Kn3óy½#@’.<O¢EæÇÆ•öì AAÊ ×ý`ûÃ=Øq o‚N<Ò26_áb™Ö™„ØyÀ´DMñ#¼¾lÈ-Ì>÷\¬a.‹ˆñ0·Ôš^%3i; <G5“¯'Q"KI/Á=^)e"ük%‡~ ›¶†ËðX[FÅ+V&ö(8²ÌOÏì“kÜ9v€°ä+2²B76œ ¨} ÕIp£VW÷S¦L/ßAGM›½¥ndNDÖ$4¹_4ù 5}*×?5®¡ºÎ!¤©h¥NH‘—†üÍ)â íŸ º2ÿèÏÚÛ’Ðr߇þ³ ù|E\!‚*ézàð­{ȨgõµZtPYQˆ'f°8Îw¡B0/ä>+ržêm ”Ê;F·[šcu‹g!L:í9Š•wO©Lžî1F0W—»x|RHpD–åÂÔ:Ùl).§«ZÒ±â績@ŸƒÇŒPÚ(eúýåxèÉGUhû«I7TQïá-aÁ–¶Ã¬…fª³ªç뿉,Íoij8ÝT¹;Æ?{v?J"òc¢E~CÜJ(1]@ÑÑ»`4Ý7¦ …:6%‰ *àÀÓÂôêõCtî>'Pz¤$MKd´ĘÄ£bXYÓ]s You found a bug in GNU Parted! Here's what you have to do: Don't panic! The bug has most likely not affected any of your data. Help us to fix this bug by doing the following: Check whether the bug has already been fixed by checking the last version of GNU Parted that you can find at: http://ftp.gnu.org/gnu/parted/ Please check this version prior to bug reporting. If this has not been fixed yet or if you don't know how to check, please visit the GNU Parted website: http://www.gnu.org/software/parted for further information. Your report should contain the version of this release (%s) along with the error message below, the output of parted DEVICE unit co print unit s print and the following history of commands you entered. Also include any additional information about your setup you consider important. Command History: Error: A general SIGFPE signal was encountered. Error: A general SIGILL signal was encountered. Error: A general SIGSEGV signal was encountered. Error: FPE_FLTDIV (Float: divide by zero) Error: FPE_FLTINV (Float: invalid operation) Error: FPE_FLTOVF (Float: overflow) Error: FPE_FLTRES (Float: inexact result) Error: FPE_FLTSUB (Float: subscript out of range) Error: FPE_FLTUND (Float: underflow) Error: FPE_INTDIV (Integer: divide by zero) Error: FPE_INTOVF (Integer: overflow) Error: ILL_BADSTK (Internal Stack Error) Error: ILL_COPROC (Coprocessor Error) Error: ILL_ILLADR (Illegal addressing mode) Error: ILL_ILLOPC (Illegal Opcode) Error: ILL_ILLOPN (Illegal Operand) Error: ILL_ILLTRP (Illegal Trap) Error: ILL_PRVOPC (Privileged Opcode) Error: ILL_PRVREG (Privileged Register) Error: SEGV_ACCERR (Invalid permissions for mapped object) Error: SEGV_MAPERR (Address not mapped to object) Is this still acceptable to you? License GPLv3+: GNU GPL version 3 or later . This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Report bugs to <%s>. Report bugs to: %s When no DEVICE is given, probe all partitions. --help display this help and exit --version output version information and exit NUMBER : display more detailed information about this particular partition devices : display all active block devices free : display information about free unpartitioned space on the current block device list, all : display the partition tables of all active block devices "%s" has invalid syntax for locations.%0.f%% (time left %.2d:%.2d)%s %s%s %s %s%s : Bad checksum on block %llu of type %s %s : Bad checksum on block %llu of type %s.%s : Couldn't read block %llu %s : Couldn't read boot block %llu %s : Couldn't read root block %llu %s : Couldn't write block %d %s : Didn't find rdb block, should never happen %s : Didn't find rdb block, should never happen.%s : Failed to allocate block %s : Failed to allocate disk_specific rdb block %s : Failed to allocate id list element %s : Failed to allocate partition block %s : Failed to list bad blocks.%s : Failed to list boot blocks.%s : Failed to list file system blocks.%s : Failed to list partition blocks.%s : Failed to read partition block %llu %s : Loop detected at block %d.%s : The %s list seems bad at block %s.%s contains GPT signatures, indicating that it has a GPT table. However, it does not have a valid fake msdos partition table, as it should. Perhaps it was corrupted -- possibly by a program that doesn't understand GPT partition tables. Or perhaps you deleted the GPT table, and are now using an msdos partition table. Is this a GPT partition table?%s disk labels do not support extended partitions.%s disk labels don't support logical or extended partitions.%s during read on %s%s during seek for read on %s%s during seek for write on %s%s during write on %s%s has no extended partition (volume header partition).%s home page: <%s> %s home page: %s is %dk, but it has %d clusters (%dk).%s is too small for a Mac disk label!%s trying to sync %s to disk%s%s argument `%s' too large%s: unrecognised disk label''mkpart' makes a partition without creating a new file system on the partition. FS-TYPE may be specified to set an appropriate partition ID. 'version' displays copyright and version information corresponding to this copy of GNU Parted (C)A %s %s partition was found at %s -> %s. Do you want to add it to the partition table?A data set name is corruptedA reference to an extent comes from a place it should not. You should check the file system!A resize operation on this file system will use EXPERIMENTAL code that MAY CORRUPT it (although no one has reported any such damage yet). You should at least backup your data first, and run 'e2fsck -f' afterwards.API version mismatchATARAID ControllerAn error occurred during extent relocation.An error occurred while looking for the mandatory bad blocks file.An extended partition cannot hold a file system. Did you want mkpart?An extent has not been relocated.Assertion (%s) at %s:%d in function %s() failed.Attempt to write sectors %ld-%ld outside of partition on %s.BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s. Backtrace has %d calls on stack: Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or scandisk.Bad FAT: cluster %d outside file system in chain for %s. You should run dosfsck or scandisk.Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk.Bad block list header checksum.Bad blocks could not be read.Bad blocks list could not be loaded.Bad directory entry for %s: first cluster is the end of file marker.Bad journal checksum.Block %i has no reference? Weird.Block %i shouldn't have been marked (%d, %d)!Both the primary and backup GPT tables are corrupt. Try making a fresh table, and using Parted's rescue feature to recover partitions.BugCOMMANDs:Can't add a logical partition to %s, because there is no extended partition.Can't add another partition -- the partition map is too small!Can't add another partition.Can't copy an extended partition.Can't copy onto an overlapping partition.Can't create any more partitions.Can't have a logical partition outside of the extended partition on %s.Can't have a partition outside the disk!Can't have a primary partition inside an extended partition.Can't have logical partitions outside of the extended partition.Can't have more than one extended partition on %s.Can't have overlapping partitions.Can't have the end before the start! (start sector=%jd length=%jd)Can't move a partition onto itself. Try using resize, perhaps?Can't move an extended partition.Can't write to %s, because it is opened read-only.CancelCannot get unit size for special unit 'COMPACT'.Changing the name of a root or swap partition will prevent Linux from recognising it as such.Checksum is wrong, indicating the partition table is corrupt.Clear unused space on a FAT partition (a GNU Parted testing tool). Cluster start delta = %d, which is not a multiple of the cluster size %d.Compaq Smart ArrayConflicting partition map entry sizes! Entry 1 says it is %d, but entry %d says it is %d!Copyright (C) 1998 - 2006 Free Software Foundation, Inc. This program is free software, covered by the GNU General Public License. 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. Corrupted Sun disk label detected.Could not cache the file system in memory.Could not detect file system.Could not determine sector size for %s: %s. Using the default sector size (%lld).Could not find sector %lli of HFS file with CNID %X.Could not find sector %lli of HFS+ file with CNID %X.Could not get identity of device %s - %sCould not read VTOC FMT1 DSCB.Could not read VTOC FMT4 DSCB.Could not read VTOC FMT5 DSCB.Could not read VTOC FMT7 DSCB.Could not read VTOC labels.Could not read volume label.Could not retrieve API version.Could not retrieve blocksize information.Could not retrieve disk geometry information.Could not retrieve disk information.Could not stat device %s - %s.Could not update the extent cache for HFS file with CNID %X.Could not update the extent cache for HFS+ file with CNID %X.Could not write VTOC FMT1 DSCB.Could not write VTOC FMT4 DSCB.Could not write VTOC FMT5 DSCB.Could not write VTOC FMT7 DSCB.Could not write VTOC labels.Could not write volume label.Couldn't create reiserfs device abstraction handler.Couldn't flush buffer cache!Couldn't reopen device abstraction layer for read/write.Couldn't resolve symbol %s. Error: %s.Cross-linked blocks found! Better go run e2fsck first!DAC960 RAID controllerDEVICE is usually /dev/hda or /dev/sda Data relocation has failed.Data relocation left some data at the end of the volume.Data relocation left some data in the end of the volume.Destination partition number?Device %s has multiple (%d) logical sectors per physical sector. GNU Parted supports this EXPERIMENTALLY for some special disk label/file system combinations, e.g. GPT and ext2/3. Please consult the web site for up-to-date information.Device is too small for %lu blocks.Device verification failedDirect support for copying file systems is not yet implemented for %s. However, support for resizing is implemented. Therefore, the file system can be copied if the new partition is at least as big as the old one. So, either shrink the partition you are trying to copy, or copy to a bigger partition.Disk %s: %s Disk ImageDisk is in useEndEnd?ErrorError allocating buffer cache.Error fsyncing/closing %s: %sError informing the kernel about modifications to partition %s -- %s. This means Linux won't know about any changes you made to %s until you reboot -- so you shouldn't mount it or use it in any way before rebooting.Error initialising SCSI device %s - %sError opening %s: %sError while writing the allocation file.Error while writing the compatibility part of the allocation file.Error writing to the root directory.Expecting a disk label type.Expecting a file system type.Expecting a partition number.Expecting a partition type.Extended partitions cannot be hidden on msdos disk labels.FAT %d media %x doesn't match the boot sector's media %x. You should probably run scandisk.FAT boot sector says clusters are 0 sectors. This is weird. FAT boot sector says logical sector size is 0. This is weird. FAT boot sector says there are no FAT tables. This is weird. FLAG is one of: FS-TYPE is one of: Failed to write partition block at %d.FatalFatal errorFile System: %s File systemFile system doesn't have expected sizes for Windows to like it. Cluster size is %dk (%dk expected); number of clusters is %d (%d expected); size of FATs is %d sectors (%d expected).File system full!File system has an incompatible feature enabled. Compatible features are has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs or debugfs to remove features.File system has an invalid cluster size for a FAT file system.File system has an invalid number of FATs.File system has an invalid number of reserved sectors for a FAT file system.File system has an invalid sector size for a FAT file system.File system has an invalid signature for a FAT file system.File system has errors! You should run e2fsck.File system has too many allocated inodes to remove a group!File system is FAT12, which is unsupported.File system is reporting the free space as %d clusters, not %d clusters.File system is too full to remove a group!File system too small for ext2.File system type?File system was not cleanly unmounted! You should run e2fsck.File system was not cleanly unmounted! You should run e2fsck. Modifying an unclean file system could cause severe corruption.FixFlag to Invert?FlagsFlags: %s Found an inode with a incorrect link count. Better go run e2fsck first!Free SpaceGNU Parted cannot resize this partition to this size. We're working on it!GNU Parted found an invalid libreiserfs library.GNU Parted has detected libreiserfs interface version mismatch. Found %d-%d, required %d. ReiserFS support will be disabled.GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT support will be disabled.General help using GNU software: Generic IDEGeneric SD/MMC Storage CardI2O ControllerIBM S390 DASD driveIBM iSeries Virtual DASDIf you convert to FAT16, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual).If you convert to FAT32, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual). Also, converting to FAT32 will make the file system unreadable by MS DOS, MS Windows 95a, and MS Windows NT.If you leave your file system as FAT16, then you will have no problems.If you leave your file system as FAT32, then you will not introduce any new problems.IgnoreInconsistent group descriptors!Incorrect magic values in the journal header.Inform the operating system about partition table changes. -d, --dry-run do not actually inform the operating system -s, --summary print a summary of contents -h, --help display this help and exit -v, --version output version information and exit InformationInvalid VTOC.Invalid back referenceInvalid character class nameInvalid collation characterInvalid content of \{\}Invalid free blocks count. Run reiserfsck --check first.Invalid number.Invalid partition table - recursive partition on %s.Invalid partition table on %s -- wrong signature %x.Invalid partition table on %s.Invalid preceding regular expressionInvalid range endInvalid regular expressionInvalid signature %x for Mac disk labels.Invalid size of a transaction block while replaying the journal (%i bytes).Invalid superblock. Are you sure this is an ext2 file system?It seems there is an error in the HFS wrapper: the bad blocks file doesn't contain the embedded HFS+ volume.Journal offset or size is not multiple of the sector size.Journal size mismatch between journal info block and journal header.Journal stored outside of the volume are not supported. Try to desactivate the journal and run Parted again.LABEL-TYPE is one of: Linux device-mapper (%s)Maximum size: Memory allocation failedMemory exhaustedMinimum size: Minor: %d Model: %s (%s) NAME is any word you want NUMBER is the partition number used by Linux. On MS-DOS disk labels, the primary partitions number from 1 to 4, logical partitions from 5 onwards. NameNew device?New disk label type?New state?NoNo ImplementationNo device foundNo matchNo previous regular expressionNo room for partition info.No room for volume label.No valid HFS[+X] signature has been found while opening.No valid partition map found.Not all of the space available to %s appears to be used, you can fix the GPT to use all of the space (an extra %llu blocks) or continue with the current setting? Not enough free inodes!NumberOKOPTIONs:Only logical partitions can be a boot file.Only primary partitions can be root partitions.Only primary partitions can be swap partitions.Out of memory.PART-TYPE is one of: primary, logical, extended Packaged by %s Packaged by %s (%s) Parted can't resize partitions managed by Windows Dynamic Disk.Parted can't use HFS file systems on disks with a sector size not equal to %d bytes.Partition %d has an invalid length of 0 bytes!Partition %d has an invalid signature %x.Partition %d is %s, but the file system is %s.Partition %d isn't aligned to cylinder boundaries. This is still unsupported.Partition %s is being used. You must unmount it before you modify it with Parted.Partition Table: %s Partition doesn't exist.Partition map has no partition map entry!Partition name?Partition number?Partition too big/small for a %s file system.Partition type?Partition(s) on %s are being used.Premature end of regular expressionPromise SX8 SATA DeviceRegular expression too bigReiserfs tree seems to be corrupted. Run reiserfsck --check first.Report %s bugs to: %s Resizing the HFS+ volume has failed.RetrySTART and END are disk locations, such as 4GB or 10%. Negative values count from the end of the disk. For example, -1s specifies exactly the last sector. STATE is one of: on, off Sector size (logical/physical): %lldB/%lldB SizeSize: Some header fields are not multiple of the sector size.Sorry, HFS cannot be resized that way yet.Sorry, HFS+ cannot be resized that way yet.Sorry, can't move the start of ext2 partitions yet!Sorry, can't move the start of reiserfs partitions yet.Source device?Source partition number?StartStart?SuccessSun disk label is full.Support for adding partitions to AIX disk labels is not implemented yet.Support for checking %s file systems is not implemented yet.Support for copying %s file systems is not implemented yet.Support for creating %s file systems is not implemented yet.Support for duplicating partitions in AIX disk labels is not implemented yet.Support for opening %s file systems is not implemented yet.Support for reading AIX disk labels is is not implemented yet.Support for resizing %s file systems is not implemented yet.Support for setting flags in AIX disk labels is not implemented yet.Support for setting system type of partitions in AIX disk labels is not implemented yet.Support for writing AIX disk labels is is not implemented yet.Syntax error in config fileThe FATs don't match. If you don't know what this means, then select cancel, run scandisk on the file system, and then come back.The Whole Disk partition is the only available one left. Generally, it is not a good idea to overwrite this partition with a real one. Solaris may not be able to boot without it, and SILO (the sparc boot loader) appreciates it as well.The backup GPT table is corrupt, but the primary appears OK, so that will be used.The backup GPT table is not at the end of the disk, as it should be. This might mean that another operating system believes the disk is smaller. Fix, by moving the backup to the end (and removing the old backup)?The boot region doesn't start at the start of the partition.The current API version '%d' doesn't match dasd driver API version '%d'!The data region doesn't start at the start of the partition.The device %s has zero length, and can't possibly store a file system or partition table. Perhaps you selected the wrong device?The disk CHS geometry (%d,%d,%d) reported by the operating system does not match the geometry stored on the disk label (%d,%d,%d).The disk has %d cylinders, which is greater than the maximum of 65536.The disk label describes a disk bigger than %s.The driver descriptor says the physical block size is %d bytes, but Linux says it is %d bytes.The existing disk label on %s will be destroyed and all data on this disk will be lost. Do you want to continue?The existing file system will be destroyed and all data on the partition will be lost. Do you want to continue?The ext2 file system passed a basic check. For a more comprehensive check, use the e2fsck program.The extents overflow file should not contain its own extents! You should check the file system.The file %s is marked as a system file. This means moving it could cause some programs to stop working.The file system can only be resized to this size by converting to FAT16.The file system can only be resized to this size by converting to FAT32.The file system contains errors.The file system has the 'dir_index' feature enabled. Parted can only resize the file system if it disables this feature. You can enable it later by running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'.The file system is bigger than its volume!The file system is in an invalid state. Perhaps it is mounted?The file system is in old (unresizeable) format.The file system's CHS geometry is (%d, %d, %d), which is invalid. The partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the file system's CHS geometry will be left unchanged. If you select Fix, the file system's CHS geometry will be set to match the partition table's CHS geometry.The format of the GPT partition table is version %x, which is newer than what Parted can recognise. Please tell us! bug-parted@gnu.orgThe information sector has the wrong signature (%x). Select cancel for now, and send in a bug report. If you're desperate, it's probably safe to ignore.The journal is not empty. Parted must replay the transactions before opening the file system. This will modify the file system.The location %s is outside of the device %s.The maximum head value is %d.The maximum sector value is %d.The partition must have one of the following FS-TYPEs: The partition table cannot be re-read. This means you need to reboot before mounting any modified partitions. You also need to reinstall your boot loader before you reboot (which may require mounting modified partitions). It is impossible do both things! So you'll need to boot off a rescue disk, and reinstall your boot loader from the rescue disk. Read section 4 of the Parted User documentation for more information.The partition table on %s cannot be re-read (%s). This means the Hurd knows nothing about any modifications you made. You should reboot your computer before doing anything with %s.The partition's boot region doesn't occupy the entire partition.The partition's data region doesn't occupy the entire partition.The primary GPT table is corrupt, but the backup appears OK, so that will be used.The reiserfs file system passed a basic check. For a more comprehensive check, run reiserfsck --check.The sector size stored in the journal is not 512 bytes. Parted only supports 512 bytes length sectors.The specified device is not a valid DASD deviceThe volume header or the master directory block has changed while replaying the journal. You should restart Parted.There are no possible configurations for this FAT type.There's not enough room in the root directory for all of the files. Either cancel, or ignore to lose the files.This HFS volume has no catalog file. This is very unusual!This HFS volume has no extents overflow file. This is quite unusual!This HFS+ volume has no catalog file. This is very unusual!This HFS+ volume has no extents overflow file. This is quite unusual!This command does not make sense in non-interactive mode. This file system has a logical sector size of %d. GNU Parted is known not to work properly with sector sizes other than 512 bytes.This is not a real %s check. This is going to extract special low level files for debugging purposes.This is not an ECKD disk! This disk type is not supported!This libparted doesn't have write support for %s. Perhaps it was compiled read-only.Too many bad pages.Too many primary partitionsToo many primary partitions.Trailing backslashTry `%s --help' for more information. Trying to move an extent from block Ox%X to block Ox%X, but another one already exists at this position. This should not happen!Trying to read HFS file with CNID %X behind EOF.Trying to read HFS+ file with CNID %X behind EOF.Trying to register an extent starting at block 0x%X, but another one already exists at this position. You should check the file system!Trying to write HFS file with CNID %X behind EOF.Trying to write HFS+ file with CNID %X behind EOF.TypeUNIT is one of: Unable to allocate a bsd disklabel slot.Unable to allocate a dasd disklabel slotUnable to allocate a partition number.Unable to determine geometry of file/device %s. You should not use Parted unless you REALLY know what you're doing!Unable to determine the dm type of %s.Unable to determine the size of %s (%s).Unable to open %s read-write (%s). %s has been opened read-only.Unable to open %s.Unable to probe store.Unable to satisfy all constraints on the partition.Unit?UnknownUnknown disk flag, %d.Unknown file system type "%s".Unknown partition flag, %d.Unknown system errorUnmatched ( or \(Unmatched ) or \)Unmatched [ or [^Unmatched \{Unrecognised new style linux swap signature '%10s'.Unrecognised old style linux swap signature '%10s'.Unrecognised swsusp linux swap signature '%9s'.Unsupported disk formatUnsupported disk typeUpdating the HFS wrapper has failed.Usage: %s [-hlmsv] [-a] [DEVICE [COMMAND [PARAMETERS]]...] Usage: %s [OPTION] or: %s DEVICE MINOR Usage: %s [OPTION] [DEVICE]... Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...] Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run in interactive mode. User-Mode Linux UBDUsing %s Valid arguments are:Version %d of HFS+ isn't supported.Version %d of HFSX isn't supported.Virtio Block DeviceVolume label is corruptedWARNING: You are not superuser. Watch out for permissions.WARNING: you are attempting to use %s to operate on (%s) a file system. %s's file system manipulation code is not as robust as what you'll find in dedicated, file-system-specific packages like e2fsprogs. We recommend you use %s only to manipulate partition tables, whenever possible. Support for performing most operations on most types of file systems will be removed in an upcoming release. WarningWeird block size on device descriptor: %d bytes is not divisible by 512.Weird! There are 2 partitions map entries!Welcome to GNU Parted! Type 'help' to view a list of commands. Without arguments, 'print' displays the entire partition table. However with the following arguments it performs various other actions. Would you like to use FAT32?Written by %s and %s. Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, and %s. Written by %s, %s, %s, and %s. Written by %s, %s, and %s. Written by %s. Xen Virtual Block DeviceYesYou may need to update /etc/fstab. You need %s of free disk space to shrink this partition to this size. Currently, only %s is free.You requested a partition from %s to %s. The closest location we can manage is %s to %s.%sYou should reinstall your boot loader before rebooting. Read section 4 of the Parted User documentation for more information.Your file system has too many occupied inodes to resize it to %i blocks. Sorry.Your file system is too full to resize it to %i blocks. Sorry.^[nN]^[yY]`adding groupsalign-checkalign-check TYPE N check partition N for TYPE(min|opt) alignmentalignment for new partitionsalignment type(min/opt)ambiguous argument %s for %satvrecvbios_grubbootcheckcheck NUMBER do a simple check on the file systemcheckingchecking for bad blockscopyingcpcp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another partitioncreatingcylinder_alignmentdesired alignment: minimum or optimaldisplays machine parseable outputdisplays the versiondisplays this help messageend of file while reading %sexpandingextendedfailed to set dvh partition name to %s: Only logical partitions (boot files) have a name.fat_table_alloc_cluster: no free clustersfat_table_get: cluster %ld outside file systemfat_table_set: cluster %ld outside file systemfreegrowing file systemhelphelp [COMMAND] print general help, or help on COMMANDhiddenhp-serviceinvalid %s%s argument `%s'invalid argument %s for %sinvalid minor device number: %sinvalid suffix in %s%s argument `%s'invalid token: %sioctl() errorlbalists partition layout on all block deviceslogicallvmmemory exhaustedmetadataminimalmkfsmkfs NUMBER FS-TYPE make a FS-TYPE file system on partition NUMBERmklabelmklabel,mktable LABEL-TYPE create a new disklabel (partition table)mkpartmkpart PART-TYPE [FS-TYPE] START END make a partitionmkpartfsmkpartfs PART-TYPE FS-TYPE START END make a partition with a file systemmktablemovemove NUMBER START END move partition NUMBERmsftresnamename NUMBER NAME name partition NUMBER as NAMEnever prompts for user interventionoffonopen erroropening of device failedoptimalpaloparted was unable to re-read the partition table on %s (%s). This means Linux won't know anything about the modifications you made. partition length of %jd sectors exceeds the %s-partition-table-imposed maximum of %jdped_device_new() Unsupported device typeprepprimaryprimary partition table array CRC mismatchprintprint [devices|free|list,all|NUMBER] display the partition table, available devices, free space, all found partitions, or a particular partitionquitquit exit programraidraw block copyingread errorreading from device failedrescuerescue START END rescue a lost partition near START and ENDresizeresize NUMBER START END resize partition NUMBER and its file systemrmrm NUMBER delete partition NUMBERrootsearching for file systemsseek errorseeking on device failedselectselect DEVICE choose the device to editsetset NUMBER FLAG STATE change the FLAG on partition NUMBERshrinkingshrinking HFS wrappershrinking embedded HFS+ volumestarting sector number, %jd exceeds the %s-partition-table-imposed maximum of %jdswaptoggletoggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBERtoo few argumentstoo many argumentsunitunit UNIT set the default unit to UNITversionversion display the version number and copyright information of GNU Partedwrite errorwriting HFS Master Directory Blockwriting HFS+ Volume Headerwriting per-group metadatawriting to device failedProject-Id-Version: GNU parted 2.1 Report-Msgid-Bugs-To: bug-parted@gnu.org POT-Creation-Date: 2010-05-28 20:30+0200 PO-Revision-Date: 2010-01-27 07:30+0700 Last-Translator: Arif E. Nugroho Language-Team: Indonesian Language: id MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Anda menemukan sebuah bug dalam GNU Parted! Ini yang harus anda lakukan: Jangan panic! Bug yang ada biasanya tidak mempengaruhi data anda. Bantu kami untuk membetulkan bug ini dengan melakukan hal berikut: Check apakah bug telah dibetulkan dengan mengecheck versi terbaru dari GNU Parted yang dapat anda temukan di: http://ftp.gnu.org/gnu/parted/ Tolong periksa versi ini terlebih dahulu sebelum melaporkan bug. Jika bug ini belum dibetulkan atau jika anda tidak tahu bagaimana cara mengechecknya, kunjungi GNU Parted website: http://www.gnu.org/software/parted untuk informasi lebih lanjut. Laporan anda seharusnya berisi versi dari release ini (%s) dengan pesan error dibawah ini, dan output dari perintah berikut ini parted DEVICE unit co print unit s print dan history dari perintah yang telah anda jalankan. dan beberapa informasi tambahan mengenai setting yang telah anda lakukan yang menurut anda penting. Perintah yang pernah dijalankan: Error: Sebuah sinyal SIGFPE umum telah ditemukan. Error: Sebuah sinyal SIGILL umum telah ditemukan. Error: Sebuah sinyal SIGSEGV umum telah ditemui. Error: FPE_FLTDIV (Float: dibagi dengan nol) Error: FPE_FLTINV (Float: operasi tidak valid) Error: FPE_FLTOVF (Float: overflow) Error: FPE_FLTRES (Float: hasil tidak eksak) Error: FPE_FLTSUB (Float: subscript diluar dari jangkauan) Error: FPE_FLTUND (Float: underflow) Error: FPE_INTDIV (Integer: dibagi dengan nol) Error: FPE_INTOVF (Integer: overflow) Error: ILL_BADSTK (Internal Stack Error) Error: ILL_COPROC (Coprocessor Error) Error: ILL_ILLADDR (Illegal mode pengalamatan) Error: ILL_ILLOPC (Illegal Opcode) Error: ILL_ILLOPN (Illegal Operand) Error: ILL_ILLTRP (Illegal Trap) Error: ILL_PRVOPC (Privileged Opcode) Error: ILL_PRVREG (Privileged Register) Error: SEGV_ACCER (Permisi tidak sah untuk objek yang dimap) Error: SEGV_MAPPER (Alamat tidak di map ke objek) Apakah ini masih dapat anda terima? Lisensi GPLv3+: GNU GPL versi 3 atau yang lebih baru Ini merupakan free software: anda dapat secara bebas mengubah dan mendistribusikan ulang. Tidak ada GARANSI, yang dilindungi oleh hukum yang berlaku. Laporkan bugs kepada <%s>. Laporkan bugs ke: %s Jika tak ada PERANGKAT yang diberikan, pindai seluruh partisi. --help menampilkan bantuan ini dan keluar --version menampilkan informasi versi dan keluar NUMBER : tampilkan informasi yang lebih detail tentang partisi yang terpilih devices : menampilkan seluruh perangkat blok yang aktif free : menampilkan informasi tentang ruang partisi kosong di perngkat blok yang sedang dipakai list, all : tampilkan tabel partisi dari seluruh perangkat blok yang aktif "%s" memiliki syntax yang tidak valid untuk lokasi.%0.f%% (waktu tersisa %.2d:%.2d)%s %s%s %s %s%s : Checksum pada block %llu dengan tipe %s tidak baik %s : Checksum pada block %llu dengan tipe %s tidak baik.%s : Tidak dapat membaca blok %llu %s : Tidak dapat membaca boot blok %llu %s : Tidak dapat membaca root blok %llu %s : Tidak dapat menulis blok %d %s : Tidak dapa menemukan rdb blok, seharusnya tidak pernah terjadi %s : Tidak menemukan rdb block, seharusnya tidak pernah terjadi.%s : Gagal untuk mengalokasikan blok %s : Gagal untuk mengalokasikan disk_specific rdb blok %s : Gagal mengalokasikan id elemen list %s : Gagal untuk mengalokasikan blok partisi %s : Gagal untuk men-list bad blocks.%s : Gagal untuk men-list boot blocks.%s : Gagal untuk men-list file system blocks.%s : Gagal untuk men-list block partisi.%s : Gagal untuk menbaca blok partisi %llu %s : Loop terdeteksi pada block %d.%s : List %s kelihatannya tidak baik pada block %s.%s berisi GPT signatures, menunjukkan bahwa ini adalah tabel GPT. Akan tetapi, ini tidak memiliki valid fake msdos tabel partisi, seperti seharusnya. Mungkin ini sudah terkorupsi -- mungkin oleh program yang tidak mengerti tabel partisi GPT. Atau mungkin anda menghapus tabel GPT, dan sekarang menggunakan sebuah tabel partisi msdos. Apakah ini sebuah tabel partisi GPT?%s disk label tidak mensupport partisi extended.%s disk labels tidak mensupport partisi logical atau extended.%s selama pembacaan pada %s%s selama pencarian untuk dibaca pada %s%s selama pencarian untuk menulis pada %s%s selama penulisan pada %s%s tidak memiliki partisi extended (volume header partisi).%s halaman rumah: <%s> %s halaman rumah: %s adalah %dk, tetapi ini memiliki %d clusters (%dk).%s terlalu kecil untuk sebuah disklabel Mac!%s mencoba untuk mensinkronisasi %s pada disk%s%s argumen `%s' terlalu besar%s: label cakram tidak dikenalU+2019'mkpart' membuat sebuah partisi tanpa membuat sebuah file system baru pada partisi. TIPE-FS mungkin dispesifikasikan untuk mengeset ID partisi. 'versi' menampilkan hak cipta dan informasi versi sesuai dengan kopi dari GNU Parted ini (C)Sebuah %s %s partisi ditemukan pada %s -> %s. Anda ingin menambahkan ini pada tabel partisi?Sebuah nama data set terkorupsiSebuah referensi untuk sebuah extent datang dari tempat yang tidak seharusnya. Anda harus mengecheck filesystem!Sebuah operasi perubahan ukuran di file system ini akan menggunakan kode PERCOBAAN yang mungkin akan mengkorupsi file system ini (walaupun belum ada yang melaporkan adanya kerusakan seperti itu). Anda seharusnya melakukan backup terlebih dahulu terhadap data anda dan menjalankan 'e2fsck -f' sesudahnya.versi API tidak cocokATARAID ControllerTerjadi error ketika extent relocation.Sebuah error terjadi ketika mencari mandatory bad blocks file.Sebuah partisi extended tidak dapat berisi sebuah file system. Anda ingin melakukan mkpart?Sebuah extent tidak dapat direlokasikan.Assertion (%s) di %s:%d dalam fungsi %s() gagal.Mencoba untuk menulis sektor %ld-%ld diluar dari partisi pada %s.BIOS cylinder,head,sector geometry: %d,%d,%d. Setiap cylinder adalah %s. Backtrace memiliki %d panggilan di stack: Bad FAT: cluster %d adalah cross-linked untuk %s. Anda seharusnya menjalankan dosfsck atan scandisk.Bad FAT: cluster %d diluar dari file system dalam rantai untuk %s. Anda seharusnya menjalankan dosfsck atau scandisk.Bad FAT: unterminated chain untuk %s. Anda seharusnya menjalankan dosfsck atau scandisk.Daftar bad block header checksum.Bad blocks tidak dapat dibaca.Daftar bad blocks tidak dapat diload.Bad directory entry untuk %s: cluster pertama merupakan akhir dari file markerJournal checksum jelek.Block %i tidak memiliki reference? Aneh.Block %i seharusnya tidak memiliki tanda (%d, %d)!Kedua tabel GPT primer dan backup sudah terkorupsi. Coba untuk membuat sebuah tabel yang baru, dan gunakan Parted's rescue feature untuk merecover partisi.BugPERINTAH:Tidak dapat menambahkan sebuah partisi logical pada %s, karena disana tidak ada partisi extended.Tidak dapat lagi menambah partisi -- peta partisi terlalu kecil!Tidak dapat menambah partisi yang lain.Tidak dapat mengkopi sebuah partisi extended.Tidak dapat menyalin kedalam partisi yang overlap.Tidak dapat membuat partisi lagi.Tidak dapat memiliki partisi logical diluar partisi extended pada %s.Tidak dapat memiliki partisi diluar dari disk!Tidak dapat memiliki primary partisi didalam sebuah partisi extended.Tidak dapat memiliki partisi logical diluar dari partisi extended.Tidak dapat memiliki lebih dari satu partisi extended pada %s.Tidak dapat memiliki partisi yang beroverlap.Tidak dapat memiliki akhir sebelum start! (sektor start=%jd panjang=%jd)Tidak dapat memindahkan partisi ke partisi itu sendiri. Coba menggunakan resize, mungkin?Tidak dapat memindahkan sebuah partisi extended.Tidak dapat menulis pada %s, karena ini dibuka secara read-only.BatalTidak dapat mendapatkan ukuran unit untuk spesial unit 'COMPAT'.Mengubah nama dari root atau partisi swap akan membuat Linux tidak dapat mengenalinya.Checksum salah, mengindikasikan bahwa tabel partisi corrupt.Bersihkan ruang yang tidak digunakan di parttisi FAT (sebuah perangkat pengetes di GNU Parted). Cluster awal delta = %d, dimana bukan kelipatan dari ukuran cluster %d.Compaq Smart ArrayKonflik masukan ukuran peta partisi! Masukan 1 mengatakan %d, tetapi masukan %d mengatakan %d!Hak Cipta (C) 1998 - 2006 Free Software Foundation, Inc. Aplikasi ini adalah free software, dilindungi oleh GNU General Public Licence. Aplikasi ini didistribusikan dengan harapan akan berguna, tetapi TANPA ADANYA GARANSI; bahkan untuk garansi dalam hal PENJUALAN atau KESESUAIAN UNTUK TUJUAN TERTENTU. Lihat GNU General Public License untuk informasi yang lebih detail. Sun disk label terdeteksi terkorupsi.Tidak dapat men-cache filesystem dalam memori.Tidak dapat mendeteksi filesystem.Tidak dapat menentukan ukuran sektor untuk %s: %s. Menggunakan baku ukuran sektor (%lld).Tidak dapat menemukan sekto %lli dari file HFS dengan CNID %X.Tidak dapat menemukan sekto %lli dari file HFS+ dengan CNID %X.Tidak dapat memperoleh identitas dari perangkat %s - %sTidak dapat membaca VTOC FMT1 DSCB.Tidak dapat membaca VTOC FMT4 DSCB.Tidak dapat membaca VTOC FMT5 DSCB.Tidak dapat membaca VTOC FMT7 DSCB.Tidak dapat membaca label VTOCTidak dapat membaca label volume.Tidak dapat menerima versi API.Tak dapat menerima infomrasi ukuran blok.Tak dapat menerima informasi geometri cakram.Tak dapat menerima informasi cakram.Tidak dapat memperoleh statistik perangkat %s - %s.Tidak dapat meng-update extent cache untuk file HFS dengan CNID %X.Tidak dapat meng-update extent cache untuk file HFS+ dengan CNID %X.Tidak dapat menulis VTOC FMT1 DSCB.Tidak dapat menulis VTOC FMT4 DSCB.Tidak dapat menulis VTOC FMT5 DSCB.Tidak dapat menulis VTOC FMT7 DSCB.Tidak dapat menulis label VTOC.Tidak dapat menulis label volume.Tidak dapat membuat reiserfs device abstraction handler.Tidak dapat menflush buffer cache!Tidak dapat membuka device abstraction layer untuk baca/tulis.Tidak dapat menresolv simbol %s. Error: %s.Cross-linked blocks ditemukan! Lebih baik menjalankan e2fsck terlebih daulu!DAC960 RAID controllerPERANGKAT biasanya menggunakan nama /dev/hda atau /dev/sda Data relocation telah gagal.Data relocation meninggalkan beberapa data pada akhir dari volume.Data relocation meninggalkan beberapa data pada akhir dari volume.Nomor partisi tujuan?Perangkat %s memiliki beberapa (%d) logical sektor dalam setiap physical sektor. GNU Parted support untuk hal ini dalam tahap PERCOBAAN untuk beberapa disk label spesial / kombinasi file system, contoh GPT dan ext2/3. Tolong lihat web site untuk informasi terbaru.Perangkat terlalu kecil untuk %lu blok.Verifikasi perangkat telah gagalLayanan langsung untuk menyalin file system belum diimplementasikan untuk %s. Akan tetapi, layanan untuk me-resize-nya sudah diimplementasikan. Oleh karena itu, file system dapat disalin jika partisi baru berukuran sama besar dengan partisi lama. Jadi, bisa dilakukan dengan mengecilkan partisi yang akan disalin, atau menyalin ke partisi yang lebih besar.Disk %s: %s Salinan dari diskDisk sedang digunakanAkhirAkhir?ErrorError mengalokasikan buffer cache.Error fsyncing/menutup %s: %sGagal memberitahukan kernel mengenai modifikasi yang telah dilakukan pada partisi %s -- %s. Ini berarti Linux tidak tahu tentang segala perubahan yang anda buat pada %s sampai anda mereboot komputer anda -- jadi anda seharusnya tidak me-mount-nya atau menggunakannya dalam segala cara sebelum mereboot komputer anda.Error menginisialisasi perangkat SCSI %s - %sError membuka %s: %sError ketika menulis alokasi file.Error ketika menulis bagian kompatibilitas dari alokasi file.Error menulis pada direktori root.Memperkirakan sebuah tipe disk label.Memperkirakan sebuah tipe filesystem.Memperkirakan sebuah nomor partisi.Memperkirakan sebuah tipe partisi.Partisi extended tidak dapat disembunyikan pada msdos disk labels.FAT %d media %x tidak cocok dengan boot sector's media %x. Anda seharusnya menjalankan scandisk.FAT boot sector mengatakan clusters adalah 0 sectors. Ini aneh.FAT boot sector mengatakan ukuran sektor logical adalah 0. Ini anehFAT boot sector mengatakan disana tidak ada tabel FAT. Ini aneh.TANDA adalah salah satu dari: TIPE-FS adalah salah satu dari: Gagal untuk menulis block partisi pada %d.FatalError fatalFile System: %s File systemUkuran file system tidak berukuran seperti yang diperkirakan oleh Windows. Ukuran cluster adalah %dk (%dk diperkirakan); jumlah dari cluster adalah %d (%d diperkirakan); ukuran dari FATs adalah %d sektor (%d diperkirakan).File system full!File system memiliki fitur yang tidak kompatibel yang diaktifkan. Fitur kompatibel adalah has_journal, dir_index, filetype, sparse_super dan large_file. Gunakan tune2fs atau debugfs untuk menghapus fitur.File system memiliki ukuran cluster yang tidak valid untuk file system FAT.File system memiliki nomor yang tidak valid untuk FATs.File system memiliki nomor yang tidak valid untuk reserverd sector dari sebuah FAT file system.File system memiliki ukuran sektor yang tidak valid untuk sebuah FAT file system.File system memiliki sebuah signature yang tidak valid untuk sebuah FAT file system.File system memiliki errors! Anda seharusnya menjalankan e2fsck.File system memiliki terlalu banyak inode yang sudah dialokasikan untuk menghapus sebuah group!File system adalah FAT12, dimana file system ini tidak disupport.File system melaporkan ruang kosong sebagai %d clusters, bukan %d clusters.File system terlalu penuh untuk menghapus sebuah group!File system terlalu kecil untuk ext2.Tipe file system?File system tidak di-unmount secara bersih! Anda seharusnya menjalankan e2fsck.File system tidak di-unmount secara bersih! Anda seharusnya menjalankan e2fsck. Memodifikasi sebuah file system yang tidak bersih dapat menyebabkan file system tersebut terkorupsi.BetulkanTanda yang akan dirubah?TandaTanda: %s Ditemukan sebuah inode dengan link count yang tidak benar. Lebih baik menjalankan e2fsck terlebih dahulu!Ruang KosongGNU Parted tidak dapat men-resize partisi ini untuk ukuran ini. Kita sedang mengusahkannya untuk bisa!GNU Parted menemukan sebuah library libreiserfs yang tidak valid.GNU Parted telah mendeteksi ketidak cocokan versi libreiserfs interface. Ditemukan %d-%d, dibutuhkan %d. ReiserFS support akan dinonaktifkan. GNU Parted telah salah dikompile: FAT boot sektor seharusnya 512 bytes. FAT support akan di nonaktifkan.Bantuan umum dalam menggunakan peranti lunak GNU: IDE umumKartu Penyimpanan SD/MMC GenerikI2O ControllerIBM S390 DASD driveIBM iSeries Virtual DASDJika anda mengubah ke FAT16, dan MS Windows terinstall pada partisi tersebut, maka anda harus meninstall kembali MS Windows boot loader. Jika anda ingin melakukan ini, anda seharusnya berkonsultasi terlebih dahulu pada manual dari Parted (atau manual dari distribusi anda).Jika anda mengubah ke FAT32, dan MS Windows terinstall pada partisi tersebut, maka anda harus meninstall kembali MS Windows boot loader. Jika anda ingin ingin melakukan ini, anda harus berkonsultasi terlebih dahulu dengan manual dari Parted (atau manual dari distribusi anda). Juga, mengubah ke FAT32 akan membuat file system tidak dapat dibaca oleh MS DOS, MS Windows 95a, dan MS Windows NT.Jika anda meninggalkan file system anda sebagai FAT16, maka anda mungkin tidak akan menemui masalahJika anda meninggalkan file system sebagai FAT32, mungkin anda tidak menemui masalah baru.Hiraukangroup descriptors tidak konsistent!Nilai magic tidak benar dalam header journal.Beritahukan sistem operasi tentang perubahan tabel partisi. -d, --no-update jangan informasikan sistem operasi -s, --summary tampilkan rangkuman dari isi -h, --help tampilkan bantuan ini dan keluar -v, --version keluarkan informasi versi dan keluar InformasiVTOC tidak valid.Back reference tidak validCharacter class name tidak validCharacter collation tidak validIsi tidak valid untuk \{\}Jumlah blok bebas tidak valid. Jalankan reiserfsck --check terlebih dahulu.nomor tidak valid.Table partisi tidak valid - rekursif partisi pada %s.Table partisi tidak valid pada %s -- signature salah %x.Tabel partisi tidak valid pada %s.Ekspresi regular pendahulu tidak validBatas ujung tidak validEkspresi regular tidak validSignature tidak valid %x untuk disklabels Mac.Ukuran tidak sah dalam transaksi blok ketika membalas transaksi journal (%i bytes).Superblock tidak valid. Apakah anda yakin ini merupakan sebuah ext2 file system?Kelihatannya terjadi kesalahan dalam HFS wrapper: file bad blocks tidak berisi embedded HFS+ volume.Ukuran atau offset dari journal bukan kelipatan dari ukuran sektorUkuran journal tidak cocok diantara journal info block dan journal header.Journal disimpan diluar dari volume tidak disupport. Coba untuk menonaktifkan journal dan jalankan Parted lagi sesudah itu.TIPE-LABEL adalah salah satu dari: Linux device-mapper (%s)Ukuran maksimal: Alokasi memori gagalKehabisan memoryUkuran minimal: Minor: %d Model: %s (%s) NAMA adalah kata apapun yang anda inginkan NOMOR adalah nomor partisi yang biasa digunakan oleh Linux. Pada MS-DOS disk label, penomoran partisi utama (primary) dari 1 sampai 4, partisi logical dari 5 keatas. NamaPerangkat baru?Tipe disk label baru?Status baru?TidakTidak ada ImplementasiTidak ditemukan perangkatTidak cocokTidak ada ekpresi regular sebelumnyaTak ada ruang untuk info partisi.Tak ada ruang untuk label volume.Tanda tangan HFS[+X] tidak valid telah ditemukan ketika membuka.Tidak ditemukan map partisi yang valid.Tidak semua dari ruang kosong yang tersedia di %s dapat digunakan, anda dapat membetulkan GPT untuk menggunakan semuar ruang kosong yang tersedia (kosong %llu blocks) atau melanjutkan dengan konfigurasi saat ini?Tidak cukup free inodes!NomorOKPILIHAN:Hanya logical partisi yang dapat menjadi boot file.Hanya primary partisi yang dapat menjadi partisi root.Hanya primary partisi yang dapat menjadi partisi swap.Kehabisan memoriTIPE-PART adalah salah satu dari: primary, logical, extended Dipaketkan oleh %s Dipaketkan oleh %s (%s) Parted tidak dapat men-resize partisi yang diatur oleh Windows Dynamic Disk.Parted tidak dapat menggunakan file systems tipe HFS di dist dengan ukuran sektor tidak sama dengan %d bytes.Partisi %d memiliki panjang 0 bytes yang tidak valid!Partisi %d memiliki signature yang tidak valid %x.Partisi %d adalah %s, tetapi file system-nya adalah %s.Partisi %d tidak di align ke cylinder boundaries. Ini tetap tidak disupportPartisi %s sedang digunakan. Anda harus meng-umount terlebih dahulu sebelum memodifikasinya dengan menggunakan Parted.Tabel Partisi: %s Partisi tidak ada.Map partisi tidak memiliki masukan untuk map partisi!Nama partisi?Nomor partisi?Partisi terlalu besar/kecil untuk sebuah file system %s.Tipe partisi?Partisi pada %s sedang digunakan.Regular ekspresi berakhir secara premature (tidak normal)Perangkat Promise SX8 SATAEkspresi regular terlalu besarReiserfs tree kelihatannya terkorupsi. Jalankan reiserfsck --check terlebih dahulu.Laporkan %s bug ke: %s Resizing dari HFS+ volume telah gagal.CobaAWAL dan AKHIR adalah lokasi dari disk, seperti 4GB atau 10%. Nilai negatif dihitung dari akhir alamat disk. sebagai contoh, =-1s menyatakan lokasi sektor terakhir. STATUS adalah salah satu dari: on, off Ukuran sektor (logical/physical): %lldB/%lldB UkuranUkuran: Beberapa fields header bukan kelipatan dari ukuran sektor.Maaf, HFS tidak dapat di-resize.Maaf, HFS+ tidak dapat di-resize dengan cara itu saat ini.Maaf, tidak dapat memindahkan awal dari partisi ext2!Maaf, belum dapat memindahkan awal dari partisi reiserfs.Perangkat asal?Nomor partisi asal?AwalAwal?SuksesSun disk label sudah penuhSupport untuk menambah partisi di AIX disk label belum diimplementasikan.Support untuk mengecheck file systems %s belum diimplementasikan.Support untuk menyalin filesystem %s belum diimplementasikan.Support untuk membuat file systems %s belum diimplementasikan.Support untuk menduplikasi partisi di AIX disk label belum diimplementasikan.Support untuk membuka file systems %s belum diimplementasikan.Support untuk membaca AIX disk label belum diimplementasikan.Support untuk men-resize filesystem %s belum diimplementasikan.Support untuk menset tanda di AIX disk label belum diimplementasikan.Support untuk menset tipe partisi sistem di AIX disk label belum diimplementasikan.Support untuk menulis AIX disk label belum diimplementasikan.Galat sintaks di berkas konfigurasiFAT tidak cocok. Jika anda tidak tahu apa artinya ini, maka pilih cancel, jalankan scandisk pada file system, dan coba lagi.Yang tersisa hanya seluruh partisi Disk. Umumnya, ini bukan ide yang baik untuk menulis kembali partisi ini dengan yang nyata. Solaris mungkin tidak dapat di-boot tanpanya, dan SILO (boot loader untuk SPARC) menghargainya dengan baik.Tabel GPT cadangan telah terkorupsi, tetapi yang utama kelihatan BAIK, jadi ini yang akan digunakanTabel GPT backup tidak ada pada akhir dari disk, seperti seharusnya ada disana. Ini mungkin berarti sistem operasi lain percaya bahwa ukuran disk lebih kecil. Betulkan, dengan memindahkan tabel backup ke akhir dari disk (dan menghapus backup yang lama)?Daerah boot tidak dimulai pada awal dari partisi.Versi API saat ini '%d' tidak cocok dengan versi API penggerak dasd '%d'!Daerah data tidak dimulai pada awal dari partisi.Perangkat %s memiliki panjang kosong, dan tidak mungkin menyimpan file system dan tabel partisi didalamnya. Mungkin anda telah memilih perangkat yang salah?Geometri CHS dari disk (%d,%d,%d) dilaporkan oleh sistem operasi tidak cocok dengan geometri yang disimpan pada disk label (%d,%d,%d).Disk memiliki %d cylinders, dimana ini lebih besar dari maksimum 65536.Disk label mendeskripsikan disk lebih besar dari %s.driver descriptor mengatakan bahwa ukuran physical block adalah %d bytes, tetapi Linux mengatakan ukurannya %d bytes.Disk label yang ada di %s akan dihapus dan seluruh data di disk ini akan hilang. Apakah anda ingin melanjutkan?Filesystem yang ada akan dihapus dan seluruh data yang ada di partisi tersebut akan hilang. Apakah anda ingin melanjutkan?File system ext2 lolos dari pengecheckan dasar. Untuk lebih komprehensif check, gunakan aplikasi e2fsck.Extent overflow file seharusnya tidak berisi extentnya sendiri! Anda seharusnya mengecheck filesystem.File %s ditandai sebagai sistem file. Ini berarti memindahkannya dapat menyebabkan beberapa aplikasi untuk tidak dapat bekerja.File system hanya dapat diresize ke ukuran ini dengan mengubahnya ke FAT16.The file system hanya dapat di-resize untuk ukuran ini hanya dengan mengubahnya menjadi FAT32.File system memiliki kerusakan.File system memiliki 'dir_index' featur enabled. Parted hanya bisa me-resize file system jika ini feature ini dimatikan. Anda dapat menghidupkannya kembali nanti dengan menjalankan 'tune2fs -O dir_index PERANGKAT' dan kemudian 'e2fsck -fD PERANGKAT'.File system lebih besar dari volumenya!File system dalam keadaan tidak valid. Mungkin sedang dimount?File system dalam format lama (tidak dapat diubah ukurannya).File system's CHS geometry adalah (%d, %d, %d), ini tidak valid. Tabel partisi dari CHS geometry adalah (%d, %d, %d). Jika anda memilih Ignore, file system's CHS geometry akan ditinggalkan tanpa diubah. Jika anda memilih Betulkan, file system CHS geomtry akan diset sehingga cocok dengan tabel partisi dari CHS geometry.Format dari tabel partisi GPT adalah dari versi %x, dimana ini lebih baru dari format yang Parted dapat mengenalnya. Tolong beritahu kami! bug-parted@gnu.orgInformasi sektor memiliki signature (%x) yang salah. Pilih cancel sekarang, dan kirim dalam laporan bug. Jika anda putus asa, mungkin lebih aman untuk menghiraukannya.Journal tidak kosong. Parted harus membalas transaksi sebelum membuka file system. Ini akan memodifikasi file system.Lokasi %s terletak diluar dari perangkat %s.Nilai head maksimum adalah %d.Nilai maksimum dari sektor adalah %d.Partisi harus memiliki salah satu dari TIPE-FS berikut ini: Tabel partisi tidak dapat dibaca ulang. Ini berarti anda perlu untuk me-reboot terlebih dahulu sebelum me-mount semua partisi yang dimodifikasi. Anda juga perlu menginstall kembali bootloader anda sebelum me-reboot komputer anda (yang memerlukan untuk me-mount partisi yang dimodifikasi). Ini tidak mungkin untuk melakukan keduanya secara sekaligus! Jadi anda perlu membuat sebuah disket penolong (rescue), dan menginstall bootloader anda dari disket penolong tersebut. Baca bagian 4 dari dokumentasi pengguna Parted untuk informasi lebih lanjut.Tabel partisi pada %s tidak dapat dibaca kembali (%s). Ini berarti hurd tidak tahu apa-apa tentang modifikasi yang anda buat. Anda seharusnya mereboot komputer anda sebelum melakukan apapun dengan %s.Daerah boot partisi tidak menggunakan seluruh partisi.Daerah data partisi tidak menggunakan seluruh partisi.Tabel GPT primer telah terkorupsi, tetapi backup-nya kelihatan BAIK, jadi ini yang akan digunakanFile system reiserfs lolos dari pemeriksaan dasar. Untuk pemeriksaan yang lebih komprehensif , jalankan reiserfsck --check.Ukuran sektor yang disimpan dalam journal tidak sebesar 512 bytes. Parted hanya mendukung ukuran sektor 512 bytes.Perangkat yang dimaksud tidak memiliki perangkat DASD yang validVolume header atau direktori master block telah berubah ketika membalas transaksi journal. Anda seharusnya merestart Parted.Tidak ada konfigurasi yang mungkin untuk tipe FAT ini.Tidak terdapat ruangan yang cukup untuk direktori root untuk semua file. Pilih cancel, atau ignore untuk menggagalkan files.HFS volume tidak memiliki catalog file. Ini sangat tidak biasa!HFS+ volume ini tidak memiliki extent overflow file. Ini tidak biasa!HFS+ volume tidak memiliki catalog file. Ini sangat tidak biasa!HFS+ volume tidak memiliki extent overflow file. Ini tidak biasa!Perintah ini tidak mempunyai arti dalam mode non-interaktif. File system ini memiliki sektor logical yang berukuran %d. GNU Parted tidak bekerja dengan baik dengan ukuran sektor selain 512 bytes.Ini bukan sebuah pengecheckan %s nyata. Ini akan mengekstrak files spesial level bawah untuk tujuan debugging.Ini bukan cakram ECKD! Tipe cakram ini tak didukung!libparted ini tidak memiliki write support untuk %s. Mungkin ini dikompilasi untuk mode read-only.Terlalu banyak bad pages.Terlalu banyak primary partisiTerlalu banyak primary partisi.Ada sisa backslashCoba `%s --help' untuk informasi lebih lanjut. Mencoba untuk memindahkan sebuah extent dari block 0x%X ke block 0x%X, tetapi yang lain sudah ada di partisi ini. Ini seharusnya tidak terjadi!Mencoba untuk membaca file HFS dengan CNID %X dibelakang EOF.Mencoba untuk membaca file HFS+ dengan CNID %X dibelakang EOF.Mencoba untuk menregister sebuah extent dimulai dari block 0x%X, tetapi yang lain sudah ada di partisi ini. Anda seharusnya mengecheck file system !Mencoba untuk menulis file HFS dengan CNID %X dibelakang EOF.Mencoba untuk menulis file HFS+ dengan CNID %X dibelakang EOF.TipeSATUAN adalah salah satu dari: Tidak dapat mengalokasikan sebuah slot untuk bsd disklabel.Tidak dapat mengalokasikan sebuah DASD slot disklabel.Tidak dapat mengalokasikan sebuah nomor partisi.Tidak dapat menentukan geometri dari file/perangkat %s. Anda seharusnya tidak menggunakan Parted kecuali anda BENAR - BENAR tahu apa yang anda lakukan!Tidak dapat menentukan tipe dm dari %s.Tidak dapat menentukan ukuran dari %s (%s).Tidak dapat membuka %s dengan mode read-write (%s). %s telah dibuka read-only.Tidak dapat membuka %s.Tidak dapat memprobe store.Tidak dapat memenuhi semua constraints pada partisi.Satuan?Tidak diketahuitanda disk tidak diketahui, %d.Tipe filesystem tidak diketahui "%s".flag partisi tidak diketahui, %d.Error dari sistem tidak diketahui penyebabnyaTidak cocok ( atau \(Tidak cocok ) atau \)Tidak cocok [ atau [^Tidak cocok \{Tipe linux swap signature baru tidak diketahui '%10s'.Tipe linux swap signature lama tidak diketahui '%10s'.Tipe linux swap signature swsusp tidak diketahui '%9s'.Format disk tidak disupportTipe disk tidak disupportUpdate dari HFS wrapper telah gagal.Penggunaan: %s [-hlmsv] [-a] [PERANGKAT [PERINTAH [PARAMETER]]...] Penggunaan: %s [OPSI] atau: %s PERANGKAT MINOR Penggunaan: %s [OPSI] [PERANGKAT]... Penggunaan: parted [OPSI]... [PERANGKAT [PERINTAH [PARAMETERS]...]...] Berikan PERINTAH dengan PARAMETER ke PERANGKAT. Jika tidak ada PERINTAH yang diberikan, maka parted akan berjalan dengan menggunakan mode interaktif. Mode-Pengguna Linux UBDMenggunakan perangkat %s Argumen yang sah adalah:HFS+ versi %d tidak disupport.HFS+ versi %d tidak disupport.Divais Blok VirtioVolume label terkorupsiPERINGATAN: Anda bukan superuser. Perhatikan permisi anda.PERINGATAN: anda sedang coba untuk menggunakan %s untuk beroperasi di (%s) sebuah sistem berkas. Kode manipulasi sistem berkas %s tidak sebaik dengan apa yang akan anda temukan dalam aplikasi khusus untuk sistem berkas seperti e2fsprogs. Kami merekomendasikan supaya anda menggunakan %s hanya untuk memanipulasi tabel partisi, kapanpun memungkinkan. Dukungan untuk melakukan operasi mendalam di banyak tipe dari sistem berkas akan dihilangkan pada keluaran selanjutnya. PeringatanUkuran block aneh pada deskripsi perangkat: %d bytes tidak terbagi oleh 512.Aneh! Ada 2 masukan map partisi!Selamat datang di GNU Parted| Ketik 'bantuan' untuk melihat daftar dari perintah yang tersedia. Tanpa argumen, 'print' menampilkan seluruh tabel partisi. Akan tetapi dengan diikuti argument ini akan melakukan beberapa aksi yang berbeda. Maukah anda menggunakan FAT32?Ditulis oleh %s dan %s. Ditulis oleh %s, %s, %s, %s, %s, %s, %s, %s, %s, dan yang lainnya. Ditulis oleh %s, %s, %s, %s, %s, %s, %s, %s, dan %s. Ditulis oleh %s, %s, %s, %s, %s, %s, %s, dan %s. Ditulis oleh %s, %s, %s, %s, %s, %s, dan %s. Ditulis oleh %s, %s, %s, %s, %s, dan %s. Ditulis oleh %s, %s, %s, %s, dan %s. Ditulis oleh %s, %s, %s, dan %s. Ditulis oleh %s, %s, dan %s. Ditulis oleh %s. Divasi Blok Virtual XenYaAnda mungkin perlu untuk memperbarui /etc/fstab. Anda butuh %s ruang kosong dari disk untuk mengecilkan partisi ini. Saat ini hanya %s yang kosong.Anda meminta sebuah partisi dari %s sampai %s. Lokasi terdekat yang dapat kami tangani adalah %s sampai %s.%sAnda seharusnya menginstall ulang boot loader anda sebelum merebootnya. Baca bagian 4 dari Parted dokumentasi pengguna untuk informasi lebih lanjut.File system anda memiliki terlalu banyak inode yang terisi untuk diresize menjadi %i block. MaafFile system anda terlalu penuh untuk men-resize-nya menjadi %i blocks. Maaf.^[nN]^[yY]U+2018menambahkan groupspemeriksaan-penyesuaianpemeriksaan-penyesuaian TIPE N periksa partisi N untuk penyesuaian TIPE(min|opt)penyesuaian untuk partisi barutipe penyesuaian(min/opt)argumen %s ambigu untuk %satvrecvbios_grubbootperiksaperiksa NOMOR pemeriksaan sederhana pada file systemmemeriksaMengecheck bad blocksmenyalinsalinsalin [ASAL-PERANGKAT] ASAL-NOMOR KE-NOMOR menyalin file system ke partisi yang lainmembuatpenyesuaian_silinderpenyesuaian yang diinginkan: minimal atau optimaltampilkan keluaran mesin yang dapat diinputkan (parseable)tampilkan versi dari program initampilkan pesan bantuan iniakhir dari berkas ketika membaca %smembesarkanextendedgagal mengatur nama partisi dvh ke %s: Hanya logical partisi (boot files) yang memiliki nama.fat_table_alloc_cluster: tidak ada cluster yang kosongfat_table_get: cluster %ld diluar file systemfat_table_set: cluster %ld diluar file systemfreememperbesar file systembantuanbantuan [PERINTAH] menampilkan bantuan umum, atau bantuan pada PERINTAHtersembunyihp-serviceargumen `%s' tidak sah %s%sargumen `%s' tidak sah %snomor divais minor tidak sah: %sakhiran tidak sah di %s%s argumen `%s'token tidak valid: %sgagal ioctl()lbatampilkan layout partisi di seluruh perangkat bloklogicallvmkehabisan memorymetadataminimalmkfsmkfs NOMOR TIPE-FS membuat sistem berkas TIPE-FS pada partisi NOMORmklabelmklabel,mktable TIPE-LABEL membuat sebuah disklabel baru (tabel partisi)mkpartmkpart TIPE-PART [TIPE-FS] AWAL AKHIR membuat sebuah partisimkpartfsmkpartfs TIPE-PART TIPE-FS AWAL AKHIR membuat sebuah partisi dengan filesystemmktablepindahpindah NOMOR AWAL AKHIR memindahkan partisi NOMORmsftresnamanama NOMOR NAMA memberi nama partisi NOMOR dengan NAMAjangan menanyakan intervensi penggunamatinyalagagal membukagagal membuka perangkatoptimalpaloparted tidak dapat membaca kembali tabel partisi pada %s (%s). Ini berarti Linux tidak akan tahu apapun tentang modifikasi yang telah anda buat.panjang partisi dari sektor %jd melampaui %s-partition-table-imposed maksimum dari %jdped_device_new() Tipe perangkat tidak disupportprepprimarykumpulan CRC tabel partisi utama tidak cocokcetakprint [devices|free|list,all|NUMBER] tampilkan tabel partisi, perangkat yang bisa dipakai, ruang kosong, seluruh partisi yang ditemukan, atau untuk partisi tertentuberhentiberhenti keluar dari programraidraw block copyinggagal menulisgagal membaca dari perangkatselamatkanselamatkan AWAL AKHIR menyelamatkan partisi yang hilang didekat alamat AWAL dan AKHIRresizeresize NOMOR AWAL AKHIR merubah ukuran partisi NOMOR dan isi filesystemnyahapushapus NOMOR hapus partisi NOMORrootmencari untuk file systemsgagal mencaripencarian perangkat gagalpilihpilih PERANGKAT pilih perangkat yang akan di editsetset NOMOR FLAG STATUS merubah tanda pada partisi NOMORmengecilkanmengecilkan HFS wrappermengecilkan embedded HFS+ volumememulai penomoran sektor, %jd melampaui %s-partition-table-imposed maksimum dari %jdswapubahubah [NOMOR [TANDA]] ubah keadaan dari TANDA di partisi NOMORargumen terlalu sedikitTerlalu banyak argument.satuansatuan SATUAN mengeset satuan baku pada SATUANversiversi menampilkan versi dari GNU Parted dan informasi hak ciptagagal menulismenulis HFS Master Directory Blockmenulis HFS+ Volume Headermenulis per-group metadatagagal menulis ke perangkatparted-2.3/po/ja.po0000644000000000000000000035330111400005705011071 00000000000000# Partedã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®æ—¥æœ¬èªžè¨³ # Copyright (C) 2010 Free Software Foundation, Inc. # This file is distributed under the same license as the parted package. # Hiroshi Takekawa , 1999-2010. # msgid "" msgstr "" "Project-Id-Version: parted 2.2\n" "Report-Msgid-Bugs-To: bug-parted@gnu.org\n" "POT-Creation-Date: 2010-05-28 20:30+0200\n" "PO-Revision-Date: 2010-02-27 09:05+0900\n" "Last-Translator: Hiroshi Takekawa \n" "Language-Team: Japanese \n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "%s 㯠%s ã®ä¸æ­£ãªå¼•æ•°ã§ã™" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "%s 㯠%s ã«ã¯æ›–昧ãªå¼•æ•°ã§ã™" #: lib/argmatch.c:153 #, c-format msgid "Valid arguments are:" msgstr "利用å¯èƒ½ãªå¼•æ•°ã¯ä»¥ä¸‹ã®é€šã‚Šã§ã™ï¼š" #: lib/closeout.c:112 libparted/labels/fdasd.c:107 msgid "write error" msgstr "書ãè¾¼ã¿ã‚¨ãƒ©ãƒ¼" #: lib/error.c:181 msgid "Unknown system error" msgstr "䏿˜Žãªã‚·ã‚¹ãƒ†ãƒ ã‚¨ãƒ©ãƒ¼" #: lib/getopt.c:527 lib/getopt.c:543 #, c-format msgid "%s: option '%s' is ambiguous\n" msgstr "%s: オプション '%s' ã¯ã„ãã¤ã‹ã®æ„味ã«ã¨ã‚Œã¦ã—ã¾ã„ã¾ã™\n" #: lib/getopt.c:576 lib/getopt.c:580 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: オプション '--%s' ã¯å¼•æ•°ã‚’å—ã‘ã¨ã‚Šã¾ã›ã‚“\n" #: lib/getopt.c:589 lib/getopt.c:594 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: オプション '%c%s' ã¯å¼•æ•°ã‚’å—ã‘ã¨ã‚Šã¾ã›ã‚“\n" #: lib/getopt.c:637 lib/getopt.c:656 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: オプション '%s' ã«ã¯å¼•æ•°ãŒå¿…è¦ã§ã™\n" #: lib/getopt.c:694 lib/getopt.c:697 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: '--%s' ã¯èªè­˜ã§ããªã„オプションã§ã™\n" #: lib/getopt.c:705 lib/getopt.c:708 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: '%c%s' ã¯èªè­˜ã§ããªã„オプションã§ã™\n" #: lib/getopt.c:757 lib/getopt.c:760 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: '%c' ã¯ä¸æ­£ãªã‚ªãƒ—ションã§ã™\n" #: lib/getopt.c:810 lib/getopt.c:827 lib/getopt.c:1035 lib/getopt.c:1053 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: '%c' ã«ã¯å¼•æ•°ãŒå¿…è¦ã§ã™\n" #: lib/getopt.c:883 lib/getopt.c:899 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: オプション '-W %s' ã¯ã„ãã¤ã‹ã®æ„味ã«ã¨ã‚Œã¦ã—ã¾ã„ã¾ã™\n" #: lib/getopt.c:923 lib/getopt.c:941 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: オプション '-W %s' ã¯å¼•æ•°ã‚’å—ã‘ã¨ã‚Šã¾ã›ã‚“\n" #: lib/getopt.c:962 lib/getopt.c:980 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: オプション '%s' ã«ã¯å¼•æ•°ãŒå¿…è¦ã§ã™\n" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". If the catalog has no translation, #. locale_quoting_style quotes `like this', and #. clocale_quoting_style quotes "like this". #. #. For example, an American English Unicode locale should #. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and #. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION #. MARK). A British English Unicode locale should instead #. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) #. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. #. #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. #: lib/quotearg.c:272 msgid "`" msgstr "`" #: lib/quotearg.c:273 msgid "'" msgstr "'" #: lib/regcomp.c:134 msgid "Success" msgstr "æˆåŠŸ" #: lib/regcomp.c:137 msgid "No match" msgstr "マッãƒãªã—" #: lib/regcomp.c:140 msgid "Invalid regular expression" msgstr "䏿­£ãªæ­£è¦è¡¨ç¾" #: lib/regcomp.c:143 msgid "Invalid collation character" msgstr "䏿­£ãªé †åºæ–‡å­—" #: lib/regcomp.c:146 msgid "Invalid character class name" msgstr "䏿­£ãªæ–‡å­—クラスå" #: lib/regcomp.c:149 msgid "Trailing backslash" msgstr "余分ãªãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥" #: lib/regcomp.c:152 msgid "Invalid back reference" msgstr "䏿­£ãªå¾Œæ–¹å‚ç…§" #: lib/regcomp.c:155 msgid "Unmatched [ or [^" msgstr "対応ã®ãªã„ [ ã‚ã‚‹ã„㯠[^" #: lib/regcomp.c:158 msgid "Unmatched ( or \\(" msgstr "対応ã®ãªã„ ( ã‚ã‚‹ã„㯠\\(" #: lib/regcomp.c:161 msgid "Unmatched \\{" msgstr "対応ã®ãªã„ \\{" #: lib/regcomp.c:164 msgid "Invalid content of \\{\\}" msgstr "\\{\\} ã®ä¸­èº«ãŒä¸æ­£" #: lib/regcomp.c:167 msgid "Invalid range end" msgstr "䏿­£ãªçµ‚了値" #: lib/regcomp.c:170 msgid "Memory exhausted" msgstr "メモリä¸è¶³" #: lib/regcomp.c:173 msgid "Invalid preceding regular expression" msgstr "先行ã™ã‚‹æ­£è¦è¡¨ç¾ãŒä¸æ­£" #: lib/regcomp.c:176 msgid "Premature end of regular expression" msgstr "æ­£è¦è¡¨ç¾ãŒé€”中ã§çµ‚ã‚ã£ã¦ã„ã‚‹" #: lib/regcomp.c:179 msgid "Regular expression too big" msgstr "大ãã™ãŽã‚‹æ­£è¦è¡¨ç¾" #: lib/regcomp.c:182 msgid "Unmatched ) or \\)" msgstr "対応ã®ãªã„ ) ã¾ãŸã¯ \\)" #: lib/regcomp.c:703 msgid "No previous regular expression" msgstr "ã“れよりå‰ã«æ­£è¦è¡¨ç¾ãŒãªã„" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[yY]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nN]" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "パッケージ作æˆè€… %s (%s)\n" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "パッケージ作æˆè€… %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "(C)" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "ライセンス GPLv3+: GNU GPL ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 3 ã‚ã‚‹ã„ã¯ãれ以é™ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ \n" "ã“ã®ã‚½ãƒ•トウェアã¯ãƒ•リーソフトウェアã§ã™ã€‚自由ã«å¤‰æ›´ã€å†é…布ãŒã§ãã¾ã™ã€‚\n" "法律ãŒè¨±ã™ã‹ãŽã‚Šã€å…¨ãã®ç„¡ä¿è¨¼ã§ã™ã€‚\n" "\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "%s ã«ã‚ˆã£ã¦ä½œã‚‰ã‚Œã¾ã—ãŸã€‚\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "%s 㨠%s ã«ã‚ˆã£ã¦ä½œã‚‰ã‚Œã¾ã—ãŸã€‚\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "%sã€%s 㨠%s ã«ã‚ˆã£ã¦ä½œã‚‰ã‚Œã¾ã—ãŸã€‚\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "%sã€%sã€%sã€\n" "ãŠã‚ˆã³ã€%s ã«ã‚ˆã£ã¦ä½œã‚‰ã‚Œã¾ã—ãŸã€‚\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "%sã€%sã€%sã€\n" "%sã€ãŠã‚ˆã³ã€%sã«ã‚ˆã£ã¦ä½œã‚‰ã‚Œã¾ã—ãŸã€‚\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "%sã€%sã€%sã€\n" "%sã€%sã€ãŠã‚ˆã³ã€%sã«ã‚ˆã£ã¦ä½œã‚‰ã‚Œã¾ã—ãŸã€‚\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "%sã€%sã€%sã€\n" "%sã€%sã€%sã€ãŠã‚ˆã³ã€%sã«ã‚ˆã£ã¦ä½œã‚‰ã‚Œã¾ã—ãŸã€‚\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "%sã€%sã€%sã€\n" "%sã€%sã€%sã€%sã€\n" "ãŠã‚ˆã³%sã«ã‚ˆã£ã¦ä½œã‚‰ã‚Œã¾ã—ãŸã€‚\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "%sã€%sã€%sã€\n" "%sã€%sã€%sã€%sã€\n" "%sã€ãŠã‚ˆã³ã€%sã«ã‚ˆã£ã¦ä½œã‚‰ã‚Œã¾ã—ãŸã€‚\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "%sã€%sã€%sã€\n" "%sã€%sã€%sã€%sã€\n" "%sã€%sã¨ã„ã£ãŸäººã€…ã«ã‚ˆã£ã¦ä½œã‚‰ã‚Œã¾ã—ãŸã€‚\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "ãƒã‚°ãƒ¬ãƒãƒ¼ãƒˆã¯ %s ã¸ã€‚\n" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "%s ã®ãƒã‚°ãƒ¬ãƒãƒ¼ãƒˆã¯ %s ã¸ã€‚\n" #: lib/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "%s ホームページ: <%s>\n" #: lib/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "%s ホームページ: \n" #: lib/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "GNU ソフトウェアã®ä¸€èˆ¬çš„ãªãƒ˜ãƒ«ãƒ—ã¯: \n" #: lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "メモリä¸è¶³" #: lib/xstrtol-error.c:63 #, c-format msgid "invalid %s%s argument `%s'" msgstr "䏿­£ãª %s%s ã®å¼•æ•° '%s' ã§ã™" #: lib/xstrtol-error.c:68 #, c-format msgid "invalid suffix in %s%s argument `%s'" msgstr "䏿­£ãªæŽ¥å°¾è¾žãŒ %s%s ã®å¼•æ•° `%s' ã«ã‚りã¾ã™" #: lib/xstrtol-error.c:72 #, c-format msgid "%s%s argument `%s' too large" msgstr "%s%s ã®å¼•æ•° `%s' ã¯å¤§ãã™ãŽã¾ã™" #: libparted/arch/beos.c:245 msgid "Disk Image" msgstr "ディスクイメージ" #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277 #: libparted/arch/linux.c:1519 #, c-format msgid "Error opening %s: %s" msgstr "%s をオープン中ã«ã‚¨ãƒ©ãƒ¼: %s" #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287 #: libparted/arch/linux.c:1530 #, c-format msgid "Unable to open %s read-write (%s). %s has been opened read-only." msgstr "" "%s ã‚’èª­ã¿æ›¸ãå¯èƒ½ãªçŠ¶æ…‹ã«ã‚ªãƒ¼ãƒ—ンã§ãã¾ã›ã‚“(%s)。%s ã¯èª­ã¿è¾¼ã¿ã®ã¿å¯èƒ½ãªçŠ¶æ…‹" "ã§ã‚ªãƒ¼ãƒ—ンã•れã¾ã—ãŸã€‚" #: libparted/arch/beos.c:419 libparted/arch/linux.c:1688 #, c-format msgid "%s during seek for read on %s" msgstr "%s: %s ã‹ã‚‰èª­ã¿è¾¼ã¿ä¸­ã®ã‚·ãƒ¼ã‚¯ã§ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚" #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564 #: libparted/arch/gnu.c:692 libparted/arch/linux.c:1648 #: libparted/arch/linux.c:1729 #, c-format msgid "%s during read on %s" msgstr "%s: %s ã‹ã‚‰èª­ã¿è¾¼ã¿ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚" #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525 #: libparted/arch/linux.c:1805 #, c-format msgid "Can't write to %s, because it is opened read-only." msgstr "読ã¿è¾¼ã¿ã®ã¿ãŒå¯èƒ½ãªã‚ˆã†ã«ã‚ªãƒ¼ãƒ—ンã•れã¦ã„ã‚‹ã®ã§ã€%sã«æ›¸ãã“ã‚ã¾ã›ã‚“。" #: libparted/arch/beos.c:504 libparted/arch/linux.c:1830 #, c-format msgid "%s during seek for write on %s" msgstr "%s: %s ã«æ›¸ãã“ã¿ä¸­ã®ã‚·ãƒ¼ã‚¯ã§ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚" #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646 #: libparted/arch/gnu.c:723 libparted/arch/linux.c:1778 #: libparted/arch/linux.c:1872 libparted/arch/linux.c:1944 #, c-format msgid "%s during write on %s" msgstr "%s: %s ã«æ›¸ãã“ã¿ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚" #: debug/clearfat/clearfat.c:62 partprobe/partprobe.c:137 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "より詳ã—ã知るã«ã¯ `%s --help' を使ã£ã¦ã¿ã¦ãã ã•ã„。\n" #: debug/clearfat/clearfat.c:66 #, c-format msgid "" "Usage: %s [OPTION]\n" " or: %s DEVICE MINOR\n" msgstr "" "ä½¿ã„æ–¹: %s [オプション]\n" "ã‚ã‚‹ã„ã¯: %s デãƒã‚¤ã‚¹ マイナー番å·\n" #: debug/clearfat/clearfat.c:69 msgid "" "Clear unused space on a FAT partition (a GNU Parted testing tool).\n" "\n" msgstr "" "FAT ãƒ‘ãƒ¼ãƒ†ã‚£ã‚·ãƒ§ãƒ³ä¸Šã®æœªä½¿ç”¨é ˜åŸŸã‚’クリアã—ã¾ã™ (GNU Parted ã®ãƒ†ã‚¹ãƒˆãƒ„ー" "ル)。\n" "\n" #: debug/clearfat/clearfat.c:73 msgid " --help display this help and exit\n" msgstr " --help ã“ã®ãƒ˜ãƒ«ãƒ—を表示ã—終了\n" #: debug/clearfat/clearfat.c:74 msgid " --version output version information and exit\n" msgstr " --version ãƒãƒ¼ã‚¸ãƒ§ãƒ³æƒ…報を表示ã—終了\n" #: debug/clearfat/clearfat.c:76 partprobe/partprobe.c:154 #, c-format msgid "" "\n" "Report bugs to <%s>.\n" msgstr "" "\n" "ãƒã‚°ãƒ¬ãƒãƒ¼ãƒˆã¯ <%s> ã¸ã€‚\n" #: debug/clearfat/clearfat.c:284 #, c-format msgid "too few arguments" msgstr "引数ãŒå°‘ãªã™ãŽã¾ã™" #: debug/clearfat/clearfat.c:289 #, c-format msgid "too many arguments" msgstr "引数ãŒå¤šã™ãŽã¾ã™ã€‚" #: debug/clearfat/clearfat.c:297 #, c-format msgid "invalid minor device number: %s" msgstr "䏿­£ãªãƒžã‚¤ãƒŠãƒ¼ç•ªå·ã§ã™: %s" #: partprobe/partprobe.c:141 #, c-format msgid "Usage: %s [OPTION] [DEVICE]...\n" msgstr "ä½¿ã„æ–¹: %s [オプション] [デãƒã‚¤ã‚¹]...\n" #: partprobe/partprobe.c:142 msgid "" "Inform the operating system about partition table changes.\n" "\n" " -d, --dry-run do not actually inform the operating system\n" " -s, --summary print a summary of contents\n" " -h, --help display this help and exit\n" " -v, --version output version information and exit\n" msgstr "" "OS ã«ãƒ‘ーティションテーブルã®å¤‰æ›´ã‚’通知ã—ã¾ã™ã€‚\n" "\n" " -d, --dry-run カーãƒãƒ«ã«å¤‰æ›´ã‚’通知ã—ãªã„\n" " -s, --summary 内容ã®ã‚µãƒžãƒªã‚’表示\n" " -h, --help ã“ã®ãƒ˜ãƒ«ãƒ—を表示ã—ã¦çµ‚了\n" " -v, --version ãƒãƒ¼ã‚¸ãƒ§ãƒ³æƒ…報を表示ã—ã¦çµ‚了\n" #: partprobe/partprobe.c:150 msgid "" "\n" "When no DEVICE is given, probe all partitions.\n" msgstr "" "\n" "デãƒã‚¤ã‚¹ã®æŒ‡å®šãŒãªã„å ´åˆã¯ã€å…¨ãƒ‘ーティションを調ã¹ã¾ã™ã€‚\n" #: libparted/arch/gnu.c:110 #, c-format msgid "Unable to open %s." msgstr "%s ã‚’é–‹ã‘ã¾ã›ã‚“。" #: libparted/arch/gnu.c:130 msgid "Unable to probe store." msgstr "デãƒã‚¤ã‚¹ã®ãƒ—ローブã«å¤±æ•—ã—ã¾ã—ãŸã€‚" #: libparted/arch/gnu.c:368 msgid "" "The partition table cannot be re-read. This means you need to reboot before " "mounting any modified partitions. You also need to reinstall your boot " "loader before you reboot (which may require mounting modified partitions). " "It is impossible do both things! So you'll need to boot off a rescue disk, " "and reinstall your boot loader from the rescue disk. Read section 4 of the " "Parted User documentation for more information." msgstr "" "カーãƒãƒ«ã¯ãƒ‘ーティションテーブルã®å†èª­ã¿è¾¼ã¿ãŒã§ãã¾ã›ã‚“ã§ã—ãŸã®ã§ã€å¤‰æ›´ã‚’加" "ãˆãŸãƒ‘ーティションを mount ã™ã‚‹å‰ã«å†èµ·å‹•ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚ã¾ãŸã€å†èµ·å‹•ã™ã‚‹" "å‰ã«ãƒ–ートローダをå†ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™(ã“ã®ã“ã¨ã¯ã€å¤‰æ›´ã—ãŸãƒ‘ー" "ティション㮠mount ãŒå¿…è¦ã¨ãªã‚‹ã‹ã‚‚ã—れã¾ã›ã‚“)。ã§ã‚‚ãã‚Œã‚‰ã‚’ä¸¡æ–¹åŒæ™‚ã«ã¯ã§ã" "ã¾ã›ã‚“! レスキューディスクを使ã£ã¦ãƒ–ートã—ã¦ã€ãƒ–ートローダをã„れãªãŠã—ã¦ãã " "ã•ã„。より詳ã—ã„ã“ã¨ã¯ Parted ã®ãƒ¦ãƒ¼ã‚¶ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®4章を読んã§ãã ã•ã„。" #: libparted/arch/gnu.c:385 #, c-format msgid "" "The partition table on %s cannot be re-read (%s). This means the Hurd knows " "nothing about any modifications you made. You should reboot your computer " "before doing anything with %s." msgstr "" "カーãƒãƒ«ã¯ %s ã®ãƒ‘ーティションテーブルã®å†…容をå†èª­ã¿è¾¼ã¿ã§ãã¾ã›ã‚“(%s)。ã“れ" "㯠Hurd ã¯ã‚ãªãŸãŒè¡Œã£ãŸå¤‰æ›´ã‚’関知ã—ã¦ã„ãªã„ã“ã¨ã‚’æ„味ã—ã¦ã„ã¾ã™ã€‚%s ã«å¯¾ã—ã¦" "ä½•ã‹æ“作をã™ã‚‹å‰ã«ã‚³ãƒ³ãƒ”ュータをå†èµ·å‹•ã™ã‚‹ã¹ãã§ã™ã€‚" #: libparted/arch/gnu.c:396 parted/parted.c:2719 msgid "" "You should reinstall your boot loader before rebooting. Read section 4 of " "the Parted User documentation for more information." msgstr "" "å†èµ·å‹•ã™ã‚‹å‰ã«ãƒ–ートローダをã„れãªãŠã™ã¹ãã§ã™ã€‚詳細㯠Parted ユーザドキュメ" "ントã®4章を読んã§ãã ã•ã„。" #: libparted/arch/gnu.c:788 #, c-format msgid "%s trying to sync %s to disk" msgstr "%s: %s ã‚’åŒæœŸä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚" #: libparted/arch/linux.c:509 #, c-format msgid "Could not stat device %s - %s." msgstr "デãƒã‚¤ã‚¹ %s を調ã¹ã‚‰ã‚Œã¾ã›ã‚“: %s" #: libparted/arch/linux.c:566 #, c-format msgid "Unable to determine the dm type of %s." msgstr "%s ã® dm タイプを特定ã§ãã¾ã›ã‚“" #: libparted/arch/linux.c:658 #, c-format msgid "" "Could not determine sector size for %s: %s.\n" "Using the default sector size (%lld)." msgstr "" "%s ã®ã‚»ã‚¯ã‚¿ã‚µã‚¤ã‚ºãŒæ±ºå®šã§ãã¾ã›ã‚“: %s\n" "デフォルトã®ã‚»ã‚¯ã‚¿ã‚µã‚¤ã‚º (%lld) を使ã„ã¾ã™ã€‚" #: libparted/arch/linux.c:679 #, c-format msgid "" "Could not determine physical sector size for %s.\n" "Using the logical sector size (%lld)." msgstr "" "%s ã®ç‰©ç†ã‚»ã‚¯ã‚¿ã‚µã‚¤ã‚ºãŒæ±ºå®šã§ãã¾ã›ã‚“。\n" "è«–ç†ã‚»ã‚¯ã‚¿ã‚µã‚¤ã‚º (%lld) を使ã„ã¾ã™ã€‚" #: libparted/arch/linux.c:728 #, c-format msgid "Unable to determine the size of %s (%s)." msgstr "%s ã®ã‚µã‚¤ã‚ºã‚’決定ã§ãã¾ã›ã‚“(%s)" #: libparted/arch/linux.c:814 #, c-format msgid "Could not get identity of device %s - %s" msgstr "デãƒã‚¤ã‚¹ %s ã® identity ã‚’å–å¾—ã§ãã¾ã›ã‚“: %s" #: libparted/arch/linux.c:823 msgid "Generic IDE" msgstr "一般的㪠IDE" #: libparted/arch/linux.c:844 #, c-format msgid "" "Device %s has multiple (%d) logical sectors per physical sector.\n" "GNU Parted supports this EXPERIMENTALLY for some special disk label/file " "system combinations, e.g. GPT and ext2/3.\n" "Please consult the web site for up-to-date information." msgstr "" "デãƒã‚¤ã‚¹ %s ã«ã¯ã€ç‰©ç†ã‚»ã‚¯ã‚¿ä¸€ã¤ã«ã¤ã複数 (%dセクタ) ã®è«–ç†ã‚»ã‚¯ã‚¿ãŒã‚りã¾" "ã™ã€‚\n" "GNU Parted ã¯ã€ã‚る特定ã®ãƒ‡ã‚£ã‚¹ã‚¯ãƒ©ãƒ™ãƒ«ã¨ãƒ•ァイルシステムã®çµ„ã¿åˆã‚ã›ã«ã¤ã„" "ã¦ã€ã“ã®ã‚ˆã†ãªå ´åˆã‚’「実験的ã«ã€ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚例ãˆã°ã€GPT 㨠ext2/3 ã¨" "ã„ã£ãŸçµ„ã¿åˆã‚ã›ã§ã™ã€‚\n" "æœ€æ–°ã®æƒ…報㯠web サイトをã”覧ãã ã•ã„。" #: libparted/arch/linux.c:1019 #, c-format msgid "Error initialising SCSI device %s - %s" msgstr "SCSI デãƒã‚¤ã‚¹ %s ã®åˆæœŸåŒ–ã«å¤±æ•—ã—ã¾ã—ãŸ: %s" #: libparted/arch/linux.c:1083 #, c-format msgid "" "The device %s has zero length, and can't possibly store a file system or " "partition table. Perhaps you selected the wrong device?" msgstr "" "デãƒã‚¤ã‚¹ %s ã®é•·ã•㌠0 ãªã®ã§ã€ãƒ•ァイルシステムやパーティションテーブルを記録" "ã§ãã¾ã›ã‚“。デãƒã‚¤ã‚¹ã®é¸æŠžã‚’é–“é•ã£ã¦ã„ãªã„ã‹ç¢ºèªã—ã¦ãã ã•ã„。" #: libparted/arch/linux.c:1190 #, c-format msgid "" "Unable to determine geometry of file/device %s. You should not use Parted " "unless you REALLY know what you're doing!" msgstr "" "ファイルã¾ãŸã¯ãƒ‡ãƒã‚¤ã‚¹ %s ã® geometry を決定ã§ãã¾ã›ã‚“。自分ã§ä½•ã‚’ã—ã¦ã„ã‚‹ã‹" "よãç†è§£ã—ã¦ã„ãªã‘れ㰠Parted を使ã†ã¹ãã§ã¯ã‚りã¾ã›ã‚“。" #: libparted/arch/linux.c:1250 msgid "Generic SD/MMC Storage Card" msgstr "SD/MMC カード" #: libparted/arch/linux.c:1303 msgid "DAC960 RAID controller" msgstr "DAC960 RAID コントローラ" #: libparted/arch/linux.c:1308 msgid "Promise SX8 SATA Device" msgstr "Promise SX8 SATA デãƒã‚¤ã‚¹" #: libparted/arch/linux.c:1313 msgid "ATA over Ethernet Device" msgstr "" #: libparted/arch/linux.c:1319 msgid "IBM S390 DASD drive" msgstr "IBM S390 DASD ドライブ" #: libparted/arch/linux.c:1325 msgid "IBM iSeries Virtual DASD" msgstr "IBM iSeries Virtual DASD" #: libparted/arch/linux.c:1330 msgid "Compaq Smart Array" msgstr "Compaq Smart Array" #: libparted/arch/linux.c:1335 msgid "ATARAID Controller" msgstr "ATA RAID コントローラ" #: libparted/arch/linux.c:1340 msgid "I2O Controller" msgstr "I2O コントローラ" #: libparted/arch/linux.c:1345 msgid "User-Mode Linux UBD" msgstr "User-Mode Linux UBD" #: libparted/arch/linux.c:1358 #, c-format msgid "Linux device-mapper (%s)" msgstr "Linux device-mapper (%s)" #: libparted/arch/linux.c:1369 msgid "Xen Virtual Block Device" msgstr "Xen Virtual Block Device" #: libparted/arch/linux.c:1374 msgid "Unknown" msgstr "䏿˜Ž" #: libparted/arch/linux.c:1383 msgid "Virtio Block Device" msgstr "Virtio Block Device" #: libparted/arch/linux.c:1388 msgid "Linux Software RAID Array" msgstr "" #: libparted/arch/linux.c:1395 msgid "ped_device_new() Unsupported device type" msgstr "ped_device_new() サãƒãƒ¼ãƒˆã•れã¦ã„ãªã„種類ã®ãƒ‡ãƒã‚¤ã‚¹ã§ã™ã€‚" #: libparted/arch/linux.c:1492 libparted/arch/linux.c:1564 #, c-format msgid "Error fsyncing/closing %s: %s" msgstr "%s ã‚’ fsync/close 中ã«ã‚¨ãƒ©ãƒ¼: %s" #: libparted/arch/linux.c:1728 #, c-format msgid "end of file while reading %s" msgstr "%s を読ã¿è¾¼ã¿ä¸­ã«ãƒ•ァイルã®çµ‚ã‚りã«é”ã—ã¾ã—ãŸ" #: libparted/arch/linux.c:2365 #, c-format msgid "" "Error informing the kernel about modifications to partition %s -- %s. This " "means Linux won't know about any changes you made to %s until you reboot -- " "so you shouldn't mount it or use it in any way before rebooting." msgstr "" #: libparted/arch/linux.c:2503 #, fuzzy, c-format msgid "Unable to determine the size and length of %s." msgstr "%s ã®ã‚µã‚¤ã‚ºã‚’決定ã§ãã¾ã›ã‚“(%s)" #: libparted/arch/linux.c:2528 #, fuzzy, c-format msgid "Failed to add partition %d (%s)" msgstr "%s : パーティションブロック %llu ãŒèª­ã‚ã¾ã›ã‚“\n" #: libparted/arch/linux.c:2555 #, c-format msgid "" "Partition(s) %s on %s have been written, but we have been unable to inform " "the kernel of the change, probably because it/they are in use. As a result, " "the old partition(s) will remain in use. You should reboot now before " "making further changes." msgstr "" #: libparted/arch/linux.c:2681 #, c-format msgid "" "parted was unable to re-read the partition table on %s (%s). This means " "Linux won't know anything about the modifications you made. " msgstr "" "parted 㯠%s ã®ãƒ‘ーティションテーブルã®å†…容をå†èª­ã¿è¾¼ã¿ã§ãã¾ã›ã‚“(%s)。ã“れ" "㯠Linux カーãƒãƒ«ã¯ã‚ãªãŸãŒè¡Œã£ãŸå¤‰æ›´ã‚’関知ã—ã¦ã„ãªã„ã“ã¨ã‚’æ„味ã—ã¦ã„ã¾ã™ã€‚" #: libparted/cs/geom.c:162 #, c-format msgid "Can't have the end before the start! (start sector=%jd length=%jd)" msgstr "終了ä½ç½®ã‚’é–‹å§‹ä½ç½®ã®å‰ã«ã¯å‹•ã‹ã›ã¾ã›ã‚“(開始セクタ=%jd é•·ã•=%jd)。" #: libparted/cs/geom.c:170 msgid "Can't have a partition outside the disk!" msgstr "ディスクã®å¤–å´ã«ãƒ‘ーティションã¯ä½œã‚Œã¾ã›ã‚“。" #: libparted/cs/geom.c:385 #, c-format msgid "Attempt to write sectors %ld-%ld outside of partition on %s." msgstr "" "書ã込もã†ã¨ã—ãŸã‚»ã‚¯ã‚¿ (%ld-%ld) 㯠%s 上ã®ãƒ‘ーティションã®å¤–ã«ã‚りã¾ã™ã€‚" #: libparted/cs/geom.c:425 libparted/fs/linux_swap/linux_swap.c:488 msgid "checking for bad blocks" msgstr "ä¸è‰¯ãƒ–ロックをãƒã‚§ãƒƒã‚¯ä¸­" #: libparted/debug.c:97 #, c-format msgid "Backtrace has %d calls on stack:\n" msgstr "Backtrace has %d calls on stack:\n" #: libparted/debug.c:110 #, c-format msgid "Assertion (%s) at %s:%d in function %s() failed." msgstr "Assertion (%s) at %s:%d in function %s() failed." #: libparted/disk.c:193 #, c-format msgid "%s: unrecognised disk label" msgstr "%s: ディスクラベルãŒèªè­˜ã§ãã¾ã›ã‚“。" #: libparted/disk.c:486 #, c-format msgid "" "This libparted doesn't have write support for %s. Perhaps it was compiled " "read-only." msgstr "" "使用ã—ã¦ã„ã‚‹ libparted 㯠%s ã®æ›¸ãã“ã¿ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“。読ã¿è¾¼ã¿å°‚用ã§" "コンパイルã•れã¦ã„ã‚‹ã¨æ€ã‚れã¾ã™ã€‚" #: libparted/disk.c:631 #, c-format msgid "Partition %d is %s, but the file system is %s." msgstr "パーティション %d 㯠%s ã§ã‚ã‚‹ã®ã«ã€ãƒ•ァイルシステム㯠%s ã§ã™ã€‚" #: libparted/disk.c:841 msgid "cylinder_alignment" msgstr "cylinder_alignment" #: libparted/disk.c:847 #, c-format msgid "Unknown disk flag, %d." msgstr "%d ã¯ä¸æ˜Žãªãƒ‡ã‚£ã‚¹ã‚¯ãƒ•ラグã§ã™ã€‚" #: libparted/disk.c:1286 #, c-format msgid "%s disk labels do not support extended partitions." msgstr "%s ã®ãƒ‡ã‚£ã‚¹ã‚¯ãƒ©ãƒ™ãƒ«ã¯æ‹¡å¼µãƒ‘ーティションをサãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“。" #: libparted/disk.c:1865 #, c-format msgid "%s disk labels don't support logical or extended partitions." msgstr "" "%s ã®ãƒ‡ã‚£ã‚¹ã‚¯ãƒ©ãƒ™ãƒ«ã¯è«–ç†ãƒ‘ーティションや拡張パーティションをサãƒãƒ¼ãƒˆã—ã¦ã¾ã›" "ã‚“" #: libparted/disk.c:1878 msgid "Too many primary partitions." msgstr "プライマリパーティションãŒå¤šã™ãŽã¾ã™ã€‚" #: libparted/disk.c:1887 #, c-format msgid "" "Can't add a logical partition to %s, because there is no extended partition." msgstr "拡張パーティションãŒãªã„ã®ã§ã€è«–ç†ãƒ‘ーティションを %s ã«ä½œã‚Œã¾ã›ã‚“。" #: libparted/disk.c:1911 #, c-format msgid "Can't have more than one extended partition on %s." msgstr "%s ã«ã¯ 1 個ã—ã‹æ‹¡å¼µãƒ‘ーティションを作れã¾ã›ã‚“。" #: libparted/disk.c:1921 msgid "Can't have logical partitions outside of the extended partition." msgstr "è«–ç†ãƒ‘ーティションを拡張パーティションã®å¤–ã«ã¯æŒã¦ã¾ã›ã‚“。" #: libparted/disk.c:1946 #, c-format msgid "Can't have a logical partition outside of the extended partition on %s." msgstr "%s ã®æ‹¡å¼µãƒ‘ーティションã®å¤–ã«è«–ç†ãƒ‘ーティションã¯ä½œã‚Œã¾ã›ã‚“。" #: libparted/disk.c:1956 libparted/disk.c:2015 libparted/disk.c:2193 msgid "Can't have overlapping partitions." msgstr "é‡ãªã‚Šã®ã‚ã‚‹ãƒ‘ãƒ¼ãƒ†ã‚£ã‚·ãƒ§ãƒ³ã¯æŒã¦ã¾ã›ã‚“。" #: libparted/disk.c:1964 msgid "Can't have a primary partition inside an extended partition." msgstr "拡張パーティション内ã«ãƒ—ライマリパーティションã¯ä½œã‚Œã¾ã›ã‚“。" #: libparted/disk.c:2395 msgid "metadata" msgstr "メタ情報" #: libparted/disk.c:2397 msgid "free" msgstr "空ã" #: libparted/disk.c:2399 parted/ui.c:1193 parted/ui.c:1221 msgid "extended" msgstr "æ‹¡å¼µ" #: libparted/disk.c:2401 parted/ui.c:1197 parted/ui.c:1225 msgid "logical" msgstr "è«–ç†" #: libparted/disk.c:2403 parted/ui.c:1189 parted/ui.c:1217 msgid "primary" msgstr "プライマリ" #: libparted/disk.c:2419 msgid "boot" msgstr "boot" #: libparted/disk.c:2421 msgid "bios_grub" msgstr "bios_grub" #: libparted/disk.c:2423 msgid "root" msgstr "root" #: libparted/disk.c:2425 msgid "swap" msgstr "swap" #: libparted/disk.c:2427 msgid "hidden" msgstr "hidden" #: libparted/disk.c:2429 msgid "raid" msgstr "raid" #: libparted/disk.c:2431 msgid "lvm" msgstr "lvm" #: libparted/disk.c:2433 msgid "lba" msgstr "lba" #: libparted/disk.c:2435 msgid "hp-service" msgstr "hp-service" #: libparted/disk.c:2437 msgid "palo" msgstr "palo" #: libparted/disk.c:2439 msgid "prep" msgstr "prep" #: libparted/disk.c:2441 msgid "msftres" msgstr "msftres" #: libparted/disk.c:2443 msgid "atvrecv" msgstr "atvrecv" #: libparted/disk.c:2445 msgid "diag" msgstr "" #: libparted/disk.c:2451 #, c-format msgid "Unknown partition flag, %d." msgstr "%d ã¯ä¸æ˜Žãªãƒ‘ーティションフラグã§ã™ã€‚" #: libparted/exception.c:77 msgid "Information" msgstr "通知" #: libparted/exception.c:78 msgid "Warning" msgstr "警告" #: libparted/exception.c:79 msgid "Error" msgstr "エラー" #: libparted/exception.c:80 msgid "Fatal" msgstr "致命的エラー" #: libparted/exception.c:81 msgid "Bug" msgstr "ãƒã‚°" #: libparted/exception.c:82 msgid "No Implementation" msgstr "未実装" #: libparted/exception.c:86 msgid "Fix" msgstr "修正" #: libparted/exception.c:87 msgid "Yes" msgstr "ã¯ã„(Y)" #: libparted/exception.c:88 msgid "No" msgstr "ã„ã„ãˆ(N)" #: libparted/exception.c:89 msgid "OK" msgstr "OK" #: libparted/exception.c:90 msgid "Retry" msgstr "やりãªãŠã—(R)" #: libparted/exception.c:91 msgid "Ignore" msgstr "無視(I)" #: libparted/exception.c:92 msgid "Cancel" msgstr "å–æ¶ˆ(C)" #: libparted/exception.c:132 #, c-format msgid "" "A bug has been detected in GNU Parted. Refer to the web site of parted " "http://www.gnu.org/software/parted/parted.html for more information of what " "could be useful for bug submitting! Please email a bug report to bug-" "parted@gnu.org containing at least the version (%s) and the following " "message: " msgstr "" "GNU parted ã«ãƒã‚°ãŒè¦‹ã¤ã‹ã‚Šã¾ã—ãŸã€‚http://www.gnu.org/software/parted/parted." "html を見ã¦ã€ä½•を報告ã™ã‚Œã°ãƒã‚°ãƒ¬ãƒãƒ¼ãƒˆã¨ã—ã¦å½¹ç«‹ã¤ã‹çŸ¥ã£ã¦ãã ã•ã„。bug-" "parted@gnu.org ã«æœ€ä½Žé™ version(%s) ã¨ä»¥ä¸‹ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’å«ã‚ã¦ãƒ¡ãƒ¼ãƒ«ã§é€ã£ã¦" "ãã ã•ã„: " #: libparted/filesys.c:462 msgid "Could not detect file system." msgstr "ファイルシステムを検出ã§ãã¾ã›ã‚“。" #: libparted/filesys.c:473 msgid "The file system is bigger than its volume!" msgstr "ファイルシステムãŒãƒœãƒªãƒ¥ãƒ¼ãƒ ã‚ˆã‚Šã‚‚大ãã„ã§ã™!" #: libparted/filesys.c:481 #, c-format msgid "Support for opening %s file systems is not implemented yet." msgstr "ファイルシステム(%s)ã®ã‚ªãƒ¼ãƒ—ãƒ³ã¯æœªå®Ÿè£…ã§ã™ã€‚" #: libparted/filesys.c:523 #, c-format msgid "Support for creating %s file systems is not implemented yet." msgstr "ファイルシステム(%s)ã®ä½œæˆã¯æœªå®Ÿè£…ã§ã™ã€‚" #: libparted/filesys.c:583 #, c-format msgid "Support for checking %s file systems is not implemented yet." msgstr "ファイルシステム(%s)ã«å¯¾ã™ã‚‹ãƒã‚§ãƒƒã‚¯ã¯æœªå®Ÿè£…ã§ã™ã€‚" #: libparted/filesys.c:649 msgid "raw block copying" msgstr "ブロックをãã®ã¾ã¾ã‚³ãƒ”ー中" #: libparted/filesys.c:660 msgid "growing file system" msgstr "ファイルシステムを大ããã—ã¦ã„ã¾ã™" #: libparted/filesys.c:700 msgid "Can't copy onto an overlapping partition." msgstr "é‡ãªã‚Šã®ã‚るパーティションã«ã¯ã‚³ãƒ”ーã§ãã¾ã›ã‚“。" #: libparted/filesys.c:722 #, c-format msgid "" "Direct support for copying file systems is not yet implemented for %s. " "However, support for resizing is implemented. Therefore, the file system " "can be copied if the new partition is at least as big as the old one. So, " "either shrink the partition you are trying to copy, or copy to a bigger " "partition." msgstr "" "%s ã®ãƒ•ァイルシステムã®ã‚³ãƒ”ーã®ç›´æŽ¥çš„ãªå®Ÿè£…ã¯ã¾ã ã•れã¦ã„ã¾ã›ã‚“。新ã—ã„パー" "ティションãŒå¤ã„ã®ã¨å°‘ãªãã¨ã‚‚åŒã˜ãらã„ã®å¤§ãã•ã§ã‚れã°ã‚³ãƒ”ーã§ãã¾ã™ã€‚リサ" "イズã¯å®Ÿè£…ã•れã¦ã„ã¾ã™ã®ã§ã€ãƒ‘ーティションをå°ã•ãã—ã¦ã‹ã‚‰ã‚³ãƒ”ーã—ã¦ã¿ã‚‹ã‹ã€" "ã‚‚ã£ã¨å¤§ãã„パーティションã«ã‚³ãƒ”ーã—ã¦ãã ã•ã„。" #: libparted/filesys.c:736 #, c-format msgid "Support for copying %s file systems is not implemented yet." msgstr "ファイルシステム(%s)ã®ã‚³ãƒ”ãƒ¼ã¯æœªå®Ÿè£…ã§ã™ã€‚" #: libparted/filesys.c:774 #, c-format msgid "Support for resizing %s file systems is not implemented yet." msgstr "ファイルシステム(%s)ã®ãƒªã‚µã‚¤ã‚ºã¯æœªå®Ÿè£…ã§ã™ã€‚" #: libparted/fs/reiserfs/reiserfs.c:315 msgid "creating" msgstr "作æˆä¸­" #: libparted/fs/reiserfs/reiserfs.c:402 msgid "The file system is in an invalid state. Perhaps it is mounted?" msgstr "" "ファイルシステムãŒä¸æ­£ãªçŠ¶æ…‹ã«ã‚りã¾ã™ã€‚マウントã•れã¦ã„ãŸã‚Šã—ã¾ã›ã‚“ã‹ï¼Ÿ" #: libparted/fs/reiserfs/reiserfs.c:410 msgid "The file system is in old (unresizeable) format." msgstr "ã“ã®ãƒ•ァイルシステムã¯å¤ã„(リサイズä¸å¯èƒ½)フォーマットã§ã™ã€‚" #: libparted/fs/reiserfs/reiserfs.c:416 msgid "Invalid free blocks count. Run reiserfsck --check first." msgstr "空ãブロック数ãŒä¸æ­£ã§ã™ã€‚ã¾ãš reiserfsck --check を実行ã—ã¦ãã ã•ã„。" #: libparted/fs/reiserfs/reiserfs.c:431 msgid "checking" msgstr "ãƒã‚§ãƒƒã‚¯ä¸­" #: libparted/fs/reiserfs/reiserfs.c:437 msgid "Reiserfs tree seems to be corrupted. Run reiserfsck --check first." msgstr "" "Reiserfs ã®æœ¨æ§‹é€ ãŒå£Šã‚Œã¦ã„ã¾ã™ã€‚ã¾ãš reiserfsck --check を実行ã—ã¦ãã ã•ã„。" #: libparted/fs/reiserfs/reiserfs.c:449 msgid "" "The reiserfs file system passed a basic check. For a more comprehensive " "check, run reiserfsck --check." msgstr "" "ã“ã® reiserfs ファイルシステムã¯ç°¡å˜ãªãƒã‚§ãƒƒã‚¯ã‚’パスã—ã¾ã—ãŸã€‚ã•らã«ãƒã‚§ãƒƒã‚¯" "ã™ã‚‹ã«ã¯ reiserfsck --check を使ã£ã¦ãã ã•ã„。" #: libparted/fs/reiserfs/reiserfs.c:474 msgid "Sorry, can't move the start of reiserfs partitions yet." msgstr "残念ã§ã™ãŒã€ã¾ã  reiserfs パーティションã®é–‹å§‹ä½ç½®ã¯ç§»å‹•ã§ãã¾ã›ã‚“。" #: libparted/fs/reiserfs/reiserfs.c:490 msgid "Couldn't reopen device abstraction layer for read/write." msgstr "デãƒã‚¤ã‚¹æŠ½è±¡åŒ–å±¤ã‚’èª­ã¿æ›¸ã用ã«å†ã‚ªãƒ¼ãƒ—ンã§ãã¾ã›ã‚“。" #: libparted/fs/reiserfs/reiserfs.c:508 libparted/fs/ext2/ext2_resize.c:552 #: libparted/fs/hfs/hfs.c:250 libparted/fs/hfs/hfs.c:629 msgid "shrinking" msgstr "縮å°ä¸­" #: libparted/fs/reiserfs/reiserfs.c:520 msgid "expanding" msgstr "拡大中" #: libparted/fs/reiserfs/reiserfs.c:592 msgid "Couldn't create reiserfs device abstraction handler." msgstr "reiserfs ã®ãƒ‡ãƒã‚¤ã‚¹æŠ½è±¡åŒ–ãƒãƒ³ãƒ‰ãƒ©ã‚’作æˆã§ãã¾ã›ã‚“。" #: libparted/fs/reiserfs/reiserfs.c:606 #, c-format msgid "Device is too small for %lu blocks." msgstr "%lu ã«ã¯ãƒ–ロックデãƒã‚¤ã‚¹ãŒå°ã•ã™ãŽã¾ã™ã€‚" #: libparted/fs/reiserfs/reiserfs.c:615 msgid "copying" msgstr "コピー中" #: libparted/fs/reiserfs/reiserfs.c:682 #, c-format msgid "Couldn't resolve symbol %s. Error: %s." msgstr "シンボル %s を解決ã§ãã¾ã›ã‚“。エラー: %s。" #: libparted/fs/reiserfs/reiserfs.c:704 msgid "GNU Parted found an invalid libreiserfs library." msgstr "GNU Parted ã¯ä¸æ­£ãª libreiserfs ライブラリを見ã¤ã‘ã¾ã—ãŸã€‚" #: libparted/fs/reiserfs/reiserfs.c:715 #, c-format msgid "" "GNU Parted has detected libreiserfs interface version mismatch. Found %d-" "%d, required %d. ReiserFS support will be disabled." msgstr "" "GNU Parted 㯠libreiserfs ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ェースãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®ä¸æ•´åˆã‚’検出ã—ã¾ã—" "ãŸã€‚%d-%d ãŒæ¤œå‡ºã•れã¾ã—ãŸãŒã€%d ãŒå¿…è¦ã§ã™ã€‚ReiserFS サãƒãƒ¼ãƒˆã‚’無効ã«ã—ã¾" "ã™ã€‚" #: libparted/labels/aix.c:103 msgid "Support for reading AIX disk labels is is not implemented yet." msgstr "AIX ディスクラベルã®èª­ã¿è¾¼ã¿ã¯æœªå®Ÿè£…ã§ã™ã€‚" #: libparted/labels/aix.c:114 msgid "Support for writing AIX disk labels is is not implemented yet." msgstr "AIX ãƒ‡ã‚£ã‚¹ã‚¯ãƒ©ãƒ™ãƒ«ã®æ›¸ãè¾¼ã¿ã¯æœªå®Ÿè£…ã§ã™ã€‚" #: libparted/labels/aix.c:127 msgid "" "Support for adding partitions to AIX disk labels is not implemented yet." msgstr "AIX ディスクラベルã¸ã®ãƒ‘ーティションã®è¿½åŠ ã¯æœªå®Ÿè£…ã§ã™ã€‚" #: libparted/labels/aix.c:137 msgid "" "Support for duplicating partitions in AIX disk labels is not implemented yet." msgstr "AIX ディスクラベルã§ã®ãƒ‘ーティションã®è¤‡è£½ã¯æœªå®Ÿè£…ã§ã™ã€‚" #: libparted/labels/aix.c:155 msgid "" "Support for setting system type of partitions in AIX disk labels is not " "implemented yet." msgstr "AIX ディスクラベルã®ãƒ‘ーティションã®ã‚·ã‚¹ãƒ†ãƒ ã‚¿ã‚¤ãƒ—ã®è¨­å®šã¯æœªå®Ÿè£…ã§ã™ã€‚" #: libparted/labels/aix.c:165 msgid "Support for setting flags in AIX disk labels is not implemented yet." msgstr "AIX ディスクラベルã®ãƒ•ラグã®è¨­å®šã¯æœªå®Ÿè£…ã§ã™ã€‚" #: libparted/labels/bsd.c:568 libparted/labels/dasd.c:783 #: libparted/labels/dos.c:2092 libparted/labels/dvh.c:788 #: libparted/labels/gpt.c:1750 libparted/labels/loop.c:245 #: libparted/labels/mac.c:1424 libparted/labels/pc98.c:749 #: libparted/labels/rdb.c:1051 libparted/labels/sun.c:821 msgid "Unable to satisfy all constraints on the partition." msgstr "ã“ã®ãƒ‘ーティションã§å…¨ã¦ã®åˆ¶ç´„を満ãŸã›ã¾ã›ã‚“。" #: libparted/labels/bsd.c:593 msgid "Unable to allocate a bsd disklabel slot." msgstr "BSDディスクラベルã®ã‚¹ãƒ­ãƒƒãƒˆã‚’確ä¿ã§ãã¾ã›ã‚“。" #: libparted/labels/dasd.c:809 msgid "Unable to allocate a dasd disklabel slot" msgstr "dasd ディスクラベルã®ã‚¹ãƒ­ãƒƒãƒˆã‚’確ä¿ã§ãã¾ã›ã‚“。" #: libparted/labels/dos.c:882 #, c-format msgid "Invalid partition table on %s -- wrong signature %x." msgstr "" "%s ã®ãƒ‘ーティションテーブルãŒä¸æ­£ã§ã™ã€‚%x ã¨ã„ã†ã‚·ã‚°ãƒãƒãƒ£ã¯ã‚ã‚„ã¾ã‚Šã§ã™ã€‚" #: libparted/labels/dos.c:910 #, c-format msgid "Invalid partition table - recursive partition on %s." msgstr "" "パーティションテーブルãŒä¸æ­£ã§ã™ã€‚å†å¸°çš„ãªãƒ‘ーティション㌠%s ã«ã‚りã¾ã™ã€‚" #: libparted/labels/dos.c:1420 msgid "Extended partitions cannot be hidden on msdos disk labels." msgstr "MSDOS ãƒ‡ã‚£ã‚¹ã‚¯ãƒ©ãƒ™ãƒ«ã§æ‹¡å¼µãƒ‘ーティションã¯éš ã›ã¾ã›ã‚“。" #: libparted/labels/dos.c:2074 msgid "Parted can't resize partitions managed by Windows Dynamic Disk." msgstr "" "ダイナミックディスクã«ä½¿ã‚れã¦ã„るパーティション㯠Parted ã§ã¯ãƒªã‚µã‚¤ã‚ºã§ãã¾" "ã›ã‚“。" #: libparted/labels/dvh.c:201 #, c-format msgid "%s has no extended partition (volume header partition)." msgstr "" "%s ã¯ä¸€ã¤ã‚‚拡張パーティション(ボリュームヘッダパーティション)をæŒã£ã¦ã„ã¾ã›" "ん。" #: libparted/labels/dvh.c:327 msgid "Checksum is wrong, indicating the partition table is corrupt." msgstr "ãƒã‚§ãƒƒã‚¯ã‚µãƒ ã®å€¤ãŒé•ã„ã¾ã™ã€‚パーティションテーブルãŒå£Šã‚Œã¦ã„ã¾ã™ã€‚" #: libparted/labels/dvh.c:632 msgid "Only primary partitions can be root partitions." msgstr "プライマリパーティションã ã‘ãŒãƒ«ãƒ¼ãƒˆãƒ‘ーティションã«ãªã‚Œã¾ã™ã€‚" #: libparted/labels/dvh.c:646 msgid "Only primary partitions can be swap partitions." msgstr "プライマリパーティションã ã‘ãŒã‚¹ãƒ¯ãƒƒãƒ—パーティションã«ãªã‚Œã¾ã™ã€‚" #: libparted/labels/dvh.c:660 msgid "Only logical partitions can be a boot file." msgstr "è«–ç†ãƒ‘ーティションã ã‘ãŒãƒ–ートファイルã«ãªã‚Œã¾ã™ã€‚" #: libparted/labels/dvh.c:737 #, c-format msgid "" "failed to set dvh partition name to %s:\n" "Only logical partitions (boot files) have a name." msgstr "" "dvh パーティションåã‚’ %s ã«è¨­å®šã™ã‚‹ã®ã«å¤±æ•—ã—ã¾ã—ãŸ:\n" "è«–ç†ãƒ‘ーティション(ブートファイル)ã ã‘ãŒåå‰ã‚’æŒã¡ã¾ã™ã€‚" #: libparted/labels/dvh.c:830 msgid "Too many primary partitions" msgstr "プライマリパーティションãŒå¤šã™ãŽã¾ã™ã€‚" #: libparted/labels/fdasd.c:98 msgid "open error" msgstr "オープンエラー" #: libparted/labels/fdasd.c:101 msgid "seek error" msgstr "シークエラー" #: libparted/labels/fdasd.c:104 msgid "read error" msgstr "読ã¿è¾¼ã¿ã‚¨ãƒ©ãƒ¼" #: libparted/labels/fdasd.c:110 msgid "ioctl() error" msgstr "ioctl()エラー" #: libparted/labels/fdasd.c:114 msgid "API version mismatch" msgstr "API ãƒãƒ¼ã‚¸ãƒ§ãƒ³ä¸æ•´åˆ" #: libparted/labels/fdasd.c:118 msgid "Unsupported disk type" msgstr "サãƒãƒ¼ãƒˆã•れã¦ã„ãªã„ディスクタイプ" #: libparted/labels/fdasd.c:122 msgid "Unsupported disk format" msgstr "サãƒãƒ¼ãƒˆã•れã¦ã„ãªã„ディスクフォーマット" #: libparted/labels/fdasd.c:126 msgid "Disk is in use" msgstr "ディスク使用中" #: libparted/labels/fdasd.c:130 msgid "Syntax error in config file" msgstr "ã‚³ãƒ³ãƒ•ã‚£ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã®æ–‡æ³•エラー" #: libparted/labels/fdasd.c:134 msgid "Volume label is corrupted" msgstr "ボリュームラベルãŒå£Šã‚Œã¦ã„ã¾ã™" #: libparted/labels/fdasd.c:138 msgid "A data set name is corrupted" msgstr "データセットåãŒå£Šã‚Œã¦ã„ã¾ã™" #: libparted/labels/fdasd.c:142 msgid "Memory allocation failed" msgstr "メモリã®ç¢ºä¿ã«å¤±æ•—ã—ã¾ã—ãŸã€‚" #: libparted/labels/fdasd.c:146 msgid "Device verification failed" msgstr "デãƒã‚¤ã‚¹ã®ãƒ™ãƒªãƒ•ァイã«å¤±æ•—ã—ã¾ã—ãŸã€‚" #: libparted/labels/fdasd.c:147 msgid "The specified device is not a valid DASD device" msgstr "指定ã•れãŸãƒ‡ãƒã‚¤ã‚¹ã¯æœ‰åŠ¹ãª DASD デãƒã‚¤ã‚¹ã§ã¯ã‚りã¾ã›ã‚“" #: libparted/labels/fdasd.c:150 libparted/labels/vtoc.c:179 msgid "Fatal error" msgstr "致命的ãªã‚¨ãƒ©ãƒ¼" #: libparted/labels/fdasd.c:226 msgid "No room for volume label." msgstr "ボリュームラベルã®ãŸã‚ã®é ˜åŸŸãŒã‚りã¾ã›ã‚“。" #: libparted/labels/fdasd.c:234 msgid "No room for partition info." msgstr "パーティション情報ã®ãŸã‚ã®é ˜åŸŸãŒã‚りã¾ã›ã‚“。" #: libparted/labels/fdasd.c:704 msgid "Invalid VTOC." msgstr "䏿­£ãªVTOCã§ã™ã€‚" #: libparted/labels/fdasd.c:764 msgid "Could not retrieve API version." msgstr "API ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒå–å¾—ã§ãã¾ã›ã‚“。" #: libparted/labels/fdasd.c:767 #, c-format msgid "" "The current API version '%d' doesn't match dasd driver API version '%d'!" msgstr "" "ç¾åœ¨ã® API ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã¯ '%d' ã§ã€dasd ドライムAPI ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ '%d' ã¨ä¸€è‡´" "ã—ã¾ã›ã‚“!" #: libparted/labels/fdasd.c:804 msgid "Could not retrieve disk geometry information." msgstr "ディスクã®ã‚¸ã‚ªãƒ¡ãƒˆãƒªæƒ…å ±ãŒå–å¾—ã§ãã¾ã›ã‚“。" #: libparted/labels/fdasd.c:808 msgid "Could not retrieve blocksize information." msgstr "ブロックサイズ情報ãŒå–å¾—ã§ãã¾ã›ã‚“。" #: libparted/labels/fdasd.c:813 msgid "Could not retrieve disk information." msgstr "ディスク情報ãŒå–å¾—ã§ãã¾ã›ã‚“。" #: libparted/labels/fdasd.c:818 msgid "This is not an ECKD disk! This disk type is not supported!" msgstr "" "ã“ã®ãƒ‡ã‚£ã‚¹ã‚¯ã¯ ECKD ディスクã§ã¯ã‚りã¾ã›ã‚“! ã“ã®ãƒ‡ã‚£ã‚¹ã‚¯ã‚¿ã‚¤ãƒ—ã¯ã‚µãƒãƒ¼ãƒˆã•れ" "ã¦ã„ã¾ã›ã‚“!" #: libparted/labels/gpt.c:485 #, c-format msgid "" "%s contains GPT signatures, indicating that it has a GPT table. However, it " "does not have a valid fake msdos partition table, as it should. Perhaps it " "was corrupted -- possibly by a program that doesn't understand GPT partition " "tables. Or perhaps you deleted the GPT table, and are now using an msdos " "partition table. Is this a GPT partition table?" msgstr "" "%s 㯠GPT テーブルã®å­˜åœ¨ã‚’示㙠GPT ã®ã‚·ã‚°ãƒãƒãƒ£ã‚’å«ã‚“ã§ã„ã¾ã™ãŒã€æŒã£ã¦ã„ã‚‹ã¹" "ã見ã›ã‹ã‘ã® msdos パーティションテーブルをæŒã£ã¦ã„ã¾ã›ã‚“。ãŠãらã壊れã¦ã„ã‚‹" "ã®ã§ã—ょã†ã€‚GPT パーティションテーブルをç†è§£ã—ãªã„プログラムãŒå£Šã—ã¦ã—ã¾ã£ãŸ" "ã®ã‹ã‚‚ã—れã¾ã›ã‚“。ã‚ã‚‹ã„ã¯ã€GPT テーブルを自ら消ã—ã¦ã„ã¦ã€msdos パーティショ" "ンテーブルを使ã£ã¦ã„ã‚‹ã®ã‹ã‚‚ã—れã¾ã›ã‚“。ã“ã®ãƒ†ãƒ¼ãƒ–ル㯠GPT パーティションテー" "ブルã§ã™ã‹ï¼Ÿ" #: libparted/labels/gpt.c:680 #, c-format msgid "" "The format of the GPT partition table is version %x, which is newer than " "what Parted can recognise. Please tell us! bug-parted@gnu.org" msgstr "" "GPT パーティションテーブルã®ãƒ•ォーマットã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒ %x ã§ parted ã®ç†è§£ã§" "ãã‚‹ã‚‚ã®ã‚ˆã‚Šæ–°ã—ã„ã§ã™ã€‚ bug-parted@gnu.org ã¾ã§å ±å‘Šã—ã¦ãã ã•ã„。" #: libparted/labels/gpt.c:727 #, c-format msgid "" "Not all of the space available to %s appears to be used, you can fix the GPT " "to use all of the space (an extra %llu blocks) or continue with the current " "setting? " msgstr "" "%s ã§åˆ©ç”¨å¯èƒ½ãªé ˜åŸŸã®ä¸€éƒ¨ãŒåˆ©ç”¨ã•れã¦ã„ã¾ã›ã‚“。GPT を修正ã—ã¦å…¨ã¦ã®é ˜åŸŸã‚’利用" "å¯èƒ½ã«ã™ã‚‹ã‹(%llu ブロック増ãˆã¾ã™)ã€ã“ã®ã¾ã¾ã§ç¶šè¡Œã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ãŒã€ã©ã†" "ã—ã¾ã™ã‹ï¼Ÿ" #: libparted/labels/gpt.c:936 msgid "" "The backup GPT table is not at the end of the disk, as it should be. This " "might mean that another operating system believes the disk is smaller. Fix, " "by moving the backup to the end (and removing the old backup)?" msgstr "" "ã‚ã‚‹ã¹ã GPT テーブルã®ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ãŒãƒ‡ã‚£ã‚¹ã‚¯ã®æœ€å¾Œã«ã‚りã¾ã›ã‚“。他㮠OS ãŒ" "ディスクã¯ã‚‚ã£ã¨å°ã•ã„ã‚‚ã®ã ã¨æ€ã£ã¦ã„ã‚‹ã®ã‹ã‚‚ã—れã¾ã›ã‚“。ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—を最後" "ã«æŒã£ã¦ãã¦ï¼ˆå¤ã„ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—を削除ã—ã¦ï¼‰ä¿®å¾©ã—ã¾ã™ã‹ï¼Ÿ" #: libparted/labels/gpt.c:960 msgid "" "Both the primary and backup GPT tables are corrupt. Try making a fresh " "table, and using Parted's rescue feature to recover partitions." msgstr "" "プライマリ GPT テーブルã¨ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã®ä¸¡æ–¹ãŒå£Šã‚Œã¦ã„ã¾ã™ã€‚æ–°ãŸã«ãƒ†ãƒ¼ãƒ–ルを作" "りãªãŠã—ã¦ã€Parted ã®ä¿®å¾©æ©Ÿèƒ½ã‚’用ã„ã¦ãƒ‘ーティションã®ä¿®å¾©ã‚’試ã¿ã¾ã™ã€‚" #: libparted/labels/gpt.c:971 msgid "" "The backup GPT table is corrupt, but the primary appears OK, so that will be " "used." msgstr "" "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ— GPT テーブルã¯å£Šã‚Œã¦ã„ã¾ã™ãŒã€ãƒ—ライマリã¯å•題ãªã„よã†ãªã®ã§ã€ã" "ã¡ã‚‰ã‚’使ã„ã¾ã™ã€‚" #: libparted/labels/gpt.c:983 msgid "" "The primary GPT table is corrupt, but the backup appears OK, so that will be " "used." msgstr "" "プライマリ GPT テーブルã¯å£Šã‚Œã¦ã„ã¾ã™ãŒã€ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã¯å•題ãªã„よã†ãªã®ã§ã€ã" "ã¡ã‚‰ã‚’使ã„ã¾ã™ã€‚" #: libparted/labels/gpt.c:1007 msgid "primary partition table array CRC mismatch" msgstr "プライマリパーティションテーブル㮠CRC ãŒä¸€è‡´ã—ã¾ã›ã‚“" #: libparted/labels/mac.c:185 #, c-format msgid "Invalid signature %x for Mac disk labels." msgstr "Mac ディスクラベルã®ã‚·ã‚°ãƒãƒãƒ£ %x ã¯ä¸æ­£ã§ã™ã€‚" #: libparted/labels/mac.c:232 msgid "Partition map has no partition map entry!" msgstr "パーティションマップã«ã‚¨ãƒ³ãƒˆãƒªãŒã‚りã¾ã›ã‚“。" #: libparted/labels/mac.c:280 #, c-format msgid "%s is too small for a Mac disk label!" msgstr "%s 㯠Mac ディスクラベルã«ã¯å°ã•ã™ãŽã¾ã™ã€‚" #: libparted/labels/mac.c:509 #, c-format msgid "Partition %d has an invalid signature %x." msgstr "パーティション %d ã®ã‚·ã‚°ãƒãƒãƒ£ %x ã¯ä¸æ­£ã§ã™ã€‚" #: libparted/labels/mac.c:527 #, c-format msgid "Partition %d has an invalid length of 0 bytes!" msgstr "パーティション %d ã®é•·ã•㌠0 ãªã®ã¯ä¸æ­£ã§ã™ã€‚" #: libparted/labels/mac.c:558 msgid "The data region doesn't start at the start of the partition." msgstr "データ領域ãŒãƒ‘ーティションã®é–‹å§‹ä½ç½®ã‹ã‚‰å§‹ã¾ã£ã¦ã¾ã›ã‚“。" #: libparted/labels/mac.c:575 msgid "The boot region doesn't start at the start of the partition." msgstr "ブート領域ãŒãƒ‘ーティションã®é–‹å§‹ä½ç½®ã‹ã‚‰å§‹ã¾ã£ã¦ã¾ã›ã‚“。" #: libparted/labels/mac.c:589 msgid "The partition's boot region doesn't occupy the entire partition." msgstr "パーティションã®ãƒ–ート領域ãŒã€ãƒ‘ãƒ¼ãƒ†ã‚£ã‚·ãƒ§ãƒ³å…¨ä½“ã‚’å æœ‰ã—ã¦ã¾ã›ã‚“。" #: libparted/labels/mac.c:600 msgid "The partition's data region doesn't occupy the entire partition." msgstr "パーティションã®ãƒ‡ãƒ¼ã‚¿é ˜åŸŸãŒã€ãƒ‘ãƒ¼ãƒ†ã‚£ã‚·ãƒ§ãƒ³å…¨ä½“ã‚’å æœ‰ã—ã¦ã¾ã›ã‚“。" #: libparted/labels/mac.c:653 #, c-format msgid "" "Weird block size on device descriptor: %d bytes is not divisible by 512." msgstr "" "デãƒã‚¤ã‚¹ãƒ‡ã‚£ã‚¹ã‚¯ãƒªãƒ—ã‚¿ã«æ›¸ã„ã¦ã‚るブロックサイズã¯ãŠã‹ã—ã„ã§ã™ã€‚%d ãƒã‚¤ãƒˆã¯ " "512 ã§å‰²ã‚Šåˆ‡ã‚Œã¾ã›ã‚“。" #: libparted/labels/mac.c:666 #, c-format msgid "" "The driver descriptor says the physical block size is %d bytes, but Linux " "says it is %d bytes." msgstr "" "ドライãƒã¯ç‰©ç†ãƒ–ロックサイズ㌠%d ãƒã‚¤ãƒˆã§ã‚ã‚‹ã¨è¨€ã£ã¦ã„ã¾ã™ãŒã€Linux 㯠%d " "ãƒã‚¤ãƒˆã ã¨è¨€ã£ã¦ã„ã¾ã™ã€‚" #: libparted/labels/mac.c:720 msgid "No valid partition map found." msgstr "æ­£ã—ã„パーティションマップãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。" #: libparted/labels/mac.c:782 #, c-format msgid "" "Conflicting partition map entry sizes! Entry 1 says it is %d, but entry %d " "says it is %d!" msgstr "" "パーティションマップã®ã‚¨ãƒ³ãƒˆãƒªã®ã‚µã‚¤ã‚ºãŒä¸€è‡´ã—ã¾ã›ã‚“。エントリ 1 ã«ã‚ˆã‚Œã° %d " "ã§ã™ãŒã€ã‚¨ãƒ³ãƒˆãƒª %d ã«ã‚ˆã‚Œã° %d ã§ã™ã€‚" #: libparted/labels/mac.c:809 msgid "Weird! There are 2 partitions map entries!" msgstr "ãŠã‹ã—ã„ã§ã™ã€‚パーティションマップエントリãŒ2ã¤ã‚りã¾ã™ã€‚" #: libparted/labels/mac.c:1355 msgid "" "Changing the name of a root or swap partition will prevent Linux from " "recognising it as such." msgstr "" "root ã«ä½¿ã‚れã¦ã„るパーティションや swap パーティションã®åå‰ã‚’変更ã™ã‚‹ã¨ " "Linux ãŒãれらをãã†ã¨èªè­˜ã§ããªããªã‚Šã¾ã™ã€‚" #: libparted/labels/mac.c:1459 msgid "Can't add another partition -- the partition map is too small!" msgstr "パーティションを追加ã§ãã¾ã›ã‚“。パーティションマップãŒå°ã•ã™ãŽã¾ã™ã€‚" #: libparted/labels/pc98.c:331 #, c-format msgid "Invalid partition table on %s." msgstr "%s ã®ãƒ‘ーティションテーブルãŒä¸æ­£ã§ã™ã€‚" #: libparted/labels/pc98.c:384 libparted/labels/pc98.c:462 #, c-format msgid "" "Partition %d isn't aligned to cylinder boundaries. This is still " "unsupported." msgstr "" "パーティション %d ã¯ã‚·ãƒªãƒ³ãƒ€å¢ƒç•Œä¸Šã«ã‚りã¾ã›ã‚“。ã“れã¯ã¾ã ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾" "ã›ã‚“。" #: libparted/labels/pc98.c:781 msgid "Can't add another partition." msgstr "パーティションを追加ã§ãã¾ã›ã‚“。" #: libparted/labels/pt-tools.c:125 #, c-format msgid "" "partition length of %jd sectors exceeds the %s-partition-table-imposed " "maximum of %jd" msgstr "" "パーティション長 %jd セクタ㯠%s パーティションテーブルã«ã‚ˆã£ã¦æ±ºã‚ã‚‰ã‚ŒãŸæœ€å¤§" "é•· %jd ã‚’è¶Šãˆã¦ã„ã¾ã™" #: libparted/labels/pt-tools.c:138 #, c-format msgid "" "starting sector number, %jd exceeds the %s-partition-table-imposed maximum " "of %jd" msgstr "" "é–‹å§‹ã‚»ã‚¯ã‚¿ç•ªå· %jd 㯠%s パーティションテーブルã«ã‚ˆã£ã¦æ±ºã‚ã‚‰ã‚ŒãŸæœ€å¤§å€¤ %jd " "ã‚’è¶Šãˆã¦ã„ã¾ã™" #: libparted/labels/rdb.c:170 #, c-format msgid "%s : Bad checksum on block %llu of type %s." msgstr "%s : ブロック %llu (type %s) ã®ãƒã‚§ãƒƒã‚¯ã‚µãƒ ãŒä¸æ­£ã§ã™ã€‚" #: libparted/labels/rdb.c:486 #, c-format msgid "%s : Didn't find rdb block, should never happen." msgstr "" "%s : rdb ブロックãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚ã“れã¯ã‚ã£ã¦ã¯ãªã‚‰ãªã„ã“ã¨ã§ã™ã€‚" #: libparted/labels/rdb.c:572 #, c-format msgid "%s : Loop detected at block %d." msgstr "%s : ブロック %d ã«ãƒ«ãƒ¼ãƒ—ãŒç™ºè¦‹ã•れã¾ã—ãŸã€‚" #: libparted/labels/rdb.c:591 #, c-format msgid "%s : The %s list seems bad at block %s." msgstr "%s : %s リストãŒãŠã‹ã—ã„よã†ã§ã™(ブロック %s)。" #: libparted/labels/rdb.c:690 #, c-format msgid "%s : Failed to list bad blocks." msgstr "%s : 䏿­£ãªãƒ–ロックã®ä¸€è¦§ã‚’得られã¾ã›ã‚“ã§ã—ãŸã€‚" #: libparted/labels/rdb.c:698 #, c-format msgid "%s : Failed to list partition blocks." msgstr "%s : パーティションブロックã®ä¸€è¦§ã‚’得られã¾ã›ã‚“ã§ã—ãŸã€‚" #: libparted/labels/rdb.c:706 #, c-format msgid "%s : Failed to list file system blocks." msgstr "%s : ファイルシステムブロックã®ä¸€è¦§ã‚’得られã¾ã›ã‚“ã§ã—ãŸã€‚" #: libparted/labels/rdb.c:714 #, c-format msgid "%s : Failed to list boot blocks." msgstr "%s : ブートブロックã®ä¸€è¦§ã‚’得られã¾ã›ã‚“ã§ã—ãŸã€‚" #: libparted/labels/rdb.c:741 #, c-format msgid "Failed to write partition block at %d." msgstr "パーティションブロック(ブロック %d)ã®æ›¸ãã“ã¿ã«å¤±æ•—ã—ã¾ã—ãŸã€‚" #: libparted/labels/rdb.c:1079 msgid "Unable to allocate a partition number." msgstr "パーティション番å·ã‚’割り当ã¦ã‚‰ã‚Œã¾ã›ã‚“。" #: libparted/labels/sun.c:163 msgid "Corrupted Sun disk label detected." msgstr "Sunディスクラベルã®ç ´æã‚’検出ã—ã¾ã—ãŸã€‚" #: libparted/labels/sun.c:316 #, c-format msgid "" "The disk CHS geometry (%d,%d,%d) reported by the operating system does not " "match the geometry stored on the disk label (%d,%d,%d)." msgstr "" "ディスク㮠geometry(CHS) (%d,%d,%d) ãŒã€ãƒ‡ã‚£ã‚¹ã‚¯ãƒ©ãƒ™ãƒ«ã®ã‚‚ã® (%d,%d,%d) ã¨ä¸€" "致ã—ã¾ã›ã‚“。" #: libparted/labels/sun.c:338 #, c-format msgid "The disk label describes a disk bigger than %s." msgstr "ディスクレベルã«ã‚ˆã‚‹ã¨ã€ãƒ‡ã‚£ã‚¹ã‚¯ã¯ %s より大ãã„ã“ã¨ã«ãªã£ã¦ã„ã¾ã™ã€‚" #: libparted/labels/sun.c:510 #, c-format msgid "The disk has %d cylinders, which is greater than the maximum of 65536." msgstr "" "ã“ã®ãƒ‡ã‚£ã‚¹ã‚¯ã¯ %d シリンダã‚りã¾ã™ã€‚ã“ã‚Œã¯æœ€å¤§å€¤ã® 65536 ã‚’è¶Šãˆã¦ã„ã¾ã™ã€‚" #: libparted/labels/sun.c:853 msgid "" "The Whole Disk partition is the only available one left. Generally, it is " "not a good idea to overwrite this partition with a real one. Solaris may " "not be able to boot without it, and SILO (the sparc boot loader) appreciates " "it as well." msgstr "" "Whole Disk パーティションã—ã‹æ®‹ã•れã¦ã¾ã›ã‚“。ã ã„ãŸã„ã®å ´åˆã«ãŠã„ã¦ã€ã“ã®ãƒ‘ー" "ティションを上書ãã™ã‚‹ã®ã¯ã‚ˆãã‚りã¾ã›ã‚“。Solaris ãŒèµ·å‹•ã—ãªããªã‚‹ã‹ã‚‚ã—れã¾" "ã›ã‚“ã—ã€SILO(the sparc boot loader)ã«ã‚‚都åˆãŒã‚ˆãã‚りã¾ã›ã‚“。" #: libparted/labels/sun.c:868 msgid "Sun disk label is full." msgstr "SunディスクラベルãŒã„ã£ã±ã„ã§ã™ã€‚" #: libparted/labels/vtoc.c:164 msgid "opening of device failed" msgstr "デãƒã‚¤ã‚¹ã®ã‚ªãƒ¼ãƒ—ンã«å¤±æ•—ã—ã¾ã—ãŸã€‚" #: libparted/labels/vtoc.c:168 msgid "seeking on device failed" msgstr "デãƒã‚¤ã‚¹ã®ã‚·ãƒ¼ã‚¯ã«å¤±æ•—ã—ã¾ã—ãŸã€‚" #: libparted/labels/vtoc.c:172 msgid "writing to device failed" msgstr "デãƒã‚¤ã‚¹ã¸ã®æ›¸ãè¾¼ã¿ã«å¤±æ•—ã—ã¾ã—ãŸã€‚" #: libparted/labels/vtoc.c:176 msgid "reading from device failed" msgstr "デãƒã‚¤ã‚¹ã‹ã‚‰ã®èª­ã¿è¾¼ã¿ã«å¤±æ•—ã—ã¾ã—ãŸã€‚" #: libparted/labels/vtoc.c:277 libparted/labels/vtoc.c:284 msgid "Could not read volume label." msgstr "ボリュームラベルãŒèª­ã‚ã¾ã›ã‚“。" #: libparted/labels/vtoc.c:303 libparted/labels/vtoc.c:308 msgid "Could not write volume label." msgstr "ãƒœãƒªãƒ¥ãƒ¼ãƒ ãƒ©ãƒ™ãƒ«ãŒæ›¸ã‘ã¾ã›ã‚“。" #: libparted/labels/vtoc.c:414 msgid "Could not read VTOC labels." msgstr "VTOC ラベルãŒèª­ã‚ã¾ã›ã‚“。" #: libparted/labels/vtoc.c:420 msgid "Could not read VTOC FMT1 DSCB." msgstr "VTOC FMT1 DSCB ãŒèª­ã‚ã¾ã›ã‚“。" #: libparted/labels/vtoc.c:427 msgid "Could not read VTOC FMT4 DSCB." msgstr "VTOC FMT4 DSCB ãŒèª­ã‚ã¾ã›ã‚“。" #: libparted/labels/vtoc.c:434 msgid "Could not read VTOC FMT5 DSCB." msgstr "VTOC FMT5 DSCB ãŒèª­ã‚ã¾ã›ã‚“。" #: libparted/labels/vtoc.c:441 msgid "Could not read VTOC FMT7 DSCB." msgstr "VTOC FMT7 DSCB ãŒèª­ã‚ã¾ã›ã‚“。" #: libparted/labels/vtoc.c:461 msgid "Could not write VTOC labels." msgstr "VTOC ãƒ©ãƒ™ãƒ«ãŒæ›¸ã‘ã¾ã›ã‚“。" #: libparted/labels/vtoc.c:467 msgid "Could not write VTOC FMT1 DSCB." msgstr "VTOC FMT1 DSCB ãŒæ›¸ã‘ã¾ã›ã‚“。" #: libparted/labels/vtoc.c:474 msgid "Could not write VTOC FMT4 DSCB." msgstr "VTOC FMT4 DSCB ãŒæ›¸ã‘ã¾ã›ã‚“。" #: libparted/labels/vtoc.c:481 msgid "Could not write VTOC FMT5 DSCB." msgstr "VTOC FMT5 DSCB ãŒæ›¸ã‘ã¾ã›ã‚“。" #: libparted/labels/vtoc.c:488 msgid "Could not write VTOC FMT7 DSCB." msgstr "VTOC FMT7 DSCB ãŒæ›¸ã‘ã¾ã›ã‚“。" #: libparted/libparted.c:237 libparted/libparted.c:252 msgid "Out of memory." msgstr "メモリä¸è¶³ã§ã™ã€‚" #: libparted/unit.c:138 msgid "Cannot get unit size for special unit 'COMPACT'." msgstr "特別ãªå˜ä½ã§ã‚ã‚‹ 'COMPACT' ã®å˜ä½ã‚ãŸã‚Šã®ã‚µã‚¤ã‚ºã‚’得られã¾ã›ã‚“。" #: libparted/unit.c:384 #, c-format msgid "\"%s\" has invalid syntax for locations." msgstr "\"%s\" ã«ã¯ä½ç½®ã«ã¤ã„ã¦èª¤ã‚ŠãŒã‚りã¾ã™ã€‚" #: libparted/unit.c:392 #, c-format msgid "The maximum head value is %d." msgstr "最大ヘッド値㯠%d ã§ã™ã€‚" #: libparted/unit.c:399 #, c-format msgid "The maximum sector value is %d." msgstr "最大セクタ値㯠%d ã§ã™ã€‚" #: libparted/unit.c:411 libparted/unit.c:543 #, c-format msgid "The location %s is outside of the device %s." msgstr "%s ã¯ã€ãƒ‡ãƒã‚¤ã‚¹ %s ã®å¤–ã§ã™ã€‚" #: libparted/unit.c:525 msgid "Invalid number." msgstr "䏿­£ãªå€¤ã§ã™ã€‚" #: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:56 #: libparted/fs/amiga/asfs.c:70 #, c-format msgid "%s : Failed to allocate partition block\n" msgstr "%s : パーティションブロックã®ç¢ºä¿ã«å¤±æ•—ã—ã¾ã—ãŸã€‚\n" #: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:69 #: libparted/fs/amiga/asfs.c:82 #, c-format msgid "%s : Failed to allocate block\n" msgstr "%s : ブロックã®ç¢ºä¿ã«å¤±æ•—ã—ã¾ã—ãŸã€‚\n" #: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:74 #, c-format msgid "%s : Couldn't read boot block %llu\n" msgstr "%s : ブートブロック %llu ãŒèª­ã‚ã¾ã›ã‚“\n" #: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:85 #: libparted/fs/amiga/asfs.c:88 libparted/fs/amiga/asfs.c:102 #, c-format msgid "%s : Couldn't read root block %llu\n" msgstr "%s : ルートブロック %llu ãŒèª­ã‚ã¾ã›ã‚“\n" #: libparted/fs/amiga/amiga.c:72 #, c-format msgid "%s : Failed to allocate id list element\n" msgstr "%s : id list element ãŒç¢ºä¿ã§ãã¾ã›ã‚“\n" #: libparted/fs/amiga/amiga.c:189 #, c-format msgid "%s : Couldn't read block %llu\n" msgstr "%s : ブロック %llu ãŒèª­ã‚ã¾ã›ã‚“\n" #: libparted/fs/amiga/amiga.c:202 #, c-format msgid "%s : Bad checksum on block %llu of type %s\n" msgstr "%s : ブロック %llu (タイプ %s) ã®ãƒã‚§ãƒƒã‚¯ã‚µãƒ ãŒä¸æ­£ã§ã™\n" #: libparted/fs/amiga/amiga.c:212 #, c-format msgid "%s : Couldn't write block %d\n" msgstr "%s : ブロック %d ã«æ›¸ãã“ã‚ã¾ã›ã‚“\n" #: libparted/fs/amiga/amiga.c:278 #, c-format msgid "%s : Failed to allocate disk_specific rdb block\n" msgstr "%s : disk_specific rdb ブロックãŒç¢ºä¿ã§ãã¾ã›ã‚“\n" #: libparted/fs/amiga/amiga.c:289 #, c-format msgid "%s : Didn't find rdb block, should never happen\n" msgstr "%s : rdb ブロックãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。起ã“ã‚‹ã¯ãšã®ãªã„ã“ã¨ã§ã™ã€‚\n" #: libparted/fs/amiga/amiga.c:318 #, c-format msgid "%s : Failed to read partition block %llu\n" msgstr "%s : パーティションブロック %llu ãŒèª­ã‚ã¾ã›ã‚“\n" #: libparted/fs/ext2/ext2.c:87 libparted/fs/ext2/ext2.c:112 msgid "Inconsistent group descriptors!" msgstr "グループ記述å­ã«çŸ›ç›¾ãŒã‚りã¾ã™!" #: libparted/fs/ext2/ext2.c:91 libparted/fs/ext2/ext2.c:116 msgid "File system full!" msgstr "ファイルシステムãŒã„ã£ã±ã„ã«ãªã‚Šã¾ã—ãŸ!" #: libparted/fs/ext2/ext2.c:686 msgid "Invalid superblock. Are you sure this is an ext2 file system?" msgstr "スーパーブロックãŒä¸æ­£ã§ã™ã€‚ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ã¯æœ¬å½“ã« ext2 ã§ã™ã‹ï¼Ÿ" #: libparted/fs/ext2/ext2.c:700 libparted/fs/ext2/ext2_resize.c:658 msgid "File system has errors! You should run e2fsck." msgstr "ファイルシステムã«ã‚¨ãƒ©ãƒ¼ãŒã‚りã¾ã™ã€‚先㫠e2fsck を実行ã—ã¦ãã ã•ã„。" #: libparted/fs/ext2/ext2.c:711 msgid "" "File system was not cleanly unmounted! You should run e2fsck. Modifying an " "unclean file system could cause severe corruption." msgstr "" "クリーン㫠unmount ã•れã¦ã¾ã›ã‚“。e2fsck を実行ã™ã¹ãã§ã™ã€‚クリーンã«ãªã£ã¦ã„" "ãªã„ファイルシステムã¸ã®å¤‰æ›´ã¯å¤§ããªæå®³ã«ã¤ãªãŒã‚Šã‹ã­ã¾ã›ã‚“。" #: libparted/fs/ext2/ext2.c:731 msgid "" "File system has an incompatible feature enabled. Compatible features are " "has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs " "or debugfs to remove features." msgstr "" "ファイルシステムã¯äº’æ›æ€§ã®ãªã„æ©Ÿèƒ½ãŒæœ‰åйã«ãªã£ã¦ã„ã¾ã™ã€‚äº’æ›æ€§ã®ã‚る機能㯠" "has_journal, dir_index, filetype, sparse_super ãŠã‚ˆã³ large_file ã§ã™ã€‚" "tune2fs ã‹ debugfs を使ã£ã¦äº’æ›æ€§ã®ãªã„機能を無効ã«ã—ã¦ãã ã•ã„。" #: libparted/fs/ext2/ext2.c:745 msgid "Error allocating buffer cache." msgstr "ãƒãƒƒãƒ•ァキャッシュを確ä¿ã—ã¦ã‚‹æœ€ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚" #: libparted/fs/ext2/ext2_inode_relocator.c:114 msgid "" "Found an inode with a incorrect link count. Better go run e2fsck first!" msgstr "" "ãƒªãƒ³ã‚¯ã®æ•°ãŒæ­£ã—ããªã„inodeãŒè¦‹ã¤ã‹ã‚Šã¾ã—ãŸã€‚先㫠e2fsck を実行ã—ãŸæ–¹ãŒã„ã„ã§" "ã—ょã†ã€‚" #: libparted/fs/ext2/ext2_inode_relocator.c:487 msgid "Not enough free inodes!" msgstr "未使用㮠inode ã®æ•°ãŒä¸è¶³ã—ã¦ã„ã¾ã™ã€‚" #: libparted/fs/ext2/ext2_resize.c:223 msgid "File system is too full to remove a group!" msgstr "グループを削除ã™ã‚‹ã«ã¯ç©ºã領域ãŒè¶³ã‚Šã¾ã›ã‚“。" #: libparted/fs/ext2/ext2_resize.c:232 msgid "File system has too many allocated inodes to remove a group!" msgstr "グループを削除ã™ã‚‹ã«ã¯æœªä½¿ç”¨ã® inode ãŒè¶³ã‚Šã¾ã›ã‚“。" #: libparted/fs/ext2/ext2_resize.c:491 msgid "adding groups" msgstr "グループを追加中" #: libparted/fs/ext2/ext2_resize.c:528 #, c-format msgid "Your file system is too full to resize it to %i blocks. Sorry." msgstr "%i ブロックã«ãƒªã‚µã‚¤ã‚ºã™ã‚‹ã«ã¯é ˜åŸŸãŒä¸è¶³ã—ã¦ã„ã¾ã™ã€‚" #: libparted/fs/ext2/ext2_resize.c:538 #, c-format msgid "" "Your file system has too many occupied inodes to resize it to %i blocks. " "Sorry." msgstr "%i ブロックã«ãƒªã‚µã‚¤ã‚ºã™ã‚‹ã«ã¯ inode ãŒä¸è¶³ã—ã¦ã„ã¾ã™ã€‚" #: libparted/fs/ext2/ext2_resize.c:666 msgid "File system was not cleanly unmounted! You should run e2fsck." msgstr "" "クリーン㫠unmount ã•れã¦ã¾ã›ã‚“ã§ã—ãŸã€‚ã¾ãšã€e2fsck を実行ã—ã¦ãã ã•ã„。" #: libparted/fs/ext2/ext2_resize.c:675 msgid "" "The file system has the 'dir_index' feature enabled. Parted can only resize " "the file system if it disables this feature. You can enable it later by " "running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'." msgstr "" "ã“ã®ãƒ•ァイルシステム㯠'dir_index' ãŒæœ‰åйã«ãªã£ã¦ã„ã¾ã™ã€‚ã“れを無効ã«ã—ãªã„" "㨠Parted ã§ã¯ãƒªã‚µã‚¤ã‚ºã§ãã¾ã›ã‚“。一旦無効ã«ã—ã¦ã‚‚次ã®ã‚ˆã†ã«ã™ã‚‹ã“ã¨ã§ã€æœ‰åй" "ã«ã§ãã¾ã™ã€‚'tune2fs -O dir_index DEVICE' 'e2fsck -fD DEVICE'" #: libparted/fs/ext2/ext2_resize.c:691 msgid "" "A resize operation on this file system will use EXPERIMENTAL code\n" "that MAY CORRUPT it (although no one has reported any such damage yet).\n" "You should at least backup your data first, and run 'e2fsck -f' afterwards." msgstr "" "ã“ã®ãƒ•ァイルシステムã®ãƒªã‚µã‚¤ã‚ºã®ã‚³ãƒ¼ãƒ‰ã¯è©¦é¨“中ã®ãŸã‚ã€ãƒ•ァイルシステムを\n" "壊ã™å¯èƒ½æ€§ãŒã‚りã¾ã™(ã¾ã èª°ã‚‚ãã†ã„ã†ã“ã¨ãŒèµ·ããŸã¨ã¯è¨€ã£ã¦ãã¦ã„ã¾ã›ã‚“" "ãŒ)。\n" "å°‘ãªãã¨ã‚‚ã¾ãšãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã‚’ã—ã¦ã‹ã‚‰è¡Œã„ã€ãã®å¾Œ 'e2fsck -f' を実行ã—ã¦ãã ã•" "ã„。" #: libparted/fs/ext2/ext2_block_relocator.c:198 msgid "Cross-linked blocks found! Better go run e2fsck first!" msgstr "" "Cross-link ã—ã¦ã„るブロックãŒã¿ã¤ã‹ã‚Šã¾ã—ãŸã€‚先㫠e2fsck を実行ã—ãŸæ–¹ãŒã„ã„ã§" "ã—ょã†ã€‚" #: libparted/fs/ext2/ext2_block_relocator.c:537 #, c-format msgid "Block %i has no reference? Weird." msgstr "ブロック %i ã¯ä½•ã‚‚å‚ç…§ã—ã¦ã„ã¾ã›ã‚“。ãŠã‹ã—ã„ã§ã™ã€‚" #: libparted/fs/ext2/ext2_block_relocator.c:738 #, c-format msgid "Block %i shouldn't have been marked (%d, %d)!" msgstr "ブロック %i ã¯ãƒžãƒ¼ã‚¯ã•れã¦ã„ãªã„ã¯ãšã§ã™(%d, %d)。" #: libparted/fs/ext2/interface.c:226 msgid "" "The ext2 file system passed a basic check. For a more comprehensive check, " "use the e2fsck program." msgstr "" "ã“ã® ext2 ファイルシステムã¯ç°¡å˜ãªãƒã‚§ãƒƒã‚¯ã‚’パスã—ã¾ã—ãŸã€‚ã•らã«ãƒã‚§ãƒƒã‚¯ã™ã‚‹" "ã«ã¯ e2fsck を使ã£ã¦ãã ã•ã„。" #: libparted/fs/ext2/interface.c:243 msgid "Sorry, can't move the start of ext2 partitions yet!" msgstr "残念ã§ã™ãŒã€ã¾ã  ext2 パーティションã®é–‹å§‹ä½ç½®ã¯ç§»å‹•ã§ãã¾ã›ã‚“。" #: libparted/fs/ext2/ext2_buffer.c:82 msgid "Couldn't flush buffer cache!" msgstr "ãƒãƒƒãƒ•ァキャッシュをフラッシュã§ãã¾ã›ã‚“。" #: libparted/fs/ext2/ext2_mkfs.c:161 msgid "writing per-group metadata" msgstr "グループ毎ã®ãƒ¡ã‚¿æƒ…報を書込中" #: libparted/fs/ext2/ext2_mkfs.c:597 msgid "File system too small for ext2." msgstr "ext2 ã«ã™ã‚‹ã«ã¯ãƒ•ァイルシステムãŒå°ã•ã™ãŽã¾ã™ã€‚" #: libparted/fs/fat/calc.c:135 #, c-format msgid "" "You need %s of free disk space to shrink this partition to this size. " "Currently, only %s is free." msgstr "" "ã“ã®ãƒ‘ーティションをã“ã®ã‚µã‚¤ã‚ºã«å°ã•ãã™ã‚‹ã«ã¯ %s ã®ç©ºããŒå¿…è¦ã§ã™ã€‚(ç¾åœ¨ %s " "ã—ã‹ç©ºããŒã‚りã¾ã›ã‚“。)" #: libparted/fs/fat/context.c:56 #, c-format msgid "" "Cluster start delta = %d, which is not a multiple of the cluster size %d." msgstr "" "Cluster start delta = %d ã“れã¯ã‚¯ãƒ©ã‚¹ã‚¿ã‚µã‚¤ã‚º %d ã®å€æ•°ã§ã¯ã‚りã¾ã›ã‚“。" #: libparted/fs/fat/fat.c:310 #, c-format msgid "Partition too big/small for a %s file system." msgstr "" "パーティション㌠%s ファイルシステムã«ã¯å°ã•ã™ãŽã€ã‚ã‚‹ã„ã¯å¤§ãã™ãŽã¾ã™ã€‚" #: libparted/fs/fat/fat.c:476 msgid "" "The FATs don't match. If you don't know what this means, then select " "cancel, run scandisk on the file system, and then come back." msgstr "" "FAT ãŒä¸€è‡´ã—ã¾ã›ã‚“。ã“れãŒä½•ã‚’æ„味ã™ã‚‹ã‹ã‚ã‹ã‚‰ãªã„ãªã‚‰ã€å–消(C) ã‚’é¸ã‚“ã§ã€" "scandisk を実行ã—ã¦ã‹ã‚‰ã€ã¾ãŸã‚„りãªãŠã—ã¦ãã ã•ã„。" #: libparted/fs/fat/fat.c:516 msgid "There are no possible configurations for this FAT type." msgstr "ã“ã® FAT タイプã«åˆã† configuration ãŒã‚りã¾ã›ã‚“。" #: libparted/fs/fat/fat.c:528 #, c-format msgid "" "File system doesn't have expected sizes for Windows to like it. Cluster " "size is %dk (%dk expected); number of clusters is %d (%d expected); size of " "FATs is %d sectors (%d expected)." msgstr "" "ファイルシステムã®ã‚µã‚¤ã‚ºãŒ Windows ã®æœŸå¾…ã—ãã†ãªã‚µã‚¤ã‚ºã§ã¯ã‚りã¾ã›ã‚“。クラス" "タサイズ %dk (予想 %dk); ã‚¯ãƒ©ã‚¹ã‚¿ã®æ•° %d (予想 %d); FAT ã®ã‚µã‚¤ã‚º %d セクタ " "(予想 %d)" #: libparted/fs/fat/fat.c:551 #, c-format msgid "" "File system is reporting the free space as %d clusters, not %d clusters." msgstr "" "ファイルシステムã®ç©ºã容é‡ã¯ %d クラスタ ã§ã€%d クラスタã§ã¯ã‚りã¾ã›ã‚“。" #: libparted/fs/fat/fat.c:876 msgid "" "GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT " "support will be disabled." msgstr "" "GNU parted ãŒã¡ã‚ƒã‚“ã¨ã‚³ãƒ³ãƒ‘イルã•れã¦ã„ã¾ã›ã‚“。FAT ã®ãƒ–ートセクタ㯠512 ãƒã‚¤" "トã§ã‚ã‚‹ã¹ãã§ã™ã€‚FAT サãƒãƒ¼ãƒˆã‚’無効ã«ã—ã¾ã™ã€‚" #: libparted/fs/fat/resize.c:158 msgid "" "There's not enough room in the root directory for all of the files. Either " "cancel, or ignore to lose the files." msgstr "" "ルートディレクトリã«å分ãªç©ºããŒã‚りã¾ã›ã‚“ã€‚å–æ¶ˆ(C) ã™ã‹ã€ãƒ•ァイルを失ã£ã¦ã‚‚" "よã‘れ㰠無視(I) ã‚’é¸ã‚“ã§ãã ã•ã„。" #: libparted/fs/fat/resize.c:299 msgid "Error writing to the root directory." msgstr "ãƒ«ãƒ¼ãƒˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«æ›¸ãã“ã¿ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚" #: libparted/fs/fat/resize.c:488 msgid "If you leave your file system as FAT16, then you will have no problems." msgstr "FAT16 ã®ã¾ã¾ã«ã—ã¦ãŠããªã‚‰ã€ä½•ã®å•題もã‚りã¾ã›ã‚“。" #: libparted/fs/fat/resize.c:491 msgid "" "If you convert to FAT16, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual)." msgstr "" "FAT16 ã«å¤‰æ›ã—よã†ã¨ã—ã¦ã„ã¦ã€ã—ã‹ã‚‚ MS Windows ãŒã“ã®ãƒ‘ーティションã«ã‚¤ãƒ³ã‚¹" "トールã•れã¦ã„ã‚‹ãªã‚‰ã€MS Windows ã®ãƒ–ートローダをå†ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ãªã‘れã°ãªã‚Š" "ã¾ã›ã‚“。もã—ãã†ã—ãŸã„ã®ãªã‚‰ã€Parted(ã‚ã‚‹ã„㯠distribution) ã®ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ã‚’よ" "ã読んã§ãã ã•ã„。" #: libparted/fs/fat/resize.c:499 msgid "" "If you leave your file system as FAT32, then you will not introduce any new " "problems." msgstr "FAT32 ã®ã¾ã¾ã«ã—ã¦ãŠããªã‚‰ã€ä½•ã®å•題も生ã˜ã¾ã›ã‚“。" #: libparted/fs/fat/resize.c:503 msgid "" "If you convert to FAT32, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual). Also, " "converting to FAT32 will make the file system unreadable by MS DOS, MS " "Windows 95a, and MS Windows NT." msgstr "" "FAT32 ã«å¤‰æ›ã—よã†ã¨ã—ã¦ã„ã¦ã€ã—ã‹ã‚‚ MS Windows ãŒã“ã®ãƒ‘ーティションã«ã‚¤ãƒ³ã‚¹" "トールã•れã¦ã„ã‚‹ãªã‚‰ã€MS Windows ã®ãƒ–ートローダをå†ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ãªã‘れã°ãªã‚Š" "ã¾ã›ã‚“。もã—ãã†ã—ãŸã„ã®ãªã‚‰ã€Parted(ã‚ã‚‹ã„㯠distribution) ã®ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ã‚’よ" "ã読んã§ãã ã•ã„。FAT32 ã«å¤‰æ›ã™ã‚‹ã¨ã€MS-DOSã€MS Windows 95aã€MS Windows NT " "ã‹ã‚‰ã¯èª­ã‚ãªããªã‚Šã¾ã™ã€‚" #: libparted/fs/fat/resize.c:517 #, c-format msgid "%s %s %s" msgstr "%s %s %s" #: libparted/fs/fat/resize.c:518 msgid "Would you like to use FAT32?" msgstr "FAT32 を使ã„ãŸã„ã§ã™ã‹ï¼Ÿ" #: libparted/fs/fat/resize.c:549 libparted/fs/fat/resize.c:565 #, c-format msgid "%s %s" msgstr "%s %s" #: libparted/fs/fat/resize.c:550 msgid "" "The file system can only be resized to this size by converting to FAT16." msgstr "ã“ã®ã‚µã‚¤ã‚ºã«ãƒªã‚µã‚¤ã‚ºã™ã‚‹ã«ã¯ FAT16 ã«å¤‰æ›ã—ãªã‘れã°ãªã‚Šã¾ã›ã‚“。" #: libparted/fs/fat/resize.c:566 msgid "" "The file system can only be resized to this size by converting to FAT32." msgstr "ã“ã®ã‚µã‚¤ã‚ºã«ãƒªã‚µã‚¤ã‚ºã™ã‚‹ã«ã¯ FAT32 ã«å¤‰æ›ã—ãªã‘れã°ãªã‚Šã¾ã›ã‚“。" #: libparted/fs/fat/resize.c:579 msgid "" "GNU Parted cannot resize this partition to this size. We're working on it!" msgstr "" "GNU Parted ã¯ã“ã®ãƒ‘ーティションをã“ã®ã‚µã‚¤ã‚ºã«ãƒªã‚µã‚¤ã‚ºã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。ã§" "ãるよã†ã«åŠªåŠ›ã—ã¦ã„ã¾ã™ã€‚" #: libparted/fs/fat/bootsector.c:49 libparted/fs/fat/bootsector.c:56 msgid "File system has an invalid signature for a FAT file system." msgstr "" "ファイルシステムã®ã‚·ã‚°ãƒãƒãƒ£ãŒ FAT ファイルシステムã®ã‚‚ã®ã§ã¯ã‚りã¾ã›ã‚“。" #: libparted/fs/fat/bootsector.c:64 msgid "File system has an invalid sector size for a FAT file system." msgstr "" "ファイルシステムã®ã‚»ã‚¯ã‚¿ã‚µã‚¤ã‚ºãŒ FAT ファイルシステムã®ã‚‚ã®ã§ã¯ã‚りã¾ã›ã‚“。" #: libparted/fs/fat/bootsector.c:71 msgid "File system has an invalid cluster size for a FAT file system." msgstr "" "ファイルシステムã®ã‚¯ãƒ©ã‚¹ã‚¿ã‚µã‚¤ã‚ºãŒ FAT ファイルシステムã®ã‚‚ã®ã§ã¯ã‚りã¾ã›ã‚“。" #: libparted/fs/fat/bootsector.c:78 msgid "" "File system has an invalid number of reserved sectors for a FAT file system." msgstr "" "ファイルシステムã®äºˆç´„ã‚»ã‚¯ã‚¿ã®æ•°ãŒ FAT ファイルシステムã¨ã—ã¦ã¯ä¸æ­£ã§ã™ã€‚" #: libparted/fs/fat/bootsector.c:85 msgid "File system has an invalid number of FATs." msgstr "ファイルシステム㮠FAT ã®æ•°ãŒä¸æ­£ã§ã™ã€‚" #: libparted/fs/fat/bootsector.c:139 #, c-format msgid "" "This file system has a logical sector size of %d. GNU Parted is known not " "to work properly with sector sizes other than 512 bytes." msgstr "" "ã“ã®ãƒ•ァイルシステムã®è«–ç†ã‚»ã‚¯ã‚¿ã‚µã‚¤ã‚ºã¯ %d ã§ã™. セクタサイズ㌠512 ãƒã‚¤ãƒˆ" "以外ã§ã¯ GNU Parted ã¯ã†ã¾ãå‹•ã‹ãªã„ã“ã¨ãŒçŸ¥ã‚‰ã‚Œã¦ã„ã¾ã™ã€‚" #: libparted/fs/fat/bootsector.c:164 #, c-format msgid "" "The file system's CHS geometry is (%d, %d, %d), which is invalid. The " "partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the " "file system's CHS geometry will be left unchanged. If you select Fix, the " "file system's CHS geometry will be set to match the partition table's CHS " "geometry." msgstr "" "ã“ã®ãƒ•ァイルシステム㮠CHS geometry 㯠(%d, %d, %d) ã§ä¸æ­£ã§ã™ã€‚パーティショ" "ンテーブル㮠CHS geometry 㯠(%d, %d, %d) ã§ã™ã€‚無視(I)ã‚’é¸ã¹ã°ãƒ•ァイルシステ" "ム㮠CHS geometry ã¯ãã®ã¾ã¾ã«ãªã‚Šã¾ã™ã€‚修正(F)ã‚’é¸ã¹ã°ã€ãƒ•ァイルシステム㮠" "CHS geometry ã¯ã€ãƒ‘ーティション㮠CHS geometry ã¨åˆã†ã‚ˆã†ä¿®æ­£ã•れã¾ã™ã€‚" #: libparted/fs/fat/bootsector.c:213 msgid "FAT boot sector says logical sector size is 0. This is weird. " msgstr "" "FAT ã®ãƒ–ートセクタã«ã¯è«–ç†ã‚»ã‚¯ã‚¿ã‚µã‚¤ã‚ºãŒ 0 ã¨æ›¸ã‹ã‚Œã¦ã„ã¾ã™ã€ã“れã¯ãŠã‹ã—ã„ã§" "ã™ã€‚" #: libparted/fs/fat/bootsector.c:219 msgid "FAT boot sector says there are no FAT tables. This is weird. " msgstr "FAT ã®ãƒ–ートセクタ㫠FAT テーブルãŒã‚りã¾ã›ã‚“。ã“れã¯ãŠã‹ã—ã„ã§ã™ã€‚" #: libparted/fs/fat/bootsector.c:225 msgid "FAT boot sector says clusters are 0 sectors. This is weird. " msgstr "" "FAT ã®ãƒ–ートセクタã«ã‚¯ãƒ©ã‚¹ã‚¿ã¯ 0 セクタã§ã‚ã‚‹ã¨æ›¸ã‹ã‚Œã¦ã„ã¾ã™ã€‚ã“れã¯ãŠã‹ã—ã„" "ã§ã™ã€‚" #: libparted/fs/fat/bootsector.c:235 msgid "File system is FAT12, which is unsupported." msgstr "FAT12 ã¯ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“。" #: libparted/fs/fat/bootsector.c:411 #, c-format msgid "" "The information sector has the wrong signature (%x). Select cancel for now, " "and send in a bug report. If you're desperate, it's probably safe to ignore." msgstr "" "information セクタã®ã‚·ã‚°ãƒãƒãƒ£(%x)ã¯ã¾ã¡ãŒã£ã¦ã„ã¾ã™ã€‚å–æ¶ˆ(C) ã—ã¦ãƒã‚°ãƒ¬ãƒãƒ¼" "トをé€ã£ã¦ãã ã•ã„。もã—ã©ã†ãªã£ã¦ã‚‚ã„ã„ã®ã§ã‚れ㰠無視(I) ã—ã¦ã‚‚ã„ã„ã§ã—ょ" "ã†ã€‚" #: libparted/fs/fat/count.c:144 #, c-format msgid "Bad directory entry for %s: first cluster is the end of file marker." msgstr "" "%s ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚¨ãƒ³ãƒˆãƒªãŒä¸è‰¯ã§ã™: 最åˆã®ã‚¯ãƒ©ã‚¹ã‚¿ãŒãƒ•ァイルã®çµ‚了を表ã‚ã™" "マークã«ãªã£ã¦ã„ã¾ã™ã€‚" #: libparted/fs/fat/count.c:157 #, c-format msgid "" "Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk." msgstr "" "FAT ã«ã‚ã‚„ã¾ã‚ŠãŒã‚りã¾ã™ã€‚%s ã® chain ãŒçµ‚了ã—ã¾ã›ã‚“。dosfsck ã‚„ scandisk ã‚’" "実行ã™ã‚‹ã¹ãã§ã™ã€‚" #: libparted/fs/fat/count.c:166 #, c-format msgid "" "Bad FAT: cluster %d outside file system in chain for %s. You should run " "dosfsck or scandisk." msgstr "" "FAT ã«ã‚ã‚„ã¾ã‚ŠãŒã‚りã¾ã™ã€‚クラスタ %d(%s ã® chain)ã¯ãƒ•ァイルシステムã®å¤–ã«ã‚" "りã¾ã™ã€‚dosfsck ã‚„ scandisk を実行ã™ã‚‹ã¹ãã§ã™ã€‚" #: libparted/fs/fat/count.c:176 #, c-format msgid "" "Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or " "scandisk." msgstr "" "FATã«ã‚ã‚„ã¾ã‚ŠãŒã‚りã¾ã™ã€‚クラスタ %d(%s ã®chain)ãŒcross-linkã—ã¦ã„ã¾ã™ã€‚" "dosfsckã‚„scandiskを実行ã™ã‚‹ã¹ãã§ã™ã€‚" #: libparted/fs/fat/count.c:195 #, c-format msgid "%s is %dk, but it has %d clusters (%dk)." msgstr "%s 㯠%dk ã§ã™ãŒã€%d クラスタ(%dk)ã‚りã¾ã™ã€‚" #: libparted/fs/fat/count.c:258 #, c-format msgid "" "The file %s is marked as a system file. This means moving it could cause " "some programs to stop working." msgstr "" "ファイル %s ã¯ã‚·ã‚¹ãƒ†ãƒ ãƒ•ァイルã§ã™ã€‚ã“ã®ãƒ•ァイルを動ã‹ã—ã¦ã—ã¾ã†ã¨å‹•ã‹ãªããª" "るプログラムãŒã‚りã¾ã™ã€‚" #: libparted/fs/fat/table.c:136 #, c-format msgid "" "FAT %d media %x doesn't match the boot sector's media %x. You should " "probably run scandisk." msgstr "" "FAT %d media %x ã¯ãƒ–ートセクタã®media %x ã¨ä¸€è‡´ã—ã¾ã›ã‚“。scandisk を実行ã—ãŸ" "æ–¹ãŒã„ã„ã§ã—ょã†ã€‚" #: libparted/fs/fat/table.c:268 #, c-format msgid "fat_table_set: cluster %ld outside file system" msgstr "fat_table_set: クラスタ %ld ã¯ãƒ•ァイルシステムã®å¤–ã«ã‚りã¾ã™ã€‚" #: libparted/fs/fat/table.c:300 #, c-format msgid "fat_table_get: cluster %ld outside file system" msgstr "fat_table_get: クラスタ %ld ã¯ãƒ•ァイルシステムã®å¤–ã«ã‚りã¾ã™ã€‚" #: libparted/fs/fat/table.c:342 msgid "fat_table_alloc_cluster: no free clusters" msgstr "fat_table_alloc_cluster: 空ãクラスタãŒã‚りã¾ã›ã‚“。" #: libparted/fs/linux_swap/linux_swap.c:288 #, c-format msgid "Unrecognised old style linux swap signature '%10s'." msgstr "å¤ã„タイプ㮠Linux swap signature '%10s' ã‚’èªè­˜ã§ãã¾ã›ã‚“。" #: libparted/fs/linux_swap/linux_swap.c:331 #, c-format msgid "Unrecognised new style linux swap signature '%10s'." msgstr "æ–°ã—ã„タイプ㮠Linux swap signature '%10s' ã‚’èªè­˜ã§ãã¾ã›ã‚“。" #: libparted/fs/linux_swap/linux_swap.c:371 #, c-format msgid "Unrecognised swsusp linux swap signature '%9s'." msgstr "Linux swsusp signature '%9s' ã‚’èªè­˜ã§ãã¾ã›ã‚“。" #: libparted/fs/linux_swap/linux_swap.c:447 msgid "Too many bad pages." msgstr "ä¸è‰¯ãƒšãƒ¼ã‚¸ãŒå¤šã™ãŽã¾ã™ã€‚" #: libparted/fs/hfs/advfs.c:121 libparted/fs/hfs/advfs_plus.c:121 #: libparted/fs/hfs/reloc.c:414 libparted/fs/hfs/reloc.c:508 #: libparted/fs/hfs/reloc_plus.c:538 libparted/fs/hfs/reloc_plus.c:656 #: libparted/fs/hfs/reloc_plus.c:769 msgid "The file system contains errors." msgstr "ファイルシステムã«ã‚¨ãƒ©ãƒ¼ãŒã‚りã¾ã™ã€‚" #: libparted/fs/hfs/advfs_plus.c:285 msgid "Bad blocks could not be read." msgstr "䏿­£ãªãƒ–ロックã¯èª­ã‚ã¾ã›ã‚“ã§ã—ãŸã€‚" #: libparted/fs/hfs/cache.c:137 #, c-format msgid "" "Trying to register an extent starting at block 0x%X, but another one already " "exists at this position. You should check the file system!" msgstr "" "ブロック 0x%X ã‹ã‚‰å§‹ã¾ã‚‹ extent を登録ã—よã†ã¨ã—ã¾ã—ãŸãŒã€æ—¢ã«ä»–ã®ã‚‚ã®ãŒã“ã®" "パーティションã«å­˜åœ¨ã—ã¾ã™ã€‚ã“ã®ãƒ•ァイルシステムをãƒã‚§ãƒƒã‚¯ã—ã¦ãã ã•ã„。" #: libparted/fs/hfs/cache.c:214 #, c-format msgid "" "Trying to move an extent from block Ox%X to block Ox%X, but another one " "already exists at this position. This should not happen!" msgstr "" "ブロック 0x%X ã‹ã‚‰ãƒ–ロック 0x%Xã« extent を移動ã—よã†ã¨ã—ã¾ã—ãŸãŒã€æ—¢ã«ä»–ã®ã‚‚" "ã®ãŒã“ã®ãƒ‘ーティションã«å­˜åœ¨ã—ã¾ã™ã€‚ã“れã¯ã‚りãˆã¾ã›ã‚“。" #: libparted/fs/hfs/file.c:143 #, c-format msgid "Could not update the extent cache for HFS file with CNID %X." msgstr "HFS ファイル(CNID %X)ã® extent cache ã‚’æ›´æ–°ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚" #: libparted/fs/hfs/file.c:180 #, c-format msgid "Trying to read HFS file with CNID %X behind EOF." msgstr "EOF ã‚’è¶Šãˆã¦ HFS ファイル(CNID %X)を読もã†ã¨ã—ã¾ã—ãŸã€‚" #: libparted/fs/hfs/file.c:190 libparted/fs/hfs/file.c:220 #, c-format msgid "Could not find sector %lli of HFS file with CNID %X." msgstr "セクタ %lli (HFS ファイル, CNID %X)ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。" #: libparted/fs/hfs/file.c:210 #, c-format msgid "Trying to write HFS file with CNID %X behind EOF." msgstr "EOF ã‚’è¶Šãˆã¦ HFS ファイル(CNID %X)ã«æ›¸ãã“ã‚‚ã†ã¨ã—ã¾ã—ãŸã€‚" #: libparted/fs/hfs/file_plus.c:157 #, c-format msgid "Could not update the extent cache for HFS+ file with CNID %X." msgstr "HFS+ ファイル(CNID %X)ã® extent cache ã‚’æ›´æ–°ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚" #: libparted/fs/hfs/file_plus.c:202 #, c-format msgid "Trying to read HFS+ file with CNID %X behind EOF." msgstr "EOF ã‚’è¶Šãˆã¦ HFS+ ファイル(CNID %X)を読もã†ã¨ã—ã¾ã—ãŸã€‚" #: libparted/fs/hfs/file_plus.c:213 libparted/fs/hfs/file_plus.c:256 #, c-format msgid "Could not find sector %lli of HFS+ file with CNID %X." msgstr "セクタ %lli (HFS+ ファイル, CNID %X)ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。" #: libparted/fs/hfs/file_plus.c:245 #, c-format msgid "Trying to write HFS+ file with CNID %X behind EOF." msgstr "EOF ã‚’è¶Šãˆã¦ HFS+ ファイル(CNID %X)ã«æ›¸ãã“ã‚‚ã†ã¨ã—ã¾ã—ãŸã€‚" #: libparted/fs/hfs/hfs.c:232 msgid "Sorry, HFS cannot be resized that way yet." msgstr "HFS ã¯ã¾ã ãã®ã‚ˆã†ã«ãƒªã‚µã‚¤ã‚ºã§ãã¾ã›ã‚“。" #: libparted/fs/hfs/hfs.c:262 libparted/fs/hfs/hfs.c:641 msgid "Data relocation has failed." msgstr "データã®å†é…ç½®ã«å¤±æ•—ã—ã¾ã—ãŸã€‚" #: libparted/fs/hfs/hfs.c:281 msgid "Data relocation left some data in the end of the volume." msgstr "データã®å†é…置をã—ã¾ã—ãŸãŒã€ãƒœãƒªãƒ¥ãƒ¼ãƒ ã®æœ€å¾Œã«æ®‹ã£ãŸãƒ‡ãƒ¼ã‚¿ãŒã‚りã¾ã™ã€‚" #: libparted/fs/hfs/hfs.c:320 msgid "writing HFS Master Directory Block" msgstr "HFS マスタディレクトリブロックを書ãã“ã‚“ã§ã„ã¾ã™" #: libparted/fs/hfs/hfs.c:468 msgid "No valid HFS[+X] signature has been found while opening." msgstr "有効㪠HFS[+X] ã‚·ã‚°ãƒãƒãƒ£ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。" #: libparted/fs/hfs/hfs.c:478 #, c-format msgid "Version %d of HFS+ isn't supported." msgstr "HFS+ ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ %d ã¯ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“。" #: libparted/fs/hfs/hfs.c:489 #, c-format msgid "Version %d of HFSX isn't supported." msgstr "HFSX ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ %d ã¯ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“。" #: libparted/fs/hfs/hfs.c:672 msgid "Data relocation left some data at the end of the volume." msgstr "データã®å†é…置をã—ã¾ã—ãŸãŒã€ãƒœãƒªãƒ¥ãƒ¼ãƒ ã®æœ€å¾Œã«æ®‹ã£ãŸãƒ‡ãƒ¼ã‚¿ãŒã‚りã¾ã™ã€‚" #: libparted/fs/hfs/hfs.c:720 msgid "Error while writing the allocation file." msgstr "allocation file を書ãã“ã¿ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚" #: libparted/fs/hfs/hfs.c:735 msgid "Error while writing the compatibility part of the allocation file." msgstr "" "allocation file ã® compatibility part を書ãã“ã¿ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚" #: libparted/fs/hfs/hfs.c:750 msgid "writing HFS+ Volume Header" msgstr "HFS+ ボリュームヘッダを書ãã“ã¿ä¸­ã§ã™" #: libparted/fs/hfs/hfs.c:850 msgid "An error occurred while looking for the mandatory bad blocks file." msgstr "䏿­£ãƒ–ロック一覧ファイルを探ã—ã¦ã„ã‚‹ã¨ãã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚" #: libparted/fs/hfs/hfs.c:904 msgid "" "It seems there is an error in the HFS wrapper: the bad blocks file doesn't " "contain the embedded HFS+ volume." msgstr "" "HFS ラッパーã«ã‚¨ãƒ©ãƒ¼ãŒã‚るよã†ã§ã™ã€‚䏿­£ãƒ–ロック一覧ファイルã®ä¸­ã«ã€embedded " "HFS+ ボリュームãŒã‚りã¾ã›ã‚“。" #: libparted/fs/hfs/hfs.c:940 msgid "Sorry, HFS+ cannot be resized that way yet." msgstr "HFS ã¯ã¾ã ãã®ã‚ˆã†ã«ãƒªã‚µã‚¤ã‚ºã§ãã¾ã›ã‚“。" #: libparted/fs/hfs/hfs.c:975 msgid "shrinking embedded HFS+ volume" msgstr "embedded HFS+ ボリュームを縮å°ã—ã¦ã„ã¾ã™" #: libparted/fs/hfs/hfs.c:991 msgid "Resizing the HFS+ volume has failed." msgstr "HFS+ ボリュームã®ãƒªã‚µã‚¤ã‚ºã«å¤±æ•—ã—ã¾ã—ãŸã€‚" #: libparted/fs/hfs/hfs.c:998 msgid "shrinking HFS wrapper" msgstr "HFS ラッパーを縮å°ã—ã¦ã„ã¾ã™" #: libparted/fs/hfs/hfs.c:1007 msgid "Updating the HFS wrapper has failed." msgstr "HFS ãƒ©ãƒƒãƒ‘ãƒ¼ã®æ›´æ–°ã«å¤±æ•—ã—ã¾ã—ãŸã€‚" #: libparted/fs/hfs/hfs.c:1109 libparted/fs/hfs/hfs.c:1194 #, c-format msgid "" "This is not a real %s check. This is going to extract special low level " "files for debugging purposes." msgstr "" "ã“れ㯠real %s check ã§ã¯ã‚りã¾ã›ã‚“。special low level file をデãƒãƒƒã‚°ã®ãŸã‚" "ã«å–り出ã—ã¾ã™ã€‚" #: libparted/fs/hfs/journal.c:155 msgid "Bad block list header checksum." msgstr "ブロックリストヘッダã®ãƒã‚§ãƒƒã‚¯ã‚µãƒ ãŒä¸æ­£ã§ã™ã€‚" #: libparted/fs/hfs/journal.c:168 #, c-format msgid "" "Invalid size of a transaction block while replaying the journal (%i bytes)." msgstr "" "ジャーナルã®ãƒªãƒ—レイ中ã«ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ãƒ–ロックã®ã‚µã‚¤ã‚º (%i ãƒã‚¤ãƒˆ) ã®ä¸æ­£ãŒ" "ã‚りã¾ã—ãŸã€‚" #: libparted/fs/hfs/journal.c:260 msgid "" "Journal stored outside of the volume are not supported. Try to desactivate " "the journal and run Parted again." msgstr "" "ジャーナルãŒåˆ¥ãƒœãƒªãƒ¥ãƒ¼ãƒ ã«ã‚ã‚‹ HFS+ ã¯ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“。ジャーナルを無効" "ã«ã—ã¦ã‹ã‚‰æ“作を行ã£ã¦ãã ã•ã„。" #: libparted/fs/hfs/journal.c:271 msgid "Journal offset or size is not multiple of the sector size." msgstr "ジャーナルã®ã‚ªãƒ•セットã‹ã‚µã‚¤ã‚ºãŒã‚»ã‚¯ã‚¿ã‚µã‚¤ã‚ºã®å€æ•°ã§ã¯ã‚りã¾ã›ã‚“。" #: libparted/fs/hfs/journal.c:292 msgid "Incorrect magic values in the journal header." msgstr "ジャーナルヘッダã®ãƒžã‚¸ãƒƒã‚¯ãƒŠãƒ³ãƒãƒ¼ãŒä¸æ­£ã§ã™ã€‚" #: libparted/fs/hfs/journal.c:302 msgid "Journal size mismatch between journal info block and journal header." msgstr "" "ジャーナルサイズã«ã¤ã„ã¦ã€ã‚¸ãƒ£ãƒ¼ãƒŠãƒ«ã‚¤ãƒ³ãƒ•ォブロックã¨ã‚¸ãƒ£ãƒ¼ãƒŠãƒ«ãƒ˜ãƒƒãƒ€ã¨ã§ä¸" "æ•´åˆãŒã‚りã¾ã™ã€‚" #: libparted/fs/hfs/journal.c:314 msgid "Some header fields are not multiple of the sector size." msgstr "ヘッダフィールドã®ä¸­ã«ã‚»ã‚¯ã‚¿ã‚µã‚¤ã‚ºã®å€æ•°ã«ãªã£ã¦ãªã„ã‚‚ã®ãŒã‚りã¾ã™ã€‚" #: libparted/fs/hfs/journal.c:323 msgid "" "The sector size stored in the journal is not 512 bytes. Parted only " "supports 512 bytes length sectors." msgstr "" "ジャーナルãŒä¿å­˜ã•れã¦ã„るセクタã®ã‚µã‚¤ã‚ºãŒ 512 ãƒã‚¤ãƒˆã§ã¯ã‚りã¾ã›ã‚“。Parted " "ã§ã¯ 512 ãƒã‚¤ãƒˆã®ã‚»ã‚¯ã‚¿ã—ã‹ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“。" #: libparted/fs/hfs/journal.c:335 msgid "Bad journal checksum." msgstr "ジャーナルã®ãƒã‚§ãƒƒã‚¯ã‚µãƒ ãŒä¸æ­£ã§ã™ã€‚" #: libparted/fs/hfs/journal.c:353 msgid "" "The journal is not empty. Parted must replay the transactions before " "opening the file system. This will modify the file system." msgstr "" "ジャーナルãŒç©ºã§ã¯ã‚りã¾ã›ã‚“。Parted ã¯ãƒ•ァイルシステムをオープンã™ã‚‹å‰ã«ãƒˆãƒ©" "ンザクションã®ãƒªãƒ—レイをã—ãªã‘れã°ãªã‚Šã¾ã›ã‚“。リプレイã™ã‚‹ã¨ãƒ•ァイルシステム" "ã¯å¤‰æ›´ã•れã¾ã™ã€‚" #: libparted/fs/hfs/journal.c:381 msgid "" "The volume header or the master directory block has changed while replaying " "the journal. You should restart Parted." msgstr "" "ボリュームヘッダã‹ãƒžã‚¹ã‚¿ãƒ¼ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãƒ–ロックãŒã‚¸ãƒ£ãƒ¼ãƒŠãƒ«ã®ãƒªãƒ—レイ中ã«å¤‰æ›´" "ã•れã¾ã—ãŸã€‚Parted ã‚’å†èµ·å‹•ã—ã¦ãã ã•ã„。" #: libparted/fs/hfs/probe.c:51 #, c-format msgid "" "Parted can't use HFS file systems on disks with a sector size not equal to " "%d bytes." msgstr "" "Parted ã¯ã€ã‚»ã‚¯ã‚¿ã‚µã‚¤ã‚ºãŒ %d ãƒã‚¤ãƒˆã§ãªã„ディスクã§ã¯ HFS ファイルシステムを" "使ãˆã¾ã›ã‚“。" #: libparted/fs/hfs/reloc.c:151 libparted/fs/hfs/reloc_plus.c:155 msgid "An extent has not been relocated." msgstr "extent ã¯å†é…ç½®ã•れã¾ã›ã‚“ã§ã—ãŸã€‚" #: libparted/fs/hfs/reloc.c:251 libparted/fs/hfs/reloc_plus.c:307 msgid "" "A reference to an extent comes from a place it should not. You should check " "the file system!" msgstr "" "extent ã¸ã®å‚ç…§ã¯ã‚りãˆãªã„ã¨ã“ã‚ã‹ã‚‰ãªã•れã¦ã„ã¾ã™ã€‚ファイルシステムをãƒã‚§ãƒƒ" "クã—ã¦ãã ã•ã„。" #: libparted/fs/hfs/reloc.c:381 msgid "This HFS volume has no catalog file. This is very unusual!" msgstr "" "ã“ã® HFS ボリュームã«ã¯ catalog file ãŒã‚りã¾ã›ã‚“。ã“れã¯ã‚ã¾ã‚Šã‚りãˆãªã„ã“ã¨" "ã§ã™ã€‚" #: libparted/fs/hfs/reloc.c:475 msgid "This HFS volume has no extents overflow file. This is quite unusual!" msgstr "" "ã“ã® HFS ボリュームã«ã¯ extents overflow file ãŒã‚りã¾ã›ã‚“。ã“れã¯ã»ã¨ã‚“ã©ã‚" "りãˆãªã„ã“ã¨ã§ã™ã€‚" #: libparted/fs/hfs/reloc.c:517 libparted/fs/hfs/reloc_plus.c:666 msgid "" "The extents overflow file should not contain its own extents! You should " "check the file system." msgstr "" "extents overflow file ã¯è‡ªåˆ†è‡ªèº«ã® extent ã‚’å«ã‚“ã§ã¯ã„ã‘ã¾ã›ã‚“。ファイルシス" "テムをãƒã‚§ãƒƒã‚¯ã—ã¦ãã ã•ã„。" #: libparted/fs/hfs/reloc.c:574 libparted/fs/hfs/reloc_plus.c:844 msgid "Could not cache the file system in memory." msgstr "ファイルシステムをメモリã«ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã§ãã¾ã›ã‚“。" #: libparted/fs/hfs/reloc.c:635 libparted/fs/hfs/reloc_plus.c:905 msgid "Bad blocks list could not be loaded." msgstr "䏿­£ãƒ–ロック一覧ファイルãŒèª­ã¿ã“ã‚ã¾ã›ã‚“ã§ã—ãŸã€‚" #: libparted/fs/hfs/reloc.c:649 libparted/fs/hfs/reloc_plus.c:921 msgid "An error occurred during extent relocation." msgstr "extent ã®å†é…置中ã«ã‚¨ãƒ©ãƒ¼ã¯ç™ºç”Ÿã—ã¾ã—ãŸã€‚" #: libparted/fs/hfs/reloc_plus.c:494 msgid "This HFS+ volume has no catalog file. This is very unusual!" msgstr "" "ã“ã® HFS+ ボリュームã«ã¯ catalog file ãŒã‚りã¾ã›ã‚“。ã“れã¯ã‚ã¾ã‚Šã‚りãˆãªã„ã“" "ã¨ã§ã™ã€‚" #: libparted/fs/hfs/reloc_plus.c:617 msgid "This HFS+ volume has no extents overflow file. This is quite unusual!" msgstr "" "ã“ã® HFS+ ボリュームã«ã¯ extents overflow file ãŒã‚りã¾ã›ã‚“。ã“れã¯ã»ã¨ã‚“ã©ã‚" "りãˆãªã„ã“ã¨ã§ã™ã€‚" #: parted/parted.c:123 msgid "displays this help message" msgstr "ã“ã®ãƒ˜ãƒ«ãƒ—を表示ã™ã‚‹" #: parted/parted.c:124 msgid "lists partition layout on all block devices" msgstr "全ブロックデãƒã‚¤ã‚¹ã®ãƒ‘ーティションレイアウトを表示" #: parted/parted.c:125 msgid "displays machine parseable output" msgstr "機械ãŒè§£é‡ˆå¯èƒ½ãªå‡ºåŠ›ã‚’ã™ã‚‹" #: parted/parted.c:126 msgid "never prompts for user intervention" msgstr "ユーザã«ä»‹å…¥ã•ã›ãªã„" #: parted/parted.c:127 msgid "displays the version" msgstr "ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’表示ã™ã‚‹" #: parted/parted.c:128 msgid "alignment for new partitions" msgstr "æ–°è¦ãƒ‘ーティションã®ã‚¢ãƒ©ã‚¤ãƒ¡ãƒ³ãƒˆ" #: parted/parted.c:140 msgid "" "NUMBER is the partition number used by Linux. On MS-DOS disk labels, the " "primary partitions number from 1 to 4, logical partitions from 5 onwards.\n" msgstr "" "NUMBER 㯠Linux カーãƒãƒ«ã«ã‚ˆã£ã¦ãƒ‘ーティション番å·ã¨ã—ã¦ä½¿ã‚れã¾ã™ã€‚MS-DOS " "ディスクラベルã§ã¯ã€åŸºæœ¬ãƒ‘ーティション番å·ã¯ 1 ã‹ã‚‰ 4 ã¾ã§ã§ã€è«–ç†ãƒ‘ーティ" "ション㯠5 以é™ã¨ãªã‚Šã¾ã™ã€‚\n" #: parted/parted.c:143 msgid "LABEL-TYPE is one of: " msgstr "ラベルã®ç¨®é¡žã¯æ¬¡ã®ã†ã¡ã‹ã‚‰é¸ã³ã¾ã™: " #: parted/parted.c:144 msgid "FLAG is one of: " msgstr "ãƒ•ãƒ©ã‚°ã¯æ¬¡ã®ã†ã¡ã‹ã‚‰é¸ã³ã¾ã™: " #: parted/parted.c:145 msgid "UNIT is one of: " msgstr "UNIT ã¯æ¬¡ã®ã†ã¡ã‹ã‚‰é¸ã³ã¾ã™: " #: parted/parted.c:146 msgid "desired alignment: minimum or optimal" msgstr "望ã¾ã—ã„アライメント: minimum(最å°) ã‹ optimal(最é©)" #: parted/parted.c:147 msgid "PART-TYPE is one of: primary, logical, extended\n" msgstr "" "パーティションã®ç¨®é¡žã¯æ¬¡ã®ã†ã¡ã®ã©ã‚Œã‹ã¨ãªã‚Šã¾ã™: プライマリã€è«–ç†ã€æ‹¡å¼µ\n" #: parted/parted.c:149 msgid "FS-TYPE is one of: " msgstr "ファイルシステムã®ç¨®é¡žã¯æ¬¡ã®ã†ã¡ã‹ã‚‰é¸ã³ã¾ã™: " #: parted/parted.c:150 msgid "" "START and END are disk locations, such as 4GB or 10%. Negative values count " "from the end of the disk. For example, -1s specifies exactly the last " "sector.\n" msgstr "" "START 㨠END ã¯ã€ãƒ‡ã‚£ã‚¹ã‚¯ä¸Šã®ä½ç½®ã‚’ 4G ã‚„ 10% ãªã©ã§è¡¨ã‚ã—ã¾ã™ã€‚è² ã®å€¤ã¯ãƒ‡ã‚£" "スクã®çµ‚ã‚りã‹ã‚‰ã®å€¤ã«ãªã‚Šã¾ã™ã€‚例ãˆã°ã€-1s ã¯ã€æœ€å¾Œã®ã‚»ã‚¯ã‚¿ã‚’指ã—ã¾ã™ã€‚\n" #: parted/parted.c:153 msgid "STATE is one of: on, off\n" msgstr "状態㯠on ã‹ off ã®ã©ã¡ã‚‰ã‹\n" #: parted/parted.c:154 msgid "DEVICE is usually /dev/hda or /dev/sda\n" msgstr "デãƒã‚¤ã‚¹ã¯ãŸã„ã¦ã„ /dev/hda ã‹ /dev/sda ã§ã™ã€‚\n" #: parted/parted.c:155 msgid "NAME is any word you want\n" msgstr "åå‰ã®éƒ¨åˆ†ã¯ä»»æ„ã®å˜èªž\n" #: parted/parted.c:156 msgid "The partition must have one of the following FS-TYPEs: " msgstr "" "パーティションã®ãƒ•ァイルシステムã¯ä»¥ä¸‹ã®ã†ã¡ã®ã„ãšã‚Œã‹ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“: " #: parted/parted.c:160 msgid "" "Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n" "This program is free software, covered by the GNU General Public License.\n" "\n" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" msgstr "" "Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n" "ã“ã®ãƒ—ログラム㯠GPL ã«åŸºã¥ã„ãŸãƒ•リーソフトウェアã§ã™ã€‚\n" "日本語訳ã«é–¢ã—ã¦ã¯ Hiroshi Takekawa ã¾ã§ãŠã­ãŒã„ã—ã¾ã™ã€‚\n" "\n" "æœ¬ãƒ—ãƒ­ã‚°ãƒ©ãƒ ã¯æœ‰ç”¨ã¨ã¯æ€ã„ã¾ã™ãŒã€é ’布ã«ã‚ãŸã£ã¦ã¯ã€\n" "市場性åŠã³ç‰¹å®šç›®çš„é©åˆæ€§ã«ã¤ã„ã¦ã®æš—é»™ã®ä¿è¨¼ã‚’å«ã‚ã¦ã€\n" "ã„ã‹ãªã‚‹ä¿è¨¼ã‚‚行ãªã„ã¾ã›ã‚“。詳細ã«ã¤ã„ã¦ã¯GNU 一般公有使用許諾書をãŠèª­ã¿ãã " "ã•ã„。\n" #: parted/parted.c:208 #, c-format msgid "%0.f%%\t(time left %.2d:%.2d)" msgstr "%0.f%%\t(残り時間 %.2d:%.2d)" #: parted/parted.c:227 #, c-format msgid "" "Partition %s is being used. You must unmount it before you modify it with " "Parted." msgstr "" "パーティション %s ã¯ä½¿ç”¨ä¸­ã§ã™ã€‚Parted ã§æ“作ã™ã‚‹å‰ã« unmount ã—ã¦ãã ã•ã„。" #: parted/parted.c:245 #, c-format msgid "Partition(s) on %s are being used." msgstr "%s ã®ãƒ‘ーティションãŒä½¿ç”¨ä¸­ã§ã™ã€‚" #: parted/parted.c:257 msgid "" "The existing file system will be destroyed and all data on the partition " "will be lost. Do you want to continue?" msgstr "" "ã„ã¾å­˜åœ¨ã—ã¦ã„るファイルシステムã¯ç ´å£Šã•れã€ã“ã®ãƒ‘ーティションã®å…¨ãƒ‡ãƒ¼ã‚¿ãŒå¤±" "ã‚れã¾ã™ã€‚続行ã—ã¾ã™ã‹ï¼Ÿ" #: parted/parted.c:269 #, c-format msgid "" "The existing disk label on %s will be destroyed and all data on this disk " "will be lost. Do you want to continue?" msgstr "" "ã„ã¾å­˜åœ¨ã—ã¦ã„ã‚‹ %s ã®ãƒ‡ã‚£ã‚¹ã‚¯ãƒ©ãƒ™ãƒ«ã¯ç ´å£Šã•れã€ã“ã®ãƒ‡ã‚£ã‚¹ã‚¯ã®å…¨ãƒ‡ãƒ¼ã‚¿ãŒå¤±ã‚" "れã¾ã™ã€‚続行ã—ã¾ã™ã‹ï¼Ÿ" #: parted/parted.c:487 #, c-format msgid "" "WARNING: you are attempting to use %s to operate on (%s) a file system.\n" "%s's file system manipulation code is not as robust as what you'll find in\n" "dedicated, file-system-specific packages like e2fsprogs. We recommend\n" "you use %s only to manipulate partition tables, whenever possible.\n" "Support for performing most operations on most types of file systems\n" "will be removed in an upcoming release.\n" msgstr "" "警告: ファイルシステムã«å¯¾ã—㦠%s ã«ã‚ˆã‚‹æ“作(%s)を行ãŠã†ã¨ã—ã¦ã„ã¾ã™ã€‚\n" "%s ã®ãƒ•ァイルシステムæ“作コードã¯ã€e2fsprogs ã®ã‚ˆã†ãªãƒ•ァイルシステム専\n" "用ã®ã‚‚ã®ã»ã©å …固ã«ä½œã‚‰ã‚Œã¦ã„ã¾ã›ã‚“。å¯èƒ½ãªã‹ãŽã‚Š %s をパーティションテー\n" "ãƒ–ãƒ«ã®æ“作ã ã‘ã«ç”¨ã„ã‚‹ã“ã¨ã‚’ãŠå‹§ã‚ã—ã¾ã™ã€‚ã»ã¨ã‚“ã©ã®ãƒ•ァイルシステムã«\n" "対ã™ã‚‹ã»ã¨ã‚“ã©ã®æ“作ã¯ä»Šå¾Œã®ãƒªãƒªãƒ¼ã‚¹ã§å‰Šé™¤ã•れる予定ã§ã™ã€‚\n" #: parted/parted.c:508 parted/parted.c:702 parted/parted.c:1179 #: parted/parted.c:1263 parted/parted.c:1935 parted/parted.c:2016 #: parted/parted.c:2088 parted/parted.c:2122 msgid "Partition number?" msgstr "パーティション番å·?" #: parted/parted.c:551 msgid "Source device?" msgstr "転é€å…ƒã®ãƒ‡ãƒã‚¤ã‚¹?" #: parted/parted.c:555 msgid "Source partition number?" msgstr "転é€å…ƒã®ãƒ‘ーティション番å·?" #: parted/parted.c:560 msgid "Can't copy an extended partition." msgstr "拡張パーティションã¯ã‚³ãƒ”ーã§ãã¾ã›ã‚“。" #: parted/parted.c:566 msgid "Destination partition number?" msgstr "転é€å…ˆã®ãƒ‘ーティション番å·?" #: parted/parted.c:655 msgid "New disk label type?" msgstr "æ–°ã—ã„ディスクラベル?" #: parted/parted.c:706 parted/parted.c:788 parted/parted.c:1000 msgid "File system type?" msgstr "ファイルシステムã®ç¨®é¡ž?" #: parted/parted.c:762 parted/parted.c:983 msgid "Partition type?" msgstr "パーティションã®ç¨®é¡ž?" #: parted/parted.c:780 parted/parted.c:990 parted/parted.c:1266 msgid "Partition name?" msgstr "パーティションã®åå‰?" #: parted/parted.c:794 parted/parted.c:1002 parted/parted.c:1194 #: parted/parted.c:1883 parted/parted.c:1944 msgid "Start?" msgstr "é–‹å§‹?" #: parted/parted.c:796 parted/parted.c:1005 parted/parted.c:1197 #: parted/parted.c:1885 parted/parted.c:1946 msgid "End?" msgstr "終了?" #: parted/parted.c:862 parted/parted.c:1066 #, c-format msgid "" "You requested a partition from %s to %s.\n" "The closest location we can manage is %s to %s.%s" msgstr "" "%s ã‹ã‚‰ %s ã¾ã§ã®ãƒ‘ーティションを指定ã•れã¾ã—ãŸã€‚\n" "å¯èƒ½ãªä¸­ã§æœ€ã‚‚è¿‘ã„ã‚‚ã®ã¯ %s ã‹ã‚‰ %s ã«ãªã‚Šã¾ã™ã€‚%s" #: parted/parted.c:867 parted/parted.c:1071 msgid "" "\n" "Is this still acceptable to you?" msgstr "" "\n" "ãれã§ã‚‚ã‹ã¾ã„ã¾ã›ã‚“ã‹ï¼Ÿ" #: parted/parted.c:889 parted/parted.c:1093 msgid "The resulting partition is not properly aligned for best performance." msgstr "" "æ“作ã®çµæžœã§ãるパーティションã¯ã‚¢ãƒ©ã‚¤ãƒ¡ãƒ³ãƒˆãŒæ­£ã—ããªã„ãŸã‚ã«ãƒ‘フォーマンス" "ãŒã§ã¾ã›ã‚“。" #: parted/parted.c:995 msgid "An extended partition cannot hold a file system. Did you want mkpart?" msgstr "" "拡張パーティションã«ã¯ãƒ•ァイルシステムã¯ä½œã‚Œã¾ã›ã‚“。mkpart ã‚’ã—ãŸã„ã®ã§ã™ã‹ï¼Ÿ" #: parted/parted.c:1185 msgid "Can't move an extended partition." msgstr "拡張パーティションã¯ç§»å‹•ã§ãã¾ã›ã‚“。" #: parted/parted.c:1214 msgid "Can't move a partition onto itself. Try using resize, perhaps?" msgstr "自分自身ã®ä¸Šã«ã¯ç§»å‹•ã§ãã¾ã›ã‚“。リサイズã—よã†ã¨ã—ã¦ã‚‹ã®ã§ã™ã‹ï¼Ÿ" #: parted/parted.c:1360 #, c-format msgid "Minor: %d\n" msgstr "マイナー: %d\n" #: parted/parted.c:1361 #, c-format msgid "Flags: %s\n" msgstr "フラグ: %s\n" #: parted/parted.c:1362 #, c-format msgid "File System: %s\n" msgstr "ファイルシステム: %s\n" #: parted/parted.c:1363 msgid "Size: " msgstr "サイズ: " #: parted/parted.c:1368 msgid "Minimum size: " msgstr "最å°ã‚µã‚¤ã‚º: " #: parted/parted.c:1371 msgid "Maximum size: " msgstr "最大サイズ: " #: parted/parted.c:1504 #, c-format msgid "Model: %s (%s)\n" msgstr "モデル: %s (%s)\n" #: parted/parted.c:1506 #, c-format msgid "Disk %s: %s\n" msgstr "ディスク %s: %s\n" #: parted/parted.c:1507 #, c-format msgid "Sector size (logical/physical): %lldB/%lldB\n" msgstr "セクタサイズ (è«–ç†/物ç†): %lldB/%lldB\n" #: parted/parted.c:1525 #, c-format msgid "BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s.\n" msgstr "BIOS シリンダã€ãƒ˜ãƒƒãƒ‰ã€ã‚»ã‚¯ã‚¿ geometry: %d,%d,%d. 1シリンダ㯠%s。\n" #: parted/parted.c:1534 #, c-format msgid "Partition Table: %s\n" msgstr "パーティションテーブル: %s\n" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Number" msgstr "番å·" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Start" msgstr "é–‹å§‹" #: parted/parted.c:1550 parted/parted.c:1553 msgid "End" msgstr "終了" #: parted/parted.c:1553 msgid "Size" msgstr "サイズ" #: parted/parted.c:1557 msgid "Type" msgstr "タイプ" #: parted/parted.c:1559 msgid "File system" msgstr "ファイルシステム" #: parted/parted.c:1562 msgid "Name" msgstr "åå‰" #: parted/parted.c:1564 msgid "Flags" msgstr "フラグ" #: parted/parted.c:1621 msgid "Free Space" msgstr "空ã容é‡" #: parted/parted.c:1782 #, c-format msgid "" "A %s %s partition was found at %s -> %s. Do you want to add it to the " "partition table?" msgstr "" "%s %s パーティション㌠%s → %s ã®å ´æ‰€ã«ç™ºè¦‹ã•れã¾ã—ãŸã€‚ã“ã®ãƒ‘ーティションを" "パーティションテーブルã«è¿½åŠ ã—ã¾ã™ã‹ï¼Ÿ" #: parted/parted.c:1821 msgid "searching for file systems" msgstr "ファイルシステムを探ã—ã¦ã„ã¾ã™" #: parted/parted.c:2041 msgid "New device?" msgstr "æ–°ã—ã„デãƒã‚¤ã‚¹?" #: parted/parted.c:2086 msgid "alignment type(min/opt)" msgstr "アライメントタイプ(min/opt)" #: parted/parted.c:2093 #, c-format msgid "%d aligned\n" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d not aligned\n" msgstr "" #: parted/parted.c:2124 msgid "Flag to Invert?" msgstr "å転ã™ã‚‹ãƒ•ラグ?" #: parted/parted.c:2129 msgid "New state?" msgstr "æ–°ã—ã„状態?" #: parted/parted.c:2166 msgid "Unit?" msgstr "å˜ä½ã¯?" #: parted/parted.c:2348 msgid "align-check" msgstr "align-check" #: parted/parted.c:2351 msgid "" "align-check TYPE N check partition N for TYPE(min|" "opt) alignment" msgstr "" "align-check TYPE N パーティション N ã®ã‚¢ãƒ©ã‚¤ãƒ¡ãƒ³ãƒˆ(min|opt)ã‚’" "ãƒã‚§ãƒƒã‚¯ã™ã‚‹" #: parted/parted.c:2359 msgid "check" msgstr "check" #: parted/parted.c:2362 msgid "" "check NUMBER do a simple check on the file system" msgstr "check NUMBER ファイルシステムã®ç°¡å˜ãªãƒã‚§ãƒƒã‚¯ã™ã‚‹" #: parted/parted.c:2368 msgid "cp" msgstr "cp" #: parted/parted.c:2371 msgid "" "cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another " "partition" msgstr "" "cp [転é€å…ƒãƒ‡ãƒã‚¤ã‚¹] 転é€å…ƒNUMBER 転é€å…ˆNUMBER\n" "            ファイルシステムを他ã®ãƒ‘ーティションã«ã‚³ãƒ”ーã™ã‚‹" #: parted/parted.c:2377 msgid "help" msgstr "help" #: parted/parted.c:2380 msgid "" "help [COMMAND] print general help, or help on " "COMMAND" msgstr "" "help [コマンド] ヘルプ表示。コマンド指定ã§ãã®ãƒ˜ãƒ«ãƒ—を表示" #: parted/parted.c:2386 msgid "mklabel" msgstr "mklabel" #: parted/parted.c:2386 msgid "mktable" msgstr "mktable" #: parted/parted.c:2389 msgid "" "mklabel,mktable LABEL-TYPE create a new disklabel (partition " "table)" msgstr "" "mklabel,mktable ラベルã®ç¨®é¡ž æ–°ã—ã„ラベル(パーティションテーブル)を作る" #: parted/parted.c:2395 msgid "mkfs" msgstr "mkfs" #: parted/parted.c:2398 msgid "" "mkfs NUMBER FS-TYPE make a FS-TYPE file system on " "partition NUMBER" msgstr "" "mkfs NUMBER ファイルシステムã®ç¨®é¡ž\n" "            指定ã—ãŸç¨®é¡žã®ãƒ•ァイルシステムを作る" #: parted/parted.c:2404 msgid "mkpart" msgstr "mkpart" #: parted/parted.c:2407 msgid "mkpart PART-TYPE [FS-TYPE] START END make a partition" msgstr "" "mkpart パーティションã®ç¨®é¡ž [ファイルシステムã®ç¨®é¡ž] é–‹å§‹ 終了\n" "            パーティションを作る" #: parted/parted.c:2413 msgid "" "'mkpart' makes a partition without creating a new file system on the " "partition. FS-TYPE may be specified to set an appropriate partition ID.\n" msgstr "" "mkpart ã¯ãƒ‘ーティションã ã‘ä½œã‚Šã€æ–°ã—ã„ファイルシステムã¯ä½œã‚Šã¾ã›ã‚“。ファイル" "システムã®ç¨®é¡žã‚’指定ã™ã‚‹ã¨ã€æ­£ã—ã„IDãŒè¨­å®šã•れã¾ã™ã€‚\n" #: parted/parted.c:2418 msgid "mkpartfs" msgstr "mkpartfs" #: parted/parted.c:2421 msgid "" "mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system" msgstr "" "mkpartfs パーティションã®ç¨®é¡ž ファイルシステムã®ç¨®é¡ž é–‹å§‹ 終了\n" "            パーティションã¨ãƒ•ァイルシステムを作る" #: parted/parted.c:2427 msgid "move" msgstr "move" #: parted/parted.c:2430 msgid "move NUMBER START END move partition NUMBER" msgstr "move NUMBER é–‹å§‹ 終了 パーティションを移動ã™ã‚‹" #: parted/parted.c:2435 msgid "name" msgstr "name" #: parted/parted.c:2438 msgid "name NUMBER NAME name partition NUMBER as NAME" msgstr "name NUMBER åå‰ ãƒ‘ãƒ¼ãƒ†ã‚£ã‚·ãƒ§ãƒ³ã«åå‰ã‚’ã¤ã‘ã‚‹" #: parted/parted.c:2443 msgid "print" msgstr "print" #: parted/parted.c:2446 msgid "" "print [devices|free|list,all|NUMBER] display the partition table, " "available devices, free space, all found partitions, or a particular " "partition" msgstr "" "print [devices|free|list,all|NUMBER]\n" "            パーティションテーブルやã€åˆ©ç”¨å¯èƒ½ãªãƒ‡ãƒã‚¤ã‚¹ã€ç©ºãé ˜" "域ã€\n" "            見ã¤ã‹ã£ãŸå…¨ã¦ã®ãƒ‘ーティションã€ã‚ã‚‹ã„ã¯ç‰¹å®šã®ãƒ‘ー" "ティションã«ã¤ã„ã¦è¡¨ç¤ºã™ã‚‹" #: parted/parted.c:2451 msgid "" "Without arguments, 'print' displays the entire partition table. However with " "the following arguments it performs various other actions.\n" msgstr "" "引数をã¤ã‘ãªã„å ´åˆã€'print' コマンドã¯ã€å…¨ãƒ‘ーティションテーブルを表示ã—ã¾" "ã™ã€‚次ã®å¼•æ•°ã‚’ã¤ã‘ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™ã€‚\n" #: parted/parted.c:2453 msgid " devices : display all active block devices\n" msgstr " devices : å…¨ã¦ã®ã‚¢ã‚¯ãƒ†ã‚£ãƒ–ãªãƒ–ロックデãƒã‚¤ã‚¹ã‚’表示\n" #: parted/parted.c:2454 msgid "" " free : display information about free unpartitioned space on the " "current block device\n" msgstr "" " free : カレントブロックデãƒã‚¤ã‚¹ã®ãƒ‘ーティションã«å«ã¾ã‚Œã¦ã„ãªã„空ãé ˜" "域情報を表示\n" #: parted/parted.c:2456 msgid "" " list, all : display the partition tables of all active block devices\n" msgstr "" " list, all : アクティブãªå…¨ãƒ–ロックデãƒã‚¤ã‚¹ã®ãƒ‘ーティションテーブルを表示\n" #: parted/parted.c:2457 msgid "" " NUMBER : display more detailed information about this particular " "partition\n" msgstr " NUMBER : 指定ã—ãŸãƒ‘ーティションã«ã¤ã„ã¦ã‚ˆã‚Šè©³ã—ã„æƒ…報を表示\n" #: parted/parted.c:2462 msgid "quit" msgstr "quit" #: parted/parted.c:2465 msgid "quit exit program" msgstr "quit プログラムを終了ã™ã‚‹" #: parted/parted.c:2470 msgid "rescue" msgstr "rescue" #: parted/parted.c:2473 msgid "" "rescue START END rescue a lost partition near START " "and END" msgstr "" "rescue é–‹å§‹ 終了 é–‹å§‹ã€çµ‚äº†ã§æŒ‡å®šã—ãŸç¯„囲付近ã«ã‚るパーティショ" "ンを復活ã•ã›ã‚‹" #: parted/parted.c:2479 msgid "resize" msgstr "resize" #: parted/parted.c:2482 msgid "" "resize NUMBER START END resize partition NUMBER and its " "file system" msgstr "" "resize NUMBER é–‹å§‹ 終了 パーティションã¨ãã®ä¸­ã®ãƒ•ァイルシステムをリサ" "イズã™ã‚‹" #: parted/parted.c:2490 msgid "rm" msgstr "rm" #: parted/parted.c:2493 msgid "rm NUMBER delete partition NUMBER" msgstr "rm NUMBER パーティションを削除ã™ã‚‹" #: parted/parted.c:2498 msgid "select" msgstr "select" #: parted/parted.c:2501 msgid "select DEVICE choose the device to edit" msgstr "select デãƒã‚¤ã‚¹ æ“作ã™ã‚‹ãƒ‡ãƒã‚¤ã‚¹ã‚’é¸æŠž" #: parted/parted.c:2506 msgid "set" msgstr "set" #: parted/parted.c:2509 msgid "" "set NUMBER FLAG STATE change the FLAG on partition NUMBER" msgstr "set NUMBER フラグ 状態 ファイルシステムã®ãƒ•ラグã¨çŠ¶æ…‹ã‚’è¨­å®šã™ã‚‹" #: parted/parted.c:2515 msgid "toggle" msgstr "toggle" #: parted/parted.c:2518 msgid "" "toggle [NUMBER [FLAG]] toggle the state of FLAG on " "partition NUMBER" msgstr "toggle [NUMBER [FLAG]] パーティションã®ãƒ•ラグã®çŠ¶æ…‹ã‚’å転ã™ã‚‹" #: parted/parted.c:2524 msgid "unit" msgstr "unit" #: parted/parted.c:2527 msgid "unit UNIT set the default unit to UNIT" msgstr "unit UNIT デフォルトã®å˜ä½ã‚’ UNIT ã«ã™ã‚‹" #: parted/parted.c:2532 msgid "version" msgstr "version" #: parted/parted.c:2535 msgid "" "version display the version number and " "copyright information of GNU Parted" msgstr "" "version GNU Parted ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã¨è‘—作権情報を表示" #: parted/parted.c:2539 msgid "" "'version' displays copyright and version information corresponding to this " "copy of GNU Parted\n" msgstr "" "version ã¯ã€å®Ÿè¡Œä¸­ã® GNU Parted ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã¨è‘—作権情報を表示ã—ã¾ã™ã€‚\n" #: parted/parted.c:2607 #, c-format msgid "Usage: %s [-hlmsv] [-a] [DEVICE [COMMAND [PARAMETERS]]...]\n" msgstr "" "ä½¿ã„æ–¹: %s [-hlmsv] [-a<アライン>] [デãƒã‚¤ã‚¹ [コマンド [パラメータ]]...]\n" #: parted/parted.c:2651 msgid "No device found" msgstr "デãƒã‚¤ã‚¹ãŒã¿ã¤ã‹ã‚Šã¾ã›ã‚“。" #: parted/parted.c:2688 msgid "WARNING: You are not superuser. Watch out for permissions." msgstr "警告: 管ç†è€…権é™ãŒã‚りã¾ã›ã‚“ã€‚ãƒ‘ãƒ¼ãƒŸãƒƒã‚·ãƒ§ãƒ³ã«æ³¨æ„ã—ã¦ãã ã•ã„。" #: parted/parted.c:2726 msgid "You may need to update /etc/fstab.\n" msgstr "å¿…è¦ã§ã‚れ㰠/etc/fstab ã‚’æ›´æ–°ã™ã‚‹ã®ã‚’忘れãªã„よã†ã«ã—ã¦ãã ã•ã„。\n" #: parted/ui.c:162 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n" msgstr "" "GNU Parted ã¸ã‚ˆã†ã“ãï¼ ã‚³ãƒžãƒ³ãƒ‰ä¸€è¦§ã‚’è¦‹ã‚‹ã«ã¯ 'help' ã¨å…¥åŠ›ã—ã¦ãã ã•ã„。\n" #: parted/ui.c:165 msgid "" "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n" "Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run " "in\n" "interactive mode.\n" msgstr "" "ä½¿ã„æ–¹: parted [オプション]... [デãƒã‚¤ã‚¹ [コマンド [パラメータ]...]...]\n" "デãƒã‚¤ã‚¹ã«å¯¾ã—ã¦ãƒ‘ラメータã«å¾“ã£ã¦ã‚³ãƒžãƒ³ãƒ‰ã‚’実行ã—ã¾ã™ã€‚ã‚‚ã—ã‚³ãƒžãƒ³ãƒ‰ãŒæŒ‡å®šã•" "れãªã‘れã°ã€å¯¾è©±ãƒ¢ãƒ¼ãƒ‰ã«å…¥ã‚Šã¾ã™ã€‚\n" #: parted/ui.c:170 #, c-format msgid "" "\n" "\n" "You found a bug in GNU Parted! Here's what you have to do:\n" "\n" "Don't panic! The bug has most likely not affected any of your data.\n" "Help us to fix this bug by doing the following:\n" "\n" "Check whether the bug has already been fixed by checking\n" "the last version of GNU Parted that you can find at:\n" "\n" "\thttp://ftp.gnu.org/gnu/parted/\n" "\n" "Please check this version prior to bug reporting.\n" "\n" "If this has not been fixed yet or if you don't know how to check,\n" "please visit the GNU Parted website:\n" "\n" "\thttp://www.gnu.org/software/parted\n" "\n" "for further information.\n" "\n" "Your report should contain the version of this release (%s)\n" "along with the error message below, the output of\n" "\n" "\tparted DEVICE unit co print unit s print\n" "\n" "and the following history of commands you entered.\n" "Also include any additional information about your setup you\n" "consider important.\n" msgstr "" "\n" "\n" "GNU Parted ã®ãƒã‚°ã‚’発見ã—ã¾ã—ãŸï¼\n" "\n" "パニックを起ã“ã•ãªã„ã§ãã ã•ã„ï¼ ã“ã®ãƒã‚°ã¯ãŠãらãデータã«ã¯å½±éŸ¿ã‚りã¾ã›" "ん。\n" "次ã®ã“ã¨ã‚’ã—ã¦ã“ã®ãƒã‚°ã®ä¿®æ­£ã«ã”å”力ãã ã•ã„。\n" "\n" "次ã®ã‚µã‚¤ãƒˆã«æœ€æ–°ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒã‚りã¾ã™ã€‚\n" "æ—¢ã«ã“ã®ãƒã‚°ãŒä¿®æ­£ã•れã¦ã„ãªã„ã‹ç¢ºèªã—ã¦ãã ã•ã„。\n" "\n" "\thttp://ftp.gnu.org/gnu/parted/\n" "\n" "ãƒã‚°ãƒ¬ãƒãƒ¼ãƒˆã‚’ã™ã‚‹å‰ã«æœ€æ–°ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ç¢ºèªã—ã¦ãã ã•ã„。\n" "\n" "ã¾ã ãƒã‚°ãŒä¿®æ­£ã•れã¦ã„ãªã„ã‹ã€ç¢ºèªã®ä»•æ–¹ãŒã‚ã‹ã‚‰ãªã„å ´åˆã€\n" "GNU Parted ã® web サイト\n" "\n" "\thttp://www.gnu.org/software/parted\n" "\n" "ã‚’é–‹ã„ã¦ã€è©³ã—ã„æƒ…報を調ã¹ã¦ãã ã•ã„。\n" "\n" "レãƒãƒ¼ãƒˆã«ã¯ã€ã“ã® Parted ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³æƒ…å ± (%s) ã¨ã€\n" "下ã«è¡¨ç¤ºã•れã¦ã„ã‚‹ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã€æ¬¡ã®ã‚³ãƒžãƒ³ãƒ‰\n" "\n" "\tparted DEVICE unit co print unit s print\n" "\n" "ã®å‡ºåŠ›ã¨ã€ã‚³ãƒžãƒ³ãƒ‰å±¥æ­´ã€\n" "ãã®ä»–é‡è¦ã¨æ€ã†æƒ…報を記述ã—ã¦ãã ã•ã„。\n" "\n" #: parted/ui.c:291 msgid "" "\n" "Command History:\n" msgstr "" "\n" "コマンド履歴:\n" #: parted/ui.c:354 msgid "" "\n" "Error: SEGV_MAPERR (Address not mapped to object)\n" msgstr "" "\n" "エラー: SEGV_MAPERR (アドレスãŒã‚ªãƒ–ジェクトã«å¤‰æ›ã•れã¾ã›ã‚“ã§ã—ãŸ)\n" #: parted/ui.c:360 msgid "" "\n" "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n" msgstr "" "\n" "エラー: SEGV_ACCERR (マップã•れãŸã‚ªãƒ–ジェクトã®ãƒ‘ーミッションãŒä¸æ­£ã§ã™)\n" #: parted/ui.c:365 msgid "" "\n" "Error: A general SIGSEGV signal was encountered.\n" msgstr "" "\n" "エラー: SIGSEGV シグナルをå—ã‘ã¨ã‚Šã¾ã—ãŸã€‚\n" #: parted/ui.c:389 msgid "" "\n" "Error: FPE_INTDIV (Integer: divide by zero)" msgstr "" "\n" "エラー: FPE_INTDIV (æ•´æ•°: 0ã«ã‚ˆã‚‹é™¤ç®—)" #: parted/ui.c:394 msgid "" "\n" "Error: FPE_INTOVF (Integer: overflow)" msgstr "" "\n" "エラー: FPE_INTOVF (æ•´æ•°: オーãƒãƒ¼ãƒ•ロー)" #: parted/ui.c:399 msgid "" "\n" "Error: FPE_FLTDIV (Float: divide by zero)" msgstr "" "\n" "エラー: FPE_FLTDIV (æµ®å‹•å°æ•°ç‚¹: 0ã«ã‚ˆã‚‹é™¤ç®—)" #: parted/ui.c:404 msgid "" "\n" "Error: FPE_FLTOVF (Float: overflow)" msgstr "" "\n" "エラー: FPE_FLTOVF (æµ®å‹•å°æ•°ç‚¹: オーãƒãƒ¼ãƒ•ロー)" #: parted/ui.c:409 msgid "" "\n" "Error: FPE_FLTUND (Float: underflow)" msgstr "" "\n" "エラー: FPE_FLTUND (æµ®å‹•å°æ•°ç‚¹: アンダーフロー)" #: parted/ui.c:414 msgid "" "\n" "Error: FPE_FLTRES (Float: inexact result)" msgstr "" "\n" "エラー: FPE_FLTRES (æµ®å‹•å°æ•°ç‚¹: æ­£ã—ããªã„çµæžœ)" #: parted/ui.c:419 msgid "" "\n" "Error: FPE_FLTINV (Float: invalid operation)" msgstr "" "\n" "\n" "エラー: FPE_FLTINV (æµ®å‹•å°æ•°ç‚¹: 䏿­£ãªæ“作)" #: parted/ui.c:424 msgid "" "\n" "Error: FPE_FLTSUB (Float: subscript out of range)" msgstr "" "\n" "エラー: FPE_FLTSUB (æµ®å‹•å°æ•°ç‚¹: 添字ãŒç¯„囲を越ãˆã¾ã—ãŸ)" #: parted/ui.c:429 msgid "" "\n" "Error: A general SIGFPE signal was encountered." msgstr "" "\n" "エラー: SIGFPE シグナルをå—ã‘ã¨ã‚Šã¾ã—ãŸã€‚" #: parted/ui.c:453 msgid "" "\n" "Error: ILL_ILLOPC (Illegal Opcode)" msgstr "" "\n" "エラー: ILL_ILLOPC (䏿­£ãªã‚ªãƒšã‚³ãƒ¼ãƒ‰)" #: parted/ui.c:458 msgid "" "\n" "Error: ILL_ILLOPN (Illegal Operand)" msgstr "" "\n" "エラー: ILL_ILLOPN (䏿­£ãªã‚ªãƒšãƒ©ãƒ³ãƒ‰)" #: parted/ui.c:463 msgid "" "\n" "Error: ILL_ILLADR (Illegal addressing mode)" msgstr "" "\n" "エラー: ILL_ILLADR (䏿­£ãªã‚¢ãƒ‰ãƒ¬ã‚¹ãƒ¢ãƒ¼ãƒ‰)" #: parted/ui.c:468 msgid "" "\n" "Error: ILL_ILLTRP (Illegal Trap)" msgstr "" "\n" "エラー: ILL_ILLTRP (䏿­£ãªãƒˆãƒ©ãƒƒãƒ—)" #: parted/ui.c:473 msgid "" "\n" "Error: ILL_PRVOPC (Privileged Opcode)" msgstr "" "\n" "エラー: ILL_PRVOPC (特権ãŒå¿…è¦ãªã‚ªãƒšã‚³ãƒ¼ãƒ‰)" #: parted/ui.c:478 msgid "" "\n" "Error: ILL_PRVREG (Privileged Register)" msgstr "" "\n" "エラー: ILL_PRVREG (特権ãŒå¿…è¦ãªãƒ¬ã‚¸ã‚¹ã‚¿)" #: parted/ui.c:483 msgid "" "\n" "Error: ILL_COPROC (Coprocessor Error)" msgstr "" "\n" "エラー: ILL_COPROC (コプロセッサエラー)" #: parted/ui.c:488 msgid "" "\n" "Error: ILL_BADSTK (Internal Stack Error)" msgstr "" "\n" "エラー: ILL_BADSTK (インターナルスタックエラー)" #: parted/ui.c:493 msgid "" "\n" "Error: A general SIGILL signal was encountered." msgstr "" "\n" "エラー: SIGILL シグナルをå—ã‘ã¨ã‚Šã¾ã—ãŸã€‚" #: parted/ui.c:892 #, c-format msgid "invalid token: %s" msgstr "䏿­£ãªãƒˆãƒ¼ã‚¯ãƒ³ã§ã™: %s" #: parted/ui.c:1048 msgid "Expecting a partition number." msgstr "パーティション番å·ã‚’入力ã—ã¦ãã ã•ã„。" #: parted/ui.c:1057 msgid "Partition doesn't exist." msgstr "パーティションãŒã‚りã¾ã›ã‚“。" #: parted/ui.c:1077 msgid "Expecting a file system type." msgstr "ファイルシステムã®ç¨®é¡žã‚’入力ã—ã¦ãã ã•ã„。" #: parted/ui.c:1084 #, c-format msgid "Unknown file system type \"%s\"." msgstr "ファイルシステムã®ç¨®é¡ž \"%s\" ã¯ä¸æ˜Žã§ã™ã€‚" #: parted/ui.c:1104 msgid "Expecting a disk label type." msgstr "ディスクラベルã®ç¨®é¡žã‚’入力ã—ã¦ãã ã•ã„。" #: parted/ui.c:1202 msgid "Can't create any more partitions." msgstr "パーティションを追加ã§ãã¾ã›ã‚“。" #: parted/ui.c:1212 msgid "Expecting a partition type." msgstr "パーティションã®ç¨®é¡žã‚’入力ã—ã¦ãã ã•ã„。" #: parted/ui.c:1360 msgid "on" msgstr "on" #: parted/ui.c:1361 msgid "off" msgstr "off" #: parted/ui.c:1378 msgid "optimal" msgstr "最é©(optimal)" #: parted/ui.c:1379 msgid "minimal" msgstr "最å°(minimal)" #: parted/ui.c:1512 msgid "OPTIONs:" msgstr "オプション" #: parted/ui.c:1517 msgid "COMMANDs:" msgstr "コマンド:" #: parted/ui.c:1520 #, fuzzy, c-format msgid "" "\n" "Report bugs to %s\n" msgstr "" "\n" "ãƒã‚°ãƒ¬ãƒãƒ¼ãƒˆã¯ %s ã¸ã€‚\n" #: parted/ui.c:1527 #, c-format msgid "Using %s\n" msgstr "%s を使用\n" #: parted/ui.c:1601 msgid "This command does not make sense in non-interactive mode.\n" msgstr "ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯å¯¾è©±æ“作モードã§ãªã‘ã‚Œã°æ„味ãŒã‚りã¾ã›ã‚“。\n" #~ msgid "" #~ "WARNING: the kernel failed to re-read the partition table on %s (%s). As " #~ "a result, it may not reflect all of your changes until after reboot." #~ msgstr "" #~ "警告: カーãƒãƒ«ã¯ %s ã®ãƒ‘ーティションテーブルã®å†èª­ã¿è¾¼ã¿ã«å¤±æ•—ã—ã¾ã—ãŸ" #~ "(%s)。リブートã™ã‚‹ã¾ã§ã€å¤‰æ›´å†…容ãŒå…¨ã¦ã¯å映ã•れãªã„ã‹ã‚‚ã—れã¾ã›ã‚“。" #~ msgid "" #~ "Device %s has a logical sector size of %lld. Not all parts of GNU Parted " #~ "support this at the moment, and the working code is HIGHLY EXPERIMENTAL.\n" #~ msgstr "" #~ "%s ã® è«–ç†ã‚»ã‚¯ã‚¿ã‚µã‚¤ã‚ºãŒ %lld ã§ã™ã€‚ã„ã¾ã®ã¨ã“ã‚ GNU Parted ã¯å…¨ã¦ã®æ©Ÿèƒ½ã«" #~ "ãŠã„ã¦ã€ã“ã®ã‚µã‚¤ã‚ºã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã‚‹ã‚ã‘ã§ã¯ãªãã€ä¸€å¿œå‹•作ã™ã‚‹å ´åˆã§ã‚‚ã¾ã¨" #~ "ã‚‚ã«å‹•作ã™ã‚‹ã¨ã¯é™ã‚Šã¾ã›ã‚“。\n" parted-2.3/po/ro.po0000644000000000000000000024137411400005705011125 00000000000000# Mesajele în limba românã pentru GNU Parted # Copyright (C) 2005 Free Software Foundation, Inc. # Laurentiu Buzdugan , 2005 # msgid "" msgstr "" "Project-Id-Version: parted 1.6.23\n" "Report-Msgid-Bugs-To: bug-parted@gnu.org\n" "POT-Creation-Date: 2010-05-28 20:30+0200\n" "PO-Revision-Date: 2005-08-08 12:00-05\n" "Last-Translator: Laurentiu Buzdugan \n" "Language-Team: Romanian \n" "Language: ro\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-2\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: lib/argmatch.c:133 #, fuzzy, c-format msgid "invalid argument %s for %s" msgstr "Nu pot deschide %s." #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "" #: lib/argmatch.c:153 #, fuzzy, c-format msgid "Valid arguments are:" msgstr "Nu pot deschide %s." #: lib/closeout.c:112 libparted/labels/fdasd.c:107 msgid "write error" msgstr "" #: lib/error.c:181 #, fuzzy msgid "Unknown system error" msgstr "Tip de sistem de fiºiere necunoscut \"%s\"." #: lib/getopt.c:527 lib/getopt.c:543 #, c-format msgid "%s: option '%s' is ambiguous\n" msgstr "" #: lib/getopt.c:576 lib/getopt.c:580 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:589 lib/getopt.c:594 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:637 lib/getopt.c:656 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "" #: lib/getopt.c:694 lib/getopt.c:697 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "Nu pot deschide %s - etichetã de disc nerecunoscutã." #: lib/getopt.c:705 lib/getopt.c:708 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "Nu pot deschide %s - etichetã de disc nerecunoscutã." #: lib/getopt.c:757 lib/getopt.c:760 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "" #: lib/getopt.c:810 lib/getopt.c:827 lib/getopt.c:1035 lib/getopt.c:1053 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "" #: lib/getopt.c:883 lib/getopt.c:899 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "" #: lib/getopt.c:923 lib/getopt.c:941 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:962 lib/getopt.c:980 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". If the catalog has no translation, #. locale_quoting_style quotes `like this', and #. clocale_quoting_style quotes "like this". #. #. For example, an American English Unicode locale should #. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and #. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION #. MARK). A British English Unicode locale should instead #. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) #. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. #. #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. #: lib/quotearg.c:272 msgid "`" msgstr "" #: lib/quotearg.c:273 msgid "'" msgstr "" #: lib/regcomp.c:134 msgid "Success" msgstr "" #: lib/regcomp.c:137 msgid "No match" msgstr "" #: lib/regcomp.c:140 msgid "Invalid regular expression" msgstr "" #: lib/regcomp.c:143 msgid "Invalid collation character" msgstr "" #: lib/regcomp.c:146 msgid "Invalid character class name" msgstr "" #: lib/regcomp.c:149 msgid "Trailing backslash" msgstr "" #: lib/regcomp.c:152 msgid "Invalid back reference" msgstr "" #: lib/regcomp.c:155 msgid "Unmatched [ or [^" msgstr "" #: lib/regcomp.c:158 msgid "Unmatched ( or \\(" msgstr "" #: lib/regcomp.c:161 msgid "Unmatched \\{" msgstr "" #: lib/regcomp.c:164 msgid "Invalid content of \\{\\}" msgstr "" #: lib/regcomp.c:167 msgid "Invalid range end" msgstr "" #: lib/regcomp.c:170 msgid "Memory exhausted" msgstr "" #: lib/regcomp.c:173 msgid "Invalid preceding regular expression" msgstr "" #: lib/regcomp.c:176 msgid "Premature end of regular expression" msgstr "" #: lib/regcomp.c:179 msgid "Regular expression too big" msgstr "" #: lib/regcomp.c:182 msgid "Unmatched ) or \\)" msgstr "" #: lib/regcomp.c:703 msgid "No previous regular expression" msgstr "" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "" #: lib/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "" #: lib/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "" #: lib/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" #: lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "" #: lib/xstrtol-error.c:63 #, fuzzy, c-format msgid "invalid %s%s argument `%s'" msgstr "Nu pot deschide %s." #: lib/xstrtol-error.c:68 #, fuzzy, c-format msgid "invalid suffix in %s%s argument `%s'" msgstr "Nu pot deschide %s." #: lib/xstrtol-error.c:72 #, fuzzy, c-format msgid "%s%s argument `%s' too large" msgstr "Nu pot deschide %s." #: libparted/arch/beos.c:245 msgid "Disk Image" msgstr "" #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277 #: libparted/arch/linux.c:1519 #, c-format msgid "Error opening %s: %s" msgstr "Eroare la deschiderea %s: %s" #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287 #: libparted/arch/linux.c:1530 #, c-format msgid "Unable to open %s read-write (%s). %s has been opened read-only." msgstr "" "Nu pot deschide %s citire-scriere (%s). %s a fost deschis numai-citire." #: libparted/arch/beos.c:419 libparted/arch/linux.c:1688 #, c-format msgid "%s during seek for read on %s" msgstr "%s în timpul cãutãrii pentru citire pe %s" #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564 #: libparted/arch/gnu.c:692 libparted/arch/linux.c:1648 #: libparted/arch/linux.c:1729 #, c-format msgid "%s during read on %s" msgstr "%s în timpul citirii pe %s" #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525 #: libparted/arch/linux.c:1805 #, c-format msgid "Can't write to %s, because it is opened read-only." msgstr "Nu pot scrie pe %s, pentru cã este deschis numai-citire." #: libparted/arch/beos.c:504 libparted/arch/linux.c:1830 #, c-format msgid "%s during seek for write on %s" msgstr "%s în timpul cãutãrii pentru scriere pe %s" #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646 #: libparted/arch/gnu.c:723 libparted/arch/linux.c:1778 #: libparted/arch/linux.c:1872 libparted/arch/linux.c:1944 #, c-format msgid "%s during write on %s" msgstr "%s în timpul scrierii pe %s" #: debug/clearfat/clearfat.c:62 partprobe/partprobe.c:137 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "" #: debug/clearfat/clearfat.c:66 #, c-format msgid "" "Usage: %s [OPTION]\n" " or: %s DEVICE MINOR\n" msgstr "" #: debug/clearfat/clearfat.c:69 msgid "" "Clear unused space on a FAT partition (a GNU Parted testing tool).\n" "\n" msgstr "" #: debug/clearfat/clearfat.c:73 msgid " --help display this help and exit\n" msgstr "" #: debug/clearfat/clearfat.c:74 msgid " --version output version information and exit\n" msgstr "" #: debug/clearfat/clearfat.c:76 partprobe/partprobe.c:154 #, c-format msgid "" "\n" "Report bugs to <%s>.\n" msgstr "" #: debug/clearfat/clearfat.c:284 #, c-format msgid "too few arguments" msgstr "" #: debug/clearfat/clearfat.c:289 #, c-format msgid "too many arguments" msgstr "" #: debug/clearfat/clearfat.c:297 #, fuzzy, c-format msgid "invalid minor device number: %s" msgstr "Nu pot deschide %s." #: partprobe/partprobe.c:141 #, c-format msgid "Usage: %s [OPTION] [DEVICE]...\n" msgstr "" #: partprobe/partprobe.c:142 msgid "" "Inform the operating system about partition table changes.\n" "\n" " -d, --dry-run do not actually inform the operating system\n" " -s, --summary print a summary of contents\n" " -h, --help display this help and exit\n" " -v, --version output version information and exit\n" msgstr "" #: partprobe/partprobe.c:150 msgid "" "\n" "When no DEVICE is given, probe all partitions.\n" msgstr "" #: libparted/arch/gnu.c:110 #, c-format msgid "Unable to open %s." msgstr "Nu pot deschide %s." #: libparted/arch/gnu.c:130 msgid "Unable to probe store." msgstr "Nu pot proba `store'." #: libparted/arch/gnu.c:368 msgid "" "The partition table cannot be re-read. This means you need to reboot before " "mounting any modified partitions. You also need to reinstall your boot " "loader before you reboot (which may require mounting modified partitions). " "It is impossible do both things! So you'll need to boot off a rescue disk, " "and reinstall your boot loader from the rescue disk. Read section 4 of the " "Parted User documentation for more information." msgstr "" "Tabela de partiþii nu poate fi recititã. Aceasta înseamnã cã trebuie sã " "reboot-aþi înainte de a monta orice partiþii modificate. Deasemenea, ar " "trebui sã reinstalaþi boot loader-ul înainte de a reboot-a (ceea ce ar putea " "sã necesite montarea partiþiilor modificate). Este imposibil sã faceþi " "ambele lucruri! Aºa cã trebuie sã boot-aþi de pe un disc de salvare ºi " "reinstalaþi boot loader-ul d-voastrã de pe discul de salvare. Citiþi " "secþiunea 4 din documentaþia utilizatorului de Parted pentru informaþii " "suplimentare." #: libparted/arch/gnu.c:385 #, c-format msgid "" "The partition table on %s cannot be re-read (%s). This means the Hurd knows " "nothing about any modifications you made. You should reboot your computer " "before doing anything with %s." msgstr "" "Tabela de partiþii pe %s nu poate fi re-cititã (%s). Aceasta înseamnã cã " "Hurd nu ºtie nimic despre nici o modificare pe care aþi fãcut-o. Ar trebui " "sã reboot-aþi computerul înainte de a face ceva cu %s." #: libparted/arch/gnu.c:396 parted/parted.c:2719 msgid "" "You should reinstall your boot loader before rebooting. Read section 4 of " "the Parted User documentation for more information." msgstr "" "Ar trebui sã reinstalaþi boot loader-ul d-voastrã înainte de reboot-are. " "Citiþi secþiunea 4 din documentaþia utilizatorului Parted pentru informaþii " "suplimentare." #: libparted/arch/gnu.c:788 #, c-format msgid "%s trying to sync %s to disk" msgstr "%s încearcã sã sincronizeze %s pe disc" #: libparted/arch/linux.c:509 #, c-format msgid "Could not stat device %s - %s." msgstr "Nu am putut afla date despre dispozitivul %s - %s." #: libparted/arch/linux.c:566 #, fuzzy, c-format msgid "Unable to determine the dm type of %s." msgstr "Nu pot determina dimensiunea lui %s (%s)." #: libparted/arch/linux.c:658 #, c-format msgid "" "Could not determine sector size for %s: %s.\n" "Using the default sector size (%lld)." msgstr "" #: libparted/arch/linux.c:679 #, c-format msgid "" "Could not determine physical sector size for %s.\n" "Using the logical sector size (%lld)." msgstr "" #: libparted/arch/linux.c:728 #, c-format msgid "Unable to determine the size of %s (%s)." msgstr "Nu pot determina dimensiunea lui %s (%s)." #: libparted/arch/linux.c:814 #, c-format msgid "Could not get identity of device %s - %s" msgstr "Nu am putut identifica dispozitivul %s - %s" #: libparted/arch/linux.c:823 msgid "Generic IDE" msgstr "" #: libparted/arch/linux.c:844 #, c-format msgid "" "Device %s has multiple (%d) logical sectors per physical sector.\n" "GNU Parted supports this EXPERIMENTALLY for some special disk label/file " "system combinations, e.g. GPT and ext2/3.\n" "Please consult the web site for up-to-date information." msgstr "" #: libparted/arch/linux.c:1019 #, c-format msgid "Error initialising SCSI device %s - %s" msgstr "Eroare la iniþializarea dispozitivului SCSI %s - %s" #: libparted/arch/linux.c:1083 #, fuzzy, c-format msgid "" "The device %s has zero length, and can't possibly store a file system or " "partition table. Perhaps you selected the wrong device?" msgstr "" "Dispozitivul %s are lungime-zero ºi nu poate fizic stoca un sistem de " "fiºiere sau o tabelã de partiþii. Aþi selectat din greºealã un alt " "dispozitiv?" #: libparted/arch/linux.c:1190 #, fuzzy, c-format msgid "" "Unable to determine geometry of file/device %s. You should not use Parted " "unless you REALLY know what you're doing!" msgstr "" "Nu pot determina geometria fiºierului/dispozitivului. N-ar trebui sã " "folosiþi Parted decât dacã ºtiþi cu ADEVÃRAT ce faceþi!" #: libparted/arch/linux.c:1250 msgid "Generic SD/MMC Storage Card" msgstr "" #: libparted/arch/linux.c:1303 msgid "DAC960 RAID controller" msgstr "Controller RAID DAC960" #: libparted/arch/linux.c:1308 msgid "Promise SX8 SATA Device" msgstr "" #: libparted/arch/linux.c:1313 msgid "ATA over Ethernet Device" msgstr "" #: libparted/arch/linux.c:1319 msgid "IBM S390 DASD drive" msgstr "" #: libparted/arch/linux.c:1325 msgid "IBM iSeries Virtual DASD" msgstr "" #: libparted/arch/linux.c:1330 msgid "Compaq Smart Array" msgstr "Compaq Smart Array" #: libparted/arch/linux.c:1335 msgid "ATARAID Controller" msgstr "Controller ATARAID" #: libparted/arch/linux.c:1340 msgid "I2O Controller" msgstr "Controller I2O" #: libparted/arch/linux.c:1345 msgid "User-Mode Linux UBD" msgstr "" #: libparted/arch/linux.c:1358 #, c-format msgid "Linux device-mapper (%s)" msgstr "" #: libparted/arch/linux.c:1369 msgid "Xen Virtual Block Device" msgstr "" #: libparted/arch/linux.c:1374 msgid "Unknown" msgstr "Necunoscut" #: libparted/arch/linux.c:1383 msgid "Virtio Block Device" msgstr "" #: libparted/arch/linux.c:1388 msgid "Linux Software RAID Array" msgstr "" #: libparted/arch/linux.c:1395 msgid "ped_device_new() Unsupported device type" msgstr "ped_device_new() Tip de dispozitiv nesuportat" #: libparted/arch/linux.c:1492 libparted/arch/linux.c:1564 #, fuzzy, c-format msgid "Error fsyncing/closing %s: %s" msgstr "Eroare la deschiderea %s: %s" #: libparted/arch/linux.c:1728 #, c-format msgid "end of file while reading %s" msgstr "" #: libparted/arch/linux.c:2365 #, c-format msgid "" "Error informing the kernel about modifications to partition %s -- %s. This " "means Linux won't know about any changes you made to %s until you reboot -- " "so you shouldn't mount it or use it in any way before rebooting." msgstr "" "Eroare la informarea kernel-ului despre modificãrile fãcute partiþiei %s -- " "%s. Aceasta înseamnã cã Linux nu va ºti nimic despre schimbãrile pe care le-" "aþi fãcut lui %s pânã când nu reboot-aþi -- aºa cã n-ar trebui sã îl montaþi " "sau folosiþi în vreun fel înainte de a reboot-a." #: libparted/arch/linux.c:2503 #, fuzzy, c-format msgid "Unable to determine the size and length of %s." msgstr "Nu pot determina dimensiunea lui %s (%s)." #: libparted/arch/linux.c:2528 #, fuzzy, c-format msgid "Failed to add partition %d (%s)" msgstr "Nu pot aloca un numãr de partiþie." #: libparted/arch/linux.c:2555 #, c-format msgid "" "Partition(s) %s on %s have been written, but we have been unable to inform " "the kernel of the change, probably because it/they are in use. As a result, " "the old partition(s) will remain in use. You should reboot now before " "making further changes." msgstr "" #: libparted/arch/linux.c:2681 #, fuzzy, c-format msgid "" "parted was unable to re-read the partition table on %s (%s). This means " "Linux won't know anything about the modifications you made. " msgstr "" "Kernel-ul nu a putut re-citi tabela de partiþii pe %s (%s). Aceasta " "înseamnã cã Linux nu va ºti nimic despre schimbãrile pe care le-aþi fãcut " "pânã când nu reboot-aþi. Ar trebui sã reboot-aþi computerul înainte de a " "face ceva cu %s." #: libparted/cs/geom.c:162 #, c-format msgid "Can't have the end before the start! (start sector=%jd length=%jd)" msgstr "" #: libparted/cs/geom.c:170 msgid "Can't have a partition outside the disk!" msgstr "" #: libparted/cs/geom.c:385 #, c-format msgid "Attempt to write sectors %ld-%ld outside of partition on %s." msgstr "" #: libparted/cs/geom.c:425 libparted/fs/linux_swap/linux_swap.c:488 msgid "checking for bad blocks" msgstr "" #: libparted/debug.c:97 #, c-format msgid "Backtrace has %d calls on stack:\n" msgstr "" #: libparted/debug.c:110 #, c-format msgid "Assertion (%s) at %s:%d in function %s() failed." msgstr "" #: libparted/disk.c:193 #, fuzzy, c-format msgid "%s: unrecognised disk label" msgstr "Nu pot deschide %s - etichetã de disc nerecunoscutã." #: libparted/disk.c:486 #, c-format msgid "" "This libparted doesn't have write support for %s. Perhaps it was compiled " "read-only." msgstr "" "Aceast libparted nu are suport pentru %s. Probabil cã a fost compilat numai-" "citire." #: libparted/disk.c:631 #, c-format msgid "Partition %d is %s, but the file system is %s." msgstr "Partiþia %d este %s, dar sistemul de fiºiere este %s." #: libparted/disk.c:841 msgid "cylinder_alignment" msgstr "" #: libparted/disk.c:847 #, fuzzy, c-format msgid "Unknown disk flag, %d." msgstr "Flag de partiþie necunoscut, %d." #: libparted/disk.c:1286 #, c-format msgid "%s disk labels do not support extended partitions." msgstr "Etichetele de disc %s nu suportã partiþii extinse." #: libparted/disk.c:1865 #, c-format msgid "%s disk labels don't support logical or extended partitions." msgstr "Etichetele de disc %s nu suportã partiþii logice sau extinse." #: libparted/disk.c:1878 msgid "Too many primary partitions." msgstr "Prea multe partiþii primare." #: libparted/disk.c:1887 #, c-format msgid "" "Can't add a logical partition to %s, because there is no extended partition." msgstr "" "Nu pot adãuga o partiþie logicã lui %s pentru cã aceasta nu este o partiþie " "extinsã." #: libparted/disk.c:1911 #, c-format msgid "Can't have more than one extended partition on %s." msgstr "Nu puteþi avea mai mult de o partiþie extinsã pe %s." #: libparted/disk.c:1921 msgid "Can't have logical partitions outside of the extended partition." msgstr "Nu puteþi avea partiþii logice în afara partiþiei extinse." #: libparted/disk.c:1946 #, c-format msgid "Can't have a logical partition outside of the extended partition on %s." msgstr "Nu puteþi avea o partiþie logicã în afara partiþiei extinse pe %s." #: libparted/disk.c:1956 libparted/disk.c:2015 libparted/disk.c:2193 msgid "Can't have overlapping partitions." msgstr "Nu puteþi avea partiþii care se suprapun." #: libparted/disk.c:1964 msgid "Can't have a primary partition inside an extended partition." msgstr "Nu puteþi avea o partiþie primarã într-o partiþie extinsã." #: libparted/disk.c:2395 msgid "metadata" msgstr "metadata" #: libparted/disk.c:2397 msgid "free" msgstr "liber" #: libparted/disk.c:2399 parted/ui.c:1193 parted/ui.c:1221 msgid "extended" msgstr "extinsã" #: libparted/disk.c:2401 parted/ui.c:1197 parted/ui.c:1225 msgid "logical" msgstr "logicã" #: libparted/disk.c:2403 parted/ui.c:1189 parted/ui.c:1217 msgid "primary" msgstr "primarã" #: libparted/disk.c:2419 msgid "boot" msgstr "boot" #: libparted/disk.c:2421 msgid "bios_grub" msgstr "" #: libparted/disk.c:2423 msgid "root" msgstr "root" #: libparted/disk.c:2425 msgid "swap" msgstr "swap" #: libparted/disk.c:2427 msgid "hidden" msgstr "ascunsã" #: libparted/disk.c:2429 msgid "raid" msgstr "raid" #: libparted/disk.c:2431 msgid "lvm" msgstr "lvm" #: libparted/disk.c:2433 msgid "lba" msgstr "lba" #: libparted/disk.c:2435 msgid "hp-service" msgstr "hp-service" #: libparted/disk.c:2437 msgid "palo" msgstr "" #: libparted/disk.c:2439 msgid "prep" msgstr "" #: libparted/disk.c:2441 msgid "msftres" msgstr "" #: libparted/disk.c:2443 msgid "atvrecv" msgstr "" #: libparted/disk.c:2445 msgid "diag" msgstr "" #: libparted/disk.c:2451 #, c-format msgid "Unknown partition flag, %d." msgstr "Flag de partiþie necunoscut, %d." #: libparted/exception.c:77 msgid "Information" msgstr "Informaþii" #: libparted/exception.c:78 msgid "Warning" msgstr "Avertisment" #: libparted/exception.c:79 msgid "Error" msgstr "Eroare" #: libparted/exception.c:80 msgid "Fatal" msgstr "Fatalã" #: libparted/exception.c:81 msgid "Bug" msgstr "Bug" #: libparted/exception.c:82 msgid "No Implementation" msgstr "" #: libparted/exception.c:86 msgid "Fix" msgstr "" #: libparted/exception.c:87 msgid "Yes" msgstr "" #: libparted/exception.c:88 msgid "No" msgstr "" #: libparted/exception.c:89 msgid "OK" msgstr "" #: libparted/exception.c:90 msgid "Retry" msgstr "" #: libparted/exception.c:91 msgid "Ignore" msgstr "" #: libparted/exception.c:92 msgid "Cancel" msgstr "" #: libparted/exception.c:132 #, c-format msgid "" "A bug has been detected in GNU Parted. Refer to the web site of parted " "http://www.gnu.org/software/parted/parted.html for more information of what " "could be useful for bug submitting! Please email a bug report to bug-" "parted@gnu.org containing at least the version (%s) and the following " "message: " msgstr "" #: libparted/filesys.c:462 msgid "Could not detect file system." msgstr "" #: libparted/filesys.c:473 msgid "The file system is bigger than its volume!" msgstr "" #: libparted/filesys.c:481 #, c-format msgid "Support for opening %s file systems is not implemented yet." msgstr "" #: libparted/filesys.c:523 #, c-format msgid "Support for creating %s file systems is not implemented yet." msgstr "" #: libparted/filesys.c:583 #, c-format msgid "Support for checking %s file systems is not implemented yet." msgstr "" #: libparted/filesys.c:649 msgid "raw block copying" msgstr "" #: libparted/filesys.c:660 msgid "growing file system" msgstr "" #: libparted/filesys.c:700 msgid "Can't copy onto an overlapping partition." msgstr "" #: libparted/filesys.c:722 #, c-format msgid "" "Direct support for copying file systems is not yet implemented for %s. " "However, support for resizing is implemented. Therefore, the file system " "can be copied if the new partition is at least as big as the old one. So, " "either shrink the partition you are trying to copy, or copy to a bigger " "partition." msgstr "" #: libparted/filesys.c:736 #, c-format msgid "Support for copying %s file systems is not implemented yet." msgstr "" #: libparted/filesys.c:774 #, c-format msgid "Support for resizing %s file systems is not implemented yet." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:315 msgid "creating" msgstr "" #: libparted/fs/reiserfs/reiserfs.c:402 msgid "The file system is in an invalid state. Perhaps it is mounted?" msgstr "" #: libparted/fs/reiserfs/reiserfs.c:410 msgid "The file system is in old (unresizeable) format." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:416 msgid "Invalid free blocks count. Run reiserfsck --check first." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:431 msgid "checking" msgstr "" #: libparted/fs/reiserfs/reiserfs.c:437 msgid "Reiserfs tree seems to be corrupted. Run reiserfsck --check first." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:449 msgid "" "The reiserfs file system passed a basic check. For a more comprehensive " "check, run reiserfsck --check." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:474 msgid "Sorry, can't move the start of reiserfs partitions yet." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:490 msgid "Couldn't reopen device abstraction layer for read/write." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:508 libparted/fs/ext2/ext2_resize.c:552 #: libparted/fs/hfs/hfs.c:250 libparted/fs/hfs/hfs.c:629 msgid "shrinking" msgstr "" #: libparted/fs/reiserfs/reiserfs.c:520 #, fuzzy msgid "expanding" msgstr "Avertisment" #: libparted/fs/reiserfs/reiserfs.c:592 msgid "Couldn't create reiserfs device abstraction handler." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:606 #, c-format msgid "Device is too small for %lu blocks." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:615 msgid "copying" msgstr "" #: libparted/fs/reiserfs/reiserfs.c:682 #, c-format msgid "Couldn't resolve symbol %s. Error: %s." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:704 msgid "GNU Parted found an invalid libreiserfs library." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:715 #, c-format msgid "" "GNU Parted has detected libreiserfs interface version mismatch. Found %d-" "%d, required %d. ReiserFS support will be disabled." msgstr "" #: libparted/labels/aix.c:103 msgid "Support for reading AIX disk labels is is not implemented yet." msgstr "" #: libparted/labels/aix.c:114 msgid "Support for writing AIX disk labels is is not implemented yet." msgstr "" #: libparted/labels/aix.c:127 msgid "" "Support for adding partitions to AIX disk labels is not implemented yet." msgstr "" #: libparted/labels/aix.c:137 msgid "" "Support for duplicating partitions in AIX disk labels is not implemented yet." msgstr "" #: libparted/labels/aix.c:155 msgid "" "Support for setting system type of partitions in AIX disk labels is not " "implemented yet." msgstr "" #: libparted/labels/aix.c:165 msgid "Support for setting flags in AIX disk labels is not implemented yet." msgstr "" #: libparted/labels/bsd.c:568 libparted/labels/dasd.c:783 #: libparted/labels/dos.c:2092 libparted/labels/dvh.c:788 #: libparted/labels/gpt.c:1750 libparted/labels/loop.c:245 #: libparted/labels/mac.c:1424 libparted/labels/pc98.c:749 #: libparted/labels/rdb.c:1051 libparted/labels/sun.c:821 msgid "Unable to satisfy all constraints on the partition." msgstr "Nu pot satisface toate constrângerile pe partiþie." #: libparted/labels/bsd.c:593 msgid "Unable to allocate a bsd disklabel slot." msgstr "Nu pot aloca loc pentru eticheta de disc bsd." #: libparted/labels/dasd.c:809 #, fuzzy msgid "Unable to allocate a dasd disklabel slot" msgstr "Nu pot aloca loc pentru eticheta de disc bsd." #: libparted/labels/dos.c:882 #, c-format msgid "Invalid partition table on %s -- wrong signature %x." msgstr "Tabela de partiþii invalidã pe %s -- semnãturã greºitã %x." #: libparted/labels/dos.c:910 #, c-format msgid "Invalid partition table - recursive partition on %s." msgstr "Tabela de partiþii invalidã - partiþie recursivã pe %s." #: libparted/labels/dos.c:1420 msgid "Extended partitions cannot be hidden on msdos disk labels." msgstr "" #: libparted/labels/dos.c:2074 msgid "Parted can't resize partitions managed by Windows Dynamic Disk." msgstr "" #: libparted/labels/dvh.c:201 #, c-format msgid "%s has no extended partition (volume header partition)." msgstr "" #: libparted/labels/dvh.c:327 msgid "Checksum is wrong, indicating the partition table is corrupt." msgstr "" #: libparted/labels/dvh.c:632 msgid "Only primary partitions can be root partitions." msgstr "" #: libparted/labels/dvh.c:646 msgid "Only primary partitions can be swap partitions." msgstr "" #: libparted/labels/dvh.c:660 msgid "Only logical partitions can be a boot file." msgstr "" #: libparted/labels/dvh.c:737 #, c-format msgid "" "failed to set dvh partition name to %s:\n" "Only logical partitions (boot files) have a name." msgstr "" #: libparted/labels/dvh.c:830 msgid "Too many primary partitions" msgstr "" #: libparted/labels/fdasd.c:98 msgid "open error" msgstr "" #: libparted/labels/fdasd.c:101 msgid "seek error" msgstr "" #: libparted/labels/fdasd.c:104 msgid "read error" msgstr "" #: libparted/labels/fdasd.c:110 msgid "ioctl() error" msgstr "" #: libparted/labels/fdasd.c:114 msgid "API version mismatch" msgstr "" #: libparted/labels/fdasd.c:118 #, fuzzy msgid "Unsupported disk type" msgstr "ped_device_new() Tip de dispozitiv nesuportat" #: libparted/labels/fdasd.c:122 msgid "Unsupported disk format" msgstr "" #: libparted/labels/fdasd.c:126 msgid "Disk is in use" msgstr "" #: libparted/labels/fdasd.c:130 msgid "Syntax error in config file" msgstr "" #: libparted/labels/fdasd.c:134 msgid "Volume label is corrupted" msgstr "" #: libparted/labels/fdasd.c:138 msgid "A data set name is corrupted" msgstr "" #: libparted/labels/fdasd.c:142 msgid "Memory allocation failed" msgstr "" #: libparted/labels/fdasd.c:146 msgid "Device verification failed" msgstr "" #: libparted/labels/fdasd.c:147 msgid "The specified device is not a valid DASD device" msgstr "" #: libparted/labels/fdasd.c:150 libparted/labels/vtoc.c:179 #, fuzzy msgid "Fatal error" msgstr "Fatalã" #: libparted/labels/fdasd.c:226 msgid "No room for volume label." msgstr "" #: libparted/labels/fdasd.c:234 #, fuzzy msgid "No room for partition info." msgstr "Nu a fost gãsitã nici o hartã de partiþie validã." #: libparted/labels/fdasd.c:704 msgid "Invalid VTOC." msgstr "" #: libparted/labels/fdasd.c:764 msgid "Could not retrieve API version." msgstr "" #: libparted/labels/fdasd.c:767 #, c-format msgid "" "The current API version '%d' doesn't match dasd driver API version '%d'!" msgstr "" #: libparted/labels/fdasd.c:804 msgid "Could not retrieve disk geometry information." msgstr "" #: libparted/labels/fdasd.c:808 msgid "Could not retrieve blocksize information." msgstr "" #: libparted/labels/fdasd.c:813 msgid "Could not retrieve disk information." msgstr "" #: libparted/labels/fdasd.c:818 msgid "This is not an ECKD disk! This disk type is not supported!" msgstr "" #: libparted/labels/gpt.c:485 #, c-format msgid "" "%s contains GPT signatures, indicating that it has a GPT table. However, it " "does not have a valid fake msdos partition table, as it should. Perhaps it " "was corrupted -- possibly by a program that doesn't understand GPT partition " "tables. Or perhaps you deleted the GPT table, and are now using an msdos " "partition table. Is this a GPT partition table?" msgstr "" "%s conþine semnãturi GPT, indicând cã are o tabelã GPT. Totuºi, aceasta nu " "are o tabelã de partiþii msdos falsã, aºa cum ar trebui. Probabil cã a fost " "coruptã -- posibil de un program ce nu înþelege tabelele de partiþii GPT. " "Sau probabil cã aþi ºters tabela GPT ºi folosiþi acum o tabelã de partiþii " "msdos. Este aceasta o tabelã de partiþii GPT?" #: libparted/labels/gpt.c:680 #, c-format msgid "" "The format of the GPT partition table is version %x, which is newer than " "what Parted can recognise. Please tell us! bug-parted@gnu.org" msgstr "" "Formatul tabelei de partiþii GPT este versiunea %x, care este mai nou decât " "ceea ce Parted poate recunoaºte. Vã rugãm spuneþi-ne! bug-parted@gnu.org" #: libparted/labels/gpt.c:727 #, c-format msgid "" "Not all of the space available to %s appears to be used, you can fix the GPT " "to use all of the space (an extra %llu blocks) or continue with the current " "setting? " msgstr "" #: libparted/labels/gpt.c:936 msgid "" "The backup GPT table is not at the end of the disk, as it should be. This " "might mean that another operating system believes the disk is smaller. Fix, " "by moving the backup to the end (and removing the old backup)?" msgstr "" "Tabela GPT de rezervã nu este la sfârºitul discului, cum ar trbui sã fie. " "Aceasta ar putea însemna cã un alt sistem de operare crede cã diacul este " "mai mic. Reparã, mutând rezerva (backup) la sfârºit (ºi ºterge vechea " "rezervã?" #: libparted/labels/gpt.c:960 msgid "" "Both the primary and backup GPT tables are corrupt. Try making a fresh " "table, and using Parted's rescue feature to recover partitions." msgstr "" "Atât tabela primarã cât ºi cea de rezervã sunt corupte. Încercaþi sã creaþi " "o tabelã nouã ºi sã folosiþi capabilitatea de salvare lui Parted pentru a " "recupera partiþiile." #: libparted/labels/gpt.c:971 #, fuzzy msgid "" "The backup GPT table is corrupt, but the primary appears OK, so that will be " "used." msgstr "" "Tabela primarã GPT este coruptã, dar rezerva pare OK, aºa cã va fi folositã " "rezerva." #: libparted/labels/gpt.c:983 msgid "" "The primary GPT table is corrupt, but the backup appears OK, so that will be " "used." msgstr "" "Tabela primarã GPT este coruptã, dar rezerva pare OK, aºa cã va fi folositã " "rezerva." #: libparted/labels/gpt.c:1007 msgid "primary partition table array CRC mismatch" msgstr "" #: libparted/labels/mac.c:185 #, c-format msgid "Invalid signature %x for Mac disk labels." msgstr "Semnãturã invalidã %x pentru etichetele de disc pentru Mac." #: libparted/labels/mac.c:232 msgid "Partition map has no partition map entry!" msgstr "Harta de partiþii nu are nici o intrare!" #: libparted/labels/mac.c:280 #, c-format msgid "%s is too small for a Mac disk label!" msgstr "%s este prea mic pentr o etichetã de disc pentru Mac." #: libparted/labels/mac.c:509 #, c-format msgid "Partition %d has an invalid signature %x." msgstr "Partiþia %d are o semnãturã invalidã %x." #: libparted/labels/mac.c:527 #, c-format msgid "Partition %d has an invalid length of 0 bytes!" msgstr "Partiþia %d are o lungime invalidã de 0 octeþi!" #: libparted/labels/mac.c:558 msgid "The data region doesn't start at the start of the partition." msgstr "Regiunea de date nu începe la începutul partiþiei." #: libparted/labels/mac.c:575 msgid "The boot region doesn't start at the start of the partition." msgstr "Regiunea de boot nu începe la începutul partiþiei." #: libparted/labels/mac.c:589 msgid "The partition's boot region doesn't occupy the entire partition." msgstr "Regiunea de boot a partiþiei nu ocupã întreaga partiþie." #: libparted/labels/mac.c:600 msgid "The partition's data region doesn't occupy the entire partition." msgstr "Regiunea de date a partiþiei nu ocupã întreaga partiþie." #: libparted/labels/mac.c:653 #, c-format msgid "" "Weird block size on device descriptor: %d bytes is not divisible by 512." msgstr "" "Dimensiune de bloc ciudatã pe descriptorul dispozitivului: %d octeþi nu este " "divizibil cu 512." #: libparted/labels/mac.c:666 #, c-format msgid "" "The driver descriptor says the physical block size is %d bytes, but Linux " "says it is %d bytes." msgstr "" "Descriptorul de driver spune cã dimensiunea fizicã a blocului este %d octeþi " "dar Linux spune cã este %d octeþi." #: libparted/labels/mac.c:720 msgid "No valid partition map found." msgstr "Nu a fost gãsitã nici o hartã de partiþie validã." #: libparted/labels/mac.c:782 #, c-format msgid "" "Conflicting partition map entry sizes! Entry 1 says it is %d, but entry %d " "says it is %d!" msgstr "" #: libparted/labels/mac.c:809 msgid "Weird! There are 2 partitions map entries!" msgstr "Ciudat! Existã 2 intrãri în harta partiþiei" #: libparted/labels/mac.c:1355 msgid "" "Changing the name of a root or swap partition will prevent Linux from " "recognising it as such." msgstr "" #: libparted/labels/mac.c:1459 msgid "Can't add another partition -- the partition map is too small!" msgstr "" #: libparted/labels/pc98.c:331 #, c-format msgid "Invalid partition table on %s." msgstr "Tabela de partiþii invalidã pe %s." #: libparted/labels/pc98.c:384 libparted/labels/pc98.c:462 #, c-format msgid "" "Partition %d isn't aligned to cylinder boundaries. This is still " "unsupported." msgstr "" #: libparted/labels/pc98.c:781 msgid "Can't add another partition." msgstr "" #: libparted/labels/pt-tools.c:125 #, c-format msgid "" "partition length of %jd sectors exceeds the %s-partition-table-imposed " "maximum of %jd" msgstr "" #: libparted/labels/pt-tools.c:138 #, c-format msgid "" "starting sector number, %jd exceeds the %s-partition-table-imposed maximum " "of %jd" msgstr "" #: libparted/labels/rdb.c:170 #, c-format msgid "%s : Bad checksum on block %llu of type %s." msgstr "" #: libparted/labels/rdb.c:486 #, c-format msgid "%s : Didn't find rdb block, should never happen." msgstr "" #: libparted/labels/rdb.c:572 #, c-format msgid "%s : Loop detected at block %d." msgstr "" #: libparted/labels/rdb.c:591 #, c-format msgid "%s : The %s list seems bad at block %s." msgstr "" #: libparted/labels/rdb.c:690 #, c-format msgid "%s : Failed to list bad blocks." msgstr "" #: libparted/labels/rdb.c:698 #, c-format msgid "%s : Failed to list partition blocks." msgstr "" #: libparted/labels/rdb.c:706 #, c-format msgid "%s : Failed to list file system blocks." msgstr "" #: libparted/labels/rdb.c:714 #, c-format msgid "%s : Failed to list boot blocks." msgstr "" #: libparted/labels/rdb.c:741 #, c-format msgid "Failed to write partition block at %d." msgstr "" #: libparted/labels/rdb.c:1079 msgid "Unable to allocate a partition number." msgstr "Nu pot aloca un numãr de partiþie." #: libparted/labels/sun.c:163 msgid "Corrupted Sun disk label detected." msgstr "" #: libparted/labels/sun.c:316 #, c-format msgid "" "The disk CHS geometry (%d,%d,%d) reported by the operating system does not " "match the geometry stored on the disk label (%d,%d,%d)." msgstr "" #: libparted/labels/sun.c:338 #, c-format msgid "The disk label describes a disk bigger than %s." msgstr "" #: libparted/labels/sun.c:510 #, c-format msgid "The disk has %d cylinders, which is greater than the maximum of 65536." msgstr "" #: libparted/labels/sun.c:853 msgid "" "The Whole Disk partition is the only available one left. Generally, it is " "not a good idea to overwrite this partition with a real one. Solaris may " "not be able to boot without it, and SILO (the sparc boot loader) appreciates " "it as well." msgstr "" #: libparted/labels/sun.c:868 msgid "Sun disk label is full." msgstr "" #: libparted/labels/vtoc.c:164 msgid "opening of device failed" msgstr "" #: libparted/labels/vtoc.c:168 msgid "seeking on device failed" msgstr "" #: libparted/labels/vtoc.c:172 msgid "writing to device failed" msgstr "" #: libparted/labels/vtoc.c:176 msgid "reading from device failed" msgstr "" #: libparted/labels/vtoc.c:277 libparted/labels/vtoc.c:284 msgid "Could not read volume label." msgstr "" #: libparted/labels/vtoc.c:303 libparted/labels/vtoc.c:308 msgid "Could not write volume label." msgstr "" #: libparted/labels/vtoc.c:414 msgid "Could not read VTOC labels." msgstr "" #: libparted/labels/vtoc.c:420 msgid "Could not read VTOC FMT1 DSCB." msgstr "" #: libparted/labels/vtoc.c:427 msgid "Could not read VTOC FMT4 DSCB." msgstr "" #: libparted/labels/vtoc.c:434 msgid "Could not read VTOC FMT5 DSCB." msgstr "" #: libparted/labels/vtoc.c:441 msgid "Could not read VTOC FMT7 DSCB." msgstr "" #: libparted/labels/vtoc.c:461 msgid "Could not write VTOC labels." msgstr "" #: libparted/labels/vtoc.c:467 msgid "Could not write VTOC FMT1 DSCB." msgstr "" #: libparted/labels/vtoc.c:474 msgid "Could not write VTOC FMT4 DSCB." msgstr "" #: libparted/labels/vtoc.c:481 msgid "Could not write VTOC FMT5 DSCB." msgstr "" #: libparted/labels/vtoc.c:488 msgid "Could not write VTOC FMT7 DSCB." msgstr "" #: libparted/libparted.c:237 libparted/libparted.c:252 msgid "Out of memory." msgstr "" #: libparted/unit.c:138 msgid "Cannot get unit size for special unit 'COMPACT'." msgstr "" #: libparted/unit.c:384 #, c-format msgid "\"%s\" has invalid syntax for locations." msgstr "" #: libparted/unit.c:392 #, c-format msgid "The maximum head value is %d." msgstr "" #: libparted/unit.c:399 #, c-format msgid "The maximum sector value is %d." msgstr "" #: libparted/unit.c:411 libparted/unit.c:543 #, c-format msgid "The location %s is outside of the device %s." msgstr "" #: libparted/unit.c:525 msgid "Invalid number." msgstr "" #: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:56 #: libparted/fs/amiga/asfs.c:70 #, fuzzy, c-format msgid "%s : Failed to allocate partition block\n" msgstr "Nu pot aloca un numãr de partiþie." #: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:69 #: libparted/fs/amiga/asfs.c:82 #, c-format msgid "%s : Failed to allocate block\n" msgstr "" #: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:74 #, c-format msgid "%s : Couldn't read boot block %llu\n" msgstr "" #: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:85 #: libparted/fs/amiga/asfs.c:88 libparted/fs/amiga/asfs.c:102 #, c-format msgid "%s : Couldn't read root block %llu\n" msgstr "" #: libparted/fs/amiga/amiga.c:72 #, c-format msgid "%s : Failed to allocate id list element\n" msgstr "" #: libparted/fs/amiga/amiga.c:189 #, c-format msgid "%s : Couldn't read block %llu\n" msgstr "" #: libparted/fs/amiga/amiga.c:202 #, c-format msgid "%s : Bad checksum on block %llu of type %s\n" msgstr "" #: libparted/fs/amiga/amiga.c:212 #, fuzzy, c-format msgid "%s : Couldn't write block %d\n" msgstr "%s în timpul scrierii pe %s" #: libparted/fs/amiga/amiga.c:278 #, c-format msgid "%s : Failed to allocate disk_specific rdb block\n" msgstr "" #: libparted/fs/amiga/amiga.c:289 #, c-format msgid "%s : Didn't find rdb block, should never happen\n" msgstr "" #: libparted/fs/amiga/amiga.c:318 #, c-format msgid "%s : Failed to read partition block %llu\n" msgstr "" #: libparted/fs/ext2/ext2.c:87 libparted/fs/ext2/ext2.c:112 msgid "Inconsistent group descriptors!" msgstr "" #: libparted/fs/ext2/ext2.c:91 libparted/fs/ext2/ext2.c:116 msgid "File system full!" msgstr "" #: libparted/fs/ext2/ext2.c:686 msgid "Invalid superblock. Are you sure this is an ext2 file system?" msgstr "" #: libparted/fs/ext2/ext2.c:700 libparted/fs/ext2/ext2_resize.c:658 msgid "File system has errors! You should run e2fsck." msgstr "" #: libparted/fs/ext2/ext2.c:711 msgid "" "File system was not cleanly unmounted! You should run e2fsck. Modifying an " "unclean file system could cause severe corruption." msgstr "" #: libparted/fs/ext2/ext2.c:731 msgid "" "File system has an incompatible feature enabled. Compatible features are " "has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs " "or debugfs to remove features." msgstr "" #: libparted/fs/ext2/ext2.c:745 msgid "Error allocating buffer cache." msgstr "" #: libparted/fs/ext2/ext2_inode_relocator.c:114 msgid "" "Found an inode with a incorrect link count. Better go run e2fsck first!" msgstr "" #: libparted/fs/ext2/ext2_inode_relocator.c:487 msgid "Not enough free inodes!" msgstr "" #: libparted/fs/ext2/ext2_resize.c:223 msgid "File system is too full to remove a group!" msgstr "" #: libparted/fs/ext2/ext2_resize.c:232 msgid "File system has too many allocated inodes to remove a group!" msgstr "" #: libparted/fs/ext2/ext2_resize.c:491 msgid "adding groups" msgstr "" #: libparted/fs/ext2/ext2_resize.c:528 #, c-format msgid "Your file system is too full to resize it to %i blocks. Sorry." msgstr "" #: libparted/fs/ext2/ext2_resize.c:538 #, c-format msgid "" "Your file system has too many occupied inodes to resize it to %i blocks. " "Sorry." msgstr "" #: libparted/fs/ext2/ext2_resize.c:666 msgid "File system was not cleanly unmounted! You should run e2fsck." msgstr "" #: libparted/fs/ext2/ext2_resize.c:675 msgid "" "The file system has the 'dir_index' feature enabled. Parted can only resize " "the file system if it disables this feature. You can enable it later by " "running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'." msgstr "" #: libparted/fs/ext2/ext2_resize.c:691 msgid "" "A resize operation on this file system will use EXPERIMENTAL code\n" "that MAY CORRUPT it (although no one has reported any such damage yet).\n" "You should at least backup your data first, and run 'e2fsck -f' afterwards." msgstr "" #: libparted/fs/ext2/ext2_block_relocator.c:198 msgid "Cross-linked blocks found! Better go run e2fsck first!" msgstr "" #: libparted/fs/ext2/ext2_block_relocator.c:537 #, c-format msgid "Block %i has no reference? Weird." msgstr "" #: libparted/fs/ext2/ext2_block_relocator.c:738 #, c-format msgid "Block %i shouldn't have been marked (%d, %d)!" msgstr "" #: libparted/fs/ext2/interface.c:226 msgid "" "The ext2 file system passed a basic check. For a more comprehensive check, " "use the e2fsck program." msgstr "" #: libparted/fs/ext2/interface.c:243 msgid "Sorry, can't move the start of ext2 partitions yet!" msgstr "" #: libparted/fs/ext2/ext2_buffer.c:82 msgid "Couldn't flush buffer cache!" msgstr "" #: libparted/fs/ext2/ext2_mkfs.c:161 msgid "writing per-group metadata" msgstr "" #: libparted/fs/ext2/ext2_mkfs.c:597 msgid "File system too small for ext2." msgstr "" #: libparted/fs/fat/calc.c:135 #, c-format msgid "" "You need %s of free disk space to shrink this partition to this size. " "Currently, only %s is free." msgstr "" #: libparted/fs/fat/context.c:56 #, c-format msgid "" "Cluster start delta = %d, which is not a multiple of the cluster size %d." msgstr "" #: libparted/fs/fat/fat.c:310 #, c-format msgid "Partition too big/small for a %s file system." msgstr "Partiþie prea mare/micã pentru un sistem de fiºiere %s." #: libparted/fs/fat/fat.c:476 msgid "" "The FATs don't match. If you don't know what this means, then select " "cancel, run scandisk on the file system, and then come back." msgstr "" #: libparted/fs/fat/fat.c:516 msgid "There are no possible configurations for this FAT type." msgstr "" #: libparted/fs/fat/fat.c:528 #, c-format msgid "" "File system doesn't have expected sizes for Windows to like it. Cluster " "size is %dk (%dk expected); number of clusters is %d (%d expected); size of " "FATs is %d sectors (%d expected)." msgstr "" #: libparted/fs/fat/fat.c:551 #, c-format msgid "" "File system is reporting the free space as %d clusters, not %d clusters." msgstr "" #: libparted/fs/fat/fat.c:876 msgid "" "GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT " "support will be disabled." msgstr "" #: libparted/fs/fat/resize.c:158 msgid "" "There's not enough room in the root directory for all of the files. Either " "cancel, or ignore to lose the files." msgstr "" #: libparted/fs/fat/resize.c:299 msgid "Error writing to the root directory." msgstr "" #: libparted/fs/fat/resize.c:488 msgid "If you leave your file system as FAT16, then you will have no problems." msgstr "" #: libparted/fs/fat/resize.c:491 msgid "" "If you convert to FAT16, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual)." msgstr "" #: libparted/fs/fat/resize.c:499 msgid "" "If you leave your file system as FAT32, then you will not introduce any new " "problems." msgstr "" #: libparted/fs/fat/resize.c:503 msgid "" "If you convert to FAT32, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual). Also, " "converting to FAT32 will make the file system unreadable by MS DOS, MS " "Windows 95a, and MS Windows NT." msgstr "" #: libparted/fs/fat/resize.c:517 #, c-format msgid "%s %s %s" msgstr "" #: libparted/fs/fat/resize.c:518 msgid "Would you like to use FAT32?" msgstr "" #: libparted/fs/fat/resize.c:549 libparted/fs/fat/resize.c:565 #, c-format msgid "%s %s" msgstr "" #: libparted/fs/fat/resize.c:550 msgid "" "The file system can only be resized to this size by converting to FAT16." msgstr "" #: libparted/fs/fat/resize.c:566 msgid "" "The file system can only be resized to this size by converting to FAT32." msgstr "" #: libparted/fs/fat/resize.c:579 msgid "" "GNU Parted cannot resize this partition to this size. We're working on it!" msgstr "" #: libparted/fs/fat/bootsector.c:49 libparted/fs/fat/bootsector.c:56 msgid "File system has an invalid signature for a FAT file system." msgstr "" #: libparted/fs/fat/bootsector.c:64 msgid "File system has an invalid sector size for a FAT file system." msgstr "" #: libparted/fs/fat/bootsector.c:71 msgid "File system has an invalid cluster size for a FAT file system." msgstr "" #: libparted/fs/fat/bootsector.c:78 msgid "" "File system has an invalid number of reserved sectors for a FAT file system." msgstr "" #: libparted/fs/fat/bootsector.c:85 msgid "File system has an invalid number of FATs." msgstr "" #: libparted/fs/fat/bootsector.c:139 #, c-format msgid "" "This file system has a logical sector size of %d. GNU Parted is known not " "to work properly with sector sizes other than 512 bytes." msgstr "" #: libparted/fs/fat/bootsector.c:164 #, c-format msgid "" "The file system's CHS geometry is (%d, %d, %d), which is invalid. The " "partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the " "file system's CHS geometry will be left unchanged. If you select Fix, the " "file system's CHS geometry will be set to match the partition table's CHS " "geometry." msgstr "" #: libparted/fs/fat/bootsector.c:213 msgid "FAT boot sector says logical sector size is 0. This is weird. " msgstr "" #: libparted/fs/fat/bootsector.c:219 msgid "FAT boot sector says there are no FAT tables. This is weird. " msgstr "" #: libparted/fs/fat/bootsector.c:225 msgid "FAT boot sector says clusters are 0 sectors. This is weird. " msgstr "" #: libparted/fs/fat/bootsector.c:235 msgid "File system is FAT12, which is unsupported." msgstr "" #: libparted/fs/fat/bootsector.c:411 #, c-format msgid "" "The information sector has the wrong signature (%x). Select cancel for now, " "and send in a bug report. If you're desperate, it's probably safe to ignore." msgstr "" #: libparted/fs/fat/count.c:144 #, c-format msgid "Bad directory entry for %s: first cluster is the end of file marker." msgstr "" #: libparted/fs/fat/count.c:157 #, c-format msgid "" "Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk." msgstr "" #: libparted/fs/fat/count.c:166 #, c-format msgid "" "Bad FAT: cluster %d outside file system in chain for %s. You should run " "dosfsck or scandisk." msgstr "" #: libparted/fs/fat/count.c:176 #, c-format msgid "" "Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or " "scandisk." msgstr "" #: libparted/fs/fat/count.c:195 #, c-format msgid "%s is %dk, but it has %d clusters (%dk)." msgstr "" #: libparted/fs/fat/count.c:258 #, c-format msgid "" "The file %s is marked as a system file. This means moving it could cause " "some programs to stop working." msgstr "" #: libparted/fs/fat/table.c:136 #, c-format msgid "" "FAT %d media %x doesn't match the boot sector's media %x. You should " "probably run scandisk." msgstr "" #: libparted/fs/fat/table.c:268 #, c-format msgid "fat_table_set: cluster %ld outside file system" msgstr "" #: libparted/fs/fat/table.c:300 #, c-format msgid "fat_table_get: cluster %ld outside file system" msgstr "" #: libparted/fs/fat/table.c:342 msgid "fat_table_alloc_cluster: no free clusters" msgstr "" #: libparted/fs/linux_swap/linux_swap.c:288 #, c-format msgid "Unrecognised old style linux swap signature '%10s'." msgstr "" #: libparted/fs/linux_swap/linux_swap.c:331 #, c-format msgid "Unrecognised new style linux swap signature '%10s'." msgstr "" #: libparted/fs/linux_swap/linux_swap.c:371 #, c-format msgid "Unrecognised swsusp linux swap signature '%9s'." msgstr "" #: libparted/fs/linux_swap/linux_swap.c:447 msgid "Too many bad pages." msgstr "" #: libparted/fs/hfs/advfs.c:121 libparted/fs/hfs/advfs_plus.c:121 #: libparted/fs/hfs/reloc.c:414 libparted/fs/hfs/reloc.c:508 #: libparted/fs/hfs/reloc_plus.c:538 libparted/fs/hfs/reloc_plus.c:656 #: libparted/fs/hfs/reloc_plus.c:769 msgid "The file system contains errors." msgstr "" #: libparted/fs/hfs/advfs_plus.c:285 msgid "Bad blocks could not be read." msgstr "" #: libparted/fs/hfs/cache.c:137 #, c-format msgid "" "Trying to register an extent starting at block 0x%X, but another one already " "exists at this position. You should check the file system!" msgstr "" #: libparted/fs/hfs/cache.c:214 #, c-format msgid "" "Trying to move an extent from block Ox%X to block Ox%X, but another one " "already exists at this position. This should not happen!" msgstr "" #: libparted/fs/hfs/file.c:143 #, c-format msgid "Could not update the extent cache for HFS file with CNID %X." msgstr "" #: libparted/fs/hfs/file.c:180 #, c-format msgid "Trying to read HFS file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/file.c:190 libparted/fs/hfs/file.c:220 #, c-format msgid "Could not find sector %lli of HFS file with CNID %X." msgstr "" #: libparted/fs/hfs/file.c:210 #, c-format msgid "Trying to write HFS file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/file_plus.c:157 #, c-format msgid "Could not update the extent cache for HFS+ file with CNID %X." msgstr "" #: libparted/fs/hfs/file_plus.c:202 #, c-format msgid "Trying to read HFS+ file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/file_plus.c:213 libparted/fs/hfs/file_plus.c:256 #, c-format msgid "Could not find sector %lli of HFS+ file with CNID %X." msgstr "" #: libparted/fs/hfs/file_plus.c:245 #, c-format msgid "Trying to write HFS+ file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/hfs.c:232 msgid "Sorry, HFS cannot be resized that way yet." msgstr "" #: libparted/fs/hfs/hfs.c:262 libparted/fs/hfs/hfs.c:641 msgid "Data relocation has failed." msgstr "" #: libparted/fs/hfs/hfs.c:281 msgid "Data relocation left some data in the end of the volume." msgstr "" #: libparted/fs/hfs/hfs.c:320 msgid "writing HFS Master Directory Block" msgstr "" #: libparted/fs/hfs/hfs.c:468 msgid "No valid HFS[+X] signature has been found while opening." msgstr "" #: libparted/fs/hfs/hfs.c:478 #, c-format msgid "Version %d of HFS+ isn't supported." msgstr "" #: libparted/fs/hfs/hfs.c:489 #, c-format msgid "Version %d of HFSX isn't supported." msgstr "" #: libparted/fs/hfs/hfs.c:672 msgid "Data relocation left some data at the end of the volume." msgstr "" #: libparted/fs/hfs/hfs.c:720 msgid "Error while writing the allocation file." msgstr "" #: libparted/fs/hfs/hfs.c:735 msgid "Error while writing the compatibility part of the allocation file." msgstr "" #: libparted/fs/hfs/hfs.c:750 msgid "writing HFS+ Volume Header" msgstr "" #: libparted/fs/hfs/hfs.c:850 msgid "An error occurred while looking for the mandatory bad blocks file." msgstr "" #: libparted/fs/hfs/hfs.c:904 msgid "" "It seems there is an error in the HFS wrapper: the bad blocks file doesn't " "contain the embedded HFS+ volume." msgstr "" #: libparted/fs/hfs/hfs.c:940 msgid "Sorry, HFS+ cannot be resized that way yet." msgstr "" #: libparted/fs/hfs/hfs.c:975 msgid "shrinking embedded HFS+ volume" msgstr "" #: libparted/fs/hfs/hfs.c:991 msgid "Resizing the HFS+ volume has failed." msgstr "" #: libparted/fs/hfs/hfs.c:998 msgid "shrinking HFS wrapper" msgstr "" #: libparted/fs/hfs/hfs.c:1007 msgid "Updating the HFS wrapper has failed." msgstr "" #: libparted/fs/hfs/hfs.c:1109 libparted/fs/hfs/hfs.c:1194 #, c-format msgid "" "This is not a real %s check. This is going to extract special low level " "files for debugging purposes." msgstr "" #: libparted/fs/hfs/journal.c:155 msgid "Bad block list header checksum." msgstr "" #: libparted/fs/hfs/journal.c:168 #, c-format msgid "" "Invalid size of a transaction block while replaying the journal (%i bytes)." msgstr "" #: libparted/fs/hfs/journal.c:260 msgid "" "Journal stored outside of the volume are not supported. Try to desactivate " "the journal and run Parted again." msgstr "" #: libparted/fs/hfs/journal.c:271 msgid "Journal offset or size is not multiple of the sector size." msgstr "" #: libparted/fs/hfs/journal.c:292 msgid "Incorrect magic values in the journal header." msgstr "" #: libparted/fs/hfs/journal.c:302 msgid "Journal size mismatch between journal info block and journal header." msgstr "" #: libparted/fs/hfs/journal.c:314 msgid "Some header fields are not multiple of the sector size." msgstr "" #: libparted/fs/hfs/journal.c:323 msgid "" "The sector size stored in the journal is not 512 bytes. Parted only " "supports 512 bytes length sectors." msgstr "" #: libparted/fs/hfs/journal.c:335 msgid "Bad journal checksum." msgstr "" #: libparted/fs/hfs/journal.c:353 msgid "" "The journal is not empty. Parted must replay the transactions before " "opening the file system. This will modify the file system." msgstr "" #: libparted/fs/hfs/journal.c:381 msgid "" "The volume header or the master directory block has changed while replaying " "the journal. You should restart Parted." msgstr "" #: libparted/fs/hfs/probe.c:51 #, c-format msgid "" "Parted can't use HFS file systems on disks with a sector size not equal to " "%d bytes." msgstr "" #: libparted/fs/hfs/reloc.c:151 libparted/fs/hfs/reloc_plus.c:155 msgid "An extent has not been relocated." msgstr "" #: libparted/fs/hfs/reloc.c:251 libparted/fs/hfs/reloc_plus.c:307 msgid "" "A reference to an extent comes from a place it should not. You should check " "the file system!" msgstr "" #: libparted/fs/hfs/reloc.c:381 msgid "This HFS volume has no catalog file. This is very unusual!" msgstr "" #: libparted/fs/hfs/reloc.c:475 msgid "This HFS volume has no extents overflow file. This is quite unusual!" msgstr "" #: libparted/fs/hfs/reloc.c:517 libparted/fs/hfs/reloc_plus.c:666 msgid "" "The extents overflow file should not contain its own extents! You should " "check the file system." msgstr "" #: libparted/fs/hfs/reloc.c:574 libparted/fs/hfs/reloc_plus.c:844 msgid "Could not cache the file system in memory." msgstr "" #: libparted/fs/hfs/reloc.c:635 libparted/fs/hfs/reloc_plus.c:905 msgid "Bad blocks list could not be loaded." msgstr "" #: libparted/fs/hfs/reloc.c:649 libparted/fs/hfs/reloc_plus.c:921 msgid "An error occurred during extent relocation." msgstr "" #: libparted/fs/hfs/reloc_plus.c:494 msgid "This HFS+ volume has no catalog file. This is very unusual!" msgstr "" #: libparted/fs/hfs/reloc_plus.c:617 msgid "This HFS+ volume has no extents overflow file. This is quite unusual!" msgstr "" #: parted/parted.c:123 msgid "displays this help message" msgstr "" #: parted/parted.c:124 msgid "lists partition layout on all block devices" msgstr "" #: parted/parted.c:125 msgid "displays machine parseable output" msgstr "" #: parted/parted.c:126 msgid "never prompts for user intervention" msgstr "" #: parted/parted.c:127 msgid "displays the version" msgstr "" #: parted/parted.c:128 #, fuzzy msgid "alignment for new partitions" msgstr "Nu mai pot crea nici o partiþie" #: parted/parted.c:140 msgid "" "NUMBER is the partition number used by Linux. On MS-DOS disk labels, the " "primary partitions number from 1 to 4, logical partitions from 5 onwards.\n" msgstr "" #: parted/parted.c:143 msgid "LABEL-TYPE is one of: " msgstr "" #: parted/parted.c:144 msgid "FLAG is one of: " msgstr "" #: parted/parted.c:145 msgid "UNIT is one of: " msgstr "" #: parted/parted.c:146 msgid "desired alignment: minimum or optimal" msgstr "" #: parted/parted.c:147 msgid "PART-TYPE is one of: primary, logical, extended\n" msgstr "" #: parted/parted.c:149 msgid "FS-TYPE is one of: " msgstr "" #: parted/parted.c:150 msgid "" "START and END are disk locations, such as 4GB or 10%. Negative values count " "from the end of the disk. For example, -1s specifies exactly the last " "sector.\n" msgstr "" #: parted/parted.c:153 msgid "STATE is one of: on, off\n" msgstr "" #: parted/parted.c:154 msgid "DEVICE is usually /dev/hda or /dev/sda\n" msgstr "" #: parted/parted.c:155 msgid "NAME is any word you want\n" msgstr "" #: parted/parted.c:156 msgid "The partition must have one of the following FS-TYPEs: " msgstr "" #: parted/parted.c:160 #, fuzzy msgid "" "Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n" "This program is free software, covered by the GNU General Public License.\n" "\n" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" msgstr "" "Copyright (C) 1998 - 2005 Free Software Foundation, Inc.\n" "Acest program e software liber, distribuit sub GNU General Public License.\n" "\n" "Acest program este distribui în speranþa cã va fi folositor, dar FÃRà NICI\n" "O GARANÞIE; chiar ºi fãrã garanþia implicitã de VANDABILITATE sau POTRIVIRE\n" "PENTRU UN SCOP ANUME. Vedeþi Licenþa Publicã Generalã GNU (GNU GPL) pentru\n" "detalii suplimentare.\n" #: parted/parted.c:208 #, c-format msgid "%0.f%%\t(time left %.2d:%.2d)" msgstr "" #: parted/parted.c:227 #, c-format msgid "" "Partition %s is being used. You must unmount it before you modify it with " "Parted." msgstr "" #: parted/parted.c:245 #, c-format msgid "Partition(s) on %s are being used." msgstr "" #: parted/parted.c:257 msgid "" "The existing file system will be destroyed and all data on the partition " "will be lost. Do you want to continue?" msgstr "" #: parted/parted.c:269 #, c-format msgid "" "The existing disk label on %s will be destroyed and all data on this disk " "will be lost. Do you want to continue?" msgstr "" #: parted/parted.c:487 #, c-format msgid "" "WARNING: you are attempting to use %s to operate on (%s) a file system.\n" "%s's file system manipulation code is not as robust as what you'll find in\n" "dedicated, file-system-specific packages like e2fsprogs. We recommend\n" "you use %s only to manipulate partition tables, whenever possible.\n" "Support for performing most operations on most types of file systems\n" "will be removed in an upcoming release.\n" msgstr "" #: parted/parted.c:508 parted/parted.c:702 parted/parted.c:1179 #: parted/parted.c:1263 parted/parted.c:1935 parted/parted.c:2016 #: parted/parted.c:2088 parted/parted.c:2122 msgid "Partition number?" msgstr "" #: parted/parted.c:551 msgid "Source device?" msgstr "" #: parted/parted.c:555 #, fuzzy msgid "Source partition number?" msgstr "Numãrul partiþiei destinaþie?" #: parted/parted.c:560 msgid "Can't copy an extended partition." msgstr "Nu puteþi copia o partiþie extinsã." #: parted/parted.c:566 msgid "Destination partition number?" msgstr "Numãrul partiþiei destinaþie?" #: parted/parted.c:655 msgid "New disk label type?" msgstr "Tip de etichetã pentru discul nou?" #: parted/parted.c:706 parted/parted.c:788 parted/parted.c:1000 msgid "File system type?" msgstr "" #: parted/parted.c:762 parted/parted.c:983 msgid "Partition type?" msgstr "" #: parted/parted.c:780 parted/parted.c:990 parted/parted.c:1266 msgid "Partition name?" msgstr "" #: parted/parted.c:794 parted/parted.c:1002 parted/parted.c:1194 #: parted/parted.c:1883 parted/parted.c:1944 msgid "Start?" msgstr "" #: parted/parted.c:796 parted/parted.c:1005 parted/parted.c:1197 #: parted/parted.c:1885 parted/parted.c:1946 msgid "End?" msgstr "" #: parted/parted.c:862 parted/parted.c:1066 #, c-format msgid "" "You requested a partition from %s to %s.\n" "The closest location we can manage is %s to %s.%s" msgstr "" #: parted/parted.c:867 parted/parted.c:1071 msgid "" "\n" "Is this still acceptable to you?" msgstr "" #: parted/parted.c:889 parted/parted.c:1093 msgid "The resulting partition is not properly aligned for best performance." msgstr "" #: parted/parted.c:995 msgid "An extended partition cannot hold a file system. Did you want mkpart?" msgstr "" #: parted/parted.c:1185 msgid "Can't move an extended partition." msgstr "Nu puteþi muta o partiþie extinsã." #: parted/parted.c:1214 msgid "Can't move a partition onto itself. Try using resize, perhaps?" msgstr "" "Nu puteþi muta o partiþie peste ea însãºi. încercaþi poate sã folosiþi " "redimensionare?" #: parted/parted.c:1360 #, c-format msgid "Minor: %d\n" msgstr "" #: parted/parted.c:1361 #, c-format msgid "Flags: %s\n" msgstr "" #: parted/parted.c:1362 #, c-format msgid "File System: %s\n" msgstr "" #: parted/parted.c:1363 msgid "Size: " msgstr "" #: parted/parted.c:1368 msgid "Minimum size: " msgstr "" #: parted/parted.c:1371 msgid "Maximum size: " msgstr "" #: parted/parted.c:1504 #, c-format msgid "Model: %s (%s)\n" msgstr "" #: parted/parted.c:1506 #, c-format msgid "Disk %s: %s\n" msgstr "" #: parted/parted.c:1507 #, c-format msgid "Sector size (logical/physical): %lldB/%lldB\n" msgstr "" #: parted/parted.c:1525 #, c-format msgid "BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s.\n" msgstr "" #: parted/parted.c:1534 #, fuzzy, c-format msgid "Partition Table: %s\n" msgstr "Tabela de partiþii invalidã pe %s." #: parted/parted.c:1549 parted/parted.c:1552 msgid "Number" msgstr "Numãr" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Start" msgstr "Start" #: parted/parted.c:1550 parted/parted.c:1553 msgid "End" msgstr "Sfârºit" #: parted/parted.c:1553 msgid "Size" msgstr "Dimensiune" #: parted/parted.c:1557 msgid "Type" msgstr "Tip" #: parted/parted.c:1559 msgid "File system" msgstr "Sistem de fiºiere" #: parted/parted.c:1562 msgid "Name" msgstr "Nume" #: parted/parted.c:1564 msgid "Flags" msgstr "" #: parted/parted.c:1621 msgid "Free Space" msgstr "" #: parted/parted.c:1782 #, c-format msgid "" "A %s %s partition was found at %s -> %s. Do you want to add it to the " "partition table?" msgstr "" #: parted/parted.c:1821 msgid "searching for file systems" msgstr "" #: parted/parted.c:2041 msgid "New device?" msgstr "" #: parted/parted.c:2086 msgid "alignment type(min/opt)" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d aligned\n" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d not aligned\n" msgstr "" #: parted/parted.c:2124 msgid "Flag to Invert?" msgstr "" #: parted/parted.c:2129 msgid "New state?" msgstr "" #: parted/parted.c:2166 msgid "Unit?" msgstr "" #: parted/parted.c:2348 msgid "align-check" msgstr "" #: parted/parted.c:2351 msgid "" "align-check TYPE N check partition N for TYPE(min|" "opt) alignment" msgstr "" #: parted/parted.c:2359 msgid "check" msgstr "" #: parted/parted.c:2362 #, fuzzy msgid "" "check NUMBER do a simple check on the file system" msgstr "rm NUMÃR ºterge partiþia NUMÃR" #: parted/parted.c:2368 msgid "cp" msgstr "cp" #: parted/parted.c:2371 msgid "" "cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another " "partition" msgstr "" #: parted/parted.c:2377 msgid "help" msgstr "help" #: parted/parted.c:2380 #, fuzzy msgid "" "help [COMMAND] print general help, or help on " "COMMAND" msgstr "" "help [COMANDA] afiºeazã informaþii generale, sau\n" " depre COMANDA" #: parted/parted.c:2386 msgid "mklabel" msgstr "mklabel" #: parted/parted.c:2386 #, fuzzy msgid "mktable" msgstr "mklabel" #: parted/parted.c:2389 #, fuzzy msgid "" "mklabel,mktable LABEL-TYPE create a new disklabel (partition " "table)" msgstr "" "mklabel TIP_ETICHETA creazã o nouã etichetã de disc\n" " (tabela de partiþii)" #: parted/parted.c:2395 msgid "mkfs" msgstr "mkfs" #: parted/parted.c:2398 #, fuzzy msgid "" "mkfs NUMBER FS-TYPE make a FS-TYPE file system on " "partition NUMBER" msgstr "" "mkfs NUMÃR TIP-SF creazã un sistem de fiºiere TIP-SF pe partiþia NUMÃR" #: parted/parted.c:2404 msgid "mkpart" msgstr "mkpart" #: parted/parted.c:2407 msgid "mkpart PART-TYPE [FS-TYPE] START END make a partition" msgstr "mkpart TIP-PART [TIP-SF] START SFÂRªIT creazã o partiþie" #: parted/parted.c:2413 #, fuzzy msgid "" "'mkpart' makes a partition without creating a new file system on the " "partition. FS-TYPE may be specified to set an appropriate partition ID.\n" msgstr "" "mkpart creazã o partiþie fãrã a crea un nou sistem de fiºiere pe acea " "partiþie. TIP-SF poate fi specificat pentru a seta un anumit ID de " "partiþie.\n" #: parted/parted.c:2418 msgid "mkpartfs" msgstr "mkpartfs" #: parted/parted.c:2421 msgid "" "mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system" msgstr "" "mkpartfs TIP-PART TIP-SF START SFÂRªIT creazã o partiþie cu un sistem de " "fiºiere" #: parted/parted.c:2427 msgid "move" msgstr "move" #: parted/parted.c:2430 #, fuzzy msgid "move NUMBER START END move partition NUMBER" msgstr "move NUMÃR START SFÂRªIT mutã partiþia NUMÃR" #: parted/parted.c:2435 msgid "name" msgstr "name" #: parted/parted.c:2438 #, fuzzy msgid "name NUMBER NAME name partition NUMBER as NAME" msgstr "name NUMÃR NUME numeºte patiþia NUMÃR ca NUME" #: parted/parted.c:2443 msgid "print" msgstr "print" #: parted/parted.c:2446 msgid "" "print [devices|free|list,all|NUMBER] display the partition table, " "available devices, free space, all found partitions, or a particular " "partition" msgstr "" #: parted/parted.c:2451 #, fuzzy msgid "" "Without arguments, 'print' displays the entire partition table. However with " "the following arguments it performs various other actions.\n" msgstr "" "Fãrã argumente, print afiºeazã întreaga tabelã de partiþii. Dacã este dat\n" "un numãr de partiþie, atunci este afiºatã informaþii detaliate despre acea\n" "partiþie.\n" #: parted/parted.c:2453 msgid " devices : display all active block devices\n" msgstr "" #: parted/parted.c:2454 msgid "" " free : display information about free unpartitioned space on the " "current block device\n" msgstr "" #: parted/parted.c:2456 msgid "" " list, all : display the partition tables of all active block devices\n" msgstr "" #: parted/parted.c:2457 msgid "" " NUMBER : display more detailed information about this particular " "partition\n" msgstr "" #: parted/parted.c:2462 msgid "quit" msgstr "quit" #: parted/parted.c:2465 #, fuzzy msgid "quit exit program" msgstr "quit ieºire din program" #: parted/parted.c:2470 msgid "rescue" msgstr "rescue" #: parted/parted.c:2473 #, fuzzy msgid "" "rescue START END rescue a lost partition near START " "and END" msgstr "" "rescue START SFARSIT salveazã o partiþie pierdutã lingã START ºi\n" " SFARSIT" #: parted/parted.c:2479 msgid "resize" msgstr "resize" #: parted/parted.c:2482 #, fuzzy msgid "" "resize NUMBER START END resize partition NUMBER and its " "file system" msgstr "" "resize NUMÃR START SFÂRªIT redimensioneazã partiþia NUMÃR ºi sistemul sãu " "de fiºiere" #: parted/parted.c:2490 msgid "rm" msgstr "rm" #: parted/parted.c:2493 #, fuzzy msgid "rm NUMBER delete partition NUMBER" msgstr "rm NUMÃR ºterge partiþia NUMÃR" #: parted/parted.c:2498 msgid "select" msgstr "select" #: parted/parted.c:2501 #, fuzzy msgid "select DEVICE choose the device to edit" msgstr "select UNITATE alege unitatea de editat" #: parted/parted.c:2506 msgid "set" msgstr "set" #: parted/parted.c:2509 #, fuzzy msgid "" "set NUMBER FLAG STATE change the FLAG on partition NUMBER" msgstr "set NUMÃR FLAG STARE schimbã un flag pe partiþia NUMÃR" #: parted/parted.c:2515 msgid "toggle" msgstr "" #: parted/parted.c:2518 #, fuzzy msgid "" "toggle [NUMBER [FLAG]] toggle the state of FLAG on " "partition NUMBER" msgstr "rm NUMÃR ºterge partiþia NUMÃR" #: parted/parted.c:2524 msgid "unit" msgstr "unitate" #: parted/parted.c:2527 #, fuzzy msgid "unit UNIT set the default unit to UNIT" msgstr "quit UNITATE seteazã unitatea implicitã ca UNITATE" #: parted/parted.c:2532 msgid "version" msgstr "" #: parted/parted.c:2535 msgid "" "version display the version number and " "copyright information of GNU Parted" msgstr "" #: parted/parted.c:2539 msgid "" "'version' displays copyright and version information corresponding to this " "copy of GNU Parted\n" msgstr "" #: parted/parted.c:2607 #, c-format msgid "Usage: %s [-hlmsv] [-a] [DEVICE [COMMAND [PARAMETERS]]...]\n" msgstr "" #: parted/parted.c:2651 msgid "No device found" msgstr "Nu a fost gãsitã nici o unitate" #: parted/parted.c:2688 msgid "WARNING: You are not superuser. Watch out for permissions." msgstr "" #: parted/parted.c:2726 #, fuzzy msgid "You may need to update /etc/fstab.\n" msgstr "Nu uitaþi sã actualizaþi /etc/fstab, dacã e necesar.\n" #: parted/ui.c:162 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n" msgstr "" #: parted/ui.c:165 #, fuzzy msgid "" "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n" "Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run " "in\n" "interactive mode.\n" msgstr "" "Folosire: parted [OPÞIUNE]... {UNITATE [COMANDà [PARAMETRII]...]...]\n" "Aplicã COMANDA cu PARAMETII la UNITATE. Dacã nu este datã nici o COMANDÃ,\n" "ruleazã în mod interactiv.\n" #: parted/ui.c:170 #, c-format msgid "" "\n" "\n" "You found a bug in GNU Parted! Here's what you have to do:\n" "\n" "Don't panic! The bug has most likely not affected any of your data.\n" "Help us to fix this bug by doing the following:\n" "\n" "Check whether the bug has already been fixed by checking\n" "the last version of GNU Parted that you can find at:\n" "\n" "\thttp://ftp.gnu.org/gnu/parted/\n" "\n" "Please check this version prior to bug reporting.\n" "\n" "If this has not been fixed yet or if you don't know how to check,\n" "please visit the GNU Parted website:\n" "\n" "\thttp://www.gnu.org/software/parted\n" "\n" "for further information.\n" "\n" "Your report should contain the version of this release (%s)\n" "along with the error message below, the output of\n" "\n" "\tparted DEVICE unit co print unit s print\n" "\n" "and the following history of commands you entered.\n" "Also include any additional information about your setup you\n" "consider important.\n" msgstr "" #: parted/ui.c:291 msgid "" "\n" "Command History:\n" msgstr "" #: parted/ui.c:354 msgid "" "\n" "Error: SEGV_MAPERR (Address not mapped to object)\n" msgstr "" #: parted/ui.c:360 msgid "" "\n" "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n" msgstr "" #: parted/ui.c:365 msgid "" "\n" "Error: A general SIGSEGV signal was encountered.\n" msgstr "" #: parted/ui.c:389 msgid "" "\n" "Error: FPE_INTDIV (Integer: divide by zero)" msgstr "" #: parted/ui.c:394 msgid "" "\n" "Error: FPE_INTOVF (Integer: overflow)" msgstr "" #: parted/ui.c:399 msgid "" "\n" "Error: FPE_FLTDIV (Float: divide by zero)" msgstr "" #: parted/ui.c:404 msgid "" "\n" "Error: FPE_FLTOVF (Float: overflow)" msgstr "" #: parted/ui.c:409 msgid "" "\n" "Error: FPE_FLTUND (Float: underflow)" msgstr "" #: parted/ui.c:414 msgid "" "\n" "Error: FPE_FLTRES (Float: inexact result)" msgstr "" #: parted/ui.c:419 msgid "" "\n" "Error: FPE_FLTINV (Float: invalid operation)" msgstr "" #: parted/ui.c:424 msgid "" "\n" "Error: FPE_FLTSUB (Float: subscript out of range)" msgstr "" #: parted/ui.c:429 msgid "" "\n" "Error: A general SIGFPE signal was encountered." msgstr "" #: parted/ui.c:453 msgid "" "\n" "Error: ILL_ILLOPC (Illegal Opcode)" msgstr "" #: parted/ui.c:458 msgid "" "\n" "Error: ILL_ILLOPN (Illegal Operand)" msgstr "" #: parted/ui.c:463 msgid "" "\n" "Error: ILL_ILLADR (Illegal addressing mode)" msgstr "" #: parted/ui.c:468 msgid "" "\n" "Error: ILL_ILLTRP (Illegal Trap)" msgstr "" #: parted/ui.c:473 msgid "" "\n" "Error: ILL_PRVOPC (Privileged Opcode)" msgstr "" #: parted/ui.c:478 msgid "" "\n" "Error: ILL_PRVREG (Privileged Register)" msgstr "" #: parted/ui.c:483 msgid "" "\n" "Error: ILL_COPROC (Coprocessor Error)" msgstr "" #: parted/ui.c:488 msgid "" "\n" "Error: ILL_BADSTK (Internal Stack Error)" msgstr "" #: parted/ui.c:493 msgid "" "\n" "Error: A general SIGILL signal was encountered." msgstr "" #: parted/ui.c:892 #, fuzzy, c-format msgid "invalid token: %s" msgstr "Nu pot deschide %s." #: parted/ui.c:1048 msgid "Expecting a partition number." msgstr "Aºtept un numãr de partiþie." #: parted/ui.c:1057 msgid "Partition doesn't exist." msgstr "Partiþia nu existã." #: parted/ui.c:1077 msgid "Expecting a file system type." msgstr "Aºtept un tip de sistem de fiºiere." #: parted/ui.c:1084 #, c-format msgid "Unknown file system type \"%s\"." msgstr "Tip de sistem de fiºiere necunoscut \"%s\"." #: parted/ui.c:1104 msgid "Expecting a disk label type." msgstr "Aºtept un tip de etichetã de disc." #: parted/ui.c:1202 msgid "Can't create any more partitions." msgstr "Nu mai pot crea nici o partiþie" #: parted/ui.c:1212 msgid "Expecting a partition type." msgstr "Aºtept un tip de partiþie." #: parted/ui.c:1360 msgid "on" msgstr "pornit" #: parted/ui.c:1361 msgid "off" msgstr "oprit" #: parted/ui.c:1378 msgid "optimal" msgstr "" #: parted/ui.c:1379 msgid "minimal" msgstr "" #: parted/ui.c:1512 msgid "OPTIONs:" msgstr "OPÞIUNI:" #: parted/ui.c:1517 msgid "COMMANDs:" msgstr "COMMENZI:" #: parted/ui.c:1520 #, c-format msgid "" "\n" "Report bugs to %s\n" msgstr "" #: parted/ui.c:1527 #, c-format msgid "Using %s\n" msgstr "Folosesc %s\n" #: parted/ui.c:1601 msgid "This command does not make sense in non-interactive mode.\n" msgstr "" #, fuzzy #~ msgid "Unable to determine the block size of this dasd" #~ msgstr "Nu pot determina dimensiunea lui %s (%s)." #~ msgid "" #~ "The kernel was unable to re-read the partition table on %s (%s). This " #~ "means Linux won't know anything about the modifications you made until " #~ "you reboot. You should reboot your computer before doing anything with " #~ "%s." #~ msgstr "" #~ "Kernel-ul nu a putut re-citi tabela de partiþii pe %s (%s). Aceasta " #~ "înseamnã cã Linux nu va ºti nimic despre schimbãrile pe care le-aþi fãcut " #~ "pânã când nu reboot-aþi. Ar trebui sã reboot-aþi computerul înainte de a " #~ "face ceva cu %s." #~ msgid "" #~ "The sector size on %s is %d bytes. Parted is known not to work properly " #~ "with drives with sector sizes other than %d bytes." #~ msgstr "" #~ "Dimensiunea sectorului pe %s este %d octeþi. Este ºtiut cã parted nu " #~ "funcþioneazã corespunzãtor cu discuri cu dimensiunea sectorului diferitã " #~ "de %d octeþi." #~ msgid "IDE" #~ msgstr "IDE" #~ msgid "File system?" #~ msgstr "Sistem de fiºiere?" #~ msgid "" #~ "print [NUMBER] display the partition table, or a partition" #~ msgstr "" #~ "print [NUMÃR] afiºeazã tabela de partiþii, sau o partiþie" #~ msgid "" #~ "You found a bug in GNU Parted. Please email a bug report to bug-" #~ "parted@gnu.org containing the version (%s), and the following message:\n" #~ msgstr "" #~ "Aþi gãsit un bug în GNU Parted. Vã rugãm sã trimiteþi un email raportând " #~ "acest bug (în limba englezã) la bug-parted@gnu.org conþinând versiunea " #~ "(%s) ºi urmãtorul mesaj:\n" parted-2.3/po/pt.gmo0000644000000000000000000003363211400005705011270 00000000000000Þ•ƒ4³L 2 <L ‰ ž ¼ Û %ñ  P* H{ DÄ  L d ) (« ?Ô 2G]NI¬ö ('PoŒ'£ËÑ&ð$,\Q=®?ì>,k|¶–=M;‹HÇÛ)IUO¥¬ Ì4Ø) 7Nil~ެÄÇÐ0ß.)?i)‚"¬ÏÕ3ï<#;`<œ;Ù<‚R/Õ^HdH­šö@‘@Ò7ƒKÏAã%-H5~›~Ÿ#),A\)e”™ ¤¬°µ½ÄÍÒ#×û)þ(06;@GJOVZo_6Ï A!H!%a!%‡!­!/Æ!ö!l "Yw"ZÑ",# 0#R:###.±#)à#H $FS$š$W£$Oû$K%1^%=%3Î%-&0&.H&w&&|&+£&Ï&"ã&]'@d'E¥'9ë'%(4(F(ÍL(C)=^)Wœ)ô) ý) *Ò*Zì*WG,Ÿ,$§, Ì,8×,1-B-$W-|-€-’-/°-!à-.. ...1L.-~.¬.*Ã.0î./'/;@/E|/BÂ/H0HN0I—0Šá03l1k 1] 2]j2®È2?w37·35ï3ž%4Ä4JÞ4 )565[<5˜5µ5‹¹5E6J6P6S6c6 6/‹6»6Á6 Æ6Ð6Ô6Û6ß6ä6ì6ó6ü67$7+73.7b7k7q7v7{7‚7…7Š7‘7•7FDSt@ sf3u[$\E|Z8aO Qr&x0w9z2N‚MqT,W`hJ!I;7>c*_. ^iCb-AL]g"BP'n<my#pKjYkv4~l %{ }:ƒU6V5XHoRe1?+=€()Gd/%s disk labels do not support extended partitions.%s disk labels don't support logical or extended partitions.%s during read on %s%s during seek for read on %s%s during seek for write on %s%s during write on %s%s is too small for a Mac disk label!ATARAID ControllerBad FAT: cluster %d is cross-linked for %s. You should run dosfsck or scandisk.Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk.Bad directory entry for %s: first cluster is the end of file marker.BugCOMMANDs:Can't add a logical partition to %s, because there is no extended partition.Can't add another partition.Can't copy onto an overlapping partition.Can't have a partition outside the disk!Can't move a partition onto itself. Try using resize, perhaps?Can't write to %s, because it is opened read-only.CancelChanging the name of a root or swap partition will prevent Linux from recognising it as such.Cluster start delta = %d, which is not a multiple of the cluster size %d.Compaq Smart ArrayCould not detect file system.Could not get identity of device %s - %sCould not stat device %s - %s.Couldn't flush buffer cache!DAC960 RAID controllerDEVICE is usually /dev/hda or /dev/sda ErrorError allocating buffer cache.Error initialising SCSI device %s - %sError opening %s: %sError writing to the root directory.FAT %d media %x doesn't match the boot sector's media %x. You should probably run scandisk.FAT boot sector says clusters are 0 sectors. This is weird. FAT boot sector says logical sector size is 0. This is weird. FAT boot sector says there are no FAT tables. This is weird. FLAG is one of: FS-TYPE is one of: FatalFile system doesn't have expected sizes for Windows to like it. Cluster size is %dk (%dk expected); number of clusters is %d (%d expected); size of FATs is %d sectors (%d expected).File system has an invalid sector size for a FAT file system.File system has an invalid signature for a FAT file system.File system is reporting the free space as %d clusters, not %d clusters.FixFlagsI2O ControllerIf you convert to FAT16, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual).If you convert to FAT32, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual). Also, converting to FAT32 will make the file system unreadable by MS DOS, MS Windows 95a, and MS Windows NT.If you leave your file system as FAT32, then you will not introduce any new problems.IgnoreInconsistent group descriptors!InformationInvalid partition table - recursive partition on %s.Invalid signature %x for Mac disk labels.LABEL-TYPE is one of: NAME is any word you want NoNo ImplementationNo device foundNo valid partition map found.Not enough free inodes!OKOPTIONs:Out of memory.PART-TYPE is one of: primary, logical, extended Partition %d has an invalid length of 0 bytes!Partition %d has an invalid signature %x.Partition doesn't exist.Partition map has no partition map entry!Partition(s) on %s are being used.RetrySTATE is one of: on, off Sorry, can't move the start of ext2 partitions yet!Support for checking %s file systems is not implemented yet.Support for copying %s file systems is not implemented yet.Support for creating %s file systems is not implemented yet.Support for opening %s file systems is not implemented yet.Support for resizing %s file systems is not implemented yet.The FATs don't match. If you don't know what this means, then select cancel, run scandisk on the file system, and then come back.The disk label describes a disk bigger than %s.The driver descriptor says the physical block size is %d bytes, but Linux says it is %d bytes.The file system can only be resized to this size by converting to FAT16.The file system can only be resized to this size by converting to FAT32.The information sector has the wrong signature (%x). Select cancel for now, and send in a bug report. If you're desperate, it's probably safe to ignore.The partition's boot region doesn't occupy the entire partition.The partition's data region doesn't occupy the entire partition.There are no possible configurations for this FAT type.This file system has a logical sector size of %d. GNU Parted is known not to work properly with sector sizes other than 512 bytes.Too many bad pages.Unable to open %s read-write (%s). %s has been opened read-only.UnknownWarningWeird block size on device descriptor: %d bytes is not divisible by 512.Would you like to use FAT32?YesYou should reinstall your boot loader before rebooting. Read section 4 of the Parted User documentation for more information.bootcheckcpdisplays the versiondisplays this help messageextendedfat_table_alloc_cluster: no free clustersfreehelphiddenlbalogicallvmmkfsmklabelmkpartmkpartfsmovenamenever prompts for user interventiononped_device_new() Unsupported device typeprimaryprintquitraidresizermrootselectsetswapProject-Id-Version: parted 1.4.20 Report-Msgid-Bugs-To: bug-parted@gnu.org POT-Creation-Date: 2010-05-28 20:30+0200 PO-Revision-Date: 2001-10-16 20:16+02:00 Last-Translator: Gonçalo Silva Language-Team: Portuguese Language: pt MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8-bit Rótulos de disco %s não suportam partições extendidas.Rótulos de disco %s não suportam partições lógicas ou extendidas.%s durante leitura em %s%s durante procura para leitura em %s%s durante procura para escrita em %s%s durante escrita em %s%s é muito pequeno para um rótulo de disco Mac!Controlador ATARAIDFAT estragada: o cluster %d tem uma referência cruzada para %s. Você deveria correr o dosfsck ou o scandisk.FAT estragada: cadeia não terminada para %s. Você deveria correr o dosfsck ou o scandisk.Entrada de diretório inválida para %s: o primeiro cluster é o fim do marcador de ficheiro.BugCOMANDOs:Não posso adicionar uma partição lógica em %s, pois não há uma partição extendida.Não posso adicionar outra partição.Não posso copiar para uma partição sobreposta.Não pode ter uma partição fora do disco!.Não posso mover a partição sobre ela mesma. Talvez queira redimensionar?Não posso gravar em %s, pois ela foi aberta como somente para leitura.CancelarMudar o nome de uma partição root ou swap irá impedir o Linux de reconhecê-la como tal.O cluster inicia em delta = %d, que não é um múltiplo do tamanho de cluster %d.Compaq Smart ArrayNão foi possível detectar o sistema de Ficheiros.Não foi possível obter a identificação do dispositivo %s - %sNão foi possível inicializar o dispositivo %s - %s.Não foi possível esvaziar a cache temporária!Controlador RAID DAC960DISPOSITIVO é usualmente /dev/hda ou /dev/sda ErroErro ao determinar o cache temporário.Erro inicializando dispositivo SCSI %s - %sErro abrindo %s: %sErro escrevendo no diretório raiz.FAT %d média %x não coincide com o sector de boot médio %x. Você deveria executar o scandisk.Sector de boot FAT diz que os clusters têm 0 setores. Estranho. Sector de boot FAT diz que o tamanho lógico do sector é 0. Estranho. Sector de boot FAT diz que não há tabelas FAT. Estranho. FLAG é um de: TIPO-FS é um de: FatalO sistema de ficheiros não tem o tamanho esperado para que o Windows o utilize. O tamanho do cluster é %dk (%dk esperado); número de clusters é %d (%d esperado); tamanho da FAT é %d sectores (%d esperado).Sistema de ficheiros tem um tamanho de sector inválido para um FAT.Sistema de ficheiros tem uma assinatura inválida para um FAT.O sistema de ficheiros reporta que o espaço livre é de %d clusters, não de %d clusters.ArranjarSinalizadorControlador I20Se você converter para FAT16, e o MS Windows está instalado nesta partição, deverá reinstalar o gestor de boot do MS Windows. Se quiser fazer isso, consulte o manual do Parted (ou o manual de sua distribuição).Se você converter para FAT32, e o MS Windows está instalado nesta partição, deverá reinstalar o gestor de boot do MS Windows. Se quiser fazer isso, consulte o manual do Parted (ou o manual de sua distribuição). Também, convertendo para FAT32 fará com que o sistema de ficheiros não seja mais reconhecido pelo MS DOS, Windows 95a, e MS Windows NT.Se deixar seu sistema de ficheiros como FAT32, você não terá mais nenhum problema novo.IgnorarDescritores de grupo inconsistentes!InformaçãoTabela de partições inválida - partição recursiva em %s.Assinatura inválida %x para rótulos de disco Mac.TIPO_ROTULO é um de:NAME é qualquer palavra que desejar NãoSem ImplementaçãoNenhum dispositivo encontradoNenhum mapa de partições válido foi encontrado.Não há inodes livres suficientes!OKOPÇÕES:Não há memória.TIPO-PART é um de: primary, logical, extended A partição %d tem um tamanho inválido de 0 bytes!A partição %d tem uma assinatura inválida %x.A partição não existe.Mapa de partições não tem nenhuma entrada!Partição(ões) em %s está(ão) a ser utilizada(s).RepetirESTADO é um de: on, off Desculpe, não posso mover o início de partições ext2 ainda!Suporte para verificar sistema de ficheiros não implementado para %s.Suporte para copiar sistema de ficheiros não implementado para %s.O suporte para criar sistema de ficheiros %s não foi implementado ainda.O suporte para abrir sistema de ficheiros %s não foi implementado ainda.Suporte para redimensionar sistema de ficheiros não implementado para %s.As FATs não estão iguais. Se não sabe o que isto significa, seleccione cancelar, execute o scandisk no sistema de ficheiros, depois volte.O rotulo do disco afirma que o disco é maior que %sO descritor do driver informa que o tamanho físico de bloco é %d bytes, mas o Linux informa que é %d bytes.O sistema de ficheiros só pode ser redimensionado para esse tamanho se convertido para FAT16.O sistema de ficheiros só pode ser redimensionado para esse tamanho se convertido para FAT32.O sector de informações tem uma assinatura inválida (%x). Selecione cancelar agora, e mande um relatório de bug. Se você está desesperado, é provável que seja seguro ignorar.A região de inicialização da partição não a ocupa inteiramente.A região de dados da partição não a ocupa inteiramente.Não há configurações possíveis para este tipo de FAT.Este sistema de ficheiros tem um tamanho de sector lógico de %d. O GNU Parted é conhecido por não funcionar corretamente com sectores diferentes de 512 bytes.Muitas páginas inválidas.Não posso abrir %s para gravação (%s). %s foi aberto somente para leitura.DesconhecidoAvisotamanho de bloco estranho no descritor de dispositivo: %d bytes não são divisíveis por 512.Você gostaria de usar FAT32?SimDeverá reinstalar seu gestor de boot antes de reinicializar. Leia a secção 4 da documentação do utilizador do Parted para mais informações.bootcheckcpmostra a versãomostra esta mensagem de ajudaextendidafat_table_alloc_cluster: não há clusters livreslivrehelpescondidalbalógicalvmmkfsmklabelmkpartmkpartfsmovenamenunca pede intervenção do utulizadoronped_device_new() Tipo de dispositivo não suportadoprimáriaprintquitraidresizermrootselectsetswapparted-2.3/po/gl.po0000644000000000000000000034532711400005705011112 00000000000000# Galician translation of GNU parted # Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc. # Jacobo Tarrío Barreiro , 2000, 2001, 2002. # msgid "" msgstr "" "Project-Id-Version: parted 1.6.4-pre2\n" "Report-Msgid-Bugs-To: bug-parted@gnu.org\n" "POT-Creation-Date: 2010-05-28 20:30+0200\n" "PO-Revision-Date: 2002-12-07 01:30+0100\n" "Last-Translator: Jacobo Tarrío Barreiro \n" "Language-Team: Galician \n" "Language: gl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" #: lib/argmatch.c:133 #, fuzzy, c-format msgid "invalid argument %s for %s" msgstr "Non se puido abrir %s." #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "" #: lib/argmatch.c:153 #, fuzzy, c-format msgid "Valid arguments are:" msgstr "Non se puido abrir %s." #: lib/closeout.c:112 libparted/labels/fdasd.c:107 msgid "write error" msgstr "" #: lib/error.c:181 #, fuzzy msgid "Unknown system error" msgstr "Tipo de sistema de ficheiros descoñecido." #: lib/getopt.c:527 lib/getopt.c:543 #, c-format msgid "%s: option '%s' is ambiguous\n" msgstr "" #: lib/getopt.c:576 lib/getopt.c:580 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:589 lib/getopt.c:594 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:637 lib/getopt.c:656 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "" #: lib/getopt.c:694 lib/getopt.c:697 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "Non se puido abrir %s - etiqueta de disco non recoñecida." #: lib/getopt.c:705 lib/getopt.c:708 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "Non se puido abrir %s - etiqueta de disco non recoñecida." #: lib/getopt.c:757 lib/getopt.c:760 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "" #: lib/getopt.c:810 lib/getopt.c:827 lib/getopt.c:1035 lib/getopt.c:1053 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "" #: lib/getopt.c:883 lib/getopt.c:899 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "" #: lib/getopt.c:923 lib/getopt.c:941 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:962 lib/getopt.c:980 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". If the catalog has no translation, #. locale_quoting_style quotes `like this', and #. clocale_quoting_style quotes "like this". #. #. For example, an American English Unicode locale should #. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and #. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION #. MARK). A British English Unicode locale should instead #. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) #. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. #. #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. #: lib/quotearg.c:272 msgid "`" msgstr "" #: lib/quotearg.c:273 msgid "'" msgstr "" #: lib/regcomp.c:134 msgid "Success" msgstr "" #: lib/regcomp.c:137 msgid "No match" msgstr "" #: lib/regcomp.c:140 msgid "Invalid regular expression" msgstr "" #: lib/regcomp.c:143 msgid "Invalid collation character" msgstr "" #: lib/regcomp.c:146 msgid "Invalid character class name" msgstr "" #: lib/regcomp.c:149 msgid "Trailing backslash" msgstr "" #: lib/regcomp.c:152 msgid "Invalid back reference" msgstr "" #: lib/regcomp.c:155 msgid "Unmatched [ or [^" msgstr "" #: lib/regcomp.c:158 msgid "Unmatched ( or \\(" msgstr "" #: lib/regcomp.c:161 msgid "Unmatched \\{" msgstr "" #: lib/regcomp.c:164 msgid "Invalid content of \\{\\}" msgstr "" #: lib/regcomp.c:167 msgid "Invalid range end" msgstr "" #: lib/regcomp.c:170 msgid "Memory exhausted" msgstr "" #: lib/regcomp.c:173 msgid "Invalid preceding regular expression" msgstr "" #: lib/regcomp.c:176 msgid "Premature end of regular expression" msgstr "" #: lib/regcomp.c:179 msgid "Regular expression too big" msgstr "" #: lib/regcomp.c:182 msgid "Unmatched ) or \\)" msgstr "" #: lib/regcomp.c:703 msgid "No previous regular expression" msgstr "" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "" #: lib/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "" #: lib/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "" #: lib/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" #: lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "" #: lib/xstrtol-error.c:63 #, fuzzy, c-format msgid "invalid %s%s argument `%s'" msgstr "Non se puido abrir %s." #: lib/xstrtol-error.c:68 #, fuzzy, c-format msgid "invalid suffix in %s%s argument `%s'" msgstr "Non se puido abrir %s." #: lib/xstrtol-error.c:72 #, fuzzy, c-format msgid "%s%s argument `%s' too large" msgstr "Non se puido abrir %s." #: libparted/arch/beos.c:245 msgid "Disk Image" msgstr "" #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277 #: libparted/arch/linux.c:1519 #, c-format msgid "Error opening %s: %s" msgstr "Erro ao abrir %s: %s" #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287 #: libparted/arch/linux.c:1530 #, c-format msgid "Unable to open %s read-write (%s). %s has been opened read-only." msgstr "" "Non se puido abrir %s para lectura-escritura (%s). Abriuse %s para só " "lectura." #: libparted/arch/beos.c:419 libparted/arch/linux.c:1688 #, c-format msgid "%s during seek for read on %s" msgstr "%s mentres se ía á posición da que ler en %s" #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564 #: libparted/arch/gnu.c:692 libparted/arch/linux.c:1648 #: libparted/arch/linux.c:1729 #, c-format msgid "%s during read on %s" msgstr "%s durante a lectura en %s" #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525 #: libparted/arch/linux.c:1805 #, c-format msgid "Can't write to %s, because it is opened read-only." msgstr "Non se puido escribir en %s, porque está aberto para só lectura." #: libparted/arch/beos.c:504 libparted/arch/linux.c:1830 #, c-format msgid "%s during seek for write on %s" msgstr "%s mentres se ía á posición na que escribir en %s" #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646 #: libparted/arch/gnu.c:723 libparted/arch/linux.c:1778 #: libparted/arch/linux.c:1872 libparted/arch/linux.c:1944 #, c-format msgid "%s during write on %s" msgstr "%s durante a escritura en %s" #: debug/clearfat/clearfat.c:62 partprobe/partprobe.c:137 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "" #: debug/clearfat/clearfat.c:66 #, c-format msgid "" "Usage: %s [OPTION]\n" " or: %s DEVICE MINOR\n" msgstr "" #: debug/clearfat/clearfat.c:69 msgid "" "Clear unused space on a FAT partition (a GNU Parted testing tool).\n" "\n" msgstr "" #: debug/clearfat/clearfat.c:73 msgid " --help display this help and exit\n" msgstr "" #: debug/clearfat/clearfat.c:74 msgid " --version output version information and exit\n" msgstr "" #: debug/clearfat/clearfat.c:76 partprobe/partprobe.c:154 #, c-format msgid "" "\n" "Report bugs to <%s>.\n" msgstr "" #: debug/clearfat/clearfat.c:284 #, c-format msgid "too few arguments" msgstr "" #: debug/clearfat/clearfat.c:289 #, fuzzy, c-format msgid "too many arguments" msgstr "Demasiadas páxinas incorrectas." #: debug/clearfat/clearfat.c:297 #, fuzzy, c-format msgid "invalid minor device number: %s" msgstr "Non se puido abrir %s." #: partprobe/partprobe.c:141 #, c-format msgid "Usage: %s [OPTION] [DEVICE]...\n" msgstr "" #: partprobe/partprobe.c:142 msgid "" "Inform the operating system about partition table changes.\n" "\n" " -d, --dry-run do not actually inform the operating system\n" " -s, --summary print a summary of contents\n" " -h, --help display this help and exit\n" " -v, --version output version information and exit\n" msgstr "" #: partprobe/partprobe.c:150 msgid "" "\n" "When no DEVICE is given, probe all partitions.\n" msgstr "" #: libparted/arch/gnu.c:110 #, c-format msgid "Unable to open %s." msgstr "Non se puido abrir %s." #: libparted/arch/gnu.c:130 msgid "Unable to probe store." msgstr "Non se puido sondea-lo armacén." #: libparted/arch/gnu.c:368 #, fuzzy msgid "" "The partition table cannot be re-read. This means you need to reboot before " "mounting any modified partitions. You also need to reinstall your boot " "loader before you reboot (which may require mounting modified partitions). " "It is impossible do both things! So you'll need to boot off a rescue disk, " "and reinstall your boot loader from the rescue disk. Read section 4 of the " "Parted User documentation for more information." msgstr "" "Non se puido volver le-la táboa de particións, así que ten que reiniciar " "antes de montar calquera partición modificada. Tamén precisa reinstala-lo " "cargador de inicio antes de reiniciar (o que pode precisa-la montaxe de " "particións modificadas). É imposible facer ámbalas dúas cousas, así que ha " "ter que arrincar cun disco de rescate, e reinstala-lo cargador de inicio " "dende o disco de rescate. Lea a sección 4 da documentación do Usuario de " "Parted para obter máis información." #: libparted/arch/gnu.c:385 #, fuzzy, c-format msgid "" "The partition table on %s cannot be re-read (%s). This means the Hurd knows " "nothing about any modifications you made. You should reboot your computer " "before doing anything with %s." msgstr "" "A táboa de particións de %s (%s). Isto quere dicir que Hurd non sabe nada " "das modificacións que Vd. fixo. Debería reinicia-lo seu ordenador antes de " "facer nada con %s." #: libparted/arch/gnu.c:396 parted/parted.c:2719 msgid "" "You should reinstall your boot loader before rebooting. Read section 4 of " "the Parted User documentation for more information." msgstr "" "Debería reinstala-lo cargador de inicio antes de reiniciar. Lea a sección 4 " "da documentación do Usuario de Parted para obter máis información." #: libparted/arch/gnu.c:788 #, c-format msgid "%s trying to sync %s to disk" msgstr "%s tentando sincronizar %s no disco" #: libparted/arch/linux.c:509 #, c-format msgid "Could not stat device %s - %s." msgstr "Non se puido facer \"stat\" sobre o dispositivo %s - %s." #: libparted/arch/linux.c:566 #, fuzzy, c-format msgid "Unable to determine the dm type of %s." msgstr "Non se puido determina-lo tamaño de %s (%s)" #: libparted/arch/linux.c:658 #, c-format msgid "" "Could not determine sector size for %s: %s.\n" "Using the default sector size (%lld)." msgstr "" #: libparted/arch/linux.c:679 #, c-format msgid "" "Could not determine physical sector size for %s.\n" "Using the logical sector size (%lld)." msgstr "" #: libparted/arch/linux.c:728 #, fuzzy, c-format msgid "Unable to determine the size of %s (%s)." msgstr "Non se puido determina-lo tamaño de %s (%s)" #: libparted/arch/linux.c:814 #, c-format msgid "Could not get identity of device %s - %s" msgstr "Non se puido obte-la identidade do dispositivo %s - %s" #: libparted/arch/linux.c:823 msgid "Generic IDE" msgstr "" #: libparted/arch/linux.c:844 #, c-format msgid "" "Device %s has multiple (%d) logical sectors per physical sector.\n" "GNU Parted supports this EXPERIMENTALLY for some special disk label/file " "system combinations, e.g. GPT and ext2/3.\n" "Please consult the web site for up-to-date information." msgstr "" #: libparted/arch/linux.c:1019 #, c-format msgid "Error initialising SCSI device %s - %s" msgstr "Erro ao inicializa-lo dispositivo SCSI %s - %s" #: libparted/arch/linux.c:1083 #, fuzzy, c-format msgid "" "The device %s has zero length, and can't possibly store a file system or " "partition table. Perhaps you selected the wrong device?" msgstr "" "O dispositivo %s ten lonxitude cero, e non pode armacenar un sistema de " "ficheiros ou táboa de particións. ¿Non seleccionaría un dispositivo " "equivocado?" #: libparted/arch/linux.c:1190 #, fuzzy, c-format msgid "" "Unable to determine geometry of file/device %s. You should not use Parted " "unless you REALLY know what you're doing!" msgstr "" "Non se puido determina-la xeometría do ficheiro/dispositivo. ¡Non debería " "usar Parted se non sabe DE VERDADE o que está a facer!" #: libparted/arch/linux.c:1250 msgid "Generic SD/MMC Storage Card" msgstr "" #: libparted/arch/linux.c:1303 msgid "DAC960 RAID controller" msgstr "Controladora RAID DAC960" #: libparted/arch/linux.c:1308 msgid "Promise SX8 SATA Device" msgstr "" #: libparted/arch/linux.c:1313 msgid "ATA over Ethernet Device" msgstr "" #: libparted/arch/linux.c:1319 msgid "IBM S390 DASD drive" msgstr "" #: libparted/arch/linux.c:1325 msgid "IBM iSeries Virtual DASD" msgstr "" #: libparted/arch/linux.c:1330 msgid "Compaq Smart Array" msgstr "Compaq Smart Array" #: libparted/arch/linux.c:1335 msgid "ATARAID Controller" msgstr "Controladora ATARAID" #: libparted/arch/linux.c:1340 msgid "I2O Controller" msgstr "Controladora I2O" #: libparted/arch/linux.c:1345 msgid "User-Mode Linux UBD" msgstr "" #: libparted/arch/linux.c:1358 #, c-format msgid "Linux device-mapper (%s)" msgstr "" #: libparted/arch/linux.c:1369 #, fuzzy msgid "Xen Virtual Block Device" msgstr "%s non é un dispositivo de bloques." #: libparted/arch/linux.c:1374 msgid "Unknown" msgstr "Descoñecido" #: libparted/arch/linux.c:1383 #, fuzzy msgid "Virtio Block Device" msgstr "%s non é un dispositivo de bloques." #: libparted/arch/linux.c:1388 msgid "Linux Software RAID Array" msgstr "" #: libparted/arch/linux.c:1395 msgid "ped_device_new() Unsupported device type" msgstr "ped_device_new() Tipo de dispositivo non soportado" #: libparted/arch/linux.c:1492 libparted/arch/linux.c:1564 #, fuzzy, c-format msgid "Error fsyncing/closing %s: %s" msgstr "Erro ao abrir %s: %s" #: libparted/arch/linux.c:1728 #, c-format msgid "end of file while reading %s" msgstr "" #: libparted/arch/linux.c:2365 #, fuzzy, c-format msgid "" "Error informing the kernel about modifications to partition %s -- %s. This " "means Linux won't know about any changes you made to %s until you reboot -- " "so you shouldn't mount it or use it in any way before rebooting." msgstr "" "Erro ao informar ao núcleo sobre as modificacións feitas na partición %s - " "%s. Isto quere dicir que Linux non ha saber nada dos cambios que lle fixo a " "%s ata que reinicie - así que non debería montalo ou empregalo de ningún " "xeito antes de reiniciar." #: libparted/arch/linux.c:2503 #, fuzzy, c-format msgid "Unable to determine the size and length of %s." msgstr "Non se puido determina-lo tamaño de %s (%s)" #: libparted/arch/linux.c:2528 #, fuzzy, c-format msgid "Failed to add partition %d (%s)" msgstr "Non se puido determinar se a partición está montada." #: libparted/arch/linux.c:2555 #, c-format msgid "" "Partition(s) %s on %s have been written, but we have been unable to inform " "the kernel of the change, probably because it/they are in use. As a result, " "the old partition(s) will remain in use. You should reboot now before " "making further changes." msgstr "" #: libparted/arch/linux.c:2681 #, fuzzy, c-format msgid "" "parted was unable to re-read the partition table on %s (%s). This means " "Linux won't know anything about the modifications you made. " msgstr "" "O kernel non puido volver le-la táboa de particións de %s (%s). Isto quere " "dicir que Linux non sabe nada das modificacións que Vd. fixo, ata que " "reinicie. Debería reinicia-lo seu ordenador antes de facer nada con %s." #: libparted/cs/geom.c:162 #, fuzzy, c-format msgid "Can't have the end before the start! (start sector=%jd length=%jd)" msgstr "¡A fin da partición non pode estar detrás do comezo!" #: libparted/cs/geom.c:170 msgid "Can't have a partition outside the disk!" msgstr "¡Non se pode ter unha partición fóra do disco!" #: libparted/cs/geom.c:385 #, fuzzy, c-format msgid "Attempt to write sectors %ld-%ld outside of partition on %s." msgstr "Tentáronse escribi-los sectores %ld-%ld fóra da partición en %s" #: libparted/cs/geom.c:425 libparted/fs/linux_swap/linux_swap.c:488 msgid "checking for bad blocks" msgstr "buscando os bloques erróneos" #: libparted/debug.c:97 #, c-format msgid "Backtrace has %d calls on stack:\n" msgstr "" #: libparted/debug.c:110 #, c-format msgid "Assertion (%s) at %s:%d in function %s() failed." msgstr "" #: libparted/disk.c:193 #, fuzzy, c-format msgid "%s: unrecognised disk label" msgstr "Non se puido abrir %s - etiqueta de disco non recoñecida." #: libparted/disk.c:486 #, c-format msgid "" "This libparted doesn't have write support for %s. Perhaps it was compiled " "read-only." msgstr "" "Esta versión de libparted non tén soporte de escritura para %s. Se cadra " "está compilado para só lectura." #: libparted/disk.c:631 #, fuzzy, c-format msgid "Partition %d is %s, but the file system is %s." msgstr "A partición %d ten %.3fMb, pero o sistema de ficheiros ten %.3fMb." #: libparted/disk.c:841 msgid "cylinder_alignment" msgstr "" #: libparted/disk.c:847 #, fuzzy, c-format msgid "Unknown disk flag, %d." msgstr "Modificador de particións descoñecido, %d." #: libparted/disk.c:1286 #, c-format msgid "%s disk labels do not support extended partitions." msgstr "As etiquetas de disco %s non soportan particións extendidas." #: libparted/disk.c:1865 #, c-format msgid "%s disk labels don't support logical or extended partitions." msgstr "" "As etiquetas de disco %s non soportan particións lóxicas ou extendidas." #: libparted/disk.c:1878 #, fuzzy msgid "Too many primary partitions." msgstr "Demasiadas particións primarias." #: libparted/disk.c:1887 #, c-format msgid "" "Can't add a logical partition to %s, because there is no extended partition." msgstr "" "Non se pode engadir unha partición lóxica a %s, porque non hai unha " "partición estendida." #: libparted/disk.c:1911 #, fuzzy, c-format msgid "Can't have more than one extended partition on %s." msgstr "Non se pode ter máis de unha partición estendida en %s" #: libparted/disk.c:1921 msgid "Can't have logical partitions outside of the extended partition." msgstr "Non se poden ter particións lóxicas fóra da partición estendida." #: libparted/disk.c:1946 #, c-format msgid "Can't have a logical partition outside of the extended partition on %s." msgstr "" "Non se pode ter unha partición lóxica fóra da partición estendida en %s." #: libparted/disk.c:1956 libparted/disk.c:2015 libparted/disk.c:2193 #, fuzzy msgid "Can't have overlapping partitions." msgstr "Non se poden ter particións solapándose." #: libparted/disk.c:1964 msgid "Can't have a primary partition inside an extended partition." msgstr "" "Non se pode ter unha partición primaria dentro dunha partición estendida." #: libparted/disk.c:2395 msgid "metadata" msgstr "metadatos" #: libparted/disk.c:2397 msgid "free" msgstr "libre" #: libparted/disk.c:2399 parted/ui.c:1193 parted/ui.c:1221 msgid "extended" msgstr "estendida" #: libparted/disk.c:2401 parted/ui.c:1197 parted/ui.c:1225 msgid "logical" msgstr "lóxica" #: libparted/disk.c:2403 parted/ui.c:1189 parted/ui.c:1217 msgid "primary" msgstr "primaria" #: libparted/disk.c:2419 msgid "boot" msgstr "inicio" #: libparted/disk.c:2421 msgid "bios_grub" msgstr "" #: libparted/disk.c:2423 msgid "root" msgstr "raiz" #: libparted/disk.c:2425 msgid "swap" msgstr "intercambio" #: libparted/disk.c:2427 msgid "hidden" msgstr "oculta" #: libparted/disk.c:2429 msgid "raid" msgstr "raid" #: libparted/disk.c:2431 msgid "lvm" msgstr "lvm" #: libparted/disk.c:2433 msgid "lba" msgstr "lba" #: libparted/disk.c:2435 msgid "hp-service" msgstr "hp-service" #: libparted/disk.c:2437 msgid "palo" msgstr "" #: libparted/disk.c:2439 msgid "prep" msgstr "" #: libparted/disk.c:2441 msgid "msftres" msgstr "" #: libparted/disk.c:2443 msgid "atvrecv" msgstr "" #: libparted/disk.c:2445 msgid "diag" msgstr "" #: libparted/disk.c:2451 #, fuzzy, c-format msgid "Unknown partition flag, %d." msgstr "Modificador de particións descoñecido, %d." #: libparted/exception.c:77 msgid "Information" msgstr "Información" #: libparted/exception.c:78 msgid "Warning" msgstr "Aviso" #: libparted/exception.c:79 msgid "Error" msgstr "Erro" #: libparted/exception.c:80 msgid "Fatal" msgstr "Moi grave" #: libparted/exception.c:81 msgid "Bug" msgstr "Erro" #: libparted/exception.c:82 msgid "No Implementation" msgstr "Sen Implementación" #: libparted/exception.c:86 msgid "Fix" msgstr "Arranxar" #: libparted/exception.c:87 msgid "Yes" msgstr "Si" #: libparted/exception.c:88 msgid "No" msgstr "Non" #: libparted/exception.c:89 msgid "OK" msgstr "Aceptar" #: libparted/exception.c:90 msgid "Retry" msgstr "Reintentar" #: libparted/exception.c:91 msgid "Ignore" msgstr "Ignorar" #: libparted/exception.c:92 msgid "Cancel" msgstr "Cancelar" #: libparted/exception.c:132 #, fuzzy, c-format msgid "" "A bug has been detected in GNU Parted. Refer to the web site of parted " "http://www.gnu.org/software/parted/parted.html for more information of what " "could be useful for bug submitting! Please email a bug report to bug-" "parted@gnu.org containing at least the version (%s) and the following " "message: " msgstr "" "Detectouse un erro en GNU parted. Por favor, envíe un informe de erro a bug-" "parted@gnu.org que conteña a versión (%s) e a seguinte mensaxe:" #: libparted/filesys.c:462 msgid "Could not detect file system." msgstr "Non se pode detectar un sistema de ficheiros." #: libparted/filesys.c:473 #, fuzzy msgid "The file system is bigger than its volume!" msgstr "O sistema de ficheiros é maior có seu volume." #: libparted/filesys.c:481 #, c-format msgid "Support for opening %s file systems is not implemented yet." msgstr "" "O soporte de apertura de sistemas de ficheiros %s non está implementado " "aínda." #: libparted/filesys.c:523 #, c-format msgid "Support for creating %s file systems is not implemented yet." msgstr "" "O soporte de creación de sistemas de ficheiros %s non está implementado " "aínda." #: libparted/filesys.c:583 #, c-format msgid "Support for checking %s file systems is not implemented yet." msgstr "" "O soporte de comprobación de sistemas de ficheiros %s non está implementado " "aínda." #: libparted/filesys.c:649 msgid "raw block copying" msgstr "copiando bloque a bloque" #: libparted/filesys.c:660 msgid "growing file system" msgstr "aumentando o sistema de ficheiros" #: libparted/filesys.c:700 msgid "Can't copy onto an overlapping partition." msgstr "Non se pode copiar nunha partición que se solapa." #: libparted/filesys.c:722 #, fuzzy, c-format msgid "" "Direct support for copying file systems is not yet implemented for %s. " "However, support for resizing is implemented. Therefore, the file system " "can be copied if the new partition is at least as big as the old one. So, " "either shrink the partition you are trying to copy, or copy to a bigger " "partition." msgstr "" "O soporte directo de copia de sistemas de ficheiros non está implementado " "aínda para %s. Nembargantes, o soporte para o cambio de tamaño sí está. Polo " "tanto, pódese copia-lo sistema de ficheiros se a partición nova é alomenos " "tan grande coma a vella. Así que, ou ben reduza a partición que quere " "copiar, ou copie nunha partición máis grande." #: libparted/filesys.c:736 #, c-format msgid "Support for copying %s file systems is not implemented yet." msgstr "" "O soporte de copia de sistemas de ficheiros %s non está implementado aínda." #: libparted/filesys.c:774 #, c-format msgid "Support for resizing %s file systems is not implemented yet." msgstr "" "O soporte de modificación do tamaño de sistemas de ficheiros %s non está " "implementado aínda." #: libparted/fs/reiserfs/reiserfs.c:315 msgid "creating" msgstr "" #: libparted/fs/reiserfs/reiserfs.c:402 #, fuzzy msgid "The file system is in an invalid state. Perhaps it is mounted?" msgstr "" "O sistema de ficheiros ten unha sinatura incorrecta para un sistema de " "ficheiros FAT." #: libparted/fs/reiserfs/reiserfs.c:410 msgid "The file system is in old (unresizeable) format." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:416 msgid "Invalid free blocks count. Run reiserfsck --check first." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:431 #, fuzzy msgid "checking" msgstr "check" #: libparted/fs/reiserfs/reiserfs.c:437 msgid "Reiserfs tree seems to be corrupted. Run reiserfsck --check first." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:449 #, fuzzy msgid "" "The reiserfs file system passed a basic check. For a more comprehensive " "check, run reiserfsck --check." msgstr "" "O sistema de ficheiros ext2 pasou unha comprobación básica. Para unha " "comprobación máis a fondo, empregue o programa e2fsck." #: libparted/fs/reiserfs/reiserfs.c:474 #, fuzzy msgid "Sorry, can't move the start of reiserfs partitions yet." msgstr "¡Síntoo, ainda non podo move-lo principio das particións ext2!" #: libparted/fs/reiserfs/reiserfs.c:490 msgid "Couldn't reopen device abstraction layer for read/write." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:508 libparted/fs/ext2/ext2_resize.c:552 #: libparted/fs/hfs/hfs.c:250 libparted/fs/hfs/hfs.c:629 msgid "shrinking" msgstr "encollendo" #: libparted/fs/reiserfs/reiserfs.c:520 #, fuzzy msgid "expanding" msgstr "Aviso" #: libparted/fs/reiserfs/reiserfs.c:592 msgid "Couldn't create reiserfs device abstraction handler." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:606 #, fuzzy, c-format msgid "Device is too small for %lu blocks." msgstr "O sistema de ficheiros é pequeno de máis para ext2." #: libparted/fs/reiserfs/reiserfs.c:615 msgid "copying" msgstr "" #: libparted/fs/reiserfs/reiserfs.c:682 #, c-format msgid "Couldn't resolve symbol %s. Error: %s." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:704 msgid "GNU Parted found an invalid libreiserfs library." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:715 #, c-format msgid "" "GNU Parted has detected libreiserfs interface version mismatch. Found %d-" "%d, required %d. ReiserFS support will be disabled." msgstr "" #: libparted/labels/aix.c:103 #, fuzzy msgid "Support for reading AIX disk labels is is not implemented yet." msgstr "" "O soporte de creación de sistemas de ficheiros %s non está implementado " "aínda." #: libparted/labels/aix.c:114 #, fuzzy msgid "Support for writing AIX disk labels is is not implemented yet." msgstr "" "O soporte de creación de sistemas de ficheiros %s non está implementado " "aínda." #: libparted/labels/aix.c:127 #, fuzzy msgid "" "Support for adding partitions to AIX disk labels is not implemented yet." msgstr "" "O soporte de creación de sistemas de ficheiros %s non está implementado " "aínda." #: libparted/labels/aix.c:137 #, fuzzy msgid "" "Support for duplicating partitions in AIX disk labels is not implemented yet." msgstr "" "O soporte de creación de sistemas de ficheiros %s non está implementado " "aínda." #: libparted/labels/aix.c:155 #, fuzzy msgid "" "Support for setting system type of partitions in AIX disk labels is not " "implemented yet." msgstr "" "O soporte de creación de sistemas de ficheiros %s non está implementado " "aínda." #: libparted/labels/aix.c:165 #, fuzzy msgid "Support for setting flags in AIX disk labels is not implemented yet." msgstr "" "O soporte de creación de sistemas de ficheiros %s non está implementado " "aínda." #: libparted/labels/bsd.c:568 libparted/labels/dasd.c:783 #: libparted/labels/dos.c:2092 libparted/labels/dvh.c:788 #: libparted/labels/gpt.c:1750 libparted/labels/loop.c:245 #: libparted/labels/mac.c:1424 libparted/labels/pc98.c:749 #: libparted/labels/rdb.c:1051 libparted/labels/sun.c:821 msgid "Unable to satisfy all constraints on the partition." msgstr "Non se puideron satisfacer tódalas restriccións da partición." #: libparted/labels/bsd.c:593 #, fuzzy msgid "Unable to allocate a bsd disklabel slot." msgstr "Non se puido reservar unha rañura de etiqueta de disco BSD" #: libparted/labels/dasd.c:809 #, fuzzy msgid "Unable to allocate a dasd disklabel slot" msgstr "Non se puido reservar unha rañura de etiqueta de disco BSD" #: libparted/labels/dos.c:882 #, fuzzy, c-format msgid "Invalid partition table on %s -- wrong signature %x." msgstr "Táboa de particións incorrecta en %s - sinatura %x incorrecta" #: libparted/labels/dos.c:910 #, c-format msgid "Invalid partition table - recursive partition on %s." msgstr "Táboa de particións incorrecta - partición recursiva en %s." #: libparted/labels/dos.c:1420 #, fuzzy msgid "Extended partitions cannot be hidden on msdos disk labels." msgstr "" "As particións ext2 non poden estar ocultas en etiquetas de disco msdos." #: libparted/labels/dos.c:2074 msgid "Parted can't resize partitions managed by Windows Dynamic Disk." msgstr "" #: libparted/labels/dvh.c:201 #, fuzzy, c-format msgid "%s has no extended partition (volume header partition)." msgstr "" "%s non ten unha partición estendida (partición de cabeceira de volume). Se " "ignora, hanse borrar os volumes de inicio." #: libparted/labels/dvh.c:327 msgid "Checksum is wrong, indicating the partition table is corrupt." msgstr "" "A suma de comprobación é incorrecta, o que indica que a táboa de partición " "está corrompida." #: libparted/labels/dvh.c:632 msgid "Only primary partitions can be root partitions." msgstr "Só as particións primarias poden ser particións raiz." #: libparted/labels/dvh.c:646 msgid "Only primary partitions can be swap partitions." msgstr "Só as particións primarias poden ser particións de intercambio." #: libparted/labels/dvh.c:660 msgid "Only logical partitions can be a boot file." msgstr "Só as particións lóxicas poden ser un ficheiro de inicio." #: libparted/labels/dvh.c:737 #, fuzzy, c-format msgid "" "failed to set dvh partition name to %s:\n" "Only logical partitions (boot files) have a name." msgstr "Só as particións lóxicas (ficheiros de inicio) poden ter un nome." #: libparted/labels/dvh.c:830 msgid "Too many primary partitions" msgstr "Demasiadas particións primarias." #: libparted/labels/fdasd.c:98 msgid "open error" msgstr "" #: libparted/labels/fdasd.c:101 msgid "seek error" msgstr "" #: libparted/labels/fdasd.c:104 msgid "read error" msgstr "" #: libparted/labels/fdasd.c:110 msgid "ioctl() error" msgstr "" #: libparted/labels/fdasd.c:114 msgid "API version mismatch" msgstr "" #: libparted/labels/fdasd.c:118 #, fuzzy msgid "Unsupported disk type" msgstr "ped_device_new() Tipo de dispositivo non soportado" #: libparted/labels/fdasd.c:122 msgid "Unsupported disk format" msgstr "" #: libparted/labels/fdasd.c:126 msgid "Disk is in use" msgstr "" #: libparted/labels/fdasd.c:130 msgid "Syntax error in config file" msgstr "" #: libparted/labels/fdasd.c:134 msgid "Volume label is corrupted" msgstr "" #: libparted/labels/fdasd.c:138 msgid "A data set name is corrupted" msgstr "" #: libparted/labels/fdasd.c:142 msgid "Memory allocation failed" msgstr "" #: libparted/labels/fdasd.c:146 msgid "Device verification failed" msgstr "" #: libparted/labels/fdasd.c:147 msgid "The specified device is not a valid DASD device" msgstr "" #: libparted/labels/fdasd.c:150 libparted/labels/vtoc.c:179 #, fuzzy msgid "Fatal error" msgstr "Moi grave" #: libparted/labels/fdasd.c:226 msgid "No room for volume label." msgstr "" #: libparted/labels/fdasd.c:234 #, fuzzy msgid "No room for partition info." msgstr "Non se atopou un mapa de particións válido." #: libparted/labels/fdasd.c:704 msgid "Invalid VTOC." msgstr "" #: libparted/labels/fdasd.c:764 msgid "Could not retrieve API version." msgstr "" #: libparted/labels/fdasd.c:767 #, c-format msgid "" "The current API version '%d' doesn't match dasd driver API version '%d'!" msgstr "" #: libparted/labels/fdasd.c:804 #, fuzzy msgid "Could not retrieve disk geometry information." msgstr "Non se puido le-la xeometría de %s - %s." #: libparted/labels/fdasd.c:808 msgid "Could not retrieve blocksize information." msgstr "" #: libparted/labels/fdasd.c:813 msgid "Could not retrieve disk information." msgstr "" #: libparted/labels/fdasd.c:818 msgid "This is not an ECKD disk! This disk type is not supported!" msgstr "" #: libparted/labels/gpt.c:485 #, fuzzy, c-format msgid "" "%s contains GPT signatures, indicating that it has a GPT table. However, it " "does not have a valid fake msdos partition table, as it should. Perhaps it " "was corrupted -- possibly by a program that doesn't understand GPT partition " "tables. Or perhaps you deleted the GPT table, and are now using an msdos " "partition table. Is this a GPT partition table?" msgstr "" "%s contén sinaturas GPT, o que indica que ten unha táboa GPT. Nembargantes, " "non ten unha táboa de partición msdos falsa válida, tal como debería. Se " "cadra está corrompida - posiblemente por un programa que non entende as " "táboas de partición GPT. Ou se cadra borrou a táboa GPT e agora emprega unha " "táboa de partición msdos. ¿É esta unha táboa de partición GPT?" #: libparted/labels/gpt.c:680 #, fuzzy, c-format msgid "" "The format of the GPT partition table is version %x, which is newer than " "what Parted can recognise. Please tell us! bug-parted@gnu.org" msgstr "" "O formato da táboa de partición GPT é máis recente do que Parted pode " "recoñecer. Por favor, indíquenolo: bug-parted@gnu.org (en inglés)" #: libparted/labels/gpt.c:727 #, c-format msgid "" "Not all of the space available to %s appears to be used, you can fix the GPT " "to use all of the space (an extra %llu blocks) or continue with the current " "setting? " msgstr "" #: libparted/labels/gpt.c:936 msgid "" "The backup GPT table is not at the end of the disk, as it should be. This " "might mean that another operating system believes the disk is smaller. Fix, " "by moving the backup to the end (and removing the old backup)?" msgstr "" "A copia de seguridade da táboa GPT non está na fin do disco, tal como " "debería. Isto pode significar que outro sistema operativo cre que o disco é " "máis pequeno. ¿Quere arranxalo, movendo a copia de seguridade á final (e " "eliminando a copia vella)?" #: libparted/labels/gpt.c:960 #, fuzzy msgid "" "Both the primary and backup GPT tables are corrupt. Try making a fresh " "table, and using Parted's rescue feature to recover partitions." msgstr "" "Ambalas dúas táboas GPT, primaria e copia, están corrompidas. Probe a crear " "unha táboa nova e a emprega-la característica de rescate (rescue) de Parted " "para recupera-las particións." #: libparted/labels/gpt.c:971 #, fuzzy msgid "" "The backup GPT table is corrupt, but the primary appears OK, so that will be " "used." msgstr "" "A táboa GPT primaria está corrompida, pero a copia de seguridade semella " "estar ben, así que é a que se ha empregar." #: libparted/labels/gpt.c:983 #, fuzzy msgid "" "The primary GPT table is corrupt, but the backup appears OK, so that will be " "used." msgstr "" "A táboa GPT primaria está corrompida, pero a copia de seguridade semella " "estar ben, así que é a que se ha empregar." #: libparted/labels/gpt.c:1007 msgid "primary partition table array CRC mismatch" msgstr "" #: libparted/labels/mac.c:185 #, c-format msgid "Invalid signature %x for Mac disk labels." msgstr "Sinatura %x non válida para etiquetas de disco Mac." #: libparted/labels/mac.c:232 msgid "Partition map has no partition map entry!" msgstr "¡O mapa de particións non ten unha entrada do mapa de particións!" #: libparted/labels/mac.c:280 #, c-format msgid "%s is too small for a Mac disk label!" msgstr "¡%s é pequeno de máis para unha etiqueta de disco Mac!" #: libparted/labels/mac.c:509 #, c-format msgid "Partition %d has an invalid signature %x." msgstr "A partición %d ten unha sinatura %x non válida." #: libparted/labels/mac.c:527 #, c-format msgid "Partition %d has an invalid length of 0 bytes!" msgstr "¡A partición %d ten unha lonxitude non válida de 0 bytes!" #: libparted/labels/mac.c:558 #, fuzzy msgid "The data region doesn't start at the start of the partition." msgstr "A rexión de datos non comeza no principio da partición" #: libparted/labels/mac.c:575 #, fuzzy msgid "The boot region doesn't start at the start of the partition." msgstr "A rexión de inicio non comeza no principio da partición" #: libparted/labels/mac.c:589 msgid "The partition's boot region doesn't occupy the entire partition." msgstr "A rexión de inicio da partición non ocupa toda a partición." #: libparted/labels/mac.c:600 msgid "The partition's data region doesn't occupy the entire partition." msgstr "A rexión de datos da partición non ocupa toda a partición." #: libparted/labels/mac.c:653 #, c-format msgid "" "Weird block size on device descriptor: %d bytes is not divisible by 512." msgstr "" "Tamaño de bloque estraño no descriptor do dispositivo: %d bytes non é " "divisible por 512." #: libparted/labels/mac.c:666 #, c-format msgid "" "The driver descriptor says the physical block size is %d bytes, but Linux " "says it is %d bytes." msgstr "" "O descriptor do controlador di que o tamaño do bloque físico é %d bytes, " "pero Linux di que é de %d bytes." #: libparted/labels/mac.c:720 msgid "No valid partition map found." msgstr "Non se atopou un mapa de particións válido." #: libparted/labels/mac.c:782 #, fuzzy, c-format msgid "" "Conflicting partition map entry sizes! Entry 1 says it is %d, but entry %d " "says it is %d!" msgstr "" "¡Tamaños das entradas do mapa de particións conflictivos! ¡A entrada 1 di " "que é de %d, pero a entrada %d di que é %d!" #: libparted/labels/mac.c:809 #, fuzzy msgid "Weird! There are 2 partitions map entries!" msgstr "Estraño - ¡hai dúas entradas de mapa de particións!" #: libparted/labels/mac.c:1355 msgid "" "Changing the name of a root or swap partition will prevent Linux from " "recognising it as such." msgstr "" "Cambia-lo nome dunha partición raiz ou de intercambio ha impedir que Linux a " "recoñeza coma tal." #: libparted/labels/mac.c:1459 #, fuzzy msgid "Can't add another partition -- the partition map is too small!" msgstr "" "Non se pode engadir outra partición - o mapa de particións é pequeno de máis." #: libparted/labels/pc98.c:331 #, fuzzy, c-format msgid "Invalid partition table on %s." msgstr "Táboa de particións incorrecta en %s" #: libparted/labels/pc98.c:384 libparted/labels/pc98.c:462 #, fuzzy, c-format msgid "" "Partition %d isn't aligned to cylinder boundaries. This is still " "unsupported." msgstr "" "A partición %d non está aliñada nos límites dos cilindros. Hai que engadir " "soporte para isto." #: libparted/labels/pc98.c:781 msgid "Can't add another partition." msgstr "Non se pode engadir máis particións." #: libparted/labels/pt-tools.c:125 #, c-format msgid "" "partition length of %jd sectors exceeds the %s-partition-table-imposed " "maximum of %jd" msgstr "" #: libparted/labels/pt-tools.c:138 #, c-format msgid "" "starting sector number, %jd exceeds the %s-partition-table-imposed maximum " "of %jd" msgstr "" #: libparted/labels/rdb.c:170 #, c-format msgid "%s : Bad checksum on block %llu of type %s." msgstr "" #: libparted/labels/rdb.c:486 #, c-format msgid "%s : Didn't find rdb block, should never happen." msgstr "" #: libparted/labels/rdb.c:572 #, fuzzy, c-format msgid "%s : Loop detected at block %d." msgstr "%s non é un dispositivo de bloques." #: libparted/labels/rdb.c:591 #, c-format msgid "%s : The %s list seems bad at block %s." msgstr "" #: libparted/labels/rdb.c:690 #, c-format msgid "%s : Failed to list bad blocks." msgstr "" #: libparted/labels/rdb.c:698 #, c-format msgid "%s : Failed to list partition blocks." msgstr "" #: libparted/labels/rdb.c:706 #, c-format msgid "%s : Failed to list file system blocks." msgstr "" #: libparted/labels/rdb.c:714 #, c-format msgid "%s : Failed to list boot blocks." msgstr "" #: libparted/labels/rdb.c:741 #, fuzzy, c-format msgid "Failed to write partition block at %d." msgstr "Non se puido determinar se a partición está montada." #: libparted/labels/rdb.c:1079 #, fuzzy msgid "Unable to allocate a partition number." msgstr "Espérase un número de partición." #: libparted/labels/sun.c:163 msgid "Corrupted Sun disk label detected." msgstr "Detectouse unha etiqueta de disco Sun corrompida." #: libparted/labels/sun.c:316 #, fuzzy, c-format msgid "" "The disk CHS geometry (%d,%d,%d) reported by the operating system does not " "match the geometry stored on the disk label (%d,%d,%d)." msgstr "" "A xeometría CHS do disco (%d,%d,%d) non encaixa coa xeometría armacenada na " "etiqueta de disco (%d,%d,%d)." #: libparted/labels/sun.c:338 #, c-format msgid "The disk label describes a disk bigger than %s." msgstr "A etiqueta de disco describe un disco maior de %s." #: libparted/labels/sun.c:510 #, c-format msgid "The disk has %d cylinders, which is greater than the maximum of 65536." msgstr "" #: libparted/labels/sun.c:853 msgid "" "The Whole Disk partition is the only available one left. Generally, it is " "not a good idea to overwrite this partition with a real one. Solaris may " "not be able to boot without it, and SILO (the sparc boot loader) appreciates " "it as well." msgstr "" "A partición de Disco Completo é a única que queda dispoñible. Normalmente " "non é unha boa idea sobrescribir esta partición cunha de verdade. Solaris " "pode non arrincar sen ela, e SILO (o cargador de sparc) tamén a aprecia." #: libparted/labels/sun.c:868 msgid "Sun disk label is full." msgstr "A etiqueta de disco Sun está chea." #: libparted/labels/vtoc.c:164 msgid "opening of device failed" msgstr "" #: libparted/labels/vtoc.c:168 msgid "seeking on device failed" msgstr "" #: libparted/labels/vtoc.c:172 msgid "writing to device failed" msgstr "" #: libparted/labels/vtoc.c:176 msgid "reading from device failed" msgstr "" #: libparted/labels/vtoc.c:277 libparted/labels/vtoc.c:284 #, fuzzy msgid "Could not read volume label." msgstr "Non se puido le-la xeometría de %s - %s." #: libparted/labels/vtoc.c:303 libparted/labels/vtoc.c:308 #, fuzzy msgid "Could not write volume label." msgstr "Non se pode detectar un sistema de ficheiros." #: libparted/labels/vtoc.c:414 msgid "Could not read VTOC labels." msgstr "" #: libparted/labels/vtoc.c:420 msgid "Could not read VTOC FMT1 DSCB." msgstr "" #: libparted/labels/vtoc.c:427 msgid "Could not read VTOC FMT4 DSCB." msgstr "" #: libparted/labels/vtoc.c:434 msgid "Could not read VTOC FMT5 DSCB." msgstr "" #: libparted/labels/vtoc.c:441 msgid "Could not read VTOC FMT7 DSCB." msgstr "" #: libparted/labels/vtoc.c:461 msgid "Could not write VTOC labels." msgstr "" #: libparted/labels/vtoc.c:467 msgid "Could not write VTOC FMT1 DSCB." msgstr "" #: libparted/labels/vtoc.c:474 msgid "Could not write VTOC FMT4 DSCB." msgstr "" #: libparted/labels/vtoc.c:481 msgid "Could not write VTOC FMT5 DSCB." msgstr "" #: libparted/labels/vtoc.c:488 msgid "Could not write VTOC FMT7 DSCB." msgstr "" #: libparted/libparted.c:237 libparted/libparted.c:252 msgid "Out of memory." msgstr "Memoria esgotada." #: libparted/unit.c:138 msgid "Cannot get unit size for special unit 'COMPACT'." msgstr "" #: libparted/unit.c:384 #, c-format msgid "\"%s\" has invalid syntax for locations." msgstr "" #: libparted/unit.c:392 #, c-format msgid "The maximum head value is %d." msgstr "" #: libparted/unit.c:399 #, c-format msgid "The maximum sector value is %d." msgstr "" #: libparted/unit.c:411 libparted/unit.c:543 #, fuzzy, c-format msgid "The location %s is outside of the device %s." msgstr "Non se pode crear unha partición fóra do dispositivo." #: libparted/unit.c:525 msgid "Invalid number." msgstr "" #: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:56 #: libparted/fs/amiga/asfs.c:70 #, c-format msgid "%s : Failed to allocate partition block\n" msgstr "" #: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:69 #: libparted/fs/amiga/asfs.c:82 #, c-format msgid "%s : Failed to allocate block\n" msgstr "" #: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:74 #, c-format msgid "%s : Couldn't read boot block %llu\n" msgstr "" #: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:85 #: libparted/fs/amiga/asfs.c:88 libparted/fs/amiga/asfs.c:102 #, c-format msgid "%s : Couldn't read root block %llu\n" msgstr "" #: libparted/fs/amiga/amiga.c:72 #, c-format msgid "%s : Failed to allocate id list element\n" msgstr "" #: libparted/fs/amiga/amiga.c:189 #, c-format msgid "%s : Couldn't read block %llu\n" msgstr "" #: libparted/fs/amiga/amiga.c:202 #, c-format msgid "%s : Bad checksum on block %llu of type %s\n" msgstr "" #: libparted/fs/amiga/amiga.c:212 #, fuzzy, c-format msgid "%s : Couldn't write block %d\n" msgstr "%s durante a escritura en %s" #: libparted/fs/amiga/amiga.c:278 #, c-format msgid "%s : Failed to allocate disk_specific rdb block\n" msgstr "" #: libparted/fs/amiga/amiga.c:289 #, c-format msgid "%s : Didn't find rdb block, should never happen\n" msgstr "" #: libparted/fs/amiga/amiga.c:318 #, c-format msgid "%s : Failed to read partition block %llu\n" msgstr "" #: libparted/fs/ext2/ext2.c:87 libparted/fs/ext2/ext2.c:112 msgid "Inconsistent group descriptors!" msgstr "¡Descriptores de grupo non consistentes!" #: libparted/fs/ext2/ext2.c:91 libparted/fs/ext2/ext2.c:116 #, fuzzy msgid "File system full!" msgstr "¡Sistema de ficheiros cheo!" #: libparted/fs/ext2/ext2.c:686 #, fuzzy msgid "Invalid superblock. Are you sure this is an ext2 file system?" msgstr "" "Superbloque incorrecto. ¿Está seguro de que este é un sistema de ficheiros " "ext2?" #: libparted/fs/ext2/ext2.c:700 libparted/fs/ext2/ext2_resize.c:658 #, fuzzy msgid "File system has errors! You should run e2fsck." msgstr "¡O sistema de ficheiros ten erros! Debería executar e2fsck." #: libparted/fs/ext2/ext2.c:711 #, fuzzy msgid "" "File system was not cleanly unmounted! You should run e2fsck. Modifying an " "unclean file system could cause severe corruption." msgstr "" "¡O sistema de ficheiros non foi desmontado limpamente! Debería executar " "e2fsck." #: libparted/fs/ext2/ext2.c:731 msgid "" "File system has an incompatible feature enabled. Compatible features are " "has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs " "or debugfs to remove features." msgstr "" #: libparted/fs/ext2/ext2.c:745 msgid "Error allocating buffer cache." msgstr "Erro ao buscar espacio para o buffer cache." #: libparted/fs/ext2/ext2_inode_relocator.c:114 #, fuzzy msgid "" "Found an inode with a incorrect link count. Better go run e2fsck first!" msgstr "" "Atopei un inode cunha conta de ligazóns incorrecta. Mellor será que empregue " "e2fsck antes." #: libparted/fs/ext2/ext2_inode_relocator.c:487 msgid "Not enough free inodes!" msgstr "¡Non hai inodes libres dabondo!" #: libparted/fs/ext2/ext2_resize.c:223 #, fuzzy msgid "File system is too full to remove a group!" msgstr "¡O sistema de ficheiros está demasiado ocupado para eliminar un grupo!" #: libparted/fs/ext2/ext2_resize.c:232 #, fuzzy msgid "File system has too many allocated inodes to remove a group!" msgstr "" "¡O sistema de ficheiros ten demasiados inodes ocupados para eliminar un " "grupo!" #: libparted/fs/ext2/ext2_resize.c:491 msgid "adding groups" msgstr "engadindo grupos" #: libparted/fs/ext2/ext2_resize.c:528 #, fuzzy, c-format msgid "Your file system is too full to resize it to %i blocks. Sorry." msgstr "" "O seu sistema de ficheiros está demasiado ocupado para cambiarlle o tamaño a " "%i bloques. Síntoo." #: libparted/fs/ext2/ext2_resize.c:538 #, fuzzy, c-format msgid "" "Your file system has too many occupied inodes to resize it to %i blocks. " "Sorry." msgstr "" "O seu sistema de ficheiros ten demasiados inodes ocupados para cambiarlle o " "tamaño a %i bloques. Síntoo." #: libparted/fs/ext2/ext2_resize.c:666 #, fuzzy msgid "File system was not cleanly unmounted! You should run e2fsck." msgstr "" "¡O sistema de ficheiros non foi desmontado limpamente! Debería executar " "e2fsck." #: libparted/fs/ext2/ext2_resize.c:675 msgid "" "The file system has the 'dir_index' feature enabled. Parted can only resize " "the file system if it disables this feature. You can enable it later by " "running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'." msgstr "" #: libparted/fs/ext2/ext2_resize.c:691 msgid "" "A resize operation on this file system will use EXPERIMENTAL code\n" "that MAY CORRUPT it (although no one has reported any such damage yet).\n" "You should at least backup your data first, and run 'e2fsck -f' afterwards." msgstr "" #: libparted/fs/ext2/ext2_block_relocator.c:198 #, fuzzy msgid "Cross-linked blocks found! Better go run e2fsck first!" msgstr "" "¡Atopáronse bloques ligados entre si! ¡Mellor será que empregue e2fsck antes!" #: libparted/fs/ext2/ext2_block_relocator.c:537 #, fuzzy, c-format msgid "Block %i has no reference? Weird." msgstr "¿O bloque %i non ten unha referencia? Moi raro." #: libparted/fs/ext2/ext2_block_relocator.c:738 #, fuzzy, c-format msgid "Block %i shouldn't have been marked (%d, %d)!" msgstr "¡O bloque %i non debería estar marcado!" #: libparted/fs/ext2/interface.c:226 #, fuzzy msgid "" "The ext2 file system passed a basic check. For a more comprehensive check, " "use the e2fsck program." msgstr "" "O sistema de ficheiros ext2 pasou unha comprobación básica. Para unha " "comprobación máis a fondo, empregue o programa e2fsck." #: libparted/fs/ext2/interface.c:243 msgid "Sorry, can't move the start of ext2 partitions yet!" msgstr "¡Síntoo, ainda non podo move-lo principio das particións ext2!" #: libparted/fs/ext2/ext2_buffer.c:82 msgid "Couldn't flush buffer cache!" msgstr "¡Non se puido baleira-lo buffer cache!" #: libparted/fs/ext2/ext2_mkfs.c:161 msgid "writing per-group metadata" msgstr "gravando os metadatos por grupos" #: libparted/fs/ext2/ext2_mkfs.c:597 msgid "File system too small for ext2." msgstr "O sistema de ficheiros é pequeno de máis para ext2." #: libparted/fs/fat/calc.c:135 #, fuzzy, c-format msgid "" "You need %s of free disk space to shrink this partition to this size. " "Currently, only %s is free." msgstr "" "Precisa %dM de espacio libre para reducir esta partición a este tamaño " "(actualmente ten só %dM libres)" #: libparted/fs/fat/context.c:56 #, c-format msgid "" "Cluster start delta = %d, which is not a multiple of the cluster size %d." msgstr "" "Delta do comezo do cluster = %d, que non é un múltiplo do tamaño do cluster " "%d." #: libparted/fs/fat/fat.c:310 #, fuzzy, c-format msgid "Partition too big/small for a %s file system." msgstr "A partición é grande/pequena de máis para un sistema de ficheiros %s" #: libparted/fs/fat/fat.c:476 msgid "" "The FATs don't match. If you don't know what this means, then select " "cancel, run scandisk on the file system, and then come back." msgstr "" "As FATs non coinciden. Se non sabe o que isto significa, escolla \"Cancelar" "\", empregue \"scandisk\" no sistema de ficheiros, e logo volte." #: libparted/fs/fat/fat.c:516 msgid "There are no possible configurations for this FAT type." msgstr "Non hai configuracións posibles para este tipo de FAT." #: libparted/fs/fat/fat.c:528 #, c-format msgid "" "File system doesn't have expected sizes for Windows to like it. Cluster " "size is %dk (%dk expected); number of clusters is %d (%d expected); size of " "FATs is %d sectors (%d expected)." msgstr "" "O sistema de ficheiros non ten os tamaños esperados para que a Windows lle " "goste. O tamaño do cluster é %dk (esperábase %dk); o número de clusters é %d " "(esperábanse %d); o tamaño das FATs é de %d sectores (esperábanse %d)." #: libparted/fs/fat/fat.c:551 #, c-format msgid "" "File system is reporting the free space as %d clusters, not %d clusters." msgstr "" "O sistema de ficheiros di que o espacio libre é de %d clusters, non %d " "clusters." #: libparted/fs/fat/fat.c:876 #, fuzzy msgid "" "GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT " "support will be disabled." msgstr "" "GNU parted foi compilado incorrectamente: o sector de inicio FAT debería ter " "512 bytes. O soporte FAT será desactivado." #: libparted/fs/fat/resize.c:158 #, fuzzy msgid "" "There's not enough room in the root directory for all of the files. Either " "cancel, or ignore to lose the files." msgstr "" "Non hai espacio dabondo no directorio raiz para tódolos ficheiros. Pode ou " "ben cancelar, ou ben ignorar e perde-los ficheiros." #: libparted/fs/fat/resize.c:299 msgid "Error writing to the root directory." msgstr "Erro ao escribir no directorio raiz." #: libparted/fs/fat/resize.c:488 #, fuzzy msgid "If you leave your file system as FAT16, then you will have no problems." msgstr "Se deixa o sistema de ficheiros coma FAT16, non ha ter problemas." #: libparted/fs/fat/resize.c:491 msgid "" "If you convert to FAT16, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual)." msgstr "" "Se convirte a FAT16, e MS Windows está instalado na partición, ha ter que " "reinstala-lo cargador de inicio de MS Windows. Se quere facelo, debería " "consulta-lo manual de Parted (ou o manual da súa distribución)." #: libparted/fs/fat/resize.c:499 msgid "" "If you leave your file system as FAT32, then you will not introduce any new " "problems." msgstr "" "Se deixa o sistema de ficheiros coma FAT32, non ha introducir novos " "problemas." #: libparted/fs/fat/resize.c:503 msgid "" "If you convert to FAT32, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual). Also, " "converting to FAT32 will make the file system unreadable by MS DOS, MS " "Windows 95a, and MS Windows NT." msgstr "" "Se convirte a FAT32, e MS Windows está instalado na partición, ha ter que " "reinstala-lo cargador de inicio de MS Windows. Se quere facelo, debería " "consulta-lo manual de Parted (ou o manual da súa distribución). Tamén, a " "conversión a FAT32 fará o sistema de ficheiros ilexible para MS DOS, MS " "Windows 95a e MS Windows NT." #: libparted/fs/fat/resize.c:517 #, c-format msgid "%s %s %s" msgstr "%s %s %s" #: libparted/fs/fat/resize.c:518 msgid "Would you like to use FAT32?" msgstr "¿Quere usar FAT32?" #: libparted/fs/fat/resize.c:549 libparted/fs/fat/resize.c:565 #, c-format msgid "%s %s" msgstr "%s %s" #: libparted/fs/fat/resize.c:550 msgid "" "The file system can only be resized to this size by converting to FAT16." msgstr "" "O sistema de ficheiros só pode alcanzar este tamaño convertindo a FAT16." #: libparted/fs/fat/resize.c:566 msgid "" "The file system can only be resized to this size by converting to FAT32." msgstr "" "O sistema de ficheiros só pode alcanzar este tamaño convertindo a FAT32." #: libparted/fs/fat/resize.c:579 #, fuzzy msgid "" "GNU Parted cannot resize this partition to this size. We're working on it!" msgstr "" "GNU Parted non pode cambiar esta partición a este tamaño. ¡Estamos " "traballando niso!" #: libparted/fs/fat/bootsector.c:49 libparted/fs/fat/bootsector.c:56 msgid "File system has an invalid signature for a FAT file system." msgstr "" "O sistema de ficheiros ten unha sinatura incorrecta para un sistema de " "ficheiros FAT." #: libparted/fs/fat/bootsector.c:64 msgid "File system has an invalid sector size for a FAT file system." msgstr "" "O sistema de ficheiros ten un tamaño de sector incorrecto para un sistema de " "ficheiros FAT." #: libparted/fs/fat/bootsector.c:71 msgid "File system has an invalid cluster size for a FAT file system." msgstr "" "O sistema de ficheiros ten un tamaño de bloque non válido para un sistema de " "ficheiros FAT." #: libparted/fs/fat/bootsector.c:78 #, fuzzy msgid "" "File system has an invalid number of reserved sectors for a FAT file system." msgstr "" "O sistema de ficheiros ten un número de sectores reservados incorrecto para " "un sistema de ficheiros FAT." #: libparted/fs/fat/bootsector.c:85 #, fuzzy msgid "File system has an invalid number of FATs." msgstr "O sistema de ficheiros ten un número de FATs incorrecto." #: libparted/fs/fat/bootsector.c:139 #, c-format msgid "" "This file system has a logical sector size of %d. GNU Parted is known not " "to work properly with sector sizes other than 512 bytes." msgstr "" "Este sistema de ficheiros ten un tamaño de sector lóxico de %d. Sábese que " "GNU Parted non traballa correctamente con tamaños de sector distintos de 512 " "bytes." #: libparted/fs/fat/bootsector.c:164 #, c-format msgid "" "The file system's CHS geometry is (%d, %d, %d), which is invalid. The " "partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the " "file system's CHS geometry will be left unchanged. If you select Fix, the " "file system's CHS geometry will be set to match the partition table's CHS " "geometry." msgstr "" #: libparted/fs/fat/bootsector.c:213 msgid "FAT boot sector says logical sector size is 0. This is weird. " msgstr "" "O sector de inicio FAT di que o tamaño lóxico de sector é 0. Isto é moi " "estraño. " #: libparted/fs/fat/bootsector.c:219 msgid "FAT boot sector says there are no FAT tables. This is weird. " msgstr "O sector de inicio FAT di que non hai táboas FAT. Isto é moi estraño. " #: libparted/fs/fat/bootsector.c:225 msgid "FAT boot sector says clusters are 0 sectors. This is weird. " msgstr "" "O sector de inicio FAT di que os clusters teñen 0 sectores. Isto é moi " "estraño. " #: libparted/fs/fat/bootsector.c:235 #, fuzzy msgid "File system is FAT12, which is unsupported." msgstr "O sistema de ficheiros é FAT12, que non está soportado." #: libparted/fs/fat/bootsector.c:411 #, c-format msgid "" "The information sector has the wrong signature (%x). Select cancel for now, " "and send in a bug report. If you're desperate, it's probably safe to ignore." msgstr "" "O sector de información ten unha sinatura incorrecta (%x). Escolla \"Cancelar" "\" polo de agora, e envíe un informe de erro. Se está desesperado, pode que " "sexa seguro ignorar." #: libparted/fs/fat/count.c:144 #, c-format msgid "Bad directory entry for %s: first cluster is the end of file marker." msgstr "" "Entrada de directorio incorrecta para %s: o primeiro cluster é o marcador de " "fin de ficheiro." #: libparted/fs/fat/count.c:157 #, c-format msgid "" "Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk." msgstr "" "FAT incorrecta: cadea non rematada para %s. Debería executar dosfsck ou " "scandisk." #: libparted/fs/fat/count.c:166 #, fuzzy, c-format msgid "" "Bad FAT: cluster %d outside file system in chain for %s. You should run " "dosfsck or scandisk." msgstr "" "FAT incorrecta: o cluster %d está fóra do sistema de ficheiros na cadea para " "%s. Debería executar dosfsck ou scandisk." #: libparted/fs/fat/count.c:176 #, c-format msgid "" "Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or " "scandisk." msgstr "" "FAT incorrecta: o cluster %d ten ligazóns cruzadas para %s. Debería executar " "dosfsck ou scandisk." #: libparted/fs/fat/count.c:195 #, c-format msgid "%s is %dk, but it has %d clusters (%dk)." msgstr "%s é de %dk, pero ten %d clusters (%dk)." #: libparted/fs/fat/count.c:258 #, c-format msgid "" "The file %s is marked as a system file. This means moving it could cause " "some programs to stop working." msgstr "" "O ficheiro %s está marcado coma ficheiro de sistema. Isto significa que " "movelo podería facer que outros programas deixaran de traballar." #: libparted/fs/fat/table.c:136 #, c-format msgid "" "FAT %d media %x doesn't match the boot sector's media %x. You should " "probably run scandisk." msgstr "" "Na FAT %d, o soporte %x non coincide co soporte do sector de inicio, %x. " "Seguramente debería executar scandisk." #: libparted/fs/fat/table.c:268 #, fuzzy, c-format msgid "fat_table_set: cluster %ld outside file system" msgstr "fat_table_set: o cluster %ld está fóra do sistema de ficheiros" #: libparted/fs/fat/table.c:300 #, fuzzy, c-format msgid "fat_table_get: cluster %ld outside file system" msgstr "fat_table_get: o cluster %ld está fóra do sistema de ficheiros" #: libparted/fs/fat/table.c:342 msgid "fat_table_alloc_cluster: no free clusters" msgstr "fat_table_alloc_cluster: non hai clusters libres" #: libparted/fs/linux_swap/linux_swap.c:288 #, fuzzy, c-format msgid "Unrecognised old style linux swap signature '%10s'." msgstr "Sinatura \"%10s\" da partición de intercambio de linux non recoñecida." #: libparted/fs/linux_swap/linux_swap.c:331 #, fuzzy, c-format msgid "Unrecognised new style linux swap signature '%10s'." msgstr "Sinatura \"%10s\" da partición de intercambio de linux non recoñecida." #: libparted/fs/linux_swap/linux_swap.c:371 #, fuzzy, c-format msgid "Unrecognised swsusp linux swap signature '%9s'." msgstr "Sinatura \"%10s\" da partición de intercambio de linux non recoñecida." #: libparted/fs/linux_swap/linux_swap.c:447 msgid "Too many bad pages." msgstr "Demasiadas páxinas incorrectas." #: libparted/fs/hfs/advfs.c:121 libparted/fs/hfs/advfs_plus.c:121 #: libparted/fs/hfs/reloc.c:414 libparted/fs/hfs/reloc.c:508 #: libparted/fs/hfs/reloc_plus.c:538 libparted/fs/hfs/reloc_plus.c:656 #: libparted/fs/hfs/reloc_plus.c:769 msgid "The file system contains errors." msgstr "" #: libparted/fs/hfs/advfs_plus.c:285 msgid "Bad blocks could not be read." msgstr "" #: libparted/fs/hfs/cache.c:137 #, c-format msgid "" "Trying to register an extent starting at block 0x%X, but another one already " "exists at this position. You should check the file system!" msgstr "" #: libparted/fs/hfs/cache.c:214 #, c-format msgid "" "Trying to move an extent from block Ox%X to block Ox%X, but another one " "already exists at this position. This should not happen!" msgstr "" #: libparted/fs/hfs/file.c:143 #, c-format msgid "Could not update the extent cache for HFS file with CNID %X." msgstr "" #: libparted/fs/hfs/file.c:180 #, c-format msgid "Trying to read HFS file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/file.c:190 libparted/fs/hfs/file.c:220 #, c-format msgid "Could not find sector %lli of HFS file with CNID %X." msgstr "" #: libparted/fs/hfs/file.c:210 #, c-format msgid "Trying to write HFS file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/file_plus.c:157 #, c-format msgid "Could not update the extent cache for HFS+ file with CNID %X." msgstr "" #: libparted/fs/hfs/file_plus.c:202 #, c-format msgid "Trying to read HFS+ file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/file_plus.c:213 libparted/fs/hfs/file_plus.c:256 #, c-format msgid "Could not find sector %lli of HFS+ file with CNID %X." msgstr "" #: libparted/fs/hfs/file_plus.c:245 #, c-format msgid "Trying to write HFS+ file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/hfs.c:232 msgid "Sorry, HFS cannot be resized that way yet." msgstr "" #: libparted/fs/hfs/hfs.c:262 libparted/fs/hfs/hfs.c:641 msgid "Data relocation has failed." msgstr "" #: libparted/fs/hfs/hfs.c:281 msgid "Data relocation left some data in the end of the volume." msgstr "" #: libparted/fs/hfs/hfs.c:320 #, fuzzy msgid "writing HFS Master Directory Block" msgstr "Erro ao escribir no directorio raiz." #: libparted/fs/hfs/hfs.c:468 msgid "No valid HFS[+X] signature has been found while opening." msgstr "" #: libparted/fs/hfs/hfs.c:478 #, c-format msgid "Version %d of HFS+ isn't supported." msgstr "" #: libparted/fs/hfs/hfs.c:489 #, c-format msgid "Version %d of HFSX isn't supported." msgstr "" #: libparted/fs/hfs/hfs.c:672 msgid "Data relocation left some data at the end of the volume." msgstr "" #: libparted/fs/hfs/hfs.c:720 #, fuzzy msgid "Error while writing the allocation file." msgstr "Erro ao escribir no directorio raiz." #: libparted/fs/hfs/hfs.c:735 msgid "Error while writing the compatibility part of the allocation file." msgstr "" #: libparted/fs/hfs/hfs.c:750 msgid "writing HFS+ Volume Header" msgstr "" #: libparted/fs/hfs/hfs.c:850 msgid "An error occurred while looking for the mandatory bad blocks file." msgstr "" #: libparted/fs/hfs/hfs.c:904 msgid "" "It seems there is an error in the HFS wrapper: the bad blocks file doesn't " "contain the embedded HFS+ volume." msgstr "" #: libparted/fs/hfs/hfs.c:940 msgid "Sorry, HFS+ cannot be resized that way yet." msgstr "" #: libparted/fs/hfs/hfs.c:975 msgid "shrinking embedded HFS+ volume" msgstr "" #: libparted/fs/hfs/hfs.c:991 msgid "Resizing the HFS+ volume has failed." msgstr "" #: libparted/fs/hfs/hfs.c:998 #, fuzzy msgid "shrinking HFS wrapper" msgstr "encollendo" #: libparted/fs/hfs/hfs.c:1007 msgid "Updating the HFS wrapper has failed." msgstr "" #: libparted/fs/hfs/hfs.c:1109 libparted/fs/hfs/hfs.c:1194 #, c-format msgid "" "This is not a real %s check. This is going to extract special low level " "files for debugging purposes." msgstr "" #: libparted/fs/hfs/journal.c:155 msgid "Bad block list header checksum." msgstr "" #: libparted/fs/hfs/journal.c:168 #, c-format msgid "" "Invalid size of a transaction block while replaying the journal (%i bytes)." msgstr "" #: libparted/fs/hfs/journal.c:260 msgid "" "Journal stored outside of the volume are not supported. Try to desactivate " "the journal and run Parted again." msgstr "" #: libparted/fs/hfs/journal.c:271 #, fuzzy msgid "Journal offset or size is not multiple of the sector size." msgstr "" "Delta do comezo do cluster = %d, que non é un múltiplo do tamaño do cluster " "%d." #: libparted/fs/hfs/journal.c:292 msgid "Incorrect magic values in the journal header." msgstr "" #: libparted/fs/hfs/journal.c:302 msgid "Journal size mismatch between journal info block and journal header." msgstr "" #: libparted/fs/hfs/journal.c:314 #, fuzzy msgid "Some header fields are not multiple of the sector size." msgstr "" "Delta do comezo do cluster = %d, que non é un múltiplo do tamaño do cluster " "%d." #: libparted/fs/hfs/journal.c:323 msgid "" "The sector size stored in the journal is not 512 bytes. Parted only " "supports 512 bytes length sectors." msgstr "" #: libparted/fs/hfs/journal.c:335 msgid "Bad journal checksum." msgstr "" #: libparted/fs/hfs/journal.c:353 msgid "" "The journal is not empty. Parted must replay the transactions before " "opening the file system. This will modify the file system." msgstr "" #: libparted/fs/hfs/journal.c:381 msgid "" "The volume header or the master directory block has changed while replaying " "the journal. You should restart Parted." msgstr "" #: libparted/fs/hfs/probe.c:51 #, c-format msgid "" "Parted can't use HFS file systems on disks with a sector size not equal to " "%d bytes." msgstr "" #: libparted/fs/hfs/reloc.c:151 libparted/fs/hfs/reloc_plus.c:155 msgid "An extent has not been relocated." msgstr "" #: libparted/fs/hfs/reloc.c:251 libparted/fs/hfs/reloc_plus.c:307 msgid "" "A reference to an extent comes from a place it should not. You should check " "the file system!" msgstr "" #: libparted/fs/hfs/reloc.c:381 msgid "This HFS volume has no catalog file. This is very unusual!" msgstr "" #: libparted/fs/hfs/reloc.c:475 msgid "This HFS volume has no extents overflow file. This is quite unusual!" msgstr "" #: libparted/fs/hfs/reloc.c:517 libparted/fs/hfs/reloc_plus.c:666 msgid "" "The extents overflow file should not contain its own extents! You should " "check the file system." msgstr "" #: libparted/fs/hfs/reloc.c:574 libparted/fs/hfs/reloc_plus.c:844 #, fuzzy msgid "Could not cache the file system in memory." msgstr "Non se pode detectar un sistema de ficheiros." #: libparted/fs/hfs/reloc.c:635 libparted/fs/hfs/reloc_plus.c:905 msgid "Bad blocks list could not be loaded." msgstr "" #: libparted/fs/hfs/reloc.c:649 libparted/fs/hfs/reloc_plus.c:921 msgid "An error occurred during extent relocation." msgstr "" #: libparted/fs/hfs/reloc_plus.c:494 msgid "This HFS+ volume has no catalog file. This is very unusual!" msgstr "" #: libparted/fs/hfs/reloc_plus.c:617 msgid "This HFS+ volume has no extents overflow file. This is quite unusual!" msgstr "" #: parted/parted.c:123 msgid "displays this help message" msgstr "amosar esta mensaxe de axuda" #: parted/parted.c:124 #, fuzzy msgid "lists partition layout on all block devices" msgstr "%s non é un dispositivo de bloques." #: parted/parted.c:125 msgid "displays machine parseable output" msgstr "" #: parted/parted.c:126 msgid "never prompts for user intervention" msgstr "non pedir nunca a intervención do usuario" #: parted/parted.c:127 msgid "displays the version" msgstr "amosa-la versión" #: parted/parted.c:128 #, fuzzy msgid "alignment for new partitions" msgstr "Non se poden crear máis particións." #: parted/parted.c:140 #, fuzzy msgid "" "NUMBER is the partition number used by Linux. On MS-DOS disk labels, the " "primary partitions number from 1 to 4, logical partitions from 5 onwards.\n" msgstr "" "MENOR é o número de partición que usa Linux. Nas etiquetas de disco msdos, " "as particións primarias teñen números de 1 a 4, e as lóxicas téñenos do 5 en " "diante.\n" #: parted/parted.c:143 msgid "LABEL-TYPE is one of: " msgstr "TIPO-ETIQUETA é un destes: " #: parted/parted.c:144 msgid "FLAG is one of: " msgstr "MODIF é un destes: " #: parted/parted.c:145 #, fuzzy msgid "UNIT is one of: " msgstr "MODIF é un destes: " #: parted/parted.c:146 msgid "desired alignment: minimum or optimal" msgstr "" #: parted/parted.c:147 msgid "PART-TYPE is one of: primary, logical, extended\n" msgstr "" "TIPO-PARTICION é: primary (primaria), logical (lóxica), extended " "(estendida)\n" #: parted/parted.c:149 msgid "FS-TYPE is one of: " msgstr "TIPO-SF é un destes: " #: parted/parted.c:150 msgid "" "START and END are disk locations, such as 4GB or 10%. Negative values count " "from the end of the disk. For example, -1s specifies exactly the last " "sector.\n" msgstr "" #: parted/parted.c:153 msgid "STATE is one of: on, off\n" msgstr "ESTADO é un destes: on, off\n" #: parted/parted.c:154 msgid "DEVICE is usually /dev/hda or /dev/sda\n" msgstr "DISPOSITIVO adoita ser /dev/hda ou /dev/sda\n" #: parted/parted.c:155 msgid "NAME is any word you want\n" msgstr "NOME é calquera palabra que queira\n" #: parted/parted.c:156 msgid "The partition must have one of the following FS-TYPEs: " msgstr "" #: parted/parted.c:160 #, fuzzy msgid "" "Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n" "This program is free software, covered by the GNU General Public License.\n" "\n" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" msgstr "" "Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.\n" "Este programa é software libre, coberto pola Licencia Pública Xeral de GNU.\n" "\n" "Este programa é distribuído coa esperanza de que sexa útil, pero SEN " "NINGUNHA GARANTÍA; nin sequera a garantía implícita de COMERCIABILIDADE ou " "APTITUDE PARA UN FIN EN PARTICULAR. Vexa a Licencia Pública Xeral de GNU " "para ter máis detalles.\n" #: parted/parted.c:208 #, c-format msgid "%0.f%%\t(time left %.2d:%.2d)" msgstr "%0.f%%\t(tempo restante %.2d:%.2d)" #: parted/parted.c:227 #, c-format msgid "" "Partition %s is being used. You must unmount it before you modify it with " "Parted." msgstr "" #: parted/parted.c:245 #, c-format msgid "Partition(s) on %s are being used." msgstr "Esta(n)se a usa-la(s) partición(s) de %s." #: parted/parted.c:257 msgid "" "The existing file system will be destroyed and all data on the partition " "will be lost. Do you want to continue?" msgstr "" #: parted/parted.c:269 #, c-format msgid "" "The existing disk label on %s will be destroyed and all data on this disk " "will be lost. Do you want to continue?" msgstr "" #: parted/parted.c:487 #, c-format msgid "" "WARNING: you are attempting to use %s to operate on (%s) a file system.\n" "%s's file system manipulation code is not as robust as what you'll find in\n" "dedicated, file-system-specific packages like e2fsprogs. We recommend\n" "you use %s only to manipulate partition tables, whenever possible.\n" "Support for performing most operations on most types of file systems\n" "will be removed in an upcoming release.\n" msgstr "" #: parted/parted.c:508 parted/parted.c:702 parted/parted.c:1179 #: parted/parted.c:1263 parted/parted.c:1935 parted/parted.c:2016 #: parted/parted.c:2088 parted/parted.c:2122 msgid "Partition number?" msgstr "¿Número de partición?" #: parted/parted.c:551 msgid "Source device?" msgstr "¿Dispositivo orixe?" #: parted/parted.c:555 msgid "Source partition number?" msgstr "¿Número da partición orixe?" #: parted/parted.c:560 #, fuzzy msgid "Can't copy an extended partition." msgstr "Non se poden copiar particións estendidas." #: parted/parted.c:566 msgid "Destination partition number?" msgstr "¿Número da partición de destino?" #: parted/parted.c:655 msgid "New disk label type?" msgstr "¿Novo tipo de etiqueta de disco?" #: parted/parted.c:706 parted/parted.c:788 parted/parted.c:1000 msgid "File system type?" msgstr "¿Tipo de sistema de ficheiros?" #: parted/parted.c:762 parted/parted.c:983 msgid "Partition type?" msgstr "¿Tipo de partición?" #: parted/parted.c:780 parted/parted.c:990 parted/parted.c:1266 msgid "Partition name?" msgstr "¿Nome da partición?" #: parted/parted.c:794 parted/parted.c:1002 parted/parted.c:1194 #: parted/parted.c:1883 parted/parted.c:1944 msgid "Start?" msgstr "¿Inicio?" #: parted/parted.c:796 parted/parted.c:1005 parted/parted.c:1197 #: parted/parted.c:1885 parted/parted.c:1946 msgid "End?" msgstr "¿Fin?" #: parted/parted.c:862 parted/parted.c:1066 #, fuzzy, c-format msgid "" "You requested a partition from %s to %s.\n" "The closest location we can manage is %s to %s.%s" msgstr "" "Solicitou crear unha partición en %.3f-%.3fMb. O máis semellante que pode " "manexar Parted é %.3f-%.3fMb." #: parted/parted.c:867 parted/parted.c:1071 msgid "" "\n" "Is this still acceptable to you?" msgstr "" #: parted/parted.c:889 parted/parted.c:1093 msgid "The resulting partition is not properly aligned for best performance." msgstr "" #: parted/parted.c:995 #, fuzzy msgid "An extended partition cannot hold a file system. Did you want mkpart?" msgstr "" "As particións estendidass non poden ter sistemas de ficheiros. ¿Quería " "executar mkpart?" #: parted/parted.c:1185 #, fuzzy msgid "Can't move an extended partition." msgstr "Non se poden move-las particións extendidas." #: parted/parted.c:1214 msgid "Can't move a partition onto itself. Try using resize, perhaps?" msgstr "Non se pode mover unha partición a si mesma. ¿Non quererá usar resize?" #: parted/parted.c:1360 #, c-format msgid "Minor: %d\n" msgstr "Menor: %d\n" #: parted/parted.c:1361 #, fuzzy, c-format msgid "Flags: %s\n" msgstr "Modificadores: " #: parted/parted.c:1362 #, c-format msgid "File System: %s\n" msgstr "Sistema de Ficheiros: %s\n" #: parted/parted.c:1363 #, fuzzy msgid "Size: " msgstr "Tamaño: %10.3fMb (%d%%)\n" #: parted/parted.c:1368 #, fuzzy msgid "Minimum size: " msgstr "Tam. mínimo: %10.3fMb (%d%%)\n" #: parted/parted.c:1371 #, fuzzy msgid "Maximum size: " msgstr "Tam. Máximo: %10.3fMb (%d%%)\n" #: parted/parted.c:1504 #, c-format msgid "Model: %s (%s)\n" msgstr "" #: parted/parted.c:1506 #, fuzzy, c-format msgid "Disk %s: %s\n" msgstr "%s %s %s" #: parted/parted.c:1507 #, c-format msgid "Sector size (logical/physical): %lldB/%lldB\n" msgstr "" #: parted/parted.c:1525 #, c-format msgid "BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s.\n" msgstr "" #: parted/parted.c:1534 #, fuzzy, c-format msgid "Partition Table: %s\n" msgstr "¿Nome da partición?" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Number" msgstr "" #: parted/parted.c:1549 parted/parted.c:1552 #, fuzzy msgid "Start" msgstr "¿Inicio?" #: parted/parted.c:1550 parted/parted.c:1553 #, fuzzy msgid "End" msgstr "¿Fin?" #: parted/parted.c:1553 #, fuzzy msgid "Size" msgstr "resize" #: parted/parted.c:1557 msgid "Type" msgstr "" #: parted/parted.c:1559 #, fuzzy msgid "File system" msgstr "¿Sistema de ficheiros?" #: parted/parted.c:1562 #, fuzzy msgid "Name" msgstr "name" #: parted/parted.c:1564 msgid "Flags" msgstr "Modificadores" #: parted/parted.c:1621 msgid "Free Space" msgstr "" #: parted/parted.c:1782 #, fuzzy, c-format msgid "" "A %s %s partition was found at %s -> %s. Do you want to add it to the " "partition table?" msgstr "" "Atopouse unha partición %s %s en %.3fMb -> %.3fMb. ¿Quere engadila á táboa " "de particións?" #: parted/parted.c:1821 msgid "searching for file systems" msgstr "buscando sistemas de ficheiros" #: parted/parted.c:2041 msgid "New device?" msgstr "¿Novo dispositivo?" #: parted/parted.c:2086 msgid "alignment type(min/opt)" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d aligned\n" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d not aligned\n" msgstr "" #: parted/parted.c:2124 #, fuzzy msgid "Flag to Invert?" msgstr "¿Modificador a cambiar?" #: parted/parted.c:2129 msgid "New state?" msgstr "¿Novo estado?" #: parted/parted.c:2166 msgid "Unit?" msgstr "" #: parted/parted.c:2348 #, fuzzy msgid "align-check" msgstr "check" #: parted/parted.c:2351 msgid "" "align-check TYPE N check partition N for TYPE(min|" "opt) alignment" msgstr "" #: parted/parted.c:2359 msgid "check" msgstr "check" #: parted/parted.c:2362 #, fuzzy msgid "" "check NUMBER do a simple check on the file system" msgstr "" "check MENOR facer unha comprobación simple no sistema de " "ficheiros" #: parted/parted.c:2368 msgid "cp" msgstr "cp" #: parted/parted.c:2371 #, fuzzy msgid "" "cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another " "partition" msgstr "" "cp [DE-DISPOSITIVO] DE-MENOR A-MENOR copiar sistema de fich. noutra " "partición" #: parted/parted.c:2377 msgid "help" msgstr "help" #: parted/parted.c:2380 #, fuzzy msgid "" "help [COMMAND] print general help, or help on " "COMMAND" msgstr "help [COMANDO] amosar axuda xeral, ou axuda sobre o COMANDO" #: parted/parted.c:2386 msgid "mklabel" msgstr "mklabel" #: parted/parted.c:2386 #, fuzzy msgid "mktable" msgstr "mklabel" #: parted/parted.c:2389 #, fuzzy msgid "" "mklabel,mktable LABEL-TYPE create a new disklabel (partition " "table)" msgstr "" "mklabel TIPO-ETIQUETA crear unha nova etiqueta de disco/táboa de partición" #: parted/parted.c:2395 msgid "mkfs" msgstr "mkfs" #: parted/parted.c:2398 #, fuzzy msgid "" "mkfs NUMBER FS-TYPE make a FS-TYPE file system on " "partition NUMBER" msgstr "" "mkfs MENOR TIPO-SF crear un sistema de ficheiros TIPO-SF na partición " "MENOR" #: parted/parted.c:2404 msgid "mkpart" msgstr "mkpart" #: parted/parted.c:2407 #, fuzzy msgid "mkpart PART-TYPE [FS-TYPE] START END make a partition" msgstr "mkpart TIPO-PARTICION [TIPO-FS] INICIO FIN crear unha partición" #: parted/parted.c:2413 #, fuzzy msgid "" "'mkpart' makes a partition without creating a new file system on the " "partition. FS-TYPE may be specified to set an appropriate partition ID.\n" msgstr "" "mkpart crea unha partición sen crear un novo sistema de ficheiros na " "partición. Debe especificarse TIPO-SF para estabrecer un ID de partición " "axeitado.\n" #: parted/parted.c:2418 msgid "mkpartfs" msgstr "mkpartfs" #: parted/parted.c:2421 #, fuzzy msgid "" "mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system" msgstr "" "mkpartfs TIPO-PARTICION TIPO-SF INICIO FIN\n" " crear unha partición cun sistema de " "ficheiros" #: parted/parted.c:2427 msgid "move" msgstr "move" #: parted/parted.c:2430 #, fuzzy msgid "move NUMBER START END move partition NUMBER" msgstr "move MENOR INICIO FIN move-la partición MENOR" #: parted/parted.c:2435 msgid "name" msgstr "name" #: parted/parted.c:2438 #, fuzzy msgid "name NUMBER NAME name partition NUMBER as NAME" msgstr "name MENOR NOME poñe-lo NOME á partición MENOR" #: parted/parted.c:2443 msgid "print" msgstr "print" #: parted/parted.c:2446 msgid "" "print [devices|free|list,all|NUMBER] display the partition table, " "available devices, free space, all found partitions, or a particular " "partition" msgstr "" #: parted/parted.c:2451 #, fuzzy msgid "" "Without arguments, 'print' displays the entire partition table. However with " "the following arguments it performs various other actions.\n" msgstr "" "Sen argumentos, print amosa toda a táboa de particións. Se se dá\n" "un número de partición, hase amosar información máis detallada sobre\n" "esa partición.\n" #: parted/parted.c:2453 msgid " devices : display all active block devices\n" msgstr "" #: parted/parted.c:2454 msgid "" " free : display information about free unpartitioned space on the " "current block device\n" msgstr "" #: parted/parted.c:2456 msgid "" " list, all : display the partition tables of all active block devices\n" msgstr "" #: parted/parted.c:2457 msgid "" " NUMBER : display more detailed information about this particular " "partition\n" msgstr "" #: parted/parted.c:2462 msgid "quit" msgstr "quit" #: parted/parted.c:2465 #, fuzzy msgid "quit exit program" msgstr "quit saír do programa" #: parted/parted.c:2470 msgid "rescue" msgstr "rescue" #: parted/parted.c:2473 #, fuzzy msgid "" "rescue START END rescue a lost partition near START " "and END" msgstr "" "rescue INICIO FIN recupera unha partición perdida entre INICIO e " "FIN" #: parted/parted.c:2479 msgid "resize" msgstr "resize" #: parted/parted.c:2482 #, fuzzy msgid "" "resize NUMBER START END resize partition NUMBER and its " "file system" msgstr "" "rescue INICIO FIN recupera unha partición perdida entre INICIO e " "FIN" #: parted/parted.c:2490 msgid "rm" msgstr "rm" #: parted/parted.c:2493 #, fuzzy msgid "rm NUMBER delete partition NUMBER" msgstr "rm MENOR borra-la partición MENOR" #: parted/parted.c:2498 msgid "select" msgstr "select" #: parted/parted.c:2501 #, fuzzy msgid "select DEVICE choose the device to edit" msgstr "select DISPOSITIVO escolle-lo dispositivo a editar" #: parted/parted.c:2506 msgid "set" msgstr "set" #: parted/parted.c:2509 #, fuzzy msgid "" "set NUMBER FLAG STATE change the FLAG on partition NUMBER" msgstr "set MENOR MODIF ESTADO cambiar un MODIFicador na partición MENOR" #: parted/parted.c:2515 msgid "toggle" msgstr "" #: parted/parted.c:2518 #, fuzzy msgid "" "toggle [NUMBER [FLAG]] toggle the state of FLAG on " "partition NUMBER" msgstr "boot MENOR establece-la partición de arrinque a MENOR" #: parted/parted.c:2524 #, fuzzy msgid "unit" msgstr "quit" #: parted/parted.c:2527 #, fuzzy msgid "unit UNIT set the default unit to UNIT" msgstr "quit saír do programa" #: parted/parted.c:2532 msgid "version" msgstr "" #: parted/parted.c:2535 msgid "" "version display the version number and " "copyright information of GNU Parted" msgstr "" #: parted/parted.c:2539 msgid "" "'version' displays copyright and version information corresponding to this " "copy of GNU Parted\n" msgstr "" #: parted/parted.c:2607 #, c-format msgid "Usage: %s [-hlmsv] [-a] [DEVICE [COMMAND [PARAMETERS]]...]\n" msgstr "" #: parted/parted.c:2651 msgid "No device found" msgstr "Non se atopou o dispositivo." #: parted/parted.c:2688 msgid "WARNING: You are not superuser. Watch out for permissions." msgstr "" #: parted/parted.c:2726 #, fuzzy msgid "You may need to update /etc/fstab.\n" msgstr "Non esqueza actualizar /etc/fstab, se é necesario.\n" #: parted/ui.c:162 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n" msgstr "" #: parted/ui.c:165 #, fuzzy msgid "" "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n" "Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run " "in\n" "interactive mode.\n" msgstr "" "Uso: parted [OPCIÓN]... [DISPOSITIVO [COMANDO [PARÁMETROS]...]...]\n" "Aplica-lo COMANDO cos PARÁMETROS ao DISPOSITIVO. Se non se indica ningún\n" "COMANDO, funciona en modo interactivo.\n" #: parted/ui.c:170 #, c-format msgid "" "\n" "\n" "You found a bug in GNU Parted! Here's what you have to do:\n" "\n" "Don't panic! The bug has most likely not affected any of your data.\n" "Help us to fix this bug by doing the following:\n" "\n" "Check whether the bug has already been fixed by checking\n" "the last version of GNU Parted that you can find at:\n" "\n" "\thttp://ftp.gnu.org/gnu/parted/\n" "\n" "Please check this version prior to bug reporting.\n" "\n" "If this has not been fixed yet or if you don't know how to check,\n" "please visit the GNU Parted website:\n" "\n" "\thttp://www.gnu.org/software/parted\n" "\n" "for further information.\n" "\n" "Your report should contain the version of this release (%s)\n" "along with the error message below, the output of\n" "\n" "\tparted DEVICE unit co print unit s print\n" "\n" "and the following history of commands you entered.\n" "Also include any additional information about your setup you\n" "consider important.\n" msgstr "" #: parted/ui.c:291 msgid "" "\n" "Command History:\n" msgstr "" #: parted/ui.c:354 msgid "" "\n" "Error: SEGV_MAPERR (Address not mapped to object)\n" msgstr "" #: parted/ui.c:360 msgid "" "\n" "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n" msgstr "" #: parted/ui.c:365 msgid "" "\n" "Error: A general SIGSEGV signal was encountered.\n" msgstr "" #: parted/ui.c:389 msgid "" "\n" "Error: FPE_INTDIV (Integer: divide by zero)" msgstr "" #: parted/ui.c:394 msgid "" "\n" "Error: FPE_INTOVF (Integer: overflow)" msgstr "" #: parted/ui.c:399 msgid "" "\n" "Error: FPE_FLTDIV (Float: divide by zero)" msgstr "" #: parted/ui.c:404 msgid "" "\n" "Error: FPE_FLTOVF (Float: overflow)" msgstr "" #: parted/ui.c:409 msgid "" "\n" "Error: FPE_FLTUND (Float: underflow)" msgstr "" #: parted/ui.c:414 msgid "" "\n" "Error: FPE_FLTRES (Float: inexact result)" msgstr "" #: parted/ui.c:419 msgid "" "\n" "Error: FPE_FLTINV (Float: invalid operation)" msgstr "" #: parted/ui.c:424 msgid "" "\n" "Error: FPE_FLTSUB (Float: subscript out of range)" msgstr "" #: parted/ui.c:429 msgid "" "\n" "Error: A general SIGFPE signal was encountered." msgstr "" #: parted/ui.c:453 msgid "" "\n" "Error: ILL_ILLOPC (Illegal Opcode)" msgstr "" #: parted/ui.c:458 msgid "" "\n" "Error: ILL_ILLOPN (Illegal Operand)" msgstr "" #: parted/ui.c:463 msgid "" "\n" "Error: ILL_ILLADR (Illegal addressing mode)" msgstr "" #: parted/ui.c:468 msgid "" "\n" "Error: ILL_ILLTRP (Illegal Trap)" msgstr "" #: parted/ui.c:473 msgid "" "\n" "Error: ILL_PRVOPC (Privileged Opcode)" msgstr "" #: parted/ui.c:478 msgid "" "\n" "Error: ILL_PRVREG (Privileged Register)" msgstr "" #: parted/ui.c:483 msgid "" "\n" "Error: ILL_COPROC (Coprocessor Error)" msgstr "" #: parted/ui.c:488 msgid "" "\n" "Error: ILL_BADSTK (Internal Stack Error)" msgstr "" #: parted/ui.c:493 msgid "" "\n" "Error: A general SIGILL signal was encountered." msgstr "" #: parted/ui.c:892 #, fuzzy, c-format msgid "invalid token: %s" msgstr "Non se puido abrir %s." #: parted/ui.c:1048 msgid "Expecting a partition number." msgstr "Espérase un número de partición." #: parted/ui.c:1057 msgid "Partition doesn't exist." msgstr "A partición non existe." #: parted/ui.c:1077 msgid "Expecting a file system type." msgstr "Espérase un tipo de sistema de ficheiros." #: parted/ui.c:1084 #, c-format msgid "Unknown file system type \"%s\"." msgstr "Tipo de sistema de ficheiros \"%s\" descoñecido." #: parted/ui.c:1104 msgid "Expecting a disk label type." msgstr "Espérase un tipo de etiqueta de disco." #: parted/ui.c:1202 msgid "Can't create any more partitions." msgstr "Non se poden crear máis particións." #: parted/ui.c:1212 msgid "Expecting a partition type." msgstr "Espérase un tipo de partición." #: parted/ui.c:1360 msgid "on" msgstr "on" #: parted/ui.c:1361 msgid "off" msgstr "off" #: parted/ui.c:1378 msgid "optimal" msgstr "" #: parted/ui.c:1379 msgid "minimal" msgstr "" #: parted/ui.c:1512 msgid "OPTIONs:" msgstr "OPCIÓNs:" #: parted/ui.c:1517 msgid "COMMANDs:" msgstr "COMANDOs:" #: parted/ui.c:1520 #, c-format msgid "" "\n" "Report bugs to %s\n" msgstr "" #: parted/ui.c:1527 #, c-format msgid "Using %s\n" msgstr "Usando %s\n" #: parted/ui.c:1601 msgid "This command does not make sense in non-interactive mode.\n" msgstr "" #, fuzzy #~ msgid "Unable to determine the block size of this dasd" #~ msgstr "Non se puido determina-lo tamaño de %s (%s)" #, fuzzy #~ msgid "" #~ "The kernel was unable to re-read the partition table on %s (%s). This " #~ "means Linux won't know anything about the modifications you made until " #~ "you reboot. You should reboot your computer before doing anything with " #~ "%s." #~ msgstr "" #~ "O kernel non puido volver le-la táboa de particións de %s (%s). Isto " #~ "quere dicir que Linux non sabe nada das modificacións que Vd. fixo, ata " #~ "que reinicie. Debería reinicia-lo seu ordenador antes de facer nada con " #~ "%s." #~ msgid "" #~ "The sector size on %s is %d bytes. Parted is known not to work properly " #~ "with drives with sector sizes other than %d bytes" #~ msgstr "" #~ "O tamaño dos sectores de %s é de %d bytes. Sábese que parted non traballa " #~ "correctamente con unidades que teñan un tamaño de sector distinto de %d " #~ "bytes" #~ msgid "Device %s has dodgey geometry." #~ msgstr "O dispositivo %s ten unha xeometría moi estraña." #~ msgid "IDE" #~ msgstr "IDE" #~ msgid "SCSI" #~ msgstr "SCSI" #~ msgid "Device %s is neither a SCSI nor IDE drive." #~ msgstr "O dispositivo %s non é unha unidade SCSI nin IDE." #~ msgid "Error reading %s (%s) to determine if partition is mounted." #~ msgstr "Erro ao ler %s (%s) para determinar se a partición está montada." #~ msgid "" #~ "Unable to determine if partitions are mounted via /proc/mounts or /etc/" #~ "mtab. Make sure you don't attempt to resize or modify mounted file " #~ "systems. (Even read-only mounted)" #~ msgstr "" #~ "Non se puido determinar se as particións están montadas mediante /proc/" #~ "mounts ou /etc/mtab. Asegúrese de que non tenta cambia-lo tamaño ou " #~ "modificar sistemas de ficheiros montados (incluso se están montados en só-" #~ "lectura)." #~ msgid "" #~ "The partition table on %s is inconsistent. There are many reasons why " #~ "this might be the case. However, the most likely reason is that Linux " #~ "detected the BIOS geometry for %s incorrectly. GNU Parted suspects the " #~ "real geometry should be %d/%d/%d (not %d/%d/%d). You should check with " #~ "your BIOS first, as this may not be correct. You can inform Linux by " #~ "adding the parameter %s=%d,%d,%d to the command line. See the LILO or " #~ "GRUB documentation for more information. If you think Parted's suggested " #~ "geometry is correct, you may select Ignore to continue (and fix Linux " #~ "later). Otherwise, select Cancel (and fix Linux and/or the BIOS now)." #~ msgstr "" #~ "A táboa de particións de %s non é consistente. Hai moitos motivos polos " #~ "que isto puido pasar. Nembargantes, o motivo máis probable é que Linux " #~ "detectara a xeometría da BIOS de %s incorrectamente. GNU Parted sospeita " #~ "que a verdadeira xeometría debería ser %d/%d/%d (e non %d/%d/%d). Debería " #~ "comprobar isto coa BIOS primeiro, porque todo isto podería non ser " #~ "correcto. Pode informar a Linux engadindo o parámetro %s=%d,%d,%d na liña " #~ "de comando. Vexa a documentación de LILO ou GRUB para obter máis " #~ "información. Se cre que a xeometría suxerida por Parted é correcta, pode " #~ "escoller \"Ignorar\" para continuar (e arranxar Linux despois). Noutro " #~ "caso, escolla \"Cancelar\" (e arranxe Linux e/ou a BIOS agora)." #~ msgid "" #~ "The partition table on %s is inconsistent. There are many reasons why " #~ "this might be the case. Often, the reason is that Linux detected the " #~ "BIOS geometry incorrectly. However, this does not appear to be the case " #~ "here. It is safe to ignore,but ignoring may cause (fixable) problems " #~ "with some boot loaders, and may cause problems with FAT file systems. " #~ "Using LBA is recommended." #~ msgstr "" #~ "A táboa de particións de %s non é consistente. Hai moitos motivos polos " #~ "que isto puido pasar. Moitas veces, o motivo é que Linux detectou a " #~ "xeometría da BIOS incorrectamente. Nembargantes, este non parece se-lo " #~ "caso agora. Pódese ignorar isto de xeito seguro pero facelo pode causar " #~ "problemas (que se poden arranxar) con algúns cargadores de inicio, e " #~ "tamén pode causar problemas con sistemas de ficheiros FAT. Recoméndase o " #~ "emprego de LBA." #~ msgid "" #~ "Unable to align partition properly. This probably means that another " #~ "partitioning tool generated an incorrect partition table, because it " #~ "didn't have the correct BIOS geometry. It is safe to ignore,but ignoring " #~ "may cause (fixable) problems with some boot loaders." #~ msgstr "" #~ "Non se puido aliña-la partición correctamente. Isto, seguramente, " #~ "signifique que outra ferramenta de particionamento xerou unha táboa de " #~ "particións incorrecta, porque non tiña a xeometría da BIOS correcta. " #~ "Pódese ignorar de xeito seguro, pero facelo pode provocar problemas (que " #~ "se poden arranxar) con algúns cargadores de inicio." #~ msgid "Attempt to read sectors %ld-%ld outside of partition on %s" #~ msgstr "Tentáronse le-los sectores %ld-%ld fóra da partición en %s" #~ msgid "" #~ "This ext2 filesystem has a rather strange layout! Parted can't resize " #~ "this (yet)." #~ msgstr "" #~ "¡Este sistema de ficheiros ten unha organización moi estraña! Parted non " #~ "lle pode cambia-lo tamaño a isto (aínda)." #~ msgid "Filesystem has incompatible feature enabled" #~ msgstr "" #~ "O sistema de ficheiros ten unha característica incompatible activada." #~ msgid "File system has an invalid signature for a FAT file systems." #~ msgstr "" #~ "O sistema de ficheiros ten unha sinatura incorrecta para un sistema de " #~ "ficheiros FAT." #~ msgid "where necessary, prompts for user intervention" #~ msgstr "onde sexa necesario, pedi-la intervención do usuario" #~ msgid "START and END are in megabytes\n" #~ msgstr "INICIO e FIN indícanse en megabytes\n" #~ msgid "Partition %s is being used." #~ msgstr "Estase a usa-la partición %s." #~ msgid "" #~ "You requested to move the partition to %.3f-%.3fMb. The closest Parted " #~ "can manage is %.3f-%.3fMb." #~ msgstr "" #~ "Solicitou move-la partición a %.3f-%.3fMb. O máis semellante que pode " #~ "manexar Parted é %.3f-%.3fMb." #~ msgid "Disk geometry for %s: 0.000-%.3f megabytes\n" #~ msgstr "Xeometría de disco de %s: 0.000-%.3f megabytes\n" #~ msgid "Disk label type: %s\n" #~ msgstr "Tipo de etiqueta de disco: %s\n" #~ msgid "Minor Start End " #~ msgstr "Menor Inicio Fin " #~ msgid "Type " #~ msgstr "Tipo " #~ msgid "Filesystem " #~ msgstr "Sistema de ficheiros " #~ msgid "Name " #~ msgstr "Nome " #~ msgid "" #~ "You requested to resize the partition to %.3f-%.3fMb. The closest Parted " #~ "can manage is %.3f-%.3fMb." #~ msgstr "" #~ "Solicitou cambia-lo tamaño da partición a %.3f-%.3fMb. O máis semellante " #~ "que pode manexar Parted é %.3f-%.3fMb." #~ msgid "" #~ "print [MINOR] display the partition table, or a partition" #~ msgstr "" #~ "print [MENOR] amosa-la táboa de particións ou unha " #~ "partición" #~ msgid "resize MINOR START END resize filesystem on partition MINOR" #~ msgstr "" #~ "resize MENOR INICIO FIN cambia o tamaño do sistema de ficheiros da part. " #~ "MENOR" #~ msgid "" #~ "You found a bug in GNU Parted. Please email a bug report to bug-" #~ "parted@gnu.org containing the version (%s), and the following message:\n" #~ msgstr "" #~ "Atopou un erro en GNU parted. Por favor, envíe un informe de erro a bug-" #~ "parted@gnu.org que conteña a versión (%s) e a seguinte mensaxe:\n" #~ msgid "" #~ " You have Windows FAT partition(s) that are not using LBA. If your BIOS " #~ "supports LBA, then you should switch to LBA by setting the LBA flag on " #~ "all FAT partitions. Otherwise, make sure the operating system and the " #~ "BIOS have the same geometry before resizing any FAT partitions." #~ msgstr "" #~ " Ten particións FAT de Windows que non empregan LBA. Se a BIOS soporta " #~ "LBA debería cambiar a LBA estabrecendo o modificador LBA en tódalas " #~ "particións FAT. Noutro caso, asegúrese de que o sistema operativo e a " #~ "BIOS teñen a mesma xeometría antes de cambia-lo tamaño de ningunha " #~ "partición FAT." #~ msgid "" #~ "The operating system thinks the geometry on %s is %d/%d/%d. Therefore, " #~ "cylinder 1024 ends at %.3fM.%s" #~ msgstr "" #~ "O sistema operativo cre que a xeometría de %s é %d/%d/%d. Polo tanto, o " #~ "cilindro 1024 remata en %.3fM.%s" #~ msgid "The operating system thinks the geometry on %s is %d/%d/%d.%s" #~ msgstr "O sistema operativo cre que a xeometría de %s é %d/%d/%d.%s" #~ msgid "" #~ "The FATs aren't big enough to describe all clusters! Each FAT is %d " #~ "sectors. There are %d clusters, which would require each FAT to be %d " #~ "sectors. This is REALLY weird. You might want to write us an email: bug-" #~ "parted@gnu.org" #~ msgstr "" #~ "¡As FATs non son grandes dabondo para describir tódolos clusters! Cada " #~ "FAT ten %d sectores. Hai %d clusters, que precisan que cada FAT teña %d " #~ "sectores. Isto SI que é estraño. Se cadra debería mandarnos unha mensaxe " #~ "electrónica: bug-parted@gnu.org" # ¿Para que carallo pon este a abreviatura MB en minúsculas, # cando todo o mundo sabe que é en maiúsculas? - jt #~ msgid "" #~ "This swap partition is not compatible with Linux version 2.1.117 or " #~ "earlier. Use a smaller partition (maximum size 128mb) if you want to use " #~ "old versions of Linux." #~ msgstr "" #~ "Esta partición de intercambio non é compatible con Linux versión 2.1.117 " #~ "ou anterior. Empregue unha partición máis pequena (tamaño máximo 128MB) " #~ "se quere usar versións antigas de Linux." #~ msgid "unknown" #~ msgstr "descoñecido" #~ msgid "Unknown SCSI" #~ msgstr "SCSI descoñecido" #~ msgid "GUID Partition Table Header Signature is wrong: " #~ msgstr "A Sinatura Cabeceira da Táboa de Particións GUID é incorrecta: " #~ msgid " should be " #~ msgstr " debía ser " #~ msgid "GPT Header CRC check failed, %x should be %x." #~ msgstr "A comprobación CRC da Cabeceira GPT, %x debía ser %x." #~ msgid "GPT Partition Entry Array CRC check failed, %x should be %x." #~ msgstr "" #~ "A comprobación CRC do Array de Entradas da Partición GPT fallou, %x debía " #~ "ser %x." #~ msgid "" #~ "This disk contains a valid Primary and Alternate GUID Partition Table but " #~ "the Protective MBR is invalid. This generally means that the disk had " #~ "GPT partitions on it, but then a legacy partition editing tool was used " #~ "to change the partition table stored in the MBR.\n" #~ "Which data is valid, GPT or MBR?\n" #~ "Yes will assume that the GPT information is correct, and rewrite the " #~ "PMBR.\n" #~ "No will assume that the MBR is correct, and erase the GPT information.\n" #~ "Ignore will assume that the MBR is correct, but not change the disk." #~ msgstr "" #~ "Este disco contén unha Táboa de Partición GUID Primaria e Alternativa, " #~ "pero o MBR Protector non é válido. Isto adoita significar que o disco " #~ "tiña particións GPT, pero despois empregouse unha ferramenta de " #~ "particionamento antiga para cambia-la táboa de particións armacenada no " #~ "MBR.\n" #~ "¿Que datos son válidos, GPT ou MBR?\n" #~ "Si ha supor que a información GPT é correcta, e ha regrava-lo PMBR.\n" #~ "Non ha supor que o MBR é correcto, e ha borra-la información GPT.\n" #~ "Ignorar ha supor que o MBR é correcto, pero non ha cambia-lo disco." #~ msgid "" #~ "This disk contains a valid Alternate GUID Partition Table but the Primary " #~ "GPT and Protective MBR are invalid. This generally means that the disk " #~ "had GPT partitions on it, but then a legacy partition editing tool was " #~ "used to change the partition table stored in the MBR.\n" #~ "Which data is valid, GPT or MBR?\n" #~ "Yes will assume that the GPT information is correct, and will rewrite the " #~ "PMBR and Primary GPT.\n" #~ "No will assume that the MBR is correct, and erase the GPT information.\n" #~ "Ignore will assume that the MBR is correct, but not change the disk." #~ msgstr "" #~ "Este disco contén unha Taboa de Particións GUID Alternativa válida, pero " #~ "a GPT Primaria e o MBR Protector non son válidos. Isto adoita significar " #~ "que o disco tivo particións GPT pero despois empregouse unha ferramenta " #~ "de particionamento antiga para cambia-la táboa de particións armacenada " #~ "no MBR.\n" #~ "¿Que datos son válidos, GPT ou MBR?\n" #~ "Si ha supor que a información GPT é correcta, e ha regrava-lo PMBR e a " #~ "GPT Primaria.\n" #~ "Non ha supor que o MBR é correcto, e ha borra-la información GPT.\n" #~ "Ignorar ha supor que o MBR é correcto, pero non ha cambia-lo disco." #~ msgid "" #~ "This disk contains a valid Primary GUID Partition Table but the Alternate " #~ "GPT and Protective MBR are invalid. This generally means that the disk " #~ "had GPT partitions on it, but then a legacy partition editing tool was " #~ "used to change the partition table stored in the MBR.\n" #~ "Which data is valid, GPT or MBR?\n" #~ "Yes will assume that the GPT information is correct, and will rewrite the " #~ "PMBR and Alternate GPT.\n" #~ "No will assume that the MBR is correct, and erase the GPT information.\n" #~ "Ignore will assume that the MBR is correct, but not change the disk.\n" #~ msgstr "" #~ "Este disco contén unha Taboa de Particións GUID Primaria válida, pero a " #~ "GPT Alternativa e o MBR Protector non son válidos. Isto adoita significar " #~ "que o disco tivo particións GPT pero despois empregouse unha ferramenta " #~ "de particionamento antiga para cambia-la táboa de particións armacenada " #~ "no MBR.\n" #~ "¿Que datos son válidos, GPT ou MBR?\n" #~ "Si ha supor que a información GPT é correcta, e ha regrava-lo PMBR e a " #~ "GPT Alternativa.\n" #~ "Non ha supor que o MBR é correcto, e ha borra-la información GPT.\n" #~ "Ignorar ha supor que o MBR é correcto, pero non ha cambia-lo disco.\n" #~ msgid "The new partition overlaps with another partition." #~ msgstr "A nova partición superponse con outra partición." #~ msgid "Can't set non-Linux partitions as a root device." #~ msgstr "Non se poden estabrecer particións non Linux coma dispositivo raiz." #~ msgid "Can't set non-Linux partitions as a swap device." #~ msgstr "" #~ "Non se poden estabrecer particións non Linux coma dispositivo de " #~ "intercambio." #~ msgid "No get_resize_constraint for %s!" #~ msgstr "¡%s non ten get_resize_constraint!" #~ msgid "The %s file system code doesn't support %s disk labels." #~ msgstr "" #~ "O código do sistema de ficheiros %s non soporta etiquetas de disco %s." #~ msgid "Creating new %s disklabels is not implemented yet." #~ msgstr "" #~ "A creación de novas etiquetas de disco %s non está implementado ainda." #~ msgid "The code to write the partition table hasn't been written for %s yet" #~ msgstr "" #~ "Ainda non se escribíu o código de escritura de táboas de particións para " #~ "%s" #~ msgid "" #~ "Can't resize an extended partition so as to exclude a logical partition." #~ msgstr "" #~ "Non se pode cambia-lo tamaño dunha partición estendida escluindo unha " #~ "partición lóxica." #~ msgid "Can't grow a partition onto used space." #~ msgstr "Non se pode facer medra-la partición sobre espacio usado." #~ msgid "Insane! %d clusters!" #~ msgstr "¡Isto é unha toleada! ¡%d clusters!" #~ msgid "" #~ "The filesystem is going to be too big for FAT16, so FAT32 will be used. " #~ "This is not compatible with MS-DOS, early versions of MS-Windows 95 and " #~ "Windows NT. If you use these operating systems, then select cancel, and " #~ "create a smaller partition. If you only use Linux, BSD, MS Windows 98 " #~ "and/or MS Windows 95 B, then select OK." #~ msgstr "" #~ "O sistema de ficheiros vai ser grande de máis para FAT16, así que usarase " #~ "FAT32. Isto non é compatible con MS-DOS, versións antigas de MS-Windows " #~ "95 e Windows NT. Se usa eses sistemas operativos, escolla `Cancelar', e " #~ "cree unha partición máis pequena. Se só usa Linux, BSD, MS Windows 98 e/" #~ "ou MS Windows 95 B, entón escolla `Aceptar'." #~ msgid "Weird: fat_calc_sizes() failed for FAT32!" #~ msgstr "Estraño: ¡fallou a chamada a fat_calc_sizes() para FAT32!" #~ msgid "" #~ "Would you like to use FAT32 for this filesystem? It is much more " #~ "efficient with your disk space, but is not compatible with early versions " #~ "of Windows 95 and Windows NT. Only select yes if you only use Linux, " #~ "BSD, MS Windows 98 and/or MS Windows 95 B." #~ msgstr "" #~ "¿Quere usar FAT32 neste sistema de ficheiros? É moito máis eficiente co " #~ "seu espacio en disco, pero non é compatible con versións antigas de " #~ "Windows 95 e Windows NT. Escolla `Si' só se só usa Linux, BSD, MS Windows " #~ "98 e/ou MS Windows 95 B." #~ msgid "" #~ "File system doesn't have expected sizes for Windows to like it. Number " #~ "of clusters is %d (%d expected); size of FATs is %d sectors (%d expected)." #~ msgstr "" #~ "O sistema de ficheiros non ten os tamaños esperados para que a Windows " #~ "lle goste. O número de clusters é %d (esperábanse %d); o tamaño das FATs " #~ "é de %d sectores (esperábanse %d)." #~ msgid "" #~ "Partition size (%ld sectors) and filesystem size (%ld sectors) do not " #~ "match." #~ msgstr "" #~ "O tamaño da partición (%ld sectores) e o do sistema de ficheiros (%ld " #~ "sectores) non coinciden." #~ msgid "Linux-swap partitions can not be hidden on msdos disk labels." #~ msgstr "" #~ "As particións de intercambio de Linux non poden estar ocultas nas " #~ "etiquetas de disco msdos." #~ msgid "Linux-swap partitions can not be bootable on pc98 disk labels." #~ msgstr "" #~ "As particións de intercambio de Linux non poden ser de inicio nas " #~ "etiquetas de disco msdos." #~ msgid "HFS partitions can't be hidden on msdos disk labels." #~ msgstr "" #~ "As particións HFS non poden estar ocultas nas etiquetas de disco msdos." #~ msgid "JFS partitions can't be hidden on msdos disk labels." #~ msgstr "" #~ "As particións JFS non poden estar ocultas nas etiquetas de disco msdos." #~ msgid "Reiserfs partitions can't be hidden on msdos disk labels." #~ msgstr "" #~ "As particións Reiserfs non poden estar ocultas nas etiquetas de disco " #~ "msdos." #~ msgid "Reiserfs partitions must be bootable on pc98 disk labels." #~ msgstr "" #~ "As particións Reiserfs deben ser de inicio nas etiquetas de disco pc98." #~ msgid "XFS partitions can't be hidden on msdos disk labels." #~ msgstr "" #~ "As particións XFS non poden estar ocultas nas etiquetas de disco msdos." #~ msgid "" #~ "The operating system thinks the geometry on %s is %d/%d/%d. You should " #~ "check that this matches the BIOS geometry before using this program." #~ msgstr "" #~ "O sistema operativo cre que a xeometría de %s é %d/%d/%d. Debería " #~ "comprobar que isto coincide coa xeometría da BIOS antes de usar este " #~ "programa." #~ msgid "" #~ "There is no boot code on this disk. Would you like to use GNU parted's " #~ "boot loader?" #~ msgstr "" #~ "Non hai un programa de arrinque neste disco. ¿Quere usa-lo cargador de " #~ "GNU parted?" #~ msgid "No get_system() for %s!" #~ msgstr "¡Non hai unha chamada get_system() para %s!" #~ msgid "Can't create a partition with the start after the end." #~ msgstr "Non se pode crear unha partición co comezo despois da fin." #~ msgid "" #~ "No filesystem found on partition. Can't determine what partition system " #~ "to use." #~ msgstr "" #~ "Non se atopou un sistema de ficheiros na partición. Non se puido " #~ "determina-lo sistema de particións a usar." #~ msgid "FAT filesystems don't have an id for non-msdos partition tables" #~ msgstr "" #~ "Os sistemas de ficheiros FAT non teñen un identificador para táboas de " #~ "particións que non son de msdos." #~ msgid "" #~ "Would you like to use FAT32? It is more efficient, but it is not " #~ "compatible with MS-DOS, early versions of MS-Windows 95 and Windows NT. " #~ "If you use these operating systems, then select No. If you only use " #~ "Linux, BSD, MS Windows 98 and/or MS Windows 95 B, then you may select Yes." #~ msgstr "" #~ "¿Quere usar FAT32? É Moi eficiente, pero non é compatible con MS-DOS, " #~ "versións antigas de MS-Windows 95 e Windows NT. Se usa eses sistemas " #~ "operativos, escolla `Non'. Se só usa Linux, BSD, MS Windows 98 e/ou MS " #~ "Windows 95 B, entón pode escoller `Si'." #~ msgid "" #~ "The filesystem is going to be too big for FAT16, so FAT32 must be used. " #~ "This is not compatible with MS-DOS, early versions of MS-Windows 95 and " #~ "Windows NT. If you use these operating systems, then select Cancel, and " #~ "create a smaller partition. If you only use Linux, BSD, MS Windows 98 " #~ "and/or MS Windows 95 B, then select OK." #~ msgstr "" #~ "O sistema de ficheiros vai ser grande de máis para FAT16, así que se ha " #~ "usar FAT32. Isto non é compatible con MS-DOS, versións antigas de MS-" #~ "Windows 95 e Windows NT. Se usa eses sistemas operativos, escolla " #~ "`Cancelar', e cree unha partición máis pequena. Se só usa Linux, BSD, MS " #~ "Windows 98 e/ou MS Windows 95 B, entón escolla `Aceptar'." #~ msgid "hide" #~ msgstr "hide" #~ msgid "Disk geometry: 1-%d, %dk cylinders\n" #~ msgstr "Xeometría de disco: 1-%d, %dk cilindros\n" #~ msgid "Minor Start End Type Filesystem Flags\n" #~ msgstr "" #~ "Menor Inicio Fin Tipo Sist.Ficheiros Modificadores\n" #~ msgid "unhide" #~ msgstr "unhide" #~ msgid "hide MINOR hides partition MINOR" #~ msgstr "hide MENOR agocha-la partición MENOR" #~ msgid "Partition length of %dk is too small." #~ msgstr "A lonxitude da partición de %dk é moi pequena." #~ msgid "There are no possible configurations for this cluster size." #~ msgstr "Non hai configuracións posibles para este tamaño de cluster." #~ msgid "" #~ "To resize this filesystem to this size, the cluster size must be changed " #~ "from %d bytes to %d bytes. This functionality is not yet implemented. " #~ "Note that there are many weird different sizes that can be achieved with " #~ "the same cluster size - if you keep experimenting with different " #~ "partition sizes, you might be lucky!!!" #~ msgstr "" #~ "Para cambiar este sistema de ficheiros a este tamaño, o tamaño do cluster " #~ "debe ser cambiado de %d bytes a %d bytes. Esta funcionalidade non está " #~ "implementada ainda. Teña en conta que hai moitos tamaños diferentes que " #~ "se poden conseguir co mesmo tamaño de cluster - ¡se segue a experimentar " #~ "con diferentes tamaños de partición, podería ter sorte!" #~ msgid "" #~ "The filesystem is going to be too big for FAT16, (with a cluster size of " #~ "%dk, anyway) so FAT32 will be used. This is not compatible with MS-DOS, " #~ "early versions of MS-Windows 95 and Windows NT. If you use these " #~ "operating systems, then select cancel, and create a smaller partition. " #~ "If you only use Linux, BSD, MS Windows 98 and/or MS Windows 95 B, then " #~ "select OK." #~ msgstr "" #~ "O sistema de ficheiros ha ser grande de máis para FAT16 (cun tamaño de " #~ "cluster de %d, de tódolos xeitos), así que se ha usar FAT32. Isto non é " #~ "compatible con MS-DOS, versións antigas de MS-Windows 95 e Windows NT. Se " #~ "usa estes sistemas operativos, escolla `Cancelar' e cree unha partición " #~ "máis pequena. Se só usa Linux, BSD, MS Windows 98 e/ou MS Windows 95 B, " #~ "escolla `Aceptar'." #~ msgid "the root directory" #~ msgstr "o directorio raiz" #~ msgid "fat_read_clusters: clusters %ld-%ld outside filesystem" #~ msgstr "" #~ "fat_read_clusters: os clusters %ld-%ld están fóra do sistema de ficheiros" #~ msgid "fat_write_clusters: clusters %ld-%ld outside filesystem" #~ msgstr "" #~ "fat_write_clusters: os clusters %ld-%ld están fóra do sistema de ficheiros" parted-2.3/po/ru.gmo0000644000000000000000000026272411400005706011302 00000000000000Þ•!$×,"ˆ-;‰-Å00Ø00 12:1*m1-˜1$Æ1*ë122%I2,o2&œ2)Ã2&í2,3#A3$e3!Š3&¬3(Ó3<ü3394m40„4,µ45â4P5/i5]™5G÷5&?6f6ƒ6 Š6+•6+Á6í6# 7#07T70r70£7Ô70ó7($8(M8v8 –8'·8%ß8)9/9'O9`w92Ø:< ;H;];{;š;7°;(è;%<7<T<p<Žr<^=`=Wd=¼=]Ù=Õ7> ?"?+5?Ba?F¤?!ë?0 @<>@D{@!À@Pâ@]3AH‘AÚAúA$BD=B‚B"˜B-»B‡éBqC uCLC>ÌC D!(D)JD!tDG–D(ÞD<E@DE2…E"¸E?ÛE!F2=FpF0wF]¨F=GDDGI‰GÓGZæGoAH"±I*ÔIÿI4J5RJ(ˆJ±JÐJïJK-KIKfK)†K-°K$ÞKL<"L=_LL½LÝLýLM:M4XMM8ªM'ãM7 NCN'ZN‚N8žN8×NOë.O#P>P/YP ‰Q –Q¡Q°Q´Q¹Q¿QØÞQ&·RÞR(óRBS$_S„S¡S¿SÝS:ùS\4T=‘T?ÏT>UNU_U&sUšU  U¬U ½U¶ÉU€V>’V*ÑVLüV=IW;‡W/ÃW<óW+0XH\X*¥XÐXðX>YAYÁYÅYÕY ÛYHæY /ZK:Z0†Z}·Zc5[ ™[¥[´[È[Ûá[I½\G^UO^¥^¬^-Ì^ú^ ` `$`;`X`t`9Œ`Æ`4Ö`4 a@a$_a„a–a)±aKÛa>'blfb:ÓbDcmScÁcØcçcdd d+d;d”Vdëd ðdüd eee1eAeJeie…e8ŸeØe¢öe™f±f¸f»f+Äf/ðf/ gPg0_g?gTÐg.%h)Th.~hN­hQühNici)|i¦i¶i-Èiöi"j#)jMjejC€j$ÄjéjœïjŒk,¦kÓkØk7çk*l+Jl3vl7ªlâlñl mmmmH7m<€m;½m<ùmM6n;„n>Àn<ÿnDÚop‚5pí¸pÖ¦q<}rHºr<s@s‚ÂsFEt/Œt^¼tpuoŒucüu``vhÁvH*wHsw ¼wÙÝw*·x?âx0"y0Syˆ„zš {¨{,*|W|u|7•|¨Í|¶v~@-@nR¯g€gj€/Ò€t7wp¯; ‚E\‚<¢‚Fß‚:&ƒƒaƒfåƒ;L„Uˆ„Þ„ò„…+…&>…e…0ç…1†ˆJ†1Ó†2‡8‡=‡(N‡(w‡& ‡tLJ(<ˆAeˆ§ˆºˆ3ш‰ ‰‰2‰N‰c‰u‰‡‰ ™‰¦‰¾‰$Ô‰*ù‰$Š DŠåŠ ùŠ#‹#'‹K‹;e‹¡‹H©‹+ò‹?Œˆ^ŒçŒ;3W/‹+»'ç#Ž3ŽSŽoŽŽ˜Ž#œŽbÀŽ~#P¢?ó39? AOTMZ¨±ÉÑNÔ#‘!,‘N‘c‘ ~‘ˆ‘)‘‘.»‘.ê‘’’2’O7’‡’ Ž’™’ «’¹’+½’é’ñ’õ’“““Q“n“9u“¯“L¸“” ”>”Q”Y”F^”#¥”ɔ͔ ДÛ”ô”…ù”)•©•®•¶•”¼•Q–5V–Œ–‘– £–®–É–SЖ$—T+—€—@ƒ—Ä—É— ä—ï—˜B˜R˜LV˜ £˜­˜Øâ˜ç˜Uî˜D™V™i™En™´™k¼™ (š"4šWšrššê¦šL‘œÞ¡Aý¡A?¢C¢?Å¢L£;R£>Ž£KÍ£,¤DF¤@‹¤J̤A¥SY¥;­¥Cé¥C-¦Eq¦M·¦q§Mw§3ŧ`ù§JZ¨S¥¨ù¨_y©µÙ©ˆª[«.t«£« ª«\µ«Q¬8d¬O¬Ií¬77­`o­`Э31®`e®eÆ®B,¯Oo¯Y¿¯U°Qo°GÁ°: ±ED±HбfÓ³‚:´'½´Oå´O5µ'…µ~­µP,¶F}¶5Ķ3ú¶.·á1·u¸‰¸}Œ¸5 ¹¿@¹‘º-’»À»HÝ»a&¼ƒˆ¼8 ½[E½`¡½y¾8|¾†µ¾¼<¿ˆù¿h‚ÀDëÀN0ÁŒÁJ Â:WÂE’ ØÂ äÃñÔÄ~–Ä@ÅPVÅY§ÅBƃDÆ^ÈÆh'Ç{Çn ÈT{ȧÐÈPxÉhÉÉ2ÊCÊvÃÊ|:Ëš·ËšRÌíÌ‘Íá’ÍHtÐY½ÐIÑRaÑS´Ñ\Ò4eÒ4šÒ4ÏÒ4Ó59Ó9oÓ6©ÓWàÓ[8ÔH”ÔOÝÔb-ÕcÕ4ôÕ4)Ö4^Ö4“Ö5ÈÖ9þÖk8×9¤×ƒÞ×HbØ«Ø +ÙNLÙ=›Ù~ÙÙ~XÚ"×ÚØúÚOÓÜ2#Ý7Vݎߟß!µß ×ß âß îß8ûßq4àI¦á$ðá@âbVâ=¹â4÷â:,ã-gã)•ãq¿ãº1ä˜ìä•…åæ©æÂæEÞæ$ç#Dç$hçç-­ç3ÛèeéUué†ËécRêZ¶êiëˆ{ëIì›NìjêìNUí'¤í‰ÌíVîWï%jï ï›ï«ï+ðIðXÙðØ2ñÏ òÛòîòó"ót;ó °ôl¼ö‘)÷»÷CÔ÷;ø¼Tøú&ú6EúE|ú@Âú2û…6û$¼û_áûkAü9­üUçü2=ý@pýR±ýþn„þ“óþp‡ÿ‘øÿºŠ!E'g,#¼%à<2ío] d(…®ÍÔ(ðG9D1Æ\øEUJ›2æ $ 'm3Y¡Yû&U^|rÛ©N Jø PC M” |â ™_ $ù ' NF • ¬ hÇ 0 0G Kx %Ä Eê o0C äÿ÷!÷C ]jdƒuèv^oÕsE&¹+à  '16}hlærSlÆ3lµ_"}‚s€t_õOU¥W“Y®qUzÿÐïÐ^ÀP Ÿp Ê!ÆÛ!¸¢"·[#Ø$°ì$°%>N&‹&A([(Û(<[)˘+#d,Àˆ-;I.@….BÆ.K /‹U/Sá2N54J„4½Ï4½5¼K6n7Ëw7TC8¿˜8jX9‰Ã9kM:й:fD; «;À¸<Yy=·Ó=6‹>;Â><þ>=;?[y?äÕ?Aº@Bü@õ?AA5BBwBºBÁBQÛBQ-CACãÁC>¥D}äD&bE8‰EsÂE6FLFCcF3§F6ÛF+G+>G+jG"–G9¹G3óG8'H``HLÁHJIYJmJWŠJWâJ(:K\cKÀKuÝKSSL|§LØ$M1ýM/NGKN7“N3ËN/ÿN+/O'[O#ƒO§OÇO>ÝOP3!PÕUPó+QºR™ÚR tS ~SˆS‹S«SÂSzÈSCT-TT‚T™TŠœT'UP8U!‰UC«UïUVEV[aV[½VW6*WaW‚fWéW øW&X*X?X`CX¤X¹X#½XáXöXûXzY~YN…YÔYsÝYQZYZm^ZÌZÔZhÙZ^B[¡[ª[±[7Ï[\Ì \OÙ\)].]?]E]F^CK^^#”^¸^<Ò^_ _·_ˆ¾_G`LJ`—`(¨`/Ñ`-a/an6a¥ak©ab2$bHWb b±b}¸b,6c.cc’c†—cd&d·dRÑdC$e,he>•eÅ[K†]›éÜÁ¸ªÉ"-oižQš‰ØÊ£®¿D'…˜Þ»1TF ^Ë3!…&qf„n™æð;ü³ƒú« %7Jv¡*Œ¨éëMSB¥Â8b!—û¬g¡¢–  ÿa ä%à êV¾ø-p|JΨLÑhMor=¦n)CºxȹgDÓÒÆG§ÍS:^ Vþ†Õõ׺ÔáP,Àç_±C$ëýÐ!µËîxÊ”ò–[Û÷@¯ÀkìA½QàÓ(~5u j’ù)Iô©$OH‚ª#Uf”Ž Zpriy&I ¶mBs4­‚A|HôÕ‘0¯•ÏŠNœKz©×EÌ> ÞŸl\ÆÙy—/7ßó´ã.Šù]Î<åâÒ+£îÿ9(\µv'ú€R°àÂ_±üÜ‘íÄ:¸‹t>{¶k#jÛ­·,0´‡ ûc+òcÝ*UÇè² áEtÍ6öñ˜ìïdƒïöZlþYÇ`»“ Öç? q}í6€²‡wó÷`?œN®<29/dÚÔ§õb5O› óå1‹Øâ "°ÈW¢TÌX·Å=uˆ} ÉR¼äžz¥ˆ™¦eŸwæ„ÐFÙÁÖšèGmñ3ÝÄe¬s¹ðWýYÚÑ¿“꫌P2½Ž¤.ha4LÏ{’ @ã8~¤ ¾ß•¼‰;Xø You found a bug in GNU Parted! Here's what you have to do: Don't panic! The bug has most likely not affected any of your data. Help us to fix this bug by doing the following: Check whether the bug has already been fixed by checking the last version of GNU Parted that you can find at: http://ftp.gnu.org/gnu/parted/ Please check this version prior to bug reporting. If this has not been fixed yet or if you don't know how to check, please visit the GNU Parted website: http://www.gnu.org/software/parted for further information. Your report should contain the version of this release (%s) along with the error message below, the output of parted DEVICE unit co print unit s print and the following history of commands you entered. Also include any additional information about your setup you consider important. Command History: Error: A general SIGFPE signal was encountered. Error: A general SIGILL signal was encountered. Error: A general SIGSEGV signal was encountered. Error: FPE_FLTDIV (Float: divide by zero) Error: FPE_FLTINV (Float: invalid operation) Error: FPE_FLTOVF (Float: overflow) Error: FPE_FLTRES (Float: inexact result) Error: FPE_FLTSUB (Float: subscript out of range) Error: FPE_FLTUND (Float: underflow) Error: FPE_INTDIV (Integer: divide by zero) Error: FPE_INTOVF (Integer: overflow) Error: ILL_BADSTK (Internal Stack Error) Error: ILL_COPROC (Coprocessor Error) Error: ILL_ILLADR (Illegal addressing mode) Error: ILL_ILLOPC (Illegal Opcode) Error: ILL_ILLOPN (Illegal Operand) Error: ILL_ILLTRP (Illegal Trap) Error: ILL_PRVOPC (Privileged Opcode) Error: ILL_PRVREG (Privileged Register) Error: SEGV_ACCERR (Invalid permissions for mapped object) Error: SEGV_MAPERR (Address not mapped to object) Report bugs to <%s>. When no DEVICE is given, probe all partitions. --help display this help and exit --version output version information and exit NUMBER : display more detailed information about this particular partition devices : display all active block devices free : display information about free unpartitioned space on the current block device list, all : display the partition tables of all active block devices "%s" has invalid syntax for locations.%0.f%% (time left %.2d:%.2d)%s %s%s %s %s%s : Bad checksum on block %llu of type %s %s : Bad checksum on block %llu of type %s.%s : Couldn't read block %llu %s : Couldn't read boot block %llu %s : Couldn't read root block %llu %s : Couldn't write block %d %s : Didn't find rdb block, should never happen %s : Didn't find rdb block, should never happen.%s : Failed to allocate block %s : Failed to allocate disk_specific rdb block %s : Failed to allocate id list element %s : Failed to allocate partition block %s : Failed to list bad blocks.%s : Failed to list boot blocks.%s : Failed to list file system blocks.%s : Failed to list partition blocks.%s : Failed to read partition block %llu %s : Loop detected at block %d.%s : The %s list seems bad at block %s.%s contains GPT signatures, indicating that it has a GPT table. However, it does not have a valid fake msdos partition table, as it should. Perhaps it was corrupted -- possibly by a program that doesn't understand GPT partition tables. Or perhaps you deleted the GPT table, and are now using an msdos partition table. Is this a GPT partition table?%s disk labels do not support extended partitions.%s disk labels don't support logical or extended partitions.%s during read on %s%s during seek for read on %s%s during seek for write on %s%s during write on %s%s has no extended partition (volume header partition).%s is %dk, but it has %d clusters (%dk).%s is too small for a Mac disk label!%s trying to sync %s to disk%s: unrecognised disk label''mkpart' makes a partition without creating a new file system on the partition. FS-TYPE may be specified to set an appropriate partition ID. 'version' displays copyright and version information corresponding to this copy of GNU Parted (C)A %s %s partition was found at %s -> %s. Do you want to add it to the partition table?A data set name is corruptedA reference to an extent comes from a place it should not. You should check the file system!A resize operation on this file system will use EXPERIMENTAL code that MAY CORRUPT it (although no one has reported any such damage yet). You should at least backup your data first, and run 'e2fsck -f' afterwards.API version mismatchATARAID ControllerAn error occurred during extent relocation.An error occurred while looking for the mandatory bad blocks file.An extended partition cannot hold a file system. Did you want mkpart?An extent has not been relocated.Assertion (%s) at %s:%d in function %s() failed.Attempt to write sectors %ld-%ld outside of partition on %s.BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s. Backtrace has %d calls on stack: Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or scandisk.Bad FAT: cluster %d outside file system in chain for %s. You should run dosfsck or scandisk.Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk.Bad block list header checksum.Bad blocks could not be read.Bad blocks list could not be loaded.Bad directory entry for %s: first cluster is the end of file marker.Bad journal checksum.Block %i has no reference? Weird.Block %i shouldn't have been marked (%d, %d)!Both the primary and backup GPT tables are corrupt. Try making a fresh table, and using Parted's rescue feature to recover partitions.BugCOMMANDs:Can't add a logical partition to %s, because there is no extended partition.Can't add another partition -- the partition map is too small!Can't add another partition.Can't copy an extended partition.Can't copy onto an overlapping partition.Can't create any more partitions.Can't have a logical partition outside of the extended partition on %s.Can't have a partition outside the disk!Can't have a primary partition inside an extended partition.Can't have logical partitions outside of the extended partition.Can't have more than one extended partition on %s.Can't have overlapping partitions.Can't move a partition onto itself. Try using resize, perhaps?Can't move an extended partition.Can't write to %s, because it is opened read-only.CancelCannot get unit size for special unit 'COMPACT'.Changing the name of a root or swap partition will prevent Linux from recognising it as such.Checksum is wrong, indicating the partition table is corrupt.Clear unused space on a FAT partition (a GNU Parted testing tool). Cluster start delta = %d, which is not a multiple of the cluster size %d.Compaq Smart ArrayConflicting partition map entry sizes! Entry 1 says it is %d, but entry %d says it is %d!Copyright (C) 1998 - 2006 Free Software Foundation, Inc. This program is free software, covered by the GNU General Public License. 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. Corrupted Sun disk label detected.Could not cache the file system in memory.Could not detect file system.Could not find sector %lli of HFS file with CNID %X.Could not find sector %lli of HFS+ file with CNID %X.Could not get identity of device %s - %sCould not read VTOC FMT1 DSCB.Could not read VTOC FMT4 DSCB.Could not read VTOC FMT5 DSCB.Could not read VTOC FMT7 DSCB.Could not read VTOC labels.Could not read volume label.Could not retrieve API version.Could not retrieve blocksize information.Could not retrieve disk geometry information.Could not retrieve disk information.Could not stat device %s - %s.Could not update the extent cache for HFS file with CNID %X.Could not update the extent cache for HFS+ file with CNID %X.Could not write VTOC FMT1 DSCB.Could not write VTOC FMT4 DSCB.Could not write VTOC FMT5 DSCB.Could not write VTOC FMT7 DSCB.Could not write VTOC labels.Could not write volume label.Couldn't create reiserfs device abstraction handler.Couldn't flush buffer cache!Couldn't reopen device abstraction layer for read/write.Couldn't resolve symbol %s. Error: %s.Cross-linked blocks found! Better go run e2fsck first!DAC960 RAID controllerDEVICE is usually /dev/hda or /dev/sda Data relocation has failed.Data relocation left some data at the end of the volume.Data relocation left some data in the end of the volume.Destination partition number?Device %s has multiple (%d) logical sectors per physical sector. GNU Parted supports this EXPERIMENTALLY for some special disk label/file system combinations, e.g. GPT and ext2/3. Please consult the web site for up-to-date information.Device is too small for %lu blocks.Device verification failedDirect support for copying file systems is not yet implemented for %s. However, support for resizing is implemented. Therefore, the file system can be copied if the new partition is at least as big as the old one. So, either shrink the partition you are trying to copy, or copy to a bigger partition.Disk %s: %s Disk ImageDisk is in useEndEnd?ErrorError allocating buffer cache.Error informing the kernel about modifications to partition %s -- %s. This means Linux won't know about any changes you made to %s until you reboot -- so you shouldn't mount it or use it in any way before rebooting.Error initialising SCSI device %s - %sError opening %s: %sError while writing the allocation file.Error while writing the compatibility part of the allocation file.Error writing to the root directory.Expecting a disk label type.Expecting a file system type.Expecting a partition number.Expecting a partition type.Extended partitions cannot be hidden on msdos disk labels.FAT %d media %x doesn't match the boot sector's media %x. You should probably run scandisk.FAT boot sector says clusters are 0 sectors. This is weird. FAT boot sector says logical sector size is 0. This is weird. FAT boot sector says there are no FAT tables. This is weird. FLAG is one of: FS-TYPE is one of: Failed to write partition block at %d.FatalFatal errorFile System: %s File systemFile system doesn't have expected sizes for Windows to like it. Cluster size is %dk (%dk expected); number of clusters is %d (%d expected); size of FATs is %d sectors (%d expected).File system full!File system has an invalid cluster size for a FAT file system.File system has an invalid number of FATs.File system has an invalid number of reserved sectors for a FAT file system.File system has an invalid sector size for a FAT file system.File system has an invalid signature for a FAT file system.File system has errors! You should run e2fsck.File system has too many allocated inodes to remove a group!File system is FAT12, which is unsupported.File system is reporting the free space as %d clusters, not %d clusters.File system is too full to remove a group!File system too small for ext2.File system type?File system was not cleanly unmounted! You should run e2fsck.File system was not cleanly unmounted! You should run e2fsck. Modifying an unclean file system could cause severe corruption.FixFlag to Invert?FlagsFlags: %s Found an inode with a incorrect link count. Better go run e2fsck first!Free SpaceGNU Parted cannot resize this partition to this size. We're working on it!GNU Parted found an invalid libreiserfs library.GNU Parted has detected libreiserfs interface version mismatch. Found %d-%d, required %d. ReiserFS support will be disabled.GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT support will be disabled.Generic IDEI2O ControllerIBM S390 DASD driveIBM iSeries Virtual DASDIf you convert to FAT16, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual).If you convert to FAT32, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual). Also, converting to FAT32 will make the file system unreadable by MS DOS, MS Windows 95a, and MS Windows NT.If you leave your file system as FAT16, then you will have no problems.If you leave your file system as FAT32, then you will not introduce any new problems.IgnoreInconsistent group descriptors!Incorrect magic values in the journal header.Inform the operating system about partition table changes. -d, --dry-run do not actually inform the operating system -s, --summary print a summary of contents -h, --help display this help and exit -v, --version output version information and exit InformationInvalid VTOC.Invalid back referenceInvalid character class nameInvalid collation characterInvalid content of \{\}Invalid free blocks count. Run reiserfsck --check first.Invalid number.Invalid partition table - recursive partition on %s.Invalid partition table on %s -- wrong signature %x.Invalid partition table on %s.Invalid preceding regular expressionInvalid range endInvalid regular expressionInvalid signature %x for Mac disk labels.Invalid size of a transaction block while replaying the journal (%i bytes).Invalid superblock. Are you sure this is an ext2 file system?It seems there is an error in the HFS wrapper: the bad blocks file doesn't contain the embedded HFS+ volume.Journal offset or size is not multiple of the sector size.Journal size mismatch between journal info block and journal header.Journal stored outside of the volume are not supported. Try to desactivate the journal and run Parted again.LABEL-TYPE is one of: Maximum size: Memory allocation failedMemory exhaustedMinimum size: Minor: %d Model: %s (%s) NAME is any word you want NUMBER is the partition number used by Linux. On MS-DOS disk labels, the primary partitions number from 1 to 4, logical partitions from 5 onwards. NameNew device?New disk label type?New state?NoNo ImplementationNo device foundNo matchNo previous regular expressionNo room for partition info.No room for volume label.No valid HFS[+X] signature has been found while opening.No valid partition map found.Not all of the space available to %s appears to be used, you can fix the GPT to use all of the space (an extra %llu blocks) or continue with the current setting? Not enough free inodes!NumberOKOPTIONs:Only logical partitions can be a boot file.Only primary partitions can be root partitions.Only primary partitions can be swap partitions.Out of memory.PART-TYPE is one of: primary, logical, extended Parted can't resize partitions managed by Windows Dynamic Disk.Parted can't use HFS file systems on disks with a sector size not equal to %d bytes.Partition %d has an invalid length of 0 bytes!Partition %d has an invalid signature %x.Partition %d is %s, but the file system is %s.Partition %d isn't aligned to cylinder boundaries. This is still unsupported.Partition %s is being used. You must unmount it before you modify it with Parted.Partition Table: %s Partition doesn't exist.Partition map has no partition map entry!Partition name?Partition number?Partition too big/small for a %s file system.Partition type?Partition(s) on %s are being used.Premature end of regular expressionPromise SX8 SATA DeviceRegular expression too bigReiserfs tree seems to be corrupted. Run reiserfsck --check first.Resizing the HFS+ volume has failed.RetrySTART and END are disk locations, such as 4GB or 10%. Negative values count from the end of the disk. For example, -1s specifies exactly the last sector. STATE is one of: on, off Sector size (logical/physical): %lldB/%lldB SizeSize: Some header fields are not multiple of the sector size.Sorry, HFS cannot be resized that way yet.Sorry, HFS+ cannot be resized that way yet.Sorry, can't move the start of ext2 partitions yet!Sorry, can't move the start of reiserfs partitions yet.Source device?Source partition number?StartStart?SuccessSun disk label is full.Support for adding partitions to AIX disk labels is not implemented yet.Support for checking %s file systems is not implemented yet.Support for copying %s file systems is not implemented yet.Support for creating %s file systems is not implemented yet.Support for duplicating partitions in AIX disk labels is not implemented yet.Support for opening %s file systems is not implemented yet.Support for reading AIX disk labels is is not implemented yet.Support for resizing %s file systems is not implemented yet.Support for setting flags in AIX disk labels is not implemented yet.Support for setting system type of partitions in AIX disk labels is not implemented yet.Support for writing AIX disk labels is is not implemented yet.Syntax error in config fileThe FATs don't match. If you don't know what this means, then select cancel, run scandisk on the file system, and then come back.The Whole Disk partition is the only available one left. Generally, it is not a good idea to overwrite this partition with a real one. Solaris may not be able to boot without it, and SILO (the sparc boot loader) appreciates it as well.The backup GPT table is not at the end of the disk, as it should be. This might mean that another operating system believes the disk is smaller. Fix, by moving the backup to the end (and removing the old backup)?The boot region doesn't start at the start of the partition.The current API version '%d' doesn't match dasd driver API version '%d'!The data region doesn't start at the start of the partition.The device %s has zero length, and can't possibly store a file system or partition table. Perhaps you selected the wrong device?The disk CHS geometry (%d,%d,%d) reported by the operating system does not match the geometry stored on the disk label (%d,%d,%d).The disk has %d cylinders, which is greater than the maximum of 65536.The disk label describes a disk bigger than %s.The driver descriptor says the physical block size is %d bytes, but Linux says it is %d bytes.The existing disk label on %s will be destroyed and all data on this disk will be lost. Do you want to continue?The existing file system will be destroyed and all data on the partition will be lost. Do you want to continue?The ext2 file system passed a basic check. For a more comprehensive check, use the e2fsck program.The extents overflow file should not contain its own extents! You should check the file system.The file %s is marked as a system file. This means moving it could cause some programs to stop working.The file system can only be resized to this size by converting to FAT16.The file system can only be resized to this size by converting to FAT32.The file system contains errors.The file system has the 'dir_index' feature enabled. Parted can only resize the file system if it disables this feature. You can enable it later by running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'.The file system is bigger than its volume!The file system is in an invalid state. Perhaps it is mounted?The file system is in old (unresizeable) format.The file system's CHS geometry is (%d, %d, %d), which is invalid. The partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the file system's CHS geometry will be left unchanged. If you select Fix, the file system's CHS geometry will be set to match the partition table's CHS geometry.The format of the GPT partition table is version %x, which is newer than what Parted can recognise. Please tell us! bug-parted@gnu.orgThe information sector has the wrong signature (%x). Select cancel for now, and send in a bug report. If you're desperate, it's probably safe to ignore.The journal is not empty. Parted must replay the transactions before opening the file system. This will modify the file system.The location %s is outside of the device %s.The maximum head value is %d.The maximum sector value is %d.The partition must have one of the following FS-TYPEs: The partition table cannot be re-read. This means you need to reboot before mounting any modified partitions. You also need to reinstall your boot loader before you reboot (which may require mounting modified partitions). It is impossible do both things! So you'll need to boot off a rescue disk, and reinstall your boot loader from the rescue disk. Read section 4 of the Parted User documentation for more information.The partition table on %s cannot be re-read (%s). This means the Hurd knows nothing about any modifications you made. You should reboot your computer before doing anything with %s.The partition's boot region doesn't occupy the entire partition.The partition's data region doesn't occupy the entire partition.The primary GPT table is corrupt, but the backup appears OK, so that will be used.The reiserfs file system passed a basic check. For a more comprehensive check, run reiserfsck --check.The sector size stored in the journal is not 512 bytes. Parted only supports 512 bytes length sectors.The specified device is not a valid DASD deviceThe volume header or the master directory block has changed while replaying the journal. You should restart Parted.There are no possible configurations for this FAT type.There's not enough room in the root directory for all of the files. Either cancel, or ignore to lose the files.This HFS volume has no catalog file. This is very unusual!This HFS volume has no extents overflow file. This is quite unusual!This HFS+ volume has no catalog file. This is very unusual!This HFS+ volume has no extents overflow file. This is quite unusual!This command does not make sense in non-interactive mode. This file system has a logical sector size of %d. GNU Parted is known not to work properly with sector sizes other than 512 bytes.This is not a real %s check. This is going to extract special low level files for debugging purposes.This is not an ECKD disk! This disk type is not supported!This libparted doesn't have write support for %s. Perhaps it was compiled read-only.Too many bad pages.Too many primary partitionsToo many primary partitions.Trailing backslashTry `%s --help' for more information. Trying to move an extent from block Ox%X to block Ox%X, but another one already exists at this position. This should not happen!Trying to read HFS file with CNID %X behind EOF.Trying to read HFS+ file with CNID %X behind EOF.Trying to register an extent starting at block 0x%X, but another one already exists at this position. You should check the file system!Trying to write HFS file with CNID %X behind EOF.Trying to write HFS+ file with CNID %X behind EOF.TypeUNIT is one of: Unable to allocate a bsd disklabel slot.Unable to allocate a dasd disklabel slotUnable to allocate a partition number.Unable to determine geometry of file/device %s. You should not use Parted unless you REALLY know what you're doing!Unable to determine the size of %s (%s).Unable to open %s read-write (%s). %s has been opened read-only.Unable to open %s.Unable to probe store.Unable to satisfy all constraints on the partition.Unit?UnknownUnknown file system type "%s".Unknown partition flag, %d.Unknown system errorUnmatched ( or \(Unmatched ) or \)Unmatched [ or [^Unmatched \{Unsupported disk formatUnsupported disk typeUpdating the HFS wrapper has failed.Usage: %s [OPTION] or: %s DEVICE MINOR Usage: %s [OPTION] [DEVICE]... Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...] Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run in interactive mode. User-Mode Linux UBDUsing %s Version %d of HFS+ isn't supported.Version %d of HFSX isn't supported.Volume label is corruptedWARNING: You are not superuser. Watch out for permissions.WarningWeird block size on device descriptor: %d bytes is not divisible by 512.Weird! There are 2 partitions map entries!Welcome to GNU Parted! Type 'help' to view a list of commands. Without arguments, 'print' displays the entire partition table. However with the following arguments it performs various other actions. Would you like to use FAT32?Written by %s and %s. Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, and %s. Written by %s, %s, %s, and %s. Written by %s, %s, and %s. Written by %s. Xen Virtual Block DeviceYesYou may need to update /etc/fstab. You need %s of free disk space to shrink this partition to this size. Currently, only %s is free.You should reinstall your boot loader before rebooting. Read section 4 of the Parted User documentation for more information.Your file system has too many occupied inodes to resize it to %i blocks. Sorry.Your file system is too full to resize it to %i blocks. Sorry.^[nN]^[yY]`adding groupsbootcheckcheck NUMBER do a simple check on the file systemcheckingchecking for bad blockscopyingcpcp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another partitioncreatingdisplays machine parseable outputdisplays the versiondisplays this help messageexpandingextendedfat_table_alloc_cluster: no free clustersfat_table_get: cluster %ld outside file systemfat_table_set: cluster %ld outside file systemfreegrowing file systemhelphelp [COMMAND] print general help, or help on COMMANDhiddenhp-serviceinvalid token: %sioctl() errorlbalists partition layout on all block deviceslogicallvmmemory exhaustedmetadatamkfsmklabelmklabel,mktable LABEL-TYPE create a new disklabel (partition table)mkpartmkpart PART-TYPE [FS-TYPE] START END make a partitionmkpartfsmkpartfs PART-TYPE FS-TYPE START END make a partition with a file systemmktablemovemove NUMBER START END move partition NUMBERmsftresnamename NUMBER NAME name partition NUMBER as NAMEnever prompts for user interventionoffonopen erroropening of device failedpaloparted was unable to re-read the partition table on %s (%s). This means Linux won't know anything about the modifications you made. ped_device_new() Unsupported device typeprepprimaryprintprint [devices|free|list,all|NUMBER] display the partition table, available devices, free space, all found partitions, or a particular partitionquitquit exit programraidraw block copyingread errorreading from device failedrescuerescue START END rescue a lost partition near START and ENDresizeresize NUMBER START END resize partition NUMBER and its file systemrmrm NUMBER delete partition NUMBERrootsearching for file systemsseek errorseeking on device failedselectselect DEVICE choose the device to editsetset NUMBER FLAG STATE change the FLAG on partition NUMBERshrinkingshrinking HFS wrappershrinking embedded HFS+ volumeswaptoggletoggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBERtoo few argumentstoo many argumentsunitunit UNIT set the default unit to UNITversionversion display the version number and copyright information of GNU Partedwrite errorwriting HFS Master Directory Blockwriting HFS+ Volume Headerwriting per-group metadatawriting to device failedProject-Id-Version: parted 1.8.8 Report-Msgid-Bugs-To: bug-parted@gnu.org POT-Creation-Date: 2010-05-28 20:30+0200 PO-Revision-Date: 2008-02-16 14:02+0200 Last-Translator: Pavel Maryanov Language-Team: Russian Language: ru MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: KBabel 1.11.4 Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2); Ð’Ñ‹ нашли ошибку в GNU Parted! Вот, что нужно делать: Ðе паникуйте! Эта ошибка Ñкорее вÑего не повлиÑет на ваши данные. Помогите нам иÑправить Ñту ошибку Ð´ÐµÐ»Ð°Ñ Ð²Ð¾Ñ‚ что: Проверьте, не иÑправлена ли ошибка ещё, загрузив поÑледнюю верÑию GNU Parted, которую вы можете найти на: http://ftp.gnu.org/gnu/parted/ ПожалуйÑта, проверьте Ñту верÑию, перед Ñообщением об ошибке. ЕÑли ошибка ещё не иÑправлена или вы не знаете как Ñто проверить поÑетите Ñайт GNU Parted: http://www.gnu.org/software/parted за дополнительной информацией. Ваше Ñообщение должно Ñодержать номер Ñтой верÑии (%s) также как и Ñообщение об ошибке ниже и вывод команд parted УСТРОЙСТВО unit co print unit s print и команды, которые вы вводили. Ртакже любую дополнительную информацию о вашей конфигурации, еÑли вы поÑчитаете Ñто важным. ИÑÑ‚Ð¾Ñ€Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´: Ошибка: Получен обычный Ñигнал SIGFPE. Ошибка: Получен обычный Ñигнал SIGILL. Ошибка: Получен обычный Ñигнал SIGSEGV. Ошибка: FPE_FLTDIV (Float: деление на ноль) Ошибка: FPE_FLTINV (Float: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ) Ошибка: FPE_FLTOVF (Float: переполнение) Ошибка: FPE_FLTRES (Float: неточный ответ) Ошибка: FPE_FLTSUB (Float: выражение вне облаÑти) Ошибка: FPE_FLTUND (Float: underflow) Ошибка: FPE_INTDIV (Целое: деление на ноль) Ошибка: FPE_INTOVF (Целое: переполнение) Ошибка: ILL_BADSTK (Ошибка внутреннего Ñтека) Ошибка: ILL_COPROC (Ошибка ÑопроцеÑÑора) Ошибка: ILL_ILLADR (Ðеправильный режим адреÑации) Ошибка: ILL_ILLOPC (Ðеправильный Opcode) Ошибка: ILL_ILLOPN (Ðеправильный операнд) Ошибка: ILL_ILLTRP (Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ Ð»Ð¾Ð²ÑƒÑˆÐºÐ°) Ошибка: ILL_PRVOPC (Привилегированный Opcode) Ошибка: ILL_PRVREG (Привилегированный региÑтр) Ошибка: SEGV_ACCERR (Ðе правильные права Ð´Ð»Ñ Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ð¾Ð³Ð¾ объекта) Ошибка: SEGV_MAPERR (ÐÐ´Ñ€ÐµÑ Ð½Ðµ назначен объекту) Сообщайте об ошибках на <%s>. Когда УСТРОЙСТВО вы указано, проверÑть вÑе разделы. --help отобразить Ñту Ñправку и выйти --version вывеÑти информацию о верÑии и выйти ÐОМЕР : отображает более детальную информацию о требуемом разделе devices : отобразить вÑе активные блочные уÑтройÑтва free : отображает информацию о Ñвободное не разбитом проÑтранÑтве на текущем блочном уÑтройÑтве list, all : отображает таблицы разделов на вÑех активных блочных уÑтройÑтвах "%s" Ñодержит неправильный ÑинтакÑÐ¸Ñ Ñ€Ð°Ñположений.%0.f%% (времени прошло %.2d:%.2d)%s %s%s %s %s%s : ÐÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð°Ñ Ñумма блока %llu типа %s %s : ÐÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð°Ñ Ñумма %llu типа %s.%s : Ðе удалоÑÑŒ прочеÑть блок %llu %s : Ðе удалоÑÑŒ прочеÑть загрузочный блок %llu %s : Ðе удалоÑÑŒ прочеÑть корневой блок %llu %s : Ðе удалоÑÑŒ запиÑать блок %d. %s : Ðе найден rdb блок, такого не должно было ÑлучитьÑÑ %s : Ðе найден rdb блок, такого не должно было ÑлучитьÑÑ.%s : Ðе удалоÑÑŒ выделить блок %s : Ðе удалоÑÑŒ выделить Ñпецифичный_длÑ_диÑка блок rdb %s : Ðе удалоÑÑŒ выделить Ñлемент ÑпиÑка идентификаторов %s : Ðе удалоÑÑŒ выделить блок раздела %s : Ðе удалоÑÑŒ вывеÑти ÑпиÑок плохих блоков.%s : Ðе удалоÑÑŒ вывеÑти ÑпиÑок загрузочных блоков.%s : Ðе удалоÑÑŒ вывеÑти блоков файловой ÑиÑтемы.%s : Ðе удалоÑÑŒ вывеÑти ÑпиÑок блоков раздела.%s : Ðе удалоÑÑŒ прочеÑть блок раздела %llu %s : Обнаружено кольцо на блоке %d.%s : СпиÑок %s похож на плохой на блоке %s.%s Ñодержит Ñигнатуры GPT, означающие наличие GPT таблицы. Ðо он не Ñодержит нормальной фальшивой таблицы разделов msdos, как должен. Скорее вÑего он повреждён -- возможно программой, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð½Ðµ понимает таблицы разделов GPT. Или возможно вы удалили таблицу GPT и теперь иÑпользуете таблицу разделов msdos. Это таблица разделов GPT?ПодпиÑи к диÑкам %s не поддерживают раÑширенные разделы.ПодпиÑи к диÑкам %s не поддерживают логичеÑкие или раÑширенные разделы.%s во Ð²Ñ€ÐµÐ¼Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð½Ð° %s%s во Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¾Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð½Ð° %s%s во Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¾Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи на %s%s во Ð²Ñ€ÐµÐ¼Ñ Ð·Ð°Ð¿Ð¸Ñи на %s%s не Ñодержит раÑширенного раздела (заголовка раÑширенного раздела).%s ÑвлÑетÑÑ %dk, но он Ñодержит %d клаÑтеров (%dk).%s Ñлишком меленький Ð´Ð»Ñ Ð¼ÐµÑ‚ÐºÐ¸ диÑка Mac!%s пытаетÑÑ Ð·Ð°Ð¿Ð¸Ñать %s на диÑк%s: метка диÑка не определена»mkpart делает раздел без ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð½Ð° нем новой файловой ÑиÑтемы. ТИП_ФС должен быть указан Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи идентификатора раздела version отображает информацию о лицензии и верÑии Ñтой копии GNU Parted ©Раздел %s %s найден на %s -> %s. Ð’Ñ‹ хотите добавить его в таблицу разделов?Ð˜Ð¼Ñ Ð½Ð°Ð±Ð¾Ñ€Ð° данных поврежденоСÑылка на раÑширение указывает на меÑто, где оно быть не должно. Вам Ñледует проверить файловую ÑиÑтему!ÐžÐ¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° на Ñтой файловой ÑиÑтеме иÑпользует ЭКСПЕРИМЕÐТÐЛЬÐЫЙ код, который МОЖЕТ ПОВРЕДИТЬ её (Ñ…Ð¾Ñ‚Ñ Ð¸ не делал Ñтого раньше). Ð’Ñ‹ должны Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ Ñделать резервную копию данных и запуÑтить 'e2fsck -f' поÑле.ÐеÑоответÑтвие верÑий APIATARAID КонтроллерОшибка при перераÑпределении размеров.Ошибка при поиÑке обÑзательного файла плохих блоков.РаÑширенный раздел не может Ñодержать файловую ÑиÑтему. ЗапуÑтить mkpart?РаÑширение не было перемещено.Проверка уÑÐ»Ð¾Ð²Ð¸Ñ (%s) на %s:%d в функции %s() не удалаÑÑŒ.Попытка запиÑи Ñекторов %ld-%ld за пределы раздела на %s.Ð“ÐµÐ¾Ð¼ÐµÑ‚Ñ€Ð¸Ñ Ñ†Ð¸Ð»Ð¸Ð½Ð´Ñ€Ð¾Ð², головок, Ñекторов BIOS: %d,%d,%d. Каждый цилиндр %s. Backtrace имеет %d вызовов из Ñтека: Ошибка в FAT: клаÑтер %d имеет ÑÑылку на %s. Ð’Ñ‹ должны запуÑтить dosfsck или scandisk.Ошибка в FAT: клаÑтер %d находитÑÑ Ð²Ð½Ðµ файловой ÑиÑтемы в цепочке Ð´Ð»Ñ %s. Ð’Ñ‹ должны запуÑтить dosfsck или scandisk.Ошибка в FAT: Ð½ÐµÐ·Ð°Ð²ÐµÑ€ÑˆÑ‘Ð½Ð½Ð°Ñ Ñ†ÐµÐ¿Ð¾Ñ‡ÐºÐ° Ð´Ð»Ñ %s. Ð’Ñ‹ должны запуÑтить dosfsck или scandisk.ÐÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð°Ñ Ñумма заголовка ÑпиÑка блоков.Плохие блоки не могут быть прочитаны.Ðе удалоÑÑŒ загрузить ÑпиÑок плохих блоков.Плохой Ñлемент каталога Ð´Ð»Ñ %s: первый клаÑтер ÑвлÑетÑÑ ÐºÐ¾Ð½Ñ†Ð¾Ð¼ маркера файла.ÐÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð°Ñ Ñумма журнала.Блок %i не имеет ÑÑылки? Странно.Блок %i не должен быть помеченным (%d, %d)!Обе - и главнаÑ, и Ñ€ÐµÐ·ÐµÑ€Ð²Ð½Ð°Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ GPT повреждены. Попробуйте Ñоздать новую и иÑпользовать функцию Parted воÑÑтановить Ð´Ð»Ñ Ð²Ð¾ÑÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð´ÐµÐ»Ð¾Ð².ОшибкаКОМÐÐДЫ:Ðевозможно добавить логичеÑкий раздел на %s, потому что нет раÑширенного раздела.Ðе удалоÑÑŒ Ñоздать другой раздел -- Ñлишком Ð¼Ð°Ð»ÐµÐ½ÑŒÐºÐ°Ñ ÐºÐ°Ñ€Ñ‚Ð° разделов!Ðевозможно добавить другой раздел.Ðевозможно Ñкопировать раÑширенный раздел.Ðевозможно Ñкопировать на перекрывающий раздел.Ðевозможно Ñоздать больше разделов.Ðевозможно Ñоздать логичеÑкий раздел больше раÑширенного раздела на %s.Ðевозможно Ñоздать раздел за пределами уÑтройÑтва!Ðевозможно Ñоздать оÑновной раздел внутри раÑширенного.Ðевозможно Ñоздать логичеÑкий раздел больше раÑширенного раздела.Ðевозможно Ñоздать больше одного раÑширенного раздела на %s.Ðевозможно Ñоздавать переÑекающиеÑÑ Ñ€Ð°Ð·Ð´ÐµÐ»Ñ‹.Ðевозможно перемеÑтить раздел в Ñамого ÑебÑ. ИÑпользовать вмеÑто Ñтого изменение размера?Ðевозможно перемеÑтить раÑширенный раздел.ÐÐµÐ»ÑŒÐ·Ñ Ð·Ð°Ð¿Ð¸Ñать на %s, так как он открыт только Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ.ОтменитьÐевозможно определить размер объекта Ð´Ð»Ñ Ñпециального объекта 'COMPACT'.Изменив Ð¸Ð¼Ñ root или swap раздела заÑтавит Linux переÑтать понимать их.ÐÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð°Ñ Ñумма, значит таблица разделов иÑпорчена.ОчиÑтить неиÑпользуемое проÑтранÑтво на разделе FAT (программа теÑÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ GNU Parted). КлаÑтер начинаетÑÑ Ñо Ñмещением %d, что не ÑвлÑетÑÑ Ñ†ÐµÐ»Ñ‹Ð¼ чиÑлом клаÑтеров размера %d.Compaq Smart ArrayКонфликт размеров Ñлементов карты разделов! Элемент 1 говорит %d, но %d говорит %d!Copyright (C) 1998 - 2006 Free Software Foundation, Inc. Это ÑÐ²Ð¾Ð±Ð¾Ð´Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°, на неё раÑпроÑтранÑетÑÑ Ð£Ð½Ð¸Ð²ÐµÑ€ÑÐ°Ð»ÑŒÐ½Ð°Ñ ÐžÐ±Ñ‰ÐµÑÑ‚Ð²ÐµÐ½Ð½Ð°Ñ Ð›Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ GNU. Эта программа раÑпроÑтранÑетÑÑ Ð² надежде, что она будет полезной, но БЕЗ КÐКИХ-ЛИБО ГÐРÐÐТИЙ; даже без подразумеваемых гарантий КОММЕРЧЕСКОЙ ЦЕÐÐОСТИ или ПРИГОДÐОСТИ ДЛЯ КОÐКРЕТÐОЙ ЦЕЛИ. Ð”Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð±Ð¾Ð»ÐµÐµ подробной информации Ñмотрите УниверÑальную ОбщеÑтвенную Лицензию GNU. Обнаружена Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½Ð½Ð°Ñ Ð¼ÐµÑ‚ÐºÐ° диÑка Sun.Ðе удалоÑÑŒ кÑшировать файловую ÑиÑтему в памÑти.Ðе удаётÑÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ð¸Ñ‚ÑŒ файловую ÑиÑтему.Ðе удалоÑÑŒ найти Ñектор %lli Ð´Ð»Ñ HFS файла Ñ CNID %X.Ðе удалоÑÑŒ найти Ñектор %lli Ð´Ð»Ñ HFS+ файла Ñ CNID %X.Ðе удаётÑÑ Ð¿Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚ÑŒ идентификатор уÑтройÑтва %s - %sÐе удалоÑÑŒ прочеÑть VTOC FMT1 DSCB.Ðе удалоÑÑŒ прочеÑть VTOC FMT4 DSCB.Ðе удалоÑÑŒ прочеÑть VTOC FMT5 DSCB.Ðе удалоÑÑŒ прочеÑть VTOC FMT7 DSCB.Ðе удалоÑÑŒ прочеÑть VTOC метки.Ðе удалоÑÑŒ прочеÑть метку тома.Ðе удалоÑÑŒ получить верÑию API.Ðе удалоÑÑŒ получить информацию о размере блока.Ðе удалоÑÑŒ получить информацию о геометрии диÑка.Ðе удалоÑÑŒ получить информацию о диÑке.Ðе удаётÑÑ Ð¿Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚ÑŒ ÑÑ‚Ð°Ñ‚ÑƒÑ ÑƒÑтройÑтва %s - %s.Ðе удалоÑÑŒ обновить кÑш раÑширений Ð´Ð»Ñ HFS файла Ñ CNID %X.Ðе удалоÑÑŒ обновить кÑш раÑширений Ð´Ð»Ñ HFS+ файла Ñ CNID %X.Ðе удалоÑÑŒ запиÑать VTOC FMT1 DSCB.Ðе удалоÑÑŒ запиÑать VTOC FMT4 DSCB.Ðе удалоÑÑŒ запиÑать VTOC FMT5 DSCB.Ðе удалоÑÑŒ запиÑать VTOC FMT7 DSCB.Ðе удалоÑÑŒ запиÑать VTOC метки.Ðе удалоÑÑŒ запиÑать метку тома.Ðе удалоÑÑŒ Ñоздать инÑтруктор абÑтракции уÑтройÑтва reiserfs.Ðе удаётÑÑ Ð¾Ñ‡Ð¸Ñтить буфер кÑша!Ðе удалоÑÑŒ переоткрыть уровень абÑтракции уÑтройÑтв Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ/запиÑи.Ðе удалоÑÑŒ получить Ñимвол %s. Ошибка: %s.Ðайдены блоки Ñ Ð¿ÐµÑ€ÐµÐºÑ€ÐµÑтными ÑÑылками! Лучше Ñначала запуÑтите e2fsck!DAC960 RAID контроллерУСТРОЙСТВОМ обычно ÑвлÑетÑÑ /dev/hda или /dev/sda Ошибка перераÑÐ¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ….ПерераÑпределение данных оÑтавило некоторые данные в конце раздела.ПерераÑпределение данных оÑтавило некоторые данные в конце раздела.Раздел назначениÑ?УÑтройÑтво %s Ñодержит неÑколько (%d) логичеÑких Ñекторов на один физичеÑкий. GNU Parted поддерживает Ñто ЭКСПЕРИМЕÐТÐЛЬÐО Ð´Ð»Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… Ñпециальных комбинаций меток/файловых ÑиÑтем, например GPT и ext2/3. За дополнительной информацией обращайтеÑÑŒ на Ñайт программы.УÑтройÑтво Ñлишком маленькое Ð´Ð»Ñ %lu блоков.Ошибка проверки уÑтройÑтваПрÑÐ¼Ð°Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ° ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ñ‹Ñ… ÑиÑтем ещё не реализована Ð´Ð»Ñ %s. Ðо поддержка Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° реализована. ПоÑтому, Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема может быть Ñкопирована, еÑли новый раздел такой-же большой как и Ñтарый. ПоÑтому уменьшите раздел, который вы пытаетеÑÑŒ Ñкопировать или Ñкопируйте на больший раздел.ДиÑк %s: %s Образ диÑкаДиÑк иÑпользуетÑÑКонецКонец?ОшибкаОшибка Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð±ÑƒÑ„ÐµÑ€Ð° кÑша.Ðе удалоÑÑŒ Ñообщить Ñдру об изменениÑÑ… раздела %s -- %s. Это означает, что Linux не узнает об изменениÑÑ… %s до перезагрузки -- поÑтому не пытайтеÑÑŒ примонтировать или как либо иÑпользовать его до перезагрузки.Ошибка инициализации SCSI-уÑтройÑтва %s - %sОшибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ %s: %sОшибка запиÑи файла раÑпределениÑ.Ошибка запиÑи ÑовмеÑтимой чаÑти файла раÑпределениÑ.Ошибка запиÑи в корневой каталог.ОжидаетÑÑ Ñ‚Ð¸Ð¿ подпиÑи диÑка.ОжидаетÑÑ Ñ‚Ð¸Ð¿ файловой ÑиÑтемы.ОжидаетÑÑ Ð½Ð¾Ð¼ÐµÑ€ раздела.ОжидаетÑÑ Ñ‚Ð¸Ð¿ раздела.РаÑширенные разделы не могут быть Ñкрыты при msdos метках диÑка.FAT %d ноÑитель %x не Ñовпадает Ñ Ð½Ð¾Ñителем загрузочного Ñектора %x. Возможно, вам Ñледует запуÑтить scandisk.Ð’ ÑоответÑтвии Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·Ð¾Ñ‡Ð½Ñ‹Ð¼ Ñектором FAT, клаÑтер Ñодержит 0 Ñекторов. Это Ñтранно. Загрузочный Ñектор FAT Ñодержит размер логичеÑкого Ñектора, равный 0. Это Ñтранно. Ð’ загрузочном Ñекторе FAT не ÑодержитÑÑ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ о таблицах FAT. Это Ñтранно. ФЛÐГ один из: ТИП_ФС один из: Ðе удалоÑÑŒ запиÑать блок раздела на %d.Ð¤Ð°Ñ‚Ð°Ð»ÑŒÐ½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°ÐšÑ€Ð¸Ñ‚Ð¸Ñ‡ÐµÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема: %s Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтемаWindows не может работать Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ð¹ ÑиÑтемой, имеющей такие размеры. Размер клаÑтера %dk (ожидаемый %dk); чиÑло клаÑтеров %d (ожидаемое %d); размер FAT %d Ñекторов (ожидаемый %d).Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема заполнена!Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема имеет неверный Ð´Ð»Ñ FAT размер клаÑтера.Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема имеет неверное количеÑтво FAT.Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема имеет неверное Ð´Ð»Ñ FAT чиÑло зарезервированных Ñекторов.Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема имеет неверный Ð´Ð»Ñ FAT размер Ñектора.Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема имеет неверную Ð´Ð»Ñ FAT Ñигнатуру.Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема Ñодержит ошибки! ЗапуÑтите Ñначала e2fsck.Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема имеет Ñлишком много выделенных inode, чтобы удалить группу!Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема FAT12, не поддерживаетÑÑ.Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема Ñообщает о Ñвободном проÑтранÑтве в %d клаÑтеров, а не в %d клаÑтеров.Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема Ñлишком заполнена, чтобы удалить группу!Слишком Ð¼Ð°Ð»ÐµÐ½ÑŒÐºÐ°Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема Ð´Ð»Ñ ext2.Тип файловой ÑиÑтемы?Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема не была правильно размонтирована! ЗапуÑтите Ñначала e2fsck.Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема не была правильно размонтирована! ЗапуÑтите e2fsck. Изменение неочищенной файловой ÑиÑтемы может привеÑти к её повреждению.ИÑправитьФлаг Ð´Ð»Ñ Ð¸Ð½Ð²ÐµÑ€Ñ‚Ð°Ñ†Ð¸Ð¸?ФлагиФлаги: %s Ðайден inode Ñ Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¼ чиÑлом ÑÑылок. Лучше запуÑтите Ñначала e2fsck!Свободное меÑтоGNU Parted не может изменить размер раздела до Ñтой величины. Мы работаем над Ñтим!GNU Parted обнаружил неправильную библиотеку libreiserfs.GNU Parted обнаружил неÑоответÑтвие верÑий интерфейÑа libreiserfs. Обнаружена %d-%d, требуетÑÑ %d. Поддержка ReiserFS будет отключена.GNU parted был неправильно Ñкомпилирован: загрузочный Ñектор FAT должен занимать 512 байт. Поддержка FAT будет отключена.Обычный IDEI2O КонтроллерIBM S390 DASD приводIBM iSeries Virtual DASDЕÑли вы конвертируете в FAT16 и MS Windows уÑтановлен на Ñтом разделе, нужно будет переуÑтановить загрузчик MS Windows. ЕÑли вы хотите Ñто Ñделать, обратитеÑÑŒ в руководÑтво Parted (или руководÑтво вашего диÑтрибутива).ЕÑли вы конвертируете в FAT16 и MS Windows уÑтановлен на Ñтом разделе, нужно будет переуÑтановить загрузчик MS Windows. ЕÑли вы хотите Ñто Ñделать, обратитеÑÑŒ в руководÑтво Parted (или руководÑтво вашего диÑтрибутива). Также, преобразование в FAT32 Ñделает ÑиÑтему не читаемой Ð´Ð»Ñ MS DOS, MS Windows 95a и MS Windows NT.ЕÑли вы оÑтавите файловую ÑиÑтему как FAT16, проблем не будет.ЕÑли вы оÑтавите файловую ÑиÑтему как FAT32, никаких новых проблем вы не заметите.Ð˜Ð³Ð½Ð¾Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒÐŸÑ€Ð¾Ñ‚Ð¸Ð²Ð¾Ñ€ÐµÑ‡Ð¸Ð²Ð°Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð° деÑкрипторов!Ðеправильный заголовок журнала.Информировать операционную ÑиÑтему о изменении таблицы разделов. -d, --dry-run не информировать операционную ÑиÑтему -s, --summary напечатать Ñводку Ñодержимого -h, --help отобразить Ñправку и выйти -v, --version вывеÑти информацию о верÑии и выйти ИнформациÑÐеправильный VTOC.ÐÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð°Ñ ÑÑылкаÐеправильное название клаÑÑа ÑимволаÐеправильный Ñимвол ÑопоÑтавлениÑÐеправильное Ñодержимое \{\}Ðеправильное количеÑтво Ñвободных блоков. ЗапуÑтите Ñначала reiserfsck --check.Ðеправильный номер.ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° разделов - рекурÑивный раздел на %s.ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° разделов на %s -- Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ Ñигнатура %x.ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° разделов на %s.Ðеправильное предыдущее регулÑрное выражениеÐеправильный конец облаÑтиÐеправильное регулÑрное выражениеÐÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ Ñигнатура %x Ð´Ð»Ñ Ð¼ÐµÑ‚Ð¾Ðº диÑков Mac.Ðеправильный размер блока транзакций при повторении журнала (%i байт).Ðеверный Ñуперблок. Ð’Ñ‹ уверены, что Ñто Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема ext2?Похоже ошибка в оболочке HFS: файл плохих блоков не Ñодержит вÑтроенный HFS+ раздел.Смещение журнала или его размер не делитÑÑ Ð½Ð° размер Ñектора.Ðе найден размер журнала между блоком информации журнала и заголовком журнала.Журнал, хранÑщийÑÑ Ð²Ð½Ðµ раздела не поддерживаетÑÑ. Попробуйте отключить журнал и запуÑтить Parted Ñнова.ТИП_МЕТКИ один из: МакÑимальный размер: Ошибка Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿Ð°Ð¼ÑтиЗакончилаÑÑŒ памÑтьМинимальный размер: Вторичн.: %d Модель: %s (%s) ИМЯ - любое Ñлово, какое захотите ÐОМЕР - Ñто номер раздела иÑпользуемый в Linux. Ð’ MS-DOS метки диÑка, номера оÑновных разделов от 1 до 4, логичеÑких разделов от 5 и далее. ИмÑÐовое уÑтройÑтво?Ðовый тип метки диÑка?Ðовое ÑоÑтоÑние?ÐетÐет реализацииУÑтройÑтво не найденоÐет ÑоответÑтвиÑÐет предыдущего регулÑрного выражениÑÐет комнаты Ð´Ð»Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ о разделе.Ðет комнаты Ð´Ð»Ñ Ð¼ÐµÑ‚ÐºÐ¸ тома.Ðе найдено правильной HFS[+X] Ñигнатуры при открытии.Ðе найдено правильной карты разделов.Похоже, что не вÑÑ‘ меÑто доÑтупное Ð´Ð»Ñ %s иÑпользуетÑÑ, вы можете иÑправить таблицу GPT Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²Ñего меÑта (дополнительно %llu блоков) или продолжить Ñ Ñ‚ÐµÐºÑƒÑ‰Ð¸Ð¼Ð¸ наÑтройками? ÐедоÑтаточно Ñвободных inode!ÐомерOKКЛЮЧИ:Только логичеÑкие разделы могут быть загрузочными файлами.Только оÑновные разделы могут быть root разделами.Только оÑновные разделы могут быть swap разделами.ÐедоÑтаточно памÑти.ТИП_РÐЗД один из: оÑновной, логичеÑкий, раÑширенный Parted не может изменÑть размер разделов управлÑемых Windows Dynamic Disk.Parted не может работать Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ñ‹Ð¼Ð¸ ÑиÑтемами HFS, на диÑках Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð¾Ð¼ Ñектора не равным %d байт.Раздел %d имеет неправильную длину 0 байт!Раздел %d Ñодержит неправильную Ñигнатуру %x.Раздел %d Ñодержит %s, но Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема %s.Раздел %d не выровнен к краю цилиндра. Это вÑÑ‘ ещё не поддерживаетÑÑ.Раздел %s иÑпользуетÑÑ. Ð’Ñ‹ должны отмонтировать его перед изменением Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Parted.Таблица разделов: %s Раздел не ÑущеÑтвует.Карта разделов не Ñодержит Ñлемента карты!Ð˜Ð¼Ñ Ñ€Ð°Ð·Ð´ÐµÐ»Ð°?Ðомер раздела?Раздел Ñлишком большой/маленький Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ð¹ ÑиÑтемы %s.Тип раздела?Разделы на %s иÑпользуютÑÑ.Ðеожиданный конец регулÑрного выражениÑSATA уÑтройÑтво Promise SX8Слишком большое регулÑрное выражениеДерево reiserfs похоже повреждено. ЗапуÑтите Ñначала reiserfsck --check.Ошибка Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° раздела HFS+.ПовторитьÐÐЧÐЛО и КОÐЕЦ - Ñто меÑто диÑка, типа 4GB или 10%. Отрицательные Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð²Ñ‹Ñ‡Ð¸Ñ‚Ð°ÑŽÑ‚ÑÑ Ð¾Ñ‚ конца диÑка. Ðапример, -1s обозначает поÑледний Ñектор. СОСТ. один из: on, off Размер Ñектора (логич./физич.): %lldB/%lldB РазмерРазмер: Ðекоторые Ð¿Ð¾Ð»Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° не делÑÑ‚ÑÑ Ð½Ð° размер Ñектора.ПроÑтите, размер HFS не может быть изменён таким образом пока что.ПроÑтите, размер HFS+ не может быть изменён таким образом пока что.К Ñожалению, перемещение начала разделов ext2 пока невозможно!К Ñожалению, перемещение начала разделов reiserfs пока невозможно.УÑтройÑтво иÑточник?ИÑходный номер раздела?ÐачалоÐачало?УÑпешноМетка диÑка Sun переполнена.Поддержка Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð´ÐµÐ»Ð¾Ð² к меткам диÑка AIX пока не реализована.Поддержка проверки файловой ÑиÑтемы %s пока не реализована.Поддержка ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ð¹ ÑиÑтемы %s пока не реализована.Поддержка ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ð¹ ÑиÑтемы %s пока не реализована.Поддержка Ð´ÑƒÐ±Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ€Ð°Ð·Ð´ÐµÐ»Ð¾Ð² в метках диÑка AIX пока не реализована.Поддержка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ð¹ ÑиÑтемы %s пока не реализована.Поддержка Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð¼ÐµÑ‚Ð¾Ðº диÑка AIX пока не реализована.Поддержка Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° файловой ÑиÑтемы %s пока не реализована.Поддержка запиÑи флагов на метках диÑка AIX пока не реализована.Поддержка Ð·Ð°Ð´Ð°Ð½Ð¸Ñ Ñ‚Ð¸Ð¿Ð° ÑиÑтемы на метках диÑка AIX пока не реализована.Поддержка запиÑи меток диÑка AIX пока не реализована.Ошибка ÑинтакÑиÑа конфигурационного файлаТаблицы Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð² FAT не Ñовпадают. ЕÑли вы не знаете, что Ñто означает, выберите отмену, запуÑтите scandisk Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ð¹ ÑиÑтемы, и затем возвращайтеÑÑŒ.Раздел ВеÑÑŒ диÑк доÑтупен только Ñлева. Вообще-то - Ñто Ð¿Ð»Ð¾Ñ…Ð°Ñ Ð¸Ð´ÐµÑ Ð¿ÐµÑ€ÐµÐ¿Ð¸Ñывать Ñтот раздел реальным. Solaris, возможно, может не загрузитьÑÑ Ð±ÐµÐ· него и SILO (загрузчик sparc) оценивает Ñто также.Ð ÐµÐ·ÐµÑ€Ð²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ GPT не находитÑÑ Ð² конце диÑка, как должно быть. Это может означать, что Ð´Ñ€ÑƒÐ³Ð°Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð°Ñ ÑиÑтема верит, что диÑк меньше. ИÑправить Ñто, передвинув резервную копию в конец диÑка (и удалив Ñтарую)?ОблаÑть загрузки не начинаетÑÑ Ð² начале раздела.Ð¢ÐµÐºÑƒÑ‰Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ API '%d' не ÑоответÑтвует верÑии API dasd драйвера '%d'!ОблаÑть данных не начинаетÑÑ Ð² начале раздела.УÑтройÑтво %s имеет нулевую длину и не может Ñодержать файловую ÑиÑтему или таблицу разделов. Возможно вы выбрали неправильное уÑтройÑтво?CHS Ð³ÐµÐ¾Ð¼ÐµÑ‚Ñ€Ð¸Ñ Ð´Ð¸Ñка (%d,%d,%d) предоÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð½Ð°Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð¾Ð¹ ÑиÑтемой не Ñовпадает Ñ Ð³ÐµÐ¾Ð¼ÐµÑ‚Ñ€Ð¸ÐµÐ¹, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ ÑодержитÑÑ Ð² метке диÑка (%d,%d,%d).ДиÑк Ñодержит %d цилиндров, что больше макÑимума 65536.Метка диÑка указывает на диÑк больший чем %s.Драйвер говорит,что размер физичеÑкого блока равен %d байт, но Linux говорит, что он %d байт.СущеÑÑ‚Ð²ÑƒÑŽÑ‰Ð°Ñ Ð¼ÐµÑ‚ÐºÐ° диÑка на %s будет уничтожена и вÑе данные на Ñтом диÑке будут утерÑны. Ð’Ñ‹ хотите продолжить?СущеÑÑ‚Ð²ÑƒÑŽÑ‰Ð°Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема будет уничтожена и вÑе данные на разделе будут утерÑны. Ð’Ñ‹ хотите продолжить?Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема ext2 прошла оÑновную проверку. Ð”Ð»Ñ Ð±Ð¾Ð»ÐµÐµ полной проверки, иÑпользуйте программу e2fsck.Файл размеров перегрузки не должен Ñодержать Ñвои размеры! Вам Ñледует проверить файловую ÑиÑтему.Файл %s помечен как ÑиÑтемный. Это значит, что его перемещение может привеÑти к прекращению работы некоторых программ.Изменение размера файловой ÑиÑтемы до Ñтого размера возможно только поÑле Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² FAT16.Изменение размера файловой ÑиÑтемы до Ñтого размера возможно только поÑле Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² FAT32.Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема Ñодержит ошибки.СвойÑтво файловой ÑиÑтемы 'dir_index' включено. Parted может изменÑть размер таких файловых ÑиÑтем, еÑли он отключит Ñто ÑвойÑтво. Чтобы включить его поÑле Ñтого запуÑтите 'tune2fs -O dir_index УСТРОЙСТВО' и потом 'e2fsck -fD УСТРОЙСТВО'.Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема больше её раздела!Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема в неправильном ÑоÑтоÑнии. Возможно примонтирована?Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема в Ñтаром (не позволÑющем изменение размера) формате.CHS Ð³ÐµÐ¾Ð¼ÐµÑ‚Ñ€Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ð¹ ÑиÑтемы (%d, %d, %d), что не ÑвлÑетÑÑ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¼. CHS Ð³ÐµÐ¾Ð¼ÐµÑ‚Ñ€Ð¸Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ раздела (%d, %d, %d). ЕÑли вы выберете Игнорировать, CHS Ð³ÐµÐ¾Ð¼ÐµÑ‚Ñ€Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ð¹ ÑиÑтемы оÑтанетÑÑ Ð±ÐµÐ· изменений. ЕÑли вы выберете ИÑправить, CHS Ð³ÐµÐ¾Ð¼ÐµÑ‚Ñ€Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ð¹ ÑиÑтемы будет изменена Ð´Ð»Ñ ÑоглаÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ñ CHS геометрией таблицы раздела.Формат таблицы разделов GPT верÑии %x, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð½Ð¾Ð²ÐµÐµ, чем Parted может раÑпознать. РаÑÑкажите нам об Ñтом! bug-parted@gnu.orgИнформационный Ñектор имеет неверную Ñигнатуру (%x). Выберите отмену, и пошлите Ñообщение об ошибке. ЕÑли вы уже отчаÑлиÑÑŒ, то, вероÑтно, можно проигнорировать.Журнал не пуÑтой. Parted должен повторить транзакции перед открытие раздела. Это изменит файловую ÑиÑтему.РаÑположение %s вне уÑтройÑтва %s.МакÑимальное количеÑтво головок %d.МакÑимальное количеÑтво Ñекторов %d.Раздел должен быть одного из Ñтих ТИП_ФС: Таблица разделов не может быть перечитана. Это означает, что вам нужно перезагрузить компьютер перед монтированием лобого из изменённых разделов. Также вам нужно переуÑтановить загрузчик перед перезагрузкой (на что может потребоватьÑÑ Ð¼Ð¾Ð½Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ðµ изменённых разделов). Обе Ñти вещи невозможно Ñделать одновременно! ПоÑтому требуетÑÑ Ð·Ð°Ð³Ñ€ÑƒÐ·Ð¸Ñ‚ÑŒÑÑ Ñ Ð´Ð¸Ñка воÑÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸ переуÑтановить загрузчик Ñ ÐµÐ³Ð¾ помощью. Прочтите раздел 4 РуководÑтва Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Parted Ð´Ð»Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¹ информации.Таблица разделов на %s не может быть перечитана (%s). Это означает, что Ñделанные вами Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½ÐµÐ´Ð¾Ñтупны Ð´Ð»Ñ Ñдра. Ð’Ñ‹ должны перезагрузить ваш компьютер до того, как что-либо делать Ñ %s.ОблаÑть загрузки не покрывает веÑÑŒ раздел.ОблаÑть данных не покрывает веÑÑŒ раздел.Ð“Ð»Ð°Ð²Ð½Ð°Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° GPT повреждена, но Ñ€ÐµÐ·ÐµÑ€Ð²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ Ð²Ñ€Ð¾Ð´Ðµ нормальнаÑ, поÑтому она и будет иÑпользоватьÑÑ.Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема прошла базовую проверку. Ð”Ð»Ñ Ð±Ð¾Ð»ÐµÐµ полной проверки, иÑпользуйте программу reiserfsck --check.Размер Ñектора, хранÑщийÑÑ Ð² журнале не 512 байт. Parted может работать только Ñ Ñекторами размером 512 байт.Указанное уÑтройÑтво не ÑвлÑетÑÑ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¼ DASD уÑтройÑтвомЗаголовок раздела или блок главного каталога был изменён при повторении журнала. Ð’Ñ‹ должны перезапуÑтить Parted.Ð”Ð»Ñ Ñтого типа FAT допуÑтимых конфигураций нет.Ð”Ð»Ñ Ð²Ñех файлов не хватает меÑта в корневом каталоге. Либо отмените, либо игнорируйте Ð´Ð»Ñ Ð¿Ð¾Ñ‚ÐµÑ€Ð¸ файлов.Этот раздел HFS не Ñодержит файла каталога. Очень необычно!Этот раздел HFS не Ñодержит файла размеров перегрузки. ДоÑтаточно необычно!Этот раздел HFS+ не Ñодержит файла каталога. Очень необычно!Этот раздел HFS+ не Ñодержит файла размеров перегрузки. ДоÑтаточно необычно!Эта команда ничего не делает в не-интерактивном режиме. Эта Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема имеет размер логичеÑкого Ñектора %d. СчитаетÑÑ, что GNU Parted работает неправильно Ñ Ñекторами, размер которых отличен от 512 байт.Это не наÑтоÑÑ‰Ð°Ñ %s проверка. Это делаетÑÑ Ð´Ð»Ñ Ð¸Ð·Ð²Ð»ÐµÑ‡ÐµÐ½Ð¸Ñ Ñпециальных низкоуровневых файлов Ð´Ð»Ñ Ð¾Ñ‚Ð»Ð°Ð´ÐºÐ¸.Это не ECKD диÑк! Этот тип диÑка не поддерживаетÑÑ!Эта библиотеке libparted не Ñодержит поддержки запиÑи Ð´Ð»Ñ %s. Ðаверное Ñкомпилирована только Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ.Слишком много плохих Ñтраниц.Слишком много оÑновных разделовСлишком много оÑновных разделов.Ð—Ð°Ð²ÐµÑ€ÑˆÐ°ÑŽÑ‰Ð°Ñ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð°Ñ ÐºÐ¾ÑÐ°Ñ Ñ‡ÐµÑ€Ñ‚Ð°ÐŸÐ¾Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ `%s --help' Ð´Ð»Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¹ информации. ПытаюÑÑŒ перемеÑтить раÑширение из блока Ox%X в блок Ox%X, но другой уже ÑодержитÑÑ Ð½Ð° Ñтой позиции. Это не должно было ÑлучитьÑÑ!ПытаюÑÑŒ прочеÑть HFS файл Ñ CNID %X за EOF.ПытаюÑÑŒ прочеÑть HFS+ файл Ñ CNID %X за EOF.ПытаюÑÑŒ зарегиÑтрировать начало блока на 0x%X, но другой уже ÑущеÑтвует на Ñтой позиции. Вам нужно проверить файловую Ñитему на ошибки!ПытаюÑÑŒ запиÑать HFS файл Ñ CNID %X за EOF.ПытаюÑÑŒ запиÑать HFS+ файл Ñ CNID %X за EOF.ТипУСТР. один из: Ðе удалоÑÑŒ назначить Ñлот подпиÑи к диÑку bsd.Ðе удалоÑÑŒ назначить Ñлот подпиÑи к диÑку dasdÐе удалоÑÑŒ назначить номер раздела.Ðе удаётÑÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ð¸Ñ‚ÑŒ геометрию файла/уÑтройÑтва %s. Ð’Ñ‹ не должны иÑпользовать Parted, еÑли вы не знаете ÐÐВЕРÐЯКÐ, что делаете!Ðе удаётÑÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ð¸Ñ‚ÑŒ размер %s (%s).Ðе удалоÑÑŒ открыть %s на чтение-запиÑÑŒ (%s). %s открыт только Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ.Ðе удалоÑÑŒ открыть %s.Ðе удалоÑÑŒ проверить хранение.Ðе удалоÑÑŒ удовлетворить вÑе Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ñ†ÐµÐ»Ð¾ÑтноÑти раздела.УÑтройÑтво?ÐеизвеÑтныйÐеизвеÑтный тип файловой ÑиÑтемы "%s".ÐеизвеÑтный флаг раздела, %d.ÐеизвеÑÑ‚Ð½Ð°Ñ ÑиÑÑ‚ÐµÐ¼Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°Ðет ÑоответÑÑ‚Ð²Ð¸Ñ ( или \(Ðет ÑоответÑÑ‚Ð²Ð¸Ñ ) или \)Ðет ÑоответÑÑ‚Ð²Ð¸Ñ [ или [^Ðет ÑоответÑÑ‚Ð²Ð¸Ñ \{Ðе поддерживаемый формат диÑкаÐе поддерживаемый тип диÑкаОшибка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾Ð±Ð¾Ð»Ð¾Ñ‡ÐºÐ¸ HFS+.ИÑпользование: %s [ПÐРÐМЕТР] или: %s ÐОМЕР УСТРОЙСТВРИÑпользование: %s [ПÐРÐМЕТР] [УСТРОЙСТВО]... ИÑпользование: parted [ОПЦИЯ]... [УСТРОЙСТВО [КОМÐÐДР[ПÐРÐМЕТРЫ]...]...] ПрименÑет КОМÐÐДУ Ñ ÐŸÐРÐМЕТРÐМИ к УСТРОЙСТВУ. ЕÑли ни одной КОМÐÐДЫ не задано, выполнÑетÑÑ Ð² интерактивном режиме. User-Mode Linux UBDИÑпользуетÑÑ %s ВерÑÐ¸Ñ %d файловой ÑиÑтемы HFS+ не поддерживаетÑÑ.ВерÑÐ¸Ñ %d файловой ÑиÑтемы HFSX не поддерживаетÑÑ.Метка тома поврежденаВÐИМÐÐИЕ: Ð’Ñ‹ не админиÑтратор. Следите за правами.ПредупреждениеÐеправильный размер блока на уÑтройÑтве: %d байт не делитÑÑ Ð½Ð° 512.УжаÑ! СодержитÑÑ 2 Ñлемента таблицы разделов!Добро пожаловать в GNU Parted! Ðаберите 'help' Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñмотра ÑпиÑка команд. Без параметров, 'print' отображает вÑÑŽ таблицу разделов. Ðо Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°Ð¼Ð¸ могут выполнÑтьÑÑ Ð¸ некоторые другие дейÑтвиÑ. Ð’Ñ‹ хотите иÑпользовать FAT32?ÐапиÑано %s и %s. ÐапиÑано %s, %s, %s, %s, %s, %s, %s, %s, %s и другими. ÐапиÑано %s, %s, %s, %s, %s, %s, %s, %s и %s. ÐапиÑано %s, %s, %s, %s, %s, %s, %s и %s. ÐапиÑано %s, %s, %s, %s, %s, %s и %s. ÐапиÑано %s, %s, %s, %s, %s и %s. ÐапиÑано %s, %s, %s, %s и %s. ÐапиÑано %s, %s, %s и %s. ÐапиÑано %s, %s и %s. ÐапиÑано %s. Виртуальное блочное уÑтройÑтво XenДаÐе забудьте обновить /etc/fstab. Вам требуетÑÑ %s Ñвободного проÑтранÑтва, чтобы уменьшить данный раздел до такого размера. Ð¡ÐµÐ¹Ñ‡Ð°Ñ Ñвободно только %s.Ðужно переуÑтановить загрузчик перед перезагрузкой. Прочтите раздел 4 РуководÑтва Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Parted Ð´Ð»Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¹ информации.Ваша Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема имеет Ñлишком много занÑтых inode, чтобы изменить её размер до %i блоков. ПроÑтите.Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема Ñлишком заполнена, чтобы изменить её размер до %i блоков. ПроÑтите.^[nNнÐ]^[yYдД]«добавление группзагрузочныйcheckcheck ÐОМЕР производит проÑтую проверку файловой ÑиÑтемыпроверкапроверка на плохие блокикопированиеcpcp [ИЗ_УСТРОЙСТВÐ] ИЗ_ÐОМ Ð’_ÐОМ Ñкопировать файловую ÑиÑтему на другой разделÑозданиеотображает вывод Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ компьютеромотображает верÑиюотображает Ñто Ñправочное ÑообщениераÑширениераÑширенныйfat_table_alloc_cluster: нет Ñвободных клаÑтеровfat_table_get: клаÑтер %ld находитÑÑ Ð²Ð½Ðµ файловой ÑиÑтемыfat_table_set: клаÑтер %ld находитÑÑ Ð²Ð½Ðµ файловой ÑиÑтемыÑвободнонаращивание файловой ÑиÑтемыhelphelp [КОМÐÐДÐ] раÑпечатать общую Ñправку или Ñправку по КОМÐÐДЕÑкрытыйhp-serviceÐе правильный ключ: %sошибка ioctl()lbaвыводит ÑпиÑок разделов на вÑех блочных уÑтройÑтвахлогичеÑкийlvmзакончилаÑÑŒ памÑтьметаданныеmkfsmklabelmklabel,mktable ТИП_МЕТКИ Ñоздать новую метку диÑка (таблицу раздела) mkpartmkpart ТИП_РÐЗД [ТИП_ФС] ÐÐЧ КОРÑоздать разделmkpartfsmkpartfs ТИП_РÐЗД ТИП_ФС ÐÐЧ КОРÑоздать раздел Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ð¹ ÑиÑтемойmktablemovemove ÐОМЕР ÐÐЧ КОРперемеÑтить файловую ÑиÑтему ÐОМЕРmsftresnamename ÐОМЕР ИМЯ назначает Ð¸Ð¼Ñ Ñ€Ð°Ð·Ð´ÐµÐ»Ñƒ ÐОМЕР на ИМЯникогда не запрашивает вмешательÑтво пользователÑвыклвклошибка открытиÑне удалоÑÑŒ открыть уÑтройÑтвоpaloparted не Ñмог Ñчитать таблицу разделов на %s (%s). Это значит, что Ñделанные вами Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð±ÑƒÐ´ÑƒÑ‚ недоÑтупны Ð´Ð»Ñ Linux. ped_device_new() Ðе поддерживаемый тип уÑтройÑтваprepоÑновнойprintprint [devices|free|list,all|ÐОМЕР] отображает таблицу разделов, доÑтупные уÑтройÑтва, Ñвободное меÑто, вÑе найденные разделы или определённый разделquitquit выйти из программыraidкопирование блоковошибка чтениÑне удалоÑÑŒ прочеÑть Ñ ÑƒÑтройÑтваresizerescue ÐÐЧÐЛО КОÐЕЦ воÑÑтановить потерÑнный раздел в промежутке от ÐÐЧÐЛРдо КОÐЦÐresizeresize ÐОМЕР ÐÐЧ КОРизменить размер файловой ÑиÑтемы на разделе ÐОМЕРrmrm ÐОМЕР удалить раздел ÐОМЕРкорневойпоиÑк файловых ÑиÑтемошибка при поиÑке дорожкине удалоÑÑŒ найти дорожкуselectselect УСТРОЙСТВО выбор уÑтройÑтва Ð´Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñsetset ÐОМЕР ФЛÐГ СОСТОЯÐИЯ изменить ФЛÐГ на разделе ÐОМЕРÑужениеуменьшаю размер оболочки HFSуменьшаю размер вÑтроенного HFS+ разделаподкачкаtoggletoggle [ÐОМЕР [ФЛÐГ]] переключает ÑоÑтоÑÐ½Ð¸Ñ Ð¤Ð›ÐГРна разделе ÐОМЕРÑлишком мало аргументовÑлишком много аргументовunitunit УСТРОЙСТВО уÑтановить уÑтройÑтво по умолчанию на УСТРОЙСТВОversionversion отображает текущую верÑию GNU Parted и информацию о лицензииошибка запиÑизапиÑÑŒ HFS Master Directory Block (Главный блок каталога)запиÑÑŒ HFS+ Volume Header (Заголовка раздела)запиÑÑŒ метаданных группне удалоÑÑŒ запиÑать на уÑтройÑтвоparted-2.3/po/POTFILES.in0000644000000000000000000000370111333731662011725 00000000000000# libparted # Copyright (C) 1999-2001, 2006-2010 Free Software Foundation, Inc. # This file may be modified and/or copied without restriction. # list of files containing translatable strings # lib lib/argmatch.c lib/closeout.c lib/error.c lib/getopt.c lib/quotearg.c lib/regcomp.c lib/rpmatch.c lib/version-etc.c lib/xalloc-die.c lib/xstrtol-error.c libparted/arch/beos.c debug/clearfat/clearfat.c partprobe/partprobe.c # libparted libparted/arch/gnu.c libparted/arch/linux.c libparted/cs/geom.c libparted/debug.c libparted/disk.c libparted/exception.c libparted/filesys.c libparted/fs/reiserfs/reiserfs.c libparted/labels/aix.c libparted/labels/bsd.c libparted/labels/dasd.c libparted/labels/dos.c libparted/labels/dvh.c libparted/labels/fdasd.c libparted/labels/gpt.c libparted/labels/loop.c libparted/labels/mac.c libparted/labels/pc98.c libparted/labels/pt-tools.c libparted/labels/rdb.c libparted/labels/sun.c libparted/labels/vtoc.c libparted/libparted.c libparted/unit.c libparted/fs/amiga/affs.c libparted/fs/amiga/amiga.c libparted/fs/amiga/apfs.c libparted/fs/amiga/asfs.c # libparted/fs_ext2 libparted/fs/ext2/ext2.c libparted/fs/ext2/ext2_inode_relocator.c libparted/fs/ext2/ext2_resize.c libparted/fs/ext2/ext2_block_relocator.c libparted/fs/ext2/interface.c libparted/fs/ext2/ext2_buffer.c libparted/fs/ext2/ext2_mkfs.c # libparted/fs/fat libparted/fs/fat/calc.c libparted/fs/fat/context.c libparted/fs/fat/fat.c libparted/fs/fat/resize.c libparted/fs/fat/bootsector.c libparted/fs/fat/count.c libparted/fs/fat/table.c # libparted/fs/linux_swap libparted/fs/linux_swap/linux_swap.c # libparted/fs/hfs libparted/fs/hfs/advfs.c libparted/fs/hfs/advfs_plus.c libparted/fs/hfs/cache.c libparted/fs/hfs/file.c libparted/fs/hfs/file_plus.c libparted/fs/hfs/hfs.c libparted/fs/hfs/journal.c libparted/fs/hfs/probe.c libparted/fs/hfs/reloc.c libparted/fs/hfs/reloc_plus.c # libparted/fs/jfs # libparted/fs/ufs # libparted/fs/xfs # parted parted/parted.c parted/ui.c parted-2.3/po/parted.pot0000644000000000000000000021361511400005704012144 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: GNU parted 2.3\n" "Report-Msgid-Bugs-To: bug-parted@gnu.org\n" "POT-Creation-Date: 2010-05-28 20:30+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-Transfer-Encoding: 8bit\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "" #: lib/argmatch.c:153 #, c-format msgid "Valid arguments are:" msgstr "" #: lib/closeout.c:112 libparted/labels/fdasd.c:107 msgid "write error" msgstr "" #: lib/error.c:181 msgid "Unknown system error" msgstr "" #: lib/getopt.c:527 lib/getopt.c:543 #, c-format msgid "%s: option '%s' is ambiguous\n" msgstr "" #: lib/getopt.c:576 lib/getopt.c:580 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:589 lib/getopt.c:594 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:637 lib/getopt.c:656 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "" #: lib/getopt.c:694 lib/getopt.c:697 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "" #: lib/getopt.c:705 lib/getopt.c:708 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "" #: lib/getopt.c:757 lib/getopt.c:760 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "" #: lib/getopt.c:810 lib/getopt.c:827 lib/getopt.c:1035 lib/getopt.c:1053 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "" #: lib/getopt.c:883 lib/getopt.c:899 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "" #: lib/getopt.c:923 lib/getopt.c:941 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:962 lib/getopt.c:980 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". If the catalog has no translation, #. locale_quoting_style quotes `like this', and #. clocale_quoting_style quotes "like this". #. #. For example, an American English Unicode locale should #. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and #. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION #. MARK). A British English Unicode locale should instead #. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) #. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. #. #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. #: lib/quotearg.c:272 msgid "`" msgstr "" #: lib/quotearg.c:273 msgid "'" msgstr "" #: lib/regcomp.c:134 msgid "Success" msgstr "" #: lib/regcomp.c:137 msgid "No match" msgstr "" #: lib/regcomp.c:140 msgid "Invalid regular expression" msgstr "" #: lib/regcomp.c:143 msgid "Invalid collation character" msgstr "" #: lib/regcomp.c:146 msgid "Invalid character class name" msgstr "" #: lib/regcomp.c:149 msgid "Trailing backslash" msgstr "" #: lib/regcomp.c:152 msgid "Invalid back reference" msgstr "" #: lib/regcomp.c:155 msgid "Unmatched [ or [^" msgstr "" #: lib/regcomp.c:158 msgid "Unmatched ( or \\(" msgstr "" #: lib/regcomp.c:161 msgid "Unmatched \\{" msgstr "" #: lib/regcomp.c:164 msgid "Invalid content of \\{\\}" msgstr "" #: lib/regcomp.c:167 msgid "Invalid range end" msgstr "" #: lib/regcomp.c:170 msgid "Memory exhausted" msgstr "" #: lib/regcomp.c:173 msgid "Invalid preceding regular expression" msgstr "" #: lib/regcomp.c:176 msgid "Premature end of regular expression" msgstr "" #: lib/regcomp.c:179 msgid "Regular expression too big" msgstr "" #: lib/regcomp.c:182 msgid "Unmatched ) or \\)" msgstr "" #: lib/regcomp.c:703 msgid "No previous regular expression" msgstr "" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "" #: lib/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "" #: lib/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "" #: lib/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" #: lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "" #: lib/xstrtol-error.c:63 #, c-format msgid "invalid %s%s argument `%s'" msgstr "" #: lib/xstrtol-error.c:68 #, c-format msgid "invalid suffix in %s%s argument `%s'" msgstr "" #: lib/xstrtol-error.c:72 #, c-format msgid "%s%s argument `%s' too large" msgstr "" #: libparted/arch/beos.c:245 msgid "Disk Image" msgstr "" #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277 #: libparted/arch/linux.c:1519 #, c-format msgid "Error opening %s: %s" msgstr "" #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287 #: libparted/arch/linux.c:1530 #, c-format msgid "Unable to open %s read-write (%s). %s has been opened read-only." msgstr "" #: libparted/arch/beos.c:419 libparted/arch/linux.c:1688 #, c-format msgid "%s during seek for read on %s" msgstr "" #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564 #: libparted/arch/gnu.c:692 libparted/arch/linux.c:1648 #: libparted/arch/linux.c:1729 #, c-format msgid "%s during read on %s" msgstr "" #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525 #: libparted/arch/linux.c:1805 #, c-format msgid "Can't write to %s, because it is opened read-only." msgstr "" #: libparted/arch/beos.c:504 libparted/arch/linux.c:1830 #, c-format msgid "%s during seek for write on %s" msgstr "" #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646 #: libparted/arch/gnu.c:723 libparted/arch/linux.c:1778 #: libparted/arch/linux.c:1872 libparted/arch/linux.c:1944 #, c-format msgid "%s during write on %s" msgstr "" #: debug/clearfat/clearfat.c:62 partprobe/partprobe.c:137 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "" #: debug/clearfat/clearfat.c:66 #, c-format msgid "" "Usage: %s [OPTION]\n" " or: %s DEVICE MINOR\n" msgstr "" #: debug/clearfat/clearfat.c:69 msgid "" "Clear unused space on a FAT partition (a GNU Parted testing tool).\n" "\n" msgstr "" #: debug/clearfat/clearfat.c:73 msgid " --help display this help and exit\n" msgstr "" #: debug/clearfat/clearfat.c:74 msgid " --version output version information and exit\n" msgstr "" #: debug/clearfat/clearfat.c:76 partprobe/partprobe.c:154 #, c-format msgid "" "\n" "Report bugs to <%s>.\n" msgstr "" #: debug/clearfat/clearfat.c:284 #, c-format msgid "too few arguments" msgstr "" #: debug/clearfat/clearfat.c:289 #, c-format msgid "too many arguments" msgstr "" #: debug/clearfat/clearfat.c:297 #, c-format msgid "invalid minor device number: %s" msgstr "" #: partprobe/partprobe.c:141 #, c-format msgid "Usage: %s [OPTION] [DEVICE]...\n" msgstr "" #: partprobe/partprobe.c:142 msgid "" "Inform the operating system about partition table changes.\n" "\n" " -d, --dry-run do not actually inform the operating system\n" " -s, --summary print a summary of contents\n" " -h, --help display this help and exit\n" " -v, --version output version information and exit\n" msgstr "" #: partprobe/partprobe.c:150 msgid "" "\n" "When no DEVICE is given, probe all partitions.\n" msgstr "" #: libparted/arch/gnu.c:110 #, c-format msgid "Unable to open %s." msgstr "" #: libparted/arch/gnu.c:130 msgid "Unable to probe store." msgstr "" #: libparted/arch/gnu.c:368 msgid "" "The partition table cannot be re-read. This means you need to reboot before " "mounting any modified partitions. You also need to reinstall your boot " "loader before you reboot (which may require mounting modified partitions). " "It is impossible do both things! So you'll need to boot off a rescue disk, " "and reinstall your boot loader from the rescue disk. Read section 4 of the " "Parted User documentation for more information." msgstr "" #: libparted/arch/gnu.c:385 #, c-format msgid "" "The partition table on %s cannot be re-read (%s). This means the Hurd knows " "nothing about any modifications you made. You should reboot your computer " "before doing anything with %s." msgstr "" #: libparted/arch/gnu.c:396 parted/parted.c:2719 msgid "" "You should reinstall your boot loader before rebooting. Read section 4 of " "the Parted User documentation for more information." msgstr "" #: libparted/arch/gnu.c:788 #, c-format msgid "%s trying to sync %s to disk" msgstr "" #: libparted/arch/linux.c:509 #, c-format msgid "Could not stat device %s - %s." msgstr "" #: libparted/arch/linux.c:566 #, c-format msgid "Unable to determine the dm type of %s." msgstr "" #: libparted/arch/linux.c:658 #, c-format msgid "" "Could not determine sector size for %s: %s.\n" "Using the default sector size (%lld)." msgstr "" #: libparted/arch/linux.c:679 #, c-format msgid "" "Could not determine physical sector size for %s.\n" "Using the logical sector size (%lld)." msgstr "" #: libparted/arch/linux.c:728 #, c-format msgid "Unable to determine the size of %s (%s)." msgstr "" #: libparted/arch/linux.c:814 #, c-format msgid "Could not get identity of device %s - %s" msgstr "" #: libparted/arch/linux.c:823 msgid "Generic IDE" msgstr "" #: libparted/arch/linux.c:844 #, c-format msgid "" "Device %s has multiple (%d) logical sectors per physical sector.\n" "GNU Parted supports this EXPERIMENTALLY for some special disk label/file " "system combinations, e.g. GPT and ext2/3.\n" "Please consult the web site for up-to-date information." msgstr "" #: libparted/arch/linux.c:1019 #, c-format msgid "Error initialising SCSI device %s - %s" msgstr "" #: libparted/arch/linux.c:1083 #, c-format msgid "" "The device %s has zero length, and can't possibly store a file system or " "partition table. Perhaps you selected the wrong device?" msgstr "" #: libparted/arch/linux.c:1190 #, c-format msgid "" "Unable to determine geometry of file/device %s. You should not use Parted " "unless you REALLY know what you're doing!" msgstr "" #: libparted/arch/linux.c:1250 msgid "Generic SD/MMC Storage Card" msgstr "" #: libparted/arch/linux.c:1303 msgid "DAC960 RAID controller" msgstr "" #: libparted/arch/linux.c:1308 msgid "Promise SX8 SATA Device" msgstr "" #: libparted/arch/linux.c:1313 msgid "ATA over Ethernet Device" msgstr "" #: libparted/arch/linux.c:1319 msgid "IBM S390 DASD drive" msgstr "" #: libparted/arch/linux.c:1325 msgid "IBM iSeries Virtual DASD" msgstr "" #: libparted/arch/linux.c:1330 msgid "Compaq Smart Array" msgstr "" #: libparted/arch/linux.c:1335 msgid "ATARAID Controller" msgstr "" #: libparted/arch/linux.c:1340 msgid "I2O Controller" msgstr "" #: libparted/arch/linux.c:1345 msgid "User-Mode Linux UBD" msgstr "" #: libparted/arch/linux.c:1358 #, c-format msgid "Linux device-mapper (%s)" msgstr "" #: libparted/arch/linux.c:1369 msgid "Xen Virtual Block Device" msgstr "" #: libparted/arch/linux.c:1374 msgid "Unknown" msgstr "" #: libparted/arch/linux.c:1383 msgid "Virtio Block Device" msgstr "" #: libparted/arch/linux.c:1388 msgid "Linux Software RAID Array" msgstr "" #: libparted/arch/linux.c:1395 msgid "ped_device_new() Unsupported device type" msgstr "" #: libparted/arch/linux.c:1492 libparted/arch/linux.c:1564 #, c-format msgid "Error fsyncing/closing %s: %s" msgstr "" #: libparted/arch/linux.c:1728 #, c-format msgid "end of file while reading %s" msgstr "" #: libparted/arch/linux.c:2365 #, c-format msgid "" "Error informing the kernel about modifications to partition %s -- %s. This " "means Linux won't know about any changes you made to %s until you reboot -- " "so you shouldn't mount it or use it in any way before rebooting." msgstr "" #: libparted/arch/linux.c:2503 #, c-format msgid "Unable to determine the size and length of %s." msgstr "" #: libparted/arch/linux.c:2528 #, c-format msgid "Failed to add partition %d (%s)" msgstr "" #: libparted/arch/linux.c:2555 #, c-format msgid "" "Partition(s) %s on %s have been written, but we have been unable to inform " "the kernel of the change, probably because it/they are in use. As a result, " "the old partition(s) will remain in use. You should reboot now before " "making further changes." msgstr "" #: libparted/arch/linux.c:2681 #, c-format msgid "" "parted was unable to re-read the partition table on %s (%s). This means " "Linux won't know anything about the modifications you made. " msgstr "" #: libparted/cs/geom.c:162 #, c-format msgid "Can't have the end before the start! (start sector=%jd length=%jd)" msgstr "" #: libparted/cs/geom.c:170 msgid "Can't have a partition outside the disk!" msgstr "" #: libparted/cs/geom.c:385 #, c-format msgid "Attempt to write sectors %ld-%ld outside of partition on %s." msgstr "" #: libparted/cs/geom.c:425 libparted/fs/linux_swap/linux_swap.c:488 msgid "checking for bad blocks" msgstr "" #: libparted/debug.c:97 #, c-format msgid "Backtrace has %d calls on stack:\n" msgstr "" #: libparted/debug.c:110 #, c-format msgid "Assertion (%s) at %s:%d in function %s() failed." msgstr "" #: libparted/disk.c:193 #, c-format msgid "%s: unrecognised disk label" msgstr "" #: libparted/disk.c:486 #, c-format msgid "" "This libparted doesn't have write support for %s. Perhaps it was compiled " "read-only." msgstr "" #: libparted/disk.c:631 #, c-format msgid "Partition %d is %s, but the file system is %s." msgstr "" #: libparted/disk.c:841 msgid "cylinder_alignment" msgstr "" #: libparted/disk.c:847 #, c-format msgid "Unknown disk flag, %d." msgstr "" #: libparted/disk.c:1286 #, c-format msgid "%s disk labels do not support extended partitions." msgstr "" #: libparted/disk.c:1865 #, c-format msgid "%s disk labels don't support logical or extended partitions." msgstr "" #: libparted/disk.c:1878 msgid "Too many primary partitions." msgstr "" #: libparted/disk.c:1887 #, c-format msgid "" "Can't add a logical partition to %s, because there is no extended partition." msgstr "" #: libparted/disk.c:1911 #, c-format msgid "Can't have more than one extended partition on %s." msgstr "" #: libparted/disk.c:1921 msgid "Can't have logical partitions outside of the extended partition." msgstr "" #: libparted/disk.c:1946 #, c-format msgid "Can't have a logical partition outside of the extended partition on %s." msgstr "" #: libparted/disk.c:1956 libparted/disk.c:2015 libparted/disk.c:2193 msgid "Can't have overlapping partitions." msgstr "" #: libparted/disk.c:1964 msgid "Can't have a primary partition inside an extended partition." msgstr "" #: libparted/disk.c:2395 msgid "metadata" msgstr "" #: libparted/disk.c:2397 msgid "free" msgstr "" #: libparted/disk.c:2399 parted/ui.c:1193 parted/ui.c:1221 msgid "extended" msgstr "" #: libparted/disk.c:2401 parted/ui.c:1197 parted/ui.c:1225 msgid "logical" msgstr "" #: libparted/disk.c:2403 parted/ui.c:1189 parted/ui.c:1217 msgid "primary" msgstr "" #: libparted/disk.c:2419 msgid "boot" msgstr "" #: libparted/disk.c:2421 msgid "bios_grub" msgstr "" #: libparted/disk.c:2423 msgid "root" msgstr "" #: libparted/disk.c:2425 msgid "swap" msgstr "" #: libparted/disk.c:2427 msgid "hidden" msgstr "" #: libparted/disk.c:2429 msgid "raid" msgstr "" #: libparted/disk.c:2431 msgid "lvm" msgstr "" #: libparted/disk.c:2433 msgid "lba" msgstr "" #: libparted/disk.c:2435 msgid "hp-service" msgstr "" #: libparted/disk.c:2437 msgid "palo" msgstr "" #: libparted/disk.c:2439 msgid "prep" msgstr "" #: libparted/disk.c:2441 msgid "msftres" msgstr "" #: libparted/disk.c:2443 msgid "atvrecv" msgstr "" #: libparted/disk.c:2445 msgid "diag" msgstr "" #: libparted/disk.c:2451 #, c-format msgid "Unknown partition flag, %d." msgstr "" #: libparted/exception.c:77 msgid "Information" msgstr "" #: libparted/exception.c:78 msgid "Warning" msgstr "" #: libparted/exception.c:79 msgid "Error" msgstr "" #: libparted/exception.c:80 msgid "Fatal" msgstr "" #: libparted/exception.c:81 msgid "Bug" msgstr "" #: libparted/exception.c:82 msgid "No Implementation" msgstr "" #: libparted/exception.c:86 msgid "Fix" msgstr "" #: libparted/exception.c:87 msgid "Yes" msgstr "" #: libparted/exception.c:88 msgid "No" msgstr "" #: libparted/exception.c:89 msgid "OK" msgstr "" #: libparted/exception.c:90 msgid "Retry" msgstr "" #: libparted/exception.c:91 msgid "Ignore" msgstr "" #: libparted/exception.c:92 msgid "Cancel" msgstr "" #: libparted/exception.c:132 #, c-format msgid "" "A bug has been detected in GNU Parted. Refer to the web site of parted " "http://www.gnu.org/software/parted/parted.html for more information of what " "could be useful for bug submitting! Please email a bug report to bug-" "parted@gnu.org containing at least the version (%s) and the following " "message: " msgstr "" #: libparted/filesys.c:462 msgid "Could not detect file system." msgstr "" #: libparted/filesys.c:473 msgid "The file system is bigger than its volume!" msgstr "" #: libparted/filesys.c:481 #, c-format msgid "Support for opening %s file systems is not implemented yet." msgstr "" #: libparted/filesys.c:523 #, c-format msgid "Support for creating %s file systems is not implemented yet." msgstr "" #: libparted/filesys.c:583 #, c-format msgid "Support for checking %s file systems is not implemented yet." msgstr "" #: libparted/filesys.c:649 msgid "raw block copying" msgstr "" #: libparted/filesys.c:660 msgid "growing file system" msgstr "" #: libparted/filesys.c:700 msgid "Can't copy onto an overlapping partition." msgstr "" #: libparted/filesys.c:722 #, c-format msgid "" "Direct support for copying file systems is not yet implemented for %s. " "However, support for resizing is implemented. Therefore, the file system " "can be copied if the new partition is at least as big as the old one. So, " "either shrink the partition you are trying to copy, or copy to a bigger " "partition." msgstr "" #: libparted/filesys.c:736 #, c-format msgid "Support for copying %s file systems is not implemented yet." msgstr "" #: libparted/filesys.c:774 #, c-format msgid "Support for resizing %s file systems is not implemented yet." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:315 msgid "creating" msgstr "" #: libparted/fs/reiserfs/reiserfs.c:402 msgid "The file system is in an invalid state. Perhaps it is mounted?" msgstr "" #: libparted/fs/reiserfs/reiserfs.c:410 msgid "The file system is in old (unresizeable) format." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:416 msgid "Invalid free blocks count. Run reiserfsck --check first." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:431 msgid "checking" msgstr "" #: libparted/fs/reiserfs/reiserfs.c:437 msgid "Reiserfs tree seems to be corrupted. Run reiserfsck --check first." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:449 msgid "" "The reiserfs file system passed a basic check. For a more comprehensive " "check, run reiserfsck --check." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:474 msgid "Sorry, can't move the start of reiserfs partitions yet." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:490 msgid "Couldn't reopen device abstraction layer for read/write." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:508 libparted/fs/ext2/ext2_resize.c:552 #: libparted/fs/hfs/hfs.c:250 libparted/fs/hfs/hfs.c:629 msgid "shrinking" msgstr "" #: libparted/fs/reiserfs/reiserfs.c:520 msgid "expanding" msgstr "" #: libparted/fs/reiserfs/reiserfs.c:592 msgid "Couldn't create reiserfs device abstraction handler." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:606 #, c-format msgid "Device is too small for %lu blocks." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:615 msgid "copying" msgstr "" #: libparted/fs/reiserfs/reiserfs.c:682 #, c-format msgid "Couldn't resolve symbol %s. Error: %s." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:704 msgid "GNU Parted found an invalid libreiserfs library." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:715 #, c-format msgid "" "GNU Parted has detected libreiserfs interface version mismatch. Found %d-" "%d, required %d. ReiserFS support will be disabled." msgstr "" #: libparted/labels/aix.c:103 msgid "Support for reading AIX disk labels is is not implemented yet." msgstr "" #: libparted/labels/aix.c:114 msgid "Support for writing AIX disk labels is is not implemented yet." msgstr "" #: libparted/labels/aix.c:127 msgid "" "Support for adding partitions to AIX disk labels is not implemented yet." msgstr "" #: libparted/labels/aix.c:137 msgid "" "Support for duplicating partitions in AIX disk labels is not implemented yet." msgstr "" #: libparted/labels/aix.c:155 msgid "" "Support for setting system type of partitions in AIX disk labels is not " "implemented yet." msgstr "" #: libparted/labels/aix.c:165 msgid "Support for setting flags in AIX disk labels is not implemented yet." msgstr "" #: libparted/labels/bsd.c:568 libparted/labels/dasd.c:783 #: libparted/labels/dos.c:2092 libparted/labels/dvh.c:788 #: libparted/labels/gpt.c:1750 libparted/labels/loop.c:245 #: libparted/labels/mac.c:1424 libparted/labels/pc98.c:749 #: libparted/labels/rdb.c:1051 libparted/labels/sun.c:821 msgid "Unable to satisfy all constraints on the partition." msgstr "" #: libparted/labels/bsd.c:593 msgid "Unable to allocate a bsd disklabel slot." msgstr "" #: libparted/labels/dasd.c:809 msgid "Unable to allocate a dasd disklabel slot" msgstr "" #: libparted/labels/dos.c:882 #, c-format msgid "Invalid partition table on %s -- wrong signature %x." msgstr "" #: libparted/labels/dos.c:910 #, c-format msgid "Invalid partition table - recursive partition on %s." msgstr "" #: libparted/labels/dos.c:1420 msgid "Extended partitions cannot be hidden on msdos disk labels." msgstr "" #: libparted/labels/dos.c:2074 msgid "Parted can't resize partitions managed by Windows Dynamic Disk." msgstr "" #: libparted/labels/dvh.c:201 #, c-format msgid "%s has no extended partition (volume header partition)." msgstr "" #: libparted/labels/dvh.c:327 msgid "Checksum is wrong, indicating the partition table is corrupt." msgstr "" #: libparted/labels/dvh.c:632 msgid "Only primary partitions can be root partitions." msgstr "" #: libparted/labels/dvh.c:646 msgid "Only primary partitions can be swap partitions." msgstr "" #: libparted/labels/dvh.c:660 msgid "Only logical partitions can be a boot file." msgstr "" #: libparted/labels/dvh.c:737 #, c-format msgid "" "failed to set dvh partition name to %s:\n" "Only logical partitions (boot files) have a name." msgstr "" #: libparted/labels/dvh.c:830 msgid "Too many primary partitions" msgstr "" #: libparted/labels/fdasd.c:98 msgid "open error" msgstr "" #: libparted/labels/fdasd.c:101 msgid "seek error" msgstr "" #: libparted/labels/fdasd.c:104 msgid "read error" msgstr "" #: libparted/labels/fdasd.c:110 msgid "ioctl() error" msgstr "" #: libparted/labels/fdasd.c:114 msgid "API version mismatch" msgstr "" #: libparted/labels/fdasd.c:118 msgid "Unsupported disk type" msgstr "" #: libparted/labels/fdasd.c:122 msgid "Unsupported disk format" msgstr "" #: libparted/labels/fdasd.c:126 msgid "Disk is in use" msgstr "" #: libparted/labels/fdasd.c:130 msgid "Syntax error in config file" msgstr "" #: libparted/labels/fdasd.c:134 msgid "Volume label is corrupted" msgstr "" #: libparted/labels/fdasd.c:138 msgid "A data set name is corrupted" msgstr "" #: libparted/labels/fdasd.c:142 msgid "Memory allocation failed" msgstr "" #: libparted/labels/fdasd.c:146 msgid "Device verification failed" msgstr "" #: libparted/labels/fdasd.c:147 msgid "The specified device is not a valid DASD device" msgstr "" #: libparted/labels/fdasd.c:150 libparted/labels/vtoc.c:179 msgid "Fatal error" msgstr "" #: libparted/labels/fdasd.c:226 msgid "No room for volume label." msgstr "" #: libparted/labels/fdasd.c:234 msgid "No room for partition info." msgstr "" #: libparted/labels/fdasd.c:704 msgid "Invalid VTOC." msgstr "" #: libparted/labels/fdasd.c:764 msgid "Could not retrieve API version." msgstr "" #: libparted/labels/fdasd.c:767 #, c-format msgid "" "The current API version '%d' doesn't match dasd driver API version '%d'!" msgstr "" #: libparted/labels/fdasd.c:804 msgid "Could not retrieve disk geometry information." msgstr "" #: libparted/labels/fdasd.c:808 msgid "Could not retrieve blocksize information." msgstr "" #: libparted/labels/fdasd.c:813 msgid "Could not retrieve disk information." msgstr "" #: libparted/labels/fdasd.c:818 msgid "This is not an ECKD disk! This disk type is not supported!" msgstr "" #: libparted/labels/gpt.c:485 #, c-format msgid "" "%s contains GPT signatures, indicating that it has a GPT table. However, it " "does not have a valid fake msdos partition table, as it should. Perhaps it " "was corrupted -- possibly by a program that doesn't understand GPT partition " "tables. Or perhaps you deleted the GPT table, and are now using an msdos " "partition table. Is this a GPT partition table?" msgstr "" #: libparted/labels/gpt.c:680 #, c-format msgid "" "The format of the GPT partition table is version %x, which is newer than " "what Parted can recognise. Please tell us! bug-parted@gnu.org" msgstr "" #: libparted/labels/gpt.c:727 #, c-format msgid "" "Not all of the space available to %s appears to be used, you can fix the GPT " "to use all of the space (an extra %llu blocks) or continue with the current " "setting? " msgstr "" #: libparted/labels/gpt.c:936 msgid "" "The backup GPT table is not at the end of the disk, as it should be. This " "might mean that another operating system believes the disk is smaller. Fix, " "by moving the backup to the end (and removing the old backup)?" msgstr "" #: libparted/labels/gpt.c:960 msgid "" "Both the primary and backup GPT tables are corrupt. Try making a fresh " "table, and using Parted's rescue feature to recover partitions." msgstr "" #: libparted/labels/gpt.c:971 msgid "" "The backup GPT table is corrupt, but the primary appears OK, so that will be " "used." msgstr "" #: libparted/labels/gpt.c:983 msgid "" "The primary GPT table is corrupt, but the backup appears OK, so that will be " "used." msgstr "" #: libparted/labels/gpt.c:1007 msgid "primary partition table array CRC mismatch" msgstr "" #: libparted/labels/mac.c:185 #, c-format msgid "Invalid signature %x for Mac disk labels." msgstr "" #: libparted/labels/mac.c:232 msgid "Partition map has no partition map entry!" msgstr "" #: libparted/labels/mac.c:280 #, c-format msgid "%s is too small for a Mac disk label!" msgstr "" #: libparted/labels/mac.c:509 #, c-format msgid "Partition %d has an invalid signature %x." msgstr "" #: libparted/labels/mac.c:527 #, c-format msgid "Partition %d has an invalid length of 0 bytes!" msgstr "" #: libparted/labels/mac.c:558 msgid "The data region doesn't start at the start of the partition." msgstr "" #: libparted/labels/mac.c:575 msgid "The boot region doesn't start at the start of the partition." msgstr "" #: libparted/labels/mac.c:589 msgid "The partition's boot region doesn't occupy the entire partition." msgstr "" #: libparted/labels/mac.c:600 msgid "The partition's data region doesn't occupy the entire partition." msgstr "" #: libparted/labels/mac.c:653 #, c-format msgid "" "Weird block size on device descriptor: %d bytes is not divisible by 512." msgstr "" #: libparted/labels/mac.c:666 #, c-format msgid "" "The driver descriptor says the physical block size is %d bytes, but Linux " "says it is %d bytes." msgstr "" #: libparted/labels/mac.c:720 msgid "No valid partition map found." msgstr "" #: libparted/labels/mac.c:782 #, c-format msgid "" "Conflicting partition map entry sizes! Entry 1 says it is %d, but entry %d " "says it is %d!" msgstr "" #: libparted/labels/mac.c:809 msgid "Weird! There are 2 partitions map entries!" msgstr "" #: libparted/labels/mac.c:1355 msgid "" "Changing the name of a root or swap partition will prevent Linux from " "recognising it as such." msgstr "" #: libparted/labels/mac.c:1459 msgid "Can't add another partition -- the partition map is too small!" msgstr "" #: libparted/labels/pc98.c:331 #, c-format msgid "Invalid partition table on %s." msgstr "" #: libparted/labels/pc98.c:384 libparted/labels/pc98.c:462 #, c-format msgid "" "Partition %d isn't aligned to cylinder boundaries. This is still " "unsupported." msgstr "" #: libparted/labels/pc98.c:781 msgid "Can't add another partition." msgstr "" #: libparted/labels/pt-tools.c:125 #, c-format msgid "" "partition length of %jd sectors exceeds the %s-partition-table-imposed " "maximum of %jd" msgstr "" #: libparted/labels/pt-tools.c:138 #, c-format msgid "" "starting sector number, %jd exceeds the %s-partition-table-imposed maximum " "of %jd" msgstr "" #: libparted/labels/rdb.c:170 #, c-format msgid "%s : Bad checksum on block %llu of type %s." msgstr "" #: libparted/labels/rdb.c:486 #, c-format msgid "%s : Didn't find rdb block, should never happen." msgstr "" #: libparted/labels/rdb.c:572 #, c-format msgid "%s : Loop detected at block %d." msgstr "" #: libparted/labels/rdb.c:591 #, c-format msgid "%s : The %s list seems bad at block %s." msgstr "" #: libparted/labels/rdb.c:690 #, c-format msgid "%s : Failed to list bad blocks." msgstr "" #: libparted/labels/rdb.c:698 #, c-format msgid "%s : Failed to list partition blocks." msgstr "" #: libparted/labels/rdb.c:706 #, c-format msgid "%s : Failed to list file system blocks." msgstr "" #: libparted/labels/rdb.c:714 #, c-format msgid "%s : Failed to list boot blocks." msgstr "" #: libparted/labels/rdb.c:741 #, c-format msgid "Failed to write partition block at %d." msgstr "" #: libparted/labels/rdb.c:1079 msgid "Unable to allocate a partition number." msgstr "" #: libparted/labels/sun.c:163 msgid "Corrupted Sun disk label detected." msgstr "" #: libparted/labels/sun.c:316 #, c-format msgid "" "The disk CHS geometry (%d,%d,%d) reported by the operating system does not " "match the geometry stored on the disk label (%d,%d,%d)." msgstr "" #: libparted/labels/sun.c:338 #, c-format msgid "The disk label describes a disk bigger than %s." msgstr "" #: libparted/labels/sun.c:510 #, c-format msgid "The disk has %d cylinders, which is greater than the maximum of 65536." msgstr "" #: libparted/labels/sun.c:853 msgid "" "The Whole Disk partition is the only available one left. Generally, it is " "not a good idea to overwrite this partition with a real one. Solaris may " "not be able to boot without it, and SILO (the sparc boot loader) appreciates " "it as well." msgstr "" #: libparted/labels/sun.c:868 msgid "Sun disk label is full." msgstr "" #: libparted/labels/vtoc.c:164 msgid "opening of device failed" msgstr "" #: libparted/labels/vtoc.c:168 msgid "seeking on device failed" msgstr "" #: libparted/labels/vtoc.c:172 msgid "writing to device failed" msgstr "" #: libparted/labels/vtoc.c:176 msgid "reading from device failed" msgstr "" #: libparted/labels/vtoc.c:277 libparted/labels/vtoc.c:284 msgid "Could not read volume label." msgstr "" #: libparted/labels/vtoc.c:303 libparted/labels/vtoc.c:308 msgid "Could not write volume label." msgstr "" #: libparted/labels/vtoc.c:414 msgid "Could not read VTOC labels." msgstr "" #: libparted/labels/vtoc.c:420 msgid "Could not read VTOC FMT1 DSCB." msgstr "" #: libparted/labels/vtoc.c:427 msgid "Could not read VTOC FMT4 DSCB." msgstr "" #: libparted/labels/vtoc.c:434 msgid "Could not read VTOC FMT5 DSCB." msgstr "" #: libparted/labels/vtoc.c:441 msgid "Could not read VTOC FMT7 DSCB." msgstr "" #: libparted/labels/vtoc.c:461 msgid "Could not write VTOC labels." msgstr "" #: libparted/labels/vtoc.c:467 msgid "Could not write VTOC FMT1 DSCB." msgstr "" #: libparted/labels/vtoc.c:474 msgid "Could not write VTOC FMT4 DSCB." msgstr "" #: libparted/labels/vtoc.c:481 msgid "Could not write VTOC FMT5 DSCB." msgstr "" #: libparted/labels/vtoc.c:488 msgid "Could not write VTOC FMT7 DSCB." msgstr "" #: libparted/libparted.c:237 libparted/libparted.c:252 msgid "Out of memory." msgstr "" #: libparted/unit.c:138 msgid "Cannot get unit size for special unit 'COMPACT'." msgstr "" #: libparted/unit.c:384 #, c-format msgid "\"%s\" has invalid syntax for locations." msgstr "" #: libparted/unit.c:392 #, c-format msgid "The maximum head value is %d." msgstr "" #: libparted/unit.c:399 #, c-format msgid "The maximum sector value is %d." msgstr "" #: libparted/unit.c:411 libparted/unit.c:543 #, c-format msgid "The location %s is outside of the device %s." msgstr "" #: libparted/unit.c:525 msgid "Invalid number." msgstr "" #: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:56 #: libparted/fs/amiga/asfs.c:70 #, c-format msgid "%s : Failed to allocate partition block\n" msgstr "" #: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:69 #: libparted/fs/amiga/asfs.c:82 #, c-format msgid "%s : Failed to allocate block\n" msgstr "" #: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:74 #, c-format msgid "%s : Couldn't read boot block %llu\n" msgstr "" #: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:85 #: libparted/fs/amiga/asfs.c:88 libparted/fs/amiga/asfs.c:102 #, c-format msgid "%s : Couldn't read root block %llu\n" msgstr "" #: libparted/fs/amiga/amiga.c:72 #, c-format msgid "%s : Failed to allocate id list element\n" msgstr "" #: libparted/fs/amiga/amiga.c:189 #, c-format msgid "%s : Couldn't read block %llu\n" msgstr "" #: libparted/fs/amiga/amiga.c:202 #, c-format msgid "%s : Bad checksum on block %llu of type %s\n" msgstr "" #: libparted/fs/amiga/amiga.c:212 #, c-format msgid "%s : Couldn't write block %d\n" msgstr "" #: libparted/fs/amiga/amiga.c:278 #, c-format msgid "%s : Failed to allocate disk_specific rdb block\n" msgstr "" #: libparted/fs/amiga/amiga.c:289 #, c-format msgid "%s : Didn't find rdb block, should never happen\n" msgstr "" #: libparted/fs/amiga/amiga.c:318 #, c-format msgid "%s : Failed to read partition block %llu\n" msgstr "" #: libparted/fs/ext2/ext2.c:87 libparted/fs/ext2/ext2.c:112 msgid "Inconsistent group descriptors!" msgstr "" #: libparted/fs/ext2/ext2.c:91 libparted/fs/ext2/ext2.c:116 msgid "File system full!" msgstr "" #: libparted/fs/ext2/ext2.c:686 msgid "Invalid superblock. Are you sure this is an ext2 file system?" msgstr "" #: libparted/fs/ext2/ext2.c:700 libparted/fs/ext2/ext2_resize.c:658 msgid "File system has errors! You should run e2fsck." msgstr "" #: libparted/fs/ext2/ext2.c:711 msgid "" "File system was not cleanly unmounted! You should run e2fsck. Modifying an " "unclean file system could cause severe corruption." msgstr "" #: libparted/fs/ext2/ext2.c:731 msgid "" "File system has an incompatible feature enabled. Compatible features are " "has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs " "or debugfs to remove features." msgstr "" #: libparted/fs/ext2/ext2.c:745 msgid "Error allocating buffer cache." msgstr "" #: libparted/fs/ext2/ext2_inode_relocator.c:114 msgid "" "Found an inode with a incorrect link count. Better go run e2fsck first!" msgstr "" #: libparted/fs/ext2/ext2_inode_relocator.c:487 msgid "Not enough free inodes!" msgstr "" #: libparted/fs/ext2/ext2_resize.c:223 msgid "File system is too full to remove a group!" msgstr "" #: libparted/fs/ext2/ext2_resize.c:232 msgid "File system has too many allocated inodes to remove a group!" msgstr "" #: libparted/fs/ext2/ext2_resize.c:491 msgid "adding groups" msgstr "" #: libparted/fs/ext2/ext2_resize.c:528 #, c-format msgid "Your file system is too full to resize it to %i blocks. Sorry." msgstr "" #: libparted/fs/ext2/ext2_resize.c:538 #, c-format msgid "" "Your file system has too many occupied inodes to resize it to %i blocks. " "Sorry." msgstr "" #: libparted/fs/ext2/ext2_resize.c:666 msgid "File system was not cleanly unmounted! You should run e2fsck." msgstr "" #: libparted/fs/ext2/ext2_resize.c:675 msgid "" "The file system has the 'dir_index' feature enabled. Parted can only resize " "the file system if it disables this feature. You can enable it later by " "running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'." msgstr "" #: libparted/fs/ext2/ext2_resize.c:691 msgid "" "A resize operation on this file system will use EXPERIMENTAL code\n" "that MAY CORRUPT it (although no one has reported any such damage yet).\n" "You should at least backup your data first, and run 'e2fsck -f' afterwards." msgstr "" #: libparted/fs/ext2/ext2_block_relocator.c:198 msgid "Cross-linked blocks found! Better go run e2fsck first!" msgstr "" #: libparted/fs/ext2/ext2_block_relocator.c:537 #, c-format msgid "Block %i has no reference? Weird." msgstr "" #: libparted/fs/ext2/ext2_block_relocator.c:738 #, c-format msgid "Block %i shouldn't have been marked (%d, %d)!" msgstr "" #: libparted/fs/ext2/interface.c:226 msgid "" "The ext2 file system passed a basic check. For a more comprehensive check, " "use the e2fsck program." msgstr "" #: libparted/fs/ext2/interface.c:243 msgid "Sorry, can't move the start of ext2 partitions yet!" msgstr "" #: libparted/fs/ext2/ext2_buffer.c:82 msgid "Couldn't flush buffer cache!" msgstr "" #: libparted/fs/ext2/ext2_mkfs.c:161 msgid "writing per-group metadata" msgstr "" #: libparted/fs/ext2/ext2_mkfs.c:597 msgid "File system too small for ext2." msgstr "" #: libparted/fs/fat/calc.c:135 #, c-format msgid "" "You need %s of free disk space to shrink this partition to this size. " "Currently, only %s is free." msgstr "" #: libparted/fs/fat/context.c:56 #, c-format msgid "" "Cluster start delta = %d, which is not a multiple of the cluster size %d." msgstr "" #: libparted/fs/fat/fat.c:310 #, c-format msgid "Partition too big/small for a %s file system." msgstr "" #: libparted/fs/fat/fat.c:476 msgid "" "The FATs don't match. If you don't know what this means, then select " "cancel, run scandisk on the file system, and then come back." msgstr "" #: libparted/fs/fat/fat.c:516 msgid "There are no possible configurations for this FAT type." msgstr "" #: libparted/fs/fat/fat.c:528 #, c-format msgid "" "File system doesn't have expected sizes for Windows to like it. Cluster " "size is %dk (%dk expected); number of clusters is %d (%d expected); size of " "FATs is %d sectors (%d expected)." msgstr "" #: libparted/fs/fat/fat.c:551 #, c-format msgid "" "File system is reporting the free space as %d clusters, not %d clusters." msgstr "" #: libparted/fs/fat/fat.c:876 msgid "" "GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT " "support will be disabled." msgstr "" #: libparted/fs/fat/resize.c:158 msgid "" "There's not enough room in the root directory for all of the files. Either " "cancel, or ignore to lose the files." msgstr "" #: libparted/fs/fat/resize.c:299 msgid "Error writing to the root directory." msgstr "" #: libparted/fs/fat/resize.c:488 msgid "If you leave your file system as FAT16, then you will have no problems." msgstr "" #: libparted/fs/fat/resize.c:491 msgid "" "If you convert to FAT16, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual)." msgstr "" #: libparted/fs/fat/resize.c:499 msgid "" "If you leave your file system as FAT32, then you will not introduce any new " "problems." msgstr "" #: libparted/fs/fat/resize.c:503 msgid "" "If you convert to FAT32, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual). Also, " "converting to FAT32 will make the file system unreadable by MS DOS, MS " "Windows 95a, and MS Windows NT." msgstr "" #: libparted/fs/fat/resize.c:517 #, c-format msgid "%s %s %s" msgstr "" #: libparted/fs/fat/resize.c:518 msgid "Would you like to use FAT32?" msgstr "" #: libparted/fs/fat/resize.c:549 libparted/fs/fat/resize.c:565 #, c-format msgid "%s %s" msgstr "" #: libparted/fs/fat/resize.c:550 msgid "" "The file system can only be resized to this size by converting to FAT16." msgstr "" #: libparted/fs/fat/resize.c:566 msgid "" "The file system can only be resized to this size by converting to FAT32." msgstr "" #: libparted/fs/fat/resize.c:579 msgid "" "GNU Parted cannot resize this partition to this size. We're working on it!" msgstr "" #: libparted/fs/fat/bootsector.c:49 libparted/fs/fat/bootsector.c:56 msgid "File system has an invalid signature for a FAT file system." msgstr "" #: libparted/fs/fat/bootsector.c:64 msgid "File system has an invalid sector size for a FAT file system." msgstr "" #: libparted/fs/fat/bootsector.c:71 msgid "File system has an invalid cluster size for a FAT file system." msgstr "" #: libparted/fs/fat/bootsector.c:78 msgid "" "File system has an invalid number of reserved sectors for a FAT file system." msgstr "" #: libparted/fs/fat/bootsector.c:85 msgid "File system has an invalid number of FATs." msgstr "" #: libparted/fs/fat/bootsector.c:139 #, c-format msgid "" "This file system has a logical sector size of %d. GNU Parted is known not " "to work properly with sector sizes other than 512 bytes." msgstr "" #: libparted/fs/fat/bootsector.c:164 #, c-format msgid "" "The file system's CHS geometry is (%d, %d, %d), which is invalid. The " "partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the " "file system's CHS geometry will be left unchanged. If you select Fix, the " "file system's CHS geometry will be set to match the partition table's CHS " "geometry." msgstr "" #: libparted/fs/fat/bootsector.c:213 msgid "FAT boot sector says logical sector size is 0. This is weird. " msgstr "" #: libparted/fs/fat/bootsector.c:219 msgid "FAT boot sector says there are no FAT tables. This is weird. " msgstr "" #: libparted/fs/fat/bootsector.c:225 msgid "FAT boot sector says clusters are 0 sectors. This is weird. " msgstr "" #: libparted/fs/fat/bootsector.c:235 msgid "File system is FAT12, which is unsupported." msgstr "" #: libparted/fs/fat/bootsector.c:411 #, c-format msgid "" "The information sector has the wrong signature (%x). Select cancel for now, " "and send in a bug report. If you're desperate, it's probably safe to ignore." msgstr "" #: libparted/fs/fat/count.c:144 #, c-format msgid "Bad directory entry for %s: first cluster is the end of file marker." msgstr "" #: libparted/fs/fat/count.c:157 #, c-format msgid "" "Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk." msgstr "" #: libparted/fs/fat/count.c:166 #, c-format msgid "" "Bad FAT: cluster %d outside file system in chain for %s. You should run " "dosfsck or scandisk." msgstr "" #: libparted/fs/fat/count.c:176 #, c-format msgid "" "Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or " "scandisk." msgstr "" #: libparted/fs/fat/count.c:195 #, c-format msgid "%s is %dk, but it has %d clusters (%dk)." msgstr "" #: libparted/fs/fat/count.c:258 #, c-format msgid "" "The file %s is marked as a system file. This means moving it could cause " "some programs to stop working." msgstr "" #: libparted/fs/fat/table.c:136 #, c-format msgid "" "FAT %d media %x doesn't match the boot sector's media %x. You should " "probably run scandisk." msgstr "" #: libparted/fs/fat/table.c:268 #, c-format msgid "fat_table_set: cluster %ld outside file system" msgstr "" #: libparted/fs/fat/table.c:300 #, c-format msgid "fat_table_get: cluster %ld outside file system" msgstr "" #: libparted/fs/fat/table.c:342 msgid "fat_table_alloc_cluster: no free clusters" msgstr "" #: libparted/fs/linux_swap/linux_swap.c:288 #, c-format msgid "Unrecognised old style linux swap signature '%10s'." msgstr "" #: libparted/fs/linux_swap/linux_swap.c:331 #, c-format msgid "Unrecognised new style linux swap signature '%10s'." msgstr "" #: libparted/fs/linux_swap/linux_swap.c:371 #, c-format msgid "Unrecognised swsusp linux swap signature '%9s'." msgstr "" #: libparted/fs/linux_swap/linux_swap.c:447 msgid "Too many bad pages." msgstr "" #: libparted/fs/hfs/advfs.c:121 libparted/fs/hfs/advfs_plus.c:121 #: libparted/fs/hfs/reloc.c:414 libparted/fs/hfs/reloc.c:508 #: libparted/fs/hfs/reloc_plus.c:538 libparted/fs/hfs/reloc_plus.c:656 #: libparted/fs/hfs/reloc_plus.c:769 msgid "The file system contains errors." msgstr "" #: libparted/fs/hfs/advfs_plus.c:285 msgid "Bad blocks could not be read." msgstr "" #: libparted/fs/hfs/cache.c:137 #, c-format msgid "" "Trying to register an extent starting at block 0x%X, but another one already " "exists at this position. You should check the file system!" msgstr "" #: libparted/fs/hfs/cache.c:214 #, c-format msgid "" "Trying to move an extent from block Ox%X to block Ox%X, but another one " "already exists at this position. This should not happen!" msgstr "" #: libparted/fs/hfs/file.c:143 #, c-format msgid "Could not update the extent cache for HFS file with CNID %X." msgstr "" #: libparted/fs/hfs/file.c:180 #, c-format msgid "Trying to read HFS file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/file.c:190 libparted/fs/hfs/file.c:220 #, c-format msgid "Could not find sector %lli of HFS file with CNID %X." msgstr "" #: libparted/fs/hfs/file.c:210 #, c-format msgid "Trying to write HFS file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/file_plus.c:157 #, c-format msgid "Could not update the extent cache for HFS+ file with CNID %X." msgstr "" #: libparted/fs/hfs/file_plus.c:202 #, c-format msgid "Trying to read HFS+ file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/file_plus.c:213 libparted/fs/hfs/file_plus.c:256 #, c-format msgid "Could not find sector %lli of HFS+ file with CNID %X." msgstr "" #: libparted/fs/hfs/file_plus.c:245 #, c-format msgid "Trying to write HFS+ file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/hfs.c:232 msgid "Sorry, HFS cannot be resized that way yet." msgstr "" #: libparted/fs/hfs/hfs.c:262 libparted/fs/hfs/hfs.c:641 msgid "Data relocation has failed." msgstr "" #: libparted/fs/hfs/hfs.c:281 msgid "Data relocation left some data in the end of the volume." msgstr "" #: libparted/fs/hfs/hfs.c:320 msgid "writing HFS Master Directory Block" msgstr "" #: libparted/fs/hfs/hfs.c:468 msgid "No valid HFS[+X] signature has been found while opening." msgstr "" #: libparted/fs/hfs/hfs.c:478 #, c-format msgid "Version %d of HFS+ isn't supported." msgstr "" #: libparted/fs/hfs/hfs.c:489 #, c-format msgid "Version %d of HFSX isn't supported." msgstr "" #: libparted/fs/hfs/hfs.c:672 msgid "Data relocation left some data at the end of the volume." msgstr "" #: libparted/fs/hfs/hfs.c:720 msgid "Error while writing the allocation file." msgstr "" #: libparted/fs/hfs/hfs.c:735 msgid "Error while writing the compatibility part of the allocation file." msgstr "" #: libparted/fs/hfs/hfs.c:750 msgid "writing HFS+ Volume Header" msgstr "" #: libparted/fs/hfs/hfs.c:850 msgid "An error occurred while looking for the mandatory bad blocks file." msgstr "" #: libparted/fs/hfs/hfs.c:904 msgid "" "It seems there is an error in the HFS wrapper: the bad blocks file doesn't " "contain the embedded HFS+ volume." msgstr "" #: libparted/fs/hfs/hfs.c:940 msgid "Sorry, HFS+ cannot be resized that way yet." msgstr "" #: libparted/fs/hfs/hfs.c:975 msgid "shrinking embedded HFS+ volume" msgstr "" #: libparted/fs/hfs/hfs.c:991 msgid "Resizing the HFS+ volume has failed." msgstr "" #: libparted/fs/hfs/hfs.c:998 msgid "shrinking HFS wrapper" msgstr "" #: libparted/fs/hfs/hfs.c:1007 msgid "Updating the HFS wrapper has failed." msgstr "" #: libparted/fs/hfs/hfs.c:1109 libparted/fs/hfs/hfs.c:1194 #, c-format msgid "" "This is not a real %s check. This is going to extract special low level " "files for debugging purposes." msgstr "" #: libparted/fs/hfs/journal.c:155 msgid "Bad block list header checksum." msgstr "" #: libparted/fs/hfs/journal.c:168 #, c-format msgid "" "Invalid size of a transaction block while replaying the journal (%i bytes)." msgstr "" #: libparted/fs/hfs/journal.c:260 msgid "" "Journal stored outside of the volume are not supported. Try to desactivate " "the journal and run Parted again." msgstr "" #: libparted/fs/hfs/journal.c:271 msgid "Journal offset or size is not multiple of the sector size." msgstr "" #: libparted/fs/hfs/journal.c:292 msgid "Incorrect magic values in the journal header." msgstr "" #: libparted/fs/hfs/journal.c:302 msgid "Journal size mismatch between journal info block and journal header." msgstr "" #: libparted/fs/hfs/journal.c:314 msgid "Some header fields are not multiple of the sector size." msgstr "" #: libparted/fs/hfs/journal.c:323 msgid "" "The sector size stored in the journal is not 512 bytes. Parted only " "supports 512 bytes length sectors." msgstr "" #: libparted/fs/hfs/journal.c:335 msgid "Bad journal checksum." msgstr "" #: libparted/fs/hfs/journal.c:353 msgid "" "The journal is not empty. Parted must replay the transactions before " "opening the file system. This will modify the file system." msgstr "" #: libparted/fs/hfs/journal.c:381 msgid "" "The volume header or the master directory block has changed while replaying " "the journal. You should restart Parted." msgstr "" #: libparted/fs/hfs/probe.c:51 #, c-format msgid "" "Parted can't use HFS file systems on disks with a sector size not equal to " "%d bytes." msgstr "" #: libparted/fs/hfs/reloc.c:151 libparted/fs/hfs/reloc_plus.c:155 msgid "An extent has not been relocated." msgstr "" #: libparted/fs/hfs/reloc.c:251 libparted/fs/hfs/reloc_plus.c:307 msgid "" "A reference to an extent comes from a place it should not. You should check " "the file system!" msgstr "" #: libparted/fs/hfs/reloc.c:381 msgid "This HFS volume has no catalog file. This is very unusual!" msgstr "" #: libparted/fs/hfs/reloc.c:475 msgid "This HFS volume has no extents overflow file. This is quite unusual!" msgstr "" #: libparted/fs/hfs/reloc.c:517 libparted/fs/hfs/reloc_plus.c:666 msgid "" "The extents overflow file should not contain its own extents! You should " "check the file system." msgstr "" #: libparted/fs/hfs/reloc.c:574 libparted/fs/hfs/reloc_plus.c:844 msgid "Could not cache the file system in memory." msgstr "" #: libparted/fs/hfs/reloc.c:635 libparted/fs/hfs/reloc_plus.c:905 msgid "Bad blocks list could not be loaded." msgstr "" #: libparted/fs/hfs/reloc.c:649 libparted/fs/hfs/reloc_plus.c:921 msgid "An error occurred during extent relocation." msgstr "" #: libparted/fs/hfs/reloc_plus.c:494 msgid "This HFS+ volume has no catalog file. This is very unusual!" msgstr "" #: libparted/fs/hfs/reloc_plus.c:617 msgid "This HFS+ volume has no extents overflow file. This is quite unusual!" msgstr "" #: parted/parted.c:123 msgid "displays this help message" msgstr "" #: parted/parted.c:124 msgid "lists partition layout on all block devices" msgstr "" #: parted/parted.c:125 msgid "displays machine parseable output" msgstr "" #: parted/parted.c:126 msgid "never prompts for user intervention" msgstr "" #: parted/parted.c:127 msgid "displays the version" msgstr "" #: parted/parted.c:128 msgid "alignment for new partitions" msgstr "" #: parted/parted.c:140 msgid "" "NUMBER is the partition number used by Linux. On MS-DOS disk labels, the " "primary partitions number from 1 to 4, logical partitions from 5 onwards.\n" msgstr "" #: parted/parted.c:143 msgid "LABEL-TYPE is one of: " msgstr "" #: parted/parted.c:144 msgid "FLAG is one of: " msgstr "" #: parted/parted.c:145 msgid "UNIT is one of: " msgstr "" #: parted/parted.c:146 msgid "desired alignment: minimum or optimal" msgstr "" #: parted/parted.c:147 msgid "PART-TYPE is one of: primary, logical, extended\n" msgstr "" #: parted/parted.c:149 msgid "FS-TYPE is one of: " msgstr "" #: parted/parted.c:150 msgid "" "START and END are disk locations, such as 4GB or 10%. Negative values count " "from the end of the disk. For example, -1s specifies exactly the last " "sector.\n" msgstr "" #: parted/parted.c:153 msgid "STATE is one of: on, off\n" msgstr "" #: parted/parted.c:154 msgid "DEVICE is usually /dev/hda or /dev/sda\n" msgstr "" #: parted/parted.c:155 msgid "NAME is any word you want\n" msgstr "" #: parted/parted.c:156 msgid "The partition must have one of the following FS-TYPEs: " msgstr "" #: parted/parted.c:160 msgid "" "Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n" "This program is free software, covered by the GNU General Public License.\n" "\n" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" msgstr "" #: parted/parted.c:208 #, c-format msgid "%0.f%%\t(time left %.2d:%.2d)" msgstr "" #: parted/parted.c:227 #, c-format msgid "" "Partition %s is being used. You must unmount it before you modify it with " "Parted." msgstr "" #: parted/parted.c:245 #, c-format msgid "Partition(s) on %s are being used." msgstr "" #: parted/parted.c:257 msgid "" "The existing file system will be destroyed and all data on the partition " "will be lost. Do you want to continue?" msgstr "" #: parted/parted.c:269 #, c-format msgid "" "The existing disk label on %s will be destroyed and all data on this disk " "will be lost. Do you want to continue?" msgstr "" #: parted/parted.c:487 #, c-format msgid "" "WARNING: you are attempting to use %s to operate on (%s) a file system.\n" "%s's file system manipulation code is not as robust as what you'll find in\n" "dedicated, file-system-specific packages like e2fsprogs. We recommend\n" "you use %s only to manipulate partition tables, whenever possible.\n" "Support for performing most operations on most types of file systems\n" "will be removed in an upcoming release.\n" msgstr "" #: parted/parted.c:508 parted/parted.c:702 parted/parted.c:1179 #: parted/parted.c:1263 parted/parted.c:1935 parted/parted.c:2016 #: parted/parted.c:2088 parted/parted.c:2122 msgid "Partition number?" msgstr "" #: parted/parted.c:551 msgid "Source device?" msgstr "" #: parted/parted.c:555 msgid "Source partition number?" msgstr "" #: parted/parted.c:560 msgid "Can't copy an extended partition." msgstr "" #: parted/parted.c:566 msgid "Destination partition number?" msgstr "" #: parted/parted.c:655 msgid "New disk label type?" msgstr "" #: parted/parted.c:706 parted/parted.c:788 parted/parted.c:1000 msgid "File system type?" msgstr "" #: parted/parted.c:762 parted/parted.c:983 msgid "Partition type?" msgstr "" #: parted/parted.c:780 parted/parted.c:990 parted/parted.c:1266 msgid "Partition name?" msgstr "" #: parted/parted.c:794 parted/parted.c:1002 parted/parted.c:1194 #: parted/parted.c:1883 parted/parted.c:1944 msgid "Start?" msgstr "" #: parted/parted.c:796 parted/parted.c:1005 parted/parted.c:1197 #: parted/parted.c:1885 parted/parted.c:1946 msgid "End?" msgstr "" #: parted/parted.c:862 parted/parted.c:1066 #, c-format msgid "" "You requested a partition from %s to %s.\n" "The closest location we can manage is %s to %s.%s" msgstr "" #: parted/parted.c:867 parted/parted.c:1071 msgid "" "\n" "Is this still acceptable to you?" msgstr "" #: parted/parted.c:889 parted/parted.c:1093 msgid "The resulting partition is not properly aligned for best performance." msgstr "" #: parted/parted.c:995 msgid "An extended partition cannot hold a file system. Did you want mkpart?" msgstr "" #: parted/parted.c:1185 msgid "Can't move an extended partition." msgstr "" #: parted/parted.c:1214 msgid "Can't move a partition onto itself. Try using resize, perhaps?" msgstr "" #: parted/parted.c:1360 #, c-format msgid "Minor: %d\n" msgstr "" #: parted/parted.c:1361 #, c-format msgid "Flags: %s\n" msgstr "" #: parted/parted.c:1362 #, c-format msgid "File System: %s\n" msgstr "" #: parted/parted.c:1363 msgid "Size: " msgstr "" #: parted/parted.c:1368 msgid "Minimum size: " msgstr "" #: parted/parted.c:1371 msgid "Maximum size: " msgstr "" #: parted/parted.c:1504 #, c-format msgid "Model: %s (%s)\n" msgstr "" #: parted/parted.c:1506 #, c-format msgid "Disk %s: %s\n" msgstr "" #: parted/parted.c:1507 #, c-format msgid "Sector size (logical/physical): %lldB/%lldB\n" msgstr "" #: parted/parted.c:1525 #, c-format msgid "BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s.\n" msgstr "" #: parted/parted.c:1534 #, c-format msgid "Partition Table: %s\n" msgstr "" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Number" msgstr "" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Start" msgstr "" #: parted/parted.c:1550 parted/parted.c:1553 msgid "End" msgstr "" #: parted/parted.c:1553 msgid "Size" msgstr "" #: parted/parted.c:1557 msgid "Type" msgstr "" #: parted/parted.c:1559 msgid "File system" msgstr "" #: parted/parted.c:1562 msgid "Name" msgstr "" #: parted/parted.c:1564 msgid "Flags" msgstr "" #: parted/parted.c:1621 msgid "Free Space" msgstr "" #: parted/parted.c:1782 #, c-format msgid "" "A %s %s partition was found at %s -> %s. Do you want to add it to the " "partition table?" msgstr "" #: parted/parted.c:1821 msgid "searching for file systems" msgstr "" #: parted/parted.c:2041 msgid "New device?" msgstr "" #: parted/parted.c:2086 msgid "alignment type(min/opt)" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d aligned\n" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d not aligned\n" msgstr "" #: parted/parted.c:2124 msgid "Flag to Invert?" msgstr "" #: parted/parted.c:2129 msgid "New state?" msgstr "" #: parted/parted.c:2166 msgid "Unit?" msgstr "" #: parted/parted.c:2348 msgid "align-check" msgstr "" #: parted/parted.c:2351 msgid "" "align-check TYPE N check partition N for TYPE(min|" "opt) alignment" msgstr "" #: parted/parted.c:2359 msgid "check" msgstr "" #: parted/parted.c:2362 msgid "" "check NUMBER do a simple check on the file system" msgstr "" #: parted/parted.c:2368 msgid "cp" msgstr "" #: parted/parted.c:2371 msgid "" "cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another " "partition" msgstr "" #: parted/parted.c:2377 msgid "help" msgstr "" #: parted/parted.c:2380 msgid "" "help [COMMAND] print general help, or help on " "COMMAND" msgstr "" #: parted/parted.c:2386 msgid "mklabel" msgstr "" #: parted/parted.c:2386 msgid "mktable" msgstr "" #: parted/parted.c:2389 msgid "" "mklabel,mktable LABEL-TYPE create a new disklabel (partition " "table)" msgstr "" #: parted/parted.c:2395 msgid "mkfs" msgstr "" #: parted/parted.c:2398 msgid "" "mkfs NUMBER FS-TYPE make a FS-TYPE file system on " "partition NUMBER" msgstr "" #: parted/parted.c:2404 msgid "mkpart" msgstr "" #: parted/parted.c:2407 msgid "mkpart PART-TYPE [FS-TYPE] START END make a partition" msgstr "" #: parted/parted.c:2413 msgid "" "'mkpart' makes a partition without creating a new file system on the " "partition. FS-TYPE may be specified to set an appropriate partition ID.\n" msgstr "" #: parted/parted.c:2418 msgid "mkpartfs" msgstr "" #: parted/parted.c:2421 msgid "" "mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system" msgstr "" #: parted/parted.c:2427 msgid "move" msgstr "" #: parted/parted.c:2430 msgid "move NUMBER START END move partition NUMBER" msgstr "" #: parted/parted.c:2435 msgid "name" msgstr "" #: parted/parted.c:2438 msgid "name NUMBER NAME name partition NUMBER as NAME" msgstr "" #: parted/parted.c:2443 msgid "print" msgstr "" #: parted/parted.c:2446 msgid "" "print [devices|free|list,all|NUMBER] display the partition table, " "available devices, free space, all found partitions, or a particular " "partition" msgstr "" #: parted/parted.c:2451 msgid "" "Without arguments, 'print' displays the entire partition table. However with " "the following arguments it performs various other actions.\n" msgstr "" #: parted/parted.c:2453 msgid " devices : display all active block devices\n" msgstr "" #: parted/parted.c:2454 msgid "" " free : display information about free unpartitioned space on the " "current block device\n" msgstr "" #: parted/parted.c:2456 msgid "" " list, all : display the partition tables of all active block devices\n" msgstr "" #: parted/parted.c:2457 msgid "" " NUMBER : display more detailed information about this particular " "partition\n" msgstr "" #: parted/parted.c:2462 msgid "quit" msgstr "" #: parted/parted.c:2465 msgid "quit exit program" msgstr "" #: parted/parted.c:2470 msgid "rescue" msgstr "" #: parted/parted.c:2473 msgid "" "rescue START END rescue a lost partition near START " "and END" msgstr "" #: parted/parted.c:2479 msgid "resize" msgstr "" #: parted/parted.c:2482 msgid "" "resize NUMBER START END resize partition NUMBER and its " "file system" msgstr "" #: parted/parted.c:2490 msgid "rm" msgstr "" #: parted/parted.c:2493 msgid "rm NUMBER delete partition NUMBER" msgstr "" #: parted/parted.c:2498 msgid "select" msgstr "" #: parted/parted.c:2501 msgid "select DEVICE choose the device to edit" msgstr "" #: parted/parted.c:2506 msgid "set" msgstr "" #: parted/parted.c:2509 msgid "" "set NUMBER FLAG STATE change the FLAG on partition NUMBER" msgstr "" #: parted/parted.c:2515 msgid "toggle" msgstr "" #: parted/parted.c:2518 msgid "" "toggle [NUMBER [FLAG]] toggle the state of FLAG on " "partition NUMBER" msgstr "" #: parted/parted.c:2524 msgid "unit" msgstr "" #: parted/parted.c:2527 msgid "unit UNIT set the default unit to UNIT" msgstr "" #: parted/parted.c:2532 msgid "version" msgstr "" #: parted/parted.c:2535 msgid "" "version display the version number and " "copyright information of GNU Parted" msgstr "" #: parted/parted.c:2539 msgid "" "'version' displays copyright and version information corresponding to this " "copy of GNU Parted\n" msgstr "" #: parted/parted.c:2607 #, c-format msgid "Usage: %s [-hlmsv] [-a] [DEVICE [COMMAND [PARAMETERS]]...]\n" msgstr "" #: parted/parted.c:2651 msgid "No device found" msgstr "" #: parted/parted.c:2688 msgid "WARNING: You are not superuser. Watch out for permissions." msgstr "" #: parted/parted.c:2726 msgid "You may need to update /etc/fstab.\n" msgstr "" #: parted/ui.c:162 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n" msgstr "" #: parted/ui.c:165 msgid "" "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n" "Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run " "in\n" "interactive mode.\n" msgstr "" #: parted/ui.c:170 #, c-format msgid "" "\n" "\n" "You found a bug in GNU Parted! Here's what you have to do:\n" "\n" "Don't panic! The bug has most likely not affected any of your data.\n" "Help us to fix this bug by doing the following:\n" "\n" "Check whether the bug has already been fixed by checking\n" "the last version of GNU Parted that you can find at:\n" "\n" "\thttp://ftp.gnu.org/gnu/parted/\n" "\n" "Please check this version prior to bug reporting.\n" "\n" "If this has not been fixed yet or if you don't know how to check,\n" "please visit the GNU Parted website:\n" "\n" "\thttp://www.gnu.org/software/parted\n" "\n" "for further information.\n" "\n" "Your report should contain the version of this release (%s)\n" "along with the error message below, the output of\n" "\n" "\tparted DEVICE unit co print unit s print\n" "\n" "and the following history of commands you entered.\n" "Also include any additional information about your setup you\n" "consider important.\n" msgstr "" #: parted/ui.c:291 msgid "" "\n" "Command History:\n" msgstr "" #: parted/ui.c:354 msgid "" "\n" "Error: SEGV_MAPERR (Address not mapped to object)\n" msgstr "" #: parted/ui.c:360 msgid "" "\n" "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n" msgstr "" #: parted/ui.c:365 msgid "" "\n" "Error: A general SIGSEGV signal was encountered.\n" msgstr "" #: parted/ui.c:389 msgid "" "\n" "Error: FPE_INTDIV (Integer: divide by zero)" msgstr "" #: parted/ui.c:394 msgid "" "\n" "Error: FPE_INTOVF (Integer: overflow)" msgstr "" #: parted/ui.c:399 msgid "" "\n" "Error: FPE_FLTDIV (Float: divide by zero)" msgstr "" #: parted/ui.c:404 msgid "" "\n" "Error: FPE_FLTOVF (Float: overflow)" msgstr "" #: parted/ui.c:409 msgid "" "\n" "Error: FPE_FLTUND (Float: underflow)" msgstr "" #: parted/ui.c:414 msgid "" "\n" "Error: FPE_FLTRES (Float: inexact result)" msgstr "" #: parted/ui.c:419 msgid "" "\n" "Error: FPE_FLTINV (Float: invalid operation)" msgstr "" #: parted/ui.c:424 msgid "" "\n" "Error: FPE_FLTSUB (Float: subscript out of range)" msgstr "" #: parted/ui.c:429 msgid "" "\n" "Error: A general SIGFPE signal was encountered." msgstr "" #: parted/ui.c:453 msgid "" "\n" "Error: ILL_ILLOPC (Illegal Opcode)" msgstr "" #: parted/ui.c:458 msgid "" "\n" "Error: ILL_ILLOPN (Illegal Operand)" msgstr "" #: parted/ui.c:463 msgid "" "\n" "Error: ILL_ILLADR (Illegal addressing mode)" msgstr "" #: parted/ui.c:468 msgid "" "\n" "Error: ILL_ILLTRP (Illegal Trap)" msgstr "" #: parted/ui.c:473 msgid "" "\n" "Error: ILL_PRVOPC (Privileged Opcode)" msgstr "" #: parted/ui.c:478 msgid "" "\n" "Error: ILL_PRVREG (Privileged Register)" msgstr "" #: parted/ui.c:483 msgid "" "\n" "Error: ILL_COPROC (Coprocessor Error)" msgstr "" #: parted/ui.c:488 msgid "" "\n" "Error: ILL_BADSTK (Internal Stack Error)" msgstr "" #: parted/ui.c:493 msgid "" "\n" "Error: A general SIGILL signal was encountered." msgstr "" #: parted/ui.c:892 #, c-format msgid "invalid token: %s" msgstr "" #: parted/ui.c:1048 msgid "Expecting a partition number." msgstr "" #: parted/ui.c:1057 msgid "Partition doesn't exist." msgstr "" #: parted/ui.c:1077 msgid "Expecting a file system type." msgstr "" #: parted/ui.c:1084 #, c-format msgid "Unknown file system type \"%s\"." msgstr "" #: parted/ui.c:1104 msgid "Expecting a disk label type." msgstr "" #: parted/ui.c:1202 msgid "Can't create any more partitions." msgstr "" #: parted/ui.c:1212 msgid "Expecting a partition type." msgstr "" #: parted/ui.c:1360 msgid "on" msgstr "" #: parted/ui.c:1361 msgid "off" msgstr "" #: parted/ui.c:1378 msgid "optimal" msgstr "" #: parted/ui.c:1379 msgid "minimal" msgstr "" #: parted/ui.c:1512 msgid "OPTIONs:" msgstr "" #: parted/ui.c:1517 msgid "COMMANDs:" msgstr "" #: parted/ui.c:1520 #, c-format msgid "" "\n" "Report bugs to %s\n" msgstr "" #: parted/ui.c:1527 #, c-format msgid "Using %s\n" msgstr "" #: parted/ui.c:1601 msgid "This command does not make sense in non-interactive mode.\n" msgstr "" parted-2.3/po/zh_CN.po0000644000000000000000000026124411400005705011504 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) 2003 Free Software Foundation, Inc. # Wang Li , 2003. # msgid "" msgstr "" "Project-Id-Version: parted 1.6.6\n" "Report-Msgid-Bugs-To: bug-parted@gnu.org\n" "POT-Creation-Date: 2010-05-28 20:30+0200\n" "PO-Revision-Date: 2003-08-01 11:27+0800\n" "Last-Translator: Wang Li \n" "Language-Team: Chinese (simplified) \n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=gb2312\n" "Content-Transfer-Encoding: 8bit\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "" #: lib/argmatch.c:153 #, c-format msgid "Valid arguments are:" msgstr "" #: lib/closeout.c:112 libparted/labels/fdasd.c:107 msgid "write error" msgstr "" #: lib/error.c:181 #, fuzzy msgid "Unknown system error" msgstr "δ֪µÄÎļþϵͳÀàÐÍ¡°%s¡±¡£" #: lib/getopt.c:527 lib/getopt.c:543 #, c-format msgid "%s: option '%s' is ambiguous\n" msgstr "" #: lib/getopt.c:576 lib/getopt.c:580 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:589 lib/getopt.c:594 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:637 lib/getopt.c:656 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "" #: lib/getopt.c:694 lib/getopt.c:697 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "ÎÞ·¨´ò¿ª %s - ÎÞ·¨Ê¶±ðµÄ´ÅÅ̱êÇ©¡£" #: lib/getopt.c:705 lib/getopt.c:708 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "ÎÞ·¨´ò¿ª %s - ÎÞ·¨Ê¶±ðµÄ´ÅÅ̱êÇ©¡£" #: lib/getopt.c:757 lib/getopt.c:760 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "" #: lib/getopt.c:810 lib/getopt.c:827 lib/getopt.c:1035 lib/getopt.c:1053 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "" #: lib/getopt.c:883 lib/getopt.c:899 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "" #: lib/getopt.c:923 lib/getopt.c:941 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:962 lib/getopt.c:980 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". If the catalog has no translation, #. locale_quoting_style quotes `like this', and #. clocale_quoting_style quotes "like this". #. #. For example, an American English Unicode locale should #. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and #. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION #. MARK). A British English Unicode locale should instead #. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) #. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. #. #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. #: lib/quotearg.c:272 msgid "`" msgstr "" #: lib/quotearg.c:273 msgid "'" msgstr "" #: lib/regcomp.c:134 msgid "Success" msgstr "" #: lib/regcomp.c:137 msgid "No match" msgstr "" #: lib/regcomp.c:140 msgid "Invalid regular expression" msgstr "" #: lib/regcomp.c:143 msgid "Invalid collation character" msgstr "" #: lib/regcomp.c:146 msgid "Invalid character class name" msgstr "" #: lib/regcomp.c:149 msgid "Trailing backslash" msgstr "" #: lib/regcomp.c:152 msgid "Invalid back reference" msgstr "" #: lib/regcomp.c:155 msgid "Unmatched [ or [^" msgstr "" #: lib/regcomp.c:158 msgid "Unmatched ( or \\(" msgstr "" #: lib/regcomp.c:161 msgid "Unmatched \\{" msgstr "" #: lib/regcomp.c:164 msgid "Invalid content of \\{\\}" msgstr "" #: lib/regcomp.c:167 msgid "Invalid range end" msgstr "" #: lib/regcomp.c:170 msgid "Memory exhausted" msgstr "" #: lib/regcomp.c:173 msgid "Invalid preceding regular expression" msgstr "" #: lib/regcomp.c:176 msgid "Premature end of regular expression" msgstr "" #: lib/regcomp.c:179 msgid "Regular expression too big" msgstr "" #: lib/regcomp.c:182 msgid "Unmatched ) or \\)" msgstr "" #: lib/regcomp.c:703 msgid "No previous regular expression" msgstr "" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "" #: lib/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "" #: lib/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "" #: lib/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" #: lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "" #: lib/xstrtol-error.c:63 #, c-format msgid "invalid %s%s argument `%s'" msgstr "" #: lib/xstrtol-error.c:68 #, c-format msgid "invalid suffix in %s%s argument `%s'" msgstr "" #: lib/xstrtol-error.c:72 #, c-format msgid "%s%s argument `%s' too large" msgstr "" #: libparted/arch/beos.c:245 msgid "Disk Image" msgstr "" #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277 #: libparted/arch/linux.c:1519 #, c-format msgid "Error opening %s: %s" msgstr "´ò¿ª %s ³ö´í£º%s" #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287 #: libparted/arch/linux.c:1530 #, c-format msgid "Unable to open %s read-write (%s). %s has been opened read-only." msgstr "ÎÞ·¨ÒÔ¶Áд·½Ê½´ò¿ª %s (%s)¡£%s ÒѰ´ÕÕÖ»¶Á·½Ê½´ò¿ª¡£" #: libparted/arch/beos.c:419 libparted/arch/linux.c:1688 #, c-format msgid "%s during seek for read on %s" msgstr "ÔÚΪ¶ÁÈ¡ %2$s ¶øµ÷Óà seek ʱ %1$s" #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564 #: libparted/arch/gnu.c:692 libparted/arch/linux.c:1648 #: libparted/arch/linux.c:1729 #, c-format msgid "%s during read on %s" msgstr "ÔÚ¶ÁÈ¡ %2$s ÆÚ¼ä %1$s" #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525 #: libparted/arch/linux.c:1805 #, c-format msgid "Can't write to %s, because it is opened read-only." msgstr "ÓÉÓÚ %s ÊÇÒÔÖ»¶Á·½Ê½´ò¿ªµÄ£¬Òò´ËÎÞ·¨Ð´Èë¡£" #: libparted/arch/beos.c:504 libparted/arch/linux.c:1830 #, c-format msgid "%s during seek for write on %s" msgstr "ÔÚΪдÈë %2$s µ÷Óà seek ʱ %1$s" #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646 #: libparted/arch/gnu.c:723 libparted/arch/linux.c:1778 #: libparted/arch/linux.c:1872 libparted/arch/linux.c:1944 #, c-format msgid "%s during write on %s" msgstr "ÔÚдÈë %2$s ʱ %1$s" #: debug/clearfat/clearfat.c:62 partprobe/partprobe.c:137 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "" #: debug/clearfat/clearfat.c:66 #, c-format msgid "" "Usage: %s [OPTION]\n" " or: %s DEVICE MINOR\n" msgstr "" #: debug/clearfat/clearfat.c:69 msgid "" "Clear unused space on a FAT partition (a GNU Parted testing tool).\n" "\n" msgstr "" #: debug/clearfat/clearfat.c:73 msgid " --help display this help and exit\n" msgstr "" #: debug/clearfat/clearfat.c:74 msgid " --version output version information and exit\n" msgstr "" #: debug/clearfat/clearfat.c:76 partprobe/partprobe.c:154 #, c-format msgid "" "\n" "Report bugs to <%s>.\n" msgstr "" #: debug/clearfat/clearfat.c:284 #, c-format msgid "too few arguments" msgstr "" #: debug/clearfat/clearfat.c:289 #, fuzzy, c-format msgid "too many arguments" msgstr "¹ý¶àµÄ»µÒ³¡£" #: debug/clearfat/clearfat.c:297 #, c-format msgid "invalid minor device number: %s" msgstr "" #: partprobe/partprobe.c:141 #, c-format msgid "Usage: %s [OPTION] [DEVICE]...\n" msgstr "" #: partprobe/partprobe.c:142 msgid "" "Inform the operating system about partition table changes.\n" "\n" " -d, --dry-run do not actually inform the operating system\n" " -s, --summary print a summary of contents\n" " -h, --help display this help and exit\n" " -v, --version output version information and exit\n" msgstr "" #: partprobe/partprobe.c:150 msgid "" "\n" "When no DEVICE is given, probe all partitions.\n" msgstr "" #: libparted/arch/gnu.c:110 #, c-format msgid "Unable to open %s." msgstr "ÎÞ·¨´ò¿ª %s¡£" #: libparted/arch/gnu.c:130 msgid "Unable to probe store." msgstr "ÎÞ·¨Ì½²â´æ´¢É豸¡£" #: libparted/arch/gnu.c:368 #, fuzzy msgid "" "The partition table cannot be re-read. This means you need to reboot before " "mounting any modified partitions. You also need to reinstall your boot " "loader before you reboot (which may require mounting modified partitions). " "It is impossible do both things! So you'll need to boot off a rescue disk, " "and reinstall your boot loader from the rescue disk. Read section 4 of the " "Parted User documentation for more information." msgstr "" "ÎÞ·¨ÖØÐ¶ÁÈë·ÖÇø±í£¬Í¬Ñù£¬Äú±ØÐëÔÚ¼ÓÔØÈκÎÐÞ¸ÄÁ˵ķÖÇøÖ®Ç°ÖØÐÂÆô¶¯¡£Äú»¹ÐèÒª" "ÔÚÄúÖØÐÂÆô¶¯Ö®Ç°ÖØÐ°²×°Æô¶¯¹ÜÀíÆ÷ (Ëü¿ÉÄÜÐèÒª¼ÓÔØÐÞ¸ÄÁ˵ķÖÇø)¡£Í¬Ê±×öÕâÁ½¼þ" "ÊÂÊDz»¿ÉÄܵģ¡ËùÒÔÄú¾ÍÐèÒª´Ó¼±¾ÈÅÌÆô¶¯£¬²¢´Ó¼±¾ÈÅÌÖØÐ°²×°ÄúµÄÆô¶¯¹ÜÀíÆ÷¡£¸ü" "¶àÏêÇéÇë²ÎÔÄ Parted Óû§ÎĵµµÄµÚËĽڡ£" #: libparted/arch/gnu.c:385 #, fuzzy, c-format msgid "" "The partition table on %s cannot be re-read (%s). This means the Hurd knows " "nothing about any modifications you made. You should reboot your computer " "before doing anything with %s." msgstr "" "%s (%s) ÉϵķÖÇø±í¡£ÕâÒâζ×Å Hurd ²»ÖªµÀÈκÎÄúËù×÷µÄÐ޸ġ£ÄúÓ¦¸ÃÔÚ¶Ô %s ×öÈÎ" "ºÎ²Ù×÷Ö®Ç°ÖØÐÂÆô¶¯ÄúµÄ¼ÆËã»ú¡£" #: libparted/arch/gnu.c:396 parted/parted.c:2719 msgid "" "You should reinstall your boot loader before rebooting. Read section 4 of " "the Parted User documentation for more information." msgstr "" "ÄúÓ¦¸ÃÔÚÖØÐÂÆô¶¯Ö®Ç°ÖØÐ°²×°ÄúµÄÆô¶¯¹ÜÀíÆ÷¡£ÏêÇéÇëÔĶÁ Parted Óû§ÎĵµµÄµÚËÄ" "½Ú¡£" #: libparted/arch/gnu.c:788 #, c-format msgid "%s trying to sync %s to disk" msgstr "%s ÊÔͼ½« %s ͬ²½µ½´ÅÅÌÉÏ" #: libparted/arch/linux.c:509 #, c-format msgid "Could not stat device %s - %s." msgstr "ÎÞ·¨¶ÔÉ豸 %s - %s ×ö stat ²Ù×÷¡£" #: libparted/arch/linux.c:566 #, fuzzy, c-format msgid "Unable to determine the dm type of %s." msgstr "ÎÞ·¨È·¶¨ %s (%s) µÄ´óС" #: libparted/arch/linux.c:658 #, c-format msgid "" "Could not determine sector size for %s: %s.\n" "Using the default sector size (%lld)." msgstr "" #: libparted/arch/linux.c:679 #, c-format msgid "" "Could not determine physical sector size for %s.\n" "Using the logical sector size (%lld)." msgstr "" #: libparted/arch/linux.c:728 #, fuzzy, c-format msgid "Unable to determine the size of %s (%s)." msgstr "ÎÞ·¨È·¶¨ %s (%s) µÄ´óС" #: libparted/arch/linux.c:814 #, c-format msgid "Could not get identity of device %s - %s" msgstr "ÎÞ·¨»ñÈ¡É豸 %s - %s µÄ±êʶ" #: libparted/arch/linux.c:823 msgid "Generic IDE" msgstr "" #: libparted/arch/linux.c:844 #, c-format msgid "" "Device %s has multiple (%d) logical sectors per physical sector.\n" "GNU Parted supports this EXPERIMENTALLY for some special disk label/file " "system combinations, e.g. GPT and ext2/3.\n" "Please consult the web site for up-to-date information." msgstr "" #: libparted/arch/linux.c:1019 #, c-format msgid "Error initialising SCSI device %s - %s" msgstr "³õʼ»¯ SCSI É豸 %s - %s ³ö´í" #: libparted/arch/linux.c:1083 #, fuzzy, c-format msgid "" "The device %s has zero length, and can't possibly store a file system or " "partition table. Perhaps you selected the wrong device?" msgstr "" "É豸 %s µÄ³¤¶ÈΪÁ㣬Òò´ËÎÞ·¨±£´æÎļþϵͳ»ò·ÖÇø±í¡£¿ÉÄÜÄúÑ¡ÔñÁË´íÎóµÄÉ豸£¿" #: libparted/arch/linux.c:1190 #, fuzzy, c-format msgid "" "Unable to determine geometry of file/device %s. You should not use Parted " "unless you REALLY know what you're doing!" msgstr "" "ÎÞ·¨È·¶¨Îļþ/É豸µÄ¼¸ºÎ½á¹¹¡£³ý·ÇÄúȷʵ֪µÀÄúÔÚ×öʲô£¬·ñÔòÄú²»¸ÃʹÓà " "Parted£¡" #: libparted/arch/linux.c:1250 msgid "Generic SD/MMC Storage Card" msgstr "" #: libparted/arch/linux.c:1303 msgid "DAC960 RAID controller" msgstr "DAC960 RAID ¿ØÖÆÆ÷" #: libparted/arch/linux.c:1308 msgid "Promise SX8 SATA Device" msgstr "" #: libparted/arch/linux.c:1313 msgid "ATA over Ethernet Device" msgstr "" #: libparted/arch/linux.c:1319 msgid "IBM S390 DASD drive" msgstr "" #: libparted/arch/linux.c:1325 msgid "IBM iSeries Virtual DASD" msgstr "" #: libparted/arch/linux.c:1330 msgid "Compaq Smart Array" msgstr "Compaq ÖÇÄÜÕóÁÐ" #: libparted/arch/linux.c:1335 msgid "ATARAID Controller" msgstr "ATARAID ¿ØÖÆÆ÷" #: libparted/arch/linux.c:1340 msgid "I2O Controller" msgstr "I2O ¿ØÖÆÆ÷" #: libparted/arch/linux.c:1345 msgid "User-Mode Linux UBD" msgstr "" #: libparted/arch/linux.c:1358 #, c-format msgid "Linux device-mapper (%s)" msgstr "" #: libparted/arch/linux.c:1369 msgid "Xen Virtual Block Device" msgstr "" #: libparted/arch/linux.c:1374 msgid "Unknown" msgstr "δ֪" #: libparted/arch/linux.c:1383 msgid "Virtio Block Device" msgstr "" #: libparted/arch/linux.c:1388 msgid "Linux Software RAID Array" msgstr "" #: libparted/arch/linux.c:1395 msgid "ped_device_new() Unsupported device type" msgstr "ped_device_new() ²»Ö§³ÖµÄÉ豸ÀàÐÍ" #: libparted/arch/linux.c:1492 libparted/arch/linux.c:1564 #, fuzzy, c-format msgid "Error fsyncing/closing %s: %s" msgstr "´ò¿ª %s ³ö´í£º%s" #: libparted/arch/linux.c:1728 #, c-format msgid "end of file while reading %s" msgstr "" #: libparted/arch/linux.c:2365 #, fuzzy, c-format msgid "" "Error informing the kernel about modifications to partition %s -- %s. This " "means Linux won't know about any changes you made to %s until you reboot -- " "so you shouldn't mount it or use it in any way before rebooting." msgstr "" "֪ͨÄں˹ØÓÚ·ÖÇø %s - %s µÄÐÞ¸Äʱ³ö´í¡£ÕâÒâζ×Å Linux ÔÚÖØÐÂÆô¶¯Ö®Ç°ÎÞ·¨ÖªµÀ" "ÄúÕë¶Ô %s Ëù×÷µÄÈκÎÐÞ¸Ä - ËùÒÔÄúÒ²²»ÄÜÔÚÖØÐÂÆô¶¯Ö®Ç°¼ÓÔØ»òÒÔÈκη½Ê½Ê¹ÓÃËü¡£" #: libparted/arch/linux.c:2503 #, fuzzy, c-format msgid "Unable to determine the size and length of %s." msgstr "ÎÞ·¨È·¶¨ %s (%s) µÄ´óС" #: libparted/arch/linux.c:2528 #, c-format msgid "Failed to add partition %d (%s)" msgstr "" #: libparted/arch/linux.c:2555 #, c-format msgid "" "Partition(s) %s on %s have been written, but we have been unable to inform " "the kernel of the change, probably because it/they are in use. As a result, " "the old partition(s) will remain in use. You should reboot now before " "making further changes." msgstr "" #: libparted/arch/linux.c:2681 #, fuzzy, c-format msgid "" "parted was unable to re-read the partition table on %s (%s). This means " "Linux won't know anything about the modifications you made. " msgstr "" "ÄÚºËÎÞ·¨ÖØÐ¶ÁÈ¡ %s (%s) ÉϵķÖÇø±í¡£ÕâÒâζÕâ Linux ÔÚÄúÖØÐÂÆô¶¯Ö®Ç°ÎÞ·¨ÖªµÀ" "ÈκÎÐ޸ġ£ÄúÓ¦¸ÃÔÚ¶Ô %s ×öÈκβÙ×÷ Ö®Ç°ÖØÐÂÆô¶¯ÄúµÄ¼ÆËã»ú¡£" #: libparted/cs/geom.c:162 #, fuzzy, c-format msgid "Can't have the end before the start! (start sector=%jd length=%jd)" msgstr "ÎÞ·¨ÔÚ¿ªÊ¼Ö®Ç°½áÊø£¡" #: libparted/cs/geom.c:170 msgid "Can't have a partition outside the disk!" msgstr "ÎÞ·¨È÷ÖÇø³¬³ö´ÅÅÌ£¡" #: libparted/cs/geom.c:385 #, fuzzy, c-format msgid "Attempt to write sectors %ld-%ld outside of partition on %s." msgstr "ÊÔͼдÈë %3$s ÉÏ·ÖÇøÖ®ÍâµÄÉÈÇø %1$ld-%2$ld" #: libparted/cs/geom.c:425 libparted/fs/linux_swap/linux_swap.c:488 msgid "checking for bad blocks" msgstr "¼ì²é»µ¿é" #: libparted/debug.c:97 #, c-format msgid "Backtrace has %d calls on stack:\n" msgstr "" #: libparted/debug.c:110 #, c-format msgid "Assertion (%s) at %s:%d in function %s() failed." msgstr "" #: libparted/disk.c:193 #, fuzzy, c-format msgid "%s: unrecognised disk label" msgstr "ÎÞ·¨´ò¿ª %s - ÎÞ·¨Ê¶±ðµÄ´ÅÅ̱êÇ©¡£" #: libparted/disk.c:486 #, c-format msgid "" "This libparted doesn't have write support for %s. Perhaps it was compiled " "read-only." msgstr "Õâ¸ö libparted ²»Ö§³Ö¶Ô %s µÄд²Ù×÷¡£¿ÉÄÜËüÊǰ´Ö»¶Á·½Ê½±àÒëµÄ¡£" #: libparted/disk.c:631 #, fuzzy, c-format msgid "Partition %d is %s, but the file system is %s." msgstr "·ÖÇø %d Ϊ %.3fMb£¬µ«ÎļþϵͳΪ %.3fMb¡£" #: libparted/disk.c:841 msgid "cylinder_alignment" msgstr "" #: libparted/disk.c:847 #, c-format msgid "Unknown disk flag, %d." msgstr "" #: libparted/disk.c:1286 #, c-format msgid "%s disk labels do not support extended partitions." msgstr "%s ´ÅÅ̱êÇ©²»Ö§³ÖÀ©Õ¹·ÖÇø¡£" #: libparted/disk.c:1865 #, c-format msgid "%s disk labels don't support logical or extended partitions." msgstr "%s ´ÅÅ̱êÇ©²»Ö§³ÖÂß¼­»òÀ©Õ¹·ÖÇø¡£" #: libparted/disk.c:1878 #, fuzzy msgid "Too many primary partitions." msgstr "¹ý¶àµÄÖ÷·ÖÇø" #: libparted/disk.c:1887 #, c-format msgid "" "Can't add a logical partition to %s, because there is no extended partition." msgstr "ÓÉÓÚûÓÐÀ©Õ¹·ÖÇø£¬ÎÞ·¨½«Âß¼­·ÖÇøÌí¼Óµ½ %s¡£" #: libparted/disk.c:1911 #, fuzzy, c-format msgid "Can't have more than one extended partition on %s." msgstr "%s Éϲ»Äܺ¬ÓжàÓÚÒ»¸öÀ©Õ¹·ÖÇø" #: libparted/disk.c:1921 msgid "Can't have logical partitions outside of the extended partition." msgstr "Âß¼­·ÖÇø²»ÄÜ´¦ÓÚÀ©Õ¹·ÖÇøÖ®Íâ¡£" #: libparted/disk.c:1946 #, c-format msgid "Can't have a logical partition outside of the extended partition on %s." msgstr "%s ÉϵÄÂß¼­·ÖÇø²»ÄÜ´¦ÓÚÀ©Õ¹·ÖÇøÖ®Íâ¡£" #: libparted/disk.c:1956 libparted/disk.c:2015 libparted/disk.c:2193 #, fuzzy msgid "Can't have overlapping partitions." msgstr "·ÖÇø²»ÄÜÖØµþ" #: libparted/disk.c:1964 msgid "Can't have a primary partition inside an extended partition." msgstr "À©Õ¹·ÖÇøÖв»Äܺ¬ÓÐÖ÷·ÖÇø¡£" #: libparted/disk.c:2395 msgid "metadata" msgstr "ÔªÊý¾Ý" #: libparted/disk.c:2397 msgid "free" msgstr "¿ÕÏпռä" #: libparted/disk.c:2399 parted/ui.c:1193 parted/ui.c:1221 msgid "extended" msgstr "À©Õ¹·ÖÇø" #: libparted/disk.c:2401 parted/ui.c:1197 parted/ui.c:1225 msgid "logical" msgstr "Âß¼­·ÖÇø" #: libparted/disk.c:2403 parted/ui.c:1189 parted/ui.c:1217 msgid "primary" msgstr "Ö÷·ÖÇø" #: libparted/disk.c:2419 msgid "boot" msgstr "Æô¶¯" #: libparted/disk.c:2421 msgid "bios_grub" msgstr "" #: libparted/disk.c:2423 msgid "root" msgstr "¸ù" #: libparted/disk.c:2425 msgid "swap" msgstr "¶Ô»»·ÖÇø" #: libparted/disk.c:2427 msgid "hidden" msgstr "Òþ²Ø·ÖÇø" #: libparted/disk.c:2429 msgid "raid" msgstr "raid" #: libparted/disk.c:2431 msgid "lvm" msgstr "lvm" #: libparted/disk.c:2433 msgid "lba" msgstr "lba" #: libparted/disk.c:2435 msgid "hp-service" msgstr "" #: libparted/disk.c:2437 msgid "palo" msgstr "" #: libparted/disk.c:2439 msgid "prep" msgstr "" #: libparted/disk.c:2441 msgid "msftres" msgstr "" #: libparted/disk.c:2443 msgid "atvrecv" msgstr "" #: libparted/disk.c:2445 msgid "diag" msgstr "" #: libparted/disk.c:2451 #, c-format msgid "Unknown partition flag, %d." msgstr "" #: libparted/exception.c:77 msgid "Information" msgstr "ÐÅÏ¢" #: libparted/exception.c:78 msgid "Warning" msgstr "¾¯¸æ" #: libparted/exception.c:79 msgid "Error" msgstr "´íÎó" #: libparted/exception.c:80 msgid "Fatal" msgstr "ÖÂÃü´íÎó" #: libparted/exception.c:81 msgid "Bug" msgstr "Bug" #: libparted/exception.c:82 msgid "No Implementation" msgstr "δʵÏÖ" #: libparted/exception.c:86 msgid "Fix" msgstr "ÐÞÕý" #: libparted/exception.c:87 msgid "Yes" msgstr "ÊÇ" #: libparted/exception.c:88 msgid "No" msgstr "·ñ" #: libparted/exception.c:89 msgid "OK" msgstr "È·ÈÏ" #: libparted/exception.c:90 msgid "Retry" msgstr "ÖØÊÔ" #: libparted/exception.c:91 msgid "Ignore" msgstr "ºöÂÔ" #: libparted/exception.c:92 msgid "Cancel" msgstr "·ÅÆú" #: libparted/exception.c:132 #, fuzzy, c-format msgid "" "A bug has been detected in GNU Parted. Refer to the web site of parted " "http://www.gnu.org/software/parted/parted.html for more information of what " "could be useful for bug submitting! Please email a bug report to bug-" "parted@gnu.org containing at least the version (%s) and the following " "message: " msgstr "" "·¢ÏÖ GNU Parted ÖÐµÄ bug¡£Ç뽫º¬Óа汾 (%s) ºÍÒÔÏÂÐÅÏ¢µÄ bug ±¨¸æ·¢Ë͵½ bug-" "parted@gnu.org£º" #: libparted/filesys.c:462 msgid "Could not detect file system." msgstr "ÎÞ·¨¼ì²âÎļþϵͳ¡£" #: libparted/filesys.c:473 #, fuzzy msgid "The file system is bigger than its volume!" msgstr "Îļþϵͳ±ÈËüµÄ¾í»¹´ó£¡" #: libparted/filesys.c:481 #, c-format msgid "Support for opening %s file systems is not implemented yet." msgstr "¹ØÓÚ´ò¿ª %s ÎļþϵͳµÄÖ§³ÖÉÐδʵÏÖ¡£" #: libparted/filesys.c:523 #, c-format msgid "Support for creating %s file systems is not implemented yet." msgstr "¹ØÓÚ´´½¨ %s ÎļþϵͳµÄÖ§³ÖÉÐδʵÏÖ¡£" #: libparted/filesys.c:583 #, c-format msgid "Support for checking %s file systems is not implemented yet." msgstr "¹ØÓÚ¼ì²é %s ÎļþϵͳµÄÖ§³ÖÉÐδʵÏÖ¡£" #: libparted/filesys.c:649 msgid "raw block copying" msgstr "ԭʼ¿é¸´ÖÆ" #: libparted/filesys.c:660 msgid "growing file system" msgstr "ÕýÔÚÀ©´óÎļþϵͳ" #: libparted/filesys.c:700 msgid "Can't copy onto an overlapping partition." msgstr "ÎÞ·¨¸´ÖƵ½ÖصþµÄ·ÖÇø¡£" #: libparted/filesys.c:722 #, fuzzy, c-format msgid "" "Direct support for copying file systems is not yet implemented for %s. " "However, support for resizing is implemented. Therefore, the file system " "can be copied if the new partition is at least as big as the old one. So, " "either shrink the partition you are trying to copy, or copy to a bigger " "partition." msgstr "" "¶Ô %s À´ËµÉв»Ö§³ÖÖ±½ÓµÄÎļþϵͳ¸´ÖÆ¡£µ«Ö§³Ö¸Ä±ä´óС¡£Òò´Ë£¬Ö»ÒªÐ·ÖÇø±ÈÔ­·Ö" "Çø´ó£¬¾ÍÄܹ»¸´ÖÆÎļþϵͳ¡£ËùÒÔ£¬ËõСÄúÊÔͼ¸´ÖƵķÖÇø£¬»ò¸´ÖƵ½½Ï´óµÄ·ÖÇø¡£" #: libparted/filesys.c:736 #, c-format msgid "Support for copying %s file systems is not implemented yet." msgstr "¹ØÓÚ¸´ÖÆ %s ÎļþϵͳµÄÖ§³ÖÉÐδʵÏÖ¡£" #: libparted/filesys.c:774 #, c-format msgid "Support for resizing %s file systems is not implemented yet." msgstr "¸Ä±ä %s ÎļþϵͳµÄÖ§³ÖÉÐδʵÏÖ¡£" #: libparted/fs/reiserfs/reiserfs.c:315 msgid "creating" msgstr "" #: libparted/fs/reiserfs/reiserfs.c:402 #, fuzzy msgid "The file system is in an invalid state. Perhaps it is mounted?" msgstr "Îļþϵͳº¬ÓÐÎÞЧµÄ FAT ÎļþϵͳǩÃû¡£" #: libparted/fs/reiserfs/reiserfs.c:410 msgid "The file system is in old (unresizeable) format." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:416 msgid "Invalid free blocks count. Run reiserfsck --check first." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:431 #, fuzzy msgid "checking" msgstr "¼ì²é" #: libparted/fs/reiserfs/reiserfs.c:437 msgid "Reiserfs tree seems to be corrupted. Run reiserfsck --check first." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:449 #, fuzzy msgid "" "The reiserfs file system passed a basic check. For a more comprehensive " "check, run reiserfsck --check." msgstr "ext2 Îļþϵͳͨ¹ý»ù±¾¼ì²é¡£ÖÁÓÚ¸ü¸ºÔصļì²é£¬Ê¹Óà e2fsck ³ÌÐò¡£" #: libparted/fs/reiserfs/reiserfs.c:474 #, fuzzy msgid "Sorry, can't move the start of reiserfs partitions yet." msgstr "´íÎó£¬ÉÐÎÞ·¨Òƶ¯ ext2 ·ÖÇøµÄÆðµã£¡" #: libparted/fs/reiserfs/reiserfs.c:490 msgid "Couldn't reopen device abstraction layer for read/write." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:508 libparted/fs/ext2/ext2_resize.c:552 #: libparted/fs/hfs/hfs.c:250 libparted/fs/hfs/hfs.c:629 msgid "shrinking" msgstr "ÕýÔÚËõС" #: libparted/fs/reiserfs/reiserfs.c:520 #, fuzzy msgid "expanding" msgstr "¾¯¸æ" #: libparted/fs/reiserfs/reiserfs.c:592 msgid "Couldn't create reiserfs device abstraction handler." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:606 #, fuzzy, c-format msgid "Device is too small for %lu blocks." msgstr "¶Ô ext2 À´ËµÎļþϵͳ¹ýС¡£" #: libparted/fs/reiserfs/reiserfs.c:615 msgid "copying" msgstr "" #: libparted/fs/reiserfs/reiserfs.c:682 #, c-format msgid "Couldn't resolve symbol %s. Error: %s." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:704 msgid "GNU Parted found an invalid libreiserfs library." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:715 #, c-format msgid "" "GNU Parted has detected libreiserfs interface version mismatch. Found %d-" "%d, required %d. ReiserFS support will be disabled." msgstr "" #: libparted/labels/aix.c:103 #, fuzzy msgid "Support for reading AIX disk labels is is not implemented yet." msgstr "¹ØÓÚ´´½¨ %s ÎļþϵͳµÄÖ§³ÖÉÐδʵÏÖ¡£" #: libparted/labels/aix.c:114 #, fuzzy msgid "Support for writing AIX disk labels is is not implemented yet." msgstr "¹ØÓÚ´´½¨ %s ÎļþϵͳµÄÖ§³ÖÉÐδʵÏÖ¡£" #: libparted/labels/aix.c:127 #, fuzzy msgid "" "Support for adding partitions to AIX disk labels is not implemented yet." msgstr "¹ØÓÚ´´½¨ %s ÎļþϵͳµÄÖ§³ÖÉÐδʵÏÖ¡£" #: libparted/labels/aix.c:137 #, fuzzy msgid "" "Support for duplicating partitions in AIX disk labels is not implemented yet." msgstr "¹ØÓÚ´´½¨ %s ÎļþϵͳµÄÖ§³ÖÉÐδʵÏÖ¡£" #: libparted/labels/aix.c:155 #, fuzzy msgid "" "Support for setting system type of partitions in AIX disk labels is not " "implemented yet." msgstr "¹ØÓÚ´´½¨ %s ÎļþϵͳµÄÖ§³ÖÉÐδʵÏÖ¡£" #: libparted/labels/aix.c:165 #, fuzzy msgid "Support for setting flags in AIX disk labels is not implemented yet." msgstr "¹ØÓÚ´´½¨ %s ÎļþϵͳµÄÖ§³ÖÉÐδʵÏÖ¡£" #: libparted/labels/bsd.c:568 libparted/labels/dasd.c:783 #: libparted/labels/dos.c:2092 libparted/labels/dvh.c:788 #: libparted/labels/gpt.c:1750 libparted/labels/loop.c:245 #: libparted/labels/mac.c:1424 libparted/labels/pc98.c:749 #: libparted/labels/rdb.c:1051 libparted/labels/sun.c:821 msgid "Unable to satisfy all constraints on the partition." msgstr "ÎÞ·¨Âú×ã·ÖÇøµÄËùÓÐÏÞÖÆ¡£" #: libparted/labels/bsd.c:593 #, fuzzy msgid "Unable to allocate a bsd disklabel slot." msgstr "È¡·¨¶¨Î» bsd ´ÅÅ̱êÇ©²Û" #: libparted/labels/dasd.c:809 #, fuzzy msgid "Unable to allocate a dasd disklabel slot" msgstr "È¡·¨¶¨Î» bsd ´ÅÅ̱êÇ©²Û" #: libparted/labels/dos.c:882 #, fuzzy, c-format msgid "Invalid partition table on %s -- wrong signature %x." msgstr "%s ÉϵķÖÇø±íÎÞЧ - ´íÎóµÄÇ©Ãû %x" #: libparted/labels/dos.c:910 #, c-format msgid "Invalid partition table - recursive partition on %s." msgstr "ÎÞЧµÄ·ÖÇø±í - %s ³öÏֵݹé·ÖÇø¡£" #: libparted/labels/dos.c:1420 msgid "Extended partitions cannot be hidden on msdos disk labels." msgstr "" #: libparted/labels/dos.c:2074 msgid "Parted can't resize partitions managed by Windows Dynamic Disk." msgstr "" #: libparted/labels/dvh.c:201 #, fuzzy, c-format msgid "%s has no extended partition (volume header partition)." msgstr "%s ûÓÐÀ©Õ¹·ÖÇø (¾íÍ··ÖÇø)¡£Èç¹ûÄúºöÂÔ£¬½«É¾³ýËùÓÐÆô¶¯¾í¡£" #: libparted/labels/dvh.c:327 msgid "Checksum is wrong, indicating the partition table is corrupt." msgstr "УÑéºÍ´íÎ󣬱êÃ÷·ÖÇø±íÒÑË𻵡£" #: libparted/labels/dvh.c:632 msgid "Only primary partitions can be root partitions." msgstr "Ö»ÓÐÖ÷·ÖÇø¿ÉÒÔÊǸù·ÖÇø¡£" #: libparted/labels/dvh.c:646 msgid "Only primary partitions can be swap partitions." msgstr "Ö»ÓÐÖ÷·ÖÇø¿ÉÒÔÊǶԻ»·ÖÇø¡£" #: libparted/labels/dvh.c:660 msgid "Only logical partitions can be a boot file." msgstr "Ö»ÓÐÂß¼­·ÖÇø¿ÉÒÔÊÇÆô¶¯Îļþ¡£" #: libparted/labels/dvh.c:737 #, fuzzy, c-format msgid "" "failed to set dvh partition name to %s:\n" "Only logical partitions (boot files) have a name." msgstr "Ö»ÓÐÂß¼­·ÖÇø (Æô¶¯Îļþ) ÓµÓÐÃû×Ö¡£" #: libparted/labels/dvh.c:830 msgid "Too many primary partitions" msgstr "¹ý¶àµÄÖ÷·ÖÇø" #: libparted/labels/fdasd.c:98 msgid "open error" msgstr "" #: libparted/labels/fdasd.c:101 msgid "seek error" msgstr "" #: libparted/labels/fdasd.c:104 msgid "read error" msgstr "" #: libparted/labels/fdasd.c:110 msgid "ioctl() error" msgstr "" #: libparted/labels/fdasd.c:114 msgid "API version mismatch" msgstr "" #: libparted/labels/fdasd.c:118 #, fuzzy msgid "Unsupported disk type" msgstr "ped_device_new() ²»Ö§³ÖµÄÉ豸ÀàÐÍ" #: libparted/labels/fdasd.c:122 msgid "Unsupported disk format" msgstr "" #: libparted/labels/fdasd.c:126 msgid "Disk is in use" msgstr "" #: libparted/labels/fdasd.c:130 msgid "Syntax error in config file" msgstr "" #: libparted/labels/fdasd.c:134 msgid "Volume label is corrupted" msgstr "" #: libparted/labels/fdasd.c:138 msgid "A data set name is corrupted" msgstr "" #: libparted/labels/fdasd.c:142 msgid "Memory allocation failed" msgstr "" #: libparted/labels/fdasd.c:146 msgid "Device verification failed" msgstr "" #: libparted/labels/fdasd.c:147 msgid "The specified device is not a valid DASD device" msgstr "" #: libparted/labels/fdasd.c:150 libparted/labels/vtoc.c:179 #, fuzzy msgid "Fatal error" msgstr "ÖÂÃü´íÎó" #: libparted/labels/fdasd.c:226 msgid "No room for volume label." msgstr "" #: libparted/labels/fdasd.c:234 #, fuzzy msgid "No room for partition info." msgstr "ÕÒ²»µ½ÓÐЧµÄ·ÖÇøÓ³Éä¡£" #: libparted/labels/fdasd.c:704 msgid "Invalid VTOC." msgstr "" #: libparted/labels/fdasd.c:764 msgid "Could not retrieve API version." msgstr "" #: libparted/labels/fdasd.c:767 #, c-format msgid "" "The current API version '%d' doesn't match dasd driver API version '%d'!" msgstr "" #: libparted/labels/fdasd.c:804 #, fuzzy msgid "Could not retrieve disk geometry information." msgstr "ÎÞ·¨¶ÁÈ¡ %s - %s µÄ¼¸ºÎ½á¹¹¡£" #: libparted/labels/fdasd.c:808 msgid "Could not retrieve blocksize information." msgstr "" #: libparted/labels/fdasd.c:813 msgid "Could not retrieve disk information." msgstr "" #: libparted/labels/fdasd.c:818 msgid "This is not an ECKD disk! This disk type is not supported!" msgstr "" #: libparted/labels/gpt.c:485 #, fuzzy, c-format msgid "" "%s contains GPT signatures, indicating that it has a GPT table. However, it " "does not have a valid fake msdos partition table, as it should. Perhaps it " "was corrupted -- possibly by a program that doesn't understand GPT partition " "tables. Or perhaps you deleted the GPT table, and are now using an msdos " "partition table. Is this a GPT partition table?" msgstr "" "%s º¬ÓÐ GPT Ç©Ãû£¬±êÃ÷Ëüº¬ÓÐ GPT ±í¡£È»¶ø£¬Ëü²¢²»ÏñÓ¦¸ÃµÄÄÇÑùº¬ÓÐÓÐЧµÄα " "msdos ·ÖÇø±í¡£¿ÉÄÜËüÒѾ­Ë𻵠- ¿ÉÄÜÊDz»Àí½â GPT ·ÖÇø±íµÄ³ÌÐòµ¼Öµġ£»òÕßÄúɾ" "³ýÁË GPT ±í£¬ÏÖÔÚʹÓà msdos ·ÖÇø±í¡£ÕâÊÇ GPT ·ÖÇø±íÂð£¿" #: libparted/labels/gpt.c:680 #, c-format msgid "" "The format of the GPT partition table is version %x, which is newer than " "what Parted can recognise. Please tell us! bug-parted@gnu.org" msgstr "" "GPT ·ÖÇø±íµÄ¸ñʽ°æ±¾Îª %x£¬Ëü±È Parted ËùÄÜʶ±ðµÄ°æ±¾ÒªÐ¡£Çë¸æËßÎÒÃÇ£¡bug-" "parted@gnu.org" #: libparted/labels/gpt.c:727 #, c-format msgid "" "Not all of the space available to %s appears to be used, you can fix the GPT " "to use all of the space (an extra %llu blocks) or continue with the current " "setting? " msgstr "" #: libparted/labels/gpt.c:936 msgid "" "The backup GPT table is not at the end of the disk, as it should be. This " "might mean that another operating system believes the disk is smaller. Fix, " "by moving the backup to the end (and removing the old backup)?" msgstr "" "±¸·Ý GPT ±í²»ÏñÓ¦¸ÃµÄÄÇÑù³öÏÖÔÚ´ÅÅ̵Äĩβ¡£Õâ¿ÉÄÜÒâζÕâÆäËü²Ù×÷ϵͳÏàÐÅ´ÅÅÌС" "һЩ¡£Í¨¹ý½«±¸·ÝÒÆ¶¯µ½Ä©Î² (²¢É¾³ý¾É±¸·Ý) À´ÐÞÕý£¿" #: libparted/labels/gpt.c:960 #, fuzzy msgid "" "Both the primary and backup GPT tables are corrupt. Try making a fresh " "table, and using Parted's rescue feature to recover partitions." msgstr "" "Ö÷ GPT ºÍ±¸·Ý GPT ¶¼Ëð»µÁË¡£ÊÔͼ´´½¨ÐÂ±í²¢Ê¹Óà Parted µÄ¼±¾È¹¦ÄÜÒÔÐÞ¸´·ÖÇø" "±í¡£" #: libparted/labels/gpt.c:971 #, fuzzy msgid "" "The backup GPT table is corrupt, but the primary appears OK, so that will be " "used." msgstr "Ö÷ GPT ±íË𻵣¬µ«±¸·ÝËÆºõÊÇÕýÈ·µÄ£¬ËùÒÔʹÓñ¸·Ý¡£" #: libparted/labels/gpt.c:983 #, fuzzy msgid "" "The primary GPT table is corrupt, but the backup appears OK, so that will be " "used." msgstr "Ö÷ GPT ±íË𻵣¬µ«±¸·ÝËÆºõÊÇÕýÈ·µÄ£¬ËùÒÔʹÓñ¸·Ý¡£" #: libparted/labels/gpt.c:1007 msgid "primary partition table array CRC mismatch" msgstr "" #: libparted/labels/mac.c:185 #, c-format msgid "Invalid signature %x for Mac disk labels." msgstr "ÎÞЧµÄ Mac ´ÅÅ̱êǩǩÃû %x¡£" #: libparted/labels/mac.c:232 msgid "Partition map has no partition map entry!" msgstr "·ÖÇøÓ³Éä²»º¬ÓзÖÇøÓ³ÉäÌõÄ¿£¡" #: libparted/labels/mac.c:280 #, c-format msgid "%s is too small for a Mac disk label!" msgstr "%s ¶Ô Mac ´ÅÅ̱êÇ©À´ËµÌ«Ð¡ÁË£¡" #: libparted/labels/mac.c:509 #, c-format msgid "Partition %d has an invalid signature %x." msgstr "·ÖÇø %d º¬ÓÐÎÞЧµÄÇ©Ãû %x¡£" #: libparted/labels/mac.c:527 #, c-format msgid "Partition %d has an invalid length of 0 bytes!" msgstr "·ÖÇø %d º¬ÓÐÎÞЧµÄ³¤¶È 0 ×Ö½Ú£¡" #: libparted/labels/mac.c:558 #, fuzzy msgid "The data region doesn't start at the start of the partition." msgstr "Êý¾ÝÇø²¢Î´´Ó·ÖÇøµÄÆðµã¿ªÊ¼" #: libparted/labels/mac.c:575 #, fuzzy msgid "The boot region doesn't start at the start of the partition." msgstr "Æô¶¯ÇøÓò²¢Î´´Ó·ÖÇøµÄÆðµã¿ªÊ¼" #: libparted/labels/mac.c:589 msgid "The partition's boot region doesn't occupy the entire partition." msgstr "·ÖÇøµÄÆô¶¯ÇøÓò²¢Î´Õ¼ÓÃÕû¸ö·ÖÇø¡£" #: libparted/labels/mac.c:600 msgid "The partition's data region doesn't occupy the entire partition." msgstr "·ÖÇøµÄÊý¾ÝÇøÓò²¢Î´Õ¼ÓÃÕû¸ö·ÖÇø¡£" #: libparted/labels/mac.c:653 #, c-format msgid "" "Weird block size on device descriptor: %d bytes is not divisible by 512." msgstr "É豸ÃèÊöÖгöÏֹŹֵĿé´óС£º%d ×Ö½Ú²»Äܱ» 512 Õû³ý¡£" #: libparted/labels/mac.c:666 #, c-format msgid "" "The driver descriptor says the physical block size is %d bytes, but Linux " "says it is %d bytes." msgstr "´ÅÅÌÃèÊö±íÃ÷ÎïÀí¿é´óСΪ %d ×Ö½Ú£¬µ« Linux ÈÏΪËüÊÇ %d ×Ö½Ú¡£" #: libparted/labels/mac.c:720 msgid "No valid partition map found." msgstr "ÕÒ²»µ½ÓÐЧµÄ·ÖÇøÓ³Éä¡£" #: libparted/labels/mac.c:782 #, fuzzy, c-format msgid "" "Conflicting partition map entry sizes! Entry 1 says it is %d, but entry %d " "says it is %d!" msgstr "·ÖÇøÓ³ÉäÌõÄ¿´óС³åÍ»£¡ÌõÄ¿ 1 ˵ËüÊÇ %d£¬µ«ÌõÄ¿ %d ˵ËüÊÇ %d£¡" #: libparted/labels/mac.c:809 #, fuzzy msgid "Weird! There are 2 partitions map entries!" msgstr "Ææ¹Ö - Á½¸ö·ÖÇøÓ³ÉäÌõÄ¿£¡" #: libparted/labels/mac.c:1355 msgid "" "Changing the name of a root or swap partition will prevent Linux from " "recognising it as such." msgstr "¸Ä±ä¸ù·ÖÇø»ò¶Ô»»·ÖÇøµÄÃû³Æ½«µ¼Ö Linux ÎÞ·¨Ê¶±ðËü¡£" #: libparted/labels/mac.c:1459 #, fuzzy msgid "Can't add another partition -- the partition map is too small!" msgstr "ÎÞ·¨Ìí¼ÓÁíÒ»¸ö·ÖÇø - ·ÖÇøÓ³Éä¹ýС£¡" #: libparted/labels/pc98.c:331 #, fuzzy, c-format msgid "Invalid partition table on %s." msgstr "%s µÄ·ÖÇø±íÎÞЧ" #: libparted/labels/pc98.c:384 libparted/labels/pc98.c:462 #, fuzzy, c-format msgid "" "Partition %d isn't aligned to cylinder boundaries. This is still " "unsupported." msgstr "·ÖÇø %d ²¢Î´¶ÔÆëµ½ÖùÃæ±ß½ç¡£ÐèÒªÌí¼Ó¶ÔËüµÄÖ§³Ö¡£" #: libparted/labels/pc98.c:781 msgid "Can't add another partition." msgstr "ÎÞ·¨Ìí¼ÓÆäËü·ÖÇø¡£" #: libparted/labels/pt-tools.c:125 #, c-format msgid "" "partition length of %jd sectors exceeds the %s-partition-table-imposed " "maximum of %jd" msgstr "" #: libparted/labels/pt-tools.c:138 #, c-format msgid "" "starting sector number, %jd exceeds the %s-partition-table-imposed maximum " "of %jd" msgstr "" #: libparted/labels/rdb.c:170 #, c-format msgid "%s : Bad checksum on block %llu of type %s." msgstr "" #: libparted/labels/rdb.c:486 #, c-format msgid "%s : Didn't find rdb block, should never happen." msgstr "" #: libparted/labels/rdb.c:572 #, c-format msgid "%s : Loop detected at block %d." msgstr "" #: libparted/labels/rdb.c:591 #, c-format msgid "%s : The %s list seems bad at block %s." msgstr "" #: libparted/labels/rdb.c:690 #, c-format msgid "%s : Failed to list bad blocks." msgstr "" #: libparted/labels/rdb.c:698 #, c-format msgid "%s : Failed to list partition blocks." msgstr "" #: libparted/labels/rdb.c:706 #, c-format msgid "%s : Failed to list file system blocks." msgstr "" #: libparted/labels/rdb.c:714 #, c-format msgid "%s : Failed to list boot blocks." msgstr "" #: libparted/labels/rdb.c:741 #, c-format msgid "Failed to write partition block at %d." msgstr "" #: libparted/labels/rdb.c:1079 #, fuzzy msgid "Unable to allocate a partition number." msgstr "ÐèÒª·ÖÇø±àºÅ¡£" #: libparted/labels/sun.c:163 msgid "Corrupted Sun disk label detected." msgstr "¼ì²âµ½Ëð»µÁ赀 Sun ´ÅÅ̱êÇ©¡£" #: libparted/labels/sun.c:316 #, fuzzy, c-format msgid "" "The disk CHS geometry (%d,%d,%d) reported by the operating system does not " "match the geometry stored on the disk label (%d,%d,%d)." msgstr "" "´ÅÅÌ CHS ¼¸ºÎ½á¹¹ (%d,%d,%d) ÓÚ±£´æÔÚ´ÅÅ̱êÇ© (%d,%d,%d) Öеļ¸ºÎ½á¹¹²»Æ¥Åä¡£" #: libparted/labels/sun.c:338 #, c-format msgid "The disk label describes a disk bigger than %s." msgstr "´ÅÅ̱êÇ©ÃèÊöµÄ´ÅÅÌ´óÓÚ %s¡£" #: libparted/labels/sun.c:510 #, c-format msgid "The disk has %d cylinders, which is greater than the maximum of 65536." msgstr "" #: libparted/labels/sun.c:853 msgid "" "The Whole Disk partition is the only available one left. Generally, it is " "not a good idea to overwrite this partition with a real one. Solaris may " "not be able to boot without it, and SILO (the sparc boot loader) appreciates " "it as well." msgstr "" #: libparted/labels/sun.c:868 msgid "Sun disk label is full." msgstr "Sun ´ÅÅ̱êÇ©ÒÑÂú¡£" #: libparted/labels/vtoc.c:164 msgid "opening of device failed" msgstr "" #: libparted/labels/vtoc.c:168 msgid "seeking on device failed" msgstr "" #: libparted/labels/vtoc.c:172 msgid "writing to device failed" msgstr "" #: libparted/labels/vtoc.c:176 msgid "reading from device failed" msgstr "" #: libparted/labels/vtoc.c:277 libparted/labels/vtoc.c:284 #, fuzzy msgid "Could not read volume label." msgstr "ÎÞ·¨¶ÁÈ¡ %s - %s µÄ¼¸ºÎ½á¹¹¡£" #: libparted/labels/vtoc.c:303 libparted/labels/vtoc.c:308 #, fuzzy msgid "Could not write volume label." msgstr "ÎÞ·¨¼ì²âÎļþϵͳ¡£" #: libparted/labels/vtoc.c:414 msgid "Could not read VTOC labels." msgstr "" #: libparted/labels/vtoc.c:420 msgid "Could not read VTOC FMT1 DSCB." msgstr "" #: libparted/labels/vtoc.c:427 msgid "Could not read VTOC FMT4 DSCB." msgstr "" #: libparted/labels/vtoc.c:434 msgid "Could not read VTOC FMT5 DSCB." msgstr "" #: libparted/labels/vtoc.c:441 msgid "Could not read VTOC FMT7 DSCB." msgstr "" #: libparted/labels/vtoc.c:461 msgid "Could not write VTOC labels." msgstr "" #: libparted/labels/vtoc.c:467 msgid "Could not write VTOC FMT1 DSCB." msgstr "" #: libparted/labels/vtoc.c:474 msgid "Could not write VTOC FMT4 DSCB." msgstr "" #: libparted/labels/vtoc.c:481 msgid "Could not write VTOC FMT5 DSCB." msgstr "" #: libparted/labels/vtoc.c:488 msgid "Could not write VTOC FMT7 DSCB." msgstr "" #: libparted/libparted.c:237 libparted/libparted.c:252 msgid "Out of memory." msgstr "ÄÚ´æºÄ¾¡¡£" #: libparted/unit.c:138 msgid "Cannot get unit size for special unit 'COMPACT'." msgstr "" #: libparted/unit.c:384 #, c-format msgid "\"%s\" has invalid syntax for locations." msgstr "" #: libparted/unit.c:392 #, c-format msgid "The maximum head value is %d." msgstr "" #: libparted/unit.c:399 #, c-format msgid "The maximum sector value is %d." msgstr "" #: libparted/unit.c:411 libparted/unit.c:543 #, c-format msgid "The location %s is outside of the device %s." msgstr "" #: libparted/unit.c:525 msgid "Invalid number." msgstr "" #: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:56 #: libparted/fs/amiga/asfs.c:70 #, c-format msgid "%s : Failed to allocate partition block\n" msgstr "" #: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:69 #: libparted/fs/amiga/asfs.c:82 #, c-format msgid "%s : Failed to allocate block\n" msgstr "" #: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:74 #, c-format msgid "%s : Couldn't read boot block %llu\n" msgstr "" #: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:85 #: libparted/fs/amiga/asfs.c:88 libparted/fs/amiga/asfs.c:102 #, c-format msgid "%s : Couldn't read root block %llu\n" msgstr "" #: libparted/fs/amiga/amiga.c:72 #, c-format msgid "%s : Failed to allocate id list element\n" msgstr "" #: libparted/fs/amiga/amiga.c:189 #, c-format msgid "%s : Couldn't read block %llu\n" msgstr "" #: libparted/fs/amiga/amiga.c:202 #, c-format msgid "%s : Bad checksum on block %llu of type %s\n" msgstr "" #: libparted/fs/amiga/amiga.c:212 #, fuzzy, c-format msgid "%s : Couldn't write block %d\n" msgstr "ÔÚдÈë %2$s ʱ %1$s" #: libparted/fs/amiga/amiga.c:278 #, c-format msgid "%s : Failed to allocate disk_specific rdb block\n" msgstr "" #: libparted/fs/amiga/amiga.c:289 #, c-format msgid "%s : Didn't find rdb block, should never happen\n" msgstr "" #: libparted/fs/amiga/amiga.c:318 #, c-format msgid "%s : Failed to read partition block %llu\n" msgstr "" #: libparted/fs/ext2/ext2.c:87 libparted/fs/ext2/ext2.c:112 msgid "Inconsistent group descriptors!" msgstr "²»Ò»ÖµÄ×éÃèÊö·û£¡" #: libparted/fs/ext2/ext2.c:91 libparted/fs/ext2/ext2.c:116 #, fuzzy msgid "File system full!" msgstr "ÎļþϵͳÒÑÂú£¡" #: libparted/fs/ext2/ext2.c:686 #, fuzzy msgid "Invalid superblock. Are you sure this is an ext2 file system?" msgstr "ÎÞЧµÄ³¬¿é¡£ÄúÈ·ÈÏËüÊÇÒ»¸ö ext2 Îļþϵͳ£¿" #: libparted/fs/ext2/ext2.c:700 libparted/fs/ext2/ext2_resize.c:658 #, fuzzy msgid "File system has errors! You should run e2fsck." msgstr "Îļþϵͳ´íÎó£¡ÄúÓ¦¸ÃÔËÐÐ e2fsck¡£" #: libparted/fs/ext2/ext2.c:711 #, fuzzy msgid "" "File system was not cleanly unmounted! You should run e2fsck. Modifying an " "unclean file system could cause severe corruption." msgstr "" "ÎļþϵͳûÓб»¸É¾»µØÐ¶ÔØ£¡ÄúÓ¦¸ÃÔËÐÐ e2fsck¡£Ð޸IJ»¸É¾»µÄÎļþϵͳ½«µ¼ÖÂÑÏÖØµÄ" "Ë𻵡£" #: libparted/fs/ext2/ext2.c:731 msgid "" "File system has an incompatible feature enabled. Compatible features are " "has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs " "or debugfs to remove features." msgstr "" #: libparted/fs/ext2/ext2.c:745 msgid "Error allocating buffer cache." msgstr "·ÖÅ仺³åÇø cache ´íÎó¡£" #: libparted/fs/ext2/ext2_inode_relocator.c:114 #, fuzzy msgid "" "Found an inode with a incorrect link count. Better go run e2fsck first!" msgstr "ÕÒµ½´øÓдíÎóÁ¬½Ó¼ÆÊýµÄ inode¡£×îºÃÏÈÔËÐÐ e2fsck¡£" #: libparted/fs/ext2/ext2_inode_relocator.c:487 msgid "Not enough free inodes!" msgstr "ûÓÐ×ã¹»µÄ¿ÕÏÐ inodes£¡" #: libparted/fs/ext2/ext2_resize.c:223 #, fuzzy msgid "File system is too full to remove a group!" msgstr "Îļþϵͳ±»¹ý¶ÉÕ¼ÓÃÒÔÖÂÎÞ·¨É¾³ý×飡" #: libparted/fs/ext2/ext2_resize.c:232 #, fuzzy msgid "File system has too many allocated inodes to remove a group!" msgstr "ÎļþϵͳÖÐÒÑʹÓÃµÄ inode ¹ý¶àÒÔÖÂÎÞ·¨É¾³ý×飡" #: libparted/fs/ext2/ext2_resize.c:491 msgid "adding groups" msgstr "Ìí¼Ó×é" #: libparted/fs/ext2/ext2_resize.c:528 #, fuzzy, c-format msgid "Your file system is too full to resize it to %i blocks. Sorry." msgstr "ÄúµÄÎļþϵͳ±»¹ý¶ÉÕ¼ÓÃÒÔÖÂÎÞ·¨½«ËüµÄ´óС¸Ä±äΪ %i ¸ö¿é¡£±§Ç¸¡£" #: libparted/fs/ext2/ext2_resize.c:538 #, fuzzy, c-format msgid "" "Your file system has too many occupied inodes to resize it to %i blocks. " "Sorry." msgstr "" "ÄúµÄÎļþϵͳÖÐÒÑʹÓÃµÄ inode ¹ý¶àÒÔÖÂÎÞ·¨½«Æä´óС¸Ä±äΪ %i ¸ö¿é¡£±§Ç¸¡£" #: libparted/fs/ext2/ext2_resize.c:666 #, fuzzy msgid "File system was not cleanly unmounted! You should run e2fsck." msgstr "ÎļþϵͳûÓиɾ»µØÐ¶ÔØ£¡ÄúÓ¦¸ÃÔËÐÐ e2fsck¡£" #: libparted/fs/ext2/ext2_resize.c:675 msgid "" "The file system has the 'dir_index' feature enabled. Parted can only resize " "the file system if it disables this feature. You can enable it later by " "running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'." msgstr "" #: libparted/fs/ext2/ext2_resize.c:691 msgid "" "A resize operation on this file system will use EXPERIMENTAL code\n" "that MAY CORRUPT it (although no one has reported any such damage yet).\n" "You should at least backup your data first, and run 'e2fsck -f' afterwards." msgstr "" #: libparted/fs/ext2/ext2_block_relocator.c:198 #, fuzzy msgid "Cross-linked blocks found! Better go run e2fsck first!" msgstr "·¢ÏÖ½»²æÁ¬½Ó¿é£¡×îºÃÏÈÔËÐÐ e2fsck£¡" #: libparted/fs/ext2/ext2_block_relocator.c:537 #, fuzzy, c-format msgid "Block %i has no reference? Weird." msgstr "¿é %i ûÓÐÒýÓã¿Ææ¹Ö" #: libparted/fs/ext2/ext2_block_relocator.c:738 #, fuzzy, c-format msgid "Block %i shouldn't have been marked (%d, %d)!" msgstr "¿é %i ²»Ó¦¸ÃÒѱ»±ê¼Ç£¡" #: libparted/fs/ext2/interface.c:226 #, fuzzy msgid "" "The ext2 file system passed a basic check. For a more comprehensive check, " "use the e2fsck program." msgstr "ext2 Îļþϵͳͨ¹ý»ù±¾¼ì²é¡£ÖÁÓÚ¸ü¸ºÔصļì²é£¬Ê¹Óà e2fsck ³ÌÐò¡£" #: libparted/fs/ext2/interface.c:243 msgid "Sorry, can't move the start of ext2 partitions yet!" msgstr "´íÎó£¬ÉÐÎÞ·¨Òƶ¯ ext2 ·ÖÇøµÄÆðµã£¡" #: libparted/fs/ext2/ext2_buffer.c:82 msgid "Couldn't flush buffer cache!" msgstr "ÎÞ·¨Ë¢Ð»º³åÇø cache£¡" #: libparted/fs/ext2/ext2_mkfs.c:161 msgid "writing per-group metadata" msgstr "дÈëÿ¸ö×é¶¼ÓеÄÔªÊý¾Ý" #: libparted/fs/ext2/ext2_mkfs.c:597 msgid "File system too small for ext2." msgstr "¶Ô ext2 À´ËµÎļþϵͳ¹ýС¡£" #: libparted/fs/fat/calc.c:135 #, fuzzy, c-format msgid "" "You need %s of free disk space to shrink this partition to this size. " "Currently, only %s is free." msgstr "" "ÄúÐèÒª %dM µÄ¿ÕÏпռäÀ´½«´Ë·ÖÇøÊÕËõµ½ÕâÒ»´óС (ÄúĿǰֻÓÐ %dM µÄ¿ÕÏпռä)" #: libparted/fs/fat/context.c:56 #, c-format msgid "" "Cluster start delta = %d, which is not a multiple of the cluster size %d." msgstr "´ØÆðÊ¼Æ«ÒÆ = %d£¬²»ÊÇ´Ø´óС %d µÄÕûÊý±¶¡£" #: libparted/fs/fat/fat.c:310 #, fuzzy, c-format msgid "Partition too big/small for a %s file system." msgstr "¶ÔÓÚ %s ÎļþϵͳÀ´Ëµ£¬·ÖÇø¹ý´ó»ò¹ýС" #: libparted/fs/fat/fat.c:476 msgid "" "The FATs don't match. If you don't know what this means, then select " "cancel, run scandisk on the file system, and then come back." msgstr "" "FAT ²»Æ¥Åä¡£Èç¹ûÄã²»ÖªµÀËüµÄº¬Ò壬ÇëÑ¡Ôñ·ÅÆú£¬²¢¶ÔÎļþϵͳÔËÐÐ scandisk£¬¶øºó" "Ôڻص½ÕâÀïÀ´¡£" #: libparted/fs/fat/fat.c:516 msgid "There are no possible configurations for this FAT type." msgstr "¶ÔÓÚ´Ë FAT ÀàÐÍûÓпÉÄܵÄÅäÖá£" #: libparted/fs/fat/fat.c:528 #, c-format msgid "" "File system doesn't have expected sizes for Windows to like it. Cluster " "size is %dk (%dk expected); number of clusters is %d (%d expected); size of " "FATs is %d sectors (%d expected)." msgstr "" "ÎļþϵͳµÄ´óС²»ÊÇ Windows ËùÏ£ÍûµÄ¡£´Ø´óСΪ %dk (ÆÚÍû %dk)£»´ØÊýÁ¿Îª %d (ÆÚ" "Íû %d)£»FAT µÄ´óСΪ %d ÉÈÇø (ÆÚÍû %d)¡£" #: libparted/fs/fat/fat.c:551 #, c-format msgid "" "File system is reporting the free space as %d clusters, not %d clusters." msgstr "Îļþϵͳ±¨¸æ¿ÕÏпռäΪ %d ´Ø£¬¶ø²»ÊÇ %d ´Ø¡£" #: libparted/fs/fat/fat.c:876 #, fuzzy msgid "" "GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT " "support will be disabled." msgstr "GNU parted ±àÒë´íÎó£ºFAT Æô¶¯ÉÈÇøÓ¦Îª 512 ×Ö½Ú¡£FAT Ö§³Ö½«±»¹Ø±Õ¡£" #: libparted/fs/fat/resize.c:158 #, fuzzy msgid "" "There's not enough room in the root directory for all of the files. Either " "cancel, or ignore to lose the files." msgstr "¸ùĿ¼ÏÂûÓб£´æËùÓÐÎļþµÄ×ã¹»¿Õ¼ä¡£·ÅÆú»òÕßÒÔËðʧÎļþΪ´ú¼ÛºöÂÔ¡£" #: libparted/fs/fat/resize.c:299 msgid "Error writing to the root directory." msgstr "дÈë¸ùĿ¼´íÎó¡£" #: libparted/fs/fat/resize.c:488 #, fuzzy msgid "If you leave your file system as FAT16, then you will have no problems." msgstr "Èç¹û½«ÄúµÄÎļþϵͳÀàÐͱ£³Ö FAT16 ²»±ä£¬ÄÇôÄã¾Í²»»áÓÐÎÊÌâ¡£" #: libparted/fs/fat/resize.c:491 msgid "" "If you convert to FAT16, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual)." msgstr "" "Èç¹ûÄúת»»Îª FAT16£¬²¢½« MS Windows °²×°µ½Õâ¸ö·ÖÇø£¬ÄÇôÄú±ØÐëÖØÐ°²×° MS " "Windows Æô¶¯¹ÜÀíÆ÷¡£Èç¹ûÄú´òËãÕâô×ö£¬ÄúÓ¦¸Ã²ÎÔÄ Parted µÄÊÖ²á (»òÄúµÄ·¢Ðаæ" "µÄÊÖ²á)¡£" #: libparted/fs/fat/resize.c:499 msgid "" "If you leave your file system as FAT32, then you will not introduce any new " "problems." msgstr "Èç¹ûÄú±£³ÖÎļþϵͳÀàÐÍΪ FAT32 ²»±ä£¬ÄÇôÄú½«²»»áÓöµ½ÈκÎÐÂÎÊÌâ¡£" #: libparted/fs/fat/resize.c:503 msgid "" "If you convert to FAT32, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual). Also, " "converting to FAT32 will make the file system unreadable by MS DOS, MS " "Windows 95a, and MS Windows NT." msgstr "" "Èç¹ûÄúת»»Îª FAT32£¬²¢ÇÒ MS Windows °²×°ÔÚÕâ¸ö·ÖÇø£¬ÄÇôÄú±ØÐëÖØÐ°²×° MS " "Windows µÄÆô¶¯¹ÜÀíÆ÷¡£Èç¹ûÄú´òËãÕâÑù×÷£¬ÄúÓ¦¸Ã²ÎÔÄ Parted µÄÊÖ²á (»òÕßÄúµÄ·¢" "ÐаæµÄÊÖ²á)¡£´ËÍ⣬½«Îļþϵͳת»»Îª FAT32£¬Îļþϵͳ¾Í²»Äܹ»±» MS DOS¡¢MS " "Windows 95a ºÍ MS Windows NT Ëù·ÃÎÊÁË¡£" #: libparted/fs/fat/resize.c:517 #, c-format msgid "%s %s %s" msgstr "%s %s %s" #: libparted/fs/fat/resize.c:518 msgid "Would you like to use FAT32?" msgstr "ÄúÊÇ·ñÔ¸ÒâʹÓà FAT32£¿" #: libparted/fs/fat/resize.c:549 libparted/fs/fat/resize.c:565 #, c-format msgid "%s %s" msgstr "%s %s" #: libparted/fs/fat/resize.c:550 msgid "" "The file system can only be resized to this size by converting to FAT16." msgstr "ÎļþϵͳµÄ´óСֻÄÜͨ¹ýת»»Îª FAT16 ¸Ä±äµ½ÕâÒ»´óС¡£" #: libparted/fs/fat/resize.c:566 msgid "" "The file system can only be resized to this size by converting to FAT32." msgstr "ÎļþϵͳµÄ´óСֻÄÜͨ¹ýת»»Îª FAT32 ¸Ä±äµ½ÕâÒ»´óС¡£" #: libparted/fs/fat/resize.c:579 #, fuzzy msgid "" "GNU Parted cannot resize this partition to this size. We're working on it!" msgstr "GNU Parted ÎÞ·¨½«´Ë·ÖÇø×ª»»µ½ÕâÒ»´óС¡£ÎÒÃÇÕýÔÚʵÏÖËü£¡" #: libparted/fs/fat/bootsector.c:49 libparted/fs/fat/bootsector.c:56 msgid "File system has an invalid signature for a FAT file system." msgstr "Îļþϵͳº¬ÓÐÎÞЧµÄ FAT ÎļþϵͳǩÃû¡£" #: libparted/fs/fat/bootsector.c:64 msgid "File system has an invalid sector size for a FAT file system." msgstr "ÎļþϵͳµÄÉÈÇø´óС¶Ô FAT ÎļþϵͳÀ´ËµÎÞЧ¡£" #: libparted/fs/fat/bootsector.c:71 msgid "File system has an invalid cluster size for a FAT file system." msgstr "ÎļþϵͳµÄ´Ø´óС¶Ô FAT ÎļþϵͳÀ´ËµÎÞЧ¡£" #: libparted/fs/fat/bootsector.c:78 #, fuzzy msgid "" "File system has an invalid number of reserved sectors for a FAT file system." msgstr "ÎļþϵͳµÄ±£ÁôÉÈÇøÊý¶Ô FAT ÎļþϵͳÀ´ËµÎÞЧ¡£" #: libparted/fs/fat/bootsector.c:85 #, fuzzy msgid "File system has an invalid number of FATs." msgstr "ÎļþϵͳµÄ FATS ÊýÁ¿ÎÞЧ¡£" #: libparted/fs/fat/bootsector.c:139 #, c-format msgid "" "This file system has a logical sector size of %d. GNU Parted is known not " "to work properly with sector sizes other than 512 bytes." msgstr "" "´ËÎļþϵͳµÄÂß¼­ÉÈÇø´óСΪ %d¡£GNU Parted ²»ÄÜÔÚÉÈÇø´óС²»ÊÇ 512 ×Ö½ÚµÄÇé¿öÏÂ" "ÕýÈ·¹¤×÷¡£" #: libparted/fs/fat/bootsector.c:164 #, c-format msgid "" "The file system's CHS geometry is (%d, %d, %d), which is invalid. The " "partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the " "file system's CHS geometry will be left unchanged. If you select Fix, the " "file system's CHS geometry will be set to match the partition table's CHS " "geometry." msgstr "" #: libparted/fs/fat/bootsector.c:213 msgid "FAT boot sector says logical sector size is 0. This is weird. " msgstr "FAT Æô¶¯ÉÈÇøÉù³ÆÂß¼­ÉÈÇøµÄ´óСΪÁã¡£ÕâºÜÆæ¹Ö¡£" #: libparted/fs/fat/bootsector.c:219 msgid "FAT boot sector says there are no FAT tables. This is weird. " msgstr "FAT Æô¶¯ÉÈÇøÉù³ÆÃ»ÓÐ FAT ±í¡£ÕâºÜÆæ¹Ö¡£" #: libparted/fs/fat/bootsector.c:225 msgid "FAT boot sector says clusters are 0 sectors. This is weird. " msgstr "FAT Æô¶¯ÉÈÇøÉù³Æ×äÊÇÁãÉÈÇø¡£ÕâºÜÆæ¹Ö¡£" #: libparted/fs/fat/bootsector.c:235 #, fuzzy msgid "File system is FAT12, which is unsupported." msgstr "ÎļþϵͳΪ FAT12£¬²»Ö§³Ö¡£" #: libparted/fs/fat/bootsector.c:411 #, c-format msgid "" "The information sector has the wrong signature (%x). Select cancel for now, " "and send in a bug report. If you're desperate, it's probably safe to ignore." msgstr "" "ÐÅÏ¢ÉÈÇøµÄÇ©Ãû´íÎó (%x)¡£ÏÖÔÚÑ¡Ôñ·ÅÆú£¬²¢·¢ËÍ bug ±¨¸æ¡£Èç¹ûÄú²»¹ËÒ»ÇУ¬Ñ¡Ôñ" "ºöÂÔÓпÉÄÜÊÇ¡°°²È«¡±µÄ¡£" #: libparted/fs/fat/count.c:144 #, c-format msgid "Bad directory entry for %s: first cluster is the end of file marker." msgstr "%s µÄĿ¼ÌõÄ¿´íÎ󣺵ÚÒ»¸ö´Ø¾ÍÊÇÎļþ±êÖ¾µÄ½áÊø¡£" #: libparted/fs/fat/count.c:157 #, c-format msgid "" "Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk." msgstr "´íÎóµÄ FAT£º%s µÄÁ´Î´ÖÕÖ¹¡£ÄúÓ¦¸ÃÔËÐÐ dosfsck »ò scandisk¡£" #: libparted/fs/fat/count.c:166 #, fuzzy, c-format msgid "" "Bad FAT: cluster %d outside file system in chain for %s. You should run " "dosfsck or scandisk." msgstr "" "´íÎóµÄ FAT£ºÔÚ%2$s µÄÁ´ÖУ¬´Ø %1$d ´¦ÓÚÎļþϵͳ֮Íâ¡£ÄúÓ¦¸ÃÔËÐÐ dosfsck »ò " "scandisk¡£" #: libparted/fs/fat/count.c:176 #, c-format msgid "" "Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or " "scandisk." msgstr "´íÎóµÄ FAT£º´Ø %d ͬ %s µÄÁ´½»²æÁË¡£ÄúÓ¦¸ÃÔËÐÐ dosfsck »ò scandisk¡£" #: libparted/fs/fat/count.c:195 #, c-format msgid "%s is %dk, but it has %d clusters (%dk)." msgstr "%s Ϊ %dk£¬µ«º¬ÓÐ %d ¸ö´Ø (%dk)¡£" #: libparted/fs/fat/count.c:258 #, c-format msgid "" "The file %s is marked as a system file. This means moving it could cause " "some programs to stop working." msgstr "Îļþ %s ±»±ê¼ÇΪϵͳÎļþ¡£ÕâÒâζ×ÅÒÆ¶¯Ëü¿ÉÄܵ¼ÖÂijЩ³ÌÐòÍ£Ö¹¹¤×÷¡£" #: libparted/fs/fat/table.c:136 #, c-format msgid "" "FAT %d media %x doesn't match the boot sector's media %x. You should " "probably run scandisk." msgstr "" "FAT %d ýÌå %x ºÍÆô¶¯ÉÈÇøËùÔÚµÄýÌå %x ²»Æ¥Åä¡£Äú¿ÉÄÜÓ¦¸ÃÔËÐÐ scandisk¡£" #: libparted/fs/fat/table.c:268 #, fuzzy, c-format msgid "fat_table_set: cluster %ld outside file system" msgstr "fat_table_set£º´Ø %ld ´¦ÓÚÎļþϵͳ֮Íâ" #: libparted/fs/fat/table.c:300 #, fuzzy, c-format msgid "fat_table_get: cluster %ld outside file system" msgstr "fat_table_get£º´Ø %ld ´¦ÓÚÎļþϵͳ֮Íâ" #: libparted/fs/fat/table.c:342 msgid "fat_table_alloc_cluster: no free clusters" msgstr "fat_table_alloc_cluster£ºÃ»ÓпÕÏдØ" #: libparted/fs/linux_swap/linux_swap.c:288 #, fuzzy, c-format msgid "Unrecognised old style linux swap signature '%10s'." msgstr "ÎÞ·¨Ê¶±ðµÄ linux ¶Ô»»Ç©Ãû¡°%10s¡±¡£" #: libparted/fs/linux_swap/linux_swap.c:331 #, fuzzy, c-format msgid "Unrecognised new style linux swap signature '%10s'." msgstr "ÎÞ·¨Ê¶±ðµÄ linux ¶Ô»»Ç©Ãû¡°%10s¡±¡£" #: libparted/fs/linux_swap/linux_swap.c:371 #, fuzzy, c-format msgid "Unrecognised swsusp linux swap signature '%9s'." msgstr "ÎÞ·¨Ê¶±ðµÄ linux ¶Ô»»Ç©Ãû¡°%10s¡±¡£" #: libparted/fs/linux_swap/linux_swap.c:447 msgid "Too many bad pages." msgstr "¹ý¶àµÄ»µÒ³¡£" #: libparted/fs/hfs/advfs.c:121 libparted/fs/hfs/advfs_plus.c:121 #: libparted/fs/hfs/reloc.c:414 libparted/fs/hfs/reloc.c:508 #: libparted/fs/hfs/reloc_plus.c:538 libparted/fs/hfs/reloc_plus.c:656 #: libparted/fs/hfs/reloc_plus.c:769 msgid "The file system contains errors." msgstr "" #: libparted/fs/hfs/advfs_plus.c:285 msgid "Bad blocks could not be read." msgstr "" #: libparted/fs/hfs/cache.c:137 #, c-format msgid "" "Trying to register an extent starting at block 0x%X, but another one already " "exists at this position. You should check the file system!" msgstr "" #: libparted/fs/hfs/cache.c:214 #, c-format msgid "" "Trying to move an extent from block Ox%X to block Ox%X, but another one " "already exists at this position. This should not happen!" msgstr "" #: libparted/fs/hfs/file.c:143 #, c-format msgid "Could not update the extent cache for HFS file with CNID %X." msgstr "" #: libparted/fs/hfs/file.c:180 #, c-format msgid "Trying to read HFS file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/file.c:190 libparted/fs/hfs/file.c:220 #, c-format msgid "Could not find sector %lli of HFS file with CNID %X." msgstr "" #: libparted/fs/hfs/file.c:210 #, c-format msgid "Trying to write HFS file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/file_plus.c:157 #, c-format msgid "Could not update the extent cache for HFS+ file with CNID %X." msgstr "" #: libparted/fs/hfs/file_plus.c:202 #, c-format msgid "Trying to read HFS+ file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/file_plus.c:213 libparted/fs/hfs/file_plus.c:256 #, c-format msgid "Could not find sector %lli of HFS+ file with CNID %X." msgstr "" #: libparted/fs/hfs/file_plus.c:245 #, c-format msgid "Trying to write HFS+ file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/hfs.c:232 msgid "Sorry, HFS cannot be resized that way yet." msgstr "" #: libparted/fs/hfs/hfs.c:262 libparted/fs/hfs/hfs.c:641 msgid "Data relocation has failed." msgstr "" #: libparted/fs/hfs/hfs.c:281 msgid "Data relocation left some data in the end of the volume." msgstr "" #: libparted/fs/hfs/hfs.c:320 #, fuzzy msgid "writing HFS Master Directory Block" msgstr "дÈë¸ùĿ¼´íÎó¡£" #: libparted/fs/hfs/hfs.c:468 msgid "No valid HFS[+X] signature has been found while opening." msgstr "" #: libparted/fs/hfs/hfs.c:478 #, c-format msgid "Version %d of HFS+ isn't supported." msgstr "" #: libparted/fs/hfs/hfs.c:489 #, c-format msgid "Version %d of HFSX isn't supported." msgstr "" #: libparted/fs/hfs/hfs.c:672 msgid "Data relocation left some data at the end of the volume." msgstr "" #: libparted/fs/hfs/hfs.c:720 #, fuzzy msgid "Error while writing the allocation file." msgstr "дÈë¸ùĿ¼´íÎó¡£" #: libparted/fs/hfs/hfs.c:735 msgid "Error while writing the compatibility part of the allocation file." msgstr "" #: libparted/fs/hfs/hfs.c:750 msgid "writing HFS+ Volume Header" msgstr "" #: libparted/fs/hfs/hfs.c:850 msgid "An error occurred while looking for the mandatory bad blocks file." msgstr "" #: libparted/fs/hfs/hfs.c:904 msgid "" "It seems there is an error in the HFS wrapper: the bad blocks file doesn't " "contain the embedded HFS+ volume." msgstr "" #: libparted/fs/hfs/hfs.c:940 msgid "Sorry, HFS+ cannot be resized that way yet." msgstr "" #: libparted/fs/hfs/hfs.c:975 msgid "shrinking embedded HFS+ volume" msgstr "" #: libparted/fs/hfs/hfs.c:991 msgid "Resizing the HFS+ volume has failed." msgstr "" #: libparted/fs/hfs/hfs.c:998 #, fuzzy msgid "shrinking HFS wrapper" msgstr "ÕýÔÚËõС" #: libparted/fs/hfs/hfs.c:1007 msgid "Updating the HFS wrapper has failed." msgstr "" #: libparted/fs/hfs/hfs.c:1109 libparted/fs/hfs/hfs.c:1194 #, c-format msgid "" "This is not a real %s check. This is going to extract special low level " "files for debugging purposes." msgstr "" #: libparted/fs/hfs/journal.c:155 msgid "Bad block list header checksum." msgstr "" #: libparted/fs/hfs/journal.c:168 #, c-format msgid "" "Invalid size of a transaction block while replaying the journal (%i bytes)." msgstr "" #: libparted/fs/hfs/journal.c:260 msgid "" "Journal stored outside of the volume are not supported. Try to desactivate " "the journal and run Parted again." msgstr "" #: libparted/fs/hfs/journal.c:271 #, fuzzy msgid "Journal offset or size is not multiple of the sector size." msgstr "´ØÆðÊ¼Æ«ÒÆ = %d£¬²»ÊÇ´Ø´óС %d µÄÕûÊý±¶¡£" #: libparted/fs/hfs/journal.c:292 msgid "Incorrect magic values in the journal header." msgstr "" #: libparted/fs/hfs/journal.c:302 msgid "Journal size mismatch between journal info block and journal header." msgstr "" #: libparted/fs/hfs/journal.c:314 #, fuzzy msgid "Some header fields are not multiple of the sector size." msgstr "´ØÆðÊ¼Æ«ÒÆ = %d£¬²»ÊÇ´Ø´óС %d µÄÕûÊý±¶¡£" #: libparted/fs/hfs/journal.c:323 msgid "" "The sector size stored in the journal is not 512 bytes. Parted only " "supports 512 bytes length sectors." msgstr "" #: libparted/fs/hfs/journal.c:335 msgid "Bad journal checksum." msgstr "" #: libparted/fs/hfs/journal.c:353 msgid "" "The journal is not empty. Parted must replay the transactions before " "opening the file system. This will modify the file system." msgstr "" #: libparted/fs/hfs/journal.c:381 msgid "" "The volume header or the master directory block has changed while replaying " "the journal. You should restart Parted." msgstr "" #: libparted/fs/hfs/probe.c:51 #, c-format msgid "" "Parted can't use HFS file systems on disks with a sector size not equal to " "%d bytes." msgstr "" #: libparted/fs/hfs/reloc.c:151 libparted/fs/hfs/reloc_plus.c:155 msgid "An extent has not been relocated." msgstr "" #: libparted/fs/hfs/reloc.c:251 libparted/fs/hfs/reloc_plus.c:307 msgid "" "A reference to an extent comes from a place it should not. You should check " "the file system!" msgstr "" #: libparted/fs/hfs/reloc.c:381 msgid "This HFS volume has no catalog file. This is very unusual!" msgstr "" #: libparted/fs/hfs/reloc.c:475 msgid "This HFS volume has no extents overflow file. This is quite unusual!" msgstr "" #: libparted/fs/hfs/reloc.c:517 libparted/fs/hfs/reloc_plus.c:666 msgid "" "The extents overflow file should not contain its own extents! You should " "check the file system." msgstr "" #: libparted/fs/hfs/reloc.c:574 libparted/fs/hfs/reloc_plus.c:844 #, fuzzy msgid "Could not cache the file system in memory." msgstr "ÎÞ·¨¼ì²âÎļþϵͳ¡£" #: libparted/fs/hfs/reloc.c:635 libparted/fs/hfs/reloc_plus.c:905 msgid "Bad blocks list could not be loaded." msgstr "" #: libparted/fs/hfs/reloc.c:649 libparted/fs/hfs/reloc_plus.c:921 msgid "An error occurred during extent relocation." msgstr "" #: libparted/fs/hfs/reloc_plus.c:494 msgid "This HFS+ volume has no catalog file. This is very unusual!" msgstr "" #: libparted/fs/hfs/reloc_plus.c:617 msgid "This HFS+ volume has no extents overflow file. This is quite unusual!" msgstr "" #: parted/parted.c:123 msgid "displays this help message" msgstr "ÏÔʾ´ËÇóÖúÐÅÏ¢" #: parted/parted.c:124 msgid "lists partition layout on all block devices" msgstr "" #: parted/parted.c:125 msgid "displays machine parseable output" msgstr "" #: parted/parted.c:126 msgid "never prompts for user intervention" msgstr "´Ó²»ÌáʾÓû§" #: parted/parted.c:127 msgid "displays the version" msgstr "ÏÔʾ°æ±¾" #: parted/parted.c:128 #, fuzzy msgid "alignment for new partitions" msgstr "²»ÄÜÖ»¸´ÖÆÀ©Õ¹·ÖÇø¡£" #: parted/parted.c:140 #, fuzzy msgid "" "NUMBER is the partition number used by Linux. On MS-DOS disk labels, the " "primary partitions number from 1 to 4, logical partitions from 5 onwards.\n" msgstr "" "MINOR ÊÇ Linux ʹÓõķÖÇø±àºÅ¡£ÔÚ msdos ´ÅÅÌ ±êÇ©ÖУ¬Ö÷·ÖÇø±àºÅΪ 1 - 4£¬" "Âß¼­·ÖÇø´Ó 5 ¿ªÊ¼¡£\n" #: parted/parted.c:143 msgid "LABEL-TYPE is one of: " msgstr "¡°±êÇ©ÀàÐÍ¡±ÊÇÒÔÏÂÈÎÒâÒ»Ï" #: parted/parted.c:144 msgid "FLAG is one of: " msgstr "¡°±êÖ¾¡±ÊÇÒÔÏÂÈÎÒâÒ»Ï" #: parted/parted.c:145 #, fuzzy msgid "UNIT is one of: " msgstr "¡°±êÖ¾¡±ÊÇÒÔÏÂÈÎÒâÒ»Ï" #: parted/parted.c:146 msgid "desired alignment: minimum or optimal" msgstr "" #: parted/parted.c:147 msgid "PART-TYPE is one of: primary, logical, extended\n" msgstr "¡°·ÖÇøÀàÐÍ¡±ÊÇÖ÷·ÖÇø¡¢Âß¼­·ÖÇø¡¢À©Õ¹·ÖÇøÖ®Ò»\n" #: parted/parted.c:149 msgid "FS-TYPE is one of: " msgstr "¡°ÎļþϵͳÀàÐÍ¡±ÊÇÒÔÏÂÈÎÒâÒ»Ï" #: parted/parted.c:150 #, fuzzy msgid "" "START and END are disk locations, such as 4GB or 10%. Negative values count " "from the end of the disk. For example, -1s specifies exactly the last " "sector.\n" msgstr "¡°Æðʼµã¡±ºÍ¡°ÖÕÖ¹µã¡±ÒÔÕ×Ϊµ¥Î»¡£¸ºÖµ±íʾ´Ó´ÅÅÌÄ©¶Î¿ªÊ¼¼ÆÊý¡£\n" #: parted/parted.c:153 msgid "STATE is one of: on, off\n" msgstr "״̬Ϊ£º¿ª¡¢¹Ø\n" #: parted/parted.c:154 msgid "DEVICE is usually /dev/hda or /dev/sda\n" msgstr "DEVICE ͨ³£Îª /dev/hda »ò /dev/sda\n" #: parted/parted.c:155 msgid "NAME is any word you want\n" msgstr "NAME ÊÇÄúÐèÒªµÄÈκε¥´Ê\n" #: parted/parted.c:156 msgid "The partition must have one of the following FS-TYPEs: " msgstr "" #: parted/parted.c:160 #, fuzzy msgid "" "Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n" "This program is free software, covered by the GNU General Public License.\n" "\n" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" msgstr "" "°æÈ¨ËùÓÐ (C) 1998, 1999, 2000, 2001, 2002, 2003 ×ÔÓÉÈí¼þ»ù½ð»á¡£\n" "±¾³ÌÐòΪ×ÔÓÉÈí¼þ£¬°´ GNU ͨÓù«¹²Ðí¿ÉÖ¤·¢ÐС£\n" "\n" "·¢Ðб¾³ÌÐòÊÇÏ£ÍûËüÄܹ»ÓÐÓ㬵«Ã»ÓÐÈκε£±££»ÉõÖÁ²»°üÀ¨Òþº¬µÄÊÊÏúºÍÊʺÏÌØ¶¨ÓÃ" ";µÄ±£Ö¤¡£ÏêÇéÇë²Î¼û GNU ͨÓù«¹²Ðí¿ÉÖ¤¡£\n" #: parted/parted.c:208 #, c-format msgid "%0.f%%\t(time left %.2d:%.2d)" msgstr "%0.f%%\t(Ê£Óàʱ¼ä %.2d:%.2d)" #: parted/parted.c:227 #, c-format msgid "" "Partition %s is being used. You must unmount it before you modify it with " "Parted." msgstr "" #: parted/parted.c:245 #, c-format msgid "Partition(s) on %s are being used." msgstr "ÕýÔÚʹÓà %s ÉϵķÖÇø¡£" #: parted/parted.c:257 msgid "" "The existing file system will be destroyed and all data on the partition " "will be lost. Do you want to continue?" msgstr "" #: parted/parted.c:269 #, c-format msgid "" "The existing disk label on %s will be destroyed and all data on this disk " "will be lost. Do you want to continue?" msgstr "" #: parted/parted.c:487 #, c-format msgid "" "WARNING: you are attempting to use %s to operate on (%s) a file system.\n" "%s's file system manipulation code is not as robust as what you'll find in\n" "dedicated, file-system-specific packages like e2fsprogs. We recommend\n" "you use %s only to manipulate partition tables, whenever possible.\n" "Support for performing most operations on most types of file systems\n" "will be removed in an upcoming release.\n" msgstr "" #: parted/parted.c:508 parted/parted.c:702 parted/parted.c:1179 #: parted/parted.c:1263 parted/parted.c:1935 parted/parted.c:2016 #: parted/parted.c:2088 parted/parted.c:2122 msgid "Partition number?" msgstr "·ÖÇø±àºÅ£¿" #: parted/parted.c:551 msgid "Source device?" msgstr "Ô´É豸£¿" #: parted/parted.c:555 msgid "Source partition number?" msgstr "Ô´·ÖÇø±àºÅ£¿" #: parted/parted.c:560 #, fuzzy msgid "Can't copy an extended partition." msgstr "²»ÄÜÖ»¸´ÖÆÀ©Õ¹·ÖÇø¡£" #: parted/parted.c:566 msgid "Destination partition number?" msgstr "Ä¿±ê·ÖÇø±àºÅ£¿" #: parted/parted.c:655 msgid "New disk label type?" msgstr "еĴÅÅ̱êÇ©ÀàÐÍ£¿" #: parted/parted.c:706 parted/parted.c:788 parted/parted.c:1000 msgid "File system type?" msgstr "ÎļþϵͳÀàÐÍ£¿" #: parted/parted.c:762 parted/parted.c:983 msgid "Partition type?" msgstr "·ÖÇøÀàÐÍ£¿" #: parted/parted.c:780 parted/parted.c:990 parted/parted.c:1266 msgid "Partition name?" msgstr "·ÖÇøÃû³Æ£¿" #: parted/parted.c:794 parted/parted.c:1002 parted/parted.c:1194 #: parted/parted.c:1883 parted/parted.c:1944 msgid "Start?" msgstr "Æðʼµã£¿" #: parted/parted.c:796 parted/parted.c:1005 parted/parted.c:1197 #: parted/parted.c:1885 parted/parted.c:1946 msgid "End?" msgstr "½áÊøµã£¿" #: parted/parted.c:862 parted/parted.c:1066 #, fuzzy, c-format msgid "" "You requested a partition from %s to %s.\n" "The closest location we can manage is %s to %s.%s" msgstr "" "ÄúÒªÇóÔÚ %.3f - %.3fMb µÄλÖô´½¨·ÖÇø¡£¿É¹ÜÀíµÄ×îÏà½ü·ÖÇøÎª %.3f-%.3fMb¡£" #: parted/parted.c:867 parted/parted.c:1071 msgid "" "\n" "Is this still acceptable to you?" msgstr "" #: parted/parted.c:889 parted/parted.c:1093 msgid "The resulting partition is not properly aligned for best performance." msgstr "" #: parted/parted.c:995 #, fuzzy msgid "An extended partition cannot hold a file system. Did you want mkpart?" msgstr "À©Õ¹·ÖÇø²»Äܺ¬ÓÐÎļþϵͳ¡£ÄúÊÇÒªÓà mkpart °É£¿" #: parted/parted.c:1185 #, fuzzy msgid "Can't move an extended partition." msgstr "ÎÞ·¨Òƶ¯À©Õ¹·ÖÇø¡£" #: parted/parted.c:1214 msgid "Can't move a partition onto itself. Try using resize, perhaps?" msgstr "ÎÞ·¨½«·ÖÇøÒÆ¶¯µ½Ëü×ÔÉí¡£ÊÔÓøıä´óС£¬¿ÉÄÜ£¿" #: parted/parted.c:1360 #, c-format msgid "Minor: %d\n" msgstr "Minor£º%d\n" #: parted/parted.c:1361 #, fuzzy, c-format msgid "Flags: %s\n" msgstr "±êÖ¾£º" #: parted/parted.c:1362 #, c-format msgid "File System: %s\n" msgstr "Îļþϵͳ£º%s\n" #: parted/parted.c:1363 #, fuzzy msgid "Size: " msgstr "´óС£º %10.3fMb (%d%%)\n" #: parted/parted.c:1368 #, fuzzy msgid "Minimum size: " msgstr "×îС³ß´ç£º %10.3fMb (%d%%)\n" #: parted/parted.c:1371 #, fuzzy msgid "Maximum size: " msgstr "×î´ó³ß´ç£º %10.3fMb (%d%%)\n" #: parted/parted.c:1504 #, c-format msgid "Model: %s (%s)\n" msgstr "" #: parted/parted.c:1506 #, fuzzy, c-format msgid "Disk %s: %s\n" msgstr "%s %s %s" #: parted/parted.c:1507 #, c-format msgid "Sector size (logical/physical): %lldB/%lldB\n" msgstr "" #: parted/parted.c:1525 #, c-format msgid "BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s.\n" msgstr "" #: parted/parted.c:1534 #, fuzzy, c-format msgid "Partition Table: %s\n" msgstr "·ÖÇøÃû³Æ£¿" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Number" msgstr "" #: parted/parted.c:1549 parted/parted.c:1552 #, fuzzy msgid "Start" msgstr "Æðʼµã£¿" #: parted/parted.c:1550 parted/parted.c:1553 #, fuzzy msgid "End" msgstr "½áÊøµã£¿" #: parted/parted.c:1553 #, fuzzy msgid "Size" msgstr "resize" #: parted/parted.c:1557 msgid "Type" msgstr "" #: parted/parted.c:1559 #, fuzzy msgid "File system" msgstr "Îļþϵͳ£¿" #: parted/parted.c:1562 #, fuzzy msgid "Name" msgstr "name" #: parted/parted.c:1564 msgid "Flags" msgstr "±êÖ¾" #: parted/parted.c:1621 msgid "Free Space" msgstr "" #: parted/parted.c:1782 #, fuzzy, c-format msgid "" "A %s %s partition was found at %s -> %s. Do you want to add it to the " "partition table?" msgstr "" "ÔÚ %3$.3fMb -> %4$.3fMb ´¦ÕÒµ½Ò»¸ö %1$s %2$s ·ÖÇø¡£ÄúÏ£Íû½«ÆäÌí¼Óµ½·ÖÇø±íÖÐ" "Âð£¿" #: parted/parted.c:1821 msgid "searching for file systems" msgstr "ÕýÔÚËÑË÷Îļþϵͳ" #: parted/parted.c:2041 msgid "New device?" msgstr "ÐÂÉ豸£¿" #: parted/parted.c:2086 msgid "alignment type(min/opt)" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d aligned\n" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d not aligned\n" msgstr "" #: parted/parted.c:2124 #, fuzzy msgid "Flag to Invert?" msgstr "ÒªÐ޸ĵıêÖ¾£¿" #: parted/parted.c:2129 msgid "New state?" msgstr "ÐÂ״̬£¿" #: parted/parted.c:2166 msgid "Unit?" msgstr "" #: parted/parted.c:2348 #, fuzzy msgid "align-check" msgstr "¼ì²é" #: parted/parted.c:2351 msgid "" "align-check TYPE N check partition N for TYPE(min|" "opt) alignment" msgstr "" #: parted/parted.c:2359 msgid "check" msgstr "¼ì²é" #: parted/parted.c:2362 #, fuzzy msgid "" "check NUMBER do a simple check on the file system" msgstr "¼ì²é MINOR ¶ÔÎļþϵͳ½øÐÐÒ»¸ö¼òµ¥µÄ¼ì²é" #: parted/parted.c:2368 msgid "cp" msgstr "cp" #: parted/parted.c:2371 #, fuzzy msgid "" "cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another " "partition" msgstr "cp [FROM-DEVICE] FROM-MINOR TO-MINOR ½«Îļþϵͳ¸´ÖƵ½ÁíÒ»¸ö·ÖÇø" #: parted/parted.c:2377 msgid "help" msgstr "help" #: parted/parted.c:2380 #, fuzzy msgid "" "help [COMMAND] print general help, or help on " "COMMAND" msgstr "help [COMMAND] ´òӡͨÓÃÇóÖúÐÅÏ¢£¬»ò¹ØÓÚ COMMAND µÄÐÅÏ¢" #: parted/parted.c:2386 msgid "mklabel" msgstr "mklabel" #: parted/parted.c:2386 #, fuzzy msgid "mktable" msgstr "mklabel" #: parted/parted.c:2389 #, fuzzy msgid "" "mklabel,mktable LABEL-TYPE create a new disklabel (partition " "table)" msgstr "mklabel ±êÇ©ÀàÐÍ ´´½¨ÐµĴÅÅ̱êÇ© (·ÖÇø±í)" #: parted/parted.c:2395 msgid "mkfs" msgstr "mkfs" #: parted/parted.c:2398 #, fuzzy msgid "" "mkfs NUMBER FS-TYPE make a FS-TYPE file system on " "partition NUMBER" msgstr "" "mkfs MINOR ÎļþϵͳÀàÐÍ ÔÚ MINOR ´´½¨ÀàÐÍΪ¡°ÎļþϵͳÀàÐÍ¡±µÄÎļþϵͳ" #: parted/parted.c:2404 msgid "mkpart" msgstr "mkpart" #: parted/parted.c:2407 #, fuzzy msgid "mkpart PART-TYPE [FS-TYPE] START END make a partition" msgstr "mkpart ·ÖÇøÀàÐÍ [ÎļþϵͳÀàÐÍ] Æðʼµã ÖÕÖ¹µã ´´½¨Ò»¸ö·ÖÇø" #: parted/parted.c:2413 #, fuzzy msgid "" "'mkpart' makes a partition without creating a new file system on the " "partition. FS-TYPE may be specified to set an appropriate partition ID.\n" msgstr "" "mkpart ´´½¨·ÖÇø¶ø²»ÔÚ·ÖÇøÉÏ´´½¨ÐÂÎļþϵͳ¡£¡°ÎļþϵͳÀàÐÍ¡±¿ÉÒÔÓÃÓÚÉèÖÃÊʵ±µÄ" "·ÖÇø±êʶ¡£\n" #: parted/parted.c:2418 msgid "mkpartfs" msgstr "mkpartfs" #: parted/parted.c:2421 #, fuzzy msgid "" "mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system" msgstr "" "mkpartfs ·ÖÇøÀàÐÍ ÎļþϵͳÀàÐÍ Æðʼµã ÖÕÖ¹µã ´´½¨Ò»¸ö´øÓÐÎļþϵͳµÄ·ÖÇø" #: parted/parted.c:2427 msgid "move" msgstr "move" #: parted/parted.c:2430 #, fuzzy msgid "move NUMBER START END move partition NUMBER" msgstr "move MINOR Æðʼµã ÖÕÖ¹µã ÒÆ¶¯±àºÅΪ MINOR µÄ·ÖÇø" #: parted/parted.c:2435 msgid "name" msgstr "name" #: parted/parted.c:2438 #, fuzzy msgid "name NUMBER NAME name partition NUMBER as NAME" msgstr "name MINOR Ãû³Æ ½«±àºÅΪ MINOR µÄ·ÖÇøÃüÃûΪ¡°Ãû³Æ¡±" #: parted/parted.c:2443 msgid "print" msgstr "print" #: parted/parted.c:2446 msgid "" "print [devices|free|list,all|NUMBER] display the partition table, " "available devices, free space, all found partitions, or a particular " "partition" msgstr "" #: parted/parted.c:2451 #, fuzzy msgid "" "Without arguments, 'print' displays the entire partition table. However with " "the following arguments it performs various other actions.\n" msgstr "" "²»´ø²ÎÊý£¬print ÏÔʾÕû¸ö·ÖÇø±í¡£\n" "Èç¹û¸ø³öÁË·ÖÇø±í£¬¾ÍÏÔʾ¸ü¶à\n" "¹ØÓÚ·ÖÇøµÄÏêϸÐÅÏ¢¡£\n" #: parted/parted.c:2453 msgid " devices : display all active block devices\n" msgstr "" #: parted/parted.c:2454 msgid "" " free : display information about free unpartitioned space on the " "current block device\n" msgstr "" #: parted/parted.c:2456 msgid "" " list, all : display the partition tables of all active block devices\n" msgstr "" #: parted/parted.c:2457 msgid "" " NUMBER : display more detailed information about this particular " "partition\n" msgstr "" #: parted/parted.c:2462 msgid "quit" msgstr "quit" #: parted/parted.c:2465 #, fuzzy msgid "quit exit program" msgstr "quit Í˳ö³ÌÐò" #: parted/parted.c:2470 msgid "rescue" msgstr "rescue" #: parted/parted.c:2473 #, fuzzy msgid "" "rescue START END rescue a lost partition near START " "and END" msgstr "" "rescue Æðʼµã ÖÕÖ¹µã Íì¾ÈÁÙ½ü¡°Æðʼµã¡±¡¢¡°ÖÕÖ¹µã¡±µÄÒÅʧµÄ·ÖÇø" #: parted/parted.c:2479 msgid "resize" msgstr "resize" #: parted/parted.c:2482 #, fuzzy msgid "" "resize NUMBER START END resize partition NUMBER and its " "file system" msgstr "" "rescue Æðʼµã ÖÕÖ¹µã Íì¾ÈÁÙ½ü¡°Æðʼµã¡±¡¢¡°ÖÕÖ¹µã¡±µÄÒÅʧµÄ·ÖÇø" #: parted/parted.c:2490 msgid "rm" msgstr "rm" #: parted/parted.c:2493 #, fuzzy msgid "rm NUMBER delete partition NUMBER" msgstr "rm MINOR ɾ³ý±àºÅΪ MINOR µÄ·ÖÇø" #: parted/parted.c:2498 msgid "select" msgstr "select" #: parted/parted.c:2501 #, fuzzy msgid "select DEVICE choose the device to edit" msgstr "select É豸 Ñ¡ÔñÒª±à¼­µÄÉ豸" #: parted/parted.c:2506 msgid "set" msgstr "set" #: parted/parted.c:2509 #, fuzzy msgid "" "set NUMBER FLAG STATE change the FLAG on partition NUMBER" msgstr "set MINOR ±êÖ¾ ״̬ ¸Ä±ä±àºÅΪ MINOR µÄ·ÖÇøµÄ±êÖ¾" #: parted/parted.c:2515 msgid "toggle" msgstr "" #: parted/parted.c:2518 msgid "" "toggle [NUMBER [FLAG]] toggle the state of FLAG on " "partition NUMBER" msgstr "" #: parted/parted.c:2524 #, fuzzy msgid "unit" msgstr "quit" #: parted/parted.c:2527 #, fuzzy msgid "unit UNIT set the default unit to UNIT" msgstr "quit Í˳ö³ÌÐò" #: parted/parted.c:2532 msgid "version" msgstr "" #: parted/parted.c:2535 msgid "" "version display the version number and " "copyright information of GNU Parted" msgstr "" #: parted/parted.c:2539 msgid "" "'version' displays copyright and version information corresponding to this " "copy of GNU Parted\n" msgstr "" #: parted/parted.c:2607 #, c-format msgid "Usage: %s [-hlmsv] [-a] [DEVICE [COMMAND [PARAMETERS]]...]\n" msgstr "" #: parted/parted.c:2651 msgid "No device found" msgstr "ûÓÐÕÒµ½É豸" #: parted/parted.c:2688 msgid "WARNING: You are not superuser. Watch out for permissions." msgstr "" #: parted/parted.c:2726 #, fuzzy msgid "You may need to update /etc/fstab.\n" msgstr "Èç¹û±ØÒª£¬²»ÒªÍü¼Ç¸üР/etc/fstab¡£\n" #: parted/ui.c:162 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n" msgstr "" #: parted/ui.c:165 #, fuzzy msgid "" "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n" "Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run " "in\n" "interactive mode.\n" msgstr "" "Ó÷¨£ºparted [Ñ¡Ïî]... [É豸 [ÃüÁî [²ÎÊý]...]...]\n" "½«´øÓС°²ÎÊý¡±µÄÃüÁîÓ¦ÓÃÓÚ¡°É豸¡±¡£Èç¹ûûÓиø³ö¡°ÃüÁ£¬ÔòÒÔ½»»¥Ä£Ê½ÔË" "ÐС£\n" #: parted/ui.c:170 #, c-format msgid "" "\n" "\n" "You found a bug in GNU Parted! Here's what you have to do:\n" "\n" "Don't panic! The bug has most likely not affected any of your data.\n" "Help us to fix this bug by doing the following:\n" "\n" "Check whether the bug has already been fixed by checking\n" "the last version of GNU Parted that you can find at:\n" "\n" "\thttp://ftp.gnu.org/gnu/parted/\n" "\n" "Please check this version prior to bug reporting.\n" "\n" "If this has not been fixed yet or if you don't know how to check,\n" "please visit the GNU Parted website:\n" "\n" "\thttp://www.gnu.org/software/parted\n" "\n" "for further information.\n" "\n" "Your report should contain the version of this release (%s)\n" "along with the error message below, the output of\n" "\n" "\tparted DEVICE unit co print unit s print\n" "\n" "and the following history of commands you entered.\n" "Also include any additional information about your setup you\n" "consider important.\n" msgstr "" #: parted/ui.c:291 msgid "" "\n" "Command History:\n" msgstr "" #: parted/ui.c:354 msgid "" "\n" "Error: SEGV_MAPERR (Address not mapped to object)\n" msgstr "" #: parted/ui.c:360 msgid "" "\n" "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n" msgstr "" #: parted/ui.c:365 msgid "" "\n" "Error: A general SIGSEGV signal was encountered.\n" msgstr "" #: parted/ui.c:389 msgid "" "\n" "Error: FPE_INTDIV (Integer: divide by zero)" msgstr "" #: parted/ui.c:394 msgid "" "\n" "Error: FPE_INTOVF (Integer: overflow)" msgstr "" #: parted/ui.c:399 msgid "" "\n" "Error: FPE_FLTDIV (Float: divide by zero)" msgstr "" #: parted/ui.c:404 msgid "" "\n" "Error: FPE_FLTOVF (Float: overflow)" msgstr "" #: parted/ui.c:409 msgid "" "\n" "Error: FPE_FLTUND (Float: underflow)" msgstr "" #: parted/ui.c:414 msgid "" "\n" "Error: FPE_FLTRES (Float: inexact result)" msgstr "" #: parted/ui.c:419 msgid "" "\n" "Error: FPE_FLTINV (Float: invalid operation)" msgstr "" #: parted/ui.c:424 msgid "" "\n" "Error: FPE_FLTSUB (Float: subscript out of range)" msgstr "" #: parted/ui.c:429 msgid "" "\n" "Error: A general SIGFPE signal was encountered." msgstr "" #: parted/ui.c:453 msgid "" "\n" "Error: ILL_ILLOPC (Illegal Opcode)" msgstr "" #: parted/ui.c:458 msgid "" "\n" "Error: ILL_ILLOPN (Illegal Operand)" msgstr "" #: parted/ui.c:463 msgid "" "\n" "Error: ILL_ILLADR (Illegal addressing mode)" msgstr "" #: parted/ui.c:468 msgid "" "\n" "Error: ILL_ILLTRP (Illegal Trap)" msgstr "" #: parted/ui.c:473 msgid "" "\n" "Error: ILL_PRVOPC (Privileged Opcode)" msgstr "" #: parted/ui.c:478 msgid "" "\n" "Error: ILL_PRVREG (Privileged Register)" msgstr "" #: parted/ui.c:483 msgid "" "\n" "Error: ILL_COPROC (Coprocessor Error)" msgstr "" #: parted/ui.c:488 msgid "" "\n" "Error: ILL_BADSTK (Internal Stack Error)" msgstr "" #: parted/ui.c:493 msgid "" "\n" "Error: A general SIGILL signal was encountered." msgstr "" #: parted/ui.c:892 #, fuzzy, c-format msgid "invalid token: %s" msgstr "ÎÞ·¨´ò¿ª %s¡£" #: parted/ui.c:1048 msgid "Expecting a partition number." msgstr "ÐèÒª·ÖÇø±àºÅ¡£" #: parted/ui.c:1057 msgid "Partition doesn't exist." msgstr "·ÖÇø²»´æÔÚ¡£" #: parted/ui.c:1077 msgid "Expecting a file system type." msgstr "ÐèÒªÎļþϵͳÀàÐÍ¡£" #: parted/ui.c:1084 #, c-format msgid "Unknown file system type \"%s\"." msgstr "δ֪µÄÎļþϵͳÀàÐÍ¡°%s¡±¡£" #: parted/ui.c:1104 msgid "Expecting a disk label type." msgstr "ÐèÒª´ÅÅ̱êÇ©ÀàÐÍ¡£" #: parted/ui.c:1202 msgid "Can't create any more partitions." msgstr "ÎÞ·¨´´½¨¸ü¶à·ÖÇø¡£" #: parted/ui.c:1212 msgid "Expecting a partition type." msgstr "ÐèÒª·ÖÇøÀàÐÍ¡£" #: parted/ui.c:1360 msgid "on" msgstr "¿ª" #: parted/ui.c:1361 msgid "off" msgstr "¹Ø" #: parted/ui.c:1378 msgid "optimal" msgstr "" #: parted/ui.c:1379 msgid "minimal" msgstr "" #: parted/ui.c:1512 msgid "OPTIONs:" msgstr "Ñ¡Ï" #: parted/ui.c:1517 msgid "COMMANDs:" msgstr "ÃüÁ" #: parted/ui.c:1520 #, c-format msgid "" "\n" "Report bugs to %s\n" msgstr "" #: parted/ui.c:1527 #, c-format msgid "Using %s\n" msgstr "ʹÓà %s\n" #: parted/ui.c:1601 msgid "This command does not make sense in non-interactive mode.\n" msgstr "" #~ msgid "" #~ "The sector size on %s is %d bytes. Parted is known not to work properly " #~ "with drives with sector sizes other than %d bytes" #~ msgstr "" #~ "%s ÉϵÄÉÈÇø´óСΪ %d ×Ö½Ú¡£Ä¿Ç° Parted ²»ÄÜÔÚÉÈÇø´óС²»ÊÇ %d ×ֽڵĴÅÅÌÉÏ" #~ "ÕýÈ·¹¤×÷¡£" #~ msgid "Device %s has dodgey geometry." #~ msgstr "É豸 %s µÄ¼¸ºÎ½á¹¹ºÜÆæ¹Ö¡£" #~ msgid "IDE" #~ msgstr "IDE" #~ msgid "SCSI" #~ msgstr "SCSI" #~ msgid "Device %s is neither a SCSI nor IDE drive." #~ msgstr "É豸 %s ¼´²»ÊÇ SCSI ´ÅÅÌÒ²²»ÊÇ IDE ´ÅÅÌ¡£" #~ msgid "Error reading %s (%s) to determine if partition is mounted." #~ msgstr "Ϊȷ¶¨·ÖÇøÊÇ·ñ¼ÓÔØ¶ø¶ÁÈ¡ %s (%s) ʱ³ö´í¡£" #~ msgid "" #~ "Unable to determine if partitions are mounted via /proc/mounts or /etc/" #~ "mtab. Make sure you don't attempt to resize or modify mounted file " #~ "systems. (Even read-only mounted)" #~ msgstr "" #~ "ÎÞ·¨È·¶¨·ÖÇøÊÇ·ñÊÇͨ¹ý /proc/mounts »ò /etc/mtab ¼ÓÔØµÄ¡£ÇëÈ·ÈÏÄú²»»áÊÔͼ" #~ "¸Ä±äÎļþϵͳµÄ´óС»òÕßÐ޸ļÓÔØµÄÎļþϵͳ¡£(¼´Ê¹°´Ö»¶Á·½Ê½¼ÓÔØÒ²²»ÐÐ)" #~ msgid "" #~ "The partition table on %s is inconsistent. There are many reasons why " #~ "this might be the case. However, the most likely reason is that Linux " #~ "detected the BIOS geometry for %s incorrectly. GNU Parted suspects the " #~ "real geometry should be %d/%d/%d (not %d/%d/%d). You should check with " #~ "your BIOS first, as this may not be correct. You can inform Linux by " #~ "adding the parameter %s=%d,%d,%d to the command line. See the LILO or " #~ "GRUB documentation for more information. If you think Parted's suggested " #~ "geometry is correct, you may select Ignore to continue (and fix Linux " #~ "later). Otherwise, select Cancel (and fix Linux and/or the BIOS now)." #~ msgstr "" #~ "%s ÉϵķÖÇø²»Ð­µ÷¡£²úÉúÕâÖÖÇé¿öµÄÔ­ÒòºÜ¶à¡£È»¶ø£¬×î¿ÉÄܵÄÔ­ÒòÊÇ Linux ¼ì²â" #~ "µ½µÄ BIOS ¹ØÓÚ %s µÄ¼¸ºÎ½á¹¹ÊÇ´íÎóµÄ¡£GNU Parted »³ÒÉʵ¼ÊµÄ¼¸ºÎ½á¹¹Îª %d/" #~ "%d/%d (¶ø²»ÊÇ %d/%d/%d)¡£ÒòΪ BIOS ¿ÉÄܲ»ÕýÈ·£¬ÄúÓ¦¸ÃÊ×Ïȼì²éÄúµÄ BIOS¡£Äú" #~ "¿ÉÒÔͨ¹ýÔÚÃüÁîÐÐÖÐÌí¼Ó²ÎÊý %s=%d,%d,%d À´Í¨Öª Linux¡£ÏêÇéÇë²Î¼û LILO »ò " #~ "GRUB µÄÎĵµ¡£Èç¹ûÄúÈÏΪ Parted Ëù½¨ÒéµÄ¼¸ºÎ½á¹¹ÊÇÕýÈ·µÄ£¬Äú¿ÉÒÔºöÂÔ²¢¼ÌÐø " #~ "(²¢ÔÚÒÔºóÐÞÕý Linux)¡£·ñÔò£¬Ñ¡Ôñ·ÅÆú (²¢ÂíÉÏÐÞÕý Linux ²¢ÇÒ/»òÕß BIOS)¡£" #~ msgid "" #~ "The partition table on %s is inconsistent. There are many reasons why " #~ "this might be the case. Often, the reason is that Linux detected the " #~ "BIOS geometry incorrectly. However, this does not appear to be the case " #~ "here. It is safe to ignore,but ignoring may cause (fixable) problems " #~ "with some boot loaders, and may cause problems with FAT file systems. " #~ "Using LBA is recommended." #~ msgstr "" #~ "%s ÉϵķÖÇø±í²»Ð­µ÷¡£¿ÉÄܵ¼ÖÂÕâÖÖÇé¿öµÄÔ­ÒòÓкܶࡣͨ³££¬Ô­ÒòÊÇ Linux ¼ì²â" #~ "µ½µÄ BIOS ¼¸ºÎ½á¹¹ÊÇ´íÎóµÄ¡£È»¶ø£¬ÏÖÔÚËÆºõ²¢²»ÊÇÕâÖÖÇé¿ö¡£ºöÂÔÊǰ²È«µÄ£¬µ«" #~ "ÊǺöÂÔ¿ÉÄܵ¼ÖÂijЩÆô¶¯¹ÜÀíÆ÷µÄÎÊÌâ (¿ÉÐÞ¸´µÄ)£¬»¹¿ÉÄܵ¼Ö FAT Îļþϵͳ³öÏÖ" #~ "ÎÊÌâ¡£½¨ÒéʹÓà LBA¡£" #~ msgid "" #~ "Unable to align partition properly. This probably means that another " #~ "partitioning tool generated an incorrect partition table, because it " #~ "didn't have the correct BIOS geometry. It is safe to ignore,but ignoring " #~ "may cause (fixable) problems with some boot loaders." #~ msgstr "" #~ "ÎÞ·¨ÕýÈ·µØ¶ÔÆë·ÖÇø¡£Õâ¿ÉÄÜÒâζ×ÅÆäËü·ÖÇø¹¤¾ßÓÉÓÚûÓеõ½ÕýÈ·µÄ BIOS ¼¸ºÎ½á" #~ "¹¹¶øÉú³ÉÁË´íÎóµÄ·ÖÇø±í¡£ºöÂÔÊǰ²È«µÄ£¬µ«ºöÂÔ¿ÉÄܵ¼ÖÂijЩÆô¶¯¹ÜÀíÆ÷³öÏÖ¿ÉÐÞ" #~ "¸´µÄÎÊÌâ¡£" #~ msgid "Attempt to read sectors %ld-%ld outside of partition on %s" #~ msgstr "ÊÔͼ¶ÁÈ¡ %3$s ÉÏ·ÖÇøÖ®ÍâµÄÉÈÇø %1$ld-%2$ld" #~ msgid "" #~ "This ext2 filesystem has a rather strange layout! Parted can't resize " #~ "this (yet)." #~ msgstr "¸Ã ext2 ÎļþϵͳµÄ²¼¾ÖÏàµ±Ææ¹Ö£¡Parted ÉÐÇÒÎÞ·¨¸Ä±äËüµÄ´óС¡£" #~ msgid "Filesystem has incompatible feature enabled" #~ msgstr "ÎļþϵͳÆôÓÃÁ˲»¼æÈݵŦÄÜ" #~ msgid "File system has an invalid signature for a FAT file systems." #~ msgstr "Îļþϵͳº¬ÓÐÎÞЧµÄ FAT ÎļþϵͳǩÃû¡£" #~ msgid "where necessary, prompts for user intervention" #~ msgstr "ÔÚ±ØÒªÊ±£¬ÌáʾÓû§" #~ msgid "" #~ "Partition %s is being used. Modifying it while it is in use could cause " #~ "severe corruption." #~ msgstr "ÕýÔÚʹÓ÷ÖÇø %s¡£ÔÚʹÓÃʱÐÞ¸ÄËû½«µ¼ÖÂÑÏÖØµÄÆÆ»µ¡£" #~ msgid "" #~ "You requested to move the partition to %.3f-%.3fMb. The closest Parted " #~ "can manage is %.3f-%.3fMb." #~ msgstr "" #~ "ÄúÇëÇ󽫷ÖÇøÒÆ¶¯µ½ %.3f - %.3fMb¡£¿É¹ÜÀí×îÌù½üµÄ·ÖÇøÎª %.3f - %.3fMB¡£" #~ msgid "Disk geometry for %s: 0.000-%.3f megabytes\n" #~ msgstr "%s µÄ´ÅÅ̼¸ºÎ½á¹¹£º0.000-%.3f Õ××Ö½Ú\n" #~ msgid "Disk label type: %s\n" #~ msgstr "´ÅÅ̱êÇ©ÀàÐÍ£º%s\n" #~ msgid "Minor Start End " #~ msgstr "Minor Æðʼµã ÖÕÖ¹µã " #~ msgid "Type " #~ msgstr "ÀàÐÍ " #~ msgid "Filesystem " #~ msgstr "Îļþϵͳ " #~ msgid "Name " #~ msgstr "Ãû³Æ " #~ msgid "" #~ "You requested to resize the partition to %.3f-%.3fMb. The closest Parted " #~ "can manage is %.3f-%.3fMb." #~ msgstr "" #~ "ÄúÒªÇ󽫷ÖÇø¸Ä±ä´óС²¢±£´æµ½ %.3f - %.3fMb¡£¿É¹ÜÀí×î½Ó½üµÄ·ÖÇøÎª %.3f - " #~ "%.3fMb¡£" #~ msgid "" #~ "print [MINOR] display the partition table, or a partition" #~ msgstr "print [MINOR] ´òÓ¡·ÖÇø±í£¬»òÕß·ÖÇø" #~ msgid "resize MINOR START END resize filesystem on partition MINOR" #~ msgstr "" #~ "resize MINOR Æðʼµã ÖÕÖ¹µã ¸Ä±äλÓÚ±àºÅΪ MINOR µÄ·ÖÇøÖÐÎļþϵͳµÄ´óС" #~ msgid "" #~ "You found a bug in GNU Parted. Please email a bug report to bug-" #~ "parted@gnu.org containing the version (%s), and the following message:\n" #~ msgstr "" #~ "ÄúÕÒµ½ÁË GNU Parted µÄ bug¡£Ç뽫º¬Óа汾 (%s) ºÍÒÔÏÂÐÅÏ¢µÄ bug ±¨¸æ·¢Ë͵½ " #~ "bug-parted@gnu.org£º\n" #~ msgid "" #~ " You have Windows FAT partition(s) that are not using LBA. If your BIOS " #~ "supports LBA, then you should switch to LBA by setting the LBA flag on " #~ "all FAT partitions. Otherwise, make sure the operating system and the " #~ "BIOS have the same geometry before resizing any FAT partitions." #~ msgstr "" #~ "ÄúʹÓÃÁ˲»Ê¹Óà LBA µÄ Windows FAT ·ÖÇø¡£Èç¹ûÄúµÄ BIOS Ö§³Ö LBA£¬ÄÇôÄúÓ¦¸Ã" #~ "ͨ¹ýÔÚËùÓÐ FAT ·ÖÇøÉÏÉèÖà LBA ±êÖ¾ÒÔÇл»µ½ LBA ģʽ¡£·ñÔò£¬ÔڸıäÈκΠFAT " #~ "·ÖÇø´óСµÄʱºòÈ·ÈϲÙ×÷ϵͳºÍ BIOS ʹÓÃÏàͬµÄ¼¸ºÎ½á¹¹¡£" #~ msgid "" #~ "The operating system thinks the geometry on %s is %d/%d/%d. Therefore, " #~ "cylinder 1024 ends at %.3fM.%s" #~ msgstr "" #~ "²Ù×÷ϵͳÈÏΪ %s µÄ¼¸ºÎ½á¹¹Îª %d/%d/%d¡£Òò´Ë£¬ÖùÃæ 1024 ½áÊøÓÚ %.3fM.%s" #~ msgid "The operating system thinks the geometry on %s is %d/%d/%d.%s" #~ msgstr "²Ù×÷ϵͳÈÏΪ %s µÄ¼¸ºÎ½á¹¹ %d/%d/%d.%s" parted-2.3/po/sk.gmo0000644000000000000000000023445311400005706011267 00000000000000Þ•])ì%2;‘2Í50à5062B6*u6- 6$Î6*ó627%Q7,w7&¤7)Ë7&õ7,8#I8$m8!’8&´8(Û8<93A9!u9Ê—9b:y:0Ž:,¿:5ì:P";/s;]£;G<&I<p<< ”<+Ÿ<+Ë<÷<#=#:=^=0|=0­=Þ=0ý=(.>(W>€>  >'Á>%é>)?9?'Y?`?2â@<ARAgA…A¤A7ºAòA0B(7B%`B†B£BÀB,ÜB C,'C-TC ‚C(£CÌCèCD(DŽ*D^¹DEWE*tEŸF]¼FÕGðGH+HBDHF‡H!ÎH0ðH<!ID^I!£IPÅI]JHtJ½JÝJ$ûJD KeK"{K-žK‡ÌKTL XLLbL>¯LîL! M)-M!WMGyM(ÁM<êM@'N2hN"›NB¾N?O!AO2cO–O0O]ÎO=,PDjPI¯PùPZ QogQ"×R*úR%SVCSQšS4ìS5!T(WT€TŸT¾TÝTüTU5U)UU-U$­UÒU<ñU=.VlVŒV¬VÌVìV W4'W\W8yW'²W7ÚWX')XQX8mX8¦XßXëýX#éY Z/(Z X[ e[p[[ƒ[ˆ[Ž[­[ØË[&¤\Ë\(à\B ]$L]q]Ž]¬]Ê]:æ]\!^=~^?¼^>ü^;_L_&`_‡_ _™_ ª_¶¶_m`´`>4a*saLža=ëa;)b/eb<•b+ÒbHþb*Gcrc’c>¤cãccdgdwd }dHˆd ÑdKÜd0(e}Yec×e?;f {f‡f£f²fÆfÛßfI»gGiUMi£iªi-Êiøi k k"k9kVkrk9ŠkÄk4Ôk4 l>l$]l‚l”l)¯lKÙl>%mldm:ÑmD nmQn¿nÖnïnþno(o 7oBoRo”mop pp (p3p6pHpXpap€pœp8¶pïp¢ q°qÈqÏqÒq+Ûq/r/7rgr0vr§r·r?ÌrT s.as)s.ºsNésQ8tŠtŸt)¸tâtòt-u2u"Bu#eu‰u¡uC¼uv$vz<RzDzXÔz>-{l{‚ˆ{í |Rù|ÖL}<#~H`~<©~æ~‚hFë/2€^b€pÁ€o2c¢`‚hg‚HЂHƒ bƒÙƒƒ*]„?ˆ„0È„0ù„ˆ*†š³†N‡,Їý‡ˆ7;ˆ¨sˆ¶Š@ÓŠ@‹RU‹g¨‹EŒgVŒ/¾ŒtîŒ7cp›; ŽEHŽ<ŽŽFËŽ:ƒMfÑ;8UtÊÞú‘&*‘Q‘0Ó‘1’ˆ6’1¿’2ñ’$“)“(:“(c“&Œ“t³“&(”(O”Ax”º”Í”3䔕•&•=•\•x••Ÿ•±• Õ3Е3–/8–h–€–$––B»–*þ–)— I—ê— þ—˜#˜#A˜e˜y˜;“˜ŠϘZšHbš+«š?ךˆ› ›½›;Ô›3œ/Dœ+tœ' œ#Èœìœ (8Q#UbyZÜ~7žP¶ž?ŸGŸMŸSŸ UŸ cŸWoŸÇŸäŸüŸ  ! + 0 M6 „  ¥ ­ N° ÿ ¡%¡!A¡c¡x¡“¡ °¡º¡Yá)¢.G¢.v¢¥¢ª¢¾¢O⣠£%£@£[£${£ £ ²£À£+Ä£ð£ø£ü£ ¤¤¤W#¤{¤Qƒ¤Õ¤9ܤ¥L¥l¥t¥>y¥¸¥À¥FÅ¥# ¦0¦4¦ 7¦B¦[¦c¦…h¦Uî¦)D§n§s§*{§¦§”¬§A¨5F¨|¨¨ “¨ž¨¹¨SÀ¨©T©p©@s©´©¹© Ô©ß©ø©Bÿ©BªLFª “ªª³ªQÒª$«)«U0«†«˜«««E°«ö«kþ« j¬"v¬™¬´¬Ϭaè¬<J®‡±/ž±/α1þ±60²<g²4¤²<Ù²B³4Y³1޳/À³1ð³&"´0I´%z´& ´)Ç´*ñ´,µ@Iµ7е#Âµãæµʶà¶2ö¶8)·<b·OŸ·<ï·q,¸Už¸(ô¸%¹C¹ J¹3U¹6‰¹)À¹7ê¹5"º%Xº;~º=ºº"øº4».P»*»5ª»9à»A¼3\¼0¼*Á¼0ì¼Z½3x¾B¬¾ï¾)¿*-¿X¿:m¿¨¿9Å¿%ÿ¿+%ÀQÀ'qÀ™À+µÀ'áÀ+ Á,5Á*bÁ$Á ²Á$ÓÁ$øÁÂŒ!Â[®Â ÃQ Ã,_Ã'ŒÄc´ÄðÅ ÆÆ0,ÆD]ÆI¢ÆìÆ/Ç28ÇIkÇ&µÇ_ÜÇ{<ÈW¸È*É);É2eÉJ˜É%ãÉ Ê''ÊŠOÊÚÊ àÊRêÊE=Ë"ƒË0¦Ë3×Ë* Ì?6Ì!vÌ=˜Ì9ÖÌ?Í.PÍGÍJÇÍ/ÎBBÎ…ÎFŽÎUÕÎO+ÏU{ÏHÑÏÐt-ÐZ¢Ð*ýÑ>(Ò+gÒ_“ÒbóÒ2VÓ3‰Ó-½Ó*ëÓ*Ô*AÔ*lÔ)—Ô,ÁÔ)îÔ5Õ5NÕ+„Õ+°ÕRÜÕS/Ö(ƒÖ(¬Ö(ÕÖ(þÖ''×*O×Az×-¼×Rê×0=ØNnؽØ.ÐØÿØ=Ù=YÙ—Ùý²Ù1°Ú âÚdÛ hÜ uÜܓܚܢÜ!¨Ü"ÊÜùíÜ0çÝÞ,4ÞCaÞ1¥Þ×Þ#÷Þß9ßFSßišßIàSNàS¢àöàá+"áNá]álá‚áΕádâÑâISã0ãWÎãI&ä<pä8­ädæä8KåF„åOËå)æEæG`æ—¨æ@ç"Gç jçvçT‡çÜçYëç3Eè{yèqõèLgé´é"Äé çéòé êï"ê\ë^oì^Îì -í$8í1]íûí ‹î—î§îÀîßîøîG ïUï8hï8¡ï"Úï,ýï*ðGð*cðPŽðEßðh%ñ3ŽñPÂñoòƒòò¼òÓòóò ó #ó0ó@ó–^óõóüóô 'ô3ô7ô#Iô mô*wô3¢ô"Öô9ùô'3õÇ[õ#ö@öHöKö4Sö5ˆö5¾öôö3÷<÷P÷Qi÷j»÷*&ø#Qø/uøS¥ø[ùøUùlù3€ù´ùÄù;Õù úú'=úeú%úO§ú÷ú û*û¡0ûÒû3ìû ü*ü>>üJ}üKÈüDýHYý¢ý¸ý Óý Ýý èýóýPþL`þQ­þOÿþROÿN¢ÿBñÿT4T‰`Þ@?&€Чñ2l$â‘5tPª0û†,[³?.Oo~fîeUk»u'‹S) S} "Ñ ô Cú => M| Ê ‘Ü ©n ‡, $Í"ò1ÿGÎG<0Sg„qìT^n³2"|U3ÒŠG‘NÙH(Oq3ÁŠõr€;ó[/‹#«$Ïô:€>@¿A–B=Ù>VZ4p5¥(Ûty'™RÁ)+.U „Ž—(µÞý3NiL|MÉC[x#‘Nµ5 ': ¶b !-!>!#U!#y!!¸!G×!æ" $S$"f$J‰$~Ô$S%j%8}%.¶%*å%&&"7&Z&y&”& «&"¹&Ü&0á&s'Q†'’Ø'ƒk(oï(_) e)q)u)‡)\›)ø)*",*O* W* a*m*Zs* Î*Ü* ó*+Z+ ^+j+2}+&°+×+!ç+" ,,, ;,jH,0³,Bä,B'-j- r-“-g˜-. . .4.+Q.+}.©. ½.Ë.CÏ.// / 7/ A/L/_Q/±/Y¹/0=0X0Qa0³0»0FÀ011G1&\1ƒ1‡1‹1 œ1 ½1È1Í1bO2/²2â2 ç23ñ2%3Ÿ+3Ë3:Ð3 44,4<4\4fc4Ê4iÑ4;5B>5 5Œ5§5$·5Ü5Uã596J=6 ˆ6“6"¬6iÏ6 97D7QK77·7Ñ7SÖ7*8h28 ›8&©8"Ð8ó89‡ûÁŒ-­0#”I0|Ñp$LHZVÆw/%@þâSü%5°ñµa;½®³õ#Ö„]c¸eì2÷ù\¸ôÝ)7QöG@êf ‡h*àþÇi¹&ËfÛúW1¾B¡ Ø+JkTÚåª âóœÒ_ÜJÎ!»œ8ëÅÍ?u€ZŸºÆh÷ÇLÊ¿Ì'F²¢OU·_ÈúÈ3¹°~‘s¼rçM9Õ}™ò “6t jÅ¿ѯq Õ)¤NKbÿÞKóRíÜÏ Ã7†‘yD Ð(8®ðÒÞª åèz;wà ¤iñû4s6@g—UvC\…SHø˜ù.¬xÓCWÿÖ ÏSç?ž¢¾2¦©<ü±>Ðîîï<y^X A(æ"ƒ¦Â‰\ˆU’»ŸJnp¡A/=ŒŽmr*Š–o¯lMæÔD}‹ìQ§"í «×¥ ¬dFÁXÔ‰|-Rm&e[Ëß‚2•´ó“º=g1ò†9,õÍÄ&¶Q+µOÙMv=£á$’o^šöYxƒ> ”!kß.`é‹ÓVÚé£!{4ô´WHK[è¨a"ð6¨4˜BÀÊq±3NGä`„>G«tÀ3·]j²u?ê×/¼[­,XLT%ÝÉ8 —ýŽ• ý›]+EØäcž:b$5›á~CÌ ˆã1Bë-ŠY<…5#An:REPøÂl',Fš0ÛïÎZ§{€™‚½©;–TzÙ :Ä9(PPÉOV.ã I¥)¶EI7'd*YND You found a bug in GNU Parted! Here's what you have to do: Don't panic! The bug has most likely not affected any of your data. Help us to fix this bug by doing the following: Check whether the bug has already been fixed by checking the last version of GNU Parted that you can find at: http://ftp.gnu.org/gnu/parted/ Please check this version prior to bug reporting. If this has not been fixed yet or if you don't know how to check, please visit the GNU Parted website: http://www.gnu.org/software/parted for further information. Your report should contain the version of this release (%s) along with the error message below, the output of parted DEVICE unit co print unit s print and the following history of commands you entered. Also include any additional information about your setup you consider important. Command History: Error: A general SIGFPE signal was encountered. Error: A general SIGILL signal was encountered. Error: A general SIGSEGV signal was encountered. Error: FPE_FLTDIV (Float: divide by zero) Error: FPE_FLTINV (Float: invalid operation) Error: FPE_FLTOVF (Float: overflow) Error: FPE_FLTRES (Float: inexact result) Error: FPE_FLTSUB (Float: subscript out of range) Error: FPE_FLTUND (Float: underflow) Error: FPE_INTDIV (Integer: divide by zero) Error: FPE_INTOVF (Integer: overflow) Error: ILL_BADSTK (Internal Stack Error) Error: ILL_COPROC (Coprocessor Error) Error: ILL_ILLADR (Illegal addressing mode) Error: ILL_ILLOPC (Illegal Opcode) Error: ILL_ILLOPN (Illegal Operand) Error: ILL_ILLTRP (Illegal Trap) Error: ILL_PRVOPC (Privileged Opcode) Error: ILL_PRVREG (Privileged Register) Error: SEGV_ACCERR (Invalid permissions for mapped object) Error: SEGV_MAPERR (Address not mapped to object) Is this still acceptable to you? License GPLv3+: GNU GPL version 3 or later . This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Report bugs to <%s>. Report bugs to: %s When no DEVICE is given, probe all partitions. --help display this help and exit --version output version information and exit NUMBER : display more detailed information about this particular partition devices : display all active block devices free : display information about free unpartitioned space on the current block device list, all : display the partition tables of all active block devices "%s" has invalid syntax for locations.%0.f%% (time left %.2d:%.2d)%s %s%s %s %s%s : Bad checksum on block %llu of type %s %s : Bad checksum on block %llu of type %s.%s : Couldn't read block %llu %s : Couldn't read boot block %llu %s : Couldn't read root block %llu %s : Couldn't write block %d %s : Didn't find rdb block, should never happen %s : Didn't find rdb block, should never happen.%s : Failed to allocate block %s : Failed to allocate disk_specific rdb block %s : Failed to allocate id list element %s : Failed to allocate partition block %s : Failed to list bad blocks.%s : Failed to list boot blocks.%s : Failed to list file system blocks.%s : Failed to list partition blocks.%s : Failed to read partition block %llu %s : Loop detected at block %d.%s : The %s list seems bad at block %s.%s contains GPT signatures, indicating that it has a GPT table. However, it does not have a valid fake msdos partition table, as it should. Perhaps it was corrupted -- possibly by a program that doesn't understand GPT partition tables. Or perhaps you deleted the GPT table, and are now using an msdos partition table. Is this a GPT partition table?%s disk labels do not support extended partitions.%s disk labels don't support logical or extended partitions.%s during read on %s%s during seek for read on %s%s during seek for write on %s%s during write on %s%s has no extended partition (volume header partition).%s home page: <%s> %s home page: %s is %dk, but it has %d clusters (%dk).%s is too small for a Mac disk label!%s trying to sync %s to disk%s%s argument `%s' too large%s: invalid option -- '%c' %s: option '%c%s' doesn't allow an argument %s: option '%s' is ambiguous %s: option '--%s' doesn't allow an argument %s: option '-W %s' doesn't allow an argument %s: option '-W %s' is ambiguous %s: option requires an argument -- '%c' %s: unrecognised disk label%s: unrecognized option '%c%s' %s: unrecognized option '--%s' ''mkpart' makes a partition without creating a new file system on the partition. FS-TYPE may be specified to set an appropriate partition ID. 'version' displays copyright and version information corresponding to this copy of GNU Parted (C)A %s %s partition was found at %s -> %s. Do you want to add it to the partition table?A bug has been detected in GNU Parted. Refer to the web site of parted http://www.gnu.org/software/parted/parted.html for more information of what could be useful for bug submitting! Please email a bug report to bug-parted@gnu.org containing at least the version (%s) and the following message: A data set name is corruptedA reference to an extent comes from a place it should not. You should check the file system!A resize operation on this file system will use EXPERIMENTAL code that MAY CORRUPT it (although no one has reported any such damage yet). You should at least backup your data first, and run 'e2fsck -f' afterwards.API version mismatchATARAID ControllerAn error occurred during extent relocation.An error occurred while looking for the mandatory bad blocks file.An extended partition cannot hold a file system. Did you want mkpart?An extent has not been relocated.Assertion (%s) at %s:%d in function %s() failed.Attempt to write sectors %ld-%ld outside of partition on %s.BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s. Backtrace has %d calls on stack: Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or scandisk.Bad FAT: cluster %d outside file system in chain for %s. You should run dosfsck or scandisk.Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk.Bad block list header checksum.Bad blocks could not be read.Bad blocks list could not be loaded.Bad directory entry for %s: first cluster is the end of file marker.Bad journal checksum.Block %i has no reference? Weird.Block %i shouldn't have been marked (%d, %d)!Both the primary and backup GPT tables are corrupt. Try making a fresh table, and using Parted's rescue feature to recover partitions.BugCOMMANDs:Can't add a logical partition to %s, because there is no extended partition.Can't add another partition -- the partition map is too small!Can't add another partition.Can't copy an extended partition.Can't copy onto an overlapping partition.Can't create any more partitions.Can't have a logical partition outside of the extended partition on %s.Can't have a partition outside the disk!Can't have a primary partition inside an extended partition.Can't have logical partitions outside of the extended partition.Can't have more than one extended partition on %s.Can't have overlapping partitions.Can't have the end before the start! (start sector=%jd length=%jd)Can't move a partition onto itself. Try using resize, perhaps?Can't move an extended partition.Can't write to %s, because it is opened read-only.CancelCannot get unit size for special unit 'COMPACT'.Changing the name of a root or swap partition will prevent Linux from recognising it as such.Checksum is wrong, indicating the partition table is corrupt.Clear unused space on a FAT partition (a GNU Parted testing tool). Cluster start delta = %d, which is not a multiple of the cluster size %d.Compaq Smart ArrayConflicting partition map entry sizes! Entry 1 says it is %d, but entry %d says it is %d!Copyright (C) 1998 - 2006 Free Software Foundation, Inc. This program is free software, covered by the GNU General Public License. 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. Corrupted Sun disk label detected.Could not cache the file system in memory.Could not detect file system.Could not determine physical sector size for %s. Using the logical sector size (%lld).Could not determine sector size for %s: %s. Using the default sector size (%lld).Could not find sector %lli of HFS file with CNID %X.Could not find sector %lli of HFS+ file with CNID %X.Could not get identity of device %s - %sCould not read VTOC FMT1 DSCB.Could not read VTOC FMT4 DSCB.Could not read VTOC FMT5 DSCB.Could not read VTOC FMT7 DSCB.Could not read VTOC labels.Could not read volume label.Could not retrieve API version.Could not retrieve blocksize information.Could not retrieve disk geometry information.Could not retrieve disk information.Could not stat device %s - %s.Could not update the extent cache for HFS file with CNID %X.Could not update the extent cache for HFS+ file with CNID %X.Could not write VTOC FMT1 DSCB.Could not write VTOC FMT4 DSCB.Could not write VTOC FMT5 DSCB.Could not write VTOC FMT7 DSCB.Could not write VTOC labels.Could not write volume label.Couldn't create reiserfs device abstraction handler.Couldn't flush buffer cache!Couldn't reopen device abstraction layer for read/write.Couldn't resolve symbol %s. Error: %s.Cross-linked blocks found! Better go run e2fsck first!DAC960 RAID controllerDEVICE is usually /dev/hda or /dev/sda Data relocation has failed.Data relocation left some data at the end of the volume.Data relocation left some data in the end of the volume.Destination partition number?Device %s has multiple (%d) logical sectors per physical sector. GNU Parted supports this EXPERIMENTALLY for some special disk label/file system combinations, e.g. GPT and ext2/3. Please consult the web site for up-to-date information.Device is too small for %lu blocks.Device verification failedDirect support for copying file systems is not yet implemented for %s. However, support for resizing is implemented. Therefore, the file system can be copied if the new partition is at least as big as the old one. So, either shrink the partition you are trying to copy, or copy to a bigger partition.Disk %s: %s Disk ImageDisk is in useEndEnd?ErrorError allocating buffer cache.Error fsyncing/closing %s: %sError informing the kernel about modifications to partition %s -- %s. This means Linux won't know about any changes you made to %s until you reboot -- so you shouldn't mount it or use it in any way before rebooting.Error initialising SCSI device %s - %sError opening %s: %sError while writing the allocation file.Error while writing the compatibility part of the allocation file.Error writing to the root directory.Expecting a disk label type.Expecting a file system type.Expecting a partition number.Expecting a partition type.Extended partitions cannot be hidden on msdos disk labels.FAT %d media %x doesn't match the boot sector's media %x. You should probably run scandisk.FAT boot sector says clusters are 0 sectors. This is weird. FAT boot sector says logical sector size is 0. This is weird. FAT boot sector says there are no FAT tables. This is weird. FLAG is one of: FS-TYPE is one of: Failed to write partition block at %d.FatalFatal errorFile System: %s File systemFile system doesn't have expected sizes for Windows to like it. Cluster size is %dk (%dk expected); number of clusters is %d (%d expected); size of FATs is %d sectors (%d expected).File system full!File system has an incompatible feature enabled. Compatible features are has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs or debugfs to remove features.File system has an invalid cluster size for a FAT file system.File system has an invalid number of FATs.File system has an invalid number of reserved sectors for a FAT file system.File system has an invalid sector size for a FAT file system.File system has an invalid signature for a FAT file system.File system has errors! You should run e2fsck.File system has too many allocated inodes to remove a group!File system is FAT12, which is unsupported.File system is reporting the free space as %d clusters, not %d clusters.File system is too full to remove a group!File system too small for ext2.File system type?File system was not cleanly unmounted! You should run e2fsck.File system was not cleanly unmounted! You should run e2fsck. Modifying an unclean file system could cause severe corruption.FixFlag to Invert?FlagsFlags: %s Found an inode with a incorrect link count. Better go run e2fsck first!Free SpaceGNU Parted cannot resize this partition to this size. We're working on it!GNU Parted found an invalid libreiserfs library.GNU Parted has detected libreiserfs interface version mismatch. Found %d-%d, required %d. ReiserFS support will be disabled.GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT support will be disabled.General help using GNU software: Generic IDEGeneric SD/MMC Storage CardI2O ControllerIBM S390 DASD driveIBM iSeries Virtual DASDIf you convert to FAT16, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual).If you convert to FAT32, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual). Also, converting to FAT32 will make the file system unreadable by MS DOS, MS Windows 95a, and MS Windows NT.If you leave your file system as FAT16, then you will have no problems.If you leave your file system as FAT32, then you will not introduce any new problems.IgnoreInconsistent group descriptors!Incorrect magic values in the journal header.Inform the operating system about partition table changes. -d, --dry-run do not actually inform the operating system -s, --summary print a summary of contents -h, --help display this help and exit -v, --version output version information and exit InformationInvalid VTOC.Invalid back referenceInvalid character class nameInvalid collation characterInvalid content of \{\}Invalid free blocks count. Run reiserfsck --check first.Invalid number.Invalid partition table - recursive partition on %s.Invalid partition table on %s -- wrong signature %x.Invalid partition table on %s.Invalid preceding regular expressionInvalid range endInvalid regular expressionInvalid signature %x for Mac disk labels.Invalid size of a transaction block while replaying the journal (%i bytes).Invalid superblock. Are you sure this is an ext2 file system?It seems there is an error in the HFS wrapper: the bad blocks file doesn't contain the embedded HFS+ volume.Journal offset or size is not multiple of the sector size.Journal size mismatch between journal info block and journal header.Journal stored outside of the volume are not supported. Try to desactivate the journal and run Parted again.LABEL-TYPE is one of: Linux device-mapper (%s)Maximum size: Memory allocation failedMemory exhaustedMinimum size: Minor: %d Model: %s (%s) NAME is any word you want NUMBER is the partition number used by Linux. On MS-DOS disk labels, the primary partitions number from 1 to 4, logical partitions from 5 onwards. NameNew device?New disk label type?New state?NoNo ImplementationNo device foundNo matchNo previous regular expressionNo room for partition info.No room for volume label.No valid HFS[+X] signature has been found while opening.No valid partition map found.Not all of the space available to %s appears to be used, you can fix the GPT to use all of the space (an extra %llu blocks) or continue with the current setting? Not enough free inodes!NumberOKOPTIONs:Only logical partitions can be a boot file.Only primary partitions can be root partitions.Only primary partitions can be swap partitions.Out of memory.PART-TYPE is one of: primary, logical, extended Packaged by %s Packaged by %s (%s) Parted can't resize partitions managed by Windows Dynamic Disk.Parted can't use HFS file systems on disks with a sector size not equal to %d bytes.Partition %d has an invalid length of 0 bytes!Partition %d has an invalid signature %x.Partition %d is %s, but the file system is %s.Partition %d isn't aligned to cylinder boundaries. This is still unsupported.Partition %s is being used. You must unmount it before you modify it with Parted.Partition Table: %s Partition doesn't exist.Partition map has no partition map entry!Partition name?Partition number?Partition too big/small for a %s file system.Partition type?Partition(s) on %s are being used.Premature end of regular expressionPromise SX8 SATA DeviceRegular expression too bigReiserfs tree seems to be corrupted. Run reiserfsck --check first.Report %s bugs to: %s Resizing the HFS+ volume has failed.RetrySTART and END are disk locations, such as 4GB or 10%. Negative values count from the end of the disk. For example, -1s specifies exactly the last sector. STATE is one of: on, off Sector size (logical/physical): %lldB/%lldB SizeSize: Some header fields are not multiple of the sector size.Sorry, HFS cannot be resized that way yet.Sorry, HFS+ cannot be resized that way yet.Sorry, can't move the start of ext2 partitions yet!Sorry, can't move the start of reiserfs partitions yet.Source device?Source partition number?StartStart?SuccessSun disk label is full.Support for adding partitions to AIX disk labels is not implemented yet.Support for checking %s file systems is not implemented yet.Support for copying %s file systems is not implemented yet.Support for creating %s file systems is not implemented yet.Support for duplicating partitions in AIX disk labels is not implemented yet.Support for opening %s file systems is not implemented yet.Support for reading AIX disk labels is is not implemented yet.Support for resizing %s file systems is not implemented yet.Support for setting flags in AIX disk labels is not implemented yet.Support for setting system type of partitions in AIX disk labels is not implemented yet.Support for writing AIX disk labels is is not implemented yet.Syntax error in config fileThe FATs don't match. If you don't know what this means, then select cancel, run scandisk on the file system, and then come back.The Whole Disk partition is the only available one left. Generally, it is not a good idea to overwrite this partition with a real one. Solaris may not be able to boot without it, and SILO (the sparc boot loader) appreciates it as well.The backup GPT table is corrupt, but the primary appears OK, so that will be used.The backup GPT table is not at the end of the disk, as it should be. This might mean that another operating system believes the disk is smaller. Fix, by moving the backup to the end (and removing the old backup)?The boot region doesn't start at the start of the partition.The current API version '%d' doesn't match dasd driver API version '%d'!The data region doesn't start at the start of the partition.The device %s has zero length, and can't possibly store a file system or partition table. Perhaps you selected the wrong device?The disk CHS geometry (%d,%d,%d) reported by the operating system does not match the geometry stored on the disk label (%d,%d,%d).The disk has %d cylinders, which is greater than the maximum of 65536.The disk label describes a disk bigger than %s.The driver descriptor says the physical block size is %d bytes, but Linux says it is %d bytes.The existing disk label on %s will be destroyed and all data on this disk will be lost. Do you want to continue?The existing file system will be destroyed and all data on the partition will be lost. Do you want to continue?The ext2 file system passed a basic check. For a more comprehensive check, use the e2fsck program.The extents overflow file should not contain its own extents! You should check the file system.The file %s is marked as a system file. This means moving it could cause some programs to stop working.The file system can only be resized to this size by converting to FAT16.The file system can only be resized to this size by converting to FAT32.The file system contains errors.The file system has the 'dir_index' feature enabled. Parted can only resize the file system if it disables this feature. You can enable it later by running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'.The file system is bigger than its volume!The file system is in an invalid state. Perhaps it is mounted?The file system is in old (unresizeable) format.The file system's CHS geometry is (%d, %d, %d), which is invalid. The partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the file system's CHS geometry will be left unchanged. If you select Fix, the file system's CHS geometry will be set to match the partition table's CHS geometry.The format of the GPT partition table is version %x, which is newer than what Parted can recognise. Please tell us! bug-parted@gnu.orgThe information sector has the wrong signature (%x). Select cancel for now, and send in a bug report. If you're desperate, it's probably safe to ignore.The journal is not empty. Parted must replay the transactions before opening the file system. This will modify the file system.The location %s is outside of the device %s.The maximum head value is %d.The maximum sector value is %d.The partition must have one of the following FS-TYPEs: The partition table cannot be re-read. This means you need to reboot before mounting any modified partitions. You also need to reinstall your boot loader before you reboot (which may require mounting modified partitions). It is impossible do both things! So you'll need to boot off a rescue disk, and reinstall your boot loader from the rescue disk. Read section 4 of the Parted User documentation for more information.The partition table on %s cannot be re-read (%s). This means the Hurd knows nothing about any modifications you made. You should reboot your computer before doing anything with %s.The partition's boot region doesn't occupy the entire partition.The partition's data region doesn't occupy the entire partition.The primary GPT table is corrupt, but the backup appears OK, so that will be used.The reiserfs file system passed a basic check. For a more comprehensive check, run reiserfsck --check.The resulting partition is not properly aligned for best performance.The sector size stored in the journal is not 512 bytes. Parted only supports 512 bytes length sectors.The specified device is not a valid DASD deviceThe volume header or the master directory block has changed while replaying the journal. You should restart Parted.There are no possible configurations for this FAT type.There's not enough room in the root directory for all of the files. Either cancel, or ignore to lose the files.This HFS volume has no catalog file. This is very unusual!This HFS volume has no extents overflow file. This is quite unusual!This HFS+ volume has no catalog file. This is very unusual!This HFS+ volume has no extents overflow file. This is quite unusual!This command does not make sense in non-interactive mode. This file system has a logical sector size of %d. GNU Parted is known not to work properly with sector sizes other than 512 bytes.This is not a real %s check. This is going to extract special low level files for debugging purposes.This is not an ECKD disk! This disk type is not supported!This libparted doesn't have write support for %s. Perhaps it was compiled read-only.Too many bad pages.Too many primary partitionsToo many primary partitions.Trailing backslashTry `%s --help' for more information. Trying to move an extent from block Ox%X to block Ox%X, but another one already exists at this position. This should not happen!Trying to read HFS file with CNID %X behind EOF.Trying to read HFS+ file with CNID %X behind EOF.Trying to register an extent starting at block 0x%X, but another one already exists at this position. You should check the file system!Trying to write HFS file with CNID %X behind EOF.Trying to write HFS+ file with CNID %X behind EOF.TypeUNIT is one of: Unable to allocate a bsd disklabel slot.Unable to allocate a dasd disklabel slotUnable to allocate a partition number.Unable to determine geometry of file/device %s. You should not use Parted unless you REALLY know what you're doing!Unable to determine the dm type of %s.Unable to determine the size of %s (%s).Unable to open %s read-write (%s). %s has been opened read-only.Unable to open %s.Unable to probe store.Unable to satisfy all constraints on the partition.Unit?UnknownUnknown disk flag, %d.Unknown file system type "%s".Unknown partition flag, %d.Unknown system errorUnmatched ( or \(Unmatched ) or \)Unmatched [ or [^Unmatched \{Unrecognised new style linux swap signature '%10s'.Unrecognised old style linux swap signature '%10s'.Unrecognised swsusp linux swap signature '%9s'.Unsupported disk formatUnsupported disk typeUpdating the HFS wrapper has failed.Usage: %s [-hlmsv] [-a] [DEVICE [COMMAND [PARAMETERS]]...] Usage: %s [OPTION] or: %s DEVICE MINOR Usage: %s [OPTION] [DEVICE]... Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...] Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run in interactive mode. User-Mode Linux UBDUsing %s Valid arguments are:Version %d of HFS+ isn't supported.Version %d of HFSX isn't supported.Virtio Block DeviceVolume label is corruptedWARNING: You are not superuser. Watch out for permissions.WARNING: you are attempting to use %s to operate on (%s) a file system. %s's file system manipulation code is not as robust as what you'll find in dedicated, file-system-specific packages like e2fsprogs. We recommend you use %s only to manipulate partition tables, whenever possible. Support for performing most operations on most types of file systems will be removed in an upcoming release. WarningWeird block size on device descriptor: %d bytes is not divisible by 512.Weird! There are 2 partitions map entries!Welcome to GNU Parted! Type 'help' to view a list of commands. Without arguments, 'print' displays the entire partition table. However with the following arguments it performs various other actions. Would you like to use FAT32?Written by %s and %s. Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, and %s. Written by %s, %s, %s, and %s. Written by %s, %s, and %s. Written by %s. Xen Virtual Block DeviceYesYou may need to update /etc/fstab. You need %s of free disk space to shrink this partition to this size. Currently, only %s is free.You requested a partition from %s to %s. The closest location we can manage is %s to %s.%sYou should reinstall your boot loader before rebooting. Read section 4 of the Parted User documentation for more information.Your file system has too many occupied inodes to resize it to %i blocks. Sorry.Your file system is too full to resize it to %i blocks. Sorry.^[nN]^[yY]`adding groupsalign-checkalign-check TYPE N check partition N for TYPE(min|opt) alignmentalignment for new partitionsalignment type(min/opt)ambiguous argument %s for %satvrecvbios_grubbootcheckcheck NUMBER do a simple check on the file systemcheckingchecking for bad blockscopyingcpcp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another partitioncreatingcylinder_alignmentdesired alignment: minimum or optimaldisplays machine parseable outputdisplays the versiondisplays this help messageend of file while reading %sexpandingextendedfailed to set dvh partition name to %s: Only logical partitions (boot files) have a name.fat_table_alloc_cluster: no free clustersfat_table_get: cluster %ld outside file systemfat_table_set: cluster %ld outside file systemfreegrowing file systemhelphelp [COMMAND] print general help, or help on COMMANDhiddenhp-serviceinvalid %s%s argument `%s'invalid argument %s for %sinvalid minor device number: %sinvalid suffix in %s%s argument `%s'invalid token: %sioctl() errorlbalists partition layout on all block deviceslogicallvmmemory exhaustedmetadataminimalmkfsmkfs NUMBER FS-TYPE make a FS-TYPE file system on partition NUMBERmklabelmklabel,mktable LABEL-TYPE create a new disklabel (partition table)mkpartmkpart PART-TYPE [FS-TYPE] START END make a partitionmkpartfsmkpartfs PART-TYPE FS-TYPE START END make a partition with a file systemmktablemovemove NUMBER START END move partition NUMBERmsftresnamename NUMBER NAME name partition NUMBER as NAMEnever prompts for user interventionoffonopen erroropening of device failedoptimalpaloparted was unable to re-read the partition table on %s (%s). This means Linux won't know anything about the modifications you made. partition length of %jd sectors exceeds the %s-partition-table-imposed maximum of %jdped_device_new() Unsupported device typeprepprimaryprimary partition table array CRC mismatchprintprint [devices|free|list,all|NUMBER] display the partition table, available devices, free space, all found partitions, or a particular partitionquitquit exit programraidraw block copyingread errorreading from device failedrescuerescue START END rescue a lost partition near START and ENDresizeresize NUMBER START END resize partition NUMBER and its file systemrmrm NUMBER delete partition NUMBERrootsearching for file systemsseek errorseeking on device failedselectselect DEVICE choose the device to editsetset NUMBER FLAG STATE change the FLAG on partition NUMBERshrinkingshrinking HFS wrappershrinking embedded HFS+ volumestarting sector number, %jd exceeds the %s-partition-table-imposed maximum of %jdswaptoggletoggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBERtoo few argumentstoo many argumentsunitunit UNIT set the default unit to UNITversionversion display the version number and copyright information of GNU Partedwrite errorwriting HFS Master Directory Blockwriting HFS+ Volume Headerwriting per-group metadatawriting to device failedProject-Id-Version: parted 2.2 Report-Msgid-Bugs-To: bug-parted@gnu.org POT-Creation-Date: 2010-05-28 20:30+0200 PO-Revision-Date: 2010-02-26 23:11+0100 Last-Translator: Ivan Masár Language-Team: Slovak Language: sk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit naÅ¡li ste chybu v GNU Parted! Musíte spraviÅ¥ nasledovné: Nepanikárte! Chyba pravdepodobne neovplyvnila vaÅ¡e údaje. Pomôžte nám opraviÅ¥ ju tým, že urobíte nasledovné: Skontrolujte, Äi chyba už nebola opravená v poslednej verzii GNU Parted, ktorú nájdete na: http://ftp.gnu.org/gnu/parted/ Prosím, pred oznámením chyby ju overte v tejto verzii. Ak chyba nebola zatiaľ opravená alebo neviete ako ju overiÅ¥, navÅ¡tívte prosím webstránku GNU Parted: http://www.gnu.org/software/parted VaÅ¡e hlásenie by malo obsahovaÅ¥ verziu tohto vydania (%s) spolu s nižšie zobrazeným chybovým hlásením, výstup parted DEVICE unit co print unit s print a históriu príkazov, ktoré ste zadali. Tiež doplňte akékoľvek ÄalÅ¡ie informácie o vaÅ¡om systéme, ktoré považujete za relevantné. História príkazov: Chyba: Vyskytol sa vÅ¡eobecný signál SIGFPE. Chyba: Vyskytol sa vÅ¡eobecný signál SIGILL. Chyba: Vyskytol sa vÅ¡eobecný signál SIGSEGV. Chyba: FPE_FLTDIV (Desatinné Äíslo: delenie nulou) Chyba: FPE_FLTINV (Desatinné Äíslo: neplatná operácia) Chyba: FPE_FLTOVF (Desatinné Äíslo: preteÄenie) Chyba: FPE_FLTRES (Desatinné Äíslo: nepresný výsledok) Chyba: FPE_FLTSUB (Desatinné Äíslo: dolný index mimo rozsahu) Chyba: FPE_FLTUND (Desatinné Äíslo: podteÄenie) Chyba: FPE_INTDIV (Celé Äíslo: delenie nulou) Chyba: FPE_INTOVF (Celé Äíslo: preteÄenie) Chyba: ILL_BADSTK (Vnútorná chyba zásobníka) Chyba: ILL_COPROC (Chyba koprocesora) Chyba: ILL_ILLADR (Neplatný režim adresácie) Chyba: ILL_ILLOPC (Neplatný opkód) Chyba: ILL_ILLOPN (Neplatný operand) Chyba: ILL_ILLTRP (Neplatné zachytenie) Chyba: ILL_PRVOPC (Privilegovaný opkód) Chyba: ILL_PRVREG (Privilegovaný register) Chyba: SEGV_ACCERR (Neplatné oprávnenia mapovaného objektu) Chyba: SEGV_MAPERR (Adresa nemá mapovanie na objekt) Je to pre vás eÅ¡te prijateľné? Licencia GPLv3+: GNU GPL verzie 3 alebo neskorÅ¡ia Toto je slobodný softvér: môžete ho slobodne meniÅ¥ a redistribuovaÅ¥. Neexistuje ŽIADNA ZÃRUKA do rozsahu, aký pripúšťa zákon. Chyby hláste <%s>. Chyby hláste <%s>. Bez zadaného ZARIADENIA skúsi vÅ¡etky oblasti. --help zobraziÅ¥ tohto pomocníka a skonÄiÅ¥ --version vypísaÅ¥ informácie o verzii a skonÄiÅ¥ ÄŒÃSLO : zobrazí podrobnejÅ¡ie informácie o tejto konkrétnej oblasti devices : zobrazí vÅ¡etky aktívne blokové zariadenia free : zobrazí informácie o voľnom mieste nerozdelenom medzi oblasti na aktuálnom blokovom zariadení list, all : zobrazí tabuľky oblastí vÅ¡etkých aktívnych blokových zariadení „%s“ má neplatnú syntax lokácií.%0.f%% (zostávajúci Äas %.2d:%.2d)%s %s%s %s %s%s : Chybný kontrolný súÄet bloku %llu typu %s %s : Chybný kontrolný súÄet na bloku %llu typu %s.%s : Nepodarilo sa preÄítaÅ¥ blok %llu %s : Nebolo možné preÄítaÅ¥ Å¡tartovací blok %llu %s : Nebolo možné preÄítaÅ¥ koreňový blok %llu %s : Nepodarilo sa zapísaÅ¥ blok %d %s : Nebol nájdený rdb blok, to by sa nikdy nemalo staÅ¥ %s : Nebol nájdený rdb blok, toto by sa nemalo nikdy staÅ¥.%s : Nepodarilo sa alokovaÅ¥ blok %s : Nepodarilo sa alokovaÅ¥ disk_specific rdb blok %s : nepodarilo sa alokovaÅ¥ prvok zoznamu ID %s : Nepodarilo sa alokovaÅ¥ blok oblasti %s : Nepodarilo sa vypísaÅ¥ zoznam chybných blokov.%s : Nepodarilo sa vypísaÅ¥ zoznam zavádzacích blokov.%s : Nepodarilo sa vypísaÅ¥ zoznam blokov súborového systému.%s : Nepodarilo sa vypísaÅ¥ zoznam blokov oblasti.%s : Nepodarilo sa naÄítaÅ¥ blok oblasti %llu %s : Na bloku %d bola detekovaná sluÄka.%s : Zoznam %s sa zdá byÅ¥ chybný na bloku %s.%s obsahuje podpisy GPT, Äo znamená, že obsahuje tabuľku GPT. Nemá ale platnú faloÅ¡nú tabuľku oddielov DOS, ktorú by mal maÅ¥. Možno bola poÅ¡kodená - napr. programom, ktorý nerozumie tabuľkám oblastí GPT. Alebo ste možno odstránili tabuľku oblastí GPT a teraz používate tabuľku oblastí DOS. Je toto tabuľka oblastí GPT?Menovky disku %s nepodporujú rozšírené oblasti.Menovky disku %s nepodporujú logické alebo rozšírené oblasti.%s pri Äítaní %s%s pri vyhľadávaní pre Äítanie na %s%s pri pri vyhľadávaní pre zápis na %s%s pri zápise na %s%s nemá rozšírenú oblasÅ¥ (oblasÅ¥ hlaviÄky zväzku).Domovská stránka %s: <%s> Domovská stránka %s: %s je %dk, ale má %d klastrov (%dk).%s je príliÅ¡ malý pro menovku disku Mac!%s pri pokuse o sync %s na disk%s%s argument „%s“ príliÅ¡ veľký%s: neplatná voľba -- %c %s: voľba „%c%s“ nepovoľuje argument %s: voľba „%s“ je nejednoznaÄná %s: voľba „--%s“ nepovoľuje argument %s: voľba „-W %s“ nepovoľuje argument %s: voľba „-W %s“ je nejednoznaÄná %s: voľba vyžaduje argument -- %c %s: nerozpoznaná menovka disku.%s: nerozpoznaná voľba „%c%s“ %s: nerozpoznaná voľba „--%s“ “„mkpart“ vytvorí oblasÅ¥ bez toho, aby vytvoril nový systém súborov na nej. TYP-FS môže Å¡pecifikovaÅ¥ zodpovedajúci ID oblasti. „version“ zobrazí informácie o autorských právach a verzii tejto kópie GNU Parted ©Bola nájdená oblasÅ¥ %s %s na %s -> %s. Chcete ju pridaÅ¥ do tabuľky oblastí?Bola zistená chyba v GNU parted. Podrobnosti o tom, Äo by mohlo byÅ¥ užitoÄné pri ohlasovaní chyby sa dozviete na http://www.gnu.org/software/parted/parted.html. Prosím, poÅ¡lite emailom hlásenie o chybe na bug-parted@gnu.org obsahujúce minimálne Äíslo verzie (%s) a nasledujúcu správu:Názov dátovej množiny je poÅ¡kodenýOdkaz na rozsah pochádza z miesta, odkiaľ by nemal. Mali by ste skontrolovaÅ¥ súborový systém!Operácia zmeny veľkosti na tomto disku použije EXPERIMENTÃLNY kód, ktorý ho MôŽE POÅ KODIŤ (hoci zatiaľ nikto také poÅ¡kodenie neoznámil). Mali by ste predtým minimálne svoje dáta zálohovaÅ¥ a spustiÅ¥ „e2fsck -f“ potom.nezhoda verzií APIradiÄ ATARAIDVyskytla sa chyba pri premiestňovaní rozsahov.Vyskytla sa chyba pri hľadaní povinného súboru chybných blokov.Rozšírené oblasti nemôžu maÅ¥ súborový systém. Chceli ste mkpart?Rozsah nebol premiestnený.Zlyhal predpoklad (%s) v %s:%d vo funkcii %s().Pokus o zápis sektorov %ld-%ld mimo oblasti na %sBIOS geometria cylinder,hlava,sektor: %d,%d,%d. Každý cylinder má %s. Backtrace: %d volaní na zásobníku: Chybná FAT: klaster %d má vymenené odkazy s %s. Mali by ste spustiÅ¥ dosfsck alebo scandisk.Chybná FAT: klaster %d sa nachádza mimo systému súborov v reÅ¥ezci pro %s. Mali by ste spustiÅ¥ dosfsck alebo scandisk.Chybná FAT: neukonÄený reÅ¥azec pre %s. Mali by ste spustiÅ¥ dosfsck alebo scandisk.Chybný kontrolný súÄet zoznamu blokov.Nebolo možné preÄítaÅ¥ chybné bloky.Zoznam chybných blokov nebolo možné naÄítaÅ¥.Chybná položka adresára pre %s: prvý klaster je znaÄka konca súboru.Chybný kontrolný súÄet žurnálu.Blok %i nemá odkaz? ÄŒudné.Blok %i nemal byÅ¥ oznaÄený (%d, %d)!Primárna aj záložná tabuľka GPT je poÅ¡kodená. Skúste vytvoriÅ¥ novú tabuľku a obnoviÅ¥ oblasti pomocou možnosti Partedu rescue.ChybaPRÃKAZy:Nemožno pridaÅ¥ logickú oblasÅ¥ do %s, pretože neexistuje rozšírená oblasÅ¥.Nemôžem pridaÅ¥ ÄalÅ¡iu oblasÅ¥ - mapa oblastí je príliÅ¡ malá!Nemožno pridaÅ¥ ÄalÅ¡iu oblasÅ¥.Nie je možné kopírovaÅ¥ rozšírené oblasti.Nemožno kopírovaÅ¥ do prekrývajúcej sa oblasti.Nie je možné vytvoriÅ¥ ÄalÅ¡ie oblasti.Logická oblasÅ¥ nemôže byÅ¥ mimo rozšírenej oblasti na %s.Nemožno maÅ¥ oblasÅ¥ mimo disku!Primárna oblasÅ¥ nemôže byÅ¥ vnútri rozšírenej oblasti.Logické oblasti nemôžu byÅ¥ mimo rozšírenej oblasti.Nie je možné maÅ¥ na %s viac než jednu rozšírenú oblasÅ¥.Nie je možné maÅ¥ prekrývajúce se oblasti.Nemožno maÅ¥ koniec pred zaÄiatkom! (poÄiat. sektor=%jd dĺžka=%jd)Nie je možné presunúť oblasti na seba. Možno skúste použiÅ¥ resize?Nie je možné presunúť rozšírenú oblasÅ¥.Nemôžem zapisovaÅ¥ na %s, pretože je tvorený len na Äítanie.ZruÅ¡iÅ¥Nebolo možné získaÅ¥ veľkosÅ¥ Å¡peciálnej jednotky „COMPACT“.Zmena názvu koreňového alebo odkladacej oblasti zabráni Linuxu v jej rozpoznaní.Kontrolný súÄet je zlý, Äo indikuje, že tabuľka oblastí je poÅ¡kodená.VyÄistiÅ¥ nevyužité miesto na oblasti FAT (a nástroj na testovanie GNU Parted). Zmena zaÄiatku klastra = %d, Äo nie je násobok veľikosti klastra %d.Compaq Smart ArrayKolidujúce veľkosti položek mapy oblastí! Položka 1 vraví, že je to %d, ale položka %d vraví, že je to %d!Copyright (C) 1998 - 2006 Free Software Foundation, Inc. Toto je slobodný softvér pod VÅ¡eobecnou verejnou licenciou GNU. Tento program je šírený v nadeji, že bude užitoÄný, ale BEZ AKEJKOĽVEK ZÃRUKY; bez i implicitnej záruky PREDAJNOSTI Äi VHODNOSTI NA URÄŒITà ÚČEL. ÄŽalÅ¡ie podrobnosti nájdete v GNU General Public License. Detekovaná poÅ¡kodená menovka disku Sun.Nebolo možné udržiavaÅ¥ kópiu systému súborov v pamäti.Nebolo možné detekovaÅ¥ systém súborov.Nebolo možné urÄiÅ¥ veľkosÅ¥ sektora %s. Použije sa Å¡tandardná veľkosÅ¥ sektora (%lld).Nebolo možné urÄiÅ¥ veľkosÅ¥ sektora %s: %s. Používam Å¡tandardnú veľkosÅ¥ sektora (%lld).Nebol nájdený sektor %lli súboru HFS s CNID %X.Nebol nájdený sektor %lli súboru HFS+ s CNID %X.Nemôžem získat identitu zariadenia %s - %sNebolo možné preÄítaÅ¥ VTOC FMT1 DSCB.Nebolo možné preÄítaÅ¥ VTOC FMT4 DSCB.Nebolo možné preÄítaÅ¥ VTOC FMT5 DSCB.Nebolo možné preÄítaÅ¥ VTOC FMT7 DSCB.Nebolo možné preÄítaÅ¥ Å¡títky VTOC.Nebolo možné preÄítaÅ¥ Å¡títok zväzku.Nebolo možné zistiÅ¥ informácie o API.Nebolo možné zistiÅ¥ informácie o veľkosti bloku.Nebolo možné zistiÅ¥ informácie o geometrii disku.Nebolo možné zistiÅ¥ informácie o disku.Nemôžem získaÅ¥ stat zariadenia %s - %s.Nebolo možné aktualizovaÅ¥ vyrovnávaciu pamäť rozsahov súboru HFS s CNID %X.Nebolo možné aktualizovaÅ¥ vyrovnávaciu pamäť rozsahov súboru HFS+ s CNID %X.Nebolo možné zapísaÅ¥ VTOC FMT1 DSCB.Nebolo možné zapísaÅ¥ VTOC FMT4 DSCB.Nebolo možné zapísaÅ¥ VTOC FMT5 DSCB.Nebolo možné zapísaÅ¥ VTOC FMT7 DSCB.Nebolo možné zapísaÅ¥ Å¡títky VTOC.Nebolo možné zapísaÅ¥ Å¡títok zväzku.Nebolo možné vytvoriÅ¥ abstrakÄnú vrstvu reiserfs zariadenia.Nemôžem vyprázdniÅ¥ vyrovnávaciu pamäť!Nebolo možné znovu otvoriÅ¥ abstrakÄnú vrstvu zariadenia pre Äítanie/zápis.Nebolo možné preložiÅ¥ symbol %s. Chyba: %s.Boli nájdené bloky s krížovými odkazmi! RadÅ¡ej najskôr spustite e2fsck!radiÄ RAID DAC960zariadenie je obvykle /dev/hda alebo /dev/sda Relokácia údajov zlyhala.Relokácia údajov zanechala na konci zväzku nejaké údaje.Relokácia údajov zanechala na konci zväzku nejaké údaje.Číslo cieľovej oblasti?Zariadenie %s má viacero (%d) logických sektorov na fyzický sektor. GNU Parted oto podporuje EXPERIMENTÃLNE pre niektoré Å¡peciálne kombinácie zväzkov/súborových systémov, napr. GPT a ext2/3. Prosím, pozrite si aktuálne informácie na webe.Systém súborov je príliÅ¡ malý na %lu blokov.Nepodarilo sa overiÅ¥ zariadeniePriama podpora pre kopírovanie súborových systémov zatiaľ nie je implementovaná pre %s. Ale je implementovaná podpora zmeny veľkosti. Preto nie je možné skopírovaÅ¥ súborový systém ak je nová oblasÅ¥ najmenej taká veľká ako tá stará. Takže buÄ zmenÅ¡ite oblasÅ¥, ktorú sa pokúšate kopírovaÅ¥ alebo kopírujte na väÄÅ¡iu oblasÅ¥.Disk %s: %s Obraz diskuDisk sa používaKoniecKoniec?ChybaChyba pri alokácii buffer cache.Chyba pri fsync/zatváraní %s: %sChyba pri informování jadra o zmenách oddielu %s - %s. To znamená, že Linux nebude vedieÅ¥ o zmenách, ktoré ste na %s vykonali, pokým nereÅ¡tartujete systém - takže by ste ho nemali pripájaÅ¥ ani ho pred reÅ¡tartom akokoľvek používaÅ¥.Chyba pri inicializácii zariadenia SCSI %s - %sChyba pri otváraní %s: %sChyba pri zapisování alokaÄného súboru.Chyba pri zápise do Äasti pre komaptibilitu alokaÄného súboru.Chyba pri zapisování do koreňového adresára.OÄakáva sa typ menovky disku.OÄakáva sa typ systému súborov.OÄakáva sa Äíslo oblasti.OÄakáva sa typ oblasti.Rozšírené oblasti nie je možné skryÅ¥ na Å¡títkoch diskov msdos.FAT %d media %x nezdpovedá media %x Å¡tartovacieho sektoru. Pravdepodobne by ste mali spustiÅ¥ scandisk.Å tartovací sektor FAT vraví, že klaster je 0 sektorov. To je divné. Å tartovací sektor FAT vraví, že logická veľkosÅ¥ sektoru je 0. To je divné. Å tartovací sektor FAT vraví, že neexistuje žiadna tabuľka FAT. To je divné. PREPÃNAÄŒ je jeden z: TYP-FS je jeden z: Nepodarilo sa zapísaÅ¥ blok oblasti na %d.Fatálna chybaOsudová chybaSystém súborov: %s Súborový systémSystém súborov nemá oÄekávané veľkosti, aby ho Windows mali radi. VeľkosÅ¥ klastra je %dk (oÄakáva sa %dk); poÄet klastrov je %d (oÄakáva sa %d); veľkosÅ¥ FAT je %d sektorov (oÄakáva sa %d).Súborový systém je plný!Súborový systém má zapnutú nekompatibilnú vlastnosÅ¥. Kompatibilné vlastnosti sú has_journal, dir_index, filetype, sparse_super a large_file. Na odstránenie vlastností použite tune2fs alebo debugfs.Systém súborov má neplatnú veľkost klastra pre systém súborov FAT.Súborový systém má má neplatný poÄet FAT.Systém súborov má neplatný poÄet rezervovaných sektorov pre systém súborov FAT.Systém súborov má neplatnú veľkost sektora pre systém súborov FAT.Systém súborov nemá platný podpis systému súborov FAT.Systém súborov má chyby! Mali by ste spustiÅ¥ e2fsck.Systém súborov má príliÅ¡ mnoho alokovaných inodov na to, aby bolo možné odstrániÅ¥ skupinu!Súborový systém je FAT12, ktorý nie je podporovaný.Systém súborov oznamuje voľné miesto %d klastrov, nie %d klastrov.Systém súborov je príliÅ¡ plný na to, aby bolo možné odstrániÅ¥ skupinu!Systém súborov príliÅ¡ malý pre ext2.Typ súborového systému?Systém súborov nebol správne odpojený! Mali by ste spustiÅ¥ e2fsck.Systém súborov nebol Äisto odpojený! Mali by ste spustiÅ¥ e2fsck. Úpravy neÄistého systému súborov môžu spôsobiÅ¥ jeho vážne poÅ¡kodenie.OpravaPrepínaÄ, který sa má zmeniÅ¥?PrepínaÄePrepínaÄe: %s Bol nájdený inode s nesprávnym poÄtom odkazov. RadÅ¡ej najskôr spustite e2fsck!Voľné miestoGNU Parted nedokáže zmeniÅ¥ veľkosÅ¥ tejto oblasti na túto hodnotu. Pracujeme na tom!GNU Parted naÅ¡iel neplatnú knižnicu libreiserfs.GNU Parted zistil nezhodu verzií rozhrania libreiserfs. Nájdená %d-%d, požadovaná %d. Podpora ReiserFS bude vypnutá.GNU parted bol nesprávne preložený; Å¡tartovací sektor FAT by mal maÅ¥ 512 bajtov. Podpora FAT bude vypnutá.VÅ¡eobecná pomoc s použitím softvéru GNU: VÅ¡eobecný IDEVÅ¡eobecná úložná karta SD/MMCradiÄ I2Ojednotka IBM S390 DASDIBM iSeries Virtual DASDAk prevediete oblasÅ¥ na FAT16 a sú na nej nainÅ¡talované MS Windows, musíte znova nainÅ¡talovaÅ¥ zavádzaÄ systému MS Windows. Ak to chcete urobiÅ¥, mali by ste si preÄítaÅ¥ príruÄku Parted (alebo príruÄku svojej distribúcie).Ak prevediete oblasÅ¥ na FAT32 a sú na nej nainÅ¡talované MS Windows, musíte znova nainÅ¡talovaÅ¥ zavádzaÄ systému MS Windows. Ak to chcete urobiÅ¥, mali by ste si preÄítaÅ¥ príruÄku Parted (alebo príruÄku svojej distribúcie). Prevedenie na FAT32 tiež urobí systém súborov neÄitateľný pre MS-DOS, MS Windows 95a a MS Windows NT.Ak ponecháte svoj systém súborov vo formáte FAT16, nespôsobíte žiadné nové problémy.Ak ponecháte svoj systém súborov vo formáte FAT32, nespôsobíte žiadné nové problémy.IgnorovaÅ¥Nekonzistentné deskriptory skupín!Neplatné magické hodnoty v hlaviÄke žurnálu.InformovaÅ¥ OS o zmenách tabuľky oblastí. -d, --no-update v skutoÄnosti neinformovaÅ¥ OS -s, --summary vypísaÅ¥ zhrnutie obsahu -h, --help zobraziÅ¥ tento návod a skonÄiÅ¥ -v, --version vypísaÅ¥ info o verzii a skonÄiÅ¥ InformáciaNeplatný VTOC.Neplatný spätný odkazNeplatný názov triedy znakovNeplatný znak triedeniaNeplatný obsah \{\}Neplatný poÄet voľných blokov. Najprv spustite reiserfsck --check.Neplatné Äíslo.Neplatná tabuľka oblastí - rekurzívna oblasÅ¥ na %s.Neplatná tabuľka oblastí na %s - nesprávny podpis %xNeplatná tabuľka oblastí na %s.Neplatný predchádzajúci regulárny výrazNeplatné ukonÄenie rozsahuNeplatný regulárny výrazNeplatný podpis %x pre menovky disku Mac.Neplatná veľkosÅ¥ bloku transakcií poÄas prehrávania žurnálu (%i bajtov).Neplatný superblok. Ste si istý, že toto je systém súborov ext2?Zdá sa, že sa vyskytla chyba v HFS wrapperi: súbor chybných blokov neobsahuje vnorený zväzok HFS+.Ofset žurnálu nie je násobkom veľkosti sektora.VeľkosÅ¥ žurnálu sa nezhoduje v info bloku žurnálu a v hlaviÄke žurnálu.Žurnál uložený mimo zväzku nie je podporovaný. Pokúste sa deaktivovaÅ¥ žurnál a znova spustiÅ¥ Parted.TYP-JMENOVKY je jeden z: mapovaÄ zariadení Linux (%s)Maximálna veľkosÅ¥: Nepodarilo sa alokovaÅ¥ pamäťPamäť bola vyÄerpanáMinimálna veľkosÅ¥: Drobné: %d Model: %s (%s) NÃZEV je ľubovoľné slovo ÄŒÃSLO je Äíslo oblasti, ktorú používa Linux. Na menovkách disku msdos majú primárne oblasti Äísla 1-4 a logické oblasti sú od 5 Äalej. NázovNové zariadenie?Typ novej menovky disku?Nový stav?NieNeimplementovanéNebolo nájdené žiadne zariadenieBez zhodyŽiaden predchádzajúci regulárny výrazNa informácie o oblastiach nie je dostatok miesta.Pre menovku oddielu nie je miesto.PoÄas otvárania nebol nájdený platný podpis HFS[+X].Nebola nájdená platná mapa oblastí.Zdá sa, že nie vÅ¡etko miesto dostupné pre %s je využité. Môžete opraviÅ¥ GPT, aby využívalo vÅ¡etok dostupný priestor (Äalších %llu blokov) alebo pokraÄovaÅ¥ s aktuálnym nastavením? Nedostatok voľných inodov!ČísloOKVOĽBY:Iba logické oblasti môžu býť zavázací súbor.Iba primárne oblasti môžu byÅ¥ koreňové oblasti.Iba primárne oblasti môžu byÅ¥ odkladacie oblasti.Nedostatok pamäte.TYP-ODDIELU je jeden z: primary, logical, extended Balík vytvoril %s Balík vytvoril %s (%s) Parted nemôže zmeniÅ¥ veľkosÅ¥ oblastí, ktoré spravuje Windows Dynamic Disk.Parted nedokáže používaÅ¥ súborové systémy HFS na diskoch s veľkosÅ¥ou sektora inou ako %d bajtov.OblasÅ¥ %d má neplatnú dĺžku 0 bajtov.OblasÅ¥ %d má neplatný podpis %x.OblasÅ¥ %d má %s, ale systém súborov má %s.OblasÅ¥ %d nie je zarovnaná na hranice cylindra. Toto zatiaľ nie je podporované.OblasÅ¥ %s sa používa. Predtým, než vykonáte zmeny pomocou Parted ju musíte odpojiÅ¥.Tabuľka oblastí: %s OblasÅ¥ neexistuje.Mapa oblastí nemá žiadnu položku mapy oblastí!Názov oblasti?Číslo oblasti?OblasÅ¥ je príliÅ¡ veľká/malá pre súborový systém %sTyp oblasti?Oblasti na %s sa používajú.PredÄasný koniec regulárneho výrazuPromise SX8 zariadenie SATARegulárny výraz je príliÅ¡ veľkýZdá sa, že Reiserfs strom je poÅ¡kodený. Najpv spustite reiserfsck --check.Chyby %s hláste %s Zmena veľkosti HFS+ zlyhala.ZnovuZAÄŒIATOK a KONIEC sú pozície na disku, napr 4 GB alebo 10%. Záporné hodnoty sa poÄítajú od konca disku. Napríklad -1s znamená presne posledný sektor. STAV je jeden z: on, off VeľkosÅ¥ sektora (logická/fyzická): %lldB/%lldB VeľkosÅ¥VeľkosÅ¥: Niektoré polia hlaviÄky nie sú násobkom veľkosti sektora.PrepáÄte, veľkosÅ¥ HFS nie je zatiaľ možné týmto spôsobom zmeniÅ¥.PrepáÄte, veľkosÅ¥ HFS+ nie je zatiaľ možné týmto spôsobom zmeniÅ¥.Ľutujem, zatiaľ nie je možné presúvaÅ¥ zaÄiatok oddielov ext2!Ľutujem, zatiaľ nie je možné presúvaÅ¥ zaÄiatok oblastí reiserfs.Zdrojové zariadenie?Číslo zdrojovej oblasti?ZaÄiatokZaÄiatok?ÚspeÅ¡néMenovka disku Sun je plná.Podpora pridávania oblastí do menoviek disku AIX eÅ¡te nie je implementovaná.Podpora pre kontrolu súborových systémov %s eÅ¡te nie je implementovaná.Podpora pre kopírovánie súborových systémov %s eÅ¡te nie je implementovaná.Podpora pre vytváranie súborových systémov %s eÅ¡te nie je implementovaná.Podpora kopírovania oblastí v menovkách disku AIX eÅ¡te nie je implementovaná.Podpora pro otváranie súborových systémov %s eÅ¡te nie je implementovaná.Podpora Äítania menoviek disku AIX eÅ¡te nie je implementovaná.Podpora pre zmenu veľikosti súborových systémov %s eÅ¡te nie je implementovaná.Podpora nastavovania príznakov v menovkách disku AIX eÅ¡te nie je implementovaná.Podpora nastavovania typu systému oblastí v menovkách disku AIX eÅ¡te nie je implementovaná.Podpora zápisu menoviek disku AIX eÅ¡te nie je implementovaná.Chyba syntaxe v konfiguraÄnom súboreTabuľky FAT si nezodpovedajú. Ak neviete, Äo to znamená, zvoľte ZruÅ¡iÅ¥, spustite na systéme súborov scandisk a potom sa vráťte.Jediná zostávajúca oblasÅ¥ je oblasÅ¥ Celý disk. Vo vÅ¡eobecnosti nie je dobrý nápad túto oblasti prepísaÅ¥ skutoÄnou oblasÅ¥ou. Bez nej možno nebude možné zaviesÅ¥ Solaris a SILO (zavádzaÄ systému pre sparc) ju tiež ocení.Záložná tabuľka GPT je poÅ¡kodená, ale primárna sa zdá byÅ¥ v poriadku, takže sa použije primárna.Záložná tabuľka GPT nie je na konci disku, ako by mala byÅ¥. To možná znamená, že iný operaÄný systém si myslí, že disk je menší. Mám to opraviÅ¥ presunutím zálohy na koniec (a odstránením starej zálohy)?Å tartovacia oblasÅ¥ nezaÄína na zaÄiatku oblasti.SúÄasná verzia API „%d“ nezodpovedá API verzii dasd ovládaÄa „%d“!Dátová ÄasÅ¥ nezaÄína na zaÄiatku oblasti.Zariadenie %s má nulovú dĺžku a nemôže obsahovaÅ¥ systém súborov ani tabuľku oblastí. Možno ste vybrali chybné zariadenie?Geometria disku CHS (%d,%d,%d) nezodpovedá geometrii uloženej v menovke disku (%d,%d,%d).Disk má %d cylindrov, Äo je viac ako maximálny poÄet 65536.Menovka disku popisuje disk väÄší než %s.Deskriptor ovládaÄa vraví, že fyzická veľkosÅ¥ bloku je %d bajtov, ale Linux vraví, že je to %d bajtov.Existujúca menovka disku na %s sa zniÄí a vÅ¡etky dáta na oddiele sa stratia. Chcete pokraÄovaÅ¥?Existujúci súborový systém sa zniÄí a vÅ¡etky dáta na oblasti sa stratia. Chcete pokraÄovaÅ¥?Súborový systém ext2 absolvoval základnú kontrolu. Pre podrobnejÅ¡iu kontrolu použite program e2fsck.Súbor preteÄení rozsahov by nemal obsahovaÅ¥ svoje vlastné rozsahy! Mali by ste skontrolovaÅ¥ súborový systém!súbor %s je oznaÄený ako systémový súbor. To znamená, že jeho presun môže zpôsobiÅ¥, že niektoré programy prestanú fungovaÅ¥.VeľkosÅ¥ systému súborov je možné túto hodnotu zmeniÅ¥ iba prevodom na FAT16.VeľkosÅ¥ systému súborov je možné túto hodnotu zmeniÅ¥ iba prevodom na FAT32.Súborový systém obsahuje chyby.Systém súborov má zapnutú schopnosÅ¥ „dir_index“. Parted môže zmeniÅ¥ veľkosÅ¥ súborového systému, iba ak túto schopnosÅ¥ zakáže. Môžete ju neskôr povoliÅ¥ spustením „tune2fs -O dir_index zariadenie“ a potom „e2fsck -fD zariadenie“.Systém súborov je väÄší než zväzok, na ktorom sa nachádza!Systém súborov je v neplatnom stave. Že by bol pripojený?Súborový systém má starý formát (nie je možné meniÅ¥ jeho veľkosÅ¥).CHS geometria tohto systému je (%d, %d, %d), Äo nie je platná hodnota. CHS geometria tabuľky oddielov je (%d, %d, %d). Ak zvolíte IgnorovaÅ¥, CHS geometria systému sa nezmení. Ak zvolíte OpraviÅ¥, CHS geometria systému sa zmení na CHS geometriu tabuľky oblastí.Formát tabuľky oblastí GPT je verzie %x, Äo je novší, než ten s ktorým vie pracovaÅ¥ Parted. Oznámte nám to prosím! bug-parted@gnu.orgSektor informácií má nesprávný podpis (%x). Nateraz zvoľte ZruÅ¡iÅ¥ a poÅ¡lite hlásenie o chybe. Ak ste v úzkych, môžete to pravdepodobne bez obáv ignorovaÅ¥.Žurnál nie je prázdny. Parted musí prehraÅ¥ transakcie pred otvorením súsborového systému. Týmto sa súborový systém zmení.Lokácia %s sa nachádza mimo zariadenia %s.Maximálna hodnota hlaviÄiek je %d.Maximálna hodnota sektorov je %d.OblasÅ¥ musí maÅ¥ jeden z nasledovných TYP-FS: Nebolo možné znovu naÄítaÅ¥ tabuľku oblastí, takže budete musieÅ¥ pred pripojením zmenených oblastí reÅ¡tartovaÅ¥ poÄítaÄ. Tiež musíte pred reÅ¡tartom znovu nainÅ¡talovaÅ¥ svoj zavádzaÄ systému (Äo môže vyžadovaÅ¥ pripojenie zmenených oblastí). Nie je možné vykonaÅ¥ oboje! Takže budete musieÅ¥ zaviesÅ¥ systém zo záchranného disku a znovu nainÅ¡talovaÅ¥ svoj zavádzaÄ systému odtiaľ. PodrobnejÅ¡ie informácie sa doÄítate v kapitole 4 Používateľskej dokumentácie Parted.Tabuľku oblastí na %s nie je možné znovu naÄítaÅ¥ (%s). To znamená, že Hurd nevie niÄ o zmenách, ktoré ste vykonali. Než budete Äokoľvek robiÅ¥ s %s, mali by ste reÅ¡tartovaÅ¥ svoj poÄítaÄ.Zavádzacia ÄasÅ¥ diskovej oblasti nezaberá celú oblasÅ¥.Dátová ÄasÅ¥ oblasti nezaberá celú oblasÅ¥.Primárna tabuľka GPT je poÅ¡kodená, ale záloha sa zdá byÅ¥ v poriadku, takže sa použije záloha.Systém súborov reiserfs absolvoval základnú kontrolu. Pre podrobnejÅ¡iu kontrolu použite reiserfsck --check.Výsledná oblasÅ¥ nie je správne zarovnaná, Äo sa prejaví zhorÅ¡eným výkonom.VeľkosÅ¥ sektora uložená v žurnále nie je 512 bajtov. Parted podporuje iba sektory s dĺžkou 512 bajtov.Uvedené zariadenie nie je platné zariadenie DASDHlaviÄka zväazku hlavného bloku adresárov sa v dôsledku prehrania žurnálu zmenila. Mali by ste znova spustiÅ¥ Parted.Pro tento typ FAT neexistuje možná konfigurácia.V koreňovom adresári nie je dostatok miesta na vÅ¡etky súbory. Zvoľte buÄ ZruÅ¡iÅ¥, alebo IgnorovaÅ¥, Äím sa tieto súbory stratia.Tento zväzok HFS nemá katalógový súbor. To je veľmi nezvyÄajné!Tento zväzok HFS nemá súbor preteÄení rozsahov. To je dosÅ¥ nezvyÄajné!Tento zväzok HFS+ nemá katalógový súbor. To je veľmi nezvyÄajné!Tento zväzok HFS+ nemá súbor preteÄení rozsahov. To je dosÅ¥ nezvyÄajné!Príkaz nedáva zmysel v neinteraktívnom režime. Systém súborov má logickú veľkost sektora %d. Je známe, že GNU Parted nepracuje správne s veľkosÅ¥ou sektora inou ako 512 bajtov.Toto nie je skutoÄná kontrola %s. Týmto sa získajú Å¡peciálne nízkoúrovňové súbory pre úÄely ladenia.Toto nie je ECKD disk! Tento typ disku nie je podporovaný!Táto libparted nemá podporu pre zápis na %s. Možno bola skompilovaná len na Äítanie.PríliÅ¡ veľa zlých stránok.PríliÅ¡ veľa primárnych oblastíPríliÅ¡ veľa primárnych oblastí.Lomka na konciViac informácií získate po napísaní „%s --help“. Prebieha pokus o presunutie rozsahu z bloku 0x%X na blok 0x%X, ale iný už na tejto pozícii existuje. Toto by sa nemalo staÅ¥!Pokus o Äítanie súboru HFS s CNID %X za znakom konca súboru.Pokus o Äítanie súboru HFS+ s CNID %X za znakom konca súboru.Prebieha pokus o registráciu rozsahu poÄínajúc blokom 0x%X, ale iný už na tejto pozícii existuje. Mali by ste skontrolovaÅ¥ súborový systém!Pokus o zápis súboru HFS s CNID %X za znakom konca súboru.Pokus o zápis súboru HFS+ s CNID %X za znakom konca súboru.TypJEDNOTKA je jedno z: Nie je možné alokovaÅ¥ položku menovky disku BSD.Nie je možné alokovaÅ¥ položku menovky disku dasd.Nepodarilo sa alokovaÅ¥ Äíslo oblasti.Nemôžem urÄiÅ¥ geometriu súboru/zariadenia %s. Nemali by ste používaÅ¥ Parted, ak NAOZAJ neviete, Äo robíte!Nepodarilo sa urÄiÅ¥ typ dm %sNepodarilo sa urÄiÅ¥ veľkosÅ¥ %s (%s)Nemôžem otvoriÅ¥ %s na Äítanie/zápis (%s). %s bol otvorený len na Äítanie.Nemôžem otvoriÅ¥ %s.Nemôžem preskúmaÅ¥ úložný priestor.Nemožno splniÅ¥ vÅ¡etky obmedzenia na oddiel.Jednotka?NeznámyNeznámý príznak disku, %d.Neznámy typ systému súborov „%s“.Neznámy príznak oblasti, %d.Neznáma systémová chyba( alebo \( bez náprotivku) alebo \) bez náprotivku[ alebo [^ bez náprotivku\{ bez náprotivkuNerozpoznaný podpis odkladacieho oddielu Linuxu v novom Å¡týle „%10s“.Nerozpoznaný podpis odkladacieho oddielu Linuxu v starom Å¡týle „%10s“.Nerozpoznaný podpis odkladacieho oddielu Linuxu swsusp „%10s“.Nepodporovaný formát diskuNepodporovaný typ diskuAktualizácia HFS wrappera zlyhala.Použitie: %s [-hlmsv] [-a] [ZARIADENIE [PRÃKAZ [PARAMETRE]]...] Použitie: %s [VOĽBA] alebo: %s ZARIADENIE MINOR Použitie: %s [VOĽBA] [ZARIADENIE]... Použitie: parted [PREPÃNAÄŒ]... [ZARIADENIE [PRÃKAZ [PARAMETRE]...]...] VykonaÅ¥ PRÃKAZy s PARAMETRami na ZARIADENIE. Ak nie je zadaný PRÃKAZ, beží v interaktívnom režime. User-Mode Linux UBDPoužíva sa %s Platné argumenty sú:Verzia %d HFS+ nie je podporovaná.Verzia %d HFSX nie je podporovaná.Blokové zariadenie VistioMenovka zväzku je poÅ¡kodenáUPOZORNENIE: Nie ste superpoužívateľ. Dávajte pozor na oprávnenia.UPOZORNENIE: pokúšate sa použiÅ¥ %s na pracovanie na (%s) súborovom systéme. manipulácia so súborovým systémom %s nie je taká robustná ako tá, ktorú nájdete v na to urÄených balíkoch Å¡pecifických pre súborový systém ako e2fsprogs. OdporúÄame, aby ste používali %s iba na manipuláciu s tabuľkami oblastí vždy, keÄ je to možné. Podpora vykonávania väÄÅ¡iny operácií na väÄÅ¡ine typov súborových systémov bude v nasledovnom vydaní odstránená. UpozornenieÄŒudná veľkosÅ¥ bloku v deskriptore zariadenia: %d bajtov nie je deliteľné 512.ÄŒudné! 2 položky mapy oblastí!Vitajte v GNU Parted! Zoznam príkazov zobrazíte napísaním „help“. „print“ bez argumentov zobrazí celú tabuľku oblastí. S nasledovnými argumentami vÅ¡ak vykoná rôzne iné Äinnosti. Chcete použiÅ¥ FAT32?Napísal %s a %s. Napísal %s, %s, %s, %s, %s, %s, %s, %s, %s a Äalší. Napísal %s, %s, %s, %s, %s, %s, %s, %s a %s. Napísal %s, %s, %s, %s, %s, %s, %s a %s. Napísal %s, %s, %s, %s, %s, %s a %s. Napísal %s, %s, %s, %s, %s a %s. Napísal %s, %s, %s, %s a %s. Napísal %s, %s, %s a %s. Napísal %s, %s a %s. Napísal %s. Virtuálne blokové zariadenie XenÃnoMôže byÅ¥ potrebné aktualizovaÅ¥ /etc/fstab. Na zmenÅ¡enie tejto oblasti na túto veľkosÅ¥ potrebujete %s voľného miesta (momentálne máte voľných iba %s)Vyžiadali ste oblasÅ¥ od %s do %s. Najbližšie možné miesto je od %s do %s.%sPred reÅ¡tartom by ste mali reinÅ¡talovaÅ¥ svoj zavádzaÄ systému. Viac informáci nájdete v kapitole 4 Používateľskej dokumentácie Parted.Váš systém súborov má príliÅ¡ mnoho použitých inodov na to, aby bolo možné zmeniÅ¥ jeho veľkosÅ¥ na %i blokov. Ľutujem.Váš systém súborov je príliÅ¡ plný na to, aby bolo možné zmeniÅ¥ jeho veľkosÅ¥ na %d blokov. Ľutujem.^[nN]^[aAáÃyY]„pridávam skupinykontrola-zarovnaniaalign-check TYP N skontrolovaÅ¥ zarovnanie TYP(min|opt) na oblasti Nzarovnanie nových oblastítyp zarovnania(min/opt)nejednoznaÄný argument %s pre %satvrecvbios_grubzavádzacícheckcheck ÄŒÃSLO vykonaÅ¥ jednoduchú kontrolu systému súborovkontroluje sahľadám chybné blokykopíruje sacpcp [OD-ZARIADENIE] OD-ÄŒÃSLO DO-ÄŒÃSLO skopírovaÅ¥ systém súborov na inú oblasÅ¥vytvára sacylinder_alignmentpožadovan zarovnanie: minimálne alebo optimálnezobrazí strojovo Äitateľný výstupzobrazí verziuzobrazí túto správu pomocníkakoniec súboru poÄas Äítania %szväÄÅ¡uje sarozšírenýnepodarilo sa nastaviÅ¥ názov dvh oblasti na %s: Iba logické oblasti (zavádzacie súbory) majú název.fat_table_alloc_cluster: nie sú voľné klastrefat_table_get: klaster %ld sa nachádza mimo súborového systémufat_table_set: klaster %ld sa nachádza mimo súborového systémuvoľnézväÄÅ¡ovanie systému súborovhelphelp [PRÃKAZ] vypíše vÅ¡eobecného pomocníka alebo pomocníka o PRÃKAZEskrytýhp-serviceneplatný %s%s argument „%s“neplatný argument %s pre %sneplatn0 vedľajÅ¡ie Äíslo zariadenia: %sneplatná prípona v %s%s argument „%s“neplatný token: %schyba ioctl()LBAvypíše rozloženie oblastí na vÅ¡etkých blokových zariadeniachlogickýLVMpamäť je vyÄerpanámetadátaminimálnemkfsmkfs ÄŒÃSLO TYP-FS vytvorí systém súborov FS-TYPE na oblasti ÄŒÃSLOmklabelmklabel TYP-MENOVKY vytvorí novú menovku disku (tabuľku oblastí)mkpartmkpart TYP-ODDIELU [TYP-FS] ZAÄŒIATOK KONIEC vytvorí oblasÅ¥mkpartfsmkpartfs TYP-ODDIELU TYP-FS ZAÄŒ KONIEC vytvoriÅ¥ oblasÅ¥ se systémom súborovmktablemovemove ÄŒÃSLO ZAÄŒIATOK KONIEC presunúť oblasÅ¥ ÄŒÃSLOmsftresnamename MINOR NÃZOV nazvaÅ¥ oblasÅ¥ MINOR NÃZVOMnikdy nežiada o zásah používateľavypzapchyba otvárania%s otváranie zariadenia zlyhalooptimálnepaloJádro nedokázalo znovu naÄítaÅ¥ tabuľku oblastí na %s (%s). To znamená, že Linux vedieÅ¥ o zmenách, ktoré ste vykonali.dĺžka oblasti of %jd sektorov prekraÄuje maximum stanovené tabuľkou oblastí %s v dĺžke %jdped_device_new() Nepodporovaný typ zariadeniaprepprimárnynezodpovedá CRC poľa primárnej tabuľky oblastíprintprint [devices|free|list,all|ÄŒÃSLO] zobrazí tabuľku oblastí, dostupné zariadenia, voľné miesto, vÅ¡etky nájdené oblasti alebo konkrétnu oblasÅ¥quitquit ukonÄiÅ¥ programRAIDpriame kopírovánie blokovchyba ÄítaniaÄítanie zo zariadenia zlyhalorescuerescue ZAÄŒIATOK KONIEC zachrániÅ¥ stratenú oblasÅ¥ v blízkosti ZAÄŒIATKU a KONCAresizerescue ÄŒÃSLO ZAÄŒIATOK KONIEC zmeniÅ¥ veľkosÅ¥ oblasti ÄŒÃSLO a jej súborového systémurmrm MINOR odstrániÅ¥ oblasÅ¥ MINORkoreňovýhľadám systémy súborovchyba hľadaniavyhľadávanie na zariadení zlyhaloselectselect zariadenie zvoliÅ¥ zariadenie, ktoré sa má upravovaÅ¥setset MINOR PREPÃNAÄŒ STAV zmeniÅ¥ voľbu na oblasti MINORzmenÅ¡ujemzmenÅ¡uje sa HPS wrapperzmenÅ¡uje sa vnorený zväzok HFS+Äíslo poÄiatoÄného sektora, %jd prekraÄuje prekraÄuje maximum stanovené tabuľkou oblastí %s %jdodkladacítoggletoggle [ÄŒÃSLO [PRÃZNAK]] prepnúť PRÃZNAK na oblasti ÄŒÃSLOpríliÅ¡ málo argumentovpríliÅ¡ veľa argumentovunitunit JEDNOTKA nastaviÅ¥ predvolenú jednotku na JEDNOTKAversionversion zobrazí verziu a informácie o autorských právach GNU Partedchyba zápisuzapisuje sa HFS Master Directory Blockzapisuje sa HlaviÄka zväzku HFS+zapisujem metadáta skupínzápis na zariadenie zlyhalparted-2.3/po/gl.gmo0000644000000000000000000004724411400005705011253 00000000000000Þ•»ôûÌ ¸¹Ö Ý2è<Xm‹ª(À%é,P?HDÙ "L,y)–!ÀGâ(*<S@?Ñ2D]K=©Iç1"Dg(…®Íê')GLR&q˜$­Òï +\G=¤?â>"ar†Œ¶>T=“;ÑH VvˆŒ’Û¡I}UÇ$ D4P)…¯ ÆÑ ìø -=[sv+/«/Û 0.K)z¤)½ç÷ " < B 3\  Ÿ ¸ ¿ <× ;!<P!;!<É!‚"í‰"Öw#/N$^~$hÝ$HF%H%šØ%@s&@´&7õ&ƒ-'U±'((A7(y(Œ(3£(×(ß( þ()H)Y)v)~z) ù)* ****-*B*]*)f**•*©*®* µ*À*Ä*Ì*Ð*Ù*Þ*æ*í*ö*û*#+$+(+)++U+]+c+h+m++†+++•+°+·+ »+Å+Ê+å+!g-‰- -<›-GØ- .,;.1h.š.(·.6à.#/;/aP/Q²/]0b0 g0Xq0$Ê01ï0#!1HE1.Ž1I½1@2FH2@2Ð2_Ù2[93O•3å31ø3-*46X464&Æ4í4,5 35T5Z5+_5.‹5º5$Ï5&ô5)6 E6f6o…6Põ6QF7F˜7ß7ó7 88Þ-8[ 9[h9UÄ9P:3k:Ÿ:¾: Ç:Õ:Ñæ:?¸;Nø<G=(O= x=;„=3À=ô= >#>?> R> s>>…>˜>+µ>á>? ?9?5L??‚?Â?MÔ?9"@/\@Œ@A¤@æ@ú@A)$A NAYA>vAµAÉAåA"îARBKdBN°BNÿB\NC‡«CÜ3DõE2Fi9Fˆ£FH,GHuG«¾G;jH:¦H6áHžIh·I J @JNaJ°JÇJ=çJ %K.1K `KkKXqKÊKÝKŽàKoL€L‡LLªL­L¾L ÛL0åLM!M>MCM JMUMYM`M dMnMsM{M‚M‹MM)•M¿MÃM3ÆMúMN NNN,N3N:N=NBNaNhN lN wN ƒN,…Œ¥Rwkµ®jH¦[PtLS©‹Q6™ž¬fWOn1h|mŽªC%V-a^A ¶{g$‚`s‘ #yF´„ ˆ¡3‡ 4¤B·<9³KºUi‰Jz°?&Y²\›>5¯€œ=2E”pŠ:)D¸Xš»(b!«d†¢qe˜Z .±­“’'N0G*@o•r+;lxv—¹ }–ƒ"c§I/_~M£Ÿ¨]8 Tu7%0.f%% (time left %.2d:%.2d)%s %s%s %s %s%s disk labels do not support extended partitions.%s disk labels don't support logical or extended partitions.%s during read on %s%s during seek for read on %s%s during seek for write on %s%s during write on %s%s is %dk, but it has %d clusters (%dk).%s is too small for a Mac disk label!%s trying to sync %s to diskATARAID ControllerBad FAT: cluster %d is cross-linked for %s. You should run dosfsck or scandisk.Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk.Bad directory entry for %s: first cluster is the end of file marker.BugCOMMANDs:Can't add a logical partition to %s, because there is no extended partition.Can't add another partition.Can't copy onto an overlapping partition.Can't create any more partitions.Can't have a logical partition outside of the extended partition on %s.Can't have a partition outside the disk!Can't have a primary partition inside an extended partition.Can't have logical partitions outside of the extended partition.Can't move a partition onto itself. Try using resize, perhaps?Can't write to %s, because it is opened read-only.CancelChanging the name of a root or swap partition will prevent Linux from recognising it as such.Checksum is wrong, indicating the partition table is corrupt.Cluster start delta = %d, which is not a multiple of the cluster size %d.Compaq Smart ArrayCorrupted Sun disk label detected.Could not detect file system.Could not get identity of device %s - %sCould not stat device %s - %s.Couldn't flush buffer cache!DAC960 RAID controllerDEVICE is usually /dev/hda or /dev/sda Destination partition number?End?ErrorError allocating buffer cache.Error initialising SCSI device %s - %sError opening %s: %sError writing to the root directory.Expecting a disk label type.Expecting a file system type.Expecting a partition number.Expecting a partition type.FAT %d media %x doesn't match the boot sector's media %x. You should probably run scandisk.FAT boot sector says clusters are 0 sectors. This is weird. FAT boot sector says logical sector size is 0. This is weird. FAT boot sector says there are no FAT tables. This is weird. FLAG is one of: FS-TYPE is one of: FatalFile System: %s File system doesn't have expected sizes for Windows to like it. Cluster size is %dk (%dk expected); number of clusters is %d (%d expected); size of FATs is %d sectors (%d expected).File system has an invalid cluster size for a FAT file system.File system has an invalid sector size for a FAT file system.File system has an invalid signature for a FAT file system.File system is reporting the free space as %d clusters, not %d clusters.File system too small for ext2.File system type?FixFlagsI2O ControllerIf you convert to FAT16, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual).If you convert to FAT32, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual). Also, converting to FAT32 will make the file system unreadable by MS DOS, MS Windows 95a, and MS Windows NT.If you leave your file system as FAT32, then you will not introduce any new problems.IgnoreInconsistent group descriptors!InformationInvalid partition table - recursive partition on %s.Invalid signature %x for Mac disk labels.LABEL-TYPE is one of: Minor: %d NAME is any word you want New device?New disk label type?New state?NoNo ImplementationNo device foundNo valid partition map found.Not enough free inodes!OKOPTIONs:Only logical partitions can be a boot file.Only primary partitions can be root partitions.Only primary partitions can be swap partitions.Out of memory.PART-TYPE is one of: primary, logical, extended Partition %d has an invalid length of 0 bytes!Partition %d has an invalid signature %x.Partition doesn't exist.Partition map has no partition map entry!Partition name?Partition number?Partition type?Partition(s) on %s are being used.RetrySTATE is one of: on, off Sorry, can't move the start of ext2 partitions yet!Source device?Source partition number?Start?Sun disk label is full.Support for checking %s file systems is not implemented yet.Support for copying %s file systems is not implemented yet.Support for creating %s file systems is not implemented yet.Support for opening %s file systems is not implemented yet.Support for resizing %s file systems is not implemented yet.The FATs don't match. If you don't know what this means, then select cancel, run scandisk on the file system, and then come back.The Whole Disk partition is the only available one left. Generally, it is not a good idea to overwrite this partition with a real one. Solaris may not be able to boot without it, and SILO (the sparc boot loader) appreciates it as well.The backup GPT table is not at the end of the disk, as it should be. This might mean that another operating system believes the disk is smaller. Fix, by moving the backup to the end (and removing the old backup)?The disk label describes a disk bigger than %s.The driver descriptor says the physical block size is %d bytes, but Linux says it is %d bytes.The file %s is marked as a system file. This means moving it could cause some programs to stop working.The file system can only be resized to this size by converting to FAT16.The file system can only be resized to this size by converting to FAT32.The information sector has the wrong signature (%x). Select cancel for now, and send in a bug report. If you're desperate, it's probably safe to ignore.The partition's boot region doesn't occupy the entire partition.The partition's data region doesn't occupy the entire partition.There are no possible configurations for this FAT type.This file system has a logical sector size of %d. GNU Parted is known not to work properly with sector sizes other than 512 bytes.This libparted doesn't have write support for %s. Perhaps it was compiled read-only.Too many bad pages.Too many primary partitionsUnable to open %s read-write (%s). %s has been opened read-only.Unable to open %s.Unable to probe store.Unable to satisfy all constraints on the partition.UnknownUnknown file system type "%s".Using %s WarningWeird block size on device descriptor: %d bytes is not divisible by 512.Would you like to use FAT32?YesYou should reinstall your boot loader before rebooting. Read section 4 of the Parted User documentation for more information.adding groupsbootcheckchecking for bad blockscpdisplays the versiondisplays this help messageextendedfat_table_alloc_cluster: no free clustersfreegrowing file systemhelphiddenhp-servicelbalogicallvmmetadatamkfsmklabelmkpartmkpartfsmovenamenever prompts for user interventionoffonped_device_new() Unsupported device typeprimaryprintquitraidraw block copyingrescueresizermrootsearching for file systemsselectsetshrinkingswapwriting per-group metadataProject-Id-Version: parted 1.6.4-pre2 Report-Msgid-Bugs-To: bug-parted@gnu.org POT-Creation-Date: 2010-05-28 20:30+0200 PO-Revision-Date: 2002-12-07 01:30+0100 Last-Translator: Jacobo Tarrío Barreiro Language-Team: Galician Language: gl MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit %0.f%% (tempo restante %.2d:%.2d)%s %s%s %s %sAs etiquetas de disco %s non soportan particións extendidas.As etiquetas de disco %s non soportan particións lóxicas ou extendidas.%s durante a lectura en %s%s mentres se ía á posición da que ler en %s%s mentres se ía á posición na que escribir en %s%s durante a escritura en %s%s é de %dk, pero ten %d clusters (%dk).¡%s é pequeno de máis para unha etiqueta de disco Mac!%s tentando sincronizar %s no discoControladora ATARAIDFAT incorrecta: o cluster %d ten ligazóns cruzadas para %s. Debería executar dosfsck ou scandisk.FAT incorrecta: cadea non rematada para %s. Debería executar dosfsck ou scandisk.Entrada de directorio incorrecta para %s: o primeiro cluster é o marcador de fin de ficheiro.ErroCOMANDOs:Non se pode engadir unha partición lóxica a %s, porque non hai unha partición estendida.Non se pode engadir máis particións.Non se pode copiar nunha partición que se solapa.Non se poden crear máis particións.Non se pode ter unha partición lóxica fóra da partición estendida en %s.¡Non se pode ter unha partición fóra do disco!Non se pode ter unha partición primaria dentro dunha partición estendida.Non se poden ter particións lóxicas fóra da partición estendida.Non se pode mover unha partición a si mesma. ¿Non quererá usar resize?Non se puido escribir en %s, porque está aberto para só lectura.CancelarCambia-lo nome dunha partición raiz ou de intercambio ha impedir que Linux a recoñeza coma tal.A suma de comprobación é incorrecta, o que indica que a táboa de partición está corrompida.Delta do comezo do cluster = %d, que non é un múltiplo do tamaño do cluster %d.Compaq Smart ArrayDetectouse unha etiqueta de disco Sun corrompida.Non se pode detectar un sistema de ficheiros.Non se puido obte-la identidade do dispositivo %s - %sNon se puido facer "stat" sobre o dispositivo %s - %s.¡Non se puido baleira-lo buffer cache!Controladora RAID DAC960DISPOSITIVO adoita ser /dev/hda ou /dev/sda ¿Número da partición de destino?¿Fin?ErroErro ao buscar espacio para o buffer cache.Erro ao inicializa-lo dispositivo SCSI %s - %sErro ao abrir %s: %sErro ao escribir no directorio raiz.Espérase un tipo de etiqueta de disco.Espérase un tipo de sistema de ficheiros.Espérase un número de partición.Espérase un tipo de partición.Na FAT %d, o soporte %x non coincide co soporte do sector de inicio, %x. Seguramente debería executar scandisk.O sector de inicio FAT di que os clusters teñen 0 sectores. Isto é moi estraño. O sector de inicio FAT di que o tamaño lóxico de sector é 0. Isto é moi estraño. O sector de inicio FAT di que non hai táboas FAT. Isto é moi estraño. MODIF é un destes: TIPO-SF é un destes: Moi graveSistema de Ficheiros: %s O sistema de ficheiros non ten os tamaños esperados para que a Windows lle goste. O tamaño do cluster é %dk (esperábase %dk); o número de clusters é %d (esperábanse %d); o tamaño das FATs é de %d sectores (esperábanse %d).O sistema de ficheiros ten un tamaño de bloque non válido para un sistema de ficheiros FAT.O sistema de ficheiros ten un tamaño de sector incorrecto para un sistema de ficheiros FAT.O sistema de ficheiros ten unha sinatura incorrecta para un sistema de ficheiros FAT.O sistema de ficheiros di que o espacio libre é de %d clusters, non %d clusters.O sistema de ficheiros é pequeno de máis para ext2.¿Tipo de sistema de ficheiros?ArranxarModificadoresControladora I2OSe convirte a FAT16, e MS Windows está instalado na partición, ha ter que reinstala-lo cargador de inicio de MS Windows. Se quere facelo, debería consulta-lo manual de Parted (ou o manual da súa distribución).Se convirte a FAT32, e MS Windows está instalado na partición, ha ter que reinstala-lo cargador de inicio de MS Windows. Se quere facelo, debería consulta-lo manual de Parted (ou o manual da súa distribución). Tamén, a conversión a FAT32 fará o sistema de ficheiros ilexible para MS DOS, MS Windows 95a e MS Windows NT.Se deixa o sistema de ficheiros coma FAT32, non ha introducir novos problemas.Ignorar¡Descriptores de grupo non consistentes!InformaciónTáboa de particións incorrecta - partición recursiva en %s.Sinatura %x non válida para etiquetas de disco Mac.TIPO-ETIQUETA é un destes: Menor: %d NOME é calquera palabra que queira ¿Novo dispositivo?¿Novo tipo de etiqueta de disco?¿Novo estado?NonSen ImplementaciónNon se atopou o dispositivo.Non se atopou un mapa de particións válido.¡Non hai inodes libres dabondo!AceptarOPCIÓNs:Só as particións lóxicas poden ser un ficheiro de inicio.Só as particións primarias poden ser particións raiz.Só as particións primarias poden ser particións de intercambio.Memoria esgotada.TIPO-PARTICION é: primary (primaria), logical (lóxica), extended (estendida) ¡A partición %d ten unha lonxitude non válida de 0 bytes!A partición %d ten unha sinatura %x non válida.A partición non existe.¡O mapa de particións non ten unha entrada do mapa de particións!¿Nome da partición?¿Número de partición?¿Tipo de partición?Esta(n)se a usa-la(s) partición(s) de %s.ReintentarESTADO é un destes: on, off ¡Síntoo, ainda non podo move-lo principio das particións ext2!¿Dispositivo orixe?¿Número da partición orixe?¿Inicio?A etiqueta de disco Sun está chea.O soporte de comprobación de sistemas de ficheiros %s non está implementado aínda.O soporte de copia de sistemas de ficheiros %s non está implementado aínda.O soporte de creación de sistemas de ficheiros %s non está implementado aínda.O soporte de apertura de sistemas de ficheiros %s non está implementado aínda.O soporte de modificación do tamaño de sistemas de ficheiros %s non está implementado aínda.As FATs non coinciden. Se non sabe o que isto significa, escolla "Cancelar", empregue "scandisk" no sistema de ficheiros, e logo volte.A partición de Disco Completo é a única que queda dispoñible. Normalmente non é unha boa idea sobrescribir esta partición cunha de verdade. Solaris pode non arrincar sen ela, e SILO (o cargador de sparc) tamén a aprecia.A copia de seguridade da táboa GPT non está na fin do disco, tal como debería. Isto pode significar que outro sistema operativo cre que o disco é máis pequeno. ¿Quere arranxalo, movendo a copia de seguridade á final (e eliminando a copia vella)?A etiqueta de disco describe un disco maior de %s.O descriptor do controlador di que o tamaño do bloque físico é %d bytes, pero Linux di que é de %d bytes.O ficheiro %s está marcado coma ficheiro de sistema. Isto significa que movelo podería facer que outros programas deixaran de traballar.O sistema de ficheiros só pode alcanzar este tamaño convertindo a FAT16.O sistema de ficheiros só pode alcanzar este tamaño convertindo a FAT32.O sector de información ten unha sinatura incorrecta (%x). Escolla "Cancelar" polo de agora, e envíe un informe de erro. Se está desesperado, pode que sexa seguro ignorar.A rexión de inicio da partición non ocupa toda a partición.A rexión de datos da partición non ocupa toda a partición.Non hai configuracións posibles para este tipo de FAT.Este sistema de ficheiros ten un tamaño de sector lóxico de %d. Sábese que GNU Parted non traballa correctamente con tamaños de sector distintos de 512 bytes.Esta versión de libparted non tén soporte de escritura para %s. Se cadra está compilado para só lectura.Demasiadas páxinas incorrectas.Demasiadas particións primarias.Non se puido abrir %s para lectura-escritura (%s). Abriuse %s para só lectura.Non se puido abrir %s.Non se puido sondea-lo armacén.Non se puideron satisfacer tódalas restriccións da partición.DescoñecidoTipo de sistema de ficheiros "%s" descoñecido.Usando %s AvisoTamaño de bloque estraño no descriptor do dispositivo: %d bytes non é divisible por 512.¿Quere usar FAT32?SiDebería reinstala-lo cargador de inicio antes de reiniciar. Lea a sección 4 da documentación do Usuario de Parted para obter máis información.engadindo gruposiniciocheckbuscando os bloques erróneoscpamosa-la versiónamosar esta mensaxe de axudaestendidafat_table_alloc_cluster: non hai clusters libreslibreaumentando o sistema de ficheiroshelpocultahp-servicelbalóxicalvmmetadatosmkfsmklabelmkpartmkpartfsmovenamenon pedir nunca a intervención do usuariooffonped_device_new() Tipo de dispositivo non soportadoprimariaprintquitraidcopiando bloque a bloquerescueresizermraizbuscando sistemas de ficheirosselectsetencollendointercambiogravando os metadatos por gruposparted-2.3/po/fr.po0000644000000000000000000041314711400005705011113 00000000000000# translation of parted to Français. # Copyright (C) 2009 Free Software Foundation, Inc. # This file is distributed under the same license as the parted package. # Michel Robitaille , traducteur since/depuis 1996. # Laurent Marsac 2006. # Nicolas Provost , 2010. # msgid "" msgstr "" "Project-Id-Version: parted 2.2\n" "Report-Msgid-Bugs-To: bug-parted@gnu.org\n" "POT-Creation-Date: 2010-05-28 20:30+0200\n" "PO-Revision-Date: 2010-02-28 18:31+0100\n" "Last-Translator: Nicolas Provost \n" "Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "argument non valide %s pour %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "argument ambigu %s pour %s" #: lib/argmatch.c:153 #, c-format msgid "Valid arguments are:" msgstr "Arguments valides : " #: lib/closeout.c:112 libparted/labels/fdasd.c:107 msgid "write error" msgstr "erreur d'écriture" #: lib/error.c:181 msgid "Unknown system error" msgstr "Erreur système inconnue" #: lib/getopt.c:527 lib/getopt.c:543 #, c-format msgid "%s: option '%s' is ambiguous\n" msgstr "%s : l'option '%s' est ambiguë\n" #: lib/getopt.c:576 lib/getopt.c:580 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s : l'option '--%s' ne prend pas d'argument\n" #: lib/getopt.c:589 lib/getopt.c:594 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: l'option '%c%s' ne prend pas d'argument\n" #: lib/getopt.c:637 lib/getopt.c:656 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s : l'option '%s' requiert un argument\n" #: lib/getopt.c:694 lib/getopt.c:697 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s : option inconnue '--%s'\n" #: lib/getopt.c:705 lib/getopt.c:708 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s : option inconnue '%c%s'\n" #: lib/getopt.c:757 lib/getopt.c:760 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s : option non valide -- '%c'\n" #: lib/getopt.c:810 lib/getopt.c:827 lib/getopt.c:1035 lib/getopt.c:1053 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s : cette option requiert un argument -- '%c'\n" #: lib/getopt.c:883 lib/getopt.c:899 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s : l'option '-W %s' est ambiguë\n" #: lib/getopt.c:923 lib/getopt.c:941 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s : l'option '-W %s' ne nécessite pas d'argument\n" #: lib/getopt.c:962 lib/getopt.c:980 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s : l'option '%s' requiert un argument\n" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". If the catalog has no translation, #. locale_quoting_style quotes `like this', and #. clocale_quoting_style quotes "like this". #. #. For example, an American English Unicode locale should #. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and #. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION #. MARK). A British English Unicode locale should instead #. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) #. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. #. #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. #: lib/quotearg.c:272 msgid "`" msgstr "«" #: lib/quotearg.c:273 msgid "'" msgstr "»" #: lib/regcomp.c:134 msgid "Success" msgstr "Succès" #: lib/regcomp.c:137 msgid "No match" msgstr "Non trouvé" #: lib/regcomp.c:140 msgid "Invalid regular expression" msgstr "Expression régulière incorrecte" #: lib/regcomp.c:143 msgid "Invalid collation character" msgstr "Suite de caractères invalide" #: lib/regcomp.c:146 msgid "Invalid character class name" msgstr "Nom de classe de caractères invalide" #: lib/regcomp.c:149 msgid "Trailing backslash" msgstr "Problème d'antislash" #: lib/regcomp.c:152 msgid "Invalid back reference" msgstr "Référence invalide" #: lib/regcomp.c:155 msgid "Unmatched [ or [^" msgstr "Non trouvé : [ ou [^" #: lib/regcomp.c:158 msgid "Unmatched ( or \\(" msgstr "Non trouvé : ( ou \\(" #: lib/regcomp.c:161 msgid "Unmatched \\{" msgstr "Non trouvé : \\{" #: lib/regcomp.c:164 msgid "Invalid content of \\{\\}" msgstr "Contenu invalide de \\{\\}" #: lib/regcomp.c:167 msgid "Invalid range end" msgstr "Nombre ou intervalle invalide." #: lib/regcomp.c:170 msgid "Memory exhausted" msgstr "Mémoire épuisée" #: lib/regcomp.c:173 msgid "Invalid preceding regular expression" msgstr "L'expression régulière précédente est incorrecte" #: lib/regcomp.c:176 msgid "Premature end of regular expression" msgstr "Fin prématurée de l'expression régulière" #: lib/regcomp.c:179 msgid "Regular expression too big" msgstr "Expression régulière trop longue" #: lib/regcomp.c:182 msgid "Unmatched ) or \\)" msgstr "Non trouvé : ) ou \\)" #: lib/regcomp.c:703 msgid "No previous regular expression" msgstr "Expression régulière manquante" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[oO]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nN]" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Empaqueté par %s (%s)\n" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Empaqueté par %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "(C)" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "Licence GPLv3+: GNU GPL version 3 ou ultérieure \n" "Logiciel libre : vous êtes libre de le modifier et de le redistribuer.\n" "Il n'y a AUCUNE GARANTIE, dans les limites autorisées par la loi.\n" "\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Ecrit par %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Ecrit par %s et %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Ecrit par %s, %s, et %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "Ecrit par %s, %s, %s,\n" "et %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Ecrit par %s, %s, %s,\n" "%s, et %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Ecrit par %s, %s, %s,\n" "%s, %s, et %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Ecrit par %s, %s, %s,\n" "%s, %s, %s, et %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Ecrit par %s, %s, %s,\n" "%s, %s, %s, %s,\n" "et %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Ecrit par %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, et %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Ecrit par %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, et autres auteurs.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Rapports de bugs à %s\n" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "Envoi des rapports de bugs %s à <%s>\n" #: lib/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "page web %s : <%s>\n" #: lib/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "%s page web : \n" #: lib/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "Aide générale des logiciels GNU : \n" #: lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "mémoire épuisée" #: lib/xstrtol-error.c:63 #, c-format msgid "invalid %s%s argument `%s'" msgstr "argument non valide `%s' pour %s%s" #: lib/xstrtol-error.c:68 #, c-format msgid "invalid suffix in %s%s argument `%s'" msgstr "suffixe non valide dans %s%s argument `%s'" #: lib/xstrtol-error.c:72 #, c-format msgid "%s%s argument `%s' too large" msgstr "%s%s argument `%s' trop grand" #: libparted/arch/beos.c:245 msgid "Disk Image" msgstr "Image Disque" #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277 #: libparted/arch/linux.c:1519 #, c-format msgid "Error opening %s: %s" msgstr "Erreur pendant l'ouverture de %s: %s" #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287 #: libparted/arch/linux.c:1530 #, c-format msgid "Unable to open %s read-write (%s). %s has been opened read-only." msgstr "" "Impossible d'ouvrir %s en lecture-écriture (%s). %s a été ouvert en lecture " "seule." #: libparted/arch/beos.c:419 libparted/arch/linux.c:1688 #, c-format msgid "%s during seek for read on %s" msgstr "%s lors d'un positionnement pour lecture sur %s" #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564 #: libparted/arch/gnu.c:692 libparted/arch/linux.c:1648 #: libparted/arch/linux.c:1729 #, c-format msgid "%s during read on %s" msgstr "%s lors de la lecture sur %s" #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525 #: libparted/arch/linux.c:1805 #, c-format msgid "Can't write to %s, because it is opened read-only." msgstr "Ne peut écrire sur %s car il est ouvert en lecture seule." #: libparted/arch/beos.c:504 libparted/arch/linux.c:1830 #, c-format msgid "%s during seek for write on %s" msgstr "%s lors d'un positionnement pour écriture sur %s" #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646 #: libparted/arch/gnu.c:723 libparted/arch/linux.c:1778 #: libparted/arch/linux.c:1872 libparted/arch/linux.c:1944 #, c-format msgid "%s during write on %s" msgstr "%s lors de l'écriture sur %s" #: debug/clearfat/clearfat.c:62 partprobe/partprobe.c:137 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Essayez `%s --help' pour plus d'informations.\n" #: debug/clearfat/clearfat.c:66 #, c-format msgid "" "Usage: %s [OPTION]\n" " or: %s DEVICE MINOR\n" msgstr "" "Usage: %s [OPTION]\n" " ou: %s PERIPHERIQUE MINEUR\n" #: debug/clearfat/clearfat.c:69 msgid "" "Clear unused space on a FAT partition (a GNU Parted testing tool).\n" "\n" msgstr "" "Nettoie l'espace inutilisé d'une partition FAT (outil de test GNU Parted).\n" "\n" #: debug/clearfat/clearfat.c:73 msgid " --help display this help and exit\n" msgstr " --help affiche cette aide et quitte\n" #: debug/clearfat/clearfat.c:74 msgid " --version output version information and exit\n" msgstr " --version affiche les informations de version et quitte\n" #: debug/clearfat/clearfat.c:76 partprobe/partprobe.c:154 #, c-format msgid "" "\n" "Report bugs to <%s>.\n" msgstr "" "\n" "Envoyer les rapports de bugs à <%s>.\n" #: debug/clearfat/clearfat.c:284 #, c-format msgid "too few arguments" msgstr "pas assez d'arguments" #: debug/clearfat/clearfat.c:289 #, c-format msgid "too many arguments" msgstr "arguments trop nombreux" #: debug/clearfat/clearfat.c:297 #, c-format msgid "invalid minor device number: %s" msgstr "n° mineur de périphérique non valide : %s" #: partprobe/partprobe.c:141 #, c-format msgid "Usage: %s [OPTION] [DEVICE]...\n" msgstr "Usage: %s [OPTION] [PERIPHERIQUE]...\n" #: partprobe/partprobe.c:142 msgid "" "Inform the operating system about partition table changes.\n" "\n" " -d, --dry-run do not actually inform the operating system\n" " -s, --summary print a summary of contents\n" " -h, --help display this help and exit\n" " -v, --version output version information and exit\n" msgstr "" "Informe le système d'exploitation des changements survenus dans la table de " "partitions.\n" "\n" " -d, --dry-run ne pas informer le système d'exploitation pour le moment\n" " -s, --summary affiche un résumé\n" " -h, --help affiche l'aide et quitte\n" " -v, --version affiche les informations de version et quitte\n" #: partprobe/partprobe.c:150 msgid "" "\n" "When no DEVICE is given, probe all partitions.\n" msgstr "" "\n" "Quand aucun PERIPHERIQUE n'est précisé, teste toutes les partitions.\n" #: libparted/arch/gnu.c:110 #, c-format msgid "Unable to open %s." msgstr "Impossible d'ouvrir %s." #: libparted/arch/gnu.c:130 msgid "Unable to probe store." msgstr "Impossible de tester le stockage." #: libparted/arch/gnu.c:368 msgid "" "The partition table cannot be re-read. This means you need to reboot before " "mounting any modified partitions. You also need to reinstall your boot " "loader before you reboot (which may require mounting modified partitions). " "It is impossible do both things! So you'll need to boot off a rescue disk, " "and reinstall your boot loader from the rescue disk. Read section 4 of the " "Parted User documentation for more information." msgstr "" "La table de partition ne peut être relue, vous avez donc besoin de " "redémarrer avant de monter toute partition modifiée. Vous devez aussi " "réinstaller le gestionnaire de démarrage avant de redémarrer (ce qui peut " "nécessiter de monter les partitions modifiées). Il est impossible de faire " "ces deux choses à la fois ! C'est pourquoi vous aurez besoin de démarrer à " "partir d'un disque de secours et de ré-installer le gestionnaire de " "démarrage à partir de ce disque. Consultez la section 4 de la documentation " "utilisateur de Parted pour plus de détails." #: libparted/arch/gnu.c:385 #, c-format msgid "" "The partition table on %s cannot be re-read (%s). This means the Hurd knows " "nothing about any modifications you made. You should reboot your computer " "before doing anything with %s." msgstr "" "La table de partition sur %s ne peut être relue (%s). Cela signifie que Hurd " "ne connaît rien des modifications effectuées. Vous devriez redémarrer " "l'ordinateur avant de faire quoi que ce soit avec %s." #: libparted/arch/gnu.c:396 parted/parted.c:2719 msgid "" "You should reinstall your boot loader before rebooting. Read section 4 of " "the Parted User documentation for more information." msgstr "" "Vous devriez réinstaller le gestionnaire de démarrage avant de redémarrer. " "Consultez la section 4 de la documentation utilisateur de Parted pour plus " "d'informations." #: libparted/arch/gnu.c:788 #, c-format msgid "%s trying to sync %s to disk" msgstr "%s essaie de synchroniser %s sur le disque" #: libparted/arch/linux.c:509 #, c-format msgid "Could not stat device %s - %s." msgstr "Ne peut évaluer le statut du périphérique %s - %s." #: libparted/arch/linux.c:566 #, c-format msgid "Unable to determine the dm type of %s." msgstr "Impossible de déterminer le type dm de %s." #: libparted/arch/linux.c:658 #, c-format msgid "" "Could not determine sector size for %s: %s.\n" "Using the default sector size (%lld)." msgstr "" "Impossible de déterminer la taille des secteurs de %s : %s.\n" "Utilisation de la taille des secteurs par défaut (%lld)." #: libparted/arch/linux.c:679 #, c-format msgid "" "Could not determine physical sector size for %s.\n" "Using the logical sector size (%lld)." msgstr "" "Impossible de déterminer la taille des secteurs physiques de %s.\n" "Utilisation de la taille des secteurs logiques (%lld)." #: libparted/arch/linux.c:728 #, c-format msgid "Unable to determine the size of %s (%s)." msgstr "Impossible de déterminer la taille de %s (%s)." #: libparted/arch/linux.c:814 #, c-format msgid "Could not get identity of device %s - %s" msgstr "Impossible d'obtenir l'identité du périphérique %s - %s" #: libparted/arch/linux.c:823 msgid "Generic IDE" msgstr "IDE générique" #: libparted/arch/linux.c:844 #, c-format msgid "" "Device %s has multiple (%d) logical sectors per physical sector.\n" "GNU Parted supports this EXPERIMENTALLY for some special disk label/file " "system combinations, e.g. GPT and ext2/3.\n" "Please consult the web site for up-to-date information." msgstr "" "Le périphérique %s a de multiples (%d) secteurs logiques par secteur " "physique.\n" "GNU Parted supporte cela de manière EXPERIMENTALE pour certaines étiquettes " "de disque / combinaisons spéciales de systèmes de fichiers, i.e. GPT et " "ext2/3.\n" "Merci de consulter le site web pour des informations à jour." #: libparted/arch/linux.c:1019 #, c-format msgid "Error initialising SCSI device %s - %s" msgstr "Erreur d'initialisation du périphérique SCSI %s - %s" #: libparted/arch/linux.c:1083 #, c-format msgid "" "The device %s has zero length, and can't possibly store a file system or " "partition table. Perhaps you selected the wrong device?" msgstr "" "Le périphérique %s a une taille nulle et ne peut donc pas stocker un système " "de fichiers ou une table de partition. Peut-être avez-vous sélectionné le " "mauvais périphérique ?" #: libparted/arch/linux.c:1190 #, c-format msgid "" "Unable to determine geometry of file/device %s. You should not use Parted " "unless you REALLY know what you're doing!" msgstr "" "Impossible de déterminer la géométrie du fichier/périphérique %s. Vous ne " "devriez pas utiliser Parted sans VRAIMENT savoir ce que vous faites !" #: libparted/arch/linux.c:1250 msgid "Generic SD/MMC Storage Card" msgstr "Carte de stockage SD/MMC générique" #: libparted/arch/linux.c:1303 msgid "DAC960 RAID controller" msgstr "Contrôleur RAID DAC960" #: libparted/arch/linux.c:1308 msgid "Promise SX8 SATA Device" msgstr "Périphérique Promise SX8 SATA" #: libparted/arch/linux.c:1313 msgid "ATA over Ethernet Device" msgstr "" #: libparted/arch/linux.c:1319 msgid "IBM S390 DASD drive" msgstr "Disque IBM S390 DASD" #: libparted/arch/linux.c:1325 msgid "IBM iSeries Virtual DASD" msgstr "IBM iSeries Virtual DASD" #: libparted/arch/linux.c:1330 msgid "Compaq Smart Array" msgstr "Compaq Smart Array" #: libparted/arch/linux.c:1335 msgid "ATARAID Controller" msgstr "Contrôleur ATARAID" #: libparted/arch/linux.c:1340 msgid "I2O Controller" msgstr "Contrôleur I2O" #: libparted/arch/linux.c:1345 msgid "User-Mode Linux UBD" msgstr "User-Mode Linux UBD" #: libparted/arch/linux.c:1358 #, c-format msgid "Linux device-mapper (%s)" msgstr "Mappeur de périphériques Linux (%s)" #: libparted/arch/linux.c:1369 msgid "Xen Virtual Block Device" msgstr "Périphérique par blocs virtuel Xen" #: libparted/arch/linux.c:1374 msgid "Unknown" msgstr "Inconnu" #: libparted/arch/linux.c:1383 msgid "Virtio Block Device" msgstr "Périphérique par blocs Virtio" #: libparted/arch/linux.c:1388 msgid "Linux Software RAID Array" msgstr "" #: libparted/arch/linux.c:1395 msgid "ped_device_new() Unsupported device type" msgstr "ped_device_new() Type de périphérique non supporté" #: libparted/arch/linux.c:1492 libparted/arch/linux.c:1564 #, c-format msgid "Error fsyncing/closing %s: %s" msgstr "Erreur de synchronisation/fermeture %s: %s" #: libparted/arch/linux.c:1728 #, c-format msgid "end of file while reading %s" msgstr "fin de fichier atteinte en lisant %s" #: libparted/arch/linux.c:2365 #, c-format msgid "" "Error informing the kernel about modifications to partition %s -- %s. This " "means Linux won't know about any changes you made to %s until you reboot -- " "so you shouldn't mount it or use it in any way before rebooting." msgstr "" "Erreur lors de la transmission au kernel des modifications de la partition " "%s - %s. Cela signifie que Linux ne reconnaîtra aucun des changements faits " "sur %s avant de redémarrer - vous ne devriez donc pas le monter ou " "l'utiliser avant de redémarrer." #: libparted/arch/linux.c:2503 #, fuzzy, c-format msgid "Unable to determine the size and length of %s." msgstr "Impossible de déterminer la taille de %s (%s)." #: libparted/arch/linux.c:2528 #, fuzzy, c-format msgid "Failed to add partition %d (%s)" msgstr "%s : Impossible de lire les blocs de la partition %llu\n" #: libparted/arch/linux.c:2555 #, c-format msgid "" "Partition(s) %s on %s have been written, but we have been unable to inform " "the kernel of the change, probably because it/they are in use. As a result, " "the old partition(s) will remain in use. You should reboot now before " "making further changes." msgstr "" #: libparted/arch/linux.c:2681 #, c-format msgid "" "parted was unable to re-read the partition table on %s (%s). This means " "Linux won't know anything about the modifications you made. " msgstr "" "Parted a été incapable de relire la table de partition sur %s (%s). Cela " "signifie que Linux ne reconnaîtra aucune des modifications effectuées avant " "de redémarrer. Vous devriez redémarrer votre ordinateur." #: libparted/cs/geom.c:162 #, c-format msgid "Can't have the end before the start! (start sector=%jd length=%jd)" msgstr "" "La fin ne peut pas être avant le début ! (secteur début=%jd longueur=%jd)" #: libparted/cs/geom.c:170 msgid "Can't have a partition outside the disk!" msgstr "La partition ne peut pas être en dehors du disque !" #: libparted/cs/geom.c:385 #, c-format msgid "Attempt to write sectors %ld-%ld outside of partition on %s." msgstr "" "Tentative d'écriture des secteurs %ld-%ld en dehors de la partition sur %s." #: libparted/cs/geom.c:425 libparted/fs/linux_swap/linux_swap.c:488 msgid "checking for bad blocks" msgstr "recherche de blocs défectueux" #: libparted/debug.c:97 #, c-format msgid "Backtrace has %d calls on stack:\n" msgstr "Backtrace : %d appels sur la pile:\n" #: libparted/debug.c:110 #, c-format msgid "Assertion (%s) at %s:%d in function %s() failed." msgstr "Assertion (%s) à %s: échec de %d dans la fonction %s()." #: libparted/disk.c:193 #, c-format msgid "%s: unrecognised disk label" msgstr "Impossible d'ouvrir %s - étiquette de disque non reconnue." #: libparted/disk.c:486 #, c-format msgid "" "This libparted doesn't have write support for %s. Perhaps it was compiled " "read-only." msgstr "" "Cette librairie \"libparted\" n'a pas de support pour l'écriture sur %s. " "Peut-être a-t-elle été compilée pour la lecture seulement." #: libparted/disk.c:631 #, c-format msgid "Partition %d is %s, but the file system is %s." msgstr "La partition %d est %s mais le système de fichiers est %s." #: libparted/disk.c:841 msgid "cylinder_alignment" msgstr "alignement_cylindre" #: libparted/disk.c:847 #, c-format msgid "Unknown disk flag, %d." msgstr "Drapeau de partition inconnu, %d." #: libparted/disk.c:1286 #, c-format msgid "%s disk labels do not support extended partitions." msgstr "Les étiquettes du disque %s ne supportent pas les partitions étendues." #: libparted/disk.c:1865 #, c-format msgid "%s disk labels don't support logical or extended partitions." msgstr "" "Les étiquettes du disque %s ne supportent pas les partitions logiques ou " "étendues." #: libparted/disk.c:1878 msgid "Too many primary partitions." msgstr "Trop de partitions primaires." #: libparted/disk.c:1887 #, c-format msgid "" "Can't add a logical partition to %s, because there is no extended partition." msgstr "" "Impossible d'ajouter une partition logique sur %s parce qu'il n'y a pas de " "partition étendue." #: libparted/disk.c:1911 #, c-format msgid "Can't have more than one extended partition on %s." msgstr "On ne peut avoir plus d'une partition étendue sur %s" #: libparted/disk.c:1921 msgid "Can't have logical partitions outside of the extended partition." msgstr "Ne peut avoir de partition logique en dehors de la partition étendue." #: libparted/disk.c:1946 #, c-format msgid "Can't have a logical partition outside of the extended partition on %s." msgstr "" "Ne peut avoir une partition logique en dehors de la partition étendue sur %s." #: libparted/disk.c:1956 libparted/disk.c:2015 libparted/disk.c:2193 msgid "Can't have overlapping partitions." msgstr "Impossible d'avoir des partitions qui se chevauchent." #: libparted/disk.c:1964 msgid "Can't have a primary partition inside an extended partition." msgstr "" "Impossible d'avoir une partition primaire à l'intérieur d'une partition " "étendue." #: libparted/disk.c:2395 msgid "metadata" msgstr "méta-données" #: libparted/disk.c:2397 msgid "free" msgstr "libre" #: libparted/disk.c:2399 parted/ui.c:1193 parted/ui.c:1221 msgid "extended" msgstr "étendue" #: libparted/disk.c:2401 parted/ui.c:1197 parted/ui.c:1225 msgid "logical" msgstr "logique" #: libparted/disk.c:2403 parted/ui.c:1189 parted/ui.c:1217 msgid "primary" msgstr "primaire" #: libparted/disk.c:2419 msgid "boot" msgstr "démarrage" #: libparted/disk.c:2421 msgid "bios_grub" msgstr "bios_grub" #: libparted/disk.c:2423 msgid "root" msgstr "racine" #: libparted/disk.c:2425 msgid "swap" msgstr "partition d'échange (swap)" #: libparted/disk.c:2427 msgid "hidden" msgstr "caché" #: libparted/disk.c:2429 msgid "raid" msgstr "raid" #: libparted/disk.c:2431 msgid "lvm" msgstr "lvm (gestionnaire de volumes logiques)" #: libparted/disk.c:2433 msgid "lba" msgstr "lba" #: libparted/disk.c:2435 msgid "hp-service" msgstr "hp-service" #: libparted/disk.c:2437 msgid "palo" msgstr "palo" #: libparted/disk.c:2439 msgid "prep" msgstr "prep" #: libparted/disk.c:2441 msgid "msftres" msgstr "msftres" #: libparted/disk.c:2443 msgid "atvrecv" msgstr "atvrecv" #: libparted/disk.c:2445 msgid "diag" msgstr "" #: libparted/disk.c:2451 #, c-format msgid "Unknown partition flag, %d." msgstr "Fanion de partition inconnu %d." #: libparted/exception.c:77 msgid "Information" msgstr "Information" #: libparted/exception.c:78 msgid "Warning" msgstr "Avertissement" #: libparted/exception.c:79 msgid "Error" msgstr "Erreur" #: libparted/exception.c:80 msgid "Fatal" msgstr "Fatal" #: libparted/exception.c:81 msgid "Bug" msgstr "Bug" #: libparted/exception.c:82 msgid "No Implementation" msgstr "Pas d'implémentation" #: libparted/exception.c:86 msgid "Fix" msgstr "Réparer" #: libparted/exception.c:87 msgid "Yes" msgstr "Oui" #: libparted/exception.c:88 msgid "No" msgstr "Non" #: libparted/exception.c:89 msgid "OK" msgstr "OK" #: libparted/exception.c:90 msgid "Retry" msgstr "Réessayer" #: libparted/exception.c:91 msgid "Ignore" msgstr "Ignorer" #: libparted/exception.c:92 msgid "Cancel" msgstr "Annuler" #: libparted/exception.c:132 #, c-format msgid "" "A bug has been detected in GNU Parted. Refer to the web site of parted " "http://www.gnu.org/software/parted/parted.html for more information of what " "could be useful for bug submitting! Please email a bug report to bug-" "parted@gnu.org containing at least the version (%s) and the following " "message: " msgstr "" "Une anomalie a été détectée dans GNU Parted. Reportez-vous au site de Parted " "http://www.gnu.org/software/parted/parted.html pour plus d'informations sur " "ce qui pourrait être utile pour le signalement de l'anomalie ! SVP rapportez " "celle-ci à bug-parted@gnu.org en précisant au moins la version (%s) et le " "message suivant :" #: libparted/filesys.c:462 msgid "Could not detect file system." msgstr "Ne peut détecter le système de fichiers." #: libparted/filesys.c:473 msgid "The file system is bigger than its volume!" msgstr "Le système de fichiers est plus gros que le volume physique !" #: libparted/filesys.c:481 #, c-format msgid "Support for opening %s file systems is not implemented yet." msgstr "L'ouverture du système de fichiers %s n'est pas encore supportée." #: libparted/filesys.c:523 #, c-format msgid "Support for creating %s file systems is not implemented yet." msgstr "" "Le support pour la création du système de fichiers %s n'est pas encore " "implanté." #: libparted/filesys.c:583 #, c-format msgid "Support for checking %s file systems is not implemented yet." msgstr "" "Le support pour la vérification du système de fichiers %s n'est pas encore " "implanté." #: libparted/filesys.c:649 msgid "raw block copying" msgstr "copie brute de blocs" #: libparted/filesys.c:660 msgid "growing file system" msgstr "augmentation de taille du système de fichiers" #: libparted/filesys.c:700 msgid "Can't copy onto an overlapping partition." msgstr "Impossible de copier sur une partition qui en chevauche une autre." #: libparted/filesys.c:722 #, c-format msgid "" "Direct support for copying file systems is not yet implemented for %s. " "However, support for resizing is implemented. Therefore, the file system " "can be copied if the new partition is at least as big as the old one. So, " "either shrink the partition you are trying to copy, or copy to a bigger " "partition." msgstr "" "Le support direct pour la copie de système de fichiers n'est pas encore " "implanté pour %s. Cependant le support pour le redimensionnement l'est. Par " "conséquent, le système de fichiers peut être copié si la nouvelle partition " "est au moins aussi grande que l'ancienne. Donc, vous pouvez soit réduire la " "partition que vous tenter de copier, soit la copier vers une partition plus " "grande." #: libparted/filesys.c:736 #, c-format msgid "Support for copying %s file systems is not implemented yet." msgstr "" "Le support pour la copie du système de fichiers %s n'est pas encore implanté." #: libparted/filesys.c:774 #, c-format msgid "Support for resizing %s file systems is not implemented yet." msgstr "" "Le support pour la modification de la taille du système de fichiers %s n'est " "pas encore implanté." #: libparted/fs/reiserfs/reiserfs.c:315 msgid "creating" msgstr "création en cours" #: libparted/fs/reiserfs/reiserfs.c:402 msgid "The file system is in an invalid state. Perhaps it is mounted?" msgstr "" "Le système de fichiers est dans un état incorrect. Peut-être est-il monté ?" #: libparted/fs/reiserfs/reiserfs.c:410 msgid "The file system is in old (unresizeable) format." msgstr "Le système de fichiers est d'un format ancien (non redimensionnable)." #: libparted/fs/reiserfs/reiserfs.c:416 msgid "Invalid free blocks count. Run reiserfsck --check first." msgstr "Nombre de blocs libres incorrect. Exécutez d'abord reiserfsck --check." #: libparted/fs/reiserfs/reiserfs.c:431 msgid "checking" msgstr "contrôle en cours" #: libparted/fs/reiserfs/reiserfs.c:437 msgid "Reiserfs tree seems to be corrupted. Run reiserfsck --check first." msgstr "" "L'arbre du système de fichiers Reiser semble corrompu. Exécutez d'abord " "reiserfsck --check." #: libparted/fs/reiserfs/reiserfs.c:449 msgid "" "The reiserfs file system passed a basic check. For a more comprehensive " "check, run reiserfsck --check." msgstr "" "Le système de fichiers Reiser a passé la vérification de base. Pour une " "vérification plus approfondie, utilisez reiserfsck --check." #: libparted/fs/reiserfs/reiserfs.c:474 msgid "Sorry, can't move the start of reiserfs partitions yet." msgstr "" "Désolé, impossible de déplacer le début d'une partition Reiser pour " "l'instant." #: libparted/fs/reiserfs/reiserfs.c:490 msgid "Couldn't reopen device abstraction layer for read/write." msgstr "" "Impossible de réouvrir le gestionnaire virtuel de lecture/écriture pour ce " "périphérique." #: libparted/fs/reiserfs/reiserfs.c:508 libparted/fs/ext2/ext2_resize.c:552 #: libparted/fs/hfs/hfs.c:250 libparted/fs/hfs/hfs.c:629 msgid "shrinking" msgstr "réduction en cours" #: libparted/fs/reiserfs/reiserfs.c:520 msgid "expanding" msgstr "agrandissement en cours" #: libparted/fs/reiserfs/reiserfs.c:592 msgid "Couldn't create reiserfs device abstraction handler." msgstr "" "Impossible de créer le gestionnaire virtuel Reiser sur ce périphérique." #: libparted/fs/reiserfs/reiserfs.c:606 #, c-format msgid "Device is too small for %lu blocks." msgstr "Périphérique trop petit pour %lu blocs." #: libparted/fs/reiserfs/reiserfs.c:615 msgid "copying" msgstr "copie en cours" #: libparted/fs/reiserfs/reiserfs.c:682 #, c-format msgid "Couldn't resolve symbol %s. Error: %s." msgstr "Impossible de résoudre le symbole %s. Erreur: %s." #: libparted/fs/reiserfs/reiserfs.c:704 msgid "GNU Parted found an invalid libreiserfs library." msgstr "GNU Parted a trouvé une librairie \"libreiserfs\" invalide." #: libparted/fs/reiserfs/reiserfs.c:715 #, c-format msgid "" "GNU Parted has detected libreiserfs interface version mismatch. Found %d-" "%d, required %d. ReiserFS support will be disabled." msgstr "" "GNU Parted a détecté un problème de version de l'interface de la librairie " "\"libreiserfs\". Trouvé %d-%d, %d requis. Le support du système de fichiers " "Reiser est désactivé." #: libparted/labels/aix.c:103 msgid "Support for reading AIX disk labels is is not implemented yet." msgstr "" "Le support pour la lecture du système de fichiers AIX n'est pas encore " "implanté." #: libparted/labels/aix.c:114 msgid "Support for writing AIX disk labels is is not implemented yet." msgstr "" "Le support pour l'écriture du système de fichiers AIX n'est pas encore " "implanté." #: libparted/labels/aix.c:127 msgid "" "Support for adding partitions to AIX disk labels is not implemented yet." msgstr "" "Le support pour la création de partitions AIX n'est pas encore implanté." #: libparted/labels/aix.c:137 msgid "" "Support for duplicating partitions in AIX disk labels is not implemented yet." msgstr "Le support pour la copie de partitions AIX n'est pas encore implanté." #: libparted/labels/aix.c:155 msgid "" "Support for setting system type of partitions in AIX disk labels is not " "implemented yet." msgstr "" "Le support pour la création du type de système de fichiers AIX n'est pas " "encore implanté." #: libparted/labels/aix.c:165 msgid "Support for setting flags in AIX disk labels is not implemented yet." msgstr "" "Le support pour la modification des drapeaux du système de fichiers AIX " "n'est pas encore implanté." #: libparted/labels/bsd.c:568 libparted/labels/dasd.c:783 #: libparted/labels/dos.c:2092 libparted/labels/dvh.c:788 #: libparted/labels/gpt.c:1750 libparted/labels/loop.c:245 #: libparted/labels/mac.c:1424 libparted/labels/pc98.c:749 #: libparted/labels/rdb.c:1051 libparted/labels/sun.c:821 msgid "Unable to satisfy all constraints on the partition." msgstr "Impossible de satisfaire toutes les contraintes sur la partition." #: libparted/labels/bsd.c:593 msgid "Unable to allocate a bsd disklabel slot." msgstr "Impossible d'allouer l'entrée d'une étiquette de disque BSD." #: libparted/labels/dasd.c:809 msgid "Unable to allocate a dasd disklabel slot" msgstr "Impossible d'allouer l'entrée d'une étiquette de disque DASD." #: libparted/labels/dos.c:882 #, c-format msgid "Invalid partition table on %s -- wrong signature %x." msgstr "Table de partition invalide sur %s - signature erronée %x." #: libparted/labels/dos.c:910 #, c-format msgid "Invalid partition table - recursive partition on %s." msgstr "Table de partition invalide - partition récursive sur %s." #: libparted/labels/dos.c:1420 msgid "Extended partitions cannot be hidden on msdos disk labels." msgstr "" "Les partitions étendues ne peuvent être cachées sur les disques étiquetés MS-" "DOS." #: libparted/labels/dos.c:2074 msgid "Parted can't resize partitions managed by Windows Dynamic Disk." msgstr "" "Parted ne peut redimensionner les partitions gérées par Windows Dynamic Disk." #: libparted/labels/dvh.c:201 #, c-format msgid "%s has no extended partition (volume header partition)." msgstr "%s n'a pas de partition étendue (partition d'en-tête de volume)." #: libparted/labels/dvh.c:327 msgid "Checksum is wrong, indicating the partition table is corrupt." msgstr "" "La somme de contrôle est erronée, cela indique que la table de partition est " "corrompue." #: libparted/labels/dvh.c:632 msgid "Only primary partitions can be root partitions." msgstr "Seules les partitions primaires peuvent être des partitions racines." #: libparted/labels/dvh.c:646 msgid "Only primary partitions can be swap partitions." msgstr "Seules les partitions primaires peuvent être des partitions d'échange." #: libparted/labels/dvh.c:660 msgid "Only logical partitions can be a boot file." msgstr "Seules les partitions logiques peuvent être amorçables." #: libparted/labels/dvh.c:737 #, c-format msgid "" "failed to set dvh partition name to %s:\n" "Only logical partitions (boot files) have a name." msgstr "" "impossible de fixer le nom de la partition dvh en %s :\n" "Seules les partitions logiques (d'amorçage) ont un nom." #: libparted/labels/dvh.c:830 msgid "Too many primary partitions" msgstr "Trop de partitions primaires" #: libparted/labels/fdasd.c:98 msgid "open error" msgstr "erreur d'ouverture" #: libparted/labels/fdasd.c:101 msgid "seek error" msgstr "erreur de positionnement" #: libparted/labels/fdasd.c:104 msgid "read error" msgstr "erreur de lecture" #: libparted/labels/fdasd.c:110 msgid "ioctl() error" msgstr "erreur ioctl()" #: libparted/labels/fdasd.c:114 msgid "API version mismatch" msgstr "mauvaise version d'API" #: libparted/labels/fdasd.c:118 msgid "Unsupported disk type" msgstr "Type de disque non supporté" #: libparted/labels/fdasd.c:122 msgid "Unsupported disk format" msgstr "Format de disque non supporté" #: libparted/labels/fdasd.c:126 msgid "Disk is in use" msgstr "Disque en cours d'utilisation" #: libparted/labels/fdasd.c:130 msgid "Syntax error in config file" msgstr "Erreur de syntaxe dans le fichier de configuration" #: libparted/labels/fdasd.c:134 msgid "Volume label is corrupted" msgstr "Etiquette de volume corrompue" #: libparted/labels/fdasd.c:138 msgid "A data set name is corrupted" msgstr "Un ensemble de données (noms) est corrompu" #: libparted/labels/fdasd.c:142 msgid "Memory allocation failed" msgstr "Echec d'une allocation de mémoire" #: libparted/labels/fdasd.c:146 msgid "Device verification failed" msgstr "Echec de vérification du périphérique" #: libparted/labels/fdasd.c:147 msgid "The specified device is not a valid DASD device" msgstr "Le périphérique spécifié n'est pas un périphérique DASD valide" #: libparted/labels/fdasd.c:150 libparted/labels/vtoc.c:179 msgid "Fatal error" msgstr "Erreur fatale" #: libparted/labels/fdasd.c:226 msgid "No room for volume label." msgstr "Pas de place pour l'étiquette de volume." #: libparted/labels/fdasd.c:234 msgid "No room for partition info." msgstr "Pas de place pour les informations de partition." #: libparted/labels/fdasd.c:704 msgid "Invalid VTOC." msgstr "Table de volume (VTOC) incorrecte." #: libparted/labels/fdasd.c:764 msgid "Could not retrieve API version." msgstr "Impossible de détecter la version de l'API." #: libparted/labels/fdasd.c:767 #, c-format msgid "" "The current API version '%d' doesn't match dasd driver API version '%d'!" msgstr "" "La version courante de l'API '%d' ne correspond pas avec celle du pilote " "DASD '%d' !" #: libparted/labels/fdasd.c:804 msgid "Could not retrieve disk geometry information." msgstr "Impossible d'analyser la géométrie du disque." #: libparted/labels/fdasd.c:808 msgid "Could not retrieve blocksize information." msgstr "Impossible de trouver la taille de bloc." #: libparted/labels/fdasd.c:813 msgid "Could not retrieve disk information." msgstr "Impossible de trouver les informations sur le disque." #: libparted/labels/fdasd.c:818 msgid "This is not an ECKD disk! This disk type is not supported!" msgstr "Ce n'est pas un disque ECKD ! Ce type de disque n'est pas supporté !" #: libparted/labels/gpt.c:485 #, c-format msgid "" "%s contains GPT signatures, indicating that it has a GPT table. However, it " "does not have a valid fake msdos partition table, as it should. Perhaps it " "was corrupted -- possibly by a program that doesn't understand GPT partition " "tables. Or perhaps you deleted the GPT table, and are now using an msdos " "partition table. Is this a GPT partition table?" msgstr "" "%s contient des signatures GPT, indiquant qu'il a une table GPT. Cependant, " "il n'a pas de table fictive de partitions MSDOS valide tel qu'il le devrait. " "Peut-être a-t-elle été corrompue - peut-être par un programme qui ne " "comprend pas les tables de partitions GPT. Ou peut-être avez-vous supprimé " "la table GPT et utilisez-vous une table de partition MS-DOS. Ceci est-il une " "table de partitions GPT ?" #: libparted/labels/gpt.c:680 #, c-format msgid "" "The format of the GPT partition table is version %x, which is newer than " "what Parted can recognise. Please tell us! bug-parted@gnu.org" msgstr "" "Le format de la table de partitions GPT est de version %x, ce qui est plus " "récent que ce que Parted peut reconnaître. SVP prévenez-nous ! bug-" "parted@gnu.org" #: libparted/labels/gpt.c:727 #, c-format msgid "" "Not all of the space available to %s appears to be used, you can fix the GPT " "to use all of the space (an extra %llu blocks) or continue with the current " "setting? " msgstr "" "Il semble que l'espace disponible sur %s ne soit pas totalement utilisé, " "voulez-vous ajuster la table GPT pour utiliser tout l'espace (%llu blocs en " "plus) ou continuer ainsi ?" #: libparted/labels/gpt.c:936 msgid "" "The backup GPT table is not at the end of the disk, as it should be. This " "might mean that another operating system believes the disk is smaller. Fix, " "by moving the backup to the end (and removing the old backup)?" msgstr "" "La sauvegarde de la table GPT n'est pas à la fin du disque ainsi qu'elle le " "devrait. Cela peut vouloir dire qu'un autre sytème d'exploitation croit que " "le disque est plus petit. Faut-il corriger en déplaçant la copie à la fin du " "disque (et enlever la vieille sauvegarde) ?" #: libparted/labels/gpt.c:960 msgid "" "Both the primary and backup GPT tables are corrupt. Try making a fresh " "table, and using Parted's rescue feature to recover partitions." msgstr "" "Les tables GPT primaire et secondaire (sauvegarde) sont corrompues toutes " "les deux. Essayer d'écrire une nouvelle table et d'utiliser le mode de " "secours de Parted pour recupérer les partitions." #: libparted/labels/gpt.c:971 msgid "" "The backup GPT table is corrupt, but the primary appears OK, so that will be " "used." msgstr "" "La sauvegarde de table GPT est corrompue mais l'originale semble valide et " "sera donc utilisée." #: libparted/labels/gpt.c:983 msgid "" "The primary GPT table is corrupt, but the backup appears OK, so that will be " "used." msgstr "" "La table primaire GPT est corrompue mais sa sauvegarde semble valide, elle " "sera donc utilisée." #: libparted/labels/gpt.c:1007 msgid "primary partition table array CRC mismatch" msgstr "erreur CRC sur la table primaire de partitions" #: libparted/labels/mac.c:185 #, c-format msgid "Invalid signature %x for Mac disk labels." msgstr "Signature invalide %x pour une étiquette de disque Mac." #: libparted/labels/mac.c:232 msgid "Partition map has no partition map entry!" msgstr "La table de partitions n'a pas d'entrée de table de partition !" #: libparted/labels/mac.c:280 #, c-format msgid "%s is too small for a Mac disk label!" msgstr "%s est trop petit pour une étiquette de disque Mac !" #: libparted/labels/mac.c:509 #, c-format msgid "Partition %d has an invalid signature %x." msgstr "La partition %d a une signature invalide %x." #: libparted/labels/mac.c:527 #, c-format msgid "Partition %d has an invalid length of 0 bytes!" msgstr "La partition %d a une longueur invalide de 0 octet !" #: libparted/labels/mac.c:558 msgid "The data region doesn't start at the start of the partition." msgstr "La zone de données ne commence pas au début de la partition." #: libparted/labels/mac.c:575 msgid "The boot region doesn't start at the start of the partition." msgstr "La zone d'amorce n'est pas au début de la partition." #: libparted/labels/mac.c:589 msgid "The partition's boot region doesn't occupy the entire partition." msgstr "" "La zone d'amorce de la partition ne couvre pas entièrement la partition." #: libparted/labels/mac.c:600 msgid "The partition's data region doesn't occupy the entire partition." msgstr "" "La zone de données de la partition ne couvre pas entièrement la partition." #: libparted/labels/mac.c:653 #, c-format msgid "" "Weird block size on device descriptor: %d bytes is not divisible by 512." msgstr "" "Taille bizarre de bloc sur le descripteur de périphérique : %d octets n'est " "pas divisible par 512." #: libparted/labels/mac.c:666 #, c-format msgid "" "The driver descriptor says the physical block size is %d bytes, but Linux " "says it is %d bytes." msgstr "" "Le descripteur du pilote indique une taille physique de bloc de %d octets, " "mais Linux lui indique %d octets." #: libparted/labels/mac.c:720 msgid "No valid partition map found." msgstr "Aucune table de partitions valide n'a été trouvée." #: libparted/labels/mac.c:782 #, c-format msgid "" "Conflicting partition map entry sizes! Entry 1 says it is %d, but entry %d " "says it is %d!" msgstr "" "Tailles conflictuelles des entrées de la table de partition ! L'entrée 1 " "indique %d alors que l'entrée %d indique %d !" #: libparted/labels/mac.c:809 msgid "Weird! There are 2 partitions map entries!" msgstr "Bizarre - Il y a 2 entrées de table de partitions !" #: libparted/labels/mac.c:1355 msgid "" "Changing the name of a root or swap partition will prevent Linux from " "recognising it as such." msgstr "" "Changer le nom d'une partition racine (root) ou d'échange (swap) empêchera " "Linux de les reconnaître en tant que telles." #: libparted/labels/mac.c:1459 msgid "Can't add another partition -- the partition map is too small!" msgstr "" "Impossible d'ajouter une autre partition - la table de partition est trop " "petite !" #: libparted/labels/pc98.c:331 #, c-format msgid "Invalid partition table on %s." msgstr "Table de partition invalide sur %s." #: libparted/labels/pc98.c:384 libparted/labels/pc98.c:462 #, c-format msgid "" "Partition %d isn't aligned to cylinder boundaries. This is still " "unsupported." msgstr "" "La partition %d n'est pas alignée sur une frontière de cylindre. Ce cas de " "figure n'est pas supporté." #: libparted/labels/pc98.c:781 msgid "Can't add another partition." msgstr "Impossible d'ajouter une autre partition." #: libparted/labels/pt-tools.c:125 #, c-format msgid "" "partition length of %jd sectors exceeds the %s-partition-table-imposed " "maximum of %jd" msgstr "" "la longueur de la partition, %jd secteurs, excède le max. imposé par la " "table de partitions %s : %jd" #: libparted/labels/pt-tools.c:138 #, c-format msgid "" "starting sector number, %jd exceeds the %s-partition-table-imposed maximum " "of %jd" msgstr "" "le n° du secteur de départ %jd excède le max. imposé par la table de " "partitions %s : %jd" #: libparted/labels/rdb.c:170 #, c-format msgid "%s : Bad checksum on block %llu of type %s." msgstr "%s : Mauvaise somme de contrôle sur le bloc %llu de type %s." #: libparted/labels/rdb.c:486 #, c-format msgid "%s : Didn't find rdb block, should never happen." msgstr "" "%s : Impossible de trouver le bloc RDB, cela ne devrait jamais arriver." #: libparted/labels/rdb.c:572 #, c-format msgid "%s : Loop detected at block %d." msgstr "%s : Boucle detectée sur le bloc %d." #: libparted/labels/rdb.c:591 #, c-format msgid "%s : The %s list seems bad at block %s." msgstr "%s : La liste %s semble être erronée sur le bloc %s." #: libparted/labels/rdb.c:690 #, c-format msgid "%s : Failed to list bad blocks." msgstr "%s : N'a pas pu détecter les blocs défectueux" #: libparted/labels/rdb.c:698 #, c-format msgid "%s : Failed to list partition blocks." msgstr "%s : Impossible de lister les blocs de la partition." #: libparted/labels/rdb.c:706 #, c-format msgid "%s : Failed to list file system blocks." msgstr "%s : Impossible de lister les blocs du système de fichiers." #: libparted/labels/rdb.c:714 #, c-format msgid "%s : Failed to list boot blocks." msgstr "%s : Impossible de lister les blocs de démarrage." #: libparted/labels/rdb.c:741 #, c-format msgid "Failed to write partition block at %d." msgstr "N'a pas pu écrire le bloc descripteur de partition sur %d." #: libparted/labels/rdb.c:1079 msgid "Unable to allocate a partition number." msgstr "Impossible d'allouer un numéro de partition." #: libparted/labels/sun.c:163 msgid "Corrupted Sun disk label detected." msgstr "Étiquette de disque Sun corrompue." #: libparted/labels/sun.c:316 #, c-format msgid "" "The disk CHS geometry (%d,%d,%d) reported by the operating system does not " "match the geometry stored on the disk label (%d,%d,%d)." msgstr "" "La géométrie CHS du disque (%d,%d,%d) donnée par le système d'exploitation " "ne concorde pas avec la géométrie stockée sur l'étiquette de disque (%d,%d," "%d)." #: libparted/labels/sun.c:338 #, c-format msgid "The disk label describes a disk bigger than %s." msgstr "L'étiquette de disque décrit un disque plus gros que %s." #: libparted/labels/sun.c:510 #, c-format msgid "The disk has %d cylinders, which is greater than the maximum of 65536." msgstr "" "Le disque a %d cylindres, ce qui est plus grand que le maximum : 65536." #: libparted/labels/sun.c:853 msgid "" "The Whole Disk partition is the only available one left. Generally, it is " "not a good idea to overwrite this partition with a real one. Solaris may " "not be able to boot without it, and SILO (the sparc boot loader) appreciates " "it as well." msgstr "" "La partition représentant le disque entier est la seule encore disponible. " "Généralement, ce n'est pas une bonne idée d'écraser cette partition avec une " "vraie. Solaris ne pourra pas démarrer sans elle et SILO (le gestionnaire de " "démarrage sur Sparc) en a besoin." #: libparted/labels/sun.c:868 msgid "Sun disk label is full." msgstr "L'étiquette de disque Sun est remplie." #: libparted/labels/vtoc.c:164 msgid "opening of device failed" msgstr "échec de l'ouverture du périphérique" #: libparted/labels/vtoc.c:168 msgid "seeking on device failed" msgstr "erreur de positionnement sur le périphérique" #: libparted/labels/vtoc.c:172 msgid "writing to device failed" msgstr "échec d'écriture sur le périphérique" #: libparted/labels/vtoc.c:176 msgid "reading from device failed" msgstr "échec de lecture sur le périphérique" #: libparted/labels/vtoc.c:277 libparted/labels/vtoc.c:284 msgid "Could not read volume label." msgstr "Impossible de lire l'étiquette du volume." #: libparted/labels/vtoc.c:303 libparted/labels/vtoc.c:308 msgid "Could not write volume label." msgstr "Impossible d'écrire l'étiquette du volume." #: libparted/labels/vtoc.c:414 msgid "Could not read VTOC labels." msgstr "Impossible de lire les étiquettes de la table de volume (VTOC)." #: libparted/labels/vtoc.c:420 msgid "Could not read VTOC FMT1 DSCB." msgstr "Impossible de lire la table de volume VTOC FMT1 DSCB." #: libparted/labels/vtoc.c:427 msgid "Could not read VTOC FMT4 DSCB." msgstr "Impossible de lire la table de volume VTOC FMT4 DSCB." #: libparted/labels/vtoc.c:434 msgid "Could not read VTOC FMT5 DSCB." msgstr "Impossible de lire la table de volume VTOC FMT5 DSCB." #: libparted/labels/vtoc.c:441 msgid "Could not read VTOC FMT7 DSCB." msgstr "Impossible de lire la table de volume VTOC FMT7 DSCB." #: libparted/labels/vtoc.c:461 msgid "Could not write VTOC labels." msgstr "Impossible d'écrire les étiquettes de la table de volume (VTOC)." #: libparted/labels/vtoc.c:467 msgid "Could not write VTOC FMT1 DSCB." msgstr "Impossible d'écrire la table de volume VTOC FMT1 DSCB." #: libparted/labels/vtoc.c:474 msgid "Could not write VTOC FMT4 DSCB." msgstr "Impossible d'écrire la table de volume VTOC FMT4 DSCB." #: libparted/labels/vtoc.c:481 msgid "Could not write VTOC FMT5 DSCB." msgstr "Impossible d'écrire la table de volume VTOC FMT5 DSCB." #: libparted/labels/vtoc.c:488 msgid "Could not write VTOC FMT7 DSCB." msgstr "Impossible d'écrire la table de volume VTOC FMT7 DSCB." #: libparted/libparted.c:237 libparted/libparted.c:252 msgid "Out of memory." msgstr "Mémoire insuffisante." #: libparted/unit.c:138 msgid "Cannot get unit size for special unit 'COMPACT'." msgstr "Impossible d'obtenir la taille de l'unité spéciale 'COMPACT'." #: libparted/unit.c:384 #, c-format msgid "\"%s\" has invalid syntax for locations." msgstr "\"%s\" a une syntaxe de localisation invalide." #: libparted/unit.c:392 #, c-format msgid "The maximum head value is %d." msgstr "Le nombre maximum de têtes est %d." #: libparted/unit.c:399 #, c-format msgid "The maximum sector value is %d." msgstr "Le nombre maximum de secteurs est %d." #: libparted/unit.c:411 libparted/unit.c:543 #, c-format msgid "The location %s is outside of the device %s." msgstr "La localisation %s est en dehors du périphérique %s." #: libparted/unit.c:525 msgid "Invalid number." msgstr "Nombre invalide." #: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:56 #: libparted/fs/amiga/asfs.c:70 #, c-format msgid "%s : Failed to allocate partition block\n" msgstr "%s : Impossible d'allouer un bloc de partition\n" #: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:69 #: libparted/fs/amiga/asfs.c:82 #, c-format msgid "%s : Failed to allocate block\n" msgstr "%s : Impossible d'allouer un bloc\n" #: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:74 #, c-format msgid "%s : Couldn't read boot block %llu\n" msgstr "%s : Impossible de lire le bloc de démarrage %llu\n" #: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:85 #: libparted/fs/amiga/asfs.c:88 libparted/fs/amiga/asfs.c:102 #, c-format msgid "%s : Couldn't read root block %llu\n" msgstr "%s : Impossible de lire le bloc racine %llu\n" #: libparted/fs/amiga/amiga.c:72 #, c-format msgid "%s : Failed to allocate id list element\n" msgstr "%s : Impossible d'allouer un élément de la liste des identifiants\n" #: libparted/fs/amiga/amiga.c:189 #, c-format msgid "%s : Couldn't read block %llu\n" msgstr "%s : impossible de lire le bloc %llu\n" #: libparted/fs/amiga/amiga.c:202 #, c-format msgid "%s : Bad checksum on block %llu of type %s\n" msgstr "%s : Mauvaise somme de contrôle sur le bloc %llu de type %s\n" #: libparted/fs/amiga/amiga.c:212 #, c-format msgid "%s : Couldn't write block %d\n" msgstr "%s : impossible d'écrire le bloc %d\n" #: libparted/fs/amiga/amiga.c:278 #, c-format msgid "%s : Failed to allocate disk_specific rdb block\n" msgstr "%s : impossible d'allouer le bloc RDB spécifique\n" #: libparted/fs/amiga/amiga.c:289 #, c-format msgid "%s : Didn't find rdb block, should never happen\n" msgstr "" "%s : impossible de trouver le bloc RDB, cela ne devrait jamais arriver\n" #: libparted/fs/amiga/amiga.c:318 #, c-format msgid "%s : Failed to read partition block %llu\n" msgstr "%s : Impossible de lire les blocs de la partition %llu\n" #: libparted/fs/ext2/ext2.c:87 libparted/fs/ext2/ext2.c:112 msgid "Inconsistent group descriptors!" msgstr "Descripteurs de groupe incohérents !" #: libparted/fs/ext2/ext2.c:91 libparted/fs/ext2/ext2.c:116 msgid "File system full!" msgstr "Le système de fichiers est plein !" #: libparted/fs/ext2/ext2.c:686 msgid "Invalid superblock. Are you sure this is an ext2 file system?" msgstr "" "Super bloc invalide. Êtes-vous certain qu'il s'agisse d'un système de " "fichiers ext2 ?" #: libparted/fs/ext2/ext2.c:700 libparted/fs/ext2/ext2_resize.c:658 msgid "File system has errors! You should run e2fsck." msgstr "" "Le système de fichiers contient des erreurs ! Vous devriez exécuter e2fsck." #: libparted/fs/ext2/ext2.c:711 msgid "" "File system was not cleanly unmounted! You should run e2fsck. Modifying an " "unclean file system could cause severe corruption." msgstr "" "Le système de fichiers n'a pas été démonté proprement ! Vous devriez " "exécuter e2fsck. Modifier un système de fichiers non sain pourrait provoquer " "de sérieux problèmes de corruption." #: libparted/fs/ext2/ext2.c:731 msgid "" "File system has an incompatible feature enabled. Compatible features are " "has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs " "or debugfs to remove features." msgstr "" "Une fonction incompatible est activée sur le système de fichiers. Les " "fonctions compatibles sont has_journal, dir_index, filetype, sparse_super et " "large_file. Utiliser tune2fs ou debugfs pour retirer les autres." #: libparted/fs/ext2/ext2.c:745 msgid "Error allocating buffer cache." msgstr "Erreur lors de l'allocation d'un tampon de cache." #: libparted/fs/ext2/ext2_inode_relocator.c:114 msgid "" "Found an inode with a incorrect link count. Better go run e2fsck first!" msgstr "" "Inode repéré avec un nombre incorrect de liens. Il serait préférable " "d'exécuter e2fsck avant tout !" #: libparted/fs/ext2/ext2_inode_relocator.c:487 msgid "Not enough free inodes!" msgstr "Pas assez d'inodes libres !" #: libparted/fs/ext2/ext2_resize.c:223 msgid "File system is too full to remove a group!" msgstr "Le système de fichiers est trop plein pour pouvoir enlever un groupe !" #: libparted/fs/ext2/ext2_resize.c:232 msgid "File system has too many allocated inodes to remove a group!" msgstr "" "Le système de fichiers a trop d'inodes alloués pour pouvoir enlever un " "groupe !" #: libparted/fs/ext2/ext2_resize.c:491 msgid "adding groups" msgstr "ajout de groupes" #: libparted/fs/ext2/ext2_resize.c:528 #, c-format msgid "Your file system is too full to resize it to %i blocks. Sorry." msgstr "" "Votre système de fichiers est trop plein pour pouvoir le redimensionner en " "%i blocs. Désolé." #: libparted/fs/ext2/ext2_resize.c:538 #, c-format msgid "" "Your file system has too many occupied inodes to resize it to %i blocks. " "Sorry." msgstr "" "Le système de fichiers n'a pas assez d'inodes libres pour pouvoir le " "redimensionner en %i blocs. Désolé." #: libparted/fs/ext2/ext2_resize.c:666 msgid "File system was not cleanly unmounted! You should run e2fsck." msgstr "" "Le système de fichiers n'a pas été démonté proprement ! Vous devriez " "exécuter e2fsck." #: libparted/fs/ext2/ext2_resize.c:675 msgid "" "The file system has the 'dir_index' feature enabled. Parted can only resize " "the file system if it disables this feature. You can enable it later by " "running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'." msgstr "" "Le système de fichiers a l'option 'dir_index' activée. Parted ne peut " "redimensionner ce système de fichiers que s'il désactive cette option. Vous " "pourrez l'activer ensuite avec la commande 'tune2fs -O dir_index " "PERIPHERIQUE' puis 'e2fsck -fD PERIPHERIQUE'." #: libparted/fs/ext2/ext2_resize.c:691 msgid "" "A resize operation on this file system will use EXPERIMENTAL code\n" "that MAY CORRUPT it (although no one has reported any such damage yet).\n" "You should at least backup your data first, and run 'e2fsck -f' afterwards." msgstr "" "Une opération de redimentionnement sur ce système de fichiers utilisera un " "code EXPERIMENTAL qui POURRAIT le CORROMPRE (bien que personne n'ait signalé " "un tel problème pour l'instant). Vous devriez au moins sauvegarder vos " "données et ensuite lancer 'e2fsck -f'." #: libparted/fs/ext2/ext2_block_relocator.c:198 msgid "Cross-linked blocks found! Better go run e2fsck first!" msgstr "" "Blocs liés de façon croisée repérés ! Il serait préférable d'exécuter e2fsck " "d'abord !" #: libparted/fs/ext2/ext2_block_relocator.c:537 #, c-format msgid "Block %i has no reference? Weird." msgstr "Le bloc %i n'a pas de référence ? Bizarre." #: libparted/fs/ext2/ext2_block_relocator.c:738 #, c-format msgid "Block %i shouldn't have been marked (%d, %d)!" msgstr "Le bloc %i ne devrait pas avoir été marqué (%d, %d) !" #: libparted/fs/ext2/interface.c:226 msgid "" "The ext2 file system passed a basic check. For a more comprehensive check, " "use the e2fsck program." msgstr "" "Le système de fichiers ext2 a passé la vérification de base. Pour une " "vérification plus approfondie, utilisez e2fsck." #: libparted/fs/ext2/interface.c:243 msgid "Sorry, can't move the start of ext2 partitions yet!" msgstr "" "Désolé, on ne peut pas déplacer le début d'une partition ext2 pour le " "moment !" #: libparted/fs/ext2/ext2_buffer.c:82 msgid "Couldn't flush buffer cache!" msgstr "Impossible de vider le tampon de mémoire cache !" #: libparted/fs/ext2/ext2_mkfs.c:161 msgid "writing per-group metadata" msgstr "écriture des métadonnées de groupes" #: libparted/fs/ext2/ext2_mkfs.c:597 msgid "File system too small for ext2." msgstr "Système de fichiers trop petit pour ext2." #: libparted/fs/fat/calc.c:135 #, c-format msgid "" "You need %s of free disk space to shrink this partition to this size. " "Currently, only %s is free." msgstr "" "Vous avez besoin de %s d'espace libre pour réduire cette partition à cette " "taille. Pour l'instant il n'y a que de %s de libre." #: libparted/fs/fat/context.c:56 #, c-format msgid "" "Cluster start delta = %d, which is not a multiple of the cluster size %d." msgstr "" "Delta de départ du cluster = %d , lequel n'est pas un multiple de la taille " "d'un cluster %d." #: libparted/fs/fat/fat.c:310 #, c-format msgid "Partition too big/small for a %s file system." msgstr "" "La partition est trop grande ou trop petite pour un système de fichiers %s." #: libparted/fs/fat/fat.c:476 msgid "" "The FATs don't match. If you don't know what this means, then select " "cancel, run scandisk on the file system, and then come back." msgstr "" "Les tables FAT ne concordent pas. Si vous ne savez pas ce que cela signifie " "alors sélectionnez « annuler » (cancel) et exécutez scandisk sur le système " "de fichiers, puis réessayez." #: libparted/fs/fat/fat.c:516 msgid "There are no possible configurations for this FAT type." msgstr "Il n'y a pas de configuration possible pour ce type FAT." #: libparted/fs/fat/fat.c:528 #, c-format msgid "" "File system doesn't have expected sizes for Windows to like it. Cluster " "size is %dk (%dk expected); number of clusters is %d (%d expected); size of " "FATs is %d sectors (%d expected)." msgstr "" "Le système de fichiers ne correspond pas à des tailles compatibles avec " "Windows. La taille du cluster est %dk (%dk attendu). Le nombre de clusters " "est %d (%d attendu). La taille des FAT est de %d secteurs (%d attendu)." #: libparted/fs/fat/fat.c:551 #, c-format msgid "" "File system is reporting the free space as %d clusters, not %d clusters." msgstr "" "Le système de fichiers annonce un espace libre de %d clusters et non pas %d " "clusters." #: libparted/fs/fat/fat.c:876 msgid "" "GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT " "support will be disabled." msgstr "" "GNU Parted a été mal compilé : le secteur d'amorce FAT devrait être de 512 " "octets. Le support du système de fichiers FAT sera désactivé." #: libparted/fs/fat/resize.c:158 msgid "" "There's not enough room in the root directory for all of the files. Either " "cancel, or ignore to lose the files." msgstr "" "Il n'y a pas assez d'espace dans le répertoire racine (root) pour tous les " "fichiers. Soit annuler (cancel), soit ignorer (ignore) avec perte de " "fichiers." #: libparted/fs/fat/resize.c:299 msgid "Error writing to the root directory." msgstr "Erreur d'écriture du répertoire racine (root)." #: libparted/fs/fat/resize.c:488 msgid "If you leave your file system as FAT16, then you will have no problems." msgstr "" "Si vous conservez votre système de fichiers en FAT16, vous n'aurez pas de " "problème." #: libparted/fs/fat/resize.c:491 msgid "" "If you convert to FAT16, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual)." msgstr "" "Si vous convertissez le système de fichiers en FAT16 et que MS WIndows est " "installé sur cette partition alors vous devrez réinstaller le gestionnaire " "de démarrage de MS Windows. Si vous désirez faire cela, vous devriez " "consulter le manuel de Parted (ou le manuel de votre distribution)." #: libparted/fs/fat/resize.c:499 msgid "" "If you leave your file system as FAT32, then you will not introduce any new " "problems." msgstr "" "Si vous conservez votre système de fichiers en FAT32 alors vous " "n'introduirez pas de nouveaux problèmes." #: libparted/fs/fat/resize.c:503 msgid "" "If you convert to FAT32, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual). Also, " "converting to FAT32 will make the file system unreadable by MS DOS, MS " "Windows 95a, and MS Windows NT." msgstr "" "Si vous convertissez en FAT32 et que MS Windows est installé sur cette " "partition, alors vous devrez réinstaller le gestionnaire de démarrage de MS " "Windows. Si vous désirez faire cela, vous devriez consulter le manuel de " "Parted (ou le manuel de votre distribution). Notez que la conversion en " "FAT32 rendra le système de fichiers illisible par MS DOS, MS Windows 95a et " "MS Windows NT." #: libparted/fs/fat/resize.c:517 #, c-format msgid "%s %s %s" msgstr "%s %s %s" #: libparted/fs/fat/resize.c:518 msgid "Would you like to use FAT32?" msgstr "Voulez-vous utiliser FAT32 ?" #: libparted/fs/fat/resize.c:549 libparted/fs/fat/resize.c:565 #, c-format msgid "%s %s" msgstr "%s %s" #: libparted/fs/fat/resize.c:550 msgid "" "The file system can only be resized to this size by converting to FAT16." msgstr "" "Le système de fichiers peut seulement être redimensionné à cette taille en " "le convertissant en FAT16." #: libparted/fs/fat/resize.c:566 msgid "" "The file system can only be resized to this size by converting to FAT32." msgstr "" "Le système de fichiers peut seulement être redimensionné à cette taille en " "le convertissant en FAT32." #: libparted/fs/fat/resize.c:579 msgid "" "GNU Parted cannot resize this partition to this size. We're working on it!" msgstr "" "GNU Parted ne peut redimensionner cette partition à cette taille. Nous y " "travaillons !" #: libparted/fs/fat/bootsector.c:49 libparted/fs/fat/bootsector.c:56 msgid "File system has an invalid signature for a FAT file system." msgstr "" "Le système de fichiers a une signature invalide pour un système de fichiers " "FAT." #: libparted/fs/fat/bootsector.c:64 msgid "File system has an invalid sector size for a FAT file system." msgstr "" "Le système de fichiers a une taille de secteur invalide pour un système de " "fichiers FAT." #: libparted/fs/fat/bootsector.c:71 msgid "File system has an invalid cluster size for a FAT file system." msgstr "" "Le système de fichiers a une taille de cluster invalide pour un système de " "fichiers FAT." #: libparted/fs/fat/bootsector.c:78 msgid "" "File system has an invalid number of reserved sectors for a FAT file system." msgstr "" "Le système de fichiers a un nombre invalide de secteurs réservés pour un " "système de fichiers FAT." #: libparted/fs/fat/bootsector.c:85 msgid "File system has an invalid number of FATs." msgstr "Le système de fichiers a un nombre incorrect de tables FAT." #: libparted/fs/fat/bootsector.c:139 #, c-format msgid "" "This file system has a logical sector size of %d. GNU Parted is known not " "to work properly with sector sizes other than 512 bytes." msgstr "" "Ce système de fichier a une taille de secteur logique de %d. GNU Parted ne " "traite pas correctement les tailles de secteurs différentes de 512 octets." #: libparted/fs/fat/bootsector.c:164 #, c-format msgid "" "The file system's CHS geometry is (%d, %d, %d), which is invalid. The " "partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the " "file system's CHS geometry will be left unchanged. If you select Fix, the " "file system's CHS geometry will be set to match the partition table's CHS " "geometry." msgstr "" "La géométrie CHS du système de fichiers est (%d, %d, %d), ce qui est " "invalide. La géométrie CHS de la table des partitions est (%d, %d, %d). Si " "vous choisissez d'ignorer (Ignore), la géométrie CHS du système de fichiers " "restera inchangée. Si vous choisissez de réparer (Fix), la géométrie CHS du " "système de fichiers sera modifiée de manière à concorder avec la géométrie " "CHS de la table des partitions." #: libparted/fs/fat/bootsector.c:213 msgid "FAT boot sector says logical sector size is 0. This is weird. " msgstr "" "Le secteur d'amorce FAT indique une taille de secteur logique de 0. Ceci est " "bizarre." #: libparted/fs/fat/bootsector.c:219 msgid "FAT boot sector says there are no FAT tables. This is weird. " msgstr "" "Le secteur d'amorce FAT indique qu'il n'y a pas de tables FAT. Ceci est " "bizarre." #: libparted/fs/fat/bootsector.c:225 msgid "FAT boot sector says clusters are 0 sectors. This is weird. " msgstr "" "Le secteur d'amorce FAT indique des clusters ayant 0 secteur. Ceci est " "curieux." #: libparted/fs/fat/bootsector.c:235 msgid "File system is FAT12, which is unsupported." msgstr "Le système de fichiers est FAT12, lequel n'est pas supporté." #: libparted/fs/fat/bootsector.c:411 #, c-format msgid "" "The information sector has the wrong signature (%x). Select cancel for now, " "and send in a bug report. If you're desperate, it's probably safe to ignore." msgstr "" "L'information de secteur contient une signature erronée (%x). Sélectionner « " "annuler » (cancel) pour le moment et transmettre un rapport d'anomalie. Si " "vous êtes désespéré, il est probablement prudent de sélectionner « ignorer »." #: libparted/fs/fat/count.c:144 #, c-format msgid "Bad directory entry for %s: first cluster is the end of file marker." msgstr "" "Entrée de répertoire erronée pour %s : le premier cluster est à la fin du " "marqueur de fichiers." #: libparted/fs/fat/count.c:157 #, c-format msgid "" "Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk." msgstr "" "Table FAT erronée : chaîne non terminée pour %s. Vous devriez exécuter " "dosfsck ou scandisk." #: libparted/fs/fat/count.c:166 #, c-format msgid "" "Bad FAT: cluster %d outside file system in chain for %s. You should run " "dosfsck or scandisk." msgstr "" "Table FAT erronée : le cluster %d est en dehors du système de fichiers dans " "la chaîne associée à %s. Vous devriez exécuter dosfsck ou scandisk." #: libparted/fs/fat/count.c:176 #, c-format msgid "" "Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or " "scandisk." msgstr "" "Table FAT erronée : le cluster %d a des liens croisés pour %s. Vous devriez " "exécuter dosfsck ou scandisk." #: libparted/fs/fat/count.c:195 #, c-format msgid "%s is %dk, but it has %d clusters (%dk)." msgstr "%s est %dk, mais il a %d clusters (%dk)." #: libparted/fs/fat/count.c:258 #, c-format msgid "" "The file %s is marked as a system file. This means moving it could cause " "some programs to stop working." msgstr "" "Le fichier %s est marqué comme fichier système. Cela signifie que son " "déplacement pourrait amener certains programmes à cesser de fonctionner." #: libparted/fs/fat/table.c:136 #, c-format msgid "" "FAT %d media %x doesn't match the boot sector's media %x. You should " "probably run scandisk." msgstr "" "La table FAT %d du média %x ne concorde pas avec le secteur d'amorce du " "média %x. Vous devriez probablement exécuter scandisk." #: libparted/fs/fat/table.c:268 #, c-format msgid "fat_table_set: cluster %ld outside file system" msgstr "fat_table_set: cluster %ld en dehors du système de fichiers" #: libparted/fs/fat/table.c:300 #, c-format msgid "fat_table_get: cluster %ld outside file system" msgstr "fat_table_get: cluster %ld en dehors du système de fichiers" #: libparted/fs/fat/table.c:342 msgid "fat_table_alloc_cluster: no free clusters" msgstr "fat_table_alloc_cluster: pas de cluster disponible" #: libparted/fs/linux_swap/linux_swap.c:288 #, c-format msgid "Unrecognised old style linux swap signature '%10s'." msgstr "" "Signature de partition d'échange Linux (swap) de type ancien non reconnue " "'%10s'." #: libparted/fs/linux_swap/linux_swap.c:331 #, c-format msgid "Unrecognised new style linux swap signature '%10s'." msgstr "" "Signature de partition d'échange Linux (swap) de type nouveau non reconnue " "'%10s'." #: libparted/fs/linux_swap/linux_swap.c:371 #, c-format msgid "Unrecognised swsusp linux swap signature '%9s'." msgstr "" "Signature de partition d'échange Linux (swap) de type swsusp non reconnue " "'%9s'." #: libparted/fs/linux_swap/linux_swap.c:447 msgid "Too many bad pages." msgstr "Trop de pages erronées." #: libparted/fs/hfs/advfs.c:121 libparted/fs/hfs/advfs_plus.c:121 #: libparted/fs/hfs/reloc.c:414 libparted/fs/hfs/reloc.c:508 #: libparted/fs/hfs/reloc_plus.c:538 libparted/fs/hfs/reloc_plus.c:656 #: libparted/fs/hfs/reloc_plus.c:769 msgid "The file system contains errors." msgstr "Le système de fichiers contient des erreurs." #: libparted/fs/hfs/advfs_plus.c:285 msgid "Bad blocks could not be read." msgstr "Les blocs défectueux ne peuvent pas être lus." #: libparted/fs/hfs/cache.c:137 #, c-format msgid "" "Trying to register an extent starting at block 0x%X, but another one already " "exists at this position. You should check the file system!" msgstr "" "Tentative d'enregistrement d'une zone débutant au bloc 0x%X, mais une autre " "existe déjà à cette position. Vous devriez vérifier le système de fichiers !" #: libparted/fs/hfs/cache.c:214 #, c-format msgid "" "Trying to move an extent from block Ox%X to block Ox%X, but another one " "already exists at this position. This should not happen!" msgstr "" "Tentative de déplacement d'une zone du bloc 0x%X au bloc 0x%X, mais une " "autre existe déjà à cette position. Cela ne devrait pas arriver !" #: libparted/fs/hfs/file.c:143 #, c-format msgid "Could not update the extent cache for HFS file with CNID %X." msgstr "" "Impossible de mettre à jour le cache des fragments du fichier HFS ayant le " "CNID %X." #: libparted/fs/hfs/file.c:180 #, c-format msgid "Trying to read HFS file with CNID %X behind EOF." msgstr "" "Tentative de lecture d'un fichier HFS ayant un CNID %X après la fin du " "fichier." #: libparted/fs/hfs/file.c:190 libparted/fs/hfs/file.c:220 #, c-format msgid "Could not find sector %lli of HFS file with CNID %X." msgstr "Impossible de trouver le secteur %lli du fichier HFS ayant le CNID %X." #: libparted/fs/hfs/file.c:210 #, c-format msgid "Trying to write HFS file with CNID %X behind EOF." msgstr "" "Tentative d'écriture d'un fichier HFS ayant un CNID %X après la fin du " "fichier." #: libparted/fs/hfs/file_plus.c:157 #, c-format msgid "Could not update the extent cache for HFS+ file with CNID %X." msgstr "" "Impossible de mettre à jour le cache des fragments du fichier HFS+ ayant le " "CNID %X." #: libparted/fs/hfs/file_plus.c:202 #, c-format msgid "Trying to read HFS+ file with CNID %X behind EOF." msgstr "" "Tentative de lecture d'un fichier HFS+ ayant un CNID %X après la fin du " "fichier." #: libparted/fs/hfs/file_plus.c:213 libparted/fs/hfs/file_plus.c:256 #, c-format msgid "Could not find sector %lli of HFS+ file with CNID %X." msgstr "" "Impossible de trouver le secteur %lli du fichier HFS+ ayant le CNID %X." #: libparted/fs/hfs/file_plus.c:245 #, c-format msgid "Trying to write HFS+ file with CNID %X behind EOF." msgstr "" "Tentative d'écriture d'un fichier HFS+ ayant un CNID %X après la fin du " "fichier." #: libparted/fs/hfs/hfs.c:232 msgid "Sorry, HFS cannot be resized that way yet." msgstr "" "Désolé, le système de fichiers HFS ne peut être redimensionné de cette " "manière pour le moment." #: libparted/fs/hfs/hfs.c:262 libparted/fs/hfs/hfs.c:641 msgid "Data relocation has failed." msgstr "Le déplacement des données a échoué." #: libparted/fs/hfs/hfs.c:281 msgid "Data relocation left some data in the end of the volume." msgstr "" "Le déplacement des données a laissé certaines données à la fin du volume." #: libparted/fs/hfs/hfs.c:320 msgid "writing HFS Master Directory Block" msgstr "écriture du Master Directory Block HFS" #: libparted/fs/hfs/hfs.c:468 msgid "No valid HFS[+X] signature has been found while opening." msgstr "Aucune signature HFS[+X] valide n'a été trouvée lors de l'ouverture." #: libparted/fs/hfs/hfs.c:478 #, c-format msgid "Version %d of HFS+ isn't supported." msgstr "La version %d du système de fichiers HFS+ n'est pas supportée." #: libparted/fs/hfs/hfs.c:489 #, c-format msgid "Version %d of HFSX isn't supported." msgstr "La version %d du système de fichiers HFSX n'est pas supportée." #: libparted/fs/hfs/hfs.c:672 msgid "Data relocation left some data at the end of the volume." msgstr "" "Le déplacement des données a laissé certaines données à la fin du volume." #: libparted/fs/hfs/hfs.c:720 msgid "Error while writing the allocation file." msgstr "Erreur lors de l'écriture du fichier d'allocation." #: libparted/fs/hfs/hfs.c:735 msgid "Error while writing the compatibility part of the allocation file." msgstr "" "Erreur durant l'écriture de la zone de compatibilité du fichier d'allocation." #: libparted/fs/hfs/hfs.c:750 msgid "writing HFS+ Volume Header" msgstr "écriture de l'entête de volume HFS+" #: libparted/fs/hfs/hfs.c:850 msgid "An error occurred while looking for the mandatory bad blocks file." msgstr "" "Une erreur est survenue lors de la recherche du fichier de gestion des blocs " "défectueux." #: libparted/fs/hfs/hfs.c:904 msgid "" "It seems there is an error in the HFS wrapper: the bad blocks file doesn't " "contain the embedded HFS+ volume." msgstr "" "Il semble qu'il y ait une erreur dans le gestionnaire HFS : le fichier des " "blocs défectueux contient le volume HFS+ ." #: libparted/fs/hfs/hfs.c:940 msgid "Sorry, HFS+ cannot be resized that way yet." msgstr "" "Désolé, le système de fichiers HFS+ ne peut être redimensionné de cette " "manière pour le moment." #: libparted/fs/hfs/hfs.c:975 msgid "shrinking embedded HFS+ volume" msgstr "réduction du volume HFS+" #: libparted/fs/hfs/hfs.c:991 msgid "Resizing the HFS+ volume has failed." msgstr "Le redimensionnement du volume HFS+ a échoué." #: libparted/fs/hfs/hfs.c:998 msgid "shrinking HFS wrapper" msgstr "réajustement du conteneur HFS" #: libparted/fs/hfs/hfs.c:1007 msgid "Updating the HFS wrapper has failed." msgstr "La mise à jour du conteneur HFS a échoué." #: libparted/fs/hfs/hfs.c:1109 libparted/fs/hfs/hfs.c:1194 #, c-format msgid "" "This is not a real %s check. This is going to extract special low level " "files for debugging purposes." msgstr "" "Ceci n'est pas un test réel de %s . Il s'agit d'extraire des fichiers " "spéciaux de bas niveau pour débogage." #: libparted/fs/hfs/journal.c:155 msgid "Bad block list header checksum." msgstr "Mauvaise somme de contrôle de l'entête de la liste des blocs." #: libparted/fs/hfs/journal.c:168 #, c-format msgid "" "Invalid size of a transaction block while replaying the journal (%i bytes)." msgstr "" "Taille de bloc de transaction invalide durant le rejeu (reprise) du journal " "(%i octets)." #: libparted/fs/hfs/journal.c:260 msgid "" "Journal stored outside of the volume are not supported. Try to desactivate " "the journal and run Parted again." msgstr "" "Le placement du journal à l'extérieur du volume n'est pas supporté. Essayez " "de désactiver la journalisation et de relancer Parted." #: libparted/fs/hfs/journal.c:271 msgid "Journal offset or size is not multiple of the sector size." msgstr "" "Le déplacement ou la taille du journal n'est pas un multiple de la taille " "d'un secteur." #: libparted/fs/hfs/journal.c:292 msgid "Incorrect magic values in the journal header." msgstr "Valeurs magiques incorrectes dans l'entête du journal." #: libparted/fs/hfs/journal.c:302 msgid "Journal size mismatch between journal info block and journal header." msgstr "" "Erreur de correspondance de la taille du journal entre le bloc d'information " "du journal et l'entête du journal." #: libparted/fs/hfs/journal.c:314 msgid "Some header fields are not multiple of the sector size." msgstr "" "Certains champs de l'entête ne sont pas des multiples de la taille du " "secteur." #: libparted/fs/hfs/journal.c:323 msgid "" "The sector size stored in the journal is not 512 bytes. Parted only " "supports 512 bytes length sectors." msgstr "" "La taille de secteur stockée dans le journal n'est pas 512 octets. Parted ne " "supporte que les secteurs dont la taille est 512 octets." #: libparted/fs/hfs/journal.c:335 msgid "Bad journal checksum." msgstr "Mauvaise somme de contrôle du journal." #: libparted/fs/hfs/journal.c:353 msgid "" "The journal is not empty. Parted must replay the transactions before " "opening the file system. This will modify the file system." msgstr "" "Le journal n'est pas vide. Parted doit rejouer les transactions avant " "d'ouvrir le système de fichiers. Cela modifiera le système de fichiers." #: libparted/fs/hfs/journal.c:381 msgid "" "The volume header or the master directory block has changed while replaying " "the journal. You should restart Parted." msgstr "" "L'entête du volume ou le master directory block a changé pendant le rejeu du " "journal. Vous devriez relancer Parted." #: libparted/fs/hfs/probe.c:51 #, c-format msgid "" "Parted can't use HFS file systems on disks with a sector size not equal to " "%d bytes." msgstr "" "Parted ne peut utiliser des systèmes de fichiers HFS sur les disques dont la " "taille des secteurs n'est pas égale à %d octets." #: libparted/fs/hfs/reloc.c:151 libparted/fs/hfs/reloc_plus.c:155 msgid "An extent has not been relocated." msgstr "Une zone n'a pas été réallouée." #: libparted/fs/hfs/reloc.c:251 libparted/fs/hfs/reloc_plus.c:307 msgid "" "A reference to an extent comes from a place it should not. You should check " "the file system!" msgstr "" "Une référence à une zone correspond à une localisation qui ne devrait pas y " "être associée. Vous devriez vérifier le système de fichiers." #: libparted/fs/hfs/reloc.c:381 msgid "This HFS volume has no catalog file. This is very unusual!" msgstr "" "Ce volume HFS n'a pas de fichier catalogue. C'est vraiment inhabituel !" #: libparted/fs/hfs/reloc.c:475 msgid "This HFS volume has no extents overflow file. This is quite unusual!" msgstr "" "Ce volume HFS n'a pas de fichier de zones additionnelles. C'est plutôt " "inhabituel !" #: libparted/fs/hfs/reloc.c:517 libparted/fs/hfs/reloc_plus.c:666 msgid "" "The extents overflow file should not contain its own extents! You should " "check the file system." msgstr "" "Le fichier de zones additionnelles ne devrait pas contenir sa propre zone ! " "Vous devriez vérifier le système de fichiers." #: libparted/fs/hfs/reloc.c:574 libparted/fs/hfs/reloc_plus.c:844 msgid "Could not cache the file system in memory." msgstr "Impossible d'indexer le système de fichiers en mémoire." #: libparted/fs/hfs/reloc.c:635 libparted/fs/hfs/reloc_plus.c:905 msgid "Bad blocks list could not be loaded." msgstr "La liste des blocs défectueux ne peut être chargée." #: libparted/fs/hfs/reloc.c:649 libparted/fs/hfs/reloc_plus.c:921 msgid "An error occurred during extent relocation." msgstr "Une erreur est survenue pendant le déplacement de la zone." #: libparted/fs/hfs/reloc_plus.c:494 msgid "This HFS+ volume has no catalog file. This is very unusual!" msgstr "" "Ce volume HFS+ n'a pas de fichier catalogue. C'est vraiment inhabituel !" #: libparted/fs/hfs/reloc_plus.c:617 msgid "This HFS+ volume has no extents overflow file. This is quite unusual!" msgstr "" "Ce volume HFS+ n'a pas de fichier de zones additionnelles. C'est plutôt " "inhabituel !" #: parted/parted.c:123 msgid "displays this help message" msgstr "affiche ce message d'aide" #: parted/parted.c:124 msgid "lists partition layout on all block devices" msgstr "liste la structure des partitions sur tous les périphériques par blocs" #: parted/parted.c:125 msgid "displays machine parseable output" msgstr "sortie dans un style lisible par une machine" #: parted/parted.c:126 msgid "never prompts for user intervention" msgstr "ne demande jamais l'intervention de l'utilisateur" #: parted/parted.c:127 msgid "displays the version" msgstr "affiche la version" #: parted/parted.c:128 msgid "alignment for new partitions" msgstr "alignement des nouvelles partitions" #: parted/parted.c:140 msgid "" "NUMBER is the partition number used by Linux. On MS-DOS disk labels, the " "primary partitions number from 1 to 4, logical partitions from 5 onwards.\n" msgstr "" "NOMBRE est le numéro de partition utilisé par Linux. Avec une étiquette de " "disque MS-DOS, les partitions primaires sont numérotées de 1 à 4 et les " "partitions logiques à partir de 5.\n" #: parted/parted.c:143 msgid "LABEL-TYPE is one of: " msgstr "LABEL-TYPE est une des valeurs : " #: parted/parted.c:144 msgid "FLAG is one of: " msgstr "FANION est une des valeurs : " #: parted/parted.c:145 msgid "UNIT is one of: " msgstr "UNITE est parmi : " #: parted/parted.c:146 msgid "desired alignment: minimum or optimal" msgstr "alignement souhaité : minimum ou optimal" #: parted/parted.c:147 msgid "PART-TYPE is one of: primary, logical, extended\n" msgstr "PART-TYPE est une des valeurs : primary, logical, extended\n" #: parted/parted.c:149 msgid "FS-TYPE is one of: " msgstr "FS-TYPE est parmi : " #: parted/parted.c:150 msgid "" "START and END are disk locations, such as 4GB or 10%. Negative values count " "from the end of the disk. For example, -1s specifies exactly the last " "sector.\n" msgstr "" "DEBUT et FIN sont des emplacements sur un disque, comme 4GB ou 10%. Les " "valeurs négatives se comptent à partir de la fin du disque. Par exemple, " "=-1s spécifie précisément le dernier secteur.\n" #: parted/parted.c:153 msgid "STATE is one of: on, off\n" msgstr "ETAT est une des valeurs : on, off\n" #: parted/parted.c:154 msgid "DEVICE is usually /dev/hda or /dev/sda\n" msgstr "PERIPHERIQUE est habituellement du genre /dev/hda ou /dev/sda\n" #: parted/parted.c:155 msgid "NAME is any word you want\n" msgstr "NOM est un mot de votre choix\n" #: parted/parted.c:156 msgid "The partition must have one of the following FS-TYPEs: " msgstr "La partition doit avoir un des FS-TYPEs suivants : " #: parted/parted.c:160 msgid "" "Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n" "This program is free software, covered by the GNU General Public License.\n" "\n" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" msgstr "" "Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n" "Ce programme est un logiciel libre, sous la Licence Publique Générale GNU " "(GNU General Public License).\n" "Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE " "GARANTIE ; sans même une garantie implicite de COMMERCIABILITÉ ou DE " "CONFORMITÉ À UNE UTILISATION PARTICULIÈRE. Voir la Licence Publique Générale " "GNU pour plus de détails.\n" "\n" #: parted/parted.c:208 #, c-format msgid "%0.f%%\t(time left %.2d:%.2d)" msgstr "%0.f%%\t(temps restant %.2d:%.2d)" #: parted/parted.c:227 #, c-format msgid "" "Partition %s is being used. You must unmount it before you modify it with " "Parted." msgstr "" "La partition %s est en cours d'utilisation. Vous devez la démonter avant de " "la modifier avec Parted." #: parted/parted.c:245 #, c-format msgid "Partition(s) on %s are being used." msgstr "Au moins une partition de %s est en cours d'utilisation." #: parted/parted.c:257 msgid "" "The existing file system will be destroyed and all data on the partition " "will be lost. Do you want to continue?" msgstr "" "Le système de fichier existant va être détruit et toutes les données de la " "partition vont être perdues. Voulez-vous continuer ?" #: parted/parted.c:269 #, c-format msgid "" "The existing disk label on %s will be destroyed and all data on this disk " "will be lost. Do you want to continue?" msgstr "" "Le type du disque %s va être effacé et toutes les données vont être perdues. " "Voulez-vous continuer ?" #: parted/parted.c:487 #, c-format msgid "" "WARNING: you are attempting to use %s to operate on (%s) a file system.\n" "%s's file system manipulation code is not as robust as what you'll find in\n" "dedicated, file-system-specific packages like e2fsprogs. We recommend\n" "you use %s only to manipulate partition tables, whenever possible.\n" "Support for performing most operations on most types of file systems\n" "will be removed in an upcoming release.\n" msgstr "" "ATTENTION : vous tentez d'utiliser %s pour agir sur un système de fichiers\n" "(%s). Le code de manipulation du syst. de fichiers %s n'est pas aussi \n" "abouti que celui des paquets dédiés tels e2fsprogs. Nous conseillons\n" "d'utiliser %s seulement pour manipuler les tables de partitions, si " "possible.\n" "Le support de la plupart des opérations/systèmes de fichiers sera\n" "abandonné dans une version ultérieure.\n" #: parted/parted.c:508 parted/parted.c:702 parted/parted.c:1179 #: parted/parted.c:1263 parted/parted.c:1935 parted/parted.c:2016 #: parted/parted.c:2088 parted/parted.c:2122 msgid "Partition number?" msgstr "Numéro de partition ?" #: parted/parted.c:551 msgid "Source device?" msgstr "Périphérique source ?" #: parted/parted.c:555 msgid "Source partition number?" msgstr "Numéro de la partition source ?" #: parted/parted.c:560 msgid "Can't copy an extended partition." msgstr "Impossible de copier une partition étendue." #: parted/parted.c:566 msgid "Destination partition number?" msgstr "Numéro de la partition de destination ?" #: parted/parted.c:655 msgid "New disk label type?" msgstr "Nouveau type d'étiquette de disque ?" #: parted/parted.c:706 parted/parted.c:788 parted/parted.c:1000 msgid "File system type?" msgstr "Type de système de fichiers ?" #: parted/parted.c:762 parted/parted.c:983 msgid "Partition type?" msgstr "Type de partition ?" #: parted/parted.c:780 parted/parted.c:990 parted/parted.c:1266 msgid "Partition name?" msgstr "Nom de la partition ?" #: parted/parted.c:794 parted/parted.c:1002 parted/parted.c:1194 #: parted/parted.c:1883 parted/parted.c:1944 msgid "Start?" msgstr "Début ?" #: parted/parted.c:796 parted/parted.c:1005 parted/parted.c:1197 #: parted/parted.c:1885 parted/parted.c:1946 msgid "End?" msgstr "Fin ?" #: parted/parted.c:862 parted/parted.c:1066 #, c-format msgid "" "You requested a partition from %s to %s.\n" "The closest location we can manage is %s to %s.%s" msgstr "" "Vous voulez établir une partition de %s à %s.\n" "La position la plus proche gérable est %s à %s. %s" #: parted/parted.c:867 parted/parted.c:1071 msgid "" "\n" "Is this still acceptable to you?" msgstr "" "\n" "Est-ce acceptable pour vous ?" #: parted/parted.c:889 parted/parted.c:1093 msgid "The resulting partition is not properly aligned for best performance." msgstr "" "L'alignement de la partition ainsi définie n'est pas optimal au niveau " "performance." #: parted/parted.c:995 msgid "An extended partition cannot hold a file system. Did you want mkpart?" msgstr "" "Une partition étendue ne peut avoir de système de fichiers. Vouliez-vous " "utiliser mkpart ?" #: parted/parted.c:1185 msgid "Can't move an extended partition." msgstr "Impossible de déplacer une partition étendue." #: parted/parted.c:1214 msgid "Can't move a partition onto itself. Try using resize, perhaps?" msgstr "" "Impossible de déplacer une partition sur elle-même. Essayez peut-être un " "redimensionnement ?" #: parted/parted.c:1360 #, c-format msgid "Minor: %d\n" msgstr "Mineure : %d\n" #: parted/parted.c:1361 #, c-format msgid "Flags: %s\n" msgstr "Fanions : %s\n" #: parted/parted.c:1362 #, c-format msgid "File System: %s\n" msgstr "Système de fichiers : %s\n" #: parted/parted.c:1363 msgid "Size: " msgstr "Taille: " #: parted/parted.c:1368 msgid "Minimum size: " msgstr "Taille minimum : " #: parted/parted.c:1371 msgid "Maximum size: " msgstr "Taille maximum : " #: parted/parted.c:1504 #, c-format msgid "Model: %s (%s)\n" msgstr "Modèle: %s (%s)\n" #: parted/parted.c:1506 #, c-format msgid "Disk %s: %s\n" msgstr "Disque %s : %s\n" #: parted/parted.c:1507 #, c-format msgid "Sector size (logical/physical): %lldB/%lldB\n" msgstr "Taille des secteurs (logiques/physiques): %lldB/%lldB\n" #: parted/parted.c:1525 #, c-format msgid "BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s.\n" msgstr "" "Géométrie BIOS cylindre,tête,secteur : %d,%d,%d. Chaque cylindre : %s.\n" #: parted/parted.c:1534 #, c-format msgid "Partition Table: %s\n" msgstr "Table de partitions : %s\n" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Number" msgstr "Numéro" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Start" msgstr "Début" #: parted/parted.c:1550 parted/parted.c:1553 msgid "End" msgstr "Fin" #: parted/parted.c:1553 msgid "Size" msgstr "Taille" #: parted/parted.c:1557 msgid "Type" msgstr "Type" #: parted/parted.c:1559 msgid "File system" msgstr "Système de fichiers" #: parted/parted.c:1562 msgid "Name" msgstr "Nom" #: parted/parted.c:1564 msgid "Flags" msgstr "Fanions" #: parted/parted.c:1621 msgid "Free Space" msgstr "Espace libre" #: parted/parted.c:1782 #, c-format msgid "" "A %s %s partition was found at %s -> %s. Do you want to add it to the " "partition table?" msgstr "" "Une partition %s %s a été localisée de %s à %s. Voulez-vous l'ajouter à la " "table de partition ?" #: parted/parted.c:1821 msgid "searching for file systems" msgstr "recherche des systèmes de fichiers" #: parted/parted.c:2041 msgid "New device?" msgstr "Nouveau périphérique ?" #: parted/parted.c:2086 msgid "alignment type(min/opt)" msgstr "type d'alignement (min/opt)" #: parted/parted.c:2093 #, c-format msgid "%d aligned\n" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d not aligned\n" msgstr "" #: parted/parted.c:2124 msgid "Flag to Invert?" msgstr "Fanion à inverser ?" #: parted/parted.c:2129 msgid "New state?" msgstr "Nouvel état ?" #: parted/parted.c:2166 msgid "Unit?" msgstr "Unité ?" #: parted/parted.c:2348 msgid "align-check" msgstr "align-check" #: parted/parted.c:2351 msgid "" "align-check TYPE N check partition N for TYPE(min|" "opt) alignment" msgstr "" "align-check TYPE N contrôle l'alignement de type TYPE " "(min|opt) de la partition N" #: parted/parted.c:2359 msgid "check" msgstr "contrôler" #: parted/parted.c:2362 msgid "" "check NUMBER do a simple check on the file system" msgstr "" "check NOMBRE faire une vérification simple du " "système de fichiers" #: parted/parted.c:2368 msgid "cp" msgstr "cp" #: parted/parted.c:2371 msgid "" "cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another " "partition" msgstr "" "cp [PERIPHERIQUE] NOMBRE_SOURCE NOMBRE_DESTINATION\n" " copier le système de fichiers SOURCE " "vers une autre partition DESTINATION" #: parted/parted.c:2377 msgid "help" msgstr "aide" #: parted/parted.c:2380 msgid "" "help [COMMAND] print general help, or help on " "COMMAND" msgstr "" "help [COMMANDE] affiche l'aide générale ou l'aide " "concernant la COMMANDE" #: parted/parted.c:2386 msgid "mklabel" msgstr "mklabel" #: parted/parted.c:2386 msgid "mktable" msgstr "mktable" #: parted/parted.c:2389 msgid "" "mklabel,mktable LABEL-TYPE create a new disklabel (partition " "table)" msgstr "" "mklabel,mktable LABEL-TYPE crée une nouvelle étiquette de " "disque (table de partition)" #: parted/parted.c:2395 msgid "mkfs" msgstr "mkfs" #: parted/parted.c:2398 msgid "" "mkfs NUMBER FS-TYPE make a FS-TYPE file system on " "partition NUMBER" msgstr "" "mkfs NOMBRE TYPE-FS créer un système de fichiers de type " "TYPE-FS sur la partition NOMBRE" #: parted/parted.c:2404 msgid "mkpart" msgstr "mkpart" #: parted/parted.c:2407 msgid "mkpart PART-TYPE [FS-TYPE] START END make a partition" msgstr "mkpart PART-TYPE [FS-TYPE] DEBUT FIN créer une partition" #: parted/parted.c:2413 msgid "" "'mkpart' makes a partition without creating a new file system on the " "partition. FS-TYPE may be specified to set an appropriate partition ID.\n" msgstr "" "'mkpart' crée une partition sans créer un nouveau système de fichiers sur la " "partition. FS-TYPE doit être spécifié pour initialiser le type de partition " "approprié.\n" #: parted/parted.c:2418 msgid "mkpartfs" msgstr "mkpartfs" #: parted/parted.c:2421 msgid "" "mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system" msgstr "" "mkpartfs PART-TYPE FS-TYPE DEBUT FIN créer une partition avec un " "système de fichiers" #: parted/parted.c:2427 msgid "move" msgstr "déplacer" #: parted/parted.c:2430 msgid "move NUMBER START END move partition NUMBER" msgstr "" "move NOMBRE DEBUT FIN déplacer la partition numéro NOMBRE" #: parted/parted.c:2435 msgid "name" msgstr "nommer" #: parted/parted.c:2438 msgid "name NUMBER NAME name partition NUMBER as NAME" msgstr "" "name NOMBRE NOM donner le nom NOM la partition " "numéro NOMBRE" #: parted/parted.c:2443 msgid "print" msgstr "afficher" #: parted/parted.c:2446 msgid "" "print [devices|free|list,all|NUMBER] display the partition table, " "available devices, free space, all found partitions, or a particular " "partition" msgstr "" "print [devices|free|list,all|NOMBRE] affiche la table des partitions, " "les périphériques disponibles, l'espace libre, toutes les partitions ou une " "partition précise" #: parted/parted.c:2451 msgid "" "Without arguments, 'print' displays the entire partition table. However with " "the following arguments it performs various other actions.\n" msgstr "" "Sans argument, 'print' affiche toute la table de partitions. Toutefois avec " "les arguments suivants, elle permet bien d'autres actions.\n" #: parted/parted.c:2453 msgid " devices : display all active block devices\n" msgstr " devices : affiche tous les périphériques par blocs actifs\n" #: parted/parted.c:2454 msgid "" " free : display information about free unpartitioned space on the " "current block device\n" msgstr "" " free : affiche l'information sur l'espace libre non partitionné du " "périphérique courant\n" #: parted/parted.c:2456 msgid "" " list, all : display the partition tables of all active block devices\n" msgstr "" " list,all : afficher la table de partitions de tous les périphériques par " "blocs actifs\n" #: parted/parted.c:2457 msgid "" " NUMBER : display more detailed information about this particular " "partition\n" msgstr "" " NOMBRE : affiche les informations détaillées sur la partition numéro " "NOMBRE\n" #: parted/parted.c:2462 msgid "quit" msgstr "quitter" #: parted/parted.c:2465 msgid "quit exit program" msgstr "quit quitter le programme" #: parted/parted.c:2470 msgid "rescue" msgstr "rescue" #: parted/parted.c:2473 msgid "" "rescue START END rescue a lost partition near START " "and END" msgstr "" "rescue DEBUT FIN restaurer une partition perdue " "entre DEBUT et FIN" #: parted/parted.c:2479 msgid "resize" msgstr "redimentionner" #: parted/parted.c:2482 msgid "" "resize NUMBER START END resize partition NUMBER and its " "file system" msgstr "" "resize NOMBRE DEBUT FIN modifier la taille de la partition " "(et du système de fichiers) numéro NOMBRE" #: parted/parted.c:2490 msgid "rm" msgstr "rm" #: parted/parted.c:2493 msgid "rm NUMBER delete partition NUMBER" msgstr "" "rm NOMBRE détruire la partition numéro NOMBRE" #: parted/parted.c:2498 msgid "select" msgstr "sélectionner" #: parted/parted.c:2501 msgid "select DEVICE choose the device to edit" msgstr "" "select PÉRIPHÉRIQUE sélectionner le périphérique à éditer" #: parted/parted.c:2506 msgid "set" msgstr "positionner" #: parted/parted.c:2509 msgid "" "set NUMBER FLAG STATE change the FLAG on partition NUMBER" msgstr "" "set NOMBRE FANION ETAT positionner le FANION à l'état ETAT " "sur la partition numéro NOMBRE" #: parted/parted.c:2515 msgid "toggle" msgstr "inverser" #: parted/parted.c:2518 msgid "" "toggle [NUMBER [FLAG]] toggle the state of FLAG on " "partition NUMBER" msgstr "" "toggle [NOMBRE [FANION]] inverser l'état du fanion sur la " "partition numéro NOMBRE" #: parted/parted.c:2524 msgid "unit" msgstr "unit" #: parted/parted.c:2527 msgid "unit UNIT set the default unit to UNIT" msgstr "" "unit UNITE affecte l'unité par défaut à UNITE" #: parted/parted.c:2532 msgid "version" msgstr "version" #: parted/parted.c:2535 msgid "" "version display the version number and " "copyright information of GNU Parted" msgstr "" "version affiche la version courante de GNU " "Parted ainsi que l'information sur le copyright" #: parted/parted.c:2539 msgid "" "'version' displays copyright and version information corresponding to this " "copy of GNU Parted\n" msgstr "" "'version' affiche le copyright et la version de cette copie de GNU Parted\n" #: parted/parted.c:2607 #, c-format msgid "Usage: %s [-hlmsv] [-a] [DEVICE [COMMAND [PARAMETERS]]...]\n" msgstr "" "Usage : %s [-hlmsv] [-a ] [PERIPHERIQUE [COMMANDE " "[PARAMETRES]]...]\n" #: parted/parted.c:2651 msgid "No device found" msgstr "Aucun périphérique trouvé" #: parted/parted.c:2688 msgid "WARNING: You are not superuser. Watch out for permissions." msgstr "" "ATTENTION : vous n'êtes pas superutilisateur. Contrôlez les permissions." #: parted/parted.c:2726 msgid "You may need to update /etc/fstab.\n" msgstr "Ne pas oublier de mettre à jour /etc/fstab si nécessaire.\n" #: parted/ui.c:162 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n" msgstr "" "Bievenue sur GNU Parted ! Tapez 'help' pour voir la liste des commandes.\n" #: parted/ui.c:165 msgid "" "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n" "Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run " "in\n" "interactive mode.\n" msgstr "" "Usage : parted [OPTION]... [PÉRIPHÉRIQUE [COMMANDES[PARAMÈTRES]...]...]\n" "Appliquer les COMMANDES avec les PARAMÈTRES au PÉRIPHÉRIQUE. Si aucune " "COMMANDE n'est fournie\n" "l'exécution se fait en mode intéractif.\n" #: parted/ui.c:170 #, c-format msgid "" "\n" "\n" "You found a bug in GNU Parted! Here's what you have to do:\n" "\n" "Don't panic! The bug has most likely not affected any of your data.\n" "Help us to fix this bug by doing the following:\n" "\n" "Check whether the bug has already been fixed by checking\n" "the last version of GNU Parted that you can find at:\n" "\n" "\thttp://ftp.gnu.org/gnu/parted/\n" "\n" "Please check this version prior to bug reporting.\n" "\n" "If this has not been fixed yet or if you don't know how to check,\n" "please visit the GNU Parted website:\n" "\n" "\thttp://www.gnu.org/software/parted\n" "\n" "for further information.\n" "\n" "Your report should contain the version of this release (%s)\n" "along with the error message below, the output of\n" "\n" "\tparted DEVICE unit co print unit s print\n" "\n" "and the following history of commands you entered.\n" "Also include any additional information about your setup you\n" "consider important.\n" msgstr "" "\n" "\n" "Vous avez trouvé un bug dans GNU Parted ! Voici ce que vous devez faire :\n" "\n" "Ne paniquez pas ! Le bug n'a probablement pas affecté vos données.\n" "Aidez nous à résoudre ce bug en faisant ce qui suit:\n" "\n" "Vérifiez si le bug n'a pas déjà été résolu dans la dernière version de GNU\n" "Parted que vous pouvez trouver à :\n" "\n" "\thttp://ftp.gnu.org/gnu/parted/\n" "\n" "SVP vérifiez cette version avant de reporter tout bug.\n" "\n" "S'il n'a pas encore été résolu ou si vous ne savez pas comment vérifier,\n" "SVP visitez le site web de GNU Parted :\n" "\n" "\thttp://www.gnu.org/software/parted\n" "\n" "pour plus d'informations.\n" "\n" "Votre rapport doit contenir la version de cette release (%s)\n" "accompagnée du message d'erreur dessous, le résultat de\n" "\n" "\tparted PÉRIPHÉRIQUE unit co print unit s print\n" "\n" "et l'historique des commandes saisies.\n" "Plus toutes les informations supplémentaires que vous trouverez importantes " "à propos de votre configuration.\n" #: parted/ui.c:291 msgid "" "\n" "Command History:\n" msgstr "" "\n" "Historique des commandes:\n" #: parted/ui.c:354 msgid "" "\n" "Error: SEGV_MAPERR (Address not mapped to object)\n" msgstr "" "\n" "Erreur : SEGV_MAPERR (l'adresse n'est pas associée à un objet)\n" #: parted/ui.c:360 msgid "" "\n" "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n" msgstr "" "\n" "Erreur : SEGV_ACCERR (permissions invalides pour l'objet associé)\n" #: parted/ui.c:365 msgid "" "\n" "Error: A general SIGSEGV signal was encountered.\n" msgstr "" "\n" "Erreur : un signal SIGSEGV général est survenu.\n" #: parted/ui.c:389 msgid "" "\n" "Error: FPE_INTDIV (Integer: divide by zero)" msgstr "" "\n" "Erreur : FPE_INTDIV (Entier: division par zéro)" #: parted/ui.c:394 msgid "" "\n" "Error: FPE_INTOVF (Integer: overflow)" msgstr "" "\n" "Erreur : FPE_INTOVF (Entier: dépassement)" #: parted/ui.c:399 msgid "" "\n" "Error: FPE_FLTDIV (Float: divide by zero)" msgstr "" "\n" "Erreur : FPE_INTDIV (division par zéro en nombres flottants)" #: parted/ui.c:404 msgid "" "\n" "Error: FPE_FLTOVF (Float: overflow)" msgstr "" "\n" "Erreur : FPE_FLTOVF (Flottant: dépassement)" #: parted/ui.c:409 msgid "" "\n" "Error: FPE_FLTUND (Float: underflow)" msgstr "" "\n" "Erreur : FPE_FLTUND (Flottant: dépassement de précision)" #: parted/ui.c:414 msgid "" "\n" "Error: FPE_FLTRES (Float: inexact result)" msgstr "" "\n" "Erreur : PE_FLTRES (Flottant: résultat inexact)" #: parted/ui.c:419 msgid "" "\n" "Error: FPE_FLTINV (Float: invalid operation)" msgstr "" "\n" "Erreur : (Flottant: opération invalide)" #: parted/ui.c:424 msgid "" "\n" "Error: FPE_FLTSUB (Float: subscript out of range)" msgstr "" "\n" "Erreur : FPE_FLTSUB (Flottant: débordement de plage)" #: parted/ui.c:429 msgid "" "\n" "Error: A general SIGFPE signal was encountered." msgstr "" "\n" "Erreur : Un signal SIGFPE général est survenu." #: parted/ui.c:453 msgid "" "\n" "Error: ILL_ILLOPC (Illegal Opcode)" msgstr "" "\n" "Erreur : ILL_ILLOPC (Opcode illégal)" #: parted/ui.c:458 msgid "" "\n" "Error: ILL_ILLOPN (Illegal Operand)" msgstr "" "\n" "Erreur : ILL_ILLOPN (Opérande illégal)" #: parted/ui.c:463 msgid "" "\n" "Error: ILL_ILLADR (Illegal addressing mode)" msgstr "" "\n" "Erreur : ILL_ILLADR (Mode d'adressage illégal)" #: parted/ui.c:468 msgid "" "\n" "Error: ILL_ILLTRP (Illegal Trap)" msgstr "" "\n" "Erreur : ILL_ILLTRP (Déroutement illégal)" #: parted/ui.c:473 msgid "" "\n" "Error: ILL_PRVOPC (Privileged Opcode)" msgstr "" "\n" "Erreur : ILL_PRVOPC (Opcode privilégié)" #: parted/ui.c:478 msgid "" "\n" "Error: ILL_PRVREG (Privileged Register)" msgstr "" "\n" "Erreur : ILL_PRVREG (Registre privilégié)" #: parted/ui.c:483 msgid "" "\n" "Error: ILL_COPROC (Coprocessor Error)" msgstr "" "\n" "Erreur : ILL_COPROC (Erreur du coprocesseur)" #: parted/ui.c:488 msgid "" "\n" "Error: ILL_BADSTK (Internal Stack Error)" msgstr "" "\n" "Erreur : ILL_BADSTK (Erreur de pile interne)" #: parted/ui.c:493 msgid "" "\n" "Error: A general SIGILL signal was encountered." msgstr "" "\n" "Erreur : un signal SIGILL général est survenu." #: parted/ui.c:892 #, c-format msgid "invalid token: %s" msgstr "élément incorrect: %s" #: parted/ui.c:1048 msgid "Expecting a partition number." msgstr "Numéro de partition attendu." #: parted/ui.c:1057 msgid "Partition doesn't exist." msgstr "La partition n'existe pas." #: parted/ui.c:1077 msgid "Expecting a file system type." msgstr "Type de système de fichiers attendu." #: parted/ui.c:1084 #, c-format msgid "Unknown file system type \"%s\"." msgstr "Type de système de fichiers inconnu \"%s\"." #: parted/ui.c:1104 msgid "Expecting a disk label type." msgstr "Type d'étiquette de disque attendu." #: parted/ui.c:1202 msgid "Can't create any more partitions." msgstr "Ne peut ajouter de nouvelle partition." #: parted/ui.c:1212 msgid "Expecting a partition type." msgstr "Type de partition attendu." #: parted/ui.c:1360 msgid "on" msgstr "on" #: parted/ui.c:1361 msgid "off" msgstr "off" #: parted/ui.c:1378 msgid "optimal" msgstr "optimal" #: parted/ui.c:1379 msgid "minimal" msgstr "minimal" #: parted/ui.c:1512 msgid "OPTIONs:" msgstr "OPTIONS :" #: parted/ui.c:1517 msgid "COMMANDs:" msgstr "COMMANDES :" #: parted/ui.c:1520 #, fuzzy, c-format msgid "" "\n" "Report bugs to %s\n" msgstr "" "\n" "Rapports de bugs à %s\n" #: parted/ui.c:1527 #, c-format msgid "Using %s\n" msgstr "Utilisation de %s\n" #: parted/ui.c:1601 msgid "This command does not make sense in non-interactive mode.\n" msgstr "Cette commande n'a pas de sens en mode non-interactif.\n" #~ msgid "" #~ "WARNING: the kernel failed to re-read the partition table on %s (%s). As " #~ "a result, it may not reflect all of your changes until after reboot." #~ msgstr "" #~ "ATTENTION : le noyau n'a pas pu relire la table de partitions sur %s " #~ "(%s). En conséquence, vos changements n'apparaitront pas avant le " #~ "prochain redémarrage." #~ msgid "" #~ "Device %s has a logical sector size of %lld. Not all parts of GNU Parted " #~ "support this at the moment, and the working code is HIGHLY EXPERIMENTAL.\n" #~ msgstr "" #~ "La taille des secteurs logiques pour le périphérique %s est %lld. Tous " #~ "les modules de GNU Parted ne supportent pas cela pour l'instant : " #~ "fonction EXPERIMENTALE.\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: option incorrecte -- %c\n" #~ msgid "" #~ "Could not determine minimum io size for %s: %s.\n" #~ "Using the default size (%lld)." #~ msgstr "" #~ "Impossible de trouver la taille min. d'E/S pour %s : %s.\n" #~ "Utilisation de la taille par défaut (%lld)." #~ msgid "" #~ "The kernel was unable to re-read the partition table on %s (%s). This " #~ "means Linux won't know anything about the modifications you made until " #~ "you reboot. You should reboot your computer before doing anything with " #~ "%s." #~ msgstr "" #~ "Le kernel a été incapable de relire la table de partition sur %s (%s). " #~ "Cela signifie que Linux ne reconnaîtra aucune des modifications " #~ "effectuées avant de redémarrer. Vous devriez redémarrer votre ordinateur " #~ "avant de faire quoi que ce soit avec %s." #~ msgid "Unable to determine the block size of this dasd" #~ msgstr "" #~ "Impossible de déterminer la taille des blocs de ce périphérique DASD." #~ msgid "File system has an incompatible feature enabled." #~ msgstr "Le système de fichiers a une option incompatible activée." #~ msgid "Attempt to read sectors %ld-%ld outside of partition on %s." #~ msgstr "" #~ "Tentative de lecture des secteurs %ld-%ld en dehors de la partition sur " #~ "%s." #~ msgid "where necessary, prompts for user intervention" #~ msgstr "lorsque nécessaire, demande l'intervention de l'utilisateur" #~ msgid "GNU Parted Version information:\n" #~ msgstr "Information sur la version de GNU Parted:\n" #~ msgid "File system?" #~ msgstr "Système de fichiers ?" #~ msgid "" #~ "Without arguments, print displays the entire partition table. With " #~ "'free'\n" #~ "argument, information about free space will be displayed otherwise if a\n" #~ "partition number is given, then more detailed information is displayed\n" #~ "about that partition. If the 'all' argument is passed instead, partition\n" #~ "information for all devices will be displayed." #~ msgstr "" #~ "Sans argument, print affiche la table complète de partitions. Avec " #~ "'free'\n" #~ "comme argument, l'infomation sur l'espace libre sera affichée, sinon, si " #~ "un\n" #~ " numéro de partition est fourni alors des informations supplémentaires\n" #~ "détaillées sont affichées à propos de cette partition. Si l'argument " #~ "'all'\n" #~ "est fournit, l'information sur tous les périphériques sera affichée." #, fuzzy #~ msgid "" #~ "The sector size on %s is %d bytes. Parted is known not to work properly " #~ "with drives with sector sizes other than %d bytes." #~ msgstr "" #~ "La taille de secteurs sur %s est de %d octets. Parted est reconnu pour ne " #~ "pas fonctionner correctement avec des périphériques dont la taille des " #~ "secteurs est différente de %d octets." #~ msgid "IDE" #~ msgstr "IDE" #, fuzzy #~ msgid "" #~ "This ext2 file system has a rather strange layout! Parted can't resize " #~ "this (yet)." #~ msgstr "" #~ "Ce système de fichiers ext2 a une structure étrange ! Parted ne peut (pas " #~ "encore)le redimensionner." #~ msgid "" #~ "You have an HFS+ file system that has a feature that I haven't seen used " #~ "anywhere. Parted can theoretically handle it, but the corresponding code " #~ "has never been tested, so this might be risky. Please email me so I can " #~ "see how it works! " #~ msgstr "" #~ "Vous avez un système de fichiers HFS+ qui a une option que je n'ai jamais " #~ "vue ailleurs. Parted peut théoriquement gérer cela, mais le code " #~ "correspondant n'a jamais été testé, donc cela peut être risqué. Merci de " #~ "me mailer pour que je puisse voir comment cela fonctionne ! " #~ msgid "" #~ "The extents overflow file should not contain its own extents. You should " #~ "check the file system." #~ msgstr "" #~ "Le fichier des zones additionnelles ne devrait pas contenir sa propre " #~ "zone. Vous devriez vérifier le système de fichiers." #, fuzzy #~ msgid "Disk geometry for %s: %s - %s\n" #~ msgstr "Géométrie du disque pour %s : %s - %s\n" #~ msgid "Disk label type: %s\n" #~ msgstr "Type d'étiquette de disque : %s\n" #~ msgid "" #~ "\n" #~ "\n" #~ "You found a bug in GNU Parted.\n" #~ "This may have been fixed in the last version of GNU Parted that you can " #~ "find at:\n" #~ "\thttp://ftp.gnu.org/gnu/parted/\n" #~ "If this has not been fixed or if you don't know how to check, please " #~ "email:\n" #~ "\tbug-parted@gnu.org\n" #~ "or (preferably) file a bug report at:\n" #~ "\thttp://parted.alioth.debian.org/bugs/\n" #~ "Your report should contain the version of this release (%s) along with " #~ "the\n" #~ "following message and preferably additional information about your " #~ "setup.\n" #~ "Refer to the web site of parted\n" #~ "\thttp://www.gnu.org/software/parted/parted.html\n" #~ "for more informations of what could be useful for bug submitting!\n" #~ msgstr "" #~ "\n" #~ "\n" #~ "Vous avez trouvé un bug dans GNU Parted.\n" #~ "Il est possible qu'il ait été corrigé dans la dernière version de GNU " #~ "Parted que vous pouvez trouver sur :\n" #~ "\thttp://ftp.gnu.org/gnu/parted/\n" #~ "S'il n'a pas été corrigé ou si vous ne savez pas comment vérifier, " #~ "envoyez un email :\n" #~ "\tbug-parted@gnu.org\n" #~ "ou (de préférence) remplissez un rapport de bug à :\n" #~ "\thttp://parted.alioth.debian.org/bugs/\n" #~ "Votre rapport de bug doit contenir la version de ce programme (%s) " #~ "accompagné du message suivant et de préférence d'informations " #~ "supplémentaires sur votre configuration.\n" #~ "Reportez vous au site web de Parted\n" #~ "\thttp://www.gnu.org/software/parted/parted.html\n" #~ "pour d'autres informations qui pourraient être utiles pour le rapport de " #~ "bug !" #~ msgid "SCSI" #~ msgstr "SCSI" #~ msgid "Device %s is neither a SCSI nor IDE drive." #~ msgstr "Le périphérique %s n'est ni un disque SCSI ni un disque IDE." #~ msgid "File system has an invalid signature for a FAT file systems." #~ msgstr "" #~ "Le système de fichiers a une signature invalide pour des systèmes de " #~ "fichiers FAT." #~ msgid "" #~ "START and END are in megabytes. Negative values count from the end of " #~ "the disk.\n" #~ msgstr "" #~ "DÉBUT et FIN sont en mégaoctets. Les valeurs négatives se décomptent " #~ "depuis la fin du disque.\n" #~ msgid "" #~ "You requested to create a partition at %.3f-%.3fMb. The closest Parted " #~ "can manage is %.3f-%.3fMb." #~ msgstr "" #~ "Vous avez demandé de créer une partition à %.3f-%.3fMo. Le plus près que " #~ "Parted peut traiter est %.3f-%.3fMo." #~ msgid "" #~ "You requested to move the partition to %.3f-%.3fMb. The closest Parted " #~ "can manage is %.3f-%.3fMb." #~ msgstr "" #~ "Vous avez demandé de déplacer une partition à %.3f-%.3fMo. Le plus près " #~ "que Parted peut traiter est %.3f-%.3fMo." #~ msgid "Minor Start End " #~ msgstr "Mineure Départ Fin " #~ msgid "Type " #~ msgstr "Type " #~ msgid "Filesystem " #~ msgstr "Sys.fichiers" #~ msgid "Name " #~ msgstr "Nom " #~ msgid "" #~ "You requested to resize the partition to %.3f-%.3fMb. The closest Parted " #~ "can manage is %.3f-%.3fMb." #~ msgstr "" #~ "Vous avez demandé de modifier la taille de la partition à %.3f-%.3fMo. Le " #~ "plus près que Parted peut traiter est %.3f-%.3fMo." #~ msgid "" #~ "You found a bug in GNU Parted. Please email a bug report to bug-" #~ "parted@gnu.org containing the version (%s), and the following message:\n" #~ msgstr "" #~ "Vous avez trouvé une anomalie dans GNU Parted. SVP rapportez celle-ci à " #~ "bug-parted@gnu.org en donnant la version (%s) et le message qui suit:\n" #~ msgid "Error reading %s (%s) to determine if partition is mounted." #~ msgstr "" #~ "Erreur de lecture %s (%s) afin de déterminer si la partition est montée." #~ msgid "" #~ "Unable to determine if partitions are mounted via /proc/mounts or /etc/" #~ "mtab. Make sure you don't attempt to resize or modify mounted file " #~ "systems. (Even read-only mounted)" #~ msgstr "" #~ "Incapable de déterminer si des partitions sont montées via /proc/mounts " #~ "ou /etc/mtab. Assurez-vous de ne pas tenter de modifier la taille ou de " #~ "modifier le système de fichiers (même montés en lecture seulement)" #~ msgid "" #~ "Partition %s is being used. Modifying it while it is in use could cause " #~ "severe corruption." #~ msgstr "" #~ "La partition %s est utilisée. La modifier alors qu'elle est en usage peut " #~ "provoquer un problème sévère de corruption." #~ msgid "Device %s has dodgey geometry." #~ msgstr "Le périphérique %s à une géométrie douteuse." #~ msgid "" #~ "The partition table on %s is inconsistent. There are many reasons why " #~ "this might be the case. However, the most likely reason is that Linux " #~ "detected the BIOS geometry for %s incorrectly. GNU Parted suspects the " #~ "real geometry should be %d/%d/%d (not %d/%d/%d). You should check with " #~ "your BIOS first, as this may not be correct. You can inform Linux by " #~ "adding the parameter %s=%d,%d,%d to the command line. See the LILO or " #~ "GRUB documentation for more information. If you think Parted's suggested " #~ "geometry is correct, you may select Ignore to continue (and fix Linux " #~ "later). Otherwise, select Cancel (and fix Linux and/or the BIOS now)." #~ msgstr "" #~ "La table de partition sur %s est inconsistante. Il y a plusieurs raisons " #~ "pouvant expliquer ce cas. Cependant, la raison la plus probable est que " #~ "Linux a détecté incorrectement la géométrie du BIOS pour %s. GNU parted " #~ "suspecte que la vraie géométrie devrait être %d/%d/%d (not %d/%d/%d). " #~ "Vous devriez vérifier celle du BIOS d'abord puisque celle-ci peut ne pas " #~ "être correcte. Vous pouvez informer Linux en fournissant le paramètre %s=" #~ "%d,%d,%d sur la ligne de commande. Consultez la documentation de LILO ou " #~ "de GRUB pour plus de détails. Si vous pensez que la géométrie suggérée " #~ "par Parted est correcte, vous pouvez sélectionner « ignore » pour " #~ "poursuivre (et corriger plus tard avec Linux). Autrement, sélectionner « " #~ "Cancel » (et corriger Linux et/ou le BIOS maintenant)." #~ msgid "" #~ "The partition table on %s is inconsistent. There are many reasons why " #~ "this might be the case. Often, the reason is that Linux detected the " #~ "BIOS geometry incorrectly. However, this does not appear to be the case " #~ "here. It is safe to ignore,but ignoring may cause (fixable) problems " #~ "with some boot loaders, and may cause problems with FAT file systems. " #~ "Using LBA is recommended." #~ msgstr "" #~ "La table de partition sur %s est inconsistante. Il existe plusieurs " #~ "raisons expliquant ce cas. Souvent la raison est que Linux a détecté une " #~ "géométrie du BIOS incorrecte. Cependant cela ne semble pas être le cas " #~ "ici. Il est prudent de l'ignorer mais l'ignorer pourrait causer certains " #~ "problèmes (corrigeables) avec certains chargeurs d'amorce et les systèmes " #~ "de fichiers FAT. L'utilisation de LBA est recommandée." #~ msgid "" #~ "Unable to align partition properly. This probably means that another " #~ "partitioning tool generated an incorrect partition table, because it " #~ "didn't have the correct BIOS geometry. It is safe to ignore,but ignoring " #~ "may cause (fixable) problems with some boot loaders." #~ msgstr "" #~ "Incapable d'aligner la partition correctement. Ceci indique probablement " #~ "qu'un autre outil de partionnage a fabriqué une table de partition " #~ "incorrecte, parce qu'il n'utilisait pas la bonne géométrie du BIOS. Il " #~ "est prudent de l'ignorer mais l'ignorer peut causer des problèmes " #~ "(corrigeables) avec certains chargeurs d'amorce." #~ msgid "" #~ " You have Windows FAT partition(s) that are not using LBA. If your BIOS " #~ "supports LBA, then you should switch to LBA by setting the LBA flag on " #~ "all FAT partitions. Otherwise, make sure the operating system and the " #~ "BIOS have the same geometry before resizing any FAT partitions." #~ msgstr "" #~ " Vous avez des partitions FAT Windows qui n'utilisent pas LBA. Si le " #~ "BIOS supporte LBA alors vous devriez sélectionner LBA en l'activant pour " #~ "toutes les partitions FAT. Autrement, assurez-vous que le système " #~ "d'exploitation et le BIOS ont la même géométrie avant de modifier la " #~ "taille de n'importe quelle partition FAT." #~ msgid "" #~ "The operating system thinks the geometry on %s is %d/%d/%d. Therefore, " #~ "cylinder 1024 ends at %.3fM.%s" #~ msgstr "" #~ "Le système d'exploitation croit que le géométrie sur %s est %d/%d/%d. " #~ "Par conséquent le cylindre 1024 se termine à %.3fM.%s" #~ msgid "The operating system thinks the geometry on %s is %d/%d/%d.%s" #~ msgstr "" #~ "Le système d'exploitation croit que le géométrie sur %s est %d/%d/%d.%s" #~ msgid "START and END are in megabytes\n" #~ msgstr "DÉBUT et FIN sont en mégaoctets\n" #~ msgid "Partition %s is being used." #~ msgstr "La partition %s est déjà utilisée." #~ msgid "" #~ "The FATs aren't big enough to describe all clusters! Each FAT is %d " #~ "sectors. There are %d clusters, which would require each FAT to be %d " #~ "sectors. This is REALLY weird. You might want to write us an email: bug-" #~ "parted@gnu.org" #~ msgstr "" #~ "Les FAT ne sont pas assez grandes pour décrire tous les clusters! Chaque " #~ "FAT a %d secteurs. Il y a %d clusters lesquels nécessiteront que chaque " #~ "FAT ait %d secteurs. Cela est vraiment bizarre. Vous pouvez nous écrire: " #~ "bug-parted@gnu.org" #~ msgid "" #~ "This swap partition is not compatible with Linux version 2.1.117 or " #~ "earlier. Use a smaller partition (maximum size 128mb) if you want to use " #~ "old versions of Linux." #~ msgstr "" #~ "Cette partition swap n'est pas compatible avec la version 2.1.117 de " #~ "Linux (ou précédente). Utilisez une partition de plus petite taille " #~ "(taille maximum 128Mo) si vous désirez utiliser une version plus ancienne " #~ "de Linux" #~ msgid "" #~ "The new partition overlaps with another partition so badly that it isn't " #~ "obvious want you want!" #~ msgstr "" #~ "La nouvelle partition en chevauche une autre de façon telle qu'il est " #~ "difficile de savoir ce que vous désirez!." #~ msgid "" #~ "Can't resize an extended partition so as to exclude a logical partition." #~ msgstr "" #~ "Ne peut modifier la taille d'une partition étendue en excluant une " #~ "partition logique." #~ msgid "Can't grow a partition onto used space." #~ msgstr "Ne peut accroître une partition sur de l'espace utilisé." #~ msgid "unknown" #~ msgstr "inconnu" #~ msgid "Unknown SCSI" #~ msgstr "SCSI inconnu" #~ msgid "GUID Partition Table Header Signature is wrong: " #~ msgstr "Signature erronée de l'entête de la table de partition GUID: " #~ msgid " should be " #~ msgstr " devrait être " #~ msgid "GPT Header CRC check failed, %x should be %x." #~ msgstr "Erreur de vérification du CRC de l'entête GPT, %x devrait être %x." #~ msgid "GPT Partition Entry Array CRC check failed, %x should be %x." #~ msgstr "" #~ "Erreur de vérification du CRC de l'entrée de la partition GPT, %x devrait " #~ "être %x." #~ msgid "" #~ "This disk contains a valid Primary and Alternate GUID Partition Table but " #~ "the Protective MBR is invalid. This generally means that the disk had " #~ "GPT partitions on it, but then a legacy partition editing tool was used " #~ "to change the partition table stored in the MBR.\n" #~ "Which data is valid, GPT or MBR?\n" #~ "Yes will assume that the GPT information is correct, and rewrite the " #~ "PMBR.\n" #~ "No will assume that the MBR is correct, and erase the GPT information.\n" #~ "Ignore will assume that the MBR is correct, but not change the disk." #~ msgstr "" #~ "Ce disque contient une table de partitions Primaire et Alternative GUID " #~ "valides mais le MBR Protectif est invalide. Cela signifie généralement " #~ "que le disque contient des partitions GPT mais qu'un ancien logiciel " #~ "d'édition de partitions a été utilisé pour modifier la table de " #~ "partitions stockée dans le MBR.\n" #~ "Lequel est valide GPT ou MBR?\n" #~ "La réponse Yes (oui) indique que l'on suppose que l'information de type " #~ "GPT est correcte et réécrira le PMBR.\n" #~ "La réponse No (non) indique que l'on assume que l'information de type MBR " #~ "est correcte et effacera l'information GPT\n" #~ "La réponse Ignore (ignorez) indique que l'on suppose que l'information de " #~ "type MBR est correcte mais aucun changement ne sera apporté au disque." #~ msgid "" #~ "This disk contains a valid Alternate GUID Partition Table but the Primary " #~ "GPT and Protective MBR are invalid. This generally means that the disk " #~ "had GPT partitions on it, but then a legacy partition editing tool was " #~ "used to change the partition table stored in the MBR.\n" #~ "Which data is valid, GPT or MBR?\n" #~ "Yes will assume that the GPT information is correct, and will rewrite the " #~ "PMBR and Primary GPT.\n" #~ "No will assume that the MBR is correct, and erase the GPT information.\n" #~ "Ignore will assume that the MBR is correct, but not change the disk." #~ msgstr "" #~ "Ce disque contient une table de partition Alternate GUID valide mais la " #~ "partition primaire GPT et le MBR Protectif sont invalides. Cela signifie " #~ "généralement que le disque contient des partitions GPT mais qu'un ancien " #~ "logiciel d'édition de partitions a été utilisé pour modifier la table de " #~ "partitions stockée dans le MBR.\n" #~ "Lequel est valide GPT ou MBR?\n" #~ "La réponse Yes (oui) indique que l'on suppose que l'information de type " #~ "GPT est correcte et réécrira le PMBR et la partition primaire GPT.\n" #~ "La réponse No (non) indique que l'on suppose que l'information de type " #~ "MBR est correcte et effacera l'information GPT\n" #~ "La réponse Ignore (ignorez) indique que l'on suppose que l'information de " #~ "type MBR est correcte mais aucun changement ne sera apporté au disque." #~ msgid "" #~ "This disk contains a valid Primary GUID Partition Table but the Alternate " #~ "GPT and Protective MBR are invalid. This generally means that the disk " #~ "had GPT partitions on it, but then a legacy partition editing tool was " #~ "used to change the partition table stored in the MBR.\n" #~ "Which data is valid, GPT or MBR?\n" #~ "Yes will assume that the GPT information is correct, and will rewrite the " #~ "PMBR and Alternate GPT.\n" #~ "No will assume that the MBR is correct, and erase the GPT information.\n" #~ "Ignore will assume that the MBR is correct, but not change the disk.\n" #~ msgstr "" #~ "Ce disque contient une table de partition primaire GUID valide mais la " #~ "partition alternative GPT et le MBR Protectif sont invalides. Cela " #~ "signifie généralement que le disque contient des partitions GPT mais " #~ "qu'un ancien logiciel d'édition de partitions a été utilisé pour modifier " #~ "la table de partitions stockée dans le MBR.\n" #~ "Lequel est valide GPT ou MBR?\n" #~ "La réponse Yes (oui) indique que l'on suppose que l'information de type " #~ "GPT est correcte et réécrira le PMBR et la partition alternative GPT.\n" #~ "La réponse No (non) indique que l'on suppose que l'information de type " #~ "MBR est correcte et effacera l'information GPT\n" #~ "La réponse Ignore (ignorez) indique que l'on suppose que l'information de " #~ "type MBR est correcte mais aucun changement ne sera apporté au disque.\n" #~ msgid "Can't set non-Linux partitions as a root device." #~ msgstr "Ne peut définir des partitions non-Linux pour un périphérique root" #~ msgid "Can't set non-Linux partitions as a swap device." #~ msgstr "" #~ "Ne peut définir des partitions non-Linux pour un périphérique pour le swap" #~ msgid "No get_resize_constraint for %s!" #~ msgstr "Aucun get_resize_constraint pour %s!" #~ msgid "The %s file system code doesn't support %s disk labels." #~ msgstr "" #~ "Le code du système de fichiers %s ne supporte pas les étiquettes de " #~ "disque %s" #~ msgid "Creating new %s disklabels is not implemented yet." #~ msgstr "" #~ "La création d'une nouvelle étiquette pour le système de fichiers %s n'est " #~ "pas encore implantée." #~ msgid "The code to write the partition table hasn't been written for %s yet" #~ msgstr "" #~ "Le code pour écrire la table de partition n'a pas encore été écrit pour %s" #~ msgid "Insane! %d clusters!" #~ msgstr "Insensé! %d clusters!" #~ msgid "" #~ "The filesystem is going to be too big for FAT16, so FAT32 will be used. " #~ "This is not compatible with MS-DOS, early versions of MS-Windows 95 and " #~ "Windows NT. If you use these operating systems, then select cancel, and " #~ "create a smaller partition. If you only use Linux, BSD, MS Windows 98 " #~ "and/or MS Windows 95 B, then select OK." #~ msgstr "" #~ "Le système de fichiers sera trop gros pour FAT16, aussi FAT32 sera " #~ "utilisé. Il n'est pas compatible avec MS-DOS et les premières versions de " #~ "MS-Windows 95 et Windows NT. Si vous utilisez ces systèmes d'exploitation " #~ "alors sélectionne 'annuler' (cancel) et créez une partition plus petite. " #~ "Si vous utilisez seulement Linux, BSD, MS Windows 98 et/ou MS Windows 95 " #~ "B alors sélectionner 'OK'." #~ msgid "Weird: fat_calc_sizes() failed for FAT32!" #~ msgstr "Bizarre: fat_calc_sizes() a échoué pour un FAT32!" #~ msgid "" #~ "Would you like to use FAT32 for this filesystem? It is much more " #~ "efficient with your disk space, but is not compatible with early versions " #~ "of Windows 95 and Windows NT. Only select yes if you only use Linux, " #~ "BSD, MS Windows 98 and/or MS Windows 95 B." #~ msgstr "" #~ "Préférez-vous utiliser FAT32 pour ce système de fichiers? C'est plus " #~ "efficace avec votre espace disque mais non compatible avec les premières " #~ "version de Windows 95 et Windows NT. Sélectionner seulement si vous " #~ "utilisez Linux, BSD, MS Windows 98 et/ou MS Windows 95 B." #~ msgid "" #~ "File system doesn't have expected sizes for Windows to like it. Number " #~ "of clusters is %d (%d expected); size of FATs is %d sectors (%d expected)." #~ msgstr "" #~ "Le système de fichiers n'était pas prévu pour des tailles compatibles " #~ "avec Windows. Le nombre de clusters est %d (%d attendu). La taille des " #~ "FAT est de %d secteurs (%d attendu)" #~ msgid "" #~ "Partition size (%ld sectors) and filesystem size (%ld sectors) do not " #~ "match." #~ msgstr "" #~ "La taille de partition (%ld secteurs) et la taille du système de fichiers " #~ "(%ld secteurs) ne concordent pas." #~ msgid "Linux-swap partitions can not be hidden on msdos disk labels." #~ msgstr "" #~ "Les partitions Linux-swap ne peuvent être cachées pour une étiquette de " #~ "disque MS-DOS" #~ msgid "Linux-swap partitions can not be bootable on pc98 disk labels." #~ msgstr "" #~ "Les partitions Linux-swap ne peuvent être amorçables pour une étiquette " #~ "de disque pc98." #~ msgid "HFS partitions can't be hidden on msdos disk labels." #~ msgstr "" #~ "Les partitions HFS ne peuvent être cachées pour une étiquette de disque " #~ "MS-DOS." #~ msgid "JFS partitions can't be hidden on msdos disk labels." #~ msgstr "" #~ "Les partitions JFS ne peuvent être cachées pour une étiquette de disque " #~ "MS-DOS." #~ msgid "Reiserfs partitions can't be hidden on msdos disk labels." #~ msgstr "" #~ "Les partitions Reiserfs ne peuvent être cachées pour une étiquette de " #~ "disque MS-DOS." #~ msgid "Reiserfs partitions must be bootable on pc98 disk labels." #~ msgstr "" #~ "Les partitions Reiserfs doivent être amorçables pour une étiquette de " #~ "disque pc98." #~ msgid "XFS partitions can't be hidden on msdos disk labels." #~ msgstr "" #~ "Les partitions XFS ne peuvent être cachées pour une étiquette de disque " #~ "MS-DOS." parted-2.3/po/da.gmo0000644000000000000000000004610111400005705011224 00000000000000Þ•»ôûÌ ¸¹Ö Ý2è<Xm‹ª(À%é,P?HDÙ "L,y)–!ÀGâ(*<S@?Ñ2D]K=©Iç1"Dg(…®Íê')GLR&q˜$­Òï +\G=¤?â>"ar†Œ¶>T=“;ÑH VvˆŒ’Û¡I}UÇ$ D4P)…¯ ÆÑ ìø -=[sv+/«/Û 0.K)z¤)½ç÷ " < B 3\  Ÿ ¸ ¿ <× ;!<P!;!<É!‚"í‰"Öw#/N$^~$hÝ$HF%H%šØ%@s&@´&7õ&ƒ-'U±'((A7(y(Œ(3£(×(ß( þ()H)Y)v)~z) ù)* ****-*B*]*)f**•*©*®* µ*À*Ä*Ì*Ð*Ù*Þ*æ*í*ö*û*#+$+(+)++U+]+c+h+m++†+++•+°+·+ »+Å+Ê+aå+G-f- m-Ex-S¾-.().*R.}.(–.3¿.%ó./`//Y/Gê/ 20 >0QJ0$œ0/Á0#ñ0G1*]1?ˆ1AÈ1L 2@W2˜2R¡2Hô2M=3‹3,ž3!Ë3,í3*4E4d4)~4¨4Â4È4 Í45î4 $5.E5t5“5°5Ï5Qì5E>6G„6?Ì6 77/757ºD7Iÿ7II8A“8;Õ89/9D9L9 Q9Ò_9H2:b{;Þ;æ; <3<7F<~< “<ž< ¹<Ã< Ü<é<í<=*=1>=p=s=/y=1©=2Û=>,$>+Q>(}>¦>3¿>ó>??3? P?\?4w? ¬?¸?Ô?Û?Uö?QL@Qž@Nð@Z?AŽšA )Bø5C/.Df^DÅDKEEK‘EŸÝE>}F=¼F9úF‡4G\¼GH2HQPH¢H¶H5ÔH II -I8ISAI•I¯Iy²I,J=JCJHJfJiJyJ‘J-™JÇJÎJàJæJ íJøJüJKKKKK$K-K2K'7K_KcK<fK£KªK°K·K¼KÓK×KæKéKíKL LL L L,…Œ¥Rwkµ®jH¦[PtLS©‹Q6™ž¬fWOn1h|mŽªC%V-a^A ¶{g$‚`s‘ #yF´„ ˆ¡3‡ 4¤B·<9³KºUi‰Jz°?&Y²\›>5¯€œ=2E”pŠ:)D¸Xš»(b!«d†¢qe˜Z .±­“’'N0G*@o•r+;lxv—¹ }–ƒ"c§I/_~M£Ÿ¨]8 Tu7%0.f%% (time left %.2d:%.2d)%s %s%s %s %s%s disk labels do not support extended partitions.%s disk labels don't support logical or extended partitions.%s during read on %s%s during seek for read on %s%s during seek for write on %s%s during write on %s%s is %dk, but it has %d clusters (%dk).%s is too small for a Mac disk label!%s trying to sync %s to diskATARAID ControllerBad FAT: cluster %d is cross-linked for %s. You should run dosfsck or scandisk.Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk.Bad directory entry for %s: first cluster is the end of file marker.BugCOMMANDs:Can't add a logical partition to %s, because there is no extended partition.Can't add another partition.Can't copy onto an overlapping partition.Can't create any more partitions.Can't have a logical partition outside of the extended partition on %s.Can't have a partition outside the disk!Can't have a primary partition inside an extended partition.Can't have logical partitions outside of the extended partition.Can't move a partition onto itself. Try using resize, perhaps?Can't write to %s, because it is opened read-only.CancelChanging the name of a root or swap partition will prevent Linux from recognising it as such.Checksum is wrong, indicating the partition table is corrupt.Cluster start delta = %d, which is not a multiple of the cluster size %d.Compaq Smart ArrayCorrupted Sun disk label detected.Could not detect file system.Could not get identity of device %s - %sCould not stat device %s - %s.Couldn't flush buffer cache!DAC960 RAID controllerDEVICE is usually /dev/hda or /dev/sda Destination partition number?End?ErrorError allocating buffer cache.Error initialising SCSI device %s - %sError opening %s: %sError writing to the root directory.Expecting a disk label type.Expecting a file system type.Expecting a partition number.Expecting a partition type.FAT %d media %x doesn't match the boot sector's media %x. You should probably run scandisk.FAT boot sector says clusters are 0 sectors. This is weird. FAT boot sector says logical sector size is 0. This is weird. FAT boot sector says there are no FAT tables. This is weird. FLAG is one of: FS-TYPE is one of: FatalFile System: %s File system doesn't have expected sizes for Windows to like it. Cluster size is %dk (%dk expected); number of clusters is %d (%d expected); size of FATs is %d sectors (%d expected).File system has an invalid cluster size for a FAT file system.File system has an invalid sector size for a FAT file system.File system has an invalid signature for a FAT file system.File system is reporting the free space as %d clusters, not %d clusters.File system too small for ext2.File system type?FixFlagsI2O ControllerIf you convert to FAT16, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual).If you convert to FAT32, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual). Also, converting to FAT32 will make the file system unreadable by MS DOS, MS Windows 95a, and MS Windows NT.If you leave your file system as FAT32, then you will not introduce any new problems.IgnoreInconsistent group descriptors!InformationInvalid partition table - recursive partition on %s.Invalid signature %x for Mac disk labels.LABEL-TYPE is one of: Minor: %d NAME is any word you want New device?New disk label type?New state?NoNo ImplementationNo device foundNo valid partition map found.Not enough free inodes!OKOPTIONs:Only logical partitions can be a boot file.Only primary partitions can be root partitions.Only primary partitions can be swap partitions.Out of memory.PART-TYPE is one of: primary, logical, extended Partition %d has an invalid length of 0 bytes!Partition %d has an invalid signature %x.Partition doesn't exist.Partition map has no partition map entry!Partition name?Partition number?Partition type?Partition(s) on %s are being used.RetrySTATE is one of: on, off Sorry, can't move the start of ext2 partitions yet!Source device?Source partition number?Start?Sun disk label is full.Support for checking %s file systems is not implemented yet.Support for copying %s file systems is not implemented yet.Support for creating %s file systems is not implemented yet.Support for opening %s file systems is not implemented yet.Support for resizing %s file systems is not implemented yet.The FATs don't match. If you don't know what this means, then select cancel, run scandisk on the file system, and then come back.The Whole Disk partition is the only available one left. Generally, it is not a good idea to overwrite this partition with a real one. Solaris may not be able to boot without it, and SILO (the sparc boot loader) appreciates it as well.The backup GPT table is not at the end of the disk, as it should be. This might mean that another operating system believes the disk is smaller. Fix, by moving the backup to the end (and removing the old backup)?The disk label describes a disk bigger than %s.The driver descriptor says the physical block size is %d bytes, but Linux says it is %d bytes.The file %s is marked as a system file. This means moving it could cause some programs to stop working.The file system can only be resized to this size by converting to FAT16.The file system can only be resized to this size by converting to FAT32.The information sector has the wrong signature (%x). Select cancel for now, and send in a bug report. If you're desperate, it's probably safe to ignore.The partition's boot region doesn't occupy the entire partition.The partition's data region doesn't occupy the entire partition.There are no possible configurations for this FAT type.This file system has a logical sector size of %d. GNU Parted is known not to work properly with sector sizes other than 512 bytes.This libparted doesn't have write support for %s. Perhaps it was compiled read-only.Too many bad pages.Too many primary partitionsUnable to open %s read-write (%s). %s has been opened read-only.Unable to open %s.Unable to probe store.Unable to satisfy all constraints on the partition.UnknownUnknown file system type "%s".Using %s WarningWeird block size on device descriptor: %d bytes is not divisible by 512.Would you like to use FAT32?YesYou should reinstall your boot loader before rebooting. Read section 4 of the Parted User documentation for more information.adding groupsbootcheckchecking for bad blockscpdisplays the versiondisplays this help messageextendedfat_table_alloc_cluster: no free clustersfreegrowing file systemhelphiddenhp-servicelbalogicallvmmetadatamkfsmklabelmkpartmkpartfsmovenamenever prompts for user interventionoffonped_device_new() Unsupported device typeprimaryprintquitraidraw block copyingrescueresizermrootsearching for file systemsselectsetshrinkingswapwriting per-group metadataProject-Id-Version: parted 1.6.5-pre1 Report-Msgid-Bugs-To: bug-parted@gnu.org POT-Creation-Date: 2010-05-28 20:30+0200 PO-Revision-Date: 2003-01-17 17:09+0200 Last-Translator: Keld Simonsen Language-Team: Danish Language: da MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit %0.f%% (tid tilbage %.2d:%.2d)%s %s%s %s %sFilallokeringstabeller for %s understøtter ikke udvidede partitioner.Filallokeringstabeller for %s understøtter ikke logiske eller udvidede partitioner.%s under læsning på %s%s under positionering for at læse på %s%s under positionering for at skrive på %s%s under skrivning på %s%s er %dk, men den har %d klynger (%dk).%s er for lille for en filallokeringstabel for Mac!%s prøver at synkronisere %s med diskStyrekort for ATARAIDDårlig filallokeringstabel: klynge %d er krydslænket for %s. Du bør køre dosfsck eller scandisk.Dårlig filallokeringstabel: ej afsluttet kæde for %s. Du bør køre dosfsck eller scandisk.Fejlagtig katalogindgang for %s: første klynge er en filslutsmarkering.ProgramfejlKOMMANDOer:Kan ikke tilføje en logisk partition til %s, da der mangler en udvidet partition.Kan ikke tilføje endnu en partition.Kan ikke kopiere til en overlappende partition.Kan ikke tilføje flere partitioner.Kan ikke have en logisk partition udenfor den udvidede partition på %s.Kan ikke have en partition udenfor disken!Kan ikke have en primær partition inden i en udvidet partition.Kan ikke have logiske partitioner udenfor den udvidede partition.Kan ikke flytte en partition til sig selv. Prøv at ændre størrelsen i stedetKan ikke skrive til %s eftersom den kun er åbnet i læsetilstand.AnnullérAt ændre navnet på en rod- eller swappartition gør at Linux ikke kan genkende dem.Tjeksummen er forkert, og det tyder på at partitionstabellen er ødelagt.Klynge-startforskel er %d, hvilket ikke er en multipel af klyngestørrelsen %dCompaq Smart ArrayEn beskadiget Sun disk-etikette blev fundet.Kunne ikke finde noget filsystem.Kunne ikke finde identitet for enhed %s - %sKunne ikke tage status på enheden %s - %s.Kunne ikke rense buffercachen!Styrekort for DAC960 RAIDENHED er normalt /dev/hda eller /dev/sda Nummer på målpartitionen?Slut?FejlKunne ikke reservere buffercacheEn fejl opstod ved initiering af SCSI-enheden %s - %sEn fejl opstod da %s åbnedes: %sEn fejl opstod ved skrivning til rodkataloget.Forventer en disketikettetype.Forventer en filsystemstype.Forventer et partitionsnummer.Forventer et partitionstype.FAT %d medie %x passer ikke med startsektorns medie %x. Du bør nok køre scandisk.FAT:s startsektor mener at en klynge består af 0 sektorer. Mærkeligt.FAT:s startsektor mener at den logiske sektorstørrelse er 0. Mærkeligt.FAT:s startsektor mener at der mangler FAT-tabeller. Mærkeligt.FLAG er et af: FS-TYPE er en af: FatalFilsystem: %s Filsystemet har ikke en størrelse som Windows kan lide. Klyngestørrelsen er %dk (%dk forventet); antal klynger er %d (%d forventet); størrelsen på FAT-erne er %d sektorer (%d forventet).Filsystemet har en ugyldig klyngestørrelse for et filsystem af typen FAT.Filsystemet har en ugyldig sektorstørrelse for et filsystem af typen FAT.Filsystemet har en ugyldig signatur for filsystemer af typen FAT.Filsystemet mener at den frie plads er %d klynger, ikke %d.Filsystem for lille til ext2.Type på filsystemet?ReparérFlagI2O-styrekortHvis du konverterer til FAT16 og MS Windows er installeret på denne partition så skal du geninstallere MS Windows opstartsprogram. Hvis du gør det bør du studere Parteds manual (eller din distributions manual).Hvis du konverterer til FAT32, og MS Windows er installeret på denne partition, skal du geninstallere MS Windows opstartsprogram. Hvis du gør det bør du studere Parteds manual (eller din distributions manual). Bemærk at ved at konvertere filsystemet til FAT32 vil det ikke kunne læses af MS DOS, MS Windows 95a og MS Windows NT.Hvis du lader filsystemet fortsætte med at være FAT32 vil du ikke introducere nogen nye problemer.IgnorérInkonsistente gruppebeskrivere!InformationUgyldig partitionstabel - rekursiv partition på %s.Ugyldig signatur %x for en filallokeringstabel for Mac.LABEL-TYPE er en af:Lille: %d NAVN er et vilkårligt ord Ny enhed?Type på ny disketikette?Ny tilstand?NejIkke implementeretIngen enhed fundetIngen gyldig partitionstabel kunne findes.Der findes ikke tilstrækkeligt mange frie inoder!OKFLAG:Kun logiske partitioner kan være en opstatsfil.Kun primære partitioner kan være rod-partitioner.Kun primære partitioner kan være swap-partitioner.Ikke mere hukommelse.PART-TYPE er en af: primær, logisk, udvidet Partition %d har en ugyldig længde, 0 byte!Partition %d har en ugyldig signatur %x.Partitionen findes ikke.Partitionstabellen mangler oplysninger om sig selv!Navn på partitionen?Nummer på partitionen?Type på partitionenPartitionen på %s er i brug.Forsøg igenTILSTAND er en af: på, af Kan ikke flytte en ext2-partitions begyndelse endnu!Kildeenhed?Nummer på kildepartitionen?Start?Sun disk-etikette er fuld.Understøttelse for at kontrollere filsystemer af type %s er ikke implementeret endnu.Understøttelse for at kopiere filsystemer af type %s er ikke implementeret endnu.Understøttelse for at oprette filsystemer af type %s er ikke implementeret endnu.Understøttelse for at åbne filsystemer af type %s er ikke implementeret endnu.Understøttelse for at ændre størrelse på filsystem af type %s er ikke implementeret endnu.Filallokeringstabellerne stemmer ikke overens. Hvis du ikke véd hvad dette betyder, vælg annullér, kør scandisk på filsystemet og forsøg igen.Hele disk-partitionen er den eneste tilbageværende, der er tilgængelig. Generelt er det ikke en god idé at overskrive denne partition med en rigtig én. Solaris vil muligvis ikke kunne starte op uden den, og SILO (opstartsprogrammet for Sparc) sætter også pris på den.Sikkerhedskopien af GPT-tabellen er ikke i slutningen af disken, som den burde være. Dette kan betyde at et andet styresystem tror disken er mindre. Skal det rettes ved at flytte sikkerhedskopien til slutningen (og fjerne den gamle sikkerhedskopi)?Disk-etiketten beskriver en disk større end %s.Enhedens beskriver påstår at den fysiske blokstørrelse er %d byte, men Linux påstår at den er %d byte.Filen %s er markeret som en systemfil. Dette betyder at flytning af den kan bevirke at nogen programmer ikke længere vil virke.Filsystemet kan kun ændres til denne størrelse ved at konvertere til FAT16.Filsystemet kan kun ændres til denne størrelse ved at konvertere til FAT32.Informationssektoren har forkert signatur (%x). Vælg annullér og indsend en fejlrapport. Hvis du er desperat så er det formodentlig sikkert at ignorere fejlen.Partitionens startområde optager ikke hele partitionens plads.Partitionens dataområde optager ikke hele partitionens plads.Det findes ingen mulige kombinationer for denne FAT-type.Filsystemet har en logisk sektorstørrelse på %d. Det er kendt at GNU Parted ikke fungerer godt med andre sektorstørrelser end 512 byte.Denne libparted har ikke skriveunderstøttelse for %s. Måske var den oversat skrivebeskyttet.For mange dårlige sider.For mange primære partitionerKunne ikke åbne %s for både læsning og skrivning (%s). %s åbnedes i læsetilstand.Kunne ikke åbne %s.Kunne ikke undersøge lageret.Kunne ikke opfylde alle begrænsninger på partitionen.UkendtUkendt filsystemstype '%s'.Bruger %s AdvarselMærkelig blokstørrelse på enhedens beskriver: %d byte er ikke helt delbart med 512.Ønsker du at bruge FAT32?JaDu bør geninstallere opstartsprogrammet inden du genopstarter. Læs sektion 4 i Parteds brugermanual for mere information.tilføjer grupperstarttjekkontroller for dårlige blokkecpviser versionenviser denne hjælpetekstudvidetfat_table_alloc_cluster: ingen ledige klyngerledigtudvider filsystemhjælpskjulthp-servicelbalogisklvmmetadatamkfsmklabelmkpartmkpartfsmovenamespørger aldrig brugeren om alternativerfrapåped_device_new() Understøttelse mangler for denne enhedstypeprimærskrivafslutraidkopiering af rå blokkeredændr_størrelsermrodleder efter filsystemervælgsætkrymperswappladsskriver metadata for hver gruppeparted-2.3/po/id.po0000644000000000000000000034372011400005704011076 00000000000000# Pesan Bahasa Indonesia untuk GNU parted # Copyright (C) 2006 Free Software Foundation, Inc. # This file is distributed under the same license as the parted package. # Arif E. Nugroho , 2006. # Andhika Padmawan , 2009. # Arif E. Nugroho , 2010. # msgid "" msgstr "" "Project-Id-Version: GNU parted 2.1\n" "Report-Msgid-Bugs-To: bug-parted@gnu.org\n" "POT-Creation-Date: 2010-05-28 20:30+0200\n" "PO-Revision-Date: 2010-01-27 07:30+0700\n" "Last-Translator: Arif E. Nugroho \n" "Language-Team: Indonesian \n" "Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "argumen `%s' tidak sah %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "argumen %s ambigu untuk %s" #: lib/argmatch.c:153 #, c-format msgid "Valid arguments are:" msgstr "Argumen yang sah adalah:" #: lib/closeout.c:112 libparted/labels/fdasd.c:107 msgid "write error" msgstr "gagal menulis" #: lib/error.c:181 msgid "Unknown system error" msgstr "Error dari sistem tidak diketahui penyebabnya" #: lib/getopt.c:527 lib/getopt.c:543 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous\n" msgstr "%s: pilihan `%s' adalah ambigu\n" #: lib/getopt.c:576 lib/getopt.c:580 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: pilihan `--%s' tidak memperbolehkan adanya argumen\n" #: lib/getopt.c:589 lib/getopt.c:594 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: pilihan `%c%s' tidak memperbolehkan adanya sebuah argumen\n" #: lib/getopt.c:637 lib/getopt.c:656 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: pilihan `%s' membutuhkan sebuah argument\n" #: lib/getopt.c:694 lib/getopt.c:697 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: pilihan `--%s' tidak dikenali\n" #: lib/getopt.c:705 lib/getopt.c:708 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: pilihan `%c%s' tidak dikenali\n" #: lib/getopt.c:757 lib/getopt.c:760 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: -- %c pilihan tidak valid\n" #: lib/getopt.c:810 lib/getopt.c:827 lib/getopt.c:1035 lib/getopt.c:1053 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: pilihan membutuhkan sebuah argumen -- %c\n" #: lib/getopt.c:883 lib/getopt.c:899 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: pilihan `-W %s' adalah abigu\n" #: lib/getopt.c:923 lib/getopt.c:941 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: pilihan `-W %s' tidak memperbolehkan adanya sebuah argument\n" #: lib/getopt.c:962 lib/getopt.c:980 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: pilihan `%s' membutuhkan sebuah argument\n" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". If the catalog has no translation, #. locale_quoting_style quotes `like this', and #. clocale_quoting_style quotes "like this". #. #. For example, an American English Unicode locale should #. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and #. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION #. MARK). A British English Unicode locale should instead #. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) #. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. #. #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. #: lib/quotearg.c:272 msgid "`" msgstr "U+2018" #: lib/quotearg.c:273 msgid "'" msgstr "U+2019" #: lib/regcomp.c:134 msgid "Success" msgstr "Sukses" #: lib/regcomp.c:137 msgid "No match" msgstr "Tidak cocok" #: lib/regcomp.c:140 msgid "Invalid regular expression" msgstr "Ekspresi regular tidak valid" #: lib/regcomp.c:143 msgid "Invalid collation character" msgstr "Character collation tidak valid" #: lib/regcomp.c:146 msgid "Invalid character class name" msgstr "Character class name tidak valid" #: lib/regcomp.c:149 msgid "Trailing backslash" msgstr "Ada sisa backslash" #: lib/regcomp.c:152 msgid "Invalid back reference" msgstr "Back reference tidak valid" #: lib/regcomp.c:155 msgid "Unmatched [ or [^" msgstr "Tidak cocok [ atau [^" #: lib/regcomp.c:158 msgid "Unmatched ( or \\(" msgstr "Tidak cocok ( atau \\(" #: lib/regcomp.c:161 msgid "Unmatched \\{" msgstr "Tidak cocok \\{" #: lib/regcomp.c:164 msgid "Invalid content of \\{\\}" msgstr "Isi tidak valid untuk \\{\\}" #: lib/regcomp.c:167 msgid "Invalid range end" msgstr "Batas ujung tidak valid" #: lib/regcomp.c:170 msgid "Memory exhausted" msgstr "Kehabisan memory" #: lib/regcomp.c:173 msgid "Invalid preceding regular expression" msgstr "Ekspresi regular pendahulu tidak valid" #: lib/regcomp.c:176 msgid "Premature end of regular expression" msgstr "Regular ekspresi berakhir secara premature (tidak normal)" #: lib/regcomp.c:179 msgid "Regular expression too big" msgstr "Ekspresi regular terlalu besar" #: lib/regcomp.c:182 msgid "Unmatched ) or \\)" msgstr "Tidak cocok ) atau \\)" #: lib/regcomp.c:703 msgid "No previous regular expression" msgstr "Tidak ada ekpresi regular sebelumnya" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[yY]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nN]" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Dipaketkan oleh %s (%s)\n" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Dipaketkan oleh %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "(C)" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "Lisensi GPLv3+: GNU GPL versi 3 atau yang lebih baru \n" "Ini merupakan free software: anda dapat secara bebas mengubah dan " "mendistribusikan ulang.\n" "Tidak ada GARANSI, yang dilindungi oleh hukum yang berlaku.\n" "\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Ditulis oleh %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Ditulis oleh %s dan %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Ditulis oleh %s, %s, dan %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "Ditulis oleh %s, %s, %s,\n" "dan %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Ditulis oleh %s, %s, %s,\n" "%s, dan %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Ditulis oleh %s, %s, %s,\n" "%s, %s, dan %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Ditulis oleh %s, %s, %s,\n" "%s, %s, %s, dan %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Ditulis oleh %s, %s, %s,\n" "%s, %s, %s, %s,\n" "dan %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Ditulis oleh %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, dan %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Ditulis oleh %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, dan yang lainnya.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Laporkan bugs ke: %s\n" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "Laporkan %s bug ke: %s\n" #: lib/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "%s halaman rumah: <%s>\n" #: lib/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "%s halaman rumah: \n" #: lib/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" "Bantuan umum dalam menggunakan peranti lunak GNU: \n" #: lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "kehabisan memory" #: lib/xstrtol-error.c:63 #, c-format msgid "invalid %s%s argument `%s'" msgstr "argumen `%s' tidak sah %s%s" #: lib/xstrtol-error.c:68 #, c-format msgid "invalid suffix in %s%s argument `%s'" msgstr "akhiran tidak sah di %s%s argumen `%s'" #: lib/xstrtol-error.c:72 #, c-format msgid "%s%s argument `%s' too large" msgstr "%s%s argumen `%s' terlalu besar" #: libparted/arch/beos.c:245 msgid "Disk Image" msgstr "Salinan dari disk" #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277 #: libparted/arch/linux.c:1519 #, c-format msgid "Error opening %s: %s" msgstr "Error membuka %s: %s" #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287 #: libparted/arch/linux.c:1530 #, c-format msgid "Unable to open %s read-write (%s). %s has been opened read-only." msgstr "" "Tidak dapat membuka %s dengan mode read-write (%s). %s telah dibuka read-" "only." #: libparted/arch/beos.c:419 libparted/arch/linux.c:1688 #, c-format msgid "%s during seek for read on %s" msgstr "%s selama pencarian untuk dibaca pada %s" #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564 #: libparted/arch/gnu.c:692 libparted/arch/linux.c:1648 #: libparted/arch/linux.c:1729 #, c-format msgid "%s during read on %s" msgstr "%s selama pembacaan pada %s" #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525 #: libparted/arch/linux.c:1805 #, c-format msgid "Can't write to %s, because it is opened read-only." msgstr "Tidak dapat menulis pada %s, karena ini dibuka secara read-only." #: libparted/arch/beos.c:504 libparted/arch/linux.c:1830 #, c-format msgid "%s during seek for write on %s" msgstr "%s selama pencarian untuk menulis pada %s" #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646 #: libparted/arch/gnu.c:723 libparted/arch/linux.c:1778 #: libparted/arch/linux.c:1872 libparted/arch/linux.c:1944 #, c-format msgid "%s during write on %s" msgstr "%s selama penulisan pada %s" #: debug/clearfat/clearfat.c:62 partprobe/partprobe.c:137 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Coba `%s --help' untuk informasi lebih lanjut.\n" #: debug/clearfat/clearfat.c:66 #, c-format msgid "" "Usage: %s [OPTION]\n" " or: %s DEVICE MINOR\n" msgstr "" "Penggunaan: %s [OPSI]\n" " atau: %s PERANGKAT MINOR\n" #: debug/clearfat/clearfat.c:69 msgid "" "Clear unused space on a FAT partition (a GNU Parted testing tool).\n" "\n" msgstr "" "Bersihkan ruang yang tidak digunakan di parttisi FAT (sebuah perangkat " "pengetes di GNU Parted).\n" "\n" #: debug/clearfat/clearfat.c:73 msgid " --help display this help and exit\n" msgstr " --help menampilkan bantuan ini dan keluar\n" #: debug/clearfat/clearfat.c:74 msgid " --version output version information and exit\n" msgstr " --version menampilkan informasi versi dan keluar\n" #: debug/clearfat/clearfat.c:76 partprobe/partprobe.c:154 #, c-format msgid "" "\n" "Report bugs to <%s>.\n" msgstr "" "\n" "Laporkan bugs kepada <%s>.\n" #: debug/clearfat/clearfat.c:284 #, c-format msgid "too few arguments" msgstr "argumen terlalu sedikit" #: debug/clearfat/clearfat.c:289 #, c-format msgid "too many arguments" msgstr "Terlalu banyak argument." #: debug/clearfat/clearfat.c:297 #, c-format msgid "invalid minor device number: %s" msgstr "nomor divais minor tidak sah: %s" #: partprobe/partprobe.c:141 #, c-format msgid "Usage: %s [OPTION] [DEVICE]...\n" msgstr "Penggunaan: %s [OPSI] [PERANGKAT]...\n" #: partprobe/partprobe.c:142 msgid "" "Inform the operating system about partition table changes.\n" "\n" " -d, --dry-run do not actually inform the operating system\n" " -s, --summary print a summary of contents\n" " -h, --help display this help and exit\n" " -v, --version output version information and exit\n" msgstr "" "Beritahukan sistem operasi tentang perubahan tabel partisi.\n" "\n" " -d, --no-update jangan informasikan sistem operasi\n" " -s, --summary tampilkan rangkuman dari isi\n" " -h, --help tampilkan bantuan ini dan keluar\n" " -v, --version keluarkan informasi versi dan keluar\n" #: partprobe/partprobe.c:150 msgid "" "\n" "When no DEVICE is given, probe all partitions.\n" msgstr "" "\n" "Jika tak ada PERANGKAT yang diberikan, pindai seluruh partisi.\n" #: libparted/arch/gnu.c:110 #, c-format msgid "Unable to open %s." msgstr "Tidak dapat membuka %s." #: libparted/arch/gnu.c:130 msgid "Unable to probe store." msgstr "Tidak dapat memprobe store." #: libparted/arch/gnu.c:368 msgid "" "The partition table cannot be re-read. This means you need to reboot before " "mounting any modified partitions. You also need to reinstall your boot " "loader before you reboot (which may require mounting modified partitions). " "It is impossible do both things! So you'll need to boot off a rescue disk, " "and reinstall your boot loader from the rescue disk. Read section 4 of the " "Parted User documentation for more information." msgstr "" "Tabel partisi tidak dapat dibaca ulang. Ini berarti anda perlu untuk me-" "reboot terlebih dahulu sebelum me-mount semua partisi yang dimodifikasi. " "Anda juga perlu menginstall kembali bootloader anda sebelum me-reboot " "komputer anda (yang memerlukan untuk me-mount partisi yang dimodifikasi). " "Ini tidak mungkin untuk melakukan keduanya secara sekaligus! Jadi anda perlu " "membuat sebuah disket penolong (rescue), dan menginstall bootloader anda " "dari disket penolong tersebut. Baca bagian 4 dari dokumentasi pengguna " "Parted untuk informasi lebih lanjut." #: libparted/arch/gnu.c:385 #, c-format msgid "" "The partition table on %s cannot be re-read (%s). This means the Hurd knows " "nothing about any modifications you made. You should reboot your computer " "before doing anything with %s." msgstr "" "Tabel partisi pada %s tidak dapat dibaca kembali (%s). Ini berarti hurd " "tidak tahu apa-apa tentang modifikasi yang anda buat. Anda seharusnya " "mereboot komputer anda sebelum melakukan apapun dengan %s." #: libparted/arch/gnu.c:396 parted/parted.c:2719 msgid "" "You should reinstall your boot loader before rebooting. Read section 4 of " "the Parted User documentation for more information." msgstr "" "Anda seharusnya menginstall ulang boot loader anda sebelum merebootnya. Baca " "bagian 4 dari Parted dokumentasi pengguna untuk informasi lebih lanjut." #: libparted/arch/gnu.c:788 #, c-format msgid "%s trying to sync %s to disk" msgstr "%s mencoba untuk mensinkronisasi %s pada disk" #: libparted/arch/linux.c:509 #, c-format msgid "Could not stat device %s - %s." msgstr "Tidak dapat memperoleh statistik perangkat %s - %s." #: libparted/arch/linux.c:566 #, c-format msgid "Unable to determine the dm type of %s." msgstr "Tidak dapat menentukan tipe dm dari %s." #: libparted/arch/linux.c:658 #, c-format msgid "" "Could not determine sector size for %s: %s.\n" "Using the default sector size (%lld)." msgstr "" "Tidak dapat menentukan ukuran sektor untuk %s: %s.\n" "Menggunakan baku ukuran sektor (%lld)." #: libparted/arch/linux.c:679 #, fuzzy, c-format msgid "" "Could not determine physical sector size for %s.\n" "Using the logical sector size (%lld)." msgstr "" "Tidak dapat menentukan ukuran sektor untuk %s: %s.\n" "Menggunakan baku ukuran sektor (%lld)." #: libparted/arch/linux.c:728 #, c-format msgid "Unable to determine the size of %s (%s)." msgstr "Tidak dapat menentukan ukuran dari %s (%s)." #: libparted/arch/linux.c:814 #, c-format msgid "Could not get identity of device %s - %s" msgstr "Tidak dapat memperoleh identitas dari perangkat %s - %s" #: libparted/arch/linux.c:823 msgid "Generic IDE" msgstr "IDE umum" #: libparted/arch/linux.c:844 #, c-format msgid "" "Device %s has multiple (%d) logical sectors per physical sector.\n" "GNU Parted supports this EXPERIMENTALLY for some special disk label/file " "system combinations, e.g. GPT and ext2/3.\n" "Please consult the web site for up-to-date information." msgstr "" "Perangkat %s memiliki beberapa (%d) logical sektor dalam setiap physical " "sektor.\n" "GNU Parted support untuk hal ini dalam tahap PERCOBAAN untuk beberapa disk " "label spesial / kombinasi file system, contoh GPT dan ext2/3.\n" "Tolong lihat web site untuk informasi terbaru." #: libparted/arch/linux.c:1019 #, c-format msgid "Error initialising SCSI device %s - %s" msgstr "Error menginisialisasi perangkat SCSI %s - %s" #: libparted/arch/linux.c:1083 #, c-format msgid "" "The device %s has zero length, and can't possibly store a file system or " "partition table. Perhaps you selected the wrong device?" msgstr "" "Perangkat %s memiliki panjang kosong, dan tidak mungkin menyimpan file " "system dan tabel partisi didalamnya. Mungkin anda telah memilih perangkat " "yang salah?" #: libparted/arch/linux.c:1190 #, c-format msgid "" "Unable to determine geometry of file/device %s. You should not use Parted " "unless you REALLY know what you're doing!" msgstr "" "Tidak dapat menentukan geometri dari file/perangkat %s. Anda seharusnya " "tidak menggunakan Parted kecuali anda BENAR - BENAR tahu apa yang anda " "lakukan!" #: libparted/arch/linux.c:1250 msgid "Generic SD/MMC Storage Card" msgstr "Kartu Penyimpanan SD/MMC Generik" #: libparted/arch/linux.c:1303 msgid "DAC960 RAID controller" msgstr "DAC960 RAID controller" #: libparted/arch/linux.c:1308 msgid "Promise SX8 SATA Device" msgstr "Perangkat Promise SX8 SATA" #: libparted/arch/linux.c:1313 msgid "ATA over Ethernet Device" msgstr "" #: libparted/arch/linux.c:1319 msgid "IBM S390 DASD drive" msgstr "IBM S390 DASD drive" #: libparted/arch/linux.c:1325 msgid "IBM iSeries Virtual DASD" msgstr "IBM iSeries Virtual DASD" #: libparted/arch/linux.c:1330 msgid "Compaq Smart Array" msgstr "Compaq Smart Array" #: libparted/arch/linux.c:1335 msgid "ATARAID Controller" msgstr "ATARAID Controller" #: libparted/arch/linux.c:1340 msgid "I2O Controller" msgstr "I2O Controller" #: libparted/arch/linux.c:1345 msgid "User-Mode Linux UBD" msgstr "Mode-Pengguna Linux UBD" #: libparted/arch/linux.c:1358 #, c-format msgid "Linux device-mapper (%s)" msgstr "Linux device-mapper (%s)" #: libparted/arch/linux.c:1369 msgid "Xen Virtual Block Device" msgstr "Divasi Blok Virtual Xen" #: libparted/arch/linux.c:1374 msgid "Unknown" msgstr "Tidak diketahui" #: libparted/arch/linux.c:1383 msgid "Virtio Block Device" msgstr "Divais Blok Virtio" #: libparted/arch/linux.c:1388 msgid "Linux Software RAID Array" msgstr "" #: libparted/arch/linux.c:1395 msgid "ped_device_new() Unsupported device type" msgstr "ped_device_new() Tipe perangkat tidak disupport" #: libparted/arch/linux.c:1492 libparted/arch/linux.c:1564 #, c-format msgid "Error fsyncing/closing %s: %s" msgstr "Error fsyncing/menutup %s: %s" #: libparted/arch/linux.c:1728 #, c-format msgid "end of file while reading %s" msgstr "akhir dari berkas ketika membaca %s" #: libparted/arch/linux.c:2365 #, c-format msgid "" "Error informing the kernel about modifications to partition %s -- %s. This " "means Linux won't know about any changes you made to %s until you reboot -- " "so you shouldn't mount it or use it in any way before rebooting." msgstr "" "Gagal memberitahukan kernel mengenai modifikasi yang telah dilakukan pada " "partisi %s -- %s. Ini berarti Linux tidak tahu tentang segala perubahan yang " "anda buat pada %s sampai anda mereboot komputer anda -- jadi anda seharusnya " "tidak me-mount-nya atau menggunakannya dalam segala cara sebelum mereboot " "komputer anda." #: libparted/arch/linux.c:2503 #, fuzzy, c-format msgid "Unable to determine the size and length of %s." msgstr "Tidak dapat menentukan ukuran dari %s (%s)." #: libparted/arch/linux.c:2528 #, fuzzy, c-format msgid "Failed to add partition %d (%s)" msgstr "%s : Gagal untuk menbaca blok partisi %llu\n" #: libparted/arch/linux.c:2555 #, c-format msgid "" "Partition(s) %s on %s have been written, but we have been unable to inform " "the kernel of the change, probably because it/they are in use. As a result, " "the old partition(s) will remain in use. You should reboot now before " "making further changes." msgstr "" #: libparted/arch/linux.c:2681 #, c-format msgid "" "parted was unable to re-read the partition table on %s (%s). This means " "Linux won't know anything about the modifications you made. " msgstr "" "parted tidak dapat membaca kembali tabel partisi pada %s (%s). Ini berarti " "Linux tidak akan tahu apapun tentang modifikasi yang telah anda buat." #: libparted/cs/geom.c:162 #, c-format msgid "Can't have the end before the start! (start sector=%jd length=%jd)" msgstr "" "Tidak dapat memiliki akhir sebelum start! (sektor start=%jd panjang=%jd)" #: libparted/cs/geom.c:170 msgid "Can't have a partition outside the disk!" msgstr "Tidak dapat memiliki partisi diluar dari disk!" #: libparted/cs/geom.c:385 #, c-format msgid "Attempt to write sectors %ld-%ld outside of partition on %s." msgstr "Mencoba untuk menulis sektor %ld-%ld diluar dari partisi pada %s." #: libparted/cs/geom.c:425 libparted/fs/linux_swap/linux_swap.c:488 msgid "checking for bad blocks" msgstr "Mengecheck bad blocks" #: libparted/debug.c:97 #, c-format msgid "Backtrace has %d calls on stack:\n" msgstr "Backtrace memiliki %d panggilan di stack:\n" #: libparted/debug.c:110 #, c-format msgid "Assertion (%s) at %s:%d in function %s() failed." msgstr "Assertion (%s) di %s:%d dalam fungsi %s() gagal." #: libparted/disk.c:193 #, c-format msgid "%s: unrecognised disk label" msgstr "%s: label cakram tidak dikenal" #: libparted/disk.c:486 #, c-format msgid "" "This libparted doesn't have write support for %s. Perhaps it was compiled " "read-only." msgstr "" "libparted ini tidak memiliki write support untuk %s. Mungkin ini dikompilasi " "untuk mode read-only." #: libparted/disk.c:631 #, c-format msgid "Partition %d is %s, but the file system is %s." msgstr "Partisi %d adalah %s, tetapi file system-nya adalah %s." #: libparted/disk.c:841 msgid "cylinder_alignment" msgstr "penyesuaian_silinder" #: libparted/disk.c:847 #, c-format msgid "Unknown disk flag, %d." msgstr "tanda disk tidak diketahui, %d." #: libparted/disk.c:1286 #, c-format msgid "%s disk labels do not support extended partitions." msgstr "%s disk label tidak mensupport partisi extended." #: libparted/disk.c:1865 #, c-format msgid "%s disk labels don't support logical or extended partitions." msgstr "%s disk labels tidak mensupport partisi logical atau extended." #: libparted/disk.c:1878 msgid "Too many primary partitions." msgstr "Terlalu banyak primary partisi." #: libparted/disk.c:1887 #, c-format msgid "" "Can't add a logical partition to %s, because there is no extended partition." msgstr "" "Tidak dapat menambahkan sebuah partisi logical pada %s, karena disana tidak " "ada partisi extended." #: libparted/disk.c:1911 #, c-format msgid "Can't have more than one extended partition on %s." msgstr "Tidak dapat memiliki lebih dari satu partisi extended pada %s." #: libparted/disk.c:1921 msgid "Can't have logical partitions outside of the extended partition." msgstr "Tidak dapat memiliki partisi logical diluar dari partisi extended." #: libparted/disk.c:1946 #, c-format msgid "Can't have a logical partition outside of the extended partition on %s." msgstr "Tidak dapat memiliki partisi logical diluar partisi extended pada %s." #: libparted/disk.c:1956 libparted/disk.c:2015 libparted/disk.c:2193 msgid "Can't have overlapping partitions." msgstr "Tidak dapat memiliki partisi yang beroverlap." #: libparted/disk.c:1964 msgid "Can't have a primary partition inside an extended partition." msgstr "Tidak dapat memiliki primary partisi didalam sebuah partisi extended." #: libparted/disk.c:2395 msgid "metadata" msgstr "metadata" #: libparted/disk.c:2397 msgid "free" msgstr "free" #: libparted/disk.c:2399 parted/ui.c:1193 parted/ui.c:1221 msgid "extended" msgstr "extended" #: libparted/disk.c:2401 parted/ui.c:1197 parted/ui.c:1225 msgid "logical" msgstr "logical" #: libparted/disk.c:2403 parted/ui.c:1189 parted/ui.c:1217 msgid "primary" msgstr "primary" #: libparted/disk.c:2419 msgid "boot" msgstr "boot" #: libparted/disk.c:2421 msgid "bios_grub" msgstr "bios_grub" #: libparted/disk.c:2423 msgid "root" msgstr "root" #: libparted/disk.c:2425 msgid "swap" msgstr "swap" #: libparted/disk.c:2427 msgid "hidden" msgstr "tersembunyi" #: libparted/disk.c:2429 msgid "raid" msgstr "raid" #: libparted/disk.c:2431 msgid "lvm" msgstr "lvm" #: libparted/disk.c:2433 msgid "lba" msgstr "lba" #: libparted/disk.c:2435 msgid "hp-service" msgstr "hp-service" #: libparted/disk.c:2437 msgid "palo" msgstr "palo" #: libparted/disk.c:2439 msgid "prep" msgstr "prep" #: libparted/disk.c:2441 msgid "msftres" msgstr "msftres" #: libparted/disk.c:2443 msgid "atvrecv" msgstr "atvrecv" #: libparted/disk.c:2445 msgid "diag" msgstr "" #: libparted/disk.c:2451 #, c-format msgid "Unknown partition flag, %d." msgstr "flag partisi tidak diketahui, %d." #: libparted/exception.c:77 msgid "Information" msgstr "Informasi" #: libparted/exception.c:78 msgid "Warning" msgstr "Peringatan" #: libparted/exception.c:79 msgid "Error" msgstr "Error" #: libparted/exception.c:80 msgid "Fatal" msgstr "Fatal" #: libparted/exception.c:81 msgid "Bug" msgstr "Bug" #: libparted/exception.c:82 msgid "No Implementation" msgstr "Tidak ada Implementasi" #: libparted/exception.c:86 msgid "Fix" msgstr "Betulkan" #: libparted/exception.c:87 msgid "Yes" msgstr "Ya" #: libparted/exception.c:88 msgid "No" msgstr "Tidak" #: libparted/exception.c:89 msgid "OK" msgstr "OK" #: libparted/exception.c:90 msgid "Retry" msgstr "Coba" #: libparted/exception.c:91 msgid "Ignore" msgstr "Hiraukan" #: libparted/exception.c:92 msgid "Cancel" msgstr "Batal" #: libparted/exception.c:132 #, fuzzy, c-format msgid "" "A bug has been detected in GNU Parted. Refer to the web site of parted " "http://www.gnu.org/software/parted/parted.html for more information of what " "could be useful for bug submitting! Please email a bug report to bug-" "parted@gnu.org containing at least the version (%s) and the following " "message: " msgstr "" "Sebuah bug telah terdeteksi dalam GNU parted. Lihat ke web site dari parted " "di http://www.gnu.org/software/parted/parted.html untuk informasi lebih " "lanjut tentang apa yang berguna dalam mengirimkan laporan bug! Tolong email " "laporan bug ke bug-parted@gnu.org berisi setidaknya versi (%s) dan pesan " "berikut ini:" #: libparted/filesys.c:462 msgid "Could not detect file system." msgstr "Tidak dapat mendeteksi filesystem." #: libparted/filesys.c:473 msgid "The file system is bigger than its volume!" msgstr "File system lebih besar dari volumenya!" #: libparted/filesys.c:481 #, c-format msgid "Support for opening %s file systems is not implemented yet." msgstr "Support untuk membuka file systems %s belum diimplementasikan." #: libparted/filesys.c:523 #, c-format msgid "Support for creating %s file systems is not implemented yet." msgstr "Support untuk membuat file systems %s belum diimplementasikan." #: libparted/filesys.c:583 #, c-format msgid "Support for checking %s file systems is not implemented yet." msgstr "Support untuk mengecheck file systems %s belum diimplementasikan." #: libparted/filesys.c:649 msgid "raw block copying" msgstr "raw block copying" #: libparted/filesys.c:660 msgid "growing file system" msgstr "memperbesar file system" #: libparted/filesys.c:700 msgid "Can't copy onto an overlapping partition." msgstr "Tidak dapat menyalin kedalam partisi yang overlap." #: libparted/filesys.c:722 #, c-format msgid "" "Direct support for copying file systems is not yet implemented for %s. " "However, support for resizing is implemented. Therefore, the file system " "can be copied if the new partition is at least as big as the old one. So, " "either shrink the partition you are trying to copy, or copy to a bigger " "partition." msgstr "" "Layanan langsung untuk menyalin file system belum diimplementasikan untuk " "%s. Akan tetapi, layanan untuk me-resize-nya sudah diimplementasikan. Oleh " "karena itu, file system dapat disalin jika partisi baru berukuran sama besar " "dengan partisi lama. Jadi, bisa dilakukan dengan mengecilkan partisi yang " "akan disalin, atau menyalin ke partisi yang lebih besar." #: libparted/filesys.c:736 #, c-format msgid "Support for copying %s file systems is not implemented yet." msgstr "Support untuk menyalin filesystem %s belum diimplementasikan." #: libparted/filesys.c:774 #, c-format msgid "Support for resizing %s file systems is not implemented yet." msgstr "Support untuk men-resize filesystem %s belum diimplementasikan." #: libparted/fs/reiserfs/reiserfs.c:315 msgid "creating" msgstr "membuat" #: libparted/fs/reiserfs/reiserfs.c:402 msgid "The file system is in an invalid state. Perhaps it is mounted?" msgstr "File system dalam keadaan tidak valid. Mungkin sedang dimount?" #: libparted/fs/reiserfs/reiserfs.c:410 msgid "The file system is in old (unresizeable) format." msgstr "File system dalam format lama (tidak dapat diubah ukurannya)." #: libparted/fs/reiserfs/reiserfs.c:416 msgid "Invalid free blocks count. Run reiserfsck --check first." msgstr "" "Jumlah blok bebas tidak valid. Jalankan reiserfsck --check terlebih dahulu." #: libparted/fs/reiserfs/reiserfs.c:431 msgid "checking" msgstr "memeriksa" #: libparted/fs/reiserfs/reiserfs.c:437 msgid "Reiserfs tree seems to be corrupted. Run reiserfsck --check first." msgstr "" "Reiserfs tree kelihatannya terkorupsi. Jalankan reiserfsck --check terlebih " "dahulu." #: libparted/fs/reiserfs/reiserfs.c:449 msgid "" "The reiserfs file system passed a basic check. For a more comprehensive " "check, run reiserfsck --check." msgstr "" "File system reiserfs lolos dari pemeriksaan dasar. Untuk pemeriksaan yang " "lebih komprehensif , jalankan reiserfsck --check." #: libparted/fs/reiserfs/reiserfs.c:474 msgid "Sorry, can't move the start of reiserfs partitions yet." msgstr "Maaf, belum dapat memindahkan awal dari partisi reiserfs." #: libparted/fs/reiserfs/reiserfs.c:490 msgid "Couldn't reopen device abstraction layer for read/write." msgstr "Tidak dapat membuka device abstraction layer untuk baca/tulis." #: libparted/fs/reiserfs/reiserfs.c:508 libparted/fs/ext2/ext2_resize.c:552 #: libparted/fs/hfs/hfs.c:250 libparted/fs/hfs/hfs.c:629 msgid "shrinking" msgstr "mengecilkan" #: libparted/fs/reiserfs/reiserfs.c:520 msgid "expanding" msgstr "membesarkan" #: libparted/fs/reiserfs/reiserfs.c:592 msgid "Couldn't create reiserfs device abstraction handler." msgstr "Tidak dapat membuat reiserfs device abstraction handler." #: libparted/fs/reiserfs/reiserfs.c:606 #, c-format msgid "Device is too small for %lu blocks." msgstr "Perangkat terlalu kecil untuk %lu blok." #: libparted/fs/reiserfs/reiserfs.c:615 msgid "copying" msgstr "menyalin" #: libparted/fs/reiserfs/reiserfs.c:682 #, c-format msgid "Couldn't resolve symbol %s. Error: %s." msgstr "Tidak dapat menresolv simbol %s. Error: %s." #: libparted/fs/reiserfs/reiserfs.c:704 msgid "GNU Parted found an invalid libreiserfs library." msgstr "GNU Parted menemukan sebuah library libreiserfs yang tidak valid." #: libparted/fs/reiserfs/reiserfs.c:715 #, c-format msgid "" "GNU Parted has detected libreiserfs interface version mismatch. Found %d-" "%d, required %d. ReiserFS support will be disabled." msgstr "" "GNU Parted telah mendeteksi ketidak cocokan versi libreiserfs interface. " "Ditemukan %d-%d, dibutuhkan %d. ReiserFS support akan dinonaktifkan. " #: libparted/labels/aix.c:103 msgid "Support for reading AIX disk labels is is not implemented yet." msgstr "Support untuk membaca AIX disk label belum diimplementasikan." #: libparted/labels/aix.c:114 msgid "Support for writing AIX disk labels is is not implemented yet." msgstr "Support untuk menulis AIX disk label belum diimplementasikan." #: libparted/labels/aix.c:127 msgid "" "Support for adding partitions to AIX disk labels is not implemented yet." msgstr "" "Support untuk menambah partisi di AIX disk label belum diimplementasikan." #: libparted/labels/aix.c:137 msgid "" "Support for duplicating partitions in AIX disk labels is not implemented yet." msgstr "" "Support untuk menduplikasi partisi di AIX disk label belum diimplementasikan." #: libparted/labels/aix.c:155 msgid "" "Support for setting system type of partitions in AIX disk labels is not " "implemented yet." msgstr "" "Support untuk menset tipe partisi sistem di AIX disk label belum " "diimplementasikan." #: libparted/labels/aix.c:165 msgid "Support for setting flags in AIX disk labels is not implemented yet." msgstr "Support untuk menset tanda di AIX disk label belum diimplementasikan." #: libparted/labels/bsd.c:568 libparted/labels/dasd.c:783 #: libparted/labels/dos.c:2092 libparted/labels/dvh.c:788 #: libparted/labels/gpt.c:1750 libparted/labels/loop.c:245 #: libparted/labels/mac.c:1424 libparted/labels/pc98.c:749 #: libparted/labels/rdb.c:1051 libparted/labels/sun.c:821 msgid "Unable to satisfy all constraints on the partition." msgstr "Tidak dapat memenuhi semua constraints pada partisi." #: libparted/labels/bsd.c:593 msgid "Unable to allocate a bsd disklabel slot." msgstr "Tidak dapat mengalokasikan sebuah slot untuk bsd disklabel." #: libparted/labels/dasd.c:809 msgid "Unable to allocate a dasd disklabel slot" msgstr "Tidak dapat mengalokasikan sebuah DASD slot disklabel." #: libparted/labels/dos.c:882 #, c-format msgid "Invalid partition table on %s -- wrong signature %x." msgstr "Table partisi tidak valid pada %s -- signature salah %x." #: libparted/labels/dos.c:910 #, c-format msgid "Invalid partition table - recursive partition on %s." msgstr "Table partisi tidak valid - rekursif partisi pada %s." #: libparted/labels/dos.c:1420 msgid "Extended partitions cannot be hidden on msdos disk labels." msgstr "Partisi extended tidak dapat disembunyikan pada msdos disk labels." #: libparted/labels/dos.c:2074 msgid "Parted can't resize partitions managed by Windows Dynamic Disk." msgstr "" "Parted tidak dapat men-resize partisi yang diatur oleh Windows Dynamic Disk." #: libparted/labels/dvh.c:201 #, c-format msgid "%s has no extended partition (volume header partition)." msgstr "%s tidak memiliki partisi extended (volume header partisi)." #: libparted/labels/dvh.c:327 msgid "Checksum is wrong, indicating the partition table is corrupt." msgstr "Checksum salah, mengindikasikan bahwa tabel partisi corrupt." #: libparted/labels/dvh.c:632 msgid "Only primary partitions can be root partitions." msgstr "Hanya primary partisi yang dapat menjadi partisi root." #: libparted/labels/dvh.c:646 msgid "Only primary partitions can be swap partitions." msgstr "Hanya primary partisi yang dapat menjadi partisi swap." #: libparted/labels/dvh.c:660 msgid "Only logical partitions can be a boot file." msgstr "Hanya logical partisi yang dapat menjadi boot file." #: libparted/labels/dvh.c:737 #, c-format msgid "" "failed to set dvh partition name to %s:\n" "Only logical partitions (boot files) have a name." msgstr "" "gagal mengatur nama partisi dvh ke %s:\n" "Hanya logical partisi (boot files) yang memiliki nama." #: libparted/labels/dvh.c:830 msgid "Too many primary partitions" msgstr "Terlalu banyak primary partisi" #: libparted/labels/fdasd.c:98 msgid "open error" msgstr "gagal membuka" #: libparted/labels/fdasd.c:101 msgid "seek error" msgstr "gagal mencari" #: libparted/labels/fdasd.c:104 msgid "read error" msgstr "gagal menulis" #: libparted/labels/fdasd.c:110 msgid "ioctl() error" msgstr "gagal ioctl()" #: libparted/labels/fdasd.c:114 msgid "API version mismatch" msgstr "versi API tidak cocok" #: libparted/labels/fdasd.c:118 msgid "Unsupported disk type" msgstr "Tipe disk tidak disupport" #: libparted/labels/fdasd.c:122 msgid "Unsupported disk format" msgstr "Format disk tidak disupport" #: libparted/labels/fdasd.c:126 msgid "Disk is in use" msgstr "Disk sedang digunakan" #: libparted/labels/fdasd.c:130 msgid "Syntax error in config file" msgstr "Galat sintaks di berkas konfigurasi" #: libparted/labels/fdasd.c:134 msgid "Volume label is corrupted" msgstr "Volume label terkorupsi" #: libparted/labels/fdasd.c:138 msgid "A data set name is corrupted" msgstr "Sebuah nama data set terkorupsi" #: libparted/labels/fdasd.c:142 msgid "Memory allocation failed" msgstr "Alokasi memori gagal" #: libparted/labels/fdasd.c:146 msgid "Device verification failed" msgstr "Verifikasi perangkat telah gagal" #: libparted/labels/fdasd.c:147 msgid "The specified device is not a valid DASD device" msgstr "Perangkat yang dimaksud tidak memiliki perangkat DASD yang valid" #: libparted/labels/fdasd.c:150 libparted/labels/vtoc.c:179 msgid "Fatal error" msgstr "Error fatal" #: libparted/labels/fdasd.c:226 msgid "No room for volume label." msgstr "Tak ada ruang untuk label volume." #: libparted/labels/fdasd.c:234 msgid "No room for partition info." msgstr "Tak ada ruang untuk info partisi." #: libparted/labels/fdasd.c:704 msgid "Invalid VTOC." msgstr "VTOC tidak valid." #: libparted/labels/fdasd.c:764 msgid "Could not retrieve API version." msgstr "Tidak dapat menerima versi API." #: libparted/labels/fdasd.c:767 #, c-format msgid "" "The current API version '%d' doesn't match dasd driver API version '%d'!" msgstr "" "Versi API saat ini '%d' tidak cocok dengan versi API penggerak dasd '%d'!" #: libparted/labels/fdasd.c:804 msgid "Could not retrieve disk geometry information." msgstr "Tak dapat menerima informasi geometri cakram." #: libparted/labels/fdasd.c:808 msgid "Could not retrieve blocksize information." msgstr "Tak dapat menerima infomrasi ukuran blok." #: libparted/labels/fdasd.c:813 msgid "Could not retrieve disk information." msgstr "Tak dapat menerima informasi cakram." #: libparted/labels/fdasd.c:818 msgid "This is not an ECKD disk! This disk type is not supported!" msgstr "Ini bukan cakram ECKD! Tipe cakram ini tak didukung!" #: libparted/labels/gpt.c:485 #, c-format msgid "" "%s contains GPT signatures, indicating that it has a GPT table. However, it " "does not have a valid fake msdos partition table, as it should. Perhaps it " "was corrupted -- possibly by a program that doesn't understand GPT partition " "tables. Or perhaps you deleted the GPT table, and are now using an msdos " "partition table. Is this a GPT partition table?" msgstr "" "%s berisi GPT signatures, menunjukkan bahwa ini adalah tabel GPT. Akan " "tetapi, ini tidak memiliki valid fake msdos tabel partisi, seperti " "seharusnya. Mungkin ini sudah terkorupsi -- mungkin oleh program yang tidak " "mengerti tabel partisi GPT. Atau mungkin anda menghapus tabel GPT, dan " "sekarang menggunakan sebuah tabel partisi msdos. Apakah ini sebuah tabel " "partisi GPT?" #: libparted/labels/gpt.c:680 #, c-format msgid "" "The format of the GPT partition table is version %x, which is newer than " "what Parted can recognise. Please tell us! bug-parted@gnu.org" msgstr "" "Format dari tabel partisi GPT adalah dari versi %x, dimana ini lebih baru " "dari format yang Parted dapat mengenalnya. Tolong beritahu kami! bug-" "parted@gnu.org" #: libparted/labels/gpt.c:727 #, c-format msgid "" "Not all of the space available to %s appears to be used, you can fix the GPT " "to use all of the space (an extra %llu blocks) or continue with the current " "setting? " msgstr "" "Tidak semua dari ruang kosong yang tersedia di %s dapat digunakan, anda " "dapat membetulkan GPT untuk menggunakan semuar ruang kosong yang tersedia " "(kosong %llu blocks) atau melanjutkan dengan konfigurasi saat ini?" #: libparted/labels/gpt.c:936 msgid "" "The backup GPT table is not at the end of the disk, as it should be. This " "might mean that another operating system believes the disk is smaller. Fix, " "by moving the backup to the end (and removing the old backup)?" msgstr "" "Tabel GPT backup tidak ada pada akhir dari disk, seperti seharusnya ada " "disana. Ini mungkin berarti sistem operasi lain percaya bahwa ukuran disk " "lebih kecil. Betulkan, dengan memindahkan tabel backup ke akhir dari disk " "(dan menghapus backup yang lama)?" #: libparted/labels/gpt.c:960 msgid "" "Both the primary and backup GPT tables are corrupt. Try making a fresh " "table, and using Parted's rescue feature to recover partitions." msgstr "" "Kedua tabel GPT primer dan backup sudah terkorupsi. Coba untuk membuat " "sebuah tabel yang baru, dan gunakan Parted's rescue feature untuk merecover " "partisi." #: libparted/labels/gpt.c:971 msgid "" "The backup GPT table is corrupt, but the primary appears OK, so that will be " "used." msgstr "" "Tabel GPT cadangan telah terkorupsi, tetapi yang utama kelihatan BAIK, jadi " "ini yang akan digunakan" #: libparted/labels/gpt.c:983 msgid "" "The primary GPT table is corrupt, but the backup appears OK, so that will be " "used." msgstr "" "Tabel GPT primer telah terkorupsi, tetapi backup-nya kelihatan BAIK, jadi " "ini yang akan digunakan" #: libparted/labels/gpt.c:1007 msgid "primary partition table array CRC mismatch" msgstr "kumpulan CRC tabel partisi utama tidak cocok" #: libparted/labels/mac.c:185 #, c-format msgid "Invalid signature %x for Mac disk labels." msgstr "Signature tidak valid %x untuk disklabels Mac." #: libparted/labels/mac.c:232 msgid "Partition map has no partition map entry!" msgstr "Map partisi tidak memiliki masukan untuk map partisi!" #: libparted/labels/mac.c:280 #, c-format msgid "%s is too small for a Mac disk label!" msgstr "%s terlalu kecil untuk sebuah disklabel Mac!" #: libparted/labels/mac.c:509 #, c-format msgid "Partition %d has an invalid signature %x." msgstr "Partisi %d memiliki signature yang tidak valid %x." #: libparted/labels/mac.c:527 #, c-format msgid "Partition %d has an invalid length of 0 bytes!" msgstr "Partisi %d memiliki panjang 0 bytes yang tidak valid!" #: libparted/labels/mac.c:558 msgid "The data region doesn't start at the start of the partition." msgstr "Daerah data tidak dimulai pada awal dari partisi." #: libparted/labels/mac.c:575 msgid "The boot region doesn't start at the start of the partition." msgstr "Daerah boot tidak dimulai pada awal dari partisi." #: libparted/labels/mac.c:589 msgid "The partition's boot region doesn't occupy the entire partition." msgstr "Daerah boot partisi tidak menggunakan seluruh partisi." #: libparted/labels/mac.c:600 msgid "The partition's data region doesn't occupy the entire partition." msgstr "Daerah data partisi tidak menggunakan seluruh partisi." #: libparted/labels/mac.c:653 #, c-format msgid "" "Weird block size on device descriptor: %d bytes is not divisible by 512." msgstr "" "Ukuran block aneh pada deskripsi perangkat: %d bytes tidak terbagi oleh 512." #: libparted/labels/mac.c:666 #, c-format msgid "" "The driver descriptor says the physical block size is %d bytes, but Linux " "says it is %d bytes." msgstr "" "driver descriptor mengatakan bahwa ukuran physical block adalah %d bytes, " "tetapi Linux mengatakan ukurannya %d bytes." #: libparted/labels/mac.c:720 msgid "No valid partition map found." msgstr "Tidak ditemukan map partisi yang valid." #: libparted/labels/mac.c:782 #, c-format msgid "" "Conflicting partition map entry sizes! Entry 1 says it is %d, but entry %d " "says it is %d!" msgstr "" "Konflik masukan ukuran peta partisi! Masukan 1 mengatakan %d, tetapi " "masukan %d mengatakan %d!" #: libparted/labels/mac.c:809 msgid "Weird! There are 2 partitions map entries!" msgstr "Aneh! Ada 2 masukan map partisi!" #: libparted/labels/mac.c:1355 msgid "" "Changing the name of a root or swap partition will prevent Linux from " "recognising it as such." msgstr "" "Mengubah nama dari root atau partisi swap akan membuat Linux tidak dapat " "mengenalinya." #: libparted/labels/mac.c:1459 msgid "Can't add another partition -- the partition map is too small!" msgstr "Tidak dapat lagi menambah partisi -- peta partisi terlalu kecil!" #: libparted/labels/pc98.c:331 #, c-format msgid "Invalid partition table on %s." msgstr "Tabel partisi tidak valid pada %s." #: libparted/labels/pc98.c:384 libparted/labels/pc98.c:462 #, c-format msgid "" "Partition %d isn't aligned to cylinder boundaries. This is still " "unsupported." msgstr "" "Partisi %d tidak di align ke cylinder boundaries. Ini tetap tidak disupport" #: libparted/labels/pc98.c:781 msgid "Can't add another partition." msgstr "Tidak dapat menambah partisi yang lain." #: libparted/labels/pt-tools.c:125 #, c-format msgid "" "partition length of %jd sectors exceeds the %s-partition-table-imposed " "maximum of %jd" msgstr "" "panjang partisi dari sektor %jd melampaui %s-partition-table-imposed " "maksimum dari %jd" #: libparted/labels/pt-tools.c:138 #, c-format msgid "" "starting sector number, %jd exceeds the %s-partition-table-imposed maximum " "of %jd" msgstr "" "memulai penomoran sektor, %jd melampaui %s-partition-table-imposed maksimum " "dari %jd" #: libparted/labels/rdb.c:170 #, c-format msgid "%s : Bad checksum on block %llu of type %s." msgstr "%s : Checksum pada block %llu dengan tipe %s tidak baik." #: libparted/labels/rdb.c:486 #, c-format msgid "%s : Didn't find rdb block, should never happen." msgstr "%s : Tidak menemukan rdb block, seharusnya tidak pernah terjadi." #: libparted/labels/rdb.c:572 #, c-format msgid "%s : Loop detected at block %d." msgstr "%s : Loop terdeteksi pada block %d." #: libparted/labels/rdb.c:591 #, c-format msgid "%s : The %s list seems bad at block %s." msgstr "%s : List %s kelihatannya tidak baik pada block %s." #: libparted/labels/rdb.c:690 #, c-format msgid "%s : Failed to list bad blocks." msgstr "%s : Gagal untuk men-list bad blocks." #: libparted/labels/rdb.c:698 #, c-format msgid "%s : Failed to list partition blocks." msgstr "%s : Gagal untuk men-list block partisi." #: libparted/labels/rdb.c:706 #, c-format msgid "%s : Failed to list file system blocks." msgstr "%s : Gagal untuk men-list file system blocks." #: libparted/labels/rdb.c:714 #, c-format msgid "%s : Failed to list boot blocks." msgstr "%s : Gagal untuk men-list boot blocks." #: libparted/labels/rdb.c:741 #, c-format msgid "Failed to write partition block at %d." msgstr "Gagal untuk menulis block partisi pada %d." #: libparted/labels/rdb.c:1079 msgid "Unable to allocate a partition number." msgstr "Tidak dapat mengalokasikan sebuah nomor partisi." #: libparted/labels/sun.c:163 msgid "Corrupted Sun disk label detected." msgstr "Sun disk label terdeteksi terkorupsi." #: libparted/labels/sun.c:316 #, c-format msgid "" "The disk CHS geometry (%d,%d,%d) reported by the operating system does not " "match the geometry stored on the disk label (%d,%d,%d)." msgstr "" "Geometri CHS dari disk (%d,%d,%d) dilaporkan oleh sistem operasi tidak cocok " "dengan geometri yang disimpan pada disk label (%d,%d,%d)." #: libparted/labels/sun.c:338 #, c-format msgid "The disk label describes a disk bigger than %s." msgstr "Disk label mendeskripsikan disk lebih besar dari %s." #: libparted/labels/sun.c:510 #, c-format msgid "The disk has %d cylinders, which is greater than the maximum of 65536." msgstr "" "Disk memiliki %d cylinders, dimana ini lebih besar dari maksimum 65536." #: libparted/labels/sun.c:853 msgid "" "The Whole Disk partition is the only available one left. Generally, it is " "not a good idea to overwrite this partition with a real one. Solaris may " "not be able to boot without it, and SILO (the sparc boot loader) appreciates " "it as well." msgstr "" "Yang tersisa hanya seluruh partisi Disk. Umumnya, ini bukan ide yang baik " "untuk menulis kembali partisi ini dengan yang nyata. Solaris mungkin tidak " "dapat di-boot tanpanya, dan SILO (boot loader untuk SPARC) menghargainya " "dengan baik." #: libparted/labels/sun.c:868 msgid "Sun disk label is full." msgstr "Sun disk label sudah penuh" #: libparted/labels/vtoc.c:164 msgid "opening of device failed" msgstr "gagal membuka perangkat" #: libparted/labels/vtoc.c:168 msgid "seeking on device failed" msgstr "pencarian perangkat gagal" #: libparted/labels/vtoc.c:172 msgid "writing to device failed" msgstr "gagal menulis ke perangkat" #: libparted/labels/vtoc.c:176 msgid "reading from device failed" msgstr "gagal membaca dari perangkat" #: libparted/labels/vtoc.c:277 libparted/labels/vtoc.c:284 msgid "Could not read volume label." msgstr "Tidak dapat membaca label volume." #: libparted/labels/vtoc.c:303 libparted/labels/vtoc.c:308 msgid "Could not write volume label." msgstr "Tidak dapat menulis label volume." #: libparted/labels/vtoc.c:414 msgid "Could not read VTOC labels." msgstr "Tidak dapat membaca label VTOC" #: libparted/labels/vtoc.c:420 msgid "Could not read VTOC FMT1 DSCB." msgstr "Tidak dapat membaca VTOC FMT1 DSCB." #: libparted/labels/vtoc.c:427 msgid "Could not read VTOC FMT4 DSCB." msgstr "Tidak dapat membaca VTOC FMT4 DSCB." #: libparted/labels/vtoc.c:434 msgid "Could not read VTOC FMT5 DSCB." msgstr "Tidak dapat membaca VTOC FMT5 DSCB." #: libparted/labels/vtoc.c:441 msgid "Could not read VTOC FMT7 DSCB." msgstr "Tidak dapat membaca VTOC FMT7 DSCB." #: libparted/labels/vtoc.c:461 msgid "Could not write VTOC labels." msgstr "Tidak dapat menulis label VTOC." #: libparted/labels/vtoc.c:467 msgid "Could not write VTOC FMT1 DSCB." msgstr "Tidak dapat menulis VTOC FMT1 DSCB." #: libparted/labels/vtoc.c:474 msgid "Could not write VTOC FMT4 DSCB." msgstr "Tidak dapat menulis VTOC FMT4 DSCB." #: libparted/labels/vtoc.c:481 msgid "Could not write VTOC FMT5 DSCB." msgstr "Tidak dapat menulis VTOC FMT5 DSCB." #: libparted/labels/vtoc.c:488 msgid "Could not write VTOC FMT7 DSCB." msgstr "Tidak dapat menulis VTOC FMT7 DSCB." #: libparted/libparted.c:237 libparted/libparted.c:252 msgid "Out of memory." msgstr "Kehabisan memori" #: libparted/unit.c:138 msgid "Cannot get unit size for special unit 'COMPACT'." msgstr "Tidak dapat mendapatkan ukuran unit untuk spesial unit 'COMPAT'." #: libparted/unit.c:384 #, c-format msgid "\"%s\" has invalid syntax for locations." msgstr "\"%s\" memiliki syntax yang tidak valid untuk lokasi." #: libparted/unit.c:392 #, c-format msgid "The maximum head value is %d." msgstr "Nilai head maksimum adalah %d." #: libparted/unit.c:399 #, c-format msgid "The maximum sector value is %d." msgstr "Nilai maksimum dari sektor adalah %d." #: libparted/unit.c:411 libparted/unit.c:543 #, c-format msgid "The location %s is outside of the device %s." msgstr "Lokasi %s terletak diluar dari perangkat %s." #: libparted/unit.c:525 msgid "Invalid number." msgstr "nomor tidak valid." #: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:56 #: libparted/fs/amiga/asfs.c:70 #, c-format msgid "%s : Failed to allocate partition block\n" msgstr "%s : Gagal untuk mengalokasikan blok partisi\n" #: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:69 #: libparted/fs/amiga/asfs.c:82 #, c-format msgid "%s : Failed to allocate block\n" msgstr "%s : Gagal untuk mengalokasikan blok\n" #: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:74 #, c-format msgid "%s : Couldn't read boot block %llu\n" msgstr "%s : Tidak dapat membaca boot blok %llu\n" #: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:85 #: libparted/fs/amiga/asfs.c:88 libparted/fs/amiga/asfs.c:102 #, c-format msgid "%s : Couldn't read root block %llu\n" msgstr "%s : Tidak dapat membaca root blok %llu\n" #: libparted/fs/amiga/amiga.c:72 #, c-format msgid "%s : Failed to allocate id list element\n" msgstr "%s : Gagal mengalokasikan id elemen list\n" #: libparted/fs/amiga/amiga.c:189 #, c-format msgid "%s : Couldn't read block %llu\n" msgstr "%s : Tidak dapat membaca blok %llu\n" #: libparted/fs/amiga/amiga.c:202 #, c-format msgid "%s : Bad checksum on block %llu of type %s\n" msgstr "%s : Checksum pada block %llu dengan tipe %s tidak baik\n" #: libparted/fs/amiga/amiga.c:212 #, c-format msgid "%s : Couldn't write block %d\n" msgstr "%s : Tidak dapat menulis blok %d\n" #: libparted/fs/amiga/amiga.c:278 #, c-format msgid "%s : Failed to allocate disk_specific rdb block\n" msgstr "%s : Gagal untuk mengalokasikan disk_specific rdb blok\n" #: libparted/fs/amiga/amiga.c:289 #, c-format msgid "%s : Didn't find rdb block, should never happen\n" msgstr "%s : Tidak dapa menemukan rdb blok, seharusnya tidak pernah terjadi\n" #: libparted/fs/amiga/amiga.c:318 #, c-format msgid "%s : Failed to read partition block %llu\n" msgstr "%s : Gagal untuk menbaca blok partisi %llu\n" #: libparted/fs/ext2/ext2.c:87 libparted/fs/ext2/ext2.c:112 msgid "Inconsistent group descriptors!" msgstr "group descriptors tidak konsistent!" #: libparted/fs/ext2/ext2.c:91 libparted/fs/ext2/ext2.c:116 msgid "File system full!" msgstr "File system full!" #: libparted/fs/ext2/ext2.c:686 msgid "Invalid superblock. Are you sure this is an ext2 file system?" msgstr "" "Superblock tidak valid. Apakah anda yakin ini merupakan sebuah ext2 file " "system?" #: libparted/fs/ext2/ext2.c:700 libparted/fs/ext2/ext2_resize.c:658 msgid "File system has errors! You should run e2fsck." msgstr "File system memiliki errors! Anda seharusnya menjalankan e2fsck." #: libparted/fs/ext2/ext2.c:711 msgid "" "File system was not cleanly unmounted! You should run e2fsck. Modifying an " "unclean file system could cause severe corruption." msgstr "" "File system tidak di-unmount secara bersih! Anda seharusnya menjalankan " "e2fsck. Memodifikasi sebuah file system yang tidak bersih dapat menyebabkan " "file system tersebut terkorupsi." #: libparted/fs/ext2/ext2.c:731 msgid "" "File system has an incompatible feature enabled. Compatible features are " "has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs " "or debugfs to remove features." msgstr "" "File system memiliki fitur yang tidak kompatibel yang diaktifkan. Fitur " "kompatibel adalah has_journal, dir_index, filetype, sparse_super dan " "large_file. Gunakan tune2fs atau debugfs untuk menghapus fitur." #: libparted/fs/ext2/ext2.c:745 msgid "Error allocating buffer cache." msgstr "Error mengalokasikan buffer cache." #: libparted/fs/ext2/ext2_inode_relocator.c:114 msgid "" "Found an inode with a incorrect link count. Better go run e2fsck first!" msgstr "" "Ditemukan sebuah inode dengan link count yang tidak benar. Lebih baik " "menjalankan e2fsck terlebih dahulu!" #: libparted/fs/ext2/ext2_inode_relocator.c:487 msgid "Not enough free inodes!" msgstr "Tidak cukup free inodes!" #: libparted/fs/ext2/ext2_resize.c:223 msgid "File system is too full to remove a group!" msgstr "File system terlalu penuh untuk menghapus sebuah group!" #: libparted/fs/ext2/ext2_resize.c:232 msgid "File system has too many allocated inodes to remove a group!" msgstr "" "File system memiliki terlalu banyak inode yang sudah dialokasikan untuk " "menghapus sebuah group!" #: libparted/fs/ext2/ext2_resize.c:491 msgid "adding groups" msgstr "menambahkan groups" #: libparted/fs/ext2/ext2_resize.c:528 #, c-format msgid "Your file system is too full to resize it to %i blocks. Sorry." msgstr "" "File system anda terlalu penuh untuk men-resize-nya menjadi %i blocks. Maaf." #: libparted/fs/ext2/ext2_resize.c:538 #, c-format msgid "" "Your file system has too many occupied inodes to resize it to %i blocks. " "Sorry." msgstr "" "File system anda memiliki terlalu banyak inode yang terisi untuk diresize " "menjadi %i block. Maaf" #: libparted/fs/ext2/ext2_resize.c:666 msgid "File system was not cleanly unmounted! You should run e2fsck." msgstr "" "File system tidak di-unmount secara bersih! Anda seharusnya menjalankan " "e2fsck." #: libparted/fs/ext2/ext2_resize.c:675 msgid "" "The file system has the 'dir_index' feature enabled. Parted can only resize " "the file system if it disables this feature. You can enable it later by " "running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'." msgstr "" "File system memiliki 'dir_index' featur enabled. Parted hanya bisa me-resize " "file system jika ini feature ini dimatikan. Anda dapat menghidupkannya " "kembali nanti dengan menjalankan 'tune2fs -O dir_index PERANGKAT' dan " "kemudian 'e2fsck -fD PERANGKAT'." #: libparted/fs/ext2/ext2_resize.c:691 msgid "" "A resize operation on this file system will use EXPERIMENTAL code\n" "that MAY CORRUPT it (although no one has reported any such damage yet).\n" "You should at least backup your data first, and run 'e2fsck -f' afterwards." msgstr "" "Sebuah operasi perubahan ukuran di file system ini akan menggunakan kode " "PERCOBAAN\n" "yang mungkin akan mengkorupsi file system ini (walaupun belum ada yang " "melaporkan adanya kerusakan seperti itu).\n" "Anda seharusnya melakukan backup terlebih dahulu terhadap data anda dan " "menjalankan 'e2fsck -f' sesudahnya." #: libparted/fs/ext2/ext2_block_relocator.c:198 msgid "Cross-linked blocks found! Better go run e2fsck first!" msgstr "" "Cross-linked blocks ditemukan! Lebih baik menjalankan e2fsck terlebih daulu!" #: libparted/fs/ext2/ext2_block_relocator.c:537 #, c-format msgid "Block %i has no reference? Weird." msgstr "Block %i tidak memiliki reference? Aneh." #: libparted/fs/ext2/ext2_block_relocator.c:738 #, c-format msgid "Block %i shouldn't have been marked (%d, %d)!" msgstr "Block %i seharusnya tidak memiliki tanda (%d, %d)!" #: libparted/fs/ext2/interface.c:226 msgid "" "The ext2 file system passed a basic check. For a more comprehensive check, " "use the e2fsck program." msgstr "" "File system ext2 lolos dari pengecheckan dasar. Untuk lebih komprehensif " "check, gunakan aplikasi e2fsck." #: libparted/fs/ext2/interface.c:243 msgid "Sorry, can't move the start of ext2 partitions yet!" msgstr "Maaf, tidak dapat memindahkan awal dari partisi ext2!" #: libparted/fs/ext2/ext2_buffer.c:82 msgid "Couldn't flush buffer cache!" msgstr "Tidak dapat menflush buffer cache!" #: libparted/fs/ext2/ext2_mkfs.c:161 msgid "writing per-group metadata" msgstr "menulis per-group metadata" #: libparted/fs/ext2/ext2_mkfs.c:597 msgid "File system too small for ext2." msgstr "File system terlalu kecil untuk ext2." #: libparted/fs/fat/calc.c:135 #, c-format msgid "" "You need %s of free disk space to shrink this partition to this size. " "Currently, only %s is free." msgstr "" "Anda butuh %s ruang kosong dari disk untuk mengecilkan partisi ini. Saat ini " "hanya %s yang kosong." #: libparted/fs/fat/context.c:56 #, c-format msgid "" "Cluster start delta = %d, which is not a multiple of the cluster size %d." msgstr "" "Cluster awal delta = %d, dimana bukan kelipatan dari ukuran cluster %d." #: libparted/fs/fat/fat.c:310 #, c-format msgid "Partition too big/small for a %s file system." msgstr "Partisi terlalu besar/kecil untuk sebuah file system %s." #: libparted/fs/fat/fat.c:476 msgid "" "The FATs don't match. If you don't know what this means, then select " "cancel, run scandisk on the file system, and then come back." msgstr "" "FAT tidak cocok. Jika anda tidak tahu apa artinya ini, maka pilih cancel, " "jalankan scandisk pada file system, dan coba lagi." #: libparted/fs/fat/fat.c:516 msgid "There are no possible configurations for this FAT type." msgstr "Tidak ada konfigurasi yang mungkin untuk tipe FAT ini." #: libparted/fs/fat/fat.c:528 #, c-format msgid "" "File system doesn't have expected sizes for Windows to like it. Cluster " "size is %dk (%dk expected); number of clusters is %d (%d expected); size of " "FATs is %d sectors (%d expected)." msgstr "" "Ukuran file system tidak berukuran seperti yang diperkirakan oleh Windows. " "Ukuran cluster adalah %dk (%dk diperkirakan); jumlah dari cluster adalah %d " "(%d diperkirakan); ukuran dari FATs adalah %d sektor (%d diperkirakan)." #: libparted/fs/fat/fat.c:551 #, c-format msgid "" "File system is reporting the free space as %d clusters, not %d clusters." msgstr "" "File system melaporkan ruang kosong sebagai %d clusters, bukan %d clusters." #: libparted/fs/fat/fat.c:876 msgid "" "GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT " "support will be disabled." msgstr "" "GNU Parted telah salah dikompile: FAT boot sektor seharusnya 512 bytes. FAT " "support akan di nonaktifkan." #: libparted/fs/fat/resize.c:158 msgid "" "There's not enough room in the root directory for all of the files. Either " "cancel, or ignore to lose the files." msgstr "" "Tidak terdapat ruangan yang cukup untuk direktori root untuk semua file. " "Pilih cancel, atau ignore untuk menggagalkan files." #: libparted/fs/fat/resize.c:299 msgid "Error writing to the root directory." msgstr "Error menulis pada direktori root." #: libparted/fs/fat/resize.c:488 msgid "If you leave your file system as FAT16, then you will have no problems." msgstr "" "Jika anda meninggalkan file system anda sebagai FAT16, maka anda mungkin " "tidak akan menemui masalah" #: libparted/fs/fat/resize.c:491 msgid "" "If you convert to FAT16, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual)." msgstr "" "Jika anda mengubah ke FAT16, dan MS Windows terinstall pada partisi " "tersebut, maka anda harus meninstall kembali MS Windows boot loader. Jika " "anda ingin melakukan ini, anda seharusnya berkonsultasi terlebih dahulu pada " "manual dari Parted (atau manual dari distribusi anda)." #: libparted/fs/fat/resize.c:499 msgid "" "If you leave your file system as FAT32, then you will not introduce any new " "problems." msgstr "" "Jika anda meninggalkan file system sebagai FAT32, mungkin anda tidak menemui " "masalah baru." #: libparted/fs/fat/resize.c:503 msgid "" "If you convert to FAT32, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual). Also, " "converting to FAT32 will make the file system unreadable by MS DOS, MS " "Windows 95a, and MS Windows NT." msgstr "" "Jika anda mengubah ke FAT32, dan MS Windows terinstall pada partisi " "tersebut, maka anda harus meninstall kembali MS Windows boot loader. Jika " "anda ingin ingin melakukan ini, anda harus berkonsultasi terlebih dahulu " "dengan manual dari Parted (atau manual dari distribusi anda). Juga, mengubah " "ke FAT32 akan membuat file system tidak dapat dibaca oleh MS DOS, MS Windows " "95a, dan MS Windows NT." #: libparted/fs/fat/resize.c:517 #, c-format msgid "%s %s %s" msgstr "%s %s %s" #: libparted/fs/fat/resize.c:518 msgid "Would you like to use FAT32?" msgstr "Maukah anda menggunakan FAT32?" #: libparted/fs/fat/resize.c:549 libparted/fs/fat/resize.c:565 #, c-format msgid "%s %s" msgstr "%s %s" #: libparted/fs/fat/resize.c:550 msgid "" "The file system can only be resized to this size by converting to FAT16." msgstr "" "File system hanya dapat diresize ke ukuran ini dengan mengubahnya ke FAT16." #: libparted/fs/fat/resize.c:566 msgid "" "The file system can only be resized to this size by converting to FAT32." msgstr "" "The file system hanya dapat di-resize untuk ukuran ini hanya dengan " "mengubahnya menjadi FAT32." #: libparted/fs/fat/resize.c:579 msgid "" "GNU Parted cannot resize this partition to this size. We're working on it!" msgstr "" "GNU Parted tidak dapat men-resize partisi ini untuk ukuran ini. Kita sedang " "mengusahkannya untuk bisa!" #: libparted/fs/fat/bootsector.c:49 libparted/fs/fat/bootsector.c:56 msgid "File system has an invalid signature for a FAT file system." msgstr "" "File system memiliki sebuah signature yang tidak valid untuk sebuah FAT file " "system." #: libparted/fs/fat/bootsector.c:64 msgid "File system has an invalid sector size for a FAT file system." msgstr "" "File system memiliki ukuran sektor yang tidak valid untuk sebuah FAT file " "system." #: libparted/fs/fat/bootsector.c:71 msgid "File system has an invalid cluster size for a FAT file system." msgstr "" "File system memiliki ukuran cluster yang tidak valid untuk file system FAT." #: libparted/fs/fat/bootsector.c:78 msgid "" "File system has an invalid number of reserved sectors for a FAT file system." msgstr "" "File system memiliki nomor yang tidak valid untuk reserverd sector dari " "sebuah FAT file system." #: libparted/fs/fat/bootsector.c:85 msgid "File system has an invalid number of FATs." msgstr "File system memiliki nomor yang tidak valid untuk FATs." #: libparted/fs/fat/bootsector.c:139 #, c-format msgid "" "This file system has a logical sector size of %d. GNU Parted is known not " "to work properly with sector sizes other than 512 bytes." msgstr "" "File system ini memiliki sektor logical yang berukuran %d. GNU Parted tidak " "bekerja dengan baik dengan ukuran sektor selain 512 bytes." #: libparted/fs/fat/bootsector.c:164 #, c-format msgid "" "The file system's CHS geometry is (%d, %d, %d), which is invalid. The " "partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the " "file system's CHS geometry will be left unchanged. If you select Fix, the " "file system's CHS geometry will be set to match the partition table's CHS " "geometry." msgstr "" "File system's CHS geometry adalah (%d, %d, %d), ini tidak valid. Tabel " "partisi dari CHS geometry adalah (%d, %d, %d). Jika anda memilih Ignore, " "file system's CHS geometry akan ditinggalkan tanpa diubah. Jika anda memilih " "Betulkan, file system CHS geomtry akan diset sehingga cocok dengan tabel " "partisi dari CHS geometry." #: libparted/fs/fat/bootsector.c:213 msgid "FAT boot sector says logical sector size is 0. This is weird. " msgstr "FAT boot sector mengatakan ukuran sektor logical adalah 0. Ini aneh" #: libparted/fs/fat/bootsector.c:219 msgid "FAT boot sector says there are no FAT tables. This is weird. " msgstr "FAT boot sector mengatakan disana tidak ada tabel FAT. Ini aneh." #: libparted/fs/fat/bootsector.c:225 msgid "FAT boot sector says clusters are 0 sectors. This is weird. " msgstr "FAT boot sector mengatakan clusters adalah 0 sectors. Ini aneh." #: libparted/fs/fat/bootsector.c:235 msgid "File system is FAT12, which is unsupported." msgstr "File system adalah FAT12, dimana file system ini tidak disupport." #: libparted/fs/fat/bootsector.c:411 #, c-format msgid "" "The information sector has the wrong signature (%x). Select cancel for now, " "and send in a bug report. If you're desperate, it's probably safe to ignore." msgstr "" "Informasi sektor memiliki signature (%x) yang salah. Pilih cancel sekarang, " "dan kirim dalam laporan bug. Jika anda putus asa, mungkin lebih aman untuk " "menghiraukannya." #: libparted/fs/fat/count.c:144 #, c-format msgid "Bad directory entry for %s: first cluster is the end of file marker." msgstr "" "Bad directory entry untuk %s: cluster pertama merupakan akhir dari file " "marker" #: libparted/fs/fat/count.c:157 #, c-format msgid "" "Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk." msgstr "" "Bad FAT: unterminated chain untuk %s. Anda seharusnya menjalankan dosfsck " "atau scandisk." #: libparted/fs/fat/count.c:166 #, c-format msgid "" "Bad FAT: cluster %d outside file system in chain for %s. You should run " "dosfsck or scandisk." msgstr "" "Bad FAT: cluster %d diluar dari file system dalam rantai untuk %s. Anda " "seharusnya menjalankan dosfsck atau scandisk." #: libparted/fs/fat/count.c:176 #, c-format msgid "" "Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or " "scandisk." msgstr "" "Bad FAT: cluster %d adalah cross-linked untuk %s. Anda seharusnya " "menjalankan dosfsck atan scandisk." #: libparted/fs/fat/count.c:195 #, c-format msgid "%s is %dk, but it has %d clusters (%dk)." msgstr "%s adalah %dk, tetapi ini memiliki %d clusters (%dk)." #: libparted/fs/fat/count.c:258 #, c-format msgid "" "The file %s is marked as a system file. This means moving it could cause " "some programs to stop working." msgstr "" "File %s ditandai sebagai sistem file. Ini berarti memindahkannya dapat " "menyebabkan beberapa aplikasi untuk tidak dapat bekerja." #: libparted/fs/fat/table.c:136 #, c-format msgid "" "FAT %d media %x doesn't match the boot sector's media %x. You should " "probably run scandisk." msgstr "" "FAT %d media %x tidak cocok dengan boot sector's media %x. Anda seharusnya " "menjalankan scandisk." #: libparted/fs/fat/table.c:268 #, c-format msgid "fat_table_set: cluster %ld outside file system" msgstr "fat_table_set: cluster %ld diluar file system" #: libparted/fs/fat/table.c:300 #, c-format msgid "fat_table_get: cluster %ld outside file system" msgstr "fat_table_get: cluster %ld diluar file system" #: libparted/fs/fat/table.c:342 msgid "fat_table_alloc_cluster: no free clusters" msgstr "fat_table_alloc_cluster: tidak ada cluster yang kosong" #: libparted/fs/linux_swap/linux_swap.c:288 #, c-format msgid "Unrecognised old style linux swap signature '%10s'." msgstr "Tipe linux swap signature lama tidak diketahui '%10s'." #: libparted/fs/linux_swap/linux_swap.c:331 #, c-format msgid "Unrecognised new style linux swap signature '%10s'." msgstr "Tipe linux swap signature baru tidak diketahui '%10s'." #: libparted/fs/linux_swap/linux_swap.c:371 #, c-format msgid "Unrecognised swsusp linux swap signature '%9s'." msgstr "Tipe linux swap signature swsusp tidak diketahui '%9s'." #: libparted/fs/linux_swap/linux_swap.c:447 msgid "Too many bad pages." msgstr "Terlalu banyak bad pages." #: libparted/fs/hfs/advfs.c:121 libparted/fs/hfs/advfs_plus.c:121 #: libparted/fs/hfs/reloc.c:414 libparted/fs/hfs/reloc.c:508 #: libparted/fs/hfs/reloc_plus.c:538 libparted/fs/hfs/reloc_plus.c:656 #: libparted/fs/hfs/reloc_plus.c:769 msgid "The file system contains errors." msgstr "File system memiliki kerusakan." #: libparted/fs/hfs/advfs_plus.c:285 msgid "Bad blocks could not be read." msgstr "Bad blocks tidak dapat dibaca." #: libparted/fs/hfs/cache.c:137 #, c-format msgid "" "Trying to register an extent starting at block 0x%X, but another one already " "exists at this position. You should check the file system!" msgstr "" "Mencoba untuk menregister sebuah extent dimulai dari block 0x%X, tetapi yang " "lain sudah ada di partisi ini. Anda seharusnya mengecheck file system !" #: libparted/fs/hfs/cache.c:214 #, c-format msgid "" "Trying to move an extent from block Ox%X to block Ox%X, but another one " "already exists at this position. This should not happen!" msgstr "" "Mencoba untuk memindahkan sebuah extent dari block 0x%X ke block 0x%X, " "tetapi yang lain sudah ada di partisi ini. Ini seharusnya tidak terjadi!" #: libparted/fs/hfs/file.c:143 #, c-format msgid "Could not update the extent cache for HFS file with CNID %X." msgstr "Tidak dapat meng-update extent cache untuk file HFS dengan CNID %X." #: libparted/fs/hfs/file.c:180 #, c-format msgid "Trying to read HFS file with CNID %X behind EOF." msgstr "Mencoba untuk membaca file HFS dengan CNID %X dibelakang EOF." #: libparted/fs/hfs/file.c:190 libparted/fs/hfs/file.c:220 #, c-format msgid "Could not find sector %lli of HFS file with CNID %X." msgstr "Tidak dapat menemukan sekto %lli dari file HFS dengan CNID %X." #: libparted/fs/hfs/file.c:210 #, c-format msgid "Trying to write HFS file with CNID %X behind EOF." msgstr "Mencoba untuk menulis file HFS dengan CNID %X dibelakang EOF." #: libparted/fs/hfs/file_plus.c:157 #, c-format msgid "Could not update the extent cache for HFS+ file with CNID %X." msgstr "Tidak dapat meng-update extent cache untuk file HFS+ dengan CNID %X." #: libparted/fs/hfs/file_plus.c:202 #, c-format msgid "Trying to read HFS+ file with CNID %X behind EOF." msgstr "Mencoba untuk membaca file HFS+ dengan CNID %X dibelakang EOF." #: libparted/fs/hfs/file_plus.c:213 libparted/fs/hfs/file_plus.c:256 #, c-format msgid "Could not find sector %lli of HFS+ file with CNID %X." msgstr "Tidak dapat menemukan sekto %lli dari file HFS+ dengan CNID %X." #: libparted/fs/hfs/file_plus.c:245 #, c-format msgid "Trying to write HFS+ file with CNID %X behind EOF." msgstr "Mencoba untuk menulis file HFS+ dengan CNID %X dibelakang EOF." #: libparted/fs/hfs/hfs.c:232 msgid "Sorry, HFS cannot be resized that way yet." msgstr "Maaf, HFS tidak dapat di-resize." #: libparted/fs/hfs/hfs.c:262 libparted/fs/hfs/hfs.c:641 msgid "Data relocation has failed." msgstr "Data relocation telah gagal." #: libparted/fs/hfs/hfs.c:281 msgid "Data relocation left some data in the end of the volume." msgstr "Data relocation meninggalkan beberapa data pada akhir dari volume." #: libparted/fs/hfs/hfs.c:320 msgid "writing HFS Master Directory Block" msgstr "menulis HFS Master Directory Block" #: libparted/fs/hfs/hfs.c:468 msgid "No valid HFS[+X] signature has been found while opening." msgstr "Tanda tangan HFS[+X] tidak valid telah ditemukan ketika membuka." #: libparted/fs/hfs/hfs.c:478 #, c-format msgid "Version %d of HFS+ isn't supported." msgstr "HFS+ versi %d tidak disupport." #: libparted/fs/hfs/hfs.c:489 #, c-format msgid "Version %d of HFSX isn't supported." msgstr "HFS+ versi %d tidak disupport." #: libparted/fs/hfs/hfs.c:672 msgid "Data relocation left some data at the end of the volume." msgstr "Data relocation meninggalkan beberapa data pada akhir dari volume." #: libparted/fs/hfs/hfs.c:720 msgid "Error while writing the allocation file." msgstr "Error ketika menulis alokasi file." #: libparted/fs/hfs/hfs.c:735 msgid "Error while writing the compatibility part of the allocation file." msgstr "Error ketika menulis bagian kompatibilitas dari alokasi file." #: libparted/fs/hfs/hfs.c:750 msgid "writing HFS+ Volume Header" msgstr "menulis HFS+ Volume Header" #: libparted/fs/hfs/hfs.c:850 msgid "An error occurred while looking for the mandatory bad blocks file." msgstr "Sebuah error terjadi ketika mencari mandatory bad blocks file." #: libparted/fs/hfs/hfs.c:904 msgid "" "It seems there is an error in the HFS wrapper: the bad blocks file doesn't " "contain the embedded HFS+ volume." msgstr "" "Kelihatannya terjadi kesalahan dalam HFS wrapper: file bad blocks tidak " "berisi embedded HFS+ volume." #: libparted/fs/hfs/hfs.c:940 msgid "Sorry, HFS+ cannot be resized that way yet." msgstr "Maaf, HFS+ tidak dapat di-resize dengan cara itu saat ini." #: libparted/fs/hfs/hfs.c:975 msgid "shrinking embedded HFS+ volume" msgstr "mengecilkan embedded HFS+ volume" #: libparted/fs/hfs/hfs.c:991 msgid "Resizing the HFS+ volume has failed." msgstr "Resizing dari HFS+ volume telah gagal." #: libparted/fs/hfs/hfs.c:998 msgid "shrinking HFS wrapper" msgstr "mengecilkan HFS wrapper" #: libparted/fs/hfs/hfs.c:1007 msgid "Updating the HFS wrapper has failed." msgstr "Update dari HFS wrapper telah gagal." #: libparted/fs/hfs/hfs.c:1109 libparted/fs/hfs/hfs.c:1194 #, c-format msgid "" "This is not a real %s check. This is going to extract special low level " "files for debugging purposes." msgstr "" "Ini bukan sebuah pengecheckan %s nyata. Ini akan mengekstrak files spesial " "level bawah untuk tujuan debugging." #: libparted/fs/hfs/journal.c:155 msgid "Bad block list header checksum." msgstr "Daftar bad block header checksum." #: libparted/fs/hfs/journal.c:168 #, c-format msgid "" "Invalid size of a transaction block while replaying the journal (%i bytes)." msgstr "" "Ukuran tidak sah dalam transaksi blok ketika membalas transaksi journal (%i " "bytes)." #: libparted/fs/hfs/journal.c:260 msgid "" "Journal stored outside of the volume are not supported. Try to desactivate " "the journal and run Parted again." msgstr "" "Journal disimpan diluar dari volume tidak disupport. Coba untuk " "menonaktifkan journal dan jalankan Parted lagi sesudah itu." #: libparted/fs/hfs/journal.c:271 msgid "Journal offset or size is not multiple of the sector size." msgstr "Ukuran atau offset dari journal bukan kelipatan dari ukuran sektor" #: libparted/fs/hfs/journal.c:292 msgid "Incorrect magic values in the journal header." msgstr "Nilai magic tidak benar dalam header journal." #: libparted/fs/hfs/journal.c:302 msgid "Journal size mismatch between journal info block and journal header." msgstr "" "Ukuran journal tidak cocok diantara journal info block dan journal header." #: libparted/fs/hfs/journal.c:314 msgid "Some header fields are not multiple of the sector size." msgstr "Beberapa fields header bukan kelipatan dari ukuran sektor." #: libparted/fs/hfs/journal.c:323 msgid "" "The sector size stored in the journal is not 512 bytes. Parted only " "supports 512 bytes length sectors." msgstr "" "Ukuran sektor yang disimpan dalam journal tidak sebesar 512 bytes. Parted " "hanya mendukung ukuran sektor 512 bytes." #: libparted/fs/hfs/journal.c:335 msgid "Bad journal checksum." msgstr "Journal checksum jelek." #: libparted/fs/hfs/journal.c:353 msgid "" "The journal is not empty. Parted must replay the transactions before " "opening the file system. This will modify the file system." msgstr "" "Journal tidak kosong. Parted harus membalas transaksi sebelum membuka file " "system. Ini akan memodifikasi file system." #: libparted/fs/hfs/journal.c:381 msgid "" "The volume header or the master directory block has changed while replaying " "the journal. You should restart Parted." msgstr "" "Volume header atau direktori master block telah berubah ketika membalas " "transaksi journal. Anda seharusnya merestart Parted." #: libparted/fs/hfs/probe.c:51 #, c-format msgid "" "Parted can't use HFS file systems on disks with a sector size not equal to " "%d bytes." msgstr "" "Parted tidak dapat menggunakan file systems tipe HFS di dist dengan ukuran " "sektor tidak sama dengan %d bytes." #: libparted/fs/hfs/reloc.c:151 libparted/fs/hfs/reloc_plus.c:155 msgid "An extent has not been relocated." msgstr "Sebuah extent tidak dapat direlokasikan." #: libparted/fs/hfs/reloc.c:251 libparted/fs/hfs/reloc_plus.c:307 msgid "" "A reference to an extent comes from a place it should not. You should check " "the file system!" msgstr "" "Sebuah referensi untuk sebuah extent datang dari tempat yang tidak " "seharusnya. Anda harus mengecheck filesystem!" #: libparted/fs/hfs/reloc.c:381 msgid "This HFS volume has no catalog file. This is very unusual!" msgstr "HFS volume tidak memiliki catalog file. Ini sangat tidak biasa!" #: libparted/fs/hfs/reloc.c:475 msgid "This HFS volume has no extents overflow file. This is quite unusual!" msgstr "HFS+ volume ini tidak memiliki extent overflow file. Ini tidak biasa!" #: libparted/fs/hfs/reloc.c:517 libparted/fs/hfs/reloc_plus.c:666 msgid "" "The extents overflow file should not contain its own extents! You should " "check the file system." msgstr "" "Extent overflow file seharusnya tidak berisi extentnya sendiri! Anda " "seharusnya mengecheck filesystem." #: libparted/fs/hfs/reloc.c:574 libparted/fs/hfs/reloc_plus.c:844 msgid "Could not cache the file system in memory." msgstr "Tidak dapat men-cache filesystem dalam memori." #: libparted/fs/hfs/reloc.c:635 libparted/fs/hfs/reloc_plus.c:905 msgid "Bad blocks list could not be loaded." msgstr "Daftar bad blocks tidak dapat diload." #: libparted/fs/hfs/reloc.c:649 libparted/fs/hfs/reloc_plus.c:921 msgid "An error occurred during extent relocation." msgstr "Terjadi error ketika extent relocation." #: libparted/fs/hfs/reloc_plus.c:494 msgid "This HFS+ volume has no catalog file. This is very unusual!" msgstr "HFS+ volume tidak memiliki catalog file. Ini sangat tidak biasa!" #: libparted/fs/hfs/reloc_plus.c:617 msgid "This HFS+ volume has no extents overflow file. This is quite unusual!" msgstr "HFS+ volume tidak memiliki extent overflow file. Ini tidak biasa!" #: parted/parted.c:123 msgid "displays this help message" msgstr "tampilkan pesan bantuan ini" #: parted/parted.c:124 msgid "lists partition layout on all block devices" msgstr "tampilkan layout partisi di seluruh perangkat blok" #: parted/parted.c:125 msgid "displays machine parseable output" msgstr "tampilkan keluaran mesin yang dapat diinputkan (parseable)" #: parted/parted.c:126 msgid "never prompts for user intervention" msgstr "jangan menanyakan intervensi pengguna" #: parted/parted.c:127 msgid "displays the version" msgstr "tampilkan versi dari program ini" #: parted/parted.c:128 msgid "alignment for new partitions" msgstr "penyesuaian untuk partisi baru" #: parted/parted.c:140 msgid "" "NUMBER is the partition number used by Linux. On MS-DOS disk labels, the " "primary partitions number from 1 to 4, logical partitions from 5 onwards.\n" msgstr "" "NOMOR adalah nomor partisi yang biasa digunakan oleh Linux. Pada MS-DOS disk " "label, penomoran partisi utama (primary) dari 1 sampai 4, partisi logical " "dari 5 keatas.\n" #: parted/parted.c:143 msgid "LABEL-TYPE is one of: " msgstr "TIPE-LABEL adalah salah satu dari: " #: parted/parted.c:144 msgid "FLAG is one of: " msgstr "TANDA adalah salah satu dari: " #: parted/parted.c:145 msgid "UNIT is one of: " msgstr "SATUAN adalah salah satu dari: " #: parted/parted.c:146 msgid "desired alignment: minimum or optimal" msgstr "penyesuaian yang diinginkan: minimal atau optimal" #: parted/parted.c:147 msgid "PART-TYPE is one of: primary, logical, extended\n" msgstr "TIPE-PART adalah salah satu dari: primary, logical, extended\n" #: parted/parted.c:149 msgid "FS-TYPE is one of: " msgstr "TIPE-FS adalah salah satu dari: " #: parted/parted.c:150 msgid "" "START and END are disk locations, such as 4GB or 10%. Negative values count " "from the end of the disk. For example, -1s specifies exactly the last " "sector.\n" msgstr "" "AWAL dan AKHIR adalah lokasi dari disk, seperti 4GB atau 10%. Nilai negatif " "dihitung dari akhir alamat disk. sebagai contoh, =-1s menyatakan lokasi " "sektor terakhir.\n" #: parted/parted.c:153 msgid "STATE is one of: on, off\n" msgstr "STATUS adalah salah satu dari: on, off\n" #: parted/parted.c:154 msgid "DEVICE is usually /dev/hda or /dev/sda\n" msgstr "PERANGKAT biasanya menggunakan nama /dev/hda atau /dev/sda\n" #: parted/parted.c:155 msgid "NAME is any word you want\n" msgstr "NAMA adalah kata apapun yang anda inginkan\n" #: parted/parted.c:156 msgid "The partition must have one of the following FS-TYPEs: " msgstr "Partisi harus memiliki salah satu dari TIPE-FS berikut ini: " #: parted/parted.c:160 msgid "" "Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n" "This program is free software, covered by the GNU General Public License.\n" "\n" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" msgstr "" "Hak Cipta (C) 1998 - 2006 Free Software Foundation, Inc.\n" "Aplikasi ini adalah free software, dilindungi oleh GNU General Public " "Licence.\n" "\n" "Aplikasi ini didistribusikan dengan harapan akan berguna,\n" "tetapi TANPA ADANYA GARANSI; bahkan untuk garansi dalam hal\n" "PENJUALAN atau KESESUAIAN UNTUK TUJUAN TERTENTU. Lihat\n" "GNU General Public License untuk informasi yang lebih detail.\n" "\n" #: parted/parted.c:208 #, c-format msgid "%0.f%%\t(time left %.2d:%.2d)" msgstr "%0.f%%\t(waktu tersisa %.2d:%.2d)" #: parted/parted.c:227 #, c-format msgid "" "Partition %s is being used. You must unmount it before you modify it with " "Parted." msgstr "" "Partisi %s sedang digunakan. Anda harus meng-umount terlebih dahulu sebelum " "memodifikasinya dengan menggunakan Parted." #: parted/parted.c:245 #, c-format msgid "Partition(s) on %s are being used." msgstr "Partisi pada %s sedang digunakan." #: parted/parted.c:257 msgid "" "The existing file system will be destroyed and all data on the partition " "will be lost. Do you want to continue?" msgstr "" "Filesystem yang ada akan dihapus dan seluruh data yang ada di partisi " "tersebut akan hilang. Apakah anda ingin melanjutkan?" #: parted/parted.c:269 #, c-format msgid "" "The existing disk label on %s will be destroyed and all data on this disk " "will be lost. Do you want to continue?" msgstr "" "Disk label yang ada di %s akan dihapus dan seluruh data di disk ini akan " "hilang. Apakah anda ingin melanjutkan?" #: parted/parted.c:487 #, c-format msgid "" "WARNING: you are attempting to use %s to operate on (%s) a file system.\n" "%s's file system manipulation code is not as robust as what you'll find in\n" "dedicated, file-system-specific packages like e2fsprogs. We recommend\n" "you use %s only to manipulate partition tables, whenever possible.\n" "Support for performing most operations on most types of file systems\n" "will be removed in an upcoming release.\n" msgstr "" "PERINGATAN: anda sedang coba untuk menggunakan %s untuk beroperasi di\n" "(%s) sebuah sistem berkas. Kode manipulasi sistem berkas %s tidak sebaik\n" "dengan apa yang akan anda temukan dalam aplikasi khusus untuk sistem berkas\n" "seperti e2fsprogs. Kami merekomendasikan supaya anda menggunakan %s hanya\n" "untuk memanipulasi tabel partisi, kapanpun memungkinkan. Dukungan untuk\n" "melakukan operasi mendalam di banyak tipe dari sistem berkas\n" "akan dihilangkan pada keluaran selanjutnya.\n" #: parted/parted.c:508 parted/parted.c:702 parted/parted.c:1179 #: parted/parted.c:1263 parted/parted.c:1935 parted/parted.c:2016 #: parted/parted.c:2088 parted/parted.c:2122 msgid "Partition number?" msgstr "Nomor partisi?" #: parted/parted.c:551 msgid "Source device?" msgstr "Perangkat asal?" #: parted/parted.c:555 msgid "Source partition number?" msgstr "Nomor partisi asal?" #: parted/parted.c:560 msgid "Can't copy an extended partition." msgstr "Tidak dapat mengkopi sebuah partisi extended." #: parted/parted.c:566 msgid "Destination partition number?" msgstr "Nomor partisi tujuan?" #: parted/parted.c:655 msgid "New disk label type?" msgstr "Tipe disk label baru?" #: parted/parted.c:706 parted/parted.c:788 parted/parted.c:1000 msgid "File system type?" msgstr "Tipe file system?" #: parted/parted.c:762 parted/parted.c:983 msgid "Partition type?" msgstr "Tipe partisi?" #: parted/parted.c:780 parted/parted.c:990 parted/parted.c:1266 msgid "Partition name?" msgstr "Nama partisi?" #: parted/parted.c:794 parted/parted.c:1002 parted/parted.c:1194 #: parted/parted.c:1883 parted/parted.c:1944 msgid "Start?" msgstr "Awal?" #: parted/parted.c:796 parted/parted.c:1005 parted/parted.c:1197 #: parted/parted.c:1885 parted/parted.c:1946 msgid "End?" msgstr "Akhir?" #: parted/parted.c:862 parted/parted.c:1066 #, c-format msgid "" "You requested a partition from %s to %s.\n" "The closest location we can manage is %s to %s.%s" msgstr "" "Anda meminta sebuah partisi dari %s sampai %s.\n" "Lokasi terdekat yang dapat kami tangani adalah %s sampai %s.%s" #: parted/parted.c:867 parted/parted.c:1071 msgid "" "\n" "Is this still acceptable to you?" msgstr "" "\n" "Apakah ini masih dapat anda terima?" #: parted/parted.c:889 parted/parted.c:1093 msgid "The resulting partition is not properly aligned for best performance." msgstr "" #: parted/parted.c:995 msgid "An extended partition cannot hold a file system. Did you want mkpart?" msgstr "" "Sebuah partisi extended tidak dapat berisi sebuah file system. Anda ingin " "melakukan mkpart?" #: parted/parted.c:1185 msgid "Can't move an extended partition." msgstr "Tidak dapat memindahkan sebuah partisi extended." #: parted/parted.c:1214 msgid "Can't move a partition onto itself. Try using resize, perhaps?" msgstr "" "Tidak dapat memindahkan partisi ke partisi itu sendiri. Coba menggunakan " "resize, mungkin?" #: parted/parted.c:1360 #, c-format msgid "Minor: %d\n" msgstr "Minor: %d\n" #: parted/parted.c:1361 #, c-format msgid "Flags: %s\n" msgstr "Tanda: %s\n" #: parted/parted.c:1362 #, c-format msgid "File System: %s\n" msgstr "File System: %s\n" #: parted/parted.c:1363 msgid "Size: " msgstr "Ukuran: " #: parted/parted.c:1368 msgid "Minimum size: " msgstr "Ukuran minimal: " #: parted/parted.c:1371 msgid "Maximum size: " msgstr "Ukuran maksimal: " #: parted/parted.c:1504 #, c-format msgid "Model: %s (%s)\n" msgstr "Model: %s (%s)\n" #: parted/parted.c:1506 #, c-format msgid "Disk %s: %s\n" msgstr "Disk %s: %s\n" #: parted/parted.c:1507 #, c-format msgid "Sector size (logical/physical): %lldB/%lldB\n" msgstr "Ukuran sektor (logical/physical): %lldB/%lldB\n" #: parted/parted.c:1525 #, c-format msgid "BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s.\n" msgstr "" "BIOS cylinder,head,sector geometry: %d,%d,%d. Setiap cylinder adalah %s.\n" #: parted/parted.c:1534 #, c-format msgid "Partition Table: %s\n" msgstr "Tabel Partisi: %s\n" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Number" msgstr "Nomor" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Start" msgstr "Awal" #: parted/parted.c:1550 parted/parted.c:1553 msgid "End" msgstr "Akhir" #: parted/parted.c:1553 msgid "Size" msgstr "Ukuran" #: parted/parted.c:1557 msgid "Type" msgstr "Tipe" #: parted/parted.c:1559 msgid "File system" msgstr "File system" #: parted/parted.c:1562 msgid "Name" msgstr "Nama" #: parted/parted.c:1564 msgid "Flags" msgstr "Tanda" #: parted/parted.c:1621 msgid "Free Space" msgstr "Ruang Kosong" #: parted/parted.c:1782 #, c-format msgid "" "A %s %s partition was found at %s -> %s. Do you want to add it to the " "partition table?" msgstr "" "Sebuah %s %s partisi ditemukan pada %s -> %s. Anda ingin menambahkan ini " "pada tabel partisi?" #: parted/parted.c:1821 msgid "searching for file systems" msgstr "mencari untuk file systems" #: parted/parted.c:2041 msgid "New device?" msgstr "Perangkat baru?" #: parted/parted.c:2086 msgid "alignment type(min/opt)" msgstr "tipe penyesuaian(min/opt)" #: parted/parted.c:2093 #, c-format msgid "%d aligned\n" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d not aligned\n" msgstr "" #: parted/parted.c:2124 msgid "Flag to Invert?" msgstr "Tanda yang akan dirubah?" #: parted/parted.c:2129 msgid "New state?" msgstr "Status baru?" #: parted/parted.c:2166 msgid "Unit?" msgstr "Satuan?" #: parted/parted.c:2348 msgid "align-check" msgstr "pemeriksaan-penyesuaian" #: parted/parted.c:2351 msgid "" "align-check TYPE N check partition N for TYPE(min|" "opt) alignment" msgstr "" "pemeriksaan-penyesuaian TIPE N periksa partisi N untuk " "penyesuaian TIPE(min|opt)" #: parted/parted.c:2359 msgid "check" msgstr "periksa" #: parted/parted.c:2362 msgid "" "check NUMBER do a simple check on the file system" msgstr "" "periksa NOMOR pemeriksaan sederhana pada file " "system" #: parted/parted.c:2368 msgid "cp" msgstr "salin" #: parted/parted.c:2371 msgid "" "cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another " "partition" msgstr "" "salin [ASAL-PERANGKAT] ASAL-NOMOR KE-NOMOR menyalin file system ke partisi " "yang lain" #: parted/parted.c:2377 msgid "help" msgstr "bantuan" #: parted/parted.c:2380 msgid "" "help [COMMAND] print general help, or help on " "COMMAND" msgstr "" "bantuan [PERINTAH] menampilkan bantuan umum, atau " "bantuan pada PERINTAH" #: parted/parted.c:2386 msgid "mklabel" msgstr "mklabel" #: parted/parted.c:2386 msgid "mktable" msgstr "mktable" #: parted/parted.c:2389 msgid "" "mklabel,mktable LABEL-TYPE create a new disklabel (partition " "table)" msgstr "" "mklabel,mktable TIPE-LABEL membuat sebuah disklabel baru " "(tabel partisi)" #: parted/parted.c:2395 msgid "mkfs" msgstr "mkfs" #: parted/parted.c:2398 msgid "" "mkfs NUMBER FS-TYPE make a FS-TYPE file system on " "partition NUMBER" msgstr "" "mkfs NOMOR TIPE-FS membuat sistem berkas TIPE-FS pada " "partisi NOMOR" #: parted/parted.c:2404 msgid "mkpart" msgstr "mkpart" #: parted/parted.c:2407 msgid "mkpart PART-TYPE [FS-TYPE] START END make a partition" msgstr "mkpart TIPE-PART [TIPE-FS] AWAL AKHIR membuat sebuah partisi" #: parted/parted.c:2413 msgid "" "'mkpart' makes a partition without creating a new file system on the " "partition. FS-TYPE may be specified to set an appropriate partition ID.\n" msgstr "" "'mkpart' membuat sebuah partisi tanpa membuat sebuah file system baru pada " "partisi. TIPE-FS mungkin dispesifikasikan untuk mengeset ID partisi.\n" #: parted/parted.c:2418 msgid "mkpartfs" msgstr "mkpartfs" #: parted/parted.c:2421 msgid "" "mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system" msgstr "" "mkpartfs TIPE-PART TIPE-FS AWAL AKHIR membuat sebuah partisi dengan " "filesystem" #: parted/parted.c:2427 msgid "move" msgstr "pindah" #: parted/parted.c:2430 msgid "move NUMBER START END move partition NUMBER" msgstr "pindah NOMOR AWAL AKHIR memindahkan partisi NOMOR" #: parted/parted.c:2435 msgid "name" msgstr "nama" #: parted/parted.c:2438 msgid "name NUMBER NAME name partition NUMBER as NAME" msgstr "" "nama NOMOR NAMA memberi nama partisi NOMOR dengan " "NAMA" #: parted/parted.c:2443 msgid "print" msgstr "cetak" #: parted/parted.c:2446 msgid "" "print [devices|free|list,all|NUMBER] display the partition table, " "available devices, free space, all found partitions, or a particular " "partition" msgstr "" "print [devices|free|list,all|NUMBER] tampilkan tabel partisi, perangkat " "yang bisa dipakai, ruang kosong, seluruh partisi yang ditemukan, atau untuk " "partisi tertentu" #: parted/parted.c:2451 msgid "" "Without arguments, 'print' displays the entire partition table. However with " "the following arguments it performs various other actions.\n" msgstr "" "Tanpa argumen, 'print' menampilkan seluruh tabel partisi. Akan tetapi dengan " "diikuti argument ini akan melakukan beberapa aksi yang berbeda.\n" #: parted/parted.c:2453 msgid " devices : display all active block devices\n" msgstr " devices : menampilkan seluruh perangkat blok yang aktif\n" #: parted/parted.c:2454 msgid "" " free : display information about free unpartitioned space on the " "current block device\n" msgstr "" " free : menampilkan informasi tentang ruang partisi kosong di perngkat " "blok yang sedang dipakai\n" #: parted/parted.c:2456 msgid "" " list, all : display the partition tables of all active block devices\n" msgstr "" " list, all : tampilkan tabel partisi dari seluruh perangkat blok yang " "aktif\n" #: parted/parted.c:2457 msgid "" " NUMBER : display more detailed information about this particular " "partition\n" msgstr "" " NUMBER : tampilkan informasi yang lebih detail tentang partisi yang " "terpilih\n" #: parted/parted.c:2462 msgid "quit" msgstr "berhenti" #: parted/parted.c:2465 msgid "quit exit program" msgstr "berhenti keluar dari program" #: parted/parted.c:2470 msgid "rescue" msgstr "selamatkan" #: parted/parted.c:2473 msgid "" "rescue START END rescue a lost partition near START " "and END" msgstr "" "selamatkan AWAL AKHIR menyelamatkan partisi yang hilang " "didekat alamat AWAL dan AKHIR" #: parted/parted.c:2479 msgid "resize" msgstr "resize" #: parted/parted.c:2482 msgid "" "resize NUMBER START END resize partition NUMBER and its " "file system" msgstr "" "resize NOMOR AWAL AKHIR merubah ukuran partisi NOMOR dan " "isi filesystemnya" #: parted/parted.c:2490 msgid "rm" msgstr "hapus" #: parted/parted.c:2493 msgid "rm NUMBER delete partition NUMBER" msgstr "hapus NOMOR hapus partisi NOMOR" #: parted/parted.c:2498 msgid "select" msgstr "pilih" #: parted/parted.c:2501 msgid "select DEVICE choose the device to edit" msgstr "" "pilih PERANGKAT pilih perangkat yang akan di edit" #: parted/parted.c:2506 msgid "set" msgstr "set" #: parted/parted.c:2509 msgid "" "set NUMBER FLAG STATE change the FLAG on partition NUMBER" msgstr "" "set NOMOR FLAG STATUS merubah tanda pada partisi NOMOR" #: parted/parted.c:2515 msgid "toggle" msgstr "ubah" #: parted/parted.c:2518 msgid "" "toggle [NUMBER [FLAG]] toggle the state of FLAG on " "partition NUMBER" msgstr "" "ubah [NOMOR [TANDA]] ubah keadaan dari TANDA di partisi " "NOMOR" #: parted/parted.c:2524 msgid "unit" msgstr "satuan" #: parted/parted.c:2527 msgid "unit UNIT set the default unit to UNIT" msgstr "" "satuan SATUAN mengeset satuan baku pada SATUAN" #: parted/parted.c:2532 msgid "version" msgstr "versi" #: parted/parted.c:2535 msgid "" "version display the version number and " "copyright information of GNU Parted" msgstr "" "versi menampilkan versi dari GNU Parted " "dan informasi hak cipta" #: parted/parted.c:2539 msgid "" "'version' displays copyright and version information corresponding to this " "copy of GNU Parted\n" msgstr "" "'versi' menampilkan hak cipta dan informasi versi sesuai dengan kopi dari " "GNU Parted ini\n" #: parted/parted.c:2607 #, c-format msgid "Usage: %s [-hlmsv] [-a] [DEVICE [COMMAND [PARAMETERS]]...]\n" msgstr "" "Penggunaan: %s [-hlmsv] [-a] [PERANGKAT [PERINTAH " "[PARAMETER]]...]\n" #: parted/parted.c:2651 msgid "No device found" msgstr "Tidak ditemukan perangkat" #: parted/parted.c:2688 msgid "WARNING: You are not superuser. Watch out for permissions." msgstr "PERINGATAN: Anda bukan superuser. Perhatikan permisi anda." #: parted/parted.c:2726 msgid "You may need to update /etc/fstab.\n" msgstr "Anda mungkin perlu untuk memperbarui /etc/fstab.\n" #: parted/ui.c:162 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n" msgstr "" "Selamat datang di GNU Parted| Ketik 'bantuan' untuk melihat daftar dari " "perintah yang tersedia.\n" #: parted/ui.c:165 msgid "" "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n" "Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run " "in\n" "interactive mode.\n" msgstr "" "Penggunaan: parted [OPSI]... [PERANGKAT [PERINTAH [PARAMETERS]...]...]\n" "Berikan PERINTAH dengan PARAMETER ke PERANGKAT. Jika tidak ada PERINTAH yang " "diberikan,\n" "maka parted akan berjalan dengan menggunakan mode interaktif.\n" #: parted/ui.c:170 #, c-format msgid "" "\n" "\n" "You found a bug in GNU Parted! Here's what you have to do:\n" "\n" "Don't panic! The bug has most likely not affected any of your data.\n" "Help us to fix this bug by doing the following:\n" "\n" "Check whether the bug has already been fixed by checking\n" "the last version of GNU Parted that you can find at:\n" "\n" "\thttp://ftp.gnu.org/gnu/parted/\n" "\n" "Please check this version prior to bug reporting.\n" "\n" "If this has not been fixed yet or if you don't know how to check,\n" "please visit the GNU Parted website:\n" "\n" "\thttp://www.gnu.org/software/parted\n" "\n" "for further information.\n" "\n" "Your report should contain the version of this release (%s)\n" "along with the error message below, the output of\n" "\n" "\tparted DEVICE unit co print unit s print\n" "\n" "and the following history of commands you entered.\n" "Also include any additional information about your setup you\n" "consider important.\n" msgstr "" "\n" "\n" "Anda menemukan sebuah bug dalam GNU Parted! Ini yang harus anda lakukan:\n" "\n" "Jangan panic! Bug yang ada biasanya tidak mempengaruhi data anda.\n" "Bantu kami untuk membetulkan bug ini dengan melakukan hal berikut:\n" "\n" "Check apakah bug telah dibetulkan dengan mengecheck\n" "versi terbaru dari GNU Parted yang dapat anda temukan di:\n" "\n" "\thttp://ftp.gnu.org/gnu/parted/\n" "\n" "Tolong periksa versi ini terlebih dahulu sebelum melaporkan bug.\n" "\n" "Jika bug ini belum dibetulkan atau jika anda tidak tahu bagaimana cara " "mengechecknya,\n" "kunjungi GNU Parted website:\n" "\n" "\thttp://www.gnu.org/software/parted\n" "\n" "untuk informasi lebih lanjut.\n" "\n" "Laporan anda seharusnya berisi versi dari release ini (%s)\n" "dengan pesan error dibawah ini, dan output dari perintah berikut ini\n" "\n" "\tparted DEVICE unit co print unit s print\n" "\n" "dan history dari perintah yang telah anda jalankan.\n" "dan beberapa informasi tambahan mengenai setting yang telah\n" "anda lakukan yang menurut anda penting.\n" #: parted/ui.c:291 msgid "" "\n" "Command History:\n" msgstr "" "\n" "Perintah yang pernah dijalankan:\n" #: parted/ui.c:354 msgid "" "\n" "Error: SEGV_MAPERR (Address not mapped to object)\n" msgstr "" "\n" "Error: SEGV_MAPPER (Alamat tidak di map ke objek)\n" #: parted/ui.c:360 msgid "" "\n" "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n" msgstr "" "\n" "Error: SEGV_ACCER (Permisi tidak sah untuk objek yang dimap)\n" #: parted/ui.c:365 msgid "" "\n" "Error: A general SIGSEGV signal was encountered.\n" msgstr "" "\n" "Error: Sebuah sinyal SIGSEGV umum telah ditemui.\n" #: parted/ui.c:389 msgid "" "\n" "Error: FPE_INTDIV (Integer: divide by zero)" msgstr "" "\n" "Error: FPE_INTDIV (Integer: dibagi dengan nol)" #: parted/ui.c:394 msgid "" "\n" "Error: FPE_INTOVF (Integer: overflow)" msgstr "" "\n" "Error: FPE_INTOVF (Integer: overflow)" #: parted/ui.c:399 msgid "" "\n" "Error: FPE_FLTDIV (Float: divide by zero)" msgstr "" "\n" "Error: FPE_FLTDIV (Float: dibagi dengan nol)" #: parted/ui.c:404 msgid "" "\n" "Error: FPE_FLTOVF (Float: overflow)" msgstr "" "\n" "Error: FPE_FLTOVF (Float: overflow)" #: parted/ui.c:409 msgid "" "\n" "Error: FPE_FLTUND (Float: underflow)" msgstr "" "\n" "Error: FPE_FLTUND (Float: underflow)" #: parted/ui.c:414 msgid "" "\n" "Error: FPE_FLTRES (Float: inexact result)" msgstr "" "\n" "Error: FPE_FLTRES (Float: hasil tidak eksak)" #: parted/ui.c:419 msgid "" "\n" "Error: FPE_FLTINV (Float: invalid operation)" msgstr "" "\n" "Error: FPE_FLTINV (Float: operasi tidak valid)" #: parted/ui.c:424 msgid "" "\n" "Error: FPE_FLTSUB (Float: subscript out of range)" msgstr "" "\n" "Error: FPE_FLTSUB (Float: subscript diluar dari jangkauan)" #: parted/ui.c:429 msgid "" "\n" "Error: A general SIGFPE signal was encountered." msgstr "" "\n" "Error: Sebuah sinyal SIGFPE umum telah ditemukan." #: parted/ui.c:453 msgid "" "\n" "Error: ILL_ILLOPC (Illegal Opcode)" msgstr "" "\n" "Error: ILL_ILLOPC (Illegal Opcode)" #: parted/ui.c:458 msgid "" "\n" "Error: ILL_ILLOPN (Illegal Operand)" msgstr "" "\n" "Error: ILL_ILLOPN (Illegal Operand)" #: parted/ui.c:463 msgid "" "\n" "Error: ILL_ILLADR (Illegal addressing mode)" msgstr "" "\n" "Error: ILL_ILLADDR (Illegal mode pengalamatan)" #: parted/ui.c:468 msgid "" "\n" "Error: ILL_ILLTRP (Illegal Trap)" msgstr "" "\n" "Error: ILL_ILLTRP (Illegal Trap)" #: parted/ui.c:473 msgid "" "\n" "Error: ILL_PRVOPC (Privileged Opcode)" msgstr "" "\n" "Error: ILL_PRVOPC (Privileged Opcode)" #: parted/ui.c:478 msgid "" "\n" "Error: ILL_PRVREG (Privileged Register)" msgstr "" "\n" "Error: ILL_PRVREG (Privileged Register)" #: parted/ui.c:483 msgid "" "\n" "Error: ILL_COPROC (Coprocessor Error)" msgstr "" "\n" "Error: ILL_COPROC (Coprocessor Error)" #: parted/ui.c:488 msgid "" "\n" "Error: ILL_BADSTK (Internal Stack Error)" msgstr "" "\n" "Error: ILL_BADSTK (Internal Stack Error)" #: parted/ui.c:493 msgid "" "\n" "Error: A general SIGILL signal was encountered." msgstr "" "\n" "Error: Sebuah sinyal SIGILL umum telah ditemukan." #: parted/ui.c:892 #, c-format msgid "invalid token: %s" msgstr "token tidak valid: %s" #: parted/ui.c:1048 msgid "Expecting a partition number." msgstr "Memperkirakan sebuah nomor partisi." #: parted/ui.c:1057 msgid "Partition doesn't exist." msgstr "Partisi tidak ada." #: parted/ui.c:1077 msgid "Expecting a file system type." msgstr "Memperkirakan sebuah tipe filesystem." #: parted/ui.c:1084 #, c-format msgid "Unknown file system type \"%s\"." msgstr "Tipe filesystem tidak diketahui \"%s\"." #: parted/ui.c:1104 msgid "Expecting a disk label type." msgstr "Memperkirakan sebuah tipe disk label." #: parted/ui.c:1202 msgid "Can't create any more partitions." msgstr "Tidak dapat membuat partisi lagi." #: parted/ui.c:1212 msgid "Expecting a partition type." msgstr "Memperkirakan sebuah tipe partisi." #: parted/ui.c:1360 msgid "on" msgstr "nyala" #: parted/ui.c:1361 msgid "off" msgstr "mati" #: parted/ui.c:1378 msgid "optimal" msgstr "optimal" #: parted/ui.c:1379 msgid "minimal" msgstr "minimal" #: parted/ui.c:1512 msgid "OPTIONs:" msgstr "PILIHAN:" #: parted/ui.c:1517 msgid "COMMANDs:" msgstr "PERINTAH:" #: parted/ui.c:1520 #, fuzzy, c-format msgid "" "\n" "Report bugs to %s\n" msgstr "" "\n" "Laporkan bugs ke: %s\n" #: parted/ui.c:1527 #, c-format msgid "Using %s\n" msgstr "Menggunakan perangkat %s\n" #: parted/ui.c:1601 msgid "This command does not make sense in non-interactive mode.\n" msgstr "Perintah ini tidak mempunyai arti dalam mode non-interaktif.\n" #~ msgid "" #~ "WARNING: the kernel failed to re-read the partition table on %s (%s). As " #~ "a result, it may not reflect all of your changes until after reboot." #~ msgstr "" #~ "PERINGATAN: kernel gagal untuk membaca kembali tabel partisi di %s (%s). " #~ "Hasilnya, ini mungkin tidak merefleksikan semua perubahan yang anda " #~ "lakukan sampai anda melakukan reboot." #~ msgid "" #~ "Device %s has a logical sector size of %lld. Not all parts of GNU Parted " #~ "support this at the moment, and the working code is HIGHLY EXPERIMENTAL.\n" #~ msgstr "" #~ "Perangkat %s memiliki ukuran logical sektor %lld. Tidak semua bagian dari " #~ "GNU Parted support akan hal ini pada saat ini, dan kode program yang " #~ "digunakan saat ini masih TAHAP PERCOBAAN.\n" #~ msgid "" #~ "Could not determine minimum io size for %s: %s.\n" #~ "Using the default size (%lld)." #~ msgstr "" #~ "Tidak dapat menentukan ukuran sektor minimum untuk %s: %s.\n" #~ "Menggunakan ukuran sektor baku (%lld)." #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: pilihan -- %c tidak valid\n" #~ msgid "" #~ "The kernel was unable to re-read the partition table on %s (%s). This " #~ "means Linux won't know anything about the modifications you made until " #~ "you reboot. You should reboot your computer before doing anything with " #~ "%s." #~ msgstr "" #~ "Kernel tidak dapat membaca kembali tabel partisi pada %s (%s). Ini " #~ "berarti Linux tidak akan tahu apapun tentang modifikasi yang anda buat " #~ "sampai anda reboot. Anda seharusnya mereboot komputer anda sebelum " #~ "melakukan apapun dengan %s." #~ msgid "Unable to determine the block size of this dasd" #~ msgstr "Tidak dapat menentukan ukuran blok dari DASD ini" #~ msgid "File system has an incompatible feature enabled." #~ msgstr "File system memiliki sebuah feature aktif yang tidak kompatibel." #~ msgid "Unrecognised linux swap signature '%10s'." #~ msgstr "linux swap signature tidak diketahui '%10s'." #~ msgid "" #~ "%s read error\n" #~ "%s\n" #~ msgstr "" #~ "%s gagal membaca\n" #~ "%s\n" #~ msgid "" #~ "%s write error\n" #~ "%s\n" #~ msgstr "" #~ "%s gagal menulis\n" #~ "%s\n" #~ msgid "" #~ "%s IOCTL error\n" #~ "%s\n" #~ msgstr "" #~ "%s IOCTL error\n" #~ "%s\n" #~ msgid "" #~ "%s Config file syntax error\n" #~ "%s\n" #~ msgstr "" #~ "%s Terdapat kesalahan di config file\n" #~ "%s\n" #~ msgid "" #~ "%s space allocation\n" #~ "%s\n" #~ msgstr "" #~ "%s alokasi ruang\n" #~ "%s\n" #~ msgid "" #~ "%s Fatal error\n" #~ "%s\n" #~ msgstr "" #~ "%s Fatal error\n" #~ "%s\n" #~ msgid "File system?" #~ msgstr "File system?" #~ msgid "GNU Parted cannot resize this file system, please useresize2fs." #~ msgstr "" #~ "GNU Parted tidak dapat mengubah ukuran dari filesystem ini, tolong " #~ "gunakan useresize2fs." #~ msgid "where necessary, prompts for user intervention" #~ msgstr "jika diperlukan, tanyakan intervensi pengguna" #~ msgid "GNU Parted Version information:\n" #~ msgstr "Informasi versi dari GNU Parted:\n" #~ msgid "" #~ "print [free|NUMBER|all] display the partition table, a " #~ "partition, or all devices" #~ msgstr "" #~ "cetak [NOMOR] menampilkan tabel partisi, atau " #~ "sebuah partisi" #~ msgid "" #~ "Without arguments, print displays the entire partition table. With " #~ "'free'\n" #~ "argument, information about free space will be displayed otherwise if a\n" #~ "partition number is given, then more detailed information is displayed\n" #~ "about that partition. If the 'all' argument is passed instead, partition\n" #~ "information for all devices will be displayed.\n" #~ msgstr "" #~ "Tanpa argumen, menampilkan seluruh tabel partisi. Dengan 'free' " #~ "argumen, \n" #~ "maka informasi mengenai free space akan ditampilkan sebaliknya jika " #~ "sebuah \n" #~ "nomor partisi diberikan, maka informasi lebih detail mengenai partisi " #~ "tersebut\n" #~ "ditampilkan. Jika 'all' argumen di berikan, maka informasi seluruh " #~ "partisi pada\n" #~ "perangkat akan ditampilkan.\n" #~ msgid "" #~ "The sector size on %s is %d bytes. Parted is known not to work properly " #~ "with drives with sector sizes other than %d bytes." #~ msgstr "" #~ "Ukuran sektor pada %s adalah %d bytes. Parted tidak dapat bekerja secara " #~ "normal dengan drives dengan ukuran sektor selain dari %d bytes." #~ msgid "IDE" #~ msgstr "IDE" #~ msgid "Attempt to read sectors %ld-%ld outside of partition on %s." #~ msgstr "Mencoba untuk membaca sektor %ld-%ld diluar dari partisi pada %s." #~ msgid "" #~ "This ext2 file system has a rather strange layout! Parted can't resize " #~ "this (yet)." #~ msgstr "" #~ "File system ext2 ini memiliki sebuah layout yang aneh! Parted tidak dapat " #~ "menresize ini" #~ msgid "" #~ "You have an HFS+ file system that has a feature that I haven't seen used " #~ "anywhere. Parted can theoretically handle it, but the corresponding code " #~ "has never been tested, so this might be risky. Please email me so I can " #~ "see how it works! " #~ msgstr "" #~ "Anda memiliki sebuah HFS+ file system yang memiliki feature yang saya " #~ "belum pernah lihat sebelumnya dimanapun. Parted secara teori dapat " #~ "menanganinya, tetapi kode yang berhubungan dengan itu belum ditest, jadi " #~ "ini mungkin beresiko. Tolong email saya sehingga saya bisa tahu jika ini " #~ "bekerja! " #~ msgid "" #~ "The extents overflow file should not contain its own extents. You should " #~ "check the file system." #~ msgstr "" #~ "Extent overflow file seharusnya tidak berisi its own extents. Anda " #~ "sebaiknya mengecheck file system." #~ msgid "Disk geometry for %s: %s - %s\n" #~ msgstr "Geometri untuk disk %s: %s - %s\n" #~ msgid "Disk label type: %s\n" #~ msgstr "Tipe disk label: %s\n" #~ msgid "" #~ "\n" #~ "\n" #~ "You found a bug in GNU Parted.\n" #~ "This may have been fixed in the last version of GNU Parted that you can " #~ "find at:\n" #~ "\thttp://ftp.gnu.org/gnu/parted/\n" #~ "If this has not been fixed or if you don't know how to check, please " #~ "email:\n" #~ "\tbug-parted@gnu.org\n" #~ "or (preferably) file a bug report at:\n" #~ "\thttp://parted.alioth.debian.org/bugs/\n" #~ "Your report should contain the version of this release (%s) along with " #~ "the\n" #~ "following message and preferably additional information about your " #~ "setup.\n" #~ "Refer to the web site of parted\n" #~ "\thttp://www.gnu.org/software/parted/parted.html\n" #~ "for more informations of what could be useful for bug submitting!\n" #~ msgstr "" #~ "\n" #~ "\n" #~ "Anda menemukan sebuah bug (kutu) dalam GNU Parted.\n" #~ "Ini mungkin sudah dibetulkan dalam versi terakhir dari GNU Parted yang " #~ "akan anda temukan di:\n" #~ "\thttp://ftp.gnu.org/gnu/parted/\n" #~ "Jika ini belum dibetulkan atau anda tidak tahu bagaimana untuk " #~ "mengecheck, mohon email:\n" #~ "\tbug-parted@gnu.org\n" #~ "atau (anda lebih suka) untuk mengirim laporan bug pada:\n" #~ "\thttp://parted.alioth.debian.org/bugs/\n" #~ "Laporan anda seharusnya berisi versi dari release ini (%s) dengan pesan\n" #~ "berikut ini dan lebih disukai dengan informasi tambahan mengenai setup " #~ "anda.\n" #~ "Lihat ke alamat web site dari parted untuk informasi lebih lanjut\n" #~ "\thttp://www.gnu.org/software/parted/parted.html\n" #~ "Untuk informasi yang lebih berguna dalam mengirimkan laporan bug (kutu)!\n" #~ msgid "" #~ "This HFS volume has no extents overflow file. This is quite unusual !" #~ msgstr "HFS volume tidak memiliki extents overflow file. Ini tidak biasa !" #~ msgid "" #~ "You requested to create a partition at %s - %s. The closest Parted can " #~ "manage is %s - %s." #~ msgstr "" #~ "Anda meminta untuk membuat sebuah partisi pada %s - %s. Pendekatan Parted " #~ "yang paling dekat adalah %s - %s." #~ msgid "" #~ "You requested to resize the partition to %s - %s. The closest Parted can " #~ "manage is %s - %s." #~ msgstr "" #~ "Anda meminta untuk meresize partisi menjadi %s - %s. Parted hanya dapat " #~ "mengatasi menjadi yang terdekat adalah %s - %s." #~ msgid "" #~ "You found a bug in GNU Parted. Please email a bug report to bug-" #~ "parted@gnu.org containing the version (%s), and the following message:\n" #~ msgstr "" #~ "Anda menemukan sebuah bug dalam GNU Parted. Tolong email laporan bug ke " #~ "bug-parted@gnu.org yang berisi versi (%s), dan pesan berikut ini:\n" parted-2.3/po/tr.po0000644000000000000000000032612011400005705011123 00000000000000# translation of parted-2.2.po to Turkish # This file is distributed under the same license as the parted package. # parted-2.2.po'nun Türkçe çevirisi # Copyright (C) 2009 Free Software Foundation, Inc. # Eyüp Hakan Duran , 2009. # E. Hakan Duran , 2010. msgid "" msgstr "" "Project-Id-Version: parted-2.2\n" "Report-Msgid-Bugs-To: bug-parted@gnu.org\n" "POT-Creation-Date: 2010-05-28 20:30+0200\n" "PO-Revision-Date: 2010-02-26 22:18-0500\n" "Last-Translator: E. Hakan Duran \n" "Language-Team: Turkish \n" "Language: tr\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=1; plural=0;\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "%2$s için geçersiz argüman %1$s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "%2$s için belirsiz argüman %1$s" #: lib/argmatch.c:153 #, c-format msgid "Valid arguments are:" msgstr "Geçerli argümanlar ÅŸunlardır:" #: lib/closeout.c:112 libparted/labels/fdasd.c:107 msgid "write error" msgstr "yazma hatası" #: lib/error.c:181 msgid "Unknown system error" msgstr "Bilinmeyen sistem hatası" #: lib/getopt.c:527 lib/getopt.c:543 #, c-format msgid "%s: option '%s' is ambiguous\n" msgstr "%s: '%s' seçeneÄŸi belirsiz\n" #: lib/getopt.c:576 lib/getopt.c:580 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: '--%s' seçeneÄŸi argümansız kullanılır\n" #: lib/getopt.c:589 lib/getopt.c:594 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: '%c%s' seçeneÄŸi argümansız kullanılır\n" #: lib/getopt.c:637 lib/getopt.c:656 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: '%s' seçeneÄŸi için bir argüman gerekli\n" #: lib/getopt.c:694 lib/getopt.c:697 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: '--%s' seçeneÄŸi bilinmiyor\n" #: lib/getopt.c:705 lib/getopt.c:708 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: '%c%s' seçeneÄŸi bilinmiyor\n" #: lib/getopt.c:757 lib/getopt.c:760 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: geçersiz seçenek -- '%c'\n" #: lib/getopt.c:810 lib/getopt.c:827 lib/getopt.c:1035 lib/getopt.c:1053 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: seçenek için bir argüman gerekli -- '%c'\n" #: lib/getopt.c:883 lib/getopt.c:899 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: '-W %s' seçeneÄŸi belirsiz\n" #: lib/getopt.c:923 lib/getopt.c:941 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: '-W %s' seçeneÄŸi argümansız kullanılır\n" #: lib/getopt.c:962 lib/getopt.c:980 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: '%s' seçeneÄŸi için bir argüman gerekli\n" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". If the catalog has no translation, #. locale_quoting_style quotes `like this', and #. clocale_quoting_style quotes "like this". #. #. For example, an American English Unicode locale should #. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and #. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION #. MARK). A British English Unicode locale should instead #. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) #. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. #. #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. #: lib/quotearg.c:272 msgid "`" msgstr "`" #: lib/quotearg.c:273 msgid "'" msgstr "'" #: lib/regcomp.c:134 msgid "Success" msgstr "BaÅŸarılı" #: lib/regcomp.c:137 msgid "No match" msgstr "EÅŸleÅŸme yok" #: lib/regcomp.c:140 msgid "Invalid regular expression" msgstr "Geçersiz düzenli ifade" #: lib/regcomp.c:143 msgid "Invalid collation character" msgstr "Geçersiz harmanlama karakteri" #: lib/regcomp.c:146 msgid "Invalid character class name" msgstr "Geçersiz karakter sınıfı ismi" #: lib/regcomp.c:149 msgid "Trailing backslash" msgstr "İzleyen tersbölü" #: lib/regcomp.c:152 msgid "Invalid back reference" msgstr "Geçersiz geriye baÅŸvuru" #: lib/regcomp.c:155 msgid "Unmatched [ or [^" msgstr "[ ya da [^ eÅŸleÅŸmiyor" #: lib/regcomp.c:158 msgid "Unmatched ( or \\(" msgstr "( ya da \\( eÅŸleÅŸmiyor" #: lib/regcomp.c:161 msgid "Unmatched \\{" msgstr "\\{ eÅŸleÅŸmiyor" #: lib/regcomp.c:164 msgid "Invalid content of \\{\\}" msgstr "\\{\\} in içeriÄŸi geçersiz" #: lib/regcomp.c:167 msgid "Invalid range end" msgstr "Geçersiz kapsam sonu" #: lib/regcomp.c:170 msgid "Memory exhausted" msgstr "Bellek tükendi" #: lib/regcomp.c:173 msgid "Invalid preceding regular expression" msgstr "Geçersiz önceki düzenli ifade" #: lib/regcomp.c:176 msgid "Premature end of regular expression" msgstr "Düzenli ifadenin sonu eksik" #: lib/regcomp.c:179 msgid "Regular expression too big" msgstr "Düzenli ifade çok büyük" #: lib/regcomp.c:182 msgid "Unmatched ) or \\)" msgstr ") ya da \\) eÅŸleÅŸmiyor" #: lib/regcomp.c:703 msgid "No previous regular expression" msgstr "Daha önce düzenli ifade yok" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[eE]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[hH]" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "%s (%s) tarafından paketlendi\n" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "%s tarafından paketlendi\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "(C)" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "Lisans GPLv3+: GNU GPL sürüm 3 ya da sonrası \n" "Bu özgür yazılımdır: deÄŸiÅŸtirmek ve yeniden dağıtmakta özgürsünüz.\n" "Yasal olarak izin verildiÄŸi ölçüde GARANTİ YOKTUR.\n" "\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "%s tarafından yazıldı.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "%s ve %s tarafından yazıldı.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "%s, %s ve %s taraından yazıldı.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "%s, %s, %s ve %s\n" "tarafından yazıldı.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "%s, %s, %s, %s ve %s\n" "tarafından yazıldı.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "%1$s, %2$s, %3$s, %4$s,\n" "%5$s ve %6$s tarafından yazıldı.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "%1$s, %2$s, %3$s, %4$s,\n" "%5$s, %6$s ve %7$s tarafından yazıldı.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "%1$s, %2$s, %3$s, %4$s,\n" "%5$s %6$s, %7$s ve %8$s\n" "tarafından yazıldı.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "%1$s, %2$s, %3$s, %4$s,\n" "%5$s %6$s, %7$s, %8$s ve\n" "%9$s tarafından yazıldı.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "%1$s, %2$s, %3$s, %4$s,\n" "%5$s %6$s, %7$s, %8$s,\n" "%9$s ve diÄŸerleri tarafından yazıldı.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Yazılım hatalarını %s'e bildirin.\n" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "%s hatalarını %s'e bildirin.\n" #: lib/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "%s baÅŸlangıç sayfası: <%s>\n" #: lib/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "%s baÅŸlangıç sayfası: \n" #: lib/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "GNU yazılımı kullanmada genel yardım: \n" #: lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "bellek tükendi" #: lib/xstrtol-error.c:63 #, c-format msgid "invalid %s%s argument `%s'" msgstr "geçersiz %s%s argüman `%s'" #: lib/xstrtol-error.c:68 #, c-format msgid "invalid suffix in %s%s argument `%s'" msgstr "%s%s argümanında geçersiz sonek `%s'" #: lib/xstrtol-error.c:72 #, c-format msgid "%s%s argument `%s' too large" msgstr "%s%s argümanı `%s' çok büyük" #: libparted/arch/beos.c:245 msgid "Disk Image" msgstr "Disk Görüntüsü" #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277 #: libparted/arch/linux.c:1519 #, c-format msgid "Error opening %s: %s" msgstr "%1$s açarken hata: %2$s" #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287 #: libparted/arch/linux.c:1530 #, c-format msgid "Unable to open %s read-write (%s). %s has been opened read-only." msgstr "" "%1$s oku-yaz ÅŸeklinde açılamıyor (%2$s). %3$s salt-okunur olarak açıldı." #: libparted/arch/beos.c:419 libparted/arch/linux.c:1688 #, c-format msgid "%s during seek for read on %s" msgstr "%2$s'te okuma için arama sırasında %1$s" #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564 #: libparted/arch/gnu.c:692 libparted/arch/linux.c:1648 #: libparted/arch/linux.c:1729 #, c-format msgid "%s during read on %s" msgstr "%2$s'i okuma sırasında %1$s" #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525 #: libparted/arch/linux.c:1805 #, c-format msgid "Can't write to %s, because it is opened read-only." msgstr "%s'e yazılamıyor, çünkü salt-okunur olarak açılmış." #: libparted/arch/beos.c:504 libparted/arch/linux.c:1830 #, c-format msgid "%s during seek for write on %s" msgstr "%2$s'e yazma için arama sırasında %1$s" #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646 #: libparted/arch/gnu.c:723 libparted/arch/linux.c:1778 #: libparted/arch/linux.c:1872 libparted/arch/linux.c:1944 #, c-format msgid "%s during write on %s" msgstr "%2$s'e yazma sırasında %1$s" #: debug/clearfat/clearfat.c:62 partprobe/partprobe.c:137 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Daha fazla bilgi için `%s --help' yazın.\n" #: debug/clearfat/clearfat.c:66 #, c-format msgid "" "Usage: %s [OPTION]\n" " or: %s DEVICE MINOR\n" msgstr "" "Kullanım: %s [SEÇENEK]\n" " ya da: %s AYGIT MİNOR\n" #: debug/clearfat/clearfat.c:69 msgid "" "Clear unused space on a FAT partition (a GNU Parted testing tool).\n" "\n" msgstr "" "Bir FAT disk bölümündeki kullanılmayan boÅŸluÄŸu silin (bir GNU Parted deneme " "aracı).\n" "\n" #: debug/clearfat/clearfat.c:73 msgid " --help display this help and exit\n" msgstr " --help bu yardımı görüntüler ve çıkar\n" #: debug/clearfat/clearfat.c:74 msgid " --version output version information and exit\n" msgstr " --version sürüm bilgisi çıkartır ve çıkar\n" #: debug/clearfat/clearfat.c:76 partprobe/partprobe.c:154 #, c-format msgid "" "\n" "Report bugs to <%s>.\n" msgstr "" "\n" "Yazılım hatalarını <%s>'e bildirin.\n" #: debug/clearfat/clearfat.c:284 #, c-format msgid "too few arguments" msgstr "argüman sayısı yetersiz" #: debug/clearfat/clearfat.c:289 #, c-format msgid "too many arguments" msgstr "çok fazla argüman" #: debug/clearfat/clearfat.c:297 #, c-format msgid "invalid minor device number: %s" msgstr "geçersiz minör aygıt numarası: %s" #: partprobe/partprobe.c:141 #, c-format msgid "Usage: %s [OPTION] [DEVICE]...\n" msgstr "Kullanım: %s [SEÇENEK] [AYGIT]...\n" #: partprobe/partprobe.c:142 msgid "" "Inform the operating system about partition table changes.\n" "\n" " -d, --dry-run do not actually inform the operating system\n" " -s, --summary print a summary of contents\n" " -h, --help display this help and exit\n" " -v, --version output version information and exit\n" msgstr "" "İşletim sistemini disk bölümleme tablosu deÄŸiÅŸikliklerinden haberdar eder.\n" "\n" " -d, --dry-run iÅŸletim sistemini haberdar etmez\n" " -s, --summary içeriÄŸin bir özetini basar\n" " -h, --help bu yardımı görüntüler ve çıkar\n" " -v, --version sürüm bilgisini çıkartır ve çıkar\n" #: partprobe/partprobe.c:150 msgid "" "\n" "When no DEVICE is given, probe all partitions.\n" msgstr "" "\n" "AYGIT verilmediÄŸinde, tüm disk bölümlerini yokla.\n" #: libparted/arch/gnu.c:110 #, c-format msgid "Unable to open %s." msgstr "%s açılamadı." #: libparted/arch/gnu.c:130 msgid "Unable to probe store." msgstr "Depo sondalanamadı." #: libparted/arch/gnu.c:368 msgid "" "The partition table cannot be re-read. This means you need to reboot before " "mounting any modified partitions. You also need to reinstall your boot " "loader before you reboot (which may require mounting modified partitions). " "It is impossible do both things! So you'll need to boot off a rescue disk, " "and reinstall your boot loader from the rescue disk. Read section 4 of the " "Parted User documentation for more information." msgstr "" "Disk bölümleme tablosu yeniden okunamadı, bu nedenle deÄŸiÅŸtirilmiÅŸ herhangi " "bir disk bölümünü baÄŸlamadan (bilgisayarı) yeniden açmalısınız. Yeniden " "açmadan önce önyükleyicinizi de yeniden kurmalısınız (ki bu deÄŸiÅŸtirilmiÅŸ " "disk bölümlerini baÄŸlamayı gerektirebilir). İki ÅŸeyi birden yapmak " "olanaksız! Dolayısıyla, bir kurtarma diskiyle açmanız ve önyükleyicinizi bu " "diskten yeniden kurmanız gerekecek. Daha fazla bilgi için Parted Kullanıcı " "belgesinin 4. bölümünü okuyunuz." #: libparted/arch/gnu.c:385 #, c-format msgid "" "The partition table on %s cannot be re-read (%s). This means the Hurd knows " "nothing about any modifications you made. You should reboot your computer " "before doing anything with %s." msgstr "" "%1$s (%2$s) üzerindeki disk bölümleme tablosu. Bu, sizin yaptığınız " "deÄŸiÅŸiklikleri Hurd bilmiyor anlamına gelir. %3$s ile ilgili hiçbir ÅŸey " "yapmadan önce bilgisayarınızı yeniden açmalısınız." #: libparted/arch/gnu.c:396 parted/parted.c:2719 msgid "" "You should reinstall your boot loader before rebooting. Read section 4 of " "the Parted User documentation for more information." msgstr "" "Yeniden açmadan önce önyükleyicinizi yeniden kurmalısınız. Daha fazla bilgi " "için Parted Kullanıcı belgesinin 4. bölümünü okuyunuz." #: libparted/arch/gnu.c:788 #, c-format msgid "%s trying to sync %s to disk" msgstr "%1$s %2$s diske eÅŸzamanlanmaya çalışılıyor" #: libparted/arch/linux.c:509 #, c-format msgid "Could not stat device %s - %s." msgstr "Dosya durum bilgisi alınamayan aygıt %s - %s." #: libparted/arch/linux.c:566 #, c-format msgid "Unable to determine the dm type of %s." msgstr "%s'in dm türü belirlenemedi." #: libparted/arch/linux.c:658 #, c-format msgid "" "Could not determine sector size for %s: %s.\n" "Using the default sector size (%lld)." msgstr "" "%1$s: %2$s için sektör boyutu belirlenemiyor.\n" "Öntanımlı sektör boyutu (%3$lld) kullanılacak." #: libparted/arch/linux.c:679 #, c-format msgid "" "Could not determine physical sector size for %s.\n" "Using the logical sector size (%lld)." msgstr "" "%s için fiziksel sektör boyutu belirlenemiyor.\n" "Mantıksal sektör boyutu (%lld) kullanılacak." #: libparted/arch/linux.c:728 #, c-format msgid "Unable to determine the size of %s (%s)." msgstr "%1$s (%2$s)'in boyutu belirlenemedi" #: libparted/arch/linux.c:814 #, c-format msgid "Could not get identity of device %s - %s" msgstr "%s - %s aygıtının kimliÄŸi alınamadı " #: libparted/arch/linux.c:823 msgid "Generic IDE" msgstr "Genel IDE" #: libparted/arch/linux.c:844 #, c-format msgid "" "Device %s has multiple (%d) logical sectors per physical sector.\n" "GNU Parted supports this EXPERIMENTALLY for some special disk label/file " "system combinations, e.g. GPT and ext2/3.\n" "Please consult the web site for up-to-date information." msgstr "" "Aygıt %s fiziksel sektör başına çok sayıda (%d) mantıksal sektör içeriyor.\n" "GNU Parted bunu DENEYSEL olarak bazı disk etiketi/dosya sistemi " "kombinasyonları için destekliyor, örneÄŸin GPT ve ext2/3.\n" "Lütfen güncel bilgi için web sitesine baÅŸvurun." #: libparted/arch/linux.c:1019 #, c-format msgid "Error initialising SCSI device %s - %s" msgstr "%s - %s SCSI aygıtını ilklendirmede hata" #: libparted/arch/linux.c:1083 #, c-format msgid "" "The device %s has zero length, and can't possibly store a file system or " "partition table. Perhaps you selected the wrong device?" msgstr "" "%s aygıtı sıfır-uzunlukta ve muhtemelen bir dosya sistemi ya da bölümleme " "tablosu depolayamıyor. Yanlış aygıtı seçmiÅŸ olmayasınız?" #: libparted/arch/linux.c:1190 #, c-format msgid "" "Unable to determine geometry of file/device %s. You should not use Parted " "unless you REALLY know what you're doing!" msgstr "" "%s Dosya/aygıtının geometrisi belirlenemedi. CİDDEN ne yaptığınızı " "bilmiyorsanız Parted kullanmamalısınız!" #: libparted/arch/linux.c:1250 msgid "Generic SD/MMC Storage Card" msgstr "Genel SD/MMC Bellek Kartı" #: libparted/arch/linux.c:1303 msgid "DAC960 RAID controller" msgstr "DAC960 RAID denetleyici" #: libparted/arch/linux.c:1308 msgid "Promise SX8 SATA Device" msgstr "Promise SX8 SATA Aygıtı" #: libparted/arch/linux.c:1313 msgid "ATA over Ethernet Device" msgstr "" #: libparted/arch/linux.c:1319 msgid "IBM S390 DASD drive" msgstr "IBM S390 DASD sürücüsü" #: libparted/arch/linux.c:1325 msgid "IBM iSeries Virtual DASD" msgstr "IBM iSeries Virtual DASD" #: libparted/arch/linux.c:1330 msgid "Compaq Smart Array" msgstr "Compaq Akıllı Dizi" #: libparted/arch/linux.c:1335 msgid "ATARAID Controller" msgstr "ATARAID Denetleyici" #: libparted/arch/linux.c:1340 msgid "I2O Controller" msgstr "I20 Denetleyici" #: libparted/arch/linux.c:1345 msgid "User-Mode Linux UBD" msgstr "Kullanıcı Kipi Linux UBD" #: libparted/arch/linux.c:1358 #, c-format msgid "Linux device-mapper (%s)" msgstr "Linux aygıt-eÅŸlemleyicisi (%s)" #: libparted/arch/linux.c:1369 msgid "Xen Virtual Block Device" msgstr "Xen Sanal Blok Aygıtı" #: libparted/arch/linux.c:1374 msgid "Unknown" msgstr "Bilinmeyen" #: libparted/arch/linux.c:1383 msgid "Virtio Block Device" msgstr "Virtio Blok Aygıtı" #: libparted/arch/linux.c:1388 msgid "Linux Software RAID Array" msgstr "" #: libparted/arch/linux.c:1395 msgid "ped_device_new() Unsupported device type" msgstr "ped_device_new() Desteklenmeyen aygıt türü" #: libparted/arch/linux.c:1492 libparted/arch/linux.c:1564 #, c-format msgid "Error fsyncing/closing %s: %s" msgstr "%s fsyncleme/kapamada hata: %s" #: libparted/arch/linux.c:1728 #, c-format msgid "end of file while reading %s" msgstr "%s okunurken dosya sonu" #: libparted/arch/linux.c:2365 #, fuzzy, c-format msgid "" "Error informing the kernel about modifications to partition %s -- %s. This " "means Linux won't know about any changes you made to %s until you reboot -- " "so you shouldn't mount it or use it in any way before rebooting." msgstr "" "Kernel, %1$s (%2$s) üzerindeki disk bölümleme tablosunu yeniden okuyamadı. " "Bu, siz (bilgisayarı) yeniden açana dek yaptığınız deÄŸiÅŸiklikleri Linux'un " "bilmemesi demek... %3$s ile ilgili herhangi bir ÅŸey yapmadan " "bilgisayarınızı yeniden açmalısınız." #: libparted/arch/linux.c:2503 #, fuzzy, c-format msgid "Unable to determine the size and length of %s." msgstr "%1$s (%2$s)'in boyutu belirlenemedi" #: libparted/arch/linux.c:2528 #, fuzzy, c-format msgid "Failed to add partition %d (%s)" msgstr "%s : %llu bölümleme bloÄŸunu okuma baÅŸarısız\n" #: libparted/arch/linux.c:2555 #, c-format msgid "" "Partition(s) %s on %s have been written, but we have been unable to inform " "the kernel of the change, probably because it/they are in use. As a result, " "the old partition(s) will remain in use. You should reboot now before " "making further changes." msgstr "" #: libparted/arch/linux.c:2681 #, c-format msgid "" "parted was unable to re-read the partition table on %s (%s). This means " "Linux won't know anything about the modifications you made. " msgstr "" "parted, %1$s (%2$s) üzerindeki disk bölümleme tablosunu yeniden okuyamadı. " "Bu, siz (bilgisayarı) yeniden açana dek yaptığınız deÄŸiÅŸiklikleri Linux'un " "bilmemesi demek. " #: libparted/cs/geom.c:162 #, c-format msgid "Can't have the end before the start! (start sector=%jd length=%jd)" msgstr "BaÅŸlangıçtan önce son gelemez! (baÅŸlangıç sektörü=%jd uzunluk=%jd)" #: libparted/cs/geom.c:170 msgid "Can't have a partition outside the disk!" msgstr "Disk bölümü disk dışında bulunamaz!" #: libparted/cs/geom.c:385 #, c-format msgid "Attempt to write sectors %ld-%ld outside of partition on %s." msgstr "" "%3$s üzerindeki disk bölümünün dışında yeralan %1$ld-%2$ld sektörlere " "yazmaya çalışılıyor." #: libparted/cs/geom.c:425 libparted/fs/linux_swap/linux_swap.c:488 msgid "checking for bad blocks" msgstr "hatalı blok aranıyor" #: libparted/debug.c:97 #, c-format msgid "Backtrace has %d calls on stack:\n" msgstr "Geriye doÄŸru iz sürme yığınında %d çaÄŸrı var:\n" #: libparted/debug.c:110 #, c-format msgid "Assertion (%s) at %s:%d in function %s() failed." msgstr "%2$s'deki iddia (%1$s):%4$s() iÅŸlevindeki %3$d baÅŸarısız." #: libparted/disk.c:193 #, c-format msgid "%s: unrecognised disk label" msgstr "%s: tanınmayan disk etiketi" #: libparted/disk.c:486 #, c-format msgid "" "This libparted doesn't have write support for %s. Perhaps it was compiled " "read-only." msgstr "" "Bu libparted'in %s için yazma desteÄŸi yok. Belki de salt-okunur olarak " "derlenmiÅŸtir." #: libparted/disk.c:631 #, c-format msgid "Partition %d is %s, but the file system is %s." msgstr "%1$d disk bölümü %2$s, fakat dosya sistemi %3$s'dir." #: libparted/disk.c:841 msgid "cylinder_alignment" msgstr "silindir_hizalaması" #: libparted/disk.c:847 #, c-format msgid "Unknown disk flag, %d." msgstr "Bilinmeyen disk bayrağı, %d." #: libparted/disk.c:1286 #, c-format msgid "%s disk labels do not support extended partitions." msgstr "%s disk etiketleri ek disk bölümlerini desteklemiyor." #: libparted/disk.c:1865 #, c-format msgid "%s disk labels don't support logical or extended partitions." msgstr "%s disk etiketleri mantıksal ya da ek disk bölümlerini desteklemiyor." #: libparted/disk.c:1878 msgid "Too many primary partitions." msgstr "Çok fazla birincil disk bölümü" #: libparted/disk.c:1887 #, c-format msgid "" "Can't add a logical partition to %s, because there is no extended partition." msgstr "%s'e mantıksal disk bölümü eklenemez, çünkü ek disk bölümü yok." #: libparted/disk.c:1911 #, c-format msgid "Can't have more than one extended partition on %s." msgstr "%s üzerinde birden fazla ek disk bölümü olamaz" #: libparted/disk.c:1921 msgid "Can't have logical partitions outside of the extended partition." msgstr "Ek disk bölümü dışında mantıksal disk bölümleri olamaz." #: libparted/disk.c:1946 #, c-format msgid "Can't have a logical partition outside of the extended partition on %s." msgstr "%s üzerinde ek disk bölümü dışında mantıksal disk bölümleri olamaz." #: libparted/disk.c:1956 libparted/disk.c:2015 libparted/disk.c:2193 msgid "Can't have overlapping partitions." msgstr "Örtüşen disk bölümleri olamaz" #: libparted/disk.c:1964 msgid "Can't have a primary partition inside an extended partition." msgstr "Bir ek disk bölümü içinde birincil disk bölümü bulunamaz." #: libparted/disk.c:2395 msgid "metadata" msgstr "metaverisi" #: libparted/disk.c:2397 msgid "free" msgstr "kullanılmamış" #: libparted/disk.c:2399 parted/ui.c:1193 parted/ui.c:1221 msgid "extended" msgstr "ek" #: libparted/disk.c:2401 parted/ui.c:1197 parted/ui.c:1225 msgid "logical" msgstr "mantıksal" #: libparted/disk.c:2403 parted/ui.c:1189 parted/ui.c:1217 msgid "primary" msgstr "birincil" #: libparted/disk.c:2419 msgid "boot" msgstr "önyükleme" #: libparted/disk.c:2421 msgid "bios_grub" msgstr "bios_grub" #: libparted/disk.c:2423 msgid "root" msgstr "kök" #: libparted/disk.c:2425 msgid "swap" msgstr "takas" #: libparted/disk.c:2427 msgid "hidden" msgstr "gizli" #: libparted/disk.c:2429 msgid "raid" msgstr "raid" #: libparted/disk.c:2431 msgid "lvm" msgstr "lvm" #: libparted/disk.c:2433 msgid "lba" msgstr "lba" #: libparted/disk.c:2435 msgid "hp-service" msgstr "hp-servisi" #: libparted/disk.c:2437 msgid "palo" msgstr "palo" #: libparted/disk.c:2439 msgid "prep" msgstr "prep" #: libparted/disk.c:2441 msgid "msftres" msgstr "msftres" #: libparted/disk.c:2443 msgid "atvrecv" msgstr "atvrecv" #: libparted/disk.c:2445 msgid "diag" msgstr "" #: libparted/disk.c:2451 #, c-format msgid "Unknown partition flag, %d." msgstr "Bilinmeyen.disk bölümü bayrağı, %d." #: libparted/exception.c:77 msgid "Information" msgstr "Bilgi" #: libparted/exception.c:78 msgid "Warning" msgstr "Uyarı" #: libparted/exception.c:79 msgid "Error" msgstr "Hata" #: libparted/exception.c:80 msgid "Fatal" msgstr "Ölümcül" #: libparted/exception.c:81 msgid "Bug" msgstr "Yazılım hatası" #: libparted/exception.c:82 msgid "No Implementation" msgstr "Uyarlama yok" #: libparted/exception.c:86 msgid "Fix" msgstr "Onar" #: libparted/exception.c:87 msgid "Yes" msgstr "Evet" #: libparted/exception.c:88 msgid "No" msgstr "Hayır" #: libparted/exception.c:89 msgid "OK" msgstr "Tamam" #: libparted/exception.c:90 msgid "Retry" msgstr "Yeniden dene" #: libparted/exception.c:91 msgid "Ignore" msgstr "Yoksay" #: libparted/exception.c:92 msgid "Cancel" msgstr "Vazgeç" #: libparted/exception.c:132 #, c-format msgid "" "A bug has been detected in GNU Parted. Refer to the web site of parted " "http://www.gnu.org/software/parted/parted.html for more information of what " "could be useful for bug submitting! Please email a bug report to bug-" "parted@gnu.org containing at least the version (%s) and the following " "message: " msgstr "" "GNU parted'da bir yazılım hatası saptandı. Hata bildirmek için daha fazla " "bilgiye ulaÅŸmak üzere parted'ın web sitesine baÅŸvurun: http://www.gnu.org/" "software/parted/parted.html! Lütfen bug-parted@gnu.org'a en azından sürüm " "(%s) ve aÅŸağıdaki mesajı içeren bir yazılım hatası raporu gönderin: " #: libparted/filesys.c:462 msgid "Could not detect file system." msgstr "Dosya sistemi saptanamıyor." #: libparted/filesys.c:473 msgid "The file system is bigger than its volume!" msgstr "Dosya sistemi oylumundan daha büyük!" #: libparted/filesys.c:481 #, c-format msgid "Support for opening %s file systems is not implemented yet." msgstr "%s dosya sistemlerini açmak için destek henüz saÄŸlanmamıştır." #: libparted/filesys.c:523 #, c-format msgid "Support for creating %s file systems is not implemented yet." msgstr "%s dosya sistemlerini oluÅŸturmak için destek henüz saÄŸlanmamıştır." #: libparted/filesys.c:583 #, c-format msgid "Support for checking %s file systems is not implemented yet." msgstr "%s dosya sistemlerini kontrol etmek için destek henüz saÄŸlanmamıştır." #: libparted/filesys.c:649 msgid "raw block copying" msgstr "ham blok kopyalama" #: libparted/filesys.c:660 msgid "growing file system" msgstr "büyüyen dosya sistemi" #: libparted/filesys.c:700 msgid "Can't copy onto an overlapping partition." msgstr "Çakışan disk bölümlerinin üzerine kopyalanamıyor." #: libparted/filesys.c:722 #, c-format msgid "" "Direct support for copying file systems is not yet implemented for %s. " "However, support for resizing is implemented. Therefore, the file system " "can be copied if the new partition is at least as big as the old one. So, " "either shrink the partition you are trying to copy, or copy to a bigger " "partition." msgstr "" "%s için dosya sistemlerini kopyalamaya direkt destek henüz saÄŸlanmamıştır. " "Ancak yeniden boyutlandırma desteÄŸi mevcut. Bu nedenle, eÄŸer yeni disk " "bölümü en az eskisi kadar büyükse, dosya sistemi kopyalanabilir. " "Dolayısıyla, ya kopyalamaya çalıştığınız disk bölümünü küçültün, ya da daha " "büyük bir disk bölümüne kopyalayın." #: libparted/filesys.c:736 #, c-format msgid "Support for copying %s file systems is not implemented yet." msgstr "%s dosya sistemlerini kopyalamak için destek henüz saÄŸlanmamıştır." #: libparted/filesys.c:774 #, c-format msgid "Support for resizing %s file systems is not implemented yet." msgstr "" "%s dosya sistemlerini yeniden boyutlandırmak için destek henüz " "saÄŸlanmamıştır." #: libparted/fs/reiserfs/reiserfs.c:315 msgid "creating" msgstr "oluÅŸturuluyor" #: libparted/fs/reiserfs/reiserfs.c:402 msgid "The file system is in an invalid state. Perhaps it is mounted?" msgstr "Dosya sistemi geçersiz bir durumda. BaÄŸlı olabilir mi?" #: libparted/fs/reiserfs/reiserfs.c:410 msgid "The file system is in old (unresizeable) format." msgstr "Dosya sistemi eski (yeniden boyutlanamayan) biçemde." #: libparted/fs/reiserfs/reiserfs.c:416 msgid "Invalid free blocks count. Run reiserfsck --check first." msgstr "Geçersiz serbest blok sayısı. Önce reiserfsck --check yürütün." #: libparted/fs/reiserfs/reiserfs.c:431 msgid "checking" msgstr "kontrol ediliyor" #: libparted/fs/reiserfs/reiserfs.c:437 msgid "Reiserfs tree seems to be corrupted. Run reiserfsck --check first." msgstr "Reiserfs aÄŸacı bozuk görünüyor. Önce reiserfsck --check yürütün." #: libparted/fs/reiserfs/reiserfs.c:449 msgid "" "The reiserfs file system passed a basic check. For a more comprehensive " "check, run reiserfsck --check." msgstr "" "reiserfs dosya sistemi temel bir kontrolü geçti. Daha kapsamlı bir kontrol " "için reiserfsck --check yürütünüz." #: libparted/fs/reiserfs/reiserfs.c:474 msgid "Sorry, can't move the start of reiserfs partitions yet." msgstr "Üzgünüm, henüz reiserfs disk bölümlerinin baÅŸlangıcı taşınamıyor." #: libparted/fs/reiserfs/reiserfs.c:490 msgid "Couldn't reopen device abstraction layer for read/write." msgstr "Aygıt özetleme katmanı oku/yaz için yeniden açılamıyor." #: libparted/fs/reiserfs/reiserfs.c:508 libparted/fs/ext2/ext2_resize.c:552 #: libparted/fs/hfs/hfs.c:250 libparted/fs/hfs/hfs.c:629 msgid "shrinking" msgstr "küçültülüyor" #: libparted/fs/reiserfs/reiserfs.c:520 msgid "expanding" msgstr "geniÅŸletiliyor" #: libparted/fs/reiserfs/reiserfs.c:592 msgid "Couldn't create reiserfs device abstraction handler." msgstr "Reiserfs aygıt özetleme iÅŸleyici oluÅŸturulamıyor." #: libparted/fs/reiserfs/reiserfs.c:606 #, c-format msgid "Device is too small for %lu blocks." msgstr "%lu blok için aygıt çok küçük." #: libparted/fs/reiserfs/reiserfs.c:615 msgid "copying" msgstr "kopyalıyor" #: libparted/fs/reiserfs/reiserfs.c:682 #, c-format msgid "Couldn't resolve symbol %s. Error: %s." msgstr "Simge %s çözümlenemiyor. Hata: %s." #: libparted/fs/reiserfs/reiserfs.c:704 msgid "GNU Parted found an invalid libreiserfs library." msgstr "GNU Parted geçersiz bir libreiserfs kütüphanesi buldu." #: libparted/fs/reiserfs/reiserfs.c:715 #, c-format msgid "" "GNU Parted has detected libreiserfs interface version mismatch. Found %d-" "%d, required %d. ReiserFS support will be disabled." msgstr "" "GNU Parted libreiserfs arayüz sürüm uyumsuzluÄŸu tespit etti. %d-%d buldu, " "%d gerekiyordu. ReiserFS desteÄŸi etkisizleÅŸtirilecek." #: libparted/labels/aix.c:103 msgid "Support for reading AIX disk labels is is not implemented yet." msgstr "AIX disk etiketlerini okuma desteÄŸi henüz saÄŸlanmamıştır." #: libparted/labels/aix.c:114 msgid "Support for writing AIX disk labels is is not implemented yet." msgstr "AIX disk etiketlerini yazma desteÄŸi henüz saÄŸlanmamıştır." #: libparted/labels/aix.c:127 msgid "" "Support for adding partitions to AIX disk labels is not implemented yet." msgstr "AIX disk etiketlerine disk bölümü ekleme desteÄŸi henüz saÄŸlanmamıştır." #: libparted/labels/aix.c:137 msgid "" "Support for duplicating partitions in AIX disk labels is not implemented yet." msgstr "" "AIX disk etiketlerinde disk bölümü çoÄŸaltma desteÄŸi henüz saÄŸlanmamıştır." #: libparted/labels/aix.c:155 msgid "" "Support for setting system type of partitions in AIX disk labels is not " "implemented yet." msgstr "" "AIX disk etiketlerinde sistem türü disk bölümü kurma desteÄŸi henüz " "saÄŸlanmamıştır." #: libparted/labels/aix.c:165 msgid "Support for setting flags in AIX disk labels is not implemented yet." msgstr "AIX disk etiketlerinde bayrak kurma desteÄŸi henüz saÄŸlanmamıştır." #: libparted/labels/bsd.c:568 libparted/labels/dasd.c:783 #: libparted/labels/dos.c:2092 libparted/labels/dvh.c:788 #: libparted/labels/gpt.c:1750 libparted/labels/loop.c:245 #: libparted/labels/mac.c:1424 libparted/labels/pc98.c:749 #: libparted/labels/rdb.c:1051 libparted/labels/sun.c:821 msgid "Unable to satisfy all constraints on the partition." msgstr "Disk bölümü üzerindeki tüm koÅŸullar karşılanamadı." #: libparted/labels/bsd.c:593 msgid "Unable to allocate a bsd disklabel slot." msgstr "Bir bsd disk etiketi yuvası tahsis edilemedi" #: libparted/labels/dasd.c:809 msgid "Unable to allocate a dasd disklabel slot" msgstr "Bir dasd disk etiketi yuvası tahsis edilemedi" #: libparted/labels/dos.c:882 #, c-format msgid "Invalid partition table on %s -- wrong signature %x." msgstr "%1$s üzerinde geçersiz disk bölümleme tablosu - yanlış imza %2$x" #: libparted/labels/dos.c:910 #, c-format msgid "Invalid partition table - recursive partition on %s." msgstr "" "Geçersiz disk bölümleme tablosu - %s üzerinde özyinelemeli disk bölümü." #: libparted/labels/dos.c:1420 msgid "Extended partitions cannot be hidden on msdos disk labels." msgstr "Msdos disk etiketlerinde ek disk bölümleri gizli olamaz." #: libparted/labels/dos.c:2074 msgid "Parted can't resize partitions managed by Windows Dynamic Disk." msgstr "" "Parted, Windows Dinamik Disk tarafından yönetilen bölümleri yeniden " "boyutlayamaz." #: libparted/labels/dvh.c:201 #, c-format msgid "%s has no extended partition (volume header partition)." msgstr "%s'in ek disk bölümü (oylum baÅŸlığı disk bölümü) yok." #: libparted/labels/dvh.c:327 msgid "Checksum is wrong, indicating the partition table is corrupt." msgstr "" "SaÄŸlama toplamı, disk bölümleme tablosunun bozuk olduÄŸunu belirtir ÅŸekilde " "yanlış." #: libparted/labels/dvh.c:632 msgid "Only primary partitions can be root partitions." msgstr "Yalnızca birincil disk bölümleri kök disk bölümü olabilir." #: libparted/labels/dvh.c:646 msgid "Only primary partitions can be swap partitions." msgstr "Yalnızca birincil disk bölümleri takas disk bölümleri olabilir." #: libparted/labels/dvh.c:660 msgid "Only logical partitions can be a boot file." msgstr "Yalnızca mantıksal disk bölümleri bir önyükleme dosyası olabilir." #: libparted/labels/dvh.c:737 #, c-format msgid "" "failed to set dvh partition name to %s:\n" "Only logical partitions (boot files) have a name." msgstr "" "%s'e dvh bölümleme adı atanması baÅŸarısız:\n" "Yalnızca mantıksal disk bölümlerinin (önyükleme dosyaları) bir adı olabilir." #: libparted/labels/dvh.c:830 msgid "Too many primary partitions" msgstr "Çok fazla birincil disk bölümü" #: libparted/labels/fdasd.c:98 msgid "open error" msgstr "açma hatası" #: libparted/labels/fdasd.c:101 msgid "seek error" msgstr "arama hatası" #: libparted/labels/fdasd.c:104 msgid "read error" msgstr "okuma hatası" #: libparted/labels/fdasd.c:110 msgid "ioctl() error" msgstr "ioctl() hatası" #: libparted/labels/fdasd.c:114 msgid "API version mismatch" msgstr "API sürüm uyuÅŸmazlığı" #: libparted/labels/fdasd.c:118 msgid "Unsupported disk type" msgstr "Desteklenmeyen disk türü" #: libparted/labels/fdasd.c:122 msgid "Unsupported disk format" msgstr "Desteklenmeyen disk biçemi" #: libparted/labels/fdasd.c:126 msgid "Disk is in use" msgstr "Disk kullanımda" #: libparted/labels/fdasd.c:130 msgid "Syntax error in config file" msgstr "Config dosyasında sözdizim hatası" #: libparted/labels/fdasd.c:134 msgid "Volume label is corrupted" msgstr "Oylum etiketi bozuk" #: libparted/labels/fdasd.c:138 msgid "A data set name is corrupted" msgstr "Bir veri küme adı bozuk" #: libparted/labels/fdasd.c:142 msgid "Memory allocation failed" msgstr "Bellek tahsisi baÅŸarısız" #: libparted/labels/fdasd.c:146 msgid "Device verification failed" msgstr "Aygıt doÄŸrulaması baÅŸarısız" #: libparted/labels/fdasd.c:147 msgid "The specified device is not a valid DASD device" msgstr "Belirtilen aygıt geçerli bir DASD aygıtı deÄŸil" #: libparted/labels/fdasd.c:150 libparted/labels/vtoc.c:179 msgid "Fatal error" msgstr "Ölümcül hata" #: libparted/labels/fdasd.c:226 msgid "No room for volume label." msgstr "Oylum etiketi için yer yok" #: libparted/labels/fdasd.c:234 msgid "No room for partition info." msgstr "Disk bölümü bilgisi için yer yok" #: libparted/labels/fdasd.c:704 msgid "Invalid VTOC." msgstr "Geçersiz VTOC." #: libparted/labels/fdasd.c:764 msgid "Could not retrieve API version." msgstr "API sürümü belirlenemiyor." #: libparted/labels/fdasd.c:767 #, c-format msgid "" "The current API version '%d' doesn't match dasd driver API version '%d'!" msgstr "Mevcut API sürümü '%d' dasd sürücüsü API sürümüyle '%d' uyuÅŸmuyor!" #: libparted/labels/fdasd.c:804 msgid "Could not retrieve disk geometry information." msgstr "Disk geometrisi bilgisi alınamıyor." #: libparted/labels/fdasd.c:808 msgid "Could not retrieve blocksize information." msgstr "Blok boyutu bilgisi alınamıyor." #: libparted/labels/fdasd.c:813 msgid "Could not retrieve disk information." msgstr "Disk bilgisi alınamıyor." #: libparted/labels/fdasd.c:818 msgid "This is not an ECKD disk! This disk type is not supported!" msgstr "Bu bir ECKD diski deÄŸil! Bu disk türü desteklenmiyor!" #: libparted/labels/gpt.c:485 #, c-format msgid "" "%s contains GPT signatures, indicating that it has a GPT table. However, it " "does not have a valid fake msdos partition table, as it should. Perhaps it " "was corrupted -- possibly by a program that doesn't understand GPT partition " "tables. Or perhaps you deleted the GPT table, and are now using an msdos " "partition table. Is this a GPT partition table?" msgstr "" "%s, GPT tablosu içerdiÄŸini belirten GPT imzalarına sahip. Ayrıca, olması " "gerekenin aksine, geçerli sahte msdos disk bölümleme tablosu yok. Belki GPT " "disk bölümleme tablolarından anlamayan bir program tarafından bozulmuÅŸtur. " "Ya da belki siz GPT tablosunu sildiniz ve ÅŸimdi bir msdos disk bölümleme " "tablosu kullanmaktasınız. Bu bir GPT disk bölümleme tablosu mu?" #: libparted/labels/gpt.c:680 #, c-format msgid "" "The format of the GPT partition table is version %x, which is newer than " "what Parted can recognise. Please tell us! bug-parted@gnu.org" msgstr "" "GPT disk bölümleme tablosu biçemi sürüm %x olup, Parted'ın " "tanıyabileceÄŸinden daha yenidir. Lütfen bize bildirin! bug-parted@gnu.org" #: libparted/labels/gpt.c:727 #, c-format msgid "" "Not all of the space available to %s appears to be used, you can fix the GPT " "to use all of the space (an extra %llu blocks) or continue with the current " "setting? " msgstr "" "%s için kullanılabilir boÅŸluÄŸun tamamı kullanılmamış görünüyor, GPT'yi " "ayarlayıp tüm mevcut boÅŸluÄŸu (%llu ek blok) kullanabilir ya da mevcut ayarla " "devam edebilirsiniz?" #: libparted/labels/gpt.c:936 msgid "" "The backup GPT table is not at the end of the disk, as it should be. This " "might mean that another operating system believes the disk is smaller. Fix, " "by moving the backup to the end (and removing the old backup)?" msgstr "" "GPT tablosunun yedeÄŸi, olması gerektiÄŸi gibi diskin sonunda deÄŸil. Bu, bir " "baÅŸka iÅŸletim sisteminin diski olduÄŸundan küçük sanması anlamına gelebilir. " "YedeÄŸi sona taşıyarak (ve eski yedeÄŸi silerek) onarınız?" #: libparted/labels/gpt.c:960 msgid "" "Both the primary and backup GPT tables are corrupt. Try making a fresh " "table, and using Parted's rescue feature to recover partitions." msgstr "" "Hem birincil, hem de yedek GPT tablosu bozuk. Yeni bir tablo oluÅŸturmayı ve " "Parted'ın kurtarma özelliÄŸini kullanarak disk bölümlerini kurtarmayı deneyin." #: libparted/labels/gpt.c:971 msgid "" "The backup GPT table is corrupt, but the primary appears OK, so that will be " "used." msgstr "" "Yedek GPT tablosu bozuk, ama birincil tamam görünüyor, dolayısıyla o " "kullanılacak." #: libparted/labels/gpt.c:983 msgid "" "The primary GPT table is corrupt, but the backup appears OK, so that will be " "used." msgstr "" "Birincil GPT tablosu bozuk, ama yedek tamam görünüyor, dolayısıyla yedek " "kullanılacak." #: libparted/labels/gpt.c:1007 msgid "primary partition table array CRC mismatch" msgstr "birincil bölümleme tablosu dizisi CRC uyumsuzluÄŸu" #: libparted/labels/mac.c:185 #, c-format msgid "Invalid signature %x for Mac disk labels." msgstr "Mac disk etiketleri için geçersiz imza %x." #: libparted/labels/mac.c:232 msgid "Partition map has no partition map entry!" msgstr "Disk bölümü eÅŸleminin disk bölümü eÅŸlem girdisi yok!" #: libparted/labels/mac.c:280 #, c-format msgid "%s is too small for a Mac disk label!" msgstr "%s, bir Mac disk etiketi için çok küçük!" #: libparted/labels/mac.c:509 #, c-format msgid "Partition %d has an invalid signature %x." msgstr "%d disk bölümü geçersiz imzaya sahip %x." #: libparted/labels/mac.c:527 #, c-format msgid "Partition %d has an invalid length of 0 bytes!" msgstr "%d disk bölümü 0 baytlık geçersiz uzunluÄŸa sahip!" #: libparted/labels/mac.c:558 msgid "The data region doesn't start at the start of the partition." msgstr "Veri bölgesi, disk bölümünün başından baÅŸlamıyor" #: libparted/labels/mac.c:575 msgid "The boot region doesn't start at the start of the partition." msgstr "Önyükleme bölgesi, disk bölümünün başından baÅŸlamıyor" #: libparted/labels/mac.c:589 msgid "The partition's boot region doesn't occupy the entire partition." msgstr "Disk bölümünün önyükleme bölgesi tüm disk bölümünü kaplamıyor." #: libparted/labels/mac.c:600 msgid "The partition's data region doesn't occupy the entire partition." msgstr "Disk bölümünün veri bölgesi tüm disk bölümünü kaplamıyor." #: libparted/labels/mac.c:653 #, c-format msgid "" "Weird block size on device descriptor: %d bytes is not divisible by 512." msgstr "Aygıt tanımlayıcısında tuhaf blok boyutu: %d bayt, 512'ye bölünemiyor." #: libparted/labels/mac.c:666 #, c-format msgid "" "The driver descriptor says the physical block size is %d bytes, but Linux " "says it is %d bytes." msgstr "" "Sürücü tanımlayıcısı fiziksel blok boyutunun %d bayt olduÄŸunu, Linux %d bayt " "olduÄŸunu bildiriyor.." #: libparted/labels/mac.c:720 msgid "No valid partition map found." msgstr "Geçerli disk bölümü eÅŸlemi bulunamadı." #: libparted/labels/mac.c:782 #, c-format msgid "" "Conflicting partition map entry sizes! Entry 1 says it is %d, but entry %d " "says it is %d!" msgstr "" "ÇeliÅŸen disk bölümü eÅŸlem girdi boyutları! 1. Girdi %1$d olduÄŸunu, ancak " "%2$d. girdi %3$d olduÄŸunu bildiriyor!" #: libparted/labels/mac.c:809 msgid "Weird! There are 2 partitions map entries!" msgstr "Tuhaf!- 2 disk bölümü eÅŸlem girdisi mevcut!" #: libparted/labels/mac.c:1355 msgid "" "Changing the name of a root or swap partition will prevent Linux from " "recognising it as such." msgstr "" "Bir kök ya da takas disk bölümünün adını deÄŸiÅŸtirmek, Linux'un onu olduÄŸu " "gibi tanımasını engelleyecek." #: libparted/labels/mac.c:1459 msgid "Can't add another partition -- the partition map is too small!" msgstr "Bir baÅŸka disk bölümü eklenemiyor -- disk bölüm eÅŸlemi çok küçük!" #: libparted/labels/pc98.c:331 #, c-format msgid "Invalid partition table on %s." msgstr "%s üzerinde geçersiz disk bölümleme tablosu." #: libparted/labels/pc98.c:384 libparted/labels/pc98.c:462 #, c-format msgid "" "Partition %d isn't aligned to cylinder boundaries. This is still " "unsupported." msgstr "" "%d disk bölümü silindir sınırlarına hizalanmamış. Bu hala desteklenmiyor." #: libparted/labels/pc98.c:781 msgid "Can't add another partition." msgstr "Bir baÅŸka disk bölümü eklenemiyor." #: libparted/labels/pt-tools.c:125 #, c-format msgid "" "partition length of %jd sectors exceeds the %s-partition-table-imposed " "maximum of %jd" msgstr "" "%jd sektörün bölümleme uzunluÄŸu %s bölümleme tablosunca zorlanan maksimum " "%jd'i aşıyor" #: libparted/labels/pt-tools.c:138 #, c-format msgid "" "starting sector number, %jd exceeds the %s-partition-table-imposed maximum " "of %jd" msgstr "" "baÅŸlangıç sektör numarası %jd,%s bölümleme tablosunca zorlanan maksimum " "%jd'i aşıyor" #: libparted/labels/rdb.c:170 #, c-format msgid "%s : Bad checksum on block %llu of type %s." msgstr "%1$s : %3$s türündeki %2$llu bloÄŸunda bozuk saÄŸlama toplamı" #: libparted/labels/rdb.c:486 #, c-format msgid "%s : Didn't find rdb block, should never happen." msgstr "%s : rdb bloÄŸu bulunamadı, asla olmamalı(ydı)." #: libparted/labels/rdb.c:572 #, c-format msgid "%s : Loop detected at block %d." msgstr "%1$s : Blok %2$d'de döngü saptandı." #: libparted/labels/rdb.c:591 #, c-format msgid "%s : The %s list seems bad at block %s." msgstr "%1$s : %2$s listesi %3$s bloÄŸunda bozuk görünüyor." #: libparted/labels/rdb.c:690 #, c-format msgid "%s : Failed to list bad blocks." msgstr "%s : Hatalı blokları listeleme baÅŸarısız." #: libparted/labels/rdb.c:698 #, c-format msgid "%s : Failed to list partition blocks." msgstr "%s : Bölümleme bloklarını listeleme baÅŸarısız." #: libparted/labels/rdb.c:706 #, c-format msgid "%s : Failed to list file system blocks." msgstr "%s : Dosya sistemi bloklarını listeleme baÅŸarısız" #: libparted/labels/rdb.c:714 #, c-format msgid "%s : Failed to list boot blocks." msgstr "%s : Önyükleme bloklarını listeleme baÅŸarısız." #: libparted/labels/rdb.c:741 #, c-format msgid "Failed to write partition block at %d." msgstr "%d'ye bölümleme bloÄŸu yazımı baÅŸarısız." #: libparted/labels/rdb.c:1079 msgid "Unable to allocate a partition number." msgstr "Bir disk bölümü numarası atanamadı." #: libparted/labels/sun.c:163 msgid "Corrupted Sun disk label detected." msgstr "Bozuk Sun disk etiketi saptandı." #: libparted/labels/sun.c:316 #, c-format msgid "" "The disk CHS geometry (%d,%d,%d) reported by the operating system does not " "match the geometry stored on the disk label (%d,%d,%d)." msgstr "" "Disk CHS geometrisi (%d,%d,%d), disk etiketinde saklanan geometriye (%d,%d," "%d).uymuyor." #: libparted/labels/sun.c:338 #, c-format msgid "The disk label describes a disk bigger than %s." msgstr "Disk etiketi, %s'den daha büyük bir disk tanımlıyor." #: libparted/labels/sun.c:510 #, c-format msgid "The disk has %d cylinders, which is greater than the maximum of 65536." msgstr "Disk %d silindire sahip ki bu maksimum 65536'dan daha çok." #: libparted/labels/sun.c:853 msgid "" "The Whole Disk partition is the only available one left. Generally, it is " "not a good idea to overwrite this partition with a real one. Solaris may " "not be able to boot without it, and SILO (the sparc boot loader) appreciates " "it as well." msgstr "" "Geride yalnızca Tüm Disk disk bölümü kaldı. Genellikle, bu disk bölümünün " "üzerine bir gerçeÄŸini yazmak iyi bir fikir deÄŸildir. Solaris onsuz " "açılmayabilir, ve SILO da (sparc önyükleyicisi) ona deÄŸer verir." #: libparted/labels/sun.c:868 msgid "Sun disk label is full." msgstr "Sun disk etiketi doldu." #: libparted/labels/vtoc.c:164 msgid "opening of device failed" msgstr "aygıtın açılması baÅŸarısız" #: libparted/labels/vtoc.c:168 msgid "seeking on device failed" msgstr "aygıtta arama baÅŸarısız" #: libparted/labels/vtoc.c:172 msgid "writing to device failed" msgstr "aygıta yazma baÅŸarısız" #: libparted/labels/vtoc.c:176 msgid "reading from device failed" msgstr "aygıttan okuma baÅŸarısız" #: libparted/labels/vtoc.c:277 libparted/labels/vtoc.c:284 msgid "Could not read volume label." msgstr "Oylum etiketi okunamıyor." #: libparted/labels/vtoc.c:303 libparted/labels/vtoc.c:308 msgid "Could not write volume label." msgstr "Oylum etiketi yazılamıyor." #: libparted/labels/vtoc.c:414 msgid "Could not read VTOC labels." msgstr "VTOC etiketleri okunamıyor." #: libparted/labels/vtoc.c:420 msgid "Could not read VTOC FMT1 DSCB." msgstr "VTOC FMT1 DSCB okunamıyor." #: libparted/labels/vtoc.c:427 msgid "Could not read VTOC FMT4 DSCB." msgstr "VTOC FMT4 DSCB okunamıyor." #: libparted/labels/vtoc.c:434 msgid "Could not read VTOC FMT5 DSCB." msgstr "VTOC FMT5 DSCB okunamıyor." #: libparted/labels/vtoc.c:441 msgid "Could not read VTOC FMT7 DSCB." msgstr "VTOC FMT7 DSCB okunamıyor." #: libparted/labels/vtoc.c:461 msgid "Could not write VTOC labels." msgstr "VTOC etiketleri yazılamıyor." #: libparted/labels/vtoc.c:467 msgid "Could not write VTOC FMT1 DSCB." msgstr "VTOC FMT1 DSCB yazılamıyor." #: libparted/labels/vtoc.c:474 msgid "Could not write VTOC FMT4 DSCB." msgstr "VTOC FMT4 DSCB yazılamıyor." #: libparted/labels/vtoc.c:481 msgid "Could not write VTOC FMT5 DSCB." msgstr "VTOC FMT5 DSCB yazılamıyor." #: libparted/labels/vtoc.c:488 msgid "Could not write VTOC FMT7 DSCB." msgstr "VTOC FMT7 DSCB yazılamıyor." #: libparted/libparted.c:237 libparted/libparted.c:252 msgid "Out of memory." msgstr "Yetersiz bellek" #: libparted/unit.c:138 msgid "Cannot get unit size for special unit 'COMPACT'." msgstr "Özel birim 'COMPACT' için birim boyutu alınamıyor." #: libparted/unit.c:384 #, c-format msgid "\"%s\" has invalid syntax for locations." msgstr "\"%s\" yerleÅŸimler için geçersiz yazıma sahip." #: libparted/unit.c:392 #, c-format msgid "The maximum head value is %d." msgstr "Maksimum kafa deÄŸeri %d." #: libparted/unit.c:399 #, c-format msgid "The maximum sector value is %d." msgstr "Maksimum sektör deÄŸeri %d." #: libparted/unit.c:411 libparted/unit.c:543 #, c-format msgid "The location %s is outside of the device %s." msgstr "%1$s yerleÅŸimi %2$s aygıtının dışında." #: libparted/unit.c:525 msgid "Invalid number." msgstr "Geçersiz numara." #: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:56 #: libparted/fs/amiga/asfs.c:70 #, c-format msgid "%s : Failed to allocate partition block\n" msgstr "%s : Bölümleme bloÄŸunu atama baÅŸarısız\n" #: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:69 #: libparted/fs/amiga/asfs.c:82 #, c-format msgid "%s : Failed to allocate block\n" msgstr "%s : BoluÄŸu atama baÅŸarısız\n" #: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:74 #, c-format msgid "%s : Couldn't read boot block %llu\n" msgstr "%s: Önyükleme bloÄŸu %llu okunamıyor\n" #: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:85 #: libparted/fs/amiga/asfs.c:88 libparted/fs/amiga/asfs.c:102 #, c-format msgid "%s : Couldn't read root block %llu\n" msgstr "%s: Kök bloÄŸu %llu okunamıyor\n" #: libparted/fs/amiga/amiga.c:72 #, c-format msgid "%s : Failed to allocate id list element\n" msgstr "%s : Id listesi öğesi atanamıyor\n" #: libparted/fs/amiga/amiga.c:189 #, c-format msgid "%s : Couldn't read block %llu\n" msgstr "%s: %llu bloÄŸu okunamıyor\n" #: libparted/fs/amiga/amiga.c:202 #, c-format msgid "%s : Bad checksum on block %llu of type %s\n" msgstr "%s: %llu bloÄŸunda yanlış saÄŸlama toplamı türü %s\n" #: libparted/fs/amiga/amiga.c:212 #, c-format msgid "%s : Couldn't write block %d\n" msgstr "%s: %d bloÄŸu yazılamıyor\n" #: libparted/fs/amiga/amiga.c:278 #, c-format msgid "%s : Failed to allocate disk_specific rdb block\n" msgstr "%s: Diske özgün rdb bloÄŸu atanamıyor\n" #: libparted/fs/amiga/amiga.c:289 #, c-format msgid "%s : Didn't find rdb block, should never happen\n" msgstr "%s : rdb bloÄŸu bulunamadı, asla olmamalı(ydı)\n" #: libparted/fs/amiga/amiga.c:318 #, c-format msgid "%s : Failed to read partition block %llu\n" msgstr "%s : %llu bölümleme bloÄŸunu okuma baÅŸarısız\n" #: libparted/fs/ext2/ext2.c:87 libparted/fs/ext2/ext2.c:112 msgid "Inconsistent group descriptors!" msgstr "Tutarsız grup tanımlayıcıları!" #: libparted/fs/ext2/ext2.c:91 libparted/fs/ext2/ext2.c:116 msgid "File system full!" msgstr "Dosya sistemi dolu!" #: libparted/fs/ext2/ext2.c:686 msgid "Invalid superblock. Are you sure this is an ext2 file system?" msgstr "" "Geçersiz süperblok. Bunun bir ext2 dosya sistemi olduÄŸundan emin misiniz?" #: libparted/fs/ext2/ext2.c:700 libparted/fs/ext2/ext2_resize.c:658 msgid "File system has errors! You should run e2fsck." msgstr "Dosya sisteminde hatalar var! e2fsck'yi yürütün." #: libparted/fs/ext2/ext2.c:711 msgid "" "File system was not cleanly unmounted! You should run e2fsck. Modifying an " "unclean file system could cause severe corruption." msgstr "" "Dosya sistemi temizce ayrılmadı! e2fsck'lamalısınız. Temiz olmayan dosya " "sistemini deÄŸiÅŸtirmek ciddi sorunlara yol açabilir." #: libparted/fs/ext2/ext2.c:731 msgid "" "File system has an incompatible feature enabled. Compatible features are " "has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs " "or debugfs to remove features." msgstr "" "Dosya sisteminin uyumsuz bir özelliÄŸi etkin durumda. Uyumlu özellikler " "has_journal, dir_index, filetype, sparse_super ve lrage_file'dır. " "Özellikleri silmek için tune2fs ya da debugfs kullanın." #: libparted/fs/ext2/ext2.c:745 msgid "Error allocating buffer cache." msgstr "Tampon önbellek atamada hata." #: libparted/fs/ext2/ext2_inode_relocator.c:114 msgid "" "Found an inode with a incorrect link count. Better go run e2fsck first!" msgstr "" "Yanlış link sayısına sahip bir dosya indeksi bulundu. İyisi mi önce bir " "e2fsck yürütün." #: libparted/fs/ext2/ext2_inode_relocator.c:487 msgid "Not enough free inodes!" msgstr "Yeterli serbest dosya indeksi yok!" #: libparted/fs/ext2/ext2_resize.c:223 msgid "File system is too full to remove a group!" msgstr "Dosya sistemi bir grubu silmek için çok dolu!" #: libparted/fs/ext2/ext2_resize.c:232 msgid "File system has too many allocated inodes to remove a group!" msgstr "Dosya sistemi bir grubu silmek için çok sayıda dosya indeksine sahip!" #: libparted/fs/ext2/ext2_resize.c:491 msgid "adding groups" msgstr "gruplar ekleniyor" #: libparted/fs/ext2/ext2_resize.c:528 #, c-format msgid "Your file system is too full to resize it to %i blocks. Sorry." msgstr "" "Dosya sisteminiz %i bloÄŸa yeniden boyutlandırılmak için çok dolul. Üzgünüm." #: libparted/fs/ext2/ext2_resize.c:538 #, c-format msgid "" "Your file system has too many occupied inodes to resize it to %i blocks. " "Sorry." msgstr "" "Dosya sisteminiz %i bloÄŸa yeniden boyutlandırmak için çok sayıda dolu dosya " "indeksine sahip. Üzgünüm." #: libparted/fs/ext2/ext2_resize.c:666 msgid "File system was not cleanly unmounted! You should run e2fsck." msgstr "Dosya sistemi temizce ayrılmadı! e2fsck çalıştırmalısınız." #: libparted/fs/ext2/ext2_resize.c:675 msgid "" "The file system has the 'dir_index' feature enabled. Parted can only resize " "the file system if it disables this feature. You can enable it later by " "running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'." msgstr "" "Dosya sisteminin 'dir_index' özelliÄŸi etkin halde... Parted, dosya " "sistemini ancak bu özelliÄŸi devre dışı bırakarak yeniden boyutlandırabilir. " "Daha sonra 'tune2fs -O dir_index' ve sonrasında 'e2fsck -fD AYGIT' " "komutlarıyla yeniden etkinleÅŸtirebilirsiniz." #: libparted/fs/ext2/ext2_resize.c:691 msgid "" "A resize operation on this file system will use EXPERIMENTAL code\n" "that MAY CORRUPT it (although no one has reported any such damage yet).\n" "You should at least backup your data first, and run 'e2fsck -f' afterwards." msgstr "" "Bu dosya sistemindeki yeniden boyutlama iÅŸlemi DENEYSEL kod kullanacak\n" "bu, dosya sisteminde BOZULMAYA YOL AÇABİLİR (ÅŸimdiye dek kimse bunu rapor " "etmediyse de).\n" "En azından önce verinizi yedeklemeli, sonra da 'e2fsck -f' yürütmelisiniz." #: libparted/fs/ext2/ext2_block_relocator.c:198 msgid "Cross-linked blocks found! Better go run e2fsck first!" msgstr "Çapraz baÄŸlı bloklar bulundu! İiyisi mi önce gibip e2fsck yürütün!" #: libparted/fs/ext2/ext2_block_relocator.c:537 #, c-format msgid "Block %i has no reference? Weird." msgstr "%i bloÄŸunun baÅŸvurusu yok? Tuhaf" #: libparted/fs/ext2/ext2_block_relocator.c:738 #, c-format msgid "Block %i shouldn't have been marked (%d, %d)!" msgstr "%i bloÄŸu iÅŸaretlenmemiÅŸ olmalıydı (%d, %d)!" #: libparted/fs/ext2/interface.c:226 msgid "" "The ext2 file system passed a basic check. For a more comprehensive check, " "use the e2fsck program." msgstr "" "ext2 dosya sistemi temel bir kontrolü geçti. Daha kapsamlı bir kontrol için " "e2fsck programını kullanınız." #: libparted/fs/ext2/interface.c:243 msgid "Sorry, can't move the start of ext2 partitions yet!" msgstr "Üzgünüm, henüz ext2 disk bölümlerinin baÅŸlangıcı taşınamıyor!" #: libparted/fs/ext2/ext2_buffer.c:82 msgid "Couldn't flush buffer cache!" msgstr "Tampon önbellek boÅŸaltılamadı!" #: libparted/fs/ext2/ext2_mkfs.c:161 msgid "writing per-group metadata" msgstr "grup bazında metaverisi yazılıyor" #: libparted/fs/ext2/ext2_mkfs.c:597 msgid "File system too small for ext2." msgstr "ext2 için dosya sistemi çok küçük." #: libparted/fs/fat/calc.c:135 #, c-format msgid "" "You need %s of free disk space to shrink this partition to this size. " "Currently, only %s is free." msgstr "" "Bu disk bölümünü bu boyuta küçültmek için %1$s'lik boÅŸ yere gereksiniminiz " "var. Halen yalnızca %2$s kadarı boÅŸ." #: libparted/fs/fat/context.c:56 #, c-format msgid "" "Cluster start delta = %d, which is not a multiple of the cluster size %d." msgstr "Küme baÅŸlangıcı delta = %d, küme boyutu olan %d'nin katsayısı deÄŸil." #: libparted/fs/fat/fat.c:310 #, c-format msgid "Partition too big/small for a %s file system." msgstr "Disk bölümü, bir %s dosya sistemi için çok büyük/küçük" #: libparted/fs/fat/fat.c:476 msgid "" "The FATs don't match. If you don't know what this means, then select " "cancel, run scandisk on the file system, and then come back." msgstr "" "FAT'lar uyuÅŸmuyor. EÄŸer bunun ne demek olduÄŸunu bilmiyorsanız, Vazgeç'i " "seçin, dosya sisteminde scandisk'i yürütün, ve buraya dönün." #: libparted/fs/fat/fat.c:516 msgid "There are no possible configurations for this FAT type." msgstr "Bu FAT türü için olası yapılandırma yok." #: libparted/fs/fat/fat.c:528 #, c-format msgid "" "File system doesn't have expected sizes for Windows to like it. Cluster " "size is %dk (%dk expected); number of clusters is %d (%d expected); size of " "FATs is %d sectors (%d expected)." msgstr "" "Dosya sistemi, Windows'un hoÅŸlanması beklenen boyutlara sahip deÄŸil. Küme " "boyutu %dk (%dk beklenirdi); küme sayısı %d (%d beklenirdi); FAT boyutları " "%d sektördür (%d beklenirdi)." #: libparted/fs/fat/fat.c:551 #, c-format msgid "" "File system is reporting the free space as %d clusters, not %d clusters." msgstr "Dosya sistemi boÅŸluÄŸun %d küme olduÄŸunu bildiriyor, %d küme deÄŸil." #: libparted/fs/fat/fat.c:876 msgid "" "GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT " "support will be disabled." msgstr "" "GNU parted yanlış derlenmiÅŸ: FAT önyükleme sektörü 512 bayt olmalı. FAT " "desteÄŸi devre dışı bırakılacak." #: libparted/fs/fat/resize.c:158 msgid "" "There's not enough room in the root directory for all of the files. Either " "cancel, or ignore to lose the files." msgstr "" "Kök dizininde tüm dosyalara yetecek yer yok. Ya iptal edin, ya da dosyaları " "yitirmek için yoksayın." #: libparted/fs/fat/resize.c:299 msgid "Error writing to the root directory." msgstr "Kök dizinine yazmada hata." #: libparted/fs/fat/resize.c:488 msgid "If you leave your file system as FAT16, then you will have no problems." msgstr "EÄŸer dosya sisteminizi FAT16 olarak bırakırsanız sorununuz olmaz." #: libparted/fs/fat/resize.c:491 msgid "" "If you convert to FAT16, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual)." msgstr "" "EÄŸer FAT16'ya dönüştürürseniz ve bu disk bölümüne MS Windows yüklenmiÅŸse, MS " "Windows önyükleyicisini yeniden yüklemelisiniz. EÄŸer bunu yapmak " "isterseniz, Parted el kitabına (ya da dağıtımınızın el kitabına) " "baÅŸvurmalısınız." #: libparted/fs/fat/resize.c:499 msgid "" "If you leave your file system as FAT32, then you will not introduce any new " "problems." msgstr "" "EÄŸer dosya sisteminizi FAT32 olarak bırakırsanız yeni bir sorunla " "karşılaÅŸmayacaksınız." #: libparted/fs/fat/resize.c:503 msgid "" "If you convert to FAT32, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual). Also, " "converting to FAT32 will make the file system unreadable by MS DOS, MS " "Windows 95a, and MS Windows NT." msgstr "" "EÄŸer FAT32'ye dönüştürürseniz ve bu disk bölümüne MS Windows yüklenmiÅŸse, MS " "Windows önyükleyicisini yeniden yüklemelisiniz. EÄŸer bunu yapmak " "isterseniz, Parted el kitabına (ya da dağıtımınızın el kitabına) " "baÅŸvurmalısınız. Ayrıca FAT32'ye dönüşüm, dosya sisteminin MS DOS, MS " "Windows 95a ve MS Windows NT tarafından okunamaz olmasına yol açacaktır." #: libparted/fs/fat/resize.c:517 #, c-format msgid "%s %s %s" msgstr "%s %s %s" #: libparted/fs/fat/resize.c:518 msgid "Would you like to use FAT32?" msgstr "FAT32 kullanmak ister misiniz?" #: libparted/fs/fat/resize.c:549 libparted/fs/fat/resize.c:565 #, c-format msgid "%s %s" msgstr "%s %s" #: libparted/fs/fat/resize.c:550 msgid "" "The file system can only be resized to this size by converting to FAT16." msgstr "" "Dosya sistemi, yalnızca FAT16'ya dönüştürülerek bu boyuta yeniden " "boyutlandırılabilir." #: libparted/fs/fat/resize.c:566 msgid "" "The file system can only be resized to this size by converting to FAT32." msgstr "" "Dosya sistemi, yalnızca FAT32'ye dönüştürülerek bu boyuta yeniden " "boyutlandırılabilir." #: libparted/fs/fat/resize.c:579 msgid "" "GNU Parted cannot resize this partition to this size. We're working on it!" msgstr "" "GNU Parted bu disk bölümünü bu boyuta yeniden boyutlandıramaz. Üzerinde " "çalışıyoruz!" #: libparted/fs/fat/bootsector.c:49 libparted/fs/fat/bootsector.c:56 msgid "File system has an invalid signature for a FAT file system." msgstr "Dosya sistemi, FAT dosya sistemi için geçersiz bir imzaya sahip.." #: libparted/fs/fat/bootsector.c:64 msgid "File system has an invalid sector size for a FAT file system." msgstr "" "Dosya sistemi, FAT dosya sistemi için geçersiz bir sektör boyutuna sahip." #: libparted/fs/fat/bootsector.c:71 msgid "File system has an invalid cluster size for a FAT file system." msgstr "" "Dosya sistemi, FAT dosya sistemi için geçersiz bir küme boyutuna sahip." #: libparted/fs/fat/bootsector.c:78 msgid "" "File system has an invalid number of reserved sectors for a FAT file system." msgstr "" "Dosya sistemi, FAT dosya sistemi için geçersiz bir ayrılmış sektör sayısına " "sahip." #: libparted/fs/fat/bootsector.c:85 msgid "File system has an invalid number of FATs." msgstr "Dosya sistemi, geçersiz FATS sayısına sahip." #: libparted/fs/fat/bootsector.c:139 #, c-format msgid "" "This file system has a logical sector size of %d. GNU Parted is known not " "to work properly with sector sizes other than 512 bytes." msgstr "" "Bu dosya sistemi %d mantıksal sektör boyutuna sahip. GNU Parted'in 512 " "bayttan farklı sektör boyutlarıyla düzgün çalışmadığı bilinmektedir." #: libparted/fs/fat/bootsector.c:164 #, c-format msgid "" "The file system's CHS geometry is (%d, %d, %d), which is invalid. The " "partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the " "file system's CHS geometry will be left unchanged. If you select Fix, the " "file system's CHS geometry will be set to match the partition table's CHS " "geometry." msgstr "" "Dosya sisteminin CHS geometrisi (%d, %d, %d), ki bu geçersiz. Bölümleme " "tablosunun CHS geometrisi (%d ,%d ,%d). Yoksay'ı seçerseniz dosya " "sisteminin CHS geometrisi deÄŸiÅŸtirilmeyecek. Onar'ı seçerseniz dosya " "sisteminin CHS geometrisi, bölümleme tablosunun CHS geometrisiyle uyuÅŸacak " "ÅŸekilde ayarlanacak." #: libparted/fs/fat/bootsector.c:213 msgid "FAT boot sector says logical sector size is 0. This is weird. " msgstr "" "FAT önyükleme sektörü mantıksal sektör boyutunun 0 olduÄŸunu söylüyor. Bu " "tuhaf. " #: libparted/fs/fat/bootsector.c:219 msgid "FAT boot sector says there are no FAT tables. This is weird. " msgstr "FAT önyükleme sektörü FAT tablosunun olmadığını söylüyor. Bu tuhaf. " #: libparted/fs/fat/bootsector.c:225 msgid "FAT boot sector says clusters are 0 sectors. This is weird. " msgstr "" "FAT önyükleme sektörü kümelerin 0 sektör olduÄŸunu söylüyor. Bu tuhaf. " #: libparted/fs/fat/bootsector.c:235 msgid "File system is FAT12, which is unsupported." msgstr "Dosya sistemi FAT12, ki desteklenmiyor." #: libparted/fs/fat/bootsector.c:411 #, c-format msgid "" "The information sector has the wrong signature (%x). Select cancel for now, " "and send in a bug report. If you're desperate, it's probably safe to ignore." msgstr "" "Bilgi sektörü yanlış imzaya sahip. (%x). Åžimdilik vazgeçi seçin ve bir " "yazılım hatası raporu gönderin. Çaresizseniz, yoksaymak muhtemelen güvenli." #: libparted/fs/fat/count.c:144 #, c-format msgid "Bad directory entry for %s: first cluster is the end of file marker." msgstr "%s için bozuk dizin giriÅŸi: ilk küme dosya belirtecinin sonunda." #: libparted/fs/fat/count.c:157 #, c-format msgid "" "Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk." msgstr "" "Bozuk FAT: %s için sonlandırılmamış zincir. dosfsck ya da scandisk " "yürütmelisiniz." #: libparted/fs/fat/count.c:166 #, c-format msgid "" "Bad FAT: cluster %d outside file system in chain for %s. You should run " "dosfsck or scandisk." msgstr "" "Bozuk FAT: %d kümesi %s için dosya sistemi zincirinin dışında. dosfsck ya " "da scandisk yürütmelisiniz." #: libparted/fs/fat/count.c:176 #, c-format msgid "" "Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or " "scandisk." msgstr "" "Bozuk FAT: %d kümesi %s için çapraz baÄŸlı. dosfsck ya da scandisk " "yürütmelisiniz." #: libparted/fs/fat/count.c:195 #, c-format msgid "%s is %dk, but it has %d clusters (%dk)." msgstr "%s %dkdır, fakat %d kümeye (%dk) sahip." #: libparted/fs/fat/count.c:258 #, c-format msgid "" "The file %s is marked as a system file. This means moving it could cause " "some programs to stop working." msgstr "" "%s dosyası bir sistem dosyası olarak iÅŸaretlenmiÅŸ. Bu, onu taşımanın bazı " "programların çalışmasını durdurmaya yolaçacağı anlamına gelir." #: libparted/fs/fat/table.c:136 #, c-format msgid "" "FAT %d media %x doesn't match the boot sector's media %x. You should " "probably run scandisk." msgstr "" "FAT %d ortam %x önyükleme sektörünün ortamı %x'le uyuÅŸmamakta. Muhtemelen " "scandisk yürütmelisiniz." #: libparted/fs/fat/table.c:268 #, c-format msgid "fat_table_set: cluster %ld outside file system" msgstr "fat_table_set: %ld kümesi dosya sisteminin dışında" #: libparted/fs/fat/table.c:300 #, c-format msgid "fat_table_get: cluster %ld outside file system" msgstr "fat_table_get: %ld kümesi dosya sisteminin dışında" #: libparted/fs/fat/table.c:342 msgid "fat_table_alloc_cluster: no free clusters" msgstr "fat_table_alloc_cluster: boÅŸ küme yok" #: libparted/fs/linux_swap/linux_swap.c:288 #, c-format msgid "Unrecognised old style linux swap signature '%10s'." msgstr "Tanınmayan ezki tarz linux takas imzası '%10s'." #: libparted/fs/linux_swap/linux_swap.c:331 #, c-format msgid "Unrecognised new style linux swap signature '%10s'." msgstr "Tanınmayan yeni tarz linux takas imzası '%10s'." #: libparted/fs/linux_swap/linux_swap.c:371 #, c-format msgid "Unrecognised swsusp linux swap signature '%9s'." msgstr "Tanınmayan swsusp linux takas imzası '%9s'." #: libparted/fs/linux_swap/linux_swap.c:447 msgid "Too many bad pages." msgstr "Çok sayıda bozuk sayfa." #: libparted/fs/hfs/advfs.c:121 libparted/fs/hfs/advfs_plus.c:121 #: libparted/fs/hfs/reloc.c:414 libparted/fs/hfs/reloc.c:508 #: libparted/fs/hfs/reloc_plus.c:538 libparted/fs/hfs/reloc_plus.c:656 #: libparted/fs/hfs/reloc_plus.c:769 msgid "The file system contains errors." msgstr "Dosya sistemi hatalar içeriyor." #: libparted/fs/hfs/advfs_plus.c:285 msgid "Bad blocks could not be read." msgstr "Hatalı bloklar okunamıyor." #: libparted/fs/hfs/cache.c:137 #, c-format msgid "" "Trying to register an extent starting at block 0x%X, but another one already " "exists at this position. You should check the file system!" msgstr "" "Blok 0x%X'den baÅŸlayacak ÅŸekilde bir aralık kaydedilmeye çalışılıyor, fakat " "bu konumda bir baÅŸkası zaten mevcut. Dosya sistemini kontrol etmelisiniz!" #: libparted/fs/hfs/cache.c:214 #, c-format msgid "" "Trying to move an extent from block Ox%X to block Ox%X, but another one " "already exists at this position. This should not happen!" msgstr "" "Blok Ox%X'den Ox%X'e bir aralık taşınmaya çalışılıyor, fakat bu konumda bir " "baÅŸkası zaten mevcut. Bu olmamalı!" #: libparted/fs/hfs/file.c:143 #, c-format msgid "Could not update the extent cache for HFS file with CNID %X." msgstr "Aralık önbelleÄŸi CNID %X'li HFS dosyası için güncellenemedi." #: libparted/fs/hfs/file.c:180 #, c-format msgid "Trying to read HFS file with CNID %X behind EOF." msgstr "EOF arkasında CNID %X'li HFS dosyası okunmaya çalışılıyor." #: libparted/fs/hfs/file.c:190 libparted/fs/hfs/file.c:220 #, c-format msgid "Could not find sector %lli of HFS file with CNID %X." msgstr "CNID %2$X li HFS dosyasının %1$lli sektörü bulunamadı." #: libparted/fs/hfs/file.c:210 #, c-format msgid "Trying to write HFS file with CNID %X behind EOF." msgstr "EOF arkasında CNID %X'li HFS dosyası yazılmaya çalışılıyor." #: libparted/fs/hfs/file_plus.c:157 #, c-format msgid "Could not update the extent cache for HFS+ file with CNID %X." msgstr "Aralık önbelleÄŸi CNID %X'li HFS+ dosyası için güncellenemedi." #: libparted/fs/hfs/file_plus.c:202 #, c-format msgid "Trying to read HFS+ file with CNID %X behind EOF." msgstr "EOF arkasında CNID %X'li HFS+ dosyası okunmaya çalışılıyor." #: libparted/fs/hfs/file_plus.c:213 libparted/fs/hfs/file_plus.c:256 #, c-format msgid "Could not find sector %lli of HFS+ file with CNID %X." msgstr "CNID %2$X li HFS+ dosyasının %1$lli sektörü bulunamadı." #: libparted/fs/hfs/file_plus.c:245 #, c-format msgid "Trying to write HFS+ file with CNID %X behind EOF." msgstr "EOF arkasında CNID %X'li HFS+ dosyası yazılmaya çalışılıyor." #: libparted/fs/hfs/hfs.c:232 msgid "Sorry, HFS cannot be resized that way yet." msgstr "Üzgünüm, HFS henüz o ÅŸekilde yeniden boyutlandırılamıyor." #: libparted/fs/hfs/hfs.c:262 libparted/fs/hfs/hfs.c:641 msgid "Data relocation has failed." msgstr "Veri yeniden konumlandırılması baÅŸarısız." #: libparted/fs/hfs/hfs.c:281 msgid "Data relocation left some data in the end of the volume." msgstr "Veri yeniden konumladırılması oylumun sonunda bazı verileri bıraktı." #: libparted/fs/hfs/hfs.c:320 msgid "writing HFS Master Directory Block" msgstr "HFS Ana Dizin BloÄŸu yazılıyor" #: libparted/fs/hfs/hfs.c:468 msgid "No valid HFS[+X] signature has been found while opening." msgstr "Açarken, geçerli HFS[+X] imzası bulunamadı." #: libparted/fs/hfs/hfs.c:478 #, c-format msgid "Version %d of HFS+ isn't supported." msgstr "HFS+'in %d sürümü desteklenmiyor." #: libparted/fs/hfs/hfs.c:489 #, c-format msgid "Version %d of HFSX isn't supported." msgstr "HFSX'in %d sürümü desteklenmiyor." #: libparted/fs/hfs/hfs.c:672 msgid "Data relocation left some data at the end of the volume." msgstr "Veri yeniden konumladırılması oylumun sonunda bazı verileri bıraktı." #: libparted/fs/hfs/hfs.c:720 msgid "Error while writing the allocation file." msgstr "Atama dosyasına yazmada hata." #: libparted/fs/hfs/hfs.c:735 msgid "Error while writing the compatibility part of the allocation file." msgstr "Atama dosyasının uyumluluk bölümüne yazmada hata." #: libparted/fs/hfs/hfs.c:750 msgid "writing HFS+ Volume Header" msgstr "HFS+ Oylum BaÅŸlığı yazılıyor" #: libparted/fs/hfs/hfs.c:850 msgid "An error occurred while looking for the mandatory bad blocks file." msgstr "Zorunlu hatalı bloklar dosyası aranırken bir hata oluÅŸtu." #: libparted/fs/hfs/hfs.c:904 msgid "" "It seems there is an error in the HFS wrapper: the bad blocks file doesn't " "contain the embedded HFS+ volume." msgstr "" "HFS sarmalayıcısında hata var gibi görünüyor: hatalı blok dosyası, gömülü HFS" "+ oylumunu içermiyor." #: libparted/fs/hfs/hfs.c:940 msgid "Sorry, HFS+ cannot be resized that way yet." msgstr "Üzgünüm, HFS+ henüz o ÅŸekilde yeniden boyutlandırılamıyor." #: libparted/fs/hfs/hfs.c:975 msgid "shrinking embedded HFS+ volume" msgstr "gömülü HFS+ oylumu küçültülüyor" #: libparted/fs/hfs/hfs.c:991 msgid "Resizing the HFS+ volume has failed." msgstr "HFS+ oylumunun yeniden boyutlandırılması baÅŸarısız." #: libparted/fs/hfs/hfs.c:998 msgid "shrinking HFS wrapper" msgstr "HFS sarmalayıcısı küçültülüyor" #: libparted/fs/hfs/hfs.c:1007 msgid "Updating the HFS wrapper has failed." msgstr "HFS sarmalayıcısının göncellenmesi baÅŸarısız." #: libparted/fs/hfs/hfs.c:1109 libparted/fs/hfs/hfs.c:1194 #, c-format msgid "" "This is not a real %s check. This is going to extract special low level " "files for debugging purposes." msgstr "" "Bu geçek bir %s kontrolü deÄŸil. Hata ayıklama amacıyla düşük düzey dosyalar " "özütlenecek." #: libparted/fs/hfs/journal.c:155 msgid "Bad block list header checksum." msgstr "Hatalı blok liste baÅŸlığı saÄŸlama toplamı" #: libparted/fs/hfs/journal.c:168 #, c-format msgid "" "Invalid size of a transaction block while replaying the journal (%i bytes)." msgstr "Günlük tekrar okunurken geçersiz bir iÅŸlem boyut bloÄŸu (%i bayt)." #: libparted/fs/hfs/journal.c:260 msgid "" "Journal stored outside of the volume are not supported. Try to desactivate " "the journal and run Parted again." msgstr "" "Oylum dışında depolanan günlükler desteklenmiyor. Günlüğü etkisiz kılmayı " "ve Parted'ı yeniden çalıştırmayı deneyin." #: libparted/fs/hfs/journal.c:271 msgid "Journal offset or size is not multiple of the sector size." msgstr "Günlük baÅŸlangıcı ya da boyutu sektör boyutunun katı deÄŸil." #: libparted/fs/hfs/journal.c:292 msgid "Incorrect magic values in the journal header." msgstr "Günlük baÅŸlığında geçersiz sihirli deÄŸerler." #: libparted/fs/hfs/journal.c:302 msgid "Journal size mismatch between journal info block and journal header." msgstr "Günlük bilgi bloÄŸu ve baÅŸlığı arasında günlük boyutu örtüşmüyor." #: libparted/fs/hfs/journal.c:314 msgid "Some header fields are not multiple of the sector size." msgstr "Bazı baÅŸlık alanları sektör boyutunun katı deÄŸil." #: libparted/fs/hfs/journal.c:323 msgid "" "The sector size stored in the journal is not 512 bytes. Parted only " "supports 512 bytes length sectors." msgstr "" "Günlükte kayıtlı sektör boyutu 512 bayt deÄŸil. Parted yalnızca 512 bayt " "uzunluktaki sektörleri destekler." #: libparted/fs/hfs/journal.c:335 msgid "Bad journal checksum." msgstr "Bozuk günlük saÄŸlama toplamı." #: libparted/fs/hfs/journal.c:353 msgid "" "The journal is not empty. Parted must replay the transactions before " "opening the file system. This will modify the file system." msgstr "" "Günlük boÅŸ. Parted, dosya sistemini açmadan iÅŸlemleri yinelemeli. Bu, " "dosya sistemini deÄŸiÅŸtirecek." #: libparted/fs/hfs/journal.c:381 msgid "" "The volume header or the master directory block has changed while replaying " "the journal. You should restart Parted." msgstr "" "Günlük yinelenirken ana dizin bloÄŸunun oylum baÅŸlığı deÄŸiÅŸti. Parted'ı " "yeniden baÅŸlatmalısınız." #: libparted/fs/hfs/probe.c:51 #, c-format msgid "" "Parted can't use HFS file systems on disks with a sector size not equal to " "%d bytes." msgstr "" "Parted sektör boyutu %d bayta eÅŸit olmayan disklerde HFS dosya sistemi " "kullanamaz." #: libparted/fs/hfs/reloc.c:151 libparted/fs/hfs/reloc_plus.c:155 msgid "An extent has not been relocated." msgstr "Bir aralık yeniden konumlanmadı." #: libparted/fs/hfs/reloc.c:251 libparted/fs/hfs/reloc_plus.c:307 msgid "" "A reference to an extent comes from a place it should not. You should check " "the file system!" msgstr "" "Bir aralığın baÅŸvurusu gelmemesi gereken bir yerden geliyor. Dosya " "sistemini kontrol etmelisiniz!" #: libparted/fs/hfs/reloc.c:381 msgid "This HFS volume has no catalog file. This is very unusual!" msgstr "Bu HFS oylumunun katalog dosyası yok. Bu çok sıradışı!" #: libparted/fs/hfs/reloc.c:475 msgid "This HFS volume has no extents overflow file. This is quite unusual!" msgstr "Bu HFS oylumunun aralık taÅŸması dosyası yok. Bu oldukça sıradışı!" #: libparted/fs/hfs/reloc.c:517 libparted/fs/hfs/reloc_plus.c:666 msgid "" "The extents overflow file should not contain its own extents! You should " "check the file system." msgstr "" "Aralık taÅŸması dosyası, kendi aralıklarını içermemeli! Dosya sistemini " "kontrol etmelisiniz." #: libparted/fs/hfs/reloc.c:574 libparted/fs/hfs/reloc_plus.c:844 msgid "Could not cache the file system in memory." msgstr "Dosya sistemi önbelleÄŸe alınamıyor." #: libparted/fs/hfs/reloc.c:635 libparted/fs/hfs/reloc_plus.c:905 msgid "Bad blocks list could not be loaded." msgstr "Hatalı blok listesi yüklenemedi." #: libparted/fs/hfs/reloc.c:649 libparted/fs/hfs/reloc_plus.c:921 msgid "An error occurred during extent relocation." msgstr "Aralık yeniden konumlandırılması sırasında bir hata oluÅŸtu." #: libparted/fs/hfs/reloc_plus.c:494 msgid "This HFS+ volume has no catalog file. This is very unusual!" msgstr "Bu HFS+ oylumunun katalog dosyası yok. Bu çok sıradışı!" #: libparted/fs/hfs/reloc_plus.c:617 msgid "This HFS+ volume has no extents overflow file. This is quite unusual!" msgstr "Bu HFS+ oylumunun aralık taÅŸması dosyası yok. Bu oldukça sıradışı!" #: parted/parted.c:123 msgid "displays this help message" msgstr "bu yardım mesajını görüntüler" #: parted/parted.c:124 msgid "lists partition layout on all block devices" msgstr "tüm blok aygıtların bölümleme yerleÅŸimlerini listeler" #: parted/parted.c:125 msgid "displays machine parseable output" msgstr "makinece ayrıştırılabilir çıktıyı gösterir" #: parted/parted.c:126 msgid "never prompts for user intervention" msgstr "kullanıcı müdahalesi için asla istemde bulunmaz" #: parted/parted.c:127 msgid "displays the version" msgstr "sürümü görüntüler" #: parted/parted.c:128 msgid "alignment for new partitions" msgstr "yeni disk bölümleri için hizalama" #: parted/parted.c:140 msgid "" "NUMBER is the partition number used by Linux. On MS-DOS disk labels, the " "primary partitions number from 1 to 4, logical partitions from 5 onwards.\n" msgstr "" "NUMBER, Linux tarafından kullanılan disk bölümü numarasıdır. Msdos disk " "etiketlerinde birincil disk bölümü numarası 1-4 arası, mantıksal disk " "bölümleri de 5 ve üstüdür.\n" #: parted/parted.c:143 msgid "LABEL-TYPE is one of: " msgstr "LABEL-TYPE ÅŸunlardan biridir: " #: parted/parted.c:144 msgid "FLAG is one of: " msgstr "FLAG ÅŸunlardan biridir: " #: parted/parted.c:145 msgid "UNIT is one of: " msgstr "UNIT ÅŸunlardan biridir: " #: parted/parted.c:146 msgid "desired alignment: minimum or optimal" msgstr "arzulanan hizalama: minimum ya da optimal" #: parted/parted.c:147 msgid "PART-TYPE is one of: primary, logical, extended\n" msgstr "PART-TYPE ÅŸunlardan biridir: birincil, mantıksal, ek\n" #: parted/parted.c:149 msgid "FS-TYPE is one of: " msgstr "FS-TYPE ÅŸunlardan biridir: " #: parted/parted.c:150 msgid "" "START and END are disk locations, such as 4GB or 10%. Negative values count " "from the end of the disk. For example, -1s specifies exactly the last " "sector.\n" msgstr "" "START ve END disk konumlarıdır, 4GB ya da %10 gibi. Eksi deÄŸerler, diskin " "sonuna uzaklığı belirtir. ÖrneÄŸin -1s tam olarak son sektörü belirtir.\n" #: parted/parted.c:153 msgid "STATE is one of: on, off\n" msgstr "STATE ÅŸunlardan biridir: açık, kapalı\n" #: parted/parted.c:154 msgid "DEVICE is usually /dev/hda or /dev/sda\n" msgstr "DEVICE sıklıkla /dev/hda ya da /dev/sda'dır\n" #: parted/parted.c:155 msgid "NAME is any word you want\n" msgstr "NAME istediÄŸiniz herhangi bir sözcüktür\n" #: parted/parted.c:156 msgid "The partition must have one of the following FS-TYPEs: " msgstr "Disk bölümü aÅŸağıdaki FS-TYPE'larından birine sahip olmalıdır: " #: parted/parted.c:160 msgid "" "Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n" "This program is free software, covered by the GNU General Public License.\n" "\n" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" msgstr "" "Telifhakkı (C) 1998 - 2006 Özgür Yazılım KuruluÅŸu, A.Åž.\n" "Bu program, GNU Genel Kamu Lisansı'nca kapsanan özgür yazılımdır.\n" "\n" "Bu program, yararlı olacağı ümidiyle dağıtılmış olup, SATILABİLİRLİK ya da\n" "BELLİ BİR AMACA UYGUNLUK garantileri de dahil olmak üzere\n" "HERHANGİ BİR GARANTİ içermez. Daha fazla ayrıntı için\n" "GNU Genel Kamu Lisansı'na bakınız.\n" "\n" #: parted/parted.c:208 #, c-format msgid "%0.f%%\t(time left %.2d:%.2d)" msgstr "%0.f%%\t(kalan süre %.2d:%.2d)" #: parted/parted.c:227 #, c-format msgid "" "Partition %s is being used. You must unmount it before you modify it with " "Parted." msgstr "" "%s disk bölümü kullanılıyor. Parted'la deÄŸiÅŸtirmeden önce ayırmalısınız." #: parted/parted.c:245 #, c-format msgid "Partition(s) on %s are being used." msgstr "%s üzerindeki disk bölümü(leri) kullanılıyor." #: parted/parted.c:257 msgid "" "The existing file system will be destroyed and all data on the partition " "will be lost. Do you want to continue?" msgstr "" "Mevcut dosya sistemi silinecek ve disk bölümündeki tüm veri kaybolacak. " "Devam etmek istiyor musunuz?" #: parted/parted.c:269 #, c-format msgid "" "The existing disk label on %s will be destroyed and all data on this disk " "will be lost. Do you want to continue?" msgstr "" "%s üzerindeki mevcut disk etiketi silinecek ve bu disk üzerindeki tüm veri " "kaybolacak. Devam etmek istiyor musunuz?" #: parted/parted.c:487 #, c-format msgid "" "WARNING: you are attempting to use %s to operate on (%s) a file system.\n" "%s's file system manipulation code is not as robust as what you'll find in\n" "dedicated, file-system-specific packages like e2fsprogs. We recommend\n" "you use %s only to manipulate partition tables, whenever possible.\n" "Support for performing most operations on most types of file systems\n" "will be removed in an upcoming release.\n" msgstr "" "UYARI: (%s) dosya sistemi üzerinde iÅŸlem yapmak üzere %s kullanma " "giriÅŸiminde bulunuyorsunuz.\n" "%s'nin dosya sistemi iÅŸleme kodu, e2fsprogs gibi adanmış, dosya sistemine " "özgün\n" "paketlerde bulabileceÄŸiniz kadar saÄŸlam deÄŸildir. Biz, %s 'i mümkünse " "yalnızca\n" "bölümleme tablolarını iÅŸlemek için kullanmanızı öneririz.\n" "Gelecek bir sürümde dosya sistemleri üzerinde yapılabilen iÅŸlemler ve " "türlerine\n" "verilen destek kaldırılacaktır.\n" #: parted/parted.c:508 parted/parted.c:702 parted/parted.c:1179 #: parted/parted.c:1263 parted/parted.c:1935 parted/parted.c:2016 #: parted/parted.c:2088 parted/parted.c:2122 msgid "Partition number?" msgstr "Disk bölümü numarası?" #: parted/parted.c:551 msgid "Source device?" msgstr "Kaynak aygıtı?" #: parted/parted.c:555 msgid "Source partition number?" msgstr "Kaynak disk bölümü numarası?" #: parted/parted.c:560 msgid "Can't copy an extended partition." msgstr "Ek disk bölümleri kopyalanamıyor." #: parted/parted.c:566 msgid "Destination partition number?" msgstr "Hedef disk bölümü numarası?" #: parted/parted.c:655 msgid "New disk label type?" msgstr "Yeni disk etiketi türü?" #: parted/parted.c:706 parted/parted.c:788 parted/parted.c:1000 msgid "File system type?" msgstr "Dosya sistemi türü?" #: parted/parted.c:762 parted/parted.c:983 msgid "Partition type?" msgstr "Disk bölümü türü?" #: parted/parted.c:780 parted/parted.c:990 parted/parted.c:1266 msgid "Partition name?" msgstr "Disk bölümü adı?" #: parted/parted.c:794 parted/parted.c:1002 parted/parted.c:1194 #: parted/parted.c:1883 parted/parted.c:1944 msgid "Start?" msgstr "BaÅŸlangıç?" #: parted/parted.c:796 parted/parted.c:1005 parted/parted.c:1197 #: parted/parted.c:1885 parted/parted.c:1946 msgid "End?" msgstr "BitiÅŸ?" #: parted/parted.c:862 parted/parted.c:1066 #, c-format msgid "" "You requested a partition from %s to %s.\n" "The closest location we can manage is %s to %s.%s" msgstr "" "%1$s'den %2$s'e bir bölüm istediniz.\n" "BecerebildiÄŸimiz buna en yakın konum %3$s'den %4$s.%5$s'e" #: parted/parted.c:867 parted/parted.c:1071 msgid "" "\n" "Is this still acceptable to you?" msgstr "" "\n" "Bu sizin için hala kabul edilebilir mi?" #: parted/parted.c:889 parted/parted.c:1093 msgid "The resulting partition is not properly aligned for best performance." msgstr "" "Ortaya çıkan disk bölümü en iyi performansı elde etmek için ayarlanmamış." #: parted/parted.c:995 msgid "An extended partition cannot hold a file system. Did you want mkpart?" msgstr "Bir ek disk bölümünün dosya sistemi olamaz. mkpart mı istediniz?" #: parted/parted.c:1185 msgid "Can't move an extended partition." msgstr "Bir ek disk bölümü taşınamaz." #: parted/parted.c:1214 msgid "Can't move a partition onto itself. Try using resize, perhaps?" msgstr "" "Bir disk bölümü kendi üzerine taşınamaz. Belki yeniden boyutlandırmayı " "dener misiniz?" #: parted/parted.c:1360 #, c-format msgid "Minor: %d\n" msgstr "Minor: %d\n" #: parted/parted.c:1361 #, c-format msgid "Flags: %s\n" msgstr "Bayraklar: %s\n" #: parted/parted.c:1362 #, c-format msgid "File System: %s\n" msgstr "Dosya Sistemi: %s\n" #: parted/parted.c:1363 msgid "Size: " msgstr "Boyut: " #: parted/parted.c:1368 msgid "Minimum size: " msgstr "Minimum boyut: " #: parted/parted.c:1371 msgid "Maximum size: " msgstr "Maksimum boyut: " #: parted/parted.c:1504 #, c-format msgid "Model: %s (%s)\n" msgstr "Model: %s (%s)\n" #: parted/parted.c:1506 #, c-format msgid "Disk %s: %s\n" msgstr "Disk %1$s: %2$s\n" #: parted/parted.c:1507 #, c-format msgid "Sector size (logical/physical): %lldB/%lldB\n" msgstr "Sektör boyutu (mantıksal/fiziksel): %lldB/%lldB\n" #: parted/parted.c:1525 #, c-format msgid "BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s.\n" msgstr "" "BIOS silindiri, kafa, sektör geometrisi: %d,%d,%d. Herbir silindir %s'tir.\n" #: parted/parted.c:1534 #, c-format msgid "Partition Table: %s\n" msgstr "Disk bölümü Tablosu: %s\n" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Number" msgstr "Numara" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Start" msgstr "BaÅŸlangıç" #: parted/parted.c:1550 parted/parted.c:1553 msgid "End" msgstr "Son" #: parted/parted.c:1553 msgid "Size" msgstr "Boyut" #: parted/parted.c:1557 msgid "Type" msgstr "Tür" #: parted/parted.c:1559 msgid "File system" msgstr "Dosya sistemi" #: parted/parted.c:1562 msgid "Name" msgstr "İsim" #: parted/parted.c:1564 msgid "Flags" msgstr "Bayraklar" #: parted/parted.c:1621 msgid "Free Space" msgstr "BoÅŸ Alan" #: parted/parted.c:1782 #, c-format msgid "" "A %s %s partition was found at %s -> %s. Do you want to add it to the " "partition table?" msgstr "" "%3$s -> %4$s'de bir %1$s %2$s disk bölümü bulundu. Bunu disk bölümü " "tablosuna eklemeyi ister misiniz?" #: parted/parted.c:1821 msgid "searching for file systems" msgstr "dosya" #: parted/parted.c:2041 msgid "New device?" msgstr "Yeni aygıt?" #: parted/parted.c:2086 msgid "alignment type(min/opt)" msgstr "hizalama türü(min/opt)" #: parted/parted.c:2093 #, c-format msgid "%d aligned\n" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d not aligned\n" msgstr "" #: parted/parted.c:2124 msgid "Flag to Invert?" msgstr "Tersine çevirmek üzere bayrakla?" #: parted/parted.c:2129 msgid "New state?" msgstr "Yeni durum?" #: parted/parted.c:2166 msgid "Unit?" msgstr "Birim?" #: parted/parted.c:2348 msgid "align-check" msgstr "align-check" #: parted/parted.c:2351 msgid "" "align-check TYPE N check partition N for TYPE(min|" "opt) alignment" msgstr "" "align-check TÜR N disk bölümü N'yi hiza TÜRü(min|opt) " "için kontrol et" #: parted/parted.c:2359 msgid "check" msgstr "check" #: parted/parted.c:2362 msgid "" "check NUMBER do a simple check on the file system" msgstr "" "check NUMBER dosya sistemi üzerinde basit bir kontrol yap" #: parted/parted.c:2368 msgid "cp" msgstr "cp" #: parted/parted.c:2371 msgid "" "cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another " "partition" msgstr "" "cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER dosya sistemini bir baÅŸka disk " "bölümüne kopyala" #: parted/parted.c:2377 msgid "help" msgstr "help" #: parted/parted.c:2380 msgid "" "help [COMMAND] print general help, or help on " "COMMAND" msgstr "" "help [COMMAND] genel yardımı ya da KOMUT yardımını " "yazdırır" #: parted/parted.c:2386 msgid "mklabel" msgstr "mklabel" #: parted/parted.c:2386 msgid "mktable" msgstr "mktable" #: parted/parted.c:2389 msgid "" "mklabel,mktable LABEL-TYPE create a new disklabel (partition " "table)" msgstr "" "mklabel,mktable LABEL-TYPE yeni bir disk etiketi (disk bölümü " "tablosu) oluÅŸtur" #: parted/parted.c:2395 msgid "mkfs" msgstr "mkfs" #: parted/parted.c:2398 msgid "" "mkfs NUMBER FS-TYPE make a FS-TYPE file system on " "partition NUMBER" msgstr "" "mkfs NUMBER FS-TYPE NUMBER disk bölümü üzerinde FS-TYPE dosya " "sistemini yap" #: parted/parted.c:2404 msgid "mkpart" msgstr "mkpart" #: parted/parted.c:2407 msgid "mkpart PART-TYPE [FS-TYPE] START END make a partition" msgstr "mkpart PART-TYPE [FS-TYPE] START END bir disk bölümü yap" #: parted/parted.c:2413 msgid "" "'mkpart' makes a partition without creating a new file system on the " "partition. FS-TYPE may be specified to set an appropriate partition ID.\n" msgstr "" "mkpart, disk bölümü üzerinde yeni bir dosya sistemi oluÅŸturmadan bir disk " "bölümü yapar. DS-TÜRÜ, uygun bir disk bölümü ID atamak için " "belirtilebilir.\n" "\n" #: parted/parted.c:2418 msgid "mkpartfs" msgstr "mkpartfs" #: parted/parted.c:2421 msgid "" "mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system" msgstr "" "mkpartfs PART-TYPE FS-TYPE START END dosya sistemi olan bir disk bölümü " "yap" #: parted/parted.c:2427 msgid "move" msgstr "move" #: parted/parted.c:2430 msgid "move NUMBER START END move partition NUMBER" msgstr "move NUMBER START END NUMBER. disk bölümünü taşı" #: parted/parted.c:2435 msgid "name" msgstr "name" #: parted/parted.c:2438 msgid "name NUMBER NAME name partition NUMBER as NAME" msgstr "" "name NUMBER NAME NUMBER. disk bölümünü NAME'le adlandır" #: parted/parted.c:2443 msgid "print" msgstr "print" #: parted/parted.c:2446 msgid "" "print [devices|free|list,all|NUMBER] display the partition table, " "available devices, free space, all found partitions, or a particular " "partition" msgstr "" "print [aygıtlar|boÅŸluk|liste,tümü|NUMARA] bölümleme tablosu, mevcut " "aygıtlar, boÅŸluk, tüm bulunan bölümler ya da belli bir bölümü gösterir" #: parted/parted.c:2451 msgid "" "Without arguments, 'print' displays the entire partition table. However with " "the following arguments it performs various other actions.\n" msgstr "" "Argümansız olduÄŸunda print tüm bölümleme tablosunnu gösterir. AÅŸağıdaki " "argümanlarla kullanıldığında diÄŸer çeÅŸitli eylemleri uygular.\n" #: parted/parted.c:2453 msgid " devices : display all active block devices\n" msgstr " devices : tüm aktif blok aygıtları gösterir\n" #: parted/parted.c:2454 msgid "" " free : display information about free unpartitioned space on the " "current block device\n" msgstr "" " free : mevcut blok aygıt üzerindeki boÅŸ bölümlenmemiÅŸ alan bilgisini " "gösterir\n" #: parted/parted.c:2456 msgid "" " list, all : display the partition tables of all active block devices\n" msgstr "" " list, all : tüm aktif blok aygıtların bölümleme tablolarını gösterir\n" #: parted/parted.c:2457 msgid "" " NUMBER : display more detailed information about this particular " "partition\n" msgstr "" " NUMBER : bu belirtilmiÅŸ bölüm hakkında daha ayrıntılı bilgi gösterir\n" #: parted/parted.c:2462 msgid "quit" msgstr "quit" #: parted/parted.c:2465 msgid "quit exit program" msgstr "quit programdan çık" #: parted/parted.c:2470 msgid "rescue" msgstr "rescue" #: parted/parted.c:2473 msgid "" "rescue START END rescue a lost partition near START " "and END" msgstr "" "rescue START END START ve END arasındaki kayıp disk " "bölümlerini kurtar" #: parted/parted.c:2479 msgid "resize" msgstr "resize" #: parted/parted.c:2482 msgid "" "resize NUMBER START END resize partition NUMBER and its " "file system" msgstr "" "resize NUMBER START END NUMBER. disk bölümünü ve üzerindeki dosya " "sistemini yeniden boyutlandır" #: parted/parted.c:2490 msgid "rm" msgstr "rm" #: parted/parted.c:2493 msgid "rm NUMBER delete partition NUMBER" msgstr "rm NUMBER NUMBER. disk bölümünü sil" #: parted/parted.c:2498 msgid "select" msgstr "select" #: parted/parted.c:2501 msgid "select DEVICE choose the device to edit" msgstr "select DEVICE düzenlenecek aygıtı seç" #: parted/parted.c:2506 msgid "set" msgstr "set" #: parted/parted.c:2509 msgid "" "set NUMBER FLAG STATE change the FLAG on partition NUMBER" msgstr "" "set NUMBER FLAG STATE NUMBER. disk bölümü üzerindeki bayrağı " "deÄŸiÅŸtir" #: parted/parted.c:2515 msgid "toggle" msgstr "seçmece / deÄŸiÅŸtir" #: parted/parted.c:2518 msgid "" "toggle [NUMBER [FLAG]] toggle the state of FLAG on " "partition NUMBER" msgstr "" "toggle [NUMBER [FLAG] NUMBER. disk bölümü üzerindeki " "BAYRAK durumunu deÄŸiÅŸtir" #: parted/parted.c:2524 msgid "unit" msgstr "birim" #: parted/parted.c:2527 msgid "unit UNIT set the default unit to UNIT" msgstr "birim UNIT öntanımlı birimi UNIT'e ayarla" #: parted/parted.c:2532 msgid "version" msgstr "sürüm" #: parted/parted.c:2535 msgid "" "version display the version number and " "copyright information of GNU Parted" msgstr "" "version GNU Parted'in sürüm numarasını ve " "telif hakkı bilgisini görüntüler" #: parted/parted.c:2539 msgid "" "'version' displays copyright and version information corresponding to this " "copy of GNU Parted\n" msgstr "" "sürüm, GNU Parted'in bu kopyasının telif hakkı ve sürüm bilgisini " "görüntüler\n" #: parted/parted.c:2607 #, c-format msgid "Usage: %s [-hlmsv] [-a] [DEVICE [COMMAND [PARAMETERS]]...]\n" msgstr "Kullanım: %s [-hlmsv] [-a] [AYGIT [KOMUT [PARAMETRELER]]...]\n" #: parted/parted.c:2651 msgid "No device found" msgstr "Aygıt bulunamadı" #: parted/parted.c:2688 msgid "WARNING: You are not superuser. Watch out for permissions." msgstr "UYARI: Süper kullanıcı deÄŸilsiniz. İzinlere dikkat edin." #: parted/parted.c:2726 msgid "You may need to update /etc/fstab.\n" msgstr "/etc/fstab'i güncellemeniz gerekebilir.\n" #: parted/ui.c:162 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n" msgstr "" "GNU Parted'a hoÅŸgeldiniz! Komutların bir listesini görmek için 'help' " "yazınız.\n" #: parted/ui.c:165 msgid "" "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n" "Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run " "in\n" "interactive mode.\n" msgstr "" "Kullanım: parted [SEÇENEK]... [AYGIT [KOMUT [PARAMETRELER]...]...]\n" "KOMUTLARI PARAMETRELERle AYGITa uygular. EÄŸer KOMUT(lar) verilmezse,\n" "etkileÅŸimli kipte çalışır.\n" #: parted/ui.c:170 #, c-format msgid "" "\n" "\n" "You found a bug in GNU Parted! Here's what you have to do:\n" "\n" "Don't panic! The bug has most likely not affected any of your data.\n" "Help us to fix this bug by doing the following:\n" "\n" "Check whether the bug has already been fixed by checking\n" "the last version of GNU Parted that you can find at:\n" "\n" "\thttp://ftp.gnu.org/gnu/parted/\n" "\n" "Please check this version prior to bug reporting.\n" "\n" "If this has not been fixed yet or if you don't know how to check,\n" "please visit the GNU Parted website:\n" "\n" "\thttp://www.gnu.org/software/parted\n" "\n" "for further information.\n" "\n" "Your report should contain the version of this release (%s)\n" "along with the error message below, the output of\n" "\n" "\tparted DEVICE unit co print unit s print\n" "\n" "and the following history of commands you entered.\n" "Also include any additional information about your setup you\n" "consider important.\n" msgstr "" "\n" "\n" "GNU Parted'da bir yazılım hatası buldunuz! Yapmanız gereken ÅŸunlardır:\n" "\n" "PaniÄŸe kapılmayın! Yazılım hatası büyük olasılıkla verinizi etkilemedi.\n" "Bu hatayı onarmak için bize ÅŸunları yaparak yardım edin:\n" "\n" "\thttp://ftp.gnu.org/gnu/parted/\n" "\n" "adresinde bulabileceÄŸiniz GNU Parted'in son sürümünü kontrol\n" "ederek hatanın zaten düzeltilmiÅŸ olup olmadığını kontrol edin.\n" "Hatayı rapor etmeden önce lütfen bu sürümü kontrol edin.\n" "\n" "EÄŸer hata onarılmamışsa ya da nasıl kontrol edeceÄŸinizi bilmiyorsanız,\n" "lütfen GNU Parted web sitesini\n" "daha fazla bilgi için ziyaret edin:\n" "\n" "\thttp://www.gnu.org/software/parted\n" "\n" "Raporunuz bu dağıtımın sürüm numarasını (%s)\n" "aÅŸağıdaki hata mesajını,\n" "\n" "\tparted DEVICE unit co print unit s print\n" "\n" "komutunun çıktısını ve aÅŸağıdaki girdiÄŸiniz komut tarihçesini içermelidir.\n" "Ayrıca kurulumunuz hakkında önemli olduÄŸunu düşündüğünüz ek bilgileri\n" "ekleyiniz.\n" #: parted/ui.c:291 msgid "" "\n" "Command History:\n" msgstr "" "\n" "Komut Tarihçesi:\n" #: parted/ui.c:354 msgid "" "\n" "Error: SEGV_MAPERR (Address not mapped to object)\n" msgstr "" "\n" "Hata: SEGV_MAPERR (Adres nesneye eÅŸlenmedi)\n" #: parted/ui.c:360 msgid "" "\n" "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n" msgstr "" "\n" "Hata: SEGV_ACCERR (EÅŸlenmiÅŸ nesne için geçersiz izinler)\n" #: parted/ui.c:365 msgid "" "\n" "Error: A general SIGSEGV signal was encountered.\n" msgstr "" "\n" "Hata: Genel bir SIGSEGV sinyaliyle karşılaşıldı.\n" #: parted/ui.c:389 msgid "" "\n" "Error: FPE_INTDIV (Integer: divide by zero)" msgstr "" "\n" "Hata: FPE_INTDIV (Tamsayı: sıfırla bölünme)" #: parted/ui.c:394 msgid "" "\n" "Error: FPE_INTOVF (Integer: overflow)" msgstr "" "\n" "Hata: FPE_INTOVF (Tamsayı: taÅŸma)" #: parted/ui.c:399 msgid "" "\n" "Error: FPE_FLTDIV (Float: divide by zero)" msgstr "" "\n" "Hata: FPE_FLTDIV (Kayan: sıfırla bölünme)" #: parted/ui.c:404 msgid "" "\n" "Error: FPE_FLTOVF (Float: overflow)" msgstr "" "\n" "Hata: FPE_FLTOVF (Kayan: taÅŸma)" #: parted/ui.c:409 msgid "" "\n" "Error: FPE_FLTUND (Float: underflow)" msgstr "" "\n" "Hata: FPE_FLTUND (Kayan: boÅŸalma)" #: parted/ui.c:414 msgid "" "\n" "Error: FPE_FLTRES (Float: inexact result)" msgstr "" "\n" "Hata: FPE_FLTRES (Kayan: kesin olmayan sonuç)" #: parted/ui.c:419 msgid "" "\n" "Error: FPE_FLTINV (Float: invalid operation)" msgstr "" "\n" "Hata: FPE_FLTINV (Kayan: geçersiz iÅŸlem)" #: parted/ui.c:424 msgid "" "\n" "Error: FPE_FLTSUB (Float: subscript out of range)" msgstr "" "\n" "Hata: FPE_FLTSUB (Kayan: altsimge erim dışı)" #: parted/ui.c:429 msgid "" "\n" "Error: A general SIGFPE signal was encountered." msgstr "" "\n" "Hata: Genel bir SIGFPE sinyaliyle karşılaşıldı." #: parted/ui.c:453 msgid "" "\n" "Error: ILL_ILLOPC (Illegal Opcode)" msgstr "" "\n" "Hata: ILL_ILLOPC (Kuraldışı Opcode)" #: parted/ui.c:458 msgid "" "\n" "Error: ILL_ILLOPN (Illegal Operand)" msgstr "" "\n" "Hata: ILL_ILLOPN (Kuraldışı İşlenen)" #: parted/ui.c:463 msgid "" "\n" "Error: ILL_ILLADR (Illegal addressing mode)" msgstr "" "\n" "Hata: ILL_ILLADR (Kuraldışı adresleme kipi)" #: parted/ui.c:468 msgid "" "\n" "Error: ILL_ILLTRP (Illegal Trap)" msgstr "" "\n" "Hata: ILL_ILLTRP (Kuraldışı Tuzak)" #: parted/ui.c:473 msgid "" "\n" "Error: ILL_PRVOPC (Privileged Opcode)" msgstr "" "\n" "Hata: ILL_PRVOPC (Ayrıcalıklı Opcode)" #: parted/ui.c:478 msgid "" "\n" "Error: ILL_PRVREG (Privileged Register)" msgstr "" "\n" "Hata: ILL_PRVREG (Ayrıcalıklı Yazmaç)" #: parted/ui.c:483 msgid "" "\n" "Error: ILL_COPROC (Coprocessor Error)" msgstr "" "\n" "Hata: ILL_COPROC (EÅŸiÅŸlemci Hatası)" #: parted/ui.c:488 msgid "" "\n" "Error: ILL_BADSTK (Internal Stack Error)" msgstr "" "\n" "Hata: ILL_BADSTK (Dahili Yığın Hatası)" #: parted/ui.c:493 msgid "" "\n" "Error: A general SIGILL signal was encountered." msgstr "" "\n" "Hata: Genel bir SIGILL sinyaliyle karşılaşıldı." #: parted/ui.c:892 #, c-format msgid "invalid token: %s" msgstr "geçersiz andaç: %s" #: parted/ui.c:1048 msgid "Expecting a partition number." msgstr "Bir disk bölümü numarası bekleniyor." #: parted/ui.c:1057 msgid "Partition doesn't exist." msgstr "Disk bölümü yok." #: parted/ui.c:1077 msgid "Expecting a file system type." msgstr "Bir dosya sistemi türü bekleniyor." #: parted/ui.c:1084 #, c-format msgid "Unknown file system type \"%s\"." msgstr "Bilinmeyen dosya sistemi türü \"%s\"." #: parted/ui.c:1104 msgid "Expecting a disk label type." msgstr "Bir disk etiketi türü bekleniyor." #: parted/ui.c:1202 msgid "Can't create any more partitions." msgstr "BaÅŸka disk bölümü oluÅŸturulamıyor." #: parted/ui.c:1212 msgid "Expecting a partition type." msgstr "Bir disk bölümü türü bekleniyor." #: parted/ui.c:1360 msgid "on" msgstr "açık" #: parted/ui.c:1361 msgid "off" msgstr "kapalı" #: parted/ui.c:1378 msgid "optimal" msgstr "optimal" #: parted/ui.c:1379 msgid "minimal" msgstr "minimal" #: parted/ui.c:1512 msgid "OPTIONs:" msgstr "SEÇENEKler:" #: parted/ui.c:1517 msgid "COMMANDs:" msgstr "KOMUTlar:" #: parted/ui.c:1520 #, fuzzy, c-format msgid "" "\n" "Report bugs to %s\n" msgstr "" "\n" "Yazılım hatalarını %s'e bildirin.\n" #: parted/ui.c:1527 #, c-format msgid "Using %s\n" msgstr "%s kullanılıyor\n" #: parted/ui.c:1601 msgid "This command does not make sense in non-interactive mode.\n" msgstr "Bu komut etkileÅŸimsiz kipte anlamsız.\n" #~ msgid "" #~ "WARNING: the kernel failed to re-read the partition table on %s (%s). As " #~ "a result, it may not reflect all of your changes until after reboot." #~ msgstr "" #~ "UYARI: Çekirdek %1$s (%2$s) üzerindeki bölümleme tablosunu yeniden " #~ "okuyamadı. Bunun sonucu olarak, bilgisayarı yeniden baÅŸlatmadan tüm " #~ "deÄŸiÅŸikliklerinizi yansıtmayabilir." #~ msgid "" #~ "Device %s has a logical sector size of %lld. Not all parts of GNU Parted " #~ "support this at the moment, and the working code is HIGHLY EXPERIMENTAL.\n" #~ msgstr "" #~ "%s aygıtının mantıksal sektör boyutu %lld'dir. GNU parted'in tüm " #~ "bölümleri bunu henüz desteklememekte olup çalışan kod OLDUKÇA " #~ "DENEYSELDİR.\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: kuraldışı seçenek -- %c\n" #~ msgid "" #~ "Could not determine minimum io size for %s: %s.\n" #~ "Using the default size (%lld)." #~ msgstr "" #~ "%1$s için minimum girdi/çıktı boyutu belirlenemiyor:%2$s.\n" #~ "Öntanımlı boyut (%3$lld) kullanılacak." #~ msgid "Unable to determine the block size of this dasd" #~ msgstr "Bu dasd'in blok boyutu belirlenemedi" parted-2.3/po/remove-potcdate.sin0000644000000000000000000000066011035473300013751 00000000000000# Sed script that remove the POT-Creation-Date line in the header entry # from a POT file. # # The distinction between the first and the following occurrences of the # pattern is achieved by looking at the hold space. /^"POT-Creation-Date: .*"$/{ x # Test if the hold space is empty. s/P/P/ ta # Yes it was empty. First occurrence. Remove the line. g d bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } parted-2.3/po/LINGUAS0000644000000000000000000000012411400005471011154 00000000000000ca cs da de es fr gl id it ja nl nn pl pt pt_BR ro ru rw sk sv tr uk vi zh_CN zh_TW parted-2.3/po/en@boldquot.header0000644000000000000000000000247111035473300013570 00000000000000# All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # # This catalog furthermore displays the text between the quotation marks in # bold face, assuming the VT100/XTerm escape sequences. # parted-2.3/po/pt_BR.po0000644000000000000000000031607711400005705011516 00000000000000# Brazilian portuguese messages for GNU parted. # Copyright (C) 1999 Free Software Foundation, Inc. # Eliphas Levy Theodoro , 1999. # msgid "" msgstr "" "Project-Id-Version: GNU parted 1.4.21\n" "Report-Msgid-Bugs-To: bug-parted@gnu.org\n" "POT-Creation-Date: 2010-05-28 20:30+0200\n" "PO-Revision-Date: 2001-11-21 09:10-0300\n" "Last-Translator: Eliphas Levy Theodoro \n" "Language-Team: Brazilian Portuguese \n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8-bit\n" #: lib/argmatch.c:133 #, fuzzy, c-format msgid "invalid argument %s for %s" msgstr "Tabela de partições inválida em %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "" #: lib/argmatch.c:153 #, fuzzy, c-format msgid "Valid arguments are:" msgstr "Tabela de partições inválida em %s" #: lib/closeout.c:112 libparted/labels/fdasd.c:107 msgid "write error" msgstr "" #: lib/error.c:181 #, fuzzy msgid "Unknown system error" msgstr "Tipo de sistema de arquivos desconhecido." #: lib/getopt.c:527 lib/getopt.c:543 #, c-format msgid "%s: option '%s' is ambiguous\n" msgstr "" #: lib/getopt.c:576 lib/getopt.c:580 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:589 lib/getopt.c:594 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:637 lib/getopt.c:656 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "" #: lib/getopt.c:694 lib/getopt.c:697 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "Impossível abrir %s - rótulo de disco desconhecido." #: lib/getopt.c:705 lib/getopt.c:708 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "Impossível abrir %s - rótulo de disco desconhecido." #: lib/getopt.c:757 lib/getopt.c:760 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "" #: lib/getopt.c:810 lib/getopt.c:827 lib/getopt.c:1035 lib/getopt.c:1053 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "" #: lib/getopt.c:883 lib/getopt.c:899 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "" #: lib/getopt.c:923 lib/getopt.c:941 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:962 lib/getopt.c:980 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". If the catalog has no translation, #. locale_quoting_style quotes `like this', and #. clocale_quoting_style quotes "like this". #. #. For example, an American English Unicode locale should #. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and #. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION #. MARK). A British English Unicode locale should instead #. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) #. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. #. #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. #: lib/quotearg.c:272 msgid "`" msgstr "" #: lib/quotearg.c:273 msgid "'" msgstr "" #: lib/regcomp.c:134 msgid "Success" msgstr "" #: lib/regcomp.c:137 msgid "No match" msgstr "" #: lib/regcomp.c:140 msgid "Invalid regular expression" msgstr "" #: lib/regcomp.c:143 msgid "Invalid collation character" msgstr "" #: lib/regcomp.c:146 msgid "Invalid character class name" msgstr "" #: lib/regcomp.c:149 msgid "Trailing backslash" msgstr "" #: lib/regcomp.c:152 msgid "Invalid back reference" msgstr "" #: lib/regcomp.c:155 msgid "Unmatched [ or [^" msgstr "" #: lib/regcomp.c:158 msgid "Unmatched ( or \\(" msgstr "" #: lib/regcomp.c:161 msgid "Unmatched \\{" msgstr "" #: lib/regcomp.c:164 msgid "Invalid content of \\{\\}" msgstr "" #: lib/regcomp.c:167 msgid "Invalid range end" msgstr "" #: lib/regcomp.c:170 msgid "Memory exhausted" msgstr "" #: lib/regcomp.c:173 msgid "Invalid preceding regular expression" msgstr "" #: lib/regcomp.c:176 msgid "Premature end of regular expression" msgstr "" #: lib/regcomp.c:179 msgid "Regular expression too big" msgstr "" #: lib/regcomp.c:182 msgid "Unmatched ) or \\)" msgstr "" #: lib/regcomp.c:703 msgid "No previous regular expression" msgstr "" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "" #: lib/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "" #: lib/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "" #: lib/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" #: lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "" #: lib/xstrtol-error.c:63 #, fuzzy, c-format msgid "invalid %s%s argument `%s'" msgstr "Tabela de partições inválida em %s" #: lib/xstrtol-error.c:68 #, fuzzy, c-format msgid "invalid suffix in %s%s argument `%s'" msgstr "Tabela de partições inválida em %s" #: lib/xstrtol-error.c:72 #, fuzzy, c-format msgid "%s%s argument `%s' too large" msgstr "Tabela de partições inválida em %s" #: libparted/arch/beos.c:245 msgid "Disk Image" msgstr "" #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277 #: libparted/arch/linux.c:1519 #, c-format msgid "Error opening %s: %s" msgstr "Erro abrindo %s: %s" #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287 #: libparted/arch/linux.c:1530 #, c-format msgid "Unable to open %s read-write (%s). %s has been opened read-only." msgstr "" "Não posso abrir %s para leitura-gravação (%s). %s foi aberto somente-leitura." #: libparted/arch/beos.c:419 libparted/arch/linux.c:1688 #, c-format msgid "%s during seek for read on %s" msgstr "%s durante procura para leitura em %s" #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564 #: libparted/arch/gnu.c:692 libparted/arch/linux.c:1648 #: libparted/arch/linux.c:1729 #, c-format msgid "%s during read on %s" msgstr "%s durante leitura em %s" #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525 #: libparted/arch/linux.c:1805 #, c-format msgid "Can't write to %s, because it is opened read-only." msgstr "Não posso gravar em %s, pois ela foi aberta como somente-leitura." #: libparted/arch/beos.c:504 libparted/arch/linux.c:1830 #, c-format msgid "%s during seek for write on %s" msgstr "%s durante procura para escrita em %s" #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646 #: libparted/arch/gnu.c:723 libparted/arch/linux.c:1778 #: libparted/arch/linux.c:1872 libparted/arch/linux.c:1944 #, c-format msgid "%s during write on %s" msgstr "%s durante escrita em %s" #: debug/clearfat/clearfat.c:62 partprobe/partprobe.c:137 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "" #: debug/clearfat/clearfat.c:66 #, c-format msgid "" "Usage: %s [OPTION]\n" " or: %s DEVICE MINOR\n" msgstr "" #: debug/clearfat/clearfat.c:69 msgid "" "Clear unused space on a FAT partition (a GNU Parted testing tool).\n" "\n" msgstr "" #: debug/clearfat/clearfat.c:73 msgid " --help display this help and exit\n" msgstr "" #: debug/clearfat/clearfat.c:74 msgid " --version output version information and exit\n" msgstr "" #: debug/clearfat/clearfat.c:76 partprobe/partprobe.c:154 #, c-format msgid "" "\n" "Report bugs to <%s>.\n" msgstr "" #: debug/clearfat/clearfat.c:284 #, c-format msgid "too few arguments" msgstr "" #: debug/clearfat/clearfat.c:289 #, fuzzy, c-format msgid "too many arguments" msgstr "Muitas páginas inválidas." #: debug/clearfat/clearfat.c:297 #, fuzzy, c-format msgid "invalid minor device number: %s" msgstr "Tabela de partições inválida em %s" #: partprobe/partprobe.c:141 #, c-format msgid "Usage: %s [OPTION] [DEVICE]...\n" msgstr "" #: partprobe/partprobe.c:142 msgid "" "Inform the operating system about partition table changes.\n" "\n" " -d, --dry-run do not actually inform the operating system\n" " -s, --summary print a summary of contents\n" " -h, --help display this help and exit\n" " -v, --version output version information and exit\n" msgstr "" #: partprobe/partprobe.c:150 msgid "" "\n" "When no DEVICE is given, probe all partitions.\n" msgstr "" #: libparted/arch/gnu.c:110 #, c-format msgid "Unable to open %s." msgstr "" #: libparted/arch/gnu.c:130 #, fuzzy msgid "Unable to probe store." msgstr "Impossível alinhar a partição." #: libparted/arch/gnu.c:368 #, fuzzy msgid "" "The partition table cannot be re-read. This means you need to reboot before " "mounting any modified partitions. You also need to reinstall your boot " "loader before you reboot (which may require mounting modified partitions). " "It is impossible do both things! So you'll need to boot off a rescue disk, " "and reinstall your boot loader from the rescue disk. Read section 4 of the " "Parted User documentation for more information." msgstr "" "O kernel não pôde reler sua tabela de partições, então você precisa " "reiniciar antes de montar qualquer partição modificada. Voce pode também " "precisar reinstalar seu gerenciador de boot antes de reinicializar (o que " "pode requerer a montagem das partições modificadas). É impossível fazer as " "duas coisas! Então você irá precisar inicializar por um disco de resgate, e " "reinstalar seu gerenciador de boot desde este disco. Leia a seção 4 da " "documentação do usuário do Parted para mais informações." #: libparted/arch/gnu.c:385 #, fuzzy, c-format msgid "" "The partition table on %s cannot be re-read (%s). This means the Hurd knows " "nothing about any modifications you made. You should reboot your computer " "before doing anything with %s." msgstr "" "O kernel não conseguiu reler a tabela de partições de %s (%s). Isto " "significa que o Linux não sabe nada sobre as modificações que você fez. Você " "deve reinicializar seu computador antes de fazer qualquer uso de %s." #: libparted/arch/gnu.c:396 parted/parted.c:2719 msgid "" "You should reinstall your boot loader before rebooting. Read section 4 of " "the Parted User documentation for more information." msgstr "" "Você deve reinstalar seu gerenciador de boot antes de reinicializar. Leia a " "seção 4 da documentação do usuário do Parted para mais informações." #: libparted/arch/gnu.c:788 #, c-format msgid "%s trying to sync %s to disk" msgstr "" #: libparted/arch/linux.c:509 #, c-format msgid "Could not stat device %s - %s." msgstr "Não foi possível obter status do dispositivo %s - %s." #: libparted/arch/linux.c:566 #, fuzzy, c-format msgid "Unable to determine the dm type of %s." msgstr "Impossível determinar tamanho de %s (%s)" #: libparted/arch/linux.c:658 #, c-format msgid "" "Could not determine sector size for %s: %s.\n" "Using the default sector size (%lld)." msgstr "" #: libparted/arch/linux.c:679 #, c-format msgid "" "Could not determine physical sector size for %s.\n" "Using the logical sector size (%lld)." msgstr "" #: libparted/arch/linux.c:728 #, fuzzy, c-format msgid "Unable to determine the size of %s (%s)." msgstr "Impossível determinar tamanho de %s (%s)" #: libparted/arch/linux.c:814 #, c-format msgid "Could not get identity of device %s - %s" msgstr "Não foi possível obter a identificação do dispositivo %s - %s" #: libparted/arch/linux.c:823 msgid "Generic IDE" msgstr "" #: libparted/arch/linux.c:844 #, c-format msgid "" "Device %s has multiple (%d) logical sectors per physical sector.\n" "GNU Parted supports this EXPERIMENTALLY for some special disk label/file " "system combinations, e.g. GPT and ext2/3.\n" "Please consult the web site for up-to-date information." msgstr "" #: libparted/arch/linux.c:1019 #, c-format msgid "Error initialising SCSI device %s - %s" msgstr "Erro inicializando dispositivo SCSI %s - %s" #: libparted/arch/linux.c:1083 #, c-format msgid "" "The device %s has zero length, and can't possibly store a file system or " "partition table. Perhaps you selected the wrong device?" msgstr "" #: libparted/arch/linux.c:1190 #, fuzzy, c-format msgid "" "Unable to determine geometry of file/device %s. You should not use Parted " "unless you REALLY know what you're doing!" msgstr "" "Impossível determinar a geometria do arquivo/dispositivo. Você não deveria " "utilizar o Parted a não ser que você REALMENTE saiba o que está fazendo!" #: libparted/arch/linux.c:1250 msgid "Generic SD/MMC Storage Card" msgstr "" #: libparted/arch/linux.c:1303 msgid "DAC960 RAID controller" msgstr "Controlador RAID DAC960" #: libparted/arch/linux.c:1308 msgid "Promise SX8 SATA Device" msgstr "" #: libparted/arch/linux.c:1313 msgid "ATA over Ethernet Device" msgstr "" #: libparted/arch/linux.c:1319 msgid "IBM S390 DASD drive" msgstr "" #: libparted/arch/linux.c:1325 msgid "IBM iSeries Virtual DASD" msgstr "" #: libparted/arch/linux.c:1330 msgid "Compaq Smart Array" msgstr "Compaq Smart Array" #: libparted/arch/linux.c:1335 msgid "ATARAID Controller" msgstr "Controlador ATARAID" #: libparted/arch/linux.c:1340 msgid "I2O Controller" msgstr "Controlador I2O" #: libparted/arch/linux.c:1345 msgid "User-Mode Linux UBD" msgstr "" #: libparted/arch/linux.c:1358 #, c-format msgid "Linux device-mapper (%s)" msgstr "" #: libparted/arch/linux.c:1369 msgid "Xen Virtual Block Device" msgstr "" #: libparted/arch/linux.c:1374 msgid "Unknown" msgstr "Desconhecido" #: libparted/arch/linux.c:1383 msgid "Virtio Block Device" msgstr "" #: libparted/arch/linux.c:1388 msgid "Linux Software RAID Array" msgstr "" #: libparted/arch/linux.c:1395 msgid "ped_device_new() Unsupported device type" msgstr "ped_device_new() Tipo de dispositivo não suportado" #: libparted/arch/linux.c:1492 libparted/arch/linux.c:1564 #, fuzzy, c-format msgid "Error fsyncing/closing %s: %s" msgstr "Erro abrindo %s: %s" #: libparted/arch/linux.c:1728 #, c-format msgid "end of file while reading %s" msgstr "" #: libparted/arch/linux.c:2365 #, fuzzy, c-format msgid "" "Error informing the kernel about modifications to partition %s -- %s. This " "means Linux won't know about any changes you made to %s until you reboot -- " "so you shouldn't mount it or use it in any way before rebooting." msgstr "" "O kernel não conseguiu reler a tabela de partições de %s (%s). Isto " "significa que o Linux não sabe nada sobre as modificações que você fez. Você " "deve reinicializar seu computador antes de fazer qualquer uso de %s." #: libparted/arch/linux.c:2503 #, fuzzy, c-format msgid "Unable to determine the size and length of %s." msgstr "Impossível determinar tamanho de %s (%s)" #: libparted/arch/linux.c:2528 #, fuzzy, c-format msgid "Failed to add partition %d (%s)" msgstr "Impossível determinar se a partição está montada." #: libparted/arch/linux.c:2555 #, c-format msgid "" "Partition(s) %s on %s have been written, but we have been unable to inform " "the kernel of the change, probably because it/they are in use. As a result, " "the old partition(s) will remain in use. You should reboot now before " "making further changes." msgstr "" #: libparted/arch/linux.c:2681 #, fuzzy, c-format msgid "" "parted was unable to re-read the partition table on %s (%s). This means " "Linux won't know anything about the modifications you made. " msgstr "" "O kernel não conseguiu reler a tabela de partições de %s (%s). Isto " "significa que o Linux não sabe nada sobre as modificações que você fez. Você " "deve reinicializar seu computador antes de fazer qualquer uso de %s." #: libparted/cs/geom.c:162 #, fuzzy, c-format msgid "Can't have the end before the start! (start sector=%jd length=%jd)" msgstr "Não pode ter fim da partição antes do início." #: libparted/cs/geom.c:170 msgid "Can't have a partition outside the disk!" msgstr "Não pode ter uma partição para fora do disco!." #: libparted/cs/geom.c:385 #, fuzzy, c-format msgid "Attempt to write sectors %ld-%ld outside of partition on %s." msgstr "Tentativa de escrever setores %ld-%ld fora da partição em %s" #: libparted/cs/geom.c:425 libparted/fs/linux_swap/linux_swap.c:488 msgid "checking for bad blocks" msgstr "" #: libparted/debug.c:97 #, c-format msgid "Backtrace has %d calls on stack:\n" msgstr "" #: libparted/debug.c:110 #, c-format msgid "Assertion (%s) at %s:%d in function %s() failed." msgstr "" #: libparted/disk.c:193 #, fuzzy, c-format msgid "%s: unrecognised disk label" msgstr "Impossível abrir %s - rótulo de disco desconhecido." #: libparted/disk.c:486 #, fuzzy, c-format msgid "" "This libparted doesn't have write support for %s. Perhaps it was compiled " "read-only." msgstr "Não posso gravar em %s, pois ela foi aberta como somente-leitura." #: libparted/disk.c:631 #, fuzzy, c-format msgid "Partition %d is %s, but the file system is %s." msgstr "A partição é muito pequena para um sistema de arquivos FAT" #: libparted/disk.c:841 msgid "cylinder_alignment" msgstr "" #: libparted/disk.c:847 #, fuzzy, c-format msgid "Unknown disk flag, %d." msgstr "Sinalizador de partição desconhecido, %d." #: libparted/disk.c:1286 #, c-format msgid "%s disk labels do not support extended partitions." msgstr "Rótulos de disco %s não suportam partições extendidas." #: libparted/disk.c:1865 #, c-format msgid "%s disk labels don't support logical or extended partitions." msgstr "Rótulos de disco %s não suportam partições lógicas ou extendidas." #: libparted/disk.c:1878 #, fuzzy msgid "Too many primary partitions." msgstr "Muitas páginas inválidas." #: libparted/disk.c:1887 #, c-format msgid "" "Can't add a logical partition to %s, because there is no extended partition." msgstr "" "Não posso adicionar uma partição lógica em %s, pois não há uma partição " "extendida." #: libparted/disk.c:1911 #, fuzzy, c-format msgid "Can't have more than one extended partition on %s." msgstr "Não se pode haver mais de uma partição extendida em %s" #: libparted/disk.c:1921 #, fuzzy msgid "Can't have logical partitions outside of the extended partition." msgstr "" "Não posso adicionar uma partição lógica fora da partição extendida em %s." #: libparted/disk.c:1946 #, fuzzy, c-format msgid "Can't have a logical partition outside of the extended partition on %s." msgstr "" "Não posso adicionar uma partição lógica fora da partição extendida em %s." #: libparted/disk.c:1956 libparted/disk.c:2015 libparted/disk.c:2193 #, fuzzy msgid "Can't have overlapping partitions." msgstr "Não posso copiar em uma partição sobreposta." #: libparted/disk.c:1964 #, fuzzy msgid "Can't have a primary partition inside an extended partition." msgstr "Não posso adicionar uma partição primária dentro de uma extendida." #: libparted/disk.c:2395 msgid "metadata" msgstr "metadado" #: libparted/disk.c:2397 msgid "free" msgstr "livre" #: libparted/disk.c:2399 parted/ui.c:1193 parted/ui.c:1221 msgid "extended" msgstr "extendida" #: libparted/disk.c:2401 parted/ui.c:1197 parted/ui.c:1225 msgid "logical" msgstr "lógica" #: libparted/disk.c:2403 parted/ui.c:1189 parted/ui.c:1217 msgid "primary" msgstr "primária" #: libparted/disk.c:2419 msgid "boot" msgstr "boot" #: libparted/disk.c:2421 msgid "bios_grub" msgstr "" #: libparted/disk.c:2423 msgid "root" msgstr "root" #: libparted/disk.c:2425 msgid "swap" msgstr "swap" #: libparted/disk.c:2427 msgid "hidden" msgstr "escondida" #: libparted/disk.c:2429 msgid "raid" msgstr "raid" #: libparted/disk.c:2431 msgid "lvm" msgstr "lvm" #: libparted/disk.c:2433 msgid "lba" msgstr "lba" #: libparted/disk.c:2435 msgid "hp-service" msgstr "" #: libparted/disk.c:2437 msgid "palo" msgstr "" #: libparted/disk.c:2439 msgid "prep" msgstr "" #: libparted/disk.c:2441 msgid "msftres" msgstr "" #: libparted/disk.c:2443 msgid "atvrecv" msgstr "" #: libparted/disk.c:2445 msgid "diag" msgstr "" #: libparted/disk.c:2451 #, fuzzy, c-format msgid "Unknown partition flag, %d." msgstr "Sinalizador de partição desconhecido, %d." #: libparted/exception.c:77 msgid "Information" msgstr "Informação" #: libparted/exception.c:78 msgid "Warning" msgstr "Aviso" #: libparted/exception.c:79 msgid "Error" msgstr "Erro" #: libparted/exception.c:80 msgid "Fatal" msgstr "Fatal" #: libparted/exception.c:81 msgid "Bug" msgstr "Bug" #: libparted/exception.c:82 msgid "No Implementation" msgstr "Sem Implementação" #: libparted/exception.c:86 msgid "Fix" msgstr "Arrumar" #: libparted/exception.c:87 msgid "Yes" msgstr "Sim" #: libparted/exception.c:88 msgid "No" msgstr "Não" #: libparted/exception.c:89 msgid "OK" msgstr "OK" #: libparted/exception.c:90 msgid "Retry" msgstr "Repetir" #: libparted/exception.c:91 msgid "Ignore" msgstr "Ignorar" #: libparted/exception.c:92 msgid "Cancel" msgstr "Cancelar" #: libparted/exception.c:132 #, fuzzy, c-format msgid "" "A bug has been detected in GNU Parted. Refer to the web site of parted " "http://www.gnu.org/software/parted/parted.html for more information of what " "could be useful for bug submitting! Please email a bug report to bug-" "parted@gnu.org containing at least the version (%s) and the following " "message: " msgstr "" "Um bug foi detectado no GNU parted. Por favor, envie um relatório de bugpara " "bug-parted@gnu.org contendo a versão (%s) e a mensagem abaixo:" #: libparted/filesys.c:462 msgid "Could not detect file system." msgstr "Não foi possível detectar o sistema de arquivos." #: libparted/filesys.c:473 #, fuzzy msgid "The file system is bigger than its volume!" msgstr "O rótulo de disco descreve um disco maior que %s." #: libparted/filesys.c:481 #, c-format msgid "Support for opening %s file systems is not implemented yet." msgstr "" "O suporte para abrir sistema de arquivos %s não foi implementado ainda." #: libparted/filesys.c:523 #, c-format msgid "Support for creating %s file systems is not implemented yet." msgstr "" "O suporte para criar sistema de arquivos %s não foi implementado ainda." #: libparted/filesys.c:583 #, c-format msgid "Support for checking %s file systems is not implemented yet." msgstr "Suporte para checar sistema de arquivos não implementado para %s." #: libparted/filesys.c:649 msgid "raw block copying" msgstr "" #: libparted/filesys.c:660 #, fuzzy msgid "growing file system" msgstr "Tipo de sistema de arquivos desconhecido." #: libparted/filesys.c:700 msgid "Can't copy onto an overlapping partition." msgstr "Não posso copiar em uma partição sobreposta." #: libparted/filesys.c:722 #, fuzzy, c-format msgid "" "Direct support for copying file systems is not yet implemented for %s. " "However, support for resizing is implemented. Therefore, the file system " "can be copied if the new partition is at least as big as the old one. So, " "either shrink the partition you are trying to copy, or copy to a bigger " "partition." msgstr "" "O suporte direto para cópia de sistemas de arquivos não está implementado " "para %s. Entretanto, o suporte para redimensionamento está. Portanto, o " "sistema de arquivos pode ser copiado se a nova partição for pelo menos tão " "grande quanto a antiga. Então, diminua a partição que você está tentando " "copiar, ou copie para uma partição maior." #: libparted/filesys.c:736 #, c-format msgid "Support for copying %s file systems is not implemented yet." msgstr "Suporte para copiar sistema de arquivos não implementado para %s." #: libparted/filesys.c:774 #, c-format msgid "Support for resizing %s file systems is not implemented yet." msgstr "" "Suporte para redimensionar sistema de arquivos não implementado para %s." #: libparted/fs/reiserfs/reiserfs.c:315 msgid "creating" msgstr "" #: libparted/fs/reiserfs/reiserfs.c:402 #, fuzzy msgid "The file system is in an invalid state. Perhaps it is mounted?" msgstr "Sistema de arquivos tem uma assinatura inválida para um FAT." #: libparted/fs/reiserfs/reiserfs.c:410 msgid "The file system is in old (unresizeable) format." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:416 msgid "Invalid free blocks count. Run reiserfsck --check first." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:431 #, fuzzy msgid "checking" msgstr "check" #: libparted/fs/reiserfs/reiserfs.c:437 msgid "Reiserfs tree seems to be corrupted. Run reiserfsck --check first." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:449 #, fuzzy msgid "" "The reiserfs file system passed a basic check. For a more comprehensive " "check, run reiserfsck --check." msgstr "" "O sistema de arquivos ext2 passou pelo teste básico. Para um teste mais " "compreensivo, utilize o programa e2fsck." #: libparted/fs/reiserfs/reiserfs.c:474 #, fuzzy msgid "Sorry, can't move the start of reiserfs partitions yet." msgstr "Desculpe, não posso mover o início de partições ext2 ainda!" #: libparted/fs/reiserfs/reiserfs.c:490 msgid "Couldn't reopen device abstraction layer for read/write." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:508 libparted/fs/ext2/ext2_resize.c:552 #: libparted/fs/hfs/hfs.c:250 libparted/fs/hfs/hfs.c:629 #, fuzzy msgid "shrinking" msgstr "Aviso" #: libparted/fs/reiserfs/reiserfs.c:520 #, fuzzy msgid "expanding" msgstr "Aviso" #: libparted/fs/reiserfs/reiserfs.c:592 msgid "Couldn't create reiserfs device abstraction handler." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:606 #, c-format msgid "Device is too small for %lu blocks." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:615 msgid "copying" msgstr "" #: libparted/fs/reiserfs/reiserfs.c:682 #, c-format msgid "Couldn't resolve symbol %s. Error: %s." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:704 msgid "GNU Parted found an invalid libreiserfs library." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:715 #, c-format msgid "" "GNU Parted has detected libreiserfs interface version mismatch. Found %d-" "%d, required %d. ReiserFS support will be disabled." msgstr "" #: libparted/labels/aix.c:103 #, fuzzy msgid "Support for reading AIX disk labels is is not implemented yet." msgstr "" "O suporte para criar sistema de arquivos %s não foi implementado ainda." #: libparted/labels/aix.c:114 #, fuzzy msgid "Support for writing AIX disk labels is is not implemented yet." msgstr "" "O suporte para criar sistema de arquivos %s não foi implementado ainda." #: libparted/labels/aix.c:127 #, fuzzy msgid "" "Support for adding partitions to AIX disk labels is not implemented yet." msgstr "" "O suporte para criar sistema de arquivos %s não foi implementado ainda." #: libparted/labels/aix.c:137 #, fuzzy msgid "" "Support for duplicating partitions in AIX disk labels is not implemented yet." msgstr "" "O suporte para criar sistema de arquivos %s não foi implementado ainda." #: libparted/labels/aix.c:155 #, fuzzy msgid "" "Support for setting system type of partitions in AIX disk labels is not " "implemented yet." msgstr "" "O suporte para criar sistema de arquivos %s não foi implementado ainda." #: libparted/labels/aix.c:165 #, fuzzy msgid "Support for setting flags in AIX disk labels is not implemented yet." msgstr "" "O suporte para criar sistema de arquivos %s não foi implementado ainda." #: libparted/labels/bsd.c:568 libparted/labels/dasd.c:783 #: libparted/labels/dos.c:2092 libparted/labels/dvh.c:788 #: libparted/labels/gpt.c:1750 libparted/labels/loop.c:245 #: libparted/labels/mac.c:1424 libparted/labels/pc98.c:749 #: libparted/labels/rdb.c:1051 libparted/labels/sun.c:821 #, fuzzy msgid "Unable to satisfy all constraints on the partition." msgstr "Impossível alinhar a partição." #: libparted/labels/bsd.c:593 #, fuzzy msgid "Unable to allocate a bsd disklabel slot." msgstr "Impossível alocar um slot de rótulo de disco bsd" #: libparted/labels/dasd.c:809 #, fuzzy msgid "Unable to allocate a dasd disklabel slot" msgstr "Impossível alocar um slot de rótulo de disco bsd" #: libparted/labels/dos.c:882 #, fuzzy, c-format msgid "Invalid partition table on %s -- wrong signature %x." msgstr "Tabela de partições inválida em %s - assinatura errada %x" #: libparted/labels/dos.c:910 #, c-format msgid "Invalid partition table - recursive partition on %s." msgstr "Tabela de partições inválida - partição recursiva em %s." #: libparted/labels/dos.c:1420 #, fuzzy msgid "Extended partitions cannot be hidden on msdos disk labels." msgstr "Partições ext2 não podem ser escondidas em rótulos de disco msdos." #: libparted/labels/dos.c:2074 msgid "Parted can't resize partitions managed by Windows Dynamic Disk." msgstr "" #: libparted/labels/dvh.c:201 #, fuzzy, c-format msgid "%s has no extended partition (volume header partition)." msgstr "" "Não posso redimensionar uma partição extendida, sem excluir uma partição " "lógica." #: libparted/labels/dvh.c:327 msgid "Checksum is wrong, indicating the partition table is corrupt." msgstr "" #: libparted/labels/dvh.c:632 #, fuzzy msgid "Only primary partitions can be root partitions." msgstr "Não posso adicionar uma partição primária dentro de uma extendida." #: libparted/labels/dvh.c:646 #, fuzzy msgid "Only primary partitions can be swap partitions." msgstr "Não posso adicionar uma partição primária dentro de uma extendida." #: libparted/labels/dvh.c:660 msgid "Only logical partitions can be a boot file." msgstr "" #: libparted/labels/dvh.c:737 #, c-format msgid "" "failed to set dvh partition name to %s:\n" "Only logical partitions (boot files) have a name." msgstr "" #: libparted/labels/dvh.c:830 #, fuzzy msgid "Too many primary partitions" msgstr "Muitas páginas inválidas." #: libparted/labels/fdasd.c:98 msgid "open error" msgstr "" #: libparted/labels/fdasd.c:101 msgid "seek error" msgstr "" #: libparted/labels/fdasd.c:104 msgid "read error" msgstr "" #: libparted/labels/fdasd.c:110 msgid "ioctl() error" msgstr "" #: libparted/labels/fdasd.c:114 msgid "API version mismatch" msgstr "" #: libparted/labels/fdasd.c:118 #, fuzzy msgid "Unsupported disk type" msgstr "ped_device_new() Tipo de dispositivo não suportado" #: libparted/labels/fdasd.c:122 msgid "Unsupported disk format" msgstr "" #: libparted/labels/fdasd.c:126 msgid "Disk is in use" msgstr "" #: libparted/labels/fdasd.c:130 msgid "Syntax error in config file" msgstr "" #: libparted/labels/fdasd.c:134 msgid "Volume label is corrupted" msgstr "" #: libparted/labels/fdasd.c:138 msgid "A data set name is corrupted" msgstr "" #: libparted/labels/fdasd.c:142 msgid "Memory allocation failed" msgstr "" #: libparted/labels/fdasd.c:146 msgid "Device verification failed" msgstr "" #: libparted/labels/fdasd.c:147 msgid "The specified device is not a valid DASD device" msgstr "" #: libparted/labels/fdasd.c:150 libparted/labels/vtoc.c:179 #, fuzzy msgid "Fatal error" msgstr "Fatal" #: libparted/labels/fdasd.c:226 msgid "No room for volume label." msgstr "" #: libparted/labels/fdasd.c:234 #, fuzzy msgid "No room for partition info." msgstr "Nenhum mapa de partições válido foi encontrado." #: libparted/labels/fdasd.c:704 msgid "Invalid VTOC." msgstr "" #: libparted/labels/fdasd.c:764 msgid "Could not retrieve API version." msgstr "" #: libparted/labels/fdasd.c:767 #, c-format msgid "" "The current API version '%d' doesn't match dasd driver API version '%d'!" msgstr "" #: libparted/labels/fdasd.c:804 #, fuzzy msgid "Could not retrieve disk geometry information." msgstr "Não foi possível ler a geometria de %s - %s" #: libparted/labels/fdasd.c:808 msgid "Could not retrieve blocksize information." msgstr "" #: libparted/labels/fdasd.c:813 msgid "Could not retrieve disk information." msgstr "" #: libparted/labels/fdasd.c:818 msgid "This is not an ECKD disk! This disk type is not supported!" msgstr "" #: libparted/labels/gpt.c:485 #, c-format msgid "" "%s contains GPT signatures, indicating that it has a GPT table. However, it " "does not have a valid fake msdos partition table, as it should. Perhaps it " "was corrupted -- possibly by a program that doesn't understand GPT partition " "tables. Or perhaps you deleted the GPT table, and are now using an msdos " "partition table. Is this a GPT partition table?" msgstr "" #: libparted/labels/gpt.c:680 #, c-format msgid "" "The format of the GPT partition table is version %x, which is newer than " "what Parted can recognise. Please tell us! bug-parted@gnu.org" msgstr "" #: libparted/labels/gpt.c:727 #, c-format msgid "" "Not all of the space available to %s appears to be used, you can fix the GPT " "to use all of the space (an extra %llu blocks) or continue with the current " "setting? " msgstr "" #: libparted/labels/gpt.c:936 msgid "" "The backup GPT table is not at the end of the disk, as it should be. This " "might mean that another operating system believes the disk is smaller. Fix, " "by moving the backup to the end (and removing the old backup)?" msgstr "" #: libparted/labels/gpt.c:960 msgid "" "Both the primary and backup GPT tables are corrupt. Try making a fresh " "table, and using Parted's rescue feature to recover partitions." msgstr "" #: libparted/labels/gpt.c:971 msgid "" "The backup GPT table is corrupt, but the primary appears OK, so that will be " "used." msgstr "" #: libparted/labels/gpt.c:983 msgid "" "The primary GPT table is corrupt, but the backup appears OK, so that will be " "used." msgstr "" #: libparted/labels/gpt.c:1007 msgid "primary partition table array CRC mismatch" msgstr "" #: libparted/labels/mac.c:185 #, c-format msgid "Invalid signature %x for Mac disk labels." msgstr "Assinatura inválida %x para rótulos de disco Mac." #: libparted/labels/mac.c:232 msgid "Partition map has no partition map entry!" msgstr "Mapa de partições não tem nenhuma entrada!" #: libparted/labels/mac.c:280 #, c-format msgid "%s is too small for a Mac disk label!" msgstr "%s é muito pequeno para um rótulo de disco Mac!" #: libparted/labels/mac.c:509 #, c-format msgid "Partition %d has an invalid signature %x." msgstr "A partição %d tem uma assinatura inválida %x." #: libparted/labels/mac.c:527 #, c-format msgid "Partition %d has an invalid length of 0 bytes!" msgstr "A partição %d tem um tamanho inválido de 0 bytes!" #: libparted/labels/mac.c:558 #, fuzzy msgid "The data region doesn't start at the start of the partition." msgstr "A região de dados não começa no início da partição" #: libparted/labels/mac.c:575 #, fuzzy msgid "The boot region doesn't start at the start of the partition." msgstr "A região de inicialização não começa no início da partição" #: libparted/labels/mac.c:589 msgid "The partition's boot region doesn't occupy the entire partition." msgstr "A região de inicialização da partição não a ocupa inteiramente." #: libparted/labels/mac.c:600 msgid "The partition's data region doesn't occupy the entire partition." msgstr "A região de dados da partição não a ocupa inteiramente." #: libparted/labels/mac.c:653 #, c-format msgid "" "Weird block size on device descriptor: %d bytes is not divisible by 512." msgstr "" "tamanho de bloco estranho no descritor de dispositivo: %d bytes não " "sãodivisíveis por 512." #: libparted/labels/mac.c:666 #, c-format msgid "" "The driver descriptor says the physical block size is %d bytes, but Linux " "says it is %d bytes." msgstr "" "O descritor do driver informa que o tamanho físico de bloco é %d bytes, mas " "o Linux informa que é %d bytes." #: libparted/labels/mac.c:720 msgid "No valid partition map found." msgstr "Nenhum mapa de partições válido foi encontrado." #: libparted/labels/mac.c:782 #, fuzzy, c-format msgid "" "Conflicting partition map entry sizes! Entry 1 says it is %d, but entry %d " "says it is %d!" msgstr "" "Tamanhos de mapa de partição conflitantes! Entrada 1 informa que é %d, mas " "entrada %d informa que é %d!" #: libparted/labels/mac.c:809 #, fuzzy msgid "Weird! There are 2 partitions map entries!" msgstr "Estranho - 2 entradas no mapa de partição" #: libparted/labels/mac.c:1355 msgid "" "Changing the name of a root or swap partition will prevent Linux from " "recognising it as such." msgstr "" "Mudar o nome de uma partição root ou swap irá impedir o Linux de reconhecê-" "la como tal." #: libparted/labels/mac.c:1459 #, fuzzy msgid "Can't add another partition -- the partition map is too small!" msgstr "" "Não posso adicionar outra partição - o mapa de partições é muito pequeno!" #: libparted/labels/pc98.c:331 #, fuzzy, c-format msgid "Invalid partition table on %s." msgstr "Tabela de partições inválida em %s" #: libparted/labels/pc98.c:384 libparted/labels/pc98.c:462 #, fuzzy, c-format msgid "" "Partition %d isn't aligned to cylinder boundaries. This is still " "unsupported." msgstr "" "A partição %d não está alinhada ao limite do cilindro. Preciso adicionar " "suporte para isso." #: libparted/labels/pc98.c:781 msgid "Can't add another partition." msgstr "Não posso adicionar outra partição." #: libparted/labels/pt-tools.c:125 #, c-format msgid "" "partition length of %jd sectors exceeds the %s-partition-table-imposed " "maximum of %jd" msgstr "" #: libparted/labels/pt-tools.c:138 #, c-format msgid "" "starting sector number, %jd exceeds the %s-partition-table-imposed maximum " "of %jd" msgstr "" #: libparted/labels/rdb.c:170 #, c-format msgid "%s : Bad checksum on block %llu of type %s." msgstr "" #: libparted/labels/rdb.c:486 #, c-format msgid "%s : Didn't find rdb block, should never happen." msgstr "" #: libparted/labels/rdb.c:572 #, c-format msgid "%s : Loop detected at block %d." msgstr "" #: libparted/labels/rdb.c:591 #, c-format msgid "%s : The %s list seems bad at block %s." msgstr "" #: libparted/labels/rdb.c:690 #, c-format msgid "%s : Failed to list bad blocks." msgstr "" #: libparted/labels/rdb.c:698 #, fuzzy, c-format msgid "%s : Failed to list partition blocks." msgstr "Impossível alinhar a partição." #: libparted/labels/rdb.c:706 #, c-format msgid "%s : Failed to list file system blocks." msgstr "" #: libparted/labels/rdb.c:714 #, c-format msgid "%s : Failed to list boot blocks." msgstr "" #: libparted/labels/rdb.c:741 #, fuzzy, c-format msgid "Failed to write partition block at %d." msgstr "Impossível determinar se a partição está montada." #: libparted/labels/rdb.c:1079 #, fuzzy msgid "Unable to allocate a partition number." msgstr "Impossível alinhar a partição." #: libparted/labels/sun.c:163 msgid "Corrupted Sun disk label detected." msgstr "Um rótulo de disco Sun corrompido foi detectado." #: libparted/labels/sun.c:316 #, fuzzy, c-format msgid "" "The disk CHS geometry (%d,%d,%d) reported by the operating system does not " "match the geometry stored on the disk label (%d,%d,%d)." msgstr "" "A geometria CHS do disco (%d,%d,%d) não confere com a geometria gravada no " "rótulo de disco (%d,%d,%d)." #: libparted/labels/sun.c:338 #, c-format msgid "The disk label describes a disk bigger than %s." msgstr "O rótulo de disco descreve um disco maior que %s." #: libparted/labels/sun.c:510 #, c-format msgid "The disk has %d cylinders, which is greater than the maximum of 65536." msgstr "" #: libparted/labels/sun.c:853 msgid "" "The Whole Disk partition is the only available one left. Generally, it is " "not a good idea to overwrite this partition with a real one. Solaris may " "not be able to boot without it, and SILO (the sparc boot loader) appreciates " "it as well." msgstr "" #: libparted/labels/sun.c:868 msgid "Sun disk label is full." msgstr "O rótulo de disco Sun está cheio." #: libparted/labels/vtoc.c:164 msgid "opening of device failed" msgstr "" #: libparted/labels/vtoc.c:168 msgid "seeking on device failed" msgstr "" #: libparted/labels/vtoc.c:172 msgid "writing to device failed" msgstr "" #: libparted/labels/vtoc.c:176 msgid "reading from device failed" msgstr "" #: libparted/labels/vtoc.c:277 libparted/labels/vtoc.c:284 #, fuzzy msgid "Could not read volume label." msgstr "Não foi possível ler a geometria de %s - %s" #: libparted/labels/vtoc.c:303 libparted/labels/vtoc.c:308 #, fuzzy msgid "Could not write volume label." msgstr "Não foi possível detectar o sistema de arquivos." #: libparted/labels/vtoc.c:414 msgid "Could not read VTOC labels." msgstr "" #: libparted/labels/vtoc.c:420 msgid "Could not read VTOC FMT1 DSCB." msgstr "" #: libparted/labels/vtoc.c:427 msgid "Could not read VTOC FMT4 DSCB." msgstr "" #: libparted/labels/vtoc.c:434 msgid "Could not read VTOC FMT5 DSCB." msgstr "" #: libparted/labels/vtoc.c:441 msgid "Could not read VTOC FMT7 DSCB." msgstr "" #: libparted/labels/vtoc.c:461 msgid "Could not write VTOC labels." msgstr "" #: libparted/labels/vtoc.c:467 msgid "Could not write VTOC FMT1 DSCB." msgstr "" #: libparted/labels/vtoc.c:474 msgid "Could not write VTOC FMT4 DSCB." msgstr "" #: libparted/labels/vtoc.c:481 msgid "Could not write VTOC FMT5 DSCB." msgstr "" #: libparted/labels/vtoc.c:488 msgid "Could not write VTOC FMT7 DSCB." msgstr "" #: libparted/libparted.c:237 libparted/libparted.c:252 msgid "Out of memory." msgstr "Não há memória." #: libparted/unit.c:138 msgid "Cannot get unit size for special unit 'COMPACT'." msgstr "" #: libparted/unit.c:384 #, c-format msgid "\"%s\" has invalid syntax for locations." msgstr "" #: libparted/unit.c:392 #, c-format msgid "The maximum head value is %d." msgstr "" #: libparted/unit.c:399 #, c-format msgid "The maximum sector value is %d." msgstr "" #: libparted/unit.c:411 libparted/unit.c:543 #, fuzzy, c-format msgid "The location %s is outside of the device %s." msgstr "Impossível criar partição para fora do dispositivo." #: libparted/unit.c:525 msgid "Invalid number." msgstr "" #: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:56 #: libparted/fs/amiga/asfs.c:70 #, c-format msgid "%s : Failed to allocate partition block\n" msgstr "" #: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:69 #: libparted/fs/amiga/asfs.c:82 #, c-format msgid "%s : Failed to allocate block\n" msgstr "" #: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:74 #, c-format msgid "%s : Couldn't read boot block %llu\n" msgstr "" #: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:85 #: libparted/fs/amiga/asfs.c:88 libparted/fs/amiga/asfs.c:102 #, c-format msgid "%s : Couldn't read root block %llu\n" msgstr "" #: libparted/fs/amiga/amiga.c:72 #, c-format msgid "%s : Failed to allocate id list element\n" msgstr "" #: libparted/fs/amiga/amiga.c:189 #, c-format msgid "%s : Couldn't read block %llu\n" msgstr "" #: libparted/fs/amiga/amiga.c:202 #, c-format msgid "%s : Bad checksum on block %llu of type %s\n" msgstr "" #: libparted/fs/amiga/amiga.c:212 #, fuzzy, c-format msgid "%s : Couldn't write block %d\n" msgstr "%s durante escrita em %s" #: libparted/fs/amiga/amiga.c:278 #, c-format msgid "%s : Failed to allocate disk_specific rdb block\n" msgstr "" #: libparted/fs/amiga/amiga.c:289 #, c-format msgid "%s : Didn't find rdb block, should never happen\n" msgstr "" #: libparted/fs/amiga/amiga.c:318 #, c-format msgid "%s : Failed to read partition block %llu\n" msgstr "" #: libparted/fs/ext2/ext2.c:87 libparted/fs/ext2/ext2.c:112 msgid "Inconsistent group descriptors!" msgstr "Descritores de grupo inconsistentes!" #: libparted/fs/ext2/ext2.c:91 libparted/fs/ext2/ext2.c:116 #, fuzzy msgid "File system full!" msgstr "Sistema de arquivos cheio!" #: libparted/fs/ext2/ext2.c:686 #, fuzzy msgid "Invalid superblock. Are you sure this is an ext2 file system?" msgstr "Superbloco inválido. Você tem certeza que isto é um sistema ext2?" #: libparted/fs/ext2/ext2.c:700 libparted/fs/ext2/ext2_resize.c:658 #, fuzzy msgid "File system has errors! You should run e2fsck." msgstr "Sistema de arquivos tem erros! Execute e2fsck primeiro." #: libparted/fs/ext2/ext2.c:711 #, fuzzy msgid "" "File system was not cleanly unmounted! You should run e2fsck. Modifying an " "unclean file system could cause severe corruption." msgstr "" "Sistema de arquivos não foi desmontado corretamente! Execute e2fsck primeiro." #: libparted/fs/ext2/ext2.c:731 msgid "" "File system has an incompatible feature enabled. Compatible features are " "has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs " "or debugfs to remove features." msgstr "" #: libparted/fs/ext2/ext2.c:745 msgid "Error allocating buffer cache." msgstr "Erro determinando o cache temporário." #: libparted/fs/ext2/ext2_inode_relocator.c:114 #, fuzzy msgid "" "Found an inode with a incorrect link count. Better go run e2fsck first!" msgstr "" "Encontrado um inode com uma contagem incorreta de ligações. Melhor executar " "o e2fsck primeiro." #: libparted/fs/ext2/ext2_inode_relocator.c:487 msgid "Not enough free inodes!" msgstr "Não há inodes livres suficientes!" #: libparted/fs/ext2/ext2_resize.c:223 #, fuzzy msgid "File system is too full to remove a group!" msgstr "Sistema de arquivos muito ocupado para remover um grupo!" #: libparted/fs/ext2/ext2_resize.c:232 #, fuzzy msgid "File system has too many allocated inodes to remove a group!" msgstr "" "Sistema de arquivos tem muitos inodes utilizados para remover um grupo!" #: libparted/fs/ext2/ext2_resize.c:491 msgid "adding groups" msgstr "" #: libparted/fs/ext2/ext2_resize.c:528 #, fuzzy, c-format msgid "Your file system is too full to resize it to %i blocks. Sorry." msgstr "" "Seu sistema de arquivos está muito ocupado para redimensioná-lo para %i " "blocos. Desculpe." #: libparted/fs/ext2/ext2_resize.c:538 #, fuzzy, c-format msgid "" "Your file system has too many occupied inodes to resize it to %i blocks. " "Sorry." msgstr "" "Seu sistema de arquivos está com muitos inodes ocupados para redimensioná-lo " "para %i blocos. Desculpe." #: libparted/fs/ext2/ext2_resize.c:666 #, fuzzy msgid "File system was not cleanly unmounted! You should run e2fsck." msgstr "" "Sistema de arquivos não foi desmontado corretamente! Execute e2fsck primeiro." #: libparted/fs/ext2/ext2_resize.c:675 msgid "" "The file system has the 'dir_index' feature enabled. Parted can only resize " "the file system if it disables this feature. You can enable it later by " "running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'." msgstr "" #: libparted/fs/ext2/ext2_resize.c:691 msgid "" "A resize operation on this file system will use EXPERIMENTAL code\n" "that MAY CORRUPT it (although no one has reported any such damage yet).\n" "You should at least backup your data first, and run 'e2fsck -f' afterwards." msgstr "" #: libparted/fs/ext2/ext2_block_relocator.c:198 #, fuzzy msgid "Cross-linked blocks found! Better go run e2fsck first!" msgstr "" "Encontrados blocos com referência cruzada! Melhor executar e2fsck primeiro." #: libparted/fs/ext2/ext2_block_relocator.c:537 #, fuzzy, c-format msgid "Block %i has no reference? Weird." msgstr "Bloco %i não tem referência? Estranho" #: libparted/fs/ext2/ext2_block_relocator.c:738 #, fuzzy, c-format msgid "Block %i shouldn't have been marked (%d, %d)!" msgstr "Bloco %i não deveria ter sido marcado!" #: libparted/fs/ext2/interface.c:226 #, fuzzy msgid "" "The ext2 file system passed a basic check. For a more comprehensive check, " "use the e2fsck program." msgstr "" "O sistema de arquivos ext2 passou pelo teste básico. Para um teste mais " "compreensivo, utilize o programa e2fsck." #: libparted/fs/ext2/interface.c:243 msgid "Sorry, can't move the start of ext2 partitions yet!" msgstr "Desculpe, não posso mover o início de partições ext2 ainda!" #: libparted/fs/ext2/ext2_buffer.c:82 msgid "Couldn't flush buffer cache!" msgstr "Não foi possível esvaziar cache temporário!" #: libparted/fs/ext2/ext2_mkfs.c:161 msgid "writing per-group metadata" msgstr "" #: libparted/fs/ext2/ext2_mkfs.c:597 msgid "File system too small for ext2." msgstr "" #: libparted/fs/fat/calc.c:135 #, fuzzy, c-format msgid "" "You need %s of free disk space to shrink this partition to this size. " "Currently, only %s is free." msgstr "" "Você precisa de %dM de espaço livre para diminuir esta partição para este " "tamanho (você tem somente %dM livres)" #: libparted/fs/fat/context.c:56 #, c-format msgid "" "Cluster start delta = %d, which is not a multiple of the cluster size %d." msgstr "" "O cluster inicia em delta = %d, que não é um múltiplo do tamanho de cluster " "%d." #: libparted/fs/fat/fat.c:310 #, fuzzy, c-format msgid "Partition too big/small for a %s file system." msgstr "A partição é muito pequena para um sistema de arquivos FAT" #: libparted/fs/fat/fat.c:476 msgid "" "The FATs don't match. If you don't know what this means, then select " "cancel, run scandisk on the file system, and then come back." msgstr "" "As FATs não estão iguais. Se você não sabe o que isto significa, selecione " "cancelar, execute o scandisk no sistema de arquivos, depois volte." #: libparted/fs/fat/fat.c:516 msgid "There are no possible configurations for this FAT type." msgstr "Não há configurações possíveis para este tipo de FAT." #: libparted/fs/fat/fat.c:528 #, c-format msgid "" "File system doesn't have expected sizes for Windows to like it. Cluster " "size is %dk (%dk expected); number of clusters is %d (%d expected); size of " "FATs is %d sectors (%d expected)." msgstr "" "O sistema de arquivos não tem o tamanho esperado para que o Windows utilize. " "O tamanho do cluster é %dk (%dk esperado); número de clusters é %d (%d " "esperado); tamanho da FAT é %d setores (%d esperado)." #: libparted/fs/fat/fat.c:551 #, c-format msgid "" "File system is reporting the free space as %d clusters, not %d clusters." msgstr "" "O sistema de arquivos está reportando que o espaço livre é %d clusters, não " "%d clusters." #: libparted/fs/fat/fat.c:876 #, fuzzy msgid "" "GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT " "support will be disabled." msgstr "" "O GNU parted foi compilado erradamente: o setor de boot FAT deveria ser de " "512 bytes. O suporte a FAT será desabilitado." #: libparted/fs/fat/resize.c:158 #, fuzzy msgid "" "There's not enough room in the root directory for all of the files. Either " "cancel, or ignore to lose the files." msgstr "" "Não há espaço suficiente no diretório raiz, para todos os arquivos. Cancele, " "ou ignore para perder os arquivos." #: libparted/fs/fat/resize.c:299 msgid "Error writing to the root directory." msgstr "Erro escrevendo no diretório raiz." #: libparted/fs/fat/resize.c:488 #, fuzzy msgid "If you leave your file system as FAT16, then you will have no problems." msgstr "Se deixar seu sistema de arquivos como FAT16, não haverá problemas." #: libparted/fs/fat/resize.c:491 msgid "" "If you convert to FAT16, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual)." msgstr "" "Se você converter para FAT16, e o MS Windows está instalado nesta partição, " "você deverá reinstalar o gerenciador de boot do MS Windows. Se quiser fazer " "isso, consulte o manual do Parted (ou o manual de sua distribuição)." #: libparted/fs/fat/resize.c:499 msgid "" "If you leave your file system as FAT32, then you will not introduce any new " "problems." msgstr "" "Se deixar seu sistema de arquivos como FAT32, você não criará mais nenhum " "problema novo." #: libparted/fs/fat/resize.c:503 msgid "" "If you convert to FAT32, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual). Also, " "converting to FAT32 will make the file system unreadable by MS DOS, MS " "Windows 95a, and MS Windows NT." msgstr "" "Se você converter para FAT32, e o MS Windows está instalado nesta partição, " "você deverá reinstalar o gerenciador de boot do MS Windows. Se quiser fazer " "isso, consulte o manual do Parted (ou o manual de sua distribuição). Também, " "convertendo para FAT32 fará com que o sistema de arquivos não seja mais " "reconhecido pelo MS DOS, Windows 95a, e MS Windows NT." #: libparted/fs/fat/resize.c:517 #, c-format msgid "%s %s %s" msgstr "%s %s %s" #: libparted/fs/fat/resize.c:518 msgid "Would you like to use FAT32?" msgstr "Você gostaria de usar FAT32?" #: libparted/fs/fat/resize.c:549 libparted/fs/fat/resize.c:565 #, c-format msgid "%s %s" msgstr "%s %s" #: libparted/fs/fat/resize.c:550 msgid "" "The file system can only be resized to this size by converting to FAT16." msgstr "" "O sistema de arquivos só pode ser redimensionado para este tamanho sendo " "convertido para FAT16." #: libparted/fs/fat/resize.c:566 msgid "" "The file system can only be resized to this size by converting to FAT32." msgstr "" "O sistema de arquivos só pode ser redimensionado para este tamanho sendo " "convertido para FAT32." #: libparted/fs/fat/resize.c:579 #, fuzzy msgid "" "GNU Parted cannot resize this partition to this size. We're working on it!" msgstr "" "O GNU Parted não pode redimensionar esta partição a este tamanho. Estamos " "trabalhando nisto!" #: libparted/fs/fat/bootsector.c:49 libparted/fs/fat/bootsector.c:56 msgid "File system has an invalid signature for a FAT file system." msgstr "Sistema de arquivos tem uma assinatura inválida para um FAT." #: libparted/fs/fat/bootsector.c:64 msgid "File system has an invalid sector size for a FAT file system." msgstr "Sistema de arquivos tem um tamanho de setor inválido para um FAT." #: libparted/fs/fat/bootsector.c:71 #, fuzzy msgid "File system has an invalid cluster size for a FAT file system." msgstr "Sistema de arquivos tem um tamanho de setor inválido para um FAT." #: libparted/fs/fat/bootsector.c:78 #, fuzzy msgid "" "File system has an invalid number of reserved sectors for a FAT file system." msgstr "" "Sistema de arquivos tem um número de setores reservados inválido para um FAT." #: libparted/fs/fat/bootsector.c:85 #, fuzzy msgid "File system has an invalid number of FATs." msgstr "Sistema de arquivos tem um número inválido de FATS." #: libparted/fs/fat/bootsector.c:139 #, c-format msgid "" "This file system has a logical sector size of %d. GNU Parted is known not " "to work properly with sector sizes other than 512 bytes." msgstr "" "Este sistema de arquivos tem um tamanho de setor lógico de %d. O GNU Parted " "é conhecido por não funcionar corretamente com setores diferentes de 512 " "bytes." #: libparted/fs/fat/bootsector.c:164 #, c-format msgid "" "The file system's CHS geometry is (%d, %d, %d), which is invalid. The " "partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the " "file system's CHS geometry will be left unchanged. If you select Fix, the " "file system's CHS geometry will be set to match the partition table's CHS " "geometry." msgstr "" #: libparted/fs/fat/bootsector.c:213 msgid "FAT boot sector says logical sector size is 0. This is weird. " msgstr "Setor de boot FAT diz que o tamanho lógico do setor é 0. Estranho. " #: libparted/fs/fat/bootsector.c:219 msgid "FAT boot sector says there are no FAT tables. This is weird. " msgstr "Setor de boot FAT diz que não há tabelas FAT. Estranho. " #: libparted/fs/fat/bootsector.c:225 msgid "FAT boot sector says clusters are 0 sectors. This is weird. " msgstr "Setor de boot FAT diz que os clusters têm 0 setores. Estranho. " #: libparted/fs/fat/bootsector.c:235 #, fuzzy msgid "File system is FAT12, which is unsupported." msgstr "O sistema de arquivos é FAT12, que não é suportado." #: libparted/fs/fat/bootsector.c:411 #, c-format msgid "" "The information sector has the wrong signature (%x). Select cancel for now, " "and send in a bug report. If you're desperate, it's probably safe to ignore." msgstr "" "O setor de informações tem uma assinatura inválida (%x). Selecione cancelar " "agora, e mande um relatório de bug. Se você está desesperado, é provável que " "seja seguro ignorar." #: libparted/fs/fat/count.c:144 #, c-format msgid "Bad directory entry for %s: first cluster is the end of file marker." msgstr "" "Entrada de diretório inválida para %s: o primeiro cluster é o fim do " "marcador de arquivo." #: libparted/fs/fat/count.c:157 #, c-format msgid "" "Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk." msgstr "" "FAT ruim: cadeia não terminada para %s. Você deveria rodar o dosfsck ou o " "scandisk." #: libparted/fs/fat/count.c:166 #, fuzzy, c-format msgid "" "Bad FAT: cluster %d outside file system in chain for %s. You should run " "dosfsck or scandisk." msgstr "" "FAT ruim: cluster %d fora do sistema de arquivos na cadeia para %s. Você " "deveria rodar o dosfsck ou o scandisk." #: libparted/fs/fat/count.c:176 #, c-format msgid "" "Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or " "scandisk." msgstr "" "FAT ruim: o cluster %d tem uma referência cruzada para %s. Você deveria " "rodar o dosfsck ou o scandisk." #: libparted/fs/fat/count.c:195 #, fuzzy, c-format msgid "%s is %dk, but it has %d clusters (%dk)." msgstr "%s é %dk, mas tem %d clusters (%dk)." #: libparted/fs/fat/count.c:258 #, c-format msgid "" "The file %s is marked as a system file. This means moving it could cause " "some programs to stop working." msgstr "" #: libparted/fs/fat/table.c:136 #, c-format msgid "" "FAT %d media %x doesn't match the boot sector's media %x. You should " "probably run scandisk." msgstr "" "FAT %d mídia %x não bate com o setor de boot mídia %x. Você deveria executar " "o scandisk." #: libparted/fs/fat/table.c:268 #, fuzzy, c-format msgid "fat_table_set: cluster %ld outside file system" msgstr "fat_table_set: cluster %ld fora do sistema de arquivos" #: libparted/fs/fat/table.c:300 #, fuzzy, c-format msgid "fat_table_get: cluster %ld outside file system" msgstr "fat_table_get: cluster %ld fora do sistema de arquivos" #: libparted/fs/fat/table.c:342 msgid "fat_table_alloc_cluster: no free clusters" msgstr "fat_table_alloc_cluster: não há clusters livres" #: libparted/fs/linux_swap/linux_swap.c:288 #, fuzzy, c-format msgid "Unrecognised old style linux swap signature '%10s'." msgstr "Assinatura linux swap não reconhecida '%10s'." #: libparted/fs/linux_swap/linux_swap.c:331 #, fuzzy, c-format msgid "Unrecognised new style linux swap signature '%10s'." msgstr "Assinatura linux swap não reconhecida '%10s'." #: libparted/fs/linux_swap/linux_swap.c:371 #, fuzzy, c-format msgid "Unrecognised swsusp linux swap signature '%9s'." msgstr "Assinatura linux swap não reconhecida '%10s'." #: libparted/fs/linux_swap/linux_swap.c:447 msgid "Too many bad pages." msgstr "Muitas páginas inválidas." #: libparted/fs/hfs/advfs.c:121 libparted/fs/hfs/advfs_plus.c:121 #: libparted/fs/hfs/reloc.c:414 libparted/fs/hfs/reloc.c:508 #: libparted/fs/hfs/reloc_plus.c:538 libparted/fs/hfs/reloc_plus.c:656 #: libparted/fs/hfs/reloc_plus.c:769 msgid "The file system contains errors." msgstr "" #: libparted/fs/hfs/advfs_plus.c:285 msgid "Bad blocks could not be read." msgstr "" #: libparted/fs/hfs/cache.c:137 #, c-format msgid "" "Trying to register an extent starting at block 0x%X, but another one already " "exists at this position. You should check the file system!" msgstr "" #: libparted/fs/hfs/cache.c:214 #, c-format msgid "" "Trying to move an extent from block Ox%X to block Ox%X, but another one " "already exists at this position. This should not happen!" msgstr "" #: libparted/fs/hfs/file.c:143 #, c-format msgid "Could not update the extent cache for HFS file with CNID %X." msgstr "" #: libparted/fs/hfs/file.c:180 #, c-format msgid "Trying to read HFS file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/file.c:190 libparted/fs/hfs/file.c:220 #, c-format msgid "Could not find sector %lli of HFS file with CNID %X." msgstr "" #: libparted/fs/hfs/file.c:210 #, c-format msgid "Trying to write HFS file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/file_plus.c:157 #, c-format msgid "Could not update the extent cache for HFS+ file with CNID %X." msgstr "" #: libparted/fs/hfs/file_plus.c:202 #, c-format msgid "Trying to read HFS+ file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/file_plus.c:213 libparted/fs/hfs/file_plus.c:256 #, c-format msgid "Could not find sector %lli of HFS+ file with CNID %X." msgstr "" #: libparted/fs/hfs/file_plus.c:245 #, c-format msgid "Trying to write HFS+ file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/hfs.c:232 msgid "Sorry, HFS cannot be resized that way yet." msgstr "" #: libparted/fs/hfs/hfs.c:262 libparted/fs/hfs/hfs.c:641 msgid "Data relocation has failed." msgstr "" #: libparted/fs/hfs/hfs.c:281 msgid "Data relocation left some data in the end of the volume." msgstr "" #: libparted/fs/hfs/hfs.c:320 #, fuzzy msgid "writing HFS Master Directory Block" msgstr "Erro escrevendo no diretório raiz." #: libparted/fs/hfs/hfs.c:468 msgid "No valid HFS[+X] signature has been found while opening." msgstr "" #: libparted/fs/hfs/hfs.c:478 #, c-format msgid "Version %d of HFS+ isn't supported." msgstr "" #: libparted/fs/hfs/hfs.c:489 #, c-format msgid "Version %d of HFSX isn't supported." msgstr "" #: libparted/fs/hfs/hfs.c:672 msgid "Data relocation left some data at the end of the volume." msgstr "" #: libparted/fs/hfs/hfs.c:720 #, fuzzy msgid "Error while writing the allocation file." msgstr "Erro escrevendo no diretório raiz." #: libparted/fs/hfs/hfs.c:735 msgid "Error while writing the compatibility part of the allocation file." msgstr "" #: libparted/fs/hfs/hfs.c:750 msgid "writing HFS+ Volume Header" msgstr "" #: libparted/fs/hfs/hfs.c:850 msgid "An error occurred while looking for the mandatory bad blocks file." msgstr "" #: libparted/fs/hfs/hfs.c:904 msgid "" "It seems there is an error in the HFS wrapper: the bad blocks file doesn't " "contain the embedded HFS+ volume." msgstr "" #: libparted/fs/hfs/hfs.c:940 msgid "Sorry, HFS+ cannot be resized that way yet." msgstr "" #: libparted/fs/hfs/hfs.c:975 msgid "shrinking embedded HFS+ volume" msgstr "" #: libparted/fs/hfs/hfs.c:991 msgid "Resizing the HFS+ volume has failed." msgstr "" #: libparted/fs/hfs/hfs.c:998 msgid "shrinking HFS wrapper" msgstr "" #: libparted/fs/hfs/hfs.c:1007 msgid "Updating the HFS wrapper has failed." msgstr "" #: libparted/fs/hfs/hfs.c:1109 libparted/fs/hfs/hfs.c:1194 #, c-format msgid "" "This is not a real %s check. This is going to extract special low level " "files for debugging purposes." msgstr "" #: libparted/fs/hfs/journal.c:155 msgid "Bad block list header checksum." msgstr "" #: libparted/fs/hfs/journal.c:168 #, c-format msgid "" "Invalid size of a transaction block while replaying the journal (%i bytes)." msgstr "" #: libparted/fs/hfs/journal.c:260 msgid "" "Journal stored outside of the volume are not supported. Try to desactivate " "the journal and run Parted again." msgstr "" #: libparted/fs/hfs/journal.c:271 #, fuzzy msgid "Journal offset or size is not multiple of the sector size." msgstr "" "O cluster inicia em delta = %d, que não é um múltiplo do tamanho de cluster " "%d." #: libparted/fs/hfs/journal.c:292 msgid "Incorrect magic values in the journal header." msgstr "" #: libparted/fs/hfs/journal.c:302 msgid "Journal size mismatch between journal info block and journal header." msgstr "" #: libparted/fs/hfs/journal.c:314 #, fuzzy msgid "Some header fields are not multiple of the sector size." msgstr "" "O cluster inicia em delta = %d, que não é um múltiplo do tamanho de cluster " "%d." #: libparted/fs/hfs/journal.c:323 msgid "" "The sector size stored in the journal is not 512 bytes. Parted only " "supports 512 bytes length sectors." msgstr "" #: libparted/fs/hfs/journal.c:335 msgid "Bad journal checksum." msgstr "" #: libparted/fs/hfs/journal.c:353 msgid "" "The journal is not empty. Parted must replay the transactions before " "opening the file system. This will modify the file system." msgstr "" #: libparted/fs/hfs/journal.c:381 msgid "" "The volume header or the master directory block has changed while replaying " "the journal. You should restart Parted." msgstr "" #: libparted/fs/hfs/probe.c:51 #, c-format msgid "" "Parted can't use HFS file systems on disks with a sector size not equal to " "%d bytes." msgstr "" #: libparted/fs/hfs/reloc.c:151 libparted/fs/hfs/reloc_plus.c:155 msgid "An extent has not been relocated." msgstr "" #: libparted/fs/hfs/reloc.c:251 libparted/fs/hfs/reloc_plus.c:307 msgid "" "A reference to an extent comes from a place it should not. You should check " "the file system!" msgstr "" #: libparted/fs/hfs/reloc.c:381 msgid "This HFS volume has no catalog file. This is very unusual!" msgstr "" #: libparted/fs/hfs/reloc.c:475 msgid "This HFS volume has no extents overflow file. This is quite unusual!" msgstr "" #: libparted/fs/hfs/reloc.c:517 libparted/fs/hfs/reloc_plus.c:666 msgid "" "The extents overflow file should not contain its own extents! You should " "check the file system." msgstr "" #: libparted/fs/hfs/reloc.c:574 libparted/fs/hfs/reloc_plus.c:844 #, fuzzy msgid "Could not cache the file system in memory." msgstr "Não foi possível detectar o sistema de arquivos." #: libparted/fs/hfs/reloc.c:635 libparted/fs/hfs/reloc_plus.c:905 msgid "Bad blocks list could not be loaded." msgstr "" #: libparted/fs/hfs/reloc.c:649 libparted/fs/hfs/reloc_plus.c:921 msgid "An error occurred during extent relocation." msgstr "" #: libparted/fs/hfs/reloc_plus.c:494 msgid "This HFS+ volume has no catalog file. This is very unusual!" msgstr "" #: libparted/fs/hfs/reloc_plus.c:617 msgid "This HFS+ volume has no extents overflow file. This is quite unusual!" msgstr "" #: parted/parted.c:123 msgid "displays this help message" msgstr "mostra esta mensagem de ajuda" #: parted/parted.c:124 msgid "lists partition layout on all block devices" msgstr "" #: parted/parted.c:125 msgid "displays machine parseable output" msgstr "" #: parted/parted.c:126 msgid "never prompts for user intervention" msgstr "nunca pede intervenção do usuário" #: parted/parted.c:127 msgid "displays the version" msgstr "mostra a versão" #: parted/parted.c:128 #, fuzzy msgid "alignment for new partitions" msgstr "Não posso adicionar outra partição." #: parted/parted.c:140 #, fuzzy msgid "" "NUMBER is the partition number used by Linux. On MS-DOS disk labels, the " "primary partitions number from 1 to 4, logical partitions from 5 onwards.\n" msgstr "" "MINOR é o número da partição usado pelo linux. Em rótulos de disco msdos, as " "partições primárias são de 1-4, e partições lógicas de 5 adiante.\n" #: parted/parted.c:143 msgid "LABEL-TYPE is one of: " msgstr "TIPO_ROTULO é um de:" #: parted/parted.c:144 msgid "FLAG is one of: " msgstr "FLAG é um de: " #: parted/parted.c:145 #, fuzzy msgid "UNIT is one of: " msgstr "FLAG é um de: " #: parted/parted.c:146 msgid "desired alignment: minimum or optimal" msgstr "" #: parted/parted.c:147 msgid "PART-TYPE is one of: primary, logical, extended\n" msgstr "TIPO-PART é um de: primary, logical, extended\n" #: parted/parted.c:149 msgid "FS-TYPE is one of: " msgstr "TIPO-FS é um de: " #: parted/parted.c:150 msgid "" "START and END are disk locations, such as 4GB or 10%. Negative values count " "from the end of the disk. For example, -1s specifies exactly the last " "sector.\n" msgstr "" #: parted/parted.c:153 msgid "STATE is one of: on, off\n" msgstr "ESTADO é um de: on, off\n" #: parted/parted.c:154 msgid "DEVICE is usually /dev/hda or /dev/sda\n" msgstr "DISPOSITIVO é usualmente /dev/hda ou /dev/sda\n" #: parted/parted.c:155 msgid "NAME is any word you want\n" msgstr "NAME é qualquer palavra que desejar\n" #: parted/parted.c:156 msgid "The partition must have one of the following FS-TYPEs: " msgstr "" #: parted/parted.c:160 msgid "" "Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n" "This program is free software, covered by the GNU General Public License.\n" "\n" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" msgstr "" #: parted/parted.c:208 #, c-format msgid "%0.f%%\t(time left %.2d:%.2d)" msgstr "" #: parted/parted.c:227 #, c-format msgid "" "Partition %s is being used. You must unmount it before you modify it with " "Parted." msgstr "" #: parted/parted.c:245 #, c-format msgid "Partition(s) on %s are being used." msgstr "Partição(ões) em %s está(ão) sendo utilizada(s)." #: parted/parted.c:257 msgid "" "The existing file system will be destroyed and all data on the partition " "will be lost. Do you want to continue?" msgstr "" #: parted/parted.c:269 #, c-format msgid "" "The existing disk label on %s will be destroyed and all data on this disk " "will be lost. Do you want to continue?" msgstr "" #: parted/parted.c:487 #, c-format msgid "" "WARNING: you are attempting to use %s to operate on (%s) a file system.\n" "%s's file system manipulation code is not as robust as what you'll find in\n" "dedicated, file-system-specific packages like e2fsprogs. We recommend\n" "you use %s only to manipulate partition tables, whenever possible.\n" "Support for performing most operations on most types of file systems\n" "will be removed in an upcoming release.\n" msgstr "" #: parted/parted.c:508 parted/parted.c:702 parted/parted.c:1179 #: parted/parted.c:1263 parted/parted.c:1935 parted/parted.c:2016 #: parted/parted.c:2088 parted/parted.c:2122 #, fuzzy msgid "Partition number?" msgstr "A partição está sendo utilizada." #: parted/parted.c:551 #, fuzzy msgid "Source device?" msgstr "Nenhum dispositivo encontrado" #: parted/parted.c:555 #, fuzzy msgid "Source partition number?" msgstr "A partição origem não existe." #: parted/parted.c:560 #, fuzzy msgid "Can't copy an extended partition." msgstr "Não posso copiar partições extendidas." #: parted/parted.c:566 #, fuzzy msgid "Destination partition number?" msgstr "A partição destino está sendo utilizada." #: parted/parted.c:655 #, fuzzy msgid "New disk label type?" msgstr "Tipo de rótulo de disco: %s\n" #: parted/parted.c:706 parted/parted.c:788 parted/parted.c:1000 #, fuzzy msgid "File system type?" msgstr "Sistema de arquivos " #: parted/parted.c:762 parted/parted.c:983 #, fuzzy msgid "Partition type?" msgstr "A partição não existe." #: parted/parted.c:780 parted/parted.c:990 parted/parted.c:1266 #, fuzzy msgid "Partition name?" msgstr "A partição não existe." #: parted/parted.c:794 parted/parted.c:1002 parted/parted.c:1194 #: parted/parted.c:1883 parted/parted.c:1944 msgid "Start?" msgstr "" #: parted/parted.c:796 parted/parted.c:1005 parted/parted.c:1197 #: parted/parted.c:1885 parted/parted.c:1946 msgid "End?" msgstr "" #: parted/parted.c:862 parted/parted.c:1066 #, fuzzy, c-format msgid "" "You requested a partition from %s to %s.\n" "The closest location we can manage is %s to %s.%s" msgstr "" "Você comandou a criação de uma partição em %.3f-%.3fMb. O mais perto que o " "Parted pode chegar é %.3f-%.3fMb." #: parted/parted.c:867 parted/parted.c:1071 msgid "" "\n" "Is this still acceptable to you?" msgstr "" #: parted/parted.c:889 parted/parted.c:1093 msgid "The resulting partition is not properly aligned for best performance." msgstr "" #: parted/parted.c:995 msgid "An extended partition cannot hold a file system. Did you want mkpart?" msgstr "" #: parted/parted.c:1185 #, fuzzy msgid "Can't move an extended partition." msgstr "Não posso mover partições extendidas." #: parted/parted.c:1214 msgid "Can't move a partition onto itself. Try using resize, perhaps?" msgstr "" "Não posso mover a partição sobre ela mesma. Talvez queira redimensionar?" #: parted/parted.c:1360 #, c-format msgid "Minor: %d\n" msgstr "" #: parted/parted.c:1361 #, fuzzy, c-format msgid "Flags: %s\n" msgstr "Sinalizador" #: parted/parted.c:1362 #, fuzzy, c-format msgid "File System: %s\n" msgstr "Sistema de arquivos " #: parted/parted.c:1363 msgid "Size: " msgstr "" #: parted/parted.c:1368 msgid "Minimum size: " msgstr "" #: parted/parted.c:1371 msgid "Maximum size: " msgstr "" #: parted/parted.c:1504 #, c-format msgid "Model: %s (%s)\n" msgstr "" #: parted/parted.c:1506 #, fuzzy, c-format msgid "Disk %s: %s\n" msgstr "%s %s %s" #: parted/parted.c:1507 #, c-format msgid "Sector size (logical/physical): %lldB/%lldB\n" msgstr "" #: parted/parted.c:1525 #, c-format msgid "BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s.\n" msgstr "" #: parted/parted.c:1534 #, fuzzy, c-format msgid "Partition Table: %s\n" msgstr "Tabela de partições inválida em %s" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Number" msgstr "" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Start" msgstr "" #: parted/parted.c:1550 parted/parted.c:1553 msgid "End" msgstr "" #: parted/parted.c:1553 #, fuzzy msgid "Size" msgstr "resize" #: parted/parted.c:1557 msgid "Type" msgstr "" #: parted/parted.c:1559 #, fuzzy msgid "File system" msgstr "Sistema de arquivos " #: parted/parted.c:1562 #, fuzzy msgid "Name" msgstr "name" #: parted/parted.c:1564 msgid "Flags" msgstr "Sinalizador" #: parted/parted.c:1621 msgid "Free Space" msgstr "" #: parted/parted.c:1782 #, c-format msgid "" "A %s %s partition was found at %s -> %s. Do you want to add it to the " "partition table?" msgstr "" #: parted/parted.c:1821 msgid "searching for file systems" msgstr "" #: parted/parted.c:2041 #, fuzzy msgid "New device?" msgstr "Nenhum dispositivo encontrado" #: parted/parted.c:2086 msgid "alignment type(min/opt)" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d aligned\n" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d not aligned\n" msgstr "" #: parted/parted.c:2124 msgid "Flag to Invert?" msgstr "" #: parted/parted.c:2129 msgid "New state?" msgstr "" #: parted/parted.c:2166 msgid "Unit?" msgstr "" #: parted/parted.c:2348 #, fuzzy msgid "align-check" msgstr "check" #: parted/parted.c:2351 msgid "" "align-check TYPE N check partition N for TYPE(min|" "opt) alignment" msgstr "" #: parted/parted.c:2359 msgid "check" msgstr "check" #: parted/parted.c:2362 #, fuzzy msgid "" "check NUMBER do a simple check on the file system" msgstr "" "check MINOR faz um teste simples no sistema de arquivos" #: parted/parted.c:2368 msgid "cp" msgstr "cp" #: parted/parted.c:2371 #, fuzzy msgid "" "cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another " "partition" msgstr "" "cp [FROM-DEVICE] FROM-MINOR TO-MINOR copia o sistema de arquivos para " "outra partição" #: parted/parted.c:2377 msgid "help" msgstr "help" #: parted/parted.c:2380 #, fuzzy msgid "" "help [COMMAND] print general help, or help on " "COMMAND" msgstr "help [COMANDO] mostra ajuda geral, ou ajuda a COMANDO" #: parted/parted.c:2386 msgid "mklabel" msgstr "mklabel" #: parted/parted.c:2386 #, fuzzy msgid "mktable" msgstr "mklabel" #: parted/parted.c:2389 #, fuzzy msgid "" "mklabel,mktable LABEL-TYPE create a new disklabel (partition " "table)" msgstr "" "mklabel TIPO-ROTULO cria um novo rótulo (na tabela de partição)" #: parted/parted.c:2395 msgid "mkfs" msgstr "mkfs" #: parted/parted.c:2398 #, fuzzy msgid "" "mkfs NUMBER FS-TYPE make a FS-TYPE file system on " "partition NUMBER" msgstr "" "mkfs MINOR TIPO-FS cria um sistema TIPO-FS na partição MINOR" #: parted/parted.c:2404 msgid "mkpart" msgstr "mkpart" #: parted/parted.c:2407 #, fuzzy msgid "mkpart PART-TYPE [FS-TYPE] START END make a partition" msgstr "mkpart TIPO-PART [FS-TYPE] INICIO FIM cria uma partição" #: parted/parted.c:2413 #, fuzzy msgid "" "'mkpart' makes a partition without creating a new file system on the " "partition. FS-TYPE may be specified to set an appropriate partition ID.\n" msgstr "" "mkpart cria uma partição sem criar um novo sistema de arquivos na partição. " "TIPO-FS deve ser especificado para partições de dados (ao oposto de uma " "partição extendida). Este comando é útil se você apagou acidentalmente uma " "partição.\n" #: parted/parted.c:2418 msgid "mkpartfs" msgstr "mkpartfs" #: parted/parted.c:2421 #, fuzzy msgid "" "mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system" msgstr "mkpartfs TIPO-PART TIPO-FS INICIO FIM cria uma partição TIPO-FS" #: parted/parted.c:2427 msgid "move" msgstr "move" #: parted/parted.c:2430 #, fuzzy msgid "move NUMBER START END move partition NUMBER" msgstr "move MINOR INICIO [FIM] move a partição MINOR" #: parted/parted.c:2435 msgid "name" msgstr "name" #: parted/parted.c:2438 #, fuzzy msgid "name NUMBER NAME name partition NUMBER as NAME" msgstr "name MINOR NAME renomeia a partição MINOR para NAME" #: parted/parted.c:2443 msgid "print" msgstr "print" #: parted/parted.c:2446 msgid "" "print [devices|free|list,all|NUMBER] display the partition table, " "available devices, free space, all found partitions, or a particular " "partition" msgstr "" #: parted/parted.c:2451 msgid "" "Without arguments, 'print' displays the entire partition table. However with " "the following arguments it performs various other actions.\n" msgstr "" #: parted/parted.c:2453 msgid " devices : display all active block devices\n" msgstr "" #: parted/parted.c:2454 msgid "" " free : display information about free unpartitioned space on the " "current block device\n" msgstr "" #: parted/parted.c:2456 msgid "" " list, all : display the partition tables of all active block devices\n" msgstr "" #: parted/parted.c:2457 msgid "" " NUMBER : display more detailed information about this particular " "partition\n" msgstr "" #: parted/parted.c:2462 msgid "quit" msgstr "quit" #: parted/parted.c:2465 #, fuzzy msgid "quit exit program" msgstr "quit sair do programa" #: parted/parted.c:2470 #, fuzzy msgid "rescue" msgstr "resize" #: parted/parted.c:2473 #, fuzzy msgid "" "rescue START END rescue a lost partition near START " "and END" msgstr "print mostra a tabela de partições" #: parted/parted.c:2479 msgid "resize" msgstr "resize" #: parted/parted.c:2482 #, fuzzy msgid "" "resize NUMBER START END resize partition NUMBER and its " "file system" msgstr "resize MINOR INICIO FIM redimensiona a partição MINOR" #: parted/parted.c:2490 msgid "rm" msgstr "rm" #: parted/parted.c:2493 #, fuzzy msgid "rm NUMBER delete partition NUMBER" msgstr "rm MINOR apaga a partição MINOR" #: parted/parted.c:2498 msgid "select" msgstr "select" #: parted/parted.c:2501 #, fuzzy msgid "select DEVICE choose the device to edit" msgstr "select DEVICE seleciona o dispositivo a editar" #: parted/parted.c:2506 msgid "set" msgstr "set" #: parted/parted.c:2509 #, fuzzy msgid "" "set NUMBER FLAG STATE change the FLAG on partition NUMBER" msgstr "set MINOR FLAG ESTADO muda o sinalizador na partição MINOR" #: parted/parted.c:2515 msgid "toggle" msgstr "" #: parted/parted.c:2518 msgid "" "toggle [NUMBER [FLAG]] toggle the state of FLAG on " "partition NUMBER" msgstr "" #: parted/parted.c:2524 #, fuzzy msgid "unit" msgstr "quit" #: parted/parted.c:2527 #, fuzzy msgid "unit UNIT set the default unit to UNIT" msgstr "print mostra a tabela de partições" #: parted/parted.c:2532 msgid "version" msgstr "" #: parted/parted.c:2535 #, fuzzy msgid "" "version display the version number and " "copyright information of GNU Parted" msgstr "print mostra a tabela de partições" #: parted/parted.c:2539 msgid "" "'version' displays copyright and version information corresponding to this " "copy of GNU Parted\n" msgstr "" #: parted/parted.c:2607 #, c-format msgid "Usage: %s [-hlmsv] [-a] [DEVICE [COMMAND [PARAMETERS]]...]\n" msgstr "" #: parted/parted.c:2651 msgid "No device found" msgstr "Nenhum dispositivo encontrado" #: parted/parted.c:2688 msgid "WARNING: You are not superuser. Watch out for permissions." msgstr "" #: parted/parted.c:2726 msgid "You may need to update /etc/fstab.\n" msgstr "" #: parted/ui.c:162 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n" msgstr "" #: parted/ui.c:165 #, fuzzy msgid "" "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n" "Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run " "in\n" "interactive mode.\n" msgstr "" "Uso: parted [OPCOES]... [DISPOSITIVO [COMANDO [PARAMETROS]...]...]\n" "Aplica COMANDO com PARAMETROS em DISPOSITIVO. Se não for dado nenhum\n" "COMANDO, executa em modo interativo.\n" #: parted/ui.c:170 #, c-format msgid "" "\n" "\n" "You found a bug in GNU Parted! Here's what you have to do:\n" "\n" "Don't panic! The bug has most likely not affected any of your data.\n" "Help us to fix this bug by doing the following:\n" "\n" "Check whether the bug has already been fixed by checking\n" "the last version of GNU Parted that you can find at:\n" "\n" "\thttp://ftp.gnu.org/gnu/parted/\n" "\n" "Please check this version prior to bug reporting.\n" "\n" "If this has not been fixed yet or if you don't know how to check,\n" "please visit the GNU Parted website:\n" "\n" "\thttp://www.gnu.org/software/parted\n" "\n" "for further information.\n" "\n" "Your report should contain the version of this release (%s)\n" "along with the error message below, the output of\n" "\n" "\tparted DEVICE unit co print unit s print\n" "\n" "and the following history of commands you entered.\n" "Also include any additional information about your setup you\n" "consider important.\n" msgstr "" #: parted/ui.c:291 msgid "" "\n" "Command History:\n" msgstr "" #: parted/ui.c:354 msgid "" "\n" "Error: SEGV_MAPERR (Address not mapped to object)\n" msgstr "" #: parted/ui.c:360 msgid "" "\n" "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n" msgstr "" #: parted/ui.c:365 msgid "" "\n" "Error: A general SIGSEGV signal was encountered.\n" msgstr "" #: parted/ui.c:389 msgid "" "\n" "Error: FPE_INTDIV (Integer: divide by zero)" msgstr "" #: parted/ui.c:394 msgid "" "\n" "Error: FPE_INTOVF (Integer: overflow)" msgstr "" #: parted/ui.c:399 msgid "" "\n" "Error: FPE_FLTDIV (Float: divide by zero)" msgstr "" #: parted/ui.c:404 msgid "" "\n" "Error: FPE_FLTOVF (Float: overflow)" msgstr "" #: parted/ui.c:409 msgid "" "\n" "Error: FPE_FLTUND (Float: underflow)" msgstr "" #: parted/ui.c:414 msgid "" "\n" "Error: FPE_FLTRES (Float: inexact result)" msgstr "" #: parted/ui.c:419 msgid "" "\n" "Error: FPE_FLTINV (Float: invalid operation)" msgstr "" #: parted/ui.c:424 msgid "" "\n" "Error: FPE_FLTSUB (Float: subscript out of range)" msgstr "" #: parted/ui.c:429 msgid "" "\n" "Error: A general SIGFPE signal was encountered." msgstr "" #: parted/ui.c:453 msgid "" "\n" "Error: ILL_ILLOPC (Illegal Opcode)" msgstr "" #: parted/ui.c:458 msgid "" "\n" "Error: ILL_ILLOPN (Illegal Operand)" msgstr "" #: parted/ui.c:463 msgid "" "\n" "Error: ILL_ILLADR (Illegal addressing mode)" msgstr "" #: parted/ui.c:468 msgid "" "\n" "Error: ILL_ILLTRP (Illegal Trap)" msgstr "" #: parted/ui.c:473 msgid "" "\n" "Error: ILL_PRVOPC (Privileged Opcode)" msgstr "" #: parted/ui.c:478 msgid "" "\n" "Error: ILL_PRVREG (Privileged Register)" msgstr "" #: parted/ui.c:483 msgid "" "\n" "Error: ILL_COPROC (Coprocessor Error)" msgstr "" #: parted/ui.c:488 msgid "" "\n" "Error: ILL_BADSTK (Internal Stack Error)" msgstr "" #: parted/ui.c:493 msgid "" "\n" "Error: A general SIGILL signal was encountered." msgstr "" #: parted/ui.c:892 #, fuzzy, c-format msgid "invalid token: %s" msgstr "Tabela de partições inválida em %s" #: parted/ui.c:1048 #, fuzzy msgid "Expecting a partition number." msgstr "A partição destino está sendo utilizada." #: parted/ui.c:1057 msgid "Partition doesn't exist." msgstr "A partição não existe." #: parted/ui.c:1077 #, fuzzy msgid "Expecting a file system type." msgstr "Tipo de sistema de arquivos desconhecido." #: parted/ui.c:1084 #, fuzzy, c-format msgid "Unknown file system type \"%s\"." msgstr "Tipo de sistema de arquivos desconhecido." #: parted/ui.c:1104 msgid "Expecting a disk label type." msgstr "" #: parted/ui.c:1202 #, fuzzy msgid "Can't create any more partitions." msgstr "Não posso adicionar outra partição." #: parted/ui.c:1212 #, fuzzy msgid "Expecting a partition type." msgstr "A partição destino não existe." #: parted/ui.c:1360 msgid "on" msgstr "on" #: parted/ui.c:1361 msgid "off" msgstr "" #: parted/ui.c:1378 msgid "optimal" msgstr "" #: parted/ui.c:1379 msgid "minimal" msgstr "" #: parted/ui.c:1512 msgid "OPTIONs:" msgstr "OPÇÕESs:" #: parted/ui.c:1517 msgid "COMMANDs:" msgstr "COMANDOs:" #: parted/ui.c:1520 #, c-format msgid "" "\n" "Report bugs to %s\n" msgstr "" #: parted/ui.c:1527 #, fuzzy, c-format msgid "Using %s\n" msgstr "" "\n" "Usando %s\n" #: parted/ui.c:1601 msgid "This command does not make sense in non-interactive mode.\n" msgstr "" #, fuzzy #~ msgid "Unable to determine the block size of this dasd" #~ msgstr "Impossível determinar tamanho de %s (%s)" #~ msgid "" #~ "The sector size on %s is %d bytes. Parted is known not to work properly " #~ "with drives with sector sizes other than 512 bytes" #~ msgstr "" #~ "O tamanho do setor em %s é %d bytes. O Parted é conhecido por não " #~ "funcionar perfeitamente com discos com setores diferentes de 512 bytes" #~ msgid "Device %s has dodgey geometry." #~ msgstr "Dispositivo %s tem uma geometria estranha." #~ msgid "unknown" #~ msgstr "desconhecido" #~ msgid "Unknown SCSI" #~ msgstr "SCSI desconhecido" #~ msgid "Device %s is neither a SCSI nor IDE drive." #~ msgstr "O dispositivo %s não é um drive SCSI ou IDE." #~ msgid "" #~ "The partition table on %s is inconsistent. There are many reasons why " #~ "this might be the case. However, the most likely reason is that Linux " #~ "detected the BIOS geometry for %s incorrectly. GNU Parted suspects the " #~ "real geometry should be %d/%d/%d (not %d/%d/%d). You should check with " #~ "your BIOS first, as this may not be correct. You can inform Linux by " #~ "adding the parameter %s=%d,%d,%d to the command line. See the LILO or " #~ "GRUB documentation for more information. If you think Parted's suggested " #~ "geometry is correct, you may select Ignore to continue (and fix Linux " #~ "later). Otherwise, select Cancel (and fix Linux and/or the BIOS now)." #~ msgstr "" #~ "A tabela de partições em %s é inconsistente. Há várias razões para isto " #~ "ocorrer. A mais certa seria o Linux detectar a geometria do BIOS para %s " #~ "incorretamente. O GNU Parted suspeita que a geometria real deveria ser %d/" #~ "%d/%d (e não %d/%d/%d). Você deve checar com seu BIOS primeiro, pois isto " #~ "pode não ser correto. Você pode informar o Linux adicionando o parâmetro " #~ "%s=%d,%d,%d na linha de comando. Veja a documentação do LILO ou GRUB para " #~ "maiores informações. Se você acha que a geometria sugeria pelo Parted é a " #~ "correta, pode selecionar Ignorar para continuar (e arrumar o Linux " #~ "depois). De outra maneira, selecione Cancelar (e arrume o Linux e/ou o " #~ "BIOS agora)." #~ msgid "" #~ "The partition table on %s is inconsistent. There are many reasons why " #~ "this might be the case. Often, the reason is that Linux detected the " #~ "BIOS geometry incorrectly. However, this does not appear to be the case " #~ "here. It is safe to ignore,but ignoring may cause (fixable) problems " #~ "with some boot loaders, and may cause problems with FAT file systems. " #~ "Using LBA is recommended." #~ msgstr "" #~ "A tabela de partições em %s está inconsistente. Há várias razões para " #~ "isto ocorrer. Muitas vezes, o Linux detecta a geometria do BIOS " #~ "incorretamente. Porém, isso não parece ser o caso aqui. É seguro ignorar, " #~ "mas isso pode causar problemas (solucionáveis) com alguns gerenciadores " #~ "de boot. É recomendável usar LBA." #~ msgid "" #~ "Unable to align partition properly. This probably means that another " #~ "partitioning tool generated an incorrect partition table, because it " #~ "didn't have the correct BIOS geometry. It is safe to ignore,but ignoring " #~ "may cause (fixable) problems with some boot loaders." #~ msgstr "" #~ "Impossível alinhar a partição propriamente. Isso provavelmente significa " #~ "que outra ferramenta de particionamento gerou uma tabela de partições " #~ "incorreta porque não tinha a geometria na BIOS correta. É seguro ignorar, " #~ "mas isto pode causar problemas (solucionáveis) com alguns gerenciadores " #~ "de boot." #~ msgid "GUID Partition Table Header Signature is wrong: " #~ msgstr "A Assinatura do Cabeçalho da Tabela de Partições GUID está errada: " #~ msgid " should be " #~ msgstr " deveria ser " #~ msgid "GPT Header CRC check failed, %x should be %x." #~ msgstr "Checagem de CRC no cabeçalho GPT falhou, %x deveria ser %x." #~ msgid "GPT Partition Entry Array CRC check failed, %x should be %x." #~ msgstr "" #~ "Checagem de CRC na Matriz de Entradas de Partição GPT falhou, %x deveria " #~ "ser %x." #~ msgid "" #~ "This disk contains a valid Primary and Alternate GUID Partition Table but " #~ "the Protective MBR is invalid. This generally means that the disk had " #~ "GPT partitions on it, but then a legacy partition editing tool was used " #~ "to change the partition table stored in the MBR.\n" #~ "Which data is valid, GPT or MBR?\n" #~ "Yes will assume that the GPT information is correct, and rewrite the " #~ "PMBR.\n" #~ "No will assume that the MBR is correct, and erase the GPT information.\n" #~ "Ignore will assume that the MBR is correct, but not change the disk." #~ msgstr "" #~ "Esse disco contém as Tabelas de Partições GUID primária e alternativa " #~ "corretas, mas a Protective MBR é inválida. Isso geralmente significa que " #~ "o disco tinha partições GPT, mas um programa padrão de particionamento " #~ "foi usado para mudar a tabela de partições gravada na MBR.\n" #~ "Quais dados são válidos, GPT ou MBR?\n" #~ "Sim: assume que a informação na GPT é a correta, e reescreve a PMBR.\n" #~ "Não: assume que a MBR é a correta, e apaga as informações na GPT.\n" #~ "Ignorar: assume que a MBR é correta, mas não altera o disco." #~ msgid "" #~ "This disk contains a valid Alternate GUID Partition Table but the Primary " #~ "GPT and Protective MBR are invalid. This generally means that the disk " #~ "had GPT partitions on it, but then a legacy partition editing tool was " #~ "used to change the partition table stored in the MBR.\n" #~ "Which data is valid, GPT or MBR?\n" #~ "Yes will assume that the GPT information is correct, and will rewrite the " #~ "PMBR and Primary GPT.\n" #~ "No will assume that the MBR is correct, and erase the GPT information.\n" #~ "Ignore will assume that the MBR is correct, but not change the disk." #~ msgstr "" #~ "Esse disco contém uma Tabela de Partição GUID alternativa correta, mas a " #~ "GPT primária e a Protective MBR são inválidas. Isso geralmente significa " #~ "que o disco tinha partições GPT, mas um programa padrão de " #~ "particionamento foi usado para mudar a tabela de partições gravada na " #~ "MBR.\n" #~ "Quais dados são válidos, GPT ou MBR?\n" #~ "Sim: assume que a informação na GPT é a correta, e reescreve a PMBR e a " #~ "GPT primária.\n" #~ "Não: assume que a MBR é a correta, e apaga as informações na GPT.\n" #~ "Ignorar: assume que a MBR é correta, mas não altera o disco." #~ msgid "" #~ "This disk contains a valid Primary GUID Partition Table but the Alternate " #~ "GPT and Protective MBR are invalid. This generally means that the disk " #~ "had GPT partitions on it, but then a legacy partition editing tool was " #~ "used to change the partition table stored in the MBR.\n" #~ "Which data is valid, GPT or MBR?\n" #~ "Yes will assume that the GPT information is correct, and will rewrite the " #~ "PMBR and Alternate GPT.\n" #~ "No will assume that the MBR is correct, and erase the GPT information.\n" #~ "Ignore will assume that the MBR is correct, but not change the disk.\n" #~ msgstr "" #~ "Esse disco contém uma Tabela de Partição GUID primária correta, mas a GPT " #~ "alternativa e a Protective MBR são inválidas. Isso geralmente significa " #~ "que o disco tinha partições GPT, mas um programa padrão de " #~ "particionamento foi usado para mudar a tabela de partições gravada na " #~ "MBR.\n" #~ "Quais dados são válidos, GPT ou MBR?\n" #~ "Sim: assume que a informação na GPT é a correta, e reescreve a PMBR e a " #~ "GPT alternativa.\n" #~ "Não: assume que a MBR é a correta, e apaga as informações na GPT.\n" #~ "Ignorar: assume que a MBR é correta, mas não altera o disco.\n" #~ msgid "The new partition overlaps with another partition." #~ msgstr "A nova partição sobrepõe alguma outra partição" #~ msgid "Can't set non-Linux partitions as a root device." #~ msgstr "Não posso configurar partições não Linux como uma partição root." #~ msgid "Can't set non-Linux partitions as a swap device." #~ msgstr "Não posso configurar partições não Linux como uma partição swap." #~ msgid "No get_resize_constraint for %s!" #~ msgstr "Não há get_resize_constraint para %s!" #~ msgid "The %s file system code doesn't support %s disk labels." #~ msgstr "O código do sistema de arquivos %s não suporta rótulos de disco %s." #~ msgid "Creating new %s disklabels is not implemented yet." #~ msgstr "Criação de novos rótulos %s não está implementado ainda." #~ msgid "The code to write the partition table hasn't been written for %s yet" #~ msgstr "" #~ "O código para escrever a tabela de partições ainda não foi escrito para " #~ "%s." #~ msgid "Error reading %s (%s) to determine if partition is mounted." #~ msgstr "Erro lendo %s (%s) para determinar se a partição está montada." #~ msgid "Can't grow a partition onto used space." #~ msgstr "Não posso aumentar a partição acima de algum espaço utilizado." #~ msgid "Attempt to read sectors %ld-%ld outside of partition on %s" #~ msgstr "Tentativa de ler setores %ld-%ld fora da partição em %s" #~ msgid "" #~ "This ext2 filesystem has a rather strange layout! Parted can't resize " #~ "this (yet)." #~ msgstr "" #~ "Este sistema de arquivos ext2 tem uma aparência muito estranha! O Parted " #~ "não pode redimensioná-lo (ainda)." #~ msgid "Filesystem has incompatible feature enabled" #~ msgstr "Sistema de arquivos tem uma característica incompatível habilitada" #~ msgid "Insane! %d clusters!" #~ msgstr "Insano! %d clusters!" #~ msgid "" #~ "The filesystem is going to be too big for FAT16, so FAT32 will be used. " #~ "This is not compatible with MS-DOS, early versions of MS-Windows 95 and " #~ "Windows NT. If you use these operating systems, then select cancel, and " #~ "create a smaller partition. If you only use Linux, BSD, MS Windows 98 " #~ "and/or MS Windows 95 B, then select OK." #~ msgstr "" #~ "O sistema de arquivos será muito grande para FAT16, então será usado " #~ "FAT32. Isto não é compatível com o MS-DOS, versões antigas do MS-Windows " #~ "95 e Windows NT. Se você utiliza estes sistemas operacionais, selecione " #~ "cancelar, e crie uma partição menor. Se você utiliza somente Linux, BSD, " #~ "MS-Windows 98 e/ou MS-Windows 95 B, então selecione OK." #~ msgid "Weird: fat_calc_sizes() failed for FAT32!" #~ msgstr "Estranho: fat_calc_sizes() falhou para a FAT32!" #~ msgid "" #~ "Would you like to use FAT32 for this filesystem? It is much more " #~ "efficient with your disk space, but is not compatible with early versions " #~ "of Windows 95 and Windows NT. Only select yes if you only use Linux, " #~ "BSD, MS Windows 98 and/or MS Windows 95 B." #~ msgstr "" #~ "Você gostaria de usar a FAT32 para este sistema de arquivos? É muito mais " #~ "eficiente com o espaço em disco, mas não é compatível com versões antigas " #~ "do Windows 95 e Windows NT. Somente selecione sim se você só utilizar " #~ "Linux, BSD, MS-Windows 98 e/ou MS-Windows 95 B." #~ msgid "" #~ "File system doesn't have expected sizes for Windows to like it. Number " #~ "of clusters is %d (%d expected); size of FATs is %d sectors (%d expected)." #~ msgstr "" #~ "O sistema de arquivos não tem o tamanho esperado para que o Windows " #~ "utilize. O tamanho do cluster é %dk (%dk esperado); tamanho da FAT é %d " #~ "setores (%d esperado)." #~ msgid "File system has an invalid signature for a FAT file systems." #~ msgstr "Sistema de arquivos tem uma assinatura inválida para um FAT." #~ msgid "" #~ "Partition size (%ld sectors) and filesystem size (%ld sectors) do not " #~ "match." #~ msgstr "" #~ "Tamanho de partição (%ld setores) e tamanho do sistema de arquivos (%ld " #~ "setores) não batem." #~ msgid "" #~ "The FATs aren't big enough to describe all clusters! Each FAT is %d " #~ "sectors. There are %d clusters, which would require each FAT to be %d " #~ "sectors. This is REALLY weird. You might want to write us an email: bug-" #~ "parted@gnu.org" #~ msgstr "" #~ "As FATs não são grandes o suficiente para descrever todos os clusters! " #~ "Cada FAT tem %d setores. Existem %d clusters, os quais requerem que cada " #~ "FAT tenha %d setores. Isto é REALMENTE estranho. Você pode querer nos " #~ "escrever um email: bug-parted@gnu.org" #~ msgid "" #~ "This swap partition is not compatible with Linux version 2.1.117 or " #~ "earlier. Use a smaller partition (maximum size 128mb) if you want to use " #~ "old versions of Linux." #~ msgstr "" #~ "Esta partição swap não é compatível com o Linux versão 2.1.117 ou " #~ "anterior. Utilize uma partição menor (máximo de 128mb) se você quiser " #~ "utilizar versões antigas do Linux." #~ msgid "Linux-swap partitions can not be hidden on msdos disk labels." #~ msgstr "" #~ "Partições Linux-swap não podem ser escondidas em rótulos de disco msdos." #~ msgid "Linux-swap partitions can not be bootable on pc98 disk labels." #~ msgstr "" #~ "Partições Linux-swap não podem ser inicializáveis em rótulos de disco " #~ "pc98." #~ msgid "HFS partitions can't be hidden on msdos disk labels." #~ msgstr "Partições HFS não podem ser escondidas em rótulos de disco msdos." #~ msgid "JFS partitions can't be hidden on msdos disk labels." #~ msgstr "Partições JFS não podem ser escondidas em rótulos de disco msdos." #~ msgid "Reiserfs partitions can't be hidden on msdos disk labels." #~ msgstr "" #~ "Partições ReiserFS não podem ser escondidas em rótulos de disco msdos." #~ msgid "Reiserfs partitions must be bootable on pc98 disk labels." #~ msgstr "" #~ "Partições ReiserFS devem ser inicializáveis em rótulos de disco pc98." #~ msgid "XFS partitions can't be hidden on msdos disk labels." #~ msgstr "Partições XFS não podem ser escondidas em rótulos de disco msdos." #~ msgid "where necessary, prompts for user intervention" #~ msgstr "quando necessário, pede intervenção do usuário" #~ msgid "START and END are in megabytes\n" #~ msgstr "INICIO e FIM são em megabytes\n" #~ msgid "" #~ "You requested to move the partition to %.3f-%.3fMb. The closest Parted " #~ "can manage is %.3f-%.3fMb." #~ msgstr "" #~ "Você comandou a movimentação da partição para %.3f-%.3fMb. O mais perto " #~ "que o Parted pode chegar é %.3f-%.3fMb." #~ msgid "Disk geometry for %s: 0.000-%.3f megabytes\n" #~ msgstr "Geometria de disco para %s: 0.000-%.3f megabytes\n" #~ msgid "Minor Start End " #~ msgstr "Minor Início Fim " #~ msgid "Type " #~ msgstr "Tipo " #~ msgid "Name " #~ msgstr "Nome " #~ msgid "" #~ "You requested to resize the partition to %.3f-%.3fMb. The closest Parted " #~ "can manage is %.3f-%.3fMb." #~ msgstr "" #~ "Você comandou o redimensionamento da partição para %.3f-%.3fMb. O mais " #~ "perto que o Parted pode chegar é %.3f-%.3fMb." #~ msgid "" #~ "You found a bug in GNU Parted. Please email a bug report to bug-" #~ "parted@gnu.org containing the version (%s), and the following message:\n" #~ msgstr "" #~ "Você encontrou um bug no GNU parted. Por favor envie um relatório para " #~ "bug-parted@gnu.org\n" #~ "contendo a versão (%s), e a mensagem abaixo:\n" #~ msgid "" #~ " You have Windows FAT partition(s) that are not using LBA. If your BIOS " #~ "supports LBA, then you should switch to LBA by setting the LBA flag on " #~ "all FAT partitions. Otherwise, make sure the operating system and the " #~ "BIOS have the same geometry before resizing any FAT partitions." #~ msgstr "" #~ " Você tem partições FAT Windows que não estão usando LBA. Se seu BIOS " #~ "suporta LBA, você deveria mudar para LBA ligando o sinalizador LBA em " #~ "todas as partições FAT. De outro modo, tenha certeza que o sistema " #~ "operacional e o BIOS têm a mesma geometria antes de redimensionar " #~ "quaisquer partições FAT." #~ msgid "" #~ "The operating system thinks the geometry on %s is %d/%d/%d. Therefore, " #~ "cylinder 1024 ends at %.3fM.%s" #~ msgstr "" #~ "O sistema operacional acha que a geometria de %s é %d/%d/%d. Porém, o " #~ "cilindro 1024 termina em %.3fM.%s" #~ msgid "The operating system thinks the geometry on %s is %d/%d/%d.%s" #~ msgstr "O sistema operacional acha que a geometria de %s é %d/%d/%d.%s" parted-2.3/po/rw.gmo0000644000000000000000000000204211400005706011265 00000000000000Þ•¬<°±¸¾Ä Ë×ÚÝãëó÷ý  ƒ›¢ ¨³ ºÆÊÎßçïôü    CancelErrorFlagsIgnoreInformationNoOKRetryUnknownWarningYescheckhiddennameoffonselectProject-Id-Version: parted 1.6.6 Report-Msgid-Bugs-To: bug-parted@gnu.org POT-Creation-Date: 2010-05-28 20:30+0200 PO-Revision-Date: 2005-04-04 10:55-0700 Last-Translator: Steven Michael Murphy Language-Team: Kinyarwanda Language: rw MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit KurekaIkosaAmabenderaKurekaIbisobanuroOyaOKEOngera ugeragezeKitazwiIburiraYegogenzuragihishweizinabidakorakuriguhitamoparted-2.3/po/Makevars0000644000000000000000000000501311400005575011632 00000000000000# -*- buffer-read-only: t -*- vi: set ro: # DO NOT EDIT! GENERATED AUTOMATICALLY! # Makefile variables for PO directory in any package using GNU gettext. # Usually the message domain is the same as the package name. DOMAIN = $(PACKAGE) # These two variables depend on the location of this directory. subdir = po top_builddir = .. # These options get passed to xgettext. XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ \ \ --flag=_:1:pass-c-format\ --flag=N_:1:pass-c-format\ --flag=error:3:c-format --flag=error_at_line:5:c-format\ \ --from-code=UTF-8\ --flag=asprintf:2:c-format\ --flag=asnprintf:3:c-format\ --flag=error:3:c-format\ --flag=error_at_line:5:c-format\ --flag=vasprintf:2:c-format\ --flag=vasnprintf:3:c-format\ --flag=wrapf:1:c-format\ --flag=xasprintf:1:c-format\ --flag=xfprintf:2:c-format\ --flag=xprintf:1:c-format\ \ --keyword=proper_name:1,'"This is a proper name. See the gettext manual, section Names."'\ --keyword=proper_name_utf8:1,'"This is a proper name. See the gettext manual, section Names."'\ $${end_of_xgettext_options+} # This is the copyright holder that gets inserted into the header of the # $(DOMAIN).pot file. Set this to the copyright holder of the surrounding # package. (Note that the msgstr strings, extracted from the package's # sources, belong to the copyright holder of the package.) Translators are # expected to transfer the copyright for their translations to this person # or entity, or to disclaim their copyright. The empty string stands for # the public domain; in this case the translators are expected to disclaim # their copyright. COPYRIGHT_HOLDER = Free Software Foundation, Inc. # This is the email address or URL to which the translators shall report # bugs in the untranslated strings: # - Strings which are not entire sentences, see the maintainer guidelines # in the GNU gettext documentation, section 'Preparing Strings'. # - Strings which use unclear terms or require additional context to be # understood. # - Strings which make invalid assumptions about notation of date, time or # money. # - Pluralisation problems. # - Incorrect English spelling. # - Incorrect formatting. # It can be your email address, or a mailing list address where translators # can write to without being subscribed, or the URL of a web page through # which the translators can contact you. MSGID_BUGS_ADDRESS = bug-parted@gnu.org # This is the list of locale categories, beyond LC_MESSAGES, for which the # message catalogs shall be used. It is usually empty. EXTRA_LOCALE_CATEGORIES = parted-2.3/po/cs.gmo0000644000000000000000000021143711400005705011253 00000000000000Þ•!$×,"ˆ-;‰-Å00Ø00 12:1*m1-˜1$Æ1*ë122%I2,o2&œ2)Ã2&í2,3#A3$e3!Š3&¬3(Ó3<ü3394m40„4,µ45â4P5/i5]™5G÷5&?6f6ƒ6 Š6+•6+Á6í6# 7#07T70r70£7Ô70ó7($8(M8v8 –8'·8%ß8)9/9'O9`w92Ø:< ;H;];{;š;7°;(è;%<7<T<p<Žr<^=`=Wd=¼=]Ù=Õ7> ?"?+5?Ba?F¤?!ë?0 @<>@D{@!À@Pâ@]3AH‘AÚAúA$BD=B‚B"˜B-»B‡éBqC uCLC>ÌC D!(D)JD!tDG–D(ÞD<E@DE2…E"¸E?ÛE!F2=FpF0wF]¨F=GDDGI‰GÓGZæGoAH"±I*ÔIÿI4J5RJ(ˆJ±JÐJïJK-KIKfK)†K-°K$ÞKL<"L=_LL½LÝLýLM:M4XMM8ªM'ãM7 NCN'ZN‚N8žN8×NOë.O#P>P/YP ‰Q –Q¡Q°Q´Q¹Q¿QØÞQ&·RÞR(óRBS$_S„S¡S¿SÝS:ùS\4T=‘T?ÏT>UNU_U&sUšU  U¬U ½U¶ÉU€V>’V*ÑVLüV=IW;‡W/ÃW<óW+0XH\X*¥XÐXðX>YAYÁYÅYÕY ÛYHæY /ZK:Z0†Z}·Zc5[ ™[¥[´[È[Ûá[I½\G^UO^¥^¬^-Ì^ú^ ` `$`;`X`t`9Œ`Æ`4Ö`4 a@a$_a„a–a)±aKÛa>'blfb:ÓbDcmScÁcØcçcdd d+d;d”Vdëd ðdüd eee1eAeJeie…e8ŸeØe¢öe™f±f¸f»f+Äf/ðf/ gPg0_g?gTÐg.%h)Th.~hN­hQühNici)|i¦i¶i-Èiöi"j#)jMjejC€j$ÄjéjœïjŒk,¦kÓkØk7çk*l+Jl3vl7ªlâlñl mmmmH7m<€m;½m<ùmM6n;„n>Àn<ÿnDÚop‚5pí¸pÖ¦q<}rHºr<s@s‚ÂsFEt/Œt^¼tpuoŒucüu``vhÁvH*wHsw ¼wÙÝw*·x?âx0"y0Syˆ„zš {¨{,*|W|u|7•|¨Í|¶v~@-@nR¯g€gj€/Ò€t7wp¯; ‚E\‚<¢‚Fß‚:&ƒƒaƒfåƒ;L„Uˆ„Þ„ò„…+…&>…e…0ç…1†ˆJ†1Ó†2‡8‡=‡(N‡(w‡& ‡tLJ(<ˆAeˆ§ˆºˆ3ш‰ ‰‰2‰N‰c‰u‰‡‰ ™‰¦‰¾‰$Ô‰*ù‰$Š DŠåŠ ùŠ#‹#'‹K‹;e‹¡‹H©‹+ò‹?Œˆ^ŒçŒ;3W/‹+»'ç#Ž3ŽSŽoŽŽ˜Ž#œŽbÀŽ~#P¢?ó39? AOTMZ¨±ÉÑNÔ#‘!,‘N‘c‘ ~‘ˆ‘)‘‘.»‘.ê‘’’2’O7’‡’ Ž’™’ «’¹’+½’é’ñ’õ’“““Q“n“9u“¯“L¸“” ”>”Q”Y”F^”#¥”ɔ͔ ДÛ”ô”…ù”)•©•®•¶•”¼•Q–5V–Œ–‘– £–®–É–SЖ$—T+—€—@ƒ—Ä—É— ä—ï—˜B˜R˜LV˜ £˜­˜Øâ˜ç˜Uî˜D™V™i™En™´™k¼™ (š"4šWšrššs¦šWœrŸ+‰Ÿ+µŸ-áŸ. 3> ,r 4Ÿ 1Ô +¡22¡0e¡/–¡&Æ¡2í¡+ ¢'L¢)t¢0ž¢+Ï¢Cû¢3?£s£?‹£5Ë£5¤O7¤>‡¤eƤQ,¥&~¥¥¥Ä¥ Ë¥4Ö¥4 ¦@¦)^¦(ˆ¦±¦9ͦ:§B§,]§&Ч"±§"Ô§%÷§+¨!I¨$k¨%¨/¶¨[æ¨5BªCxª¼ªϪëª «8«&X«-«­«Ì«é«”í«e‚¬è¬Më¬9­hV­¿­Ç®Û®&ë®D¯NW¯¦¯.¾¯2í¯G °*h°b“°pö°Wg±7¿±÷±(²M=²&‹²²²)ϲ†ù²€³ †³O‘³Cá³%´'D´3l´" ´<ôµ>µ7]µ8•µ(εA÷µ'9¶=a¶Ÿ¶D§¶[ì¶SH·Uœ·Jò·=¸wP¸lȸ+5º+aº"º0°º1áº+»?»]»{»™»·»Ô»ó»+ ¼+9¼!e¼ ‡¼<¨¼=å¼ #½ D½ e½ †½§½ǽ7æ½ ¾G?¾$‡¾H¬¾õ¾. ¿8¿1L¿1~¿°¿Ì¿+ÑÀ!ýÀ\Á | ‰Â•¨®µ »ÂûÜÂ0ØÃ Ä'(ÄAPÄ.’ÄÁÄ"áÄÅ!Å@:Åj{ÅIæÅR0ÆSƒÆׯðÆ!Ç &Ç0Ç@ÇVÇÑgÇ9ÈJQÈ*œÈWÇÈIÉ?iÉ7©É]áÉ3?ÊKsÊH¿Ê*Ë3ËENË“”Ë(Ì0Ì MÌZÌSlÌ ÀÌTÎÌ1#̓UÍsÙÍ MÎ YÎeÎxÎã•ÎPyÏUÊÐ[ Ñ |Ñ#†Ñ2ªÑÝÑ ôÒþÒÓ$ÓDÓ\ÓHqÓºÓ6ÍÓ9Ô!>Ô(`Ô‰Ô¡Ô+¾ÔMêÔ98ÕYrÕ?ÌÕW ÖidÖÎÖèÖÿÖ×&× =×H×X×tר ØØ 9ØEØHØZØzØ'‹Ø'³Ø ÛØ7üØ!4ÙµVÙ Ú(Ú0Ú 3Ú3AÚ5uÚ6«ÚâÚ3öÚR*Ûe}Û(ãÛ" Ü,/ÜU\ÜQ²ÜÝÝ4-ÝbÝrÝ9ƒÝ ½Ý"ÊÝ(íÝÞ&3ÞLZÞ%§ÞÍÞ¡ÓÞuß,ß¼ßÅß;Úß/à0Fà;wà?³àóà á 'á 1á<áEáXbáM»áR âQ\â[®âQ ãF\ãU£ã`ùãiZäEÄä% å†0åá·åá™æ4{ç@°ç0ñç‰"è~¬è8+é.dén“érêhuêiÞêrH늻ëXFìXŸì øìöí-î=>îG|îAÄîŒð«“ð|?ñ&¼ñ ãñ"ò4'òÞ\ò¾;ô3úô/.õi^õpÈõ`9ö2šöwÍö1E÷‡w÷@ÿ÷M@øAŽøNÐø:ù‰Zùläù8QúYŠú$äú% û&/ûVû)qû€›û4ü5Qü˜‡ü: ý;[ý—ý›ý,±ý,Þý þt,þ¡þOÁþÿ$&ÿ*Kÿ vÿ €ÿ%Šÿ °ÿÑÿêÿÿÿ )7Tm:Œ-ǹõ¯Ä!Ô!ö96 pS{,ÏFüuC¹Ð6â-)G%q!—¹×ñ%<4@nu‘ä{vgòZ`fj~ƒZ‰ äï \ p)}§ ¶ × â/ð0 0Q ‚  ‰ ª `¯    # 7 J @N  ˜ œ « ´ ¹ ZÁ  =# a Sj ¾ Æ FË   L 'l ” ˜ ›  ³ Ô †Ù 0` ‘  – ¡ Ÿ§ G9L†‹©¼ÛaâDfK²Cµùþ*EJL—T› ðú -2\9–±ÌRÑ$c,&£ÊéÅ[K†]›éÜÁ¸ªÉ"-oižQš‰ØÊ£®¿D'…˜Þ»1TF ^Ë3!…&qf„n™æð;ü³ƒú« %7Jv¡*Œ¨éëMSB¥Â8b!—û¬g¡¢–  ÿa ä%à êV¾ø-p|JΨLÑhMor=¦n)CºxȹgDÓÒÆG§ÍS:^ Vþ†Õõ׺ÔáP,Àç_±C$ëýÐ!µËîxÊ”ò–[Û÷@¯ÀkìA½QàÓ(~5u j’ù)Iô©$OH‚ª#Uf”Ž Zpriy&I ¶mBs4­‚A|HôÕ‘0¯•ÏŠNœKz©×EÌ> ÞŸl\ÆÙy—/7ßó´ã.Šù]Î<åâÒ+£îÿ9(\µv'ú€R°àÂ_±üÜ‘íÄ:¸‹t>{¶k#jÛ­·,0´‡ ûc+òcÝ*UÇè² áEtÍ6öñ˜ìïdƒïöZlþYÇ`»“ Öç? q}í6€²‡wó÷`?œN®<29/dÚÔ§õb5O› óå1‹Øâ "°ÈW¢TÌX·Å=uˆ} ÉR¼äžz¥ˆ™¦eŸwæ„ÐFÙÁÖšèGmñ3ÝÄe¬s¹ðWýYÚÑ¿“꫌P2½Ž¤.ha4LÏ{’ @ã8~¤ ¾ß•¼‰;Xø You found a bug in GNU Parted! Here's what you have to do: Don't panic! The bug has most likely not affected any of your data. Help us to fix this bug by doing the following: Check whether the bug has already been fixed by checking the last version of GNU Parted that you can find at: http://ftp.gnu.org/gnu/parted/ Please check this version prior to bug reporting. If this has not been fixed yet or if you don't know how to check, please visit the GNU Parted website: http://www.gnu.org/software/parted for further information. Your report should contain the version of this release (%s) along with the error message below, the output of parted DEVICE unit co print unit s print and the following history of commands you entered. Also include any additional information about your setup you consider important. Command History: Error: A general SIGFPE signal was encountered. Error: A general SIGILL signal was encountered. Error: A general SIGSEGV signal was encountered. Error: FPE_FLTDIV (Float: divide by zero) Error: FPE_FLTINV (Float: invalid operation) Error: FPE_FLTOVF (Float: overflow) Error: FPE_FLTRES (Float: inexact result) Error: FPE_FLTSUB (Float: subscript out of range) Error: FPE_FLTUND (Float: underflow) Error: FPE_INTDIV (Integer: divide by zero) Error: FPE_INTOVF (Integer: overflow) Error: ILL_BADSTK (Internal Stack Error) Error: ILL_COPROC (Coprocessor Error) Error: ILL_ILLADR (Illegal addressing mode) Error: ILL_ILLOPC (Illegal Opcode) Error: ILL_ILLOPN (Illegal Operand) Error: ILL_ILLTRP (Illegal Trap) Error: ILL_PRVOPC (Privileged Opcode) Error: ILL_PRVREG (Privileged Register) Error: SEGV_ACCERR (Invalid permissions for mapped object) Error: SEGV_MAPERR (Address not mapped to object) Report bugs to <%s>. When no DEVICE is given, probe all partitions. --help display this help and exit --version output version information and exit NUMBER : display more detailed information about this particular partition devices : display all active block devices free : display information about free unpartitioned space on the current block device list, all : display the partition tables of all active block devices "%s" has invalid syntax for locations.%0.f%% (time left %.2d:%.2d)%s %s%s %s %s%s : Bad checksum on block %llu of type %s %s : Bad checksum on block %llu of type %s.%s : Couldn't read block %llu %s : Couldn't read boot block %llu %s : Couldn't read root block %llu %s : Couldn't write block %d %s : Didn't find rdb block, should never happen %s : Didn't find rdb block, should never happen.%s : Failed to allocate block %s : Failed to allocate disk_specific rdb block %s : Failed to allocate id list element %s : Failed to allocate partition block %s : Failed to list bad blocks.%s : Failed to list boot blocks.%s : Failed to list file system blocks.%s : Failed to list partition blocks.%s : Failed to read partition block %llu %s : Loop detected at block %d.%s : The %s list seems bad at block %s.%s contains GPT signatures, indicating that it has a GPT table. However, it does not have a valid fake msdos partition table, as it should. Perhaps it was corrupted -- possibly by a program that doesn't understand GPT partition tables. Or perhaps you deleted the GPT table, and are now using an msdos partition table. Is this a GPT partition table?%s disk labels do not support extended partitions.%s disk labels don't support logical or extended partitions.%s during read on %s%s during seek for read on %s%s during seek for write on %s%s during write on %s%s has no extended partition (volume header partition).%s is %dk, but it has %d clusters (%dk).%s is too small for a Mac disk label!%s trying to sync %s to disk%s: unrecognised disk label''mkpart' makes a partition without creating a new file system on the partition. FS-TYPE may be specified to set an appropriate partition ID. 'version' displays copyright and version information corresponding to this copy of GNU Parted (C)A %s %s partition was found at %s -> %s. Do you want to add it to the partition table?A data set name is corruptedA reference to an extent comes from a place it should not. You should check the file system!A resize operation on this file system will use EXPERIMENTAL code that MAY CORRUPT it (although no one has reported any such damage yet). You should at least backup your data first, and run 'e2fsck -f' afterwards.API version mismatchATARAID ControllerAn error occurred during extent relocation.An error occurred while looking for the mandatory bad blocks file.An extended partition cannot hold a file system. Did you want mkpart?An extent has not been relocated.Assertion (%s) at %s:%d in function %s() failed.Attempt to write sectors %ld-%ld outside of partition on %s.BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s. Backtrace has %d calls on stack: Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or scandisk.Bad FAT: cluster %d outside file system in chain for %s. You should run dosfsck or scandisk.Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk.Bad block list header checksum.Bad blocks could not be read.Bad blocks list could not be loaded.Bad directory entry for %s: first cluster is the end of file marker.Bad journal checksum.Block %i has no reference? Weird.Block %i shouldn't have been marked (%d, %d)!Both the primary and backup GPT tables are corrupt. Try making a fresh table, and using Parted's rescue feature to recover partitions.BugCOMMANDs:Can't add a logical partition to %s, because there is no extended partition.Can't add another partition -- the partition map is too small!Can't add another partition.Can't copy an extended partition.Can't copy onto an overlapping partition.Can't create any more partitions.Can't have a logical partition outside of the extended partition on %s.Can't have a partition outside the disk!Can't have a primary partition inside an extended partition.Can't have logical partitions outside of the extended partition.Can't have more than one extended partition on %s.Can't have overlapping partitions.Can't move a partition onto itself. Try using resize, perhaps?Can't move an extended partition.Can't write to %s, because it is opened read-only.CancelCannot get unit size for special unit 'COMPACT'.Changing the name of a root or swap partition will prevent Linux from recognising it as such.Checksum is wrong, indicating the partition table is corrupt.Clear unused space on a FAT partition (a GNU Parted testing tool). Cluster start delta = %d, which is not a multiple of the cluster size %d.Compaq Smart ArrayConflicting partition map entry sizes! Entry 1 says it is %d, but entry %d says it is %d!Copyright (C) 1998 - 2006 Free Software Foundation, Inc. This program is free software, covered by the GNU General Public License. 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. Corrupted Sun disk label detected.Could not cache the file system in memory.Could not detect file system.Could not find sector %lli of HFS file with CNID %X.Could not find sector %lli of HFS+ file with CNID %X.Could not get identity of device %s - %sCould not read VTOC FMT1 DSCB.Could not read VTOC FMT4 DSCB.Could not read VTOC FMT5 DSCB.Could not read VTOC FMT7 DSCB.Could not read VTOC labels.Could not read volume label.Could not retrieve API version.Could not retrieve blocksize information.Could not retrieve disk geometry information.Could not retrieve disk information.Could not stat device %s - %s.Could not update the extent cache for HFS file with CNID %X.Could not update the extent cache for HFS+ file with CNID %X.Could not write VTOC FMT1 DSCB.Could not write VTOC FMT4 DSCB.Could not write VTOC FMT5 DSCB.Could not write VTOC FMT7 DSCB.Could not write VTOC labels.Could not write volume label.Couldn't create reiserfs device abstraction handler.Couldn't flush buffer cache!Couldn't reopen device abstraction layer for read/write.Couldn't resolve symbol %s. Error: %s.Cross-linked blocks found! Better go run e2fsck first!DAC960 RAID controllerDEVICE is usually /dev/hda or /dev/sda Data relocation has failed.Data relocation left some data at the end of the volume.Data relocation left some data in the end of the volume.Destination partition number?Device %s has multiple (%d) logical sectors per physical sector. GNU Parted supports this EXPERIMENTALLY for some special disk label/file system combinations, e.g. GPT and ext2/3. Please consult the web site for up-to-date information.Device is too small for %lu blocks.Device verification failedDirect support for copying file systems is not yet implemented for %s. However, support for resizing is implemented. Therefore, the file system can be copied if the new partition is at least as big as the old one. So, either shrink the partition you are trying to copy, or copy to a bigger partition.Disk %s: %s Disk ImageDisk is in useEndEnd?ErrorError allocating buffer cache.Error informing the kernel about modifications to partition %s -- %s. This means Linux won't know about any changes you made to %s until you reboot -- so you shouldn't mount it or use it in any way before rebooting.Error initialising SCSI device %s - %sError opening %s: %sError while writing the allocation file.Error while writing the compatibility part of the allocation file.Error writing to the root directory.Expecting a disk label type.Expecting a file system type.Expecting a partition number.Expecting a partition type.Extended partitions cannot be hidden on msdos disk labels.FAT %d media %x doesn't match the boot sector's media %x. You should probably run scandisk.FAT boot sector says clusters are 0 sectors. This is weird. FAT boot sector says logical sector size is 0. This is weird. FAT boot sector says there are no FAT tables. This is weird. FLAG is one of: FS-TYPE is one of: Failed to write partition block at %d.FatalFatal errorFile System: %s File systemFile system doesn't have expected sizes for Windows to like it. Cluster size is %dk (%dk expected); number of clusters is %d (%d expected); size of FATs is %d sectors (%d expected).File system full!File system has an invalid cluster size for a FAT file system.File system has an invalid number of FATs.File system has an invalid number of reserved sectors for a FAT file system.File system has an invalid sector size for a FAT file system.File system has an invalid signature for a FAT file system.File system has errors! You should run e2fsck.File system has too many allocated inodes to remove a group!File system is FAT12, which is unsupported.File system is reporting the free space as %d clusters, not %d clusters.File system is too full to remove a group!File system too small for ext2.File system type?File system was not cleanly unmounted! You should run e2fsck.File system was not cleanly unmounted! You should run e2fsck. Modifying an unclean file system could cause severe corruption.FixFlag to Invert?FlagsFlags: %s Found an inode with a incorrect link count. Better go run e2fsck first!Free SpaceGNU Parted cannot resize this partition to this size. We're working on it!GNU Parted found an invalid libreiserfs library.GNU Parted has detected libreiserfs interface version mismatch. Found %d-%d, required %d. ReiserFS support will be disabled.GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT support will be disabled.Generic IDEI2O ControllerIBM S390 DASD driveIBM iSeries Virtual DASDIf you convert to FAT16, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual).If you convert to FAT32, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual). Also, converting to FAT32 will make the file system unreadable by MS DOS, MS Windows 95a, and MS Windows NT.If you leave your file system as FAT16, then you will have no problems.If you leave your file system as FAT32, then you will not introduce any new problems.IgnoreInconsistent group descriptors!Incorrect magic values in the journal header.Inform the operating system about partition table changes. -d, --dry-run do not actually inform the operating system -s, --summary print a summary of contents -h, --help display this help and exit -v, --version output version information and exit InformationInvalid VTOC.Invalid back referenceInvalid character class nameInvalid collation characterInvalid content of \{\}Invalid free blocks count. Run reiserfsck --check first.Invalid number.Invalid partition table - recursive partition on %s.Invalid partition table on %s -- wrong signature %x.Invalid partition table on %s.Invalid preceding regular expressionInvalid range endInvalid regular expressionInvalid signature %x for Mac disk labels.Invalid size of a transaction block while replaying the journal (%i bytes).Invalid superblock. Are you sure this is an ext2 file system?It seems there is an error in the HFS wrapper: the bad blocks file doesn't contain the embedded HFS+ volume.Journal offset or size is not multiple of the sector size.Journal size mismatch between journal info block and journal header.Journal stored outside of the volume are not supported. Try to desactivate the journal and run Parted again.LABEL-TYPE is one of: Maximum size: Memory allocation failedMemory exhaustedMinimum size: Minor: %d Model: %s (%s) NAME is any word you want NUMBER is the partition number used by Linux. On MS-DOS disk labels, the primary partitions number from 1 to 4, logical partitions from 5 onwards. NameNew device?New disk label type?New state?NoNo ImplementationNo device foundNo matchNo previous regular expressionNo room for partition info.No room for volume label.No valid HFS[+X] signature has been found while opening.No valid partition map found.Not all of the space available to %s appears to be used, you can fix the GPT to use all of the space (an extra %llu blocks) or continue with the current setting? Not enough free inodes!NumberOKOPTIONs:Only logical partitions can be a boot file.Only primary partitions can be root partitions.Only primary partitions can be swap partitions.Out of memory.PART-TYPE is one of: primary, logical, extended Parted can't resize partitions managed by Windows Dynamic Disk.Parted can't use HFS file systems on disks with a sector size not equal to %d bytes.Partition %d has an invalid length of 0 bytes!Partition %d has an invalid signature %x.Partition %d is %s, but the file system is %s.Partition %d isn't aligned to cylinder boundaries. This is still unsupported.Partition %s is being used. You must unmount it before you modify it with Parted.Partition Table: %s Partition doesn't exist.Partition map has no partition map entry!Partition name?Partition number?Partition too big/small for a %s file system.Partition type?Partition(s) on %s are being used.Premature end of regular expressionPromise SX8 SATA DeviceRegular expression too bigReiserfs tree seems to be corrupted. Run reiserfsck --check first.Resizing the HFS+ volume has failed.RetrySTART and END are disk locations, such as 4GB or 10%. Negative values count from the end of the disk. For example, -1s specifies exactly the last sector. STATE is one of: on, off Sector size (logical/physical): %lldB/%lldB SizeSize: Some header fields are not multiple of the sector size.Sorry, HFS cannot be resized that way yet.Sorry, HFS+ cannot be resized that way yet.Sorry, can't move the start of ext2 partitions yet!Sorry, can't move the start of reiserfs partitions yet.Source device?Source partition number?StartStart?SuccessSun disk label is full.Support for adding partitions to AIX disk labels is not implemented yet.Support for checking %s file systems is not implemented yet.Support for copying %s file systems is not implemented yet.Support for creating %s file systems is not implemented yet.Support for duplicating partitions in AIX disk labels is not implemented yet.Support for opening %s file systems is not implemented yet.Support for reading AIX disk labels is is not implemented yet.Support for resizing %s file systems is not implemented yet.Support for setting flags in AIX disk labels is not implemented yet.Support for setting system type of partitions in AIX disk labels is not implemented yet.Support for writing AIX disk labels is is not implemented yet.Syntax error in config fileThe FATs don't match. If you don't know what this means, then select cancel, run scandisk on the file system, and then come back.The Whole Disk partition is the only available one left. Generally, it is not a good idea to overwrite this partition with a real one. Solaris may not be able to boot without it, and SILO (the sparc boot loader) appreciates it as well.The backup GPT table is not at the end of the disk, as it should be. This might mean that another operating system believes the disk is smaller. Fix, by moving the backup to the end (and removing the old backup)?The boot region doesn't start at the start of the partition.The current API version '%d' doesn't match dasd driver API version '%d'!The data region doesn't start at the start of the partition.The device %s has zero length, and can't possibly store a file system or partition table. Perhaps you selected the wrong device?The disk CHS geometry (%d,%d,%d) reported by the operating system does not match the geometry stored on the disk label (%d,%d,%d).The disk has %d cylinders, which is greater than the maximum of 65536.The disk label describes a disk bigger than %s.The driver descriptor says the physical block size is %d bytes, but Linux says it is %d bytes.The existing disk label on %s will be destroyed and all data on this disk will be lost. Do you want to continue?The existing file system will be destroyed and all data on the partition will be lost. Do you want to continue?The ext2 file system passed a basic check. For a more comprehensive check, use the e2fsck program.The extents overflow file should not contain its own extents! You should check the file system.The file %s is marked as a system file. This means moving it could cause some programs to stop working.The file system can only be resized to this size by converting to FAT16.The file system can only be resized to this size by converting to FAT32.The file system contains errors.The file system has the 'dir_index' feature enabled. Parted can only resize the file system if it disables this feature. You can enable it later by running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'.The file system is bigger than its volume!The file system is in an invalid state. Perhaps it is mounted?The file system is in old (unresizeable) format.The file system's CHS geometry is (%d, %d, %d), which is invalid. The partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the file system's CHS geometry will be left unchanged. If you select Fix, the file system's CHS geometry will be set to match the partition table's CHS geometry.The format of the GPT partition table is version %x, which is newer than what Parted can recognise. Please tell us! bug-parted@gnu.orgThe information sector has the wrong signature (%x). Select cancel for now, and send in a bug report. If you're desperate, it's probably safe to ignore.The journal is not empty. Parted must replay the transactions before opening the file system. This will modify the file system.The location %s is outside of the device %s.The maximum head value is %d.The maximum sector value is %d.The partition must have one of the following FS-TYPEs: The partition table cannot be re-read. This means you need to reboot before mounting any modified partitions. You also need to reinstall your boot loader before you reboot (which may require mounting modified partitions). It is impossible do both things! So you'll need to boot off a rescue disk, and reinstall your boot loader from the rescue disk. Read section 4 of the Parted User documentation for more information.The partition table on %s cannot be re-read (%s). This means the Hurd knows nothing about any modifications you made. You should reboot your computer before doing anything with %s.The partition's boot region doesn't occupy the entire partition.The partition's data region doesn't occupy the entire partition.The primary GPT table is corrupt, but the backup appears OK, so that will be used.The reiserfs file system passed a basic check. For a more comprehensive check, run reiserfsck --check.The sector size stored in the journal is not 512 bytes. Parted only supports 512 bytes length sectors.The specified device is not a valid DASD deviceThe volume header or the master directory block has changed while replaying the journal. You should restart Parted.There are no possible configurations for this FAT type.There's not enough room in the root directory for all of the files. Either cancel, or ignore to lose the files.This HFS volume has no catalog file. This is very unusual!This HFS volume has no extents overflow file. This is quite unusual!This HFS+ volume has no catalog file. This is very unusual!This HFS+ volume has no extents overflow file. This is quite unusual!This command does not make sense in non-interactive mode. This file system has a logical sector size of %d. GNU Parted is known not to work properly with sector sizes other than 512 bytes.This is not a real %s check. This is going to extract special low level files for debugging purposes.This is not an ECKD disk! This disk type is not supported!This libparted doesn't have write support for %s. Perhaps it was compiled read-only.Too many bad pages.Too many primary partitionsToo many primary partitions.Trailing backslashTry `%s --help' for more information. Trying to move an extent from block Ox%X to block Ox%X, but another one already exists at this position. This should not happen!Trying to read HFS file with CNID %X behind EOF.Trying to read HFS+ file with CNID %X behind EOF.Trying to register an extent starting at block 0x%X, but another one already exists at this position. You should check the file system!Trying to write HFS file with CNID %X behind EOF.Trying to write HFS+ file with CNID %X behind EOF.TypeUNIT is one of: Unable to allocate a bsd disklabel slot.Unable to allocate a dasd disklabel slotUnable to allocate a partition number.Unable to determine geometry of file/device %s. You should not use Parted unless you REALLY know what you're doing!Unable to determine the size of %s (%s).Unable to open %s read-write (%s). %s has been opened read-only.Unable to open %s.Unable to probe store.Unable to satisfy all constraints on the partition.Unit?UnknownUnknown file system type "%s".Unknown partition flag, %d.Unknown system errorUnmatched ( or \(Unmatched ) or \)Unmatched [ or [^Unmatched \{Unsupported disk formatUnsupported disk typeUpdating the HFS wrapper has failed.Usage: %s [OPTION] or: %s DEVICE MINOR Usage: %s [OPTION] [DEVICE]... Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...] Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run in interactive mode. User-Mode Linux UBDUsing %s Version %d of HFS+ isn't supported.Version %d of HFSX isn't supported.Volume label is corruptedWARNING: You are not superuser. Watch out for permissions.WarningWeird block size on device descriptor: %d bytes is not divisible by 512.Weird! There are 2 partitions map entries!Welcome to GNU Parted! Type 'help' to view a list of commands. Without arguments, 'print' displays the entire partition table. However with the following arguments it performs various other actions. Would you like to use FAT32?Written by %s and %s. Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, and %s. Written by %s, %s, %s, and %s. Written by %s, %s, and %s. Written by %s. Xen Virtual Block DeviceYesYou may need to update /etc/fstab. You need %s of free disk space to shrink this partition to this size. Currently, only %s is free.You should reinstall your boot loader before rebooting. Read section 4 of the Parted User documentation for more information.Your file system has too many occupied inodes to resize it to %i blocks. Sorry.Your file system is too full to resize it to %i blocks. Sorry.^[nN]^[yY]`adding groupsbootcheckcheck NUMBER do a simple check on the file systemcheckingchecking for bad blockscopyingcpcp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another partitioncreatingdisplays machine parseable outputdisplays the versiondisplays this help messageexpandingextendedfat_table_alloc_cluster: no free clustersfat_table_get: cluster %ld outside file systemfat_table_set: cluster %ld outside file systemfreegrowing file systemhelphelp [COMMAND] print general help, or help on COMMANDhiddenhp-serviceinvalid token: %sioctl() errorlbalists partition layout on all block deviceslogicallvmmemory exhaustedmetadatamkfsmklabelmklabel,mktable LABEL-TYPE create a new disklabel (partition table)mkpartmkpart PART-TYPE [FS-TYPE] START END make a partitionmkpartfsmkpartfs PART-TYPE FS-TYPE START END make a partition with a file systemmktablemovemove NUMBER START END move partition NUMBERmsftresnamename NUMBER NAME name partition NUMBER as NAMEnever prompts for user interventionoffonopen erroropening of device failedpaloparted was unable to re-read the partition table on %s (%s). This means Linux won't know anything about the modifications you made. ped_device_new() Unsupported device typeprepprimaryprintprint [devices|free|list,all|NUMBER] display the partition table, available devices, free space, all found partitions, or a particular partitionquitquit exit programraidraw block copyingread errorreading from device failedrescuerescue START END rescue a lost partition near START and ENDresizeresize NUMBER START END resize partition NUMBER and its file systemrmrm NUMBER delete partition NUMBERrootsearching for file systemsseek errorseeking on device failedselectselect DEVICE choose the device to editsetset NUMBER FLAG STATE change the FLAG on partition NUMBERshrinkingshrinking HFS wrappershrinking embedded HFS+ volumeswaptoggletoggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBERtoo few argumentstoo many argumentsunitunit UNIT set the default unit to UNITversionversion display the version number and copyright information of GNU Partedwrite errorwriting HFS Master Directory Blockwriting HFS+ Volume Headerwriting per-group metadatawriting to device failedProject-Id-Version: parted 1.8.8 Report-Msgid-Bugs-To: bug-parted@gnu.org POT-Creation-Date: 2010-05-28 20:30+0200 PO-Revision-Date: 2007-09-11 14:02+0200 Last-Translator: Miloslav Trmac Language-Team: Czech Language: cs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit NaÅ¡li jste chybu v GNU Parted! Musíte udÄ›lat toto: NepanikaÅ™te! Chyba pravdÄ›podobnÄ› nemÄ›la vliv na žádná vaÅ¡e data. Pomozte nám opravit tuto chybu takto: Zkontrolujte, jestli již byla chyba opravena, zkontrolováním nejnovÄ›jší verze GNU Parted, kterou můžete najít na: http://ftp.gnu.org/gnu/parted/ PÅ™ed hlášením chyby prosím zkontrolujte tuto verzi. Pokud to jeÅ¡tÄ› nebylo opraveno nebo pokud nevíte, jak to zkontrolovat, navÅ¡tivte prosím WWW server GNU Parted: http://www.gnu.org/software/parted pro více informací. VaÅ¡e zpráva by mÄ›la obsahovat verzi tohoto programu (%s) a zprávu o chybÄ› níže, výstup parted ZAŘÃZENà unit co print unit s print a následující historii příkazů, které jste zadali. Také pÅ™idejte další informace o vaší konfiguraci, které považujete za důležité. Historie příkazů: Chyba: Byl pÅ™ijat obecný signál SIGFPE. Chyba: Byl pÅ™ijat obecný signál SIGILL. Chyba: Byl pÅ™ijat obecný signál SIGSEGV. Chyba: FPE_FLTDIV (Plovoucí: dÄ›lení nulou) Chyba: FPE_FLTINV (Plovoucí: neplatný výsledek) Chyba: FPE_FLTOVF (Plovoucí: pÅ™eteÄení) Chyba: FPE_FLTRES (Plovoucí: nepÅ™esný výsledek) Chyba: FPE_FLTSUB (Plovoucí: index mimo rozsah) Chyba: FPE_FLTUND (Plovoucí: podteÄení) Chyba: FPE_INTDIV (Celá Äísla: dÄ›lení nulou) Chyba: FPE_INTOVF (Celá Äísla: pÅ™eteÄení) Chyba: ILL_BADSTK (Interní chyba zásobníku) Chyba: ILL_COPROC (Chyba koprocesoru) Chyba: ILL_ILLADR (Neplatný režim adresování) Chyba: ILL_ILLOPC (Neplatný kód operace) Chyba: ILL_ILLOPN (Neplatný parametr) Chyba: ILL_ILLTRP (Neplatné zachycení) Chyba: ILL_PRVOPC (Privilegovaný kód operace) Chyba: ILL_PRVREG (Privilegovaný registr) Chyba: SEGV_ACCERR (Neplatné oprávnÄ›ní namapovaného objektu) Chyba: SEGV_MAPERR (Adresa nepÅ™iÅ™azena objektu) Chyby hlaste na <%s>. Když není zadáno ZAŘÃZENÃ, prozkoumat vÅ¡echny oddíly. --help zobrazit tuto nápovÄ›du a skonÄit --version vypsat informace o verzi a skonÄit ÄŒÃSLO : zobrazit podrobnÄ›jší informace o tomto konkrétním oddílu devices : zobrazit vÅ¡echna aktivní bloková zařízení free : zobrazit informace o volném místÄ› mimo oddíly na aktuálním blokovém zařízení list, all : zobrazit tabulky oddílů vÅ¡ech aktivních blokových zařízení "%s" má neplatnou syntax umístÄ›ní.%0.f%% (zbylý Äas %.2d:%.2d)%s %s%s %s %s%s : Å patný kontrolní souÄet bloku %llu typu %s %s : Å patný kontrolní souÄet bloku %llu typu %s.%s : Nemohu Äíst blok %llu %s : Nemohu Äíst zavádÄ›cí blok %llu %s : Nemohu Äíst koÅ™enový blok %llu %s : Nemohu zapsat blok %d %s : NenaÅ¡eljsem blok rdb, to by se nemÄ›lo nikdy stát %s : NenaÅ¡el jsem blok rdb, to by se nemÄ›lo nikdy stát.%s : Nemohu alokovat blok %s : Nemohu alokovat disk_specific blok rdb %s : Nemohu alokovat prvek seznamu id %s : Nemohu alokovat blok oddílu %s : Nemohu vypsat Å¡patné bloky.%s : Nemohu vypsat zavádÄ›cí bloky.%s : Nemohu vypsat bloky systému souborů.%s : Nemohu vypsat bloky oddílu.%s : NemohuÄíst blok oddílu %llu %s : Na bloku %d detekována smyÄka.%s : Seznam %s je zÅ™ejmÄ› v bloku %s Å¡patný.%s obsahuje podpisy GPT, což naznaÄuje, že má tabulku GPT. Nemá ale platnou faleÅ¡nou tabulku oddílů msdos, kterou by mÄ›l mít. Možná byla poÅ¡kozena — napÅ™. programem, který nerozumí tabulkám oddílů GPT. Nebo jste možná odstranili tabulku oddílů GPT a nyní používáte tabulku oddílů msdos. Je toto tabulka oddílů GPT?Jmenovky disku %s nepodporují rozšířené oddíly.Jmenovky disku %s nepodporují logické nebo rozšířené oddíly.%s pÅ™i Ätení %s%s pÅ™i seek pro Ätení %s%s pÅ™i seek pro zápis na %s%s pÅ™i zápisu na %s%s nemá rozšířený oddíl (oddíl hlaviÄky svazku).%s je %dk, ale má %d clusterů (%dk).%s je příliÅ¡ malý pro jmenovku disku Mac!%s pÅ™i pokusu sync %s na disk%s: neznámá jmenovka diskuâ€'mkpart' vytvoří oddíl bez vytvoÅ™ení nového systému souborů na nÄ›m. TYP-FS může být urÄen pro nastavení odpovídajícího ID oddílu. 'version' zobrazí informace o copyrightu a informace o verzi odpovídající této kopii GNU Parted ©Byl nalezen oddíl %s %s na %s -> %s. Chcete jej pÅ™idat do tabulky oddílů?Název sady dat je poÅ¡kozenOdkaz na rozsah pÅ™ichází z místa, ze kterého by nemÄ›la. MÄ›li byste zkontrolovat systém souborů!Operace zmÄ›ny velikosti na tomto systému souborů bude používat EXPERIMENTÃLNà kód, který jej MŮŽE POÅ KODIT (i když zatím nikdo takové poÅ¡kození nehlásil). PÅ™inejmenším byste mÄ›li nejdřív zazálohovat svá data, a potom spustit 'e2fsck -f'.Nesoulad verzí APIŘadiÄ ATARAIDPÅ™i pÅ™esunu rozsahu doÅ¡lo k chybÄ›.PÅ™i hledání povinného souboru Å¡patných bloků doÅ¡lo k chybÄ›.Rozšířený oddíl nemůže obsahovat systém souborů. ChtÄ›li jste mkpart?Rozsah nebyl pÅ™esunut.Tvrzení (%s) na %s:%d ve funkci %s() selhalo.Pokus zapisovat sektory %ld-%ld mimo oddíl na %s.Geometrie cylindr,hlava,sektor BIOSu: %d,%d,%d. Každý cylindr je %s. Backtrace má na zásobníku %d volání: Å patná FAT: cluster %d pro %s má křížové odkazy. MÄ›li byste spustit dosfsck nebo scandisk.Å patná FAT: cluster %d je mimo systém souborů v Å™etÄ›zci pro %s. MÄ›li byste spustit dosfsck nebo scandisk.Å patná FAT: neukonÄený Å™etÄ›zec pro %s. MÄ›li byste spustit dosfsck nebo scandisk.Kontrolní souÄet hlaviÄky seznamu Å¡patných bloků.Nelze Äíst Å¡patné bloky.Seznam Å¡patných bloků nelze naÄíst.Å patná položka adresáře pro %s: první cluster je znaÄka konce souboru.Å patný kontrolní souÄet žurnálu.Blok %i nemá odkaz? Divné.Blok %i by nemÄ›l být oznaÄen (%d, %d)!Primární i záložní tabulka GPT je poÅ¡kozena. Zkuste vytvoÅ™it novou tabulku a obnovit oddíly pomocí schopnosti Partedu rescue.ChybaPŘÃKAZy:Nemohu pÅ™idat logický oddíl do %s, protože neexistuje rozšířený oddíl.Nemohu pÅ™idat další oddíl — mapa oddílů je příliÅ¡ malá!Nemohu pÅ™idat další oddíl.Nemohu kopírovat rozšířený oddíl.Nemohu kopírovat do pÅ™ekrývajícího se oddílu.Nemohu vytvářet další oddíly.Nemohu mít logický oddíl mimo rozšířený oddíl na %s.Nemohu mít oddíl mimo disk!Nemohu mít primární oddíl uvnitÅ™ rozšířeného oddílu.Nemohu mít logické oddíly mimo rozšířený oddíl.Nemohu mít více než jeden rozšířený oddíl na %s.Nemohu mít pÅ™ekrývající se oddíly.Nemohu pÅ™esunout oddíl na sebe. Možná zkuste použít resize?Nemohu pÅ™esouvat rozšířený oddíl.Nemohu zapisovat na %s, protože je otevÅ™en jen pro Ätení.ZruÅ¡itNemohu získat velikost jednotky pro speciální jednotku 'COMPACT'.ZmÄ›na názvu koÅ™enového nebo odkládacího oddílu zabrání Linuxu v jeho rozpoznání.Kontrolní souÄet je Å¡patnÄ›, což indikuje, že tabulka oddílů je poÅ¡kozená.Vymazat nepoužívané místo na oddílu FAT (nástroj pro testování GNU Parted). ZmÄ›na zaÄátku clusteru = %d, což není násobek velikosti clusteru %d.Compaq Smart ArrayKolidující velikosti položek mapy oddílů! Položka 1 říká, že je to %d, ale položka %d říká, že je to %d!Copyright © 1998 — 2006 Free Software Foundation, Inc. Toto je volné programové vybavení podle GNU General Public License. Tento program je rozÅ¡iÅ™ován v nadÄ›ji, že bude užiteÄný, ale BEZ JAKÉKOLI ZÃRUKY; ani bez pÅ™edpokládané záruky PRODEJNOSTI nebo VHODNOSTI PRO KONKRÉTNà ÚČEL. Další podrobnosti najdete v GNU General Public License. Detekována poÅ¡kozená jmenovka disku Sun.Nemohu keÅ¡ovat systém souborů v pamÄ›ti.Nemohu detekovat systém souborů.Nemohu najít sektor %lli souboru HFS s CNID %X.Nemohu najít sektor %lli souboru HFS+ s CNID %X.Nemohu získat identitu zařízení %s - %sNemohu Äíst FMT1 DSCB VTOC.Nemohu Äíst FMT4 DSCB VTOC.Nemohu Äíst FMT5 DSCB VTOC.Nemohu Äíst FMT7 DSCB VTOC.Nemohu Äíst jmenovky VTOC.Nemohu Äíst jmenovku svazku.Nemohu získat verzi API.Nemohu získat informace o velikosti bloku.Nemohu získat informace o geometrii disku.Nemohu získat informace o disku.Nemohu stat zařízení %s - %s.Nemohu aktualizovat cache rozsahů pro soubor HFS s CNID %X.Nemohu aktualizovat cache rozsahů pro soubor HFS+ s CNID %X.Nemohu zapisovat FMT1 DSCB VTOC.Nemohu zapisovat FMT4 DSCB VTOC.Nemohu zapisovat FMT5 DSCB VTOC.Nemohu zapisovat FMT7 DSCB VTOC.Nemohu zapisovat jmenovky VTOC.Nemohu zapsat jmenovku svazku.Nemohu vytvoÅ™it vrtsvu abstrakce zařízení reiserfs.Nemohu vyprázdnit buffer cache!Nemohu znovu otevřít vrstvu abstrakce zařízení pro Ätení/zápis.Nemohu nalézt symbol %s. Chyba: %s.Nalezeny bloky s křížovými odkazy! RadÅ¡i nejdřív spusÅ¥te e2fsck!ŘadiÄ RAID DAC960ZAŘÃZENà je obvykle /dev/hda nebo /dev/sda PÅ™esun dat selhal.PÅ™esun dat nechal na konci svazku nÄ›jaká data.PÅ™esun dat nechal na konci svazku nÄ›jaká data.Číslo cílového oddílu?Zařízení %s má nÄ›kolik (%d) logických sektorů na fyzický sektor. GNU Parted to EXPERIMENTÃLNÄš podporuje pro nÄ›které konkrétní kombinace jmenovky disku/systému souborů, napÅ™. GPT a ext2/3. Pro aktuální informace prosím navÅ¡tivte WWW server.Zařízení pro %lu bloků příliÅ¡ malé.Ověřování zařízení selhaloPro %s není jeÅ¡tÄ› implementována přímá podpora pro kopírování systémů souborů. Je ale implementována podpora pro zmÄ›nu velikosti. Systém souborů tedy může být zkopírován, je-li nový oddíl alespoň tak velký jako starý. Takže buÄ zmenÅ¡ete oddíl, který se pokoušíte zkopírovat, nebo kopírujte do vÄ›tšího oddílu.Disk %s: %s Obraz diskuDisk se používáKonecKonec?ChybaChyba pÅ™i alokaci buffer cache.Chyba pÅ™i informování jádra o zmÄ›nách oddílu %s — %s. To znamená, že Linux nebude vÄ›dÄ›t o zmÄ›nách, které provedli na %s, dokud nerestartujete systém — takže byste jej nemÄ›li pÅ™ipojovat nebo jej pÅ™ed restartem jakkoli používat.Chyba pÅ™i inicializaci zařízení SCSI %s - %sChyba pÅ™i otevírání %s: %sChyba pÅ™i zápisu do souboru alokací.Chyba pÅ™i zápisu do Äásti pro kompatibilitu souboru alokací.Chyba pÅ™i zápisu do koÅ™enového adresáře.OÄekávám typ jmenovky disku.OÄekávám typ systému souborů.OÄekávám Äíslo oddílu.OÄekávám typ oddílu.Rozšířené oddíly nelze na jmenovkách disku msdos skrývat.FAT %d media %x neodpovídá media %x zavádÄ›cího sektoru. PravdÄ›podobnÄ› byste mÄ›li spustit scandisk.ZavádÄ›cí sektor FAT říká, že cluster je 0 sektorů. To je divné. ZavádÄ›cí sektor FAT říká, že logická velikost sektoru je 0. To je divné. ZavádÄ›cí sektor FAT říká, že neexistuje žádná tabulka FAT. To je divné. PŘEPÃNAÄŒ je jeden z: TYP-FS je jeden z: Nemohu zapsat blok oddílu na %d.FatálníFatální chybaSystém souborů: %s Systém souborůSystém souborů nemá oÄekávané velikosti, aby jej Windows mÄ›ly rády. Velikost clusteru je %dk (oÄekáváno %dk); poÄet clusterů je %d (oÄekáváno %d); velikost FAT je %d sektorů (oÄekáváno %d).Systém souborů plný!Systém souborů má neplatnou velikost clusteru pro systém souborů FAT.Systém souborů má neplatný poÄet FAT.Systém souborů má neplatný poÄet rezervovaných sektorů pro systém souborů FAT.Systém souborů má neplatnou velikost sektoru pro systém souborů FAT.Systém souborů má neplatný podpis pro systém souborů FAT.Systém souborů má chyby! MÄ›li byste spustit e2fsck.Systém souborů má příliÅ¡ mnoho alokovaných inodů na to, abych mohl odstranit skupinu!Systém souborů je FAT12, což není podporováno.Systém souborů oznamuje volné místo jako %d clusterů, ne %d clusterů.Systém souborů je příliÅ¡ plný na to, abych mohl odstranit skupinu!Systém souborů příliÅ¡ malý pro ext2.Typ souborového systému?Systém souborů nebyl správnÄ› odpojen! MÄ›li byste spustit e2fsck.Systém souborů nebyl ÄistÄ› odpojen! MÄ›li byste spustit e2fsck. Úpravy neÄistého systému souborů mohou způsobit vážné poÅ¡kození dat.OpravitPÅ™epínaÄ, který zmÄ›nit?PÅ™epínaÄePÅ™epínaÄe: %s NaÅ¡el jsem inode s nesprávným poÄtem odkazů. RadÅ¡i nejdřív spusÅ¥te e2fsck!Volné místoGNU Parted neumí zmÄ›nit velikost tohoto oddílu na tuto hodnotu. Pracujeme na tom!GNU Parted nalezl neplatnou knihovnu libreiserfs.GNU Parted detekoval nesoulad ve verzích rozhraní libreiserfs. Nalezeno %d-%d, vyžadováno %d. Podpora ReiserFS bude zakázána.GNU Parted byl nesprávnÄ› pÅ™eložen: zavádÄ›cí sektor FAT by mÄ›l být 512 bajtů. Podpora FAT bude zakázána.Obecné IDEŘadiÄ I2ODisk IBM S390 DASDVirtuální DASD IBM iSeriesPokud pÅ™evedete na FAT16 a na tomto oddílu jsou nainstalovány MS Windows, musíte reinstalovat zavadÄ›Ä systému MS Windows. Pokud to chcete udÄ›lat, mÄ›li byste si pÅ™eÄíst manuál Partedu (nebo manuál své distribuce).Pokud pÅ™evedete na FAT32 a na tomto oddílu jsou nainstalovány MS Windows, musíte reinstalovat zavadÄ›Ä systému MS Windows. Pokud to chcete udÄ›lat, mÄ›li byste si pÅ™eÄíst manuál Partedu (nebo manuál své distribuce). PÅ™evedení na FAT32 také uÄiní systém souborů neÄitelným pro MS DOS, MS Windows 95a a MS Windows NT.Pokud svůj systém souborů ponecháte jako FAT16, nebudete mít žádné problémy.Pokud svůj systém souborů ponecháte jako FAT16, nezpůsobíte žádné nové problémy.IgnorovatNekonzistentní deskriptory skupin!Neplatné kouzelné hodnoty v hlaviÄce žurnálu.Informovat operaÄní systém o zmÄ›nách tabulky oddílů. -d, --dry-run ve skuteÄnosti operaÄní systém neinformovat -s, --summary vypsat souhrn obsahu -h, --help zobrazit tuto nápovÄ›du a skonÄit -v, --version vypsat informace o verzi a skonÄit InformaceNeplatná VTOC.Neplatný odkaz zpÄ›tNeplatný název třídy znakůNeplatný Å™adicí znakNeplatný obsah \{\}Neplatný poÄet volných bloků. Nejdřív spusÅ¥te reiserfsck --check.Neplatné Äíslo.Neplatná tabulka oddílů - rekurzivní oddíl na %s.Neplatná tabulka oddílů na %s - nesprávný podpis %x.Neplatná tabulka oddílů na %s.Neplatný pÅ™edchozí regulární výrazNeplatný konec rozsahuNeplatný regulární výrazNeplatný podpis %x pro jmenovky disku Mac.Neplatná velikost bloku transakce pÅ™i pÅ™ehrávání žurnálu (%i bajtů).Neplatný superblok. Opravdu to je systém souborů ext2?V obalu HFS je zÅ™ejmÄ› chyba: soubor Å¡patných bloků neobsahuje vložený svazek HFS+.Posun nebo velikost žurnálu není násobek velikosti sektoru.Nesoulad velikosti žurnálu mezi blokem informací o žurnálu a hlaviÄkou žurnálu.Žurnály uložené mimo svazek nejsou podporovány. Zkuste deaktivovat žurnál a spusÅ¥te Parted znovu.TYP-JMENOVKY je jeden z: Maximální velikost: Alokace pamÄ›ti selhalaDoÅ¡la paměťMinimální velikost: Minor: %d Model: %s (%s) NÃZEV je libovolné slovo ÄŒÃSLO je Äíslo oddílu používané Linuxem. Na jmenovkách disku MS-DOS mají primární oddíly Äísla 1-4 a logické oddíly od 5 dál. NázevNové zařízení?Typ nové jmenovky disku?Nový stav?NeNeimplementovánoNenalezeno žádné zařízeníŽádný výskytŽádný pÅ™edchozí regulární výrazNení místo pro informace o oddílech.Není místo na jmenovku svazku.PÅ™i otevírání nebyl nalezen platný podpis HFS[+X].Nenalezena platná mapa oddílů.ZÅ™ejmÄ› se nepoužívá vÅ¡echno dostupné místo na %s, můžete opravit GPT, aby používala vÅ¡echno místo (dalších %llu bloků) nebo pokraÄovat se souÄasným nasatvením? Nedostatek volných inodů!ČísloOKPŘEPÃNAÄŒe:Jen logické oddíly mohou být zavádÄ›cí soubor.Jen primární oddíly mohou být koÅ™enové oddíly.Jen primární oddíly mohou být odkládací oddíly.Nedostatek pamÄ›ti.TYP-ODDÃLU je jeden z: primary, logical, extended Parted neumí mÄ›nit velikost oddílů spravovaných pomocí Windows Dynamic Disk.Parted nemůže používat systémy souborů HFS na disků s velikostí sektoru jinou než %d bajtů.Oddíl %d má neplatnou délku 0 bajtů.Oddíl %d má neplatný podpis %x.Oddíl %d je %s, ale systém souborů je %s.Oddíl %d není zarovnán na hranice cylindru. To pořád jeÅ¡tÄ› není podporováno.Oddíl %s se používá. Než jej budete upravovat Partedem, musíte jej odpojit.Tabulka oddílů: %s Oddíl neexistuje.Mapa oddílů nemá žádnou položku mapy oddílů!Název oddílu?Číslo oddílu?Oddíl je příliÅ¡ velký/malý pro systém souborů %s.Typ oddílu?Oddíl(a) na %s jsou používány.PÅ™edÄasný konec regulárního výrazuZařízení Promise SX8 SATARegulární výraz je příliÅ¡ velkýStrom reiserfs je zÅ™ejmÄ› poÅ¡kozen. Nejdřív spusÅ¥te reiserfsck --check.ZmÄ›na velikosti svazku HFS+ selhala.ZnovuZAÄŒÃTEK a KONEC jsou místa na disku, napÅ™. 4GB nebo 10%. Záporné hodnoty se poÄítají od konce disku. Například -1s urÄuje pÅ™esnÄ› poslední sektor. STAV je jeden z: on, off Sector size (logical/physical): %lldB/%lldB VelikostVelikost: NÄ›které pole hlaviÄky nejsou násobek velikosti sektoru.Lituji, HFS zatím nelze takto mÄ›nit velikost.Lituji, HFS+ zatím nelze takto mÄ›nit velikost.Lituji, jeÅ¡tÄ› neumím pÅ™esunout zaÄátek oddílů ext2!Lituji, jeÅ¡tÄ› neumím pÅ™esunout zaÄátek oddílů reiserfs.Zdrojové zařízení?Číslo zdrojového oddílu?ZaÄátekZaÄátek?ÚspÄ›chJmenovka disku Sun je plná.Podpora pro pÅ™idávání oddílů do jmenovek disku AIXu jeÅ¡tÄ› není implementována.Podpora pro kontrolu souborových systémů %s jeÅ¡tÄ› není implementována.Podpora pro kopírování souborových systémů %s jeÅ¡tÄ› není implementována.Podpora pro vytváření souborových systémů %s jeÅ¡tÄ› není implementována.Podpora pro duplikování oddílů ve jmenovkách disku AIXu jeÅ¡tÄ› není implementována.Podpora pro otevírání souborových systémů %s jeÅ¡tÄ› není implementována.Podpora pro Ätení jmenovek disku AIXu jeÅ¡tÄ› není implementována.Podpora pro zmÄ›nu velikosti souborových systémů %s jeÅ¡tÄ› není implementována.Podpora pro nastavování pÅ™epínaÄů ve jmenovkách disku AIXu jeÅ¡tÄ› není implementována.Podpora pro nastavování typu systému oddílů ve jmenovkách disku AIXu jeÅ¡tÄ› není implementována.Podpora pro zápis jmenovek disku AIXu jeÅ¡tÄ› není implementována.Chyba syntaxe v souboru s nastavenímTabulky FAT si neodpovídají. Pokud nevíte, co to znamená, zvolte ZruÅ¡it, spusÅ¥te na systému souborů scandisk a pak se vraÅ¥te.Jediný zbývající oddíl je oddíl Celý disk. ObecnÄ› není dobrý nápad tento oddíl pÅ™epsat skuteÄným oddílem. Bez nÄ›j možná nebude možné zavést Solaris a SILO (zavadÄ›Ä systému pro sparc) jej také ocení.Záložní tabulka GPT není na konci disku, jak by mÄ›la být. To možná znamená, že jiný operaÄní systém si myslí, že disk je menší. Mám to opravit pÅ™esunutím zálohy na konec (a odstranÄ›ním staré zálohy)?ZavádÄ›cí region nezaÄíná na zaÄátku oddílu.Aktuální verze API '%d' neodpovídá verzi API ovladaÄe '%d'!Datový region nezaÄíná na zaÄátku oddílu.Zařízení %s má nulovou délku a nemůže obsahovat systém souborů nebo tabulku oddílů. Možná jste vybrali Å¡patné zařízení?Geometrie disku CHS (%d,%d,%d) ohlášená operaÄním systémem neodpovídá geometrii uložené v jmenovce disku (%d,%d,%d).Disk má %d cylindrů, což je více než maximum 65536.Jmenovka disku popisuje disk vÄ›tší než %s.Deskriptor ovladaÄe říká, že fyzická velikost bloku je %d bajtů ale Linux říká, že je to %d bajtů.Existující jmenovka disku na %s bude zniÄena a vÅ¡echna data na tomto disku budou ztracena. Chcete pokraÄovat?Existující systém souborů bude zniÄen a vÅ¡echna data v oddílu budou ztracena. Chcete pokraÄovat?Systém souborů ext2 proÅ¡el základní kontrolou. Pro podrobnÄ›jší kontrolu použijte program e2fsck.Soubor pÅ™eteÄení rozsahů by nemÄ›l obsahovat své vlastní rozsahy! MÄ›li byste zkontrolovat systém souborů.Soubor %s je oznaÄen jako systémový soubor. To znamená, že jeho pÅ™esun může způsobit, že nÄ›které programy pÅ™estanou fungovat.Velikost systému souborů může být na tuto hodnotu zmÄ›nÄ›na jen pÅ™evodem na FAT16.Velikost systému souborů může být na tuto hodnotu zmÄ›nÄ›na jen pÅ™evodem na FAT32.Systém souborů obsahuje chyby.Systém souborů má povolenu vlastnost 'dir_index'. Parted může zmÄ›nit velikost systému souborů, jen pokud tuto vlastnost zakáže. Můžete ji pozdÄ›ji povolit spuÅ¡tÄ›ním 'tune2fs -O dir_index ZAŘÃZENÃ' a pak 'e2fsck -fD ZAŘÃZENÃ'.Systém souborů je vÄ›tší než jeho obsah!Systém souborů je v neplatném stavu. Možná je pÅ™ipojen?Systém souborů má starý formát (nepodporující zmÄ›nu velikosti).Geometrie CHS systému souborů je (%d, %d, %d), což není platné. Geometrie CHS tabulky oddílů je (%d, %d, %d). Zvolíte-li Ignorovat, geometrie CHS systému souborů bude ponechána beze zmÄ›ny. Zvolíte-li Opravit, geometrie CHS systému souborů bude nastavena tak, aby odpovídala geometrii CHS tabulky oddílů.Formát tabulky oddílů GPT je verze %x, což je novÄ›jší, než kterou umí rozpoznat Parted. Oznamte nám to prosím! bug-parted@gnu.orgSektor informací má nesprávný podpis (%x). Zatím zvolte ZruÅ¡it a poÅ¡lete hlášení o chybÄ›. Pokud jste v úzkých, můžete to pravdÄ›podobnÄ› bez obav ignorovat.Žurnál není prázdný. PÅ™ed otevÅ™ením systému souborů musí Parted pÅ™ehrát transakce. To zmÄ›ní systém souborů.UmístÄ›ní %s je mimo zařízení %s.Maximální hodnota hlavy je %d.Maximální hodnota sektoru je %d.Oddíl musí mít jeden z následujících TYPů-FS:Nebylo možné znovu naÄíst tabulku oddílů. To znamená, že budete muset pÅ™ed pÅ™ipojením zmÄ›nÄ›ných oddílů restartovat poÄítaÄ. Také musíte pÅ™ed restartem reinstalovat svůj zavadÄ›Ä systému (což může vyžadovat pÅ™ipojení zmÄ›nÄ›ných oddílů). Nelze provést obojí! Takže budete muset zavést systém ze záchranného disku a reinstalovat svůj zavadÄ›Ä systému odtud. Pro více informací si pÅ™eÄtÄ›te oddíl 4 Uživatelské dokumentace Parted.Tabulku oddílů na %s nelze znovu naÄíst (%s). To znamená, že Hurd neví nic o zmÄ›nách, které jste provedli. Než budete cokoli dÄ›lat s %s, mÄ›li byste restartovat svůj poÄítaÄ.ZavádÄ›cí region oddílu nezabírá celý oddíl.Datový region oddílu nezabírá celý oddíl.Primární tabulka GPT je poÅ¡kozena, ale záloha se zdá být v pořádku, takže bude použita záloha.Systém souborů reiserfs proÅ¡el základní kontrolou. Pro podrobnÄ›jší kontrolu spusÅ¥te reiserfsck --check.Velikost sektoru uložená v žurnálunení 512. Parted podporuje jen sektory velké 512 bajtů.Zadané zařízení není platné zařízení DASDHlaviÄka svazku nebo hlavní blok adresáře se pÅ™i pÅ™ehrávání žurnálu zmÄ›nil. MÄ›li byste restartovat Parted.Pro tento typ FAT neexistuje možná konfigurace.V koÅ™enovém adresáři není dostatek místa pro vÅ¡echny souborů. Zvolte buÄ ZruÅ¡it, nebo Ignorovat pro ztrátu tÄ›chto souborů.Tento svazek HFS nemá soubor katalogu. To je velice neobvyklé!Tento svazek HFS nemá soubor pÅ™eteÄení rozsahů. To je celkem neobvyklé!Tento svazek HFS+ nemá soubor katalogu. To je velice neobvyklé!Tento svazek HFS+ nemá soubor pÅ™eteÄení rozsahů. To je celkem neobvyklé!Tento příkaz nedává smysl v neinteraktivním režimu. Systém souborů má logickou velikost sektoru %d. Ví se, že GNU Parted nepracuje správnÄ› s velikostí sektoru jinou než 512 bajtů.Toto není skuteÄná kontrola %s. Toto pro ladicí úÄely extrahuje speciální nízkoúrovňové soubory.Toto není disk ECKD! Tento typ disku není podporován!Tato libparted nemá podporu pro zápis pro %s. Možná byla pÅ™eložena jen pro Ätení.PříliÅ¡ mnoho Å¡patných stránek.PříliÅ¡ mnoho primárních oddílůPříliÅ¡ mnoho primárních oddílů.Koncové zpÄ›tné lomítkoPro více informací zkuste `%s --help'. Pokouším se pÅ™esunout rozsah z bloku 0x%X do bloku 0x%X, ale v tomto umístÄ›ní již jeden existuje. To by se nemÄ›lo stát!Pokus Äíst soubor HFS s CNID %X za koncem souboru.Pokus Äíst soubor HFS+ s CNID %X za koncem souboru.Pokouším se zaregistrovat rozsah zaÄínající na bloku 0x%X, ale v tomto umístÄ›ní již jeden existuje. MÄ›li byste zkontrolovat systém souborů!Pokus zapisovat do souboru HFS s CNID %X za konec souboru.Pokus zapisovat do souboru HFS+ s CNID %X za konec souboru.TypJEDNOTKA je jedna z: Nemohu alokovat položku jmenovky disku bsd.Nemohu alokovat položku jmenovky disku dasdNemohu alokovat Äíslo oddílu.Nemohu urÄit geometrii souboru/zařízení %s. NemÄ›li byste používat Parted, pokud OPRAVDU nevíte, co dÄ›láte!Nemohu urÄit velikost %s (%s).Nemohu otevřít %s pro Ätení/zápis (%s). %s bylo otevÅ™eno jen pro Ätení.Nemohu otevřít %s.Nemohu prozkoumat úložný prostor.Nemohu splnit vÅ¡echna omezení na oddíl.Jednotka?NeznámýNeznámý typ systému souborů "%s".Neznámý příznak oddílu, %d.Neznámá chyba systémuNepárová ( nebo \(Nepárová ) nebo \)Nepárová [ nebo [^Nepárová \{Nepodporovaný formát diskuNepodporovaný typ diskuAktualizace obalu HFS selhala.Použití: %s [PŘEPÃNAÄŒ] nebo: %s ZAŘÃZENà MINOR použití: %s [PŘEPÃNAÄŒ] [ZAŘÃZENÃ]... Použití: parted [PŘEPÃNAÄŒ]... [ZAŘÃZENà [PŘÃKAZ [PARAMETRY]...]...] Provést PŘÃKAZy s PARAMETRY na ZAŘÃZENÃ. Není-li zadán PŘÃKAZ, spustit v interaktivním režimu. UBD User-mode LinuxuPoužívám %s Verze %d HFS+ není podporována.Verze %d HFSX není podporována.Jmenovka svazku je poÅ¡kozenaVAROVÃNÃ: Nejste superuživatel. Pozor na oprávnÄ›ní.VarováníPodivná velikost bloku v deskriptoru zařízení: %d bajtů není dÄ›litelné 512.Podivné! Existují 2 položky mapy oddílu!Vítá vás GNU Parted! Zobrazte seznam příkazů napsáním 'help'. 'print' bez parametrů zobrazí celou tabulku oddílů. S následujícími parametry ale provede různé jiné akce. Chcete použít FAT32?Napsali %s a %s. Napsali %s, %s, %s, %s, %s, %s, %s, %s, %s a další. Napsali %s, %s, %s, %s, %s, %s, %s, %s a %s. Napsali %s, %s, %s, %s, %s, %s, %s a %s. Napsali %s, %s, %s, %s, %s, %s a %s. Napsali %s, %s, %s, %s, %s a %s. Napsali %s, %s, %s, %s a %s. Napsali %s, %s, %s a %s. Napsali %s, %s a %s. Napsal(a) %s. Virtuální blokové zařízení XenuAnoMožná budete potÅ™ebovat aktualizovat /etc/fstab. Pro zmenÅ¡ení tohoto oddílu na tuto velikost potÅ™ebujete %s volného místa. MomentálnÄ› je volné jen %s.PÅ™ed restartem byste mÄ›li reinstalovat svůj zavadÄ›Ä systému. Pro více informací si pÅ™eÄtÄ›te oddíl 4 Uživatelské dokumentace Parted.Váš systém souborů má příliÅ¡ mnoho použitých inodů na to, abych mohl zmÄ›nit jeho velikost na %i bloků. Lituji.Váš systém souborů je příliÅ¡ plný na to, abych mohl zmÄ›nit jeho velikost na %i bloků. Lituji.^[nN]^[aA]„pÅ™idávám skupinybootcheckcheck ÄŒÃSLO provést jednoduchou kontrolu systému souborůkontrolujihledám Å¡patné blokykopírujicpcp [Z-ZAŘÃZENÃ] Z-ÄŒÃSLA NA-ÄŒÃSLO zkopírovat systém souborů na jiný oddílvytvářenízobrazí strojovÄ› zpracovatelný výstupzobrazí verzizobrazí tuto zprávu nápovÄ›dyzvÄ›tÅ¡ujirozšířenýfat_table_alloc_cluster: nejsou volné clusteryfat_table_get: cluster %ld mimo systém souborůfat_table_set: cluster %ld mimo systém souborůvolnézvÄ›tÅ¡ování systému souborůhelphelp [PŘÃKAZ] vypsat obecnou nápovÄ›du nebo nápovÄ›du o PŘÃKAZuskrytýhp-serviceneplatný token: %schyba pÅ™i ioctl()lbavypíše rozložení oddílů na vÅ¡ech blokových zařízeníchlogickýlvmdoÅ¡la paměťmetadatamkfsmklabelmklabel,mktable TYP-JMENOVKY vytvoÅ™it novou jmenovku disku (tabulku oddílů)mkpartmkpart TYP-ODDÃLU [TYP-FS] ZAÄŒÃTEK KONEC vytvoÅ™it oddílmkpartfsmkpartfs TYP-ODDÃLU TYP-FS ZAÄŒÃTEK KONEC vytvoÅ™it oddíl se systémem souborůmktablemovemove ÄŒÃSLO ZAÄŒÃTEK KONEC pÅ™esunout oddíl ÄŒÃSLOmsftresnamename ÄŒÃSLO NÃZEV pojmenovat oddíl ÄŒÃSLO NÃZEVnikdy nežádá o intervenci uživateleoffonchyba pÅ™i otevíráníotevírání zařízení selhalopaloparted nemohl znovu naÄíst tabulku oddílů na %s (%s). To znamená, že Linux nebude vÄ›dÄ›t nic o zmÄ›nách, které jste provedli.ped_device_new() Nepodporovaný typ zařízeníprepprimárníprintprint [devices|free|list,all|ÄŒÃSLO] zobrazit tabulku oddílů, dostupná zařízení, volné místo, vÅ¡echny nalezené oddíly, nebo konkrétní oddílquitquit ukonÄit programraidpřímé kopírování blokůchyba pÅ™i ÄteníÄtení ze zařízení selhalorescuerescue ZAÄŒÃTEK KONEC zachránit ztracený oddíl poblíž ZAÄŒÃTKU a KONCEresizeresize ÄŒÃSLO ZAÄŒÃTEK KONEC zmÄ›nit velikost oddílu ÄŒÃSLO a jeho systému souborůrmrm ÄŒÃSLO odstranit oddíl ÄŒÃSLOroothledám systémy souborůchyba pÅ™i posunuposun v zařízení selhalselectselect ZAŘÃZENà zvolit upravované zařízenísetset ÄŒÃSLO PŘEPÃNAÄŒ STAV zmÄ›nit PŘEPÃNAÄŒ na oddílu ÄŒÃSLOzmenÅ¡ujizmenÅ¡uji obal HFSzmenÅ¡uji vložený svazek HFS+swaptoggletoggle [ÄŒÃSLO [PŘEPÃNAÄŒ]] pÅ™epnout stav PŘEPÃNAÄŒE na oddílu ÄŒÃSLOpříliÅ¡ málo parametrůpříliÅ¡ mnoho parametrůunitunit JEDNOTKA nastavit implicitní jednotku na JEDNOTKAversionversion zobrazit Äíslo verze a informace o copyrightu GNU Partedchyba pÅ™i zápisuzapisuhi blok hlavního adresáře HFSzapisuji hlaviÄku svazku HFS+zapisuji metadata skupinzápis na zařízení selhalparted-2.3/po/zh_TW.gmo0000644000000000000000000013561711400005706011707 00000000000000Þ•|ü ýÜÐ0Ñ- $0 *U 2€ %³ ,Ù &!)-!&W!,~!#«!$Ï!!ô!&"(="&f""ª" ±"+¼"0è"# 9#'Z#%‚#¨#'È#`ð#2Q%<„%Á%Ö%ô%&7)&(a&%Š&°&WÍ&]%'ƒ'+–'BÂ'F(!L(<n(D«(Pð(]A)HŸ)è)*$&*DK**"¦*‡É*Q+ U+L_+>¬+ë+!,)*,!T,Gv,(¾,<ç,@$-2e-"˜-?»-!û-2.P.0W.]ˆ.=æ.I$/n/Z/"Ü/*ÿ/*04H05}0(³0Ü0<û0=81v17“1Ë1'â1 28&28_2˜2ë¶2/¢3 Ò4ß4ã4è4î4Ø 5&æ5 6("6BK6$Ž6³6Ð6î6 7:(7\c7=À7?þ7>>8}8Ž8&¢8É8Ï8 à8¶ì8£9>µ9*ô9L:=l:;ª:/æ:<;+S;H;*È;ó;<>%<d<ä<è<ø< þ<H = R=K]=c©= >>Û(>I?GN@U–@ì@ó@-A AAMA4]A4’AÇA)æAKB>\Bl›B:CDCCmˆCöC DD +D6D”QDæD ëD÷D EEE,E8Ëg hhFh#^h‚h†h‰h)Žh¸h½hÅhËh5Ðhi iiS$ixiTiÔi@×ijj8jB?j‚jL†j ÓjÝjójkkUktkEyk"¿kâkýk¡l)ºm-äm*n0=n0nn*Ÿn'Ên*òn(o+Fo.ro+¡o+Ío(ùo."p.Qp€pŸp¿p Æp<Ñp4q#Cq#gq)‹q&µq$Üq1r/3r*cs3ŽsÂs)Ýs&t.t-Ft,tt)¡t"Ëtaît]Pu®u0Àu3ñuD%v*jv<•vPÒvZ#wu~wOôw*Dxox'ŽxH¶x!ÿx%!yxGyÀy ÇyEÑy:zRzqz$zµz<Ôz!{-3{3a{3•{É{Bâ{%|=D|‚|:‰|OÄ|3}?H}ˆ}^Ÿ})þ}*(~S~Do~E´~$ú~-8M<†Ã4â€'-€U€9t€9®€è€× Ùã‚ ó‚ ý‚ ƒ'ƒÞ9ƒ$„=„$S„3x„¬„Ȅ䄅…:2…`m…=Î…C †6P†‡† ¥†%Ɔ ì†ù† ‡ ‡º‡>Ї#ˆA3ˆ>uˆ5´ˆ4êˆF‰$f‰D‹‰9Љ$ Š/Š=EŠ|ƒŠ‹‹‹ $‹C1‹ u‹P‚‹ZÓ‹ .Œ 9ŒÝGŒ_%U…Ž^ÛŽ:!A-c‘˜3«3ß&/<V?“cÓ97‘Bq‘`´‘#’9’I’ Y’!f’†ˆ’“ “#“ ?“L“ P“Z“6m“$¤“É“é“ð“ ÷“0”-2”-`”Ž”D¡”Læ”[3•1•(Á•:ê•L%–r–‚–0˜–É–Ü–:ï–*—"=—$`—…—…Œ—˜+)˜U˜\˜3n˜1¢˜2Ô˜3™;™K™ d™ n™{™.•™.Ä™.ó™."š.Qš…€šü›½œ0Áœ-òœv }—Až'Wž]ž^Ýž]<ŸašŸIüŸIF  ó¬ $ ¡8Å¡xþ¢˜w£p¤&¤!¨¤!ʤ.줣¥«¿¦6k§6¢§JÙ§h$¨j¨,ø¨f%©>Œ©JË©?ªKVª|¢ªs«Z“«î«¬¬w6¬A®¬Bð¬{3­A¯­Bñ­4®;®#Y®}®!œ®B¾®¯¯'0¯ X¯b¯&i¯ ¯$±¯¶Ö¯° §°!²°!Ô°ö°Pý°'N±Av±¸±×±kÛ±zG²k²a.³ ³³¤³O«³û³ ´_´ n´{´‘´,¡´3δ3µ 6µCµ\µaµ qµ{µµµ “µ µ¥µ­µZ´µ¶k¶„¶U‰¶ß¶ç¶cì¶P·l·p·t·*y·¤· ©·¶·¼·5Á·÷·ü·¸q¸ˆ¸s¸¹O¹V¹Z¹s¹Cz¹¾¹Y¹ º)º!Gºiºyº`€ºáºFæº -»N»!m»x%"°tkòFÏ’!úÀ'âxð(.þ<Wq- ¬ÛÌ*/Ái@Ñ0.#—t0RH &“(³ ^4ù}õ`k­ÞÿD©BX û”v¥-JprêKSI+Ä[×@½Mö &$Yiˆ2c)ÂvM9ÚÎÜ?buïã?îdL<> ;^ !:ÈhÝ¢A'*Ùf˜Wlo†‰¹‹GøLJ\ÒL¯XÃUSaÅEwqO›4 jg1 [ýçzF8"¨,JÉz6PR¦YeéaŠnVË…ŽÊ5Œ¤äÆ$œdfeüµZ• «¾íV_Q31·´¿¼èh_à÷ Ÿ¸w:g]7áO€B7%,;¶ñƒô+= ‘ª£/=K§æ ßnÕ256jE|Hp®#T)mNyºGì]{ÔCNAsšDUØå»3‚rž±ÍT„8™o²ël\óPs>9Q{Z¡yÓuÖbI–ÐC`~|mc Error: A general SIGFPE signal was encountered. Error: FPE_FLTINV (Float: invalid operation) Error: FPE_FLTOVF (Float: overflow) Error: FPE_FLTRES (Float: inexact result) Error: FPE_FLTSUB (Float: subscript out of range) Error: FPE_FLTUND (Float: underflow) Error: FPE_INTDIV (Integer: divide by zero) Error: FPE_INTOVF (Integer: overflow) Error: ILL_BADSTK (Internal Stack Error) Error: ILL_COPROC (Coprocessor Error) Error: ILL_ILLADR (Illegal addressing mode) Error: ILL_ILLOPC (Illegal Opcode) Error: ILL_ILLOPN (Illegal Operand) Error: ILL_ILLTRP (Illegal Trap) Error: ILL_PRVOPC (Privileged Opcode) Error: ILL_PRVREG (Privileged Register)"%s" has invalid syntax for locations.%0.f%% (time left %.2d:%.2d)%s %s%s %s %s%s : Bad checksum on block %llu of type %s.%s : Didn't find rdb block, should never happen.%s : Failed to list bad blocks.%s : Failed to list boot blocks.%s : Failed to list file system blocks.%s : Failed to list partition blocks.%s : Loop detected at block %d.%s : The %s list seems bad at block %s.%s contains GPT signatures, indicating that it has a GPT table. However, it does not have a valid fake msdos partition table, as it should. Perhaps it was corrupted -- possibly by a program that doesn't understand GPT partition tables. Or perhaps you deleted the GPT table, and are now using an msdos partition table. Is this a GPT partition table?%s disk labels do not support extended partitions.%s disk labels don't support logical or extended partitions.%s during read on %s%s during seek for read on %s%s during seek for write on %s%s during write on %s%s has no extended partition (volume header partition).%s is %dk, but it has %d clusters (%dk).%s is too small for a Mac disk label!%s trying to sync %s to diskA %s %s partition was found at %s -> %s. Do you want to add it to the partition table?A reference to an extent comes from a place it should not. You should check the file system!ATARAID ControllerAn error occurred during extent relocation.An error occurred while looking for the mandatory bad blocks file.An extended partition cannot hold a file system. Did you want mkpart?An extent has not been relocated.Attempt to write sectors %ld-%ld outside of partition on %s.BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s. Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or scandisk.Bad FAT: cluster %d outside file system in chain for %s. You should run dosfsck or scandisk.Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk.Bad block list header checksum.Bad blocks could not be read.Bad blocks list could not be loaded.Bad directory entry for %s: first cluster is the end of file marker.Bad journal checksum.Block %i has no reference? Weird.Both the primary and backup GPT tables are corrupt. Try making a fresh table, and using Parted's rescue feature to recover partitions.BugCOMMANDs:Can't add a logical partition to %s, because there is no extended partition.Can't add another partition -- the partition map is too small!Can't add another partition.Can't copy an extended partition.Can't copy onto an overlapping partition.Can't create any more partitions.Can't have a logical partition outside of the extended partition on %s.Can't have a partition outside the disk!Can't have a primary partition inside an extended partition.Can't have logical partitions outside of the extended partition.Can't have more than one extended partition on %s.Can't have overlapping partitions.Can't move a partition onto itself. Try using resize, perhaps?Can't move an extended partition.Can't write to %s, because it is opened read-only.CancelCannot get unit size for special unit 'COMPACT'.Changing the name of a root or swap partition will prevent Linux from recognising it as such.Checksum is wrong, indicating the partition table is corrupt.Cluster start delta = %d, which is not a multiple of the cluster size %d.Compaq Smart ArrayConflicting partition map entry sizes! Entry 1 says it is %d, but entry %d says it is %d!Corrupted Sun disk label detected.Could not cache the file system in memory.Could not detect file system.Could not find sector %lli of HFS file with CNID %X.Could not find sector %lli of HFS+ file with CNID %X.Could not get identity of device %s - %sCould not stat device %s - %s.Could not update the extent cache for HFS file with CNID %X.Could not update the extent cache for HFS+ file with CNID %X.Couldn't flush buffer cache!Cross-linked blocks found! Better go run e2fsck first!DAC960 RAID controllerDEVICE is usually /dev/hda or /dev/sda Data relocation has failed.Data relocation left some data at the end of the volume.Data relocation left some data in the end of the volume.Destination partition number?Device %s has multiple (%d) logical sectors per physical sector. GNU Parted supports this EXPERIMENTALLY for some special disk label/file system combinations, e.g. GPT and ext2/3. Please consult the web site for up-to-date information.Direct support for copying file systems is not yet implemented for %s. However, support for resizing is implemented. Therefore, the file system can be copied if the new partition is at least as big as the old one. So, either shrink the partition you are trying to copy, or copy to a bigger partition.Disk %s: %s EndEnd?ErrorError allocating buffer cache.Error informing the kernel about modifications to partition %s -- %s. This means Linux won't know about any changes you made to %s until you reboot -- so you shouldn't mount it or use it in any way before rebooting.Error initialising SCSI device %s - %sError opening %s: %sError while writing the allocation file.Error while writing the compatibility part of the allocation file.Error writing to the root directory.Expecting a disk label type.Expecting a file system type.Expecting a partition number.Expecting a partition type.Extended partitions cannot be hidden on msdos disk labels.FAT %d media %x doesn't match the boot sector's media %x. You should probably run scandisk.FAT boot sector says clusters are 0 sectors. This is weird. FAT boot sector says logical sector size is 0. This is weird. FAT boot sector says there are no FAT tables. This is weird. FLAG is one of: FS-TYPE is one of: Failed to write partition block at %d.FatalFile System: %s File systemFile system doesn't have expected sizes for Windows to like it. Cluster size is %dk (%dk expected); number of clusters is %d (%d expected); size of FATs is %d sectors (%d expected).File system full!File system has an invalid cluster size for a FAT file system.File system has an invalid number of FATs.File system has an invalid number of reserved sectors for a FAT file system.File system has an invalid sector size for a FAT file system.File system has an invalid signature for a FAT file system.File system has errors! You should run e2fsck.File system has too many allocated inodes to remove a group!File system is FAT12, which is unsupported.File system is reporting the free space as %d clusters, not %d clusters.File system is too full to remove a group!File system too small for ext2.File system type?File system was not cleanly unmounted! You should run e2fsck.File system was not cleanly unmounted! You should run e2fsck. Modifying an unclean file system could cause severe corruption.FixFlag to Invert?FlagsFlags: %s Found an inode with a incorrect link count. Better go run e2fsck first!Free SpaceGNU Parted cannot resize this partition to this size. We're working on it!GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT support will be disabled.Generic IDEI2O ControllerIf you convert to FAT16, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual).If you convert to FAT32, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual). Also, converting to FAT32 will make the file system unreadable by MS DOS, MS Windows 95a, and MS Windows NT.If you leave your file system as FAT16, then you will have no problems.If you leave your file system as FAT32, then you will not introduce any new problems.IgnoreInconsistent group descriptors!Incorrect magic values in the journal header.InformationInvalid number.Invalid partition table - recursive partition on %s.Invalid partition table on %s -- wrong signature %x.Invalid partition table on %s.Invalid signature %x for Mac disk labels.Invalid size of a transaction block while replaying the journal (%i bytes).Invalid superblock. Are you sure this is an ext2 file system?It seems there is an error in the HFS wrapper: the bad blocks file doesn't contain the embedded HFS+ volume.Journal offset or size is not multiple of the sector size.Journal size mismatch between journal info block and journal header.Journal stored outside of the volume are not supported. Try to desactivate the journal and run Parted again.LABEL-TYPE is one of: Maximum size: Minimum size: Minor: %d NAME is any word you want NUMBER is the partition number used by Linux. On MS-DOS disk labels, the primary partitions number from 1 to 4, logical partitions from 5 onwards. NameNew device?New disk label type?New state?NoNo ImplementationNo device foundNo valid HFS[+X] signature has been found while opening.No valid partition map found.Not enough free inodes!NumberOKOPTIONs:Only logical partitions can be a boot file.Only primary partitions can be root partitions.Only primary partitions can be swap partitions.Out of memory.PART-TYPE is one of: primary, logical, extended Parted can't resize partitions managed by Windows Dynamic Disk.Parted can't use HFS file systems on disks with a sector size not equal to %d bytes.Partition %d has an invalid length of 0 bytes!Partition %d has an invalid signature %x.Partition %d is %s, but the file system is %s.Partition %d isn't aligned to cylinder boundaries. This is still unsupported.Partition Table: %s Partition doesn't exist.Partition map has no partition map entry!Partition name?Partition number?Partition too big/small for a %s file system.Partition type?Partition(s) on %s are being used.Resizing the HFS+ volume has failed.RetrySTART and END are disk locations, such as 4GB or 10%. Negative values count from the end of the disk. For example, -1s specifies exactly the last sector. STATE is one of: on, off Sector size (logical/physical): %lldB/%lldB SizeSize: Some header fields are not multiple of the sector size.Sorry, HFS cannot be resized that way yet.Sorry, HFS+ cannot be resized that way yet.Sorry, can't move the start of ext2 partitions yet!Source device?Source partition number?StartStart?Sun disk label is full.Support for checking %s file systems is not implemented yet.Support for copying %s file systems is not implemented yet.Support for creating %s file systems is not implemented yet.Support for opening %s file systems is not implemented yet.Support for resizing %s file systems is not implemented yet.The FATs don't match. If you don't know what this means, then select cancel, run scandisk on the file system, and then come back.The Whole Disk partition is the only available one left. Generally, it is not a good idea to overwrite this partition with a real one. Solaris may not be able to boot without it, and SILO (the sparc boot loader) appreciates it as well.The backup GPT table is not at the end of the disk, as it should be. This might mean that another operating system believes the disk is smaller. Fix, by moving the backup to the end (and removing the old backup)?The boot region doesn't start at the start of the partition.The data region doesn't start at the start of the partition.The device %s has zero length, and can't possibly store a file system or partition table. Perhaps you selected the wrong device?The disk CHS geometry (%d,%d,%d) reported by the operating system does not match the geometry stored on the disk label (%d,%d,%d).The disk has %d cylinders, which is greater than the maximum of 65536.The disk label describes a disk bigger than %s.The driver descriptor says the physical block size is %d bytes, but Linux says it is %d bytes.The ext2 file system passed a basic check. For a more comprehensive check, use the e2fsck program.The extents overflow file should not contain its own extents! You should check the file system.The file %s is marked as a system file. This means moving it could cause some programs to stop working.The file system can only be resized to this size by converting to FAT16.The file system can only be resized to this size by converting to FAT32.The file system contains errors.The file system has the 'dir_index' feature enabled. Parted can only resize the file system if it disables this feature. You can enable it later by running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'.The file system is bigger than its volume!The file system's CHS geometry is (%d, %d, %d), which is invalid. The partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the file system's CHS geometry will be left unchanged. If you select Fix, the file system's CHS geometry will be set to match the partition table's CHS geometry.The format of the GPT partition table is version %x, which is newer than what Parted can recognise. Please tell us! bug-parted@gnu.orgThe information sector has the wrong signature (%x). Select cancel for now, and send in a bug report. If you're desperate, it's probably safe to ignore.The journal is not empty. Parted must replay the transactions before opening the file system. This will modify the file system.The location %s is outside of the device %s.The maximum head value is %d.The maximum sector value is %d.The partition must have one of the following FS-TYPEs: The partition table cannot be re-read. This means you need to reboot before mounting any modified partitions. You also need to reinstall your boot loader before you reboot (which may require mounting modified partitions). It is impossible do both things! So you'll need to boot off a rescue disk, and reinstall your boot loader from the rescue disk. Read section 4 of the Parted User documentation for more information.The partition table on %s cannot be re-read (%s). This means the Hurd knows nothing about any modifications you made. You should reboot your computer before doing anything with %s.The partition's boot region doesn't occupy the entire partition.The partition's data region doesn't occupy the entire partition.The primary GPT table is corrupt, but the backup appears OK, so that will be used.The sector size stored in the journal is not 512 bytes. Parted only supports 512 bytes length sectors.The volume header or the master directory block has changed while replaying the journal. You should restart Parted.There are no possible configurations for this FAT type.There's not enough room in the root directory for all of the files. Either cancel, or ignore to lose the files.This HFS volume has no catalog file. This is very unusual!This HFS volume has no extents overflow file. This is quite unusual!This HFS+ volume has no catalog file. This is very unusual!This HFS+ volume has no extents overflow file. This is quite unusual!This file system has a logical sector size of %d. GNU Parted is known not to work properly with sector sizes other than 512 bytes.This is not a real %s check. This is going to extract special low level files for debugging purposes.This libparted doesn't have write support for %s. Perhaps it was compiled read-only.Too many bad pages.Too many primary partitionsToo many primary partitions.Trying to move an extent from block Ox%X to block Ox%X, but another one already exists at this position. This should not happen!Trying to read HFS file with CNID %X behind EOF.Trying to read HFS+ file with CNID %X behind EOF.Trying to register an extent starting at block 0x%X, but another one already exists at this position. You should check the file system!Trying to write HFS file with CNID %X behind EOF.Trying to write HFS+ file with CNID %X behind EOF.TypeUNIT is one of: Unable to allocate a bsd disklabel slot.Unable to allocate a partition number.Unable to determine the size of %s (%s).Unable to open %s read-write (%s). %s has been opened read-only.Unable to open %s.Unable to probe store.Unable to satisfy all constraints on the partition.Unit?UnknownUnknown file system type "%s".Unknown partition flag, %d.Updating the HFS wrapper has failed.Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...] Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run in interactive mode. User-Mode Linux UBDUsing %s Version %d of HFS+ isn't supported.Version %d of HFSX isn't supported.WarningWeird block size on device descriptor: %d bytes is not divisible by 512.Weird! There are 2 partitions map entries!Welcome to GNU Parted! Type 'help' to view a list of commands. Would you like to use FAT32?YesYou need %s of free disk space to shrink this partition to this size. Currently, only %s is free.You should reinstall your boot loader before rebooting. Read section 4 of the Parted User documentation for more information.Your file system has too many occupied inodes to resize it to %i blocks. Sorry.Your file system is too full to resize it to %i blocks. Sorry.adding groupsbootcheckcheck NUMBER do a simple check on the file systemchecking for bad blockscpcp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another partitiondisplays the versiondisplays this help messageextendedfat_table_alloc_cluster: no free clustersfat_table_get: cluster %ld outside file systemfat_table_set: cluster %ld outside file systemfreegrowing file systemhelphiddenhp-servicelbalogicallvmmetadatamkfsmklabelmkpartmkpart PART-TYPE [FS-TYPE] START END make a partitionmkpartfsmkpartfs PART-TYPE FS-TYPE START END make a partition with a file systemmovemove NUMBER START END move partition NUMBERmsftresnamename NUMBER NAME name partition NUMBER as NAMEnever prompts for user interventionoffonpaloped_device_new() Unsupported device typeprepprimaryprintquitquit exit programraidraw block copyingrescuerescue START END rescue a lost partition near START and ENDresizeresize NUMBER START END resize partition NUMBER and its file systemrmrm NUMBER delete partition NUMBERrootsearching for file systemsselectselect DEVICE choose the device to editsetset NUMBER FLAG STATE change the FLAG on partition NUMBERshrinkingshrinking HFS wrappershrinking embedded HFS+ volumeswaptoggletoggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBERunitunit UNIT set the default unit to UNITwriting HFS Master Directory Blockwriting HFS+ Volume Headerwriting per-group metadataProject-Id-Version: parted 1.7.0rc1 Report-Msgid-Bugs-To: bug-parted@gnu.org POT-Creation-Date: 2010-05-28 20:30+0200 PO-Revision-Date: 2006-07-04 18:18+0800 Last-Translator: Wei-Lun Chao Language-Team: Chinese (traditional) Language: zh_TW MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; 錯誤: é‡åˆ°ä¸€èˆ¬çš„ SIGFPE 訊號。 錯誤: FPE_FLTINV (浮點: 無效的æ“作) 錯誤: FPE_FLTOVF (浮點: å‘上溢ä½) 錯誤: FPE_FLTRES (浮點: 䏿˜Žç¢ºçš„çµæžœ) 錯誤: FPE_FLTSUB (浮點: 註標超出範åœ) 錯誤: FPE_FLTUND (浮點: å‘下溢ä½) 錯誤: FPE_INTDIV (整數: 被零除) 錯誤: FPE_INTOVF (整數: å‘上溢ä½) 錯誤: ILL_BADSTK (內部堆疊錯誤) 錯誤: ILL_COPROC (輔助處ç†å™¨éŒ¯èª¤) 錯誤: ILL_ILLADR (ä¸åˆæ³•çš„å®šå€æ¨¡å¼) 錯誤: ILL_ILLOPC (ä¸åˆæ³•çš„æ“作碼) 錯誤: ILL_ILLOPN (ä¸åˆæ³•çš„é‹ç®—å…ƒ) 錯誤: ILL_ILLTRP (ä¸åˆæ³•的陷阱) 錯誤: ILL_PRVOPC (具優先權的æ“作碼) 錯誤: ILL_PRVREG (具優先權的暫存器)å®šä½ "%s" 時語法無效。%0.f%% (剩餘時間 %.2d:%.2d)%s %s%s %s %s%s:å€å¡Š %llu 的類型 %s 有ä¸ç•¶çš„總和檢查值。%s:無法找到 rdb å€å¡Šï¼Œé€™ä¸æ‡‰è©²ç™¼ç”Ÿã€‚%s:列舉ä¸ç•¶å€å¡Šæ™‚失敗。%s:列舉開機å€å¡Šæ™‚失敗。%s:列舉檔案系統å€å¡Šæ™‚失敗。%s:列舉分割å€å€å¡Šæ™‚失敗。%s:於å€å¡Š %d 嵿¸¬åˆ°è¿´åœˆã€‚%1$s:å€å¡Š %3$s 處似有ä¸ç•¶ %2$s 列表。%s 嫿œ‰ GPT ç°½åï¼Œæ¨™æ˜Žå®ƒå«æœ‰ GPT 表。然而,它並ä¸åƒæ‡‰è©²çš„é‚£æ¨£å«æœ‰æœ‰æ•ˆçš„å½ msdos 分割å€è¡¨ã€‚å¯èƒ½å®ƒå·²ç¶“æå£ž - å¯èƒ½æ˜¯ä¸ç†è§£ GPT 分割å€è¡¨çš„ç¨‹å¼æ‰€å°Žè‡´çš„。或者您刪除了 GPT 表,而ç¾åœ¨ä½¿ç”¨ msdos 分割å€è¡¨ã€‚這是 GPT 分割å€è¡¨å—Žï¼Ÿ%s ç£ç¢Ÿæ¨™ç±¤ä¸æ”¯æ´æ“´å……分割å€ã€‚%s ç£ç¢Ÿæ¨™ç±¤ä¸æ”¯æ´é‚輯或擴充分割å€ã€‚åœ¨è®€å– %2$s 期間 %1$såœ¨ç‚ºè®€å– %2$s è€Œå‘¼å« seek 時 %1$s在為寫入 %2$s å‘¼å« seek 時 %1$s在寫入 %2$s 時 %1$s%s æ²’æœ‰æ“´å……åˆ†å‰²å€ (å·é ­åˆ†å‰²å€)。%s 為 %dkï¼Œä½†å«æœ‰ %d 個ç£ç°‡ (%dk)。%s å° Mac ç£ç¢Ÿæ¨™ç±¤ä¾†èªªå¤ªå°äº†ï¼%s 試圖將 %s åŒæ­¥åˆ°ç£ç¢Ÿä¸Šåœ¨ %3$s -> %4$s 處找到一個 %1$s %2$s 分割å€ã€‚æ‚¨å¸Œæœ›å°‡å…¶æ·»åŠ åˆ°åˆ†å‰²è¡¨ä¸­å—Žï¼Ÿå°æ–¼æ“´å……分割å€çš„åƒç…§ä¾†è‡ªä¸€å€‹ä¸æ‡‰è©²çš„地方。您應該檢查檔案系統ï¼ATARAID 控制器擴充分割å€é‡æ–°å®šä½æœŸé–“發生錯誤。尋找強制性æå£žå€å¡Šæª”案時發生錯誤。擴充分割å€ä¸èƒ½å«æœ‰æª”案系統。您是è¦ç”¨ mkpart å§ï¼Ÿå°šæœªé‡æ–°å®šä½ä¸€å€‹æ“´å……分割å€ã€‚試圖寫入 %3$s 上分割å€ä¹‹å¤–çš„ç£å€ %1$ld-%2$ld。BIOS çš„ç£æŸ±ã€ç£é ­ã€ç£å€å¹¾ä½•çµæ§‹ï¼š%d,%d,%d。æ¯åœˆç£æŸ±æ˜¯ %s。 ä¸ç•¶çš„ FAT:ç£ç°‡ %d 與 %s çš„éˆçµäº¤å‰ã€‚您應該執行 dosfsck 或 scandisk。ä¸ç•¶çš„ FAT:在%2$s çš„éˆçµä¸­ï¼Œç£ç°‡ %1$d 使–¼æª”案系統之外。您應該執行 dosfsck 或 scandisk。ä¸ç•¶çš„ FAT:%s çš„éˆçµæœªçµæŸã€‚您應該執行 dosfsck 或 scandisk。ä¸è‰¯çš„å€å¡Šåˆ—表頭總和檢查值。無法讀å–ä¸ç•¶çš„å€å¡Šã€‚ä¸ç•¶çš„å€å¡Šåˆ—表無法被載入。%s 的目錄æ¢ç›®ä¸ç•¶ï¼šç¬¬ä¸€å€‹ç£ç°‡å°±æ˜¯æª”æ¡ˆæ¨™è¨˜çš„çµæŸã€‚ä¸è‰¯çš„æ—¥èªŒç¸½å’Œæª¢æŸ¥å€¼ã€‚å€å¡Š %i 沒有被åƒç…§ï¼Ÿå¥‡æ€ªã€‚主 GPT 和備份 GPT 都æå£žäº†ã€‚ç¾åœ¨è©¦åœ–建立新表,並使用 Parted 的回復功能以é‡å»ºåˆ†å‰²å€è¡¨ã€‚臭蟲命令:由於沒有擴充分割å€ï¼Œç„¡æ³•å°‡é‚è¼¯åˆ†å‰²å€æ·»åŠ åˆ° %s。無法添加å¦ä¸€å€‹åˆ†å‰²å€ -- åˆ†å‰²å€æ˜ å°„éŽå°ï¼ç„¡æ³•添加其它分割å€ã€‚無法複製擴充分割å€ã€‚無法複製到é‡ç–Šçš„分割å€ã€‚無法建立更多分割å€ã€‚%s 上的é‚輯分割å€ä¸èƒ½ä½æ–¼æ“´å……分割å€ä¹‹å¤–。無法讓分割å€è¶…出ç£ç¢Ÿï¼æ“´å……分割å€ä¸­ä¸èƒ½å«æœ‰ä¸»åˆ†å‰²å€ã€‚é‚輯分割å€ä¸èƒ½ä½æ–¼æ“´å……分割å€ä¹‹å¤–。%s 上ä¸èƒ½å«æœ‰å¤šæ–¼ä¸€å€‹çš„æ“´å……分割å€ã€‚分割å€ä¸èƒ½é‡ç–Šã€‚無法將分割å€ç§»å‹•到它自身。也許試試改變大å°ï¼Ÿç„¡æ³•移動擴充分割å€ã€‚由於 %s 是以唯讀方å¼é–‹å•Ÿçš„ï¼Œå› æ­¤ç„¡æ³•å¯«å…¥ã€‚å–æ¶ˆç„¡æ³•ç²å¾—特殊的「COMPACTã€æ‰€ç”¨çš„å–®ä½å¤§å°ã€‚æ”¹è®Šæ ¹åˆ†å‰²å€æˆ–交æ›åˆ†å‰²å€çš„å稱將導致 Linux 無法識別它。總和檢查錯誤,標明分割å€è¡¨å·²æå£žã€‚ç£ç°‡èµ·å§‹åç§» = %dï¼Œä¸æ˜¯ç£ç°‡å¤§å° %d 的整數å€ã€‚Compaq æ™ºæ…§åž‹é™£åˆ—åˆ†å‰²å€æ˜ å°„æ¢ç›®å¤§å°ç™¼ç”Ÿè¡çªï¼æ¢ç›® 1 說它是 %d,但æ¢ç›® %d 說它是 %dï¼åµæ¸¬åˆ°æå£žäº†çš„ Sun ç£ç¢Ÿæ¨™ç±¤ã€‚無法快å–è¨˜æ†¶é«”ä¸­çš„æª”æ¡ˆç³»çµ±ã€‚ç„¡æ³•åµæ¸¬æª”案系統。無法找到具有 CNID %2$X çš„ HFS 檔案之中的ç£å€ %1$lli。無法找到具有 CNID %2$X çš„ HFS+ 檔案之中的ç£å€ %1$lli。無法ç²å–設備 %s - %s 的標識無法å°è¨­å‚™ %s - %s 進行 stat æ“作。無法更新具有 CNID %X çš„ HFS 檔案擴充快å–。無法更新具有 CNID %X çš„ HFS+ 檔案之擴充快å–。無法排空緩è¡å€å¿«å–ï¼ç™¼ç¾äº¤å‰é€£çµå€å¡Šï¼æœ€å¥½å…ˆåŸ·è¡Œ e2fsckï¼DAC960 RAID 控制器DEVICE 通常為 /dev/hda 或 /dev/sda è³‡æ–™é‡æ–°å®šä½æ™‚失敗。資料é‡å®šä½å¾Œéºç•™ä¸€äº›è³‡æ–™æ–¼å·å†Šçš„æœ«ç«¯ã€‚è³‡æ–™é‡æ–°å®šä½æ™‚留下一些資料於å·å†Šæœ«ç«¯ã€‚目標分割å€ç·¨è™Ÿï¼Ÿè£ç½® %s çš„æ¯ä¸€ç‰©ç†ç£å€å…·æœ‰å¤šå€‹ (%d) é‚輯ç£å€ã€‚ GNU Parted å°æŸäº›ç‰¹å®šç£ç¢Ÿæ¨™ç±¤/檔案系統組åˆé‚„是[實驗性]支æ´ï¼Œåƒæ˜¯ GPT å’Œ ext2/3。 è«‹åƒç…§ç¶²é ä»¥ç²å¾—æœ€æ–°çš„è³‡è¨Šã€‚å° %s 來說尚ä¸ç›´æŽ¥æ”¯æ´å®ƒçš„æª”案系統複製。然而,改變大å°çš„æ”¯æ´å·²å¯¦ä½œå®Œæˆã€‚因此,åªè¦æ–°åˆ†å‰²å€æ¯”舊分割å€å¤§ï¼Œå°±èƒ½å¤ è¤‡è£½æª”æ¡ˆç³»çµ±ã€‚æ‰€ä»¥ï¼Œç¸®å°æ‚¨è©¦åœ–複製的分割å€ï¼Œæˆ–是複製到較大的分割å€ã€‚ç£ç¢Ÿ %s:%s çµæŸé»žçµæŸé»žï¼ŸéŒ¯èª¤åˆ†é…ç·©è¡å€å¿«å–æ™‚ç™¼ç”ŸéŒ¯èª¤ã€‚é€šçŸ¥æ ¸å¿ƒé—œæ–¼åˆ†å‰²å€ %s -- %s 的修改時出錯。這æ„味著 Linux åœ¨é‡æ–°å•Ÿå‹•之å‰ç„¡æ³•çŸ¥é“æ‚¨é‡å° %s 所作的任何修改 - 所以您也ä¸èƒ½åœ¨é‡æ–°å•Ÿå‹•ä¹‹å‰æŽ›è¼‰æˆ–ä»¥ä»»ä½•æ–¹å¼ä½¿ç”¨å®ƒã€‚åˆå§‹åŒ– SCSI 設備 %s - %s 出錯開啟 %s 出錯:%så¯«å…¥å®šä½æª”æ¡ˆæ™‚ç™¼ç”ŸéŒ¯èª¤ã€‚å¯«å…¥å®šä½æª”案的相容部份時發生錯誤。寫入根目錄時錯誤。需è¦ç£ç¢Ÿæ¨™ç±¤é¡žåž‹ã€‚éœ€è¦æª”案系統類型。需è¦åˆ†å‰²å€ç·¨è™Ÿã€‚需è¦åˆ†å‰²å€é¡žåž‹ã€‚擴充分割å€ç„¡æ³•éš±è—æ–¼ msdos ç£ç¢Ÿæ¨™ç±¤ä¹‹ä¸Šã€‚FAT %d 媒體 %x 和啟動ç£å€æ‰€åœ¨çš„媒體 %x ä¸ç¬¦åˆã€‚您å¯èƒ½æ‡‰è©²åŸ·è¡Œ scandisk。FAT 啟動ç£å€è²ç¨±ç£ç°‡å…·æœ‰é›¶ç£å€ã€‚這很奇怪。FAT 啟動ç£å€è²ç¨±é‚輯ç£å€çš„大å°ç‚ºé›¶ã€‚這很奇怪。FAT 啟動ç£å€è²ç¨±æ²’有 FAT 表。這很奇怪。FLAG 是以下任æ„一項:FS-TYPE 是以下任æ„一項:寫入分割å€å€å¡Š %d 時失敗。致命錯誤檔案系統:%s 檔案系統檔案系統的大å°ä¸æ˜¯ Windows 所希望的。ç£ç°‡å¤§å°ç‚º %dk (期望 %dk)ï¼›ç£ç°‡æ•¸é‡ç‚º %d (期望 %d)ï¼›FAT 的大å°ç‚º %d ç£å€ (期望 %d)ã€‚æª”æ¡ˆç³»çµ±å·²æ»¿ï¼æª”案系統的ç£ç°‡å¤§å°å° FAT 檔案系統來說無效。檔案系統的 FAT 數é‡ç„¡æ•ˆã€‚檔案系統的ä¿ç•™ç£å€æ•¸å° FAT 檔案系統來說無效。檔案系統的ç£å€å¤§å°å° FAT æª”æ¡ˆç³»çµ±ä¾†èªªç„¡æ•ˆã€‚æª”æ¡ˆç³»çµ±å«æœ‰ç„¡æ•ˆçš„ FAT 檔案系統簽åã€‚æª”æ¡ˆç³»çµ±ç™¼ç”ŸéŒ¯èª¤ï¼æ‚¨æ‡‰è©²åŸ·è¡Œ e2fsck。檔案系統中已使用的 inode éŽå¤šï¼Œä»¥è‡´ç„¡æ³•åˆªé™¤æ•´çµ„ï¼æª”案系統為 FAT12ï¼Œä¸æ”¯æ´ã€‚檔案系統報告自由空間為 %d ç£ç°‡ï¼Œè€Œä¸æ˜¯ %d ç£ç°‡ã€‚檔案系統被éŽåº¦ä½”用,以致無法刪除整組ï¼å° ext2 來說檔案系統éŽå°ã€‚檔案系統類型?檔案系統沒有乾淨地å¸è¼‰ï¼æ‚¨æ‡‰è©²åŸ·è¡Œ e2fsck。檔案系統沒有被乾淨地å¸è¼‰ï¼æ‚¨æ‡‰è©²åŸ·è¡Œ e2fsck。修改ä¸ä¹¾æ·¨çš„æª”案系統å¯èƒ½å°Žè‡´åš´é‡çš„æå£žã€‚修正è¦å相的旗標?旗標旗標:%s 找到帶有錯誤連çµè¨ˆæ•¸çš„ inode。最好先執行 e2fsckï¼å¯ç”¨ç©ºé–“GNU Parted 無法將此分割å€è½‰æ›åˆ°é€™ä¸€å¤§å°ã€‚我們正在努力中ï¼GNU parted 編譯錯誤:FAT 啟動ç£å€æ‡‰ç‚º 512 ä½å…ƒçµ„。FAT 支æ´å°‡è¢«é—œé–‰ã€‚一般 IDEI2O 控制器如果您轉æ›ç‚º FAT16,並將 MS Windows 安è£åˆ°é€™å€‹åˆ†å‰²å€ï¼Œé‚£éº¼æ‚¨å¿…é ˆé‡æ–°å®‰è£ MS Windows 開機載入程å¼ã€‚如果您打算這麼åšï¼Œæ‚¨æ‡‰è©²åƒé–± Parted 的手冊 (或您的發行版手冊)。如果您轉æ›ç‚º FAT32,並且 MS Windows 安è£åœ¨é€™å€‹åˆ†å‰²å€ï¼Œé‚£éº¼æ‚¨å¿…é ˆé‡æ–°å®‰è£ MS Windows 的開機載入程å¼ã€‚如果您打算這樣作,您應該åƒé–± Parted 的手冊 (或者您的發行版手冊)。此外,將檔案系統轉æ›ç‚º FAT32,檔案系統就ä¸èƒ½å¤ è¢« MS DOSã€MS Windows 95a å’Œ MS Windows NT 所存å–ã€‚å¦‚æžœå°‡æ‚¨çš„æª”æ¡ˆç³»çµ±é¡žåž‹ä¿æŒ FAT16 ä¸è®Šï¼Œé‚£éº¼ä½ å°±ä¸æœƒæœ‰å•é¡Œã€‚å¦‚æžœæ‚¨ä¿æŒæª”案系統類型為 FAT32 ä¸è®Šï¼Œé‚£éº¼æ‚¨å°‡ä¸æœƒé‡åˆ°ä»»ä½•æ–°å•題。忽略ä¸ä¸€è‡´çš„群組æè¿°ç¬¦è™Ÿï¼åœ¨æ—¥èªŒè¡¨é ­ä¸­æœ‰ä¸æ­£ç¢ºçš„特異值。資訊無效的編號。無效的分割å€è¡¨ - %s 出ç¾éžæ­¸åˆ†å‰²å€ã€‚%s 上的分割å€è¡¨ç„¡æ•ˆ - 錯誤的簽å %x。%s 的分割å€è¡¨ç„¡æ•ˆã€‚無效的 Mac ç£ç¢Ÿæ¨™ç±¤ç°½å %xã€‚é‡æ’­æ—¥èªŒæ™‚無效的異動å€å¡Šå¤§å° (%i ä½å…ƒçµ„)。無效的超å€å¡Šã€‚您確信它是一個 ext2 檔案系統?在 HFS+ 轉包程å¼ä¸­ä¼¼ä¹Žæœ‰éŒ¯èª¤ï¼šæå£žçš„å€å¡Šæª”案並未包å«å…§åµŒçš„ HFS+ å·å†Šã€‚日誌åç§»é‡æˆ–大å°ä¸æ˜¯ç£å€å¤§å°çš„æ•´æ•¸å€ã€‚在日誌資訊å€å¡Šèˆ‡æ—¥èªŒè¡¨é ­ä¹‹é–“的大å°ä¸ç›¸ç¬¦åˆã€‚䏿”¯æ´æ—¥èªŒå¼ HFS+ å·å†Šï¼Œæ‚¨æ‡‰è©²åœ¨å…¶ä¸Šå˜—試任何作業之å‰é—œé–‰æ—¥èªŒåŠŸèƒ½ã€‚LABEL-TYPE 是以下任æ„一項:最大尺寸:最å°å°ºå¯¸ï¼šç·¨è™Ÿï¼š%d NAME 是您需è¦çš„任何單詞 NUMBER 是 Linux 使用的分割å€ç·¨è™Ÿã€‚在 MS-DOS ç£ç¢Ÿæ¨™ç±¤ä¸­ï¼Œä¸»åˆ†å‰²å€ç·¨è™Ÿç‚º 1 - 4,é‚輯分割å€å¾ž 5 開始。 å稱新è£ç½®ï¼Ÿæ–°çš„ç£ç¢Ÿæ¨™ç±¤é¡žåž‹ï¼Ÿæ–°ç‹€æ…‹ï¼Ÿå¦æœªå¯¦ä½œæ²’有找到設備開啟時沒有找到任何有效的 HFS[+X] 簽章。找ä¸åˆ°æœ‰æ•ˆçš„åˆ†å‰²å€æ˜ å°„。沒有足夠的å¯ç”¨ inodesï¼ç·¨è™Ÿç¢ºèªé¸é …ï¼šåªæœ‰é‚輯分割å€å¯ä»¥æ˜¯å€‹é–‹æ©Ÿæª”æ¡ˆã€‚åªæœ‰ä¸»åˆ†å‰²å€å¯ä»¥åšç‚ºæ ¹åˆ†å‰²å€ã€‚åªæœ‰ä¸»åˆ†å‰²å€å¯ä»¥æ˜¯äº¤æ›åˆ†å‰²å€ã€‚記憶體耗盡。PART-TYPE 是主分割å€ã€é‚輯分割å€ã€æ“´å……分割å€ä¹‹ä¸€ Parted 無法改變由「視窗動態ç£ç¢Ÿã€æ‰€ç®¡ç†çš„分割å€å¤§å°ã€‚Parted 無法在其ç£å€å¤§å°ä¸ç­‰æ–¼ %d ä½å…ƒçµ„çš„ç£ç¢Ÿä¸Šä½¿ç”¨ HFS æª”æ¡ˆç³»çµ±ã€‚åˆ†å‰²å€ %d 嫿œ‰ç„¡æ•ˆçš„長度 0 ä½å…ƒçµ„ï¼åˆ†å‰²å€ %d 嫿œ‰ç„¡æ•ˆçš„ç°½å %xã€‚åˆ†å‰²å€ %d 大å°ç‚º %s,但檔案系統大å°ç‚º %sã€‚åˆ†å‰²å€ %d 並未å°é½Šåˆ°ç£æŸ±é‚Šç•Œã€‚此功能ä»ç„¶å°šæœªè¢«æ”¯æ´ã€‚分割å€ï¼š%s 分割å€ä¸å­˜åœ¨ã€‚åˆ†å‰²å€æ˜ å°„ä¸å«æœ‰åˆ†å‰²å€æ˜ å°„æ¢ç›®ï¼åˆ†å‰²å€å稱?分割å€ç·¨è™Ÿï¼Ÿå°æ–¼ %s 檔案系統來說,分割å€éŽå¤§æˆ–éŽå°ã€‚分割å€é¡žåž‹ï¼Ÿæ­£åœ¨ä½¿ç”¨ %s 上的分割å€ã€‚改變 HFS+ å·å†Šå¤§å°æ™‚失敗。é‡è©¦START å’Œ END 是ç£ç¢Ÿç”¨é‡ï¼Œåƒæ˜¯ 4GB 或 10%。負數值則是從ç£ç¢Ÿæœ«ç«¯èµ·ç®—。例如,-1s 指定最後一個ç£å€ã€‚ STATE 為:開ã€é—œ ç£å€å¤§å° (é‚輯/物ç†):%lldB/%lldB 大å°å¤§å°ï¼š æŸäº›è¡¨é ­æ¬„ä½ä¸æ˜¯ç£å€å¤§å°çš„æ•´æ•¸å€ã€‚抱歉,HFS å°šç„¡æ³•ä»¥æ­¤æ–¹å¼æ”¹è®Šå¤§å°ã€‚抱歉,HFS+ å°šç„¡æ³•ä»¥æ­¤æ–¹å¼æ”¹è®Šå¤§å°ã€‚抱歉,尚無法移動 ext2 分割å€çš„起點ï¼ä¾†æºè¨­å‚™ï¼Ÿä¾†æºåˆ†å‰²å€ç·¨è™Ÿï¼Ÿèµ·å§‹é»žèµ·å§‹é»žï¼ŸSun ç£ç¢Ÿæ¨™ç±¤å·²æ»¿ã€‚檢查 %s 檔案系統的支æ´å°šæœªå¯¦ä½œã€‚複製 %s 檔案系統的支æ´å°šæœªå¯¦ä½œã€‚建立 %s 檔案系統的支æ´å°šæœªå¯¦ä½œã€‚開啟 %s 檔案系統的支æ´å°šæœªå¯¦ä½œã€‚改變 %s 檔案系統的支æ´å°šæœªå¯¦ä½œã€‚FAT ä¸ç›¸ç¬¦åˆã€‚如果你ä¸çŸ¥é“它的å«ç¾©ï¼Œè«‹é¸æ“‡å–æ¶ˆï¼Œä¸¦å°æª”案系統執行 scandisk,然後å†å›žåˆ°é€™è£¡ä¾†ã€‚整個ç£ç¢Ÿåˆ†å‰²å€æ˜¯æƒŸä¸€é‚„留下å¯ç”¨çš„å€å¡Šã€‚一般而言,以真實的å€å¡Šä¾†è¦†å¯«é€™å¡Šåˆ†å‰²å€ 䏦䏿˜¯å€‹å¥½ä¸»æ„。沒有了它,Solaris 也許就無法開機,並且 SILO (sparc 開機載入程å¼) 也會因此而感激的。備份 GPT 表ä¸åƒæ‡‰è©²çš„那樣出ç¾åœ¨ç£ç¢Ÿçš„æœ«å°¾ã€‚這å¯èƒ½æ„味者其它æ“作系統相信ç£ç¢Ÿå°ä¸€äº›ã€‚經由將備份移動到末尾 (並刪除舊備份) 來修正它?啟動å€åŸŸä¸¦æœªå¾žåˆ†å‰²å€çš„起點開始。資料å€ä¸¦æœªå¾žåˆ†å‰²å€çš„起點開始。設備 %s 的長度為零,因此也許無法ä¿å­˜æª”案系統或分割å€è¡¨ã€‚å¯èƒ½æ‚¨é¸æ“‡äº†éŒ¯èª¤çš„設備?由作業系統回報的ç£ç¢Ÿ CHS å¹¾ä½•çµæ§‹ (%d,%d,%d) 與ä¿å­˜åœ¨ç£ç¢Ÿæ¨™ç±¤ä¸­çš„å¹¾ä½•çµæ§‹ (%d,%d,%d) ä¸ç¬¦åˆã€‚該ç£ç¢Ÿå…·æœ‰ %d åœˆç£æŸ±ï¼Œå·²è¶…éŽ 65536 的最大é™åˆ¶ã€‚ç£ç¢Ÿæ¨™ç±¤æè¿°çš„ç£ç¢Ÿå¤§æ–¼ %s。ç£ç¢Ÿæè¿°è¡¨æ˜Žç‰©ç†å€å¡Šå¤§å°ç‚º %d ä½å…ƒçµ„,但 Linux èªç‚ºå®ƒæ˜¯ %d ä½å…ƒçµ„。ext2 檔案系統通éŽäº†åŸºæœ¬æª¢æŸ¥ã€‚至於更完整的檢查,請使用 e2fsck 程å¼ã€‚æ“´å……å€æº¢ä½æª”æ¡ˆä¸æ‡‰è©²åŒ…å«å®ƒè‡ªå·±çš„æ“´å……éƒ¨ä»½ï¼æ‚¨æ‡‰è©²æª¢æŸ¥æª”案系統。檔案 %s 被標記為系統檔案。這æ„味著移動它å¯èƒ½å°Žè‡´æŸäº›ç¨‹å¼åœæ­¢å·¥ä½œã€‚檔案系統的大å°åªèƒ½ç¶“由轉æ›ç‚º FAT16 改變到這一大å°ã€‚檔案系統的大å°åªèƒ½ç¶“由轉æ›ç‚º FAT32 改變到這一大å°ã€‚檔案系統包å«éŒ¯èª¤ã€‚檔案系統已啟用「dir_indexã€çš„ç‰¹æ®ŠåŠŸèƒ½ã€‚åªæœ‰ç•¶æ­¤ç‰¹æ€§åœç”¨æ™‚,Parted æ‰èƒ½æ”¹è®Šæª”案系統的大å°ã€‚您å¯ä»¥åœ¨ç¨å¾Œåˆ©ç”¨åŸ·è¡Œã€Œtune2fs -O dir_index DEVICEã€ä¾†å•Ÿç”¨å®ƒï¼Œç„¶å¾ŒæŽ¥è‘—「e2fsck -fD DEVICEã€ã€‚檔案系統比它的å·å†Šé‚„å¤§ï¼æª”案系統的 CHS å¹¾ä½•çµæ§‹ç‚º (%d, %d, %d),而其為無效。分割å€è¡¨çš„ CHS å¹¾ä½•çµæ§‹ç‚º (%d, %d, %d)ã€‚å¦‚æžœæ‚¨é¸æ“‡å¿½ç•¥ï¼Œæª”案系統的 CHS å¹¾ä½•çµæ§‹å°‡æœƒä¿ç•™ä¸è®Šã€‚å¦‚æžœæ‚¨é¸æ“‡ä¿®å¾©ï¼Œæª”案系統的 CHS å¹¾ä½•çµæ§‹å°‡æœƒè¢«è¨­å®šä»¥ç¬¦åˆåˆ†å‰²å€è¡¨çš„ CHS å¹¾ä½•çµæ§‹ã€‚GPT 分割å€è¡¨çš„æ ¼å¼ç‰ˆæœ¬ç‚º %x,它比 Parted æ‰€èƒ½è­˜åˆ¥çš„ç‰ˆæœ¬è¦æ–°ã€‚請告訴我們ï¼bug-parted@gnu.org資訊ç£å€çš„ç°½å錯誤 (%x)。ç¾åœ¨é¸æ“‡å–消,並發é€ç¨‹å¼éŒ¯èª¤å ±å‘Šã€‚如果您ä¸é¡§ä¸€åˆ‡ï¼Œé¸æ“‡å¿½ç•¥æœ‰å¯èƒ½æ˜¯ã€Œå®‰å…¨ã€çš„。日誌並éžç‚ºç©ºã€‚Parted 必須在開啟檔案系統之å‰é‡æ–°æ’­æ”¾ç•°å‹•。這將會修改檔案系統。ä½ç½® %s 超出è£ç½® %s 的範åœã€‚ç£é ­æ•¸é‡çš„æœ€å¤§å€¼ç‚º %d。ç£å€æ•¸é‡çš„æœ€å¤§å€¼ç‚º %d。分割å€å¿…須具備以下 FS-TYPEs ä¹‹ä¸€ï¼šç„¡æ³•é‡æ–°è®€å…¥åˆ†å‰²å€è¡¨ã€‚åŒæ¨£ï¼Œæ‚¨å¿…須在掛載任何修改éŽçš„分割å€ä¹‹å‰é‡æ–°å•Ÿå‹•。您還需è¦åœ¨æ‚¨é‡æ–°å•Ÿå‹•之å‰é‡æ–°å®‰è£é–‹æ©Ÿè¼‰å…¥ç¨‹å¼ (它å¯èƒ½éœ€è¦æŽ›è¼‰ä¿®æ”¹éŽçš„分割å€)ã€‚åŒæ™‚åšé€™å…©ä»¶äº‹æ˜¯ä¸å¯èƒ½çš„ï¼æ‰€ä»¥æ‚¨å°±éœ€è¦å¾žå›žå¾©ç¢Ÿç‰‡å•Ÿå‹•ï¼Œä¸¦å¾žå›žå¾©ç¢Ÿç‰‡é‡æ–°å®‰è£æ‚¨çš„開機載入程å¼ã€‚更多詳情請åƒé–± Parted 使用者文件的第四節。%s 上的分割å€è¡¨ç„¡æ³•è¢«é‡æ–°è®€å– (%s)。這æ„味著 Hurd ä¸çŸ¥é“ä»»ä½•æ‚¨æ‰€ä½œçš„ä¿®æ”¹ã€‚æ‚¨æ‡‰è©²åœ¨å° %s åšä»»ä½•æ“作之å‰é‡æ–°å•Ÿå‹•您的電腦。分割å€çš„啟動å€åŸŸä¸¦æœªä½”用整個分割å€ã€‚分割å€çš„資料å€åŸŸä¸¦æœªä½”用整個分割å€ã€‚主 GPT 表æå£žï¼Œä½†å‚™ä»½ä¼¼ä¹Žæ˜¯æ­£ç¢ºçš„,所以將會使用它。儲存於日誌的ç£å€å¤§å°ä¸æ˜¯ 512 ä½å…ƒçµ„。Parted åªæ”¯æ´é•·åº¦ç‚º 512 ä½å…ƒçµ„çš„ç£å€ã€‚ç•¶é‡æ–°æ’­æ”¾æ—¥èªŒæ™‚,å·å†Šè¡¨é ­æˆ–是主目錄å€å¡Šå·²ç¶“æ”¹è®Šã€‚æ‚¨æ‡‰è©²é‡æ–°å•Ÿå‹• Partedã€‚å°æ–¼æ­¤ FAT 類型沒有å¯èƒ½çš„é…置。根目錄下沒有ä¿å­˜æ‰€æœ‰æª”æ¡ˆçš„è¶³å¤ ç©ºé–“ã€‚å–æ¶ˆæˆ–者以æå¤±æª”案為代價忽略它。這個 HFS å·å†Šæ²’有類目檔案。這是很ä¸å°‹å¸¸çš„ï¼é€™å€‹ HFS å·å†Šæ²’æœ‰æ“´å……å€æº¢ä½æª”案。這是相當ä¸å°‹å¸¸çš„ï¼é€™å€‹ HFS+ å·å†Šæ²’有類目檔案。這是很ä¸å°‹å¸¸çš„ï¼é€™å€‹ HFS+ å·å†Šæ²’æœ‰æ“´å……å€æº¢ä½æª”案。這是相當ä¸å°‹å¸¸çš„ï¼æ­¤æª”案系統的é‚輯ç£å€å¤§å°ç‚º %d。GNU Parted 無法在ç£å€å¤§å°ä¸æ˜¯ 512 ä½å…ƒçµ„的情æ³ä¸‹æ­£ç¢ºå·¥ä½œã€‚é€™ä¸¦éžæ˜¯ä¸€æ¬¡çœŸæ­£çš„ %s 檢查。而是為了è¦åˆ†é›¢å‡ºç‰¹åˆ¥çš„低階檔案,以é”到除錯的目的。這個 libparted 䏿”¯æ´å° %s 的寫入æ“作。å¯èƒ½å®ƒæ˜¯ä»¥å”¯è®€æ–¹å¼ç·¨è­¯çš„。éŽå¤šçš„ä¸ç•¶åˆ†é ã€‚éŽå¤šçš„主分割å€éŽå¤šçš„主分割å€ã€‚嘗試將一個擴充å€è‡ªå€å¡Š Ox%X 移至 Ox%X,但是此處已有其他å€å¡Šå­˜åœ¨ã€‚é€™ç¨®äº‹ä¸æ‡‰è©²ç™¼ç”Ÿï¼å˜—試讀å–資料於具有 CNID %X çš„ HFS 檔案çµå°¾ä¹‹å¾Œã€‚嘗試讀å–資料於具有 CNID %X çš„ HFS+ 檔案çµå°¾ä¹‹å¾Œã€‚嘗試註冊一個起始於å€å¡Š 0x%X 的擴充å€ï¼Œä½†æ˜¯æ­¤è™•已有其他å€å¡Šå­˜åœ¨ã€‚您應該檢查檔案系統ï¼å˜—試寫入資料於具有 CNID %X çš„ HFS 檔案çµå°¾ä¹‹å¾Œã€‚嘗試寫入資料於具有 CNID %X çš„ HFS+ 檔案çµå°¾ä¹‹å¾Œã€‚類型UNIT 是以下任æ„ä¸€é …ï¼šç„¡æ³•å®šä½ bsd ç£ç¢Ÿæ¨™ç±¤æ§½ã€‚無法定ä½åˆ†å‰²å€ç·¨è™Ÿã€‚無法確定 %s (%s) 的大å°ã€‚無法開啟 %s 以讀寫 (%s)。%s 已用唯讀的方å¼é–‹å•Ÿã€‚無法開啟 %sã€‚ç„¡æ³•åµæ¸¬å„²å­˜è¨­å‚™ã€‚無法滿足分割å€çš„æ‰€æœ‰é™åˆ¶ã€‚å–®ä½ï¼ŸæœªçŸ¥æœªçŸ¥çš„æª”案系統類型「%sã€ã€‚æœªçŸ¥çš„åˆ†å‰²å€æ——標,%d。更新 HFS+ è½‰åŒ…ç¨‹å¼æ™‚失敗。用法:parted [é¸é …]… [è£ç½® [命令 [åƒæ•¸]…]…] å°‡å¸¶æœ‰ã€Œåƒæ•¸ã€çš„ã€Œå‘½ä»¤ã€æ‡‰ç”¨æ–¼ã€Œè£ç½®ã€ã€‚如果沒有指定「命令ã€ï¼Œå‰‡ä»¥äº¤è«‡æ¨¡å¼åŸ·è¡Œã€‚ ä½¿ç”¨è€…æ¨¡å¼ Linux UBD使用 %s 䏦䏿”¯æ´ç‰ˆæœ¬ %d çš„ HFS+ã€‚ä¸¦ä¸æ”¯æ´ç‰ˆæœ¬ %d çš„ HFSX。警告設備æè¿°ä¸­å‡ºç¾å¤æ€ªçš„å€å¡Šå¤§å°ï¼š%d ä½å…ƒçµ„ä¸èƒ½è¢« 512 整除。奇怪ï¼å…©å€‹åˆ†å‰²å€æ˜ å°„æ¢ç›®ï¼æ­¡è¿Žä½¿ç”¨ GNU Partedï¼è¼¸å…¥ 'help' 來檢視命令列表。 您是å¦é¡˜æ„使用 FAT32ï¼Ÿæ˜¯æ‚¨éœ€è¦ %s çš„è‡ªç”±ç©ºé–“ä¾†å°‡æ­¤åˆ†å‰²å€æ”¶ç¸®åˆ°é€™ä¸€å¤§å°ã€‚而目å‰åªæœ‰ %s çš„è‡ªç”±ç©ºé–“ã€‚æ‚¨æ‡‰è©²åœ¨é‡æ–°å•Ÿå‹•之å‰é‡æ–°å®‰è£æ‚¨çš„開機載入程å¼ã€‚詳情請閱讀 Parted 使用者文件的第四節。您的檔案系統中已使用的 inode éŽå¤šï¼Œä»¥è‡´ç„¡æ³•將其大尿”¹è®Šç‚º %i 個å€å¡Šã€‚抱歉。您的檔案系統被éŽåº¦ä½”ç”¨ï¼Œä»¥è‡´ç„¡æ³•å°‡å®ƒçš„å¤§å°æ”¹è®Šç‚º %i 個å€å¡Šã€‚抱歉。添加群組啟動檢查check 編號 å°æª”案系統進行簡單的檢查檢查壞å€å¡Šcpcp [來æºè£ç½®] 來æºç·¨è™Ÿ 目標編號 將檔案系統複製到å¦ä¸€å€‹åˆ†å‰²å€é¡¯ç¤ºç‰ˆæœ¬é¡¯ç¤ºæ­¤æ±‚助資訊擴充分割å€fat_table_alloc_cluster:沒有自由ç£ç°‡fat_table_get:ç£ç°‡ %ld 使–¼æª”案系統之外fat_table_set:ç£ç°‡ %ld 使–¼æª”案系統之外自由空間正在擴大檔案系統helpéš±è—分割å€hp-æœå‹™lbaé‚輯分割å€lvm中繼資料mkfsmklabelmkpartmkpart 分割å€é¡žåž‹ [檔案系統類型] 起始點 çµæŸé»ž 建立一個分割å€mkpartfsmkpartfs 分割å€é¡žåž‹ 檔案系統類型 起始點 çµæŸé»ž 建立一個帶有檔案系統的分割å€movemove 編號 起始點 çµæŸé»ž 移動指定「編號ã€çš„分割å€msftresnamename 編號 å稱 將指定「編號ã€çš„分割å€å‘½å為「å稱ã€å¾žä¸æç¤ºä½¿ç”¨è€…介入關開paloped_device_new() 䏿”¯æ´çš„設備類型prep主分割å€printquitquit 離開程å¼raid原始å€å¡Šè¤‡è£½rescuerescue 起始點 çµæŸé»ž 挽救臨近「起始點ã€ã€ã€ŒçµæŸé»žã€çš„éºå¤±çš„分割å€resizeresize 編號 起始點 çµæŸé»ž æ”¹è®Šä½æ–¼æŒ‡å®šã€Œç·¨è™Ÿã€çš„分割å€ä¸­æª”案系統的大å°rmrm 編號 刪除指定「編號ã€çš„åˆ†å‰²å€æ ¹æ­£åœ¨æœå°‹æª”案系統selectselect 設備 鏿“‡è¦ç·¨è¼¯çš„設備setset 編號 旗標 狀態 改變指定「編號ã€åˆ†å‰²å€çš„æ——æ¨™æ­£åœ¨ç¸®å°æ­£åœ¨ç¸®å° HFS è½‰åŒ…ç¨‹å¼æ­£åœ¨ç¸®å°å…§åµŒçš„ HFS+ å·å†Šäº¤æ›åˆ†å‰²å€toggletoggle [編號 [旗標]] 切æ›ã€Œç·¨è™Ÿã€åˆ†å‰²å€ä¸Šçš„「旗標ã€ç‹€æ…‹unitunit å–®ä½ è¨­å®šé è¨­çš„「單ä½ã€æ­£åœ¨å¯«å…¥ HFS 主目錄å€å¡Šæ­£åœ¨å¯«å…¥ HFS+ å·å†Šè¡¨é ­å¯«å…¥å€‹åˆ¥ç¾¤çµ„的中繼資料parted-2.3/po/ca.po0000644000000000000000000030444011400005705011062 00000000000000# GNU Parted en català # Copyright (C) 2002 Free Software Foundation, Inc. # Miquel Matas , 2002. # msgid "" msgstr "" "Project-Id-Version: parted 1.6.0\n" "Report-Msgid-Bugs-To: bug-parted@gnu.org\n" "POT-Creation-Date: 2010-05-28 20:30+0200\n" "PO-Revision-Date: 2002-05-05 14:47+0100\n" "Last-Translator: Miquel Matas \n" "Language-Team: Catalan \n" "Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 0.7\n" #: lib/argmatch.c:133 #, fuzzy, c-format msgid "invalid argument %s for %s" msgstr "No s'ha pogut obrir %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "" #: lib/argmatch.c:153 #, fuzzy, c-format msgid "Valid arguments are:" msgstr "No s'ha pogut obrir %s" #: lib/closeout.c:112 libparted/labels/fdasd.c:107 msgid "write error" msgstr "" #: lib/error.c:181 #, fuzzy msgid "Unknown system error" msgstr "Tipus de sistema de fitxers desconegut \"%s\"." #: lib/getopt.c:527 lib/getopt.c:543 #, c-format msgid "%s: option '%s' is ambiguous\n" msgstr "" #: lib/getopt.c:576 lib/getopt.c:580 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:589 lib/getopt.c:594 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:637 lib/getopt.c:656 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "" #: lib/getopt.c:694 lib/getopt.c:697 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "No s'ha pogut obrir %s - etiqueta de disc desconeguda." #: lib/getopt.c:705 lib/getopt.c:708 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "No s'ha pogut obrir %s - etiqueta de disc desconeguda." #: lib/getopt.c:757 lib/getopt.c:760 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "" #: lib/getopt.c:810 lib/getopt.c:827 lib/getopt.c:1035 lib/getopt.c:1053 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "" #: lib/getopt.c:883 lib/getopt.c:899 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "" #: lib/getopt.c:923 lib/getopt.c:941 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:962 lib/getopt.c:980 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". If the catalog has no translation, #. locale_quoting_style quotes `like this', and #. clocale_quoting_style quotes "like this". #. #. For example, an American English Unicode locale should #. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and #. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION #. MARK). A British English Unicode locale should instead #. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) #. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. #. #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. #: lib/quotearg.c:272 msgid "`" msgstr "" #: lib/quotearg.c:273 msgid "'" msgstr "" #: lib/regcomp.c:134 msgid "Success" msgstr "" #: lib/regcomp.c:137 msgid "No match" msgstr "" #: lib/regcomp.c:140 msgid "Invalid regular expression" msgstr "" #: lib/regcomp.c:143 msgid "Invalid collation character" msgstr "" #: lib/regcomp.c:146 msgid "Invalid character class name" msgstr "" #: lib/regcomp.c:149 msgid "Trailing backslash" msgstr "" #: lib/regcomp.c:152 msgid "Invalid back reference" msgstr "" #: lib/regcomp.c:155 msgid "Unmatched [ or [^" msgstr "" #: lib/regcomp.c:158 msgid "Unmatched ( or \\(" msgstr "" #: lib/regcomp.c:161 msgid "Unmatched \\{" msgstr "" #: lib/regcomp.c:164 msgid "Invalid content of \\{\\}" msgstr "" #: lib/regcomp.c:167 msgid "Invalid range end" msgstr "" #: lib/regcomp.c:170 msgid "Memory exhausted" msgstr "" #: lib/regcomp.c:173 msgid "Invalid preceding regular expression" msgstr "" #: lib/regcomp.c:176 msgid "Premature end of regular expression" msgstr "" #: lib/regcomp.c:179 msgid "Regular expression too big" msgstr "" #: lib/regcomp.c:182 msgid "Unmatched ) or \\)" msgstr "" #: lib/regcomp.c:703 msgid "No previous regular expression" msgstr "" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "" #: lib/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "" #: lib/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "" #: lib/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" #: lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "" #: lib/xstrtol-error.c:63 #, fuzzy, c-format msgid "invalid %s%s argument `%s'" msgstr "No s'ha pogut obrir %s" #: lib/xstrtol-error.c:68 #, fuzzy, c-format msgid "invalid suffix in %s%s argument `%s'" msgstr "No s'ha pogut obrir %s" #: lib/xstrtol-error.c:72 #, fuzzy, c-format msgid "%s%s argument `%s' too large" msgstr "No s'ha pogut obrir %s" #: libparted/arch/beos.c:245 msgid "Disk Image" msgstr "" #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277 #: libparted/arch/linux.c:1519 #, c-format msgid "Error opening %s: %s" msgstr "Error obrint %s: %s" #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287 #: libparted/arch/linux.c:1530 #, c-format msgid "Unable to open %s read-write (%s). %s has been opened read-only." msgstr "" "No s'ha pogut obrir %s lectura/escritura (%s). %s s'ha obert només lectura. " #: libparted/arch/beos.c:419 libparted/arch/linux.c:1688 #, c-format msgid "%s during seek for read on %s" msgstr "%s mentre es preparava per llegir a %s" #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564 #: libparted/arch/gnu.c:692 libparted/arch/linux.c:1648 #: libparted/arch/linux.c:1729 #, c-format msgid "%s during read on %s" msgstr "%s mentre s'estava llegint a %s" #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525 #: libparted/arch/linux.c:1805 #, c-format msgid "Can't write to %s, because it is opened read-only." msgstr "No s'ha pogut escriure a %s, ja que era obert per només lectura" #: libparted/arch/beos.c:504 libparted/arch/linux.c:1830 #, c-format msgid "%s during seek for write on %s" msgstr "%s mentre es preparava per escruire a %s" #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646 #: libparted/arch/gnu.c:723 libparted/arch/linux.c:1778 #: libparted/arch/linux.c:1872 libparted/arch/linux.c:1944 #, c-format msgid "%s during write on %s" msgstr "%s mentre s'estava escrivint a %s" #: debug/clearfat/clearfat.c:62 partprobe/partprobe.c:137 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "" #: debug/clearfat/clearfat.c:66 #, c-format msgid "" "Usage: %s [OPTION]\n" " or: %s DEVICE MINOR\n" msgstr "" #: debug/clearfat/clearfat.c:69 msgid "" "Clear unused space on a FAT partition (a GNU Parted testing tool).\n" "\n" msgstr "" #: debug/clearfat/clearfat.c:73 msgid " --help display this help and exit\n" msgstr "" #: debug/clearfat/clearfat.c:74 msgid " --version output version information and exit\n" msgstr "" #: debug/clearfat/clearfat.c:76 partprobe/partprobe.c:154 #, c-format msgid "" "\n" "Report bugs to <%s>.\n" msgstr "" #: debug/clearfat/clearfat.c:284 #, c-format msgid "too few arguments" msgstr "" #: debug/clearfat/clearfat.c:289 #, fuzzy, c-format msgid "too many arguments" msgstr "Massa pàgines incorrectes." #: debug/clearfat/clearfat.c:297 #, fuzzy, c-format msgid "invalid minor device number: %s" msgstr "No s'ha pogut obrir %s" #: partprobe/partprobe.c:141 #, c-format msgid "Usage: %s [OPTION] [DEVICE]...\n" msgstr "" #: partprobe/partprobe.c:142 msgid "" "Inform the operating system about partition table changes.\n" "\n" " -d, --dry-run do not actually inform the operating system\n" " -s, --summary print a summary of contents\n" " -h, --help display this help and exit\n" " -v, --version output version information and exit\n" msgstr "" #: partprobe/partprobe.c:150 msgid "" "\n" "When no DEVICE is given, probe all partitions.\n" msgstr "" #: libparted/arch/gnu.c:110 #, c-format msgid "Unable to open %s." msgstr "No s'ha pogut obrir %s" #: libparted/arch/gnu.c:130 msgid "Unable to probe store." msgstr "No s'ha pogut provar d'emmagatzemar." #: libparted/arch/gnu.c:368 #, fuzzy msgid "" "The partition table cannot be re-read. This means you need to reboot before " "mounting any modified partitions. You also need to reinstall your boot " "loader before you reboot (which may require mounting modified partitions). " "It is impossible do both things! So you'll need to boot off a rescue disk, " "and reinstall your boot loader from the rescue disk. Read section 4 of the " "Parted User documentation for more information." msgstr "" "La taula de particions no s'ha pogut rellegir, per tant es necessita fer " "reboot abans de muntar una partició modificada. També es necessita " "reinstal·lar el carregador d'arrencada abans de reinicialitzar ( que pot " "necessitar el muntatge de les particions modificades ). No és possible fer " "les dues coses! Per tant, necessites arrencar amb un disquet de rescat i " "reinstal·lar el carregador d'arrencada des del disc de rescat. Llegeix la " "secció 4 de la documentació de l'Usuari de Parted per més informació. " #: libparted/arch/gnu.c:385 #, fuzzy, c-format msgid "" "The partition table on %s cannot be re-read (%s). This means the Hurd knows " "nothing about any modifications you made. You should reboot your computer " "before doing anything with %s." msgstr "" "La taula de particions a %s (%s).Aixó vol dir que Linux no reconeixerà cap " "de les modificacions fetes. S'ha de re-arrencar la màquina abans de fer res " "amb %s." #: libparted/arch/gnu.c:396 parted/parted.c:2719 msgid "" "You should reinstall your boot loader before rebooting. Read section 4 of " "the Parted User documentation for more information." msgstr "" "S'ha de reinstal·lar el carregador d'arrencada abans de rearrencar llegir la " "secció 4 de la documentació de l'Usuari de Parted per més informació." #: libparted/arch/gnu.c:788 #, c-format msgid "%s trying to sync %s to disk" msgstr "%s intentant de sincronitzar %s al dics" #: libparted/arch/linux.c:509 #, c-format msgid "Could not stat device %s - %s." msgstr "Impossible d'inicialitzar el dispositiu %s - %s." #: libparted/arch/linux.c:566 #, fuzzy, c-format msgid "Unable to determine the dm type of %s." msgstr "No s'ha pogut determinar la mida de %s (%s)" #: libparted/arch/linux.c:658 #, c-format msgid "" "Could not determine sector size for %s: %s.\n" "Using the default sector size (%lld)." msgstr "" #: libparted/arch/linux.c:679 #, c-format msgid "" "Could not determine physical sector size for %s.\n" "Using the logical sector size (%lld)." msgstr "" #: libparted/arch/linux.c:728 #, fuzzy, c-format msgid "Unable to determine the size of %s (%s)." msgstr "No s'ha pogut determinar la mida de %s (%s)" #: libparted/arch/linux.c:814 #, c-format msgid "Could not get identity of device %s - %s" msgstr "No s'ha pogut obtenir la identitat del dispositiu %s - %s" #: libparted/arch/linux.c:823 msgid "Generic IDE" msgstr "" #: libparted/arch/linux.c:844 #, c-format msgid "" "Device %s has multiple (%d) logical sectors per physical sector.\n" "GNU Parted supports this EXPERIMENTALLY for some special disk label/file " "system combinations, e.g. GPT and ext2/3.\n" "Please consult the web site for up-to-date information." msgstr "" #: libparted/arch/linux.c:1019 #, c-format msgid "Error initialising SCSI device %s - %s" msgstr "Error inicialitzant el dispositiu SCSI %s - %s" #: libparted/arch/linux.c:1083 #, c-format msgid "" "The device %s has zero length, and can't possibly store a file system or " "partition table. Perhaps you selected the wrong device?" msgstr "" #: libparted/arch/linux.c:1190 #, fuzzy, c-format msgid "" "Unable to determine geometry of file/device %s. You should not use Parted " "unless you REALLY know what you're doing!" msgstr "" "No s'ha pogut determinar la geometria del fitxer/dispositiu. No s'hauria de " "fer servir Parted EXCEPTE que se sàpiga el que s'està fent!" #: libparted/arch/linux.c:1250 msgid "Generic SD/MMC Storage Card" msgstr "" #: libparted/arch/linux.c:1303 msgid "DAC960 RAID controller" msgstr "Controlador RAID DAC960" #: libparted/arch/linux.c:1308 msgid "Promise SX8 SATA Device" msgstr "" #: libparted/arch/linux.c:1313 msgid "ATA over Ethernet Device" msgstr "" #: libparted/arch/linux.c:1319 msgid "IBM S390 DASD drive" msgstr "" #: libparted/arch/linux.c:1325 msgid "IBM iSeries Virtual DASD" msgstr "" #: libparted/arch/linux.c:1330 msgid "Compaq Smart Array" msgstr "Compaq Smart Array" #: libparted/arch/linux.c:1335 msgid "ATARAID Controller" msgstr "Controlador ATARAID" #: libparted/arch/linux.c:1340 msgid "I2O Controller" msgstr "Controlador I20" #: libparted/arch/linux.c:1345 msgid "User-Mode Linux UBD" msgstr "" #: libparted/arch/linux.c:1358 #, c-format msgid "Linux device-mapper (%s)" msgstr "" #: libparted/arch/linux.c:1369 msgid "Xen Virtual Block Device" msgstr "" #: libparted/arch/linux.c:1374 msgid "Unknown" msgstr "Desconegut" #: libparted/arch/linux.c:1383 msgid "Virtio Block Device" msgstr "" #: libparted/arch/linux.c:1388 msgid "Linux Software RAID Array" msgstr "" #: libparted/arch/linux.c:1395 msgid "ped_device_new() Unsupported device type" msgstr "ped_device_new() Dispositiu no suportat" #: libparted/arch/linux.c:1492 libparted/arch/linux.c:1564 #, fuzzy, c-format msgid "Error fsyncing/closing %s: %s" msgstr "Error obrint %s: %s" #: libparted/arch/linux.c:1728 #, c-format msgid "end of file while reading %s" msgstr "" #: libparted/arch/linux.c:2365 #, fuzzy, c-format msgid "" "Error informing the kernel about modifications to partition %s -- %s. This " "means Linux won't know about any changes you made to %s until you reboot -- " "so you shouldn't mount it or use it in any way before rebooting." msgstr "" "Error informant el kernel sobre modificacions a la partició %s - %s. Això " "vol dir que Linux no reconeixerà cap canvi que haveu fet a %s fins que no " "reinicieu - per tant no podeu muntar-la o utilitzar-la en cap sentit abans " "d'inicialitzar la màquina. " #: libparted/arch/linux.c:2503 #, fuzzy, c-format msgid "Unable to determine the size and length of %s." msgstr "No s'ha pogut determinar la mida de %s (%s)" #: libparted/arch/linux.c:2528 #, fuzzy, c-format msgid "Failed to add partition %d (%s)" msgstr "No s'ha pogut determinar si la partició està muntada." #: libparted/arch/linux.c:2555 #, c-format msgid "" "Partition(s) %s on %s have been written, but we have been unable to inform " "the kernel of the change, probably because it/they are in use. As a result, " "the old partition(s) will remain in use. You should reboot now before " "making further changes." msgstr "" #: libparted/arch/linux.c:2681 #, fuzzy, c-format msgid "" "parted was unable to re-read the partition table on %s (%s). This means " "Linux won't know anything about the modifications you made. " msgstr "" "El kernel no ha pogut rellegir la taula de particions a %s (%s).Aixó vol dir " "que Linux no reconeixerà cap de les modificacions fetes. Heu d'arrencar la " "màquina abans de fer res amb %s." #: libparted/cs/geom.c:162 #, fuzzy, c-format msgid "Can't have the end before the start! (start sector=%jd length=%jd)" msgstr "No es pot acabar abans de començar!" #: libparted/cs/geom.c:170 msgid "Can't have a partition outside the disk!" msgstr "No es pot fer una partició fora del disc!" #: libparted/cs/geom.c:385 #, fuzzy, c-format msgid "Attempt to write sectors %ld-%ld outside of partition on %s." msgstr "S'ha intentat escriure sectors %ld-%ld fora de la partició a %s" #: libparted/cs/geom.c:425 libparted/fs/linux_swap/linux_swap.c:488 msgid "checking for bad blocks" msgstr "comprovant blocs errònis" #: libparted/debug.c:97 #, c-format msgid "Backtrace has %d calls on stack:\n" msgstr "" #: libparted/debug.c:110 #, c-format msgid "Assertion (%s) at %s:%d in function %s() failed." msgstr "" #: libparted/disk.c:193 #, fuzzy, c-format msgid "%s: unrecognised disk label" msgstr "No s'ha pogut obrir %s - etiqueta de disc desconeguda." #: libparted/disk.c:486 #, c-format msgid "" "This libparted doesn't have write support for %s. Perhaps it was compiled " "read-only." msgstr "" "Aquesta libparted no té suport per escriure a %s. Potser va ser compilada " "per només lectura." #: libparted/disk.c:631 #, fuzzy, c-format msgid "Partition %d is %s, but the file system is %s." msgstr "La partició %d és de %.3fMb, però el sistema de fitxers és de %.3fMb." #: libparted/disk.c:841 msgid "cylinder_alignment" msgstr "" #: libparted/disk.c:847 #, fuzzy, c-format msgid "Unknown disk flag, %d." msgstr "Flag desconegut a %d." #: libparted/disk.c:1286 #, c-format msgid "%s disk labels do not support extended partitions." msgstr "Les etiquetes de disc de %s no suporten particions exteses." #: libparted/disk.c:1865 #, c-format msgid "%s disk labels don't support logical or extended partitions." msgstr "Les etiquetes de disc de %s no suporten particions lògiques o exteses." #: libparted/disk.c:1878 #, fuzzy msgid "Too many primary partitions." msgstr "Massa particions primàries." #: libparted/disk.c:1887 #, c-format msgid "" "Can't add a logical partition to %s, because there is no extended partition." msgstr "" "No es pot afegir una partició lògica a %s, ja que no hi ha una partició " "extesa" #: libparted/disk.c:1911 #, fuzzy, c-format msgid "Can't have more than one extended partition on %s." msgstr "No pot haver més d'una partició extesa a %s" #: libparted/disk.c:1921 msgid "Can't have logical partitions outside of the extended partition." msgstr "No poden haver particions lògiques fora de la partició extesa." #: libparted/disk.c:1946 #, c-format msgid "Can't have a logical partition outside of the extended partition on %s." msgstr "No pot haver una partició lògica fora de la partició extesa a %s." #: libparted/disk.c:1956 libparted/disk.c:2015 libparted/disk.c:2193 #, fuzzy msgid "Can't have overlapping partitions." msgstr "No poden haver particions solapades." #: libparted/disk.c:1964 msgid "Can't have a primary partition inside an extended partition." msgstr "No pot haver una partició primaria dins d'una partició extesa." #: libparted/disk.c:2395 msgid "metadata" msgstr "metadata" #: libparted/disk.c:2397 msgid "free" msgstr "lliure" #: libparted/disk.c:2399 parted/ui.c:1193 parted/ui.c:1221 msgid "extended" msgstr "extesa" #: libparted/disk.c:2401 parted/ui.c:1197 parted/ui.c:1225 msgid "logical" msgstr "lògica" #: libparted/disk.c:2403 parted/ui.c:1189 parted/ui.c:1217 msgid "primary" msgstr "primària" #: libparted/disk.c:2419 msgid "boot" msgstr "boot" #: libparted/disk.c:2421 msgid "bios_grub" msgstr "" #: libparted/disk.c:2423 msgid "root" msgstr "root" #: libparted/disk.c:2425 msgid "swap" msgstr "swap" #: libparted/disk.c:2427 msgid "hidden" msgstr "oculta" #: libparted/disk.c:2429 msgid "raid" msgstr "raid" #: libparted/disk.c:2431 msgid "lvm" msgstr "lvm" #: libparted/disk.c:2433 msgid "lba" msgstr "lba" #: libparted/disk.c:2435 msgid "hp-service" msgstr "servei-hp" #: libparted/disk.c:2437 msgid "palo" msgstr "" #: libparted/disk.c:2439 msgid "prep" msgstr "" #: libparted/disk.c:2441 msgid "msftres" msgstr "" #: libparted/disk.c:2443 msgid "atvrecv" msgstr "" #: libparted/disk.c:2445 msgid "diag" msgstr "" #: libparted/disk.c:2451 #, fuzzy, c-format msgid "Unknown partition flag, %d." msgstr "Flag desconegut a %d." #: libparted/exception.c:77 msgid "Information" msgstr "Informació" #: libparted/exception.c:78 msgid "Warning" msgstr "Perill" #: libparted/exception.c:79 msgid "Error" msgstr "Error" #: libparted/exception.c:80 msgid "Fatal" msgstr "Fatal" #: libparted/exception.c:81 msgid "Bug" msgstr "Bug" #: libparted/exception.c:82 msgid "No Implementation" msgstr "No Implementat" #: libparted/exception.c:86 msgid "Fix" msgstr "Fix" #: libparted/exception.c:87 msgid "Yes" msgstr "Sí" #: libparted/exception.c:88 msgid "No" msgstr "No" #: libparted/exception.c:89 msgid "OK" msgstr "D'accord" #: libparted/exception.c:90 msgid "Retry" msgstr "Reintentar" #: libparted/exception.c:91 msgid "Ignore" msgstr "Ignorar" #: libparted/exception.c:92 msgid "Cancel" msgstr "Cancel·lar" #: libparted/exception.c:132 #, fuzzy, c-format msgid "" "A bug has been detected in GNU Parted. Refer to the web site of parted " "http://www.gnu.org/software/parted/parted.html for more information of what " "could be useful for bug submitting! Please email a bug report to bug-" "parted@gnu.org containing at least the version (%s) and the following " "message: " msgstr "" "S'ha detectat un bug a GNU Parted. Si-us-plau, envieu un e-mail a bug-" "parted@gnu.org que contingui la versió (%s) i el següent missatge:" #: libparted/filesys.c:462 msgid "Could not detect file system." msgstr "No s'ha pogut detectar el sistema de fitxers." #: libparted/filesys.c:473 #, fuzzy msgid "The file system is bigger than its volume!" msgstr "El sistema de fitxers és més gran que ho és el volum!" #: libparted/filesys.c:481 #, c-format msgid "Support for opening %s file systems is not implemented yet." msgstr "" "El suport per obrir sistemes de fitxers de %s encara no està implementat." #: libparted/filesys.c:523 #, c-format msgid "Support for creating %s file systems is not implemented yet." msgstr "" "El suport per crear sistemes de fitxers de %s encara no està implementat." #: libparted/filesys.c:583 #, c-format msgid "Support for checking %s file systems is not implemented yet." msgstr "" "El suport per comprovar sistemes de fitxers de %s encara no està implementat." #: libparted/filesys.c:649 msgid "raw block copying" msgstr "copiant bloc raw" #: libparted/filesys.c:660 msgid "growing file system" msgstr "sistema de fitxers creixent" #: libparted/filesys.c:700 msgid "Can't copy onto an overlapping partition." msgstr "No es pot copiar a una partició solapada." #: libparted/filesys.c:722 #, fuzzy, c-format msgid "" "Direct support for copying file systems is not yet implemented for %s. " "However, support for resizing is implemented. Therefore, the file system " "can be copied if the new partition is at least as big as the old one. So, " "either shrink the partition you are trying to copy, or copy to a bigger " "partition." msgstr "" "Support directe per copiar sistemes de fitxers encara no ha estat " "implementada per %s. No obstant, si que està implementat el suport per el " "redimensionament. Per tant, el sistema de fitxers pot ser copiat si la nova " "partició és, com a mínim, tant gran com la antiga. Per tant, o es contrau la " "partició que es vol copiar o es copia a una partició més gran." #: libparted/filesys.c:736 #, c-format msgid "Support for copying %s file systems is not implemented yet." msgstr "Suport per copiar sistemes de fitxers %s encara no està implementat." #: libparted/filesys.c:774 #, c-format msgid "Support for resizing %s file systems is not implemented yet." msgstr "" "El suport per redimensionar sistemes de fitxers de %s encara no està " "implementat." #: libparted/fs/reiserfs/reiserfs.c:315 msgid "creating" msgstr "" #: libparted/fs/reiserfs/reiserfs.c:402 #, fuzzy msgid "The file system is in an invalid state. Perhaps it is mounted?" msgstr "" "El sistema de fitxers té una signatura invàlida per a un sistema de fitxers " "FAT." #: libparted/fs/reiserfs/reiserfs.c:410 msgid "The file system is in old (unresizeable) format." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:416 msgid "Invalid free blocks count. Run reiserfsck --check first." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:431 #, fuzzy msgid "checking" msgstr "comprova" #: libparted/fs/reiserfs/reiserfs.c:437 msgid "Reiserfs tree seems to be corrupted. Run reiserfsck --check first." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:449 #, fuzzy msgid "" "The reiserfs file system passed a basic check. For a more comprehensive " "check, run reiserfsck --check." msgstr "" "El sistema de fitxers ext2 ha passat una comprovació bàsica. Per una " "comprovació més completa utilitzar el programa e2fsck." #: libparted/fs/reiserfs/reiserfs.c:474 #, fuzzy msgid "Sorry, can't move the start of reiserfs partitions yet." msgstr "Ho sento, no es pot moure encara el començament de les particions ext2" #: libparted/fs/reiserfs/reiserfs.c:490 msgid "Couldn't reopen device abstraction layer for read/write." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:508 libparted/fs/ext2/ext2_resize.c:552 #: libparted/fs/hfs/hfs.c:250 libparted/fs/hfs/hfs.c:629 msgid "shrinking" msgstr "encongint" #: libparted/fs/reiserfs/reiserfs.c:520 #, fuzzy msgid "expanding" msgstr "Perill" #: libparted/fs/reiserfs/reiserfs.c:592 msgid "Couldn't create reiserfs device abstraction handler." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:606 #, fuzzy, c-format msgid "Device is too small for %lu blocks." msgstr "Sistema de fitxers massa petit per ext2." #: libparted/fs/reiserfs/reiserfs.c:615 msgid "copying" msgstr "" #: libparted/fs/reiserfs/reiserfs.c:682 #, c-format msgid "Couldn't resolve symbol %s. Error: %s." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:704 msgid "GNU Parted found an invalid libreiserfs library." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:715 #, c-format msgid "" "GNU Parted has detected libreiserfs interface version mismatch. Found %d-" "%d, required %d. ReiserFS support will be disabled." msgstr "" #: libparted/labels/aix.c:103 #, fuzzy msgid "Support for reading AIX disk labels is is not implemented yet." msgstr "" "El suport per crear sistemes de fitxers de %s encara no està implementat." #: libparted/labels/aix.c:114 #, fuzzy msgid "Support for writing AIX disk labels is is not implemented yet." msgstr "" "El suport per crear sistemes de fitxers de %s encara no està implementat." #: libparted/labels/aix.c:127 #, fuzzy msgid "" "Support for adding partitions to AIX disk labels is not implemented yet." msgstr "" "El suport per crear sistemes de fitxers de %s encara no està implementat." #: libparted/labels/aix.c:137 #, fuzzy msgid "" "Support for duplicating partitions in AIX disk labels is not implemented yet." msgstr "" "El suport per crear sistemes de fitxers de %s encara no està implementat." #: libparted/labels/aix.c:155 #, fuzzy msgid "" "Support for setting system type of partitions in AIX disk labels is not " "implemented yet." msgstr "" "El suport per crear sistemes de fitxers de %s encara no està implementat." #: libparted/labels/aix.c:165 #, fuzzy msgid "Support for setting flags in AIX disk labels is not implemented yet." msgstr "" "El suport per crear sistemes de fitxers de %s encara no està implementat." #: libparted/labels/bsd.c:568 libparted/labels/dasd.c:783 #: libparted/labels/dos.c:2092 libparted/labels/dvh.c:788 #: libparted/labels/gpt.c:1750 libparted/labels/loop.c:245 #: libparted/labels/mac.c:1424 libparted/labels/pc98.c:749 #: libparted/labels/rdb.c:1051 libparted/labels/sun.c:821 msgid "Unable to satisfy all constraints on the partition." msgstr "No s'ha pogut satisfer les limitacions a la partició" #: libparted/labels/bsd.c:593 #, fuzzy msgid "Unable to allocate a bsd disklabel slot." msgstr "No s'ha pogut reservar una etiqueta bsd" #: libparted/labels/dasd.c:809 #, fuzzy msgid "Unable to allocate a dasd disklabel slot" msgstr "No s'ha pogut reservar una etiqueta bsd" #: libparted/labels/dos.c:882 #, fuzzy, c-format msgid "Invalid partition table on %s -- wrong signature %x." msgstr "Taula de particions invàlida a %s - signatura dolenta %x." #: libparted/labels/dos.c:910 #, c-format msgid "Invalid partition table - recursive partition on %s." msgstr "Taula de particions invàlida - partició recursiva a %s." #: libparted/labels/dos.c:1420 msgid "Extended partitions cannot be hidden on msdos disk labels." msgstr "" #: libparted/labels/dos.c:2074 msgid "Parted can't resize partitions managed by Windows Dynamic Disk." msgstr "" #: libparted/labels/dvh.c:201 #, fuzzy, c-format msgid "%s has no extended partition (volume header partition)." msgstr "" "%s no té partició extesa (partició de capçalera de volum). Si ignoreu, tots " "els volums d'arrencada seràn esborrats. " #: libparted/labels/dvh.c:327 msgid "Checksum is wrong, indicating the partition table is corrupt." msgstr "" "Checksum incorrecte, la qual cosa indica que la taula de particions és " "corrupte." #: libparted/labels/dvh.c:632 msgid "Only primary partitions can be root partitions." msgstr "Només les particions primàries poden ser particions root." #: libparted/labels/dvh.c:646 msgid "Only primary partitions can be swap partitions." msgstr "Només les particions primàries poden ser particions swap." #: libparted/labels/dvh.c:660 msgid "Only logical partitions can be a boot file." msgstr "Només les particions lògiques poden ser un fitxer d'arrencada." #: libparted/labels/dvh.c:737 #, fuzzy, c-format msgid "" "failed to set dvh partition name to %s:\n" "Only logical partitions (boot files) have a name." msgstr "Només les particions lògiques (fitxers d'arrencada) tenen nom." #: libparted/labels/dvh.c:830 msgid "Too many primary partitions" msgstr "Massa particions primàries." #: libparted/labels/fdasd.c:98 msgid "open error" msgstr "" #: libparted/labels/fdasd.c:101 msgid "seek error" msgstr "" #: libparted/labels/fdasd.c:104 msgid "read error" msgstr "" #: libparted/labels/fdasd.c:110 msgid "ioctl() error" msgstr "" #: libparted/labels/fdasd.c:114 msgid "API version mismatch" msgstr "" #: libparted/labels/fdasd.c:118 #, fuzzy msgid "Unsupported disk type" msgstr "ped_device_new() Dispositiu no suportat" #: libparted/labels/fdasd.c:122 msgid "Unsupported disk format" msgstr "" #: libparted/labels/fdasd.c:126 msgid "Disk is in use" msgstr "" #: libparted/labels/fdasd.c:130 msgid "Syntax error in config file" msgstr "" #: libparted/labels/fdasd.c:134 msgid "Volume label is corrupted" msgstr "" #: libparted/labels/fdasd.c:138 msgid "A data set name is corrupted" msgstr "" #: libparted/labels/fdasd.c:142 msgid "Memory allocation failed" msgstr "" #: libparted/labels/fdasd.c:146 msgid "Device verification failed" msgstr "" #: libparted/labels/fdasd.c:147 msgid "The specified device is not a valid DASD device" msgstr "" #: libparted/labels/fdasd.c:150 libparted/labels/vtoc.c:179 #, fuzzy msgid "Fatal error" msgstr "Fatal" #: libparted/labels/fdasd.c:226 msgid "No room for volume label." msgstr "" #: libparted/labels/fdasd.c:234 #, fuzzy msgid "No room for partition info." msgstr "No s'ha trobat un mapa de particions vàlid." #: libparted/labels/fdasd.c:704 msgid "Invalid VTOC." msgstr "" #: libparted/labels/fdasd.c:764 msgid "Could not retrieve API version." msgstr "" #: libparted/labels/fdasd.c:767 #, c-format msgid "" "The current API version '%d' doesn't match dasd driver API version '%d'!" msgstr "" #: libparted/labels/fdasd.c:804 #, fuzzy msgid "Could not retrieve disk geometry information." msgstr "No s'ha pogut llegir la geometria de %s - %s" #: libparted/labels/fdasd.c:808 msgid "Could not retrieve blocksize information." msgstr "" #: libparted/labels/fdasd.c:813 msgid "Could not retrieve disk information." msgstr "" #: libparted/labels/fdasd.c:818 msgid "This is not an ECKD disk! This disk type is not supported!" msgstr "" #: libparted/labels/gpt.c:485 #, fuzzy, c-format msgid "" "%s contains GPT signatures, indicating that it has a GPT table. However, it " "does not have a valid fake msdos partition table, as it should. Perhaps it " "was corrupted -- possibly by a program that doesn't understand GPT partition " "tables. Or perhaps you deleted the GPT table, and are now using an msdos " "partition table. Is this a GPT partition table?" msgstr "" "%s conté signatures GPT, la qual cosa indica que té una taula GPT. No " "obstant, no té una taula de particions msdos imitada, com hauria de ser. " "Potser és corrupte - possiblement per un programa que no és capaç d'entendre " "les taules de partició GPT. O potser, també, heu esborrat la taula GPT i ara " "feu servir una taula de particions msdos. És aquesta una partició GPT? " #: libparted/labels/gpt.c:680 #, fuzzy, c-format msgid "" "The format of the GPT partition table is version %x, which is newer than " "what Parted can recognise. Please tell us! bug-parted@gnu.org" msgstr "" "El format de la taula de particions GPT és més nou que el que Parted pot " "reconeixer. Si-us-plau, diga'ns-ho a bug-parted@gnu.org" #: libparted/labels/gpt.c:727 #, c-format msgid "" "Not all of the space available to %s appears to be used, you can fix the GPT " "to use all of the space (an extra %llu blocks) or continue with the current " "setting? " msgstr "" #: libparted/labels/gpt.c:936 msgid "" "The backup GPT table is not at the end of the disk, as it should be. This " "might mean that another operating system believes the disk is smaller. Fix, " "by moving the backup to the end (and removing the old backup)?" msgstr "" "La còpia de la taula GPT no és al final del disc com hauriea d'ser. Això pot " "voler dir que un altre sistema operatiu creu que el disc és més petit. Ho " "voleu arreglar novent la còpia al final ( i esborrant la còpia antiga)?" #: libparted/labels/gpt.c:960 #, fuzzy msgid "" "Both the primary and backup GPT tables are corrupt. Try making a fresh " "table, and using Parted's rescue feature to recover partitions." msgstr "" "Tant la taula primària GPT com la còpia són corruptes. Intenteu crear una " "taula actualitzada, i fent servir la opció de rescat de Parted per " "reconstruïr les particions." #: libparted/labels/gpt.c:971 #, fuzzy msgid "" "The backup GPT table is corrupt, but the primary appears OK, so that will be " "used." msgstr "" "La taula primària GPT és corrupte, però la còpia sembla correcta, per tant " "es farà servir aquesta." #: libparted/labels/gpt.c:983 #, fuzzy msgid "" "The primary GPT table is corrupt, but the backup appears OK, so that will be " "used." msgstr "" "La taula primària GPT és corrupte, però la còpia sembla correcta, per tant " "es farà servir aquesta." #: libparted/labels/gpt.c:1007 msgid "primary partition table array CRC mismatch" msgstr "" #: libparted/labels/mac.c:185 #, c-format msgid "Invalid signature %x for Mac disk labels." msgstr "Signatura invàlida %x per etiquetes de discs Mac." #: libparted/labels/mac.c:232 msgid "Partition map has no partition map entry!" msgstr "El Mapa de particions no té entrada de mapa de particions!" #: libparted/labels/mac.c:280 #, c-format msgid "%s is too small for a Mac disk label!" msgstr "%s massa petita per una etiqueta d'un disc Mac." #: libparted/labels/mac.c:509 #, c-format msgid "Partition %d has an invalid signature %x." msgstr "La partició %d té una signatura invàlida %x." #: libparted/labels/mac.c:527 #, c-format msgid "Partition %d has an invalid length of 0 bytes!" msgstr "La partició %d té una logitud invàlida de 0 bytes!" #: libparted/labels/mac.c:558 #, fuzzy msgid "The data region doesn't start at the start of the partition." msgstr "La regió de dades no comença al principi de la partició" #: libparted/labels/mac.c:575 #, fuzzy msgid "The boot region doesn't start at the start of the partition." msgstr "La regió d'arrencada no comemça al principi de la partició" #: libparted/labels/mac.c:589 msgid "The partition's boot region doesn't occupy the entire partition." msgstr "La regió d'arrencada de la partició no ocupa la partició sencera." #: libparted/labels/mac.c:600 msgid "The partition's data region doesn't occupy the entire partition." msgstr "La regió de dades de la partició no ocupa la partició sencera." #: libparted/labels/mac.c:653 #, c-format msgid "" "Weird block size on device descriptor: %d bytes is not divisible by 512." msgstr "" "La mida de bloc extrany al dispositiu: %d bytes no és divisible per 512." #: libparted/labels/mac.c:666 #, c-format msgid "" "The driver descriptor says the physical block size is %d bytes, but Linux " "says it is %d bytes." msgstr "" "El controlador diu que el tamany de bloc físic és de %d bytes, però Linux " "troba que és de %d bytes." #: libparted/labels/mac.c:720 msgid "No valid partition map found." msgstr "No s'ha trobat un mapa de particions vàlid." #: libparted/labels/mac.c:782 #, fuzzy, c-format msgid "" "Conflicting partition map entry sizes! Entry 1 says it is %d, but entry %d " "says it is %d!" msgstr "" "Conflicte de mida de entrada del mapa de particions! La entrada 1 diu que és " "%d, però la entrada %d diu que és %d!" #: libparted/labels/mac.c:809 #, fuzzy msgid "Weird! There are 2 partitions map entries!" msgstr "Estrany - 2 entrades de mapes de particions!" #: libparted/labels/mac.c:1355 msgid "" "Changing the name of a root or swap partition will prevent Linux from " "recognising it as such." msgstr "" "Canviar el nom d'una partició root o swap impedirà que Linux les reconeixi " "com a tals." #: libparted/labels/mac.c:1459 #, fuzzy msgid "Can't add another partition -- the partition map is too small!" msgstr "" "No es pot afegir una altra partició - el mapa de particions és massa petit!" #: libparted/labels/pc98.c:331 #, fuzzy, c-format msgid "Invalid partition table on %s." msgstr "Taula de particions invàlida a %s" #: libparted/labels/pc98.c:384 libparted/labels/pc98.c:462 #, fuzzy, c-format msgid "" "Partition %d isn't aligned to cylinder boundaries. This is still " "unsupported." msgstr "" "La partició %d no està aliniada als límits dels cilindres. Cal afegir suport " "per aquesta característica." #: libparted/labels/pc98.c:781 msgid "Can't add another partition." msgstr "No es pot afegir un altra partició." #: libparted/labels/pt-tools.c:125 #, c-format msgid "" "partition length of %jd sectors exceeds the %s-partition-table-imposed " "maximum of %jd" msgstr "" #: libparted/labels/pt-tools.c:138 #, c-format msgid "" "starting sector number, %jd exceeds the %s-partition-table-imposed maximum " "of %jd" msgstr "" #: libparted/labels/rdb.c:170 #, c-format msgid "%s : Bad checksum on block %llu of type %s." msgstr "" #: libparted/labels/rdb.c:486 #, c-format msgid "%s : Didn't find rdb block, should never happen." msgstr "" #: libparted/labels/rdb.c:572 #, c-format msgid "%s : Loop detected at block %d." msgstr "" #: libparted/labels/rdb.c:591 #, c-format msgid "%s : The %s list seems bad at block %s." msgstr "" #: libparted/labels/rdb.c:690 #, c-format msgid "%s : Failed to list bad blocks." msgstr "" #: libparted/labels/rdb.c:698 #, c-format msgid "%s : Failed to list partition blocks." msgstr "" #: libparted/labels/rdb.c:706 #, c-format msgid "%s : Failed to list file system blocks." msgstr "" #: libparted/labels/rdb.c:714 #, c-format msgid "%s : Failed to list boot blocks." msgstr "" #: libparted/labels/rdb.c:741 #, fuzzy, c-format msgid "Failed to write partition block at %d." msgstr "No s'ha pogut determinar si la partició està muntada." #: libparted/labels/rdb.c:1079 #, fuzzy msgid "Unable to allocate a partition number." msgstr "S'esperava un múmero de partició." #: libparted/labels/sun.c:163 msgid "Corrupted Sun disk label detected." msgstr "S'ha detectat una etiqueta Sun corrupte." #: libparted/labels/sun.c:316 #, fuzzy, c-format msgid "" "The disk CHS geometry (%d,%d,%d) reported by the operating system does not " "match the geometry stored on the disk label (%d,%d,%d)." msgstr "" "La geometria del disc CHS (%d,%d,%d) no coincideix amb la geometria " "emmagatzemada a la etiqueta del disc (%d,%d,%d)." #: libparted/labels/sun.c:338 #, c-format msgid "The disk label describes a disk bigger than %s." msgstr "La etiqueta del disc descriu un disc més gran de %s." #: libparted/labels/sun.c:510 #, c-format msgid "The disk has %d cylinders, which is greater than the maximum of 65536." msgstr "" #: libparted/labels/sun.c:853 msgid "" "The Whole Disk partition is the only available one left. Generally, it is " "not a good idea to overwrite this partition with a real one. Solaris may " "not be able to boot without it, and SILO (the sparc boot loader) appreciates " "it as well." msgstr "" "La partició sencera de disk és la única disponible que queda. Generalment, " "no és una bona idea sobreescriure aquesta partició amb una d'autèntica. " "Solaris pot no ser capaç d'arrencar sense ella i SILO ( el gestor " "d'arrencada d'sparc) també la té en compte." #: libparted/labels/sun.c:868 msgid "Sun disk label is full." msgstr "La etiqueta del disc de Sun està plena." #: libparted/labels/vtoc.c:164 msgid "opening of device failed" msgstr "" #: libparted/labels/vtoc.c:168 msgid "seeking on device failed" msgstr "" #: libparted/labels/vtoc.c:172 msgid "writing to device failed" msgstr "" #: libparted/labels/vtoc.c:176 msgid "reading from device failed" msgstr "" #: libparted/labels/vtoc.c:277 libparted/labels/vtoc.c:284 #, fuzzy msgid "Could not read volume label." msgstr "No s'ha pogut llegir la geometria de %s - %s" #: libparted/labels/vtoc.c:303 libparted/labels/vtoc.c:308 #, fuzzy msgid "Could not write volume label." msgstr "No s'ha pogut detectar el sistema de fitxers." #: libparted/labels/vtoc.c:414 msgid "Could not read VTOC labels." msgstr "" #: libparted/labels/vtoc.c:420 msgid "Could not read VTOC FMT1 DSCB." msgstr "" #: libparted/labels/vtoc.c:427 msgid "Could not read VTOC FMT4 DSCB." msgstr "" #: libparted/labels/vtoc.c:434 msgid "Could not read VTOC FMT5 DSCB." msgstr "" #: libparted/labels/vtoc.c:441 msgid "Could not read VTOC FMT7 DSCB." msgstr "" #: libparted/labels/vtoc.c:461 msgid "Could not write VTOC labels." msgstr "" #: libparted/labels/vtoc.c:467 msgid "Could not write VTOC FMT1 DSCB." msgstr "" #: libparted/labels/vtoc.c:474 msgid "Could not write VTOC FMT4 DSCB." msgstr "" #: libparted/labels/vtoc.c:481 msgid "Could not write VTOC FMT5 DSCB." msgstr "" #: libparted/labels/vtoc.c:488 msgid "Could not write VTOC FMT7 DSCB." msgstr "" #: libparted/libparted.c:237 libparted/libparted.c:252 msgid "Out of memory." msgstr "Sense memòria." #: libparted/unit.c:138 msgid "Cannot get unit size for special unit 'COMPACT'." msgstr "" #: libparted/unit.c:384 #, c-format msgid "\"%s\" has invalid syntax for locations." msgstr "" #: libparted/unit.c:392 #, c-format msgid "The maximum head value is %d." msgstr "" #: libparted/unit.c:399 #, c-format msgid "The maximum sector value is %d." msgstr "" #: libparted/unit.c:411 libparted/unit.c:543 #, c-format msgid "The location %s is outside of the device %s." msgstr "" #: libparted/unit.c:525 msgid "Invalid number." msgstr "" #: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:56 #: libparted/fs/amiga/asfs.c:70 #, c-format msgid "%s : Failed to allocate partition block\n" msgstr "" #: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:69 #: libparted/fs/amiga/asfs.c:82 #, c-format msgid "%s : Failed to allocate block\n" msgstr "" #: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:74 #, c-format msgid "%s : Couldn't read boot block %llu\n" msgstr "" #: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:85 #: libparted/fs/amiga/asfs.c:88 libparted/fs/amiga/asfs.c:102 #, c-format msgid "%s : Couldn't read root block %llu\n" msgstr "" #: libparted/fs/amiga/amiga.c:72 #, c-format msgid "%s : Failed to allocate id list element\n" msgstr "" #: libparted/fs/amiga/amiga.c:189 #, c-format msgid "%s : Couldn't read block %llu\n" msgstr "" #: libparted/fs/amiga/amiga.c:202 #, c-format msgid "%s : Bad checksum on block %llu of type %s\n" msgstr "" #: libparted/fs/amiga/amiga.c:212 #, fuzzy, c-format msgid "%s : Couldn't write block %d\n" msgstr "%s mentre s'estava escrivint a %s" #: libparted/fs/amiga/amiga.c:278 #, c-format msgid "%s : Failed to allocate disk_specific rdb block\n" msgstr "" #: libparted/fs/amiga/amiga.c:289 #, c-format msgid "%s : Didn't find rdb block, should never happen\n" msgstr "" #: libparted/fs/amiga/amiga.c:318 #, c-format msgid "%s : Failed to read partition block %llu\n" msgstr "" #: libparted/fs/ext2/ext2.c:87 libparted/fs/ext2/ext2.c:112 msgid "Inconsistent group descriptors!" msgstr "Grup de descriptors inconsistent!" #: libparted/fs/ext2/ext2.c:91 libparted/fs/ext2/ext2.c:116 #, fuzzy msgid "File system full!" msgstr "Sistema de fitxers ple!" #: libparted/fs/ext2/ext2.c:686 #, fuzzy msgid "Invalid superblock. Are you sure this is an ext2 file system?" msgstr "Superblock invàlid. Segur que és un sistema de fitxers ext2?" #: libparted/fs/ext2/ext2.c:700 libparted/fs/ext2/ext2_resize.c:658 #, fuzzy msgid "File system has errors! You should run e2fsck." msgstr "El sistema de fitxers té errors! Has d'executar e2fsck." #: libparted/fs/ext2/ext2.c:711 #, fuzzy msgid "" "File system was not cleanly unmounted! You should run e2fsck. Modifying an " "unclean file system could cause severe corruption." msgstr "" "El sistema de fitxers no ha estat desmuntat correctament! S'ha d'executar " "e2fsck." #: libparted/fs/ext2/ext2.c:731 msgid "" "File system has an incompatible feature enabled. Compatible features are " "has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs " "or debugfs to remove features." msgstr "" #: libparted/fs/ext2/ext2.c:745 msgid "Error allocating buffer cache." msgstr "Error en la reserva de la memòria cau de la memòria intermèdia" #: libparted/fs/ext2/ext2_inode_relocator.c:114 #, fuzzy msgid "" "Found an inode with a incorrect link count. Better go run e2fsck first!" msgstr "" "S'ha trobat un inode amb un número d'enllaços incorrecte. Millor que primer " "s'executi e2fsck." #: libparted/fs/ext2/ext2_inode_relocator.c:487 msgid "Not enough free inodes!" msgstr "No hi ha suficients inodes lliures!" #: libparted/fs/ext2/ext2_resize.c:223 #, fuzzy msgid "File system is too full to remove a group!" msgstr "El sistema de fitxers està massa ocupat a suprimir un grup!" #: libparted/fs/ext2/ext2_resize.c:232 #, fuzzy msgid "File system has too many allocated inodes to remove a group!" msgstr "El sistema de fitxers té massa inodes reservats per suprimir un grup!" #: libparted/fs/ext2/ext2_resize.c:491 msgid "adding groups" msgstr "afegint grups" #: libparted/fs/ext2/ext2_resize.c:528 #, fuzzy, c-format msgid "Your file system is too full to resize it to %i blocks. Sorry." msgstr "" "El sistema de fitxers està massa ocupat en redimensionar-se a %i blocs.Ho " "sento." #: libparted/fs/ext2/ext2_resize.c:538 #, fuzzy, c-format msgid "" "Your file system has too many occupied inodes to resize it to %i blocks. " "Sorry." msgstr "" "El sistema de fitxers té massa inodes ocupats per redimensionar-se a %i " "blocs.Ho sento." #: libparted/fs/ext2/ext2_resize.c:666 #, fuzzy msgid "File system was not cleanly unmounted! You should run e2fsck." msgstr "" "El sistema de fitxers no ha estat desmuntat correctament! S'ha d'executar " "e2fsck." #: libparted/fs/ext2/ext2_resize.c:675 msgid "" "The file system has the 'dir_index' feature enabled. Parted can only resize " "the file system if it disables this feature. You can enable it later by " "running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'." msgstr "" #: libparted/fs/ext2/ext2_resize.c:691 msgid "" "A resize operation on this file system will use EXPERIMENTAL code\n" "that MAY CORRUPT it (although no one has reported any such damage yet).\n" "You should at least backup your data first, and run 'e2fsck -f' afterwards." msgstr "" #: libparted/fs/ext2/ext2_block_relocator.c:198 #, fuzzy msgid "Cross-linked blocks found! Better go run e2fsck first!" msgstr "" "S'ha trobat blocs amb enllaços creuats! Millor que primer s'executi e2fsck!" #: libparted/fs/ext2/ext2_block_relocator.c:537 #, fuzzy, c-format msgid "Block %i has no reference? Weird." msgstr "El bloc %i no té referència? Extrany" #: libparted/fs/ext2/ext2_block_relocator.c:738 #, fuzzy, c-format msgid "Block %i shouldn't have been marked (%d, %d)!" msgstr "El bloc %i no hauria d'estar marcat!" #: libparted/fs/ext2/interface.c:226 #, fuzzy msgid "" "The ext2 file system passed a basic check. For a more comprehensive check, " "use the e2fsck program." msgstr "" "El sistema de fitxers ext2 ha passat una comprovació bàsica. Per una " "comprovació més completa utilitzar el programa e2fsck." #: libparted/fs/ext2/interface.c:243 msgid "Sorry, can't move the start of ext2 partitions yet!" msgstr "Ho sento, no es pot moure encara el començament de les particions ext2" #: libparted/fs/ext2/ext2_buffer.c:82 msgid "Couldn't flush buffer cache!" msgstr "No s'ha pogut buidar la memòria cau de la memòria intermèdia!" #: libparted/fs/ext2/ext2_mkfs.c:161 msgid "writing per-group metadata" msgstr "escribint metadata per-grup" #: libparted/fs/ext2/ext2_mkfs.c:597 msgid "File system too small for ext2." msgstr "Sistema de fitxers massa petit per ext2." #: libparted/fs/fat/calc.c:135 #, fuzzy, c-format msgid "" "You need %s of free disk space to shrink this partition to this size. " "Currently, only %s is free." msgstr "" "Es necessiten %dM d'espai lliure per contraure aquesta partició a aquesta " "mida (actualment només hi ha %dM lliures)" #: libparted/fs/fat/context.c:56 #, c-format msgid "" "Cluster start delta = %d, which is not a multiple of the cluster size %d." msgstr "" "El començament delta de cluster = %d, que no és multiple de la mida de " "cluster %d. " #: libparted/fs/fat/fat.c:310 #, fuzzy, c-format msgid "Partition too big/small for a %s file system." msgstr "Partició massa gran/petita per un sistema de fitxers %s" #: libparted/fs/fat/fat.c:476 msgid "" "The FATs don't match. If you don't know what this means, then select " "cancel, run scandisk on the file system, and then come back." msgstr "" "Les FATs no coincideixen. Si no saps què vols dir aixó, llavors selecciona " "cancelar, executa scandisk al sistema de fitxers, i després torna." #: libparted/fs/fat/fat.c:516 msgid "There are no possible configurations for this FAT type." msgstr "No hi ha configuracions possibles per aquest tipus de FAT." #: libparted/fs/fat/fat.c:528 #, c-format msgid "" "File system doesn't have expected sizes for Windows to like it. Cluster " "size is %dk (%dk expected); number of clusters is %d (%d expected); size of " "FATs is %d sectors (%d expected)." msgstr "" "El sistema de fitxers no té unes mides que agradin a Windows. La mida de " "clúster es %dk (hauria de ser de %dk); el número de clústers és de %d " "(hauria de ser de %d); la mida de FAT és de %d sectors ( hauria de ser de %d " "sectors)." #: libparted/fs/fat/fat.c:551 #, c-format msgid "" "File system is reporting the free space as %d clusters, not %d clusters." msgstr "" "El sistema de fitxers diu que la mida de l'espai lliure en clústers és de " "%d, no de %d clústers." #: libparted/fs/fat/fat.c:876 #, fuzzy msgid "" "GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT " "support will be disabled." msgstr "" "GNU Parted va ser mal compilat: el sector boot de FAT ha de ser de 512 " "bytes. El suport per FAT serà desactivat." #: libparted/fs/fat/resize.c:158 #, fuzzy msgid "" "There's not enough room in the root directory for all of the files. Either " "cancel, or ignore to lose the files." msgstr "" "No hi ha espai suficient al directori root, per a tots els fitxers. O bé, " "cancel·lar, o bé, Ignorar perdent els fitxers. " #: libparted/fs/fat/resize.c:299 msgid "Error writing to the root directory." msgstr "Error escribint al directori root." #: libparted/fs/fat/resize.c:488 #, fuzzy msgid "If you leave your file system as FAT16, then you will have no problems." msgstr "" "Si deixes el sistema de fitxers com FAT16, llavors no tindràs problemes" #: libparted/fs/fat/resize.c:491 msgid "" "If you convert to FAT16, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual)." msgstr "" "Si converteixes a FAT16, i MS Windows està instal·lat a aquesta partició, " "llavors hauràs de reinstal·lar el carregador d'arrencada de MS Windows. Si " "vols fer aixó, hauries de consultar el manual de Parted ( o el manual de la " "teva distribució)." #: libparted/fs/fat/resize.c:499 msgid "" "If you leave your file system as FAT32, then you will not introduce any new " "problems." msgstr "" "Si deixes el teu sistema de fitxers com a FAT32, llavors no tindràs més " "problemes." #: libparted/fs/fat/resize.c:503 msgid "" "If you convert to FAT32, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual). Also, " "converting to FAT32 will make the file system unreadable by MS DOS, MS " "Windows 95a, and MS Windows NT." msgstr "" "Si converteixes a FAT32, i MS Windows està instal·lat a aquesta partició, " "llavors hauràs de reinstal·lar el carregador d'arrencada de MS Windows. Si " "vols fer aixó, hauries de consultar el manual de Parted ( o el manual de la " "teva distribució). També, convertint a FAT32 faràs que MS DOS, MS Windows " "95a i Windows NT no puguin llegir el sistema de fitxers " #: libparted/fs/fat/resize.c:517 #, c-format msgid "%s %s %s" msgstr "%s %s %s" #: libparted/fs/fat/resize.c:518 msgid "Would you like to use FAT32?" msgstr "Vol fer servir FAT32?" #: libparted/fs/fat/resize.c:549 libparted/fs/fat/resize.c:565 #, c-format msgid "%s %s" msgstr "%s %s" #: libparted/fs/fat/resize.c:550 msgid "" "The file system can only be resized to this size by converting to FAT16." msgstr "" "El sistema de fitxers només pot ser redimensionada a aquesta mida covertint-" "la a FAT16." #: libparted/fs/fat/resize.c:566 msgid "" "The file system can only be resized to this size by converting to FAT32." msgstr "" "El sistema de fitxers només pot ser redimensionada a aquesta mida covertint-" "la a FAT32." #: libparted/fs/fat/resize.c:579 #, fuzzy msgid "" "GNU Parted cannot resize this partition to this size. We're working on it!" msgstr "" "GNU Parted no por redimensionar aquesta partició a aquesta mida. Estem " "treballant en aixó!" #: libparted/fs/fat/bootsector.c:49 libparted/fs/fat/bootsector.c:56 msgid "File system has an invalid signature for a FAT file system." msgstr "" "El sistema de fitxers té una signatura invàlida per a un sistema de fitxers " "FAT." #: libparted/fs/fat/bootsector.c:64 msgid "File system has an invalid sector size for a FAT file system." msgstr "" "El sistema de fitxers té una mida de sector invàlida per a un sistema de " "fitxers FAT." #: libparted/fs/fat/bootsector.c:71 #, fuzzy msgid "File system has an invalid cluster size for a FAT file system." msgstr "" "El sistema de fitxers té una mida de sector invàlida per a un sistema de " "fitxers FAT." #: libparted/fs/fat/bootsector.c:78 #, fuzzy msgid "" "File system has an invalid number of reserved sectors for a FAT file system." msgstr "" "El sistema de fitxers té un número de sectors reservats per a un sistema de " "fitxers FAT." #: libparted/fs/fat/bootsector.c:85 #, fuzzy msgid "File system has an invalid number of FATs." msgstr "El sistema de fitxers té un número de FATS invàlid." #: libparted/fs/fat/bootsector.c:139 #, c-format msgid "" "This file system has a logical sector size of %d. GNU Parted is known not " "to work properly with sector sizes other than 512 bytes." msgstr "" "Aquest sistema de fitxers té una mida de sector lògic de %d. GNU Parted no " "treballarà correctament amb mides de sectors diferents de 512 bytes." #: libparted/fs/fat/bootsector.c:164 #, c-format msgid "" "The file system's CHS geometry is (%d, %d, %d), which is invalid. The " "partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the " "file system's CHS geometry will be left unchanged. If you select Fix, the " "file system's CHS geometry will be set to match the partition table's CHS " "geometry." msgstr "" #: libparted/fs/fat/bootsector.c:213 msgid "FAT boot sector says logical sector size is 0. This is weird. " msgstr "" "El sector boot de la FAT diu que la mida del sector lògic és 0. Això és " "extrany." #: libparted/fs/fat/bootsector.c:219 msgid "FAT boot sector says there are no FAT tables. This is weird. " msgstr "" "El sector boot de la FAT diu que no hi ha taules FAT. Això és extrany." #: libparted/fs/fat/bootsector.c:225 msgid "FAT boot sector says clusters are 0 sectors. This is weird. " msgstr "" "El sector boot de la FAT diu que els clústers tenen 0 sectors. Això és " "extrany." #: libparted/fs/fat/bootsector.c:235 #, fuzzy msgid "File system is FAT12, which is unsupported." msgstr "El sistema de fitxers és FAT12, que no està suportat." #: libparted/fs/fat/bootsector.c:411 #, c-format msgid "" "The information sector has the wrong signature (%x). Select cancel for now, " "and send in a bug report. If you're desperate, it's probably safe to ignore." msgstr "" "El sector d'informació té una signatura incorrecta (%x). Selecciona " "cancel·la ara mateix, i envia-ns un informe. Si estas desesperat, el més " "segur és Ignorar." #: libparted/fs/fat/count.c:144 #, c-format msgid "Bad directory entry for %s: first cluster is the end of file marker." msgstr "" "Entrada de directori incorrecta per %s: el primer clúster és el final de la " "marca de fitxer." #: libparted/fs/fat/count.c:157 #, c-format msgid "" "Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk." msgstr "" "FAT incorrecta: cadena sense acabar per %s. Has de executar dosfsck o " "scandisk." #: libparted/fs/fat/count.c:166 #, fuzzy, c-format msgid "" "Bad FAT: cluster %d outside file system in chain for %s. You should run " "dosfsck or scandisk." msgstr "" "FAT incorrecta: clúster %d fora del sistema de fitxers a la cadena per %s. " "Has de executar dosfsck o scandisk." #: libparted/fs/fat/count.c:176 #, c-format msgid "" "Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or " "scandisk." msgstr "" "FAT incorrecta: clúster %d té un enllaç creuat per %s. Has d'executar " "dosfsck o scandisk." #: libparted/fs/fat/count.c:195 #, fuzzy, c-format msgid "%s is %dk, but it has %d clusters (%dk)." msgstr "%s és %dk, però té %d clústers (%dk)." #: libparted/fs/fat/count.c:258 #, c-format msgid "" "The file %s is marked as a system file. This means moving it could cause " "some programs to stop working." msgstr "" "El fitxer %s està marcat com un sistema de fitxers. Això vol dir que si el " "moveu por ocasionar que alguns programes no funcionin." #: libparted/fs/fat/table.c:136 #, c-format msgid "" "FAT %d media %x doesn't match the boot sector's media %x. You should " "probably run scandisk." msgstr "" "La FAT %d del medi %x no coincideix amb sector boot del medi %x. Hauries " "d'executar scandisk." #: libparted/fs/fat/table.c:268 #, fuzzy, c-format msgid "fat_table_set: cluster %ld outside file system" msgstr "fat_table_set: clúster %ld fora del sistema de fitxers" #: libparted/fs/fat/table.c:300 #, fuzzy, c-format msgid "fat_table_get: cluster %ld outside file system" msgstr "fat_table_get: clúster %ld fora del sistema de fitxers" #: libparted/fs/fat/table.c:342 msgid "fat_table_alloc_cluster: no free clusters" msgstr "fat_table_alloc_cluster: no hi ha clústers lliures" #: libparted/fs/linux_swap/linux_swap.c:288 #, fuzzy, c-format msgid "Unrecognised old style linux swap signature '%10s'." msgstr "Signatura de linux swap '%10s' no reconeguda." #: libparted/fs/linux_swap/linux_swap.c:331 #, fuzzy, c-format msgid "Unrecognised new style linux swap signature '%10s'." msgstr "Signatura de linux swap '%10s' no reconeguda." #: libparted/fs/linux_swap/linux_swap.c:371 #, fuzzy, c-format msgid "Unrecognised swsusp linux swap signature '%9s'." msgstr "Signatura de linux swap '%10s' no reconeguda." #: libparted/fs/linux_swap/linux_swap.c:447 msgid "Too many bad pages." msgstr "Massa pàgines incorrectes." #: libparted/fs/hfs/advfs.c:121 libparted/fs/hfs/advfs_plus.c:121 #: libparted/fs/hfs/reloc.c:414 libparted/fs/hfs/reloc.c:508 #: libparted/fs/hfs/reloc_plus.c:538 libparted/fs/hfs/reloc_plus.c:656 #: libparted/fs/hfs/reloc_plus.c:769 msgid "The file system contains errors." msgstr "" #: libparted/fs/hfs/advfs_plus.c:285 msgid "Bad blocks could not be read." msgstr "" #: libparted/fs/hfs/cache.c:137 #, c-format msgid "" "Trying to register an extent starting at block 0x%X, but another one already " "exists at this position. You should check the file system!" msgstr "" #: libparted/fs/hfs/cache.c:214 #, c-format msgid "" "Trying to move an extent from block Ox%X to block Ox%X, but another one " "already exists at this position. This should not happen!" msgstr "" #: libparted/fs/hfs/file.c:143 #, c-format msgid "Could not update the extent cache for HFS file with CNID %X." msgstr "" #: libparted/fs/hfs/file.c:180 #, c-format msgid "Trying to read HFS file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/file.c:190 libparted/fs/hfs/file.c:220 #, c-format msgid "Could not find sector %lli of HFS file with CNID %X." msgstr "" #: libparted/fs/hfs/file.c:210 #, c-format msgid "Trying to write HFS file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/file_plus.c:157 #, c-format msgid "Could not update the extent cache for HFS+ file with CNID %X." msgstr "" #: libparted/fs/hfs/file_plus.c:202 #, c-format msgid "Trying to read HFS+ file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/file_plus.c:213 libparted/fs/hfs/file_plus.c:256 #, c-format msgid "Could not find sector %lli of HFS+ file with CNID %X." msgstr "" #: libparted/fs/hfs/file_plus.c:245 #, c-format msgid "Trying to write HFS+ file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/hfs.c:232 msgid "Sorry, HFS cannot be resized that way yet." msgstr "" #: libparted/fs/hfs/hfs.c:262 libparted/fs/hfs/hfs.c:641 msgid "Data relocation has failed." msgstr "" #: libparted/fs/hfs/hfs.c:281 msgid "Data relocation left some data in the end of the volume." msgstr "" #: libparted/fs/hfs/hfs.c:320 #, fuzzy msgid "writing HFS Master Directory Block" msgstr "Error escribint al directori root." #: libparted/fs/hfs/hfs.c:468 msgid "No valid HFS[+X] signature has been found while opening." msgstr "" #: libparted/fs/hfs/hfs.c:478 #, c-format msgid "Version %d of HFS+ isn't supported." msgstr "" #: libparted/fs/hfs/hfs.c:489 #, c-format msgid "Version %d of HFSX isn't supported." msgstr "" #: libparted/fs/hfs/hfs.c:672 msgid "Data relocation left some data at the end of the volume." msgstr "" #: libparted/fs/hfs/hfs.c:720 #, fuzzy msgid "Error while writing the allocation file." msgstr "Error escribint al directori root." #: libparted/fs/hfs/hfs.c:735 msgid "Error while writing the compatibility part of the allocation file." msgstr "" #: libparted/fs/hfs/hfs.c:750 msgid "writing HFS+ Volume Header" msgstr "" #: libparted/fs/hfs/hfs.c:850 msgid "An error occurred while looking for the mandatory bad blocks file." msgstr "" #: libparted/fs/hfs/hfs.c:904 msgid "" "It seems there is an error in the HFS wrapper: the bad blocks file doesn't " "contain the embedded HFS+ volume." msgstr "" #: libparted/fs/hfs/hfs.c:940 msgid "Sorry, HFS+ cannot be resized that way yet." msgstr "" #: libparted/fs/hfs/hfs.c:975 msgid "shrinking embedded HFS+ volume" msgstr "" #: libparted/fs/hfs/hfs.c:991 msgid "Resizing the HFS+ volume has failed." msgstr "" #: libparted/fs/hfs/hfs.c:998 #, fuzzy msgid "shrinking HFS wrapper" msgstr "encongint" #: libparted/fs/hfs/hfs.c:1007 msgid "Updating the HFS wrapper has failed." msgstr "" #: libparted/fs/hfs/hfs.c:1109 libparted/fs/hfs/hfs.c:1194 #, c-format msgid "" "This is not a real %s check. This is going to extract special low level " "files for debugging purposes." msgstr "" #: libparted/fs/hfs/journal.c:155 msgid "Bad block list header checksum." msgstr "" #: libparted/fs/hfs/journal.c:168 #, c-format msgid "" "Invalid size of a transaction block while replaying the journal (%i bytes)." msgstr "" #: libparted/fs/hfs/journal.c:260 msgid "" "Journal stored outside of the volume are not supported. Try to desactivate " "the journal and run Parted again." msgstr "" #: libparted/fs/hfs/journal.c:271 #, fuzzy msgid "Journal offset or size is not multiple of the sector size." msgstr "" "El començament delta de cluster = %d, que no és multiple de la mida de " "cluster %d. " #: libparted/fs/hfs/journal.c:292 msgid "Incorrect magic values in the journal header." msgstr "" #: libparted/fs/hfs/journal.c:302 msgid "Journal size mismatch between journal info block and journal header." msgstr "" #: libparted/fs/hfs/journal.c:314 #, fuzzy msgid "Some header fields are not multiple of the sector size." msgstr "" "El començament delta de cluster = %d, que no és multiple de la mida de " "cluster %d. " #: libparted/fs/hfs/journal.c:323 msgid "" "The sector size stored in the journal is not 512 bytes. Parted only " "supports 512 bytes length sectors." msgstr "" #: libparted/fs/hfs/journal.c:335 msgid "Bad journal checksum." msgstr "" #: libparted/fs/hfs/journal.c:353 msgid "" "The journal is not empty. Parted must replay the transactions before " "opening the file system. This will modify the file system." msgstr "" #: libparted/fs/hfs/journal.c:381 msgid "" "The volume header or the master directory block has changed while replaying " "the journal. You should restart Parted." msgstr "" #: libparted/fs/hfs/probe.c:51 #, c-format msgid "" "Parted can't use HFS file systems on disks with a sector size not equal to " "%d bytes." msgstr "" #: libparted/fs/hfs/reloc.c:151 libparted/fs/hfs/reloc_plus.c:155 msgid "An extent has not been relocated." msgstr "" #: libparted/fs/hfs/reloc.c:251 libparted/fs/hfs/reloc_plus.c:307 msgid "" "A reference to an extent comes from a place it should not. You should check " "the file system!" msgstr "" #: libparted/fs/hfs/reloc.c:381 msgid "This HFS volume has no catalog file. This is very unusual!" msgstr "" #: libparted/fs/hfs/reloc.c:475 msgid "This HFS volume has no extents overflow file. This is quite unusual!" msgstr "" #: libparted/fs/hfs/reloc.c:517 libparted/fs/hfs/reloc_plus.c:666 msgid "" "The extents overflow file should not contain its own extents! You should " "check the file system." msgstr "" #: libparted/fs/hfs/reloc.c:574 libparted/fs/hfs/reloc_plus.c:844 #, fuzzy msgid "Could not cache the file system in memory." msgstr "No s'ha pogut detectar el sistema de fitxers." #: libparted/fs/hfs/reloc.c:635 libparted/fs/hfs/reloc_plus.c:905 msgid "Bad blocks list could not be loaded." msgstr "" #: libparted/fs/hfs/reloc.c:649 libparted/fs/hfs/reloc_plus.c:921 msgid "An error occurred during extent relocation." msgstr "" #: libparted/fs/hfs/reloc_plus.c:494 msgid "This HFS+ volume has no catalog file. This is very unusual!" msgstr "" #: libparted/fs/hfs/reloc_plus.c:617 msgid "This HFS+ volume has no extents overflow file. This is quite unusual!" msgstr "" #: parted/parted.c:123 msgid "displays this help message" msgstr "mostra aquest missatge d'ajuda" #: parted/parted.c:124 msgid "lists partition layout on all block devices" msgstr "" #: parted/parted.c:125 msgid "displays machine parseable output" msgstr "" #: parted/parted.c:126 msgid "never prompts for user intervention" msgstr "mai pregunta a l'usuari" #: parted/parted.c:127 msgid "displays the version" msgstr "mostra la versió" #: parted/parted.c:128 #, fuzzy msgid "alignment for new partitions" msgstr "No es pot crear cap més partició." #: parted/parted.c:140 #, fuzzy msgid "" "NUMBER is the partition number used by Linux. On MS-DOS disk labels, the " "primary partitions number from 1 to 4, logical partitions from 5 onwards.\n" msgstr "" "MINOR és el número de partició utilitzada per Linux. A etiquetes de disk " "msdos, les particions primàries són numeradas de 1 a 4, i les particions " "lògiques de la 5 en davant.\n" #: parted/parted.c:143 msgid "LABEL-TYPE is one of: " msgstr "TIPUS-ETI és una d'aquestes: " #: parted/parted.c:144 msgid "FLAG is one of: " msgstr "FLAG és una d'aquests:" #: parted/parted.c:145 #, fuzzy msgid "UNIT is one of: " msgstr "FLAG és una d'aquests:" #: parted/parted.c:146 msgid "desired alignment: minimum or optimal" msgstr "" #: parted/parted.c:147 msgid "PART-TYPE is one of: primary, logical, extended\n" msgstr "TIPUS-PART és una d'aquestes: primària, lògica, extesa\n" #: parted/parted.c:149 msgid "FS-TYPE is one of: " msgstr "TIPUS-SF és un d'aquests: " #: parted/parted.c:150 msgid "" "START and END are disk locations, such as 4GB or 10%. Negative values count " "from the end of the disk. For example, -1s specifies exactly the last " "sector.\n" msgstr "" #: parted/parted.c:153 msgid "STATE is one of: on, off\n" msgstr "ESTAT és un d'aquests: on, off\n" #: parted/parted.c:154 msgid "DEVICE is usually /dev/hda or /dev/sda\n" msgstr "DISPOS és, normalment, /dev/hda o /dev/sda\n" #: parted/parted.c:155 msgid "NAME is any word you want\n" msgstr "NOM és qualsevol paraula que vulguis\n" #: parted/parted.c:156 msgid "The partition must have one of the following FS-TYPEs: " msgstr "" #: parted/parted.c:160 #, fuzzy msgid "" "Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n" "This program is free software, covered by the GNU General Public License.\n" "\n" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" msgstr "" "Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.\n" "Aquest programa és programari obert sota Llicència Pública General GNU.\n" "\n" "Aquest programa es distribueix en la esperança que sigui útil, però SENSE " "CAP GARANTIA; sense la garantia implícita de COMERCIALITZACIO ni que " "CUMPLEIXI CAP PROPOSIT PARTICULAR. Per més detalls, vegeu la Llicència " "General Pública GNU.\n" "\n" #: parted/parted.c:208 #, c-format msgid "%0.f%%\t(time left %.2d:%.2d)" msgstr "%0.f%%\t(temps que queda %.2d:%.2d)" #: parted/parted.c:227 #, c-format msgid "" "Partition %s is being used. You must unmount it before you modify it with " "Parted." msgstr "" #: parted/parted.c:245 #, c-format msgid "Partition(s) on %s are being used." msgstr "La(s) partició(ns) a %s s'està utilitzant." #: parted/parted.c:257 msgid "" "The existing file system will be destroyed and all data on the partition " "will be lost. Do you want to continue?" msgstr "" #: parted/parted.c:269 #, c-format msgid "" "The existing disk label on %s will be destroyed and all data on this disk " "will be lost. Do you want to continue?" msgstr "" #: parted/parted.c:487 #, c-format msgid "" "WARNING: you are attempting to use %s to operate on (%s) a file system.\n" "%s's file system manipulation code is not as robust as what you'll find in\n" "dedicated, file-system-specific packages like e2fsprogs. We recommend\n" "you use %s only to manipulate partition tables, whenever possible.\n" "Support for performing most operations on most types of file systems\n" "will be removed in an upcoming release.\n" msgstr "" #: parted/parted.c:508 parted/parted.c:702 parted/parted.c:1179 #: parted/parted.c:1263 parted/parted.c:1935 parted/parted.c:2016 #: parted/parted.c:2088 parted/parted.c:2122 msgid "Partition number?" msgstr "Número de partició?" #: parted/parted.c:551 msgid "Source device?" msgstr "Dispositiu d'origen?" #: parted/parted.c:555 msgid "Source partition number?" msgstr "Número de partició d'origen?" #: parted/parted.c:560 #, fuzzy msgid "Can't copy an extended partition." msgstr "No es poden copiar particions exteses." #: parted/parted.c:566 msgid "Destination partition number?" msgstr "Número de partició destí?" #: parted/parted.c:655 msgid "New disk label type?" msgstr "Nou tipus d'etiqueta?" #: parted/parted.c:706 parted/parted.c:788 parted/parted.c:1000 msgid "File system type?" msgstr "Sistema de fitxers?" #: parted/parted.c:762 parted/parted.c:983 msgid "Partition type?" msgstr "Tipus de partició?" #: parted/parted.c:780 parted/parted.c:990 parted/parted.c:1266 msgid "Partition name?" msgstr "Nom de la partició?" #: parted/parted.c:794 parted/parted.c:1002 parted/parted.c:1194 #: parted/parted.c:1883 parted/parted.c:1944 msgid "Start?" msgstr "Inici?" #: parted/parted.c:796 parted/parted.c:1005 parted/parted.c:1197 #: parted/parted.c:1885 parted/parted.c:1946 msgid "End?" msgstr "Fi?" #: parted/parted.c:862 parted/parted.c:1066 #, fuzzy, c-format msgid "" "You requested a partition from %s to %s.\n" "The closest location we can manage is %s to %s.%s" msgstr "" "Has demanat de crear una partició a %.3f-%.3fMb. El més proper que Parted " "pot manegar és %.3f-%.3fMb." #: parted/parted.c:867 parted/parted.c:1071 msgid "" "\n" "Is this still acceptable to you?" msgstr "" #: parted/parted.c:889 parted/parted.c:1093 msgid "The resulting partition is not properly aligned for best performance." msgstr "" #: parted/parted.c:995 #, fuzzy msgid "An extended partition cannot hold a file system. Did you want mkpart?" msgstr "" "Les particions exteses no poden tenir sistemes de fitxers. Voleu executar " "mkpart?" #: parted/parted.c:1185 #, fuzzy msgid "Can't move an extended partition." msgstr "No es poden moure particions exteses" #: parted/parted.c:1214 msgid "Can't move a partition onto itself. Try using resize, perhaps?" msgstr "" "No es por moure una partició a ella mateixa. Vols redimensionar-la, potser?" #: parted/parted.c:1360 #, c-format msgid "Minor: %d\n" msgstr "Minor: %d\n" #: parted/parted.c:1361 #, fuzzy, c-format msgid "Flags: %s\n" msgstr "Flags:" #: parted/parted.c:1362 #, c-format msgid "File System: %s\n" msgstr "Sistema de fitxers:%s\n" #: parted/parted.c:1363 #, fuzzy msgid "Size: " msgstr "Mida: %10.3fMb (%d%%)\n" #: parted/parted.c:1368 #, fuzzy msgid "Minimum size: " msgstr "Mida mínima: %10.3fMb (%d%%)\n" #: parted/parted.c:1371 #, fuzzy msgid "Maximum size: " msgstr "Mida màxima: %10.3fMb (%d%%)\n" #: parted/parted.c:1504 #, c-format msgid "Model: %s (%s)\n" msgstr "" #: parted/parted.c:1506 #, fuzzy, c-format msgid "Disk %s: %s\n" msgstr "%s %s %s" #: parted/parted.c:1507 #, c-format msgid "Sector size (logical/physical): %lldB/%lldB\n" msgstr "" #: parted/parted.c:1525 #, c-format msgid "BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s.\n" msgstr "" #: parted/parted.c:1534 #, fuzzy, c-format msgid "Partition Table: %s\n" msgstr "Nom de la partició?" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Number" msgstr "" #: parted/parted.c:1549 parted/parted.c:1552 #, fuzzy msgid "Start" msgstr "Inici?" #: parted/parted.c:1550 parted/parted.c:1553 #, fuzzy msgid "End" msgstr "Fi?" #: parted/parted.c:1553 #, fuzzy msgid "Size" msgstr "resize" #: parted/parted.c:1557 msgid "Type" msgstr "" #: parted/parted.c:1559 #, fuzzy msgid "File system" msgstr "Sistema de fitxers?" #: parted/parted.c:1562 #, fuzzy msgid "Name" msgstr "name" #: parted/parted.c:1564 msgid "Flags" msgstr "Flags" #: parted/parted.c:1621 msgid "Free Space" msgstr "" #: parted/parted.c:1782 #, fuzzy, c-format msgid "" "A %s %s partition was found at %s -> %s. Do you want to add it to the " "partition table?" msgstr "" "Una partició %s %s ha estat trobada a %.3fMb -> %.3fMb. Vols afegir-la a la " "taula de particions?" #: parted/parted.c:1821 #, fuzzy msgid "searching for file systems" msgstr "sistema de fitxers creixent" #: parted/parted.c:2041 msgid "New device?" msgstr "Nou dispositiu?" #: parted/parted.c:2086 msgid "alignment type(min/opt)" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d aligned\n" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d not aligned\n" msgstr "" #: parted/parted.c:2124 #, fuzzy msgid "Flag to Invert?" msgstr "Flag a canviar?" #: parted/parted.c:2129 msgid "New state?" msgstr "Nou estat?" #: parted/parted.c:2166 msgid "Unit?" msgstr "" #: parted/parted.c:2348 #, fuzzy msgid "align-check" msgstr "comprova" #: parted/parted.c:2351 msgid "" "align-check TYPE N check partition N for TYPE(min|" "opt) alignment" msgstr "" #: parted/parted.c:2359 msgid "check" msgstr "comprova" #: parted/parted.c:2362 #, fuzzy msgid "" "check NUMBER do a simple check on the file system" msgstr "" "comprova MINOR fa una simple comprovació al sistema de " "fitxers" #: parted/parted.c:2368 msgid "cp" msgstr "cp" #: parted/parted.c:2371 #, fuzzy msgid "" "cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another " "partition" msgstr "" "cp [DESDE-DISPOS] DE-MINOR A-MINOR copia un sistema de fitxers a una " "altra partició" #: parted/parted.c:2377 msgid "help" msgstr "ajuda" #: parted/parted.c:2380 #, fuzzy msgid "" "help [COMMAND] print general help, or help on " "COMMAND" msgstr "Ajuda [ORDRE] imprimeix ajuda general, o ajuda d'ORDRE" #: parted/parted.c:2386 msgid "mklabel" msgstr "mklabel" #: parted/parted.c:2386 #, fuzzy msgid "mktable" msgstr "mklabel" #: parted/parted.c:2389 #, fuzzy msgid "" "mklabel,mktable LABEL-TYPE create a new disklabel (partition " "table)" msgstr "" "mklabel TIPUS-ETI crea una nova etiqueta de disc (taula de partició)" #: parted/parted.c:2395 msgid "mkfs" msgstr "mkfs" #: parted/parted.c:2398 #, fuzzy msgid "" "mkfs NUMBER FS-TYPE make a FS-TYPE file system on " "partition NUMBER" msgstr "" "mkfs MINOR TIPUS-SF crea un sistema de fitxers TIPUS-SF a la partició " "MINOR" #: parted/parted.c:2404 msgid "mkpart" msgstr "mkpart" #: parted/parted.c:2407 #, fuzzy msgid "mkpart PART-TYPE [FS-TYPE] START END make a partition" msgstr "mkpart TIPUS-PART [TIPUS-SF] INICI FI crea una partició" #: parted/parted.c:2413 #, fuzzy msgid "" "'mkpart' makes a partition without creating a new file system on the " "partition. FS-TYPE may be specified to set an appropriate partition ID.\n" msgstr "" "mkpart crea una partició sense crear cap sistema de fitxers a la partició. " "TIPUS-SF ha de ser especificat per assignar una ID de partició.\n" #: parted/parted.c:2418 msgid "mkpartfs" msgstr "mkpartfs" #: parted/parted.c:2421 #, fuzzy msgid "" "mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system" msgstr "" "mkpartfs TIPUS-PART TIPUS-SF INICI FI crea una partició amb un sistema " "de fitxers" #: parted/parted.c:2427 msgid "move" msgstr "move" #: parted/parted.c:2430 #, fuzzy msgid "move NUMBER START END move partition NUMBER" msgstr "move MINOR INICI FI mou la partició MINOR" #: parted/parted.c:2435 msgid "name" msgstr "name" #: parted/parted.c:2438 #, fuzzy msgid "name NUMBER NAME name partition NUMBER as NAME" msgstr "name MINOR NOM anomena la partició MINOR NOM" #: parted/parted.c:2443 msgid "print" msgstr "print" #: parted/parted.c:2446 msgid "" "print [devices|free|list,all|NUMBER] display the partition table, " "available devices, free space, all found partitions, or a particular " "partition" msgstr "" #: parted/parted.c:2451 msgid "" "Without arguments, 'print' displays the entire partition table. However with " "the following arguments it performs various other actions.\n" msgstr "" #: parted/parted.c:2453 msgid " devices : display all active block devices\n" msgstr "" #: parted/parted.c:2454 msgid "" " free : display information about free unpartitioned space on the " "current block device\n" msgstr "" #: parted/parted.c:2456 msgid "" " list, all : display the partition tables of all active block devices\n" msgstr "" #: parted/parted.c:2457 msgid "" " NUMBER : display more detailed information about this particular " "partition\n" msgstr "" #: parted/parted.c:2462 msgid "quit" msgstr "quit" #: parted/parted.c:2465 #, fuzzy msgid "quit exit program" msgstr "quit surt del programa" #: parted/parted.c:2470 msgid "rescue" msgstr "rescatar" #: parted/parted.c:2473 #, fuzzy msgid "" "rescue START END rescue a lost partition near START " "and END" msgstr "rescatar INICI FI rescata particions perdudes entre INICI i FI" #: parted/parted.c:2479 msgid "resize" msgstr "resize" #: parted/parted.c:2482 #, fuzzy msgid "" "resize NUMBER START END resize partition NUMBER and its " "file system" msgstr "rescatar INICI FI rescata particions perdudes entre INICI i FI" #: parted/parted.c:2490 msgid "rm" msgstr "rm" #: parted/parted.c:2493 #, fuzzy msgid "rm NUMBER delete partition NUMBER" msgstr "rm MINOR suprimeix la partició MINOR" #: parted/parted.c:2498 msgid "select" msgstr "select" #: parted/parted.c:2501 #, fuzzy msgid "select DEVICE choose the device to edit" msgstr "select DISPOSITIU escollir el dispositiu a editar" #: parted/parted.c:2506 msgid "set" msgstr "set" #: parted/parted.c:2509 #, fuzzy msgid "" "set NUMBER FLAG STATE change the FLAG on partition NUMBER" msgstr "set MINOR FLAG ESTAT canvia un flag a la partició MINOR" #: parted/parted.c:2515 msgid "toggle" msgstr "" #: parted/parted.c:2518 msgid "" "toggle [NUMBER [FLAG]] toggle the state of FLAG on " "partition NUMBER" msgstr "" #: parted/parted.c:2524 #, fuzzy msgid "unit" msgstr "quit" #: parted/parted.c:2527 #, fuzzy msgid "unit UNIT set the default unit to UNIT" msgstr "quit surt del programa" #: parted/parted.c:2532 msgid "version" msgstr "" #: parted/parted.c:2535 msgid "" "version display the version number and " "copyright information of GNU Parted" msgstr "" #: parted/parted.c:2539 msgid "" "'version' displays copyright and version information corresponding to this " "copy of GNU Parted\n" msgstr "" #: parted/parted.c:2607 #, c-format msgid "Usage: %s [-hlmsv] [-a] [DEVICE [COMMAND [PARAMETERS]]...]\n" msgstr "" #: parted/parted.c:2651 msgid "No device found" msgstr "No s'ha trobat el dispositiu" #: parted/parted.c:2688 msgid "WARNING: You are not superuser. Watch out for permissions." msgstr "" #: parted/parted.c:2726 #, fuzzy msgid "You may need to update /etc/fstab.\n" msgstr "No us oblideu d'actualitzar /etc/fstab si cal.\n" #: parted/ui.c:162 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n" msgstr "" #: parted/ui.c:165 #, fuzzy msgid "" "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n" "Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run " "in\n" "interactive mode.\n" msgstr "" "Ús: parted [OPCIÓ]... [DISPOSITIU [ORDRE [PARAMETRES]...]...]\n" "Aplica les ORDRES amb PARAMETRES al DISPOSITIU. Si no s'especifiquen " "ORDRES, s'executa en\n" "mode interactiu.\n" #: parted/ui.c:170 #, c-format msgid "" "\n" "\n" "You found a bug in GNU Parted! Here's what you have to do:\n" "\n" "Don't panic! The bug has most likely not affected any of your data.\n" "Help us to fix this bug by doing the following:\n" "\n" "Check whether the bug has already been fixed by checking\n" "the last version of GNU Parted that you can find at:\n" "\n" "\thttp://ftp.gnu.org/gnu/parted/\n" "\n" "Please check this version prior to bug reporting.\n" "\n" "If this has not been fixed yet or if you don't know how to check,\n" "please visit the GNU Parted website:\n" "\n" "\thttp://www.gnu.org/software/parted\n" "\n" "for further information.\n" "\n" "Your report should contain the version of this release (%s)\n" "along with the error message below, the output of\n" "\n" "\tparted DEVICE unit co print unit s print\n" "\n" "and the following history of commands you entered.\n" "Also include any additional information about your setup you\n" "consider important.\n" msgstr "" #: parted/ui.c:291 msgid "" "\n" "Command History:\n" msgstr "" #: parted/ui.c:354 msgid "" "\n" "Error: SEGV_MAPERR (Address not mapped to object)\n" msgstr "" #: parted/ui.c:360 msgid "" "\n" "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n" msgstr "" #: parted/ui.c:365 msgid "" "\n" "Error: A general SIGSEGV signal was encountered.\n" msgstr "" #: parted/ui.c:389 msgid "" "\n" "Error: FPE_INTDIV (Integer: divide by zero)" msgstr "" #: parted/ui.c:394 msgid "" "\n" "Error: FPE_INTOVF (Integer: overflow)" msgstr "" #: parted/ui.c:399 msgid "" "\n" "Error: FPE_FLTDIV (Float: divide by zero)" msgstr "" #: parted/ui.c:404 msgid "" "\n" "Error: FPE_FLTOVF (Float: overflow)" msgstr "" #: parted/ui.c:409 msgid "" "\n" "Error: FPE_FLTUND (Float: underflow)" msgstr "" #: parted/ui.c:414 msgid "" "\n" "Error: FPE_FLTRES (Float: inexact result)" msgstr "" #: parted/ui.c:419 msgid "" "\n" "Error: FPE_FLTINV (Float: invalid operation)" msgstr "" #: parted/ui.c:424 msgid "" "\n" "Error: FPE_FLTSUB (Float: subscript out of range)" msgstr "" #: parted/ui.c:429 msgid "" "\n" "Error: A general SIGFPE signal was encountered." msgstr "" #: parted/ui.c:453 msgid "" "\n" "Error: ILL_ILLOPC (Illegal Opcode)" msgstr "" #: parted/ui.c:458 msgid "" "\n" "Error: ILL_ILLOPN (Illegal Operand)" msgstr "" #: parted/ui.c:463 msgid "" "\n" "Error: ILL_ILLADR (Illegal addressing mode)" msgstr "" #: parted/ui.c:468 msgid "" "\n" "Error: ILL_ILLTRP (Illegal Trap)" msgstr "" #: parted/ui.c:473 msgid "" "\n" "Error: ILL_PRVOPC (Privileged Opcode)" msgstr "" #: parted/ui.c:478 msgid "" "\n" "Error: ILL_PRVREG (Privileged Register)" msgstr "" #: parted/ui.c:483 msgid "" "\n" "Error: ILL_COPROC (Coprocessor Error)" msgstr "" #: parted/ui.c:488 msgid "" "\n" "Error: ILL_BADSTK (Internal Stack Error)" msgstr "" #: parted/ui.c:493 msgid "" "\n" "Error: A general SIGILL signal was encountered." msgstr "" #: parted/ui.c:892 #, fuzzy, c-format msgid "invalid token: %s" msgstr "No s'ha pogut obrir %s" #: parted/ui.c:1048 msgid "Expecting a partition number." msgstr "S'esperava un múmero de partició." #: parted/ui.c:1057 msgid "Partition doesn't exist." msgstr "La partició no existeix." #: parted/ui.c:1077 msgid "Expecting a file system type." msgstr "S'esperava un tipus de sistema de fitxers." #: parted/ui.c:1084 #, c-format msgid "Unknown file system type \"%s\"." msgstr "Tipus de sistema de fitxers desconegut \"%s\"." #: parted/ui.c:1104 msgid "Expecting a disk label type." msgstr "S'esperava un tipus de etiqueta de dics." #: parted/ui.c:1202 msgid "Can't create any more partitions." msgstr "No es pot crear cap més partició." #: parted/ui.c:1212 msgid "Expecting a partition type." msgstr "S'esperava un tipus de partició." #: parted/ui.c:1360 msgid "on" msgstr "on" #: parted/ui.c:1361 msgid "off" msgstr "off" #: parted/ui.c:1378 msgid "optimal" msgstr "" #: parted/ui.c:1379 msgid "minimal" msgstr "" #: parted/ui.c:1512 msgid "OPTIONs:" msgstr "OPCIONS:" #: parted/ui.c:1517 msgid "COMMANDs:" msgstr "ORDRES:" #: parted/ui.c:1520 #, c-format msgid "" "\n" "Report bugs to %s\n" msgstr "" #: parted/ui.c:1527 #, c-format msgid "Using %s\n" msgstr "Utilitzant %s\n" #: parted/ui.c:1601 msgid "This command does not make sense in non-interactive mode.\n" msgstr "" #, fuzzy #~ msgid "Unable to determine the block size of this dasd" #~ msgstr "No s'ha pogut determinar la mida de %s (%s)" #, fuzzy #~ msgid "" #~ "The kernel was unable to re-read the partition table on %s (%s). This " #~ "means Linux won't know anything about the modifications you made until " #~ "you reboot. You should reboot your computer before doing anything with " #~ "%s." #~ msgstr "" #~ "El kernel no ha pogut rellegir la taula de particions a %s (%s).Aixó vol " #~ "dir que Linux no reconeixerà cap de les modificacions fetes. Heu " #~ "d'arrencar la màquina abans de fer res amb %s." #~ msgid "" #~ "The sector size on %s is %d bytes. Parted is known not to work properly " #~ "with drives with sector sizes other than %d bytes" #~ msgstr "" #~ "La mida del sector a %s és de %d bytes. Parted no funcionarà correctament " #~ "amb discs d'una mida de sector diferent de %d bytes" #~ msgid "Device %s has dodgey geometry." #~ msgstr "El dispositiu %s té una geometria incorrecte." #~ msgid "IDE" #~ msgstr "IDE" #~ msgid "SCSI" #~ msgstr "SCSI" #~ msgid "Device %s is neither a SCSI nor IDE drive." #~ msgstr "El dispositiu %s no és ni SCSI ni IDE" #~ msgid "Error reading %s (%s) to determine if partition is mounted." #~ msgstr "Error al llegir %s (%s) per determinar si la partició està muntada." #~ msgid "" #~ "The partition table on %s is inconsistent. There are many reasons why " #~ "this might be the case. However, the most likely reason is that Linux " #~ "detected the BIOS geometry for %s incorrectly. GNU Parted suspects the " #~ "real geometry should be %d/%d/%d (not %d/%d/%d). You should check with " #~ "your BIOS first, as this may not be correct. You can inform Linux by " #~ "adding the parameter %s=%d,%d,%d to the command line. See the LILO or " #~ "GRUB documentation for more information. If you think Parted's suggested " #~ "geometry is correct, you may select Ignore to continue (and fix Linux " #~ "later). Otherwise, select Cancel (and fix Linux and/or the BIOS now)." #~ msgstr "" #~ "La taula de particions a %s és inconsistent. Hi ha diverses raons per " #~ "les quals es pot donar aquest error. Però la més comú sol ser que Linux " #~ "ha detectat la geometria de la BIOS de %s incorrectament. GNU Parted creu " #~ "que la autèntica geometria ha de ser %d/%d/%d ( i no %d/%d/%d). Primer " #~ "s'ha de comprovar la BIOS que sigui correcta. Es pot especificar a Linux " #~ "afegint el paràmetre %s=%d,%d,%d a la línia de comandes. Veieu la " #~ "documentació de LILO o GRUB per més informació. Si es creu que la " #~ "geometria que suggereix Parted és correcta, seleccioneu Ignorar per " #~ "continuar ( i arregleu Linux després). Si no, seleccioneu Cancel·lar ( i " #~ "arregleu Linux i/o la BIOS ara mateix)." #~ msgid "" #~ "The partition table on %s is inconsistent. There are many reasons why " #~ "this might be the case. Often, the reason is that Linux detected the " #~ "BIOS geometry incorrectly. However, this does not appear to be the case " #~ "here. It is safe to ignore,but ignoring may cause (fixable) problems " #~ "with some boot loaders, and may cause problems with FAT file systems. " #~ "Using LBA is recommended." #~ msgstr "" #~ "La taula de particions a %s és inconsistent. Hi ha diverses raons per les " #~ "quals es pot donar aquest error. Però la més comú sol ser que Linux ha " #~ "detectat la geometria de la BIOS incorrectament. No obstant, no sembla " #~ "ser el cas aqui. El més segur és Ignorar, però ignorant pot causar " #~ "problemes (que es podren arreglar) en alguns carregadors d'arrencada i " #~ "també pot donar problemes amb sistemes de fitxers FAT. Es recomana " #~ "utilitzar LBA." #~ msgid "" #~ "Unable to align partition properly. This probably means that another " #~ "partitioning tool generated an incorrect partition table, because it " #~ "didn't have the correct BIOS geometry. It is safe to ignore,but ignoring " #~ "may cause (fixable) problems with some boot loaders." #~ msgstr "" #~ "No s'ha pogut aliniar la partició correctament. Aixó vol dir que, " #~ "probablement, que un altre gestor de particions ha generat una taula de " #~ "particions incorrecta ja que no té una correcta geometria a la BIOS. El " #~ "més segur és Ignorar, però si s'ignora pot causar problemes (que es " #~ "podren arreglar)amb alguns carregadors d'arrencada." #~ msgid "Attempt to read sectors %ld-%ld outside of partition on %s" #~ msgstr "S'ha intentat llegir sectors %ld-%ld fora de la partició a %s" #~ msgid "" #~ "This ext2 filesystem has a rather strange layout! Parted can't resize " #~ "this (yet)." #~ msgstr "" #~ "Aquest sistema de fitxers ext2 té un disseny bastant extrany! Parted " #~ "(encara) no el pot redimensionar." #~ msgid "Filesystem has incompatible feature enabled" #~ msgstr "El sistema de fitxers té una característica incompatible activada" #~ msgid "File system has an invalid signature for a FAT file systems." #~ msgstr "" #~ "El sistema de fitxers té una signatura invàlida per a un sistema de " #~ "fitxers FAT." #~ msgid "" #~ "The FATs aren't big enough to describe all clusters! Each FAT is %d " #~ "sectors. There are %d clusters, which would require each FAT to be %d " #~ "sectors. This is REALLY weird. You might want to write us an email: bug-" #~ "parted@gnu.org" #~ msgstr "" #~ "Les FATs no són el suficientment grans per descriure tots els clústers! " #~ "Cada FAT és de %d sectors. Hi ha %d clústers, que vol dir que cada FAT " #~ "tingui %d sectors. Això és molt extrany. Ens podries escriure un e-mail " #~ "a: bug-parted@gnu.org" #~ msgid "where necessary, prompts for user intervention" #~ msgstr "quan és necessari, pregunta a l'usuari" #~ msgid "START and END are in megabytes\n" #~ msgstr "INICI i FI són en megabytes\n" #~ msgid "Partition is being used." #~ msgstr "La partició s'està utilitzant." #~ msgid "" #~ "You requested to move the partition to %.3f-%.3fMb. The closest Parted " #~ "can manage is %.3f-%.3fMb." #~ msgstr "" #~ "Has demanat de moure una partició a %.3f-%.3fMb. El més proper que Parted " #~ "pot manegar és %.3f-%.3fMb." #~ msgid "Disk geometry for %s: 0.000-%.3f megabytes\n" #~ msgstr "La geometria del disc per %s: 0.000-%.3f megabytes\n" #~ msgid "Disk label type: %s\n" #~ msgstr "Tipus d'etiqueta: %s\n" #~ msgid "Minor Start End " #~ msgstr "Minor Inici Fi " #~ msgid "Type " #~ msgstr "Tipus " #~ msgid "Filesystem " #~ msgstr "Sistema de fitxers " #~ msgid "Name " #~ msgstr "Nom " #~ msgid "" #~ "You requested to resize the partition to %.3f-%.3fMb. The closest Parted " #~ "can manage is %.3f-%.3fMb." #~ msgstr "" #~ "Has demanat redimensionar una partició a %.3f-%.3fMb. El més proper que " #~ "Parted pot manegar és %.3f-%.3fMb." #~ msgid "" #~ "print [MINOR] display the partition table, or a partition" #~ msgstr "" #~ "print[MINOR] mostra la taula de particions; o una " #~ "partició" #~ msgid "resize MINOR START END resize filesystem on partition MINOR" #~ msgstr "" #~ "resize MINOR INICI FI redimensiona el sistema de fitxers a la " #~ "partició MINOR" #~ msgid "" #~ "You found a bug in GNU Parted. Please email a bug report to bug-" #~ "parted@gnu.org containing the version (%s), and the following message:\n" #~ msgstr "" #~ "Has trobat un bug a GNU Parted. Si-us-plau, envia-ns un e-mail amb un " #~ "informe a bug-parted@gnu.org que inclogui la versió (%s), i el següent " #~ "missatge:\n" #~ msgid "" #~ " You have Windows FAT partition(s) that are not using LBA. If your BIOS " #~ "supports LBA, then you should switch to LBA by setting the LBA flag on " #~ "all FAT partitions. Otherwise, make sure the operating system and the " #~ "BIOS have the same geometry before resizing any FAT partitions." #~ msgstr "" #~ " Tens particion(s) Windows FAT que no fan servir LBA. Si la teva BIOS " #~ "suporta LBA, llavors hauries d'activar el flag LBA a totes les particions " #~ "FAT. D'altra manera, assegura't que el sistema operatiu i la BIOS tenen " #~ "la mateixa geometria abans de canviar de mida qualservol partició FAT." #~ msgid "" #~ "The operating system thinks the geometry on %s is %d/%d/%d. Therefore, " #~ "cylinder 1024 ends at %.3fM.%s" #~ msgstr "" #~ "El sistema operatiu creu que la geometria a %s és %d/%d/%d. El cilindre " #~ "1024 acaba a %.3fM.%s" #~ msgid "The operating system thinks the geometry on %s is %d/%d/%d.%s" #~ msgstr "El sistema operatiu creu que la geometria a %s és %d/%d/%d.%s" parted-2.3/po/rw.po0000644000000000000000000026434111400005705011134 00000000000000# Kinyarwanda translations for parted package. # Copyright (C) 2005 Free Software Foundation, Inc. # Steve Murphy , 2005. # Steve performed initial rough translation from compendium built from translations provided by the following translators: # Philibert Ndandali , 2005. # Viateur MUGENZI , 2005. # Noëlla Mupole , 2005. # Carole Karema , 2005. # JEAN BAPTISTE NGENDAHAYO , 2005. # Augustin KIBERWA , 2005. # Donatien NSENGIYUMVA , 2005. # Antoine Bigirimana , 2005. # msgid "" msgstr "" "Project-Id-Version: parted 1.6.6\n" "Report-Msgid-Bugs-To: bug-parted@gnu.org\n" "POT-Creation-Date: 2010-05-28 20:30+0200\n" "PO-Revision-Date: 2005-04-04 10:55-0700\n" "Last-Translator: Steven Michael Murphy \n" "Language-Team: Kinyarwanda \n" "Language: rw\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: lib/argmatch.c:133 #, fuzzy, c-format msgid "invalid argument %s for %s" msgstr "Kuri Gufungura" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "" #: lib/argmatch.c:153 #, fuzzy, c-format msgid "Valid arguments are:" msgstr "Kuri Gufungura" #: lib/closeout.c:112 libparted/labels/fdasd.c:107 msgid "write error" msgstr "" #: lib/error.c:181 #, fuzzy msgid "Unknown system error" msgstr "IDOSIYE Sisitemu Ubwoko" #: lib/getopt.c:527 lib/getopt.c:543 #, c-format msgid "%s: option '%s' is ambiguous\n" msgstr "" #: lib/getopt.c:576 lib/getopt.c:580 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:589 lib/getopt.c:594 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:637 lib/getopt.c:656 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "" #: lib/getopt.c:694 lib/getopt.c:697 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "Kuri Gufungura Akarango" #: lib/getopt.c:705 lib/getopt.c:708 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "Kuri Gufungura Akarango" #: lib/getopt.c:757 lib/getopt.c:760 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "" #: lib/getopt.c:810 lib/getopt.c:827 lib/getopt.c:1035 lib/getopt.c:1053 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "" #: lib/getopt.c:883 lib/getopt.c:899 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "" #: lib/getopt.c:923 lib/getopt.c:941 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:962 lib/getopt.c:980 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". If the catalog has no translation, #. locale_quoting_style quotes `like this', and #. clocale_quoting_style quotes "like this". #. #. For example, an American English Unicode locale should #. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and #. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION #. MARK). A British English Unicode locale should instead #. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) #. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. #. #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. #: lib/quotearg.c:272 msgid "`" msgstr "" #: lib/quotearg.c:273 msgid "'" msgstr "" #: lib/regcomp.c:134 msgid "Success" msgstr "" #: lib/regcomp.c:137 msgid "No match" msgstr "" #: lib/regcomp.c:140 msgid "Invalid regular expression" msgstr "" #: lib/regcomp.c:143 msgid "Invalid collation character" msgstr "" #: lib/regcomp.c:146 msgid "Invalid character class name" msgstr "" #: lib/regcomp.c:149 msgid "Trailing backslash" msgstr "" #: lib/regcomp.c:152 msgid "Invalid back reference" msgstr "" #: lib/regcomp.c:155 msgid "Unmatched [ or [^" msgstr "" #: lib/regcomp.c:158 msgid "Unmatched ( or \\(" msgstr "" #: lib/regcomp.c:161 msgid "Unmatched \\{" msgstr "" #: lib/regcomp.c:164 msgid "Invalid content of \\{\\}" msgstr "" #: lib/regcomp.c:167 msgid "Invalid range end" msgstr "" #: lib/regcomp.c:170 msgid "Memory exhausted" msgstr "" #: lib/regcomp.c:173 msgid "Invalid preceding regular expression" msgstr "" #: lib/regcomp.c:176 msgid "Premature end of regular expression" msgstr "" #: lib/regcomp.c:179 msgid "Regular expression too big" msgstr "" #: lib/regcomp.c:182 msgid "Unmatched ) or \\)" msgstr "" #: lib/regcomp.c:703 msgid "No previous regular expression" msgstr "" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "" #: lib/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "" #: lib/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "" #: lib/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" #: lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "" #: lib/xstrtol-error.c:63 #, fuzzy, c-format msgid "invalid %s%s argument `%s'" msgstr "Kuri Gufungura" #: lib/xstrtol-error.c:68 #, fuzzy, c-format msgid "invalid suffix in %s%s argument `%s'" msgstr "Kuri Gufungura" #: lib/xstrtol-error.c:72 #, fuzzy, c-format msgid "%s%s argument `%s' too large" msgstr "Kuri Gufungura" #: libparted/arch/beos.c:245 msgid "Disk Image" msgstr "" #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277 #: libparted/arch/linux.c:1519 #, fuzzy, c-format msgid "Error opening %s: %s" msgstr "Hari ikibazo mu gufungura %s%S" #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287 #: libparted/arch/linux.c:1530 #, fuzzy, c-format msgid "Unable to open %s read-write (%s). %s has been opened read-only." msgstr "Kuri Gufungura Gusoma Kwandika Gusoma" #: libparted/arch/beos.c:419 libparted/arch/linux.c:1688 #, fuzzy, c-format msgid "%s during seek for read on %s" msgstr "%skugirango Gusoma ku" #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564 #: libparted/arch/gnu.c:692 libparted/arch/linux.c:1648 #: libparted/arch/linux.c:1729 #, fuzzy, c-format msgid "%s during read on %s" msgstr "%sGusoma ku" #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525 #: libparted/arch/linux.c:1805 #, fuzzy, c-format msgid "Can't write to %s, because it is opened read-only." msgstr "Kwandika Kuri ni Gusoma" #: libparted/arch/beos.c:504 libparted/arch/linux.c:1830 #, fuzzy, c-format msgid "%s during seek for write on %s" msgstr "%skugirango Kwandika ku" #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646 #: libparted/arch/gnu.c:723 libparted/arch/linux.c:1778 #: libparted/arch/linux.c:1872 libparted/arch/linux.c:1944 #, fuzzy, c-format msgid "%s during write on %s" msgstr "%sKwandika ku" #: debug/clearfat/clearfat.c:62 partprobe/partprobe.c:137 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "" #: debug/clearfat/clearfat.c:66 #, c-format msgid "" "Usage: %s [OPTION]\n" " or: %s DEVICE MINOR\n" msgstr "" #: debug/clearfat/clearfat.c:69 msgid "" "Clear unused space on a FAT partition (a GNU Parted testing tool).\n" "\n" msgstr "" #: debug/clearfat/clearfat.c:73 msgid " --help display this help and exit\n" msgstr "" #: debug/clearfat/clearfat.c:74 msgid " --version output version information and exit\n" msgstr "" #: debug/clearfat/clearfat.c:76 partprobe/partprobe.c:154 #, c-format msgid "" "\n" "Report bugs to <%s>.\n" msgstr "" #: debug/clearfat/clearfat.c:284 #, c-format msgid "too few arguments" msgstr "" #: debug/clearfat/clearfat.c:289 #, fuzzy, c-format msgid "too many arguments" msgstr "Amapaji" #: debug/clearfat/clearfat.c:297 #, fuzzy, c-format msgid "invalid minor device number: %s" msgstr "Kuri Gufungura" #: partprobe/partprobe.c:141 #, c-format msgid "Usage: %s [OPTION] [DEVICE]...\n" msgstr "" #: partprobe/partprobe.c:142 msgid "" "Inform the operating system about partition table changes.\n" "\n" " -d, --dry-run do not actually inform the operating system\n" " -s, --summary print a summary of contents\n" " -h, --help display this help and exit\n" " -v, --version output version information and exit\n" msgstr "" #: partprobe/partprobe.c:150 msgid "" "\n" "When no DEVICE is given, probe all partitions.\n" msgstr "" #: libparted/arch/gnu.c:110 #, fuzzy, c-format msgid "Unable to open %s." msgstr "Kuri Gufungura" #: libparted/arch/gnu.c:130 #, fuzzy msgid "Unable to probe store." msgstr "Kuri" #: libparted/arch/gnu.c:368 #, fuzzy msgid "" "The partition table cannot be re-read. This means you need to reboot before " "mounting any modified partitions. You also need to reinstall your boot " "loader before you reboot (which may require mounting modified partitions). " "It is impossible do both things! So you'll need to boot off a rescue disk, " "and reinstall your boot loader from the rescue disk. Read section 4 of the " "Parted User documentation for more information." msgstr "" "imbonerahamwe# Kuri Nka Kuri Mbere Byahinduwe Kuri Mbere Gicurasi Byahinduwe " "ni Byombi Kuri Bidakora a Na Bivuye i Icyiciro 4. Bya i kugirango Birenzeho " "Ibisobanuro" #: libparted/arch/gnu.c:385 #, fuzzy, c-format msgid "" "The partition table on %s cannot be re-read (%s). This means the Hurd knows " "nothing about any modifications you made. You should reboot your computer " "before doing anything with %s." msgstr "imbonerahamwe# ku i Ibyerekeye Mbere Na:" #: libparted/arch/gnu.c:396 parted/parted.c:2719 #, fuzzy msgid "" "You should reinstall your boot loader before rebooting. Read section 4 of " "the Parted User documentation for more information." msgstr "Mbere Icyiciro 4. Bya i kugirango Birenzeho Ibisobanuro" #: libparted/arch/gnu.c:788 #, fuzzy, c-format msgid "%s trying to sync %s to disk" msgstr "%sKuri Kuri" #: libparted/arch/linux.c:509 #, fuzzy, c-format msgid "Could not stat device %s - %s." msgstr "OYA APAREYE" #: libparted/arch/linux.c:566 #, fuzzy, c-format msgid "Unable to determine the dm type of %s." msgstr "Kuri i Ingano Bya" #: libparted/arch/linux.c:658 #, c-format msgid "" "Could not determine sector size for %s: %s.\n" "Using the default sector size (%lld)." msgstr "" #: libparted/arch/linux.c:679 #, c-format msgid "" "Could not determine physical sector size for %s.\n" "Using the logical sector size (%lld)." msgstr "" #: libparted/arch/linux.c:728 #, fuzzy, c-format msgid "Unable to determine the size of %s (%s)." msgstr "Kuri i Ingano Bya" #: libparted/arch/linux.c:814 #, fuzzy, c-format msgid "Could not get identity of device %s - %s" msgstr "OYA Kubona Ikiranga Bya APAREYE" #: libparted/arch/linux.c:823 msgid "Generic IDE" msgstr "" #: libparted/arch/linux.c:844 #, c-format msgid "" "Device %s has multiple (%d) logical sectors per physical sector.\n" "GNU Parted supports this EXPERIMENTALLY for some special disk label/file " "system combinations, e.g. GPT and ext2/3.\n" "Please consult the web site for up-to-date information." msgstr "" #: libparted/arch/linux.c:1019 #, fuzzy, c-format msgid "Error initialising SCSI device %s - %s" msgstr "APAREYE" #: libparted/arch/linux.c:1083 #, fuzzy, c-format msgid "" "The device %s has zero length, and can't possibly store a file system or " "partition table. Perhaps you selected the wrong device?" msgstr "" "APAREYE ni Zeru Uburebure Na a IDOSIYE Sisitemu Cyangwa imbonerahamwe# " "Byahiswemo i APAREYE" #: libparted/arch/linux.c:1190 #, fuzzy, c-format msgid "" "Unable to determine geometry of file/device %s. You should not use Parted " "unless you REALLY know what you're doing!" msgstr "Kuri Iyigamashusho Bya IDOSIYE APAREYE OYA Gukoresha" #: libparted/arch/linux.c:1250 msgid "Generic SD/MMC Storage Card" msgstr "" #: libparted/arch/linux.c:1303 msgid "DAC960 RAID controller" msgstr "" #: libparted/arch/linux.c:1308 msgid "Promise SX8 SATA Device" msgstr "" #: libparted/arch/linux.c:1313 msgid "ATA over Ethernet Device" msgstr "" #: libparted/arch/linux.c:1319 msgid "IBM S390 DASD drive" msgstr "" #: libparted/arch/linux.c:1325 msgid "IBM iSeries Virtual DASD" msgstr "" #: libparted/arch/linux.c:1330 msgid "Compaq Smart Array" msgstr "" #: libparted/arch/linux.c:1335 msgid "ATARAID Controller" msgstr "" #: libparted/arch/linux.c:1340 msgid "I2O Controller" msgstr "" #: libparted/arch/linux.c:1345 msgid "User-Mode Linux UBD" msgstr "" #: libparted/arch/linux.c:1358 #, c-format msgid "Linux device-mapper (%s)" msgstr "" #: libparted/arch/linux.c:1369 msgid "Xen Virtual Block Device" msgstr "" # filter/source\xsltdialog\xmlfilterdialogstrings.src:STR_UNKNOWN_APPLICATION.text #: libparted/arch/linux.c:1374 msgid "Unknown" msgstr "Kitazwi" #: libparted/arch/linux.c:1383 msgid "Virtio Block Device" msgstr "" #: libparted/arch/linux.c:1388 msgid "Linux Software RAID Array" msgstr "" #: libparted/arch/linux.c:1395 #, fuzzy msgid "ped_device_new() Unsupported device type" msgstr "APAREYE Ubwoko" #: libparted/arch/linux.c:1492 libparted/arch/linux.c:1564 #, fuzzy, c-format msgid "Error fsyncing/closing %s: %s" msgstr "Hari ikibazo mu gufungura %s%S" #: libparted/arch/linux.c:1728 #, c-format msgid "end of file while reading %s" msgstr "" #: libparted/arch/linux.c:2365 #, fuzzy, c-format msgid "" "Error informing the kernel about modifications to partition %s -- %s. This " "means Linux won't know about any changes you made to %s until you reboot -- " "so you shouldn't mount it or use it in any way before rebooting." msgstr "" "i Ibyerekeye Kuri Ibyerekeye Amahinduka Kuri Cyangwa Gukoresha in Mbere" #: libparted/arch/linux.c:2503 #, fuzzy, c-format msgid "Unable to determine the size and length of %s." msgstr "Kuri i Ingano Bya" #: libparted/arch/linux.c:2528 #, c-format msgid "Failed to add partition %d (%s)" msgstr "" #: libparted/arch/linux.c:2555 #, c-format msgid "" "Partition(s) %s on %s have been written, but we have been unable to inform " "the kernel of the change, probably because it/they are in use. As a result, " "the old partition(s) will remain in use. You should reboot now before " "making further changes." msgstr "" #: libparted/arch/linux.c:2681 #, fuzzy, c-format msgid "" "parted was unable to re-read the partition table on %s (%s). This means " "Linux won't know anything about the modifications you made. " msgstr "Kuri Gusoma i imbonerahamwe# ku Ibyerekeye i Mbere Na:" #: libparted/cs/geom.c:162 #, fuzzy, c-format msgid "Can't have the end before the start! (start sector=%jd length=%jd)" msgstr "i Impera Mbere i Gutangira" #: libparted/cs/geom.c:170 #, fuzzy msgid "Can't have a partition outside the disk!" msgstr "a Hanze i" #: libparted/cs/geom.c:385 #, fuzzy, c-format msgid "Attempt to write sectors %ld-%ld outside of partition on %s." msgstr "Kuri Kwandika Hanze Bya ku" #: libparted/cs/geom.c:425 libparted/fs/linux_swap/linux_swap.c:488 #, fuzzy msgid "checking for bad blocks" msgstr "kugirango" #: libparted/debug.c:97 #, c-format msgid "Backtrace has %d calls on stack:\n" msgstr "" #: libparted/debug.c:110 #, c-format msgid "Assertion (%s) at %s:%d in function %s() failed." msgstr "" #: libparted/disk.c:193 #, fuzzy, c-format msgid "%s: unrecognised disk label" msgstr "Kuri Gufungura Akarango" #: libparted/disk.c:486 #, fuzzy, c-format msgid "" "This libparted doesn't have write support for %s. Perhaps it was compiled " "read-only." msgstr "Kwandika Gushigikira kugirango Gusoma" #: libparted/disk.c:631 #, fuzzy, c-format msgid "Partition %d is %s, but the file system is %s." msgstr "ni i IDOSIYE Sisitemu ni" #: libparted/disk.c:841 msgid "cylinder_alignment" msgstr "" #: libparted/disk.c:847 #, fuzzy, c-format msgid "Unknown disk flag, %d." msgstr "Ibendera Ibendera" #: libparted/disk.c:1286 #, fuzzy, c-format msgid "%s disk labels do not support extended partitions." msgstr "%sUturango... OYA Gushigikira Byongerewe..." #: libparted/disk.c:1865 #, fuzzy, c-format msgid "%s disk labels don't support logical or extended partitions." msgstr "" "%sUturango... Gushigikira Bijyanye n'inyurabwenge Cyangwa Byongerewe..." #: libparted/disk.c:1878 #, fuzzy msgid "Too many primary partitions." msgstr "Amapaji" #: libparted/disk.c:1887 #, fuzzy, c-format msgid "" "Can't add a logical partition to %s, because there is no extended partition." msgstr "Kongeramo a Bijyanye n'inyurabwenge Kuri ni Oya Byongerewe..." #: libparted/disk.c:1911 #, fuzzy, c-format msgid "Can't have more than one extended partition on %s." msgstr "Birenzeho Byongerewe... ku" #: libparted/disk.c:1921 #, fuzzy msgid "Can't have logical partitions outside of the extended partition." msgstr "Bijyanye n'inyurabwenge Hanze Bya i Byongerewe..." #: libparted/disk.c:1946 #, fuzzy, c-format msgid "Can't have a logical partition outside of the extended partition on %s." msgstr "a Bijyanye n'inyurabwenge Hanze Bya i Byongerewe... ku" #: libparted/disk.c:1956 libparted/disk.c:2015 libparted/disk.c:2193 #, fuzzy msgid "Can't have overlapping partitions." msgstr "iyorosa" #: libparted/disk.c:1964 #, fuzzy msgid "Can't have a primary partition inside an extended partition." msgstr "a Mo Imbere Byongerewe..." #: libparted/disk.c:2395 msgid "metadata" msgstr "" # svx/source\dialog\labdlg.src:RID_SVXPAGE_CAPTION.LB_WINKEL.1.text #: libparted/disk.c:2397 #, fuzzy msgid "free" msgstr "Kigenga" # 2175 #: libparted/disk.c:2399 parted/ui.c:1193 parted/ui.c:1221 #, fuzzy msgid "extended" msgstr "cya/ byagutse" # #-#-#-#-# sc.pot (PACKAGE VERSION) #-#-#-#-# # sc/source\ui\formdlg\dwfunctr.src:FID_FUNCTION_BOX.CB_CAT.7.text # #-#-#-#-# sc.pot (PACKAGE VERSION) #-#-#-#-# # sc/source\ui\formdlg\formdlgs.src:RID_SCTAB_FUNCTION.LB_CATEGORY.7.text #: libparted/disk.c:2401 parted/ui.c:1197 parted/ui.c:1225 #, fuzzy msgid "logical" msgstr "Bijyanye n'inyurabwenge" #: libparted/disk.c:2403 parted/ui.c:1189 parted/ui.c:1217 msgid "primary" msgstr "" #: libparted/disk.c:2419 msgid "boot" msgstr "" #: libparted/disk.c:2421 msgid "bios_grub" msgstr "" # 5214 #: libparted/disk.c:2423 #, fuzzy msgid "root" msgstr "Imizi" #: libparted/disk.c:2425 msgid "swap" msgstr "" # sc/source\ui\navipi\navipi.src:RID_SCDLG_NAVIGATOR.STR_HIDDEN.text #: libparted/disk.c:2427 msgid "hidden" msgstr "gihishwe" #: libparted/disk.c:2429 msgid "raid" msgstr "" #: libparted/disk.c:2431 msgid "lvm" msgstr "" #: libparted/disk.c:2433 msgid "lba" msgstr "" #: libparted/disk.c:2435 #, fuzzy msgid "hp-service" msgstr "Serivisi" #: libparted/disk.c:2437 msgid "palo" msgstr "" #: libparted/disk.c:2439 msgid "prep" msgstr "" #: libparted/disk.c:2441 msgid "msftres" msgstr "" #: libparted/disk.c:2443 msgid "atvrecv" msgstr "" #: libparted/disk.c:2445 msgid "diag" msgstr "" #: libparted/disk.c:2451 #, fuzzy, c-format msgid "Unknown partition flag, %d." msgstr "Ibendera Ibendera" #: libparted/exception.c:77 msgid "Information" msgstr "Ibisobanuro" #: libparted/exception.c:78 msgid "Warning" msgstr "Iburira" #: libparted/exception.c:79 msgid "Error" msgstr "Ikosa" #: libparted/exception.c:80 msgid "Fatal" msgstr "" #: libparted/exception.c:81 msgid "Bug" msgstr "" #: libparted/exception.c:82 msgid "No Implementation" msgstr "" #: libparted/exception.c:86 msgid "Fix" msgstr "" #: libparted/exception.c:87 msgid "Yes" msgstr "Yego" #: libparted/exception.c:88 msgid "No" msgstr "Oya" #: libparted/exception.c:89 msgid "OK" msgstr "OKE" #: libparted/exception.c:90 msgid "Retry" msgstr "Ongera ugerageze" #: libparted/exception.c:91 msgid "Ignore" msgstr "Kureka" #: libparted/exception.c:92 msgid "Cancel" msgstr "Kureka" #: libparted/exception.c:132 #, fuzzy, c-format msgid "" "A bug has been detected in GNU Parted. Refer to the web site of parted " "http://www.gnu.org/software/parted/parted.html for more information of what " "could be useful for bug submitting! Please email a bug report to bug-" "parted@gnu.org containing at least the version (%s) and the following " "message: " msgstr "A in imeli a Icyegeranyo Kuri org i Verisiyo Na i Ubutumwa" #: libparted/filesys.c:462 #, fuzzy msgid "Could not detect file system." msgstr "OYA IDOSIYE Sisitemu" #: libparted/filesys.c:473 #, fuzzy msgid "The file system is bigger than its volume!" msgstr "IDOSIYE Sisitemu ni Igice" #: libparted/filesys.c:481 #, fuzzy, c-format msgid "Support for opening %s file systems is not implemented yet." msgstr "kugirango Gufungura %s%S IDOSIYE ni OYA" #: libparted/filesys.c:523 #, fuzzy, c-format msgid "Support for creating %s file systems is not implemented yet." msgstr "kugirango IDOSIYE ni OYA" #: libparted/filesys.c:583 #, fuzzy, c-format msgid "Support for checking %s file systems is not implemented yet." msgstr "kugirango IDOSIYE ni OYA" #: libparted/filesys.c:649 #, fuzzy msgid "raw block copying" msgstr "Funga" #: libparted/filesys.c:660 #, fuzzy msgid "growing file system" msgstr "IDOSIYE Sisitemu" #: libparted/filesys.c:700 #, fuzzy msgid "Can't copy onto an overlapping partition." msgstr "Gukoporora iyorosa" #: libparted/filesys.c:722 #, fuzzy, c-format msgid "" "Direct support for copying file systems is not yet implemented for %s. " "However, support for resizing is implemented. Therefore, the file system " "can be copied if the new partition is at least as big as the old one. So, " "either shrink the partition you are trying to copy, or copy to a bigger " "partition." msgstr "" "Gushigikira kugirango IDOSIYE ni OYA kugirango Gushigikira kugirango i " "IDOSIYE Sisitemu NIBA i Gishya ni ku Nka Nka i ki/ bishaje Kugabanuka i Kuri " "Gukoporora Cyangwa Gukoporora Kuri a" #: libparted/filesys.c:736 #, fuzzy, c-format msgid "Support for copying %s file systems is not implemented yet." msgstr "kugirango IDOSIYE ni OYA" #: libparted/filesys.c:774 #, fuzzy, c-format msgid "Support for resizing %s file systems is not implemented yet." msgstr "kugirango IDOSIYE ni OYA" #: libparted/fs/reiserfs/reiserfs.c:315 msgid "creating" msgstr "" #: libparted/fs/reiserfs/reiserfs.c:402 #, fuzzy msgid "The file system is in an invalid state. Perhaps it is mounted?" msgstr "Idosiye Sisitemu Sibyo Isinya kugirango a IDOSIYE Sisitemu" #: libparted/fs/reiserfs/reiserfs.c:410 msgid "The file system is in old (unresizeable) format." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:416 msgid "Invalid free blocks count. Run reiserfsck --check first." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:431 #, fuzzy msgid "checking" msgstr "genzura" #: libparted/fs/reiserfs/reiserfs.c:437 msgid "Reiserfs tree seems to be corrupted. Run reiserfsck --check first." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:449 #, fuzzy msgid "" "The reiserfs file system passed a basic check. For a more comprehensive " "check, run reiserfsck --check." msgstr "a BASIC Kugenzura... a Birenzeho Kugenzura... Gukoresha i Porogaramu" #: libparted/fs/reiserfs/reiserfs.c:474 #, fuzzy msgid "Sorry, can't move the start of reiserfs partitions yet." msgstr "Kwimura i Gutangira Bya" #: libparted/fs/reiserfs/reiserfs.c:490 msgid "Couldn't reopen device abstraction layer for read/write." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:508 libparted/fs/ext2/ext2_resize.c:552 #: libparted/fs/hfs/hfs.c:250 libparted/fs/hfs/hfs.c:629 msgid "shrinking" msgstr "" #: libparted/fs/reiserfs/reiserfs.c:520 #, fuzzy msgid "expanding" msgstr "Iburira" #: libparted/fs/reiserfs/reiserfs.c:592 msgid "Couldn't create reiserfs device abstraction handler." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:606 #, fuzzy, c-format msgid "Device is too small for %lu blocks." msgstr "Idosiye Sisitemu Gitoya kugirango" #: libparted/fs/reiserfs/reiserfs.c:615 msgid "copying" msgstr "" #: libparted/fs/reiserfs/reiserfs.c:682 #, c-format msgid "Couldn't resolve symbol %s. Error: %s." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:704 msgid "GNU Parted found an invalid libreiserfs library." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:715 #, c-format msgid "" "GNU Parted has detected libreiserfs interface version mismatch. Found %d-" "%d, required %d. ReiserFS support will be disabled." msgstr "" #: libparted/labels/aix.c:103 #, fuzzy msgid "Support for reading AIX disk labels is is not implemented yet." msgstr "kugirango IDOSIYE ni OYA" #: libparted/labels/aix.c:114 #, fuzzy msgid "Support for writing AIX disk labels is is not implemented yet." msgstr "kugirango IDOSIYE ni OYA" #: libparted/labels/aix.c:127 #, fuzzy msgid "" "Support for adding partitions to AIX disk labels is not implemented yet." msgstr "kugirango IDOSIYE ni OYA" #: libparted/labels/aix.c:137 #, fuzzy msgid "" "Support for duplicating partitions in AIX disk labels is not implemented yet." msgstr "kugirango IDOSIYE ni OYA" #: libparted/labels/aix.c:155 #, fuzzy msgid "" "Support for setting system type of partitions in AIX disk labels is not " "implemented yet." msgstr "kugirango IDOSIYE ni OYA" #: libparted/labels/aix.c:165 #, fuzzy msgid "Support for setting flags in AIX disk labels is not implemented yet." msgstr "kugirango IDOSIYE ni OYA" #: libparted/labels/bsd.c:568 libparted/labels/dasd.c:783 #: libparted/labels/dos.c:2092 libparted/labels/dvh.c:788 #: libparted/labels/gpt.c:1750 libparted/labels/loop.c:245 #: libparted/labels/mac.c:1424 libparted/labels/pc98.c:749 #: libparted/labels/rdb.c:1051 libparted/labels/sun.c:821 #, fuzzy msgid "Unable to satisfy all constraints on the partition." msgstr "Kuri Byose ku i" #: libparted/labels/bsd.c:593 #, fuzzy msgid "Unable to allocate a bsd disklabel slot." msgstr "Kuri a" #: libparted/labels/dasd.c:809 #, fuzzy msgid "Unable to allocate a dasd disklabel slot" msgstr "Kuri a" #: libparted/labels/dos.c:882 #, fuzzy, c-format msgid "Invalid partition table on %s -- wrong signature %x." msgstr "imbonerahamwe# ku Isinya" #: libparted/labels/dos.c:910 #, fuzzy, c-format msgid "Invalid partition table - recursive partition on %s." msgstr "imbonerahamwe# ku" #: libparted/labels/dos.c:1420 msgid "Extended partitions cannot be hidden on msdos disk labels." msgstr "" #: libparted/labels/dos.c:2074 msgid "Parted can't resize partitions managed by Windows Dynamic Disk." msgstr "" #: libparted/labels/dvh.c:201 #, fuzzy, c-format msgid "%s has no extended partition (volume header partition)." msgstr "%sOya Byongerewe... Igice Umutwempangano Kwirengagiza Hanyuma Cyasibwe" #: libparted/labels/dvh.c:327 #, fuzzy msgid "Checksum is wrong, indicating the partition table is corrupt." msgstr "ni i imbonerahamwe# ni" #: libparted/labels/dvh.c:632 #, fuzzy msgid "Only primary partitions can be root partitions." msgstr "Imizi" #: libparted/labels/dvh.c:646 msgid "Only primary partitions can be swap partitions." msgstr "" #: libparted/labels/dvh.c:660 #, fuzzy msgid "Only logical partitions can be a boot file." msgstr "Bijyanye n'inyurabwenge a IDOSIYE" #: libparted/labels/dvh.c:737 #, fuzzy, c-format msgid "" "failed to set dvh partition name to %s:\n" "Only logical partitions (boot files) have a name." msgstr "Bijyanye n'inyurabwenge Idosiye a Izina:" #: libparted/labels/dvh.c:830 msgid "Too many primary partitions" msgstr "" #: libparted/labels/fdasd.c:98 msgid "open error" msgstr "" #: libparted/labels/fdasd.c:101 msgid "seek error" msgstr "" #: libparted/labels/fdasd.c:104 msgid "read error" msgstr "" #: libparted/labels/fdasd.c:110 msgid "ioctl() error" msgstr "" #: libparted/labels/fdasd.c:114 msgid "API version mismatch" msgstr "" #: libparted/labels/fdasd.c:118 #, fuzzy msgid "Unsupported disk type" msgstr "APAREYE Ubwoko" #: libparted/labels/fdasd.c:122 msgid "Unsupported disk format" msgstr "" #: libparted/labels/fdasd.c:126 msgid "Disk is in use" msgstr "" #: libparted/labels/fdasd.c:130 msgid "Syntax error in config file" msgstr "" #: libparted/labels/fdasd.c:134 msgid "Volume label is corrupted" msgstr "" #: libparted/labels/fdasd.c:138 msgid "A data set name is corrupted" msgstr "" #: libparted/labels/fdasd.c:142 msgid "Memory allocation failed" msgstr "" #: libparted/labels/fdasd.c:146 msgid "Device verification failed" msgstr "" #: libparted/labels/fdasd.c:147 msgid "The specified device is not a valid DASD device" msgstr "" #: libparted/labels/fdasd.c:150 libparted/labels/vtoc.c:179 msgid "Fatal error" msgstr "" #: libparted/labels/fdasd.c:226 msgid "No room for volume label." msgstr "" #: libparted/labels/fdasd.c:234 #, fuzzy msgid "No room for partition info." msgstr "Byemewe Byabonetse" #: libparted/labels/fdasd.c:704 msgid "Invalid VTOC." msgstr "" #: libparted/labels/fdasd.c:764 msgid "Could not retrieve API version." msgstr "" #: libparted/labels/fdasd.c:767 #, c-format msgid "" "The current API version '%d' doesn't match dasd driver API version '%d'!" msgstr "" #: libparted/labels/fdasd.c:804 #, fuzzy msgid "Could not retrieve disk geometry information." msgstr "OYA Gusoma Iyigamashusho Bya" #: libparted/labels/fdasd.c:808 msgid "Could not retrieve blocksize information." msgstr "" #: libparted/labels/fdasd.c:813 msgid "Could not retrieve disk information." msgstr "" #: libparted/labels/fdasd.c:818 msgid "This is not an ECKD disk! This disk type is not supported!" msgstr "" #: libparted/labels/gpt.c:485 #, fuzzy, c-format msgid "" "%s contains GPT signatures, indicating that it has a GPT table. However, it " "does not have a valid fake msdos partition table, as it should. Perhaps it " "was corrupted -- possibly by a program that doesn't understand GPT partition " "tables. Or perhaps you deleted the GPT table, and are now using an msdos " "partition table. Is this a GPT partition table?" msgstr "" "%sKirimo a imbonerahamwe# OYA a Byemewe imbonerahamwe# Nka ku a Porogaramu " "Imbonerahamwe Cyasibwe i imbonerahamwe# Na NONEAHA ikoresha imbonerahamwe# " "iyi a imbonerahamwe#" #: libparted/labels/gpt.c:680 #, fuzzy, c-format msgid "" "The format of the GPT partition table is version %x, which is newer than " "what Parted can recognise. Please tell us! bug-parted@gnu.org" msgstr "Imiterere Bya i imbonerahamwe# ni Verisiyo ni RW org" #: libparted/labels/gpt.c:727 #, c-format msgid "" "Not all of the space available to %s appears to be used, you can fix the GPT " "to use all of the space (an extra %llu blocks) or continue with the current " "setting? " msgstr "" #: libparted/labels/gpt.c:936 #, fuzzy msgid "" "The backup GPT table is not at the end of the disk, as it should be. This " "might mean that another operating system believes the disk is smaller. Fix, " "by moving the backup to the end (and removing the old backup)?" msgstr "" "Inyibutsa imbonerahamwe# ni OYA ku i Impera Bya i Nka Impuzandengo- Sisitemu " "i ni Gitoya ku i Inyibutsa Kuri i Impera Na i ki/ bishaje Inyibutsa" #: libparted/labels/gpt.c:960 #, fuzzy msgid "" "Both the primary and backup GPT tables are corrupt. Try making a fresh " "table, and using Parted's rescue feature to recover partitions." msgstr "i Na Inyibutsa Imbonerahamwe a imbonerahamwe# Na ikoresha Kuri" #: libparted/labels/gpt.c:971 #, fuzzy msgid "" "The backup GPT table is corrupt, but the primary appears OK, so that will be " "used." msgstr "imbonerahamwe# ni i Inyibutsa YEGO" #: libparted/labels/gpt.c:983 #, fuzzy msgid "" "The primary GPT table is corrupt, but the backup appears OK, so that will be " "used." msgstr "imbonerahamwe# ni i Inyibutsa YEGO" #: libparted/labels/gpt.c:1007 msgid "primary partition table array CRC mismatch" msgstr "" #: libparted/labels/mac.c:185 #, fuzzy, c-format msgid "Invalid signature %x for Mac disk labels." msgstr "Isinya kugirango Uturango..." #: libparted/labels/mac.c:232 #, fuzzy msgid "Partition map has no partition map entry!" msgstr "Oya Icyinjijwe" #: libparted/labels/mac.c:280 #, fuzzy, c-format msgid "%s is too small for a Mac disk label!" msgstr "%sni Gitoya kugirango a Akarango" #: libparted/labels/mac.c:509 #, fuzzy, c-format msgid "Partition %d has an invalid signature %x." msgstr "Sibyo Isinya" #: libparted/labels/mac.c:527 #, fuzzy, c-format msgid "Partition %d has an invalid length of 0 bytes!" msgstr "Sibyo Uburebure Bya 0 Bayite" #: libparted/labels/mac.c:558 #, fuzzy msgid "The data region doesn't start at the start of the partition." msgstr "Ibyatanzwe Gutangira ku i Gutangira Bya i" #: libparted/labels/mac.c:575 #, fuzzy msgid "The boot region doesn't start at the start of the partition." msgstr "Gutangira ku i Gutangira Bya i" #: libparted/labels/mac.c:589 #, fuzzy msgid "The partition's boot region doesn't occupy the entire partition." msgstr "i" #: libparted/labels/mac.c:600 #, fuzzy msgid "The partition's data region doesn't occupy the entire partition." msgstr "Ibyatanzwe i" #: libparted/labels/mac.c:653 #, fuzzy, c-format msgid "" "Weird block size on device descriptor: %d bytes is not divisible by 512." msgstr "Funga Ingano ku APAREYE Bayite ni OYA ku" #: libparted/labels/mac.c:666 #, fuzzy, c-format msgid "" "The driver descriptor says the physical block size is %d bytes, but Linux " "says it is %d bytes." msgstr "Musomyi: i Ifatika Funga Ingano ni Bayite ni Bayite" #: libparted/labels/mac.c:720 #, fuzzy msgid "No valid partition map found." msgstr "Byemewe Byabonetse" #: libparted/labels/mac.c:782 #, fuzzy, c-format msgid "" "Conflicting partition map entry sizes! Entry 1 says it is %d, but entry %d " "says it is %d!" msgstr "Icyinjijwe 1. Icyinjijwe" #: libparted/labels/mac.c:809 #, fuzzy msgid "Weird! There are 2 partitions map entries!" msgstr "2. Ibyinjijwe" #: libparted/labels/mac.c:1355 #, fuzzy msgid "" "Changing the name of a root or swap partition will prevent Linux from " "recognising it as such." msgstr "i Izina: Bya a Imizi Cyangwa Bivuye Nka" #: libparted/labels/mac.c:1459 #, fuzzy msgid "Can't add another partition -- the partition map is too small!" msgstr "Kongeramo ni Gitoya" #: libparted/labels/pc98.c:331 #, fuzzy, c-format msgid "Invalid partition table on %s." msgstr "imbonerahamwe# ku" #: libparted/labels/pc98.c:384 libparted/labels/pc98.c:462 #, fuzzy, c-format msgid "" "Partition %d isn't aligned to cylinder boundaries. This is still " "unsupported." msgstr "si Kuri Umwiburungushure Kuri Kongeramo Gushigikira kugirango iyi" #: libparted/labels/pc98.c:781 #, fuzzy msgid "Can't add another partition." msgstr "Kongeramo" #: libparted/labels/pt-tools.c:125 #, c-format msgid "" "partition length of %jd sectors exceeds the %s-partition-table-imposed " "maximum of %jd" msgstr "" #: libparted/labels/pt-tools.c:138 #, c-format msgid "" "starting sector number, %jd exceeds the %s-partition-table-imposed maximum " "of %jd" msgstr "" #: libparted/labels/rdb.c:170 #, c-format msgid "%s : Bad checksum on block %llu of type %s." msgstr "" #: libparted/labels/rdb.c:486 #, c-format msgid "%s : Didn't find rdb block, should never happen." msgstr "" #: libparted/labels/rdb.c:572 #, c-format msgid "%s : Loop detected at block %d." msgstr "" #: libparted/labels/rdb.c:591 #, c-format msgid "%s : The %s list seems bad at block %s." msgstr "" #: libparted/labels/rdb.c:690 #, c-format msgid "%s : Failed to list bad blocks." msgstr "" #: libparted/labels/rdb.c:698 #, c-format msgid "%s : Failed to list partition blocks." msgstr "" #: libparted/labels/rdb.c:706 #, c-format msgid "%s : Failed to list file system blocks." msgstr "" #: libparted/labels/rdb.c:714 #, c-format msgid "%s : Failed to list boot blocks." msgstr "" #: libparted/labels/rdb.c:741 #, c-format msgid "Failed to write partition block at %d." msgstr "" #: libparted/labels/rdb.c:1079 #, fuzzy msgid "Unable to allocate a partition number." msgstr "a Umubare" #: libparted/labels/sun.c:163 #, fuzzy msgid "Corrupted Sun disk label detected." msgstr "Akarango" #: libparted/labels/sun.c:316 #, fuzzy, c-format msgid "" "The disk CHS geometry (%d,%d,%d) reported by the operating system does not " "match the geometry stored on the disk label (%d,%d,%d)." msgstr "Iyigamashusho OYA BIHUYE i Iyigamashusho ku i Akarango" #: libparted/labels/sun.c:338 #, fuzzy, c-format msgid "The disk label describes a disk bigger than %s." msgstr "Akarango a" #: libparted/labels/sun.c:510 #, c-format msgid "The disk has %d cylinders, which is greater than the maximum of 65536." msgstr "" #: libparted/labels/sun.c:853 #, fuzzy msgid "" "The Whole Disk partition is the only available one left. Generally, it is " "not a good idea to overwrite this partition with a real one. Solaris may " "not be able to boot without it, and SILO (the sparc boot loader) appreciates " "it as well." msgstr "" "ni i Bihari Ibumoso: ni OYA a Kuri Guhindura iyi Na: a Gicurasi OYA Kuri Na " "i Nka" #: libparted/labels/sun.c:868 #, fuzzy msgid "Sun disk label is full." msgstr "Akarango ni" #: libparted/labels/vtoc.c:164 msgid "opening of device failed" msgstr "" #: libparted/labels/vtoc.c:168 msgid "seeking on device failed" msgstr "" #: libparted/labels/vtoc.c:172 msgid "writing to device failed" msgstr "" #: libparted/labels/vtoc.c:176 msgid "reading from device failed" msgstr "" #: libparted/labels/vtoc.c:277 libparted/labels/vtoc.c:284 #, fuzzy msgid "Could not read volume label." msgstr "OYA Gusoma Iyigamashusho Bya" #: libparted/labels/vtoc.c:303 libparted/labels/vtoc.c:308 #, fuzzy msgid "Could not write volume label." msgstr "OYA IDOSIYE Sisitemu" #: libparted/labels/vtoc.c:414 msgid "Could not read VTOC labels." msgstr "" #: libparted/labels/vtoc.c:420 msgid "Could not read VTOC FMT1 DSCB." msgstr "" #: libparted/labels/vtoc.c:427 msgid "Could not read VTOC FMT4 DSCB." msgstr "" #: libparted/labels/vtoc.c:434 msgid "Could not read VTOC FMT5 DSCB." msgstr "" #: libparted/labels/vtoc.c:441 msgid "Could not read VTOC FMT7 DSCB." msgstr "" #: libparted/labels/vtoc.c:461 msgid "Could not write VTOC labels." msgstr "" #: libparted/labels/vtoc.c:467 msgid "Could not write VTOC FMT1 DSCB." msgstr "" #: libparted/labels/vtoc.c:474 msgid "Could not write VTOC FMT4 DSCB." msgstr "" #: libparted/labels/vtoc.c:481 msgid "Could not write VTOC FMT5 DSCB." msgstr "" #: libparted/labels/vtoc.c:488 msgid "Could not write VTOC FMT7 DSCB." msgstr "" #: libparted/libparted.c:237 libparted/libparted.c:252 #, fuzzy msgid "Out of memory." msgstr "Ububiko bwarenzwe" #: libparted/unit.c:138 msgid "Cannot get unit size for special unit 'COMPACT'." msgstr "" #: libparted/unit.c:384 #, c-format msgid "\"%s\" has invalid syntax for locations." msgstr "" #: libparted/unit.c:392 #, c-format msgid "The maximum head value is %d." msgstr "" #: libparted/unit.c:399 #, c-format msgid "The maximum sector value is %d." msgstr "" #: libparted/unit.c:411 libparted/unit.c:543 #, c-format msgid "The location %s is outside of the device %s." msgstr "" #: libparted/unit.c:525 msgid "Invalid number." msgstr "" #: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:56 #: libparted/fs/amiga/asfs.c:70 #, c-format msgid "%s : Failed to allocate partition block\n" msgstr "" #: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:69 #: libparted/fs/amiga/asfs.c:82 #, c-format msgid "%s : Failed to allocate block\n" msgstr "" #: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:74 #, c-format msgid "%s : Couldn't read boot block %llu\n" msgstr "" #: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:85 #: libparted/fs/amiga/asfs.c:88 libparted/fs/amiga/asfs.c:102 #, c-format msgid "%s : Couldn't read root block %llu\n" msgstr "" #: libparted/fs/amiga/amiga.c:72 #, c-format msgid "%s : Failed to allocate id list element\n" msgstr "" #: libparted/fs/amiga/amiga.c:189 #, c-format msgid "%s : Couldn't read block %llu\n" msgstr "" #: libparted/fs/amiga/amiga.c:202 #, c-format msgid "%s : Bad checksum on block %llu of type %s\n" msgstr "" #: libparted/fs/amiga/amiga.c:212 #, fuzzy, c-format msgid "%s : Couldn't write block %d\n" msgstr "%sKwandika ku" #: libparted/fs/amiga/amiga.c:278 #, c-format msgid "%s : Failed to allocate disk_specific rdb block\n" msgstr "" #: libparted/fs/amiga/amiga.c:289 #, c-format msgid "%s : Didn't find rdb block, should never happen\n" msgstr "" #: libparted/fs/amiga/amiga.c:318 #, c-format msgid "%s : Failed to read partition block %llu\n" msgstr "" #: libparted/fs/ext2/ext2.c:87 libparted/fs/ext2/ext2.c:112 #, fuzzy msgid "Inconsistent group descriptors!" msgstr "Itsinda" # officecfg/registry\schema\org\openoffice\Office\Common.xcs:....Save.URL.FileSystem.text #: libparted/fs/ext2/ext2.c:91 libparted/fs/ext2/ext2.c:116 #, fuzzy msgid "File system full!" msgstr "Idosiye ya sisitemu" #: libparted/fs/ext2/ext2.c:686 #, fuzzy msgid "Invalid superblock. Are you sure this is an ext2 file system?" msgstr "iyi ni" #: libparted/fs/ext2/ext2.c:700 libparted/fs/ext2/ext2_resize.c:658 #, fuzzy msgid "File system has errors! You should run e2fsck." msgstr "Amakosa Gukoresha" #: libparted/fs/ext2/ext2.c:711 #, fuzzy msgid "" "File system was not cleanly unmounted! You should run e2fsck. Modifying an " "unclean file system could cause severe corruption." msgstr "OYA" #: libparted/fs/ext2/ext2.c:731 msgid "" "File system has an incompatible feature enabled. Compatible features are " "has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs " "or debugfs to remove features." msgstr "" #: libparted/fs/ext2/ext2.c:745 #, fuzzy msgid "Error allocating buffer cache." msgstr "Ubwihisho" #: libparted/fs/ext2/ext2_inode_relocator.c:114 #, fuzzy msgid "" "Found an inode with a incorrect link count. Better go run e2fsck first!" msgstr "Na: a Ihuza IBARA Gyayo Gukoresha Itangira" #: libparted/fs/ext2/ext2_inode_relocator.c:487 #, fuzzy msgid "Not enough free inodes!" msgstr "Kigenga" #: libparted/fs/ext2/ext2_resize.c:223 #, fuzzy msgid "File system is too full to remove a group!" msgstr "ni Kuri Gukuraho... a Itsinda" #: libparted/fs/ext2/ext2_resize.c:232 #, fuzzy msgid "File system has too many allocated inodes to remove a group!" msgstr "Kuri Gukuraho... a Itsinda" #: libparted/fs/ext2/ext2_resize.c:491 #, fuzzy msgid "adding groups" msgstr "Wongera Amatsinda" #: libparted/fs/ext2/ext2_resize.c:528 #, fuzzy, c-format msgid "Your file system is too full to resize it to %i blocks. Sorry." msgstr "ni Kuri Ihindurangero Kuri" #: libparted/fs/ext2/ext2_resize.c:538 #, fuzzy, c-format msgid "" "Your file system has too many occupied inodes to resize it to %i blocks. " "Sorry." msgstr "Kuri Ihindurangero Kuri" #: libparted/fs/ext2/ext2_resize.c:666 #, fuzzy msgid "File system was not cleanly unmounted! You should run e2fsck." msgstr "OYA" #: libparted/fs/ext2/ext2_resize.c:675 #, fuzzy msgid "" "The file system has the 'dir_index' feature enabled. Parted can only resize " "the file system if it disables this feature. You can enable it later by " "running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'." msgstr "" "IDOSIYE Sisitemu i Bikora Ihindurangero i IDOSIYE Sisitemu NIBA iyi " "Gushoboza ku Na Hanyuma" #: libparted/fs/ext2/ext2_resize.c:691 msgid "" "A resize operation on this file system will use EXPERIMENTAL code\n" "that MAY CORRUPT it (although no one has reported any such damage yet).\n" "You should at least backup your data first, and run 'e2fsck -f' afterwards." msgstr "" #: libparted/fs/ext2/ext2_block_relocator.c:198 #, fuzzy msgid "Cross-linked blocks found! Better go run e2fsck first!" msgstr "Byabonetse Gyayo Gukoresha Itangira" #: libparted/fs/ext2/ext2_block_relocator.c:537 #, fuzzy, c-format msgid "Block %i has no reference? Weird." msgstr "Oya Indango" #: libparted/fs/ext2/ext2_block_relocator.c:738 #, fuzzy, c-format msgid "Block %i shouldn't have been marked (%d, %d)!" msgstr "cy/ byagarajwe" #: libparted/fs/ext2/interface.c:226 #, fuzzy msgid "" "The ext2 file system passed a basic check. For a more comprehensive check, " "use the e2fsck program." msgstr "a BASIC Kugenzura... a Birenzeho Kugenzura... Gukoresha i Porogaramu" #: libparted/fs/ext2/interface.c:243 #, fuzzy msgid "Sorry, can't move the start of ext2 partitions yet!" msgstr "Kwimura i Gutangira Bya" #: libparted/fs/ext2/ext2_buffer.c:82 #, fuzzy msgid "Couldn't flush buffer cache!" msgstr "Ubwihisho" #: libparted/fs/ext2/ext2_mkfs.c:161 #, fuzzy msgid "writing per-group metadata" msgstr "Itsinda" #: libparted/fs/ext2/ext2_mkfs.c:597 #, fuzzy msgid "File system too small for ext2." msgstr "Idosiye Sisitemu Gitoya kugirango" #: libparted/fs/fat/calc.c:135 #, fuzzy, c-format msgid "" "You need %s of free disk space to shrink this partition to this size. " "Currently, only %s is free." msgstr "Bya Kigenga Umwanya Kuri Kugabanuka iyi Kuri iyi Ingano Kigenga" #: libparted/fs/fat/context.c:56 #, fuzzy, c-format msgid "" "Cluster start delta = %d, which is not a multiple of the cluster size %d." msgstr "Gutangira DELTA ni OYA a Igikubo Bya i Ingano" #: libparted/fs/fat/fat.c:310 #, fuzzy, c-format msgid "Partition too big/small for a %s file system." msgstr "Gitoya kugirango a IDOSIYE Sisitemu" #: libparted/fs/fat/fat.c:476 #, fuzzy msgid "" "The FATs don't match. If you don't know what this means, then select " "cancel, run scandisk on the file system, and then come back." msgstr "" "BIHUYE iyi Hanyuma Guhitamo Kureka Gukoresha ku i IDOSIYE Sisitemu Na " "Hanyuma Inyuma" #: libparted/fs/fat/fat.c:516 #, fuzzy msgid "There are no possible configurations for this FAT type." msgstr "Oya Amaboneza kugirango iyi Ubwoko" #: libparted/fs/fat/fat.c:528 #, fuzzy, c-format msgid "" "File system doesn't have expected sizes for Windows to like it. Cluster " "size is %dk (%dk expected); number of clusters is %d (%d expected); size of " "FATs is %d sectors (%d expected)." msgstr "" "Idosiye Sisitemu Ikitezwe: kugirango Kuri nka Ingano ni Ikitezwe: Umubare " "Bya ni Ikitezwe: Ingano Bya ni Ikitezwe:" #: libparted/fs/fat/fat.c:551 #, fuzzy, c-format msgid "" "File system is reporting the free space as %d clusters, not %d clusters." msgstr "Idosiye Sisitemu ni i Kigenga Umwanya Nka OYA" #: libparted/fs/fat/fat.c:876 #, fuzzy msgid "" "GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT " "support will be disabled." msgstr "i Bayite Gushigikira Yahagaritswe" #: libparted/fs/fat/resize.c:158 #, fuzzy msgid "" "There's not enough room in the root directory for all of the files. Either " "cancel, or ignore to lose the files." msgstr "" "OYA in i Imizi bushyinguro kugirango Byose Bya i Idosiye Kureka Cyangwa " "Kwirengagiza Kuri i Idosiye" #: libparted/fs/fat/resize.c:299 #, fuzzy msgid "Error writing to the root directory." msgstr "Kuri i Imizi bushyinguro" #: libparted/fs/fat/resize.c:488 #, fuzzy msgid "If you leave your file system as FAT16, then you will have no problems." msgstr "IDOSIYE Sisitemu Nka Hanyuma Oya" #: libparted/fs/fat/resize.c:491 #, fuzzy msgid "" "If you convert to FAT16, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual)." msgstr "" "GUHINDURA Kuri Na ni ku iyi Hanyuma Kwinjiza porogaramu i Kuri iyi i Bikorwa " "Cyangwa Bikorwa" #: libparted/fs/fat/resize.c:499 #, fuzzy msgid "" "If you leave your file system as FAT32, then you will not introduce any new " "problems." msgstr "IDOSIYE Sisitemu Nka Hanyuma OYA Gishya" #: libparted/fs/fat/resize.c:503 #, fuzzy msgid "" "If you convert to FAT32, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual). Also, " "converting to FAT32 will make the file system unreadable by MS DOS, MS " "Windows 95a, and MS Windows NT." msgstr "" "GUHINDURA Kuri Na ni ku iyi Hanyuma Kwinjiza porogaramu i Kuri iyi i Bikorwa " "Cyangwa Bikorwa Guhindura.... Kuri Ubwoko i IDOSIYE Sisitemu ku Na" # desktop/source\app\ssodlg.src:DLG_SSOLOGIN.text #: libparted/fs/fat/resize.c:517 #, fuzzy, c-format msgid "%s %s %s" msgstr "%s%s%s" #: libparted/fs/fat/resize.c:518 #, fuzzy msgid "Would you like to use FAT32?" msgstr "nka Kuri Gukoresha" # #-#-#-#-# dbaccess.pot (PACKAGE VERSION) #-#-#-#-# # #-#-#-#-# dbaccess.pot (PACKAGE VERSION) #-#-#-#-# # #-#-#-#-# dbaccess.pot (PACKAGE VERSION) #-#-#-#-# #: libparted/fs/fat/resize.c:549 libparted/fs/fat/resize.c:565 #, fuzzy, c-format msgid "%s %s" msgstr "%s%s" #: libparted/fs/fat/resize.c:550 #, fuzzy msgid "" "The file system can only be resized to this size by converting to FAT16." msgstr "IDOSIYE Sisitemu Kuri iyi Ingano ku Guhindura.... Kuri" #: libparted/fs/fat/resize.c:566 #, fuzzy msgid "" "The file system can only be resized to this size by converting to FAT32." msgstr "IDOSIYE Sisitemu Kuri iyi Ingano ku Guhindura.... Kuri" #: libparted/fs/fat/resize.c:579 #, fuzzy msgid "" "GNU Parted cannot resize this partition to this size. We're working on it!" msgstr "OYA Ihindurangero iyi Kuri iyi Ingano ku" #: libparted/fs/fat/bootsector.c:49 libparted/fs/fat/bootsector.c:56 #, fuzzy msgid "File system has an invalid signature for a FAT file system." msgstr "Idosiye Sisitemu Sibyo Isinya kugirango a IDOSIYE Sisitemu" #: libparted/fs/fat/bootsector.c:64 #, fuzzy msgid "File system has an invalid sector size for a FAT file system." msgstr "Idosiye Sisitemu Sibyo Ingano kugirango a IDOSIYE Sisitemu" #: libparted/fs/fat/bootsector.c:71 #, fuzzy msgid "File system has an invalid cluster size for a FAT file system." msgstr "Idosiye Sisitemu Sibyo Ingano kugirango a IDOSIYE Sisitemu" #: libparted/fs/fat/bootsector.c:78 #, fuzzy msgid "" "File system has an invalid number of reserved sectors for a FAT file system." msgstr "Idosiye Sisitemu Sibyo Umubare Bya kugirango a" #: libparted/fs/fat/bootsector.c:85 #, fuzzy msgid "File system has an invalid number of FATs." msgstr "Idosiye Sisitemu Sibyo Umubare Bya" #: libparted/fs/fat/bootsector.c:139 #, fuzzy, c-format msgid "" "This file system has a logical sector size of %d. GNU Parted is known not " "to work properly with sector sizes other than 512 bytes." msgstr "" "IDOSIYE Sisitemu a Bijyanye n'inyurabwenge Ingano Bya ni OYA Kuri Akazi Na: " "Ikindi Bayite" #: libparted/fs/fat/bootsector.c:164 #, c-format msgid "" "The file system's CHS geometry is (%d, %d, %d), which is invalid. The " "partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the " "file system's CHS geometry will be left unchanged. If you select Fix, the " "file system's CHS geometry will be set to match the partition table's CHS " "geometry." msgstr "" #: libparted/fs/fat/bootsector.c:213 #, fuzzy msgid "FAT boot sector says logical sector size is 0. This is weird. " msgstr "Bijyanye n'inyurabwenge Ingano ni 0 ni" #: libparted/fs/fat/bootsector.c:219 #, fuzzy msgid "FAT boot sector says there are no FAT tables. This is weird. " msgstr "Oya Imbonerahamwe ni" #: libparted/fs/fat/bootsector.c:225 #, fuzzy msgid "FAT boot sector says clusters are 0 sectors. This is weird. " msgstr "0 ni" #: libparted/fs/fat/bootsector.c:235 #, fuzzy msgid "File system is FAT12, which is unsupported." msgstr "ni ni" #: libparted/fs/fat/bootsector.c:411 #, fuzzy, c-format msgid "" "The information sector has the wrong signature (%x). Select cancel for now, " "and send in a bug report. If you're desperate, it's probably safe to ignore." msgstr "" "Ibisobanuro i Isinya Kureka kugirango NONEAHA Na Kohereza in a Icyegeranyo " "Kuri Kwirengagiza" #: libparted/fs/fat/count.c:144 #, fuzzy, c-format msgid "Bad directory entry for %s: first cluster is the end of file marker." msgstr "bushyinguro Icyinjijwe kugirango Itangira ni i Impera Bya IDOSIYE" #: libparted/fs/fat/count.c:157 #, fuzzy, c-format msgid "" "Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk." msgstr "kugirango Gukoresha Cyangwa" #: libparted/fs/fat/count.c:166 #, fuzzy, c-format msgid "" "Bad FAT: cluster %d outside file system in chain for %s. You should run " "dosfsck or scandisk." msgstr "Hanze in kugirango Gukoresha Cyangwa" #: libparted/fs/fat/count.c:176 #, fuzzy, c-format msgid "" "Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or " "scandisk." msgstr "ni Kwambukiranya kugirango Gukoresha Cyangwa" #: libparted/fs/fat/count.c:195 #, fuzzy, c-format msgid "%s is %dk, but it has %d clusters (%dk)." msgstr "%sni" #: libparted/fs/fat/count.c:258 #, fuzzy, c-format msgid "" "The file %s is marked as a system file. This means moving it could cause " "some programs to stop working." msgstr "" "IDOSIYE ni cy/ byagarajwe Nka a Sisitemu IDOSIYE Porogaramu Kuri Guhagarara" #: libparted/fs/fat/table.c:136 #, fuzzy, c-format msgid "" "FAT %d media %x doesn't match the boot sector's media %x. You should " "probably run scandisk." msgstr "Ibitangazamakuru BIHUYE i Ibitangazamakuru Gukoresha" #: libparted/fs/fat/table.c:268 #, fuzzy, c-format msgid "fat_table_set: cluster %ld outside file system" msgstr "Hanze" #: libparted/fs/fat/table.c:300 #, fuzzy, c-format msgid "fat_table_get: cluster %ld outside file system" msgstr "Hanze" #: libparted/fs/fat/table.c:342 #, fuzzy msgid "fat_table_alloc_cluster: no free clusters" msgstr "Oya Kigenga" #: libparted/fs/linux_swap/linux_swap.c:288 #, fuzzy, c-format msgid "Unrecognised old style linux swap signature '%10s'." msgstr "Isinya" #: libparted/fs/linux_swap/linux_swap.c:331 #, fuzzy, c-format msgid "Unrecognised new style linux swap signature '%10s'." msgstr "Isinya" #: libparted/fs/linux_swap/linux_swap.c:371 #, fuzzy, c-format msgid "Unrecognised swsusp linux swap signature '%9s'." msgstr "Isinya" #: libparted/fs/linux_swap/linux_swap.c:447 #, fuzzy msgid "Too many bad pages." msgstr "Amapaji" #: libparted/fs/hfs/advfs.c:121 libparted/fs/hfs/advfs_plus.c:121 #: libparted/fs/hfs/reloc.c:414 libparted/fs/hfs/reloc.c:508 #: libparted/fs/hfs/reloc_plus.c:538 libparted/fs/hfs/reloc_plus.c:656 #: libparted/fs/hfs/reloc_plus.c:769 msgid "The file system contains errors." msgstr "" #: libparted/fs/hfs/advfs_plus.c:285 msgid "Bad blocks could not be read." msgstr "" #: libparted/fs/hfs/cache.c:137 #, c-format msgid "" "Trying to register an extent starting at block 0x%X, but another one already " "exists at this position. You should check the file system!" msgstr "" #: libparted/fs/hfs/cache.c:214 #, c-format msgid "" "Trying to move an extent from block Ox%X to block Ox%X, but another one " "already exists at this position. This should not happen!" msgstr "" #: libparted/fs/hfs/file.c:143 #, c-format msgid "Could not update the extent cache for HFS file with CNID %X." msgstr "" #: libparted/fs/hfs/file.c:180 #, c-format msgid "Trying to read HFS file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/file.c:190 libparted/fs/hfs/file.c:220 #, c-format msgid "Could not find sector %lli of HFS file with CNID %X." msgstr "" #: libparted/fs/hfs/file.c:210 #, c-format msgid "Trying to write HFS file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/file_plus.c:157 #, c-format msgid "Could not update the extent cache for HFS+ file with CNID %X." msgstr "" #: libparted/fs/hfs/file_plus.c:202 #, c-format msgid "Trying to read HFS+ file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/file_plus.c:213 libparted/fs/hfs/file_plus.c:256 #, c-format msgid "Could not find sector %lli of HFS+ file with CNID %X." msgstr "" #: libparted/fs/hfs/file_plus.c:245 #, c-format msgid "Trying to write HFS+ file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/hfs.c:232 msgid "Sorry, HFS cannot be resized that way yet." msgstr "" #: libparted/fs/hfs/hfs.c:262 libparted/fs/hfs/hfs.c:641 msgid "Data relocation has failed." msgstr "" #: libparted/fs/hfs/hfs.c:281 msgid "Data relocation left some data in the end of the volume." msgstr "" #: libparted/fs/hfs/hfs.c:320 #, fuzzy msgid "writing HFS Master Directory Block" msgstr "Kuri i Imizi bushyinguro" #: libparted/fs/hfs/hfs.c:468 msgid "No valid HFS[+X] signature has been found while opening." msgstr "" #: libparted/fs/hfs/hfs.c:478 #, c-format msgid "Version %d of HFS+ isn't supported." msgstr "" #: libparted/fs/hfs/hfs.c:489 #, c-format msgid "Version %d of HFSX isn't supported." msgstr "" #: libparted/fs/hfs/hfs.c:672 msgid "Data relocation left some data at the end of the volume." msgstr "" #: libparted/fs/hfs/hfs.c:720 #, fuzzy msgid "Error while writing the allocation file." msgstr "Kuri i Imizi bushyinguro" #: libparted/fs/hfs/hfs.c:735 msgid "Error while writing the compatibility part of the allocation file." msgstr "" #: libparted/fs/hfs/hfs.c:750 msgid "writing HFS+ Volume Header" msgstr "" #: libparted/fs/hfs/hfs.c:850 msgid "An error occurred while looking for the mandatory bad blocks file." msgstr "" #: libparted/fs/hfs/hfs.c:904 msgid "" "It seems there is an error in the HFS wrapper: the bad blocks file doesn't " "contain the embedded HFS+ volume." msgstr "" #: libparted/fs/hfs/hfs.c:940 msgid "Sorry, HFS+ cannot be resized that way yet." msgstr "" #: libparted/fs/hfs/hfs.c:975 msgid "shrinking embedded HFS+ volume" msgstr "" #: libparted/fs/hfs/hfs.c:991 msgid "Resizing the HFS+ volume has failed." msgstr "" #: libparted/fs/hfs/hfs.c:998 msgid "shrinking HFS wrapper" msgstr "" #: libparted/fs/hfs/hfs.c:1007 msgid "Updating the HFS wrapper has failed." msgstr "" #: libparted/fs/hfs/hfs.c:1109 libparted/fs/hfs/hfs.c:1194 #, c-format msgid "" "This is not a real %s check. This is going to extract special low level " "files for debugging purposes." msgstr "" #: libparted/fs/hfs/journal.c:155 msgid "Bad block list header checksum." msgstr "" #: libparted/fs/hfs/journal.c:168 #, c-format msgid "" "Invalid size of a transaction block while replaying the journal (%i bytes)." msgstr "" #: libparted/fs/hfs/journal.c:260 msgid "" "Journal stored outside of the volume are not supported. Try to desactivate " "the journal and run Parted again." msgstr "" #: libparted/fs/hfs/journal.c:271 #, fuzzy msgid "Journal offset or size is not multiple of the sector size." msgstr "Gutangira DELTA ni OYA a Igikubo Bya i Ingano" #: libparted/fs/hfs/journal.c:292 msgid "Incorrect magic values in the journal header." msgstr "" #: libparted/fs/hfs/journal.c:302 msgid "Journal size mismatch between journal info block and journal header." msgstr "" #: libparted/fs/hfs/journal.c:314 #, fuzzy msgid "Some header fields are not multiple of the sector size." msgstr "Gutangira DELTA ni OYA a Igikubo Bya i Ingano" #: libparted/fs/hfs/journal.c:323 msgid "" "The sector size stored in the journal is not 512 bytes. Parted only " "supports 512 bytes length sectors." msgstr "" #: libparted/fs/hfs/journal.c:335 msgid "Bad journal checksum." msgstr "" #: libparted/fs/hfs/journal.c:353 msgid "" "The journal is not empty. Parted must replay the transactions before " "opening the file system. This will modify the file system." msgstr "" #: libparted/fs/hfs/journal.c:381 msgid "" "The volume header or the master directory block has changed while replaying " "the journal. You should restart Parted." msgstr "" #: libparted/fs/hfs/probe.c:51 #, c-format msgid "" "Parted can't use HFS file systems on disks with a sector size not equal to " "%d bytes." msgstr "" #: libparted/fs/hfs/reloc.c:151 libparted/fs/hfs/reloc_plus.c:155 msgid "An extent has not been relocated." msgstr "" #: libparted/fs/hfs/reloc.c:251 libparted/fs/hfs/reloc_plus.c:307 msgid "" "A reference to an extent comes from a place it should not. You should check " "the file system!" msgstr "" #: libparted/fs/hfs/reloc.c:381 msgid "This HFS volume has no catalog file. This is very unusual!" msgstr "" #: libparted/fs/hfs/reloc.c:475 msgid "This HFS volume has no extents overflow file. This is quite unusual!" msgstr "" #: libparted/fs/hfs/reloc.c:517 libparted/fs/hfs/reloc_plus.c:666 msgid "" "The extents overflow file should not contain its own extents! You should " "check the file system." msgstr "" #: libparted/fs/hfs/reloc.c:574 libparted/fs/hfs/reloc_plus.c:844 #, fuzzy msgid "Could not cache the file system in memory." msgstr "OYA IDOSIYE Sisitemu" #: libparted/fs/hfs/reloc.c:635 libparted/fs/hfs/reloc_plus.c:905 msgid "Bad blocks list could not be loaded." msgstr "" #: libparted/fs/hfs/reloc.c:649 libparted/fs/hfs/reloc_plus.c:921 msgid "An error occurred during extent relocation." msgstr "" #: libparted/fs/hfs/reloc_plus.c:494 msgid "This HFS+ volume has no catalog file. This is very unusual!" msgstr "" #: libparted/fs/hfs/reloc_plus.c:617 msgid "This HFS+ volume has no extents overflow file. This is quite unusual!" msgstr "" #: parted/parted.c:123 #, fuzzy msgid "displays this help message" msgstr "iyi Ifashayobora Ubutumwa" #: parted/parted.c:124 msgid "lists partition layout on all block devices" msgstr "" #: parted/parted.c:125 msgid "displays machine parseable output" msgstr "" #: parted/parted.c:126 #, fuzzy msgid "never prompts for user intervention" msgstr "Nta narimwe kugirango Ukoresha:" #: parted/parted.c:127 #, fuzzy msgid "displays the version" msgstr "i Verisiyo" #: parted/parted.c:128 #, fuzzy msgid "alignment for new partitions" msgstr "Kurema Birenzeho" #: parted/parted.c:140 #, fuzzy msgid "" "NUMBER is the partition number used by Linux. On MS-DOS disk labels, the " "primary partitions number from 1 to 4, logical partitions from 5 onwards.\n" msgstr "" "ni i Umubare ku Uturango... i Umubare Bivuye 1. 4. Na Bijyanye " "n'inyurabwenge 5" #: parted/parted.c:143 #, fuzzy msgid "LABEL-TYPE is one of: " msgstr "ni Bya" #: parted/parted.c:144 #, fuzzy msgid "FLAG is one of: " msgstr "ni Bya" #: parted/parted.c:145 #, fuzzy msgid "UNIT is one of: " msgstr "ni Bya" #: parted/parted.c:146 msgid "desired alignment: minimum or optimal" msgstr "" #: parted/parted.c:147 #, fuzzy msgid "PART-TYPE is one of: primary, logical, extended\n" msgstr "ni Bya Bijyanye n'inyurabwenge" #: parted/parted.c:149 #, fuzzy msgid "FS-TYPE is one of: " msgstr "ni Bya" #: parted/parted.c:150 #, fuzzy msgid "" "START and END are disk locations, such as 4GB or 10%. Negative values count " "from the end of the disk. For example, -1s specifies exactly the last " "sector.\n" msgstr "Na in Uduciro IBARA Bivuye i Impera Bya i" #: parted/parted.c:153 #, fuzzy msgid "STATE is one of: on, off\n" msgstr "ni Bya ku" #: parted/parted.c:154 #, fuzzy msgid "DEVICE is usually /dev/hda or /dev/sda\n" msgstr "ni Cyangwa" #: parted/parted.c:155 #, fuzzy msgid "NAME is any word you want\n" msgstr "ni ijambo" #: parted/parted.c:156 msgid "The partition must have one of the following FS-TYPEs: " msgstr "" #: parted/parted.c:160 #, fuzzy msgid "" "Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n" "This program is free software, covered by the GNU General Public License.\n" "\n" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" msgstr "" "C Porogaramu ni Kigenga ku i Porogaramu ni in i ATARIIGIHARWE i Bya Cyangwa " "A i kugirango Birenzeho Birambuye" #: parted/parted.c:208 #, fuzzy, c-format msgid "%0.f%%\t(time left %.2d:%.2d)" msgstr "" "%0.Project- Id- Version: basctl\n" "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" "Content- Type: text/ plain; charset= UTF- 8\n" "Content- Transfer- Encoding: 8bit\n" "X- Generator: KBabel 1. 0\n" ". 2D." #: parted/parted.c:227 #, c-format msgid "" "Partition %s is being used. You must unmount it before you modify it with " "Parted." msgstr "" #: parted/parted.c:245 #, fuzzy, c-format msgid "Partition(s) on %s are being used." msgstr "S ku" #: parted/parted.c:257 msgid "" "The existing file system will be destroyed and all data on the partition " "will be lost. Do you want to continue?" msgstr "" #: parted/parted.c:269 #, c-format msgid "" "The existing disk label on %s will be destroyed and all data on this disk " "will be lost. Do you want to continue?" msgstr "" #: parted/parted.c:487 #, c-format msgid "" "WARNING: you are attempting to use %s to operate on (%s) a file system.\n" "%s's file system manipulation code is not as robust as what you'll find in\n" "dedicated, file-system-specific packages like e2fsprogs. We recommend\n" "you use %s only to manipulate partition tables, whenever possible.\n" "Support for performing most operations on most types of file systems\n" "will be removed in an upcoming release.\n" msgstr "" #: parted/parted.c:508 parted/parted.c:702 parted/parted.c:1179 #: parted/parted.c:1263 parted/parted.c:1935 parted/parted.c:2016 #: parted/parted.c:2088 parted/parted.c:2122 #, fuzzy msgid "Partition number?" msgstr "Umubare" #: parted/parted.c:551 #, fuzzy msgid "Source device?" msgstr "APAREYE" #: parted/parted.c:555 #, fuzzy msgid "Source partition number?" msgstr "Umubare" #: parted/parted.c:560 #, fuzzy msgid "Can't copy an extended partition." msgstr "Gukoporora Byongerewe..." #: parted/parted.c:566 #, fuzzy msgid "Destination partition number?" msgstr "Umubare" #: parted/parted.c:655 #, fuzzy msgid "New disk label type?" msgstr "Akarango Ubwoko" #: parted/parted.c:706 parted/parted.c:788 parted/parted.c:1000 #, fuzzy msgid "File system type?" msgstr "Idosiye Sisitemu Ubwoko" #: parted/parted.c:762 parted/parted.c:983 #, fuzzy msgid "Partition type?" msgstr "Ubwoko" #: parted/parted.c:780 parted/parted.c:990 parted/parted.c:1266 #, fuzzy msgid "Partition name?" msgstr "Izina:" # #-#-#-#-# sc.pot (PACKAGE VERSION) #-#-#-#-# # sc/source\ui\navipi\navipi.src:RID_SCDLG_NAVIGATOR.TBX_CMD.IID_UP.text # #-#-#-#-# sc.pot (PACKAGE VERSION) #-#-#-#-# # sc/source\ui\src\scfuncs.src:RID_SC_FUNCTION_DESCRIPTIONS2.SC_OPCODE_PROB.6.text # #-#-#-#-# sc.pot (PACKAGE VERSION) #-#-#-#-# # sc/source\ui\src\scfuncs.src:RID_SC_FUNCTION_DESCRIPTIONS2.SC_OPCODE_BETA_DIST.8.text # #-#-#-#-# sc.pot (PACKAGE VERSION) #-#-#-#-# # sc/source\ui\src\scfuncs.src:RID_SC_FUNCTION_DESCRIPTIONS2.SC_OPCODE_BETA_INV.8.text #: parted/parted.c:794 parted/parted.c:1002 parted/parted.c:1194 #: parted/parted.c:1883 parted/parted.c:1944 #, fuzzy msgid "Start?" msgstr "Gutangira" # officecfg/registry\schema\org\openoffice\Office\DataAccess.xcs:....FormSearchOptions.SearchPosition..end-of-field.text #: parted/parted.c:796 parted/parted.c:1005 parted/parted.c:1197 #: parted/parted.c:1885 parted/parted.c:1946 #, fuzzy msgid "End?" msgstr "Impera" #: parted/parted.c:862 parted/parted.c:1066 #, fuzzy, c-format msgid "" "You requested a partition from %s to %s.\n" "The closest location we can manage is %s to %s.%s" msgstr "Kuri Kurema a ku kuyobora ni" #: parted/parted.c:867 parted/parted.c:1071 msgid "" "\n" "Is this still acceptable to you?" msgstr "" #: parted/parted.c:889 parted/parted.c:1093 msgid "The resulting partition is not properly aligned for best performance." msgstr "" #: parted/parted.c:995 #, fuzzy msgid "An extended partition cannot hold a file system. Did you want mkpart?" msgstr "IDOSIYE" #: parted/parted.c:1185 #, fuzzy msgid "Can't move an extended partition." msgstr "Kwimura Byongerewe..." #: parted/parted.c:1214 #, fuzzy msgid "Can't move a partition onto itself. Try using resize, perhaps?" msgstr "Kwimura a ikoresha Ihindurangero" #: parted/parted.c:1360 #, c-format msgid "Minor: %d\n" msgstr "" # svx/source\gallery2\galtheme.src:RID_GALLERYSTR_THEME_FLAGS.text #: parted/parted.c:1361 #, fuzzy, c-format msgid "Flags: %s\n" msgstr "Amabendera" # officecfg/registry\schema\org\openoffice\Office\Common.xcs:....Save.URL.FileSystem.text #: parted/parted.c:1362 #, fuzzy, c-format msgid "File System: %s\n" msgstr "Idosiye ya sisitemu" #: parted/parted.c:1363 msgid "Size: " msgstr "" #: parted/parted.c:1368 #, fuzzy msgid "Minimum size: " msgstr "Ingano" #: parted/parted.c:1371 #, fuzzy msgid "Maximum size: " msgstr "Ingano" #: parted/parted.c:1504 #, c-format msgid "Model: %s (%s)\n" msgstr "" # desktop/source\app\ssodlg.src:DLG_SSOLOGIN.text #: parted/parted.c:1506 #, fuzzy, c-format msgid "Disk %s: %s\n" msgstr "%s%s%s" #: parted/parted.c:1507 #, c-format msgid "Sector size (logical/physical): %lldB/%lldB\n" msgstr "" #: parted/parted.c:1525 #, c-format msgid "BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s.\n" msgstr "" #: parted/parted.c:1534 #, fuzzy, c-format msgid "Partition Table: %s\n" msgstr "Izina:" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Number" msgstr "" # #-#-#-#-# sc.pot (PACKAGE VERSION) #-#-#-#-# # sc/source\ui\navipi\navipi.src:RID_SCDLG_NAVIGATOR.TBX_CMD.IID_UP.text # #-#-#-#-# sc.pot (PACKAGE VERSION) #-#-#-#-# # sc/source\ui\src\scfuncs.src:RID_SC_FUNCTION_DESCRIPTIONS2.SC_OPCODE_PROB.6.text # #-#-#-#-# sc.pot (PACKAGE VERSION) #-#-#-#-# # sc/source\ui\src\scfuncs.src:RID_SC_FUNCTION_DESCRIPTIONS2.SC_OPCODE_BETA_DIST.8.text # #-#-#-#-# sc.pot (PACKAGE VERSION) #-#-#-#-# # sc/source\ui\src\scfuncs.src:RID_SC_FUNCTION_DESCRIPTIONS2.SC_OPCODE_BETA_INV.8.text #: parted/parted.c:1549 parted/parted.c:1552 #, fuzzy msgid "Start" msgstr "Gutangira" # officecfg/registry\schema\org\openoffice\Office\DataAccess.xcs:....FormSearchOptions.SearchPosition..end-of-field.text #: parted/parted.c:1550 parted/parted.c:1553 #, fuzzy msgid "End" msgstr "Impera" # starmath/source\smres.src:RID_TOOLBOXWINDOW.6.RID_SIZEXY.text #: parted/parted.c:1553 #, fuzzy msgid "Size" msgstr "Kuringaniza" #: parted/parted.c:1557 msgid "Type" msgstr "" # officecfg/registry\schema\org\openoffice\Office\Common.xcs:....Save.URL.FileSystem.text #: parted/parted.c:1559 #, fuzzy msgid "File system" msgstr "Idosiye ya sisitemu" #: parted/parted.c:1562 #, fuzzy msgid "Name" msgstr "izina" #: parted/parted.c:1564 msgid "Flags" msgstr "Amabendera" #: parted/parted.c:1621 msgid "Free Space" msgstr "" #: parted/parted.c:1782 #, fuzzy, c-format msgid "" "A %s %s partition was found at %s -> %s. Do you want to add it to the " "partition table?" msgstr "A Byabonetse ku Kuri Kongeramo Kuri i imbonerahamwe#" #: parted/parted.c:1821 #, fuzzy msgid "searching for file systems" msgstr "Ishakisha kugirango IDOSIYE" #: parted/parted.c:2041 #, fuzzy msgid "New device?" msgstr "APAREYE" #: parted/parted.c:2086 msgid "alignment type(min/opt)" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d aligned\n" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d not aligned\n" msgstr "" #: parted/parted.c:2124 #, fuzzy msgid "Flag to Invert?" msgstr "Kuri Guhindura>>" #: parted/parted.c:2129 #, fuzzy msgid "New state?" msgstr "Leta" #: parted/parted.c:2166 msgid "Unit?" msgstr "" #: parted/parted.c:2348 #, fuzzy msgid "align-check" msgstr "genzura" #: parted/parted.c:2351 msgid "" "align-check TYPE N check partition N for TYPE(min|" "opt) alignment" msgstr "" #: parted/parted.c:2359 msgid "check" msgstr "genzura" #: parted/parted.c:2362 #, fuzzy msgid "" "check NUMBER do a simple check on the file system" msgstr "Kugenzura... a Byoroheje Kugenzura... ku i" #: parted/parted.c:2368 msgid "cp" msgstr "" #: parted/parted.c:2371 #, fuzzy msgid "" "cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another " "partition" msgstr "Gukoporora Kuri" #: parted/parted.c:2377 #, fuzzy msgid "help" msgstr "Ifashayobora" #: parted/parted.c:2380 #, fuzzy msgid "" "help [COMMAND] print general help, or help on " "COMMAND" msgstr "Ifashayobora Rusange Ifashayobora Cyangwa Ifashayobora ku" #: parted/parted.c:2386 msgid "mklabel" msgstr "" #: parted/parted.c:2386 msgid "mktable" msgstr "" #: parted/parted.c:2389 #, fuzzy msgid "" "mklabel,mktable LABEL-TYPE create a new disklabel (partition " "table)" msgstr "Kurema a Gishya imbonerahamwe#" #: parted/parted.c:2395 msgid "mkfs" msgstr "" #: parted/parted.c:2398 #, fuzzy msgid "" "mkfs NUMBER FS-TYPE make a FS-TYPE file system on " "partition NUMBER" msgstr "Ubwoko a ku" #: parted/parted.c:2404 msgid "mkpart" msgstr "" #: parted/parted.c:2407 #, fuzzy msgid "mkpart PART-TYPE [FS-TYPE] START END make a partition" msgstr "Ubwoko a" #: parted/parted.c:2413 #, fuzzy msgid "" "'mkpart' makes a partition without creating a new file system on the " "partition. FS-TYPE may be specified to set an appropriate partition ID.\n" msgstr "a a Gishya IDOSIYE Sisitemu ku i Gicurasi Kuri Gushyiraho" #: parted/parted.c:2418 msgid "mkpartfs" msgstr "" #: parted/parted.c:2421 #, fuzzy msgid "" "mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system" msgstr "Ubwoko a Na: a" # sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_UNDO_MOVE.text #: parted/parted.c:2427 #, fuzzy msgid "move" msgstr "Kwimura" #: parted/parted.c:2430 #, fuzzy msgid "move NUMBER START END move partition NUMBER" msgstr "Kwimura Kwimura" #: parted/parted.c:2435 msgid "name" msgstr "izina" #: parted/parted.c:2438 #, fuzzy msgid "name NUMBER NAME name partition NUMBER as NAME" msgstr "Izina: Izina:" # #-#-#-#-# dbaccess.pot (PACKAGE VERSION) #-#-#-#-# # #-#-#-#-# dbaccess.pot (PACKAGE VERSION) #-#-#-#-# #: parted/parted.c:2443 #, fuzzy msgid "print" msgstr "Gucapa" #: parted/parted.c:2446 msgid "" "print [devices|free|list,all|NUMBER] display the partition table, " "available devices, free space, all found partitions, or a particular " "partition" msgstr "" #: parted/parted.c:2451 #, fuzzy msgid "" "Without arguments, 'print' displays the entire partition table. However with " "the following arguments it performs various other actions.\n" msgstr "" "ingingo Gucapa i imbonerahamwe# Umubare ni Hanyuma Birenzeho Ibisobanuro ni" #: parted/parted.c:2453 msgid " devices : display all active block devices\n" msgstr "" #: parted/parted.c:2454 msgid "" " free : display information about free unpartitioned space on the " "current block device\n" msgstr "" #: parted/parted.c:2456 msgid "" " list, all : display the partition tables of all active block devices\n" msgstr "" #: parted/parted.c:2457 msgid "" " NUMBER : display more detailed information about this particular " "partition\n" msgstr "" #: parted/parted.c:2462 #, fuzzy msgid "quit" msgstr "Kuvamo" #: parted/parted.c:2465 #, fuzzy msgid "quit exit program" msgstr "Kuvamo Gusohoka Porogaramu" #: parted/parted.c:2470 msgid "rescue" msgstr "" #: parted/parted.c:2473 #, fuzzy msgid "" "rescue START END rescue a lost partition near START " "and END" msgstr "a Na" # starmath/source\smres.src:RID_TOOLBOXWINDOW.6.RID_SIZEXY.text #: parted/parted.c:2479 #, fuzzy msgid "resize" msgstr "Kuringaniza" #: parted/parted.c:2482 #, fuzzy msgid "" "resize NUMBER START END resize partition NUMBER and its " "file system" msgstr "a Na" #: parted/parted.c:2490 msgid "rm" msgstr "" #: parted/parted.c:2493 #, fuzzy msgid "rm NUMBER delete partition NUMBER" msgstr "Gusiba" #: parted/parted.c:2498 msgid "select" msgstr "guhitamo" #: parted/parted.c:2501 #, fuzzy msgid "select DEVICE choose the device to edit" msgstr "Guhitamo Guhitamo i APAREYE Kuri Guhindura" #: parted/parted.c:2506 #, fuzzy msgid "set" msgstr "Gushyiraho" #: parted/parted.c:2509 #, fuzzy msgid "" "set NUMBER FLAG STATE change the FLAG on partition NUMBER" msgstr "Gushyiraho Guhindura>> a Ibendera ku" #: parted/parted.c:2515 msgid "toggle" msgstr "" #: parted/parted.c:2518 msgid "" "toggle [NUMBER [FLAG]] toggle the state of FLAG on " "partition NUMBER" msgstr "" #: parted/parted.c:2524 #, fuzzy msgid "unit" msgstr "Kuvamo" #: parted/parted.c:2527 #, fuzzy msgid "unit UNIT set the default unit to UNIT" msgstr "Kuvamo Gusohoka Porogaramu" #: parted/parted.c:2532 msgid "version" msgstr "" #: parted/parted.c:2535 msgid "" "version display the version number and " "copyright information of GNU Parted" msgstr "" #: parted/parted.c:2539 msgid "" "'version' displays copyright and version information corresponding to this " "copy of GNU Parted\n" msgstr "" #: parted/parted.c:2607 #, c-format msgid "Usage: %s [-hlmsv] [-a] [DEVICE [COMMAND [PARAMETERS]]...]\n" msgstr "" #: parted/parted.c:2651 #, fuzzy msgid "No device found" msgstr "APAREYE Byabonetse" #: parted/parted.c:2688 msgid "WARNING: You are not superuser. Watch out for permissions." msgstr "" #: parted/parted.c:2726 #, fuzzy msgid "You may need to update /etc/fstab.\n" msgstr "Kuri Kuvugurura NIBA" #: parted/ui.c:162 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n" msgstr "" #: parted/ui.c:165 #, fuzzy msgid "" "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n" "Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run " "in\n" "interactive mode.\n" msgstr "Na: Kuri Oya S Ubwoko" #: parted/ui.c:170 #, c-format msgid "" "\n" "\n" "You found a bug in GNU Parted! Here's what you have to do:\n" "\n" "Don't panic! The bug has most likely not affected any of your data.\n" "Help us to fix this bug by doing the following:\n" "\n" "Check whether the bug has already been fixed by checking\n" "the last version of GNU Parted that you can find at:\n" "\n" "\thttp://ftp.gnu.org/gnu/parted/\n" "\n" "Please check this version prior to bug reporting.\n" "\n" "If this has not been fixed yet or if you don't know how to check,\n" "please visit the GNU Parted website:\n" "\n" "\thttp://www.gnu.org/software/parted\n" "\n" "for further information.\n" "\n" "Your report should contain the version of this release (%s)\n" "along with the error message below, the output of\n" "\n" "\tparted DEVICE unit co print unit s print\n" "\n" "and the following history of commands you entered.\n" "Also include any additional information about your setup you\n" "consider important.\n" msgstr "" #: parted/ui.c:291 msgid "" "\n" "Command History:\n" msgstr "" #: parted/ui.c:354 msgid "" "\n" "Error: SEGV_MAPERR (Address not mapped to object)\n" msgstr "" #: parted/ui.c:360 msgid "" "\n" "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n" msgstr "" #: parted/ui.c:365 msgid "" "\n" "Error: A general SIGSEGV signal was encountered.\n" msgstr "" #: parted/ui.c:389 msgid "" "\n" "Error: FPE_INTDIV (Integer: divide by zero)" msgstr "" #: parted/ui.c:394 msgid "" "\n" "Error: FPE_INTOVF (Integer: overflow)" msgstr "" #: parted/ui.c:399 msgid "" "\n" "Error: FPE_FLTDIV (Float: divide by zero)" msgstr "" #: parted/ui.c:404 msgid "" "\n" "Error: FPE_FLTOVF (Float: overflow)" msgstr "" #: parted/ui.c:409 msgid "" "\n" "Error: FPE_FLTUND (Float: underflow)" msgstr "" #: parted/ui.c:414 msgid "" "\n" "Error: FPE_FLTRES (Float: inexact result)" msgstr "" #: parted/ui.c:419 msgid "" "\n" "Error: FPE_FLTINV (Float: invalid operation)" msgstr "" #: parted/ui.c:424 msgid "" "\n" "Error: FPE_FLTSUB (Float: subscript out of range)" msgstr "" #: parted/ui.c:429 msgid "" "\n" "Error: A general SIGFPE signal was encountered." msgstr "" #: parted/ui.c:453 msgid "" "\n" "Error: ILL_ILLOPC (Illegal Opcode)" msgstr "" #: parted/ui.c:458 msgid "" "\n" "Error: ILL_ILLOPN (Illegal Operand)" msgstr "" #: parted/ui.c:463 msgid "" "\n" "Error: ILL_ILLADR (Illegal addressing mode)" msgstr "" #: parted/ui.c:468 msgid "" "\n" "Error: ILL_ILLTRP (Illegal Trap)" msgstr "" #: parted/ui.c:473 msgid "" "\n" "Error: ILL_PRVOPC (Privileged Opcode)" msgstr "" #: parted/ui.c:478 msgid "" "\n" "Error: ILL_PRVREG (Privileged Register)" msgstr "" #: parted/ui.c:483 msgid "" "\n" "Error: ILL_COPROC (Coprocessor Error)" msgstr "" #: parted/ui.c:488 msgid "" "\n" "Error: ILL_BADSTK (Internal Stack Error)" msgstr "" #: parted/ui.c:493 msgid "" "\n" "Error: A general SIGILL signal was encountered." msgstr "" #: parted/ui.c:892 #, fuzzy, c-format msgid "invalid token: %s" msgstr "Kuri Gufungura" #: parted/ui.c:1048 #, fuzzy msgid "Expecting a partition number." msgstr "a Umubare" #: parted/ui.c:1057 msgid "Partition doesn't exist." msgstr "" #: parted/ui.c:1077 #, fuzzy msgid "Expecting a file system type." msgstr "a IDOSIYE Sisitemu Ubwoko" #: parted/ui.c:1084 #, fuzzy, c-format msgid "Unknown file system type \"%s\"." msgstr "IDOSIYE Sisitemu Ubwoko" #: parted/ui.c:1104 #, fuzzy msgid "Expecting a disk label type." msgstr "a Akarango Ubwoko" #: parted/ui.c:1202 #, fuzzy msgid "Can't create any more partitions." msgstr "Kurema Birenzeho" #: parted/ui.c:1212 #, fuzzy msgid "Expecting a partition type." msgstr "a Ubwoko" #: parted/ui.c:1360 msgid "on" msgstr "kuri" # #-#-#-#-# svx.pot (PACKAGE VERSION) #-#-#-#-# # svx/source\svdraw\svdstr.src:STR_ItemValOFF.text # #-#-#-#-# svx.pot (PACKAGE VERSION) #-#-#-#-# # svx/source\svdraw\svdstr.src:STR_ItemValTEXTANI_NONE.text #: parted/ui.c:1361 msgid "off" msgstr "bidakora" #: parted/ui.c:1378 msgid "optimal" msgstr "" #: parted/ui.c:1379 msgid "minimal" msgstr "" # crashrep/source\all\crashrep.lng:%OPTIONS_BUTTON%.text #: parted/ui.c:1512 #, fuzzy msgid "OPTIONs:" msgstr "Amahitamo..." # sfx2/source\doc\docvor.src:DLG_ORGANIZE.BTN_EDIT.text #: parted/ui.c:1517 #, fuzzy msgid "COMMANDs:" msgstr "Amabwiriza" #: parted/ui.c:1520 #, c-format msgid "" "\n" "Report bugs to %s\n" msgstr "" #: parted/ui.c:1527 #, fuzzy, c-format msgid "Using %s\n" msgstr "ikoresha" #: parted/ui.c:1601 msgid "This command does not make sense in non-interactive mode.\n" msgstr "" #, fuzzy #~ msgid "Unable to determine the block size of this dasd" #~ msgstr "Kuri i Ingano Bya" #, fuzzy #~ msgid "" #~ "The kernel was unable to re-read the partition table on %s (%s). This " #~ "means Linux won't know anything about the modifications you made until " #~ "you reboot. You should reboot your computer before doing anything with " #~ "%s." #~ msgstr "Kuri Gusoma i imbonerahamwe# ku Ibyerekeye i Mbere Na:" #, fuzzy #~ msgid "" #~ "The sector size on %s is %d bytes. Parted is known not to work properly " #~ "with drives with sector sizes other than %d bytes" #~ msgstr "Ingano ku ni Bayite ni OYA Kuri Akazi Na: Na: Ikindi Bayite" #, fuzzy #~ msgid "Device %s has dodgey geometry." #~ msgstr "Iyigamashusho" #, fuzzy #~ msgid "Device %s is neither a SCSI nor IDE drive." #~ msgstr "ni a Porogaramu- shoboza" #, fuzzy #~ msgid "Error reading %s (%s) to determine if partition is mounted." #~ msgstr "Kuri NIBA ni" #, fuzzy #~ msgid "" #~ "Unable to determine if partitions are mounted via /proc/mounts or /etc/" #~ "mtab. Make sure you don't attempt to resize or modify mounted file " #~ "systems. (Even read-only mounted)" #~ msgstr "" #~ "Kuri NIBA Biturutse Cyangwa Kuri Ihindurangero Cyangwa Guhindura IDOSIYE " #~ "Gusoma" #, fuzzy #~ msgid "" #~ "The partition table on %s is inconsistent. There are many reasons why " #~ "this might be the case. However, the most likely reason is that Linux " #~ "detected the BIOS geometry for %s incorrectly. GNU Parted suspects the " #~ "real geometry should be %d/%d/%d (not %d/%d/%d). You should check with " #~ "your BIOS first, as this may not be correct. You can inform Linux by " #~ "adding the parameter %s=%d,%d,%d to the command line. See the LILO or " #~ "GRUB documentation for more information. If you think Parted's suggested " #~ "geometry is correct, you may select Ignore to continue (and fix Linux " #~ "later). Otherwise, select Cancel (and fix Linux and/or the BIOS now)." #~ msgstr "" #~ "imbonerahamwe# ku ni iyi i i ni i Iyigamashusho kugirango i Iyigamashusho " #~ "OYA Kugenzura... Na: Itangira Nka iyi Gicurasi OYA ku Wongera i Kuri i " #~ "Komandi: Umurongo i Cyangwa kugirango Birenzeho Ibisobanuro Iyigamashusho " #~ "ni Gicurasi Guhitamo Kuri urifuzagukomeza Na Guhitamo Na Na Cyangwa i " #~ "NONEAHA" #, fuzzy #~ msgid "" #~ "The partition table on %s is inconsistent. There are many reasons why " #~ "this might be the case. Often, the reason is that Linux detected the " #~ "BIOS geometry incorrectly. However, this does not appear to be the case " #~ "here. It is safe to ignore,but ignoring may cause (fixable) problems " #~ "with some boot loaders, and may cause problems with FAT file systems. " #~ "Using LBA is recommended." #~ msgstr "" #~ "imbonerahamwe# ku ni iyi i i ni i Iyigamashusho iyi OYA Kugaragara Kuri i " #~ "ni Kuri Kwirengagiza Gicurasi Na: Na Gicurasi Na: IDOSIYE ni" #, fuzzy #~ msgid "" #~ "Unable to align partition properly. This probably means that another " #~ "partitioning tool generated an incorrect partition table, because it " #~ "didn't have the correct BIOS geometry. It is safe to ignore,but ignoring " #~ "may cause (fixable) problems with some boot loaders." #~ msgstr "" #~ "Kuri Gutondeka imbonerahamwe# i Iyigamashusho ni Kuri Kwirengagiza " #~ "Gicurasi Na:" #, fuzzy #~ msgid "Attempt to read sectors %ld-%ld outside of partition on %s" #~ msgstr "Kuri Gusoma Hanze Bya ku" #, fuzzy #~ msgid "" #~ "This ext2 filesystem has a rather strange layout! Parted can't resize " #~ "this (yet)." #~ msgstr "a Imigaragarire Ihindurangero iyi" #, fuzzy #~ msgid "Filesystem has incompatible feature enabled" #~ msgstr "Bikora" #, fuzzy #~ msgid "File system has an invalid signature for a FAT file systems." #~ msgstr "Idosiye Sisitemu Sibyo Isinya kugirango a IDOSIYE" #, fuzzy #~ msgid "where necessary, prompts for user intervention" #~ msgstr "kugirango Ukoresha:" #, fuzzy #~ msgid "" #~ "Partition %s is being used. Modifying it while it is in use could cause " #~ "severe corruption." #~ msgstr "ni ni in Gukoresha" #, fuzzy #~ msgid "" #~ "You requested to move the partition to %.3f-%.3fMb. The closest Parted " #~ "can manage is %.3f-%.3fMb." #~ msgstr "Kuri Kwimura i Kuri kuyobora ni" #, fuzzy #~ msgid "Disk geometry for %s: 0.000-%.3f megabytes\n" #~ msgstr "000." #, fuzzy #~ msgid "Disk label type: %s\n" #~ msgstr "Akarango Ubwoko" #, fuzzy #~ msgid "Minor Start End " #~ msgstr "Gutangira Impera" # #-#-#-#-# dbaccess.pot (PACKAGE VERSION) #-#-#-#-# # #-#-#-#-# dbaccess.pot (PACKAGE VERSION) #-#-#-#-# #, fuzzy #~ msgid "Type " #~ msgstr "Ubwoko" #, fuzzy #~ msgid "Name " #~ msgstr "Izina" #, fuzzy #~ msgid "" #~ "You requested to resize the partition to %.3f-%.3fMb. The closest Parted " #~ "can manage is %.3f-%.3fMb." #~ msgstr "Kuri Ihindurangero i Kuri kuyobora ni" #, fuzzy #~ msgid "" #~ "print [MINOR] display the partition table, or a partition" #~ msgstr "Gucapa Kugaragaza i imbonerahamwe# Cyangwa a" #, fuzzy #~ msgid "resize MINOR START END resize filesystem on partition MINOR" #~ msgstr "Ihindurangero Ihindurangero ku" #, fuzzy #~ msgid "" #~ "You found a bug in GNU Parted. Please email a bug report to bug-" #~ "parted@gnu.org containing the version (%s), and the following message:\n" #~ msgstr "" #~ "Byabonetse a in imeli a Icyegeranyo Kuri org i Verisiyo Na i Ubutumwa" #, fuzzy #~ msgid "" #~ " You have Windows FAT partition(s) that are not using LBA. If your BIOS " #~ "supports LBA, then you should switch to LBA by setting the LBA flag on " #~ "all FAT partitions. Otherwise, make sure the operating system and the " #~ "BIOS have the same geometry before resizing any FAT partitions." #~ msgstr "" #~ "S OYA ikoresha Hanyuma Hindura Kuri ku Igenamiterere i Ibendera ku Byose " #~ "Ubwoko i Sisitemu Na i i Iyigamashusho Mbere" #, fuzzy #~ msgid "" #~ "The operating system thinks the geometry on %s is %d/%d/%d. Therefore, " #~ "cylinder 1024 ends at %.3fM.%s" #~ msgstr "Sisitemu i Iyigamashusho ku ni Umwiburungushure ku" #, fuzzy #~ msgid "The operating system thinks the geometry on %s is %d/%d/%d.%s" #~ msgstr "Sisitemu i Iyigamashusho ku ni" parted-2.3/po/ja.gmo0000644000000000000000000026236211400005705011243 00000000000000Þ•\ü)Ü%€2;2½50Ð506226*e6-6$¾6*ã627%A7,g7&”7)»7&å7, 8#98$]8!‚8&¤8(Ë8<ô8319!e9ʇ9R:i:0~:,¯:5Ü:P;/c;]“;Gñ;&9<`<}< „<+<+»<ç<#=#*=N=0l=0=Î=0í=(>(G>p> >'±>%Ù>)ÿ>)?'I?`q?2Ò@<ABAWAuA”A7ªAâA0öA('B%PBvB“B°B,ÌBùB,C-DC rC(“C¼CØCøCDŽD^©DEW E*dEF]¬FÕ GàGõG+HB4HFwH!¾H0àH<IDNI!“IPµI]JHdJ­JÍJ$ëJDKUK"kK-ŽK‡¼KDL HLLRL>ŸLÞL!ûL)M!GMGiM(±M<ÚM@N2XN"‹NB®N?ñN!1O2SO†O0O]¾O=PDZPIŸPéPZüPoWQ"ÇR*êRSV3SQŠS4ÜS5T(GTpTT®TÍTìTU%U)EU-oU$UÂU<áU=V\V|VœV¼VÜVùV4WLW8iW'¢W7ÊWX'XAX8]X8–XÏXëíX#ÙYýY/Z H[ U[`[o[s[x[~[[&»[â[(÷[B \$c\ˆ\¥\Ã\á\:ý\\8]=•]?Ó]>^R^c^&w^ž^ ¤^°^ Á^¶Í^„_´–_>K`*Š`Lµ`=a;@a/|a<¬a+éaHb*^b‰b©b>»búbzc~cŽc ”cHŸc ècKóc0?d}pdcîd?Re ’ežeºeÉeÝeÛöeIÒfGhUdhºhÁh-áhi j +j9jPjmj‰j9¡jÛj4ëj4 kUk$tk™k«k)ÆkKðk>*y<iyD¦yXëy>Dzƒz‚Ÿzí"{R|Öc|<:}Hw}<À}ý}‚~F/I^ypØoI€c¹€`h~HçH0‚ y‚Ùš‚*tƒ?Ÿƒ0߃0„ˆA…šÊ…e†,熇2‡7R‡¨Ї¶3‰@ê‰@+ŠRlŠg¿ŠE'‹gm‹/Õ‹tŒ7zŒp²Œ;#E_<¥Fâ:)ŽƒdŽfèŽ;OU‹áõ.&Ah0ê1‘ˆM‘1Ö‘2’;’@’(Q’(z’&£’tÊ’&?“(f“A“Ñ“ä“3û“/”5”=”T”s””¤”¶”È” Ú”3ç”3•/O••—•$­•BÒ•*–@– `–— ——#4—#X—|——;ª—Šæ—q™Hy™+™?.š·šÔš;ëš3'›/[›+‹›'·›#ß›œ#œ?œOœhœ#lœbœZóœ~NPÍ?ž^ždžjž lž zžW†žÞžûžŸ0Ÿ 8ŸBŸGŸMMŸ›Ÿ¤Ÿ¼ŸÄŸNÇŸ  %2 !X z  ª  Ç Ñ YÚ )4¡.^¡.¡¼¡Á¡Õ¡OÚ¡*¢ 1¢<¢W¢r¢$’¢·¢ É¢×¢+Û¢£££$£-£5£W:£’£Qš£ì£9ó£-¤L6¤ƒ¤‹¤>¤ϤפFܤ##¥G¥K¥ N¥Y¥r¥z¥…¥U¦)[¦…¦Ц*’¦½¦”æX§5]§“§˜§ ª§µ§ЧS×§+¨T2¨‡¨@Ѝ˨Ш ë¨ö¨©B©Y©L]© ª©´©Ê©Qé©;ª@ªUGªª¯ªªEǪ «k« «"«°«Ë«æ«wÿ«ßw­W±:m±:¨±<ã±: ²:[²?–²?Ö²K³?b³1¢³6Ô³@ ´4L´7´1¹´1ë´.µ:Lµ7‡µf¿µ]&¶%„¶&ª¶#Ñ·!õ·V¸3n¸9¢¸ZܸK7¹~ƒ¹iº5lº¢ºº ɺKÔºH »*i»3”»3È».ü»X+¼i„¼3î¼<"½._½H޽D×½D¾Sa¾Pµ¾?¿<F¿@ƒ¿=Ä¿]Âu`Â@ÖÂLÃIdÃ=®ÃxìÃeÄ9‚Ä:¼Ä;÷Ä73Å)kÅ+•Å=ÁÅMÿÅ=MÆ>‹ÆPÊÆ%Ç4AÇ6vÇ6­ÇäǾæÇ`¥Èɤ É4¯É*äʈËR˜ËëÌÍ:$Í`_ÍpÀÍ.1Î0`Îf‘ÎVøÎ!OÏqϨÐ}ªÐE(Ñ3nÑH¢ÑëÑ6{ÒI²ÒEüÒÕBÓÔ Ôd-Ôf’Ô0ùÔ9*ÕHdÕ0­ÕZÞÕB9ÖZ|ÖW×ÖE/×<u×\²×`Ø6pØh§Ø ÙYÙ¨tÙcÚkÚ\íÚJÛ¥]ÛÜ9ÞHAÞ3ŠÞl¾Þs+ßEŸßFåß9,à$fà$‹à$°à$Õà#úà-á.Lá6{á?²á-òá, âNMâOœâ$ìâ$ã$6ã$[ã#€ã-¤ãHÒã?äN[ä;ªävæä]å<|å-¹åiçåiQæ(»æ¢äæ:‡è6Âè›ùè•êªêÃêÙêàê èêWòê&Jë:që%¬ëFÒë]ìQwì<Éì?í9Fí<€íN½í| îy‰îvï`zï,ÛïDðYMð§ðºðÐðîðÚñ:âñòq4ó8¦ókßónKôkºôb&õI‰õ*ÓõhþõBgöDªö"ïöd÷Çw÷?øFø ]øgøyvø ðø•ýøK“ùÏßù«¯úQ[û­û¾ûÏûæûüYüÀtýH5ÿH~ÿ Çÿ.ÑÿE'FnuŒ¢¾Ô_ìLmblÐ9=!w™¬A‚f‡–îc…ŠéŸt5Jc*w¢²ÆØ"ìú  ( H  Y  f 'p ˜ '¨ BÐ ? <S B ïÓ 4à ø ÿ  K ]^ `¼  l6 £ !À wâ |Z@×AZZyµh/&˜*¿Bê-MjjÕ0õ*&Qoe‹&ñ;TÓg%;0a ’œf®::P]‹aéK(eŽ•0¤RÕI(=r:°Rë@>=@½CþgB=ª-è³*ʉõ2T²sT{ÍÐqžh dy Þ ‘n!–"˜—"0#”¾#[S$[¯$6 %B%C^&l¢&Y'Ži'Ãø(ܼ)ú™*(”+"½+"à+q,šu,+/c<0c 0‰1¨Ž1„72³¼2Np3¬¿3Al4¢®4sQ5Å5tE6€º6U;7½‘7wO8Ç8ŸG9$ç99 :9F:!€:J¢:¾í:H¬;Iõ;×?<N=Of= ¶=(À=Bé=D,><q>»®>+j?+–?ŽÂ?Q@3j@Ež@ ä@ï@-ö@9$A6^A•A!´AÖA!õABM*BJxB8ÃB<üB39C1mC]ŸCQýC2OD‚D†E šE0¨E?ÙE?FYF-mF_›F÷ûFóHúHUŠIfàI¢GJ!êJ, K`9KZšKRõKOHLJ˜LEãLA)M1kM%MÃM ÜM^æM‘EN×N–eOLüOKIP•P›P¡P£P ¼PiÈP02Q$cQ%ˆQ®Q ¶QÀQÅQTËQ R$0R URbR§eR SSC*S'nS–SµSBÔS T!TŸ(T@ÈTS US]U±U3¸UìUañUSV ZV$eV"ŠV%­V9ÓV W-W>WKBWŽW•W™W ©W¶WÆWˆËWTXb\X¿XšÆXaYµjY Z(ZF-ZtZ|ZJZÌZëZïZòZ3[<[L[ÖQ[Œ(\Nµ\] ]M]g]2m] ^<¥^â^'ç^_9%___|f_ã_sê_^`Ba`¤`-©`×`0ê`aC"afa_ja Êa(Ôa5ýa€3b´b¹bWÀbc4cPcHUcžcV¦cýcFd5Zd*d6»d†úÀ‹-¬/"“I/{Ðp#KGYVÅw/$?ýáSûŒ%4°ðµ`:½­²ô"Õƒ]b·eë2öø[¸óÜ(7QõF@éf ‡g)ßýÆi¹&ÊeÚù1½B  ×*JkTÙä© á³œÑ^ÛIÍ »›7êÄÌ?u€ZŸºÅhöÆLɾËÿ&E±¡OT·_ÇùÇ2¸¯}s¼ræL9Ô|˜ñ ’6t jľЯq Ô)£M KbþÝJòQìÛÎÂ6…‘yCÏ(7®ïÑݪ äçy:vß ¤hðú 4r5?g—TuC[…RG÷—ø.«wÒBVþÕ ÎRæ>ž¢1¥©<û±>Ïííî;x]WŸ@'å!ƒ¦Áˆ\‡U’ºžI~no¡A.<Œlq*Š–n®lLåÓD}‹ëP§"ì «Ö¥ ¬dFÀWÓ‰|,Rm%dZÊÞ‚1”³ò“¹=f0ñ†8+ôÌÃ%¶P*´NØMv<œ£à$‘o^™õXx‚= ” jÞ-`èŠÒUÙè¢!{3ó´WHJ[ç¨a!ï5§3˜A¿Ép°3NGã_„=Fªs¿2¶\i²t>éÖ.»Z­Ž+XKS$ÜÈ8 –üŽ•ü›\+D×ãc9a#4šà~BË ˆâ0Aÿê,‰X;„5#@m9QDP÷Ák&,Eš0ÚîÍY¦z™¼¨;•SzØ:VÃ8'OOÈNU-â H¤(µEH6'c€)YMC You found a bug in GNU Parted! Here's what you have to do: Don't panic! The bug has most likely not affected any of your data. Help us to fix this bug by doing the following: Check whether the bug has already been fixed by checking the last version of GNU Parted that you can find at: http://ftp.gnu.org/gnu/parted/ Please check this version prior to bug reporting. If this has not been fixed yet or if you don't know how to check, please visit the GNU Parted website: http://www.gnu.org/software/parted for further information. Your report should contain the version of this release (%s) along with the error message below, the output of parted DEVICE unit co print unit s print and the following history of commands you entered. Also include any additional information about your setup you consider important. Command History: Error: A general SIGFPE signal was encountered. Error: A general SIGILL signal was encountered. Error: A general SIGSEGV signal was encountered. Error: FPE_FLTDIV (Float: divide by zero) Error: FPE_FLTINV (Float: invalid operation) Error: FPE_FLTOVF (Float: overflow) Error: FPE_FLTRES (Float: inexact result) Error: FPE_FLTSUB (Float: subscript out of range) Error: FPE_FLTUND (Float: underflow) Error: FPE_INTDIV (Integer: divide by zero) Error: FPE_INTOVF (Integer: overflow) Error: ILL_BADSTK (Internal Stack Error) Error: ILL_COPROC (Coprocessor Error) Error: ILL_ILLADR (Illegal addressing mode) Error: ILL_ILLOPC (Illegal Opcode) Error: ILL_ILLOPN (Illegal Operand) Error: ILL_ILLTRP (Illegal Trap) Error: ILL_PRVOPC (Privileged Opcode) Error: ILL_PRVREG (Privileged Register) Error: SEGV_ACCERR (Invalid permissions for mapped object) Error: SEGV_MAPERR (Address not mapped to object) Is this still acceptable to you? License GPLv3+: GNU GPL version 3 or later . This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Report bugs to <%s>. Report bugs to: %s When no DEVICE is given, probe all partitions. --help display this help and exit --version output version information and exit NUMBER : display more detailed information about this particular partition devices : display all active block devices free : display information about free unpartitioned space on the current block device list, all : display the partition tables of all active block devices "%s" has invalid syntax for locations.%0.f%% (time left %.2d:%.2d)%s %s%s %s %s%s : Bad checksum on block %llu of type %s %s : Bad checksum on block %llu of type %s.%s : Couldn't read block %llu %s : Couldn't read boot block %llu %s : Couldn't read root block %llu %s : Couldn't write block %d %s : Didn't find rdb block, should never happen %s : Didn't find rdb block, should never happen.%s : Failed to allocate block %s : Failed to allocate disk_specific rdb block %s : Failed to allocate id list element %s : Failed to allocate partition block %s : Failed to list bad blocks.%s : Failed to list boot blocks.%s : Failed to list file system blocks.%s : Failed to list partition blocks.%s : Failed to read partition block %llu %s : Loop detected at block %d.%s : The %s list seems bad at block %s.%s contains GPT signatures, indicating that it has a GPT table. However, it does not have a valid fake msdos partition table, as it should. Perhaps it was corrupted -- possibly by a program that doesn't understand GPT partition tables. Or perhaps you deleted the GPT table, and are now using an msdos partition table. Is this a GPT partition table?%s disk labels do not support extended partitions.%s disk labels don't support logical or extended partitions.%s during read on %s%s during seek for read on %s%s during seek for write on %s%s during write on %s%s has no extended partition (volume header partition).%s home page: <%s> %s home page: %s is %dk, but it has %d clusters (%dk).%s is too small for a Mac disk label!%s trying to sync %s to disk%s%s argument `%s' too large%s: invalid option -- '%c' %s: option '%c%s' doesn't allow an argument %s: option '%s' is ambiguous %s: option '--%s' doesn't allow an argument %s: option '-W %s' doesn't allow an argument %s: option '-W %s' is ambiguous %s: option requires an argument -- '%c' %s: unrecognised disk label%s: unrecognized option '%c%s' %s: unrecognized option '--%s' ''mkpart' makes a partition without creating a new file system on the partition. FS-TYPE may be specified to set an appropriate partition ID. 'version' displays copyright and version information corresponding to this copy of GNU Parted (C)A %s %s partition was found at %s -> %s. Do you want to add it to the partition table?A bug has been detected in GNU Parted. Refer to the web site of parted http://www.gnu.org/software/parted/parted.html for more information of what could be useful for bug submitting! Please email a bug report to bug-parted@gnu.org containing at least the version (%s) and the following message: A data set name is corruptedA reference to an extent comes from a place it should not. You should check the file system!A resize operation on this file system will use EXPERIMENTAL code that MAY CORRUPT it (although no one has reported any such damage yet). You should at least backup your data first, and run 'e2fsck -f' afterwards.API version mismatchATARAID ControllerAn error occurred during extent relocation.An error occurred while looking for the mandatory bad blocks file.An extended partition cannot hold a file system. Did you want mkpart?An extent has not been relocated.Assertion (%s) at %s:%d in function %s() failed.Attempt to write sectors %ld-%ld outside of partition on %s.BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s. Backtrace has %d calls on stack: Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or scandisk.Bad FAT: cluster %d outside file system in chain for %s. You should run dosfsck or scandisk.Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk.Bad block list header checksum.Bad blocks could not be read.Bad blocks list could not be loaded.Bad directory entry for %s: first cluster is the end of file marker.Bad journal checksum.Block %i has no reference? Weird.Block %i shouldn't have been marked (%d, %d)!Both the primary and backup GPT tables are corrupt. Try making a fresh table, and using Parted's rescue feature to recover partitions.BugCOMMANDs:Can't add a logical partition to %s, because there is no extended partition.Can't add another partition -- the partition map is too small!Can't add another partition.Can't copy an extended partition.Can't copy onto an overlapping partition.Can't create any more partitions.Can't have a logical partition outside of the extended partition on %s.Can't have a partition outside the disk!Can't have a primary partition inside an extended partition.Can't have logical partitions outside of the extended partition.Can't have more than one extended partition on %s.Can't have overlapping partitions.Can't have the end before the start! (start sector=%jd length=%jd)Can't move a partition onto itself. Try using resize, perhaps?Can't move an extended partition.Can't write to %s, because it is opened read-only.CancelCannot get unit size for special unit 'COMPACT'.Changing the name of a root or swap partition will prevent Linux from recognising it as such.Checksum is wrong, indicating the partition table is corrupt.Clear unused space on a FAT partition (a GNU Parted testing tool). Cluster start delta = %d, which is not a multiple of the cluster size %d.Compaq Smart ArrayConflicting partition map entry sizes! Entry 1 says it is %d, but entry %d says it is %d!Copyright (C) 1998 - 2006 Free Software Foundation, Inc. This program is free software, covered by the GNU General Public License. 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. Corrupted Sun disk label detected.Could not cache the file system in memory.Could not detect file system.Could not determine physical sector size for %s. Using the logical sector size (%lld).Could not determine sector size for %s: %s. Using the default sector size (%lld).Could not find sector %lli of HFS file with CNID %X.Could not find sector %lli of HFS+ file with CNID %X.Could not get identity of device %s - %sCould not read VTOC FMT1 DSCB.Could not read VTOC FMT4 DSCB.Could not read VTOC FMT5 DSCB.Could not read VTOC FMT7 DSCB.Could not read VTOC labels.Could not read volume label.Could not retrieve API version.Could not retrieve blocksize information.Could not retrieve disk geometry information.Could not retrieve disk information.Could not stat device %s - %s.Could not update the extent cache for HFS file with CNID %X.Could not update the extent cache for HFS+ file with CNID %X.Could not write VTOC FMT1 DSCB.Could not write VTOC FMT4 DSCB.Could not write VTOC FMT5 DSCB.Could not write VTOC FMT7 DSCB.Could not write VTOC labels.Could not write volume label.Couldn't create reiserfs device abstraction handler.Couldn't flush buffer cache!Couldn't reopen device abstraction layer for read/write.Couldn't resolve symbol %s. Error: %s.Cross-linked blocks found! Better go run e2fsck first!DAC960 RAID controllerDEVICE is usually /dev/hda or /dev/sda Data relocation has failed.Data relocation left some data at the end of the volume.Data relocation left some data in the end of the volume.Destination partition number?Device %s has multiple (%d) logical sectors per physical sector. GNU Parted supports this EXPERIMENTALLY for some special disk label/file system combinations, e.g. GPT and ext2/3. Please consult the web site for up-to-date information.Device is too small for %lu blocks.Device verification failedDirect support for copying file systems is not yet implemented for %s. However, support for resizing is implemented. Therefore, the file system can be copied if the new partition is at least as big as the old one. So, either shrink the partition you are trying to copy, or copy to a bigger partition.Disk %s: %s Disk ImageDisk is in useEndEnd?ErrorError allocating buffer cache.Error fsyncing/closing %s: %sError initialising SCSI device %s - %sError opening %s: %sError while writing the allocation file.Error while writing the compatibility part of the allocation file.Error writing to the root directory.Expecting a disk label type.Expecting a file system type.Expecting a partition number.Expecting a partition type.Extended partitions cannot be hidden on msdos disk labels.FAT %d media %x doesn't match the boot sector's media %x. You should probably run scandisk.FAT boot sector says clusters are 0 sectors. This is weird. FAT boot sector says logical sector size is 0. This is weird. FAT boot sector says there are no FAT tables. This is weird. FLAG is one of: FS-TYPE is one of: Failed to write partition block at %d.FatalFatal errorFile System: %s File systemFile system doesn't have expected sizes for Windows to like it. Cluster size is %dk (%dk expected); number of clusters is %d (%d expected); size of FATs is %d sectors (%d expected).File system full!File system has an incompatible feature enabled. Compatible features are has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs or debugfs to remove features.File system has an invalid cluster size for a FAT file system.File system has an invalid number of FATs.File system has an invalid number of reserved sectors for a FAT file system.File system has an invalid sector size for a FAT file system.File system has an invalid signature for a FAT file system.File system has errors! You should run e2fsck.File system has too many allocated inodes to remove a group!File system is FAT12, which is unsupported.File system is reporting the free space as %d clusters, not %d clusters.File system is too full to remove a group!File system too small for ext2.File system type?File system was not cleanly unmounted! You should run e2fsck.File system was not cleanly unmounted! You should run e2fsck. Modifying an unclean file system could cause severe corruption.FixFlag to Invert?FlagsFlags: %s Found an inode with a incorrect link count. Better go run e2fsck first!Free SpaceGNU Parted cannot resize this partition to this size. We're working on it!GNU Parted found an invalid libreiserfs library.GNU Parted has detected libreiserfs interface version mismatch. Found %d-%d, required %d. ReiserFS support will be disabled.GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT support will be disabled.General help using GNU software: Generic IDEGeneric SD/MMC Storage CardI2O ControllerIBM S390 DASD driveIBM iSeries Virtual DASDIf you convert to FAT16, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual).If you convert to FAT32, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual). Also, converting to FAT32 will make the file system unreadable by MS DOS, MS Windows 95a, and MS Windows NT.If you leave your file system as FAT16, then you will have no problems.If you leave your file system as FAT32, then you will not introduce any new problems.IgnoreInconsistent group descriptors!Incorrect magic values in the journal header.Inform the operating system about partition table changes. -d, --dry-run do not actually inform the operating system -s, --summary print a summary of contents -h, --help display this help and exit -v, --version output version information and exit InformationInvalid VTOC.Invalid back referenceInvalid character class nameInvalid collation characterInvalid content of \{\}Invalid free blocks count. Run reiserfsck --check first.Invalid number.Invalid partition table - recursive partition on %s.Invalid partition table on %s -- wrong signature %x.Invalid partition table on %s.Invalid preceding regular expressionInvalid range endInvalid regular expressionInvalid signature %x for Mac disk labels.Invalid size of a transaction block while replaying the journal (%i bytes).Invalid superblock. Are you sure this is an ext2 file system?It seems there is an error in the HFS wrapper: the bad blocks file doesn't contain the embedded HFS+ volume.Journal offset or size is not multiple of the sector size.Journal size mismatch between journal info block and journal header.Journal stored outside of the volume are not supported. Try to desactivate the journal and run Parted again.LABEL-TYPE is one of: Linux device-mapper (%s)Maximum size: Memory allocation failedMemory exhaustedMinimum size: Minor: %d Model: %s (%s) NAME is any word you want NUMBER is the partition number used by Linux. On MS-DOS disk labels, the primary partitions number from 1 to 4, logical partitions from 5 onwards. NameNew device?New disk label type?New state?NoNo ImplementationNo device foundNo matchNo previous regular expressionNo room for partition info.No room for volume label.No valid HFS[+X] signature has been found while opening.No valid partition map found.Not all of the space available to %s appears to be used, you can fix the GPT to use all of the space (an extra %llu blocks) or continue with the current setting? Not enough free inodes!NumberOKOPTIONs:Only logical partitions can be a boot file.Only primary partitions can be root partitions.Only primary partitions can be swap partitions.Out of memory.PART-TYPE is one of: primary, logical, extended Packaged by %s Packaged by %s (%s) Parted can't resize partitions managed by Windows Dynamic Disk.Parted can't use HFS file systems on disks with a sector size not equal to %d bytes.Partition %d has an invalid length of 0 bytes!Partition %d has an invalid signature %x.Partition %d is %s, but the file system is %s.Partition %d isn't aligned to cylinder boundaries. This is still unsupported.Partition %s is being used. You must unmount it before you modify it with Parted.Partition Table: %s Partition doesn't exist.Partition map has no partition map entry!Partition name?Partition number?Partition too big/small for a %s file system.Partition type?Partition(s) on %s are being used.Premature end of regular expressionPromise SX8 SATA DeviceRegular expression too bigReiserfs tree seems to be corrupted. Run reiserfsck --check first.Report %s bugs to: %s Resizing the HFS+ volume has failed.RetrySTART and END are disk locations, such as 4GB or 10%. Negative values count from the end of the disk. For example, -1s specifies exactly the last sector. STATE is one of: on, off Sector size (logical/physical): %lldB/%lldB SizeSize: Some header fields are not multiple of the sector size.Sorry, HFS cannot be resized that way yet.Sorry, HFS+ cannot be resized that way yet.Sorry, can't move the start of ext2 partitions yet!Sorry, can't move the start of reiserfs partitions yet.Source device?Source partition number?StartStart?SuccessSun disk label is full.Support for adding partitions to AIX disk labels is not implemented yet.Support for checking %s file systems is not implemented yet.Support for copying %s file systems is not implemented yet.Support for creating %s file systems is not implemented yet.Support for duplicating partitions in AIX disk labels is not implemented yet.Support for opening %s file systems is not implemented yet.Support for reading AIX disk labels is is not implemented yet.Support for resizing %s file systems is not implemented yet.Support for setting flags in AIX disk labels is not implemented yet.Support for setting system type of partitions in AIX disk labels is not implemented yet.Support for writing AIX disk labels is is not implemented yet.Syntax error in config fileThe FATs don't match. If you don't know what this means, then select cancel, run scandisk on the file system, and then come back.The Whole Disk partition is the only available one left. Generally, it is not a good idea to overwrite this partition with a real one. Solaris may not be able to boot without it, and SILO (the sparc boot loader) appreciates it as well.The backup GPT table is corrupt, but the primary appears OK, so that will be used.The backup GPT table is not at the end of the disk, as it should be. This might mean that another operating system believes the disk is smaller. Fix, by moving the backup to the end (and removing the old backup)?The boot region doesn't start at the start of the partition.The current API version '%d' doesn't match dasd driver API version '%d'!The data region doesn't start at the start of the partition.The device %s has zero length, and can't possibly store a file system or partition table. Perhaps you selected the wrong device?The disk CHS geometry (%d,%d,%d) reported by the operating system does not match the geometry stored on the disk label (%d,%d,%d).The disk has %d cylinders, which is greater than the maximum of 65536.The disk label describes a disk bigger than %s.The driver descriptor says the physical block size is %d bytes, but Linux says it is %d bytes.The existing disk label on %s will be destroyed and all data on this disk will be lost. Do you want to continue?The existing file system will be destroyed and all data on the partition will be lost. Do you want to continue?The ext2 file system passed a basic check. For a more comprehensive check, use the e2fsck program.The extents overflow file should not contain its own extents! You should check the file system.The file %s is marked as a system file. This means moving it could cause some programs to stop working.The file system can only be resized to this size by converting to FAT16.The file system can only be resized to this size by converting to FAT32.The file system contains errors.The file system has the 'dir_index' feature enabled. Parted can only resize the file system if it disables this feature. You can enable it later by running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'.The file system is bigger than its volume!The file system is in an invalid state. Perhaps it is mounted?The file system is in old (unresizeable) format.The file system's CHS geometry is (%d, %d, %d), which is invalid. The partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the file system's CHS geometry will be left unchanged. If you select Fix, the file system's CHS geometry will be set to match the partition table's CHS geometry.The format of the GPT partition table is version %x, which is newer than what Parted can recognise. Please tell us! bug-parted@gnu.orgThe information sector has the wrong signature (%x). Select cancel for now, and send in a bug report. If you're desperate, it's probably safe to ignore.The journal is not empty. Parted must replay the transactions before opening the file system. This will modify the file system.The location %s is outside of the device %s.The maximum head value is %d.The maximum sector value is %d.The partition must have one of the following FS-TYPEs: The partition table cannot be re-read. This means you need to reboot before mounting any modified partitions. You also need to reinstall your boot loader before you reboot (which may require mounting modified partitions). It is impossible do both things! So you'll need to boot off a rescue disk, and reinstall your boot loader from the rescue disk. Read section 4 of the Parted User documentation for more information.The partition table on %s cannot be re-read (%s). This means the Hurd knows nothing about any modifications you made. You should reboot your computer before doing anything with %s.The partition's boot region doesn't occupy the entire partition.The partition's data region doesn't occupy the entire partition.The primary GPT table is corrupt, but the backup appears OK, so that will be used.The reiserfs file system passed a basic check. For a more comprehensive check, run reiserfsck --check.The resulting partition is not properly aligned for best performance.The sector size stored in the journal is not 512 bytes. Parted only supports 512 bytes length sectors.The specified device is not a valid DASD deviceThe volume header or the master directory block has changed while replaying the journal. You should restart Parted.There are no possible configurations for this FAT type.There's not enough room in the root directory for all of the files. Either cancel, or ignore to lose the files.This HFS volume has no catalog file. This is very unusual!This HFS volume has no extents overflow file. This is quite unusual!This HFS+ volume has no catalog file. This is very unusual!This HFS+ volume has no extents overflow file. This is quite unusual!This command does not make sense in non-interactive mode. This file system has a logical sector size of %d. GNU Parted is known not to work properly with sector sizes other than 512 bytes.This is not a real %s check. This is going to extract special low level files for debugging purposes.This is not an ECKD disk! This disk type is not supported!This libparted doesn't have write support for %s. Perhaps it was compiled read-only.Too many bad pages.Too many primary partitionsToo many primary partitions.Trailing backslashTry `%s --help' for more information. Trying to move an extent from block Ox%X to block Ox%X, but another one already exists at this position. This should not happen!Trying to read HFS file with CNID %X behind EOF.Trying to read HFS+ file with CNID %X behind EOF.Trying to register an extent starting at block 0x%X, but another one already exists at this position. You should check the file system!Trying to write HFS file with CNID %X behind EOF.Trying to write HFS+ file with CNID %X behind EOF.TypeUNIT is one of: Unable to allocate a bsd disklabel slot.Unable to allocate a dasd disklabel slotUnable to allocate a partition number.Unable to determine geometry of file/device %s. You should not use Parted unless you REALLY know what you're doing!Unable to determine the dm type of %s.Unable to determine the size of %s (%s).Unable to open %s read-write (%s). %s has been opened read-only.Unable to open %s.Unable to probe store.Unable to satisfy all constraints on the partition.Unit?UnknownUnknown disk flag, %d.Unknown file system type "%s".Unknown partition flag, %d.Unknown system errorUnmatched ( or \(Unmatched ) or \)Unmatched [ or [^Unmatched \{Unrecognised new style linux swap signature '%10s'.Unrecognised old style linux swap signature '%10s'.Unrecognised swsusp linux swap signature '%9s'.Unsupported disk formatUnsupported disk typeUpdating the HFS wrapper has failed.Usage: %s [-hlmsv] [-a] [DEVICE [COMMAND [PARAMETERS]]...] Usage: %s [OPTION] or: %s DEVICE MINOR Usage: %s [OPTION] [DEVICE]... Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...] Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run in interactive mode. User-Mode Linux UBDUsing %s Valid arguments are:Version %d of HFS+ isn't supported.Version %d of HFSX isn't supported.Virtio Block DeviceVolume label is corruptedWARNING: You are not superuser. Watch out for permissions.WARNING: you are attempting to use %s to operate on (%s) a file system. %s's file system manipulation code is not as robust as what you'll find in dedicated, file-system-specific packages like e2fsprogs. We recommend you use %s only to manipulate partition tables, whenever possible. Support for performing most operations on most types of file systems will be removed in an upcoming release. WarningWeird block size on device descriptor: %d bytes is not divisible by 512.Weird! There are 2 partitions map entries!Welcome to GNU Parted! Type 'help' to view a list of commands. Without arguments, 'print' displays the entire partition table. However with the following arguments it performs various other actions. Would you like to use FAT32?Written by %s and %s. Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, and %s. Written by %s, %s, %s, and %s. Written by %s, %s, and %s. Written by %s. Xen Virtual Block DeviceYesYou may need to update /etc/fstab. You need %s of free disk space to shrink this partition to this size. Currently, only %s is free.You requested a partition from %s to %s. The closest location we can manage is %s to %s.%sYou should reinstall your boot loader before rebooting. Read section 4 of the Parted User documentation for more information.Your file system has too many occupied inodes to resize it to %i blocks. Sorry.Your file system is too full to resize it to %i blocks. Sorry.^[nN]^[yY]`adding groupsalign-checkalign-check TYPE N check partition N for TYPE(min|opt) alignmentalignment for new partitionsalignment type(min/opt)ambiguous argument %s for %satvrecvbios_grubbootcheckcheck NUMBER do a simple check on the file systemcheckingchecking for bad blockscopyingcpcp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another partitioncreatingcylinder_alignmentdesired alignment: minimum or optimaldisplays machine parseable outputdisplays the versiondisplays this help messageend of file while reading %sexpandingextendedfailed to set dvh partition name to %s: Only logical partitions (boot files) have a name.fat_table_alloc_cluster: no free clustersfat_table_get: cluster %ld outside file systemfat_table_set: cluster %ld outside file systemfreegrowing file systemhelphelp [COMMAND] print general help, or help on COMMANDhiddenhp-serviceinvalid %s%s argument `%s'invalid argument %s for %sinvalid minor device number: %sinvalid suffix in %s%s argument `%s'invalid token: %sioctl() errorlbalists partition layout on all block deviceslogicallvmmemory exhaustedmetadataminimalmkfsmkfs NUMBER FS-TYPE make a FS-TYPE file system on partition NUMBERmklabelmklabel,mktable LABEL-TYPE create a new disklabel (partition table)mkpartmkpart PART-TYPE [FS-TYPE] START END make a partitionmkpartfsmkpartfs PART-TYPE FS-TYPE START END make a partition with a file systemmktablemovemove NUMBER START END move partition NUMBERmsftresnamename NUMBER NAME name partition NUMBER as NAMEnever prompts for user interventionoffonopen erroropening of device failedoptimalpaloparted was unable to re-read the partition table on %s (%s). This means Linux won't know anything about the modifications you made. partition length of %jd sectors exceeds the %s-partition-table-imposed maximum of %jdped_device_new() Unsupported device typeprepprimaryprimary partition table array CRC mismatchprintprint [devices|free|list,all|NUMBER] display the partition table, available devices, free space, all found partitions, or a particular partitionquitquit exit programraidraw block copyingread errorreading from device failedrescuerescue START END rescue a lost partition near START and ENDresizeresize NUMBER START END resize partition NUMBER and its file systemrmrm NUMBER delete partition NUMBERrootsearching for file systemsseek errorseeking on device failedselectselect DEVICE choose the device to editsetset NUMBER FLAG STATE change the FLAG on partition NUMBERshrinkingshrinking HFS wrappershrinking embedded HFS+ volumestarting sector number, %jd exceeds the %s-partition-table-imposed maximum of %jdswaptoggletoggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBERtoo few argumentstoo many argumentsunitunit UNIT set the default unit to UNITversionversion display the version number and copyright information of GNU Partedwrite errorwriting HFS Master Directory Blockwriting HFS+ Volume Headerwriting per-group metadatawriting to device failedProject-Id-Version: parted 2.2 Report-Msgid-Bugs-To: bug-parted@gnu.org POT-Creation-Date: 2010-05-28 20:30+0200 PO-Revision-Date: 2010-02-27 09:05+0900 Last-Translator: Hiroshi Takekawa Language-Team: Japanese Language: ja MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit GNU Parted ã®ãƒã‚°ã‚’発見ã—ã¾ã—ãŸï¼ パニックを起ã“ã•ãªã„ã§ãã ã•ã„ï¼ ã“ã®ãƒã‚°ã¯ãŠãらãデータã«ã¯å½±éŸ¿ã‚りã¾ã›ã‚“。 次ã®ã“ã¨ã‚’ã—ã¦ã“ã®ãƒã‚°ã®ä¿®æ­£ã«ã”å”力ãã ã•ã„。 次ã®ã‚µã‚¤ãƒˆã«æœ€æ–°ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒã‚りã¾ã™ã€‚ æ—¢ã«ã“ã®ãƒã‚°ãŒä¿®æ­£ã•れã¦ã„ãªã„ã‹ç¢ºèªã—ã¦ãã ã•ã„。 http://ftp.gnu.org/gnu/parted/ ãƒã‚°ãƒ¬ãƒãƒ¼ãƒˆã‚’ã™ã‚‹å‰ã«æœ€æ–°ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ç¢ºèªã—ã¦ãã ã•ã„。 ã¾ã ãƒã‚°ãŒä¿®æ­£ã•れã¦ã„ãªã„ã‹ã€ç¢ºèªã®ä»•æ–¹ãŒã‚ã‹ã‚‰ãªã„å ´åˆã€ GNU Parted ã® web サイト http://www.gnu.org/software/parted ã‚’é–‹ã„ã¦ã€è©³ã—ã„æƒ…報を調ã¹ã¦ãã ã•ã„。 レãƒãƒ¼ãƒˆã«ã¯ã€ã“ã® Parted ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³æƒ…å ± (%s) ã¨ã€ 下ã«è¡¨ç¤ºã•れã¦ã„ã‚‹ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã€æ¬¡ã®ã‚³ãƒžãƒ³ãƒ‰ parted DEVICE unit co print unit s print ã®å‡ºåŠ›ã¨ã€ã‚³ãƒžãƒ³ãƒ‰å±¥æ­´ã€ ãã®ä»–é‡è¦ã¨æ€ã†æƒ…報を記述ã—ã¦ãã ã•ã„。 コマンド履歴: エラー: SIGFPE シグナルをå—ã‘ã¨ã‚Šã¾ã—ãŸã€‚ エラー: SIGILL シグナルをå—ã‘ã¨ã‚Šã¾ã—ãŸã€‚ エラー: SIGSEGV シグナルをå—ã‘ã¨ã‚Šã¾ã—ãŸã€‚ エラー: FPE_FLTDIV (æµ®å‹•å°æ•°ç‚¹: 0ã«ã‚ˆã‚‹é™¤ç®—) エラー: FPE_FLTINV (æµ®å‹•å°æ•°ç‚¹: 䏿­£ãªæ“作) エラー: FPE_FLTOVF (æµ®å‹•å°æ•°ç‚¹: オーãƒãƒ¼ãƒ•ロー) エラー: FPE_FLTRES (æµ®å‹•å°æ•°ç‚¹: æ­£ã—ããªã„çµæžœ) エラー: FPE_FLTSUB (æµ®å‹•å°æ•°ç‚¹: 添字ãŒç¯„囲を越ãˆã¾ã—ãŸ) エラー: FPE_FLTUND (æµ®å‹•å°æ•°ç‚¹: アンダーフロー) エラー: FPE_INTDIV (æ•´æ•°: 0ã«ã‚ˆã‚‹é™¤ç®—) エラー: FPE_INTOVF (æ•´æ•°: オーãƒãƒ¼ãƒ•ロー) エラー: ILL_BADSTK (インターナルスタックエラー) エラー: ILL_COPROC (コプロセッサエラー) エラー: ILL_ILLADR (䏿­£ãªã‚¢ãƒ‰ãƒ¬ã‚¹ãƒ¢ãƒ¼ãƒ‰) エラー: ILL_ILLOPC (䏿­£ãªã‚ªãƒšã‚³ãƒ¼ãƒ‰) エラー: ILL_ILLOPN (䏿­£ãªã‚ªãƒšãƒ©ãƒ³ãƒ‰) エラー: ILL_ILLTRP (䏿­£ãªãƒˆãƒ©ãƒƒãƒ—) エラー: ILL_PRVOPC (特権ãŒå¿…è¦ãªã‚ªãƒšã‚³ãƒ¼ãƒ‰) エラー: ILL_PRVREG (特権ãŒå¿…è¦ãªãƒ¬ã‚¸ã‚¹ã‚¿) エラー: SEGV_ACCERR (マップã•れãŸã‚ªãƒ–ジェクトã®ãƒ‘ーミッションãŒä¸æ­£ã§ã™) エラー: SEGV_MAPERR (アドレスãŒã‚ªãƒ–ジェクトã«å¤‰æ›ã•れã¾ã›ã‚“ã§ã—ãŸ) ãれã§ã‚‚ã‹ã¾ã„ã¾ã›ã‚“ã‹ï¼Ÿ ライセンス GPLv3+: GNU GPL ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 3 ã‚ã‚‹ã„ã¯ãれ以é™ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ ã“ã®ã‚½ãƒ•トウェアã¯ãƒ•リーソフトウェアã§ã™ã€‚自由ã«å¤‰æ›´ã€å†é…布ãŒã§ãã¾ã™ã€‚ 法律ãŒè¨±ã™ã‹ãŽã‚Šã€å…¨ãã®ç„¡ä¿è¨¼ã§ã™ã€‚ ãƒã‚°ãƒ¬ãƒãƒ¼ãƒˆã¯ <%s> ã¸ã€‚ ãƒã‚°ãƒ¬ãƒãƒ¼ãƒˆã¯ %s ã¸ã€‚ デãƒã‚¤ã‚¹ã®æŒ‡å®šãŒãªã„å ´åˆã¯ã€å…¨ãƒ‘ーティションを調ã¹ã¾ã™ã€‚ --help ã“ã®ãƒ˜ãƒ«ãƒ—を表示ã—終了 --version ãƒãƒ¼ã‚¸ãƒ§ãƒ³æƒ…報を表示ã—終了 NUMBER : 指定ã—ãŸãƒ‘ーティションã«ã¤ã„ã¦ã‚ˆã‚Šè©³ã—ã„æƒ…報を表示 devices : å…¨ã¦ã®ã‚¢ã‚¯ãƒ†ã‚£ãƒ–ãªãƒ–ロックデãƒã‚¤ã‚¹ã‚’表示 free : カレントブロックデãƒã‚¤ã‚¹ã®ãƒ‘ーティションã«å«ã¾ã‚Œã¦ã„ãªã„空ã領域情報を表示 list, all : アクティブãªå…¨ãƒ–ロックデãƒã‚¤ã‚¹ã®ãƒ‘ーティションテーブルを表示 "%s" ã«ã¯ä½ç½®ã«ã¤ã„ã¦èª¤ã‚ŠãŒã‚りã¾ã™ã€‚%0.f%% (残り時間 %.2d:%.2d)%s %s%s %s %s%s : ブロック %llu (タイプ %s) ã®ãƒã‚§ãƒƒã‚¯ã‚µãƒ ãŒä¸æ­£ã§ã™ %s : ブロック %llu (type %s) ã®ãƒã‚§ãƒƒã‚¯ã‚µãƒ ãŒä¸æ­£ã§ã™ã€‚%s : ブロック %llu ãŒèª­ã‚ã¾ã›ã‚“ %s : ブートブロック %llu ãŒèª­ã‚ã¾ã›ã‚“ %s : ルートブロック %llu ãŒèª­ã‚ã¾ã›ã‚“ %s : ブロック %d ã«æ›¸ãã“ã‚ã¾ã›ã‚“ %s : rdb ブロックãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。起ã“ã‚‹ã¯ãšã®ãªã„ã“ã¨ã§ã™ã€‚ %s : rdb ブロックãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚ã“れã¯ã‚ã£ã¦ã¯ãªã‚‰ãªã„ã“ã¨ã§ã™ã€‚%s : ブロックã®ç¢ºä¿ã«å¤±æ•—ã—ã¾ã—ãŸã€‚ %s : disk_specific rdb ブロックãŒç¢ºä¿ã§ãã¾ã›ã‚“ %s : id list element ãŒç¢ºä¿ã§ãã¾ã›ã‚“ %s : パーティションブロックã®ç¢ºä¿ã«å¤±æ•—ã—ã¾ã—ãŸã€‚ %s : 䏿­£ãªãƒ–ロックã®ä¸€è¦§ã‚’得られã¾ã›ã‚“ã§ã—ãŸã€‚%s : ブートブロックã®ä¸€è¦§ã‚’得られã¾ã›ã‚“ã§ã—ãŸã€‚%s : ファイルシステムブロックã®ä¸€è¦§ã‚’得られã¾ã›ã‚“ã§ã—ãŸã€‚%s : パーティションブロックã®ä¸€è¦§ã‚’得られã¾ã›ã‚“ã§ã—ãŸã€‚%s : パーティションブロック %llu ãŒèª­ã‚ã¾ã›ã‚“ %s : ブロック %d ã«ãƒ«ãƒ¼ãƒ—ãŒç™ºè¦‹ã•れã¾ã—ãŸã€‚%s : %s リストãŒãŠã‹ã—ã„よã†ã§ã™(ブロック %s)。%s 㯠GPT テーブルã®å­˜åœ¨ã‚’示㙠GPT ã®ã‚·ã‚°ãƒãƒãƒ£ã‚’å«ã‚“ã§ã„ã¾ã™ãŒã€æŒã£ã¦ã„ã‚‹ã¹ã見ã›ã‹ã‘ã® msdos パーティションテーブルをæŒã£ã¦ã„ã¾ã›ã‚“。ãŠãらã壊れã¦ã„ã‚‹ã®ã§ã—ょã†ã€‚GPT パーティションテーブルをç†è§£ã—ãªã„プログラムãŒå£Šã—ã¦ã—ã¾ã£ãŸã®ã‹ã‚‚ã—れã¾ã›ã‚“。ã‚ã‚‹ã„ã¯ã€GPT テーブルを自ら消ã—ã¦ã„ã¦ã€msdos パーティションテーブルを使ã£ã¦ã„ã‚‹ã®ã‹ã‚‚ã—れã¾ã›ã‚“。ã“ã®ãƒ†ãƒ¼ãƒ–ル㯠GPT パーティションテーブルã§ã™ã‹ï¼Ÿ%s ã®ãƒ‡ã‚£ã‚¹ã‚¯ãƒ©ãƒ™ãƒ«ã¯æ‹¡å¼µãƒ‘ーティションをサãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“。%s ã®ãƒ‡ã‚£ã‚¹ã‚¯ãƒ©ãƒ™ãƒ«ã¯è«–ç†ãƒ‘ーティションや拡張パーティションをサãƒãƒ¼ãƒˆã—ã¦ã¾ã›ã‚“%s: %s ã‹ã‚‰èª­ã¿è¾¼ã¿ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚%s: %s ã‹ã‚‰èª­ã¿è¾¼ã¿ä¸­ã®ã‚·ãƒ¼ã‚¯ã§ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚%s: %s ã«æ›¸ãã“ã¿ä¸­ã®ã‚·ãƒ¼ã‚¯ã§ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚%s: %s ã«æ›¸ãã“ã¿ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚%s ã¯ä¸€ã¤ã‚‚拡張パーティション(ボリュームヘッダパーティション)をæŒã£ã¦ã„ã¾ã›ã‚“。%s ホームページ: <%s> %s ホームページ: %s 㯠%dk ã§ã™ãŒã€%d クラスタ(%dk)ã‚りã¾ã™ã€‚%s 㯠Mac ディスクラベルã«ã¯å°ã•ã™ãŽã¾ã™ã€‚%s: %s ã‚’åŒæœŸä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚%s%s ã®å¼•æ•° `%s' ã¯å¤§ãã™ãŽã¾ã™%s: '%c' ã¯ä¸æ­£ãªã‚ªãƒ—ションã§ã™ %s: オプション '%c%s' ã¯å¼•æ•°ã‚’å—ã‘ã¨ã‚Šã¾ã›ã‚“ %s: オプション '%s' ã¯ã„ãã¤ã‹ã®æ„味ã«ã¨ã‚Œã¦ã—ã¾ã„ã¾ã™ %s: オプション '--%s' ã¯å¼•æ•°ã‚’å—ã‘ã¨ã‚Šã¾ã›ã‚“ %s: オプション '-W %s' ã¯å¼•æ•°ã‚’å—ã‘ã¨ã‚Šã¾ã›ã‚“ %s: オプション '-W %s' ã¯ã„ãã¤ã‹ã®æ„味ã«ã¨ã‚Œã¦ã—ã¾ã„ã¾ã™ %s: '%c' ã«ã¯å¼•æ•°ãŒå¿…è¦ã§ã™ %s: ディスクラベルãŒèªè­˜ã§ãã¾ã›ã‚“。%s: '%c%s' ã¯èªè­˜ã§ããªã„オプションã§ã™ %s: '--%s' ã¯èªè­˜ã§ããªã„オプションã§ã™ 'mkpart ã¯ãƒ‘ーティションã ã‘ä½œã‚Šã€æ–°ã—ã„ファイルシステムã¯ä½œã‚Šã¾ã›ã‚“。ファイルシステムã®ç¨®é¡žã‚’指定ã™ã‚‹ã¨ã€æ­£ã—ã„IDãŒè¨­å®šã•れã¾ã™ã€‚ version ã¯ã€å®Ÿè¡Œä¸­ã® GNU Parted ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã¨è‘—作権情報を表示ã—ã¾ã™ã€‚ (C)%s %s パーティション㌠%s → %s ã®å ´æ‰€ã«ç™ºè¦‹ã•れã¾ã—ãŸã€‚ã“ã®ãƒ‘ーティションをパーティションテーブルã«è¿½åŠ ã—ã¾ã™ã‹ï¼ŸGNU parted ã«ãƒã‚°ãŒè¦‹ã¤ã‹ã‚Šã¾ã—ãŸã€‚http://www.gnu.org/software/parted/parted.html を見ã¦ã€ä½•を報告ã™ã‚Œã°ãƒã‚°ãƒ¬ãƒãƒ¼ãƒˆã¨ã—ã¦å½¹ç«‹ã¤ã‹çŸ¥ã£ã¦ãã ã•ã„。bug-parted@gnu.org ã«æœ€ä½Žé™ version(%s) ã¨ä»¥ä¸‹ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’å«ã‚ã¦ãƒ¡ãƒ¼ãƒ«ã§é€ã£ã¦ãã ã•ã„: データセットåãŒå£Šã‚Œã¦ã„ã¾ã™extent ã¸ã®å‚ç…§ã¯ã‚りãˆãªã„ã¨ã“ã‚ã‹ã‚‰ãªã•れã¦ã„ã¾ã™ã€‚ファイルシステムをãƒã‚§ãƒƒã‚¯ã—ã¦ãã ã•ã„。ã“ã®ãƒ•ァイルシステムã®ãƒªã‚µã‚¤ã‚ºã®ã‚³ãƒ¼ãƒ‰ã¯è©¦é¨“中ã®ãŸã‚ã€ãƒ•ァイルシステムを 壊ã™å¯èƒ½æ€§ãŒã‚りã¾ã™(ã¾ã èª°ã‚‚ãã†ã„ã†ã“ã¨ãŒèµ·ããŸã¨ã¯è¨€ã£ã¦ãã¦ã„ã¾ã›ã‚“ãŒ)。 å°‘ãªãã¨ã‚‚ã¾ãšãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã‚’ã—ã¦ã‹ã‚‰è¡Œã„ã€ãã®å¾Œ 'e2fsck -f' を実行ã—ã¦ãã ã•ã„。API ãƒãƒ¼ã‚¸ãƒ§ãƒ³ä¸æ•´åˆATA RAID コントローラextent ã®å†é…置中ã«ã‚¨ãƒ©ãƒ¼ã¯ç™ºç”Ÿã—ã¾ã—ãŸã€‚䏿­£ãƒ–ロック一覧ファイルを探ã—ã¦ã„ã‚‹ã¨ãã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚拡張パーティションã«ã¯ãƒ•ァイルシステムã¯ä½œã‚Œã¾ã›ã‚“。mkpart ã‚’ã—ãŸã„ã®ã§ã™ã‹ï¼Ÿextent ã¯å†é…ç½®ã•れã¾ã›ã‚“ã§ã—ãŸã€‚Assertion (%s) at %s:%d in function %s() failed.書ã込もã†ã¨ã—ãŸã‚»ã‚¯ã‚¿ (%ld-%ld) 㯠%s 上ã®ãƒ‘ーティションã®å¤–ã«ã‚りã¾ã™ã€‚BIOS シリンダã€ãƒ˜ãƒƒãƒ‰ã€ã‚»ã‚¯ã‚¿ geometry: %d,%d,%d. 1シリンダ㯠%s。 Backtrace has %d calls on stack: FATã«ã‚ã‚„ã¾ã‚ŠãŒã‚りã¾ã™ã€‚クラスタ %d(%s ã®chain)ãŒcross-linkã—ã¦ã„ã¾ã™ã€‚dosfsckã‚„scandiskを実行ã™ã‚‹ã¹ãã§ã™ã€‚FAT ã«ã‚ã‚„ã¾ã‚ŠãŒã‚りã¾ã™ã€‚クラスタ %d(%s ã® chain)ã¯ãƒ•ァイルシステムã®å¤–ã«ã‚りã¾ã™ã€‚dosfsck ã‚„ scandisk を実行ã™ã‚‹ã¹ãã§ã™ã€‚FAT ã«ã‚ã‚„ã¾ã‚ŠãŒã‚りã¾ã™ã€‚%s ã® chain ãŒçµ‚了ã—ã¾ã›ã‚“。dosfsck ã‚„ scandisk を実行ã™ã‚‹ã¹ãã§ã™ã€‚ブロックリストヘッダã®ãƒã‚§ãƒƒã‚¯ã‚µãƒ ãŒä¸æ­£ã§ã™ã€‚䏿­£ãªãƒ–ロックã¯èª­ã‚ã¾ã›ã‚“ã§ã—ãŸã€‚䏿­£ãƒ–ロック一覧ファイルãŒèª­ã¿ã“ã‚ã¾ã›ã‚“ã§ã—ãŸã€‚%s ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚¨ãƒ³ãƒˆãƒªãŒä¸è‰¯ã§ã™: 最åˆã®ã‚¯ãƒ©ã‚¹ã‚¿ãŒãƒ•ァイルã®çµ‚了を表ã‚ã™ãƒžãƒ¼ã‚¯ã«ãªã£ã¦ã„ã¾ã™ã€‚ジャーナルã®ãƒã‚§ãƒƒã‚¯ã‚µãƒ ãŒä¸æ­£ã§ã™ã€‚ブロック %i ã¯ä½•ã‚‚å‚ç…§ã—ã¦ã„ã¾ã›ã‚“。ãŠã‹ã—ã„ã§ã™ã€‚ブロック %i ã¯ãƒžãƒ¼ã‚¯ã•れã¦ã„ãªã„ã¯ãšã§ã™(%d, %d)。プライマリ GPT テーブルã¨ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã®ä¸¡æ–¹ãŒå£Šã‚Œã¦ã„ã¾ã™ã€‚æ–°ãŸã«ãƒ†ãƒ¼ãƒ–ルを作りãªãŠã—ã¦ã€Parted ã®ä¿®å¾©æ©Ÿèƒ½ã‚’用ã„ã¦ãƒ‘ーティションã®ä¿®å¾©ã‚’試ã¿ã¾ã™ã€‚ãƒã‚°ã‚³ãƒžãƒ³ãƒ‰:拡張パーティションãŒãªã„ã®ã§ã€è«–ç†ãƒ‘ーティションを %s ã«ä½œã‚Œã¾ã›ã‚“。パーティションを追加ã§ãã¾ã›ã‚“。パーティションマップãŒå°ã•ã™ãŽã¾ã™ã€‚パーティションを追加ã§ãã¾ã›ã‚“。拡張パーティションã¯ã‚³ãƒ”ーã§ãã¾ã›ã‚“。é‡ãªã‚Šã®ã‚るパーティションã«ã¯ã‚³ãƒ”ーã§ãã¾ã›ã‚“。パーティションを追加ã§ãã¾ã›ã‚“。%s ã®æ‹¡å¼µãƒ‘ーティションã®å¤–ã«è«–ç†ãƒ‘ーティションã¯ä½œã‚Œã¾ã›ã‚“。ディスクã®å¤–å´ã«ãƒ‘ーティションã¯ä½œã‚Œã¾ã›ã‚“。拡張パーティション内ã«ãƒ—ライマリパーティションã¯ä½œã‚Œã¾ã›ã‚“。論ç†ãƒ‘ーティションを拡張パーティションã®å¤–ã«ã¯æŒã¦ã¾ã›ã‚“。%s ã«ã¯ 1 個ã—ã‹æ‹¡å¼µãƒ‘ーティションを作れã¾ã›ã‚“。é‡ãªã‚Šã®ã‚ã‚‹ãƒ‘ãƒ¼ãƒ†ã‚£ã‚·ãƒ§ãƒ³ã¯æŒã¦ã¾ã›ã‚“。終了ä½ç½®ã‚’é–‹å§‹ä½ç½®ã®å‰ã«ã¯å‹•ã‹ã›ã¾ã›ã‚“(開始セクタ=%jd é•·ã•=%jd)。自分自身ã®ä¸Šã«ã¯ç§»å‹•ã§ãã¾ã›ã‚“。リサイズã—よã†ã¨ã—ã¦ã‚‹ã®ã§ã™ã‹ï¼Ÿæ‹¡å¼µãƒ‘ーティションã¯ç§»å‹•ã§ãã¾ã›ã‚“。読ã¿è¾¼ã¿ã®ã¿ãŒå¯èƒ½ãªã‚ˆã†ã«ã‚ªãƒ¼ãƒ—ンã•れã¦ã„ã‚‹ã®ã§ã€%sã«æ›¸ãã“ã‚ã¾ã›ã‚“ã€‚å–æ¶ˆ(C)特別ãªå˜ä½ã§ã‚ã‚‹ 'COMPACT' ã®å˜ä½ã‚ãŸã‚Šã®ã‚µã‚¤ã‚ºã‚’得られã¾ã›ã‚“。root ã«ä½¿ã‚れã¦ã„るパーティションや swap パーティションã®åå‰ã‚’変更ã™ã‚‹ã¨ Linux ãŒãれらをãã†ã¨èªè­˜ã§ããªããªã‚Šã¾ã™ã€‚ãƒã‚§ãƒƒã‚¯ã‚µãƒ ã®å€¤ãŒé•ã„ã¾ã™ã€‚パーティションテーブルãŒå£Šã‚Œã¦ã„ã¾ã™ã€‚FAT ãƒ‘ãƒ¼ãƒ†ã‚£ã‚·ãƒ§ãƒ³ä¸Šã®æœªä½¿ç”¨é ˜åŸŸã‚’クリアã—ã¾ã™ (GNU Parted ã®ãƒ†ã‚¹ãƒˆãƒ„ール)。 Cluster start delta = %d ã“れã¯ã‚¯ãƒ©ã‚¹ã‚¿ã‚µã‚¤ã‚º %d ã®å€æ•°ã§ã¯ã‚りã¾ã›ã‚“。Compaq Smart Arrayパーティションマップã®ã‚¨ãƒ³ãƒˆãƒªã®ã‚µã‚¤ã‚ºãŒä¸€è‡´ã—ã¾ã›ã‚“。エントリ 1 ã«ã‚ˆã‚Œã° %d ã§ã™ãŒã€ã‚¨ãƒ³ãƒˆãƒª %d ã«ã‚ˆã‚Œã° %d ã§ã™ã€‚Copyright (C) 1998 - 2006 Free Software Foundation, Inc. ã“ã®ãƒ—ログラム㯠GPL ã«åŸºã¥ã„ãŸãƒ•リーソフトウェアã§ã™ã€‚ 日本語訳ã«é–¢ã—ã¦ã¯ Hiroshi Takekawa ã¾ã§ãŠã­ãŒã„ã—ã¾ã™ã€‚ æœ¬ãƒ—ãƒ­ã‚°ãƒ©ãƒ ã¯æœ‰ç”¨ã¨ã¯æ€ã„ã¾ã™ãŒã€é ’布ã«ã‚ãŸã£ã¦ã¯ã€ 市場性åŠã³ç‰¹å®šç›®çš„é©åˆæ€§ã«ã¤ã„ã¦ã®æš—é»™ã®ä¿è¨¼ã‚’å«ã‚ã¦ã€ ã„ã‹ãªã‚‹ä¿è¨¼ã‚‚行ãªã„ã¾ã›ã‚“。詳細ã«ã¤ã„ã¦ã¯GNU 一般公有使用許諾書をãŠèª­ã¿ãã ã•ã„。 Sunディスクラベルã®ç ´æã‚’検出ã—ã¾ã—ãŸã€‚ファイルシステムをメモリã«ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã§ãã¾ã›ã‚“。ファイルシステムを検出ã§ãã¾ã›ã‚“。%s ã®ç‰©ç†ã‚»ã‚¯ã‚¿ã‚µã‚¤ã‚ºãŒæ±ºå®šã§ãã¾ã›ã‚“。 è«–ç†ã‚»ã‚¯ã‚¿ã‚µã‚¤ã‚º (%lld) を使ã„ã¾ã™ã€‚%s ã®ã‚»ã‚¯ã‚¿ã‚µã‚¤ã‚ºãŒæ±ºå®šã§ãã¾ã›ã‚“: %s デフォルトã®ã‚»ã‚¯ã‚¿ã‚µã‚¤ã‚º (%lld) を使ã„ã¾ã™ã€‚セクタ %lli (HFS ファイル, CNID %X)ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。セクタ %lli (HFS+ ファイル, CNID %X)ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。デãƒã‚¤ã‚¹ %s ã® identity ã‚’å–å¾—ã§ãã¾ã›ã‚“: %sVTOC FMT1 DSCB ãŒèª­ã‚ã¾ã›ã‚“。VTOC FMT4 DSCB ãŒèª­ã‚ã¾ã›ã‚“。VTOC FMT5 DSCB ãŒèª­ã‚ã¾ã›ã‚“。VTOC FMT7 DSCB ãŒèª­ã‚ã¾ã›ã‚“。VTOC ラベルãŒèª­ã‚ã¾ã›ã‚“。ボリュームラベルãŒèª­ã‚ã¾ã›ã‚“。API ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒå–å¾—ã§ãã¾ã›ã‚“。ブロックサイズ情報ãŒå–å¾—ã§ãã¾ã›ã‚“。ディスクã®ã‚¸ã‚ªãƒ¡ãƒˆãƒªæƒ…å ±ãŒå–å¾—ã§ãã¾ã›ã‚“。ディスク情報ãŒå–å¾—ã§ãã¾ã›ã‚“。デãƒã‚¤ã‚¹ %s を調ã¹ã‚‰ã‚Œã¾ã›ã‚“: %sHFS ファイル(CNID %X)ã® extent cache ã‚’æ›´æ–°ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚HFS+ ファイル(CNID %X)ã® extent cache ã‚’æ›´æ–°ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚VTOC FMT1 DSCB ãŒæ›¸ã‘ã¾ã›ã‚“。VTOC FMT4 DSCB ãŒæ›¸ã‘ã¾ã›ã‚“。VTOC FMT5 DSCB ãŒæ›¸ã‘ã¾ã›ã‚“。VTOC FMT7 DSCB ãŒæ›¸ã‘ã¾ã›ã‚“。VTOC ãƒ©ãƒ™ãƒ«ãŒæ›¸ã‘ã¾ã›ã‚“ã€‚ãƒœãƒªãƒ¥ãƒ¼ãƒ ãƒ©ãƒ™ãƒ«ãŒæ›¸ã‘ã¾ã›ã‚“。reiserfs ã®ãƒ‡ãƒã‚¤ã‚¹æŠ½è±¡åŒ–ãƒãƒ³ãƒ‰ãƒ©ã‚’作æˆã§ãã¾ã›ã‚“。ãƒãƒƒãƒ•ァキャッシュをフラッシュã§ãã¾ã›ã‚“。デãƒã‚¤ã‚¹æŠ½è±¡åŒ–å±¤ã‚’èª­ã¿æ›¸ã用ã«å†ã‚ªãƒ¼ãƒ—ンã§ãã¾ã›ã‚“。シンボル %s を解決ã§ãã¾ã›ã‚“。エラー: %s。Cross-link ã—ã¦ã„るブロックãŒã¿ã¤ã‹ã‚Šã¾ã—ãŸã€‚先㫠e2fsck を実行ã—ãŸæ–¹ãŒã„ã„ã§ã—ょã†ã€‚DAC960 RAID コントローラデãƒã‚¤ã‚¹ã¯ãŸã„ã¦ã„ /dev/hda ã‹ /dev/sda ã§ã™ã€‚ データã®å†é…ç½®ã«å¤±æ•—ã—ã¾ã—ãŸã€‚データã®å†é…置をã—ã¾ã—ãŸãŒã€ãƒœãƒªãƒ¥ãƒ¼ãƒ ã®æœ€å¾Œã«æ®‹ã£ãŸãƒ‡ãƒ¼ã‚¿ãŒã‚りã¾ã™ã€‚データã®å†é…置をã—ã¾ã—ãŸãŒã€ãƒœãƒªãƒ¥ãƒ¼ãƒ ã®æœ€å¾Œã«æ®‹ã£ãŸãƒ‡ãƒ¼ã‚¿ãŒã‚りã¾ã™ã€‚転é€å…ˆã®ãƒ‘ーティション番å·?デãƒã‚¤ã‚¹ %s ã«ã¯ã€ç‰©ç†ã‚»ã‚¯ã‚¿ä¸€ã¤ã«ã¤ã複数 (%dセクタ) ã®è«–ç†ã‚»ã‚¯ã‚¿ãŒã‚りã¾ã™ã€‚ GNU Parted ã¯ã€ã‚る特定ã®ãƒ‡ã‚£ã‚¹ã‚¯ãƒ©ãƒ™ãƒ«ã¨ãƒ•ァイルシステムã®çµ„ã¿åˆã‚ã›ã«ã¤ã„ã¦ã€ã“ã®ã‚ˆã†ãªå ´åˆã‚’「実験的ã«ã€ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚例ãˆã°ã€GPT 㨠ext2/3 ã¨ã„ã£ãŸçµ„ã¿åˆã‚ã›ã§ã™ã€‚ æœ€æ–°ã®æƒ…報㯠web サイトをã”覧ãã ã•ã„。%lu ã«ã¯ãƒ–ロックデãƒã‚¤ã‚¹ãŒå°ã•ã™ãŽã¾ã™ã€‚デãƒã‚¤ã‚¹ã®ãƒ™ãƒªãƒ•ァイã«å¤±æ•—ã—ã¾ã—ãŸã€‚%s ã®ãƒ•ァイルシステムã®ã‚³ãƒ”ーã®ç›´æŽ¥çš„ãªå®Ÿè£…ã¯ã¾ã ã•れã¦ã„ã¾ã›ã‚“。新ã—ã„パーティションãŒå¤ã„ã®ã¨å°‘ãªãã¨ã‚‚åŒã˜ãらã„ã®å¤§ãã•ã§ã‚れã°ã‚³ãƒ”ーã§ãã¾ã™ã€‚リサイズã¯å®Ÿè£…ã•れã¦ã„ã¾ã™ã®ã§ã€ãƒ‘ーティションをå°ã•ãã—ã¦ã‹ã‚‰ã‚³ãƒ”ーã—ã¦ã¿ã‚‹ã‹ã€ã‚‚ã£ã¨å¤§ãã„パーティションã«ã‚³ãƒ”ーã—ã¦ãã ã•ã„。ディスク %s: %s ディスクイメージディスク使用中終了終了?エラーãƒãƒƒãƒ•ァキャッシュを確ä¿ã—ã¦ã‚‹æœ€ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚%s ã‚’ fsync/close 中ã«ã‚¨ãƒ©ãƒ¼: %sSCSI デãƒã‚¤ã‚¹ %s ã®åˆæœŸåŒ–ã«å¤±æ•—ã—ã¾ã—ãŸ: %s%s をオープン中ã«ã‚¨ãƒ©ãƒ¼: %sallocation file を書ãã“ã¿ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚allocation file ã® compatibility part を書ãã“ã¿ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚ãƒ«ãƒ¼ãƒˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«æ›¸ãã“ã¿ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚ディスクラベルã®ç¨®é¡žã‚’入力ã—ã¦ãã ã•ã„。ファイルシステムã®ç¨®é¡žã‚’入力ã—ã¦ãã ã•ã„。パーティション番å·ã‚’入力ã—ã¦ãã ã•ã„。パーティションã®ç¨®é¡žã‚’入力ã—ã¦ãã ã•ã„。MSDOS ãƒ‡ã‚£ã‚¹ã‚¯ãƒ©ãƒ™ãƒ«ã§æ‹¡å¼µãƒ‘ーティションã¯éš ã›ã¾ã›ã‚“。FAT %d media %x ã¯ãƒ–ートセクタã®media %x ã¨ä¸€è‡´ã—ã¾ã›ã‚“。scandisk を実行ã—ãŸæ–¹ãŒã„ã„ã§ã—ょã†ã€‚FAT ã®ãƒ–ートセクタã«ã‚¯ãƒ©ã‚¹ã‚¿ã¯ 0 セクタã§ã‚ã‚‹ã¨æ›¸ã‹ã‚Œã¦ã„ã¾ã™ã€‚ã“れã¯ãŠã‹ã—ã„ã§ã™ã€‚FAT ã®ãƒ–ートセクタã«ã¯è«–ç†ã‚»ã‚¯ã‚¿ã‚µã‚¤ã‚ºãŒ 0 ã¨æ›¸ã‹ã‚Œã¦ã„ã¾ã™ã€ã“れã¯ãŠã‹ã—ã„ã§ã™ã€‚FAT ã®ãƒ–ートセクタ㫠FAT テーブルãŒã‚りã¾ã›ã‚“。ã“れã¯ãŠã‹ã—ã„ã§ã™ã€‚ãƒ•ãƒ©ã‚°ã¯æ¬¡ã®ã†ã¡ã‹ã‚‰é¸ã³ã¾ã™: ファイルシステムã®ç¨®é¡žã¯æ¬¡ã®ã†ã¡ã‹ã‚‰é¸ã³ã¾ã™: パーティションブロック(ブロック %d)ã®æ›¸ãã“ã¿ã«å¤±æ•—ã—ã¾ã—ãŸã€‚致命的エラー致命的ãªã‚¨ãƒ©ãƒ¼ãƒ•ァイルシステム: %s ファイルシステムファイルシステムã®ã‚µã‚¤ã‚ºãŒ Windows ã®æœŸå¾…ã—ãã†ãªã‚µã‚¤ã‚ºã§ã¯ã‚りã¾ã›ã‚“。クラスタサイズ %dk (予想 %dk); ã‚¯ãƒ©ã‚¹ã‚¿ã®æ•° %d (予想 %d); FAT ã®ã‚µã‚¤ã‚º %d セクタ (予想 %d)ファイルシステムãŒã„ã£ã±ã„ã«ãªã‚Šã¾ã—ãŸ!ファイルシステムã¯äº’æ›æ€§ã®ãªã„æ©Ÿèƒ½ãŒæœ‰åйã«ãªã£ã¦ã„ã¾ã™ã€‚äº’æ›æ€§ã®ã‚る機能㯠has_journal, dir_index, filetype, sparse_super ãŠã‚ˆã³ large_file ã§ã™ã€‚tune2fs ã‹ debugfs を使ã£ã¦äº’æ›æ€§ã®ãªã„機能を無効ã«ã—ã¦ãã ã•ã„。ファイルシステムã®ã‚¯ãƒ©ã‚¹ã‚¿ã‚µã‚¤ã‚ºãŒ FAT ファイルシステムã®ã‚‚ã®ã§ã¯ã‚りã¾ã›ã‚“。ファイルシステム㮠FAT ã®æ•°ãŒä¸æ­£ã§ã™ã€‚ファイルシステムã®äºˆç´„ã‚»ã‚¯ã‚¿ã®æ•°ãŒ FAT ファイルシステムã¨ã—ã¦ã¯ä¸æ­£ã§ã™ã€‚ファイルシステムã®ã‚»ã‚¯ã‚¿ã‚µã‚¤ã‚ºãŒ FAT ファイルシステムã®ã‚‚ã®ã§ã¯ã‚りã¾ã›ã‚“。ファイルシステムã®ã‚·ã‚°ãƒãƒãƒ£ãŒ FAT ファイルシステムã®ã‚‚ã®ã§ã¯ã‚りã¾ã›ã‚“。ファイルシステムã«ã‚¨ãƒ©ãƒ¼ãŒã‚りã¾ã™ã€‚先㫠e2fsck を実行ã—ã¦ãã ã•ã„。グループを削除ã™ã‚‹ã«ã¯æœªä½¿ç”¨ã® inode ãŒè¶³ã‚Šã¾ã›ã‚“。FAT12 ã¯ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“。ファイルシステムã®ç©ºã容é‡ã¯ %d クラスタ ã§ã€%d クラスタã§ã¯ã‚りã¾ã›ã‚“。グループを削除ã™ã‚‹ã«ã¯ç©ºã領域ãŒè¶³ã‚Šã¾ã›ã‚“。ext2 ã«ã™ã‚‹ã«ã¯ãƒ•ァイルシステムãŒå°ã•ã™ãŽã¾ã™ã€‚ファイルシステムã®ç¨®é¡ž?クリーン㫠unmount ã•れã¦ã¾ã›ã‚“ã§ã—ãŸã€‚ã¾ãšã€e2fsck を実行ã—ã¦ãã ã•ã„。クリーン㫠unmount ã•れã¦ã¾ã›ã‚“。e2fsck を実行ã™ã¹ãã§ã™ã€‚クリーンã«ãªã£ã¦ã„ãªã„ファイルシステムã¸ã®å¤‰æ›´ã¯å¤§ããªæå®³ã«ã¤ãªãŒã‚Šã‹ã­ã¾ã›ã‚“。修正å転ã™ã‚‹ãƒ•ラグ?フラグフラグ: %s ãƒªãƒ³ã‚¯ã®æ•°ãŒæ­£ã—ããªã„inodeãŒè¦‹ã¤ã‹ã‚Šã¾ã—ãŸã€‚先㫠e2fsck を実行ã—ãŸæ–¹ãŒã„ã„ã§ã—ょã†ã€‚空ã容é‡GNU Parted ã¯ã“ã®ãƒ‘ーティションをã“ã®ã‚µã‚¤ã‚ºã«ãƒªã‚µã‚¤ã‚ºã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。ã§ãるよã†ã«åŠªåŠ›ã—ã¦ã„ã¾ã™ã€‚GNU Parted ã¯ä¸æ­£ãª libreiserfs ライブラリを見ã¤ã‘ã¾ã—ãŸã€‚GNU Parted 㯠libreiserfs ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ェースãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®ä¸æ•´åˆã‚’検出ã—ã¾ã—ãŸã€‚%d-%d ãŒæ¤œå‡ºã•れã¾ã—ãŸãŒã€%d ãŒå¿…è¦ã§ã™ã€‚ReiserFS サãƒãƒ¼ãƒˆã‚’無効ã«ã—ã¾ã™ã€‚GNU parted ãŒã¡ã‚ƒã‚“ã¨ã‚³ãƒ³ãƒ‘イルã•れã¦ã„ã¾ã›ã‚“。FAT ã®ãƒ–ートセクタ㯠512 ãƒã‚¤ãƒˆã§ã‚ã‚‹ã¹ãã§ã™ã€‚FAT サãƒãƒ¼ãƒˆã‚’無効ã«ã—ã¾ã™ã€‚GNU ソフトウェアã®ä¸€èˆ¬çš„ãªãƒ˜ãƒ«ãƒ—ã¯: 一般的㪠IDESD/MMC カードI2O コントローラIBM S390 DASD ドライブIBM iSeries Virtual DASDFAT16 ã«å¤‰æ›ã—よã†ã¨ã—ã¦ã„ã¦ã€ã—ã‹ã‚‚ MS Windows ãŒã“ã®ãƒ‘ーティションã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れã¦ã„ã‚‹ãªã‚‰ã€MS Windows ã®ãƒ–ートローダをå†ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ãªã‘れã°ãªã‚Šã¾ã›ã‚“。もã—ãã†ã—ãŸã„ã®ãªã‚‰ã€Parted(ã‚ã‚‹ã„㯠distribution) ã®ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ã‚’よã読んã§ãã ã•ã„。FAT32 ã«å¤‰æ›ã—よã†ã¨ã—ã¦ã„ã¦ã€ã—ã‹ã‚‚ MS Windows ãŒã“ã®ãƒ‘ーティションã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れã¦ã„ã‚‹ãªã‚‰ã€MS Windows ã®ãƒ–ートローダをå†ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ãªã‘れã°ãªã‚Šã¾ã›ã‚“。もã—ãã†ã—ãŸã„ã®ãªã‚‰ã€Parted(ã‚ã‚‹ã„㯠distribution) ã®ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ã‚’よã読んã§ãã ã•ã„。FAT32 ã«å¤‰æ›ã™ã‚‹ã¨ã€MS-DOSã€MS Windows 95aã€MS Windows NT ã‹ã‚‰ã¯èª­ã‚ãªããªã‚Šã¾ã™ã€‚FAT16 ã®ã¾ã¾ã«ã—ã¦ãŠããªã‚‰ã€ä½•ã®å•題もã‚りã¾ã›ã‚“。FAT32 ã®ã¾ã¾ã«ã—ã¦ãŠããªã‚‰ã€ä½•ã®å•題も生ã˜ã¾ã›ã‚“。無視(I)グループ記述å­ã«çŸ›ç›¾ãŒã‚りã¾ã™!ジャーナルヘッダã®ãƒžã‚¸ãƒƒã‚¯ãƒŠãƒ³ãƒãƒ¼ãŒä¸æ­£ã§ã™ã€‚OS ã«ãƒ‘ーティションテーブルã®å¤‰æ›´ã‚’通知ã—ã¾ã™ã€‚ -d, --dry-run カーãƒãƒ«ã«å¤‰æ›´ã‚’通知ã—ãªã„ -s, --summary 内容ã®ã‚µãƒžãƒªã‚’表示 -h, --help ã“ã®ãƒ˜ãƒ«ãƒ—を表示ã—ã¦çµ‚了 -v, --version ãƒãƒ¼ã‚¸ãƒ§ãƒ³æƒ…報を表示ã—ã¦çµ‚了 é€šçŸ¥ä¸æ­£ãªVTOCã§ã™ã€‚䏿­£ãªå¾Œæ–¹å‚ç…§ä¸æ­£ãªæ–‡å­—クラスå䏿­£ãªé †åºæ–‡å­—\{\} ã®ä¸­èº«ãŒä¸æ­£ç©ºãブロック数ãŒä¸æ­£ã§ã™ã€‚ã¾ãš reiserfsck --check を実行ã—ã¦ãã ã•ã„ã€‚ä¸æ­£ãªå€¤ã§ã™ã€‚パーティションテーブルãŒä¸æ­£ã§ã™ã€‚å†å¸°çš„ãªãƒ‘ーティション㌠%s ã«ã‚りã¾ã™ã€‚%s ã®ãƒ‘ーティションテーブルãŒä¸æ­£ã§ã™ã€‚%x ã¨ã„ã†ã‚·ã‚°ãƒãƒãƒ£ã¯ã‚ã‚„ã¾ã‚Šã§ã™ã€‚%s ã®ãƒ‘ーティションテーブルãŒä¸æ­£ã§ã™ã€‚先行ã™ã‚‹æ­£è¦è¡¨ç¾ãŒä¸æ­£ä¸æ­£ãªçµ‚äº†å€¤ä¸æ­£ãªæ­£è¦è¡¨ç¾Mac ディスクラベルã®ã‚·ã‚°ãƒãƒãƒ£ %x ã¯ä¸æ­£ã§ã™ã€‚ジャーナルã®ãƒªãƒ—レイ中ã«ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ãƒ–ロックã®ã‚µã‚¤ã‚º (%i ãƒã‚¤ãƒˆ) ã®ä¸æ­£ãŒã‚りã¾ã—ãŸã€‚スーパーブロックãŒä¸æ­£ã§ã™ã€‚ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ã¯æœ¬å½“ã« ext2 ã§ã™ã‹ï¼ŸHFS ラッパーã«ã‚¨ãƒ©ãƒ¼ãŒã‚るよã†ã§ã™ã€‚䏿­£ãƒ–ロック一覧ファイルã®ä¸­ã«ã€embedded HFS+ ボリュームãŒã‚りã¾ã›ã‚“。ジャーナルã®ã‚ªãƒ•セットã‹ã‚µã‚¤ã‚ºãŒã‚»ã‚¯ã‚¿ã‚µã‚¤ã‚ºã®å€æ•°ã§ã¯ã‚りã¾ã›ã‚“。ジャーナルサイズã«ã¤ã„ã¦ã€ã‚¸ãƒ£ãƒ¼ãƒŠãƒ«ã‚¤ãƒ³ãƒ•ォブロックã¨ã‚¸ãƒ£ãƒ¼ãƒŠãƒ«ãƒ˜ãƒƒãƒ€ã¨ã§ä¸æ•´åˆãŒã‚りã¾ã™ã€‚ジャーナルãŒåˆ¥ãƒœãƒªãƒ¥ãƒ¼ãƒ ã«ã‚ã‚‹ HFS+ ã¯ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“。ジャーナルを無効ã«ã—ã¦ã‹ã‚‰æ“作を行ã£ã¦ãã ã•ã„。ラベルã®ç¨®é¡žã¯æ¬¡ã®ã†ã¡ã‹ã‚‰é¸ã³ã¾ã™: Linux device-mapper (%s)最大サイズ: メモリã®ç¢ºä¿ã«å¤±æ•—ã—ã¾ã—ãŸã€‚メモリä¸è¶³æœ€å°ã‚µã‚¤ã‚º: マイナー: %d モデル: %s (%s) åå‰ã®éƒ¨åˆ†ã¯ä»»æ„ã®å˜èªž NUMBER 㯠Linux カーãƒãƒ«ã«ã‚ˆã£ã¦ãƒ‘ーティション番å·ã¨ã—ã¦ä½¿ã‚れã¾ã™ã€‚MS-DOS ディスクラベルã§ã¯ã€åŸºæœ¬ãƒ‘ーティション番å·ã¯ 1 ã‹ã‚‰ 4 ã¾ã§ã§ã€è«–ç†ãƒ‘ーティション㯠5 以é™ã¨ãªã‚Šã¾ã™ã€‚ å剿–°ã—ã„デãƒã‚¤ã‚¹?æ–°ã—ã„ディスクラベル?æ–°ã—ã„状態?ã„ã„ãˆ(N)未実装デãƒã‚¤ã‚¹ãŒã¿ã¤ã‹ã‚Šã¾ã›ã‚“。マッãƒãªã—ã“れよりå‰ã«æ­£è¦è¡¨ç¾ãŒãªã„パーティション情報ã®ãŸã‚ã®é ˜åŸŸãŒã‚りã¾ã›ã‚“。ボリュームラベルã®ãŸã‚ã®é ˜åŸŸãŒã‚りã¾ã›ã‚“。有効㪠HFS[+X] ã‚·ã‚°ãƒãƒãƒ£ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。正ã—ã„パーティションマップãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。%s ã§åˆ©ç”¨å¯èƒ½ãªé ˜åŸŸã®ä¸€éƒ¨ãŒåˆ©ç”¨ã•れã¦ã„ã¾ã›ã‚“。GPT を修正ã—ã¦å…¨ã¦ã®é ˜åŸŸã‚’利用å¯èƒ½ã«ã™ã‚‹ã‹(%llu ブロック増ãˆã¾ã™)ã€ã“ã®ã¾ã¾ã§ç¶šè¡Œã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ãŒã€ã©ã†ã—ã¾ã™ã‹ï¼Ÿæœªä½¿ç”¨ã® inode ã®æ•°ãŒä¸è¶³ã—ã¦ã„ã¾ã™ã€‚番å·OKオプション論ç†ãƒ‘ーティションã ã‘ãŒãƒ–ートファイルã«ãªã‚Œã¾ã™ã€‚プライマリパーティションã ã‘ãŒãƒ«ãƒ¼ãƒˆãƒ‘ーティションã«ãªã‚Œã¾ã™ã€‚プライマリパーティションã ã‘ãŒã‚¹ãƒ¯ãƒƒãƒ—パーティションã«ãªã‚Œã¾ã™ã€‚メモリä¸è¶³ã§ã™ã€‚パーティションã®ç¨®é¡žã¯æ¬¡ã®ã†ã¡ã®ã©ã‚Œã‹ã¨ãªã‚Šã¾ã™: プライマリã€è«–ç†ã€æ‹¡å¼µ パッケージ作æˆè€… %s パッケージ作æˆè€… %s (%s) ダイナミックディスクã«ä½¿ã‚れã¦ã„るパーティション㯠Parted ã§ã¯ãƒªã‚µã‚¤ã‚ºã§ãã¾ã›ã‚“。Parted ã¯ã€ã‚»ã‚¯ã‚¿ã‚µã‚¤ã‚ºãŒ %d ãƒã‚¤ãƒˆã§ãªã„ディスクã§ã¯ HFS ファイルシステムを使ãˆã¾ã›ã‚“。パーティション %d ã®é•·ã•㌠0 ãªã®ã¯ä¸æ­£ã§ã™ã€‚パーティション %d ã®ã‚·ã‚°ãƒãƒãƒ£ %x ã¯ä¸æ­£ã§ã™ã€‚パーティション %d 㯠%s ã§ã‚ã‚‹ã®ã«ã€ãƒ•ァイルシステム㯠%s ã§ã™ã€‚パーティション %d ã¯ã‚·ãƒªãƒ³ãƒ€å¢ƒç•Œä¸Šã«ã‚りã¾ã›ã‚“。ã“れã¯ã¾ã ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“。パーティション %s ã¯ä½¿ç”¨ä¸­ã§ã™ã€‚Parted ã§æ“作ã™ã‚‹å‰ã« unmount ã—ã¦ãã ã•ã„。パーティションテーブル: %s パーティションãŒã‚りã¾ã›ã‚“。パーティションマップã«ã‚¨ãƒ³ãƒˆãƒªãŒã‚りã¾ã›ã‚“。パーティションã®åå‰?パーティション番å·?パーティション㌠%s ファイルシステムã«ã¯å°ã•ã™ãŽã€ã‚ã‚‹ã„ã¯å¤§ãã™ãŽã¾ã™ã€‚パーティションã®ç¨®é¡ž?%s ã®ãƒ‘ーティションãŒä½¿ç”¨ä¸­ã§ã™ã€‚æ­£è¦è¡¨ç¾ãŒé€”中ã§çµ‚ã‚ã£ã¦ã„ã‚‹Promise SX8 SATA デãƒã‚¤ã‚¹å¤§ãã™ãŽã‚‹æ­£è¦è¡¨ç¾Reiserfs ã®æœ¨æ§‹é€ ãŒå£Šã‚Œã¦ã„ã¾ã™ã€‚ã¾ãš reiserfsck --check を実行ã—ã¦ãã ã•ã„。%s ã®ãƒã‚°ãƒ¬ãƒãƒ¼ãƒˆã¯ %s ã¸ã€‚ HFS+ ボリュームã®ãƒªã‚µã‚¤ã‚ºã«å¤±æ•—ã—ã¾ã—ãŸã€‚やりãªãŠã—(R)START 㨠END ã¯ã€ãƒ‡ã‚£ã‚¹ã‚¯ä¸Šã®ä½ç½®ã‚’ 4G ã‚„ 10% ãªã©ã§è¡¨ã‚ã—ã¾ã™ã€‚è² ã®å€¤ã¯ãƒ‡ã‚£ã‚¹ã‚¯ã®çµ‚ã‚りã‹ã‚‰ã®å€¤ã«ãªã‚Šã¾ã™ã€‚例ãˆã°ã€-1s ã¯ã€æœ€å¾Œã®ã‚»ã‚¯ã‚¿ã‚’指ã—ã¾ã™ã€‚ 状態㯠on ã‹ off ã®ã©ã¡ã‚‰ã‹ セクタサイズ (è«–ç†/物ç†): %lldB/%lldB サイズサイズ: ヘッダフィールドã®ä¸­ã«ã‚»ã‚¯ã‚¿ã‚µã‚¤ã‚ºã®å€æ•°ã«ãªã£ã¦ãªã„ã‚‚ã®ãŒã‚りã¾ã™ã€‚HFS ã¯ã¾ã ãã®ã‚ˆã†ã«ãƒªã‚µã‚¤ã‚ºã§ãã¾ã›ã‚“。HFS ã¯ã¾ã ãã®ã‚ˆã†ã«ãƒªã‚µã‚¤ã‚ºã§ãã¾ã›ã‚“。残念ã§ã™ãŒã€ã¾ã  ext2 パーティションã®é–‹å§‹ä½ç½®ã¯ç§»å‹•ã§ãã¾ã›ã‚“。残念ã§ã™ãŒã€ã¾ã  reiserfs パーティションã®é–‹å§‹ä½ç½®ã¯ç§»å‹•ã§ãã¾ã›ã‚“。転é€å…ƒã®ãƒ‡ãƒã‚¤ã‚¹?転é€å…ƒã®ãƒ‘ーティション番å·?é–‹å§‹é–‹å§‹?æˆåŠŸSunディスクラベルãŒã„ã£ã±ã„ã§ã™ã€‚AIX ディスクラベルã¸ã®ãƒ‘ーティションã®è¿½åŠ ã¯æœªå®Ÿè£…ã§ã™ã€‚ファイルシステム(%s)ã«å¯¾ã™ã‚‹ãƒã‚§ãƒƒã‚¯ã¯æœªå®Ÿè£…ã§ã™ã€‚ファイルシステム(%s)ã®ã‚³ãƒ”ãƒ¼ã¯æœªå®Ÿè£…ã§ã™ã€‚ファイルシステム(%s)ã®ä½œæˆã¯æœªå®Ÿè£…ã§ã™ã€‚AIX ディスクラベルã§ã®ãƒ‘ーティションã®è¤‡è£½ã¯æœªå®Ÿè£…ã§ã™ã€‚ファイルシステム(%s)ã®ã‚ªãƒ¼ãƒ—ãƒ³ã¯æœªå®Ÿè£…ã§ã™ã€‚AIX ディスクラベルã®èª­ã¿è¾¼ã¿ã¯æœªå®Ÿè£…ã§ã™ã€‚ファイルシステム(%s)ã®ãƒªã‚µã‚¤ã‚ºã¯æœªå®Ÿè£…ã§ã™ã€‚AIX ディスクラベルã®ãƒ•ラグã®è¨­å®šã¯æœªå®Ÿè£…ã§ã™ã€‚AIX ディスクラベルã®ãƒ‘ーティションã®ã‚·ã‚¹ãƒ†ãƒ ã‚¿ã‚¤ãƒ—ã®è¨­å®šã¯æœªå®Ÿè£…ã§ã™ã€‚AIX ãƒ‡ã‚£ã‚¹ã‚¯ãƒ©ãƒ™ãƒ«ã®æ›¸ãè¾¼ã¿ã¯æœªå®Ÿè£…ã§ã™ã€‚ã‚³ãƒ³ãƒ•ã‚£ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã®æ–‡æ³•エラーFAT ãŒä¸€è‡´ã—ã¾ã›ã‚“。ã“れãŒä½•ã‚’æ„味ã™ã‚‹ã‹ã‚ã‹ã‚‰ãªã„ãªã‚‰ã€å–消(C) ã‚’é¸ã‚“ã§ã€scandisk を実行ã—ã¦ã‹ã‚‰ã€ã¾ãŸã‚„りãªãŠã—ã¦ãã ã•ã„。Whole Disk パーティションã—ã‹æ®‹ã•れã¦ã¾ã›ã‚“。ã ã„ãŸã„ã®å ´åˆã«ãŠã„ã¦ã€ã“ã®ãƒ‘ーティションを上書ãã™ã‚‹ã®ã¯ã‚ˆãã‚りã¾ã›ã‚“。Solaris ãŒèµ·å‹•ã—ãªããªã‚‹ã‹ã‚‚ã—れã¾ã›ã‚“ã—ã€SILO(the sparc boot loader)ã«ã‚‚都åˆãŒã‚ˆãã‚りã¾ã›ã‚“。ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ— GPT テーブルã¯å£Šã‚Œã¦ã„ã¾ã™ãŒã€ãƒ—ライマリã¯å•題ãªã„よã†ãªã®ã§ã€ãã¡ã‚‰ã‚’使ã„ã¾ã™ã€‚ã‚ã‚‹ã¹ã GPT テーブルã®ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ãŒãƒ‡ã‚£ã‚¹ã‚¯ã®æœ€å¾Œã«ã‚りã¾ã›ã‚“。他㮠OS ãŒãƒ‡ã‚£ã‚¹ã‚¯ã¯ã‚‚ã£ã¨å°ã•ã„ã‚‚ã®ã ã¨æ€ã£ã¦ã„ã‚‹ã®ã‹ã‚‚ã—れã¾ã›ã‚“。ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã‚’æœ€å¾Œã«æŒã£ã¦ãã¦ï¼ˆå¤ã„ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—を削除ã—ã¦ï¼‰ä¿®å¾©ã—ã¾ã™ã‹ï¼Ÿãƒ–ート領域ãŒãƒ‘ーティションã®é–‹å§‹ä½ç½®ã‹ã‚‰å§‹ã¾ã£ã¦ã¾ã›ã‚“。ç¾åœ¨ã® API ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã¯ '%d' ã§ã€dasd ドライムAPI ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ '%d' ã¨ä¸€è‡´ã—ã¾ã›ã‚“!データ領域ãŒãƒ‘ーティションã®é–‹å§‹ä½ç½®ã‹ã‚‰å§‹ã¾ã£ã¦ã¾ã›ã‚“。デãƒã‚¤ã‚¹ %s ã®é•·ã•㌠0 ãªã®ã§ã€ãƒ•ァイルシステムやパーティションテーブルを記録ã§ãã¾ã›ã‚“。デãƒã‚¤ã‚¹ã®é¸æŠžã‚’é–“é•ã£ã¦ã„ãªã„ã‹ç¢ºèªã—ã¦ãã ã•ã„。ディスク㮠geometry(CHS) (%d,%d,%d) ãŒã€ãƒ‡ã‚£ã‚¹ã‚¯ãƒ©ãƒ™ãƒ«ã®ã‚‚ã® (%d,%d,%d) ã¨ä¸€è‡´ã—ã¾ã›ã‚“。ã“ã®ãƒ‡ã‚£ã‚¹ã‚¯ã¯ %d シリンダã‚りã¾ã™ã€‚ã“ã‚Œã¯æœ€å¤§å€¤ã® 65536 ã‚’è¶Šãˆã¦ã„ã¾ã™ã€‚ディスクレベルã«ã‚ˆã‚‹ã¨ã€ãƒ‡ã‚£ã‚¹ã‚¯ã¯ %s より大ãã„ã“ã¨ã«ãªã£ã¦ã„ã¾ã™ã€‚ドライãƒã¯ç‰©ç†ãƒ–ロックサイズ㌠%d ãƒã‚¤ãƒˆã§ã‚ã‚‹ã¨è¨€ã£ã¦ã„ã¾ã™ãŒã€Linux 㯠%d ãƒã‚¤ãƒˆã ã¨è¨€ã£ã¦ã„ã¾ã™ã€‚ã„ã¾å­˜åœ¨ã—ã¦ã„ã‚‹ %s ã®ãƒ‡ã‚£ã‚¹ã‚¯ãƒ©ãƒ™ãƒ«ã¯ç ´å£Šã•れã€ã“ã®ãƒ‡ã‚£ã‚¹ã‚¯ã®å…¨ãƒ‡ãƒ¼ã‚¿ãŒå¤±ã‚れã¾ã™ã€‚続行ã—ã¾ã™ã‹ï¼Ÿã„ã¾å­˜åœ¨ã—ã¦ã„るファイルシステムã¯ç ´å£Šã•れã€ã“ã®ãƒ‘ーティションã®å…¨ãƒ‡ãƒ¼ã‚¿ãŒå¤±ã‚れã¾ã™ã€‚続行ã—ã¾ã™ã‹ï¼Ÿã“ã® ext2 ファイルシステムã¯ç°¡å˜ãªãƒã‚§ãƒƒã‚¯ã‚’パスã—ã¾ã—ãŸã€‚ã•らã«ãƒã‚§ãƒƒã‚¯ã™ã‚‹ã«ã¯ e2fsck を使ã£ã¦ãã ã•ã„。extents overflow file ã¯è‡ªåˆ†è‡ªèº«ã® extent ã‚’å«ã‚“ã§ã¯ã„ã‘ã¾ã›ã‚“。ファイルシステムをãƒã‚§ãƒƒã‚¯ã—ã¦ãã ã•ã„。ファイル %s ã¯ã‚·ã‚¹ãƒ†ãƒ ãƒ•ァイルã§ã™ã€‚ã“ã®ãƒ•ァイルを動ã‹ã—ã¦ã—ã¾ã†ã¨å‹•ã‹ãªããªã‚‹ãƒ—ログラムãŒã‚りã¾ã™ã€‚ã“ã®ã‚µã‚¤ã‚ºã«ãƒªã‚µã‚¤ã‚ºã™ã‚‹ã«ã¯ FAT16 ã«å¤‰æ›ã—ãªã‘れã°ãªã‚Šã¾ã›ã‚“。ã“ã®ã‚µã‚¤ã‚ºã«ãƒªã‚µã‚¤ã‚ºã™ã‚‹ã«ã¯ FAT32 ã«å¤‰æ›ã—ãªã‘れã°ãªã‚Šã¾ã›ã‚“。ファイルシステムã«ã‚¨ãƒ©ãƒ¼ãŒã‚りã¾ã™ã€‚ã“ã®ãƒ•ァイルシステム㯠'dir_index' ãŒæœ‰åйã«ãªã£ã¦ã„ã¾ã™ã€‚ã“れを無効ã«ã—ãªã„㨠Parted ã§ã¯ãƒªã‚µã‚¤ã‚ºã§ãã¾ã›ã‚“。一旦無効ã«ã—ã¦ã‚‚次ã®ã‚ˆã†ã«ã™ã‚‹ã“ã¨ã§ã€æœ‰åйã«ã§ãã¾ã™ã€‚'tune2fs -O dir_index DEVICE' 'e2fsck -fD DEVICE'ファイルシステムãŒãƒœãƒªãƒ¥ãƒ¼ãƒ ã‚ˆã‚Šã‚‚大ãã„ã§ã™!ファイルシステムãŒä¸æ­£ãªçŠ¶æ…‹ã«ã‚りã¾ã™ã€‚マウントã•れã¦ã„ãŸã‚Šã—ã¾ã›ã‚“ã‹ï¼Ÿã“ã®ãƒ•ァイルシステムã¯å¤ã„(リサイズä¸å¯èƒ½)フォーマットã§ã™ã€‚ã“ã®ãƒ•ァイルシステム㮠CHS geometry 㯠(%d, %d, %d) ã§ä¸æ­£ã§ã™ã€‚パーティションテーブル㮠CHS geometry 㯠(%d, %d, %d) ã§ã™ã€‚無視(I)ã‚’é¸ã¹ã°ãƒ•ァイルシステム㮠CHS geometry ã¯ãã®ã¾ã¾ã«ãªã‚Šã¾ã™ã€‚修正(F)ã‚’é¸ã¹ã°ã€ãƒ•ァイルシステム㮠CHS geometry ã¯ã€ãƒ‘ーティション㮠CHS geometry ã¨åˆã†ã‚ˆã†ä¿®æ­£ã•れã¾ã™ã€‚GPT パーティションテーブルã®ãƒ•ォーマットã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒ %x ã§ parted ã®ç†è§£ã§ãã‚‹ã‚‚ã®ã‚ˆã‚Šæ–°ã—ã„ã§ã™ã€‚ bug-parted@gnu.org ã¾ã§å ±å‘Šã—ã¦ãã ã•ã„。information セクタã®ã‚·ã‚°ãƒãƒãƒ£(%x)ã¯ã¾ã¡ãŒã£ã¦ã„ã¾ã™ã€‚å–æ¶ˆ(C) ã—ã¦ãƒã‚°ãƒ¬ãƒãƒ¼ãƒˆã‚’é€ã£ã¦ãã ã•ã„。もã—ã©ã†ãªã£ã¦ã‚‚ã„ã„ã®ã§ã‚れ㰠無視(I) ã—ã¦ã‚‚ã„ã„ã§ã—ょã†ã€‚ジャーナルãŒç©ºã§ã¯ã‚りã¾ã›ã‚“。Parted ã¯ãƒ•ァイルシステムをオープンã™ã‚‹å‰ã«ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã®ãƒªãƒ—レイをã—ãªã‘れã°ãªã‚Šã¾ã›ã‚“。リプレイã™ã‚‹ã¨ãƒ•ァイルシステムã¯å¤‰æ›´ã•れã¾ã™ã€‚%s ã¯ã€ãƒ‡ãƒã‚¤ã‚¹ %s ã®å¤–ã§ã™ã€‚最大ヘッド値㯠%d ã§ã™ã€‚最大セクタ値㯠%d ã§ã™ã€‚パーティションã®ãƒ•ァイルシステムã¯ä»¥ä¸‹ã®ã†ã¡ã®ã„ãšã‚Œã‹ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“: カーãƒãƒ«ã¯ãƒ‘ーティションテーブルã®å†èª­ã¿è¾¼ã¿ãŒã§ãã¾ã›ã‚“ã§ã—ãŸã®ã§ã€å¤‰æ›´ã‚’加ãˆãŸãƒ‘ーティションを mount ã™ã‚‹å‰ã«å†èµ·å‹•ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚ã¾ãŸã€å†èµ·å‹•ã™ã‚‹å‰ã«ãƒ–ートローダをå†ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™(ã“ã®ã“ã¨ã¯ã€å¤‰æ›´ã—ãŸãƒ‘ーティション㮠mount ãŒå¿…è¦ã¨ãªã‚‹ã‹ã‚‚ã—れã¾ã›ã‚“)。ã§ã‚‚ãã‚Œã‚‰ã‚’ä¸¡æ–¹åŒæ™‚ã«ã¯ã§ãã¾ã›ã‚“! レスキューディスクを使ã£ã¦ãƒ–ートã—ã¦ã€ãƒ–ートローダをã„れãªãŠã—ã¦ãã ã•ã„。より詳ã—ã„ã“ã¨ã¯ Parted ã®ãƒ¦ãƒ¼ã‚¶ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®4章を読んã§ãã ã•ã„。カーãƒãƒ«ã¯ %s ã®ãƒ‘ーティションテーブルã®å†…容をå†èª­ã¿è¾¼ã¿ã§ãã¾ã›ã‚“(%s)。ã“れ㯠Hurd ã¯ã‚ãªãŸãŒè¡Œã£ãŸå¤‰æ›´ã‚’関知ã—ã¦ã„ãªã„ã“ã¨ã‚’æ„味ã—ã¦ã„ã¾ã™ã€‚%s ã«å¯¾ã—ã¦ä½•ã‹æ“作をã™ã‚‹å‰ã«ã‚³ãƒ³ãƒ”ュータをå†èµ·å‹•ã™ã‚‹ã¹ãã§ã™ã€‚パーティションã®ãƒ–ート領域ãŒã€ãƒ‘ãƒ¼ãƒ†ã‚£ã‚·ãƒ§ãƒ³å…¨ä½“ã‚’å æœ‰ã—ã¦ã¾ã›ã‚“。パーティションã®ãƒ‡ãƒ¼ã‚¿é ˜åŸŸãŒã€ãƒ‘ãƒ¼ãƒ†ã‚£ã‚·ãƒ§ãƒ³å…¨ä½“ã‚’å æœ‰ã—ã¦ã¾ã›ã‚“。プライマリ GPT テーブルã¯å£Šã‚Œã¦ã„ã¾ã™ãŒã€ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã¯å•題ãªã„よã†ãªã®ã§ã€ãã¡ã‚‰ã‚’使ã„ã¾ã™ã€‚ã“ã® reiserfs ファイルシステムã¯ç°¡å˜ãªãƒã‚§ãƒƒã‚¯ã‚’パスã—ã¾ã—ãŸã€‚ã•らã«ãƒã‚§ãƒƒã‚¯ã™ã‚‹ã«ã¯ reiserfsck --check を使ã£ã¦ãã ã•ã„。æ“作ã®çµæžœã§ãるパーティションã¯ã‚¢ãƒ©ã‚¤ãƒ¡ãƒ³ãƒˆãŒæ­£ã—ããªã„ãŸã‚ã«ãƒ‘フォーマンスãŒã§ã¾ã›ã‚“。ジャーナルãŒä¿å­˜ã•れã¦ã„るセクタã®ã‚µã‚¤ã‚ºãŒ 512 ãƒã‚¤ãƒˆã§ã¯ã‚りã¾ã›ã‚“。Parted ã§ã¯ 512 ãƒã‚¤ãƒˆã®ã‚»ã‚¯ã‚¿ã—ã‹ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“。指定ã•れãŸãƒ‡ãƒã‚¤ã‚¹ã¯æœ‰åŠ¹ãª DASD デãƒã‚¤ã‚¹ã§ã¯ã‚りã¾ã›ã‚“ボリュームヘッダã‹ãƒžã‚¹ã‚¿ãƒ¼ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãƒ–ロックãŒã‚¸ãƒ£ãƒ¼ãƒŠãƒ«ã®ãƒªãƒ—レイ中ã«å¤‰æ›´ã•れã¾ã—ãŸã€‚Parted ã‚’å†èµ·å‹•ã—ã¦ãã ã•ã„。ã“ã® FAT タイプã«åˆã† configuration ãŒã‚りã¾ã›ã‚“。ルートディレクトリã«å分ãªç©ºããŒã‚りã¾ã›ã‚“ã€‚å–æ¶ˆ(C) ã™ã‹ã€ãƒ•ァイルを失ã£ã¦ã‚‚よã‘れ㰠無視(I) ã‚’é¸ã‚“ã§ãã ã•ã„。ã“ã® HFS ボリュームã«ã¯ catalog file ãŒã‚りã¾ã›ã‚“。ã“れã¯ã‚ã¾ã‚Šã‚りãˆãªã„ã“ã¨ã§ã™ã€‚ã“ã® HFS ボリュームã«ã¯ extents overflow file ãŒã‚りã¾ã›ã‚“。ã“れã¯ã»ã¨ã‚“ã©ã‚りãˆãªã„ã“ã¨ã§ã™ã€‚ã“ã® HFS+ ボリュームã«ã¯ catalog file ãŒã‚りã¾ã›ã‚“。ã“れã¯ã‚ã¾ã‚Šã‚りãˆãªã„ã“ã¨ã§ã™ã€‚ã“ã® HFS+ ボリュームã«ã¯ extents overflow file ãŒã‚りã¾ã›ã‚“。ã“れã¯ã»ã¨ã‚“ã©ã‚りãˆãªã„ã“ã¨ã§ã™ã€‚ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯å¯¾è©±æ“作モードã§ãªã‘ã‚Œã°æ„味ãŒã‚りã¾ã›ã‚“。 ã“ã®ãƒ•ァイルシステムã®è«–ç†ã‚»ã‚¯ã‚¿ã‚µã‚¤ã‚ºã¯ %d ã§ã™. セクタサイズ㌠512 ãƒã‚¤ãƒˆä»¥å¤–ã§ã¯ GNU Parted ã¯ã†ã¾ãå‹•ã‹ãªã„ã“ã¨ãŒçŸ¥ã‚‰ã‚Œã¦ã„ã¾ã™ã€‚ã“れ㯠real %s check ã§ã¯ã‚りã¾ã›ã‚“。special low level file をデãƒãƒƒã‚°ã®ãŸã‚ã«å–り出ã—ã¾ã™ã€‚ã“ã®ãƒ‡ã‚£ã‚¹ã‚¯ã¯ ECKD ディスクã§ã¯ã‚りã¾ã›ã‚“! ã“ã®ãƒ‡ã‚£ã‚¹ã‚¯ã‚¿ã‚¤ãƒ—ã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“!使用ã—ã¦ã„ã‚‹ libparted 㯠%s ã®æ›¸ãã“ã¿ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“。読ã¿è¾¼ã¿å°‚用ã§ã‚³ãƒ³ãƒ‘イルã•れã¦ã„ã‚‹ã¨æ€ã‚れã¾ã™ã€‚ä¸è‰¯ãƒšãƒ¼ã‚¸ãŒå¤šã™ãŽã¾ã™ã€‚プライマリパーティションãŒå¤šã™ãŽã¾ã™ã€‚プライマリパーティションãŒå¤šã™ãŽã¾ã™ã€‚余分ãªãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã‚ˆã‚Šè©³ã—ã知るã«ã¯ `%s --help' を使ã£ã¦ã¿ã¦ãã ã•ã„。 ブロック 0x%X ã‹ã‚‰ãƒ–ロック 0x%Xã« extent を移動ã—よã†ã¨ã—ã¾ã—ãŸãŒã€æ—¢ã«ä»–ã®ã‚‚ã®ãŒã“ã®ãƒ‘ーティションã«å­˜åœ¨ã—ã¾ã™ã€‚ã“れã¯ã‚りãˆã¾ã›ã‚“。EOF ã‚’è¶Šãˆã¦ HFS ファイル(CNID %X)を読もã†ã¨ã—ã¾ã—ãŸã€‚EOF ã‚’è¶Šãˆã¦ HFS+ ファイル(CNID %X)を読もã†ã¨ã—ã¾ã—ãŸã€‚ブロック 0x%X ã‹ã‚‰å§‹ã¾ã‚‹ extent を登録ã—よã†ã¨ã—ã¾ã—ãŸãŒã€æ—¢ã«ä»–ã®ã‚‚ã®ãŒã“ã®ãƒ‘ーティションã«å­˜åœ¨ã—ã¾ã™ã€‚ã“ã®ãƒ•ァイルシステムをãƒã‚§ãƒƒã‚¯ã—ã¦ãã ã•ã„。EOF ã‚’è¶Šãˆã¦ HFS ファイル(CNID %X)ã«æ›¸ãã“ã‚‚ã†ã¨ã—ã¾ã—ãŸã€‚EOF ã‚’è¶Šãˆã¦ HFS+ ファイル(CNID %X)ã«æ›¸ãã“ã‚‚ã†ã¨ã—ã¾ã—ãŸã€‚タイプUNIT ã¯æ¬¡ã®ã†ã¡ã‹ã‚‰é¸ã³ã¾ã™: BSDディスクラベルã®ã‚¹ãƒ­ãƒƒãƒˆã‚’確ä¿ã§ãã¾ã›ã‚“。dasd ディスクラベルã®ã‚¹ãƒ­ãƒƒãƒˆã‚’確ä¿ã§ãã¾ã›ã‚“。パーティション番å·ã‚’割り当ã¦ã‚‰ã‚Œã¾ã›ã‚“。ファイルã¾ãŸã¯ãƒ‡ãƒã‚¤ã‚¹ %s ã® geometry を決定ã§ãã¾ã›ã‚“。自分ã§ä½•ã‚’ã—ã¦ã„ã‚‹ã‹ã‚ˆãç†è§£ã—ã¦ã„ãªã‘れ㰠Parted を使ã†ã¹ãã§ã¯ã‚りã¾ã›ã‚“。%s ã® dm タイプを特定ã§ãã¾ã›ã‚“%s ã®ã‚µã‚¤ã‚ºã‚’決定ã§ãã¾ã›ã‚“(%s)%s ã‚’èª­ã¿æ›¸ãå¯èƒ½ãªçŠ¶æ…‹ã«ã‚ªãƒ¼ãƒ—ンã§ãã¾ã›ã‚“(%s)。%s ã¯èª­ã¿è¾¼ã¿ã®ã¿å¯èƒ½ãªçŠ¶æ…‹ã§ã‚ªãƒ¼ãƒ—ンã•れã¾ã—ãŸã€‚%s ã‚’é–‹ã‘ã¾ã›ã‚“。デãƒã‚¤ã‚¹ã®ãƒ—ローブã«å¤±æ•—ã—ã¾ã—ãŸã€‚ã“ã®ãƒ‘ーティションã§å…¨ã¦ã®åˆ¶ç´„を満ãŸã›ã¾ã›ã‚“。å˜ä½ã¯?䏿˜Ž%d ã¯ä¸æ˜Žãªãƒ‡ã‚£ã‚¹ã‚¯ãƒ•ラグã§ã™ã€‚ファイルシステムã®ç¨®é¡ž "%s" ã¯ä¸æ˜Žã§ã™ã€‚%d ã¯ä¸æ˜Žãªãƒ‘ーティションフラグã§ã™ã€‚䏿˜Žãªã‚·ã‚¹ãƒ†ãƒ ã‚¨ãƒ©ãƒ¼å¯¾å¿œã®ãªã„ ( ã‚ã‚‹ã„㯠\(対応ã®ãªã„ ) ã¾ãŸã¯ \)対応ã®ãªã„ [ ã‚ã‚‹ã„㯠[^対応ã®ãªã„ \{æ–°ã—ã„タイプ㮠Linux swap signature '%10s' ã‚’èªè­˜ã§ãã¾ã›ã‚“。å¤ã„タイプ㮠Linux swap signature '%10s' ã‚’èªè­˜ã§ãã¾ã›ã‚“。Linux swsusp signature '%9s' ã‚’èªè­˜ã§ãã¾ã›ã‚“。サãƒãƒ¼ãƒˆã•れã¦ã„ãªã„ディスクフォーマットサãƒãƒ¼ãƒˆã•れã¦ã„ãªã„ディスクタイプHFS ãƒ©ãƒƒãƒ‘ãƒ¼ã®æ›´æ–°ã«å¤±æ•—ã—ã¾ã—ãŸã€‚ä½¿ã„æ–¹: %s [-hlmsv] [-a<アライン>] [デãƒã‚¤ã‚¹ [コマンド [パラメータ]]...] ä½¿ã„æ–¹: %s [オプション] ã‚ã‚‹ã„ã¯: %s デãƒã‚¤ã‚¹ ãƒžã‚¤ãƒŠãƒ¼ç•ªå· ä½¿ã„æ–¹: %s [オプション] [デãƒã‚¤ã‚¹]... ä½¿ã„æ–¹: parted [オプション]... [デãƒã‚¤ã‚¹ [コマンド [パラメータ]...]...] デãƒã‚¤ã‚¹ã«å¯¾ã—ã¦ãƒ‘ラメータã«å¾“ã£ã¦ã‚³ãƒžãƒ³ãƒ‰ã‚’実行ã—ã¾ã™ã€‚ã‚‚ã—ã‚³ãƒžãƒ³ãƒ‰ãŒæŒ‡å®šã•れãªã‘れã°ã€å¯¾è©±ãƒ¢ãƒ¼ãƒ‰ã«å…¥ã‚Šã¾ã™ã€‚ User-Mode Linux UBD%s を使用 利用å¯èƒ½ãªå¼•æ•°ã¯ä»¥ä¸‹ã®é€šã‚Šã§ã™ï¼šHFS+ ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ %d ã¯ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“。HFSX ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ %d ã¯ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“。Virtio Block DeviceボリュームラベルãŒå£Šã‚Œã¦ã„ã¾ã™è­¦å‘Š: 管ç†è€…権é™ãŒã‚りã¾ã›ã‚“ã€‚ãƒ‘ãƒ¼ãƒŸãƒƒã‚·ãƒ§ãƒ³ã«æ³¨æ„ã—ã¦ãã ã•ã„。警告: ファイルシステムã«å¯¾ã—㦠%s ã«ã‚ˆã‚‹æ“作(%s)を行ãŠã†ã¨ã—ã¦ã„ã¾ã™ã€‚ %s ã®ãƒ•ァイルシステムæ“作コードã¯ã€e2fsprogs ã®ã‚ˆã†ãªãƒ•ァイルシステム専 用ã®ã‚‚ã®ã»ã©å …固ã«ä½œã‚‰ã‚Œã¦ã„ã¾ã›ã‚“。å¯èƒ½ãªã‹ãŽã‚Š %s をパーティションテー ãƒ–ãƒ«ã®æ“作ã ã‘ã«ç”¨ã„ã‚‹ã“ã¨ã‚’ãŠå‹§ã‚ã—ã¾ã™ã€‚ã»ã¨ã‚“ã©ã®ãƒ•ァイルシステム㫠対ã™ã‚‹ã»ã¨ã‚“ã©ã®æ“作ã¯ä»Šå¾Œã®ãƒªãƒªãƒ¼ã‚¹ã§å‰Šé™¤ã•れる予定ã§ã™ã€‚ 警告デãƒã‚¤ã‚¹ãƒ‡ã‚£ã‚¹ã‚¯ãƒªãƒ—ã‚¿ã«æ›¸ã„ã¦ã‚るブロックサイズã¯ãŠã‹ã—ã„ã§ã™ã€‚%d ãƒã‚¤ãƒˆã¯ 512 ã§å‰²ã‚Šåˆ‡ã‚Œã¾ã›ã‚“。ãŠã‹ã—ã„ã§ã™ã€‚パーティションマップエントリãŒ2ã¤ã‚りã¾ã™ã€‚GNU Parted ã¸ã‚ˆã†ã“ãï¼ ã‚³ãƒžãƒ³ãƒ‰ä¸€è¦§ã‚’è¦‹ã‚‹ã«ã¯ 'help' ã¨å…¥åŠ›ã—ã¦ãã ã•ã„。 引数をã¤ã‘ãªã„å ´åˆã€'print' コマンドã¯ã€å…¨ãƒ‘ーティションテーブルを表示ã—ã¾ã™ã€‚次ã®å¼•æ•°ã‚’ã¤ã‘ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™ã€‚ FAT32 を使ã„ãŸã„ã§ã™ã‹ï¼Ÿ%s 㨠%s ã«ã‚ˆã£ã¦ä½œã‚‰ã‚Œã¾ã—ãŸã€‚ %sã€%sã€%s〠%sã€%sã€%sã€%s〠%sã€%sã¨ã„ã£ãŸäººã€…ã«ã‚ˆã£ã¦ä½œã‚‰ã‚Œã¾ã—ãŸã€‚ %sã€%sã€%s〠%sã€%sã€%sã€%s〠%sã€ãŠã‚ˆã³ã€%sã«ã‚ˆã£ã¦ä½œã‚‰ã‚Œã¾ã—ãŸã€‚ %sã€%sã€%s〠%sã€%sã€%sã€%s〠ãŠã‚ˆã³%sã«ã‚ˆã£ã¦ä½œã‚‰ã‚Œã¾ã—ãŸã€‚ %sã€%sã€%s〠%sã€%sã€%sã€ãŠã‚ˆã³ã€%sã«ã‚ˆã£ã¦ä½œã‚‰ã‚Œã¾ã—ãŸã€‚ %sã€%sã€%s〠%sã€%sã€ãŠã‚ˆã³ã€%sã«ã‚ˆã£ã¦ä½œã‚‰ã‚Œã¾ã—ãŸã€‚ %sã€%sã€%s〠%sã€ãŠã‚ˆã³ã€%sã«ã‚ˆã£ã¦ä½œã‚‰ã‚Œã¾ã—ãŸã€‚ %sã€%sã€%s〠ãŠã‚ˆã³ã€%s ã«ã‚ˆã£ã¦ä½œã‚‰ã‚Œã¾ã—ãŸã€‚ %sã€%s 㨠%s ã«ã‚ˆã£ã¦ä½œã‚‰ã‚Œã¾ã—ãŸã€‚ %s ã«ã‚ˆã£ã¦ä½œã‚‰ã‚Œã¾ã—ãŸã€‚ Xen Virtual Block Deviceã¯ã„(Y)å¿…è¦ã§ã‚れ㰠/etc/fstab ã‚’æ›´æ–°ã™ã‚‹ã®ã‚’忘れãªã„よã†ã«ã—ã¦ãã ã•ã„。 ã“ã®ãƒ‘ーティションをã“ã®ã‚µã‚¤ã‚ºã«å°ã•ãã™ã‚‹ã«ã¯ %s ã®ç©ºããŒå¿…è¦ã§ã™ã€‚(ç¾åœ¨ %s ã—ã‹ç©ºããŒã‚りã¾ã›ã‚“。)%s ã‹ã‚‰ %s ã¾ã§ã®ãƒ‘ーティションを指定ã•れã¾ã—ãŸã€‚ å¯èƒ½ãªä¸­ã§æœ€ã‚‚è¿‘ã„ã‚‚ã®ã¯ %s ã‹ã‚‰ %s ã«ãªã‚Šã¾ã™ã€‚%så†èµ·å‹•ã™ã‚‹å‰ã«ãƒ–ートローダをã„れãªãŠã™ã¹ãã§ã™ã€‚詳細㯠Parted ユーザドキュメントã®4章を読んã§ãã ã•ã„。%i ブロックã«ãƒªã‚µã‚¤ã‚ºã™ã‚‹ã«ã¯ inode ãŒä¸è¶³ã—ã¦ã„ã¾ã™ã€‚%i ブロックã«ãƒªã‚µã‚¤ã‚ºã™ã‚‹ã«ã¯é ˜åŸŸãŒä¸è¶³ã—ã¦ã„ã¾ã™ã€‚^[nN]^[yY]`グループを追加中align-checkalign-check TYPE N パーティション N ã®ã‚¢ãƒ©ã‚¤ãƒ¡ãƒ³ãƒˆ(min|opt)ã‚’ãƒã‚§ãƒƒã‚¯ã™ã‚‹æ–°è¦ãƒ‘ーティションã®ã‚¢ãƒ©ã‚¤ãƒ¡ãƒ³ãƒˆã‚¢ãƒ©ã‚¤ãƒ¡ãƒ³ãƒˆã‚¿ã‚¤ãƒ—(min/opt)%s 㯠%s ã«ã¯æ›–昧ãªå¼•æ•°ã§ã™atvrecvbios_grubbootcheckcheck NUMBER ファイルシステムã®ç°¡å˜ãªãƒã‚§ãƒƒã‚¯ã™ã‚‹ãƒã‚§ãƒƒã‚¯ä¸­ä¸è‰¯ãƒ–ロックをãƒã‚§ãƒƒã‚¯ä¸­ã‚³ãƒ”ー中cpcp [転é€å…ƒãƒ‡ãƒã‚¤ã‚¹] 転é€å…ƒNUMBER 転é€å…ˆNUMBER             ファイルシステムを他ã®ãƒ‘ーティションã«ã‚³ãƒ”ーã™ã‚‹ä½œæˆä¸­cylinder_alignment望ã¾ã—ã„アライメント: minimum(最å°) ã‹ optimal(最é©)機械ãŒè§£é‡ˆå¯èƒ½ãªå‡ºåŠ›ã‚’ã™ã‚‹ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’表示ã™ã‚‹ã“ã®ãƒ˜ãƒ«ãƒ—を表示ã™ã‚‹%s を読ã¿è¾¼ã¿ä¸­ã«ãƒ•ァイルã®çµ‚ã‚りã«é”ã—ã¾ã—ãŸæ‹¡å¤§ä¸­æ‹¡å¼µdvh パーティションåã‚’ %s ã«è¨­å®šã™ã‚‹ã®ã«å¤±æ•—ã—ã¾ã—ãŸ: è«–ç†ãƒ‘ーティション(ブートファイル)ã ã‘ãŒåå‰ã‚’æŒã¡ã¾ã™ã€‚fat_table_alloc_cluster: 空ãクラスタãŒã‚りã¾ã›ã‚“。fat_table_get: クラスタ %ld ã¯ãƒ•ァイルシステムã®å¤–ã«ã‚りã¾ã™ã€‚fat_table_set: クラスタ %ld ã¯ãƒ•ァイルシステムã®å¤–ã«ã‚りã¾ã™ã€‚空ãファイルシステムを大ããã—ã¦ã„ã¾ã™helphelp [コマンド] ヘルプ表示。コマンド指定ã§ãã®ãƒ˜ãƒ«ãƒ—を表示hiddenhp-service䏿­£ãª %s%s ã®å¼•æ•° '%s' ã§ã™%s 㯠%s ã®ä¸æ­£ãªå¼•æ•°ã§ã™ä¸æ­£ãªãƒžã‚¤ãƒŠãƒ¼ç•ªå·ã§ã™: %s䏿­£ãªæŽ¥å°¾è¾žãŒ %s%s ã®å¼•æ•° `%s' ã«ã‚りã¾ã™ä¸æ­£ãªãƒˆãƒ¼ã‚¯ãƒ³ã§ã™: %sioctl()エラーlba全ブロックデãƒã‚¤ã‚¹ã®ãƒ‘ーティションレイアウトを表示論ç†lvmメモリä¸è¶³ãƒ¡ã‚¿æƒ…報最å°(minimal)mkfsmkfs NUMBER ファイルシステムã®ç¨®é¡ž             指定ã—ãŸç¨®é¡žã®ãƒ•ァイルシステムを作るmklabelmklabel,mktable ラベルã®ç¨®é¡ž æ–°ã—ã„ラベル(パーティションテーブル)を作るmkpartmkpart パーティションã®ç¨®é¡ž [ファイルシステムã®ç¨®é¡ž] é–‹å§‹ 終了             パーティションを作るmkpartfsmkpartfs パーティションã®ç¨®é¡ž ファイルシステムã®ç¨®é¡ž é–‹å§‹ 終了             パーティションã¨ãƒ•ァイルシステムを作るmktablemovemove NUMBER é–‹å§‹ 終了 パーティションを移動ã™ã‚‹msftresnamename NUMBER åå‰ ãƒ‘ãƒ¼ãƒ†ã‚£ã‚·ãƒ§ãƒ³ã«åå‰ã‚’ã¤ã‘るユーザã«ä»‹å…¥ã•ã›ãªã„offonオープンエラーデãƒã‚¤ã‚¹ã®ã‚ªãƒ¼ãƒ—ンã«å¤±æ•—ã—ã¾ã—ãŸã€‚最é©(optimal)paloparted 㯠%s ã®ãƒ‘ーティションテーブルã®å†…容をå†èª­ã¿è¾¼ã¿ã§ãã¾ã›ã‚“(%s)。ã“れ㯠Linux カーãƒãƒ«ã¯ã‚ãªãŸãŒè¡Œã£ãŸå¤‰æ›´ã‚’関知ã—ã¦ã„ãªã„ã“ã¨ã‚’æ„味ã—ã¦ã„ã¾ã™ã€‚パーティション長 %jd セクタ㯠%s パーティションテーブルã«ã‚ˆã£ã¦æ±ºã‚ã‚‰ã‚ŒãŸæœ€å¤§é•· %jd ã‚’è¶Šãˆã¦ã„ã¾ã™ped_device_new() サãƒãƒ¼ãƒˆã•れã¦ã„ãªã„種類ã®ãƒ‡ãƒã‚¤ã‚¹ã§ã™ã€‚prepプライマリプライマリパーティションテーブル㮠CRC ãŒä¸€è‡´ã—ã¾ã›ã‚“printprint [devices|free|list,all|NUMBER]             パーティションテーブルやã€åˆ©ç”¨å¯èƒ½ãªãƒ‡ãƒã‚¤ã‚¹ã€ç©ºã領域〠            見ã¤ã‹ã£ãŸå…¨ã¦ã®ãƒ‘ーティションã€ã‚ã‚‹ã„ã¯ç‰¹å®šã®ãƒ‘ーティションã«ã¤ã„ã¦è¡¨ç¤ºã™ã‚‹quitquit プログラムを終了ã™ã‚‹raidブロックをãã®ã¾ã¾ã‚³ãƒ”ー中読ã¿è¾¼ã¿ã‚¨ãƒ©ãƒ¼ãƒ‡ãƒã‚¤ã‚¹ã‹ã‚‰ã®èª­ã¿è¾¼ã¿ã«å¤±æ•—ã—ã¾ã—ãŸã€‚rescuerescue é–‹å§‹ 終了 é–‹å§‹ã€çµ‚äº†ã§æŒ‡å®šã—ãŸç¯„囲付近ã«ã‚るパーティションを復活ã•ã›ã‚‹resizeresize NUMBER é–‹å§‹ 終了 パーティションã¨ãã®ä¸­ã®ãƒ•ァイルシステムをリサイズã™ã‚‹rmrm NUMBER パーティションを削除ã™ã‚‹rootファイルシステムを探ã—ã¦ã„ã¾ã™ã‚·ãƒ¼ã‚¯ã‚¨ãƒ©ãƒ¼ãƒ‡ãƒã‚¤ã‚¹ã®ã‚·ãƒ¼ã‚¯ã«å¤±æ•—ã—ã¾ã—ãŸã€‚selectselect デãƒã‚¤ã‚¹ æ“作ã™ã‚‹ãƒ‡ãƒã‚¤ã‚¹ã‚’é¸æŠžsetset NUMBER フラグ 状態 ファイルシステムã®ãƒ•ラグã¨çŠ¶æ…‹ã‚’è¨­å®šã™ã‚‹ç¸®å°ä¸­HFS ラッパーを縮å°ã—ã¦ã„ã¾ã™embedded HFS+ ボリュームを縮å°ã—ã¦ã„ã¾ã™é–‹å§‹ã‚»ã‚¯ã‚¿ç•ªå· %jd 㯠%s パーティションテーブルã«ã‚ˆã£ã¦æ±ºã‚ã‚‰ã‚ŒãŸæœ€å¤§å€¤ %jd ã‚’è¶Šãˆã¦ã„ã¾ã™swaptoggletoggle [NUMBER [FLAG]] パーティションã®ãƒ•ラグã®çŠ¶æ…‹ã‚’å転ã™ã‚‹å¼•æ•°ãŒå°‘ãªã™ãŽã¾ã™å¼•æ•°ãŒå¤šã™ãŽã¾ã™ã€‚unitunit UNIT デフォルトã®å˜ä½ã‚’ UNIT ã«ã™ã‚‹versionversion GNU Parted ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã¨è‘—作権情報を表示書ãè¾¼ã¿ã‚¨ãƒ©ãƒ¼HFS マスタディレクトリブロックを書ãã“ã‚“ã§ã„ã¾ã™HFS+ ボリュームヘッダを書ãã“ã¿ä¸­ã§ã™ã‚°ãƒ«ãƒ¼ãƒ—毎ã®ãƒ¡ã‚¿æƒ…報を書込中デãƒã‚¤ã‚¹ã¸ã®æ›¸ãè¾¼ã¿ã«å¤±æ•—ã—ã¾ã—ãŸã€‚parted-2.3/po/ro.gmo0000644000000000000000000003253211400005705011263 00000000000000Þ•{ô§Ìh `i 2Ê <ý : O m Œ %¢ È å ‡ø € „ LŽ !Û !ý G<g@¤2å"?;!{2Ð(ã +B`dØj&CjœºØô ú 4!4V‹)ªÔÙîþ#.,)[.…´)Í-÷%*Ö0<<D^ˆà¨i¶@É@ RKUžô(&?(fAÑä3û/7V r|H„+Í~ùx}€‰Ž“ 𥩱µ¾ÃË9Ò Lbglp)s¥«°µ¼ÃÆËÒÖÛªà]‹2é =!Z!)u!*Ÿ!Ê!5æ!&"C"«V"# #T##e#‰#B©#:ì#:'$4b$)—$WÁ$"%8<%u%+ˆ%2´%ç%þ%&$&+&3B'v'"“'#¶'Ú'÷'((+( :(7E(:}("¸(;Û()")?)1_)‘)—)/ )(Ð)5ù)/*(C*7l* ¤*¯*äµ*2š+2Í+o,–p, -Ì/8à/80TR0S§0û01-1"J1)m1G—1ß1ó12 2 <2)G2 q2 ’2 Ÿ2^«2, 3£73Û3à3ã3ë3ñ3ö3 þ3 4 444!4&4.4;54q4Tz4Ï4Ô4Ù4ß4-æ455"5'5,535:5=5B5I5M5R5_! EOMTJotZ9C#5XNa(=xL@ 1S>W\"?AUi4e Y [qKdnzR+c&D*mP)wvjuhk-3$ 6yBs,g7f82/;lrH%^:`0G ]F'VQ.Ipb<{%s contains GPT signatures, indicating that it has a GPT table. However, it does not have a valid fake msdos partition table, as it should. Perhaps it was corrupted -- possibly by a program that doesn't understand GPT partition tables. Or perhaps you deleted the GPT table, and are now using an msdos partition table. Is this a GPT partition table?%s disk labels do not support extended partitions.%s disk labels don't support logical or extended partitions.%s during read on %s%s during seek for read on %s%s during seek for write on %s%s during write on %s%s is too small for a Mac disk label!%s trying to sync %s to diskATARAID ControllerBoth the primary and backup GPT tables are corrupt. Try making a fresh table, and using Parted's rescue feature to recover partitions.BugCOMMANDs:Can't add a logical partition to %s, because there is no extended partition.Can't copy an extended partition.Can't create any more partitions.Can't have a logical partition outside of the extended partition on %s.Can't have a primary partition inside an extended partition.Can't have logical partitions outside of the extended partition.Can't have more than one extended partition on %s.Can't have overlapping partitions.Can't move a partition onto itself. Try using resize, perhaps?Can't move an extended partition.Can't write to %s, because it is opened read-only.Compaq Smart ArrayCould not get identity of device %s - %sCould not stat device %s - %s.DAC960 RAID controllerDestination partition number?EndErrorError informing the kernel about modifications to partition %s -- %s. This means Linux won't know about any changes you made to %s until you reboot -- so you shouldn't mount it or use it in any way before rebooting.Error initialising SCSI device %s - %sError opening %s: %sExpecting a disk label type.Expecting a file system type.Expecting a partition number.Expecting a partition type.FatalFile systemI2O ControllerInformationInvalid partition table - recursive partition on %s.Invalid partition table on %s -- wrong signature %x.Invalid partition table on %s.Invalid signature %x for Mac disk labels.NameNew disk label type?No device foundNo valid partition map found.NumberOPTIONs:Partition %d has an invalid length of 0 bytes!Partition %d has an invalid signature %x.Partition %d is %s, but the file system is %s.Partition doesn't exist.Partition map has no partition map entry!Partition too big/small for a %s file system.SizeStartThe backup GPT table is not at the end of the disk, as it should be. This might mean that another operating system believes the disk is smaller. Fix, by moving the backup to the end (and removing the old backup)?The boot region doesn't start at the start of the partition.The data region doesn't start at the start of the partition.The driver descriptor says the physical block size is %d bytes, but Linux says it is %d bytes.The format of the GPT partition table is version %x, which is newer than what Parted can recognise. Please tell us! bug-parted@gnu.orgThe partition table cannot be re-read. This means you need to reboot before mounting any modified partitions. You also need to reinstall your boot loader before you reboot (which may require mounting modified partitions). It is impossible do both things! So you'll need to boot off a rescue disk, and reinstall your boot loader from the rescue disk. Read section 4 of the Parted User documentation for more information.The partition table on %s cannot be re-read (%s). This means the Hurd knows nothing about any modifications you made. You should reboot your computer before doing anything with %s.The partition's boot region doesn't occupy the entire partition.The partition's data region doesn't occupy the entire partition.The primary GPT table is corrupt, but the backup appears OK, so that will be used.This libparted doesn't have write support for %s. Perhaps it was compiled read-only.Too many primary partitions.TypeUnable to allocate a bsd disklabel slot.Unable to allocate a partition number.Unable to determine the size of %s (%s).Unable to open %s read-write (%s). %s has been opened read-only.Unable to open %s.Unable to probe store.Unable to satisfy all constraints on the partition.UnknownUnknown file system type "%s".Unknown partition flag, %d.Using %s WarningWeird block size on device descriptor: %d bytes is not divisible by 512.Weird! There are 2 partitions map entries!You should reinstall your boot loader before rebooting. Read section 4 of the Parted User documentation for more information.bootcpextendedfreehelphiddenhp-servicelbalogicallvmmetadatamkfsmklabelmkpartmkpart PART-TYPE [FS-TYPE] START END make a partitionmkpartfsmkpartfs PART-TYPE FS-TYPE START END make a partition with a file systemmovenameoffonped_device_new() Unsupported device typeprimaryprintquitraidrescueresizermrootselectsetswapunitProject-Id-Version: parted 1.6.23 Report-Msgid-Bugs-To: bug-parted@gnu.org POT-Creation-Date: 2010-05-28 20:30+0200 PO-Revision-Date: 2005-08-08 12:00-05 Last-Translator: Laurentiu Buzdugan Language-Team: Romanian Language: ro MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-2 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); %s conþine semnãturi GPT, indicând cã are o tabelã GPT. Totuºi, aceasta nu are o tabelã de partiþii msdos falsã, aºa cum ar trebui. Probabil cã a fost coruptã -- posibil de un program ce nu înþelege tabelele de partiþii GPT. Sau probabil cã aþi ºters tabela GPT ºi folosiþi acum o tabelã de partiþii msdos. Este aceasta o tabelã de partiþii GPT?Etichetele de disc %s nu suportã partiþii extinse.Etichetele de disc %s nu suportã partiþii logice sau extinse.%s în timpul citirii pe %s%s în timpul cãutãrii pentru citire pe %s%s în timpul cãutãrii pentru scriere pe %s%s în timpul scrierii pe %s%s este prea mic pentr o etichetã de disc pentru Mac.%s încearcã sã sincronizeze %s pe discController ATARAIDAtât tabela primarã cât ºi cea de rezervã sunt corupte. Încercaþi sã creaþi o tabelã nouã ºi sã folosiþi capabilitatea de salvare lui Parted pentru a recupera partiþiile.BugCOMMENZI:Nu pot adãuga o partiþie logicã lui %s pentru cã aceasta nu este o partiþie extinsã.Nu puteþi copia o partiþie extinsã.Nu mai pot crea nici o partiþieNu puteþi avea o partiþie logicã în afara partiþiei extinse pe %s.Nu puteþi avea o partiþie primarã într-o partiþie extinsã.Nu puteþi avea partiþii logice în afara partiþiei extinse.Nu puteþi avea mai mult de o partiþie extinsã pe %s.Nu puteþi avea partiþii care se suprapun.Nu puteþi muta o partiþie peste ea însãºi. încercaþi poate sã folosiþi redimensionare?Nu puteþi muta o partiþie extinsã.Nu pot scrie pe %s, pentru cã este deschis numai-citire.Compaq Smart ArrayNu am putut identifica dispozitivul %s - %sNu am putut afla date despre dispozitivul %s - %s.Controller RAID DAC960Numãrul partiþiei destinaþie?SfârºitEroareEroare la informarea kernel-ului despre modificãrile fãcute partiþiei %s -- %s. Aceasta înseamnã cã Linux nu va ºti nimic despre schimbãrile pe care le-aþi fãcut lui %s pânã când nu reboot-aþi -- aºa cã n-ar trebui sã îl montaþi sau folosiþi în vreun fel înainte de a reboot-a.Eroare la iniþializarea dispozitivului SCSI %s - %sEroare la deschiderea %s: %sAºtept un tip de etichetã de disc.Aºtept un tip de sistem de fiºiere.Aºtept un numãr de partiþie.Aºtept un tip de partiþie.FatalãSistem de fiºiereController I2OInformaþiiTabela de partiþii invalidã - partiþie recursivã pe %s.Tabela de partiþii invalidã pe %s -- semnãturã greºitã %x.Tabela de partiþii invalidã pe %s.Semnãturã invalidã %x pentru etichetele de disc pentru Mac.NumeTip de etichetã pentru discul nou?Nu a fost gãsitã nici o unitateNu a fost gãsitã nici o hartã de partiþie validã.NumãrOPÞIUNI:Partiþia %d are o lungime invalidã de 0 octeþi!Partiþia %d are o semnãturã invalidã %x.Partiþia %d este %s, dar sistemul de fiºiere este %s.Partiþia nu existã.Harta de partiþii nu are nici o intrare!Partiþie prea mare/micã pentru un sistem de fiºiere %s.DimensiuneStartTabela GPT de rezervã nu este la sfârºitul discului, cum ar trbui sã fie. Aceasta ar putea însemna cã un alt sistem de operare crede cã diacul este mai mic. Reparã, mutând rezerva (backup) la sfârºit (ºi ºterge vechea rezervã?Regiunea de boot nu începe la începutul partiþiei.Regiunea de date nu începe la începutul partiþiei.Descriptorul de driver spune cã dimensiunea fizicã a blocului este %d octeþi dar Linux spune cã este %d octeþi.Formatul tabelei de partiþii GPT este versiunea %x, care este mai nou decât ceea ce Parted poate recunoaºte. Vã rugãm spuneþi-ne! bug-parted@gnu.orgTabela de partiþii nu poate fi recititã. Aceasta înseamnã cã trebuie sã reboot-aþi înainte de a monta orice partiþii modificate. Deasemenea, ar trebui sã reinstalaþi boot loader-ul înainte de a reboot-a (ceea ce ar putea sã necesite montarea partiþiilor modificate). Este imposibil sã faceþi ambele lucruri! Aºa cã trebuie sã boot-aþi de pe un disc de salvare ºi reinstalaþi boot loader-ul d-voastrã de pe discul de salvare. Citiþi secþiunea 4 din documentaþia utilizatorului de Parted pentru informaþii suplimentare.Tabela de partiþii pe %s nu poate fi re-cititã (%s). Aceasta înseamnã cã Hurd nu ºtie nimic despre nici o modificare pe care aþi fãcut-o. Ar trebui sã reboot-aþi computerul înainte de a face ceva cu %s.Regiunea de boot a partiþiei nu ocupã întreaga partiþie.Regiunea de date a partiþiei nu ocupã întreaga partiþie.Tabela primarã GPT este coruptã, dar rezerva pare OK, aºa cã va fi folositã rezerva.Aceast libparted nu are suport pentru %s. Probabil cã a fost compilat numai-citire.Prea multe partiþii primare.TipNu pot aloca loc pentru eticheta de disc bsd.Nu pot aloca un numãr de partiþie.Nu pot determina dimensiunea lui %s (%s).Nu pot deschide %s citire-scriere (%s). %s a fost deschis numai-citire.Nu pot deschide %s.Nu pot proba `store'.Nu pot satisface toate constrângerile pe partiþie.NecunoscutTip de sistem de fiºiere necunoscut "%s".Flag de partiþie necunoscut, %d.Folosesc %s AvertismentDimensiune de bloc ciudatã pe descriptorul dispozitivului: %d octeþi nu este divizibil cu 512.Ciudat! Existã 2 intrãri în harta partiþieiAr trebui sã reinstalaþi boot loader-ul d-voastrã înainte de reboot-are. Citiþi secþiunea 4 din documentaþia utilizatorului Parted pentru informaþii suplimentare.bootcpextinsãliberhelpascunsãhp-servicelbalogicãlvmmetadatamkfsmklabelmkpartmkpart TIP-PART [TIP-SF] START SFÂRªIT creazã o partiþiemkpartfsmkpartfs TIP-PART TIP-SF START SFÂRªIT creazã o partiþie cu un sistem de fiºieremovenameopritpornitped_device_new() Tip de dispozitiv nesuportatprimarãprintquitraidrescueresizermrootselectsetswapunitateparted-2.3/po/nl.po0000644000000000000000000032640011400005705011110 00000000000000# Dutch translations for parted. # Copyright (C) 2010 Free Software Foundation, Inc. # This file is distributed under the same license as the parted package. # # Ivo Timmermans , 2000. # Erwin Poeze , 2010. # Benno Schulenberg , 2005, 2006, 2007, 2010. msgid "" msgstr "" "Project-Id-Version: parted 2.2\n" "Report-Msgid-Bugs-To: bug-parted@gnu.org\n" "POT-Creation-Date: 2010-05-28 20:30+0200\n" "PO-Revision-Date: 2010-04-04 13:31+0200\n" "Last-Translator: Benno Schulenberg \n" "Language-Team: Dutch \n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Lokalize 1.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "ongeldig argument %s van %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "argument %s van %s is niet eenduidig" #: lib/argmatch.c:153 #, c-format msgid "Valid arguments are:" msgstr "Geldige argumenten zijn:" #: lib/closeout.c:112 libparted/labels/fdasd.c:107 msgid "write error" msgstr "schrijffout" #: lib/error.c:181 msgid "Unknown system error" msgstr "Onbekende systeemfout" #: lib/getopt.c:527 lib/getopt.c:543 #, c-format msgid "%s: option '%s' is ambiguous\n" msgstr "%s: optie '%s' is niet eenduidig\n" #: lib/getopt.c:576 lib/getopt.c:580 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: optie '--%s' staat geen argument toe\n" #: lib/getopt.c:589 lib/getopt.c:594 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: optie '%c%s' staat geen argument toe\n" #: lib/getopt.c:637 lib/getopt.c:656 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: optie '%s' vereist een argument\n" #: lib/getopt.c:694 lib/getopt.c:697 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: onbekende optie '--%s'\n" #: lib/getopt.c:705 lib/getopt.c:708 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: onbekende optie '%c%s'\n" #: lib/getopt.c:757 lib/getopt.c:760 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: ongeldige optie -- '%c'\n" #: lib/getopt.c:810 lib/getopt.c:827 lib/getopt.c:1035 lib/getopt.c:1053 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: optie vereist een argument -- '%c'\n" #: lib/getopt.c:883 lib/getopt.c:899 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: optie '-W %s' is niet eenduidig\n" #: lib/getopt.c:923 lib/getopt.c:941 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: optie '-W %s' staat geen argument toe\n" #: lib/getopt.c:962 lib/getopt.c:980 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: optie '%s' vereist een argument\n" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". If the catalog has no translation, #. locale_quoting_style quotes `like this', and #. clocale_quoting_style quotes "like this". #. #. For example, an American English Unicode locale should #. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and #. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION #. MARK). A British English Unicode locale should instead #. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) #. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. #. #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. #: lib/quotearg.c:272 msgid "`" msgstr "‘" #: lib/quotearg.c:273 msgid "'" msgstr "’" #: lib/regcomp.c:134 msgid "Success" msgstr "Gelukt" #: lib/regcomp.c:137 msgid "No match" msgstr "Geen overeenkomsten" #: lib/regcomp.c:140 msgid "Invalid regular expression" msgstr "Ongeldige reguliere expressie" #: lib/regcomp.c:143 msgid "Invalid collation character" msgstr "Ongeldig samengesteld teken" #: lib/regcomp.c:146 msgid "Invalid character class name" msgstr "Ongeldige tekenklassenaam" #: lib/regcomp.c:149 msgid "Trailing backslash" msgstr "Backslash aan het eind" #: lib/regcomp.c:152 msgid "Invalid back reference" msgstr "Ongeldige terugverwijzing" #: lib/regcomp.c:155 msgid "Unmatched [ or [^" msgstr "Ongepaarde [ of [^" #: lib/regcomp.c:158 msgid "Unmatched ( or \\(" msgstr "Ongepaarde ( of \\(" #: lib/regcomp.c:161 msgid "Unmatched \\{" msgstr "Ongepaarde \\{" #: lib/regcomp.c:164 msgid "Invalid content of \\{\\}" msgstr "Ongeldige inhoud van \\{\\}" #: lib/regcomp.c:167 msgid "Invalid range end" msgstr "Ongeldig bereikeinde" #: lib/regcomp.c:170 msgid "Memory exhausted" msgstr "Onvoldoende geheugen beschikbaar" #: lib/regcomp.c:173 msgid "Invalid preceding regular expression" msgstr "Ongeldige voorafgaande reguliere expressie" #: lib/regcomp.c:176 msgid "Premature end of regular expression" msgstr "Voortijdig einde van reguliere expressie" #: lib/regcomp.c:179 msgid "Regular expression too big" msgstr "Reguliere expressie is te groot" #: lib/regcomp.c:182 msgid "Unmatched ) or \\)" msgstr "Ongepaarde ) of \\)" #: lib/regcomp.c:703 msgid "No previous regular expression" msgstr "Geen eerdere reguliere expressie" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[jJyY]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nN]" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "In pakketvorm gebracht door %s (%s)\n" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "In pakketvorm gebracht door %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "©" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "Dit is vrije software: u mag het vrijelijk wijzigen en verder verspreiden.\n" "De precieze licentie is GPLv3+: GNU GPL versie 3 of later;\n" "zie http://gnu.org/licenses/gpl.html voor de volledige tekst.\n" "Er is GEEN GARANTIE, voor zover de wet dit toestaat.\n" "\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Geschreven door %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Geschreven door %s en %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Geschreven door %s, %s en %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "Geschreven door %s, %s, %s\n" "en %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Geschreven door %s, %s, %s,\n" "%s en %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Geschreven door %s, %s, %s,\n" "%s, %s en %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Geschreven door %s, %s, %s,\n" "%s, %s, %s en %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Geschreven door %s, %s, %s,\n" "%s, %s, %s, %s\n" "en %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Geschreven door %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s en %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Geschreven door %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s en anderen.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Rapporteer gebreken in het programma aan <%s>;\n" "meld fouten in de vertaling aan .\n" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "" "Rapporteer gebreken in het programma '%s' aan <%s>;\n" "meld fouten in de vertaling aan .\n" #: lib/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "Webpagina van %s: <%s>\n" #: lib/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "Webpagina van %s: \n" #: lib/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" "Algemene hulp bij gebruik van GNU-software: \n" #: lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "onvoldoende geheugen beschikbaar" #: lib/xstrtol-error.c:63 #, c-format msgid "invalid %s%s argument `%s'" msgstr "ongeldig argument '%3$s' van %1$s%2$s" #: lib/xstrtol-error.c:68 #, c-format msgid "invalid suffix in %s%s argument `%s'" msgstr "ongeldig achtervoegsel in argument '%3$s' van %1$s%2$s" #: lib/xstrtol-error.c:72 #, c-format msgid "%s%s argument `%s' too large" msgstr "argument '%3$s' van %1$s%2$s is te groot" #: libparted/arch/beos.c:245 msgid "Disk Image" msgstr "Schijfimage" #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277 #: libparted/arch/linux.c:1519 #, c-format msgid "Error opening %s: %s" msgstr "Fout tijdens openen van %s: %s" #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287 #: libparted/arch/linux.c:1530 #, c-format msgid "Unable to open %s read-write (%s). %s has been opened read-only." msgstr "" "Kan %s niet openen voor lezen-en-schrijven (%s); %s is geopend voor alleen-" "lezen." #: libparted/arch/beos.c:419 libparted/arch/linux.c:1688 #, c-format msgid "%s during seek for read on %s" msgstr "%s tijdens een 'seek' bij het lezen van %s" #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564 #: libparted/arch/gnu.c:692 libparted/arch/linux.c:1648 #: libparted/arch/linux.c:1729 #, c-format msgid "%s during read on %s" msgstr "%s tijdens lezen van %s" #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525 #: libparted/arch/linux.c:1805 #, c-format msgid "Can't write to %s, because it is opened read-only." msgstr "Kan niet naar %s schrijven, omdat het geopend is voor alleen-lezen." #: libparted/arch/beos.c:504 libparted/arch/linux.c:1830 #, c-format msgid "%s during seek for write on %s" msgstr "%s tijdens een 'seek' bij het schrijven naar %s" #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646 #: libparted/arch/gnu.c:723 libparted/arch/linux.c:1778 #: libparted/arch/linux.c:1872 libparted/arch/linux.c:1944 #, c-format msgid "%s during write on %s" msgstr "%s tijdens schrijven naar %s" #: debug/clearfat/clearfat.c:62 partprobe/partprobe.c:137 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Typ '%s --help' voor meer informatie.\n" #: debug/clearfat/clearfat.c:66 #, c-format msgid "" "Usage: %s [OPTION]\n" " or: %s DEVICE MINOR\n" msgstr "" "Gebruik: %s [OPTIE]\n" " of: %s APPARAAT-SUBNUMMER\n" #: debug/clearfat/clearfat.c:69 msgid "" "Clear unused space on a FAT partition (a GNU Parted testing tool).\n" "\n" msgstr "" "Ongebruikte ruimte op een FAT-partitie wissen (testgereedschap van GNU " "Parted).\n" "\n" #: debug/clearfat/clearfat.c:73 msgid " --help display this help and exit\n" msgstr " --help deze hulptekst tonen en stoppen\n" #: debug/clearfat/clearfat.c:74 msgid " --version output version information and exit\n" msgstr " --version programmaversie tonen en stoppen\n" #: debug/clearfat/clearfat.c:76 partprobe/partprobe.c:154 #, c-format msgid "" "\n" "Report bugs to <%s>.\n" msgstr "" "\n" "Rapporteer gebreken in het programma aan <%s>;\n" "meld fouten in de vertaling aan .\n" #: debug/clearfat/clearfat.c:284 #, c-format msgid "too few arguments" msgstr "te weinig argumenten" #: debug/clearfat/clearfat.c:289 #, c-format msgid "too many arguments" msgstr "te veel argumenten" #: debug/clearfat/clearfat.c:297 #, c-format msgid "invalid minor device number: %s" msgstr "ongeldig subapparaatnummer: %s" #: partprobe/partprobe.c:141 #, c-format msgid "Usage: %s [OPTION] [DEVICE]...\n" msgstr "Gebruik: %s [OPTIE] [APPARAAT]...\n" #: partprobe/partprobe.c:142 msgid "" "Inform the operating system about partition table changes.\n" "\n" " -d, --dry-run do not actually inform the operating system\n" " -s, --summary print a summary of contents\n" " -h, --help display this help and exit\n" " -v, --version output version information and exit\n" msgstr "" "Het besturingssysteem informeren over veranderingen in een partitietabel.\n" "\n" " -d, --dry-run het besturingssysteem niet informeren, maar doen alsof\n" " -s, --summary een samenvatting van de inhoud tonen\n" " -h, --help deze hulptekst tonen en stoppen\n" " -v, --version programmaversie tonen en stoppen\n" #: partprobe/partprobe.c:150 msgid "" "\n" "When no DEVICE is given, probe all partitions.\n" msgstr "" "\n" "Zonder APPARAAT worden alle beschikbare apparaten onderzocht.\n" #: libparted/arch/gnu.c:110 #, c-format msgid "Unable to open %s." msgstr "Kan %s niet openen." #: libparted/arch/gnu.c:130 msgid "Unable to probe store." msgstr "Kan de logische opbouw van het apparaat niet achterhalen." #: libparted/arch/gnu.c:368 msgid "" "The partition table cannot be re-read. This means you need to reboot before " "mounting any modified partitions. You also need to reinstall your boot " "loader before you reboot (which may require mounting modified partitions). " "It is impossible do both things! So you'll need to boot off a rescue disk, " "and reinstall your boot loader from the rescue disk. Read section 4 of the " "Parted User documentation for more information." msgstr "" "De kernel kan de partitietabel niet herlezen. Dit betekent dat u uw " "computer moet herstarten alvorens veranderde partities te gebruiken. Maar " "voor het herstarten moet u ook uw opstartprogramma opnieuw installeren, wat " "mogelijk het aankoppelen van veranderde partitities vereist. De twee dingen " "zijn niet samen mogelijk! U zult dus van een reddingsdiskette of van een CD " "moeten herstarten, en vanaf daar uw opstartprogramma moeten herinstalleren. " "Lees eventueel sectie 4 van de Parted-gebruikersdocumentatie." #: libparted/arch/gnu.c:385 #, c-format msgid "" "The partition table on %s cannot be re-read (%s). This means the Hurd knows " "nothing about any modifications you made. You should reboot your computer " "before doing anything with %s." msgstr "" "De kernel kan de partitietabel op %s niet herlezen (%s). Dit betekent dat " "de Hurd geen weet heeft van de veranderingen die u net hebt gemaakt. U " "dient uw computer te herstarten alvorens iets met %s te doen." #: libparted/arch/gnu.c:396 parted/parted.c:2719 msgid "" "You should reinstall your boot loader before rebooting. Read section 4 of " "the Parted User documentation for more information." msgstr "" "Alvorens te herstarten dient u uw opstartprogramma opnieuw te installeren. " "Lees sectie 4 van de Parted-gebruikersdocumentatie voor meer informatie." #: libparted/arch/gnu.c:788 #, c-format msgid "%s trying to sync %s to disk" msgstr "%s: bezig met synchroniseren van %s naar schijf" #: libparted/arch/linux.c:509 #, c-format msgid "Could not stat device %s - %s." msgstr "Kan de status van apparaat '%s' niet opvragen -- %s." #: libparted/arch/linux.c:566 #, c-format msgid "Unable to determine the dm type of %s." msgstr "Kan het apparaattype van '%s' niet achterhalen." #: libparted/arch/linux.c:658 #, c-format msgid "" "Could not determine sector size for %s: %s.\n" "Using the default sector size (%lld)." msgstr "" "Kan de sectorgrootte van %s niet achterhalen: %s.\n" "De standaard sectorgrootte (%lld) wordt gebruikt." #: libparted/arch/linux.c:679 #, c-format msgid "" "Could not determine physical sector size for %s.\n" "Using the logical sector size (%lld)." msgstr "" "Kan de fysieke sectorgrootte van %s niet achterhalen.\n" "De logische sectorgrootte (%lld) wordt gebruikt." #: libparted/arch/linux.c:728 #, c-format msgid "Unable to determine the size of %s (%s)." msgstr "Kan de grootte van %s niet achterhalen -- %s." #: libparted/arch/linux.c:814 #, c-format msgid "Could not get identity of device %s - %s" msgstr "Kan de identiteit van apparaat %s niet achterhalen -- %s." #: libparted/arch/linux.c:823 msgid "Generic IDE" msgstr "Gewone IDE" #: libparted/arch/linux.c:844 #, c-format msgid "" "Device %s has multiple (%d) logical sectors per physical sector.\n" "GNU Parted supports this EXPERIMENTALLY for some special disk label/file " "system combinations, e.g. GPT and ext2/3.\n" "Please consult the web site for up-to-date information." msgstr "" "Apparaat %s bevat per fysieke sector meerdere (%d) logische sectoren.\n" "GNU Parted ondersteunt dit op EXPERIMENTELE basis voor sommige combinaties " "van\n" "schijflabel en bestandssysteem, bijvoorbeeld GPT met ext2/3.\n" "Zie de website van Parted voor de laatste informatie." #: libparted/arch/linux.c:1019 #, c-format msgid "Error initialising SCSI device %s - %s" msgstr "Fout tijdens initialiseren van SCSI-apparaat %s -- %s." #: libparted/arch/linux.c:1083 #, c-format msgid "" "The device %s has zero length, and can't possibly store a file system or " "partition table. Perhaps you selected the wrong device?" msgstr "" "Apparaat %s heeft lengte nul en kan met geen mogelijkheid een " "bestandssysteem\n" "of partitietabel bevatten. Hebt u misschien een verkeerd apparaat gekozen?" #: libparted/arch/linux.c:1190 #, c-format msgid "" "Unable to determine geometry of file/device %s. You should not use Parted " "unless you REALLY know what you're doing!" msgstr "" "Kan de logische opbouw van het apparaat %s niet achterhalen.\n" "U kunt Parted beter niet gebruiken tenzij u ECHT weet wat u doet!" #: libparted/arch/linux.c:1250 msgid "Generic SD/MMC Storage Card" msgstr "Algemeen SD/MMC-geheugenkaart" #: libparted/arch/linux.c:1303 msgid "DAC960 RAID controller" msgstr "DAC960 RAID-stuurapparaat" #: libparted/arch/linux.c:1308 msgid "Promise SX8 SATA Device" msgstr "Promise SX8 SATA-apparaat" #: libparted/arch/linux.c:1313 msgid "ATA over Ethernet Device" msgstr "" #: libparted/arch/linux.c:1319 msgid "IBM S390 DASD drive" msgstr "IBM S390 DASD-schijf" #: libparted/arch/linux.c:1325 msgid "IBM iSeries Virtual DASD" msgstr "IBM iSeries virtuele DASD" #: libparted/arch/linux.c:1330 msgid "Compaq Smart Array" msgstr "Compaq Smart Array-stuurapparaat" #: libparted/arch/linux.c:1335 msgid "ATARAID Controller" msgstr "ATARAID-stuurapparaat" #: libparted/arch/linux.c:1340 msgid "I2O Controller" msgstr "I2O-stuurapparaat" #: libparted/arch/linux.c:1345 msgid "User-Mode Linux UBD" msgstr "User-Mode Linux-blokapparaat (UBD)" #: libparted/arch/linux.c:1358 #, c-format msgid "Linux device-mapper (%s)" msgstr "Linux device-mapper (%s)" #: libparted/arch/linux.c:1369 msgid "Xen Virtual Block Device" msgstr "Xen virtueel blokapparaat" #: libparted/arch/linux.c:1374 msgid "Unknown" msgstr "(onbekend)" #: libparted/arch/linux.c:1383 msgid "Virtio Block Device" msgstr "Virtio-blokapparaat" #: libparted/arch/linux.c:1388 msgid "Linux Software RAID Array" msgstr "" #: libparted/arch/linux.c:1395 msgid "ped_device_new() Unsupported device type" msgstr "Apparaattype wordt niet ondersteund." #: libparted/arch/linux.c:1492 libparted/arch/linux.c:1564 #, c-format msgid "Error fsyncing/closing %s: %s" msgstr "Fout tijdens fsyncing/sluiten van %s: %s" #: libparted/arch/linux.c:1728 #, c-format msgid "end of file while reading %s" msgstr "bestandseinde tijdens lezen van %s" #: libparted/arch/linux.c:2365 #, c-format msgid "" "Error informing the kernel about modifications to partition %s -- %s. This " "means Linux won't know about any changes you made to %s until you reboot -- " "so you shouldn't mount it or use it in any way before rebooting." msgstr "" #: libparted/arch/linux.c:2503 #, fuzzy, c-format msgid "Unable to determine the size and length of %s." msgstr "Kan de grootte van %s niet achterhalen -- %s." #: libparted/arch/linux.c:2528 #, fuzzy, c-format msgid "Failed to add partition %d (%s)" msgstr "%s : Kan partitieblok %llu niet lezen\n" #: libparted/arch/linux.c:2555 #, c-format msgid "" "Partition(s) %s on %s have been written, but we have been unable to inform " "the kernel of the change, probably because it/they are in use. As a result, " "the old partition(s) will remain in use. You should reboot now before " "making further changes." msgstr "" #: libparted/arch/linux.c:2681 #, c-format msgid "" "parted was unable to re-read the partition table on %s (%s). This means " "Linux won't know anything about the modifications you made. " msgstr "" "Parted kan de partitietabel op %s niet herlezen (%s). Dit betekent dat " "Linux geen weet heeft van de veranderingen die u net hebt gemaakt. " #: libparted/cs/geom.c:162 #, c-format msgid "Can't have the end before the start! (start sector=%jd length=%jd)" msgstr "" "Het einde kan niet vóór het begin liggen! (startsector=%jd, lengte=%jd)" #: libparted/cs/geom.c:170 msgid "Can't have a partition outside the disk!" msgstr "Kan geen partitie maken buiten de schijf!" #: libparted/cs/geom.c:385 #, c-format msgid "Attempt to write sectors %ld-%ld outside of partition on %s." msgstr "" "Poging tot het schrijven van sectoren %ld-%ld buiten de partitie op %s." #: libparted/cs/geom.c:425 libparted/fs/linux_swap/linux_swap.c:488 msgid "checking for bad blocks" msgstr "bezig met zoeken naar slechte blokken" #: libparted/debug.c:97 #, c-format msgid "Backtrace has %d calls on stack:\n" msgstr "De backtrace heeft %d aanroepen op de stack:\n" #: libparted/debug.c:110 #, c-format msgid "Assertion (%s) at %s:%d in function %s() failed." msgstr "*** assertion (%s) at %s:%d in function %s() failed ***" #: libparted/disk.c:193 #, c-format msgid "%s: unrecognised disk label" msgstr "%s: onbekend schijflabel" #: libparted/disk.c:486 #, c-format msgid "" "This libparted doesn't have write support for %s. Perhaps it was compiled " "read-only." msgstr "" "Deze libparted kan niet naar %s schrijven. Mogelijk werd libparted voor " "alleen-lezen gecompileerd." #: libparted/disk.c:631 #, c-format msgid "Partition %d is %s, but the file system is %s." msgstr "Partitie %d is %s, maar het bestandssysteem is %s." #: libparted/disk.c:841 msgid "cylinder_alignment" msgstr "cilinderuitlijning" #: libparted/disk.c:847 #, c-format msgid "Unknown disk flag, %d." msgstr "Onbekende schijfvlag %d." #: libparted/disk.c:1286 #, c-format msgid "%s disk labels do not support extended partitions." msgstr "%s-schijflabels kennen geen uitgebreide partities." #: libparted/disk.c:1865 #, c-format msgid "%s disk labels don't support logical or extended partitions." msgstr "%s-schijflabels kennen geen logische of uitgebreide partities." #: libparted/disk.c:1878 msgid "Too many primary partitions." msgstr "Te veel primaire partities." #: libparted/disk.c:1887 #, c-format msgid "" "Can't add a logical partition to %s, because there is no extended partition." msgstr "" "Kan geen logische partitie aan %s toevoegen, omdat er geen uitgebreide " "partitie is." #: libparted/disk.c:1911 #, c-format msgid "Can't have more than one extended partition on %s." msgstr "Kan niet meer dan één uitgebreide partitie maken op %s." #: libparted/disk.c:1921 msgid "Can't have logical partitions outside of the extended partition." msgstr "Kan geen logische partitie buiten de uitgebreide partitie maken." #: libparted/disk.c:1946 #, c-format msgid "Can't have a logical partition outside of the extended partition on %s." msgstr "Kan geen logische partitie buiten de uitgebreide partitie op %s maken." #: libparted/disk.c:1956 libparted/disk.c:2015 libparted/disk.c:2193 msgid "Can't have overlapping partitions." msgstr "Kan geen overlappende partities maken." #: libparted/disk.c:1964 msgid "Can't have a primary partition inside an extended partition." msgstr "Kan geen primaire partitie binnen een uitgebreide partitie maken." #: libparted/disk.c:2395 msgid "metadata" msgstr "metagegevens" #: libparted/disk.c:2397 msgid "free" msgstr "vrij" #: libparted/disk.c:2399 parted/ui.c:1193 parted/ui.c:1221 msgid "extended" msgstr "uitgebreid" #: libparted/disk.c:2401 parted/ui.c:1197 parted/ui.c:1225 msgid "logical" msgstr "logisch" #: libparted/disk.c:2403 parted/ui.c:1189 parted/ui.c:1217 msgid "primary" msgstr "primair" #: libparted/disk.c:2419 msgid "boot" msgstr "opstart" #: libparted/disk.c:2421 msgid "bios_grub" msgstr "bios_grub" #: libparted/disk.c:2423 msgid "root" msgstr "root" #: libparted/disk.c:2425 msgid "swap" msgstr "swap" #: libparted/disk.c:2427 msgid "hidden" msgstr "verborgen" #: libparted/disk.c:2429 msgid "raid" msgstr "raid" #: libparted/disk.c:2431 msgid "lvm" msgstr "lvm" #: libparted/disk.c:2433 msgid "lba" msgstr "lba" #: libparted/disk.c:2435 msgid "hp-service" msgstr "hp-service" #: libparted/disk.c:2437 msgid "palo" msgstr "palo" #: libparted/disk.c:2439 msgid "prep" msgstr "prep" #: libparted/disk.c:2441 msgid "msftres" msgstr "msftres" #: libparted/disk.c:2443 msgid "atvrecv" msgstr "atvrecv" #: libparted/disk.c:2445 msgid "diag" msgstr "" #: libparted/disk.c:2451 #, c-format msgid "Unknown partition flag, %d." msgstr "Onbekende partitievlag %d." #: libparted/exception.c:77 msgid "Information" msgstr "Informatie" #: libparted/exception.c:78 msgid "Warning" msgstr "Waarschuwing" #: libparted/exception.c:79 msgid "Error" msgstr "Fout" #: libparted/exception.c:80 msgid "Fatal" msgstr "Fataal" #: libparted/exception.c:81 msgid "Bug" msgstr "Programmeerfout" #: libparted/exception.c:82 msgid "No Implementation" msgstr "Niet-geïmplementeerd" #: libparted/exception.c:86 msgid "Fix" msgstr "Repareren" #: libparted/exception.c:87 msgid "Yes" msgstr "Ja" #: libparted/exception.c:88 msgid "No" msgstr "Nee" #: libparted/exception.c:89 msgid "OK" msgstr "OK" #: libparted/exception.c:90 msgid "Retry" msgstr "Opnieuw proberen" #: libparted/exception.c:91 msgid "Ignore" msgstr "Negeren" #: libparted/exception.c:92 msgid "Cancel" msgstr "Annuleren" #: libparted/exception.c:132 #, c-format msgid "" "A bug has been detected in GNU Parted. Refer to the web site of parted " "http://www.gnu.org/software/parted/parted.html for more information of what " "could be useful for bug submitting! Please email a bug report to bug-" "parted@gnu.org containing at least the version (%s) and the following " "message: " msgstr "" "U bent tegen een programmeerfout in GNU Parted aangelopen.\n" "Zie eventueel de website (http://www.gnu.org/software/parted/parted.html)\n" "voor meer informatie over het nuttig rapporteren van fouten.\n" "\n" "Stuur een foutrapportage naar , samen met\n" "het versienummer (%s) en de volgende boodschap: " #: libparted/filesys.c:462 msgid "Could not detect file system." msgstr "Kan geen bestandssysteem vinden." #: libparted/filesys.c:473 msgid "The file system is bigger than its volume!" msgstr "Het bestandssysteem is groter dan de partitie!" #: libparted/filesys.c:481 #, c-format msgid "Support for opening %s file systems is not implemented yet." msgstr "" "Ondersteuning voor het openen van %s-bestandssystemen is nog niet " "geïmplementeerd." #: libparted/filesys.c:523 #, c-format msgid "Support for creating %s file systems is not implemented yet." msgstr "" "Ondersteuning voor het maken van %s-bestandssystemen is nog niet " "geïmplementeerd." #: libparted/filesys.c:583 #, c-format msgid "Support for checking %s file systems is not implemented yet." msgstr "" "Ondersteuning voor het controleren van %s-bestandssystemen is nog niet " "geïmplementeerd." #: libparted/filesys.c:649 msgid "raw block copying" msgstr "bezig met kopiëren van blokken" #: libparted/filesys.c:660 msgid "growing file system" msgstr "bezig met vergroten van bestandssysteem" #: libparted/filesys.c:700 msgid "Can't copy onto an overlapping partition." msgstr "Kan niet naar een overlappende partitie kopiëren." #: libparted/filesys.c:722 #, c-format msgid "" "Direct support for copying file systems is not yet implemented for %s. " "However, support for resizing is implemented. Therefore, the file system " "can be copied if the new partition is at least as big as the old one. So, " "either shrink the partition you are trying to copy, or copy to a bigger " "partition." msgstr "" "Het kopiëren en tegelijkertijd verkleinen van een %s-bestandssysteem is nog " "niet geïmplementeerd. Verklein dus eerst de bronpartitie alvorens deze naar " "de gekozen partitie te kopiëren, of kies een grotere doelpartitie." #: libparted/filesys.c:736 #, c-format msgid "Support for copying %s file systems is not implemented yet." msgstr "" "Ondersteuning voor het kopiëren van %s-bestandssystemen is nog niet " "geïmplementeerd." #: libparted/filesys.c:774 #, c-format msgid "Support for resizing %s file systems is not implemented yet." msgstr "" "Ondersteuning voor het van grootte veranderen van %s-bestandssystemen is nog " "niet geïmplementeerd." #: libparted/fs/reiserfs/reiserfs.c:315 msgid "creating" msgstr "bezig met aanmaken" #: libparted/fs/reiserfs/reiserfs.c:402 msgid "The file system is in an invalid state. Perhaps it is mounted?" msgstr "" "Het bestandssysteem is in een ongeldige toestand.\n" "Misschien is het aangekoppeld?" #: libparted/fs/reiserfs/reiserfs.c:410 msgid "The file system is in old (unresizeable) format." msgstr "" "Het bestandssysteem is in een oude indeling;\n" "de grootte kan niet veranderd worden." #: libparted/fs/reiserfs/reiserfs.c:416 msgid "Invalid free blocks count. Run reiserfsck --check first." msgstr "Ongeldig aantal vrije blokken. Voer eerst 'reiserfsck --check' uit." #: libparted/fs/reiserfs/reiserfs.c:431 msgid "checking" msgstr "bezig met controleren" #: libparted/fs/reiserfs/reiserfs.c:437 msgid "Reiserfs tree seems to be corrupted. Run reiserfsck --check first." msgstr "" "Het bestandssysteem lijkt beschadigd. Voer eerst 'reiserfsck --check' uit." #: libparted/fs/reiserfs/reiserfs.c:449 msgid "" "The reiserfs file system passed a basic check. For a more comprehensive " "check, run reiserfsck --check." msgstr "" "Het reiserfs-bestandssysteem heeft deze basistest goed doorstaan.\n" "Voor een uitgebreidere test kunt u 'reiserfsck --check' gebruiken." #: libparted/fs/reiserfs/reiserfs.c:474 msgid "Sorry, can't move the start of reiserfs partitions yet." msgstr "" "Sorry, het begin van een reiserfs-partitie kan nog niet verplaatst worden." #: libparted/fs/reiserfs/reiserfs.c:490 msgid "Couldn't reopen device abstraction layer for read/write." msgstr "Kan apparaat niet heropenen voor lezen en schrijven." #: libparted/fs/reiserfs/reiserfs.c:508 libparted/fs/ext2/ext2_resize.c:552 #: libparted/fs/hfs/hfs.c:250 libparted/fs/hfs/hfs.c:629 msgid "shrinking" msgstr "bezig met verkleinen" #: libparted/fs/reiserfs/reiserfs.c:520 msgid "expanding" msgstr "bezig met vergroten" #: libparted/fs/reiserfs/reiserfs.c:592 msgid "Couldn't create reiserfs device abstraction handler." msgstr "Kan apparaat-abstractie niet aanmaken." #: libparted/fs/reiserfs/reiserfs.c:606 #, c-format msgid "Device is too small for %lu blocks." msgstr "Het apparaat is te klein voor %lu blokken." #: libparted/fs/reiserfs/reiserfs.c:615 msgid "copying" msgstr "bezig met kopiëren" #: libparted/fs/reiserfs/reiserfs.c:682 #, c-format msgid "Couldn't resolve symbol %s. Error: %s." msgstr "Kan symbool %s niet herleiden. Fout: %s." #: libparted/fs/reiserfs/reiserfs.c:704 msgid "GNU Parted found an invalid libreiserfs library." msgstr "GNU Parted heeft een ongeldige libreiserfs gevonden." #: libparted/fs/reiserfs/reiserfs.c:715 #, c-format msgid "" "GNU Parted has detected libreiserfs interface version mismatch. Found %d-" "%d, required %d. ReiserFS support will be disabled." msgstr "" "GNU Parted heeft een niet-passende versie van libreiserfs gevonden.\n" "Gevonden is versie %d-%d, terwijl versie %d nodig is.\n" "Ondersteuning voor reiserfs wordt uitgeschakeld." #: libparted/labels/aix.c:103 msgid "Support for reading AIX disk labels is is not implemented yet." msgstr "Het lezen van AIX-schijflabels is nog niet geïmplementeerd." #: libparted/labels/aix.c:114 msgid "Support for writing AIX disk labels is is not implemented yet." msgstr "Het schrijven van AIX-schijflabels is nog niet geïmplementeerd." #: libparted/labels/aix.c:127 msgid "" "Support for adding partitions to AIX disk labels is not implemented yet." msgstr "" "Het toevoegen van partities aan AIX-schijflabels is nog niet geïmplementeerd." #: libparted/labels/aix.c:137 msgid "" "Support for duplicating partitions in AIX disk labels is not implemented yet." msgstr "" "Het klonen van partities in AIX-schijflabels is nog niet geïmplementeerd." #: libparted/labels/aix.c:155 msgid "" "Support for setting system type of partitions in AIX disk labels is not " "implemented yet." msgstr "" "Het instellen van het systeemtype in AIX-schijflabels is nog niet " "geïmplementeerd." #: libparted/labels/aix.c:165 msgid "Support for setting flags in AIX disk labels is not implemented yet." msgstr "" "Het zetten van vlaggen in AIX-schijflabels is nog niet geïmplementeerd." #: libparted/labels/bsd.c:568 libparted/labels/dasd.c:783 #: libparted/labels/dos.c:2092 libparted/labels/dvh.c:788 #: libparted/labels/gpt.c:1750 libparted/labels/loop.c:245 #: libparted/labels/mac.c:1424 libparted/labels/pc98.c:749 #: libparted/labels/rdb.c:1051 libparted/labels/sun.c:821 msgid "Unable to satisfy all constraints on the partition." msgstr "Kan niet aan alle voorwaarden voor deze partitie voldoen." #: libparted/labels/bsd.c:593 msgid "Unable to allocate a bsd disklabel slot." msgstr "Kan in het BSD-schijflabel geen plekje meer reserveren." #: libparted/labels/dasd.c:809 msgid "Unable to allocate a dasd disklabel slot" msgstr "Kan in het DASD-schijflabel geen plekje meer reserveren." #: libparted/labels/dos.c:882 #, c-format msgid "Invalid partition table on %s -- wrong signature %x." msgstr "Ongeldige partitietabel op %s -- onjuiste vingerafdruk %x." #: libparted/labels/dos.c:910 #, c-format msgid "Invalid partition table - recursive partition on %s." msgstr "Ongeldige partitietabel -- recursieve partitie op %s." #: libparted/labels/dos.c:1420 msgid "Extended partitions cannot be hidden on msdos disk labels." msgstr "" "Uitgebreide partities kunnen op MSDOS-schijflabels niet verborgen zijn." #: libparted/labels/dos.c:2074 msgid "Parted can't resize partitions managed by Windows Dynamic Disk." msgstr "" "Parted kan partitities beheerd door Windows Dynamic Disk niet van grootte " "veranderen." #: libparted/labels/dvh.c:201 #, c-format msgid "%s has no extended partition (volume header partition)." msgstr "%s bevat geen uitgebreide partitie (volumenkop-partitie)." #: libparted/labels/dvh.c:327 msgid "Checksum is wrong, indicating the partition table is corrupt." msgstr "Onjuiste controlesom: de partitietabel is beschadigd." #: libparted/labels/dvh.c:632 msgid "Only primary partitions can be root partitions." msgstr "Alleen een primaire partitie kan rootpartitie zijn." #: libparted/labels/dvh.c:646 msgid "Only primary partitions can be swap partitions." msgstr "Alleen een primaire partitie kan swappartitie zijn." #: libparted/labels/dvh.c:660 msgid "Only logical partitions can be a boot file." msgstr "Alleen een logische partitie kan een opstartbestand zijn." #: libparted/labels/dvh.c:737 #, c-format msgid "" "failed to set dvh partition name to %s:\n" "Only logical partitions (boot files) have a name." msgstr "" "Het instellen van '%s' als dvh-partitienaam is mislukt:\n" "alleen logische partities (opstartbestanden) hebben een naam." #: libparted/labels/dvh.c:830 msgid "Too many primary partitions" msgstr "Te veel primaire partities." #: libparted/labels/fdasd.c:98 msgid "open error" msgstr "openfout" #: libparted/labels/fdasd.c:101 msgid "seek error" msgstr "'seek'-fout" #: libparted/labels/fdasd.c:104 msgid "read error" msgstr "leesfout" #: libparted/labels/fdasd.c:110 msgid "ioctl() error" msgstr "ioctl()-fout" #: libparted/labels/fdasd.c:114 msgid "API version mismatch" msgstr "API-versies passen niet bij elkaar" #: libparted/labels/fdasd.c:118 msgid "Unsupported disk type" msgstr "Schijftype wordt niet ondersteund" #: libparted/labels/fdasd.c:122 msgid "Unsupported disk format" msgstr "Schijfindeling wordt niet ondersteund" #: libparted/labels/fdasd.c:126 msgid "Disk is in use" msgstr "Schijf is in gebruik" #: libparted/labels/fdasd.c:130 msgid "Syntax error in config file" msgstr "Syntaxfout in configuratiebestand" #: libparted/labels/fdasd.c:134 msgid "Volume label is corrupted" msgstr "Volumenlabel is beschadigd" #: libparted/labels/fdasd.c:138 msgid "A data set name is corrupted" msgstr "Naam van een dataset is beschadigd" #: libparted/labels/fdasd.c:142 msgid "Memory allocation failed" msgstr "Onvoldoende geheugen beschikbaar" #: libparted/labels/fdasd.c:146 msgid "Device verification failed" msgstr "Apparaatcontrole is mislukt" #: libparted/labels/fdasd.c:147 msgid "The specified device is not a valid DASD device" msgstr "Het opgegeven apparaat is geen geldig DASD-apparaat" #: libparted/labels/fdasd.c:150 libparted/labels/vtoc.c:179 msgid "Fatal error" msgstr "Fatale fout" #: libparted/labels/fdasd.c:226 msgid "No room for volume label." msgstr "Geen ruimte voor een volumenlabel." #: libparted/labels/fdasd.c:234 msgid "No room for partition info." msgstr "Geen ruimte voor partitie-informatie." #: libparted/labels/fdasd.c:704 msgid "Invalid VTOC." msgstr "Ongeldige VTOC." #: libparted/labels/fdasd.c:764 msgid "Could not retrieve API version." msgstr "Kan de API-versie niet verkrijgen." #: libparted/labels/fdasd.c:767 #, c-format msgid "" "The current API version '%d' doesn't match dasd driver API version '%d'!" msgstr "" "Huidige API-versie '%d' past niet bij API-versie '%d' van het DASD-" "stuurprogramma!" #: libparted/labels/fdasd.c:804 msgid "Could not retrieve disk geometry information." msgstr "Kan informatie over schijfopbouw niet verkrijgen." #: libparted/labels/fdasd.c:808 msgid "Could not retrieve blocksize information." msgstr "Kan blokgrootte niet verkrijgen." #: libparted/labels/fdasd.c:813 msgid "Could not retrieve disk information." msgstr "Kan geen schijfinformatie verkrijgen." #: libparted/labels/fdasd.c:818 msgid "This is not an ECKD disk! This disk type is not supported!" msgstr "Dit is geen ECKD-schijf! Dit soort schijf wordt niet ondersteund!" #: libparted/labels/gpt.c:485 #, c-format msgid "" "%s contains GPT signatures, indicating that it has a GPT table. However, it " "does not have a valid fake msdos partition table, as it should. Perhaps it " "was corrupted -- possibly by a program that doesn't understand GPT partition " "tables. Or perhaps you deleted the GPT table, and are now using an msdos " "partition table. Is this a GPT partition table?" msgstr "" "%s bevat GPT-vingerafdrukken die aangeven dat het een GPT-tabel heeft. Maar " "het bevat geen geldige nep-MSDOS-partitietabel, zoals zou moeten. Misschien " "werd deze beschadigd, mogelijk door een programma dat GPT-partitietabellen " "niet begrijpt. Of misschien hebt u de GPT-tabel verwijderd en gebruikt nu " "een MSDOS-partitietabel. Is dit echt een GPT-partitietabel?" #: libparted/labels/gpt.c:680 #, c-format msgid "" "The format of the GPT partition table is version %x, which is newer than " "what Parted can recognise. Please tell us! bug-parted@gnu.org" msgstr "" "De indeling van de GPT-partitietabel is van versie %x. Dit is nieuwer dan " "wat deze versie van Parted kent. Vertel het ons: " #: libparted/labels/gpt.c:727 #, c-format msgid "" "Not all of the space available to %s appears to be used, you can fix the GPT " "to use all of the space (an extra %llu blocks) or continue with the current " "setting? " msgstr "" "Niet alle beschibare ruimte voor %s schijnt gebruikt te worden.\n" "De GPT bijwerken om alle ruimte te gebruiken (%llu extra blokken),\n" "of doorgaan en deze extra ruimte negeren? " #: libparted/labels/gpt.c:936 msgid "" "The backup GPT table is not at the end of the disk, as it should be. This " "might mean that another operating system believes the disk is smaller. Fix, " "by moving the backup to the end (and removing the old backup)?" msgstr "" "De reservekopie van de GPT-tabel staat niet helemaal aan het einde van de " "schijf, zoals zou moeten. Dit zou kunnen betekenen dat een ander " "besturingssysteem aanneemt dat de schijf kleiner is dan hij is. Dit kan " "gerepareerd worden door de reservekopie naar het einde te verplaatsen en de " "oude reservekopie te verwijderen. Reparatie uitvoeren?" #: libparted/labels/gpt.c:960 msgid "" "Both the primary and backup GPT tables are corrupt. Try making a fresh " "table, and using Parted's rescue feature to recover partitions." msgstr "" "Zowel de primaire GPT-tabel als de reservekopie zijn beschadigd. Maak eerst " "een nieuw schijflabel aan, en probeer dan met de 'red'-opdracht de " "kwijtgeraakte partities te herstellen." #: libparted/labels/gpt.c:971 msgid "" "The backup GPT table is corrupt, but the primary appears OK, so that will be " "used." msgstr "" "De reservekopie van de GPT-tabel is beschadigd, maar de primaire tabel lijkt " "goed. Deze laatste zal worden gebruikt." #: libparted/labels/gpt.c:983 msgid "" "The primary GPT table is corrupt, but the backup appears OK, so that will be " "used." msgstr "" "De primaire GPT-tabel is beschadigd, maar de reservekopie lijkt goed. Deze " "laatste zal worden gebruikt." #: libparted/labels/gpt.c:1007 msgid "primary partition table array CRC mismatch" msgstr "CRC-verschil in hoofdpartitietabel-array" #: libparted/labels/mac.c:185 #, c-format msgid "Invalid signature %x for Mac disk labels." msgstr "Ongeldige vingerafdruk %x voor een Mac-schijflabel." #: libparted/labels/mac.c:232 msgid "Partition map has no partition map entry!" msgstr "Partitietabel bevat geen partitietabelitem!" #: libparted/labels/mac.c:280 #, c-format msgid "%s is too small for a Mac disk label!" msgstr "%s is te klein voor een Mac-schijflabel!" #: libparted/labels/mac.c:509 #, c-format msgid "Partition %d has an invalid signature %x." msgstr "Partitie %d heeft een ongeldige vingerafdruk %x." #: libparted/labels/mac.c:527 #, c-format msgid "Partition %d has an invalid length of 0 bytes!" msgstr "Partitie %d heeft een ongeldige lengte van 0 bytes!" #: libparted/labels/mac.c:558 msgid "The data region doesn't start at the start of the partition." msgstr "Het gegevensgebied begint niet bij het begin van de partitie." #: libparted/labels/mac.c:575 msgid "The boot region doesn't start at the start of the partition." msgstr "Het opstartgebied begint niet bij het begin van de partitie." #: libparted/labels/mac.c:589 msgid "The partition's boot region doesn't occupy the entire partition." msgstr "Het opstartgebied beslaat niet de gehele partitie." #: libparted/labels/mac.c:600 msgid "The partition's data region doesn't occupy the entire partition." msgstr "Het gegevensgebied beslaat niet de gehele partitie." #: libparted/labels/mac.c:653 #, c-format msgid "" "Weird block size on device descriptor: %d bytes is not divisible by 512." msgstr "" "Vreemde blokgrootte in apparaatbeschrijving: %d bytes is niet deelbaar door " "512." #: libparted/labels/mac.c:666 #, c-format msgid "" "The driver descriptor says the physical block size is %d bytes, but Linux " "says it is %d bytes." msgstr "" "De beschrijving van het stuurprogramma zegt dat de fysieke blokgrootte %d " "bytes is, maar Linux zegt dat het %d bytes is." #: libparted/labels/mac.c:720 msgid "No valid partition map found." msgstr "Geen geldige partitietabel gevonden." #: libparted/labels/mac.c:782 #, c-format msgid "" "Conflicting partition map entry sizes! Entry 1 says it is %d, but entry %d " "says it is %d!" msgstr "" "Tegenstrijdige groottes van partitietabelitems!\n" "Item 1 zegt dat het %d is, maar item %d zegt dat het %d is!" #: libparted/labels/mac.c:809 msgid "Weird! There are 2 partitions map entries!" msgstr "Vreemd: twee partitietabelitems!" #: libparted/labels/mac.c:1355 msgid "" "Changing the name of a root or swap partition will prevent Linux from " "recognising it as such." msgstr "" "Het veranderen van de naam van een root- of swappartitie zal verhinderen dat " "Linux deze als zodanig herkent." #: libparted/labels/mac.c:1459 msgid "Can't add another partition -- the partition map is too small!" msgstr "" "Kan geen nieuwe primaire partitie toevoegen: de partitietabel is te klein!" #: libparted/labels/pc98.c:331 #, c-format msgid "Invalid partition table on %s." msgstr "Ongeldige partitietabel op %s." #: libparted/labels/pc98.c:384 libparted/labels/pc98.c:462 #, c-format msgid "" "Partition %d isn't aligned to cylinder boundaries. This is still " "unsupported." msgstr "" "Partitie %d is niet uitgelijnd op cilindergrenzen. Dit wordt nog niet " "ondersteund." #: libparted/labels/pc98.c:781 msgid "Can't add another partition." msgstr "Kan niet nog een partitie toevoegen." #: libparted/labels/pt-tools.c:125 #, c-format msgid "" "partition length of %jd sectors exceeds the %s-partition-table-imposed " "maximum of %jd" msgstr "" "partitielengte van %jd-sectoren overschrijdt het %s-partitietabelverplicht " "maximum van %jd" #: libparted/labels/pt-tools.c:138 #, c-format msgid "" "starting sector number, %jd exceeds the %s-partition-table-imposed maximum " "of %jd" msgstr "" "startsectornummer, %jd overschrijdt het %s-partitietabelverplicht maximum " "van %jd" #: libparted/labels/rdb.c:170 #, c-format msgid "%s : Bad checksum on block %llu of type %s." msgstr "%s : Onjuiste controlesom op blok %llu van type %s." #: libparted/labels/rdb.c:486 #, c-format msgid "%s : Didn't find rdb block, should never happen." msgstr "%s : Geen 'rdb'-blok gevonden -- zou nooit mogen gebeuren." #: libparted/labels/rdb.c:572 #, c-format msgid "%s : Loop detected at block %d." msgstr "%s : Lus gedetecteerd bij blok %d." #: libparted/labels/rdb.c:591 #, c-format msgid "%s : The %s list seems bad at block %s." msgstr "%s : De %s-lijst lijkt verkeerd te zijn bij blok %s." #: libparted/labels/rdb.c:690 #, c-format msgid "%s : Failed to list bad blocks." msgstr "%s : Invullen van slechte blokken is mislukt." #: libparted/labels/rdb.c:698 #, c-format msgid "%s : Failed to list partition blocks." msgstr "%s : Invullen van partitieblokken is mislukt." #: libparted/labels/rdb.c:706 #, c-format msgid "%s : Failed to list file system blocks." msgstr "%s : Invullen van bestandssysteemblokken is mislukt." #: libparted/labels/rdb.c:714 #, c-format msgid "%s : Failed to list boot blocks." msgstr "%s : Invullen van opstartblokken is mislukt." #: libparted/labels/rdb.c:741 #, c-format msgid "Failed to write partition block at %d." msgstr "Schrijven van partitieblok %d is mislukt." #: libparted/labels/rdb.c:1079 msgid "Unable to allocate a partition number." msgstr "Geen partitienummer meer beschikbaar." #: libparted/labels/sun.c:163 msgid "Corrupted Sun disk label detected." msgstr "Beschadigd Sun-schijflabel gevonden." #: libparted/labels/sun.c:316 #, c-format msgid "" "The disk CHS geometry (%d,%d,%d) reported by the operating system does not " "match the geometry stored on the disk label (%d,%d,%d)." msgstr "" "De logische schijfopbouw (%d,%d,%d) gerapporteerd door het besturingssysteem " "komt niet overeen met de opbouw (%d,%d,%d) opgeslagen in het schijflabel." #: libparted/labels/sun.c:338 #, c-format msgid "The disk label describes a disk bigger than %s." msgstr "Het schijflabel beschrijft een schijf groter dan %s." #: libparted/labels/sun.c:510 #, c-format msgid "The disk has %d cylinders, which is greater than the maximum of 65536." msgstr "De schijf heeft %d cilinders, wat groter is dan het maximum van 65536." #: libparted/labels/sun.c:853 msgid "" "The Whole Disk partition is the only available one left. Generally, it is " "not a good idea to overwrite this partition with a real one. Solaris may " "not be able to boot without it, and SILO (the sparc boot loader) appreciates " "it as well." msgstr "" "De 'Hele-Schijf'-partitie is de enige die over is. In het algemeen is het " "geen goed idee om deze partitie met een echte te overschrijven. Solaris kan " "mogelijk niet zonder deze partitie starten, en SILO (het Sparc-" "opstartprogramma) waardeert de aanwezigheid ervan ook." #: libparted/labels/sun.c:868 msgid "Sun disk label is full." msgstr "Sun-schijflabel is vol." #: libparted/labels/vtoc.c:164 msgid "opening of device failed" msgstr "openen van apparaat is mislukt" #: libparted/labels/vtoc.c:168 msgid "seeking on device failed" msgstr "een 'seek' op apparaat is mislukt" #: libparted/labels/vtoc.c:172 msgid "writing to device failed" msgstr "schrijven naar apparaat is mislukt" #: libparted/labels/vtoc.c:176 msgid "reading from device failed" msgstr "lezen van apparaat is mislukt" #: libparted/labels/vtoc.c:277 libparted/labels/vtoc.c:284 msgid "Could not read volume label." msgstr "Kan volumenlabel niet lezen." #: libparted/labels/vtoc.c:303 libparted/labels/vtoc.c:308 msgid "Could not write volume label." msgstr "Kan volumenlabel niet schrijven." #: libparted/labels/vtoc.c:414 msgid "Could not read VTOC labels." msgstr "Kan VTOC-labels niet lezen." #: libparted/labels/vtoc.c:420 msgid "Could not read VTOC FMT1 DSCB." msgstr "Kan een FMT1 DSCB niet lezen." #: libparted/labels/vtoc.c:427 msgid "Could not read VTOC FMT4 DSCB." msgstr "Kan een FMT4 DSCB niet lezen." #: libparted/labels/vtoc.c:434 msgid "Could not read VTOC FMT5 DSCB." msgstr "Kan een FMT5 DSCB niet lezen." #: libparted/labels/vtoc.c:441 msgid "Could not read VTOC FMT7 DSCB." msgstr "Kan een FMT7 DSCB niet lezen." #: libparted/labels/vtoc.c:461 msgid "Could not write VTOC labels." msgstr "Kan VTOC-labels niet schrijven." #: libparted/labels/vtoc.c:467 msgid "Could not write VTOC FMT1 DSCB." msgstr "Kan een FMT1 DSCB niet schrijven." #: libparted/labels/vtoc.c:474 msgid "Could not write VTOC FMT4 DSCB." msgstr "Kan een FMT4 DSCB niet schrijven." #: libparted/labels/vtoc.c:481 msgid "Could not write VTOC FMT5 DSCB." msgstr "Kan een FMT5 DSCB niet schrijven." #: libparted/labels/vtoc.c:488 msgid "Could not write VTOC FMT7 DSCB." msgstr "Kan een FMT7 DSCB niet schrijven." #: libparted/libparted.c:237 libparted/libparted.c:252 msgid "Out of memory." msgstr "Onvoldoende geheugen beschikbaar." #: libparted/unit.c:138 msgid "Cannot get unit size for special unit 'COMPACT'." msgstr "Kan grootte van speciale eenheid 'COMPACT' niet achterhalen." #: libparted/unit.c:384 #, c-format msgid "\"%s\" has invalid syntax for locations." msgstr "\"%s\" heeft een voor lokaties ongeldige syntaxis." #: libparted/unit.c:392 #, c-format msgid "The maximum head value is %d." msgstr "De maximum waarde voor de kop is %d." #: libparted/unit.c:399 #, c-format msgid "The maximum sector value is %d." msgstr "De maximum waarde voor de sector is %d." #: libparted/unit.c:411 libparted/unit.c:543 #, c-format msgid "The location %s is outside of the device %s." msgstr "Lokatie %s ligt buiten het apparaat %s." #: libparted/unit.c:525 msgid "Invalid number." msgstr "Ongeldig nummer." #: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:56 #: libparted/fs/amiga/asfs.c:70 #, c-format msgid "%s : Failed to allocate partition block\n" msgstr "%s : Geheugen reserveren voor partitieblok is mislukt\n" #: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:69 #: libparted/fs/amiga/asfs.c:82 #, c-format msgid "%s : Failed to allocate block\n" msgstr "%s : Geheugen reserveren voor blok is mislukt\n" #: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:74 #, c-format msgid "%s : Couldn't read boot block %llu\n" msgstr "%s : Kan opstartblok %llu niet lezen\n" #: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:85 #: libparted/fs/amiga/asfs.c:88 libparted/fs/amiga/asfs.c:102 #, c-format msgid "%s : Couldn't read root block %llu\n" msgstr "%s : Kan hoofdblok %llu niet lezen\n" #: libparted/fs/amiga/amiga.c:72 #, c-format msgid "%s : Failed to allocate id list element\n" msgstr "%s : Geheugen reserveren voor ID-lijstelement is mislukt\n" #: libparted/fs/amiga/amiga.c:189 #, c-format msgid "%s : Couldn't read block %llu\n" msgstr "%s : Kan blok %llu niet lezen\n" #: libparted/fs/amiga/amiga.c:202 #, c-format msgid "%s : Bad checksum on block %llu of type %s\n" msgstr "%s : Onjuiste controlesom op blok %llu van type %s\n" #: libparted/fs/amiga/amiga.c:212 #, c-format msgid "%s : Couldn't write block %d\n" msgstr "%s : Kan blok %d niet schrijven\n" #: libparted/fs/amiga/amiga.c:278 #, c-format msgid "%s : Failed to allocate disk_specific rdb block\n" msgstr "%s : Geheugen reserveren voor schijfspecifiek 'rdb'-blok is mislukt\n" #: libparted/fs/amiga/amiga.c:289 #, c-format msgid "%s : Didn't find rdb block, should never happen\n" msgstr "%s : Geen 'rdb'-blok gevonden -- zou nooit mogen gebeuren\n" #: libparted/fs/amiga/amiga.c:318 #, c-format msgid "%s : Failed to read partition block %llu\n" msgstr "%s : Kan partitieblok %llu niet lezen\n" #: libparted/fs/ext2/ext2.c:87 libparted/fs/ext2/ext2.c:112 msgid "Inconsistent group descriptors!" msgstr "Inconsistente groepsbeschrijvers!" #: libparted/fs/ext2/ext2.c:91 libparted/fs/ext2/ext2.c:116 msgid "File system full!" msgstr "Bestandssysteem is vol!" #: libparted/fs/ext2/ext2.c:686 msgid "Invalid superblock. Are you sure this is an ext2 file system?" msgstr "Ongeldig superblok. Weet u zeker dat dit een ext2-bestandssysteem is?" #: libparted/fs/ext2/ext2.c:700 libparted/fs/ext2/ext2_resize.c:658 msgid "File system has errors! You should run e2fsck." msgstr "Het bestandssysteem bevat fouten! Voer eerst 'e2fsck' uit." #: libparted/fs/ext2/ext2.c:711 msgid "" "File system was not cleanly unmounted! You should run e2fsck. Modifying an " "unclean file system could cause severe corruption." msgstr "" "Het bestandssysteem werd niet correct ontkoppeld! Voer eerst 'e2fsck' uit. " "Het veranderen van een ongeschoond bestandssysteem kan tot zware " "beschadigingen leiden." #: libparted/fs/ext2/ext2.c:731 msgid "" "File system has an incompatible feature enabled. Compatible features are " "has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs " "or debugfs to remove features." msgstr "" "Bestandssysteem heeft een niet-compatibele functie ingeschakeld. " "Compatibele functies zijn 'has_journal', 'dir_index', 'filetype', " "'sparse_super' en 'large_file'. Gebruik 'tune2fs' of 'debugfs' om functies " "te verwijderen." #: libparted/fs/ext2/ext2.c:745 msgid "Error allocating buffer cache." msgstr "Fout tijdens reserveren van buffercache." #: libparted/fs/ext2/ext2_inode_relocator.c:114 msgid "" "Found an inode with a incorrect link count. Better go run e2fsck first!" msgstr "" "Er is een inode gevonden met een onjuist aantal verwijzingen! U kunt beter " "eerst 'e2fsck' uitvoeren." #: libparted/fs/ext2/ext2_inode_relocator.c:487 msgid "Not enough free inodes!" msgstr "Niet genoeg beschikbare inodes!" #: libparted/fs/ext2/ext2_resize.c:223 msgid "File system is too full to remove a group!" msgstr "Het bestandssysteem is te vol om een groep te verwijderen!" #: libparted/fs/ext2/ext2_resize.c:232 msgid "File system has too many allocated inodes to remove a group!" msgstr "" "Het bestandssysteem heeft te veel gebruikte inodes om een groep te " "verwijderen!" #: libparted/fs/ext2/ext2_resize.c:491 msgid "adding groups" msgstr "bezig met toevoegen van groepen" #: libparted/fs/ext2/ext2_resize.c:528 #, c-format msgid "Your file system is too full to resize it to %i blocks. Sorry." msgstr "" "Uw bestandssysteem is te vol om het naar %i blokken te verkleinen. Sorry." #: libparted/fs/ext2/ext2_resize.c:538 #, c-format msgid "" "Your file system has too many occupied inodes to resize it to %i blocks. " "Sorry." msgstr "" "Uw bestandssysteem heeft te veel bezette inodes om het naar %i blokken te " "verkleinen. Sorry." #: libparted/fs/ext2/ext2_resize.c:666 msgid "File system was not cleanly unmounted! You should run e2fsck." msgstr "" "Het bestandssysteem werd niet correct ontkoppeld! Voer eerst 'e2fsck' uit." #: libparted/fs/ext2/ext2_resize.c:675 msgid "" "The file system has the 'dir_index' feature enabled. Parted can only resize " "the file system if it disables this feature. You can enable it later by " "running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'." msgstr "" "Het bestandssysteem gebruikt de 'dir_index'-functie. Parted kan het " "bestandssysteem alleen van grootte veranderen als het deze functie " "uitschakelt. U kunt deze functie later weer aanzetten door middel van " "'tune2fs -O dir_index APPARAAT' en dan 'e2fsck -fD APPARAAT'." #: libparted/fs/ext2/ext2_resize.c:691 msgid "" "A resize operation on this file system will use EXPERIMENTAL code\n" "that MAY CORRUPT it (although no one has reported any such damage yet).\n" "You should at least backup your data first, and run 'e2fsck -f' afterwards." msgstr "" "Het van grootte veranderen van dit bestandssysteem zal EXPERIMENTELE\n" "programmacode gebruiken die het bestandssysteem ZOU KUNNEN BESCHADIGEN\n" "(maar dit, voor zover bekend, nog nooit gedaan heeft). Maak vooraf een\n" "reservekopie van uw gegevens, en voer na de verandering 'e2fsck -f' uit." #: libparted/fs/ext2/ext2_block_relocator.c:198 msgid "Cross-linked blocks found! Better go run e2fsck first!" msgstr "" "Kruiselings gekoppelde blokken gevonden! U kunt beter eerst 'e2fsck' " "uitvoeren." #: libparted/fs/ext2/ext2_block_relocator.c:537 #, c-format msgid "Block %i has no reference? Weird." msgstr "Aan blok %i wordt niet gerefereerd! Merkwaardig." #: libparted/fs/ext2/ext2_block_relocator.c:738 #, c-format msgid "Block %i shouldn't have been marked (%d, %d)!" msgstr "Blok %i zou niet als (%d, %d) gemarkeerd moeten zijn!" #: libparted/fs/ext2/interface.c:226 msgid "" "The ext2 file system passed a basic check. For a more comprehensive check, " "use the e2fsck program." msgstr "" "Het ext2-bestandssysteem heeft deze basistest goed doorstaan.\n" "Voor een uitgebreidere test kunt u het programma 'e2fsck' gebruiken." #: libparted/fs/ext2/interface.c:243 msgid "Sorry, can't move the start of ext2 partitions yet!" msgstr "Sorry, het begin van een ext2-partitie kan nog niet verplaatst worden." #: libparted/fs/ext2/ext2_buffer.c:82 msgid "Couldn't flush buffer cache!" msgstr "Kan de buffercache niet leegmaken!" #: libparted/fs/ext2/ext2_mkfs.c:161 msgid "writing per-group metadata" msgstr "bezig met schrijven van groepsmetagegevens" #: libparted/fs/ext2/ext2_mkfs.c:597 msgid "File system too small for ext2." msgstr "Het bestandssysteem is te klein voor ext2." #: libparted/fs/fat/calc.c:135 #, c-format msgid "" "You need %s of free disk space to shrink this partition to this size. " "Currently, only %s is free." msgstr "" "U hebt minstens %s vrije schijfruimte nodig om deze partitie naar die " "grootte te kunnen verkleinen (u hebt nu slechts %s beschikbaar)." #: libparted/fs/fat/context.c:56 #, c-format msgid "" "Cluster start delta = %d, which is not a multiple of the cluster size %d." msgstr "" "Clusterbegin-delta = %d, en dat is geen veelvoud van de clustergrootte %d." #: libparted/fs/fat/fat.c:310 #, c-format msgid "Partition too big/small for a %s file system." msgstr "Partitie is te klein of te groot voor een %s-bestandssysteem." #: libparted/fs/fat/fat.c:476 msgid "" "The FATs don't match. If you don't know what this means, then select " "cancel, run scandisk on the file system, and then come back." msgstr "" "De FAT's komen niet overeen. Als u niet weet wat dit betekent, selecteer " "dan 'Annuleren', voer 'scandisk' uit op het bestandssysteem, en kom dan weer " "terug." #: libparted/fs/fat/fat.c:516 msgid "There are no possible configurations for this FAT type." msgstr "Er zijn geen mogelijke configuraties voor dit type FAT." #: libparted/fs/fat/fat.c:528 #, c-format msgid "" "File system doesn't have expected sizes for Windows to like it. Cluster " "size is %dk (%dk expected); number of clusters is %d (%d expected); size of " "FATs is %d sectors (%d expected)." msgstr "" "Het bestandssysteem heeft andere groottes dan Windows graag wil. De " "clustergrootte is %dk (%dk verwacht); het aantal clusters is %d (%d " "verwacht); de grootte van de FAT's is %d sectoren (%d verwacht)." #: libparted/fs/fat/fat.c:551 #, c-format msgid "" "File system is reporting the free space as %d clusters, not %d clusters." msgstr "" "Het bestandssysteem geeft de beschikbare ruimte aan als %d clusters, niet %d " "clusters." #: libparted/fs/fat/fat.c:876 msgid "" "GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT " "support will be disabled." msgstr "" "GNU Parted is verkeerd gecompileerd: de FAT-opstartsector zou 512 bytes " "moeten zijn. Ondersteuning voor FAT wordt uitgeschakeld." #: libparted/fs/fat/resize.c:158 msgid "" "There's not enough room in the root directory for all of the files. Either " "cancel, or ignore to lose the files." msgstr "" "Er is niet genoeg ruimte in de hoofdmap voor alle bestanden. Kies 'Negeren' " "om de overtallige bestanden te verwijderen." #: libparted/fs/fat/resize.c:299 msgid "Error writing to the root directory." msgstr "Fout tijdens schrijven naar de hoofdmap." #: libparted/fs/fat/resize.c:488 msgid "If you leave your file system as FAT16, then you will have no problems." msgstr "" "Als u het bestandssysteem als FAT16 laat, zult u geen problemen hebben." #: libparted/fs/fat/resize.c:491 msgid "" "If you convert to FAT16, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual)." msgstr "" "Als u converteert naar FAT16, en MS-Windows is op deze partitie " "geïnstalleerd, dan dient u het MS-Windows-opstartprogramma opnieuw te " "installeren. Als u dit wilt doen, raadpleeg dan de Parted-documentatie (of " "de documentatie van uw distributie)." #: libparted/fs/fat/resize.c:499 msgid "" "If you leave your file system as FAT32, then you will not introduce any new " "problems." msgstr "" "Als u het bestandssysteem als FAT32 laat, zult u geen nieuwe problemen " "introduceren." #: libparted/fs/fat/resize.c:503 msgid "" "If you convert to FAT32, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual). Also, " "converting to FAT32 will make the file system unreadable by MS DOS, MS " "Windows 95a, and MS Windows NT." msgstr "" "Als u converteert naar FAT32, en MS-Windows is op deze partitie " "geïnstalleerd, dan dient u het MS-Windows-opstartprogramma opnieuw te " "installeren. Als u dit wilt doen, raadpleeg dan de Parted-documentatie (of " "de documentatie van uw distributie). Maar bedenk: converteren naar FAT32 " "maakt het bestandssysteem onleesbaar voor MSDOS, Windows 95a en Windows NT." #: libparted/fs/fat/resize.c:517 #, c-format msgid "%s %s %s" msgstr "%s %s %s" #: libparted/fs/fat/resize.c:518 msgid "Would you like to use FAT32?" msgstr "Wilt u FAT32 gebruiken?" #: libparted/fs/fat/resize.c:549 libparted/fs/fat/resize.c:565 #, c-format msgid "%s %s" msgstr "%s %s" #: libparted/fs/fat/resize.c:550 msgid "" "The file system can only be resized to this size by converting to FAT16." msgstr "" "Het bestandssysteem kan alleen naar deze grootte veranderd worden door te " "converteren naar FAT16." #: libparted/fs/fat/resize.c:566 msgid "" "The file system can only be resized to this size by converting to FAT32." msgstr "" "Het bestandssysteem kan alleen naar deze grootte veranderd worden door te " "converteren naar FAT32." #: libparted/fs/fat/resize.c:579 msgid "" "GNU Parted cannot resize this partition to this size. We're working on it!" msgstr "" "GNU Parted kan de partitiegrootte niet naar deze afmetingen veranderen. We " "zijn er mee bezig!" #: libparted/fs/fat/bootsector.c:49 libparted/fs/fat/bootsector.c:56 msgid "File system has an invalid signature for a FAT file system." msgstr "Dit bestandssysteem heeft een voor FAT ongeldige vingerafdruk." #: libparted/fs/fat/bootsector.c:64 msgid "File system has an invalid sector size for a FAT file system." msgstr "Dit bestandssysteem heeft een voor FAT ongeldige sectorgrootte." #: libparted/fs/fat/bootsector.c:71 msgid "File system has an invalid cluster size for a FAT file system." msgstr "Dit bestandssysteem heeft een voor FAT ongeldige clustergrootte." #: libparted/fs/fat/bootsector.c:78 msgid "" "File system has an invalid number of reserved sectors for a FAT file system." msgstr "" "Dit bestandssysteem heeft een voor FAT ongeldig aantal gereserveerde " "sectoren." #: libparted/fs/fat/bootsector.c:85 msgid "File system has an invalid number of FATs." msgstr "Dit bestandssysteem heeft een ongeldig aantal FAT's." #: libparted/fs/fat/bootsector.c:139 #, c-format msgid "" "This file system has a logical sector size of %d. GNU Parted is known not " "to work properly with sector sizes other than 512 bytes." msgstr "" "Dit bestandssysteem heeft een logische sectorgrootte van %d. GNU Parted " "werkt niet goed met sectorgroottes anders dan 512 bytes." #: libparted/fs/fat/bootsector.c:164 #, c-format msgid "" "The file system's CHS geometry is (%d, %d, %d), which is invalid. The " "partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the " "file system's CHS geometry will be left unchanged. If you select Fix, the " "file system's CHS geometry will be set to match the partition table's CHS " "geometry." msgstr "" "De logische schijfopbouw (%d,%d,%d) vermeld in het bestandssysteem is " "ongeldig. De opbouw opgeslagen in het schijflabel is (%d,%d,%d) (cilinders," "koppen,sectoren). Als u 'Negeren' kiest, wordt de opbouw vermeld in het " "bestandssysteem onveranderd gelaten. Als u 'Repareren' kiest, wordt deze " "opbouw gelijkgemaakt aan die in de partitietabel." #: libparted/fs/fat/bootsector.c:213 msgid "FAT boot sector says logical sector size is 0. This is weird. " msgstr "" "De FAT-opstartsector zegt dat de logische sectorgrootte 0 is. Dit is heel " "vreemd. " #: libparted/fs/fat/bootsector.c:219 msgid "FAT boot sector says there are no FAT tables. This is weird. " msgstr "" "De FAT-opstartsector zegt dat er geen FAT-tabellen zijn. Dit is heel " "vreemd. " #: libparted/fs/fat/bootsector.c:225 msgid "FAT boot sector says clusters are 0 sectors. This is weird. " msgstr "" "De FAT-opstartsector zegt dat een cluster nul sectoren heeft. Dit is heel " "vreemd. " #: libparted/fs/fat/bootsector.c:235 msgid "File system is FAT12, which is unsupported." msgstr "Het bestandssysteem is FAT12. Dit wordt niet ondersteund." #: libparted/fs/fat/bootsector.c:411 #, c-format msgid "" "The information sector has the wrong signature (%x). Select cancel for now, " "and send in a bug report. If you're desperate, it's probably safe to ignore." msgstr "" "De informatiesector heeft een onjuiste vingerafdruk (%x). Kies voorlopig " "'Annuleren', en stuur een foutrapportage naar . Indien " "u heel wanhopig bent: het is waarschijnlijk wel veilig om voor 'Negeren' " "kiezen." #: libparted/fs/fat/count.c:144 #, c-format msgid "Bad directory entry for %s: first cluster is the end of file marker." msgstr "" "Foutief mapitem voor %s: de eerste cluster is een bestandseinde-markering." #: libparted/fs/fat/count.c:157 #, c-format msgid "" "Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk." msgstr "" "Onjuiste FAT: onbeëindigde keten voor %s. Voer eerst 'dosfsck' of " "'scandisk' uit." #: libparted/fs/fat/count.c:166 #, c-format msgid "" "Bad FAT: cluster %d outside file system in chain for %s. You should run " "dosfsck or scandisk." msgstr "" "Onjuiste FAT: cluster %d in de keten voor %s ligt buiten het " "bestandssysteem. Voer eerst 'dosfsck' of 'scandisk' uit." #: libparted/fs/fat/count.c:176 #, c-format msgid "" "Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or " "scandisk." msgstr "" "Onjuiste FAT: cluster %d is voor %s kruiselings gekoppeld. Voer eerst " "'dosfsck' of 'scandisk' uit." #: libparted/fs/fat/count.c:195 #, c-format msgid "%s is %dk, but it has %d clusters (%dk)." msgstr "%s is %dk, maar heeft %d clusters (%dk)." #: libparted/fs/fat/count.c:258 #, c-format msgid "" "The file %s is marked as a system file. This means moving it could cause " "some programs to stop working." msgstr "" "Het bestand %s is gemarkeerd als een systeembestand. Als het verplaatst " "wordt, zullen sommige programma's misschien niet meer werken." #: libparted/fs/fat/table.c:136 #, c-format msgid "" "FAT %d media %x doesn't match the boot sector's media %x. You should " "probably run scandisk." msgstr "" "FAT %d medium %x komt niet overeen met medium %x uit de opstartsector. U " "kunt beter eerst 'scandisk' uitvoeren." #: libparted/fs/fat/table.c:268 #, c-format msgid "fat_table_set: cluster %ld outside file system" msgstr "fat_table_set(): cluster %ld ligt buiten het bestandssysteem" #: libparted/fs/fat/table.c:300 #, c-format msgid "fat_table_get: cluster %ld outside file system" msgstr "fat_table_get(): cluster %ld ligt buiten het bestandssysteem" #: libparted/fs/fat/table.c:342 msgid "fat_table_alloc_cluster: no free clusters" msgstr "fat_table_alloc_cluster(): geen beschikbare clusters" #: libparted/fs/linux_swap/linux_swap.c:288 #, c-format msgid "Unrecognised old style linux swap signature '%10s'." msgstr "Onbekende vingerafdruk '%10s' voor oudestijl-Linux-swappartitie." #: libparted/fs/linux_swap/linux_swap.c:331 #, c-format msgid "Unrecognised new style linux swap signature '%10s'." msgstr "Onbekende vingerafdruk '%10s' voor nieuwestijl-Linux-swappartitie." #: libparted/fs/linux_swap/linux_swap.c:371 #, c-format msgid "Unrecognised swsusp linux swap signature '%9s'." msgstr "Onbekende vingerafdruk '%10s' voor swsusp-Linux-swappartitie." #: libparted/fs/linux_swap/linux_swap.c:447 msgid "Too many bad pages." msgstr "Te veel slechte pagina's." #: libparted/fs/hfs/advfs.c:121 libparted/fs/hfs/advfs_plus.c:121 #: libparted/fs/hfs/reloc.c:414 libparted/fs/hfs/reloc.c:508 #: libparted/fs/hfs/reloc_plus.c:538 libparted/fs/hfs/reloc_plus.c:656 #: libparted/fs/hfs/reloc_plus.c:769 msgid "The file system contains errors." msgstr "Het bestandssysteem bevat fouten." #: libparted/fs/hfs/advfs_plus.c:285 msgid "Bad blocks could not be read." msgstr "Slechte blokken konden niet gelezen worden." #: libparted/fs/hfs/cache.c:137 #, c-format msgid "" "Trying to register an extent starting at block 0x%X, but another one already " "exists at this position. You should check the file system!" msgstr "" "Poging tot het registreren van een 'extent' beginnend bij blok 0x%X, maar er " "bestaat al een 'extent' op die positie. Voer een bestandssysteemcontrole " "uit!" #: libparted/fs/hfs/cache.c:214 #, c-format msgid "" "Trying to move an extent from block Ox%X to block Ox%X, but another one " "already exists at this position. This should not happen!" msgstr "" "Poging tot het verplaatsen van een 'extent' van blok 0x%X naar blok Ox%X, " "maar er bestaat al een 'extent' op die positie. Dit hoort nooit te gebeuren!" #: libparted/fs/hfs/file.c:143 #, c-format msgid "Could not update the extent cache for HFS file with CNID %X." msgstr "Kan 'extent'-cache voor HFS-bestand met CNID %X niet bijwerken." #: libparted/fs/hfs/file.c:180 #, c-format msgid "Trying to read HFS file with CNID %X behind EOF." msgstr "" "Poging tot lezen van HFS-bestand met CNID %X voorbij einde-van-bestand." #: libparted/fs/hfs/file.c:190 libparted/fs/hfs/file.c:220 #, c-format msgid "Could not find sector %lli of HFS file with CNID %X." msgstr "Kan sector %lli van HFS-bestand met CNID %X niet vinden." #: libparted/fs/hfs/file.c:210 #, c-format msgid "Trying to write HFS file with CNID %X behind EOF." msgstr "" "Poging tot schrijven van HFS-bestand met CNID %X voorbij einde-van-bestand." #: libparted/fs/hfs/file_plus.c:157 #, c-format msgid "Could not update the extent cache for HFS+ file with CNID %X." msgstr "Kan 'extent'-cache voor HFS+-bestand met CNID %X niet bijwerken." #: libparted/fs/hfs/file_plus.c:202 #, c-format msgid "Trying to read HFS+ file with CNID %X behind EOF." msgstr "" "Poging tot lezen van HFS+-bestand met CNID %X voorbij einde-van-bestand." #: libparted/fs/hfs/file_plus.c:213 libparted/fs/hfs/file_plus.c:256 #, c-format msgid "Could not find sector %lli of HFS+ file with CNID %X." msgstr "Kan sector %lli van HFS+-bestand met CNID %X niet vinden." #: libparted/fs/hfs/file_plus.c:245 #, c-format msgid "Trying to write HFS+ file with CNID %X behind EOF." msgstr "" "Poging tot schrijven van HFS+-bestand met CNID %X voorbij einde-van-bestand." #: libparted/fs/hfs/hfs.c:232 msgid "Sorry, HFS cannot be resized that way yet." msgstr "Sorry, HFS kan nog niet op deze manier van grootte veranderd worden." #: libparted/fs/hfs/hfs.c:262 libparted/fs/hfs/hfs.c:641 msgid "Data relocation has failed." msgstr "De gegevensverplaatsing is mislukt." #: libparted/fs/hfs/hfs.c:281 msgid "Data relocation left some data in the end of the volume." msgstr "" "De gegevensverplaatsing heeft enkele gegevens aan het einde van het volumen " "achtergelaten." #: libparted/fs/hfs/hfs.c:320 msgid "writing HFS Master Directory Block" msgstr "bezig met schrijven van HFS-hoofdmapblok" #: libparted/fs/hfs/hfs.c:468 msgid "No valid HFS[+X] signature has been found while opening." msgstr "Geen geldige HFS[+X]-vingerafdruk gevonden tijdens openen." #: libparted/fs/hfs/hfs.c:478 #, c-format msgid "Version %d of HFS+ isn't supported." msgstr "Versie %d van HFS+ wordt niet ondersteund." #: libparted/fs/hfs/hfs.c:489 #, c-format msgid "Version %d of HFSX isn't supported." msgstr "Versie %d van HFSX wordt niet ondersteund." #: libparted/fs/hfs/hfs.c:672 msgid "Data relocation left some data at the end of the volume." msgstr "" "De gegevensverplaatsing heeft enkele gegevens aan het einde van het volumen " "achtergelaten." #: libparted/fs/hfs/hfs.c:720 msgid "Error while writing the allocation file." msgstr "Fout tijdens schrijven van het reserveringsbestand." #: libparted/fs/hfs/hfs.c:735 msgid "Error while writing the compatibility part of the allocation file." msgstr "" "Fout tijdens schrijven van het compatibiliteitsdeel van het " "reserveringsbestand." #: libparted/fs/hfs/hfs.c:750 msgid "writing HFS+ Volume Header" msgstr "bezig met schrijven van HFS+-volumenkop" #: libparted/fs/hfs/hfs.c:850 msgid "An error occurred while looking for the mandatory bad blocks file." msgstr "Fout tijdens zoeken naar het vereiste slechte-blokkenbestand." #: libparted/fs/hfs/hfs.c:904 msgid "" "It seems there is an error in the HFS wrapper: the bad blocks file doesn't " "contain the embedded HFS+ volume." msgstr "" "Er schijnt een fout in de HFS-wikkel te zitten: het slechte-blokkenbestand " "bevat geen ingebed HFS+-volumen." #: libparted/fs/hfs/hfs.c:940 msgid "Sorry, HFS+ cannot be resized that way yet." msgstr "Sorry, HFS+ kan nog niet op deze manier van grootte veranderd worden." #: libparted/fs/hfs/hfs.c:975 msgid "shrinking embedded HFS+ volume" msgstr "bezig met verkleinen van een ingebed HFS+-volumen" #: libparted/fs/hfs/hfs.c:991 msgid "Resizing the HFS+ volume has failed." msgstr "Het van grootte veranderen van het HFS+-volumen is mislukt." #: libparted/fs/hfs/hfs.c:998 msgid "shrinking HFS wrapper" msgstr "bezig met verkleinen van HFS-wikkel" #: libparted/fs/hfs/hfs.c:1007 msgid "Updating the HFS wrapper has failed." msgstr "Het bijwerken van de HFS-wikkel is mislukt." #: libparted/fs/hfs/hfs.c:1109 libparted/fs/hfs/hfs.c:1194 #, c-format msgid "" "This is not a real %s check. This is going to extract special low level " "files for debugging purposes." msgstr "" "Dit is geen echte %s-controle. Het extraheert slechts enkele speciale " "bestanden om bij de foutopsporing te helpen." #: libparted/fs/hfs/journal.c:155 msgid "Bad block list header checksum." msgstr "Onjuiste controlesom van kop van blokkenlijst." #: libparted/fs/hfs/journal.c:168 #, c-format msgid "" "Invalid size of a transaction block while replaying the journal (%i bytes)." msgstr "" "Ongeldige grootte (%i bytes) van een transactieblok tijdens herafspelen van " "het journal." #: libparted/fs/hfs/journal.c:260 msgid "" "Journal stored outside of the volume are not supported. Try to desactivate " "the journal and run Parted again." msgstr "" "Een journal opgeslagen buiten het volumen wordt niet ondersteund. Probeer " "het journal uit te schakelen en voer dan Parted opnieuw uit." #: libparted/fs/hfs/journal.c:271 msgid "Journal offset or size is not multiple of the sector size." msgstr "" "Grootte of offset van het journal is geen veelvoud van de sectorgrootte." #: libparted/fs/hfs/journal.c:292 msgid "Incorrect magic values in the journal header." msgstr "Onjuiste magische getallen in de journalkop." #: libparted/fs/hfs/journal.c:302 msgid "Journal size mismatch between journal info block and journal header." msgstr "" "Journalgrootte is verschillend aangegeven in journal-infoblok en journalkop." #: libparted/fs/hfs/journal.c:314 msgid "Some header fields are not multiple of the sector size." msgstr "" "Sommige velden in de journalkop zijn geen veelvoud van de sectorgrootte." #: libparted/fs/hfs/journal.c:323 msgid "" "The sector size stored in the journal is not 512 bytes. Parted only " "supports 512 bytes length sectors." msgstr "" "De sectorgrootte is volgens het journal niet 512 bytes. Parted ondersteunt " "alleen sectoren van 512 bytes." #: libparted/fs/hfs/journal.c:335 msgid "Bad journal checksum." msgstr "Onjuiste controlesom van journal." #: libparted/fs/hfs/journal.c:353 msgid "" "The journal is not empty. Parted must replay the transactions before " "opening the file system. This will modify the file system." msgstr "" "Het journal is niet leeg. Parted moet de transacties herafspelen alvorens " "het bestandssysteem te openen. Dit zal het bestandssysteem veranderen." #: libparted/fs/hfs/journal.c:381 msgid "" "The volume header or the master directory block has changed while replaying " "the journal. You should restart Parted." msgstr "" "De volumenkop of het hoofdmappenblok is veranderd tijdens het herafspelen " "van het journal. U dient Parted te herstarten." #: libparted/fs/hfs/probe.c:51 #, c-format msgid "" "Parted can't use HFS file systems on disks with a sector size not equal to " "%d bytes." msgstr "" "Parted kan geen HFS-bestandssystemen bewerken op schijven met een andere " "sectorgrootte dan %d bytes." #: libparted/fs/hfs/reloc.c:151 libparted/fs/hfs/reloc_plus.c:155 msgid "An extent has not been relocated." msgstr "Een 'extent' is niet verplaatst." #: libparted/fs/hfs/reloc.c:251 libparted/fs/hfs/reloc_plus.c:307 msgid "" "A reference to an extent comes from a place it should not. You should check " "the file system!" msgstr "" "Er wordt gerefereerd aan een 'extent' vanuit een onmogelijke plaats. Voer " "een bestandssyteemcontrole uit!" #: libparted/fs/hfs/reloc.c:381 msgid "This HFS volume has no catalog file. This is very unusual!" msgstr "" "Dit HFS-volumen heeft geen catalogusbestand. Dit is zeer ongebruikelijk!" #: libparted/fs/hfs/reloc.c:475 msgid "This HFS volume has no extents overflow file. This is quite unusual!" msgstr "" "Dit HFS-volumen heeft geen 'extents-overflow'-bestand. Dit is zeer " "ongebruikelijk!" #: libparted/fs/hfs/reloc.c:517 libparted/fs/hfs/reloc_plus.c:666 msgid "" "The extents overflow file should not contain its own extents! You should " "check the file system." msgstr "" "Het 'extents-overflow'-bestand hoort niet zijn eigen 'extents' te bevatten. " "Voer een bestandssyteemcontrole uit!" #: libparted/fs/hfs/reloc.c:574 libparted/fs/hfs/reloc_plus.c:844 msgid "Could not cache the file system in memory." msgstr "Kan het bestandssysteem niet tijdelijk opslaan in het geheugen." #: libparted/fs/hfs/reloc.c:635 libparted/fs/hfs/reloc_plus.c:905 msgid "Bad blocks list could not be loaded." msgstr "De lijst met slechte blokken kan niet geladen worden." #: libparted/fs/hfs/reloc.c:649 libparted/fs/hfs/reloc_plus.c:921 msgid "An error occurred during extent relocation." msgstr "Er is een fout opgetreden tijdens het verplaatsen van een 'extent'." #: libparted/fs/hfs/reloc_plus.c:494 msgid "This HFS+ volume has no catalog file. This is very unusual!" msgstr "" "Dit HFS+-volumen heeft geen catalogusbestand. Dit is zeer ongebruikelijk!" #: libparted/fs/hfs/reloc_plus.c:617 msgid "This HFS+ volume has no extents overflow file. This is quite unusual!" msgstr "" "Dit HFS+-volumen heeft geen 'extents-overflow'-bestand. Dit is zeer " "ongebruikelijk!" #: parted/parted.c:123 msgid "displays this help message" msgstr "deze hulptekst tonen" #: parted/parted.c:124 msgid "lists partition layout on all block devices" msgstr "de partietabellen van alle apparaten tonen" #: parted/parted.c:125 msgid "displays machine parseable output" msgstr "computerverwerkbare uitvoer produceren" #: parted/parted.c:126 msgid "never prompts for user intervention" msgstr "nooit vragen stellen" #: parted/parted.c:127 msgid "displays the version" msgstr "de programmaversie tonen" #: parted/parted.c:128 msgid "alignment for new partitions" msgstr "uitlijning voor nieuwe partities" #: parted/parted.c:140 msgid "" "NUMBER is the partition number used by Linux. On MS-DOS disk labels, the " "primary partitions number from 1 to 4, logical partitions from 5 onwards.\n" msgstr "" "NUMMER is het door Linux gebruikte nummer van de partitie. In MSDOS-" "schijflabels zijn de primaire partities genummerd van 1 tot 4, de logische " "partities vanaf 5 en hoger.\n" #: parted/parted.c:143 msgid "LABEL-TYPE is one of: " msgstr "LABEL-TYPE is een van: " #: parted/parted.c:144 msgid "FLAG is one of: " msgstr "VLAG is een van: " #: parted/parted.c:145 msgid "UNIT is one of: " msgstr "EENHEID is een van: " #: parted/parted.c:146 msgid "desired alignment: minimum or optimal" msgstr "gewenste uitlijning: minimaal of optimaal" #: parted/parted.c:147 msgid "PART-TYPE is one of: primary, logical, extended\n" msgstr "PART-TYPE is een van: primair, logisch, uitgebreid\n" #: parted/parted.c:149 msgid "FS-TYPE is one of: " msgstr "BS-SOORT is een van: " #: parted/parted.c:150 msgid "" "START and END are disk locations, such as 4GB or 10%. Negative values count " "from the end of the disk. For example, -1s specifies exactly the last " "sector.\n" msgstr "" "BEGIN en EINDE zijn schijflokaties, zoals 4GB of 10%. Negatieve waarden " "tellen vanaf het einde van de schijf. Bijvoorbeeld, -1s geeft precies de " "laatste sector aan.\n" #: parted/parted.c:153 msgid "STATE is one of: on, off\n" msgstr "TOESTAND is één van: aan, uit\n" #: parted/parted.c:154 msgid "DEVICE is usually /dev/hda or /dev/sda\n" msgstr "APPARAAT is gewoonlijk /dev/hda of /dev/sda\n" #: parted/parted.c:155 msgid "NAME is any word you want\n" msgstr "NAAM is elk woord dat u wilt\n" #: parted/parted.c:156 msgid "The partition must have one of the following FS-TYPEs: " msgstr "De partitie dient een van de volgende BS-SOORTen te hebben: " #: parted/parted.c:160 msgid "" "Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n" "This program is free software, covered by the GNU General Public License.\n" "\n" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" msgstr "" "Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n" "\n" "Dit is vrije software, vallend onder de GNU General Public License.\n" "\n" "Dit programma wordt uitgegeven in de hoop dat het nuttig is,\n" "maar ZONDER ENIGE GARANTIE; zelfs zonder de impliciete garantie\n" "van VERKOOPBAARHEID of GESCHIKTHEID VOOR EEN BEPAALD DOEL.\n" "Zie de GNU General Public License voor meer details.\n" #: parted/parted.c:208 #, c-format msgid "%0.f%%\t(time left %.2d:%.2d)" msgstr "%0.f%%\t(resterende tijd: %.2d:%.2d)" #: parted/parted.c:227 #, c-format msgid "" "Partition %s is being used. You must unmount it before you modify it with " "Parted." msgstr "" "Partitie %s is in gebruik. Deze dient ontkoppeld te worden alvorens hem met " "Parted te bewerken." #: parted/parted.c:245 #, c-format msgid "Partition(s) on %s are being used." msgstr "Partitie(s) op %s zijn in gebruik." #: parted/parted.c:257 msgid "" "The existing file system will be destroyed and all data on the partition " "will be lost. Do you want to continue?" msgstr "" "Het bestaande bestandssysteem zal worden vernietigd en alle gegevens op de " "partitie zullen verloren gaan. Wilt u doorgaan?" #: parted/parted.c:269 #, c-format msgid "" "The existing disk label on %s will be destroyed and all data on this disk " "will be lost. Do you want to continue?" msgstr "" "Het bestaande label op %s zal worden vernietigd en alle gegevens op deze " "schijf zullen verloren gaan. Wilt u doorgaan?" #: parted/parted.c:487 #, c-format msgid "" "WARNING: you are attempting to use %s to operate on (%s) a file system.\n" "%s's file system manipulation code is not as robust as what you'll find in\n" "dedicated, file-system-specific packages like e2fsprogs. We recommend\n" "you use %s only to manipulate partition tables, whenever possible.\n" "Support for performing most operations on most types of file systems\n" "will be removed in an upcoming release.\n" msgstr "" "WAARSCHUWING: u probeert %s te gebruiken om een bestandssysteem (%s)\n" "te bewerken. De bestandssysteembewerkingsroutines van %s zijn niet zo " "robuust\n" "als in gespecialiseerde bestandssysteemspecifieke pakketten zoals " "esfsprogs.\n" "We bevelen aan om %s zo mogelijk alleen te gebruiken om partitietabellen\n" "te bewerken. Ondersteuning van de meeste bewerkingen op de meeste\n" "bestandssysteemsoorten zal in de komende versies verwijderd worden.\n" #: parted/parted.c:508 parted/parted.c:702 parted/parted.c:1179 #: parted/parted.c:1263 parted/parted.c:1935 parted/parted.c:2016 #: parted/parted.c:2088 parted/parted.c:2122 msgid "Partition number?" msgstr "Nummer van partitie?" #: parted/parted.c:551 msgid "Source device?" msgstr "Bronapparaat?" #: parted/parted.c:555 msgid "Source partition number?" msgstr "Nummer van bronpartitie?" #: parted/parted.c:560 msgid "Can't copy an extended partition." msgstr "Kan een uitgebreide partitie niet kopiëren." #: parted/parted.c:566 msgid "Destination partition number?" msgstr "Nummer van doelpartitie?" #: parted/parted.c:655 msgid "New disk label type?" msgstr "Type van nieuw schijflabel?" #: parted/parted.c:706 parted/parted.c:788 parted/parted.c:1000 msgid "File system type?" msgstr "Bestandssysteemsoort?" #: parted/parted.c:762 parted/parted.c:983 msgid "Partition type?" msgstr "Partitietype?" #: parted/parted.c:780 parted/parted.c:990 parted/parted.c:1266 msgid "Partition name?" msgstr "Naam van partitie?" #: parted/parted.c:794 parted/parted.c:1002 parted/parted.c:1194 #: parted/parted.c:1883 parted/parted.c:1944 msgid "Start?" msgstr "Begin?" #: parted/parted.c:796 parted/parted.c:1005 parted/parted.c:1197 #: parted/parted.c:1885 parted/parted.c:1946 msgid "End?" msgstr "Einde?" #: parted/parted.c:862 parted/parted.c:1066 #, c-format msgid "" "You requested a partition from %s to %s.\n" "The closest location we can manage is %s to %s.%s" msgstr "" "U verzocht om een partitie van %s tot %s.\n" "De dichtstbijzijnde mogelijkheid is van %s tot %s.%s" #: parted/parted.c:867 parted/parted.c:1071 msgid "" "\n" "Is this still acceptable to you?" msgstr "" "\n" "Is dit nog acceptabel?" #: parted/parted.c:889 parted/parted.c:1093 msgid "The resulting partition is not properly aligned for best performance." msgstr "" "De resulterende partitie is niet correct uitgelijnd voor optimale prestaties." #: parted/parted.c:995 msgid "An extended partition cannot hold a file system. Did you want mkpart?" msgstr "" "Een uitgebreide partitie kan geen bestandssysteem bevatten. Bedoelde u " "'maakpart'?" #: parted/parted.c:1185 msgid "Can't move an extended partition." msgstr "Kan een uitgebreide partitie niet verplaatsen." #: parted/parted.c:1214 msgid "Can't move a partition onto itself. Try using resize, perhaps?" msgstr "" "Kan een partitie niet naar zichzelf verplaatsen. Bedoelde u 'grootte'?" #: parted/parted.c:1360 #, c-format msgid "Minor: %d\n" msgstr "Nummer: %d\n" #: parted/parted.c:1361 #, c-format msgid "Flags: %s\n" msgstr "Vlaggen: %s\n" #: parted/parted.c:1362 #, c-format msgid "File System: %s\n" msgstr "Bestandssysteem: %s\n" #: parted/parted.c:1363 msgid "Size: " msgstr "Grootte: " #: parted/parted.c:1368 msgid "Minimum size: " msgstr "Minimum grootte: " #: parted/parted.c:1371 msgid "Maximum size: " msgstr "Maximum grootte: " #: parted/parted.c:1504 #, c-format msgid "Model: %s (%s)\n" msgstr "Model: %s (%s)\n" #: parted/parted.c:1506 #, c-format msgid "Disk %s: %s\n" msgstr "Schijf %s: %s\n" #: parted/parted.c:1507 #, c-format msgid "Sector size (logical/physical): %lldB/%lldB\n" msgstr "Sectorgrootte (logisch/fysiek): %lldB/%lldB\n" #: parted/parted.c:1525 #, c-format msgid "BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s.\n" msgstr "" "Logische schijfopbouw volgens BIOS: %d,%d,%d (cilinders,koppen,sectoren). " "Elke cilinder is %s.\n" #: parted/parted.c:1534 #, c-format msgid "Partition Table: %s\n" msgstr "Partitietabel: %s\n" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Number" msgstr "Nummer" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Start" msgstr "Begin" #: parted/parted.c:1550 parted/parted.c:1553 msgid "End" msgstr "Einde" #: parted/parted.c:1553 msgid "Size" msgstr "Grootte" #: parted/parted.c:1557 msgid "Type" msgstr "Type" #: parted/parted.c:1559 msgid "File system" msgstr "Bestandssysteem" #: parted/parted.c:1562 msgid "Name" msgstr "Naam" #: parted/parted.c:1564 msgid "Flags" msgstr "Vlaggen" #: parted/parted.c:1621 msgid "Free Space" msgstr "Vrije ruimte" #: parted/parted.c:1782 #, c-format msgid "" "A %s %s partition was found at %s -> %s. Do you want to add it to the " "partition table?" msgstr "" "Er is een %s %s-partitie gevonden van %s tot %s. Wilt u deze aan de " "partitietabel toevoegen?" #: parted/parted.c:1821 msgid "searching for file systems" msgstr "bezig met zoeken naar bestandssystemen" #: parted/parted.c:2041 msgid "New device?" msgstr "Nieuw apparaat?" #: parted/parted.c:2086 msgid "alignment type(min/opt)" msgstr "uitlijningssoort (min/opt)" #: parted/parted.c:2093 #, c-format msgid "%d aligned\n" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d not aligned\n" msgstr "" #: parted/parted.c:2124 msgid "Flag to Invert?" msgstr "Om te zetten vlag?" #: parted/parted.c:2129 msgid "New state?" msgstr "Nieuwe toestand?" #: parted/parted.c:2166 msgid "Unit?" msgstr "Eenheid?" #: parted/parted.c:2348 msgid "align-check" msgstr "uitlijncontrole" #: parted/parted.c:2351 msgid "" "align-check TYPE N check partition N for TYPE(min|" "opt) alignment" msgstr "" "uitlijncontrole SOORT N partitie N controleren op SOORT(min|opt)-" "uitlijning" #: parted/parted.c:2359 msgid "check" msgstr "controleer" #: parted/parted.c:2362 msgid "" "check NUMBER do a simple check on the file system" msgstr "" "controleer NUMMER een simpele controle uitvoeren van " "bestandssysteem op partitie NUMMER" #: parted/parted.c:2368 msgid "cp" msgstr "kopieer" #: parted/parted.c:2371 msgid "" "cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another " "partition" msgstr "" "kopieer [APPARAAT] VAN-NUMMER NAAR-NUMMER een bestandssysteem naar een " "andere partitie kopiëren" #: parted/parted.c:2377 msgid "help" msgstr "hulp" #: parted/parted.c:2380 msgid "" "help [COMMAND] print general help, or help on " "COMMAND" msgstr "" "help [OPDRACHT] enige algemene hulp geven (of hulp bij OPDRACHT)" #: parted/parted.c:2386 msgid "mklabel" msgstr "maaklabel" #: parted/parted.c:2386 msgid "mktable" msgstr "maaktabel" #: parted/parted.c:2389 msgid "" "mklabel,mktable LABEL-TYPE create a new disklabel (partition " "table)" msgstr "" "maaklabel LABEL-TYPE nieuw schijflabel maken (met lege partitietabel)" #: parted/parted.c:2395 msgid "mkfs" msgstr "maakbs" #: parted/parted.c:2398 msgid "" "mkfs NUMBER FS-TYPE make a FS-TYPE file system on " "partition NUMBER" msgstr "" "maakbs NUMMER BS-SOORT op partitie NUMMER een bestandssysteem van BS-" "SOORT aanmaken" #: parted/parted.c:2404 msgid "mkpart" msgstr "maakpart" #: parted/parted.c:2407 msgid "mkpart PART-TYPE [FS-TYPE] START END make a partition" msgstr "maakpart PART-TYPE [BS-SOORT] BEGIN EINDE een partitie aanmaken" #: parted/parted.c:2413 msgid "" "'mkpart' makes a partition without creating a new file system on the " "partition. FS-TYPE may be specified to set an appropriate partition ID.\n" msgstr "" "Opdracht 'maakpart' maakt een partitie aan zonder een bestandssysteem aan te " "maken. BS-SOORT mag gebruikt worden om het een geschikt partitiekenmerk te " "geven.\n" #: parted/parted.c:2418 msgid "mkpartfs" msgstr "maakpartbs" #: parted/parted.c:2421 msgid "" "mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system" msgstr "" "maakpartbs PART-TYPE BS-SOORT BEGIN EINDE een partitie met een " "bestandssysteem aanmaken" #: parted/parted.c:2427 msgid "move" msgstr "schuif" #: parted/parted.c:2430 msgid "move NUMBER START END move partition NUMBER" msgstr "" "schuif NUMMER BEGIN EINDE partitie verplaatsen naar nieuw BEGIN en EINDE" #: parted/parted.c:2435 msgid "name" msgstr "noem" #: parted/parted.c:2438 msgid "name NUMBER NAME name partition NUMBER as NAME" msgstr "noem NUMMER NAAM partitie NUMMER deze NAAM geven" #: parted/parted.c:2443 msgid "print" msgstr "toon" #: parted/parted.c:2446 msgid "" "print [devices|free|list,all|NUMBER] display the partition table, " "available devices, free space, all found partitions, or a particular " "partition" msgstr "" "toon [devices|free|list,all|NUMMER] de partitietabel weergeven (of " "beschikbare apparaten, of vrije ruimte, of tabellen van alle apparaten, of " "een specifieke partitie)" #: parted/parted.c:2451 msgid "" "Without arguments, 'print' displays the entire partition table. However with " "the following arguments it performs various other actions.\n" msgstr "" "Zonder argumenten toont 'toon' de volledige partitietabel, maar met\n" "de volgende argumenten wordt meer specifieke informatie getoond:\n" #: parted/parted.c:2453 msgid " devices : display all active block devices\n" msgstr " devices : alle actieve blokapparaten tonen\n" #: parted/parted.c:2454 msgid "" " free : display information about free unpartitioned space on the " "current block device\n" msgstr "" " free : informatie over vrije ruimte op huidige blokapparaat tonen\n" #: parted/parted.c:2456 msgid "" " list, all : display the partition tables of all active block devices\n" msgstr "" " list, all : de partitietabellen van alle actieve blokapparaten tonen\n" #: parted/parted.c:2457 msgid "" " NUMBER : display more detailed information about this particular " "partition\n" msgstr " NUMMER : meer details over partitie NUMMER tonen\n" #: parted/parted.c:2462 msgid "quit" msgstr "einde" #: parted/parted.c:2465 msgid "quit exit program" msgstr "einde programma afsluiten" #: parted/parted.c:2470 msgid "rescue" msgstr "red" #: parted/parted.c:2473 msgid "" "rescue START END rescue a lost partition near START " "and END" msgstr "" "red BEGIN EINDE een verloren partitie (met geschat begin en " "einde) proberen te herstellen" #: parted/parted.c:2479 msgid "resize" msgstr "grootte" #: parted/parted.c:2482 msgid "" "resize NUMBER START END resize partition NUMBER and its " "file system" msgstr "" "grootte NUMMER BEGIN EINDE de grootte van het bestandssysteem op partitie " "NUMMER veranderen" #: parted/parted.c:2490 msgid "rm" msgstr "verwijder" #: parted/parted.c:2493 msgid "rm NUMBER delete partition NUMBER" msgstr "verwijder NUMMER partitie NUMMER verwijderen" #: parted/parted.c:2498 msgid "select" msgstr "kies" #: parted/parted.c:2501 msgid "select DEVICE choose the device to edit" msgstr "kies APPARAAT dit APPARAAT kiezen om te bewerken" #: parted/parted.c:2506 msgid "set" msgstr "zet" #: parted/parted.c:2509 msgid "" "set NUMBER FLAG STATE change the FLAG on partition NUMBER" msgstr "" "zet NUMMER VLAG TOESTAND op partitie NUMMER deze VLAG in TOESTAND zetten" #: parted/parted.c:2515 msgid "toggle" msgstr "zetom" #: parted/parted.c:2518 msgid "" "toggle [NUMBER [FLAG]] toggle the state of FLAG on " "partition NUMBER" msgstr "" "zetom [NUMMER [VLAG]] op partitie NUMMER de toestand van VLAG omzetten" #: parted/parted.c:2524 msgid "unit" msgstr "eenheid" #: parted/parted.c:2527 msgid "unit UNIT set the default unit to UNIT" msgstr "eenheid EENHEID standaard deze EENHEID gebruiken" #: parted/parted.c:2532 msgid "version" msgstr "versie" #: parted/parted.c:2535 msgid "" "version display the version number and " "copyright information of GNU Parted" msgstr "" "versie versienummer en copyright van deze Parted tonen" #: parted/parted.c:2539 msgid "" "'version' displays copyright and version information corresponding to this " "copy of GNU Parted\n" msgstr "" "'versie' toont informatie over het auteursrecht en de versie van deze GNU " "Parted\n" #: parted/parted.c:2607 #, c-format msgid "Usage: %s [-hlmsv] [-a] [DEVICE [COMMAND [PARAMETERS]]...]\n" msgstr "" "Gebruik: %s [-hlmsv] [-aUITLIJNING] [APPARAAT [OPDRACHT [PARAMETERS]]...]\n" #: parted/parted.c:2651 msgid "No device found" msgstr "Geen apparaat gevonden" #: parted/parted.c:2688 msgid "WARNING: You are not superuser. Watch out for permissions." msgstr "" "WAARSCHUWING: u bent niet root.\n" "Houd rekening met ontbrekende toegangsrechten." #: parted/parted.c:2726 msgid "You may need to update /etc/fstab.\n" msgstr "Het kan nodig zijn /etc/fstab bij te werken.\n" #: parted/ui.c:162 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n" msgstr "Welkom bij GNU Parted! Typ 'help' voor een opdrachtenoverzicht.\n" #: parted/ui.c:165 msgid "" "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n" "Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run " "in\n" "interactive mode.\n" msgstr "" "Gebruik: parted [OPTIE]... [APPARAAT [OPDRACHT [ARGUMENTEN]...]...]\n" "\n" "Dit voert OPDRACHT met ARGUMENTEN uit op APPARAAT.\n" "Als er geen OPDRACHT gegeven is, wordt interactieve modus gestart.\n" #: parted/ui.c:170 #, c-format msgid "" "\n" "\n" "You found a bug in GNU Parted! Here's what you have to do:\n" "\n" "Don't panic! The bug has most likely not affected any of your data.\n" "Help us to fix this bug by doing the following:\n" "\n" "Check whether the bug has already been fixed by checking\n" "the last version of GNU Parted that you can find at:\n" "\n" "\thttp://ftp.gnu.org/gnu/parted/\n" "\n" "Please check this version prior to bug reporting.\n" "\n" "If this has not been fixed yet or if you don't know how to check,\n" "please visit the GNU Parted website:\n" "\n" "\thttp://www.gnu.org/software/parted\n" "\n" "for further information.\n" "\n" "Your report should contain the version of this release (%s)\n" "along with the error message below, the output of\n" "\n" "\tparted DEVICE unit co print unit s print\n" "\n" "and the following history of commands you entered.\n" "Also include any additional information about your setup you\n" "consider important.\n" msgstr "" "\n" "\n" "U hebt een programmeerfout in GNU Parted gevonden.\n" "Help ons de fout te verbeteren door het volgende te doen:\n" "\n" "Raak niet in paniek.\n" "De fout heeft zeer waarschijnlijk uw gegevens intact gelaten.\n" "\n" "Controleer of de fout al is verbeterd door de nieuwste versie\n" "van GNU Parted te gebruiken, te vinden op:\n" "\n" " http://ftp.gnu.org/gnu/parted/\n" "\n" "Probeer die versie alvorens een fout te rapporteren.\n" "\n" "Als de fout nog niet is verbeterd, of als u niet precies weet hoe dit\n" "te controleren, kijk dan voor verdere informatie op de Parted-website:\n" "\n" " http://www.gnu.org/software/parted\n" "\n" "Uw rapportage dient het versienummer van Parted te bevatten (%s),\n" "de onderstaande foutmelding, de uitvoer van de volgende opdracht:\n" "\n" " parted APPARAAT unit co print unit s print\n" "\n" "en de hierna volgende opdrachtengeschiedenis, plus verdere\n" "relevante informatie over de configuratie van uw systeem.\n" #: parted/ui.c:291 msgid "" "\n" "Command History:\n" msgstr "" "\n" "Opdrachtengeschiedenis:\n" #: parted/ui.c:354 msgid "" "\n" "Error: SEGV_MAPERR (Address not mapped to object)\n" msgstr "" "\n" "Fout: SEGV_MAPERR (Adres niet verbonden met object)\n" #: parted/ui.c:360 msgid "" "\n" "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n" msgstr "" "\n" "Fout: SEGV_ACCERR (Ongeldige toegangsrechten voor object)\n" #: parted/ui.c:365 msgid "" "\n" "Error: A general SIGSEGV signal was encountered.\n" msgstr "" "\n" "Fout: een niet-specifiek SIGSEGV-signaal werd ontvangen.\n" #: parted/ui.c:389 msgid "" "\n" "Error: FPE_INTDIV (Integer: divide by zero)" msgstr "" "\n" "Fout: FPE_INTDIV (Deling door nul)" #: parted/ui.c:394 msgid "" "\n" "Error: FPE_INTOVF (Integer: overflow)" msgstr "" "\n" "Fout: FPE_INTOVF (Overloop)" #: parted/ui.c:399 msgid "" "\n" "Error: FPE_FLTDIV (Float: divide by zero)" msgstr "" "\n" "Fout: FPE_FLTDIV (Deling door nul)" #: parted/ui.c:404 msgid "" "\n" "Error: FPE_FLTOVF (Float: overflow)" msgstr "" "\n" "Fout: FPE_FLTOVF (Overloop)" #: parted/ui.c:409 msgid "" "\n" "Error: FPE_FLTUND (Float: underflow)" msgstr "" "\n" "Fout: FPE_FLTUND (Onderloop)" #: parted/ui.c:414 msgid "" "\n" "Error: FPE_FLTRES (Float: inexact result)" msgstr "" "\n" "Fout: FPE_FLTRES (Inexact resultaat)" #: parted/ui.c:419 msgid "" "\n" "Error: FPE_FLTINV (Float: invalid operation)" msgstr "" "\n" "Fout: FPE_FLTINV (Ongeldige operatie)" #: parted/ui.c:424 msgid "" "\n" "Error: FPE_FLTSUB (Float: subscript out of range)" msgstr "" "\n" "Fout: FPE_FLTSUB (Index buiten bereik)" #: parted/ui.c:429 msgid "" "\n" "Error: A general SIGFPE signal was encountered." msgstr "" "\n" "Fout: een niet-specifiek SIGFPE-signaal werd ontvangen." #: parted/ui.c:453 msgid "" "\n" "Error: ILL_ILLOPC (Illegal Opcode)" msgstr "" "\n" "Fout: ILL_ILLOPC (Ongeldige opcode)" #: parted/ui.c:458 msgid "" "\n" "Error: ILL_ILLOPN (Illegal Operand)" msgstr "" "\n" "Fout: ILL_ILLOPN (Ongeldige parameter)" #: parted/ui.c:463 msgid "" "\n" "Error: ILL_ILLADR (Illegal addressing mode)" msgstr "" "\n" "Fout: ILL_ILLADR (Ongeldige adresseringsmodus)" #: parted/ui.c:468 msgid "" "\n" "Error: ILL_ILLTRP (Illegal Trap)" msgstr "" "\n" "Fout: ILL_ILLTRP (Ongeldige 'trap'-instructie)" #: parted/ui.c:473 msgid "" "\n" "Error: ILL_PRVOPC (Privileged Opcode)" msgstr "" "\n" "Fout: ILL_PRVOPC (Instructie alleen toegankelijk voor geprivilegieerden)" #: parted/ui.c:478 msgid "" "\n" "Error: ILL_PRVREG (Privileged Register)" msgstr "" "\n" "Fout: ILL_PRVREG (Register alleen toegankelijk voor geprivilegieerden)" #: parted/ui.c:483 msgid "" "\n" "Error: ILL_COPROC (Coprocessor Error)" msgstr "" "\n" "Fout: ILL_COPROC (Coprocessorfout)" #: parted/ui.c:488 msgid "" "\n" "Error: ILL_BADSTK (Internal Stack Error)" msgstr "" "\n" "Fout: ILL_BADSTK (Interne stack-fout)" #: parted/ui.c:493 msgid "" "\n" "Error: A general SIGILL signal was encountered." msgstr "" "\n" "Fout: een niet-specifiek SIGILL-signaal werd ontvangen." #: parted/ui.c:892 #, c-format msgid "invalid token: %s" msgstr "ongeldig symbool: %s" #: parted/ui.c:1048 msgid "Expecting a partition number." msgstr "Een partitienummer wordt verwacht." #: parted/ui.c:1057 msgid "Partition doesn't exist." msgstr "Partitie bestaat niet." #: parted/ui.c:1077 msgid "Expecting a file system type." msgstr "Een bestandssysteemsoort wordt verwacht." #: parted/ui.c:1084 #, c-format msgid "Unknown file system type \"%s\"." msgstr "Onbekende bestandssysteemsoort '%s'." #: parted/ui.c:1104 msgid "Expecting a disk label type." msgstr "Een schijflabeltype wordt verwacht." #: parted/ui.c:1202 msgid "Can't create any more partitions." msgstr "Kan geen nieuwe partities meer maken." #: parted/ui.c:1212 msgid "Expecting a partition type." msgstr "Een partitietype wordt verwacht." #: parted/ui.c:1360 msgid "on" msgstr "aan" #: parted/ui.c:1361 msgid "off" msgstr "uit" #: parted/ui.c:1378 msgid "optimal" msgstr "optimaal" #: parted/ui.c:1379 msgid "minimal" msgstr "minimaal" #: parted/ui.c:1512 msgid "OPTIONs:" msgstr "OPTIEs:" #: parted/ui.c:1517 msgid "COMMANDs:" msgstr "OPDRACHTen:" #: parted/ui.c:1520 #, fuzzy, c-format msgid "" "\n" "Report bugs to %s\n" msgstr "" "\n" "Rapporteer gebreken in het programma aan <%s>;\n" "meld fouten in de vertaling aan .\n" #: parted/ui.c:1527 #, c-format msgid "Using %s\n" msgstr "Apparaat %s wordt gebruikt.\n" #: parted/ui.c:1601 msgid "This command does not make sense in non-interactive mode.\n" msgstr "Deze opdracht is zonder betekenis in niet-interactieve modus.\n" #~ msgid "" #~ "Device %s has a logical sector size of %lld. Not all parts of GNU Parted " #~ "support this at the moment, and the working code is HIGHLY EXPERIMENTAL.\n" #~ msgstr "" #~ "Apparaat %s heeft een logische sectorgrootte van %lld.\n" #~ "Niet alle onderdelen van GNU Parted ondersteunen dit momenteel,\n" #~ "en de wel aanwezige ondersteuning is ZEER EXPERIMENTEEL.\n" #~ msgid "" #~ "WARNING: the kernel failed to re-read the partition table on %s (%s). As " #~ "a result, it may not reflect all of your changes until after reboot." #~ msgstr "" #~ "WAARSCHUWING: de kernel kan de partitietabel op %s niet opnieuw lezen " #~ "(%s). Dit kan als gevolg hebben dat het niet alle aanpassingen weergeeft " #~ "tot na een herstart." parted-2.3/po/fr.gmo0000644000000000000000000024336011400005705011255 00000000000000Þ•])ì%2;‘2Í50à5062B6*u6- 6$Î6*ó627%Q7,w7&¤7)Ë7&õ7,8#I8$m8!’8&´8(Û8<93A9!u9Ê—9b:y:0Ž:,¿:5ì:P";/s;]£;G<&I<p<< ”<+Ÿ<+Ë<÷<#=#:=^=0|=0­=Þ=0ý=(.>(W>€>  >'Á>%é>)?9?'Y?`?2â@<ARAgA…A¤A7ºAòA0B(7B%`B†B£BÀB,ÜB C,'C-TC ‚C(£CÌCèCD(DŽ*D^¹DEWE*tEŸF]¼FÕGðGH+HBDHF‡H!ÎH0ðH<!ID^I!£IPÅI]JHtJ½JÝJ$ûJD KeK"{K-žK‡ÌKTL XLLbL>¯LîL! M)-M!WMGyM(ÁM<êM@'N2hN"›NB¾N?O!AO2cO–O0O]ÎO=,PDjPI¯PùPZ QogQ"×R*úR%SVCSQšS4ìS5!T(WT€TŸT¾TÝTüTU5U)UU-U$­UÒU<ñU=.VlVŒV¬VÌVìV W4'W\W8yW'²W7ÚWX')XQX8mX8¦XßXëýX#éY Z/(Z X[ e[p[[ƒ[ˆ[Ž[­[ØË[&¤\Ë\(à\B ]$L]q]Ž]¬]Ê]:æ]\!^=~^?¼^>ü^;_L_&`_‡_ _™_ ª_¶¶_m`´`>4a*saLža=ëa;)b/eb<•b+ÒbHþb*Gcrc’c>¤cãccdgdwd }dHˆd ÑdKÜd0(e}Yec×e?;f {f‡f£f²fÆfÛßfI»gGiUMi£iªi-Êiøi k k"k9kVkrk9ŠkÄk4Ôk4 l>l$]l‚l”l)¯lKÙl>%mldm:ÑmD nmQn¿nÖnïnþno(o 7oBoRo”mop pp (p3p6pHpXpap€pœp8¶pïp¢ q°qÈqÏqÒq+Ûq/r/7rgr0vr§r·r?ÌrT s.as)s.ºsNésQ8tŠtŸt)¸tâtòt-u2u"Bu#eu‰u¡uC¼uv$vz<RzDzXÔz>-{l{‚ˆ{í |Rù|ÖL}<#~H`~<©~æ~‚hFë/2€^b€pÁ€o2c¢`‚hg‚HЂHƒ bƒÙƒƒ*]„?ˆ„0È„0ù„ˆ*†š³†N‡,Їý‡ˆ7;ˆ¨sˆ¶Š@ÓŠ@‹RU‹g¨‹EŒgVŒ/¾ŒtîŒ7cp›; ŽEHŽ<ŽŽFËŽ:ƒMfÑ;8UtÊÞú‘&*‘Q‘0Ó‘1’ˆ6’1¿’2ñ’$“)“(:“(c“&Œ“t³“&(”(O”Ax”º”Í”3䔕•&•=•\•x••Ÿ•±• Õ3Е3–/8–h–€–$––B»–*þ–)— I—ê— þ—˜#˜#A˜e˜y˜;“˜ŠϘZšHbš+«š?ךˆ› ›½›;Ô›3œ/Dœ+tœ' œ#Èœìœ (8Q#UbyZÜ~7žP¶ž?ŸGŸMŸSŸ UŸ cŸWoŸÇŸäŸüŸ  ! + 0 M6 „  ¥ ­ N° ÿ ¡%¡!A¡c¡x¡“¡ °¡º¡Yá)¢.G¢.v¢¥¢ª¢¾¢O⣠£%£@£[£${£ £ ²£À£+Ä£ð£ø£ü£ ¤¤¤W#¤{¤Qƒ¤Õ¤9ܤ¥L¥l¥t¥>y¥¸¥À¥FÅ¥# ¦0¦4¦ 7¦B¦[¦c¦…h¦Uî¦)D§n§s§*{§¦§”¬§A¨5F¨|¨¨ “¨ž¨¹¨SÀ¨©T©p©@s©´©¹© Ô©ß©ø©Bÿ©BªLFª “ªª³ªQÒª$«)«U0«†«˜«««E°«ö«kþ« j¬"v¬™¬´¬Ϭgè¬{P®̱/è±/²1H²=z²(¸²,á²0³5?³9u³0¯³*à³- ´-9´/g´%—´'½´*å´(µ*9µCdµ@¨µéµÞ¶&ç¶·F&·.m·?œ·NÜ·<+¸Zh¸Xø,¹ I¹j¹ q¹<|¹<¹¹%ö¹2º,Oº$|ºG¡ºGéº"1»1T»B†»/É»-ù»1'¼;Y¼4•¼7ʼ$½4'½\½Fì¾R3¿†¿/£¿0Ó¿À@!ÀbÀ0vÀ(§À4ÐÀ*Á0ÁNÁ,nÁ›Á-»Á2éÁ"Â/?Â:oªÂÇÂ䤿ÂJ‹ÃÖÃ_ÚÃA:Ä*|ň§Å0Æ6ÇMÇ:`ÇX›ÇZôÇOÈ7oÈK§ÈGóÈ#;Éi_ÉÉÉ[YÊ=µÊ-óÊ3!Ë_UË&µË*ÜË5ÌÁ=ÌÿÌ Í]ÍRmÍ)ÀÍ+êÍBÎ&YÎM€Î3ÎÎPÏESÏ4™Ï5ÎÏIÐ\NÐ-«Ð9ÙÐÑ=ÑwYÑWÑÑL)Ò\vÒÓÒvæÒš]Ó"øÔ7Õ(SÕw|ÕtôÕFiÖG°Ö7øÖ50×5f×5œ×5Ò×?Ø)HØ+rØ(žØ-ÇØ5õØ2+ÙS^ÙT²Ù6Ú6>Ú6uÚ6¬Ú@ãÚ*$ÛGOÛ0—ÛXÈÛ2!ÜVTÜ«Ü>ÂÜ$ÝI&ÝIpÝ'ºÝ'âÝ' ß%2ßXߨà èàõàááá1$á*Váùá4{â$°â2ÕâMã.Vã#…ã$©ãÎãëãQä~XäO×äU'åP}åÎåìå:æ<æ BæPæjæÚ~æ"YçÓ|çXPè;©èaåèXGéP éKñéO=ê<êUÊêF ë)gë‘ëU¯ëµì»ìÃì×ì ßìcíì QíV^í9µí«ï툛î@$ï eï"sï–ï¥ïºïÓï~òðSqòhÅò.ó$6ó6[ó7’ó Êô"Öôùô$ õ1õNõFgõ®õ9¿õ:ùõ#4ö0Xö‰ö¨ö7ÈöX÷UY÷u¯÷W%øo}ø‚íø!pù#’ù¶ù!Èùêùúù úú+ú¶Júûû$û AûOûSûhû ‚ûû0¬û(ÝûDü2Kü¯~ü.ýJýQý Tý7^ýD–ýFÛý"þ;8þtþ†þMþ}ëþ4iÿ,žÿ:ËÿedlÑë?F\Kr¾8Ò( 4 R[s%Ï-õ #¿-#í6HON`^¯_NnN½ "BHP&WH~TÇMPjE»APCa”böYY P³ 2 ´7 ì ^ò Q 4b T— <ì ­)š×Gr8ºlód`ÅuEy»Ž5eÄe*,½=¾KüEH’Žœ!徤42"g%Š3°$äÈ HÒJ^fƒÅSI…>#sb8Ö™ G© Sñ HE!TŽ!7ã!•"k±"D#b#ä#ü#$7$.L$‰{$O%PU%˜¦%O?&P&à&å&<ø&=5',s' '*0(.[(RŠ(Ý(!õ(A)Y)a)!i))‹)µ)Õ)í)**,*R<*R*Pâ*3+Q+)m+P—+1è+%,Î@,-#-6->K->Š-É-ç-H.ŽN. Ý/bë/3N0I‚0‡Ì0T1q1A†11È1-ú1)(2%R2!x2š2¸2Ò2"á23:3~C3`Â3¥#4hÉ4\255•5›55 ®5hº5##6G6c6~6 †6 6 š6\¤67717@7¡C7å7÷7( 8,48a8t8$Ž8³8Ë8nÓ82B9;u9;±9í9-ó9!:a&:ˆ: Ž:"™:¼:)Û:*;0;F;U;FY; ;&¨;Ï; ß;ì;ô;lù;f<dn<Ó<=Ú<=Y!={=ƒ=LŒ=Ù=á=Vè=1?>q>u>x>$‹>°>¸>ͽ>d‹?3ð?$@)@.2@a@§j@A<AWA\AqA$ƒA¨AZ¯A BvBBL“BàB"çB C,#C PCM]C «Cj·C"D5DSDXlDÅDàD_éDIE_EwEI|EÆE{ÎEJF&\F#ƒF#§F$ËF‡ûÁŒ-­0#”I0|Ñp$LHZVÆw/%@þâSü%5°ñµa;½®³õ#Ö„]c¸eì2÷ù\¸ôÝ)7QöG@êf ‡h*àþÇi¹&ËfÛúW1¾B¡ Ø+JkTÚåª âóœÒ_ÜJÎ!»œ8ëÅÍ?u€ZŸºÆh÷ÇLÊ¿Ì'F²¢OU·_ÈúÈ3¹°~‘s¼rçM9Õ}™ò “6t jÅ¿ѯq Õ)¤NKbÿÞKóRíÜÏ Ã7†‘yD Ð(8®ðÒÞª åèz;wà ¤iñû4s6@g—UvC\…SHø˜ù.¬xÓCWÿÖ ÏSç?ž¢¾2¦©<ü±>Ðîîï<y^X A(æ"ƒ¦Â‰\ˆU’»ŸJnp¡A/=ŒŽmr*Š–o¯lMæÔD}‹ìQ§"í «×¥ ¬dFÁXÔ‰|-Rm&e[Ëß‚2•´ó“º=g1ò†9,õÍÄ&¶Q+µOÙMv=£á$’o^šöYxƒ> ”!kß.`é‹ÓVÚé£!{4ô´WHK[è¨a"ð6¨4˜BÀÊq±3NGä`„>G«tÀ3·]j²u?ê×/¼[­,XLT%ÝÉ8 —ýŽ• ý›]+EØäcž:b$5›á~CÌ ˆã1Bë-ŠY<…5#An:REPøÂl',Fš0ÛïÎZ§{€™‚½©;–TzÙ :Ä9(PPÉOV.ã I¥)¶EI7'd*YND You found a bug in GNU Parted! Here's what you have to do: Don't panic! The bug has most likely not affected any of your data. Help us to fix this bug by doing the following: Check whether the bug has already been fixed by checking the last version of GNU Parted that you can find at: http://ftp.gnu.org/gnu/parted/ Please check this version prior to bug reporting. If this has not been fixed yet or if you don't know how to check, please visit the GNU Parted website: http://www.gnu.org/software/parted for further information. Your report should contain the version of this release (%s) along with the error message below, the output of parted DEVICE unit co print unit s print and the following history of commands you entered. Also include any additional information about your setup you consider important. Command History: Error: A general SIGFPE signal was encountered. Error: A general SIGILL signal was encountered. Error: A general SIGSEGV signal was encountered. Error: FPE_FLTDIV (Float: divide by zero) Error: FPE_FLTINV (Float: invalid operation) Error: FPE_FLTOVF (Float: overflow) Error: FPE_FLTRES (Float: inexact result) Error: FPE_FLTSUB (Float: subscript out of range) Error: FPE_FLTUND (Float: underflow) Error: FPE_INTDIV (Integer: divide by zero) Error: FPE_INTOVF (Integer: overflow) Error: ILL_BADSTK (Internal Stack Error) Error: ILL_COPROC (Coprocessor Error) Error: ILL_ILLADR (Illegal addressing mode) Error: ILL_ILLOPC (Illegal Opcode) Error: ILL_ILLOPN (Illegal Operand) Error: ILL_ILLTRP (Illegal Trap) Error: ILL_PRVOPC (Privileged Opcode) Error: ILL_PRVREG (Privileged Register) Error: SEGV_ACCERR (Invalid permissions for mapped object) Error: SEGV_MAPERR (Address not mapped to object) Is this still acceptable to you? License GPLv3+: GNU GPL version 3 or later . This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Report bugs to <%s>. Report bugs to: %s When no DEVICE is given, probe all partitions. --help display this help and exit --version output version information and exit NUMBER : display more detailed information about this particular partition devices : display all active block devices free : display information about free unpartitioned space on the current block device list, all : display the partition tables of all active block devices "%s" has invalid syntax for locations.%0.f%% (time left %.2d:%.2d)%s %s%s %s %s%s : Bad checksum on block %llu of type %s %s : Bad checksum on block %llu of type %s.%s : Couldn't read block %llu %s : Couldn't read boot block %llu %s : Couldn't read root block %llu %s : Couldn't write block %d %s : Didn't find rdb block, should never happen %s : Didn't find rdb block, should never happen.%s : Failed to allocate block %s : Failed to allocate disk_specific rdb block %s : Failed to allocate id list element %s : Failed to allocate partition block %s : Failed to list bad blocks.%s : Failed to list boot blocks.%s : Failed to list file system blocks.%s : Failed to list partition blocks.%s : Failed to read partition block %llu %s : Loop detected at block %d.%s : The %s list seems bad at block %s.%s contains GPT signatures, indicating that it has a GPT table. However, it does not have a valid fake msdos partition table, as it should. Perhaps it was corrupted -- possibly by a program that doesn't understand GPT partition tables. Or perhaps you deleted the GPT table, and are now using an msdos partition table. Is this a GPT partition table?%s disk labels do not support extended partitions.%s disk labels don't support logical or extended partitions.%s during read on %s%s during seek for read on %s%s during seek for write on %s%s during write on %s%s has no extended partition (volume header partition).%s home page: <%s> %s home page: %s is %dk, but it has %d clusters (%dk).%s is too small for a Mac disk label!%s trying to sync %s to disk%s%s argument `%s' too large%s: invalid option -- '%c' %s: option '%c%s' doesn't allow an argument %s: option '%s' is ambiguous %s: option '--%s' doesn't allow an argument %s: option '-W %s' doesn't allow an argument %s: option '-W %s' is ambiguous %s: option requires an argument -- '%c' %s: unrecognised disk label%s: unrecognized option '%c%s' %s: unrecognized option '--%s' ''mkpart' makes a partition without creating a new file system on the partition. FS-TYPE may be specified to set an appropriate partition ID. 'version' displays copyright and version information corresponding to this copy of GNU Parted (C)A %s %s partition was found at %s -> %s. Do you want to add it to the partition table?A bug has been detected in GNU Parted. Refer to the web site of parted http://www.gnu.org/software/parted/parted.html for more information of what could be useful for bug submitting! Please email a bug report to bug-parted@gnu.org containing at least the version (%s) and the following message: A data set name is corruptedA reference to an extent comes from a place it should not. You should check the file system!A resize operation on this file system will use EXPERIMENTAL code that MAY CORRUPT it (although no one has reported any such damage yet). You should at least backup your data first, and run 'e2fsck -f' afterwards.API version mismatchATARAID ControllerAn error occurred during extent relocation.An error occurred while looking for the mandatory bad blocks file.An extended partition cannot hold a file system. Did you want mkpart?An extent has not been relocated.Assertion (%s) at %s:%d in function %s() failed.Attempt to write sectors %ld-%ld outside of partition on %s.BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s. Backtrace has %d calls on stack: Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or scandisk.Bad FAT: cluster %d outside file system in chain for %s. You should run dosfsck or scandisk.Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk.Bad block list header checksum.Bad blocks could not be read.Bad blocks list could not be loaded.Bad directory entry for %s: first cluster is the end of file marker.Bad journal checksum.Block %i has no reference? Weird.Block %i shouldn't have been marked (%d, %d)!Both the primary and backup GPT tables are corrupt. Try making a fresh table, and using Parted's rescue feature to recover partitions.BugCOMMANDs:Can't add a logical partition to %s, because there is no extended partition.Can't add another partition -- the partition map is too small!Can't add another partition.Can't copy an extended partition.Can't copy onto an overlapping partition.Can't create any more partitions.Can't have a logical partition outside of the extended partition on %s.Can't have a partition outside the disk!Can't have a primary partition inside an extended partition.Can't have logical partitions outside of the extended partition.Can't have more than one extended partition on %s.Can't have overlapping partitions.Can't have the end before the start! (start sector=%jd length=%jd)Can't move a partition onto itself. Try using resize, perhaps?Can't move an extended partition.Can't write to %s, because it is opened read-only.CancelCannot get unit size for special unit 'COMPACT'.Changing the name of a root or swap partition will prevent Linux from recognising it as such.Checksum is wrong, indicating the partition table is corrupt.Clear unused space on a FAT partition (a GNU Parted testing tool). Cluster start delta = %d, which is not a multiple of the cluster size %d.Compaq Smart ArrayConflicting partition map entry sizes! Entry 1 says it is %d, but entry %d says it is %d!Copyright (C) 1998 - 2006 Free Software Foundation, Inc. This program is free software, covered by the GNU General Public License. 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. Corrupted Sun disk label detected.Could not cache the file system in memory.Could not detect file system.Could not determine physical sector size for %s. Using the logical sector size (%lld).Could not determine sector size for %s: %s. Using the default sector size (%lld).Could not find sector %lli of HFS file with CNID %X.Could not find sector %lli of HFS+ file with CNID %X.Could not get identity of device %s - %sCould not read VTOC FMT1 DSCB.Could not read VTOC FMT4 DSCB.Could not read VTOC FMT5 DSCB.Could not read VTOC FMT7 DSCB.Could not read VTOC labels.Could not read volume label.Could not retrieve API version.Could not retrieve blocksize information.Could not retrieve disk geometry information.Could not retrieve disk information.Could not stat device %s - %s.Could not update the extent cache for HFS file with CNID %X.Could not update the extent cache for HFS+ file with CNID %X.Could not write VTOC FMT1 DSCB.Could not write VTOC FMT4 DSCB.Could not write VTOC FMT5 DSCB.Could not write VTOC FMT7 DSCB.Could not write VTOC labels.Could not write volume label.Couldn't create reiserfs device abstraction handler.Couldn't flush buffer cache!Couldn't reopen device abstraction layer for read/write.Couldn't resolve symbol %s. Error: %s.Cross-linked blocks found! Better go run e2fsck first!DAC960 RAID controllerDEVICE is usually /dev/hda or /dev/sda Data relocation has failed.Data relocation left some data at the end of the volume.Data relocation left some data in the end of the volume.Destination partition number?Device %s has multiple (%d) logical sectors per physical sector. GNU Parted supports this EXPERIMENTALLY for some special disk label/file system combinations, e.g. GPT and ext2/3. Please consult the web site for up-to-date information.Device is too small for %lu blocks.Device verification failedDirect support for copying file systems is not yet implemented for %s. However, support for resizing is implemented. Therefore, the file system can be copied if the new partition is at least as big as the old one. So, either shrink the partition you are trying to copy, or copy to a bigger partition.Disk %s: %s Disk ImageDisk is in useEndEnd?ErrorError allocating buffer cache.Error fsyncing/closing %s: %sError informing the kernel about modifications to partition %s -- %s. This means Linux won't know about any changes you made to %s until you reboot -- so you shouldn't mount it or use it in any way before rebooting.Error initialising SCSI device %s - %sError opening %s: %sError while writing the allocation file.Error while writing the compatibility part of the allocation file.Error writing to the root directory.Expecting a disk label type.Expecting a file system type.Expecting a partition number.Expecting a partition type.Extended partitions cannot be hidden on msdos disk labels.FAT %d media %x doesn't match the boot sector's media %x. You should probably run scandisk.FAT boot sector says clusters are 0 sectors. This is weird. FAT boot sector says logical sector size is 0. This is weird. FAT boot sector says there are no FAT tables. This is weird. FLAG is one of: FS-TYPE is one of: Failed to write partition block at %d.FatalFatal errorFile System: %s File systemFile system doesn't have expected sizes for Windows to like it. Cluster size is %dk (%dk expected); number of clusters is %d (%d expected); size of FATs is %d sectors (%d expected).File system full!File system has an incompatible feature enabled. Compatible features are has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs or debugfs to remove features.File system has an invalid cluster size for a FAT file system.File system has an invalid number of FATs.File system has an invalid number of reserved sectors for a FAT file system.File system has an invalid sector size for a FAT file system.File system has an invalid signature for a FAT file system.File system has errors! You should run e2fsck.File system has too many allocated inodes to remove a group!File system is FAT12, which is unsupported.File system is reporting the free space as %d clusters, not %d clusters.File system is too full to remove a group!File system too small for ext2.File system type?File system was not cleanly unmounted! You should run e2fsck.File system was not cleanly unmounted! You should run e2fsck. Modifying an unclean file system could cause severe corruption.FixFlag to Invert?FlagsFlags: %s Found an inode with a incorrect link count. Better go run e2fsck first!Free SpaceGNU Parted cannot resize this partition to this size. We're working on it!GNU Parted found an invalid libreiserfs library.GNU Parted has detected libreiserfs interface version mismatch. Found %d-%d, required %d. ReiserFS support will be disabled.GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT support will be disabled.General help using GNU software: Generic IDEGeneric SD/MMC Storage CardI2O ControllerIBM S390 DASD driveIBM iSeries Virtual DASDIf you convert to FAT16, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual).If you convert to FAT32, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual). Also, converting to FAT32 will make the file system unreadable by MS DOS, MS Windows 95a, and MS Windows NT.If you leave your file system as FAT16, then you will have no problems.If you leave your file system as FAT32, then you will not introduce any new problems.IgnoreInconsistent group descriptors!Incorrect magic values in the journal header.Inform the operating system about partition table changes. -d, --dry-run do not actually inform the operating system -s, --summary print a summary of contents -h, --help display this help and exit -v, --version output version information and exit InformationInvalid VTOC.Invalid back referenceInvalid character class nameInvalid collation characterInvalid content of \{\}Invalid free blocks count. Run reiserfsck --check first.Invalid number.Invalid partition table - recursive partition on %s.Invalid partition table on %s -- wrong signature %x.Invalid partition table on %s.Invalid preceding regular expressionInvalid range endInvalid regular expressionInvalid signature %x for Mac disk labels.Invalid size of a transaction block while replaying the journal (%i bytes).Invalid superblock. Are you sure this is an ext2 file system?It seems there is an error in the HFS wrapper: the bad blocks file doesn't contain the embedded HFS+ volume.Journal offset or size is not multiple of the sector size.Journal size mismatch between journal info block and journal header.Journal stored outside of the volume are not supported. Try to desactivate the journal and run Parted again.LABEL-TYPE is one of: Linux device-mapper (%s)Maximum size: Memory allocation failedMemory exhaustedMinimum size: Minor: %d Model: %s (%s) NAME is any word you want NUMBER is the partition number used by Linux. On MS-DOS disk labels, the primary partitions number from 1 to 4, logical partitions from 5 onwards. NameNew device?New disk label type?New state?NoNo ImplementationNo device foundNo matchNo previous regular expressionNo room for partition info.No room for volume label.No valid HFS[+X] signature has been found while opening.No valid partition map found.Not all of the space available to %s appears to be used, you can fix the GPT to use all of the space (an extra %llu blocks) or continue with the current setting? Not enough free inodes!NumberOKOPTIONs:Only logical partitions can be a boot file.Only primary partitions can be root partitions.Only primary partitions can be swap partitions.Out of memory.PART-TYPE is one of: primary, logical, extended Packaged by %s Packaged by %s (%s) Parted can't resize partitions managed by Windows Dynamic Disk.Parted can't use HFS file systems on disks with a sector size not equal to %d bytes.Partition %d has an invalid length of 0 bytes!Partition %d has an invalid signature %x.Partition %d is %s, but the file system is %s.Partition %d isn't aligned to cylinder boundaries. This is still unsupported.Partition %s is being used. You must unmount it before you modify it with Parted.Partition Table: %s Partition doesn't exist.Partition map has no partition map entry!Partition name?Partition number?Partition too big/small for a %s file system.Partition type?Partition(s) on %s are being used.Premature end of regular expressionPromise SX8 SATA DeviceRegular expression too bigReiserfs tree seems to be corrupted. Run reiserfsck --check first.Report %s bugs to: %s Resizing the HFS+ volume has failed.RetrySTART and END are disk locations, such as 4GB or 10%. Negative values count from the end of the disk. For example, -1s specifies exactly the last sector. STATE is one of: on, off Sector size (logical/physical): %lldB/%lldB SizeSize: Some header fields are not multiple of the sector size.Sorry, HFS cannot be resized that way yet.Sorry, HFS+ cannot be resized that way yet.Sorry, can't move the start of ext2 partitions yet!Sorry, can't move the start of reiserfs partitions yet.Source device?Source partition number?StartStart?SuccessSun disk label is full.Support for adding partitions to AIX disk labels is not implemented yet.Support for checking %s file systems is not implemented yet.Support for copying %s file systems is not implemented yet.Support for creating %s file systems is not implemented yet.Support for duplicating partitions in AIX disk labels is not implemented yet.Support for opening %s file systems is not implemented yet.Support for reading AIX disk labels is is not implemented yet.Support for resizing %s file systems is not implemented yet.Support for setting flags in AIX disk labels is not implemented yet.Support for setting system type of partitions in AIX disk labels is not implemented yet.Support for writing AIX disk labels is is not implemented yet.Syntax error in config fileThe FATs don't match. If you don't know what this means, then select cancel, run scandisk on the file system, and then come back.The Whole Disk partition is the only available one left. Generally, it is not a good idea to overwrite this partition with a real one. Solaris may not be able to boot without it, and SILO (the sparc boot loader) appreciates it as well.The backup GPT table is corrupt, but the primary appears OK, so that will be used.The backup GPT table is not at the end of the disk, as it should be. This might mean that another operating system believes the disk is smaller. Fix, by moving the backup to the end (and removing the old backup)?The boot region doesn't start at the start of the partition.The current API version '%d' doesn't match dasd driver API version '%d'!The data region doesn't start at the start of the partition.The device %s has zero length, and can't possibly store a file system or partition table. Perhaps you selected the wrong device?The disk CHS geometry (%d,%d,%d) reported by the operating system does not match the geometry stored on the disk label (%d,%d,%d).The disk has %d cylinders, which is greater than the maximum of 65536.The disk label describes a disk bigger than %s.The driver descriptor says the physical block size is %d bytes, but Linux says it is %d bytes.The existing disk label on %s will be destroyed and all data on this disk will be lost. Do you want to continue?The existing file system will be destroyed and all data on the partition will be lost. Do you want to continue?The ext2 file system passed a basic check. For a more comprehensive check, use the e2fsck program.The extents overflow file should not contain its own extents! You should check the file system.The file %s is marked as a system file. This means moving it could cause some programs to stop working.The file system can only be resized to this size by converting to FAT16.The file system can only be resized to this size by converting to FAT32.The file system contains errors.The file system has the 'dir_index' feature enabled. Parted can only resize the file system if it disables this feature. You can enable it later by running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'.The file system is bigger than its volume!The file system is in an invalid state. Perhaps it is mounted?The file system is in old (unresizeable) format.The file system's CHS geometry is (%d, %d, %d), which is invalid. The partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the file system's CHS geometry will be left unchanged. If you select Fix, the file system's CHS geometry will be set to match the partition table's CHS geometry.The format of the GPT partition table is version %x, which is newer than what Parted can recognise. Please tell us! bug-parted@gnu.orgThe information sector has the wrong signature (%x). Select cancel for now, and send in a bug report. If you're desperate, it's probably safe to ignore.The journal is not empty. Parted must replay the transactions before opening the file system. This will modify the file system.The location %s is outside of the device %s.The maximum head value is %d.The maximum sector value is %d.The partition must have one of the following FS-TYPEs: The partition table cannot be re-read. This means you need to reboot before mounting any modified partitions. You also need to reinstall your boot loader before you reboot (which may require mounting modified partitions). It is impossible do both things! So you'll need to boot off a rescue disk, and reinstall your boot loader from the rescue disk. Read section 4 of the Parted User documentation for more information.The partition table on %s cannot be re-read (%s). This means the Hurd knows nothing about any modifications you made. You should reboot your computer before doing anything with %s.The partition's boot region doesn't occupy the entire partition.The partition's data region doesn't occupy the entire partition.The primary GPT table is corrupt, but the backup appears OK, so that will be used.The reiserfs file system passed a basic check. For a more comprehensive check, run reiserfsck --check.The resulting partition is not properly aligned for best performance.The sector size stored in the journal is not 512 bytes. Parted only supports 512 bytes length sectors.The specified device is not a valid DASD deviceThe volume header or the master directory block has changed while replaying the journal. You should restart Parted.There are no possible configurations for this FAT type.There's not enough room in the root directory for all of the files. Either cancel, or ignore to lose the files.This HFS volume has no catalog file. This is very unusual!This HFS volume has no extents overflow file. This is quite unusual!This HFS+ volume has no catalog file. This is very unusual!This HFS+ volume has no extents overflow file. This is quite unusual!This command does not make sense in non-interactive mode. This file system has a logical sector size of %d. GNU Parted is known not to work properly with sector sizes other than 512 bytes.This is not a real %s check. This is going to extract special low level files for debugging purposes.This is not an ECKD disk! This disk type is not supported!This libparted doesn't have write support for %s. Perhaps it was compiled read-only.Too many bad pages.Too many primary partitionsToo many primary partitions.Trailing backslashTry `%s --help' for more information. Trying to move an extent from block Ox%X to block Ox%X, but another one already exists at this position. This should not happen!Trying to read HFS file with CNID %X behind EOF.Trying to read HFS+ file with CNID %X behind EOF.Trying to register an extent starting at block 0x%X, but another one already exists at this position. You should check the file system!Trying to write HFS file with CNID %X behind EOF.Trying to write HFS+ file with CNID %X behind EOF.TypeUNIT is one of: Unable to allocate a bsd disklabel slot.Unable to allocate a dasd disklabel slotUnable to allocate a partition number.Unable to determine geometry of file/device %s. You should not use Parted unless you REALLY know what you're doing!Unable to determine the dm type of %s.Unable to determine the size of %s (%s).Unable to open %s read-write (%s). %s has been opened read-only.Unable to open %s.Unable to probe store.Unable to satisfy all constraints on the partition.Unit?UnknownUnknown disk flag, %d.Unknown file system type "%s".Unknown partition flag, %d.Unknown system errorUnmatched ( or \(Unmatched ) or \)Unmatched [ or [^Unmatched \{Unrecognised new style linux swap signature '%10s'.Unrecognised old style linux swap signature '%10s'.Unrecognised swsusp linux swap signature '%9s'.Unsupported disk formatUnsupported disk typeUpdating the HFS wrapper has failed.Usage: %s [-hlmsv] [-a] [DEVICE [COMMAND [PARAMETERS]]...] Usage: %s [OPTION] or: %s DEVICE MINOR Usage: %s [OPTION] [DEVICE]... Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...] Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run in interactive mode. User-Mode Linux UBDUsing %s Valid arguments are:Version %d of HFS+ isn't supported.Version %d of HFSX isn't supported.Virtio Block DeviceVolume label is corruptedWARNING: You are not superuser. Watch out for permissions.WARNING: you are attempting to use %s to operate on (%s) a file system. %s's file system manipulation code is not as robust as what you'll find in dedicated, file-system-specific packages like e2fsprogs. We recommend you use %s only to manipulate partition tables, whenever possible. Support for performing most operations on most types of file systems will be removed in an upcoming release. WarningWeird block size on device descriptor: %d bytes is not divisible by 512.Weird! There are 2 partitions map entries!Welcome to GNU Parted! Type 'help' to view a list of commands. Without arguments, 'print' displays the entire partition table. However with the following arguments it performs various other actions. Would you like to use FAT32?Written by %s and %s. Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, and %s. Written by %s, %s, %s, and %s. Written by %s, %s, and %s. Written by %s. Xen Virtual Block DeviceYesYou may need to update /etc/fstab. You need %s of free disk space to shrink this partition to this size. Currently, only %s is free.You requested a partition from %s to %s. The closest location we can manage is %s to %s.%sYou should reinstall your boot loader before rebooting. Read section 4 of the Parted User documentation for more information.Your file system has too many occupied inodes to resize it to %i blocks. Sorry.Your file system is too full to resize it to %i blocks. Sorry.^[nN]^[yY]`adding groupsalign-checkalign-check TYPE N check partition N for TYPE(min|opt) alignmentalignment for new partitionsalignment type(min/opt)ambiguous argument %s for %satvrecvbios_grubbootcheckcheck NUMBER do a simple check on the file systemcheckingchecking for bad blockscopyingcpcp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another partitioncreatingcylinder_alignmentdesired alignment: minimum or optimaldisplays machine parseable outputdisplays the versiondisplays this help messageend of file while reading %sexpandingextendedfailed to set dvh partition name to %s: Only logical partitions (boot files) have a name.fat_table_alloc_cluster: no free clustersfat_table_get: cluster %ld outside file systemfat_table_set: cluster %ld outside file systemfreegrowing file systemhelphelp [COMMAND] print general help, or help on COMMANDhiddenhp-serviceinvalid %s%s argument `%s'invalid argument %s for %sinvalid minor device number: %sinvalid suffix in %s%s argument `%s'invalid token: %sioctl() errorlbalists partition layout on all block deviceslogicallvmmemory exhaustedmetadataminimalmkfsmkfs NUMBER FS-TYPE make a FS-TYPE file system on partition NUMBERmklabelmklabel,mktable LABEL-TYPE create a new disklabel (partition table)mkpartmkpart PART-TYPE [FS-TYPE] START END make a partitionmkpartfsmkpartfs PART-TYPE FS-TYPE START END make a partition with a file systemmktablemovemove NUMBER START END move partition NUMBERmsftresnamename NUMBER NAME name partition NUMBER as NAMEnever prompts for user interventionoffonopen erroropening of device failedoptimalpaloparted was unable to re-read the partition table on %s (%s). This means Linux won't know anything about the modifications you made. partition length of %jd sectors exceeds the %s-partition-table-imposed maximum of %jdped_device_new() Unsupported device typeprepprimaryprimary partition table array CRC mismatchprintprint [devices|free|list,all|NUMBER] display the partition table, available devices, free space, all found partitions, or a particular partitionquitquit exit programraidraw block copyingread errorreading from device failedrescuerescue START END rescue a lost partition near START and ENDresizeresize NUMBER START END resize partition NUMBER and its file systemrmrm NUMBER delete partition NUMBERrootsearching for file systemsseek errorseeking on device failedselectselect DEVICE choose the device to editsetset NUMBER FLAG STATE change the FLAG on partition NUMBERshrinkingshrinking HFS wrappershrinking embedded HFS+ volumestarting sector number, %jd exceeds the %s-partition-table-imposed maximum of %jdswaptoggletoggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBERtoo few argumentstoo many argumentsunitunit UNIT set the default unit to UNITversionversion display the version number and copyright information of GNU Partedwrite errorwriting HFS Master Directory Blockwriting HFS+ Volume Headerwriting per-group metadatawriting to device failedProject-Id-Version: parted 2.2 Report-Msgid-Bugs-To: bug-parted@gnu.org POT-Creation-Date: 2010-05-28 20:30+0200 PO-Revision-Date: 2010-02-28 18:31+0100 Last-Translator: Nicolas Provost Language-Team: French Language: fr MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Vous avez trouvé un bug dans GNU Parted ! Voici ce que vous devez faire : Ne paniquez pas ! Le bug n'a probablement pas affecté vos données. Aidez nous à résoudre ce bug en faisant ce qui suit: Vérifiez si le bug n'a pas déjà été résolu dans la dernière version de GNU Parted que vous pouvez trouver à : http://ftp.gnu.org/gnu/parted/ SVP vérifiez cette version avant de reporter tout bug. S'il n'a pas encore été résolu ou si vous ne savez pas comment vérifier, SVP visitez le site web de GNU Parted : http://www.gnu.org/software/parted pour plus d'informations. Votre rapport doit contenir la version de cette release (%s) accompagnée du message d'erreur dessous, le résultat de parted PÉRIPHÉRIQUE unit co print unit s print et l'historique des commandes saisies. Plus toutes les informations supplémentaires que vous trouverez importantes à propos de votre configuration. Historique des commandes: Erreur : Un signal SIGFPE général est survenu. Erreur : un signal SIGILL général est survenu. Erreur : un signal SIGSEGV général est survenu. Erreur : FPE_INTDIV (division par zéro en nombres flottants) Erreur : (Flottant: opération invalide) Erreur : FPE_FLTOVF (Flottant: dépassement) Erreur : PE_FLTRES (Flottant: résultat inexact) Erreur : FPE_FLTSUB (Flottant: débordement de plage) Erreur : FPE_FLTUND (Flottant: dépassement de précision) Erreur : FPE_INTDIV (Entier: division par zéro) Erreur : FPE_INTOVF (Entier: dépassement) Erreur : ILL_BADSTK (Erreur de pile interne) Erreur : ILL_COPROC (Erreur du coprocesseur) Erreur : ILL_ILLADR (Mode d'adressage illégal) Erreur : ILL_ILLOPC (Opcode illégal) Erreur : ILL_ILLOPN (Opérande illégal) Erreur : ILL_ILLTRP (Déroutement illégal) Erreur : ILL_PRVOPC (Opcode privilégié) Erreur : ILL_PRVREG (Registre privilégié) Erreur : SEGV_ACCERR (permissions invalides pour l'objet associé) Erreur : SEGV_MAPERR (l'adresse n'est pas associée à un objet) Est-ce acceptable pour vous ? Licence GPLv3+: GNU GPL version 3 ou ultérieure Logiciel libre : vous êtes libre de le modifier et de le redistribuer. Il n'y a AUCUNE GARANTIE, dans les limites autorisées par la loi. Envoyer les rapports de bugs à <%s>. Rapports de bugs à %s Quand aucun PERIPHERIQUE n'est précisé, teste toutes les partitions. --help affiche cette aide et quitte --version affiche les informations de version et quitte NOMBRE : affiche les informations détaillées sur la partition numéro NOMBRE devices : affiche tous les périphériques par blocs actifs free : affiche l'information sur l'espace libre non partitionné du périphérique courant list,all : afficher la table de partitions de tous les périphériques par blocs actifs "%s" a une syntaxe de localisation invalide.%0.f%% (temps restant %.2d:%.2d)%s %s%s %s %s%s : Mauvaise somme de contrôle sur le bloc %llu de type %s %s : Mauvaise somme de contrôle sur le bloc %llu de type %s.%s : impossible de lire le bloc %llu %s : Impossible de lire le bloc de démarrage %llu %s : Impossible de lire le bloc racine %llu %s : impossible d'écrire le bloc %d %s : impossible de trouver le bloc RDB, cela ne devrait jamais arriver %s : Impossible de trouver le bloc RDB, cela ne devrait jamais arriver.%s : Impossible d'allouer un bloc %s : impossible d'allouer le bloc RDB spécifique %s : Impossible d'allouer un élément de la liste des identifiants %s : Impossible d'allouer un bloc de partition %s : N'a pas pu détecter les blocs défectueux%s : Impossible de lister les blocs de démarrage.%s : Impossible de lister les blocs du système de fichiers.%s : Impossible de lister les blocs de la partition.%s : Impossible de lire les blocs de la partition %llu %s : Boucle detectée sur le bloc %d.%s : La liste %s semble être erronée sur le bloc %s.%s contient des signatures GPT, indiquant qu'il a une table GPT. Cependant, il n'a pas de table fictive de partitions MSDOS valide tel qu'il le devrait. Peut-être a-t-elle été corrompue - peut-être par un programme qui ne comprend pas les tables de partitions GPT. Ou peut-être avez-vous supprimé la table GPT et utilisez-vous une table de partition MS-DOS. Ceci est-il une table de partitions GPT ?Les étiquettes du disque %s ne supportent pas les partitions étendues.Les étiquettes du disque %s ne supportent pas les partitions logiques ou étendues.%s lors de la lecture sur %s%s lors d'un positionnement pour lecture sur %s%s lors d'un positionnement pour écriture sur %s%s lors de l'écriture sur %s%s n'a pas de partition étendue (partition d'en-tête de volume).page web %s : <%s> %s page web : %s est %dk, mais il a %d clusters (%dk).%s est trop petit pour une étiquette de disque Mac !%s essaie de synchroniser %s sur le disque%s%s argument `%s' trop grand%s : option non valide -- '%c' %s: l'option '%c%s' ne prend pas d'argument %s : l'option '%s' est ambiguë %s : l'option '--%s' ne prend pas d'argument %s : l'option '-W %s' ne nécessite pas d'argument %s : l'option '-W %s' est ambiguë %s : cette option requiert un argument -- '%c' Impossible d'ouvrir %s - étiquette de disque non reconnue.%s : option inconnue '%c%s' %s : option inconnue '--%s' »'mkpart' crée une partition sans créer un nouveau système de fichiers sur la partition. FS-TYPE doit être spécifié pour initialiser le type de partition approprié. 'version' affiche le copyright et la version de cette copie de GNU Parted (C)Une partition %s %s a été localisée de %s à %s. Voulez-vous l'ajouter à la table de partition ?Une anomalie a été détectée dans GNU Parted. Reportez-vous au site de Parted http://www.gnu.org/software/parted/parted.html pour plus d'informations sur ce qui pourrait être utile pour le signalement de l'anomalie ! SVP rapportez celle-ci à bug-parted@gnu.org en précisant au moins la version (%s) et le message suivant :Un ensemble de données (noms) est corrompuUne référence à une zone correspond à une localisation qui ne devrait pas y être associée. Vous devriez vérifier le système de fichiers.Une opération de redimentionnement sur ce système de fichiers utilisera un code EXPERIMENTAL qui POURRAIT le CORROMPRE (bien que personne n'ait signalé un tel problème pour l'instant). Vous devriez au moins sauvegarder vos données et ensuite lancer 'e2fsck -f'.mauvaise version d'APIContrôleur ATARAIDUne erreur est survenue pendant le déplacement de la zone.Une erreur est survenue lors de la recherche du fichier de gestion des blocs défectueux.Une partition étendue ne peut avoir de système de fichiers. Vouliez-vous utiliser mkpart ?Une zone n'a pas été réallouée.Assertion (%s) à %s: échec de %d dans la fonction %s().Tentative d'écriture des secteurs %ld-%ld en dehors de la partition sur %s.Géométrie BIOS cylindre,tête,secteur : %d,%d,%d. Chaque cylindre : %s. Backtrace : %d appels sur la pile: Table FAT erronée : le cluster %d a des liens croisés pour %s. Vous devriez exécuter dosfsck ou scandisk.Table FAT erronée : le cluster %d est en dehors du système de fichiers dans la chaîne associée à %s. Vous devriez exécuter dosfsck ou scandisk.Table FAT erronée : chaîne non terminée pour %s. Vous devriez exécuter dosfsck ou scandisk.Mauvaise somme de contrôle de l'entête de la liste des blocs.Les blocs défectueux ne peuvent pas être lus.La liste des blocs défectueux ne peut être chargée.Entrée de répertoire erronée pour %s : le premier cluster est à la fin du marqueur de fichiers.Mauvaise somme de contrôle du journal.Le bloc %i n'a pas de référence ? Bizarre.Le bloc %i ne devrait pas avoir été marqué (%d, %d) !Les tables GPT primaire et secondaire (sauvegarde) sont corrompues toutes les deux. Essayer d'écrire une nouvelle table et d'utiliser le mode de secours de Parted pour recupérer les partitions.BugCOMMANDES :Impossible d'ajouter une partition logique sur %s parce qu'il n'y a pas de partition étendue.Impossible d'ajouter une autre partition - la table de partition est trop petite !Impossible d'ajouter une autre partition.Impossible de copier une partition étendue.Impossible de copier sur une partition qui en chevauche une autre.Ne peut ajouter de nouvelle partition.Ne peut avoir une partition logique en dehors de la partition étendue sur %s.La partition ne peut pas être en dehors du disque !Impossible d'avoir une partition primaire à l'intérieur d'une partition étendue.Ne peut avoir de partition logique en dehors de la partition étendue.On ne peut avoir plus d'une partition étendue sur %sImpossible d'avoir des partitions qui se chevauchent.La fin ne peut pas être avant le début ! (secteur début=%jd longueur=%jd)Impossible de déplacer une partition sur elle-même. Essayez peut-être un redimensionnement ?Impossible de déplacer une partition étendue.Ne peut écrire sur %s car il est ouvert en lecture seule.AnnulerImpossible d'obtenir la taille de l'unité spéciale 'COMPACT'.Changer le nom d'une partition racine (root) ou d'échange (swap) empêchera Linux de les reconnaître en tant que telles.La somme de contrôle est erronée, cela indique que la table de partition est corrompue.Nettoie l'espace inutilisé d'une partition FAT (outil de test GNU Parted). Delta de départ du cluster = %d , lequel n'est pas un multiple de la taille d'un cluster %d.Compaq Smart ArrayTailles conflictuelles des entrées de la table de partition ! L'entrée 1 indique %d alors que l'entrée %d indique %d !Copyright (C) 1998 - 2006 Free Software Foundation, Inc. Ce programme est un logiciel libre, sous la Licence Publique Générale GNU (GNU General Public License). Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE ; sans même une garantie implicite de COMMERCIABILITÉ ou DE CONFORMITÉ À UNE UTILISATION PARTICULIÈRE. Voir la Licence Publique Générale GNU pour plus de détails. Étiquette de disque Sun corrompue.Impossible d'indexer le système de fichiers en mémoire.Ne peut détecter le système de fichiers.Impossible de déterminer la taille des secteurs physiques de %s. Utilisation de la taille des secteurs logiques (%lld).Impossible de déterminer la taille des secteurs de %s : %s. Utilisation de la taille des secteurs par défaut (%lld).Impossible de trouver le secteur %lli du fichier HFS ayant le CNID %X.Impossible de trouver le secteur %lli du fichier HFS+ ayant le CNID %X.Impossible d'obtenir l'identité du périphérique %s - %sImpossible de lire la table de volume VTOC FMT1 DSCB.Impossible de lire la table de volume VTOC FMT4 DSCB.Impossible de lire la table de volume VTOC FMT5 DSCB.Impossible de lire la table de volume VTOC FMT7 DSCB.Impossible de lire les étiquettes de la table de volume (VTOC).Impossible de lire l'étiquette du volume.Impossible de détecter la version de l'API.Impossible de trouver la taille de bloc.Impossible d'analyser la géométrie du disque.Impossible de trouver les informations sur le disque.Ne peut évaluer le statut du périphérique %s - %s.Impossible de mettre à jour le cache des fragments du fichier HFS ayant le CNID %X.Impossible de mettre à jour le cache des fragments du fichier HFS+ ayant le CNID %X.Impossible d'écrire la table de volume VTOC FMT1 DSCB.Impossible d'écrire la table de volume VTOC FMT4 DSCB.Impossible d'écrire la table de volume VTOC FMT5 DSCB.Impossible d'écrire la table de volume VTOC FMT7 DSCB.Impossible d'écrire les étiquettes de la table de volume (VTOC).Impossible d'écrire l'étiquette du volume.Impossible de créer le gestionnaire virtuel Reiser sur ce périphérique.Impossible de vider le tampon de mémoire cache !Impossible de réouvrir le gestionnaire virtuel de lecture/écriture pour ce périphérique.Impossible de résoudre le symbole %s. Erreur: %s.Blocs liés de façon croisée repérés ! Il serait préférable d'exécuter e2fsck d'abord !Contrôleur RAID DAC960PERIPHERIQUE est habituellement du genre /dev/hda ou /dev/sda Le déplacement des données a échoué.Le déplacement des données a laissé certaines données à la fin du volume.Le déplacement des données a laissé certaines données à la fin du volume.Numéro de la partition de destination ?Le périphérique %s a de multiples (%d) secteurs logiques par secteur physique. GNU Parted supporte cela de manière EXPERIMENTALE pour certaines étiquettes de disque / combinaisons spéciales de systèmes de fichiers, i.e. GPT et ext2/3. Merci de consulter le site web pour des informations à jour.Périphérique trop petit pour %lu blocs.Echec de vérification du périphériqueLe support direct pour la copie de système de fichiers n'est pas encore implanté pour %s. Cependant le support pour le redimensionnement l'est. Par conséquent, le système de fichiers peut être copié si la nouvelle partition est au moins aussi grande que l'ancienne. Donc, vous pouvez soit réduire la partition que vous tenter de copier, soit la copier vers une partition plus grande.Disque %s : %s Image DisqueDisque en cours d'utilisationFinFin ?ErreurErreur lors de l'allocation d'un tampon de cache.Erreur de synchronisation/fermeture %s: %sErreur lors de la transmission au kernel des modifications de la partition %s - %s. Cela signifie que Linux ne reconnaîtra aucun des changements faits sur %s avant de redémarrer - vous ne devriez donc pas le monter ou l'utiliser avant de redémarrer.Erreur d'initialisation du périphérique SCSI %s - %sErreur pendant l'ouverture de %s: %sErreur lors de l'écriture du fichier d'allocation.Erreur durant l'écriture de la zone de compatibilité du fichier d'allocation.Erreur d'écriture du répertoire racine (root).Type d'étiquette de disque attendu.Type de système de fichiers attendu.Numéro de partition attendu.Type de partition attendu.Les partitions étendues ne peuvent être cachées sur les disques étiquetés MS-DOS.La table FAT %d du média %x ne concorde pas avec le secteur d'amorce du média %x. Vous devriez probablement exécuter scandisk.Le secteur d'amorce FAT indique des clusters ayant 0 secteur. Ceci est curieux.Le secteur d'amorce FAT indique une taille de secteur logique de 0. Ceci est bizarre.Le secteur d'amorce FAT indique qu'il n'y a pas de tables FAT. Ceci est bizarre.FANION est une des valeurs : FS-TYPE est parmi : N'a pas pu écrire le bloc descripteur de partition sur %d.FatalErreur fataleSystème de fichiers : %s Système de fichiersLe système de fichiers ne correspond pas à des tailles compatibles avec Windows. La taille du cluster est %dk (%dk attendu). Le nombre de clusters est %d (%d attendu). La taille des FAT est de %d secteurs (%d attendu).Le système de fichiers est plein !Une fonction incompatible est activée sur le système de fichiers. Les fonctions compatibles sont has_journal, dir_index, filetype, sparse_super et large_file. Utiliser tune2fs ou debugfs pour retirer les autres.Le système de fichiers a une taille de cluster invalide pour un système de fichiers FAT.Le système de fichiers a un nombre incorrect de tables FAT.Le système de fichiers a un nombre invalide de secteurs réservés pour un système de fichiers FAT.Le système de fichiers a une taille de secteur invalide pour un système de fichiers FAT.Le système de fichiers a une signature invalide pour un système de fichiers FAT.Le système de fichiers contient des erreurs ! Vous devriez exécuter e2fsck.Le système de fichiers a trop d'inodes alloués pour pouvoir enlever un groupe !Le système de fichiers est FAT12, lequel n'est pas supporté.Le système de fichiers annonce un espace libre de %d clusters et non pas %d clusters.Le système de fichiers est trop plein pour pouvoir enlever un groupe !Système de fichiers trop petit pour ext2.Type de système de fichiers ?Le système de fichiers n'a pas été démonté proprement ! Vous devriez exécuter e2fsck.Le système de fichiers n'a pas été démonté proprement ! Vous devriez exécuter e2fsck. Modifier un système de fichiers non sain pourrait provoquer de sérieux problèmes de corruption.RéparerFanion à inverser ?FanionsFanions : %s Inode repéré avec un nombre incorrect de liens. Il serait préférable d'exécuter e2fsck avant tout !Espace libreGNU Parted ne peut redimensionner cette partition à cette taille. Nous y travaillons !GNU Parted a trouvé une librairie "libreiserfs" invalide.GNU Parted a détecté un problème de version de l'interface de la librairie "libreiserfs". Trouvé %d-%d, %d requis. Le support du système de fichiers Reiser est désactivé.GNU Parted a été mal compilé : le secteur d'amorce FAT devrait être de 512 octets. Le support du système de fichiers FAT sera désactivé.Aide générale des logiciels GNU : IDE génériqueCarte de stockage SD/MMC génériqueContrôleur I2ODisque IBM S390 DASDIBM iSeries Virtual DASDSi vous convertissez le système de fichiers en FAT16 et que MS WIndows est installé sur cette partition alors vous devrez réinstaller le gestionnaire de démarrage de MS Windows. Si vous désirez faire cela, vous devriez consulter le manuel de Parted (ou le manuel de votre distribution).Si vous convertissez en FAT32 et que MS Windows est installé sur cette partition, alors vous devrez réinstaller le gestionnaire de démarrage de MS Windows. Si vous désirez faire cela, vous devriez consulter le manuel de Parted (ou le manuel de votre distribution). Notez que la conversion en FAT32 rendra le système de fichiers illisible par MS DOS, MS Windows 95a et MS Windows NT.Si vous conservez votre système de fichiers en FAT16, vous n'aurez pas de problème.Si vous conservez votre système de fichiers en FAT32 alors vous n'introduirez pas de nouveaux problèmes.IgnorerDescripteurs de groupe incohérents !Valeurs magiques incorrectes dans l'entête du journal.Informe le système d'exploitation des changements survenus dans la table de partitions. -d, --dry-run ne pas informer le système d'exploitation pour le moment -s, --summary affiche un résumé -h, --help affiche l'aide et quitte -v, --version affiche les informations de version et quitte InformationTable de volume (VTOC) incorrecte.Référence invalideNom de classe de caractères invalideSuite de caractères invalideContenu invalide de \{\}Nombre de blocs libres incorrect. Exécutez d'abord reiserfsck --check.Nombre invalide.Table de partition invalide - partition récursive sur %s.Table de partition invalide sur %s - signature erronée %x.Table de partition invalide sur %s.L'expression régulière précédente est incorrecteNombre ou intervalle invalide.Expression régulière incorrecteSignature invalide %x pour une étiquette de disque Mac.Taille de bloc de transaction invalide durant le rejeu (reprise) du journal (%i octets).Super bloc invalide. Êtes-vous certain qu'il s'agisse d'un système de fichiers ext2 ?Il semble qu'il y ait une erreur dans le gestionnaire HFS : le fichier des blocs défectueux contient le volume HFS+ .Le déplacement ou la taille du journal n'est pas un multiple de la taille d'un secteur.Erreur de correspondance de la taille du journal entre le bloc d'information du journal et l'entête du journal.Le placement du journal à l'extérieur du volume n'est pas supporté. Essayez de désactiver la journalisation et de relancer Parted.LABEL-TYPE est une des valeurs : Mappeur de périphériques Linux (%s)Taille maximum : Echec d'une allocation de mémoireMémoire épuiséeTaille minimum : Mineure : %d Modèle: %s (%s) NOM est un mot de votre choix NOMBRE est le numéro de partition utilisé par Linux. Avec une étiquette de disque MS-DOS, les partitions primaires sont numérotées de 1 à 4 et les partitions logiques à partir de 5. NomNouveau périphérique ?Nouveau type d'étiquette de disque ?Nouvel état ?NonPas d'implémentationAucun périphérique trouvéNon trouvéExpression régulière manquantePas de place pour les informations de partition.Pas de place pour l'étiquette de volume.Aucune signature HFS[+X] valide n'a été trouvée lors de l'ouverture.Aucune table de partitions valide n'a été trouvée.Il semble que l'espace disponible sur %s ne soit pas totalement utilisé, voulez-vous ajuster la table GPT pour utiliser tout l'espace (%llu blocs en plus) ou continuer ainsi ?Pas assez d'inodes libres !NuméroOKOPTIONS :Seules les partitions logiques peuvent être amorçables.Seules les partitions primaires peuvent être des partitions racines.Seules les partitions primaires peuvent être des partitions d'échange.Mémoire insuffisante.PART-TYPE est une des valeurs : primary, logical, extended Empaqueté par %s Empaqueté par %s (%s) Parted ne peut redimensionner les partitions gérées par Windows Dynamic Disk.Parted ne peut utiliser des systèmes de fichiers HFS sur les disques dont la taille des secteurs n'est pas égale à %d octets.La partition %d a une longueur invalide de 0 octet !La partition %d a une signature invalide %x.La partition %d est %s mais le système de fichiers est %s.La partition %d n'est pas alignée sur une frontière de cylindre. Ce cas de figure n'est pas supporté.La partition %s est en cours d'utilisation. Vous devez la démonter avant de la modifier avec Parted.Table de partitions : %s La partition n'existe pas.La table de partitions n'a pas d'entrée de table de partition !Nom de la partition ?Numéro de partition ?La partition est trop grande ou trop petite pour un système de fichiers %s.Type de partition ?Au moins une partition de %s est en cours d'utilisation.Fin prématurée de l'expression régulièrePériphérique Promise SX8 SATAExpression régulière trop longueL'arbre du système de fichiers Reiser semble corrompu. Exécutez d'abord reiserfsck --check.Envoi des rapports de bugs %s à <%s> Le redimensionnement du volume HFS+ a échoué.RéessayerDEBUT et FIN sont des emplacements sur un disque, comme 4GB ou 10%. Les valeurs négatives se comptent à partir de la fin du disque. Par exemple, =-1s spécifie précisément le dernier secteur. ETAT est une des valeurs : on, off Taille des secteurs (logiques/physiques): %lldB/%lldB TailleTaille: Certains champs de l'entête ne sont pas des multiples de la taille du secteur.Désolé, le système de fichiers HFS ne peut être redimensionné de cette manière pour le moment.Désolé, le système de fichiers HFS+ ne peut être redimensionné de cette manière pour le moment.Désolé, on ne peut pas déplacer le début d'une partition ext2 pour le moment !Désolé, impossible de déplacer le début d'une partition Reiser pour l'instant.Périphérique source ?Numéro de la partition source ?DébutDébut ?SuccèsL'étiquette de disque Sun est remplie.Le support pour la création de partitions AIX n'est pas encore implanté.Le support pour la vérification du système de fichiers %s n'est pas encore implanté.Le support pour la copie du système de fichiers %s n'est pas encore implanté.Le support pour la création du système de fichiers %s n'est pas encore implanté.Le support pour la copie de partitions AIX n'est pas encore implanté.L'ouverture du système de fichiers %s n'est pas encore supportée.Le support pour la lecture du système de fichiers AIX n'est pas encore implanté.Le support pour la modification de la taille du système de fichiers %s n'est pas encore implanté.Le support pour la modification des drapeaux du système de fichiers AIX n'est pas encore implanté.Le support pour la création du type de système de fichiers AIX n'est pas encore implanté.Le support pour l'écriture du système de fichiers AIX n'est pas encore implanté.Erreur de syntaxe dans le fichier de configurationLes tables FAT ne concordent pas. Si vous ne savez pas ce que cela signifie alors sélectionnez « annuler » (cancel) et exécutez scandisk sur le système de fichiers, puis réessayez.La partition représentant le disque entier est la seule encore disponible. Généralement, ce n'est pas une bonne idée d'écraser cette partition avec une vraie. Solaris ne pourra pas démarrer sans elle et SILO (le gestionnaire de démarrage sur Sparc) en a besoin.La sauvegarde de table GPT est corrompue mais l'originale semble valide et sera donc utilisée.La sauvegarde de la table GPT n'est pas à la fin du disque ainsi qu'elle le devrait. Cela peut vouloir dire qu'un autre sytème d'exploitation croit que le disque est plus petit. Faut-il corriger en déplaçant la copie à la fin du disque (et enlever la vieille sauvegarde) ?La zone d'amorce n'est pas au début de la partition.La version courante de l'API '%d' ne correspond pas avec celle du pilote DASD '%d' !La zone de données ne commence pas au début de la partition.Le périphérique %s a une taille nulle et ne peut donc pas stocker un système de fichiers ou une table de partition. Peut-être avez-vous sélectionné le mauvais périphérique ?La géométrie CHS du disque (%d,%d,%d) donnée par le système d'exploitation ne concorde pas avec la géométrie stockée sur l'étiquette de disque (%d,%d,%d).Le disque a %d cylindres, ce qui est plus grand que le maximum : 65536.L'étiquette de disque décrit un disque plus gros que %s.Le descripteur du pilote indique une taille physique de bloc de %d octets, mais Linux lui indique %d octets.Le type du disque %s va être effacé et toutes les données vont être perdues. Voulez-vous continuer ?Le système de fichier existant va être détruit et toutes les données de la partition vont être perdues. Voulez-vous continuer ?Le système de fichiers ext2 a passé la vérification de base. Pour une vérification plus approfondie, utilisez e2fsck.Le fichier de zones additionnelles ne devrait pas contenir sa propre zone ! Vous devriez vérifier le système de fichiers.Le fichier %s est marqué comme fichier système. Cela signifie que son déplacement pourrait amener certains programmes à cesser de fonctionner.Le système de fichiers peut seulement être redimensionné à cette taille en le convertissant en FAT16.Le système de fichiers peut seulement être redimensionné à cette taille en le convertissant en FAT32.Le système de fichiers contient des erreurs.Le système de fichiers a l'option 'dir_index' activée. Parted ne peut redimensionner ce système de fichiers que s'il désactive cette option. Vous pourrez l'activer ensuite avec la commande 'tune2fs -O dir_index PERIPHERIQUE' puis 'e2fsck -fD PERIPHERIQUE'.Le système de fichiers est plus gros que le volume physique !Le système de fichiers est dans un état incorrect. Peut-être est-il monté ?Le système de fichiers est d'un format ancien (non redimensionnable).La géométrie CHS du système de fichiers est (%d, %d, %d), ce qui est invalide. La géométrie CHS de la table des partitions est (%d, %d, %d). Si vous choisissez d'ignorer (Ignore), la géométrie CHS du système de fichiers restera inchangée. Si vous choisissez de réparer (Fix), la géométrie CHS du système de fichiers sera modifiée de manière à concorder avec la géométrie CHS de la table des partitions.Le format de la table de partitions GPT est de version %x, ce qui est plus récent que ce que Parted peut reconnaître. SVP prévenez-nous ! bug-parted@gnu.orgL'information de secteur contient une signature erronée (%x). Sélectionner « annuler » (cancel) pour le moment et transmettre un rapport d'anomalie. Si vous êtes désespéré, il est probablement prudent de sélectionner « ignorer ».Le journal n'est pas vide. Parted doit rejouer les transactions avant d'ouvrir le système de fichiers. Cela modifiera le système de fichiers.La localisation %s est en dehors du périphérique %s.Le nombre maximum de têtes est %d.Le nombre maximum de secteurs est %d.La partition doit avoir un des FS-TYPEs suivants : La table de partition ne peut être relue, vous avez donc besoin de redémarrer avant de monter toute partition modifiée. Vous devez aussi réinstaller le gestionnaire de démarrage avant de redémarrer (ce qui peut nécessiter de monter les partitions modifiées). Il est impossible de faire ces deux choses à la fois ! C'est pourquoi vous aurez besoin de démarrer à partir d'un disque de secours et de ré-installer le gestionnaire de démarrage à partir de ce disque. Consultez la section 4 de la documentation utilisateur de Parted pour plus de détails.La table de partition sur %s ne peut être relue (%s). Cela signifie que Hurd ne connaît rien des modifications effectuées. Vous devriez redémarrer l'ordinateur avant de faire quoi que ce soit avec %s.La zone d'amorce de la partition ne couvre pas entièrement la partition.La zone de données de la partition ne couvre pas entièrement la partition.La table primaire GPT est corrompue mais sa sauvegarde semble valide, elle sera donc utilisée.Le système de fichiers Reiser a passé la vérification de base. Pour une vérification plus approfondie, utilisez reiserfsck --check.L'alignement de la partition ainsi définie n'est pas optimal au niveau performance.La taille de secteur stockée dans le journal n'est pas 512 octets. Parted ne supporte que les secteurs dont la taille est 512 octets.Le périphérique spécifié n'est pas un périphérique DASD valideL'entête du volume ou le master directory block a changé pendant le rejeu du journal. Vous devriez relancer Parted.Il n'y a pas de configuration possible pour ce type FAT.Il n'y a pas assez d'espace dans le répertoire racine (root) pour tous les fichiers. Soit annuler (cancel), soit ignorer (ignore) avec perte de fichiers.Ce volume HFS n'a pas de fichier catalogue. C'est vraiment inhabituel !Ce volume HFS n'a pas de fichier de zones additionnelles. C'est plutôt inhabituel !Ce volume HFS+ n'a pas de fichier catalogue. C'est vraiment inhabituel !Ce volume HFS+ n'a pas de fichier de zones additionnelles. C'est plutôt inhabituel !Cette commande n'a pas de sens en mode non-interactif. Ce système de fichier a une taille de secteur logique de %d. GNU Parted ne traite pas correctement les tailles de secteurs différentes de 512 octets.Ceci n'est pas un test réel de %s . Il s'agit d'extraire des fichiers spéciaux de bas niveau pour débogage.Ce n'est pas un disque ECKD ! Ce type de disque n'est pas supporté !Cette librairie "libparted" n'a pas de support pour l'écriture sur %s. Peut-être a-t-elle été compilée pour la lecture seulement.Trop de pages erronées.Trop de partitions primairesTrop de partitions primaires.Problème d'antislashEssayez `%s --help' pour plus d'informations. Tentative de déplacement d'une zone du bloc 0x%X au bloc 0x%X, mais une autre existe déjà à cette position. Cela ne devrait pas arriver !Tentative de lecture d'un fichier HFS ayant un CNID %X après la fin du fichier.Tentative de lecture d'un fichier HFS+ ayant un CNID %X après la fin du fichier.Tentative d'enregistrement d'une zone débutant au bloc 0x%X, mais une autre existe déjà à cette position. Vous devriez vérifier le système de fichiers !Tentative d'écriture d'un fichier HFS ayant un CNID %X après la fin du fichier.Tentative d'écriture d'un fichier HFS+ ayant un CNID %X après la fin du fichier.TypeUNITE est parmi : Impossible d'allouer l'entrée d'une étiquette de disque BSD.Impossible d'allouer l'entrée d'une étiquette de disque DASD.Impossible d'allouer un numéro de partition.Impossible de déterminer la géométrie du fichier/périphérique %s. Vous ne devriez pas utiliser Parted sans VRAIMENT savoir ce que vous faites !Impossible de déterminer le type dm de %s.Impossible de déterminer la taille de %s (%s).Impossible d'ouvrir %s en lecture-écriture (%s). %s a été ouvert en lecture seule.Impossible d'ouvrir %s.Impossible de tester le stockage.Impossible de satisfaire toutes les contraintes sur la partition.Unité ?InconnuDrapeau de partition inconnu, %d.Type de système de fichiers inconnu "%s".Fanion de partition inconnu %d.Erreur système inconnueNon trouvé : ( ou \(Non trouvé : ) ou \)Non trouvé : [ ou [^Non trouvé : \{Signature de partition d'échange Linux (swap) de type nouveau non reconnue '%10s'.Signature de partition d'échange Linux (swap) de type ancien non reconnue '%10s'.Signature de partition d'échange Linux (swap) de type swsusp non reconnue '%9s'.Format de disque non supportéType de disque non supportéLa mise à jour du conteneur HFS a échoué.Usage : %s [-hlmsv] [-a ] [PERIPHERIQUE [COMMANDE [PARAMETRES]]...] Usage: %s [OPTION] ou: %s PERIPHERIQUE MINEUR Usage: %s [OPTION] [PERIPHERIQUE]... Usage : parted [OPTION]... [PÉRIPHÉRIQUE [COMMANDES[PARAMÈTRES]...]...] Appliquer les COMMANDES avec les PARAMÈTRES au PÉRIPHÉRIQUE. Si aucune COMMANDE n'est fournie l'exécution se fait en mode intéractif. User-Mode Linux UBDUtilisation de %s Arguments valides : La version %d du système de fichiers HFS+ n'est pas supportée.La version %d du système de fichiers HFSX n'est pas supportée.Périphérique par blocs VirtioEtiquette de volume corrompueATTENTION : vous n'êtes pas superutilisateur. Contrôlez les permissions.ATTENTION : vous tentez d'utiliser %s pour agir sur un système de fichiers (%s). Le code de manipulation du syst. de fichiers %s n'est pas aussi abouti que celui des paquets dédiés tels e2fsprogs. Nous conseillons d'utiliser %s seulement pour manipuler les tables de partitions, si possible. Le support de la plupart des opérations/systèmes de fichiers sera abandonné dans une version ultérieure. AvertissementTaille bizarre de bloc sur le descripteur de périphérique : %d octets n'est pas divisible par 512.Bizarre - Il y a 2 entrées de table de partitions !Bievenue sur GNU Parted ! Tapez 'help' pour voir la liste des commandes. Sans argument, 'print' affiche toute la table de partitions. Toutefois avec les arguments suivants, elle permet bien d'autres actions. Voulez-vous utiliser FAT32 ?Ecrit par %s et %s. Ecrit par %s, %s, %s, %s, %s, %s, %s, %s, %s, et autres auteurs. Ecrit par %s, %s, %s, %s, %s, %s, %s, %s, et %s. Ecrit par %s, %s, %s, %s, %s, %s, %s, et %s. Ecrit par %s, %s, %s, %s, %s, %s, et %s. Ecrit par %s, %s, %s, %s, %s, et %s. Ecrit par %s, %s, %s, %s, et %s. Ecrit par %s, %s, %s, et %s. Ecrit par %s, %s, et %s. Ecrit par %s. Périphérique par blocs virtuel XenOuiNe pas oublier de mettre à jour /etc/fstab si nécessaire. Vous avez besoin de %s d'espace libre pour réduire cette partition à cette taille. Pour l'instant il n'y a que de %s de libre.Vous voulez établir une partition de %s à %s. La position la plus proche gérable est %s à %s. %sVous devriez réinstaller le gestionnaire de démarrage avant de redémarrer. Consultez la section 4 de la documentation utilisateur de Parted pour plus d'informations.Le système de fichiers n'a pas assez d'inodes libres pour pouvoir le redimensionner en %i blocs. Désolé.Votre système de fichiers est trop plein pour pouvoir le redimensionner en %i blocs. Désolé.^[nN]^[oO]«ajout de groupesalign-checkalign-check TYPE N contrôle l'alignement de type TYPE (min|opt) de la partition Nalignement des nouvelles partitionstype d'alignement (min/opt)argument ambigu %s pour %satvrecvbios_grubdémarragecontrôlercheck NOMBRE faire une vérification simple du système de fichierscontrôle en coursrecherche de blocs défectueuxcopie en courscpcp [PERIPHERIQUE] NOMBRE_SOURCE NOMBRE_DESTINATION copier le système de fichiers SOURCE vers une autre partition DESTINATIONcréation en coursalignement_cylindrealignement souhaité : minimum ou optimalsortie dans un style lisible par une machineaffiche la versionaffiche ce message d'aidefin de fichier atteinte en lisant %sagrandissement en coursétendueimpossible de fixer le nom de la partition dvh en %s : Seules les partitions logiques (d'amorçage) ont un nom.fat_table_alloc_cluster: pas de cluster disponiblefat_table_get: cluster %ld en dehors du système de fichiersfat_table_set: cluster %ld en dehors du système de fichierslibreaugmentation de taille du système de fichiersaidehelp [COMMANDE] affiche l'aide générale ou l'aide concernant la COMMANDEcachéhp-serviceargument non valide `%s' pour %s%sargument non valide %s pour %sn° mineur de périphérique non valide : %ssuffixe non valide dans %s%s argument `%s'élément incorrect: %serreur ioctl()lbaliste la structure des partitions sur tous les périphériques par blocslogiquelvm (gestionnaire de volumes logiques)mémoire épuiséeméta-donnéesminimalmkfsmkfs NOMBRE TYPE-FS créer un système de fichiers de type TYPE-FS sur la partition NOMBREmklabelmklabel,mktable LABEL-TYPE crée une nouvelle étiquette de disque (table de partition)mkpartmkpart PART-TYPE [FS-TYPE] DEBUT FIN créer une partitionmkpartfsmkpartfs PART-TYPE FS-TYPE DEBUT FIN créer une partition avec un système de fichiersmktabledéplacermove NOMBRE DEBUT FIN déplacer la partition numéro NOMBREmsftresnommername NOMBRE NOM donner le nom NOM la partition numéro NOMBREne demande jamais l'intervention de l'utilisateuroffonerreur d'ouvertureéchec de l'ouverture du périphériqueoptimalpaloParted a été incapable de relire la table de partition sur %s (%s). Cela signifie que Linux ne reconnaîtra aucune des modifications effectuées avant de redémarrer. Vous devriez redémarrer votre ordinateur.la longueur de la partition, %jd secteurs, excède le max. imposé par la table de partitions %s : %jdped_device_new() Type de périphérique non supportéprepprimaireerreur CRC sur la table primaire de partitionsafficherprint [devices|free|list,all|NOMBRE] affiche la table des partitions, les périphériques disponibles, l'espace libre, toutes les partitions ou une partition précisequitterquit quitter le programmeraidcopie brute de blocserreur de lectureéchec de lecture sur le périphériquerescuerescue DEBUT FIN restaurer une partition perdue entre DEBUT et FINredimentionnerresize NOMBRE DEBUT FIN modifier la taille de la partition (et du système de fichiers) numéro NOMBRErmrm NOMBRE détruire la partition numéro NOMBREracinerecherche des systèmes de fichierserreur de positionnementerreur de positionnement sur le périphériquesélectionnerselect PÉRIPHÉRIQUE sélectionner le périphérique à éditerpositionnerset NOMBRE FANION ETAT positionner le FANION à l'état ETAT sur la partition numéro NOMBREréduction en coursréajustement du conteneur HFSréduction du volume HFS+le n° du secteur de départ %jd excède le max. imposé par la table de partitions %s : %jdpartition d'échange (swap)inversertoggle [NOMBRE [FANION]] inverser l'état du fanion sur la partition numéro NOMBREpas assez d'argumentsarguments trop nombreuxunitunit UNITE affecte l'unité par défaut à UNITEversionversion affiche la version courante de GNU Parted ainsi que l'information sur le copyrighterreur d'écritureécriture du Master Directory Block HFSécriture de l'entête de volume HFS+écriture des métadonnées de groupeséchec d'écriture sur le périphériqueparted-2.3/po/stamp-po0000644000000000000000000000001211400005706011607 00000000000000timestamp parted-2.3/po/pl.gmo0000644000000000000000000023444311400005705011263 00000000000000Þ•\ü)Ü%€2;2½50Ð506226*e6-6$¾6*ã627%A7,g7&”7)»7&å7, 8#98$]8!‚8&¤8(Ë8<ô8319!e9ʇ9R:i:0~:,¯:5Ü:P;/c;]“;Gñ;&9<`<}< „<+<+»<ç<#=#*=N=0l=0=Î=0í=(>(G>p> >'±>%Ù>)ÿ>)?'I?`q?2Ò@<ABAWAuA”A7ªAâA0öA('B%PBvB“B°B,ÌBùB,C-DC rC(“C¼CØCøCDŽD^©DEW E*dEF]¬FÕ GàGõG+HB4HFwH!¾H0àH<IDNI!“IPµI]JHdJ­JÍJ$ëJDKUK"kK-ŽK‡¼KDL HLLRL>ŸLÞL!ûL)M!GMGiM(±M<ÚM@N2XN"‹NB®N?ñN!1O2SO†O0O]¾O=PDZPIŸPéPZüPoWQ"ÇR*êRSV3SQŠS4ÜS5T(GTpTT®TÍTìTU%U)EU-oU$UÂU<áU=V\V|VœV¼VÜVùV4WLW8iW'¢W7ÊWX'XAX8]X8–XÏXëíX#ÙYýY/Z H[ U[`[o[s[x[~[[&»[â[(÷[B \$c\ˆ\¥\Ã\á\:ý\\8]=•]?Ó]>^R^c^&w^ž^ ¤^°^ Á^¶Í^„_´–_>K`*Š`Lµ`=a;@a/|a<¬a+éaHb*^b‰b©b>»búbzc~cŽc ”cHŸc ècKóc0?d}pdcîd?Re ’ežeºeÉeÝeÛöeIÒfGhUdhºhÁh-áhi j +j9jPjmj‰j9¡jÛj4ëj4 kUk$tk™k«k)ÆkKðk>*y<iyD¦yXëy>Dzƒz‚Ÿzí"{R|Öc|<:}Hw}<À}ý}‚~F/I^ypØoI€c¹€`h~HçH0‚ y‚Ùš‚*tƒ?Ÿƒ0߃0„ˆA…šÊ…e†,熇2‡7R‡¨Ї¶3‰@ê‰@+ŠRlŠg¿ŠE'‹gm‹/Õ‹tŒ7zŒp²Œ;#E_<¥Fâ:)ŽƒdŽfèŽ;OU‹áõ.&Ah0ê1‘ˆM‘1Ö‘2’;’@’(Q’(z’&£’tÊ’&?“(f“A“Ñ“ä“3û“/”5”=”T”s””¤”¶”È” Ú”3ç”3•/O••—•$­•BÒ•*–@– `–— ——#4—#X—|——;ª—Šæ—q™Hy™+™?.š·šÔš;ëš3'›/[›+‹›'·›#ß›œ#œ?œOœhœ#lœbœZóœ~NPÍ?ž^ždžjž lž zžW†žÞžûžŸ0Ÿ 8ŸBŸGŸMMŸ›Ÿ¤Ÿ¼ŸÄŸNÇŸ  %2 !X z  ª  Ç Ñ YÚ )4¡.^¡.¡¼¡Á¡Õ¡OÚ¡*¢ 1¢<¢W¢r¢$’¢·¢ É¢×¢+Û¢£££$£-£5£W:£’£Qš£ì£9ó£-¤L6¤ƒ¤‹¤>¤ϤפFܤ##¥G¥K¥ N¥Y¥r¥z¥…¥U¦)[¦…¦Ц*’¦½¦”æX§5]§“§˜§ ª§µ§ЧS×§+¨T2¨‡¨@Ѝ˨Ш ë¨ö¨©B©Y©L]© ª©´©Ê©Qé©;ª@ªUGªª¯ªªEǪ «k« «"«°«Ë«æ«áÿ«xá­Z±%n±%”±'º±Iâ±I,²@v²D·²Gü²AD³@†³7dz)ÿ³$)´1N´/€´(°´(Ù´2µ+5µIaµ7«µãµÝþµƒÜ¶ƒ`·@ä·7%¸@]¸Nž¸=í¸j+¹Q–¹0è¹ º:º Aº5Lº5‚º'¸º2àº0»$D»:i»:¤»*ß»< ¼6G¼3~¼4²¼4ç¼6½0S½0„½µ½4Õ½g ¾7r¿Fª¿ñ¿&À%/ÀUÀKjÀ ¶À>×À'Á)>Á"hÁ‹Á¨Á*ÂÁ$íÁ*Â+=Â'iÂ%‘ ·ÂØÂóÂ÷ÃWÈà ÄX$Ä(}ĦÅ]ÅÅâ#ÆÇÇ*/ÇGZÇP¢ÇóÇ9È5MÈIƒÈ(ÍÈmöÈzdÉ`ßÉ2@Ê(sÊ7œÊTÔÊ%)Ë%OË-uË£Ë1Ì 6ÌUAÌB—Ì"ÚÌ*ýÌ0(Í#YÍ>}Í%¼Í?âÍ="Î;`Î*œÎEÇÎO Ï*]ÏAˆÏ ÊÏGÔÏLÐMiÐU·ÐR Ñ`ÑqsшåÑ&nÓ.•Ó ÄÓdåÓ]JÔ0¨Ô1ÙÔ/ Õ&;Õ&bÕ&‰Õ&°Õ$×Õ)üÕ"&Ö4IÖ4~Ö*³Ö'ÞÖ>×?E×%…×%«×%Ñ×%÷×#Ø(AØ>jØ-©ØLר-$ÙLRÙŸÙ.µÙ"äÙ4Ú6<ÚsÚþÚ(ŒÛ'µÛzÝÛ XÝ eÝq݄݋ݓÝ9˜Ý,ÒÝ2ÿÝ2Þ%QÞ:wÞ0²Þ"ãÞ"ß)ßHßCeß~©ßC(àJlàB·à.úà6)á+`á Œá™á¨á »áÔÉážâ·³âKkã1·ãZéãKDäBä5ÓäJ å5TåNŠå0Ùå& æ1æGEæŽæç#ç;ç AçaLç ®çR¼ç1èƒAè‡ÅèNMé œé§é ¼éÊéÝéýé´ë[Ñìh-í–íŸí3»í4ïí $ï/ïHïaïzïïK¦ïòï;ð<Cð%€ð(¦ðÏðåð/ñR0ñBƒñlÆñJ3òW~òjÖò5Aówó”ó"©óÌóÞó òóýó( ôÃ6ôúôõõ *õ5õ9õLõfõ'uõ&õ"Äõ@çõ)(ö«Röþö÷ ÷#÷<*÷)g÷2‘÷ Ä÷SÒ÷&ø7øRMø^ ø3ÿø,3ù0`ùP‘ùMâù0úFú.]úŒúœú3¬ú àú%îú)û>ûZûTxû+Íû/ùû)ü 1ü6Òü1 ý;ýCý?RýD’ýE×ýEþ@cþ¤þ¹þÓþ ÜþæþíþY ÿQfÿP¸ÿO ]YP·KVTY«mJs$¾uãÞY`8™7¡JÙ6$¢[‡þJ†+ÑhýqfiØzB e½ ƒ# K§ Pó D  a ,m Bš JÝ =( Šf£ñv•$ %1%W>}8¼Ñõ6Ç2þj1‹œI(lr5ßu0‹p¼J-OxKÈO5dšu(:žsÙ MnЧ9¹ó,s- …Î(T)}§2«4Þ6&Jˆqú#s=±$È6í $/8!Rt‘©¿ÕëDûE@ >† Å á *ú O%!3u!%©!ÈÏ!˜" °"»""Ô""÷"#4#<Q#}Ž# %W%'p%J˜%vã%Z&q&4„&.¹&*è&&'":']'|'—' ®'!º'Ü'0à'n(^€(³ß(o“)[*_*e*m*o*~*X‘*ê* +$$+I+ Q+ [+e+Hm+ ¶+'Â+ ê+õ+^ü+ [,e,,y,/¦,Ö,í,!- &- 3-e?-.¥-/Ô-/.4.:.V.L\.©. °.&º."á.+/+0/\/ t//>…/Ä/Í/Ñ/ã/ ì/ö/Mû/I0KQ00E¤0ê0Wó0K1S15[1‘1™19Ÿ1)Ù1 2 22&&2 M2W2—\2Sô27H3€3…3-Œ3º3Á3R43Y44’4 ±4#¾4â4Qé4;5MC5‘52–5É5Î5 å51ï5!6:)6d6=j6 ¨6µ6&Î6Rõ6H7P7EY7Ÿ7²7 Å78Ï78b8 r8D~8"Ã8æ8#ÿ8†úÀ‹-¬/"“I/{Ðp#KGYVÅw/$?ýáSûŒ%4°ðµ`:½­²ô"Õƒ]b·eë2öø[¸óÜ(7QõF@éf ‡g)ßýÆi¹&ÊeÚù1½B  ×*JkTÙä© á³œÑ^ÛIÍ »›7êÄÌ?u€ZŸºÅhöÆLɾËÿ&E±¡OT·_ÇùÇ2¸¯}s¼ræL9Ô|˜ñ ’6t jľЯq Ô)£M KbþÝJòQìÛÎÂ6…‘yCÏ(7®ïÑݪ äçy:vß ¤hðú 4r5?g—TuC[…RG÷—ø.«wÒBVþÕ ÎRæ>ž¢1¥©<û±>Ïííî;x]WŸ@'å!ƒ¦Áˆ\‡U’ºžI~no¡A.<Œlq*Š–n®lLåÓD}‹ëP§"ì «Ö¥ ¬dFÀWÓ‰|,Rm%dZÊÞ‚1”³ò“¹=f0ñ†8+ôÌÃ%¶P*´NØMv<œ£à$‘o^™õXx‚= ” jÞ-`èŠÒUÙè¢!{3ó´WHJ[ç¨a!ï5§3˜A¿Ép°3NGã_„=Fªs¿2¶\i²t>éÖ.»Z­Ž+XKS$ÜÈ8 –üŽ•ü›\+D×ãc9a#4šà~BË ˆâ0Aÿê,‰X;„5#@m9QDP÷Ák&,Eš0ÚîÍY¦z™¼¨;•SzØ:VÃ8'OOÈNU-â H¤(µEH6'c€)YMC You found a bug in GNU Parted! Here's what you have to do: Don't panic! The bug has most likely not affected any of your data. Help us to fix this bug by doing the following: Check whether the bug has already been fixed by checking the last version of GNU Parted that you can find at: http://ftp.gnu.org/gnu/parted/ Please check this version prior to bug reporting. If this has not been fixed yet or if you don't know how to check, please visit the GNU Parted website: http://www.gnu.org/software/parted for further information. Your report should contain the version of this release (%s) along with the error message below, the output of parted DEVICE unit co print unit s print and the following history of commands you entered. Also include any additional information about your setup you consider important. Command History: Error: A general SIGFPE signal was encountered. Error: A general SIGILL signal was encountered. Error: A general SIGSEGV signal was encountered. Error: FPE_FLTDIV (Float: divide by zero) Error: FPE_FLTINV (Float: invalid operation) Error: FPE_FLTOVF (Float: overflow) Error: FPE_FLTRES (Float: inexact result) Error: FPE_FLTSUB (Float: subscript out of range) Error: FPE_FLTUND (Float: underflow) Error: FPE_INTDIV (Integer: divide by zero) Error: FPE_INTOVF (Integer: overflow) Error: ILL_BADSTK (Internal Stack Error) Error: ILL_COPROC (Coprocessor Error) Error: ILL_ILLADR (Illegal addressing mode) Error: ILL_ILLOPC (Illegal Opcode) Error: ILL_ILLOPN (Illegal Operand) Error: ILL_ILLTRP (Illegal Trap) Error: ILL_PRVOPC (Privileged Opcode) Error: ILL_PRVREG (Privileged Register) Error: SEGV_ACCERR (Invalid permissions for mapped object) Error: SEGV_MAPERR (Address not mapped to object) Is this still acceptable to you? License GPLv3+: GNU GPL version 3 or later . This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Report bugs to <%s>. Report bugs to: %s When no DEVICE is given, probe all partitions. --help display this help and exit --version output version information and exit NUMBER : display more detailed information about this particular partition devices : display all active block devices free : display information about free unpartitioned space on the current block device list, all : display the partition tables of all active block devices "%s" has invalid syntax for locations.%0.f%% (time left %.2d:%.2d)%s %s%s %s %s%s : Bad checksum on block %llu of type %s %s : Bad checksum on block %llu of type %s.%s : Couldn't read block %llu %s : Couldn't read boot block %llu %s : Couldn't read root block %llu %s : Couldn't write block %d %s : Didn't find rdb block, should never happen %s : Didn't find rdb block, should never happen.%s : Failed to allocate block %s : Failed to allocate disk_specific rdb block %s : Failed to allocate id list element %s : Failed to allocate partition block %s : Failed to list bad blocks.%s : Failed to list boot blocks.%s : Failed to list file system blocks.%s : Failed to list partition blocks.%s : Failed to read partition block %llu %s : Loop detected at block %d.%s : The %s list seems bad at block %s.%s contains GPT signatures, indicating that it has a GPT table. However, it does not have a valid fake msdos partition table, as it should. Perhaps it was corrupted -- possibly by a program that doesn't understand GPT partition tables. Or perhaps you deleted the GPT table, and are now using an msdos partition table. Is this a GPT partition table?%s disk labels do not support extended partitions.%s disk labels don't support logical or extended partitions.%s during read on %s%s during seek for read on %s%s during seek for write on %s%s during write on %s%s has no extended partition (volume header partition).%s home page: <%s> %s home page: %s is %dk, but it has %d clusters (%dk).%s is too small for a Mac disk label!%s trying to sync %s to disk%s%s argument `%s' too large%s: invalid option -- '%c' %s: option '%c%s' doesn't allow an argument %s: option '%s' is ambiguous %s: option '--%s' doesn't allow an argument %s: option '-W %s' doesn't allow an argument %s: option '-W %s' is ambiguous %s: option requires an argument -- '%c' %s: unrecognised disk label%s: unrecognized option '%c%s' %s: unrecognized option '--%s' ''mkpart' makes a partition without creating a new file system on the partition. FS-TYPE may be specified to set an appropriate partition ID. 'version' displays copyright and version information corresponding to this copy of GNU Parted (C)A %s %s partition was found at %s -> %s. Do you want to add it to the partition table?A bug has been detected in GNU Parted. Refer to the web site of parted http://www.gnu.org/software/parted/parted.html for more information of what could be useful for bug submitting! Please email a bug report to bug-parted@gnu.org containing at least the version (%s) and the following message: A data set name is corruptedA reference to an extent comes from a place it should not. You should check the file system!A resize operation on this file system will use EXPERIMENTAL code that MAY CORRUPT it (although no one has reported any such damage yet). You should at least backup your data first, and run 'e2fsck -f' afterwards.API version mismatchATARAID ControllerAn error occurred during extent relocation.An error occurred while looking for the mandatory bad blocks file.An extended partition cannot hold a file system. Did you want mkpart?An extent has not been relocated.Assertion (%s) at %s:%d in function %s() failed.Attempt to write sectors %ld-%ld outside of partition on %s.BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s. Backtrace has %d calls on stack: Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or scandisk.Bad FAT: cluster %d outside file system in chain for %s. You should run dosfsck or scandisk.Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk.Bad block list header checksum.Bad blocks could not be read.Bad blocks list could not be loaded.Bad directory entry for %s: first cluster is the end of file marker.Bad journal checksum.Block %i has no reference? Weird.Block %i shouldn't have been marked (%d, %d)!Both the primary and backup GPT tables are corrupt. Try making a fresh table, and using Parted's rescue feature to recover partitions.BugCOMMANDs:Can't add a logical partition to %s, because there is no extended partition.Can't add another partition -- the partition map is too small!Can't add another partition.Can't copy an extended partition.Can't copy onto an overlapping partition.Can't create any more partitions.Can't have a logical partition outside of the extended partition on %s.Can't have a partition outside the disk!Can't have a primary partition inside an extended partition.Can't have logical partitions outside of the extended partition.Can't have more than one extended partition on %s.Can't have overlapping partitions.Can't have the end before the start! (start sector=%jd length=%jd)Can't move a partition onto itself. Try using resize, perhaps?Can't move an extended partition.Can't write to %s, because it is opened read-only.CancelCannot get unit size for special unit 'COMPACT'.Changing the name of a root or swap partition will prevent Linux from recognising it as such.Checksum is wrong, indicating the partition table is corrupt.Clear unused space on a FAT partition (a GNU Parted testing tool). Cluster start delta = %d, which is not a multiple of the cluster size %d.Compaq Smart ArrayConflicting partition map entry sizes! Entry 1 says it is %d, but entry %d says it is %d!Copyright (C) 1998 - 2006 Free Software Foundation, Inc. This program is free software, covered by the GNU General Public License. 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. Corrupted Sun disk label detected.Could not cache the file system in memory.Could not detect file system.Could not determine physical sector size for %s. Using the logical sector size (%lld).Could not determine sector size for %s: %s. Using the default sector size (%lld).Could not find sector %lli of HFS file with CNID %X.Could not find sector %lli of HFS+ file with CNID %X.Could not get identity of device %s - %sCould not read VTOC FMT1 DSCB.Could not read VTOC FMT4 DSCB.Could not read VTOC FMT5 DSCB.Could not read VTOC FMT7 DSCB.Could not read VTOC labels.Could not read volume label.Could not retrieve API version.Could not retrieve blocksize information.Could not retrieve disk geometry information.Could not retrieve disk information.Could not stat device %s - %s.Could not update the extent cache for HFS file with CNID %X.Could not update the extent cache for HFS+ file with CNID %X.Could not write VTOC FMT1 DSCB.Could not write VTOC FMT4 DSCB.Could not write VTOC FMT5 DSCB.Could not write VTOC FMT7 DSCB.Could not write VTOC labels.Could not write volume label.Couldn't create reiserfs device abstraction handler.Couldn't flush buffer cache!Couldn't reopen device abstraction layer for read/write.Couldn't resolve symbol %s. Error: %s.Cross-linked blocks found! Better go run e2fsck first!DAC960 RAID controllerDEVICE is usually /dev/hda or /dev/sda Data relocation has failed.Data relocation left some data at the end of the volume.Data relocation left some data in the end of the volume.Destination partition number?Device %s has multiple (%d) logical sectors per physical sector. GNU Parted supports this EXPERIMENTALLY for some special disk label/file system combinations, e.g. GPT and ext2/3. Please consult the web site for up-to-date information.Device is too small for %lu blocks.Device verification failedDirect support for copying file systems is not yet implemented for %s. However, support for resizing is implemented. Therefore, the file system can be copied if the new partition is at least as big as the old one. So, either shrink the partition you are trying to copy, or copy to a bigger partition.Disk %s: %s Disk ImageDisk is in useEndEnd?ErrorError allocating buffer cache.Error fsyncing/closing %s: %sError initialising SCSI device %s - %sError opening %s: %sError while writing the allocation file.Error while writing the compatibility part of the allocation file.Error writing to the root directory.Expecting a disk label type.Expecting a file system type.Expecting a partition number.Expecting a partition type.Extended partitions cannot be hidden on msdos disk labels.FAT %d media %x doesn't match the boot sector's media %x. You should probably run scandisk.FAT boot sector says clusters are 0 sectors. This is weird. FAT boot sector says logical sector size is 0. This is weird. FAT boot sector says there are no FAT tables. This is weird. FLAG is one of: FS-TYPE is one of: Failed to write partition block at %d.FatalFatal errorFile System: %s File systemFile system doesn't have expected sizes for Windows to like it. Cluster size is %dk (%dk expected); number of clusters is %d (%d expected); size of FATs is %d sectors (%d expected).File system full!File system has an incompatible feature enabled. Compatible features are has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs or debugfs to remove features.File system has an invalid cluster size for a FAT file system.File system has an invalid number of FATs.File system has an invalid number of reserved sectors for a FAT file system.File system has an invalid sector size for a FAT file system.File system has an invalid signature for a FAT file system.File system has errors! You should run e2fsck.File system has too many allocated inodes to remove a group!File system is FAT12, which is unsupported.File system is reporting the free space as %d clusters, not %d clusters.File system is too full to remove a group!File system too small for ext2.File system type?File system was not cleanly unmounted! You should run e2fsck.File system was not cleanly unmounted! You should run e2fsck. Modifying an unclean file system could cause severe corruption.FixFlag to Invert?FlagsFlags: %s Found an inode with a incorrect link count. Better go run e2fsck first!Free SpaceGNU Parted cannot resize this partition to this size. We're working on it!GNU Parted found an invalid libreiserfs library.GNU Parted has detected libreiserfs interface version mismatch. Found %d-%d, required %d. ReiserFS support will be disabled.GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT support will be disabled.General help using GNU software: Generic IDEGeneric SD/MMC Storage CardI2O ControllerIBM S390 DASD driveIBM iSeries Virtual DASDIf you convert to FAT16, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual).If you convert to FAT32, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual). Also, converting to FAT32 will make the file system unreadable by MS DOS, MS Windows 95a, and MS Windows NT.If you leave your file system as FAT16, then you will have no problems.If you leave your file system as FAT32, then you will not introduce any new problems.IgnoreInconsistent group descriptors!Incorrect magic values in the journal header.Inform the operating system about partition table changes. -d, --dry-run do not actually inform the operating system -s, --summary print a summary of contents -h, --help display this help and exit -v, --version output version information and exit InformationInvalid VTOC.Invalid back referenceInvalid character class nameInvalid collation characterInvalid content of \{\}Invalid free blocks count. Run reiserfsck --check first.Invalid number.Invalid partition table - recursive partition on %s.Invalid partition table on %s -- wrong signature %x.Invalid partition table on %s.Invalid preceding regular expressionInvalid range endInvalid regular expressionInvalid signature %x for Mac disk labels.Invalid size of a transaction block while replaying the journal (%i bytes).Invalid superblock. Are you sure this is an ext2 file system?It seems there is an error in the HFS wrapper: the bad blocks file doesn't contain the embedded HFS+ volume.Journal offset or size is not multiple of the sector size.Journal size mismatch between journal info block and journal header.Journal stored outside of the volume are not supported. Try to desactivate the journal and run Parted again.LABEL-TYPE is one of: Linux device-mapper (%s)Maximum size: Memory allocation failedMemory exhaustedMinimum size: Minor: %d Model: %s (%s) NAME is any word you want NUMBER is the partition number used by Linux. On MS-DOS disk labels, the primary partitions number from 1 to 4, logical partitions from 5 onwards. NameNew device?New disk label type?New state?NoNo ImplementationNo device foundNo matchNo previous regular expressionNo room for partition info.No room for volume label.No valid HFS[+X] signature has been found while opening.No valid partition map found.Not all of the space available to %s appears to be used, you can fix the GPT to use all of the space (an extra %llu blocks) or continue with the current setting? Not enough free inodes!NumberOKOPTIONs:Only logical partitions can be a boot file.Only primary partitions can be root partitions.Only primary partitions can be swap partitions.Out of memory.PART-TYPE is one of: primary, logical, extended Packaged by %s Packaged by %s (%s) Parted can't resize partitions managed by Windows Dynamic Disk.Parted can't use HFS file systems on disks with a sector size not equal to %d bytes.Partition %d has an invalid length of 0 bytes!Partition %d has an invalid signature %x.Partition %d is %s, but the file system is %s.Partition %d isn't aligned to cylinder boundaries. This is still unsupported.Partition %s is being used. You must unmount it before you modify it with Parted.Partition Table: %s Partition doesn't exist.Partition map has no partition map entry!Partition name?Partition number?Partition too big/small for a %s file system.Partition type?Partition(s) on %s are being used.Premature end of regular expressionPromise SX8 SATA DeviceRegular expression too bigReiserfs tree seems to be corrupted. Run reiserfsck --check first.Report %s bugs to: %s Resizing the HFS+ volume has failed.RetrySTART and END are disk locations, such as 4GB or 10%. Negative values count from the end of the disk. For example, -1s specifies exactly the last sector. STATE is one of: on, off Sector size (logical/physical): %lldB/%lldB SizeSize: Some header fields are not multiple of the sector size.Sorry, HFS cannot be resized that way yet.Sorry, HFS+ cannot be resized that way yet.Sorry, can't move the start of ext2 partitions yet!Sorry, can't move the start of reiserfs partitions yet.Source device?Source partition number?StartStart?SuccessSun disk label is full.Support for adding partitions to AIX disk labels is not implemented yet.Support for checking %s file systems is not implemented yet.Support for copying %s file systems is not implemented yet.Support for creating %s file systems is not implemented yet.Support for duplicating partitions in AIX disk labels is not implemented yet.Support for opening %s file systems is not implemented yet.Support for reading AIX disk labels is is not implemented yet.Support for resizing %s file systems is not implemented yet.Support for setting flags in AIX disk labels is not implemented yet.Support for setting system type of partitions in AIX disk labels is not implemented yet.Support for writing AIX disk labels is is not implemented yet.Syntax error in config fileThe FATs don't match. If you don't know what this means, then select cancel, run scandisk on the file system, and then come back.The Whole Disk partition is the only available one left. Generally, it is not a good idea to overwrite this partition with a real one. Solaris may not be able to boot without it, and SILO (the sparc boot loader) appreciates it as well.The backup GPT table is corrupt, but the primary appears OK, so that will be used.The backup GPT table is not at the end of the disk, as it should be. This might mean that another operating system believes the disk is smaller. Fix, by moving the backup to the end (and removing the old backup)?The boot region doesn't start at the start of the partition.The current API version '%d' doesn't match dasd driver API version '%d'!The data region doesn't start at the start of the partition.The device %s has zero length, and can't possibly store a file system or partition table. Perhaps you selected the wrong device?The disk CHS geometry (%d,%d,%d) reported by the operating system does not match the geometry stored on the disk label (%d,%d,%d).The disk has %d cylinders, which is greater than the maximum of 65536.The disk label describes a disk bigger than %s.The driver descriptor says the physical block size is %d bytes, but Linux says it is %d bytes.The existing disk label on %s will be destroyed and all data on this disk will be lost. Do you want to continue?The existing file system will be destroyed and all data on the partition will be lost. Do you want to continue?The ext2 file system passed a basic check. For a more comprehensive check, use the e2fsck program.The extents overflow file should not contain its own extents! You should check the file system.The file %s is marked as a system file. This means moving it could cause some programs to stop working.The file system can only be resized to this size by converting to FAT16.The file system can only be resized to this size by converting to FAT32.The file system contains errors.The file system has the 'dir_index' feature enabled. Parted can only resize the file system if it disables this feature. You can enable it later by running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'.The file system is bigger than its volume!The file system is in an invalid state. Perhaps it is mounted?The file system is in old (unresizeable) format.The file system's CHS geometry is (%d, %d, %d), which is invalid. The partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the file system's CHS geometry will be left unchanged. If you select Fix, the file system's CHS geometry will be set to match the partition table's CHS geometry.The format of the GPT partition table is version %x, which is newer than what Parted can recognise. Please tell us! bug-parted@gnu.orgThe information sector has the wrong signature (%x). Select cancel for now, and send in a bug report. If you're desperate, it's probably safe to ignore.The journal is not empty. Parted must replay the transactions before opening the file system. This will modify the file system.The location %s is outside of the device %s.The maximum head value is %d.The maximum sector value is %d.The partition must have one of the following FS-TYPEs: The partition table cannot be re-read. This means you need to reboot before mounting any modified partitions. You also need to reinstall your boot loader before you reboot (which may require mounting modified partitions). It is impossible do both things! So you'll need to boot off a rescue disk, and reinstall your boot loader from the rescue disk. Read section 4 of the Parted User documentation for more information.The partition table on %s cannot be re-read (%s). This means the Hurd knows nothing about any modifications you made. You should reboot your computer before doing anything with %s.The partition's boot region doesn't occupy the entire partition.The partition's data region doesn't occupy the entire partition.The primary GPT table is corrupt, but the backup appears OK, so that will be used.The reiserfs file system passed a basic check. For a more comprehensive check, run reiserfsck --check.The resulting partition is not properly aligned for best performance.The sector size stored in the journal is not 512 bytes. Parted only supports 512 bytes length sectors.The specified device is not a valid DASD deviceThe volume header or the master directory block has changed while replaying the journal. You should restart Parted.There are no possible configurations for this FAT type.There's not enough room in the root directory for all of the files. Either cancel, or ignore to lose the files.This HFS volume has no catalog file. This is very unusual!This HFS volume has no extents overflow file. This is quite unusual!This HFS+ volume has no catalog file. This is very unusual!This HFS+ volume has no extents overflow file. This is quite unusual!This command does not make sense in non-interactive mode. This file system has a logical sector size of %d. GNU Parted is known not to work properly with sector sizes other than 512 bytes.This is not a real %s check. This is going to extract special low level files for debugging purposes.This is not an ECKD disk! This disk type is not supported!This libparted doesn't have write support for %s. Perhaps it was compiled read-only.Too many bad pages.Too many primary partitionsToo many primary partitions.Trailing backslashTry `%s --help' for more information. Trying to move an extent from block Ox%X to block Ox%X, but another one already exists at this position. This should not happen!Trying to read HFS file with CNID %X behind EOF.Trying to read HFS+ file with CNID %X behind EOF.Trying to register an extent starting at block 0x%X, but another one already exists at this position. You should check the file system!Trying to write HFS file with CNID %X behind EOF.Trying to write HFS+ file with CNID %X behind EOF.TypeUNIT is one of: Unable to allocate a bsd disklabel slot.Unable to allocate a dasd disklabel slotUnable to allocate a partition number.Unable to determine geometry of file/device %s. You should not use Parted unless you REALLY know what you're doing!Unable to determine the dm type of %s.Unable to determine the size of %s (%s).Unable to open %s read-write (%s). %s has been opened read-only.Unable to open %s.Unable to probe store.Unable to satisfy all constraints on the partition.Unit?UnknownUnknown disk flag, %d.Unknown file system type "%s".Unknown partition flag, %d.Unknown system errorUnmatched ( or \(Unmatched ) or \)Unmatched [ or [^Unmatched \{Unrecognised new style linux swap signature '%10s'.Unrecognised old style linux swap signature '%10s'.Unrecognised swsusp linux swap signature '%9s'.Unsupported disk formatUnsupported disk typeUpdating the HFS wrapper has failed.Usage: %s [-hlmsv] [-a] [DEVICE [COMMAND [PARAMETERS]]...] Usage: %s [OPTION] or: %s DEVICE MINOR Usage: %s [OPTION] [DEVICE]... Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...] Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run in interactive mode. User-Mode Linux UBDUsing %s Valid arguments are:Version %d of HFS+ isn't supported.Version %d of HFSX isn't supported.Virtio Block DeviceVolume label is corruptedWARNING: You are not superuser. Watch out for permissions.WARNING: you are attempting to use %s to operate on (%s) a file system. %s's file system manipulation code is not as robust as what you'll find in dedicated, file-system-specific packages like e2fsprogs. We recommend you use %s only to manipulate partition tables, whenever possible. Support for performing most operations on most types of file systems will be removed in an upcoming release. WarningWeird block size on device descriptor: %d bytes is not divisible by 512.Weird! There are 2 partitions map entries!Welcome to GNU Parted! Type 'help' to view a list of commands. Without arguments, 'print' displays the entire partition table. However with the following arguments it performs various other actions. Would you like to use FAT32?Written by %s and %s. Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, and %s. Written by %s, %s, %s, and %s. Written by %s, %s, and %s. Written by %s. Xen Virtual Block DeviceYesYou may need to update /etc/fstab. You need %s of free disk space to shrink this partition to this size. Currently, only %s is free.You requested a partition from %s to %s. The closest location we can manage is %s to %s.%sYou should reinstall your boot loader before rebooting. Read section 4 of the Parted User documentation for more information.Your file system has too many occupied inodes to resize it to %i blocks. Sorry.Your file system is too full to resize it to %i blocks. Sorry.^[nN]^[yY]`adding groupsalign-checkalign-check TYPE N check partition N for TYPE(min|opt) alignmentalignment for new partitionsalignment type(min/opt)ambiguous argument %s for %satvrecvbios_grubbootcheckcheck NUMBER do a simple check on the file systemcheckingchecking for bad blockscopyingcpcp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another partitioncreatingcylinder_alignmentdesired alignment: minimum or optimaldisplays machine parseable outputdisplays the versiondisplays this help messageend of file while reading %sexpandingextendedfailed to set dvh partition name to %s: Only logical partitions (boot files) have a name.fat_table_alloc_cluster: no free clustersfat_table_get: cluster %ld outside file systemfat_table_set: cluster %ld outside file systemfreegrowing file systemhelphelp [COMMAND] print general help, or help on COMMANDhiddenhp-serviceinvalid %s%s argument `%s'invalid argument %s for %sinvalid minor device number: %sinvalid suffix in %s%s argument `%s'invalid token: %sioctl() errorlbalists partition layout on all block deviceslogicallvmmemory exhaustedmetadataminimalmkfsmkfs NUMBER FS-TYPE make a FS-TYPE file system on partition NUMBERmklabelmklabel,mktable LABEL-TYPE create a new disklabel (partition table)mkpartmkpart PART-TYPE [FS-TYPE] START END make a partitionmkpartfsmkpartfs PART-TYPE FS-TYPE START END make a partition with a file systemmktablemovemove NUMBER START END move partition NUMBERmsftresnamename NUMBER NAME name partition NUMBER as NAMEnever prompts for user interventionoffonopen erroropening of device failedoptimalpaloparted was unable to re-read the partition table on %s (%s). This means Linux won't know anything about the modifications you made. partition length of %jd sectors exceeds the %s-partition-table-imposed maximum of %jdped_device_new() Unsupported device typeprepprimaryprimary partition table array CRC mismatchprintprint [devices|free|list,all|NUMBER] display the partition table, available devices, free space, all found partitions, or a particular partitionquitquit exit programraidraw block copyingread errorreading from device failedrescuerescue START END rescue a lost partition near START and ENDresizeresize NUMBER START END resize partition NUMBER and its file systemrmrm NUMBER delete partition NUMBERrootsearching for file systemsseek errorseeking on device failedselectselect DEVICE choose the device to editsetset NUMBER FLAG STATE change the FLAG on partition NUMBERshrinkingshrinking HFS wrappershrinking embedded HFS+ volumestarting sector number, %jd exceeds the %s-partition-table-imposed maximum of %jdswaptoggletoggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBERtoo few argumentstoo many argumentsunitunit UNIT set the default unit to UNITversionversion display the version number and copyright information of GNU Partedwrite errorwriting HFS Master Directory Blockwriting HFS+ Volume Headerwriting per-group metadatawriting to device failedProject-Id-Version: parted 2.2 Report-Msgid-Bugs-To: bug-parted@gnu.org POT-Creation-Date: 2010-05-28 20:30+0200 PO-Revision-Date: 2010-02-26 22:32+0100 Last-Translator: Jakub Bogusz Language-Team: Polish Language: pl MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-2 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2); Znalaz³e¶ b³±d w programie GNU Parted! Poni¿ej znajduje siê instrukcja postêpowania: Nie panikuj! B³±d najprawdopodobniej nie dotkn±³ ¿adnych twoich danych. Pomó¿ nam poprawiæ ten b³±d wykonuj±c nastêpuj±ce czynno¶ci: Sprawd¼, czy b³±d zosta³ ju¿ poprawiony sprawdzaj±c najnowsz± wersjê GNU Parteda dostêpn± pod adresem: http://ftp.gnu.org/gnu/parted/ Proszê sprawdziæ tê wersjê przed zg³aszaniem b³êdu. Je¶li b³±d nie zosta³ jeszcze poprawiony lub nie wiesz, jak to sprawdziæ, proszê odwiedziæ stronê GNU Parteda: http://www.gnu.org/software/parted gdzie znajduje siê wiêcej informacji. Zg³oszenie b³êdu powinno zawieraæ wersjê tego wydania (%s) wraz z poni¿szym komunikatem o b³êdzie, wyj¶ciem polecenia parted URZ¡DZENIE unit co print unit s print i nastêpuj±c± histori± wprowadzonych poleceñ. Do³±cz tak¿e dodatkowe informacje o konfiguracji, które uwa¿asz za istotne. Historia poleceñ: B³±d: Wyst±pi³ ogólny sygna³ SIGFPE. B³±d: Wyst±pi³ ogólny sygna³ SIGILL. B³±d: Wyst±pi³ ogólny sygna³ SIGSEGV. B³±d: FPE_FLTDIV (dzielenie przez zero na liczbach zmiennoprzecinkowych) B³±d: FPE_FLTINV (nieprawid³owa operacja dla liczb zmiennoprzecinkowych) B³±d: FPE_FLTOVF (przepe³nienie dla liczby zmiennoprzecinkowej) B³±d: FPE_FLTRES (niedok³adny wynik dla liczb zmiennoprzecinkowych) B³±d: FPE_FLTSUB (indeks spoza zakresu dla liczb zmiennoprzecinkowych) B³±d: FPE_FLTUND (niedope³nienie dla liczby zmiennoprzecinkowej) B³±d: FPE_INTDIV (dzielenie przez zero na liczbach ca³kowitych) B³±d: FPE_INTOVF (przepe³nienie dla liczby ca³kowitej) B³±d: ILL_BADSTK (wewnêtrzny b³±d stosu) B³±d: ILL_COPROC (b³±d koprocesora) B³±d: ILL_ILLADR (niedozwolony tryb adresowania) B³±d: ILL_ILLOPC (niedozwolony kod instrukcji) B³±d: ILL_ILLOPN (niedozwolony operand) B³±d: ILL_ILLTRP (niedozwolona pu³apka) B³±d: ILL_PRVOPC (uprzywilejowany kod instrukcji) B³±d: ILL_PRVREG (uprzywilejowany rejestr) B³±d: SEGV_ACCERR (Nieprawid³owe uprawnienia dla odwzorowanego obiektu) B³±d: SEGV_MAPERR (Adres nie odwzorowany na obiekcie) Czy jest to do przyjêcia? Licencja GPLv3+: GNU GPL w wersji 3 lub pó¼niejszej: Ten program jest wolnodostêpny: mo¿na go modyfikowaæ i rozprowadzaæ. NIE MA ¯ADNEJ GWARANCJI w zakresie dopuszczalnym przez prawo. Prosimy zg³aszaæ b³êdy na adres <%s>. B³êdy w t³umaczeniu prosimy zg³aszaæ na adres: . Prosimy zg³aszaæ b³êdy na adres <%s>. B³êdy w t³umaczeniu prosimy zg³aszaæ na adres: . Je¶li nie podano URZ¡DZENIA, sprawdzane s± wszystkie partycje. --help wy¶wietlenie tego opisu i zakoñczenie --version wy¶wietlenie informacji o wersji i zakoñczenie NUMER : wy¶wietla bardziej szczegó³owe informacje o okre¶lonej partycji devices : wy¶wietla wszystkie aktywne urz±dzenia blokowe free : wy¶wietla informacje o wolnym, niespartycjonowanym miejscu na aktualnym urz±dzeniu blokowym list, all : wy¶wietla tablice partycji wszystkich aktywnych urz±dzeñ blokowych "%s" posiada nieprawid³ow± sk³adniê dla lokacji.%0.f%% (czas do koñca %.2d:%.2d)%s %s%s %s %s%s : Nieprawid³owa suma kontrolna bloku %llu typu %s %s : Nieprawid³owa suma kontrolna bloku %llu typu %s.%s : Nie uda³o siê odczytaæ bloku %llu %s : Nie uda³o siê odczytaæ bloku startowego %llu %s : Nie uda³o siê odczytaæ bloku g³ównego %llu %s : Nie uda³o siê zapisaæ bloku %d %s : Nie znaleziono bloku rdb, co nie powinno siê zdarzyæ %s : Nie znaleziono bloku rdb, co nie powinno siê zdarzyæ.%s : Nie powiod³o siê przydzielanie bloku %s : Nie powiod³o siê przydzielanie bloku rdb disk_specific %s : Nie powiod³o siê przydzielanie elementu id listy %s : Nie powiod³o siê przydzielanie bloku partycji %s : Nie powiod³o siê wypisanie uszkodzonych bloków.%s : Nie powiod³o siê wypisanie bloków rozruchowych.%s : Wypisanie bloków systemu plików nie powiod³o siê.%s : Wypisanie bloków partycji nie powiod³o siê.%s : Nie powiód³ siê odczyt bloku partycji %llu %s : Wykryto pêtlê na bloku %d.%s : Lista %s wydaje siê byæ uszkodzona na bloku %s.%s zawiera sygnaturê GPT. Oznacza to, ¿e posiada tablicê GPT, ale nie posiada prawid³owej fa³szywej tablicy partycji msdos, tak jak powinna. Byæ mo¿e jest uszkodzona -- mo¿liwe, ¿e przez program, który nie rozumie tablic partycji GPT. Albo te¿ tablica GPT zosta³a skasowana, za¶ teraz u¿ywana jest tablica partycji msdos. Czy to jest tablica partycji GPT?Etykiety dysku %s nie wspieraj± rozszerzonych partycji.Etykiety dysku %s nie wspieraj± logicznych lub rozszerzonych partycji.%s podczas czytania %s%s podczas ustawiania do odczytu na %s%s podczas ustawiania do zapisu na %s%s podczas zapisu %s%s nie posiada ¿adnych rozszerzonych partycji (partycji nag³ówka wolumenu).Strona domowa projektu %s: <%s> Strona domowa projektu %s: . %s ma %dk, jednak ma %d klastrów (%dk).%s jest zbyt ma³y dla etykiety dysku Mac!B³±d synchronizacji %s do dysku %sargument %s%s `%s' zbyt du¿y%s: b³êdna opcja -- '%c' %s: opcja '%c%s' nie mo¿e mieæ argumentów %s: opcja '%s' jest niejednoznaczna %s: opcja '--%s' nie mo¿e mieæ argumentów %s: opcja '-W %s' nie mo¿e mieæ argumentów %s: opcja '-W %s' jest niejednoznaczna %s: opcja musi mieæ argument -- '%c' %s: nierozpoznana etykieta dysku%s: nieznana opcja '%c%s' %s: nieznana opcja '--%s' 'Polecenie 'mkpart' tworzy partycjê bez tworzenia nowego systemu plików na tej partycji. Opcjonalny SYSTEM-PLIKÓW mo¿e zostaæ podany do okre¶lenia w³a¶ciwego identyfikatora partycji. 'version' wy¶wietla informacje o prawach autorskich i wersji dla tej kopii GNU Parteda (C)Partycja %s %s zosta³a znaleziona na %s -> %s. Czy chcesz j± dodaæ do tablicy partycji?Zosta³ wykryty b³±d w dzia³aniu programu GNU Parted. Odwied¼ stronê http://www.gnu.org/software/parted/parted.html w celu uzyskania informacji na temat zg³aszania b³êdów. Proszê wys³aæ raport na temat b³êdu na adres bug-parted@gnu.org, do³±czaj±c numer wersji (%s) oraz nastêpuj±cy komunikat: Uszkodzona nazwa zbioru danychOdwo³anie do obszaru nie powinno by³o wyst±piæ w tym miejscu. Nale¿y sprawdziæ system plików!Operacja zmiana rozmiaru na tym systemie plików u¿yje EKSPERYMENTALNEGO kodu, który MO¯E GO USZKODZIÆ (choæ nie zrobi³ tego jeszcze dotychczas). Nale¿y przynajmniej wykonaæ kopiê zapasow± danych, a potem uruchomiæ 'e2fsck -f'.niezgodno¶æ wersji APIKontroler ATARAIDWykryto b³±d podczas przenoszenia obszaru.Wyst±pi³ b³±d podczas szukania obowi±zkowego pliku uszkodzonych bloków.Rozszerzona partycja nie mo¿e trzymaæ systemu plików. Czy chodzi³o Ci o mkpart?Obszar nie zosta³ przeniesiony.Zapewnienie (%s) w %s:%d w funkcji %s() nie powiod³o siê.Próba zapisania sektorów %ld-%ld poza partycj± na %s.Geometria BIOS cylinder,g³owica,sektor: %d,%d,%d. Ka¿dy cylinder ma %s. Backtrace zawiera %d wywo³añ na stosie: Nieprawid³owy FAT: klaster %d jest dowi±zany skro¶nie dla %s. Proszê uruchomiæ program dosfsck lub scandisk.Nieprawid³owy FAT: klaster %d jest poza systemem plików w ³añcuchu dla %s. Proszê uruchomiæ program dosfsck lub scandisk.Nieprawid³owy FAT: niezakoñczony ³añcuch dla %s. Proszê uruchomiæ program dosfsck lub scandisk.Suma kontrolna nag³ówka listy uszkodzonych bloków.Uszkodzone bloki nie mog± byæ odczytane.Nie powiod³o siê za³adowanie listy uszkodzonych bloków.Nieprawid³owy wpis w katalogu dla %s: pierwszy klaster jest znacznikiem koñca pliku.Nieprawid³owa suma kontrolna kroniki.Blok %i nie posiada odwo³añ? Dziwne.Blok %i nie powinien byæ zaznaczony (%d, %d)!Obie tablice GPT, g³ówna i jej kopia zapasowa, s± uszkodzone. Spróbuj utworzyæ now± tablicê oraz u¿yj opcjê 'rescue', aby odzyskaæ partycje.B³±dPOLECENIA:Nie mo¿na dodaæ logicznej partycji do %s, poniewa¿ nie istnieje rozszerzona partycja.Nie mo¿na dodaæ kolejnej partycji -- mapa partycji jest zbyt ma³a!Nie mo¿na dodaæ kolejnej partycji.Nie mo¿na skopiowaæ rozszerzonej partycji.Nie mo¿na skopiowaæ na nak³adaj±c± siê partycjê.Nie mo¿na utworzyæ wiêcej partycji.%s nie mo¿e mieæ logicznej partycji poza rozszerzon± partycj±.Nie mo¿na mieæ partycji poza dyskiem!Nie mo¿na mieæ g³ównej partycji wewn±trz rozszerzonej partycji.Nie mo¿na mieæ logicznych partycji poza rozszerzon± partycj±.Nie mo¿na mieæ wiêcej ni¿ jedn± rozszerzon± partycjê na %s.Nie mo¿na mieæ nak³adaj±cych siê partycji.Nie mo¿na mieæ koñca przed pocz±tkiem! (sektor pocz.=%jd d³ugo¶æ=%jd)Nie mo¿na przesun±æ partycji na sam± siebie. Mo¿e spróbuj zmieniæ jej rozmiar?Nie mo¿na przesun±æ rozszerzonej partycji.Nie mo¿na zapisaæ do %s, poniewa¿ otwarte jest tylko do czytania.PoniechajNie mo¿na pobraæ rozmiaru jednostki dla specjalnej jednostki 'COMPACT'.Zmiana nazwy partycji root lub wymiany spowoduje, ¿e Linux jej nie rozpozna.Suma kontrolna jest b³êdna i oznacza to, ¿e tablica partycji jest uszkodzona.Czyszczenie nieu¿ywanego miejsca na partycji FAT (narzêdzie testuj±ce GNU Parteda). Pocz±tek klastra delta = %d, a wiêc nie jest to wielokrotno¶æ rozmiaru klastra %d.Compaq Smart ArrayWyst±pi³ konflikt miêdzy rozmiarami wpisów mapy partycji! Wpis 1 mówi, ¿e jest %d, ale wpis %d mówi, ¿e jest %d!Copyright (C) 1998 - 2006 Free Software Foundation, Inc. Program ten jest wolnodostêpny, zgodnie z Powszechn± Licencj± Publiczn± GNU. Program ten udostêpniany jest w nadziei, ¿e bêdzie przydatny, ale BEZ ¯ADNEJ GWARANCJI, nawet bez domy¶lnej gwarancji PRZYDATNO¦CI HANDLOWEJ albo PRZYDATNO¦CI DO KONKRETNYCH ZASTOSOWAÑ. Wiêcej szczegó³ów znajduje siê w Powszechnej Licencji Publicznej GNU. Wykryto uszkodzon± etykietê dysku Sun.Nie mo¿na zapamiêtaæ systemu plików w pamiêci.Nie mo¿na wykryæ systemu plików.Nie uda³o siê okre¶liæ rozmiaru sektora fizycznego dla %s. U¿yto rozmiaru sektora logicznego (%lld).Nie uda³o siê okre¶liæ rozmiaru sektora dla %s: %s. U¿yto domy¶lnego rozmiaru sektora (%lld).Nie znaleziono sektora %lli pliku HFS z CNID %X.Nie znaleziono sektora %lli pliku HFS+ z CNID %X.Nie mo¿na uzyskaæ to¿samo¶ci urz±dzenia %s - %sNie uda³o siê odczytaæ VTOC FMT1 DSCB.Nie uda³o siê odczytaæ VTOC FMT4 DSCB.Nie uda³o siê odczytaæ VTOC FMT5 DSCB.Nie uda³o siê odczytaæ VTOC FMT7 DSCB.Nie uda³o siê odczytaæ etykiet VTOC.Nie uda³o siê odczytaæ etykiety wolumenu.Nie uda³o siê odczytaæ wersji API.Nie uda³o siê odczytaæ informacji o rozmiarze bloku.Nie uda³o siê odczytaæ informacji o geometrii dysku.Nie uda³o siê odczytaæ informacji o dysku.Nie mo¿na sprawdziæ urz±dzenia %s - %s.Nie mo¿na uaktualniæ pamiêci obszarów dla pliku HFS z CNID %X.Nie mo¿na uaktualniæ pamiêci obszarów dla pliku HFS+ z CNID %X.Nie uda³o siê zapisaæ VTOC FMT1 DSCB.Nie uda³o siê zapisaæ VTOC FMT4 DSCB.Nie uda³o siê zapisaæ VTOC FMT5 DSCB.Nie uda³o siê zapisaæ VTOC FMT7 DSCB.Nie uda³o siê zapisaæ etykiet VTOC.Nie uda³o siê zapisaæ etykiety wolumenu.Nie uda³o siê utworzyæ obs³ugi abstrakcji urz±dzenia reiserfs.Nie mo¿na opró¿niæ bufora pamiêci podrêcznej!Nie mo¿na ponownie otworzyæ warstwy abstrakcji urz±dzenia do odczytu/zapisu.Nie uda³o siê rozwi±zaæ symbolu %s. B³±d: %s.Znaleziono bloki dowi±zane skro¶nie! Lepiej uruchom najpierw program e2fsck!Kontroler DAC960 RAIDURZ¡DZENIEM jest zwykle /dev/hda lub /dev/sda Relokacja danych nie powiod³a siê.Relokacja danych pozostawi³a dane na koñcu wolumenu.Relokacja danych pozostawi³a dane pod koniec wolumenu.Numer partycji docelowej?Urz±dzenie %s ma wiele (%d) logicznych sektorów w ka¿dym sektorze fizycznym. GNU Parted obs³uguje to EKSPERYMENTALNIE dla niektórych specjalnych po³±czeñ etykiet dysków i systemów plików, np. GPT i ext2/3. Aktualne informacje znajduj± siê na stronie WWW.Urz±dzenie jest zbyt ma³e na %lu bloków.Weryfikacja urz±dzenia nie powiod³o siêBezpo¶rednie wsparcie kopiowania systemów plików dla %s nie jest jeszcze zaimplementowane. Aczkolwiek, wspierana jest zmiana rozmiaru systemu plików. Tak wiêc, system plików mo¿e zostaæ skopiowany, je¶li nowa partycja ma przynajmniej tak± sam± pojemno¶æ jak stara. Mo¿esz tak¿e zmniejszyæ rozmiar partycji, któr± chcesz skopiowaæ lub skopiuj na partycjê o wiêkszym rozmiarze.Dysk %s: %s Obraz dyskuDysk jest w u¿yciuKoniecKoniec?B³±dB³±d podczas przydzielania pamiêci do bufora podrêcznego.B³±d podczas synchronizacji/zamykania %s: %sB³±d podczas inicjalizacji urz±dzenia SCSI %s - %sB³±d podczas otwierania %s: %sB³±d podczas zapisu pliku przydzia³u.B³±d podczas zapisu kompatybilnej czê¶ci pliku przydzia³u.B³±d podczas zapisu do katalogu g³ównego (root).Oczekiwany by³ typ etykiety dysku.Oczekiwany by³ typ systemu plików.Oczekiwany by³ numer partycji.Oczekiwany by³ typ partycji.Rozszerzone partycje nie mog± byæ ukryte dla etykieta dysków msdos.Typ no¶nika odczytany z FAT %d (%x) nie zgadza siê z typem odczytanym z sektora rozruchowego (%x). Nale¿y uruchomiæ scandisk.Sektor rozruchowy FAT mówi, ¿e klastry zajmuj± 0 sektorów. Dziwne.Sektor rozruchowy FAT mówi, ¿e rozmiar sektora logicznego jest 0. Dziwne.Sektor rozruchowy FAT mówi, ¿e nie ma ¿adnych tablic FAT. Dziwne.FLAGA stanowi jedn± z nastêpuj±cych warto¶ci: SYSTEM-PLIKÓW stanowi jedn± z nastêpuj±cych warto¶ci: Nie powiód³ siê zapis bloku partycji na %d.Fatalny b³±dB³±d krytycznySystem plików: %s System plikówSystem plików nie posiada rozmiaru spodziewanego przez system MS Windows. Rozmiar klastra wynosi %dk (powinno byæ %dk); ilo¶æ klastrów wynosi %d (powinno byæ %d); rozmiar FAT wynosi %d sektorów (powinno byæ %d).Pe³ny system plików!System plików ma w³±czone niekompatybilne cechy. Cechy kompatybilne to has_journal, dir_index, filetype, sparse_super i large_file. Cechy mo¿na usun±æ przy u¿yciu tune2fs lub debugfs.System plików posiada nieprawid³owy rozmiar klastra dla systemu plików FAT.System plików posiada nieprawid³ow± ilo¶æ FAT-ów.System plików posiada nieprawid³ow± ilo¶æ zarezerwowanych sektorów dla systemu plików FAT.System plików posiada nieprawid³owy rozmiar sektora dla systemu plików FAT.System plików posiada nieprawid³owy podpis dla systemu plików FAT.System plików posiada b³êdy! Uruchom program e2fsck.System plików posiada zbyt du¿o przydzielonych i-wêz³ów, aby usun±æ grupê!Systemem plików jest FAT12, który nie jest wspierany.System plików mówi, ¿e wolna przestrzeñ wynosi %d klastrów, a nie %d klastrów.System plików jest zbyt pe³ny, aby usun±æ grupê!System plików jest zbyt ma³y dla ext2.Typ systemu plików?System plików nie zosta³ prawid³owo od³±czony! Uruchom program e2fsck.System plików nie zosta³ prawid³owo od³±czony! Uruchom program e2fsck. Modyfikowanie takiego systemu plików mo¿e spowodowaæ jego uszkodzenie.PoprawFlaga do przestawienia?FlagaFlagi: %s Znaleziono i-wêze³ z nieprawid³owym licznikiem dowi±zañ. Lepiej uruchom najpierw program e2fsck!Wolne miejsceGNU Parted nie mo¿e zmieniæ rozmiaru tej partycji do podanego. Pracujemy nad tym!GNU Parted znalaz³ b³êdn± bibliotekê libreiserfs.GNU Parted wykry³ niezgodno¶æ wersji interfejsu libreiserfs. Znaleziono %d-%d, wymagana jest %d. Obs³uga ReiserFS bêdzie wy³±czona.Program GNU Parted zosta³ nieprawid³owo zbudowany: sektor rozruchowy FAT powinien mieæ 512 bajtów. Wsparcie dla FAT zostaje wy³±czone.Ogólna pomoc przy u¿ywaniu oprogramowania GNU: . Ogólne IDEKarta pamiêci SD/MMCKontroler I2ODysk DASD IBM S390Wirtualny dysk DASD IBM iSeriesJe¿eli dokonasz konwersji do FAT16 i system MS Windows jest zainstalowany na tej partycji, to wtedy musisz przeinstalowaæ program ³aduj±cy (boot loader) MS Windows. Je¶li chcesz to zrobiæ, to proszê przeczytaj dokumentacjê programu Parted (lub dokumentacjê Twojej dystrybucji systemu).Je¿eli dokonasz konwersji do FAT32 i system MS Windows jest zainstalowany na tej partycji, to wtedy musisz przeinstalowaæ program ³aduj±cy (boot loader) MS Windows. Je¶li chcesz to zrobiæ, to proszê przeczytaj dokumentacjê programu Parted (lub dokumentacjê Twojej dystrybucji systemu). Ponadto, konwersja do FAT32 spowoduje, ¿e taki system plików bêdzie niemo¿liwy do odczytania przez systemy MS-DOS, MS Windows 95a oraz MS Windows NT.Je¶li pozostawisz swój system plików jako FAT16, to nie bêdziesz mia³(a) ¿adnych problemów.Je¶li pozostawisz swój system plików jako FAT32, to wtedy nie bêdziesz mia³(a) ¿adnych nowych problemów.ZignorujSprzeczne deskryptory grup!Nieprawid³owe magiczne warto¶ci w nag³ówku kroniki.Poinformowanie systemu operacyjnego o zmianach w tablicy partycji. -d, --dry-run pominiêcie informowania systemu operacyjnego -s, --summary wypisanie podsumowania zawarto¶ci -h, --help wy¶wietlenie tego opisu i zakoñczenie -v, --version wy¶wietlenie informacji o wersji i zakoñczenie InformacjaNieprawid³owe dane VTOC.B³êdne odnosienie wsteczB³êdna nazwa klasy znakuB³êdny znak sortowanyB³êdna zawarto¶æ \{\}B³êdna liczba wolnych bloków. Proszê uruchomiæ najpierw reiserfsck --check.Nieprawid³owy numer.Nieprawid³owa tablica partycji - partycja rekursywna na %s.Nieprawid³owa tablica partycji na %s -- b³êdna sygnatura %x.Nieprawid³owa tablica partycji na %s.B³êdne poprzedzaj±ce wyra¿enie regularneB³êdny koniec zakresuB³êdne wyra¿enie regularneNieprawid³owy podpis %x dla etykiet dysków Mac.Nieprawid³owy rozmiar bloku transakcyjnego podczas ponawiania kroniki (%i bajtów).Nieprawid³owy superblok. Czy to na pewno jest system plików ext2?Prawdopodobnie wystêpuje b³±d w otoczce HFS: plik uszkodzonych bloków nie zawiera wbudowanego wolumenu HFS+.Wyrównanie kroniki lub wielko¶æ nie jest wielokrotno¶ci± rozmiaru sektora.Rozmiar kroniki nie pasuje pomiêdzy blokiem informacyjnym kroniki i nag³ówkiem kroniki.Kroniki umieszczone poza wolumenem nie s± wspierane. Proszê wy³±czyæ kronikê i uruchomiæ ponownie Parted.TYP-ETYKIETY stanowi jedn± z nastêpuj±cych warto¶ci: Linuksowy device-mapper (%s)Maksymalny rozmiar: Przydzielanie pamiêci powiod³o siêPamiêæ wyczerpanaMinimalny rozmiar: Numer: %d Model: %s (%s) NAZWA jest dowolnym s³owem jakie chcesz NUMER oznacza numer partycji u¿ywanej przez Linuksa. Dla etykiet dysków MS-DOS liczba partycji g³ównych mie¶ci siê w przedziale 1-4, za¶ partycje logiczne zajmuj± kolejne numery pocz±wszy od 5. NazwaNowe urz±dzenie?Nowy typ etykiety dysku?Nowy stan?NieBrak implementacjiNie znaleziono urz±dzeniaNic nie pasujeBrak poprzedniego wyra¿enia regularnegoBrak miejsca na informacjê o partycji.Brak miejsca na etykietê wolumenu.Nie znaleziono prawid³owej sygnatury HFS[+X] podczas otwierania.Nie znaleziono prawid³owej mapy partycji.Nie ca³e dostêpne miejsce na %s wydaje siê byæ u¿ywane, poprawiæ GPT, aby u¿yte zosta³o ca³e miejsce (dodatkowe %llu bloków) czy kontynuowaæ przy aktualnych ustawieniach? Zbyt ma³o wolnych i-wêz³ów!NumerOKOPCJE:Tylko logiczne partycje mog± byæ plikami ³adowalnymi (boot).Tylko g³ówne partycje mog± byæ typu root.Tylko g³ówne partycje mog± byæ partycjami wymiany.Brak pamiêci.TYP-PARTYCJI stanowi jedn± z nastêpuj±cych warto¶ci: g³ówna, logiczna, rozszerzona Pakietuj±cy: %s Pakietuj±cy: %s (%s) Parted nie mo¿e zmieniæ rozmiaru partycji zarz±dzanych przez Windows Dynamic Disk.Parted nie mo¿e u¿ywaæ systemów plików HFS na dyskach z rozmiarem sektora innym ni¿ %d bajtów.Partycja %d posiada nieprawid³ow± d³ugo¶æ 0 bajtów!Partycja %d posiada nieprawid³owy podpis %x.Partycja %d jest %s, lecz system plików jest %s.Partycja %d nie jest wyrównana do granic cylindra. Nadal nie jest to wspierane.Partycja %s jest u¿ywana. Nale¿y j± od³±czyæ przed jej modyfikacj± Partedem.Tablica partycji: %s Partycja nie istnieje.Mapa partycji nie posiada wpisu mapy partycji!Nazwa partycji?Numer partycji?Partycja jest zbyt du¿a/ma³a dla systemu plików %s.Typ partycji?Partycja (partycje) na %s s± u¿ywane.Przedwczesny koniec wyra¿enia regularnegoUrz±dzenie Promise SX8 SATAWyra¿enie regularne zbyt du¿eDrzewo reiserfs wygl±da na uszkodzone. Proszê uruchomiæ najpierw reiserfsck --check.Prosimy zg³aszaæ b³êdy w %s na adres <%s>. Zmiana rozmiaru wolumenu HFS+ nie powiod³a siê.PowtórzPOCZ¡TEK i KONIEC oznaczaj± po³o¿enia na dysku, np. 4GB lub 10%. Ujemne warto¶ci s± liczone od koñca dysku. Na przyk³ad -1s oznacza dok³adnie ostatni sektor. STAN jest reprezentowany poprzez: w³±czony, wy³±czony Rozmiar sektora (logiczny/fizyczny): %lldB/%lldB RozmiarRozmiar: Niektóre pola nag³ówka nie s± wielokrotno¶ci± rozmiaru sektora.Przykro mi, ale nie mo¿na jeszcze w ten sposób zmieniæ rozmiaru HFS.Przykro mi, ale nie mo¿na jeszcze w ten sposób zmieniæ rozmiaru HFS+.Przepraszam, ale na razie nie mo¿na przesun±æ pocz±tku partycji ext2!Niestety nie mo¿na jeszcze przesun±æ pocz±tku partycji reiserfs.Urz±dzenie ¼ród³owe?Numer partycji ¼ród³owej?Pocz±tekPocz±tek?SukcesEtykieta dysku Sun jest pe³na.Obs³uga dodawania partycji do etykiet dyskowych AIX jeszcze nie zosta³a zaimplementowana.Wsparcie dla sprawdzania systemów plików %s nie zosta³o jeszcze zaimplementowane.Wsparcie dla kopiowania systemów plików %s nie zosta³o jeszcze zaimplementowane.Wsparcie dla tworzenia systemów plików %s nie zosta³o jeszcze zaimplementowane.Obs³uga powielania partycji na etykietach dyskowych AIX jeszcze nie zosta³a zaimplementowana.Wsparcie dla otwierania systemów plików %s nie zosta³o jeszcze zaimplementowane.Obs³uga odczytu etykiet dyskowych AIX jeszcze nie zosta³a zaimplementowana.Wsparcie dla zmiany wielko¶ci systemów plików %s nie zosta³o jeszcze zaimplementowane.Obs³uga ustawiania flag na etykietach dyskowych AIX jeszcze nie zosta³a zaimplementowana.Obs³uga ustawiania rodzaju systemu partycji na etykietach dyskowych AIX jeszcze nie zosta³a zaimplementowana.Obs³uga zapisu etykiet dyskowych AIX jeszcze nie zosta³a zaimplementowana.B³±d sk³adni w pliku konfiguracyjnymTablice FAT nie pasuj±. Je¶li nie wiesz co to znaczy, to wybierz 'Poniechaj', uruchom scandisk, a potem ponów próbê.Partycja ca³ego dysku jest jedyn± jaka pozosta³a. Generalnie nie jest to dobry pomys³, aby j± nadpisaæ inn±, prawdziw±. System Solaris mo¿e siê bez niej nie uruchomiæ, za¶ SILO (program ³aduj±cy SPARC) równie¿ j± doceni.Zapasowa tablica GPT jest uszkodzona, ale g³ówna wydaje siê byæ w porz±dku i zostanie ona u¿yta.Kopia zapasowa tablicy GPT nie znajduje siê na koñcu dysku, a powinna. Mo¿e to oznaczaæ, ¿e inny system operacyjny my¶li, ¿e dysk jest mniejszy ni¿ jest w rzeczywisto¶ci. Czy naprawiæ to poprzez przesuniêcie kopii zapasowej na koniec (i usuniêcie starej kopii)?Obszar rozruchowy nie zaczyna siê na pocz±tku partycji.Aktualna wersja API '%d' nie zgadza siê z wersj± API sterownika dasd '%d'!Obszar danych nie rozpoczyna siê na pocz±tku partycji.Urz±dzenie %s posiada zerow± d³ugo¶æ i mo¿e nie byæ w stanie przechowywaæ systemu plików lub tablicy partycji. Byæ mo¿e dokonano niew³a¶ciwego wyboru urz±dzenia?Geometria dysku CHS (%d,%d,%d), zg³oszona przez system operacyjny, nie pasuje do geometrii przechowywanej w etykiecie dysku (%d,%d,%d).Dysk posiada %d cylindrów, co stanowi wiêcej ni¿ dopuszczalny limit 65536.Etykieta dysku opisuje dysk wiêkszy ni¿ %s.Deskryptor napêdu mówi, ¿e fizyczny rozmiar bloku wynosi %d bajtów, ale Linux mówi, ¿e wynosi %d bajtów.Istniej±ca etykieta dysku na %s zostanie zniszczona, a wszystkie dane na tym dysku zostan± utracone. Kontynuowaæ?Istniej±cy system plików zostanie zniszczony, a wszystkie dane na partycji zostan± utracone. Kontynuowaæ?System plików ext2 przeszed³ pomy¶lnie podstawowe sprawdzenie. Dok³adniejszego sprawdzenia mo¿na dokonaæ programem e2fsck.Plik przepe³nienia obszarów nie powinien zawieraæ w³asnych obszarów! Nale¿y sprawdziæ system plików.Plik %s jest oznaczony jako plik systemowy. Oznacza to, ¿e jego przesuniêcie mo¿e spowodowaæ nieprawid³ow± pracê innych programów.Rozmiar systemu plików mo¿e byæ tylko zmieniony poprzez konwersjê do FAT16.System plików mo¿e mieæ zmieniony rozmiar, ale tylko poprzez konwersjê do FAT32.System plików zawiera b³êdy.System plików posiada w³±czon± funkcjê 'dir_index'. Parted mo¿e zmieniæ rozmiar systemu plików tylko je¶li zostanie wy³±czona ta funkcja. Mo¿esz j± w³±czyæ ponownie pó¼niej poprzez uruchomienie 'tune2fs -O dir_index URZ¡DZENIE', a nastêpnie 'e2fsck -fD URZ¡DZENIE'.System plików jest wiêkszy ni¿ jego wolumen!System plików jest w nieprawid³owym stanie. Mo¿e jest zamontowany?System plików jest w starym formacie, nie pozwalaj±cym na zmianê rozmiaru.Geometri± CHS systemu pliku jest (%d, %d, %d), która nie jest prawid³owa. Geometri± CHS tablicy partycji jest (%d, %d, %d). Je¶li zignorujesz, to geometria CHS systemu pliku pozostanie niezmieniona. Je¶li zdecydujesz siê naprawiæ, geometria CHS systemu plików zostanie dopasowana do geometrii CHS tablicy partycji.Format tablicy partycji GPT (wersja %x) jest nowszy ni¿ program Parted jest w stanie rozpoznaæ. Poinformuj nas o tym! bug-parted@gnu.orgSektor informacyjny posiada nieprawid³owy podpis (%x). Na razie poniechaj aktualn± operacjê i wy¶lij raport dotycz±cy b³êdów. Ewentualnie zignoruj ca³± sytuacjê.Kronika nie jest pusta. Parted musi ponowiæ transakcje przed otwarciem systemu plików. To zmodyfikuje system plików.Lokacja %s jest poza urz±dzeniem %s.Maksymalna warto¶æ g³owicy wynosi %d.Maksymalna warto¶æ sektora wynosi %d.Partycja musi posiadaæ jeden z nastêpuj±cych systemów plików: Nie mo¿na ponownie odczytaæ tablicy partycji. Nale¿y ponownie uruchomiæ komputer przed pod³±czeniem jakichkolwiek zmodyfikowanych partycji. Nale¿y tak¿e przeinstalowaæ program ³aduj±cy (boot loader) zanim uruchomisz ponownie komputer (co mo¿e wymagaæ pod³±czenia zmodyfikowanych partycji). Wykonanie dwóch powy¿szych rzeczy jest niemo¿liwe! A wiêc pozostaje Ci uruchomienie dysku/p³yty ratunkowej i przeinstalowanie programu ³aduj±cego prosto z dysku ratunkowego. Przeczytaj rozdzia³ 4 dokumentacji programu GNU Parted, aby uzyskaæ wiêcej informacji na ten temat.Nie mo¿na ponownie wczytaæ tablicy partycji na %s (%s). Oznacza to, ¿e Hurd nie wie o ¿adnych zmianach jakie zosta³y wprowadzone. Nale¿y ponownie uruchomiæ komputer zanim wykonasz jak±kolwiek operacjê na %s.Obszar rozruchowy partycji nie okupuje ca³ej partycji.Obszar danych partycji nie okupuje ca³ej partycji.G³ówna tablica GPT jest uszkodzona, ale jej kopia zapasowa wydaje siê byæ w porz±dku i zostanie ona u¿yta.System plików reiserfs przeszed³ pomy¶lnie podstawowe sprawdzenie. Dok³adniejszego sprawdzenia mo¿na dokonaæ poleceniem reiserfsck --check.Partycja wynikowa nie jest wyrównana w³a¶ciwie dla najlepszej wydajno¶ci.Rozmiar sektora zapisany w kronice nie ma 512 bajtów. Parted wspiera tylko sektory o rozmiarach 512 bajtów.Podane urz±dzenie nie jest poprawnym urz±dzeniem DASDNag³ówek wolumenu lub g³ówny blok katalogu zmieni³ siê podczas ponawiania kroniki. Nale¿y ponownie uruchomiæ Parted.Nie ma mo¿liwych konfiguracji dla tego typu FAT.Brakuje miejsca w katalogu root dla wszystkich tych plików. Poniechaj operacjê lub zignoruj, aby utraciæ pliki.Ten wolumen HFS nie posiada pliku katalogowego. To jest bardzo niezwyk³e!Ten wolumen HFS nie zawiera pliku przepe³nienia obszarów. To raczej niezwykle!Ten wolumen HFS+ nie posiada pliku katalogowego. To jest bardzo niezwyk³e!Ten wolumen HFS+ nie zawiera pliku przepe³nienia obszarów. To raczej niezwykle!To polecenie nie ma sensu w trybie nieinteraktywnym. Ten system plików posiada rozmiar logicznego sektora %d. GNU Parted nie wspó³pracuje prawid³owo z rozmiarami sektorów innymi ni¿ 512 bajtów.To nie jest prawdziwe sprawdzanie %s. Celem jest wydobycie specjalnych niskopoziomowych plików w celu odpluskwiania.To nie jest dysk ECKD! Ten typ dysku nie jest obs³ugiwany!Biblioteka libparted nie posiada obs³ugi zapisu dla %s. Byæ mo¿e zosta³a ona zbudowana z obs³ug± tylko-do-odczytu.Zbyt du¿o nieprawid³owych stron.Zbyt du¿o partycji g³ównychZbyt du¿o partycji g³ównych.Koñcz±cy znak `\'Polecenie `%s --help' pozwoli uzyskaæ wiêcej informacji. Podczas próby przeniesienia obszaru z bloku 0x%X do bloku 0x%X wykryto inny obszar na tej pozycji. To nie powinno siê zdarzyæ!Próba odczytania pliku HFS z CNID %X za EOF.Próba odczytania pliku HFS+ z CNID %X za EOF.Podczas próby zarejestrowania obszaru z pocz±tkiem na bloku 0x%X wykryto inny obszar na tej pozycji. Nale¿y sprawdziæ system plików!Próba zapisu pliku HFS z CNID %X za EOF.Próba zapisu pliku HFS+ z CNID %X za EOF.TypJEDNOSTKA stanowi jedn± z nastêpuj±cych warto¶ci: Nie mo¿na przydzieliæ miejsca na etykietê dysku bsd.Nie mo¿na przydzieliæ miejsca na etykiecie dysku dasd.Nie mo¿na przydzieliæ numeru partycji.Nie mo¿na ustaliæ geometrii pliku/urz±dzenia %s. W tym przypadku nie jest zalecane u¿ywanie Parteda, chyba ¿e NAPRAWDÊ wiesz co robisz!Nie mo¿na okre¶liæ typu dm %s.Nie mo¿na ustaliæ rozmiaru %s (%s).Nie mo¿na otworzyæ %s jednocze¶nie w trybie do odczytu i zapisu (%s). %s zosta³ otwarty tylko w trybie do odczytu.Nie mo¿na otworzyæ %s.Detekcja geometrii nie powiod³a siê.Nie mo¿na zaspokoiæ wszystkich ograniczeñ na partycji.Jednostka?NieznaneNieznana flaga dysku: %d.Nieznany typ systemu plików "%s".Nieznana flaga partycji: %d.Nieznany b³±d systemowyNiesparowane ( lub \(Niesparowane ) lub \)Niesparowane [ lub [^Niesparowane \{Nierozpoznany podpis linuksowej partycji wymiany nowegu typu '%10s'.Nierozpoznany podpis linuksowej partycji wymiany starego typu '%10s'.Nierozpoznany podpis linuksowej partycji wymiany swsusp '%9s'.Nieobs³ugiwany format dyskuNieobs³ugiwany typ dyskuAktualizacja otoczki HFS nie powiod³a siê.Sk³adnia: %s [-hlmsv] [-a] [URZ¡DZENIE [POLECENIE [PARAMETRY]]...] Sk³adnia: %s [OPCJA] lub: %s URZ¡DZENIE MINOR Sk³adnia: %s [OPCJA] [URZ¡DZENIE]... Sk³adnia: parted [OPCJA]... [URZ¡DZENIE [POLECENIE [PARAMETRY]...]...] Wykonuje POLECENIA z PARAMETRAMI dla URZ¡DZENIA. Je¶li nie podano POLECEÑ, program zostanie uruchomiony w trybie interaktywnym. UBD z User-Mode LinuksaU¿ycie %s Prawid³owe argumenty to:Wersja %d HFS+ nie jest wspierana.Wersja %d HFSX nie jest wspierana.Urz±dzenie blokowe VirtioUszkodzona etykieta wolumenuUWAGA: Nie jeste¶ superu¿ytkownikiem. Uwa¿aj na uprawnienia.UWAGA: próba u¿ycia %s na systemie plików (%s). Kod obs³uguj±cy system plików %s nie ma tylu mo¿liwo¶ci, co dedykowane, specyficzne dla systemu plików pakiety typu e2fsprogs. Zalecamy u¿ycie %s tylko do modyfikowania tablic partycji o ile to tylko mo¿liwe. Obs³uga wykonywania wiêkszo¶ci rodzajów operacji na wiêkszo¶ci rodzajów systemów plików bêdzie usuniêta w kolejnym wydaniu. Ostrze¿enieDziwny rozmiar bloku w deskryptorze urz±dzenia: %d bajtów nie jest podzielne przez 512.Dziwne! Istniej± 2 wpisy map partycji!Witamy w GNU Partedzie! Listê poleceñ mo¿na zobaczyæ po napisaniu 'help'. Bez argumentów 'print' wy¶wietla ca³± tablicê partycji. Jednak z nastêpuj±cymi parametrami wykonuje ró¿ne inne akcje: Czy chcesz u¿yæ FAT32?Autorzy: %s i %s. Autorzy: %s, %s, %s, %s, %s, %s, %s, %s, %s i inni. Autorzy: %s, %s, %s, %s, %s, %s, %s, %s i %s. Autorzy: %s, %s, %s, %s, %s, %s, %s i %s. Autorzy: %s, %s, %s, %s, %s, %s i %s. Autorzy: %s, %s, %s, %s, %s i %s. Autorzy: %s, %s, %s, %s i %s. Autorzy: %s, %s, %s i %s. Autorzy: %s, %s i %s. Autor: %s. Wirtualne urz±dzenie blokowe XenaTakMo¿e wyst±piæ potrzeba aktualizacji /etc/fstab. Potrzebujesz %s wolnej przestrzeni, aby zmniejszyæ partycjê do tego rozmiaru. Aktualnie, tylko %s jest wolne.Wybrano partycjê od %s do %s. Najbli¿sza z jak± Parted mo¿e sobie poradziæ jest od %s do %s.%sNale¿y przeinstalowaæ program ³aduj±cy (boot loader) przed ponownym uruchomieniem komputera. Przeczytaj rozdzia³ 4 dokumentacji u¿ytkownika Parted, aby uzyskaæ wiêcej informacji.Twój system plików posiada zbyt du¿o zajêtych i-wêz³ów, aby móc zmieniæ jego rozmiar do %i bloków. Przykro mi.Twój system plików jest zbyt pe³ny, aby móc zmieniæ jego rozmiar do %i bloków. Przykro mi.^[nN]^[yYtT]`dodawanie grupsprawd¼-wyrównaniesprawd¼-wyrównanie TYP N sprawdzenie wyrównania TYP(min|opt) partycji Nwyrównanie dla nowych partycjirodzaj wyrównania(min/opt)niejednoznaczny argument %s opcji %satvrecvbios_grub³adowalnasprawd¼check NUMER wykonuje proste sprawdzenie systemu plikówsprawdzaniesprawdzam czy istniej± uszkodzone blokikopiowaniekopiujcp [URZ¡DZENIE-¬RÓD£OWE] NUMER-¬RÓD£OWY NUMER-DOCELOWY kopiuje system plików na inn± partycjêtworzeniewyrównanie_cylindrapo¿±dane wyrównanie: minimalne lub optymalnewy¶wietla dane w formacie czytelnym dla maszynywy¶wietla numer wersjiwy¶wietla tê oto pomockoniec pliku w trakcie odczytu %srozszerzanierozszerzonanie uda³o siê ustawiæ nazwy partycji dvh na %s: Tylko logiczne partycje (³adowalne pliki) maj± nazwy.fat_table_alloc_cluster: brak wolnych klastrówfat_table_get: klaster %ld poza systemem plikówfat_table_set: klaster %ld poza systemem plikówwolnapowiêkszanie systemu plikówpomocpomoc [POLECENIE] wy¶wietla pomoc ogóln± lub dotycz±c± POLECENIAukrytaus³uga-hpnieprawid³owy argument %s%s opcji `%s'nieprawid³owy argument %s opcji %snieprawid³owy poboczny numer urz±dzenia: %sb³êdny przyrostek argumentu %s%s opcji `%s'nieprawid³owy token: %sb³±d ioctl()lbawypisuje rozk³ad partycji na wszystkich wykrytych urz±dzeniachlogicznalvmpamiêæ wyczerpanametadaneminimalnemkfsmkfs NUMER TYP tworzy system plików typu TYP na partycji NUMERmklabelmklabel,mktable TYP-ETYKIETY tworzy now± etykietê dysku (tablicê partycji)mkpartmkpart TYP-PARTYCJI [SYSTEM-PLIKÓW] POCZ¡TEK KONIEC tworzy partycjêmkpartfsmkpartfs TYP-PARTYCJI SYSTEM-PLIKÓW POCZ¡TEK KONIEC tworzy partycjê z systemem plikówmktableprzesuñmove NUMER POCZ¡TEK KONIEC przesuwa partycjê NUMERmsftresnazwaname NUMER NAZWA nadaje NAZWÊ partycji NUMERnigdy nie prosi u¿ytkownika o interwencjêwy³±czonew³±czoneb³±d otwieraniaotwieranie urz±dzenia nie powiod³o siêoptymalnepaloparted nie móg³ ponownie odczytaæ tablicy partycji na %s (%s). Oznacza to, ¿e Linux nie bêdzie wiedzia³ nic o modyfikacjach jakie zosta³y poczynione. d³ugo¶æ partycji %jd sektorów przekracza maksimum tablicy partycji %s wynosz±ce %jdped_device_new() Ten typ urz±dzenia nie jest wspieranyprepg³ównaniezgodno¶æ sumy CRC g³ównej tablicy partycjidrukujprint [devices|free|list,all|NUMER] wy¶wietla tablicê partycji, dostêpne urz±dzenia, wolne miejsce, znalezione partycje lub okre¶lon± partycjêkoniecquit koñczy pracê programuraidbezpo¶rednie kopiowanie blokówb³±d odczytuodczyt z urz±dzenia nie powiód³ siêuratujrescue POCZ¡TEK KONIEC odzyskuje utracon± partycjê blisko POCZ¡TKU i KOÑCArozmiarresize NUMER POCZ¡TEK KONIEC zmienia rozmiar systemu plików i partycji NUMERusuñrm NUMER usuwa partycjê NUMERrootszukam systemów plikówb³±d seekustawianie pozycji na urz±dzeniu nie powiod³o siêwybierzselect URZ¡DZENIE wybiera urz±dzenie do edycjiustawset NUMER FLAGA STAN zmienia flagê na partycji NUMERzmniejszaniezmniejszanie otoczki HFSzmniejszanie wbudowanego wolumenu HFS+pocz±tkowy numer sektora %jd przekracza maksimum tablicy partycji %s wynosz±ce %jdwymianyprzestawtoggle [NUMER [FLAGA]] przestawia stan FLAGI na partycji NUMERza ma³o argumentówza du¿o argumentówjednostkaunit JEDNOSTKA ustawia domy¶ln± jednostkêwersjaversion wy¶wietla numer wersji GNU Parteda i informacje o prawach autorskichb³±d zapisuzapisywanie g³ównego bloku katalogu HFS (HFS Master Directory Block)zapisywanie nag³ówka wolumenu HFS+zapis metadanych do grupzapis na urz±dzeniu nie powiód³ siêparted-2.3/po/pl.po0000644000000000000000000032555011400005705011117 00000000000000# Polish translations for GNU Parted package. # Copyright (C) 2003, 2005, 2006, 2007, 2009, 2010 Free Software Foundation, Inc. # This file is distributed under the same license as the parted package. # Wojciech Polak , 2003, 2005, 2006. # Jakub Bogusz , 2006-2010. # msgid "" msgstr "" "Project-Id-Version: parted 2.2\n" "Report-Msgid-Bugs-To: bug-parted@gnu.org\n" "POT-Creation-Date: 2010-05-28 20:30+0200\n" "PO-Revision-Date: 2010-02-26 22:32+0100\n" "Last-Translator: Jakub Bogusz \n" "Language-Team: Polish \n" "Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-2\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2);\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "nieprawid³owy argument %s opcji %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "niejednoznaczny argument %s opcji %s" #: lib/argmatch.c:153 #, c-format msgid "Valid arguments are:" msgstr "Prawid³owe argumenty to:" #: lib/closeout.c:112 libparted/labels/fdasd.c:107 msgid "write error" msgstr "b³±d zapisu" #: lib/error.c:181 msgid "Unknown system error" msgstr "Nieznany b³±d systemowy" #: lib/getopt.c:527 lib/getopt.c:543 #, c-format msgid "%s: option '%s' is ambiguous\n" msgstr "%s: opcja '%s' jest niejednoznaczna\n" #: lib/getopt.c:576 lib/getopt.c:580 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: opcja '--%s' nie mo¿e mieæ argumentów\n" #: lib/getopt.c:589 lib/getopt.c:594 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: opcja '%c%s' nie mo¿e mieæ argumentów\n" #: lib/getopt.c:637 lib/getopt.c:656 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: opcja '%s' musi mieæ argument\n" #: lib/getopt.c:694 lib/getopt.c:697 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: nieznana opcja '--%s'\n" #: lib/getopt.c:705 lib/getopt.c:708 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: nieznana opcja '%c%s'\n" #: lib/getopt.c:757 lib/getopt.c:760 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: b³êdna opcja -- '%c'\n" #: lib/getopt.c:810 lib/getopt.c:827 lib/getopt.c:1035 lib/getopt.c:1053 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: opcja musi mieæ argument -- '%c'\n" #: lib/getopt.c:883 lib/getopt.c:899 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: opcja '-W %s' jest niejednoznaczna\n" #: lib/getopt.c:923 lib/getopt.c:941 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: opcja '-W %s' nie mo¿e mieæ argumentów\n" #: lib/getopt.c:962 lib/getopt.c:980 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: opcja '%s' musi mieæ argument\n" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". If the catalog has no translation, #. locale_quoting_style quotes `like this', and #. clocale_quoting_style quotes "like this". #. #. For example, an American English Unicode locale should #. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and #. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION #. MARK). A British English Unicode locale should instead #. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) #. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. #. #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. #: lib/quotearg.c:272 msgid "`" msgstr "`" #: lib/quotearg.c:273 msgid "'" msgstr "'" #: lib/regcomp.c:134 msgid "Success" msgstr "Sukces" #: lib/regcomp.c:137 msgid "No match" msgstr "Nic nie pasuje" #: lib/regcomp.c:140 msgid "Invalid regular expression" msgstr "B³êdne wyra¿enie regularne" #: lib/regcomp.c:143 msgid "Invalid collation character" msgstr "B³êdny znak sortowany" #: lib/regcomp.c:146 msgid "Invalid character class name" msgstr "B³êdna nazwa klasy znaku" #: lib/regcomp.c:149 msgid "Trailing backslash" msgstr "Koñcz±cy znak `\\'" #: lib/regcomp.c:152 msgid "Invalid back reference" msgstr "B³êdne odnosienie wstecz" #: lib/regcomp.c:155 msgid "Unmatched [ or [^" msgstr "Niesparowane [ lub [^" #: lib/regcomp.c:158 msgid "Unmatched ( or \\(" msgstr "Niesparowane ( lub \\(" #: lib/regcomp.c:161 msgid "Unmatched \\{" msgstr "Niesparowane \\{" #: lib/regcomp.c:164 msgid "Invalid content of \\{\\}" msgstr "B³êdna zawarto¶æ \\{\\}" #: lib/regcomp.c:167 msgid "Invalid range end" msgstr "B³êdny koniec zakresu" #: lib/regcomp.c:170 msgid "Memory exhausted" msgstr "Pamiêæ wyczerpana" #: lib/regcomp.c:173 msgid "Invalid preceding regular expression" msgstr "B³êdne poprzedzaj±ce wyra¿enie regularne" #: lib/regcomp.c:176 msgid "Premature end of regular expression" msgstr "Przedwczesny koniec wyra¿enia regularnego" #: lib/regcomp.c:179 msgid "Regular expression too big" msgstr "Wyra¿enie regularne zbyt du¿e" #: lib/regcomp.c:182 msgid "Unmatched ) or \\)" msgstr "Niesparowane ) lub \\)" #: lib/regcomp.c:703 msgid "No previous regular expression" msgstr "Brak poprzedniego wyra¿enia regularnego" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[yYtT]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nN]" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Pakietuj±cy: %s (%s)\n" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Pakietuj±cy: %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "(C)" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "Licencja GPLv3+: GNU GPL w wersji 3 lub pó¼niejszej:\n" "\n" "Ten program jest wolnodostêpny: mo¿na go modyfikowaæ i rozprowadzaæ.\n" "NIE MA ¯ADNEJ GWARANCJI w zakresie dopuszczalnym przez prawo.\n" "\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Autor: %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Autorzy: %s i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Autorzy: %s, %s i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "Autorzy: %s, %s, %s\n" "i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Autorzy: %s, %s, %s,\n" "%s i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Autorzy: %s, %s, %s,\n" "%s, %s i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Autorzy: %s, %s, %s,\n" "%s, %s, %s i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Autorzy: %s, %s, %s,\n" "%s, %s, %s, %s\n" "i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Autorzy: %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Autorzy: %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s i inni.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Prosimy zg³aszaæ b³êdy na adres <%s>.\n" "B³êdy w t³umaczeniu prosimy zg³aszaæ na adres: .\n" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "Prosimy zg³aszaæ b³êdy w %s na adres <%s>.\n" #: lib/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "Strona domowa projektu %s: <%s>\n" #: lib/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "Strona domowa projektu %s: .\n" #: lib/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" "Ogólna pomoc przy u¿ywaniu oprogramowania GNU: .\n" #: lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "pamiêæ wyczerpana" #: lib/xstrtol-error.c:63 #, c-format msgid "invalid %s%s argument `%s'" msgstr "nieprawid³owy argument %s%s opcji `%s'" #: lib/xstrtol-error.c:68 #, c-format msgid "invalid suffix in %s%s argument `%s'" msgstr "b³êdny przyrostek argumentu %s%s opcji `%s'" #: lib/xstrtol-error.c:72 #, c-format msgid "%s%s argument `%s' too large" msgstr "argument %s%s `%s' zbyt du¿y" #: libparted/arch/beos.c:245 msgid "Disk Image" msgstr "Obraz dysku" #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277 #: libparted/arch/linux.c:1519 #, c-format msgid "Error opening %s: %s" msgstr "B³±d podczas otwierania %s: %s" #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287 #: libparted/arch/linux.c:1530 #, c-format msgid "Unable to open %s read-write (%s). %s has been opened read-only." msgstr "" "Nie mo¿na otworzyæ %s jednocze¶nie w trybie do odczytu i zapisu (%s). %s " "zosta³ otwarty tylko w trybie do odczytu." #: libparted/arch/beos.c:419 libparted/arch/linux.c:1688 #, c-format msgid "%s during seek for read on %s" msgstr "%s podczas ustawiania do odczytu na %s" #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564 #: libparted/arch/gnu.c:692 libparted/arch/linux.c:1648 #: libparted/arch/linux.c:1729 #, c-format msgid "%s during read on %s" msgstr "%s podczas czytania %s" #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525 #: libparted/arch/linux.c:1805 #, c-format msgid "Can't write to %s, because it is opened read-only." msgstr "Nie mo¿na zapisaæ do %s, poniewa¿ otwarte jest tylko do czytania." #: libparted/arch/beos.c:504 libparted/arch/linux.c:1830 #, c-format msgid "%s during seek for write on %s" msgstr "%s podczas ustawiania do zapisu na %s" #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646 #: libparted/arch/gnu.c:723 libparted/arch/linux.c:1778 #: libparted/arch/linux.c:1872 libparted/arch/linux.c:1944 #, c-format msgid "%s during write on %s" msgstr "%s podczas zapisu %s" #: debug/clearfat/clearfat.c:62 partprobe/partprobe.c:137 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Polecenie `%s --help' pozwoli uzyskaæ wiêcej informacji.\n" #: debug/clearfat/clearfat.c:66 #, c-format msgid "" "Usage: %s [OPTION]\n" " or: %s DEVICE MINOR\n" msgstr "" "Sk³adnia: %s [OPCJA]\n" " lub: %s URZ¡DZENIE MINOR\n" #: debug/clearfat/clearfat.c:69 msgid "" "Clear unused space on a FAT partition (a GNU Parted testing tool).\n" "\n" msgstr "" "Czyszczenie nieu¿ywanego miejsca na partycji FAT (narzêdzie testuj±ce\n" "GNU Parteda).\n" "\n" #: debug/clearfat/clearfat.c:73 msgid " --help display this help and exit\n" msgstr " --help wy¶wietlenie tego opisu i zakoñczenie\n" #: debug/clearfat/clearfat.c:74 msgid " --version output version information and exit\n" msgstr " --version wy¶wietlenie informacji o wersji i zakoñczenie\n" #: debug/clearfat/clearfat.c:76 partprobe/partprobe.c:154 #, c-format msgid "" "\n" "Report bugs to <%s>.\n" msgstr "" "\n" "Prosimy zg³aszaæ b³êdy na adres <%s>.\n" "B³êdy w t³umaczeniu prosimy zg³aszaæ na adres: .\n" #: debug/clearfat/clearfat.c:284 #, c-format msgid "too few arguments" msgstr "za ma³o argumentów" #: debug/clearfat/clearfat.c:289 #, c-format msgid "too many arguments" msgstr "za du¿o argumentów" #: debug/clearfat/clearfat.c:297 #, c-format msgid "invalid minor device number: %s" msgstr "nieprawid³owy poboczny numer urz±dzenia: %s" #: partprobe/partprobe.c:141 #, c-format msgid "Usage: %s [OPTION] [DEVICE]...\n" msgstr "Sk³adnia: %s [OPCJA] [URZ¡DZENIE]...\n" #: partprobe/partprobe.c:142 msgid "" "Inform the operating system about partition table changes.\n" "\n" " -d, --dry-run do not actually inform the operating system\n" " -s, --summary print a summary of contents\n" " -h, --help display this help and exit\n" " -v, --version output version information and exit\n" msgstr "" "Poinformowanie systemu operacyjnego o zmianach w tablicy partycji.\n" "\n" " -d, --dry-run pominiêcie informowania systemu operacyjnego\n" " -s, --summary wypisanie podsumowania zawarto¶ci\n" " -h, --help wy¶wietlenie tego opisu i zakoñczenie\n" " -v, --version wy¶wietlenie informacji o wersji i zakoñczenie\n" #: partprobe/partprobe.c:150 msgid "" "\n" "When no DEVICE is given, probe all partitions.\n" msgstr "" "\n" "Je¶li nie podano URZ¡DZENIA, sprawdzane s± wszystkie partycje.\n" #: libparted/arch/gnu.c:110 #, c-format msgid "Unable to open %s." msgstr "Nie mo¿na otworzyæ %s." #: libparted/arch/gnu.c:130 msgid "Unable to probe store." msgstr "Detekcja geometrii nie powiod³a siê." #: libparted/arch/gnu.c:368 msgid "" "The partition table cannot be re-read. This means you need to reboot before " "mounting any modified partitions. You also need to reinstall your boot " "loader before you reboot (which may require mounting modified partitions). " "It is impossible do both things! So you'll need to boot off a rescue disk, " "and reinstall your boot loader from the rescue disk. Read section 4 of the " "Parted User documentation for more information." msgstr "" "Nie mo¿na ponownie odczytaæ tablicy partycji. Nale¿y ponownie uruchomiæ " "komputer przed pod³±czeniem jakichkolwiek zmodyfikowanych partycji. Nale¿y " "tak¿e przeinstalowaæ program ³aduj±cy (boot loader) zanim uruchomisz " "ponownie komputer (co mo¿e wymagaæ pod³±czenia zmodyfikowanych partycji). " "Wykonanie dwóch powy¿szych rzeczy jest niemo¿liwe! A wiêc pozostaje Ci " "uruchomienie dysku/p³yty ratunkowej i przeinstalowanie programu ³aduj±cego " "prosto z dysku ratunkowego. Przeczytaj rozdzia³ 4 dokumentacji programu GNU " "Parted, aby uzyskaæ wiêcej informacji na ten temat." #: libparted/arch/gnu.c:385 #, c-format msgid "" "The partition table on %s cannot be re-read (%s). This means the Hurd knows " "nothing about any modifications you made. You should reboot your computer " "before doing anything with %s." msgstr "" "Nie mo¿na ponownie wczytaæ tablicy partycji na %s (%s). Oznacza to, ¿e Hurd " "nie wie o ¿adnych zmianach jakie zosta³y wprowadzone. Nale¿y ponownie " "uruchomiæ komputer zanim wykonasz jak±kolwiek operacjê na %s." #: libparted/arch/gnu.c:396 parted/parted.c:2719 msgid "" "You should reinstall your boot loader before rebooting. Read section 4 of " "the Parted User documentation for more information." msgstr "" "Nale¿y przeinstalowaæ program ³aduj±cy (boot loader) przed ponownym " "uruchomieniem komputera. Przeczytaj rozdzia³ 4 dokumentacji u¿ytkownika " "Parted, aby uzyskaæ wiêcej informacji." #: libparted/arch/gnu.c:788 #, c-format msgid "%s trying to sync %s to disk" msgstr "B³±d synchronizacji %s do dysku %s" #: libparted/arch/linux.c:509 #, c-format msgid "Could not stat device %s - %s." msgstr "Nie mo¿na sprawdziæ urz±dzenia %s - %s." #: libparted/arch/linux.c:566 #, c-format msgid "Unable to determine the dm type of %s." msgstr "Nie mo¿na okre¶liæ typu dm %s." #: libparted/arch/linux.c:658 #, c-format msgid "" "Could not determine sector size for %s: %s.\n" "Using the default sector size (%lld)." msgstr "" "Nie uda³o siê okre¶liæ rozmiaru sektora dla %s: %s.\n" "U¿yto domy¶lnego rozmiaru sektora (%lld)." #: libparted/arch/linux.c:679 #, c-format msgid "" "Could not determine physical sector size for %s.\n" "Using the logical sector size (%lld)." msgstr "" "Nie uda³o siê okre¶liæ rozmiaru sektora fizycznego dla %s.\n" "U¿yto rozmiaru sektora logicznego (%lld)." #: libparted/arch/linux.c:728 #, c-format msgid "Unable to determine the size of %s (%s)." msgstr "Nie mo¿na ustaliæ rozmiaru %s (%s)." #: libparted/arch/linux.c:814 #, c-format msgid "Could not get identity of device %s - %s" msgstr "Nie mo¿na uzyskaæ to¿samo¶ci urz±dzenia %s - %s" #: libparted/arch/linux.c:823 msgid "Generic IDE" msgstr "Ogólne IDE" #: libparted/arch/linux.c:844 #, c-format msgid "" "Device %s has multiple (%d) logical sectors per physical sector.\n" "GNU Parted supports this EXPERIMENTALLY for some special disk label/file " "system combinations, e.g. GPT and ext2/3.\n" "Please consult the web site for up-to-date information." msgstr "" "Urz±dzenie %s ma wiele (%d) logicznych sektorów w ka¿dym sektorze " "fizycznym.\n" "GNU Parted obs³uguje to EKSPERYMENTALNIE dla niektórych specjalnych po³±czeñ " "etykiet dysków i systemów plików, np. GPT i ext2/3.\n" "Aktualne informacje znajduj± siê na stronie WWW." #: libparted/arch/linux.c:1019 #, c-format msgid "Error initialising SCSI device %s - %s" msgstr "B³±d podczas inicjalizacji urz±dzenia SCSI %s - %s" #: libparted/arch/linux.c:1083 #, c-format msgid "" "The device %s has zero length, and can't possibly store a file system or " "partition table. Perhaps you selected the wrong device?" msgstr "" "Urz±dzenie %s posiada zerow± d³ugo¶æ i mo¿e nie byæ w stanie przechowywaæ " "systemu plików lub tablicy partycji. Byæ mo¿e dokonano niew³a¶ciwego wyboru " "urz±dzenia?" #: libparted/arch/linux.c:1190 #, c-format msgid "" "Unable to determine geometry of file/device %s. You should not use Parted " "unless you REALLY know what you're doing!" msgstr "" "Nie mo¿na ustaliæ geometrii pliku/urz±dzenia %s. W tym przypadku nie jest " "zalecane u¿ywanie Parteda, chyba ¿e NAPRAWDÊ wiesz co robisz!" #: libparted/arch/linux.c:1250 msgid "Generic SD/MMC Storage Card" msgstr "Karta pamiêci SD/MMC" #: libparted/arch/linux.c:1303 msgid "DAC960 RAID controller" msgstr "Kontroler DAC960 RAID" #: libparted/arch/linux.c:1308 msgid "Promise SX8 SATA Device" msgstr "Urz±dzenie Promise SX8 SATA" #: libparted/arch/linux.c:1313 msgid "ATA over Ethernet Device" msgstr "" #: libparted/arch/linux.c:1319 msgid "IBM S390 DASD drive" msgstr "Dysk DASD IBM S390" #: libparted/arch/linux.c:1325 msgid "IBM iSeries Virtual DASD" msgstr "Wirtualny dysk DASD IBM iSeries" #: libparted/arch/linux.c:1330 msgid "Compaq Smart Array" msgstr "Compaq Smart Array" #: libparted/arch/linux.c:1335 msgid "ATARAID Controller" msgstr "Kontroler ATARAID" #: libparted/arch/linux.c:1340 msgid "I2O Controller" msgstr "Kontroler I2O" #: libparted/arch/linux.c:1345 msgid "User-Mode Linux UBD" msgstr "UBD z User-Mode Linuksa" #: libparted/arch/linux.c:1358 #, c-format msgid "Linux device-mapper (%s)" msgstr "Linuksowy device-mapper (%s)" #: libparted/arch/linux.c:1369 msgid "Xen Virtual Block Device" msgstr "Wirtualne urz±dzenie blokowe Xena" #: libparted/arch/linux.c:1374 msgid "Unknown" msgstr "Nieznane" #: libparted/arch/linux.c:1383 msgid "Virtio Block Device" msgstr "Urz±dzenie blokowe Virtio" #: libparted/arch/linux.c:1388 msgid "Linux Software RAID Array" msgstr "" #: libparted/arch/linux.c:1395 msgid "ped_device_new() Unsupported device type" msgstr "ped_device_new() Ten typ urz±dzenia nie jest wspierany" #: libparted/arch/linux.c:1492 libparted/arch/linux.c:1564 #, c-format msgid "Error fsyncing/closing %s: %s" msgstr "B³±d podczas synchronizacji/zamykania %s: %s" #: libparted/arch/linux.c:1728 #, c-format msgid "end of file while reading %s" msgstr "koniec pliku w trakcie odczytu %s" #: libparted/arch/linux.c:2365 #, c-format msgid "" "Error informing the kernel about modifications to partition %s -- %s. This " "means Linux won't know about any changes you made to %s until you reboot -- " "so you shouldn't mount it or use it in any way before rebooting." msgstr "" #: libparted/arch/linux.c:2503 #, fuzzy, c-format msgid "Unable to determine the size and length of %s." msgstr "Nie mo¿na ustaliæ rozmiaru %s (%s)." #: libparted/arch/linux.c:2528 #, fuzzy, c-format msgid "Failed to add partition %d (%s)" msgstr "%s : Nie powiód³ siê odczyt bloku partycji %llu\n" #: libparted/arch/linux.c:2555 #, c-format msgid "" "Partition(s) %s on %s have been written, but we have been unable to inform " "the kernel of the change, probably because it/they are in use. As a result, " "the old partition(s) will remain in use. You should reboot now before " "making further changes." msgstr "" #: libparted/arch/linux.c:2681 #, c-format msgid "" "parted was unable to re-read the partition table on %s (%s). This means " "Linux won't know anything about the modifications you made. " msgstr "" "parted nie móg³ ponownie odczytaæ tablicy partycji na %s (%s). Oznacza to, " "¿e Linux nie bêdzie wiedzia³ nic o modyfikacjach jakie zosta³y poczynione. " #: libparted/cs/geom.c:162 #, c-format msgid "Can't have the end before the start! (start sector=%jd length=%jd)" msgstr "Nie mo¿na mieæ koñca przed pocz±tkiem! (sektor pocz.=%jd d³ugo¶æ=%jd)" #: libparted/cs/geom.c:170 msgid "Can't have a partition outside the disk!" msgstr "Nie mo¿na mieæ partycji poza dyskiem!" #: libparted/cs/geom.c:385 #, c-format msgid "Attempt to write sectors %ld-%ld outside of partition on %s." msgstr "Próba zapisania sektorów %ld-%ld poza partycj± na %s." #: libparted/cs/geom.c:425 libparted/fs/linux_swap/linux_swap.c:488 msgid "checking for bad blocks" msgstr "sprawdzam czy istniej± uszkodzone bloki" #: libparted/debug.c:97 #, c-format msgid "Backtrace has %d calls on stack:\n" msgstr "Backtrace zawiera %d wywo³añ na stosie:\n" #: libparted/debug.c:110 #, c-format msgid "Assertion (%s) at %s:%d in function %s() failed." msgstr "Zapewnienie (%s) w %s:%d w funkcji %s() nie powiod³o siê." #: libparted/disk.c:193 #, c-format msgid "%s: unrecognised disk label" msgstr "%s: nierozpoznana etykieta dysku" #: libparted/disk.c:486 #, c-format msgid "" "This libparted doesn't have write support for %s. Perhaps it was compiled " "read-only." msgstr "" "Biblioteka libparted nie posiada obs³ugi zapisu dla %s. Byæ mo¿e zosta³a " "ona zbudowana z obs³ug± tylko-do-odczytu." #: libparted/disk.c:631 #, c-format msgid "Partition %d is %s, but the file system is %s." msgstr "Partycja %d jest %s, lecz system plików jest %s." #: libparted/disk.c:841 msgid "cylinder_alignment" msgstr "wyrównanie_cylindra" #: libparted/disk.c:847 #, c-format msgid "Unknown disk flag, %d." msgstr "Nieznana flaga dysku: %d." #: libparted/disk.c:1286 #, c-format msgid "%s disk labels do not support extended partitions." msgstr "Etykiety dysku %s nie wspieraj± rozszerzonych partycji." #: libparted/disk.c:1865 #, c-format msgid "%s disk labels don't support logical or extended partitions." msgstr "Etykiety dysku %s nie wspieraj± logicznych lub rozszerzonych partycji." #: libparted/disk.c:1878 msgid "Too many primary partitions." msgstr "Zbyt du¿o partycji g³ównych." #: libparted/disk.c:1887 #, c-format msgid "" "Can't add a logical partition to %s, because there is no extended partition." msgstr "" "Nie mo¿na dodaæ logicznej partycji do %s, poniewa¿ nie istnieje rozszerzona " "partycja." #: libparted/disk.c:1911 #, c-format msgid "Can't have more than one extended partition on %s." msgstr "Nie mo¿na mieæ wiêcej ni¿ jedn± rozszerzon± partycjê na %s." #: libparted/disk.c:1921 msgid "Can't have logical partitions outside of the extended partition." msgstr "Nie mo¿na mieæ logicznych partycji poza rozszerzon± partycj±." #: libparted/disk.c:1946 #, c-format msgid "Can't have a logical partition outside of the extended partition on %s." msgstr "%s nie mo¿e mieæ logicznej partycji poza rozszerzon± partycj±." #: libparted/disk.c:1956 libparted/disk.c:2015 libparted/disk.c:2193 msgid "Can't have overlapping partitions." msgstr "Nie mo¿na mieæ nak³adaj±cych siê partycji." #: libparted/disk.c:1964 msgid "Can't have a primary partition inside an extended partition." msgstr "Nie mo¿na mieæ g³ównej partycji wewn±trz rozszerzonej partycji." #: libparted/disk.c:2395 msgid "metadata" msgstr "metadane" #: libparted/disk.c:2397 msgid "free" msgstr "wolna" #: libparted/disk.c:2399 parted/ui.c:1193 parted/ui.c:1221 msgid "extended" msgstr "rozszerzona" #: libparted/disk.c:2401 parted/ui.c:1197 parted/ui.c:1225 msgid "logical" msgstr "logiczna" #: libparted/disk.c:2403 parted/ui.c:1189 parted/ui.c:1217 msgid "primary" msgstr "g³ówna" #: libparted/disk.c:2419 msgid "boot" msgstr "³adowalna" #: libparted/disk.c:2421 msgid "bios_grub" msgstr "bios_grub" #: libparted/disk.c:2423 msgid "root" msgstr "root" #: libparted/disk.c:2425 msgid "swap" msgstr "wymiany" #: libparted/disk.c:2427 msgid "hidden" msgstr "ukryta" #: libparted/disk.c:2429 msgid "raid" msgstr "raid" #: libparted/disk.c:2431 msgid "lvm" msgstr "lvm" #: libparted/disk.c:2433 msgid "lba" msgstr "lba" #: libparted/disk.c:2435 msgid "hp-service" msgstr "us³uga-hp" #: libparted/disk.c:2437 msgid "palo" msgstr "palo" #: libparted/disk.c:2439 msgid "prep" msgstr "prep" #: libparted/disk.c:2441 msgid "msftres" msgstr "msftres" #: libparted/disk.c:2443 msgid "atvrecv" msgstr "atvrecv" #: libparted/disk.c:2445 msgid "diag" msgstr "" #: libparted/disk.c:2451 #, c-format msgid "Unknown partition flag, %d." msgstr "Nieznana flaga partycji: %d." #: libparted/exception.c:77 msgid "Information" msgstr "Informacja" #: libparted/exception.c:78 msgid "Warning" msgstr "Ostrze¿enie" #: libparted/exception.c:79 msgid "Error" msgstr "B³±d" #: libparted/exception.c:80 msgid "Fatal" msgstr "Fatalny b³±d" #: libparted/exception.c:81 msgid "Bug" msgstr "B³±d" #: libparted/exception.c:82 msgid "No Implementation" msgstr "Brak implementacji" #: libparted/exception.c:86 msgid "Fix" msgstr "Popraw" #: libparted/exception.c:87 msgid "Yes" msgstr "Tak" #: libparted/exception.c:88 msgid "No" msgstr "Nie" #: libparted/exception.c:89 msgid "OK" msgstr "OK" #: libparted/exception.c:90 msgid "Retry" msgstr "Powtórz" #: libparted/exception.c:91 msgid "Ignore" msgstr "Zignoruj" #: libparted/exception.c:92 msgid "Cancel" msgstr "Poniechaj" #: libparted/exception.c:132 #, c-format msgid "" "A bug has been detected in GNU Parted. Refer to the web site of parted " "http://www.gnu.org/software/parted/parted.html for more information of what " "could be useful for bug submitting! Please email a bug report to bug-" "parted@gnu.org containing at least the version (%s) and the following " "message: " msgstr "" "Zosta³ wykryty b³±d w dzia³aniu programu GNU Parted. Odwied¼ stronê http://" "www.gnu.org/software/parted/parted.html w celu uzyskania informacji na temat " "zg³aszania b³êdów. Proszê wys³aæ raport na temat b³êdu na adres bug-" "parted@gnu.org, do³±czaj±c numer wersji (%s) oraz nastêpuj±cy komunikat: " #: libparted/filesys.c:462 msgid "Could not detect file system." msgstr "Nie mo¿na wykryæ systemu plików." #: libparted/filesys.c:473 msgid "The file system is bigger than its volume!" msgstr "System plików jest wiêkszy ni¿ jego wolumen!" #: libparted/filesys.c:481 #, c-format msgid "Support for opening %s file systems is not implemented yet." msgstr "" "Wsparcie dla otwierania systemów plików %s nie zosta³o jeszcze " "zaimplementowane." #: libparted/filesys.c:523 #, c-format msgid "Support for creating %s file systems is not implemented yet." msgstr "" "Wsparcie dla tworzenia systemów plików %s nie zosta³o jeszcze " "zaimplementowane." #: libparted/filesys.c:583 #, c-format msgid "Support for checking %s file systems is not implemented yet." msgstr "" "Wsparcie dla sprawdzania systemów plików %s nie zosta³o jeszcze " "zaimplementowane." #: libparted/filesys.c:649 msgid "raw block copying" msgstr "bezpo¶rednie kopiowanie bloków" #: libparted/filesys.c:660 msgid "growing file system" msgstr "powiêkszanie systemu plików" #: libparted/filesys.c:700 msgid "Can't copy onto an overlapping partition." msgstr "Nie mo¿na skopiowaæ na nak³adaj±c± siê partycjê." #: libparted/filesys.c:722 #, c-format msgid "" "Direct support for copying file systems is not yet implemented for %s. " "However, support for resizing is implemented. Therefore, the file system " "can be copied if the new partition is at least as big as the old one. So, " "either shrink the partition you are trying to copy, or copy to a bigger " "partition." msgstr "" "Bezpo¶rednie wsparcie kopiowania systemów plików dla %s nie jest jeszcze " "zaimplementowane. Aczkolwiek, wspierana jest zmiana rozmiaru systemu " "plików. Tak wiêc, system plików mo¿e zostaæ skopiowany, je¶li nowa partycja " "ma przynajmniej tak± sam± pojemno¶æ jak stara. Mo¿esz tak¿e zmniejszyæ " "rozmiar partycji, któr± chcesz skopiowaæ lub skopiuj na partycjê o wiêkszym " "rozmiarze." #: libparted/filesys.c:736 #, c-format msgid "Support for copying %s file systems is not implemented yet." msgstr "" "Wsparcie dla kopiowania systemów plików %s nie zosta³o jeszcze " "zaimplementowane." #: libparted/filesys.c:774 #, c-format msgid "Support for resizing %s file systems is not implemented yet." msgstr "" "Wsparcie dla zmiany wielko¶ci systemów plików %s nie zosta³o jeszcze " "zaimplementowane." #: libparted/fs/reiserfs/reiserfs.c:315 msgid "creating" msgstr "tworzenie" #: libparted/fs/reiserfs/reiserfs.c:402 msgid "The file system is in an invalid state. Perhaps it is mounted?" msgstr "System plików jest w nieprawid³owym stanie. Mo¿e jest zamontowany?" #: libparted/fs/reiserfs/reiserfs.c:410 msgid "The file system is in old (unresizeable) format." msgstr "" "System plików jest w starym formacie, nie pozwalaj±cym na zmianê rozmiaru." #: libparted/fs/reiserfs/reiserfs.c:416 msgid "Invalid free blocks count. Run reiserfsck --check first." msgstr "" "B³êdna liczba wolnych bloków. Proszê uruchomiæ najpierw reiserfsck --check." #: libparted/fs/reiserfs/reiserfs.c:431 msgid "checking" msgstr "sprawdzanie" #: libparted/fs/reiserfs/reiserfs.c:437 msgid "Reiserfs tree seems to be corrupted. Run reiserfsck --check first." msgstr "" "Drzewo reiserfs wygl±da na uszkodzone. Proszê uruchomiæ najpierw reiserfsck " "--check." #: libparted/fs/reiserfs/reiserfs.c:449 msgid "" "The reiserfs file system passed a basic check. For a more comprehensive " "check, run reiserfsck --check." msgstr "" "System plików reiserfs przeszed³ pomy¶lnie podstawowe sprawdzenie. " "Dok³adniejszego sprawdzenia mo¿na dokonaæ poleceniem reiserfsck --check." #: libparted/fs/reiserfs/reiserfs.c:474 msgid "Sorry, can't move the start of reiserfs partitions yet." msgstr "Niestety nie mo¿na jeszcze przesun±æ pocz±tku partycji reiserfs." #: libparted/fs/reiserfs/reiserfs.c:490 msgid "Couldn't reopen device abstraction layer for read/write." msgstr "" "Nie mo¿na ponownie otworzyæ warstwy abstrakcji urz±dzenia do odczytu/zapisu." #: libparted/fs/reiserfs/reiserfs.c:508 libparted/fs/ext2/ext2_resize.c:552 #: libparted/fs/hfs/hfs.c:250 libparted/fs/hfs/hfs.c:629 msgid "shrinking" msgstr "zmniejszanie" #: libparted/fs/reiserfs/reiserfs.c:520 msgid "expanding" msgstr "rozszerzanie" #: libparted/fs/reiserfs/reiserfs.c:592 msgid "Couldn't create reiserfs device abstraction handler." msgstr "Nie uda³o siê utworzyæ obs³ugi abstrakcji urz±dzenia reiserfs." #: libparted/fs/reiserfs/reiserfs.c:606 #, c-format msgid "Device is too small for %lu blocks." msgstr "Urz±dzenie jest zbyt ma³e na %lu bloków." #: libparted/fs/reiserfs/reiserfs.c:615 msgid "copying" msgstr "kopiowanie" #: libparted/fs/reiserfs/reiserfs.c:682 #, c-format msgid "Couldn't resolve symbol %s. Error: %s." msgstr "Nie uda³o siê rozwi±zaæ symbolu %s. B³±d: %s." #: libparted/fs/reiserfs/reiserfs.c:704 msgid "GNU Parted found an invalid libreiserfs library." msgstr "GNU Parted znalaz³ b³êdn± bibliotekê libreiserfs." #: libparted/fs/reiserfs/reiserfs.c:715 #, c-format msgid "" "GNU Parted has detected libreiserfs interface version mismatch. Found %d-" "%d, required %d. ReiserFS support will be disabled." msgstr "" "GNU Parted wykry³ niezgodno¶æ wersji interfejsu libreiserfs. Znaleziono %d-" "%d, wymagana jest %d. Obs³uga ReiserFS bêdzie wy³±czona." #: libparted/labels/aix.c:103 msgid "Support for reading AIX disk labels is is not implemented yet." msgstr "" "Obs³uga odczytu etykiet dyskowych AIX jeszcze nie zosta³a zaimplementowana." #: libparted/labels/aix.c:114 msgid "Support for writing AIX disk labels is is not implemented yet." msgstr "" "Obs³uga zapisu etykiet dyskowych AIX jeszcze nie zosta³a zaimplementowana." #: libparted/labels/aix.c:127 msgid "" "Support for adding partitions to AIX disk labels is not implemented yet." msgstr "" "Obs³uga dodawania partycji do etykiet dyskowych AIX jeszcze nie zosta³a " "zaimplementowana." #: libparted/labels/aix.c:137 msgid "" "Support for duplicating partitions in AIX disk labels is not implemented yet." msgstr "" "Obs³uga powielania partycji na etykietach dyskowych AIX jeszcze nie zosta³a " "zaimplementowana." #: libparted/labels/aix.c:155 msgid "" "Support for setting system type of partitions in AIX disk labels is not " "implemented yet." msgstr "" "Obs³uga ustawiania rodzaju systemu partycji na etykietach dyskowych AIX " "jeszcze nie zosta³a zaimplementowana." #: libparted/labels/aix.c:165 msgid "Support for setting flags in AIX disk labels is not implemented yet." msgstr "" "Obs³uga ustawiania flag na etykietach dyskowych AIX jeszcze nie zosta³a " "zaimplementowana." #: libparted/labels/bsd.c:568 libparted/labels/dasd.c:783 #: libparted/labels/dos.c:2092 libparted/labels/dvh.c:788 #: libparted/labels/gpt.c:1750 libparted/labels/loop.c:245 #: libparted/labels/mac.c:1424 libparted/labels/pc98.c:749 #: libparted/labels/rdb.c:1051 libparted/labels/sun.c:821 msgid "Unable to satisfy all constraints on the partition." msgstr "Nie mo¿na zaspokoiæ wszystkich ograniczeñ na partycji." #: libparted/labels/bsd.c:593 msgid "Unable to allocate a bsd disklabel slot." msgstr "Nie mo¿na przydzieliæ miejsca na etykietê dysku bsd." #: libparted/labels/dasd.c:809 msgid "Unable to allocate a dasd disklabel slot" msgstr "Nie mo¿na przydzieliæ miejsca na etykiecie dysku dasd." #: libparted/labels/dos.c:882 #, c-format msgid "Invalid partition table on %s -- wrong signature %x." msgstr "Nieprawid³owa tablica partycji na %s -- b³êdna sygnatura %x." #: libparted/labels/dos.c:910 #, c-format msgid "Invalid partition table - recursive partition on %s." msgstr "Nieprawid³owa tablica partycji - partycja rekursywna na %s." #: libparted/labels/dos.c:1420 msgid "Extended partitions cannot be hidden on msdos disk labels." msgstr "Rozszerzone partycje nie mog± byæ ukryte dla etykieta dysków msdos." #: libparted/labels/dos.c:2074 msgid "Parted can't resize partitions managed by Windows Dynamic Disk." msgstr "" "Parted nie mo¿e zmieniæ rozmiaru partycji zarz±dzanych przez Windows Dynamic " "Disk." #: libparted/labels/dvh.c:201 #, c-format msgid "%s has no extended partition (volume header partition)." msgstr "" "%s nie posiada ¿adnych rozszerzonych partycji (partycji nag³ówka wolumenu)." #: libparted/labels/dvh.c:327 msgid "Checksum is wrong, indicating the partition table is corrupt." msgstr "" "Suma kontrolna jest b³êdna i oznacza to, ¿e tablica partycji jest uszkodzona." #: libparted/labels/dvh.c:632 msgid "Only primary partitions can be root partitions." msgstr "Tylko g³ówne partycje mog± byæ typu root." #: libparted/labels/dvh.c:646 msgid "Only primary partitions can be swap partitions." msgstr "Tylko g³ówne partycje mog± byæ partycjami wymiany." #: libparted/labels/dvh.c:660 msgid "Only logical partitions can be a boot file." msgstr "Tylko logiczne partycje mog± byæ plikami ³adowalnymi (boot)." #: libparted/labels/dvh.c:737 #, c-format msgid "" "failed to set dvh partition name to %s:\n" "Only logical partitions (boot files) have a name." msgstr "" "nie uda³o siê ustawiæ nazwy partycji dvh na %s:\n" "Tylko logiczne partycje (³adowalne pliki) maj± nazwy." #: libparted/labels/dvh.c:830 msgid "Too many primary partitions" msgstr "Zbyt du¿o partycji g³ównych" #: libparted/labels/fdasd.c:98 msgid "open error" msgstr "b³±d otwierania" #: libparted/labels/fdasd.c:101 msgid "seek error" msgstr "b³±d seek" #: libparted/labels/fdasd.c:104 msgid "read error" msgstr "b³±d odczytu" #: libparted/labels/fdasd.c:110 msgid "ioctl() error" msgstr "b³±d ioctl()" #: libparted/labels/fdasd.c:114 msgid "API version mismatch" msgstr "niezgodno¶æ wersji API" #: libparted/labels/fdasd.c:118 msgid "Unsupported disk type" msgstr "Nieobs³ugiwany typ dysku" #: libparted/labels/fdasd.c:122 msgid "Unsupported disk format" msgstr "Nieobs³ugiwany format dysku" #: libparted/labels/fdasd.c:126 msgid "Disk is in use" msgstr "Dysk jest w u¿yciu" #: libparted/labels/fdasd.c:130 msgid "Syntax error in config file" msgstr "B³±d sk³adni w pliku konfiguracyjnym" #: libparted/labels/fdasd.c:134 msgid "Volume label is corrupted" msgstr "Uszkodzona etykieta wolumenu" #: libparted/labels/fdasd.c:138 msgid "A data set name is corrupted" msgstr "Uszkodzona nazwa zbioru danych" #: libparted/labels/fdasd.c:142 msgid "Memory allocation failed" msgstr "Przydzielanie pamiêci powiod³o siê" #: libparted/labels/fdasd.c:146 msgid "Device verification failed" msgstr "Weryfikacja urz±dzenia nie powiod³o siê" #: libparted/labels/fdasd.c:147 msgid "The specified device is not a valid DASD device" msgstr "Podane urz±dzenie nie jest poprawnym urz±dzeniem DASD" #: libparted/labels/fdasd.c:150 libparted/labels/vtoc.c:179 msgid "Fatal error" msgstr "B³±d krytyczny" #: libparted/labels/fdasd.c:226 msgid "No room for volume label." msgstr "Brak miejsca na etykietê wolumenu." #: libparted/labels/fdasd.c:234 msgid "No room for partition info." msgstr "Brak miejsca na informacjê o partycji." #: libparted/labels/fdasd.c:704 msgid "Invalid VTOC." msgstr "Nieprawid³owe dane VTOC." #: libparted/labels/fdasd.c:764 msgid "Could not retrieve API version." msgstr "Nie uda³o siê odczytaæ wersji API." #: libparted/labels/fdasd.c:767 #, c-format msgid "" "The current API version '%d' doesn't match dasd driver API version '%d'!" msgstr "" "Aktualna wersja API '%d' nie zgadza siê z wersj± API sterownika dasd '%d'!" #: libparted/labels/fdasd.c:804 msgid "Could not retrieve disk geometry information." msgstr "Nie uda³o siê odczytaæ informacji o geometrii dysku." #: libparted/labels/fdasd.c:808 msgid "Could not retrieve blocksize information." msgstr "Nie uda³o siê odczytaæ informacji o rozmiarze bloku." #: libparted/labels/fdasd.c:813 msgid "Could not retrieve disk information." msgstr "Nie uda³o siê odczytaæ informacji o dysku." #: libparted/labels/fdasd.c:818 msgid "This is not an ECKD disk! This disk type is not supported!" msgstr "To nie jest dysk ECKD! Ten typ dysku nie jest obs³ugiwany!" #: libparted/labels/gpt.c:485 #, c-format msgid "" "%s contains GPT signatures, indicating that it has a GPT table. However, it " "does not have a valid fake msdos partition table, as it should. Perhaps it " "was corrupted -- possibly by a program that doesn't understand GPT partition " "tables. Or perhaps you deleted the GPT table, and are now using an msdos " "partition table. Is this a GPT partition table?" msgstr "" "%s zawiera sygnaturê GPT. Oznacza to, ¿e posiada tablicê GPT, ale nie " "posiada prawid³owej fa³szywej tablicy partycji msdos, tak jak powinna. Byæ " "mo¿e jest uszkodzona -- mo¿liwe, ¿e przez program, który nie rozumie tablic " "partycji GPT. Albo te¿ tablica GPT zosta³a skasowana, za¶ teraz u¿ywana " "jest tablica partycji msdos. Czy to jest tablica partycji GPT?" #: libparted/labels/gpt.c:680 #, c-format msgid "" "The format of the GPT partition table is version %x, which is newer than " "what Parted can recognise. Please tell us! bug-parted@gnu.org" msgstr "" "Format tablicy partycji GPT (wersja %x) jest nowszy ni¿ program Parted jest " "w stanie rozpoznaæ. Poinformuj nas o tym! bug-parted@gnu.org" #: libparted/labels/gpt.c:727 #, c-format msgid "" "Not all of the space available to %s appears to be used, you can fix the GPT " "to use all of the space (an extra %llu blocks) or continue with the current " "setting? " msgstr "" "Nie ca³e dostêpne miejsce na %s wydaje siê byæ u¿ywane, poprawiæ GPT, aby " "u¿yte zosta³o ca³e miejsce (dodatkowe %llu bloków) czy kontynuowaæ przy " "aktualnych ustawieniach? " #: libparted/labels/gpt.c:936 msgid "" "The backup GPT table is not at the end of the disk, as it should be. This " "might mean that another operating system believes the disk is smaller. Fix, " "by moving the backup to the end (and removing the old backup)?" msgstr "" "Kopia zapasowa tablicy GPT nie znajduje siê na koñcu dysku, a powinna. Mo¿e " "to oznaczaæ, ¿e inny system operacyjny my¶li, ¿e dysk jest mniejszy ni¿ jest " "w rzeczywisto¶ci. Czy naprawiæ to poprzez przesuniêcie kopii zapasowej na " "koniec (i usuniêcie starej kopii)?" #: libparted/labels/gpt.c:960 msgid "" "Both the primary and backup GPT tables are corrupt. Try making a fresh " "table, and using Parted's rescue feature to recover partitions." msgstr "" "Obie tablice GPT, g³ówna i jej kopia zapasowa, s± uszkodzone. Spróbuj " "utworzyæ now± tablicê oraz u¿yj opcjê 'rescue', aby odzyskaæ partycje." #: libparted/labels/gpt.c:971 msgid "" "The backup GPT table is corrupt, but the primary appears OK, so that will be " "used." msgstr "" "Zapasowa tablica GPT jest uszkodzona, ale g³ówna wydaje siê byæ w porz±dku i " "zostanie ona u¿yta." #: libparted/labels/gpt.c:983 msgid "" "The primary GPT table is corrupt, but the backup appears OK, so that will be " "used." msgstr "" "G³ówna tablica GPT jest uszkodzona, ale jej kopia zapasowa wydaje siê byæ w " "porz±dku i zostanie ona u¿yta." #: libparted/labels/gpt.c:1007 msgid "primary partition table array CRC mismatch" msgstr "niezgodno¶æ sumy CRC g³ównej tablicy partycji" #: libparted/labels/mac.c:185 #, c-format msgid "Invalid signature %x for Mac disk labels." msgstr "Nieprawid³owy podpis %x dla etykiet dysków Mac." #: libparted/labels/mac.c:232 msgid "Partition map has no partition map entry!" msgstr "Mapa partycji nie posiada wpisu mapy partycji!" #: libparted/labels/mac.c:280 #, c-format msgid "%s is too small for a Mac disk label!" msgstr "%s jest zbyt ma³y dla etykiety dysku Mac!" #: libparted/labels/mac.c:509 #, c-format msgid "Partition %d has an invalid signature %x." msgstr "Partycja %d posiada nieprawid³owy podpis %x." #: libparted/labels/mac.c:527 #, c-format msgid "Partition %d has an invalid length of 0 bytes!" msgstr "Partycja %d posiada nieprawid³ow± d³ugo¶æ 0 bajtów!" #: libparted/labels/mac.c:558 msgid "The data region doesn't start at the start of the partition." msgstr "Obszar danych nie rozpoczyna siê na pocz±tku partycji." #: libparted/labels/mac.c:575 msgid "The boot region doesn't start at the start of the partition." msgstr "Obszar rozruchowy nie zaczyna siê na pocz±tku partycji." #: libparted/labels/mac.c:589 msgid "The partition's boot region doesn't occupy the entire partition." msgstr "Obszar rozruchowy partycji nie okupuje ca³ej partycji." #: libparted/labels/mac.c:600 msgid "The partition's data region doesn't occupy the entire partition." msgstr "Obszar danych partycji nie okupuje ca³ej partycji." #: libparted/labels/mac.c:653 #, c-format msgid "" "Weird block size on device descriptor: %d bytes is not divisible by 512." msgstr "" "Dziwny rozmiar bloku w deskryptorze urz±dzenia: %d bajtów nie jest podzielne " "przez 512." #: libparted/labels/mac.c:666 #, c-format msgid "" "The driver descriptor says the physical block size is %d bytes, but Linux " "says it is %d bytes." msgstr "" "Deskryptor napêdu mówi, ¿e fizyczny rozmiar bloku wynosi %d bajtów, ale " "Linux mówi, ¿e wynosi %d bajtów." #: libparted/labels/mac.c:720 msgid "No valid partition map found." msgstr "Nie znaleziono prawid³owej mapy partycji." #: libparted/labels/mac.c:782 #, c-format msgid "" "Conflicting partition map entry sizes! Entry 1 says it is %d, but entry %d " "says it is %d!" msgstr "" "Wyst±pi³ konflikt miêdzy rozmiarami wpisów mapy partycji! Wpis 1 mówi, ¿e " "jest %d, ale wpis %d mówi, ¿e jest %d!" #: libparted/labels/mac.c:809 msgid "Weird! There are 2 partitions map entries!" msgstr "Dziwne! Istniej± 2 wpisy map partycji!" #: libparted/labels/mac.c:1355 msgid "" "Changing the name of a root or swap partition will prevent Linux from " "recognising it as such." msgstr "" "Zmiana nazwy partycji root lub wymiany spowoduje, ¿e Linux jej nie rozpozna." #: libparted/labels/mac.c:1459 msgid "Can't add another partition -- the partition map is too small!" msgstr "Nie mo¿na dodaæ kolejnej partycji -- mapa partycji jest zbyt ma³a!" #: libparted/labels/pc98.c:331 #, c-format msgid "Invalid partition table on %s." msgstr "Nieprawid³owa tablica partycji na %s." #: libparted/labels/pc98.c:384 libparted/labels/pc98.c:462 #, c-format msgid "" "Partition %d isn't aligned to cylinder boundaries. This is still " "unsupported." msgstr "" "Partycja %d nie jest wyrównana do granic cylindra. Nadal nie jest to " "wspierane." #: libparted/labels/pc98.c:781 msgid "Can't add another partition." msgstr "Nie mo¿na dodaæ kolejnej partycji." #: libparted/labels/pt-tools.c:125 #, c-format msgid "" "partition length of %jd sectors exceeds the %s-partition-table-imposed " "maximum of %jd" msgstr "" "d³ugo¶æ partycji %jd sektorów przekracza maksimum tablicy partycji %s " "wynosz±ce %jd" #: libparted/labels/pt-tools.c:138 #, c-format msgid "" "starting sector number, %jd exceeds the %s-partition-table-imposed maximum " "of %jd" msgstr "" "pocz±tkowy numer sektora %jd przekracza maksimum tablicy partycji %s " "wynosz±ce %jd" #: libparted/labels/rdb.c:170 #, c-format msgid "%s : Bad checksum on block %llu of type %s." msgstr "%s : Nieprawid³owa suma kontrolna bloku %llu typu %s." #: libparted/labels/rdb.c:486 #, c-format msgid "%s : Didn't find rdb block, should never happen." msgstr "%s : Nie znaleziono bloku rdb, co nie powinno siê zdarzyæ." #: libparted/labels/rdb.c:572 #, c-format msgid "%s : Loop detected at block %d." msgstr "%s : Wykryto pêtlê na bloku %d." #: libparted/labels/rdb.c:591 #, c-format msgid "%s : The %s list seems bad at block %s." msgstr "%s : Lista %s wydaje siê byæ uszkodzona na bloku %s." #: libparted/labels/rdb.c:690 #, c-format msgid "%s : Failed to list bad blocks." msgstr "%s : Nie powiod³o siê wypisanie uszkodzonych bloków." #: libparted/labels/rdb.c:698 #, c-format msgid "%s : Failed to list partition blocks." msgstr "%s : Wypisanie bloków partycji nie powiod³o siê." #: libparted/labels/rdb.c:706 #, c-format msgid "%s : Failed to list file system blocks." msgstr "%s : Wypisanie bloków systemu plików nie powiod³o siê." #: libparted/labels/rdb.c:714 #, c-format msgid "%s : Failed to list boot blocks." msgstr "%s : Nie powiod³o siê wypisanie bloków rozruchowych." #: libparted/labels/rdb.c:741 #, c-format msgid "Failed to write partition block at %d." msgstr "Nie powiód³ siê zapis bloku partycji na %d." #: libparted/labels/rdb.c:1079 msgid "Unable to allocate a partition number." msgstr "Nie mo¿na przydzieliæ numeru partycji." #: libparted/labels/sun.c:163 msgid "Corrupted Sun disk label detected." msgstr "Wykryto uszkodzon± etykietê dysku Sun." #: libparted/labels/sun.c:316 #, c-format msgid "" "The disk CHS geometry (%d,%d,%d) reported by the operating system does not " "match the geometry stored on the disk label (%d,%d,%d)." msgstr "" "Geometria dysku CHS (%d,%d,%d), zg³oszona przez system operacyjny, nie " "pasuje do geometrii przechowywanej w etykiecie dysku (%d,%d,%d)." #: libparted/labels/sun.c:338 #, c-format msgid "The disk label describes a disk bigger than %s." msgstr "Etykieta dysku opisuje dysk wiêkszy ni¿ %s." #: libparted/labels/sun.c:510 #, c-format msgid "The disk has %d cylinders, which is greater than the maximum of 65536." msgstr "" "Dysk posiada %d cylindrów, co stanowi wiêcej ni¿ dopuszczalny limit 65536." #: libparted/labels/sun.c:853 msgid "" "The Whole Disk partition is the only available one left. Generally, it is " "not a good idea to overwrite this partition with a real one. Solaris may " "not be able to boot without it, and SILO (the sparc boot loader) appreciates " "it as well." msgstr "" "Partycja ca³ego dysku jest jedyn± jaka pozosta³a. Generalnie nie jest to " "dobry pomys³, aby j± nadpisaæ inn±, prawdziw±. System Solaris mo¿e siê bez " "niej nie uruchomiæ, za¶ SILO (program ³aduj±cy SPARC) równie¿ j± doceni." #: libparted/labels/sun.c:868 msgid "Sun disk label is full." msgstr "Etykieta dysku Sun jest pe³na." #: libparted/labels/vtoc.c:164 msgid "opening of device failed" msgstr "otwieranie urz±dzenia nie powiod³o siê" #: libparted/labels/vtoc.c:168 msgid "seeking on device failed" msgstr "ustawianie pozycji na urz±dzeniu nie powiod³o siê" #: libparted/labels/vtoc.c:172 msgid "writing to device failed" msgstr "zapis na urz±dzeniu nie powiód³ siê" #: libparted/labels/vtoc.c:176 msgid "reading from device failed" msgstr "odczyt z urz±dzenia nie powiód³ siê" #: libparted/labels/vtoc.c:277 libparted/labels/vtoc.c:284 msgid "Could not read volume label." msgstr "Nie uda³o siê odczytaæ etykiety wolumenu." #: libparted/labels/vtoc.c:303 libparted/labels/vtoc.c:308 msgid "Could not write volume label." msgstr "Nie uda³o siê zapisaæ etykiety wolumenu." #: libparted/labels/vtoc.c:414 msgid "Could not read VTOC labels." msgstr "Nie uda³o siê odczytaæ etykiet VTOC." #: libparted/labels/vtoc.c:420 msgid "Could not read VTOC FMT1 DSCB." msgstr "Nie uda³o siê odczytaæ VTOC FMT1 DSCB." #: libparted/labels/vtoc.c:427 msgid "Could not read VTOC FMT4 DSCB." msgstr "Nie uda³o siê odczytaæ VTOC FMT4 DSCB." #: libparted/labels/vtoc.c:434 msgid "Could not read VTOC FMT5 DSCB." msgstr "Nie uda³o siê odczytaæ VTOC FMT5 DSCB." #: libparted/labels/vtoc.c:441 msgid "Could not read VTOC FMT7 DSCB." msgstr "Nie uda³o siê odczytaæ VTOC FMT7 DSCB." #: libparted/labels/vtoc.c:461 msgid "Could not write VTOC labels." msgstr "Nie uda³o siê zapisaæ etykiet VTOC." #: libparted/labels/vtoc.c:467 msgid "Could not write VTOC FMT1 DSCB." msgstr "Nie uda³o siê zapisaæ VTOC FMT1 DSCB." #: libparted/labels/vtoc.c:474 msgid "Could not write VTOC FMT4 DSCB." msgstr "Nie uda³o siê zapisaæ VTOC FMT4 DSCB." #: libparted/labels/vtoc.c:481 msgid "Could not write VTOC FMT5 DSCB." msgstr "Nie uda³o siê zapisaæ VTOC FMT5 DSCB." #: libparted/labels/vtoc.c:488 msgid "Could not write VTOC FMT7 DSCB." msgstr "Nie uda³o siê zapisaæ VTOC FMT7 DSCB." #: libparted/libparted.c:237 libparted/libparted.c:252 msgid "Out of memory." msgstr "Brak pamiêci." #: libparted/unit.c:138 msgid "Cannot get unit size for special unit 'COMPACT'." msgstr "" "Nie mo¿na pobraæ rozmiaru jednostki dla specjalnej jednostki 'COMPACT'." #: libparted/unit.c:384 #, c-format msgid "\"%s\" has invalid syntax for locations." msgstr "\"%s\" posiada nieprawid³ow± sk³adniê dla lokacji." #: libparted/unit.c:392 #, c-format msgid "The maximum head value is %d." msgstr "Maksymalna warto¶æ g³owicy wynosi %d." #: libparted/unit.c:399 #, c-format msgid "The maximum sector value is %d." msgstr "Maksymalna warto¶æ sektora wynosi %d." #: libparted/unit.c:411 libparted/unit.c:543 #, c-format msgid "The location %s is outside of the device %s." msgstr "Lokacja %s jest poza urz±dzeniem %s." #: libparted/unit.c:525 msgid "Invalid number." msgstr "Nieprawid³owy numer." #: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:56 #: libparted/fs/amiga/asfs.c:70 #, c-format msgid "%s : Failed to allocate partition block\n" msgstr "%s : Nie powiod³o siê przydzielanie bloku partycji\n" #: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:69 #: libparted/fs/amiga/asfs.c:82 #, c-format msgid "%s : Failed to allocate block\n" msgstr "%s : Nie powiod³o siê przydzielanie bloku\n" #: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:74 #, c-format msgid "%s : Couldn't read boot block %llu\n" msgstr "%s : Nie uda³o siê odczytaæ bloku startowego %llu\n" #: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:85 #: libparted/fs/amiga/asfs.c:88 libparted/fs/amiga/asfs.c:102 #, c-format msgid "%s : Couldn't read root block %llu\n" msgstr "%s : Nie uda³o siê odczytaæ bloku g³ównego %llu\n" #: libparted/fs/amiga/amiga.c:72 #, c-format msgid "%s : Failed to allocate id list element\n" msgstr "%s : Nie powiod³o siê przydzielanie elementu id listy\n" #: libparted/fs/amiga/amiga.c:189 #, c-format msgid "%s : Couldn't read block %llu\n" msgstr "%s : Nie uda³o siê odczytaæ bloku %llu\n" #: libparted/fs/amiga/amiga.c:202 #, c-format msgid "%s : Bad checksum on block %llu of type %s\n" msgstr "%s : Nieprawid³owa suma kontrolna bloku %llu typu %s\n" #: libparted/fs/amiga/amiga.c:212 #, c-format msgid "%s : Couldn't write block %d\n" msgstr "%s : Nie uda³o siê zapisaæ bloku %d\n" #: libparted/fs/amiga/amiga.c:278 #, c-format msgid "%s : Failed to allocate disk_specific rdb block\n" msgstr "%s : Nie powiod³o siê przydzielanie bloku rdb disk_specific\n" #: libparted/fs/amiga/amiga.c:289 #, c-format msgid "%s : Didn't find rdb block, should never happen\n" msgstr "%s : Nie znaleziono bloku rdb, co nie powinno siê zdarzyæ\n" #: libparted/fs/amiga/amiga.c:318 #, c-format msgid "%s : Failed to read partition block %llu\n" msgstr "%s : Nie powiód³ siê odczyt bloku partycji %llu\n" #: libparted/fs/ext2/ext2.c:87 libparted/fs/ext2/ext2.c:112 msgid "Inconsistent group descriptors!" msgstr "Sprzeczne deskryptory grup!" #: libparted/fs/ext2/ext2.c:91 libparted/fs/ext2/ext2.c:116 msgid "File system full!" msgstr "Pe³ny system plików!" #: libparted/fs/ext2/ext2.c:686 msgid "Invalid superblock. Are you sure this is an ext2 file system?" msgstr "Nieprawid³owy superblok. Czy to na pewno jest system plików ext2?" #: libparted/fs/ext2/ext2.c:700 libparted/fs/ext2/ext2_resize.c:658 msgid "File system has errors! You should run e2fsck." msgstr "System plików posiada b³êdy! Uruchom program e2fsck." #: libparted/fs/ext2/ext2.c:711 msgid "" "File system was not cleanly unmounted! You should run e2fsck. Modifying an " "unclean file system could cause severe corruption." msgstr "" "System plików nie zosta³ prawid³owo od³±czony! Uruchom program e2fsck. " "Modyfikowanie takiego systemu plików mo¿e spowodowaæ jego uszkodzenie." #: libparted/fs/ext2/ext2.c:731 msgid "" "File system has an incompatible feature enabled. Compatible features are " "has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs " "or debugfs to remove features." msgstr "" "System plików ma w³±czone niekompatybilne cechy. Cechy kompatybilne to " "has_journal, dir_index, filetype, sparse_super i large_file. Cechy mo¿na " "usun±æ przy u¿yciu tune2fs lub debugfs." #: libparted/fs/ext2/ext2.c:745 msgid "Error allocating buffer cache." msgstr "B³±d podczas przydzielania pamiêci do bufora podrêcznego." #: libparted/fs/ext2/ext2_inode_relocator.c:114 msgid "" "Found an inode with a incorrect link count. Better go run e2fsck first!" msgstr "" "Znaleziono i-wêze³ z nieprawid³owym licznikiem dowi±zañ. Lepiej uruchom " "najpierw program e2fsck!" #: libparted/fs/ext2/ext2_inode_relocator.c:487 msgid "Not enough free inodes!" msgstr "Zbyt ma³o wolnych i-wêz³ów!" #: libparted/fs/ext2/ext2_resize.c:223 msgid "File system is too full to remove a group!" msgstr "System plików jest zbyt pe³ny, aby usun±æ grupê!" #: libparted/fs/ext2/ext2_resize.c:232 msgid "File system has too many allocated inodes to remove a group!" msgstr "" "System plików posiada zbyt du¿o przydzielonych i-wêz³ów, aby usun±æ grupê!" #: libparted/fs/ext2/ext2_resize.c:491 msgid "adding groups" msgstr "dodawanie grup" #: libparted/fs/ext2/ext2_resize.c:528 #, c-format msgid "Your file system is too full to resize it to %i blocks. Sorry." msgstr "" "Twój system plików jest zbyt pe³ny, aby móc zmieniæ jego rozmiar do %i " "bloków. Przykro mi." #: libparted/fs/ext2/ext2_resize.c:538 #, c-format msgid "" "Your file system has too many occupied inodes to resize it to %i blocks. " "Sorry." msgstr "" "Twój system plików posiada zbyt du¿o zajêtych i-wêz³ów, aby móc zmieniæ jego " "rozmiar do %i bloków. Przykro mi." #: libparted/fs/ext2/ext2_resize.c:666 msgid "File system was not cleanly unmounted! You should run e2fsck." msgstr "" "System plików nie zosta³ prawid³owo od³±czony! Uruchom program e2fsck." #: libparted/fs/ext2/ext2_resize.c:675 msgid "" "The file system has the 'dir_index' feature enabled. Parted can only resize " "the file system if it disables this feature. You can enable it later by " "running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'." msgstr "" "System plików posiada w³±czon± funkcjê 'dir_index'. Parted mo¿e zmieniæ " "rozmiar systemu plików tylko je¶li zostanie wy³±czona ta funkcja. Mo¿esz j± " "w³±czyæ ponownie pó¼niej poprzez uruchomienie 'tune2fs -O dir_index " "URZ¡DZENIE', a nastêpnie 'e2fsck -fD URZ¡DZENIE'." #: libparted/fs/ext2/ext2_resize.c:691 msgid "" "A resize operation on this file system will use EXPERIMENTAL code\n" "that MAY CORRUPT it (although no one has reported any such damage yet).\n" "You should at least backup your data first, and run 'e2fsck -f' afterwards." msgstr "" "Operacja zmiana rozmiaru na tym systemie plików u¿yje EKSPERYMENTALNEGO\n" "kodu, który MO¯E GO USZKODZIÆ (choæ nie zrobi³ tego jeszcze dotychczas).\n" "Nale¿y przynajmniej wykonaæ kopiê zapasow± danych, a potem uruchomiæ\n" "'e2fsck -f'." #: libparted/fs/ext2/ext2_block_relocator.c:198 msgid "Cross-linked blocks found! Better go run e2fsck first!" msgstr "" "Znaleziono bloki dowi±zane skro¶nie! Lepiej uruchom najpierw program e2fsck!" #: libparted/fs/ext2/ext2_block_relocator.c:537 #, c-format msgid "Block %i has no reference? Weird." msgstr "Blok %i nie posiada odwo³añ? Dziwne." #: libparted/fs/ext2/ext2_block_relocator.c:738 #, c-format msgid "Block %i shouldn't have been marked (%d, %d)!" msgstr "Blok %i nie powinien byæ zaznaczony (%d, %d)!" #: libparted/fs/ext2/interface.c:226 msgid "" "The ext2 file system passed a basic check. For a more comprehensive check, " "use the e2fsck program." msgstr "" "System plików ext2 przeszed³ pomy¶lnie podstawowe sprawdzenie. " "Dok³adniejszego sprawdzenia mo¿na dokonaæ programem e2fsck." #: libparted/fs/ext2/interface.c:243 msgid "Sorry, can't move the start of ext2 partitions yet!" msgstr "Przepraszam, ale na razie nie mo¿na przesun±æ pocz±tku partycji ext2!" #: libparted/fs/ext2/ext2_buffer.c:82 msgid "Couldn't flush buffer cache!" msgstr "Nie mo¿na opró¿niæ bufora pamiêci podrêcznej!" #: libparted/fs/ext2/ext2_mkfs.c:161 msgid "writing per-group metadata" msgstr "zapis metadanych do grup" #: libparted/fs/ext2/ext2_mkfs.c:597 msgid "File system too small for ext2." msgstr "System plików jest zbyt ma³y dla ext2." #: libparted/fs/fat/calc.c:135 #, c-format msgid "" "You need %s of free disk space to shrink this partition to this size. " "Currently, only %s is free." msgstr "" "Potrzebujesz %s wolnej przestrzeni, aby zmniejszyæ partycjê do tego " "rozmiaru. Aktualnie, tylko %s jest wolne." #: libparted/fs/fat/context.c:56 #, c-format msgid "" "Cluster start delta = %d, which is not a multiple of the cluster size %d." msgstr "" "Pocz±tek klastra delta = %d, a wiêc nie jest to wielokrotno¶æ rozmiaru " "klastra %d." #: libparted/fs/fat/fat.c:310 #, c-format msgid "Partition too big/small for a %s file system." msgstr "Partycja jest zbyt du¿a/ma³a dla systemu plików %s." #: libparted/fs/fat/fat.c:476 msgid "" "The FATs don't match. If you don't know what this means, then select " "cancel, run scandisk on the file system, and then come back." msgstr "" "Tablice FAT nie pasuj±. Je¶li nie wiesz co to znaczy, to wybierz " "'Poniechaj', uruchom scandisk, a potem ponów próbê." #: libparted/fs/fat/fat.c:516 msgid "There are no possible configurations for this FAT type." msgstr "Nie ma mo¿liwych konfiguracji dla tego typu FAT." #: libparted/fs/fat/fat.c:528 #, c-format msgid "" "File system doesn't have expected sizes for Windows to like it. Cluster " "size is %dk (%dk expected); number of clusters is %d (%d expected); size of " "FATs is %d sectors (%d expected)." msgstr "" "System plików nie posiada rozmiaru spodziewanego przez system MS Windows. " "Rozmiar klastra wynosi %dk (powinno byæ %dk); ilo¶æ klastrów wynosi %d " "(powinno byæ %d); rozmiar FAT wynosi %d sektorów (powinno byæ %d)." #: libparted/fs/fat/fat.c:551 #, c-format msgid "" "File system is reporting the free space as %d clusters, not %d clusters." msgstr "" "System plików mówi, ¿e wolna przestrzeñ wynosi %d klastrów, a nie %d " "klastrów." #: libparted/fs/fat/fat.c:876 msgid "" "GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT " "support will be disabled." msgstr "" "Program GNU Parted zosta³ nieprawid³owo zbudowany: sektor rozruchowy FAT " "powinien mieæ 512 bajtów. Wsparcie dla FAT zostaje wy³±czone." #: libparted/fs/fat/resize.c:158 msgid "" "There's not enough room in the root directory for all of the files. Either " "cancel, or ignore to lose the files." msgstr "" "Brakuje miejsca w katalogu root dla wszystkich tych plików. Poniechaj " "operacjê lub zignoruj, aby utraciæ pliki." #: libparted/fs/fat/resize.c:299 msgid "Error writing to the root directory." msgstr "B³±d podczas zapisu do katalogu g³ównego (root)." #: libparted/fs/fat/resize.c:488 msgid "If you leave your file system as FAT16, then you will have no problems." msgstr "" "Je¶li pozostawisz swój system plików jako FAT16, to nie bêdziesz mia³(a) " "¿adnych problemów." #: libparted/fs/fat/resize.c:491 msgid "" "If you convert to FAT16, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual)." msgstr "" "Je¿eli dokonasz konwersji do FAT16 i system MS Windows jest zainstalowany na " "tej partycji, to wtedy musisz przeinstalowaæ program ³aduj±cy (boot loader) " "MS Windows. Je¶li chcesz to zrobiæ, to proszê przeczytaj dokumentacjê " "programu Parted (lub dokumentacjê Twojej dystrybucji systemu)." #: libparted/fs/fat/resize.c:499 msgid "" "If you leave your file system as FAT32, then you will not introduce any new " "problems." msgstr "" "Je¶li pozostawisz swój system plików jako FAT32, to wtedy nie bêdziesz mia³" "(a) ¿adnych nowych problemów." #: libparted/fs/fat/resize.c:503 msgid "" "If you convert to FAT32, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual). Also, " "converting to FAT32 will make the file system unreadable by MS DOS, MS " "Windows 95a, and MS Windows NT." msgstr "" "Je¿eli dokonasz konwersji do FAT32 i system MS Windows jest zainstalowany na " "tej partycji, to wtedy musisz przeinstalowaæ program ³aduj±cy (boot loader) " "MS Windows. Je¶li chcesz to zrobiæ, to proszê przeczytaj dokumentacjê " "programu Parted (lub dokumentacjê Twojej dystrybucji systemu). Ponadto, " "konwersja do FAT32 spowoduje, ¿e taki system plików bêdzie niemo¿liwy do " "odczytania przez systemy MS-DOS, MS Windows 95a oraz MS Windows NT." #: libparted/fs/fat/resize.c:517 #, c-format msgid "%s %s %s" msgstr "%s %s %s" #: libparted/fs/fat/resize.c:518 msgid "Would you like to use FAT32?" msgstr "Czy chcesz u¿yæ FAT32?" #: libparted/fs/fat/resize.c:549 libparted/fs/fat/resize.c:565 #, c-format msgid "%s %s" msgstr "%s %s" #: libparted/fs/fat/resize.c:550 msgid "" "The file system can only be resized to this size by converting to FAT16." msgstr "" "Rozmiar systemu plików mo¿e byæ tylko zmieniony poprzez konwersjê do FAT16." #: libparted/fs/fat/resize.c:566 msgid "" "The file system can only be resized to this size by converting to FAT32." msgstr "" "System plików mo¿e mieæ zmieniony rozmiar, ale tylko poprzez konwersjê do " "FAT32." #: libparted/fs/fat/resize.c:579 msgid "" "GNU Parted cannot resize this partition to this size. We're working on it!" msgstr "" "GNU Parted nie mo¿e zmieniæ rozmiaru tej partycji do podanego. Pracujemy " "nad tym!" #: libparted/fs/fat/bootsector.c:49 libparted/fs/fat/bootsector.c:56 msgid "File system has an invalid signature for a FAT file system." msgstr "System plików posiada nieprawid³owy podpis dla systemu plików FAT." #: libparted/fs/fat/bootsector.c:64 msgid "File system has an invalid sector size for a FAT file system." msgstr "" "System plików posiada nieprawid³owy rozmiar sektora dla systemu plików FAT." #: libparted/fs/fat/bootsector.c:71 msgid "File system has an invalid cluster size for a FAT file system." msgstr "" "System plików posiada nieprawid³owy rozmiar klastra dla systemu plików FAT." #: libparted/fs/fat/bootsector.c:78 msgid "" "File system has an invalid number of reserved sectors for a FAT file system." msgstr "" "System plików posiada nieprawid³ow± ilo¶æ zarezerwowanych sektorów dla " "systemu plików FAT." #: libparted/fs/fat/bootsector.c:85 msgid "File system has an invalid number of FATs." msgstr "System plików posiada nieprawid³ow± ilo¶æ FAT-ów." #: libparted/fs/fat/bootsector.c:139 #, c-format msgid "" "This file system has a logical sector size of %d. GNU Parted is known not " "to work properly with sector sizes other than 512 bytes." msgstr "" "Ten system plików posiada rozmiar logicznego sektora %d. GNU Parted nie " "wspó³pracuje prawid³owo z rozmiarami sektorów innymi ni¿ 512 bajtów." #: libparted/fs/fat/bootsector.c:164 #, c-format msgid "" "The file system's CHS geometry is (%d, %d, %d), which is invalid. The " "partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the " "file system's CHS geometry will be left unchanged. If you select Fix, the " "file system's CHS geometry will be set to match the partition table's CHS " "geometry." msgstr "" "Geometri± CHS systemu pliku jest (%d, %d, %d), która nie jest prawid³owa. " "Geometri± CHS tablicy partycji jest (%d, %d, %d). Je¶li zignorujesz, to " "geometria CHS systemu pliku pozostanie niezmieniona. Je¶li zdecydujesz siê " "naprawiæ, geometria CHS systemu plików zostanie dopasowana do geometrii CHS " "tablicy partycji." #: libparted/fs/fat/bootsector.c:213 msgid "FAT boot sector says logical sector size is 0. This is weird. " msgstr "" "Sektor rozruchowy FAT mówi, ¿e rozmiar sektora logicznego jest 0. Dziwne." #: libparted/fs/fat/bootsector.c:219 msgid "FAT boot sector says there are no FAT tables. This is weird. " msgstr "Sektor rozruchowy FAT mówi, ¿e nie ma ¿adnych tablic FAT. Dziwne." #: libparted/fs/fat/bootsector.c:225 msgid "FAT boot sector says clusters are 0 sectors. This is weird. " msgstr "Sektor rozruchowy FAT mówi, ¿e klastry zajmuj± 0 sektorów. Dziwne." #: libparted/fs/fat/bootsector.c:235 msgid "File system is FAT12, which is unsupported." msgstr "Systemem plików jest FAT12, który nie jest wspierany." #: libparted/fs/fat/bootsector.c:411 #, c-format msgid "" "The information sector has the wrong signature (%x). Select cancel for now, " "and send in a bug report. If you're desperate, it's probably safe to ignore." msgstr "" "Sektor informacyjny posiada nieprawid³owy podpis (%x). Na razie poniechaj " "aktualn± operacjê i wy¶lij raport dotycz±cy b³êdów. Ewentualnie zignoruj " "ca³± sytuacjê." #: libparted/fs/fat/count.c:144 #, c-format msgid "Bad directory entry for %s: first cluster is the end of file marker." msgstr "" "Nieprawid³owy wpis w katalogu dla %s: pierwszy klaster jest znacznikiem " "koñca pliku." #: libparted/fs/fat/count.c:157 #, c-format msgid "" "Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk." msgstr "" "Nieprawid³owy FAT: niezakoñczony ³añcuch dla %s. Proszê uruchomiæ program " "dosfsck lub scandisk." #: libparted/fs/fat/count.c:166 #, c-format msgid "" "Bad FAT: cluster %d outside file system in chain for %s. You should run " "dosfsck or scandisk." msgstr "" "Nieprawid³owy FAT: klaster %d jest poza systemem plików w ³añcuchu dla %s. " "Proszê uruchomiæ program dosfsck lub scandisk." #: libparted/fs/fat/count.c:176 #, c-format msgid "" "Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or " "scandisk." msgstr "" "Nieprawid³owy FAT: klaster %d jest dowi±zany skro¶nie dla %s. Proszê " "uruchomiæ program dosfsck lub scandisk." #: libparted/fs/fat/count.c:195 #, c-format msgid "%s is %dk, but it has %d clusters (%dk)." msgstr "%s ma %dk, jednak ma %d klastrów (%dk)." #: libparted/fs/fat/count.c:258 #, c-format msgid "" "The file %s is marked as a system file. This means moving it could cause " "some programs to stop working." msgstr "" "Plik %s jest oznaczony jako plik systemowy. Oznacza to, ¿e jego " "przesuniêcie mo¿e spowodowaæ nieprawid³ow± pracê innych programów." #: libparted/fs/fat/table.c:136 #, c-format msgid "" "FAT %d media %x doesn't match the boot sector's media %x. You should " "probably run scandisk." msgstr "" "Typ no¶nika odczytany z FAT %d (%x) nie zgadza siê z typem odczytanym z " "sektora rozruchowego (%x). Nale¿y uruchomiæ scandisk." #: libparted/fs/fat/table.c:268 #, c-format msgid "fat_table_set: cluster %ld outside file system" msgstr "fat_table_set: klaster %ld poza systemem plików" #: libparted/fs/fat/table.c:300 #, c-format msgid "fat_table_get: cluster %ld outside file system" msgstr "fat_table_get: klaster %ld poza systemem plików" #: libparted/fs/fat/table.c:342 msgid "fat_table_alloc_cluster: no free clusters" msgstr "fat_table_alloc_cluster: brak wolnych klastrów" #: libparted/fs/linux_swap/linux_swap.c:288 #, c-format msgid "Unrecognised old style linux swap signature '%10s'." msgstr "Nierozpoznany podpis linuksowej partycji wymiany starego typu '%10s'." #: libparted/fs/linux_swap/linux_swap.c:331 #, c-format msgid "Unrecognised new style linux swap signature '%10s'." msgstr "Nierozpoznany podpis linuksowej partycji wymiany nowegu typu '%10s'." #: libparted/fs/linux_swap/linux_swap.c:371 #, c-format msgid "Unrecognised swsusp linux swap signature '%9s'." msgstr "Nierozpoznany podpis linuksowej partycji wymiany swsusp '%9s'." #: libparted/fs/linux_swap/linux_swap.c:447 msgid "Too many bad pages." msgstr "Zbyt du¿o nieprawid³owych stron." #: libparted/fs/hfs/advfs.c:121 libparted/fs/hfs/advfs_plus.c:121 #: libparted/fs/hfs/reloc.c:414 libparted/fs/hfs/reloc.c:508 #: libparted/fs/hfs/reloc_plus.c:538 libparted/fs/hfs/reloc_plus.c:656 #: libparted/fs/hfs/reloc_plus.c:769 msgid "The file system contains errors." msgstr "System plików zawiera b³êdy." #: libparted/fs/hfs/advfs_plus.c:285 msgid "Bad blocks could not be read." msgstr "Uszkodzone bloki nie mog± byæ odczytane." #: libparted/fs/hfs/cache.c:137 #, c-format msgid "" "Trying to register an extent starting at block 0x%X, but another one already " "exists at this position. You should check the file system!" msgstr "" "Podczas próby zarejestrowania obszaru z pocz±tkiem na bloku 0x%X wykryto " "inny obszar na tej pozycji. Nale¿y sprawdziæ system plików!" #: libparted/fs/hfs/cache.c:214 #, c-format msgid "" "Trying to move an extent from block Ox%X to block Ox%X, but another one " "already exists at this position. This should not happen!" msgstr "" "Podczas próby przeniesienia obszaru z bloku 0x%X do bloku 0x%X wykryto inny " "obszar na tej pozycji. To nie powinno siê zdarzyæ!" #: libparted/fs/hfs/file.c:143 #, c-format msgid "Could not update the extent cache for HFS file with CNID %X." msgstr "Nie mo¿na uaktualniæ pamiêci obszarów dla pliku HFS z CNID %X." #: libparted/fs/hfs/file.c:180 #, c-format msgid "Trying to read HFS file with CNID %X behind EOF." msgstr "Próba odczytania pliku HFS z CNID %X za EOF." #: libparted/fs/hfs/file.c:190 libparted/fs/hfs/file.c:220 #, c-format msgid "Could not find sector %lli of HFS file with CNID %X." msgstr "Nie znaleziono sektora %lli pliku HFS z CNID %X." #: libparted/fs/hfs/file.c:210 #, c-format msgid "Trying to write HFS file with CNID %X behind EOF." msgstr "Próba zapisu pliku HFS z CNID %X za EOF." #: libparted/fs/hfs/file_plus.c:157 #, c-format msgid "Could not update the extent cache for HFS+ file with CNID %X." msgstr "Nie mo¿na uaktualniæ pamiêci obszarów dla pliku HFS+ z CNID %X." #: libparted/fs/hfs/file_plus.c:202 #, c-format msgid "Trying to read HFS+ file with CNID %X behind EOF." msgstr "Próba odczytania pliku HFS+ z CNID %X za EOF." #: libparted/fs/hfs/file_plus.c:213 libparted/fs/hfs/file_plus.c:256 #, c-format msgid "Could not find sector %lli of HFS+ file with CNID %X." msgstr "Nie znaleziono sektora %lli pliku HFS+ z CNID %X." #: libparted/fs/hfs/file_plus.c:245 #, c-format msgid "Trying to write HFS+ file with CNID %X behind EOF." msgstr "Próba zapisu pliku HFS+ z CNID %X za EOF." #: libparted/fs/hfs/hfs.c:232 msgid "Sorry, HFS cannot be resized that way yet." msgstr "Przykro mi, ale nie mo¿na jeszcze w ten sposób zmieniæ rozmiaru HFS." #: libparted/fs/hfs/hfs.c:262 libparted/fs/hfs/hfs.c:641 msgid "Data relocation has failed." msgstr "Relokacja danych nie powiod³a siê." #: libparted/fs/hfs/hfs.c:281 msgid "Data relocation left some data in the end of the volume." msgstr "Relokacja danych pozostawi³a dane pod koniec wolumenu." #: libparted/fs/hfs/hfs.c:320 msgid "writing HFS Master Directory Block" msgstr "zapisywanie g³ównego bloku katalogu HFS (HFS Master Directory Block)" #: libparted/fs/hfs/hfs.c:468 msgid "No valid HFS[+X] signature has been found while opening." msgstr "Nie znaleziono prawid³owej sygnatury HFS[+X] podczas otwierania." #: libparted/fs/hfs/hfs.c:478 #, c-format msgid "Version %d of HFS+ isn't supported." msgstr "Wersja %d HFS+ nie jest wspierana." #: libparted/fs/hfs/hfs.c:489 #, c-format msgid "Version %d of HFSX isn't supported." msgstr "Wersja %d HFSX nie jest wspierana." #: libparted/fs/hfs/hfs.c:672 msgid "Data relocation left some data at the end of the volume." msgstr "Relokacja danych pozostawi³a dane na koñcu wolumenu." #: libparted/fs/hfs/hfs.c:720 msgid "Error while writing the allocation file." msgstr "B³±d podczas zapisu pliku przydzia³u." #: libparted/fs/hfs/hfs.c:735 msgid "Error while writing the compatibility part of the allocation file." msgstr "B³±d podczas zapisu kompatybilnej czê¶ci pliku przydzia³u." #: libparted/fs/hfs/hfs.c:750 msgid "writing HFS+ Volume Header" msgstr "zapisywanie nag³ówka wolumenu HFS+" #: libparted/fs/hfs/hfs.c:850 msgid "An error occurred while looking for the mandatory bad blocks file." msgstr "" "Wyst±pi³ b³±d podczas szukania obowi±zkowego pliku uszkodzonych bloków." #: libparted/fs/hfs/hfs.c:904 msgid "" "It seems there is an error in the HFS wrapper: the bad blocks file doesn't " "contain the embedded HFS+ volume." msgstr "" "Prawdopodobnie wystêpuje b³±d w otoczce HFS: plik uszkodzonych bloków nie " "zawiera wbudowanego wolumenu HFS+." #: libparted/fs/hfs/hfs.c:940 msgid "Sorry, HFS+ cannot be resized that way yet." msgstr "Przykro mi, ale nie mo¿na jeszcze w ten sposób zmieniæ rozmiaru HFS+." #: libparted/fs/hfs/hfs.c:975 msgid "shrinking embedded HFS+ volume" msgstr "zmniejszanie wbudowanego wolumenu HFS+" #: libparted/fs/hfs/hfs.c:991 msgid "Resizing the HFS+ volume has failed." msgstr "Zmiana rozmiaru wolumenu HFS+ nie powiod³a siê." #: libparted/fs/hfs/hfs.c:998 msgid "shrinking HFS wrapper" msgstr "zmniejszanie otoczki HFS" #: libparted/fs/hfs/hfs.c:1007 msgid "Updating the HFS wrapper has failed." msgstr "Aktualizacja otoczki HFS nie powiod³a siê." #: libparted/fs/hfs/hfs.c:1109 libparted/fs/hfs/hfs.c:1194 #, c-format msgid "" "This is not a real %s check. This is going to extract special low level " "files for debugging purposes." msgstr "" "To nie jest prawdziwe sprawdzanie %s. Celem jest wydobycie specjalnych " "niskopoziomowych plików w celu odpluskwiania." #: libparted/fs/hfs/journal.c:155 msgid "Bad block list header checksum." msgstr "Suma kontrolna nag³ówka listy uszkodzonych bloków." #: libparted/fs/hfs/journal.c:168 #, c-format msgid "" "Invalid size of a transaction block while replaying the journal (%i bytes)." msgstr "" "Nieprawid³owy rozmiar bloku transakcyjnego podczas ponawiania kroniki (%i " "bajtów)." #: libparted/fs/hfs/journal.c:260 msgid "" "Journal stored outside of the volume are not supported. Try to desactivate " "the journal and run Parted again." msgstr "" "Kroniki umieszczone poza wolumenem nie s± wspierane. Proszê wy³±czyæ " "kronikê i uruchomiæ ponownie Parted." #: libparted/fs/hfs/journal.c:271 msgid "Journal offset or size is not multiple of the sector size." msgstr "" "Wyrównanie kroniki lub wielko¶æ nie jest wielokrotno¶ci± rozmiaru sektora." #: libparted/fs/hfs/journal.c:292 msgid "Incorrect magic values in the journal header." msgstr "Nieprawid³owe magiczne warto¶ci w nag³ówku kroniki." #: libparted/fs/hfs/journal.c:302 msgid "Journal size mismatch between journal info block and journal header." msgstr "" "Rozmiar kroniki nie pasuje pomiêdzy blokiem informacyjnym kroniki i " "nag³ówkiem kroniki." #: libparted/fs/hfs/journal.c:314 msgid "Some header fields are not multiple of the sector size." msgstr "Niektóre pola nag³ówka nie s± wielokrotno¶ci± rozmiaru sektora." #: libparted/fs/hfs/journal.c:323 msgid "" "The sector size stored in the journal is not 512 bytes. Parted only " "supports 512 bytes length sectors." msgstr "" "Rozmiar sektora zapisany w kronice nie ma 512 bajtów. Parted wspiera tylko " "sektory o rozmiarach 512 bajtów." #: libparted/fs/hfs/journal.c:335 msgid "Bad journal checksum." msgstr "Nieprawid³owa suma kontrolna kroniki." #: libparted/fs/hfs/journal.c:353 msgid "" "The journal is not empty. Parted must replay the transactions before " "opening the file system. This will modify the file system." msgstr "" "Kronika nie jest pusta. Parted musi ponowiæ transakcje przed otwarciem " "systemu plików. To zmodyfikuje system plików." #: libparted/fs/hfs/journal.c:381 msgid "" "The volume header or the master directory block has changed while replaying " "the journal. You should restart Parted." msgstr "" "Nag³ówek wolumenu lub g³ówny blok katalogu zmieni³ siê podczas ponawiania " "kroniki. Nale¿y ponownie uruchomiæ Parted." #: libparted/fs/hfs/probe.c:51 #, c-format msgid "" "Parted can't use HFS file systems on disks with a sector size not equal to " "%d bytes." msgstr "" "Parted nie mo¿e u¿ywaæ systemów plików HFS na dyskach z rozmiarem sektora " "innym ni¿ %d bajtów." #: libparted/fs/hfs/reloc.c:151 libparted/fs/hfs/reloc_plus.c:155 msgid "An extent has not been relocated." msgstr "Obszar nie zosta³ przeniesiony." #: libparted/fs/hfs/reloc.c:251 libparted/fs/hfs/reloc_plus.c:307 msgid "" "A reference to an extent comes from a place it should not. You should check " "the file system!" msgstr "" "Odwo³anie do obszaru nie powinno by³o wyst±piæ w tym miejscu. Nale¿y " "sprawdziæ system plików!" #: libparted/fs/hfs/reloc.c:381 msgid "This HFS volume has no catalog file. This is very unusual!" msgstr "" "Ten wolumen HFS nie posiada pliku katalogowego. To jest bardzo niezwyk³e!" #: libparted/fs/hfs/reloc.c:475 msgid "This HFS volume has no extents overflow file. This is quite unusual!" msgstr "" "Ten wolumen HFS nie zawiera pliku przepe³nienia obszarów. To raczej " "niezwykle!" #: libparted/fs/hfs/reloc.c:517 libparted/fs/hfs/reloc_plus.c:666 msgid "" "The extents overflow file should not contain its own extents! You should " "check the file system." msgstr "" "Plik przepe³nienia obszarów nie powinien zawieraæ w³asnych obszarów! Nale¿y " "sprawdziæ system plików." #: libparted/fs/hfs/reloc.c:574 libparted/fs/hfs/reloc_plus.c:844 msgid "Could not cache the file system in memory." msgstr "Nie mo¿na zapamiêtaæ systemu plików w pamiêci." #: libparted/fs/hfs/reloc.c:635 libparted/fs/hfs/reloc_plus.c:905 msgid "Bad blocks list could not be loaded." msgstr "Nie powiod³o siê za³adowanie listy uszkodzonych bloków." #: libparted/fs/hfs/reloc.c:649 libparted/fs/hfs/reloc_plus.c:921 msgid "An error occurred during extent relocation." msgstr "Wykryto b³±d podczas przenoszenia obszaru." #: libparted/fs/hfs/reloc_plus.c:494 msgid "This HFS+ volume has no catalog file. This is very unusual!" msgstr "" "Ten wolumen HFS+ nie posiada pliku katalogowego. To jest bardzo niezwyk³e!" #: libparted/fs/hfs/reloc_plus.c:617 msgid "This HFS+ volume has no extents overflow file. This is quite unusual!" msgstr "" "Ten wolumen HFS+ nie zawiera pliku przepe³nienia obszarów. To raczej " "niezwykle!" #: parted/parted.c:123 msgid "displays this help message" msgstr "wy¶wietla tê oto pomoc" #: parted/parted.c:124 msgid "lists partition layout on all block devices" msgstr "wypisuje rozk³ad partycji na wszystkich wykrytych urz±dzeniach" #: parted/parted.c:125 msgid "displays machine parseable output" msgstr "wy¶wietla dane w formacie czytelnym dla maszyny" #: parted/parted.c:126 msgid "never prompts for user intervention" msgstr "nigdy nie prosi u¿ytkownika o interwencjê" #: parted/parted.c:127 msgid "displays the version" msgstr "wy¶wietla numer wersji" #: parted/parted.c:128 msgid "alignment for new partitions" msgstr "wyrównanie dla nowych partycji" #: parted/parted.c:140 msgid "" "NUMBER is the partition number used by Linux. On MS-DOS disk labels, the " "primary partitions number from 1 to 4, logical partitions from 5 onwards.\n" msgstr "" "NUMER oznacza numer partycji u¿ywanej przez Linuksa. Dla etykiet dysków MS-" "DOS liczba partycji g³ównych mie¶ci siê w przedziale 1-4, za¶ partycje " "logiczne zajmuj± kolejne numery pocz±wszy od 5.\n" #: parted/parted.c:143 msgid "LABEL-TYPE is one of: " msgstr "TYP-ETYKIETY stanowi jedn± z nastêpuj±cych warto¶ci: " #: parted/parted.c:144 msgid "FLAG is one of: " msgstr "FLAGA stanowi jedn± z nastêpuj±cych warto¶ci: " #: parted/parted.c:145 msgid "UNIT is one of: " msgstr "JEDNOSTKA stanowi jedn± z nastêpuj±cych warto¶ci: " #: parted/parted.c:146 msgid "desired alignment: minimum or optimal" msgstr "po¿±dane wyrównanie: minimalne lub optymalne" #: parted/parted.c:147 msgid "PART-TYPE is one of: primary, logical, extended\n" msgstr "" "TYP-PARTYCJI stanowi jedn± z nastêpuj±cych warto¶ci: g³ówna, logiczna, " "rozszerzona\n" #: parted/parted.c:149 msgid "FS-TYPE is one of: " msgstr "SYSTEM-PLIKÓW stanowi jedn± z nastêpuj±cych warto¶ci: " #: parted/parted.c:150 msgid "" "START and END are disk locations, such as 4GB or 10%. Negative values count " "from the end of the disk. For example, -1s specifies exactly the last " "sector.\n" msgstr "" "POCZ¡TEK i KONIEC oznaczaj± po³o¿enia na dysku, np. 4GB lub 10%. Ujemne " "warto¶ci s± liczone od koñca dysku. Na przyk³ad -1s oznacza dok³adnie " "ostatni sektor.\n" #: parted/parted.c:153 msgid "STATE is one of: on, off\n" msgstr "STAN jest reprezentowany poprzez: w³±czony, wy³±czony\n" #: parted/parted.c:154 msgid "DEVICE is usually /dev/hda or /dev/sda\n" msgstr "URZ¡DZENIEM jest zwykle /dev/hda lub /dev/sda\n" #: parted/parted.c:155 msgid "NAME is any word you want\n" msgstr "NAZWA jest dowolnym s³owem jakie chcesz\n" #: parted/parted.c:156 msgid "The partition must have one of the following FS-TYPEs: " msgstr "Partycja musi posiadaæ jeden z nastêpuj±cych systemów plików: " #: parted/parted.c:160 msgid "" "Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n" "This program is free software, covered by the GNU General Public License.\n" "\n" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" msgstr "" "Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n" "Program ten jest wolnodostêpny, zgodnie z Powszechn± Licencj± Publiczn± " "GNU.\n" "\n" "Program ten udostêpniany jest w nadziei, ¿e bêdzie przydatny, ale BEZ\n" "¯ADNEJ GWARANCJI, nawet bez domy¶lnej gwarancji PRZYDATNO¦CI HANDLOWEJ albo\n" "PRZYDATNO¦CI DO KONKRETNYCH ZASTOSOWAÑ. Wiêcej szczegó³ów znajduje siê\n" "w Powszechnej Licencji Publicznej GNU.\n" "\n" #: parted/parted.c:208 #, c-format msgid "%0.f%%\t(time left %.2d:%.2d)" msgstr "%0.f%%\t(czas do koñca %.2d:%.2d)" #: parted/parted.c:227 #, c-format msgid "" "Partition %s is being used. You must unmount it before you modify it with " "Parted." msgstr "" "Partycja %s jest u¿ywana. Nale¿y j± od³±czyæ przed jej modyfikacj± Partedem." #: parted/parted.c:245 #, c-format msgid "Partition(s) on %s are being used." msgstr "Partycja (partycje) na %s s± u¿ywane." #: parted/parted.c:257 msgid "" "The existing file system will be destroyed and all data on the partition " "will be lost. Do you want to continue?" msgstr "" "Istniej±cy system plików zostanie zniszczony, a wszystkie dane na partycji " "zostan± utracone. Kontynuowaæ?" #: parted/parted.c:269 #, c-format msgid "" "The existing disk label on %s will be destroyed and all data on this disk " "will be lost. Do you want to continue?" msgstr "" "Istniej±ca etykieta dysku na %s zostanie zniszczona, a wszystkie dane na tym " "dysku zostan± utracone. Kontynuowaæ?" #: parted/parted.c:487 #, c-format msgid "" "WARNING: you are attempting to use %s to operate on (%s) a file system.\n" "%s's file system manipulation code is not as robust as what you'll find in\n" "dedicated, file-system-specific packages like e2fsprogs. We recommend\n" "you use %s only to manipulate partition tables, whenever possible.\n" "Support for performing most operations on most types of file systems\n" "will be removed in an upcoming release.\n" msgstr "" "UWAGA: próba u¿ycia %s na systemie plików (%s).\n" "Kod obs³uguj±cy system plików %s nie ma tylu mo¿liwo¶ci, co dedykowane,\n" "specyficzne dla systemu plików pakiety typu e2fsprogs. Zalecamy u¿ycie\n" "%s tylko do modyfikowania tablic partycji o ile to tylko mo¿liwe.\n" "Obs³uga wykonywania wiêkszo¶ci rodzajów operacji na wiêkszo¶ci rodzajów\n" "systemów plików bêdzie usuniêta w kolejnym wydaniu.\n" #: parted/parted.c:508 parted/parted.c:702 parted/parted.c:1179 #: parted/parted.c:1263 parted/parted.c:1935 parted/parted.c:2016 #: parted/parted.c:2088 parted/parted.c:2122 msgid "Partition number?" msgstr "Numer partycji?" #: parted/parted.c:551 msgid "Source device?" msgstr "Urz±dzenie ¼ród³owe?" #: parted/parted.c:555 msgid "Source partition number?" msgstr "Numer partycji ¼ród³owej?" #: parted/parted.c:560 msgid "Can't copy an extended partition." msgstr "Nie mo¿na skopiowaæ rozszerzonej partycji." #: parted/parted.c:566 msgid "Destination partition number?" msgstr "Numer partycji docelowej?" #: parted/parted.c:655 msgid "New disk label type?" msgstr "Nowy typ etykiety dysku?" #: parted/parted.c:706 parted/parted.c:788 parted/parted.c:1000 msgid "File system type?" msgstr "Typ systemu plików?" #: parted/parted.c:762 parted/parted.c:983 msgid "Partition type?" msgstr "Typ partycji?" #: parted/parted.c:780 parted/parted.c:990 parted/parted.c:1266 msgid "Partition name?" msgstr "Nazwa partycji?" #: parted/parted.c:794 parted/parted.c:1002 parted/parted.c:1194 #: parted/parted.c:1883 parted/parted.c:1944 msgid "Start?" msgstr "Pocz±tek?" #: parted/parted.c:796 parted/parted.c:1005 parted/parted.c:1197 #: parted/parted.c:1885 parted/parted.c:1946 msgid "End?" msgstr "Koniec?" #: parted/parted.c:862 parted/parted.c:1066 #, c-format msgid "" "You requested a partition from %s to %s.\n" "The closest location we can manage is %s to %s.%s" msgstr "" "Wybrano partycjê od %s do %s.\n" "Najbli¿sza z jak± Parted mo¿e sobie poradziæ jest od %s do %s.%s" #: parted/parted.c:867 parted/parted.c:1071 msgid "" "\n" "Is this still acceptable to you?" msgstr "" "\n" "Czy jest to do przyjêcia?" #: parted/parted.c:889 parted/parted.c:1093 msgid "The resulting partition is not properly aligned for best performance." msgstr "" "Partycja wynikowa nie jest wyrównana w³a¶ciwie dla najlepszej wydajno¶ci." #: parted/parted.c:995 msgid "An extended partition cannot hold a file system. Did you want mkpart?" msgstr "" "Rozszerzona partycja nie mo¿e trzymaæ systemu plików. Czy chodzi³o Ci o " "mkpart?" #: parted/parted.c:1185 msgid "Can't move an extended partition." msgstr "Nie mo¿na przesun±æ rozszerzonej partycji." #: parted/parted.c:1214 msgid "Can't move a partition onto itself. Try using resize, perhaps?" msgstr "" "Nie mo¿na przesun±æ partycji na sam± siebie. Mo¿e spróbuj zmieniæ jej " "rozmiar?" #: parted/parted.c:1360 #, c-format msgid "Minor: %d\n" msgstr "Numer: %d\n" #: parted/parted.c:1361 #, c-format msgid "Flags: %s\n" msgstr "Flagi: %s\n" #: parted/parted.c:1362 #, c-format msgid "File System: %s\n" msgstr "System plików: %s\n" #: parted/parted.c:1363 msgid "Size: " msgstr "Rozmiar: " #: parted/parted.c:1368 msgid "Minimum size: " msgstr "Minimalny rozmiar: " #: parted/parted.c:1371 msgid "Maximum size: " msgstr "Maksymalny rozmiar: " #: parted/parted.c:1504 #, c-format msgid "Model: %s (%s)\n" msgstr "Model: %s (%s)\n" #: parted/parted.c:1506 #, c-format msgid "Disk %s: %s\n" msgstr "Dysk %s: %s\n" #: parted/parted.c:1507 #, c-format msgid "Sector size (logical/physical): %lldB/%lldB\n" msgstr "Rozmiar sektora (logiczny/fizyczny): %lldB/%lldB\n" #: parted/parted.c:1525 #, c-format msgid "BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s.\n" msgstr "" "Geometria BIOS cylinder,g³owica,sektor: %d,%d,%d. Ka¿dy cylinder ma %s.\n" #: parted/parted.c:1534 #, c-format msgid "Partition Table: %s\n" msgstr "Tablica partycji: %s\n" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Number" msgstr "Numer" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Start" msgstr "Pocz±tek" #: parted/parted.c:1550 parted/parted.c:1553 msgid "End" msgstr "Koniec" #: parted/parted.c:1553 msgid "Size" msgstr "Rozmiar" #: parted/parted.c:1557 msgid "Type" msgstr "Typ" #: parted/parted.c:1559 msgid "File system" msgstr "System plików" #: parted/parted.c:1562 msgid "Name" msgstr "Nazwa" #: parted/parted.c:1564 msgid "Flags" msgstr "Flaga" #: parted/parted.c:1621 msgid "Free Space" msgstr "Wolne miejsce" #: parted/parted.c:1782 #, c-format msgid "" "A %s %s partition was found at %s -> %s. Do you want to add it to the " "partition table?" msgstr "" "Partycja %s %s zosta³a znaleziona na %s -> %s. Czy chcesz j± dodaæ do " "tablicy partycji?" #: parted/parted.c:1821 msgid "searching for file systems" msgstr "szukam systemów plików" #: parted/parted.c:2041 msgid "New device?" msgstr "Nowe urz±dzenie?" #: parted/parted.c:2086 msgid "alignment type(min/opt)" msgstr "rodzaj wyrównania(min/opt)" #: parted/parted.c:2093 #, c-format msgid "%d aligned\n" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d not aligned\n" msgstr "" #: parted/parted.c:2124 msgid "Flag to Invert?" msgstr "Flaga do przestawienia?" #: parted/parted.c:2129 msgid "New state?" msgstr "Nowy stan?" #: parted/parted.c:2166 msgid "Unit?" msgstr "Jednostka?" #: parted/parted.c:2348 msgid "align-check" msgstr "sprawd¼-wyrównanie" #: parted/parted.c:2351 msgid "" "align-check TYPE N check partition N for TYPE(min|" "opt) alignment" msgstr "" "sprawd¼-wyrównanie TYP N sprawdzenie wyrównania TYP(min|" "opt) partycji N" #: parted/parted.c:2359 msgid "check" msgstr "sprawd¼" #: parted/parted.c:2362 msgid "" "check NUMBER do a simple check on the file system" msgstr "" "check NUMER wykonuje proste sprawdzenie systemu plików" #: parted/parted.c:2368 msgid "cp" msgstr "kopiuj" #: parted/parted.c:2371 msgid "" "cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another " "partition" msgstr "" "cp [URZ¡DZENIE-¬RÓD£OWE] NUMER-¬RÓD£OWY NUMER-DOCELOWY kopiuje system " "plików na inn± partycjê" #: parted/parted.c:2377 msgid "help" msgstr "pomoc" #: parted/parted.c:2380 msgid "" "help [COMMAND] print general help, or help on " "COMMAND" msgstr "" "pomoc [POLECENIE] wy¶wietla pomoc ogóln± lub dotycz±c± POLECENIA" #: parted/parted.c:2386 msgid "mklabel" msgstr "mklabel" #: parted/parted.c:2386 msgid "mktable" msgstr "mktable" #: parted/parted.c:2389 msgid "" "mklabel,mktable LABEL-TYPE create a new disklabel (partition " "table)" msgstr "" "mklabel,mktable TYP-ETYKIETY tworzy now± etykietê dysku (tablicê partycji)" #: parted/parted.c:2395 msgid "mkfs" msgstr "mkfs" #: parted/parted.c:2398 msgid "" "mkfs NUMBER FS-TYPE make a FS-TYPE file system on " "partition NUMBER" msgstr "" "mkfs NUMER TYP tworzy system plików typu TYP na partycji NUMER" #: parted/parted.c:2404 msgid "mkpart" msgstr "mkpart" #: parted/parted.c:2407 msgid "mkpart PART-TYPE [FS-TYPE] START END make a partition" msgstr "mkpart TYP-PARTYCJI [SYSTEM-PLIKÓW] POCZ¡TEK KONIEC tworzy partycjê" #: parted/parted.c:2413 msgid "" "'mkpart' makes a partition without creating a new file system on the " "partition. FS-TYPE may be specified to set an appropriate partition ID.\n" msgstr "" "Polecenie 'mkpart' tworzy partycjê bez tworzenia nowego systemu plików na " "tej partycji. Opcjonalny SYSTEM-PLIKÓW mo¿e zostaæ podany do okre¶lenia " "w³a¶ciwego identyfikatora partycji.\n" #: parted/parted.c:2418 msgid "mkpartfs" msgstr "mkpartfs" #: parted/parted.c:2421 msgid "" "mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system" msgstr "" "mkpartfs TYP-PARTYCJI SYSTEM-PLIKÓW POCZ¡TEK KONIEC tworzy partycjê z " "systemem plików" #: parted/parted.c:2427 msgid "move" msgstr "przesuñ" #: parted/parted.c:2430 msgid "move NUMBER START END move partition NUMBER" msgstr "move NUMER POCZ¡TEK KONIEC przesuwa partycjê NUMER" #: parted/parted.c:2435 msgid "name" msgstr "nazwa" #: parted/parted.c:2438 msgid "name NUMBER NAME name partition NUMBER as NAME" msgstr "name NUMER NAZWA nadaje NAZWÊ partycji NUMER" #: parted/parted.c:2443 msgid "print" msgstr "drukuj" #: parted/parted.c:2446 msgid "" "print [devices|free|list,all|NUMBER] display the partition table, " "available devices, free space, all found partitions, or a particular " "partition" msgstr "" "print [devices|free|list,all|NUMER] wy¶wietla tablicê partycji, dostêpne " "urz±dzenia, wolne miejsce, znalezione partycje lub okre¶lon± partycjê" #: parted/parted.c:2451 msgid "" "Without arguments, 'print' displays the entire partition table. However with " "the following arguments it performs various other actions.\n" msgstr "" "Bez argumentów 'print' wy¶wietla ca³± tablicê partycji. Jednak z " "nastêpuj±cymi parametrami wykonuje ró¿ne inne akcje:\n" #: parted/parted.c:2453 msgid " devices : display all active block devices\n" msgstr " devices : wy¶wietla wszystkie aktywne urz±dzenia blokowe\n" #: parted/parted.c:2454 msgid "" " free : display information about free unpartitioned space on the " "current block device\n" msgstr "" " free : wy¶wietla informacje o wolnym, niespartycjonowanym miejscu na " "aktualnym urz±dzeniu blokowym\n" #: parted/parted.c:2456 msgid "" " list, all : display the partition tables of all active block devices\n" msgstr "" " list, all : wy¶wietla tablice partycji wszystkich aktywnych urz±dzeñ " "blokowych\n" #: parted/parted.c:2457 msgid "" " NUMBER : display more detailed information about this particular " "partition\n" msgstr "" " NUMER : wy¶wietla bardziej szczegó³owe informacje o okre¶lonej " "partycji\n" #: parted/parted.c:2462 msgid "quit" msgstr "koniec" #: parted/parted.c:2465 msgid "quit exit program" msgstr "quit koñczy pracê programu" #: parted/parted.c:2470 msgid "rescue" msgstr "uratuj" #: parted/parted.c:2473 msgid "" "rescue START END rescue a lost partition near START " "and END" msgstr "" "rescue POCZ¡TEK KONIEC odzyskuje utracon± partycjê blisko POCZ¡TKU i " "KOÑCA" #: parted/parted.c:2479 msgid "resize" msgstr "rozmiar" #: parted/parted.c:2482 msgid "" "resize NUMBER START END resize partition NUMBER and its " "file system" msgstr "" "resize NUMER POCZ¡TEK KONIEC zmienia rozmiar systemu plików i partycji NUMER" #: parted/parted.c:2490 msgid "rm" msgstr "usuñ" #: parted/parted.c:2493 msgid "rm NUMBER delete partition NUMBER" msgstr "rm NUMER usuwa partycjê NUMER" #: parted/parted.c:2498 msgid "select" msgstr "wybierz" #: parted/parted.c:2501 msgid "select DEVICE choose the device to edit" msgstr "select URZ¡DZENIE wybiera urz±dzenie do edycji" #: parted/parted.c:2506 msgid "set" msgstr "ustaw" #: parted/parted.c:2509 msgid "" "set NUMBER FLAG STATE change the FLAG on partition NUMBER" msgstr "set NUMER FLAGA STAN zmienia flagê na partycji NUMER" #: parted/parted.c:2515 msgid "toggle" msgstr "przestaw" #: parted/parted.c:2518 msgid "" "toggle [NUMBER [FLAG]] toggle the state of FLAG on " "partition NUMBER" msgstr "toggle [NUMER [FLAGA]] przestawia stan FLAGI na partycji NUMER" #: parted/parted.c:2524 msgid "unit" msgstr "jednostka" #: parted/parted.c:2527 msgid "unit UNIT set the default unit to UNIT" msgstr "unit JEDNOSTKA ustawia domy¶ln± jednostkê" #: parted/parted.c:2532 msgid "version" msgstr "wersja" #: parted/parted.c:2535 msgid "" "version display the version number and " "copyright information of GNU Parted" msgstr "" "version wy¶wietla numer wersji GNU Parteda i " "informacje o prawach autorskich" #: parted/parted.c:2539 msgid "" "'version' displays copyright and version information corresponding to this " "copy of GNU Parted\n" msgstr "" "'version' wy¶wietla informacje o prawach autorskich i wersji dla tej kopii " "GNU Parteda\n" #: parted/parted.c:2607 #, c-format msgid "Usage: %s [-hlmsv] [-a] [DEVICE [COMMAND [PARAMETERS]]...]\n" msgstr "" "Sk³adnia: %s [-hlmsv] [-a] [URZ¡DZENIE [POLECENIE " "[PARAMETRY]]...]\n" #: parted/parted.c:2651 msgid "No device found" msgstr "Nie znaleziono urz±dzenia" #: parted/parted.c:2688 msgid "WARNING: You are not superuser. Watch out for permissions." msgstr "UWAGA: Nie jeste¶ superu¿ytkownikiem. Uwa¿aj na uprawnienia." #: parted/parted.c:2726 msgid "You may need to update /etc/fstab.\n" msgstr "Mo¿e wyst±piæ potrzeba aktualizacji /etc/fstab.\n" #: parted/ui.c:162 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n" msgstr "" "Witamy w GNU Partedzie! Listê poleceñ mo¿na zobaczyæ po napisaniu 'help'.\n" #: parted/ui.c:165 msgid "" "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n" "Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run " "in\n" "interactive mode.\n" msgstr "" "Sk³adnia: parted [OPCJA]... [URZ¡DZENIE [POLECENIE [PARAMETRY]...]...]\n" "Wykonuje POLECENIA z PARAMETRAMI dla URZ¡DZENIA. Je¶li nie podano POLECEÑ,\n" "program zostanie uruchomiony w trybie interaktywnym.\n" #: parted/ui.c:170 #, c-format msgid "" "\n" "\n" "You found a bug in GNU Parted! Here's what you have to do:\n" "\n" "Don't panic! The bug has most likely not affected any of your data.\n" "Help us to fix this bug by doing the following:\n" "\n" "Check whether the bug has already been fixed by checking\n" "the last version of GNU Parted that you can find at:\n" "\n" "\thttp://ftp.gnu.org/gnu/parted/\n" "\n" "Please check this version prior to bug reporting.\n" "\n" "If this has not been fixed yet or if you don't know how to check,\n" "please visit the GNU Parted website:\n" "\n" "\thttp://www.gnu.org/software/parted\n" "\n" "for further information.\n" "\n" "Your report should contain the version of this release (%s)\n" "along with the error message below, the output of\n" "\n" "\tparted DEVICE unit co print unit s print\n" "\n" "and the following history of commands you entered.\n" "Also include any additional information about your setup you\n" "consider important.\n" msgstr "" "\n" "\n" "Znalaz³e¶ b³±d w programie GNU Parted! Poni¿ej znajduje siê instrukcja\n" "postêpowania:\n" "\n" "Nie panikuj! B³±d najprawdopodobniej nie dotkn±³ ¿adnych twoich danych.\n" "Pomó¿ nam poprawiæ ten b³±d wykonuj±c nastêpuj±ce czynno¶ci:\n" "\n" "Sprawd¼, czy b³±d zosta³ ju¿ poprawiony sprawdzaj±c najnowsz± wersjê GNU\n" "Parteda dostêpn± pod adresem:\n" "\n" "\thttp://ftp.gnu.org/gnu/parted/\n" "\n" "Proszê sprawdziæ tê wersjê przed zg³aszaniem b³êdu.\n" "\n" "Je¶li b³±d nie zosta³ jeszcze poprawiony lub nie wiesz, jak to sprawdziæ,\n" "proszê odwiedziæ stronê GNU Parteda:\n" "\n" "\thttp://www.gnu.org/software/parted\n" "\n" "gdzie znajduje siê wiêcej informacji.\n" "\n" "Zg³oszenie b³êdu powinno zawieraæ wersjê tego wydania (%s)\n" "wraz z poni¿szym komunikatem o b³êdzie, wyj¶ciem polecenia\n" "\n" "\tparted URZ¡DZENIE unit co print unit s print\n" "\n" "i nastêpuj±c± histori± wprowadzonych poleceñ.\n" "Do³±cz tak¿e dodatkowe informacje o konfiguracji, które uwa¿asz\n" "za istotne.\n" #: parted/ui.c:291 msgid "" "\n" "Command History:\n" msgstr "" "\n" "Historia poleceñ:\n" #: parted/ui.c:354 msgid "" "\n" "Error: SEGV_MAPERR (Address not mapped to object)\n" msgstr "" "\n" "B³±d: SEGV_MAPERR (Adres nie odwzorowany na obiekcie)\n" #: parted/ui.c:360 msgid "" "\n" "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n" msgstr "" "\n" "B³±d: SEGV_ACCERR (Nieprawid³owe uprawnienia dla odwzorowanego obiektu)\n" #: parted/ui.c:365 msgid "" "\n" "Error: A general SIGSEGV signal was encountered.\n" msgstr "" "\n" "B³±d: Wyst±pi³ ogólny sygna³ SIGSEGV.\n" #: parted/ui.c:389 msgid "" "\n" "Error: FPE_INTDIV (Integer: divide by zero)" msgstr "" "\n" "B³±d: FPE_INTDIV (dzielenie przez zero na liczbach ca³kowitych)" #: parted/ui.c:394 msgid "" "\n" "Error: FPE_INTOVF (Integer: overflow)" msgstr "" "\n" "B³±d: FPE_INTOVF (przepe³nienie dla liczby ca³kowitej)" #: parted/ui.c:399 msgid "" "\n" "Error: FPE_FLTDIV (Float: divide by zero)" msgstr "" "\n" "B³±d: FPE_FLTDIV (dzielenie przez zero na liczbach zmiennoprzecinkowych)" #: parted/ui.c:404 msgid "" "\n" "Error: FPE_FLTOVF (Float: overflow)" msgstr "" "\n" "B³±d: FPE_FLTOVF (przepe³nienie dla liczby zmiennoprzecinkowej)" #: parted/ui.c:409 msgid "" "\n" "Error: FPE_FLTUND (Float: underflow)" msgstr "" "\n" "B³±d: FPE_FLTUND (niedope³nienie dla liczby zmiennoprzecinkowej)" #: parted/ui.c:414 msgid "" "\n" "Error: FPE_FLTRES (Float: inexact result)" msgstr "" "\n" "B³±d: FPE_FLTRES (niedok³adny wynik dla liczb zmiennoprzecinkowych)" #: parted/ui.c:419 msgid "" "\n" "Error: FPE_FLTINV (Float: invalid operation)" msgstr "" "\n" "B³±d: FPE_FLTINV (nieprawid³owa operacja dla liczb zmiennoprzecinkowych)" #: parted/ui.c:424 msgid "" "\n" "Error: FPE_FLTSUB (Float: subscript out of range)" msgstr "" "\n" "B³±d: FPE_FLTSUB (indeks spoza zakresu dla liczb zmiennoprzecinkowych)" #: parted/ui.c:429 msgid "" "\n" "Error: A general SIGFPE signal was encountered." msgstr "" "\n" "B³±d: Wyst±pi³ ogólny sygna³ SIGFPE." #: parted/ui.c:453 msgid "" "\n" "Error: ILL_ILLOPC (Illegal Opcode)" msgstr "" "\n" "B³±d: ILL_ILLOPC (niedozwolony kod instrukcji)" #: parted/ui.c:458 msgid "" "\n" "Error: ILL_ILLOPN (Illegal Operand)" msgstr "" "\n" "B³±d: ILL_ILLOPN (niedozwolony operand)" #: parted/ui.c:463 msgid "" "\n" "Error: ILL_ILLADR (Illegal addressing mode)" msgstr "" "\n" "B³±d: ILL_ILLADR (niedozwolony tryb adresowania)" #: parted/ui.c:468 msgid "" "\n" "Error: ILL_ILLTRP (Illegal Trap)" msgstr "" "\n" "B³±d: ILL_ILLTRP (niedozwolona pu³apka)" #: parted/ui.c:473 msgid "" "\n" "Error: ILL_PRVOPC (Privileged Opcode)" msgstr "" "\n" "B³±d: ILL_PRVOPC (uprzywilejowany kod instrukcji)" #: parted/ui.c:478 msgid "" "\n" "Error: ILL_PRVREG (Privileged Register)" msgstr "" "\n" "B³±d: ILL_PRVREG (uprzywilejowany rejestr)" #: parted/ui.c:483 msgid "" "\n" "Error: ILL_COPROC (Coprocessor Error)" msgstr "" "\n" "B³±d: ILL_COPROC (b³±d koprocesora)" #: parted/ui.c:488 msgid "" "\n" "Error: ILL_BADSTK (Internal Stack Error)" msgstr "" "\n" "B³±d: ILL_BADSTK (wewnêtrzny b³±d stosu)" #: parted/ui.c:493 msgid "" "\n" "Error: A general SIGILL signal was encountered." msgstr "" "\n" "B³±d: Wyst±pi³ ogólny sygna³ SIGILL." #: parted/ui.c:892 #, c-format msgid "invalid token: %s" msgstr "nieprawid³owy token: %s" #: parted/ui.c:1048 msgid "Expecting a partition number." msgstr "Oczekiwany by³ numer partycji." #: parted/ui.c:1057 msgid "Partition doesn't exist." msgstr "Partycja nie istnieje." #: parted/ui.c:1077 msgid "Expecting a file system type." msgstr "Oczekiwany by³ typ systemu plików." #: parted/ui.c:1084 #, c-format msgid "Unknown file system type \"%s\"." msgstr "Nieznany typ systemu plików \"%s\"." #: parted/ui.c:1104 msgid "Expecting a disk label type." msgstr "Oczekiwany by³ typ etykiety dysku." #: parted/ui.c:1202 msgid "Can't create any more partitions." msgstr "Nie mo¿na utworzyæ wiêcej partycji." #: parted/ui.c:1212 msgid "Expecting a partition type." msgstr "Oczekiwany by³ typ partycji." #: parted/ui.c:1360 msgid "on" msgstr "w³±czone" #: parted/ui.c:1361 msgid "off" msgstr "wy³±czone" #: parted/ui.c:1378 msgid "optimal" msgstr "optymalne" #: parted/ui.c:1379 msgid "minimal" msgstr "minimalne" #: parted/ui.c:1512 msgid "OPTIONs:" msgstr "OPCJE:" #: parted/ui.c:1517 msgid "COMMANDs:" msgstr "POLECENIA:" #: parted/ui.c:1520 #, fuzzy, c-format msgid "" "\n" "Report bugs to %s\n" msgstr "" "\n" "Prosimy zg³aszaæ b³êdy na adres <%s>.\n" "B³êdy w t³umaczeniu prosimy zg³aszaæ na adres: .\n" #: parted/ui.c:1527 #, c-format msgid "Using %s\n" msgstr "U¿ycie %s\n" #: parted/ui.c:1601 msgid "This command does not make sense in non-interactive mode.\n" msgstr "To polecenie nie ma sensu w trybie nieinteraktywnym.\n" #~ msgid "" #~ "WARNING: the kernel failed to re-read the partition table on %s (%s). As " #~ "a result, it may not reflect all of your changes until after reboot." #~ msgstr "" #~ "UWAGA: próba ponownego odczytu tablicy partycji przez j±dro nie powiod³a " #~ "siê dla %s (%s). W efekcie zmiany mog± nie byæ uwzglêdnione do restartu " #~ "komputera." #~ msgid "" #~ "Device %s has a logical sector size of %lld. Not all parts of GNU Parted " #~ "support this at the moment, and the working code is HIGHLY EXPERIMENTAL.\n" #~ msgstr "" #~ "Logiczny rozmiar sektora dla %s wynosi %lld. Nie wszystkie czê¶ci GNU " #~ "Parteda aktualnie to obs³uguj±, a dzia³aj±cy kod jest WYSOCE " #~ "EKSPERYMENTALNY.\n" parted-2.3/po/zh_CN.gmo0000644000000000000000000004007211400005706011643 00000000000000Þ•ºìû¼ ¨©Æ Í2Ø< H]{š(°%ÙÿP/H€DÉ Li)†!°GÒ(<C@€?Á24];=™I×!"4W(už½Ú'ñ7<B&aˆ$Âßý\7=”?Ò>Qbv|¶>D=ƒ;ÁHýFfx|‚Û‘ImU·  44@)uŸ ¶Á Üè ý -Kcf+o/›/Ëû0 .;)j”)­×çù" , 2 3L €  ¨ ¯ <Ç ;!<@!;}!<¹!‚ö!Öy"/P#^€#hß#HH$H‘$ˆÚ$šc%@þ%@?&7€&ƒ¸&U<'’'¦'AÂ'((3.(b(j( ‰(“(H›(ä()~) „)’)—))µ)¸)Í)è))ñ)* *4*9*@*D*L*P*Y*^*f*m*v*{*#€*¤*¨*)«*Õ*Ý*ã*è*í*ÿ*+ +++0+7+ ;+E+J+ue+Û,÷, þ, -!%-G-!]--Ÿ-!³-Õ-ô-.D.;b./ž.Î.Ò.+Ù.////%B/h/}/˜/,·/*ä/030H0)g0‘0¡0¿0Ò0!î01'1#:1^1m1v1{1“1±1Â1Ó1æ1ù12H2&`2.‡2'¶2Þ2 ÷23 !3u/3)¥3+Ï3%û3,!4N4i4x4}4 ‚4Ÿ4-5A46v6{6Ž6 “6´6Ñ6 î6ù677.777:7 A7N7e7}7‚7‰7¦7¿7 Ú7-å7838 O8\8 y8 „8 8š8±8¶8"Æ8é8 ò8ÿ89$9$@9$e9$Š9 ¯9[Ð9,:¬:=È:B;3I;3};Y±;d < p< ‘<²<WÒ<?*= j= w=3„= ¸=Æ=Ù=ò=÷=>>4 >U>l>Po>À>Ç>Ì>Ñ>Ú>Ý>æ>õ>#þ>"?+?5®€œ=2E”pŠ:)D·Xšº(b!ªd†¡qe˜Z .°¬“’'N0G*@o•r+;lw—¸ }–ƒ"c¦I/_~M¢ž§]8 Tu7%0.f%% (time left %.2d:%.2d)%s %s%s %s %s%s disk labels do not support extended partitions.%s disk labels don't support logical or extended partitions.%s during read on %s%s during seek for read on %s%s during seek for write on %s%s during write on %s%s is %dk, but it has %d clusters (%dk).%s is too small for a Mac disk label!%s trying to sync %s to diskATARAID ControllerBad FAT: cluster %d is cross-linked for %s. You should run dosfsck or scandisk.Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk.Bad directory entry for %s: first cluster is the end of file marker.BugCOMMANDs:Can't add a logical partition to %s, because there is no extended partition.Can't add another partition.Can't copy onto an overlapping partition.Can't create any more partitions.Can't have a logical partition outside of the extended partition on %s.Can't have a partition outside the disk!Can't have a primary partition inside an extended partition.Can't have logical partitions outside of the extended partition.Can't move a partition onto itself. Try using resize, perhaps?Can't write to %s, because it is opened read-only.CancelChanging the name of a root or swap partition will prevent Linux from recognising it as such.Checksum is wrong, indicating the partition table is corrupt.Cluster start delta = %d, which is not a multiple of the cluster size %d.Compaq Smart ArrayCorrupted Sun disk label detected.Could not detect file system.Could not get identity of device %s - %sCould not stat device %s - %s.Couldn't flush buffer cache!DAC960 RAID controllerDEVICE is usually /dev/hda or /dev/sda Destination partition number?End?ErrorError allocating buffer cache.Error initialising SCSI device %s - %sError opening %s: %sError writing to the root directory.Expecting a disk label type.Expecting a file system type.Expecting a partition number.Expecting a partition type.FAT %d media %x doesn't match the boot sector's media %x. You should probably run scandisk.FAT boot sector says clusters are 0 sectors. This is weird. FAT boot sector says logical sector size is 0. This is weird. FAT boot sector says there are no FAT tables. This is weird. FLAG is one of: FS-TYPE is one of: FatalFile System: %s File system doesn't have expected sizes for Windows to like it. Cluster size is %dk (%dk expected); number of clusters is %d (%d expected); size of FATs is %d sectors (%d expected).File system has an invalid cluster size for a FAT file system.File system has an invalid sector size for a FAT file system.File system has an invalid signature for a FAT file system.File system is reporting the free space as %d clusters, not %d clusters.File system too small for ext2.File system type?FixFlagsI2O ControllerIf you convert to FAT16, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual).If you convert to FAT32, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual). Also, converting to FAT32 will make the file system unreadable by MS DOS, MS Windows 95a, and MS Windows NT.If you leave your file system as FAT32, then you will not introduce any new problems.IgnoreInconsistent group descriptors!InformationInvalid partition table - recursive partition on %s.Invalid signature %x for Mac disk labels.LABEL-TYPE is one of: Minor: %d NAME is any word you want New device?New disk label type?New state?NoNo ImplementationNo device foundNo valid partition map found.Not enough free inodes!OKOPTIONs:Only logical partitions can be a boot file.Only primary partitions can be root partitions.Only primary partitions can be swap partitions.Out of memory.PART-TYPE is one of: primary, logical, extended Partition %d has an invalid length of 0 bytes!Partition %d has an invalid signature %x.Partition doesn't exist.Partition map has no partition map entry!Partition name?Partition number?Partition type?Partition(s) on %s are being used.RetrySTATE is one of: on, off Sorry, can't move the start of ext2 partitions yet!Source device?Source partition number?Start?Sun disk label is full.Support for checking %s file systems is not implemented yet.Support for copying %s file systems is not implemented yet.Support for creating %s file systems is not implemented yet.Support for opening %s file systems is not implemented yet.Support for resizing %s file systems is not implemented yet.The FATs don't match. If you don't know what this means, then select cancel, run scandisk on the file system, and then come back.The backup GPT table is not at the end of the disk, as it should be. This might mean that another operating system believes the disk is smaller. Fix, by moving the backup to the end (and removing the old backup)?The disk label describes a disk bigger than %s.The driver descriptor says the physical block size is %d bytes, but Linux says it is %d bytes.The file %s is marked as a system file. This means moving it could cause some programs to stop working.The file system can only be resized to this size by converting to FAT16.The file system can only be resized to this size by converting to FAT32.The format of the GPT partition table is version %x, which is newer than what Parted can recognise. Please tell us! bug-parted@gnu.orgThe information sector has the wrong signature (%x). Select cancel for now, and send in a bug report. If you're desperate, it's probably safe to ignore.The partition's boot region doesn't occupy the entire partition.The partition's data region doesn't occupy the entire partition.There are no possible configurations for this FAT type.This file system has a logical sector size of %d. GNU Parted is known not to work properly with sector sizes other than 512 bytes.This libparted doesn't have write support for %s. Perhaps it was compiled read-only.Too many bad pages.Too many primary partitionsUnable to open %s read-write (%s). %s has been opened read-only.Unable to open %s.Unable to probe store.Unable to satisfy all constraints on the partition.UnknownUnknown file system type "%s".Using %s WarningWeird block size on device descriptor: %d bytes is not divisible by 512.Would you like to use FAT32?YesYou should reinstall your boot loader before rebooting. Read section 4 of the Parted User documentation for more information.adding groupsbootcheckchecking for bad blockscpdisplays the versiondisplays this help messageextendedfat_table_alloc_cluster: no free clustersfreegrowing file systemhelphiddenlbalogicallvmmetadatamkfsmklabelmkpartmkpartfsmovenamenever prompts for user interventionoffonped_device_new() Unsupported device typeprimaryprintquitraidraw block copyingrescueresizermrootsearching for file systemsselectsetshrinkingswapwriting per-group metadataProject-Id-Version: parted 1.6.6 Report-Msgid-Bugs-To: bug-parted@gnu.org POT-Creation-Date: 2010-05-28 20:30+0200 PO-Revision-Date: 2003-08-01 11:27+0800 Last-Translator: Wang Li Language-Team: Chinese (simplified) Language: zh_CN MIME-Version: 1.0 Content-Type: text/plain; charset=gb2312 Content-Transfer-Encoding: 8bit %0.f%% (Ê£Óàʱ¼ä %.2d:%.2d)%s %s%s %s %s%s ´ÅÅ̱êÇ©²»Ö§³ÖÀ©Õ¹·ÖÇø¡£%s ´ÅÅ̱êÇ©²»Ö§³ÖÂß¼­»òÀ©Õ¹·ÖÇø¡£ÔÚ¶ÁÈ¡ %2$s ÆÚ¼ä %1$sÔÚΪ¶ÁÈ¡ %2$s ¶øµ÷Óà seek ʱ %1$sÔÚΪдÈë %2$s µ÷Óà seek ʱ %1$sÔÚдÈë %2$s ʱ %1$s%s Ϊ %dk£¬µ«º¬ÓÐ %d ¸ö´Ø (%dk)¡£%s ¶Ô Mac ´ÅÅ̱êÇ©À´ËµÌ«Ð¡ÁË£¡%s ÊÔͼ½« %s ͬ²½µ½´ÅÅÌÉÏATARAID ¿ØÖÆÆ÷´íÎóµÄ FAT£º´Ø %d ͬ %s µÄÁ´½»²æÁË¡£ÄúÓ¦¸ÃÔËÐÐ dosfsck »ò scandisk¡£´íÎóµÄ FAT£º%s µÄÁ´Î´ÖÕÖ¹¡£ÄúÓ¦¸ÃÔËÐÐ dosfsck »ò scandisk¡£%s µÄĿ¼ÌõÄ¿´íÎ󣺵ÚÒ»¸ö´Ø¾ÍÊÇÎļþ±êÖ¾µÄ½áÊø¡£BugÃüÁÓÉÓÚûÓÐÀ©Õ¹·ÖÇø£¬ÎÞ·¨½«Âß¼­·ÖÇøÌí¼Óµ½ %s¡£ÎÞ·¨Ìí¼ÓÆäËü·ÖÇø¡£ÎÞ·¨¸´ÖƵ½ÖصþµÄ·ÖÇø¡£ÎÞ·¨´´½¨¸ü¶à·ÖÇø¡£%s ÉϵÄÂß¼­·ÖÇø²»ÄÜ´¦ÓÚÀ©Õ¹·ÖÇøÖ®Íâ¡£ÎÞ·¨È÷ÖÇø³¬³ö´ÅÅÌ£¡À©Õ¹·ÖÇøÖв»Äܺ¬ÓÐÖ÷·ÖÇø¡£Âß¼­·ÖÇø²»ÄÜ´¦ÓÚÀ©Õ¹·ÖÇøÖ®Íâ¡£ÎÞ·¨½«·ÖÇøÒÆ¶¯µ½Ëü×ÔÉí¡£ÊÔÓøıä´óС£¬¿ÉÄÜ£¿ÓÉÓÚ %s ÊÇÒÔÖ»¶Á·½Ê½´ò¿ªµÄ£¬Òò´ËÎÞ·¨Ð´Èë¡£·ÅÆú¸Ä±ä¸ù·ÖÇø»ò¶Ô»»·ÖÇøµÄÃû³Æ½«µ¼Ö Linux ÎÞ·¨Ê¶±ðËü¡£Ð£ÑéºÍ´íÎ󣬱êÃ÷·ÖÇø±íÒÑË𻵡£´ØÆðÊ¼Æ«ÒÆ = %d£¬²»ÊÇ´Ø´óС %d µÄÕûÊý±¶¡£Compaq ÖÇÄÜÕóÁмì²âµ½Ëð»µÁ赀 Sun ´ÅÅ̱êÇ©¡£ÎÞ·¨¼ì²âÎļþϵͳ¡£ÎÞ·¨»ñÈ¡É豸 %s - %s µÄ±êʶÎÞ·¨¶ÔÉ豸 %s - %s ×ö stat ²Ù×÷¡£ÎÞ·¨Ë¢Ð»º³åÇø cache£¡DAC960 RAID ¿ØÖÆÆ÷DEVICE ͨ³£Îª /dev/hda »ò /dev/sda Ä¿±ê·ÖÇø±àºÅ£¿½áÊøµã£¿´íÎó·ÖÅ仺³åÇø cache ´íÎó¡£³õʼ»¯ SCSI É豸 %s - %s ³ö´í´ò¿ª %s ³ö´í£º%sдÈë¸ùĿ¼´íÎó¡£ÐèÒª´ÅÅ̱êÇ©ÀàÐÍ¡£ÐèÒªÎļþϵͳÀàÐÍ¡£ÐèÒª·ÖÇø±àºÅ¡£ÐèÒª·ÖÇøÀàÐÍ¡£FAT %d ýÌå %x ºÍÆô¶¯ÉÈÇøËùÔÚµÄýÌå %x ²»Æ¥Åä¡£Äú¿ÉÄÜÓ¦¸ÃÔËÐÐ scandisk¡£FAT Æô¶¯ÉÈÇøÉù³Æ×äÊÇÁãÉÈÇø¡£ÕâºÜÆæ¹Ö¡£FAT Æô¶¯ÉÈÇøÉù³ÆÂß¼­ÉÈÇøµÄ´óСΪÁã¡£ÕâºÜÆæ¹Ö¡£FAT Æô¶¯ÉÈÇøÉù³ÆÃ»ÓÐ FAT ±í¡£ÕâºÜÆæ¹Ö¡£¡°±êÖ¾¡±ÊÇÒÔÏÂÈÎÒâÒ»Ï¡°ÎļþϵͳÀàÐÍ¡±ÊÇÒÔÏÂÈÎÒâÒ»ÏÖÂÃü´íÎóÎļþϵͳ£º%s ÎļþϵͳµÄ´óС²»ÊÇ Windows ËùÏ£ÍûµÄ¡£´Ø´óСΪ %dk (ÆÚÍû %dk)£»´ØÊýÁ¿Îª %d (ÆÚÍû %d)£»FAT µÄ´óСΪ %d ÉÈÇø (ÆÚÍû %d)¡£ÎļþϵͳµÄ´Ø´óС¶Ô FAT ÎļþϵͳÀ´ËµÎÞЧ¡£ÎļþϵͳµÄÉÈÇø´óС¶Ô FAT ÎļþϵͳÀ´ËµÎÞЧ¡£Îļþϵͳº¬ÓÐÎÞЧµÄ FAT ÎļþϵͳǩÃû¡£Îļþϵͳ±¨¸æ¿ÕÏпռäΪ %d ´Ø£¬¶ø²»ÊÇ %d ´Ø¡£¶Ô ext2 À´ËµÎļþϵͳ¹ýС¡£ÎļþϵͳÀàÐÍ£¿ÐÞÕý±êÖ¾I2O ¿ØÖÆÆ÷Èç¹ûÄúת»»Îª FAT16£¬²¢½« MS Windows °²×°µ½Õâ¸ö·ÖÇø£¬ÄÇôÄú±ØÐëÖØÐ°²×° MS Windows Æô¶¯¹ÜÀíÆ÷¡£Èç¹ûÄú´òËãÕâô×ö£¬ÄúÓ¦¸Ã²ÎÔÄ Parted µÄÊÖ²á (»òÄúµÄ·¢ÐаæµÄÊÖ²á)¡£Èç¹ûÄúת»»Îª FAT32£¬²¢ÇÒ MS Windows °²×°ÔÚÕâ¸ö·ÖÇø£¬ÄÇôÄú±ØÐëÖØÐ°²×° MS Windows µÄÆô¶¯¹ÜÀíÆ÷¡£Èç¹ûÄú´òËãÕâÑù×÷£¬ÄúÓ¦¸Ã²ÎÔÄ Parted µÄÊÖ²á (»òÕßÄúµÄ·¢ÐаæµÄÊÖ²á)¡£´ËÍ⣬½«Îļþϵͳת»»Îª FAT32£¬Îļþϵͳ¾Í²»Äܹ»±» MS DOS¡¢MS Windows 95a ºÍ MS Windows NT Ëù·ÃÎÊÁË¡£Èç¹ûÄú±£³ÖÎļþϵͳÀàÐÍΪ FAT32 ²»±ä£¬ÄÇôÄú½«²»»áÓöµ½ÈκÎÐÂÎÊÌâ¡£ºöÂÔ²»Ò»ÖµÄ×éÃèÊö·û£¡ÐÅÏ¢ÎÞЧµÄ·ÖÇø±í - %s ³öÏֵݹé·ÖÇø¡£ÎÞЧµÄ Mac ´ÅÅ̱êǩǩÃû %x¡£¡°±êÇ©ÀàÐÍ¡±ÊÇÒÔÏÂÈÎÒâÒ»ÏMinor£º%d NAME ÊÇÄúÐèÒªµÄÈκε¥´Ê ÐÂÉ豸£¿ÐµĴÅÅ̱êÇ©ÀàÐÍ£¿ÐÂ״̬£¿·ñδʵÏÖûÓÐÕÒµ½É豸ÕÒ²»µ½ÓÐЧµÄ·ÖÇøÓ³É䡣ûÓÐ×ã¹»µÄ¿ÕÏÐ inodes£¡È·ÈÏÑ¡ÏֻÓÐÂß¼­·ÖÇø¿ÉÒÔÊÇÆô¶¯Îļþ¡£Ö»ÓÐÖ÷·ÖÇø¿ÉÒÔÊǸù·ÖÇø¡£Ö»ÓÐÖ÷·ÖÇø¿ÉÒÔÊǶԻ»·ÖÇø¡£ÄÚ´æºÄ¾¡¡£¡°·ÖÇøÀàÐÍ¡±ÊÇÖ÷·ÖÇø¡¢Âß¼­·ÖÇø¡¢À©Õ¹·ÖÇøÖ®Ò» ·ÖÇø %d º¬ÓÐÎÞЧµÄ³¤¶È 0 ×Ö½Ú£¡·ÖÇø %d º¬ÓÐÎÞЧµÄÇ©Ãû %x¡£·ÖÇø²»´æÔÚ¡£·ÖÇøÓ³Éä²»º¬ÓзÖÇøÓ³ÉäÌõÄ¿£¡·ÖÇøÃû³Æ£¿·ÖÇø±àºÅ£¿·ÖÇøÀàÐÍ£¿ÕýÔÚʹÓà %s ÉϵķÖÇø¡£ÖØÊÔ״̬Ϊ£º¿ª¡¢¹Ø ´íÎó£¬ÉÐÎÞ·¨Òƶ¯ ext2 ·ÖÇøµÄÆðµã£¡Ô´É豸£¿Ô´·ÖÇø±àºÅ£¿Æðʼµã£¿Sun ´ÅÅ̱êÇ©ÒÑÂú¡£¹ØÓÚ¼ì²é %s ÎļþϵͳµÄÖ§³ÖÉÐδʵÏÖ¡£¹ØÓÚ¸´ÖÆ %s ÎļþϵͳµÄÖ§³ÖÉÐδʵÏÖ¡£¹ØÓÚ´´½¨ %s ÎļþϵͳµÄÖ§³ÖÉÐδʵÏÖ¡£¹ØÓÚ´ò¿ª %s ÎļþϵͳµÄÖ§³ÖÉÐδʵÏÖ¡£¸Ä±ä %s ÎļþϵͳµÄÖ§³ÖÉÐδʵÏÖ¡£FAT ²»Æ¥Åä¡£Èç¹ûÄã²»ÖªµÀËüµÄº¬Ò壬ÇëÑ¡Ôñ·ÅÆú£¬²¢¶ÔÎļþϵͳÔËÐÐ scandisk£¬¶øºóÔڻص½ÕâÀïÀ´¡£±¸·Ý GPT ±í²»ÏñÓ¦¸ÃµÄÄÇÑù³öÏÖÔÚ´ÅÅ̵Äĩβ¡£Õâ¿ÉÄÜÒâζÕâÆäËü²Ù×÷ϵͳÏàÐÅ´ÅÅÌСһЩ¡£Í¨¹ý½«±¸·ÝÒÆ¶¯µ½Ä©Î² (²¢É¾³ý¾É±¸·Ý) À´ÐÞÕý£¿´ÅÅ̱êÇ©ÃèÊöµÄ´ÅÅÌ´óÓÚ %s¡£´ÅÅÌÃèÊö±íÃ÷ÎïÀí¿é´óСΪ %d ×Ö½Ú£¬µ« Linux ÈÏΪËüÊÇ %d ×Ö½Ú¡£Îļþ %s ±»±ê¼ÇΪϵͳÎļþ¡£ÕâÒâζ×ÅÒÆ¶¯Ëü¿ÉÄܵ¼ÖÂijЩ³ÌÐòÍ£Ö¹¹¤×÷¡£ÎļþϵͳµÄ´óСֻÄÜͨ¹ýת»»Îª FAT16 ¸Ä±äµ½ÕâÒ»´óС¡£ÎļþϵͳµÄ´óСֻÄÜͨ¹ýת»»Îª FAT32 ¸Ä±äµ½ÕâÒ»´óС¡£GPT ·ÖÇø±íµÄ¸ñʽ°æ±¾Îª %x£¬Ëü±È Parted ËùÄÜʶ±ðµÄ°æ±¾ÒªÐ¡£Çë¸æËßÎÒÃÇ£¡bug-parted@gnu.orgÐÅÏ¢ÉÈÇøµÄÇ©Ãû´íÎó (%x)¡£ÏÖÔÚÑ¡Ôñ·ÅÆú£¬²¢·¢ËÍ bug ±¨¸æ¡£Èç¹ûÄú²»¹ËÒ»ÇУ¬Ñ¡ÔñºöÂÔÓпÉÄÜÊÇ¡°°²È«¡±µÄ¡£·ÖÇøµÄÆô¶¯ÇøÓò²¢Î´Õ¼ÓÃÕû¸ö·ÖÇø¡£·ÖÇøµÄÊý¾ÝÇøÓò²¢Î´Õ¼ÓÃÕû¸ö·ÖÇø¡£¶ÔÓÚ´Ë FAT ÀàÐÍûÓпÉÄܵÄÅäÖᣴËÎļþϵͳµÄÂß¼­ÉÈÇø´óСΪ %d¡£GNU Parted ²»ÄÜÔÚÉÈÇø´óС²»ÊÇ 512 ×Ö½ÚµÄÇé¿öÏÂÕýÈ·¹¤×÷¡£Õâ¸ö libparted ²»Ö§³Ö¶Ô %s µÄд²Ù×÷¡£¿ÉÄÜËüÊǰ´Ö»¶Á·½Ê½±àÒëµÄ¡£¹ý¶àµÄ»µÒ³¡£¹ý¶àµÄÖ÷·ÖÇøÎÞ·¨ÒÔ¶Áд·½Ê½´ò¿ª %s (%s)¡£%s ÒѰ´ÕÕÖ»¶Á·½Ê½´ò¿ª¡£ÎÞ·¨´ò¿ª %s¡£ÎÞ·¨Ì½²â´æ´¢É豸¡£ÎÞ·¨Âú×ã·ÖÇøµÄËùÓÐÏÞÖÆ¡£Î´ÖªÎ´ÖªµÄÎļþϵͳÀàÐÍ¡°%s¡±¡£Ê¹Óà %s ¾¯¸æÉ豸ÃèÊöÖгöÏֹŹֵĿé´óС£º%d ×Ö½Ú²»Äܱ» 512 Õû³ý¡£ÄúÊÇ·ñÔ¸ÒâʹÓà FAT32£¿ÊÇÄúÓ¦¸ÃÔÚÖØÐÂÆô¶¯Ö®Ç°ÖØÐ°²×°ÄúµÄÆô¶¯¹ÜÀíÆ÷¡£ÏêÇéÇëÔĶÁ Parted Óû§ÎĵµµÄµÚËĽڡ£Ìí¼Ó×éÆô¶¯¼ì²é¼ì²é»µ¿écpÏÔʾ°æ±¾ÏÔʾ´ËÇóÖúÐÅÏ¢À©Õ¹·ÖÇøfat_table_alloc_cluster£ºÃ»ÓпÕÏдؿÕÏпռäÕýÔÚÀ©´óÎļþϵͳhelpÒþ²Ø·ÖÇølbaÂß¼­·ÖÇølvmÔªÊý¾Ýmkfsmklabelmkpartmkpartfsmovename´Ó²»ÌáʾÓû§¹Ø¿ªped_device_new() ²»Ö§³ÖµÄÉ豸ÀàÐÍÖ÷·ÖÇøprintquitraidԭʼ¿é¸´ÖÆrescueresizerm¸ùÕýÔÚËÑË÷ÎļþϵͳselectsetÕýÔÚËõС¶Ô»»·ÖÇøÐ´Èëÿ¸ö×é¶¼ÓеÄÔªÊý¾Ýparted-2.3/po/uk.gmo0000644000000000000000000025300711400005706011265 00000000000000Þ•$³, ø*;ù*5.0H.0y.2ª.*Ý.-/$6/*[/2†/%¹/,ß/& 0)30&]0,„0#±0$Õ0!ú0&1(C1<l13©1Ý1,ô15!2PW2/¨2]Ø2G63&~3¥3Â3 É3+Ô3+4,4#K4#o4“40±40â45025(c5(Œ5µ5 Õ5'ö5%6)D6n6'Ž6`¶628<J8‡8œ8º8Ù87ï8('9%P9v9“9Ž•9^$:ƒ:W‡:]ß:Õ=;<+&<BR<F•<!Ü<0þ<</=Dl=!±=PÓ=]$>H‚>Ë>ë>$ ?D.?s?"‰?-¬?‡Ú?b@ f@Lp@>½@ü@!A);A!eAG‡A(ÏA<øA@5B2vB"©B?ÌB! C2.CaC0hC]™C=÷CD5DIzDÄDZ×Do2E"¢F*ÅFðF4G5CG(yG¢GÁGàGÿGH:H<YH=–HÔHôHI4ITI4qI¦I8ÃI'üI7$J\J'sJ›J8·J8ðJ)KëGK#3L/WL ‡M ”MŸM£M¨M®MØÍM&¦NÍN(âNB O$NOsOO®OÌO:èO\#P=€P?¾P>þP=QNQ&bQ‰QQ  Q¶¬QcR>uR*´RLßR=,S;jS/¦S<ÖS+TH?T*ˆT³TÓT>åT$U¤U¨U¸U ¾UHÉU VKV0iV}šVcW |WˆW—W«WÛÄWI XGêYU2ZˆZZ-¯Z ÝZéZ[[9[9Q[‹[4›[4Ð[\$$\I\[\)v\K \>ì\l+]:˜]DÓ]m^†^^¬^½^ Ì^×^ç^”_—_ œ_¨_ ½_È_Ë_Ý_í_ö_8`N`¢l`a'a.a1a+:a/fa/–aÆa0Õa?bTFb.›b)Êb.ôbN#cQrcÄcÙc)òcd,d->dld"|d#ŸdÃdÛdCöd$:e_eœeef,fIfNf7]f*•f+Àf3ìf7 gXggg€g†gg•gH­g<ög;3h<ohM¬h;úh>6i<uiD²iX÷i>Pj‚jíkÖl<×l<mQm‚ÓmFVn/n^Ínp,oooc p`qphÒpH;qH„q ÍqÙîq*Èr?ór03s0dsˆ•tšu¹u,;vhv†v7¦v¨Þv¶‡x@>y@yRÀygzg{ztãz7X{p{;|E=|<ƒ|FÀ|:}ƒB}fÆ}U-~ƒ~—~³~Ð~&ã~ 0Œ1½ˆï1x€2ª€Ý€â€(ó€(&Etl(áA ‚L‚_‚3v‚ª‚°‚¸‚ׂ󂃃,ƒ >ƒ3Kƒ3ƒ/³ƒ$ãƒ*„3„ S„ô„ …#…#6…;Z…–…Hž…+ç…?†ˆS†܆ù†;‡3L‡/€‡+°‡'܇#ˆ(ˆHˆdˆtˆ#xˆbœˆ~ÿˆP~‰?ωŠŠŠ Š+Š0ŠM6Š„ŠŠ¥Š­ŠN°ŠÿŠ!‹*‹?‹ Z‹d‹)m‹.—‹.Æ‹õ‹ú‹ŒOŒcŒ jŒuŒ+yŒ¥Œ­Œ±ŒÂŒËŒÐŒQØŒ*91kLtÁÉ>Î ŽŽFŽ#aŽ…Ž‰ŽŒŽ…‘Ž)AFN”Té5î$);SB–Tò@õ6‘;‘V‘B]‘ ‘L¤‘ ñ‘û‘’0’5’U<’’’¤’·’E¼’“k “ v“"‚“¥“À“…Û“a•šIžšIèšK2›c~›nâ›_Qœj±œii†DðK5žJžGÌžTŸNiŸE¸ŸAþŸR@ I“ }Ý X[¡@´¡aõ¡fW¢¾¢_L£­¬£ŒZ¤Cç¤0+¥\¥ c¥Yn¥[È¥<$¦]a¦O¿¦8§mH§m¶§9$¨G^¨i¦¨H©]Y©g·©fªU†ªKܪ0(«?Y«r™«n ®†{®¯O!¯Mq¯¿¯nÞ¯CM°H‘°BÚ°±±v'²ž²¢²©0³°Ú³‹µ>¦µZåµp@¶2±¶Tä¶^9·m˜·9¸@¸ÏÞ¸„®¹b3ºI–ºX຃9»D½»6¼G9¼!¼£½²½‰Â½uL¾;¾Eþ¾ZD¿IŸ¿ƒé¿VmÀdÄÀ{)Áa¥ÁMÂpUÂ]ÆÂw$ÜÃz¯Ã”*Ä…¿ÄŽEņÔÅ[Æ´nÆŽ#ÇF²É^ùÉCXÊRœÊSïÊZCË8žË8×Ë8Ì8IÌ?‚ÌMÂÌ^Í_oÍ6ÏÍ6Î6=Î6tÎ3«ÎkßÎ;KÏŠ‡ÏOІbÐéÐ;Ñ+DÑppÑpáÑ-RÒ¸€ÒZ9Ô”Ô¥Ö¶Ö ÌÖ ÙÖçÖ8öÖŽ/×G¾Ø,Ù<3Ù`pÙKÑÙ>Ú:\Ú/—Ú+ÇÚlóÚ¬`Ûœ ÜšªÜ‘EÝ×ÝòÝE ÞRÞ"rÞ•Þ+³Þ)ß߀ àTŠàußà~Uá{ÔájPâ…»âMAãã`äJ~ä'Éäñäs剿,œæ ÉæÖæ­èæ–ç“´çNH謗èÃDéêê6êUê`nêýÏë€ÍíNîÞî;óîO/ïï<”ï`Ñï<2ð*oð~šð"ñe<ñn¢ñ=òMOò8ò8ÖòZó˜józôŒ~ôa õ¨mõ®ö%Åö'ëö ÷%4÷Z÷j÷?÷äÁ÷ ¦ø±ø%Îøôøùù&0ùWùGoùb·ùGú#bú;†û Âû Íû Úûkæû`Rüa³ü%ý\;ýe˜ýµþýH´þDýþ<Bÿžÿ$¼á]ÿ]xe“ù3ID!Ž9°nê7Y‘ ¤±OÐ -qBP´QjWn 1-R€Ÿ3°ähtwÝhU ‘¾ lP s½ |1 ® ž> qÝ O cU¼¹evWÜ4á:n\‹È蓱EÂÓ¯–ÜFž#žÂ<až9<sv{êOf÷¶E® áô!:Ö"8#8J#Xƒ#åÜ#HÂ&_ (Qk(¾½(¹|)Ë6*¶+X¹+î,Y-v[-]Ò-w0.^¨.ð/Èø/®Á0@p1=±1>ï1".2dQ2¿¶2Gv3H¾3à4Eè4F.5u5|5V“5Vê5/A6Öq6>H7‡7*88B8[{8 ×8á8?ô81490f9-—9-Å9-ó9&!:ZH:\£:X;7Y;^‘;>ð;Z/<Š=$ž=DÃ=D>ŠM>Ø>|ñ>]n?yÌ?ÅF@4 AAA@[A6œA2ÓA,B*3B&^B"…B¨BÆBÖBSÝB¯1CïáC™ÑDykE åE ïEùEûEFFs"F–F.©FØFíF„ðFuGZˆG!ãG2H8HMHEbHn¨HnI †I4“IÈI€ÍINJ_JoJ\sJÐJáJ åJKKK€$K¥Kg¬KLŒLªL²Lp·L(M0Ml5MP¢MóM÷MúM²ÿMH²NûNOOéOP<PCP!HPjPqPñPeøP^Q]aQ¿Q(ÒQûQ[R^RtbR×R)ìR7SNSSS…ZS(àS, T6Ts;T¯T’·TJUAfU+¨U2ÔU@ Þ¶)lüqfÁÞ6â·Ñ#Ac=¨"\?lm×BùÏûªkɳi-.¹Žìs=·ž 5þVX‹úÓ'oÝ¥)y¶xÕë^¬(§G}g¼Œ¦™áÊ›µPÐõIð߉Ø,d£ò;Ÿ<[@tê+ªQHÄ‘À?E¨w¸Ke'ãZ­šv*8á4WÿŸä8ÜR.d rD"~Üh×]ȦÌUN¡ŠHÎõm¥í+ÆMرëþ®ó¬ã§øQòy5¯4íÐÊ¢I‚GÔ;«ïÒLìéS¼”T÷ER æ±bµCkÄcÇ­ïÆÕ€uÚUé¤9ožKtñÉ€ƒe—^Á•äÅ3ý{½b`j»™u¡´NÃ(_rT‡’>SÛÛöDŠÂ få—ÇçÝp®ü!ÒóP…}6ƒw|&“Ó<©ÅÙ\*ý%›Ö`Wÿ„èqCÏa½Â²L7:¿´z°îMˆ~À°‚Oa1 ÑÙ¸1X YÚËF _ »î#/ô ºJâçVÍöùj êðg‘/«nÔ nv,s J¤>÷æóœF߈ˉºàè˜$7̾˜!¾†…9œÖŒ“å&20–ZY-[£’¹ú%‡•:zx †3Í¿]ûh‹Îñ௲$špŽ©ô|iø¢B0{AÈ„2–”O You found a bug in GNU Parted! Here's what you have to do: Don't panic! The bug has most likely not affected any of your data. Help us to fix this bug by doing the following: Check whether the bug has already been fixed by checking the last version of GNU Parted that you can find at: http://ftp.gnu.org/gnu/parted/ Please check this version prior to bug reporting. If this has not been fixed yet or if you don't know how to check, please visit the GNU Parted website: http://www.gnu.org/software/parted for further information. Your report should contain the version of this release (%s) along with the error message below, the output of parted DEVICE unit co print unit s print and the following history of commands you entered. Also include any additional information about your setup you consider important. Command History: Error: A general SIGFPE signal was encountered. Error: A general SIGILL signal was encountered. Error: A general SIGSEGV signal was encountered. Error: FPE_FLTDIV (Float: divide by zero) Error: FPE_FLTINV (Float: invalid operation) Error: FPE_FLTOVF (Float: overflow) Error: FPE_FLTRES (Float: inexact result) Error: FPE_FLTSUB (Float: subscript out of range) Error: FPE_FLTUND (Float: underflow) Error: FPE_INTDIV (Integer: divide by zero) Error: FPE_INTOVF (Integer: overflow) Error: ILL_BADSTK (Internal Stack Error) Error: ILL_COPROC (Coprocessor Error) Error: ILL_ILLADR (Illegal addressing mode) Error: ILL_ILLOPC (Illegal Opcode) Error: ILL_ILLOPN (Illegal Operand) Error: ILL_ILLTRP (Illegal Trap) Error: ILL_PRVOPC (Privileged Opcode) Error: ILL_PRVREG (Privileged Register) Error: SEGV_ACCERR (Invalid permissions for mapped object) Error: SEGV_MAPERR (Address not mapped to object) Report bugs to <%s>. --help display this help and exit --version output version information and exit NUMBER : display more detailed information about this particular partition devices : display all active block devices free : display information about free unpartitioned space on the current block device list, all : display the partition tables of all active block devices "%s" has invalid syntax for locations.%0.f%% (time left %.2d:%.2d)%s %s%s %s %s%s : Bad checksum on block %llu of type %s %s : Bad checksum on block %llu of type %s.%s : Couldn't read block %llu %s : Couldn't read boot block %llu %s : Couldn't read root block %llu %s : Couldn't write block %d %s : Didn't find rdb block, should never happen %s : Didn't find rdb block, should never happen.%s : Failed to allocate block %s : Failed to allocate disk_specific rdb block %s : Failed to allocate id list element %s : Failed to allocate partition block %s : Failed to list bad blocks.%s : Failed to list boot blocks.%s : Failed to list file system blocks.%s : Failed to list partition blocks.%s : Failed to read partition block %llu %s : Loop detected at block %d.%s : The %s list seems bad at block %s.%s contains GPT signatures, indicating that it has a GPT table. However, it does not have a valid fake msdos partition table, as it should. Perhaps it was corrupted -- possibly by a program that doesn't understand GPT partition tables. Or perhaps you deleted the GPT table, and are now using an msdos partition table. Is this a GPT partition table?%s disk labels do not support extended partitions.%s disk labels don't support logical or extended partitions.%s during read on %s%s during seek for read on %s%s during seek for write on %s%s during write on %s%s has no extended partition (volume header partition).%s is %dk, but it has %d clusters (%dk).%s is too small for a Mac disk label!%s trying to sync %s to disk''mkpart' makes a partition without creating a new file system on the partition. FS-TYPE may be specified to set an appropriate partition ID. 'version' displays copyright and version information corresponding to this copy of GNU Parted (C)A %s %s partition was found at %s -> %s. Do you want to add it to the partition table?A reference to an extent comes from a place it should not. You should check the file system!A resize operation on this file system will use EXPERIMENTAL code that MAY CORRUPT it (although no one has reported any such damage yet). You should at least backup your data first, and run 'e2fsck -f' afterwards.ATARAID ControllerAn error occurred during extent relocation.An error occurred while looking for the mandatory bad blocks file.An extended partition cannot hold a file system. Did you want mkpart?An extent has not been relocated.Assertion (%s) at %s:%d in function %s() failed.Attempt to write sectors %ld-%ld outside of partition on %s.BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s. Backtrace has %d calls on stack: Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or scandisk.Bad FAT: cluster %d outside file system in chain for %s. You should run dosfsck or scandisk.Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk.Bad block list header checksum.Bad blocks could not be read.Bad blocks list could not be loaded.Bad directory entry for %s: first cluster is the end of file marker.Bad journal checksum.Block %i has no reference? Weird.Block %i shouldn't have been marked (%d, %d)!Both the primary and backup GPT tables are corrupt. Try making a fresh table, and using Parted's rescue feature to recover partitions.BugCOMMANDs:Can't add a logical partition to %s, because there is no extended partition.Can't add another partition -- the partition map is too small!Can't add another partition.Can't copy an extended partition.Can't copy onto an overlapping partition.Can't create any more partitions.Can't have a logical partition outside of the extended partition on %s.Can't have a partition outside the disk!Can't have a primary partition inside an extended partition.Can't have logical partitions outside of the extended partition.Can't have more than one extended partition on %s.Can't have overlapping partitions.Can't move a partition onto itself. Try using resize, perhaps?Can't move an extended partition.Can't write to %s, because it is opened read-only.CancelCannot get unit size for special unit 'COMPACT'.Changing the name of a root or swap partition will prevent Linux from recognising it as such.Checksum is wrong, indicating the partition table is corrupt.Clear unused space on a FAT partition (a GNU Parted testing tool). Cluster start delta = %d, which is not a multiple of the cluster size %d.Compaq Smart ArrayConflicting partition map entry sizes! Entry 1 says it is %d, but entry %d says it is %d!Copyright (C) 1998 - 2006 Free Software Foundation, Inc. This program is free software, covered by the GNU General Public License. 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. Corrupted Sun disk label detected.Could not cache the file system in memory.Could not detect file system.Could not find sector %lli of HFS file with CNID %X.Could not find sector %lli of HFS+ file with CNID %X.Could not get identity of device %s - %sCould not read VTOC FMT1 DSCB.Could not read VTOC FMT4 DSCB.Could not read VTOC FMT5 DSCB.Could not read VTOC FMT7 DSCB.Could not read VTOC labels.Could not stat device %s - %s.Could not update the extent cache for HFS file with CNID %X.Could not update the extent cache for HFS+ file with CNID %X.Could not write VTOC FMT1 DSCB.Could not write VTOC FMT4 DSCB.Could not write VTOC FMT5 DSCB.Could not write VTOC FMT7 DSCB.Could not write VTOC labels.Couldn't create reiserfs device abstraction handler.Couldn't flush buffer cache!Couldn't reopen device abstraction layer for read/write.Couldn't resolve symbol %s. Error: %s.Cross-linked blocks found! Better go run e2fsck first!DAC960 RAID controllerDEVICE is usually /dev/hda or /dev/sda Data relocation has failed.Data relocation left some data at the end of the volume.Data relocation left some data in the end of the volume.Destination partition number?Device %s has multiple (%d) logical sectors per physical sector. GNU Parted supports this EXPERIMENTALLY for some special disk label/file system combinations, e.g. GPT and ext2/3. Please consult the web site for up-to-date information.Device is too small for %lu blocks.Direct support for copying file systems is not yet implemented for %s. However, support for resizing is implemented. Therefore, the file system can be copied if the new partition is at least as big as the old one. So, either shrink the partition you are trying to copy, or copy to a bigger partition.Disk %s: %s Disk ImageEndEnd?ErrorError allocating buffer cache.Error informing the kernel about modifications to partition %s -- %s. This means Linux won't know about any changes you made to %s until you reboot -- so you shouldn't mount it or use it in any way before rebooting.Error initialising SCSI device %s - %sError opening %s: %sError while writing the allocation file.Error while writing the compatibility part of the allocation file.Error writing to the root directory.Expecting a disk label type.Expecting a file system type.Expecting a partition number.Expecting a partition type.Extended partitions cannot be hidden on msdos disk labels.FAT %d media %x doesn't match the boot sector's media %x. You should probably run scandisk.FAT boot sector says clusters are 0 sectors. This is weird. FAT boot sector says logical sector size is 0. This is weird. FAT boot sector says there are no FAT tables. This is weird. FLAG is one of: FS-TYPE is one of: Failed to write partition block at %d.FatalFile System: %s File systemFile system doesn't have expected sizes for Windows to like it. Cluster size is %dk (%dk expected); number of clusters is %d (%d expected); size of FATs is %d sectors (%d expected).File system full!File system has an invalid cluster size for a FAT file system.File system has an invalid number of FATs.File system has an invalid number of reserved sectors for a FAT file system.File system has an invalid sector size for a FAT file system.File system has an invalid signature for a FAT file system.File system has errors! You should run e2fsck.File system has too many allocated inodes to remove a group!File system is FAT12, which is unsupported.File system is reporting the free space as %d clusters, not %d clusters.File system is too full to remove a group!File system too small for ext2.File system type?File system was not cleanly unmounted! You should run e2fsck.File system was not cleanly unmounted! You should run e2fsck. Modifying an unclean file system could cause severe corruption.FixFlag to Invert?FlagsFlags: %s Found an inode with a incorrect link count. Better go run e2fsck first!Free SpaceGNU Parted cannot resize this partition to this size. We're working on it!GNU Parted found an invalid libreiserfs library.GNU Parted has detected libreiserfs interface version mismatch. Found %d-%d, required %d. ReiserFS support will be disabled.GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT support will be disabled.Generic IDEI2O ControllerIBM S390 DASD driveIBM iSeries Virtual DASDIf you convert to FAT16, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual).If you convert to FAT32, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual). Also, converting to FAT32 will make the file system unreadable by MS DOS, MS Windows 95a, and MS Windows NT.If you leave your file system as FAT16, then you will have no problems.If you leave your file system as FAT32, then you will not introduce any new problems.IgnoreInconsistent group descriptors!Incorrect magic values in the journal header.InformationInvalid back referenceInvalid character class nameInvalid collation characterInvalid content of \{\}Invalid free blocks count. Run reiserfsck --check first.Invalid number.Invalid partition table - recursive partition on %s.Invalid partition table on %s -- wrong signature %x.Invalid partition table on %s.Invalid preceding regular expressionInvalid range endInvalid regular expressionInvalid signature %x for Mac disk labels.Invalid size of a transaction block while replaying the journal (%i bytes).Invalid superblock. Are you sure this is an ext2 file system?It seems there is an error in the HFS wrapper: the bad blocks file doesn't contain the embedded HFS+ volume.Journal offset or size is not multiple of the sector size.Journal size mismatch between journal info block and journal header.Journal stored outside of the volume are not supported. Try to desactivate the journal and run Parted again.LABEL-TYPE is one of: Maximum size: Memory exhaustedMinimum size: Minor: %d Model: %s (%s) NAME is any word you want NUMBER is the partition number used by Linux. On MS-DOS disk labels, the primary partitions number from 1 to 4, logical partitions from 5 onwards. NameNew device?New disk label type?New state?NoNo ImplementationNo device foundNo matchNo previous regular expressionNo valid HFS[+X] signature has been found while opening.No valid partition map found.Not all of the space available to %s appears to be used, you can fix the GPT to use all of the space (an extra %llu blocks) or continue with the current setting? Not enough free inodes!NumberOKOPTIONs:Only logical partitions can be a boot file.Only primary partitions can be root partitions.Only primary partitions can be swap partitions.Out of memory.PART-TYPE is one of: primary, logical, extended Parted can't resize partitions managed by Windows Dynamic Disk.Parted can't use HFS file systems on disks with a sector size not equal to %d bytes.Partition %d has an invalid length of 0 bytes!Partition %d has an invalid signature %x.Partition %d is %s, but the file system is %s.Partition %d isn't aligned to cylinder boundaries. This is still unsupported.Partition %s is being used. You must unmount it before you modify it with Parted.Partition Table: %s Partition doesn't exist.Partition map has no partition map entry!Partition name?Partition number?Partition too big/small for a %s file system.Partition type?Partition(s) on %s are being used.Premature end of regular expressionPromise SX8 SATA DeviceRegular expression too bigReiserfs tree seems to be corrupted. Run reiserfsck --check first.Resizing the HFS+ volume has failed.RetrySTART and END are disk locations, such as 4GB or 10%. Negative values count from the end of the disk. For example, -1s specifies exactly the last sector. STATE is one of: on, off Sector size (logical/physical): %lldB/%lldB SizeSize: Some header fields are not multiple of the sector size.Sorry, HFS cannot be resized that way yet.Sorry, HFS+ cannot be resized that way yet.Sorry, can't move the start of ext2 partitions yet!Sorry, can't move the start of reiserfs partitions yet.Source device?Source partition number?StartStart?SuccessSun disk label is full.Support for adding partitions to AIX disk labels is not implemented yet.Support for checking %s file systems is not implemented yet.Support for copying %s file systems is not implemented yet.Support for creating %s file systems is not implemented yet.Support for duplicating partitions in AIX disk labels is not implemented yet.Support for opening %s file systems is not implemented yet.Support for reading AIX disk labels is is not implemented yet.Support for resizing %s file systems is not implemented yet.Support for setting flags in AIX disk labels is not implemented yet.Support for setting system type of partitions in AIX disk labels is not implemented yet.Support for writing AIX disk labels is is not implemented yet.The FATs don't match. If you don't know what this means, then select cancel, run scandisk on the file system, and then come back.The Whole Disk partition is the only available one left. Generally, it is not a good idea to overwrite this partition with a real one. Solaris may not be able to boot without it, and SILO (the sparc boot loader) appreciates it as well.The backup GPT table is not at the end of the disk, as it should be. This might mean that another operating system believes the disk is smaller. Fix, by moving the backup to the end (and removing the old backup)?The boot region doesn't start at the start of the partition.The data region doesn't start at the start of the partition.The device %s has zero length, and can't possibly store a file system or partition table. Perhaps you selected the wrong device?The disk CHS geometry (%d,%d,%d) reported by the operating system does not match the geometry stored on the disk label (%d,%d,%d).The disk has %d cylinders, which is greater than the maximum of 65536.The disk label describes a disk bigger than %s.The driver descriptor says the physical block size is %d bytes, but Linux says it is %d bytes.The existing disk label on %s will be destroyed and all data on this disk will be lost. Do you want to continue?The existing file system will be destroyed and all data on the partition will be lost. Do you want to continue?The ext2 file system passed a basic check. For a more comprehensive check, use the e2fsck program.The extents overflow file should not contain its own extents! You should check the file system.The file %s is marked as a system file. This means moving it could cause some programs to stop working.The file system can only be resized to this size by converting to FAT16.The file system can only be resized to this size by converting to FAT32.The file system contains errors.The file system has the 'dir_index' feature enabled. Parted can only resize the file system if it disables this feature. You can enable it later by running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'.The file system is bigger than its volume!The file system is in an invalid state. Perhaps it is mounted?The file system is in old (unresizeable) format.The file system's CHS geometry is (%d, %d, %d), which is invalid. The partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the file system's CHS geometry will be left unchanged. If you select Fix, the file system's CHS geometry will be set to match the partition table's CHS geometry.The format of the GPT partition table is version %x, which is newer than what Parted can recognise. Please tell us! bug-parted@gnu.orgThe information sector has the wrong signature (%x). Select cancel for now, and send in a bug report. If you're desperate, it's probably safe to ignore.The journal is not empty. Parted must replay the transactions before opening the file system. This will modify the file system.The location %s is outside of the device %s.The maximum head value is %d.The maximum sector value is %d.The partition must have one of the following FS-TYPEs: The partition table cannot be re-read. This means you need to reboot before mounting any modified partitions. You also need to reinstall your boot loader before you reboot (which may require mounting modified partitions). It is impossible do both things! So you'll need to boot off a rescue disk, and reinstall your boot loader from the rescue disk. Read section 4 of the Parted User documentation for more information.The partition table on %s cannot be re-read (%s). This means the Hurd knows nothing about any modifications you made. You should reboot your computer before doing anything with %s.The partition's boot region doesn't occupy the entire partition.The partition's data region doesn't occupy the entire partition.The primary GPT table is corrupt, but the backup appears OK, so that will be used.The reiserfs file system passed a basic check. For a more comprehensive check, run reiserfsck --check.The sector size stored in the journal is not 512 bytes. Parted only supports 512 bytes length sectors.The volume header or the master directory block has changed while replaying the journal. You should restart Parted.There are no possible configurations for this FAT type.There's not enough room in the root directory for all of the files. Either cancel, or ignore to lose the files.This HFS volume has no catalog file. This is very unusual!This HFS volume has no extents overflow file. This is quite unusual!This HFS+ volume has no catalog file. This is very unusual!This HFS+ volume has no extents overflow file. This is quite unusual!This command does not make sense in non-interactive mode. This file system has a logical sector size of %d. GNU Parted is known not to work properly with sector sizes other than 512 bytes.This is not a real %s check. This is going to extract special low level files for debugging purposes.This libparted doesn't have write support for %s. Perhaps it was compiled read-only.Too many bad pages.Too many primary partitionsToo many primary partitions.Trailing backslashTry `%s --help' for more information. Trying to move an extent from block Ox%X to block Ox%X, but another one already exists at this position. This should not happen!Trying to read HFS file with CNID %X behind EOF.Trying to read HFS+ file with CNID %X behind EOF.Trying to register an extent starting at block 0x%X, but another one already exists at this position. You should check the file system!Trying to write HFS file with CNID %X behind EOF.Trying to write HFS+ file with CNID %X behind EOF.TypeUNIT is one of: Unable to allocate a bsd disklabel slot.Unable to allocate a dasd disklabel slotUnable to allocate a partition number.Unable to determine geometry of file/device %s. You should not use Parted unless you REALLY know what you're doing!Unable to determine the size of %s (%s).Unable to open %s read-write (%s). %s has been opened read-only.Unable to open %s.Unable to probe store.Unable to satisfy all constraints on the partition.Unit?UnknownUnknown file system type "%s".Unknown partition flag, %d.Unknown system errorUnmatched ( or \(Unmatched ) or \)Unmatched [ or [^Unmatched \{Unrecognised new style linux swap signature '%10s'.Unrecognised old style linux swap signature '%10s'.Unrecognised swsusp linux swap signature '%9s'.Updating the HFS wrapper has failed.Usage: %s [OPTION] or: %s DEVICE MINOR Usage: %s [OPTION] [DEVICE]... Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...] Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run in interactive mode. User-Mode Linux UBDUsing %s Version %d of HFS+ isn't supported.Version %d of HFSX isn't supported.WARNING: You are not superuser. Watch out for permissions.WarningWeird block size on device descriptor: %d bytes is not divisible by 512.Weird! There are 2 partitions map entries!Welcome to GNU Parted! Type 'help' to view a list of commands. Without arguments, 'print' displays the entire partition table. However with the following arguments it performs various other actions. Would you like to use FAT32?Written by %s and %s. Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, and %s. Written by %s, %s, %s, and %s. Written by %s, %s, and %s. Written by %s. YesYou may need to update /etc/fstab. You need %s of free disk space to shrink this partition to this size. Currently, only %s is free.You should reinstall your boot loader before rebooting. Read section 4 of the Parted User documentation for more information.Your file system has too many occupied inodes to resize it to %i blocks. Sorry.Your file system is too full to resize it to %i blocks. Sorry.^[nN]^[yY]`adding groupsbootcheckcheck NUMBER do a simple check on the file systemcheckingchecking for bad blockscopyingcpcp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another partitioncreatingdisplays machine parseable outputdisplays the versiondisplays this help messageexpandingextendedfat_table_alloc_cluster: no free clustersfat_table_get: cluster %ld outside file systemfat_table_set: cluster %ld outside file systemfreegrowing file systemhelphelp [COMMAND] print general help, or help on COMMANDhiddenhp-servicelbalists partition layout on all block deviceslogicallvmmemory exhaustedmetadatamkfsmklabelmklabel,mktable LABEL-TYPE create a new disklabel (partition table)mkpartmkpart PART-TYPE [FS-TYPE] START END make a partitionmkpartfsmkpartfs PART-TYPE FS-TYPE START END make a partition with a file systemmktablemovemove NUMBER START END move partition NUMBERmsftresnamename NUMBER NAME name partition NUMBER as NAMEnever prompts for user interventionoffonpaloparted was unable to re-read the partition table on %s (%s). This means Linux won't know anything about the modifications you made. ped_device_new() Unsupported device typeprepprimaryprintprint [devices|free|list,all|NUMBER] display the partition table, available devices, free space, all found partitions, or a particular partitionquitquit exit programraidraw block copyingrescuerescue START END rescue a lost partition near START and ENDresizeresize NUMBER START END resize partition NUMBER and its file systemrmrm NUMBER delete partition NUMBERrootsearching for file systemsselectselect DEVICE choose the device to editsetset NUMBER FLAG STATE change the FLAG on partition NUMBERshrinkingshrinking HFS wrappershrinking embedded HFS+ volumeswaptoggletoggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBERtoo few argumentstoo many argumentsunitunit UNIT set the default unit to UNITversionversion display the version number and copyright information of GNU Partedwrite errorwriting HFS Master Directory Blockwriting HFS+ Volume Headerwriting per-group metadataProject-Id-Version: parted 1.8.7 Report-Msgid-Bugs-To: bug-parted@gnu.org POT-Creation-Date: 2010-05-28 20:30+0200 PO-Revision-Date: 2007-07-05 14:51+0300 Last-Translator: Maxim V. Dziumanenko Language-Team: Ukrainian Language: uk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ви знайшли помилку у GNU Parted! Рекомендації щодо подальших дій: Ðе панікуйте! Швидше за вÑе помилка не впливає на ваші дані. Допоможіть нам виправити помилку, Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾: Перевірте чи не була помилка вже виправлена у оÑтанній верÑÑ–Ñ— GNU Parted, Ñку можна знайти за адреÑою: http://ftp.gnu.org/gnu/parted/ Перевірте цю верÑÑ–ÑŽ, перш ніж надÑилати звіт про помилку. Якщо помилка не виправлена чи ви не знаєте Ñк це перевірити, подальшу інформацію шукайте на веб-Ñайті GNU Parted: http://www.gnu.org/software/parted У вашому звіті Ñлід вказати верÑÑ–ÑŽ випуÑку (%s), наведене нижче Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ помилку, вивід команди parted DEVICE unit co print unit s print та наÑтупний ÑпиÑок команд, Ñкі ви вводили. Також включіть додаткову інформацію про параметри, Ñкі вважаєте важливими. ІÑÑ‚Ð¾Ñ€Ñ–Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´: Помилка: ВиÑвлено загальний Ñигнал SIGFPE. Помилка: ВиÑвлено загальний Ñигнал SIGILL. Помилка: ВиÑвлено загальний Ñигнал SIGSEGV. Помилка: FPE_INTDIV (ЧиÑло з рухомою комою: Ð´Ñ–Ð»ÐµÐ½Ð½Ñ Ð½Ð° нуль) Помилка: FPE_FLTINV (ЧиÑло з рухомою комою: неправильна операціÑ) Помилка: FPE_FLTOVF (ЧиÑло з рухомою комою: переповненнÑ) Помилка: FPE_FLTRES (ЧиÑло з рухомою комою: неточний результат) Помилка: FPE_FLTSUB (ЧиÑло з рухомою комою: Ð¿Ñ–Ð´Ð¿Ð¸Ñ Ð¿Ð¾Ð·Ð° межами) Помилка: FPE_FLTUND (ЧиÑло з рухомою комою: дуже мале значеннÑ) Помилка: FPE_INTDIV (Ціле: Ð´Ñ–Ð»ÐµÐ½Ð½Ñ Ð½Ð° нуль) Помилка: FPE_INTOVF (Ціле чиÑло: переповненнÑ) Помилка: ILL_BADSTK (Ð’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñтеку) Помилка: ILL_COPROC (Помилка ÑпівпроцеÑора) Помилка: ILL_ILLADR (Ðеправильний режим адреÑації) Помилка: ILL_ILLOPC (ÐедопуÑтимий код операцій) Помилка: ILL_ILLOPN (Ðеправильний операнд) Помилка: ILL_ILLTRP (Ðеправильна паÑтка) Помилка: ILL_PRVOPC (Код привілейованої операції) Помилка: ILL_PRVREG (Привілейований регіÑтр) Помилка: SEGV_ACCERR (Ðеправильні права доÑтупу Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð²'Ñзаного об'єкту) Помилка: SEGV_MAPERR (ÐдреÑа не прив'Ñзана до об'єкту) ВідÑилати звіти про помилки до <%s>. --help вивеÑти довідку та завершити роботу --version вивеÑти інформацію про верÑÑ–ÑŽ та вийти ЧИСЛО : відображаєтьÑÑ Ð´Ð¾ÐºÐ»Ð°Ð´Ð½Ð° Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ розділ з вказаним номером devices : відображаютьÑÑ Ð²ÑÑ– активні блочні приÑтрої free : відображаєтьÑÑ Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ нерозподілений проÑтір на поточному блочному приÑтрої list, all : відображаютьÑÑ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– розділів на вÑÑ–Ñ… активних блочних приÑтроÑÑ… "%s" має неправильний ÑинтакÑÐ¸Ñ Ð°Ð´Ñ€ÐµÑ.%0.f%% (залишилоÑÑŒ чаÑу %.2d:%.2d)%s %s%s %s %s%s : Ðеправильна контрольна Ñума у блоці %llu типу %s %s : Ðеправильна контрольна Ñума на блоці %llu типу %s.%s : Ðе вдаєтьÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ блок %llu %s : Ðе вдаєтьÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ завантажувальний блок %llu %s : Ðе вдаєтьÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ кореневий блок %llu %s : Ðе вдаєтьÑÑ Ð·Ð°Ð¿Ð¸Ñати блок %d %s : Ðе вдаєтьÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ блок rdb, цього не повинно було ÑтатиÑÑ %s : Ðе вдаєтьÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ блок rdb, цього не повинно було ÑтатиÑÑ.%s : Помилка при виділенні блоку %s : не вдаєтьÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ disk_specific блок rdb %s : Помилка при виділенні елементу ідентифікатора ÑпиÑку %s : Помилка при виділенні блоку розділу %s : не вдаєтьÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ ÑпиÑок пошкоджених блоків.%s : не вдаєтьÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ ÑпиÑок завантажувальних блоків.%s : не вдаєтьÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ ÑпиÑок блоків файлової ÑиÑтеми.%s : не вдаєтьÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ ÑпиÑок блоків розділу.%s : Ðе вдаєтьÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ блок розділу %llu %s : виÑвлено цикл у блоці %d.%s : СпиÑок %s має пошкоджений блок %s.%s міÑтить GPT Ñигнатуру, це означає, що він міÑтить GPT таблицю. Ðле, він не міÑтить правильної імітації msdos-ÑуміÑної таблиці розділів, хоча Ñ– повинен міÑтити. Можливо він пошкоджений програмою Ñка не розуміє GPT таблиці розділів. Ðбо, можливо, ви видалили GPT таблицю, а тепер викориÑтовуєте msdos-ÑуміÑну таблицю розділів. Ðа цьому розділі Ñ” GPT таблицÑ?%s етикетки диÑків Ð´Ð»Ñ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ… розділів не підтримуютьÑÑ.%s етикетки диÑків Ð´Ð»Ñ Ð»Ð¾Ð³Ñ–Ñ‡Ð½Ð¸Ñ… або розширених розділів не підтримуютьÑÑ.%s при читанні з %s%s при вÑтановленні позиції Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð½Ð° %s%s при вÑтановленні позиції Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñу на %s%s при запиÑÑ– на %s%s не міÑтить розширеного розділу (розділу заголовків томів).%s дорівнює %dk, але має %d клаÑтерів (%dk).%s занадто мале Ð´Ð»Ñ Macintosh етикетки диÑку!%s при Ñпробі Ñинхронізації %s на диÑк''mkpart' Ñтворити розділ без ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¾Ñ— файлової ÑиÑтеми у ньому. Можна вказати ТИП-ФС Ð´Ð»Ñ Ð²ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾Ð³Ð¾ ідентифікатора розділу. команда version виводить інформацію про верÑÑ–ÑŽ цієї програми GNU Parted (C)Знайдено розділ %s %s у межах від %s -> %s. Бажаєте додати його до таблиці розділів?ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° екÑтент з міÑцÑ, з Ñкого не має бути поÑиланнÑ. Слід перевірити файлову ÑиÑтему!ÐžÐ¿ÐµÑ€Ð°Ñ†Ñ–Ñ Ð·Ð¼Ñ–Ð½Ð¸ розміру на цій файловій ÑиÑтемі викориÑтовує ЕКСПЕРИМЕÐТÐЛЬÐИЙ код та МОЖЕ ПОШКОДИТИ Ñ—Ñ— (хоча цього доÑÑ– не було помічено). Принаймні, Ñлід зробити резервну копію даних та запуÑтити 'e2fsck -f' піÑÐ»Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð·Ð¼Ñ–Ð½Ð¸ розміру.ATARAID контролерПомилка при переміщенні екÑтенту.Помилка пошуку файлу відомих пошкоджених блоків.Розширений розділ не може мати файлову ÑиÑтему. Виконати mkpart?ЕкÑтент не був переміщений.Помилка у твердженні (%s) у точці %s:%d функції %s().Спроба запиÑати Ñектори %ld-%ld за межами розділу на %s.BIOS циліндр,головка,Ñектор геометріÑ: %d,%d,%d. Кожен циліндр %s. У розгортці Ñтеку Ñ” %d викликів: Помилка у FAT: перехреÑне поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ñƒ клаÑтері %d Ð´Ð»Ñ %s. Потрібно запуÑтити dosfsck або scandisk.Помилка у FAT: клаÑтер %d знаходитьÑÑ Ð¿Ð¾Ð·Ð° межами файлової ÑиÑтеми у ланцюгу Ð´Ð»Ñ %s. Потрібно запуÑтити dosfsck або scandisk.Помилка у FAT: незавершений ланцюг Ð´Ð»Ñ %s. Потрібно запуÑтити dosfsck або scandisk.Ðеправильна контрольна Ñума заголовка ÑпиÑку блоків.Пошкоджені блоки не вдаєтьÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸.СпиÑок неправильних блоків не було завантажено.Ðеправильний елемент каталогу %s: перший клаÑтер Ñ” кінцем маркера файла.Ðеправильна контрольна Ñума журналу.Блок %i не має поÑиланнÑ? ДивноБлок %i не повинен бути відміченим (%d, %d)!Пошкоджено Ñк головну так Ñ– резервну GPT таблиці. Спробуйте Ñтворити чиÑту таблицю, та викориÑтовуйте функцію Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸ Parted, щоб повернути розділи.ПомилкаКОМÐÐДИ:Ðе вдаєтьÑÑ Ð´Ð¾Ð´Ð°Ñ‚Ð¸ логічний розділ до %s, тому що немає розширеного розділу.Ðе вдаєтьÑÑ Ð´Ð¾Ð´Ð°Ñ‚Ð¸ інший розділ - карта розділів надто маленька!Ðе вдаєтьÑÑ Ð´Ð¾Ð´Ð°Ñ‚Ð¸ інший розділ.Ðе можна копіювати розширені розділи.Ðе можна копіювати на розділи, що перекриваютьÑÑ.Ðе вдаєтьÑÑ Ð´Ð¾Ð´Ð°Ñ‚ÐºÐ¾Ð²Ð¾ Ñтворити розділи.Ðе вдаєтьÑÑ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€Ð¸Ñ‚Ð¸ логічний розділ за межі розширеного розділу на %s.ÐеприпуÑтимо, щоб розділ виходив за межі диÑку!Ðе можна додавати оÑновний розділ у розширений розділ.Ðе вдаєтьÑÑ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€Ð¸Ñ‚Ð¸ логічний розділ за межі розширеного розділу.Ðе можна мати більше одного розширеного розділу на %s.Ðе можна мати розділи, Ñкі перекриваютьÑÑ.Ðе можна переміщувати розділ Ñам у Ñебе. Може Ñпробувати resize?ÐŸÐµÑ€ÐµÐ¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ… розділів не підтримуєтьÑÑ.Ðе вдаєтьÑÑ Ð·Ð°Ð¿Ð¸Ñати на %s, тому що він відкритий лише Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ.СкаÑуватиÐе вдаєтьÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ одиницю розміру Ð´Ð»Ñ Ñпеціального блоку 'COMPACT'.Зміна назви кореневого розділу чи розділу підкачки заважатиме Linux розпізнати Ñ—Ñ….Ðеправильна контрольна Ñума, це означає, що Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² пошкоджена.ОчиÑтити невикориÑтаний проÑтір у розділі FAT (інÑтрументі теÑÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ GNU Parted). КлаÑтер починаєтьÑÑ Ð·Ñ– зÑувом %d, що не Ñ” цілим чиÑлом клаÑтерів розміру %d.Compaq Smart ArrayКонфліктуючі розміри у елементах карти розділів! У елементі 1 вказано %d, але у елементі %d вказано %d!Copyright (C) 1998 - 2006 Free Software Foundation, Inc. Ð¦Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð° Ñ” вільною під ліцензією УніверÑальна Публічна Ð›Ñ–Ñ†ÐµÐ½Ð·Ñ–Ñ GNU. Ð¦Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð° розповÑюджуєтьÑÑ Ð·Ñ– ÑподіваннÑм,що вона буде кориÑною, але БЕЗ БУДЬ-ЯКИХ ГÐРÐÐТІЙ; навіть без неÑвної гарантії КОМЕРЦІЙÐОЇ ЦІÐÐОСТІ чи ПРИДÐТÐОСТІ ДЛЯ ПЕВÐОЇ МЕТИ. Докладнішу інформацію про це дивітьÑÑ Ñƒ УніверÑальній Публічній Ліцензії GNU. Знайдено пошкоджену Sun етикетку диÑку.Ðе вдаєтьÑÑ Ð·Ð°Ð½ÐµÑти у кеш файлову ÑиÑтему у пам'Ñті.Ðе вдаєтьÑÑ Ð²Ð¸Ñвити файлову ÑиÑтему.Ðе вдаєтьÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñектор %lli з файлу HFS з CNID %X.Ðе вдаєтьÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñектор %lli з файлу HFS+ з CNID %X.Ðе вдаєтьÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ ідентифікатор приÑтрою %s - %sÐе вдаєтьÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ VTOC FMT1 DSCB.Ðе вдаєтьÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ VTOC FMT4 DSCB.Ðе вдаєтьÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ VTOC FMT5 DSCB.Ðе вдаєтьÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ VTOC FMT7 DSCB.Ðе вдаєтьÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ позначки VTOC.Ðе вдаєтьÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ ÑÑ‚Ð°Ñ‚ÑƒÑ Ð¿Ñ€Ð¸Ñтрою %s - %s.Ðе вдаєтьÑÑ Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ кеш екÑтенту Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ñƒ HFS з CNID %X.Ðе вдаєтьÑÑ Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ кеш екÑтенту Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ñƒ HFS+ з CNID %X.Ðе вдаєтьÑÑ Ð·Ð°Ð¿Ð¸Ñати VTOC FMT1 DSCB.Ðе вдаєтьÑÑ Ð·Ð°Ð¿Ð¸Ñати VTOC FMT4 DSCB.Ðе вдаєтьÑÑ Ð·Ð°Ð¿Ð¸Ñати VTOC FMT5 DSCB.Ðе вдаєтьÑÑ Ð·Ð°Ð¿Ð¸Ñати VTOC FMT7 DSCB.Ðе вдаєтьÑÑ Ð·Ð°Ð¿Ð¸Ñати VTOC labels.Ðе вдаєтьÑÑ Ñтворити обробник абÑтрактних приÑтроїв reiserfs.Ðе вдаєтьÑÑ Ð¾Ñ‡Ð¸Ñтити буфер кешу!Ðе вдаєтьÑÑ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ відкрити шар абÑтракції приÑтроїв Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ/запиÑу.Ðе вдаєтьÑÑ Ñ€Ð¾Ð·Ð²'Ñзати Ñимвол %s. Помилка: %s.ВиÑвлено блоки з перехреÑними поÑиланнÑми! Краще Ñпочатку запуÑтити e2fsck!DAC960 RAID контролерПРИСТРІЙ - зазвичай /dev/hda чи /dev/sda Помилка переноÑу даних.При переноÑÑ– даних наприкінці розділу залишилиÑÑŒ деÑкі дані.При переноÑÑ– даних чаÑтина даних залишилаÑÑŒ наприкінці тому.Ðомер цільового розділу?ПриÑтрій %s має декілька (%d) логічних Ñерверів на фізичний Ñектор. Підтримка цього у GNU Parted Ñ” ЕКСПЕРИМЕÐТÐЛЬÐОЮ Ð´Ð»Ñ Ð´ÐµÑких Ñпеціальних комбінацій позначка диÑку/файлова ÑиÑтема, наприклад. GPT та ext2/3. Додаткову інформацію шукайте на веб-Ñайті.ПриÑтрій ÑиÑтема занадто маленький Ð´Ð»Ñ %lu блоків.БезпоÑÐµÑ€ÐµÐ´Ð½Ñ Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ° файлових ÑиÑтем ще не реалізована Ð´Ð»Ñ %s. Ðле, реалізована підтримка зміни розміру. Таким чином файлову ÑиÑтему можна Ñкопіювати на новий розділ більшого розміру ніж Ñ–Ñнуючий. Тому або зменшіть розділ, Ñкий ви намагаєтеÑÑŒ Ñкопіювати, або копіюйте на більший розділ.ДиÑк %s: %s Образ диÑкуКінецьКінець?ПомилкаПомилка розподілу буфера кеша.Помилка ÑÐ¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñдра про зміни у розділі %s -- %s. Це означає, що Linux не враховуватиме внеÑені у %s зміни до Ð¿ÐµÑ€ÐµÐ·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ - тому до Ð¿ÐµÑ€ÐµÐ·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð½Ðµ Ñлід підключати розділ чи викориÑтовувати будь-Ñким іншим чином.Помилка ініціалізації SCSI приÑтрою %s - %sПомилка Ð²Ñ–Ð´ÐºÑ€Ð¸Ð²Ð°Ð½Ð½Ñ %s: %sПомилка запиÑу виділеного файлу.Помилка запиÑу чаÑтини ÑуміÑноÑті виділеного файлу.Помилка запиÑÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ кореневий каталог.ОчікуєтьÑÑ Ñ‚Ð¸Ð¿ диÑкової етикетки.ОчікуєтьÑÑ Ñ‚Ð¸Ð¿ файлова ÑиÑтема.ОчікуєтьÑÑ Ð½Ð¾Ð¼ÐµÑ€ розділу.ОчікуєтьÑÑ Ñ‚Ð¸Ð¿ розділу.Розширені розділи не можуть бути на диÑкових етикетках msdos.FAT %d ноÑій %x не відповідає завантажувальним Ñекторам ноÑÑ–Ñ %x. Потрібно запуÑтити dosfsck або scandisk.У відповідноÑті до завантажувального Ñектора FAT, клаÑтер міÑтить 0 Ñекторів. Це дивно.Завантажувальний Ñектор FAT міÑтить розмір логічного Ñектора, що дорівнює 0. Це дивно.У завантажувальному Ñекторі FAT не міÑтитьÑÑ Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ таблиці FAT. Це дивно.ОЗÐÐКРодне з: ТИП-ФС один з: Ðе вдаєтьÑÑ Ð·Ð°Ð¿Ð¸Ñати блок розділу у %d.Критична помилкаФайлова ÑиÑтема: %s Файлова ÑиÑтемаWindows не підтримує файлову ÑиÑтему, що має такі розміри. Розмір клаÑтера %dk (очікувалоÑÑŒ %dk); кількіÑть клаÑтерів %d (очікувалоÑÑŒ %d); розмір FAT %d Ñекторів (очікувалоÑÑŒ %d).Файлова ÑиÑтема повна!Файлова ÑиÑтема має неправильний розмір клаÑтера файлової ÑиÑтеми FAT.У файловій ÑиÑтемі неправильне чиÑло копій FAT.У файловій ÑиÑтемі неправильна кількіÑть резервних Ñекторів FAT.Файлова ÑиÑтема має неправильний розмір Ñектора файлової ÑиÑтеми FAT.Файлова ÑиÑтема міÑтить неправильну Ñигнатуру файлової ÑиÑтеми FAT.Файлова ÑиÑтема міÑтить помилки! Ðеобхідно запуÑтити e2fsck.У файловій ÑиÑтемі виділено надто багато вузлів (inode), щоб видалити групу!Файлові ÑиÑтеми типу FAT12 не підтримуютьÑÑ.Файлова ÑиÑтема повідомлÑÑ” про вільний проÑтір %d клаÑтерів, а не %d клаÑтерів.Файлова ÑиÑтема надто заповнена, щоб видалити групу!Файлова ÑиÑтема занадто маленька Ð´Ð»Ñ ext2.Тип файлової ÑиÑтеми?Файлова ÑиÑтема була неправильно відключена! Ðеобхідно запуÑтити e2fsck.Файлова ÑиÑтема не була правильно відключена! Ðеобхідно запуÑтити e2fsck. Зміни до неціліÑної файлової ÑиÑтеми можуть призвеÑти до Ñерйозних пошкоджень.ВиправитиОзнака, Ñку інвертувати?ОзнакиОзнаки: %s Знайдено вузол (inode) з неправильною кількіÑтю поÑилань. РекомендуєтьÑÑ Ñпочатку запуÑтити e2fsck.Вільний проÑтірGNU Parted нездатний змінити розмір розділу на вказане значеннÑ. Ми над цим працюємо!GNU Parted виÑвив некоректну бібліотеку libreiserfs.GNU Parted виÑвив невідповідніÑть верÑій libreiserfs. ВиÑвлено %d-%d, потрібна %d. Підтримку ReiserFS вимкнено.GNU parted зібрано неправильно: завантажувальний Ñектор FAT повинен мати розмір 512 байтів. Підтримка FAT вимкнена.Загальний IDEI2O контролерПриÑтрій IBM S390 DASDIBM iSeries Virtual DASDЯкщо ви перетворюєте файлову ÑиÑтему розділу з Windows у розділ FAT16, буде потрібно перевÑтановити завантажувач MS Windows. Ð”Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ Ñлід переглÑнути довідку з Parted (або поÑібник з вашого диÑтрибутиву).Якщо ви перетворите файлову ÑиÑтему розділу з MS Windows у розділ FAT32,буде потрібно перевÑтановити завантажувач MS Windows. Ð”Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ Ñлід переглÑнути довідку з Parted (або поÑібник з вашого диÑтрибутиву). ÐŸÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñƒ FAT32 унеможливить Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ñ— ÑиÑтеми під MS DOS, MS Windows 95a, та MS Windows NT.Якщо залишити файлову ÑиÑтему Ñк FAT16, тоді у Ð²Ð°Ñ Ð½Ðµ виникатиме проблем.Якщо ви залишаєте файлову ÑиÑтему Ñк FAT32, тоді не виникне ніÑких нових проблем.ІгноруватиСуперечлива група деÑкрипторів!Ðеправильні Ñигнатури у заголовку журналу.ІнформаціÑÐеприпуÑтиме зворотне поÑиланнÑÐазва логічного тому міÑтить неправильний Ñимвол "%s"Ðеправильне порівнÑÐ½Ð½Ñ ÑимволівÐеприпуÑтимий вміÑÑ‚ \{\}Ðеправильна кількіÑть вільних блоків. Спочатку запуÑтіть reiserfsck --checkÐеправильне чиÑло.Ðеправильна Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² - рекурÑивні розділи на %s.Ðеправильна Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² на %s - неправильна Ñигнатура %x.Ðеправильна Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² у %s.Ðеправильний попередній регулÑрний виразÐеправильний кінець діапазонуÐеправильний регулÑрний виразÐеправильна Ñигнатура %x Ð´Ð»Ñ Macintosh етикетки диÑку.Ðеправильний розмір блоку транзакції при повторному накладанні журналу (%i байтів).Ðеправильний Ñуперблок. Ви впевнені, що це файлова ÑиÑтема типу ext2?Помилка у обробнику HFS: файл пошкоджених блоків не міÑтить вбудований том HFS+.Початок чи розмір журналу не Ñ” цілим чиÑлом Ñекторів.Розмір журналу не відповідає значенню у інформаційному блоці журналу та заголовку журналу.Журнал розміщено поза межами тому не підтримуєтьÑÑ. Слід вимкнути журнал та перезапуÑтити Parted.ТИП-ЕТИКЕТКИ один з: МакÑимальний розмір: Пам'Ñть вичерпаноМінімальний розмір: Ðомер: %d Модель: %s (%s) ÐÐЗВР- будь-Ñке Ñлово на ваш вибір ÐОМЕР - це номер розділу, що викориÑтовуєтьÑÑ Linux. У етикетках диÑку MS-DOS, оÑновні розділи мають номери 1-4, а логічні - 5 та далі. ÐазваÐовий приÑтрій?Ðова етикетка диÑку?Ðове значеннÑ?ÐÑ–Ðе реалізованоПриÑтрій не знайденоÐемає збігівВідÑутній попередній регулÑрний виразПри відкриванні не виÑвлено правильну Ñигнатуру HFS[+X].Ðе знайдено правильної карти розділів.Ðа %s викориÑтовуєтьÑÑ Ð½Ðµ веÑÑŒ доÑтупний проÑтір, виправити GPT, щоб викориÑтовувавÑÑ Ð²ÐµÑÑŒ проÑтір (додатково %llu блоків) або продовжити з вказаними параметрами?.ÐедоÑтатньо вільних вузлів (inode)!ÐомерГараздКЛЮЧІ:Лише логічні розділи можуть бути завантажувальним файлом.Лише оÑновні розділи можуть бути завантажувальними.Лише оÑновні розділи можуть бути розділами підкачки.ÐедоÑтатньо пам'Ñті.ТИП-РОЗДІЛУ один з: оÑновний, логічний, розширений Parted не може змінювати розділи, Ñкі Ñтворені Windows Dynamic Disk.Parted не може викориÑтовувати файлові ÑиÑтеми HFS на диÑках з розміром Ñектору, що не кратний %d байтів.Розділ %d має неправильну довжину 0 байт!Розділ %d має неправильну Ñигнатуру %x.Розмір %d %s, але файлова ÑиÑтема %s.Розділ %d не вирівнÑний на межі циліндру. Ðеобхідно додати підтримку Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ випадку.Розділ %s наразі зайнÑтий. Слід відключити його, перш ніж змінювати його програмою Parted.Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð²: %s Розділ не Ñ–Ñнує.Карта розділів не міÑтить елементу карти розділів!Ðазва розділу?Ðомер розділу?Розділ надто великий/малий Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ñ— ÑиÑтеми типу %s.Тип розділу?Розділи на %s наразі зайнÑті.ПередчаÑно закінчений регулÑрний виразПриÑтрій Promise SX8 SATAРегулÑрний вираз надто великийДерево Reiserfs Ñхоже пошкоджене. Спочатку запуÑтіть reiserfsck --checkПомилка зміни розміру тому HFS+.ПовторитиПОЧÐТОК та КІÐЕЦЬ - це міÑÑ†Ñ Ð½Ð° диÑку, такі Ñк 4GB чи 10%. Від'ємні Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ñ€Ð°Ñ…Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑÑ Ð²Ñ–Ð´ ÐºÑ–Ð½Ñ†Ñ Ð´Ð¸Ñку. Ðаприклад, -1s вказує оÑтанній Ñектор диÑку. СТÐРодин з: on, off Розмір Ñектора (логічний/фізичний): %lldБ/%lldБ РозмірРозмір: Розмір деÑких полів заголовку не Ñкладає ціле чиÑло Ñекторів.Розмір HFS не можна змінювати таким ÑпоÑобом.Розмір HFS+ не можна змінювати таким ÑпоÑобом.ÐŸÐµÑ€ÐµÐ¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÑƒ розділів типу ext2 ще не підтримуєтьÑÑ!ÐŸÐµÑ€ÐµÐ¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÑƒ розділів типу reiserfs ще не підтримуєтьÑÑ.ПриÑтрій-джерело?Ðомер вихідного розділу?ПочатокПочаток?ВиконаноSun етикетка диÑку заповнена.Підтримка Ð´Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² Ð´Ð»Ñ Ð¿Ð¾Ð·Ð½Ð°Ñ‡Ð¾Ðº диÑків у Ñтилі AIX ще не реалізована.Підтримка перевірки %s файлових ÑиÑтем ще не реалізована.Підтримка ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¸Ñ… ÑиÑтем типу %s ще не підтримуєтьÑÑ.Підтримка ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ %s файлових ÑиÑтем ще не реалізована.Підтримка Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² Ð´Ð»Ñ Ð¿Ð¾Ð·Ð½Ð°Ñ‡Ð¾Ðº диÑків у Ñтилі AIX ще не реалізована.Підтримка Ð²Ñ–Ð´ÐºÑ€Ð¸Ð²Ð°Ð½Ð½Ñ %s файлових ÑиÑтем ще не реалізована.Підтримка Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð¿Ð¾Ð·Ð½Ð°Ñ‡Ð¾Ðº диÑків у Ñтилі AIX ще не реалізована.Підтримка зміни розміру файлових ÑиÑтем типу %s ще не підтримуєтьÑÑ.Підтримка вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¾Ð·Ð½Ð°Ðº Ð´Ð»Ñ Ð¿Ð¾Ð·Ð½Ð°Ñ‡Ð¾Ðº диÑків у Ñтилі AIX ще не реалізована.Підтримка вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‚Ð¸Ð¿Ñƒ розділів Ð´Ð»Ñ Ð¿Ð¾Ð·Ð½Ð°Ñ‡Ð¾Ðº диÑків у Ñтилі AIX ще не реалізована.Підтримка запиÑу позначок диÑків у Ñтилі AIX ще не реалізована.Копії FAT не збігаютьÑÑ. Якщо ви не знаєте, що це означає, виберіть "СкаÑувати", запуÑтіть scandisk Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ñ— ÑиÑтеми, а потім повторіть цю команду.Розділ "ВеÑÑŒ диÑк" - єдиний наÑвний. Зазвичай, небажано перезапиÑувати цей розділ реальним розділом. Solaris, можливо, не буде здатний завантажитиÑÑŒ без нього, це також вплине на SILO (завантажувач sparc).Резервна GPT Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ð½Ðµ знаходитьÑÑ Ð½Ð°Ð¿Ñ€Ð¸ÐºÑ–Ð½Ñ†Ñ– диÑка, хоча повинна там знаходитиÑÑŒ. Можливо, це означає, що інша операційна ÑиÑтема вважає, що розмір диÑку менший. Виправити це шлÑхом Ð¿ÐµÑ€ÐµÐ¼Ñ–Ñ‰ÐµÐ½Ð½Ñ ÐºÐ¾Ð¿Ñ–Ñ— таблиці у кінець (та видалити Ñтару копію)?ОблаÑть Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð½Ðµ починаєтьÑÑ Ð· початку розділу.ОблаÑть даних не починаєтьÑÑ Ð· початку розділу.ПриÑтрій %s має нульову довжину, та непридатний Ð´Ð»Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ñ— ÑиÑтеми чи таблиці розділів. Можливо ви вибрали неправильний приÑтрій?ЦГС(CHS) Ð³ÐµÐ¾Ð¼ÐµÑ‚Ñ€Ñ–Ñ Ð´Ð¸Ñку (%d,%d,%d) Ñку видає операційна ÑиÑтема не відповідає геометрії, що зберігаєтьÑÑ Ñƒ позначці диÑку (%d,%d,%d).ДиÑк має %d циліндрів, що більше ніж макÑимальне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ 65536.Етикетка диÑку опиÑує диÑк більшого розміру ніж %s.У деÑкрипторі драйвера зазначено, що розмір фізичного блоку дорівнює %d байтів, але Linux вважає, що він %d байтів.ІÑнуюча позначка диÑку на %s буде знищена разом з уÑіма даними на ній. Продовжити?ІÑнуюча файлова ÑиÑтема буде знищена разом з уÑіма даними на ній. Продовжити?Файлова ÑиÑтема ext2 пройшла загальну перевірку. Ð”Ð»Ñ Ð±Ñ–Ð»ÑŒÑˆ докладної перевірки кориÑтуйтеÑÑŒ програмою e2fsck.Файл Ð¿ÐµÑ€ÐµÐºÑ€Ð¸Ð²Ð°Ð½Ð½Ñ ÐµÐºÑтентів не має міÑтить влаÑних екÑтентів! Слід перевірити файлову ÑиÑтему.Файл %s позначений Ñк ÑиÑтемний файл. Це означає, що його Ð¿ÐµÑ€ÐµÐ¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¼Ð¾Ð¶Ðµ призвеÑти до Ð¿Ñ€Ð¸Ð¿Ð¸Ð½ÐµÐ½Ð½Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ деÑких програм.Змінити розмір файлової ÑиÑтеми на вказаний розмір можна лише при перетворенні на FAT16.Змінити розмір файлової ÑиÑтеми на вказаний розмір можна лише при перетворенні на FAT32.Файлова ÑиÑтема міÑтить помилки.У файловій ÑиÑтемі ввімкнено влаÑтивіÑть 'dir_index'. Parted може змінювати розмір лише у файлових ÑиÑтем, у Ñких Ñ†Ñ Ð²Ð»Ð°ÑтивіÑть вимкнена. Ви можете увімкнути Ñ—Ñ— пізніше, командою 'tune2fs -O dir_index DEVICE', піÑÐ»Ñ Ñ‡Ð¾Ð³Ð¾ Ñлід запуÑтити 'e2fsck -fD DEVICE'.Файлова ÑиÑтема більша ніж том!Файлова ÑиÑтема у некоректному Ñтані. Можливо вона підключена?Файлова ÑиÑтема має Ñтарий формат (зміна розміру не підтримуєтьÑÑ).Ð“ÐµÐ¾Ð¼ÐµÑ‚Ñ€Ñ–Ñ CHS файлової ÑиÑтеми Ñтановить (%d, %d, %d), що Ñ” неправильним. Ð“ÐµÐ¾Ð¼ÐµÑ‚Ñ€Ñ–Ñ CHS таблиці розділів Ñтановить (%d, %d, %d). Якщо ви виберете Ігнорувати, геометрію CHS файлової ÑиÑтеми буде залишено без змін. Якщо ви оберете Виправити(Fix), геометрію CHS файлової ÑиÑтеми буде приведено у відповідніÑть до геометрії CHS таблиці розділів.Знайдено GPT таблицю розділів верÑÑ–Ñ— %x, Ñ†Ñ Ð²ÐµÑ€ÑÑ–Ñ Ñтарша ніж верÑÑ–Ñ, що підтримуєтьÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¾ÑŽ Parted. Будь лаÑка, повідомте нам! bug-parted@gnu.orgІнформаційний Ñектор міÑтить неправильну Ñигнатуру (%x). Виберіть "СкаÑувати" та відправте Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ помилку. Якщо ви втратили надію, тоді можна проігнорувати цю проблему.Журнал не порожній. Parted маж наклаÑти транзакції перед Ð²Ñ–Ð´ÐºÑ€Ð¸Ð²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ñ— ÑиÑтеми. Це призведе до зміни файлової ÑиÑтеми.ÐдреÑа %s поза межами приÑтрою %s.МакÑимальний номер головки - %d.МакÑимальний номер Ñектора - %d.Розділ повинен мати один з наÑтупних типів FS-TYPE: Ðе вдаєтьÑÑ Ð¿ÐµÑ€ÐµÑ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ таблицю розділів, Ñлід перезавантажитиÑÑŒ перш ніж підключати змінені розділи. Також перед перезавантаженнÑм необхідно перевÑтановити завантажувач (що вимагає Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð·Ð¼Ñ–Ð½ÐµÐ½Ð¸Ñ… розділів). Ðеможливо виконати одночаÑно обидві дії! Тому Ñлід завантажитиÑÑŒ з завантажувального диÑку, та перевÑтановити завантажувач. Додаткову інформацію знайдете у розділі 4 документації з Parted.Таблицю розділів на %s не вдаєтьÑÑ Ð¿ÐµÑ€ÐµÑ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ (%s). Це означає, що Hurd нічого не знає про внеÑені вами зміни. Ðеобхідно перезавантажити ваш комп'ютер перед виконаннÑм будь-Ñких дій з %s.ОблаÑть Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ не займає веÑÑŒ розділ.ОблаÑть даних розділу не займає веÑÑŒ розділ.ОÑновна GPT Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð°, але резервна виглÑдає правильною, тому буде викориÑтовуватиÑÑŒ Ñаме вона.Файлова ÑиÑтема reiserfs пройшла загальну перевірку. Ð”Ð»Ñ Ð±Ñ–Ð»ÑŒÑˆ докладної перевірки запуÑтіть reiserfsck --check.Розмір Ñектора, що зберігаєтьÑÑ Ñƒ журналі, не дорівнює 512 байтам. Parted підтримує лише Ñектори розміром 512 байтів.При накладанні журналу змінивÑÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº тому чи блок головного каталогу. Слід перезапуÑтити Parted.Ð”Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ типу FAT немає допуÑтимих конфігурацій.Ðе виÑтачає проÑтору Ð´Ð»Ñ Ð²ÑÑ–Ñ… файлів в кореневому каталозі. Виберіть "СкаÑувати", Ñкщо проігноруєте, це призведе до втрати файлів.Цей том HFS не міÑтить файл каталогу. ДоÑить дивно!Цей том HFS не міÑтить файлу Ð¿ÐµÑ€ÐµÐºÑ€Ð¸Ð²Ð°Ð½Ð½Ñ ÐµÐºÑтентів. ДоÑить дивно!Цей том HFS+ не міÑтить файлу каталогу. ДоÑить дивно!Цей том HFS+ не міÑтить файлу Ð¿ÐµÑ€ÐµÐºÑ€Ð¸Ð²Ð°Ð½Ð½Ñ ÐµÐºÑтентів. ДоÑить дивно!Ð¦Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° не має ÑенÑу у не-інтерактивному режимі. Файлова ÑиÑтема має логічний розмір Ñектора %d. ВважаєтьÑÑ, що GNU Parted працює неправильно з Ñекторами, розмір Ñких не дорівнює 512 байт.Це не ÑÐ¿Ñ€Ð°Ð²Ð¶Ð½Ñ Ð¿ÐµÑ€ÐµÐ²Ñ–Ñ€ÐºÐ° %s. ВідбуваєтьÑÑ Ð»Ð¸ÑˆÐµ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ñпеціальних ньзькорівневих файлів Ð´Ð»Ñ Ð½Ð°Ð»Ð°Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ.Ð¦Ñ Ð²ÐµÑ€ÑÑ–Ñ libparted не підтримує Ð·Ð°Ð¿Ð¸Ñ Ð½Ð° %s. Можливо програму зібрано з підтримкою лише Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ.Ðадто багато пошкоджених Ñторінок.Занадто багато оÑновних розділівЗанадто багато оÑновних розділів.Завершальний backslashСпробуйте `%s --help' Ð´Ð»Ñ Ð¾Ð´ÐµÑ€Ð¶Ð°Ð½Ð½Ñ Ð´Ð¾Ð´Ð°Ñ‚ÐºÐ¾Ð²Ð¾Ñ— інформації. Спроба переміÑтити екÑтент з блоку Ox%X у блок Ox%X, але в цій позиції вже Ñ–Ñнує інший. Цього не повинно бути!Спроба прочитати файл HFS з CNID %X перед EOF.Спроба прочитати файл HFS+ з CNID %X перед EOF.Спроба зареєÑтрувати екÑтент, о починаєтьÑÑ Ð· блоку 0x%X, але в цій позиції вже Ñ–Ñнує інший. Слід перевірити файлову ÑиÑтему!Спроба запиÑати файл HFS з CNID %X перед EOF.Спроба запиÑати файл HFS+ з CNID %X перед EOF.ТипБЛОК одне з: Ðе вдаєтьÑÑ Ñ€Ð¾Ð·Ð¿Ð¾Ð´Ñ–Ð»Ð¸Ñ‚Ð¸ Ñлот bsd етикетки диÑку.Ðе вдаєтьÑÑ Ñ€Ð¾Ð·Ð¿Ð¾Ð´Ñ–Ð»Ð¸Ñ‚Ð¸ Ñлот етикетки диÑку dasdОчікуєтьÑÑ Ð½Ð¾Ð¼ÐµÑ€ розділу.Ðе вдаєтьÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ геометрію файлу/приÑтрою %s. Ðе Ñлід викориÑтовувати Parted, хіба-що ви ДІЙСÐО знаєте, що ви робите!Ðе вдаєтьÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ розмір %s (%s).Ðе вдаєтьÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ %s Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ-запиÑу (%s). %s відкрито у режимі лише-читаннÑ.Ðе вдаєтьÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ %s.Ðе вдаєтьÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ Ñховище.Ðе вдаєтьÑÑ Ð·Ð°Ð´Ð¾Ð²Ð¾Ð»ÑŒÐ½Ð¸Ñ‚Ð¸ вÑÑ– Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð½Ð° розділ.Блок?ÐевідомийÐевідомий тип файлової ÑиÑтеми "%s".Ðевідома ознака розділу, %d.Ðевідома ÑиÑтемна помилкаÐевідповідні дужки ( чи \(Ðевідповідні дужки ) чи \)Ðевідповідні дужки [ чи [^Ðевідповідні дужки \{Ðевідома нова Ñигнатура '%10s' розділу підкачки linux.Ðевідома Ñтара Ñигнатура '%10s' розділу підкачки linux.Ðевідома Ñигнатура '%10s' розділу swsusp підкачки linux.Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° оболонки HFS.ВикориÑтаннÑ: %s [КЛЮЧ] або: %s ПРИСТРІЙ МЕÐШИЙÐОМЕР ВикориÑтаннÑ: %s [КЛЮЧ] [ПРИСТРІЙ]... ВикориÑтаннÑ: parted [КЛЮЧ]... [ПРИСТРІЙ [КОМÐÐДР[ПÐРÐМЕТРИ]...]...] Виконати КОМÐÐДРз параметрами ПÐРÐМЕТРИ Ð´Ð»Ñ Ð¿Ñ€Ð¸Ñтрою ПРИСТРІЙ. Якщо КОМÐÐДРне вказана, запуÑкаєтьÑÑ Ñƒ інтерактивному режимі. User-Mode Linux UBDВикориÑтовуєтьÑÑ %s ВерÑÑ–Ñ %d ÑиÑтеми HFS+ не підтримуєтьÑÑ.ВерÑÑ–Ñ %d ÑиÑтеми HFSX не підтримуєтьÑÑ.ПОПЕРЕДЖЕÐÐЯ: Ви не маєте привілей адмініÑтратора. Отримайте повноваженнÑ.ПопередженнÑДивний розмір блоку у деÑкрипторі приÑтрою: %d байт не ділитьÑÑ Ð½Ð° 512.Фатально! Дивна помилка - 2 елементи карти розділів!ЛаÑкаво проÑимо до GNU Parted! Перелік команд виводитьÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾ÑŽ 'help'. Без аргументів, 'print' відображає вÑÑŽ таблицю розділів. Проте, з наÑтупними аргументами виконуютьÑÑ Ñ–Ð½ÑˆÑ– дії. Бажаєте викориÑтовувати FAT32?Ðвтори %s та %s. Ðвтори %s, %s, %s, %s, %s, %s, %s, %s, %s, та інші. Ðвтори %s, %s, %s, %s, %s, %s, %s, %s, та %s. Ðвтори %s, %s, %s, %s, %s, %s, %s, та %s. Ðвтори %s, %s, %s. %s, %s, %s та %s Ðвтори %s, %s, %s, %s, %s, та %s. Ðвтори %s, %s, %s, %s, та %s. Ðвтори %s, %s, %s, та %s. Ðвтори %s, %s та %s. Ðвтор %s. ТакÐе забудьте оновити /etc/fstab, Ñкщо це необхідно. Ðеобхідно %s вільного проÑтору, щоб зменшити розділ до такого розміру (зараз у Ð²Ð°Ñ Ð²Ñ–Ð»ÑŒÐ½Ð¾ лише %s).Ðеобхідно перевÑтановити ваш завантажувач перед перезавантаженнÑм. Додаткову інформацію знайдете у розділі 4 документації з Parted.У файловій ÑиÑтемі надто багато зайнÑтих i-вузлів, щоб змінити Ñ—Ñ— розмір до %i блоків.Файлова ÑиÑтема надто заповнена щоб змінити Ñ—Ñ— розмір до %i блоків.^[nNÐн]^[yYТт]`Ð´Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ð³Ñ€ÑƒÐ¿bootcheckcheck ÐОМЕР виконати проÑту перевірку файлової ÑиÑтемиперевіркапошук пошкоджених блоківкопіюваннÑcpcp [З-ПРИСТРОЮ] З-ÐОМЕР У-ÐОМЕР копіювати файлову ÑиÑтему у інший розділÑтвореннÑвідображає вивід у форматі Ð´Ð»Ñ Ð¼Ð°ÑˆÐ¸Ð½Ð½Ð¾Ð³Ð¾ розборувідображає верÑіювідображає це повідомленнÑрозширеннÑрозширенийfat_table_alloc_cluster: немає вільних клаÑтерівfat_table_get: клаÑтер %ld знаходитьÑÑ Ð¿Ð¾Ð·Ð° межами файлової ÑиÑтемиfat_table_set: клаÑтер %ld знаходитьÑÑ Ð¿Ð¾Ð·Ð° межами файлової ÑиÑÑ‚ÐµÐ¼Ð¸Ð²Ñ–Ð»ÑŒÐ½Ð¾Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ñ— ÑиÑтемиhelphelp [КОМÐÐДÐ] вивеÑти загальну довідку, або довідку про КОМÐÐДÐÑхованийhp-ÑервіÑlbaвивеÑти ÑпиÑок таблиць розділів на уÑÑ–Ñ… приÑтроÑхлогічнийlvmпам'Ñть вичерпанометаданіmkfsmklabelmklabel,mktable ТИП_ЕТИКЕТКИ Ñтворити нову позначку диÑку (таблицю розділів)mkpartmkpart ТИП-РОЗДІЛУ [ТИП-ФС] ПОЧÐТОК КІÐЕЦЬ Ñтворити розділmkpartfsmkpartfs ТИП-РОЗДІЛУ ТИП-ФС ПОЧÐТОК КІÐЕЦЬ Ñтворити розділ з файловою ÑиÑтемоюmktablemovemove ÐОМЕР ПОЧÐТОК КІÐЕЦЬ переміÑтити розділ з номером ÐОМЕРmsftresnamename ÐОМЕР ÐÐЗВРпризначити назву ÐÐЗВРрозділу ÐОМЕРніколи не запитувати Ð²Ñ‚Ñ€ÑƒÑ‡Ð°Ð½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувачаoffonpaloparted не може перечитати таблицю розділів на %s (%s). Це означає, що Linux не враховуватиме внеÑені зміни.ped_device_new() тип приÑтрою не підтримуєтьÑÑprepоÑновнийprintprint [devices|free|list,all|ЧИСЛО] відображає таблицю розділів, наÑвні приÑтрої, вільний проÑтір, вÑÑ– знайдені розділи, або певний розділquitquit вихід з програмиraidÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ð±Ð»Ð¾ÐºÑ–Ð²rescuerescue ПОЧÐТОК КІÐЕЦЬ знайти втрачені розділи між ПОЧÐТОК та КІÐЕЦЬresizeresize ÐОМЕР ПОЧÐТОК КІÐЕЦЬ змінити розмір розділу ÐОМЕРrmrm ÐОМЕР видалити розділ з номером ÐОМЕРкореневийпошук файлових ÑиÑтемselectselect ПРИСТРІЙ вибирати приÑтрій Ð´Ð»Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸setset ÐОМЕР ОЗÐÐКРСТÐРзмінити ознаку розділу з номером ÐОМЕРÑкороченнÑоболонка ÑÐºÐ¾Ñ€Ð¾Ñ‡ÐµÐ½Ð½Ñ HFSÐ·Ð¼ÐµÐ½ÑˆÐµÐ½Ð½Ñ Ð²Ð±ÑƒÐ´Ð¾Ð²Ð°Ð½Ð¾Ð³Ð¾ тому HFS+swaptoggletoggle [ÐОМЕР [ОЗÐÐКÐ]] перемикнути ознаку ОЗÐÐКРрозділу з номером ÐОМЕРнадто мало параметрівнадто багато аргументівunitunit БЛОК вÑтановити Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ð¾Ð²Ð¾Ð³Ð¾ блоку Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð‘Ð›ÐžÐšversionversion вивеÑти поточну верÑÑ–ÑŽ GNU Parted та інформацію про авторÑьке правопомилка запиÑузапиÑуєтьÑÑ Ð³Ð¾Ð»Ð¾Ð²Ð½Ð¸Ð¹ блок ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³ÑƒÐ·Ð°Ð¿Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÑƒ тому HFS+запиÑÑƒÐ²Ð°Ð½Ð½Ñ Ð¼ÐµÑ‚Ð°Ð´Ð°Ð½Ð¸Ñ… групparted-2.3/po/quot.sed0000644000000000000000000000023111035473300011617 00000000000000s/"\([^"]*\)"/“\1â€/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“â€/""/g parted-2.3/po/insert-header.sin0000644000000000000000000000124011035473300013400 00000000000000# Sed script that inserts the file called HEADER before the header entry. # # At each occurrence of a line starting with "msgid ", we execute the following # commands. At the first occurrence, insert the file. At the following # occurrences, do nothing. The distinction between the first and the following # occurrences is achieved by looking at the hold space. /^msgid /{ x # Test if the hold space is empty. s/m/m/ ta # Yes it was empty. First occurrence. Read the file. r HEADER # Output the file's contents by reading the next line. But don't lose the # current line while doing this. g N bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } parted-2.3/po/nn.po0000644000000000000000000030164011400005705011111 00000000000000# Norwegian nynorsk messages for GNU parted # Copyright (C) 2001 Free Software Foundation, Inc. # Kjetil Torgrim Homme , 2001. # msgid "" msgstr "" "Project-Id-Version: GNU parted 1.6.6-pre2\n" "Report-Msgid-Bugs-To: bug-parted@gnu.org\n" "POT-Creation-Date: 2010-05-28 20:30+0200\n" "PO-Revision-Date: 2003-07-04 19:03+0200\n" "Last-Translator: Kjetil Torgrim Homme \n" "Language-Team: Norwegian Nynorsk \n" "Language: nn\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" #: lib/argmatch.c:133 #, fuzzy, c-format msgid "invalid argument %s for %s" msgstr "Kunne ikkje opna %s." #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "" #: lib/argmatch.c:153 #, fuzzy, c-format msgid "Valid arguments are:" msgstr "Kunne ikkje opna %s." #: lib/closeout.c:112 libparted/labels/fdasd.c:107 msgid "write error" msgstr "" #: lib/error.c:181 #, fuzzy msgid "Unknown system error" msgstr "Filsystemtypen «%s» er ukjend." #: lib/getopt.c:527 lib/getopt.c:543 #, c-format msgid "%s: option '%s' is ambiguous\n" msgstr "" #: lib/getopt.c:576 lib/getopt.c:580 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:589 lib/getopt.c:594 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:637 lib/getopt.c:656 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "" #: lib/getopt.c:694 lib/getopt.c:697 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "Kunne ikkje opna %s - ukjend disklabel." #: lib/getopt.c:705 lib/getopt.c:708 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "Kunne ikkje opna %s - ukjend disklabel." #: lib/getopt.c:757 lib/getopt.c:760 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "" #: lib/getopt.c:810 lib/getopt.c:827 lib/getopt.c:1035 lib/getopt.c:1053 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "" #: lib/getopt.c:883 lib/getopt.c:899 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "" #: lib/getopt.c:923 lib/getopt.c:941 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:962 lib/getopt.c:980 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". If the catalog has no translation, #. locale_quoting_style quotes `like this', and #. clocale_quoting_style quotes "like this". #. #. For example, an American English Unicode locale should #. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and #. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION #. MARK). A British English Unicode locale should instead #. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) #. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. #. #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. #: lib/quotearg.c:272 msgid "`" msgstr "" #: lib/quotearg.c:273 msgid "'" msgstr "" #: lib/regcomp.c:134 msgid "Success" msgstr "" #: lib/regcomp.c:137 msgid "No match" msgstr "" #: lib/regcomp.c:140 msgid "Invalid regular expression" msgstr "" #: lib/regcomp.c:143 msgid "Invalid collation character" msgstr "" #: lib/regcomp.c:146 msgid "Invalid character class name" msgstr "" #: lib/regcomp.c:149 msgid "Trailing backslash" msgstr "" #: lib/regcomp.c:152 msgid "Invalid back reference" msgstr "" #: lib/regcomp.c:155 msgid "Unmatched [ or [^" msgstr "" #: lib/regcomp.c:158 msgid "Unmatched ( or \\(" msgstr "" #: lib/regcomp.c:161 msgid "Unmatched \\{" msgstr "" #: lib/regcomp.c:164 msgid "Invalid content of \\{\\}" msgstr "" #: lib/regcomp.c:167 msgid "Invalid range end" msgstr "" #: lib/regcomp.c:170 msgid "Memory exhausted" msgstr "" #: lib/regcomp.c:173 msgid "Invalid preceding regular expression" msgstr "" #: lib/regcomp.c:176 msgid "Premature end of regular expression" msgstr "" #: lib/regcomp.c:179 msgid "Regular expression too big" msgstr "" #: lib/regcomp.c:182 msgid "Unmatched ) or \\)" msgstr "" #: lib/regcomp.c:703 msgid "No previous regular expression" msgstr "" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "" #: lib/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "" #: lib/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "" #: lib/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" #: lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "" #: lib/xstrtol-error.c:63 #, fuzzy, c-format msgid "invalid %s%s argument `%s'" msgstr "Kunne ikkje opna %s." #: lib/xstrtol-error.c:68 #, fuzzy, c-format msgid "invalid suffix in %s%s argument `%s'" msgstr "Kunne ikkje opna %s." #: lib/xstrtol-error.c:72 #, fuzzy, c-format msgid "%s%s argument `%s' too large" msgstr "Kunne ikkje opna %s." #: libparted/arch/beos.c:245 msgid "Disk Image" msgstr "" #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277 #: libparted/arch/linux.c:1519 #, c-format msgid "Error opening %s: %s" msgstr "Feil ved opning av %s: %s" #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287 #: libparted/arch/linux.c:1530 #, c-format msgid "Unable to open %s read-write (%s). %s has been opened read-only." msgstr "" "Kunne ikkje opna %s for både lesing og skriving (%s). %s er berre opna for " "lesing." #: libparted/arch/beos.c:419 libparted/arch/linux.c:1688 #, c-format msgid "%s during seek for read on %s" msgstr "%s under posisjonering før lesing av %s" #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564 #: libparted/arch/gnu.c:692 libparted/arch/linux.c:1648 #: libparted/arch/linux.c:1729 #, c-format msgid "%s during read on %s" msgstr "%s under lesing av %s" #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525 #: libparted/arch/linux.c:1805 #, c-format msgid "Can't write to %s, because it is opened read-only." msgstr "Kan ikkje skriva til %s, sidan han berre er opna for lesing." #: libparted/arch/beos.c:504 libparted/arch/linux.c:1830 #, c-format msgid "%s during seek for write on %s" msgstr "%s under posisjonering før skriving til %s" #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646 #: libparted/arch/gnu.c:723 libparted/arch/linux.c:1778 #: libparted/arch/linux.c:1872 libparted/arch/linux.c:1944 #, c-format msgid "%s during write on %s" msgstr "%s under skriving til %s" #: debug/clearfat/clearfat.c:62 partprobe/partprobe.c:137 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "" #: debug/clearfat/clearfat.c:66 #, c-format msgid "" "Usage: %s [OPTION]\n" " or: %s DEVICE MINOR\n" msgstr "" #: debug/clearfat/clearfat.c:69 msgid "" "Clear unused space on a FAT partition (a GNU Parted testing tool).\n" "\n" msgstr "" #: debug/clearfat/clearfat.c:73 msgid " --help display this help and exit\n" msgstr "" #: debug/clearfat/clearfat.c:74 msgid " --version output version information and exit\n" msgstr "" #: debug/clearfat/clearfat.c:76 partprobe/partprobe.c:154 #, c-format msgid "" "\n" "Report bugs to <%s>.\n" msgstr "" #: debug/clearfat/clearfat.c:284 #, c-format msgid "too few arguments" msgstr "" #: debug/clearfat/clearfat.c:289 #, fuzzy, c-format msgid "too many arguments" msgstr "For mange dårlege sider." #: debug/clearfat/clearfat.c:297 #, fuzzy, c-format msgid "invalid minor device number: %s" msgstr "Kunne ikkje opna %s." #: partprobe/partprobe.c:141 #, c-format msgid "Usage: %s [OPTION] [DEVICE]...\n" msgstr "" #: partprobe/partprobe.c:142 msgid "" "Inform the operating system about partition table changes.\n" "\n" " -d, --dry-run do not actually inform the operating system\n" " -s, --summary print a summary of contents\n" " -h, --help display this help and exit\n" " -v, --version output version information and exit\n" msgstr "" #: partprobe/partprobe.c:150 msgid "" "\n" "When no DEVICE is given, probe all partitions.\n" msgstr "" #: libparted/arch/gnu.c:110 #, c-format msgid "Unable to open %s." msgstr "Kunne ikkje opna %s." #: libparted/arch/gnu.c:130 msgid "Unable to probe store." msgstr "Kunne ikkje undersøkja lagringsmediet." #: libparted/arch/gnu.c:368 #, fuzzy msgid "" "The partition table cannot be re-read. This means you need to reboot before " "mounting any modified partitions. You also need to reinstall your boot " "loader before you reboot (which may require mounting modified partitions). " "It is impossible do both things! So you'll need to boot off a rescue disk, " "and reinstall your boot loader from the rescue disk. Read section 4 of the " "Parted User documentation for more information." msgstr "" "Kjerna klarte ikkje å lesa partisjonstabellen på nytt, så du må starta om " "maskina før du kan montera endra partisjonar. Du må også installera boot-" "lastaren på nytt før omstarten (som kanskje krever at du monterer " "partisjonane du har endra). Det er umogleg å gjera båe delar! Start frå " "ein redningsdiskett, og reinstallera boot-lastaren frå redningsmiljøet. Les " "del 4 i brukarhandboka for meir informasjon." #: libparted/arch/gnu.c:385 #, fuzzy, c-format msgid "" "The partition table on %s cannot be re-read (%s). This means the Hurd knows " "nothing about any modifications you made. You should reboot your computer " "before doing anything with %s." msgstr "" "Partisjonstabellen på %s (%s). Det tyder at Hurd ikkje veit noko om " "endringar du har gjort. Datamaskinen må startast på nytt før du gjer noko " "med %s." #: libparted/arch/gnu.c:396 parted/parted.c:2719 msgid "" "You should reinstall your boot loader before rebooting. Read section 4 of " "the Parted User documentation for more information." msgstr "" "Du må installera boot-lastaren på nytt før neste omstart. Les del 4 i " "brukarhandboka for meir informasjon." #: libparted/arch/gnu.c:788 #, c-format msgid "%s trying to sync %s to disk" msgstr "Fekk feilmeldinga «%s» ved forsøk på å synkronisera %s til disk" #: libparted/arch/linux.c:509 #, c-format msgid "Could not stat device %s - %s." msgstr "Kunne ikkje undersøkja eininga %s - %s." #: libparted/arch/linux.c:566 #, fuzzy, c-format msgid "Unable to determine the dm type of %s." msgstr "Klarte ikkje å finna storleiken til %s (%s)" #: libparted/arch/linux.c:658 #, c-format msgid "" "Could not determine sector size for %s: %s.\n" "Using the default sector size (%lld)." msgstr "" #: libparted/arch/linux.c:679 #, c-format msgid "" "Could not determine physical sector size for %s.\n" "Using the logical sector size (%lld)." msgstr "" #: libparted/arch/linux.c:728 #, fuzzy, c-format msgid "Unable to determine the size of %s (%s)." msgstr "Klarte ikkje å finna storleiken til %s (%s)" #: libparted/arch/linux.c:814 #, c-format msgid "Could not get identity of device %s - %s" msgstr "Kunne ikkje finna identiteten til eininga %s - %s" #: libparted/arch/linux.c:823 msgid "Generic IDE" msgstr "" #: libparted/arch/linux.c:844 #, c-format msgid "" "Device %s has multiple (%d) logical sectors per physical sector.\n" "GNU Parted supports this EXPERIMENTALLY for some special disk label/file " "system combinations, e.g. GPT and ext2/3.\n" "Please consult the web site for up-to-date information." msgstr "" #: libparted/arch/linux.c:1019 #, c-format msgid "Error initialising SCSI device %s - %s" msgstr "Initialisering av SCSI-eininga %s gav feil - %s" #: libparted/arch/linux.c:1083 #, fuzzy, c-format msgid "" "The device %s has zero length, and can't possibly store a file system or " "partition table. Perhaps you selected the wrong device?" msgstr "" "Eininga %s har storleik null, og kan umogleg innehalda eit filsystem eller " "ein partisjonstabell. Kanskje du valte feil eining?" #: libparted/arch/linux.c:1190 #, fuzzy, c-format msgid "" "Unable to determine geometry of file/device %s. You should not use Parted " "unless you REALLY know what you're doing!" msgstr "" "Klarte ikkje å finna geometrien til fila/eininga. Du bør ikkje bruka Parted " "med mindre du VERKELEG veit kva du gjer!" #: libparted/arch/linux.c:1250 msgid "Generic SD/MMC Storage Card" msgstr "" #: libparted/arch/linux.c:1303 msgid "DAC960 RAID controller" msgstr "DAC960 RAID-kontroller" #: libparted/arch/linux.c:1308 msgid "Promise SX8 SATA Device" msgstr "" #: libparted/arch/linux.c:1313 msgid "ATA over Ethernet Device" msgstr "" #: libparted/arch/linux.c:1319 msgid "IBM S390 DASD drive" msgstr "" #: libparted/arch/linux.c:1325 msgid "IBM iSeries Virtual DASD" msgstr "" #: libparted/arch/linux.c:1330 msgid "Compaq Smart Array" msgstr "Compaq Smart Array" #: libparted/arch/linux.c:1335 msgid "ATARAID Controller" msgstr "ATARAID-kontroller" #: libparted/arch/linux.c:1340 msgid "I2O Controller" msgstr "I2O-kontroller" #: libparted/arch/linux.c:1345 msgid "User-Mode Linux UBD" msgstr "" #: libparted/arch/linux.c:1358 #, c-format msgid "Linux device-mapper (%s)" msgstr "" #: libparted/arch/linux.c:1369 msgid "Xen Virtual Block Device" msgstr "" #: libparted/arch/linux.c:1374 msgid "Unknown" msgstr "Ukjent" #: libparted/arch/linux.c:1383 msgid "Virtio Block Device" msgstr "" #: libparted/arch/linux.c:1388 msgid "Linux Software RAID Array" msgstr "" #: libparted/arch/linux.c:1395 msgid "ped_device_new() Unsupported device type" msgstr "ped_device_new() Einingstypen er ikkje støtta" #: libparted/arch/linux.c:1492 libparted/arch/linux.c:1564 #, fuzzy, c-format msgid "Error fsyncing/closing %s: %s" msgstr "Feil ved opning av %s: %s" #: libparted/arch/linux.c:1728 #, c-format msgid "end of file while reading %s" msgstr "" #: libparted/arch/linux.c:2365 #, fuzzy, c-format msgid "" "Error informing the kernel about modifications to partition %s -- %s. This " "means Linux won't know about any changes you made to %s until you reboot -- " "so you shouldn't mount it or use it in any way before rebooting." msgstr "" "Ein feil oppstod ved varsling av kjerna om endringane på partisjon %s - %s. " "Dette tyder at Linux ikkje veit om endringar du har gjort på %s før etter " "omstart av maskinen, så du må ikkje montera han eller bruka han på nokon " "måte før omstart." #: libparted/arch/linux.c:2503 #, fuzzy, c-format msgid "Unable to determine the size and length of %s." msgstr "Klarte ikkje å finna storleiken til %s (%s)" #: libparted/arch/linux.c:2528 #, c-format msgid "Failed to add partition %d (%s)" msgstr "" #: libparted/arch/linux.c:2555 #, c-format msgid "" "Partition(s) %s on %s have been written, but we have been unable to inform " "the kernel of the change, probably because it/they are in use. As a result, " "the old partition(s) will remain in use. You should reboot now before " "making further changes." msgstr "" #: libparted/arch/linux.c:2681 #, fuzzy, c-format msgid "" "parted was unable to re-read the partition table on %s (%s). This means " "Linux won't know anything about the modifications you made. " msgstr "" "Kjerna klarte ikkje å lesa partisjonstabellen på %s på nytt (%s). Dette " "tyder at Linux ikkje veit om endringane du har gjort. Du må ta omstart på " "maskinen din før du gjer noko med %s." #: libparted/cs/geom.c:162 #, fuzzy, c-format msgid "Can't have the end before the start! (start sector=%jd length=%jd)" msgstr "Kan ikkje ha slutten før starten!" #: libparted/cs/geom.c:170 msgid "Can't have a partition outside the disk!" msgstr "Kan ikkje ha ein partisjon utanfor disken!" #: libparted/cs/geom.c:385 #, fuzzy, c-format msgid "Attempt to write sectors %ld-%ld outside of partition on %s." msgstr "Prøvde å skriva sektorane %ld-%ld utanfor partisjonen på %s" #: libparted/cs/geom.c:425 libparted/fs/linux_swap/linux_swap.c:488 msgid "checking for bad blocks" msgstr "ser etter dårlege blokker" #: libparted/debug.c:97 #, c-format msgid "Backtrace has %d calls on stack:\n" msgstr "" #: libparted/debug.c:110 #, c-format msgid "Assertion (%s) at %s:%d in function %s() failed." msgstr "" #: libparted/disk.c:193 #, fuzzy, c-format msgid "%s: unrecognised disk label" msgstr "Kunne ikkje opna %s - ukjend disklabel." #: libparted/disk.c:486 #, c-format msgid "" "This libparted doesn't have write support for %s. Perhaps it was compiled " "read-only." msgstr "" "Dette libparted-biblioteket har ikkje støtte for skriving til %s. Kanskje " "vart det kompilert for kun lesing." #: libparted/disk.c:631 #, fuzzy, c-format msgid "Partition %d is %s, but the file system is %s." msgstr "Partisjonen %d er %.3f MiB, men filsystemet er %.3f MiB." #: libparted/disk.c:841 msgid "cylinder_alignment" msgstr "" #: libparted/disk.c:847 #, fuzzy, c-format msgid "Unknown disk flag, %d." msgstr "Ukjent partisjonsflagg, %d." #: libparted/disk.c:1286 #, c-format msgid "%s disk labels do not support extended partitions." msgstr "Ein %s-disklabel støttar ikkje utvidingspartisjonar." #: libparted/disk.c:1865 #, c-format msgid "%s disk labels don't support logical or extended partitions." msgstr "%s-disklablar støttar ikkje logiske eller utvidingspartisjonar." #: libparted/disk.c:1878 #, fuzzy msgid "Too many primary partitions." msgstr "For mange primærpartisjonar" #: libparted/disk.c:1887 #, c-format msgid "" "Can't add a logical partition to %s, because there is no extended partition." msgstr "" "Kan ikkje leggja ein logisk partisjon til %s, sidan der ikkje er nokon " "utvidingspartisjon." #: libparted/disk.c:1911 #, fuzzy, c-format msgid "Can't have more than one extended partition on %s." msgstr "Kan ikkje ha meir enn éin utvidingspartisjon på %s" #: libparted/disk.c:1921 msgid "Can't have logical partitions outside of the extended partition." msgstr "Kan ikkje ha logiske partisjonar utanfor utvidingspartisjonen." #: libparted/disk.c:1946 #, c-format msgid "Can't have a logical partition outside of the extended partition on %s." msgstr "" "Ein logisk partisjon kan ikkje liggja utanfor utvidingspartisjonen på %s." #: libparted/disk.c:1956 libparted/disk.c:2015 libparted/disk.c:2193 #, fuzzy msgid "Can't have overlapping partitions." msgstr "Partisjonar kan ikkje overlappa kvarandre." #: libparted/disk.c:1964 msgid "Can't have a primary partition inside an extended partition." msgstr "Ein primærpartisjon kan ikkje liggja inne i ein utvidingspartisjon." #: libparted/disk.c:2395 msgid "metadata" msgstr "metadata" #: libparted/disk.c:2397 msgid "free" msgstr "ledig" #: libparted/disk.c:2399 parted/ui.c:1193 parted/ui.c:1221 msgid "extended" msgstr "utviding" #: libparted/disk.c:2401 parted/ui.c:1197 parted/ui.c:1225 msgid "logical" msgstr "logisk" #: libparted/disk.c:2403 parted/ui.c:1189 parted/ui.c:1217 msgid "primary" msgstr "primær" #: libparted/disk.c:2419 msgid "boot" msgstr "boot" #: libparted/disk.c:2421 msgid "bios_grub" msgstr "" #: libparted/disk.c:2423 msgid "root" msgstr "rot" #: libparted/disk.c:2425 msgid "swap" msgstr "swap" #: libparted/disk.c:2427 msgid "hidden" msgstr "skjult" #: libparted/disk.c:2429 msgid "raid" msgstr "raid" #: libparted/disk.c:2431 msgid "lvm" msgstr "lvm" #: libparted/disk.c:2433 msgid "lba" msgstr "lba" #: libparted/disk.c:2435 msgid "hp-service" msgstr "hp-service" #: libparted/disk.c:2437 msgid "palo" msgstr "" #: libparted/disk.c:2439 msgid "prep" msgstr "" #: libparted/disk.c:2441 msgid "msftres" msgstr "" #: libparted/disk.c:2443 msgid "atvrecv" msgstr "" #: libparted/disk.c:2445 msgid "diag" msgstr "" #: libparted/disk.c:2451 #, fuzzy, c-format msgid "Unknown partition flag, %d." msgstr "Ukjent partisjonsflagg, %d." #: libparted/exception.c:77 msgid "Information" msgstr "Informasjon" #: libparted/exception.c:78 msgid "Warning" msgstr "Åtvaring" #: libparted/exception.c:79 msgid "Error" msgstr "Feil" #: libparted/exception.c:80 msgid "Fatal" msgstr "Kritisk" #: libparted/exception.c:81 msgid "Bug" msgstr "Programfeil" #: libparted/exception.c:82 msgid "No Implementation" msgstr "Ikkje laga" #: libparted/exception.c:86 msgid "Fix" msgstr "Rett opp" #: libparted/exception.c:87 msgid "Yes" msgstr "Ja" #: libparted/exception.c:88 msgid "No" msgstr "Nei" #: libparted/exception.c:89 msgid "OK" msgstr "OK" #: libparted/exception.c:90 msgid "Retry" msgstr "Prøv igjen" #: libparted/exception.c:91 msgid "Ignore" msgstr "Oversjå" #: libparted/exception.c:92 msgid "Cancel" msgstr "Avbryt" #: libparted/exception.c:132 #, fuzzy, c-format msgid "" "A bug has been detected in GNU Parted. Refer to the web site of parted " "http://www.gnu.org/software/parted/parted.html for more information of what " "could be useful for bug submitting! Please email a bug report to bug-" "parted@gnu.org containing at least the version (%s) and the following " "message: " msgstr "" "Ein programfeil oppstod i GNU Parted. Ver venleg å senda ei feilmelding til " "bug-parted@gnu.org der du oppgjev versjonsnummeret (%s) og fylgjande melding:" #: libparted/filesys.c:462 msgid "Could not detect file system." msgstr "Kan ikkje kjenna igjen noko filsystem." #: libparted/filesys.c:473 #, fuzzy msgid "The file system is bigger than its volume!" msgstr "Filsystemet er større enn volumet det ligg på!" #: libparted/filesys.c:481 #, c-format msgid "Support for opening %s file systems is not implemented yet." msgstr "Støtte for å opna %s-filsystem er ikkje lagt inn enno." #: libparted/filesys.c:523 #, c-format msgid "Support for creating %s file systems is not implemented yet." msgstr "Støtte for å laga %s-filsystem er ikkje lagt inn enno." #: libparted/filesys.c:583 #, c-format msgid "Support for checking %s file systems is not implemented yet." msgstr "Støtte for å sjekka %s-filsystem for feil er ikkje lagt inn enno." #: libparted/filesys.c:649 msgid "raw block copying" msgstr "rå blokkopiering" #: libparted/filesys.c:660 msgid "growing file system" msgstr "aukar storleik på filsystemet" #: libparted/filesys.c:700 msgid "Can't copy onto an overlapping partition." msgstr "Kan ikkje kopiera inn i ein overlappande partisjon." #: libparted/filesys.c:722 #, fuzzy, c-format msgid "" "Direct support for copying file systems is not yet implemented for %s. " "However, support for resizing is implemented. Therefore, the file system " "can be copied if the new partition is at least as big as the old one. So, " "either shrink the partition you are trying to copy, or copy to a bigger " "partition." msgstr "" "Å kopiera filsystemet er ikkje direkte støtta for %s. Men, støtte for å " "endra storleik er med, så filsystemet kan kopierast viss den nye partisjonen " "er minst like stor som den gamle. Du må altså anten krympa partisjonen du " "prøver å kopiera, eller kopiera til ein større partisjon." #: libparted/filesys.c:736 #, c-format msgid "Support for copying %s file systems is not implemented yet." msgstr "Støtte for å kopiera %s-filsystem er ikkje lagt inn enno." #: libparted/filesys.c:774 #, c-format msgid "Support for resizing %s file systems is not implemented yet." msgstr "Støtte for å endra storleik på %s-filsystem er ikkje lagt inn enno." #: libparted/fs/reiserfs/reiserfs.c:315 msgid "creating" msgstr "" #: libparted/fs/reiserfs/reiserfs.c:402 #, fuzzy msgid "The file system is in an invalid state. Perhaps it is mounted?" msgstr "Filsystemet har ein ugyldig signatur til å vera eit FAT-filsystem." #: libparted/fs/reiserfs/reiserfs.c:410 msgid "The file system is in old (unresizeable) format." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:416 msgid "Invalid free blocks count. Run reiserfsck --check first." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:431 #, fuzzy msgid "checking" msgstr "check" #: libparted/fs/reiserfs/reiserfs.c:437 msgid "Reiserfs tree seems to be corrupted. Run reiserfsck --check first." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:449 #, fuzzy msgid "" "The reiserfs file system passed a basic check. For a more comprehensive " "check, run reiserfsck --check." msgstr "" "Ext2-filsystemet gjekk gjennom ein enkel sjekk. For ein meir grundig sjekk, " "bruk programmet e2fsck." #: libparted/fs/reiserfs/reiserfs.c:474 #, fuzzy msgid "Sorry, can't move the start of reiserfs partitions yet." msgstr "Beklagar, kan ikkje flytta starten på ein ext2-partisjon enno!" #: libparted/fs/reiserfs/reiserfs.c:490 msgid "Couldn't reopen device abstraction layer for read/write." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:508 libparted/fs/ext2/ext2_resize.c:552 #: libparted/fs/hfs/hfs.c:250 libparted/fs/hfs/hfs.c:629 msgid "shrinking" msgstr "krympar" #: libparted/fs/reiserfs/reiserfs.c:520 #, fuzzy msgid "expanding" msgstr "Åtvaring" #: libparted/fs/reiserfs/reiserfs.c:592 msgid "Couldn't create reiserfs device abstraction handler." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:606 #, fuzzy, c-format msgid "Device is too small for %lu blocks." msgstr "Filsystemet er for lite for ext2." #: libparted/fs/reiserfs/reiserfs.c:615 msgid "copying" msgstr "" #: libparted/fs/reiserfs/reiserfs.c:682 #, c-format msgid "Couldn't resolve symbol %s. Error: %s." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:704 msgid "GNU Parted found an invalid libreiserfs library." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:715 #, c-format msgid "" "GNU Parted has detected libreiserfs interface version mismatch. Found %d-" "%d, required %d. ReiserFS support will be disabled." msgstr "" #: libparted/labels/aix.c:103 #, fuzzy msgid "Support for reading AIX disk labels is is not implemented yet." msgstr "Støtte for å laga %s-filsystem er ikkje lagt inn enno." #: libparted/labels/aix.c:114 #, fuzzy msgid "Support for writing AIX disk labels is is not implemented yet." msgstr "Støtte for å laga %s-filsystem er ikkje lagt inn enno." #: libparted/labels/aix.c:127 #, fuzzy msgid "" "Support for adding partitions to AIX disk labels is not implemented yet." msgstr "Støtte for å laga %s-filsystem er ikkje lagt inn enno." #: libparted/labels/aix.c:137 #, fuzzy msgid "" "Support for duplicating partitions in AIX disk labels is not implemented yet." msgstr "Støtte for å laga %s-filsystem er ikkje lagt inn enno." #: libparted/labels/aix.c:155 #, fuzzy msgid "" "Support for setting system type of partitions in AIX disk labels is not " "implemented yet." msgstr "Støtte for å laga %s-filsystem er ikkje lagt inn enno." #: libparted/labels/aix.c:165 #, fuzzy msgid "Support for setting flags in AIX disk labels is not implemented yet." msgstr "Støtte for å laga %s-filsystem er ikkje lagt inn enno." #: libparted/labels/bsd.c:568 libparted/labels/dasd.c:783 #: libparted/labels/dos.c:2092 libparted/labels/dvh.c:788 #: libparted/labels/gpt.c:1750 libparted/labels/loop.c:245 #: libparted/labels/mac.c:1424 libparted/labels/pc98.c:749 #: libparted/labels/rdb.c:1051 libparted/labels/sun.c:821 msgid "Unable to satisfy all constraints on the partition." msgstr "Kunne ikkje oppfylla alle dei tekniske krava til partisjonen." #: libparted/labels/bsd.c:593 #, fuzzy msgid "Unable to allocate a bsd disklabel slot." msgstr "Kunne ikkje tilordna plass i BSD-disklabel." #: libparted/labels/dasd.c:809 #, fuzzy msgid "Unable to allocate a dasd disklabel slot" msgstr "Kunne ikkje tilordna plass i BSD-disklabel." #: libparted/labels/dos.c:882 #, fuzzy, c-format msgid "Invalid partition table on %s -- wrong signature %x." msgstr "Ugyldig partisjonstabell på %s - feil signatur %x" #: libparted/labels/dos.c:910 #, c-format msgid "Invalid partition table - recursive partition on %s." msgstr "Ugyldig partisjonstabell - rekursiv partisjon på %s." #: libparted/labels/dos.c:1420 msgid "Extended partitions cannot be hidden on msdos disk labels." msgstr "" #: libparted/labels/dos.c:2074 msgid "Parted can't resize partitions managed by Windows Dynamic Disk." msgstr "" # checkit #: libparted/labels/dvh.c:201 #, fuzzy, c-format msgid "%s has no extended partition (volume header partition)." msgstr "" "%s har ingen utvidingspartisjon (volume header-partisjon). Om du overser " "denne meldinga, vil eventuelle bootvolum verta sletta." #: libparted/labels/dvh.c:327 msgid "Checksum is wrong, indicating the partition table is corrupt." msgstr "Sjekksummen er feil, og det tyder på at partisjonstabellen er korrupt." #: libparted/labels/dvh.c:632 msgid "Only primary partitions can be root partitions." msgstr "Berre primærpartisjonar kan vera rotpartisjonar." #: libparted/labels/dvh.c:646 msgid "Only primary partitions can be swap partitions." msgstr "Berre primærpartisjonar kan vera swap-partisjonar." # checkit #: libparted/labels/dvh.c:660 msgid "Only logical partitions can be a boot file." msgstr "Berre logiske partisjonar kan vera ei bootfil." # checkit #: libparted/labels/dvh.c:737 #, fuzzy, c-format msgid "" "failed to set dvh partition name to %s:\n" "Only logical partitions (boot files) have a name." msgstr "Berre logiske partisjonar (bootfiler) kan ha namn." #: libparted/labels/dvh.c:830 msgid "Too many primary partitions" msgstr "For mange primærpartisjonar" #: libparted/labels/fdasd.c:98 msgid "open error" msgstr "" #: libparted/labels/fdasd.c:101 msgid "seek error" msgstr "" #: libparted/labels/fdasd.c:104 msgid "read error" msgstr "" #: libparted/labels/fdasd.c:110 msgid "ioctl() error" msgstr "" #: libparted/labels/fdasd.c:114 msgid "API version mismatch" msgstr "" #: libparted/labels/fdasd.c:118 #, fuzzy msgid "Unsupported disk type" msgstr "ped_device_new() Einingstypen er ikkje støtta" #: libparted/labels/fdasd.c:122 msgid "Unsupported disk format" msgstr "" #: libparted/labels/fdasd.c:126 msgid "Disk is in use" msgstr "" #: libparted/labels/fdasd.c:130 msgid "Syntax error in config file" msgstr "" #: libparted/labels/fdasd.c:134 msgid "Volume label is corrupted" msgstr "" #: libparted/labels/fdasd.c:138 msgid "A data set name is corrupted" msgstr "" #: libparted/labels/fdasd.c:142 msgid "Memory allocation failed" msgstr "" #: libparted/labels/fdasd.c:146 msgid "Device verification failed" msgstr "" #: libparted/labels/fdasd.c:147 msgid "The specified device is not a valid DASD device" msgstr "" #: libparted/labels/fdasd.c:150 libparted/labels/vtoc.c:179 #, fuzzy msgid "Fatal error" msgstr "Kritisk" #: libparted/labels/fdasd.c:226 msgid "No room for volume label." msgstr "" #: libparted/labels/fdasd.c:234 #, fuzzy msgid "No room for partition info." msgstr "Fann ikkje noko gyldig partisjonskart." #: libparted/labels/fdasd.c:704 msgid "Invalid VTOC." msgstr "" #: libparted/labels/fdasd.c:764 msgid "Could not retrieve API version." msgstr "" #: libparted/labels/fdasd.c:767 #, c-format msgid "" "The current API version '%d' doesn't match dasd driver API version '%d'!" msgstr "" #: libparted/labels/fdasd.c:804 #, fuzzy msgid "Could not retrieve disk geometry information." msgstr "Kunne ikkje lesa geometrien til %s - %s." #: libparted/labels/fdasd.c:808 msgid "Could not retrieve blocksize information." msgstr "" #: libparted/labels/fdasd.c:813 msgid "Could not retrieve disk information." msgstr "" #: libparted/labels/fdasd.c:818 msgid "This is not an ECKD disk! This disk type is not supported!" msgstr "" #: libparted/labels/gpt.c:485 #, fuzzy, c-format msgid "" "%s contains GPT signatures, indicating that it has a GPT table. However, it " "does not have a valid fake msdos partition table, as it should. Perhaps it " "was corrupted -- possibly by a program that doesn't understand GPT partition " "tables. Or perhaps you deleted the GPT table, and are now using an msdos " "partition table. Is this a GPT partition table?" msgstr "" "%s inneheld GPT-signaturar, som tyder på at han har ein GPT-tabell. Men han " "har ikkje ein gyldig falsk MSDOS-partisjonstabell slik han skulle. Kanskje " "vart han øydelagt, t.d. av eit program som ikkje forstår GPT-" "partisjonstabellar. Eller kanskje du har sletta GPT-tabellen og brukar no " "ein MSDOS-partisjonstabell. Er dette ein GPT-partisjonstabell?" #: libparted/labels/gpt.c:680 #, c-format msgid "" "The format of the GPT partition table is version %x, which is newer than " "what Parted can recognise. Please tell us! bug-parted@gnu.org" msgstr "" "Formatet til GPT-partisjonstabellen er versjon %x, som er nyare enn det " "Parted kan kjenna att. Ver venleg å seia i frå med ein epost til (skriv helst på engelsk)" #: libparted/labels/gpt.c:727 #, c-format msgid "" "Not all of the space available to %s appears to be used, you can fix the GPT " "to use all of the space (an extra %llu blocks) or continue with the current " "setting? " msgstr "" #: libparted/labels/gpt.c:936 msgid "" "The backup GPT table is not at the end of the disk, as it should be. This " "might mean that another operating system believes the disk is smaller. Fix, " "by moving the backup to the end (and removing the old backup)?" msgstr "" "Sikringskopien av GPT-tabellen er ikkje sist på disken slik han skal vera. " "Dette kan tyda at eit anna operativsystem trur at disken er mindre. Skal " "dette rettast ved å flytta kopien til slutten av disken (og sletta den gamle " "kopien)?" #: libparted/labels/gpt.c:960 #, fuzzy msgid "" "Both the primary and backup GPT tables are corrupt. Try making a fresh " "table, and using Parted's rescue feature to recover partitions." msgstr "" "Både originalen og kopien av GPT-tabellen er korrupt. Prøv å laga ein ny " "tom tabell, og bruk Parteds redningsmodus til å finna partisjonane." #: libparted/labels/gpt.c:971 #, fuzzy msgid "" "The backup GPT table is corrupt, but the primary appears OK, so that will be " "used." msgstr "" "GPT-tabellen er korrupt, men sikringskopien ser frisk ut, så kopien vert " "brukt." #: libparted/labels/gpt.c:983 #, fuzzy msgid "" "The primary GPT table is corrupt, but the backup appears OK, so that will be " "used." msgstr "" "GPT-tabellen er korrupt, men sikringskopien ser frisk ut, så kopien vert " "brukt." #: libparted/labels/gpt.c:1007 msgid "primary partition table array CRC mismatch" msgstr "" #: libparted/labels/mac.c:185 #, c-format msgid "Invalid signature %x for Mac disk labels." msgstr "Ugyldig signatur %x for ein Mac-disklabel." #: libparted/labels/mac.c:232 msgid "Partition map has no partition map entry!" msgstr "Partisjonskartet inneheld ingen oppføringar!" #: libparted/labels/mac.c:280 #, c-format msgid "%s is too small for a Mac disk label!" msgstr "%s er for liten for ein Mac-disklabel!" #: libparted/labels/mac.c:509 #, c-format msgid "Partition %d has an invalid signature %x." msgstr "Partisjon %d har ein ugyldig signatur %x." #: libparted/labels/mac.c:527 #, c-format msgid "Partition %d has an invalid length of 0 bytes!" msgstr "Partisjon %d har ei ugyldig lengde på 0 oktettar!" #: libparted/labels/mac.c:558 #, fuzzy msgid "The data region doesn't start at the start of the partition." msgstr "Dataregionen startar ikkje på starten av partisjonen" #: libparted/labels/mac.c:575 #, fuzzy msgid "The boot region doesn't start at the start of the partition." msgstr "Bootregionen startar ikkje på starten av partisjonen" #: libparted/labels/mac.c:589 msgid "The partition's boot region doesn't occupy the entire partition." msgstr "Bootregionen fyller ikkje heile partisjonen." #: libparted/labels/mac.c:600 msgid "The partition's data region doesn't occupy the entire partition." msgstr "Dataregionen fyller ikkje heile partisjonen." #: libparted/labels/mac.c:653 #, c-format msgid "" "Weird block size on device descriptor: %d bytes is not divisible by 512." msgstr "" "Merkeleg blokkstorleik på einingsdeskriptor: %d oktettar er ikkje deleleg på " "512." #: libparted/labels/mac.c:666 #, c-format msgid "" "The driver descriptor says the physical block size is %d bytes, but Linux " "says it is %d bytes." msgstr "" "Drivardeskriptoren seier at den fysiske blokkstorleiken er %d oktettar, men " "Linux seier at han er %d oktettar." #: libparted/labels/mac.c:720 msgid "No valid partition map found." msgstr "Fann ikkje noko gyldig partisjonskart." #: libparted/labels/mac.c:782 #, fuzzy, c-format msgid "" "Conflicting partition map entry sizes! Entry 1 says it is %d, but entry %d " "says it is %d!" msgstr "" "Motstridande storleikar i partisjonskartet! Oppføring 1 seier at han er %d, " "men oppføring %d seier at han er %d!" #: libparted/labels/mac.c:809 #, fuzzy msgid "Weird! There are 2 partitions map entries!" msgstr "Merkeleg - to partisjonskartoppføringar!" #: libparted/labels/mac.c:1355 msgid "" "Changing the name of a root or swap partition will prevent Linux from " "recognising it as such." msgstr "" "Endrar du namnet på ein rot- eller swap-partisjon, vil ikkje Linux lenger " "kjenna han igjen." #: libparted/labels/mac.c:1459 #, fuzzy msgid "Can't add another partition -- the partition map is too small!" msgstr "Kan ikkje leggja til ein partisjon til - partisjonskartet er for lite!" #: libparted/labels/pc98.c:331 #, fuzzy, c-format msgid "Invalid partition table on %s." msgstr "Ugyldig partisjonstabell på %s" #: libparted/labels/pc98.c:384 libparted/labels/pc98.c:462 #, fuzzy, c-format msgid "" "Partition %d isn't aligned to cylinder boundaries. This is still " "unsupported." msgstr "" "Partisjon %d ligg ikkje nøyaktig på grensa mellom to sylinderar. Det " "manglar støtte for dette." #: libparted/labels/pc98.c:781 msgid "Can't add another partition." msgstr "Kan ikkje leggja til ein partisjon til." #: libparted/labels/pt-tools.c:125 #, c-format msgid "" "partition length of %jd sectors exceeds the %s-partition-table-imposed " "maximum of %jd" msgstr "" #: libparted/labels/pt-tools.c:138 #, c-format msgid "" "starting sector number, %jd exceeds the %s-partition-table-imposed maximum " "of %jd" msgstr "" #: libparted/labels/rdb.c:170 #, c-format msgid "%s : Bad checksum on block %llu of type %s." msgstr "" #: libparted/labels/rdb.c:486 #, c-format msgid "%s : Didn't find rdb block, should never happen." msgstr "" #: libparted/labels/rdb.c:572 #, c-format msgid "%s : Loop detected at block %d." msgstr "" #: libparted/labels/rdb.c:591 #, c-format msgid "%s : The %s list seems bad at block %s." msgstr "" #: libparted/labels/rdb.c:690 #, c-format msgid "%s : Failed to list bad blocks." msgstr "" #: libparted/labels/rdb.c:698 #, c-format msgid "%s : Failed to list partition blocks." msgstr "" #: libparted/labels/rdb.c:706 #, c-format msgid "%s : Failed to list file system blocks." msgstr "" #: libparted/labels/rdb.c:714 #, c-format msgid "%s : Failed to list boot blocks." msgstr "" #: libparted/labels/rdb.c:741 #, c-format msgid "Failed to write partition block at %d." msgstr "" #: libparted/labels/rdb.c:1079 #, fuzzy msgid "Unable to allocate a partition number." msgstr "Forventa eit partisjonsnummer." #: libparted/labels/sun.c:163 msgid "Corrupted Sun disk label detected." msgstr "Øydelagd Sun-disklabel funne." #: libparted/labels/sun.c:316 #, fuzzy, c-format msgid "" "The disk CHS geometry (%d,%d,%d) reported by the operating system does not " "match the geometry stored on the disk label (%d,%d,%d)." msgstr "" "Geometrien til disken (C=%d,H=%d,S=%d) stemmer ikkje med geometrien i " "disklabelen (C=%d,H=%d,S=%d)." #: libparted/labels/sun.c:338 #, c-format msgid "The disk label describes a disk bigger than %s." msgstr "Disklabelen skildrar ein disk større enn %s." #: libparted/labels/sun.c:510 #, c-format msgid "The disk has %d cylinders, which is greater than the maximum of 65536." msgstr "" #: libparted/labels/sun.c:853 msgid "" "The Whole Disk partition is the only available one left. Generally, it is " "not a good idea to overwrite this partition with a real one. Solaris may " "not be able to boot without it, and SILO (the sparc boot loader) appreciates " "it as well." msgstr "" "Partisjonen som omfattar heile disken er den einaste som er ledig. Det er " "vanlegvis ikkje nokon god idé å bruka dette som ein vanleg partisjon. " "Solaris klarer kanskje ikkje å starta utan han, og SILO (boot-lastar for " "SPARC) likar det heller ikkje." #: libparted/labels/sun.c:868 msgid "Sun disk label is full." msgstr "Sun-disklabel er full." #: libparted/labels/vtoc.c:164 msgid "opening of device failed" msgstr "" #: libparted/labels/vtoc.c:168 msgid "seeking on device failed" msgstr "" #: libparted/labels/vtoc.c:172 msgid "writing to device failed" msgstr "" #: libparted/labels/vtoc.c:176 msgid "reading from device failed" msgstr "" #: libparted/labels/vtoc.c:277 libparted/labels/vtoc.c:284 #, fuzzy msgid "Could not read volume label." msgstr "Kunne ikkje lesa geometrien til %s - %s." #: libparted/labels/vtoc.c:303 libparted/labels/vtoc.c:308 #, fuzzy msgid "Could not write volume label." msgstr "Kan ikkje kjenna igjen noko filsystem." #: libparted/labels/vtoc.c:414 msgid "Could not read VTOC labels." msgstr "" #: libparted/labels/vtoc.c:420 msgid "Could not read VTOC FMT1 DSCB." msgstr "" #: libparted/labels/vtoc.c:427 msgid "Could not read VTOC FMT4 DSCB." msgstr "" #: libparted/labels/vtoc.c:434 msgid "Could not read VTOC FMT5 DSCB." msgstr "" #: libparted/labels/vtoc.c:441 msgid "Could not read VTOC FMT7 DSCB." msgstr "" #: libparted/labels/vtoc.c:461 msgid "Could not write VTOC labels." msgstr "" #: libparted/labels/vtoc.c:467 msgid "Could not write VTOC FMT1 DSCB." msgstr "" #: libparted/labels/vtoc.c:474 msgid "Could not write VTOC FMT4 DSCB." msgstr "" #: libparted/labels/vtoc.c:481 msgid "Could not write VTOC FMT5 DSCB." msgstr "" #: libparted/labels/vtoc.c:488 msgid "Could not write VTOC FMT7 DSCB." msgstr "" #: libparted/libparted.c:237 libparted/libparted.c:252 msgid "Out of memory." msgstr "Tom for minne." #: libparted/unit.c:138 msgid "Cannot get unit size for special unit 'COMPACT'." msgstr "" #: libparted/unit.c:384 #, c-format msgid "\"%s\" has invalid syntax for locations." msgstr "" #: libparted/unit.c:392 #, c-format msgid "The maximum head value is %d." msgstr "" #: libparted/unit.c:399 #, c-format msgid "The maximum sector value is %d." msgstr "" #: libparted/unit.c:411 libparted/unit.c:543 #, c-format msgid "The location %s is outside of the device %s." msgstr "" #: libparted/unit.c:525 msgid "Invalid number." msgstr "" #: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:56 #: libparted/fs/amiga/asfs.c:70 #, c-format msgid "%s : Failed to allocate partition block\n" msgstr "" #: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:69 #: libparted/fs/amiga/asfs.c:82 #, c-format msgid "%s : Failed to allocate block\n" msgstr "" #: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:74 #, c-format msgid "%s : Couldn't read boot block %llu\n" msgstr "" #: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:85 #: libparted/fs/amiga/asfs.c:88 libparted/fs/amiga/asfs.c:102 #, c-format msgid "%s : Couldn't read root block %llu\n" msgstr "" #: libparted/fs/amiga/amiga.c:72 #, c-format msgid "%s : Failed to allocate id list element\n" msgstr "" #: libparted/fs/amiga/amiga.c:189 #, c-format msgid "%s : Couldn't read block %llu\n" msgstr "" #: libparted/fs/amiga/amiga.c:202 #, c-format msgid "%s : Bad checksum on block %llu of type %s\n" msgstr "" #: libparted/fs/amiga/amiga.c:212 #, fuzzy, c-format msgid "%s : Couldn't write block %d\n" msgstr "%s under skriving til %s" #: libparted/fs/amiga/amiga.c:278 #, c-format msgid "%s : Failed to allocate disk_specific rdb block\n" msgstr "" #: libparted/fs/amiga/amiga.c:289 #, c-format msgid "%s : Didn't find rdb block, should never happen\n" msgstr "" #: libparted/fs/amiga/amiga.c:318 #, c-format msgid "%s : Failed to read partition block %llu\n" msgstr "" #: libparted/fs/ext2/ext2.c:87 libparted/fs/ext2/ext2.c:112 msgid "Inconsistent group descriptors!" msgstr "Inkonsistente gruppe-deskriptorar" #: libparted/fs/ext2/ext2.c:91 libparted/fs/ext2/ext2.c:116 #, fuzzy msgid "File system full!" msgstr "Filsystemet er fullt!" #: libparted/fs/ext2/ext2.c:686 #, fuzzy msgid "Invalid superblock. Are you sure this is an ext2 file system?" msgstr "Ugyldig superblokk. Er du sikker på at dette er eit ext2-filsystem?" #: libparted/fs/ext2/ext2.c:700 libparted/fs/ext2/ext2_resize.c:658 #, fuzzy msgid "File system has errors! You should run e2fsck." msgstr "Der er feil på filsystemet! Køyr e2fsck først." #: libparted/fs/ext2/ext2.c:711 #, fuzzy msgid "" "File system was not cleanly unmounted! You should run e2fsck. Modifying an " "unclean file system could cause severe corruption." msgstr "" "Filsystemet vart ikkje avmontert på ein rein og pen måte. Du må køyra " "e2fsck. Å gjera endringar på eit ureint filsystem kan føre til alvorleg " "datatap." #: libparted/fs/ext2/ext2.c:731 msgid "" "File system has an incompatible feature enabled. Compatible features are " "has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs " "or debugfs to remove features." msgstr "" #: libparted/fs/ext2/ext2.c:745 msgid "Error allocating buffer cache." msgstr "Kunne ikkje allokera buffercache." #: libparted/fs/ext2/ext2_inode_relocator.c:114 #, fuzzy msgid "" "Found an inode with a incorrect link count. Better go run e2fsck first!" msgstr "Fann ein inode med feil tal på lenkar. Du bør køyra e2fsck først." #: libparted/fs/ext2/ext2_inode_relocator.c:487 msgid "Not enough free inodes!" msgstr "For få ledige inodar!" #: libparted/fs/ext2/ext2_resize.c:223 #, fuzzy msgid "File system is too full to remove a group!" msgstr "Filsystemet er for fullt til å sletta ei gruppe!" #: libparted/fs/ext2/ext2_resize.c:232 #, fuzzy msgid "File system has too many allocated inodes to remove a group!" msgstr "Filsystemet har for mange inodar i bruk til å sletta ei gruppe!" #: libparted/fs/ext2/ext2_resize.c:491 msgid "adding groups" msgstr "legg til grupper" #: libparted/fs/ext2/ext2_resize.c:528 #, fuzzy, c-format msgid "Your file system is too full to resize it to %i blocks. Sorry." msgstr "" "Filsystemet er for fullt til at ein kan endra storleiken til %i blokker. " "Beklagar." #: libparted/fs/ext2/ext2_resize.c:538 #, fuzzy, c-format msgid "" "Your file system has too many occupied inodes to resize it to %i blocks. " "Sorry." msgstr "" "Filsystemet har for mange inodar i bruk til at ein kan endra storleiken til " "%i blokker. Beklagar." #: libparted/fs/ext2/ext2_resize.c:666 #, fuzzy msgid "File system was not cleanly unmounted! You should run e2fsck." msgstr "" "Filsystemet vart ikkje avmontert på ein rein og pen måte. Du må køyra " "e2fsck." #: libparted/fs/ext2/ext2_resize.c:675 msgid "" "The file system has the 'dir_index' feature enabled. Parted can only resize " "the file system if it disables this feature. You can enable it later by " "running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'." msgstr "" #: libparted/fs/ext2/ext2_resize.c:691 msgid "" "A resize operation on this file system will use EXPERIMENTAL code\n" "that MAY CORRUPT it (although no one has reported any such damage yet).\n" "You should at least backup your data first, and run 'e2fsck -f' afterwards." msgstr "" #: libparted/fs/ext2/ext2_block_relocator.c:198 #, fuzzy msgid "Cross-linked blocks found! Better go run e2fsck first!" msgstr "Krysslenka blokker funne! Køyr e2fsck først!" #: libparted/fs/ext2/ext2_block_relocator.c:537 #, fuzzy, c-format msgid "Block %i has no reference? Weird." msgstr "Blokk %i har ingen referansar til seg? Rart" #: libparted/fs/ext2/ext2_block_relocator.c:738 #, fuzzy, c-format msgid "Block %i shouldn't have been marked (%d, %d)!" msgstr "Blokk %i burde ikkje ha vore merka!" #: libparted/fs/ext2/interface.c:226 #, fuzzy msgid "" "The ext2 file system passed a basic check. For a more comprehensive check, " "use the e2fsck program." msgstr "" "Ext2-filsystemet gjekk gjennom ein enkel sjekk. For ein meir grundig sjekk, " "bruk programmet e2fsck." #: libparted/fs/ext2/interface.c:243 msgid "Sorry, can't move the start of ext2 partitions yet!" msgstr "Beklagar, kan ikkje flytta starten på ein ext2-partisjon enno!" #: libparted/fs/ext2/ext2_buffer.c:82 msgid "Couldn't flush buffer cache!" msgstr "Kunne ikkje lagra buffercache til disk!" #: libparted/fs/ext2/ext2_mkfs.c:161 msgid "writing per-group metadata" msgstr "skriv per-gruppe metadata" #: libparted/fs/ext2/ext2_mkfs.c:597 msgid "File system too small for ext2." msgstr "Filsystemet er for lite for ext2." #: libparted/fs/fat/calc.c:135 #, fuzzy, c-format msgid "" "You need %s of free disk space to shrink this partition to this size. " "Currently, only %s is free." msgstr "" "Du treng %d MiB med ledig diskplass for å krympa partisjonen til denne " "storleiken (du har for tida berre %d MiB ledig)" #: libparted/fs/fat/context.c:56 #, c-format msgid "" "Cluster start delta = %d, which is not a multiple of the cluster size %d." msgstr "" "Allokeringseininga sitt startdelta er %d, og det er ikkje eit multiplum av " "storleiken %d." #: libparted/fs/fat/fat.c:310 #, fuzzy, c-format msgid "Partition too big/small for a %s file system." msgstr "Partisjonen er for liten eller stor for eit %s-filsystem" #: libparted/fs/fat/fat.c:476 msgid "" "The FATs don't match. If you don't know what this means, then select " "cancel, run scandisk on the file system, and then come back." msgstr "" "FAT-ane stemmer ikkje overeins. Viss du ikkje veit kva dette tyder, vel " "avbryt, køyr scandisk på filsystem, og kom attende." #: libparted/fs/fat/fat.c:516 msgid "There are no possible configurations for this FAT type." msgstr "Der er ingen moglege konfigurasjonar for denne FAT-typen." #: libparted/fs/fat/fat.c:528 #, c-format msgid "" "File system doesn't have expected sizes for Windows to like it. Cluster " "size is %dk (%dk expected); number of clusters is %d (%d expected); size of " "FATs is %d sectors (%d expected)." msgstr "" "Filsystemet har ikkje parametrar som Windows vil like. Allokeringseininga " "er %d KiB (%d KiB er forventa), talet på allokeringseiningar er %d (%d er " "forventa), FAT-ane er på %d sektorar (%d er forventa)." #: libparted/fs/fat/fat.c:551 #, c-format msgid "" "File system is reporting the free space as %d clusters, not %d clusters." msgstr "" "Filsystemet rapporterer %d allokeringseiningar med ledig plass, ikkje %d." #: libparted/fs/fat/fat.c:876 #, fuzzy msgid "" "GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT " "support will be disabled." msgstr "" "GNU parted er feilkompilert: ein bootsektor i FAT skal vera 512 oktettar. " "FAT-støtte er no skrudd av." #: libparted/fs/fat/resize.c:158 #, fuzzy msgid "" "There's not enough room in the root directory for all of the files. Either " "cancel, or ignore to lose the files." msgstr "" "Der er ikkje plass i toppkatalogen til alle filene. Vel anten avbryt, eller " "oversjå feilen for å misse alle filene." #: libparted/fs/fat/resize.c:299 msgid "Error writing to the root directory." msgstr "Feil ved skriving til toppkatalogen." #: libparted/fs/fat/resize.c:488 #, fuzzy msgid "If you leave your file system as FAT16, then you will have no problems." msgstr "Viss du let filsystemet vera FAT16, vil du ikkje ha nokon problem." #: libparted/fs/fat/resize.c:491 msgid "" "If you convert to FAT16, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual)." msgstr "" "Viss du konverterer til FAT16 og MS Windows er installert på denne " "partisjonen, må du leggja inn boot-lastaren til MS Windows på nytt. Dersom " "du vil gjera dette, bør du lesa Parted-manualen (eller manualen som høyrer " "til distribusjonen din)." #: libparted/fs/fat/resize.c:499 msgid "" "If you leave your file system as FAT32, then you will not introduce any new " "problems." msgstr "Viss du let filsystemet vera FAT32, vil du ikkje få nokon nye problem." #: libparted/fs/fat/resize.c:503 msgid "" "If you convert to FAT32, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual). Also, " "converting to FAT32 will make the file system unreadable by MS DOS, MS " "Windows 95a, and MS Windows NT." msgstr "" "Viss du konverterer til FAT32, og MS Windows er installert på denne " "partisjonen, må du leggja inn boot-lastaren til MS Windows på nytt. Dersom " "du vil gjera dette, bør du lesa Parted-manualen (eller manualen som høyrer " "til distribusjonen din). FAT32 er også uleseleg for MS-DOS, MS Windows 95a " "og NT." #: libparted/fs/fat/resize.c:517 #, c-format msgid "%s %s %s" msgstr "%s %s %s" #: libparted/fs/fat/resize.c:518 msgid "Would you like to use FAT32?" msgstr "Ønskjer du å bruka FAT32?" #: libparted/fs/fat/resize.c:549 libparted/fs/fat/resize.c:565 #, c-format msgid "%s %s" msgstr "%s %s" #: libparted/fs/fat/resize.c:550 msgid "" "The file system can only be resized to this size by converting to FAT16." msgstr "Filsystemet kan kun få denne storleiken ved å konvertera til FAT16." #: libparted/fs/fat/resize.c:566 msgid "" "The file system can only be resized to this size by converting to FAT32." msgstr "Filsystemet kan kun få denne storleiken ved å konvertera til FAT32." #: libparted/fs/fat/resize.c:579 #, fuzzy msgid "" "GNU Parted cannot resize this partition to this size. We're working on it!" msgstr "" "GNU Parted kan ikkje endra storleiken til dette. Vi arbeider med saka!" #: libparted/fs/fat/bootsector.c:49 libparted/fs/fat/bootsector.c:56 msgid "File system has an invalid signature for a FAT file system." msgstr "Filsystemet har ein ugyldig signatur til å vera eit FAT-filsystem." #: libparted/fs/fat/bootsector.c:64 msgid "File system has an invalid sector size for a FAT file system." msgstr "" "Filsystemet har ein ugyldig sektorstorleik til å vera eit FAT-filsystem." #: libparted/fs/fat/bootsector.c:71 msgid "File system has an invalid cluster size for a FAT file system." msgstr "" "Filsystemet har ein storleik på allokeringseininga som er ugyldig for FAT-" "filsystem." #: libparted/fs/fat/bootsector.c:78 #, fuzzy msgid "" "File system has an invalid number of reserved sectors for a FAT file system." msgstr "" "Filsystemet har eit ugyldig tal på reserverte sektorar til å vera eit FAT-" "filsystem" #: libparted/fs/fat/bootsector.c:85 #, fuzzy msgid "File system has an invalid number of FATs." msgstr "Filsystemet har eit ugyldig tal på FAT-ar." #: libparted/fs/fat/bootsector.c:139 #, c-format msgid "" "This file system has a logical sector size of %d. GNU Parted is known not " "to work properly with sector sizes other than 512 bytes." msgstr "" "Dette filsystemet har ein logisk sektorstorleik på %d. GNU Parted fungerer " "berre skikkeleg når sektorstorleiken er 512 oktettar." #: libparted/fs/fat/bootsector.c:164 #, c-format msgid "" "The file system's CHS geometry is (%d, %d, %d), which is invalid. The " "partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the " "file system's CHS geometry will be left unchanged. If you select Fix, the " "file system's CHS geometry will be set to match the partition table's CHS " "geometry." msgstr "" #: libparted/fs/fat/bootsector.c:213 msgid "FAT boot sector says logical sector size is 0. This is weird. " msgstr "" "Bootsektoren i FAT seier at logisk sektorstorleik er 0. Det var rart. " #: libparted/fs/fat/bootsector.c:219 msgid "FAT boot sector says there are no FAT tables. This is weird. " msgstr "" "Bootsektoren i FAT seier at der ikkje er nokon FAT-tabellar. Det var rart. " #: libparted/fs/fat/bootsector.c:225 msgid "FAT boot sector says clusters are 0 sectors. This is weird. " msgstr "" "Bootsektoren i FAT seier at allokeringseininga er 0 sektorar. Det var rart. " #: libparted/fs/fat/bootsector.c:235 #, fuzzy msgid "File system is FAT12, which is unsupported." msgstr "Filsystemet er FAT12, som er ustøtta." #: libparted/fs/fat/bootsector.c:411 #, c-format msgid "" "The information sector has the wrong signature (%x). Select cancel for now, " "and send in a bug report. If you're desperate, it's probably safe to ignore." msgstr "" "Informasjonssektoren har feil signatur (%x). Vel avbryt, og send inn ein " "feilrapport. Viss du er desperat, er det sannsynlegvis trygt å oversjå " "denne feilen." #: libparted/fs/fat/count.c:144 #, c-format msgid "Bad directory entry for %s: first cluster is the end of file marker." msgstr "" "Feil i katalogoppføringa for %s: første allokeringseininga markerer slutt på " "fila." #: libparted/fs/fat/count.c:157 #, c-format msgid "" "Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk." msgstr "" "Feil på FAT: endelaus kjede for %s. Du bør køyre dosfsck eller scandisk." #: libparted/fs/fat/count.c:166 #, fuzzy, c-format msgid "" "Bad FAT: cluster %d outside file system in chain for %s. You should run " "dosfsck or scandisk." msgstr "" "Feil på FAT: allokeringseining %d er utanfor filsystemet i kjeda for %s. Du " "bør køyra dosfsck eller scandisk." #: libparted/fs/fat/count.c:176 #, c-format msgid "" "Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or " "scandisk." msgstr "" "Feil på FAT: allokeringseining %d er krysslenka for %s. Du bør køyre " "dosfsck eller scandisk." #: libparted/fs/fat/count.c:195 #, c-format msgid "%s is %dk, but it has %d clusters (%dk)." msgstr "%s er %d KiB, men har %d allokeringseiningar (%d KiB)." #: libparted/fs/fat/count.c:258 #, c-format msgid "" "The file %s is marked as a system file. This means moving it could cause " "some programs to stop working." msgstr "" "Fila %s er klassifisert som ei systemfil. Å flytta denne fila kan føra til " "at nokon program sluttar å fungera." #: libparted/fs/fat/table.c:136 #, c-format msgid "" "FAT %d media %x doesn't match the boot sector's media %x. You should " "probably run scandisk." msgstr "" "FAT %d media %x stemmer ikkje overeins med bootsektorens media %x. Du bør " "sannsynlegvis køyra scandisk." #: libparted/fs/fat/table.c:268 #, fuzzy, c-format msgid "fat_table_set: cluster %ld outside file system" msgstr "fat_table_set: allokeringseining %ld utanfor filsystemet" #: libparted/fs/fat/table.c:300 #, fuzzy, c-format msgid "fat_table_get: cluster %ld outside file system" msgstr "fat_table_get: allokeringseining %ld utanfor filsystemet" #: libparted/fs/fat/table.c:342 msgid "fat_table_alloc_cluster: no free clusters" msgstr "fat_table_alloc_cluster: ingen ledige allokeringseiningar" #: libparted/fs/linux_swap/linux_swap.c:288 #, fuzzy, c-format msgid "Unrecognised old style linux swap signature '%10s'." msgstr "Ukjent swap-signatur for Linux '%10s'." #: libparted/fs/linux_swap/linux_swap.c:331 #, fuzzy, c-format msgid "Unrecognised new style linux swap signature '%10s'." msgstr "Ukjent swap-signatur for Linux '%10s'." #: libparted/fs/linux_swap/linux_swap.c:371 #, fuzzy, c-format msgid "Unrecognised swsusp linux swap signature '%9s'." msgstr "Ukjent swap-signatur for Linux '%10s'." #: libparted/fs/linux_swap/linux_swap.c:447 msgid "Too many bad pages." msgstr "For mange dårlege sider." #: libparted/fs/hfs/advfs.c:121 libparted/fs/hfs/advfs_plus.c:121 #: libparted/fs/hfs/reloc.c:414 libparted/fs/hfs/reloc.c:508 #: libparted/fs/hfs/reloc_plus.c:538 libparted/fs/hfs/reloc_plus.c:656 #: libparted/fs/hfs/reloc_plus.c:769 msgid "The file system contains errors." msgstr "" #: libparted/fs/hfs/advfs_plus.c:285 msgid "Bad blocks could not be read." msgstr "" #: libparted/fs/hfs/cache.c:137 #, c-format msgid "" "Trying to register an extent starting at block 0x%X, but another one already " "exists at this position. You should check the file system!" msgstr "" #: libparted/fs/hfs/cache.c:214 #, c-format msgid "" "Trying to move an extent from block Ox%X to block Ox%X, but another one " "already exists at this position. This should not happen!" msgstr "" #: libparted/fs/hfs/file.c:143 #, c-format msgid "Could not update the extent cache for HFS file with CNID %X." msgstr "" #: libparted/fs/hfs/file.c:180 #, c-format msgid "Trying to read HFS file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/file.c:190 libparted/fs/hfs/file.c:220 #, c-format msgid "Could not find sector %lli of HFS file with CNID %X." msgstr "" #: libparted/fs/hfs/file.c:210 #, c-format msgid "Trying to write HFS file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/file_plus.c:157 #, c-format msgid "Could not update the extent cache for HFS+ file with CNID %X." msgstr "" #: libparted/fs/hfs/file_plus.c:202 #, c-format msgid "Trying to read HFS+ file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/file_plus.c:213 libparted/fs/hfs/file_plus.c:256 #, c-format msgid "Could not find sector %lli of HFS+ file with CNID %X." msgstr "" #: libparted/fs/hfs/file_plus.c:245 #, c-format msgid "Trying to write HFS+ file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/hfs.c:232 msgid "Sorry, HFS cannot be resized that way yet." msgstr "" #: libparted/fs/hfs/hfs.c:262 libparted/fs/hfs/hfs.c:641 msgid "Data relocation has failed." msgstr "" #: libparted/fs/hfs/hfs.c:281 msgid "Data relocation left some data in the end of the volume." msgstr "" #: libparted/fs/hfs/hfs.c:320 #, fuzzy msgid "writing HFS Master Directory Block" msgstr "Feil ved skriving til toppkatalogen." #: libparted/fs/hfs/hfs.c:468 msgid "No valid HFS[+X] signature has been found while opening." msgstr "" #: libparted/fs/hfs/hfs.c:478 #, c-format msgid "Version %d of HFS+ isn't supported." msgstr "" #: libparted/fs/hfs/hfs.c:489 #, c-format msgid "Version %d of HFSX isn't supported." msgstr "" #: libparted/fs/hfs/hfs.c:672 msgid "Data relocation left some data at the end of the volume." msgstr "" #: libparted/fs/hfs/hfs.c:720 #, fuzzy msgid "Error while writing the allocation file." msgstr "Feil ved skriving til toppkatalogen." #: libparted/fs/hfs/hfs.c:735 msgid "Error while writing the compatibility part of the allocation file." msgstr "" #: libparted/fs/hfs/hfs.c:750 msgid "writing HFS+ Volume Header" msgstr "" #: libparted/fs/hfs/hfs.c:850 msgid "An error occurred while looking for the mandatory bad blocks file." msgstr "" #: libparted/fs/hfs/hfs.c:904 msgid "" "It seems there is an error in the HFS wrapper: the bad blocks file doesn't " "contain the embedded HFS+ volume." msgstr "" #: libparted/fs/hfs/hfs.c:940 msgid "Sorry, HFS+ cannot be resized that way yet." msgstr "" #: libparted/fs/hfs/hfs.c:975 msgid "shrinking embedded HFS+ volume" msgstr "" #: libparted/fs/hfs/hfs.c:991 msgid "Resizing the HFS+ volume has failed." msgstr "" #: libparted/fs/hfs/hfs.c:998 #, fuzzy msgid "shrinking HFS wrapper" msgstr "krympar" #: libparted/fs/hfs/hfs.c:1007 msgid "Updating the HFS wrapper has failed." msgstr "" #: libparted/fs/hfs/hfs.c:1109 libparted/fs/hfs/hfs.c:1194 #, c-format msgid "" "This is not a real %s check. This is going to extract special low level " "files for debugging purposes." msgstr "" #: libparted/fs/hfs/journal.c:155 msgid "Bad block list header checksum." msgstr "" #: libparted/fs/hfs/journal.c:168 #, c-format msgid "" "Invalid size of a transaction block while replaying the journal (%i bytes)." msgstr "" #: libparted/fs/hfs/journal.c:260 msgid "" "Journal stored outside of the volume are not supported. Try to desactivate " "the journal and run Parted again." msgstr "" #: libparted/fs/hfs/journal.c:271 #, fuzzy msgid "Journal offset or size is not multiple of the sector size." msgstr "" "Allokeringseininga sitt startdelta er %d, og det er ikkje eit multiplum av " "storleiken %d." #: libparted/fs/hfs/journal.c:292 msgid "Incorrect magic values in the journal header." msgstr "" #: libparted/fs/hfs/journal.c:302 msgid "Journal size mismatch between journal info block and journal header." msgstr "" #: libparted/fs/hfs/journal.c:314 #, fuzzy msgid "Some header fields are not multiple of the sector size." msgstr "" "Allokeringseininga sitt startdelta er %d, og det er ikkje eit multiplum av " "storleiken %d." #: libparted/fs/hfs/journal.c:323 msgid "" "The sector size stored in the journal is not 512 bytes. Parted only " "supports 512 bytes length sectors." msgstr "" #: libparted/fs/hfs/journal.c:335 msgid "Bad journal checksum." msgstr "" #: libparted/fs/hfs/journal.c:353 msgid "" "The journal is not empty. Parted must replay the transactions before " "opening the file system. This will modify the file system." msgstr "" #: libparted/fs/hfs/journal.c:381 msgid "" "The volume header or the master directory block has changed while replaying " "the journal. You should restart Parted." msgstr "" #: libparted/fs/hfs/probe.c:51 #, c-format msgid "" "Parted can't use HFS file systems on disks with a sector size not equal to " "%d bytes." msgstr "" #: libparted/fs/hfs/reloc.c:151 libparted/fs/hfs/reloc_plus.c:155 msgid "An extent has not been relocated." msgstr "" #: libparted/fs/hfs/reloc.c:251 libparted/fs/hfs/reloc_plus.c:307 msgid "" "A reference to an extent comes from a place it should not. You should check " "the file system!" msgstr "" #: libparted/fs/hfs/reloc.c:381 msgid "This HFS volume has no catalog file. This is very unusual!" msgstr "" #: libparted/fs/hfs/reloc.c:475 msgid "This HFS volume has no extents overflow file. This is quite unusual!" msgstr "" #: libparted/fs/hfs/reloc.c:517 libparted/fs/hfs/reloc_plus.c:666 msgid "" "The extents overflow file should not contain its own extents! You should " "check the file system." msgstr "" #: libparted/fs/hfs/reloc.c:574 libparted/fs/hfs/reloc_plus.c:844 #, fuzzy msgid "Could not cache the file system in memory." msgstr "Kan ikkje kjenna igjen noko filsystem." #: libparted/fs/hfs/reloc.c:635 libparted/fs/hfs/reloc_plus.c:905 msgid "Bad blocks list could not be loaded." msgstr "" #: libparted/fs/hfs/reloc.c:649 libparted/fs/hfs/reloc_plus.c:921 msgid "An error occurred during extent relocation." msgstr "" #: libparted/fs/hfs/reloc_plus.c:494 msgid "This HFS+ volume has no catalog file. This is very unusual!" msgstr "" #: libparted/fs/hfs/reloc_plus.c:617 msgid "This HFS+ volume has no extents overflow file. This is quite unusual!" msgstr "" #: parted/parted.c:123 msgid "displays this help message" msgstr "vis denne hjelpeteksten" #: parted/parted.c:124 msgid "lists partition layout on all block devices" msgstr "" #: parted/parted.c:125 msgid "displays machine parseable output" msgstr "" #: parted/parted.c:126 msgid "never prompts for user intervention" msgstr "spør aldri brukaren" #: parted/parted.c:127 msgid "displays the version" msgstr "vis programversjon" #: parted/parted.c:128 #, fuzzy msgid "alignment for new partitions" msgstr "Kan ikkje laga fleire partisjonar." #: parted/parted.c:140 #, fuzzy msgid "" "NUMBER is the partition number used by Linux. On MS-DOS disk labels, the " "primary partitions number from 1 to 4, logical partitions from 5 onwards.\n" msgstr "" "NR er partisjonsnummeret brukt av Linux. På MS-DOS-disklabels, er " "primærpartisjonar nummerert 1-4, og logiske partisjonar går frå 5 og " "oppover.\n" #: parted/parted.c:143 msgid "LABEL-TYPE is one of: " msgstr "LABEL-TYPE er ein av: " #: parted/parted.c:144 msgid "FLAG is one of: " msgstr "FLAGG er eitt av: " #: parted/parted.c:145 #, fuzzy msgid "UNIT is one of: " msgstr "FLAGG er eitt av: " #: parted/parted.c:146 msgid "desired alignment: minimum or optimal" msgstr "" #: parted/parted.c:147 msgid "PART-TYPE is one of: primary, logical, extended\n" msgstr "PART-TYPE er ein av: primær, logisk, utviding\n" #: parted/parted.c:149 msgid "FS-TYPE is one of: " msgstr "FS-TYPE er ein av: " #: parted/parted.c:150 #, fuzzy msgid "" "START and END are disk locations, such as 4GB or 10%. Negative values count " "from the end of the disk. For example, -1s specifies exactly the last " "sector.\n" msgstr "" "START og SLUTT er i mebibytes. Negative verdiar tel frå slutten av disken.\n" #: parted/parted.c:153 msgid "STATE is one of: on, off\n" msgstr "STATUS er ein av: av, på\n" #: parted/parted.c:154 msgid "DEVICE is usually /dev/hda or /dev/sda\n" msgstr "EINING er vanlegvis /dev/hda eller /dev/sda\n" #: parted/parted.c:155 msgid "NAME is any word you want\n" msgstr "NAMN er eit valfritt ord\n" #: parted/parted.c:156 msgid "The partition must have one of the following FS-TYPEs: " msgstr "" #: parted/parted.c:160 #, fuzzy msgid "" "Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n" "This program is free software, covered by the GNU General Public License.\n" "\n" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" msgstr "" "(Fylgjande tekst er ei omsetjing som *kun* vert gjeve på informativ basis. " "For alle juridiske tolkingar gjeld den engelske originalteksten.)\n" "\n" "Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.\n" "Dette programmet er fri programvare, dekt av GNU General Public License.\n" "\n" "Dette programmet vert distribuert med von om at det vil vera nyttig, men " "utan NOKA FORM FOR garanti; ikkje eingong for at produktet er eigna for SAL " "eller BRUK TIL NOKO FORMÅL. Sjå GNU General Public License for detaljar.\n" "\n" #: parted/parted.c:208 #, c-format msgid "%0.f%%\t(time left %.2d:%.2d)" msgstr "%0.f%%\t(tid att %.2d:%.2d)" #: parted/parted.c:227 #, c-format msgid "" "Partition %s is being used. You must unmount it before you modify it with " "Parted." msgstr "" #: parted/parted.c:245 #, c-format msgid "Partition(s) on %s are being used." msgstr "Partisjon(ane) på %s er i bruk." #: parted/parted.c:257 msgid "" "The existing file system will be destroyed and all data on the partition " "will be lost. Do you want to continue?" msgstr "" #: parted/parted.c:269 #, c-format msgid "" "The existing disk label on %s will be destroyed and all data on this disk " "will be lost. Do you want to continue?" msgstr "" #: parted/parted.c:487 #, c-format msgid "" "WARNING: you are attempting to use %s to operate on (%s) a file system.\n" "%s's file system manipulation code is not as robust as what you'll find in\n" "dedicated, file-system-specific packages like e2fsprogs. We recommend\n" "you use %s only to manipulate partition tables, whenever possible.\n" "Support for performing most operations on most types of file systems\n" "will be removed in an upcoming release.\n" msgstr "" #: parted/parted.c:508 parted/parted.c:702 parted/parted.c:1179 #: parted/parted.c:1263 parted/parted.c:1935 parted/parted.c:2016 #: parted/parted.c:2088 parted/parted.c:2122 msgid "Partition number?" msgstr "Partisjonsnummer?" #: parted/parted.c:551 msgid "Source device?" msgstr "Kva eining skal vera kjelda?" #: parted/parted.c:555 msgid "Source partition number?" msgstr "Kva partisjonsnummer skal vera kjelda?" #: parted/parted.c:560 #, fuzzy msgid "Can't copy an extended partition." msgstr "Kan ikkje kopiera utvidingspartisjonar." #: parted/parted.c:566 msgid "Destination partition number?" msgstr "Kva partisjonsnummer er målet?" #: parted/parted.c:655 msgid "New disk label type?" msgstr "Ny disklabel-type?" #: parted/parted.c:706 parted/parted.c:788 parted/parted.c:1000 msgid "File system type?" msgstr "Filsystemtype?" #: parted/parted.c:762 parted/parted.c:983 msgid "Partition type?" msgstr "Partisjonstype?" #: parted/parted.c:780 parted/parted.c:990 parted/parted.c:1266 msgid "Partition name?" msgstr "Partisjonsnamn?" #: parted/parted.c:794 parted/parted.c:1002 parted/parted.c:1194 #: parted/parted.c:1883 parted/parted.c:1944 msgid "Start?" msgstr "Start?" #: parted/parted.c:796 parted/parted.c:1005 parted/parted.c:1197 #: parted/parted.c:1885 parted/parted.c:1946 msgid "End?" msgstr "Slutt?" #: parted/parted.c:862 parted/parted.c:1066 #, fuzzy, c-format msgid "" "You requested a partition from %s to %s.\n" "The closest location we can manage is %s to %s.%s" msgstr "" "Du bad om ein partisjon på %.3f-%.3f MiB. Det nærmaste Parted kan koma er " "%.3f-%.3f MiB." #: parted/parted.c:867 parted/parted.c:1071 msgid "" "\n" "Is this still acceptable to you?" msgstr "" #: parted/parted.c:889 parted/parted.c:1093 msgid "The resulting partition is not properly aligned for best performance." msgstr "" #: parted/parted.c:995 #, fuzzy msgid "An extended partition cannot hold a file system. Did you want mkpart?" msgstr "Utvidingspartisjonar kan ikkje ha filsystem. Meinte du mkpart?" #: parted/parted.c:1185 #, fuzzy msgid "Can't move an extended partition." msgstr "Kan ikkje flytta utvidingspartisjonar." #: parted/parted.c:1214 msgid "Can't move a partition onto itself. Try using resize, perhaps?" msgstr "" "Kan ikkje flytta ein partisjon til seg sjølv. Kanskje du vil prøva å endra " "storleik?" #: parted/parted.c:1360 #, c-format msgid "Minor: %d\n" msgstr "Nummer: %d\n" #: parted/parted.c:1361 #, fuzzy, c-format msgid "Flags: %s\n" msgstr "Flagg: " #: parted/parted.c:1362 #, c-format msgid "File System: %s\n" msgstr "Filsystem: %s\n" #: parted/parted.c:1363 #, fuzzy msgid "Size: " msgstr "Storleik: %10.3fMiB (%d%%)\n" #: parted/parted.c:1368 #, fuzzy msgid "Minimum size: " msgstr "Minste storleik: %10.3fMiB (%d%%)\n" #: parted/parted.c:1371 #, fuzzy msgid "Maximum size: " msgstr "Største storleik: %10.3fMiB (%d%%)\n" #: parted/parted.c:1504 #, c-format msgid "Model: %s (%s)\n" msgstr "" #: parted/parted.c:1506 #, fuzzy, c-format msgid "Disk %s: %s\n" msgstr "%s %s %s" #: parted/parted.c:1507 #, c-format msgid "Sector size (logical/physical): %lldB/%lldB\n" msgstr "" #: parted/parted.c:1525 #, c-format msgid "BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s.\n" msgstr "" #: parted/parted.c:1534 #, fuzzy, c-format msgid "Partition Table: %s\n" msgstr "Partisjonsnamn?" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Number" msgstr "" #: parted/parted.c:1549 parted/parted.c:1552 #, fuzzy msgid "Start" msgstr "Start?" #: parted/parted.c:1550 parted/parted.c:1553 #, fuzzy msgid "End" msgstr "Slutt?" #: parted/parted.c:1553 #, fuzzy msgid "Size" msgstr "resize" #: parted/parted.c:1557 msgid "Type" msgstr "" #: parted/parted.c:1559 #, fuzzy msgid "File system" msgstr "Filsystem?" #: parted/parted.c:1562 #, fuzzy msgid "Name" msgstr "name" #: parted/parted.c:1564 msgid "Flags" msgstr "Flagg" #: parted/parted.c:1621 msgid "Free Space" msgstr "" #: parted/parted.c:1782 #, fuzzy, c-format msgid "" "A %s %s partition was found at %s -> %s. Do you want to add it to the " "partition table?" msgstr "" "Ein %s %s-partisjon vart funnen på %.3f MiB -> %.3f MiB. Ønskjer du å " "leggja han til i partisjonstabellen?" #: parted/parted.c:1821 msgid "searching for file systems" msgstr "leitar etter filsystem" #: parted/parted.c:2041 msgid "New device?" msgstr "Ny eining?" #: parted/parted.c:2086 msgid "alignment type(min/opt)" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d aligned\n" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d not aligned\n" msgstr "" #: parted/parted.c:2124 #, fuzzy msgid "Flag to Invert?" msgstr "Flagg som skal endrast?" #: parted/parted.c:2129 msgid "New state?" msgstr "Ny status?" #: parted/parted.c:2166 msgid "Unit?" msgstr "" #: parted/parted.c:2348 #, fuzzy msgid "align-check" msgstr "check" #: parted/parted.c:2351 msgid "" "align-check TYPE N check partition N for TYPE(min|" "opt) alignment" msgstr "" #: parted/parted.c:2359 msgid "check" msgstr "check" #: parted/parted.c:2362 #, fuzzy msgid "" "check NUMBER do a simple check on the file system" msgstr "" "check NR ta ein enkel konsistenssjekk av filsystemet" #: parted/parted.c:2368 msgid "cp" msgstr "cp" #: parted/parted.c:2371 #, fuzzy msgid "" "cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another " "partition" msgstr "" "cp [FRÅ-EINING] FRÅ-NR TIL-NR kopier filsystem til ein annan partisjon" #: parted/parted.c:2377 msgid "help" msgstr "help" #: parted/parted.c:2380 #, fuzzy msgid "" "help [COMMAND] print general help, or help on " "COMMAND" msgstr "" "help [KOMMANDO] gjev generell hjelp, eller hjelp om KOMMANDO" #: parted/parted.c:2386 msgid "mklabel" msgstr "mklabel" #: parted/parted.c:2386 #, fuzzy msgid "mktable" msgstr "mklabel" #: parted/parted.c:2389 #, fuzzy msgid "" "mklabel,mktable LABEL-TYPE create a new disklabel (partition " "table)" msgstr "mklabel LABEL-TYPE lag ny disklabel (partisjonstabell)" #: parted/parted.c:2395 msgid "mkfs" msgstr "mkfs" #: parted/parted.c:2398 #, fuzzy msgid "" "mkfs NUMBER FS-TYPE make a FS-TYPE file system on " "partition NUMBER" msgstr "" "mkfs NR FS-TYPE lag eit filsystem av FS-TYPE på partisjon NR" #: parted/parted.c:2404 msgid "mkpart" msgstr "mkpart" #: parted/parted.c:2407 #, fuzzy msgid "mkpart PART-TYPE [FS-TYPE] START END make a partition" msgstr "mkpart PART-TYPE [FS-TYPE] START SLUTT lag ein partisjon" #: parted/parted.c:2413 #, fuzzy msgid "" "'mkpart' makes a partition without creating a new file system on the " "partition. FS-TYPE may be specified to set an appropriate partition ID.\n" msgstr "" "mkpart lagar ein partisjon utan å laga eit nytt filsystem der. Du kan " "spesifisera FS-TYPE for å setja ein passande partisjons-id.\n" #: parted/parted.c:2418 msgid "mkpartfs" msgstr "mkpartfs" #: parted/parted.c:2421 #, fuzzy msgid "" "mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system" msgstr "" "mkpartfs PART-TYPE FS-TYPE START SLUTT lag ein partition med eit filsystem" #: parted/parted.c:2427 msgid "move" msgstr "move" #: parted/parted.c:2430 #, fuzzy msgid "move NUMBER START END move partition NUMBER" msgstr "move NR START SLUTT flytt partisjonen NR" #: parted/parted.c:2435 msgid "name" msgstr "name" #: parted/parted.c:2438 #, fuzzy msgid "name NUMBER NAME name partition NUMBER as NAME" msgstr "name NR NAMN gje partisjonen NR namnet NAMN" #: parted/parted.c:2443 msgid "print" msgstr "print" #: parted/parted.c:2446 msgid "" "print [devices|free|list,all|NUMBER] display the partition table, " "available devices, free space, all found partitions, or a particular " "partition" msgstr "" #: parted/parted.c:2451 #, fuzzy msgid "" "Without arguments, 'print' displays the entire partition table. However with " "the following arguments it performs various other actions.\n" msgstr "" "Utan argument skriv print ut heile partisjonstabellen. Dersom eit\n" "partisjonsnummer er oppgjeve, vil meir detaljert informasjon om\n" "partisjonen verta vist.\n" #: parted/parted.c:2453 msgid " devices : display all active block devices\n" msgstr "" #: parted/parted.c:2454 msgid "" " free : display information about free unpartitioned space on the " "current block device\n" msgstr "" #: parted/parted.c:2456 msgid "" " list, all : display the partition tables of all active block devices\n" msgstr "" #: parted/parted.c:2457 msgid "" " NUMBER : display more detailed information about this particular " "partition\n" msgstr "" #: parted/parted.c:2462 msgid "quit" msgstr "quit" #: parted/parted.c:2465 #, fuzzy msgid "quit exit program" msgstr "quit avslutt programmet" #: parted/parted.c:2470 msgid "rescue" msgstr "rescue" #: parted/parted.c:2473 #, fuzzy msgid "" "rescue START END rescue a lost partition near START " "and END" msgstr "" "rescue START SLUTT redd tapte partisjonar nær START og SLUTT" #: parted/parted.c:2479 msgid "resize" msgstr "resize" #: parted/parted.c:2482 #, fuzzy msgid "" "resize NUMBER START END resize partition NUMBER and its " "file system" msgstr "" "rescue START SLUTT redd tapte partisjonar nær START og SLUTT" #: parted/parted.c:2490 msgid "rm" msgstr "rm" #: parted/parted.c:2493 #, fuzzy msgid "rm NUMBER delete partition NUMBER" msgstr "rm NR slett partisjonen NR" #: parted/parted.c:2498 msgid "select" msgstr "select" #: parted/parted.c:2501 #, fuzzy msgid "select DEVICE choose the device to edit" msgstr "select EINING vel eininga du vil gjera endringar på" #: parted/parted.c:2506 msgid "set" msgstr "set" #: parted/parted.c:2509 #, fuzzy msgid "" "set NUMBER FLAG STATE change the FLAG on partition NUMBER" msgstr "set NR FLAGG STATUS endra eit flagg på partisjonen NR" #: parted/parted.c:2515 msgid "toggle" msgstr "" #: parted/parted.c:2518 msgid "" "toggle [NUMBER [FLAG]] toggle the state of FLAG on " "partition NUMBER" msgstr "" #: parted/parted.c:2524 #, fuzzy msgid "unit" msgstr "quit" #: parted/parted.c:2527 #, fuzzy msgid "unit UNIT set the default unit to UNIT" msgstr "quit avslutt programmet" #: parted/parted.c:2532 msgid "version" msgstr "" #: parted/parted.c:2535 msgid "" "version display the version number and " "copyright information of GNU Parted" msgstr "" #: parted/parted.c:2539 msgid "" "'version' displays copyright and version information corresponding to this " "copy of GNU Parted\n" msgstr "" #: parted/parted.c:2607 #, c-format msgid "Usage: %s [-hlmsv] [-a] [DEVICE [COMMAND [PARAMETERS]]...]\n" msgstr "" #: parted/parted.c:2651 msgid "No device found" msgstr "Ingen diskar funne" #: parted/parted.c:2688 msgid "WARNING: You are not superuser. Watch out for permissions." msgstr "" #: parted/parted.c:2726 #, fuzzy msgid "You may need to update /etc/fstab.\n" msgstr "Gløym ikkje å oppdatera /etc/fstab, om naudsynt.\n" #: parted/ui.c:162 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n" msgstr "" #: parted/ui.c:165 #, fuzzy msgid "" "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n" "Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run " "in\n" "interactive mode.\n" msgstr "" "Bruk: parted [FLAGG]... [EINING [KOMMANDO [PARAMETER]...]...]\n" "Utfør KOMMANDO med PARAMETER på EINING. Dersom ingen KOMMANDO er gjeven,\n" "køyrer GNU Parted i interaktiv modus.\n" #: parted/ui.c:170 #, c-format msgid "" "\n" "\n" "You found a bug in GNU Parted! Here's what you have to do:\n" "\n" "Don't panic! The bug has most likely not affected any of your data.\n" "Help us to fix this bug by doing the following:\n" "\n" "Check whether the bug has already been fixed by checking\n" "the last version of GNU Parted that you can find at:\n" "\n" "\thttp://ftp.gnu.org/gnu/parted/\n" "\n" "Please check this version prior to bug reporting.\n" "\n" "If this has not been fixed yet or if you don't know how to check,\n" "please visit the GNU Parted website:\n" "\n" "\thttp://www.gnu.org/software/parted\n" "\n" "for further information.\n" "\n" "Your report should contain the version of this release (%s)\n" "along with the error message below, the output of\n" "\n" "\tparted DEVICE unit co print unit s print\n" "\n" "and the following history of commands you entered.\n" "Also include any additional information about your setup you\n" "consider important.\n" msgstr "" #: parted/ui.c:291 msgid "" "\n" "Command History:\n" msgstr "" #: parted/ui.c:354 msgid "" "\n" "Error: SEGV_MAPERR (Address not mapped to object)\n" msgstr "" #: parted/ui.c:360 msgid "" "\n" "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n" msgstr "" #: parted/ui.c:365 msgid "" "\n" "Error: A general SIGSEGV signal was encountered.\n" msgstr "" #: parted/ui.c:389 msgid "" "\n" "Error: FPE_INTDIV (Integer: divide by zero)" msgstr "" #: parted/ui.c:394 msgid "" "\n" "Error: FPE_INTOVF (Integer: overflow)" msgstr "" #: parted/ui.c:399 msgid "" "\n" "Error: FPE_FLTDIV (Float: divide by zero)" msgstr "" #: parted/ui.c:404 msgid "" "\n" "Error: FPE_FLTOVF (Float: overflow)" msgstr "" #: parted/ui.c:409 msgid "" "\n" "Error: FPE_FLTUND (Float: underflow)" msgstr "" #: parted/ui.c:414 msgid "" "\n" "Error: FPE_FLTRES (Float: inexact result)" msgstr "" #: parted/ui.c:419 msgid "" "\n" "Error: FPE_FLTINV (Float: invalid operation)" msgstr "" #: parted/ui.c:424 msgid "" "\n" "Error: FPE_FLTSUB (Float: subscript out of range)" msgstr "" #: parted/ui.c:429 msgid "" "\n" "Error: A general SIGFPE signal was encountered." msgstr "" #: parted/ui.c:453 msgid "" "\n" "Error: ILL_ILLOPC (Illegal Opcode)" msgstr "" #: parted/ui.c:458 msgid "" "\n" "Error: ILL_ILLOPN (Illegal Operand)" msgstr "" #: parted/ui.c:463 msgid "" "\n" "Error: ILL_ILLADR (Illegal addressing mode)" msgstr "" #: parted/ui.c:468 msgid "" "\n" "Error: ILL_ILLTRP (Illegal Trap)" msgstr "" #: parted/ui.c:473 msgid "" "\n" "Error: ILL_PRVOPC (Privileged Opcode)" msgstr "" #: parted/ui.c:478 msgid "" "\n" "Error: ILL_PRVREG (Privileged Register)" msgstr "" #: parted/ui.c:483 msgid "" "\n" "Error: ILL_COPROC (Coprocessor Error)" msgstr "" #: parted/ui.c:488 msgid "" "\n" "Error: ILL_BADSTK (Internal Stack Error)" msgstr "" #: parted/ui.c:493 msgid "" "\n" "Error: A general SIGILL signal was encountered." msgstr "" #: parted/ui.c:892 #, fuzzy, c-format msgid "invalid token: %s" msgstr "Kunne ikkje opna %s." #: parted/ui.c:1048 msgid "Expecting a partition number." msgstr "Forventa eit partisjonsnummer." #: parted/ui.c:1057 msgid "Partition doesn't exist." msgstr "Partisjonen finst ikkje." #: parted/ui.c:1077 msgid "Expecting a file system type." msgstr "Forventa ei filsystemtype." #: parted/ui.c:1084 #, c-format msgid "Unknown file system type \"%s\"." msgstr "Filsystemtypen «%s» er ukjend." #: parted/ui.c:1104 msgid "Expecting a disk label type." msgstr "Forventa ein disklabel-type." #: parted/ui.c:1202 msgid "Can't create any more partitions." msgstr "Kan ikkje laga fleire partisjonar." #: parted/ui.c:1212 msgid "Expecting a partition type." msgstr "Forventa ein partisjonstype." #: parted/ui.c:1360 msgid "on" msgstr "på" #: parted/ui.c:1361 msgid "off" msgstr "av" #: parted/ui.c:1378 msgid "optimal" msgstr "" #: parted/ui.c:1379 msgid "minimal" msgstr "" #: parted/ui.c:1512 msgid "OPTIONs:" msgstr "FLAGG:" #: parted/ui.c:1517 msgid "COMMANDs:" msgstr "KOMMANDOar:" #: parted/ui.c:1520 #, c-format msgid "" "\n" "Report bugs to %s\n" msgstr "" #: parted/ui.c:1527 #, c-format msgid "Using %s\n" msgstr "Brukar %s\n" #: parted/ui.c:1601 msgid "This command does not make sense in non-interactive mode.\n" msgstr "" #, fuzzy #~ msgid "Unable to determine the block size of this dasd" #~ msgstr "Klarte ikkje å finna storleiken til %s (%s)" #, fuzzy #~ msgid "" #~ "The kernel was unable to re-read the partition table on %s (%s). This " #~ "means Linux won't know anything about the modifications you made until " #~ "you reboot. You should reboot your computer before doing anything with " #~ "%s." #~ msgstr "" #~ "Kjerna klarte ikkje å lesa partisjonstabellen på %s på nytt (%s). Dette " #~ "tyder at Linux ikkje veit om endringane du har gjort. Du må ta omstart " #~ "på maskinen din før du gjer noko med %s." #~ msgid "" #~ "The sector size on %s is %d bytes. Parted is known not to work properly " #~ "with drives with sector sizes other than %d bytes" #~ msgstr "" #~ "Sektorane på %s er %d oktettar store. Parted fungerer berre skikkeleg på " #~ "diskar som har ein sektorstorleik på %d oktettar" #~ msgid "Device %s has dodgey geometry." #~ msgstr "Eininga %s har tvilsam geometri." #~ msgid "IDE" #~ msgstr "IDE" #~ msgid "SCSI" #~ msgstr "SCSI" #~ msgid "Device %s is neither a SCSI nor IDE drive." #~ msgstr "Eininga %s er korkje ein SCSI- eller IDE-disk." #~ msgid "Error reading %s (%s) to determine if partition is mounted." #~ msgstr "Feil ved lesing av %s (%s) for å avgjera om partisjonen er montert." #~ msgid "" #~ "Unable to determine if partitions are mounted via /proc/mounts or /etc/" #~ "mtab. Make sure you don't attempt to resize or modify mounted file " #~ "systems. (Even read-only mounted)" #~ msgstr "" #~ "Kunne ikkje finna liste over monterte partisjonar i /proc/mounts eller /" #~ "etc/mtab. Forsikra deg om at du ikkje prøver å endra på monterte " #~ "filsystem (sjølv om dei er montert med kun lesetilgang)" #~ msgid "" #~ "The partition table on %s is inconsistent. There are many reasons why " #~ "this might be the case. However, the most likely reason is that Linux " #~ "detected the BIOS geometry for %s incorrectly. GNU Parted suspects the " #~ "real geometry should be %d/%d/%d (not %d/%d/%d). You should check with " #~ "your BIOS first, as this may not be correct. You can inform Linux by " #~ "adding the parameter %s=%d,%d,%d to the command line. See the LILO or " #~ "GRUB documentation for more information. If you think Parted's suggested " #~ "geometry is correct, you may select Ignore to continue (and fix Linux " #~ "later). Otherwise, select Cancel (and fix Linux and/or the BIOS now)." #~ msgstr "" #~ "Partisjonstabellen på %s er inkonsistent. Det kan koma av mange ting, " #~ "men mest sannsynleg har Linux brukt feil BIOS-geometri for %s. GNU " #~ "Parted trur den verkelege geometrien er %d/%d/%d (ikkje %d/%d/%d). Sjekk " #~ "først i BIOS om det stemmer. Du kan læra Linux dette ved å leggja til " #~ "parameteren %s=%d,%d,%d på kjernekommandolinja. Sjå dokumentasjonen til " #~ "LILO eller GRUB for meir informasjon. Viss du trur geometrien Parted " #~ "foreslår er rett, kan du velja Ignorer for å halda fram (og fiksa Linux " #~ "seinare). Viss ikkje, vel Avbryt (og fiks Linux og/eller BIOS-en no)." #~ msgid "" #~ "The partition table on %s is inconsistent. There are many reasons why " #~ "this might be the case. Often, the reason is that Linux detected the " #~ "BIOS geometry incorrectly. However, this does not appear to be the case " #~ "here. It is safe to ignore,but ignoring may cause (fixable) problems " #~ "with some boot loaders, and may cause problems with FAT file systems. " #~ "Using LBA is recommended." #~ msgstr "" #~ "Partisjonstabellen på %s er inkonsistent. Det kan koma av mange ting, og " #~ "ofte er grunnen at Linux har brukt feil BIOS-geometri. I dette tilfellet " #~ "ser det ikkje slik ut. Det er trygt å oversjå denne feilen, men du kan " #~ "koma bort i problem med boot-lastaren (som kan rettast opp), og med FAT-" #~ "filsystem. Det er tilrådd å bruka LBA." #~ msgid "" #~ "Unable to align partition properly. This probably means that another " #~ "partitioning tool generated an incorrect partition table, because it " #~ "didn't have the correct BIOS geometry. It is safe to ignore,but ignoring " #~ "may cause (fixable) problems with some boot loaders." #~ msgstr "" #~ "Kunne ikkje plassera partisjonen på ei passande skiljelinje. Dette tyder " #~ "vanlegvis at eit anna partisjonsprogram har laga ein partisjonstabell med " #~ "feil BIOS-geometri. Det er trygt å oversjå denne feilen, men du kan kome " #~ "bort i problem med boot-lastaren (som kan rettast opp)." #~ msgid "Attempt to read sectors %ld-%ld outside of partition on %s" #~ msgstr "Prøvde å lesa sektorane %ld-%ld utanfor partisjonen på %s" #~ msgid "" #~ "This ext2 filesystem has a rather strange layout! Parted can't resize " #~ "this (yet)." #~ msgstr "" #~ "Dette ext2-filsystemet har eit ganske rart utlegg. Parted kan ikkje " #~ "endra storleiken på det (enno)." #~ msgid "Filesystem has incompatible feature enabled" #~ msgstr "Filsystemet brukar finessar GNU parted ikkje støttar" #~ msgid "File system has an invalid signature for a FAT file systems." #~ msgstr "Filsystemet har ein ugyldig signatur til å vera eit FAT-filsystem." #~ msgid "where necessary, prompts for user intervention" #~ msgstr "der naudsynt, spør brukaren" #~ msgid "" #~ "Partition %s is being used. Modifying it while it is in use could cause " #~ "severe corruption." #~ msgstr "" #~ "Partisjonen %s er i bruk. Endringar no kan føre til alvorleg datatap." #~ msgid "" #~ "You requested to move the partition to %.3f-%.3fMb. The closest Parted " #~ "can manage is %.3f-%.3fMb." #~ msgstr "" #~ "Du bad om å flytta partisjonen til %.3f-%.3f MiB. Det nærmaste Parted " #~ "kan klara er %.3f-%.3f MiB." #~ msgid "Disk geometry for %s: 0.000-%.3f megabytes\n" #~ msgstr "Diskgeometri for %s: 0.000-%.3f mebibytes\n" #~ msgid "Disk label type: %s\n" #~ msgstr "Disklabel-type: %s\n" #~ msgid "Minor Start End " #~ msgstr "Nr Start End " #~ msgid "Type " #~ msgstr "Type " #~ msgid "Filesystem " #~ msgstr "Filsystem " #~ msgid "Name " #~ msgstr "Namn " #~ msgid "" #~ "You requested to resize the partition to %.3f-%.3fMb. The closest Parted " #~ "can manage is %.3f-%.3fMb." #~ msgstr "" #~ "Du bad om å endra storleik på partisjonen til %.3f-%.3f MiB. Det " #~ "nærmaste Parted kan klara er %.3f-%.3f MiB." #~ msgid "" #~ "print [MINOR] display the partition table, or a partition" #~ msgstr "" #~ "print [NR] vis partisjonstabellen eller ein partisjon" #~ msgid "resize MINOR START END resize filesystem on partition MINOR" #~ msgstr "" #~ "resize NR START SLUTT endra storleik på filsystemet på " #~ "partisjonen NR" #~ msgid "" #~ "You found a bug in GNU Parted. Please email a bug report to bug-" #~ "parted@gnu.org containing the version (%s), and the following message:\n" #~ msgstr "" #~ "Du har funne ein programfeil i GNU Parted. Ver venleg å senda ei " #~ "feilmelding til bug-parted@gnu.org der du oppgjev versjonsnummeret (%s) " #~ "og fylgjande melding:\n" #~ msgid "" #~ " You have Windows FAT partition(s) that are not using LBA. If your BIOS " #~ "supports LBA, then you should switch to LBA by setting the LBA flag on " #~ "all FAT partitions. Otherwise, make sure the operating system and the " #~ "BIOS have the same geometry before resizing any FAT partitions." #~ msgstr "" #~ " Du har Windows FAT-partisjon(ar) som ikkje brukar LBA. Viss BIOS " #~ "støttar LBA, bør du bytta til LBA ved å setja LBA-flagget på alle FAT-" #~ "partisjonar. Viss ikkje, sjekk at operativsystemet og BIOS har same " #~ "formeining om diskgeomtetri før du endrar storleik på nokon av FAT-" #~ "partisjonane." #~ msgid "" #~ "The operating system thinks the geometry on %s is %d/%d/%d. Therefore, " #~ "cylinder 1024 ends at %.3fM.%s" #~ msgstr "" #~ "Operativsystemet trur geometrien på %s er %d/%d/%d, altså endar sylinder " #~ "1024 på %.3f MiB.%s" #~ msgid "The operating system thinks the geometry on %s is %d/%d/%d.%s" #~ msgstr "Operativsystemet meiner at geometrien til %s er %d/%d/%d.%s" parted-2.3/po/ru.po0000644000000000000000000042736411400005705011140 00000000000000# Translation of parted to Russian # Copyright (C) 1999, 2007, 2008 Free Software Foundation, Inc. # This file is distributed under the same license as the parted package. # Dmitry S. Sivachenko , 1999. # Dimitriy Ryazantcev , 2007, 2008. # msgid "" msgstr "" "Project-Id-Version: parted 1.8.8\n" "Report-Msgid-Bugs-To: bug-parted@gnu.org\n" "POT-Creation-Date: 2010-05-28 20:30+0200\n" "PO-Revision-Date: 2008-02-16 14:02+0200\n" "Last-Translator: Pavel Maryanov \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: lib/argmatch.c:133 #, fuzzy, c-format msgid "invalid argument %s for %s" msgstr "Ðе правильный ключ: %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "" #: lib/argmatch.c:153 #, fuzzy, c-format msgid "Valid arguments are:" msgstr "Ðе правильный ключ: %s" #: lib/closeout.c:112 libparted/labels/fdasd.c:107 msgid "write error" msgstr "ошибка запиÑи" #: lib/error.c:181 msgid "Unknown system error" msgstr "ÐеизвеÑÑ‚Ð½Ð°Ñ ÑиÑÑ‚ÐµÐ¼Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°" #: lib/getopt.c:527 lib/getopt.c:543 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous\n" msgstr "%s: неоднозначный параметр `%s'\n" #: lib/getopt.c:576 lib/getopt.c:580 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: параметр `--%s' не позволÑет аргументы\n" #: lib/getopt.c:589 lib/getopt.c:594 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: параметр `%c%s' не позволÑет аргументы\n" #: lib/getopt.c:637 lib/getopt.c:656 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: параметр `%s' требует аргументы\n" #: lib/getopt.c:694 lib/getopt.c:697 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: неопознанный параметр `--%s'\n" #: lib/getopt.c:705 lib/getopt.c:708 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: неопознанный параметр `%c%s'\n" #: lib/getopt.c:757 lib/getopt.c:760 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: неправильный параметр -- %c\n" #: lib/getopt.c:810 lib/getopt.c:827 lib/getopt.c:1035 lib/getopt.c:1053 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: параметр требует аргумент -- %c\n" #: lib/getopt.c:883 lib/getopt.c:899 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: пераметр `-W %s' неоднозначен\n" #: lib/getopt.c:923 lib/getopt.c:941 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: параметр `-W %s' не позволÑет аргумент\n" #: lib/getopt.c:962 lib/getopt.c:980 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: параметр `%s' требует аргументы\n" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". If the catalog has no translation, #. locale_quoting_style quotes `like this', and #. clocale_quoting_style quotes "like this". #. #. For example, an American English Unicode locale should #. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and #. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION #. MARK). A British English Unicode locale should instead #. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) #. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. #. #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. #: lib/quotearg.c:272 msgid "`" msgstr "«" #: lib/quotearg.c:273 msgid "'" msgstr "»" #: lib/regcomp.c:134 msgid "Success" msgstr "УÑпешно" #: lib/regcomp.c:137 msgid "No match" msgstr "Ðет ÑоответÑтвиÑ" #: lib/regcomp.c:140 msgid "Invalid regular expression" msgstr "Ðеправильное регулÑрное выражение" #: lib/regcomp.c:143 msgid "Invalid collation character" msgstr "Ðеправильный Ñимвол ÑопоÑтавлениÑ" #: lib/regcomp.c:146 msgid "Invalid character class name" msgstr "Ðеправильное название клаÑÑа Ñимвола" #: lib/regcomp.c:149 msgid "Trailing backslash" msgstr "Ð—Ð°Ð²ÐµÑ€ÑˆÐ°ÑŽÑ‰Ð°Ñ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð°Ñ ÐºÐ¾ÑÐ°Ñ Ñ‡ÐµÑ€Ñ‚Ð°" #: lib/regcomp.c:152 msgid "Invalid back reference" msgstr "ÐÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð°Ñ ÑÑылка" #: lib/regcomp.c:155 msgid "Unmatched [ or [^" msgstr "Ðет ÑоответÑÑ‚Ð²Ð¸Ñ [ или [^" #: lib/regcomp.c:158 msgid "Unmatched ( or \\(" msgstr "Ðет ÑоответÑÑ‚Ð²Ð¸Ñ ( или \\(" #: lib/regcomp.c:161 msgid "Unmatched \\{" msgstr "Ðет ÑоответÑÑ‚Ð²Ð¸Ñ \\{" #: lib/regcomp.c:164 msgid "Invalid content of \\{\\}" msgstr "Ðеправильное Ñодержимое \\{\\}" #: lib/regcomp.c:167 msgid "Invalid range end" msgstr "Ðеправильный конец облаÑти" #: lib/regcomp.c:170 msgid "Memory exhausted" msgstr "ЗакончилаÑÑŒ памÑть" #: lib/regcomp.c:173 msgid "Invalid preceding regular expression" msgstr "Ðеправильное предыдущее регулÑрное выражение" #: lib/regcomp.c:176 msgid "Premature end of regular expression" msgstr "Ðеожиданный конец регулÑрного выражениÑ" #: lib/regcomp.c:179 msgid "Regular expression too big" msgstr "Слишком большое регулÑрное выражение" #: lib/regcomp.c:182 msgid "Unmatched ) or \\)" msgstr "Ðет ÑоответÑÑ‚Ð²Ð¸Ñ ) или \\)" #: lib/regcomp.c:703 msgid "No previous regular expression" msgstr "Ðет предыдущего регулÑрного выражениÑ" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[yYдД]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nNнÐ]" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "©" #: lib/version-etc.c:86 #, fuzzy msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "Ð›Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ GPLv3+: GNU GPL верÑÐ¸Ñ 3 или позже \n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "ÐапиÑано %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "ÐапиÑано %s и %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "ÐапиÑано %s, %s и %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "ÐапиÑано %s, %s, %s\n" "и %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "ÐапиÑано %s, %s, %s,\n" "%s и %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "ÐапиÑано %s, %s, %s,\n" "%s, %s и %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "ÐапиÑано %s, %s, %s,\n" "%s, %s, %s и %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "ÐапиÑано %s, %s, %s,\n" "%s, %s, %s, %s\n" "и %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "ÐапиÑано %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s и %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "ÐапиÑано %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s и другими.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, fuzzy, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Сообщайте об ошибках на <%s>.\n" #: lib/version-etc.c:247 #, fuzzy, c-format msgid "Report %s bugs to: %s\n" msgstr "" "\n" "Сообщайте об ошибках на <%s>.\n" #: lib/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "" #: lib/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "" #: lib/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" #: lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "закончилаÑÑŒ памÑть" #: lib/xstrtol-error.c:63 #, fuzzy, c-format msgid "invalid %s%s argument `%s'" msgstr "Ðе правильный ключ: %s" #: lib/xstrtol-error.c:68 #, fuzzy, c-format msgid "invalid suffix in %s%s argument `%s'" msgstr "Ðе правильный ключ: %s" #: lib/xstrtol-error.c:72 #, fuzzy, c-format msgid "%s%s argument `%s' too large" msgstr "Ðе правильный ключ: %s" #: libparted/arch/beos.c:245 msgid "Disk Image" msgstr "Образ диÑка" #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277 #: libparted/arch/linux.c:1519 #, c-format msgid "Error opening %s: %s" msgstr "Ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ %s: %s" #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287 #: libparted/arch/linux.c:1530 #, c-format msgid "Unable to open %s read-write (%s). %s has been opened read-only." msgstr "" "Ðе удалоÑÑŒ открыть %s на чтение-запиÑÑŒ (%s). %s открыт только Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ." #: libparted/arch/beos.c:419 libparted/arch/linux.c:1688 #, c-format msgid "%s during seek for read on %s" msgstr "%s во Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¾Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð½Ð° %s" #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564 #: libparted/arch/gnu.c:692 libparted/arch/linux.c:1648 #: libparted/arch/linux.c:1729 #, c-format msgid "%s during read on %s" msgstr "%s во Ð²Ñ€ÐµÐ¼Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð½Ð° %s" #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525 #: libparted/arch/linux.c:1805 #, c-format msgid "Can't write to %s, because it is opened read-only." msgstr "ÐÐµÐ»ÑŒÐ·Ñ Ð·Ð°Ð¿Ð¸Ñать на %s, так как он открыт только Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ." #: libparted/arch/beos.c:504 libparted/arch/linux.c:1830 #, c-format msgid "%s during seek for write on %s" msgstr "%s во Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¾Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи на %s" #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646 #: libparted/arch/gnu.c:723 libparted/arch/linux.c:1778 #: libparted/arch/linux.c:1872 libparted/arch/linux.c:1944 #, c-format msgid "%s during write on %s" msgstr "%s во Ð²Ñ€ÐµÐ¼Ñ Ð·Ð°Ð¿Ð¸Ñи на %s" #: debug/clearfat/clearfat.c:62 partprobe/partprobe.c:137 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Попробуйте `%s --help' Ð´Ð»Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¹ информации.\n" #: debug/clearfat/clearfat.c:66 #, c-format msgid "" "Usage: %s [OPTION]\n" " or: %s DEVICE MINOR\n" msgstr "" "ИÑпользование: %s [ПÐРÐМЕТР]\n" " или: %s ÐОМЕР УСТРОЙСТВÐ\n" #: debug/clearfat/clearfat.c:69 msgid "" "Clear unused space on a FAT partition (a GNU Parted testing tool).\n" "\n" msgstr "" "ОчиÑтить неиÑпользуемое проÑтранÑтво на разделе FAT\n" "(программа теÑÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ GNU Parted).\n" "\n" #: debug/clearfat/clearfat.c:73 msgid " --help display this help and exit\n" msgstr " --help отобразить Ñту Ñправку и выйти\n" #: debug/clearfat/clearfat.c:74 msgid " --version output version information and exit\n" msgstr " --version вывеÑти информацию о верÑии и выйти\n" #: debug/clearfat/clearfat.c:76 partprobe/partprobe.c:154 #, c-format msgid "" "\n" "Report bugs to <%s>.\n" msgstr "" "\n" "Сообщайте об ошибках на <%s>.\n" #: debug/clearfat/clearfat.c:284 #, c-format msgid "too few arguments" msgstr "Ñлишком мало аргументов" #: debug/clearfat/clearfat.c:289 #, c-format msgid "too many arguments" msgstr "Ñлишком много аргументов" #: debug/clearfat/clearfat.c:297 #, fuzzy, c-format msgid "invalid minor device number: %s" msgstr "Ðе правильный ключ: %s" #: partprobe/partprobe.c:141 #, c-format msgid "Usage: %s [OPTION] [DEVICE]...\n" msgstr "ИÑпользование: %s [ПÐРÐМЕТР] [УСТРОЙСТВО]...\n" #: partprobe/partprobe.c:142 msgid "" "Inform the operating system about partition table changes.\n" "\n" " -d, --dry-run do not actually inform the operating system\n" " -s, --summary print a summary of contents\n" " -h, --help display this help and exit\n" " -v, --version output version information and exit\n" msgstr "" "Информировать операционную ÑиÑтему о изменении таблицы разделов.\n" "\n" " -d, --dry-run не информировать операционную ÑиÑтему\n" " -s, --summary напечатать Ñводку Ñодержимого\n" " -h, --help отобразить Ñправку и выйти\n" " -v, --version вывеÑти информацию о верÑии и выйти\n" #: partprobe/partprobe.c:150 msgid "" "\n" "When no DEVICE is given, probe all partitions.\n" msgstr "" "\n" "Когда УСТРОЙСТВО вы указано, проверÑть вÑе разделы.\n" #: libparted/arch/gnu.c:110 #, c-format msgid "Unable to open %s." msgstr "Ðе удалоÑÑŒ открыть %s." #: libparted/arch/gnu.c:130 msgid "Unable to probe store." msgstr "Ðе удалоÑÑŒ проверить хранение." #: libparted/arch/gnu.c:368 msgid "" "The partition table cannot be re-read. This means you need to reboot before " "mounting any modified partitions. You also need to reinstall your boot " "loader before you reboot (which may require mounting modified partitions). " "It is impossible do both things! So you'll need to boot off a rescue disk, " "and reinstall your boot loader from the rescue disk. Read section 4 of the " "Parted User documentation for more information." msgstr "" "Таблица разделов не может быть перечитана. Это означает, что вам нужно " "перезагрузить компьютер перед монтированием лобого из изменённых разделов. " "Также вам нужно переуÑтановить загрузчик перед перезагрузкой (на что может " "потребоватьÑÑ Ð¼Ð¾Ð½Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ðµ изменённых разделов). Обе Ñти вещи невозможно " "Ñделать одновременно! ПоÑтому требуетÑÑ Ð·Ð°Ð³Ñ€ÑƒÐ·Ð¸Ñ‚ÑŒÑÑ Ñ Ð´Ð¸Ñка воÑÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸ " "переуÑтановить загрузчик Ñ ÐµÐ³Ð¾ помощью. Прочтите раздел 4 РуководÑтва " "Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Parted Ð´Ð»Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¹ информации." #: libparted/arch/gnu.c:385 #, c-format msgid "" "The partition table on %s cannot be re-read (%s). This means the Hurd knows " "nothing about any modifications you made. You should reboot your computer " "before doing anything with %s." msgstr "" "Таблица разделов на %s не может быть перечитана (%s). Это означает, что " "Ñделанные вами Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½ÐµÐ´Ð¾Ñтупны Ð´Ð»Ñ Ñдра. Ð’Ñ‹ должны перезагрузить ваш " "компьютер до того, как что-либо делать Ñ %s." #: libparted/arch/gnu.c:396 parted/parted.c:2719 msgid "" "You should reinstall your boot loader before rebooting. Read section 4 of " "the Parted User documentation for more information." msgstr "" "Ðужно переуÑтановить загрузчик перед перезагрузкой. Прочтите раздел 4 " "РуководÑтва Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Parted Ð´Ð»Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¹ информации." #: libparted/arch/gnu.c:788 #, c-format msgid "%s trying to sync %s to disk" msgstr "%s пытаетÑÑ Ð·Ð°Ð¿Ð¸Ñать %s на диÑк" #: libparted/arch/linux.c:509 #, c-format msgid "Could not stat device %s - %s." msgstr "Ðе удаётÑÑ Ð¿Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚ÑŒ ÑÑ‚Ð°Ñ‚ÑƒÑ ÑƒÑтройÑтва %s - %s." #: libparted/arch/linux.c:566 #, fuzzy, c-format msgid "Unable to determine the dm type of %s." msgstr "Ðе удаётÑÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ð¸Ñ‚ÑŒ размер %s (%s)." #: libparted/arch/linux.c:658 #, fuzzy, c-format msgid "" "Could not determine sector size for %s: %s.\n" "Using the default sector size (%lld)." msgstr "" "Ðе удалоÑÑŒ определить размер Ñектора Ð´Ð»Ñ %s: %s.\n" "ИÑпользую Ñтандартный размер Ñектора (%lld)." #: libparted/arch/linux.c:679 #, fuzzy, c-format msgid "" "Could not determine physical sector size for %s.\n" "Using the logical sector size (%lld)." msgstr "" "Ðе удалоÑÑŒ определить размер Ñектора Ð´Ð»Ñ %s: %s.\n" "ИÑпользую Ñтандартный размер Ñектора (%lld)." #: libparted/arch/linux.c:728 #, c-format msgid "Unable to determine the size of %s (%s)." msgstr "Ðе удаётÑÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ð¸Ñ‚ÑŒ размер %s (%s)." #: libparted/arch/linux.c:814 #, c-format msgid "Could not get identity of device %s - %s" msgstr "Ðе удаётÑÑ Ð¿Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚ÑŒ идентификатор уÑтройÑтва %s - %s" #: libparted/arch/linux.c:823 msgid "Generic IDE" msgstr "Обычный IDE" #: libparted/arch/linux.c:844 #, c-format msgid "" "Device %s has multiple (%d) logical sectors per physical sector.\n" "GNU Parted supports this EXPERIMENTALLY for some special disk label/file " "system combinations, e.g. GPT and ext2/3.\n" "Please consult the web site for up-to-date information." msgstr "" "УÑтройÑтво %s Ñодержит неÑколько (%d) логичеÑких Ñекторов на один " "физичеÑкий.\n" "GNU Parted поддерживает Ñто ЭКСПЕРИМЕÐТÐЛЬÐО Ð´Ð»Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… Ñпециальных " "комбинаций меток/файловых ÑиÑтем, например GPT и ext2/3.\n" "За дополнительной информацией обращайтеÑÑŒ на Ñайт программы." #: libparted/arch/linux.c:1019 #, c-format msgid "Error initialising SCSI device %s - %s" msgstr "Ошибка инициализации SCSI-уÑтройÑтва %s - %s" #: libparted/arch/linux.c:1083 #, c-format msgid "" "The device %s has zero length, and can't possibly store a file system or " "partition table. Perhaps you selected the wrong device?" msgstr "" "УÑтройÑтво %s имеет нулевую длину и не может Ñодержать файловую ÑиÑтему или " "таблицу разделов. Возможно вы выбрали неправильное уÑтройÑтво?" #: libparted/arch/linux.c:1190 #, c-format msgid "" "Unable to determine geometry of file/device %s. You should not use Parted " "unless you REALLY know what you're doing!" msgstr "" "Ðе удаётÑÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ð¸Ñ‚ÑŒ геометрию файла/уÑтройÑтва %s. Ð’Ñ‹ не должны " "иÑпользовать Parted, еÑли вы не знаете ÐÐВЕРÐЯКÐ, что делаете!" #: libparted/arch/linux.c:1250 msgid "Generic SD/MMC Storage Card" msgstr "" #: libparted/arch/linux.c:1303 msgid "DAC960 RAID controller" msgstr "DAC960 RAID контроллер" #: libparted/arch/linux.c:1308 msgid "Promise SX8 SATA Device" msgstr "SATA уÑтройÑтво Promise SX8" #: libparted/arch/linux.c:1313 msgid "ATA over Ethernet Device" msgstr "" #: libparted/arch/linux.c:1319 msgid "IBM S390 DASD drive" msgstr "IBM S390 DASD привод" #: libparted/arch/linux.c:1325 msgid "IBM iSeries Virtual DASD" msgstr "IBM iSeries Virtual DASD" #: libparted/arch/linux.c:1330 msgid "Compaq Smart Array" msgstr "Compaq Smart Array" #: libparted/arch/linux.c:1335 msgid "ATARAID Controller" msgstr "ATARAID Контроллер" #: libparted/arch/linux.c:1340 msgid "I2O Controller" msgstr "I2O Контроллер" #: libparted/arch/linux.c:1345 msgid "User-Mode Linux UBD" msgstr "User-Mode Linux UBD" #: libparted/arch/linux.c:1358 #, fuzzy, c-format msgid "Linux device-mapper (%s)" msgstr "Linux device-mapper" #: libparted/arch/linux.c:1369 msgid "Xen Virtual Block Device" msgstr "Виртуальное блочное уÑтройÑтво Xen" #: libparted/arch/linux.c:1374 msgid "Unknown" msgstr "ÐеизвеÑтный" #: libparted/arch/linux.c:1383 #, fuzzy msgid "Virtio Block Device" msgstr "Виртуальное блочное уÑтройÑтво Xen" #: libparted/arch/linux.c:1388 msgid "Linux Software RAID Array" msgstr "" #: libparted/arch/linux.c:1395 msgid "ped_device_new() Unsupported device type" msgstr "ped_device_new() Ðе поддерживаемый тип уÑтройÑтва" #: libparted/arch/linux.c:1492 libparted/arch/linux.c:1564 #, fuzzy, c-format msgid "Error fsyncing/closing %s: %s" msgstr "Ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ %s: %s" #: libparted/arch/linux.c:1728 #, c-format msgid "end of file while reading %s" msgstr "" #: libparted/arch/linux.c:2365 #, c-format msgid "" "Error informing the kernel about modifications to partition %s -- %s. This " "means Linux won't know about any changes you made to %s until you reboot -- " "so you shouldn't mount it or use it in any way before rebooting." msgstr "" "Ðе удалоÑÑŒ Ñообщить Ñдру об изменениÑÑ… раздела %s -- %s. Это означает, что " "Linux не узнает об изменениÑÑ… %s до перезагрузки -- поÑтому не пытайтеÑÑŒ " "примонтировать или как либо иÑпользовать его до перезагрузки." #: libparted/arch/linux.c:2503 #, fuzzy, c-format msgid "Unable to determine the size and length of %s." msgstr "Ðе удаётÑÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ð¸Ñ‚ÑŒ размер %s (%s)." #: libparted/arch/linux.c:2528 #, fuzzy, c-format msgid "Failed to add partition %d (%s)" msgstr "%s : Ðе удалоÑÑŒ прочеÑть блок раздела %llu\n" #: libparted/arch/linux.c:2555 #, c-format msgid "" "Partition(s) %s on %s have been written, but we have been unable to inform " "the kernel of the change, probably because it/they are in use. As a result, " "the old partition(s) will remain in use. You should reboot now before " "making further changes." msgstr "" #: libparted/arch/linux.c:2681 #, c-format msgid "" "parted was unable to re-read the partition table on %s (%s). This means " "Linux won't know anything about the modifications you made. " msgstr "" "parted не Ñмог Ñчитать таблицу разделов на %s (%s). Это значит, что " "Ñделанные вами Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð±ÑƒÐ´ÑƒÑ‚ недоÑтупны Ð´Ð»Ñ Linux. " #: libparted/cs/geom.c:162 #, fuzzy, c-format msgid "Can't have the end before the start! (start sector=%jd length=%jd)" msgstr "Ðевозможно перемеÑтить конец раздела за начало!" #: libparted/cs/geom.c:170 msgid "Can't have a partition outside the disk!" msgstr "Ðевозможно Ñоздать раздел за пределами уÑтройÑтва!" #: libparted/cs/geom.c:385 #, c-format msgid "Attempt to write sectors %ld-%ld outside of partition on %s." msgstr "Попытка запиÑи Ñекторов %ld-%ld за пределы раздела на %s." #: libparted/cs/geom.c:425 libparted/fs/linux_swap/linux_swap.c:488 msgid "checking for bad blocks" msgstr "проверка на плохие блоки" #: libparted/debug.c:97 #, c-format msgid "Backtrace has %d calls on stack:\n" msgstr "Backtrace имеет %d вызовов из Ñтека:\n" #: libparted/debug.c:110 #, c-format msgid "Assertion (%s) at %s:%d in function %s() failed." msgstr "Проверка уÑÐ»Ð¾Ð²Ð¸Ñ (%s) на %s:%d в функции %s() не удалаÑÑŒ." #: libparted/disk.c:193 #, c-format msgid "%s: unrecognised disk label" msgstr "%s: метка диÑка не определена" #: libparted/disk.c:486 #, c-format msgid "" "This libparted doesn't have write support for %s. Perhaps it was compiled " "read-only." msgstr "" "Эта библиотеке libparted не Ñодержит поддержки запиÑи Ð´Ð»Ñ %s. Ðаверное " "Ñкомпилирована только Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ." #: libparted/disk.c:631 #, c-format msgid "Partition %d is %s, but the file system is %s." msgstr "Раздел %d Ñодержит %s, но Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема %s." #: libparted/disk.c:841 msgid "cylinder_alignment" msgstr "" #: libparted/disk.c:847 #, fuzzy, c-format msgid "Unknown disk flag, %d." msgstr "ÐеизвеÑтный флаг раздела, %d." #: libparted/disk.c:1286 #, c-format msgid "%s disk labels do not support extended partitions." msgstr "ПодпиÑи к диÑкам %s не поддерживают раÑширенные разделы." #: libparted/disk.c:1865 #, c-format msgid "%s disk labels don't support logical or extended partitions." msgstr "" "ПодпиÑи к диÑкам %s не поддерживают логичеÑкие или раÑширенные разделы." #: libparted/disk.c:1878 msgid "Too many primary partitions." msgstr "Слишком много оÑновных разделов." #: libparted/disk.c:1887 #, c-format msgid "" "Can't add a logical partition to %s, because there is no extended partition." msgstr "" "Ðевозможно добавить логичеÑкий раздел на %s, потому что нет раÑширенного " "раздела." #: libparted/disk.c:1911 #, c-format msgid "Can't have more than one extended partition on %s." msgstr "Ðевозможно Ñоздать больше одного раÑширенного раздела на %s." #: libparted/disk.c:1921 msgid "Can't have logical partitions outside of the extended partition." msgstr "Ðевозможно Ñоздать логичеÑкий раздел больше раÑширенного раздела." #: libparted/disk.c:1946 #, c-format msgid "Can't have a logical partition outside of the extended partition on %s." msgstr "" "Ðевозможно Ñоздать логичеÑкий раздел больше раÑширенного раздела на %s." #: libparted/disk.c:1956 libparted/disk.c:2015 libparted/disk.c:2193 msgid "Can't have overlapping partitions." msgstr "Ðевозможно Ñоздавать переÑекающиеÑÑ Ñ€Ð°Ð·Ð´ÐµÐ»Ñ‹." #: libparted/disk.c:1964 msgid "Can't have a primary partition inside an extended partition." msgstr "Ðевозможно Ñоздать оÑновной раздел внутри раÑширенного." #: libparted/disk.c:2395 msgid "metadata" msgstr "метаданные" #: libparted/disk.c:2397 msgid "free" msgstr "Ñвободно" #: libparted/disk.c:2399 parted/ui.c:1193 parted/ui.c:1221 msgid "extended" msgstr "раÑширенный" #: libparted/disk.c:2401 parted/ui.c:1197 parted/ui.c:1225 msgid "logical" msgstr "логичеÑкий" #: libparted/disk.c:2403 parted/ui.c:1189 parted/ui.c:1217 msgid "primary" msgstr "оÑновной" #: libparted/disk.c:2419 msgid "boot" msgstr "загрузочный" #: libparted/disk.c:2421 msgid "bios_grub" msgstr "" #: libparted/disk.c:2423 msgid "root" msgstr "корневой" #: libparted/disk.c:2425 msgid "swap" msgstr "подкачка" #: libparted/disk.c:2427 msgid "hidden" msgstr "Ñкрытый" #: libparted/disk.c:2429 msgid "raid" msgstr "raid" #: libparted/disk.c:2431 msgid "lvm" msgstr "lvm" #: libparted/disk.c:2433 msgid "lba" msgstr "lba" #: libparted/disk.c:2435 msgid "hp-service" msgstr "hp-service" #: libparted/disk.c:2437 msgid "palo" msgstr "palo" #: libparted/disk.c:2439 msgid "prep" msgstr "prep" #: libparted/disk.c:2441 msgid "msftres" msgstr "msftres" #: libparted/disk.c:2443 msgid "atvrecv" msgstr "" #: libparted/disk.c:2445 msgid "diag" msgstr "" #: libparted/disk.c:2451 #, c-format msgid "Unknown partition flag, %d." msgstr "ÐеизвеÑтный флаг раздела, %d." #: libparted/exception.c:77 msgid "Information" msgstr "ИнформациÑ" #: libparted/exception.c:78 msgid "Warning" msgstr "Предупреждение" #: libparted/exception.c:79 msgid "Error" msgstr "Ошибка" #: libparted/exception.c:80 msgid "Fatal" msgstr "Ð¤Ð°Ñ‚Ð°Ð»ÑŒÐ½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°" #: libparted/exception.c:81 msgid "Bug" msgstr "Ошибка" #: libparted/exception.c:82 msgid "No Implementation" msgstr "Ðет реализации" #: libparted/exception.c:86 msgid "Fix" msgstr "ИÑправить" #: libparted/exception.c:87 msgid "Yes" msgstr "Да" #: libparted/exception.c:88 msgid "No" msgstr "Ðет" #: libparted/exception.c:89 msgid "OK" msgstr "OK" #: libparted/exception.c:90 msgid "Retry" msgstr "Повторить" #: libparted/exception.c:91 msgid "Ignore" msgstr "Игнорировать" #: libparted/exception.c:92 msgid "Cancel" msgstr "Отменить" #: libparted/exception.c:132 #, fuzzy, c-format msgid "" "A bug has been detected in GNU Parted. Refer to the web site of parted " "http://www.gnu.org/software/parted/parted.html for more information of what " "could be useful for bug submitting! Please email a bug report to bug-" "parted@gnu.org containing at least the version (%s) and the following " "message: " msgstr "" "Ð’ GNU parted была обнаружена ошибка. ОбратитеÑÑŒ за информацией на Ñайт " "parted http://www.gnu.org/software/parted/parted.html за дополнительной " "информацией отноÑительно отправке отчёта об ошибке! ПожалуйÑта, пошлите по " "адреÑу bug-parted@gnu.org отчёт об ошибке, Ñодержащий хотÑ-бы верÑию (%s) и " "Ñледующее Ñообщение: " #: libparted/filesys.c:462 msgid "Could not detect file system." msgstr "Ðе удаётÑÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ð¸Ñ‚ÑŒ файловую ÑиÑтему." #: libparted/filesys.c:473 msgid "The file system is bigger than its volume!" msgstr "Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема больше её раздела!" #: libparted/filesys.c:481 #, c-format msgid "Support for opening %s file systems is not implemented yet." msgstr "Поддержка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ð¹ ÑиÑтемы %s пока не реализована." #: libparted/filesys.c:523 #, c-format msgid "Support for creating %s file systems is not implemented yet." msgstr "Поддержка ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ð¹ ÑиÑтемы %s пока не реализована." #: libparted/filesys.c:583 #, c-format msgid "Support for checking %s file systems is not implemented yet." msgstr "Поддержка проверки файловой ÑиÑтемы %s пока не реализована." #: libparted/filesys.c:649 msgid "raw block copying" msgstr "копирование блоков" #: libparted/filesys.c:660 msgid "growing file system" msgstr "наращивание файловой ÑиÑтемы" #: libparted/filesys.c:700 msgid "Can't copy onto an overlapping partition." msgstr "Ðевозможно Ñкопировать на перекрывающий раздел." #: libparted/filesys.c:722 #, c-format msgid "" "Direct support for copying file systems is not yet implemented for %s. " "However, support for resizing is implemented. Therefore, the file system " "can be copied if the new partition is at least as big as the old one. So, " "either shrink the partition you are trying to copy, or copy to a bigger " "partition." msgstr "" "ПрÑÐ¼Ð°Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ° ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ñ‹Ñ… ÑиÑтем ещё не реализована Ð´Ð»Ñ %s. Ðо " "поддержка Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° реализована. ПоÑтому, Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема может " "быть Ñкопирована, еÑли новый раздел такой-же большой как и Ñтарый. ПоÑтому " "уменьшите раздел, который вы пытаетеÑÑŒ Ñкопировать или Ñкопируйте на больший " "раздел." #: libparted/filesys.c:736 #, c-format msgid "Support for copying %s file systems is not implemented yet." msgstr "Поддержка ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ð¹ ÑиÑтемы %s пока не реализована." #: libparted/filesys.c:774 #, c-format msgid "Support for resizing %s file systems is not implemented yet." msgstr "Поддержка Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° файловой ÑиÑтемы %s пока не реализована." #: libparted/fs/reiserfs/reiserfs.c:315 msgid "creating" msgstr "Ñоздание" #: libparted/fs/reiserfs/reiserfs.c:402 msgid "The file system is in an invalid state. Perhaps it is mounted?" msgstr "Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема в неправильном ÑоÑтоÑнии. Возможно примонтирована?" #: libparted/fs/reiserfs/reiserfs.c:410 msgid "The file system is in old (unresizeable) format." msgstr "Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема в Ñтаром (не позволÑющем изменение размера) формате." #: libparted/fs/reiserfs/reiserfs.c:416 msgid "Invalid free blocks count. Run reiserfsck --check first." msgstr "" "Ðеправильное количеÑтво Ñвободных блоков. ЗапуÑтите Ñначала reiserfsck --" "check." #: libparted/fs/reiserfs/reiserfs.c:431 msgid "checking" msgstr "проверка" #: libparted/fs/reiserfs/reiserfs.c:437 msgid "Reiserfs tree seems to be corrupted. Run reiserfsck --check first." msgstr "" "Дерево reiserfs похоже повреждено. ЗапуÑтите Ñначала reiserfsck --check." #: libparted/fs/reiserfs/reiserfs.c:449 msgid "" "The reiserfs file system passed a basic check. For a more comprehensive " "check, run reiserfsck --check." msgstr "" "Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема прошла базовую проверку. Ð”Ð»Ñ Ð±Ð¾Ð»ÐµÐµ полной проверки, " "иÑпользуйте программу reiserfsck --check." #: libparted/fs/reiserfs/reiserfs.c:474 msgid "Sorry, can't move the start of reiserfs partitions yet." msgstr "К Ñожалению, перемещение начала разделов reiserfs пока невозможно." #: libparted/fs/reiserfs/reiserfs.c:490 msgid "Couldn't reopen device abstraction layer for read/write." msgstr "Ðе удалоÑÑŒ переоткрыть уровень абÑтракции уÑтройÑтв Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ/запиÑи." #: libparted/fs/reiserfs/reiserfs.c:508 libparted/fs/ext2/ext2_resize.c:552 #: libparted/fs/hfs/hfs.c:250 libparted/fs/hfs/hfs.c:629 msgid "shrinking" msgstr "Ñужение" #: libparted/fs/reiserfs/reiserfs.c:520 msgid "expanding" msgstr "раÑширение" #: libparted/fs/reiserfs/reiserfs.c:592 msgid "Couldn't create reiserfs device abstraction handler." msgstr "Ðе удалоÑÑŒ Ñоздать инÑтруктор абÑтракции уÑтройÑтва reiserfs." #: libparted/fs/reiserfs/reiserfs.c:606 #, c-format msgid "Device is too small for %lu blocks." msgstr "УÑтройÑтво Ñлишком маленькое Ð´Ð»Ñ %lu блоков." #: libparted/fs/reiserfs/reiserfs.c:615 msgid "copying" msgstr "копирование" #: libparted/fs/reiserfs/reiserfs.c:682 #, c-format msgid "Couldn't resolve symbol %s. Error: %s." msgstr "Ðе удалоÑÑŒ получить Ñимвол %s. Ошибка: %s." #: libparted/fs/reiserfs/reiserfs.c:704 msgid "GNU Parted found an invalid libreiserfs library." msgstr "GNU Parted обнаружил неправильную библиотеку libreiserfs." #: libparted/fs/reiserfs/reiserfs.c:715 #, c-format msgid "" "GNU Parted has detected libreiserfs interface version mismatch. Found %d-" "%d, required %d. ReiserFS support will be disabled." msgstr "" "GNU Parted обнаружил неÑоответÑтвие верÑий интерфейÑа libreiserfs. " "Обнаружена %d-%d, требуетÑÑ %d. Поддержка ReiserFS будет отключена." #: libparted/labels/aix.c:103 msgid "Support for reading AIX disk labels is is not implemented yet." msgstr "Поддержка Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð¼ÐµÑ‚Ð¾Ðº диÑка AIX пока не реализована." #: libparted/labels/aix.c:114 msgid "Support for writing AIX disk labels is is not implemented yet." msgstr "Поддержка запиÑи меток диÑка AIX пока не реализована." #: libparted/labels/aix.c:127 msgid "" "Support for adding partitions to AIX disk labels is not implemented yet." msgstr "Поддержка Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð´ÐµÐ»Ð¾Ð² к меткам диÑка AIX пока не реализована." #: libparted/labels/aix.c:137 msgid "" "Support for duplicating partitions in AIX disk labels is not implemented yet." msgstr "" "Поддержка Ð´ÑƒÐ±Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ€Ð°Ð·Ð´ÐµÐ»Ð¾Ð² в метках диÑка AIX пока не реализована." #: libparted/labels/aix.c:155 msgid "" "Support for setting system type of partitions in AIX disk labels is not " "implemented yet." msgstr "" "Поддержка Ð·Ð°Ð´Ð°Ð½Ð¸Ñ Ñ‚Ð¸Ð¿Ð° ÑиÑтемы на метках диÑка AIX пока не реализована." #: libparted/labels/aix.c:165 msgid "Support for setting flags in AIX disk labels is not implemented yet." msgstr "Поддержка запиÑи флагов на метках диÑка AIX пока не реализована." #: libparted/labels/bsd.c:568 libparted/labels/dasd.c:783 #: libparted/labels/dos.c:2092 libparted/labels/dvh.c:788 #: libparted/labels/gpt.c:1750 libparted/labels/loop.c:245 #: libparted/labels/mac.c:1424 libparted/labels/pc98.c:749 #: libparted/labels/rdb.c:1051 libparted/labels/sun.c:821 msgid "Unable to satisfy all constraints on the partition." msgstr "Ðе удалоÑÑŒ удовлетворить вÑе Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ñ†ÐµÐ»Ð¾ÑтноÑти раздела." #: libparted/labels/bsd.c:593 msgid "Unable to allocate a bsd disklabel slot." msgstr "Ðе удалоÑÑŒ назначить Ñлот подпиÑи к диÑку bsd." #: libparted/labels/dasd.c:809 msgid "Unable to allocate a dasd disklabel slot" msgstr "Ðе удалоÑÑŒ назначить Ñлот подпиÑи к диÑку dasd" #: libparted/labels/dos.c:882 #, c-format msgid "Invalid partition table on %s -- wrong signature %x." msgstr "ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° разделов на %s -- Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ Ñигнатура %x." #: libparted/labels/dos.c:910 #, c-format msgid "Invalid partition table - recursive partition on %s." msgstr "ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° разделов - рекурÑивный раздел на %s." #: libparted/labels/dos.c:1420 msgid "Extended partitions cannot be hidden on msdos disk labels." msgstr "РаÑширенные разделы не могут быть Ñкрыты при msdos метках диÑка." #: libparted/labels/dos.c:2074 msgid "Parted can't resize partitions managed by Windows Dynamic Disk." msgstr "" "Parted не может изменÑть размер разделов управлÑемых Windows Dynamic Disk." #: libparted/labels/dvh.c:201 #, c-format msgid "%s has no extended partition (volume header partition)." msgstr "%s не Ñодержит раÑширенного раздела (заголовка раÑширенного раздела)." #: libparted/labels/dvh.c:327 msgid "Checksum is wrong, indicating the partition table is corrupt." msgstr "ÐÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð°Ñ Ñумма, значит таблица разделов иÑпорчена." #: libparted/labels/dvh.c:632 msgid "Only primary partitions can be root partitions." msgstr "Только оÑновные разделы могут быть root разделами." #: libparted/labels/dvh.c:646 msgid "Only primary partitions can be swap partitions." msgstr "Только оÑновные разделы могут быть swap разделами." #: libparted/labels/dvh.c:660 msgid "Only logical partitions can be a boot file." msgstr "Только логичеÑкие разделы могут быть загрузочными файлами." #: libparted/labels/dvh.c:737 #, fuzzy, c-format msgid "" "failed to set dvh partition name to %s:\n" "Only logical partitions (boot files) have a name." msgstr "Только логичеÑкие разделы (загрузочные файлы) могут иметь имÑ." #: libparted/labels/dvh.c:830 msgid "Too many primary partitions" msgstr "Слишком много оÑновных разделов" #: libparted/labels/fdasd.c:98 msgid "open error" msgstr "ошибка открытиÑ" #: libparted/labels/fdasd.c:101 msgid "seek error" msgstr "ошибка при поиÑке дорожки" #: libparted/labels/fdasd.c:104 msgid "read error" msgstr "ошибка чтениÑ" #: libparted/labels/fdasd.c:110 msgid "ioctl() error" msgstr "ошибка ioctl()" #: libparted/labels/fdasd.c:114 msgid "API version mismatch" msgstr "ÐеÑоответÑтвие верÑий API" #: libparted/labels/fdasd.c:118 msgid "Unsupported disk type" msgstr "Ðе поддерживаемый тип диÑка" #: libparted/labels/fdasd.c:122 msgid "Unsupported disk format" msgstr "Ðе поддерживаемый формат диÑка" #: libparted/labels/fdasd.c:126 msgid "Disk is in use" msgstr "ДиÑк иÑпользуетÑÑ" #: libparted/labels/fdasd.c:130 msgid "Syntax error in config file" msgstr "Ошибка ÑинтакÑиÑа конфигурационного файла" #: libparted/labels/fdasd.c:134 msgid "Volume label is corrupted" msgstr "Метка тома повреждена" #: libparted/labels/fdasd.c:138 msgid "A data set name is corrupted" msgstr "Ð˜Ð¼Ñ Ð½Ð°Ð±Ð¾Ñ€Ð° данных повреждено" #: libparted/labels/fdasd.c:142 msgid "Memory allocation failed" msgstr "Ошибка Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿Ð°Ð¼Ñти" #: libparted/labels/fdasd.c:146 msgid "Device verification failed" msgstr "Ошибка проверки уÑтройÑтва" #: libparted/labels/fdasd.c:147 msgid "The specified device is not a valid DASD device" msgstr "Указанное уÑтройÑтво не ÑвлÑетÑÑ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¼ DASD уÑтройÑтвом" #: libparted/labels/fdasd.c:150 libparted/labels/vtoc.c:179 msgid "Fatal error" msgstr "КритичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°" #: libparted/labels/fdasd.c:226 msgid "No room for volume label." msgstr "Ðет комнаты Ð´Ð»Ñ Ð¼ÐµÑ‚ÐºÐ¸ тома." #: libparted/labels/fdasd.c:234 msgid "No room for partition info." msgstr "Ðет комнаты Ð´Ð»Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ о разделе." #: libparted/labels/fdasd.c:704 msgid "Invalid VTOC." msgstr "Ðеправильный VTOC." #: libparted/labels/fdasd.c:764 msgid "Could not retrieve API version." msgstr "Ðе удалоÑÑŒ получить верÑию API." #: libparted/labels/fdasd.c:767 #, c-format msgid "" "The current API version '%d' doesn't match dasd driver API version '%d'!" msgstr "" "Ð¢ÐµÐºÑƒÑ‰Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ API '%d' не ÑоответÑтвует верÑии API dasd драйвера '%d'!" #: libparted/labels/fdasd.c:804 msgid "Could not retrieve disk geometry information." msgstr "Ðе удалоÑÑŒ получить информацию о геометрии диÑка." #: libparted/labels/fdasd.c:808 msgid "Could not retrieve blocksize information." msgstr "Ðе удалоÑÑŒ получить информацию о размере блока." #: libparted/labels/fdasd.c:813 msgid "Could not retrieve disk information." msgstr "Ðе удалоÑÑŒ получить информацию о диÑке." #: libparted/labels/fdasd.c:818 msgid "This is not an ECKD disk! This disk type is not supported!" msgstr "Это не ECKD диÑк! Этот тип диÑка не поддерживаетÑÑ!" #: libparted/labels/gpt.c:485 #, c-format msgid "" "%s contains GPT signatures, indicating that it has a GPT table. However, it " "does not have a valid fake msdos partition table, as it should. Perhaps it " "was corrupted -- possibly by a program that doesn't understand GPT partition " "tables. Or perhaps you deleted the GPT table, and are now using an msdos " "partition table. Is this a GPT partition table?" msgstr "" "%s Ñодержит Ñигнатуры GPT, означающие наличие GPT таблицы. Ðо он не " "Ñодержит нормальной фальшивой таблицы разделов msdos, как должен. Скорее " "вÑего он повреждён -- возможно программой, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð½Ðµ понимает таблицы " "разделов GPT. Или возможно вы удалили таблицу GPT и теперь иÑпользуете " "таблицу разделов msdos. Это таблица разделов GPT?" #: libparted/labels/gpt.c:680 #, c-format msgid "" "The format of the GPT partition table is version %x, which is newer than " "what Parted can recognise. Please tell us! bug-parted@gnu.org" msgstr "" "Формат таблицы разделов GPT верÑии %x, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð½Ð¾Ð²ÐµÐµ, чем Parted может " "раÑпознать. РаÑÑкажите нам об Ñтом! bug-parted@gnu.org" #: libparted/labels/gpt.c:727 #, c-format msgid "" "Not all of the space available to %s appears to be used, you can fix the GPT " "to use all of the space (an extra %llu blocks) or continue with the current " "setting? " msgstr "" "Похоже, что не вÑÑ‘ меÑто доÑтупное Ð´Ð»Ñ %s иÑпользуетÑÑ, вы можете иÑправить " "таблицу GPT Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²Ñего меÑта (дополнительно %llu блоков) или " "продолжить Ñ Ñ‚ÐµÐºÑƒÑ‰Ð¸Ð¼Ð¸ наÑтройками? " #: libparted/labels/gpt.c:936 msgid "" "The backup GPT table is not at the end of the disk, as it should be. This " "might mean that another operating system believes the disk is smaller. Fix, " "by moving the backup to the end (and removing the old backup)?" msgstr "" "Ð ÐµÐ·ÐµÑ€Ð²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ GPT не находитÑÑ Ð² конце диÑка, как должно быть. " "Это может означать, что Ð´Ñ€ÑƒÐ³Ð°Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð°Ñ ÑиÑтема верит, что диÑк меньше. " "ИÑправить Ñто, передвинув резервную копию в конец диÑка (и удалив Ñтарую)?" #: libparted/labels/gpt.c:960 msgid "" "Both the primary and backup GPT tables are corrupt. Try making a fresh " "table, and using Parted's rescue feature to recover partitions." msgstr "" "Обе - и главнаÑ, и Ñ€ÐµÐ·ÐµÑ€Ð²Ð½Ð°Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ GPT повреждены. Попробуйте Ñоздать " "новую и иÑпользовать функцию Parted воÑÑтановить Ð´Ð»Ñ Ð²Ð¾ÑÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð´ÐµÐ»Ð¾Ð²." #: libparted/labels/gpt.c:971 #, fuzzy msgid "" "The backup GPT table is corrupt, but the primary appears OK, so that will be " "used." msgstr "" "Ð“Ð»Ð°Ð²Ð½Ð°Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° GPT повреждена, но Ñ€ÐµÐ·ÐµÑ€Ð²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ Ð²Ñ€Ð¾Ð´Ðµ нормальнаÑ, поÑтому " "она и будет иÑпользоватьÑÑ." #: libparted/labels/gpt.c:983 msgid "" "The primary GPT table is corrupt, but the backup appears OK, so that will be " "used." msgstr "" "Ð“Ð»Ð°Ð²Ð½Ð°Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° GPT повреждена, но Ñ€ÐµÐ·ÐµÑ€Ð²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ Ð²Ñ€Ð¾Ð´Ðµ нормальнаÑ, поÑтому " "она и будет иÑпользоватьÑÑ." #: libparted/labels/gpt.c:1007 msgid "primary partition table array CRC mismatch" msgstr "" #: libparted/labels/mac.c:185 #, c-format msgid "Invalid signature %x for Mac disk labels." msgstr "ÐÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ Ñигнатура %x Ð´Ð»Ñ Ð¼ÐµÑ‚Ð¾Ðº диÑков Mac." #: libparted/labels/mac.c:232 msgid "Partition map has no partition map entry!" msgstr "Карта разделов не Ñодержит Ñлемента карты!" #: libparted/labels/mac.c:280 #, c-format msgid "%s is too small for a Mac disk label!" msgstr "%s Ñлишком меленький Ð´Ð»Ñ Ð¼ÐµÑ‚ÐºÐ¸ диÑка Mac!" #: libparted/labels/mac.c:509 #, c-format msgid "Partition %d has an invalid signature %x." msgstr "Раздел %d Ñодержит неправильную Ñигнатуру %x." #: libparted/labels/mac.c:527 #, c-format msgid "Partition %d has an invalid length of 0 bytes!" msgstr "Раздел %d имеет неправильную длину 0 байт!" #: libparted/labels/mac.c:558 msgid "The data region doesn't start at the start of the partition." msgstr "ОблаÑть данных не начинаетÑÑ Ð² начале раздела." #: libparted/labels/mac.c:575 msgid "The boot region doesn't start at the start of the partition." msgstr "ОблаÑть загрузки не начинаетÑÑ Ð² начале раздела." #: libparted/labels/mac.c:589 msgid "The partition's boot region doesn't occupy the entire partition." msgstr "ОблаÑть загрузки не покрывает веÑÑŒ раздел." #: libparted/labels/mac.c:600 msgid "The partition's data region doesn't occupy the entire partition." msgstr "ОблаÑть данных не покрывает веÑÑŒ раздел." #: libparted/labels/mac.c:653 #, c-format msgid "" "Weird block size on device descriptor: %d bytes is not divisible by 512." msgstr "Ðеправильный размер блока на уÑтройÑтве: %d байт не делитÑÑ Ð½Ð° 512." #: libparted/labels/mac.c:666 #, c-format msgid "" "The driver descriptor says the physical block size is %d bytes, but Linux " "says it is %d bytes." msgstr "" "Драйвер говорит,что размер физичеÑкого блока равен %d байт, но Linux " "говорит, что он %d байт." #: libparted/labels/mac.c:720 msgid "No valid partition map found." msgstr "Ðе найдено правильной карты разделов." #: libparted/labels/mac.c:782 #, c-format msgid "" "Conflicting partition map entry sizes! Entry 1 says it is %d, but entry %d " "says it is %d!" msgstr "" "Конфликт размеров Ñлементов карты разделов! Элемент 1 говорит %d, но %d " "говорит %d!" #: libparted/labels/mac.c:809 msgid "Weird! There are 2 partitions map entries!" msgstr "УжаÑ! СодержитÑÑ 2 Ñлемента таблицы разделов!" #: libparted/labels/mac.c:1355 msgid "" "Changing the name of a root or swap partition will prevent Linux from " "recognising it as such." msgstr "" "Изменив Ð¸Ð¼Ñ root или swap раздела заÑтавит Linux переÑтать понимать их." #: libparted/labels/mac.c:1459 msgid "Can't add another partition -- the partition map is too small!" msgstr "Ðе удалоÑÑŒ Ñоздать другой раздел -- Ñлишком Ð¼Ð°Ð»ÐµÐ½ÑŒÐºÐ°Ñ ÐºÐ°Ñ€Ñ‚Ð° разделов!" #: libparted/labels/pc98.c:331 #, c-format msgid "Invalid partition table on %s." msgstr "ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° разделов на %s." #: libparted/labels/pc98.c:384 libparted/labels/pc98.c:462 #, c-format msgid "" "Partition %d isn't aligned to cylinder boundaries. This is still " "unsupported." msgstr "Раздел %d не выровнен к краю цилиндра. Это вÑÑ‘ ещё не поддерживаетÑÑ." #: libparted/labels/pc98.c:781 msgid "Can't add another partition." msgstr "Ðевозможно добавить другой раздел." #: libparted/labels/pt-tools.c:125 #, c-format msgid "" "partition length of %jd sectors exceeds the %s-partition-table-imposed " "maximum of %jd" msgstr "" #: libparted/labels/pt-tools.c:138 #, c-format msgid "" "starting sector number, %jd exceeds the %s-partition-table-imposed maximum " "of %jd" msgstr "" #: libparted/labels/rdb.c:170 #, c-format msgid "%s : Bad checksum on block %llu of type %s." msgstr "%s : ÐÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð°Ñ Ñумма %llu типа %s." #: libparted/labels/rdb.c:486 #, c-format msgid "%s : Didn't find rdb block, should never happen." msgstr "%s : Ðе найден rdb блок, такого не должно было ÑлучитьÑÑ." #: libparted/labels/rdb.c:572 #, c-format msgid "%s : Loop detected at block %d." msgstr "%s : Обнаружено кольцо на блоке %d." #: libparted/labels/rdb.c:591 #, c-format msgid "%s : The %s list seems bad at block %s." msgstr "%s : СпиÑок %s похож на плохой на блоке %s." #: libparted/labels/rdb.c:690 #, c-format msgid "%s : Failed to list bad blocks." msgstr "%s : Ðе удалоÑÑŒ вывеÑти ÑпиÑок плохих блоков." #: libparted/labels/rdb.c:698 #, c-format msgid "%s : Failed to list partition blocks." msgstr "%s : Ðе удалоÑÑŒ вывеÑти ÑпиÑок блоков раздела." #: libparted/labels/rdb.c:706 #, c-format msgid "%s : Failed to list file system blocks." msgstr "%s : Ðе удалоÑÑŒ вывеÑти блоков файловой ÑиÑтемы." #: libparted/labels/rdb.c:714 #, c-format msgid "%s : Failed to list boot blocks." msgstr "%s : Ðе удалоÑÑŒ вывеÑти ÑпиÑок загрузочных блоков." #: libparted/labels/rdb.c:741 #, c-format msgid "Failed to write partition block at %d." msgstr "Ðе удалоÑÑŒ запиÑать блок раздела на %d." #: libparted/labels/rdb.c:1079 msgid "Unable to allocate a partition number." msgstr "Ðе удалоÑÑŒ назначить номер раздела." #: libparted/labels/sun.c:163 msgid "Corrupted Sun disk label detected." msgstr "Обнаружена Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½Ð½Ð°Ñ Ð¼ÐµÑ‚ÐºÐ° диÑка Sun." #: libparted/labels/sun.c:316 #, c-format msgid "" "The disk CHS geometry (%d,%d,%d) reported by the operating system does not " "match the geometry stored on the disk label (%d,%d,%d)." msgstr "" "CHS Ð³ÐµÐ¾Ð¼ÐµÑ‚Ñ€Ð¸Ñ Ð´Ð¸Ñка (%d,%d,%d) предоÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð½Ð°Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð¾Ð¹ ÑиÑтемой не " "Ñовпадает Ñ Ð³ÐµÐ¾Ð¼ÐµÑ‚Ñ€Ð¸ÐµÐ¹, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ ÑодержитÑÑ Ð² метке диÑка (%d,%d,%d)." #: libparted/labels/sun.c:338 #, c-format msgid "The disk label describes a disk bigger than %s." msgstr "Метка диÑка указывает на диÑк больший чем %s." #: libparted/labels/sun.c:510 #, c-format msgid "The disk has %d cylinders, which is greater than the maximum of 65536." msgstr "ДиÑк Ñодержит %d цилиндров, что больше макÑимума 65536." #: libparted/labels/sun.c:853 msgid "" "The Whole Disk partition is the only available one left. Generally, it is " "not a good idea to overwrite this partition with a real one. Solaris may " "not be able to boot without it, and SILO (the sparc boot loader) appreciates " "it as well." msgstr "" "Раздел ВеÑÑŒ диÑк доÑтупен только Ñлева. Вообще-то - Ñто Ð¿Ð»Ð¾Ñ…Ð°Ñ Ð¸Ð´ÐµÑ " "перепиÑывать Ñтот раздел реальным. Solaris, возможно, может не загрузитьÑÑ " "без него и SILO (загрузчик sparc) оценивает Ñто также." #: libparted/labels/sun.c:868 msgid "Sun disk label is full." msgstr "Метка диÑка Sun переполнена." #: libparted/labels/vtoc.c:164 msgid "opening of device failed" msgstr "не удалоÑÑŒ открыть уÑтройÑтво" #: libparted/labels/vtoc.c:168 msgid "seeking on device failed" msgstr "не удалоÑÑŒ найти дорожку" #: libparted/labels/vtoc.c:172 msgid "writing to device failed" msgstr "не удалоÑÑŒ запиÑать на уÑтройÑтво" #: libparted/labels/vtoc.c:176 msgid "reading from device failed" msgstr "не удалоÑÑŒ прочеÑть Ñ ÑƒÑтройÑтва" #: libparted/labels/vtoc.c:277 libparted/labels/vtoc.c:284 msgid "Could not read volume label." msgstr "Ðе удалоÑÑŒ прочеÑть метку тома." #: libparted/labels/vtoc.c:303 libparted/labels/vtoc.c:308 msgid "Could not write volume label." msgstr "Ðе удалоÑÑŒ запиÑать метку тома." #: libparted/labels/vtoc.c:414 msgid "Could not read VTOC labels." msgstr "Ðе удалоÑÑŒ прочеÑть VTOC метки." #: libparted/labels/vtoc.c:420 msgid "Could not read VTOC FMT1 DSCB." msgstr "Ðе удалоÑÑŒ прочеÑть VTOC FMT1 DSCB." #: libparted/labels/vtoc.c:427 msgid "Could not read VTOC FMT4 DSCB." msgstr "Ðе удалоÑÑŒ прочеÑть VTOC FMT4 DSCB." #: libparted/labels/vtoc.c:434 msgid "Could not read VTOC FMT5 DSCB." msgstr "Ðе удалоÑÑŒ прочеÑть VTOC FMT5 DSCB." #: libparted/labels/vtoc.c:441 msgid "Could not read VTOC FMT7 DSCB." msgstr "Ðе удалоÑÑŒ прочеÑть VTOC FMT7 DSCB." #: libparted/labels/vtoc.c:461 msgid "Could not write VTOC labels." msgstr "Ðе удалоÑÑŒ запиÑать VTOC метки." #: libparted/labels/vtoc.c:467 msgid "Could not write VTOC FMT1 DSCB." msgstr "Ðе удалоÑÑŒ запиÑать VTOC FMT1 DSCB." #: libparted/labels/vtoc.c:474 msgid "Could not write VTOC FMT4 DSCB." msgstr "Ðе удалоÑÑŒ запиÑать VTOC FMT4 DSCB." #: libparted/labels/vtoc.c:481 msgid "Could not write VTOC FMT5 DSCB." msgstr "Ðе удалоÑÑŒ запиÑать VTOC FMT5 DSCB." #: libparted/labels/vtoc.c:488 msgid "Could not write VTOC FMT7 DSCB." msgstr "Ðе удалоÑÑŒ запиÑать VTOC FMT7 DSCB." #: libparted/libparted.c:237 libparted/libparted.c:252 msgid "Out of memory." msgstr "ÐедоÑтаточно памÑти." #: libparted/unit.c:138 msgid "Cannot get unit size for special unit 'COMPACT'." msgstr "" "Ðевозможно определить размер объекта Ð´Ð»Ñ Ñпециального объекта 'COMPACT'." #: libparted/unit.c:384 #, c-format msgid "\"%s\" has invalid syntax for locations." msgstr "\"%s\" Ñодержит неправильный ÑинтакÑÐ¸Ñ Ñ€Ð°Ñположений." #: libparted/unit.c:392 #, c-format msgid "The maximum head value is %d." msgstr "МакÑимальное количеÑтво головок %d." #: libparted/unit.c:399 #, c-format msgid "The maximum sector value is %d." msgstr "МакÑимальное количеÑтво Ñекторов %d." #: libparted/unit.c:411 libparted/unit.c:543 #, c-format msgid "The location %s is outside of the device %s." msgstr "РаÑположение %s вне уÑтройÑтва %s." #: libparted/unit.c:525 msgid "Invalid number." msgstr "Ðеправильный номер." #: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:56 #: libparted/fs/amiga/asfs.c:70 #, c-format msgid "%s : Failed to allocate partition block\n" msgstr "%s : Ðе удалоÑÑŒ выделить блок раздела\n" #: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:69 #: libparted/fs/amiga/asfs.c:82 #, c-format msgid "%s : Failed to allocate block\n" msgstr "%s : Ðе удалоÑÑŒ выделить блок\n" #: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:74 #, c-format msgid "%s : Couldn't read boot block %llu\n" msgstr "%s : Ðе удалоÑÑŒ прочеÑть загрузочный блок %llu\n" #: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:85 #: libparted/fs/amiga/asfs.c:88 libparted/fs/amiga/asfs.c:102 #, c-format msgid "%s : Couldn't read root block %llu\n" msgstr "%s : Ðе удалоÑÑŒ прочеÑть корневой блок %llu\n" #: libparted/fs/amiga/amiga.c:72 #, c-format msgid "%s : Failed to allocate id list element\n" msgstr "%s : Ðе удалоÑÑŒ выделить Ñлемент ÑпиÑка идентификаторов\n" #: libparted/fs/amiga/amiga.c:189 #, c-format msgid "%s : Couldn't read block %llu\n" msgstr "%s : Ðе удалоÑÑŒ прочеÑть блок %llu\n" #: libparted/fs/amiga/amiga.c:202 #, c-format msgid "%s : Bad checksum on block %llu of type %s\n" msgstr "%s : ÐÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð°Ñ Ñумма блока %llu типа %s\n" #: libparted/fs/amiga/amiga.c:212 #, c-format msgid "%s : Couldn't write block %d\n" msgstr "%s : Ðе удалоÑÑŒ запиÑать блок %d.\n" #: libparted/fs/amiga/amiga.c:278 #, c-format msgid "%s : Failed to allocate disk_specific rdb block\n" msgstr "%s : Ðе удалоÑÑŒ выделить Ñпецифичный_длÑ_диÑка блок rdb\n" #: libparted/fs/amiga/amiga.c:289 #, c-format msgid "%s : Didn't find rdb block, should never happen\n" msgstr "%s : Ðе найден rdb блок, такого не должно было ÑлучитьÑÑ\n" #: libparted/fs/amiga/amiga.c:318 #, c-format msgid "%s : Failed to read partition block %llu\n" msgstr "%s : Ðе удалоÑÑŒ прочеÑть блок раздела %llu\n" #: libparted/fs/ext2/ext2.c:87 libparted/fs/ext2/ext2.c:112 msgid "Inconsistent group descriptors!" msgstr "ÐŸÑ€Ð¾Ñ‚Ð¸Ð²Ð¾Ñ€ÐµÑ‡Ð¸Ð²Ð°Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð° деÑкрипторов!" #: libparted/fs/ext2/ext2.c:91 libparted/fs/ext2/ext2.c:116 msgid "File system full!" msgstr "Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема заполнена!" #: libparted/fs/ext2/ext2.c:686 msgid "Invalid superblock. Are you sure this is an ext2 file system?" msgstr "Ðеверный Ñуперблок. Ð’Ñ‹ уверены, что Ñто Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема ext2?" #: libparted/fs/ext2/ext2.c:700 libparted/fs/ext2/ext2_resize.c:658 msgid "File system has errors! You should run e2fsck." msgstr "Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема Ñодержит ошибки! ЗапуÑтите Ñначала e2fsck." #: libparted/fs/ext2/ext2.c:711 msgid "" "File system was not cleanly unmounted! You should run e2fsck. Modifying an " "unclean file system could cause severe corruption." msgstr "" "Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема не была правильно размонтирована! ЗапуÑтите e2fsck. " "Изменение неочищенной файловой ÑиÑтемы может привеÑти к её повреждению." #: libparted/fs/ext2/ext2.c:731 msgid "" "File system has an incompatible feature enabled. Compatible features are " "has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs " "or debugfs to remove features." msgstr "" #: libparted/fs/ext2/ext2.c:745 msgid "Error allocating buffer cache." msgstr "Ошибка Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð±ÑƒÑ„ÐµÑ€Ð° кÑша." #: libparted/fs/ext2/ext2_inode_relocator.c:114 msgid "" "Found an inode with a incorrect link count. Better go run e2fsck first!" msgstr "" "Ðайден inode Ñ Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¼ чиÑлом ÑÑылок. Лучше запуÑтите Ñначала e2fsck!" #: libparted/fs/ext2/ext2_inode_relocator.c:487 msgid "Not enough free inodes!" msgstr "ÐедоÑтаточно Ñвободных inode!" #: libparted/fs/ext2/ext2_resize.c:223 msgid "File system is too full to remove a group!" msgstr "Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема Ñлишком заполнена, чтобы удалить группу!" #: libparted/fs/ext2/ext2_resize.c:232 msgid "File system has too many allocated inodes to remove a group!" msgstr "" "Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема имеет Ñлишком много выделенных inode, чтобы удалить группу!" #: libparted/fs/ext2/ext2_resize.c:491 msgid "adding groups" msgstr "добавление групп" #: libparted/fs/ext2/ext2_resize.c:528 #, c-format msgid "Your file system is too full to resize it to %i blocks. Sorry." msgstr "" "Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема Ñлишком заполнена, чтобы изменить её размер до %i блоков. " "ПроÑтите." #: libparted/fs/ext2/ext2_resize.c:538 #, c-format msgid "" "Your file system has too many occupied inodes to resize it to %i blocks. " "Sorry." msgstr "" "Ваша Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема имеет Ñлишком много занÑтых inode, чтобы изменить её " "размер до %i блоков. ПроÑтите." #: libparted/fs/ext2/ext2_resize.c:666 msgid "File system was not cleanly unmounted! You should run e2fsck." msgstr "" "Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема не была правильно размонтирована! ЗапуÑтите Ñначала e2fsck." #: libparted/fs/ext2/ext2_resize.c:675 msgid "" "The file system has the 'dir_index' feature enabled. Parted can only resize " "the file system if it disables this feature. You can enable it later by " "running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'." msgstr "" "СвойÑтво файловой ÑиÑтемы 'dir_index' включено. Parted может изменÑть " "размер таких файловых ÑиÑтем, еÑли он отключит Ñто ÑвойÑтво. Чтобы включить " "его поÑле Ñтого запуÑтите 'tune2fs -O dir_index УСТРОЙСТВО' и потом 'e2fsck -" "fD УСТРОЙСТВО'." #: libparted/fs/ext2/ext2_resize.c:691 msgid "" "A resize operation on this file system will use EXPERIMENTAL code\n" "that MAY CORRUPT it (although no one has reported any such damage yet).\n" "You should at least backup your data first, and run 'e2fsck -f' afterwards." msgstr "" "ÐžÐ¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° на Ñтой файловой ÑиÑтеме иÑпользует\n" "ЭКСПЕРИМЕÐТÐЛЬÐЫЙ код, который МОЖЕТ ПОВРЕДИТЬ её (Ñ…Ð¾Ñ‚Ñ Ð¸ не\n" "делал Ñтого раньше).\n" "Ð’Ñ‹ должны Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ Ñделать резервную копию данных и запуÑтить\n" "'e2fsck -f' поÑле." #: libparted/fs/ext2/ext2_block_relocator.c:198 msgid "Cross-linked blocks found! Better go run e2fsck first!" msgstr "" "Ðайдены блоки Ñ Ð¿ÐµÑ€ÐµÐºÑ€ÐµÑтными ÑÑылками! Лучше Ñначала запуÑтите e2fsck!" #: libparted/fs/ext2/ext2_block_relocator.c:537 #, c-format msgid "Block %i has no reference? Weird." msgstr "Блок %i не имеет ÑÑылки? Странно." #: libparted/fs/ext2/ext2_block_relocator.c:738 #, c-format msgid "Block %i shouldn't have been marked (%d, %d)!" msgstr "Блок %i не должен быть помеченным (%d, %d)!" #: libparted/fs/ext2/interface.c:226 msgid "" "The ext2 file system passed a basic check. For a more comprehensive check, " "use the e2fsck program." msgstr "" "Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема ext2 прошла оÑновную проверку. Ð”Ð»Ñ Ð±Ð¾Ð»ÐµÐµ полной проверки, " "иÑпользуйте программу e2fsck." #: libparted/fs/ext2/interface.c:243 msgid "Sorry, can't move the start of ext2 partitions yet!" msgstr "К Ñожалению, перемещение начала разделов ext2 пока невозможно!" #: libparted/fs/ext2/ext2_buffer.c:82 msgid "Couldn't flush buffer cache!" msgstr "Ðе удаётÑÑ Ð¾Ñ‡Ð¸Ñтить буфер кÑша!" #: libparted/fs/ext2/ext2_mkfs.c:161 msgid "writing per-group metadata" msgstr "запиÑÑŒ метаданных групп" #: libparted/fs/ext2/ext2_mkfs.c:597 msgid "File system too small for ext2." msgstr "Слишком Ð¼Ð°Ð»ÐµÐ½ÑŒÐºÐ°Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема Ð´Ð»Ñ ext2." #: libparted/fs/fat/calc.c:135 #, c-format msgid "" "You need %s of free disk space to shrink this partition to this size. " "Currently, only %s is free." msgstr "" "Вам требуетÑÑ %s Ñвободного проÑтранÑтва, чтобы уменьшить данный раздел до " "такого размера. Ð¡ÐµÐ¹Ñ‡Ð°Ñ Ñвободно только %s." #: libparted/fs/fat/context.c:56 #, c-format msgid "" "Cluster start delta = %d, which is not a multiple of the cluster size %d." msgstr "" "КлаÑтер начинаетÑÑ Ñо Ñмещением %d, что не ÑвлÑетÑÑ Ñ†ÐµÐ»Ñ‹Ð¼ чиÑлом клаÑтеров " "размера %d." #: libparted/fs/fat/fat.c:310 #, c-format msgid "Partition too big/small for a %s file system." msgstr "Раздел Ñлишком большой/маленький Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ð¹ ÑиÑтемы %s." #: libparted/fs/fat/fat.c:476 msgid "" "The FATs don't match. If you don't know what this means, then select " "cancel, run scandisk on the file system, and then come back." msgstr "" "Таблицы Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð² FAT не Ñовпадают. ЕÑли вы не знаете, что Ñто " "означает, выберите отмену, запуÑтите scandisk Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ð¹ ÑиÑтемы, и затем " "возвращайтеÑÑŒ." #: libparted/fs/fat/fat.c:516 msgid "There are no possible configurations for this FAT type." msgstr "Ð”Ð»Ñ Ñтого типа FAT допуÑтимых конфигураций нет." #: libparted/fs/fat/fat.c:528 #, c-format msgid "" "File system doesn't have expected sizes for Windows to like it. Cluster " "size is %dk (%dk expected); number of clusters is %d (%d expected); size of " "FATs is %d sectors (%d expected)." msgstr "" "Windows не может работать Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ð¹ ÑиÑтемой, имеющей такие размеры. " "Размер клаÑтера %dk (ожидаемый %dk); чиÑло клаÑтеров %d (ожидаемое %d); " "размер FAT %d Ñекторов (ожидаемый %d)." #: libparted/fs/fat/fat.c:551 #, c-format msgid "" "File system is reporting the free space as %d clusters, not %d clusters." msgstr "" "Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема Ñообщает о Ñвободном проÑтранÑтве в %d клаÑтеров, а не в %d " "клаÑтеров." #: libparted/fs/fat/fat.c:876 msgid "" "GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT " "support will be disabled." msgstr "" "GNU parted был неправильно Ñкомпилирован: загрузочный Ñектор FAT должен " "занимать 512 байт. Поддержка FAT будет отключена." #: libparted/fs/fat/resize.c:158 msgid "" "There's not enough room in the root directory for all of the files. Either " "cancel, or ignore to lose the files." msgstr "" "Ð”Ð»Ñ Ð²Ñех файлов не хватает меÑта в корневом каталоге. Либо отмените, либо " "игнорируйте Ð´Ð»Ñ Ð¿Ð¾Ñ‚ÐµÑ€Ð¸ файлов." #: libparted/fs/fat/resize.c:299 msgid "Error writing to the root directory." msgstr "Ошибка запиÑи в корневой каталог." #: libparted/fs/fat/resize.c:488 msgid "If you leave your file system as FAT16, then you will have no problems." msgstr "ЕÑли вы оÑтавите файловую ÑиÑтему как FAT16, проблем не будет." #: libparted/fs/fat/resize.c:491 msgid "" "If you convert to FAT16, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual)." msgstr "" "ЕÑли вы конвертируете в FAT16 и MS Windows уÑтановлен на Ñтом разделе, нужно " "будет переуÑтановить загрузчик MS Windows. ЕÑли вы хотите Ñто Ñделать, " "обратитеÑÑŒ в руководÑтво Parted (или руководÑтво вашего диÑтрибутива)." #: libparted/fs/fat/resize.c:499 msgid "" "If you leave your file system as FAT32, then you will not introduce any new " "problems." msgstr "" "ЕÑли вы оÑтавите файловую ÑиÑтему как FAT32, никаких новых проблем вы не " "заметите." #: libparted/fs/fat/resize.c:503 msgid "" "If you convert to FAT32, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual). Also, " "converting to FAT32 will make the file system unreadable by MS DOS, MS " "Windows 95a, and MS Windows NT." msgstr "" "ЕÑли вы конвертируете в FAT16 и MS Windows уÑтановлен на Ñтом разделе, нужно " "будет переуÑтановить загрузчик MS Windows. ЕÑли вы хотите Ñто Ñделать, " "обратитеÑÑŒ в руководÑтво Parted (или руководÑтво вашего диÑтрибутива). " "Также, преобразование в FAT32 Ñделает ÑиÑтему не читаемой Ð´Ð»Ñ MS DOS, MS " "Windows 95a и MS Windows NT." #: libparted/fs/fat/resize.c:517 #, c-format msgid "%s %s %s" msgstr "%s %s %s" #: libparted/fs/fat/resize.c:518 msgid "Would you like to use FAT32?" msgstr "Ð’Ñ‹ хотите иÑпользовать FAT32?" #: libparted/fs/fat/resize.c:549 libparted/fs/fat/resize.c:565 #, c-format msgid "%s %s" msgstr "%s %s" #: libparted/fs/fat/resize.c:550 msgid "" "The file system can only be resized to this size by converting to FAT16." msgstr "" "Изменение размера файловой ÑиÑтемы до Ñтого размера возможно только поÑле " "Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² FAT16." #: libparted/fs/fat/resize.c:566 msgid "" "The file system can only be resized to this size by converting to FAT32." msgstr "" "Изменение размера файловой ÑиÑтемы до Ñтого размера возможно только поÑле " "Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² FAT32." #: libparted/fs/fat/resize.c:579 msgid "" "GNU Parted cannot resize this partition to this size. We're working on it!" msgstr "" "GNU Parted не может изменить размер раздела до Ñтой величины. Мы работаем " "над Ñтим!" #: libparted/fs/fat/bootsector.c:49 libparted/fs/fat/bootsector.c:56 msgid "File system has an invalid signature for a FAT file system." msgstr "Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема имеет неверную Ð´Ð»Ñ FAT Ñигнатуру." #: libparted/fs/fat/bootsector.c:64 msgid "File system has an invalid sector size for a FAT file system." msgstr "Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема имеет неверный Ð´Ð»Ñ FAT размер Ñектора." #: libparted/fs/fat/bootsector.c:71 msgid "File system has an invalid cluster size for a FAT file system." msgstr "Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема имеет неверный Ð´Ð»Ñ FAT размер клаÑтера." #: libparted/fs/fat/bootsector.c:78 msgid "" "File system has an invalid number of reserved sectors for a FAT file system." msgstr "" "Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема имеет неверное Ð´Ð»Ñ FAT чиÑло зарезервированных Ñекторов." #: libparted/fs/fat/bootsector.c:85 msgid "File system has an invalid number of FATs." msgstr "Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема имеет неверное количеÑтво FAT." #: libparted/fs/fat/bootsector.c:139 #, c-format msgid "" "This file system has a logical sector size of %d. GNU Parted is known not " "to work properly with sector sizes other than 512 bytes." msgstr "" "Эта Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема имеет размер логичеÑкого Ñектора %d. СчитаетÑÑ, что " "GNU Parted работает неправильно Ñ Ñекторами, размер которых отличен от 512 " "байт." #: libparted/fs/fat/bootsector.c:164 #, c-format msgid "" "The file system's CHS geometry is (%d, %d, %d), which is invalid. The " "partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the " "file system's CHS geometry will be left unchanged. If you select Fix, the " "file system's CHS geometry will be set to match the partition table's CHS " "geometry." msgstr "" "CHS Ð³ÐµÐ¾Ð¼ÐµÑ‚Ñ€Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ð¹ ÑиÑтемы (%d, %d, %d), что не ÑвлÑетÑÑ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¼. " "CHS Ð³ÐµÐ¾Ð¼ÐµÑ‚Ñ€Ð¸Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ раздела (%d, %d, %d). ЕÑли вы выберете Игнорировать, " "CHS Ð³ÐµÐ¾Ð¼ÐµÑ‚Ñ€Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ð¹ ÑиÑтемы оÑтанетÑÑ Ð±ÐµÐ· изменений. ЕÑли вы выберете " "ИÑправить, CHS Ð³ÐµÐ¾Ð¼ÐµÑ‚Ñ€Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ð¹ ÑиÑтемы будет изменена Ð´Ð»Ñ ÑоглаÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ñ " "CHS геометрией таблицы раздела." #: libparted/fs/fat/bootsector.c:213 msgid "FAT boot sector says logical sector size is 0. This is weird. " msgstr "" "Загрузочный Ñектор FAT Ñодержит размер логичеÑкого Ñектора, равный 0. Это " "Ñтранно. " #: libparted/fs/fat/bootsector.c:219 msgid "FAT boot sector says there are no FAT tables. This is weird. " msgstr "" "Ð’ загрузочном Ñекторе FAT не ÑодержитÑÑ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ о таблицах FAT. Это " "Ñтранно. " #: libparted/fs/fat/bootsector.c:225 msgid "FAT boot sector says clusters are 0 sectors. This is weird. " msgstr "" "Ð’ ÑоответÑтвии Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·Ð¾Ñ‡Ð½Ñ‹Ð¼ Ñектором FAT, клаÑтер Ñодержит 0 Ñекторов. Это " "Ñтранно. " #: libparted/fs/fat/bootsector.c:235 msgid "File system is FAT12, which is unsupported." msgstr "Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема FAT12, не поддерживаетÑÑ." #: libparted/fs/fat/bootsector.c:411 #, c-format msgid "" "The information sector has the wrong signature (%x). Select cancel for now, " "and send in a bug report. If you're desperate, it's probably safe to ignore." msgstr "" "Информационный Ñектор имеет неверную Ñигнатуру (%x). Выберите отмену, и " "пошлите Ñообщение об ошибке. ЕÑли вы уже отчаÑлиÑÑŒ, то, вероÑтно, можно " "проигнорировать." #: libparted/fs/fat/count.c:144 #, c-format msgid "Bad directory entry for %s: first cluster is the end of file marker." msgstr "" "Плохой Ñлемент каталога Ð´Ð»Ñ %s: первый клаÑтер ÑвлÑетÑÑ ÐºÐ¾Ð½Ñ†Ð¾Ð¼ маркера файла." #: libparted/fs/fat/count.c:157 #, c-format msgid "" "Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk." msgstr "" "Ошибка в FAT: Ð½ÐµÐ·Ð°Ð²ÐµÑ€ÑˆÑ‘Ð½Ð½Ð°Ñ Ñ†ÐµÐ¿Ð¾Ñ‡ÐºÐ° Ð´Ð»Ñ %s. Ð’Ñ‹ должны запуÑтить dosfsck или " "scandisk." #: libparted/fs/fat/count.c:166 #, c-format msgid "" "Bad FAT: cluster %d outside file system in chain for %s. You should run " "dosfsck or scandisk." msgstr "" "Ошибка в FAT: клаÑтер %d находитÑÑ Ð²Ð½Ðµ файловой ÑиÑтемы в цепочке Ð´Ð»Ñ %s. " "Ð’Ñ‹ должны запуÑтить dosfsck или scandisk." #: libparted/fs/fat/count.c:176 #, c-format msgid "" "Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or " "scandisk." msgstr "" "Ошибка в FAT: клаÑтер %d имеет ÑÑылку на %s. Ð’Ñ‹ должны запуÑтить dosfsck " "или scandisk." #: libparted/fs/fat/count.c:195 #, c-format msgid "%s is %dk, but it has %d clusters (%dk)." msgstr "%s ÑвлÑетÑÑ %dk, но он Ñодержит %d клаÑтеров (%dk)." #: libparted/fs/fat/count.c:258 #, c-format msgid "" "The file %s is marked as a system file. This means moving it could cause " "some programs to stop working." msgstr "" "Файл %s помечен как ÑиÑтемный. Это значит, что его перемещение может " "привеÑти к прекращению работы некоторых программ." #: libparted/fs/fat/table.c:136 #, c-format msgid "" "FAT %d media %x doesn't match the boot sector's media %x. You should " "probably run scandisk." msgstr "" "FAT %d ноÑитель %x не Ñовпадает Ñ Ð½Ð¾Ñителем загрузочного Ñектора %x. " "Возможно, вам Ñледует запуÑтить scandisk." #: libparted/fs/fat/table.c:268 #, c-format msgid "fat_table_set: cluster %ld outside file system" msgstr "fat_table_set: клаÑтер %ld находитÑÑ Ð²Ð½Ðµ файловой ÑиÑтемы" #: libparted/fs/fat/table.c:300 #, c-format msgid "fat_table_get: cluster %ld outside file system" msgstr "fat_table_get: клаÑтер %ld находитÑÑ Ð²Ð½Ðµ файловой ÑиÑтемы" #: libparted/fs/fat/table.c:342 msgid "fat_table_alloc_cluster: no free clusters" msgstr "fat_table_alloc_cluster: нет Ñвободных клаÑтеров" #: libparted/fs/linux_swap/linux_swap.c:288 #, fuzzy, c-format msgid "Unrecognised old style linux swap signature '%10s'." msgstr "Ðе раÑÐ¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð°Ñ Ñигнатура linux swap '%10s'." #: libparted/fs/linux_swap/linux_swap.c:331 #, fuzzy, c-format msgid "Unrecognised new style linux swap signature '%10s'." msgstr "Ðе раÑÐ¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð°Ñ Ñигнатура linux swap '%10s'." #: libparted/fs/linux_swap/linux_swap.c:371 #, fuzzy, c-format msgid "Unrecognised swsusp linux swap signature '%9s'." msgstr "Ðе раÑÐ¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð°Ñ Ñигнатура linux swap '%10s'." #: libparted/fs/linux_swap/linux_swap.c:447 msgid "Too many bad pages." msgstr "Слишком много плохих Ñтраниц." #: libparted/fs/hfs/advfs.c:121 libparted/fs/hfs/advfs_plus.c:121 #: libparted/fs/hfs/reloc.c:414 libparted/fs/hfs/reloc.c:508 #: libparted/fs/hfs/reloc_plus.c:538 libparted/fs/hfs/reloc_plus.c:656 #: libparted/fs/hfs/reloc_plus.c:769 msgid "The file system contains errors." msgstr "Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема Ñодержит ошибки." #: libparted/fs/hfs/advfs_plus.c:285 msgid "Bad blocks could not be read." msgstr "Плохие блоки не могут быть прочитаны." #: libparted/fs/hfs/cache.c:137 #, c-format msgid "" "Trying to register an extent starting at block 0x%X, but another one already " "exists at this position. You should check the file system!" msgstr "" "ПытаюÑÑŒ зарегиÑтрировать начало блока на 0x%X, но другой уже ÑущеÑтвует на " "Ñтой позиции. Вам нужно проверить файловую Ñитему на ошибки!" #: libparted/fs/hfs/cache.c:214 #, c-format msgid "" "Trying to move an extent from block Ox%X to block Ox%X, but another one " "already exists at this position. This should not happen!" msgstr "" "ПытаюÑÑŒ перемеÑтить раÑширение из блока Ox%X в блок Ox%X, но другой уже " "ÑодержитÑÑ Ð½Ð° Ñтой позиции. Это не должно было ÑлучитьÑÑ!" #: libparted/fs/hfs/file.c:143 #, c-format msgid "Could not update the extent cache for HFS file with CNID %X." msgstr "Ðе удалоÑÑŒ обновить кÑш раÑширений Ð´Ð»Ñ HFS файла Ñ CNID %X." #: libparted/fs/hfs/file.c:180 #, c-format msgid "Trying to read HFS file with CNID %X behind EOF." msgstr "ПытаюÑÑŒ прочеÑть HFS файл Ñ CNID %X за EOF." #: libparted/fs/hfs/file.c:190 libparted/fs/hfs/file.c:220 #, c-format msgid "Could not find sector %lli of HFS file with CNID %X." msgstr "Ðе удалоÑÑŒ найти Ñектор %lli Ð´Ð»Ñ HFS файла Ñ CNID %X." #: libparted/fs/hfs/file.c:210 #, c-format msgid "Trying to write HFS file with CNID %X behind EOF." msgstr "ПытаюÑÑŒ запиÑать HFS файл Ñ CNID %X за EOF." #: libparted/fs/hfs/file_plus.c:157 #, c-format msgid "Could not update the extent cache for HFS+ file with CNID %X." msgstr "Ðе удалоÑÑŒ обновить кÑш раÑширений Ð´Ð»Ñ HFS+ файла Ñ CNID %X." #: libparted/fs/hfs/file_plus.c:202 #, c-format msgid "Trying to read HFS+ file with CNID %X behind EOF." msgstr "ПытаюÑÑŒ прочеÑть HFS+ файл Ñ CNID %X за EOF." #: libparted/fs/hfs/file_plus.c:213 libparted/fs/hfs/file_plus.c:256 #, c-format msgid "Could not find sector %lli of HFS+ file with CNID %X." msgstr "Ðе удалоÑÑŒ найти Ñектор %lli Ð´Ð»Ñ HFS+ файла Ñ CNID %X." #: libparted/fs/hfs/file_plus.c:245 #, c-format msgid "Trying to write HFS+ file with CNID %X behind EOF." msgstr "ПытаюÑÑŒ запиÑать HFS+ файл Ñ CNID %X за EOF." #: libparted/fs/hfs/hfs.c:232 msgid "Sorry, HFS cannot be resized that way yet." msgstr "ПроÑтите, размер HFS не может быть изменён таким образом пока что." #: libparted/fs/hfs/hfs.c:262 libparted/fs/hfs/hfs.c:641 msgid "Data relocation has failed." msgstr "Ошибка перераÑÐ¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ…." #: libparted/fs/hfs/hfs.c:281 msgid "Data relocation left some data in the end of the volume." msgstr "ПерераÑпределение данных оÑтавило некоторые данные в конце раздела." #: libparted/fs/hfs/hfs.c:320 msgid "writing HFS Master Directory Block" msgstr "запиÑÑŒ HFS Master Directory Block (Главный блок каталога)" #: libparted/fs/hfs/hfs.c:468 msgid "No valid HFS[+X] signature has been found while opening." msgstr "Ðе найдено правильной HFS[+X] Ñигнатуры при открытии." #: libparted/fs/hfs/hfs.c:478 #, c-format msgid "Version %d of HFS+ isn't supported." msgstr "ВерÑÐ¸Ñ %d файловой ÑиÑтемы HFS+ не поддерживаетÑÑ." #: libparted/fs/hfs/hfs.c:489 #, c-format msgid "Version %d of HFSX isn't supported." msgstr "ВерÑÐ¸Ñ %d файловой ÑиÑтемы HFSX не поддерживаетÑÑ." #: libparted/fs/hfs/hfs.c:672 msgid "Data relocation left some data at the end of the volume." msgstr "ПерераÑпределение данных оÑтавило некоторые данные в конце раздела." #: libparted/fs/hfs/hfs.c:720 msgid "Error while writing the allocation file." msgstr "Ошибка запиÑи файла раÑпределениÑ." #: libparted/fs/hfs/hfs.c:735 msgid "Error while writing the compatibility part of the allocation file." msgstr "Ошибка запиÑи ÑовмеÑтимой чаÑти файла раÑпределениÑ." #: libparted/fs/hfs/hfs.c:750 msgid "writing HFS+ Volume Header" msgstr "запиÑÑŒ HFS+ Volume Header (Заголовка раздела)" #: libparted/fs/hfs/hfs.c:850 msgid "An error occurred while looking for the mandatory bad blocks file." msgstr "Ошибка при поиÑке обÑзательного файла плохих блоков." #: libparted/fs/hfs/hfs.c:904 msgid "" "It seems there is an error in the HFS wrapper: the bad blocks file doesn't " "contain the embedded HFS+ volume." msgstr "" "Похоже ошибка в оболочке HFS: файл плохих блоков не Ñодержит вÑтроенный HFS+ " "раздел." #: libparted/fs/hfs/hfs.c:940 msgid "Sorry, HFS+ cannot be resized that way yet." msgstr "ПроÑтите, размер HFS+ не может быть изменён таким образом пока что." #: libparted/fs/hfs/hfs.c:975 msgid "shrinking embedded HFS+ volume" msgstr "уменьшаю размер вÑтроенного HFS+ раздела" #: libparted/fs/hfs/hfs.c:991 msgid "Resizing the HFS+ volume has failed." msgstr "Ошибка Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° раздела HFS+." #: libparted/fs/hfs/hfs.c:998 msgid "shrinking HFS wrapper" msgstr "уменьшаю размер оболочки HFS" #: libparted/fs/hfs/hfs.c:1007 msgid "Updating the HFS wrapper has failed." msgstr "Ошибка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾Ð±Ð¾Ð»Ð¾Ñ‡ÐºÐ¸ HFS+." #: libparted/fs/hfs/hfs.c:1109 libparted/fs/hfs/hfs.c:1194 #, c-format msgid "" "This is not a real %s check. This is going to extract special low level " "files for debugging purposes." msgstr "" "Это не наÑтоÑÑ‰Ð°Ñ %s проверка. Это делаетÑÑ Ð´Ð»Ñ Ð¸Ð·Ð²Ð»ÐµÑ‡ÐµÐ½Ð¸Ñ Ñпециальных " "низкоуровневых файлов Ð´Ð»Ñ Ð¾Ñ‚Ð»Ð°Ð´ÐºÐ¸." #: libparted/fs/hfs/journal.c:155 msgid "Bad block list header checksum." msgstr "ÐÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð°Ñ Ñумма заголовка ÑпиÑка блоков." #: libparted/fs/hfs/journal.c:168 #, c-format msgid "" "Invalid size of a transaction block while replaying the journal (%i bytes)." msgstr "Ðеправильный размер блока транзакций при повторении журнала (%i байт)." #: libparted/fs/hfs/journal.c:260 msgid "" "Journal stored outside of the volume are not supported. Try to desactivate " "the journal and run Parted again." msgstr "" "Журнал, хранÑщийÑÑ Ð²Ð½Ðµ раздела не поддерживаетÑÑ. Попробуйте отключить " "журнал и запуÑтить Parted Ñнова." #: libparted/fs/hfs/journal.c:271 msgid "Journal offset or size is not multiple of the sector size." msgstr "Смещение журнала или его размер не делитÑÑ Ð½Ð° размер Ñектора." #: libparted/fs/hfs/journal.c:292 msgid "Incorrect magic values in the journal header." msgstr "Ðеправильный заголовок журнала." #: libparted/fs/hfs/journal.c:302 msgid "Journal size mismatch between journal info block and journal header." msgstr "" "Ðе найден размер журнала между блоком информации журнала и заголовком " "журнала." #: libparted/fs/hfs/journal.c:314 msgid "Some header fields are not multiple of the sector size." msgstr "Ðекоторые Ð¿Ð¾Ð»Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° не делÑÑ‚ÑÑ Ð½Ð° размер Ñектора." #: libparted/fs/hfs/journal.c:323 msgid "" "The sector size stored in the journal is not 512 bytes. Parted only " "supports 512 bytes length sectors." msgstr "" "Размер Ñектора, хранÑщийÑÑ Ð² журнале не 512 байт. Parted может работать " "только Ñ Ñекторами размером 512 байт." #: libparted/fs/hfs/journal.c:335 msgid "Bad journal checksum." msgstr "ÐÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð°Ñ Ñумма журнала." #: libparted/fs/hfs/journal.c:353 msgid "" "The journal is not empty. Parted must replay the transactions before " "opening the file system. This will modify the file system." msgstr "" "Журнал не пуÑтой. Parted должен повторить транзакции перед открытие " "раздела. Это изменит файловую ÑиÑтему." #: libparted/fs/hfs/journal.c:381 msgid "" "The volume header or the master directory block has changed while replaying " "the journal. You should restart Parted." msgstr "" "Заголовок раздела или блок главного каталога был изменён при повторении " "журнала. Ð’Ñ‹ должны перезапуÑтить Parted." #: libparted/fs/hfs/probe.c:51 #, c-format msgid "" "Parted can't use HFS file systems on disks with a sector size not equal to " "%d bytes." msgstr "" "Parted не может работать Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ñ‹Ð¼Ð¸ ÑиÑтемами HFS, на диÑках Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð¾Ð¼ " "Ñектора не равным %d байт." #: libparted/fs/hfs/reloc.c:151 libparted/fs/hfs/reloc_plus.c:155 msgid "An extent has not been relocated." msgstr "РаÑширение не было перемещено." #: libparted/fs/hfs/reloc.c:251 libparted/fs/hfs/reloc_plus.c:307 msgid "" "A reference to an extent comes from a place it should not. You should check " "the file system!" msgstr "" "СÑылка на раÑширение указывает на меÑто, где оно быть не должно. Вам " "Ñледует проверить файловую ÑиÑтему!" #: libparted/fs/hfs/reloc.c:381 msgid "This HFS volume has no catalog file. This is very unusual!" msgstr "Этот раздел HFS не Ñодержит файла каталога. Очень необычно!" #: libparted/fs/hfs/reloc.c:475 msgid "This HFS volume has no extents overflow file. This is quite unusual!" msgstr "" "Этот раздел HFS не Ñодержит файла размеров перегрузки. ДоÑтаточно необычно!" #: libparted/fs/hfs/reloc.c:517 libparted/fs/hfs/reloc_plus.c:666 msgid "" "The extents overflow file should not contain its own extents! You should " "check the file system." msgstr "" "Файл размеров перегрузки не должен Ñодержать Ñвои размеры! Вам Ñледует " "проверить файловую ÑиÑтему." #: libparted/fs/hfs/reloc.c:574 libparted/fs/hfs/reloc_plus.c:844 msgid "Could not cache the file system in memory." msgstr "Ðе удалоÑÑŒ кÑшировать файловую ÑиÑтему в памÑти." #: libparted/fs/hfs/reloc.c:635 libparted/fs/hfs/reloc_plus.c:905 msgid "Bad blocks list could not be loaded." msgstr "Ðе удалоÑÑŒ загрузить ÑпиÑок плохих блоков." #: libparted/fs/hfs/reloc.c:649 libparted/fs/hfs/reloc_plus.c:921 msgid "An error occurred during extent relocation." msgstr "Ошибка при перераÑпределении размеров." #: libparted/fs/hfs/reloc_plus.c:494 msgid "This HFS+ volume has no catalog file. This is very unusual!" msgstr "Этот раздел HFS+ не Ñодержит файла каталога. Очень необычно!" #: libparted/fs/hfs/reloc_plus.c:617 msgid "This HFS+ volume has no extents overflow file. This is quite unusual!" msgstr "" "Этот раздел HFS+ не Ñодержит файла размеров перегрузки. ДоÑтаточно необычно!" #: parted/parted.c:123 msgid "displays this help message" msgstr "отображает Ñто Ñправочное Ñообщение" #: parted/parted.c:124 msgid "lists partition layout on all block devices" msgstr "выводит ÑпиÑок разделов на вÑех блочных уÑтройÑтвах" #: parted/parted.c:125 msgid "displays machine parseable output" msgstr "отображает вывод Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ компьютером" #: parted/parted.c:126 msgid "never prompts for user intervention" msgstr "никогда не запрашивает вмешательÑтво пользователÑ" #: parted/parted.c:127 msgid "displays the version" msgstr "отображает верÑию" #: parted/parted.c:128 #, fuzzy msgid "alignment for new partitions" msgstr "Ðевозможно Ñоздать больше разделов." #: parted/parted.c:140 msgid "" "NUMBER is the partition number used by Linux. On MS-DOS disk labels, the " "primary partitions number from 1 to 4, logical partitions from 5 onwards.\n" msgstr "" "ÐОМЕР - Ñто номер раздела иÑпользуемый в Linux. Ð’ MS-DOS метки диÑка, " "номера оÑновных разделов от 1 до 4, логичеÑких разделов от 5 и далее.\n" #: parted/parted.c:143 msgid "LABEL-TYPE is one of: " msgstr "ТИП_МЕТКИ один из: " #: parted/parted.c:144 msgid "FLAG is one of: " msgstr "ФЛÐГ один из: " #: parted/parted.c:145 msgid "UNIT is one of: " msgstr "УСТР. один из: " #: parted/parted.c:146 msgid "desired alignment: minimum or optimal" msgstr "" #: parted/parted.c:147 msgid "PART-TYPE is one of: primary, logical, extended\n" msgstr "ТИП_РÐЗД один из: оÑновной, логичеÑкий, раÑширенный\n" #: parted/parted.c:149 msgid "FS-TYPE is one of: " msgstr "ТИП_ФС один из: " #: parted/parted.c:150 msgid "" "START and END are disk locations, such as 4GB or 10%. Negative values count " "from the end of the disk. For example, -1s specifies exactly the last " "sector.\n" msgstr "" "ÐÐЧÐЛО и КОÐЕЦ - Ñто меÑто диÑка, типа 4GB или 10%. Отрицательные Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ " "вычитаютÑÑ Ð¾Ñ‚ конца диÑка. Ðапример, -1s обозначает поÑледний Ñектор.\n" #: parted/parted.c:153 msgid "STATE is one of: on, off\n" msgstr "СОСТ. один из: on, off\n" #: parted/parted.c:154 msgid "DEVICE is usually /dev/hda or /dev/sda\n" msgstr "УСТРОЙСТВОМ обычно ÑвлÑетÑÑ /dev/hda или /dev/sda\n" #: parted/parted.c:155 msgid "NAME is any word you want\n" msgstr "ИМЯ - любое Ñлово, какое захотите\n" #: parted/parted.c:156 msgid "The partition must have one of the following FS-TYPEs: " msgstr "Раздел должен быть одного из Ñтих ТИП_ФС: " #: parted/parted.c:160 msgid "" "Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n" "This program is free software, covered by the GNU General Public License.\n" "\n" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" msgstr "" "Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n" "Это ÑÐ²Ð¾Ð±Ð¾Ð´Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°, на неё раÑпроÑтранÑетÑÑ Ð£Ð½Ð¸Ð²ÐµÑ€ÑÐ°Ð»ÑŒÐ½Ð°Ñ ÐžÐ±Ñ‰ÐµÑтвеннаÑ\n" "Ð›Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ GNU.\n" "\n" "Эта программа раÑпроÑтранÑетÑÑ Ð² надежде, что она будет полезной, но БЕЗ\n" "КÐКИХ-ЛИБО ГÐРÐÐТИЙ; даже без подразумеваемых гарантий КОММЕРЧЕСКОЙ ЦЕÐÐОСТИ " "или ПРИГОДÐОСТИ ДЛЯ КОÐКРЕТÐОЙ ЦЕЛИ. Ð”Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð±Ð¾Ð»ÐµÐµ подробной " "информации Ñмотрите УниверÑальную ОбщеÑтвенную Лицензию GNU.\n" #: parted/parted.c:208 #, c-format msgid "%0.f%%\t(time left %.2d:%.2d)" msgstr "%0.f%%\t(времени прошло %.2d:%.2d)" #: parted/parted.c:227 #, c-format msgid "" "Partition %s is being used. You must unmount it before you modify it with " "Parted." msgstr "" "Раздел %s иÑпользуетÑÑ. Ð’Ñ‹ должны отмонтировать его перед изменением Ñ " "помощью Parted." #: parted/parted.c:245 #, c-format msgid "Partition(s) on %s are being used." msgstr "Разделы на %s иÑпользуютÑÑ." #: parted/parted.c:257 msgid "" "The existing file system will be destroyed and all data on the partition " "will be lost. Do you want to continue?" msgstr "" "СущеÑÑ‚Ð²ÑƒÑŽÑ‰Ð°Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема будет уничтожена и вÑе данные на разделе будут " "утерÑны. Ð’Ñ‹ хотите продолжить?" #: parted/parted.c:269 #, c-format msgid "" "The existing disk label on %s will be destroyed and all data on this disk " "will be lost. Do you want to continue?" msgstr "" "СущеÑÑ‚Ð²ÑƒÑŽÑ‰Ð°Ñ Ð¼ÐµÑ‚ÐºÐ° диÑка на %s будет уничтожена и вÑе данные на Ñтом диÑке " "будут утерÑны. Ð’Ñ‹ хотите продолжить?" #: parted/parted.c:487 #, c-format msgid "" "WARNING: you are attempting to use %s to operate on (%s) a file system.\n" "%s's file system manipulation code is not as robust as what you'll find in\n" "dedicated, file-system-specific packages like e2fsprogs. We recommend\n" "you use %s only to manipulate partition tables, whenever possible.\n" "Support for performing most operations on most types of file systems\n" "will be removed in an upcoming release.\n" msgstr "" #: parted/parted.c:508 parted/parted.c:702 parted/parted.c:1179 #: parted/parted.c:1263 parted/parted.c:1935 parted/parted.c:2016 #: parted/parted.c:2088 parted/parted.c:2122 msgid "Partition number?" msgstr "Ðомер раздела?" #: parted/parted.c:551 msgid "Source device?" msgstr "УÑтройÑтво иÑточник?" #: parted/parted.c:555 msgid "Source partition number?" msgstr "ИÑходный номер раздела?" #: parted/parted.c:560 msgid "Can't copy an extended partition." msgstr "Ðевозможно Ñкопировать раÑширенный раздел." #: parted/parted.c:566 msgid "Destination partition number?" msgstr "Раздел назначениÑ?" #: parted/parted.c:655 msgid "New disk label type?" msgstr "Ðовый тип метки диÑка?" #: parted/parted.c:706 parted/parted.c:788 parted/parted.c:1000 msgid "File system type?" msgstr "Тип файловой ÑиÑтемы?" #: parted/parted.c:762 parted/parted.c:983 msgid "Partition type?" msgstr "Тип раздела?" #: parted/parted.c:780 parted/parted.c:990 parted/parted.c:1266 msgid "Partition name?" msgstr "Ð˜Ð¼Ñ Ñ€Ð°Ð·Ð´ÐµÐ»Ð°?" #: parted/parted.c:794 parted/parted.c:1002 parted/parted.c:1194 #: parted/parted.c:1883 parted/parted.c:1944 msgid "Start?" msgstr "Ðачало?" #: parted/parted.c:796 parted/parted.c:1005 parted/parted.c:1197 #: parted/parted.c:1885 parted/parted.c:1946 msgid "End?" msgstr "Конец?" #: parted/parted.c:862 parted/parted.c:1066 #, fuzzy, c-format msgid "" "You requested a partition from %s to %s.\n" "The closest location we can manage is %s to %s.%s" msgstr "" "Ð’Ñ‹ запроÑили раздел от %s до %s.\n" "Ближайшие точки Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¼Ð¸ мы можем работать от %s до %s. Это подходит Ð´Ð»Ñ " "ваÑ?" #: parted/parted.c:867 parted/parted.c:1071 msgid "" "\n" "Is this still acceptable to you?" msgstr "" #: parted/parted.c:889 parted/parted.c:1093 msgid "The resulting partition is not properly aligned for best performance." msgstr "" #: parted/parted.c:995 msgid "An extended partition cannot hold a file system. Did you want mkpart?" msgstr "" "РаÑширенный раздел не может Ñодержать файловую ÑиÑтему. ЗапуÑтить mkpart?" #: parted/parted.c:1185 msgid "Can't move an extended partition." msgstr "Ðевозможно перемеÑтить раÑширенный раздел." #: parted/parted.c:1214 msgid "Can't move a partition onto itself. Try using resize, perhaps?" msgstr "" "Ðевозможно перемеÑтить раздел в Ñамого ÑебÑ. ИÑпользовать вмеÑто Ñтого " "изменение размера?" #: parted/parted.c:1360 #, c-format msgid "Minor: %d\n" msgstr "Вторичн.: %d\n" #: parted/parted.c:1361 #, c-format msgid "Flags: %s\n" msgstr "Флаги: %s\n" #: parted/parted.c:1362 #, c-format msgid "File System: %s\n" msgstr "Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема: %s\n" #: parted/parted.c:1363 msgid "Size: " msgstr "Размер: " #: parted/parted.c:1368 msgid "Minimum size: " msgstr "Минимальный размер: " #: parted/parted.c:1371 msgid "Maximum size: " msgstr "МакÑимальный размер: " #: parted/parted.c:1504 #, c-format msgid "Model: %s (%s)\n" msgstr "Модель: %s (%s)\n" #: parted/parted.c:1506 #, c-format msgid "Disk %s: %s\n" msgstr "ДиÑк %s: %s\n" #: parted/parted.c:1507 #, c-format msgid "Sector size (logical/physical): %lldB/%lldB\n" msgstr "Размер Ñектора (логич./физич.): %lldB/%lldB\n" #: parted/parted.c:1525 #, c-format msgid "BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s.\n" msgstr "" "Ð“ÐµÐ¾Ð¼ÐµÑ‚Ñ€Ð¸Ñ Ñ†Ð¸Ð»Ð¸Ð½Ð´Ñ€Ð¾Ð², головок, Ñекторов BIOS: %d,%d,%d. Каждый цилиндр %s.\n" #: parted/parted.c:1534 #, c-format msgid "Partition Table: %s\n" msgstr "Таблица разделов: %s\n" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Number" msgstr "Ðомер" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Start" msgstr "Ðачало" #: parted/parted.c:1550 parted/parted.c:1553 msgid "End" msgstr "Конец" #: parted/parted.c:1553 msgid "Size" msgstr "Размер" #: parted/parted.c:1557 msgid "Type" msgstr "Тип" #: parted/parted.c:1559 msgid "File system" msgstr "Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема" #: parted/parted.c:1562 msgid "Name" msgstr "ИмÑ" #: parted/parted.c:1564 msgid "Flags" msgstr "Флаги" #: parted/parted.c:1621 msgid "Free Space" msgstr "Свободное меÑто" #: parted/parted.c:1782 #, c-format msgid "" "A %s %s partition was found at %s -> %s. Do you want to add it to the " "partition table?" msgstr "" "Раздел %s %s найден на %s -> %s. Ð’Ñ‹ хотите добавить его в таблицу разделов?" #: parted/parted.c:1821 msgid "searching for file systems" msgstr "поиÑк файловых ÑиÑтем" #: parted/parted.c:2041 msgid "New device?" msgstr "Ðовое уÑтройÑтво?" #: parted/parted.c:2086 msgid "alignment type(min/opt)" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d aligned\n" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d not aligned\n" msgstr "" #: parted/parted.c:2124 msgid "Flag to Invert?" msgstr "Флаг Ð´Ð»Ñ Ð¸Ð½Ð²ÐµÑ€Ñ‚Ð°Ñ†Ð¸Ð¸?" #: parted/parted.c:2129 msgid "New state?" msgstr "Ðовое ÑоÑтоÑние?" #: parted/parted.c:2166 msgid "Unit?" msgstr "УÑтройÑтво?" #: parted/parted.c:2348 #, fuzzy msgid "align-check" msgstr "check" #: parted/parted.c:2351 msgid "" "align-check TYPE N check partition N for TYPE(min|" "opt) alignment" msgstr "" #: parted/parted.c:2359 msgid "check" msgstr "check" #: parted/parted.c:2362 msgid "" "check NUMBER do a simple check on the file system" msgstr "" "check ÐОМЕР производит проÑтую проверку файловой ÑиÑтемы" #: parted/parted.c:2368 msgid "cp" msgstr "cp" #: parted/parted.c:2371 msgid "" "cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another " "partition" msgstr "" "cp [ИЗ_УСТРОЙСТВÐ] ИЗ_ÐОМ Ð’_ÐОМ Ñкопировать файловую ÑиÑтему на другой раздел" #: parted/parted.c:2377 msgid "help" msgstr "help" #: parted/parted.c:2380 msgid "" "help [COMMAND] print general help, or help on " "COMMAND" msgstr "" "help [КОМÐÐДÐ] раÑпечатать общую Ñправку или Ñправку по " "КОМÐÐДЕ" #: parted/parted.c:2386 msgid "mklabel" msgstr "mklabel" #: parted/parted.c:2386 msgid "mktable" msgstr "mktable" #: parted/parted.c:2389 msgid "" "mklabel,mktable LABEL-TYPE create a new disklabel (partition " "table)" msgstr "" "mklabel,mktable ТИП_МЕТКИ Ñоздать новую метку диÑка (таблицу " "раздела) " #: parted/parted.c:2395 msgid "mkfs" msgstr "mkfs" #: parted/parted.c:2398 #, fuzzy msgid "" "mkfs NUMBER FS-TYPE make a FS-TYPE file system on " "partition NUMBER" msgstr "" "mkfs ÐОМЕР ТИП_ФС Ñоздать файловую ÑиÑтему ТИП_ФС на разделе " "ÐОМЕР" #: parted/parted.c:2404 msgid "mkpart" msgstr "mkpart" #: parted/parted.c:2407 msgid "mkpart PART-TYPE [FS-TYPE] START END make a partition" msgstr "mkpart ТИП_РÐЗД [ТИП_ФС] ÐÐЧ КОРÑоздать раздел" #: parted/parted.c:2413 msgid "" "'mkpart' makes a partition without creating a new file system on the " "partition. FS-TYPE may be specified to set an appropriate partition ID.\n" msgstr "" "mkpart делает раздел без ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð½Ð° нем новой файловой ÑиÑтемы. ТИП_ФС " "должен быть указан Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи идентификатора раздела\n" #: parted/parted.c:2418 msgid "mkpartfs" msgstr "mkpartfs" #: parted/parted.c:2421 msgid "" "mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system" msgstr "mkpartfs ТИП_РÐЗД ТИП_ФС ÐÐЧ КОРÑоздать раздел Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ð¹ ÑиÑтемой" #: parted/parted.c:2427 msgid "move" msgstr "move" #: parted/parted.c:2430 msgid "move NUMBER START END move partition NUMBER" msgstr "move ÐОМЕР ÐÐЧ КОРперемеÑтить файловую ÑиÑтему ÐОМЕР" #: parted/parted.c:2435 msgid "name" msgstr "name" #: parted/parted.c:2438 msgid "name NUMBER NAME name partition NUMBER as NAME" msgstr "name ÐОМЕР ИМЯ назначает Ð¸Ð¼Ñ Ñ€Ð°Ð·Ð´ÐµÐ»Ñƒ ÐОМЕР на ИМЯ" #: parted/parted.c:2443 msgid "print" msgstr "print" #: parted/parted.c:2446 msgid "" "print [devices|free|list,all|NUMBER] display the partition table, " "available devices, free space, all found partitions, or a particular " "partition" msgstr "" "print [devices|free|list,all|ÐОМЕР] отображает таблицу разделов, " "доÑтупные уÑтройÑтва, Ñвободное меÑто, вÑе найденные разделы или " "определённый раздел" #: parted/parted.c:2451 msgid "" "Without arguments, 'print' displays the entire partition table. However with " "the following arguments it performs various other actions.\n" msgstr "" "Без параметров, 'print' отображает вÑÑŽ таблицу разделов. Ðо Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°Ð¼Ð¸ " "могут выполнÑтьÑÑ Ð¸ некоторые другие дейÑтвиÑ.\n" #: parted/parted.c:2453 msgid " devices : display all active block devices\n" msgstr " devices : отобразить вÑе активные блочные уÑтройÑтва\n" #: parted/parted.c:2454 msgid "" " free : display information about free unpartitioned space on the " "current block device\n" msgstr "" " free : отображает информацию о Ñвободное не разбитом проÑтранÑтве на " "текущем блочном уÑтройÑтве\n" #: parted/parted.c:2456 msgid "" " list, all : display the partition tables of all active block devices\n" msgstr "" " list, all : отображает таблицы разделов на вÑех активных блочных " "уÑтройÑтвах\n" #: parted/parted.c:2457 msgid "" " NUMBER : display more detailed information about this particular " "partition\n" msgstr "" " ÐОМЕР : отображает более детальную информацию о требуемом разделе\n" #: parted/parted.c:2462 msgid "quit" msgstr "quit" #: parted/parted.c:2465 msgid "quit exit program" msgstr "quit выйти из программы" #: parted/parted.c:2470 msgid "rescue" msgstr "resize" #: parted/parted.c:2473 msgid "" "rescue START END rescue a lost partition near START " "and END" msgstr "" "rescue ÐÐЧÐЛО КОÐЕЦ воÑÑтановить потерÑнный раздел в промежутке " "от ÐÐЧÐЛРдо КОÐЦÐ" #: parted/parted.c:2479 msgid "resize" msgstr "resize" #: parted/parted.c:2482 msgid "" "resize NUMBER START END resize partition NUMBER and its " "file system" msgstr "" "resize ÐОМЕР ÐÐЧ КОРизменить размер файловой ÑиÑтемы на разделе " "ÐОМЕР" #: parted/parted.c:2490 msgid "rm" msgstr "rm" #: parted/parted.c:2493 msgid "rm NUMBER delete partition NUMBER" msgstr "rm ÐОМЕР удалить раздел ÐОМЕР" #: parted/parted.c:2498 msgid "select" msgstr "select" #: parted/parted.c:2501 msgid "select DEVICE choose the device to edit" msgstr "select УСТРОЙСТВО выбор уÑтройÑтва Ð´Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ" #: parted/parted.c:2506 msgid "set" msgstr "set" #: parted/parted.c:2509 msgid "" "set NUMBER FLAG STATE change the FLAG on partition NUMBER" msgstr "set ÐОМЕР ФЛÐГ СОСТОЯÐИЯ изменить ФЛÐГ на разделе ÐОМЕР" #: parted/parted.c:2515 msgid "toggle" msgstr "toggle" #: parted/parted.c:2518 msgid "" "toggle [NUMBER [FLAG]] toggle the state of FLAG on " "partition NUMBER" msgstr "" "toggle [ÐОМЕР [ФЛÐГ]] переключает ÑоÑтоÑÐ½Ð¸Ñ Ð¤Ð›ÐГРна разделе ÐОМЕР" #: parted/parted.c:2524 msgid "unit" msgstr "unit" #: parted/parted.c:2527 msgid "unit UNIT set the default unit to UNIT" msgstr "" "unit УСТРОЙСТВО уÑтановить уÑтройÑтво по умолчанию на " "УСТРОЙСТВО" #: parted/parted.c:2532 msgid "version" msgstr "version" #: parted/parted.c:2535 msgid "" "version display the version number and " "copyright information of GNU Parted" msgstr "" "version отображает текущую верÑию GNU " "Parted и информацию о лицензии" #: parted/parted.c:2539 msgid "" "'version' displays copyright and version information corresponding to this " "copy of GNU Parted\n" msgstr "" "version отображает информацию о лицензии и верÑии Ñтой копии GNU Parted\n" #: parted/parted.c:2607 #, fuzzy, c-format msgid "Usage: %s [-hlmsv] [-a] [DEVICE [COMMAND [PARAMETERS]]...]\n" msgstr "ИÑпользование: %s [-hlmsv] [УСТРОЙСТВО [КОМÐÐДР[ПÐРÐМЕТРЫ]]...]\n" #: parted/parted.c:2651 msgid "No device found" msgstr "УÑтройÑтво не найдено" #: parted/parted.c:2688 msgid "WARNING: You are not superuser. Watch out for permissions." msgstr "Ð’ÐИМÐÐИЕ: Ð’Ñ‹ не админиÑтратор. Следите за правами." #: parted/parted.c:2726 msgid "You may need to update /etc/fstab.\n" msgstr "Ðе забудьте обновить /etc/fstab.\n" #: parted/ui.c:162 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n" msgstr "" "Добро пожаловать в GNU Parted! Ðаберите 'help' Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñмотра ÑпиÑка команд.\n" #: parted/ui.c:165 msgid "" "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n" "Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run " "in\n" "interactive mode.\n" msgstr "" "ИÑпользование: parted [ОПЦИЯ]... [УСТРОЙСТВО [КОМÐÐДР[ПÐРÐМЕТРЫ]...]...]\n" "ПрименÑет КОМÐÐДУ Ñ ÐŸÐРÐМЕТРÐМИ к УСТРОЙСТВУ. ЕÑли ни одной КОМÐÐДЫ не " "задано,\n" "выполнÑетÑÑ Ð² интерактивном режиме.\n" #: parted/ui.c:170 #, c-format msgid "" "\n" "\n" "You found a bug in GNU Parted! Here's what you have to do:\n" "\n" "Don't panic! The bug has most likely not affected any of your data.\n" "Help us to fix this bug by doing the following:\n" "\n" "Check whether the bug has already been fixed by checking\n" "the last version of GNU Parted that you can find at:\n" "\n" "\thttp://ftp.gnu.org/gnu/parted/\n" "\n" "Please check this version prior to bug reporting.\n" "\n" "If this has not been fixed yet or if you don't know how to check,\n" "please visit the GNU Parted website:\n" "\n" "\thttp://www.gnu.org/software/parted\n" "\n" "for further information.\n" "\n" "Your report should contain the version of this release (%s)\n" "along with the error message below, the output of\n" "\n" "\tparted DEVICE unit co print unit s print\n" "\n" "and the following history of commands you entered.\n" "Also include any additional information about your setup you\n" "consider important.\n" msgstr "" "\n" "\n" "Ð’Ñ‹ нашли ошибку в GNU Parted! Вот, что нужно делать:\n" "\n" "Ðе паникуйте! Эта ошибка Ñкорее вÑего не повлиÑет на ваши данные.\n" "Помогите нам иÑправить Ñту ошибку Ð´ÐµÐ»Ð°Ñ Ð²Ð¾Ñ‚ что:\n" "\n" "Проверьте, не иÑправлена ли ошибка ещё, загрузив\n" "поÑледнюю верÑию GNU Parted, которую вы\n" "можете найти на:\n" "\n" "\thttp://ftp.gnu.org/gnu/parted/\n" "\n" "ПожалуйÑта, проверьте Ñту верÑию, перед Ñообщением об ошибке.\n" "\n" "ЕÑли ошибка ещё не иÑправлена или вы не знаете как\n" "Ñто проверить поÑетите Ñайт GNU Parted:\n" "\n" "\thttp://www.gnu.org/software/parted\n" "\n" "за дополнительной информацией.\n" "\n" "Ваше Ñообщение должно Ñодержать номер Ñтой верÑии (%s)\n" "также как и Ñообщение об ошибке ниже и вывод команд\n" "\n" "\tparted УСТРОЙСТВО unit co print unit s print\n" "\n" "и команды, которые вы вводили.\n" "Ртакже любую дополнительную информацию о вашей конфигурации,\n" "еÑли вы поÑчитаете Ñто важным.\n" #: parted/ui.c:291 msgid "" "\n" "Command History:\n" msgstr "" "\n" "ИÑÑ‚Ð¾Ñ€Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´:\n" #: parted/ui.c:354 msgid "" "\n" "Error: SEGV_MAPERR (Address not mapped to object)\n" msgstr "" "\n" "Ошибка: SEGV_MAPERR (ÐÐ´Ñ€ÐµÑ Ð½Ðµ назначен объекту)\n" #: parted/ui.c:360 msgid "" "\n" "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n" msgstr "" "\n" "Ошибка: SEGV_ACCERR (Ðе правильные права Ð´Ð»Ñ Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ð¾Ð³Ð¾ объекта)\n" #: parted/ui.c:365 msgid "" "\n" "Error: A general SIGSEGV signal was encountered.\n" msgstr "" "\n" "Ошибка: Получен обычный Ñигнал SIGSEGV.\n" #: parted/ui.c:389 msgid "" "\n" "Error: FPE_INTDIV (Integer: divide by zero)" msgstr "" "\n" "Ошибка: FPE_INTDIV (Целое: деление на ноль)" #: parted/ui.c:394 msgid "" "\n" "Error: FPE_INTOVF (Integer: overflow)" msgstr "" "\n" "Ошибка: FPE_INTOVF (Целое: переполнение)" #: parted/ui.c:399 msgid "" "\n" "Error: FPE_FLTDIV (Float: divide by zero)" msgstr "" "\n" "Ошибка: FPE_FLTDIV (Float: деление на ноль)" #: parted/ui.c:404 msgid "" "\n" "Error: FPE_FLTOVF (Float: overflow)" msgstr "" "\n" "Ошибка: FPE_FLTOVF (Float: переполнение)" #: parted/ui.c:409 msgid "" "\n" "Error: FPE_FLTUND (Float: underflow)" msgstr "" "\n" "Ошибка: FPE_FLTUND (Float: underflow)" #: parted/ui.c:414 msgid "" "\n" "Error: FPE_FLTRES (Float: inexact result)" msgstr "" "\n" "Ошибка: FPE_FLTRES (Float: неточный ответ)" #: parted/ui.c:419 msgid "" "\n" "Error: FPE_FLTINV (Float: invalid operation)" msgstr "" "\n" "Ошибка: FPE_FLTINV (Float: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ)" #: parted/ui.c:424 msgid "" "\n" "Error: FPE_FLTSUB (Float: subscript out of range)" msgstr "" "\n" "Ошибка: FPE_FLTSUB (Float: выражение вне облаÑти)" #: parted/ui.c:429 msgid "" "\n" "Error: A general SIGFPE signal was encountered." msgstr "" "\n" "Ошибка: Получен обычный Ñигнал SIGFPE." #: parted/ui.c:453 msgid "" "\n" "Error: ILL_ILLOPC (Illegal Opcode)" msgstr "" "\n" "Ошибка: ILL_ILLOPC (Ðеправильный Opcode)" #: parted/ui.c:458 msgid "" "\n" "Error: ILL_ILLOPN (Illegal Operand)" msgstr "" "\n" "Ошибка: ILL_ILLOPN (Ðеправильный операнд)" #: parted/ui.c:463 msgid "" "\n" "Error: ILL_ILLADR (Illegal addressing mode)" msgstr "" "\n" "Ошибка: ILL_ILLADR (Ðеправильный режим адреÑации)" #: parted/ui.c:468 msgid "" "\n" "Error: ILL_ILLTRP (Illegal Trap)" msgstr "" "\n" "Ошибка: ILL_ILLTRP (Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ Ð»Ð¾Ð²ÑƒÑˆÐºÐ°)" #: parted/ui.c:473 msgid "" "\n" "Error: ILL_PRVOPC (Privileged Opcode)" msgstr "" "\n" "Ошибка: ILL_PRVOPC (Привилегированный Opcode)" #: parted/ui.c:478 msgid "" "\n" "Error: ILL_PRVREG (Privileged Register)" msgstr "" "\n" "Ошибка: ILL_PRVREG (Привилегированный региÑтр)" #: parted/ui.c:483 msgid "" "\n" "Error: ILL_COPROC (Coprocessor Error)" msgstr "" "\n" "Ошибка: ILL_COPROC (Ошибка ÑопроцеÑÑора)" #: parted/ui.c:488 msgid "" "\n" "Error: ILL_BADSTK (Internal Stack Error)" msgstr "" "\n" "Ошибка: ILL_BADSTK (Ошибка внутреннего Ñтека)" #: parted/ui.c:493 msgid "" "\n" "Error: A general SIGILL signal was encountered." msgstr "" "\n" "Ошибка: Получен обычный Ñигнал SIGILL." #: parted/ui.c:892 #, c-format msgid "invalid token: %s" msgstr "Ðе правильный ключ: %s" #: parted/ui.c:1048 msgid "Expecting a partition number." msgstr "ОжидаетÑÑ Ð½Ð¾Ð¼ÐµÑ€ раздела." #: parted/ui.c:1057 msgid "Partition doesn't exist." msgstr "Раздел не ÑущеÑтвует." #: parted/ui.c:1077 msgid "Expecting a file system type." msgstr "ОжидаетÑÑ Ñ‚Ð¸Ð¿ файловой ÑиÑтемы." #: parted/ui.c:1084 #, c-format msgid "Unknown file system type \"%s\"." msgstr "ÐеизвеÑтный тип файловой ÑиÑтемы \"%s\"." #: parted/ui.c:1104 msgid "Expecting a disk label type." msgstr "ОжидаетÑÑ Ñ‚Ð¸Ð¿ подпиÑи диÑка." #: parted/ui.c:1202 msgid "Can't create any more partitions." msgstr "Ðевозможно Ñоздать больше разделов." #: parted/ui.c:1212 msgid "Expecting a partition type." msgstr "ОжидаетÑÑ Ñ‚Ð¸Ð¿ раздела." #: parted/ui.c:1360 msgid "on" msgstr "вкл" #: parted/ui.c:1361 msgid "off" msgstr "выкл" #: parted/ui.c:1378 msgid "optimal" msgstr "" #: parted/ui.c:1379 msgid "minimal" msgstr "" #: parted/ui.c:1512 msgid "OPTIONs:" msgstr "КЛЮЧИ:" #: parted/ui.c:1517 msgid "COMMANDs:" msgstr "КОМÐÐДЫ:" #: parted/ui.c:1520 #, fuzzy, c-format msgid "" "\n" "Report bugs to %s\n" msgstr "" "\n" "Сообщайте об ошибках на <%s>.\n" #: parted/ui.c:1527 #, c-format msgid "Using %s\n" msgstr "ИÑпользуетÑÑ %s\n" #: parted/ui.c:1601 msgid "This command does not make sense in non-interactive mode.\n" msgstr "Эта команда ничего не делает в не-интерактивном режиме.\n" #~ msgid "" #~ "Device %s has a logical sector size of %lld. Not all parts of GNU Parted " #~ "support this at the moment, and the working code is HIGHLY EXPERIMENTAL.\n" #~ msgstr "" #~ "УÑтройÑтво %s имеет логичеÑкий размер Ñектора равный %lld. Ðе вÑе чаÑти " #~ "программы GNU Parted поддерживают Ñто ÑейчаÑ, и рабочий код ОЧЕÐЬ " #~ "ЭКСПЕРИМЕÐТÐЛЬÐЫЙ.\n" #, fuzzy #~ msgid "" #~ "Could not determine minimum io size for %s: %s.\n" #~ "Using the default size (%lld)." #~ msgstr "" #~ "Ðе удалоÑÑŒ определить размер Ñектора Ð´Ð»Ñ %s: %s.\n" #~ "ИÑпользую Ñтандартный размер Ñектора (%lld)." #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: неправильный параметр -- %c\n" #~ msgid "Unable to determine the block size of this dasd" #~ msgstr "Ðе удаётÑÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ð¸Ñ‚ÑŒ размер блока Ð´Ð»Ñ Ñтого dasd" #~ msgid "" #~ "The kernel was unable to re-read the partition table on %s (%s). This " #~ "means Linux won't know anything about the modifications you made until " #~ "you reboot. You should reboot your computer before doing anything with " #~ "%s." #~ msgstr "" #~ "Ядро не Ñмогло Ñчитать таблицу разделов на %s (%s). Это значит, что " #~ "Ñделанные вами Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½ÐµÐ´Ð¾Ñтупны Ð´Ð»Ñ Linux. Ð’Ñ‹ должны перезагрузить " #~ "ваш компьютер до того, как что-либо делать Ñ %s." #~ msgid "File system has an incompatible feature enabled." #~ msgstr "Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема имеет включённое неÑовмеÑтимое ÑвойÑтво." #~ msgid "Device %s is neither a SCSI nor IDE drive." #~ msgstr "УÑтройÑтво %s не ÑвлÑетÑÑ Ð½Ð¸ SCSI, ни IDE диÑком." #~ msgid "Device %s has dodgey geometry." #~ msgstr "УÑтройÑтво %s имеет Ñтранную геометрию." #~ msgid "" #~ "There is no boot code on this disk. Would you like to use GNU parted's " #~ "boot loader?" #~ msgstr "" #~ "Ðа Ñтом диÑке нет кода загрузки. Ð’Ñ‹ хотите иÑпользовать загрузчик GNU " #~ "parted?" #~ msgid "" #~ "The partition table on %s is inconsistent. There are many reasons why " #~ "this might be the case. However, the most likely reason is that Linux " #~ "detected the BIOS geometry for %s incorrectly. GNU Parted suspects the " #~ "real geometry should be %d/%d/%d (not %d/%d/%d). You should check with " #~ "your BIOS first, as this may not be correct. You can inform Linux by " #~ "adding the parameter %s=%d,%d,%d to the command line. See the LILO " #~ "documentation for more information. If you think Parted's suggested " #~ "geometry is correct, you may select Ignore to continue (and fix Linux " #~ "later). Otherwise, select Cancel (and fix Linux and/or the BIOS now)." #~ msgstr "" #~ "Таблица разделов на %s ÑвлÑетÑÑ Ð¿Ñ€Ð¾Ñ‚Ð¸Ð²Ð¾Ñ€ÐµÑ‡Ð¸Ð²Ð¾Ð¹. СущеÑтвует много причин, " #~ "в Ñилу которых Ñто может иметь меÑто. Однако, вероÑтнее вÑего, Linux " #~ "неправильно определил геометрию BIOS Ð´Ð»Ñ %s. GNU Parted подозревает, что " #~ "Ñ€ÐµÐ°Ð»ÑŒÐ½Ð°Ñ Ð³ÐµÐ¾Ð¼ÐµÑ‚Ñ€Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ð° быть %d/%d/%d (а не %d/%d/%d). Сначала вы " #~ "должны проверить BIOS, так как Ñто может быть неверно. Ð’Ñ‹ можете Ñвно " #~ "указать ее Linux, добавив в командной Ñтроке параметр %s=%d,%d,%d. Ð”Ð»Ñ " #~ "дополнительной информации, Ñм. документацию на LILO. ЕÑли вы Ñчитаете, " #~ "что Ð¿Ñ€ÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð½Ð°Ñ Parted Ð³ÐµÐ¾Ð¼ÐµÑ‚Ñ€Ð¸Ñ Ð²ÐµÑ€Ð½Ð°, выберите Игнорировать Ð´Ð»Ñ " #~ "Ð¿Ñ€Ð¾Ð´Ð¾Ð»Ð¶ÐµÐ½Ð¸Ñ (и Ñкорректируйте Linux позже). Иначе, выберите Отмену (и " #~ "Ñкорректируйте Linux и/или BIOS ÑейчаÑ)." #~ msgid "" #~ "The partition table on %s is inconsistent. There are many reasons why " #~ "this might be the case. Often, the reason is that Linux detected the " #~ "BIOS geometry incorrectly. However, this does not appear to be the case " #~ "here." #~ msgstr "" #~ "ÐŸÑ€Ð¾Ñ‚Ð¸Ð²Ð¾Ñ€ÐµÑ‡Ð¸Ð²Ð°Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° разделов на %s. Это может иметь меÑто в Ñилу " #~ "многих причин. ЧаÑто Ñто проиÑходит потому, что Linux неправильно " #~ "определÑет геометрию BIOS. Однако, в данном Ñлучае причина, видимо, инаÑ." #~ msgid "No get_min_size() for %s!" #~ msgstr "Ðет get_min_size() Ð´Ð»Ñ %s!" #~ msgid "No get_system() for %s!" #~ msgstr "Ðет get_system() Ð´Ð»Ñ %s!" #~ msgid "The code to write the partition table hasn't been written for %s yet" #~ msgstr "Программа Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи таблицы разделов Ð´Ð»Ñ %s пока не напиÑана" #~ msgid "" #~ "No filesystem found on partition. Can't determine what partition system " #~ "to use." #~ msgstr "" #~ "Ðа разделе не найдено ни одной файловой ÑиÑтемы. Ðевозможно определить, " #~ "какую ÑиÑтему разделов иÑпользовать." #~ msgid "Error reading %s (%s) to determine if partition is mounted." #~ msgstr "" #~ "Ошибка при чтении %s (%s) Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ, ÑвлÑетÑÑ Ð»Ð¸ раздел " #~ "замонтированным." #~ msgid "" #~ "This ext2 filesystem has a rather strange layout! Please use dumpe2fs on " #~ "this filesystem and send it to . I won't resize it, " #~ "sorry." #~ msgstr "" #~ "Эта Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема ext2 имеет довольно Ñтранную Ñхему! ПожалуйÑта, " #~ "иÑпользуйте dumpe2fs Ð´Ð»Ñ Ñтой файловой ÑиÑтемы и пошлите результат " #~ ". Размер не будет изменен, извините." #~ msgid "Insane! %d clusters!" #~ msgstr "Странно! %d клаÑтеров!" #~ msgid "" #~ "The filesystem is going to be too big for FAT16, so FAT32 will be used. " #~ "This is not compatible with MS-DOS, early versions of MS-Windows 95 and " #~ "Windows NT. If you use these operating systems, then select cancel, and " #~ "create a smaller partition. If you only use Linux, BSD, MS Windows 98 " #~ "and/or MS Windows 95 B, then select OK." #~ msgstr "" #~ "Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема ÑтановитÑÑ Ñлишком большой Ð´Ð»Ñ FAT16, так что будет " #~ "иÑпользована FAT32. Это не ÑовмеÑтимо Ñ MS-DOS, ранними верÑиÑми MS-" #~ "Windows 95 и Windows NT. ЕÑли вы иÑпользуете Ñти операционные ÑиÑтемы, " #~ "выберите отмену и Ñоздайте меньший раздел. ЕÑли вы иÑпользуете только " #~ "Linux, BSD, MS Windows 98 и/или MS Widnows 95 B, выберите OK." #~ msgid "Weird: fat_calc_sizes() failed for FAT32!" #~ msgstr "Странно: ошибка в fat_calc_sizes() Ð´Ð»Ñ FAT32!" #~ msgid "" #~ "Would you like to use FAT32 for this filesystem? It is much more " #~ "efficient with your disk space, but is not compatible with early versions " #~ "of Windows 95 and Windows NT. Only select yes if you only use Linux, " #~ "BSD, MS Windows 98 and/or MS Windows 95 B." #~ msgstr "" #~ "Хотите иÑпользовать FAT32 Ð´Ð»Ñ Ñтой файловой ÑиÑтемы? Она намного " #~ "Ñффективнее иÑпользует диÑковое проÑтранÑтво, но неÑовмеÑтима Ñ Ñ€Ð°Ð½Ð½Ð¸Ð¼Ð¸ " #~ "верÑиÑми Windows 95 и Windows NT. Выберите `да' лишь в Ñлучае, еÑли " #~ "иÑпользуете только Linux, BSD, MS Windows 98 и/или MS Windows 95 B." #~ msgid "FAT filesystems don't have an id for non-msdos partition tables" #~ msgstr "" #~ "Файловые ÑиÑтемы FAT не имеют идентификатора Ð´Ð»Ñ Ð½Ðµ-msdos таблиц разделов" #~ msgid "" #~ "Would you like to use FAT32? It is more efficient, but it is not " #~ "compatible with MS-DOS, early versions of MS-Windows 95 and Windows NT. " #~ "If you use these operating systems, then select No. If you only use " #~ "Linux, BSD, MS Windows 98 and/or MS Windows 95 B, then you may select Yes." #~ msgstr "" #~ "Ð’Ñ‹ хотите иÑпользовать FAT32? Она более Ñффективна, но не ÑовмеÑтима Ñ " #~ "MS-DOS, ранними верÑиÑми MS-Windows 95 и Windows NT. ЕÑли вы иÑпользуете " #~ "Ñти операционные ÑиÑтемы, выберите Ðет. ЕÑли вы иÑпользуете только " #~ "Linux, BSD, MS Windows 98 и/или MS Widnows 95 B, тогда можете выбрать Да." #~ msgid "" #~ "The filesystem is going to be too big for FAT16, so FAT32 must be used. " #~ "This is not compatible with MS-DOS, early versions of MS-Windows 95 and " #~ "Windows NT. If you use these operating systems, then select Cancel, and " #~ "create a smaller partition. If you only use Linux, BSD, MS Windows 98 " #~ "and/or MS Windows 95 B, then select OK." #~ msgstr "" #~ "Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема ÑтановитÑÑ Ñлишком большой Ð´Ð»Ñ FAT16, так что будет " #~ "иÑпользована FAT32. Это не ÑовмеÑтимо Ñ MS-DOS, ранними верÑиÑми MS-" #~ "Windows 95 и Windows NT. ЕÑли вы иÑпользуете Ñти операционные ÑиÑтемы, " #~ "выберите Отменить и Ñоздайте меньший раздел. ЕÑли вы иÑпользуете только " #~ "Linux, BSD, MS Windows 98 и/или MS Widnows 95 B, выберите OK." #~ msgid "" #~ "Partition size (%ld sectors) and filesystem size (%d sectors) do not " #~ "match." #~ msgstr "" #~ "Размеры раздела (%ld Ñекторов) и файловой ÑиÑтемы (%d Ñекторов) не " #~ "Ñовпадают." #~ msgid "" #~ "This swap partition is not compatible with Linux version 2.1.117 or " #~ "earlier. Use a smaller partition (maximum size 128mb) if you want to use " #~ "old versions of Linux." #~ msgstr "" #~ "Этот swap-раздел не ÑовмеÑтим Ñ Linux верÑии 2.1.117 или более ранней. " #~ "ИÑпользуйте меньший раздел (макÑимальный размер 128МБ), еÑли вы хотите " #~ "иÑпользовать Ñтарые верÑии Linux." #~ msgid "START and END are in cylinders\n" #~ msgstr "START и END находÑÑ‚ÑÑ Ð² цилиндрах\n" #~ msgid "Disk geometry: 1-%d, %dk cylinders\n" #~ msgstr "Ð“ÐµÐ¾Ð¼ÐµÑ‚Ñ€Ð¸Ñ Ð´Ð¸Ñка: 1-%d, %dk цилиндров\n" #~ msgid "Minor Start End Type Filesystem Flags\n" #~ msgstr "Ðомер Ðачало Конец Тип Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема Флаги\n" #~ msgid "" #~ "You found a bug in GNU Parted. Please email a bug report to bug-" #~ "parted@gnu.org containing the version (%s), and the following message:\n" #~ msgstr "" #~ "Ð’Ñ‹ обнаружили ошибку в GNU parted. ПожалуйÑта, пошлите отчет об ошибке\n" #~ "по адреÑу bug-parted@gnu.org, Ñодержащий верÑию (%s) и\n" #~ "Ñледующее Ñообщение:\n" #~ msgid "" #~ "The operating system thinks the geometry on %s is %d/%d/%d. You should " #~ "check that this matches the BIOS geometry before using this program." #~ msgstr "" #~ "ÐžÐ¿ÐµÑ€Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð°Ñ ÑиÑтема определила геометрию на %s как %d/%d/%d. Перед " #~ "иÑпользованием программы, вы должны проверить, что Ñто ÑоответÑтвует " #~ "геометрии, указанной в BIOS." #, fuzzy #~ msgid "" #~ "The sector size on %s is %d bytes. Parted is known not to work properly " #~ "with drives with sector sizes other than 512 bytes" #~ msgstr "" #~ "Эта Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема имеет размер логичеÑкого Ñектора %d. СчитаетÑÑ, что " #~ "GNU Parted работает неправильно Ñ Ñекторами, размер которых отличен от " #~ "512 байт." #, fuzzy #~ msgid "Unknown SCSI" #~ msgstr "ÐеизвеÑтный" #, fuzzy #~ msgid "Can't create a partition with the start after the end." #~ msgstr "Ðевозможно Ñоздать раздел за пределами уÑтройÑтва!" #, fuzzy #~ msgid "Can't grow partition onto used space, or outside the disk." #~ msgstr "Ðевозможно Ñоздать раздел за пределами уÑтройÑтва!" #, fuzzy #~ msgid "Attempt to read sectors %ld-%ld outside of partition on %s" #~ msgstr "Попытка запиÑи Ñекторов %ld-%ld за пределы раздела на %s." #, fuzzy #~ msgid "" #~ "File system doesn't have expected sizes for Windows to like it. Number " #~ "of clusters is %d (%d expected); size of FATs is %d sectors (%d expected)." #~ msgstr "" #~ "Windows не может работать Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ð¹ ÑиÑтемой, имеющей такие размеры. " #~ "Размер клаÑтера %dk (ожидаемый %dk); чиÑло клаÑтеров %d (ожидаемое %d); " #~ "размер FAT %d Ñекторов (ожидаемый %d)." #, fuzzy #~ msgid "Filesystem has an invalid signature for a FAT filesystems." #~ msgstr "Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема имеет неверную Ð´Ð»Ñ FAT Ñигнатуру." #, fuzzy #~ msgid "Linux-swap partitions can not be hidden." #~ msgstr "РаÑширенные разделы не могут быть Ñкрыты при msdos метках диÑка." #, fuzzy #~ msgid "where necessary, prompts for user intervention" #~ msgstr "никогда не запрашивает вмешательÑтво пользователÑ" #, fuzzy #~ msgid "hide" #~ msgstr "Ñкрытый" #, fuzzy #~ msgid "unhide" #~ msgstr "Ñкрытый" #, fuzzy #~ msgid "hide MINOR hides partition MINOR" #~ msgstr "move ÐОМЕР ÐÐЧ КОРперемеÑтить файловую ÑиÑтему ÐОМЕР" #, fuzzy #~ msgid "unhide MINOR unhides partition MINOR" #~ msgstr "move ÐОМЕР ÐÐЧ КОРперемеÑтить файловую ÑиÑтему ÐОМЕР" parted-2.3/po/pt.po0000644000000000000000000030606311400005705011125 00000000000000# Portuguese messages for GNU parted. # Copyright (C) 2001 Free Software Foundation, Inc. # Gonçalo Silva , 2001. # Based on pt_BR.po made by Eliphas Levy Theodoro. # msgid "" msgstr "" "Project-Id-Version: parted 1.4.20\n" "Report-Msgid-Bugs-To: bug-parted@gnu.org\n" "POT-Creation-Date: 2010-05-28 20:30+0200\n" "PO-Revision-Date: 2001-10-16 20:16+02:00\n" "Last-Translator: Gonçalo Silva \n" "Language-Team: Portuguese \n" "Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8-bit\n" #: lib/argmatch.c:133 #, fuzzy, c-format msgid "invalid argument %s for %s" msgstr "Tabela de partições inválida em %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "" #: lib/argmatch.c:153 #, fuzzy, c-format msgid "Valid arguments are:" msgstr "Tabela de partições inválida em %s" #: lib/closeout.c:112 libparted/labels/fdasd.c:107 msgid "write error" msgstr "" #: lib/error.c:181 #, fuzzy msgid "Unknown system error" msgstr "Tipo de sistema de ficheiros desconhecido." #: lib/getopt.c:527 lib/getopt.c:543 #, c-format msgid "%s: option '%s' is ambiguous\n" msgstr "" #: lib/getopt.c:576 lib/getopt.c:580 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:589 lib/getopt.c:594 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:637 lib/getopt.c:656 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "" #: lib/getopt.c:694 lib/getopt.c:697 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "Impossível abrir %s - rótulo de disco desconhecido." #: lib/getopt.c:705 lib/getopt.c:708 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "Impossível abrir %s - rótulo de disco desconhecido." #: lib/getopt.c:757 lib/getopt.c:760 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "" #: lib/getopt.c:810 lib/getopt.c:827 lib/getopt.c:1035 lib/getopt.c:1053 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "" #: lib/getopt.c:883 lib/getopt.c:899 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "" #: lib/getopt.c:923 lib/getopt.c:941 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:962 lib/getopt.c:980 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". If the catalog has no translation, #. locale_quoting_style quotes `like this', and #. clocale_quoting_style quotes "like this". #. #. For example, an American English Unicode locale should #. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and #. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION #. MARK). A British English Unicode locale should instead #. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) #. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. #. #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. #: lib/quotearg.c:272 msgid "`" msgstr "" #: lib/quotearg.c:273 msgid "'" msgstr "" #: lib/regcomp.c:134 msgid "Success" msgstr "" #: lib/regcomp.c:137 msgid "No match" msgstr "" #: lib/regcomp.c:140 msgid "Invalid regular expression" msgstr "" #: lib/regcomp.c:143 msgid "Invalid collation character" msgstr "" #: lib/regcomp.c:146 msgid "Invalid character class name" msgstr "" #: lib/regcomp.c:149 msgid "Trailing backslash" msgstr "" #: lib/regcomp.c:152 msgid "Invalid back reference" msgstr "" #: lib/regcomp.c:155 msgid "Unmatched [ or [^" msgstr "" #: lib/regcomp.c:158 msgid "Unmatched ( or \\(" msgstr "" #: lib/regcomp.c:161 msgid "Unmatched \\{" msgstr "" #: lib/regcomp.c:164 msgid "Invalid content of \\{\\}" msgstr "" #: lib/regcomp.c:167 msgid "Invalid range end" msgstr "" #: lib/regcomp.c:170 msgid "Memory exhausted" msgstr "" #: lib/regcomp.c:173 msgid "Invalid preceding regular expression" msgstr "" #: lib/regcomp.c:176 msgid "Premature end of regular expression" msgstr "" #: lib/regcomp.c:179 msgid "Regular expression too big" msgstr "" #: lib/regcomp.c:182 msgid "Unmatched ) or \\)" msgstr "" #: lib/regcomp.c:703 msgid "No previous regular expression" msgstr "" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "" #: lib/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "" #: lib/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "" #: lib/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" #: lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "" #: lib/xstrtol-error.c:63 #, fuzzy, c-format msgid "invalid %s%s argument `%s'" msgstr "Tabela de partições inválida em %s" #: lib/xstrtol-error.c:68 #, fuzzy, c-format msgid "invalid suffix in %s%s argument `%s'" msgstr "Tabela de partições inválida em %s" #: lib/xstrtol-error.c:72 #, fuzzy, c-format msgid "%s%s argument `%s' too large" msgstr "Tabela de partições inválida em %s" #: libparted/arch/beos.c:245 msgid "Disk Image" msgstr "" #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277 #: libparted/arch/linux.c:1519 #, c-format msgid "Error opening %s: %s" msgstr "Erro abrindo %s: %s" #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287 #: libparted/arch/linux.c:1530 #, c-format msgid "Unable to open %s read-write (%s). %s has been opened read-only." msgstr "" "Não posso abrir %s para gravação (%s). %s foi aberto somente para leitura." #: libparted/arch/beos.c:419 libparted/arch/linux.c:1688 #, c-format msgid "%s during seek for read on %s" msgstr "%s durante procura para leitura em %s" #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564 #: libparted/arch/gnu.c:692 libparted/arch/linux.c:1648 #: libparted/arch/linux.c:1729 #, c-format msgid "%s during read on %s" msgstr "%s durante leitura em %s" #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525 #: libparted/arch/linux.c:1805 #, c-format msgid "Can't write to %s, because it is opened read-only." msgstr "Não posso gravar em %s, pois ela foi aberta como somente para leitura." #: libparted/arch/beos.c:504 libparted/arch/linux.c:1830 #, c-format msgid "%s during seek for write on %s" msgstr "%s durante procura para escrita em %s" #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646 #: libparted/arch/gnu.c:723 libparted/arch/linux.c:1778 #: libparted/arch/linux.c:1872 libparted/arch/linux.c:1944 #, c-format msgid "%s during write on %s" msgstr "%s durante escrita em %s" #: debug/clearfat/clearfat.c:62 partprobe/partprobe.c:137 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "" #: debug/clearfat/clearfat.c:66 #, c-format msgid "" "Usage: %s [OPTION]\n" " or: %s DEVICE MINOR\n" msgstr "" #: debug/clearfat/clearfat.c:69 msgid "" "Clear unused space on a FAT partition (a GNU Parted testing tool).\n" "\n" msgstr "" #: debug/clearfat/clearfat.c:73 msgid " --help display this help and exit\n" msgstr "" #: debug/clearfat/clearfat.c:74 msgid " --version output version information and exit\n" msgstr "" #: debug/clearfat/clearfat.c:76 partprobe/partprobe.c:154 #, c-format msgid "" "\n" "Report bugs to <%s>.\n" msgstr "" #: debug/clearfat/clearfat.c:284 #, c-format msgid "too few arguments" msgstr "" #: debug/clearfat/clearfat.c:289 #, fuzzy, c-format msgid "too many arguments" msgstr "Muitas páginas inválidas." #: debug/clearfat/clearfat.c:297 #, fuzzy, c-format msgid "invalid minor device number: %s" msgstr "Tabela de partições inválida em %s" #: partprobe/partprobe.c:141 #, c-format msgid "Usage: %s [OPTION] [DEVICE]...\n" msgstr "" #: partprobe/partprobe.c:142 msgid "" "Inform the operating system about partition table changes.\n" "\n" " -d, --dry-run do not actually inform the operating system\n" " -s, --summary print a summary of contents\n" " -h, --help display this help and exit\n" " -v, --version output version information and exit\n" msgstr "" #: partprobe/partprobe.c:150 msgid "" "\n" "When no DEVICE is given, probe all partitions.\n" msgstr "" #: libparted/arch/gnu.c:110 #, c-format msgid "Unable to open %s." msgstr "" #: libparted/arch/gnu.c:130 #, fuzzy msgid "Unable to probe store." msgstr "Impossível alinhar a partição." #: libparted/arch/gnu.c:368 #, fuzzy msgid "" "The partition table cannot be re-read. This means you need to reboot before " "mounting any modified partitions. You also need to reinstall your boot " "loader before you reboot (which may require mounting modified partitions). " "It is impossible do both things! So you'll need to boot off a rescue disk, " "and reinstall your boot loader from the rescue disk. Read section 4 of the " "Parted User documentation for more information." msgstr "" "O kernel não pôde reler sua tabela de partições, portanto precisa de " "reiniciar antes de montar qualquer partição modificada. Voce pode também " "precisar reinstalar seu gestor de boot antes de reinicializar (o que pode " "requerer a montagem das partições modificadas). É impossível fazer as duas " "coisas! Leia a secção 4 da documentação do usuário do Parted para mais " "informações." #: libparted/arch/gnu.c:385 #, fuzzy, c-format msgid "" "The partition table on %s cannot be re-read (%s). This means the Hurd knows " "nothing about any modifications you made. You should reboot your computer " "before doing anything with %s." msgstr "" "O kernel não conseguiu reler a tabela de partições de %s (%s). Isto " "significa que o Linux não sabe nada sobre as modificações que fez. Deverá " "reinicializar seu computador antes de fazer qualquer uso de %s." #: libparted/arch/gnu.c:396 parted/parted.c:2719 msgid "" "You should reinstall your boot loader before rebooting. Read section 4 of " "the Parted User documentation for more information." msgstr "" "Deverá reinstalar seu gestor de boot antes de reinicializar. Leia a secção 4 " "da documentação do utilizador do Parted para mais informações." #: libparted/arch/gnu.c:788 #, c-format msgid "%s trying to sync %s to disk" msgstr "" #: libparted/arch/linux.c:509 #, c-format msgid "Could not stat device %s - %s." msgstr "Não foi possível inicializar o dispositivo %s - %s." #: libparted/arch/linux.c:566 #, fuzzy, c-format msgid "Unable to determine the dm type of %s." msgstr "Impossível determinar tamanho de %s (%s)" #: libparted/arch/linux.c:658 #, c-format msgid "" "Could not determine sector size for %s: %s.\n" "Using the default sector size (%lld)." msgstr "" #: libparted/arch/linux.c:679 #, c-format msgid "" "Could not determine physical sector size for %s.\n" "Using the logical sector size (%lld)." msgstr "" #: libparted/arch/linux.c:728 #, fuzzy, c-format msgid "Unable to determine the size of %s (%s)." msgstr "Impossível determinar tamanho de %s (%s)" #: libparted/arch/linux.c:814 #, c-format msgid "Could not get identity of device %s - %s" msgstr "Não foi possível obter a identificação do dispositivo %s - %s" #: libparted/arch/linux.c:823 msgid "Generic IDE" msgstr "" #: libparted/arch/linux.c:844 #, c-format msgid "" "Device %s has multiple (%d) logical sectors per physical sector.\n" "GNU Parted supports this EXPERIMENTALLY for some special disk label/file " "system combinations, e.g. GPT and ext2/3.\n" "Please consult the web site for up-to-date information." msgstr "" #: libparted/arch/linux.c:1019 #, c-format msgid "Error initialising SCSI device %s - %s" msgstr "Erro inicializando dispositivo SCSI %s - %s" #: libparted/arch/linux.c:1083 #, c-format msgid "" "The device %s has zero length, and can't possibly store a file system or " "partition table. Perhaps you selected the wrong device?" msgstr "" #: libparted/arch/linux.c:1190 #, fuzzy, c-format msgid "" "Unable to determine geometry of file/device %s. You should not use Parted " "unless you REALLY know what you're doing!" msgstr "" "Impossível determinar a geometria do ficheiro/dispositivo. Não deve utilizar " "o Parted a não ser que REALMENTE saiba o que está a fazer!" #: libparted/arch/linux.c:1250 msgid "Generic SD/MMC Storage Card" msgstr "" #: libparted/arch/linux.c:1303 msgid "DAC960 RAID controller" msgstr "Controlador RAID DAC960" #: libparted/arch/linux.c:1308 msgid "Promise SX8 SATA Device" msgstr "" #: libparted/arch/linux.c:1313 msgid "ATA over Ethernet Device" msgstr "" #: libparted/arch/linux.c:1319 msgid "IBM S390 DASD drive" msgstr "" #: libparted/arch/linux.c:1325 msgid "IBM iSeries Virtual DASD" msgstr "" #: libparted/arch/linux.c:1330 msgid "Compaq Smart Array" msgstr "Compaq Smart Array" #: libparted/arch/linux.c:1335 msgid "ATARAID Controller" msgstr "Controlador ATARAID" #: libparted/arch/linux.c:1340 msgid "I2O Controller" msgstr "Controlador I20" #: libparted/arch/linux.c:1345 msgid "User-Mode Linux UBD" msgstr "" #: libparted/arch/linux.c:1358 #, c-format msgid "Linux device-mapper (%s)" msgstr "" #: libparted/arch/linux.c:1369 msgid "Xen Virtual Block Device" msgstr "" #: libparted/arch/linux.c:1374 msgid "Unknown" msgstr "Desconhecido" #: libparted/arch/linux.c:1383 msgid "Virtio Block Device" msgstr "" #: libparted/arch/linux.c:1388 msgid "Linux Software RAID Array" msgstr "" #: libparted/arch/linux.c:1395 msgid "ped_device_new() Unsupported device type" msgstr "ped_device_new() Tipo de dispositivo não suportado" #: libparted/arch/linux.c:1492 libparted/arch/linux.c:1564 #, fuzzy, c-format msgid "Error fsyncing/closing %s: %s" msgstr "Erro abrindo %s: %s" #: libparted/arch/linux.c:1728 #, c-format msgid "end of file while reading %s" msgstr "" #: libparted/arch/linux.c:2365 #, fuzzy, c-format msgid "" "Error informing the kernel about modifications to partition %s -- %s. This " "means Linux won't know about any changes you made to %s until you reboot -- " "so you shouldn't mount it or use it in any way before rebooting." msgstr "" "O kernel não conseguiu reler a tabela de partições de %s (%s). Isto " "significa que o Linux não sabe nada sobre as modificações que fez. Deverá " "reinicializar seu computador antes de fazer qualquer uso de %s." #: libparted/arch/linux.c:2503 #, fuzzy, c-format msgid "Unable to determine the size and length of %s." msgstr "Impossível determinar tamanho de %s (%s)" #: libparted/arch/linux.c:2528 #, fuzzy, c-format msgid "Failed to add partition %d (%s)" msgstr "Impossível determinar se a partição está montada." #: libparted/arch/linux.c:2555 #, c-format msgid "" "Partition(s) %s on %s have been written, but we have been unable to inform " "the kernel of the change, probably because it/they are in use. As a result, " "the old partition(s) will remain in use. You should reboot now before " "making further changes." msgstr "" #: libparted/arch/linux.c:2681 #, fuzzy, c-format msgid "" "parted was unable to re-read the partition table on %s (%s). This means " "Linux won't know anything about the modifications you made. " msgstr "" "O kernel não conseguiu reler a tabela de partições de %s (%s). Isto " "significa que o Linux não sabe nada sobre as modificações que fez. Deverá " "reinicializar seu computador antes de fazer qualquer uso de %s." #: libparted/cs/geom.c:162 #, fuzzy, c-format msgid "Can't have the end before the start! (start sector=%jd length=%jd)" msgstr "Não pode ter o fim da partição antes do início." #: libparted/cs/geom.c:170 msgid "Can't have a partition outside the disk!" msgstr "Não pode ter uma partição fora do disco!." #: libparted/cs/geom.c:385 #, fuzzy, c-format msgid "Attempt to write sectors %ld-%ld outside of partition on %s." msgstr "Tentativa de escrever sectores %ld-%ld fora da partição em %s" #: libparted/cs/geom.c:425 libparted/fs/linux_swap/linux_swap.c:488 msgid "checking for bad blocks" msgstr "" #: libparted/debug.c:97 #, c-format msgid "Backtrace has %d calls on stack:\n" msgstr "" #: libparted/debug.c:110 #, c-format msgid "Assertion (%s) at %s:%d in function %s() failed." msgstr "" #: libparted/disk.c:193 #, fuzzy, c-format msgid "%s: unrecognised disk label" msgstr "Impossível abrir %s - rótulo de disco desconhecido." #: libparted/disk.c:486 #, fuzzy, c-format msgid "" "This libparted doesn't have write support for %s. Perhaps it was compiled " "read-only." msgstr "Não posso gravar em %s, pois ela foi aberta como somente para leitura." #: libparted/disk.c:631 #, fuzzy, c-format msgid "Partition %d is %s, but the file system is %s." msgstr "A partição é muito pequena para um sistema de ficheiros FAT" #: libparted/disk.c:841 msgid "cylinder_alignment" msgstr "" #: libparted/disk.c:847 #, fuzzy, c-format msgid "Unknown disk flag, %d." msgstr "Sinalizador de partição desconhecido, %d." #: libparted/disk.c:1286 #, c-format msgid "%s disk labels do not support extended partitions." msgstr "Rótulos de disco %s não suportam partições extendidas." #: libparted/disk.c:1865 #, c-format msgid "%s disk labels don't support logical or extended partitions." msgstr "Rótulos de disco %s não suportam partições lógicas ou extendidas." #: libparted/disk.c:1878 #, fuzzy msgid "Too many primary partitions." msgstr "Muitas páginas inválidas." #: libparted/disk.c:1887 #, c-format msgid "" "Can't add a logical partition to %s, because there is no extended partition." msgstr "" "Não posso adicionar uma partição lógica em %s, pois não há uma partição " "extendida." #: libparted/disk.c:1911 #, fuzzy, c-format msgid "Can't have more than one extended partition on %s." msgstr "Não se pode haver mais de uma partição extendida em %s" #: libparted/disk.c:1921 #, fuzzy msgid "Can't have logical partitions outside of the extended partition." msgstr "" "Não posso adicionar uma partição lógica fora da partição extendida em %s." #: libparted/disk.c:1946 #, fuzzy, c-format msgid "Can't have a logical partition outside of the extended partition on %s." msgstr "" "Não posso adicionar uma partição lógica fora da partição extendida em %s." #: libparted/disk.c:1956 libparted/disk.c:2015 libparted/disk.c:2193 #, fuzzy msgid "Can't have overlapping partitions." msgstr "Não posso copiar para uma partição sobreposta." #: libparted/disk.c:1964 #, fuzzy msgid "Can't have a primary partition inside an extended partition." msgstr "Não posso adicionar uma partição primária dentro de uma extendida." #: libparted/disk.c:2395 msgid "metadata" msgstr "" #: libparted/disk.c:2397 msgid "free" msgstr "livre" #: libparted/disk.c:2399 parted/ui.c:1193 parted/ui.c:1221 msgid "extended" msgstr "extendida" #: libparted/disk.c:2401 parted/ui.c:1197 parted/ui.c:1225 msgid "logical" msgstr "lógica" #: libparted/disk.c:2403 parted/ui.c:1189 parted/ui.c:1217 msgid "primary" msgstr "primária" #: libparted/disk.c:2419 msgid "boot" msgstr "boot" #: libparted/disk.c:2421 msgid "bios_grub" msgstr "" #: libparted/disk.c:2423 msgid "root" msgstr "root" #: libparted/disk.c:2425 msgid "swap" msgstr "swap" #: libparted/disk.c:2427 msgid "hidden" msgstr "escondida" #: libparted/disk.c:2429 msgid "raid" msgstr "raid" #: libparted/disk.c:2431 msgid "lvm" msgstr "lvm" #: libparted/disk.c:2433 msgid "lba" msgstr "lba" #: libparted/disk.c:2435 msgid "hp-service" msgstr "" #: libparted/disk.c:2437 msgid "palo" msgstr "" #: libparted/disk.c:2439 msgid "prep" msgstr "" #: libparted/disk.c:2441 msgid "msftres" msgstr "" #: libparted/disk.c:2443 msgid "atvrecv" msgstr "" #: libparted/disk.c:2445 msgid "diag" msgstr "" #: libparted/disk.c:2451 #, fuzzy, c-format msgid "Unknown partition flag, %d." msgstr "Sinalizador de partição desconhecido, %d." #: libparted/exception.c:77 msgid "Information" msgstr "Informação" #: libparted/exception.c:78 msgid "Warning" msgstr "Aviso" #: libparted/exception.c:79 msgid "Error" msgstr "Erro" #: libparted/exception.c:80 msgid "Fatal" msgstr "Fatal" #: libparted/exception.c:81 msgid "Bug" msgstr "Bug" #: libparted/exception.c:82 msgid "No Implementation" msgstr "Sem Implementação" #: libparted/exception.c:86 msgid "Fix" msgstr "Arranjar" #: libparted/exception.c:87 msgid "Yes" msgstr "Sim" #: libparted/exception.c:88 msgid "No" msgstr "Não" #: libparted/exception.c:89 msgid "OK" msgstr "OK" #: libparted/exception.c:90 msgid "Retry" msgstr "Repetir" #: libparted/exception.c:91 msgid "Ignore" msgstr "Ignorar" #: libparted/exception.c:92 msgid "Cancel" msgstr "Cancelar" #: libparted/exception.c:132 #, fuzzy, c-format msgid "" "A bug has been detected in GNU Parted. Refer to the web site of parted " "http://www.gnu.org/software/parted/parted.html for more information of what " "could be useful for bug submitting! Please email a bug report to bug-" "parted@gnu.org containing at least the version (%s) and the following " "message: " msgstr "" "Um bug foi detectado no GNU parted. Por favor, envie um relatório do bug " "para bug-parted@gnu.org contendo a versão (%s) e a mensagem abaixo:" #: libparted/filesys.c:462 msgid "Could not detect file system." msgstr "Não foi possível detectar o sistema de Ficheiros." #: libparted/filesys.c:473 #, fuzzy msgid "The file system is bigger than its volume!" msgstr "O rotulo do disco afirma que o disco é maior que %s" #: libparted/filesys.c:481 #, c-format msgid "Support for opening %s file systems is not implemented yet." msgstr "" "O suporte para abrir sistema de ficheiros %s não foi implementado ainda." #: libparted/filesys.c:523 #, c-format msgid "Support for creating %s file systems is not implemented yet." msgstr "" "O suporte para criar sistema de ficheiros %s não foi implementado ainda." #: libparted/filesys.c:583 #, c-format msgid "Support for checking %s file systems is not implemented yet." msgstr "Suporte para verificar sistema de ficheiros não implementado para %s." #: libparted/filesys.c:649 msgid "raw block copying" msgstr "" #: libparted/filesys.c:660 #, fuzzy msgid "growing file system" msgstr "Tipo de sistema de ficheiros desconhecido." #: libparted/filesys.c:700 msgid "Can't copy onto an overlapping partition." msgstr "Não posso copiar para uma partição sobreposta." #: libparted/filesys.c:722 #, fuzzy, c-format msgid "" "Direct support for copying file systems is not yet implemented for %s. " "However, support for resizing is implemented. Therefore, the file system " "can be copied if the new partition is at least as big as the old one. So, " "either shrink the partition you are trying to copy, or copy to a bigger " "partition." msgstr "" "O suporte directo para cópia de sistemas de ficheiros não está implementado " "para %s. Entretanto, o suporte para redimensionamento está. Portanto, o " "sistema de ficheiros pode ser copiado se a nova partição for pelo menos tão " "grande quanto a antiga. Então, diminua a partição que você está a tentar " "copiar, ou copie para uma partição maior." #: libparted/filesys.c:736 #, c-format msgid "Support for copying %s file systems is not implemented yet." msgstr "Suporte para copiar sistema de ficheiros não implementado para %s." #: libparted/filesys.c:774 #, c-format msgid "Support for resizing %s file systems is not implemented yet." msgstr "" "Suporte para redimensionar sistema de ficheiros não implementado para %s." #: libparted/fs/reiserfs/reiserfs.c:315 msgid "creating" msgstr "" #: libparted/fs/reiserfs/reiserfs.c:402 #, fuzzy msgid "The file system is in an invalid state. Perhaps it is mounted?" msgstr "Sistema de ficheiros tem uma assinatura inválida para um FAT." #: libparted/fs/reiserfs/reiserfs.c:410 msgid "The file system is in old (unresizeable) format." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:416 msgid "Invalid free blocks count. Run reiserfsck --check first." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:431 #, fuzzy msgid "checking" msgstr "check" #: libparted/fs/reiserfs/reiserfs.c:437 msgid "Reiserfs tree seems to be corrupted. Run reiserfsck --check first." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:449 #, fuzzy msgid "" "The reiserfs file system passed a basic check. For a more comprehensive " "check, run reiserfsck --check." msgstr "" "O sistema de ficheiros ext2 passou pelo teste básico. Para um teste mais " "profundo, utilize o programa e2fsck." #: libparted/fs/reiserfs/reiserfs.c:474 #, fuzzy msgid "Sorry, can't move the start of reiserfs partitions yet." msgstr "Desculpe, não posso mover o início de partições ext2 ainda!" #: libparted/fs/reiserfs/reiserfs.c:490 msgid "Couldn't reopen device abstraction layer for read/write." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:508 libparted/fs/ext2/ext2_resize.c:552 #: libparted/fs/hfs/hfs.c:250 libparted/fs/hfs/hfs.c:629 #, fuzzy msgid "shrinking" msgstr "Aviso" #: libparted/fs/reiserfs/reiserfs.c:520 #, fuzzy msgid "expanding" msgstr "Aviso" #: libparted/fs/reiserfs/reiserfs.c:592 msgid "Couldn't create reiserfs device abstraction handler." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:606 #, c-format msgid "Device is too small for %lu blocks." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:615 msgid "copying" msgstr "" #: libparted/fs/reiserfs/reiserfs.c:682 #, c-format msgid "Couldn't resolve symbol %s. Error: %s." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:704 msgid "GNU Parted found an invalid libreiserfs library." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:715 #, c-format msgid "" "GNU Parted has detected libreiserfs interface version mismatch. Found %d-" "%d, required %d. ReiserFS support will be disabled." msgstr "" #: libparted/labels/aix.c:103 #, fuzzy msgid "Support for reading AIX disk labels is is not implemented yet." msgstr "" "O suporte para criar sistema de ficheiros %s não foi implementado ainda." #: libparted/labels/aix.c:114 #, fuzzy msgid "Support for writing AIX disk labels is is not implemented yet." msgstr "" "O suporte para criar sistema de ficheiros %s não foi implementado ainda." #: libparted/labels/aix.c:127 #, fuzzy msgid "" "Support for adding partitions to AIX disk labels is not implemented yet." msgstr "" "O suporte para criar sistema de ficheiros %s não foi implementado ainda." #: libparted/labels/aix.c:137 #, fuzzy msgid "" "Support for duplicating partitions in AIX disk labels is not implemented yet." msgstr "" "O suporte para criar sistema de ficheiros %s não foi implementado ainda." #: libparted/labels/aix.c:155 #, fuzzy msgid "" "Support for setting system type of partitions in AIX disk labels is not " "implemented yet." msgstr "" "O suporte para criar sistema de ficheiros %s não foi implementado ainda." #: libparted/labels/aix.c:165 #, fuzzy msgid "Support for setting flags in AIX disk labels is not implemented yet." msgstr "" "O suporte para criar sistema de ficheiros %s não foi implementado ainda." #: libparted/labels/bsd.c:568 libparted/labels/dasd.c:783 #: libparted/labels/dos.c:2092 libparted/labels/dvh.c:788 #: libparted/labels/gpt.c:1750 libparted/labels/loop.c:245 #: libparted/labels/mac.c:1424 libparted/labels/pc98.c:749 #: libparted/labels/rdb.c:1051 libparted/labels/sun.c:821 #, fuzzy msgid "Unable to satisfy all constraints on the partition." msgstr "Impossível alinhar a partição." #: libparted/labels/bsd.c:593 #, fuzzy msgid "Unable to allocate a bsd disklabel slot." msgstr "Impossível localizar um rotulo de disco bsd" #: libparted/labels/dasd.c:809 #, fuzzy msgid "Unable to allocate a dasd disklabel slot" msgstr "Impossível localizar um rotulo de disco bsd" #: libparted/labels/dos.c:882 #, fuzzy, c-format msgid "Invalid partition table on %s -- wrong signature %x." msgstr "Tabela de partições inválida em %s - assinatura errada %x" #: libparted/labels/dos.c:910 #, c-format msgid "Invalid partition table - recursive partition on %s." msgstr "Tabela de partições inválida - partição recursiva em %s." #: libparted/labels/dos.c:1420 #, fuzzy msgid "Extended partitions cannot be hidden on msdos disk labels." msgstr "Partições ext2 não podem ser escondidas em rótulos de disco msdos." #: libparted/labels/dos.c:2074 msgid "Parted can't resize partitions managed by Windows Dynamic Disk." msgstr "" #: libparted/labels/dvh.c:201 #, fuzzy, c-format msgid "%s has no extended partition (volume header partition)." msgstr "" "Não posso redimensionar uma partição extendida, sem excluir uma partição " "lógica." #: libparted/labels/dvh.c:327 msgid "Checksum is wrong, indicating the partition table is corrupt." msgstr "" #: libparted/labels/dvh.c:632 #, fuzzy msgid "Only primary partitions can be root partitions." msgstr "Não posso adicionar uma partição primária dentro de uma extendida." #: libparted/labels/dvh.c:646 #, fuzzy msgid "Only primary partitions can be swap partitions." msgstr "Não posso adicionar uma partição primária dentro de uma extendida." #: libparted/labels/dvh.c:660 msgid "Only logical partitions can be a boot file." msgstr "" #: libparted/labels/dvh.c:737 #, c-format msgid "" "failed to set dvh partition name to %s:\n" "Only logical partitions (boot files) have a name." msgstr "" #: libparted/labels/dvh.c:830 #, fuzzy msgid "Too many primary partitions" msgstr "Muitas páginas inválidas." #: libparted/labels/fdasd.c:98 msgid "open error" msgstr "" #: libparted/labels/fdasd.c:101 msgid "seek error" msgstr "" #: libparted/labels/fdasd.c:104 msgid "read error" msgstr "" #: libparted/labels/fdasd.c:110 msgid "ioctl() error" msgstr "" #: libparted/labels/fdasd.c:114 msgid "API version mismatch" msgstr "" #: libparted/labels/fdasd.c:118 #, fuzzy msgid "Unsupported disk type" msgstr "ped_device_new() Tipo de dispositivo não suportado" #: libparted/labels/fdasd.c:122 msgid "Unsupported disk format" msgstr "" #: libparted/labels/fdasd.c:126 msgid "Disk is in use" msgstr "" #: libparted/labels/fdasd.c:130 msgid "Syntax error in config file" msgstr "" #: libparted/labels/fdasd.c:134 msgid "Volume label is corrupted" msgstr "" #: libparted/labels/fdasd.c:138 msgid "A data set name is corrupted" msgstr "" #: libparted/labels/fdasd.c:142 msgid "Memory allocation failed" msgstr "" #: libparted/labels/fdasd.c:146 msgid "Device verification failed" msgstr "" #: libparted/labels/fdasd.c:147 msgid "The specified device is not a valid DASD device" msgstr "" #: libparted/labels/fdasd.c:150 libparted/labels/vtoc.c:179 #, fuzzy msgid "Fatal error" msgstr "Fatal" #: libparted/labels/fdasd.c:226 msgid "No room for volume label." msgstr "" #: libparted/labels/fdasd.c:234 #, fuzzy msgid "No room for partition info." msgstr "Nenhum mapa de partições válido foi encontrado." #: libparted/labels/fdasd.c:704 msgid "Invalid VTOC." msgstr "" #: libparted/labels/fdasd.c:764 msgid "Could not retrieve API version." msgstr "" #: libparted/labels/fdasd.c:767 #, c-format msgid "" "The current API version '%d' doesn't match dasd driver API version '%d'!" msgstr "" #: libparted/labels/fdasd.c:804 #, fuzzy msgid "Could not retrieve disk geometry information." msgstr "Não foi possível ler a geometria de %s - %s" #: libparted/labels/fdasd.c:808 msgid "Could not retrieve blocksize information." msgstr "" #: libparted/labels/fdasd.c:813 msgid "Could not retrieve disk information." msgstr "" #: libparted/labels/fdasd.c:818 msgid "This is not an ECKD disk! This disk type is not supported!" msgstr "" #: libparted/labels/gpt.c:485 #, c-format msgid "" "%s contains GPT signatures, indicating that it has a GPT table. However, it " "does not have a valid fake msdos partition table, as it should. Perhaps it " "was corrupted -- possibly by a program that doesn't understand GPT partition " "tables. Or perhaps you deleted the GPT table, and are now using an msdos " "partition table. Is this a GPT partition table?" msgstr "" #: libparted/labels/gpt.c:680 #, c-format msgid "" "The format of the GPT partition table is version %x, which is newer than " "what Parted can recognise. Please tell us! bug-parted@gnu.org" msgstr "" #: libparted/labels/gpt.c:727 #, c-format msgid "" "Not all of the space available to %s appears to be used, you can fix the GPT " "to use all of the space (an extra %llu blocks) or continue with the current " "setting? " msgstr "" #: libparted/labels/gpt.c:936 msgid "" "The backup GPT table is not at the end of the disk, as it should be. This " "might mean that another operating system believes the disk is smaller. Fix, " "by moving the backup to the end (and removing the old backup)?" msgstr "" #: libparted/labels/gpt.c:960 msgid "" "Both the primary and backup GPT tables are corrupt. Try making a fresh " "table, and using Parted's rescue feature to recover partitions." msgstr "" #: libparted/labels/gpt.c:971 msgid "" "The backup GPT table is corrupt, but the primary appears OK, so that will be " "used." msgstr "" #: libparted/labels/gpt.c:983 msgid "" "The primary GPT table is corrupt, but the backup appears OK, so that will be " "used." msgstr "" #: libparted/labels/gpt.c:1007 msgid "primary partition table array CRC mismatch" msgstr "" #: libparted/labels/mac.c:185 #, c-format msgid "Invalid signature %x for Mac disk labels." msgstr "Assinatura inválida %x para rótulos de disco Mac." #: libparted/labels/mac.c:232 msgid "Partition map has no partition map entry!" msgstr "Mapa de partições não tem nenhuma entrada!" #: libparted/labels/mac.c:280 #, c-format msgid "%s is too small for a Mac disk label!" msgstr "%s é muito pequeno para um rótulo de disco Mac!" #: libparted/labels/mac.c:509 #, c-format msgid "Partition %d has an invalid signature %x." msgstr "A partição %d tem uma assinatura inválida %x." #: libparted/labels/mac.c:527 #, c-format msgid "Partition %d has an invalid length of 0 bytes!" msgstr "A partição %d tem um tamanho inválido de 0 bytes!" #: libparted/labels/mac.c:558 #, fuzzy msgid "The data region doesn't start at the start of the partition." msgstr "A região de dados não começa no início da partição" #: libparted/labels/mac.c:575 #, fuzzy msgid "The boot region doesn't start at the start of the partition." msgstr "A região de inicialização não começa no início da partição" #: libparted/labels/mac.c:589 msgid "The partition's boot region doesn't occupy the entire partition." msgstr "A região de inicialização da partição não a ocupa inteiramente." #: libparted/labels/mac.c:600 msgid "The partition's data region doesn't occupy the entire partition." msgstr "A região de dados da partição não a ocupa inteiramente." #: libparted/labels/mac.c:653 #, c-format msgid "" "Weird block size on device descriptor: %d bytes is not divisible by 512." msgstr "" "tamanho de bloco estranho no descritor de dispositivo: %d bytes não são " "divisíveis por 512." #: libparted/labels/mac.c:666 #, c-format msgid "" "The driver descriptor says the physical block size is %d bytes, but Linux " "says it is %d bytes." msgstr "" "O descritor do driver informa que o tamanho físico de bloco é %d bytes, mas " "o Linux informa que é %d bytes." #: libparted/labels/mac.c:720 msgid "No valid partition map found." msgstr "Nenhum mapa de partições válido foi encontrado." #: libparted/labels/mac.c:782 #, fuzzy, c-format msgid "" "Conflicting partition map entry sizes! Entry 1 says it is %d, but entry %d " "says it is %d!" msgstr "" "Conflito nos tamanhos de mapa de partição! Entrada 1 informa que é %d, mas " "entrada %d informa que é %d!" #: libparted/labels/mac.c:809 #, fuzzy msgid "Weird! There are 2 partitions map entries!" msgstr "Estranho - 2 entradas no mapa de partição" #: libparted/labels/mac.c:1355 msgid "" "Changing the name of a root or swap partition will prevent Linux from " "recognising it as such." msgstr "" "Mudar o nome de uma partição root ou swap irá impedir o Linux de reconhecê-" "la como tal." #: libparted/labels/mac.c:1459 #, fuzzy msgid "Can't add another partition -- the partition map is too small!" msgstr "" "Não posso adicionar outra partição - o mapa de partições é muito pequeno!" #: libparted/labels/pc98.c:331 #, fuzzy, c-format msgid "Invalid partition table on %s." msgstr "Tabela de partições inválida em %s" #: libparted/labels/pc98.c:384 libparted/labels/pc98.c:462 #, fuzzy, c-format msgid "" "Partition %d isn't aligned to cylinder boundaries. This is still " "unsupported." msgstr "" "A partição %d não está alinhada com o limite do cilindro. Preciso adicionar " "suporte para isso." #: libparted/labels/pc98.c:781 msgid "Can't add another partition." msgstr "Não posso adicionar outra partição." #: libparted/labels/pt-tools.c:125 #, c-format msgid "" "partition length of %jd sectors exceeds the %s-partition-table-imposed " "maximum of %jd" msgstr "" #: libparted/labels/pt-tools.c:138 #, c-format msgid "" "starting sector number, %jd exceeds the %s-partition-table-imposed maximum " "of %jd" msgstr "" #: libparted/labels/rdb.c:170 #, c-format msgid "%s : Bad checksum on block %llu of type %s." msgstr "" #: libparted/labels/rdb.c:486 #, c-format msgid "%s : Didn't find rdb block, should never happen." msgstr "" #: libparted/labels/rdb.c:572 #, c-format msgid "%s : Loop detected at block %d." msgstr "" #: libparted/labels/rdb.c:591 #, c-format msgid "%s : The %s list seems bad at block %s." msgstr "" #: libparted/labels/rdb.c:690 #, c-format msgid "%s : Failed to list bad blocks." msgstr "" #: libparted/labels/rdb.c:698 #, fuzzy, c-format msgid "%s : Failed to list partition blocks." msgstr "Impossível alinhar a partição." #: libparted/labels/rdb.c:706 #, c-format msgid "%s : Failed to list file system blocks." msgstr "" #: libparted/labels/rdb.c:714 #, c-format msgid "%s : Failed to list boot blocks." msgstr "" #: libparted/labels/rdb.c:741 #, fuzzy, c-format msgid "Failed to write partition block at %d." msgstr "Impossível determinar se a partição está montada." #: libparted/labels/rdb.c:1079 #, fuzzy msgid "Unable to allocate a partition number." msgstr "Impossível alinhar a partição." #: libparted/labels/sun.c:163 msgid "Corrupted Sun disk label detected." msgstr "" #: libparted/labels/sun.c:316 #, c-format msgid "" "The disk CHS geometry (%d,%d,%d) reported by the operating system does not " "match the geometry stored on the disk label (%d,%d,%d)." msgstr "" #: libparted/labels/sun.c:338 #, c-format msgid "The disk label describes a disk bigger than %s." msgstr "O rotulo do disco afirma que o disco é maior que %s" #: libparted/labels/sun.c:510 #, c-format msgid "The disk has %d cylinders, which is greater than the maximum of 65536." msgstr "" #: libparted/labels/sun.c:853 msgid "" "The Whole Disk partition is the only available one left. Generally, it is " "not a good idea to overwrite this partition with a real one. Solaris may " "not be able to boot without it, and SILO (the sparc boot loader) appreciates " "it as well." msgstr "" #: libparted/labels/sun.c:868 msgid "Sun disk label is full." msgstr "" #: libparted/labels/vtoc.c:164 msgid "opening of device failed" msgstr "" #: libparted/labels/vtoc.c:168 msgid "seeking on device failed" msgstr "" #: libparted/labels/vtoc.c:172 msgid "writing to device failed" msgstr "" #: libparted/labels/vtoc.c:176 msgid "reading from device failed" msgstr "" #: libparted/labels/vtoc.c:277 libparted/labels/vtoc.c:284 #, fuzzy msgid "Could not read volume label." msgstr "Não foi possível ler a geometria de %s - %s" #: libparted/labels/vtoc.c:303 libparted/labels/vtoc.c:308 #, fuzzy msgid "Could not write volume label." msgstr "Não foi possível detectar o sistema de Ficheiros." #: libparted/labels/vtoc.c:414 msgid "Could not read VTOC labels." msgstr "" #: libparted/labels/vtoc.c:420 msgid "Could not read VTOC FMT1 DSCB." msgstr "" #: libparted/labels/vtoc.c:427 msgid "Could not read VTOC FMT4 DSCB." msgstr "" #: libparted/labels/vtoc.c:434 msgid "Could not read VTOC FMT5 DSCB." msgstr "" #: libparted/labels/vtoc.c:441 msgid "Could not read VTOC FMT7 DSCB." msgstr "" #: libparted/labels/vtoc.c:461 msgid "Could not write VTOC labels." msgstr "" #: libparted/labels/vtoc.c:467 msgid "Could not write VTOC FMT1 DSCB." msgstr "" #: libparted/labels/vtoc.c:474 msgid "Could not write VTOC FMT4 DSCB." msgstr "" #: libparted/labels/vtoc.c:481 msgid "Could not write VTOC FMT5 DSCB." msgstr "" #: libparted/labels/vtoc.c:488 msgid "Could not write VTOC FMT7 DSCB." msgstr "" #: libparted/libparted.c:237 libparted/libparted.c:252 msgid "Out of memory." msgstr "Não há memória." #: libparted/unit.c:138 msgid "Cannot get unit size for special unit 'COMPACT'." msgstr "" #: libparted/unit.c:384 #, c-format msgid "\"%s\" has invalid syntax for locations." msgstr "" #: libparted/unit.c:392 #, c-format msgid "The maximum head value is %d." msgstr "" #: libparted/unit.c:399 #, c-format msgid "The maximum sector value is %d." msgstr "" #: libparted/unit.c:411 libparted/unit.c:543 #, fuzzy, c-format msgid "The location %s is outside of the device %s." msgstr "Impossível criar partição fora do dispositivo." #: libparted/unit.c:525 msgid "Invalid number." msgstr "" #: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:56 #: libparted/fs/amiga/asfs.c:70 #, c-format msgid "%s : Failed to allocate partition block\n" msgstr "" #: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:69 #: libparted/fs/amiga/asfs.c:82 #, c-format msgid "%s : Failed to allocate block\n" msgstr "" #: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:74 #, c-format msgid "%s : Couldn't read boot block %llu\n" msgstr "" #: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:85 #: libparted/fs/amiga/asfs.c:88 libparted/fs/amiga/asfs.c:102 #, c-format msgid "%s : Couldn't read root block %llu\n" msgstr "" #: libparted/fs/amiga/amiga.c:72 #, c-format msgid "%s : Failed to allocate id list element\n" msgstr "" #: libparted/fs/amiga/amiga.c:189 #, c-format msgid "%s : Couldn't read block %llu\n" msgstr "" #: libparted/fs/amiga/amiga.c:202 #, c-format msgid "%s : Bad checksum on block %llu of type %s\n" msgstr "" #: libparted/fs/amiga/amiga.c:212 #, fuzzy, c-format msgid "%s : Couldn't write block %d\n" msgstr "%s durante escrita em %s" #: libparted/fs/amiga/amiga.c:278 #, c-format msgid "%s : Failed to allocate disk_specific rdb block\n" msgstr "" #: libparted/fs/amiga/amiga.c:289 #, c-format msgid "%s : Didn't find rdb block, should never happen\n" msgstr "" #: libparted/fs/amiga/amiga.c:318 #, c-format msgid "%s : Failed to read partition block %llu\n" msgstr "" #: libparted/fs/ext2/ext2.c:87 libparted/fs/ext2/ext2.c:112 msgid "Inconsistent group descriptors!" msgstr "Descritores de grupo inconsistentes!" #: libparted/fs/ext2/ext2.c:91 libparted/fs/ext2/ext2.c:116 #, fuzzy msgid "File system full!" msgstr "Sistema de ficheiros cheio!" #: libparted/fs/ext2/ext2.c:686 #, fuzzy msgid "Invalid superblock. Are you sure this is an ext2 file system?" msgstr "Superbloco inválido. Tem certeza que isto é um sistema ext2?" #: libparted/fs/ext2/ext2.c:700 libparted/fs/ext2/ext2_resize.c:658 #, fuzzy msgid "File system has errors! You should run e2fsck." msgstr "Sistema de ficheiros tem erros! Execute e2fsck primeiro!" #: libparted/fs/ext2/ext2.c:711 #, fuzzy msgid "" "File system was not cleanly unmounted! You should run e2fsck. Modifying an " "unclean file system could cause severe corruption." msgstr "" "Sistema de ficheiros não foi desmontado correctamente! Execute e2fsck " "primeiro!" #: libparted/fs/ext2/ext2.c:731 msgid "" "File system has an incompatible feature enabled. Compatible features are " "has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs " "or debugfs to remove features." msgstr "" #: libparted/fs/ext2/ext2.c:745 msgid "Error allocating buffer cache." msgstr "Erro ao determinar o cache temporário." #: libparted/fs/ext2/ext2_inode_relocator.c:114 #, fuzzy msgid "" "Found an inode with a incorrect link count. Better go run e2fsck first!" msgstr "" "Encontrado um inode com uma contagem incorreta de ligações. Melhor executar " "o e2fsck primeiro." #: libparted/fs/ext2/ext2_inode_relocator.c:487 msgid "Not enough free inodes!" msgstr "Não há inodes livres suficientes!" #: libparted/fs/ext2/ext2_resize.c:223 #, fuzzy msgid "File system is too full to remove a group!" msgstr "Sistema de ficheiros muito ocupado para remover um grupo!" #: libparted/fs/ext2/ext2_resize.c:232 #, fuzzy msgid "File system has too many allocated inodes to remove a group!" msgstr "" "Sistema de ficheiros tem muitos inodes utilizados para remover um grupo!" #: libparted/fs/ext2/ext2_resize.c:491 msgid "adding groups" msgstr "" #: libparted/fs/ext2/ext2_resize.c:528 #, fuzzy, c-format msgid "Your file system is too full to resize it to %i blocks. Sorry." msgstr "" "Seu sistema de ficheiros está muito ocupado para redimensioná-lo para %i " "blocos. Desculpe." #: libparted/fs/ext2/ext2_resize.c:538 #, fuzzy, c-format msgid "" "Your file system has too many occupied inodes to resize it to %i blocks. " "Sorry." msgstr "" "Seu sistema de ficheiros está com muitos inodes ocupados para redimensioná-" "lo para %i blocos. Desculpe." #: libparted/fs/ext2/ext2_resize.c:666 #, fuzzy msgid "File system was not cleanly unmounted! You should run e2fsck." msgstr "" "Sistema de ficheiros não foi desmontado correctamente! Execute e2fsck " "primeiro!" #: libparted/fs/ext2/ext2_resize.c:675 msgid "" "The file system has the 'dir_index' feature enabled. Parted can only resize " "the file system if it disables this feature. You can enable it later by " "running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'." msgstr "" #: libparted/fs/ext2/ext2_resize.c:691 msgid "" "A resize operation on this file system will use EXPERIMENTAL code\n" "that MAY CORRUPT it (although no one has reported any such damage yet).\n" "You should at least backup your data first, and run 'e2fsck -f' afterwards." msgstr "" #: libparted/fs/ext2/ext2_block_relocator.c:198 #, fuzzy msgid "Cross-linked blocks found! Better go run e2fsck first!" msgstr "" "Encontrados blocos com referência cruzada! Melhor executar e2fsck primeiro." #: libparted/fs/ext2/ext2_block_relocator.c:537 #, fuzzy, c-format msgid "Block %i has no reference? Weird." msgstr "Bloco %i não tem referência? Estranho" #: libparted/fs/ext2/ext2_block_relocator.c:738 #, fuzzy, c-format msgid "Block %i shouldn't have been marked (%d, %d)!" msgstr "Bloco %i não deveria ter sido marcado!" #: libparted/fs/ext2/interface.c:226 #, fuzzy msgid "" "The ext2 file system passed a basic check. For a more comprehensive check, " "use the e2fsck program." msgstr "" "O sistema de ficheiros ext2 passou pelo teste básico. Para um teste mais " "profundo, utilize o programa e2fsck." #: libparted/fs/ext2/interface.c:243 msgid "Sorry, can't move the start of ext2 partitions yet!" msgstr "Desculpe, não posso mover o início de partições ext2 ainda!" #: libparted/fs/ext2/ext2_buffer.c:82 msgid "Couldn't flush buffer cache!" msgstr "Não foi possível esvaziar a cache temporária!" #: libparted/fs/ext2/ext2_mkfs.c:161 msgid "writing per-group metadata" msgstr "" #: libparted/fs/ext2/ext2_mkfs.c:597 msgid "File system too small for ext2." msgstr "" #: libparted/fs/fat/calc.c:135 #, fuzzy, c-format msgid "" "You need %s of free disk space to shrink this partition to this size. " "Currently, only %s is free." msgstr "" "Você precisa de %dM de espaço livre para diminuir esta partição para este " "tamanho (você tem somente %dM livres)" #: libparted/fs/fat/context.c:56 #, c-format msgid "" "Cluster start delta = %d, which is not a multiple of the cluster size %d." msgstr "" "O cluster inicia em delta = %d, que não é um múltiplo do tamanho de cluster " "%d." #: libparted/fs/fat/fat.c:310 #, fuzzy, c-format msgid "Partition too big/small for a %s file system." msgstr "A partição é muito pequena para um sistema de ficheiros FAT" #: libparted/fs/fat/fat.c:476 msgid "" "The FATs don't match. If you don't know what this means, then select " "cancel, run scandisk on the file system, and then come back." msgstr "" "As FATs não estão iguais. Se não sabe o que isto significa, seleccione " "cancelar, execute o scandisk no sistema de ficheiros, depois volte." #: libparted/fs/fat/fat.c:516 msgid "There are no possible configurations for this FAT type." msgstr "Não há configurações possíveis para este tipo de FAT." #: libparted/fs/fat/fat.c:528 #, c-format msgid "" "File system doesn't have expected sizes for Windows to like it. Cluster " "size is %dk (%dk expected); number of clusters is %d (%d expected); size of " "FATs is %d sectors (%d expected)." msgstr "" "O sistema de ficheiros não tem o tamanho esperado para que o Windows o " "utilize. O tamanho do cluster é %dk (%dk esperado); número de clusters é %d " "(%d esperado); tamanho da FAT é %d sectores (%d esperado)." #: libparted/fs/fat/fat.c:551 #, c-format msgid "" "File system is reporting the free space as %d clusters, not %d clusters." msgstr "" "O sistema de ficheiros reporta que o espaço livre é de %d clusters, não de " "%d clusters." #: libparted/fs/fat/fat.c:876 #, fuzzy msgid "" "GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT " "support will be disabled." msgstr "" "O GNU parted foi compilado erradamente: o sector de boot FAT deveria ser de " "512 bytes. O suporte a FAT será desabilitado." #: libparted/fs/fat/resize.c:158 #, fuzzy msgid "" "There's not enough room in the root directory for all of the files. Either " "cancel, or ignore to lose the files." msgstr "" "Não há espaço suficiente no diretório raiz para todos os ficheiros. Cancele, " "ou ignore para perder os ficheiros." #: libparted/fs/fat/resize.c:299 msgid "Error writing to the root directory." msgstr "Erro escrevendo no diretório raiz." #: libparted/fs/fat/resize.c:488 #, fuzzy msgid "If you leave your file system as FAT16, then you will have no problems." msgstr "Se deixar seu sistema de ficheiros como FAT16, não haverá problemas." #: libparted/fs/fat/resize.c:491 msgid "" "If you convert to FAT16, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual)." msgstr "" "Se você converter para FAT16, e o MS Windows está instalado nesta partição, " "deverá reinstalar o gestor de boot do MS Windows. Se quiser fazer isso, " "consulte o manual do Parted (ou o manual de sua distribuição)." #: libparted/fs/fat/resize.c:499 msgid "" "If you leave your file system as FAT32, then you will not introduce any new " "problems." msgstr "" "Se deixar seu sistema de ficheiros como FAT32, você não terá mais nenhum " "problema novo." #: libparted/fs/fat/resize.c:503 msgid "" "If you convert to FAT32, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual). Also, " "converting to FAT32 will make the file system unreadable by MS DOS, MS " "Windows 95a, and MS Windows NT." msgstr "" "Se você converter para FAT32, e o MS Windows está instalado nesta partição, " "deverá reinstalar o gestor de boot do MS Windows. Se quiser fazer isso, " "consulte o manual do Parted (ou o manual de sua distribuição). Também, " "convertendo para FAT32 fará com que o sistema de ficheiros não seja mais " "reconhecido pelo MS DOS, Windows 95a, e MS Windows NT." #: libparted/fs/fat/resize.c:517 #, c-format msgid "%s %s %s" msgstr "" #: libparted/fs/fat/resize.c:518 msgid "Would you like to use FAT32?" msgstr "Você gostaria de usar FAT32?" #: libparted/fs/fat/resize.c:549 libparted/fs/fat/resize.c:565 #, c-format msgid "%s %s" msgstr "" #: libparted/fs/fat/resize.c:550 msgid "" "The file system can only be resized to this size by converting to FAT16." msgstr "" "O sistema de ficheiros só pode ser redimensionado para esse tamanho se " "convertido para FAT16." #: libparted/fs/fat/resize.c:566 msgid "" "The file system can only be resized to this size by converting to FAT32." msgstr "" "O sistema de ficheiros só pode ser redimensionado para esse tamanho se " "convertido para FAT32." #: libparted/fs/fat/resize.c:579 #, fuzzy msgid "" "GNU Parted cannot resize this partition to this size. We're working on it!" msgstr "" "O GNU Parted não pode redimensionar esta partição para esse tamanho. Estamos " "a trabalhar nisso!" #: libparted/fs/fat/bootsector.c:49 libparted/fs/fat/bootsector.c:56 msgid "File system has an invalid signature for a FAT file system." msgstr "Sistema de ficheiros tem uma assinatura inválida para um FAT." #: libparted/fs/fat/bootsector.c:64 msgid "File system has an invalid sector size for a FAT file system." msgstr "Sistema de ficheiros tem um tamanho de sector inválido para um FAT." #: libparted/fs/fat/bootsector.c:71 #, fuzzy msgid "File system has an invalid cluster size for a FAT file system." msgstr "Sistema de ficheiros tem um tamanho de sector inválido para um FAT." #: libparted/fs/fat/bootsector.c:78 #, fuzzy msgid "" "File system has an invalid number of reserved sectors for a FAT file system." msgstr "" "Sistema de ficheiros tem um número de setores reservados inválido para um " "FAT." #: libparted/fs/fat/bootsector.c:85 #, fuzzy msgid "File system has an invalid number of FATs." msgstr "Sistema de ficheiros tem um número inválido de FATS." #: libparted/fs/fat/bootsector.c:139 #, c-format msgid "" "This file system has a logical sector size of %d. GNU Parted is known not " "to work properly with sector sizes other than 512 bytes." msgstr "" "Este sistema de ficheiros tem um tamanho de sector lógico de %d. O GNU " "Parted é conhecido por não funcionar corretamente com sectores diferentes de " "512 bytes." #: libparted/fs/fat/bootsector.c:164 #, c-format msgid "" "The file system's CHS geometry is (%d, %d, %d), which is invalid. The " "partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the " "file system's CHS geometry will be left unchanged. If you select Fix, the " "file system's CHS geometry will be set to match the partition table's CHS " "geometry." msgstr "" #: libparted/fs/fat/bootsector.c:213 msgid "FAT boot sector says logical sector size is 0. This is weird. " msgstr "Sector de boot FAT diz que o tamanho lógico do sector é 0. Estranho. " #: libparted/fs/fat/bootsector.c:219 msgid "FAT boot sector says there are no FAT tables. This is weird. " msgstr "Sector de boot FAT diz que não há tabelas FAT. Estranho. " #: libparted/fs/fat/bootsector.c:225 msgid "FAT boot sector says clusters are 0 sectors. This is weird. " msgstr "Sector de boot FAT diz que os clusters têm 0 setores. Estranho. " #: libparted/fs/fat/bootsector.c:235 #, fuzzy msgid "File system is FAT12, which is unsupported." msgstr "O sistema de ficheiros é FAT12, que não é suportado." #: libparted/fs/fat/bootsector.c:411 #, c-format msgid "" "The information sector has the wrong signature (%x). Select cancel for now, " "and send in a bug report. If you're desperate, it's probably safe to ignore." msgstr "" "O sector de informações tem uma assinatura inválida (%x). Selecione cancelar " "agora, e mande um relatório de bug. Se você está desesperado, é provável que " "seja seguro ignorar." #: libparted/fs/fat/count.c:144 #, c-format msgid "Bad directory entry for %s: first cluster is the end of file marker." msgstr "" "Entrada de diretório inválida para %s: o primeiro cluster é o fim do " "marcador de ficheiro." #: libparted/fs/fat/count.c:157 #, c-format msgid "" "Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk." msgstr "" "FAT estragada: cadeia não terminada para %s. Você deveria correr o dosfsck " "ou o scandisk." #: libparted/fs/fat/count.c:166 #, fuzzy, c-format msgid "" "Bad FAT: cluster %d outside file system in chain for %s. You should run " "dosfsck or scandisk." msgstr "" "FAT estragada: cluster %d fora do sistema de ficheiros na cadeia para %s. " "Você deveria correr o dosfsck ou o scandisk." #: libparted/fs/fat/count.c:176 #, c-format msgid "" "Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or " "scandisk." msgstr "" "FAT estragada: o cluster %d tem uma referência cruzada para %s. Você deveria " "correr o dosfsck ou o scandisk." #: libparted/fs/fat/count.c:195 #, fuzzy, c-format msgid "%s is %dk, but it has %d clusters (%dk)." msgstr "%s é %dk, mas tem %d clusters (%dk)." #: libparted/fs/fat/count.c:258 #, c-format msgid "" "The file %s is marked as a system file. This means moving it could cause " "some programs to stop working." msgstr "" #: libparted/fs/fat/table.c:136 #, c-format msgid "" "FAT %d media %x doesn't match the boot sector's media %x. You should " "probably run scandisk." msgstr "" "FAT %d média %x não coincide com o sector de boot médio %x. Você deveria " "executar o scandisk." #: libparted/fs/fat/table.c:268 #, fuzzy, c-format msgid "fat_table_set: cluster %ld outside file system" msgstr "fat_table_set: cluster %ld fora do sistema de ficheiros" #: libparted/fs/fat/table.c:300 #, fuzzy, c-format msgid "fat_table_get: cluster %ld outside file system" msgstr "fat_table_get: cluster %ld fora do sistema de ficheiros" #: libparted/fs/fat/table.c:342 msgid "fat_table_alloc_cluster: no free clusters" msgstr "fat_table_alloc_cluster: não há clusters livres" #: libparted/fs/linux_swap/linux_swap.c:288 #, fuzzy, c-format msgid "Unrecognised old style linux swap signature '%10s'." msgstr "Assinatura linux swap não reconhecida '%10s'." #: libparted/fs/linux_swap/linux_swap.c:331 #, fuzzy, c-format msgid "Unrecognised new style linux swap signature '%10s'." msgstr "Assinatura linux swap não reconhecida '%10s'." #: libparted/fs/linux_swap/linux_swap.c:371 #, fuzzy, c-format msgid "Unrecognised swsusp linux swap signature '%9s'." msgstr "Assinatura linux swap não reconhecida '%10s'." #: libparted/fs/linux_swap/linux_swap.c:447 msgid "Too many bad pages." msgstr "Muitas páginas inválidas." #: libparted/fs/hfs/advfs.c:121 libparted/fs/hfs/advfs_plus.c:121 #: libparted/fs/hfs/reloc.c:414 libparted/fs/hfs/reloc.c:508 #: libparted/fs/hfs/reloc_plus.c:538 libparted/fs/hfs/reloc_plus.c:656 #: libparted/fs/hfs/reloc_plus.c:769 msgid "The file system contains errors." msgstr "" #: libparted/fs/hfs/advfs_plus.c:285 msgid "Bad blocks could not be read." msgstr "" #: libparted/fs/hfs/cache.c:137 #, c-format msgid "" "Trying to register an extent starting at block 0x%X, but another one already " "exists at this position. You should check the file system!" msgstr "" #: libparted/fs/hfs/cache.c:214 #, c-format msgid "" "Trying to move an extent from block Ox%X to block Ox%X, but another one " "already exists at this position. This should not happen!" msgstr "" #: libparted/fs/hfs/file.c:143 #, c-format msgid "Could not update the extent cache for HFS file with CNID %X." msgstr "" #: libparted/fs/hfs/file.c:180 #, c-format msgid "Trying to read HFS file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/file.c:190 libparted/fs/hfs/file.c:220 #, c-format msgid "Could not find sector %lli of HFS file with CNID %X." msgstr "" #: libparted/fs/hfs/file.c:210 #, c-format msgid "Trying to write HFS file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/file_plus.c:157 #, c-format msgid "Could not update the extent cache for HFS+ file with CNID %X." msgstr "" #: libparted/fs/hfs/file_plus.c:202 #, c-format msgid "Trying to read HFS+ file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/file_plus.c:213 libparted/fs/hfs/file_plus.c:256 #, c-format msgid "Could not find sector %lli of HFS+ file with CNID %X." msgstr "" #: libparted/fs/hfs/file_plus.c:245 #, c-format msgid "Trying to write HFS+ file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/hfs.c:232 msgid "Sorry, HFS cannot be resized that way yet." msgstr "" #: libparted/fs/hfs/hfs.c:262 libparted/fs/hfs/hfs.c:641 msgid "Data relocation has failed." msgstr "" #: libparted/fs/hfs/hfs.c:281 msgid "Data relocation left some data in the end of the volume." msgstr "" #: libparted/fs/hfs/hfs.c:320 #, fuzzy msgid "writing HFS Master Directory Block" msgstr "Erro escrevendo no diretório raiz." #: libparted/fs/hfs/hfs.c:468 msgid "No valid HFS[+X] signature has been found while opening." msgstr "" #: libparted/fs/hfs/hfs.c:478 #, c-format msgid "Version %d of HFS+ isn't supported." msgstr "" #: libparted/fs/hfs/hfs.c:489 #, c-format msgid "Version %d of HFSX isn't supported." msgstr "" #: libparted/fs/hfs/hfs.c:672 msgid "Data relocation left some data at the end of the volume." msgstr "" #: libparted/fs/hfs/hfs.c:720 #, fuzzy msgid "Error while writing the allocation file." msgstr "Erro escrevendo no diretório raiz." #: libparted/fs/hfs/hfs.c:735 msgid "Error while writing the compatibility part of the allocation file." msgstr "" #: libparted/fs/hfs/hfs.c:750 msgid "writing HFS+ Volume Header" msgstr "" #: libparted/fs/hfs/hfs.c:850 msgid "An error occurred while looking for the mandatory bad blocks file." msgstr "" #: libparted/fs/hfs/hfs.c:904 msgid "" "It seems there is an error in the HFS wrapper: the bad blocks file doesn't " "contain the embedded HFS+ volume." msgstr "" #: libparted/fs/hfs/hfs.c:940 msgid "Sorry, HFS+ cannot be resized that way yet." msgstr "" #: libparted/fs/hfs/hfs.c:975 msgid "shrinking embedded HFS+ volume" msgstr "" #: libparted/fs/hfs/hfs.c:991 msgid "Resizing the HFS+ volume has failed." msgstr "" #: libparted/fs/hfs/hfs.c:998 msgid "shrinking HFS wrapper" msgstr "" #: libparted/fs/hfs/hfs.c:1007 msgid "Updating the HFS wrapper has failed." msgstr "" #: libparted/fs/hfs/hfs.c:1109 libparted/fs/hfs/hfs.c:1194 #, c-format msgid "" "This is not a real %s check. This is going to extract special low level " "files for debugging purposes." msgstr "" #: libparted/fs/hfs/journal.c:155 msgid "Bad block list header checksum." msgstr "" #: libparted/fs/hfs/journal.c:168 #, c-format msgid "" "Invalid size of a transaction block while replaying the journal (%i bytes)." msgstr "" #: libparted/fs/hfs/journal.c:260 msgid "" "Journal stored outside of the volume are not supported. Try to desactivate " "the journal and run Parted again." msgstr "" #: libparted/fs/hfs/journal.c:271 #, fuzzy msgid "Journal offset or size is not multiple of the sector size." msgstr "" "O cluster inicia em delta = %d, que não é um múltiplo do tamanho de cluster " "%d." #: libparted/fs/hfs/journal.c:292 msgid "Incorrect magic values in the journal header." msgstr "" #: libparted/fs/hfs/journal.c:302 msgid "Journal size mismatch between journal info block and journal header." msgstr "" #: libparted/fs/hfs/journal.c:314 #, fuzzy msgid "Some header fields are not multiple of the sector size." msgstr "" "O cluster inicia em delta = %d, que não é um múltiplo do tamanho de cluster " "%d." #: libparted/fs/hfs/journal.c:323 msgid "" "The sector size stored in the journal is not 512 bytes. Parted only " "supports 512 bytes length sectors." msgstr "" #: libparted/fs/hfs/journal.c:335 msgid "Bad journal checksum." msgstr "" #: libparted/fs/hfs/journal.c:353 msgid "" "The journal is not empty. Parted must replay the transactions before " "opening the file system. This will modify the file system." msgstr "" #: libparted/fs/hfs/journal.c:381 msgid "" "The volume header or the master directory block has changed while replaying " "the journal. You should restart Parted." msgstr "" #: libparted/fs/hfs/probe.c:51 #, c-format msgid "" "Parted can't use HFS file systems on disks with a sector size not equal to " "%d bytes." msgstr "" #: libparted/fs/hfs/reloc.c:151 libparted/fs/hfs/reloc_plus.c:155 msgid "An extent has not been relocated." msgstr "" #: libparted/fs/hfs/reloc.c:251 libparted/fs/hfs/reloc_plus.c:307 msgid "" "A reference to an extent comes from a place it should not. You should check " "the file system!" msgstr "" #: libparted/fs/hfs/reloc.c:381 msgid "This HFS volume has no catalog file. This is very unusual!" msgstr "" #: libparted/fs/hfs/reloc.c:475 msgid "This HFS volume has no extents overflow file. This is quite unusual!" msgstr "" #: libparted/fs/hfs/reloc.c:517 libparted/fs/hfs/reloc_plus.c:666 msgid "" "The extents overflow file should not contain its own extents! You should " "check the file system." msgstr "" #: libparted/fs/hfs/reloc.c:574 libparted/fs/hfs/reloc_plus.c:844 #, fuzzy msgid "Could not cache the file system in memory." msgstr "Não foi possível detectar o sistema de Ficheiros." #: libparted/fs/hfs/reloc.c:635 libparted/fs/hfs/reloc_plus.c:905 msgid "Bad blocks list could not be loaded." msgstr "" #: libparted/fs/hfs/reloc.c:649 libparted/fs/hfs/reloc_plus.c:921 msgid "An error occurred during extent relocation." msgstr "" #: libparted/fs/hfs/reloc_plus.c:494 msgid "This HFS+ volume has no catalog file. This is very unusual!" msgstr "" #: libparted/fs/hfs/reloc_plus.c:617 msgid "This HFS+ volume has no extents overflow file. This is quite unusual!" msgstr "" #: parted/parted.c:123 msgid "displays this help message" msgstr "mostra esta mensagem de ajuda" #: parted/parted.c:124 msgid "lists partition layout on all block devices" msgstr "" #: parted/parted.c:125 msgid "displays machine parseable output" msgstr "" #: parted/parted.c:126 msgid "never prompts for user intervention" msgstr "nunca pede intervenção do utulizador" #: parted/parted.c:127 msgid "displays the version" msgstr "mostra a versão" #: parted/parted.c:128 #, fuzzy msgid "alignment for new partitions" msgstr "Não posso adicionar outra partição." #: parted/parted.c:140 #, fuzzy msgid "" "NUMBER is the partition number used by Linux. On MS-DOS disk labels, the " "primary partitions number from 1 to 4, logical partitions from 5 onwards.\n" msgstr "" "MINOR é o número da partição usado pelo linux. Em rótulos de disco msdos, as " "partições primárias são de 1-4, e partições lógicas de 5 adiante.\n" #: parted/parted.c:143 msgid "LABEL-TYPE is one of: " msgstr "TIPO_ROTULO é um de:" #: parted/parted.c:144 msgid "FLAG is one of: " msgstr "FLAG é um de: " #: parted/parted.c:145 #, fuzzy msgid "UNIT is one of: " msgstr "FLAG é um de: " #: parted/parted.c:146 msgid "desired alignment: minimum or optimal" msgstr "" #: parted/parted.c:147 msgid "PART-TYPE is one of: primary, logical, extended\n" msgstr "TIPO-PART é um de: primary, logical, extended\n" #: parted/parted.c:149 msgid "FS-TYPE is one of: " msgstr "TIPO-FS é um de: " #: parted/parted.c:150 msgid "" "START and END are disk locations, such as 4GB or 10%. Negative values count " "from the end of the disk. For example, -1s specifies exactly the last " "sector.\n" msgstr "" #: parted/parted.c:153 msgid "STATE is one of: on, off\n" msgstr "ESTADO é um de: on, off\n" #: parted/parted.c:154 msgid "DEVICE is usually /dev/hda or /dev/sda\n" msgstr "DISPOSITIVO é usualmente /dev/hda ou /dev/sda\n" #: parted/parted.c:155 msgid "NAME is any word you want\n" msgstr "NAME é qualquer palavra que desejar\n" #: parted/parted.c:156 msgid "The partition must have one of the following FS-TYPEs: " msgstr "" #: parted/parted.c:160 msgid "" "Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n" "This program is free software, covered by the GNU General Public License.\n" "\n" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" msgstr "" #: parted/parted.c:208 #, c-format msgid "%0.f%%\t(time left %.2d:%.2d)" msgstr "" #: parted/parted.c:227 #, c-format msgid "" "Partition %s is being used. You must unmount it before you modify it with " "Parted." msgstr "" #: parted/parted.c:245 #, c-format msgid "Partition(s) on %s are being used." msgstr "Partição(ões) em %s está(ão) a ser utilizada(s)." #: parted/parted.c:257 msgid "" "The existing file system will be destroyed and all data on the partition " "will be lost. Do you want to continue?" msgstr "" #: parted/parted.c:269 #, c-format msgid "" "The existing disk label on %s will be destroyed and all data on this disk " "will be lost. Do you want to continue?" msgstr "" #: parted/parted.c:487 #, c-format msgid "" "WARNING: you are attempting to use %s to operate on (%s) a file system.\n" "%s's file system manipulation code is not as robust as what you'll find in\n" "dedicated, file-system-specific packages like e2fsprogs. We recommend\n" "you use %s only to manipulate partition tables, whenever possible.\n" "Support for performing most operations on most types of file systems\n" "will be removed in an upcoming release.\n" msgstr "" #: parted/parted.c:508 parted/parted.c:702 parted/parted.c:1179 #: parted/parted.c:1263 parted/parted.c:1935 parted/parted.c:2016 #: parted/parted.c:2088 parted/parted.c:2122 #, fuzzy msgid "Partition number?" msgstr "A partição está a ser utilizada." #: parted/parted.c:551 #, fuzzy msgid "Source device?" msgstr "Nenhum dispositivo encontrado" #: parted/parted.c:555 #, fuzzy msgid "Source partition number?" msgstr "A partição origem não existe." #: parted/parted.c:560 #, fuzzy msgid "Can't copy an extended partition." msgstr "Não posso copiar partições extendidas." #: parted/parted.c:566 #, fuzzy msgid "Destination partition number?" msgstr "A partição destino está a ser utilizada." #: parted/parted.c:655 #, fuzzy msgid "New disk label type?" msgstr "Tipo de rótulo de disco: %s\n" #: parted/parted.c:706 parted/parted.c:788 parted/parted.c:1000 #, fuzzy msgid "File system type?" msgstr "SistemaFich " #: parted/parted.c:762 parted/parted.c:983 #, fuzzy msgid "Partition type?" msgstr "A partição não existe." #: parted/parted.c:780 parted/parted.c:990 parted/parted.c:1266 #, fuzzy msgid "Partition name?" msgstr "A partição não existe." #: parted/parted.c:794 parted/parted.c:1002 parted/parted.c:1194 #: parted/parted.c:1883 parted/parted.c:1944 msgid "Start?" msgstr "" #: parted/parted.c:796 parted/parted.c:1005 parted/parted.c:1197 #: parted/parted.c:1885 parted/parted.c:1946 msgid "End?" msgstr "" #: parted/parted.c:862 parted/parted.c:1066 #, fuzzy, c-format msgid "" "You requested a partition from %s to %s.\n" "The closest location we can manage is %s to %s.%s" msgstr "" "Pretende criar uma partiçao em %.3f-%.3fMb. O mais perto que se consegue " "será %3f-%.3fMb." #: parted/parted.c:867 parted/parted.c:1071 msgid "" "\n" "Is this still acceptable to you?" msgstr "" #: parted/parted.c:889 parted/parted.c:1093 msgid "The resulting partition is not properly aligned for best performance." msgstr "" #: parted/parted.c:995 msgid "An extended partition cannot hold a file system. Did you want mkpart?" msgstr "" #: parted/parted.c:1185 #, fuzzy msgid "Can't move an extended partition." msgstr "Não posso mover partições extendidas." #: parted/parted.c:1214 msgid "Can't move a partition onto itself. Try using resize, perhaps?" msgstr "" "Não posso mover a partição sobre ela mesma. Talvez queira redimensionar?" #: parted/parted.c:1360 #, c-format msgid "Minor: %d\n" msgstr "" #: parted/parted.c:1361 #, fuzzy, c-format msgid "Flags: %s\n" msgstr "Sinalizador" #: parted/parted.c:1362 #, fuzzy, c-format msgid "File System: %s\n" msgstr "SistemaFich " #: parted/parted.c:1363 msgid "Size: " msgstr "" #: parted/parted.c:1368 msgid "Minimum size: " msgstr "" #: parted/parted.c:1371 msgid "Maximum size: " msgstr "" #: parted/parted.c:1504 #, c-format msgid "Model: %s (%s)\n" msgstr "" #: parted/parted.c:1506 #, fuzzy, c-format msgid "Disk %s: %s\n" msgstr "Tipo de rótulo de disco: %s\n" #: parted/parted.c:1507 #, c-format msgid "Sector size (logical/physical): %lldB/%lldB\n" msgstr "" #: parted/parted.c:1525 #, c-format msgid "BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s.\n" msgstr "" #: parted/parted.c:1534 #, fuzzy, c-format msgid "Partition Table: %s\n" msgstr "Tabela de partições inválida em %s" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Number" msgstr "" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Start" msgstr "" #: parted/parted.c:1550 parted/parted.c:1553 msgid "End" msgstr "" #: parted/parted.c:1553 #, fuzzy msgid "Size" msgstr "resize" #: parted/parted.c:1557 msgid "Type" msgstr "" #: parted/parted.c:1559 #, fuzzy msgid "File system" msgstr "SistemaFich " #: parted/parted.c:1562 #, fuzzy msgid "Name" msgstr "name" #: parted/parted.c:1564 msgid "Flags" msgstr "Sinalizador" #: parted/parted.c:1621 msgid "Free Space" msgstr "" #: parted/parted.c:1782 #, c-format msgid "" "A %s %s partition was found at %s -> %s. Do you want to add it to the " "partition table?" msgstr "" #: parted/parted.c:1821 msgid "searching for file systems" msgstr "" #: parted/parted.c:2041 #, fuzzy msgid "New device?" msgstr "Nenhum dispositivo encontrado" #: parted/parted.c:2086 msgid "alignment type(min/opt)" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d aligned\n" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d not aligned\n" msgstr "" #: parted/parted.c:2124 msgid "Flag to Invert?" msgstr "" #: parted/parted.c:2129 msgid "New state?" msgstr "" #: parted/parted.c:2166 msgid "Unit?" msgstr "" #: parted/parted.c:2348 #, fuzzy msgid "align-check" msgstr "check" #: parted/parted.c:2351 msgid "" "align-check TYPE N check partition N for TYPE(min|" "opt) alignment" msgstr "" #: parted/parted.c:2359 msgid "check" msgstr "check" #: parted/parted.c:2362 #, fuzzy msgid "" "check NUMBER do a simple check on the file system" msgstr "" "check MINOR faz um teste simples no sistema de ficheiros" #: parted/parted.c:2368 msgid "cp" msgstr "cp" #: parted/parted.c:2371 #, fuzzy msgid "" "cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another " "partition" msgstr "" "cp [FROM-DEVICE] FROM-MINOR TO-MINOR copia o sistema de ficheiros para " "outra partição" #: parted/parted.c:2377 msgid "help" msgstr "help" #: parted/parted.c:2380 #, fuzzy msgid "" "help [COMMAND] print general help, or help on " "COMMAND" msgstr "help [COMANDO] mostra ajuda geral, ou ajuda a COMANDO" #: parted/parted.c:2386 msgid "mklabel" msgstr "mklabel" #: parted/parted.c:2386 #, fuzzy msgid "mktable" msgstr "mklabel" #: parted/parted.c:2389 #, fuzzy msgid "" "mklabel,mktable LABEL-TYPE create a new disklabel (partition " "table)" msgstr "" "mklabel TIPO-ROTULO cria um novo rótulo (na tabela de partição)" #: parted/parted.c:2395 msgid "mkfs" msgstr "mkfs" #: parted/parted.c:2398 #, fuzzy msgid "" "mkfs NUMBER FS-TYPE make a FS-TYPE file system on " "partition NUMBER" msgstr "" "mkfs MINOR TIPO-FS cria um sistema TIPO-FS na partição MINOR" #: parted/parted.c:2404 msgid "mkpart" msgstr "mkpart" #: parted/parted.c:2407 #, fuzzy msgid "mkpart PART-TYPE [FS-TYPE] START END make a partition" msgstr "mkpart TIPO-PART [FS-TYPE] INICIO FIM cria uma partição" #: parted/parted.c:2413 #, fuzzy msgid "" "'mkpart' makes a partition without creating a new file system on the " "partition. FS-TYPE may be specified to set an appropriate partition ID.\n" msgstr "" "mkpart cria uma partição sem criar um novo sistema de ficheiros na partição. " "TIPO-FS deve ser especificado para partições de dados (ao oposto de uma " "partição extendida). Este comando é útil se apagou acidentalmente uma " "partição.\n" #: parted/parted.c:2418 msgid "mkpartfs" msgstr "mkpartfs" #: parted/parted.c:2421 #, fuzzy msgid "" "mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system" msgstr "mkpartfs TIPO-PART TIPO-FS INICIO FIM cria uma partição TIPO-FS" #: parted/parted.c:2427 msgid "move" msgstr "move" #: parted/parted.c:2430 #, fuzzy msgid "move NUMBER START END move partition NUMBER" msgstr "move MINOR INICIO [FIM] redimensiona a partição MINOR" #: parted/parted.c:2435 msgid "name" msgstr "name" #: parted/parted.c:2438 #, fuzzy msgid "name NUMBER NAME name partition NUMBER as NAME" msgstr "name MINOR NAME renomeia a partição MINOR para NAME" #: parted/parted.c:2443 msgid "print" msgstr "print" #: parted/parted.c:2446 msgid "" "print [devices|free|list,all|NUMBER] display the partition table, " "available devices, free space, all found partitions, or a particular " "partition" msgstr "" #: parted/parted.c:2451 msgid "" "Without arguments, 'print' displays the entire partition table. However with " "the following arguments it performs various other actions.\n" msgstr "" #: parted/parted.c:2453 msgid " devices : display all active block devices\n" msgstr "" #: parted/parted.c:2454 msgid "" " free : display information about free unpartitioned space on the " "current block device\n" msgstr "" #: parted/parted.c:2456 msgid "" " list, all : display the partition tables of all active block devices\n" msgstr "" #: parted/parted.c:2457 msgid "" " NUMBER : display more detailed information about this particular " "partition\n" msgstr "" #: parted/parted.c:2462 msgid "quit" msgstr "quit" #: parted/parted.c:2465 #, fuzzy msgid "quit exit program" msgstr "quit sair do programa" #: parted/parted.c:2470 #, fuzzy msgid "rescue" msgstr "resize" #: parted/parted.c:2473 #, fuzzy msgid "" "rescue START END rescue a lost partition near START " "and END" msgstr "print mostra a tabela de partições" #: parted/parted.c:2479 msgid "resize" msgstr "resize" #: parted/parted.c:2482 #, fuzzy msgid "" "resize NUMBER START END resize partition NUMBER and its " "file system" msgstr "resize MINOR INICIO FIM redimensiona a partição MINOR" #: parted/parted.c:2490 msgid "rm" msgstr "rm" #: parted/parted.c:2493 #, fuzzy msgid "rm NUMBER delete partition NUMBER" msgstr "rm MINOR apaga a partição MINOR" #: parted/parted.c:2498 msgid "select" msgstr "select" #: parted/parted.c:2501 #, fuzzy msgid "select DEVICE choose the device to edit" msgstr "select DEVICE selecciona o dispositivo a editar" #: parted/parted.c:2506 msgid "set" msgstr "set" #: parted/parted.c:2509 #, fuzzy msgid "" "set NUMBER FLAG STATE change the FLAG on partition NUMBER" msgstr "set MINOR FLAG ESTADO muda o sinalizador na partição MINOR" #: parted/parted.c:2515 msgid "toggle" msgstr "" #: parted/parted.c:2518 msgid "" "toggle [NUMBER [FLAG]] toggle the state of FLAG on " "partition NUMBER" msgstr "" #: parted/parted.c:2524 #, fuzzy msgid "unit" msgstr "quit" #: parted/parted.c:2527 #, fuzzy msgid "unit UNIT set the default unit to UNIT" msgstr "print mostra a tabela de partições" #: parted/parted.c:2532 msgid "version" msgstr "" #: parted/parted.c:2535 #, fuzzy msgid "" "version display the version number and " "copyright information of GNU Parted" msgstr "print mostra a tabela de partições" #: parted/parted.c:2539 msgid "" "'version' displays copyright and version information corresponding to this " "copy of GNU Parted\n" msgstr "" #: parted/parted.c:2607 #, c-format msgid "Usage: %s [-hlmsv] [-a] [DEVICE [COMMAND [PARAMETERS]]...]\n" msgstr "" #: parted/parted.c:2651 msgid "No device found" msgstr "Nenhum dispositivo encontrado" #: parted/parted.c:2688 msgid "WARNING: You are not superuser. Watch out for permissions." msgstr "" #: parted/parted.c:2726 msgid "You may need to update /etc/fstab.\n" msgstr "" #: parted/ui.c:162 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n" msgstr "" #: parted/ui.c:165 #, fuzzy msgid "" "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n" "Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run " "in\n" "interactive mode.\n" msgstr "" "Uso: parted [OPCOES]... [DISPOSITIVO [COMANDO [PARAMETROS]...]...]\n" "Aplica COMANDO com os PARAMETROS no DISPOSITIVO. Se não for dado nenhum\n" "COMANDO, executa em modo interactivo.\n" #: parted/ui.c:170 #, c-format msgid "" "\n" "\n" "You found a bug in GNU Parted! Here's what you have to do:\n" "\n" "Don't panic! The bug has most likely not affected any of your data.\n" "Help us to fix this bug by doing the following:\n" "\n" "Check whether the bug has already been fixed by checking\n" "the last version of GNU Parted that you can find at:\n" "\n" "\thttp://ftp.gnu.org/gnu/parted/\n" "\n" "Please check this version prior to bug reporting.\n" "\n" "If this has not been fixed yet or if you don't know how to check,\n" "please visit the GNU Parted website:\n" "\n" "\thttp://www.gnu.org/software/parted\n" "\n" "for further information.\n" "\n" "Your report should contain the version of this release (%s)\n" "along with the error message below, the output of\n" "\n" "\tparted DEVICE unit co print unit s print\n" "\n" "and the following history of commands you entered.\n" "Also include any additional information about your setup you\n" "consider important.\n" msgstr "" #: parted/ui.c:291 msgid "" "\n" "Command History:\n" msgstr "" #: parted/ui.c:354 msgid "" "\n" "Error: SEGV_MAPERR (Address not mapped to object)\n" msgstr "" #: parted/ui.c:360 msgid "" "\n" "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n" msgstr "" #: parted/ui.c:365 msgid "" "\n" "Error: A general SIGSEGV signal was encountered.\n" msgstr "" #: parted/ui.c:389 msgid "" "\n" "Error: FPE_INTDIV (Integer: divide by zero)" msgstr "" #: parted/ui.c:394 msgid "" "\n" "Error: FPE_INTOVF (Integer: overflow)" msgstr "" #: parted/ui.c:399 msgid "" "\n" "Error: FPE_FLTDIV (Float: divide by zero)" msgstr "" #: parted/ui.c:404 msgid "" "\n" "Error: FPE_FLTOVF (Float: overflow)" msgstr "" #: parted/ui.c:409 msgid "" "\n" "Error: FPE_FLTUND (Float: underflow)" msgstr "" #: parted/ui.c:414 msgid "" "\n" "Error: FPE_FLTRES (Float: inexact result)" msgstr "" #: parted/ui.c:419 msgid "" "\n" "Error: FPE_FLTINV (Float: invalid operation)" msgstr "" #: parted/ui.c:424 msgid "" "\n" "Error: FPE_FLTSUB (Float: subscript out of range)" msgstr "" #: parted/ui.c:429 msgid "" "\n" "Error: A general SIGFPE signal was encountered." msgstr "" #: parted/ui.c:453 msgid "" "\n" "Error: ILL_ILLOPC (Illegal Opcode)" msgstr "" #: parted/ui.c:458 msgid "" "\n" "Error: ILL_ILLOPN (Illegal Operand)" msgstr "" #: parted/ui.c:463 msgid "" "\n" "Error: ILL_ILLADR (Illegal addressing mode)" msgstr "" #: parted/ui.c:468 msgid "" "\n" "Error: ILL_ILLTRP (Illegal Trap)" msgstr "" #: parted/ui.c:473 msgid "" "\n" "Error: ILL_PRVOPC (Privileged Opcode)" msgstr "" #: parted/ui.c:478 msgid "" "\n" "Error: ILL_PRVREG (Privileged Register)" msgstr "" #: parted/ui.c:483 msgid "" "\n" "Error: ILL_COPROC (Coprocessor Error)" msgstr "" #: parted/ui.c:488 msgid "" "\n" "Error: ILL_BADSTK (Internal Stack Error)" msgstr "" #: parted/ui.c:493 msgid "" "\n" "Error: A general SIGILL signal was encountered." msgstr "" #: parted/ui.c:892 #, fuzzy, c-format msgid "invalid token: %s" msgstr "Tabela de partições inválida em %s" #: parted/ui.c:1048 #, fuzzy msgid "Expecting a partition number." msgstr "A partição destino está a ser utilizada." #: parted/ui.c:1057 msgid "Partition doesn't exist." msgstr "A partição não existe." #: parted/ui.c:1077 #, fuzzy msgid "Expecting a file system type." msgstr "Tipo de sistema de ficheiros desconhecido." #: parted/ui.c:1084 #, fuzzy, c-format msgid "Unknown file system type \"%s\"." msgstr "Tipo de sistema de ficheiros desconhecido." #: parted/ui.c:1104 msgid "Expecting a disk label type." msgstr "" #: parted/ui.c:1202 #, fuzzy msgid "Can't create any more partitions." msgstr "Não posso adicionar outra partição." #: parted/ui.c:1212 #, fuzzy msgid "Expecting a partition type." msgstr "A partição destino não existe." #: parted/ui.c:1360 msgid "on" msgstr "on" #: parted/ui.c:1361 msgid "off" msgstr "" #: parted/ui.c:1378 msgid "optimal" msgstr "" #: parted/ui.c:1379 msgid "minimal" msgstr "" #: parted/ui.c:1512 msgid "OPTIONs:" msgstr "OPÇÕES:" #: parted/ui.c:1517 msgid "COMMANDs:" msgstr "COMANDOs:" #: parted/ui.c:1520 #, c-format msgid "" "\n" "Report bugs to %s\n" msgstr "" #: parted/ui.c:1527 #, fuzzy, c-format msgid "Using %s\n" msgstr "" "\n" "Usando %s\n" #: parted/ui.c:1601 msgid "This command does not make sense in non-interactive mode.\n" msgstr "" #, fuzzy #~ msgid "Unable to determine the block size of this dasd" #~ msgstr "Impossível determinar tamanho de %s (%s)" #~ msgid "" #~ "The sector size on %s is %d bytes. Parted is known not to work properly " #~ "with drives with sector sizes other than 512 bytes" #~ msgstr "" #~ "O tamanho do sector em %s é %d bytes. O Parted é conhecido por não " #~ "funcionar perfeitamente com discos com sectores diferentes de 512 bytes" #~ msgid "Device %s has dodgey geometry." #~ msgstr "Dispositivo %s tem geometria estranha." #~ msgid "unknown" #~ msgstr "desconhecido" #~ msgid "Unknown SCSI" #~ msgstr "SCSI desconhecido" #~ msgid "Device %s is neither a SCSI nor IDE drive." #~ msgstr "O dispositivo %s não é um drive SCSI ou IDE." #~ msgid "" #~ "The partition table on %s is inconsistent. There are many reasons why " #~ "this might be the case. However, the most likely reason is that Linux " #~ "detected the BIOS geometry for %s incorrectly. GNU Parted suspects the " #~ "real geometry should be %d/%d/%d (not %d/%d/%d). You should check with " #~ "your BIOS first, as this may not be correct. You can inform Linux by " #~ "adding the parameter %s=%d,%d,%d to the command line. See the LILO or " #~ "GRUB documentation for more information. If you think Parted's suggested " #~ "geometry is correct, you may select Ignore to continue (and fix Linux " #~ "later). Otherwise, select Cancel (and fix Linux and/or the BIOS now)." #~ msgstr "" #~ "A tabela de partições em %s é inconsistente. Há várias razões para isto " #~ "ocorrer. A mais certa seria o Linux detectar a geometria da BIOS para %s " #~ "incorretamente. O GNU Parted suspeita que a geometria real deveria ser %d/" #~ "%d/%d (e não %d/%d/%d). Deverá vefificar a BIOS primeiro, pois isto pode " #~ "não estar correcto. Poderá informar o Linux adicionando o parâmetro %s=%d," #~ "%d,%d na linha de comando. Veja a documentação do LILO ou GRUB para " #~ "maiores informações. Se acha que a geometria sugeria pelo Parted é a " #~ "correcta, pode selecionar Ignorar para continuar (e corrigir o Linux " #~ "depois). De outra maneira, seleccione Cancelar (e corrigir o Linux e/ou a " #~ "BIOS agora)." #~ msgid "" #~ "The partition table on %s is inconsistent. There are many reasons why " #~ "this might be the case. Often, the reason is that Linux detected the " #~ "BIOS geometry incorrectly. However, this does not appear to be the case " #~ "here. It is safe to ignore,but ignoring may cause (fixable) problems " #~ "with some boot loaders, and may cause problems with FAT file systems. " #~ "Using LBA is recommended." #~ msgstr "" #~ "A tabela de partições em %s é inconsistente. Há várias razões para isto " #~ "ocorrer. Muitas vezes, o Linux detecta a geometria da BIOS " #~ "incorretamente. Porém, isso não parece ser o caso aqui. É seguro ignorar, " #~ "mas isso pode causar problemas (solucionáveis) com alguns gestores de " #~ "boot." #~ msgid "" #~ "Unable to align partition properly. This probably means that another " #~ "partitioning tool generated an incorrect partition table, because it " #~ "didn't have the correct BIOS geometry. It is safe to ignore,but ignoring " #~ "may cause (fixable) problems with some boot loaders." #~ msgstr "" #~ "Impossível alinhar a partição propriamente. Isso provavelmente significa " #~ "que outra ferramenta de particionamento gerou uma tabela de partições " #~ "incorreta porque não tinha a geometria na BIOS correta. É seguro ignorar, " #~ "mas isto pode causar problemas (solucionáveis) com alguns gestores de " #~ "boot." #~ msgid "GUID Partition Table Header Signature is wrong: " #~ msgstr "A GUID no cabeçalho da tabela de partição está incorrecta: " #~ msgid " should be " #~ msgstr " Deveria ser" #~ msgid "The new partition overlaps with another partition." #~ msgstr "A nova partição sobrepõe alguma outra partição" #~ msgid "Can't set non-Linux partitions as a root device." #~ msgstr "Não posso configurar partições não Linux como uma partição root." #~ msgid "Can't set non-Linux partitions as a swap device." #~ msgstr "" #~ "Não posso configurar partições não nao sejam Linux como uma partição swap." #~ msgid "No get_resize_constraint for %s!" #~ msgstr "Não há get_resize_constraint para %s!" #~ msgid "The %s file system code doesn't support %s disk labels." #~ msgstr "" #~ "O código do sistema de ficheiros %s não suporta rótulos de disco %s." #~ msgid "Creating new %s disklabels is not implemented yet." #~ msgstr "Criação de novos rótulos %s não está implementado ainda." #~ msgid "The code to write the partition table hasn't been written for %s yet" #~ msgstr "" #~ "O código para escrever a tabela de partições ainda não foi escrito para " #~ "%s." #~ msgid "Error reading %s (%s) to determine if partition is mounted." #~ msgstr "Erro lendo %s (%s) para determinar se a partição está montada." #~ msgid "Can't grow a partition onto used space." #~ msgstr "Não posso aumentar a partição acima de espaço já utilizado." #~ msgid "Attempt to read sectors %ld-%ld outside of partition on %s" #~ msgstr "Tentativa de ler sectores %ld-%ld fora da partição em %s" #~ msgid "" #~ "This ext2 filesystem has a rather strange layout! Please use dumpe2fs on " #~ "this filesystem and send it to . I won't resize it, " #~ "sorry." #~ msgstr "" #~ "Este sistema de ficheiros ext2 tem uma aparência muito estranha! Por " #~ "favor use o dumpe2fs neste sistema e envie-o para . Eu " #~ "não vou redimensioná-lo, desculpe." #~ msgid "Filesystem has incompatible feature enabled" #~ msgstr "Sistema de ficheiros tem características incompatíveis" #~ msgid "Insane! %d clusters!" #~ msgstr "Estranho! %d clusters!" #~ msgid "" #~ "The filesystem is going to be too big for FAT16, so FAT32 will be used. " #~ "This is not compatible with MS-DOS, early versions of MS-Windows 95 and " #~ "Windows NT. If you use these operating systems, then select cancel, and " #~ "create a smaller partition. If you only use Linux, BSD, MS Windows 98 " #~ "and/or MS Windows 95 B, then select OK." #~ msgstr "" #~ "O sistema de ficheiros será muito grande para FAT16, o melhor será usar " #~ "FAT32. Isto não é compatível com o MS-DOS, versões antigas do MS-Windows " #~ "95 e Windows NT. Se utiliza estes sistemas operativos, selecione " #~ "cancelar, e crie uma partição menor. Se utiliza somente Linux, BSD, MS-" #~ "Windows 98 e/ou MS-Windows 95 B, então selecione OK." #~ msgid "Weird: fat_calc_sizes() failed for FAT32!" #~ msgstr "Estranho: fat_calc_sizes() falhou para a FAT32!" #~ msgid "" #~ "Would you like to use FAT32 for this filesystem? It is much more " #~ "efficient with your disk space, but is not compatible with early versions " #~ "of Windows 95 and Windows NT. Only select yes if you only use Linux, " #~ "BSD, MS Windows 98 and/or MS Windows 95 B." #~ msgstr "" #~ "Você gostaria de usar a FAT32 para este sistema de ficheiros? É muito " #~ "mais eficiente com o espaço em disco, mas não é compatível com versões " #~ "antigas do Windows 95 e Windows NT. Seleccione SIM se você só utilizar " #~ "Linux, BSD, MS-Windows 98 e/ou MS-Windows 95 B." #~ msgid "" #~ "File system doesn't have expected sizes for Windows to like it. Number " #~ "of clusters is %d (%d expected); size of FATs is %d sectors (%d expected)." #~ msgstr "" #~ "O sistema de ficheiros não tem o tamanho esperado para que o Windows o " #~ "utilize. O tamanho do cluster é %dk (%dk esperado); tamanho da FAT é %d " #~ "sectores (%d esperado)." #~ msgid "File system has an invalid signature for a FAT file systems." #~ msgstr "Sistema de ficheiros tem uma assinatura inválida para um FAT." #~ msgid "" #~ "Partition size (%ld sectors) and filesystem size (%ld sectors) do not " #~ "match." #~ msgstr "" #~ "Tamanho da partição (%ld sectores) e tamanho do sistema de ficheiros (%ld " #~ "sectores) não coincidem." #~ msgid "" #~ "The FATs aren't big enough to describe all clusters! Each FAT is %d " #~ "sectors. There are %d clusters, which would require each FAT to be %d " #~ "sectors. This is REALLY weird. You might want to write us an email: bug-" #~ "parted@gnu.org" #~ msgstr "" #~ "As FATs não são grandes o suficiente para descrever todos os clusters! " #~ "Cada FAT tem %d sectores. Existem %d clusters, os quais requerem que cada " #~ "FAT tenha %d setores. Isto é REALMENTE estranho. Você pode querer " #~ "escrever um email: bug-parted@gnu.org" #~ msgid "" #~ "This swap partition is not compatible with Linux version 2.1.117 or " #~ "earlier. Use a smaller partition (maximum size 128mb) if you want to use " #~ "old versions of Linux." #~ msgstr "" #~ "Esta partição swap não é compatível com o Linux versão 2.1.117 ou " #~ "anterior. Utilize uma partição menor (máximo de 128mb) se quiser utilizar " #~ "versões antigas do Linux." #~ msgid "Linux-swap partitions can not be hidden on msdos disk labels." #~ msgstr "" #~ "Partições Linux-swap não podem ser escondidas em rótulos de disco msdos." #~ msgid "Linux-swap partitions can not be bootable on pc98 disk labels." #~ msgstr "" #~ "Partições Linux-swap não podem ser inicializáveis em rótulos de disco " #~ "pc98." #~ msgid "HFS partitions can't be hidden on msdos disk labels." #~ msgstr "Partições HFS não podem ser escondidas em rótulos de disco msdos." #~ msgid "JFS partitions can't be hidden on msdos disk labels." #~ msgstr "Partições JHS não podem ser escondidas em rótulos de disco msdos." #~ msgid "Reiserfs partitions can't be hidden on msdos disk labels." #~ msgstr "" #~ "Partições Reiserfs não podem ser escondidas em rótulos de disco msdos." #~ msgid "Reiserfs partitions must be bootable on pc98 disk labels." #~ msgstr "" #~ "Partições Reiserfs não podem ser inicializáveis em rótulos de disco pc98." #~ msgid "XFS partitions can't be hidden on msdos disk labels." #~ msgstr "Partições XFS não podem ser escondidas em rótulos de disco msdos." #~ msgid "where necessary, prompts for user intervention" #~ msgstr "quando necessário, pede intervenção do utilizador" #~ msgid "START and END are in megabytes\n" #~ msgstr "INICIO e FIM são em megabytes\n" #~ msgid "" #~ "You requested to move the partition to %.3f-%.3fMb. The closest Parted " #~ "can manage is %.3f-%.3fMb." #~ msgstr "" #~ "Pretende mover a partiçao para %.3f-%.3fMb. O mais perto que se consegue " #~ "será %3f-%.3fMb" #~ msgid "Disk geometry for %s: 0.000-%.3f megabytes\n" #~ msgstr "Geometria de disco para %s: 0.000-%.3f megabytes\n" #~ msgid "Minor Start End " #~ msgstr "Minor Início Fim " #~ msgid "Type " #~ msgstr "Tipo " #~ msgid "Name " #~ msgstr "Nome " #~ msgid "" #~ "You requested to resize the partition to %.3f-%.3fMb. The closest Parted " #~ "can manage is %.3f-%.3fMb." #~ msgstr "" #~ "Pretende redimensionar a partiçao para %.3f-%.3fMb. O mais perto que se " #~ "consegue será %3f-%.3fMb" #~ msgid "" #~ "You found a bug in GNU Parted. Please email a bug report to bug-" #~ "parted@gnu.org containing the version (%s), and the following message:\n" #~ msgstr "" #~ "Você encontrou um bug no GNU parted. Por favor envie um relatório para " #~ "bug-parted@gnu.org\n" #~ "contendo a versão (%s), e a mensagem abaixo:\n" #~ msgid "" #~ " You have Windows FAT partition(s) that are not using LBA. If your BIOS " #~ "supports LBA, then you should switch to LBA by setting the LBA flag on " #~ "all FAT partitions. Otherwise, make sure the operating system and the " #~ "BIOS have the same geometry before resizing any FAT partitions." #~ msgstr "" #~ "Você tem partiçoes FAT e nao esta a usar LBA. Se a sua BIOS suporta LBA " #~ "entao deverá mudar todas as partiçoes FAT para essa opçao. Caso " #~ "contrário, certifique-se que o sistema operativo e a BIOS têm a mesma " #~ "geometria antes de fazer o redimensionamento de qualquer partiçao FAT" #~ msgid "" #~ "The operating system thinks the geometry on %s is %d/%d/%d. Therefore, " #~ "cylinder 1024 ends at %.3fM.%s" #~ msgstr "" #~ "O sistema Operativo acha que a geometria de %s é %d/%d/%d. Porém, o " #~ "cilindro 1024 termina em %.3fM%s. Você devia verificar se isto está " #~ "correto com sua \"\"BIOS, antes de usar este programa." #~ msgid "The operating system thinks the geometry on %s is %d/%d/%d.%s" #~ msgstr "O Sistema Operativo detectou que a gemotria em %s é %d/%d/%d.%s" parted-2.3/po/es.po0000644000000000000000000031410211400005704011101 00000000000000# Mensajes en español para GNU parted. # Copyright (C) 2002 Free Software Foundation, Inc. # Vicente E. Llorens , 2002. # msgid "" msgstr "" "Project-Id-Version: GNU parted 1.6.23\n" "Report-Msgid-Bugs-To: bug-parted@gnu.org\n" "POT-Creation-Date: 2010-05-28 20:30+0200\n" "PO-Revision-Date: 2005-09-18 20:05+0100\n" "Last-Translator: Vicente E. Llorens \n" "Language-Team: Spanish \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8-bit\n" #: lib/argmatch.c:133 #, fuzzy, c-format msgid "invalid argument %s for %s" msgstr "No se puede abrir %s." #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "" #: lib/argmatch.c:153 #, fuzzy, c-format msgid "Valid arguments are:" msgstr "No se puede abrir %s." #: lib/closeout.c:112 libparted/labels/fdasd.c:107 msgid "write error" msgstr "" #: lib/error.c:181 #, fuzzy msgid "Unknown system error" msgstr "Tipo de sistema de ficheros \"%s\" desconocido." #: lib/getopt.c:527 lib/getopt.c:543 #, c-format msgid "%s: option '%s' is ambiguous\n" msgstr "" #: lib/getopt.c:576 lib/getopt.c:580 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:589 lib/getopt.c:594 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:637 lib/getopt.c:656 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "" #: lib/getopt.c:694 lib/getopt.c:697 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "No se puede abrir %s - etiqueta de disco desconocida." #: lib/getopt.c:705 lib/getopt.c:708 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "No se puede abrir %s - etiqueta de disco desconocida." #: lib/getopt.c:757 lib/getopt.c:760 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "" #: lib/getopt.c:810 lib/getopt.c:827 lib/getopt.c:1035 lib/getopt.c:1053 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "" #: lib/getopt.c:883 lib/getopt.c:899 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "" #: lib/getopt.c:923 lib/getopt.c:941 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:962 lib/getopt.c:980 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". If the catalog has no translation, #. locale_quoting_style quotes `like this', and #. clocale_quoting_style quotes "like this". #. #. For example, an American English Unicode locale should #. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and #. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION #. MARK). A British English Unicode locale should instead #. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) #. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. #. #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. #: lib/quotearg.c:272 msgid "`" msgstr "" #: lib/quotearg.c:273 msgid "'" msgstr "" #: lib/regcomp.c:134 msgid "Success" msgstr "" #: lib/regcomp.c:137 msgid "No match" msgstr "" #: lib/regcomp.c:140 msgid "Invalid regular expression" msgstr "" #: lib/regcomp.c:143 msgid "Invalid collation character" msgstr "" #: lib/regcomp.c:146 msgid "Invalid character class name" msgstr "" #: lib/regcomp.c:149 msgid "Trailing backslash" msgstr "" #: lib/regcomp.c:152 msgid "Invalid back reference" msgstr "" #: lib/regcomp.c:155 msgid "Unmatched [ or [^" msgstr "" #: lib/regcomp.c:158 msgid "Unmatched ( or \\(" msgstr "" #: lib/regcomp.c:161 msgid "Unmatched \\{" msgstr "" #: lib/regcomp.c:164 msgid "Invalid content of \\{\\}" msgstr "" #: lib/regcomp.c:167 msgid "Invalid range end" msgstr "" #: lib/regcomp.c:170 msgid "Memory exhausted" msgstr "" #: lib/regcomp.c:173 msgid "Invalid preceding regular expression" msgstr "" #: lib/regcomp.c:176 msgid "Premature end of regular expression" msgstr "" #: lib/regcomp.c:179 msgid "Regular expression too big" msgstr "" #: lib/regcomp.c:182 msgid "Unmatched ) or \\)" msgstr "" #: lib/regcomp.c:703 msgid "No previous regular expression" msgstr "" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "" #: lib/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "" #: lib/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "" #: lib/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" #: lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "" #: lib/xstrtol-error.c:63 #, fuzzy, c-format msgid "invalid %s%s argument `%s'" msgstr "No se puede abrir %s." #: lib/xstrtol-error.c:68 #, fuzzy, c-format msgid "invalid suffix in %s%s argument `%s'" msgstr "No se puede abrir %s." #: lib/xstrtol-error.c:72 #, fuzzy, c-format msgid "%s%s argument `%s' too large" msgstr "No se puede abrir %s." #: libparted/arch/beos.c:245 msgid "Disk Image" msgstr "" # o también "al abrir" #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277 #: libparted/arch/linux.c:1519 #, c-format msgid "Error opening %s: %s" msgstr "Error al abrir %s: %s" #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287 #: libparted/arch/linux.c:1530 #, c-format msgid "Unable to open %s read-write (%s). %s has been opened read-only." msgstr "" "No se puede abrir %s en modo lectura-escritura (%s). %s ha sido abierto en " "modo de sólo lectura." #: libparted/arch/beos.c:419 libparted/arch/linux.c:1688 #, c-format msgid "%s during seek for read on %s" msgstr "%s durante la preparación para lectura en %s" #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564 #: libparted/arch/gnu.c:692 libparted/arch/linux.c:1648 #: libparted/arch/linux.c:1729 #, c-format msgid "%s during read on %s" msgstr "%s durante la lectura en %s" # para sólo lectura. #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525 #: libparted/arch/linux.c:1805 #, c-format msgid "Can't write to %s, because it is opened read-only." msgstr "No se puede escribir en %s, porque está abierto para sólo lectura." #: libparted/arch/beos.c:504 libparted/arch/linux.c:1830 #, c-format msgid "%s during seek for write on %s" msgstr "%s durante la preparación para escribir en %s" #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646 #: libparted/arch/gnu.c:723 libparted/arch/linux.c:1778 #: libparted/arch/linux.c:1872 libparted/arch/linux.c:1944 #, c-format msgid "%s during write on %s" msgstr "%s durante la escritura en %s" #: debug/clearfat/clearfat.c:62 partprobe/partprobe.c:137 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "" #: debug/clearfat/clearfat.c:66 #, c-format msgid "" "Usage: %s [OPTION]\n" " or: %s DEVICE MINOR\n" msgstr "" #: debug/clearfat/clearfat.c:69 msgid "" "Clear unused space on a FAT partition (a GNU Parted testing tool).\n" "\n" msgstr "" #: debug/clearfat/clearfat.c:73 msgid " --help display this help and exit\n" msgstr "" #: debug/clearfat/clearfat.c:74 msgid " --version output version information and exit\n" msgstr "" #: debug/clearfat/clearfat.c:76 partprobe/partprobe.c:154 #, c-format msgid "" "\n" "Report bugs to <%s>.\n" msgstr "" #: debug/clearfat/clearfat.c:284 #, c-format msgid "too few arguments" msgstr "" #: debug/clearfat/clearfat.c:289 #, fuzzy, c-format msgid "too many arguments" msgstr "Demasiadas páginas incorrectas." #: debug/clearfat/clearfat.c:297 #, fuzzy, c-format msgid "invalid minor device number: %s" msgstr "No se puede abrir %s." #: partprobe/partprobe.c:141 #, c-format msgid "Usage: %s [OPTION] [DEVICE]...\n" msgstr "" #: partprobe/partprobe.c:142 msgid "" "Inform the operating system about partition table changes.\n" "\n" " -d, --dry-run do not actually inform the operating system\n" " -s, --summary print a summary of contents\n" " -h, --help display this help and exit\n" " -v, --version output version information and exit\n" msgstr "" #: partprobe/partprobe.c:150 msgid "" "\n" "When no DEVICE is given, probe all partitions.\n" msgstr "" #: libparted/arch/gnu.c:110 #, c-format msgid "Unable to open %s." msgstr "No se puede abrir %s." # Unable to -> No se puede. #: libparted/arch/gnu.c:130 msgid "Unable to probe store." msgstr "No se puede probar el guardar." # cargador "de" aranque (no del) #: libparted/arch/gnu.c:368 msgid "" "The partition table cannot be re-read. This means you need to reboot before " "mounting any modified partitions. You also need to reinstall your boot " "loader before you reboot (which may require mounting modified partitions). " "It is impossible do both things! So you'll need to boot off a rescue disk, " "and reinstall your boot loader from the rescue disk. Read section 4 of the " "Parted User documentation for more information." msgstr "" "No se pudo releer la tabla de particiones, por lo tanto es necesario " "reiniciar antes de montar alguna partición modificada. ¡También necesita " "reinstalar su cargador de arranque antes de reiniciar (que puede requerir " "montar las particiones modificadas). ¡Es imposible hacer ambas cosas! Así " "que necesitará arrancar con un disco de rescate y reinstalar su cargador de " "arranque desde el disco de rescate. Lea la sección 4 de la documentación " "del Usuario de Parted para obtener más información." #: libparted/arch/gnu.c:385 #, c-format msgid "" "The partition table on %s cannot be re-read (%s). This means the Hurd knows " "nothing about any modifications you made. You should reboot your computer " "before doing anything with %s." msgstr "" "La tabla de particiones en %s no puede ser releida(%s). Esto significa que " "Hurd (o Linux) no reconocerá las modificaciones que hizo. Debe reiniciar su " "computadora antes de hacer nada con %s." # boot loader -> cargador de arranque. #: libparted/arch/gnu.c:396 parted/parted.c:2719 msgid "" "You should reinstall your boot loader before rebooting. Read section 4 of " "the Parted User documentation for more information." msgstr "" "Debe reinstalar su cargador de arranque antes de reiniciar. Lea la sección " "4 de la documentación del Usuario de Parted para obtener más información." #: libparted/arch/gnu.c:788 #, c-format msgid "%s trying to sync %s to disk" msgstr "%s intentando sincronizar %s al disco" #: libparted/arch/linux.c:509 #, c-format msgid "Could not stat device %s - %s." msgstr "No se puede hacer `stat' sobre el dispositivo %s - %s." #: libparted/arch/linux.c:566 #, fuzzy, c-format msgid "Unable to determine the dm type of %s." msgstr "No se puede determinar el tamaño de %s (%s)." #: libparted/arch/linux.c:658 #, c-format msgid "" "Could not determine sector size for %s: %s.\n" "Using the default sector size (%lld)." msgstr "" #: libparted/arch/linux.c:679 #, c-format msgid "" "Could not determine physical sector size for %s.\n" "Using the logical sector size (%lld)." msgstr "" #: libparted/arch/linux.c:728 #, c-format msgid "Unable to determine the size of %s (%s)." msgstr "No se puede determinar el tamaño de %s (%s)." #: libparted/arch/linux.c:814 #, c-format msgid "Could not get identity of device %s - %s" msgstr "No se puede obtener la identidad del dispositivo %s - %s" #: libparted/arch/linux.c:823 msgid "Generic IDE" msgstr "" #: libparted/arch/linux.c:844 #, c-format msgid "" "Device %s has multiple (%d) logical sectors per physical sector.\n" "GNU Parted supports this EXPERIMENTALLY for some special disk label/file " "system combinations, e.g. GPT and ext2/3.\n" "Please consult the web site for up-to-date information." msgstr "" #: libparted/arch/linux.c:1019 #, c-format msgid "Error initialising SCSI device %s - %s" msgstr "Error iniciando el dispositivo SCSI %s - %s" #: libparted/arch/linux.c:1083 #, c-format msgid "" "The device %s has zero length, and can't possibly store a file system or " "partition table. Perhaps you selected the wrong device?" msgstr "" # el Parted -> Parted. No se suelen poner artículos a los nombres de # los programas. queda un poco despectivo #: libparted/arch/linux.c:1190 #, fuzzy, c-format msgid "" "Unable to determine geometry of file/device %s. You should not use Parted " "unless you REALLY know what you're doing!" msgstr "" "No se puede determinar la geometría del fichero/dispositivo. ¡No debería " "utilizar Parted a no ser que REALMENTE sepa lo que está haciendo!" #: libparted/arch/linux.c:1250 msgid "Generic SD/MMC Storage Card" msgstr "" #: libparted/arch/linux.c:1303 msgid "DAC960 RAID controller" msgstr "Controladora RAID DAC960" #: libparted/arch/linux.c:1308 msgid "Promise SX8 SATA Device" msgstr "" #: libparted/arch/linux.c:1313 msgid "ATA over Ethernet Device" msgstr "" #: libparted/arch/linux.c:1319 msgid "IBM S390 DASD drive" msgstr "" #: libparted/arch/linux.c:1325 msgid "IBM iSeries Virtual DASD" msgstr "" # de Compaq #: libparted/arch/linux.c:1330 msgid "Compaq Smart Array" msgstr "Estructura Smart de Compaq" #: libparted/arch/linux.c:1335 msgid "ATARAID Controller" msgstr "Controladora ATARAID" #: libparted/arch/linux.c:1340 msgid "I2O Controller" msgstr "Controladora I20" #: libparted/arch/linux.c:1345 msgid "User-Mode Linux UBD" msgstr "" #: libparted/arch/linux.c:1358 #, c-format msgid "Linux device-mapper (%s)" msgstr "" #: libparted/arch/linux.c:1369 msgid "Xen Virtual Block Device" msgstr "" # ¿Qué, exactamente, es desconocido? ¿No será desconocida? #: libparted/arch/linux.c:1374 msgid "Unknown" msgstr "Desconocida" #: libparted/arch/linux.c:1383 msgid "Virtio Block Device" msgstr "" #: libparted/arch/linux.c:1388 msgid "Linux Software RAID Array" msgstr "" #: libparted/arch/linux.c:1395 msgid "ped_device_new() Unsupported device type" msgstr "ped_device_new() Tipo de dispositivo no soportado" # o también "al abrir" #: libparted/arch/linux.c:1492 libparted/arch/linux.c:1564 #, fuzzy, c-format msgid "Error fsyncing/closing %s: %s" msgstr "Error al abrir %s: %s" #: libparted/arch/linux.c:1728 #, c-format msgid "end of file while reading %s" msgstr "" # informing the kernel -> al informar al núcleo # in any way -> de ninguna forma #: libparted/arch/linux.c:2365 #, c-format msgid "" "Error informing the kernel about modifications to partition %s -- %s. This " "means Linux won't know about any changes you made to %s until you reboot -- " "so you shouldn't mount it or use it in any way before rebooting." msgstr "" "Error al informar el núcleo sobre las modificaciones en la partición %s -- " "%s. Esto significa que Linux no reconocerá ningún cambio que haya hecho en " "%s hasta que lo reinicie -- por lo tanto no puede montarla o utilizarla " "antes de reiniciarla." #: libparted/arch/linux.c:2503 #, fuzzy, c-format msgid "Unable to determine the size and length of %s." msgstr "No se puede determinar el tamaño de %s (%s)." #: libparted/arch/linux.c:2528 #, fuzzy, c-format msgid "Failed to add partition %d (%s)" msgstr "Fallo al escribir el bloque de la partición en %d." #: libparted/arch/linux.c:2555 #, c-format msgid "" "Partition(s) %s on %s have been written, but we have been unable to inform " "the kernel of the change, probably because it/they are in use. As a result, " "the old partition(s) will remain in use. You should reboot now before " "making further changes." msgstr "" #: libparted/arch/linux.c:2681 #, fuzzy, c-format msgid "" "parted was unable to re-read the partition table on %s (%s). This means " "Linux won't know anything about the modifications you made. " msgstr "" "El núcleo no pudo releer la tabla de particiones en %s (%s). Esto significa " "que Linux no reconocerá las modificaciones que hizo. Debe reiniciarlo antes " "de hacer cualquier uso con %s." #: libparted/cs/geom.c:162 #, fuzzy, c-format msgid "Can't have the end before the start! (start sector=%jd length=%jd)" msgstr "¡No se puede tener el final de la partición antes del inicio!" #: libparted/cs/geom.c:170 msgid "Can't have a partition outside the disk!" msgstr "¡No se puede hacer una partición fuera del disco!" #: libparted/cs/geom.c:385 #, c-format msgid "Attempt to write sectors %ld-%ld outside of partition on %s." msgstr "" "Se intentaron escribir los sectores %ld-%ld fuera de la partición en %s." #: libparted/cs/geom.c:425 libparted/fs/linux_swap/linux_swap.c:488 msgid "checking for bad blocks" msgstr "comprobando bloques erroneos" #: libparted/debug.c:97 #, c-format msgid "Backtrace has %d calls on stack:\n" msgstr "" #: libparted/debug.c:110 #, c-format msgid "Assertion (%s) at %s:%d in function %s() failed." msgstr "" #: libparted/disk.c:193 #, fuzzy, c-format msgid "%s: unrecognised disk label" msgstr "No se puede abrir %s - etiqueta de disco desconocida." # para sólo lectura. #: libparted/disk.c:486 #, c-format msgid "" "This libparted doesn't have write support for %s. Perhaps it was compiled " "read-only." msgstr "" "Esta libparted no tiene soporte para escritura en %s. Quizás fue compilada " "para sólo lectura." #: libparted/disk.c:631 #, c-format msgid "Partition %d is %s, but the file system is %s." msgstr "La partición %d es %s, pero el sistema de ficheros es de %s." #: libparted/disk.c:841 msgid "cylinder_alignment" msgstr "" #: libparted/disk.c:847 #, fuzzy, c-format msgid "Unknown disk flag, %d." msgstr "Modificador de particiones desconocido, %d." #: libparted/disk.c:1286 #, c-format msgid "%s disk labels do not support extended partitions." msgstr "Las etiquetas de disco de %s no soportan particiones extendidas." #: libparted/disk.c:1865 #, c-format msgid "%s disk labels don't support logical or extended partitions." msgstr "" "Las etiquetas de disco %s no soportan particiones extendidas o lógicas." #: libparted/disk.c:1878 msgid "Too many primary partitions." msgstr "Demasiadas particiones primarias." #: libparted/disk.c:1887 #, c-format msgid "" "Can't add a logical partition to %s, because there is no extended partition." msgstr "" "No se puede añadir una partición lógica en %s, porque no hay una partición " "extendida." #: libparted/disk.c:1911 #, c-format msgid "Can't have more than one extended partition on %s." msgstr "No se puede tener más de una partición extendida en %s." #: libparted/disk.c:1921 msgid "Can't have logical partitions outside of the extended partition." msgstr "" "No se puede tener una partición lógica fuera de la partición extendida." #: libparted/disk.c:1946 #, c-format msgid "Can't have a logical partition outside of the extended partition on %s." msgstr "" "No se puede tener una partición lógica fuera de la partición extendida en %s." #: libparted/disk.c:1956 libparted/disk.c:2015 libparted/disk.c:2193 msgid "Can't have overlapping partitions." msgstr "No se puede tener particiones superpuestas." #: libparted/disk.c:1964 msgid "Can't have a primary partition inside an extended partition." msgstr "" "No se puede tener una partición primaria dentro de una partición extendida." #: libparted/disk.c:2395 msgid "metadata" msgstr "metadata" #: libparted/disk.c:2397 msgid "free" msgstr "libre" #: libparted/disk.c:2399 parted/ui.c:1193 parted/ui.c:1221 msgid "extended" msgstr "extendida" #: libparted/disk.c:2401 parted/ui.c:1197 parted/ui.c:1225 msgid "logical" msgstr "lógica" #: libparted/disk.c:2403 parted/ui.c:1189 parted/ui.c:1217 msgid "primary" msgstr "primaria" #: libparted/disk.c:2419 msgid "boot" msgstr "arranque" #: libparted/disk.c:2421 msgid "bios_grub" msgstr "" #: libparted/disk.c:2423 msgid "root" msgstr "raíz" #: libparted/disk.c:2425 msgid "swap" msgstr "swap" #: libparted/disk.c:2427 msgid "hidden" msgstr "oculta" #: libparted/disk.c:2429 msgid "raid" msgstr "raid" #: libparted/disk.c:2431 msgid "lvm" msgstr "lvm" #: libparted/disk.c:2433 msgid "lba" msgstr "lba" #: libparted/disk.c:2435 msgid "hp-service" msgstr "utilidad-hp" #: libparted/disk.c:2437 msgid "palo" msgstr "palo" #: libparted/disk.c:2439 msgid "prep" msgstr "prep" #: libparted/disk.c:2441 msgid "msftres" msgstr "" #: libparted/disk.c:2443 msgid "atvrecv" msgstr "" #: libparted/disk.c:2445 msgid "diag" msgstr "" #: libparted/disk.c:2451 #, c-format msgid "Unknown partition flag, %d." msgstr "Modificador de particiones desconocido, %d." #: libparted/exception.c:77 msgid "Information" msgstr "Información" #: libparted/exception.c:78 msgid "Warning" msgstr "Aviso" #: libparted/exception.c:79 msgid "Error" msgstr "Error" #: libparted/exception.c:80 msgid "Fatal" msgstr "Fatal" #: libparted/exception.c:81 msgid "Bug" msgstr "Bicho" #: libparted/exception.c:82 msgid "No Implementation" msgstr "Sin Implementación" #: libparted/exception.c:86 msgid "Fix" msgstr "Arreglar" #: libparted/exception.c:87 msgid "Yes" msgstr "Sí" #: libparted/exception.c:88 msgid "No" msgstr "No" #: libparted/exception.c:89 msgid "OK" msgstr "De acuerdo" #: libparted/exception.c:90 msgid "Retry" msgstr "Reintentar" #: libparted/exception.c:91 msgid "Ignore" msgstr "Descartar" #: libparted/exception.c:92 msgid "Cancel" msgstr "Cancelar" # bicho :-) #: libparted/exception.c:132 #, fuzzy, c-format msgid "" "A bug has been detected in GNU Parted. Refer to the web site of parted " "http://www.gnu.org/software/parted/parted.html for more information of what " "could be useful for bug submitting! Please email a bug report to bug-" "parted@gnu.org containing at least the version (%s) and the following " "message: " msgstr "" "Si detectó un bicho en GNU parted. Por favor, envíe un informe del bicho a " "bug-parted@gnu.org conteniendo la versión (%s) y el mensaje siguiente:" #: libparted/filesys.c:462 msgid "Could not detect file system." msgstr "No se puede detectar el sistema de ficheros." #: libparted/filesys.c:473 msgid "The file system is bigger than its volume!" msgstr "¡El sistema de ficheros es más grande que su volumen!" #: libparted/filesys.c:481 #, c-format msgid "Support for opening %s file systems is not implemented yet." msgstr "" "El soporte para abrir el sistema de ficheros %s aún no está implementado." #: libparted/filesys.c:523 #, c-format msgid "Support for creating %s file systems is not implemented yet." msgstr "" "El soporte para crear el sistema de ficheros %s aún no está implementado." #: libparted/filesys.c:583 #, c-format msgid "Support for checking %s file systems is not implemented yet." msgstr "" "El soporte para comprobar el sistema de ficheros %s aún no está implementado." #: libparted/filesys.c:649 msgid "raw block copying" msgstr "copiando los bloque en bruto" #: libparted/filesys.c:660 msgid "growing file system" msgstr "sistema de ficheros creciendo" #: libparted/filesys.c:700 msgid "Can't copy onto an overlapping partition." msgstr "No se puede copiar sobre una partición superpuesta." #: libparted/filesys.c:722 #, c-format msgid "" "Direct support for copying file systems is not yet implemented for %s. " "However, support for resizing is implemented. Therefore, the file system " "can be copied if the new partition is at least as big as the old one. So, " "either shrink the partition you are trying to copy, or copy to a bigger " "partition." msgstr "" "El soporte directo para copiar sistemas de ficheros aún no está implementado " "para %s. Sin embargo, el soporte para redimensionar está implementado. Por " "lo tanto, el sistema de ficheros se puede copiar si la nueva partición es " "por lo menos tan grande como la vieja. Así, o reduce la partición que está " "intentando copiar o copie en una partición más grande." #: libparted/filesys.c:736 #, c-format msgid "Support for copying %s file systems is not implemented yet." msgstr "" "El soporte para copiar el sistema de ficheros %s aún no está implementado." #: libparted/filesys.c:774 #, c-format msgid "Support for resizing %s file systems is not implemented yet." msgstr "" "El soporte para redimensionar el sistema de ficheros %s aún no está " "implementado." #: libparted/fs/reiserfs/reiserfs.c:315 msgid "creating" msgstr "" #: libparted/fs/reiserfs/reiserfs.c:402 #, fuzzy msgid "The file system is in an invalid state. Perhaps it is mounted?" msgstr "¡El sistema de ficheros es más grande que su volumen!" #: libparted/fs/reiserfs/reiserfs.c:410 msgid "The file system is in old (unresizeable) format." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:416 msgid "Invalid free blocks count. Run reiserfsck --check first." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:431 #, fuzzy msgid "checking" msgstr "comprobar" #: libparted/fs/reiserfs/reiserfs.c:437 msgid "Reiserfs tree seems to be corrupted. Run reiserfsck --check first." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:449 #, fuzzy msgid "" "The reiserfs file system passed a basic check. For a more comprehensive " "check, run reiserfsck --check." msgstr "" "El sistema de ficheros ext2 pasó una comprobación básica. Para una " "comprobación más a fondo, utilize el programa e2fsck." #: libparted/fs/reiserfs/reiserfs.c:474 #, fuzzy msgid "Sorry, can't move the start of reiserfs partitions yet." msgstr "¡Disculpe, aún no se puede mover el principio de las particiones ext2!" #: libparted/fs/reiserfs/reiserfs.c:490 msgid "Couldn't reopen device abstraction layer for read/write." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:508 libparted/fs/ext2/ext2_resize.c:552 #: libparted/fs/hfs/hfs.c:250 libparted/fs/hfs/hfs.c:629 msgid "shrinking" msgstr "contrayendo" #: libparted/fs/reiserfs/reiserfs.c:520 #, fuzzy msgid "expanding" msgstr "Aviso" #: libparted/fs/reiserfs/reiserfs.c:592 msgid "Couldn't create reiserfs device abstraction handler." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:606 #, fuzzy, c-format msgid "Device is too small for %lu blocks." msgstr "Sistema de ficheros demasiado pequeño para ext2." #: libparted/fs/reiserfs/reiserfs.c:615 msgid "copying" msgstr "" #: libparted/fs/reiserfs/reiserfs.c:682 #, c-format msgid "Couldn't resolve symbol %s. Error: %s." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:704 msgid "GNU Parted found an invalid libreiserfs library." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:715 #, c-format msgid "" "GNU Parted has detected libreiserfs interface version mismatch. Found %d-" "%d, required %d. ReiserFS support will be disabled." msgstr "" #: libparted/labels/aix.c:103 #, fuzzy msgid "Support for reading AIX disk labels is is not implemented yet." msgstr "" "El soporte para crear el sistema de ficheros %s aún no está implementado." #: libparted/labels/aix.c:114 #, fuzzy msgid "Support for writing AIX disk labels is is not implemented yet." msgstr "" "El soporte para crear el sistema de ficheros %s aún no está implementado." #: libparted/labels/aix.c:127 #, fuzzy msgid "" "Support for adding partitions to AIX disk labels is not implemented yet." msgstr "" "El soporte para crear el sistema de ficheros %s aún no está implementado." #: libparted/labels/aix.c:137 #, fuzzy msgid "" "Support for duplicating partitions in AIX disk labels is not implemented yet." msgstr "" "El soporte para crear el sistema de ficheros %s aún no está implementado." #: libparted/labels/aix.c:155 #, fuzzy msgid "" "Support for setting system type of partitions in AIX disk labels is not " "implemented yet." msgstr "" "El soporte para crear el sistema de ficheros %s aún no está implementado." #: libparted/labels/aix.c:165 #, fuzzy msgid "Support for setting flags in AIX disk labels is not implemented yet." msgstr "" "El soporte para crear el sistema de ficheros %s aún no está implementado." # No se pueden, con N. # no pongas dos espacios seguidos #: libparted/labels/bsd.c:568 libparted/labels/dasd.c:783 #: libparted/labels/dos.c:2092 libparted/labels/dvh.c:788 #: libparted/labels/gpt.c:1750 libparted/labels/loop.c:245 #: libparted/labels/mac.c:1424 libparted/labels/pc98.c:749 #: libparted/labels/rdb.c:1051 libparted/labels/sun.c:821 msgid "Unable to satisfy all constraints on the partition." msgstr "No se pueden satisfacer todas las restricciones en la partición." #: libparted/labels/bsd.c:593 msgid "Unable to allocate a bsd disklabel slot." msgstr "No se puede asignar una ranura de la etiqueta de disco bsd" #: libparted/labels/dasd.c:809 #, fuzzy msgid "Unable to allocate a dasd disklabel slot" msgstr "No se puede asignar una ranura de la etiqueta de disco bsd" # te doy permiso para poner inválida #: libparted/labels/dos.c:882 #, c-format msgid "Invalid partition table on %s -- wrong signature %x." msgstr "Tabla de particiones inválida en %s -- firma errónea %x." #: libparted/labels/dos.c:910 #, c-format msgid "Invalid partition table - recursive partition on %s." msgstr "Tabla de particiones inválida - partición recursiva en %s." #: libparted/labels/dos.c:1420 msgid "Extended partitions cannot be hidden on msdos disk labels." msgstr "" "No pueden esconderse particiones extendidas en etiquetas de disco msdos." #: libparted/labels/dos.c:2074 msgid "Parted can't resize partitions managed by Windows Dynamic Disk." msgstr "" "Parted no puede redimensionar particiones manejadas por Windows Dynamic Disk." # to ignore no es ignorar, es descartar, pasar por alto, hacer la vista # gorda, etc. ingorar es no saber, y eso se dice "not to know". # La segunda acepción de ignorar (según el diccionario) también es pasar # por alto. vll # volumenes -> volúmenes #: libparted/labels/dvh.c:201 #, fuzzy, c-format msgid "%s has no extended partition (volume header partition)." msgstr "" "%s no tiene partición extendida (partición de cabecera de volumen). Si lo " "descarta, todos volúmenes de arranque serán borrados." # suma de comprobación #: libparted/labels/dvh.c:327 msgid "Checksum is wrong, indicating the partition table is corrupt." msgstr "" "La suma de comprobación es incorrecta, lo cual indica que la tabla de " "particiones está corrupta." #: libparted/labels/dvh.c:632 msgid "Only primary partitions can be root partitions." msgstr "Sólo las particiones primarias pueden ser particiones raíz." #: libparted/labels/dvh.c:646 msgid "Only primary partitions can be swap partitions." msgstr "Sólo las particiones primarias pueden ser particiones de intercambio." #: libparted/labels/dvh.c:660 msgid "Only logical partitions can be a boot file." msgstr "Sólo las particiones lógicas pueden ser un fichero de arranque." #: libparted/labels/dvh.c:737 #, fuzzy, c-format msgid "" "failed to set dvh partition name to %s:\n" "Only logical partitions (boot files) have a name." msgstr "Sólo las particiones lógicas (ficheros de arranque) tienen un nombre." #: libparted/labels/dvh.c:830 msgid "Too many primary partitions" msgstr "Demasiadas particiones primarias" #: libparted/labels/fdasd.c:98 msgid "open error" msgstr "" #: libparted/labels/fdasd.c:101 msgid "seek error" msgstr "" #: libparted/labels/fdasd.c:104 msgid "read error" msgstr "" #: libparted/labels/fdasd.c:110 msgid "ioctl() error" msgstr "" #: libparted/labels/fdasd.c:114 msgid "API version mismatch" msgstr "" #: libparted/labels/fdasd.c:118 #, fuzzy msgid "Unsupported disk type" msgstr "ped_device_new() Tipo de dispositivo no soportado" #: libparted/labels/fdasd.c:122 msgid "Unsupported disk format" msgstr "" #: libparted/labels/fdasd.c:126 msgid "Disk is in use" msgstr "" #: libparted/labels/fdasd.c:130 msgid "Syntax error in config file" msgstr "" #: libparted/labels/fdasd.c:134 msgid "Volume label is corrupted" msgstr "" #: libparted/labels/fdasd.c:138 msgid "A data set name is corrupted" msgstr "" #: libparted/labels/fdasd.c:142 msgid "Memory allocation failed" msgstr "" #: libparted/labels/fdasd.c:146 msgid "Device verification failed" msgstr "" #: libparted/labels/fdasd.c:147 msgid "The specified device is not a valid DASD device" msgstr "" #: libparted/labels/fdasd.c:150 libparted/labels/vtoc.c:179 #, fuzzy msgid "Fatal error" msgstr "Fatal" #: libparted/labels/fdasd.c:226 msgid "No room for volume label." msgstr "" #: libparted/labels/fdasd.c:234 #, fuzzy msgid "No room for partition info." msgstr "Se encontró una tabla de particiones inválida." #: libparted/labels/fdasd.c:704 msgid "Invalid VTOC." msgstr "" #: libparted/labels/fdasd.c:764 msgid "Could not retrieve API version." msgstr "" #: libparted/labels/fdasd.c:767 #, c-format msgid "" "The current API version '%d' doesn't match dasd driver API version '%d'!" msgstr "" # No se puede. #: libparted/labels/fdasd.c:804 #, fuzzy msgid "Could not retrieve disk geometry information." msgstr "No se puede leer la geometría de %s - %s." #: libparted/labels/fdasd.c:808 msgid "Could not retrieve blocksize information." msgstr "" #: libparted/labels/fdasd.c:813 msgid "Could not retrieve disk information." msgstr "" #: libparted/labels/fdasd.c:818 msgid "This is not an ECKD disk! This disk type is not supported!" msgstr "" #: libparted/labels/gpt.c:485 #, c-format msgid "" "%s contains GPT signatures, indicating that it has a GPT table. However, it " "does not have a valid fake msdos partition table, as it should. Perhaps it " "was corrupted -- possibly by a program that doesn't understand GPT partition " "tables. Or perhaps you deleted the GPT table, and are now using an msdos " "partition table. Is this a GPT partition table?" msgstr "" "%s contiene firmas GPT, lo cual indica que tiene una tabla GPT. No " "obstante, no tiene una tabla de particiones msdos de imitación válida, como " "habría de ser. Quizás esta corrupta -- posiblemente por un programa que no " "es capaz de enterder las tablas de partición GPT. O quizás borró la tabla " "GPT y ahora está usando una tabla de particiones msdos. ¿Es esta una tabla " "de partición GPT?" #: libparted/labels/gpt.c:680 #, c-format msgid "" "The format of the GPT partition table is version %x, which is newer than " "what Parted can recognise. Please tell us! bug-parted@gnu.org" msgstr "" "El formato de la tabla de particiones GPT es la versión %x, el cual es más " "nuevo que lo que Parted puede reconocer. Por favor, díganoslo a bug-" "parted@gnu.org" #: libparted/labels/gpt.c:727 #, c-format msgid "" "Not all of the space available to %s appears to be used, you can fix the GPT " "to use all of the space (an extra %llu blocks) or continue with the current " "setting? " msgstr "" #: libparted/labels/gpt.c:936 msgid "" "The backup GPT table is not at the end of the disk, as it should be. This " "might mean that another operating system believes the disk is smaller. Fix, " "by moving the backup to the end (and removing the old backup)?" msgstr "" "La copia de la tabla GPT no está al final disco, como debería ser. Esto " "quiere decir que otro sistema operativo cree que el disco es más pequeño. " "¿Lo quiere arreglar moviendo la copia al final (y borrando la copia vieja)?" #: libparted/labels/gpt.c:960 msgid "" "Both the primary and backup GPT tables are corrupt. Try making a fresh " "table, and using Parted's rescue feature to recover partitions." msgstr "" "La tabla primaria y la copia de respaldo GPT están corruptas. Intente crear " "una tabla actualizada, y utilice la opción de rescate de Parted para " "reconstruir las particiones." #: libparted/labels/gpt.c:971 #, fuzzy msgid "" "The backup GPT table is corrupt, but the primary appears OK, so that will be " "used." msgstr "" "La tabla primaria GPT está corrupta, pero la copia de respaldo parece " "correcta, por lo tanto se usará esta." #: libparted/labels/gpt.c:983 msgid "" "The primary GPT table is corrupt, but the backup appears OK, so that will be " "used." msgstr "" "La tabla primaria GPT está corrupta, pero la copia de respaldo parece " "correcta, por lo tanto se usará esta." #: libparted/labels/gpt.c:1007 msgid "primary partition table array CRC mismatch" msgstr "" #: libparted/labels/mac.c:185 #, c-format msgid "Invalid signature %x for Mac disk labels." msgstr "Firma inválida %x para etiquetas de discos Mac." # Map es asignación o tabla. Mapa es un barbarismo. #: libparted/labels/mac.c:232 msgid "Partition map has no partition map entry!" msgstr "" "¡La tabla de particiones no tiene una entrada de la tabla de particiones!" #: libparted/labels/mac.c:280 #, c-format msgid "%s is too small for a Mac disk label!" msgstr "¡%s es demasiado pequeño para una etiqueta de disco Mac!" #: libparted/labels/mac.c:509 #, c-format msgid "Partition %d has an invalid signature %x." msgstr "La partición %d tiene una firma inválida %x." #: libparted/labels/mac.c:527 #, c-format msgid "Partition %d has an invalid length of 0 bytes!" msgstr "¡La partición %d tiene una longitud inválida de 0 bytes!" #: libparted/labels/mac.c:558 msgid "The data region doesn't start at the start of the partition." msgstr "La región de datos no empieza al principio de la partición." #: libparted/labels/mac.c:575 msgid "The boot region doesn't start at the start of the partition." msgstr "La región de arranque no empieza al principio de la partición." #: libparted/labels/mac.c:589 msgid "The partition's boot region doesn't occupy the entire partition." msgstr "La región de arranque de la partición no ocupa toda la partición." #: libparted/labels/mac.c:600 msgid "The partition's data region doesn't occupy the entire partition." msgstr "La región de datos de la partición no ocupa toda la partición." #: libparted/labels/mac.c:653 #, c-format msgid "" "Weird block size on device descriptor: %d bytes is not divisible by 512." msgstr "" "Tamaño de bloque extraño en el descriptor del dispositivo: %d bytes no es " "divisible por 512." #: libparted/labels/mac.c:666 #, c-format msgid "" "The driver descriptor says the physical block size is %d bytes, but Linux " "says it is %d bytes." msgstr "" "El descriptor del controlador dice que el tamaño del bloque físico es de %d " "bytes, pero Linux dice que es de %d bytes." #: libparted/labels/mac.c:720 msgid "No valid partition map found." msgstr "Se encontró una tabla de particiones inválida." #: libparted/labels/mac.c:782 #, c-format msgid "" "Conflicting partition map entry sizes! Entry 1 says it is %d, but entry %d " "says it is %d!" msgstr "" "¡Conflicto en el tamaño de la entrada de la tabla de particiones! ¡La " "entrada 1 dice que es %d, pero la entrada %d dice que es %d!" #: libparted/labels/mac.c:809 msgid "Weird! There are 2 partitions map entries!" msgstr "¡Extraño! ¡Hay 2 entradas de tabla de particiones!" #: libparted/labels/mac.c:1355 msgid "" "Changing the name of a root or swap partition will prevent Linux from " "recognising it as such." msgstr "" "Cambiando el nombre de una partición raíz o de intercambio impedirán a Linux " "de reconocela como tal." #: libparted/labels/mac.c:1459 msgid "Can't add another partition -- the partition map is too small!" msgstr "" "¡No se puede añadir otra partición -- la tabla de las particiones es " "demasiado pequeña!" #: libparted/labels/pc98.c:331 #, c-format msgid "Invalid partition table on %s." msgstr "Tabla de partición inválida en %s." #: libparted/labels/pc98.c:384 libparted/labels/pc98.c:462 #, c-format msgid "" "Partition %d isn't aligned to cylinder boundaries. This is still " "unsupported." msgstr "" "La partición %d no está alineada a los límites del cilindro. Necesita " "añadirle soporte." # No se puede. #: libparted/labels/pc98.c:781 msgid "Can't add another partition." msgstr "No se puede añadir otra partición." #: libparted/labels/pt-tools.c:125 #, c-format msgid "" "partition length of %jd sectors exceeds the %s-partition-table-imposed " "maximum of %jd" msgstr "" #: libparted/labels/pt-tools.c:138 #, c-format msgid "" "starting sector number, %jd exceeds the %s-partition-table-imposed maximum " "of %jd" msgstr "" #: libparted/labels/rdb.c:170 #, c-format msgid "%s : Bad checksum on block %llu of type %s." msgstr "%s : Suma de comprobación mala en el bloque %llu de tipo %s." #: libparted/labels/rdb.c:486 #, c-format msgid "%s : Didn't find rdb block, should never happen." msgstr "%s : No se encuentra el bloque rdb, nunca debería ocurrir." #: libparted/labels/rdb.c:572 #, c-format msgid "%s : Loop detected at block %d." msgstr "%s : Bucle detectado en el bloque %d." #: libparted/labels/rdb.c:591 #, c-format msgid "%s : The %s list seems bad at block %s." msgstr "%s : La lista %s parece mala en el bloque %s." #: libparted/labels/rdb.c:690 #, c-format msgid "%s : Failed to list bad blocks." msgstr "" #: libparted/labels/rdb.c:698 #, c-format msgid "%s : Failed to list partition blocks." msgstr "" #: libparted/labels/rdb.c:706 #, c-format msgid "%s : Failed to list file system blocks." msgstr "" #: libparted/labels/rdb.c:714 #, c-format msgid "%s : Failed to list boot blocks." msgstr "" #: libparted/labels/rdb.c:741 #, c-format msgid "Failed to write partition block at %d." msgstr "Fallo al escribir el bloque de la partición en %d." #: libparted/labels/rdb.c:1079 msgid "Unable to allocate a partition number." msgstr "No se puede asignar un número de partición." #: libparted/labels/sun.c:163 msgid "Corrupted Sun disk label detected." msgstr "Se ha detectado una etiqueta de disco Sun corrupta." #: libparted/labels/sun.c:316 #, c-format msgid "" "The disk CHS geometry (%d,%d,%d) reported by the operating system does not " "match the geometry stored on the disk label (%d,%d,%d)." msgstr "" "La geometría de disco CHS (%d,%d,%d) informado por el sistema operativo no " "parece coincidir con la geometría guardada en la etiqueta de disco (%d,%d," "%d)." #: libparted/labels/sun.c:338 #, c-format msgid "The disk label describes a disk bigger than %s." msgstr "La etiqueta de disco describe un disco mayor que %s." #: libparted/labels/sun.c:510 #, c-format msgid "The disk has %d cylinders, which is greater than the maximum of 65536." msgstr "El disco tiene %d cilindros que son mayores que el máximo de 65536." #: libparted/labels/sun.c:853 msgid "" "The Whole Disk partition is the only available one left. Generally, it is " "not a good idea to overwrite this partition with a real one. Solaris may " "not be able to boot without it, and SILO (the sparc boot loader) appreciates " "it as well." msgstr "" "La partición Entera del Disco es la única que queda disponible. " "Generalmente, no es una buena idea sobrescribir esta partición con una " "verdadera. Solaris no se puede arrancar sin ella, y SILO (el cargador de " "arranque de sparc) también la agradece." #: libparted/labels/sun.c:868 msgid "Sun disk label is full." msgstr "La etiqueta de disco Sun está llena." #: libparted/labels/vtoc.c:164 msgid "opening of device failed" msgstr "" #: libparted/labels/vtoc.c:168 msgid "seeking on device failed" msgstr "" #: libparted/labels/vtoc.c:172 msgid "writing to device failed" msgstr "" #: libparted/labels/vtoc.c:176 msgid "reading from device failed" msgstr "" # No se puede. #: libparted/labels/vtoc.c:277 libparted/labels/vtoc.c:284 #, fuzzy msgid "Could not read volume label." msgstr "No se puede leer la geometría de %s - %s." #: libparted/labels/vtoc.c:303 libparted/labels/vtoc.c:308 #, fuzzy msgid "Could not write volume label." msgstr "No se puede detectar el sistema de ficheros." #: libparted/labels/vtoc.c:414 msgid "Could not read VTOC labels." msgstr "" #: libparted/labels/vtoc.c:420 msgid "Could not read VTOC FMT1 DSCB." msgstr "" #: libparted/labels/vtoc.c:427 msgid "Could not read VTOC FMT4 DSCB." msgstr "" #: libparted/labels/vtoc.c:434 msgid "Could not read VTOC FMT5 DSCB." msgstr "" #: libparted/labels/vtoc.c:441 msgid "Could not read VTOC FMT7 DSCB." msgstr "" #: libparted/labels/vtoc.c:461 msgid "Could not write VTOC labels." msgstr "" #: libparted/labels/vtoc.c:467 msgid "Could not write VTOC FMT1 DSCB." msgstr "" #: libparted/labels/vtoc.c:474 msgid "Could not write VTOC FMT4 DSCB." msgstr "" #: libparted/labels/vtoc.c:481 msgid "Could not write VTOC FMT5 DSCB." msgstr "" #: libparted/labels/vtoc.c:488 msgid "Could not write VTOC FMT7 DSCB." msgstr "" #: libparted/libparted.c:237 libparted/libparted.c:252 msgid "Out of memory." msgstr "No hay memoria." #: libparted/unit.c:138 msgid "Cannot get unit size for special unit 'COMPACT'." msgstr "" #: libparted/unit.c:384 #, c-format msgid "\"%s\" has invalid syntax for locations." msgstr "" #: libparted/unit.c:392 #, c-format msgid "The maximum head value is %d." msgstr "" #: libparted/unit.c:399 #, c-format msgid "The maximum sector value is %d." msgstr "" #: libparted/unit.c:411 libparted/unit.c:543 #, c-format msgid "The location %s is outside of the device %s." msgstr "" #: libparted/unit.c:525 msgid "Invalid number." msgstr "" #: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:56 #: libparted/fs/amiga/asfs.c:70 #, fuzzy, c-format msgid "%s : Failed to allocate partition block\n" msgstr "Fallo al escribir el bloque de la partición en %d." #: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:69 #: libparted/fs/amiga/asfs.c:82 #, c-format msgid "%s : Failed to allocate block\n" msgstr "" #: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:74 #, fuzzy, c-format msgid "%s : Couldn't read boot block %llu\n" msgstr "%s : Bucle detectado en el bloque %d." #: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:85 #: libparted/fs/amiga/asfs.c:88 libparted/fs/amiga/asfs.c:102 #, fuzzy, c-format msgid "%s : Couldn't read root block %llu\n" msgstr "%s : Bucle detectado en el bloque %d." #: libparted/fs/amiga/amiga.c:72 #, c-format msgid "%s : Failed to allocate id list element\n" msgstr "" #: libparted/fs/amiga/amiga.c:189 #, c-format msgid "%s : Couldn't read block %llu\n" msgstr "" #: libparted/fs/amiga/amiga.c:202 #, fuzzy, c-format msgid "%s : Bad checksum on block %llu of type %s\n" msgstr "%s : Suma de comprobación mala en el bloque %llu de tipo %s." #: libparted/fs/amiga/amiga.c:212 #, fuzzy, c-format msgid "%s : Couldn't write block %d\n" msgstr "%s : Bucle detectado en el bloque %d." #: libparted/fs/amiga/amiga.c:278 #, c-format msgid "%s : Failed to allocate disk_specific rdb block\n" msgstr "" #: libparted/fs/amiga/amiga.c:289 #, fuzzy, c-format msgid "%s : Didn't find rdb block, should never happen\n" msgstr "%s : No se encuentra el bloque rdb, nunca debería ocurrir." #: libparted/fs/amiga/amiga.c:318 #, fuzzy, c-format msgid "%s : Failed to read partition block %llu\n" msgstr "Fallo al escribir el bloque de la partición en %d." #: libparted/fs/ext2/ext2.c:87 libparted/fs/ext2/ext2.c:112 msgid "Inconsistent group descriptors!" msgstr "¡Descriptores de grupo inconsistentes!" #: libparted/fs/ext2/ext2.c:91 libparted/fs/ext2/ext2.c:116 msgid "File system full!" msgstr "¡Sistema de ficheros lleno!" #: libparted/fs/ext2/ext2.c:686 msgid "Invalid superblock. Are you sure this is an ext2 file system?" msgstr "" "Superbloque inválido. ¿Está seguro de que este es un sistema de ficheros " "ext2?" #: libparted/fs/ext2/ext2.c:700 libparted/fs/ext2/ext2_resize.c:658 msgid "File system has errors! You should run e2fsck." msgstr "¡El sistema de ficheros tiene errores! Debería ejecutar e2fsck." #: libparted/fs/ext2/ext2.c:711 msgid "" "File system was not cleanly unmounted! You should run e2fsck. Modifying an " "unclean file system could cause severe corruption." msgstr "" "¡El sistema de ficheros no fue desmontado limpiamente! Debería ejecutar " "e2fsck. Modificar un sistema de ficheros sucio podría causar una corrupción " "grave." #: libparted/fs/ext2/ext2.c:731 msgid "" "File system has an incompatible feature enabled. Compatible features are " "has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs " "or debugfs to remove features." msgstr "" #: libparted/fs/ext2/ext2.c:745 msgid "Error allocating buffer cache." msgstr "Error asignando espacio en la caché del búfer." #: libparted/fs/ext2/ext2_inode_relocator.c:114 msgid "" "Found an inode with a incorrect link count. Better go run e2fsck first!" msgstr "" "Encontrado un nodo-i con una cuenta de enlace incorrecta. ¡Mejor ejecutar " "primero e2fsck!" #: libparted/fs/ext2/ext2_inode_relocator.c:487 msgid "Not enough free inodes!" msgstr "¡No hay suficientes nodos-i libres!" #: libparted/fs/ext2/ext2_resize.c:223 msgid "File system is too full to remove a group!" msgstr "¡El sistema de ficheros está demasiado ocupado para borrar un grupo!" #: libparted/fs/ext2/ext2_resize.c:232 msgid "File system has too many allocated inodes to remove a group!" msgstr "" "¡El sistema de ficheros tiene demasiados nodos-i asignados para borrar un " "grupo!" #: libparted/fs/ext2/ext2_resize.c:491 msgid "adding groups" msgstr "añadiendo grupos" #: libparted/fs/ext2/ext2_resize.c:528 #, c-format msgid "Your file system is too full to resize it to %i blocks. Sorry." msgstr "" "Su sistema de ficheros está demasiado lleno para redimensionarlo a %i " "bloques. Disculpe." #: libparted/fs/ext2/ext2_resize.c:538 #, c-format msgid "" "Your file system has too many occupied inodes to resize it to %i blocks. " "Sorry." msgstr "" "Su sistema de ficheros tiene demasiados nodos-i ocupados para " "redimensionarlo a %i bloques. Disculpe." #: libparted/fs/ext2/ext2_resize.c:666 msgid "File system was not cleanly unmounted! You should run e2fsck." msgstr "" "¡El sistema de ficheros no fue desmontado limpiamente! Debería ejecutar " "e2fsck." #: libparted/fs/ext2/ext2_resize.c:675 msgid "" "The file system has the 'dir_index' feature enabled. Parted can only resize " "the file system if it disables this feature. You can enable it later by " "running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'." msgstr "" "El sistema de ficheros tiene la opción 'dir_index' habilitada. Parted sólo " "pude redimensionar el sistema de ficheros si desactiva esta opción. Puede " "habilitarla después ejecutando 'tune2fs -O dir_index UNIDAD' y luego 'e2fsck " "-fD UNIDAD'." #: libparted/fs/ext2/ext2_resize.c:691 msgid "" "A resize operation on this file system will use EXPERIMENTAL code\n" "that MAY CORRUPT it (although no one has reported any such damage yet).\n" "You should at least backup your data first, and run 'e2fsck -f' afterwards." msgstr "" #: libparted/fs/ext2/ext2_block_relocator.c:198 msgid "Cross-linked blocks found! Better go run e2fsck first!" msgstr "" "¡Se encontraron bloques con referencia cruzada! ¡Mejor ejecutar primero " "e2fsck!" #: libparted/fs/ext2/ext2_block_relocator.c:537 #, c-format msgid "Block %i has no reference? Weird." msgstr "¿El bloque %i no tiene una referencia? Estraño." #: libparted/fs/ext2/ext2_block_relocator.c:738 #, fuzzy, c-format msgid "Block %i shouldn't have been marked (%d, %d)!" msgstr "¡El bloque %i no debería haber sido marcado!" #: libparted/fs/ext2/interface.c:226 msgid "" "The ext2 file system passed a basic check. For a more comprehensive check, " "use the e2fsck program." msgstr "" "El sistema de ficheros ext2 pasó una comprobación básica. Para una " "comprobación más a fondo, utilize el programa e2fsck." #: libparted/fs/ext2/interface.c:243 msgid "Sorry, can't move the start of ext2 partitions yet!" msgstr "¡Disculpe, aún no se puede mover el principio de las particiones ext2!" #: libparted/fs/ext2/ext2_buffer.c:82 msgid "Couldn't flush buffer cache!" msgstr "¡No se pudo vaciar la caché del búfer!" #: libparted/fs/ext2/ext2_mkfs.c:161 msgid "writing per-group metadata" msgstr "escribiendo metadatos por-grupo" #: libparted/fs/ext2/ext2_mkfs.c:597 msgid "File system too small for ext2." msgstr "Sistema de ficheros demasiado pequeño para ext2." #: libparted/fs/fat/calc.c:135 #, c-format msgid "" "You need %s of free disk space to shrink this partition to this size. " "Currently, only %s is free." msgstr "" "Necesita %s de espacio disco libre para reducir esta partición a este " "tamaño. Actualmente, sólo %s está libre." #: libparted/fs/fat/context.c:56 #, c-format msgid "" "Cluster start delta = %d, which is not a multiple of the cluster size %d." msgstr "" "El inicio delta del cluster = %d, que no es un múltiplo del tamaño de " "cluster %d." #: libparted/fs/fat/fat.c:310 #, c-format msgid "Partition too big/small for a %s file system." msgstr "Partición demasiado grande/pequeña para un sistema de ficheros %s." #: libparted/fs/fat/fat.c:476 msgid "" "The FATs don't match. If you don't know what this means, then select " "cancel, run scandisk on the file system, and then come back." msgstr "" "Las FATs no son iguales. Si no sabe que significa esto, seleccione " "cancelar, ejecute scandisk en el sistema de ficheros, y después vuelva." #: libparted/fs/fat/fat.c:516 msgid "There are no possible configurations for this FAT type." msgstr "No hay configuraciones posibles para este tipo de FAT." #: libparted/fs/fat/fat.c:528 #, c-format msgid "" "File system doesn't have expected sizes for Windows to like it. Cluster " "size is %dk (%dk expected); number of clusters is %d (%d expected); size of " "FATs is %d sectors (%d expected)." msgstr "" "El sistema de ficheros no tiene los tamaños esperados para que los utilize " "Windows. El tamaño del cluster es %dk (se esperaba %dk); el número de " "clusters es de %d (se esperaba %d); el tamaño de la FAT es de %d sectores " "(se esperaba %d)." #: libparted/fs/fat/fat.c:551 #, c-format msgid "" "File system is reporting the free space as %d clusters, not %d clusters." msgstr "" "El sistema de ficheros está informando que el espacio libre de clusters es " "de %d, no de %d clusters." #: libparted/fs/fat/fat.c:876 msgid "" "GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT " "support will be disabled." msgstr "" "GNU parted fue mal compilado: el sector de arranque FAT debería ser de 512 " "bytes. El soporte a FAT será desabilitado." #: libparted/fs/fat/resize.c:158 msgid "" "There's not enough room in the root directory for all of the files. Either " "cancel, or ignore to lose the files." msgstr "" "No hay espacio suficiente en el directorio root para todos los ficheros. " "Puede cancelar o descartar perdiendo los ficheros." #: libparted/fs/fat/resize.c:299 msgid "Error writing to the root directory." msgstr "Error al escribir en el directorio root." #: libparted/fs/fat/resize.c:488 msgid "If you leave your file system as FAT16, then you will have no problems." msgstr "" "Si deja su sistema de ficheros como FAT16, entonces no tendrá problemas." #: libparted/fs/fat/resize.c:491 msgid "" "If you convert to FAT16, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual)." msgstr "" "Si convierte a FAT16, y MS Windows está instalado en esa partición, entonces " "debería re-instalar el cargador de arranque de MS Windows. Si quiere hacer " "esto, debería consultar el manual de Parted (o el manual de su distribución)." #: libparted/fs/fat/resize.c:499 msgid "" "If you leave your file system as FAT32, then you will not introduce any new " "problems." msgstr "" "Si deja su sistema de ficheros como FAT32, entonces no tendrá nuevos " "problemas." #: libparted/fs/fat/resize.c:503 msgid "" "If you convert to FAT32, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual). Also, " "converting to FAT32 will make the file system unreadable by MS DOS, MS " "Windows 95a, and MS Windows NT." msgstr "" "Si convierte a FAT32, y MS Windows está instalado en la partición, tiene que " "re-instalar el cargador de arranque de MS Windows. Si quiere hacerlo, " "debería consultar el manual de Parted (o el manual de su distribución). " "También, la conversión a FAT32 hará ilegible el sistema de ficheros para MS " "DOS, MS Windows 95a y MS Windows NT." #: libparted/fs/fat/resize.c:517 #, c-format msgid "%s %s %s" msgstr "%s %s %s" #: libparted/fs/fat/resize.c:518 msgid "Would you like to use FAT32?" msgstr "¿Le gustaría usar FAT32?" #: libparted/fs/fat/resize.c:549 libparted/fs/fat/resize.c:565 #, c-format msgid "%s %s" msgstr "%s %s" #: libparted/fs/fat/resize.c:550 msgid "" "The file system can only be resized to this size by converting to FAT16." msgstr "" "El sistema de ficheros sólo puede ser redimensionado a este tamaño para " "convertirlo a FAT16." #: libparted/fs/fat/resize.c:566 msgid "" "The file system can only be resized to this size by converting to FAT32." msgstr "" "El sistema de ficheros sólo puede ser redimensionado a este tamaño para " "convertirlo a FAT32." #: libparted/fs/fat/resize.c:579 msgid "" "GNU Parted cannot resize this partition to this size. We're working on it!" msgstr "" "GNU Parted no puede redimensionar esta partición a ese tamaño. ¡Estamos " "trabajando en ello!" #: libparted/fs/fat/bootsector.c:49 libparted/fs/fat/bootsector.c:56 msgid "File system has an invalid signature for a FAT file system." msgstr "" "El sistema de ficheros tiene una firma inválida para un sistema de ficheros " "FAT." #: libparted/fs/fat/bootsector.c:64 msgid "File system has an invalid sector size for a FAT file system." msgstr "" "El sistema de ficheros tiene un tamaño de sector inválido para un sistema de " "ficheros FAT." #: libparted/fs/fat/bootsector.c:71 msgid "File system has an invalid cluster size for a FAT file system." msgstr "" "El sistema de ficheros tiene un tamaño de cluster inválido para un sistema " "de ficheros FAT." #: libparted/fs/fat/bootsector.c:78 msgid "" "File system has an invalid number of reserved sectors for a FAT file system." msgstr "" "El sistema de ficheros tiene un número inválido de sectores reservados para " "un sistema de ficheros FAT." #: libparted/fs/fat/bootsector.c:85 msgid "File system has an invalid number of FATs." msgstr "El sistema de ficheros tiene un número de FATS inválido." #: libparted/fs/fat/bootsector.c:139 #, c-format msgid "" "This file system has a logical sector size of %d. GNU Parted is known not " "to work properly with sector sizes other than 512 bytes." msgstr "" "El sistema de ficheros tiene el tamaño del sector lógico de %d. GNU Parted " "es conocido por no funcionar adecuadamente con tamaños de sector distintos " "de 512 bytes." #: libparted/fs/fat/bootsector.c:164 #, c-format msgid "" "The file system's CHS geometry is (%d, %d, %d), which is invalid. The " "partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the " "file system's CHS geometry will be left unchanged. If you select Fix, the " "file system's CHS geometry will be set to match the partition table's CHS " "geometry." msgstr "" #: libparted/fs/fat/bootsector.c:213 msgid "FAT boot sector says logical sector size is 0. This is weird. " msgstr "" "El sector de arranque de la FAT dice que el tamaño lógico del sector es 0. " "Esto es extraño. " #: libparted/fs/fat/bootsector.c:219 msgid "FAT boot sector says there are no FAT tables. This is weird. " msgstr "" "El sector de arranque de la FAT dice que no hay tablas FAT. Esto es " "extraño. " #: libparted/fs/fat/bootsector.c:225 msgid "FAT boot sector says clusters are 0 sectors. This is weird. " msgstr "" "El sector de arranque de la FAT dice que los clusters tienen 0 sectores. " "Esto es extraño. " #: libparted/fs/fat/bootsector.c:235 msgid "File system is FAT12, which is unsupported." msgstr "El sistema de ficheros es FAT12, el cuál no está soportado." #: libparted/fs/fat/bootsector.c:411 #, c-format msgid "" "The information sector has the wrong signature (%x). Select cancel for now, " "and send in a bug report. If you're desperate, it's probably safe to ignore." msgstr "" "El sector de información tiene una firma errónea (%x). Seleccione cancelar " "por ahora, y mande un informe del fallo. Si está desesperado, es más seguro " "descartar." #: libparted/fs/fat/count.c:144 #, c-format msgid "Bad directory entry for %s: first cluster is the end of file marker." msgstr "" "Entrada de directorio incorrecta para %s: el primer cluster es el final de " "la marca del fichero." #: libparted/fs/fat/count.c:157 #, c-format msgid "" "Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk." msgstr "" "FAT incorrecta: cadena no terminada para %s. Debería ejecutar dosfsck o " "scandisck." #: libparted/fs/fat/count.c:166 #, c-format msgid "" "Bad FAT: cluster %d outside file system in chain for %s. You should run " "dosfsck or scandisk." msgstr "" "FAT incorrecta: el cluster %d está fuera del sistema de ficheros en la " "cadena para %s. Debería ejecutar dosfsck o scandisk." #: libparted/fs/fat/count.c:176 #, c-format msgid "" "Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or " "scandisk." msgstr "" "FAT incorrecta: el cluster %d tiene enlaces cruzados para %s. Debería " "ejecutar dosfsck o scandisck." #: libparted/fs/fat/count.c:195 #, c-format msgid "%s is %dk, but it has %d clusters (%dk)." msgstr "%s es %dk, pero tiene %d clusters (%dk)." #: libparted/fs/fat/count.c:258 #, c-format msgid "" "The file %s is marked as a system file. This means moving it could cause " "some programs to stop working." msgstr "" "El fichero %s está marcado como un fichero del sistema. Esto quiere decir " "que si lo mueve puede ocurrir que algunos programas no funcionen." #: libparted/fs/fat/table.c:136 #, c-format msgid "" "FAT %d media %x doesn't match the boot sector's media %x. You should " "probably run scandisk." msgstr "" "La FAT %d del medio %x no coincide con los sectores de arranque del medio " "%x. Debería, probablemente, ejecutar scandisk." #: libparted/fs/fat/table.c:268 #, fuzzy, c-format msgid "fat_table_set: cluster %ld outside file system" msgstr "fat_table_set: el cluster %ld está fuera del sistema de ficheros" #: libparted/fs/fat/table.c:300 #, fuzzy, c-format msgid "fat_table_get: cluster %ld outside file system" msgstr "fat_table_get: el cluster %ld está fuera del sistema de ficheros" #: libparted/fs/fat/table.c:342 msgid "fat_table_alloc_cluster: no free clusters" msgstr "fat_table_alloc_cluster: no quedan clusters libres" #: libparted/fs/linux_swap/linux_swap.c:288 #, fuzzy, c-format msgid "Unrecognised old style linux swap signature '%10s'." msgstr "Firma de la partición de intercambio de linux '%10s' no reconocida." #: libparted/fs/linux_swap/linux_swap.c:331 #, fuzzy, c-format msgid "Unrecognised new style linux swap signature '%10s'." msgstr "Firma de la partición de intercambio de linux '%10s' no reconocida." #: libparted/fs/linux_swap/linux_swap.c:371 #, fuzzy, c-format msgid "Unrecognised swsusp linux swap signature '%9s'." msgstr "Firma de la partición de intercambio de linux '%10s' no reconocida." #: libparted/fs/linux_swap/linux_swap.c:447 msgid "Too many bad pages." msgstr "Demasiadas páginas incorrectas." #: libparted/fs/hfs/advfs.c:121 libparted/fs/hfs/advfs_plus.c:121 #: libparted/fs/hfs/reloc.c:414 libparted/fs/hfs/reloc.c:508 #: libparted/fs/hfs/reloc_plus.c:538 libparted/fs/hfs/reloc_plus.c:656 #: libparted/fs/hfs/reloc_plus.c:769 msgid "The file system contains errors." msgstr "El sistema de ficheros contiene errores." #: libparted/fs/hfs/advfs_plus.c:285 msgid "Bad blocks could not be read." msgstr "No pueden leerse los bloques incorrectos." #: libparted/fs/hfs/cache.c:137 #, c-format msgid "" "Trying to register an extent starting at block 0x%X, but another one already " "exists at this position. You should check the file system!" msgstr "" "Intentando registrar una extensión que empieza en el bloque 0x%X, pero ya " "existe otra en esta posición. ¡Debería verificar el sistema de ficheros!" #: libparted/fs/hfs/cache.c:214 #, c-format msgid "" "Trying to move an extent from block Ox%X to block Ox%X, but another one " "already exists at this position. This should not happen!" msgstr "" "Intentando mover una extensión desde el bloque Ox%X para bloquear Ox%X, pero " "ya existe otra en esta posición. ¡Esto no debería pasar!" #: libparted/fs/hfs/file.c:143 #, c-format msgid "Could not update the extent cache for HFS file with CNID %X." msgstr "" #: libparted/fs/hfs/file.c:180 #, c-format msgid "Trying to read HFS file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/file.c:190 libparted/fs/hfs/file.c:220 #, c-format msgid "Could not find sector %lli of HFS file with CNID %X." msgstr "" #: libparted/fs/hfs/file.c:210 #, c-format msgid "Trying to write HFS file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/file_plus.c:157 #, c-format msgid "Could not update the extent cache for HFS+ file with CNID %X." msgstr "" #: libparted/fs/hfs/file_plus.c:202 #, c-format msgid "Trying to read HFS+ file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/file_plus.c:213 libparted/fs/hfs/file_plus.c:256 #, c-format msgid "Could not find sector %lli of HFS+ file with CNID %X." msgstr "" #: libparted/fs/hfs/file_plus.c:245 #, c-format msgid "Trying to write HFS+ file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/hfs.c:232 msgid "Sorry, HFS cannot be resized that way yet." msgstr "" #: libparted/fs/hfs/hfs.c:262 libparted/fs/hfs/hfs.c:641 msgid "Data relocation has failed." msgstr "" #: libparted/fs/hfs/hfs.c:281 msgid "Data relocation left some data in the end of the volume." msgstr "" #: libparted/fs/hfs/hfs.c:320 #, fuzzy msgid "writing HFS Master Directory Block" msgstr "Error al escribir en el directorio raíz." #: libparted/fs/hfs/hfs.c:468 msgid "No valid HFS[+X] signature has been found while opening." msgstr "" #: libparted/fs/hfs/hfs.c:478 #, c-format msgid "Version %d of HFS+ isn't supported." msgstr "" #: libparted/fs/hfs/hfs.c:489 #, c-format msgid "Version %d of HFSX isn't supported." msgstr "" #: libparted/fs/hfs/hfs.c:672 msgid "Data relocation left some data at the end of the volume." msgstr "" #: libparted/fs/hfs/hfs.c:720 #, fuzzy msgid "Error while writing the allocation file." msgstr "Error al escribir en el directorio raíz." #: libparted/fs/hfs/hfs.c:735 msgid "Error while writing the compatibility part of the allocation file." msgstr "" #: libparted/fs/hfs/hfs.c:750 msgid "writing HFS+ Volume Header" msgstr "" #: libparted/fs/hfs/hfs.c:850 msgid "An error occurred while looking for the mandatory bad blocks file." msgstr "" #: libparted/fs/hfs/hfs.c:904 msgid "" "It seems there is an error in the HFS wrapper: the bad blocks file doesn't " "contain the embedded HFS+ volume." msgstr "" #: libparted/fs/hfs/hfs.c:940 msgid "Sorry, HFS+ cannot be resized that way yet." msgstr "" #: libparted/fs/hfs/hfs.c:975 msgid "shrinking embedded HFS+ volume" msgstr "" #: libparted/fs/hfs/hfs.c:991 msgid "Resizing the HFS+ volume has failed." msgstr "" #: libparted/fs/hfs/hfs.c:998 #, fuzzy msgid "shrinking HFS wrapper" msgstr "contrayendo" #: libparted/fs/hfs/hfs.c:1007 msgid "Updating the HFS wrapper has failed." msgstr "" #: libparted/fs/hfs/hfs.c:1109 libparted/fs/hfs/hfs.c:1194 #, c-format msgid "" "This is not a real %s check. This is going to extract special low level " "files for debugging purposes." msgstr "" #: libparted/fs/hfs/journal.c:155 msgid "Bad block list header checksum." msgstr "" #: libparted/fs/hfs/journal.c:168 #, c-format msgid "" "Invalid size of a transaction block while replaying the journal (%i bytes)." msgstr "" #: libparted/fs/hfs/journal.c:260 msgid "" "Journal stored outside of the volume are not supported. Try to desactivate " "the journal and run Parted again." msgstr "" #: libparted/fs/hfs/journal.c:271 #, fuzzy msgid "Journal offset or size is not multiple of the sector size." msgstr "" "El inicio delta del cluster = %d, que no es un múltiplo del tamaño de " "cluster %d." #: libparted/fs/hfs/journal.c:292 msgid "Incorrect magic values in the journal header." msgstr "" #: libparted/fs/hfs/journal.c:302 msgid "Journal size mismatch between journal info block and journal header." msgstr "" #: libparted/fs/hfs/journal.c:314 #, fuzzy msgid "Some header fields are not multiple of the sector size." msgstr "" "El inicio delta del cluster = %d, que no es un múltiplo del tamaño de " "cluster %d." #: libparted/fs/hfs/journal.c:323 msgid "" "The sector size stored in the journal is not 512 bytes. Parted only " "supports 512 bytes length sectors." msgstr "" #: libparted/fs/hfs/journal.c:335 msgid "Bad journal checksum." msgstr "" #: libparted/fs/hfs/journal.c:353 msgid "" "The journal is not empty. Parted must replay the transactions before " "opening the file system. This will modify the file system." msgstr "" #: libparted/fs/hfs/journal.c:381 msgid "" "The volume header or the master directory block has changed while replaying " "the journal. You should restart Parted." msgstr "" #: libparted/fs/hfs/probe.c:51 #, c-format msgid "" "Parted can't use HFS file systems on disks with a sector size not equal to " "%d bytes." msgstr "" #: libparted/fs/hfs/reloc.c:151 libparted/fs/hfs/reloc_plus.c:155 msgid "An extent has not been relocated." msgstr "" #: libparted/fs/hfs/reloc.c:251 libparted/fs/hfs/reloc_plus.c:307 msgid "" "A reference to an extent comes from a place it should not. You should check " "the file system!" msgstr "" #: libparted/fs/hfs/reloc.c:381 msgid "This HFS volume has no catalog file. This is very unusual!" msgstr "" #: libparted/fs/hfs/reloc.c:475 msgid "This HFS volume has no extents overflow file. This is quite unusual!" msgstr "" #: libparted/fs/hfs/reloc.c:517 libparted/fs/hfs/reloc_plus.c:666 msgid "" "The extents overflow file should not contain its own extents! You should " "check the file system." msgstr "" #: libparted/fs/hfs/reloc.c:574 libparted/fs/hfs/reloc_plus.c:844 #, fuzzy msgid "Could not cache the file system in memory." msgstr "No se puede detectar el sistema de ficheros." #: libparted/fs/hfs/reloc.c:635 libparted/fs/hfs/reloc_plus.c:905 msgid "Bad blocks list could not be loaded." msgstr "" #: libparted/fs/hfs/reloc.c:649 libparted/fs/hfs/reloc_plus.c:921 msgid "An error occurred during extent relocation." msgstr "Ocurrió un error durante la relocalización de la extensión." #: libparted/fs/hfs/reloc_plus.c:494 msgid "This HFS+ volume has no catalog file. This is very unusual!" msgstr "" #: libparted/fs/hfs/reloc_plus.c:617 msgid "This HFS+ volume has no extents overflow file. This is quite unusual!" msgstr "" #: parted/parted.c:123 msgid "displays this help message" msgstr "mostrar este mensaje de ayuda" #: parted/parted.c:124 msgid "lists partition layout on all block devices" msgstr "" #: parted/parted.c:125 msgid "displays machine parseable output" msgstr "" #: parted/parted.c:126 msgid "never prompts for user intervention" msgstr "no pedir nunca la intervención del usuario" #: parted/parted.c:127 msgid "displays the version" msgstr "mostrar la versión" # No se puede. #: parted/parted.c:128 #, fuzzy msgid "alignment for new partitions" msgstr "No se puede crear más particiones." #: parted/parted.c:140 #, fuzzy msgid "" "NUMBER is the partition number used by Linux. On MS-DOS disk labels, the " "primary partitions number from 1 to 4, logical partitions from 5 onwards.\n" msgstr "" "NUMERO es el número de la partición usada por Linux. En las etiquetas de " "disco msdos, las particiones primarias van del 1 al 4, y las particiones " "lógicas de 5 en adelante.\n" #: parted/parted.c:143 msgid "LABEL-TYPE is one of: " msgstr "TIPO_ETIQUETA es uno de: " #: parted/parted.c:144 msgid "FLAG is one of: " msgstr "FLAG es uno de: " #: parted/parted.c:145 #, fuzzy msgid "UNIT is one of: " msgstr "FLAG es uno de: " #: parted/parted.c:146 msgid "desired alignment: minimum or optimal" msgstr "" #: parted/parted.c:147 msgid "PART-TYPE is one of: primary, logical, extended\n" msgstr "TIPO-PART es uno de: primário, lógico, extendido\n" #: parted/parted.c:149 msgid "FS-TYPE is one of: " msgstr "TIPO-SF es uno de: " #: parted/parted.c:150 msgid "" "START and END are disk locations, such as 4GB or 10%. Negative values count " "from the end of the disk. For example, -1s specifies exactly the last " "sector.\n" msgstr "" #: parted/parted.c:153 msgid "STATE is one of: on, off\n" msgstr "ESTADO es uno de: on, off\n" #: parted/parted.c:154 msgid "DEVICE is usually /dev/hda or /dev/sda\n" msgstr "DISPOSITIVO es normalmente /dev/hda o /dev/sda\n" #: parted/parted.c:155 msgid "NAME is any word you want\n" msgstr "NOMBRE es cualquier palabra que quiera\n" #: parted/parted.c:156 msgid "The partition must have one of the following FS-TYPEs: " msgstr "La partición debe tener uno de los siguientes TIPOS de SF: " # Please, busca este mismo texto en el .po de fileutils o textutils e intenta # que se parezca en la terminología, # por ejemplo: is distributed -> se distribuye #: parted/parted.c:160 #, fuzzy msgid "" "Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n" "This program is free software, covered by the GNU General Public License.\n" "\n" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" msgstr "" "Copyright (C) 1998 -2005 Free Software Foundation, Inc.\n" "Este programa es software libre, cubierto por la Licencia Pública General de " "GNU.\n" "\n" "Este programa se distribuye con la esperanza de que sea útil, pero SIN " "NINGUNA GARANTÍA; ni siquiera la garantía implícita de COMERCIABILIDAD o " "IDONEIDAD PARA UN FIN DETERMINADO. Vea la Licencia Pública General de GNU " "para obtener más detalles.\n" "\n" #: parted/parted.c:208 #, c-format msgid "%0.f%%\t(time left %.2d:%.2d)" msgstr "%0.f%%\t(tiempo que queda %.2d:%.2d)" #: parted/parted.c:227 #, fuzzy, c-format msgid "" "Partition %s is being used. You must unmount it before you modify it with " "Parted." msgstr "" "La partición %s está usandose. Debe desmontarla antes de modificarla con " "Parted." #: parted/parted.c:245 #, c-format msgid "Partition(s) on %s are being used." msgstr "La(s) partición(es) en %s está(n) siendo usada(s)." #: parted/parted.c:257 msgid "" "The existing file system will be destroyed and all data on the partition " "will be lost. Do you want to continue?" msgstr "" #: parted/parted.c:269 #, c-format msgid "" "The existing disk label on %s will be destroyed and all data on this disk " "will be lost. Do you want to continue?" msgstr "" #: parted/parted.c:487 #, c-format msgid "" "WARNING: you are attempting to use %s to operate on (%s) a file system.\n" "%s's file system manipulation code is not as robust as what you'll find in\n" "dedicated, file-system-specific packages like e2fsprogs. We recommend\n" "you use %s only to manipulate partition tables, whenever possible.\n" "Support for performing most operations on most types of file systems\n" "will be removed in an upcoming release.\n" msgstr "" #: parted/parted.c:508 parted/parted.c:702 parted/parted.c:1179 #: parted/parted.c:1263 parted/parted.c:1935 parted/parted.c:2016 #: parted/parted.c:2088 parted/parted.c:2122 msgid "Partition number?" msgstr "¿Número de la partición?" #: parted/parted.c:551 msgid "Source device?" msgstr "¿Dispositivo de origen?" #: parted/parted.c:555 msgid "Source partition number?" msgstr "¿Número de la partición de origen?" #: parted/parted.c:560 #, fuzzy msgid "Can't copy an extended partition." msgstr "No es pueden copiar las particiones extendidas." #: parted/parted.c:566 msgid "Destination partition number?" msgstr "¿Número de la partición de destino?" #: parted/parted.c:655 msgid "New disk label type?" msgstr "¿Nuevo tipo de etiqueta de disco?" #: parted/parted.c:706 parted/parted.c:788 parted/parted.c:1000 msgid "File system type?" msgstr "¿Tipo de sistema de ficheros?" #: parted/parted.c:762 parted/parted.c:983 msgid "Partition type?" msgstr "¿Tipo de partición?" #: parted/parted.c:780 parted/parted.c:990 parted/parted.c:1266 msgid "Partition name?" msgstr "¿Nombre de la partición?" #: parted/parted.c:794 parted/parted.c:1002 parted/parted.c:1194 #: parted/parted.c:1883 parted/parted.c:1944 msgid "Start?" msgstr "¿Inicio?" #: parted/parted.c:796 parted/parted.c:1005 parted/parted.c:1197 #: parted/parted.c:1885 parted/parted.c:1946 msgid "End?" msgstr "¿Fin?" #: parted/parted.c:862 parted/parted.c:1066 #, fuzzy, c-format msgid "" "You requested a partition from %s to %s.\n" "The closest location we can manage is %s to %s.%s" msgstr "" "Pidió crear una partición en %s - %s. Lo más cerca que Parted puede manejar " "es %s - %s." #: parted/parted.c:867 parted/parted.c:1071 msgid "" "\n" "Is this still acceptable to you?" msgstr "" #: parted/parted.c:889 parted/parted.c:1093 msgid "The resulting partition is not properly aligned for best performance." msgstr "" #: parted/parted.c:995 #, fuzzy msgid "An extended partition cannot hold a file system. Did you want mkpart?" msgstr "" "La particiones extendidas no puede sostener un sistema de ficheros. ¿Quiere " "mkpart?" #: parted/parted.c:1185 msgid "Can't move an extended partition." msgstr "No se pueden mover una partición extendida." #: parted/parted.c:1214 msgid "Can't move a partition onto itself. Try using resize, perhaps?" msgstr "" "No se puede mover una partición sobre sí misma. ¿Pruebe a usar " "redimensionar, quizás?" #: parted/parted.c:1360 #, c-format msgid "Minor: %d\n" msgstr "Minor: %d\n" #: parted/parted.c:1361 #, fuzzy, c-format msgid "Flags: %s\n" msgstr "Banderas: " #: parted/parted.c:1362 #, c-format msgid "File System: %s\n" msgstr "Sistema de ficheros: %s\n" #: parted/parted.c:1363 #, fuzzy msgid "Size: " msgstr "Tamaño: %10.3fMb (%d%%)\n" #: parted/parted.c:1368 msgid "Minimum size: " msgstr "Tamaño mínimo: " #: parted/parted.c:1371 msgid "Maximum size: " msgstr "Tamaño máximo: " #: parted/parted.c:1504 #, c-format msgid "Model: %s (%s)\n" msgstr "" #: parted/parted.c:1506 #, fuzzy, c-format msgid "Disk %s: %s\n" msgstr "%s %s %s" #: parted/parted.c:1507 #, c-format msgid "Sector size (logical/physical): %lldB/%lldB\n" msgstr "" #: parted/parted.c:1525 #, c-format msgid "BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s.\n" msgstr "" #: parted/parted.c:1534 #, fuzzy, c-format msgid "Partition Table: %s\n" msgstr "¿Nombre de la partición?" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Number" msgstr "Numero" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Start" msgstr "Inicio" #: parted/parted.c:1550 parted/parted.c:1553 msgid "End" msgstr "Fin" #: parted/parted.c:1553 msgid "Size" msgstr "Tamaño" #: parted/parted.c:1557 msgid "Type" msgstr "Typo" #: parted/parted.c:1559 msgid "File system" msgstr "Sistema de ficheros" #: parted/parted.c:1562 msgid "Name" msgstr "Nombre" #: parted/parted.c:1564 msgid "Flags" msgstr "Banderas" #: parted/parted.c:1621 msgid "Free Space" msgstr "" #: parted/parted.c:1782 #, c-format msgid "" "A %s %s partition was found at %s -> %s. Do you want to add it to the " "partition table?" msgstr "" "Ha sido encontrada una partición %s %s en %s -> %s. ¿Quiere añadirla a la " "tabla de particiones?" #: parted/parted.c:1821 msgid "searching for file systems" msgstr "buscando los sistemas de ficheros" #: parted/parted.c:2041 msgid "New device?" msgstr "¿Nuevo dispositivo?" #: parted/parted.c:2086 msgid "alignment type(min/opt)" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d aligned\n" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d not aligned\n" msgstr "" #: parted/parted.c:2124 #, fuzzy msgid "Flag to Invert?" msgstr "¿Bandera a cambiar?" #: parted/parted.c:2129 msgid "New state?" msgstr "¿Nuevo estado?" #: parted/parted.c:2166 msgid "Unit?" msgstr "¿Unidad?" #: parted/parted.c:2348 #, fuzzy msgid "align-check" msgstr "comprobar" #: parted/parted.c:2351 msgid "" "align-check TYPE N check partition N for TYPE(min|" "opt) alignment" msgstr "" #: parted/parted.c:2359 msgid "check" msgstr "comprobar" #: parted/parted.c:2362 #, fuzzy msgid "" "check NUMBER do a simple check on the file system" msgstr "" "comprueba NUMERO hace una comprobación simple del sistema " "de ficheros" #: parted/parted.c:2368 msgid "cp" msgstr "cp" #: parted/parted.c:2371 msgid "" "cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another " "partition" msgstr "" "cp [DESDE-DISPOSITIVO] DE-NUMERO A-NUMERO copia el sistema de ficheros a " "otra partición" #: parted/parted.c:2377 msgid "help" msgstr "help" #: parted/parted.c:2380 #, fuzzy msgid "" "help [COMMAND] print general help, or help on " "COMMAND" msgstr "" "help [ORDEN] muestra la ayuda general, o la ayuda sobre la " "ORDEN" #: parted/parted.c:2386 msgid "mklabel" msgstr "mklabel" #: parted/parted.c:2386 #, fuzzy msgid "mktable" msgstr "mklabel" #: parted/parted.c:2389 #, fuzzy msgid "" "mklabel,mktable LABEL-TYPE create a new disklabel (partition " "table)" msgstr "" "mklabel TIPO-ETIQUETA crea una nueva etiqueta de disco (en la tabla " "de partición)" #: parted/parted.c:2395 msgid "mkfs" msgstr "mkfs" #: parted/parted.c:2398 #, fuzzy msgid "" "mkfs NUMBER FS-TYPE make a FS-TYPE file system on " "partition NUMBER" msgstr "" "mkfs NUMERO TIPO-SF crea un sistema de ficheros TIPO-SF en la " "partición NUMERO" #: parted/parted.c:2404 msgid "mkpart" msgstr "mkpart" #: parted/parted.c:2407 msgid "mkpart PART-TYPE [FS-TYPE] START END make a partition" msgstr "mkpart TIPO-PART [TIPO-SF] INICIO FIN crea una partición" #: parted/parted.c:2413 #, fuzzy msgid "" "'mkpart' makes a partition without creating a new file system on the " "partition. FS-TYPE may be specified to set an appropriate partition ID.\n" msgstr "" "mkpart crea una partición sin crear un nuevo sistema de ficheros en la " "partición. Debe ser especificado el TIPO-SF para asignar una ID de " "partición.\n" #: parted/parted.c:2418 msgid "mkpartfs" msgstr "mkpartfs" #: parted/parted.c:2421 msgid "" "mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system" msgstr "" "mkpartfs TIPO-PART TIPO-SF INICIO FIN crear una partición con un sistema " "de ficheros" #: parted/parted.c:2427 msgid "move" msgstr "move" #: parted/parted.c:2430 #, fuzzy msgid "move NUMBER START END move partition NUMBER" msgstr "move NUMERO INICIO FIN mueve la partición NUMERO" #: parted/parted.c:2435 msgid "name" msgstr "name" #: parted/parted.c:2438 #, fuzzy msgid "name NUMBER NAME name partition NUMBER as NAME" msgstr "name NUMERO NOMBRE nombra la partición NUMERO como NOMBRE" #: parted/parted.c:2443 msgid "print" msgstr "print" #: parted/parted.c:2446 msgid "" "print [devices|free|list,all|NUMBER] display the partition table, " "available devices, free space, all found partitions, or a particular " "partition" msgstr "" #: parted/parted.c:2451 #, fuzzy msgid "" "Without arguments, 'print' displays the entire partition table. However with " "the following arguments it performs various other actions.\n" msgstr "" "Sin argumentos, print muestra la tabla de particiones entera. Si se\n" "da un número de partición, se muestra la información más detallada\n" "sobre esa particion.\n" #: parted/parted.c:2453 msgid " devices : display all active block devices\n" msgstr "" #: parted/parted.c:2454 msgid "" " free : display information about free unpartitioned space on the " "current block device\n" msgstr "" #: parted/parted.c:2456 msgid "" " list, all : display the partition tables of all active block devices\n" msgstr "" #: parted/parted.c:2457 msgid "" " NUMBER : display more detailed information about this particular " "partition\n" msgstr "" #: parted/parted.c:2462 msgid "quit" msgstr "quit" #: parted/parted.c:2465 #, fuzzy msgid "quit exit program" msgstr "quit sale del programa" #: parted/parted.c:2470 msgid "rescue" msgstr "rescue" #: parted/parted.c:2473 #, fuzzy msgid "" "rescue START END rescue a lost partition near START " "and END" msgstr "" "rescue INICIO FIN recupera las particiones perdidas entre INICIO y FIN" #: parted/parted.c:2479 msgid "resize" msgstr "resize" #: parted/parted.c:2482 #, fuzzy msgid "" "resize NUMBER START END resize partition NUMBER and its " "file system" msgstr "" "resize NUMERO INICIO FIN redimensiona el sistema de ficheros y la " "partición NUMERO" #: parted/parted.c:2490 msgid "rm" msgstr "rm" #: parted/parted.c:2493 #, fuzzy msgid "rm NUMBER delete partition NUMBER" msgstr "rm NUMERO borra la partición NUMERO" #: parted/parted.c:2498 msgid "select" msgstr "select" #: parted/parted.c:2501 #, fuzzy msgid "select DEVICE choose the device to edit" msgstr "select DISPOSITIVO elegir el dispositivo a editar" #: parted/parted.c:2506 msgid "set" msgstr "set" #: parted/parted.c:2509 #, fuzzy msgid "" "set NUMBER FLAG STATE change the FLAG on partition NUMBER" msgstr "" "set NUMERO MODIF ESTADO cambia un modificador de la partición NUMERO" #: parted/parted.c:2515 msgid "toggle" msgstr "" #: parted/parted.c:2518 #, fuzzy msgid "" "toggle [NUMBER [FLAG]] toggle the state of FLAG on " "partition NUMBER" msgstr "rm NUMERO borra la partición NUMERO" #: parted/parted.c:2524 msgid "unit" msgstr "unit" #: parted/parted.c:2527 #, fuzzy msgid "unit UNIT set the default unit to UNIT" msgstr "" "unit UNIDAD configura la unidad por defecto para UNIDAD" #: parted/parted.c:2532 msgid "version" msgstr "" #: parted/parted.c:2535 msgid "" "version display the version number and " "copyright information of GNU Parted" msgstr "" #: parted/parted.c:2539 msgid "" "'version' displays copyright and version information corresponding to this " "copy of GNU Parted\n" msgstr "" #: parted/parted.c:2607 #, c-format msgid "Usage: %s [-hlmsv] [-a] [DEVICE [COMMAND [PARAMETERS]]...]\n" msgstr "" #: parted/parted.c:2651 msgid "No device found" msgstr "No se encontró el dispositivo" #: parted/parted.c:2688 msgid "WARNING: You are not superuser. Watch out for permissions." msgstr "" #: parted/parted.c:2726 #, fuzzy msgid "You may need to update /etc/fstab.\n" msgstr "No se olvide de actualizar /etc/fstab, si es necesario.\n" #: parted/ui.c:162 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n" msgstr "" # Uso: o Modo de empleo: #: parted/ui.c:165 #, fuzzy msgid "" "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n" "Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run " "in\n" "interactive mode.\n" msgstr "" "Modo de Empleo: parted [OPCIÓN]... [DISPOSITIVO [ORDEN [PARÁMETROS]...]...]\n" "Aplica la(s) ORDENes con PARÁMETROS al DISPOSITIVO. Si no se da ninguna(s) " "ORDEN(es), se ejecuta en\n" "modo interactivo.\n" #: parted/ui.c:170 #, c-format msgid "" "\n" "\n" "You found a bug in GNU Parted! Here's what you have to do:\n" "\n" "Don't panic! The bug has most likely not affected any of your data.\n" "Help us to fix this bug by doing the following:\n" "\n" "Check whether the bug has already been fixed by checking\n" "the last version of GNU Parted that you can find at:\n" "\n" "\thttp://ftp.gnu.org/gnu/parted/\n" "\n" "Please check this version prior to bug reporting.\n" "\n" "If this has not been fixed yet or if you don't know how to check,\n" "please visit the GNU Parted website:\n" "\n" "\thttp://www.gnu.org/software/parted\n" "\n" "for further information.\n" "\n" "Your report should contain the version of this release (%s)\n" "along with the error message below, the output of\n" "\n" "\tparted DEVICE unit co print unit s print\n" "\n" "and the following history of commands you entered.\n" "Also include any additional information about your setup you\n" "consider important.\n" msgstr "" #: parted/ui.c:291 msgid "" "\n" "Command History:\n" msgstr "" #: parted/ui.c:354 msgid "" "\n" "Error: SEGV_MAPERR (Address not mapped to object)\n" msgstr "" #: parted/ui.c:360 msgid "" "\n" "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n" msgstr "" #: parted/ui.c:365 msgid "" "\n" "Error: A general SIGSEGV signal was encountered.\n" msgstr "" #: parted/ui.c:389 msgid "" "\n" "Error: FPE_INTDIV (Integer: divide by zero)" msgstr "" #: parted/ui.c:394 msgid "" "\n" "Error: FPE_INTOVF (Integer: overflow)" msgstr "" #: parted/ui.c:399 msgid "" "\n" "Error: FPE_FLTDIV (Float: divide by zero)" msgstr "" #: parted/ui.c:404 msgid "" "\n" "Error: FPE_FLTOVF (Float: overflow)" msgstr "" #: parted/ui.c:409 msgid "" "\n" "Error: FPE_FLTUND (Float: underflow)" msgstr "" #: parted/ui.c:414 msgid "" "\n" "Error: FPE_FLTRES (Float: inexact result)" msgstr "" #: parted/ui.c:419 msgid "" "\n" "Error: FPE_FLTINV (Float: invalid operation)" msgstr "" #: parted/ui.c:424 msgid "" "\n" "Error: FPE_FLTSUB (Float: subscript out of range)" msgstr "" #: parted/ui.c:429 msgid "" "\n" "Error: A general SIGFPE signal was encountered." msgstr "" #: parted/ui.c:453 msgid "" "\n" "Error: ILL_ILLOPC (Illegal Opcode)" msgstr "" #: parted/ui.c:458 msgid "" "\n" "Error: ILL_ILLOPN (Illegal Operand)" msgstr "" #: parted/ui.c:463 msgid "" "\n" "Error: ILL_ILLADR (Illegal addressing mode)" msgstr "" #: parted/ui.c:468 msgid "" "\n" "Error: ILL_ILLTRP (Illegal Trap)" msgstr "" #: parted/ui.c:473 msgid "" "\n" "Error: ILL_PRVOPC (Privileged Opcode)" msgstr "" #: parted/ui.c:478 msgid "" "\n" "Error: ILL_PRVREG (Privileged Register)" msgstr "" #: parted/ui.c:483 msgid "" "\n" "Error: ILL_COPROC (Coprocessor Error)" msgstr "" #: parted/ui.c:488 msgid "" "\n" "Error: ILL_BADSTK (Internal Stack Error)" msgstr "" #: parted/ui.c:493 msgid "" "\n" "Error: A general SIGILL signal was encountered." msgstr "" #: parted/ui.c:892 #, fuzzy, c-format msgid "invalid token: %s" msgstr "No se puede abrir %s." #: parted/ui.c:1048 msgid "Expecting a partition number." msgstr "Se esperaba un número de partición." #: parted/ui.c:1057 msgid "Partition doesn't exist." msgstr "La partición no existe." #: parted/ui.c:1077 msgid "Expecting a file system type." msgstr "Se esperaba un tipo de sistema de ficheros." #: parted/ui.c:1084 #, c-format msgid "Unknown file system type \"%s\"." msgstr "Tipo de sistema de ficheros \"%s\" desconocido." #: parted/ui.c:1104 msgid "Expecting a disk label type." msgstr "Se esperaba un tipo de etiqueta de disco." # No se puede. #: parted/ui.c:1202 msgid "Can't create any more partitions." msgstr "No se puede crear más particiones." #: parted/ui.c:1212 msgid "Expecting a partition type." msgstr "Se esperaba un tipo de partición." #: parted/ui.c:1360 msgid "on" msgstr "on" #: parted/ui.c:1361 msgid "off" msgstr "off" #: parted/ui.c:1378 msgid "optimal" msgstr "" #: parted/ui.c:1379 msgid "minimal" msgstr "" #: parted/ui.c:1512 msgid "OPTIONs:" msgstr "OPCIÓNes:" # Comando es una barbaridad. En es@li.org usamos "orden". #: parted/ui.c:1517 msgid "COMMANDs:" msgstr "ORDENes:" #: parted/ui.c:1520 #, c-format msgid "" "\n" "Report bugs to %s\n" msgstr "" #: parted/ui.c:1527 #, c-format msgid "Using %s\n" msgstr "Usando %s\n" #: parted/ui.c:1601 msgid "This command does not make sense in non-interactive mode.\n" msgstr "" #, fuzzy #~ msgid "Unable to determine the block size of this dasd" #~ msgstr "No se puede determinar el tamaño de %s (%s)." #~ msgid "" #~ "The kernel was unable to re-read the partition table on %s (%s). This " #~ "means Linux won't know anything about the modifications you made until " #~ "you reboot. You should reboot your computer before doing anything with " #~ "%s." #~ msgstr "" #~ "El núcleo no pudo releer la tabla de particiones en %s (%s). Esto " #~ "significa que Linux no reconocerá las modificaciones que hizo. Debe " #~ "reiniciarlo antes de hacer cualquier uso con %s." # drives -> unidades #~ msgid "" #~ "The sector size on %s is %d bytes. Parted is known not to work properly " #~ "with drives with sector sizes other than %d bytes." #~ msgstr "" #~ "El tamaño del sector en %s es de %d bytes. Parted no funciona " #~ "correctamente con unidades que tengan un tamaño de sector distinto de %d " #~ "bytes" #~ msgid "IDE" #~ msgstr "IDE" #~ msgid "Attempt to read sectors %ld-%ld outside of partition on %s." #~ msgstr "" #~ "Se intentaron leer los sectores %ld-%ld fuera de la partición en %s." #~ msgid "" #~ "This ext2 file system has a rather strange layout! Parted can't resize " #~ "this (yet)." #~ msgstr "" #~ "¡Este sistema de ficheros ext2 tiene un diseño muy estraño! Parted (aún) " #~ "no puede redimensionarlo." #~ msgid "File system has an incompatible feature enabled." #~ msgstr "" #~ "El sistema de ficheros tiene activada una característica incompatible." #~ msgid "where necessary, prompts for user intervention" #~ msgstr "donde sea necesario, pedir la intervención del usuario" #~ msgid "File system?" #~ msgstr "¿Sistema de ficheros?" #~ msgid "" #~ "You requested to move the partition to %s - %s. The closest Parted can " #~ "manage is %s - %s." #~ msgstr "" #~ "Pidió mover la partición a %s - %s. Lo más cerca que Parted puede manejar " #~ "es %s - %s." #~ msgid "Disk geometry for %s: %s - %s\n" #~ msgstr "Geometría de disco para %s: %s - %s\n" #~ msgid "Disk label type: %s\n" #~ msgstr "Tipo de etiqueta de disco: %s\n" #~ msgid "" #~ "You requested to resize the partition to %s - %s. The closest Parted can " #~ "manage is %s - %s." #~ msgstr "" #~ "Pidió redimensionar la partición para %s - %s. Lo más cerca que Parted " #~ "puede manejar es %s - %s." #~ msgid "" #~ "print [NUMBER] display the partition table, or a partition" #~ msgstr "" #~ "print [NUMERO] muestra la tabla de las particiones, o una " #~ "partición" #~ msgid "" #~ "You found a bug in GNU Parted. Please email a bug report to bug-" #~ "parted@gnu.org containing the version (%s), and the following message:\n" #~ msgstr "" #~ "Encontró un bicho en GNU parted. Por favor, envíe un informe del bicho a " #~ "bug-parted@gnu.org conteniedo la versión (%s), y el siguiente mensaje:\n" # Pon `dodgey' entre comitas, por lo menos mientras no se encuentre una # traducción. # En otras traducciones definen dodgey como inadmisible o extraña. vll #~ msgid "Device %s has dodgey geometry." #~ msgstr "El dispositivo %s tiene una geometría incorrecta." #~ msgid "SCSI" #~ msgstr "SCSI" # ninguna + ni doble negación # Yo lo dejaría en "no es una unidad SCSI ni IDE" #~ msgid "Device %s is neither a SCSI nor IDE drive." #~ msgstr "El dispositivo %s no es una unidad SCSI ni IDE." #~ msgid "Error reading %s (%s) to determine if partition is mounted." #~ msgstr "Error leyendo %s (%s) para determinar si la partición está montada." # detectara -> detectó (se entiende mejor) # BIOS es masculino pues se trata del Sistema Básico de Entrada/Salida #~ msgid "" #~ "The partition table on %s is inconsistent. There are many reasons why " #~ "this might be the case. However, the most likely reason is that Linux " #~ "detected the BIOS geometry for %s incorrectly. GNU Parted suspects the " #~ "real geometry should be %d/%d/%d (not %d/%d/%d). You should check with " #~ "your BIOS first, as this may not be correct. You can inform Linux by " #~ "adding the parameter %s=%d,%d,%d to the command line. See the LILO or " #~ "GRUB documentation for more information. If you think Parted's suggested " #~ "geometry is correct, you may select Ignore to continue (and fix Linux " #~ "later). Otherwise, select Cancel (and fix Linux and/or the BIOS now)." #~ msgstr "" #~ "La tabla de particiones en %s es inconsistente. Hay varias razones para " #~ "que ocurra esto. Sin embargo, la razón más probable es que Linux detectó " #~ "la geometría de la BIOS para %s incorrectamente. GNU Parted sospecha que " #~ "la geometría real debería ser %d/%d/%d (y no %d/%d/%d). Debería " #~ "comprobar su BIOS primero, pues esta puede no ser correcta. Puede " #~ "informar a Linux añadiendo el parámetro %s=%d,%d,%d en la línea de " #~ "órdenes. Vea la documentación de LILO o GRUB para obtener más " #~ "información. Si cree que la geometría sugerida por Parted es correcta, " #~ "puede seleccionar Ignorar para continuar (y arreglar Linux después). De " #~ "lo contrario, seleccione Cancelar (y repare Linux y/o la BIOS ahora)." # tabla de particiones #~ msgid "" #~ "The partition table on %s is inconsistent. There are many reasons why " #~ "this might be the case. Often, the reason is that Linux detected the " #~ "BIOS geometry incorrectly. However, this does not appear to be the case " #~ "here. It is safe to ignore,but ignoring may cause (fixable) problems " #~ "with some boot loaders, and may cause problems with FAT file systems. " #~ "Using LBA is recommended." #~ msgstr "" #~ "La tabla de particiones en %s es inconsistente. Hay varias razones para " #~ "que esto ocurra. Muchas veces, la razón es que Linux detecta la geometría " #~ "de la BIOS incorrectamente. Sin embargo, este no parece ser el caso aquí. " #~ "Puede estar seguro ignorándolo, pero el ignorarlo puede causar problemas " #~ "(reparables) con algunos cargadores de arranque, y puede causar problemas " #~ "con sistemas de ficheros FAT. Es recomendable usar LBA." # partitioning tool -> herramienta de particionado. #~ msgid "" #~ "Unable to align partition properly. This probably means that another " #~ "partitioning tool generated an incorrect partition table, because it " #~ "didn't have the correct BIOS geometry. It is safe to ignore,but ignoring " #~ "may cause (fixable) problems with some boot loaders." #~ msgstr "" #~ "No se puede alinear correctamente la partición. Esto probablemente " #~ "significa que otra herramienta de particionado ha generado una tabla de " #~ "la partición incorrecta, porque no tiene correcta la geometría de la " #~ "BIOS. Puede estar seguro ignorándolo, pero el ignorarlo puede causar " #~ "problemas (reparables) con algunos cargadores de arranque." #~ msgid "File system has an invalid signature for a FAT file systems." #~ msgstr "" #~ "El sistema de ficheros tiene una firma inválida para un sistema de " #~ "ficheros FAT." #~ msgid "START and END are in megabytes\n" #~ msgstr "INICIO y FIN son en megabytes\n" #~ msgid "Partition is being used." #~ msgstr "La partición está siendo usada." #~ msgid "Minor Start End " #~ msgstr "Minor Inicio Fin " #~ msgid "Type " #~ msgstr "Tipo " #~ msgid "Filesystem " #~ msgstr "Sistema de ficheros " #~ msgid "Name " #~ msgstr "Nombre " #~ msgid "" #~ " You have Windows FAT partition(s) that are not using LBA. If your BIOS " #~ "supports LBA, then you should switch to LBA by setting the LBA flag on " #~ "all FAT partitions. Otherwise, make sure the operating system and the " #~ "BIOS have the same geometry before resizing any FAT partitions." #~ msgstr "" #~ " Tiene particiones FAT Windows que no están usando LBA. Si su BIOS " #~ "soporta LBA, debería cambiarse a LBA poniendo el modificador LBA en todas " #~ "las particiones FAT. De otro modo, asegúrese de que el sistema operativo " #~ "y la BIOS tienen la misma geometría antes de redimensionar cualquiera de " #~ "las particiones FAT." #~ msgid "" #~ "The operating system thinks the geometry on %s is %d/%d/%d. Therefore, " #~ "cylinder 1024 ends at %.3fM.%s" #~ msgstr "" #~ "El sistema operativo opina que la geometría en %s es %d/%d/%d. Por " #~ "consiguiente, el cilindro 1024 termina en %.3fM.%s" # cree, piensa (no sé, eso de "opina" no me pega, ya sé que los ordenadores # no piensan ni tienen creencias, pero me pega menos todavía que tengan # opiniones). #~ msgid "The operating system thinks the geometry on %s is %d/%d/%d.%s" #~ msgstr "El sistema operativo cree que la geometría en %s es %d/%d/%d.%s" parted-2.3/po/en@quot.header0000644000000000000000000000226311035473300012726 00000000000000# All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # parted-2.3/po/ca.gmo0000644000000000000000000004623211400005705011230 00000000000000Þ•¸Üûœ ˆ‰¦ ­2¸<ë(=[z%¶ÓPæH7D€Å ÉLÓ )=!gG‰(Ñ<ú@7?x2¸ë]ò=PIŽØ"ë(,Ut‘'¨Ðîóù&?$Ty–´Ò\î=K?‰>É-3¶D=û;9Hu¾ÞðôúÛ IåU/…Œ ¬4¸)í .9 T` u€ƒ•¥ÃÛÞ+ç//Cs0‚.³)â )%O_q"¤ª3Äø  ' <? ;| <¸ ;õ <1!‚n!íñ!Öß"/¶#^æ#hE$H®$H÷$š@%@Û%@&7]&ƒ•&U'o'ƒ'AŸ'á'ô'3 (?(G( f(p(Hx(Á(Þ(~â( a)o)t)z)’)•)ª)Å))Î)ø)ý)** *(*,*4*8*A*F*N*U*^*c*#h*Œ**)“*½*Å*Ë*Ð*Õ*ç*î*õ*ø*ý*+ +++|2+"¯,Ò, Ù,;ä,F -g-&‡-(®-!×-/ù-').Q.Ye.O¿.\/l/p/Nx/#Ç/)ë/!0A70)y0>£0>â0L!1?n1 ®1V¹1P2Sa2µ2(È2-ñ2930Y3=Š3È3+à3 4&4*4>04.o4ž4"²4(Õ4*þ4!)5 K5^l5OË5P6Gl6´6Ë6æ6ì6å7Ué7P?8`8(ñ89.92989óH9c<:R ;ó;!û; <7(<1`<’< °<%»<á<ñ< ===$=+A=#m=‘=š=>£=9â=9>V>7e>2>,Ð>ý>:?Q?e?y?*Œ? ·?Â?Fâ?)@>@[@'b@MŠ@DØ@IAIgAQ±AB‘BÞ’C4qDc¦D‚ EWEWåE =FAÞF> G:_GšG\*H‡H¢HL¾H I$"I4GI |I,‡I´IÃIHÊIJ)J’,J ¿JÍJÒJÛJôJ÷JK'K2.KaKhK„KŠK ‘K›KŸK¦KªK³K¸KÀKÇKÐKÕKÚKòKöK(ùK"L+L1L6L;LLLUL\L_LdLkL oLyL~L+ƒŠ£Pui³¬hF¤Y NrJQ§‰O5—œªdUMl0zkŒ¨A$T,_\?ye#€^q "wD²‚(†Ÿ2… 3¢@´;8±I·Sg‡Hx®=%W°Z™f4­~š<1C’nˆ9BµV}˜¸'` ©b„ oc–‹X -¯«‘ž&›L/E)>m“p*:jvt•޶ {”!a¥G.]|K¡¦[7Rs6%0.f%% (time left %.2d:%.2d)%s %s%s %s %s%s disk labels do not support extended partitions.%s disk labels don't support logical or extended partitions.%s during read on %s%s during seek for read on %s%s during seek for write on %s%s during write on %s%s is too small for a Mac disk label!%s trying to sync %s to diskATARAID ControllerBad FAT: cluster %d is cross-linked for %s. You should run dosfsck or scandisk.Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk.Bad directory entry for %s: first cluster is the end of file marker.BugCOMMANDs:Can't add a logical partition to %s, because there is no extended partition.Can't add another partition.Can't copy onto an overlapping partition.Can't create any more partitions.Can't have a logical partition outside of the extended partition on %s.Can't have a partition outside the disk!Can't have a primary partition inside an extended partition.Can't have logical partitions outside of the extended partition.Can't move a partition onto itself. Try using resize, perhaps?Can't write to %s, because it is opened read-only.CancelChanging the name of a root or swap partition will prevent Linux from recognising it as such.Checksum is wrong, indicating the partition table is corrupt.Cluster start delta = %d, which is not a multiple of the cluster size %d.Compaq Smart ArrayCorrupted Sun disk label detected.Could not detect file system.Could not get identity of device %s - %sCould not stat device %s - %s.Couldn't flush buffer cache!DAC960 RAID controllerDEVICE is usually /dev/hda or /dev/sda Destination partition number?End?ErrorError allocating buffer cache.Error initialising SCSI device %s - %sError opening %s: %sError writing to the root directory.Expecting a disk label type.Expecting a file system type.Expecting a partition number.Expecting a partition type.FAT %d media %x doesn't match the boot sector's media %x. You should probably run scandisk.FAT boot sector says clusters are 0 sectors. This is weird. FAT boot sector says logical sector size is 0. This is weird. FAT boot sector says there are no FAT tables. This is weird. FLAG is one of: FS-TYPE is one of: FatalFile System: %s File system doesn't have expected sizes for Windows to like it. Cluster size is %dk (%dk expected); number of clusters is %d (%d expected); size of FATs is %d sectors (%d expected).File system has an invalid sector size for a FAT file system.File system has an invalid signature for a FAT file system.File system is reporting the free space as %d clusters, not %d clusters.File system too small for ext2.File system type?FixFlagsI2O ControllerIf you convert to FAT16, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual).If you convert to FAT32, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual). Also, converting to FAT32 will make the file system unreadable by MS DOS, MS Windows 95a, and MS Windows NT.If you leave your file system as FAT32, then you will not introduce any new problems.IgnoreInconsistent group descriptors!InformationInvalid partition table - recursive partition on %s.Invalid signature %x for Mac disk labels.LABEL-TYPE is one of: Minor: %d NAME is any word you want New device?New disk label type?New state?NoNo ImplementationNo device foundNo valid partition map found.Not enough free inodes!OKOPTIONs:Only logical partitions can be a boot file.Only primary partitions can be root partitions.Only primary partitions can be swap partitions.Out of memory.PART-TYPE is one of: primary, logical, extended Partition %d has an invalid length of 0 bytes!Partition %d has an invalid signature %x.Partition doesn't exist.Partition map has no partition map entry!Partition name?Partition number?Partition type?Partition(s) on %s are being used.RetrySTATE is one of: on, off Sorry, can't move the start of ext2 partitions yet!Source device?Source partition number?Start?Sun disk label is full.Support for checking %s file systems is not implemented yet.Support for copying %s file systems is not implemented yet.Support for creating %s file systems is not implemented yet.Support for opening %s file systems is not implemented yet.Support for resizing %s file systems is not implemented yet.The FATs don't match. If you don't know what this means, then select cancel, run scandisk on the file system, and then come back.The Whole Disk partition is the only available one left. Generally, it is not a good idea to overwrite this partition with a real one. Solaris may not be able to boot without it, and SILO (the sparc boot loader) appreciates it as well.The backup GPT table is not at the end of the disk, as it should be. This might mean that another operating system believes the disk is smaller. Fix, by moving the backup to the end (and removing the old backup)?The disk label describes a disk bigger than %s.The driver descriptor says the physical block size is %d bytes, but Linux says it is %d bytes.The file %s is marked as a system file. This means moving it could cause some programs to stop working.The file system can only be resized to this size by converting to FAT16.The file system can only be resized to this size by converting to FAT32.The information sector has the wrong signature (%x). Select cancel for now, and send in a bug report. If you're desperate, it's probably safe to ignore.The partition's boot region doesn't occupy the entire partition.The partition's data region doesn't occupy the entire partition.There are no possible configurations for this FAT type.This file system has a logical sector size of %d. GNU Parted is known not to work properly with sector sizes other than 512 bytes.This libparted doesn't have write support for %s. Perhaps it was compiled read-only.Too many bad pages.Too many primary partitionsUnable to open %s read-write (%s). %s has been opened read-only.Unable to open %s.Unable to probe store.Unable to satisfy all constraints on the partition.UnknownUnknown file system type "%s".Using %s WarningWeird block size on device descriptor: %d bytes is not divisible by 512.Would you like to use FAT32?YesYou should reinstall your boot loader before rebooting. Read section 4 of the Parted User documentation for more information.adding groupsbootcheckchecking for bad blockscpdisplays the versiondisplays this help messageextendedfat_table_alloc_cluster: no free clustersfreegrowing file systemhelphiddenhp-servicelbalogicallvmmetadatamkfsmklabelmkpartmkpartfsmovenamenever prompts for user interventionoffonped_device_new() Unsupported device typeprimaryprintquitraidraw block copyingrescueresizermrootselectsetshrinkingswapwriting per-group metadataProject-Id-Version: parted 1.6.0 Report-Msgid-Bugs-To: bug-parted@gnu.org POT-Creation-Date: 2010-05-28 20:30+0200 PO-Revision-Date: 2002-05-05 14:47+0100 Last-Translator: Miquel Matas Language-Team: Catalan Language: ca MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Generator: KBabel 0.7 %0.f%% (temps que queda %.2d:%.2d)%s %s%s %s %sLes etiquetes de disc de %s no suporten particions exteses.Les etiquetes de disc de %s no suporten particions lògiques o exteses.%s mentre s'estava llegint a %s%s mentre es preparava per llegir a %s%s mentre es preparava per escruire a %s%s mentre s'estava escrivint a %s%s massa petita per una etiqueta d'un disc Mac.%s intentant de sincronitzar %s al dicsControlador ATARAIDFAT incorrecta: clúster %d té un enllaç creuat per %s. Has d'executar dosfsck o scandisk.FAT incorrecta: cadena sense acabar per %s. Has de executar dosfsck o scandisk.Entrada de directori incorrecta per %s: el primer clúster és el final de la marca de fitxer.BugORDRES:No es pot afegir una partició lògica a %s, ja que no hi ha una partició extesaNo es pot afegir un altra partició.No es pot copiar a una partició solapada.No es pot crear cap més partició.No pot haver una partició lògica fora de la partició extesa a %s.No es pot fer una partició fora del disc!No pot haver una partició primaria dins d'una partició extesa.No poden haver particions lògiques fora de la partició extesa.No es por moure una partició a ella mateixa. Vols redimensionar-la, potser?No s'ha pogut escriure a %s, ja que era obert per només lecturaCancel·larCanviar el nom d'una partició root o swap impedirà que Linux les reconeixi com a tals.Checksum incorrecte, la qual cosa indica que la taula de particions és corrupte.El començament delta de cluster = %d, que no és multiple de la mida de cluster %d. Compaq Smart ArrayS'ha detectat una etiqueta Sun corrupte.No s'ha pogut detectar el sistema de fitxers.No s'ha pogut obtenir la identitat del dispositiu %s - %sImpossible d'inicialitzar el dispositiu %s - %s.No s'ha pogut buidar la memòria cau de la memòria intermèdia!Controlador RAID DAC960DISPOS és, normalment, /dev/hda o /dev/sda Número de partició destí?Fi?ErrorError en la reserva de la memòria cau de la memòria intermèdiaError inicialitzant el dispositiu SCSI %s - %sError obrint %s: %sError escribint al directori root.S'esperava un tipus de etiqueta de dics.S'esperava un tipus de sistema de fitxers.S'esperava un múmero de partició.S'esperava un tipus de partició.La FAT %d del medi %x no coincideix amb sector boot del medi %x. Hauries d'executar scandisk.El sector boot de la FAT diu que els clústers tenen 0 sectors. Això és extrany.El sector boot de la FAT diu que la mida del sector lògic és 0. Això és extrany.El sector boot de la FAT diu que no hi ha taules FAT. Això és extrany.FLAG és una d'aquests:TIPUS-SF és un d'aquests: FatalSistema de fitxers:%s El sistema de fitxers no té unes mides que agradin a Windows. La mida de clúster es %dk (hauria de ser de %dk); el número de clústers és de %d (hauria de ser de %d); la mida de FAT és de %d sectors ( hauria de ser de %d sectors).El sistema de fitxers té una mida de sector invàlida per a un sistema de fitxers FAT.El sistema de fitxers té una signatura invàlida per a un sistema de fitxers FAT.El sistema de fitxers diu que la mida de l'espai lliure en clústers és de %d, no de %d clústers.Sistema de fitxers massa petit per ext2.Sistema de fitxers?FixFlagsControlador I20Si converteixes a FAT16, i MS Windows està instal·lat a aquesta partició, llavors hauràs de reinstal·lar el carregador d'arrencada de MS Windows. Si vols fer aixó, hauries de consultar el manual de Parted ( o el manual de la teva distribució).Si converteixes a FAT32, i MS Windows està instal·lat a aquesta partició, llavors hauràs de reinstal·lar el carregador d'arrencada de MS Windows. Si vols fer aixó, hauries de consultar el manual de Parted ( o el manual de la teva distribució). També, convertint a FAT32 faràs que MS DOS, MS Windows 95a i Windows NT no puguin llegir el sistema de fitxers Si deixes el teu sistema de fitxers com a FAT32, llavors no tindràs més problemes.IgnorarGrup de descriptors inconsistent!InformacióTaula de particions invàlida - partició recursiva a %s.Signatura invàlida %x per etiquetes de discs Mac.TIPUS-ETI és una d'aquestes: Minor: %d NOM és qualsevol paraula que vulguis Nou dispositiu?Nou tipus d'etiqueta?Nou estat?NoNo ImplementatNo s'ha trobat el dispositiuNo s'ha trobat un mapa de particions vàlid.No hi ha suficients inodes lliures!D'accordOPCIONS:Només les particions lògiques poden ser un fitxer d'arrencada.Només les particions primàries poden ser particions root.Només les particions primàries poden ser particions swap.Sense memòria.TIPUS-PART és una d'aquestes: primària, lògica, extesa La partició %d té una logitud invàlida de 0 bytes!La partició %d té una signatura invàlida %x.La partició no existeix.El Mapa de particions no té entrada de mapa de particions!Nom de la partició?Número de partició?Tipus de partició?La(s) partició(ns) a %s s'està utilitzant.ReintentarESTAT és un d'aquests: on, off Ho sento, no es pot moure encara el començament de les particions ext2Dispositiu d'origen?Número de partició d'origen?Inici?La etiqueta del disc de Sun està plena.El suport per comprovar sistemes de fitxers de %s encara no està implementat.Suport per copiar sistemes de fitxers %s encara no està implementat.El suport per crear sistemes de fitxers de %s encara no està implementat.El suport per obrir sistemes de fitxers de %s encara no està implementat.El suport per redimensionar sistemes de fitxers de %s encara no està implementat.Les FATs no coincideixen. Si no saps què vols dir aixó, llavors selecciona cancelar, executa scandisk al sistema de fitxers, i després torna.La partició sencera de disk és la única disponible que queda. Generalment, no és una bona idea sobreescriure aquesta partició amb una d'autèntica. Solaris pot no ser capaç d'arrencar sense ella i SILO ( el gestor d'arrencada d'sparc) també la té en compte.La còpia de la taula GPT no és al final del disc com hauriea d'ser. Això pot voler dir que un altre sistema operatiu creu que el disc és més petit. Ho voleu arreglar novent la còpia al final ( i esborrant la còpia antiga)?La etiqueta del disc descriu un disc més gran de %s.El controlador diu que el tamany de bloc físic és de %d bytes, però Linux troba que és de %d bytes.El fitxer %s està marcat com un sistema de fitxers. Això vol dir que si el moveu por ocasionar que alguns programes no funcionin.El sistema de fitxers només pot ser redimensionada a aquesta mida covertint-la a FAT16.El sistema de fitxers només pot ser redimensionada a aquesta mida covertint-la a FAT32.El sector d'informació té una signatura incorrecta (%x). Selecciona cancel·la ara mateix, i envia-ns un informe. Si estas desesperat, el més segur és Ignorar.La regió d'arrencada de la partició no ocupa la partició sencera.La regió de dades de la partició no ocupa la partició sencera.No hi ha configuracions possibles per aquest tipus de FAT.Aquest sistema de fitxers té una mida de sector lògic de %d. GNU Parted no treballarà correctament amb mides de sectors diferents de 512 bytes.Aquesta libparted no té suport per escriure a %s. Potser va ser compilada per només lectura.Massa pàgines incorrectes.Massa particions primàries.No s'ha pogut obrir %s lectura/escritura (%s). %s s'ha obert només lectura. No s'ha pogut obrir %sNo s'ha pogut provar d'emmagatzemar.No s'ha pogut satisfer les limitacions a la particióDesconegutTipus de sistema de fitxers desconegut "%s".Utilitzant %s PerillLa mida de bloc extrany al dispositiu: %d bytes no és divisible per 512.Vol fer servir FAT32?SíS'ha de reinstal·lar el carregador d'arrencada abans de rearrencar llegir la secció 4 de la documentació de l'Usuari de Parted per més informació.afegint grupsbootcomprovacomprovant blocs erròniscpmostra la versiómostra aquest missatge d'ajudaextesafat_table_alloc_cluster: no hi ha clústers lliureslliuresistema de fitxers creixentajudaocultaservei-hplbalògicalvmmetadatamkfsmklabelmkpartmkpartfsmovenamemai pregunta a l'usuarioffonped_device_new() Dispositiu no suportatprimàriaprintquitraidcopiant bloc rawrescatarresizermrootselectsetencongintswapescribint metadata per-grupparted-2.3/po/it.gmo0000644000000000000000000023503311400005705011260 00000000000000Þ•\ü)Ü%€2;2½50Ð506226*e6-6$¾6*ã627%A7,g7&”7)»7&å7, 8#98$]8!‚8&¤8(Ë8<ô8319!e9ʇ9R:i:0~:,¯:5Ü:P;/c;]“;Gñ;&9<`<}< „<+<+»<ç<#=#*=N=0l=0=Î=0í=(>(G>p> >'±>%Ù>)ÿ>)?'I?`q?2Ò@<ABAWAuA”A7ªAâA0öA('B%PBvB“B°B,ÌBùB,C-DC rC(“C¼CØCøCDŽD^©DEW E*dEF]¬FÕ GàGõG+HB4HFwH!¾H0àH<IDNI!“IPµI]JHdJ­JÍJ$ëJDKUK"kK-ŽK‡¼KDL HLLRL>ŸLÞL!ûL)M!GMGiM(±M<ÚM@N2XN"‹NB®N?ñN!1O2SO†O0O]¾O=PDZPIŸPéPZüPoWQ"ÇR*êRSV3SQŠS4ÜS5T(GTpTT®TÍTìTU%U)EU-oU$UÂU<áU=V\V|VœV¼VÜVùV4WLW8iW'¢W7ÊWX'XAX8]X8–XÏXëíX#ÙYýY/Z H[ U[`[o[s[x[~[[&»[â[(÷[B \$c\ˆ\¥\Ã\á\:ý\\8]=•]?Ó]>^R^c^&w^ž^ ¤^°^ Á^¶Í^„_´–_>K`*Š`Lµ`=a;@a/|a<¬a+éaHb*^b‰b©b>»búbzc~cŽc ”cHŸc ècKóc0?d}pdcîd?Re ’ežeºeÉeÝeÛöeIÒfGhUdhºhÁh-áhi j +j9jPjmj‰j9¡jÛj4ëj4 kUk$tk™k«k)ÆkKðk>*y<iyD¦yXëy>Dzƒz‚Ÿzí"{R|Öc|<:}Hw}<À}ý}‚~F/I^ypØoI€c¹€`h~HçH0‚ y‚Ùš‚*tƒ?Ÿƒ0߃0„ˆA…šÊ…e†,熇2‡7R‡¨Ї¶3‰@ê‰@+ŠRlŠg¿ŠE'‹gm‹/Õ‹tŒ7zŒp²Œ;#E_<¥Fâ:)ŽƒdŽfèŽ;OU‹áõ.&Ah0ê1‘ˆM‘1Ö‘2’;’@’(Q’(z’&£’tÊ’&?“(f“A“Ñ“ä“3û“/”5”=”T”s””¤”¶”È” Ú”3ç”3•/O••—•$­•BÒ•*–@– `–— ——#4—#X—|——;ª—Šæ—q™Hy™+™?.š·šÔš;ëš3'›/[›+‹›'·›#ß›œ#œ?œOœhœ#lœbœZóœ~NPÍ?ž^ždžjž lž zžW†žÞžûžŸ0Ÿ 8ŸBŸGŸMMŸ›Ÿ¤Ÿ¼ŸÄŸNÇŸ  %2 !X z  ª  Ç Ñ YÚ )4¡.^¡.¡¼¡Á¡Õ¡OÚ¡*¢ 1¢<¢W¢r¢$’¢·¢ É¢×¢+Û¢£££$£-£5£W:£’£Qš£ì£9ó£-¤L6¤ƒ¤‹¤>¤ϤפFܤ##¥G¥K¥ N¥Y¥r¥z¥…¥U¦)[¦…¦Ц*’¦½¦”æX§5]§“§˜§ ª§µ§ЧS×§+¨T2¨‡¨@Ѝ˨Ш ë¨ö¨©B©Y©L]© ª©´©Ê©Qé©;ª@ªUGªª¯ªªEǪ «k« «"«°«Ë«æ«cÿ«lc­а/æ°/±1F±/x±2¨±%Û±/²71²&i²0²&Á²0è²-³@G³+ˆ³-´³)â³) ´+6´Ab´9¤´Þ´òï´âµüµD¶1Y¶,‹¶Y¸¶5·oH·X¸·3¸ E¸f¸ m¸0x¸/©¸'Ù¸0¹/2¹&b¹2‰¹?¼¹(ü¹:%º5`º2–º5ɺ2ÿº92»:l»7§» ß»+¼o,¼?œ½Iܽ&¾1B¾3t¾¨¾6ƾý¾2¿(F¿3o¿.£¿/Ò¿À."ÀQÀ.pÀ/ŸÀ!ÏÀ,ñÀ(Á$GÁ$lÁ‘ÁŒ“Á\ Â}Â]€Â'ÞÂ%ÄZ,Äý‡Ä(…Å®Å3ÁÅEõÅO;Æ%‹Æ:±ÆKìÆN8Ç&‡Ç`®ÇiÈNyÈ6ÈÈ/ÿÈ6/ÉWfɾÉ6ÞÉ8ʳNÊËËXËXhË0ÁË*òË2Ì-PÌM~Ì7ÌÌDÍIIÍ6“Í2ÊÍQýÍQOÎ+¡ÎCÍÎÏAÏd[Ï<ÀÏZýÏgXÐÀЊÓÐ^Ñ#ìÒ/Ó$@ÓoeÓqÕÓ=GÔ>…Ô)ÄÔ#îÔ#Õ#6Õ#ZÕ&~Õ+¥Õ-ÑÕ@ÿÕ>@Ö.Ö)®ÖFØÖG×$g×$Œ×$±×$Ö×'û×,#Ø@PØ)‘ØN»Ø0 ÙC;ÙÙ*–Ù'ÁÙHéÙH2Ú({Ú¤Ú,¦Û ÓÛ(ôÛ Ý+Ý :ÝGÝLÝRÝ)YÝ0ƒÝ0´ÝåÝ*ÿÝB*Þ1mÞ"ŸÞÂÞáÞßEßkeßeÑßg7àYŸàùà áBá aáoá„á •áÆ¡áhâÕ{âOQã.¡ãSÐãO$ä>tä2³ä@æä,'åCTå7˜å$ÐåõåD æŒOæÜæãæöæ ûæRç Xç_fç<Æç´茸èDEé Šé'—é¿éÎéâé¾ûé(ºê?ãëB#ìfì$mì5’ìÈì çíôí#î$)î"NîqîGŽîÖîAéî=+ï*iï*”ï¿ïÙï4ùïa.ð7ðpÈð^9ñ^˜ñr÷ñjò€ò™ò ®òÏòàò õòóó˜0óÉó Îó$Üó ôôô"ô8ô'Oô:wô/²ô>âô:!õ¯\õ$ ö1ö8ö;ö8Dö>}ö>¼öûö0÷E÷]÷Fz÷hÁ÷7*ø,bø0øcÀøP$ùuù“ù*­ùØùïù@úCú Wú(xú¡ú"¾úKáú-û/Jûzû£‚û&ü4@ü uü€üS•ü7éü8!ýAZýIœýæý ùýþ!þ)þ#2þeVþL¼þH ÿGRÿbšÿGýÿRER˜^ë{JSÆ-ˆHðÑb %=1ao=јŒ¨B5:xl³f d‡vìXc `¼ S Sq Å èå ,Î <û ?8 Tx ŽÍ ¨\…(‹'´'Ü3ò8À+Dì@1dr}×[U„±26‚i<ìv)F Yç@AZ‚=ÝŽpªD}`Þü3.Ds456…l5ò6(_d5w5­-ãš)¬1ÖT]5t8ªã ë÷%"<_}™µÑ<é>& <e  ¢ à +à F !'S!{!£š!>"R"b")y")£"Í"%å"U #›a#ý$]%>b%C¡%}å% c&p&7…&0½&,î&('$D' i'Š'§'À'Ð'í'2ñ'o$(e”(ú(Oˆ)KØ)$***2*4* D*dP*$µ*Ú*ù*+ +'+-+U3+ ‰+!“+µ+»+T¾+ ,,*0,*[,†, ™,3º, î,ù,w-)x-6¢-6Ù-../.N4.ƒ. Œ.,—.Ä.*ã.;/J/_/s/Cw/»/Â/Æ/×/à/é/\î/K0fS0º0<Á0þ0O1W1_1Dd1©1±1N¶1'2-21242 E2f2o2”t2y 3.ƒ3²3·3IÀ3 4±4Â4;Ç455!525R5_Y5¹5_À5 6E#6i6n6‚6&“6º6HÁ6 7Q7 `7j7#„7q¨788Z&88˜8©8O®8þ8i9p9*„9"¯9&Ò9!ù9†úÀ‹-¬/"“I/{Ðp#KGYVÅw/$?ýáSûŒ%4°ðµ`:½­²ô"Õƒ]b·eë2öø[¸óÜ(7QõF@éf ‡g)ßýÆi¹&ÊeÚù1½B  ×*JkTÙä© á³œÑ^ÛIÍ »›7êÄÌ?u€ZŸºÅhöÆLɾËÿ&E±¡OT·_ÇùÇ2¸¯}s¼ræL9Ô|˜ñ ’6t jľЯq Ô)£M KbþÝJòQìÛÎÂ6…‘yCÏ(7®ïÑݪ äçy:vß ¤hðú 4r5?g—TuC[…RG÷—ø.«wÒBVþÕ ÎRæ>ž¢1¥©<û±>Ïííî;x]WŸ@'å!ƒ¦Áˆ\‡U’ºžI~no¡A.<Œlq*Š–n®lLåÓD}‹ëP§"ì «Ö¥ ¬dFÀWÓ‰|,Rm%dZÊÞ‚1”³ò“¹=f0ñ†8+ôÌÃ%¶P*´NØMv<œ£à$‘o^™õXx‚= ” jÞ-`èŠÒUÙè¢!{3ó´WHJ[ç¨a!ï5§3˜A¿Ép°3NGã_„=Fªs¿2¶\i²t>éÖ.»Z­Ž+XKS$ÜÈ8 –üŽ•ü›\+D×ãc9a#4šà~BË ˆâ0Aÿê,‰X;„5#@m9QDP÷Ák&,Eš0ÚîÍY¦z™¼¨;•SzØ:VÃ8'OOÈNU-â H¤(µEH6'c€)YMC You found a bug in GNU Parted! Here's what you have to do: Don't panic! The bug has most likely not affected any of your data. Help us to fix this bug by doing the following: Check whether the bug has already been fixed by checking the last version of GNU Parted that you can find at: http://ftp.gnu.org/gnu/parted/ Please check this version prior to bug reporting. If this has not been fixed yet or if you don't know how to check, please visit the GNU Parted website: http://www.gnu.org/software/parted for further information. Your report should contain the version of this release (%s) along with the error message below, the output of parted DEVICE unit co print unit s print and the following history of commands you entered. Also include any additional information about your setup you consider important. Command History: Error: A general SIGFPE signal was encountered. Error: A general SIGILL signal was encountered. Error: A general SIGSEGV signal was encountered. Error: FPE_FLTDIV (Float: divide by zero) Error: FPE_FLTINV (Float: invalid operation) Error: FPE_FLTOVF (Float: overflow) Error: FPE_FLTRES (Float: inexact result) Error: FPE_FLTSUB (Float: subscript out of range) Error: FPE_FLTUND (Float: underflow) Error: FPE_INTDIV (Integer: divide by zero) Error: FPE_INTOVF (Integer: overflow) Error: ILL_BADSTK (Internal Stack Error) Error: ILL_COPROC (Coprocessor Error) Error: ILL_ILLADR (Illegal addressing mode) Error: ILL_ILLOPC (Illegal Opcode) Error: ILL_ILLOPN (Illegal Operand) Error: ILL_ILLTRP (Illegal Trap) Error: ILL_PRVOPC (Privileged Opcode) Error: ILL_PRVREG (Privileged Register) Error: SEGV_ACCERR (Invalid permissions for mapped object) Error: SEGV_MAPERR (Address not mapped to object) Is this still acceptable to you? License GPLv3+: GNU GPL version 3 or later . This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Report bugs to <%s>. Report bugs to: %s When no DEVICE is given, probe all partitions. --help display this help and exit --version output version information and exit NUMBER : display more detailed information about this particular partition devices : display all active block devices free : display information about free unpartitioned space on the current block device list, all : display the partition tables of all active block devices "%s" has invalid syntax for locations.%0.f%% (time left %.2d:%.2d)%s %s%s %s %s%s : Bad checksum on block %llu of type %s %s : Bad checksum on block %llu of type %s.%s : Couldn't read block %llu %s : Couldn't read boot block %llu %s : Couldn't read root block %llu %s : Couldn't write block %d %s : Didn't find rdb block, should never happen %s : Didn't find rdb block, should never happen.%s : Failed to allocate block %s : Failed to allocate disk_specific rdb block %s : Failed to allocate id list element %s : Failed to allocate partition block %s : Failed to list bad blocks.%s : Failed to list boot blocks.%s : Failed to list file system blocks.%s : Failed to list partition blocks.%s : Failed to read partition block %llu %s : Loop detected at block %d.%s : The %s list seems bad at block %s.%s contains GPT signatures, indicating that it has a GPT table. However, it does not have a valid fake msdos partition table, as it should. Perhaps it was corrupted -- possibly by a program that doesn't understand GPT partition tables. Or perhaps you deleted the GPT table, and are now using an msdos partition table. Is this a GPT partition table?%s disk labels do not support extended partitions.%s disk labels don't support logical or extended partitions.%s during read on %s%s during seek for read on %s%s during seek for write on %s%s during write on %s%s has no extended partition (volume header partition).%s home page: <%s> %s home page: %s is %dk, but it has %d clusters (%dk).%s is too small for a Mac disk label!%s trying to sync %s to disk%s%s argument `%s' too large%s: invalid option -- '%c' %s: option '%c%s' doesn't allow an argument %s: option '%s' is ambiguous %s: option '--%s' doesn't allow an argument %s: option '-W %s' doesn't allow an argument %s: option '-W %s' is ambiguous %s: option requires an argument -- '%c' %s: unrecognised disk label%s: unrecognized option '%c%s' %s: unrecognized option '--%s' ''mkpart' makes a partition without creating a new file system on the partition. FS-TYPE may be specified to set an appropriate partition ID. 'version' displays copyright and version information corresponding to this copy of GNU Parted (C)A %s %s partition was found at %s -> %s. Do you want to add it to the partition table?A bug has been detected in GNU Parted. Refer to the web site of parted http://www.gnu.org/software/parted/parted.html for more information of what could be useful for bug submitting! Please email a bug report to bug-parted@gnu.org containing at least the version (%s) and the following message: A data set name is corruptedA reference to an extent comes from a place it should not. You should check the file system!A resize operation on this file system will use EXPERIMENTAL code that MAY CORRUPT it (although no one has reported any such damage yet). You should at least backup your data first, and run 'e2fsck -f' afterwards.API version mismatchATARAID ControllerAn error occurred during extent relocation.An error occurred while looking for the mandatory bad blocks file.An extended partition cannot hold a file system. Did you want mkpart?An extent has not been relocated.Assertion (%s) at %s:%d in function %s() failed.Attempt to write sectors %ld-%ld outside of partition on %s.BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s. Backtrace has %d calls on stack: Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or scandisk.Bad FAT: cluster %d outside file system in chain for %s. You should run dosfsck or scandisk.Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk.Bad block list header checksum.Bad blocks could not be read.Bad blocks list could not be loaded.Bad directory entry for %s: first cluster is the end of file marker.Bad journal checksum.Block %i has no reference? Weird.Block %i shouldn't have been marked (%d, %d)!Both the primary and backup GPT tables are corrupt. Try making a fresh table, and using Parted's rescue feature to recover partitions.BugCOMMANDs:Can't add a logical partition to %s, because there is no extended partition.Can't add another partition -- the partition map is too small!Can't add another partition.Can't copy an extended partition.Can't copy onto an overlapping partition.Can't create any more partitions.Can't have a logical partition outside of the extended partition on %s.Can't have a partition outside the disk!Can't have a primary partition inside an extended partition.Can't have logical partitions outside of the extended partition.Can't have more than one extended partition on %s.Can't have overlapping partitions.Can't have the end before the start! (start sector=%jd length=%jd)Can't move a partition onto itself. Try using resize, perhaps?Can't move an extended partition.Can't write to %s, because it is opened read-only.CancelCannot get unit size for special unit 'COMPACT'.Changing the name of a root or swap partition will prevent Linux from recognising it as such.Checksum is wrong, indicating the partition table is corrupt.Clear unused space on a FAT partition (a GNU Parted testing tool). Cluster start delta = %d, which is not a multiple of the cluster size %d.Compaq Smart ArrayConflicting partition map entry sizes! Entry 1 says it is %d, but entry %d says it is %d!Copyright (C) 1998 - 2006 Free Software Foundation, Inc. This program is free software, covered by the GNU General Public License. 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. Corrupted Sun disk label detected.Could not cache the file system in memory.Could not detect file system.Could not determine physical sector size for %s. Using the logical sector size (%lld).Could not determine sector size for %s: %s. Using the default sector size (%lld).Could not find sector %lli of HFS file with CNID %X.Could not find sector %lli of HFS+ file with CNID %X.Could not get identity of device %s - %sCould not read VTOC FMT1 DSCB.Could not read VTOC FMT4 DSCB.Could not read VTOC FMT5 DSCB.Could not read VTOC FMT7 DSCB.Could not read VTOC labels.Could not read volume label.Could not retrieve API version.Could not retrieve blocksize information.Could not retrieve disk geometry information.Could not retrieve disk information.Could not stat device %s - %s.Could not update the extent cache for HFS file with CNID %X.Could not update the extent cache for HFS+ file with CNID %X.Could not write VTOC FMT1 DSCB.Could not write VTOC FMT4 DSCB.Could not write VTOC FMT5 DSCB.Could not write VTOC FMT7 DSCB.Could not write VTOC labels.Could not write volume label.Couldn't create reiserfs device abstraction handler.Couldn't flush buffer cache!Couldn't reopen device abstraction layer for read/write.Couldn't resolve symbol %s. Error: %s.Cross-linked blocks found! Better go run e2fsck first!DAC960 RAID controllerDEVICE is usually /dev/hda or /dev/sda Data relocation has failed.Data relocation left some data at the end of the volume.Data relocation left some data in the end of the volume.Destination partition number?Device %s has multiple (%d) logical sectors per physical sector. GNU Parted supports this EXPERIMENTALLY for some special disk label/file system combinations, e.g. GPT and ext2/3. Please consult the web site for up-to-date information.Device is too small for %lu blocks.Device verification failedDirect support for copying file systems is not yet implemented for %s. However, support for resizing is implemented. Therefore, the file system can be copied if the new partition is at least as big as the old one. So, either shrink the partition you are trying to copy, or copy to a bigger partition.Disk %s: %s Disk ImageDisk is in useEndEnd?ErrorError allocating buffer cache.Error fsyncing/closing %s: %sError initialising SCSI device %s - %sError opening %s: %sError while writing the allocation file.Error while writing the compatibility part of the allocation file.Error writing to the root directory.Expecting a disk label type.Expecting a file system type.Expecting a partition number.Expecting a partition type.Extended partitions cannot be hidden on msdos disk labels.FAT %d media %x doesn't match the boot sector's media %x. You should probably run scandisk.FAT boot sector says clusters are 0 sectors. This is weird. FAT boot sector says logical sector size is 0. This is weird. FAT boot sector says there are no FAT tables. This is weird. FLAG is one of: FS-TYPE is one of: Failed to write partition block at %d.FatalFatal errorFile System: %s File systemFile system doesn't have expected sizes for Windows to like it. Cluster size is %dk (%dk expected); number of clusters is %d (%d expected); size of FATs is %d sectors (%d expected).File system full!File system has an incompatible feature enabled. Compatible features are has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs or debugfs to remove features.File system has an invalid cluster size for a FAT file system.File system has an invalid number of FATs.File system has an invalid number of reserved sectors for a FAT file system.File system has an invalid sector size for a FAT file system.File system has an invalid signature for a FAT file system.File system has errors! You should run e2fsck.File system has too many allocated inodes to remove a group!File system is FAT12, which is unsupported.File system is reporting the free space as %d clusters, not %d clusters.File system is too full to remove a group!File system too small for ext2.File system type?File system was not cleanly unmounted! You should run e2fsck.File system was not cleanly unmounted! You should run e2fsck. Modifying an unclean file system could cause severe corruption.FixFlag to Invert?FlagsFlags: %s Found an inode with a incorrect link count. Better go run e2fsck first!Free SpaceGNU Parted cannot resize this partition to this size. We're working on it!GNU Parted found an invalid libreiserfs library.GNU Parted has detected libreiserfs interface version mismatch. Found %d-%d, required %d. ReiserFS support will be disabled.GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT support will be disabled.General help using GNU software: Generic IDEGeneric SD/MMC Storage CardI2O ControllerIBM S390 DASD driveIBM iSeries Virtual DASDIf you convert to FAT16, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual).If you convert to FAT32, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual). Also, converting to FAT32 will make the file system unreadable by MS DOS, MS Windows 95a, and MS Windows NT.If you leave your file system as FAT16, then you will have no problems.If you leave your file system as FAT32, then you will not introduce any new problems.IgnoreInconsistent group descriptors!Incorrect magic values in the journal header.Inform the operating system about partition table changes. -d, --dry-run do not actually inform the operating system -s, --summary print a summary of contents -h, --help display this help and exit -v, --version output version information and exit InformationInvalid VTOC.Invalid back referenceInvalid character class nameInvalid collation characterInvalid content of \{\}Invalid free blocks count. Run reiserfsck --check first.Invalid number.Invalid partition table - recursive partition on %s.Invalid partition table on %s -- wrong signature %x.Invalid partition table on %s.Invalid preceding regular expressionInvalid range endInvalid regular expressionInvalid signature %x for Mac disk labels.Invalid size of a transaction block while replaying the journal (%i bytes).Invalid superblock. Are you sure this is an ext2 file system?It seems there is an error in the HFS wrapper: the bad blocks file doesn't contain the embedded HFS+ volume.Journal offset or size is not multiple of the sector size.Journal size mismatch between journal info block and journal header.Journal stored outside of the volume are not supported. Try to desactivate the journal and run Parted again.LABEL-TYPE is one of: Linux device-mapper (%s)Maximum size: Memory allocation failedMemory exhaustedMinimum size: Minor: %d Model: %s (%s) NAME is any word you want NUMBER is the partition number used by Linux. On MS-DOS disk labels, the primary partitions number from 1 to 4, logical partitions from 5 onwards. NameNew device?New disk label type?New state?NoNo ImplementationNo device foundNo matchNo previous regular expressionNo room for partition info.No room for volume label.No valid HFS[+X] signature has been found while opening.No valid partition map found.Not all of the space available to %s appears to be used, you can fix the GPT to use all of the space (an extra %llu blocks) or continue with the current setting? Not enough free inodes!NumberOKOPTIONs:Only logical partitions can be a boot file.Only primary partitions can be root partitions.Only primary partitions can be swap partitions.Out of memory.PART-TYPE is one of: primary, logical, extended Packaged by %s Packaged by %s (%s) Parted can't resize partitions managed by Windows Dynamic Disk.Parted can't use HFS file systems on disks with a sector size not equal to %d bytes.Partition %d has an invalid length of 0 bytes!Partition %d has an invalid signature %x.Partition %d is %s, but the file system is %s.Partition %d isn't aligned to cylinder boundaries. This is still unsupported.Partition %s is being used. You must unmount it before you modify it with Parted.Partition Table: %s Partition doesn't exist.Partition map has no partition map entry!Partition name?Partition number?Partition too big/small for a %s file system.Partition type?Partition(s) on %s are being used.Premature end of regular expressionPromise SX8 SATA DeviceRegular expression too bigReiserfs tree seems to be corrupted. Run reiserfsck --check first.Report %s bugs to: %s Resizing the HFS+ volume has failed.RetrySTART and END are disk locations, such as 4GB or 10%. Negative values count from the end of the disk. For example, -1s specifies exactly the last sector. STATE is one of: on, off Sector size (logical/physical): %lldB/%lldB SizeSize: Some header fields are not multiple of the sector size.Sorry, HFS cannot be resized that way yet.Sorry, HFS+ cannot be resized that way yet.Sorry, can't move the start of ext2 partitions yet!Sorry, can't move the start of reiserfs partitions yet.Source device?Source partition number?StartStart?SuccessSun disk label is full.Support for adding partitions to AIX disk labels is not implemented yet.Support for checking %s file systems is not implemented yet.Support for copying %s file systems is not implemented yet.Support for creating %s file systems is not implemented yet.Support for duplicating partitions in AIX disk labels is not implemented yet.Support for opening %s file systems is not implemented yet.Support for reading AIX disk labels is is not implemented yet.Support for resizing %s file systems is not implemented yet.Support for setting flags in AIX disk labels is not implemented yet.Support for setting system type of partitions in AIX disk labels is not implemented yet.Support for writing AIX disk labels is is not implemented yet.Syntax error in config fileThe FATs don't match. If you don't know what this means, then select cancel, run scandisk on the file system, and then come back.The Whole Disk partition is the only available one left. Generally, it is not a good idea to overwrite this partition with a real one. Solaris may not be able to boot without it, and SILO (the sparc boot loader) appreciates it as well.The backup GPT table is corrupt, but the primary appears OK, so that will be used.The backup GPT table is not at the end of the disk, as it should be. This might mean that another operating system believes the disk is smaller. Fix, by moving the backup to the end (and removing the old backup)?The boot region doesn't start at the start of the partition.The current API version '%d' doesn't match dasd driver API version '%d'!The data region doesn't start at the start of the partition.The device %s has zero length, and can't possibly store a file system or partition table. Perhaps you selected the wrong device?The disk CHS geometry (%d,%d,%d) reported by the operating system does not match the geometry stored on the disk label (%d,%d,%d).The disk has %d cylinders, which is greater than the maximum of 65536.The disk label describes a disk bigger than %s.The driver descriptor says the physical block size is %d bytes, but Linux says it is %d bytes.The existing disk label on %s will be destroyed and all data on this disk will be lost. Do you want to continue?The existing file system will be destroyed and all data on the partition will be lost. Do you want to continue?The ext2 file system passed a basic check. For a more comprehensive check, use the e2fsck program.The extents overflow file should not contain its own extents! You should check the file system.The file %s is marked as a system file. This means moving it could cause some programs to stop working.The file system can only be resized to this size by converting to FAT16.The file system can only be resized to this size by converting to FAT32.The file system contains errors.The file system has the 'dir_index' feature enabled. Parted can only resize the file system if it disables this feature. You can enable it later by running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'.The file system is bigger than its volume!The file system is in an invalid state. Perhaps it is mounted?The file system is in old (unresizeable) format.The file system's CHS geometry is (%d, %d, %d), which is invalid. The partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the file system's CHS geometry will be left unchanged. If you select Fix, the file system's CHS geometry will be set to match the partition table's CHS geometry.The format of the GPT partition table is version %x, which is newer than what Parted can recognise. Please tell us! bug-parted@gnu.orgThe information sector has the wrong signature (%x). Select cancel for now, and send in a bug report. If you're desperate, it's probably safe to ignore.The journal is not empty. Parted must replay the transactions before opening the file system. This will modify the file system.The location %s is outside of the device %s.The maximum head value is %d.The maximum sector value is %d.The partition must have one of the following FS-TYPEs: The partition table cannot be re-read. This means you need to reboot before mounting any modified partitions. You also need to reinstall your boot loader before you reboot (which may require mounting modified partitions). It is impossible do both things! So you'll need to boot off a rescue disk, and reinstall your boot loader from the rescue disk. Read section 4 of the Parted User documentation for more information.The partition table on %s cannot be re-read (%s). This means the Hurd knows nothing about any modifications you made. You should reboot your computer before doing anything with %s.The partition's boot region doesn't occupy the entire partition.The partition's data region doesn't occupy the entire partition.The primary GPT table is corrupt, but the backup appears OK, so that will be used.The reiserfs file system passed a basic check. For a more comprehensive check, run reiserfsck --check.The resulting partition is not properly aligned for best performance.The sector size stored in the journal is not 512 bytes. Parted only supports 512 bytes length sectors.The specified device is not a valid DASD deviceThe volume header or the master directory block has changed while replaying the journal. You should restart Parted.There are no possible configurations for this FAT type.There's not enough room in the root directory for all of the files. Either cancel, or ignore to lose the files.This HFS volume has no catalog file. This is very unusual!This HFS volume has no extents overflow file. This is quite unusual!This HFS+ volume has no catalog file. This is very unusual!This HFS+ volume has no extents overflow file. This is quite unusual!This command does not make sense in non-interactive mode. This file system has a logical sector size of %d. GNU Parted is known not to work properly with sector sizes other than 512 bytes.This is not a real %s check. This is going to extract special low level files for debugging purposes.This is not an ECKD disk! This disk type is not supported!This libparted doesn't have write support for %s. Perhaps it was compiled read-only.Too many bad pages.Too many primary partitionsToo many primary partitions.Trailing backslashTry `%s --help' for more information. Trying to move an extent from block Ox%X to block Ox%X, but another one already exists at this position. This should not happen!Trying to read HFS file with CNID %X behind EOF.Trying to read HFS+ file with CNID %X behind EOF.Trying to register an extent starting at block 0x%X, but another one already exists at this position. You should check the file system!Trying to write HFS file with CNID %X behind EOF.Trying to write HFS+ file with CNID %X behind EOF.TypeUNIT is one of: Unable to allocate a bsd disklabel slot.Unable to allocate a dasd disklabel slotUnable to allocate a partition number.Unable to determine geometry of file/device %s. You should not use Parted unless you REALLY know what you're doing!Unable to determine the dm type of %s.Unable to determine the size of %s (%s).Unable to open %s read-write (%s). %s has been opened read-only.Unable to open %s.Unable to probe store.Unable to satisfy all constraints on the partition.Unit?UnknownUnknown disk flag, %d.Unknown file system type "%s".Unknown partition flag, %d.Unknown system errorUnmatched ( or \(Unmatched ) or \)Unmatched [ or [^Unmatched \{Unrecognised new style linux swap signature '%10s'.Unrecognised old style linux swap signature '%10s'.Unrecognised swsusp linux swap signature '%9s'.Unsupported disk formatUnsupported disk typeUpdating the HFS wrapper has failed.Usage: %s [-hlmsv] [-a] [DEVICE [COMMAND [PARAMETERS]]...] Usage: %s [OPTION] or: %s DEVICE MINOR Usage: %s [OPTION] [DEVICE]... Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...] Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run in interactive mode. User-Mode Linux UBDUsing %s Valid arguments are:Version %d of HFS+ isn't supported.Version %d of HFSX isn't supported.Virtio Block DeviceVolume label is corruptedWARNING: You are not superuser. Watch out for permissions.WARNING: you are attempting to use %s to operate on (%s) a file system. %s's file system manipulation code is not as robust as what you'll find in dedicated, file-system-specific packages like e2fsprogs. We recommend you use %s only to manipulate partition tables, whenever possible. Support for performing most operations on most types of file systems will be removed in an upcoming release. WarningWeird block size on device descriptor: %d bytes is not divisible by 512.Weird! There are 2 partitions map entries!Welcome to GNU Parted! Type 'help' to view a list of commands. Without arguments, 'print' displays the entire partition table. However with the following arguments it performs various other actions. Would you like to use FAT32?Written by %s and %s. Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, and %s. Written by %s, %s, %s, and %s. Written by %s, %s, and %s. Written by %s. Xen Virtual Block DeviceYesYou may need to update /etc/fstab. You need %s of free disk space to shrink this partition to this size. Currently, only %s is free.You requested a partition from %s to %s. The closest location we can manage is %s to %s.%sYou should reinstall your boot loader before rebooting. Read section 4 of the Parted User documentation for more information.Your file system has too many occupied inodes to resize it to %i blocks. Sorry.Your file system is too full to resize it to %i blocks. Sorry.^[nN]^[yY]`adding groupsalign-checkalign-check TYPE N check partition N for TYPE(min|opt) alignmentalignment for new partitionsalignment type(min/opt)ambiguous argument %s for %satvrecvbios_grubbootcheckcheck NUMBER do a simple check on the file systemcheckingchecking for bad blockscopyingcpcp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another partitioncreatingcylinder_alignmentdesired alignment: minimum or optimaldisplays machine parseable outputdisplays the versiondisplays this help messageend of file while reading %sexpandingextendedfailed to set dvh partition name to %s: Only logical partitions (boot files) have a name.fat_table_alloc_cluster: no free clustersfat_table_get: cluster %ld outside file systemfat_table_set: cluster %ld outside file systemfreegrowing file systemhelphelp [COMMAND] print general help, or help on COMMANDhiddenhp-serviceinvalid %s%s argument `%s'invalid argument %s for %sinvalid minor device number: %sinvalid suffix in %s%s argument `%s'invalid token: %sioctl() errorlbalists partition layout on all block deviceslogicallvmmemory exhaustedmetadataminimalmkfsmkfs NUMBER FS-TYPE make a FS-TYPE file system on partition NUMBERmklabelmklabel,mktable LABEL-TYPE create a new disklabel (partition table)mkpartmkpart PART-TYPE [FS-TYPE] START END make a partitionmkpartfsmkpartfs PART-TYPE FS-TYPE START END make a partition with a file systemmktablemovemove NUMBER START END move partition NUMBERmsftresnamename NUMBER NAME name partition NUMBER as NAMEnever prompts for user interventionoffonopen erroropening of device failedoptimalpaloparted was unable to re-read the partition table on %s (%s). This means Linux won't know anything about the modifications you made. partition length of %jd sectors exceeds the %s-partition-table-imposed maximum of %jdped_device_new() Unsupported device typeprepprimaryprimary partition table array CRC mismatchprintprint [devices|free|list,all|NUMBER] display the partition table, available devices, free space, all found partitions, or a particular partitionquitquit exit programraidraw block copyingread errorreading from device failedrescuerescue START END rescue a lost partition near START and ENDresizeresize NUMBER START END resize partition NUMBER and its file systemrmrm NUMBER delete partition NUMBERrootsearching for file systemsseek errorseeking on device failedselectselect DEVICE choose the device to editsetset NUMBER FLAG STATE change the FLAG on partition NUMBERshrinkingshrinking HFS wrappershrinking embedded HFS+ volumestarting sector number, %jd exceeds the %s-partition-table-imposed maximum of %jdswaptoggletoggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBERtoo few argumentstoo many argumentsunitunit UNIT set the default unit to UNITversionversion display the version number and copyright information of GNU Partedwrite errorwriting HFS Master Directory Blockwriting HFS+ Volume Headerwriting per-group metadatawriting to device failedProject-Id-Version: parted 2.2 Report-Msgid-Bugs-To: bug-parted@gnu.org POT-Creation-Date: 2010-05-28 20:30+0200 PO-Revision-Date: 2010-03-10 18:33+0100 Last-Translator: Milo Casagrande Language-Team: Italian Language: it MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit È stato trovato un bug in GNU Parted. Ecco cosa fare: Non innervosirsi, molto probabilmente il bug non ha rovinato i dati. Il modo per aiutare nel correggerlo è il seguente: Verificare che il bug non sia già stato corretto utilizzando la versione più recente di GNU Parted disponibile presso: http://ftp.gnu.org/gnu/parted/ Usare questa versione prima di segnalare il bug. Se il problema non è ancora stato risolto o non si sa come verificarlo, visitare il sito web di GNU Parted: http://www.gnu.org/software/parted per ulteriori informazioni. La segnalazione deve contenere la versione di questo programma (%s), il messaggio d'errore riportato di seguito, l'output di parted DEVICE unit co print unit s print e la seguente cronologia dei comandi. Includere anche qualsiasi altra informazione riguardo la propria configurazione da considerarsi importante. Cronologia comandi: Errore: incontrato un segnale SIGFPE generico. Errore: incontrato un segnale SIGILL generico. Errore: incontrato un segnale SIGSEGV generico. Errore: FPE_FLTDIV (float: divisione per zero) Errore: FPE_FLTINV (float: operazione non valida) Errore: FPE_FLTOVF (float: overflow) Errore: FPE_FLTRES (float: risultato inesatto) Errore: FPE_FLTSUB (float: subscript fuori dal limite) Errore: FPE_FLTUND (float: underflow) Errore: FPE_INTDIV (intero: divisione per zero) Errore: FPE_INTOVF (intero: overflow) Errore: ILL_BADSTK (errore dello stack interno) Errore: ILL_COPROC (errore del coprocessore) Errore: ILL_ILLADR (modalità di indirizzamento non consentita) Errore: ILL_ILLOPC (opcode non consentito) Errore: ILL_ILLOPN (operando non consentito) Errore: ILL_ILLTRP (trap non consentita) Errore: ILL_PRVOPC (opcode privilegiato) Errore: ILL_PRVREG (registro privilegiato) Errore: SEGV_ACCERR (permessi non validi per l'oggetto mappato) Errore: SEGV_MAPERR (indirizzo non mappato all'oggetto) È accettabile? Licenza GPLv3+: GNU GPL versione 3 o successiva . Questo programma è software libero: siete liberi di modificarlo e ridistribuirlo. Non c'è ALCUNA GARANZIA, per quanto consentito dalle vigenti normative. Segnalare i bug a <%s>. Segnalare i bug a: %s Quando non viene fornito alcun DEVICE, rileva tutte le partizioni. --help Visualizza questo aiuto ed esce --version Stampa la versione ed esce NUMERO : visualizza informazioni dettagliate riguardo questa particolare partizione devices : mostra tutti i device a blocchi attivi free : visualizza informazioni riguardo lo spazio libero non partizionato sul device a blocchi corrente list, all : visualizza le tabelle delle partizioni di tutti i device a blocchi attivi "%s" utilizza una sintassi errata per le posizioni.%0.f%% (tempo rimasto %.2d.%.2d)%s %s%s %s %s%s: checksum errato sul blocco %llu del tipo %s %s: checksum errato sul blocco %llu di tipo %s.%s: impossibile leggere il blocco %llu %s: impossibile leggere il blocco di avvio %llu %s: impossibile leggere il blocco di root %llu %s: impossibile scrivere il blocco %d %s: blocco rdb non trovato, non dovrebbe accadere %s: non è stato trovato il blocco rdb, non dovrebbe succedere.%s: allocazione del blocco non riuscita %s: allocazione del blocco rdb disk_specific non riuscita %s: allocazione ID elemento dell'elenco non riuscita %s: allocazione blocco di partizione non riuscita %s: elencazione dei blocchi danneggiati non riuscita.%s: elencazione dei blocchi di avvio non riuscita.%s: elencazione dei blocchi del file system non riuscita.%s: elencazione dei blocchi della partizione non riuscita.%s: lettura del blocco di partizione %llu non riuscita %s: rilevato ciclo al blocco %d.%s: l'elenco %s sembra errato al blocco %s.Il device %s contiene delle firme GPT, indicando che si tratta di una tabella GPT, ma non dispone di una finta tabella delle partizioni msdos come dovrebbe. Forse è stata danneggiata da un programma che non riconosce le tabelle delle partizioni GPT, oppure è stata eliminata la tabella GPT ed è ora in uso quella MS-DOS. È questa una tabella delle partizioni GPT?Le etichette dei dischi %s non supportano le partizioni estese.Le etichette dei dischi %s non supportano le partizioni estese o logiche.%s durante la lettura su %s%s durante il posizionamento per la lettura su %s%s durante il posizionamento per la scrittura su %s%s durante la scrittura su %s%s non ha partizioni estese (volume header partition).Sito web di %s: <%s> Sito web di %s: %s è %dk, ma contiene %d cluster (%dk).%s è troppo piccolo per un'etichetta di disco Mac.%s nel tentativo di sincronizzare %s sul discol'argomento "%3$s" di %1$s%2$s è troppo grande%s: opzione non valida -- "%c" %s: l'opzione "%c%s" non accetta un argomento %s: l'opzione "%s" è ambigua %s: l'opzione "--%s" non accetta un argomento %s: l'opzione "-W %s" non accetta un argomento %s: l'opzione "-W %s" è ambigua %s: l'opzione richiede un argomento -- "%c" %s: etichetta del disco non riconosciuta%s: opzione "%c%s" non riconosciuta %s: opzione "--%s" non riconosciuta ""mkpart" crea un partizione senza crearvi un file system. TIPO_FS può essere specificato per impostare un ID della partizione appropriato. "version" visualizza informazioni sul copyright e la versione di questa copia di GNU Parted ©È stata trovata una partizione %s %s su %s -> %s. Aggiungerla alla tabella delle partizioni?È stato trovato un bug di GNU Parted. Controllare il sito web di parted http://www.gnu.org/software/parted/parted.html per maggiori informazioni su cosa è utile comunicare nelle segnalazioni. Segnalare un bug a bug-parted@gnu.org specificando almeno la versione (%s) e il seguente messaggio: Il nome di un data set è danneggiatoIl riferimento a un extent proviene da una posizione inusuale. Controllare il file system.Un'operazione di ridimensionamento di questo file system utilizzerà codice SPERIMENTALE che POTREBBE DANNEGGIARLO (anche se nessuno ha mai riferito che sia successo). È consigliato fare una copia di backup dei dati ed eseguire "e2fsck -f" subito dopo.Corrispondenza versione API non correttaController ATARAIDSi è verificato un errore nel riallocare l'extent.Errore nella ricerca del file obbligatorio per i blocchi danneggiati.Una partizione estesa non può contenere un file system. Proseguire con mkpart?Un extent non è stato riposizionato.Asserzione (%s) in %s:%d nella funzione %s() non riuscita.Tentativo di scrivere i settori %ld-%ld al di fuori della partizione su %s.Geometria cilindri, testine, settori dal BIOS: %d,%d,%d. Ogni cilindro è %s. Backtrace ha %d chiamate sullo stack: FAT errata: cluster %d con collegamenti incrociati per %s. Eseguire "dosfsck" oppure "scandisk".FAT errata: cluster %d usato nella catena %s fuori dal file system. Eseguire "dosfsck" oppure "scandisk".FAT errata: catena per %s non terminata. Eseguire "dosfsck" oppure "scandisk".Checksum dell'elenco blocchi di intestazione inesatto.I blocchi danneggiati non possono essere letti.Impossibile caricare l'elenco dei blocchi danneggiati.Elemento di directory errato per %s: il primo cluster è la fine del marcatore di file.Checksum del registro inesatto.Il blocco %i non è referenziato? Situazione insolita.Il blocco %i non avrebbe dovuto essere segnato (%d, %d).Sia la tabella GPT principale che quella di backup sono danneggiate. Provare a crearne una nuova e, tramite le funzionalità di ripristino del programma, recuperare le partizioni.BugCOMANDI:Impossibile aggiungere una partizione logica a %s poiché non ci sono partizioni estese.Impossibile aggiungere un'altra partizione: la mappa delle partizioni è troppo piccola.Non è possibile aggiungere un'altra partizione.Impossibile copiare una partizione estesa.Impossibile copiare su una partizione sovrapposta.Non è possibile creare ulteriori partizioni.Impossibile avere una partizione logica esterna alla partizione estesa su %s.Impossibile avere una partizione al di fuori del disco.Impossibile avere una partizione primaria all'interno di una estesa.Impossibile avere partizioni logiche al di fuori della partizione estesa.Impossibile avere più di una partizione estesa su %s.Impossibile avere partizioni che si sovrappongono.Impossibile avere la fine prima dell'inizio (settore iniziale=%jd lunghezza=%jd).Impossibile spostare una partizione su sé stessa. Provare con il comando resize?Impossibile spostare una partizione estesa.Impossibile scrivere su %s poiché è stato aperto in sola lettura.AnnullaImpossibile ottenere la dimensione dell'unità speciale "COMPACT"Cambiare il nome di una partizione di root o swap non permetterà a Linux di riconoscerla come tale.Checksum errato; la tabella delle partizioni è danneggiata.Pulisce lo spazio non usato su una partizione FAT (uno strumento di test di GNU Parted). Lo spostamento del primo blocco del cluster è %d e non è un multiplo della dimensione del cluster %d.Compaq Smart ArrayDue elementi della mappa delle partizioni hanno dimensioni diverse. Il primo elemento indica di essere %d, mentre l'elemento %d indica %d.Copyright (C) 1998-2006 Free Software Foundation, Inc. Questo programma è software libero, protetto dalla GNU General Public License. Questo programma è distribuito nella speranza che sia utile, ma SENZA ALCUNA GARANZIA; senza neppure le garanzie derivate dalla COMMERCIABILITÀ o dall'essere ADATTO A UN PARTICOLARE SCOPO. Per maggiori informazioni, consultare la GNU General Public License. Rilevata etichetta Sun danneggiata.Impossibile caricare il file system in memoria.Impossibile rilevare il file system.Impossibile determinare la dimensione fisica del settore per %s. Verrà utilizzata la dimensione logica (%lld).Impossibile determinare la dimensione del settore per %s: %s. Verrà utilizzata la dimensione predefinita (%lld).Impossibile trovare il settore %lli del file HFS con CNID %X.Impossibile trovare il settore %lli del file HFS+ con CNID %X.Impossibile identificare il device %s -%sImpossibile leggere VTOC FMT1 DSCB.Impossibile leggere VTOC FMT4 DSCB.Impossibile leggere VTOC FMT5 DSCB.Impossibile leggere VTOC FMT7 DSCB.Impossibile leggere le etichette VTOC.Impossibile leggere l'etichetta del volume.Impossibile recuperare la versione delle API.Impossibile recuperare informazioni sulla dimensione del blocco.Impossibile recuperare informazioni sulla geometria del disco.Impossibile recuperare informazioni sul disco.Impossibile fare stat del device %s - %s.Impossibile aggiornare la cache degli extent per file HFS con CNID %X.Impossibile aggiornare la cache degli extent per file HFS+ con CNID %X.Impossibile scrivere VTOC FMT1 DSCB.Impossibile scrivere VTOC FMT4 DSCB.Impossibile scrivere VTOC FMT5 DSCB.Impossibile scrivere VTOC FMT7 DSCB.Impossibile scrivere le etichette VTOC.Impossibile scrivere l'etichetta del volume.Impossibile creare il gestore di astrazione del device reiserfs.Impossibile svuotare la cache del buffer.Impossibile riaprire il livello di astrazione del device in lettura/scrittura.Impossibile risolvere il simbolo %s. Errore: %s.Trovati dei blocchi con collegamenti incrociati. Eseguire "e2fsck".Controller RAID DAC960DEVICE è normalmente /dev/hda o /dev/sda Riposizionamento dei dati non riuscito.Il riposizionamento dei dati ne ha lasciati alcuni alla fine del volume.Il riposizionamento dei dati ne ha lasciati alcuni alla fine del volume.Numero della partizione di destinazione?Il device %s ha settori logici multipli (%d) per ogni settore fisico. Il supporto a questa configurazione è SPERIMENTALE e solo per alcune combinazioni di tipi di etichetta/file system, come GPT ed ext2/3. Per maggiori informazioni, consultare il sito web.Il device è troppo piccolo per %lu blocchi.Verifica del device non riuscitaIl supporto per copiare direttamente file system %s non è ancora implementato, ma è possibile ridimensionarli. Il file system può quindi essere copiato se la nuova partizione è almeno grande quanto quella di origine. Ridimensionare la partizione da copiare oppure copiarla in una più grande.Disco %s: %s Immagine discoDisco in usoFineFine?ErroreErrore nell'allocare la cache del buffer.Errore nell'eseguire fsync o nel chiudere %s: %sErrore nell'inizializzare il device SCSI %s - %sErrore nell'aprire %s: %sErrore nello scrivere l'"Allocation File".Errore nello scrivere la parte compatibile dell'"Allocation File".Errore nello scrivere nella directory principale.Atteso un tipo di etichetta disco.Atteso un tipo di file system.Atteso un numero di partizione.Atteso un tipo di partizione.Le partizioni estese non possono essere nascoste su etichette MS-DOS.FAT %d, il supporto %x non coincide con quello specificato nel settore di avvio di %x. Eseguire "scandisk".Il settore di avvio della FAT sostiene che il cluster sia composto da 0 settori. Situazione inusuale.Il settore di avvio della FAT sostiene che la dimensione del settore logico sia 0. Situazione inusuale.Il settore di avvio della FAT sostiene che non ci siano tabelle FAT. Situazione inusuale.FLAG è uno di: TIPO_FS è uno di: Scrittura del blocco di partizione alla posizione %d non riuscita.IrrimediabileErrore irrimediabileFile system: %s File systemIl file system non ha una parametri compatibili con Windows. La dimensione del cluster è %dk (atteso %dk); il numero di cluster è %d (atteso %d); la dimensione delle FAT è %d settori (atteso %d).File system pieno.Il file system ha una funzionalità non compatibile abilitata. Le funzionalità compatibili sono has_journal, dir_index, filetype, sparse_super e large_file. Usare tune2fs o debugfs per rimuovere le funzionalità.Il file system ha una dimensione del cluster non valida per un file system FAT.Il file system ha un numero non valido di FAT.Il file system ha un numero di settori riservati non valido per un file system FAT.Il file system ha una dimensione del settore non valida per un file system FAT.Il file system ha una firma non valida per un file system FAT.Il file system contiene errori. Eseguire "e2fsck".Il file system ha troppi inode allocati per rimuovere un gruppo.Il file system è FAT12 e non è supportato.Il file system riporta uno spazio libero di %d cluster anziché %d.Il file system è troppo pieno per rimuovere un gruppo.File system troppo piccolo per ext2.Tipo di file system?Il file system non è stato smontato correttamente. Eseguire e2fsck.Il file system non è stato smontato correttamente. Eseguire "e2fsck"; modificare un file system non consistente può causare seri problemi.RiparaFlag da invertire?FlagFlag: %s Trovato un inode con un conteggio di collegamenti non corretto. Eseguire "e2fsck".Spazio liberoImpossibile ridimensionare questa partizione a questa dimensione. Funzione in fase di sviluppo.Il programma ha trovato una libreria libreiserfs non valida.Il programma ha rilevato una corrispondenza errata sulla versione dell'interfaccia di libreiserfs, trovato %d-%d quando è necessario %d. Il supporto a ReiserFS sarà disabilitato.Il programma non è stato compilato correttamente: il settore di avvio dovrebbe essere di 512 byte. Il supporto per FAT verrà disabilitato.Aiuto per l'utilizzo di software GNU: IDE genericoScheda di archiviazione SD/MMC genericaController I2ODrive IBM S390 DASDIBM iSeries Virtual DASDConvertire una partizione che contiene MS Windows a FAT16 richiede di reinstallare il boot loader di Windows. Per continuare, consultare il manuale di Parted (o della propria distribuzione).Convertire una partizione che contiene MS Windows a FAT32 richiede di reinstallare il boot loader. Per continuare, consultare il manuale di Parted (o della propria distribuzione). Inoltre, la conversione a FAT32 renderà il file system non utilizzabile con MS-DOS, MS Windows 95a e MS Windows NT.Lasciare il file system come FAT16 non causerà alcun problema.Lasciare il file system come FAT32 non introdurrà alcun problema.IgnoraDescrittori di gruppo inconsistenti.Valori "magic" errati nell'intestazione del registro.Informa il sistema operativo riguardo i cambiamenti nella tabella delle partizioni. -d, --dry-run Non informa il sistema operativo -s, --summary Stampa un sommario dei contenuti -h, --help Visualizza questo aiuto ed esce -v, --version Stampa la versione ed esce InformazioniVTOC non valido.Riferimento all'indietro non validoNome classe del carattere non validaCarattere di collazione non validoContenuto di \{\} non validoConteggio dei blocchi liberi non valido. Eseguire "reiserfsck --check".Numero non valido.Tabella della partizioni non valida - partizione ricorsiva su %s.Tabella delle partizioni su %s non valida -- firma %x errata.Tabella delle partizioni non valida su %s.Espressione regolare precedente non validaLimite massimo non validoEspressione regolare non validaFirma %x non valida per le etichette dei dischi Mac.Dimensione di un blocco di transazione non valida durante la riesecuzione del registro (%i byte).Superblocco non valido. È proprio un file system ext2?Sembra esserci un errore nel wrapper HFS: il file dei blocchi danneggiati non contiene il volume HFS+ integrato.Lo spostamento o la dimensione del registro non è un multiplo della dimensione di un settore.La dimensione del registro non corrisponde con quella dell'intestazione del registro medesimo.Registri memorizzati all'esterno del volume non sono supportati. Disattivare il registro e riavviare il programma.TIPO_ETIC è uno di: Device-mapper Linux (%s)Dimensione massima: Allocazione memoria non riuscitaMemoria esauritaDimensione minima: Minor: %d Modello: %s (%s) NOME è una qualsiasi parola NUMERO è il numero di partizione usato da Linux. Su etichette del disco MS-DOS, le partizioni primarie hanno numeri da 1 a 4 e le logiche da 5 in poi. NomeNuovo device?Tipo dell'etichetta del nuovo disco?Nuovo stato?NoNon implementatoNessun device trovatoNessuna corrispondenzaNessuna espressione regolare precedenteSpazio insufficiente per le informazioni sulla partizione.Spazio insufficiente per l'etichetta di volume.All'apertura non è stata trovata alcuna firma HFS[+X] valida.Non è stata trovata alcuna mappa delle partizioni valida.Non tutto lo spazio disponibile in %s sembra essere usato. Correggere GPT affinché utilizzi tutto lo spazio (ulteriori %llu blocchi) o continuare con le impostazioni attuali?Non ci sono abbastanza inode liberi.NumeroOKOPZIONI:Solo le partizioni logiche possono essere file di avvio.Solo le partizioni primarie possono essere partizioni di root.Solo le partizioni primarie possono essere partizioni di swap.Memoria non sufficiente.TIPO_PART è uno di: primary, logical, extended Pacchetto creato da %s Pacchetto creato da %s (%s) Impossibile ridimensionare partizioni gestite da Windows Dynamic Disk.Il programma non può utilizzare file system HFS su dischi con settori di dimensione diversa da %d byte.La partizione %d ha una lunghezza non valida di 0 byte.La partizione %d ha una firma non valida %x.La partizione %d è %s, ma il file system è %s.La partizione %d non è allineata con l'inizio di un cilindro. Funzionalità non ancora supportata.La partizione %s è in uso. È necessario smontarla prima di poterla modificare.Tabella delle partizioni: %s La partizione non esiste.La mappa delle partizioni non ha elementi.Nome della partizione?Partizione numero?Partizione troppo grande o troppo piccola per il file system %s.Tipo di partizione?Le partizioni su %s sono in uso.Fine prematura dell'espressione regolareDispositivo Promise SX8 SATAEspressione regolare troppo grandeL'albero reiserfs sembra essere danneggiato. Eseguire "reiserfsck --check".Segnalare i bug di %s a: %s Ridimensionamento del volume HFS+ non riuscito.RiprovaINIZIO e FINE sono posizioni sul disco, come 4GB o 10%. I numeri negativi sono relativi alla fine del disco. Per esempio, -1s indica esattamente l'ultimo settore. STATO è uno di: on, off Dimensione del settore (logica/fisica): %lldB/%lldB DimensioneDimensione: Alcuni campi dell'intestazione non sono un multiplo della dimensione di un settore.HFS non può ancora essere ridimensionato in quel modo.HFS+ non può ancora essere ridimensionato in quel modo.Non è ancora possibile spostare l'inizio di una partizione ext2.Impossibile, per il momento, spostare l'inizio delle partizioni reiserfs.Device di origine?Numero di partizione di origine?InizioInizio?SuccessoL'etichetta del disco Sun è piena.Il supporto per aggiungere partizioni alle etichette dei dischi AIX non è ancora stato implementato.Il supporto per controllare file system %s non è ancora stato implementato.Il supporto per copiare file system %s non è ancora stato implementato.Il supporto per creare file system %s non è ancora stato implementato.Il supporto per duplicare partizioni in etichette dei dischi AIX non è ancora stato implementato.Il supporto per aprire file system %s non è ancora stato implementato.Il supporto per leggere etichette dei dischi AIX non è ancora stato implementato.Il supporto per ridimensionare il file system %s non è stato ancora implementato.Il supporto per impostare i flag in etichette dei dischi AIX non è ancora stato implementato.Il supporto per impostare il tipo di sistema delle partizioni in etichette dei dischi AIX non è ancora stato implementato.Il supporto per scrivere etichette dei dischi AIX non è ancora stato implementato.Errore di sintassi nel file di configurazioneLe FAT non coincidono. Se non se ne conosce il significato, selezionare "Annulla", eseguire "scandisk", quindi ritornare a questo punto.La partizione "whole disk" è l'unica rimasta disponibile. Normalmente non è una buona idea sovrascriverla con una partizione reale. Solaris potrebbe non essere in grado di avviarsi; inoltre anche SILO (il boot loader per sparc) ne fa uso.La tabella GPT di backup è danneggiata, ma quella principale sembra corretta e verrà utilizzata.La copia di backup della tabella GPT non è presente, come dovrebbe, alla fine del disco. Questo potrebbe voler dire che un altro sistema operativo pensa che il disco sia più piccolo. Correggere il problema spostando la copia alla fine (e rimuovendo quella vecchia)?La regione di avvio non comincia all'inizio della partizione.La versione "%d" delle API correnti non corrisponde alla versione "%d" delle API del driver dasd.La regione dei dati non comincia all'inizio della partizione.Il device %s ha dimensione zero e probabilmente non può contenere un file system o una tabella delle partizioni. È stato selezionato il device errato?La geometria CHS del disco (%d,%d,%d) riportata dal sistema operativo non corrisponde a quella presente nell'etichetta del disco (%d,%d,%d).Il disco ha %d cilindri, maggiori del massimo consentito di 65536.L'etichetta del disco descrive un disco più grande di %s.Il descrittore del driver indica che la dimensione del blocco fisico è di %d byte, ma Linux indica %d byte.L'etichetta del disco su %s verrà eliminata e tutti i dati su questo disco saranno persi. Continuare?Il file system esistente verrà eliminato e tutti i dati sulla partizione saranno persi. Continuare?Il file system ext2 ha passato i controlli di base. Per un controllo più approfondito utilizzare il programma e2fsck.L'"Extent Overflow File" non deve contenere i propri extent. Controllare il file system.Il file %s è indicato come file di sistema; spostandolo, alcuni programmi potrebbero bloccarsi.Il file system può solo essere portato a questa dimensione se si converte a FAT16.Il file system può solo essere portato a questa dimensione se si converte a FAT32.Il file system contiene errori.Il file system ha la funzionalità "dir_index" attiva. È possibile ridimensionare il file system solo disattivando questa caratteristica. Per riattivarla eseguire "tune2fs -O dir_index DEVICE" e successivamente "e2fsck -fD DEVICE".Il file system è più ampio del suo volume.Il file system è in uno stato non valido. Forse è montato?Il file system è in un formato vecchio (non ridimensionabile).La geometria CHS (%d, %d, %d) del file system non è valida. La geometria CHS della tabella delle partizioni è (%d, %d, %d). Selezionare "Ignora" per non modificare la geometria CHS del file system, selezionare "Ripara" per impostare la geometria CHS del file system affinché corrisponda alla geometria CHS della tabella delle partizioni.La versione del formato della tabella delle partizioni GPT è %x, successiva a quelle note al programma. Segnalare questo a gnu-parted@gnu.orgIl settore di informazioni ha una firma errata (%x). Selezionare "Annulla" e inviare un segnalazione di bug. In situazioni estreme è forse possibile ignorare l'errore.Il registro non è vuoto. Il programma deve ripetere le transazioni prima di aprire il file system. Il file system verrà modificato.La posizione %s è esterna al device %s.Il massimo valore per la testina è %d.Il massimo valore per il settore è %d.La partizione deve avere uno dei seguenti TIPO_FS: Impossibile rileggere la tabella delle partizioni; per poter montare le partizioni modificate è necessario riavviare il computer. Prima del riavvio è anche necessario installare nuovamente il "boot loader" (potrebbe richiedere di montare le partizioni modificate). Poiché non è possibile svolgere entrambe le operazioni, avviare il computer da un disco di ripristino e installare il "boot loader" da tale disco. Per maggiori informazioni, consultare la sezione 4 della documentazione di Parted.La tabella delle partizioni su %s (%s) non può essere riletta. Questo significa che le modifiche effettuate non saranno note a Hurd. Riavviare il computer prima di fare qualsiasi cosa con %s.La regione di avvio della partizione non occupa l'intera partizione.La regione dati della partizione non occupa l'intera partizione.La tabella GPT principale è danneggiata, ma la copia di backup sembra corretta e verrà utilizzata.Il file system reiserfs ha superato un controllo basilare. Per un controllo più approfondito, eseguire "reiserfsck --check".La partizione risultante non è allineata correttamente per garantire prestazioni ottimali.La dimensione del settore presente nel registro non è di 512 byte. Il programma supporta solo settori di lunghezza pari a 512 byte.Il device specificato non è un device DASD validoIl "Volume Header" o il "Master Directory Block" è stato modificato durante la riesecuzione del registro. Riavviare il programma.Non ci sono configurazioni possibili per questo tipo di FAT.Non c'è sufficiente spazio nella directory principale per tutti i file. Annullare oppure ignorare per perdere i file.Questo volume HFS non possiede un "Catalog File". Situazione inusuale.Questo volume HFS non possiede un "Extent Overflow File". Situazione abbastanza inusuale.Questo volume HFS non ha un "Catalog File". Situazione inusuale.Questo volume HFS+ non possiede un "Extent Overflow File". Situazione abbastanza inusuale.Questo comando non ha senso nella modalità non interattiva. Il file system ha dei settori logici con dimensione %d. Il programma non funziona correttamente con settori di dimensione diversa da 512 byte.Non è un controllo %s reale. Avvio della speciale procedura a basso livello d'estrazione dei file per il debug.Questo non è un disco ECKD. Questo tipo di disco non è supportato.Questa versione di libparted non dispone del supporto alla scrittura per %s. Potrebbe essere stato compilato in sola lettura.Troppe pagine inutilizzabili.Troppe partizioni primarieTroppe partizioni primarie.Backslash finaleUsare "%s --help" per ulteriori informazioni. Tentativo di spostare un extent dal blocco 0x%X al blocco 0x%X, ma ne esiste già uno alla stessa posizione. Questo non dovrebbe verificarsi.Tentativo di leggere file HFS con CNID %X oltre EOF.Tentativo di leggere file HFS+ con CNID %X oltre EOF.Tentativo di registrare un extent a partire dal blocco 0x%X, ma ne esiste già uno alla stessa posizione. Controllare il file system.Tentativo di scrivere file HFS con CNID %X oltre EOF.Tentativo di scrivere file HFS+ con CNID %X oltre EOF.TipoUNITÀ è uno di: Impossibile allocare uno spazio per un'etichetta bsd.Impossibile allocare uno spazio per un'etichetta dasdImpossibile allocare un numero di partizione.Impossibile determinare la geometria del file/device %s. L'uso di questo programma è sconsigliato a meno che non si sappia VERAMENTE cosa si sta facendo.Impossibile determinare il tipo dm di %s.Impossibile determinare la dimensione di %s (%s).Impossibile aprire %s in lettura-scrittura (%s). %s è stato aperto in sola lettura.Impossibile aprire %s.Impossibile rilevare il dispositivo di archiviazione.Impossibile soddisfare tutti i vincoli sulla partizione.Unità?SconosciutoFlag del disco %d sconosciuto.Tipo di file system "%s" sconosciuto.Flag di partizione %d sconosciuto.Errore di sistema sconosciuto( o \( senza corrispondenza) o \) senza corrispondenza[ o [^ senza corrispondenza\{ senza corrispondenzaNuova firma linux di partizione swap non conosciuta: "%10s".Vecchia firma linux di partizione swap non conosciuta: "%10s".Firma linux di partizione swap swsusp non conosciuta: "%9s".Formato del disco non supportatoTipo di disco non supportatoAggiornamento del wrapper HFS non riuscito.Uso: %s [-hlmsv] [-a] [DEVICE [COMANDO [PARAMETRI]]...] Uso: %s [OPZIONI] o: %s DEVICE MINOR Uso: %s [OPZIONI] [DEVICE]... Uso: parted [OPZIONI]... [DEVICE [COMANDO [PARAMETRI]...]...] Esegue COMANDO con i PARAMETRI sul DEVICE. Se non c'è alcun COMANDO parte in modalità interattiva. User-Mode Linux UBDViene usato %s Argomenti validi sono:La versione %d di HFS+ non è supportata.La versione %d di HFSX non è supportata.Device a blocchi VirtioL'etichetta del volume è danneggiataAttenzione: non è stato eseguito come super utente. Prestare attenzione ai permessi.Attenzione: si sta tentando di usare %s per operare su un file system (%s). Il codice per la gestione del file system %s non è sicuro e robusto come quello presente in programmi dedicati come e2fsprogs. È consigliato usare %s solo per la gestione delle tabelle di partizione. Il supporto per l'esecuzione della maggior parte delle operazioni su molti dei file system verrà rimosso in una prossima versione. AvvisoDimensione del blocco nel descrittore del device inusuale: %d byte non è divisibile per 512.Sono presenti due mappe delle partizioni. Situazione inusuale.Benvenuti in GNU Parted. Digitare "help" per l'elenco dei comandi. Senza argomenti, "print" visualizza l'intera tabella delle partizioni. Con i seguenti argomenti esegue diverse altre azioni. Usare FAT32?Scritto da %s e %s. Scritto da %s, %s, %s, %s, %s, %s, %s, %s, %s e altri. Scritto da %s, %s, %s, %s, %s, %s, %s, %s e %s. Scritto da %s, %s, %s, %s, %s, %s, %s e %s. Scritto da %s, %s, %s, %s, %s, %s e %s. Scritto da %s, %s, %s, %s, %s e %s. Scritto da %s, %s, %s, %s e %s. Scritto da %s, %s, %s e %s. Scritto da %s, %s e %s. Scritto da %s. Device a blocchi Xen VirtualSìPotrebbe essere necessario aggiornare /etc/fstab. Servono %s di spazio libero per ridurre la partizione a questa dimensione. Attualmente soltanto %s sono liberi.È stata richiesta una partizione da %s a %s. La posizione più prossima disponibile è da %s a %s.%sPrima di riavviare è utile reinstallare il "boot loader". Per maggiori informazioni, consultare la sezione 4 della documentazione di Parted.Il file system ha troppi inode occupati per essere ridimensionato a %i blocchi.Il file system contiene troppi dati per essere ridimensionato a %i blocchi.^[nN]^[sSyY]"aggiunta gruppialign-checkalign-check TIPO N Controlla la partizione N per l'allineamento TIPO(min|ott)allineamento per le nuove partizionitipo di allineamento (min/ott)argomento %s per %s ambiguoatvrecvbios_grubavviocheckcheck NUMERO Esegue un semplice controllo sul file systemcontrollocontrollo dei blocchi danneggiaticopiacpcp [DEVICE_INZIALE] DAL_NUMERO AL_NUMERO Copia un file system in un'altra partizionecreazionecylinder_alignmentallineamento richiesto: minimo od ottimaleMostra un output analizzabile dal computerStampa la versioneMostra questo messaggio di aiutoraggiunta la fine del file durante la lettura di %sespansioneestesaImpostazione del nome della partizione dvh a %s non riuscita: solo le partizioni logiche (file di avvio) hanno un nome.fat_table_alloc_cluster: cluster esauritifat_table_get: cluster %ld al di fuori del file systemfat_table_set: cluster %ld al di fuori del file systemliberoaumento del file systemhelphelp [COMANDO] Mostra l'aiuto generale o sul COMANDOnascostahp-servicel'argomento "%3$s" di %1$s%2$s non è validoargomento %s per %s non validominor number del dispositivo %s non validoil suffisso nell'argomento "%3$s" di %1$s%2$s non è validotoken non valido: %serrore di "ioctl()"lbaElenca la disposizione delle partizioni su tutti i device a blocchilogicalvmmemoria esauritametadatiminimalemkfsmkfs NUMERO TIPO_FS Crea un file system TIPO_FS sulla partizione NUMEROmklabelmklabel,mktable TIPO_ETIC Crea una nuova etichetta del disco (tabella delle partizioni)mkpartmkpart TIPO_PART [TIPO_FS] INIZIO FINE Crea una partizionemkpartfsmkpartfs TIPO_PART TIPO_FS INIZIO FINE Crea una partizione con un file systemmktablemovemove NUMERO INIZIO FINE Sposta la partizione NUMEROmsftresnamename NUMERO NOME Chiama la partizione NUMERO come NOMENon chiede mai l'intervento dell'utenteoffonerrore di "open"apertura del device non riuscitaottimalepaloIl programma non ha potuto rileggere la tabella delle partizioni su %s (%s). Questo significa che Linux non sarà al corrente dei cambiamenti fatti.la lunghezza della partizione di %1$jd settori eccede quella massima di %3$jd imposta dalla tabella delle partizioni %2$sped_device_new() Tipo di device non supportatoprepprimariaCRC non corrispondente nella tabella delle partizioni primaria dell'arrayprintprint [device|free|list,all|NUMERO] Visualizza la tabella delle partizioni, i device disponibili, lo spazio libero, tutte le partizioni trovate o una particolare partizionequitquit Esce dal programmaraidcopia grezza dei blocchierrore di "read"lettura dal device non riuscitarescuerescue INIZIO FINE Ripristina una partizione persa vicino a INIZIO e FINEresizeresize NUMERO INIZIO FINE Ridimensiona la partizione NUMERO e il suo file systemrmrm NUMERO Elimina la partizione NUMEROrootricerca file systemerrore di "seek"posizionamento nel device non riuscitoselectselect DEVICE Sceglie il device da modificaresetset NUMERO FLAG STATO Modifica il FLAG sulla partizione NUMEROriduzioneriduzione del wrapper HFSriduzione del volume HFS+ integratoil numero di settori iniziali %1$jd eccede quello massimo di %3$jd imposto dalla tabella delle partizioni di %2$sswaptoggletoggle [NUMERO [FLAG]] Commuta lo stato del FLAG sulla partizione NUMEROtroppi pochi argomentitroppi argomentiunitunit UNITÀ Imposta l'unità predefinita a UNITÀversionversion Stampa la versione e le informazioni sul copyright di GNU Partederrore di scritturascrittura del "Master Directory Block" HFSscrittura del "Volume Header" HFS+scrittura dei metadati per ogni grupposcrittura sul device non riuscitaparted-2.3/po/boldquot.sed0000644000000000000000000000033111035473300012461 00000000000000s/"\([^"]*\)"/“\1â€/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“â€/""/g s/“/“/g s/â€/â€/g s/‘/‘/g s/’/’/g parted-2.3/po/da.po0000644000000000000000000032630611400005705011070 00000000000000# Danish messages for parted # Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. # Keld Simonsen , 2001-2002. # msgid "" msgstr "" "Project-Id-Version: parted 1.6.5-pre1\n" "Report-Msgid-Bugs-To: bug-parted@gnu.org\n" "POT-Creation-Date: 2010-05-28 20:30+0200\n" "PO-Revision-Date: 2003-01-17 17:09+0200\n" "Last-Translator: Keld Simonsen \n" "Language-Team: Danish \n" "Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" #: lib/argmatch.c:133 #, fuzzy, c-format msgid "invalid argument %s for %s" msgstr "Kunne ikke åbne %s." #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "" #: lib/argmatch.c:153 #, fuzzy, c-format msgid "Valid arguments are:" msgstr "Kunne ikke åbne %s." #: lib/closeout.c:112 libparted/labels/fdasd.c:107 msgid "write error" msgstr "" #: lib/error.c:181 #, fuzzy msgid "Unknown system error" msgstr "Ukendt filsystemstype '%s'." #: lib/getopt.c:527 lib/getopt.c:543 #, c-format msgid "%s: option '%s' is ambiguous\n" msgstr "" #: lib/getopt.c:576 lib/getopt.c:580 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:589 lib/getopt.c:594 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:637 lib/getopt.c:656 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "" #: lib/getopt.c:694 lib/getopt.c:697 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "Kan ikke åbne %s - ukendt filallokeringstabel." #: lib/getopt.c:705 lib/getopt.c:708 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "Kan ikke åbne %s - ukendt filallokeringstabel." #: lib/getopt.c:757 lib/getopt.c:760 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "" #: lib/getopt.c:810 lib/getopt.c:827 lib/getopt.c:1035 lib/getopt.c:1053 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "" #: lib/getopt.c:883 lib/getopt.c:899 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "" #: lib/getopt.c:923 lib/getopt.c:941 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:962 lib/getopt.c:980 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". If the catalog has no translation, #. locale_quoting_style quotes `like this', and #. clocale_quoting_style quotes "like this". #. #. For example, an American English Unicode locale should #. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and #. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION #. MARK). A British English Unicode locale should instead #. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) #. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. #. #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. #: lib/quotearg.c:272 msgid "`" msgstr "" #: lib/quotearg.c:273 msgid "'" msgstr "" #: lib/regcomp.c:134 msgid "Success" msgstr "" #: lib/regcomp.c:137 msgid "No match" msgstr "" #: lib/regcomp.c:140 msgid "Invalid regular expression" msgstr "" #: lib/regcomp.c:143 msgid "Invalid collation character" msgstr "" #: lib/regcomp.c:146 msgid "Invalid character class name" msgstr "" #: lib/regcomp.c:149 msgid "Trailing backslash" msgstr "" #: lib/regcomp.c:152 msgid "Invalid back reference" msgstr "" #: lib/regcomp.c:155 msgid "Unmatched [ or [^" msgstr "" #: lib/regcomp.c:158 msgid "Unmatched ( or \\(" msgstr "" #: lib/regcomp.c:161 msgid "Unmatched \\{" msgstr "" #: lib/regcomp.c:164 msgid "Invalid content of \\{\\}" msgstr "" #: lib/regcomp.c:167 msgid "Invalid range end" msgstr "" #: lib/regcomp.c:170 msgid "Memory exhausted" msgstr "" #: lib/regcomp.c:173 msgid "Invalid preceding regular expression" msgstr "" #: lib/regcomp.c:176 msgid "Premature end of regular expression" msgstr "" #: lib/regcomp.c:179 msgid "Regular expression too big" msgstr "" #: lib/regcomp.c:182 msgid "Unmatched ) or \\)" msgstr "" #: lib/regcomp.c:703 msgid "No previous regular expression" msgstr "" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "" #: lib/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "" #: lib/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "" #: lib/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" #: lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "" #: lib/xstrtol-error.c:63 #, fuzzy, c-format msgid "invalid %s%s argument `%s'" msgstr "Kunne ikke åbne %s." #: lib/xstrtol-error.c:68 #, fuzzy, c-format msgid "invalid suffix in %s%s argument `%s'" msgstr "Kunne ikke åbne %s." #: lib/xstrtol-error.c:72 #, fuzzy, c-format msgid "%s%s argument `%s' too large" msgstr "Kunne ikke åbne %s." #: libparted/arch/beos.c:245 msgid "Disk Image" msgstr "" #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277 #: libparted/arch/linux.c:1519 #, c-format msgid "Error opening %s: %s" msgstr "En fejl opstod da %s åbnedes: %s" #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287 #: libparted/arch/linux.c:1530 #, c-format msgid "Unable to open %s read-write (%s). %s has been opened read-only." msgstr "" "Kunne ikke åbne %s for både læsning og skrivning (%s). %s åbnedes i " "læsetilstand." #: libparted/arch/beos.c:419 libparted/arch/linux.c:1688 #, c-format msgid "%s during seek for read on %s" msgstr "%s under positionering for at læse på %s" #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564 #: libparted/arch/gnu.c:692 libparted/arch/linux.c:1648 #: libparted/arch/linux.c:1729 #, c-format msgid "%s during read on %s" msgstr "%s under læsning på %s" #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525 #: libparted/arch/linux.c:1805 #, c-format msgid "Can't write to %s, because it is opened read-only." msgstr "Kan ikke skrive til %s eftersom den kun er åbnet i læsetilstand." #: libparted/arch/beos.c:504 libparted/arch/linux.c:1830 #, c-format msgid "%s during seek for write on %s" msgstr "%s under positionering for at skrive på %s" #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646 #: libparted/arch/gnu.c:723 libparted/arch/linux.c:1778 #: libparted/arch/linux.c:1872 libparted/arch/linux.c:1944 #, c-format msgid "%s during write on %s" msgstr "%s under skrivning på %s" #: debug/clearfat/clearfat.c:62 partprobe/partprobe.c:137 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "" #: debug/clearfat/clearfat.c:66 #, c-format msgid "" "Usage: %s [OPTION]\n" " or: %s DEVICE MINOR\n" msgstr "" #: debug/clearfat/clearfat.c:69 msgid "" "Clear unused space on a FAT partition (a GNU Parted testing tool).\n" "\n" msgstr "" #: debug/clearfat/clearfat.c:73 msgid " --help display this help and exit\n" msgstr "" #: debug/clearfat/clearfat.c:74 msgid " --version output version information and exit\n" msgstr "" #: debug/clearfat/clearfat.c:76 partprobe/partprobe.c:154 #, c-format msgid "" "\n" "Report bugs to <%s>.\n" msgstr "" #: debug/clearfat/clearfat.c:284 #, c-format msgid "too few arguments" msgstr "" #: debug/clearfat/clearfat.c:289 #, fuzzy, c-format msgid "too many arguments" msgstr "For mange dårlige sider." #: debug/clearfat/clearfat.c:297 #, fuzzy, c-format msgid "invalid minor device number: %s" msgstr "Kunne ikke åbne %s." #: partprobe/partprobe.c:141 #, c-format msgid "Usage: %s [OPTION] [DEVICE]...\n" msgstr "" #: partprobe/partprobe.c:142 msgid "" "Inform the operating system about partition table changes.\n" "\n" " -d, --dry-run do not actually inform the operating system\n" " -s, --summary print a summary of contents\n" " -h, --help display this help and exit\n" " -v, --version output version information and exit\n" msgstr "" #: partprobe/partprobe.c:150 msgid "" "\n" "When no DEVICE is given, probe all partitions.\n" msgstr "" #: libparted/arch/gnu.c:110 #, c-format msgid "Unable to open %s." msgstr "Kunne ikke åbne %s." #: libparted/arch/gnu.c:130 msgid "Unable to probe store." msgstr "Kunne ikke undersøge lageret." #: libparted/arch/gnu.c:368 #, fuzzy msgid "" "The partition table cannot be re-read. This means you need to reboot before " "mounting any modified partitions. You also need to reinstall your boot " "loader before you reboot (which may require mounting modified partitions). " "It is impossible do both things! So you'll need to boot off a rescue disk, " "and reinstall your boot loader from the rescue disk. Read section 4 of the " "Parted User documentation for more information." msgstr "" "Partitionstabellen kunne ikke genindlæses, så derfor skal du starte maskine " "op igen inden du kan montere nogen ændrede partitioner. Du skal også " "geninstallere opstartsprogrammet inden du genstarter (hvilket kan indebære " "montering af ændrede partitioner). Det er umuligt at gøre begge dele! Så du " "skal starte fra en redningsdiskette og geninstallere opstartsprogrammet fra " "redningsdisketten. Læs kapitel 4 i Parteds brugermanual for mere information." #: libparted/arch/gnu.c:385 #, fuzzy, c-format msgid "" "The partition table on %s cannot be re-read (%s). This means the Hurd knows " "nothing about any modifications you made. You should reboot your computer " "before doing anything with %s." msgstr "" "partitionstabellen på %s (%s). Det betyder at Linux ikke véd noget som helst " "om de ændringer du lavede. Du bør genstarte maskinen inden du gør noget som " "helst med %s." #: libparted/arch/gnu.c:396 parted/parted.c:2719 msgid "" "You should reinstall your boot loader before rebooting. Read section 4 of " "the Parted User documentation for more information." msgstr "" "Du bør geninstallere opstartsprogrammet inden du genopstarter. Læs sektion 4 " "i Parteds brugermanual for mere information." #: libparted/arch/gnu.c:788 #, c-format msgid "%s trying to sync %s to disk" msgstr "%s prøver at synkronisere %s med disk" #: libparted/arch/linux.c:509 #, c-format msgid "Could not stat device %s - %s." msgstr "Kunne ikke tage status på enheden %s - %s." #: libparted/arch/linux.c:566 #, fuzzy, c-format msgid "Unable to determine the dm type of %s." msgstr "Kunne ikke bestemme størrelsen på %s (%s)" #: libparted/arch/linux.c:658 #, c-format msgid "" "Could not determine sector size for %s: %s.\n" "Using the default sector size (%lld)." msgstr "" #: libparted/arch/linux.c:679 #, c-format msgid "" "Could not determine physical sector size for %s.\n" "Using the logical sector size (%lld)." msgstr "" #: libparted/arch/linux.c:728 #, fuzzy, c-format msgid "Unable to determine the size of %s (%s)." msgstr "Kunne ikke bestemme størrelsen på %s (%s)" #: libparted/arch/linux.c:814 #, c-format msgid "Could not get identity of device %s - %s" msgstr "Kunne ikke finde identitet for enhed %s - %s" #: libparted/arch/linux.c:823 msgid "Generic IDE" msgstr "" #: libparted/arch/linux.c:844 #, c-format msgid "" "Device %s has multiple (%d) logical sectors per physical sector.\n" "GNU Parted supports this EXPERIMENTALLY for some special disk label/file " "system combinations, e.g. GPT and ext2/3.\n" "Please consult the web site for up-to-date information." msgstr "" #: libparted/arch/linux.c:1019 #, c-format msgid "Error initialising SCSI device %s - %s" msgstr "En fejl opstod ved initiering af SCSI-enheden %s - %s" #: libparted/arch/linux.c:1083 #, fuzzy, c-format msgid "" "The device %s has zero length, and can't possibly store a file system or " "partition table. Perhaps you selected the wrong device?" msgstr "" "Enheden %s har længden nul, og kan slet ikke indeholde et filsystem eller en " "partitionstabel. Måske har du valgt den forkerte enhed?" #: libparted/arch/linux.c:1190 #, fuzzy, c-format msgid "" "Unable to determine geometry of file/device %s. You should not use Parted " "unless you REALLY know what you're doing!" msgstr "" "Kunne ikke bestemme geometrien på filen/enheden. Du bør ikke bruge Parted " "hvis du ikke er RIGTIGT sikker på hvad du gør!" #: libparted/arch/linux.c:1250 msgid "Generic SD/MMC Storage Card" msgstr "" #: libparted/arch/linux.c:1303 msgid "DAC960 RAID controller" msgstr "Styrekort for DAC960 RAID" #: libparted/arch/linux.c:1308 msgid "Promise SX8 SATA Device" msgstr "" #: libparted/arch/linux.c:1313 msgid "ATA over Ethernet Device" msgstr "" #: libparted/arch/linux.c:1319 msgid "IBM S390 DASD drive" msgstr "" #: libparted/arch/linux.c:1325 msgid "IBM iSeries Virtual DASD" msgstr "" #: libparted/arch/linux.c:1330 msgid "Compaq Smart Array" msgstr "Compaq Smart Array" #: libparted/arch/linux.c:1335 msgid "ATARAID Controller" msgstr "Styrekort for ATARAID" #: libparted/arch/linux.c:1340 msgid "I2O Controller" msgstr "I2O-styrekort" #: libparted/arch/linux.c:1345 msgid "User-Mode Linux UBD" msgstr "" #: libparted/arch/linux.c:1358 #, c-format msgid "Linux device-mapper (%s)" msgstr "" #: libparted/arch/linux.c:1369 msgid "Xen Virtual Block Device" msgstr "" #: libparted/arch/linux.c:1374 msgid "Unknown" msgstr "Ukendt" #: libparted/arch/linux.c:1383 msgid "Virtio Block Device" msgstr "" #: libparted/arch/linux.c:1388 msgid "Linux Software RAID Array" msgstr "" #: libparted/arch/linux.c:1395 msgid "ped_device_new() Unsupported device type" msgstr "ped_device_new() Understøttelse mangler for denne enhedstype" #: libparted/arch/linux.c:1492 libparted/arch/linux.c:1564 #, fuzzy, c-format msgid "Error fsyncing/closing %s: %s" msgstr "En fejl opstod da %s åbnedes: %s" #: libparted/arch/linux.c:1728 #, c-format msgid "end of file while reading %s" msgstr "" #: libparted/arch/linux.c:2365 #, fuzzy, c-format msgid "" "Error informing the kernel about modifications to partition %s -- %s. This " "means Linux won't know about any changes you made to %s until you reboot -- " "so you shouldn't mount it or use it in any way before rebooting." msgstr "" "Fejl vel underretning af kernen om ændringer på partition %s - %s. Dette " "betyder at Linux ikke véd noget som helst om de ændringer du lavede på %s " "før du genopstarter - så du bør ikke montere den eller bruge den på nogen " "måde før du har genstartet." #: libparted/arch/linux.c:2503 #, fuzzy, c-format msgid "Unable to determine the size and length of %s." msgstr "Kunne ikke bestemme størrelsen på %s (%s)" #: libparted/arch/linux.c:2528 #, fuzzy, c-format msgid "Failed to add partition %d (%s)" msgstr "Kan ikke bestemme om partitionen er monteret." #: libparted/arch/linux.c:2555 #, c-format msgid "" "Partition(s) %s on %s have been written, but we have been unable to inform " "the kernel of the change, probably because it/they are in use. As a result, " "the old partition(s) will remain in use. You should reboot now before " "making further changes." msgstr "" #: libparted/arch/linux.c:2681 #, fuzzy, c-format msgid "" "parted was unable to re-read the partition table on %s (%s). This means " "Linux won't know anything about the modifications you made. " msgstr "" "Kernen kunne ikke genindlæse partitionstabellen på %s (%s). Det betyder at " "Linux ikke véd noget som helst om de ændringer du lavede før du " "genopstarter. Du bør genstarte maskinen inden du gør noget som helst med %s." #: libparted/cs/geom.c:162 #, fuzzy, c-format msgid "Can't have the end before the start! (start sector=%jd length=%jd)" msgstr "Kan ikke have slutningen før begyndelsen!" #: libparted/cs/geom.c:170 msgid "Can't have a partition outside the disk!" msgstr "Kan ikke have en partition udenfor disken!" #: libparted/cs/geom.c:385 #, fuzzy, c-format msgid "Attempt to write sectors %ld-%ld outside of partition on %s." msgstr "Forsøgte skrive sektorerne %ld-%ld udenfor partitionen på %s" #: libparted/cs/geom.c:425 libparted/fs/linux_swap/linux_swap.c:488 msgid "checking for bad blocks" msgstr "kontroller for dårlige blokke" #: libparted/debug.c:97 #, c-format msgid "Backtrace has %d calls on stack:\n" msgstr "" #: libparted/debug.c:110 #, c-format msgid "Assertion (%s) at %s:%d in function %s() failed." msgstr "" #: libparted/disk.c:193 #, fuzzy, c-format msgid "%s: unrecognised disk label" msgstr "Kan ikke åbne %s - ukendt filallokeringstabel." #: libparted/disk.c:486 #, c-format msgid "" "This libparted doesn't have write support for %s. Perhaps it was compiled " "read-only." msgstr "" "Denne libparted har ikke skriveunderstøttelse for %s. Måske var den oversat " "skrivebeskyttet." #: libparted/disk.c:631 #, fuzzy, c-format msgid "Partition %d is %s, but the file system is %s." msgstr "Partition %d er %.3fMb, men filsystemet er %.3fMb." #: libparted/disk.c:841 msgid "cylinder_alignment" msgstr "" #: libparted/disk.c:847 #, fuzzy, c-format msgid "Unknown disk flag, %d." msgstr "Ukendt partitionsflag, %d." #: libparted/disk.c:1286 #, c-format msgid "%s disk labels do not support extended partitions." msgstr "Filallokeringstabeller for %s understøtter ikke udvidede partitioner." #: libparted/disk.c:1865 #, c-format msgid "%s disk labels don't support logical or extended partitions." msgstr "" "Filallokeringstabeller for %s understøtter ikke logiske eller udvidede " "partitioner." #: libparted/disk.c:1878 #, fuzzy msgid "Too many primary partitions." msgstr "For mange primære partitioner" #: libparted/disk.c:1887 #, c-format msgid "" "Can't add a logical partition to %s, because there is no extended partition." msgstr "" "Kan ikke tilføje en logisk partition til %s, da der mangler en udvidet " "partition." #: libparted/disk.c:1911 #, fuzzy, c-format msgid "Can't have more than one extended partition on %s." msgstr "Kan ikke have mere end én udvidet partition på %s" #: libparted/disk.c:1921 msgid "Can't have logical partitions outside of the extended partition." msgstr "Kan ikke have logiske partitioner udenfor den udvidede partition." #: libparted/disk.c:1946 #, c-format msgid "Can't have a logical partition outside of the extended partition on %s." msgstr "" "Kan ikke have en logisk partition udenfor den udvidede partition på %s." #: libparted/disk.c:1956 libparted/disk.c:2015 libparted/disk.c:2193 #, fuzzy msgid "Can't have overlapping partitions." msgstr "Kan ikke have overlappende partitioner." #: libparted/disk.c:1964 msgid "Can't have a primary partition inside an extended partition." msgstr "Kan ikke have en primær partition inden i en udvidet partition." #: libparted/disk.c:2395 msgid "metadata" msgstr "metadata" #: libparted/disk.c:2397 msgid "free" msgstr "ledigt" #: libparted/disk.c:2399 parted/ui.c:1193 parted/ui.c:1221 msgid "extended" msgstr "udvidet" #: libparted/disk.c:2401 parted/ui.c:1197 parted/ui.c:1225 msgid "logical" msgstr "logisk" #: libparted/disk.c:2403 parted/ui.c:1189 parted/ui.c:1217 msgid "primary" msgstr "primær" #: libparted/disk.c:2419 msgid "boot" msgstr "start" #: libparted/disk.c:2421 msgid "bios_grub" msgstr "" #: libparted/disk.c:2423 msgid "root" msgstr "rod" #: libparted/disk.c:2425 msgid "swap" msgstr "swapplads" #: libparted/disk.c:2427 msgid "hidden" msgstr "skjult" #: libparted/disk.c:2429 msgid "raid" msgstr "raid" #: libparted/disk.c:2431 msgid "lvm" msgstr "lvm" #: libparted/disk.c:2433 msgid "lba" msgstr "lba" #: libparted/disk.c:2435 msgid "hp-service" msgstr "hp-service" #: libparted/disk.c:2437 msgid "palo" msgstr "" #: libparted/disk.c:2439 msgid "prep" msgstr "" #: libparted/disk.c:2441 msgid "msftres" msgstr "" #: libparted/disk.c:2443 msgid "atvrecv" msgstr "" #: libparted/disk.c:2445 msgid "diag" msgstr "" #: libparted/disk.c:2451 #, fuzzy, c-format msgid "Unknown partition flag, %d." msgstr "Ukendt partitionsflag, %d." #: libparted/exception.c:77 msgid "Information" msgstr "Information" #: libparted/exception.c:78 msgid "Warning" msgstr "Advarsel" #: libparted/exception.c:79 msgid "Error" msgstr "Fejl" #: libparted/exception.c:80 msgid "Fatal" msgstr "Fatal" #: libparted/exception.c:81 msgid "Bug" msgstr "Programfejl" #: libparted/exception.c:82 msgid "No Implementation" msgstr "Ikke implementeret" #: libparted/exception.c:86 msgid "Fix" msgstr "Reparér" #: libparted/exception.c:87 msgid "Yes" msgstr "Ja" #: libparted/exception.c:88 msgid "No" msgstr "Nej" #: libparted/exception.c:89 msgid "OK" msgstr "OK" #: libparted/exception.c:90 msgid "Retry" msgstr "Forsøg igen" #: libparted/exception.c:91 msgid "Ignore" msgstr "Ignorér" #: libparted/exception.c:92 msgid "Cancel" msgstr "Annullér" #: libparted/exception.c:132 #, fuzzy, c-format msgid "" "A bug has been detected in GNU Parted. Refer to the web site of parted " "http://www.gnu.org/software/parted/parted.html for more information of what " "could be useful for bug submitting! Please email a bug report to bug-" "parted@gnu.org containing at least the version (%s) and the following " "message: " msgstr "" "Send en fejlrapport med e-post til bug-parted@gnu.org, hvor du angiver " "versionsnumret (%s) og følgende meddelelse:" #: libparted/filesys.c:462 msgid "Could not detect file system." msgstr "Kunne ikke finde noget filsystem." #: libparted/filesys.c:473 #, fuzzy msgid "The file system is bigger than its volume!" msgstr "Filsystemet er større end dets plads på diskdrevet!" #: libparted/filesys.c:481 #, c-format msgid "Support for opening %s file systems is not implemented yet." msgstr "" "Understøttelse for at åbne filsystemer af type %s er ikke implementeret " "endnu." #: libparted/filesys.c:523 #, c-format msgid "Support for creating %s file systems is not implemented yet." msgstr "" "Understøttelse for at oprette filsystemer af type %s er ikke implementeret " "endnu." #: libparted/filesys.c:583 #, c-format msgid "Support for checking %s file systems is not implemented yet." msgstr "" "Understøttelse for at kontrollere filsystemer af type %s er ikke " "implementeret endnu." #: libparted/filesys.c:649 msgid "raw block copying" msgstr "kopiering af rå blokke" #: libparted/filesys.c:660 msgid "growing file system" msgstr "udvider filsystem" #: libparted/filesys.c:700 msgid "Can't copy onto an overlapping partition." msgstr "Kan ikke kopiere til en overlappende partition." #: libparted/filesys.c:722 #, fuzzy, c-format msgid "" "Direct support for copying file systems is not yet implemented for %s. " "However, support for resizing is implemented. Therefore, the file system " "can be copied if the new partition is at least as big as the old one. So, " "either shrink the partition you are trying to copy, or copy to a bigger " "partition." msgstr "" "Direkte understøttelse for at kopiere filsystemer af typen %s er ikke " "implementeret endnu. Understøttelse for at ændre størrelse findes dog. " "Derfor kan filsystemet kopieres hvis den nye partition er mindst lige så " "stor som den gamle. Så enten skal du formindske partitionen som du forsøger " "kopiere, eller også kopierer du til en større partition." #: libparted/filesys.c:736 #, c-format msgid "Support for copying %s file systems is not implemented yet." msgstr "" "Understøttelse for at kopiere filsystemer af type %s er ikke implementeret " "endnu." #: libparted/filesys.c:774 #, c-format msgid "Support for resizing %s file systems is not implemented yet." msgstr "" "Understøttelse for at ændre størrelse på filsystem af type %s er ikke " "implementeret endnu." #: libparted/fs/reiserfs/reiserfs.c:315 msgid "creating" msgstr "" #: libparted/fs/reiserfs/reiserfs.c:402 #, fuzzy msgid "The file system is in an invalid state. Perhaps it is mounted?" msgstr "Filsystemet har en ugyldig signatur for filsystemer af typen FAT." #: libparted/fs/reiserfs/reiserfs.c:410 msgid "The file system is in old (unresizeable) format." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:416 msgid "Invalid free blocks count. Run reiserfsck --check first." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:431 #, fuzzy msgid "checking" msgstr "tjek" #: libparted/fs/reiserfs/reiserfs.c:437 msgid "Reiserfs tree seems to be corrupted. Run reiserfsck --check first." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:449 #, fuzzy msgid "" "The reiserfs file system passed a basic check. For a more comprehensive " "check, run reiserfsck --check." msgstr "" "Filsystemet (e2fs) klarede et grundlæggende test. For et mere gennemgående " "test, brug programmet e2fsck." #: libparted/fs/reiserfs/reiserfs.c:474 #, fuzzy msgid "Sorry, can't move the start of reiserfs partitions yet." msgstr "Kan ikke flytte en ext2-partitions begyndelse endnu!" #: libparted/fs/reiserfs/reiserfs.c:490 msgid "Couldn't reopen device abstraction layer for read/write." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:508 libparted/fs/ext2/ext2_resize.c:552 #: libparted/fs/hfs/hfs.c:250 libparted/fs/hfs/hfs.c:629 msgid "shrinking" msgstr "krymper" #: libparted/fs/reiserfs/reiserfs.c:520 #, fuzzy msgid "expanding" msgstr "Advarsel" #: libparted/fs/reiserfs/reiserfs.c:592 msgid "Couldn't create reiserfs device abstraction handler." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:606 #, fuzzy, c-format msgid "Device is too small for %lu blocks." msgstr "Filsystem for lille til ext2." #: libparted/fs/reiserfs/reiserfs.c:615 msgid "copying" msgstr "" #: libparted/fs/reiserfs/reiserfs.c:682 #, c-format msgid "Couldn't resolve symbol %s. Error: %s." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:704 msgid "GNU Parted found an invalid libreiserfs library." msgstr "" #: libparted/fs/reiserfs/reiserfs.c:715 #, c-format msgid "" "GNU Parted has detected libreiserfs interface version mismatch. Found %d-" "%d, required %d. ReiserFS support will be disabled." msgstr "" #: libparted/labels/aix.c:103 #, fuzzy msgid "Support for reading AIX disk labels is is not implemented yet." msgstr "" "Understøttelse for at oprette filsystemer af type %s er ikke implementeret " "endnu." #: libparted/labels/aix.c:114 #, fuzzy msgid "Support for writing AIX disk labels is is not implemented yet." msgstr "" "Understøttelse for at oprette filsystemer af type %s er ikke implementeret " "endnu." #: libparted/labels/aix.c:127 #, fuzzy msgid "" "Support for adding partitions to AIX disk labels is not implemented yet." msgstr "" "Understøttelse for at oprette filsystemer af type %s er ikke implementeret " "endnu." #: libparted/labels/aix.c:137 #, fuzzy msgid "" "Support for duplicating partitions in AIX disk labels is not implemented yet." msgstr "" "Understøttelse for at oprette filsystemer af type %s er ikke implementeret " "endnu." #: libparted/labels/aix.c:155 #, fuzzy msgid "" "Support for setting system type of partitions in AIX disk labels is not " "implemented yet." msgstr "" "Understøttelse for at oprette filsystemer af type %s er ikke implementeret " "endnu." #: libparted/labels/aix.c:165 #, fuzzy msgid "Support for setting flags in AIX disk labels is not implemented yet." msgstr "" "Understøttelse for at oprette filsystemer af type %s er ikke implementeret " "endnu." #: libparted/labels/bsd.c:568 libparted/labels/dasd.c:783 #: libparted/labels/dos.c:2092 libparted/labels/dvh.c:788 #: libparted/labels/gpt.c:1750 libparted/labels/loop.c:245 #: libparted/labels/mac.c:1424 libparted/labels/pc98.c:749 #: libparted/labels/rdb.c:1051 libparted/labels/sun.c:821 msgid "Unable to satisfy all constraints on the partition." msgstr "Kunne ikke opfylde alle begrænsninger på partitionen." #: libparted/labels/bsd.c:593 #, fuzzy msgid "Unable to allocate a bsd disklabel slot." msgstr "Kan ikke tildele en plads til bsd-disketikette" #: libparted/labels/dasd.c:809 #, fuzzy msgid "Unable to allocate a dasd disklabel slot" msgstr "Kan ikke tildele en plads til bsd-disketikette" #: libparted/labels/dos.c:882 #, fuzzy, c-format msgid "Invalid partition table on %s -- wrong signature %x." msgstr "Ugyldig partitionstabel på %s - fejlagtig signatur %x" #: libparted/labels/dos.c:910 #, c-format msgid "Invalid partition table - recursive partition on %s." msgstr "Ugyldig partitionstabel - rekursiv partition på %s." #: libparted/labels/dos.c:1420 #, fuzzy msgid "Extended partitions cannot be hidden on msdos disk labels." msgstr "Ext2-partitioner kan ikke gemmes i filsystemer af typen msdos." #: libparted/labels/dos.c:2074 msgid "Parted can't resize partitions managed by Windows Dynamic Disk." msgstr "" #: libparted/labels/dvh.c:201 #, fuzzy, c-format msgid "%s has no extended partition (volume header partition)." msgstr "" "%s har ingen udvidet partition (bindhoved-partition). Hvis du ignorerer " "dette vil alle opstarts-bind blive slettet." #: libparted/labels/dvh.c:327 msgid "Checksum is wrong, indicating the partition table is corrupt." msgstr "" "Tjeksummen er forkert, og det tyder på at partitionstabellen er ødelagt." #: libparted/labels/dvh.c:632 msgid "Only primary partitions can be root partitions." msgstr "Kun primære partitioner kan være rod-partitioner." #: libparted/labels/dvh.c:646 msgid "Only primary partitions can be swap partitions." msgstr "Kun primære partitioner kan være swap-partitioner." #: libparted/labels/dvh.c:660 msgid "Only logical partitions can be a boot file." msgstr "Kun logiske partitioner kan være en opstatsfil." #: libparted/labels/dvh.c:737 #, fuzzy, c-format msgid "" "failed to set dvh partition name to %s:\n" "Only logical partitions (boot files) have a name." msgstr "Kun logiske partitioner (opstartsfiler) har et navn." #: libparted/labels/dvh.c:830 msgid "Too many primary partitions" msgstr "For mange primære partitioner" #: libparted/labels/fdasd.c:98 msgid "open error" msgstr "" #: libparted/labels/fdasd.c:101 msgid "seek error" msgstr "" #: libparted/labels/fdasd.c:104 msgid "read error" msgstr "" #: libparted/labels/fdasd.c:110 msgid "ioctl() error" msgstr "" #: libparted/labels/fdasd.c:114 msgid "API version mismatch" msgstr "" #: libparted/labels/fdasd.c:118 #, fuzzy msgid "Unsupported disk type" msgstr "ped_device_new() Understøttelse mangler for denne enhedstype" #: libparted/labels/fdasd.c:122 msgid "Unsupported disk format" msgstr "" #: libparted/labels/fdasd.c:126 msgid "Disk is in use" msgstr "" #: libparted/labels/fdasd.c:130 msgid "Syntax error in config file" msgstr "" #: libparted/labels/fdasd.c:134 msgid "Volume label is corrupted" msgstr "" #: libparted/labels/fdasd.c:138 msgid "A data set name is corrupted" msgstr "" #: libparted/labels/fdasd.c:142 msgid "Memory allocation failed" msgstr "" #: libparted/labels/fdasd.c:146 msgid "Device verification failed" msgstr "" #: libparted/labels/fdasd.c:147 msgid "The specified device is not a valid DASD device" msgstr "" #: libparted/labels/fdasd.c:150 libparted/labels/vtoc.c:179 #, fuzzy msgid "Fatal error" msgstr "Fatal" #: libparted/labels/fdasd.c:226 msgid "No room for volume label." msgstr "" #: libparted/labels/fdasd.c:234 #, fuzzy msgid "No room for partition info." msgstr "Ingen gyldig partitionstabel kunne findes." #: libparted/labels/fdasd.c:704 msgid "Invalid VTOC." msgstr "" #: libparted/labels/fdasd.c:764 msgid "Could not retrieve API version." msgstr "" #: libparted/labels/fdasd.c:767 #, c-format msgid "" "The current API version '%d' doesn't match dasd driver API version '%d'!" msgstr "" #: libparted/labels/fdasd.c:804 #, fuzzy msgid "Could not retrieve disk geometry information." msgstr "Kunne ikke læse geometrien på %s - %s." #: libparted/labels/fdasd.c:808 msgid "Could not retrieve blocksize information." msgstr "" #: libparted/labels/fdasd.c:813 msgid "Could not retrieve disk information." msgstr "" #: libparted/labels/fdasd.c:818 msgid "This is not an ECKD disk! This disk type is not supported!" msgstr "" #: libparted/labels/gpt.c:485 #, fuzzy, c-format msgid "" "%s contains GPT signatures, indicating that it has a GPT table. However, it " "does not have a valid fake msdos partition table, as it should. Perhaps it " "was corrupted -- possibly by a program that doesn't understand GPT partition " "tables. Or perhaps you deleted the GPT table, and are now using an msdos " "partition table. Is this a GPT partition table?" msgstr "" "%s indeholder GPT-signaturer, der tyder på at den har en GPT-tabel. " "Imidlertid har den ikke en gyldig falsk msdos-partitionstabel som den burde. " "Måske er den ødelagt - muligvis af et program der ikke forstår GPT-" "partitionstabeller. Eller måske slettede du GPT-tabellen, og bruger nu en " "msdos-partitionstabel. Er dette en GPT-tabel?" #: libparted/labels/gpt.c:680 #, fuzzy, c-format msgid "" "The format of the GPT partition table is version %x, which is newer than " "what Parted can recognise. Please tell us! bug-parted@gnu.org" msgstr "" "Formatet på GPT-partitionstabellen er nyere end hvad Parted kan genkende. " "Fortæl os om det! bug-parted@gnu.org" #: libparted/labels/gpt.c:727 #, c-format msgid "" "Not all of the space available to %s appears to be used, you can fix the GPT " "to use all of the space (an extra %llu blocks) or continue with the current " "setting? " msgstr "" #: libparted/labels/gpt.c:936 msgid "" "The backup GPT table is not at the end of the disk, as it should be. This " "might mean that another operating system believes the disk is smaller. Fix, " "by moving the backup to the end (and removing the old backup)?" msgstr "" "Sikkerhedskopien af GPT-tabellen er ikke i slutningen af disken, som den " "burde være. Dette kan betyde at et andet styresystem tror disken er mindre. " "Skal det rettes ved at flytte sikkerhedskopien til slutningen (og fjerne den " "gamle sikkerhedskopi)?" #: libparted/labels/gpt.c:960 #, fuzzy msgid "" "Both the primary and backup GPT tables are corrupt. Try making a fresh " "table, and using Parted's rescue feature to recover partitions." msgstr "" "Både den primære GPT-tabel og sikkerhedskopien er ødelagt. Prøv at lave en " "frisk tabel, og at genskabe partitioner med Parteds redningsfacilitet." #: libparted/labels/gpt.c:971 #, fuzzy msgid "" "The backup GPT table is corrupt, but the primary appears OK, so that will be " "used." msgstr "" "Den primære GPT-tabel er ødelagt, men sikkerhedskopien ser ud til at være i " "orden, så den vil blive brugt." #: libparted/labels/gpt.c:983 #, fuzzy msgid "" "The primary GPT table is corrupt, but the backup appears OK, so that will be " "used." msgstr "" "Den primære GPT-tabel er ødelagt, men sikkerhedskopien ser ud til at være i " "orden, så den vil blive brugt." #: libparted/labels/gpt.c:1007 msgid "primary partition table array CRC mismatch" msgstr "" #: libparted/labels/mac.c:185 #, c-format msgid "Invalid signature %x for Mac disk labels." msgstr "Ugyldig signatur %x for en filallokeringstabel for Mac." #: libparted/labels/mac.c:232 msgid "Partition map has no partition map entry!" msgstr "Partitionstabellen mangler oplysninger om sig selv!" #: libparted/labels/mac.c:280 #, c-format msgid "%s is too small for a Mac disk label!" msgstr "%s er for lille for en filallokeringstabel for Mac!" #: libparted/labels/mac.c:509 #, c-format msgid "Partition %d has an invalid signature %x." msgstr "Partition %d har en ugyldig signatur %x." #: libparted/labels/mac.c:527 #, c-format msgid "Partition %d has an invalid length of 0 bytes!" msgstr "Partition %d har en ugyldig længde, 0 byte!" #: libparted/labels/mac.c:558 #, fuzzy msgid "The data region doesn't start at the start of the partition." msgstr "Dataområdet begynder ikke ved partitionens begyndelse" #: libparted/labels/mac.c:575 #, fuzzy msgid "The boot region doesn't start at the start of the partition." msgstr "Startområdet begynder ikke ved partitionens begyndelse" #: libparted/labels/mac.c:589 msgid "The partition's boot region doesn't occupy the entire partition." msgstr "Partitionens startområde optager ikke hele partitionens plads." #: libparted/labels/mac.c:600 msgid "The partition's data region doesn't occupy the entire partition." msgstr "Partitionens dataområde optager ikke hele partitionens plads." #: libparted/labels/mac.c:653 #, c-format msgid "" "Weird block size on device descriptor: %d bytes is not divisible by 512." msgstr "" "Mærkelig blokstørrelse på enhedens beskriver: %d byte er ikke helt delbart " "med 512." #: libparted/labels/mac.c:666 #, c-format msgid "" "The driver descriptor says the physical block size is %d bytes, but Linux " "says it is %d bytes." msgstr "" "Enhedens beskriver påstår at den fysiske blokstørrelse er %d byte, men Linux " "påstår at den er %d byte." #: libparted/labels/mac.c:720 msgid "No valid partition map found." msgstr "Ingen gyldig partitionstabel kunne findes." #: libparted/labels/mac.c:782 #, fuzzy, c-format msgid "" "Conflicting partition map entry sizes! Entry 1 says it is %d, but entry %d " "says it is %d!" msgstr "" "Konfliktende størrelsesdata i partitionstabellen! Post 1 påstår den er %d, " "mens post %d påstår den er %d!" #: libparted/labels/mac.c:809 #, fuzzy msgid "Weird! There are 2 partitions map entries!" msgstr "Mærkeligt - 2 poster i partitionstabellen!" #: libparted/labels/mac.c:1355 msgid "" "Changing the name of a root or swap partition will prevent Linux from " "recognising it as such." msgstr "" "At ændre navnet på en rod- eller swappartition gør at Linux ikke kan " "genkende dem." #: libparted/labels/mac.c:1459 #, fuzzy msgid "Can't add another partition -- the partition map is too small!" msgstr "" "Kan ikke tilføje endnu en primær partition - partitionstabellen er for lille." #: libparted/labels/pc98.c:331 #, fuzzy, c-format msgid "Invalid partition table on %s." msgstr "Ugyldig partitionstabel på %s" #: libparted/labels/pc98.c:384 libparted/labels/pc98.c:462 #, fuzzy, c-format msgid "" "Partition %d isn't aligned to cylinder boundaries. This is still " "unsupported." msgstr "" "Partitionen %d ligger ikke på hel cylindergrænse. Skal tilføje " "understøttelse for dette." #: libparted/labels/pc98.c:781 msgid "Can't add another partition." msgstr "Kan ikke tilføje endnu en partition." #: libparted/labels/pt-tools.c:125 #, c-format msgid "" "partition length of %jd sectors exceeds the %s-partition-table-imposed " "maximum of %jd" msgstr "" #: libparted/labels/pt-tools.c:138 #, c-format msgid "" "starting sector number, %jd exceeds the %s-partition-table-imposed maximum " "of %jd" msgstr "" #: libparted/labels/rdb.c:170 #, c-format msgid "%s : Bad checksum on block %llu of type %s." msgstr "" #: libparted/labels/rdb.c:486 #, c-format msgid "%s : Didn't find rdb block, should never happen." msgstr "" #: libparted/labels/rdb.c:572 #, c-format msgid "%s : Loop detected at block %d." msgstr "" #: libparted/labels/rdb.c:591 #, c-format msgid "%s : The %s list seems bad at block %s." msgstr "" #: libparted/labels/rdb.c:690 #, c-format msgid "%s : Failed to list bad blocks." msgstr "" #: libparted/labels/rdb.c:698 #, c-format msgid "%s : Failed to list partition blocks." msgstr "" #: libparted/labels/rdb.c:706 #, c-format msgid "%s : Failed to list file system blocks." msgstr "" #: libparted/labels/rdb.c:714 #, c-format msgid "%s : Failed to list boot blocks." msgstr "" #: libparted/labels/rdb.c:741 #, fuzzy, c-format msgid "Failed to write partition block at %d." msgstr "Kan ikke bestemme om partitionen er monteret." #: libparted/labels/rdb.c:1079 #, fuzzy msgid "Unable to allocate a partition number." msgstr "Forventer et partitionsnummer." #: libparted/labels/sun.c:163 msgid "Corrupted Sun disk label detected." msgstr "En beskadiget Sun disk-etikette blev fundet." #: libparted/labels/sun.c:316 #, fuzzy, c-format msgid "" "The disk CHS geometry (%d,%d,%d) reported by the operating system does not " "match the geometry stored on the disk label (%d,%d,%d)." msgstr "" "Disk CHS-geometrien (%d,%d,%d) passer ikke med geometrien gemt på disk-" "etiketten (%d,%d,%d)." #: libparted/labels/sun.c:338 #, c-format msgid "The disk label describes a disk bigger than %s." msgstr "Disk-etiketten beskriver en disk større end %s." #: libparted/labels/sun.c:510 #, c-format msgid "The disk has %d cylinders, which is greater than the maximum of 65536." msgstr "" #: libparted/labels/sun.c:853 msgid "" "The Whole Disk partition is the only available one left. Generally, it is " "not a good idea to overwrite this partition with a real one. Solaris may " "not be able to boot without it, and SILO (the sparc boot loader) appreciates " "it as well." msgstr "" "Hele disk-partitionen er den eneste tilbageværende, der er tilgængelig. " "Generelt er det ikke en god idé at overskrive denne partition med en rigtig " "én. Solaris vil muligvis ikke kunne starte op uden den, og SILO " "(opstartsprogrammet for Sparc) sætter også pris på den." #: libparted/labels/sun.c:868 msgid "Sun disk label is full." msgstr "Sun disk-etikette er fuld." #: libparted/labels/vtoc.c:164 msgid "opening of device failed" msgstr "" #: libparted/labels/vtoc.c:168 msgid "seeking on device failed" msgstr "" #: libparted/labels/vtoc.c:172 msgid "writing to device failed" msgstr "" #: libparted/labels/vtoc.c:176 msgid "reading from device failed" msgstr "" #: libparted/labels/vtoc.c:277 libparted/labels/vtoc.c:284 #, fuzzy msgid "Could not read volume label." msgstr "Kunne ikke læse geometrien på %s - %s." #: libparted/labels/vtoc.c:303 libparted/labels/vtoc.c:308 #, fuzzy msgid "Could not write volume label." msgstr "Kunne ikke finde noget filsystem." #: libparted/labels/vtoc.c:414 msgid "Could not read VTOC labels." msgstr "" #: libparted/labels/vtoc.c:420 msgid "Could not read VTOC FMT1 DSCB." msgstr "" #: libparted/labels/vtoc.c:427 msgid "Could not read VTOC FMT4 DSCB." msgstr "" #: libparted/labels/vtoc.c:434 msgid "Could not read VTOC FMT5 DSCB." msgstr "" #: libparted/labels/vtoc.c:441 msgid "Could not read VTOC FMT7 DSCB." msgstr "" #: libparted/labels/vtoc.c:461 msgid "Could not write VTOC labels." msgstr "" #: libparted/labels/vtoc.c:467 msgid "Could not write VTOC FMT1 DSCB." msgstr "" #: libparted/labels/vtoc.c:474 msgid "Could not write VTOC FMT4 DSCB." msgstr "" #: libparted/labels/vtoc.c:481 msgid "Could not write VTOC FMT5 DSCB." msgstr "" #: libparted/labels/vtoc.c:488 msgid "Could not write VTOC FMT7 DSCB." msgstr "" #: libparted/libparted.c:237 libparted/libparted.c:252 msgid "Out of memory." msgstr "Ikke mere hukommelse." #: libparted/unit.c:138 msgid "Cannot get unit size for special unit 'COMPACT'." msgstr "" #: libparted/unit.c:384 #, c-format msgid "\"%s\" has invalid syntax for locations." msgstr "" #: libparted/unit.c:392 #, c-format msgid "The maximum head value is %d." msgstr "" #: libparted/unit.c:399 #, c-format msgid "The maximum sector value is %d." msgstr "" #: libparted/unit.c:411 libparted/unit.c:543 #, fuzzy, c-format msgid "The location %s is outside of the device %s." msgstr "Kan ikke oprette en partition udenfor enheden." #: libparted/unit.c:525 msgid "Invalid number." msgstr "" #: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:56 #: libparted/fs/amiga/asfs.c:70 #, c-format msgid "%s : Failed to allocate partition block\n" msgstr "" #: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:69 #: libparted/fs/amiga/asfs.c:82 #, c-format msgid "%s : Failed to allocate block\n" msgstr "" #: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:74 #, c-format msgid "%s : Couldn't read boot block %llu\n" msgstr "" #: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:85 #: libparted/fs/amiga/asfs.c:88 libparted/fs/amiga/asfs.c:102 #, c-format msgid "%s : Couldn't read root block %llu\n" msgstr "" #: libparted/fs/amiga/amiga.c:72 #, c-format msgid "%s : Failed to allocate id list element\n" msgstr "" #: libparted/fs/amiga/amiga.c:189 #, c-format msgid "%s : Couldn't read block %llu\n" msgstr "" #: libparted/fs/amiga/amiga.c:202 #, c-format msgid "%s : Bad checksum on block %llu of type %s\n" msgstr "" #: libparted/fs/amiga/amiga.c:212 #, fuzzy, c-format msgid "%s : Couldn't write block %d\n" msgstr "%s under skrivning på %s" #: libparted/fs/amiga/amiga.c:278 #, c-format msgid "%s : Failed to allocate disk_specific rdb block\n" msgstr "" #: libparted/fs/amiga/amiga.c:289 #, c-format msgid "%s : Didn't find rdb block, should never happen\n" msgstr "" #: libparted/fs/amiga/amiga.c:318 #, c-format msgid "%s : Failed to read partition block %llu\n" msgstr "" #: libparted/fs/ext2/ext2.c:87 libparted/fs/ext2/ext2.c:112 msgid "Inconsistent group descriptors!" msgstr "Inkonsistente gruppebeskrivere!" #: libparted/fs/ext2/ext2.c:91 libparted/fs/ext2/ext2.c:116 #, fuzzy msgid "File system full!" msgstr "Filsystemet er fuldt!" #: libparted/fs/ext2/ext2.c:686 #, fuzzy msgid "Invalid superblock. Are you sure this is an ext2 file system?" msgstr "Ugyldig superblok. Er du sikker på at dette er et ext2-filsystem?" #: libparted/fs/ext2/ext2.c:700 libparted/fs/ext2/ext2_resize.c:658 #, fuzzy msgid "File system has errors! You should run e2fsck." msgstr "Filsystemet indholder fejl! Kør e2fsck først." #: libparted/fs/ext2/ext2.c:711 #, fuzzy msgid "" "File system was not cleanly unmounted! You should run e2fsck. Modifying an " "unclean file system could cause severe corruption." msgstr "Filsystemet er ikke afmonteret på rette måde! Brug e2fsck." #: libparted/fs/ext2/ext2.c:731 msgid "" "File system has an incompatible feature enabled. Compatible features are " "has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs " "or debugfs to remove features." msgstr "" #: libparted/fs/ext2/ext2.c:745 msgid "Error allocating buffer cache." msgstr "Kunne ikke reservere buffercache" #: libparted/fs/ext2/ext2_inode_relocator.c:114 #, fuzzy msgid "" "Found an inode with a incorrect link count. Better go run e2fsck first!" msgstr "Fandt en inode med fejlagtigt antal lænker. Kør e2fsck først." #: libparted/fs/ext2/ext2_inode_relocator.c:487 msgid "Not enough free inodes!" msgstr "Der findes ikke tilstrækkeligt mange frie inoder!" #: libparted/fs/ext2/ext2_resize.c:223 #, fuzzy msgid "File system is too full to remove a group!" msgstr "Filsystemet er for optaget til at fjerne en gruppe!" #: libparted/fs/ext2/ext2_resize.c:232 #, fuzzy msgid "File system has too many allocated inodes to remove a group!" msgstr "Filsystemet har for mange reserverede inoder for at fjerne en gruppe!" #: libparted/fs/ext2/ext2_resize.c:491 msgid "adding groups" msgstr "tilføjer grupper" #: libparted/fs/ext2/ext2_resize.c:528 #, fuzzy, c-format msgid "Your file system is too full to resize it to %i blocks. Sorry." msgstr "Filsystemet er for optaget til at ændre dets størrelse til %i blokke." #: libparted/fs/ext2/ext2_resize.c:538 #, fuzzy, c-format msgid "" "Your file system has too many occupied inodes to resize it to %i blocks. " "Sorry." msgstr "" "Filsystemet har for mange optagede inoder til at ændre dets størrelse til %i " "blokke." #: libparted/fs/ext2/ext2_resize.c:666 #, fuzzy msgid "File system was not cleanly unmounted! You should run e2fsck." msgstr "Filsystemet er ikke afmonteret på rette måde! Brug e2fsck." #: libparted/fs/ext2/ext2_resize.c:675 msgid "" "The file system has the 'dir_index' feature enabled. Parted can only resize " "the file system if it disables this feature. You can enable it later by " "running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'." msgstr "" #: libparted/fs/ext2/ext2_resize.c:691 msgid "" "A resize operation on this file system will use EXPERIMENTAL code\n" "that MAY CORRUPT it (although no one has reported any such damage yet).\n" "You should at least backup your data first, and run 'e2fsck -f' afterwards." msgstr "" #: libparted/fs/ext2/ext2_block_relocator.c:198 #, fuzzy msgid "Cross-linked blocks found! Better go run e2fsck first!" msgstr "Krydslænkede blokke fundet! Kør e2fsck først!" #: libparted/fs/ext2/ext2_block_relocator.c:537 #, fuzzy, c-format msgid "Block %i has no reference? Weird." msgstr "Blok %i har ingen reference? Mærkeligt" #: libparted/fs/ext2/ext2_block_relocator.c:738 #, fuzzy, c-format msgid "Block %i shouldn't have been marked (%d, %d)!" msgstr "Blok %i burde ikke være mærket!" #: libparted/fs/ext2/interface.c:226 #, fuzzy msgid "" "The ext2 file system passed a basic check. For a more comprehensive check, " "use the e2fsck program." msgstr "" "Filsystemet (e2fs) klarede et grundlæggende test. For et mere gennemgående " "test, brug programmet e2fsck." #: libparted/fs/ext2/interface.c:243 msgid "Sorry, can't move the start of ext2 partitions yet!" msgstr "Kan ikke flytte en ext2-partitions begyndelse endnu!" #: libparted/fs/ext2/ext2_buffer.c:82 msgid "Couldn't flush buffer cache!" msgstr "Kunne ikke rense buffercachen!" #: libparted/fs/ext2/ext2_mkfs.c:161 msgid "writing per-group metadata" msgstr "skriver metadata for hver gruppe" #: libparted/fs/ext2/ext2_mkfs.c:597 msgid "File system too small for ext2." msgstr "Filsystem for lille til ext2." #: libparted/fs/fat/calc.c:135 #, fuzzy, c-format msgid "" "You need %s of free disk space to shrink this partition to this size. " "Currently, only %s is free." msgstr "" "Du behøver %dM ledig plads for at formindske størrelsen på denne partition " "til angiven størrelse. (der er kun %dM ledigt)" #: libparted/fs/fat/context.c:56 #, c-format msgid "" "Cluster start delta = %d, which is not a multiple of the cluster size %d." msgstr "" "Klynge-startforskel er %d, hvilket ikke er en multipel af klyngestørrelsen %d" #: libparted/fs/fat/fat.c:310 #, fuzzy, c-format msgid "Partition too big/small for a %s file system." msgstr "Partitionen for stor eller lille til at indeholde et %s-filsystem" #: libparted/fs/fat/fat.c:476 msgid "" "The FATs don't match. If you don't know what this means, then select " "cancel, run scandisk on the file system, and then come back." msgstr "" "Filallokeringstabellerne stemmer ikke overens. Hvis du ikke véd hvad dette " "betyder, vælg annullér, kør scandisk på filsystemet og forsøg igen." #: libparted/fs/fat/fat.c:516 msgid "There are no possible configurations for this FAT type." msgstr "Det findes ingen mulige kombinationer for denne FAT-type." #: libparted/fs/fat/fat.c:528 #, c-format msgid "" "File system doesn't have expected sizes for Windows to like it. Cluster " "size is %dk (%dk expected); number of clusters is %d (%d expected); size of " "FATs is %d sectors (%d expected)." msgstr "" "Filsystemet har ikke en størrelse som Windows kan lide. Klyngestørrelsen er " "%dk (%dk forventet); antal klynger er %d (%d forventet); størrelsen på FAT-" "erne er %d sektorer (%d forventet)." #: libparted/fs/fat/fat.c:551 #, c-format msgid "" "File system is reporting the free space as %d clusters, not %d clusters." msgstr "Filsystemet mener at den frie plads er %d klynger, ikke %d." #: libparted/fs/fat/fat.c:876 #, fuzzy msgid "" "GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT " "support will be disabled." msgstr "" "GNU Parted kompileredes fejlagtigt: FAT's startsektor skal være 512 byte. " "Understøttelsen for FAT vil blive blokeret." #: libparted/fs/fat/resize.c:158 #, fuzzy msgid "" "There's not enough room in the root directory for all of the files. Either " "cancel, or ignore to lose the files." msgstr "" "Der er ikke tilstrækkeligt med plads for alle filer i rodkataloget. Vælg " "enten at annullere, eller ignorere og tabe filerne." #: libparted/fs/fat/resize.c:299 msgid "Error writing to the root directory." msgstr "En fejl opstod ved skrivning til rodkataloget." #: libparted/fs/fat/resize.c:488 #, fuzzy msgid "If you leave your file system as FAT16, then you will have no problems." msgstr "" "Hvis du lader filsystemet fortsætte med at være FAT16 vil du ikke få nogen " "problemer." #: libparted/fs/fat/resize.c:491 msgid "" "If you convert to FAT16, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual)." msgstr "" "Hvis du konverterer til FAT16 og MS Windows er installeret på denne " "partition så skal du geninstallere MS Windows opstartsprogram. Hvis du gør " "det bør du studere Parteds manual (eller din distributions manual)." #: libparted/fs/fat/resize.c:499 msgid "" "If you leave your file system as FAT32, then you will not introduce any new " "problems." msgstr "" "Hvis du lader filsystemet fortsætte med at være FAT32 vil du ikke " "introducere nogen nye problemer." #: libparted/fs/fat/resize.c:503 msgid "" "If you convert to FAT32, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual). Also, " "converting to FAT32 will make the file system unreadable by MS DOS, MS " "Windows 95a, and MS Windows NT." msgstr "" "Hvis du konverterer til FAT32, og MS Windows er installeret på denne " "partition, skal du geninstallere MS Windows opstartsprogram. Hvis du gør det " "bør du studere Parteds manual (eller din distributions manual). Bemærk at " "ved at konvertere filsystemet til FAT32 vil det ikke kunne læses af MS DOS, " "MS Windows 95a og MS Windows NT." #: libparted/fs/fat/resize.c:517 #, c-format msgid "%s %s %s" msgstr "%s %s %s" #: libparted/fs/fat/resize.c:518 msgid "Would you like to use FAT32?" msgstr "Ønsker du at bruge FAT32?" #: libparted/fs/fat/resize.c:549 libparted/fs/fat/resize.c:565 #, c-format msgid "%s %s" msgstr "%s %s" #: libparted/fs/fat/resize.c:550 msgid "" "The file system can only be resized to this size by converting to FAT16." msgstr "" "Filsystemet kan kun ændres til denne størrelse ved at konvertere til FAT16." #: libparted/fs/fat/resize.c:566 msgid "" "The file system can only be resized to this size by converting to FAT32." msgstr "" "Filsystemet kan kun ændres til denne størrelse ved at konvertere til FAT32." #: libparted/fs/fat/resize.c:579 #, fuzzy msgid "" "GNU Parted cannot resize this partition to this size. We're working on it!" msgstr "" "GNU Parted kan ikke ændre partitionen til denne størrelse. Vi arbejder på en " "løsning!" #: libparted/fs/fat/bootsector.c:49 libparted/fs/fat/bootsector.c:56 msgid "File system has an invalid signature for a FAT file system." msgstr "Filsystemet har en ugyldig signatur for filsystemer af typen FAT." #: libparted/fs/fat/bootsector.c:64 msgid "File system has an invalid sector size for a FAT file system." msgstr "" "Filsystemet har en ugyldig sektorstørrelse for et filsystem af typen FAT." #: libparted/fs/fat/bootsector.c:71 msgid "File system has an invalid cluster size for a FAT file system." msgstr "" "Filsystemet har en ugyldig klyngestørrelse for et filsystem af typen FAT." #: libparted/fs/fat/bootsector.c:78 #, fuzzy msgid "" "File system has an invalid number of reserved sectors for a FAT file system." msgstr "" "Filsystemet har et ugyldigt antal reserverede sektorer for et filsystem af " "typen FAT." #: libparted/fs/fat/bootsector.c:85 #, fuzzy msgid "File system has an invalid number of FATs." msgstr "Filsystemet har et fejlagtigt antal filallokeringstabeller." #: libparted/fs/fat/bootsector.c:139 #, c-format msgid "" "This file system has a logical sector size of %d. GNU Parted is known not " "to work properly with sector sizes other than 512 bytes." msgstr "" "Filsystemet har en logisk sektorstørrelse på %d. Det er kendt at GNU Parted " "ikke fungerer godt med andre sektorstørrelser end 512 byte." #: libparted/fs/fat/bootsector.c:164 #, c-format msgid "" "The file system's CHS geometry is (%d, %d, %d), which is invalid. The " "partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the " "file system's CHS geometry will be left unchanged. If you select Fix, the " "file system's CHS geometry will be set to match the partition table's CHS " "geometry." msgstr "" #: libparted/fs/fat/bootsector.c:213 msgid "FAT boot sector says logical sector size is 0. This is weird. " msgstr "" "FAT:s startsektor mener at den logiske sektorstørrelse er 0. Mærkeligt." #: libparted/fs/fat/bootsector.c:219 msgid "FAT boot sector says there are no FAT tables. This is weird. " msgstr "FAT:s startsektor mener at der mangler FAT-tabeller. Mærkeligt." #: libparted/fs/fat/bootsector.c:225 msgid "FAT boot sector says clusters are 0 sectors. This is weird. " msgstr "FAT:s startsektor mener at en klynge består af 0 sektorer. Mærkeligt." #: libparted/fs/fat/bootsector.c:235 #, fuzzy msgid "File system is FAT12, which is unsupported." msgstr "Filsystemet er FAT12, som ikke understøttes." #: libparted/fs/fat/bootsector.c:411 #, c-format msgid "" "The information sector has the wrong signature (%x). Select cancel for now, " "and send in a bug report. If you're desperate, it's probably safe to ignore." msgstr "" "Informationssektoren har forkert signatur (%x). Vælg annullér og indsend en " "fejlrapport. Hvis du er desperat så er det formodentlig sikkert at ignorere " "fejlen." #: libparted/fs/fat/count.c:144 #, c-format msgid "Bad directory entry for %s: first cluster is the end of file marker." msgstr "" "Fejlagtig katalogindgang for %s: første klynge er en filslutsmarkering." #: libparted/fs/fat/count.c:157 #, c-format msgid "" "Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk." msgstr "" "Dårlig filallokeringstabel: ej afsluttet kæde for %s. Du bør køre dosfsck " "eller scandisk." #: libparted/fs/fat/count.c:166 #, fuzzy, c-format msgid "" "Bad FAT: cluster %d outside file system in chain for %s. You should run " "dosfsck or scandisk." msgstr "" "Dårlig filallokeringstabel: klynge %d ligger udenfor filsystemet for %s. Du " "bør køre dosfsck eller scandisk." #: libparted/fs/fat/count.c:176 #, c-format msgid "" "Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or " "scandisk." msgstr "" "Dårlig filallokeringstabel: klynge %d er krydslænket for %s. Du bør køre " "dosfsck eller scandisk." #: libparted/fs/fat/count.c:195 #, c-format msgid "%s is %dk, but it has %d clusters (%dk)." msgstr "%s er %dk, men den har %d klynger (%dk)." #: libparted/fs/fat/count.c:258 #, c-format msgid "" "The file %s is marked as a system file. This means moving it could cause " "some programs to stop working." msgstr "" "Filen %s er markeret som en systemfil. Dette betyder at flytning af den kan " "bevirke at nogen programmer ikke længere vil virke." #: libparted/fs/fat/table.c:136 #, c-format msgid "" "FAT %d media %x doesn't match the boot sector's media %x. You should " "probably run scandisk." msgstr "" "FAT %d medie %x passer ikke med startsektorns medie %x. Du bør nok køre " "scandisk." #: libparted/fs/fat/table.c:268 #, fuzzy, c-format msgid "fat_table_set: cluster %ld outside file system" msgstr "fat_table_set: klynge %ld ligger udenfor filsystemet" #: libparted/fs/fat/table.c:300 #, fuzzy, c-format msgid "fat_table_get: cluster %ld outside file system" msgstr "fat_table_get: klynge %ld ligger udenfor filsystemet" #: libparted/fs/fat/table.c:342 msgid "fat_table_alloc_cluster: no free clusters" msgstr "fat_table_alloc_cluster: ingen ledige klynger" #: libparted/fs/linux_swap/linux_swap.c:288 #, fuzzy, c-format msgid "Unrecognised old style linux swap signature '%10s'." msgstr "Ukendt signatur for Linux swapplads \\\"%10s\\\"." #: libparted/fs/linux_swap/linux_swap.c:331 #, fuzzy, c-format msgid "Unrecognised new style linux swap signature '%10s'." msgstr "Ukendt signatur for Linux swapplads \\\"%10s\\\"." #: libparted/fs/linux_swap/linux_swap.c:371 #, fuzzy, c-format msgid "Unrecognised swsusp linux swap signature '%9s'." msgstr "Ukendt signatur for Linux swapplads \\\"%10s\\\"." #: libparted/fs/linux_swap/linux_swap.c:447 msgid "Too many bad pages." msgstr "For mange dårlige sider." #: libparted/fs/hfs/advfs.c:121 libparted/fs/hfs/advfs_plus.c:121 #: libparted/fs/hfs/reloc.c:414 libparted/fs/hfs/reloc.c:508 #: libparted/fs/hfs/reloc_plus.c:538 libparted/fs/hfs/reloc_plus.c:656 #: libparted/fs/hfs/reloc_plus.c:769 msgid "The file system contains errors." msgstr "" #: libparted/fs/hfs/advfs_plus.c:285 msgid "Bad blocks could not be read." msgstr "" #: libparted/fs/hfs/cache.c:137 #, c-format msgid "" "Trying to register an extent starting at block 0x%X, but another one already " "exists at this position. You should check the file system!" msgstr "" #: libparted/fs/hfs/cache.c:214 #, c-format msgid "" "Trying to move an extent from block Ox%X to block Ox%X, but another one " "already exists at this position. This should not happen!" msgstr "" #: libparted/fs/hfs/file.c:143 #, c-format msgid "Could not update the extent cache for HFS file with CNID %X." msgstr "" #: libparted/fs/hfs/file.c:180 #, c-format msgid "Trying to read HFS file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/file.c:190 libparted/fs/hfs/file.c:220 #, c-format msgid "Could not find sector %lli of HFS file with CNID %X." msgstr "" #: libparted/fs/hfs/file.c:210 #, c-format msgid "Trying to write HFS file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/file_plus.c:157 #, c-format msgid "Could not update the extent cache for HFS+ file with CNID %X." msgstr "" #: libparted/fs/hfs/file_plus.c:202 #, c-format msgid "Trying to read HFS+ file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/file_plus.c:213 libparted/fs/hfs/file_plus.c:256 #, c-format msgid "Could not find sector %lli of HFS+ file with CNID %X." msgstr "" #: libparted/fs/hfs/file_plus.c:245 #, c-format msgid "Trying to write HFS+ file with CNID %X behind EOF." msgstr "" #: libparted/fs/hfs/hfs.c:232 msgid "Sorry, HFS cannot be resized that way yet." msgstr "" #: libparted/fs/hfs/hfs.c:262 libparted/fs/hfs/hfs.c:641 msgid "Data relocation has failed." msgstr "" #: libparted/fs/hfs/hfs.c:281 msgid "Data relocation left some data in the end of the volume." msgstr "" #: libparted/fs/hfs/hfs.c:320 #, fuzzy msgid "writing HFS Master Directory Block" msgstr "En fejl opstod ved skrivning til rodkataloget." #: libparted/fs/hfs/hfs.c:468 msgid "No valid HFS[+X] signature has been found while opening." msgstr "" #: libparted/fs/hfs/hfs.c:478 #, c-format msgid "Version %d of HFS+ isn't supported." msgstr "" #: libparted/fs/hfs/hfs.c:489 #, c-format msgid "Version %d of HFSX isn't supported." msgstr "" #: libparted/fs/hfs/hfs.c:672 msgid "Data relocation left some data at the end of the volume." msgstr "" #: libparted/fs/hfs/hfs.c:720 #, fuzzy msgid "Error while writing the allocation file." msgstr "En fejl opstod ved skrivning til rodkataloget." #: libparted/fs/hfs/hfs.c:735 msgid "Error while writing the compatibility part of the allocation file." msgstr "" #: libparted/fs/hfs/hfs.c:750 msgid "writing HFS+ Volume Header" msgstr "" #: libparted/fs/hfs/hfs.c:850 msgid "An error occurred while looking for the mandatory bad blocks file." msgstr "" #: libparted/fs/hfs/hfs.c:904 msgid "" "It seems there is an error in the HFS wrapper: the bad blocks file doesn't " "contain the embedded HFS+ volume." msgstr "" #: libparted/fs/hfs/hfs.c:940 msgid "Sorry, HFS+ cannot be resized that way yet." msgstr "" #: libparted/fs/hfs/hfs.c:975 msgid "shrinking embedded HFS+ volume" msgstr "" #: libparted/fs/hfs/hfs.c:991 msgid "Resizing the HFS+ volume has failed." msgstr "" #: libparted/fs/hfs/hfs.c:998 #, fuzzy msgid "shrinking HFS wrapper" msgstr "krymper" #: libparted/fs/hfs/hfs.c:1007 msgid "Updating the HFS wrapper has failed." msgstr "" #: libparted/fs/hfs/hfs.c:1109 libparted/fs/hfs/hfs.c:1194 #, c-format msgid "" "This is not a real %s check. This is going to extract special low level " "files for debugging purposes." msgstr "" #: libparted/fs/hfs/journal.c:155 msgid "Bad block list header checksum." msgstr "" #: libparted/fs/hfs/journal.c:168 #, c-format msgid "" "Invalid size of a transaction block while replaying the journal (%i bytes)." msgstr "" #: libparted/fs/hfs/journal.c:260 msgid "" "Journal stored outside of the volume are not supported. Try to desactivate " "the journal and run Parted again." msgstr "" #: libparted/fs/hfs/journal.c:271 #, fuzzy msgid "Journal offset or size is not multiple of the sector size." msgstr "" "Klynge-startforskel er %d, hvilket ikke er en multipel af klyngestørrelsen %d" #: libparted/fs/hfs/journal.c:292 msgid "Incorrect magic values in the journal header." msgstr "" #: libparted/fs/hfs/journal.c:302 msgid "Journal size mismatch between journal info block and journal header." msgstr "" #: libparted/fs/hfs/journal.c:314 #, fuzzy msgid "Some header fields are not multiple of the sector size." msgstr "" "Klynge-startforskel er %d, hvilket ikke er en multipel af klyngestørrelsen %d" #: libparted/fs/hfs/journal.c:323 msgid "" "The sector size stored in the journal is not 512 bytes. Parted only " "supports 512 bytes length sectors." msgstr "" #: libparted/fs/hfs/journal.c:335 msgid "Bad journal checksum." msgstr "" #: libparted/fs/hfs/journal.c:353 msgid "" "The journal is not empty. Parted must replay the transactions before " "opening the file system. This will modify the file system." msgstr "" #: libparted/fs/hfs/journal.c:381 msgid "" "The volume header or the master directory block has changed while replaying " "the journal. You should restart Parted." msgstr "" #: libparted/fs/hfs/probe.c:51 #, c-format msgid "" "Parted can't use HFS file systems on disks with a sector size not equal to " "%d bytes." msgstr "" #: libparted/fs/hfs/reloc.c:151 libparted/fs/hfs/reloc_plus.c:155 msgid "An extent has not been relocated." msgstr "" #: libparted/fs/hfs/reloc.c:251 libparted/fs/hfs/reloc_plus.c:307 msgid "" "A reference to an extent comes from a place it should not. You should check " "the file system!" msgstr "" #: libparted/fs/hfs/reloc.c:381 msgid "This HFS volume has no catalog file. This is very unusual!" msgstr "" #: libparted/fs/hfs/reloc.c:475 msgid "This HFS volume has no extents overflow file. This is quite unusual!" msgstr "" #: libparted/fs/hfs/reloc.c:517 libparted/fs/hfs/reloc_plus.c:666 msgid "" "The extents overflow file should not contain its own extents! You should " "check the file system." msgstr "" #: libparted/fs/hfs/reloc.c:574 libparted/fs/hfs/reloc_plus.c:844 #, fuzzy msgid "Could not cache the file system in memory." msgstr "Kunne ikke finde noget filsystem." #: libparted/fs/hfs/reloc.c:635 libparted/fs/hfs/reloc_plus.c:905 msgid "Bad blocks list could not be loaded." msgstr "" #: libparted/fs/hfs/reloc.c:649 libparted/fs/hfs/reloc_plus.c:921 msgid "An error occurred during extent relocation." msgstr "" #: libparted/fs/hfs/reloc_plus.c:494 msgid "This HFS+ volume has no catalog file. This is very unusual!" msgstr "" #: libparted/fs/hfs/reloc_plus.c:617 msgid "This HFS+ volume has no extents overflow file. This is quite unusual!" msgstr "" #: parted/parted.c:123 msgid "displays this help message" msgstr "viser denne hjælpetekst" #: parted/parted.c:124 msgid "lists partition layout on all block devices" msgstr "" #: parted/parted.c:125 msgid "displays machine parseable output" msgstr "" #: parted/parted.c:126 msgid "never prompts for user intervention" msgstr "spørger aldrig brugeren om alternativer" #: parted/parted.c:127 msgid "displays the version" msgstr "viser versionen" #: parted/parted.c:128 #, fuzzy msgid "alignment for new partitions" msgstr "Kan ikke tilføje flere partitioner." #: parted/parted.c:140 #, fuzzy msgid "" "NUMBER is the partition number used by Linux. On MS-DOS disk labels, the " "primary partitions number from 1 to 4, logical partitions from 5 onwards.\n" msgstr "" "LILLE er partitionsnumret som Linux bruger. På filsystemer af type MSDOS er " "de primære partitioner numrerede fra 1 til 4, og de logiske partitioner fra " "5 og opad.\n" #: parted/parted.c:143 msgid "LABEL-TYPE is one of: " msgstr "LABEL-TYPE er en af:" #: parted/parted.c:144 msgid "FLAG is one of: " msgstr "FLAG er et af: " #: parted/parted.c:145 #, fuzzy msgid "UNIT is one of: " msgstr "FLAG er et af: " #: parted/parted.c:146 msgid "desired alignment: minimum or optimal" msgstr "" #: parted/parted.c:147 msgid "PART-TYPE is one of: primary, logical, extended\n" msgstr "PART-TYPE er en af: primær, logisk, udvidet\n" #: parted/parted.c:149 msgid "FS-TYPE is one of: " msgstr "FS-TYPE er en af: " #: parted/parted.c:150 msgid "" "START and END are disk locations, such as 4GB or 10%. Negative values count " "from the end of the disk. For example, -1s specifies exactly the last " "sector.\n" msgstr "" #: parted/parted.c:153 msgid "STATE is one of: on, off\n" msgstr "TILSTAND er en af: på, af\n" #: parted/parted.c:154 msgid "DEVICE is usually /dev/hda or /dev/sda\n" msgstr "ENHED er normalt /dev/hda eller /dev/sda\n" #: parted/parted.c:155 msgid "NAME is any word you want\n" msgstr "NAVN er et vilkårligt ord\n" #: parted/parted.c:156 msgid "The partition must have one of the following FS-TYPEs: " msgstr "" #: parted/parted.c:160 #, fuzzy msgid "" "Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n" "This program is free software, covered by the GNU General Public License.\n" "\n" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" msgstr "" "Ophavsret © 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.\n" "Dette program er frit programmel, dækket af GNU General Public License.\n" "\n" "Dette program distribueres i håb om at det vil være nyttigt, men\n" "UDEN NOGEN SOM HELST GARANTI, endog uden underforstået garanti om\n" "SALGBARHED eller EGNETHED FOR NOGET SPECIELT FORMÅL. Se GNU General\n" "Public License for yderligere information.\n" #: parted/parted.c:208 #, c-format msgid "%0.f%%\t(time left %.2d:%.2d)" msgstr "%0.f%%\t(tid tilbage %.2d:%.2d)" #: parted/parted.c:227 #, c-format msgid "" "Partition %s is being used. You must unmount it before you modify it with " "Parted." msgstr "" #: parted/parted.c:245 #, c-format msgid "Partition(s) on %s are being used." msgstr "Partitionen på %s er i brug." #: parted/parted.c:257 msgid "" "The existing file system will be destroyed and all data on the partition " "will be lost. Do you want to continue?" msgstr "" #: parted/parted.c:269 #, c-format msgid "" "The existing disk label on %s will be destroyed and all data on this disk " "will be lost. Do you want to continue?" msgstr "" #: parted/parted.c:487 #, c-format msgid "" "WARNING: you are attempting to use %s to operate on (%s) a file system.\n" "%s's file system manipulation code is not as robust as what you'll find in\n" "dedicated, file-system-specific packages like e2fsprogs. We recommend\n" "you use %s only to manipulate partition tables, whenever possible.\n" "Support for performing most operations on most types of file systems\n" "will be removed in an upcoming release.\n" msgstr "" #: parted/parted.c:508 parted/parted.c:702 parted/parted.c:1179 #: parted/parted.c:1263 parted/parted.c:1935 parted/parted.c:2016 #: parted/parted.c:2088 parted/parted.c:2122 msgid "Partition number?" msgstr "Nummer på partitionen?" #: parted/parted.c:551 msgid "Source device?" msgstr "Kildeenhed?" #: parted/parted.c:555 msgid "Source partition number?" msgstr "Nummer på kildepartitionen?" #: parted/parted.c:560 #, fuzzy msgid "Can't copy an extended partition." msgstr "Kan ikke kopiere udvidede partitioner." #: parted/parted.c:566 msgid "Destination partition number?" msgstr "Nummer på målpartitionen?" #: parted/parted.c:655 msgid "New disk label type?" msgstr "Type på ny disketikette?" #: parted/parted.c:706 parted/parted.c:788 parted/parted.c:1000 msgid "File system type?" msgstr "Type på filsystemet?" #: parted/parted.c:762 parted/parted.c:983 msgid "Partition type?" msgstr "Type på partitionen" #: parted/parted.c:780 parted/parted.c:990 parted/parted.c:1266 msgid "Partition name?" msgstr "Navn på partitionen?" #: parted/parted.c:794 parted/parted.c:1002 parted/parted.c:1194 #: parted/parted.c:1883 parted/parted.c:1944 msgid "Start?" msgstr "Start?" #: parted/parted.c:796 parted/parted.c:1005 parted/parted.c:1197 #: parted/parted.c:1885 parted/parted.c:1946 msgid "End?" msgstr "Slut?" #: parted/parted.c:862 parted/parted.c:1066 #, fuzzy, c-format msgid "" "You requested a partition from %s to %s.\n" "The closest location we can manage is %s to %s.%s" msgstr "" "Du bad om at oprette en partition på %.3f-%.3fMb. Det nærmeste Parted kan " "klare er %.3f-%.3fMb." #: parted/parted.c:867 parted/parted.c:1071 msgid "" "\n" "Is this still acceptable to you?" msgstr "" #: parted/parted.c:889 parted/parted.c:1093 msgid "The resulting partition is not properly aligned for best performance." msgstr "" #: parted/parted.c:995 #, fuzzy msgid "An extended partition cannot hold a file system. Did you want mkpart?" msgstr "Udvidede partitioner kan ikke have filsystemer. Ønskede du mkpart?" #: parted/parted.c:1185 #, fuzzy msgid "Can't move an extended partition." msgstr "Kan ikke flytte udvidede partitioner." #: parted/parted.c:1214 msgid "Can't move a partition onto itself. Try using resize, perhaps?" msgstr "" "Kan ikke flytte en partition til sig selv. Prøv at ændre størrelsen i stedet" #: parted/parted.c:1360 #, c-format msgid "Minor: %d\n" msgstr "Lille: %d\n" #: parted/parted.c:1361 #, fuzzy, c-format msgid "Flags: %s\n" msgstr "Flag: " #: parted/parted.c:1362 #, c-format msgid "File System: %s\n" msgstr "Filsystem: %s\n" #: parted/parted.c:1363 #, fuzzy msgid "Size: " msgstr "Størrelse: %10.3fMb (%d%%)\n" #: parted/parted.c:1368 #, fuzzy msgid "Minimum size: " msgstr "Mindste størrelse: %10.3fMb (%d%%)\n" #: parted/parted.c:1371 #, fuzzy msgid "Maximum size: " msgstr "Største størrelse: %10.3fMb (%d%%)\n" #: parted/parted.c:1504 #, c-format msgid "Model: %s (%s)\n" msgstr "" #: parted/parted.c:1506 #, fuzzy, c-format msgid "Disk %s: %s\n" msgstr "%s %s %s" #: parted/parted.c:1507 #, c-format msgid "Sector size (logical/physical): %lldB/%lldB\n" msgstr "" #: parted/parted.c:1525 #, c-format msgid "BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s.\n" msgstr "" #: parted/parted.c:1534 #, fuzzy, c-format msgid "Partition Table: %s\n" msgstr "Navn på partitionen?" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Number" msgstr "" #: parted/parted.c:1549 parted/parted.c:1552 #, fuzzy msgid "Start" msgstr "Start?" #: parted/parted.c:1550 parted/parted.c:1553 #, fuzzy msgid "End" msgstr "Slut?" #: parted/parted.c:1553 #, fuzzy msgid "Size" msgstr "ændr_størrelse" #: parted/parted.c:1557 msgid "Type" msgstr "" #: parted/parted.c:1559 #, fuzzy msgid "File system" msgstr "Filsystem?" #: parted/parted.c:1562 #, fuzzy msgid "Name" msgstr "name" #: parted/parted.c:1564 msgid "Flags" msgstr "Flag" #: parted/parted.c:1621 msgid "Free Space" msgstr "" #: parted/parted.c:1782 #, fuzzy, c-format msgid "" "A %s %s partition was found at %s -> %s. Do you want to add it to the " "partition table?" msgstr "" "En %s %s partition blev fundet på %.3fMb -> %.3fMb. Ønsker du at tilføje " "den til partitionstabellen?" #: parted/parted.c:1821 msgid "searching for file systems" msgstr "leder efter filsystemer" #: parted/parted.c:2041 msgid "New device?" msgstr "Ny enhed?" #: parted/parted.c:2086 msgid "alignment type(min/opt)" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d aligned\n" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d not aligned\n" msgstr "" #: parted/parted.c:2124 #, fuzzy msgid "Flag to Invert?" msgstr "Flag der skal ændres?" #: parted/parted.c:2129 msgid "New state?" msgstr "Ny tilstand?" #: parted/parted.c:2166 msgid "Unit?" msgstr "" #: parted/parted.c:2348 #, fuzzy msgid "align-check" msgstr "tjek" #: parted/parted.c:2351 msgid "" "align-check TYPE N check partition N for TYPE(min|" "opt) alignment" msgstr "" #: parted/parted.c:2359 msgid "check" msgstr "tjek" #: parted/parted.c:2362 #, fuzzy msgid "" "check NUMBER do a simple check on the file system" msgstr "tjek LILLE lav en simpel test af filsystemet" #: parted/parted.c:2368 msgid "cp" msgstr "cp" #: parted/parted.c:2371 #, fuzzy msgid "" "cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another " "partition" msgstr "" "cp [FRA ENHED] FRA-LILLE TIL-LILLE kopiér et filsystem til et andet" #: parted/parted.c:2377 msgid "help" msgstr "hjælp" #: parted/parted.c:2380 #, fuzzy msgid "" "help [COMMAND] print general help, or help on " "COMMAND" msgstr "" "hjælp [KOMMANDO] udskriver generel hjælp, eller speciel hjælp " "for KOMMANDO" #: parted/parted.c:2386 msgid "mklabel" msgstr "mklabel" #: parted/parted.c:2386 #, fuzzy msgid "mktable" msgstr "mklabel" #: parted/parted.c:2389 #, fuzzy msgid "" "mklabel,mktable LABEL-TYPE create a new disklabel (partition " "table)" msgstr "mklabel PART-TYPE lav en ny partitionstabel" #: parted/parted.c:2395 msgid "mkfs" msgstr "mkfs" #: parted/parted.c:2398 #, fuzzy msgid "" "mkfs NUMBER FS-TYPE make a FS-TYPE file system on " "partition NUMBER" msgstr "" "mkfs LILLE FS-TYPE lav et filsystem af typen TYPE på partition LILLE" #: parted/parted.c:2404 msgid "mkpart" msgstr "mkpart" #: parted/parted.c:2407 #, fuzzy msgid "mkpart PART-TYPE [FS-TYPE] START END make a partition" msgstr "mkpart PARTITIONSTYPE [FS-TYPE] START SLUT lav en partition" #: parted/parted.c:2413 #, fuzzy msgid "" "'mkpart' makes a partition without creating a new file system on the " "partition. FS-TYPE may be specified to set an appropriate partition ID.\n" msgstr "" "mkpart laver en partition uden at oprette et nyt filsystem på partitionen. " "FS-TYPE kan angives for at sætte en passende identitet på partitionen.\n" #: parted/parted.c:2418 msgid "mkpartfs" msgstr "mkpartfs" #: parted/parted.c:2421 #, fuzzy msgid "" "mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system" msgstr "" "mkpartfs PARTITIONSTYPE FILSYSTEMSTYPE START SLUT lav en partition med et " "filsystem" #: parted/parted.c:2427 msgid "move" msgstr "move" #: parted/parted.c:2430 #, fuzzy msgid "move NUMBER START END move partition NUMBER" msgstr "move LILLE START SLUT flyt partition LILLE" #: parted/parted.c:2435 msgid "name" msgstr "name" #: parted/parted.c:2438 #, fuzzy msgid "name NUMBER NAME name partition NUMBER as NAME" msgstr "name LILLE NAVN navngiv partition LILLE NAVN" #: parted/parted.c:2443 msgid "print" msgstr "skriv" #: parted/parted.c:2446 msgid "" "print [devices|free|list,all|NUMBER] display the partition table, " "available devices, free space, all found partitions, or a particular " "partition" msgstr "" #: parted/parted.c:2451 #, fuzzy msgid "" "Without arguments, 'print' displays the entire partition table. However with " "the following arguments it performs various other actions.\n" msgstr "" "Uden argumenter udskriver 'skriv' hele partitionstabellen. Hvis et nummer på " "en partition er angivet vil mere detaljeret information om denne partition " "blive vist.\n" #: parted/parted.c:2453 msgid " devices : display all active block devices\n" msgstr "" #: parted/parted.c:2454 msgid "" " free : display information about free unpartitioned space on the " "current block device\n" msgstr "" #: parted/parted.c:2456 msgid "" " list, all : display the partition tables of all active block devices\n" msgstr "" #: parted/parted.c:2457 msgid "" " NUMBER : display more detailed information about this particular " "partition\n" msgstr "" #: parted/parted.c:2462 msgid "quit" msgstr "afslut" #: parted/parted.c:2465 #, fuzzy msgid "quit exit program" msgstr "afslut afslut programmet" #: parted/parted.c:2470 msgid "rescue" msgstr "red" #: parted/parted.c:2473 #, fuzzy msgid "" "rescue START END rescue a lost partition near START " "and END" msgstr "" "red START SLUT red tabte partitioner nær ved START og SLUT" #: parted/parted.c:2479 msgid "resize" msgstr "ændr_størrelse" #: parted/parted.c:2482 #, fuzzy msgid "" "resize NUMBER START END resize partition NUMBER and its " "file system" msgstr "" "red START SLUT red tabte partitioner nær ved START og SLUT" #: parted/parted.c:2490 msgid "rm" msgstr "rm" #: parted/parted.c:2493 #, fuzzy msgid "rm NUMBER delete partition NUMBER" msgstr "rm LILLE slet partition LILLE" #: parted/parted.c:2498 msgid "select" msgstr "vælg" #: parted/parted.c:2501 #, fuzzy msgid "select DEVICE choose the device to edit" msgstr "vælg ENHED vælg enhed at redigere" #: parted/parted.c:2506 msgid "set" msgstr "sæt" #: parted/parted.c:2509 #, fuzzy msgid "" "set NUMBER FLAG STATE change the FLAG on partition NUMBER" msgstr "sæt LILLE FLAG TILSTAND ændr et flag på partition LILLE" #: parted/parted.c:2515 msgid "toggle" msgstr "" #: parted/parted.c:2518 msgid "" "toggle [NUMBER [FLAG]] toggle the state of FLAG on " "partition NUMBER" msgstr "" #: parted/parted.c:2524 #, fuzzy msgid "unit" msgstr "afslut" #: parted/parted.c:2527 #, fuzzy msgid "unit UNIT set the default unit to UNIT" msgstr "afslut afslut programmet" #: parted/parted.c:2532 msgid "version" msgstr "" #: parted/parted.c:2535 msgid "" "version display the version number and " "copyright information of GNU Parted" msgstr "" #: parted/parted.c:2539 msgid "" "'version' displays copyright and version information corresponding to this " "copy of GNU Parted\n" msgstr "" #: parted/parted.c:2607 #, c-format msgid "Usage: %s [-hlmsv] [-a] [DEVICE [COMMAND [PARAMETERS]]...]\n" msgstr "" #: parted/parted.c:2651 msgid "No device found" msgstr "Ingen enhed fundet" #: parted/parted.c:2688 msgid "WARNING: You are not superuser. Watch out for permissions." msgstr "" #: parted/parted.c:2726 #, fuzzy msgid "You may need to update /etc/fstab.\n" msgstr "Glem ikke at opdatere /etc/fstab, om nødvendigt.\n" #: parted/ui.c:162 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n" msgstr "" #: parted/ui.c:165 #, fuzzy msgid "" "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n" "Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run " "in\n" "interactive mode.\n" msgstr "" "Brug: parted [FLAG]... [ENHED [KOMMANDO [PARAMETRE]...]...]\n" "Kør KOMMANDO med PARAMETRE på ENHED. Hvis ingen KOMMANDOER angives køres\n" "programmet i interaktiv tilstand.\n" #: parted/ui.c:170 #, c-format msgid "" "\n" "\n" "You found a bug in GNU Parted! Here's what you have to do:\n" "\n" "Don't panic! The bug has most likely not affected any of your data.\n" "Help us to fix this bug by doing the following:\n" "\n" "Check whether the bug has already been fixed by checking\n" "the last version of GNU Parted that you can find at:\n" "\n" "\thttp://ftp.gnu.org/gnu/parted/\n" "\n" "Please check this version prior to bug reporting.\n" "\n" "If this has not been fixed yet or if you don't know how to check,\n" "please visit the GNU Parted website:\n" "\n" "\thttp://www.gnu.org/software/parted\n" "\n" "for further information.\n" "\n" "Your report should contain the version of this release (%s)\n" "along with the error message below, the output of\n" "\n" "\tparted DEVICE unit co print unit s print\n" "\n" "and the following history of commands you entered.\n" "Also include any additional information about your setup you\n" "consider important.\n" msgstr "" #: parted/ui.c:291 msgid "" "\n" "Command History:\n" msgstr "" #: parted/ui.c:354 msgid "" "\n" "Error: SEGV_MAPERR (Address not mapped to object)\n" msgstr "" #: parted/ui.c:360 msgid "" "\n" "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n" msgstr "" #: parted/ui.c:365 msgid "" "\n" "Error: A general SIGSEGV signal was encountered.\n" msgstr "" #: parted/ui.c:389 msgid "" "\n" "Error: FPE_INTDIV (Integer: divide by zero)" msgstr "" #: parted/ui.c:394 msgid "" "\n" "Error: FPE_INTOVF (Integer: overflow)" msgstr "" #: parted/ui.c:399 msgid "" "\n" "Error: FPE_FLTDIV (Float: divide by zero)" msgstr "" #: parted/ui.c:404 msgid "" "\n" "Error: FPE_FLTOVF (Float: overflow)" msgstr "" #: parted/ui.c:409 msgid "" "\n" "Error: FPE_FLTUND (Float: underflow)" msgstr "" #: parted/ui.c:414 msgid "" "\n" "Error: FPE_FLTRES (Float: inexact result)" msgstr "" #: parted/ui.c:419 msgid "" "\n" "Error: FPE_FLTINV (Float: invalid operation)" msgstr "" #: parted/ui.c:424 msgid "" "\n" "Error: FPE_FLTSUB (Float: subscript out of range)" msgstr "" #: parted/ui.c:429 msgid "" "\n" "Error: A general SIGFPE signal was encountered." msgstr "" #: parted/ui.c:453 msgid "" "\n" "Error: ILL_ILLOPC (Illegal Opcode)" msgstr "" #: parted/ui.c:458 msgid "" "\n" "Error: ILL_ILLOPN (Illegal Operand)" msgstr "" #: parted/ui.c:463 msgid "" "\n" "Error: ILL_ILLADR (Illegal addressing mode)" msgstr "" #: parted/ui.c:468 msgid "" "\n" "Error: ILL_ILLTRP (Illegal Trap)" msgstr "" #: parted/ui.c:473 msgid "" "\n" "Error: ILL_PRVOPC (Privileged Opcode)" msgstr "" #: parted/ui.c:478 msgid "" "\n" "Error: ILL_PRVREG (Privileged Register)" msgstr "" #: parted/ui.c:483 msgid "" "\n" "Error: ILL_COPROC (Coprocessor Error)" msgstr "" #: parted/ui.c:488 msgid "" "\n" "Error: ILL_BADSTK (Internal Stack Error)" msgstr "" #: parted/ui.c:493 msgid "" "\n" "Error: A general SIGILL signal was encountered." msgstr "" #: parted/ui.c:892 #, fuzzy, c-format msgid "invalid token: %s" msgstr "Kunne ikke åbne %s." #: parted/ui.c:1048 msgid "Expecting a partition number." msgstr "Forventer et partitionsnummer." #: parted/ui.c:1057 msgid "Partition doesn't exist." msgstr "Partitionen findes ikke." #: parted/ui.c:1077 msgid "Expecting a file system type." msgstr "Forventer en filsystemstype." #: parted/ui.c:1084 #, c-format msgid "Unknown file system type \"%s\"." msgstr "Ukendt filsystemstype '%s'." #: parted/ui.c:1104 msgid "Expecting a disk label type." msgstr "Forventer en disketikettetype." #: parted/ui.c:1202 msgid "Can't create any more partitions." msgstr "Kan ikke tilføje flere partitioner." #: parted/ui.c:1212 msgid "Expecting a partition type." msgstr "Forventer et partitionstype." #: parted/ui.c:1360 msgid "on" msgstr "på" #: parted/ui.c:1361 msgid "off" msgstr "fra" #: parted/ui.c:1378 msgid "optimal" msgstr "" #: parted/ui.c:1379 msgid "minimal" msgstr "" #: parted/ui.c:1512 msgid "OPTIONs:" msgstr "FLAG:" #: parted/ui.c:1517 msgid "COMMANDs:" msgstr "KOMMANDOer:" #: parted/ui.c:1520 #, c-format msgid "" "\n" "Report bugs to %s\n" msgstr "" #: parted/ui.c:1527 #, c-format msgid "Using %s\n" msgstr "Bruger %s\n" #: parted/ui.c:1601 msgid "This command does not make sense in non-interactive mode.\n" msgstr "" #, fuzzy #~ msgid "Unable to determine the block size of this dasd" #~ msgstr "Kunne ikke bestemme størrelsen på %s (%s)" #, fuzzy #~ msgid "" #~ "The kernel was unable to re-read the partition table on %s (%s). This " #~ "means Linux won't know anything about the modifications you made until " #~ "you reboot. You should reboot your computer before doing anything with " #~ "%s." #~ msgstr "" #~ "Kernen kunne ikke genindlæse partitionstabellen på %s (%s). Det betyder " #~ "at Linux ikke véd noget som helst om de ændringer du lavede før du " #~ "genopstarter. Du bør genstarte maskinen inden du gør noget som helst med " #~ "%s." #~ msgid "" #~ "The sector size on %s is %d bytes. Parted is known not to work properly " #~ "with drives with sector sizes other than %d bytes" #~ msgstr "" #~ "Sektorstørrelsen på %s er %d byte. Det er kendt at Parted ikke virker " #~ "ordentligt på drev med anden sektorstørrelse end %d byte" #~ msgid "Device %s has dodgey geometry." #~ msgstr "Enheden %s har mærkelig geometri." #~ msgid "IDE" #~ msgstr "IDE" #~ msgid "SCSI" #~ msgstr "SCSI" #~ msgid "Device %s is neither a SCSI nor IDE drive." #~ msgstr "Enheden %s er hverken en SCSI- eller IDE-enhed." #~ msgid "Error reading %s (%s) to determine if partition is mounted." #~ msgstr "" #~ "En fejl opstod da %s (%s) skulle læses for at bestemme om partitionen er " #~ "monteret." #~ msgid "" #~ "Unable to determine if partitions are mounted via /proc/mounts or /etc/" #~ "mtab. Make sure you don't attempt to resize or modify mounted file " #~ "systems. (Even read-only mounted)" #~ msgstr "" #~ "Kan ikke afgøre om partitioner er monterede via /proc/mounts eller /etc/" #~ "mtab. Tjek at du ikke forsøger at ændre størrelse eller andre monterede " #~ "filsystemer (også monteret skrivebeskyttet)." #~ msgid "" #~ "The partition table on %s is inconsistent. There are many reasons why " #~ "this might be the case. However, the most likely reason is that Linux " #~ "detected the BIOS geometry for %s incorrectly. GNU Parted suspects the " #~ "real geometry should be %d/%d/%d (not %d/%d/%d). You should check with " #~ "your BIOS first, as this may not be correct. You can inform Linux by " #~ "adding the parameter %s=%d,%d,%d to the command line. See the LILO or " #~ "GRUB documentation for more information. If you think Parted's suggested " #~ "geometry is correct, you may select Ignore to continue (and fix Linux " #~ "later). Otherwise, select Cancel (and fix Linux and/or the BIOS now)." #~ msgstr "" #~ "Partitionstabellen på %s er ikke konsistent. Der kan være mange årsager " #~ "til dette. Den mest sandsynlige årsag er at Linux læste forkert " #~ "geometriinformation for %s i BIOS. GNU Parted mistænker den rigtige " #~ "geometri for at være %d/%d/%d (ikke %d/%d/%d). Du bør først kontrollere " #~ "din BIOS eftersom det kan være forkert. Du kan informere Linux gennem at " #~ "tilføje parameteren %s=%d,%d,%d på kommandolinjen. Mere information " #~ "findes i manualerne for LILO eller GRUB. Hvis du tror at Parteds " #~ "foreslåede geometri er rigtig kan du vælge Ignorér for at fortsætte (og " #~ "rette Linux senere). Ellers, vælg Afbryd (og ret Linux og/eller BIOS nu)." #~ msgid "" #~ "The partition table on %s is inconsistent. There are many reasons why " #~ "this might be the case. Often, the reason is that Linux detected the " #~ "BIOS geometry incorrectly. However, this does not appear to be the case " #~ "here. It is safe to ignore,but ignoring may cause (fixable) problems " #~ "with some boot loaders, and may cause problems with FAT file systems. " #~ "Using LBA is recommended." #~ msgstr "" #~ "Partitionstabellen på %s er ikke konsistent. Det kan være mange årsager " #~ "til dette. Ofte er årsagen at Linux har læst geometriinformationen i BIOS " #~ "fejlagtigt. Det synes dog ikke være problemet her. Du kan ignorere " #~ "fejlen, men der kan opstå problemer (som kan rettes) med visse " #~ "opstartsprogrammer, og problemer med FAT-filsystemer. Brug af LBA " #~ "anbefales." #~ msgid "" #~ "Unable to align partition properly. This probably means that another " #~ "partitioning tool generated an incorrect partition table, because it " #~ "didn't have the correct BIOS geometry. It is safe to ignore,but ignoring " #~ "may cause (fixable) problems with some boot loaders." #~ msgstr "" #~ "Kunne ikke lægge partitionen på hel cylindergrænse. Det betyder ofte at " #~ "et andet partitionsværktøj skrev en ugyldig partitionstabel, baseret på " #~ "fejlagtig geometriinformation fra din BIOS. Du kan ignorere fejlen, men " #~ "der kan opstå problemer (som kan rettes) med visse opstartsprogrammer." #~ msgid "Attempt to read sectors %ld-%ld outside of partition on %s" #~ msgstr "Forsøgte læse sektorerne %ld-%ld udenfor partitionen på %s" #~ msgid "" #~ "This ext2 filesystem has a rather strange layout! Parted can't resize " #~ "this (yet)." #~ msgstr "" #~ "Dette ext2-filsystem har en ganske mærkelig udlægning! Parted kan ikke " #~ "ændre størrelse på dette (endnu)." #~ msgid "Filesystem has incompatible feature enabled" #~ msgstr "Filsystemet har en inkompatibel finesse aktiveret" #~ msgid "File system has an invalid signature for a FAT file systems." #~ msgstr "Filsystemet har en ugyldig signatur for filsystemer af typen FAT." #~ msgid "where necessary, prompts for user intervention" #~ msgstr "hvor det er nødvendigt spørges brugeren om alternativer" #~ msgid "START and END are in megabytes\n" #~ msgstr "START og SLUT angives i megabyte\n" #~ msgid "Partition %s is being used." #~ msgstr "Partition %s er i brug." #~ msgid "" #~ "You requested to move the partition to %.3f-%.3fMb. The closest Parted " #~ "can manage is %.3f-%.3fMb." #~ msgstr "" #~ "Du bad om at flytte partitionen til %.3f-%.3fMb. Det nærmeste Parted kan " #~ "klare er %.3f-%.3fMb." #~ msgid "Disk geometry for %s: 0.000-%.3f megabytes\n" #~ msgstr "Diskgeometri på %s: 0.000-%.3f megabyte\n" #~ msgid "Disk label type: %s\n" #~ msgstr "Type af filsystem: %s\n" #~ msgid "Minor Start End " #~ msgstr "Lille Start Slut " #~ msgid "Type " #~ msgstr "Type " #~ msgid "Filesystem " #~ msgstr "Filsystem " #~ msgid "Name " #~ msgstr "Navn " #~ msgid "" #~ "You requested to resize the partition to %.3f-%.3fMb. The closest Parted " #~ "can manage is %.3f-%.3fMb." #~ msgstr "" #~ "Du bad om at ændre størrelse på partitionen til %.3f-%.3fMb. Det nærmeste " #~ "Parted kan klare er %.3f-%.3fMb." #~ msgid "" #~ "print [MINOR] display the partition table, or a partition" #~ msgstr "" #~ "skriv [LILLE] vis partitionstabellen, eller en partition" #~ msgid "resize MINOR START END resize filesystem on partition MINOR" #~ msgstr "" #~ "ændr_størrelse LILLE START SLUT ændr størrelse på filsystemet på " #~ "partition LILLE" #~ msgid "" #~ "You found a bug in GNU Parted. Please email a bug report to bug-" #~ "parted@gnu.org containing the version (%s), and the following message:\n" #~ msgstr "" #~ "Du har fundet en fejl i GNU Parted. Send en fejlrapport til bug-" #~ "parted@gnu.org indholdende versionsnummer (%s) og følgende meddelelse:\n" #~ msgid "" #~ " You have Windows FAT partition(s) that are not using LBA. If your BIOS " #~ "supports LBA, then you should switch to LBA by setting the LBA flag on " #~ "all FAT partitions. Otherwise, make sure the operating system and the " #~ "BIOS have the same geometry before resizing any FAT partitions." #~ msgstr "" #~ " Du har Windows FAT-partitioner, som ikke bruger LBA. Hvis din BIOS " #~ "understøtter LBA, så bør du skifte til LBA ved at sætte LBA-flaget på " #~ "alle FAT-partitioner. Ellers forsikr dig at styresystemet og BIOS-en har " #~ "den samme geometri før du laver om på størrelsen af nogen FAT-partitioner." #~ msgid "" #~ "The operating system thinks the geometry on %s is %d/%d/%d. Therefore, " #~ "cylinder 1024 ends at %.3fM.%s" #~ msgstr "" #~ "Operativsystemet tror at geometrien på %s er %d/%d/%d. Derfor slutter " #~ "cylinder 1024 på %.3fM.%s" #~ msgid "The operating system thinks the geometry on %s is %d/%d/%d.%s" #~ msgstr "Operativsystemet tror at geometrien på %s er %d/%d/%d.%s" #~ msgid "" #~ "The FATs aren't big enough to describe all clusters! Each FAT is %d " #~ "sectors. There are %d clusters, which would require each FAT to be %d " #~ "sectors. This is REALLY weird. You might want to write us an email: bug-" #~ "parted@gnu.org" #~ msgstr "" #~ "Filallokeringstabellerne er ikke store nok for at beskrive alle klynger! " #~ "Hver tabel er %d sektorer. Der findes %d klynger, hvilket indebærer at " #~ "hver tabel burde være %d sektorer. Dette er RIGTIGT mærkeligt. Skriv et " #~ "brev til os: bug-parted@gnu.org" #~ msgid "" #~ "This swap partition is not compatible with Linux version 2.1.117 or " #~ "earlier. Use a smaller partition (maximum size 128mb) if you want to use " #~ "old versions of Linux." #~ msgstr "" #~ "Denne swappartition er ikke kompatibel med Linux version 2.1.117 og " #~ "tidligere. Brug en mindre partition (maksimal størrelse 128 MB) hvis du " #~ "bruger ældre versioner af Linux." #~ msgid "The new partition overlaps with another partition." #~ msgstr "Den nye partition overlapper med en anden." #~ msgid "" #~ "Can't resize an extended partition so as to exclude a logical partition." #~ msgstr "" #~ "Kan ikke ændre størrelse på en udvidet partition for at ekskludere en " #~ "logisk partition." #~ msgid "Can't grow a partition onto used space." #~ msgstr "Kan ikke lade en partition vokse ind i brugt plads." #~ msgid "unknown" #~ msgstr "ukendt" # ?? #~ msgid "Unknown SCSI" #~ msgstr "Ukendt SCSI" #~ msgid "GUID Partition Table Header Signature is wrong: " #~ msgstr "Signatur for GUID partitionstabelhovede er forkert: " #~ msgid " should be " #~ msgstr " skulle være " #~ msgid "GPT Header CRC check failed, %x should be %x." #~ msgstr "Kontrol af GPT-hoved mislykkedes, %x skulle være %x." #~ msgid "GPT Partition Entry Array CRC check failed, %x should be %x." #~ msgstr "" #~ "CRC-kontrol af GPT-partitionsindgangstabel mislykkedes, %x skulle være %x." #~ msgid "" #~ "This disk contains a valid Primary and Alternate GUID Partition Table but " #~ "the Protective MBR is invalid. This generally means that the disk had " #~ "GPT partitions on it, but then a legacy partition editing tool was used " #~ "to change the partition table stored in the MBR.\n" #~ "Which data is valid, GPT or MBR?\n" #~ "Yes will assume that the GPT information is correct, and rewrite the " #~ "PMBR.\n" #~ "No will assume that the MBR is correct, and erase the GPT information.\n" #~ "Ignore will assume that the MBR is correct, but not change the disk." #~ msgstr "" #~ "Denne disk indeholder en gyldig primær og alternativ GUID-" #~ "PartitionsTabel, men den beskyttende MBR er ugyldig. Dette betyder " #~ "normalt at disken har GPT-partitioner på den, men så er et gammeldags " #~ "partitionsredigeringsværktøj blevet brugt til at ændre partitionstabellen " #~ "gemt i MBR.\n" #~ "Hvilke data er gyldige, GPT eller MBR?\n" #~ "Ja vil formode at GPT-informationen er korrekt, og vil genskrive den " #~ "beskyttende MBR.\n" #~ "Nej vil formode at MBR er korrekt, og slette GPT-informationen.\n" #~ "Ignorér vil formode at MBR er korrekt, men ikke ændre disken." #~ msgid "" #~ "This disk contains a valid Alternate GUID Partition Table but the Primary " #~ "GPT and Protective MBR are invalid. This generally means that the disk " #~ "had GPT partitions on it, but then a legacy partition editing tool was " #~ "used to change the partition table stored in the MBR.\n" #~ "Which data is valid, GPT or MBR?\n" #~ "Yes will assume that the GPT information is correct, and will rewrite the " #~ "PMBR and Primary GPT.\n" #~ "No will assume that the MBR is correct, and erase the GPT information.\n" #~ "Ignore will assume that the MBR is correct, but not change the disk." #~ msgstr "" #~ "Denne disk indeholder en gyldig alternativ GUID-PartitionsTabel, men den " #~ "primære GPT og beskyttende MBR er ugyldige. Dette betyder normalt at " #~ "disken har GPT-partitioner på den, men så er et gammeldags " #~ "partitionsredigeringsværktøj blevet brugt til at ændre partitionstabellen " #~ "gemt i MBR.\n" #~ "Hvilke data er gyldige, GPT eller MBR?\n" #~ "Ja vil formode at GPT-informationen er korrekt, og vil genskrive den " #~ "beskyttende MBR og den primære GPT.\n" #~ "Nej vil formode at MBR er korrekt, og slette GPT-informationen.\n" #~ "Ignorér vil formode at MBR er korrekt, men ikke ændre disken." #~ msgid "" #~ "This disk contains a valid Primary GUID Partition Table but the Alternate " #~ "GPT and Protective MBR are invalid. This generally means that the disk " #~ "had GPT partitions on it, but then a legacy partition editing tool was " #~ "used to change the partition table stored in the MBR.\n" #~ "Which data is valid, GPT or MBR?\n" #~ "Yes will assume that the GPT information is correct, and will rewrite the " #~ "PMBR and Alternate GPT.\n" #~ "No will assume that the MBR is correct, and erase the GPT information.\n" #~ "Ignore will assume that the MBR is correct, but not change the disk.\n" #~ msgstr "" #~ "Denne disk indeholder en gyldig primær GUID-PartitionsTabel, men den " #~ "alternative GPT og beskyttende MBR er ugyldige. Dette betyder normalt at " #~ "disken har GPT-partitioner på den, men så er et gammeldags " #~ "partitionsredigeringsværktøj blevet brugt til at ændre partitionstabellen " #~ "gemt i MBR.\n" #~ "Hvilke data er gyldige, GPT eller MBR?\n" #~ "Ja vil formode at GPT-informationen er korrekt, og vil genskrive den " #~ "beskyttende MBR og den alternative GPT.\n" #~ "Nej vil formode at MBR er korrekt, og slette GPT-informationen.\n" #~ "Ignorér vil formode at MBR er korrekt, men ikke ændre disken.\n" #~ msgid "Can't set non-Linux partitions as a root device." #~ msgstr "Kan ikke sætte andre partitioner end Linux' egne som rodenhed." #~ msgid "Can't set non-Linux partitions as a swap device." #~ msgstr "Kan ikke sætte en ikke-Linux partition som swapenhed." #~ msgid "No get_resize_constraint for %s!" #~ msgstr "get_resize_constraint mangler for %s!" #~ msgid "The %s file system code doesn't support %s disk labels." #~ msgstr "" #~ "Koden for filsystemet %s understøtter ikke filallokeringstabeller for %s." #~ msgid "Creating new %s disklabels is not implemented yet." #~ msgstr "" #~ "Understøttelse for at oprette nye partitionstabeller af typen %s er ikke " #~ "implementeret endnu." #~ msgid "The code to write the partition table hasn't been written for %s yet" #~ msgstr "" #~ "Understøttelse for at skrive partitionstabel for %s er ikke implementeret " #~ "endnu." #~ msgid "Insane! %d clusters!" #~ msgstr "Mærkeligt! %d klynger!" #~ msgid "" #~ "The filesystem is going to be too big for FAT16, so FAT32 will be used. " #~ "This is not compatible with MS-DOS, early versions of MS-Windows 95 and " #~ "Windows NT. If you use these operating systems, then select cancel, and " #~ "create a smaller partition. If you only use Linux, BSD, MS Windows 98 " #~ "and/or MS Windows 95 B, then select OK." #~ msgstr "" #~ "Filsystem bliver for stort for FAT16, så FAT32 vil blive brugt. Det er " #~ "ikke kompatibelt med MS-DOS, tidlige versioner af MS-Windows 95 eller " #~ "Windows NT. Hvis du bruger disse operativsystemer, vælg annullér og opret " #~ "en mindre partition. Hvis du kun anvender Linux, BSD, MS Windows 98 og/" #~ "eller MS Windows 95 B, vælg OK." #~ msgid "Weird: fat_calc_sizes() failed for FAT32!" #~ msgstr "Mærkeligt: fat_calc_sizes() mislykkedes for FAT32!" #~ msgid "" #~ "Would you like to use FAT32 for this filesystem? It is much more " #~ "efficient with your disk space, but is not compatible with early versions " #~ "of Windows 95 and Windows NT. Only select yes if you only use Linux, " #~ "BSD, MS Windows 98 and/or MS Windows 95 B." #~ msgstr "" #~ "Vil du bruge FAT32 som filsystem? Det er meget mere effektivt med " #~ "diskpladsen, men det er ikke kompatibelt med tidlige versioner af Windows " #~ "95 eller Windows NT. Vælg kun JA hvis du kun anvender Linux, BSD, MS " #~ "Windows 98 og/eller MS Windows 95 B." #~ msgid "" #~ "File system doesn't have expected sizes for Windows to like it. Number " #~ "of clusters is %d (%d expected); size of FATs is %d sectors (%d expected)." #~ msgstr "" #~ "Filsystemet har ikke en størrelse som Windows kan lide. Antal klynger er " #~ "%d (%d forventet); størrelsen på FAT-erne er %d sektorer (%d forventet)." #~ msgid "" #~ "Partition size (%ld sectors) and filesystem size (%ld sectors) do not " #~ "match." #~ msgstr "" #~ "Partitionens størrelse (%ld sektorer) og filsystemets størrelse (%ld " #~ "sektorer) stemmer ikke overens." #~ msgid "Linux-swap partitions can not be hidden on msdos disk labels." #~ msgstr "" #~ "Linux swappartitioner kan ikke skjules på et filsystem af typen msdos." #~ msgid "Linux-swap partitions can not be bootable on pc98 disk labels." #~ msgstr "Linux swappartitioner er ikke opstartelige på pc98." #~ msgid "HFS partitions can't be hidden on msdos disk labels." #~ msgstr "" #~ "Partitioner af type HFS kan ikke skjules på filsystemer af typen msdos." #~ msgid "JFS partitions can't be hidden on msdos disk labels." #~ msgstr "" #~ "Partitioner af type JFS kan ikke skjules på filsystemer af typen msdos." #~ msgid "Reiserfs partitions can't be hidden on msdos disk labels." #~ msgstr "" #~ "Partitioner af type Reiserfs kan ikke skjules på filsystemer af typen " #~ "msdos." #~ msgid "Reiserfs partitions must be bootable on pc98 disk labels." #~ msgstr "Reiserfs-partitioner skal være opstartelige på pc98." #~ msgid "XFS partitions can't be hidden on msdos disk labels." #~ msgstr "" #~ "Partitioner af type XFS kan ikke skjules på filsystemer af typen msdos." #~ msgid "" #~ "The operating system thinks the geometry on %s is %d/%d/%d. You should " #~ "check that this matches the BIOS geometry before using this program." #~ msgstr "" #~ "Operativsystemet tror at %s geometri er %d/%d/%d. Du bør kontrollere at " #~ "dette stemmer overens med informationen i BIOS inden du anvender " #~ "programmet." parted-2.3/po/sv.gmo0000644000000000000000000017252011400005706011276 00000000000000Þ•$³, ø*;ù*5.0H.0y.2ª.*Ý.-/$6/*[/2†/%¹/,ß/& 0)30&]0,„0#±0$Õ0!ú0&1(C1<l13©1!Ý1Êÿ1Ê2á20ö2,'35T3PŠ3/Û3] 4Gi4&±4Ø4õ4 ü4+5+35_5#~5#¢5Æ50ä56(46]6 }6'ž6%Æ6)ì67'672^7<‘7Î7ã78 8768n80‚8(³8%Ü899<9,X9…9,£9-Ð9 þ9(:H:d:„:¤:ަ:^5;”;W˜;ð;<F<0_<<<DÍ<P=]c=HÁ= >$(>DM>"’>-µ>ã> ç>Lñ>>>?}?!š?)¼?!æ?G@(P@<y@@¶@2÷@"*A?MA!A2¯AâA]éA=GBD…BIÊBCo'C"—D*ºDåDQE(UE~EE¼EÛEúEF3F)SF-}F$«FÐFïFG/GOGoGŒGªG'ÇG7ïG'H'>HfHë„H#pI”I/¯I ßJ ìJ÷JK KKK&4K[K(pK$™K¾KÛKùKL:3L\nL=ËL? M>IMˆM™M&­MÔM ÚMæM ÷M¶NºN´ÌN>O*ÀOLëO=8P;vP/²P<âP+QHKQ*”Q¿QßQ>ñQ0R°R´RÄR ÊRHÕR SK)S0uS}¦Sc$T?ˆT ÈTÔTðTÿTUÛ,UIVGRWUšWðW÷WX 'Y 3YAYXYuY‘Y9©YãY4óY4(Z]Z$|Z¡Z³Z)ÎZ>øZ7[N[g[v[[ [ ¯[º[Ê[”å[z\ \‹\  \«\®\À\Ð\Ù\ø\].]L]d]k]n]+w]/£]/Ó]^0^C^S^?h^.¨^)×^._N0_Q_Ñ_æ_)ÿ_)`9`-K`y`"‰`#¬`Ð`è`CaGa$^aƒaœ‰a&b,@bmbrb3b7µbíbübcc"cH*c<sc;°c<ìcM)d;wd>³d<òdD/eXte>Íe f‚(f<«fHèf<1gngFðg/7h^ghpÆho7ic§ih jHtjH½j kÙ'k*l?,l0ll0lšÎm,in–n´n7Ôn¨ o¶µp@lq@­qgîq/Vr7†rp¾r:/sƒjs;îsU*t€t”t°tÍt&àtu u(u(Fu&out–u& v(2vA[vv3°vävêvòv w(wDwYwkw}w wœw´w*Êwõw x ¶xÀx#Õx#ùxy1y;Ky‡yHy+Øy?zˆDzÍzêz;{3={/q{+¡{'Í{#õ{|9|U|e|~|#‚|b¦|Z }~d}Pã}?4~t~z~€~ ‚~~ ­~·~¼~MÂ~19N<‹!”¶Ë æðYù)S€.}€.¬€Û€à€ô€Où€I P[v‘$±Ö èö+ú&‚.‚2‚C‚L‚T‚Y‚Qa‚³‚9º‚ô‚Lý‚JƒRƒ>Wƒ–ƒžƒF£ƒ#ꃄ„„.„6„…;„UÁ„)…A…F…N…”T…é…5î…$† )†4†O†SV†ª†T±†‡@ ‡J‡O‡j‡Bq‡´‡L¸‡ ˆˆQ.ˆ€ˆ…ˆUŒˆâˆôˆ‰E ‰R‰kZ‰ ƉÒ‰g뉣S‹÷Ž. -:/h(˜+Á"í(09#j*Ž$¹'Þ$‘*+‘!V‘"x‘›‘$»‘&à‘:’1B’+t’Ì ’`m“]Γ<,”/i”:™”KÔ”, •_M•E­•0ó•$–@– G–7R–7Š–!–&ä–$ — 0—7Q—)‰—3³—0ç—/˜0H˜0y˜5ª˜%à˜1™88™Fq™¸™,Ñ™-þ™,š;Fš‚š4›š)К*úš+%›#Q›u›,‘›¾›,Ý›- œ!8œ)Zœ„œ›œµœÏœ•ÑœWg¿[ž:žYPž:ªžAåžL'ŸftŸzÛŸ]V "´ 2× H ¡&S¡*z¡ ¥¡ °¡[»¡S¢(k¢&”¢1»¢'í¢I£._£<Ž£BË£1¤&@¤Sg¤%»¤Bá¤$¥_+¥P‹¥OÜ¥S,¦€¦8“¦#̨,ð¨"©[@©-œ© Ê© ë© ª -ª Nªoª"Žª0±ª0âª&«):«!d«!†«!¨«!Ê«!쫬.¬*M¬=x¬¶¬+Ьü¬õ­&® 7®KX® ¤¯±¯À¯ЯÕ¯Û¯ ߯6°%7°&]°0„°#µ°Ù°"ø°±E:±Z€±RÛ±R.²H²ʲݲ3ð² $³/³?³ N³ÁX³´É1´Jû´:FµXµIÚµ@$¶3e¶H™¶'â¶@ ·5K·%·§·G¶·‹þ·Џ“¸©¸ ±¸N¾¸ ¹[¹6x¹—¯¹qGºU¹º »»8»J»^»Ûx»[T¼Y°½a ¾l¾u¾"‘¾ ´¿ À¿οå¿þ¿À=2ÀpÀ5À8·À ðÀ(Á:ÁQÁ,mÁKšÁæÁúÁÂ&ÂFÂU fÂrƒ¼ Â]à bÃlÃÔØëà Àà ÍÃ)îÃÄ+7Ä0cĔěĞÄ4§Ä4ÜÄ:ÅLÅ-\ÅŠÅ›ÅT±Å+Æ(2Æ,[ÆTˆÆTÝÆ2ÇHÇ0`ǑǡÇ;³ÇïÇþÇ'ÈEÈ!\ÈE~ÈÄÈ.âÈ ɤÉÄÉ+äÉÊÊ1'Ê=YÊ —Ê£ÊÂÊÊÊÓÊYÜÊJ6ËFËDÈËT ÌEbÌB¨ÌQëÌQ=ÍdÍCôÍ8ΑXÎ4êÎ[Ï3{Ït¯ÏF$Ð7kÐm£Ð„Ñ|–ÑwÒ€‹ÒU ÓUbÓ¸ÓíÕÓ'ÃÔLëÔP8ÕB‰Õ™ÌÖ#f×'Š×*²×0Ý×ÇجÖÙAƒÚ@ÅÚvÛ1}Û@¯Û‰ðÛ:zÜ‚µÜ88ÝTqÝÆÝ áÝ!Þ!$Þ(FÞoÞsÞ1…Þ1·Þ)éÞ~ß'’ß-ºßVèß?à8UàŽà•àœà³àÎàëàüàá$á 8áDá]á2sá$¦á´Ëá €âŽâ¤âÄâäâöâFãWãS_ã2³ãSæãƒ:ä¾äÖä9íä2'å.Zå*‰å&´å"Ûåþåæ8æHæ`æ)cæŽæ`çƒ}çcèOeèµè»èÃèÅèÚè øèé éNé féséé˜é^ éÿé'ê.ê>ê Yêdêwlê,äê6ë6Hëë†ë™ë^ ëÿë ìì+ìHì&hìì ¢ì®ì.²ìáìéìíìüìí ííSíní<uí²íN»í îîAî[îcîMhî(¶îßîâî æîïï}ï_’ï7òï*ð/ð7ð¢<ðßð;çð#ñ(ñ#0ñTñ_[ñ»ñaÊñ,òA4òvòzò‘òD—ò ÜòNæò5ó=óbZó½óÎó^Õó4ôFô[ôMaô¯ôk·ô#õ#,õ@$„¹+qÿk¸ä#7F­Hòp>©&XÝcoþèÙO²ÔýÎpÆ©`¼~íw=ˆºT’6S_ýÑ)㘜-ž¬{ÓQ} ,¨m¿|™›ÞÇž«l ÷ÐóƒàZŽ.‘i•ô½Ð<jB#xÜ-«OGǪÃÈAEœz„F!\+éW®Yy,8r{ç5^Þ¿¡å9âZ/‘%qk?Ô'ÒÜmÕöb˧ϱM£JHÓør¦ð. ÃLÝ=³¤ö­›údõ|6¡ºïÕÍ”UtD"Ù;†¬ñäVîëP³†QùR ;§g}¸Cb»hÄGòÉÚ‚ fØR—¦eóÌ_uj™cL–êÂ4´®eo± è“¶WÆ*Ev\"Œ“‚?[áøD¢ ]‰ ÊéKt¯ƒ%×ÚµYwŸ–h~*Ø<ÛªšÈ×çCæÿ·Ä[:¨ÖP ;²fÀÅK·:¶Éð€ &I€$托X2ßÖ¼Ms»2UVàÎS d¢¾ñ'0z°âãì]@Ñùuaþ¥l¹‹0ûÒ sg/ßì I¥>ú1îŸå”Œ½áêšÀ 8ÊÁЇµïŠ9NŽÛ£…ë(3T—`5xa¤Ïõ¯üÁ)y‡ií‹4ËÂJÌüô°´(…’÷nnû7!^B1AÅv3ˆ•N You found a bug in GNU Parted! Here's what you have to do: Don't panic! The bug has most likely not affected any of your data. Help us to fix this bug by doing the following: Check whether the bug has already been fixed by checking the last version of GNU Parted that you can find at: http://ftp.gnu.org/gnu/parted/ Please check this version prior to bug reporting. If this has not been fixed yet or if you don't know how to check, please visit the GNU Parted website: http://www.gnu.org/software/parted for further information. Your report should contain the version of this release (%s) along with the error message below, the output of parted DEVICE unit co print unit s print and the following history of commands you entered. Also include any additional information about your setup you consider important. Command History: Error: A general SIGFPE signal was encountered. Error: A general SIGILL signal was encountered. Error: A general SIGSEGV signal was encountered. Error: FPE_FLTDIV (Float: divide by zero) Error: FPE_FLTINV (Float: invalid operation) Error: FPE_FLTOVF (Float: overflow) Error: FPE_FLTRES (Float: inexact result) Error: FPE_FLTSUB (Float: subscript out of range) Error: FPE_FLTUND (Float: underflow) Error: FPE_INTDIV (Integer: divide by zero) Error: FPE_INTOVF (Integer: overflow) Error: ILL_BADSTK (Internal Stack Error) Error: ILL_COPROC (Coprocessor Error) Error: ILL_ILLADR (Illegal addressing mode) Error: ILL_ILLOPC (Illegal Opcode) Error: ILL_ILLOPN (Illegal Operand) Error: ILL_ILLTRP (Illegal Trap) Error: ILL_PRVOPC (Privileged Opcode) Error: ILL_PRVREG (Privileged Register) Error: SEGV_ACCERR (Invalid permissions for mapped object) Error: SEGV_MAPERR (Address not mapped to object) Is this still acceptable to you? License GPLv3+: GNU GPL version 3 or later . This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Report bugs to <%s>. Report bugs to: %s When no DEVICE is given, probe all partitions. --help display this help and exit --version output version information and exit NUMBER : display more detailed information about this particular partition devices : display all active block devices free : display information about free unpartitioned space on the current block device list, all : display the partition tables of all active block devices "%s" has invalid syntax for locations.%0.f%% (time left %.2d:%.2d)%s %s%s %s %s%s : Bad checksum on block %llu of type %s %s : Bad checksum on block %llu of type %s.%s : Couldn't read block %llu %s : Couldn't read boot block %llu %s : Couldn't read root block %llu %s : Couldn't write block %d %s : Didn't find rdb block, should never happen.%s : Failed to allocate block %s : Failed to allocate partition block %s : Failed to list bad blocks.%s : Failed to list boot blocks.%s : Failed to list file system blocks.%s : Failed to list partition blocks.%s : Failed to read partition block %llu %s : Loop detected at block %d.%s : The %s list seems bad at block %s.%s disk labels do not support extended partitions.%s disk labels don't support logical or extended partitions.%s during read on %s%s during seek for read on %s%s during seek for write on %s%s during write on %s%s has no extended partition (volume header partition).%s home page: <%s> %s home page: %s is %dk, but it has %d clusters (%dk).%s is too small for a Mac disk label!%s trying to sync %s to disk%s%s argument `%s' too large%s: invalid option -- '%c' %s: option '%c%s' doesn't allow an argument %s: option '%s' is ambiguous %s: option '--%s' doesn't allow an argument %s: option '-W %s' doesn't allow an argument %s: option '-W %s' is ambiguous %s: option requires an argument -- '%c' %s: unrecognised disk label%s: unrecognized option '%c%s' %s: unrecognized option '--%s' ''mkpart' makes a partition without creating a new file system on the partition. FS-TYPE may be specified to set an appropriate partition ID. 'version' displays copyright and version information corresponding to this copy of GNU Parted (C)A %s %s partition was found at %s -> %s. Do you want to add it to the partition table?API version mismatchATARAID ControllerAn extended partition cannot hold a file system. Did you want mkpart?Assertion (%s) at %s:%d in function %s() failed.Attempt to write sectors %ld-%ld outside of partition on %s.BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s. Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or scandisk.Bad FAT: cluster %d outside file system in chain for %s. You should run dosfsck or scandisk.Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk.Bad blocks could not be read.Bad blocks list could not be loaded.Bad directory entry for %s: first cluster is the end of file marker.Block %i has no reference? Weird.Block %i shouldn't have been marked (%d, %d)!BugCOMMANDs:Can't add a logical partition to %s, because there is no extended partition.Can't add another partition -- the partition map is too small!Can't add another partition.Can't copy an extended partition.Can't copy onto an overlapping partition.Can't create any more partitions.Can't have a logical partition outside of the extended partition on %s.Can't have a partition outside the disk!Can't have a primary partition inside an extended partition.Can't have logical partitions outside of the extended partition.Can't have more than one extended partition on %s.Can't have overlapping partitions.Can't move a partition onto itself. Try using resize, perhaps?Can't move an extended partition.Can't write to %s, because it is opened read-only.CancelChanging the name of a root or swap partition will prevent Linux from recognising it as such.Checksum is wrong, indicating the partition table is corrupt.Clear unused space on a FAT partition (a GNU Parted testing tool). Cluster start delta = %d, which is not a multiple of the cluster size %d.Compaq Smart ArrayCopyright (C) 1998 - 2006 Free Software Foundation, Inc. This program is free software, covered by the GNU General Public License. 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. Corrupted Sun disk label detected.Could not cache the file system in memory.Could not detect file system.Could not determine sector size for %s: %s. Using the default sector size (%lld).Could not get identity of device %s - %sCould not read VTOC FMT1 DSCB.Could not read VTOC FMT4 DSCB.Could not read VTOC FMT5 DSCB.Could not read VTOC FMT7 DSCB.Could not read VTOC labels.Could not read volume label.Could not retrieve API version.Could not retrieve blocksize information.Could not retrieve disk geometry information.Could not retrieve disk information.Could not stat device %s - %s.Could not write VTOC FMT1 DSCB.Could not write VTOC FMT4 DSCB.Could not write VTOC FMT5 DSCB.Could not write VTOC FMT7 DSCB.Could not write VTOC labels.Could not write volume label.Couldn't flush buffer cache!Couldn't resolve symbol %s. Error: %s.Cross-linked blocks found! Better go run e2fsck first!DAC960 RAID controllerDEVICE is usually /dev/hda or /dev/sda Destination partition number?Device %s has multiple (%d) logical sectors per physical sector. GNU Parted supports this EXPERIMENTALLY for some special disk label/file system combinations, e.g. GPT and ext2/3. Please consult the web site for up-to-date information.Device is too small for %lu blocks.Device verification failedDirect support for copying file systems is not yet implemented for %s. However, support for resizing is implemented. Therefore, the file system can be copied if the new partition is at least as big as the old one. So, either shrink the partition you are trying to copy, or copy to a bigger partition.Disk %s: %s Disk ImageDisk is in useEndEnd?ErrorError allocating buffer cache.Error initialising SCSI device %s - %sError opening %s: %sError while writing the allocation file.Error writing to the root directory.Expecting a disk label type.Expecting a file system type.Expecting a partition number.Expecting a partition type.Extended partitions cannot be hidden on msdos disk labels.FAT %d media %x doesn't match the boot sector's media %x. You should probably run scandisk.FAT boot sector says clusters are 0 sectors. This is weird. FAT boot sector says logical sector size is 0. This is weird. FAT boot sector says there are no FAT tables. This is weird. FLAG is one of: FS-TYPE is one of: Failed to write partition block at %d.FatalFatal errorFile System: %s File systemFile system doesn't have expected sizes for Windows to like it. Cluster size is %dk (%dk expected); number of clusters is %d (%d expected); size of FATs is %d sectors (%d expected).File system full!File system has an incompatible feature enabled. Compatible features are has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs or debugfs to remove features.File system has an invalid cluster size for a FAT file system.File system has an invalid number of FATs.File system has an invalid number of reserved sectors for a FAT file system.File system has an invalid sector size for a FAT file system.File system has an invalid signature for a FAT file system.File system has errors! You should run e2fsck.File system has too many allocated inodes to remove a group!File system is FAT12, which is unsupported.File system is reporting the free space as %d clusters, not %d clusters.File system is too full to remove a group!File system too small for ext2.File system type?File system was not cleanly unmounted! You should run e2fsck.File system was not cleanly unmounted! You should run e2fsck. Modifying an unclean file system could cause severe corruption.FixFlag to Invert?FlagsFlags: %s Found an inode with a incorrect link count. Better go run e2fsck first!Free SpaceGNU Parted cannot resize this partition to this size. We're working on it!GNU Parted found an invalid libreiserfs library.GNU Parted has detected libreiserfs interface version mismatch. Found %d-%d, required %d. ReiserFS support will be disabled.GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT support will be disabled.General help using GNU software: Generic IDEGeneric SD/MMC Storage CardI2O ControllerIBM S390 DASD driveIBM iSeries Virtual DASDIf you convert to FAT16, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual).If you convert to FAT32, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual). Also, converting to FAT32 will make the file system unreadable by MS DOS, MS Windows 95a, and MS Windows NT.If you leave your file system as FAT16, then you will have no problems.If you leave your file system as FAT32, then you will not introduce any new problems.IgnoreInconsistent group descriptors!Inform the operating system about partition table changes. -d, --dry-run do not actually inform the operating system -s, --summary print a summary of contents -h, --help display this help and exit -v, --version output version information and exit InformationInvalid VTOC.Invalid back referenceInvalid character class nameInvalid collation characterInvalid content of \{\}Invalid free blocks count. Run reiserfsck --check first.Invalid number.Invalid partition table - recursive partition on %s.Invalid partition table on %s -- wrong signature %x.Invalid partition table on %s.Invalid preceding regular expressionInvalid range endInvalid regular expressionInvalid signature %x for Mac disk labels.Invalid superblock. Are you sure this is an ext2 file system?LABEL-TYPE is one of: Linux device-mapper (%s)Maximum size: Memory allocation failedMemory exhaustedMinimum size: Minor: %d Model: %s (%s) NAME is any word you want NUMBER is the partition number used by Linux. On MS-DOS disk labels, the primary partitions number from 1 to 4, logical partitions from 5 onwards. NameNew device?New disk label type?New state?NoNo ImplementationNo device foundNo matchNo previous regular expressionNo room for partition info.No room for volume label.No valid partition map found.Not enough free inodes!NumberOKOPTIONs:Only logical partitions can be a boot file.Only primary partitions can be root partitions.Only primary partitions can be swap partitions.Out of memory.PART-TYPE is one of: primary, logical, extended Packaged by %s Packaged by %s (%s) Parted can't resize partitions managed by Windows Dynamic Disk.Partition %d has an invalid length of 0 bytes!Partition %d has an invalid signature %x.Partition %d is %s, but the file system is %s.Partition %d isn't aligned to cylinder boundaries. This is still unsupported.Partition %s is being used. You must unmount it before you modify it with Parted.Partition Table: %s Partition doesn't exist.Partition map has no partition map entry!Partition name?Partition number?Partition too big/small for a %s file system.Partition type?Partition(s) on %s are being used.Premature end of regular expressionPromise SX8 SATA DeviceRegular expression too bigReiserfs tree seems to be corrupted. Run reiserfsck --check first.Report %s bugs to: %s Resizing the HFS+ volume has failed.RetrySTART and END are disk locations, such as 4GB or 10%. Negative values count from the end of the disk. For example, -1s specifies exactly the last sector. STATE is one of: on, off Sector size (logical/physical): %lldB/%lldB SizeSize: Sorry, can't move the start of ext2 partitions yet!Sorry, can't move the start of reiserfs partitions yet.Source device?Source partition number?StartStart?SuccessSupport for adding partitions to AIX disk labels is not implemented yet.Support for checking %s file systems is not implemented yet.Support for copying %s file systems is not implemented yet.Support for creating %s file systems is not implemented yet.Support for duplicating partitions in AIX disk labels is not implemented yet.Support for opening %s file systems is not implemented yet.Support for reading AIX disk labels is is not implemented yet.Support for resizing %s file systems is not implemented yet.Support for setting flags in AIX disk labels is not implemented yet.Support for setting system type of partitions in AIX disk labels is not implemented yet.Support for writing AIX disk labels is is not implemented yet.Syntax error in config fileThe FATs don't match. If you don't know what this means, then select cancel, run scandisk on the file system, and then come back.The boot region doesn't start at the start of the partition.The current API version '%d' doesn't match dasd driver API version '%d'!The data region doesn't start at the start of the partition.The device %s has zero length, and can't possibly store a file system or partition table. Perhaps you selected the wrong device?The disk has %d cylinders, which is greater than the maximum of 65536.The disk label describes a disk bigger than %s.The driver descriptor says the physical block size is %d bytes, but Linux says it is %d bytes.The existing disk label on %s will be destroyed and all data on this disk will be lost. Do you want to continue?The existing file system will be destroyed and all data on the partition will be lost. Do you want to continue?The ext2 file system passed a basic check. For a more comprehensive check, use the e2fsck program.The file %s is marked as a system file. This means moving it could cause some programs to stop working.The file system can only be resized to this size by converting to FAT16.The file system can only be resized to this size by converting to FAT32.The file system contains errors.The file system has the 'dir_index' feature enabled. Parted can only resize the file system if it disables this feature. You can enable it later by running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'.The file system is bigger than its volume!The file system is in an invalid state. Perhaps it is mounted?The file system is in old (unresizeable) format.The file system's CHS geometry is (%d, %d, %d), which is invalid. The partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the file system's CHS geometry will be left unchanged. If you select Fix, the file system's CHS geometry will be set to match the partition table's CHS geometry.The information sector has the wrong signature (%x). Select cancel for now, and send in a bug report. If you're desperate, it's probably safe to ignore.The location %s is outside of the device %s.The maximum head value is %d.The maximum sector value is %d.The partition must have one of the following FS-TYPEs: The partition table cannot be re-read. This means you need to reboot before mounting any modified partitions. You also need to reinstall your boot loader before you reboot (which may require mounting modified partitions). It is impossible do both things! So you'll need to boot off a rescue disk, and reinstall your boot loader from the rescue disk. Read section 4 of the Parted User documentation for more information.The partition table on %s cannot be re-read (%s). This means the Hurd knows nothing about any modifications you made. You should reboot your computer before doing anything with %s.The partition's boot region doesn't occupy the entire partition.The partition's data region doesn't occupy the entire partition.The reiserfs file system passed a basic check. For a more comprehensive check, run reiserfsck --check.The specified device is not a valid DASD deviceThere are no possible configurations for this FAT type.There's not enough room in the root directory for all of the files. Either cancel, or ignore to lose the files.This command does not make sense in non-interactive mode. This file system has a logical sector size of %d. GNU Parted is known not to work properly with sector sizes other than 512 bytes.This is not an ECKD disk! This disk type is not supported!This libparted doesn't have write support for %s. Perhaps it was compiled read-only.Too many bad pages.Too many primary partitionsToo many primary partitions.Trailing backslashTry `%s --help' for more information. TypeUNIT is one of: Unable to allocate a bsd disklabel slot.Unable to allocate a dasd disklabel slotUnable to allocate a partition number.Unable to determine geometry of file/device %s. You should not use Parted unless you REALLY know what you're doing!Unable to determine the dm type of %s.Unable to determine the size of %s (%s).Unable to open %s read-write (%s). %s has been opened read-only.Unable to open %s.Unable to satisfy all constraints on the partition.Unit?UnknownUnknown disk flag, %d.Unknown file system type "%s".Unknown partition flag, %d.Unknown system errorUnmatched ( or \(Unmatched ) or \)Unmatched [ or [^Unmatched \{Unsupported disk formatUnsupported disk typeUsage: %s [OPTION] or: %s DEVICE MINOR Usage: %s [OPTION] [DEVICE]... Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...] Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run in interactive mode. Using %s Valid arguments are:Version %d of HFS+ isn't supported.Version %d of HFSX isn't supported.Virtio Block DeviceVolume label is corruptedWARNING: You are not superuser. Watch out for permissions.WarningWeird block size on device descriptor: %d bytes is not divisible by 512.Weird! There are 2 partitions map entries!Welcome to GNU Parted! Type 'help' to view a list of commands. Without arguments, 'print' displays the entire partition table. However with the following arguments it performs various other actions. Would you like to use FAT32?Written by %s and %s. Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, and %s. Written by %s, %s, %s, and %s. Written by %s, %s, and %s. Written by %s. Xen Virtual Block DeviceYesYou may need to update /etc/fstab. You need %s of free disk space to shrink this partition to this size. Currently, only %s is free.You requested a partition from %s to %s. The closest location we can manage is %s to %s.%sYou should reinstall your boot loader before rebooting. Read section 4 of the Parted User documentation for more information.Your file system has too many occupied inodes to resize it to %i blocks. Sorry.Your file system is too full to resize it to %i blocks. Sorry.^[nN]^[yY]`adding groupsambiguous argument %s for %sbios_grubbootcheckcheck NUMBER do a simple check on the file systemcheckingchecking for bad blockscopyingcpcp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another partitioncreatingdisplays machine parseable outputdisplays the versiondisplays this help messageexpandingextendedfailed to set dvh partition name to %s: Only logical partitions (boot files) have a name.fat_table_alloc_cluster: no free clustersfat_table_get: cluster %ld outside file systemfat_table_set: cluster %ld outside file systemfreegrowing file systemhelphelp [COMMAND] print general help, or help on COMMANDhiddenhp-serviceinvalid %s%s argument `%s'invalid argument %s for %sinvalid minor device number: %sinvalid suffix in %s%s argument `%s'invalid token: %sioctl() errorlbalists partition layout on all block deviceslogicallvmmemory exhaustedmetadataminimalmkfsmklabelmklabel,mktable LABEL-TYPE create a new disklabel (partition table)mkpartmkpart PART-TYPE [FS-TYPE] START END make a partitionmkpartfsmkpartfs PART-TYPE FS-TYPE START END make a partition with a file systemmktablemovemove NUMBER START END move partition NUMBERmsftresnamename NUMBER NAME name partition NUMBER as NAMEnever prompts for user interventionoffonopening of device failedoptimalpaloparted was unable to re-read the partition table on %s (%s). This means Linux won't know anything about the modifications you made. partition length of %jd sectors exceeds the %s-partition-table-imposed maximum of %jdped_device_new() Unsupported device typeprepprimaryprintprint [devices|free|list,all|NUMBER] display the partition table, available devices, free space, all found partitions, or a particular partitionquitquit exit programraidread errorreading from device failedrescuerescue START END rescue a lost partition near START and ENDresizeresize NUMBER START END resize partition NUMBER and its file systemrmrm NUMBER delete partition NUMBERrootsearching for file systemsselectselect DEVICE choose the device to editsetset NUMBER FLAG STATE change the FLAG on partition NUMBERshrinkingshrinking embedded HFS+ volumestarting sector number, %jd exceeds the %s-partition-table-imposed maximum of %jdswaptoggletoggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBERtoo few argumentstoo many argumentsunitunit UNIT set the default unit to UNITversionversion display the version number and copyright information of GNU Partedwrite errorwriting to device failedProject-Id-Version: parted 2.2 Report-Msgid-Bugs-To: bug-parted@gnu.org POT-Creation-Date: 2010-05-28 20:30+0200 PO-Revision-Date: 2010-03-21 15:25+0100 Last-Translator: Daniel Nylander Language-Team: Swedish Language: sv MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Du har hittat ett fel i GNU Parted! Det här behöver du göra: FÃ¥ inte panik! Felet har antagligen inte pÃ¥verkat nÃ¥got av ditt data. Hjälp oss att rätta till detta fel genom att göra följande: Kontrollera huruvida felet redan har rättats till genom att kontrollera den senaste versionen av GNU Parted som du kan hitta pÃ¥: http://ftp.gnu.org/gnu/parted/ Kontrollera med denna version innan du rapporterar felet. Om det inte har rättats till än, eller om du inte vet hur du ska kontrollera det, sÃ¥ besök webbsidan för GNU Parted: http://www.gnu.org/software/parted för ytterligare information. Din rapport bör innehÃ¥lla versionsnumret för denna utgÃ¥va (%s) tillsammans med felmeddelandet nedan samt utskriften frÃ¥n parted ENHET unit co print unit s print och följande kommandohistorik som du angav. Inkludera även ytterligare information om din konfiguration som du anser vara viktigt att veta. Kommandohistorik: Fel: A general SIGFPE signal was encountered. Fel: En allmän SIGILL-signal pÃ¥träffades. Fel: En allmän SIGSEGV-signal pÃ¥träffades. Fel: FPE_FLTDIV (Float: divide by zero) Fel: FPE_FLTINV (Float: invalid operation) Fel: FPE_FLTOVF (Float: overflow) Fel: FPE_FLTRES (Float: inexact result) Fel: FPE_FLTSUB (Float: subscript out of range) Fel: FPE_FLTUND (Float: underflow) Fel: FPE_INTDIV (Integer: divide by zero) Fel: FPE_INTOVF (Integer: overflow) Fel: ILL_BADSTK (Internal Stack Error) Fel: ILL_COPROC (Coprocessor Error) Fel: ILL_ILLADR (Illegal addressing mode) Fel: ILL_ILLOPC (Illegal Opcode) Fel: ILL_ILLOPN (Illegal Operand) Fel: ILL_ILLTRP (Illegal Trap) Fel: ILL_PRVOPC (Privileged Opcode) Fel: ILL_PRVREG (Privileged Register) Fel: SEGV_ACCERR (Invalid permissions for mapped object) Fel: SEGV_MAPERR (Address not mapped to object) Är detta fortfarande godtagbart för dig? Licens GPLv3+: GNU GPL version 3 eller senare . Detta är fri programvara: du fÃ¥r ändra och distribuera den. Det finns INGEN GARANTI, sÃ¥ lÃ¥ngt som lagen tillÃ¥ter. Rapportera fel till <%s>. Skicka synpunkter pÃ¥ översättningen till . Rapportera fel till: %s Skicka synpunkter pÃ¥ översättningen till När ingen ENHET har angivits, undersök alla partitioner. --help visa denna hjälp och avsluta --version skriv ut versionsinformation och avsluta NUMMER : visa mer detaljerad information om denna specifika partition devices : visa alla aktiva blockenheter free : visa information om ledigt, opartitionerat utrymme pÃ¥ den aktuella blockenheten list, all : visa partitionstabellerna pÃ¥ alla aktiva blockenheter "%s" innehÃ¥ller en ogiltig syntax för platser.%0.f%% (tid kvar %.2d:%.2d)%s %s%s %s %s%s : Felaktig kontrollsumma pÃ¥ block %llu av typen %s %s : Felaktig kontrollsumma pÃ¥ block %llu av typen %s.%s : Kunde inte läsa block %llu %s : Kunde inte läsa startblock %llu %s : Kunde inte läsa rotblock %llu %s : Kunde inte skriva block %d %s : Hittade inte rdb-blocket. Detta ska aldrig hända.%s : Misslyckades med att allokera block %s : Misslyckades med att allokera partitionsblock %s : Misslyckades med att lista felaktiga block.%s : Misslyckades med att lista uppstartsblock.%s : Misslyckades med att lista filsystemsblock.%s : Misslyckades med att lista partitionsblock.%s : Misslyckades med att läsa partitionsblock %llu %s : Slinga upptäcktes pÃ¥ block %d.%s : %s-listan verkar vara felaktig pÃ¥ block %s.%s-disketiketter saknar stöd för utökade partitioner.%s-disketiketter saknar stöd för logiska eller utökade partitioner.%s under läsning pÃ¥ %s%s under positionering för att läsa pÃ¥ %s%s under positionering för att skriva pÃ¥ %s%s under skrivning pÃ¥ %s%s har ingen utökad partition (partition för volymhuvud).Webbplats för %s: <%s> Webbsida för %s: %s är %dk, men den har %d kluster (%dk).%s är för liten för en Mac-disketikett!%s försöker att synkronisera %s till disk%s%s-argumentet "%s" är för stort%s: ogiltig flagga -- "%c" %s: flaggan "%c%s" tillÃ¥ter inget argument %s: flaggan "%s" är tvetydig %s: flaggan "--%s" tillÃ¥ter inget argument %s: flaggan "-W %s" tillÃ¥ter inget argument %s: flaggan "-W %s" är tvetydig %s: flaggan kräver ett argument -- "%c" %s: okänt disketikett%s: okänd flagga "%c%s" %s: okänd flagga "--%s" ""mkpart" skapar en partition utan att skapa ett nytt filsystem pÃ¥ partitionen. FS-TYP mÃ¥ste anges för att ställa in ett lämpligt partitions-id. "version" visar information om version och upphovsrätt för denna kopia av GNU Parted ©En %s %s-partition hittades pÃ¥ %s -> %s. Vill du lägga till den till partitionstabellen?API-versionen stämmer inteStyrkort för ATARAIDEn utökad partition kan inte innehÃ¥lla ett filsystem. Ville du verkligen köra mkpart?Försäkran (%s) pÃ¥ %s:%d i funktionen %s() misslyckades.Försökte skriva sektorerna %ld-%ld utanför partitionen pÃ¥ %s.BIOS-geometri för cylinder,huvud,sektor: %d,%d,%d. Varje cylinder är %s. Trasig filallokeringstabell: kluster %d är korslänkad för %s. Du bör köra dosfsck eller scandisk.Trasig filallokeringstabell: kluster %d ligger utanför filsystemet i kedja för %s. Du bör köra dosfsck eller scandisk.Trasig filallokeringstabell: ej avslutad kedja för %s. Du bör köra dosfsck eller scandisk.Felaktiga block kunde inte läsas.Listan över felaktiga block kunde inte läsas in.Felaktig katalogpost för %s: första klustret är en filslutsmarkering.Block %i har ingen referens? Konstigt.Block %i borde inte ha markerats (%d, %d)!ProgramfelKOMMANDON:Kan inte lägga till en logisk partition till %s, eftersom det saknas en utökad partition.Kan inte lägga till ytterligare en partition -- partitionstabellen är för liten!Kan inte lägga till ännu en partition.Kan inte kopiera en utökad partition.Kan inte kopiera till en överlappande partition.Kan inte skapa nÃ¥gra fler partitioner.Kan inte ha en logisk partition utanför den utökade partitionen pÃ¥ %s.Kan inte ha en partition utanför hÃ¥rddisken!Kan inte ha en primär partition inuti en utökad partition.Kan inte ha logiska partitioner utanför den utökade partitionen.Kan inte ha fler än en utökad partition pÃ¥ %s.Kan inte ha överlappande partitioner.Kan inte flytta en partition till sig själv. Prova att ändra storleken istället.Kan inte flytta en utökad partition.Kan inte skriva till %s eftersom den är öppnad som skrivskyddad.AvbrytAtt ändra namnet pÃ¥ en rot- eller växlingspartition gör att Linux inte kan känna igen dem.Kontrollsumman är felaktig, vilket indikerar att partitionstabellen är skadad.Töm oanvänt utrymme pÃ¥ en FAT-partition (ett testverktyg för GNU Parted). Klustrets startdifferens är %d, vilket inte är en multipel av klusterstorleken %dCompaq Smart ArrayUpphovsrätt © 1998-2006 Free Software Foundation, Inc. Detta program är fri programvara och innefattas av GNU General Public License. Följande text är en informell översättning som enbart tillhandahÃ¥lls i informativt syfte. För alla juridiska tolkningar gäller den engelska original- texten. Detta program distribueras i hopp om att det ska vara användbart, men UTAN NÃ…GON SOM HELST GARANTI, även utan underförstÃ¥dd garanti om SÄLJBARHET eller LÄMPLIGHET FÖR NÃ…GOT SPECIELLT ÄNDAMÃ…L. Se GNU General Public License för ytterligare information. Skadad Sun-disketikett upptäcktes.Kunde inte mellanlagra filsystemet i minnet.Kunde inte hitta nÃ¥got filsystem.Kunde inte fastställa sektorstorlek för %s: %s. Använder standardsektorstorleken (%lld).Kunde inte hitta identitet för enhet %s - %sKunde inte läsa VTOC FMT1 DSCB.Kunde inte läsa VTOC FMT4 DSCB.Kunde inte läsa VTOC FMT5 DSCB.Kunde inte läsa VTOC FMT7 DSCB.Kunde inte läsa VTOC-etiketter.Kunde inte läsa volymetikett.Kunde inte läsa av API-versionen.Kunde inte läsa av information om blockstorlek.Kunde inte läsa av information om diskgeometri.Kunde inte läsa av diskinformationen.Kunde inte ta status pÃ¥ enheten %s - %s.Kunde inte skriva VTOC FMT1 DSCB.Kunde inte skriva VTOC FMT4 DSCB.Kunde inte skriva VTOC FMT5 DSCB.Kunde inte skriva VTOC FMT7 DSCB.Kunde inte skriva VTOC-etiketter.Kunde inte skriva volymetikett.Kunde inte rensa buffercachen!Kunde inte slÃ¥ upp symbolen %s. Fel: %s.Korslänkade block hittades! Bäst att du kör e2fsck först!Styrkort för DAC960 RAIDENHET är vanligen /dev/hda eller /dev/sda Partitionsnummer för mÃ¥let?Enheten %s har flera (%d) logiska sektorer per fysisk sektor. GNU Parted har EXPERIMENTIELLT stöd för detta för vissa speciella kombinationer av disketikett/filsystem, t.ex. GPT och ext2/3. Referera till webbsidan för uppdaterad information.Enheten är för liten för %lu block.Enhetsverifieringen misslyckadesDirekt stöd för att kopiera filsystem är inte implementerat än för %s. Dock finns det stöd för att ändra storleken. Därför kan filsystemet kopieras om den nya partitionen är minst lika stor som den gamla. SÃ¥ antingen fÃ¥r du minska partitionen som du försöker kopiera, eller sÃ¥ kopierar du till en större partition.Disk %s: %s DiskavbildningDisken användsSlutSlut?FelKunde inte reservera buffercacheEtt fel uppstod vid initiering av SCSI-enheten %s - %sEtt fel uppstod när %s öppnades: %sFel vid skrivning av allokeringsfilen.Ett fel uppstod vid skrivning till rotkatalogen.Förväntade en typ av disketikett.Förväntade en filsystemstyp.Förväntade ett partitionsnummer.Förväntade en partitionstyp.Utökade partitioner kan inte gömmas i disketiketter av typen msdos.FAT %d media %x passar inte med startsektorns media %x. Du bör antagligen köra scandisk.FAT-startsektorn menar att ett kluster bestÃ¥r av 0 sektorer. Detta är märkligt.FAT-startsektorn menar att den logiska sektorstorleken är 0. Detta är märkligt.FAT-startsektorn menar att det saknas FAT-tabeller. Detta är märkligt.FLAGGA är en av: FS-TYP är en av: Misslyckades med att skriva partitionsblock pÃ¥ %d.ÖdesdigerÖdesdigert felFilsystem: %s FilsystemFilsystemet har inte en storlek som Windows gillar. Klusterstorleken är %dk (%dk förväntas); antalet kluster är %d (%d förväntas); storleken pÃ¥ FAT:arna är %d sektorer (%d förväntas).Filsystemet är fullt!Filsystemet har en inkompatibel funktion aktiverad. Kompatibla funktioner är has_journal, dir_index, filetype, sparse_super och large_file. Använd tune2fs eller debugfs för att ta bort funktioner.Filsystemet har en ogiltig klusterstorlek för ett filsystem av typen FAT.Filsystemet har ett ogiltigt antal filallokeringstabeller.Filsystemet har ett ogiltigt antal reserverade sektorer för ett filsystem av typen FAT.Filsystemet har en ogiltig sektorstorlek för ett filsystem av typen FAT.Filsystemet har en ogiltig signatur för filsystem av typen FAT.Filsystemet innehÃ¥ller fel! Du bör köra e2fsck.Filsystemet har för mÃ¥nga allokerade inoder för att ta bort en grupp!Filsystemet är FAT12, som inte stöds.Filsystemet menar att det fria utrymmet är %d kluster, inte %d.Filsystemet är för fullt för att ta bort en grupp!Filsystemet är för litet för ext2.Filsystemstyp?Filsystemet har inte avmonterats pÃ¥ rätt sätt! Du bör köra e2fsck.Filsystemet har inte avmonterats pÃ¥ rätt sätt! Du bör köra e2fsck. Ändring pÃ¥ ett inkorrekt filsystem kan orsaka allvarliga skador.RepareraFlagga att invertera?FlaggorFlaggor: %s Hittade en inode med felaktigt antal länkar. Bäst att du kör e2fsck först!Ledigt utrymmeGNU Parted kan inte ändra partitionen till den här storleken. Vi arbetar pÃ¥ en lösning!GNU Parted hittade ett ogiltigt libreiserfs-bibliotek.GNU Parted har upptäckt ett versionsfel i gränssnittet mot libreiserfs. Hittade %d-%d, men kräver %d. ReiserFS-stödet kommer att vara inaktiverat.GNU Parted kompilerades felaktigt: FAT-startsektorn skall vara 512 byte. Stödet för FAT kommer att inaktiveras.Allmän hjälp för hur man använder GNU-programvara: Allmän IDEAllmänt SD/MMC-lagringskortStyrkort för I2OIBM S390 DASD-enhetIBM iSeries virtuell DASDOm du konverterar till FAT16 och MS Windows är installerad pÃ¥ den här partitionen sÃ¥ mÃ¥ste du installera om MS Windows starthanterare. Om du gör det bör du studera Parteds manual (eller din distributions manual).Om du konverterar till FAT32 och MS Windows är installerad pÃ¥ den här partitionen mÃ¥ste du installera om MS Windows starthanterare. Om du gör det bör du studera Parteds manual (eller din distributions manual). Märk att genom att konvertera filsystemet till FAT32 kommer det inte att kunna läsas av MS DOS, MS Windows 95a och MS Windows NT.Om du lÃ¥ter filsystemet fortsätta vara FAT16 sÃ¥ kommer du inte att fÃ¥ nÃ¥gra problem.Om du lÃ¥ter filsystemet fortsätta vara FAT32 kommer du inte att introducera nÃ¥gra nya problem.IgnoreraInkonsistenta grupphandtag!Informera operativsystemet om ändringar i partitionstabell. -d, --dry-run testa med informera inte operativsystemet -s, --summary skriv ut ett sammandrag av innehÃ¥llet -h, --help visa denna hjälp och avsluta -v, --version skriv ut versionsinformation och avsluta InformationOgiltig VTOC.Ogiltig bakÃ¥treferensOgiltigt teckenklassnamnOgiltigt sorteringsteckenOgiltigt innehÃ¥ll i \{\}Ogiltigt antal lediga block. Kör reiserfsck --check först.Ogiltigt nummer.Ogiltig partitionstabell - rekursiv partition pÃ¥ %s.Ogiltig partitionstabell pÃ¥ %s -- felaktig signatur %x.Ogiltig partitionstabell pÃ¥ %s.Ogiltigt föregÃ¥ende reguljärt uttryckOgiltigt intervallslutOgiltigt reguljärt uttryckOgiltig signatur %x för en Mac-disketikett.Ogiltigt superblock. Är du säker pÃ¥ att det här är ett ext2-filsystem?PART-TYP är en av:Linux device-mapper (%s)Största storlek: Minnesallokeringen misslyckadesSlut pÃ¥ minneMinsta storlek: Mindre: %d Modell: %s (%s) NAMN är vilket ord du vill NUMMER är partitionsnumret som Linux använder. PÃ¥ disketiketter av typen MS-DOS är de primära partitionerna numrerade frÃ¥n 1 till 4, och de logiska partitionerna frÃ¥n 5 och uppÃ¥t. NamnNy enhet?Ny typ av disketikett?Nytt tillstÃ¥nd?NejInte implementeratIngen enhet hittadesIngen träffInga tidigare reguljära uttryckInget utrymme för partitionsinformation.Ingen plats för volymetikett.Ingen giltig partitionstabell kunde hittas.Det finns inte tillräckligt mÃ¥nga fria inoder!NummerOKFLAGGOR:Endast logiska partitioner kan vara en uppstartsfil.Endast primära partitioner kan vara rotpartitioner.Endast primära partitioner kan vara växlingspartitioner.Slut pÃ¥ minne.PART-TYP är en av: primär, logisk, utökad Paketerat av %s Paketerat av %s (%s) Parted kan inte ändra storlek pÃ¥ partitioner som hanteras av Windows Dynamic Disk.Partition %d har en ogiltig längd, 0 byte!Partition %d har en ogiltig signatur %x.Partition %d är %s, men filsystemet är %s.Partition %d ligger inte pÃ¥ jämna cylindergränser. Detta stöds fortfarande inte.Partitionen %s används. Du mÃ¥ste avmontera den innan du kan ändra den med Parted.Partitionstabell: %s Partitionen finns inte.Partitionstabellen saknar uppgift om sig själv!Partitionsnamn?Partitionsnummer?Partitionen för stor/liten för ett filsystem av typen %s.Partitionstyp?Partitionen pÃ¥ %s är i bruk.För tidigt slut pÃ¥ reguljärt uttryckPromise SX8 SATA-enhetReguljärt uttryck är för stortReiserfs-trädet verkar vara skadat. Kör reiserfsck --check först.Rapportera fel i %s till: %s Storleksändring av HFS+-volymen misslyckades.Försök igenBÖRJAN och SLUT är platser pÃ¥ disken, sÃ¥som 4GB eller 10%. Negativa värden räknas frÃ¥n slutet pÃ¥ disken. Till exempel, -1s anger exakt den sista sektorn. TILLSTÃ…ND är ett av: pÃ¥, av Sektorstorlek (logisk/fysisk): %lldB/%lldB StorlekStorlek: Kan inte flytta en ext2-partitions början ännu!Tyvärr, kan inte flytta början av reiserfs-partitioner än.Källenhet?Partitionsnummer för källan?BörjanBörjan?LyckadesStöd för att lägga till partitioner till AIX-disketiketter är inte implementerat än.Stöd för att kontrollera filsystem av typ %s är inte implementerat än.Stöd för att kopiera filsystem av typ %s är inte implementerat än.Stöd för att skapa filsystem av typ %s är inte implementerat än.Stöd för att duplicera partitioner i AIX-disketiketter är inte implementerat än.Stöd för att öppna filsystem av typ %s är inte implementerat än.Stöd för att läsa AIX-disketiketter är inte implementerat än.Stöd för att ändra storlek pÃ¥ filsystem av typ %s är inte implementerat än.Stöd för att ställa in flaggor i AIX-disketiketter är inte implementerat än.Stöd för att ställa in systemtyp för partitioner i AIX-disketiketter är inte implementerat än.Stöd för att skriva AIX-disketiketter är inte implementerat än.Syntaxfel i konfigurationsfilenFilallokeringstabellerna stämmer inte överens. Om du inte vet vad detta betyder, välj avbryt, kör scandisk pÃ¥ filsystemet och försök igen.StartomrÃ¥det börjar inte vid partitionens början.Den aktuella API-versionen "%d" stämmer inte med API-versionen "%d" för dasd-drivrutinen!DataomrÃ¥det börjar inte vid partitionens början.Enheten %s har noll längd och kan omöjligt lagra ett filsystem eller partitionstabell. Du kanske valde fel enhet?Disken har %d cylindrar, vilket är större än maximum som är 65536.Disketiketten beskriver en disk som är större än %s.Enhetens handtag pÃ¥stÃ¥r att den fysiska blockstorleken är %d byte, men Linux pÃ¥stÃ¥r att den är %d byte.Den befintliga disketiketten pÃ¥ %s kommer att förstöras och all data pÃ¥ denna disk kommer att gÃ¥ förlorad. Vill du fortsätta?Det befintliga filsystemet kommer att förstöras och all data pÃ¥ partitionen kommer att gÃ¥ förlorad. Vill du fortsätta?Filsystemet (e2fs) klarade en grundläggande kontroll. För en mer genomgÃ¥ende kontroll sÃ¥ använd programmet e2fsck.Filen %s är markerad som en systemfil. Det betyder att om den flyttas sÃ¥ kan det orsaka att vissa program slutar att fungera.Filsystemet kan bara ändras till den här storleken genom att konvertera till FAT16.Filsystemet kan bara ändras till den här storleken genom att konvertera till FAT32.Filsystemet innehÃ¥ller fel.Filsystemet har funktionen "dir_index" aktiverad. Parted kan endast ändra storlek pÃ¥ filsystemet om denna funktion är inaktiverad. Du kan aktivera den senare genom att köra "tune2fs -O dir_index ENHET" och sedan "e2fsck -fD ENHET".Filsystemet är större än dess volym!Filsystemet befinner sig i ett ogiltigt tillstÃ¥nd. Kanske är det monterat?Filsystemet använder ett gammalt format (inte möjligt att ändra storlek pÃ¥).Filsystemets CHS-geometri är (%d, %d, %d), vilket är ogiltigt. Partitionstabellens CHS-geometri är (%d, %d, %d). Om du väljer Ignorera sÃ¥ kommer filsystemets CHS-geometri inte att ändras. Om du väljer Reparera sÃ¥ kommer filsystemets CHS-geometri att ställas in för att matcha partitionstabellens CHS-geometri.Informationssektorn har fel signatur (%x). Välj avbryt och skicka in en felrapport. Om du är desperat sÃ¥ är det troligen säkert att strunta i felet.Platsen %s är utanför enheten %s.Det maximala värdet för huvud är %d.Det maximala värdet för sektorer är %d.Partitionen mÃ¥ste ha en av följande FS-TYPer: Partitionstabellen kunde inte läsas om. Det betyder att du behöver starta om datorn innan du kan montera nÃ¥gra ändrade partitioner. Du mÃ¥ste ocksÃ¥ installera om starthanteraren innan du startar om (vilket kan innebära montering av ändrade partitioner). Det är omöjligt att göra bÃ¥da! Du mÃ¥ste starta frÃ¥n en räddningsskiva och installera om starthanteraren frÃ¥n den. Läs kapitel fyra i Parteds användardokumentation för mer information.Partitionstabellen pÃ¥ %s kan inte läsas om (%s). Det betyder att Hurd inte vet nÃ¥nting om de ändringar du gjort. Du bör starta om datorn innan du gör nÃ¥nting med %s.Partitionens startomrÃ¥de tar inte upp hela partitionens utrymme.Partitionens dataomrÃ¥de tar inte upp hela partitionens utrymme.Filsystemet (reiserfs) klarade en grundläggande kontroll. För en mer genomgÃ¥ende kontroll, kör reiserfsck --check.Den angivna enheten är inte en giltig DASD-enhetDet finns inga möjliga kombinationer för den här sortens FAT.Det finns inte tillräckligt med utrymme för alla filer i rotkatalogen. Välj antingen att avbryta, eller ignorera och förlora filerna.Detta kommando är meningslöst i icke-interaktivt läge. Filsystemet har en logisk sektorstorlek pÃ¥ %d. Det är känt att GNU Parted inte fungerar bra med andra sektorstorlekar 512 byte.Detta är inte en ECKD-disk! Denna disktyp stöds inte!Denna libparted saknar skrivstöd för %s. Kanske kompilerades den utan skrivstöd.För mÃ¥nga dÃ¥liga sidor.För mÃ¥nga primära partitionerFör mÃ¥nga primära partitioner.Efterföljande omvänt snedstreckProva "%s --help" för mer information. TypENHET är en av: Kunde inte allokera en plats i bsd-disketiketten.Kunde inte allokera en plats i dasd-disketikettenKunde inte allokera ett partitionsnummer.Kunde inte fastställa geometrin pÃ¥ filen/enheten %s. Du bör inte använda Parted sÃ¥vida inte du VERKLIGEN vet vad du gör!Kunde inte fastställa dm-typen pÃ¥ %s.Kunde inte fastställa storleken pÃ¥ %s (%s).Kunde inte öppna %s för bÃ¥de läsning och skrivning (%s). %s öppnades i läsläge.Kunde inte öppna %s.Kunde inte uppfylla alla begränsningar pÃ¥ partitionen.Enhet?OkändOkänd diskflagga, %d.Okänd filsystemstyp "%s".Okänd partitionsflagga, %d.Okänt systemfelOmatchat ( eller \(Omatchat ) eller \)Omatchat [ eller [^Omatchat \{Diskformatet stöds inteDisktypen stöds inteAnvändning: %s [FLAGGA] eller: %s ENHET UNDRE Användning: %s [FLAGGA] [ENHET]... Användning: parted [FLAGGA]... [ENHET [KOMMANDO [PARAMETRAR]...]...] Tillämpa KOMMANDOn med PARAMETRAR pÃ¥ ENHET. Om inga KOMMANDO(n) anges körs programmet i interaktivt läge. Använder %s Giltiga argument är:Version %d av HFS+ stöds inte.Version %d av HFSX stöds inte.Virtio-blockenhetVolymetiketten är skadadVARNING: Du är inte superanvändare. Se upp för rättighetsproblem.VarningKonstig blockstorlek pÃ¥ enhetens handtag: %d byte är inte jämnt delbart med 512.Konstigt! Det finns 2 poster i partitionstabellen!Välkommen till GNU Parted! Skriv "hjälp" för att visa en lista över kommandon. Utan argument sÃ¥ skriver "visa" ut hela partitionstabellen. Dock kan diverse andra Ã¥tgärder genomföras med följande argument. Vill du använda FAT32?Skrivet av %s och %s. Skrivet av %s, %s, %s, %s, %s, %s, %s, %s, %s och andra. Skrivet av %s, %s, %s, %s, %s, %s, %s, %s och %s. Skrivet av %s, %s, %s, %s, %s, %s, %s och %s. Skrivet av %s, %s, %s, %s, %s, %s och %s. Skrivet av %s, %s, %s, %s, %s och %s. Skrivet av %s, %s, %s, %s och %s. Skrivet av %s, %s, %s och %s. Skrivet av %s, %s och %s. Skrivet av %s. Xen virtuell blockenhetJaDu kan behöva att uppdatera /etc/fstab. Du behöver %s ledigt diskutrymme för att minska storleken pÃ¥ den här partitionen till angiven storlek. För närvarande är det endast %s.Du begärde en partition frÃ¥n %s till %s. Den närmsta platsen vi kan hantera är %s till %s.%sDu bör installera om startprogrammet innan du startar om. Läs avsnitt fyra i Parteds användardokumentation för mer information.Ditt filsystem har för mÃ¥nga upptagna inoder för att ändra dess storlek till %i block. Tyvärr.Filsystemet är för fullt för att ändra dess storlek till %i block. Tyvärr.^[nN]^[jJyY]"lägger till gruppertvetydigt argument %s för %sbios_grubstartbarkontrollerakontrollera NUMMER gör en enkel kontroll av filsystemetkontrollerarletar efter felaktiga blockkopierarkopierakopiera [FRÃ…N ENHET] FRÃ…N-NUMMER TILL-NUMMER kopiera ett filsystem till en annan partitionskaparvisar utskriften som maskintolkningsbarvisar versionenvisa den här hjälptextenexpanderarutökatmisslyckades med att ställa in dvh-partitionsnamnet till %s: Endast logiska partitioner (uppstartsfiler) har ett namn.fat_table_alloc_cluster: inga lediga klusterfat_table_get: kluster %ld ligger utanför filsystemetfat_table_set: kluster %ld ligger utanför filsystemetledigtväxande filsystemhjälphjälp [KOMMANDO] skriver ut allmän hjälp eller hjälp för KOMMANDOdoldhp-serviceogiltigt %s%s-argument "%s"Ogiltigt argument %s för %sogiltigt undre enhetsnummer: %sogiltigt suffix i %s%s-argumentet "%s"ogiltigt token: %sioctl()-fellbalistar partitionslayout för alla blockenheterlogisktlvmslut pÃ¥ minnemetadataminimalmkfsmklabelmklabel,mktable ETIKETT-TYP skapa en ny disketikett (partitionstabell)mkpartmkpart PART-TYP [FS-TYP] BÖRJAN SLUT skapa en partitionmkpartfsmkpartfs PART-TYP FS-TYP BÖRJAN SLUT skapa en partition med ett filsystemmktableflyttaflytta NUMMER BÖRJAN SLUT flytta partition NUMMERmsftresnamnnamn NUMMER NAMN ge namnet NAMN till partition NUMMERfrÃ¥gar aldrig användaren om alternativavpåöppning av enheten misslyckadesoptimalpaloparted kunde inte läsa om partitionstabellen pÃ¥ %s (%s). Det betyder att Linux inte vet nÃ¥nting om de ändringar du gjort.partitionslängden pÃ¥ %jd sektorer överstiger maximum för %s-partition-table-imposed pÃ¥ %jdped_device_new() Stöd saknas för den här enhetstypenprepprimärvisavisa [devices|free|list,all|NUMMER] visa partitionstabellen, tillgängliga enheter, ledigt utrymme, alla partitioner som hittats, eller en specifik partitionavslutaavsluta avsluta programmetraidläsfelläsning frÃ¥n enheten misslyckadesräddarädda BÖRJAN SLUT rädda en förlorad partition nära BÖRJAN och SLUTändra_storlekändra_storlek NUMMER BÖRJAN SLUT ändra storlek pÃ¥ partition NUMMER och dess filsystemta_bortta_bort NUMMER ta bort partition NUMMERrotsöker efter filsystemväljvälj ENHET välj enheten att redigeraställ_inställ_in NUMMER FLAGGA TILLSTÃ…ND ändra FLAGGAn pÃ¥ partition NUMMERminskarminskar inbäddad HFS+-volymsektornumret för början, %jd överstiger maximum för %s-partition-table-imposed maximum pÃ¥ %jdväxlingsutrymmeväxlaväxla [NUMMER [FLAGGA]] växla tillstÃ¥ndet för FLAGGA pÃ¥ partition NUMMERför fÃ¥ argumentför mÃ¥nga argumentenhetenhet ENHET ställ in standardenheten till ENHETversionversion visa versionsnumret och upphovsrättslig information om GNU Partedskrivfelskrivning till enheten misslyckadesparted-2.3/po/uk.po0000644000000000000000000037627511400005705011135 00000000000000# Ukrainian translation to parted. # Copyright (C) 2004 Free Software Foundation, Inc. # Maxim V. Dziumanenko , 2004-2007. # msgid "" msgstr "" "Project-Id-Version: parted 1.8.7\n" "Report-Msgid-Bugs-To: bug-parted@gnu.org\n" "POT-Creation-Date: 2010-05-28 20:30+0200\n" "PO-Revision-Date: 2007-07-05 14:51+0300\n" "Last-Translator: Maxim V. Dziumanenko \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" #: lib/argmatch.c:133 #, fuzzy, c-format msgid "invalid argument %s for %s" msgstr "Ðе вдаєтьÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ %s." #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "" #: lib/argmatch.c:153 #, fuzzy, c-format msgid "Valid arguments are:" msgstr "Ðе вдаєтьÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ %s." #: lib/closeout.c:112 libparted/labels/fdasd.c:107 msgid "write error" msgstr "помилка запиÑу" #: lib/error.c:181 msgid "Unknown system error" msgstr "Ðевідома ÑиÑтемна помилка" #: lib/getopt.c:527 lib/getopt.c:543 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous\n" msgstr "%s: ключ `%s' неоднозначний\n" #: lib/getopt.c:576 lib/getopt.c:580 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: ключ `--%s' має викориÑтовуватиÑÑŒ без аргументу\n" #: lib/getopt.c:589 lib/getopt.c:594 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: ключ `%c%s' має викориÑтовуватиÑÑŒ без аргументів\n" #: lib/getopt.c:637 lib/getopt.c:656 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: параметр `%s' має викориÑтовуватиÑÑŒ з аргументом\n" #: lib/getopt.c:694 lib/getopt.c:697 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: невідомий ключ `--%s'\n" #: lib/getopt.c:705 lib/getopt.c:708 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: невідомий ключ `%c%s'\n" #: lib/getopt.c:757 lib/getopt.c:760 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: неправильний ключ -- %c\n" #: lib/getopt.c:810 lib/getopt.c:827 lib/getopt.c:1035 lib/getopt.c:1053 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: ключ -- %c має викориÑтовуватиÑÑŒ з аргументом\n" #: lib/getopt.c:883 lib/getopt.c:899 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: неоднозначний ключ `-W %s'\n" #: lib/getopt.c:923 lib/getopt.c:941 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: ключ `-W %s' має викориÑтовуватиÑÑŒ без аргументу\n" #: lib/getopt.c:962 lib/getopt.c:980 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: параметр `%s' має викориÑтовуватиÑÑŒ з аргументом\n" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". If the catalog has no translation, #. locale_quoting_style quotes `like this', and #. clocale_quoting_style quotes "like this". #. #. For example, an American English Unicode locale should #. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and #. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION #. MARK). A British English Unicode locale should instead #. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) #. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. #. #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. #: lib/quotearg.c:272 msgid "`" msgstr "`" #: lib/quotearg.c:273 msgid "'" msgstr "'" #: lib/regcomp.c:134 msgid "Success" msgstr "Виконано" #: lib/regcomp.c:137 msgid "No match" msgstr "Ðемає збігів" #: lib/regcomp.c:140 msgid "Invalid regular expression" msgstr "Ðеправильний регулÑрний вираз" #: lib/regcomp.c:143 msgid "Invalid collation character" msgstr "Ðеправильне порівнÑÐ½Ð½Ñ Ñимволів" #: lib/regcomp.c:146 msgid "Invalid character class name" msgstr "Ðазва логічного тому міÑтить неправильний Ñимвол \"%s\"" #: lib/regcomp.c:149 msgid "Trailing backslash" msgstr "Завершальний backslash" #: lib/regcomp.c:152 msgid "Invalid back reference" msgstr "ÐеприпуÑтиме зворотне поÑиланнÑ" #: lib/regcomp.c:155 msgid "Unmatched [ or [^" msgstr "Ðевідповідні дужки [ чи [^" #: lib/regcomp.c:158 msgid "Unmatched ( or \\(" msgstr "Ðевідповідні дужки ( чи \\(" #: lib/regcomp.c:161 msgid "Unmatched \\{" msgstr "Ðевідповідні дужки \\{" #: lib/regcomp.c:164 msgid "Invalid content of \\{\\}" msgstr "ÐеприпуÑтимий вміÑÑ‚ \\{\\}" #: lib/regcomp.c:167 msgid "Invalid range end" msgstr "Ðеправильний кінець діапазону" #: lib/regcomp.c:170 msgid "Memory exhausted" msgstr "Пам'Ñть вичерпано" #: lib/regcomp.c:173 msgid "Invalid preceding regular expression" msgstr "Ðеправильний попередній регулÑрний вираз" #: lib/regcomp.c:176 msgid "Premature end of regular expression" msgstr "ПередчаÑно закінчений регулÑрний вираз" #: lib/regcomp.c:179 msgid "Regular expression too big" msgstr "РегулÑрний вираз надто великий" #: lib/regcomp.c:182 msgid "Unmatched ) or \\)" msgstr "Ðевідповідні дужки ) чи \\)" #: lib/regcomp.c:703 msgid "No previous regular expression" msgstr "ВідÑутній попередній регулÑрний вираз" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[yYТт]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nNÐн]" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "(C)" #: lib/version-etc.c:86 #, fuzzy msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later .\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "Ð›Ñ–Ñ†ÐµÐ½Ð·Ñ–Ñ GPLv2+: GNU GPL верÑÑ–Ñ— 2 або Ñтарша \n" "Ð¦Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð° Ñ” вільною: ви можете вільно змінювати та розповÑюджувати Ñ—Ñ—.\n" "Ðле ÐЕМÐЄ ÐІЯКИХ ГÐРÐÐТІЙ, до межі, дозволеної згідно закону.\n" "\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Ðвтор %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Ðвтори %s та %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Ðвтори %s, %s та %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "Ðвтори %s, %s, %s,\n" "та %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Ðвтори %s, %s, %s,\n" "%s, та %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Ðвтори %s, %s, %s,\n" "%s, %s, та %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Ðвтори %s, %s, %s.\n" "%s, %s, %s та %s\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Ðвтори %s, %s, %s,\n" "%s, %s, %s, %s,\n" "та %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Ðвтори %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, та %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Ðвтори %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, та інші.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, fuzzy, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "ВідÑилати звіти про помилки до <%s>.\n" #: lib/version-etc.c:247 #, fuzzy, c-format msgid "Report %s bugs to: %s\n" msgstr "" "\n" "ВідÑилати звіти про помилки до <%s>.\n" #: lib/version-etc.c:251 #, c-format msgid "%s home page: <%s>\n" msgstr "" #: lib/version-etc.c:253 #, c-format msgid "%s home page: \n" msgstr "" #: lib/version-etc.c:256 msgid "General help using GNU software: \n" msgstr "" #: lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "пам'Ñть вичерпано" #: lib/xstrtol-error.c:63 #, fuzzy, c-format msgid "invalid %s%s argument `%s'" msgstr "Ðе вдаєтьÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ %s." #: lib/xstrtol-error.c:68 #, fuzzy, c-format msgid "invalid suffix in %s%s argument `%s'" msgstr "Ðе вдаєтьÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ %s." #: lib/xstrtol-error.c:72 #, fuzzy, c-format msgid "%s%s argument `%s' too large" msgstr "Ðе вдаєтьÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ %s." #: libparted/arch/beos.c:245 msgid "Disk Image" msgstr "Образ диÑку" #: libparted/arch/beos.c:346 libparted/arch/gnu.c:277 #: libparted/arch/linux.c:1519 #, c-format msgid "Error opening %s: %s" msgstr "Помилка Ð²Ñ–Ð´ÐºÑ€Ð¸Ð²Ð°Ð½Ð½Ñ %s: %s" #: libparted/arch/beos.c:357 libparted/arch/gnu.c:287 #: libparted/arch/linux.c:1530 #, c-format msgid "Unable to open %s read-write (%s). %s has been opened read-only." msgstr "" "Ðе вдаєтьÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ %s Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ-запиÑу (%s). %s відкрито у режимі лише-" "читаннÑ." #: libparted/arch/beos.c:419 libparted/arch/linux.c:1688 #, c-format msgid "%s during seek for read on %s" msgstr "%s при вÑтановленні позиції Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð½Ð° %s" #: libparted/arch/beos.c:452 libparted/arch/gnu.c:465 libparted/arch/gnu.c:564 #: libparted/arch/gnu.c:692 libparted/arch/linux.c:1648 #: libparted/arch/linux.c:1729 #, c-format msgid "%s during read on %s" msgstr "%s при читанні з %s" #: libparted/arch/beos.c:488 libparted/arch/gnu.c:525 #: libparted/arch/linux.c:1805 #, c-format msgid "Can't write to %s, because it is opened read-only." msgstr "Ðе вдаєтьÑÑ Ð·Ð°Ð¿Ð¸Ñати на %s, тому що він відкритий лише Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ." #: libparted/arch/beos.c:504 libparted/arch/linux.c:1830 #, c-format msgid "%s during seek for write on %s" msgstr "%s при вÑтановленні позиції Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñу на %s" #: libparted/arch/beos.c:541 libparted/arch/gnu.c:601 libparted/arch/gnu.c:646 #: libparted/arch/gnu.c:723 libparted/arch/linux.c:1778 #: libparted/arch/linux.c:1872 libparted/arch/linux.c:1944 #, c-format msgid "%s during write on %s" msgstr "%s при запиÑÑ– на %s" #: debug/clearfat/clearfat.c:62 partprobe/partprobe.c:137 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Спробуйте `%s --help' Ð´Ð»Ñ Ð¾Ð´ÐµÑ€Ð¶Ð°Ð½Ð½Ñ Ð´Ð¾Ð´Ð°Ñ‚ÐºÐ¾Ð²Ð¾Ñ— інформації.\n" #: debug/clearfat/clearfat.c:66 #, c-format msgid "" "Usage: %s [OPTION]\n" " or: %s DEVICE MINOR\n" msgstr "" "ВикориÑтаннÑ: %s [КЛЮЧ]\n" " або: %s ПРИСТРІЙ МЕÐШИЙÐОМЕР\n" #: debug/clearfat/clearfat.c:69 msgid "" "Clear unused space on a FAT partition (a GNU Parted testing tool).\n" "\n" msgstr "" "ОчиÑтити невикориÑтаний проÑтір у розділі FAT (інÑтрументі теÑÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ GNU " "Parted).\n" "\n" #: debug/clearfat/clearfat.c:73 msgid " --help display this help and exit\n" msgstr " --help вивеÑти довідку та завершити роботу\n" #: debug/clearfat/clearfat.c:74 msgid " --version output version information and exit\n" msgstr " --version вивеÑти інформацію про верÑÑ–ÑŽ та вийти\n" #: debug/clearfat/clearfat.c:76 partprobe/partprobe.c:154 #, c-format msgid "" "\n" "Report bugs to <%s>.\n" msgstr "" "\n" "ВідÑилати звіти про помилки до <%s>.\n" #: debug/clearfat/clearfat.c:284 #, c-format msgid "too few arguments" msgstr "надто мало параметрів" #: debug/clearfat/clearfat.c:289 #, c-format msgid "too many arguments" msgstr "надто багато аргументів" #: debug/clearfat/clearfat.c:297 #, fuzzy, c-format msgid "invalid minor device number: %s" msgstr "Ðе вдаєтьÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ %s." #: partprobe/partprobe.c:141 #, c-format msgid "Usage: %s [OPTION] [DEVICE]...\n" msgstr "ВикориÑтаннÑ: %s [КЛЮЧ] [ПРИСТРІЙ]...\n" #: partprobe/partprobe.c:142 #, fuzzy msgid "" "Inform the operating system about partition table changes.\n" "\n" " -d, --dry-run do not actually inform the operating system\n" " -s, --summary print a summary of contents\n" " -h, --help display this help and exit\n" " -v, --version output version information and exit\n" msgstr "" "Інформувати ОС про зміну таблиці розділів.\n" "\n" " -d, --no-update не оновлювати Ñдро\n" " -s, --summary вивеÑти Ð·Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð·Ð¼Ñ–Ñту\n" " -h, --help відобразити цю довідку та вийти\n" " -v, --version вивеÑти інформацію про верÑÑ–ÑŽ та вийти\n" #: partprobe/partprobe.c:150 #, fuzzy msgid "" "\n" "When no DEVICE is given, probe all partitions.\n" msgstr "" "\n" "Якщо не вказано ПРИСТРІЙ, перечитуютьÑÑ Ð²ÑÑ– розділи.\n" #: libparted/arch/gnu.c:110 #, c-format msgid "Unable to open %s." msgstr "Ðе вдаєтьÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ %s." #: libparted/arch/gnu.c:130 msgid "Unable to probe store." msgstr "Ðе вдаєтьÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ Ñховище." #: libparted/arch/gnu.c:368 msgid "" "The partition table cannot be re-read. This means you need to reboot before " "mounting any modified partitions. You also need to reinstall your boot " "loader before you reboot (which may require mounting modified partitions). " "It is impossible do both things! So you'll need to boot off a rescue disk, " "and reinstall your boot loader from the rescue disk. Read section 4 of the " "Parted User documentation for more information." msgstr "" "Ðе вдаєтьÑÑ Ð¿ÐµÑ€ÐµÑ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ таблицю розділів, Ñлід перезавантажитиÑÑŒ перш ніж " "підключати змінені розділи. Також перед перезавантаженнÑм необхідно " "перевÑтановити завантажувач (що вимагає Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð·Ð¼Ñ–Ð½ÐµÐ½Ð¸Ñ… розділів). " "Ðеможливо виконати одночаÑно обидві дії! Тому Ñлід завантажитиÑÑŒ з " "завантажувального диÑку, та перевÑтановити завантажувач. Додаткову " "інформацію знайдете у розділі 4 документації з Parted." #: libparted/arch/gnu.c:385 #, c-format msgid "" "The partition table on %s cannot be re-read (%s). This means the Hurd knows " "nothing about any modifications you made. You should reboot your computer " "before doing anything with %s." msgstr "" "Таблицю розділів на %s не вдаєтьÑÑ Ð¿ÐµÑ€ÐµÑ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ (%s). Це означає, що Hurd " "нічого не знає про внеÑені вами зміни. Ðеобхідно перезавантажити ваш " "комп'ютер перед виконаннÑм будь-Ñких дій з %s." #: libparted/arch/gnu.c:396 parted/parted.c:2719 msgid "" "You should reinstall your boot loader before rebooting. Read section 4 of " "the Parted User documentation for more information." msgstr "" "Ðеобхідно перевÑтановити ваш завантажувач перед перезавантаженнÑм. Додаткову " "інформацію знайдете у розділі 4 документації з Parted." #: libparted/arch/gnu.c:788 #, c-format msgid "%s trying to sync %s to disk" msgstr "%s при Ñпробі Ñинхронізації %s на диÑк" #: libparted/arch/linux.c:509 #, c-format msgid "Could not stat device %s - %s." msgstr "Ðе вдаєтьÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ ÑÑ‚Ð°Ñ‚ÑƒÑ Ð¿Ñ€Ð¸Ñтрою %s - %s." #: libparted/arch/linux.c:566 #, fuzzy, c-format msgid "Unable to determine the dm type of %s." msgstr "Ðе вдаєтьÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ розмір %s (%s)." #: libparted/arch/linux.c:658 #, fuzzy, c-format msgid "" "Could not determine sector size for %s: %s.\n" "Using the default sector size (%lld)." msgstr "" "Ðе вдаєтьÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ розмір Ñектору Ð´Ð»Ñ %s: %s.\n" "ВикориÑтовуєтьÑÑ Ñ‚Ð¸Ð¿Ð¾Ð²Ð¸Ð¹ розмір Ñектору (%lld)." #: libparted/arch/linux.c:679 #, fuzzy, c-format msgid "" "Could not determine physical sector size for %s.\n" "Using the logical sector size (%lld)." msgstr "" "Ðе вдаєтьÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ розмір Ñектору Ð´Ð»Ñ %s: %s.\n" "ВикориÑтовуєтьÑÑ Ñ‚Ð¸Ð¿Ð¾Ð²Ð¸Ð¹ розмір Ñектору (%lld)." #: libparted/arch/linux.c:728 #, c-format msgid "Unable to determine the size of %s (%s)." msgstr "Ðе вдаєтьÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ розмір %s (%s)." #: libparted/arch/linux.c:814 #, c-format msgid "Could not get identity of device %s - %s" msgstr "Ðе вдаєтьÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ ідентифікатор приÑтрою %s - %s" #: libparted/arch/linux.c:823 msgid "Generic IDE" msgstr "Загальний IDE" #: libparted/arch/linux.c:844 #, c-format msgid "" "Device %s has multiple (%d) logical sectors per physical sector.\n" "GNU Parted supports this EXPERIMENTALLY for some special disk label/file " "system combinations, e.g. GPT and ext2/3.\n" "Please consult the web site for up-to-date information." msgstr "" "ПриÑтрій %s має декілька (%d) логічних Ñерверів на фізичний Ñектор.\n" "Підтримка цього у GNU Parted Ñ” ЕКСПЕРИМЕÐТÐЛЬÐОЮ Ð´Ð»Ñ Ð´ÐµÑких Ñпеціальних " "комбінацій позначка диÑку/файлова ÑиÑтема, наприклад. GPT та ext2/3.\n" "Додаткову інформацію шукайте на веб-Ñайті." #: libparted/arch/linux.c:1019 #, c-format msgid "Error initialising SCSI device %s - %s" msgstr "Помилка ініціалізації SCSI приÑтрою %s - %s" #: libparted/arch/linux.c:1083 #, c-format msgid "" "The device %s has zero length, and can't possibly store a file system or " "partition table. Perhaps you selected the wrong device?" msgstr "" "ПриÑтрій %s має нульову довжину, та непридатний Ð´Ð»Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ñ— " "ÑиÑтеми чи таблиці розділів. Можливо ви вибрали неправильний приÑтрій?" #: libparted/arch/linux.c:1190 #, c-format msgid "" "Unable to determine geometry of file/device %s. You should not use Parted " "unless you REALLY know what you're doing!" msgstr "" "Ðе вдаєтьÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ геометрію файлу/приÑтрою %s. Ðе Ñлід викориÑтовувати " "Parted, хіба-що ви ДІЙСÐО знаєте, що ви робите!" #: libparted/arch/linux.c:1250 msgid "Generic SD/MMC Storage Card" msgstr "" #: libparted/arch/linux.c:1303 msgid "DAC960 RAID controller" msgstr "DAC960 RAID контролер" #: libparted/arch/linux.c:1308 msgid "Promise SX8 SATA Device" msgstr "ПриÑтрій Promise SX8 SATA" #: libparted/arch/linux.c:1313 msgid "ATA over Ethernet Device" msgstr "" #: libparted/arch/linux.c:1319 msgid "IBM S390 DASD drive" msgstr "ПриÑтрій IBM S390 DASD" #: libparted/arch/linux.c:1325 msgid "IBM iSeries Virtual DASD" msgstr "IBM iSeries Virtual DASD" #: libparted/arch/linux.c:1330 msgid "Compaq Smart Array" msgstr "Compaq Smart Array" #: libparted/arch/linux.c:1335 msgid "ATARAID Controller" msgstr "ATARAID контролер" #: libparted/arch/linux.c:1340 msgid "I2O Controller" msgstr "I2O контролер" #: libparted/arch/linux.c:1345 msgid "User-Mode Linux UBD" msgstr "User-Mode Linux UBD" #: libparted/arch/linux.c:1358 #, fuzzy, c-format msgid "Linux device-mapper (%s)" msgstr "Linux device-mapper" #: libparted/arch/linux.c:1369 msgid "Xen Virtual Block Device" msgstr "" #: libparted/arch/linux.c:1374 msgid "Unknown" msgstr "Ðевідомий" #: libparted/arch/linux.c:1383 msgid "Virtio Block Device" msgstr "" #: libparted/arch/linux.c:1388 msgid "Linux Software RAID Array" msgstr "" #: libparted/arch/linux.c:1395 msgid "ped_device_new() Unsupported device type" msgstr "ped_device_new() тип приÑтрою не підтримуєтьÑÑ" #: libparted/arch/linux.c:1492 libparted/arch/linux.c:1564 #, fuzzy, c-format msgid "Error fsyncing/closing %s: %s" msgstr "Помилка Ð²Ñ–Ð´ÐºÑ€Ð¸Ð²Ð°Ð½Ð½Ñ %s: %s" #: libparted/arch/linux.c:1728 #, c-format msgid "end of file while reading %s" msgstr "" #: libparted/arch/linux.c:2365 #, c-format msgid "" "Error informing the kernel about modifications to partition %s -- %s. This " "means Linux won't know about any changes you made to %s until you reboot -- " "so you shouldn't mount it or use it in any way before rebooting." msgstr "" "Помилка ÑÐ¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñдра про зміни у розділі %s -- %s. Це означає, що Linux " "не враховуватиме внеÑені у %s зміни до Ð¿ÐµÑ€ÐµÐ·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ - тому до " "Ð¿ÐµÑ€ÐµÐ·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð½Ðµ Ñлід підключати розділ чи викориÑтовувати будь-Ñким " "іншим чином." #: libparted/arch/linux.c:2503 #, fuzzy, c-format msgid "Unable to determine the size and length of %s." msgstr "Ðе вдаєтьÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ розмір %s (%s)." #: libparted/arch/linux.c:2528 #, fuzzy, c-format msgid "Failed to add partition %d (%s)" msgstr "%s : Ðе вдаєтьÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ блок розділу %llu\n" #: libparted/arch/linux.c:2555 #, c-format msgid "" "Partition(s) %s on %s have been written, but we have been unable to inform " "the kernel of the change, probably because it/they are in use. As a result, " "the old partition(s) will remain in use. You should reboot now before " "making further changes." msgstr "" #: libparted/arch/linux.c:2681 #, c-format msgid "" "parted was unable to re-read the partition table on %s (%s). This means " "Linux won't know anything about the modifications you made. " msgstr "" "parted не може перечитати таблицю розділів на %s (%s). Це означає, що Linux " "не враховуватиме внеÑені зміни." #: libparted/cs/geom.c:162 #, fuzzy, c-format msgid "Can't have the end before the start! (start sector=%jd length=%jd)" msgstr "ÐеприпуÑтимо, щоб кінець розділу був перед початком!" #: libparted/cs/geom.c:170 msgid "Can't have a partition outside the disk!" msgstr "ÐеприпуÑтимо, щоб розділ виходив за межі диÑку!" #: libparted/cs/geom.c:385 #, c-format msgid "Attempt to write sectors %ld-%ld outside of partition on %s." msgstr "Спроба запиÑати Ñектори %ld-%ld за межами розділу на %s." #: libparted/cs/geom.c:425 libparted/fs/linux_swap/linux_swap.c:488 msgid "checking for bad blocks" msgstr "пошук пошкоджених блоків" #: libparted/debug.c:97 #, c-format msgid "Backtrace has %d calls on stack:\n" msgstr "У розгортці Ñтеку Ñ” %d викликів:\n" #: libparted/debug.c:110 #, c-format msgid "Assertion (%s) at %s:%d in function %s() failed." msgstr "Помилка у твердженні (%s) у точці %s:%d функції %s()." #: libparted/disk.c:193 #, fuzzy, c-format msgid "%s: unrecognised disk label" msgstr "Ðе вдаєтьÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ %s - нерозпізнана етикетка диÑка." #: libparted/disk.c:486 #, c-format msgid "" "This libparted doesn't have write support for %s. Perhaps it was compiled " "read-only." msgstr "" "Ð¦Ñ Ð²ÐµÑ€ÑÑ–Ñ libparted не підтримує Ð·Ð°Ð¿Ð¸Ñ Ð½Ð° %s. Можливо програму зібрано з " "підтримкою лише Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ." #: libparted/disk.c:631 #, c-format msgid "Partition %d is %s, but the file system is %s." msgstr "Розмір %d %s, але файлова ÑиÑтема %s." #: libparted/disk.c:841 msgid "cylinder_alignment" msgstr "" #: libparted/disk.c:847 #, fuzzy, c-format msgid "Unknown disk flag, %d." msgstr "Ðевідома ознака розділу, %d." #: libparted/disk.c:1286 #, c-format msgid "%s disk labels do not support extended partitions." msgstr "%s етикетки диÑків Ð´Ð»Ñ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ… розділів не підтримуютьÑÑ." #: libparted/disk.c:1865 #, c-format msgid "%s disk labels don't support logical or extended partitions." msgstr "" "%s етикетки диÑків Ð´Ð»Ñ Ð»Ð¾Ð³Ñ–Ñ‡Ð½Ð¸Ñ… або розширених розділів не підтримуютьÑÑ." #: libparted/disk.c:1878 msgid "Too many primary partitions." msgstr "Занадто багато оÑновних розділів." #: libparted/disk.c:1887 #, c-format msgid "" "Can't add a logical partition to %s, because there is no extended partition." msgstr "" "Ðе вдаєтьÑÑ Ð´Ð¾Ð´Ð°Ñ‚Ð¸ логічний розділ до %s, тому що немає розширеного розділу." #: libparted/disk.c:1911 #, c-format msgid "Can't have more than one extended partition on %s." msgstr "Ðе можна мати більше одного розширеного розділу на %s." #: libparted/disk.c:1921 msgid "Can't have logical partitions outside of the extended partition." msgstr "Ðе вдаєтьÑÑ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€Ð¸Ñ‚Ð¸ логічний розділ за межі розширеного розділу." #: libparted/disk.c:1946 #, c-format msgid "Can't have a logical partition outside of the extended partition on %s." msgstr "" "Ðе вдаєтьÑÑ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€Ð¸Ñ‚Ð¸ логічний розділ за межі розширеного розділу на %s." #: libparted/disk.c:1956 libparted/disk.c:2015 libparted/disk.c:2193 msgid "Can't have overlapping partitions." msgstr "Ðе можна мати розділи, Ñкі перекриваютьÑÑ." #: libparted/disk.c:1964 msgid "Can't have a primary partition inside an extended partition." msgstr "Ðе можна додавати оÑновний розділ у розширений розділ." #: libparted/disk.c:2395 msgid "metadata" msgstr "метадані" #: libparted/disk.c:2397 msgid "free" msgstr "вільно" #: libparted/disk.c:2399 parted/ui.c:1193 parted/ui.c:1221 msgid "extended" msgstr "розширений" #: libparted/disk.c:2401 parted/ui.c:1197 parted/ui.c:1225 msgid "logical" msgstr "логічний" #: libparted/disk.c:2403 parted/ui.c:1189 parted/ui.c:1217 msgid "primary" msgstr "оÑновний" #: libparted/disk.c:2419 msgid "boot" msgstr "boot" #: libparted/disk.c:2421 msgid "bios_grub" msgstr "" #: libparted/disk.c:2423 msgid "root" msgstr "кореневий" #: libparted/disk.c:2425 msgid "swap" msgstr "swap" #: libparted/disk.c:2427 msgid "hidden" msgstr "Ñхований" #: libparted/disk.c:2429 msgid "raid" msgstr "raid" #: libparted/disk.c:2431 msgid "lvm" msgstr "lvm" #: libparted/disk.c:2433 msgid "lba" msgstr "lba" #: libparted/disk.c:2435 msgid "hp-service" msgstr "hp-ÑервіÑ" #: libparted/disk.c:2437 msgid "palo" msgstr "palo" #: libparted/disk.c:2439 msgid "prep" msgstr "prep" #: libparted/disk.c:2441 msgid "msftres" msgstr "msftres" #: libparted/disk.c:2443 msgid "atvrecv" msgstr "" #: libparted/disk.c:2445 msgid "diag" msgstr "" #: libparted/disk.c:2451 #, c-format msgid "Unknown partition flag, %d." msgstr "Ðевідома ознака розділу, %d." #: libparted/exception.c:77 msgid "Information" msgstr "ІнформаціÑ" #: libparted/exception.c:78 msgid "Warning" msgstr "ПопередженнÑ" #: libparted/exception.c:79 msgid "Error" msgstr "Помилка" #: libparted/exception.c:80 msgid "Fatal" msgstr "Критична помилка" #: libparted/exception.c:81 msgid "Bug" msgstr "Помилка" #: libparted/exception.c:82 msgid "No Implementation" msgstr "Ðе реалізовано" #: libparted/exception.c:86 msgid "Fix" msgstr "Виправити" #: libparted/exception.c:87 msgid "Yes" msgstr "Так" #: libparted/exception.c:88 msgid "No" msgstr "ÐÑ–" #: libparted/exception.c:89 msgid "OK" msgstr "Гаразд" #: libparted/exception.c:90 msgid "Retry" msgstr "Повторити" #: libparted/exception.c:91 msgid "Ignore" msgstr "Ігнорувати" #: libparted/exception.c:92 msgid "Cancel" msgstr "СкаÑувати" #: libparted/exception.c:132 #, fuzzy, c-format msgid "" "A bug has been detected in GNU Parted. Refer to the web site of parted " "http://www.gnu.org/software/parted/parted.html for more information of what " "could be useful for bug submitting! Please email a bug report to bug-" "parted@gnu.org containing at least the version (%s) and the following " "message: " msgstr "" "У GNU parted виникла помилка. Ðа веб-Ñайті http://www.gnu.org/software/" "parted/parted.html дивітьÑÑ Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–ÑŽ ÑтоÑовно звітів про помилки. Будь " "лаÑка, відправте Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ помилку за адреÑою bug-parted@gnu.org, не " "забудьте вказати верÑÑ–ÑŽ (%s) та наÑтупне повідомленнÑ:" #: libparted/filesys.c:462 msgid "Could not detect file system." msgstr "Ðе вдаєтьÑÑ Ð²Ð¸Ñвити файлову ÑиÑтему." #: libparted/filesys.c:473 msgid "The file system is bigger than its volume!" msgstr "Файлова ÑиÑтема більша ніж том!" #: libparted/filesys.c:481 #, c-format msgid "Support for opening %s file systems is not implemented yet." msgstr "Підтримка Ð²Ñ–Ð´ÐºÑ€Ð¸Ð²Ð°Ð½Ð½Ñ %s файлових ÑиÑтем ще не реалізована." #: libparted/filesys.c:523 #, c-format msgid "Support for creating %s file systems is not implemented yet." msgstr "Підтримка ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ %s файлових ÑиÑтем ще не реалізована." #: libparted/filesys.c:583 #, c-format msgid "Support for checking %s file systems is not implemented yet." msgstr "Підтримка перевірки %s файлових ÑиÑтем ще не реалізована." #: libparted/filesys.c:649 msgid "raw block copying" msgstr "ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ð±Ð»Ð¾ÐºÑ–Ð²" #: libparted/filesys.c:660 msgid "growing file system" msgstr "Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ñ— ÑиÑтеми" #: libparted/filesys.c:700 msgid "Can't copy onto an overlapping partition." msgstr "Ðе можна копіювати на розділи, що перекриваютьÑÑ." #: libparted/filesys.c:722 #, c-format msgid "" "Direct support for copying file systems is not yet implemented for %s. " "However, support for resizing is implemented. Therefore, the file system " "can be copied if the new partition is at least as big as the old one. So, " "either shrink the partition you are trying to copy, or copy to a bigger " "partition." msgstr "" "БезпоÑÐµÑ€ÐµÐ´Ð½Ñ Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ° файлових ÑиÑтем ще не реалізована Ð´Ð»Ñ %s. Ðле, " "реалізована підтримка зміни розміру. Таким чином файлову ÑиÑтему можна " "Ñкопіювати на новий розділ більшого розміру ніж Ñ–Ñнуючий. Тому або зменшіть " "розділ, Ñкий ви намагаєтеÑÑŒ Ñкопіювати, або копіюйте на більший розділ." #: libparted/filesys.c:736 #, c-format msgid "Support for copying %s file systems is not implemented yet." msgstr "Підтримка ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¸Ñ… ÑиÑтем типу %s ще не підтримуєтьÑÑ." #: libparted/filesys.c:774 #, c-format msgid "Support for resizing %s file systems is not implemented yet." msgstr "Підтримка зміни розміру файлових ÑиÑтем типу %s ще не підтримуєтьÑÑ." #: libparted/fs/reiserfs/reiserfs.c:315 msgid "creating" msgstr "ÑтвореннÑ" #: libparted/fs/reiserfs/reiserfs.c:402 msgid "The file system is in an invalid state. Perhaps it is mounted?" msgstr "Файлова ÑиÑтема у некоректному Ñтані. Можливо вона підключена?" #: libparted/fs/reiserfs/reiserfs.c:410 msgid "The file system is in old (unresizeable) format." msgstr "Файлова ÑиÑтема має Ñтарий формат (зміна розміру не підтримуєтьÑÑ)." #: libparted/fs/reiserfs/reiserfs.c:416 msgid "Invalid free blocks count. Run reiserfsck --check first." msgstr "" "Ðеправильна кількіÑть вільних блоків. Спочатку запуÑтіть reiserfsck --check" #: libparted/fs/reiserfs/reiserfs.c:431 msgid "checking" msgstr "перевірка" #: libparted/fs/reiserfs/reiserfs.c:437 msgid "Reiserfs tree seems to be corrupted. Run reiserfsck --check first." msgstr "" "Дерево Reiserfs Ñхоже пошкоджене. Спочатку запуÑтіть reiserfsck --check" #: libparted/fs/reiserfs/reiserfs.c:449 msgid "" "The reiserfs file system passed a basic check. For a more comprehensive " "check, run reiserfsck --check." msgstr "" "Файлова ÑиÑтема reiserfs пройшла загальну перевірку. Ð”Ð»Ñ Ð±Ñ–Ð»ÑŒÑˆ докладної " "перевірки запуÑтіть reiserfsck --check." #: libparted/fs/reiserfs/reiserfs.c:474 msgid "Sorry, can't move the start of reiserfs partitions yet." msgstr "ÐŸÐµÑ€ÐµÐ¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÑƒ розділів типу reiserfs ще не підтримуєтьÑÑ." #: libparted/fs/reiserfs/reiserfs.c:490 msgid "Couldn't reopen device abstraction layer for read/write." msgstr "" "Ðе вдаєтьÑÑ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ відкрити шар абÑтракції приÑтроїв Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ/запиÑу." #: libparted/fs/reiserfs/reiserfs.c:508 libparted/fs/ext2/ext2_resize.c:552 #: libparted/fs/hfs/hfs.c:250 libparted/fs/hfs/hfs.c:629 msgid "shrinking" msgstr "ÑкороченнÑ" #: libparted/fs/reiserfs/reiserfs.c:520 msgid "expanding" msgstr "розширеннÑ" #: libparted/fs/reiserfs/reiserfs.c:592 msgid "Couldn't create reiserfs device abstraction handler." msgstr "Ðе вдаєтьÑÑ Ñтворити обробник абÑтрактних приÑтроїв reiserfs." #: libparted/fs/reiserfs/reiserfs.c:606 #, c-format msgid "Device is too small for %lu blocks." msgstr "ПриÑтрій ÑиÑтема занадто маленький Ð´Ð»Ñ %lu блоків." #: libparted/fs/reiserfs/reiserfs.c:615 msgid "copying" msgstr "копіюваннÑ" #: libparted/fs/reiserfs/reiserfs.c:682 #, c-format msgid "Couldn't resolve symbol %s. Error: %s." msgstr "Ðе вдаєтьÑÑ Ñ€Ð¾Ð·Ð²'Ñзати Ñимвол %s. Помилка: %s." #: libparted/fs/reiserfs/reiserfs.c:704 msgid "GNU Parted found an invalid libreiserfs library." msgstr "GNU Parted виÑвив некоректну бібліотеку libreiserfs." #: libparted/fs/reiserfs/reiserfs.c:715 #, c-format msgid "" "GNU Parted has detected libreiserfs interface version mismatch. Found %d-" "%d, required %d. ReiserFS support will be disabled." msgstr "" "GNU Parted виÑвив невідповідніÑть верÑій libreiserfs. ВиÑвлено %d-%d, " "потрібна %d. Підтримку ReiserFS вимкнено." #: libparted/labels/aix.c:103 msgid "Support for reading AIX disk labels is is not implemented yet." msgstr "Підтримка Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð¿Ð¾Ð·Ð½Ð°Ñ‡Ð¾Ðº диÑків у Ñтилі AIX ще не реалізована." #: libparted/labels/aix.c:114 msgid "Support for writing AIX disk labels is is not implemented yet." msgstr "Підтримка запиÑу позначок диÑків у Ñтилі AIX ще не реалізована." #: libparted/labels/aix.c:127 msgid "" "Support for adding partitions to AIX disk labels is not implemented yet." msgstr "" "Підтримка Ð´Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² Ð´Ð»Ñ Ð¿Ð¾Ð·Ð½Ð°Ñ‡Ð¾Ðº диÑків у Ñтилі AIX ще не " "реалізована." #: libparted/labels/aix.c:137 msgid "" "Support for duplicating partitions in AIX disk labels is not implemented yet." msgstr "" "Підтримка Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² Ð´Ð»Ñ Ð¿Ð¾Ð·Ð½Ð°Ñ‡Ð¾Ðº диÑків у Ñтилі AIX ще не " "реалізована." #: libparted/labels/aix.c:155 msgid "" "Support for setting system type of partitions in AIX disk labels is not " "implemented yet." msgstr "" "Підтримка вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‚Ð¸Ð¿Ñƒ розділів Ð´Ð»Ñ Ð¿Ð¾Ð·Ð½Ð°Ñ‡Ð¾Ðº диÑків у Ñтилі AIX ще не " "реалізована." #: libparted/labels/aix.c:165 msgid "Support for setting flags in AIX disk labels is not implemented yet." msgstr "" "Підтримка вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¾Ð·Ð½Ð°Ðº Ð´Ð»Ñ Ð¿Ð¾Ð·Ð½Ð°Ñ‡Ð¾Ðº диÑків у Ñтилі AIX ще не " "реалізована." #: libparted/labels/bsd.c:568 libparted/labels/dasd.c:783 #: libparted/labels/dos.c:2092 libparted/labels/dvh.c:788 #: libparted/labels/gpt.c:1750 libparted/labels/loop.c:245 #: libparted/labels/mac.c:1424 libparted/labels/pc98.c:749 #: libparted/labels/rdb.c:1051 libparted/labels/sun.c:821 msgid "Unable to satisfy all constraints on the partition." msgstr "Ðе вдаєтьÑÑ Ð·Ð°Ð´Ð¾Ð²Ð¾Ð»ÑŒÐ½Ð¸Ñ‚Ð¸ вÑÑ– Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð½Ð° розділ." #: libparted/labels/bsd.c:593 msgid "Unable to allocate a bsd disklabel slot." msgstr "Ðе вдаєтьÑÑ Ñ€Ð¾Ð·Ð¿Ð¾Ð´Ñ–Ð»Ð¸Ñ‚Ð¸ Ñлот bsd етикетки диÑку." #: libparted/labels/dasd.c:809 msgid "Unable to allocate a dasd disklabel slot" msgstr "Ðе вдаєтьÑÑ Ñ€Ð¾Ð·Ð¿Ð¾Ð´Ñ–Ð»Ð¸Ñ‚Ð¸ Ñлот етикетки диÑку dasd" #: libparted/labels/dos.c:882 #, c-format msgid "Invalid partition table on %s -- wrong signature %x." msgstr "Ðеправильна Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² на %s - неправильна Ñигнатура %x." #: libparted/labels/dos.c:910 #, c-format msgid "Invalid partition table - recursive partition on %s." msgstr "Ðеправильна Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² - рекурÑивні розділи на %s." #: libparted/labels/dos.c:1420 msgid "Extended partitions cannot be hidden on msdos disk labels." msgstr "Розширені розділи не можуть бути на диÑкових етикетках msdos." #: libparted/labels/dos.c:2074 msgid "Parted can't resize partitions managed by Windows Dynamic Disk." msgstr "Parted не може змінювати розділи, Ñкі Ñтворені Windows Dynamic Disk." #: libparted/labels/dvh.c:201 #, c-format msgid "%s has no extended partition (volume header partition)." msgstr "%s не міÑтить розширеного розділу (розділу заголовків томів)." #: libparted/labels/dvh.c:327 msgid "Checksum is wrong, indicating the partition table is corrupt." msgstr "" "Ðеправильна контрольна Ñума, це означає, що Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² пошкоджена." #: libparted/labels/dvh.c:632 msgid "Only primary partitions can be root partitions." msgstr "Лише оÑновні розділи можуть бути завантажувальними." #: libparted/labels/dvh.c:646 msgid "Only primary partitions can be swap partitions." msgstr "Лише оÑновні розділи можуть бути розділами підкачки." #: libparted/labels/dvh.c:660 msgid "Only logical partitions can be a boot file." msgstr "Лише логічні розділи можуть бути завантажувальним файлом." #: libparted/labels/dvh.c:737 #, fuzzy, c-format msgid "" "failed to set dvh partition name to %s:\n" "Only logical partitions (boot files) have a name." msgstr "Лише логічні розділи (завантажувальні файли) мають назву." #: libparted/labels/dvh.c:830 msgid "Too many primary partitions" msgstr "Занадто багато оÑновних розділів" #: libparted/labels/fdasd.c:98 #, fuzzy msgid "open error" msgstr "" "%s помилка при відкриванні\n" "%s\n" #: libparted/labels/fdasd.c:101 #, fuzzy msgid "seek error" msgstr "" "%s помилка при вÑтановленні позиції\n" "%s\n" #: libparted/labels/fdasd.c:104 #, fuzzy msgid "read error" msgstr "помилка запиÑу" #: libparted/labels/fdasd.c:110 #, fuzzy msgid "ioctl() error" msgstr "помилка запиÑу" #: libparted/labels/fdasd.c:114 #, fuzzy msgid "API version mismatch" msgstr "" "%s невідповідніÑть верÑÑ–Ñ— API\n" "%s\n" #: libparted/labels/fdasd.c:118 #, fuzzy msgid "Unsupported disk type" msgstr "" "%s Ðепідтримуваний тип диÑка\n" "%s\n" #: libparted/labels/fdasd.c:122 #, fuzzy msgid "Unsupported disk format" msgstr "" "%s Ðепідтримуваний формат диÑку\n" "%s\n" #: libparted/labels/fdasd.c:126 #, fuzzy msgid "Disk is in use" msgstr "" "%s ДиÑк зайнÑтий\n" "%s\n" #: libparted/labels/fdasd.c:130 msgid "Syntax error in config file" msgstr "" #: libparted/labels/fdasd.c:134 #, fuzzy msgid "Volume label is corrupted" msgstr "" "%s Позначка диÑку пошкоджена.\n" "%s\n" #: libparted/labels/fdasd.c:138 #, fuzzy msgid "A data set name is corrupted" msgstr "" "%s назва набору даних пошкоджена.\n" "%s\n" #: libparted/labels/fdasd.c:142 #, fuzzy msgid "Memory allocation failed" msgstr "Помилка переноÑу даних." #: libparted/labels/fdasd.c:146 #, fuzzy msgid "Device verification failed" msgstr "Помилка переноÑу даних." #: libparted/labels/fdasd.c:147 #, fuzzy msgid "The specified device is not a valid DASD device" msgstr "" "%s помилка перевірки диÑку\n" "Вказаний приÑтрій не Ñ” коректним приÑтроєм DASD\n" #: libparted/labels/fdasd.c:150 libparted/labels/vtoc.c:179 #, fuzzy msgid "Fatal error" msgstr "Критична помилка\n" #: libparted/labels/fdasd.c:226 msgid "No room for volume label." msgstr "" #: libparted/labels/fdasd.c:234 #, fuzzy msgid "No room for partition info." msgstr "Ðе знайдено правильної карти розділів." #: libparted/labels/fdasd.c:704 #, fuzzy msgid "Invalid VTOC." msgstr "Ðеправильне чиÑло." #: libparted/labels/fdasd.c:764 #, fuzzy msgid "Could not retrieve API version." msgstr "Ðе вдаєтьÑÑ Ð·Ð°Ð¿Ð¸Ñати VTOC labels." #: libparted/labels/fdasd.c:767 #, c-format msgid "" "The current API version '%d' doesn't match dasd driver API version '%d'!" msgstr "" #: libparted/labels/fdasd.c:804 msgid "Could not retrieve disk geometry information." msgstr "" #: libparted/labels/fdasd.c:808 msgid "Could not retrieve blocksize information." msgstr "" #: libparted/labels/fdasd.c:813 msgid "Could not retrieve disk information." msgstr "" #: libparted/labels/fdasd.c:818 msgid "This is not an ECKD disk! This disk type is not supported!" msgstr "" #: libparted/labels/gpt.c:485 #, c-format msgid "" "%s contains GPT signatures, indicating that it has a GPT table. However, it " "does not have a valid fake msdos partition table, as it should. Perhaps it " "was corrupted -- possibly by a program that doesn't understand GPT partition " "tables. Or perhaps you deleted the GPT table, and are now using an msdos " "partition table. Is this a GPT partition table?" msgstr "" "%s міÑтить GPT Ñигнатуру, це означає, що він міÑтить GPT таблицю. Ðле, він " "не міÑтить правильної імітації msdos-ÑуміÑної таблиці розділів, хоча Ñ– " "повинен міÑтити. Можливо він пошкоджений програмою Ñка не розуміє GPT " "таблиці розділів. Ðбо, можливо, ви видалили GPT таблицю, а тепер " "викориÑтовуєте msdos-ÑуміÑну таблицю розділів. Ðа цьому розділі Ñ” GPT " "таблицÑ?" #: libparted/labels/gpt.c:680 #, c-format msgid "" "The format of the GPT partition table is version %x, which is newer than " "what Parted can recognise. Please tell us! bug-parted@gnu.org" msgstr "" "Знайдено GPT таблицю розділів верÑÑ–Ñ— %x, Ñ†Ñ Ð²ÐµÑ€ÑÑ–Ñ Ñтарша ніж верÑÑ–Ñ, що " "підтримуєтьÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¾ÑŽ Parted. Будь лаÑка, повідомте нам! bug-parted@gnu.org" #: libparted/labels/gpt.c:727 #, c-format msgid "" "Not all of the space available to %s appears to be used, you can fix the GPT " "to use all of the space (an extra %llu blocks) or continue with the current " "setting? " msgstr "" "Ðа %s викориÑтовуєтьÑÑ Ð½Ðµ веÑÑŒ доÑтупний проÑтір, виправити GPT, щоб " "викориÑтовувавÑÑ Ð²ÐµÑÑŒ проÑтір (додатково %llu блоків) або продовжити з " "вказаними параметрами?." #: libparted/labels/gpt.c:936 msgid "" "The backup GPT table is not at the end of the disk, as it should be. This " "might mean that another operating system believes the disk is smaller. Fix, " "by moving the backup to the end (and removing the old backup)?" msgstr "" "Резервна GPT Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ð½Ðµ знаходитьÑÑ Ð½Ð°Ð¿Ñ€Ð¸ÐºÑ–Ð½Ñ†Ñ– диÑка, хоча повинна там " "знаходитиÑÑŒ. Можливо, це означає, що інша операційна ÑиÑтема вважає, що " "розмір диÑку менший. Виправити це шлÑхом Ð¿ÐµÑ€ÐµÐ¼Ñ–Ñ‰ÐµÐ½Ð½Ñ ÐºÐ¾Ð¿Ñ–Ñ— таблиці у кінець " "(та видалити Ñтару копію)?" #: libparted/labels/gpt.c:960 msgid "" "Both the primary and backup GPT tables are corrupt. Try making a fresh " "table, and using Parted's rescue feature to recover partitions." msgstr "" "Пошкоджено Ñк головну так Ñ– резервну GPT таблиці. Спробуйте Ñтворити чиÑту " "таблицю, та викориÑтовуйте функцію Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸ Parted, щоб " "повернути розділи." #: libparted/labels/gpt.c:971 #, fuzzy msgid "" "The backup GPT table is corrupt, but the primary appears OK, so that will be " "used." msgstr "" "ОÑновна GPT Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð°, але резервна виглÑдає правильною, тому буде " "викориÑтовуватиÑÑŒ Ñаме вона." #: libparted/labels/gpt.c:983 msgid "" "The primary GPT table is corrupt, but the backup appears OK, so that will be " "used." msgstr "" "ОÑновна GPT Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð°, але резервна виглÑдає правильною, тому буде " "викориÑтовуватиÑÑŒ Ñаме вона." #: libparted/labels/gpt.c:1007 msgid "primary partition table array CRC mismatch" msgstr "" #: libparted/labels/mac.c:185 #, c-format msgid "Invalid signature %x for Mac disk labels." msgstr "Ðеправильна Ñигнатура %x Ð´Ð»Ñ Macintosh етикетки диÑку." #: libparted/labels/mac.c:232 msgid "Partition map has no partition map entry!" msgstr "Карта розділів не міÑтить елементу карти розділів!" #: libparted/labels/mac.c:280 #, c-format msgid "%s is too small for a Mac disk label!" msgstr "%s занадто мале Ð´Ð»Ñ Macintosh етикетки диÑку!" #: libparted/labels/mac.c:509 #, c-format msgid "Partition %d has an invalid signature %x." msgstr "Розділ %d має неправильну Ñигнатуру %x." #: libparted/labels/mac.c:527 #, c-format msgid "Partition %d has an invalid length of 0 bytes!" msgstr "Розділ %d має неправильну довжину 0 байт!" #: libparted/labels/mac.c:558 msgid "The data region doesn't start at the start of the partition." msgstr "ОблаÑть даних не починаєтьÑÑ Ð· початку розділу." #: libparted/labels/mac.c:575 msgid "The boot region doesn't start at the start of the partition." msgstr "ОблаÑть Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð½Ðµ починаєтьÑÑ Ð· початку розділу." #: libparted/labels/mac.c:589 msgid "The partition's boot region doesn't occupy the entire partition." msgstr "ОблаÑть Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ не займає веÑÑŒ розділ." #: libparted/labels/mac.c:600 msgid "The partition's data region doesn't occupy the entire partition." msgstr "ОблаÑть даних розділу не займає веÑÑŒ розділ." #: libparted/labels/mac.c:653 #, c-format msgid "" "Weird block size on device descriptor: %d bytes is not divisible by 512." msgstr "" "Дивний розмір блоку у деÑкрипторі приÑтрою: %d байт не ділитьÑÑ Ð½Ð° 512." #: libparted/labels/mac.c:666 #, c-format msgid "" "The driver descriptor says the physical block size is %d bytes, but Linux " "says it is %d bytes." msgstr "" "У деÑкрипторі драйвера зазначено, що розмір фізичного блоку дорівнює %d " "байтів, але Linux вважає, що він %d байтів." #: libparted/labels/mac.c:720 msgid "No valid partition map found." msgstr "Ðе знайдено правильної карти розділів." #: libparted/labels/mac.c:782 #, c-format msgid "" "Conflicting partition map entry sizes! Entry 1 says it is %d, but entry %d " "says it is %d!" msgstr "" "Конфліктуючі розміри у елементах карти розділів! У елементі 1 вказано %d, " "але у елементі %d вказано %d!" #: libparted/labels/mac.c:809 msgid "Weird! There are 2 partitions map entries!" msgstr "Фатально! Дивна помилка - 2 елементи карти розділів!" #: libparted/labels/mac.c:1355 msgid "" "Changing the name of a root or swap partition will prevent Linux from " "recognising it as such." msgstr "" "Зміна назви кореневого розділу чи розділу підкачки заважатиме Linux " "розпізнати Ñ—Ñ…." #: libparted/labels/mac.c:1459 msgid "Can't add another partition -- the partition map is too small!" msgstr "Ðе вдаєтьÑÑ Ð´Ð¾Ð´Ð°Ñ‚Ð¸ інший розділ - карта розділів надто маленька!" #: libparted/labels/pc98.c:331 #, c-format msgid "Invalid partition table on %s." msgstr "Ðеправильна Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² у %s." #: libparted/labels/pc98.c:384 libparted/labels/pc98.c:462 #, c-format msgid "" "Partition %d isn't aligned to cylinder boundaries. This is still " "unsupported." msgstr "" "Розділ %d не вирівнÑний на межі циліндру. Ðеобхідно додати підтримку Ð´Ð»Ñ " "цього випадку." #: libparted/labels/pc98.c:781 msgid "Can't add another partition." msgstr "Ðе вдаєтьÑÑ Ð´Ð¾Ð´Ð°Ñ‚Ð¸ інший розділ." #: libparted/labels/pt-tools.c:125 #, c-format msgid "" "partition length of %jd sectors exceeds the %s-partition-table-imposed " "maximum of %jd" msgstr "" #: libparted/labels/pt-tools.c:138 #, c-format msgid "" "starting sector number, %jd exceeds the %s-partition-table-imposed maximum " "of %jd" msgstr "" #: libparted/labels/rdb.c:170 #, c-format msgid "%s : Bad checksum on block %llu of type %s." msgstr "%s : Ðеправильна контрольна Ñума на блоці %llu типу %s." #: libparted/labels/rdb.c:486 #, c-format msgid "%s : Didn't find rdb block, should never happen." msgstr "%s : Ðе вдаєтьÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ блок rdb, цього не повинно було ÑтатиÑÑ." #: libparted/labels/rdb.c:572 #, c-format msgid "%s : Loop detected at block %d." msgstr "%s : виÑвлено цикл у блоці %d." #: libparted/labels/rdb.c:591 #, c-format msgid "%s : The %s list seems bad at block %s." msgstr "%s : СпиÑок %s має пошкоджений блок %s." #: libparted/labels/rdb.c:690 #, c-format msgid "%s : Failed to list bad blocks." msgstr "%s : не вдаєтьÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ ÑпиÑок пошкоджених блоків." #: libparted/labels/rdb.c:698 #, c-format msgid "%s : Failed to list partition blocks." msgstr "%s : не вдаєтьÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ ÑпиÑок блоків розділу." #: libparted/labels/rdb.c:706 #, c-format msgid "%s : Failed to list file system blocks." msgstr "%s : не вдаєтьÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ ÑпиÑок блоків файлової ÑиÑтеми." #: libparted/labels/rdb.c:714 #, c-format msgid "%s : Failed to list boot blocks." msgstr "%s : не вдаєтьÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ ÑпиÑок завантажувальних блоків." #: libparted/labels/rdb.c:741 #, c-format msgid "Failed to write partition block at %d." msgstr "Ðе вдаєтьÑÑ Ð·Ð°Ð¿Ð¸Ñати блок розділу у %d." #: libparted/labels/rdb.c:1079 msgid "Unable to allocate a partition number." msgstr "ОчікуєтьÑÑ Ð½Ð¾Ð¼ÐµÑ€ розділу." #: libparted/labels/sun.c:163 msgid "Corrupted Sun disk label detected." msgstr "Знайдено пошкоджену Sun етикетку диÑку." #: libparted/labels/sun.c:316 #, c-format msgid "" "The disk CHS geometry (%d,%d,%d) reported by the operating system does not " "match the geometry stored on the disk label (%d,%d,%d)." msgstr "" "ЦГС(CHS) Ð³ÐµÐ¾Ð¼ÐµÑ‚Ñ€Ñ–Ñ Ð´Ð¸Ñку (%d,%d,%d) Ñку видає операційна ÑиÑтема не " "відповідає геометрії, що зберігаєтьÑÑ Ñƒ позначці диÑку (%d,%d,%d)." #: libparted/labels/sun.c:338 #, c-format msgid "The disk label describes a disk bigger than %s." msgstr "Етикетка диÑку опиÑує диÑк більшого розміру ніж %s." #: libparted/labels/sun.c:510 #, c-format msgid "The disk has %d cylinders, which is greater than the maximum of 65536." msgstr "ДиÑк має %d циліндрів, що більше ніж макÑимальне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ 65536." #: libparted/labels/sun.c:853 msgid "" "The Whole Disk partition is the only available one left. Generally, it is " "not a good idea to overwrite this partition with a real one. Solaris may " "not be able to boot without it, and SILO (the sparc boot loader) appreciates " "it as well." msgstr "" "Розділ \"ВеÑÑŒ диÑк\" - єдиний наÑвний. Зазвичай, небажано перезапиÑувати цей " "розділ реальним розділом. Solaris, можливо, не буде здатний завантажитиÑÑŒ " "без нього, це також вплине на SILO (завантажувач sparc)." #: libparted/labels/sun.c:868 msgid "Sun disk label is full." msgstr "Sun етикетка диÑку заповнена." #: libparted/labels/vtoc.c:164 #, fuzzy msgid "opening of device failed" msgstr "" "%s помилка при відкриванні приÑтрою '%s'.\n" "%s\n" #: libparted/labels/vtoc.c:168 #, fuzzy msgid "seeking on device failed" msgstr "" "%s помилка при вÑтановленні позиції на приÑтрої '%s'.\n" "%s\n" #: libparted/labels/vtoc.c:172 #, fuzzy msgid "writing to device failed" msgstr "" "%s помилка при запиÑÑ– на приÑтрій '%s',\n" "%s\n" #: libparted/labels/vtoc.c:176 #, fuzzy msgid "reading from device failed" msgstr "" "%s помилка при читанні з приÑтрою '%s'.\n" "%s\n" #: libparted/labels/vtoc.c:277 libparted/labels/vtoc.c:284 #, fuzzy msgid "Could not read volume label." msgstr "Ðе вдаєтьÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ позначки VTOC." #: libparted/labels/vtoc.c:303 libparted/labels/vtoc.c:308 #, fuzzy msgid "Could not write volume label." msgstr "Ðе вдаєтьÑÑ Ð·Ð°Ð¿Ð¸Ñати VTOC labels." #: libparted/labels/vtoc.c:414 msgid "Could not read VTOC labels." msgstr "Ðе вдаєтьÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ позначки VTOC." #: libparted/labels/vtoc.c:420 msgid "Could not read VTOC FMT1 DSCB." msgstr "Ðе вдаєтьÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ VTOC FMT1 DSCB." #: libparted/labels/vtoc.c:427 msgid "Could not read VTOC FMT4 DSCB." msgstr "Ðе вдаєтьÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ VTOC FMT4 DSCB." #: libparted/labels/vtoc.c:434 msgid "Could not read VTOC FMT5 DSCB." msgstr "Ðе вдаєтьÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ VTOC FMT5 DSCB." #: libparted/labels/vtoc.c:441 msgid "Could not read VTOC FMT7 DSCB." msgstr "Ðе вдаєтьÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ VTOC FMT7 DSCB." #: libparted/labels/vtoc.c:461 msgid "Could not write VTOC labels." msgstr "Ðе вдаєтьÑÑ Ð·Ð°Ð¿Ð¸Ñати VTOC labels." #: libparted/labels/vtoc.c:467 msgid "Could not write VTOC FMT1 DSCB." msgstr "Ðе вдаєтьÑÑ Ð·Ð°Ð¿Ð¸Ñати VTOC FMT1 DSCB." #: libparted/labels/vtoc.c:474 msgid "Could not write VTOC FMT4 DSCB." msgstr "Ðе вдаєтьÑÑ Ð·Ð°Ð¿Ð¸Ñати VTOC FMT4 DSCB." #: libparted/labels/vtoc.c:481 msgid "Could not write VTOC FMT5 DSCB." msgstr "Ðе вдаєтьÑÑ Ð·Ð°Ð¿Ð¸Ñати VTOC FMT5 DSCB." #: libparted/labels/vtoc.c:488 msgid "Could not write VTOC FMT7 DSCB." msgstr "Ðе вдаєтьÑÑ Ð·Ð°Ð¿Ð¸Ñати VTOC FMT7 DSCB." #: libparted/libparted.c:237 libparted/libparted.c:252 msgid "Out of memory." msgstr "ÐедоÑтатньо пам'Ñті." #: libparted/unit.c:138 msgid "Cannot get unit size for special unit 'COMPACT'." msgstr "Ðе вдаєтьÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ одиницю розміру Ð´Ð»Ñ Ñпеціального блоку 'COMPACT'." #: libparted/unit.c:384 #, c-format msgid "\"%s\" has invalid syntax for locations." msgstr "\"%s\" має неправильний ÑинтакÑÐ¸Ñ Ð°Ð´Ñ€ÐµÑ." #: libparted/unit.c:392 #, c-format msgid "The maximum head value is %d." msgstr "МакÑимальний номер головки - %d." #: libparted/unit.c:399 #, c-format msgid "The maximum sector value is %d." msgstr "МакÑимальний номер Ñектора - %d." #: libparted/unit.c:411 libparted/unit.c:543 #, c-format msgid "The location %s is outside of the device %s." msgstr "ÐдреÑа %s поза межами приÑтрою %s." #: libparted/unit.c:525 msgid "Invalid number." msgstr "Ðеправильне чиÑло." #: libparted/fs/amiga/affs.c:63 libparted/fs/amiga/apfs.c:56 #: libparted/fs/amiga/asfs.c:70 #, c-format msgid "%s : Failed to allocate partition block\n" msgstr "%s : Помилка при виділенні блоку розділу\n" #: libparted/fs/amiga/affs.c:78 libparted/fs/amiga/apfs.c:69 #: libparted/fs/amiga/asfs.c:82 #, c-format msgid "%s : Failed to allocate block\n" msgstr "%s : Помилка при виділенні блоку\n" #: libparted/fs/amiga/affs.c:83 libparted/fs/amiga/apfs.c:74 #, c-format msgid "%s : Couldn't read boot block %llu\n" msgstr "%s : Ðе вдаєтьÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ завантажувальний блок %llu\n" #: libparted/fs/amiga/affs.c:99 libparted/fs/amiga/apfs.c:85 #: libparted/fs/amiga/asfs.c:88 libparted/fs/amiga/asfs.c:102 #, c-format msgid "%s : Couldn't read root block %llu\n" msgstr "%s : Ðе вдаєтьÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ кореневий блок %llu\n" #: libparted/fs/amiga/amiga.c:72 #, c-format msgid "%s : Failed to allocate id list element\n" msgstr "%s : Помилка при виділенні елементу ідентифікатора ÑпиÑку\n" #: libparted/fs/amiga/amiga.c:189 #, c-format msgid "%s : Couldn't read block %llu\n" msgstr "%s : Ðе вдаєтьÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ блок %llu\n" #: libparted/fs/amiga/amiga.c:202 #, c-format msgid "%s : Bad checksum on block %llu of type %s\n" msgstr "%s : Ðеправильна контрольна Ñума у блоці %llu типу %s\n" #: libparted/fs/amiga/amiga.c:212 #, c-format msgid "%s : Couldn't write block %d\n" msgstr "%s : Ðе вдаєтьÑÑ Ð·Ð°Ð¿Ð¸Ñати блок %d\n" #: libparted/fs/amiga/amiga.c:278 #, c-format msgid "%s : Failed to allocate disk_specific rdb block\n" msgstr "%s : не вдаєтьÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ disk_specific блок rdb\n" #: libparted/fs/amiga/amiga.c:289 #, c-format msgid "%s : Didn't find rdb block, should never happen\n" msgstr "%s : Ðе вдаєтьÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ блок rdb, цього не повинно було ÑтатиÑÑ\n" #: libparted/fs/amiga/amiga.c:318 #, c-format msgid "%s : Failed to read partition block %llu\n" msgstr "%s : Ðе вдаєтьÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ блок розділу %llu\n" #: libparted/fs/ext2/ext2.c:87 libparted/fs/ext2/ext2.c:112 msgid "Inconsistent group descriptors!" msgstr "Суперечлива група деÑкрипторів!" #: libparted/fs/ext2/ext2.c:91 libparted/fs/ext2/ext2.c:116 msgid "File system full!" msgstr "Файлова ÑиÑтема повна!" #: libparted/fs/ext2/ext2.c:686 msgid "Invalid superblock. Are you sure this is an ext2 file system?" msgstr "Ðеправильний Ñуперблок. Ви впевнені, що це файлова ÑиÑтема типу ext2?" #: libparted/fs/ext2/ext2.c:700 libparted/fs/ext2/ext2_resize.c:658 msgid "File system has errors! You should run e2fsck." msgstr "Файлова ÑиÑтема міÑтить помилки! Ðеобхідно запуÑтити e2fsck." #: libparted/fs/ext2/ext2.c:711 msgid "" "File system was not cleanly unmounted! You should run e2fsck. Modifying an " "unclean file system could cause severe corruption." msgstr "" "Файлова ÑиÑтема не була правильно відключена! Ðеобхідно запуÑтити e2fsck. " "Зміни до неціліÑної файлової ÑиÑтеми можуть призвеÑти до Ñерйозних " "пошкоджень." #: libparted/fs/ext2/ext2.c:731 msgid "" "File system has an incompatible feature enabled. Compatible features are " "has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs " "or debugfs to remove features." msgstr "" #: libparted/fs/ext2/ext2.c:745 msgid "Error allocating buffer cache." msgstr "Помилка розподілу буфера кеша." #: libparted/fs/ext2/ext2_inode_relocator.c:114 msgid "" "Found an inode with a incorrect link count. Better go run e2fsck first!" msgstr "" "Знайдено вузол (inode) з неправильною кількіÑтю поÑилань. РекомендуєтьÑÑ " "Ñпочатку запуÑтити e2fsck." #: libparted/fs/ext2/ext2_inode_relocator.c:487 msgid "Not enough free inodes!" msgstr "ÐедоÑтатньо вільних вузлів (inode)!" #: libparted/fs/ext2/ext2_resize.c:223 msgid "File system is too full to remove a group!" msgstr "Файлова ÑиÑтема надто заповнена, щоб видалити групу!" #: libparted/fs/ext2/ext2_resize.c:232 msgid "File system has too many allocated inodes to remove a group!" msgstr "" "У файловій ÑиÑтемі виділено надто багато вузлів (inode), щоб видалити групу!" #: libparted/fs/ext2/ext2_resize.c:491 msgid "adding groups" msgstr "Ð´Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ð³Ñ€ÑƒÐ¿" #: libparted/fs/ext2/ext2_resize.c:528 #, c-format msgid "Your file system is too full to resize it to %i blocks. Sorry." msgstr "Файлова ÑиÑтема надто заповнена щоб змінити Ñ—Ñ— розмір до %i блоків." #: libparted/fs/ext2/ext2_resize.c:538 #, c-format msgid "" "Your file system has too many occupied inodes to resize it to %i blocks. " "Sorry." msgstr "" "У файловій ÑиÑтемі надто багато зайнÑтих i-вузлів, щоб змінити Ñ—Ñ— розмір до " "%i блоків." #: libparted/fs/ext2/ext2_resize.c:666 msgid "File system was not cleanly unmounted! You should run e2fsck." msgstr "" "Файлова ÑиÑтема була неправильно відключена! Ðеобхідно запуÑтити e2fsck." #: libparted/fs/ext2/ext2_resize.c:675 msgid "" "The file system has the 'dir_index' feature enabled. Parted can only resize " "the file system if it disables this feature. You can enable it later by " "running 'tune2fs -O dir_index DEVICE' and then 'e2fsck -fD DEVICE'." msgstr "" "У файловій ÑиÑтемі ввімкнено влаÑтивіÑть 'dir_index'. Parted може змінювати " "розмір лише у файлових ÑиÑтем, у Ñких Ñ†Ñ Ð²Ð»Ð°ÑтивіÑть вимкнена. Ви можете " "увімкнути Ñ—Ñ— пізніше, командою 'tune2fs -O dir_index DEVICE', піÑÐ»Ñ Ñ‡Ð¾Ð³Ð¾ " "Ñлід запуÑтити 'e2fsck -fD DEVICE'." #: libparted/fs/ext2/ext2_resize.c:691 msgid "" "A resize operation on this file system will use EXPERIMENTAL code\n" "that MAY CORRUPT it (although no one has reported any such damage yet).\n" "You should at least backup your data first, and run 'e2fsck -f' afterwards." msgstr "" "ÐžÐ¿ÐµÑ€Ð°Ñ†Ñ–Ñ Ð·Ð¼Ñ–Ð½Ð¸ розміру на цій файловій ÑиÑтемі викориÑтовує\n" "ЕКСПЕРИМЕÐТÐЛЬÐИЙ код та МОЖЕ ПОШКОДИТИ Ñ—Ñ— (хоча цього доÑÑ– не було\n" "помічено). Принаймні, Ñлід зробити резервну копію даних та запуÑтити\n" "'e2fsck -f' піÑÐ»Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð·Ð¼Ñ–Ð½Ð¸ розміру." #: libparted/fs/ext2/ext2_block_relocator.c:198 msgid "Cross-linked blocks found! Better go run e2fsck first!" msgstr "" "ВиÑвлено блоки з перехреÑними поÑиланнÑми! Краще Ñпочатку запуÑтити e2fsck!" #: libparted/fs/ext2/ext2_block_relocator.c:537 #, c-format msgid "Block %i has no reference? Weird." msgstr "Блок %i не має поÑиланнÑ? Дивно" #: libparted/fs/ext2/ext2_block_relocator.c:738 #, c-format msgid "Block %i shouldn't have been marked (%d, %d)!" msgstr "Блок %i не повинен бути відміченим (%d, %d)!" #: libparted/fs/ext2/interface.c:226 msgid "" "The ext2 file system passed a basic check. For a more comprehensive check, " "use the e2fsck program." msgstr "" "Файлова ÑиÑтема ext2 пройшла загальну перевірку. Ð”Ð»Ñ Ð±Ñ–Ð»ÑŒÑˆ докладної " "перевірки кориÑтуйтеÑÑŒ програмою e2fsck." #: libparted/fs/ext2/interface.c:243 msgid "Sorry, can't move the start of ext2 partitions yet!" msgstr "ÐŸÐµÑ€ÐµÐ¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÑƒ розділів типу ext2 ще не підтримуєтьÑÑ!" #: libparted/fs/ext2/ext2_buffer.c:82 msgid "Couldn't flush buffer cache!" msgstr "Ðе вдаєтьÑÑ Ð¾Ñ‡Ð¸Ñтити буфер кешу!" #: libparted/fs/ext2/ext2_mkfs.c:161 msgid "writing per-group metadata" msgstr "запиÑÑƒÐ²Ð°Ð½Ð½Ñ Ð¼ÐµÑ‚Ð°Ð´Ð°Ð½Ð¸Ñ… груп" #: libparted/fs/ext2/ext2_mkfs.c:597 msgid "File system too small for ext2." msgstr "Файлова ÑиÑтема занадто маленька Ð´Ð»Ñ ext2." #: libparted/fs/fat/calc.c:135 #, c-format msgid "" "You need %s of free disk space to shrink this partition to this size. " "Currently, only %s is free." msgstr "" "Ðеобхідно %s вільного проÑтору, щоб зменшити розділ до такого розміру (зараз " "у Ð²Ð°Ñ Ð²Ñ–Ð»ÑŒÐ½Ð¾ лише %s)." #: libparted/fs/fat/context.c:56 #, c-format msgid "" "Cluster start delta = %d, which is not a multiple of the cluster size %d." msgstr "" "КлаÑтер починаєтьÑÑ Ð·Ñ– зÑувом %d, що не Ñ” цілим чиÑлом клаÑтерів розміру %d." #: libparted/fs/fat/fat.c:310 #, c-format msgid "Partition too big/small for a %s file system." msgstr "Розділ надто великий/малий Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ñ— ÑиÑтеми типу %s." #: libparted/fs/fat/fat.c:476 msgid "" "The FATs don't match. If you don't know what this means, then select " "cancel, run scandisk on the file system, and then come back." msgstr "" "Копії FAT не збігаютьÑÑ. Якщо ви не знаєте, що це означає, виберіть " "\"СкаÑувати\", запуÑтіть scandisk Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ñ— ÑиÑтеми, а потім повторіть цю " "команду." #: libparted/fs/fat/fat.c:516 msgid "There are no possible configurations for this FAT type." msgstr "Ð”Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ типу FAT немає допуÑтимих конфігурацій." #: libparted/fs/fat/fat.c:528 #, c-format msgid "" "File system doesn't have expected sizes for Windows to like it. Cluster " "size is %dk (%dk expected); number of clusters is %d (%d expected); size of " "FATs is %d sectors (%d expected)." msgstr "" "Windows не підтримує файлову ÑиÑтему, що має такі розміри. Розмір клаÑтера " "%dk (очікувалоÑÑŒ %dk); кількіÑть клаÑтерів %d (очікувалоÑÑŒ %d); розмір FAT " "%d Ñекторів (очікувалоÑÑŒ %d)." #: libparted/fs/fat/fat.c:551 #, c-format msgid "" "File system is reporting the free space as %d clusters, not %d clusters." msgstr "" "Файлова ÑиÑтема повідомлÑÑ” про вільний проÑтір %d клаÑтерів, а не %d " "клаÑтерів." #: libparted/fs/fat/fat.c:876 msgid "" "GNU Parted was miscompiled: the FAT boot sector should be 512 bytes. FAT " "support will be disabled." msgstr "" "GNU parted зібрано неправильно: завантажувальний Ñектор FAT повинен мати " "розмір 512 байтів. Підтримка FAT вимкнена." #: libparted/fs/fat/resize.c:158 msgid "" "There's not enough room in the root directory for all of the files. Either " "cancel, or ignore to lose the files." msgstr "" "Ðе виÑтачає проÑтору Ð´Ð»Ñ Ð²ÑÑ–Ñ… файлів в кореневому каталозі. Виберіть " "\"СкаÑувати\", Ñкщо проігноруєте, це призведе до втрати файлів." #: libparted/fs/fat/resize.c:299 msgid "Error writing to the root directory." msgstr "Помилка запиÑÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ кореневий каталог." #: libparted/fs/fat/resize.c:488 msgid "If you leave your file system as FAT16, then you will have no problems." msgstr "" "Якщо залишити файлову ÑиÑтему Ñк FAT16, тоді у Ð²Ð°Ñ Ð½Ðµ виникатиме проблем." #: libparted/fs/fat/resize.c:491 msgid "" "If you convert to FAT16, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual)." msgstr "" "Якщо ви перетворюєте файлову ÑиÑтему розділу з Windows у розділ FAT16, буде " "потрібно перевÑтановити завантажувач MS Windows. Ð”Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ Ñлід переглÑнути " "довідку з Parted (або поÑібник з вашого диÑтрибутиву)." #: libparted/fs/fat/resize.c:499 msgid "" "If you leave your file system as FAT32, then you will not introduce any new " "problems." msgstr "" "Якщо ви залишаєте файлову ÑиÑтему Ñк FAT32, тоді не виникне ніÑких нових " "проблем." #: libparted/fs/fat/resize.c:503 msgid "" "If you convert to FAT32, and MS Windows is installed on this partition, then " "you must re-install the MS Windows boot loader. If you want to do this, you " "should consult the Parted manual (or your distribution's manual). Also, " "converting to FAT32 will make the file system unreadable by MS DOS, MS " "Windows 95a, and MS Windows NT." msgstr "" "Якщо ви перетворите файлову ÑиÑтему розділу з MS Windows у розділ FAT32,буде " "потрібно перевÑтановити завантажувач MS Windows. Ð”Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ Ñлід переглÑнути " "довідку з Parted (або поÑібник з вашого диÑтрибутиву). ÐŸÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñƒ FAT32 " "унеможливить Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ñ— ÑиÑтеми під MS DOS, MS Windows 95a, та MS " "Windows NT." #: libparted/fs/fat/resize.c:517 #, c-format msgid "%s %s %s" msgstr "%s %s %s" #: libparted/fs/fat/resize.c:518 msgid "Would you like to use FAT32?" msgstr "Бажаєте викориÑтовувати FAT32?" #: libparted/fs/fat/resize.c:549 libparted/fs/fat/resize.c:565 #, c-format msgid "%s %s" msgstr "%s %s" #: libparted/fs/fat/resize.c:550 msgid "" "The file system can only be resized to this size by converting to FAT16." msgstr "" "Змінити розмір файлової ÑиÑтеми на вказаний розмір можна лише при " "перетворенні на FAT16." #: libparted/fs/fat/resize.c:566 msgid "" "The file system can only be resized to this size by converting to FAT32." msgstr "" "Змінити розмір файлової ÑиÑтеми на вказаний розмір можна лише при " "перетворенні на FAT32." #: libparted/fs/fat/resize.c:579 msgid "" "GNU Parted cannot resize this partition to this size. We're working on it!" msgstr "" "GNU Parted нездатний змінити розмір розділу на вказане значеннÑ. Ми над цим " "працюємо!" #: libparted/fs/fat/bootsector.c:49 libparted/fs/fat/bootsector.c:56 msgid "File system has an invalid signature for a FAT file system." msgstr "Файлова ÑиÑтема міÑтить неправильну Ñигнатуру файлової ÑиÑтеми FAT." #: libparted/fs/fat/bootsector.c:64 msgid "File system has an invalid sector size for a FAT file system." msgstr "Файлова ÑиÑтема має неправильний розмір Ñектора файлової ÑиÑтеми FAT." #: libparted/fs/fat/bootsector.c:71 msgid "File system has an invalid cluster size for a FAT file system." msgstr "Файлова ÑиÑтема має неправильний розмір клаÑтера файлової ÑиÑтеми FAT." #: libparted/fs/fat/bootsector.c:78 msgid "" "File system has an invalid number of reserved sectors for a FAT file system." msgstr "У файловій ÑиÑтемі неправильна кількіÑть резервних Ñекторів FAT." #: libparted/fs/fat/bootsector.c:85 msgid "File system has an invalid number of FATs." msgstr "У файловій ÑиÑтемі неправильне чиÑло копій FAT." #: libparted/fs/fat/bootsector.c:139 #, c-format msgid "" "This file system has a logical sector size of %d. GNU Parted is known not " "to work properly with sector sizes other than 512 bytes." msgstr "" "Файлова ÑиÑтема має логічний розмір Ñектора %d. ВважаєтьÑÑ, що GNU Parted " "працює неправильно з Ñекторами, розмір Ñких не дорівнює 512 байт." #: libparted/fs/fat/bootsector.c:164 #, c-format msgid "" "The file system's CHS geometry is (%d, %d, %d), which is invalid. The " "partition table's CHS geometry is (%d, %d, %d). If you select Ignore, the " "file system's CHS geometry will be left unchanged. If you select Fix, the " "file system's CHS geometry will be set to match the partition table's CHS " "geometry." msgstr "" "Ð“ÐµÐ¾Ð¼ÐµÑ‚Ñ€Ñ–Ñ CHS файлової ÑиÑтеми Ñтановить (%d, %d, %d), що Ñ” неправильним. " "Ð“ÐµÐ¾Ð¼ÐµÑ‚Ñ€Ñ–Ñ CHS таблиці розділів Ñтановить (%d, %d, %d). Якщо ви виберете " "Ігнорувати, геометрію CHS файлової ÑиÑтеми буде залишено без змін. Якщо ви " "оберете Виправити(Fix), геометрію CHS файлової ÑиÑтеми буде приведено у " "відповідніÑть до геометрії CHS таблиці розділів." #: libparted/fs/fat/bootsector.c:213 msgid "FAT boot sector says logical sector size is 0. This is weird. " msgstr "" "Завантажувальний Ñектор FAT міÑтить розмір логічного Ñектора, що дорівнює 0. " "Це дивно." #: libparted/fs/fat/bootsector.c:219 msgid "FAT boot sector says there are no FAT tables. This is weird. " msgstr "" "У завантажувальному Ñекторі FAT не міÑтитьÑÑ Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ таблиці FAT. Це " "дивно." #: libparted/fs/fat/bootsector.c:225 msgid "FAT boot sector says clusters are 0 sectors. This is weird. " msgstr "" "У відповідноÑті до завантажувального Ñектора FAT, клаÑтер міÑтить 0 " "Ñекторів. Це дивно." #: libparted/fs/fat/bootsector.c:235 msgid "File system is FAT12, which is unsupported." msgstr "Файлові ÑиÑтеми типу FAT12 не підтримуютьÑÑ." #: libparted/fs/fat/bootsector.c:411 #, c-format msgid "" "The information sector has the wrong signature (%x). Select cancel for now, " "and send in a bug report. If you're desperate, it's probably safe to ignore." msgstr "" "Інформаційний Ñектор міÑтить неправильну Ñигнатуру (%x). Виберіть \"СкаÑувати" "\" та відправте Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ помилку. Якщо ви втратили надію, тоді можна " "проігнорувати цю проблему." #: libparted/fs/fat/count.c:144 #, c-format msgid "Bad directory entry for %s: first cluster is the end of file marker." msgstr "" "Ðеправильний елемент каталогу %s: перший клаÑтер Ñ” кінцем маркера файла." #: libparted/fs/fat/count.c:157 #, c-format msgid "" "Bad FAT: unterminated chain for %s. You should run dosfsck or scandisk." msgstr "" "Помилка у FAT: незавершений ланцюг Ð´Ð»Ñ %s. Потрібно запуÑтити dosfsck або " "scandisk." #: libparted/fs/fat/count.c:166 #, c-format msgid "" "Bad FAT: cluster %d outside file system in chain for %s. You should run " "dosfsck or scandisk." msgstr "" "Помилка у FAT: клаÑтер %d знаходитьÑÑ Ð¿Ð¾Ð·Ð° межами файлової ÑиÑтеми у ланцюгу " "Ð´Ð»Ñ %s. Потрібно запуÑтити dosfsck або scandisk." #: libparted/fs/fat/count.c:176 #, c-format msgid "" "Bad FAT: cluster %d is cross-linked for %s. You should run dosfsck or " "scandisk." msgstr "" "Помилка у FAT: перехреÑне поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ñƒ клаÑтері %d Ð´Ð»Ñ %s. Потрібно запуÑтити " "dosfsck або scandisk." #: libparted/fs/fat/count.c:195 #, c-format msgid "%s is %dk, but it has %d clusters (%dk)." msgstr "%s дорівнює %dk, але має %d клаÑтерів (%dk)." #: libparted/fs/fat/count.c:258 #, c-format msgid "" "The file %s is marked as a system file. This means moving it could cause " "some programs to stop working." msgstr "" "Файл %s позначений Ñк ÑиÑтемний файл. Це означає, що його Ð¿ÐµÑ€ÐµÐ¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¼Ð¾Ð¶Ðµ " "призвеÑти до Ð¿Ñ€Ð¸Ð¿Ð¸Ð½ÐµÐ½Ð½Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ деÑких програм." #: libparted/fs/fat/table.c:136 #, c-format msgid "" "FAT %d media %x doesn't match the boot sector's media %x. You should " "probably run scandisk." msgstr "" "FAT %d ноÑій %x не відповідає завантажувальним Ñекторам ноÑÑ–Ñ %x. Потрібно " "запуÑтити dosfsck або scandisk." #: libparted/fs/fat/table.c:268 #, c-format msgid "fat_table_set: cluster %ld outside file system" msgstr "fat_table_set: клаÑтер %ld знаходитьÑÑ Ð¿Ð¾Ð·Ð° межами файлової ÑиÑтеми" #: libparted/fs/fat/table.c:300 #, c-format msgid "fat_table_get: cluster %ld outside file system" msgstr "fat_table_get: клаÑтер %ld знаходитьÑÑ Ð¿Ð¾Ð·Ð° межами файлової ÑиÑтеми" #: libparted/fs/fat/table.c:342 msgid "fat_table_alloc_cluster: no free clusters" msgstr "fat_table_alloc_cluster: немає вільних клаÑтерів" #: libparted/fs/linux_swap/linux_swap.c:288 #, c-format msgid "Unrecognised old style linux swap signature '%10s'." msgstr "Ðевідома Ñтара Ñигнатура '%10s' розділу підкачки linux." #: libparted/fs/linux_swap/linux_swap.c:331 #, c-format msgid "Unrecognised new style linux swap signature '%10s'." msgstr "Ðевідома нова Ñигнатура '%10s' розділу підкачки linux." #: libparted/fs/linux_swap/linux_swap.c:371 #, c-format msgid "Unrecognised swsusp linux swap signature '%9s'." msgstr "Ðевідома Ñигнатура '%10s' розділу swsusp підкачки linux." #: libparted/fs/linux_swap/linux_swap.c:447 msgid "Too many bad pages." msgstr "Ðадто багато пошкоджених Ñторінок." #: libparted/fs/hfs/advfs.c:121 libparted/fs/hfs/advfs_plus.c:121 #: libparted/fs/hfs/reloc.c:414 libparted/fs/hfs/reloc.c:508 #: libparted/fs/hfs/reloc_plus.c:538 libparted/fs/hfs/reloc_plus.c:656 #: libparted/fs/hfs/reloc_plus.c:769 msgid "The file system contains errors." msgstr "Файлова ÑиÑтема міÑтить помилки." #: libparted/fs/hfs/advfs_plus.c:285 msgid "Bad blocks could not be read." msgstr "Пошкоджені блоки не вдаєтьÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸." #: libparted/fs/hfs/cache.c:137 #, c-format msgid "" "Trying to register an extent starting at block 0x%X, but another one already " "exists at this position. You should check the file system!" msgstr "" "Спроба зареєÑтрувати екÑтент, о починаєтьÑÑ Ð· блоку 0x%X, але в цій позиції " "вже Ñ–Ñнує інший. Слід перевірити файлову ÑиÑтему!" #: libparted/fs/hfs/cache.c:214 #, c-format msgid "" "Trying to move an extent from block Ox%X to block Ox%X, but another one " "already exists at this position. This should not happen!" msgstr "" "Спроба переміÑтити екÑтент з блоку Ox%X у блок Ox%X, але в цій позиції вже " "Ñ–Ñнує інший. Цього не повинно бути!" #: libparted/fs/hfs/file.c:143 #, c-format msgid "Could not update the extent cache for HFS file with CNID %X." msgstr "Ðе вдаєтьÑÑ Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ кеш екÑтенту Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ñƒ HFS з CNID %X." #: libparted/fs/hfs/file.c:180 #, c-format msgid "Trying to read HFS file with CNID %X behind EOF." msgstr "Спроба прочитати файл HFS з CNID %X перед EOF." #: libparted/fs/hfs/file.c:190 libparted/fs/hfs/file.c:220 #, c-format msgid "Could not find sector %lli of HFS file with CNID %X." msgstr "Ðе вдаєтьÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñектор %lli з файлу HFS з CNID %X." #: libparted/fs/hfs/file.c:210 #, c-format msgid "Trying to write HFS file with CNID %X behind EOF." msgstr "Спроба запиÑати файл HFS з CNID %X перед EOF." #: libparted/fs/hfs/file_plus.c:157 #, c-format msgid "Could not update the extent cache for HFS+ file with CNID %X." msgstr "Ðе вдаєтьÑÑ Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ кеш екÑтенту Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ñƒ HFS+ з CNID %X." #: libparted/fs/hfs/file_plus.c:202 #, c-format msgid "Trying to read HFS+ file with CNID %X behind EOF." msgstr "Спроба прочитати файл HFS+ з CNID %X перед EOF." #: libparted/fs/hfs/file_plus.c:213 libparted/fs/hfs/file_plus.c:256 #, c-format msgid "Could not find sector %lli of HFS+ file with CNID %X." msgstr "Ðе вдаєтьÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñектор %lli з файлу HFS+ з CNID %X." #: libparted/fs/hfs/file_plus.c:245 #, c-format msgid "Trying to write HFS+ file with CNID %X behind EOF." msgstr "Спроба запиÑати файл HFS+ з CNID %X перед EOF." #: libparted/fs/hfs/hfs.c:232 msgid "Sorry, HFS cannot be resized that way yet." msgstr "Розмір HFS не можна змінювати таким ÑпоÑобом." #: libparted/fs/hfs/hfs.c:262 libparted/fs/hfs/hfs.c:641 msgid "Data relocation has failed." msgstr "Помилка переноÑу даних." #: libparted/fs/hfs/hfs.c:281 msgid "Data relocation left some data in the end of the volume." msgstr "При переноÑÑ– даних чаÑтина даних залишилаÑÑŒ наприкінці тому." #: libparted/fs/hfs/hfs.c:320 msgid "writing HFS Master Directory Block" msgstr "запиÑуєтьÑÑ Ð³Ð¾Ð»Ð¾Ð²Ð½Ð¸Ð¹ блок каталогу" #: libparted/fs/hfs/hfs.c:468 msgid "No valid HFS[+X] signature has been found while opening." msgstr "При відкриванні не виÑвлено правильну Ñигнатуру HFS[+X]." #: libparted/fs/hfs/hfs.c:478 #, c-format msgid "Version %d of HFS+ isn't supported." msgstr "ВерÑÑ–Ñ %d ÑиÑтеми HFS+ не підтримуєтьÑÑ." #: libparted/fs/hfs/hfs.c:489 #, c-format msgid "Version %d of HFSX isn't supported." msgstr "ВерÑÑ–Ñ %d ÑиÑтеми HFSX не підтримуєтьÑÑ." #: libparted/fs/hfs/hfs.c:672 msgid "Data relocation left some data at the end of the volume." msgstr "При переноÑÑ– даних наприкінці розділу залишилиÑÑŒ деÑкі дані." #: libparted/fs/hfs/hfs.c:720 msgid "Error while writing the allocation file." msgstr "Помилка запиÑу виділеного файлу." #: libparted/fs/hfs/hfs.c:735 msgid "Error while writing the compatibility part of the allocation file." msgstr "Помилка запиÑу чаÑтини ÑуміÑноÑті виділеного файлу." #: libparted/fs/hfs/hfs.c:750 msgid "writing HFS+ Volume Header" msgstr "Ð·Ð°Ð¿Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÑƒ тому HFS+" #: libparted/fs/hfs/hfs.c:850 msgid "An error occurred while looking for the mandatory bad blocks file." msgstr "Помилка пошуку файлу відомих пошкоджених блоків." #: libparted/fs/hfs/hfs.c:904 msgid "" "It seems there is an error in the HFS wrapper: the bad blocks file doesn't " "contain the embedded HFS+ volume." msgstr "" "Помилка у обробнику HFS: файл пошкоджених блоків не міÑтить вбудований том " "HFS+." #: libparted/fs/hfs/hfs.c:940 msgid "Sorry, HFS+ cannot be resized that way yet." msgstr "Розмір HFS+ не можна змінювати таким ÑпоÑобом." #: libparted/fs/hfs/hfs.c:975 msgid "shrinking embedded HFS+ volume" msgstr "Ð·Ð¼ÐµÐ½ÑˆÐµÐ½Ð½Ñ Ð²Ð±ÑƒÐ´Ð¾Ð²Ð°Ð½Ð¾Ð³Ð¾ тому HFS+" #: libparted/fs/hfs/hfs.c:991 msgid "Resizing the HFS+ volume has failed." msgstr "Помилка зміни розміру тому HFS+." #: libparted/fs/hfs/hfs.c:998 msgid "shrinking HFS wrapper" msgstr "оболонка ÑÐºÐ¾Ñ€Ð¾Ñ‡ÐµÐ½Ð½Ñ HFS" #: libparted/fs/hfs/hfs.c:1007 msgid "Updating the HFS wrapper has failed." msgstr "Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° оболонки HFS." #: libparted/fs/hfs/hfs.c:1109 libparted/fs/hfs/hfs.c:1194 #, c-format msgid "" "This is not a real %s check. This is going to extract special low level " "files for debugging purposes." msgstr "" "Це не ÑÐ¿Ñ€Ð°Ð²Ð¶Ð½Ñ Ð¿ÐµÑ€ÐµÐ²Ñ–Ñ€ÐºÐ° %s. ВідбуваєтьÑÑ Ð»Ð¸ÑˆÐµ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ñпеціальних " "ньзькорівневих файлів Ð´Ð»Ñ Ð½Ð°Ð»Ð°Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ." #: libparted/fs/hfs/journal.c:155 msgid "Bad block list header checksum." msgstr "Ðеправильна контрольна Ñума заголовка ÑпиÑку блоків." #: libparted/fs/hfs/journal.c:168 #, c-format msgid "" "Invalid size of a transaction block while replaying the journal (%i bytes)." msgstr "" "Ðеправильний розмір блоку транзакції при повторному накладанні журналу (%i " "байтів)." #: libparted/fs/hfs/journal.c:260 msgid "" "Journal stored outside of the volume are not supported. Try to desactivate " "the journal and run Parted again." msgstr "" "Журнал розміщено поза межами тому не підтримуєтьÑÑ. Слід вимкнути журнал та " "перезапуÑтити Parted." #: libparted/fs/hfs/journal.c:271 msgid "Journal offset or size is not multiple of the sector size." msgstr "Початок чи розмір журналу не Ñ” цілим чиÑлом Ñекторів." #: libparted/fs/hfs/journal.c:292 msgid "Incorrect magic values in the journal header." msgstr "Ðеправильні Ñигнатури у заголовку журналу." #: libparted/fs/hfs/journal.c:302 msgid "Journal size mismatch between journal info block and journal header." msgstr "" "Розмір журналу не відповідає значенню у інформаційному блоці журналу та " "заголовку журналу." #: libparted/fs/hfs/journal.c:314 msgid "Some header fields are not multiple of the sector size." msgstr "Розмір деÑких полів заголовку не Ñкладає ціле чиÑло Ñекторів." #: libparted/fs/hfs/journal.c:323 msgid "" "The sector size stored in the journal is not 512 bytes. Parted only " "supports 512 bytes length sectors." msgstr "" "Розмір Ñектора, що зберігаєтьÑÑ Ñƒ журналі, не дорівнює 512 байтам. Parted " "підтримує лише Ñектори розміром 512 байтів." #: libparted/fs/hfs/journal.c:335 msgid "Bad journal checksum." msgstr "Ðеправильна контрольна Ñума журналу." #: libparted/fs/hfs/journal.c:353 msgid "" "The journal is not empty. Parted must replay the transactions before " "opening the file system. This will modify the file system." msgstr "" "Журнал не порожній. Parted маж наклаÑти транзакції перед Ð²Ñ–Ð´ÐºÑ€Ð¸Ð²Ð°Ð½Ð½Ñ " "файлової ÑиÑтеми. Це призведе до зміни файлової ÑиÑтеми." #: libparted/fs/hfs/journal.c:381 msgid "" "The volume header or the master directory block has changed while replaying " "the journal. You should restart Parted." msgstr "" "При накладанні журналу змінивÑÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº тому чи блок головного каталогу. " "Слід перезапуÑтити Parted." #: libparted/fs/hfs/probe.c:51 #, c-format msgid "" "Parted can't use HFS file systems on disks with a sector size not equal to " "%d bytes." msgstr "" "Parted не може викориÑтовувати файлові ÑиÑтеми HFS на диÑках з розміром " "Ñектору, що не кратний %d байтів." #: libparted/fs/hfs/reloc.c:151 libparted/fs/hfs/reloc_plus.c:155 msgid "An extent has not been relocated." msgstr "ЕкÑтент не був переміщений." #: libparted/fs/hfs/reloc.c:251 libparted/fs/hfs/reloc_plus.c:307 msgid "" "A reference to an extent comes from a place it should not. You should check " "the file system!" msgstr "" "ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° екÑтент з міÑцÑ, з Ñкого не має бути поÑиланнÑ. Слід перевірити " "файлову ÑиÑтему!" #: libparted/fs/hfs/reloc.c:381 msgid "This HFS volume has no catalog file. This is very unusual!" msgstr "Цей том HFS не міÑтить файл каталогу. ДоÑить дивно!" #: libparted/fs/hfs/reloc.c:475 msgid "This HFS volume has no extents overflow file. This is quite unusual!" msgstr "Цей том HFS не міÑтить файлу Ð¿ÐµÑ€ÐµÐºÑ€Ð¸Ð²Ð°Ð½Ð½Ñ ÐµÐºÑтентів. ДоÑить дивно!" #: libparted/fs/hfs/reloc.c:517 libparted/fs/hfs/reloc_plus.c:666 msgid "" "The extents overflow file should not contain its own extents! You should " "check the file system." msgstr "" "Файл Ð¿ÐµÑ€ÐµÐºÑ€Ð¸Ð²Ð°Ð½Ð½Ñ ÐµÐºÑтентів не має міÑтить влаÑних екÑтентів! Слід " "перевірити файлову ÑиÑтему." #: libparted/fs/hfs/reloc.c:574 libparted/fs/hfs/reloc_plus.c:844 msgid "Could not cache the file system in memory." msgstr "Ðе вдаєтьÑÑ Ð·Ð°Ð½ÐµÑти у кеш файлову ÑиÑтему у пам'Ñті." #: libparted/fs/hfs/reloc.c:635 libparted/fs/hfs/reloc_plus.c:905 msgid "Bad blocks list could not be loaded." msgstr "СпиÑок неправильних блоків не було завантажено." #: libparted/fs/hfs/reloc.c:649 libparted/fs/hfs/reloc_plus.c:921 msgid "An error occurred during extent relocation." msgstr "Помилка при переміщенні екÑтенту." #: libparted/fs/hfs/reloc_plus.c:494 msgid "This HFS+ volume has no catalog file. This is very unusual!" msgstr "Цей том HFS+ не міÑтить файлу каталогу. ДоÑить дивно!" #: libparted/fs/hfs/reloc_plus.c:617 msgid "This HFS+ volume has no extents overflow file. This is quite unusual!" msgstr "Цей том HFS+ не міÑтить файлу Ð¿ÐµÑ€ÐµÐºÑ€Ð¸Ð²Ð°Ð½Ð½Ñ ÐµÐºÑтентів. ДоÑить дивно!" #: parted/parted.c:123 msgid "displays this help message" msgstr "відображає це повідомленнÑ" #: parted/parted.c:124 msgid "lists partition layout on all block devices" msgstr "вивеÑти ÑпиÑок таблиць розділів на уÑÑ–Ñ… приÑтроÑÑ…" #: parted/parted.c:125 msgid "displays machine parseable output" msgstr "відображає вивід у форматі Ð´Ð»Ñ Ð¼Ð°ÑˆÐ¸Ð½Ð½Ð¾Ð³Ð¾ розбору" #: parted/parted.c:126 msgid "never prompts for user intervention" msgstr "ніколи не запитувати Ð²Ñ‚Ñ€ÑƒÑ‡Ð°Ð½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувача" #: parted/parted.c:127 msgid "displays the version" msgstr "відображає верÑÑ–ÑŽ" #: parted/parted.c:128 #, fuzzy msgid "alignment for new partitions" msgstr "Ðе вдаєтьÑÑ Ð´Ð¾Ð´Ð°Ñ‚ÐºÐ¾Ð²Ð¾ Ñтворити розділи." #: parted/parted.c:140 msgid "" "NUMBER is the partition number used by Linux. On MS-DOS disk labels, the " "primary partitions number from 1 to 4, logical partitions from 5 onwards.\n" msgstr "" "ÐОМЕР - це номер розділу, що викориÑтовуєтьÑÑ Linux. У етикетках диÑку MS-" "DOS, оÑновні розділи мають номери 1-4, а логічні - 5 та далі.\n" #: parted/parted.c:143 msgid "LABEL-TYPE is one of: " msgstr "ТИП-ЕТИКЕТКИ один з: " #: parted/parted.c:144 msgid "FLAG is one of: " msgstr "ОЗÐÐКРодне з: " #: parted/parted.c:145 msgid "UNIT is one of: " msgstr "БЛОК одне з: " #: parted/parted.c:146 msgid "desired alignment: minimum or optimal" msgstr "" #: parted/parted.c:147 msgid "PART-TYPE is one of: primary, logical, extended\n" msgstr "ТИП-РОЗДІЛУ один з: оÑновний, логічний, розширений\n" #: parted/parted.c:149 msgid "FS-TYPE is one of: " msgstr "ТИП-ФС один з: " #: parted/parted.c:150 msgid "" "START and END are disk locations, such as 4GB or 10%. Negative values count " "from the end of the disk. For example, -1s specifies exactly the last " "sector.\n" msgstr "" "ПОЧÐТОК та КІÐЕЦЬ - це міÑÑ†Ñ Ð½Ð° диÑку, такі Ñк 4GB чи 10%. Від'ємні " "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ñ€Ð°Ñ…Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑÑ Ð²Ñ–Ð´ ÐºÑ–Ð½Ñ†Ñ Ð´Ð¸Ñку. Ðаприклад, -1s вказує оÑтанній " "Ñектор диÑку.\n" #: parted/parted.c:153 msgid "STATE is one of: on, off\n" msgstr "СТÐРодин з: on, off\n" #: parted/parted.c:154 msgid "DEVICE is usually /dev/hda or /dev/sda\n" msgstr "ПРИСТРІЙ - зазвичай /dev/hda чи /dev/sda\n" #: parted/parted.c:155 msgid "NAME is any word you want\n" msgstr "ÐÐЗВР- будь-Ñке Ñлово на ваш вибір\n" #: parted/parted.c:156 msgid "The partition must have one of the following FS-TYPEs: " msgstr "Розділ повинен мати один з наÑтупних типів FS-TYPE: " #: parted/parted.c:160 msgid "" "Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n" "This program is free software, covered by the GNU General Public License.\n" "\n" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" msgstr "" "Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n" "Ð¦Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð° Ñ” вільною під ліцензією УніверÑальна Публічна Ð›Ñ–Ñ†ÐµÐ½Ð·Ñ–Ñ GNU.\n" "\n" "Ð¦Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð° розповÑюджуєтьÑÑ Ð·Ñ– ÑподіваннÑм,що вона буде кориÑною,\n" "але БЕЗ БУДЬ-ЯКИХ ГÐРÐÐТІЙ; навіть без неÑвної гарантії КОМЕРЦІЙÐОЇ\n" "ЦІÐÐОСТІ чи ПРИДÐТÐОСТІ ДЛЯ ПЕВÐОЇ МЕТИ. Докладнішу інформацію про це\n" "дивітьÑÑ Ñƒ УніверÑальній Публічній Ліцензії GNU.\n" #: parted/parted.c:208 #, c-format msgid "%0.f%%\t(time left %.2d:%.2d)" msgstr "%0.f%%\t(залишилоÑÑŒ чаÑу %.2d:%.2d)" #: parted/parted.c:227 #, c-format msgid "" "Partition %s is being used. You must unmount it before you modify it with " "Parted." msgstr "" "Розділ %s наразі зайнÑтий. Слід відключити його, перш ніж змінювати його " "програмою Parted." #: parted/parted.c:245 #, c-format msgid "Partition(s) on %s are being used." msgstr "Розділи на %s наразі зайнÑті." #: parted/parted.c:257 msgid "" "The existing file system will be destroyed and all data on the partition " "will be lost. Do you want to continue?" msgstr "" "ІÑнуюча файлова ÑиÑтема буде знищена разом з уÑіма даними на ній. Продовжити?" #: parted/parted.c:269 #, c-format msgid "" "The existing disk label on %s will be destroyed and all data on this disk " "will be lost. Do you want to continue?" msgstr "" "ІÑнуюча позначка диÑку на %s буде знищена разом з уÑіма даними на ній. " "Продовжити?" #: parted/parted.c:487 #, c-format msgid "" "WARNING: you are attempting to use %s to operate on (%s) a file system.\n" "%s's file system manipulation code is not as robust as what you'll find in\n" "dedicated, file-system-specific packages like e2fsprogs. We recommend\n" "you use %s only to manipulate partition tables, whenever possible.\n" "Support for performing most operations on most types of file systems\n" "will be removed in an upcoming release.\n" msgstr "" #: parted/parted.c:508 parted/parted.c:702 parted/parted.c:1179 #: parted/parted.c:1263 parted/parted.c:1935 parted/parted.c:2016 #: parted/parted.c:2088 parted/parted.c:2122 msgid "Partition number?" msgstr "Ðомер розділу?" #: parted/parted.c:551 msgid "Source device?" msgstr "ПриÑтрій-джерело?" #: parted/parted.c:555 msgid "Source partition number?" msgstr "Ðомер вихідного розділу?" #: parted/parted.c:560 msgid "Can't copy an extended partition." msgstr "Ðе можна копіювати розширені розділи." #: parted/parted.c:566 msgid "Destination partition number?" msgstr "Ðомер цільового розділу?" #: parted/parted.c:655 msgid "New disk label type?" msgstr "Ðова етикетка диÑку?" #: parted/parted.c:706 parted/parted.c:788 parted/parted.c:1000 msgid "File system type?" msgstr "Тип файлової ÑиÑтеми?" #: parted/parted.c:762 parted/parted.c:983 msgid "Partition type?" msgstr "Тип розділу?" #: parted/parted.c:780 parted/parted.c:990 parted/parted.c:1266 msgid "Partition name?" msgstr "Ðазва розділу?" #: parted/parted.c:794 parted/parted.c:1002 parted/parted.c:1194 #: parted/parted.c:1883 parted/parted.c:1944 msgid "Start?" msgstr "Початок?" #: parted/parted.c:796 parted/parted.c:1005 parted/parted.c:1197 #: parted/parted.c:1885 parted/parted.c:1946 msgid "End?" msgstr "Кінець?" #: parted/parted.c:862 parted/parted.c:1066 #, fuzzy, c-format msgid "" "You requested a partition from %s to %s.\n" "The closest location we can manage is %s to %s.%s" msgstr "" "Ви вказали розділ у межах %s - %s.\n" "Ðайближчий до нього діапазон %s - %s. Ви згодні з таким діапазоном?" #: parted/parted.c:867 parted/parted.c:1071 msgid "" "\n" "Is this still acceptable to you?" msgstr "" #: parted/parted.c:889 parted/parted.c:1093 msgid "The resulting partition is not properly aligned for best performance." msgstr "" #: parted/parted.c:995 msgid "An extended partition cannot hold a file system. Did you want mkpart?" msgstr "Розширений розділ не може мати файлову ÑиÑтему. Виконати mkpart?" #: parted/parted.c:1185 msgid "Can't move an extended partition." msgstr "ÐŸÐµÑ€ÐµÐ¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ… розділів не підтримуєтьÑÑ." #: parted/parted.c:1214 msgid "Can't move a partition onto itself. Try using resize, perhaps?" msgstr "Ðе можна переміщувати розділ Ñам у Ñебе. Може Ñпробувати resize?" #: parted/parted.c:1360 #, c-format msgid "Minor: %d\n" msgstr "Ðомер: %d\n" #: parted/parted.c:1361 #, c-format msgid "Flags: %s\n" msgstr "Ознаки: %s\n" #: parted/parted.c:1362 #, c-format msgid "File System: %s\n" msgstr "Файлова ÑиÑтема: %s\n" #: parted/parted.c:1363 msgid "Size: " msgstr "Розмір: " #: parted/parted.c:1368 msgid "Minimum size: " msgstr "Мінімальний розмір: " #: parted/parted.c:1371 msgid "Maximum size: " msgstr "МакÑимальний розмір: " #: parted/parted.c:1504 #, c-format msgid "Model: %s (%s)\n" msgstr "Модель: %s (%s)\n" #: parted/parted.c:1506 #, c-format msgid "Disk %s: %s\n" msgstr "ДиÑк %s: %s\n" #: parted/parted.c:1507 #, c-format msgid "Sector size (logical/physical): %lldB/%lldB\n" msgstr "Розмір Ñектора (логічний/фізичний): %lldБ/%lldБ\n" #: parted/parted.c:1525 #, c-format msgid "BIOS cylinder,head,sector geometry: %d,%d,%d. Each cylinder is %s.\n" msgstr "BIOS циліндр,головка,Ñектор геометріÑ: %d,%d,%d. Кожен циліндр %s.\n" #: parted/parted.c:1534 #, c-format msgid "Partition Table: %s\n" msgstr "Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð²: %s\n" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Number" msgstr "Ðомер" #: parted/parted.c:1549 parted/parted.c:1552 msgid "Start" msgstr "Початок" #: parted/parted.c:1550 parted/parted.c:1553 msgid "End" msgstr "Кінець" #: parted/parted.c:1553 msgid "Size" msgstr "Розмір" #: parted/parted.c:1557 msgid "Type" msgstr "Тип" #: parted/parted.c:1559 msgid "File system" msgstr "Файлова ÑиÑтема" #: parted/parted.c:1562 msgid "Name" msgstr "Ðазва" #: parted/parted.c:1564 msgid "Flags" msgstr "Ознаки" #: parted/parted.c:1621 msgid "Free Space" msgstr "Вільний проÑтір" #: parted/parted.c:1782 #, c-format msgid "" "A %s %s partition was found at %s -> %s. Do you want to add it to the " "partition table?" msgstr "" "Знайдено розділ %s %s у межах від %s -> %s. Бажаєте додати його до таблиці " "розділів?" #: parted/parted.c:1821 msgid "searching for file systems" msgstr "пошук файлових ÑиÑтем" #: parted/parted.c:2041 msgid "New device?" msgstr "Ðовий приÑтрій?" #: parted/parted.c:2086 msgid "alignment type(min/opt)" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d aligned\n" msgstr "" #: parted/parted.c:2093 #, c-format msgid "%d not aligned\n" msgstr "" #: parted/parted.c:2124 msgid "Flag to Invert?" msgstr "Ознака, Ñку інвертувати?" #: parted/parted.c:2129 msgid "New state?" msgstr "Ðове значеннÑ?" #: parted/parted.c:2166 msgid "Unit?" msgstr "Блок?" #: parted/parted.c:2348 #, fuzzy msgid "align-check" msgstr "check" #: parted/parted.c:2351 msgid "" "align-check TYPE N check partition N for TYPE(min|" "opt) alignment" msgstr "" #: parted/parted.c:2359 msgid "check" msgstr "check" #: parted/parted.c:2362 msgid "" "check NUMBER do a simple check on the file system" msgstr "" "check ÐОМЕР виконати проÑту перевірку файлової ÑиÑтеми" #: parted/parted.c:2368 msgid "cp" msgstr "cp" #: parted/parted.c:2371 msgid "" "cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another " "partition" msgstr "" "cp [З-ПРИСТРОЮ] З-ÐОМЕР У-ÐОМЕР копіювати файлову ÑиÑтему у інший розділ" #: parted/parted.c:2377 msgid "help" msgstr "help" #: parted/parted.c:2380 msgid "" "help [COMMAND] print general help, or help on " "COMMAND" msgstr "" "help [КОМÐÐДÐ] вивеÑти загальну довідку, або довідку про " "КОМÐÐДÐ" #: parted/parted.c:2386 msgid "mklabel" msgstr "mklabel" #: parted/parted.c:2386 msgid "mktable" msgstr "mktable" #: parted/parted.c:2389 msgid "" "mklabel,mktable LABEL-TYPE create a new disklabel (partition " "table)" msgstr "" "mklabel,mktable ТИП_ЕТИКЕТКИ Ñтворити нову позначку диÑку (таблицю розділів)" #: parted/parted.c:2395 msgid "mkfs" msgstr "mkfs" #: parted/parted.c:2398 #, fuzzy msgid "" "mkfs NUMBER FS-TYPE make a FS-TYPE file system on " "partition NUMBER" msgstr "" "mkfs ÐОМЕР ТИП-ФС Ñтворити файлову ÑиÑтему ТИП-ФС у розділі ÐОМЕР" #: parted/parted.c:2404 msgid "mkpart" msgstr "mkpart" #: parted/parted.c:2407 msgid "mkpart PART-TYPE [FS-TYPE] START END make a partition" msgstr "mkpart ТИП-РОЗДІЛУ [ТИП-ФС] ПОЧÐТОК КІÐЕЦЬ Ñтворити розділ" #: parted/parted.c:2413 msgid "" "'mkpart' makes a partition without creating a new file system on the " "partition. FS-TYPE may be specified to set an appropriate partition ID.\n" msgstr "" "'mkpart' Ñтворити розділ без ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¾Ñ— файлової ÑиÑтеми у ньому. Можна " "вказати ТИП-ФС Ð´Ð»Ñ Ð²ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾Ð³Ð¾ ідентифікатора розділу.\n" #: parted/parted.c:2418 msgid "mkpartfs" msgstr "mkpartfs" #: parted/parted.c:2421 msgid "" "mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system" msgstr "" "mkpartfs ТИП-РОЗДІЛУ ТИП-ФС ПОЧÐТОК КІÐЕЦЬ Ñтворити розділ з файловою " "ÑиÑтемою" #: parted/parted.c:2427 msgid "move" msgstr "move" #: parted/parted.c:2430 msgid "move NUMBER START END move partition NUMBER" msgstr "move ÐОМЕР ПОЧÐТОК КІÐЕЦЬ переміÑтити розділ з номером ÐОМЕР" #: parted/parted.c:2435 msgid "name" msgstr "name" #: parted/parted.c:2438 msgid "name NUMBER NAME name partition NUMBER as NAME" msgstr "name ÐОМЕР ÐÐЗВРпризначити назву ÐÐЗВРрозділу ÐОМЕР" #: parted/parted.c:2443 msgid "print" msgstr "print" #: parted/parted.c:2446 msgid "" "print [devices|free|list,all|NUMBER] display the partition table, " "available devices, free space, all found partitions, or a particular " "partition" msgstr "" "print [devices|free|list,all|ЧИСЛО] відображає таблицю розділів, наÑвні " "приÑтрої, вільний проÑтір, вÑÑ– знайдені розділи, або певний розділ" #: parted/parted.c:2451 msgid "" "Without arguments, 'print' displays the entire partition table. However with " "the following arguments it performs various other actions.\n" msgstr "" "Без аргументів, 'print' відображає вÑÑŽ таблицю розділів. Проте, з наÑтупними " "аргументами виконуютьÑÑ Ñ–Ð½ÑˆÑ– дії.\n" #: parted/parted.c:2453 msgid " devices : display all active block devices\n" msgstr " devices : відображаютьÑÑ Ð²ÑÑ– активні блочні приÑтрої\n" #: parted/parted.c:2454 msgid "" " free : display information about free unpartitioned space on the " "current block device\n" msgstr "" " free : відображаєтьÑÑ Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ нерозподілений проÑтір на " "поточному блочному приÑтрої\n" #: parted/parted.c:2456 msgid "" " list, all : display the partition tables of all active block devices\n" msgstr "" " list, all : відображаютьÑÑ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– розділів на вÑÑ–Ñ… активних блочних " "приÑтроÑÑ…\n" #: parted/parted.c:2457 msgid "" " NUMBER : display more detailed information about this particular " "partition\n" msgstr "" " ЧИСЛО : відображаєтьÑÑ Ð´Ð¾ÐºÐ»Ð°Ð´Ð½Ð° Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ розділ з вказаним " "номером\n" #: parted/parted.c:2462 msgid "quit" msgstr "quit" #: parted/parted.c:2465 msgid "quit exit program" msgstr "quit вихід з програми" #: parted/parted.c:2470 msgid "rescue" msgstr "rescue" #: parted/parted.c:2473 msgid "" "rescue START END rescue a lost partition near START " "and END" msgstr "" "rescue ПОЧÐТОК КІÐЕЦЬ знайти втрачені розділи між ПОЧÐТОК та КІÐЕЦЬ" #: parted/parted.c:2479 msgid "resize" msgstr "resize" #: parted/parted.c:2482 msgid "" "resize NUMBER START END resize partition NUMBER and its " "file system" msgstr "resize ÐОМЕР ПОЧÐТОК КІÐЕЦЬ змінити розмір розділу ÐОМЕР" #: parted/parted.c:2490 msgid "rm" msgstr "rm" #: parted/parted.c:2493 msgid "rm NUMBER delete partition NUMBER" msgstr "rm ÐОМЕР видалити розділ з номером ÐОМЕР" #: parted/parted.c:2498 msgid "select" msgstr "select" #: parted/parted.c:2501 msgid "select DEVICE choose the device to edit" msgstr "select ПРИСТРІЙ вибирати приÑтрій Ð´Ð»Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸" #: parted/parted.c:2506 msgid "set" msgstr "set" #: parted/parted.c:2509 msgid "" "set NUMBER FLAG STATE change the FLAG on partition NUMBER" msgstr "set ÐОМЕР ОЗÐÐКРСТÐРзмінити ознаку розділу з номером ÐОМЕР" #: parted/parted.c:2515 msgid "toggle" msgstr "toggle" #: parted/parted.c:2518 msgid "" "toggle [NUMBER [FLAG]] toggle the state of FLAG on " "partition NUMBER" msgstr "" "toggle [ÐОМЕР [ОЗÐÐКÐ]] перемикнути ознаку ОЗÐÐКРрозділу з номером " "ÐОМЕР" #: parted/parted.c:2524 msgid "unit" msgstr "unit" #: parted/parted.c:2527 msgid "unit UNIT set the default unit to UNIT" msgstr "" "unit БЛОК вÑтановити Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ð¾Ð²Ð¾Ð³Ð¾ блоку Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð‘Ð›ÐžÐš" #: parted/parted.c:2532 msgid "version" msgstr "version" #: parted/parted.c:2535 msgid "" "version display the version number and " "copyright information of GNU Parted" msgstr "" "version вивеÑти поточну верÑÑ–ÑŽ GNU Parted та " "інформацію про авторÑьке право" #: parted/parted.c:2539 msgid "" "'version' displays copyright and version information corresponding to this " "copy of GNU Parted\n" msgstr "" "команда version виводить інформацію про верÑÑ–ÑŽ цієї програми GNU Parted\n" #: parted/parted.c:2607 #, fuzzy, c-format msgid "Usage: %s [-hlmsv] [-a] [DEVICE [COMMAND [PARAMETERS]]...]\n" msgstr "ВикориÑтаннÑ: %s [-hlmsv] [ПРИСТРІЙ [КОМÐÐДР[ПÐРÐМЕТРИ]]...]\n" #: parted/parted.c:2651 msgid "No device found" msgstr "ПриÑтрій не знайдено" #: parted/parted.c:2688 msgid "WARNING: You are not superuser. Watch out for permissions." msgstr "" "ПОПЕРЕДЖЕÐÐЯ: Ви не маєте привілей адмініÑтратора. Отримайте повноваженнÑ." #: parted/parted.c:2726 msgid "You may need to update /etc/fstab.\n" msgstr "Ðе забудьте оновити /etc/fstab, Ñкщо це необхідно.\n" #: parted/ui.c:162 msgid "Welcome to GNU Parted! Type 'help' to view a list of commands.\n" msgstr "" "ЛаÑкаво проÑимо до GNU Parted! Перелік команд виводитьÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾ÑŽ 'help'.\n" #: parted/ui.c:165 msgid "" "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n" "Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run " "in\n" "interactive mode.\n" msgstr "" "ВикориÑтаннÑ: parted [КЛЮЧ]... [ПРИСТРІЙ [КОМÐÐДР[ПÐРÐМЕТРИ]...]...]\n" "Виконати КОМÐÐДРз параметрами ПÐРÐМЕТРИ Ð´Ð»Ñ Ð¿Ñ€Ð¸Ñтрою ПРИСТРІЙ. Якщо\n" "КОМÐÐДРне вказана, запуÑкаєтьÑÑ Ñƒ інтерактивному режимі.\n" #: parted/ui.c:170 #, c-format msgid "" "\n" "\n" "You found a bug in GNU Parted! Here's what you have to do:\n" "\n" "Don't panic! The bug has most likely not affected any of your data.\n" "Help us to fix this bug by doing the following:\n" "\n" "Check whether the bug has already been fixed by checking\n" "the last version of GNU Parted that you can find at:\n" "\n" "\thttp://ftp.gnu.org/gnu/parted/\n" "\n" "Please check this version prior to bug reporting.\n" "\n" "If this has not been fixed yet or if you don't know how to check,\n" "please visit the GNU Parted website:\n" "\n" "\thttp://www.gnu.org/software/parted\n" "\n" "for further information.\n" "\n" "Your report should contain the version of this release (%s)\n" "along with the error message below, the output of\n" "\n" "\tparted DEVICE unit co print unit s print\n" "\n" "and the following history of commands you entered.\n" "Also include any additional information about your setup you\n" "consider important.\n" msgstr "" "\n" "\n" "Ви знайшли помилку у GNU Parted! Рекомендації щодо подальших дій:\n" "\n" "Ðе панікуйте! Швидше за вÑе помилка не впливає на ваші дані.\n" "Допоможіть нам виправити помилку, Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾:\n" "\n" "Перевірте чи не була помилка вже виправлена у оÑтанній верÑÑ–Ñ—\n" "GNU Parted, Ñку можна знайти за адреÑою:\n" "\n" "\thttp://ftp.gnu.org/gnu/parted/\n" "\n" "Перевірте цю верÑÑ–ÑŽ, перш ніж надÑилати звіт про помилку.\n" "\n" "Якщо помилка не виправлена чи ви не знаєте Ñк це перевірити,\n" "подальшу інформацію шукайте на веб-Ñайті GNU Parted:\n" "\n" "\thttp://www.gnu.org/software/parted\n" "\n" "У вашому звіті Ñлід вказати верÑÑ–ÑŽ випуÑку (%s),\n" "наведене нижче Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ помилку, вивід команди\n" "\n" "\tparted DEVICE unit co print unit s print\n" "\n" "та наÑтупний ÑпиÑок команд, Ñкі ви вводили.\n" "Також включіть додаткову інформацію про параметри, Ñкі вважаєте важливими.\n" #: parted/ui.c:291 msgid "" "\n" "Command History:\n" msgstr "" "\n" "ІÑÑ‚Ð¾Ñ€Ñ–Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´:\n" #: parted/ui.c:354 msgid "" "\n" "Error: SEGV_MAPERR (Address not mapped to object)\n" msgstr "" "\n" "Помилка: SEGV_MAPERR (ÐдреÑа не прив'Ñзана до об'єкту)\n" #: parted/ui.c:360 msgid "" "\n" "Error: SEGV_ACCERR (Invalid permissions for mapped object)\n" msgstr "" "\n" "Помилка: SEGV_ACCERR (Ðеправильні права доÑтупу Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð²'Ñзаного об'єкту)\n" #: parted/ui.c:365 msgid "" "\n" "Error: A general SIGSEGV signal was encountered.\n" msgstr "" "\n" "Помилка: ВиÑвлено загальний Ñигнал SIGSEGV.\n" #: parted/ui.c:389 msgid "" "\n" "Error: FPE_INTDIV (Integer: divide by zero)" msgstr "" "\n" "Помилка: FPE_INTDIV (Ціле: Ð´Ñ–Ð»ÐµÐ½Ð½Ñ Ð½Ð° нуль)" #: parted/ui.c:394 msgid "" "\n" "Error: FPE_INTOVF (Integer: overflow)" msgstr "" "\n" "Помилка: FPE_INTOVF (Ціле чиÑло: переповненнÑ)" #: parted/ui.c:399 msgid "" "\n" "Error: FPE_FLTDIV (Float: divide by zero)" msgstr "" "\n" "Помилка: FPE_INTDIV (ЧиÑло з рухомою комою: Ð´Ñ–Ð»ÐµÐ½Ð½Ñ Ð½Ð° нуль)" #: parted/ui.c:404 msgid "" "\n" "Error: FPE_FLTOVF (Float: overflow)" msgstr "" "\n" "Помилка: FPE_FLTOVF (ЧиÑло з рухомою комою: переповненнÑ)" #: parted/ui.c:409 msgid "" "\n" "Error: FPE_FLTUND (Float: underflow)" msgstr "" "\n" "Помилка: FPE_FLTUND (ЧиÑло з рухомою комою: дуже мале значеннÑ)" #: parted/ui.c:414 msgid "" "\n" "Error: FPE_FLTRES (Float: inexact result)" msgstr "" "\n" "Помилка: FPE_FLTRES (ЧиÑло з рухомою комою: неточний результат)" #: parted/ui.c:419 msgid "" "\n" "Error: FPE_FLTINV (Float: invalid operation)" msgstr "" "\n" "Помилка: FPE_FLTINV (ЧиÑло з рухомою комою: неправильна операціÑ)" #: parted/ui.c:424 msgid "" "\n" "Error: FPE_FLTSUB (Float: subscript out of range)" msgstr "" "\n" "Помилка: FPE_FLTSUB (ЧиÑло з рухомою комою: Ð¿Ñ–Ð´Ð¿Ð¸Ñ Ð¿Ð¾Ð·Ð° межами)" #: parted/ui.c:429 msgid "" "\n" "Error: A general SIGFPE signal was encountered." msgstr "" "\n" "Помилка: ВиÑвлено загальний Ñигнал SIGFPE." #: parted/ui.c:453 msgid "" "\n" "Error: ILL_ILLOPC (Illegal Opcode)" msgstr "" "\n" "Помилка: ILL_ILLOPC (ÐедопуÑтимий код операцій)" #: parted/ui.c:458 msgid "" "\n" "Error: ILL_ILLOPN (Illegal Operand)" msgstr "" "\n" "Помилка: ILL_ILLOPN (Ðеправильний операнд)" #: parted/ui.c:463 msgid "" "\n" "Error: ILL_ILLADR (Illegal addressing mode)" msgstr "" "\n" "Помилка: ILL_ILLADR (Ðеправильний режим адреÑації)" #: parted/ui.c:468 msgid "" "\n" "Error: ILL_ILLTRP (Illegal Trap)" msgstr "" "\n" "Помилка: ILL_ILLTRP (Ðеправильна паÑтка)" #: parted/ui.c:473 msgid "" "\n" "Error: ILL_PRVOPC (Privileged Opcode)" msgstr "" "\n" "Помилка: ILL_PRVOPC (Код привілейованої операції)" #: parted/ui.c:478 msgid "" "\n" "Error: ILL_PRVREG (Privileged Register)" msgstr "" "\n" "Помилка: ILL_PRVREG (Привілейований регіÑтр)" #: parted/ui.c:483 msgid "" "\n" "Error: ILL_COPROC (Coprocessor Error)" msgstr "" "\n" "Помилка: ILL_COPROC (Помилка ÑпівпроцеÑора)" #: parted/ui.c:488 msgid "" "\n" "Error: ILL_BADSTK (Internal Stack Error)" msgstr "" "\n" "Помилка: ILL_BADSTK (Ð’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° Ñтеку)" #: parted/ui.c:493 msgid "" "\n" "Error: A general SIGILL signal was encountered." msgstr "" "\n" "Помилка: ВиÑвлено загальний Ñигнал SIGILL." #: parted/ui.c:892 #, fuzzy, c-format msgid "invalid token: %s" msgstr "Ðе вдаєтьÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ %s." #: parted/ui.c:1048 msgid "Expecting a partition number." msgstr "ОчікуєтьÑÑ Ð½Ð¾Ð¼ÐµÑ€ розділу." #: parted/ui.c:1057 msgid "Partition doesn't exist." msgstr "Розділ не Ñ–Ñнує." #: parted/ui.c:1077 msgid "Expecting a file system type." msgstr "ОчікуєтьÑÑ Ñ‚Ð¸Ð¿ файлова ÑиÑтема." #: parted/ui.c:1084 #, c-format msgid "Unknown file system type \"%s\"." msgstr "Ðевідомий тип файлової ÑиÑтеми \"%s\"." #: parted/ui.c:1104 msgid "Expecting a disk label type." msgstr "ОчікуєтьÑÑ Ñ‚Ð¸Ð¿ диÑкової етикетки." #: parted/ui.c:1202 msgid "Can't create any more partitions." msgstr "Ðе вдаєтьÑÑ Ð´Ð¾Ð´Ð°Ñ‚ÐºÐ¾Ð²Ð¾ Ñтворити розділи." #: parted/ui.c:1212 msgid "Expecting a partition type." msgstr "ОчікуєтьÑÑ Ñ‚Ð¸Ð¿ розділу." #: parted/ui.c:1360 msgid "on" msgstr "on" #: parted/ui.c:1361 msgid "off" msgstr "off" #: parted/ui.c:1378 msgid "optimal" msgstr "" #: parted/ui.c:1379 msgid "minimal" msgstr "" #: parted/ui.c:1512 msgid "OPTIONs:" msgstr "КЛЮЧІ:" #: parted/ui.c:1517 msgid "COMMANDs:" msgstr "КОМÐÐДИ:" #: parted/ui.c:1520 #, fuzzy, c-format msgid "" "\n" "Report bugs to %s\n" msgstr "" "\n" "ВідÑилати звіти про помилки до <%s>.\n" #: parted/ui.c:1527 #, c-format msgid "Using %s\n" msgstr "ВикориÑтовуєтьÑÑ %s\n" #: parted/ui.c:1601 msgid "This command does not make sense in non-interactive mode.\n" msgstr "Ð¦Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° не має ÑенÑу у не-інтерактивному режимі.\n" #~ msgid "" #~ "Device %s has a logical sector size of %lld. Not all parts of GNU Parted " #~ "support this at the moment, and the working code is HIGHLY EXPERIMENTAL.\n" #~ msgstr "" #~ "Розмір логічного Ñектору Ð´Ð»Ñ %s Ñкладає %lld. Ðаразі не вÑÑ– компоненти " #~ "GNU Parted це підтримують.\n" #, fuzzy #~ msgid "" #~ "Could not determine minimum io size for %s: %s.\n" #~ "Using the default size (%lld)." #~ msgstr "" #~ "Ðе вдаєтьÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ розмір Ñектору Ð´Ð»Ñ %s: %s.\n" #~ "ВикориÑтовуєтьÑÑ Ñ‚Ð¸Ð¿Ð¾Ð²Ð¸Ð¹ розмір Ñектору (%lld)." #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: неправильний ключ -- %c\n" #~ msgid "Unable to determine the block size of this dasd" #~ msgstr "Ðе вдаєтьÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ розмір блоку Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ dasd" #~ msgid "" #~ "The kernel was unable to re-read the partition table on %s (%s). This " #~ "means Linux won't know anything about the modifications you made until " #~ "you reboot. You should reboot your computer before doing anything with " #~ "%s." #~ msgstr "" #~ "Ядро не може перечитати таблицю розділів на %s (%s). Це означає, що Linux " #~ "не враховуватиме внеÑені зміни до перезавантаженнÑ. Ðеобхідно " #~ "перезавантажити ваш комп'ютер перш ніж ÑкоÑÑŒ викориÑтовувати %s." #~ msgid "" #~ "%s read error\n" #~ "%s\n" #~ msgstr "" #~ "%s помилка при читанні\n" #~ "%s\n" #~ msgid "" #~ "%s write error\n" #~ "%s\n" #~ msgstr "" #~ "%s помилка при запиÑÑ–\n" #~ "%s\n" #~ msgid "" #~ "%s IOCTL error\n" #~ "%s\n" #~ msgstr "" #~ "%s помилка IOCTL\n" #~ "%s\n" #~ msgid "" #~ "%s Config file syntax error\n" #~ "%s\n" #~ msgstr "" #~ "%s СинтакÑична помилка у конфігураційному файлі\n" #~ "%s\n" #~ msgid "" #~ "%s space allocation\n" #~ "%s\n" #~ msgstr "" #~ "%s Ð²Ð¸Ð´Ñ–Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ñтору\n" #~ "%s\n" #~ msgid "" #~ "%s Fatal error\n" #~ "%s\n" #~ msgstr "" #~ "%s Фатальна помилка\n" #~ "%s\n" #~ msgid "File system has an incompatible feature enabled." #~ msgstr "У файловій ÑиÑтемі ввімкнено неÑуміÑну влаÑтивіÑть." #~ msgid "File system?" #~ msgstr "Файлова ÑиÑтема?" parted-2.3/parted/0000755000000000000000000000000011400006132011046 500000000000000parted-2.3/parted/command.h0000644000000000000000000000314111370314006012564 00000000000000/* parted - a frontend to libparted Copyright (C) 1999-2000, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef COMMAND_H_INCLUDED #define COMMAND_H_INCLUDED #include #include "strlist.h" typedef struct { StrList* names; int (*method) (PedDevice** dev); StrList* summary; StrList* help; int non_interactive:1; } Command; extern Command* command_create (const StrList* names, int (*method) (PedDevice** dev), const StrList* summary, const StrList* help, int non_interactive); extern void command_destroy (Command* cmd); void command_register (Command** list, Command* cmd); extern Command* command_get (Command** list, char* name); extern StrList* command_get_names (Command** list); extern void command_print_summary (Command* cmd); extern void command_print_help (Command* cmd); extern int command_run (Command* cmd, PedDevice** dev); #endif /* COMMAND_H_INCLUDED */ parted-2.3/parted/table.c0000644000000000000000000001275011377171067012255 00000000000000/* * TODO: - make right and centered alignment possible */ /* parted - a frontend to libparted Copyright (C) 2006-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include #include #include #include "xalloc.h" #include "strlist.h" #ifdef ENABLE_NLS # define L_(str) L##str #else # define L_(str) str # define wcslen strlen # define wcswidth strnlen # define wcscat strcat # define wcsdup xstrdup #endif static const unsigned int MAX_WIDTH = 512; static const wchar_t* DELIMITER = L_(" "); static const wchar_t* COLSUFFIX = L_("\n"); typedef struct { unsigned int ncols; unsigned int nrows; wchar_t*** rows; int* widths; } Table; Table* table_new(int ncols) { assert ( ncols >= 0 ); Table *t = xmalloc (sizeof(*t)); t->ncols = ncols; t->nrows = 0; t->rows = (wchar_t***)NULL; t->widths = NULL; return t; } void table_destroy (Table* t) { unsigned int r, c; assert (t); assert (t->ncols > 0); for (r = 0; r < t->nrows; ++r) { for (c = 0; c < t->ncols; ++c) free (t->rows[r][c]); free (t->rows[r]); } free (t->rows); free (t->widths); free (t); } static int max (int x, int y) { return x > y ? x : y; } static void table_calc_column_widths (Table* t) { unsigned int r, c; assert(t); assert(t->ncols > 0); if (!t->widths) t->widths = xmalloc (t->ncols * sizeof(t->widths[0])); for (c = 0; c < t->ncols; ++c) t->widths[c] = 0; for (r = 0; r < t->nrows; ++r) for (c = 0; c < t->ncols; ++c) { t->widths[c] = max ( t->widths[c], wcswidth(t->rows[r][c], MAX_WIDTH) ); } } /* * add a row which is a string array of ncols elements. * 'row' will get freed by table_destroy; you must not free it * yourself. */ void table_add_row (Table* t, wchar_t** row) { assert(t); /*unsigned int i; fputs ("adding row: ", stdout); for (i = 0; i < t->ncols; ++i) printf("[%s]", row[i]); putchar ('\n');*/ t->rows = xrealloc (t->rows, (t->nrows + 1) * sizeof(wchar_t***)); t->rows[t->nrows] = row; ++t->nrows; table_calc_column_widths (t); } void table_add_row_from_strlist (Table* t, StrList* list) { wchar_t** row = xmalloc (str_list_length(list) * sizeof(*row)); int i = 0; while (list) { row[i] = wcsdup (list->str); if (row[i] == NULL) xalloc_die (); list = list->next; ++i; } table_add_row (t, row); } /* render a row */ static void table_render_row (Table* t, int rownum, int ncols, wchar_t** s) { wchar_t** row = t->rows[rownum]; size_t len = 1, i; size_t newsize; assert(t); assert(s != NULL); for (i = 0; i < ncols; ++i) len += t->widths[i] + wcslen(DELIMITER); len += wcslen(COLSUFFIX); newsize = (wcslen(*s) + len + 1) * sizeof(wchar_t); *s = xrealloc (*s, newsize); for (i = 0; i < ncols; ++i) { wcscat (*s, row[i]); if (ncols <= i + 1) break; int j; int nspaces = max(t->widths[i] - wcswidth(row[i], MAX_WIDTH), 0); wchar_t* pad = xmalloc ((nspaces + 1) * sizeof(*pad)); for (j = 0; j < nspaces; ++j) pad[j] = L' '; pad[nspaces] = L_('\0'); wcscat (*s, pad); if (i + 1 < ncols) wcscat (*s, DELIMITER); free (pad); } /* Remove any trailing blanks. */ wchar_t *p = *s; size_t k = wcslen (p); while (k && p[k-1] == L_(' ')) --k; p[k] = L_('\0'); wcscat (*s, COLSUFFIX); } /* * Render the rows. * \p s must be a null-terminated string. */ static void table_render_rows (Table* t, wchar_t** s) { unsigned int i; assert (**s == L_('\0')); for (i = 0; i < t->nrows; ++i) table_render_row (t, i, t->ncols, s); } /* * Render the table to a string. * You are responsible for freeing the returned string. */ wchar_t* table_render(Table* t) { wchar_t* s = xmalloc (sizeof(*s)); *s = L_('\0'); table_render_rows (t, &s); return s; } parted-2.3/parted/command.c0000644000000000000000000000544511370314006012570 00000000000000/* parted - a frontend to libparted Copyright (C) 1999-2000, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "command.h" #include "ui.h" #include #include #include #include "xalloc.h" Command* command_create (const StrList* names, int (*method) (PedDevice** dev), const StrList* summary, const StrList* help, const int non_interactive) { Command* cmd; cmd = xmalloc (sizeof (Command)); if (non_interactive) cmd->non_interactive = 1; else cmd->non_interactive = 0; cmd->names = (StrList*) names; cmd->method = method; cmd->summary = (StrList*) summary; cmd->help = (StrList*) help; return cmd; } void command_destroy (Command* cmd) { str_list_destroy (cmd->names); str_list_destroy (cmd->summary); str_list_destroy (cmd->help); free (cmd); } void command_register (Command** list, Command* cmd) { int i; for (i = 0; list [i]; i++); list [i] = cmd; list [i + 1] = (Command*) NULL; } Command* command_get (Command** list, char* name) { int i; int partial_match = -1; int ambiguous = 0; if (!name) return NULL; for (i=0; list [i]; i++) { switch (str_list_match_any (list [i]->names, name)) { case 2: return list [i]; case 1: if (!ambiguous) { if (partial_match == -1) { partial_match = i; } else { partial_match = -1; ambiguous = 1; } } } } if (partial_match == -1) return NULL; else return list [partial_match]; } StrList* command_get_names (Command** list) { Command** walk; StrList* result = NULL; for (walk = list; *walk; walk++) result = str_list_join (result, str_list_duplicate ((*walk)->names)); return result; } void command_print_summary (Command* cmd) { fputs (" ", stdout); str_list_print_wrap (cmd->summary, screen_width(), 2, 8); putchar ('\n'); } void command_print_help (Command* cmd) { command_print_summary (cmd); if (cmd->help) { fputs ("\n\t", stdout); str_list_print_wrap (cmd->help, screen_width(), 8, 8); } } int command_run (Command* cmd, PedDevice** dev) { return cmd->method (dev); } parted-2.3/parted/parted.c0000644000000000000000000026713411377756220012455 00000000000000/* parted - a frontend to libparted Copyright (C) 1999-2003, 2005-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include "argmatch.h" #include "closeout.h" #include "configmake.h" #include "version-etc.h" #include "command.h" #include "ui.h" #include "progname.h" #include "table.h" #include "version.h" #define AUTHORS \ "" /* The official name of this program (e.g., no `g' prefix). */ #define PROGRAM_NAME "parted" #define N_(String) String #if ENABLE_NLS # include # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ #include #include #include #include #include #include #include #include #include "xalloc.h" #ifdef ENABLE_MTRACE #include #endif #include /* minimum amount of free space to leave, or maximum amount to gobble up */ #define MIN_FREESPACE (1000 * 2) /* 1000k */ static int MEGABYTE_SECTORS (PedDevice* dev) { return PED_MEGABYTE_SIZE / dev->sector_size; } /* For long options that have no equivalent short option, use a non-character as a pseudo short option, starting with CHAR_MAX + 1. */ enum { PRETEND_INPUT_TTY = CHAR_MAX + 1, }; enum { ALIGNMENT_NONE = 2, ALIGNMENT_CYLINDER, ALIGNMENT_MINIMAL, ALIGNMENT_OPTIMAL }; static char const *const align_args[] = { "none", "cylinder", "minimal", "optimal", NULL }; static int const align_types[] = { ALIGNMENT_NONE, ALIGNMENT_CYLINDER, ALIGNMENT_MINIMAL, ALIGNMENT_OPTIMAL }; ARGMATCH_VERIFY (align_args, align_types); typedef struct { time_t last_update; time_t predicted_time_left; } TimerContext; static struct option const options[] = { /* name, has-arg, string-return-val, char-return-val */ {"help", 0, NULL, 'h'}, {"list", 0, NULL, 'l'}, {"machine", 0, NULL, 'm'}, {"script", 0, NULL, 's'}, {"version", 0, NULL, 'v'}, {"align", required_argument, NULL, 'a'}, {"-pretend-input-tty", 0, NULL, PRETEND_INPUT_TTY}, {NULL, 0, NULL, 0} }; static const char *const options_help [][2] = { {"help", N_("displays this help message")}, {"list", N_("lists partition layout on all block devices")}, {"machine", N_("displays machine parseable output")}, {"script", N_("never prompts for user intervention")}, {"version", N_("displays the version")}, {"align=[none|cyl|min|opt]", N_("alignment for new partitions")}, {NULL, NULL} }; int opt_script_mode = 0; int pretend_input_tty = 0; int opt_machine_mode = 0; int disk_is_modified = 0; int is_toggle_mode = 0; int alignment = ALIGNMENT_OPTIMAL; static const char* number_msg = N_( "NUMBER is the partition number used by Linux. On MS-DOS disk labels, the " "primary partitions number from 1 to 4, logical partitions from 5 onwards.\n"); static const char* label_type_msg_start = N_("LABEL-TYPE is one of: "); static const char* flag_msg_start = N_("FLAG is one of: "); static const char* unit_msg_start = N_("UNIT is one of: "); static const char* min_or_opt_msg = N_("desired alignment: minimum or optimal"); static const char* part_type_msg = N_("PART-TYPE is one of: primary, logical, " "extended\n"); static const char* fs_type_msg_start = N_("FS-TYPE is one of: "); static const char* start_end_msg = N_("START and END are disk locations, such as " "4GB or 10%. Negative values count from the end of the disk. " "For example, -1s specifies exactly the last sector.\n"); static const char* state_msg = N_("STATE is one of: on, off\n"); static const char* device_msg = N_("DEVICE is usually /dev/hda or /dev/sda\n"); static const char* name_msg = N_("NAME is any word you want\n"); static const char* resize_msg_start = N_("The partition must have one of the " "following FS-TYPEs: "); static const char* copyright_msg = N_( "Copyright (C) 1998 - 2006 Free Software Foundation, Inc.\n" "This program is free software, covered by the GNU General Public License.\n" "\n" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n\n"); static char* label_type_msg; static char* flag_msg; static char* unit_msg; static char* mkfs_fs_type_msg; static char* mkpart_fs_type_msg; static char* resize_fs_type_msg; static Command* commands [256] = {NULL}; static PedTimer* g_timer; static TimerContext timer_context; static int _print_list (); static void _done (PedDevice* dev); static bool partition_align_check (PedDisk const *disk, PedPartition const *part, enum AlignmentType a_type); static void _timer_handler (PedTimer* timer, void* context) { TimerContext* tcontext = (TimerContext*) context; int draw_this_time; if (opt_script_mode || !isatty(fileno(stdout))) return; if (tcontext->last_update != timer->now && timer->now > timer->start) { tcontext->predicted_time_left = timer->predicted_end - timer->now; tcontext->last_update = timer->now; draw_this_time = 1; } else { draw_this_time = 0; } if (draw_this_time) { wipe_line (); if (timer->state_name) printf ("%s... ", timer->state_name); printf (_("%0.f%%\t(time left %.2d:%.2d)"), 100.0 * timer->frac, (int) (tcontext->predicted_time_left / 60), (int) (tcontext->predicted_time_left % 60)); fflush (stdout); } } static int _partition_warn_busy (PedPartition* part) { char* path; if (ped_partition_is_busy (part)) { path = ped_partition_get_path (part); ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Partition %s is being used. You must unmount it " "before you modify it with Parted."), path); free (path); return 0; } return 1; } static int _disk_warn_busy (PedDisk* disk) { if (ped_device_is_busy (disk->dev)) return ped_exception_throw ( (opt_script_mode ? PED_EXCEPTION_ERROR : PED_EXCEPTION_WARNING), PED_EXCEPTION_IGNORE_CANCEL, _("Partition(s) on %s are being used."), disk->dev->path) == PED_EXCEPTION_IGNORE; return 1; } static int _partition_warn_loss () { return ped_exception_throw ( PED_EXCEPTION_WARNING, PED_EXCEPTION_YES_NO, _("The existing file system will be destroyed and " "all data on the partition will be lost. Do " "you want to continue?"), NULL) == PED_EXCEPTION_YES; } static int _disk_warn_loss (PedDisk* disk) { return ped_exception_throw ( PED_EXCEPTION_WARNING, PED_EXCEPTION_YES_NO, _("The existing disk label on %s will be destroyed " "and all data on this disk will be lost. Do you " "want to continue?"), disk->dev->path) == PED_EXCEPTION_YES; } /* This function changes "sector" to "new_sector" if the new value lies * within the required range. */ static int snap (PedSector* sector, PedSector new_sector, PedGeometry* range) { PED_ASSERT (ped_geometry_test_sector_inside (range, *sector), return 0); if (!ped_geometry_test_sector_inside (range, new_sector)) return 0; *sector = new_sector; return 1; } typedef enum { MOVE_NO = 0, MOVE_STILL = 1, MOVE_UP = 2, MOVE_DOWN = 4 } EMoves; enum { /* Don't change these values */ SECT_START = 0, SECT_END = -1 }; /* Find the preferred way to adjust the sector s inside range. * If a move isn't allowed or is out of range it can't be selected. * what contains SECT_START if the sector to adjust is a start sector * or SECT_END if it's an end one. * The preferred move is to the nearest allowed boundary of the part * partition (if at equal distance: to start if SECT_START or to end * if SECT_END). * The distance is returned in dist. */ static EMoves prefer_snap (PedSector s, int what, PedGeometry* range, EMoves* allow, PedPartition* part, PedSector* dist) { PedSector up_dist = -1, down_dist = -1; PedSector new_sect; EMoves move; PED_ASSERT (what == SECT_START || what == SECT_END, return 0); if (!(*allow & (MOVE_UP | MOVE_DOWN))) { *dist = 0; return MOVE_STILL; } if (*allow & MOVE_UP) { new_sect = part->geom.end + 1 + what; if (ped_geometry_test_sector_inside (range, new_sect)) up_dist = new_sect - s; else *allow &= ~MOVE_UP; } if (*allow & MOVE_DOWN) { new_sect = part->geom.start + what; if (ped_geometry_test_sector_inside (range, new_sect)) down_dist = s - new_sect; else *allow &= ~MOVE_DOWN; } move = MOVE_STILL; if ((*allow & MOVE_UP) && (*allow & MOVE_DOWN)) { if (down_dist < up_dist || (down_dist == up_dist && what == SECT_START) ) move = MOVE_DOWN; else if (up_dist < down_dist || (down_dist == up_dist && what == SECT_END) ) move = MOVE_UP; else PED_ASSERT (0, return 0); } else if (*allow & MOVE_UP) move = MOVE_UP; else if (*allow & MOVE_DOWN) move = MOVE_DOWN; *dist = ( move == MOVE_DOWN ? down_dist : ( move == MOVE_UP ? up_dist : 0 ) ); return move; } /* Snaps a partition to nearby partition boundaries. This is useful for * gobbling up small amounts of free space, and also for reinterpreting small * changes to a partition as non-changes (eg: perhaps the user only wanted to * resize the end of a partition). * Note that this isn't the end of the story... this function is * always called before the constraint solver kicks in. So you don't need to * worry too much about inadvertantly creating overlapping partitions, etc. */ static void snap_to_boundaries (PedGeometry* new_geom, PedGeometry* old_geom, PedDisk* disk, PedGeometry* start_range, PedGeometry* end_range) { PedPartition* start_part; PedPartition* end_part; PedSector start = new_geom->start; PedSector end = new_geom->end; PedSector start_dist = -1, end_dist = -1; EMoves start_allow, end_allow, start_want, end_want; int adjacent; start_allow = end_allow = MOVE_STILL | MOVE_UP | MOVE_DOWN; start_part = ped_disk_get_partition_by_sector (disk, start); end_part = ped_disk_get_partition_by_sector (disk, end); adjacent = (start_part->geom.end + 1 == end_part->geom.start); /* If we can snap to old_geom, then we will... */ /* and this will enforce the snapped positions */ if (old_geom) { if (snap (&start, old_geom->start, start_range)) start_allow = MOVE_STILL; if (snap (&end, old_geom->end, end_range)) end_allow = MOVE_STILL; } /* If start and end are on the same partition, we */ /* don't allow them to cross. */ if (start_part == end_part) { start_allow &= ~MOVE_UP; end_allow &= ~MOVE_DOWN; } /* Let's find our way */ start_want = prefer_snap (start, SECT_START, start_range, &start_allow, start_part, &start_dist ); end_want = prefer_snap (end, SECT_END, end_range, &end_allow, end_part, &end_dist ); PED_ASSERT (start_dist >= 0 && end_dist >= 0, return); /* If start and end are on adjacent partitions, */ /* and if they would prefer crossing, then refrain */ /* the farthest to do so. */ if (adjacent && start_want == MOVE_UP && end_want == MOVE_DOWN) { if (end_dist < start_dist) { start_allow &= ~MOVE_UP; start_want = prefer_snap (start, SECT_START, start_range, &start_allow, start_part, &start_dist ); PED_ASSERT (start_dist >= 0, return); } else { end_allow &= ~MOVE_DOWN; end_want = prefer_snap (end, SECT_END, end_range, &end_allow, end_part, &end_dist ); PED_ASSERT (end_dist >= 0, return); } } /* New positions */ start = ( start_want == MOVE_DOWN ? start_part->geom.start : ( start_want == MOVE_UP ? start_part->geom.end + 1 : start ) ); end = ( end_want == MOVE_DOWN ? end_part->geom.start - 1 : ( end_want == MOVE_UP ? end_part->geom.end : end ) ); PED_ASSERT (ped_geometry_test_sector_inside(start_range,start), return); PED_ASSERT (ped_geometry_test_sector_inside (end_range, end), return); PED_ASSERT (start <= end, PED_DEBUG (0, "start = %d, end = %d\n", start, end)); ped_geometry_set (new_geom, start, end - start + 1); } /* This functions constructs a constraint from the following information: * start, is_start_exact, end, is_end_exact. * * If is_start_exact == 1, then the constraint requires start be as given in * "start". Otherwise, the constraint does not set any requirements on the * start. */ static PedConstraint* constraint_from_start_end (PedDevice* dev, PedGeometry* range_start, PedGeometry* range_end) { return ped_constraint_new (ped_alignment_any, ped_alignment_any, range_start, range_end, 1, dev->length); } static PedConstraint* constraint_intersect_and_destroy (PedConstraint* a, PedConstraint* b) { PedConstraint* result = ped_constraint_intersect (a, b); ped_constraint_destroy (a); ped_constraint_destroy (b); return result; } void help_on (char* topic) { Command* cmd; cmd = command_get (commands, topic); if (!cmd) return; command_print_help (cmd); } /* Issue a warning about upcoming removal of FS support. */ static void issue_fs_op_warning (char const *op) { if (getenv ("PARTED_SUPPRESS_FILE_SYSTEM_MANIPULATION_WARNING")) return; fprintf (stderr, _("WARNING: you are attempting to use %s to operate on (%s) a file system.\n" "%s's file system manipulation code is not as robust as what you'll find in\n" "dedicated, file-system-specific packages like e2fsprogs. We recommend\n" "you use %s only to manipulate partition tables, whenever possible.\n" "Support for performing most operations on most types of file systems\n" "will be removed in an upcoming release.\n"), program_name, op, program_name, program_name); } static int do_check (PedDevice** dev) { issue_fs_op_warning ("check"); PedDisk* disk; PedFileSystem* fs; PedPartition* part = NULL; disk = ped_disk_new (*dev); if (!disk) goto error; if (!command_line_get_partition (_("Partition number?"), disk, &part)) goto error_destroy_disk; if (!_partition_warn_busy (part)) goto error_destroy_disk; if (!ped_disk_check (disk)) goto error_destroy_disk; fs = ped_file_system_open (&part->geom); if (!fs) goto error_destroy_disk; if (!ped_file_system_check (fs, g_timer)) goto error_close_fs; ped_file_system_close (fs); ped_disk_destroy (disk); return 1; error_close_fs: ped_file_system_close (fs); error_destroy_disk: ped_disk_destroy (disk); error: return 0; } static int do_cp (PedDevice** dev) { issue_fs_op_warning ("cp"); PedDisk* src_disk; PedDisk* dst_disk; PedPartition* src = NULL; PedPartition* dst = NULL; PedFileSystem* src_fs; PedFileSystem* dst_fs; PedFileSystemType* dst_fs_type; dst_disk = ped_disk_new (*dev); if (!dst_disk) goto error; src_disk = dst_disk; if (!command_line_is_integer ()) { if (!command_line_get_disk (_("Source device?"), &src_disk)) goto error_destroy_disk; } if (!command_line_get_partition (_("Source partition number?"), src_disk, &src)) goto error_destroy_disk; if (src->type == PED_PARTITION_EXTENDED) { ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Can't copy an extended partition.")); goto error_destroy_disk; } if (!_partition_warn_busy (src)) goto error_destroy_disk; if (!command_line_get_partition (_("Destination partition number?"), dst_disk, &dst)) goto error_destroy_disk; if (!_partition_warn_busy (dst)) goto error_destroy_disk; /* do the copy */ src_fs = ped_file_system_open (&src->geom); if (!src_fs) goto error_destroy_disk; dst_fs = ped_file_system_copy (src_fs, &dst->geom, g_timer); if (!dst_fs) goto error_close_src_fs; dst_fs_type = dst_fs->type; /* may be different to src_fs->type */ ped_file_system_close (src_fs); ped_file_system_close (dst_fs); /* update the partition table, close disks */ if (!ped_partition_set_system (dst, dst_fs_type)) goto error_destroy_disk; if (!ped_disk_commit (dst_disk)) goto error_destroy_disk; if (src_disk != dst_disk) ped_disk_destroy (src_disk); ped_disk_destroy (dst_disk); if ((*dev)->type != PED_DEVICE_FILE) disk_is_modified = 1; return 1; error_close_src_fs: ped_file_system_close (src_fs); error_destroy_disk: if (src_disk && src_disk != dst_disk) ped_disk_destroy (src_disk); ped_disk_destroy (dst_disk); error: return 0; } void print_commands_help () { int i; for (i=0; commands [i]; i++) command_print_summary (commands [i]); } void print_options_help () { int i; for (i=0; options_help [i][0]; i++) { printf (" -%c, --%-25.25s %s\n", options_help [i][0][0], options_help [i][0], _(options_help [i][1])); } } int do_help (PedDevice** dev) { if (command_line_get_word_count ()) { char* word = command_line_pop_word (); if (word) { help_on (word); free (word); } } else { print_commands_help(); } return 1; } static int do_mklabel (PedDevice** dev) { PedDisk* disk; const PedDiskType* type = NULL; ped_exception_fetch_all (); disk = ped_disk_new (*dev); if (!disk) ped_exception_catch (); ped_exception_leave_all (); if (!command_line_get_disk_type (_("New disk label type?"), &type)) goto error; if (disk) { if (!_disk_warn_busy (disk)) goto error_destroy_disk; if (!opt_script_mode && !_disk_warn_loss (disk)) goto error_destroy_disk; ped_disk_destroy (disk); } disk = ped_disk_new_fresh (*dev, type); if (!disk) goto error; if (!ped_disk_commit (disk)) goto error_destroy_disk; ped_disk_destroy (disk); if ((*dev)->type != PED_DEVICE_FILE) disk_is_modified = 1; return 1; error_destroy_disk: ped_disk_destroy (disk); error: return 0; } static int do_mkfs (PedDevice** dev) { issue_fs_op_warning ("mkfs"); PedDisk* disk; PedPartition* part = NULL; const PedFileSystemType* type = ped_file_system_type_get ("ext2"); PedFileSystem* fs; disk = ped_disk_new (*dev); if (!disk) goto error; if (!opt_script_mode && !_partition_warn_loss()) goto error_destroy_disk; if (!command_line_get_partition (_("Partition number?"), disk, &part)) goto error_destroy_disk; if (!_partition_warn_busy (part)) goto error_destroy_disk; if (!command_line_get_fs_type (_("File system type?"), &type)) goto error_destroy_disk; fs = ped_file_system_create (&part->geom, type, g_timer); if (!fs) goto error_destroy_disk; ped_file_system_close (fs); if (!ped_partition_set_system (part, type)) goto error_destroy_disk; if (ped_partition_is_flag_available (part, PED_PARTITION_LBA)) ped_partition_set_flag (part, PED_PARTITION_LBA, 1); if (!ped_disk_commit (disk)) goto error_destroy_disk; ped_disk_destroy (disk); if ((*dev)->type != PED_DEVICE_FILE) disk_is_modified = 1; return 1; error_destroy_disk: ped_disk_destroy (disk); error: return 0; } static int do_mkpart (PedDevice** dev) { PedDisk* disk; PedPartition* part; PedPartitionType part_type; const PedFileSystemType* fs_type = ped_file_system_type_get ("ext2"); PedSector start = 0, end = 0; PedGeometry *range_start = NULL, *range_end = NULL; PedConstraint* user_constraint; PedConstraint* dev_constraint; PedConstraint* final_constraint; char* peek_word; char* part_name = NULL; char *start_usr = NULL, *end_usr = NULL; char *start_sol = NULL, *end_sol = NULL; disk = ped_disk_new (*dev); if (!disk) goto error; if (ped_disk_is_flag_available(disk, PED_DISK_CYLINDER_ALIGNMENT)) if (!ped_disk_set_flag(disk, PED_DISK_CYLINDER_ALIGNMENT, alignment == ALIGNMENT_CYLINDER)) goto error_destroy_disk; if (!ped_disk_type_check_feature (disk->type, PED_DISK_TYPE_EXTENDED)) { part_type = PED_PARTITION_NORMAL; } else { if (!command_line_get_part_type (_("Partition type?"), disk, &part_type)) goto error_destroy_disk; } /* The undocumented feature that mkpart sometimes takes a partition name is next to useless, at least with a dvh partition table, since it makes the "mkpart" command fail unconditionally for a primary partition. E.g., mkpart primary any-name xfs 4096s 5000s requires the name, yet always fails, saying that only logical partitions may have names. If you want a name, use parted's separate "name" command. */ if (ped_disk_type_check_feature (disk->type, PED_DISK_TYPE_PARTITION_NAME) && ! (strcmp (disk->type->name, "dvh") == 0 && part_type != PED_PARTITION_LOGICAL)) part_name = command_line_get_word (_("Partition name?"), "", NULL, 1); peek_word = command_line_peek_word (); if (part_type == PED_PARTITION_EXTENDED || (peek_word && isdigit (peek_word[0]))) { fs_type = NULL; } else { if (!command_line_get_fs_type (_("File system type?"), &fs_type)) goto error_destroy_disk; } free (peek_word); if (!command_line_get_sector (_("Start?"), *dev, &start, &range_start)) goto error_destroy_disk; if (!command_line_get_sector (_("End?"), *dev, &end, &range_end)) goto error_destroy_disk; /* processing starts here */ part = ped_partition_new (disk, part_type, fs_type, start, end); if (!part) goto error_destroy_disk; snap_to_boundaries (&part->geom, NULL, disk, range_start, range_end); /* create constraints */ user_constraint = constraint_from_start_end (*dev, range_start, range_end); PED_ASSERT (user_constraint != NULL, return 0); if (alignment == ALIGNMENT_OPTIMAL) dev_constraint = ped_device_get_optimal_aligned_constraint(*dev); else if (alignment == ALIGNMENT_MINIMAL) dev_constraint = ped_device_get_minimal_aligned_constraint(*dev); else dev_constraint = ped_device_get_constraint(*dev); PED_ASSERT (dev_constraint != NULL, return 0); final_constraint = ped_constraint_intersect (user_constraint, dev_constraint); ped_constraint_destroy (user_constraint); ped_constraint_destroy (dev_constraint); if (!final_constraint) goto error_destroy_simple_constraints; /* subject to partition constraint */ ped_exception_fetch_all(); bool added_ok = ped_disk_add_partition (disk, part, final_constraint); ped_constraint_destroy (final_constraint); if (!added_ok) { ped_exception_leave_all(); PedConstraint *constraint_any = ped_constraint_any (*dev); added_ok = ped_disk_add_partition (disk, part, constraint_any); ped_constraint_destroy (constraint_any); if (!added_ok) goto error_remove_part; if (!ped_geometry_test_sector_inside(range_start, part->geom.start) || !ped_geometry_test_sector_inside(range_end, part->geom.end)) { start_usr = ped_unit_format (*dev, start); end_usr = ped_unit_format (*dev, end); start_sol = ped_unit_format (*dev, part->geom.start); end_sol = ped_unit_format (*dev, part->geom.end); /* In script mode failure to use specified values is fatal. * However, in interactive mode, it merely elicits a warning * and a prompt for whether to proceed. The same appies for * do_mkpartfs function. */ switch (ped_exception_throw ( (opt_script_mode ? PED_EXCEPTION_ERROR : PED_EXCEPTION_WARNING), (opt_script_mode ? PED_EXCEPTION_CANCEL : PED_EXCEPTION_YES_NO), _("You requested a partition from %s to %s.\n" "The closest location we can manage is " "%s to %s.%s"), start_usr, end_usr, start_sol, end_sol, (opt_script_mode ? "" : _("\nIs this still acceptable to you?")))) { case PED_EXCEPTION_YES: /* all is well in this state */ break; case PED_EXCEPTION_NO: case PED_EXCEPTION_UNHANDLED: default: /* undo partition addition */ goto error_remove_part; } } if ((alignment == ALIGNMENT_OPTIMAL && !partition_align_check(disk, part, PA_OPTIMUM)) || (alignment == ALIGNMENT_MINIMAL && !partition_align_check(disk, part, PA_MINIMUM))) { if (ped_exception_throw( PED_EXCEPTION_WARNING, (opt_script_mode ? PED_EXCEPTION_OK : PED_EXCEPTION_IGNORE_CANCEL), _("The resulting partition is not properly " "aligned for best performance.")) == PED_EXCEPTION_CANCEL) { /* undo partition addition */ goto error_remove_part; } } } else { ped_exception_leave_all(); } ped_exception_catch(); /* set minor attributes */ if (part_name) PED_ASSERT (ped_partition_set_name (part, part_name), return 0); free (part_name); /* avoid double-free upon failure */ part_name = NULL; if (!ped_partition_set_system (part, fs_type)) goto error_destroy_disk; if (ped_partition_is_flag_available (part, PED_PARTITION_LBA)) ped_partition_set_flag (part, PED_PARTITION_LBA, 1); if (!ped_disk_commit (disk)) goto error_destroy_disk; /* clean up */ ped_disk_destroy (disk); if (range_start != NULL) ped_geometry_destroy (range_start); if (range_end != NULL) ped_geometry_destroy (range_end); free (start_usr); free (end_usr); free (start_sol); free (end_sol); if ((*dev)->type != PED_DEVICE_FILE) disk_is_modified = 1; return 1; error_remove_part: ped_disk_remove_partition (disk, part); error_destroy_simple_constraints: ped_partition_destroy (part); error_destroy_disk: free (part_name); ped_disk_destroy (disk); error: if (range_start != NULL) ped_geometry_destroy (range_start); if (range_end != NULL) ped_geometry_destroy (range_end); free (start_usr); free (end_usr); free (start_sol); free (end_sol); return 0; } static int do_mkpartfs (PedDevice** dev) { issue_fs_op_warning ("mkpartfs"); PedDisk* disk; PedPartition* part; PedPartitionType part_type; const PedFileSystemType* fs_type = ped_file_system_type_get ("ext2"); PedSector start = 0, end = 0; PedGeometry *range_start = NULL, *range_end = NULL; PedConstraint* user_constraint; PedConstraint* dev_constraint; PedConstraint* final_constraint; PedFileSystem* fs; char* part_name = NULL; char *start_usr = NULL, *end_usr = NULL; char *start_sol = NULL, *end_sol = NULL; disk = ped_disk_new (*dev); if (!disk) goto error; if (ped_disk_is_flag_available(disk, PED_DISK_CYLINDER_ALIGNMENT)) if (!ped_disk_set_flag(disk, PED_DISK_CYLINDER_ALIGNMENT, alignment == ALIGNMENT_CYLINDER)) goto error_destroy_disk; if (!ped_disk_type_check_feature (disk->type, PED_DISK_TYPE_EXTENDED)) { part_type = PED_PARTITION_NORMAL; } else { if (!command_line_get_part_type (_("Partition type?"), disk, &part_type)) goto error_destroy_disk; } if (ped_disk_type_check_feature (disk->type, PED_DISK_TYPE_PARTITION_NAME)) part_name = command_line_get_word (_("Partition name?"), "", NULL, 1); if (part_type == PED_PARTITION_EXTENDED) { ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("An extended partition cannot hold a file system. " "Did you want mkpart?")); goto error_destroy_disk; } if (!command_line_get_fs_type (_("File system type?"), &fs_type)) goto error_destroy_disk; if (!command_line_get_sector (_("Start?"), *dev, &start, &range_start)) goto error_destroy_disk; if (!command_line_get_sector (_("End?"), *dev, &end, &range_end)) goto error_destroy_disk; /* attempt to create the partition now */ part = ped_partition_new (disk, part_type, fs_type, start, end); if (!part) goto error_destroy_disk; snap_to_boundaries (&part->geom, NULL, disk, range_start, range_end); /* create constraints */ user_constraint = constraint_from_start_end (*dev, range_start, range_end); PED_ASSERT (user_constraint != NULL, return 0); if (alignment == ALIGNMENT_OPTIMAL) dev_constraint = ped_device_get_optimal_aligned_constraint(*dev); else if (alignment == ALIGNMENT_MINIMAL) dev_constraint = ped_device_get_minimal_aligned_constraint(*dev); else dev_constraint = ped_device_get_constraint(*dev); PED_ASSERT (dev_constraint != NULL, return 0); final_constraint = ped_constraint_intersect (user_constraint, dev_constraint); ped_constraint_destroy (user_constraint); ped_constraint_destroy (dev_constraint); if (!final_constraint) goto error_destroy_simple_constraints; /* subject to partition constraint */ ped_exception_fetch_all(); bool added_ok = ped_disk_add_partition (disk, part, final_constraint); ped_constraint_destroy (final_constraint); if (!added_ok) { ped_exception_leave_all(); PedConstraint *constraint_any = ped_constraint_any (*dev); bool added_ok = ped_disk_add_partition (disk, part, constraint_any); ped_constraint_destroy (constraint_any); if (!added_ok) goto error_remove_part; if (!ped_geometry_test_sector_inside(range_start, part->geom.start) || !ped_geometry_test_sector_inside(range_end, part->geom.end)) { start_usr = ped_unit_format (*dev, start); end_usr = ped_unit_format (*dev, end); start_sol = ped_unit_format (*dev, part->geom.start); end_sol = ped_unit_format (*dev, part->geom.end); switch (ped_exception_throw ( (opt_script_mode ? PED_EXCEPTION_ERROR : PED_EXCEPTION_WARNING), (opt_script_mode ? PED_EXCEPTION_CANCEL : PED_EXCEPTION_YES_NO), _("You requested a partition from %s to %s.\n" "The closest location we can manage is " "%s to %s.%s"), start_usr, end_usr, start_sol, end_sol, (opt_script_mode ? "" : _("\nIs this still acceptable to you?")))) { case PED_EXCEPTION_YES: /* all is well in this state */ break; case PED_EXCEPTION_NO: case PED_EXCEPTION_UNHANDLED: default: /* undo partition addition */ goto error_remove_part; } } if ((alignment == ALIGNMENT_OPTIMAL && !partition_align_check(disk, part, PA_OPTIMUM)) || (alignment == ALIGNMENT_MINIMAL && !partition_align_check(disk, part, PA_MINIMUM))) { if (ped_exception_throw( PED_EXCEPTION_WARNING, (opt_script_mode ? PED_EXCEPTION_OK : PED_EXCEPTION_IGNORE_CANCEL), _("The resulting partition is not properly " "aligned for best performance.")) == PED_EXCEPTION_CANCEL) { /* undo partition addition */ goto error_remove_part; } } } else { ped_exception_leave_all(); } ped_exception_catch(); /* set LBA flag automatically if available */ if (ped_partition_is_flag_available (part, PED_PARTITION_LBA)) ped_partition_set_flag (part, PED_PARTITION_LBA, 1); /* fs creation */ fs = ped_file_system_create (&part->geom, fs_type, g_timer); if (!fs) goto error_destroy_disk; ped_file_system_close (fs); if (part_name) PED_ASSERT (ped_partition_set_name (part, part_name), return 0); if (!ped_partition_set_system (part, fs_type)) goto error_destroy_disk; if (!ped_disk_commit (disk)) goto error_destroy_disk; /* clean up */ ped_disk_destroy (disk); if (range_start != NULL) ped_geometry_destroy (range_start); if (range_end != NULL) ped_geometry_destroy (range_end); free (start_usr); free (end_usr); free (start_sol); free (end_sol); if ((*dev)->type != PED_DEVICE_FILE) disk_is_modified = 1; return 1; error_remove_part: ped_disk_remove_partition (disk, part); error_destroy_simple_constraints: ped_partition_destroy (part); error_destroy_disk: ped_disk_destroy (disk); error: if (range_start != NULL) ped_geometry_destroy (range_start); if (range_end != NULL) ped_geometry_destroy (range_end); free (start_usr); free (end_usr); free (start_sol); free (end_sol); return 0; } static int do_move (PedDevice** dev) { issue_fs_op_warning ("move"); PedDisk* disk; PedPartition* part = NULL; PedFileSystem* fs; PedFileSystem* fs_copy; PedConstraint* constraint; PedSector start = 0, end = 0; PedGeometry *range_start = NULL, *range_end = NULL; PedGeometry old_geom, new_geom; disk = ped_disk_new (*dev); if (!disk) goto error; if (!command_line_get_partition (_("Partition number?"), disk, &part)) goto error_destroy_disk; if (!_partition_warn_busy (part)) goto error_destroy_disk; if (part->type == PED_PARTITION_EXTENDED) { ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Can't move an extended partition.")); goto error_destroy_disk; } old_geom = part->geom; fs = ped_file_system_open (&old_geom); if (!fs) goto error_destroy_disk; /* get new target */ if (!command_line_get_sector (_("Start?"), *dev, &start, &range_start)) goto error_close_fs; end = start + old_geom.length - 1; if (!command_line_get_sector (_("End?"), *dev, &end, &range_end)) goto error_close_fs; /* set / test on "disk" */ if (!ped_geometry_init (&new_geom, *dev, start, end - start + 1)) goto error_close_fs; snap_to_boundaries (&new_geom, NULL, disk, range_start, range_end); constraint = constraint_intersect_and_destroy ( ped_file_system_get_copy_constraint (fs, *dev), constraint_from_start_end(*dev,range_start,range_end)); if (!ped_disk_set_partition_geom (disk, part, constraint, new_geom.start, new_geom.end)) goto error_destroy_constraint; ped_constraint_destroy (constraint); if (ped_geometry_test_overlap (&old_geom, &part->geom)) { ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Can't move a partition onto itself. Try using " "resize, perhaps?")); goto error_close_fs; } /* do the move */ fs_copy = ped_file_system_copy (fs, &part->geom, g_timer); if (!fs_copy) goto error_close_fs; ped_file_system_close (fs_copy); ped_file_system_close (fs); if (!ped_disk_commit (disk)) goto error_destroy_disk; ped_disk_destroy (disk); if (range_start != NULL) ped_geometry_destroy (range_start); if (range_end != NULL) ped_geometry_destroy (range_end); if ((*dev)->type != PED_DEVICE_FILE) disk_is_modified = 1; return 1; error_destroy_constraint: ped_constraint_destroy (constraint); error_close_fs: ped_file_system_close (fs); error_destroy_disk: ped_disk_destroy (disk); error: if (range_start != NULL) ped_geometry_destroy (range_start); if (range_end != NULL) ped_geometry_destroy (range_end); return 0; } static int do_name (PedDevice** dev) { PedDisk* disk; PedPartition* part = NULL; char* name; disk = ped_disk_new (*dev); if (!disk) goto error; if (!command_line_get_partition (_("Partition number?"), disk, &part)) goto error_destroy_disk; name = command_line_get_word (_("Partition name?"), ped_partition_get_name (part), NULL, 0); if (!name) goto error_destroy_disk; if (!ped_partition_set_name (part, name)) goto error_free_name; free (name); if (!ped_disk_commit (disk)) goto error_destroy_disk; ped_disk_destroy (disk); return 1; error_free_name: free (name); error_destroy_disk: ped_disk_destroy (disk); error: return 0; } static char* partition_print_flags (PedPartition* part) { PedPartitionFlag flag; int first_flag; const char* name; char* res = ped_malloc(1); void* _res = res; *res = '\0'; first_flag = 1; for (flag = ped_partition_flag_next (0); flag; flag = ped_partition_flag_next (flag)) { if (ped_partition_get_flag (part, flag)) { if (first_flag) first_flag = 0; else { _res = res; ped_realloc (&_res, strlen (res) + 1 + 2); res = _res; strncat (res, ", ", 2); } name = _(ped_partition_flag_get_name (flag)); _res = res; ped_realloc (&_res, strlen (res) + 1 + strlen (name)); res = _res; strcat(res, name); } } return res; } /* Prints a sector out, first in compact form, and then with a percentage. * Eg: 32Gb (40%) */ static void print_sector_compact_and_percent (PedSector sector, PedDevice* dev) { char* compact; char* percent; if (ped_unit_get_default() == PED_UNIT_PERCENT) compact = ped_unit_format (dev, sector); else compact = ped_unit_format_custom (dev, sector, PED_UNIT_COMPACT); percent = ped_unit_format_custom (dev, sector, PED_UNIT_PERCENT); printf ("%s (%s)\n", compact, percent); free (compact); free (percent); } static int partition_print (PedPartition* part) { PedFileSystem* fs; PedConstraint* resize_constraint; char* flags; fs = ped_file_system_open (&part->geom); if (!fs) return 1; putchar ('\n'); flags = partition_print_flags (part); printf (_("Minor: %d\n"), part->num); printf (_("Flags: %s\n"), flags); printf (_("File System: %s\n"), fs->type->name); fputs (_("Size: "), stdout); print_sector_compact_and_percent (part->geom.length, part->geom.dev); resize_constraint = ped_file_system_get_resize_constraint (fs); if (resize_constraint) { fputs (_("Minimum size: "), stdout); print_sector_compact_and_percent (resize_constraint->min_size, part->geom.dev); fputs (_("Maximum size: "), stdout); print_sector_compact_and_percent (resize_constraint->max_size, part->geom.dev); ped_constraint_destroy (resize_constraint); } putchar ('\n'); free (flags); ped_file_system_close (fs); return 1; } static int do_print (PedDevice** dev) { PedUnit default_unit; PedDisk* disk; Table* table; int has_extended; int has_name; int has_devices_arg = 0; int has_free_arg = 0; int has_list_arg = 0; int has_num_arg = 0; const char *const transport[] = {"unknown", "scsi", "ide", "dac960", "cpqarray", "file", "ataraid", "i2o", "ubd", "dasd", "viodasd", "sx8", "dm", "xvd", "sd/mmc", "virtblk", "aoe", "md"}; char* peek_word; char* start; char* end; char* size; const char* name; char* tmp; wchar_t* table_rendered; disk = ped_disk_new (*dev); if (!disk) goto error; if (ped_disk_is_flag_available(disk, PED_DISK_CYLINDER_ALIGNMENT)) if (!ped_disk_set_flag(disk, PED_DISK_CYLINDER_ALIGNMENT, alignment == ALIGNMENT_CYLINDER)) goto error_destroy_disk; peek_word = command_line_peek_word (); if (peek_word) { if (strncmp (peek_word, "devices", 7) == 0) { char *w = command_line_pop_word(); free (w); has_devices_arg = 1; } else if (strncmp (peek_word, "free", 4) == 0) { char *w = command_line_pop_word (); free (w); has_free_arg = 1; } else if (strncmp (peek_word, "list", 4) == 0 || strncmp (peek_word, "all", 3) == 0) { char *w = command_line_pop_word(); free (w); has_list_arg = 1; } else has_num_arg = isdigit(peek_word[0]); free (peek_word); } if (has_devices_arg) { char* dev_name; PedDevice* current_dev = NULL; ped_device_probe_all(); while ((current_dev = ped_device_get_next(current_dev))) { end = ped_unit_format_byte (current_dev, current_dev->length * current_dev->sector_size); printf ("%s (%s)\n", current_dev->path, end); free (end); } dev_name = xstrdup ((*dev)->path); ped_device_free_all (); *dev = ped_device_get (dev_name); if (!*dev) return 0; if (!ped_device_open (*dev)) return 0; free (dev_name); return 1; } else if (has_list_arg) return _print_list (); else if (has_num_arg) { PedPartition* part = NULL; int status = 0; if (command_line_get_partition ("", disk, &part)) status = partition_print (part); ped_disk_destroy (disk); return status; } start = ped_unit_format (*dev, 0); default_unit = ped_unit_get_default (); end = ped_unit_format_byte (*dev, (*dev)->length * (*dev)->sector_size - (default_unit == PED_UNIT_CHS || default_unit == PED_UNIT_CYLINDER)); if (opt_machine_mode) { switch (default_unit) { case PED_UNIT_CHS: puts ("CHS;"); break; case PED_UNIT_CYLINDER: puts ("CYL;"); break; default: puts ("BYT;"); break; } printf ("%s:%s:%s:%lld:%lld:%s:%s;\n", (*dev)->path, end, transport[(*dev)->type], (*dev)->sector_size, (*dev)->phys_sector_size, disk->type->name, (*dev)->model); } else { printf (_("Model: %s (%s)\n"), (*dev)->model, transport[(*dev)->type]); printf (_("Disk %s: %s\n"), (*dev)->path, end); printf (_("Sector size (logical/physical): %lldB/%lldB\n"), (*dev)->sector_size, (*dev)->phys_sector_size); } free (start); free (end); if (ped_unit_get_default () == PED_UNIT_CHS || ped_unit_get_default () == PED_UNIT_CYLINDER) { PedCHSGeometry* chs = &(*dev)->bios_geom; char* cyl_size = ped_unit_format_custom (*dev, chs->heads * chs->sectors, PED_UNIT_KILOBYTE); if (opt_machine_mode) { printf ("%d:%d:%d:%s;\n", chs->cylinders, chs->heads, chs->sectors, cyl_size); } else { printf (_("BIOS cylinder,head,sector geometry: %d,%d,%d. " "Each cylinder is %s.\n"), chs->cylinders, chs->heads, chs->sectors, cyl_size); } free (cyl_size); } if (!opt_machine_mode) { printf (_("Partition Table: %s\n"), disk->type->name); putchar ('\n'); } has_extended = ped_disk_type_check_feature (disk->type, PED_DISK_TYPE_EXTENDED); has_name = ped_disk_type_check_feature (disk->type, PED_DISK_TYPE_PARTITION_NAME); PedPartition* part; if (!opt_machine_mode) { StrList *row1; if (ped_unit_get_default() == PED_UNIT_CHS) { row1 = str_list_create (_("Number"), _("Start"), _("End"), NULL); } else { row1 = str_list_create (_("Number"), _("Start"), _("End"), _("Size"), NULL); } if (has_extended) str_list_append (row1, _("Type")); str_list_append (row1, _("File system")); if (has_name) str_list_append (row1, _("Name")); str_list_append (row1, _("Flags")); table = table_new (str_list_length(row1)); table_add_row_from_strlist (table, row1); for (part = ped_disk_next_partition (disk, NULL); part; part = ped_disk_next_partition (disk, part)) { if ((!has_free_arg && !ped_partition_is_active(part)) || part->type & PED_PARTITION_METADATA) continue; tmp = ped_malloc (4); if (part->num >= 0) sprintf (tmp, "%2d ", part->num); else sprintf (tmp, "%2s ", ""); StrList *row = str_list_create (tmp, NULL); start = ped_unit_format (*dev, part->geom.start); end = ped_unit_format_byte ( *dev, (part->geom.end + 1) * (*dev)->sector_size - 1); size = ped_unit_format (*dev, part->geom.length); if (ped_unit_get_default() == PED_UNIT_CHS) { str_list_append (row, start); str_list_append (row, end); } else { str_list_append (row, start); str_list_append (row, end); str_list_append (row, size); } if (!(part->type & PED_PARTITION_FREESPACE)) { if (has_extended) { name = ped_partition_type_get_name (part->type); str_list_append (row, name); } str_list_append (row, part->fs_type ? part->fs_type->name : ""); if (has_name) { name = ped_partition_get_name (part); str_list_append (row, name); } char *flags = partition_print_flags (part); str_list_append (row, flags); free (flags); } else { if (has_extended) str_list_append (row, ""); str_list_append (row, _("Free Space")); if (has_name) str_list_append (row, ""); str_list_append (row, ""); } //PED_ASSERT (row.cols == caption.cols) table_add_row_from_strlist (table, row); str_list_destroy (row); free (tmp); free (start); free (end); free (size); } table_rendered = table_render (table); #ifdef ENABLE_NLS printf("%ls\n", table_rendered); #else printf("%s\n", table_rendered); #endif free (table_rendered); table_destroy (table); str_list_destroy (row1); } else { for (part = ped_disk_next_partition (disk, NULL); part; part = ped_disk_next_partition (disk, part)) { if ((!has_free_arg && !ped_partition_is_active(part)) || part->type & PED_PARTITION_METADATA) continue; if (part->num >= 0) printf ("%d:", part->num); else fputs ("1:", stdout); char *s = ped_unit_format (*dev, part->geom.start); printf ("%s:", s); free (s); s = ped_unit_format_byte (*dev, (part->geom.end + 1) * (*dev)->sector_size - 1); printf ("%s:", s); free (s); if (ped_unit_get_default() != PED_UNIT_CHS) { s = ped_unit_format (*dev, part->geom.length); printf ("%s:", s); free (s); } if (!(part->type & PED_PARTITION_FREESPACE)) { if (part->fs_type) printf ("%s:", part->fs_type->name); else putchar (':'); if (has_name) printf ("%s:", _(ped_partition_get_name (part))); else putchar (':'); char *flags = partition_print_flags (part); printf ("%s;\n", flags); free (flags); } else { puts ("free;"); } } } ped_disk_destroy (disk); return 1; error_destroy_disk: ped_disk_destroy (disk); error: return 0; } static int _print_list () { PedDevice *current_dev = NULL; ped_device_probe_all(); while ((current_dev = ped_device_get_next(current_dev))) { do_print (¤t_dev); putchar ('\n'); } return 1; } static int do_quit (PedDevice** dev) { _done (*dev); exit (EXIT_SUCCESS); } static PedPartitionType _disk_get_part_type_for_sector (PedDisk* disk, PedSector sector) { PedPartition* extended; extended = ped_disk_extended_partition (disk); if (!extended || !ped_geometry_test_sector_inside (&extended->geom, sector)) return 0; return PED_PARTITION_LOGICAL; } /* This function checks if "part" contains a file system, and returs * 0 if either no file system was found, or the user declined to add it. * 1 if a file system was found, and the user chose to add it. * -1 if the user chose to cancel the entire search. */ static int _rescue_add_partition (PedPartition* part) { const PedFileSystemType* fs_type; PedGeometry* probed; PedExceptionOption ex_opt; PedConstraint* constraint; char* found_start; char* found_end; fs_type = ped_file_system_probe (&part->geom); if (!fs_type) return 0; probed = ped_file_system_probe_specific (fs_type, &part->geom); if (!probed) return 0; if (!ped_geometry_test_inside (&part->geom, probed)) { ped_geometry_destroy (probed); return 0; } constraint = ped_constraint_exact (probed); if (!ped_disk_set_partition_geom (part->disk, part, constraint, probed->start, probed->end)) { ped_constraint_destroy (constraint); return 0; } ped_constraint_destroy (constraint); found_start = ped_unit_format (probed->dev, probed->start); found_end = ped_unit_format (probed->dev, probed->end); ex_opt = ped_exception_throw ( PED_EXCEPTION_INFORMATION, PED_EXCEPTION_YES_NO_CANCEL, _("A %s %s partition was found at %s -> %s. " "Do you want to add it to the partition table?"), fs_type->name, ped_partition_type_get_name (part->type), found_start, found_end); ped_geometry_destroy (probed); free (found_start); free (found_end); switch (ex_opt) { case PED_EXCEPTION_CANCEL: return -1; case PED_EXCEPTION_NO: return 0; default: break; } ped_partition_set_system (part, fs_type); ped_disk_commit (part->disk); return 1; } /* hack: we only iterate through the start, since most (all) fs's have their * superblocks at the start. We'll need to change this if we generalize * for RAID, or something... */ static int _rescue_pass (PedDisk* disk, PedGeometry* start_range, PedGeometry* end_range) { PedSector start; PedGeometry start_geom_exact; PedGeometry entire_dev; PedConstraint constraint; PedPartition* part; PedPartitionType part_type; part_type = _disk_get_part_type_for_sector ( disk, (start_range->start + end_range->end) / 2); ped_geometry_init (&entire_dev, disk->dev, 0, disk->dev->length); ped_timer_reset (g_timer); ped_timer_set_state_name (g_timer, _("searching for file systems")); for (start = start_range->start; start <= start_range->end; start++) { ped_timer_update (g_timer, 1.0 * (start - start_range->start) / start_range->length); ped_geometry_init (&start_geom_exact, disk->dev, start, 1); ped_constraint_init ( &constraint, ped_alignment_any, ped_alignment_any, &start_geom_exact, &entire_dev, 1, disk->dev->length); part = ped_partition_new (disk, part_type, NULL, start, end_range->end); if (!part) { ped_constraint_done (&constraint); continue; } ped_exception_fetch_all (); if (ped_disk_add_partition (disk, part, &constraint)) { ped_exception_leave_all (); switch (_rescue_add_partition (part)) { case 1: ped_constraint_done (&constraint); return 1; case 0: ped_disk_remove_partition (disk, part); break; case -1: goto error_remove_partition; } } else { ped_exception_leave_all (); } ped_partition_destroy (part); ped_constraint_done (&constraint); } ped_timer_update (g_timer, 1.0); return 1; error_remove_partition: ped_disk_remove_partition (disk, part); ped_partition_destroy (part); ped_constraint_done (&constraint); return 0; } static int do_rescue (PedDevice** dev) { PedDisk* disk; PedSector start = 0, end = 0; PedSector fuzz; PedGeometry probe_start_region; PedGeometry probe_end_region; disk = ped_disk_new (*dev); if (!disk) goto error; if (!command_line_get_sector (_("Start?"), *dev, &start, NULL)) goto error_destroy_disk; if (!command_line_get_sector (_("End?"), *dev, &end, NULL)) goto error_destroy_disk; fuzz = PED_MAX (PED_MIN ((end - start) / 10, MEGABYTE_SECTORS(*dev)), MEGABYTE_SECTORS(*dev) * 16); ped_geometry_init (&probe_start_region, *dev, PED_MAX(start - fuzz, 0), PED_MIN(2 * fuzz, (*dev)->length - (start - fuzz))); ped_geometry_init (&probe_end_region, *dev, PED_MAX(end - fuzz, 0), PED_MIN(2 * fuzz, (*dev)->length - (end - fuzz))); if (!_rescue_pass (disk, &probe_start_region, &probe_end_region)) goto error_destroy_disk; ped_disk_destroy (disk); if ((*dev)->type != PED_DEVICE_FILE) disk_is_modified = 1; return 1; error_destroy_disk: ped_disk_destroy (disk); error: return 0; } static int do_resize (PedDevice** dev) { issue_fs_op_warning ("resize"); PedDisk *disk; PedPartition *part = NULL; PedFileSystem *fs; PedConstraint *constraint; PedSector start, end; PedGeometry *range_start = NULL, *range_end = NULL; PedGeometry new_geom; disk = ped_disk_new (*dev); if (!disk) goto error; if (ped_disk_is_flag_available(disk, PED_DISK_CYLINDER_ALIGNMENT)) if (!ped_disk_set_flag(disk, PED_DISK_CYLINDER_ALIGNMENT, alignment == ALIGNMENT_CYLINDER)) goto error_destroy_disk; if (!command_line_get_partition (_("Partition number?"), disk, &part)) goto error_destroy_disk; if (part->type != PED_PARTITION_EXTENDED) { if (!_partition_warn_busy (part)) goto error_destroy_disk; } start = part->geom.start; end = part->geom.end; if (!command_line_get_sector (_("Start?"), *dev, &start, &range_start)) goto error_destroy_disk; if (!command_line_get_sector (_("End?"), *dev, &end, &range_end)) goto error_destroy_disk; if (!ped_geometry_init (&new_geom, *dev, start, end - start + 1)) goto error_destroy_disk; snap_to_boundaries (&new_geom, &part->geom, disk, range_start, range_end); if (part->type == PED_PARTITION_EXTENDED) { constraint = constraint_from_start_end (*dev, range_start, range_end); if (!ped_disk_set_partition_geom (disk, part, constraint, new_geom.start, new_geom.end)) goto error_destroy_constraint; ped_partition_set_system (part, NULL); } else { fs = ped_file_system_open (&part->geom); if (!fs) goto error_destroy_disk; constraint = constraint_intersect_and_destroy ( ped_file_system_get_resize_constraint (fs), constraint_from_start_end ( *dev, range_start, range_end)); if (!ped_disk_set_partition_geom (disk, part, constraint, new_geom.start, new_geom.end)) goto error_close_fs; if (!ped_file_system_resize (fs, &part->geom, g_timer)) goto error_close_fs; /* may have changed... eg fat16 -> fat32 */ ped_partition_set_system (part, fs->type); ped_file_system_close (fs); } ped_disk_commit (disk); ped_constraint_destroy (constraint); ped_disk_destroy (disk); if (range_start != NULL) ped_geometry_destroy (range_start); if (range_end != NULL) ped_geometry_destroy (range_end); if ((*dev)->type != PED_DEVICE_FILE) disk_is_modified = 1; return 1; error_close_fs: ped_file_system_close (fs); error_destroy_constraint: ped_constraint_destroy (constraint); error_destroy_disk: ped_disk_destroy (disk); error: if (range_start != NULL) ped_geometry_destroy (range_start); if (range_end != NULL) ped_geometry_destroy (range_end); return 0; } static int do_rm (PedDevice** dev) { PedDisk* disk; PedPartition* part = NULL; disk = ped_disk_new (*dev); if (!disk) goto error; if (!command_line_get_partition (_("Partition number?"), disk, &part)) goto error_destroy_disk; if (!_partition_warn_busy (part)) goto error_destroy_disk; ped_disk_delete_partition (disk, part); ped_disk_commit (disk); ped_disk_destroy (disk); if ((*dev)->type != PED_DEVICE_FILE) disk_is_modified = 1; return 1; error_destroy_disk: ped_disk_destroy (disk); error: return 0; } static int do_select (PedDevice** dev) { PedDevice* new_dev = *dev; if (!command_line_get_device (_("New device?"), &new_dev)) return 0; if (!ped_device_open (new_dev)) return 0; ped_device_close (*dev); *dev = new_dev; print_using_dev (*dev); return 1; } /* Return true if partition PART is consistent with DISK's selected offset and alignment requirements. Also return true if there is insufficient kernel support to determine DISK's alignment requirements. Otherwise, return false. A_TYPE selects whether to check for minimal or optimal alignment requirements. */ static bool partition_align_check (PedDisk const *disk, PedPartition const *part, enum AlignmentType a_type) { PED_ASSERT (part->disk == disk, return false); PedDevice const *dev = disk->dev; PedAlignment *pa = (a_type == PA_MINIMUM ? ped_device_get_minimum_alignment (dev) : ped_device_get_optimum_alignment (dev)); if (pa == NULL) return true; PED_ASSERT (pa->grain_size != 0, return false); bool ok = (part->geom.start % pa->grain_size == pa->offset); free (pa); return ok; } static int do_align_check (PedDevice **dev) { PedDisk *disk = ped_disk_new (*dev); if (!disk) goto error; enum AlignmentType align_type = PA_OPTIMUM; PedPartition *part = NULL; if (!command_line_get_align_type (_("alignment type(min/opt)"), &align_type)) goto error_destroy_disk; if (!command_line_get_partition (_("Partition number?"), disk, &part)) goto error_destroy_disk; bool aligned = partition_align_check (disk, part, align_type); if (!opt_script_mode) printf(aligned ? _("%d aligned\n") : _("%d not aligned\n"), part->num); ped_disk_destroy (disk); if (opt_script_mode) return aligned ? 1 : 0; /* Always return 1 in interactive mode, to be consistent with the other modes. */ return 1; error_destroy_disk: ped_disk_destroy (disk); error: return 0; } static int do_set (PedDevice** dev) { PedDisk* disk; PedPartition* part = NULL; PedPartitionFlag flag; int state; disk = ped_disk_new (*dev); if (!disk) goto error; if (!command_line_get_partition (_("Partition number?"), disk, &part)) goto error_destroy_disk; if (!command_line_get_part_flag (_("Flag to Invert?"), part, &flag)) goto error_destroy_disk; state = (ped_partition_get_flag (part, flag) == 0 ? 1 : 0); if (!is_toggle_mode) { if (!command_line_get_state (_("New state?"), &state)) goto error_destroy_disk; } if (!ped_partition_set_flag (part, flag, state)) goto error_destroy_disk; if (!ped_disk_commit (disk)) goto error_destroy_disk; ped_disk_destroy (disk); if ((*dev)->type != PED_DEVICE_FILE) disk_is_modified = 1; return 1; error_destroy_disk: ped_disk_destroy (disk); error: return 0; } static int do_toggle (PedDevice **dev) { int result; is_toggle_mode = 1; result = do_set (dev); is_toggle_mode = 0; return result; } static int do_unit (PedDevice** dev) { PedUnit unit = ped_unit_get_default (); if (!command_line_get_unit (_("Unit?"), &unit)) return 0; ped_unit_set_default (unit); return 1; } static int do_version () { printf ("\n%s\n%s", prog_name, _(copyright_msg)); return 1; } static void _init_messages () { StrList* list; int first; PedFileSystemType* fs_type; PedFileSystemAlias* fs_alias; PedDiskType* disk_type; PedPartitionFlag part_flag; PedUnit unit; /* flags */ first = 1; list = str_list_create (_(flag_msg_start), NULL); for (part_flag = ped_partition_flag_next (0); part_flag; part_flag = ped_partition_flag_next (part_flag)) { if (first) first = 0; else str_list_append (list, ", "); str_list_append (list, _(ped_partition_flag_get_name (part_flag))); } str_list_append (list, "\n"); flag_msg = str_list_convert (list); str_list_destroy (list); /* units */ first = 1; list = str_list_create (_(unit_msg_start), NULL); for (unit = PED_UNIT_FIRST; unit <= PED_UNIT_LAST; unit++) { if (first) first = 0; else str_list_append (list, ", "); str_list_append (list, ped_unit_get_name (unit)); } str_list_append (list, "\n"); unit_msg = str_list_convert (list); str_list_destroy (list); /* disk type */ list = str_list_create (_(label_type_msg_start), NULL); first = 1; for (disk_type = ped_disk_type_get_next (NULL); disk_type; disk_type = ped_disk_type_get_next (disk_type)) { if (disk_type->ops->write == NULL) continue; if (first) first = 0; else str_list_append (list, ", "); str_list_append (list, disk_type->name); } str_list_append (list, "\n"); label_type_msg = str_list_convert (list); str_list_destroy (list); /* mkfs - file system types and aliases */ list = str_list_create (_(fs_type_msg_start), NULL); first = 1; for (fs_type = ped_file_system_type_get_next (NULL); fs_type; fs_type = ped_file_system_type_get_next (fs_type)) { if (fs_type->ops->create == NULL) continue; if (first) first = 0; else str_list_append (list, ", "); str_list_append (list, fs_type->name); } for (fs_alias = ped_file_system_alias_get_next (NULL); fs_alias; fs_alias = ped_file_system_alias_get_next (fs_alias)) { if (fs_alias->fs_type->ops->create == NULL) continue; if (first) first = 0; else str_list_append (list, ", "); str_list_append (list, fs_alias->alias); } str_list_append (list, "\n"); mkfs_fs_type_msg = str_list_convert (list); str_list_destroy (list); /* mkpart - file system types and aliases */ list = str_list_create (_(fs_type_msg_start), NULL); first = 1; for (fs_type = ped_file_system_type_get_next (NULL); fs_type; fs_type = ped_file_system_type_get_next (fs_type)) { if (first) first = 0; else str_list_append (list, ", "); str_list_append (list, fs_type->name); } for (fs_alias = ped_file_system_alias_get_next (NULL); fs_alias; fs_alias = ped_file_system_alias_get_next (fs_alias)) { if (first) first = 0; else str_list_append (list, ", "); str_list_append (list, fs_alias->alias); } str_list_append (list, "\n"); mkpart_fs_type_msg = str_list_convert (list); str_list_destroy (list); /* resize - file system types and aliases */ list = str_list_create (_(resize_msg_start), NULL); first = 1; for (fs_type = ped_file_system_type_get_next (NULL); fs_type; fs_type = ped_file_system_type_get_next (fs_type)) { if (fs_type->ops->resize == NULL) continue; if (first) first = 0; else str_list_append (list, ", "); str_list_append (list, fs_type->name); } for (fs_alias = ped_file_system_alias_get_next (NULL); fs_alias; fs_alias = ped_file_system_alias_get_next (fs_alias)) { if (fs_alias->fs_type->ops->resize == NULL) continue; if (first) first = 0; else str_list_append (list, ", "); str_list_append (list, fs_alias->alias); } str_list_append (list, "\n"); resize_fs_type_msg = str_list_convert (list); str_list_destroy (list); } static void _done_messages () { free (flag_msg); free (unit_msg); free (mkfs_fs_type_msg); free (mkpart_fs_type_msg); free (resize_fs_type_msg); free (label_type_msg); } static void _init_commands () { command_register (commands, command_create ( str_list_create_unique ("align-check", _("align-check"), NULL), do_align_check, str_list_create ( _("align-check TYPE N" " " "check partition N for" " TYPE(min|opt) alignment"), NULL), str_list_create (_(number_msg), _(min_or_opt_msg), NULL), 1)); command_register (commands, command_create ( str_list_create_unique ("check", _("check"), NULL), do_check, str_list_create ( _("check NUMBER do a simple check on the file " "system"), NULL), str_list_create (_(number_msg), NULL), 1)); command_register (commands, command_create ( str_list_create_unique ("cp", _("cp"), NULL), do_cp, str_list_create ( _("cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another " "partition"), NULL), str_list_create (_(number_msg), _(device_msg), NULL), 1)); command_register (commands, command_create ( str_list_create_unique ("help", _("help"), NULL), do_help, str_list_create ( _("help [COMMAND] print general help, or help " "on COMMAND"), NULL), NULL, 1)); command_register (commands, command_create ( str_list_create_unique ("mklabel", _("mklabel"), "mktable", _("mktable"), NULL), do_mklabel, str_list_create ( _("mklabel,mktable LABEL-TYPE create a new disklabel " "(partition table)"), NULL), str_list_create (label_type_msg, NULL), 1)); command_register (commands, command_create ( str_list_create_unique ("mkfs", _("mkfs"), NULL), do_mkfs, str_list_create ( _("mkfs NUMBER FS-TYPE make a FS-TYPE file " "system on partition NUMBER"), NULL), str_list_create (_(number_msg), _(mkfs_fs_type_msg), NULL), 1)); command_register (commands, command_create ( str_list_create_unique ("mkpart", _("mkpart"), NULL), do_mkpart, str_list_create ( _("mkpart PART-TYPE [FS-TYPE] START END make a partition"), NULL), str_list_create (_(part_type_msg), _(mkpart_fs_type_msg), _(start_end_msg), "\n", _("'mkpart' makes a partition without creating a new file system on the " "partition. FS-TYPE may be specified to set an appropriate partition ID.\n"), NULL), 1)); command_register (commands, command_create ( str_list_create_unique ("mkpartfs", _("mkpartfs"), NULL), do_mkpartfs, str_list_create ( _("mkpartfs PART-TYPE FS-TYPE START END make a partition with a " "file system"), NULL), str_list_create (_(part_type_msg), _(start_end_msg), NULL), 1)); command_register (commands, command_create ( str_list_create_unique ("move", _("move"), NULL), do_move, str_list_create ( _("move NUMBER START END move partition NUMBER"), NULL), str_list_create (_(number_msg), _(start_end_msg), NULL), 1)); command_register (commands, command_create ( str_list_create_unique ("name", _("name"), NULL), do_name, str_list_create ( _("name NUMBER NAME name partition NUMBER as NAME"), NULL), str_list_create (_(number_msg), _(name_msg), NULL), 1)); command_register (commands, command_create ( str_list_create_unique ("print", _("print"), NULL), do_print, str_list_create ( _("print [devices|free|list,all|NUMBER] display the partition table, " "available devices, free space, all found partitions, or a particular " "partition"), NULL), str_list_create ( _("Without arguments, 'print' displays the entire partition table. However " "with the following arguments it performs various other actions.\n"), _(" devices : display all active block devices\n"), _(" free : display information about free unpartitioned space on the " "current block device\n"), _(" list, all : display the partition tables of all active block devices\n"), _(" NUMBER : display more detailed information about this particular " "partition\n"), NULL), 1)); command_register (commands, command_create ( str_list_create_unique ("quit", _("quit"), NULL), do_quit, str_list_create ( _("quit exit program"), NULL), NULL, 1)); command_register (commands, command_create ( str_list_create_unique ("rescue", _("rescue"), NULL), do_rescue, str_list_create ( _("rescue START END rescue a lost partition near " "START and END"), NULL), str_list_create (_(start_end_msg), NULL), 1)); command_register (commands, command_create ( str_list_create_unique ("resize", _("resize"), NULL), do_resize, str_list_create ( _("resize NUMBER START END resize partition NUMBER and " "its file system"), NULL), str_list_create (_(number_msg), _(start_end_msg), _(resize_fs_type_msg), NULL), 1)); command_register (commands, command_create ( str_list_create_unique ("rm", _("rm"), NULL), do_rm, str_list_create ( _("rm NUMBER delete partition NUMBER"), NULL), str_list_create (_(number_msg), NULL), 1)); command_register (commands, command_create ( str_list_create_unique ("select", _("select"), NULL), do_select, str_list_create ( _("select DEVICE choose the device to edit"), NULL), str_list_create (_(device_msg), NULL), 1)); command_register (commands, command_create ( str_list_create_unique ("set", _("set"), NULL), do_set, str_list_create ( _("set NUMBER FLAG STATE change the FLAG on partition " "NUMBER"), NULL), str_list_create (_(number_msg), flag_msg, _(state_msg), NULL), 1)); command_register (commands, command_create ( str_list_create_unique ("toggle", _("toggle"), NULL), do_toggle, str_list_create ( _("toggle [NUMBER [FLAG]] toggle the state of FLAG on " "partition NUMBER"), NULL), str_list_create (_(number_msg), flag_msg, NULL), 1)); command_register (commands, command_create ( str_list_create_unique ("unit", _("unit"), NULL), do_unit, str_list_create ( _("unit UNIT set the default unit to UNIT"), NULL), str_list_create (unit_msg, NULL), 1)); command_register (commands, command_create ( str_list_create_unique ("version", _("version"), NULL), do_version, str_list_create ( _("version display the version number " "and copyright information of GNU Parted"), NULL), str_list_create ( _("'version' displays copyright and version information corresponding to this " "copy of GNU Parted\n"), NULL), 1)); } static void _done_commands () { Command** walk; for (walk = commands; *walk; walk++) { command_destroy (*walk); *walk = NULL; } } static void _init_i18n () { /* intialize i18n */ #ifdef ENABLE_NLS setlocale(LC_ALL, ""); bindtextdomain(PACKAGE, LOCALEDIR); textdomain(PACKAGE); #endif /* ENABLE_NLS */ } void _version () { version_etc (stdout, PROGRAM_NAME, PACKAGE_NAME, Version, AUTHORS, (char *) NULL); } static int _parse_options (int* argc_ptr, char*** argv_ptr) { int opt, help = 0, list = 0, version = 0, wrong = 0; while (1) { opt = getopt_long (*argc_ptr, *argv_ptr, "hlmsva:", options, NULL); if (opt == -1) break; switch (opt) { case 'h': help = 1; break; case 'l': list = 1; break; case 'm': opt_machine_mode = 1; break; case 's': opt_script_mode = 1; break; case 'v': version = 1; break; case 'a': alignment = XARGMATCH ("--align", optarg, align_args, align_types); break; case PRETEND_INPUT_TTY: pretend_input_tty = 1; break; default: wrong = 1; break; } } if (wrong == 1) { fprintf (stderr, _("Usage: %s [-hlmsv] [-a] [DEVICE [COMMAND [PARAMETERS]]...]\n"), program_name); return 0; } if (version == 1) { _version (); exit (EXIT_SUCCESS); } if (help == 1) { help_msg (); exit (EXIT_SUCCESS); } if (list == 1) { _print_list (); exit (EXIT_SUCCESS); } *argc_ptr -= optind; *argv_ptr += optind; return 1; } static PedDevice* _choose_device (int* argc_ptr, char*** argv_ptr) { PedDevice* dev; /* specified on comand line? */ if (*argc_ptr) { dev = ped_device_get ((*argv_ptr) [0]); if (!dev) return NULL; (*argc_ptr)--; (*argv_ptr)++; } else { retry: ped_device_probe_all (); dev = ped_device_get_next (NULL); if (!dev) { if (ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_RETRY_CANCEL, _("No device found")) == PED_EXCEPTION_RETRY) goto retry; else return NULL; } } if (!ped_device_open (dev)) return NULL; return dev; } static PedDevice* _init (int* argc_ptr, char*** argv_ptr) { PedDevice* dev; #ifdef ENABLE_MTRACE mtrace(); #endif _init_i18n (); if (!init_ui ()) goto error; _init_messages (); _init_commands (); if (!_parse_options (argc_ptr, argv_ptr)) goto error_done_commands; if (!opt_script_mode) if (init_readline ()) goto error_done_commands; #ifdef HAVE_GETUID if (getuid() != 0 && !opt_script_mode) { puts (_("WARNING: You are not superuser. Watch out for " "permissions.")); } #endif dev = _choose_device (argc_ptr, argv_ptr); if (!dev) goto error_done_commands; g_timer = ped_timer_new (_timer_handler, &timer_context); if (!g_timer) goto error_done_commands; timer_context.last_update = 0; return dev; error_done_commands: _done_commands (); _done_messages (); done_ui (); error: return NULL; } static void _done (PedDevice* dev) { if (dev->boot_dirty && dev->type != PED_DEVICE_FILE) { ped_exception_throw ( PED_EXCEPTION_WARNING, PED_EXCEPTION_OK, _("You should reinstall your boot loader before " "rebooting. Read section 4 of the Parted User " "documentation for more information.")); } if (!opt_script_mode && !opt_machine_mode && disk_is_modified) { ped_exception_throw ( PED_EXCEPTION_INFORMATION, PED_EXCEPTION_OK, _("You may need to update /etc/fstab.\n")); } ped_device_close (dev); ped_timer_destroy (g_timer); _done_commands (); _done_messages (); done_ui(); } int main (int argc, char** argv) { PedDevice* dev; int status; set_program_name (argv[0]); atexit (close_stdout); dev = _init (&argc, &argv); if (!dev) return 1; if (argc || opt_script_mode) status = non_interactive_mode (&dev, commands, argc, argv); else status = interactive_mode (&dev, commands); _done (dev); return !status; } parted-2.3/parted/ui.h0000644000000000000000000000637611333731662011612 00000000000000/* parted - a frontend to libparted Copyright (C) 1999-2001, 2007-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef UI_H_INCLUDED #define UI_H_INCLUDED #include "strlist.h" enum AlignmentType { PA_MINIMUM = 1, PA_OPTIMUM }; extern const char *prog_name; extern int init_ui (); extern int init_readline (); extern int non_interactive_mode (PedDevice** dev, Command* cmd_list[], int argc, char* argv[]); extern int interactive_mode (PedDevice** dev, Command* cmd_list[]); extern void done_ui (); extern int screen_width (); extern void wipe_line (); extern void command_line_push_word (const char* word); extern char* command_line_pop_word (); extern char* command_line_peek_word (); extern void command_line_flush (); extern int command_line_get_word_count (); extern void command_line_prompt_words (const char* prompt, const char* def, const StrList* possibilities, int multi_word); extern char* command_line_get_word (const char* prompt, const char* def, const StrList* possibilities, int multi_word); extern int command_line_get_integer (const char* prompt, int* value); extern int command_line_get_sector (const char* prompt, PedDevice* dev, PedSector* value, PedGeometry** range); extern int command_line_get_state (const char* prompt, int* value); extern int command_line_get_device (const char* prompt, PedDevice** value); extern int command_line_get_disk (const char* prompt, PedDisk** value) __attribute__((__nonnull__(2))); extern int command_line_get_partition (const char* prompt, PedDisk* disk, PedPartition** value); extern int command_line_get_fs_type (const char* prompt, const PedFileSystemType*(* value)); extern int command_line_get_disk_type (const char* prompt, const PedDiskType*(* value)); extern int command_line_get_part_flag (const char* prompt, const PedPartition* part, PedPartitionFlag* flag); extern int command_line_get_part_type (const char* prompt, const PedDisk* disk, PedPartitionType* type); extern PedExceptionOption command_line_get_ex_opt (const char* prompt, PedExceptionOption options); extern int command_line_get_unit (const char* prompt, PedUnit* unit); extern int command_line_get_align_type (const char *prompt, enum AlignmentType *align_type); extern int command_line_is_integer (); extern int command_line_is_sector (); extern void help_msg (); extern void print_using_dev (PedDevice* dev); /* in parted.c */ extern int opt_script_mode; extern int pretend_input_tty; extern void print_options_help (); extern void print_commands_help (); #endif /* UI_H_INCLUDED */ parted-2.3/parted/Makefile.am0000644000000000000000000000237711370314006013043 00000000000000BUILT_SOURCES = sbin_PROGRAMS = parted AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) partedincludedir = -I$(top_srcdir)/lib -I$(top_srcdir)/include parted_SOURCES = command.c \ command.h \ parted.c \ strlist.c \ strlist.h \ ui.c \ ui.h \ table.c \ table.h noinst_LIBRARIES = libver.a nodist_libver_a_SOURCES = version.c version.h BUILT_SOURCES += version.c version.c: Makefile $(AM_V_GEN)rm -f $@ $(AM_V_at)printf '#include \n' > $@t $(AM_V_at)printf 'char const *Version = "$(PACKAGE_VERSION)";\n' >> $@t $(AM_V_at)chmod a-w $@t $(AM_V_at)mv $@t $@ BUILT_SOURCES += version.h version.h: Makefile $(AM_V_GEN)rm -f $@ $(AM_V_at)printf 'extern char const *Version;\n' > $@t $(AM_V_at)chmod a-w $@t $(AM_V_at)mv $@t $@ DISTCLEANFILES = version.c version.h MAINTAINERCLEANFILES = $(BUILT_SOURCES) #parted_CFLAGS = -DBUILDINFO='"\"'$(BUILDINFO)'\""' parted_CFLAGS = -DBUILDINFO= parted_LDADD = \ libver.a \ $(top_builddir)/libparted/libparted.la \ $(INTLLIBS) $(LIBS) \ $(PARTED_LIBS) parted_LDFLAGS = $(PARTEDLDFLAGS) # Tell the linker to omit references to unused shared libraries. parted_LDFLAGS += $(IGNORE_UNUSED_LIBRARIES_CFLAGS) INCLUDES = $(partedincludedir) $(INTLINCS) MAINTAINERCLEANFILES += Makefile.in parted-2.3/parted/strlist.c0000644000000000000000000002514411377171067012673 00000000000000/* parted - a frontend to libparted Copyright (C) 1999-2001, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include #include #include #include #include #include #include "xalloc.h" #ifdef ENABLE_NLS #undef __USE_GNU #define __USE_GNU #include #include #endif /* !ENABLE_NLS */ #include "strlist.h" #define MIN(a,b) ( (anext = NULL; return list; } void str_list_destroy (StrList* list) { if (list) { str_list_destroy (list->next); str_list_destroy_node (list); } } void str_list_destroy_node (StrList* list) { void *p = (char *) (list->str); /* discard const */ free (p); free (list); } StrList* str_list_duplicate_node (const StrList* node) { StrList* result = str_list_alloc (); result->str = wchar_strdup (node->str); return result; } StrList* str_list_duplicate (const StrList* list) { if (list) return str_list_join (str_list_duplicate_node (list), str_list_duplicate (list->next)); else return NULL; } StrList* str_list_join (StrList* a, StrList* b) { StrList* walk; for (walk = a; walk && walk->next; walk = walk->next); if (walk) { walk->next = b; return a; } else { return b; } } static StrList* _str_list_append (StrList* list, const wchar_t* str) { StrList* walk; if (list) { for (walk = list; walk->next; walk = walk->next); walk->next = str_list_alloc (); walk = walk->next; } else { walk = list = str_list_alloc (); } walk->str = str; return list; } StrList* str_list_append (StrList* list, const char* str) { return _str_list_append (list, gettext_to_wchar (str)); } StrList* str_list_append_unique (StrList* list, const char* str) { StrList* walk; wchar_t* new_str = gettext_to_wchar (str); for (walk=list; walk; walk=walk->next) { if (walk->str) { if (wchar_strcasecmp (new_str, walk->str) == 0) { free (new_str); return list; } } } return _str_list_append (list, new_str); } StrList* str_list_insert (StrList* list, const char* str) { return str_list_join (str_list_create (str, NULL), list); } StrList* str_list_create (const char* first, ...) { va_list args; char* str; StrList* list; list = str_list_append (NULL, first); if (first) { va_start (args, first); while ( (str = va_arg (args, char*)) ) str_list_append (list, str); va_end (args); } return list; } StrList* str_list_create_unique (const char* first, ...) { va_list args; char* str; StrList* list; list = str_list_append (NULL, first); if (first) { va_start (args, first); while ( (str = va_arg (args, char*)) ) str_list_append_unique (list, str); va_end (args); } return list; } char* str_list_convert_node (const StrList* list) { return wchar_to_str (list->str, 0); } char* str_list_convert (const StrList* list) { const StrList* walk; int pos = 0; int length = 1; char* str = xstrdup (""); for (walk = list; walk; walk = walk->next) { if (walk->str) { char* tmp = wchar_to_str (walk->str, 0); length += strlen (tmp); str = realloc (str, length); strcpy (str + pos, tmp); pos = length - 1; free (tmp); } } return str; } void str_list_print (const StrList* list) { const StrList* walk; for (walk=list; walk; walk=walk->next) { if (walk->str) print_wchar (walk->str, 0); } } static int str_search (const wchar_t* str, int n, wchar_t c) { int i; for (i=0; i 10, return); line_left = line_length - offset; for (walk=list; walk; walk=walk->next) { if (!walk->str) continue; str = walk->str; str_len = wchar_strlen (str); while (line_left < str_len || wchar_strchr (str, '\n')) { line_break = 0; cut_left = MIN (line_left - 1, str_len - 1); /* we can have a space "over", but not a comma */ if (cut_left < str_len && is_space (str [cut_left + 1])) cut_left++; while (cut_left && !is_break_point (str [cut_left])) cut_left--; while (cut_left && is_space (str [cut_left])) cut_left--; /* str [cut_left] is either the end of a word, or a * Japanese character, or the start of a blank line. */ search_result = str_search (str, cut_left + 1, '\n'); if (search_result != -1) { cut_left = search_result - 1; line_break = 1; } for (cut_right = cut_left + (line_break ? 2 : 1); cut_right < str_len && is_space (str [cut_right]); cut_right++); if (cut_left > 0) print_wchar (str, cut_left + 1); str += cut_right; str_len -= cut_right; line_left = line_length - indent; if (walk->next || *str) printf ("\n%*s", indent, ""); else if (line_break) putchar ('\n'); } print_wchar (str, 0); line_left -= wchar_strlen (str); } } static int _str_list_match_node (const StrList* list, const wchar_t* str) { if (wchar_strcasecmp (list->str, str) == 0) return 2; if (wchar_strncasecmp (list->str, str, wchar_strlen (str)) == 0) return 1; return 0; } int str_list_match_node (const StrList* list, const char* str) { wchar_t* wc_str = gettext_to_wchar (str); /* FIXME */ int status; status = _str_list_match_node (list, wc_str); free (wc_str); return status; } /* returns: 2 for full match 1 for partial match 0 for no match */ int str_list_match_any (const StrList* list, const char* str) { const StrList* walk; int best_status = 0; wchar_t* wc_str = gettext_to_wchar (str); for (walk = list; walk; walk = walk->next) { int this_status = _str_list_match_node (walk, wc_str); if (this_status > best_status) best_status = this_status; } free (wc_str); return best_status; } StrList* str_list_match (const StrList* list, const char* str) { const StrList* walk; const StrList* partial_match = NULL; int ambiguous = 0; wchar_t* wc_str = gettext_to_wchar (str); for (walk = list; walk; walk = walk->next) { switch (_str_list_match_node (walk, wc_str)) { case 2: free (wc_str); return (StrList*) walk; case 1: if (partial_match) ambiguous = 1; partial_match = walk; } } free (wc_str); return ambiguous ? NULL : (StrList*) partial_match; } int str_list_length (const StrList* list) { int length = 0; const StrList* walk; for (walk = list; walk; walk = walk->next) length++; return length; } parted-2.3/parted/ui.c0000644000000000000000000013011411370314006011557 00000000000000/* parted - a frontend to libparted Copyright (C) 1999-2002, 2006-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include #include #include #include #include #include #include #include #include "command.h" #include "strlist.h" #include "ui.h" #include "error.h" #define N_(String) String #if ENABLE_NLS # include # include # define _(String) dgettext (PACKAGE, String) #else # define _(String) (String) #endif /* ENABLE_NLS */ #ifdef HAVE_LIBREADLINE #ifdef HAVE_TERMCAP_H #include #else extern int tgetnum (char* key); #endif #include #include #ifndef HAVE_RL_COMPLETION_MATCHES #define rl_completion_matches completion_matches #endif #ifndef rl_compentry_func_t #define rl_compentry_func_t void #endif #endif /* HAVE_LIBREADLINE */ #ifndef SA_SIGINFO # ifndef HAVE_SIGACTION struct sigaction { }; static inline int sigaction (int signum, const struct* sigaction, struct* sigaction) { } # endif /* HAVE_SIGACTON */ struct siginfo_t { int si_code; }; #endif /* SA_SIGINFO */ #ifndef SEGV_MAPERR # define SEGV_MAPERR (INTMAX - 1) #endif #ifndef SEGV_ACCERR # define SEGV_ACCERR (INTMAX - 2) #endif #ifndef FPE_INTDIV # define FPE_INTDIV (INTMAX - 1) #endif #ifndef FPE_INTOVF # define FPE_INTOVF (INTMAX - 2) #endif #ifndef FPE_FLTDIV # define FPE_FLTDIV (INTMAX - 3) #endif #ifndef FPE_FLTOVF # define FPE_FLTOVF (INTMAX - 4) #endif #ifndef FPE_FLTUND # define FPE_FLTUND (INTMAX - 5) #endif #ifndef FPE_FLTRES # define FPE_FLTRES (INTMAX - 6) #endif #ifndef FPE_FLTINV # define FPE_FLTINV (INTMAX - 7) #endif #ifndef FPE_FLTSUB # define FPE_FLTSUB (INTMAX - 8) #endif #ifndef ILL_ILLOPC # define ILL_ILLOPC (INTMAX - 1) #endif #ifndef ILL_ILLOPN # define ILL_ILLOPN (INTMAX - 2) #endif #ifndef ILL_ILLADR # define ILL_ILLADR (INTMAX - 3) #endif #ifndef ILL_ILLTRP # define ILL_ILLTRP (INTMAX - 4) #endif #ifndef ILL_PRVOPC # define ILL_PRVOPC (INTMAX - 5) #endif #ifndef ILL_PRVREG # define ILL_PRVREG (INTMAX - 6) #endif #ifndef ILL_COPROC # define ILL_COPROC (INTMAX - 7) #endif #ifndef ILL_BADSTK # define ILL_BADSTK (INTMAX - 8) #endif const char* prog_name = "GNU Parted " VERSION "\n"; static const char* banner_msg = N_( "Welcome to GNU Parted! Type 'help' to view a list of commands.\n"); static const char* usage_msg = N_( "Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]\n" "Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, " "run in\ninteractive mode.\n"); static const char* bug_msg = N_( "\n\nYou found a bug in GNU Parted! Here's what you have to do:\n\n" "Don't panic! The bug has most likely not affected any of your data.\n" "Help us to fix this bug by doing the following:\n\n" "Check whether the bug has already been fixed by checking\n" "the last version of GNU Parted that you can find at:\n\n" "\thttp://ftp.gnu.org/gnu/parted/\n\n" "Please check this version prior to bug reporting.\n\n" "If this has not been fixed yet or if you don't know how to check,\n" "please visit the GNU Parted website:\n\n" "\thttp://www.gnu.org/software/parted\n\n" "for further information.\n\n" "Your report should contain the version of this release (%s)\n" "along with the error message below, the output of\n\n" "\tparted DEVICE unit co print unit s print\n\n" "and the following history of commands you entered.\n" "Also include any additional information about your setup you\n" "consider important.\n"); #define MAX_WORDS 1024 static StrList* command_line; static Command** commands; static StrList* ex_opt_str [64]; static StrList* on_list; static StrList* off_list; static StrList* on_off_list; static StrList* align_opt_list; static StrList* align_min_list; static StrList* align_opt_min_list; static StrList* fs_type_list; static StrList* disk_type_list; static struct { const StrList* possibilities; const StrList* cur_pos; int in_readline; sigjmp_buf jmp_state; } readline_state; static struct sigaction sig_segv; static struct sigaction sig_int; static struct sigaction sig_fpe; static struct sigaction sig_ill; volatile int got_ctrl_c = 0; /* used in exception_handler */ int screen_width () { int width = 0; if (opt_script_mode || pretend_input_tty) return 32768; /* no wrapping ;) */ /* HACK: don't specify termcap separately - it'll annoy the users. */ #ifdef HAVE_LIBREADLINE width = tgetnum ((char *) "co"); #endif if (width <= 0) width = 80; return width; } void wipe_line () { if (opt_script_mode) return; /* yuck */ fputs ("\r " " \r", stdout); } #ifdef HAVE_LIBREADLINE /* returns matching commands for text */ static char* command_generator (char* text, int state) { if (!state) readline_state.cur_pos = readline_state.possibilities; while (readline_state.cur_pos) { const StrList* cur = readline_state.cur_pos; readline_state.cur_pos = cur->next; if (str_list_match_node (cur, text)) return str_list_convert_node (cur); } return NULL; } /* completion function for readline() */ char** complete_function (char* text, int start, int end) { return rl_completion_matches (text, (rl_compentry_func_t*) command_generator); } static void _add_history_unique (const char* line) { HIST_ENTRY* last_entry = current_history (); if (!strlen (line)) return; if (!last_entry || strcmp (last_entry->line, line)) add_history ((char*) line); } /* Prints command history, to be used before aborting */ static void _dump_history () { int i = 0; HIST_ENTRY** all_entries = history_list (); fputs (_("\nCommand History:\n"), stdout); while (all_entries[i]) { puts(all_entries[i++]->line); } } #else /* Print nothing because Readline is absent. */ static inline void _dump_history (void) { } #endif /* HAVE_LIBREADLINE */ /* Resets the environment by jumping to the initial state * saved during ui intitialisation. * Pass 1 as the parameter if you want to quit parted, * 0 if you just want to reset to the command prompt. */ static void reset_env (int quit) { int in_readline = readline_state.in_readline; readline_state.in_readline = 0; if (in_readline) { putchar ('\n'); if (quit) exit (EXIT_SUCCESS); siglongjmp (readline_state.jmp_state, 1); } } /* Signal handler for SIGINT using 'sigaction'. */ static void sa_sigint_handler (int signum, siginfo_t* info, void *ucontext) { if (info) sigaction (SIGINT, &sig_int, NULL); got_ctrl_c = 1; reset_env (0); } /* Signal handler for SIGSEGV using 'sigaction'. */ static void sa_sigsegv_handler (int signum, siginfo_t* info, void* ucontext) { printf (bug_msg, VERSION); _dump_history (); if (!info) abort (); sigaction (SIGSEGV, &sig_segv, NULL); switch (info->si_code) { case SEGV_MAPERR: fputs(_("\nError: SEGV_MAPERR (Address not mapped " "to object)\n"), stdout); PED_ASSERT(0, break); /* Force a backtrace */ break; case SEGV_ACCERR: fputs(_("\nError: SEGV_ACCERR (Invalid permissions " "for mapped object)\n"), stdout); break; default: fputs(_("\nError: A general SIGSEGV signal was " "encountered.\n"), stdout); PED_ASSERT(0, break); /* Force a backtrace */ break; } abort (); } /* Signal handler for SIGFPE using 'sigaction'. */ static void sa_sigfpe_handler (int signum, siginfo_t* info, void* ucontext) { printf (bug_msg, VERSION); _dump_history (); if (!info) abort (); sigaction (SIGFPE, &sig_fpe, NULL); switch (info->si_code) { case FPE_INTDIV: fputs(_("\nError: FPE_INTDIV (Integer: " "divide by zero)"), stdout); break; case FPE_INTOVF: fputs(_("\nError: FPE_INTOVF (Integer: " "overflow)"), stdout); break; case FPE_FLTDIV: fputs(_("\nError: FPE_FLTDIV (Float: " "divide by zero)"), stdout); break; case FPE_FLTOVF: fputs(_("\nError: FPE_FLTOVF (Float: " "overflow)"), stdout); break; case FPE_FLTUND: fputs(_("\nError: FPE_FLTUND (Float: " "underflow)"), stdout); break; case FPE_FLTRES: fputs(_("\nError: FPE_FLTRES (Float: " "inexact result)"), stdout); break; case FPE_FLTINV: fputs(_("\nError: FPE_FLTINV (Float: " "invalid operation)"), stdout); break; case FPE_FLTSUB: fputs(_("\nError: FPE_FLTSUB (Float: " "subscript out of range)"), stdout); break; default: fputs(_("\nError: A general SIGFPE signal " "was encountered."), stdout); break; } abort (); } /* Signal handler for SIGILL using 'sigaction'. */ static void sa_sigill_handler (int signum, siginfo_t* info, void* ucontext) { printf (bug_msg, VERSION); _dump_history (); if (!info) abort(); sigaction (SIGILL, &sig_ill, NULL); switch (info->si_code) { case ILL_ILLOPC: fputs(_("\nError: ILL_ILLOPC " "(Illegal Opcode)"), stdout); break; case ILL_ILLOPN: fputs(_("\nError: ILL_ILLOPN " "(Illegal Operand)"), stdout); break; case ILL_ILLADR: fputs(_("\nError: ILL_ILLADR " "(Illegal addressing mode)"), stdout); break; case ILL_ILLTRP: fputs(_("\nError: ILL_ILLTRP " "(Illegal Trap)"), stdout); break; case ILL_PRVOPC: fputs(_("\nError: ILL_PRVOPC " "(Privileged Opcode)"), stdout); break; case ILL_PRVREG: fputs(_("\nError: ILL_PRVREG " "(Privileged Register)"), stdout); break; case ILL_COPROC: fputs(_("\nError: ILL_COPROC " "(Coprocessor Error)"), stdout); break; case ILL_BADSTK: fputs(_("\nError: ILL_BADSTK " "(Internal Stack Error)"), stdout); break; default: fputs(_("\nError: A general SIGILL " "signal was encountered."), stdout); break; } abort (); } #ifndef SA_SIGINFO static void mask_signal() { sigset_t curr; sigset_t prev; sigfillset(&curr); sigprocmask(SIG_SETMASK, &curr, &prev); } /* Signal handler for SIGINT using 'signal'. */ static void s_sigint_handler (int signum) { signal (SIGINT, &s_sigint_handler); mask_signal (); sa_sigint_handler (signum, NULL, NULL); } /* Signal handler for SIGILL using 'signal'. */ static void s_sigill_handler (int signum) { signal (SIGILL, &s_sigill_handler); mask_signal (); sa_sigill_handler (signum, NULL, NULL); } /* Signal handler for SIGSEGV using 'signal'. */ static void s_sigsegv_handler (int signum) { signal (SIGSEGV, &s_sigsegv_handler); mask_signal (); sa_sigsegv_handler (signum, NULL, NULL); } /* Signal handler for SIGFPE using 'signal'. */ static void s_sigfpe_handler (int signum) { signal (SIGFPE, &s_sigfpe_handler); mask_signal (); sa_sigfpe_handler (signum, NULL, NULL); } #endif static char* _readline (const char* prompt, const StrList* possibilities) { char* line; readline_state.possibilities = possibilities; readline_state.cur_pos = NULL; readline_state.in_readline = 1; if (sigsetjmp (readline_state.jmp_state,1)) return NULL; wipe_line (); #ifdef HAVE_LIBREADLINE if (!opt_script_mode) { /* XXX: why isn't prompt const? */ line = readline ((char*) prompt); if (line) _add_history_unique (line); } else #endif { fputs (prompt, stdout); fflush (stdout); line = (char*) malloc (256); if (fgets (line, 256, stdin) && strcmp (line, "") != 0) { #ifndef HAVE_LIBREADLINE /* Echo the input line, to be consistent with how readline-5.2 works. */ fputs (line, stdout); fflush (stdout); #endif /* kill trailing NL */ if (strlen (line)) line [strlen (line) - 1] = 0; } else { free (line); line = NULL; } } readline_state.in_readline = 0; return line; } static PedExceptionOption option_get_next (PedExceptionOption options, PedExceptionOption current) { PedExceptionOption i; if (current == 0) i = PED_EXCEPTION_OPTION_FIRST; else i = current * 2; for (; i <= options; i *= 2) { if (options & i) return i; } return 0; } static void _print_exception_text (PedException* ex) { StrList* text; wipe_line (); if (ex->type == PED_EXCEPTION_BUG) { printf (bug_msg, VERSION); text = str_list_create ("\n", ex->message, "\n\n", NULL); } else { text = str_list_create ( _(ped_exception_get_type_string (ex->type)), ": ", ex->message, "\n", NULL); } str_list_print_wrap (text, screen_width (), 0, 0); str_list_destroy (text); } static PedExceptionOption exception_handler (PedException* ex) { PedExceptionOption opt; _print_exception_text (ex); /* only one choice? Take it ;-) */ opt = option_get_next (ex->options, 0); if (!option_get_next (ex->options, opt)) return opt; /* script-mode: don't handle the exception */ if (opt_script_mode || (!isatty (0) && !pretend_input_tty)) return PED_EXCEPTION_UNHANDLED; got_ctrl_c = 0; do { opt = command_line_get_ex_opt ("", ex->options); } while (opt == PED_EXCEPTION_UNHANDLED && (isatty (0) || pretend_input_tty) && !got_ctrl_c); if (got_ctrl_c) { got_ctrl_c = 0; opt = PED_EXCEPTION_UNHANDLED; } return opt; } void command_line_push_word (const char* word) { command_line = str_list_append (command_line, word); } char* command_line_pop_word () { char* result; StrList* next; PED_ASSERT (command_line != NULL, return NULL); result = str_list_convert_node (command_line); next = command_line->next; str_list_destroy_node (command_line); command_line = next; return result; } void command_line_flush () { str_list_destroy (command_line); command_line = NULL; } char* command_line_peek_word () { if (command_line) return str_list_convert_node (command_line); else return NULL; } int command_line_get_word_count () { return str_list_length (command_line); } static int _str_is_spaces (const char* str) { while (isspace (*str)) str++; return *str == 0; } /* "multi_word mode" is the "normal" mode... many words can be typed, * delimited by spaces, etc. * In single-word mode, only one word is parsed per line. * Leading and trailing spaces are removed. For example: " a b c " * is a single word "a b c". The motivation for this mode is partition * names, etc. In single-word mode, the empty string is a word. * (but not in multi-word mode). */ void command_line_push_line (const char* line, int multi_word) { int quoted = 0; char quote_char = 0; char this_word [256]; int i; do { while (*line == ' ') line++; i = 0; for (; *line; line++) { if (*line == ' ' && !quoted) { if (multi_word) break; /* single word: check for trailing spaces + eol */ if (_str_is_spaces (line)) break; } if (!quoted && strchr ("'\"", *line)) { quoted = 1; quote_char = *line; continue; } if (quoted && *line == quote_char) { quoted = 0; continue; } /* hack: escape characters */ if (quoted && line[0] == '\\' && line[1]) line++; this_word [i++] = *line; } if (i || !multi_word) { this_word [i] = 0; command_line_push_word (this_word); } } while (*line && multi_word); } static char* realloc_and_cat (char* str, const char* append) { int length = strlen (str) + strlen (append) + 1; char* new_str = realloc (str, length); strcat (new_str, append); return new_str; } static char* _construct_prompt (const char* head, const char* def, const StrList* possibilities) { char* prompt = strdup (head); if (def && possibilities) PED_ASSERT (str_list_match_any (possibilities, def), return NULL); if (possibilities && str_list_length (possibilities) < 8) { const StrList* walk; if (strlen (prompt)) prompt = realloc_and_cat (prompt, " "); for (walk = possibilities; walk; walk = walk->next) { if (walk != possibilities) prompt = realloc_and_cat (prompt, "/"); if (def && str_list_match_node (walk, def) == 2) { prompt = realloc_and_cat (prompt, "["); prompt = realloc_and_cat (prompt, def); prompt = realloc_and_cat (prompt, "]"); } else { char* text = str_list_convert_node (walk); prompt = realloc_and_cat (prompt, text); free (text); } } prompt = realloc_and_cat (prompt, "? "); } else if (def) { if (strlen (prompt)) prompt = realloc_and_cat (prompt, " "); prompt = realloc_and_cat (prompt, "["); prompt = realloc_and_cat (prompt, def); prompt = realloc_and_cat (prompt, "]? "); } else { if (strlen (prompt)) prompt = realloc_and_cat (prompt, " "); } return prompt; } void command_line_prompt_words (const char* prompt, const char* def, const StrList* possibilities, int multi_word) { char* line; char* real_prompt; char* _def = (char*) def; int _def_needs_free = 0; if (!def && str_list_length (possibilities) == 1) { _def = str_list_convert_node (possibilities); _def_needs_free = 1; } if (opt_script_mode) { if (_def) command_line_push_line (_def, 0); return; } do { real_prompt = _construct_prompt (prompt, _def, possibilities); line = _readline (real_prompt, possibilities); free (real_prompt); if (!line) { /* readline returns NULL to indicate EOF. Treat that like an interrupt. */ got_ctrl_c = 1; break; } if (!strlen (line)) { if (_def) command_line_push_line (_def, 0); } else { command_line_push_line (line, multi_word); } free (line); } while (!command_line_get_word_count () && !_def); if (_def_needs_free) free (_def); } /** * Get a word from command line. * * \param possibilities a StrList of valid strings, NULL if all are valid. * \param multi_word whether multiple words are allowed. * * \return The word(s), or NULL if empty. */ char* command_line_get_word (const char* prompt, const char* def, const StrList* possibilities, int multi_word) { do { if (command_line_get_word_count ()) { char* result = command_line_pop_word (); StrList* result_node; if (!possibilities) return result; result_node = str_list_match (possibilities, result); if (result_node == NULL) error (0, 0, _("invalid token: %s"), result); free (result); if (result_node) return str_list_convert_node (result_node); command_line_flush (); if (opt_script_mode) return NULL; } command_line_prompt_words (prompt, def, possibilities, multi_word); } while (command_line_get_word_count ()); return NULL; } int command_line_get_integer (const char* prompt, int* value) { char def_str [10]; char* input; int valid; snprintf (def_str, 10, "%d", *value); input = command_line_get_word (prompt, *value ? def_str : NULL, NULL, 1); if (!input) return 0; valid = sscanf (input, "%d", value); free (input); return valid; } int command_line_get_sector (const char* prompt, PedDevice* dev, PedSector* value, PedGeometry** range) { char* def_str; char* input; int valid; def_str = ped_unit_format (dev, *value); input = command_line_get_word (prompt, *value ? def_str : NULL, NULL, 1); /* def_str might have rounded *value a little bit. If the user picked * the default, make sure the selected sector is identical to the * default. */ if (input && *value && !strcmp (input, def_str)) { if (range) { *range = ped_geometry_new (dev, *value, 1); free (def_str); return *range != NULL; } free (def_str); return 1; } free (def_str); if (!input) { *value = 0; if (range) *range = NULL; return 0; } valid = ped_unit_parse (input, dev, value, range); free (input); return valid; } int command_line_get_state (const char* prompt, int* value) { char* def_word; char* input; if (*value) def_word = str_list_convert_node (on_list); else def_word = str_list_convert_node (off_list); input = command_line_get_word (prompt, def_word, on_off_list, 1); free (def_word); if (!input) return 0; if (str_list_match_any (on_list, input)) *value = 1; else *value = 0; free (input); return 1; } int command_line_get_device (const char* prompt, PedDevice** value) { char *def_dev_name = *value ? (*value)->path : NULL; char *dev_name = command_line_get_word (prompt, def_dev_name, NULL, 1); if (!dev_name) return 0; PedDevice *dev = ped_device_get (dev_name); free (dev_name); if (!dev) return 0; *value = dev; return 1; } int command_line_get_disk (const char* prompt, PedDisk** value) { PedDevice* dev = *value ? (*value)->dev : NULL; if (!command_line_get_device (prompt, &dev)) return 0; assert (*value); if (dev != (*value)->dev) { PedDisk* new_disk = ped_disk_new (dev); if (!new_disk) return 0; *value = new_disk; } return 1; } int command_line_get_partition (const char* prompt, PedDisk* disk, PedPartition** value) { PedPartition* part; /* Flawed logic, doesn't seem to work?! check = ped_disk_next_partition (disk, part); part = ped_disk_next_partition (disk, check); if (part == NULL) { *value = check; printf (_("The (only) primary partition has " "been automatically selected\n")); return 1; } else { */ int num = (*value) ? (*value)->num : 0; if (!command_line_get_integer (prompt, &num)) { ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Expecting a partition number.")); return 0; } part = ped_disk_get_partition (disk, num); if (!part) { ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Partition doesn't exist.")); return 0; } *value = part; return 1; //} } int command_line_get_fs_type (const char* prompt, const PedFileSystemType*(* value)) { char* fs_type_name; PedFileSystemType* fs_type; fs_type_name = command_line_get_word (prompt, *value ? (*value)->name : NULL, fs_type_list, 1); if (!fs_type_name) { ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Expecting a file system type.")); return 0; } fs_type = ped_file_system_type_get (fs_type_name); if (!fs_type) { ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Unknown file system type \"%s\"."), fs_type_name); return 0; } free (fs_type_name); *value = fs_type; return 1; } int command_line_get_disk_type (const char* prompt, const PedDiskType*(* value)) { char* disk_type_name; disk_type_name = command_line_get_word (prompt, *value ? (*value)->name : NULL, disk_type_list, 1); if (!disk_type_name) { ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Expecting a disk label type.")); return 0; } *value = ped_disk_type_get (disk_type_name); free (disk_type_name); PED_ASSERT (*value != NULL, return 0); return 1; } int command_line_get_part_flag (const char* prompt, const PedPartition* part, PedPartitionFlag* flag) { StrList* opts = NULL; PedPartitionFlag walk = 0; char* flag_name; while ( (walk = ped_partition_flag_next (walk)) ) { if (ped_partition_is_flag_available (part, walk)) { const char* walk_name; walk_name = ped_partition_flag_get_name (walk); opts = str_list_append (opts, walk_name); opts = str_list_append_unique (opts, _(walk_name)); } } flag_name = command_line_get_word (prompt, NULL, opts, 1); str_list_destroy (opts); if (flag_name) { *flag = ped_partition_flag_get_by_name (flag_name); free (flag_name); return 1; } else return 0; } static int _can_create_primary (const PedDisk* disk) { int i; for (i = 1; i <= ped_disk_get_max_primary_partition_count (disk); i++) { if (!ped_disk_get_partition (disk, i)) return 1; } return 0; } static int _can_create_extended (const PedDisk* disk) { if (!_can_create_primary (disk)) return 0; if (!ped_disk_type_check_feature (disk->type, PED_DISK_TYPE_EXTENDED)) return 0; if (ped_disk_extended_partition (disk)) return 0; return 1; } static int _can_create_logical (const PedDisk* disk) { if (!ped_disk_type_check_feature (disk->type, PED_DISK_TYPE_EXTENDED)) return 0; return ped_disk_extended_partition (disk) != 0; } int command_line_get_part_type (const char* prompt, const PedDisk* disk, PedPartitionType* type) { StrList* opts = NULL; char* type_name; if (_can_create_primary (disk)) { opts = str_list_append_unique (opts, "primary"); opts = str_list_append_unique (opts, _("primary")); } if (_can_create_extended (disk)) { opts = str_list_append_unique (opts, "extended"); opts = str_list_append_unique (opts, _("extended")); } if (_can_create_logical (disk)) { opts = str_list_append_unique (opts, "logical"); opts = str_list_append_unique (opts, _("logical")); } if (!opts) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Can't create any more partitions.")); return 0; } type_name = command_line_get_word (prompt, NULL, opts, 1); str_list_destroy (opts); if (!type_name) { ped_exception_throw ( PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, _("Expecting a partition type.")); return 0; } if (!strcmp (type_name, "primary") || !strcmp (type_name, _("primary"))) { *type = 0; } if (!strcmp (type_name, "extended") || !strcmp (type_name, _("extended"))) { *type = PED_PARTITION_EXTENDED; } if (!strcmp (type_name, "logical") || !strcmp (type_name, _("logical"))) { *type = PED_PARTITION_LOGICAL; } free (type_name); return 1; } PedExceptionOption command_line_get_ex_opt (const char* prompt, PedExceptionOption options) { StrList* options_strlist = NULL; PedExceptionOption opt; char* opt_name; for (opt = option_get_next (options, 0); opt; opt = option_get_next (options, opt)) { options_strlist = str_list_append_unique (options_strlist, _(ped_exception_get_option_string (opt))); options_strlist = str_list_append_unique (options_strlist, ped_exception_get_option_string (opt)); } opt_name = command_line_get_word (prompt, NULL, options_strlist, 1); if (!opt_name) return PED_EXCEPTION_UNHANDLED; str_list_destroy (options_strlist); opt = PED_EXCEPTION_OPTION_FIRST; while (1) { if (strcmp (opt_name, ped_exception_get_option_string (opt)) == 0) break; if (strcmp (opt_name, _(ped_exception_get_option_string (opt))) == 0) break; opt = option_get_next (options, opt); } free (opt_name); return opt; } int command_line_get_align_type (const char *prompt, enum AlignmentType *align_type) { char* def_word; char* input; if (*align_type) def_word = str_list_convert_node (align_opt_list); else def_word = str_list_convert_node (align_min_list); input = command_line_get_word (prompt, def_word, align_opt_min_list, 1); free (def_word); if (!input) return 0; *align_type = (str_list_match_any (align_opt_list, input) ? PA_OPTIMUM : PA_MINIMUM); free (input); return 1; } int command_line_get_unit (const char* prompt, PedUnit* unit) { StrList* opts = NULL; PedUnit walk; char* unit_name; const char* default_unit_name; for (walk = PED_UNIT_FIRST; walk <= PED_UNIT_LAST; walk++) opts = str_list_append (opts, ped_unit_get_name (walk)); default_unit_name = ped_unit_get_name (ped_unit_get_default ()); unit_name = command_line_get_word (prompt, default_unit_name, opts, 1); str_list_destroy (opts); if (unit_name) { *unit = ped_unit_get_by_name (unit_name); free (unit_name); return 1; } else return 0; } int command_line_is_integer () { char* word; int is_integer; int scratch; word = command_line_peek_word (); if (!word) return 0; is_integer = sscanf (word, "%d", &scratch); free (word); return is_integer; } static int init_ex_opt_str () { int i; PedExceptionOption opt; for (i = 0; (1 << i) <= PED_EXCEPTION_OPTION_LAST; i++) { opt = (1 << i); ex_opt_str [i] = str_list_create ( ped_exception_get_option_string (opt), _(ped_exception_get_option_string (opt)), NULL); if (!ex_opt_str [i]) return 0; } ex_opt_str [i] = NULL; return 1; } static void done_ex_opt_str () { int i; for (i=0; ex_opt_str [i]; i++) str_list_destroy (ex_opt_str [i]); } static int init_state_str () { on_list = str_list_create_unique (_("on"), "on", NULL); off_list = str_list_create_unique (_("off"), "off", NULL); on_off_list = str_list_join (str_list_duplicate (on_list), str_list_duplicate (off_list)); return 1; } static void done_state_str () { str_list_destroy (on_list); str_list_destroy (off_list); str_list_destroy (on_off_list); } static int init_alignment_type_str () { align_opt_list = str_list_create_unique (_("optimal"), "optimal", NULL); align_min_list = str_list_create_unique (_("minimal"), "minimal", NULL); align_opt_min_list = str_list_join (str_list_duplicate (align_opt_list), str_list_duplicate (align_min_list)); return 1; } static void done_alignment_type_str () { str_list_destroy (align_opt_list); str_list_destroy (align_min_list); str_list_destroy (align_opt_min_list); } static int init_fs_type_str () { PedFileSystemType* walk; PedFileSystemAlias* alias_walk; fs_type_list = NULL; for (walk = ped_file_system_type_get_next (NULL); walk; walk = ped_file_system_type_get_next (walk)) { fs_type_list = str_list_insert (fs_type_list, walk->name); if (!fs_type_list) return 0; } for (alias_walk = ped_file_system_alias_get_next (NULL); alias_walk; alias_walk = ped_file_system_alias_get_next (alias_walk)) { fs_type_list = str_list_insert (fs_type_list, alias_walk->alias); if (!fs_type_list) return 0; } return 1; } static int init_disk_type_str () { PedDiskType* walk; disk_type_list = NULL; for (walk = ped_disk_type_get_next (NULL); walk; walk = ped_disk_type_get_next (walk)) { disk_type_list = str_list_insert (disk_type_list, walk->name); if (!disk_type_list) return 0; } return 1; } int init_readline (void) { #ifdef HAVE_LIBREADLINE if (!opt_script_mode) { rl_initialize (); rl_attempted_completion_function = (CPPFunction*) complete_function; readline_state.in_readline = 0; } #endif return 0; } int init_ui () { if (!init_ex_opt_str () || !init_state_str () || !init_alignment_type_str () || !init_fs_type_str () || !init_disk_type_str ()) return 0; ped_exception_set_handler (exception_handler); #ifdef SA_SIGINFO sigset_t curr; sigfillset (&curr); sig_segv.sa_sigaction = &sa_sigsegv_handler; sig_int.sa_sigaction = &sa_sigint_handler; sig_fpe.sa_sigaction = &sa_sigfpe_handler; sig_ill.sa_sigaction = &sa_sigill_handler; sig_segv.sa_mask = sig_int.sa_mask = sig_fpe.sa_mask = sig_ill.sa_mask = curr; sig_segv.sa_flags = sig_int.sa_flags = sig_fpe.sa_flags = sig_ill.sa_flags = SA_SIGINFO; sigaction (SIGSEGV, &sig_segv, NULL); sigaction (SIGINT, &sig_int, NULL); sigaction (SIGFPE, &sig_fpe, NULL); sigaction (SIGILL, &sig_ill, NULL); #else signal (SIGSEGV, s_sigsegv_handler); signal (SIGINT, s_sigint_handler); signal (SIGFPE, s_sigfpe_handler); signal (SIGILL, s_sigill_handler); #endif /* SA_SIGINFO */ return 1; } void done_ui () { ped_exception_set_handler (NULL); done_ex_opt_str (); done_state_str (); done_alignment_type_str (); str_list_destroy (fs_type_list); str_list_destroy (disk_type_list); } void help_msg () { fputs (_(usage_msg), stdout); putchar ('\n'); fputs (_("OPTIONs:"), stdout); putchar ('\n'); print_options_help (); putchar ('\n'); fputs (_("COMMANDs:"), stdout); putchar ('\n'); print_commands_help (); printf (_("\nReport bugs to %s\n"), PACKAGE_BUGREPORT); exit (EXIT_SUCCESS); } void print_using_dev (PedDevice* dev) { printf (_("Using %s\n"), dev->path); } int interactive_mode (PedDevice** dev, Command* cmd_list[]) { StrList* list; StrList* command_names = command_get_names (cmd_list); commands = cmd_list; /* FIXME yucky, nasty, evil hack */ fputs (prog_name, stdout); print_using_dev (*dev); list = str_list_create (_(banner_msg), NULL); str_list_print_wrap (list, screen_width (), 0, 0); str_list_destroy (list); while (1) { char* word; Command* cmd; while (!command_line_get_word_count ()) { if (feof (stdin)) { putchar ('\n'); return 1; } command_line_prompt_words ("(parted)", NULL, command_names, 1); } word = command_line_pop_word (); if (word) { cmd = command_get (commands, word); free (word); if (cmd) { if (!command_run (cmd, dev)) command_line_flush (); } else print_commands_help (); } } return 1; } int non_interactive_mode (PedDevice** dev, Command* cmd_list[], int argc, char* argv[]) { int i; Command* cmd; commands = cmd_list; /* FIXME yucky, nasty, evil hack */ for (i = 0; i < argc; i++) command_line_push_line (argv [i], 1); while (command_line_get_word_count ()) { char* word; word = command_line_pop_word (); if (!word) break; cmd = command_get (commands, word); free (word); if (!cmd) { help_msg (); goto error; } if (!(cmd->non_interactive)) { fputs(_("This command does not make sense in " "non-interactive mode.\n"), stdout); exit(EXIT_FAILURE); goto error; } if (!command_run (cmd, dev)) goto error; } return 1; error: return 0; } parted-2.3/parted/Makefile.in0000644000000000000000000014550711400005575013061 00000000000000# Makefile.in generated by automake 1.11a from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ sbin_PROGRAMS = parted$(EXEEXT) subdir = parted DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \ $(top_srcdir)/m4/asm-underscore.m4 $(top_srcdir)/m4/assert.m4 \ $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/calloc.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \ $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/dirname.m4 \ $(top_srcdir)/m4/dos.m4 $(top_srcdir)/m4/double-slash-root.m4 \ $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/extensions.m4 \ $(top_srcdir)/m4/fclose.m4 $(top_srcdir)/m4/fcntl-o.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fpending.m4 \ $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getopt.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \ $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/lib-ignore.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \ $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \ $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/long-options.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \ $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/memchr.m4 \ $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \ $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/o-direct.m4 $(top_srcdir)/m4/open.m4 \ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \ $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/readlink.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/safe-read.m4 \ $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \ $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/symlink.m4 \ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \ $(top_srcdir)/m4/version-etc.m4 \ $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \ $(top_srcdir)/m4/wctype_h.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xstrndup.m4 \ $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/lib/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LIBRARIES = $(noinst_LIBRARIES) ARFLAGS = cru AM_V_AR = $(am__v_AR_$(V)) am__v_AR_ = $(am__v_AR_$(AM_DEFAULT_VERBOSITY)) am__v_AR_0 = @echo " AR " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ libver_a_AR = $(AR) $(ARFLAGS) libver_a_LIBADD = nodist_libver_a_OBJECTS = version.$(OBJEXT) libver_a_OBJECTS = $(nodist_libver_a_OBJECTS) am__installdirs = "$(DESTDIR)$(sbindir)" PROGRAMS = $(sbin_PROGRAMS) am_parted_OBJECTS = parted-command.$(OBJEXT) parted-parted.$(OBJEXT) \ parted-strlist.$(OBJEXT) parted-ui.$(OBJEXT) \ parted-table.$(OBJEXT) parted_OBJECTS = $(am_parted_OBJECTS) am__DEPENDENCIES_1 = parted_DEPENDENCIES = libver.a $(top_builddir)/libparted/libparted.la \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) AM_V_lt = $(am__v_lt_$(V)) am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) am__v_lt_0 = --silent parted_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(parted_CFLAGS) $(CFLAGS) \ $(parted_LDFLAGS) $(LDFLAGS) -o $@ DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/lib depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_$(V)) am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) am__v_CC_0 = @echo " CC " $@; CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_$(V)) am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) am__v_CCLD_0 = @echo " CCLD " $@; AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; SOURCES = $(nodist_libver_a_SOURCES) $(parted_SOURCES) DIST_SOURCES = $(parted_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ BUILDINFO = @BUILDINFO@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ CONFIG_INCLUDE = @CONFIG_INCLUDE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DL_LIBS = @DL_LIBS@ DM_LIBS = @DM_LIBS@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENABLE_DEVICE_MAPPER = @ENABLE_DEVICE_MAPPER@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPURGE = @GNULIB_FPURGE@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSTATAT = @GNULIB_FSTATAT@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETGROUPS = @GNULIB_GETGROUPS@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMCHR = @GNULIB_MEMCHR@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDIRAT = @GNULIB_MKDIRAT@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKFIFO = @GNULIB_MKFIFO@ GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@ GNULIB_MKNOD = @GNULIB_MKNOD@ GNULIB_MKNODAT = @GNULIB_MKNODAT@ GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PTSNAME = @GNULIB_PTSNAME@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ GNULIB_RMDIR = @GNULIB_RMDIR@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STAT = @GNULIB_STAT@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNCAT = @GNULIB_STRNCAT@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRPTIME = @GNULIB_STRPTIME@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNLINK = @GNULIB_UNLINK@ GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_USLEEP = @GNULIB_USLEEP@ GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_FUTIMENS = @HAVE_FUTIMENS@ HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETGROUPS = @HAVE_GETGROUPS@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@ HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@ HAVE_LANGINFO_H = @HAVE_LANGINFO_H@ HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LCHOWN = @HAVE_LCHOWN@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LOCALTIME_R = @HAVE_LOCALTIME_R@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_MKFIFO = @HAVE_MKFIFO@ HAVE_MKFIFOAT = @HAVE_MKFIFOAT@ HAVE_MKNOD = @HAVE_MKNOD@ HAVE_MKNODAT = @HAVE_MKNODAT@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ HAVE_OS_H = @HAVE_OS_H@ HAVE_PIPE2 = @HAVE_PIPE2@ HAVE_PREAD = @HAVE_PREAD@ HAVE_PTSNAME = @HAVE_PTSNAME@ HAVE_PWRITE = @HAVE_PWRITE@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TTYNAME_R = @HAVE_TTYNAME_R@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_USLEEP = @HAVE_USLEEP@ HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ HAVE_WCRTOMB = @HAVE_WCRTOMB@ HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE__BOOL = @HAVE__BOOL@ IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ INTLINCS = @INTLINCS@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ LIBTOOL = @LIBTOOL@ LIB_BLKID = @LIB_BLKID@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@ LOCALE_JA = @LOCALE_JA@ LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTALLOCA = @LTALLOCA@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ NEXT_WCTYPE_H = @NEXT_WCTYPE_H@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OS = @OS@ OS_LIBS = @OS_LIBS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PARTEDLDFLAGS = @PARTEDLDFLAGS@ PARTED_LIBS = @PARTED_LIBS@ PARTED_USABLE_TEST_DIR = @PARTED_USABLE_TEST_DIR@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POSUB = @POSUB@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PRIPTR_PREFIX = @PRIPTR_PREFIX@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REISER_LIBS = @REISER_LIBS@ REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FSTAT = @REPLACE_FSTAT@ REPLACE_FSTATAT = @REPLACE_FSTATAT@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ REPLACE_MBRLEN = @REPLACE_MBRLEN@ REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ REPLACE_MBSINIT = @REPLACE_MBSINIT@ REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_OPENAT = @REPLACE_OPENAT@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALPATH = @REPLACE_REALPATH@ REPLACE_REMOVE = @REPLACE_REMOVE@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRNCAT = @REPLACE_STRNCAT@ REPLACE_STRNDUP = @REPLACE_STRNDUP@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ REPLACE_UNSETENV = @REPLACE_UNSETENV@ REPLACE_USLEEP = @REPLACE_USLEEP@ REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ SELINUX_LIBS = @SELINUX_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_NLS = @USE_NLS@ UUID_LIBS = @UUID_LIBS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_aux_dir = @abs_aux_dir@ 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@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ gltests_WITNESS = @gltests_WITNESS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ BUILT_SOURCES = version.c version.h AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) partedincludedir = -I$(top_srcdir)/lib -I$(top_srcdir)/include parted_SOURCES = command.c \ command.h \ parted.c \ strlist.c \ strlist.h \ ui.c \ ui.h \ table.c \ table.h noinst_LIBRARIES = libver.a nodist_libver_a_SOURCES = version.c version.h DISTCLEANFILES = version.c version.h MAINTAINERCLEANFILES = $(BUILT_SOURCES) Makefile.in #parted_CFLAGS = -DBUILDINFO='"\"'$(BUILDINFO)'\""' parted_CFLAGS = -DBUILDINFO= parted_LDADD = \ libver.a \ $(top_builddir)/libparted/libparted.la \ $(INTLLIBS) $(LIBS) \ $(PARTED_LIBS) # Tell the linker to omit references to unused shared libraries. parted_LDFLAGS = $(PARTEDLDFLAGS) $(IGNORE_UNUSED_LIBRARIES_CFLAGS) INCLUDES = $(partedincludedir) $(INTLINCS) all: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu parted/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu parted/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) libver.a: $(libver_a_OBJECTS) $(libver_a_DEPENDENCIES) $(AM_V_at)-rm -f libver.a $(AM_V_AR)$(libver_a_AR) libver.a $(libver_a_OBJECTS) $(libver_a_LIBADD) $(AM_V_at)$(RANLIB) libver.a install-sbinPROGRAMS: $(sbin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(sbindir)" || $(MKDIR_P) "$(DESTDIR)$(sbindir)" @list='$(sbin_PROGRAMS)'; test -n "$(sbindir)" || list=; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p || test -f $$p1; \ then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(sbindir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(sbindir)$$dir" || exit $$?; \ } \ ; done uninstall-sbinPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(sbin_PROGRAMS)'; test -n "$(sbindir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(sbindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(sbindir)" && rm -f $$files clean-sbinPROGRAMS: @list='$(sbin_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list parted$(EXEEXT): $(parted_OBJECTS) $(parted_DEPENDENCIES) @rm -f parted$(EXEEXT) $(AM_V_CCLD)$(parted_LINK) $(parted_OBJECTS) $(parted_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parted-command.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parted-parted.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parted-strlist.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parted-table.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parted-ui.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< parted-command.o: command.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(parted_CFLAGS) $(CFLAGS) -MT parted-command.o -MD -MP -MF $(DEPDIR)/parted-command.Tpo -c -o parted-command.o `test -f 'command.c' || echo '$(srcdir)/'`command.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/parted-command.Tpo $(DEPDIR)/parted-command.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='command.c' object='parted-command.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(parted_CFLAGS) $(CFLAGS) -c -o parted-command.o `test -f 'command.c' || echo '$(srcdir)/'`command.c parted-command.obj: command.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(parted_CFLAGS) $(CFLAGS) -MT parted-command.obj -MD -MP -MF $(DEPDIR)/parted-command.Tpo -c -o parted-command.obj `if test -f 'command.c'; then $(CYGPATH_W) 'command.c'; else $(CYGPATH_W) '$(srcdir)/command.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/parted-command.Tpo $(DEPDIR)/parted-command.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='command.c' object='parted-command.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(parted_CFLAGS) $(CFLAGS) -c -o parted-command.obj `if test -f 'command.c'; then $(CYGPATH_W) 'command.c'; else $(CYGPATH_W) '$(srcdir)/command.c'; fi` parted-parted.o: parted.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(parted_CFLAGS) $(CFLAGS) -MT parted-parted.o -MD -MP -MF $(DEPDIR)/parted-parted.Tpo -c -o parted-parted.o `test -f 'parted.c' || echo '$(srcdir)/'`parted.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/parted-parted.Tpo $(DEPDIR)/parted-parted.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='parted.c' object='parted-parted.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(parted_CFLAGS) $(CFLAGS) -c -o parted-parted.o `test -f 'parted.c' || echo '$(srcdir)/'`parted.c parted-parted.obj: parted.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(parted_CFLAGS) $(CFLAGS) -MT parted-parted.obj -MD -MP -MF $(DEPDIR)/parted-parted.Tpo -c -o parted-parted.obj `if test -f 'parted.c'; then $(CYGPATH_W) 'parted.c'; else $(CYGPATH_W) '$(srcdir)/parted.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/parted-parted.Tpo $(DEPDIR)/parted-parted.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='parted.c' object='parted-parted.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(parted_CFLAGS) $(CFLAGS) -c -o parted-parted.obj `if test -f 'parted.c'; then $(CYGPATH_W) 'parted.c'; else $(CYGPATH_W) '$(srcdir)/parted.c'; fi` parted-strlist.o: strlist.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(parted_CFLAGS) $(CFLAGS) -MT parted-strlist.o -MD -MP -MF $(DEPDIR)/parted-strlist.Tpo -c -o parted-strlist.o `test -f 'strlist.c' || echo '$(srcdir)/'`strlist.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/parted-strlist.Tpo $(DEPDIR)/parted-strlist.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='strlist.c' object='parted-strlist.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(parted_CFLAGS) $(CFLAGS) -c -o parted-strlist.o `test -f 'strlist.c' || echo '$(srcdir)/'`strlist.c parted-strlist.obj: strlist.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(parted_CFLAGS) $(CFLAGS) -MT parted-strlist.obj -MD -MP -MF $(DEPDIR)/parted-strlist.Tpo -c -o parted-strlist.obj `if test -f 'strlist.c'; then $(CYGPATH_W) 'strlist.c'; else $(CYGPATH_W) '$(srcdir)/strlist.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/parted-strlist.Tpo $(DEPDIR)/parted-strlist.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='strlist.c' object='parted-strlist.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(parted_CFLAGS) $(CFLAGS) -c -o parted-strlist.obj `if test -f 'strlist.c'; then $(CYGPATH_W) 'strlist.c'; else $(CYGPATH_W) '$(srcdir)/strlist.c'; fi` parted-ui.o: ui.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(parted_CFLAGS) $(CFLAGS) -MT parted-ui.o -MD -MP -MF $(DEPDIR)/parted-ui.Tpo -c -o parted-ui.o `test -f 'ui.c' || echo '$(srcdir)/'`ui.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/parted-ui.Tpo $(DEPDIR)/parted-ui.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ui.c' object='parted-ui.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(parted_CFLAGS) $(CFLAGS) -c -o parted-ui.o `test -f 'ui.c' || echo '$(srcdir)/'`ui.c parted-ui.obj: ui.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(parted_CFLAGS) $(CFLAGS) -MT parted-ui.obj -MD -MP -MF $(DEPDIR)/parted-ui.Tpo -c -o parted-ui.obj `if test -f 'ui.c'; then $(CYGPATH_W) 'ui.c'; else $(CYGPATH_W) '$(srcdir)/ui.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/parted-ui.Tpo $(DEPDIR)/parted-ui.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ui.c' object='parted-ui.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(parted_CFLAGS) $(CFLAGS) -c -o parted-ui.obj `if test -f 'ui.c'; then $(CYGPATH_W) 'ui.c'; else $(CYGPATH_W) '$(srcdir)/ui.c'; fi` parted-table.o: table.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(parted_CFLAGS) $(CFLAGS) -MT parted-table.o -MD -MP -MF $(DEPDIR)/parted-table.Tpo -c -o parted-table.o `test -f 'table.c' || echo '$(srcdir)/'`table.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/parted-table.Tpo $(DEPDIR)/parted-table.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='table.c' object='parted-table.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(parted_CFLAGS) $(CFLAGS) -c -o parted-table.o `test -f 'table.c' || echo '$(srcdir)/'`table.c parted-table.obj: table.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(parted_CFLAGS) $(CFLAGS) -MT parted-table.obj -MD -MP -MF $(DEPDIR)/parted-table.Tpo -c -o parted-table.obj `if test -f 'table.c'; then $(CYGPATH_W) 'table.c'; else $(CYGPATH_W) '$(srcdir)/table.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/parted-table.Tpo $(DEPDIR)/parted-table.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='table.c' object='parted-table.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(parted_CFLAGS) $(CFLAGS) -c -o parted-table.obj `if test -f 'table.c'; then $(CYGPATH_W) 'table.c'; else $(CYGPATH_W) '$(srcdir)/table.c'; fi` mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: $(HEADERS) $(SOURCES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) check-am all-am: Makefile $(LIBRARIES) $(PROGRAMS) installdirs: for dir in "$(DESTDIR)$(sbindir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(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 mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \ clean-sbinPROGRAMS mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-sbinPROGRAMS install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-sbinPROGRAMS .MAKE: all check install install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstLIBRARIES clean-sbinPROGRAMS \ cscopelist ctags distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-sbinPROGRAMS install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am uninstall-sbinPROGRAMS version.c: Makefile $(AM_V_GEN)rm -f $@ $(AM_V_at)printf '#include \n' > $@t $(AM_V_at)printf 'char const *Version = "$(PACKAGE_VERSION)";\n' >> $@t $(AM_V_at)chmod a-w $@t $(AM_V_at)mv $@t $@ version.h: Makefile $(AM_V_GEN)rm -f $@ $(AM_V_at)printf 'extern char const *Version;\n' > $@t $(AM_V_at)chmod a-w $@t $(AM_V_at)mv $@t $@ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: parted-2.3/parted/table.h0000644000000000000000000000253011377170070012246 00000000000000/* parted - a frontend to libparted Copyright (C) 2006-2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include #include "strlist.h" #ifdef ENABLE_NLS # include #else # ifdef wchar_t # undef wchar_t # endif # define wchar_t char #endif /* opaque data type */ typedef void Table; Table* table_new(int ncols); void table_destroy (Table* t); /* * you must not free neither 'row' nor 'list' * -- this will be done by table_destroy() */ void table_add_row (Table* t, wchar_t** row); void table_add_row_from_strlist (Table* t, StrList* list); wchar_t* table_render(Table* t); parted-2.3/parted/strlist.h0000644000000000000000000000443111377170104012663 00000000000000/* parted - a frontend to libparted Copyright (C) 1999-2001, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef STRLIST_H_INCLUDED #define STRLIST_H_INCLUDED #include #ifndef ENABLE_NLS # define L_(str) str # ifdef wchar_t # undef wchar_t # endif # define wchar_t char #endif typedef struct _StrList StrList; struct _StrList { StrList* next; const wchar_t* str; }; extern char* language; extern char* gettext_charset; extern char* term_charset; extern StrList* str_list_create (const char* first, ...); extern StrList* str_list_create_unique (const char* first, ...); extern void str_list_destroy (StrList* list); extern void str_list_destroy_node (StrList* list); extern StrList* str_list_duplicate (const StrList* list); extern StrList* str_list_duplicate_node (const StrList* list); extern StrList* str_list_insert (StrList* list, const char* str); extern StrList* str_list_append (StrList* list, const char* str); extern StrList* str_list_append_unique (StrList* list, const char* str); extern StrList* str_list_join (StrList* a, StrList* b); extern char* str_list_convert (const StrList* list); extern char* str_list_convert_node (const StrList* list); extern void str_list_print (const StrList* list); extern void str_list_print_wrap (const StrList* list, int line_length, int offset, int indent); extern int str_list_match_any (const StrList* list, const char* str); extern int str_list_match_node (const StrList* list, const char* str); extern StrList* str_list_match (const StrList* list, const char* str); extern int str_list_length (const StrList* list); #endif /* STRLIST_H_INCLUDED */ parted-2.3/m4/0000755000000000000000000000000011400006127010113 500000000000000parted-2.3/m4/wint_t.m40000644000000000000000000000172611370541032011614 00000000000000# wint_t.m4 serial 4 (gettext-0.18) dnl Copyright (C) 2003, 2007-2010 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 Test whether has the 'wint_t' type. dnl Prerequisite: AC_PROG_CC AC_DEFUN([gt_TYPE_WINT_T], [ AC_CACHE_CHECK([for wint_t], [gt_cv_c_wint_t], [AC_TRY_COMPILE([ /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include wint_t foo = (wchar_t)'\0';], , [gt_cv_c_wint_t=yes], [gt_cv_c_wint_t=no])]) if test $gt_cv_c_wint_t = yes; then AC_DEFINE([HAVE_WINT_T], [1], [Define if you have the 'wint_t' type.]) fi ]) parted-2.3/m4/argmatch.m40000644000000000000000000000051211370541032012066 00000000000000#serial 3 dnl Copyright (C) 2005, 2006, 2009, 2010 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. AC_DEFUN([gl_ARGMATCH], [ AC_LIBOBJ([argmatch]) ]) parted-2.3/m4/fcntl_h.m40000644000000000000000000000271511370541032011724 00000000000000# serial 12 # Configure fcntl.h. dnl Copyright (C) 2006, 2007, 2009, 2010 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 Written by Paul Eggert. AC_DEFUN([gl_FCNTL_H], [ AC_REQUIRE([gl_FCNTL_H_DEFAULTS]) AC_REQUIRE([gl_FCNTL_O_FLAGS]) gl_CHECK_NEXT_HEADERS([fcntl.h]) dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use, if it is not common dnl enough to be declared everywhere. gl_WARN_ON_USE_PREPARE([[#include ]], [fcntl openat]) ]) AC_DEFUN([gl_FCNTL_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_FCNTL_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) AC_DEFUN([gl_FCNTL_H_DEFAULTS], [ GNULIB_FCNTL=0; AC_SUBST([GNULIB_FCNTL]) GNULIB_OPEN=0; AC_SUBST([GNULIB_OPEN]) GNULIB_OPENAT=0; AC_SUBST([GNULIB_OPENAT]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_FCNTL=1; AC_SUBST([HAVE_FCNTL]) HAVE_OPENAT=1; AC_SUBST([HAVE_OPENAT]) REPLACE_FCNTL=0; AC_SUBST([REPLACE_FCNTL]) REPLACE_OPEN=0; AC_SUBST([REPLACE_OPEN]) REPLACE_OPENAT=0; AC_SUBST([REPLACE_OPENAT]) ]) parted-2.3/m4/stat.m40000644000000000000000000000452611370541032011264 00000000000000# serial 4 # Copyright (C) 2009, 2010 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STAT], [ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_REQUIRE([gl_AC_DOS]) AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) AC_CHECK_FUNCS_ONCE([lstat]) dnl mingw is the only known platform where stat(".") and stat("./") differ AC_CACHE_CHECK([whether stat handles trailing slashes on directories], [gl_cv_func_stat_dir_slash], [AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[struct stat st; return stat (".", &st) != stat ("./", &st);]])], [gl_cv_func_stat_dir_slash=yes], [gl_cv_func_stat_dir_slash=no], [case $host_os in mingw*) gl_cv_func_stat_dir_slash="guessing no";; *) gl_cv_func_stat_dir_slash="guessing yes";; esac])]) dnl Solaris 9 mistakenly succeeds on stat("file/") dnl FreeBSD 7.2 mistakenly succeeds on stat("link-to-file/") AC_CACHE_CHECK([whether stat handles trailing slashes on files], [gl_cv_func_stat_file_slash], [touch conftest.tmp # Assume that if we have lstat, we can also check symlinks. if test $ac_cv_func_lstat = yes; then ln -s conftest.tmp conftest.lnk fi AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[struct stat st; if (!stat ("conftest.tmp/", &st)) return 1; #if HAVE_LSTAT if (!stat ("conftest.lnk/", &st)) return 2; #endif ]])], [gl_cv_func_stat_file_slash=yes], [gl_cv_func_stat_file_slash=no], [gl_cv_func_stat_file_slash="guessing no"]) rm -f conftest.tmp conftest.lnk]) case $gl_cv_func_stat_dir_slash in *no) REPLACE_STAT=1 AC_DEFINE([REPLACE_FUNC_STAT_DIR], [1], [Define to 1 if stat needs help when passed a directory name with a trailing slash]);; esac case $gl_cv_func_stat_file_slash in *no) REPLACE_STAT=1 AC_DEFINE([REPLACE_FUNC_STAT_FILE], [1], [Define to 1 if stat needs help when passed a file name with a trailing slash]);; esac if test $REPLACE_STAT = 1; then AC_LIBOBJ([stat]) dnl Prerequisites of lib/stat.c. AC_REQUIRE([AC_C_INLINE]) fi ]) parted-2.3/m4/wctype_h.m40000644000000000000000000000443511370541032012132 00000000000000# wctype_h.m4 serial 6 dnl A placeholder for ISO C99 , for platforms that lack it. dnl Copyright (C) 2006-2010 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 Written by Paul Eggert. AC_DEFUN([gl_WCTYPE_H], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) AC_CHECK_FUNCS_ONCE([iswcntrl]) if test $ac_cv_func_iswcntrl = yes; then HAVE_ISWCNTRL=1 else HAVE_ISWCNTRL=0 fi AC_SUBST([HAVE_ISWCNTRL]) AC_CHECK_FUNCS_ONCE([iswblank]) if test $ac_cv_func_iswblank = yes; then HAVE_ISWBLANK=1 else HAVE_ISWBLANK=0 fi AC_SUBST([HAVE_ISWBLANK]) AC_CHECK_HEADERS_ONCE([wctype.h]) AC_REQUIRE([AC_C_INLINE]) AC_REQUIRE([gt_TYPE_WINT_T]) if test $gt_cv_c_wint_t = yes; then HAVE_WINT_T=1 else HAVE_WINT_T=0 fi AC_SUBST([HAVE_WINT_T]) if test $ac_cv_header_wctype_h = yes; then if test $ac_cv_func_iswcntrl = yes; then dnl Linux libc5 has an iswprint function that returns 0 for all arguments. dnl The other functions are likely broken in the same way. AC_CACHE_CHECK([whether iswcntrl works], [gl_cv_func_iswcntrl_works], [ AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include #include #include #include #include int main () { return iswprint ('x') == 0; }]])], [gl_cv_func_iswcntrl_works=yes], [gl_cv_func_iswcntrl_works=no], [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include #if __GNU_LIBRARY__ == 1 Linux libc5 i18n is broken. #endif]], [])], [gl_cv_func_iswcntrl_works=yes], [gl_cv_func_iswcntrl_works=no]) ]) ]) fi gl_CHECK_NEXT_HEADERS([wctype.h]) HAVE_WCTYPE_H=1 else HAVE_WCTYPE_H=0 fi AC_SUBST([HAVE_WCTYPE_H]) if test "$gl_cv_func_iswcntrl_works" = no; then REPLACE_ISWCNTRL=1 else REPLACE_ISWCNTRL=0 fi AC_SUBST([REPLACE_ISWCNTRL]) ]) parted-2.3/m4/00gnulib.m40000644000000000000000000000252211370541032011723 00000000000000# 00gnulib.m4 serial 2 dnl Copyright (C) 2009-2010 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 file must be named something that sorts before all other dnl gnulib-provided .m4 files. It is needed until such time as we can dnl assume Autoconf 2.64, with its improved AC_DEFUN_ONCE semantics. # AC_DEFUN_ONCE([NAME], VALUE) # ---------------------------- # Define NAME to expand to VALUE on the first use (whether by direct # expansion, or by AC_REQUIRE), and to nothing on all subsequent uses. # Avoid bugs in AC_REQUIRE in Autoconf 2.63 and earlier. This # definition is slower than the version in Autoconf 2.64, because it # can only use interfaces that existed since 2.59; but it achieves the # same effect. Quoting is necessary to avoid confusing Automake. m4_version_prereq([2.63.263], [], [m4_define([AC][_DEFUN_ONCE], [AC][_DEFUN([$1], [AC_REQUIRE([_gl_DEFUN_ONCE([$1])], [m4_indir([_gl_DEFUN_ONCE([$1])])])])]dnl [AC][_DEFUN([_gl_DEFUN_ONCE([$1])], [$2])])]) # gl_00GNULIB # ----------- # Witness macro that this file has been included. Needed to force # Automake to include this file prior to all other gnulib .m4 files. AC_DEFUN([gl_00GNULIB]) parted-2.3/m4/include_next.m40000644000000000000000000001716711370541032012777 00000000000000# include_next.m4 serial 14 dnl Copyright (C) 2006-2010 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 Paul Eggert and Derek Price. dnl Sets INCLUDE_NEXT and PRAGMA_SYSTEM_HEADER. dnl dnl INCLUDE_NEXT expands to 'include_next' if the compiler supports it, or to dnl 'include' otherwise. dnl dnl INCLUDE_NEXT_AS_FIRST_DIRECTIVE expands to 'include_next' if the compiler dnl supports it in the special case that it is the first include directive in dnl the given file, or to 'include' otherwise. dnl dnl PRAGMA_SYSTEM_HEADER can be used in files that contain #include_next, dnl so as to avoid GCC warnings when the gcc option -pedantic is used. dnl '#pragma GCC system_header' has the same effect as if the file was found dnl through the include search path specified with '-isystem' options (as dnl opposed to the search path specified with '-I' options). Namely, gcc dnl does not warn about some things, and on some systems (Solaris and Interix) dnl __STDC__ evaluates to 0 instead of to 1. The latter is an undesired side dnl effect; we are therefore careful to use 'defined __STDC__' or '1' instead dnl of plain '__STDC__'. AC_DEFUN([gl_INCLUDE_NEXT], [ AC_LANG_PREPROC_REQUIRE() AC_CACHE_CHECK([whether the preprocessor supports include_next], [gl_cv_have_include_next], [rm -rf conftestd1a conftestd1b conftestd2 mkdir conftestd1a conftestd1b conftestd2 dnl IBM C 9.0, 10.1 (original versions, prior to the 2009-01 updates) on dnl AIX 6.1 support include_next when used as first preprocessor directive dnl in a file, but not when preceded by another include directive. Check dnl for this bug by including . dnl Additionally, with this same compiler, include_next is a no-op when dnl used in a header file that was included by specifying its absolute dnl file name. Despite these two bugs, include_next is used in the dnl compiler's . By virtue of the second bug, we need to use dnl include_next as well in this case. cat < conftestd1a/conftest.h #define DEFINED_IN_CONFTESTD1 #include_next #ifdef DEFINED_IN_CONFTESTD2 int foo; #else #error "include_next doesn't work" #endif EOF cat < conftestd1b/conftest.h #define DEFINED_IN_CONFTESTD1 #include #include_next #ifdef DEFINED_IN_CONFTESTD2 int foo; #else #error "include_next doesn't work" #endif EOF cat < conftestd2/conftest.h #ifndef DEFINED_IN_CONFTESTD1 #error "include_next test doesn't work" #endif #define DEFINED_IN_CONFTESTD2 EOF gl_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1b -Iconftestd2" AC_COMPILE_IFELSE([#include ], [gl_cv_have_include_next=yes], [CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1a -Iconftestd2" AC_COMPILE_IFELSE([#include ], [gl_cv_have_include_next=buggy], [gl_cv_have_include_next=no]) ]) CPPFLAGS="$gl_save_CPPFLAGS" rm -rf conftestd1a conftestd1b conftestd2 ]) PRAGMA_SYSTEM_HEADER= if test $gl_cv_have_include_next = yes; then INCLUDE_NEXT=include_next INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next if test -n "$GCC"; then PRAGMA_SYSTEM_HEADER='#pragma GCC system_header' fi else if test $gl_cv_have_include_next = buggy; then INCLUDE_NEXT=include INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next else INCLUDE_NEXT=include INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include fi fi AC_SUBST([INCLUDE_NEXT]) AC_SUBST([INCLUDE_NEXT_AS_FIRST_DIRECTIVE]) AC_SUBST([PRAGMA_SYSTEM_HEADER]) ]) # gl_CHECK_NEXT_HEADERS(HEADER1 HEADER2 ...) # ------------------------------------------ # For each arg foo.h, if #include_next works, define NEXT_FOO_H to be # ''; otherwise define it to be # '"///usr/include/foo.h"', or whatever other absolute file name is suitable. # Also, if #include_next works as first preprocessing directive in a file, # define NEXT_AS_FIRST_DIRECTIVE_FOO_H to be ''; otherwise define it to # be # '"///usr/include/foo.h"', or whatever other absolute file name is suitable. # That way, a header file with the following line: # #@INCLUDE_NEXT@ @NEXT_FOO_H@ # or # #@INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ @NEXT_AS_FIRST_DIRECTIVE_FOO_H@ # behaves (after sed substitution) as if it contained # #include_next # even if the compiler does not support include_next. # The three "///" are to pacify Sun C 5.8, which otherwise would say # "warning: #include of /usr/include/... may be non-portable". # Use `""', not `<>', so that the /// cannot be confused with a C99 comment. # Note: This macro assumes that the header file is not empty after # preprocessing, i.e. it does not only define preprocessor macros but also # provides some type/enum definitions or function/variable declarations. AC_DEFUN([gl_CHECK_NEXT_HEADERS], [ AC_REQUIRE([gl_INCLUDE_NEXT]) AC_REQUIRE([AC_CANONICAL_HOST]) AC_CHECK_HEADERS_ONCE([$1]) m4_foreach_w([gl_HEADER_NAME], [$1], [AS_VAR_PUSHDEF([gl_next_header], [gl_cv_next_]m4_defn([gl_HEADER_NAME])) if test $gl_cv_have_include_next = yes; then AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>']) else AC_CACHE_CHECK( [absolute name of <]m4_defn([gl_HEADER_NAME])[>], m4_defn([gl_next_header]), [AS_VAR_PUSHDEF([gl_header_exists], [ac_cv_header_]m4_defn([gl_HEADER_NAME])) if test AS_VAR_GET(gl_header_exists) = yes; then AC_LANG_CONFTEST( [AC_LANG_SOURCE( [[#include <]]m4_dquote(m4_defn([gl_HEADER_NAME]))[[>]] )]) dnl AIX "xlc -E" and "cc -E" omit #line directives for header files dnl that contain only a #include of other header files and no dnl non-comment tokens of their own. This leads to a failure to dnl detect the absolute name of , , dnl and others. The workaround is to force preservation of comments dnl through option -C. This ensures all necessary #line directives dnl are present. GCC supports option -C as well. case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac dnl eval is necessary to expand gl_absname_cpp. dnl Ultrix and Pyramid sh refuse to redirect output of eval, dnl so use subshell. AS_VAR_SET([gl_next_header], ['"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | sed -n '\#/]m4_defn([gl_HEADER_NAME])[#{ s#.*"\(.*/]m4_defn([gl_HEADER_NAME])[\)".*#\1# s#^/[^/]#//&# p q }'`'"']) else AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>']) fi AS_VAR_POPDEF([gl_header_exists])]) fi AC_SUBST( AS_TR_CPP([NEXT_]m4_defn([gl_HEADER_NAME])), [AS_VAR_GET([gl_next_header])]) if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'gl_HEADER_NAME'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=AS_VAR_GET([gl_next_header]) fi AC_SUBST( AS_TR_CPP([NEXT_AS_FIRST_DIRECTIVE_]m4_defn([gl_HEADER_NAME])), [$gl_next_as_first_directive]) AS_VAR_POPDEF([gl_next_header])]) ]) parted-2.3/m4/errno_h.m40000644000000000000000000000554511370541032011747 00000000000000# errno_h.m4 serial 6 dnl Copyright (C) 2004, 2006, 2008, 2009, 2010 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. AC_DEFUN_ONCE([gl_HEADER_ERRNO_H], [ AC_REQUIRE([AC_PROG_CC]) AC_CACHE_CHECK([for complete errno.h], [gl_cv_header_errno_h_complete], [ AC_EGREP_CPP([booboo],[ #include #if !defined ENOMSG booboo #endif #if !defined EIDRM booboo #endif #if !defined ENOLINK booboo #endif #if !defined EPROTO booboo #endif #if !defined EMULTIHOP booboo #endif #if !defined EBADMSG booboo #endif #if !defined EOVERFLOW booboo #endif #if !defined ENOTSUP booboo #endif #if !defined ESTALE booboo #endif #if !defined ECANCELED booboo #endif ], [gl_cv_header_errno_h_complete=no], [gl_cv_header_errno_h_complete=yes]) ]) if test $gl_cv_header_errno_h_complete = yes; then ERRNO_H='' else gl_CHECK_NEXT_HEADERS([errno.h]) ERRNO_H='errno.h' fi AC_SUBST([ERRNO_H]) gl_REPLACE_ERRNO_VALUE([EMULTIHOP]) gl_REPLACE_ERRNO_VALUE([ENOLINK]) gl_REPLACE_ERRNO_VALUE([EOVERFLOW]) ]) # Assuming $1 = EOVERFLOW. # The EOVERFLOW errno value ought to be defined in , according to # POSIX. But some systems (like OpenBSD 4.0 or AIX 3) don't define it, and # some systems (like OSF/1) define it when _XOPEN_SOURCE_EXTENDED is defined. # Check for the value of EOVERFLOW. # Set the variables EOVERFLOW_HIDDEN and EOVERFLOW_VALUE. AC_DEFUN([gl_REPLACE_ERRNO_VALUE], [ if test -n "$ERRNO_H"; then AC_CACHE_CHECK([for ]$1[ value], [gl_cv_header_errno_h_]$1, [ AC_EGREP_CPP([yes],[ #include #ifdef ]$1[ yes #endif ], [gl_cv_header_errno_h_]$1[=yes], [gl_cv_header_errno_h_]$1[=no]) if test $gl_cv_header_errno_h_]$1[ = no; then AC_EGREP_CPP([yes],[ #define _XOPEN_SOURCE_EXTENDED 1 #include #ifdef ]$1[ yes #endif ], [gl_cv_header_errno_h_]$1[=hidden]) if test $gl_cv_header_errno_h_]$1[ = hidden; then dnl The macro exists but is hidden. dnl Define it to the same value. AC_COMPUTE_INT([gl_cv_header_errno_h_]$1, $1, [ #define _XOPEN_SOURCE_EXTENDED 1 #include /* The following two lines are a workaround against an autoconf-2.52 bug. */ #include #include ]) fi fi ]) case $gl_cv_header_errno_h_]$1[ in yes | no) ]$1[_HIDDEN=0; ]$1[_VALUE= ;; *) ]$1[_HIDDEN=1; ]$1[_VALUE="$gl_cv_header_errno_h_]$1[" ;; esac AC_SUBST($1[_HIDDEN]) AC_SUBST($1[_VALUE]) fi ]) dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in. dnl Remove this when we can assume autoconf >= 2.61. m4_ifdef([AC_COMPUTE_INT], [], [ AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])]) ]) parted-2.3/m4/malloca.m40000644000000000000000000000110111370541032011703 00000000000000# malloca.m4 serial 1 dnl Copyright (C) 2003-2004, 2006-2007, 2009-2010 Free Software Foundation, dnl 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. AC_DEFUN([gl_MALLOCA], [ dnl Use the autoconf tests for alloca(), but not the AC_SUBSTed variables dnl @ALLOCA@ and @LTALLOCA@. dnl gl_FUNC_ALLOCA dnl Already brought in by the module dependencies. AC_REQUIRE([gl_EEMALLOC]) AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) ]) parted-2.3/m4/mbstate_t.m40000644000000000000000000000220611370541032012264 00000000000000# mbstate_t.m4 serial 12 dnl Copyright (C) 2000-2002, 2008-2010 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. # From Paul Eggert. # BeOS 5 has but does not define mbstate_t, # so you can't declare an object of that type. # Check for this incompatibility with Standard C. # AC_TYPE_MBSTATE_T # ----------------- AC_DEFUN([AC_TYPE_MBSTATE_T], [ AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) dnl for HP-UX 11.11 AC_CACHE_CHECK([for mbstate_t], [ac_cv_type_mbstate_t], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [AC_INCLUDES_DEFAULT[ # include ]], [[mbstate_t x; return sizeof x;]])], [ac_cv_type_mbstate_t=yes], [ac_cv_type_mbstate_t=no])]) if test $ac_cv_type_mbstate_t = yes; then AC_DEFINE([HAVE_MBSTATE_T], [1], [Define to 1 if declares mbstate_t.]) else AC_DEFINE([mbstate_t], [int], [Define to a type if does not define.]) fi ]) parted-2.3/m4/environ.m40000644000000000000000000000222211370541032011760 00000000000000# environ.m4 serial 3 dnl Copyright (C) 2001-2004, 2006-2010 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. AC_DEFUN_ONCE([gl_ENVIRON], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl Persuade glibc to declare environ. AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) gt_CHECK_VAR_DECL([#include ], environ) if test $gt_cv_var_environ_declaration != yes; then HAVE_DECL_ENVIRON=0 fi ]) # Check if a variable is properly declared. # gt_CHECK_VAR_DECL(includes,variable) AC_DEFUN([gt_CHECK_VAR_DECL], [ define([gt_cv_var], [gt_cv_var_]$2[_declaration]) AC_MSG_CHECKING([if $2 is properly declared]) AC_CACHE_VAL([gt_cv_var], [ AC_TRY_COMPILE([$1 extern struct { int foo; } $2;], [$2.foo = 1;], gt_cv_var=no, gt_cv_var=yes)]) AC_MSG_RESULT([$gt_cv_var]) if test $gt_cv_var = yes; then AC_DEFINE([HAVE_]translit($2, [a-z], [A-Z])[_DECL], 1, [Define if you have the declaration of $2.]) fi undefine([gt_cv_var]) ]) parted-2.3/m4/error.m40000644000000000000000000000105511370541032011434 00000000000000#serial 12 # Copyright (C) 1996-1998, 2001-2004, 2009-2010 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_ERROR], [ AC_FUNC_ERROR_AT_LINE dnl Note: AC_FUNC_ERROR_AT_LINE does AC_LIBSOURCES([error.h, error.c]). gl_PREREQ_ERROR ]) # Prerequisites of lib/error.c. AC_DEFUN([gl_PREREQ_ERROR], [ AC_REQUIRE([AC_FUNC_STRERROR_R]) AC_REQUIRE([AC_C_INLINE]) : ]) parted-2.3/m4/fcntl-o.m40000644000000000000000000000563411370541032011654 00000000000000# fcntl-o.m4 serial 1 dnl Copyright (C) 2006, 2009-2010 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 Written by Paul Eggert. # Test whether the flags O_NOATIME and O_NOFOLLOW actually work. # Define HAVE_WORKING_O_NOATIME to 1 if O_NOATIME works, or to 0 otherwise. # Define HAVE_WORKING_O_NOFOLLOW to 1 if O_NOFOLLOW works, or to 0 otherwise. AC_DEFUN([gl_FCNTL_O_FLAGS], [ dnl Persuade glibc to define O_NOATIME and O_NOFOLLOW. AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_CACHE_CHECK([for working fcntl.h], [gl_cv_header_working_fcntl_h], [AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include #include #include #include #ifndef O_NOATIME #define O_NOATIME 0 #endif #ifndef O_NOFOLLOW #define O_NOFOLLOW 0 #endif static int const constants[] = { O_CREAT, O_EXCL, O_NOCTTY, O_TRUNC, O_APPEND, O_NONBLOCK, O_SYNC, O_ACCMODE, O_RDONLY, O_RDWR, O_WRONLY }; ]], [[ int status = !constants; { static char const sym[] = "conftest.sym"; if (symlink (".", sym) != 0 || close (open (sym, O_RDONLY | O_NOFOLLOW)) == 0) status |= 32; unlink (sym); } { static char const file[] = "confdefs.h"; int fd = open (file, O_RDONLY | O_NOATIME); char c; struct stat st0, st1; if (fd < 0 || fstat (fd, &st0) != 0 || sleep (1) != 0 || read (fd, &c, 1) != 1 || close (fd) != 0 || stat (file, &st1) != 0 || st0.st_atime != st1.st_atime) status |= 64; } return status;]])], [gl_cv_header_working_fcntl_h=yes], [case $? in #( 32) gl_cv_header_working_fcntl_h='no (bad O_NOFOLLOW)';; #( 64) gl_cv_header_working_fcntl_h='no (bad O_NOATIME)';; #( 96) gl_cv_header_working_fcntl_h='no (bad O_NOATIME, O_NOFOLLOW)';; #( *) gl_cv_header_working_fcntl_h='no';; esac], [gl_cv_header_working_fcntl_h=cross-compiling])]) case $gl_cv_header_working_fcntl_h in #( *O_NOATIME* | no | cross-compiling) ac_val=0;; #( *) ac_val=1;; esac AC_DEFINE_UNQUOTED([HAVE_WORKING_O_NOATIME], [$ac_val], [Define to 1 if O_NOATIME works.]) case $gl_cv_header_working_fcntl_h in #( *O_NOFOLLOW* | no | cross-compiling) ac_val=0;; #( *) ac_val=1;; esac AC_DEFINE_UNQUOTED([HAVE_WORKING_O_NOFOLLOW], [$ac_val], [Define to 1 if O_NOFOLLOW works.]) ]) parted-2.3/m4/nls.m40000644000000000000000000000231511370541032011077 00000000000000# nls.m4 serial 5 (gettext-0.18) dnl Copyright (C) 1995-2003, 2005-2006, 2008-2010 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. AC_PREREQ([2.50]) AC_DEFUN([AM_NLS], [ AC_MSG_CHECKING([whether NLS is requested]) dnl Default is enabled NLS AC_ARG_ENABLE([nls], [ --disable-nls do not use Native Language Support], USE_NLS=$enableval, USE_NLS=yes) AC_MSG_RESULT([$USE_NLS]) AC_SUBST([USE_NLS]) ]) parted-2.3/m4/inttypes.m40000644000000000000000000002244011370541032012163 00000000000000# inttypes.m4 serial 18 dnl Copyright (C) 2006-2010 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 Derek Price, Bruno Haible. dnl Test whether is supported or must be substituted. AC_DEFUN([gl_INTTYPES_H], [ AC_REQUIRE([gl_STDINT_H]) AC_REQUIRE([gt_INTTYPES_PRI]) AC_CHECK_HEADERS_ONCE([inttypes.h]) AC_CHECK_DECLS_ONCE([imaxabs]) AC_CHECK_DECLS_ONCE([imaxdiv]) AC_CHECK_DECLS_ONCE([strtoimax]) AC_CHECK_DECLS_ONCE([strtoumax]) dnl Now see if we need a substitute . dnl A complete requires dnl - a complete , dnl - the existence of an , dnl - that imaxabs, imaxdiv, strtoimax, strtoumax are declared, dnl - some additional tests. AC_CACHE_CHECK([whether inttypes.h conforms to C99], [gl_cv_header_working_inttypes_h], [gl_cv_header_working_inttypes_h=no if test "$gl_cv_header_working_stdint_h" = yes \ && test $ac_cv_header_inttypes_h = yes \ && test "$ac_cv_have_decl_imaxabs" = yes \ && test "$ac_cv_have_decl_imaxdiv" = yes \ && test "$ac_cv_have_decl_strtoimax" = yes \ && test "$ac_cv_have_decl_strtoumax" = yes; then AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ #include #define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */ #define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */ #define __STDC_FORMAT_MACROS 1 /* to make it work also in C++ mode */ #define _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H /* work if build isn't clean */ #include /* No need to duplicate the tests of stdint.m4; they are subsumed by $gl_cv_header_working_stdint_h = yes. */ /* Tests for macros supposed to be defined in inttypes.h. */ const char *k = /* implicit string concatenation */ #ifdef INT8_MAX PRId8 PRIi8 #endif #ifdef UINT8_MAX PRIo8 PRIu8 PRIx8 PRIX8 #endif #ifdef INT16_MAX PRId16 PRIi16 #endif #ifdef UINT16_MAX PRIo16 PRIu16 PRIx16 PRIX16 #endif #ifdef INT32_MAX PRId32 PRIi32 #endif #ifdef UINT32_MAX PRIo32 PRIu32 PRIx32 PRIX32 #endif #ifdef INT64_MAX PRId64 PRIi64 #endif #ifdef UINT64_MAX PRIo64 PRIu64 PRIx64 PRIX64 #endif PRIdLEAST8 PRIiLEAST8 PRIoLEAST8 PRIuLEAST8 PRIxLEAST8 PRIXLEAST8 PRIdLEAST16 PRIiLEAST16 PRIoLEAST16 PRIuLEAST16 PRIxLEAST16 PRIXLEAST16 PRIdLEAST32 PRIiLEAST32 PRIoLEAST32 PRIuLEAST32 PRIxLEAST32 PRIXLEAST32 PRIdLEAST64 PRIiLEAST64 PRIoLEAST64 PRIuLEAST64 PRIxLEAST64 PRIXLEAST64 PRIdFAST8 PRIiFAST8 PRIoFAST8 PRIuFAST8 PRIxFAST8 PRIXFAST8 PRIdFAST16 PRIiFAST16 PRIoFAST16 PRIuFAST16 PRIxFAST16 PRIXFAST16 PRIdFAST32 PRIiFAST32 PRIoFAST32 PRIuFAST32 PRIxFAST32 PRIXFAST32 PRIdFAST64 PRIiFAST64 PRIoFAST64 PRIuFAST64 PRIxFAST64 PRIXFAST64 PRIdMAX PRIiMAX PRIoMAX PRIuMAX PRIxMAX PRIXMAX #ifdef INTPTR_MAX PRIdPTR PRIiPTR #endif #ifdef UINTPTR_MAX PRIoPTR PRIuPTR PRIxPTR PRIXPTR #endif ; const char *l = /* implicit string concatenation */ #ifdef INT8_MAX SCNd8 SCNi8 #endif #ifdef UINT8_MAX SCNo8 SCNu8 SCNx8 #endif #ifdef INT16_MAX SCNd16 SCNi16 #endif #ifdef UINT16_MAX SCNo16 SCNu16 SCNx16 #endif #ifdef INT32_MAX SCNd32 SCNi32 #endif #ifdef UINT32_MAX SCNo32 SCNu32 SCNx32 #endif #ifdef INT64_MAX SCNd64 SCNi64 #endif #ifdef UINT64_MAX SCNo64 SCNu64 SCNx64 #endif SCNdLEAST8 SCNiLEAST8 SCNoLEAST8 SCNuLEAST8 SCNxLEAST8 SCNdLEAST16 SCNiLEAST16 SCNoLEAST16 SCNuLEAST16 SCNxLEAST16 SCNdLEAST32 SCNiLEAST32 SCNoLEAST32 SCNuLEAST32 SCNxLEAST32 SCNdLEAST64 SCNiLEAST64 SCNoLEAST64 SCNuLEAST64 SCNxLEAST64 SCNdFAST8 SCNiFAST8 SCNoFAST8 SCNuFAST8 SCNxFAST8 SCNdFAST16 SCNiFAST16 SCNoFAST16 SCNuFAST16 SCNxFAST16 SCNdFAST32 SCNiFAST32 SCNoFAST32 SCNuFAST32 SCNxFAST32 SCNdFAST64 SCNiFAST64 SCNoFAST64 SCNuFAST64 SCNxFAST64 SCNdMAX SCNiMAX SCNoMAX SCNuMAX SCNxMAX #ifdef INTPTR_MAX SCNdPTR SCNiPTR #endif #ifdef UINTPTR_MAX SCNoPTR SCNuPTR SCNxPTR #endif ; ]])], [gl_cv_header_working_inttypes_h=yes]) fi]) dnl Override always, so that the portability warnings work. AC_REQUIRE([gl_INTTYPES_H_DEFAULTS]) gl_CHECK_NEXT_HEADERS([inttypes.h]) AC_REQUIRE([gl_MULTIARCH]) dnl Ensure that defines the limit macros, since gnulib's dnl relies on them. This macro is only needed when a dnl C++ compiler is in use; it has no effect for a C compiler. dnl Also be careful to define __STDC_LIMIT_MACROS only when gnulib's dnl is going to be created, and to avoid redefinition warnings dnl if the __STDC_LIMIT_MACROS is already defined through the CPPFLAGS. AC_DEFINE([GL_TRIGGER_STDC_LIMIT_MACROS], [1], [Define to make the limit macros in visible.]) AH_VERBATIM([__STDC_LIMIT_MACROS_ZZZ], [/* Ensure that defines the limit macros, since gnulib's relies on them. */ #if defined __cplusplus && !defined __STDC_LIMIT_MACROS && GL_TRIGGER_STDC_LIMIT_MACROS # define __STDC_LIMIT_MACROS 1 #endif ]) PRIPTR_PREFIX= if test -n "$STDINT_H"; then dnl Using the gnulib . It always defines intptr_t to 'long'. PRIPTR_PREFIX='"l"' else dnl Using the system's . for glpfx in '' l ll I64; do case $glpfx in '') gltype1='int';; l) gltype1='long int';; ll) gltype1='long long int';; I64) gltype1='__int64';; esac AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include extern intptr_t foo; extern $gltype1 foo;]])], [PRIPTR_PREFIX='"'$glpfx'"']) test -n "$PRIPTR_PREFIX" && break done fi AC_SUBST([PRIPTR_PREFIX]) if test "$ac_cv_have_decl_imaxabs" = yes; then HAVE_DECL_IMAXABS=1 else HAVE_DECL_IMAXABS=0 fi if test "$ac_cv_have_decl_imaxdiv" = yes; then HAVE_DECL_IMAXDIV=1 else HAVE_DECL_IMAXDIV=0 fi if test "$ac_cv_have_decl_strtoimax" = yes; then HAVE_DECL_STRTOIMAX=1 else HAVE_DECL_STRTOIMAX=0 fi if test "$ac_cv_have_decl_strtoumax" = yes; then HAVE_DECL_STRTOUMAX=1 else HAVE_DECL_STRTOUMAX=0 fi gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION( [INT32_MAX_LT_INTMAX_MAX], [defined INT32_MAX && defined INTMAX_MAX], [INT32_MAX < INTMAX_MAX], [sizeof (int) < sizeof (long long int)]) if test $APPLE_UNIVERSAL_BUILD = 0; then gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION( [INT64_MAX_EQ_LONG_MAX], [defined INT64_MAX], [INT64_MAX == LONG_MAX], [sizeof (long long int) == sizeof (long int)]) else INT64_MAX_EQ_LONG_MAX=-1 fi gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION( [UINT32_MAX_LT_UINTMAX_MAX], [defined UINT32_MAX && defined UINTMAX_MAX], [UINT32_MAX < UINTMAX_MAX], [sizeof (unsigned int) < sizeof (unsigned long long int)]) if test $APPLE_UNIVERSAL_BUILD = 0; then gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION( [UINT64_MAX_EQ_ULONG_MAX], [defined UINT64_MAX], [UINT64_MAX == ULONG_MAX], [sizeof (unsigned long long int) == sizeof (unsigned long int)]) else UINT64_MAX_EQ_ULONG_MAX=-1 fi dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use. gl_WARN_ON_USE_PREPARE([[#include ]], [imaxabs imaxdiv strtoimax strtoumax]) ]) # Define the symbol $1 to be 1 if the condition is true, 0 otherwise. # If $2 is true, the condition is $3; otherwise if long long int is supported # approximate the condition with $4; otherwise, assume the condition is false. # The condition should work on all C99 platforms; the approximations should be # good enough to work on all practical pre-C99 platforms. # $2 is evaluated by the C preprocessor, $3 and $4 as compile-time constants. AC_DEFUN([gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION], [ AC_CACHE_CHECK([whether $3], [gl_cv_test_$1], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[/* Work also in C++ mode. */ #define __STDC_LIMIT_MACROS 1 /* Work if build is not clean. */ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H #include #if HAVE_STDINT_H #include #endif #if $2 #define CONDITION ($3) #elif HAVE_LONG_LONG_INT #define CONDITION ($4) #else #define CONDITION 0 #endif int test[CONDITION ? 1 : -1];]])], [gl_cv_test_$1=yes], [gl_cv_test_$1=no])]) if test $gl_cv_test_$1 = yes; then $1=1; else $1=0; fi AC_SUBST([$1]) ]) AC_DEFUN([gl_INTTYPES_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_INTTYPES_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) ]) AC_DEFUN([gl_INTTYPES_H_DEFAULTS], [ GNULIB_IMAXABS=0; AC_SUBST([GNULIB_IMAXABS]) GNULIB_IMAXDIV=0; AC_SUBST([GNULIB_IMAXDIV]) GNULIB_STRTOIMAX=0; AC_SUBST([GNULIB_STRTOIMAX]) GNULIB_STRTOUMAX=0; AC_SUBST([GNULIB_STRTOUMAX]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_DECL_IMAXABS=1; AC_SUBST([HAVE_DECL_IMAXABS]) HAVE_DECL_IMAXDIV=1; AC_SUBST([HAVE_DECL_IMAXDIV]) HAVE_DECL_STRTOIMAX=1; AC_SUBST([HAVE_DECL_STRTOIMAX]) HAVE_DECL_STRTOUMAX=1; AC_SUBST([HAVE_DECL_STRTOUMAX]) ]) parted-2.3/m4/longlong.m40000644000000000000000000001057511370541032012131 00000000000000# longlong.m4 serial 14 dnl Copyright (C) 1999-2007, 2009-2010 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 Paul Eggert. # Define HAVE_LONG_LONG_INT if 'long long int' works. # This fixes a bug in Autoconf 2.61, but can be removed once we # assume 2.62 everywhere. # Note: If the type 'long long int' exists but is only 32 bits large # (as on some very old compilers), HAVE_LONG_LONG_INT will not be # defined. In this case you can treat 'long long int' like 'long int'. AC_DEFUN([AC_TYPE_LONG_LONG_INT], [ AC_CACHE_CHECK([for long long int], [ac_cv_type_long_long_int], [AC_LINK_IFELSE( [_AC_TYPE_LONG_LONG_SNIPPET], [dnl This catches a bug in Tandem NonStop Kernel (OSS) cc -O circa 2004. dnl If cross compiling, assume the bug isn't important, since dnl nobody cross compiles for this platform as far as we know. AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[@%:@include @%:@ifndef LLONG_MAX @%:@ define HALF \ (1LL << (sizeof (long long int) * CHAR_BIT - 2)) @%:@ define LLONG_MAX (HALF - 1 + HALF) @%:@endif]], [[long long int n = 1; int i; for (i = 0; ; i++) { long long int m = n << i; if (m >> i != n) return 1; if (LLONG_MAX / 2 < m) break; } return 0;]])], [ac_cv_type_long_long_int=yes], [ac_cv_type_long_long_int=no], [ac_cv_type_long_long_int=yes])], [ac_cv_type_long_long_int=no])]) if test $ac_cv_type_long_long_int = yes; then AC_DEFINE([HAVE_LONG_LONG_INT], [1], [Define to 1 if the system has the type `long long int'.]) fi ]) # Define HAVE_UNSIGNED_LONG_LONG_INT if 'unsigned long long int' works. # This fixes a bug in Autoconf 2.61, but can be removed once we # assume 2.62 everywhere. # Note: If the type 'unsigned long long int' exists but is only 32 bits # large (as on some very old compilers), AC_TYPE_UNSIGNED_LONG_LONG_INT # will not be defined. In this case you can treat 'unsigned long long int' # like 'unsigned long int'. AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT], [ AC_CACHE_CHECK([for unsigned long long int], [ac_cv_type_unsigned_long_long_int], [AC_LINK_IFELSE( [_AC_TYPE_LONG_LONG_SNIPPET], [ac_cv_type_unsigned_long_long_int=yes], [ac_cv_type_unsigned_long_long_int=no])]) if test $ac_cv_type_unsigned_long_long_int = yes; then AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], [1], [Define to 1 if the system has the type `unsigned long long int'.]) fi ]) # Expands to a C program that can be used to test for simultaneous support # of 'long long' and 'unsigned long long'. We don't want to say that # 'long long' is available if 'unsigned long long' is not, or vice versa, # because too many programs rely on the symmetry between signed and unsigned # integer types (excluding 'bool'). AC_DEFUN([_AC_TYPE_LONG_LONG_SNIPPET], [ AC_LANG_PROGRAM( [[/* For now, do not test the preprocessor; as of 2007 there are too many implementations with broken preprocessors. Perhaps this can be revisited in 2012. In the meantime, code should not expect #if to work with literals wider than 32 bits. */ /* Test literals. */ long long int ll = 9223372036854775807ll; long long int nll = -9223372036854775807LL; unsigned long long int ull = 18446744073709551615ULL; /* Test constant expressions. */ typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) ? 1 : -1)]; typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 ? 1 : -1)]; int i = 63;]], [[/* Test availability of runtime routines for shift and division. */ long long int llmax = 9223372036854775807ll; unsigned long long int ullmax = 18446744073709551615ull; return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) | (llmax / ll) | (llmax % ll) | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) | (ullmax / ull) | (ullmax % ull));]]) ]) parted-2.3/m4/dirname.m40000644000000000000000000000131011370541032011714 00000000000000#serial 8 -*- autoconf -*- dnl Copyright (C) 2002-2006, 2009-2010 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. AC_DEFUN([gl_DIRNAME], [ AC_REQUIRE([gl_DIRNAME_LGPL]) AC_LIBOBJ([basename]) AC_LIBOBJ([dirname]) ]) AC_DEFUN([gl_DIRNAME_LGPL], [ AC_LIBOBJ([basename-lgpl]) AC_LIBOBJ([dirname-lgpl]) AC_LIBOBJ([stripslash]) dnl Prerequisites of lib/dirname.h. AC_REQUIRE([gl_AC_DOS]) AC_REQUIRE([gl_DOUBLE_SLASH_ROOT]) dnl No prerequisites of lib/basename-lgpl.c, lib/dirname-lgpl.c, dnl lib/stripslash.c. ]) parted-2.3/m4/ltoptions.m40000644000000000000000000002724411400005556012346 00000000000000# Helper functions for option handling. -*- Autoconf -*- # # Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 6 ltoptions.m4 # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) # _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) # ------------------------------------------ m4_define([_LT_MANGLE_OPTION], [[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) # _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) # --------------------------------------- # Set option OPTION-NAME for macro MACRO-NAME, and if there is a # matching handler defined, dispatch to it. Other OPTION-NAMEs are # saved as a flag. m4_define([_LT_SET_OPTION], [m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), _LT_MANGLE_DEFUN([$1], [$2]), [m4_warning([Unknown $1 option `$2'])])[]dnl ]) # _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) # ------------------------------------------------------------ # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. m4_define([_LT_IF_OPTION], [m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) # _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) # ------------------------------------------------------- # Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME # are set. m4_define([_LT_UNLESS_OPTIONS], [m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), [m4_define([$0_found])])])[]dnl m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 ])[]dnl ]) # _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) # ---------------------------------------- # OPTION-LIST is a space-separated list of Libtool options associated # with MACRO-NAME. If any OPTION has a matching handler declared with # LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about # the unknown option and exit. m4_defun([_LT_SET_OPTIONS], [# Set options m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), [_LT_SET_OPTION([$1], _LT_Option)]) m4_if([$1],[LT_INIT],[ dnl dnl Simply set some default values (i.e off) if boolean options were not dnl specified: _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no ]) _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no ]) dnl dnl If no reference was made to various pairs of opposing options, then dnl we run the default mode handler for the pair. For example, if neither dnl `shared' nor `disable-shared' was passed, we enable building of shared dnl archives by default: _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], [_LT_ENABLE_FAST_INSTALL]) ]) ])# _LT_SET_OPTIONS ## --------------------------------- ## ## Macros to handle LT_INIT options. ## ## --------------------------------- ## # _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) # ----------------------------------------- m4_define([_LT_MANGLE_DEFUN], [[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) # LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) # ----------------------------------------------- m4_define([LT_OPTION_DEFINE], [m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl ])# LT_OPTION_DEFINE # dlopen # ------ LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes ]) AU_DEFUN([AC_LIBTOOL_DLOPEN], [_LT_SET_OPTION([LT_INIT], [dlopen]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `dlopen' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) # win32-dll # --------- # Declare package support for building win32 dll's. LT_OPTION_DEFINE([LT_INIT], [win32-dll], [enable_win32_dll=yes case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) AC_CHECK_TOOL(AS, as, false) AC_CHECK_TOOL(DLLTOOL, dlltool, false) AC_CHECK_TOOL(OBJDUMP, objdump, false) ;; esac test -z "$AS" && AS=as _LT_DECL([], [AS], [0], [Assembler program])dnl test -z "$DLLTOOL" && DLLTOOL=dlltool _LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl test -z "$OBJDUMP" && OBJDUMP=objdump _LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl ])# win32-dll AU_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_REQUIRE([AC_CANONICAL_HOST])dnl _LT_SET_OPTION([LT_INIT], [win32-dll]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `win32-dll' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) # _LT_ENABLE_SHARED([DEFAULT]) # ---------------------------- # implement the --enable-shared flag, and supports the `shared' and # `disable-shared' LT_INIT options. # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. m4_define([_LT_ENABLE_SHARED], [m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([shared], [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) _LT_DECL([build_libtool_libs], [enable_shared], [0], [Whether or not to build shared libraries]) ])# _LT_ENABLE_SHARED LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) # Old names: AC_DEFUN([AC_ENABLE_SHARED], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) ]) AC_DEFUN([AC_DISABLE_SHARED], [_LT_SET_OPTION([LT_INIT], [disable-shared]) ]) AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_ENABLE_SHARED], []) dnl AC_DEFUN([AM_DISABLE_SHARED], []) # _LT_ENABLE_STATIC([DEFAULT]) # ---------------------------- # implement the --enable-static flag, and support the `static' and # `disable-static' LT_INIT options. # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. m4_define([_LT_ENABLE_STATIC], [m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([static], [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) enable_static=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_static=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_static=]_LT_ENABLE_STATIC_DEFAULT) _LT_DECL([build_old_libs], [enable_static], [0], [Whether or not to build static libraries]) ])# _LT_ENABLE_STATIC LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) # Old names: AC_DEFUN([AC_ENABLE_STATIC], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) ]) AC_DEFUN([AC_DISABLE_STATIC], [_LT_SET_OPTION([LT_INIT], [disable-static]) ]) AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_ENABLE_STATIC], []) dnl AC_DEFUN([AM_DISABLE_STATIC], []) # _LT_ENABLE_FAST_INSTALL([DEFAULT]) # ---------------------------------- # implement the --enable-fast-install flag, and support the `fast-install' # and `disable-fast-install' LT_INIT options. # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. m4_define([_LT_ENABLE_FAST_INSTALL], [m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([fast-install], [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) _LT_DECL([fast_install], [enable_fast_install], [0], [Whether or not to optimize for fast installation])dnl ])# _LT_ENABLE_FAST_INSTALL LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) # Old names: AU_DEFUN([AC_ENABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `fast-install' option into LT_INIT's first parameter.]) ]) AU_DEFUN([AC_DISABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], [disable-fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `disable-fast-install' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) # _LT_WITH_PIC([MODE]) # -------------------- # implement the --with-pic flag, and support the `pic-only' and `no-pic' # LT_INIT options. # MODE is either `yes' or `no'. If omitted, it defaults to `both'. m4_define([_LT_WITH_PIC], [AC_ARG_WITH([pic], [AS_HELP_STRING([--with-pic], [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], [pic_mode="$withval"], [pic_mode=default]) test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) _LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl ])# _LT_WITH_PIC LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) # Old name: AU_DEFUN([AC_LIBTOOL_PICMODE], [_LT_SET_OPTION([LT_INIT], [pic-only]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `pic-only' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) ## ----------------- ## ## LTDL_INIT Options ## ## ----------------- ## m4_define([_LTDL_MODE], []) LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], [m4_define([_LTDL_MODE], [nonrecursive])]) LT_OPTION_DEFINE([LTDL_INIT], [recursive], [m4_define([_LTDL_MODE], [recursive])]) LT_OPTION_DEFINE([LTDL_INIT], [subproject], [m4_define([_LTDL_MODE], [subproject])]) m4_define([_LTDL_TYPE], []) LT_OPTION_DEFINE([LTDL_INIT], [installable], [m4_define([_LTDL_TYPE], [installable])]) LT_OPTION_DEFINE([LTDL_INIT], [convenience], [m4_define([_LTDL_TYPE], [convenience])]) parted-2.3/m4/realloc.m40000644000000000000000000000143411370541032011725 00000000000000# realloc.m4 serial 9 dnl Copyright (C) 2007, 2009, 2010 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. # gl_FUNC_REALLOC_POSIX # --------------------- # Test whether 'realloc' is POSIX compliant (sets errno to ENOMEM when it # fails), and replace realloc if it is not. AC_DEFUN([gl_FUNC_REALLOC_POSIX], [ AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) if test $gl_cv_func_malloc_posix = yes; then HAVE_REALLOC_POSIX=1 AC_DEFINE([HAVE_REALLOC_POSIX], [1], [Define if the 'realloc' function is POSIX compliant.]) else AC_LIBOBJ([realloc]) HAVE_REALLOC_POSIX=0 fi AC_SUBST([HAVE_REALLOC_POSIX]) ]) parted-2.3/m4/langinfo_h.m40000644000000000000000000000477411370541032012422 00000000000000# langinfo_h.m4 serial 6 dnl Copyright (C) 2009-2010 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. AC_DEFUN([gl_LANGINFO_H], [ AC_REQUIRE([gl_LANGINFO_H_DEFAULTS]) dnl Persuade glibc-2.0.6 to define CODESET. AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) dnl is always overridden, because of GNULIB_POSIXCHECK. gl_CHECK_NEXT_HEADERS([langinfo.h]) dnl Determine whether exists. It is missing on mingw and BeOS. HAVE_LANGINFO_CODESET=0 HAVE_LANGINFO_ERA=0 AC_CHECK_HEADERS_ONCE([langinfo.h]) if test $ac_cv_header_langinfo_h = yes; then HAVE_LANGINFO_H=1 dnl Determine what defines. CODESET and ERA etc. are missing dnl on OpenBSD 3.8. AC_CACHE_CHECK([whether langinfo.h defines CODESET], [gl_cv_header_langinfo_codeset], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include int a = CODESET; ]])], [gl_cv_header_langinfo_codeset=yes], [gl_cv_header_langinfo_codeset=no]) ]) if test $gl_cv_header_langinfo_codeset = yes; then HAVE_LANGINFO_CODESET=1 fi AC_CACHE_CHECK([whether langinfo.h defines ERA], [gl_cv_header_langinfo_era], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include int a = ERA; ]])], [gl_cv_header_langinfo_era=yes], [gl_cv_header_langinfo_era=no]) ]) if test $gl_cv_header_langinfo_era = yes; then HAVE_LANGINFO_ERA=1 fi else HAVE_LANGINFO_H=0 fi AC_SUBST([HAVE_LANGINFO_H]) AC_SUBST([HAVE_LANGINFO_CODESET]) AC_SUBST([HAVE_LANGINFO_ERA]) dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use. gl_WARN_ON_USE_PREPARE([[#include ]], [nl_langinfo]) ]) AC_DEFUN([gl_LANGINFO_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_LANGINFO_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) AC_DEFUN([gl_LANGINFO_H_DEFAULTS], [ GNULIB_NL_LANGINFO=0; AC_SUBST([GNULIB_NL_LANGINFO]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_NL_LANGINFO=1; AC_SUBST([HAVE_NL_LANGINFO]) REPLACE_NL_LANGINFO=0; AC_SUBST([REPLACE_NL_LANGINFO]) ]) parted-2.3/m4/glibc21.m40000644000000000000000000000152611370541032011531 00000000000000# glibc21.m4 serial 4 dnl Copyright (C) 2000-2002, 2004, 2008-2010 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. # Test for the GNU C Library, version 2.1 or newer. # From Bruno Haible. AC_DEFUN([gl_GLIBC21], [ AC_CACHE_CHECK([whether we are using the GNU C Library 2.1 or newer], [ac_cv_gnu_library_2_1], [AC_EGREP_CPP([Lucky GNU user], [ #include #ifdef __GNU_LIBRARY__ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) Lucky GNU user #endif #endif ], [ac_cv_gnu_library_2_1=yes], [ac_cv_gnu_library_2_1=no]) ] ) AC_SUBST([GLIBC21]) GLIBC21="$ac_cv_gnu_library_2_1" ] ) parted-2.3/m4/warnings.m40000644000000000000000000000263111370541032012134 00000000000000# warnings.m4 serial 2 dnl Copyright (C) 2008, 2009, 2010 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 Simon Josefsson # gl_AS_VAR_APPEND(VAR, VALUE) # ---------------------------- # Provide the functionality of AS_VAR_APPEND if Autoconf does not have it. m4_ifdef([AS_VAR_APPEND], [m4_copy([AS_VAR_APPEND], [gl_AS_VAR_APPEND])], [m4_define([gl_AS_VAR_APPEND], [AS_VAR_SET([$1], [AS_VAR_GET([$1])$2])])]) # gl_WARN_ADD(PARAMETER, [VARIABLE = WARN_CFLAGS]) # ------------------------------------------------ # Adds parameter to WARN_CFLAGS if the compiler supports it. For example, # gl_WARN_ADD([-Wparentheses]). AC_DEFUN([gl_WARN_ADD], [AS_VAR_PUSHDEF([gl_Warn], [gl_cv_warn_$1])dnl AC_CACHE_CHECK([whether compiler handles $1], [gl_Warn], [ save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="${CPPFLAGS} $1" AC_PREPROC_IFELSE([AC_LANG_PROGRAM([])], [AS_VAR_SET([gl_Warn], [yes])], [AS_VAR_SET([gl_Warn], [no])]) CPPFLAGS="$save_CPPFLAGS" ]) AS_VAR_PUSHDEF([gl_Flags], m4_if([$2], [], [[WARN_CFLAGS]], [[$2]]))dnl AS_VAR_IF([gl_Warn], [yes], [gl_AS_VAR_APPEND([gl_Flags], [" $1"])]) AS_VAR_POPDEF([gl_Flags])dnl AS_VAR_POPDEF([gl_Warn])dnl m4_ifval([$2], [AS_LITERAL_IF([$2], [AC_SUBST([$2])], [])])dnl ]) parted-2.3/m4/usleep.m40000644000000000000000000000267511370541032011611 00000000000000# usleep.m4 serial 1 dnl Copyright (C) 2009, 2010 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 macro intentionally does not check for select or nanosleep; dnl both of those modules can require external libraries. AC_DEFUN([gl_FUNC_USLEEP], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl usleep was required in POSIX 2001, but dropped as obsolete in dnl POSIX 2008; therefore, it is not always exposed in headers. AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CHECK_FUNCS_ONCE([usleep]) AC_CHECK_TYPE([useconds_t], [], [AC_DEFINE([useconds_t], [unsigned int], [Define to an unsigned 32-bit type if lacks this type.])]) if test $ac_cv_func_usleep = no; then HAVE_USLEEP=0 AC_LIBOBJ([usleep]) else dnl POSIX allows implementations to reject arguments larger than dnl 999999, but GNU guarantees it will work. AC_CACHE_CHECK([whether usleep allows large arguments], [gl_cv_func_usleep_works], [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include ]], [[return !!usleep (1000000);]])], [gl_cv_func_usleep_works=yes], [gl_cv_func_usleep_works=no], [gl_cv_func_usleep_works="guessing no"])]) if test "$gl_cv_func_usleep_works" != yes; then REPLACE_USLEEP=1 AC_LIBOBJ([usleep]) fi fi ]) parted-2.3/m4/progtest.m40000644000000000000000000000557311370541032012163 00000000000000# progtest.m4 serial 6 (gettext-0.18) dnl Copyright (C) 1996-2003, 2005, 2008-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1996. AC_PREREQ([2.50]) # Search path for a program which passes the given test. dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) AC_DEFUN([AM_PATH_PROG_WITH_TEST], [ # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "$2", so it can be a program name with args. set dummy $2; ac_word=[$]2 AC_MSG_CHECKING([for $ac_word]) AC_CACHE_VAL([ac_cv_path_$1], [case "[$]$1" in [[\\/]]* | ?:[[\\/]]*) ac_cv_path_$1="[$]$1" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in ifelse([$5], , $PATH, [$5]); do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD if [$3]; then ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" dnl If no 4th arg is given, leave the cache variable unset, dnl so AC_PATH_PROGS will keep looking. ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" ])dnl ;; esac])dnl $1="$ac_cv_path_$1" if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then AC_MSG_RESULT([$][$1]) else AC_MSG_RESULT([no]) fi AC_SUBST([$1])dnl ]) parted-2.3/m4/xstrndup.m40000644000000000000000000000063211370541032012172 00000000000000# xstrndup.m4 serial 2 dnl Copyright (C) 2003, 2009, 2010 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. AC_DEFUN([gl_XSTRNDUP], [ gl_PREREQ_XSTRNDUP ]) # Prerequisites of lib/xstrndup.c. AC_DEFUN([gl_PREREQ_XSTRNDUP], [ : ]) parted-2.3/m4/malloc.m40000644000000000000000000000271311370541032011554 00000000000000# malloc.m4 serial 9 dnl Copyright (C) 2007, 2009, 2010 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. # gl_FUNC_MALLOC_POSIX # -------------------- # Test whether 'malloc' is POSIX compliant (sets errno to ENOMEM when it # fails), and replace malloc if it is not. AC_DEFUN([gl_FUNC_MALLOC_POSIX], [ AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) if test $gl_cv_func_malloc_posix = yes; then HAVE_MALLOC_POSIX=1 AC_DEFINE([HAVE_MALLOC_POSIX], [1], [Define if the 'malloc' function is POSIX compliant.]) else AC_LIBOBJ([malloc]) HAVE_MALLOC_POSIX=0 fi AC_SUBST([HAVE_MALLOC_POSIX]) ]) # Test whether malloc, realloc, calloc are POSIX compliant, # Set gl_cv_func_malloc_posix to yes or no accordingly. AC_DEFUN([gl_CHECK_MALLOC_POSIX], [ AC_CACHE_CHECK([whether malloc, realloc, calloc are POSIX compliant], [gl_cv_func_malloc_posix], [ dnl It is too dangerous to try to allocate a large amount of memory: dnl some systems go to their knees when you do that. So assume that dnl all Unix implementations of the function are POSIX compliant. AC_TRY_COMPILE([], [#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ choke me #endif ], [gl_cv_func_malloc_posix=yes], [gl_cv_func_malloc_posix=no]) ]) ]) parted-2.3/m4/eealloc.m40000644000000000000000000000172411370541032011712 00000000000000# eealloc.m4 serial 2 dnl Copyright (C) 2003, 2009, 2010 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. AC_DEFUN([gl_EEALLOC], [ AC_REQUIRE([gl_EEMALLOC]) AC_REQUIRE([gl_EEREALLOC]) AC_REQUIRE([AC_C_INLINE]) ]) AC_DEFUN([gl_EEMALLOC], [ _AC_FUNC_MALLOC_IF( [gl_cv_func_malloc_0_nonnull=1], [gl_cv_func_malloc_0_nonnull=0]) AC_DEFINE_UNQUOTED([MALLOC_0_IS_NONNULL], [$gl_cv_func_malloc_0_nonnull], [If malloc(0) is != NULL, define this to 1. Otherwise define this to 0.]) ]) AC_DEFUN([gl_EEREALLOC], [ _AC_FUNC_REALLOC_IF( [gl_cv_func_realloc_0_nonnull=1], [gl_cv_func_realloc_0_nonnull=0]) AC_DEFINE_UNQUOTED([REALLOC_0_IS_NONNULL], [$gl_cv_func_realloc_0_nonnull], [If realloc(NULL,0) is != NULL, define this to 1. Otherwise define this to 0.]) ]) parted-2.3/m4/strerror.m40000644000000000000000000000442111370541032012165 00000000000000# strerror.m4 serial 9 dnl Copyright (C) 2002, 2007-2010 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. AC_DEFUN([gl_FUNC_STRERROR], [ AC_REQUIRE([gl_FUNC_STRERROR_SEPARATE]) if test $REPLACE_STRERROR = 1; then AC_LIBOBJ([strerror]) AC_DEFINE_UNQUOTED([REPLACE_STRERROR], [$REPLACE_STRERROR], [Define this to 1 if strerror is broken.]) fi ]) # Like gl_FUNC_STRERROR, except prepare for separate compilation (no AC_LIBOBJ). AC_DEFUN([gl_FUNC_STRERROR_SEPARATE], [ AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) AC_REQUIRE([gl_HEADER_ERRNO_H]) if test -z "$ERRNO_H"; then AC_CACHE_CHECK([for working strerror function], [gl_cv_func_working_strerror], [AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[return !*strerror (-2);]])], [gl_cv_func_working_strerror=yes], [gl_cv_func_working_strerror=no], [dnl Assume crossbuild works if it compiles. AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[return !*strerror (-2);]])], [gl_cv_func_working_strerror=yes], [gl_cv_func_working_strerror=no]) ]) ]) if test $gl_cv_func_working_strerror = no; then dnl The system's strerror() fails to return a string for out-of-range dnl integers. Replace it. REPLACE_STRERROR=1 fi else dnl The system's strerror() cannot know about the new errno values we add dnl to . Replace it. REPLACE_STRERROR=1 fi if test $REPLACE_STRERROR = 1; then gl_PREREQ_STRERROR fi ]) # Prerequisites of lib/strerror.c. AC_DEFUN([gl_PREREQ_STRERROR], [ AC_CHECK_DECLS([strerror]) AC_CHECK_HEADERS_ONCE([sys/socket.h]) if test $ac_cv_header_sys_socket_h != yes; then dnl We cannot use AC_CHECK_HEADERS_ONCE here, because that would make dnl the check for those headers unconditional; yet cygwin reports dnl that the headers are present but cannot be compiled (since on dnl cygwin, all socket information should come from sys/socket.h). AC_CHECK_HEADERS([winsock2.h]) fi ]) parted-2.3/m4/iconv.m40000644000000000000000000001556211377276065011453 00000000000000# iconv.m4 serial 10 (gettext-0.18.1) dnl Copyright (C) 2000-2002, 2007-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], [ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV dnl accordingly. AC_LIB_LINKFLAGS_BODY([iconv]) ]) AC_DEFUN([AM_ICONV_LINK], [ dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and dnl those with the standalone portable GNU libiconv installed). AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV dnl accordingly. AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) dnl Add $INCICONV to CPPFLAGS before performing the following checks, dnl because if the user has installed libiconv and not disabled its use dnl via --without-libiconv-prefix, he wants to use it. The first dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. am_save_CPPFLAGS="$CPPFLAGS" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [ am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no AC_TRY_LINK([#include #include ], [iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd);], [am_cv_func_iconv=yes]) if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" AC_TRY_LINK([#include #include ], [iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd);], [am_cv_lib_iconv=yes] [am_cv_func_iconv=yes]) LIBS="$am_save_LIBS" fi ]) if test "$am_cv_func_iconv" = yes; then AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [ dnl This tests against bugs in AIX 5.1, HP-UX 11.11, Solaris 10. am_save_LIBS="$LIBS" if test $am_cv_lib_iconv = yes; then LIBS="$LIBS $LIBICONV" fi AC_TRY_RUN([ #include #include int main () { /* Test against AIX 5.1 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); if (cd_utf8_to_88591 != (iconv_t)(-1)) { static const char input[] = "\342\202\254"; /* EURO SIGN */ char buf[10]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_utf8_to_88591, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) return 1; } } /* Test against Solaris 10 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); if (cd_ascii_to_88591 != (iconv_t)(-1)) { static const char input[] = "\263"; char buf[10]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_ascii_to_88591, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) return 1; } } #if 0 /* This bug could be worked around by the caller. */ /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ { iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; char buf[50]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_88591_to_utf8, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if ((int)res > 0) return 1; } } #endif /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is provided. */ if (/* Try standardized names. */ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) /* Try IRIX, OSF/1 names. */ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) /* Try AIX names. */ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) /* Try HP-UX names. */ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) return 1; return 0; }], [am_cv_func_iconv_works=yes], [am_cv_func_iconv_works=no], [case "$host_os" in aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; *) am_cv_func_iconv_works="guessing yes" ;; esac]) LIBS="$am_save_LIBS" ]) case "$am_cv_func_iconv_works" in *no) am_func_iconv=no am_cv_lib_iconv=no ;; *) am_func_iconv=yes ;; esac else am_func_iconv=no am_cv_lib_iconv=no fi if test "$am_func_iconv" = yes; then AC_DEFINE([HAVE_ICONV], [1], [Define if you have the iconv() function and it works.]) fi if test "$am_cv_lib_iconv" = yes; then AC_MSG_CHECKING([how to link with libiconv]) AC_MSG_RESULT([$LIBICONV]) else dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV dnl either. CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= LTLIBICONV= fi AC_SUBST([LIBICONV]) AC_SUBST([LTLIBICONV]) ]) dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to dnl avoid warnings like dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required". m4_version_prereq([2.64],[AC_DEFUN_ONCE],[AC_DEFUN])([AM_ICONV], [ AM_ICONV_LINK if test "$am_cv_func_iconv" = yes; then AC_MSG_CHECKING([for iconv declaration]) AC_CACHE_VAL([am_cv_proto_iconv], [ AC_TRY_COMPILE([ #include #include extern #ifdef __cplusplus "C" #endif #if defined(__STDC__) || defined(__cplusplus) size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); #else size_t iconv(); #endif ], [], [am_cv_proto_iconv_arg1=""], [am_cv_proto_iconv_arg1="const"]) am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` AC_MSG_RESULT([ $am_cv_proto_iconv]) AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1], [Define as const if the declaration of iconv() needs const.]) fi ]) parted-2.3/m4/stdarg.m40000644000000000000000000000507511370541032011575 00000000000000# stdarg.m4 serial 3 dnl Copyright (C) 2006, 2008-2010 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 Provide a working va_copy in combination with . AC_DEFUN([gl_STDARG_H], [ STDARG_H=''; AC_SUBST([STDARG_H]) NEXT_STDARG_H=''; AC_SUBST([NEXT_STDARG_H]) AC_MSG_CHECKING([for va_copy]) AC_CACHE_VAL([gl_cv_func_va_copy], [ AC_TRY_COMPILE([#include ], [ #ifndef va_copy void (*func) (va_list, va_list) = va_copy; #endif ], [gl_cv_func_va_copy=yes], [gl_cv_func_va_copy=no])]) AC_MSG_RESULT([$gl_cv_func_va_copy]) if test $gl_cv_func_va_copy = no; then dnl Provide a substitute. dnl Usually a simple definition in is enough. Not so on AIX 5 dnl with some versions of the /usr/vac/bin/cc compiler. It has an dnl which does '#undef va_copy', leading to a missing va_copy symbol. For dnl this platform, we use an substitute. But we cannot use this dnl approach on other platforms, because often defines only dnl preprocessor macros and gl_ABSOLUTE_HEADER, gl_CHECK_NEXT_HEADERS do dnl not work in this situation. AC_EGREP_CPP([vaccine], [#if defined _AIX && !defined __GNUC__ AIX vaccine #endif ], [gl_aixcc=yes], [gl_aixcc=no]) if test $gl_aixcc = yes; then dnl Provide a substitute file. STDARG_H=stdarg.h gl_CHECK_NEXT_HEADERS([stdarg.h]) dnl Fallback for the case when contains only macro definitions. if test "$gl_cv_next_stdarg_h" = '""'; then gl_cv_next_stdarg_h='"///usr/include/stdarg.h"' NEXT_STDARG_H="$gl_cv_next_stdarg_h" fi else dnl Provide a substitute in , either __va_copy or as a simple dnl assignment. gl_CACHE_VAL_SILENT([gl_cv_func___va_copy], [ AC_TRY_COMPILE([#include ], [ #ifndef __va_copy error, bail out #endif ], [gl_cv_func___va_copy=yes], [gl_cv_func___va_copy=no])]) if test $gl_cv_func___va_copy = yes; then AC_DEFINE([va_copy], [__va_copy], [Define as a macro for copying va_list variables.]) else AH_VERBATIM([gl_VA_COPY], [/* A replacement for va_copy, if needed. */ #define gl_va_copy(a,b) ((a) = (b))]) AC_DEFINE([va_copy], [gl_va_copy], [Define as a macro for copying va_list variables.]) fi fi fi ]) parted-2.3/m4/lib-ld.m40000644000000000000000000000660311370541032011452 00000000000000# lib-ld.m4 serial 4 (gettext-0.18) dnl Copyright (C) 1996-2003, 2009-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Subroutines of libtool.m4, dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision dnl with libtool.m4. dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. AC_DEFUN([AC_LIB_PROG_LD_GNU], [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld], [# I'd rather use --version here, but apparently some GNU ld's only accept -v. case `$LD -v 2>&1 conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by GCC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [[\\/]* | [A-Za-z]:[\\/]*)] [re_direlt='/[^/][^/]*/\.\./'] # Canonicalize the path of ld ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL([acl_cv_path_LD], [if test -z "$LD"; then IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then acl_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in *GNU* | *'with BFD'*) test "$with_gnu_ld" != no && break ;; *) test "$with_gnu_ld" != yes && break ;; esac fi done IFS="$ac_save_ifs" else acl_cv_path_LD="$LD" # Let the user override the test with a path. fi]) LD="$acl_cv_path_LD" if test -n "$LD"; then AC_MSG_RESULT([$LD]) else AC_MSG_RESULT([no]) fi test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) AC_LIB_PROG_LD_GNU ]) parted-2.3/m4/pathmax.m40000644000000000000000000000067111370541032011750 00000000000000# pathmax.m4 serial 8 dnl Copyright (C) 2002-2003, 2005-2006, 2009-2010 Free Software Foundation, dnl 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. AC_DEFUN([gl_PATHMAX], [ dnl Prerequisites of lib/pathmax.h. AC_CHECK_FUNCS_ONCE([pathconf]) AC_CHECK_HEADERS_ONCE([sys/param.h]) ]) parted-2.3/m4/lib-link.m40000644000000000000000000010020211370541032011776 00000000000000# lib-link.m4 serial 21 (gettext-0.18) dnl Copyright (C) 2001-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_PREREQ([2.54]) dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and dnl the libraries corresponding to explicit and implicit dependencies. dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and dnl augments the CPPFLAGS variable. dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. AC_DEFUN([AC_LIB_LINKFLAGS], [ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) pushdef([Name],[translit([$1],[./-], [___])]) pushdef([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" ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX" ]) LIB[]NAME="$ac_cv_lib[]Name[]_libs" LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" INC[]NAME="$ac_cv_lib[]Name[]_cppflags" LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) AC_SUBST([LIB]NAME) AC_SUBST([LTLIB]NAME) AC_SUBST([LIB]NAME[_PREFIX]) dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the dnl results of this search when this library appears as a dependency. HAVE_LIB[]NAME=yes popdef([NAME]) popdef([Name]) ]) dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message]) dnl searches for libname and the libraries corresponding to explicit and dnl implicit dependencies, together with the specified include files and dnl the ability to compile and link the specified testcode. The missing-message dnl defaults to 'no' and may contain additional hints for the user. dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], [ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) pushdef([Name],[translit([$1],[./-], [___])]) pushdef([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" dnl If $LIB[]NAME contains some -l options, add it to the end of LIBS, dnl because these -l options might require -L options that are present in dnl LIBS. -l options benefit only from the -L options listed before it. dnl Otherwise, add it to the front of LIBS, because it may be a static dnl library that depends on another static library that is present in LIBS. dnl Static libraries benefit only from the static libraries listed after dnl it. case " $LIB[]NAME" in *" -l"*) LIBS="$LIBS $LIB[]NAME" ;; *) LIBS="$LIB[]NAME $LIBS" ;; esac AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])']) LIBS="$ac_save_LIBS" ]) if test "$ac_cv_lib[]Name" = yes; then HAVE_LIB[]NAME=yes AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.]) AC_MSG_CHECKING([how to link with lib[]$1]) AC_MSG_RESULT([$LIB[]NAME]) else HAVE_LIB[]NAME=no dnl If $LIB[]NAME didn't lead to a usable library, we don't need dnl $INC[]NAME either. CPPFLAGS="$ac_save_CPPFLAGS" LIB[]NAME= LTLIB[]NAME= LIB[]NAME[]_PREFIX= fi AC_SUBST([HAVE_LIB]NAME) AC_SUBST([LIB]NAME) AC_SUBST([LTLIB]NAME) AC_SUBST([LIB]NAME[_PREFIX]) popdef([NAME]) popdef([Name]) ]) dnl Determine the platform dependent parameters needed to use rpath: dnl acl_libext, dnl acl_shlibext, dnl acl_hardcode_libdir_flag_spec, dnl acl_hardcode_libdir_separator, dnl acl_hardcode_direct, dnl acl_hardcode_minus_L. AC_DEFUN([AC_LIB_RPATH], [ dnl Tell automake >= 1.10 to complain if config.rpath is missing. m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh . ./conftest.sh rm -f ./conftest.sh acl_cv_rpath=done ]) wl="$acl_cv_wl" acl_libext="$acl_cv_libext" acl_shlibext="$acl_cv_shlibext" acl_libname_spec="$acl_cv_libname_spec" acl_library_names_spec="$acl_cv_library_names_spec" acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" acl_hardcode_direct="$acl_cv_hardcode_direct" acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" dnl Determine whether the user wants rpath handling at all. AC_ARG_ENABLE([rpath], [ --disable-rpath do not hardcode runtime library paths], :, enable_rpath=yes) ]) dnl AC_LIB_FROMPACKAGE(name, package) dnl declares that libname comes from the given package. The configure file dnl will then not have a --with-libname-prefix option but a dnl --with-package-prefix option. Several libraries can come from the same dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar dnl macro call that searches for libname. AC_DEFUN([AC_LIB_FROMPACKAGE], [ pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) define([acl_frompackage_]NAME, [$2]) popdef([NAME]) pushdef([PACK],[$2]) pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) define([acl_libsinpackage_]PACKUP, m4_ifdef([acl_libsinpackage_]PACKUP, [acl_libsinpackage_]PACKUP[[, ]],)[lib$1]) popdef([PACKUP]) popdef([PACK]) ]) dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and dnl the libraries corresponding to explicit and implicit dependencies. dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem. AC_DEFUN([AC_LIB_LINKFLAGS_BODY], [ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])]) pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])]) dnl Autoconf >= 2.61 supports dots in --with options. pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit(PACK,[.],[_])],PACK)]) dnl By default, look in $includedir and $libdir. use_additional=yes AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) AC_ARG_WITH(P_A_C_K[-prefix], [[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]], [ if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" if test "$acl_libdirstem2" != "$acl_libdirstem" \ && ! test -d "$withval/$acl_libdirstem"; then additional_libdir="$withval/$acl_libdirstem2" fi fi fi ]) dnl Search the library and its dependencies in $additional_libdir and dnl $LDFLAGS. Using breadth-first-seach. LIB[]NAME= LTLIB[]NAME= INC[]NAME= LIB[]NAME[]_PREFIX= dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been dnl computed. So it has to be reset here. HAVE_LIB[]NAME= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='$1 $2' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" dnl See if it was already located by an earlier AC_LIB_LINKFLAGS dnl or AC_LIB_HAVE_LINKFLAGS call. uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" else dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined dnl that this library doesn't exist. So just drop it. : fi else dnl Search the library lib$name in $additional_libdir and $LDFLAGS dnl and the already constructed $LIBNAME/$LTLIBNAME. found_dir= found_la= found_so= found_a= eval libname=\"$acl_libname_spec\" # typically: libname=lib$name if test -n "$acl_shlibext"; then shrext=".$acl_shlibext" # typically: shrext=.so else shrext= fi if test $use_additional = yes; then dir="$additional_libdir" dnl The same code as in the loop below: dnl First look for a shared library. if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi dnl Then look for a static library. if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` dnl First look for a shared library. if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi dnl Then look for a static library. if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then dnl Found the library. LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then dnl Linking with a shared library. We attempt to hardcode its dnl directory into the executable's runpath, unless it's the dnl standard /usr/lib. if test "$enable_rpath" = no \ || test "X$found_dir" = "X/usr/$acl_libdirstem" \ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then dnl No hardcoding is needed. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else dnl Use an explicit option to hardcode DIR into the resulting dnl binary. dnl Potentially add DIR to ltrpathdirs. dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi dnl The hardcoding into $LIBNAME is system dependent. if test "$acl_hardcode_direct" = yes; then dnl Using DIR/libNAME.so during linking hardcodes DIR into the dnl resulting binary. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then dnl Use an explicit option to hardcode DIR into the resulting dnl binary. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" dnl Potentially add DIR to rpathdirs. dnl The rpathdirs will be appended to $LIBNAME at the end. haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else dnl Rely on "-L$found_dir". dnl But don't add it if it's already contained in the LDFLAGS dnl or the already constructed $LIBNAME haveit= for x in $LDFLAGS $LIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" fi if test "$acl_hardcode_minus_L" != no; then dnl FIXME: Not sure whether we should use dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" dnl here. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH dnl here, because this doesn't fit in flags passed to the dnl compiler. So give up. No hardcoding. This affects only dnl very old systems. dnl FIXME: Not sure whether we should use dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" dnl here. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then dnl Linking with a static library. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" else dnl We shouldn't come here, but anyway it's good to have a dnl fallback. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" fi fi dnl Assume the include files are nearby. additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` if test "$name" = '$1'; then LIB[]NAME[]_PREFIX="$basedir" fi additional_includedir="$basedir/include" ;; */$acl_libdirstem2 | */$acl_libdirstem2/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` if test "$name" = '$1'; then LIB[]NAME[]_PREFIX="$basedir" fi additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then dnl Potentially add $additional_includedir to $INCNAME. dnl But don't add it dnl 1. if it's the standard /usr/include, dnl 2. if it's /usr/local/include and we are using GCC on Linux, dnl 3. if it's already present in $CPPFLAGS or the already dnl constructed $INCNAME, dnl 4. if it doesn't exist as a directory. if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INC[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then dnl Really add $additional_includedir to $INCNAME. INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" fi fi fi fi fi dnl Look for dependencies. if test -n "$found_la"; then dnl Read the .la file. It defines the variables dnl dlname, library_names, old_library, dependency_libs, current, dnl age, revision, installed, dlopen, dlpreopen, libdir. save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" dnl We use only dependency_libs. for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. dnl But don't add it dnl 1. if it's the standard /usr/lib, dnl 2. if it's /usr/local/lib and we are using GCC on Linux, dnl 3. if it's already present in $LDFLAGS or the already dnl constructed $LIBNAME, dnl 4. if it doesn't exist as a directory. if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LIBNAME. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LTLIBNAME. LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then dnl Potentially add DIR to rpathdirs. dnl The rpathdirs will be appended to $LIBNAME at the end. haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi dnl Potentially add DIR to ltrpathdirs. dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) dnl Handle this in the next round. names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) dnl Handle this in the next round. Throw away the .la's dnl directory; it is already contained in a preceding -L dnl option. names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) dnl Most likely an immediate library name. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" ;; esac done fi else dnl Didn't find the library; assume it is in the system directories dnl known to the linker and runtime loader. (All the system dnl directories known to the linker should also be known to the dnl runtime loader, otherwise the system is severely misconfigured.) LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$acl_hardcode_libdir_separator"; then dnl Weird platform: only the last -rpath option counts, the user must dnl pass all path elements in one option. We can arrange that for a dnl single library, but not when more than one $LIBNAMEs are used. alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" done dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl. acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" else dnl The -rpath options are cumulative. for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then dnl When using libtool, the option that works for both libraries and dnl executables is -R. The -R options are cumulative. for found_dir in $ltrpathdirs; do LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" done fi popdef([P_A_C_K]) popdef([PACKLIBS]) popdef([PACKUP]) popdef([PACK]) popdef([NAME]) ]) dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, dnl unless already present in VAR. dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes dnl contains two or three consecutive elements that belong together. AC_DEFUN([AC_LIB_APPENDTOVAR], [ for element in [$2]; do haveit= for x in $[$1]; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then [$1]="${[$1]}${[$1]:+ }$element" fi done ]) dnl For those cases where a variable contains several -L and -l options dnl referring to unknown libraries and directories, this macro determines the dnl necessary additional linker options for the runtime path. dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL]) dnl sets LDADDVAR to linker options needed together with LIBSVALUE. dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed, dnl otherwise linking without libtool is assumed. AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], [ AC_REQUIRE([AC_LIB_RPATH]) AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) $1= if test "$enable_rpath" != no; then if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then dnl Use an explicit option to hardcode directories into the resulting dnl binary. rpathdirs= next= for opt in $2; do if test -n "$next"; then dir="$next" dnl No need to hardcode the standard /usr/lib. if test "X$dir" != "X/usr/$acl_libdirstem" \ && test "X$dir" != "X/usr/$acl_libdirstem2"; then rpathdirs="$rpathdirs $dir" fi next= else case $opt in -L) next=yes ;; -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` dnl No need to hardcode the standard /usr/lib. if test "X$dir" != "X/usr/$acl_libdirstem" \ && test "X$dir" != "X/usr/$acl_libdirstem2"; then rpathdirs="$rpathdirs $dir" fi next= ;; *) next= ;; esac fi done if test "X$rpathdirs" != "X"; then if test -n ""$3""; then dnl libtool is used for linking. Use -R options. for dir in $rpathdirs; do $1="${$1}${$1:+ }-R$dir" done else dnl The linker is used for linking directly. if test -n "$acl_hardcode_libdir_separator"; then dnl Weird platform: only the last -rpath option counts, the user dnl must pass all path elements in one option. alldirs= for dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" $1="$flag" else dnl The -rpath options are cumulative. for dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" $1="${$1}${$1:+ }$flag" done fi fi fi fi fi AC_SUBST([$1]) ]) parted-2.3/m4/inttypes-pri.m40000644000000000000000000000220111370541032012744 00000000000000# inttypes-pri.m4 serial 6 (gettext-0.18) dnl Copyright (C) 1997-2002, 2006, 2008-2010 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.52]) # Define PRI_MACROS_BROKEN if exists and defines the PRI* # macros to non-string values. This is the case on AIX 4.3.3. AC_DEFUN([gt_INTTYPES_PRI], [ AC_CHECK_HEADERS([inttypes.h]) if test $ac_cv_header_inttypes_h = yes; then AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken], [gt_cv_inttypes_pri_broken], [ AC_TRY_COMPILE([#include #ifdef PRId32 char *p = PRId32; #endif ], [], [gt_cv_inttypes_pri_broken=no], [gt_cv_inttypes_pri_broken=yes]) ]) fi if test "$gt_cv_inttypes_pri_broken" = yes; then AC_DEFINE_UNQUOTED([PRI_MACROS_BROKEN], [1], [Define if exists and defines unusable PRI* macros.]) PRI_MACROS_BROKEN=1 else PRI_MACROS_BROKEN=0 fi AC_SUBST([PRI_MACROS_BROKEN]) ]) parted-2.3/m4/extensions.m40000644000000000000000000001052711370541032012506 00000000000000# serial 9 -*- Autoconf -*- # Enable extensions on systems that normally disable them. # Copyright (C) 2003, 2006-2010 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This definition of AC_USE_SYSTEM_EXTENSIONS is stolen from CVS # Autoconf. Perhaps we can remove this once we can assume Autoconf # 2.62 or later everywhere, but since CVS Autoconf mutates rapidly # enough in this area it's likely we'll need to redefine # AC_USE_SYSTEM_EXTENSIONS for quite some time. # If autoconf reports a warning # warning: AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS # or warning: AC_RUN_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS # the fix is # 1) to ensure that AC_USE_SYSTEM_EXTENSIONS is never directly invoked # but always AC_REQUIREd, # 2) to ensure that for each occurrence of # AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) # or # AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) # the corresponding gnulib module description has 'extensions' among # its dependencies. This will ensure that the gl_USE_SYSTEM_EXTENSIONS # invocation occurs in gl_EARLY, not in gl_INIT. # AC_USE_SYSTEM_EXTENSIONS # ------------------------ # Enable extensions on systems that normally disable them, # typically due to standards-conformance issues. # Remember that #undef in AH_VERBATIM gets replaced with #define by # AC_DEFINE. The goal here is to define all known feature-enabling # macros, then, if reports of conflicts are made, disable macros that # cause problems on some platforms (such as __EXTENSIONS__). AC_DEFUN_ONCE([AC_USE_SYSTEM_EXTENSIONS], [AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl AC_BEFORE([$0], [AC_RUN_IFELSE])dnl AC_REQUIRE([AC_CANONICAL_HOST]) AC_CHECK_HEADER([minix/config.h], [MINIX=yes], [MINIX=]) if test "$MINIX" = yes; then AC_DEFINE([_POSIX_SOURCE], [1], [Define to 1 if you need to in order for `stat' and other things to work.]) AC_DEFINE([_POSIX_1_SOURCE], [2], [Define to 2 if the system does not provide POSIX.1 features except with this defined.]) AC_DEFINE([_MINIX], [1], [Define to 1 if on MINIX.]) fi dnl HP-UX 11.11 defines mbstate_t only if _XOPEN_SOURCE is defined to 500, dnl regardless of whether the flags -Ae or _D_HPUX_SOURCE=1 are already dnl provided. case "$host_os" in hpux*) AC_DEFINE([_XOPEN_SOURCE], [500], [Define to 500 only on HP-UX.]) ;; esac AH_VERBATIM([__EXTENSIONS__], [/* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # undef _ALL_SOURCE #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # undef _GNU_SOURCE #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # undef _POSIX_PTHREAD_SEMANTICS #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # undef _TANDEM_SOURCE #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # undef __EXTENSIONS__ #endif ]) AC_CACHE_CHECK([whether it is safe to define __EXTENSIONS__], [ac_cv_safe_to_define___extensions__], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[ # define __EXTENSIONS__ 1 ]AC_INCLUDES_DEFAULT])], [ac_cv_safe_to_define___extensions__=yes], [ac_cv_safe_to_define___extensions__=no])]) test $ac_cv_safe_to_define___extensions__ = yes && AC_DEFINE([__EXTENSIONS__]) AC_DEFINE([_ALL_SOURCE]) AC_DEFINE([_GNU_SOURCE]) AC_DEFINE([_POSIX_PTHREAD_SEMANTICS]) AC_DEFINE([_TANDEM_SOURCE]) ])# AC_USE_SYSTEM_EXTENSIONS # gl_USE_SYSTEM_EXTENSIONS # ------------------------ # Enable extensions on systems that normally disable them, # typically due to standards-conformance issues. AC_DEFUN_ONCE([gl_USE_SYSTEM_EXTENSIONS], [ dnl Require this macro before AC_USE_SYSTEM_EXTENSIONS. dnl gnulib does not need it. But if it gets required by third-party macros dnl after AC_USE_SYSTEM_EXTENSIONS is required, autoconf 2.62..2.63 emit a dnl warning: "AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS". dnl Note: We can do this only for one of the macros AC_AIX, AC_GNU_SOURCE, dnl AC_MINIX. If people still use AC_AIX or AC_MINIX, they are out of luck. AC_REQUIRE([AC_GNU_SOURCE]) AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) ]) parted-2.3/m4/time_h.m40000644000000000000000000000702511370541032011553 00000000000000# Configure a more-standard replacement for . # Copyright (C) 2000-2001, 2003-2007, 2009-2010 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Written by Paul Eggert and Jim Meyering. AC_DEFUN([gl_HEADER_TIME_H], [ dnl Use AC_REQUIRE here, so that the default behavior below is expanded dnl once only, before all statements that occur in other macros. AC_REQUIRE([gl_HEADER_TIME_H_BODY]) ]) AC_DEFUN([gl_HEADER_TIME_H_BODY], [ AC_REQUIRE([AC_C_RESTRICT]) AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) gl_CHECK_NEXT_HEADERS([time.h]) AC_REQUIRE([gl_CHECK_TYPE_STRUCT_TIMESPEC]) ]) dnl Define HAVE_STRUCT_TIMESPEC if `struct timespec' is declared dnl in time.h or sys/time.h. AC_DEFUN([gl_CHECK_TYPE_STRUCT_TIMESPEC], [ AC_CHECK_HEADERS_ONCE([sys/time.h]) AC_CACHE_CHECK([for struct timespec in ], [gl_cv_sys_struct_timespec_in_time_h], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[static struct timespec x; x.tv_sec = x.tv_nsec;]])], [gl_cv_sys_struct_timespec_in_time_h=yes], [gl_cv_sys_struct_timespec_in_time_h=no])]) TIME_H_DEFINES_STRUCT_TIMESPEC=0 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=0 if test $gl_cv_sys_struct_timespec_in_time_h = yes; then TIME_H_DEFINES_STRUCT_TIMESPEC=1 else AC_CACHE_CHECK([for struct timespec in ], [gl_cv_sys_struct_timespec_in_sys_time_h], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[static struct timespec x; x.tv_sec = x.tv_nsec;]])], [gl_cv_sys_struct_timespec_in_sys_time_h=yes], [gl_cv_sys_struct_timespec_in_sys_time_h=no])]) if test $gl_cv_sys_struct_timespec_in_sys_time_h = yes; then SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=1 fi fi AC_SUBST([TIME_H_DEFINES_STRUCT_TIMESPEC]) AC_SUBST([SYS_TIME_H_DEFINES_STRUCT_TIMESPEC]) ]) AC_DEFUN([gl_TIME_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) AC_DEFUN([gl_HEADER_TIME_H_DEFAULTS], [ GNULIB_MKTIME=0; AC_SUBST([GNULIB_MKTIME]) GNULIB_NANOSLEEP=0; AC_SUBST([GNULIB_NANOSLEEP]) GNULIB_STRPTIME=0; AC_SUBST([GNULIB_STRPTIME]) GNULIB_TIMEGM=0; AC_SUBST([GNULIB_TIMEGM]) GNULIB_TIME_R=0; AC_SUBST([GNULIB_TIME_R]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_LOCALTIME_R=1; AC_SUBST([HAVE_LOCALTIME_R]) HAVE_NANOSLEEP=1; AC_SUBST([HAVE_NANOSLEEP]) HAVE_STRPTIME=1; AC_SUBST([HAVE_STRPTIME]) HAVE_TIMEGM=1; AC_SUBST([HAVE_TIMEGM]) dnl If another module says to replace or to not replace, do that. dnl Otherwise, replace only if someone compiles with -DGNULIB_PORTCHECK; dnl this lets maintainers check for portability. REPLACE_LOCALTIME_R=GNULIB_PORTCHECK; AC_SUBST([REPLACE_LOCALTIME_R]) REPLACE_MKTIME=GNULIB_PORTCHECK; AC_SUBST([REPLACE_MKTIME]) REPLACE_NANOSLEEP=GNULIB_PORTCHECK; AC_SUBST([REPLACE_NANOSLEEP]) REPLACE_TIMEGM=GNULIB_PORTCHECK; AC_SUBST([REPLACE_TIMEGM]) ]) parted-2.3/m4/stdio_h.m40000644000000000000000000001714511377276065011765 00000000000000# stdio_h.m4 serial 31 dnl Copyright (C) 2007-2010 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. AC_DEFUN([gl_STDIO_H], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) AC_REQUIRE([AC_C_INLINE]) AC_REQUIRE([gl_ASM_SYMBOL_PREFIX]) gl_CHECK_NEXT_HEADERS([stdio.h]) dnl No need to create extra modules for these functions. Everyone who uses dnl likely needs them. GNULIB_FPRINTF=1 GNULIB_PRINTF=1 GNULIB_VFPRINTF=1 GNULIB_VPRINTF=1 GNULIB_FPUTC=1 GNULIB_PUTC=1 GNULIB_PUTCHAR=1 GNULIB_FPUTS=1 GNULIB_PUTS=1 GNULIB_FWRITE=1 dnl This ifdef is just an optimization, to avoid performing a configure dnl check whose result is not used. It does not make the test of dnl GNULIB_STDIO_H_SIGPIPE or GNULIB_SIGPIPE redundant. m4_ifdef([gl_SIGNAL_SIGPIPE], [ gl_SIGNAL_SIGPIPE if test $gl_cv_header_signal_h_SIGPIPE != yes; then REPLACE_STDIO_WRITE_FUNCS=1 AC_LIBOBJ([stdio-write]) fi ]) dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use, and which is not dnl guaranteed by C89. gl_WARN_ON_USE_PREPARE([[#include ]], [dprintf fpurge fseeko ftello getdelim getline popen renameat snprintf tmpfile vdprintf vsnprintf]) ]) AC_DEFUN([gl_STDIO_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_STDIO_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) AC_DEFUN([gl_STDIO_H_DEFAULTS], [ GNULIB_DPRINTF=0; AC_SUBST([GNULIB_DPRINTF]) GNULIB_FCLOSE=0; AC_SUBST([GNULIB_FCLOSE]) GNULIB_FFLUSH=0; AC_SUBST([GNULIB_FFLUSH]) GNULIB_FOPEN=0; AC_SUBST([GNULIB_FOPEN]) GNULIB_FPRINTF=0; AC_SUBST([GNULIB_FPRINTF]) GNULIB_FPRINTF_POSIX=0; AC_SUBST([GNULIB_FPRINTF_POSIX]) GNULIB_FPURGE=0; AC_SUBST([GNULIB_FPURGE]) GNULIB_FPUTC=0; AC_SUBST([GNULIB_FPUTC]) GNULIB_FPUTS=0; AC_SUBST([GNULIB_FPUTS]) GNULIB_FREOPEN=0; AC_SUBST([GNULIB_FREOPEN]) GNULIB_FSEEK=0; AC_SUBST([GNULIB_FSEEK]) GNULIB_FSEEKO=0; AC_SUBST([GNULIB_FSEEKO]) GNULIB_FTELL=0; AC_SUBST([GNULIB_FTELL]) GNULIB_FTELLO=0; AC_SUBST([GNULIB_FTELLO]) GNULIB_FWRITE=0; AC_SUBST([GNULIB_FWRITE]) GNULIB_GETDELIM=0; AC_SUBST([GNULIB_GETDELIM]) GNULIB_GETLINE=0; AC_SUBST([GNULIB_GETLINE]) GNULIB_OBSTACK_PRINTF=0; AC_SUBST([GNULIB_OBSTACK_PRINTF]) GNULIB_OBSTACK_PRINTF_POSIX=0; AC_SUBST([GNULIB_OBSTACK_PRINTF_POSIX]) GNULIB_PERROR=0; AC_SUBST([GNULIB_PERROR]) GNULIB_POPEN=0; AC_SUBST([GNULIB_POPEN]) GNULIB_PRINTF=0; AC_SUBST([GNULIB_PRINTF]) GNULIB_PRINTF_POSIX=0; AC_SUBST([GNULIB_PRINTF_POSIX]) GNULIB_PUTC=0; AC_SUBST([GNULIB_PUTC]) GNULIB_PUTCHAR=0; AC_SUBST([GNULIB_PUTCHAR]) GNULIB_PUTS=0; AC_SUBST([GNULIB_PUTS]) GNULIB_REMOVE=0; AC_SUBST([GNULIB_REMOVE]) GNULIB_RENAME=0; AC_SUBST([GNULIB_RENAME]) GNULIB_RENAMEAT=0; AC_SUBST([GNULIB_RENAMEAT]) GNULIB_SNPRINTF=0; AC_SUBST([GNULIB_SNPRINTF]) GNULIB_SPRINTF_POSIX=0; AC_SUBST([GNULIB_SPRINTF_POSIX]) GNULIB_STDIO_H_SIGPIPE=0; AC_SUBST([GNULIB_STDIO_H_SIGPIPE]) GNULIB_TMPFILE=0; AC_SUBST([GNULIB_TMPFILE]) GNULIB_VASPRINTF=0; AC_SUBST([GNULIB_VASPRINTF]) GNULIB_VDPRINTF=0; AC_SUBST([GNULIB_VDPRINTF]) GNULIB_VFPRINTF=0; AC_SUBST([GNULIB_VFPRINTF]) GNULIB_VFPRINTF_POSIX=0; AC_SUBST([GNULIB_VFPRINTF_POSIX]) GNULIB_VPRINTF=0; AC_SUBST([GNULIB_VPRINTF]) GNULIB_VPRINTF_POSIX=0; AC_SUBST([GNULIB_VPRINTF_POSIX]) GNULIB_VSNPRINTF=0; AC_SUBST([GNULIB_VSNPRINTF]) GNULIB_VSPRINTF_POSIX=0; AC_SUBST([GNULIB_VSPRINTF_POSIX]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_DECL_FPURGE=1; AC_SUBST([HAVE_DECL_FPURGE]) HAVE_DECL_GETDELIM=1; AC_SUBST([HAVE_DECL_GETDELIM]) HAVE_DECL_GETLINE=1; AC_SUBST([HAVE_DECL_GETLINE]) HAVE_DECL_OBSTACK_PRINTF=1; AC_SUBST([HAVE_DECL_OBSTACK_PRINTF]) HAVE_DECL_SNPRINTF=1; AC_SUBST([HAVE_DECL_SNPRINTF]) HAVE_DECL_VSNPRINTF=1; AC_SUBST([HAVE_DECL_VSNPRINTF]) HAVE_DPRINTF=1; AC_SUBST([HAVE_DPRINTF]) HAVE_FSEEKO=1; AC_SUBST([HAVE_FSEEKO]) HAVE_FTELLO=1; AC_SUBST([HAVE_FTELLO]) HAVE_RENAMEAT=1; AC_SUBST([HAVE_RENAMEAT]) HAVE_VASPRINTF=1; AC_SUBST([HAVE_VASPRINTF]) HAVE_VDPRINTF=1; AC_SUBST([HAVE_VDPRINTF]) REPLACE_DPRINTF=0; AC_SUBST([REPLACE_DPRINTF]) REPLACE_FCLOSE=0; AC_SUBST([REPLACE_FCLOSE]) REPLACE_FFLUSH=0; AC_SUBST([REPLACE_FFLUSH]) REPLACE_FOPEN=0; AC_SUBST([REPLACE_FOPEN]) REPLACE_FPRINTF=0; AC_SUBST([REPLACE_FPRINTF]) REPLACE_FPURGE=0; AC_SUBST([REPLACE_FPURGE]) REPLACE_FREOPEN=0; AC_SUBST([REPLACE_FREOPEN]) REPLACE_FSEEK=0; AC_SUBST([REPLACE_FSEEK]) REPLACE_FSEEKO=0; AC_SUBST([REPLACE_FSEEKO]) REPLACE_FTELL=0; AC_SUBST([REPLACE_FTELL]) REPLACE_FTELLO=0; AC_SUBST([REPLACE_FTELLO]) REPLACE_GETDELIM=0; AC_SUBST([REPLACE_GETDELIM]) REPLACE_GETLINE=0; AC_SUBST([REPLACE_GETLINE]) REPLACE_OBSTACK_PRINTF=0; AC_SUBST([REPLACE_OBSTACK_PRINTF]) REPLACE_PERROR=0; AC_SUBST([REPLACE_PERROR]) REPLACE_POPEN=0; AC_SUBST([REPLACE_POPEN]) REPLACE_PRINTF=0; AC_SUBST([REPLACE_PRINTF]) REPLACE_REMOVE=0; AC_SUBST([REPLACE_REMOVE]) REPLACE_RENAME=0; AC_SUBST([REPLACE_RENAME]) REPLACE_RENAMEAT=0; AC_SUBST([REPLACE_RENAMEAT]) REPLACE_SNPRINTF=0; AC_SUBST([REPLACE_SNPRINTF]) REPLACE_SPRINTF=0; AC_SUBST([REPLACE_SPRINTF]) REPLACE_STDIO_WRITE_FUNCS=0; AC_SUBST([REPLACE_STDIO_WRITE_FUNCS]) REPLACE_TMPFILE=0; AC_SUBST([REPLACE_TMPFILE]) REPLACE_VASPRINTF=0; AC_SUBST([REPLACE_VASPRINTF]) REPLACE_VDPRINTF=0; AC_SUBST([REPLACE_VDPRINTF]) REPLACE_VFPRINTF=0; AC_SUBST([REPLACE_VFPRINTF]) REPLACE_VPRINTF=0; AC_SUBST([REPLACE_VPRINTF]) REPLACE_VSNPRINTF=0; AC_SUBST([REPLACE_VSNPRINTF]) REPLACE_VSPRINTF=0; AC_SUBST([REPLACE_VSPRINTF]) ]) dnl Code shared by fseeko and ftello. Determine if large files are supported, dnl but stdin does not start as a large file by default. AC_DEFUN([gl_STDIN_LARGE_OFFSET], [ AC_CACHE_CHECK([whether stdin defaults to large file offsets], [gl_cv_var_stdin_large_offset], [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[#if defined __SL64 && defined __SCLE /* cygwin */ /* Cygwin 1.5.24 and earlier fail to put stdin in 64-bit mode, making fseeko/ftello needlessly fail. This bug was fixed in 1.5.25, and it is easier to do a version check than building a runtime test. */ # include # if CYGWIN_VERSION_DLL_COMBINED < CYGWIN_VERSION_DLL_MAKE_COMBINED (1005, 25) choke me # endif #endif]])], [gl_cv_var_stdin_large_offset=yes], [gl_cv_var_stdin_large_offset=no])]) ]) parted-2.3/m4/wctob.m40000644000000000000000000000573311370541032011430 00000000000000# wctob.m4 serial 5 dnl Copyright (C) 2008-2010 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. AC_DEFUN([gl_FUNC_WCTOB], [ AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) AC_CHECK_FUNCS_ONCE([wctob]) if test $ac_cv_func_wctob = no; then HAVE_DECL_WCTOB=0 gl_REPLACE_WCHAR_H AC_LIBOBJ([wctob]) gl_PREREQ_WCTOB else dnl Solaris 9 has the wctob() function but it does not work. dnl Cygwin 1.7.2 has the wctob() function but it clobbers caller-owned dnl registers, see . AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([gt_LOCALE_FR]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether wctob works], [gl_cv_func_wctob_works], [ dnl Initial guess, used when cross-compiling or when no suitable locale dnl is present. changequote(,)dnl case "$host_os" in # Guess no on Solaris <= 9 and Cygwin. solaris2.[1-9] | solaris2.[1-9].* | cygwin*) gl_cv_func_wctob_works="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_wctob_works="guessing yes" ;; esac changequote([,])dnl case "$host_os" in cygwin*) AC_TRY_RUN([ #include #include register long global __asm__ ("%ebx"); int main () { setlocale (LC_ALL, "en_US.UTF-8"); global = 0x12345678; if (wctob (0x00FC) != -1) return 1; if (global != 0x12345678) return 2; return 0; }], [:], [gl_cv_func_wctob_works=no], [:]) ;; esac if test "$gl_cv_func_wctob_works" != no && test $LOCALE_FR != none; then AC_TRY_RUN([ #include #include #include int main () { if (setlocale (LC_ALL, "$LOCALE_FR") != NULL) { wchar_t wc; if (mbtowc (&wc, "\374", 1) == 1) if (wctob (wc) != (unsigned char) '\374') return 1; } return 0; }], [gl_cv_func_wctob_works=yes], [gl_cv_func_wctob_works=no], [:]) fi ]) case "$gl_cv_func_wctob_works" in *yes) ;; *) REPLACE_WCTOB=1 ;; esac if test $REPLACE_WCTOB = 1; then gl_REPLACE_WCHAR_H AC_LIBOBJ([wctob]) gl_PREREQ_WCTOB else dnl IRIX 6.5 has the wctob() function but does not declare it. AC_CHECK_DECLS([wctob], [], [], [ /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include ]) if test $ac_cv_have_decl_wctob != yes; then HAVE_DECL_WCTOB=0 gl_REPLACE_WCHAR_H fi fi fi ]) # Prerequisites of lib/wctob.c. AC_DEFUN([gl_PREREQ_WCTOB], [ : ]) parted-2.3/m4/xalloc.m40000644000000000000000000000107511370541032011567 00000000000000# xalloc.m4 serial 16 dnl Copyright (C) 2002, 2003, 2004, 2005, 2006, 2009, 2010 Free Software dnl Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_XALLOC], [ AC_LIBOBJ([xmalloc]) gl_PREREQ_XALLOC gl_PREREQ_XMALLOC ]) # Prerequisites of lib/xalloc.h. AC_DEFUN([gl_PREREQ_XALLOC], [ AC_REQUIRE([gl_INLINE]) : ]) # Prerequisites of lib/xmalloc.c. AC_DEFUN([gl_PREREQ_XMALLOC], [ : ]) parted-2.3/m4/calloc.m40000644000000000000000000000430011370541032011534 00000000000000# calloc.m4 serial 9 # Copyright (C) 2004-2010 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Written by Jim Meyering. # Determine whether calloc (N, S) returns non-NULL when N*S is zero, # and returns NULL when N*S overflows. # If so, define HAVE_CALLOC. Otherwise, define calloc to rpl_calloc # and arrange to use a calloc wrapper function that does work in that case. # _AC_FUNC_CALLOC_IF([IF-WORKS], [IF-NOT]) # ------------------------------------- # If `calloc (0, 0)' is properly handled, run IF-WORKS, otherwise, IF-NOT. AC_DEFUN([_AC_FUNC_CALLOC_IF], [AC_REQUIRE([AC_TYPE_SIZE_T])dnl AC_CACHE_CHECK([for GNU libc compatible calloc], [ac_cv_func_calloc_0_nonnull], [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT], [[exit (!calloc (0, 0) || calloc ((size_t) -1 / 8 + 1, 8));]])], [ac_cv_func_calloc_0_nonnull=yes], [ac_cv_func_calloc_0_nonnull=no], [ac_cv_func_calloc_0_nonnull=no])]) AS_IF([test $ac_cv_func_calloc_0_nonnull = yes], [$1], [$2]) ])# AC_FUNC_CALLOC # AC_FUNC_CALLOC # --------------- # Report whether `calloc (0, 0)' is properly handled, and replace calloc if # needed. AC_DEFUN([AC_FUNC_CALLOC], [_AC_FUNC_CALLOC_IF( [AC_DEFINE([HAVE_CALLOC], [1], [Define to 1 if your system has a GNU libc compatible `calloc' function, and to 0 otherwise.])], [AC_DEFINE([HAVE_CALLOC], [0]) AC_LIBOBJ([calloc]) AC_DEFINE([calloc], [rpl_calloc], [Define to rpl_calloc if the replacement function should be used.])]) ])# AC_FUNC_CALLOC # gl_FUNC_CALLOC_POSIX # -------------------- # Test whether 'calloc' is POSIX compliant (sets errno to ENOMEM when it # fails), and replace calloc if it is not. AC_DEFUN([gl_FUNC_CALLOC_POSIX], [ AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) if test $gl_cv_func_malloc_posix = yes; then HAVE_CALLOC_POSIX=1 AC_DEFINE([HAVE_CALLOC_POSIX], [1], [Define if the 'calloc' function is POSIX compliant.]) else AC_LIBOBJ([calloc]) HAVE_CALLOC_POSIX=0 fi AC_SUBST([HAVE_CALLOC_POSIX]) ]) parted-2.3/m4/stdint.m40000644000000000000000000003641511370541032011620 00000000000000# stdint.m4 serial 34 dnl Copyright (C) 2001-2010 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 Paul Eggert and Bruno Haible. dnl Test whether is supported or must be substituted. AC_DEFUN([gl_STDINT_H], [ AC_PREREQ([2.59])dnl dnl Check for long long int and unsigned long long int. AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) if test $ac_cv_type_long_long_int = yes; then HAVE_LONG_LONG_INT=1 else HAVE_LONG_LONG_INT=0 fi AC_SUBST([HAVE_LONG_LONG_INT]) AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT]) if test $ac_cv_type_unsigned_long_long_int = yes; then HAVE_UNSIGNED_LONG_LONG_INT=1 else HAVE_UNSIGNED_LONG_LONG_INT=0 fi AC_SUBST([HAVE_UNSIGNED_LONG_LONG_INT]) dnl Check for . dnl AC_INCLUDES_DEFAULT defines $ac_cv_header_inttypes_h. if test $ac_cv_header_inttypes_h = yes; then HAVE_INTTYPES_H=1 else HAVE_INTTYPES_H=0 fi AC_SUBST([HAVE_INTTYPES_H]) dnl Check for . dnl AC_INCLUDES_DEFAULT defines $ac_cv_header_sys_types_h. if test $ac_cv_header_sys_types_h = yes; then HAVE_SYS_TYPES_H=1 else HAVE_SYS_TYPES_H=0 fi AC_SUBST([HAVE_SYS_TYPES_H]) gl_CHECK_NEXT_HEADERS([stdint.h]) if test $ac_cv_header_stdint_h = yes; then HAVE_STDINT_H=1 else HAVE_STDINT_H=0 fi AC_SUBST([HAVE_STDINT_H]) dnl Now see whether we need a substitute . if test $ac_cv_header_stdint_h = yes; then AC_CACHE_CHECK([whether stdint.h conforms to C99], [gl_cv_header_working_stdint_h], [gl_cv_header_working_stdint_h=no AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ #define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */ #define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ #include /* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in . */ #if !(defined WCHAR_MIN && defined WCHAR_MAX) #error "WCHAR_MIN, WCHAR_MAX not defined in " #endif ] gl_STDINT_INCLUDES [ #ifdef INT8_MAX int8_t a1 = INT8_MAX; int8_t a1min = INT8_MIN; #endif #ifdef INT16_MAX int16_t a2 = INT16_MAX; int16_t a2min = INT16_MIN; #endif #ifdef INT32_MAX int32_t a3 = INT32_MAX; int32_t a3min = INT32_MIN; #endif #ifdef INT64_MAX int64_t a4 = INT64_MAX; int64_t a4min = INT64_MIN; #endif #ifdef UINT8_MAX uint8_t b1 = UINT8_MAX; #else typedef int b1[(unsigned char) -1 != 255 ? 1 : -1]; #endif #ifdef UINT16_MAX uint16_t b2 = UINT16_MAX; #endif #ifdef UINT32_MAX uint32_t b3 = UINT32_MAX; #endif #ifdef UINT64_MAX uint64_t b4 = UINT64_MAX; #endif int_least8_t c1 = INT8_C (0x7f); int_least8_t c1max = INT_LEAST8_MAX; int_least8_t c1min = INT_LEAST8_MIN; int_least16_t c2 = INT16_C (0x7fff); int_least16_t c2max = INT_LEAST16_MAX; int_least16_t c2min = INT_LEAST16_MIN; int_least32_t c3 = INT32_C (0x7fffffff); int_least32_t c3max = INT_LEAST32_MAX; int_least32_t c3min = INT_LEAST32_MIN; int_least64_t c4 = INT64_C (0x7fffffffffffffff); int_least64_t c4max = INT_LEAST64_MAX; int_least64_t c4min = INT_LEAST64_MIN; uint_least8_t d1 = UINT8_C (0xff); uint_least8_t d1max = UINT_LEAST8_MAX; uint_least16_t d2 = UINT16_C (0xffff); uint_least16_t d2max = UINT_LEAST16_MAX; uint_least32_t d3 = UINT32_C (0xffffffff); uint_least32_t d3max = UINT_LEAST32_MAX; uint_least64_t d4 = UINT64_C (0xffffffffffffffff); uint_least64_t d4max = UINT_LEAST64_MAX; int_fast8_t e1 = INT_FAST8_MAX; int_fast8_t e1min = INT_FAST8_MIN; int_fast16_t e2 = INT_FAST16_MAX; int_fast16_t e2min = INT_FAST16_MIN; int_fast32_t e3 = INT_FAST32_MAX; int_fast32_t e3min = INT_FAST32_MIN; int_fast64_t e4 = INT_FAST64_MAX; int_fast64_t e4min = INT_FAST64_MIN; uint_fast8_t f1 = UINT_FAST8_MAX; uint_fast16_t f2 = UINT_FAST16_MAX; uint_fast32_t f3 = UINT_FAST32_MAX; uint_fast64_t f4 = UINT_FAST64_MAX; #ifdef INTPTR_MAX intptr_t g = INTPTR_MAX; intptr_t gmin = INTPTR_MIN; #endif #ifdef UINTPTR_MAX uintptr_t h = UINTPTR_MAX; #endif intmax_t i = INTMAX_MAX; uintmax_t j = UINTMAX_MAX; #include /* for CHAR_BIT */ #define TYPE_MINIMUM(t) \ ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1))) #define TYPE_MAXIMUM(t) \ ((t) ((t) 0 < (t) -1 ? (t) -1 : ~ (~ (t) 0 << (sizeof (t) * CHAR_BIT - 1)))) struct s { int check_PTRDIFF: PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t) && PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t) ? 1 : -1; /* Detect bug in FreeBSD 6.0 / ia64. */ int check_SIG_ATOMIC: SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t) && SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t) ? 1 : -1; int check_SIZE: SIZE_MAX == TYPE_MAXIMUM (size_t) ? 1 : -1; int check_WCHAR: WCHAR_MIN == TYPE_MINIMUM (wchar_t) && WCHAR_MAX == TYPE_MAXIMUM (wchar_t) ? 1 : -1; /* Detect bug in mingw. */ int check_WINT: WINT_MIN == TYPE_MINIMUM (wint_t) && WINT_MAX == TYPE_MAXIMUM (wint_t) ? 1 : -1; /* Detect bugs in glibc 2.4 and Solaris 10 stdint.h, among others. */ int check_UINT8_C: (-1 < UINT8_C (0)) == (-1 < (uint_least8_t) 0) ? 1 : -1; int check_UINT16_C: (-1 < UINT16_C (0)) == (-1 < (uint_least16_t) 0) ? 1 : -1; /* Detect bugs in OpenBSD 3.9 stdint.h. */ #ifdef UINT8_MAX int check_uint8: (uint8_t) -1 == UINT8_MAX ? 1 : -1; #endif #ifdef UINT16_MAX int check_uint16: (uint16_t) -1 == UINT16_MAX ? 1 : -1; #endif #ifdef UINT32_MAX int check_uint32: (uint32_t) -1 == UINT32_MAX ? 1 : -1; #endif #ifdef UINT64_MAX int check_uint64: (uint64_t) -1 == UINT64_MAX ? 1 : -1; #endif int check_uint_least8: (uint_least8_t) -1 == UINT_LEAST8_MAX ? 1 : -1; int check_uint_least16: (uint_least16_t) -1 == UINT_LEAST16_MAX ? 1 : -1; int check_uint_least32: (uint_least32_t) -1 == UINT_LEAST32_MAX ? 1 : -1; int check_uint_least64: (uint_least64_t) -1 == UINT_LEAST64_MAX ? 1 : -1; int check_uint_fast8: (uint_fast8_t) -1 == UINT_FAST8_MAX ? 1 : -1; int check_uint_fast16: (uint_fast16_t) -1 == UINT_FAST16_MAX ? 1 : -1; int check_uint_fast32: (uint_fast32_t) -1 == UINT_FAST32_MAX ? 1 : -1; int check_uint_fast64: (uint_fast64_t) -1 == UINT_FAST64_MAX ? 1 : -1; int check_uintptr: (uintptr_t) -1 == UINTPTR_MAX ? 1 : -1; int check_uintmax: (uintmax_t) -1 == UINTMAX_MAX ? 1 : -1; int check_size: (size_t) -1 == SIZE_MAX ? 1 : -1; }; ]])], [dnl Determine whether the various *_MIN, *_MAX macros are usable dnl in preprocessor expression. We could do it by compiling a test dnl program for each of these macros. It is faster to run a program dnl that inspects the macro expansion. dnl This detects a bug on HP-UX 11.23/ia64. AC_RUN_IFELSE([ AC_LANG_PROGRAM([[ #define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */ #define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ #include ] gl_STDINT_INCLUDES [ #include #include #define MVAL(macro) MVAL1(macro) #define MVAL1(expression) #expression static const char *macro_values[] = { #ifdef INT8_MAX MVAL (INT8_MAX), #endif #ifdef INT16_MAX MVAL (INT16_MAX), #endif #ifdef INT32_MAX MVAL (INT32_MAX), #endif #ifdef INT64_MAX MVAL (INT64_MAX), #endif #ifdef UINT8_MAX MVAL (UINT8_MAX), #endif #ifdef UINT16_MAX MVAL (UINT16_MAX), #endif #ifdef UINT32_MAX MVAL (UINT32_MAX), #endif #ifdef UINT64_MAX MVAL (UINT64_MAX), #endif NULL }; ]], [[ const char **mv; for (mv = macro_values; *mv != NULL; mv++) { const char *value = *mv; /* Test whether it looks like a cast expression. */ if (strncmp (value, "((unsigned int)"/*)*/, 15) == 0 || strncmp (value, "((unsigned short)"/*)*/, 17) == 0 || strncmp (value, "((unsigned char)"/*)*/, 16) == 0 || strncmp (value, "((int)"/*)*/, 6) == 0 || strncmp (value, "((signed short)"/*)*/, 15) == 0 || strncmp (value, "((signed char)"/*)*/, 14) == 0) return 1; } return 0; ]])], [gl_cv_header_working_stdint_h=yes], [], [dnl When cross-compiling, assume it works. gl_cv_header_working_stdint_h=yes ]) ]) ]) fi if test "$gl_cv_header_working_stdint_h" = yes; then STDINT_H= else dnl Check for , and for dnl (used in Linux libc4 >= 4.6.7 and libc5). AC_CHECK_HEADERS([sys/inttypes.h sys/bitypes.h]) if test $ac_cv_header_sys_inttypes_h = yes; then HAVE_SYS_INTTYPES_H=1 else HAVE_SYS_INTTYPES_H=0 fi AC_SUBST([HAVE_SYS_INTTYPES_H]) if test $ac_cv_header_sys_bitypes_h = yes; then HAVE_SYS_BITYPES_H=1 else HAVE_SYS_BITYPES_H=0 fi AC_SUBST([HAVE_SYS_BITYPES_H]) dnl Check for (missing in Linux uClibc when built without wide dnl character support). AC_CHECK_HEADERS_ONCE([wchar.h]) gl_STDINT_TYPE_PROPERTIES STDINT_H=stdint.h fi AC_SUBST([STDINT_H]) ]) dnl gl_STDINT_BITSIZEOF(TYPES, INCLUDES) dnl Determine the size of each of the given types in bits. AC_DEFUN([gl_STDINT_BITSIZEOF], [ dnl Use a shell loop, to avoid bloating configure, and dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into dnl config.h.in, dnl - extra AC_SUBST calls, so that the right substitutions are made. m4_foreach_w([gltype], [$1], [AH_TEMPLATE([BITSIZEOF_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]), [Define to the number of bits in type ']gltype['.])]) for gltype in $1 ; do AC_CACHE_CHECK([for bit size of $gltype], [gl_cv_bitsizeof_${gltype}], [AC_COMPUTE_INT([result], [sizeof ($gltype) * CHAR_BIT], [$2 #include ], [result=unknown]) eval gl_cv_bitsizeof_${gltype}=\$result ]) eval result=\$gl_cv_bitsizeof_${gltype} if test $result = unknown; then dnl Use a nonempty default, because some compilers, such as IRIX 5 cc, dnl do a syntax check even on unused #if conditions and give an error dnl on valid C code like this: dnl #if 0 dnl # if > 32 dnl # endif dnl #endif result=0 fi GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` AC_DEFINE_UNQUOTED([BITSIZEOF_${GLTYPE}], [$result]) eval BITSIZEOF_${GLTYPE}=\$result done m4_foreach_w([gltype], [$1], [AC_SUBST([BITSIZEOF_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))]) ]) dnl gl_CHECK_TYPES_SIGNED(TYPES, INCLUDES) dnl Determine the signedness of each of the given types. dnl Define HAVE_SIGNED_TYPE if type is signed. AC_DEFUN([gl_CHECK_TYPES_SIGNED], [ dnl Use a shell loop, to avoid bloating configure, and dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into dnl config.h.in, dnl - extra AC_SUBST calls, so that the right substitutions are made. m4_foreach_w([gltype], [$1], [AH_TEMPLATE([HAVE_SIGNED_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]), [Define to 1 if ']gltype[' is a signed integer type.])]) for gltype in $1 ; do AC_CACHE_CHECK([whether $gltype is signed], [gl_cv_type_${gltype}_signed], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([$2[ int verify[2 * (($gltype) -1 < ($gltype) 0) - 1];]])], result=yes, result=no) eval gl_cv_type_${gltype}_signed=\$result ]) eval result=\$gl_cv_type_${gltype}_signed GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` if test "$result" = yes; then AC_DEFINE_UNQUOTED([HAVE_SIGNED_${GLTYPE}], [1]) eval HAVE_SIGNED_${GLTYPE}=1 else eval HAVE_SIGNED_${GLTYPE}=0 fi done m4_foreach_w([gltype], [$1], [AC_SUBST([HAVE_SIGNED_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))]) ]) dnl gl_INTEGER_TYPE_SUFFIX(TYPES, INCLUDES) dnl Determine the suffix to use for integer constants of the given types. dnl Define t_SUFFIX for each such type. AC_DEFUN([gl_INTEGER_TYPE_SUFFIX], [ dnl Use a shell loop, to avoid bloating configure, and dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into dnl config.h.in, dnl - extra AC_SUBST calls, so that the right substitutions are made. m4_foreach_w([gltype], [$1], [AH_TEMPLATE(translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX], [Define to l, ll, u, ul, ull, etc., as suitable for constants of type ']gltype['.])]) for gltype in $1 ; do AC_CACHE_CHECK([for $gltype integer literal suffix], [gl_cv_type_${gltype}_suffix], [eval gl_cv_type_${gltype}_suffix=no eval result=\$gl_cv_type_${gltype}_signed if test "$result" = yes; then glsufu= else glsufu=u fi for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do case $glsuf in '') gltype1='int';; l) gltype1='long int';; ll) gltype1='long long int';; i64) gltype1='__int64';; u) gltype1='unsigned int';; ul) gltype1='unsigned long int';; ull) gltype1='unsigned long long int';; ui64)gltype1='unsigned __int64';; esac AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([$2[ extern $gltype foo; extern $gltype1 foo;]])], [eval gl_cv_type_${gltype}_suffix=\$glsuf]) eval result=\$gl_cv_type_${gltype}_suffix test "$result" != no && break done]) GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` eval result=\$gl_cv_type_${gltype}_suffix test "$result" = no && result= eval ${GLTYPE}_SUFFIX=\$result AC_DEFINE_UNQUOTED([${GLTYPE}_SUFFIX], [$result]) done m4_foreach_w([gltype], [$1], [AC_SUBST(translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX])]) ]) dnl gl_STDINT_INCLUDES AC_DEFUN([gl_STDINT_INCLUDES], [[ /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif ]]) dnl gl_STDINT_TYPE_PROPERTIES dnl Compute HAVE_SIGNED_t, BITSIZEOF_t and t_SUFFIX, for all the types t dnl of interest to stdint.in.h. AC_DEFUN([gl_STDINT_TYPE_PROPERTIES], [ AC_REQUIRE([gl_MULTIARCH]) if test $APPLE_UNIVERSAL_BUILD = 0; then gl_STDINT_BITSIZEOF([ptrdiff_t size_t], [gl_STDINT_INCLUDES]) fi gl_STDINT_BITSIZEOF([sig_atomic_t wchar_t wint_t], [gl_STDINT_INCLUDES]) gl_CHECK_TYPES_SIGNED([sig_atomic_t wchar_t wint_t], [gl_STDINT_INCLUDES]) gl_cv_type_ptrdiff_t_signed=yes gl_cv_type_size_t_signed=no if test $APPLE_UNIVERSAL_BUILD = 0; then gl_INTEGER_TYPE_SUFFIX([ptrdiff_t size_t], [gl_STDINT_INCLUDES]) fi gl_INTEGER_TYPE_SUFFIX([sig_atomic_t wchar_t wint_t], [gl_STDINT_INCLUDES]) ]) dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in. dnl Remove this when we can assume autoconf >= 2.61. m4_ifdef([AC_COMPUTE_INT], [], [ AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])]) ]) # Hey Emacs! # Local Variables: # indent-tabs-mode: nil # End: parted-2.3/m4/mbrtowc.m40000644000000000000000000002576411370541032011775 00000000000000# mbrtowc.m4 serial 17 dnl Copyright (C) 2001-2002, 2004-2005, 2008-2010 Free Software Foundation, dnl 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. AC_DEFUN([gl_FUNC_MBRTOWC], [ AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) AC_REQUIRE([AC_TYPE_MBSTATE_T]) gl_MBSTATE_T_BROKEN AC_CHECK_FUNCS_ONCE([mbrtowc]) if test $ac_cv_func_mbrtowc = no; then HAVE_MBRTOWC=0 else if test $REPLACE_MBSTATE_T = 1; then REPLACE_MBRTOWC=1 else gl_MBRTOWC_NULL_ARG gl_MBRTOWC_RETVAL gl_MBRTOWC_NUL_RETVAL case "$gl_cv_func_mbrtowc_null_arg" in *yes) ;; *) AC_DEFINE([MBRTOWC_NULL_ARG_BUG], [1], [Define if the mbrtowc function has the NULL string argument bug.]) REPLACE_MBRTOWC=1 ;; esac case "$gl_cv_func_mbrtowc_retval" in *yes) ;; *) AC_DEFINE([MBRTOWC_RETVAL_BUG], [1], [Define if the mbrtowc function returns a wrong return value.]) REPLACE_MBRTOWC=1 ;; esac case "$gl_cv_func_mbrtowc_nul_retval" in *yes) ;; *) AC_DEFINE([MBRTOWC_NUL_RETVAL_BUG], [1], [Define if the mbrtowc function does not return 0 for a NUL character.]) REPLACE_MBRTOWC=1 ;; esac fi fi if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then gl_REPLACE_WCHAR_H AC_LIBOBJ([mbrtowc]) gl_PREREQ_MBRTOWC fi ]) dnl Test whether mbsinit() and mbrtowc() need to be overridden in a way that dnl redefines the semantics of the given mbstate_t type. dnl Result is REPLACE_MBSTATE_T. dnl When this is set to 1, we replace both mbsinit() and mbrtowc(), in order to dnl avoid inconsistencies. AC_DEFUN([gl_MBSTATE_T_BROKEN], [ AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) AC_REQUIRE([AC_TYPE_MBSTATE_T]) AC_CHECK_FUNCS_ONCE([mbsinit]) AC_CHECK_FUNCS_ONCE([mbrtowc]) if test $ac_cv_func_mbsinit = yes && test $ac_cv_func_mbrtowc = yes; then gl_MBRTOWC_INCOMPLETE_STATE gl_MBRTOWC_SANITYCHECK REPLACE_MBSTATE_T=0 case "$gl_cv_func_mbrtowc_incomplete_state" in *yes) ;; *) REPLACE_MBSTATE_T=1 ;; esac case "$gl_cv_func_mbrtowc_sanitycheck" in *yes) ;; *) REPLACE_MBSTATE_T=1 ;; esac else REPLACE_MBSTATE_T=1 fi if test $REPLACE_MBSTATE_T = 1; then gl_REPLACE_WCHAR_H fi ]) dnl Test whether mbrtowc puts the state into non-initial state when parsing an dnl incomplete multibyte character. dnl Result is gl_cv_func_mbrtowc_incomplete_state. AC_DEFUN([gl_MBRTOWC_INCOMPLETE_STATE], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([gt_LOCALE_JA]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether mbrtowc handles incomplete characters], [gl_cv_func_mbrtowc_incomplete_state], [ dnl Initial guess, used when cross-compiling or when no suitable locale dnl is present. changequote(,)dnl case "$host_os" in # Guess no on AIX and OSF/1. osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;; esac changequote([,])dnl if test $LOCALE_JA != none; then AC_TRY_RUN([ #include #include #include int main () { if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) { const char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */ mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) if (mbsinit (&state)) return 1; } return 0; }], [gl_cv_func_mbrtowc_incomplete_state=yes], [gl_cv_func_mbrtowc_incomplete_state=no], [:]) fi ]) ]) dnl Test whether mbrtowc works not worse than mbtowc. dnl Result is gl_cv_func_mbrtowc_sanitycheck. AC_DEFUN([gl_MBRTOWC_SANITYCHECK], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([gt_LOCALE_ZH_CN]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether mbrtowc works as well as mbtowc], [gl_cv_func_mbrtowc_sanitycheck], [ dnl Initial guess, used when cross-compiling or when no suitable locale dnl is present. changequote(,)dnl case "$host_os" in # Guess no on Solaris 8. solaris2.8) gl_cv_func_mbrtowc_sanitycheck="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrtowc_sanitycheck="guessing yes" ;; esac changequote([,])dnl if test $LOCALE_ZH_CN != none; then AC_TRY_RUN([ #include #include #include #include int main () { /* This fails on Solaris 8: mbrtowc returns 2, and sets wc to 0x00F0. mbtowc returns 4 (correct) and sets wc to 0x5EDC. */ if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) { char input[] = "B\250\271\201\060\211\070er"; /* "Büßer" */ mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, input + 3, 6, &state) != 4 && mbtowc (&wc, input + 3, 6) == 4) return 1; } return 0; }], [gl_cv_func_mbrtowc_sanitycheck=yes], [gl_cv_func_mbrtowc_sanitycheck=no], [:]) fi ]) ]) dnl Test whether mbrtowc supports a NULL string argument correctly. dnl Result is gl_cv_func_mbrtowc_null_arg. AC_DEFUN([gl_MBRTOWC_NULL_ARG], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([gt_LOCALE_FR_UTF8]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether mbrtowc handles a NULL string argument], [gl_cv_func_mbrtowc_null_arg], [ dnl Initial guess, used when cross-compiling or when no suitable locale dnl is present. changequote(,)dnl case "$host_os" in # Guess no on OSF/1. osf*) gl_cv_func_mbrtowc_null_arg="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrtowc_null_arg="guessing yes" ;; esac changequote([,])dnl if test $LOCALE_FR_UTF8 != none; then AC_TRY_RUN([ #include #include #include int main () { if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) { mbstate_t state; wchar_t wc; int ret; memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; mbrtowc (&wc, NULL, 5, &state); /* Check that wc was not modified. */ if (wc != (wchar_t) 0xBADFACE) return 1; } return 0; }], [gl_cv_func_mbrtowc_null_arg=yes], [gl_cv_func_mbrtowc_null_arg=no], [:]) fi ]) ]) dnl Test whether mbrtowc, when parsing the end of a multibyte character, dnl correctly returns the number of bytes that were needed to complete the dnl character (not the total number of bytes of the multibyte character). dnl Result is gl_cv_func_mbrtowc_retval. AC_DEFUN([gl_MBRTOWC_RETVAL], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([gt_LOCALE_FR_UTF8]) AC_REQUIRE([gt_LOCALE_JA]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether mbrtowc has a correct return value], [gl_cv_func_mbrtowc_retval], [ dnl Initial guess, used when cross-compiling or when no suitable locale dnl is present. changequote(,)dnl case "$host_os" in # Guess no on HP-UX and Solaris. hpux* | solaris*) gl_cv_func_mbrtowc_retval="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrtowc_retval="guessing yes" ;; esac changequote([,])dnl if test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none; then AC_TRY_RUN([ #include #include #include int main () { /* This fails on Solaris. */ if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) { char input[] = "B\303\274\303\237er"; /* "Büßer" */ mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) { input[1] = '\0'; if (mbrtowc (&wc, input + 2, 5, &state) != 1) return 1; } } /* This fails on HP-UX 11.11. */ if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) { char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */ mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) { input[1] = '\0'; if (mbrtowc (&wc, input + 2, 5, &state) != 2) return 1; } } return 0; }], [gl_cv_func_mbrtowc_retval=yes], [gl_cv_func_mbrtowc_retval=no], [:]) fi ]) ]) dnl Test whether mbrtowc, when parsing a NUL character, correctly returns 0. dnl Result is gl_cv_func_mbrtowc_nul_retval. AC_DEFUN([gl_MBRTOWC_NUL_RETVAL], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([gt_LOCALE_ZH_CN]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether mbrtowc returns 0 when parsing a NUL character], [gl_cv_func_mbrtowc_nul_retval], [ dnl Initial guess, used when cross-compiling or when no suitable locale dnl is present. changequote(,)dnl case "$host_os" in # Guess no on Solaris 8 and 9. solaris2.[89]) gl_cv_func_mbrtowc_nul_retval="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrtowc_nul_retval="guessing yes" ;; esac changequote([,])dnl if test $LOCALE_ZH_CN != none; then AC_TRY_RUN([ #include #include #include int main () { /* This fails on Solaris 8 and 9. */ if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) { mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, "", 1, &state) != 0) return 1; } return 0; }], [gl_cv_func_mbrtowc_nul_retval=yes], [gl_cv_func_mbrtowc_nul_retval=no], [:]) fi ]) ]) # Prerequisites of lib/mbrtowc.c. AC_DEFUN([gl_PREREQ_MBRTOWC], [ : ]) dnl From Paul Eggert dnl This override of an autoconf macro can be removed when autoconf 2.60 or dnl newer can be assumed everywhere. m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.60]),[-1],[ AC_DEFUN([AC_FUNC_MBRTOWC], [ dnl Same as AC_FUNC_MBRTOWC in autoconf-2.60. AC_CACHE_CHECK([whether mbrtowc and mbstate_t are properly declared], gl_cv_func_mbrtowc, [AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[wchar_t wc; char const s[] = ""; size_t n = 1; mbstate_t state; return ! (sizeof state && (mbrtowc) (&wc, s, n, &state));]])], gl_cv_func_mbrtowc=yes, gl_cv_func_mbrtowc=no)]) if test $gl_cv_func_mbrtowc = yes; then AC_DEFINE([HAVE_MBRTOWC], [1], [Define to 1 if mbrtowc and mbstate_t are properly declared.]) fi ]) ]) parted-2.3/m4/lib-prefix.m40000644000000000000000000002042211370541032012343 00000000000000# lib-prefix.m4 serial 7 (gettext-0.18) dnl Copyright (C) 2001-2005, 2008-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't dnl require excessive bracketing. ifdef([AC_HELP_STRING], [AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], [AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed dnl to access previously installed libraries. The basic assumption is that dnl a user will want packages to use other packages he previously installed dnl with the same --prefix option. dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate dnl libraries, but is otherwise very convenient. AC_DEFUN([AC_LIB_PREFIX], [ AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) dnl By default, look in $includedir and $libdir. use_additional=yes AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) AC_LIB_ARG_WITH([lib-prefix], [ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib --without-lib-prefix don't search for libraries in includedir and libdir], [ if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" fi fi ]) if test $use_additional = yes; then dnl Potentially add $additional_includedir to $CPPFLAGS. dnl But don't add it dnl 1. if it's the standard /usr/include, dnl 2. if it's already present in $CPPFLAGS, dnl 3. if it's /usr/local/include and we are using GCC on Linux, dnl 4. if it doesn't exist as a directory. if test "X$additional_includedir" != "X/usr/include"; then haveit= for x in $CPPFLAGS; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then if test -d "$additional_includedir"; then dnl Really add $additional_includedir to $CPPFLAGS. CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" fi fi fi fi dnl Potentially add $additional_libdir to $LDFLAGS. dnl But don't add it dnl 1. if it's the standard /usr/lib, dnl 2. if it's already present in $LDFLAGS, dnl 3. if it's /usr/local/lib and we are using GCC on Linux, dnl 4. if it doesn't exist as a directory. if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= for x in $LDFLAGS; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux*) haveit=yes;; esac fi fi if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LDFLAGS. LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" fi fi fi fi fi ]) dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, dnl acl_final_exec_prefix, containing the values to which $prefix and dnl $exec_prefix will expand at the end of the configure script. AC_DEFUN([AC_LIB_PREPARE_PREFIX], [ dnl Unfortunately, prefix and exec_prefix get only finally determined dnl at the end of configure. if test "X$prefix" = "XNONE"; then acl_final_prefix="$ac_default_prefix" else acl_final_prefix="$prefix" fi if test "X$exec_prefix" = "XNONE"; then acl_final_exec_prefix='${prefix}' else acl_final_exec_prefix="$exec_prefix" fi acl_save_prefix="$prefix" prefix="$acl_final_prefix" eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" prefix="$acl_save_prefix" ]) dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the dnl variables prefix and exec_prefix bound to the values they will have dnl at the end of the configure script. AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], [ acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" $1 exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" ]) dnl AC_LIB_PREPARE_MULTILIB creates dnl - a variable acl_libdirstem, containing the basename of the libdir, either dnl "lib" or "lib64" or "lib/64", dnl - a variable acl_libdirstem2, as a secondary possible value for dnl acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or dnl "lib/amd64". AC_DEFUN([AC_LIB_PREPARE_MULTILIB], [ dnl There is no formal standard regarding lib and lib64. dnl On glibc systems, the current practice is that on a system supporting dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine dnl the compiler's default mode by looking at the compiler's library search dnl path. If at least one of its elements ends in /lib64 or points to a dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI. dnl Otherwise we use the default, namely "lib". dnl On Solaris systems, the current practice is that on a system supporting dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib. AC_REQUIRE([AC_CANONICAL_HOST]) acl_libdirstem=lib acl_libdirstem2= case "$host_os" in solaris*) dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment dnl . dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link." dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the dnl symlink is missing, so we set acl_libdirstem2 too. AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit], [AC_EGREP_CPP([sixtyfour bits], [ #ifdef _LP64 sixtyfour bits #endif ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no]) ]) if test $gl_cv_solaris_64bit = yes; then acl_libdirstem=lib/64 case "$host_cpu" in sparc*) acl_libdirstem2=lib/sparcv9 ;; i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; esac fi ;; *) searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` if test -n "$searchpath"; then acl_save_IFS="${IFS= }"; IFS=":" for searchdir in $searchpath; do if test -d "$searchdir"; then case "$searchdir" in */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; */../ | */.. ) # Better ignore directories of this form. They are misleading. ;; *) searchdir=`cd "$searchdir" && pwd` case "$searchdir" in */lib64 ) acl_libdirstem=lib64 ;; esac ;; esac fi done IFS="$acl_save_IFS" fi ;; esac test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" ]) parted-2.3/m4/config-h.m40000644000000000000000000000105711370541032011777 00000000000000# Say that -DHAVE_CONFIG_H is not needed. dnl Copyright (C) 2006, 2009-2010 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 Written by Paul Eggert. # This package's source files all include config.h unconditionally, # so there's no need to pass -DHAVE_CONFIG_H to the compiler. AC_DEFUN([gl_CONFIG_H], [AC_CONFIG_COMMANDS_PRE([test "X$DEFS" = X-DHAVE_CONFIG_H && DEFS=])]) parted-2.3/m4/o-direct.m40000644000000000000000000001505011333731662012022 00000000000000#serial 2 # Find a directory in which a disk-simulating file is usable by parted. # The problem is that on systems supporting O_DIRECT, open with O_DIRECT # fails for some file system types (e.g., tmpfs on linux-2.6.21). # Copyright (C) 2007-2010 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # From Jim Meyering. # Set PARTED_USABLE_TEST_DIR to the name of the first usable directory # from the list below. If none is usable, set it to the empty string. # Consider $TMPDIR only if it specifies an absolute name, and that # name contains no shell meta-character. Likewise for $HOME. # This code is pretty picky. The chosen partition must support aligned reads # and writes in blocks of size 512B and 4KB to a file descriptor opened with # O_RDWR|O_DIRECT. Reiserfs doesn't support 512-byte reads. On tmpfs, # the open fails. # The candidate directories: # . $HOME $TMPDIR /tmp /var/tmp /dev/shm AC_DEFUN([parted_FIND_USABLE_TEST_DIR], [ AC_CACHE_CHECK([for a usable (O_DIRECT-supporting) temporary dir], [parted_cv_func_open_O_DIRECT_temp_dir], [ # First of all, if there is no O_DIRECT definition, use ".", # and skip the run-test. AC_EGREP_CPP([frobnozzle], [ #include #ifdef O_DIRECT frobnozzle #endif ], pe_have_O_DIRECT=yes, pe_have_O_DIRECT=no) if test $pe_have_O_DIRECT = no; then # With no O_DIRECT definition, "." is fine. pe_cand_dirs=. else pe_cand_dirs=. for pe_dir in "$HOME" "$TMPDIR"; do case $pe_dir in /tmp) ;; /var/tmp) ;; /dev/shm) ;; /*) case $pe_dir in # Accept $HOME or $TMP only if the value is nice and boring. *[^/a-zA-Z0-9_.-]*) ;; *) pe_cand_dirs="$pe_cand_dirs $pe_dir";; esac esac done case $PARTED_TMPDIR in *[^/a-zA-Z0-9_.-]*) ;; *) pe_cand_dirs="$PARTED_TMPDIR $pe_cand_dirs";; esac # This is the list of candidate directories. pe_cand_dirs="$pe_cand_dirs /tmp /var/tmp /dev/shm" PARTED_CANDIDATE_DIRS=$pe_cand_dirs export PARTED_CANDIDATE_DIRS AC_RUN_IFELSE( [AC_LANG_SOURCE( [[ #include #include #include #include #include #include #define MAX_LOGICAL_BLOCK_SIZE 4096 static char g_buf[2 * MAX_LOGICAL_BLOCK_SIZE]; static inline void * ptr_align (void const *ptr, size_t alignment) { char const *p0 = ptr; char const *p1 = p0 + alignment - 1; return (void *) (p1 - (size_t) p1 % alignment); } static int create_input_file (char const *file, char const *buf, size_t n_bytes) { int fd = open (file, O_CREAT | O_WRONLY, 0600); if (fd < 0) return 1; if (write (fd, buf, n_bytes) != n_bytes) { close (fd); return 1; } return !! close (fd); } static int try_o_direct (char const *file, size_t block_size) { char *p = ptr_align (g_buf, MAX_LOGICAL_BLOCK_SIZE); int fd; if (!(p + block_size < g_buf + sizeof g_buf)) return 4; fd = open (file, O_RDWR | O_DIRECT); if (fd < 0) return 1; if (write (fd, p, block_size) != block_size) return 1; if (lseek (fd, 0, SEEK_SET) != 0) return 1; if (read (fd, p, block_size) != block_size) return 1; return !! close (fd); } #undef stpcpy #define stpcpy(a, b) my_stpcpy (a, b) static char * my_stpcpy (char *dest, const char *src) { char *d = dest; const char *s = src; do *d++ = *s; while (*s++ != '\0'); return d - 1; } /* The base name of the file we'll create in the mkdtemp-returned temporary directory. */ #define BASENAME "x" /* Return 0 upon failure, else the 1-based index of the first useful directory name from PARTED_CANDIDATE_DIRS. */ int main () { char const *env_dirs; char *dirs; char *dir; unsigned int n; int found = 0; size_t dirs_len; if ((env_dirs = getenv ("PARTED_CANDIDATE_DIRS")) == NULL) return 0; dirs_len = strlen (env_dirs); if ((dirs = strndup (env_dirs, dirs_len)) == NULL) return 0; dir = dirs; for (n = 1; ; n++) { size_t dirname_len; char *space; /* Skip any leading spaces. */ while (*dir == ' ') ++dir; space = strchr (dir, ' '); if (space) { *space = '\0'; dirname_len = space - dir; } else { dirname_len = strlen (dir); } if (dirname_len != 0) { /* Create an mkdtemp template starting with dir. */ char *tmp; char *endp; char const *base = "partedOD.XXXXXX"; /* Allocate enough space not just for the dir name, but also for the name of the file to create within it. */ char *template = malloc (dirname_len + 1 + strlen (base) + 1 + strlen (BASENAME) + 1); if (template != NULL && (endp = stpcpy (stpcpy (stpcpy (template, dir), "/"), base)) && (tmp = mkdtemp (template)) != NULL) { /* Append "/BASENAME" to create the file name. */ stpcpy (stpcpy (endp, "/"), BASENAME); if (create_input_file (tmp, g_buf, sizeof g_buf) == 0 && try_o_direct (tmp, 512) == 0 && try_o_direct (tmp, MAX_LOGICAL_BLOCK_SIZE) == 0) found = 1; unlink (tmp); /* ignore failure */ *endp = '\0'; rmdir (tmp); /* ignore failure */ } free (template); } if (found) break; dir += dirname_len + 1; if (dirs + dirs_len < dir) { n = 0; break; } } free (dirs); return n; } ]])], # If the above program exits with status 0, then # there it found no useful directory. Use ".". [parted_cv_func_open_O_DIRECT_temp_dir=.], # It found one. The exit status is an index into the list. # We also run this code when the program fails to compile or # to link, as will happen on systems without a mkdtemp function. [pe_err=$?; set _ $pe_cand_dirs; shift eval parted_cv_func_open_O_DIRECT_temp_dir='$'$pe_err], # When cross-compiling, use ".". [parted_cv_func_open_O_DIRECT_temp_dir=.] ) fi ]) PARTED_USABLE_TEST_DIR=$parted_cv_func_open_O_DIRECT_temp_dir AC_SUBST([PARTED_USABLE_TEST_DIR]) # If the result is ".", don't cache it. The next user of # the cache may well be running from a different file system. dnl Here, I'm using "$as_unset", which is a non-published (i.e., internal) dnl part of autoconf, but we don't expect its name to change any time soon. dnl and by then, it'll probably be ok to use "unset" all by itself. if test "$parted_cv_func_open_O_DIRECT_temp_dir" = .; then $as_unset parted_cv_func_open_O_DIRECT_temp_dir fi ]) parted-2.3/m4/version-etc.m40000644000000000000000000000222611370541032012542 00000000000000# version-etc.m4 serial 1 # Copyright (C) 2009-2010 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. dnl $1 - configure flag and define name dnl $2 - human readable description m4_define([gl_VERSION_ETC_FLAG], [dnl AC_ARG_WITH([$1], [AS_HELP_STRING([--with-$1], [$2])], [dnl case $withval in yes|no) ;; *) AC_DEFINE_UNQUOTED(AS_TR_CPP([PACKAGE_$1]), ["$withval"], [$2]) ;; esac ]) ]) AC_DEFUN([gl_VERSION_ETC], [dnl gl_VERSION_ETC_FLAG([packager], [String identifying the packager of this software]) gl_VERSION_ETC_FLAG([packager-version], [Packager-specific version information]) gl_VERSION_ETC_FLAG([packager-bug-reports], [Packager info for bug reports (URL/e-mail/...)]) if test "X$with_packager" = "X" && \ test "X$with_packager_version$with_packager_bug_reports" != "X" then AC_MSG_ERROR([The --with-packager-{bug-reports,version} options require --with-packager]) fi ]) parted-2.3/m4/locale-ja.m40000644000000000000000000000774311370541032012144 00000000000000# locale-ja.m4 serial 7 dnl Copyright (C) 2003, 2005-2010 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 Determine the name of a japanese locale with EUC-JP encoding. AC_DEFUN([gt_LOCALE_JA], [ AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AM_LANGINFO_CODESET]) AC_CACHE_CHECK([for a traditional japanese locale], [gt_cv_locale_ja], [ AC_LANG_CONFTEST([AC_LANG_SOURCE([ changequote(,)dnl #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { const char *p; /* Check whether the given locale name is recognized by the system. */ if (setlocale (LC_ALL, "") == NULL) return 1; /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether MB_CUR_MAX is > 1. This excludes the dysfunctional locales on Cygwin 1.5.x. */ if (MB_CUR_MAX == 1) return 1; /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; for (p = buf; *p != '\0'; p++) if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) return 1; return 0; } changequote([,])dnl ])]) if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the AIX locale name. if (LC_ALL=ja_JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja_JP else # Test for the locale name with explicit encoding suffix. if (LC_ALL=ja_JP.EUC-JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja_JP.EUC-JP else # Test for the HP-UX, OSF/1, NetBSD locale name. if (LC_ALL=ja_JP.eucJP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja_JP.eucJP else # Test for the IRIX, FreeBSD locale name. if (LC_ALL=ja_JP.EUC LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja_JP.EUC else # Test for the Solaris 7 locale name. if (LC_ALL=ja LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja else # Special test for NetBSD 1.6. if test -f /usr/share/locale/ja_JP.eucJP/LC_CTYPE; then gt_cv_locale_ja=ja_JP.eucJP else # None found. gt_cv_locale_ja=none fi fi fi fi fi fi fi rm -fr conftest* ]) LOCALE_JA=$gt_cv_locale_ja AC_SUBST([LOCALE_JA]) ]) parted-2.3/m4/string_h.m40000644000000000000000000001177211370541032012127 00000000000000# Configure a GNU-like replacement for . # Copyright (C) 2007-2010 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 17 # Written by Paul Eggert. AC_DEFUN([gl_HEADER_STRING_H], [ dnl Use AC_REQUIRE here, so that the default behavior below is expanded dnl once only, before all statements that occur in other macros. AC_REQUIRE([gl_HEADER_STRING_H_BODY]) ]) AC_DEFUN([gl_HEADER_STRING_H_BODY], [ AC_REQUIRE([AC_C_RESTRICT]) AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) gl_CHECK_NEXT_HEADERS([string.h]) dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use, and which is not dnl guaranteed by C89. gl_WARN_ON_USE_PREPARE([[#include ]], [memmem mempcpy memrchr rawmemchr stpcpy stpncpy strchrnul strdup strncat strndup strnlen strpbrk strsep strcasestr strtok_r strsignal strverscmp]) ]) AC_DEFUN([gl_STRING_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS], [ GNULIB_MEMCHR=0; AC_SUBST([GNULIB_MEMCHR]) GNULIB_MEMMEM=0; AC_SUBST([GNULIB_MEMMEM]) GNULIB_MEMPCPY=0; AC_SUBST([GNULIB_MEMPCPY]) GNULIB_MEMRCHR=0; AC_SUBST([GNULIB_MEMRCHR]) GNULIB_RAWMEMCHR=0; AC_SUBST([GNULIB_RAWMEMCHR]) GNULIB_STPCPY=0; AC_SUBST([GNULIB_STPCPY]) GNULIB_STPNCPY=0; AC_SUBST([GNULIB_STPNCPY]) GNULIB_STRCHRNUL=0; AC_SUBST([GNULIB_STRCHRNUL]) GNULIB_STRDUP=0; AC_SUBST([GNULIB_STRDUP]) GNULIB_STRNCAT=0; AC_SUBST([GNULIB_STRNCAT]) GNULIB_STRNDUP=0; AC_SUBST([GNULIB_STRNDUP]) GNULIB_STRNLEN=0; AC_SUBST([GNULIB_STRNLEN]) GNULIB_STRPBRK=0; AC_SUBST([GNULIB_STRPBRK]) GNULIB_STRSEP=0; AC_SUBST([GNULIB_STRSEP]) GNULIB_STRSTR=0; AC_SUBST([GNULIB_STRSTR]) GNULIB_STRCASESTR=0; AC_SUBST([GNULIB_STRCASESTR]) GNULIB_STRTOK_R=0; AC_SUBST([GNULIB_STRTOK_R]) GNULIB_MBSLEN=0; AC_SUBST([GNULIB_MBSLEN]) GNULIB_MBSNLEN=0; AC_SUBST([GNULIB_MBSNLEN]) GNULIB_MBSCHR=0; AC_SUBST([GNULIB_MBSCHR]) GNULIB_MBSRCHR=0; AC_SUBST([GNULIB_MBSRCHR]) GNULIB_MBSSTR=0; AC_SUBST([GNULIB_MBSSTR]) GNULIB_MBSCASECMP=0; AC_SUBST([GNULIB_MBSCASECMP]) GNULIB_MBSNCASECMP=0; AC_SUBST([GNULIB_MBSNCASECMP]) GNULIB_MBSPCASECMP=0; AC_SUBST([GNULIB_MBSPCASECMP]) GNULIB_MBSCASESTR=0; AC_SUBST([GNULIB_MBSCASESTR]) GNULIB_MBSCSPN=0; AC_SUBST([GNULIB_MBSCSPN]) GNULIB_MBSPBRK=0; AC_SUBST([GNULIB_MBSPBRK]) GNULIB_MBSSPN=0; AC_SUBST([GNULIB_MBSSPN]) GNULIB_MBSSEP=0; AC_SUBST([GNULIB_MBSSEP]) GNULIB_MBSTOK_R=0; AC_SUBST([GNULIB_MBSTOK_R]) GNULIB_STRERROR=0; AC_SUBST([GNULIB_STRERROR]) GNULIB_STRSIGNAL=0; AC_SUBST([GNULIB_STRSIGNAL]) GNULIB_STRVERSCMP=0; AC_SUBST([GNULIB_STRVERSCMP]) HAVE_MBSLEN=0; AC_SUBST([HAVE_MBSLEN]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_MEMCHR=1; AC_SUBST([HAVE_MEMCHR]) HAVE_DECL_MEMMEM=1; AC_SUBST([HAVE_DECL_MEMMEM]) HAVE_MEMPCPY=1; AC_SUBST([HAVE_MEMPCPY]) HAVE_DECL_MEMRCHR=1; AC_SUBST([HAVE_DECL_MEMRCHR]) HAVE_RAWMEMCHR=1; AC_SUBST([HAVE_RAWMEMCHR]) HAVE_STPCPY=1; AC_SUBST([HAVE_STPCPY]) HAVE_STPNCPY=1; AC_SUBST([HAVE_STPNCPY]) HAVE_STRCHRNUL=1; AC_SUBST([HAVE_STRCHRNUL]) HAVE_DECL_STRDUP=1; AC_SUBST([HAVE_DECL_STRDUP]) HAVE_DECL_STRNDUP=1; AC_SUBST([HAVE_DECL_STRNDUP]) HAVE_DECL_STRNLEN=1; AC_SUBST([HAVE_DECL_STRNLEN]) HAVE_STRPBRK=1; AC_SUBST([HAVE_STRPBRK]) HAVE_STRSEP=1; AC_SUBST([HAVE_STRSEP]) HAVE_STRCASESTR=1; AC_SUBST([HAVE_STRCASESTR]) HAVE_DECL_STRTOK_R=1; AC_SUBST([HAVE_DECL_STRTOK_R]) HAVE_DECL_STRSIGNAL=1; AC_SUBST([HAVE_DECL_STRSIGNAL]) HAVE_STRVERSCMP=1; AC_SUBST([HAVE_STRVERSCMP]) REPLACE_MEMCHR=0; AC_SUBST([REPLACE_MEMCHR]) REPLACE_MEMMEM=0; AC_SUBST([REPLACE_MEMMEM]) REPLACE_STPNCPY=0; AC_SUBST([REPLACE_STPNCPY]) REPLACE_STRDUP=0; AC_SUBST([REPLACE_STRDUP]) REPLACE_STRSTR=0; AC_SUBST([REPLACE_STRSTR]) REPLACE_STRCASESTR=0; AC_SUBST([REPLACE_STRCASESTR]) REPLACE_STRERROR=0; AC_SUBST([REPLACE_STRERROR]) REPLACE_STRNCAT=0; AC_SUBST([REPLACE_STRNCAT]) REPLACE_STRNDUP=0; AC_SUBST([REPLACE_STRNDUP]) REPLACE_STRNLEN=0; AC_SUBST([REPLACE_STRNLEN]) REPLACE_STRSIGNAL=0; AC_SUBST([REPLACE_STRSIGNAL]) REPLACE_STRTOK_R=0; AC_SUBST([REPLACE_STRTOK_R]) UNDEFINE_STRTOK_R=0; AC_SUBST([UNDEFINE_STRTOK_R]) ]) parted-2.3/m4/memchr.m40000644000000000000000000000516511370541032011564 00000000000000# memchr.m4 serial 8 dnl Copyright (C) 2002-2004, 2009-2010 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. AC_DEFUN_ONCE([gl_FUNC_MEMCHR], [ dnl Check for prerequisites for memory fence checks. gl_FUNC_MMAP_ANON AC_CHECK_HEADERS_ONCE([sys/mman.h]) AC_CHECK_FUNCS_ONCE([mprotect]) dnl These days, we assume memchr is present. But just in case... AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) AC_CHECK_FUNCS_ONCE([memchr]) if test $ac_cv_func_memchr = yes; then # Detect platform-specific bugs in some versions of glibc: # memchr should not dereference anything with length 0 # http://bugzilla.redhat.com/499689 # memchr should not dereference overestimated length after a match # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=521737 # http://sourceware.org/bugzilla/show_bug.cgi?id=10162 # Assume that memchr works on platforms that lack mprotect. AC_CACHE_CHECK([whether memchr works], [gl_cv_func_memchr_works], [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include #if HAVE_SYS_MMAN_H # include # include # include # include # ifndef MAP_FILE # define MAP_FILE 0 # endif #endif ]], [[ char *fence = NULL; #if HAVE_SYS_MMAN_H && HAVE_MPROTECT # if HAVE_MAP_ANONYMOUS const int flags = MAP_ANONYMOUS | MAP_PRIVATE; const int fd = -1; # else /* !HAVE_MAP_ANONYMOUS */ const int flags = MAP_FILE | MAP_PRIVATE; int fd = open ("/dev/zero", O_RDONLY, 0666); if (fd >= 0) # endif { int pagesize = getpagesize (); char *two_pages = (char *) mmap (NULL, 2 * pagesize, PROT_READ | PROT_WRITE, flags, fd, 0); if (two_pages != (char *)(-1) && mprotect (two_pages + pagesize, pagesize, PROT_NONE) == 0) fence = two_pages + pagesize; } #endif if (fence) { if (memchr (fence, 0, 0)) return 1; strcpy (fence - 9, "12345678"); if (memchr (fence - 9, 0, 79) != fence - 1) return 2; } return 0; ]])], [gl_cv_func_memchr_works=yes], [gl_cv_func_memchr_works=no], [dnl Be pessimistic for now. gl_cv_func_memchr_works="guessing no"])]) if test "$gl_cv_func_memchr_works" != yes; then REPLACE_MEMCHR=1 fi else HAVE_MEMCHR=0 fi if test $HAVE_MEMCHR = 0 || test $REPLACE_MEMCHR = 1; then AC_LIBOBJ([memchr]) gl_PREREQ_MEMCHR fi ]) # Prerequisites of lib/memchr.c. AC_DEFUN([gl_PREREQ_MEMCHR], [ AC_CHECK_HEADERS([bp-sym.h]) ]) parted-2.3/m4/wchar_h.m40000644000000000000000000001316711370541032011725 00000000000000dnl A placeholder for ISO C99 , for platforms that have issues. dnl Copyright (C) 2007-2010 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 Written by Eric Blake. # wchar_h.m4 serial 33 AC_DEFUN([gl_WCHAR_H], [ AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) AC_REQUIRE([gl_WCHAR_H_INLINE_OK]) dnl Prepare for creating substitute . dnl Check for (missing in Linux uClibc when built without wide dnl character support). dnl is always overridden, because of GNULIB_POSIXCHECK. AC_CHECK_HEADERS_ONCE([wchar.h]) gl_CHECK_NEXT_HEADERS([wchar.h]) if test $ac_cv_header_wchar_h = yes; then HAVE_WCHAR_H=1 else HAVE_WCHAR_H=0 fi AC_SUBST([HAVE_WCHAR_H]) AC_REQUIRE([gt_TYPE_WINT_T]) if test $gt_cv_c_wint_t = yes; then HAVE_WINT_T=1 else HAVE_WINT_T=0 fi AC_SUBST([HAVE_WINT_T]) dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use. gl_WARN_ON_USE_PREPARE([[ /* Some systems require additional headers. */ #ifndef __GLIBC__ # include # include # include #endif #include ]], [btowc wctob mbsinit mbrtowc mbrlen mbsrtowcs mbsnrtowcs wcrtomb wcsrtombs wcsnrtombs wcwidth]) ]) dnl Check whether is usable at all. AC_DEFUN([gl_WCHAR_H_INLINE_OK], [ dnl Test whether suffers due to the transition from '__inline' to dnl 'gnu_inline'. See dnl and . In summary, dnl glibc version 2.5 or older, together with gcc version 4.3 or newer and dnl the option -std=c99 or -std=gnu99, leads to a broken . AC_CACHE_CHECK([whether uses 'inline' correctly], [gl_cv_header_wchar_h_correct_inline], [gl_cv_header_wchar_h_correct_inline=yes AC_LANG_CONFTEST([ AC_LANG_SOURCE([[#define wcstod renamed_wcstod #include extern int zero (void); int main () { return zero(); } ]])]) if AC_TRY_EVAL([ac_compile]); then mv conftest.$ac_objext conftest1.$ac_objext AC_LANG_CONFTEST([ AC_LANG_SOURCE([[#define wcstod renamed_wcstod #include int zero (void) { return 0; } ]])]) if AC_TRY_EVAL([ac_compile]); then mv conftest.$ac_objext conftest2.$ac_objext if $CC -o conftest$ac_exeext $CFLAGS $LDFLAGS conftest1.$ac_objext conftest2.$ac_objext $LIBS >&AS_MESSAGE_LOG_FD 2>&1; then : else gl_cv_header_wchar_h_correct_inline=no fi fi fi rm -f conftest1.$ac_objext conftest2.$ac_objext conftest$ac_exeext ]) if test $gl_cv_header_wchar_h_correct_inline = no; then AC_MSG_ERROR([ cannot be used with this compiler ($CC $CFLAGS $CPPFLAGS). This is a known interoperability problem of glibc <= 2.5 with gcc >= 4.3 in C99 mode. You have four options: - Add the flag -fgnu89-inline to CC and reconfigure, or - Fix your include files, using parts of , or - Use a gcc version older than 4.3, or - Don't use the flags -std=c99 or -std=gnu99. Configuration aborted.]) fi ]) dnl Unconditionally enables the replacement of . AC_DEFUN([gl_REPLACE_WCHAR_H], [ dnl This is a no-op, because is always overridden. : ]) AC_DEFUN([gl_WCHAR_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) AC_DEFUN([gl_WCHAR_H_DEFAULTS], [ GNULIB_BTOWC=0; AC_SUBST([GNULIB_BTOWC]) GNULIB_WCTOB=0; AC_SUBST([GNULIB_WCTOB]) GNULIB_MBSINIT=0; AC_SUBST([GNULIB_MBSINIT]) GNULIB_MBRTOWC=0; AC_SUBST([GNULIB_MBRTOWC]) GNULIB_MBRLEN=0; AC_SUBST([GNULIB_MBRLEN]) GNULIB_MBSRTOWCS=0; AC_SUBST([GNULIB_MBSRTOWCS]) GNULIB_MBSNRTOWCS=0; AC_SUBST([GNULIB_MBSNRTOWCS]) GNULIB_WCRTOMB=0; AC_SUBST([GNULIB_WCRTOMB]) GNULIB_WCSRTOMBS=0; AC_SUBST([GNULIB_WCSRTOMBS]) GNULIB_WCSNRTOMBS=0; AC_SUBST([GNULIB_WCSNRTOMBS]) GNULIB_WCWIDTH=0; AC_SUBST([GNULIB_WCWIDTH]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_BTOWC=1; AC_SUBST([HAVE_BTOWC]) HAVE_MBSINIT=1; AC_SUBST([HAVE_MBSINIT]) HAVE_MBRTOWC=1; AC_SUBST([HAVE_MBRTOWC]) HAVE_MBRLEN=1; AC_SUBST([HAVE_MBRLEN]) HAVE_MBSRTOWCS=1; AC_SUBST([HAVE_MBSRTOWCS]) HAVE_MBSNRTOWCS=1; AC_SUBST([HAVE_MBSNRTOWCS]) HAVE_WCRTOMB=1; AC_SUBST([HAVE_WCRTOMB]) HAVE_WCSRTOMBS=1; AC_SUBST([HAVE_WCSRTOMBS]) HAVE_WCSNRTOMBS=1; AC_SUBST([HAVE_WCSNRTOMBS]) HAVE_DECL_WCTOB=1; AC_SUBST([HAVE_DECL_WCTOB]) HAVE_DECL_WCWIDTH=1; AC_SUBST([HAVE_DECL_WCWIDTH]) REPLACE_MBSTATE_T=0; AC_SUBST([REPLACE_MBSTATE_T]) REPLACE_BTOWC=0; AC_SUBST([REPLACE_BTOWC]) REPLACE_WCTOB=0; AC_SUBST([REPLACE_WCTOB]) REPLACE_MBSINIT=0; AC_SUBST([REPLACE_MBSINIT]) REPLACE_MBRTOWC=0; AC_SUBST([REPLACE_MBRTOWC]) REPLACE_MBRLEN=0; AC_SUBST([REPLACE_MBRLEN]) REPLACE_MBSRTOWCS=0; AC_SUBST([REPLACE_MBSRTOWCS]) REPLACE_MBSNRTOWCS=0; AC_SUBST([REPLACE_MBSNRTOWCS]) REPLACE_WCRTOMB=0; AC_SUBST([REPLACE_WCRTOMB]) REPLACE_WCSRTOMBS=0; AC_SUBST([REPLACE_WCSRTOMBS]) REPLACE_WCSNRTOMBS=0; AC_SUBST([REPLACE_WCSNRTOMBS]) REPLACE_WCWIDTH=0; AC_SUBST([REPLACE_WCWIDTH]) ]) parted-2.3/m4/regex.m40000644000000000000000000002214411370541032011417 00000000000000# serial 56 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, # 2007, 2008, 2009, 2010 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. dnl Initially derived from code in GNU grep. dnl Mostly written by Jim Meyering. AC_PREREQ([2.50]) AC_DEFUN([gl_REGEX], [ AC_CHECK_HEADERS_ONCE([locale.h]) AC_ARG_WITH([included-regex], [AS_HELP_STRING([--without-included-regex], [don't compile regex; this is the default on systems with recent-enough versions of the GNU C Library (use with caution on other systems).])]) case $with_included_regex in #( yes|no) ac_use_included_regex=$with_included_regex ;; '') # If the system regex support is good enough that it passes the # following run test, then default to *not* using the included regex.c. # If cross compiling, assume the test would fail and use the included # regex.c. AC_CACHE_CHECK([for working re_compile_pattern], [gl_cv_func_re_compile_pattern_working], [AC_RUN_IFELSE( [AC_LANG_PROGRAM( [AC_INCLUDES_DEFAULT[ #if HAVE_LOCALE_H #include #endif #include #include ]], [[static struct re_pattern_buffer regex; unsigned char folded_chars[UCHAR_MAX + 1]; int i; const char *s; struct re_registers regs; #if HAVE_LOCALE_H /* http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html This test needs valgrind to catch the bug on Debian GNU/Linux 3.1 x86, but it might catch the bug better on other platforms and it shouldn't hurt to try the test here. */ if (setlocale (LC_ALL, "en_US.UTF-8")) { static char const pat[] = "insert into"; static char const data[] = "\xFF\0\x12\xA2\xAA\xC4\xB1,K\x12\xC4\xB1*\xACK"; re_set_syntax (RE_SYNTAX_GREP | RE_HAT_LISTS_NOT_NEWLINE | RE_ICASE); memset (®ex, 0, sizeof regex); s = re_compile_pattern (pat, sizeof pat - 1, ®ex); if (s) return 1; if (re_search (®ex, data, sizeof data - 1, 0, sizeof data - 1, ®s) != -1) return 1; if (! setlocale (LC_ALL, "C")) return 1; } #endif /* This test is from glibc bug 3957, reported by Andrew Mackey. */ re_set_syntax (RE_SYNTAX_EGREP | RE_HAT_LISTS_NOT_NEWLINE); memset (®ex, 0, sizeof regex); s = re_compile_pattern ("a[^x]b", 6, ®ex); if (s) return 1; /* This should fail, but succeeds for glibc-2.5. */ if (re_search (®ex, "a\nb", 3, 0, 3, ®s) != -1) return 1; /* This regular expression is from Spencer ere test number 75 in grep-2.3. */ re_set_syntax (RE_SYNTAX_POSIX_EGREP); memset (®ex, 0, sizeof regex); for (i = 0; i <= UCHAR_MAX; i++) folded_chars[i] = i; regex.translate = folded_chars; s = re_compile_pattern ("a[[:@:>@:]]b\n", 11, ®ex); /* This should fail with _Invalid character class name_ error. */ if (!s) return 1; /* Ensure that [b-a] is diagnosed as invalid, when using RE_NO_EMPTY_RANGES. */ re_set_syntax (RE_SYNTAX_POSIX_EGREP | RE_NO_EMPTY_RANGES); memset (®ex, 0, sizeof regex); s = re_compile_pattern ("a[b-a]", 6, ®ex); if (s == 0) return 1; /* This should succeed, but does not for glibc-2.1.3. */ memset (®ex, 0, sizeof regex); s = re_compile_pattern ("{1", 2, ®ex); if (s) return 1; /* The following example is derived from a problem report against gawk from Jorge Stolfi . */ memset (®ex, 0, sizeof regex); s = re_compile_pattern ("[an\371]*n", 7, ®ex); if (s) return 1; /* This should match, but does not for glibc-2.2.1. */ if (re_match (®ex, "an", 2, 0, ®s) != 2) return 1; memset (®ex, 0, sizeof regex); s = re_compile_pattern ("x", 1, ®ex); if (s) return 1; /* glibc-2.2.93 does not work with a negative RANGE argument. */ if (re_search (®ex, "wxy", 3, 2, -2, ®s) != 1) return 1; /* The version of regex.c in older versions of gnulib ignored RE_ICASE. Detect that problem too. */ re_set_syntax (RE_SYNTAX_EMACS | RE_ICASE); memset (®ex, 0, sizeof regex); s = re_compile_pattern ("x", 1, ®ex); if (s) return 1; if (re_search (®ex, "WXY", 3, 0, 3, ®s) < 0) return 1; /* Catch a bug reported by Vin Shelton in http://lists.gnu.org/archive/html/bug-coreutils/2007-06/msg00089.html */ re_set_syntax (RE_SYNTAX_POSIX_BASIC & ~RE_CONTEXT_INVALID_DUP & ~RE_NO_EMPTY_RANGES); memset (®ex, 0, sizeof regex); s = re_compile_pattern ("[[:alnum:]_-]\\\\+$", 16, ®ex); if (s) return 1; /* REG_STARTEND was added to glibc on 2004-01-15. Reject older versions. */ if (! REG_STARTEND) return 1; /* Reject hosts whose regoff_t values are too narrow. These include glibc 2.3.5 on hosts with 64-bit ptrdiff_t and 32-bit int. */ if (sizeof (regoff_t) < sizeof (ptrdiff_t) || sizeof (regoff_t) < sizeof (ssize_t)) return 1; return 0;]])], [gl_cv_func_re_compile_pattern_working=yes], [gl_cv_func_re_compile_pattern_working=no], dnl When crosscompiling, assume it is not working. [gl_cv_func_re_compile_pattern_working=no])]) case $gl_cv_func_re_compile_pattern_working in #( yes) ac_use_included_regex=no;; #( no) ac_use_included_regex=yes;; esac ;; *) AC_MSG_ERROR([Invalid value for --with-included-regex: $with_included_regex]) ;; esac if test $ac_use_included_regex = yes; then AC_DEFINE([_REGEX_LARGE_OFFSETS], [1], [Define if you want regoff_t to be at least as wide POSIX requires.]) AC_DEFINE([re_syntax_options], [rpl_re_syntax_options], [Define to rpl_re_syntax_options if the replacement should be used.]) AC_DEFINE([re_set_syntax], [rpl_re_set_syntax], [Define to rpl_re_set_syntax if the replacement should be used.]) AC_DEFINE([re_compile_pattern], [rpl_re_compile_pattern], [Define to rpl_re_compile_pattern if the replacement should be used.]) AC_DEFINE([re_compile_fastmap], [rpl_re_compile_fastmap], [Define to rpl_re_compile_fastmap if the replacement should be used.]) AC_DEFINE([re_search], [rpl_re_search], [Define to rpl_re_search if the replacement should be used.]) AC_DEFINE([re_search_2], [rpl_re_search_2], [Define to rpl_re_search_2 if the replacement should be used.]) AC_DEFINE([re_match], [rpl_re_match], [Define to rpl_re_match if the replacement should be used.]) AC_DEFINE([re_match_2], [rpl_re_match_2], [Define to rpl_re_match_2 if the replacement should be used.]) AC_DEFINE([re_set_registers], [rpl_re_set_registers], [Define to rpl_re_set_registers if the replacement should be used.]) AC_DEFINE([re_comp], [rpl_re_comp], [Define to rpl_re_comp if the replacement should be used.]) AC_DEFINE([re_exec], [rpl_re_exec], [Define to rpl_re_exec if the replacement should be used.]) AC_DEFINE([regcomp], [rpl_regcomp], [Define to rpl_regcomp if the replacement should be used.]) AC_DEFINE([regexec], [rpl_regexec], [Define to rpl_regexec if the replacement should be used.]) AC_DEFINE([regerror], [rpl_regerror], [Define to rpl_regerror if the replacement should be used.]) AC_DEFINE([regfree], [rpl_regfree], [Define to rpl_regfree if the replacement should be used.]) AC_LIBOBJ([regex]) gl_PREREQ_REGEX fi ]) # Prerequisites of lib/regex.c and lib/regex_internal.c. AC_DEFUN([gl_PREREQ_REGEX], [ AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([AC_C_INLINE]) AC_REQUIRE([AC_C_RESTRICT]) AC_REQUIRE([AC_TYPE_MBSTATE_T]) AC_CHECK_HEADERS([libintl.h]) AC_CHECK_FUNCS_ONCE([isblank iswctype wcscoll]) AC_CHECK_DECLS([isblank], [], [], [#include ]) ]) parted-2.3/m4/lseek.m40000644000000000000000000000316611370541032011413 00000000000000# lseek.m4 serial 5 dnl Copyright (C) 2007, 2009, 2010 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. AC_DEFUN([gl_FUNC_LSEEK], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([AC_PROG_CC]) AC_CACHE_CHECK([whether lseek detects pipes], [gl_cv_func_lseek_pipe], [if test $cross_compiling = no; then AC_LINK_IFELSE([ #include /* for off_t */ #include /* for SEEK_CUR */ #include int main () { /* Exit with success only if stdin is seekable. */ return lseek (0, (off_t)0, SEEK_CUR) < 0; }], [if test -s conftest$ac_exeext \ && ./conftest$ac_exeext < conftest.$ac_ext \ && test 1 = "`echo hi \ | { ./conftest$ac_exeext; echo $?; cat >/dev/null; }`"; then gl_cv_func_lseek_pipe=yes else gl_cv_func_lseek_pipe=no fi], [gl_cv_func_lseek_pipe=no]) else AC_COMPILE_IFELSE([ #if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) || defined __BEOS__ /* mingw and BeOS mistakenly return 0 when trying to seek on pipes. */ Choke me. #endif], [gl_cv_func_lseek_pipe=yes], [gl_cv_func_lseek_pipe=no]) fi]) if test $gl_cv_func_lseek_pipe = no; then gl_REPLACE_LSEEK fi ]) AC_DEFUN([gl_REPLACE_LSEEK], [ AC_LIBOBJ([lseek]) AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) REPLACE_LSEEK=1 AC_DEFINE([LSEEK_PIPE_BROKEN], [1], [Define to 1 if lseek does not detect pipes.]) ]) parted-2.3/m4/manywarnings.m40000644000000000000000000000526011370541032013022 00000000000000# manywarnings.m4 serial 1 dnl Copyright (C) 2008, 2009, 2010 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 Simon Josefsson # gl_MANYWARN_COMPLEMENT(OUTVAR, LISTVAR, REMOVEVAR) # -------------------------------------------------- # Copy LISTVAR to OUTVAR except for the entries in REMOVEVAR. # Elements separated by whitespace. In set logic terms, the function # does OUTVAR = LISTVAR \ REMOVEVAR. AC_DEFUN([gl_MANYWARN_COMPLEMENT], [ gl_warn_set= set x $2; shift for gl_warn_item do case " $3 " in *" $gl_warn_item "*) ;; *) gl_warn_set="$gl_warn_set $gl_warn_item" ;; esac done $1=$gl_warn_set ]) # gl_MANYWARN_ALL_GCC(VARIABLE) # ----------------------------- # Add all documented GCC (currently as per version 4.4) warning # parameters to variable VARIABLE. Note that you need to test them # using gl_WARN_ADD if you want to make sure your gcc understands it. AC_DEFUN([gl_MANYWARN_ALL_GCC], [ gl_manywarn_set= for gl_manywarn_item in \ -Wall \ -W \ -Wformat-y2k \ -Wformat-nonliteral \ -Wformat-security \ -Winit-self \ -Wmissing-include-dirs \ -Wswitch-default \ -Wswitch-enum \ -Wunused \ -Wunknown-pragmas \ -Wstrict-aliasing \ -Wstrict-overflow \ -Wsystem-headers \ -Wfloat-equal \ -Wtraditional \ -Wtraditional-conversion \ -Wdeclaration-after-statement \ -Wundef \ -Wshadow \ -Wunsafe-loop-optimizations \ -Wpointer-arith \ -Wbad-function-cast \ -Wc++-compat \ -Wcast-qual \ -Wcast-align \ -Wwrite-strings \ -Wconversion \ -Wsign-conversion \ -Wlogical-op \ -Waggregate-return \ -Wstrict-prototypes \ -Wold-style-definition \ -Wmissing-prototypes \ -Wmissing-declarations \ -Wmissing-noreturn \ -Wmissing-format-attribute \ -Wpacked \ -Wpadded \ -Wredundant-decls \ -Wnested-externs \ -Wunreachable-code \ -Winline \ -Winvalid-pch \ -Wlong-long \ -Wvla \ -Wvolatile-register-var \ -Wdisabled-optimization \ -Wstack-protector \ -Woverlength-strings \ -Wbuiltin-macro-redefined \ -Wmudflap \ -Wpacked-bitfield-compat \ -Wsync-nand \ ; do gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item" done # The following are not documented in the manual but are included in # output from gcc --help=warnings. for gl_manywarn_item in \ -Wattributes \ -Wcoverage-mismatch \ -Wmultichar \ -Wunused-macros \ ; do gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item" done $1=$gl_manywarn_set ]) parted-2.3/m4/libtool.m40000644000000000000000000077771611400005556011777 00000000000000# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006, 2007, 2008, 2009 Free Software Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. m4_define([_LT_COPYING], [dnl # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006, 2007, 2008, 2009 Free Software Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. # # GNU Libtool is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2 of # the License, or (at your option) any later version. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Libtool; see the file COPYING. If not, a copy # can be downloaded from http://www.gnu.org/licenses/gpl.html, or # obtained by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ]) # serial 56 LT_INIT # LT_PREREQ(VERSION) # ------------------ # Complain and exit if this libtool version is less that VERSION. m4_defun([LT_PREREQ], [m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, [m4_default([$3], [m4_fatal([Libtool version $1 or higher is required], 63)])], [$2])]) # _LT_CHECK_BUILDDIR # ------------------ # Complain if the absolute build directory name contains unusual characters m4_defun([_LT_CHECK_BUILDDIR], [case `pwd` in *\ * | *\ *) AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; esac ]) # LT_INIT([OPTIONS]) # ------------------ AC_DEFUN([LT_INIT], [AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl AC_BEFORE([$0], [LT_LANG])dnl AC_BEFORE([$0], [LT_OUTPUT])dnl AC_BEFORE([$0], [LTDL_INIT])dnl m4_require([_LT_CHECK_BUILDDIR])dnl dnl Autoconf doesn't catch unexpanded LT_ macros by default: m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 dnl unless we require an AC_DEFUNed macro: AC_REQUIRE([LTOPTIONS_VERSION])dnl AC_REQUIRE([LTSUGAR_VERSION])dnl AC_REQUIRE([LTVERSION_VERSION])dnl AC_REQUIRE([LTOBSOLETE_VERSION])dnl m4_require([_LT_PROG_LTMAIN])dnl _LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) dnl Parse OPTIONS _LT_SET_OPTIONS([$0], [$1]) # This can be used to rebuild libtool when needed LIBTOOL_DEPS="$ltmain" # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' AC_SUBST(LIBTOOL)dnl _LT_SETUP # Only expand once: m4_define([LT_INIT]) ])# LT_INIT # Old names: AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_PROG_LIBTOOL], []) dnl AC_DEFUN([AM_PROG_LIBTOOL], []) # _LT_CC_BASENAME(CC) # ------------------- # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. m4_defun([_LT_CC_BASENAME], [for cc_temp in $1""; do case $cc_temp in compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` ]) # _LT_FILEUTILS_DEFAULTS # ---------------------- # It is okay to use these file commands and assume they have been set # sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. m4_defun([_LT_FILEUTILS_DEFAULTS], [: ${CP="cp -f"} : ${MV="mv -f"} : ${RM="rm -f"} ])# _LT_FILEUTILS_DEFAULTS # _LT_SETUP # --------- m4_defun([_LT_SETUP], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl _LT_DECL([], [host_alias], [0], [The host system])dnl _LT_DECL([], [host], [0])dnl _LT_DECL([], [host_os], [0])dnl dnl _LT_DECL([], [build_alias], [0], [The build system])dnl _LT_DECL([], [build], [0])dnl _LT_DECL([], [build_os], [0])dnl dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([LT_PATH_LD])dnl AC_REQUIRE([LT_PATH_NM])dnl dnl AC_REQUIRE([AC_PROG_LN_S])dnl test -z "$LN_S" && LN_S="ln -s" _LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl dnl AC_REQUIRE([LT_CMD_MAX_LEN])dnl _LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl _LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_CHECK_SHELL_FEATURES])dnl m4_require([_LT_CMD_RELOAD])dnl m4_require([_LT_CHECK_MAGIC_METHOD])dnl m4_require([_LT_CMD_OLD_ARCHIVE])dnl m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl _LT_CONFIG_LIBTOOL_INIT([ # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes INIT. if test -n "\${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi ]) if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi _LT_CHECK_OBJDIR m4_require([_LT_TAG_COMPILER])dnl case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Global variables: ofile=libtool can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a with_gnu_ld="$lt_cv_prog_gnu_ld" old_CC="$CC" old_CFLAGS="$CFLAGS" # Set sane defaults for various variables test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$LD" && LD=ld test -z "$ac_objext" && ac_objext=o _LT_CC_BASENAME([$compiler]) # Only perform the check for file, if the check method requires it test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then _LT_PATH_MAGIC fi ;; esac # Use C for the default configuration in the libtool script LT_SUPPORTED_TAG([CC]) _LT_LANG_C_CONFIG _LT_LANG_DEFAULT_CONFIG _LT_CONFIG_COMMANDS ])# _LT_SETUP # _LT_PREPARE_SED_QUOTE_VARS # -------------------------- # Define a few sed substitution that help us do robust quoting. m4_defun([_LT_PREPARE_SED_QUOTE_VARS], [# Backslashify metacharacters that are still active within # double-quoted strings. sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\([["`\\]]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to delay expansion of an escaped single quote. delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' ]) # _LT_PROG_LTMAIN # --------------- # Note that this code is called both from `configure', and `config.status' # now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, # `config.status' has no value for ac_aux_dir unless we are using Automake, # so we pass a copy along to make sure it has a sensible value anyway. m4_defun([_LT_PROG_LTMAIN], [m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl _LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) ltmain="$ac_aux_dir/ltmain.sh" ])# _LT_PROG_LTMAIN ## ------------------------------------- ## ## Accumulate code for creating libtool. ## ## ------------------------------------- ## # So that we can recreate a full libtool script including additional # tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS # in macros and then make a single call at the end using the `libtool' # label. # _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) # ---------------------------------------- # Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. m4_define([_LT_CONFIG_LIBTOOL_INIT], [m4_ifval([$1], [m4_append([_LT_OUTPUT_LIBTOOL_INIT], [$1 ])])]) # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_INIT]) # _LT_CONFIG_LIBTOOL([COMMANDS]) # ------------------------------ # Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. m4_define([_LT_CONFIG_LIBTOOL], [m4_ifval([$1], [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], [$1 ])])]) # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) # _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) # ----------------------------------------------------- m4_defun([_LT_CONFIG_SAVE_COMMANDS], [_LT_CONFIG_LIBTOOL([$1]) _LT_CONFIG_LIBTOOL_INIT([$2]) ]) # _LT_FORMAT_COMMENT([COMMENT]) # ----------------------------- # Add leading comment marks to the start of each line, and a trailing # full-stop to the whole comment if one is not present already. m4_define([_LT_FORMAT_COMMENT], [m4_ifval([$1], [ m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) )]) ## ------------------------ ## ## FIXME: Eliminate VARNAME ## ## ------------------------ ## # _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) # ------------------------------------------------------------------- # CONFIGNAME is the name given to the value in the libtool script. # VARNAME is the (base) name used in the configure script. # VALUE may be 0, 1 or 2 for a computed quote escaped value based on # VARNAME. Any other value will be used directly. m4_define([_LT_DECL], [lt_if_append_uniq([lt_decl_varnames], [$2], [, ], [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], [m4_ifval([$1], [$1], [$2])]) lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) m4_ifval([$4], [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) lt_dict_add_subkey([lt_decl_dict], [$2], [tagged?], [m4_ifval([$5], [yes], [no])])]) ]) # _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) # -------------------------------------------------------- m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) # lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) # ------------------------------------------------ m4_define([lt_decl_tag_varnames], [_lt_decl_filter([tagged?], [yes], $@)]) # _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) # --------------------------------------------------------- m4_define([_lt_decl_filter], [m4_case([$#], [0], [m4_fatal([$0: too few arguments: $#])], [1], [m4_fatal([$0: too few arguments: $#: $1])], [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], [lt_dict_filter([lt_decl_dict], $@)])[]dnl ]) # lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) # -------------------------------------------------- m4_define([lt_decl_quote_varnames], [_lt_decl_filter([value], [1], $@)]) # lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) # --------------------------------------------------- m4_define([lt_decl_dquote_varnames], [_lt_decl_filter([value], [2], $@)]) # lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) # --------------------------------------------------- m4_define([lt_decl_varnames_tagged], [m4_assert([$# <= 2])dnl _$0(m4_quote(m4_default([$1], [[, ]])), m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) m4_define([_lt_decl_varnames_tagged], [m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) # lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) # ------------------------------------------------ m4_define([lt_decl_all_varnames], [_$0(m4_quote(m4_default([$1], [[, ]])), m4_if([$2], [], m4_quote(lt_decl_varnames), m4_quote(m4_shift($@))))[]dnl ]) m4_define([_lt_decl_all_varnames], [lt_join($@, lt_decl_varnames_tagged([$1], lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl ]) # _LT_CONFIG_STATUS_DECLARE([VARNAME]) # ------------------------------------ # Quote a variable value, and forward it to `config.status' so that its # declaration there will have the same value as in `configure'. VARNAME # must have a single quote delimited value for this to work. m4_define([_LT_CONFIG_STATUS_DECLARE], [$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) # _LT_CONFIG_STATUS_DECLARATIONS # ------------------------------ # We delimit libtool config variables with single quotes, so when # we write them to config.status, we have to be sure to quote all # embedded single quotes properly. In configure, this macro expands # each variable declared with _LT_DECL (and _LT_TAGDECL) into: # # ='`$ECHO "$" | $SED "$delay_single_quote_subst"`' m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], [m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) # _LT_LIBTOOL_TAGS # ---------------- # Output comment and list of tags supported by the script m4_defun([_LT_LIBTOOL_TAGS], [_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl available_tags="_LT_TAGS"dnl ]) # _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) # ----------------------------------- # Extract the dictionary values for VARNAME (optionally with TAG) and # expand to a commented shell variable setting: # # # Some comment about what VAR is for. # visible_name=$lt_internal_name m4_define([_LT_LIBTOOL_DECLARE], [_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [description])))[]dnl m4_pushdef([_libtool_name], m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), [0], [_libtool_name=[$]$1], [1], [_libtool_name=$lt_[]$1], [2], [_libtool_name=$lt_[]$1], [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl ]) # _LT_LIBTOOL_CONFIG_VARS # ----------------------- # Produce commented declarations of non-tagged libtool config variables # suitable for insertion in the LIBTOOL CONFIG section of the `libtool' # script. Tagged libtool config variables (even for the LIBTOOL CONFIG # section) are produced by _LT_LIBTOOL_TAG_VARS. m4_defun([_LT_LIBTOOL_CONFIG_VARS], [m4_foreach([_lt_var], m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) # _LT_LIBTOOL_TAG_VARS(TAG) # ------------------------- m4_define([_LT_LIBTOOL_TAG_VARS], [m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) # _LT_TAGVAR(VARNAME, [TAGNAME]) # ------------------------------ m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) # _LT_CONFIG_COMMANDS # ------------------- # Send accumulated output to $CONFIG_STATUS. Thanks to the lists of # variables for single and double quote escaping we saved from calls # to _LT_DECL, we can put quote escaped variables declarations # into `config.status', and then the shell code to quote escape them in # for loops in `config.status'. Finally, any additional code accumulated # from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. m4_defun([_LT_CONFIG_COMMANDS], [AC_PROVIDE_IFELSE([LT_OUTPUT], dnl If the libtool generation code has been placed in $CONFIG_LT, dnl instead of duplicating it all over again into config.status, dnl then we will have config.status run $CONFIG_LT later, so it dnl needs to know what name is stored there: [AC_CONFIG_COMMANDS([libtool], [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], dnl If the libtool generation code is destined for config.status, dnl expand the accumulated commands and init code now: [AC_CONFIG_COMMANDS([libtool], [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) ])#_LT_CONFIG_COMMANDS # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], [ # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH sed_quote_subst='$sed_quote_subst' double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' _LT_CONFIG_STATUS_DECLARATIONS LTCC='$LTCC' LTCFLAGS='$LTCFLAGS' compiler='$compiler_DEFAULT' # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF \$[]1 _LTECHO_EOF' } # Quote evaled strings. for var in lt_decl_all_varnames([[ \ ]], lt_decl_quote_varnames); do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[[\\\\\\\`\\"\\\$]]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Double-quote double-evaled strings. for var in lt_decl_all_varnames([[ \ ]], lt_decl_dquote_varnames); do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[[\\\\\\\`\\"\\\$]]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done _LT_OUTPUT_LIBTOOL_INIT ]) # _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) # ------------------------------------ # Generate a child script FILE with all initialization necessary to # reuse the environment learned by the parent script, and make the # file executable. If COMMENT is supplied, it is inserted after the # `#!' sequence but before initialization text begins. After this # macro, additional text can be appended to FILE to form the body of # the child script. The macro ends with non-zero status if the # file could not be fully written (such as if the disk is full). m4_ifdef([AS_INIT_GENERATED], [m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], [m4_defun([_LT_GENERATED_FILE_INIT], [m4_require([AS_PREPARE])]dnl [m4_pushdef([AS_MESSAGE_LOG_FD])]dnl [lt_write_fail=0 cat >$1 <<_ASEOF || lt_write_fail=1 #! $SHELL # Generated by $as_me. $2 SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$1 <<\_ASEOF || lt_write_fail=1 AS_SHELL_SANITIZE _AS_PREPARE exec AS_MESSAGE_FD>&1 _ASEOF test $lt_write_fail = 0 && chmod +x $1[]dnl m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT # LT_OUTPUT # --------- # This macro allows early generation of the libtool script (before # AC_OUTPUT is called), incase it is used in configure for compilation # tests. AC_DEFUN([LT_OUTPUT], [: ${CONFIG_LT=./config.lt} AC_MSG_NOTICE([creating $CONFIG_LT]) _LT_GENERATED_FILE_INIT(["$CONFIG_LT"], [# Run this file to recreate a libtool stub with the current configuration.]) cat >>"$CONFIG_LT" <<\_LTEOF lt_cl_silent=false exec AS_MESSAGE_LOG_FD>>config.log { echo AS_BOX([Running $as_me.]) } >&AS_MESSAGE_LOG_FD lt_cl_help="\ \`$as_me' creates a local libtool stub from the current configuration, for use in further configure time tests before the real libtool is generated. Usage: $[0] [[OPTIONS]] -h, --help print this help, then exit -V, --version print version number, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files Report bugs to ." lt_cl_version="\ m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) configured by $[0], generated by m4_PACKAGE_STRING. Copyright (C) 2009 Free Software Foundation, Inc. This config.lt script is free software; the Free Software Foundation gives unlimited permision to copy, distribute and modify it." while test $[#] != 0 do case $[1] in --version | --v* | -V ) echo "$lt_cl_version"; exit 0 ;; --help | --h* | -h ) echo "$lt_cl_help"; exit 0 ;; --debug | --d* | -d ) debug=: ;; --quiet | --q* | --silent | --s* | -q ) lt_cl_silent=: ;; -*) AC_MSG_ERROR([unrecognized option: $[1] Try \`$[0] --help' for more information.]) ;; *) AC_MSG_ERROR([unrecognized argument: $[1] Try \`$[0] --help' for more information.]) ;; esac shift done if $lt_cl_silent; then exec AS_MESSAGE_FD>/dev/null fi _LTEOF cat >>"$CONFIG_LT" <<_LTEOF _LT_OUTPUT_LIBTOOL_COMMANDS_INIT _LTEOF cat >>"$CONFIG_LT" <<\_LTEOF AC_MSG_NOTICE([creating $ofile]) _LT_OUTPUT_LIBTOOL_COMMANDS AS_EXIT(0) _LTEOF chmod +x "$CONFIG_LT" # configure is writing to config.log, but config.lt does its own redirection, # appending to config.log, which fails on DOS, as config.log is still kept # open by configure. Here we exec the FD to /dev/null, effectively closing # config.log, so it can be properly (re)opened and appended to by config.lt. lt_cl_success=: test "$silent" = yes && lt_config_lt_args="$lt_config_lt_args --quiet" exec AS_MESSAGE_LOG_FD>/dev/null $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false exec AS_MESSAGE_LOG_FD>>config.log $lt_cl_success || AS_EXIT(1) ])# LT_OUTPUT # _LT_CONFIG(TAG) # --------------- # If TAG is the built-in tag, create an initial libtool script with a # default configuration from the untagged config vars. Otherwise add code # to config.status for appending the configuration named by TAG from the # matching tagged config vars. m4_defun([_LT_CONFIG], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl _LT_CONFIG_SAVE_COMMANDS([ m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl m4_if(_LT_TAG, [C], [ # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi cfgfile="${ofile}T" trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL # `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. # Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # _LT_COPYING _LT_LIBTOOL_TAGS # ### BEGIN LIBTOOL CONFIG _LT_LIBTOOL_CONFIG_VARS _LT_LIBTOOL_TAG_VARS # ### END LIBTOOL CONFIG _LT_EOF case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi _LT_EOF ;; esac _LT_PROG_LTMAIN # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) _LT_PROG_XSI_SHELLFNS sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" ], [cat <<_LT_EOF >> "$ofile" dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded dnl in a comment (ie after a #). # ### BEGIN LIBTOOL TAG CONFIG: $1 _LT_LIBTOOL_TAG_VARS(_LT_TAG) # ### END LIBTOOL TAG CONFIG: $1 _LT_EOF ])dnl /m4_if ], [m4_if([$1], [], [ PACKAGE='$PACKAGE' VERSION='$VERSION' TIMESTAMP='$TIMESTAMP' RM='$RM' ofile='$ofile'], []) ])dnl /_LT_CONFIG_SAVE_COMMANDS ])# _LT_CONFIG # LT_SUPPORTED_TAG(TAG) # --------------------- # Trace this macro to discover what tags are supported by the libtool # --tag option, using: # autoconf --trace 'LT_SUPPORTED_TAG:$1' AC_DEFUN([LT_SUPPORTED_TAG], []) # C support is built-in for now m4_define([_LT_LANG_C_enabled], []) m4_define([_LT_TAGS], []) # LT_LANG(LANG) # ------------- # Enable libtool support for the given language if not already enabled. AC_DEFUN([LT_LANG], [AC_BEFORE([$0], [LT_OUTPUT])dnl m4_case([$1], [C], [_LT_LANG(C)], [C++], [_LT_LANG(CXX)], [Java], [_LT_LANG(GCJ)], [Fortran 77], [_LT_LANG(F77)], [Fortran], [_LT_LANG(FC)], [Windows Resource], [_LT_LANG(RC)], [m4_ifdef([_LT_LANG_]$1[_CONFIG], [_LT_LANG($1)], [m4_fatal([$0: unsupported language: "$1"])])])dnl ])# LT_LANG # _LT_LANG(LANGNAME) # ------------------ m4_defun([_LT_LANG], [m4_ifdef([_LT_LANG_]$1[_enabled], [], [LT_SUPPORTED_TAG([$1])dnl m4_append([_LT_TAGS], [$1 ])dnl m4_define([_LT_LANG_]$1[_enabled], [])dnl _LT_LANG_$1_CONFIG($1)])dnl ])# _LT_LANG # _LT_LANG_DEFAULT_CONFIG # ----------------------- m4_defun([_LT_LANG_DEFAULT_CONFIG], [AC_PROVIDE_IFELSE([AC_PROG_CXX], [LT_LANG(CXX)], [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) AC_PROVIDE_IFELSE([AC_PROG_F77], [LT_LANG(F77)], [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) AC_PROVIDE_IFELSE([AC_PROG_FC], [LT_LANG(FC)], [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal dnl pulling things in needlessly. AC_PROVIDE_IFELSE([AC_PROG_GCJ], [LT_LANG(GCJ)], [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], [LT_LANG(GCJ)], [AC_PROVIDE_IFELSE([LT_PROG_GCJ], [LT_LANG(GCJ)], [m4_ifdef([AC_PROG_GCJ], [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) m4_ifdef([A][M_PROG_GCJ], [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) m4_ifdef([LT_PROG_GCJ], [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) AC_PROVIDE_IFELSE([LT_PROG_RC], [LT_LANG(RC)], [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) ])# _LT_LANG_DEFAULT_CONFIG # Obsolete macros: AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_CXX], []) dnl AC_DEFUN([AC_LIBTOOL_F77], []) dnl AC_DEFUN([AC_LIBTOOL_FC], []) dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) dnl AC_DEFUN([AC_LIBTOOL_RC], []) # _LT_TAG_COMPILER # ---------------- m4_defun([_LT_TAG_COMPILER], [AC_REQUIRE([AC_PROG_CC])dnl _LT_DECL([LTCC], [CC], [1], [A C compiler])dnl _LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl _LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl _LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC ])# _LT_TAG_COMPILER # _LT_COMPILER_BOILERPLATE # ------------------------ # Check for compiler boilerplate output or warnings with # the simple compiler test code. m4_defun([_LT_COMPILER_BOILERPLATE], [m4_require([_LT_DECL_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ])# _LT_COMPILER_BOILERPLATE # _LT_LINKER_BOILERPLATE # ---------------------- # Check for linker boilerplate output or warnings with # the simple link test code. m4_defun([_LT_LINKER_BOILERPLATE], [m4_require([_LT_DECL_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* ])# _LT_LINKER_BOILERPLATE # _LT_REQUIRED_DARWIN_CHECKS # ------------------------- m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ case $host_os in rhapsody* | darwin*) AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) AC_CHECK_TOOL([LIPO], [lipo], [:]) AC_CHECK_TOOL([OTOOL], [otool], [:]) AC_CHECK_TOOL([OTOOL64], [otool64], [:]) _LT_DECL([], [DSYMUTIL], [1], [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) _LT_DECL([], [NMEDIT], [1], [Tool to change global to local symbols on Mac OS X]) _LT_DECL([], [LIPO], [1], [Tool to manipulate fat objects and archives on Mac OS X]) _LT_DECL([], [OTOOL], [1], [ldd/readelf like tool for Mach-O binaries on Mac OS X]) _LT_DECL([], [OTOOL64], [1], [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], [lt_cv_apple_cc_single_mod=no if test -z "${LT_MULTI_MODULE}"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the # link flags. rm -rf libconftest.dylib* echo "int foo(void){return 1;}" > conftest.c echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&AS_MESSAGE_LOG_FD fi rm -rf libconftest.dylib* rm -f conftest.* fi]) AC_CACHE_CHECK([for -exported_symbols_list linker flag], [lt_cv_ld_exported_symbols_list], [lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], [lt_cv_ld_exported_symbols_list=yes], [lt_cv_ld_exported_symbols_list=no]) LDFLAGS="$save_LDFLAGS" ]) AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], [lt_cv_ld_force_load=no cat > conftest.c << _LT_EOF int forced_loaded() { return 2;} _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD cat > conftest.c << _LT_EOF int main() { return 0;} _LT_EOF echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err _lt_result=$? if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then lt_cv_ld_force_load=yes else cat conftest.err >&AS_MESSAGE_LOG_FD fi rm -f conftest.err libconftest.a conftest conftest.c rm -rf conftest.dSYM ]) case $host_os in rhapsody* | darwin1.[[012]]) _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; darwin*) # darwin 5.x on # if running on 10.5 or later, the deployment target defaults # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 10.[[012]]*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; esac ;; esac if test "$lt_cv_apple_cc_single_mod" = "yes"; then _lt_dar_single_mod='$single_module' fi if test "$lt_cv_ld_exported_symbols_list" = "yes"; then _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' else _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' fi if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= fi ;; esac ]) # _LT_DARWIN_LINKER_FEATURES # -------------------------- # Checks for linker and compiler features on darwin m4_defun([_LT_DARWIN_LINKER_FEATURES], [ m4_require([_LT_REQUIRED_DARWIN_CHECKS]) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported if test "$lt_cv_ld_force_load" = "yes"; then _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' else _LT_TAGVAR(whole_archive_flag_spec, $1)='' fi _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" case $cc_basename in ifort*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test "$_lt_dar_can_shared" = "yes"; then output_verbose_link_cmd=func_echo_all _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" m4_if([$1], [CXX], [ if test "$lt_cv_apple_cc_single_mod" != "yes"; then _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" fi ],[]) else _LT_TAGVAR(ld_shlibs, $1)=no fi ]) # _LT_SYS_MODULE_PATH_AIX # ----------------------- # Links a minimal program and checks the executable # for the system default hardcoded library path. In most cases, # this is /usr/lib:/lib, but when the MPI compilers are used # the location of the communication and MPI libs are included too. # If we don't find anything, use the default library path according # to the aix ld manual. m4_defun([_LT_SYS_MODULE_PATH_AIX], [m4_require([_LT_DECL_SED])dnl AC_LINK_IFELSE(AC_LANG_PROGRAM,[ lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi],[]) if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ])# _LT_SYS_MODULE_PATH_AIX # _LT_SHELL_INIT(ARG) # ------------------- m4_define([_LT_SHELL_INIT], [m4_divert_text([M4SH-INIT], [$1 ])])# _LT_SHELL_INIT # _LT_PROG_ECHO_BACKSLASH # ----------------------- # Find how we can fake an echo command that does not interpret backslash. # In particular, with Autoconf 2.60 or later we add some code to the start # of the generated configure script which will find a shell with a builtin # printf (which we can use as an echo command). m4_defun([_LT_PROG_ECHO_BACKSLASH], [ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO AC_MSG_CHECKING([how to print strings]) # Test print first, because it will be a builtin if present. if test "X`print -r -- -n 2>/dev/null`" = X-n && \ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='print -r --' elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='printf %s\n' else # Use this function as a fallback that always works. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $[]1 _LTECHO_EOF' } ECHO='func_fallback_echo' fi # func_echo_all arg... # Invoke $ECHO with all args, space-separated. func_echo_all () { $ECHO "$*" } case "$ECHO" in printf*) AC_MSG_RESULT([printf]) ;; print*) AC_MSG_RESULT([print -r]) ;; *) AC_MSG_RESULT([cat]) ;; esac m4_ifdef([_AS_DETECT_SUGGESTED], [_AS_DETECT_SUGGESTED([ test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO PATH=/empty FPATH=/empty; export PATH FPATH test "X`printf %s $ECHO`" = "X$ECHO" \ || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) _LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) ])# _LT_PROG_ECHO_BACKSLASH # _LT_ENABLE_LOCK # --------------- m4_defun([_LT_ENABLE_LOCK], [AC_ARG_ENABLE([libtool-lock], [AS_HELP_STRING([--disable-libtool-lock], [avoid locking (might break parallel builds)])]) test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE="32" ;; *ELF-64*) HPUX_IA64_MODE="64" ;; esac fi rm -rf conftest* ;; *-*-irix6*) # Find out which ABI we are using. echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then if test "$lt_cv_prog_gnu_ld" = yes; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; *N32*) LD="${LD-ld} -melf32bmipn32" ;; *64-bit*) LD="${LD-ld} -melf64bmip" ;; esac else case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; *N32*) LD="${LD-ld} -n32" ;; *64-bit*) LD="${LD-ld} -64" ;; esac fi fi rm -rf conftest* ;; x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ppc64-*linux*|powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) LD="${LD-ld} -m elf_s390" ;; sparc64-*linux*) LD="${LD-ld} -m elf32_sparc" ;; esac ;; *64-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; ppc*-*linux*|powerpc*-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, [AC_LANG_PUSH(C) AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) AC_LANG_POP]) if test x"$lt_cv_cc_needs_belf" != x"yes"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS="$SAVE_CFLAGS" fi ;; sparc*-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) LD="${LD-ld} -m elf64_sparc" ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" fi ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks="$enable_libtool_lock" ])# _LT_ENABLE_LOCK # _LT_CMD_OLD_ARCHIVE # ------------------- m4_defun([_LT_CMD_OLD_ARCHIVE], [AC_CHECK_TOOL(AR, ar, false) test -z "$AR" && AR=ar test -z "$AR_FLAGS" && AR_FLAGS=cru _LT_DECL([], [AR], [1], [The archiver]) _LT_DECL([], [AR_FLAGS], [1]) AC_CHECK_TOOL(STRIP, strip, :) test -z "$STRIP" && STRIP=: _LT_DECL([], [STRIP], [1], [A symbol stripping program]) AC_CHECK_TOOL(RANLIB, ranlib, :) test -z "$RANLIB" && RANLIB=: _LT_DECL([], [RANLIB], [1], [Commands used to install an old-style archive]) # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi case $host_os in darwin*) lock_old_archive_extraction=yes ;; *) lock_old_archive_extraction=no ;; esac _LT_DECL([], [old_postinstall_cmds], [2]) _LT_DECL([], [old_postuninstall_cmds], [2]) _LT_TAGDECL([], [old_archive_cmds], [2], [Commands used to build an old-style archive]) _LT_DECL([], [lock_old_archive_extraction], [0], [Whether to use a lock for old archive extraction]) ])# _LT_CMD_OLD_ARCHIVE # _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, # [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) # ---------------------------------------------------------------- # Check whether the given compiler option works AC_DEFUN([_LT_COMPILER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$3" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&AS_MESSAGE_LOG_FD echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi fi $RM conftest* ]) if test x"[$]$2" = xyes; then m4_if([$5], , :, [$5]) else m4_if([$6], , :, [$6]) fi ])# _LT_COMPILER_OPTION # Old name: AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) # _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, # [ACTION-SUCCESS], [ACTION-FAILURE]) # ---------------------------------------------------- # Check whether the given linker option works AC_DEFUN([_LT_LINKER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $3" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&AS_MESSAGE_LOG_FD $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi else $2=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" ]) if test x"[$]$2" = xyes; then m4_if([$4], , :, [$4]) else m4_if([$5], , :, [$5]) fi ])# _LT_LINKER_OPTION # Old name: AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) # LT_CMD_MAX_LEN #--------------- AC_DEFUN([LT_CMD_MAX_LEN], [AC_REQUIRE([AC_CANONICAL_HOST])dnl # find the maximum length of command line arguments AC_MSG_CHECKING([the maximum length of command line arguments]) AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl i=0 teststring="ABCD" case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; mint*) # On MiNT this can take a long time and run out of memory. lt_cv_sys_max_cmd_len=8192; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. for i in 1 2 3 4 5 6 7 8 ; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \ = "X$teststring$teststring"; } >/dev/null 2>&1 && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done # Only check the string length outside the loop. lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` teststring= # Add a significant safety factor because C++ compilers can tack on # massive amounts of additional arguments before passing them to the # linker. It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` fi ;; esac ]) if test -n $lt_cv_sys_max_cmd_len ; then AC_MSG_RESULT($lt_cv_sys_max_cmd_len) else AC_MSG_RESULT(none) fi max_cmd_len=$lt_cv_sys_max_cmd_len _LT_DECL([], [max_cmd_len], [0], [What is the maximum length of a command?]) ])# LT_CMD_MAX_LEN # Old name: AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) # _LT_HEADER_DLFCN # ---------------- m4_defun([_LT_HEADER_DLFCN], [AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl ])# _LT_HEADER_DLFCN # _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) # ---------------------------------------------------------------- m4_defun([_LT_TRY_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl if test "$cross_compiling" = yes; then : [$4] else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF [#line __oline__ "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif /* When -fvisbility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) void fnord () __attribute__((visibility("default"))); #endif void fnord () { int i=42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else { if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; else puts (dlerror ()); } /* dlclose (self); */ } else puts (dlerror ()); return status; }] _LT_EOF if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) $1 ;; x$lt_dlneed_uscore) $2 ;; x$lt_dlunknown|x*) $3 ;; esac else : # compilation failed $3 fi fi rm -fr conftest* ])# _LT_TRY_DLOPEN_SELF # LT_SYS_DLOPEN_SELF # ------------------ AC_DEFUN([LT_SYS_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl if test "x$enable_dlopen" != xyes; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen="load_add_on" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) lt_cv_dlopen="LoadLibrary" lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen="dlopen" lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ lt_cv_dlopen="dyld" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ]) ;; *) AC_CHECK_FUNC([shl_load], [lt_cv_dlopen="shl_load"], [AC_CHECK_LIB([dld], [shl_load], [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], [AC_CHECK_FUNC([dlopen], [lt_cv_dlopen="dlopen"], [AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], [AC_CHECK_LIB([svld], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], [AC_CHECK_LIB([dld], [dld_link], [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) ]) ]) ]) ]) ]) ;; esac if test "x$lt_cv_dlopen" != xno; then enable_dlopen=yes else enable_dlopen=no fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS="$CPPFLAGS" test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS="$LDFLAGS" wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" AC_CACHE_CHECK([whether a program can dlopen itself], lt_cv_dlopen_self, [dnl _LT_TRY_DLOPEN_SELF( lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) ]) if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" AC_CACHE_CHECK([whether a statically linked program can dlopen itself], lt_cv_dlopen_self_static, [dnl _LT_TRY_DLOPEN_SELF( lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) ]) fi CPPFLAGS="$save_CPPFLAGS" LDFLAGS="$save_LDFLAGS" LIBS="$save_LIBS" ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi _LT_DECL([dlopen_support], [enable_dlopen], [0], [Whether dlopen is supported]) _LT_DECL([dlopen_self], [enable_dlopen_self], [0], [Whether dlopen of programs is supported]) _LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], [Whether dlopen of statically linked programs is supported]) ])# LT_SYS_DLOPEN_SELF # Old name: AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) # _LT_COMPILER_C_O([TAGNAME]) # --------------------------- # Check to see if options -c and -o are simultaneously supported by compiler. # This macro does not hard code the compiler like AC_PROG_CC_C_O. m4_defun([_LT_COMPILER_C_O], [m4_require([_LT_DECL_SED])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_TAG_COMPILER])dnl AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&AS_MESSAGE_LOG_FD echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes fi fi chmod u+w . 2>&AS_MESSAGE_LOG_FD $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* ]) _LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], [Does compiler simultaneously support -c and -o options?]) ])# _LT_COMPILER_C_O # _LT_COMPILER_FILE_LOCKS([TAGNAME]) # ---------------------------------- # Check to see if we can do hard links to lock some files if needed m4_defun([_LT_COMPILER_FILE_LOCKS], [m4_require([_LT_ENABLE_LOCK])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl _LT_COMPILER_C_O([$1]) hard_links="nottested" if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user AC_MSG_CHECKING([if we can lock with hard links]) hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no AC_MSG_RESULT([$hard_links]) if test "$hard_links" = no; then AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) need_locks=warn fi else need_locks=no fi _LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) ])# _LT_COMPILER_FILE_LOCKS # _LT_CHECK_OBJDIR # ---------------- m4_defun([_LT_CHECK_OBJDIR], [AC_CACHE_CHECK([for objdir], [lt_cv_objdir], [rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null]) objdir=$lt_cv_objdir _LT_DECL([], [objdir], [0], [The name of the directory that contains temporary libtool files])dnl m4_pattern_allow([LT_OBJDIR])dnl AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", [Define to the sub-directory in which libtool stores uninstalled libraries.]) ])# _LT_CHECK_OBJDIR # _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) # -------------------------------------- # Check hardcoding attributes. m4_defun([_LT_LINKER_HARDCODE_LIBPATH], [AC_MSG_CHECKING([how to hardcode library paths into programs]) _LT_TAGVAR(hardcode_action, $1)= if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || test -n "$_LT_TAGVAR(runpath_var, $1)" || test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then # We can hardcode non-existent directories. if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then # Linking always hardcodes the temporary library directory. _LT_TAGVAR(hardcode_action, $1)=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. _LT_TAGVAR(hardcode_action, $1)=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. _LT_TAGVAR(hardcode_action, $1)=unsupported fi AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi _LT_TAGDECL([], [hardcode_action], [0], [How to hardcode a shared library path into an executable]) ])# _LT_LINKER_HARDCODE_LIBPATH # _LT_CMD_STRIPLIB # ---------------- m4_defun([_LT_CMD_STRIPLIB], [m4_require([_LT_DECL_EGREP]) striplib= old_striplib= AC_MSG_CHECKING([whether stripping libraries is possible]) if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" AC_MSG_RESULT([yes]) else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP" ; then striplib="$STRIP -x" old_striplib="$STRIP -S" AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi ;; *) AC_MSG_RESULT([no]) ;; esac fi _LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) _LT_DECL([], [striplib], [1]) ])# _LT_CMD_STRIPLIB # _LT_SYS_DYNAMIC_LINKER([TAG]) # ----------------------------- # PORTME Fill in your ld.so characteristics m4_defun([_LT_SYS_DYNAMIC_LINKER], [AC_REQUIRE([AC_CANONICAL_HOST])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_OBJDUMP])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_CHECK_SHELL_FEATURES])dnl AC_MSG_CHECKING([dynamic linker characteristics]) m4_if([$1], [], [ if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac case $host_os in mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;; *) lt_sed_strip_eq="s,=/,/,g" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` case $lt_search_path_spec in *\;*) # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` ;; *) lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` ;; esac # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[[lt_foo]]++; } if (lt_freq[[lt_foo]] == 1) { print lt_foo; } }'` # AWK program above erroneously prepends '/' to C:/dos/paths # for these hosts. case $host_os in mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ $SED 's,/\([[A-Za-z]]:\),\1,g'` ;; esac sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi]) library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix[[4-9]]*) version_type=linux need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[[01]] | aix4.[[01]].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[[45]]*) version_type=linux need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$host_os in yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' ;; esac ;; *) library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' ;; esac dynamic_linker='Win32 ld.exe' # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd1*) dynamic_linker=no ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[[123]]*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2*) shlibpath_overrides_runpath=yes ;; freebsd3.[[01]]* | freebsdelf3.[[01]]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; gnu*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555, ... postinstall_cmds='chmod 555 $lib' # or fails outright, so override atomically: install_override_mode=555 ;; interix[[3-9]]*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be Linux ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], [lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], [lt_cv_shlibpath_overrides_runpath=yes])]) LDFLAGS=$save_LDFLAGS libdir=$save_libdir ]) shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[[89]] | openbsd2.[[89]].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac AC_MSG_RESULT([$dynamic_linker]) test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" fi if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi _LT_DECL([], [variables_saved_for_relink], [1], [Variables whose values should be saved in libtool wrapper scripts and restored at link time]) _LT_DECL([], [need_lib_prefix], [0], [Do we need the "lib" prefix for modules?]) _LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) _LT_DECL([], [version_type], [0], [Library versioning type]) _LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) _LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) _LT_DECL([], [shlibpath_overrides_runpath], [0], [Is shlibpath searched before the hard-coded library search path?]) _LT_DECL([], [libname_spec], [1], [Format of library name prefix]) _LT_DECL([], [library_names_spec], [1], [[List of archive names. First name is the real one, the rest are links. The last name is the one that the linker finds with -lNAME]]) _LT_DECL([], [soname_spec], [1], [[The coded name of the library, if different from the real name]]) _LT_DECL([], [install_override_mode], [1], [Permission mode override for installation of shared libraries]) _LT_DECL([], [postinstall_cmds], [2], [Command to use after installation of a shared archive]) _LT_DECL([], [postuninstall_cmds], [2], [Command to use after uninstallation of a shared archive]) _LT_DECL([], [finish_cmds], [2], [Commands used to finish a libtool library installation in a directory]) _LT_DECL([], [finish_eval], [1], [[As "finish_cmds", except a single script fragment to be evaled but not shown]]) _LT_DECL([], [hardcode_into_libs], [0], [Whether we should hardcode library paths into libraries]) _LT_DECL([], [sys_lib_search_path_spec], [2], [Compile-time system search path for libraries]) _LT_DECL([], [sys_lib_dlsearch_path_spec], [2], [Run-time system search path for libraries]) ])# _LT_SYS_DYNAMIC_LINKER # _LT_PATH_TOOL_PREFIX(TOOL) # -------------------------- # find a file program which can recognize shared library AC_DEFUN([_LT_PATH_TOOL_PREFIX], [m4_require([_LT_DECL_EGREP])dnl AC_MSG_CHECKING([for $1]) AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, [case $MAGIC_CMD in [[\\/*] | ?:[\\/]*]) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR dnl $ac_dummy forces splitting on constant user-supplied paths. dnl POSIX.2 word splitting is done only on the output of word expansions, dnl not every word. This closes a longstanding sh security hole. ac_dummy="m4_if([$2], , $PATH, [$2])" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$1; then lt_cv_path_MAGIC_CMD="$ac_dir/$1" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac]) MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then AC_MSG_RESULT($MAGIC_CMD) else AC_MSG_RESULT(no) fi _LT_DECL([], [MAGIC_CMD], [0], [Used to examine libraries when file_magic_cmd begins with "file"])dnl ])# _LT_PATH_TOOL_PREFIX # Old name: AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) # _LT_PATH_MAGIC # -------------- # find a file program which can recognize a shared library m4_defun([_LT_PATH_MAGIC], [_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) else MAGIC_CMD=: fi fi ])# _LT_PATH_MAGIC # LT_PATH_LD # ---------- # find the pathname to the GNU or non-GNU linker AC_DEFUN([LT_PATH_LD], [AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_PROG_ECHO_BACKSLASH])dnl AC_ARG_WITH([gnu-ld], [AS_HELP_STRING([--with-gnu-ld], [assume the C compiler uses GNU ld @<:@default=no@:>@])], [test "$withval" = no || with_gnu_ld=yes], [with_gnu_ld=no])dnl ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by $CC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [[\\/]]* | ?:[[\\/]]*) re_direlt='/[[^/]][[^/]]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL(lt_cv_path_LD, [if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; cegcc*) # use the weaker test based on 'objdump'. See mingw*. lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' lt_cv_file_magic_cmd='$OBJDUMP -f' ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; gnu*) lt_cv_deplibs_check_method=pass_all ;; hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'] lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac ;; interix[[3-9]]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be Linux ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) lt_cv_deplibs_check_method=pass_all ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; *nto* | *qnx*) lt_cv_deplibs_check_method=pass_all ;; openbsd*) if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; tpf*) lt_cv_deplibs_check_method=pass_all ;; esac ]) file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown _LT_DECL([], [deplibs_check_method], [1], [Method to check whether dependent libraries are shared objects]) _LT_DECL([], [file_magic_cmd], [1], [Command to use when deplibs_check_method == "file_magic"]) ])# _LT_CHECK_MAGIC_METHOD # LT_PATH_NM # ---------- # find the pathname to a BSD- or MS-compatible name lister AC_DEFUN([LT_PATH_NM], [AC_REQUIRE([AC_PROG_CC])dnl AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, [if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_nm" if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then # Check to see if the nm accepts a BSD-compat flag. # Adding the `sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in */dev/null* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS="$lt_save_ifs" done : ${lt_cv_path_NM=no} fi]) if test "$lt_cv_path_NM" != "no"; then NM="$lt_cv_path_NM" else # Didn't find any BSD compatible name lister, look for dumpbin. if test -n "$DUMPBIN"; then : # Let the user override the test. else AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in *COFF*) DUMPBIN="$DUMPBIN -symbols" ;; *) DUMPBIN=: ;; esac fi AC_SUBST([DUMPBIN]) if test "$DUMPBIN" != ":"; then NM="$DUMPBIN" fi fi test -z "$NM" && NM=nm AC_SUBST([NM]) _LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], [lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&AS_MESSAGE_LOG_FD (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&AS_MESSAGE_LOG_FD (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) cat conftest.out >&AS_MESSAGE_LOG_FD if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" fi rm -f conftest*]) ])# LT_PATH_NM # Old names: AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_PROG_NM], []) dnl AC_DEFUN([AC_PROG_NM], []) # LT_LIB_M # -------- # check for math library AC_DEFUN([LT_LIB_M], [AC_REQUIRE([AC_CANONICAL_HOST])dnl LIBM= case $host in *-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) # These system don't have libm, or don't need it ;; *-ncr-sysv4.3*) AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") ;; *) AC_CHECK_LIB(m, cos, LIBM="-lm") ;; esac AC_SUBST([LIBM]) ])# LT_LIB_M # Old name: AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_CHECK_LIBM], []) # _LT_COMPILER_NO_RTTI([TAGNAME]) # ------------------------------- m4_defun([_LT_COMPILER_NO_RTTI], [m4_require([_LT_TAG_COMPILER])dnl _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= if test "$GCC" = yes; then case $cc_basename in nvcc*) _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; *) _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; esac _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], lt_cv_prog_compiler_rtti_exceptions, [-fno-rtti -fno-exceptions], [], [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) fi _LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], [Compiler flag to turn off builtin functions]) ])# _LT_COMPILER_NO_RTTI # _LT_CMD_GLOBAL_SYMBOLS # ---------------------- m4_defun([_LT_CMD_GLOBAL_SYMBOLS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([LT_PATH_NM])dnl AC_REQUIRE([LT_PATH_LD])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_TAG_COMPILER])dnl # Check for command to grab the raw symbol name followed by C symbol from nm. AC_MSG_CHECKING([command to parse $NM output from $compiler object]) AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], [ # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[[BCDEGRST]]' # Regexp to match symbols that can be accessed directly from C. sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' # Define system-specific variables. case $host_os in aix*) symcode='[[BCDT]]' ;; cygwin* | mingw* | pw32* | cegcc*) symcode='[[ABCDGISTW]]' ;; hpux*) if test "$host_cpu" = ia64; then symcode='[[ABCDEGRST]]' fi ;; irix* | nonstopux*) symcode='[[BCDEGRST]]' ;; osf*) symcode='[[BCDEGQRST]]' ;; solaris*) symcode='[[BDRT]]' ;; sco3.2v5*) symcode='[[DT]]' ;; sysv4.2uw2*) symcode='[[DT]]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[[ABDT]]' ;; sysv4) symcode='[[DFNSTU]]' ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[[ABCDGIRSTW]]' ;; esac # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # Try without a prefix underscore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function # and D for any global variable. # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK ['"\ " {last_section=section; section=\$ 3};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ " {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ " {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ " s[1]~/^[@?]/{print s[1], s[1]; next};"\ " s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx]" else lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<_LT_EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(void); void nm_test_func(void){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} _LT_EOF if AC_TRY_EVAL(ac_compile); then # Now try to grab the symbols. nlist=conftest.nm if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi # Make sure that we snagged all the symbols we need. if $GREP ' nm_test_var$' "$nlist" >/dev/null; then if $GREP ' nm_test_func$' "$nlist" >/dev/null; then cat <<_LT_EOF > conftest.$ac_ext #ifdef __cplusplus extern "C" { #endif _LT_EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ const struct { const char *name; void *address; } lt__PROGRAM__LTX_preloaded_symbols[[]] = { { "@PROGRAM@", (void *) 0 }, _LT_EOF $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt__PROGRAM__LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_save_LIBS="$LIBS" lt_save_CFLAGS="$CFLAGS" LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then pipe_works=yes fi LIBS="$lt_save_LIBS" CFLAGS="$lt_save_CFLAGS" else echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD fi else echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD fi else echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD cat conftest.$ac_ext >&5 fi rm -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test "$pipe_works" = yes; then break else lt_cv_sys_global_symbol_pipe= fi done ]) if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then AC_MSG_RESULT(failed) else AC_MSG_RESULT(ok) fi _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], [Take the output of nm and produce a listing of raw symbols and C names]) _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], [Transform the output of nm in a proper C declaration]) _LT_DECL([global_symbol_to_c_name_address], [lt_cv_sys_global_symbol_to_c_name_address], [1], [Transform the output of nm in a C name address pair]) _LT_DECL([global_symbol_to_c_name_address_lib_prefix], [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], [Transform the output of nm in a C name address pair when lib prefix is needed]) ]) # _LT_CMD_GLOBAL_SYMBOLS # _LT_COMPILER_PIC([TAGNAME]) # --------------------------- m4_defun([_LT_COMPILER_PIC], [m4_require([_LT_TAG_COMPILER])dnl _LT_TAGVAR(lt_prog_compiler_wl, $1)= _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)= AC_MSG_CHECKING([for $compiler option to produce PIC]) m4_if([$1], [CXX], [ # C++ specific cases for pic, static, wl, etc. if test "$GXX" = yes; then _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all _LT_TAGVAR(lt_prog_compiler_pic, $1)= ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac else case $host_os in aix[[4-9]]*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68*) # Green Hills C++ Compiler # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ;; esac ;; dgux*) case $cc_basename in ec++*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; ghcx*) # Green Hills C++ Compiler _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; *) ;; esac ;; freebsd* | dragonfly*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' if test "$host_cpu" != ia64; then _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' fi ;; aCC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' # CC pic flag -KPIC is the default. ;; *) ;; esac ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in KCC*) # KAI C++ Compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; ecpc* ) # old Intel C++ for x86_64 which still supported -KPIC. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; icpc* ) # Intel C++, used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; pgCC* | pgcpp*) # Portland Group C++ compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; cxx*) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL 8.0, 9.0 on PPC and BlueGene _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' ;; *) ;; esac ;; netbsd*) ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' ;; RCC*) # Rational C++ 2.4.1 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; cxx*) # Digital/Compaq C++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; *) ;; esac ;; psos*) ;; solaris*) case $cc_basename in CC*) # Sun C++ 4.2, 5.x and Centerline C++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; gcx*) # Green Hills C++ Compiler _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; lcc*) # Lucid _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; *) ;; esac ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; *) ;; esac ;; vxworks*) ;; *) _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ], [ if test "$GCC" = yes; then _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no enable_shared=no ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac case $cc_basename in nvcc*) # Cuda Compiler Driver 2.2 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Xcompiler -fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; hpux9* | hpux10* | hpux11*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC (with -KPIC) is the default. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in # old Intel for x86_64 which still supported -KPIC. ecc*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; # Lahey Fortran 8.1. lf95*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; ccc*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All Alpha code is PIC. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; xl* | bgxl* | bgf* | mpixl*) # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ F* | *Sun*Fortran*) # Sun Fortran 8.3 passes all unrecognized flags to the linker _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='' ;; *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ;; esac ;; esac ;; newsos6) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; osf3* | osf4* | osf5*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All OSF/1 code is PIC. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; rdos*) _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; solaris*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' case $cc_basename in f77* | f90* | f95*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; *) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; esac ;; sunos4*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; unicos*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; uts4*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; *) _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ]) case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) _LT_TAGVAR(lt_prog_compiler_pic, $1)= ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" ;; esac AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) _LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], [How to pass a linker flag through the compiler]) # # Check to make sure the PIC flag actually works. # if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in "" | " "*) ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; esac], [_LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) fi _LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], [Additional compiler flags for building library objects]) # # Check to make sure the static flag actually works. # wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), $lt_tmp_static_flag, [], [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) _LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], [Compiler flag to prevent dynamic linking]) ])# _LT_COMPILER_PIC # _LT_LINKER_SHLIBS([TAGNAME]) # ---------------------------- # See if the linker supports building shared libraries. m4_defun([_LT_LINKER_SHLIBS], [AC_REQUIRE([LT_PATH_LD])dnl AC_REQUIRE([LT_PATH_NM])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl m4_require([_LT_TAG_COMPILER])dnl AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) m4_if([$1], [CXX], [ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' case $host_os in aix[[4-9]]*) # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm # Also, AIX nm treats weak defined symbols like other global defined # symbols, whereas GNU nm marks them as "W". if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi ;; pw32*) _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" ;; cygwin* | mingw* | cegcc*) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' ;; *) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] ], [ runpath_var= _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_cmds, $1)= _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(compiler_needs_object, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(old_archive_from_new_cmds, $1)= _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= _LT_TAGVAR(thread_safe_flag_spec, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list _LT_TAGVAR(include_expsyms, $1)= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. dnl Note also adjust exclude_expsyms for C++ above. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac _LT_TAGVAR(ld_shlibs, $1)=yes # On some targets, GNU ld is compatible enough with the native linker # that we're better off using the native interface for both. lt_use_gnu_ld_interface=no if test "$with_gnu_ld" = yes; then case $host_os in aix*) # The AIX port of GNU ld has always aspired to compatibility # with the native linker. However, as the warning in the GNU ld # block says, versions before 2.19.5* couldn't really create working # shared libraries, regardless of the interface used. case `$LD -v 2>&1` in *\ \(GNU\ Binutils\)\ 2.19.5*) ;; *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; *) lt_use_gnu_ld_interface=yes ;; esac ;; *) lt_use_gnu_ld_interface=yes ;; esac fi if test "$lt_use_gnu_ld_interface" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else _LT_TAGVAR(whole_archive_flag_spec, $1)= fi supports_anon_versioning=no case `$LD -v 2>&1` in *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix[[3-9]]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.19, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to install binutils *** 2.20 or above, or modify your PATH so that a non-GNU linker is found. *** You will then need to restart the configuration process. _LT_EOF fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='' ;; m68k) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; interix[[3-9]]*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) tmp_diet=no if test "$host_os" = linux-dietlibc; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test "$tmp_diet" = no then tmp_addflag= tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; lf95*) # Lahey Fortran 8.1 _LT_TAGVAR(whole_archive_flag_spec, $1)= tmp_sharedflag='--shared' ;; xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; nvcc*) # Cuda Compiler Driver 2.2 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi case $cc_basename in xlf* | bgf* | bgxlf* | mpixlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' if test "x$supports_anon_versioning" = xyes; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; sunos4*) _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then runpath_var= _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. _LT_TAGVAR(hardcode_minus_L, $1)=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. _LT_TAGVAR(hardcode_direct, $1)=unsupported fi ;; aix[[4-9]]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm # Also, AIX nm treats weak defined symbols like other global # defined symbols, whereas GNU nm marks them as "W". if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. _LT_TAGVAR(archive_cmds, $1)='' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' if test "$GCC" = yes; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 _LT_TAGVAR(hardcode_direct, $1)=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. _LT_TAGVAR(always_export_symbols, $1)=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. _LT_TAGVAR(allow_undefined_flag, $1)='-berok' # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' if test "$with_gnu_ld" = yes; then # We only use this code for GNU lds that support --whole-archive. _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' fi _LT_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared libraries. _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='' ;; m68k) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac ;; bsdi[[45]]*) _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' # FIXME: Should let the user specify the lib program. _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; darwin* | rhapsody*) _LT_DARWIN_LINKER_FEATURES($1) ;; dgux*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; freebsd1*) _LT_TAGVAR(ld_shlibs, $1)=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; hpux9*) if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; hpux10*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes fi ;; hpux11*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) m4_if($1, [], [ # Older versions of the 11.00 compiler do not understand -b yet # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) _LT_LINKER_OPTION([if $CC understands -b], _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) ;; esac fi if test "$with_gnu_ld" = no; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" AC_LINK_IFELSE(int foo(void) {}, _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' ) LDFLAGS="$save_LDFLAGS" else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(inherit_rpath, $1)=yes _LT_TAGVAR(link_all_deplibs, $1)=yes ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; newsos6) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *nto* | *qnx*) ;; openbsd*) if test -f /usr/libexec/ld.so; then _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=yes if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' else case $host_os in openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' ;; esac fi else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; os2*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' else _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_separator, $1)=: ;; solaris*) _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' if test "$GCC" = yes; then wlarc='${wl}' _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) wlarc='${wl}' _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' fi ;; esac _LT_TAGVAR(link_all_deplibs, $1)=yes ;; sunos4*) if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv4) case $host_vendor in sni) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' _LT_TAGVAR(hardcode_direct, $1)=no ;; motorola) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv4.3*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes _LT_TAGVAR(ld_shlibs, $1)=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(ld_shlibs, $1)=no ;; esac if test x$host_vendor = xsni; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' ;; esac fi fi ]) AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no _LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld _LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl _LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl _LT_DECL([], [extract_expsyms_cmds], [2], [The commands to extract the exported symbol list from a shared archive]) # # Do we need to explicitly link libc? # case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in x|xyes) # Assume -lc should be added _LT_TAGVAR(archive_cmds_need_lc, $1)=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $_LT_TAGVAR(archive_cmds, $1) in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. AC_CACHE_CHECK([whether -lc should be explicitly linked in], [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), [$RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if AC_TRY_EVAL(ac_compile) 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) _LT_TAGVAR(allow_undefined_flag, $1)= if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) then lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no else lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes fi _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* ]) _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) ;; esac fi ;; esac _LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], [Whether or not to add -lc for building shared libraries]) _LT_TAGDECL([allow_libtool_libs_with_static_runtimes], [enable_shared_with_static_runtimes], [0], [Whether or not to disallow shared libs when runtime libs are static]) _LT_TAGDECL([], [export_dynamic_flag_spec], [1], [Compiler flag to allow reflexive dlopens]) _LT_TAGDECL([], [whole_archive_flag_spec], [1], [Compiler flag to generate shared objects directly from archives]) _LT_TAGDECL([], [compiler_needs_object], [1], [Whether the compiler copes with passing no objects directly]) _LT_TAGDECL([], [old_archive_from_new_cmds], [2], [Create an old-style archive from a shared archive]) _LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], [Create a temporary old-style archive to link instead of a shared archive]) _LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) _LT_TAGDECL([], [archive_expsym_cmds], [2]) _LT_TAGDECL([], [module_cmds], [2], [Commands used to build a loadable module if different from building a shared archive.]) _LT_TAGDECL([], [module_expsym_cmds], [2]) _LT_TAGDECL([], [with_gnu_ld], [1], [Whether we are building with GNU ld or not]) _LT_TAGDECL([], [allow_undefined_flag], [1], [Flag that allows shared libraries with undefined symbols to be built]) _LT_TAGDECL([], [no_undefined_flag], [1], [Flag that enforces no undefined symbols]) _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], [Flag to hardcode $libdir into a binary during linking. This must work even if $libdir does not exist]) _LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1], [[If ld is used when linking, flag to hardcode $libdir into a binary during linking. This must work even if $libdir does not exist]]) _LT_TAGDECL([], [hardcode_libdir_separator], [1], [Whether we need a single "-rpath" flag with a separated argument]) _LT_TAGDECL([], [hardcode_direct], [0], [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_direct_absolute], [0], [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the resulting binary and the resulting library dependency is "absolute", i.e impossible to change by setting ${shlibpath_var} if the library is relocated]) _LT_TAGDECL([], [hardcode_minus_L], [0], [Set to "yes" if using the -LDIR flag during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_shlibpath_var], [0], [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_automatic], [0], [Set to "yes" if building a shared library automatically hardcodes DIR into the library and all subsequent libraries and executables linked against it]) _LT_TAGDECL([], [inherit_rpath], [0], [Set to yes if linker adds runtime paths of dependent libraries to runtime path list]) _LT_TAGDECL([], [link_all_deplibs], [0], [Whether libtool must link a program against all its dependency libraries]) _LT_TAGDECL([], [fix_srcfile_path], [1], [Fix the shell variable $srcfile for the compiler]) _LT_TAGDECL([], [always_export_symbols], [0], [Set to "yes" if exported symbols are required]) _LT_TAGDECL([], [export_symbols_cmds], [2], [The commands to list exported symbols]) _LT_TAGDECL([], [exclude_expsyms], [1], [Symbols that should not be listed in the preloaded symbols]) _LT_TAGDECL([], [include_expsyms], [1], [Symbols that must always be exported]) _LT_TAGDECL([], [prelink_cmds], [2], [Commands necessary for linking programs (against libraries) with templates]) _LT_TAGDECL([], [file_list_spec], [1], [Specify filename containing input files]) dnl FIXME: Not yet implemented dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], dnl [Compiler flag to generate thread safe objects]) ])# _LT_LINKER_SHLIBS # _LT_LANG_C_CONFIG([TAG]) # ------------------------ # Ensure that the configuration variables for a C compiler are suitably # defined. These variables are subsequently used by _LT_CONFIG to write # the compiler configuration to `libtool'. m4_defun([_LT_LANG_C_CONFIG], [m4_require([_LT_DECL_EGREP])dnl lt_save_CC="$CC" AC_LANG_PUSH(C) # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' _LT_TAG_COMPILER # Save the default compiler, since it gets overwritten when the other # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. compiler_DEFAULT=$CC # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) LT_SYS_DLOPEN_SELF _LT_CMD_STRIPLIB # Report which library types will actually be built AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_CONFIG($1) fi AC_LANG_POP CC="$lt_save_CC" ])# _LT_LANG_C_CONFIG # _LT_LANG_CXX_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for a C++ compiler are suitably # defined. These variables are subsequently used by _LT_CONFIG to write # the compiler configuration to `libtool'. m4_defun([_LT_LANG_CXX_CONFIG], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_EGREP])dnl if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then AC_PROG_CXXCPP else _lt_caught_CXX_error=yes fi AC_LANG_PUSH(C++) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(compiler_needs_object, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for C++ test sources. ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the CXX compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_caught_CXX_error" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_LD=$LD lt_save_GCC=$GCC GCC=$GXX lt_save_with_gnu_ld=$with_gnu_ld lt_save_path_LD=$lt_cv_path_LD if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx else $as_unset lt_cv_prog_gnu_ld fi if test -n "${lt_cv_path_LDCXX+set}"; then lt_cv_path_LD=$lt_cv_path_LDCXX else $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) if test -n "$compiler"; then # We don't want -fno-exception when compiling C++ code, so set the # no_builtin_flag separately if test "$GXX" = yes; then _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' else _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= fi if test "$GXX" = yes; then # Set up default GNU C++ configuration LT_PATH_LD # Check if GNU C++ uses GNU ld as the underlying linker, since the # archiving commands below assume that GNU ld is being used. if test "$with_gnu_ld" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # If archive_cmds runs LD, not CC, wlarc should be empty # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to # investigate it a little bit more. (MM) wlarc='${wl}' # ancient GNU ld didn't support --whole-archive et. al. if eval "`$CC -print-prog-name=ld` --help 2>&1" | $GREP 'no-whole-archive' > /dev/null; then _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else _LT_TAGVAR(whole_archive_flag_spec, $1)= fi else with_gnu_ld=no wlarc= # A generic and very simple default shared library creation # command for GNU C++ for the case where it uses the native # linker, instead of GNU ld. If possible, this setting should # overridden to take advantage of the native linker features on # the platform it is being used on. _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' else GXX=no with_gnu_ld=no wlarc= fi # PORTME: fill in a description of your system's C++ link characteristics AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) _LT_TAGVAR(ld_shlibs, $1)=yes case $host_os in aix3*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aix[[4-9]]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. _LT_TAGVAR(archive_cmds, $1)='' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' if test "$GXX" = yes; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 _LT_TAGVAR(hardcode_direct, $1)=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)= fi esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to # export. _LT_TAGVAR(always_export_symbols, $1)=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. _LT_TAGVAR(allow_undefined_flag, $1)='-berok' # Determine the default libpath from the value encoded in an empty # executable. _LT_SYS_MODULE_PATH_AIX _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' if test "$with_gnu_ld" = yes; then # We only use this code for GNU lds that support --whole-archive. _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' fi _LT_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared # libraries. _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; chorus*) case $cc_basename in *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; darwin* | rhapsody*) _LT_DARWIN_LINKER_FEATURES($1) ;; dgux*) case $cc_basename in ec++*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; ghcx*) # Green Hills C++ Compiler # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; freebsd[[12]]*) # C++ shared libraries reported to be fairly broken before # switch to ELF _LT_TAGVAR(ld_shlibs, $1)=no ;; freebsd-elf*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; freebsd* | dragonfly*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions _LT_TAGVAR(ld_shlibs, $1)=yes ;; gnu*) ;; hpux9*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. case $cc_basename in CC*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aCC*) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test "$GXX" = yes; then _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; hpux10*|hpux11*) if test $with_gnu_ld = no; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) ;; *) _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. ;; esac case $cc_basename in CC*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aCC*) case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test "$GXX" = yes; then if test $with_gnu_ld = no; then case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; interix[[3-9]]*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' # Archives containing C++ object files must be created using # "CC -ar", where "CC" is the IRIX C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) if test "$GXX" = yes; then if test "$with_gnu_ld" = no; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib' fi fi _LT_TAGVAR(link_all_deplibs, $1)=yes ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(inherit_rpath, $1)=yes ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc* | ecpc* ) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; esac _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' ;; pgCC* | pgcpp*) # Portland Group C++ compiler case `$CC -V` in *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*) _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"' _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~ $RANLIB $oldlib' _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; *) # Version 6 will use weak symbols _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' ;; cxx*) # Compaq C++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' ;; xl* | mpixl* | bgxl*) # IBM XL 8.0 on PPC, with GNU ld _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='func_echo_all' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; esac ;; esac ;; lynxos*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; m88k*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; mvs*) case $cc_basename in cxx*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no fi # Workaround some broken pre-1.5 toolchains output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ;; *nto* | *qnx*) _LT_TAGVAR(ld_shlibs, $1)=yes ;; openbsd2*) # C++ shared libraries are fairly broken _LT_TAGVAR(ld_shlibs, $1)=no ;; openbsd*) if test -f /usr/libexec/ld.so; then _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' fi output_verbose_link_cmd=func_echo_all else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Archives containing C++ object files must be created using # the KAI C++ compiler. case $host in osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; esac ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; cxx*) case $host in osf3*) _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' ;; *) _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ echo "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~ $RM $lib.exp' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' ;; esac _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' case $host in osf3*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; psos*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; lcc*) # Lucid # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; solaris*) case $cc_basename in CC*) # Sun C++ 4.2, 5.x and Centerline C++ _LT_TAGVAR(archive_cmds_need_lc,$1)=yes _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; esac _LT_TAGVAR(link_all_deplibs, $1)=yes output_verbose_link_cmd='func_echo_all' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; gcx*) # Green Hills C++ Compiler _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' if $CC --version | $GREP -v '^2\.7' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' else # g++ 2.7 appears to require `-G' NOT `-shared' on this # platform. _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ '"$_LT_TAGVAR(old_archive_cmds, $1)" _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ '"$_LT_TAGVAR(reload_cmds, $1)" ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no _LT_TAGVAR(GCC, $1)="$GXX" _LT_TAGVAR(LD, $1)="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_SYS_HIDDEN_LIBDEPS($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" CC=$lt_save_CC LDCXX=$LD LD=$lt_save_LD GCC=$lt_save_GCC with_gnu_ld=$lt_save_with_gnu_ld lt_cv_path_LDCXX=$lt_cv_path_LD lt_cv_path_LD=$lt_save_path_LD lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld fi # test "$_lt_caught_CXX_error" != yes AC_LANG_POP ])# _LT_LANG_CXX_CONFIG # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) # --------------------------------- # Figure out "hidden" library dependencies from verbose # compiler output when linking a shared library. # Parse the compiler output and extract the necessary # objects, libraries and library flags. m4_defun([_LT_SYS_HIDDEN_LIBDEPS], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl # Dependencies to place before and after the object being linked: _LT_TAGVAR(predep_objects, $1)= _LT_TAGVAR(postdep_objects, $1)= _LT_TAGVAR(predeps, $1)= _LT_TAGVAR(postdeps, $1)= _LT_TAGVAR(compiler_lib_search_path, $1)= dnl we can't use the lt_simple_compile_test_code here, dnl because it contains code intended for an executable, dnl not a library. It's possible we should let each dnl tag define a new lt_????_link_test_code variable, dnl but it's only used here... m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF int a; void foo (void) { a = 0; } _LT_EOF ], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF class Foo { public: Foo (void) { a = 0; } private: int a; }; _LT_EOF ], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF subroutine foo implicit none integer*4 a a=0 return end _LT_EOF ], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF subroutine foo implicit none integer a a=0 return end _LT_EOF ], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF public class foo { private int a; public void bar (void) { a = 0; } }; _LT_EOF ]) dnl Parse the compiler output and extract the necessary dnl objects, libraries and library flags. if AC_TRY_EVAL(ac_compile); then # Parse the compiler output and extract the necessary # objects, libraries and library flags. # Sentinel used to keep track of whether or not we are before # the conftest object file. pre_test_object_deps_done=no for p in `eval "$output_verbose_link_cmd"`; do case $p in -L* | -R* | -l*) # Some compilers place space between "-{L,R}" and the path. # Remove the space. if test $p = "-L" || test $p = "-R"; then prev=$p continue else prev= fi if test "$pre_test_object_deps_done" = no; then case $p in -L* | -R*) # Internal compiler library paths should come after those # provided the user. The postdeps already come after the # user supplied libs so there is no need to process them. if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" else _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" fi ;; # The "-l" case would never come before the object being # linked, so don't bother handling this case. esac else if test -z "$_LT_TAGVAR(postdeps, $1)"; then _LT_TAGVAR(postdeps, $1)="${prev}${p}" else _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" fi fi ;; *.$objext) # This assumes that the test object file only shows up # once in the compiler output. if test "$p" = "conftest.$objext"; then pre_test_object_deps_done=yes continue fi if test "$pre_test_object_deps_done" = no; then if test -z "$_LT_TAGVAR(predep_objects, $1)"; then _LT_TAGVAR(predep_objects, $1)="$p" else _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" fi else if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then _LT_TAGVAR(postdep_objects, $1)="$p" else _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" fi fi ;; *) ;; # Ignore the rest. esac done # Clean up. rm -f a.out a.exe else echo "libtool.m4: error: problem compiling $1 test program" fi $RM -f confest.$objext # PORTME: override above test on systems where it is broken m4_if([$1], [CXX], [case $host_os in interix[[3-9]]*) # Interix 3.5 installs completely hosed .la files for C++, so rather than # hack all around it, let's just trust "g++" to DTRT. _LT_TAGVAR(predep_objects,$1)= _LT_TAGVAR(postdep_objects,$1)= _LT_TAGVAR(postdeps,$1)= ;; linux*) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac if test "$solaris_use_stlport4" != yes; then _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; solaris*) case $cc_basename in CC*) # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac # Adding this requires a known-good setup of shared libraries for # Sun compiler versions before 5.6, else PIC objects from an old # archive will be linked into the output, leading to subtle bugs. if test "$solaris_use_stlport4" != yes; then _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; esac ]) case " $_LT_TAGVAR(postdeps, $1) " in *" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; esac _LT_TAGVAR(compiler_lib_search_dirs, $1)= if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` fi _LT_TAGDECL([], [compiler_lib_search_dirs], [1], [The directories searched by this compiler when creating a shared library]) _LT_TAGDECL([], [predep_objects], [1], [Dependencies to place before and after the objects being linked to create a shared library]) _LT_TAGDECL([], [postdep_objects], [1]) _LT_TAGDECL([], [predeps], [1]) _LT_TAGDECL([], [postdeps], [1]) _LT_TAGDECL([], [compiler_lib_search_path], [1], [The library search path used internally by the compiler when linking a shared library]) ])# _LT_SYS_HIDDEN_LIBDEPS # _LT_LANG_F77_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for a Fortran 77 compiler are # suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_F77_CONFIG], [AC_LANG_PUSH(Fortran 77) if test -z "$F77" || test "X$F77" = "Xno"; then _lt_disable_F77=yes fi _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for f77 test sources. ac_ext=f # Object file extension for compiled f77 test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the F77 compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_disable_F77" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_GCC=$GCC CC=${F77-"f77"} compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) GCC=$G77 if test -n "$compiler"; then AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_TAGVAR(GCC, $1)="$G77" _LT_TAGVAR(LD, $1)="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" GCC=$lt_save_GCC CC="$lt_save_CC" fi # test "$_lt_disable_F77" != yes AC_LANG_POP ])# _LT_LANG_F77_CONFIG # _LT_LANG_FC_CONFIG([TAG]) # ------------------------- # Ensure that the configuration variables for a Fortran compiler are # suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_FC_CONFIG], [AC_LANG_PUSH(Fortran) if test -z "$FC" || test "X$FC" = "Xno"; then _lt_disable_FC=yes fi _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for fc test sources. ac_ext=${ac_fc_srcext-f} # Object file extension for compiled fc test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the FC compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_disable_FC" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_GCC=$GCC CC=${FC-"f95"} compiler=$CC GCC=$ac_cv_fc_compiler_gnu _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) if test -n "$compiler"; then AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" _LT_TAGVAR(LD, $1)="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_SYS_HIDDEN_LIBDEPS($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" GCC=$lt_save_GCC CC="$lt_save_CC" fi # test "$_lt_disable_FC" != yes AC_LANG_POP ])# _LT_LANG_FC_CONFIG # _LT_LANG_GCJ_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for the GNU Java Compiler compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_GCJ_CONFIG], [AC_REQUIRE([LT_PROG_GCJ])dnl AC_LANG_SAVE # Source file extension for Java test sources. ac_ext=java # Object file extension for compiled Java test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="class foo {}" # Code to be used in simple link tests lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_GCC=$GCC GCC=yes CC=${GCJ-"gcj"} compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_TAGVAR(LD, $1)="$LD" _LT_CC_BASENAME([$compiler]) # GCJ did not exist at the time GCC didn't implicitly link libc in. _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi AC_LANG_RESTORE GCC=$lt_save_GCC CC="$lt_save_CC" ])# _LT_LANG_GCJ_CONFIG # _LT_LANG_RC_CONFIG([TAG]) # ------------------------- # Ensure that the configuration variables for the Windows resource compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_RC_CONFIG], [AC_REQUIRE([LT_PROG_RC])dnl AC_LANG_SAVE # Source file extension for RC test sources. ac_ext=rc # Object file extension for compiled RC test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' # Code to be used in simple link tests lt_simple_link_test_code="$lt_simple_compile_test_code" # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_GCC=$GCC GCC= CC=${RC-"windres"} compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes if test -n "$compiler"; then : _LT_CONFIG($1) fi GCC=$lt_save_GCC AC_LANG_RESTORE CC="$lt_save_CC" ])# _LT_LANG_RC_CONFIG # LT_PROG_GCJ # ----------- AC_DEFUN([LT_PROG_GCJ], [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], [AC_CHECK_TOOL(GCJ, gcj,) test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" AC_SUBST(GCJFLAGS)])])[]dnl ]) # Old name: AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_GCJ], []) # LT_PROG_RC # ---------- AC_DEFUN([LT_PROG_RC], [AC_CHECK_TOOL(RC, windres,) ]) # Old name: AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_RC], []) # _LT_DECL_EGREP # -------------- # If we don't have a new enough Autoconf to choose the best grep # available, choose the one first in the user's PATH. m4_defun([_LT_DECL_EGREP], [AC_REQUIRE([AC_PROG_EGREP])dnl AC_REQUIRE([AC_PROG_FGREP])dnl test -z "$GREP" && GREP=grep _LT_DECL([], [GREP], [1], [A grep program that handles long lines]) _LT_DECL([], [EGREP], [1], [An ERE matcher]) _LT_DECL([], [FGREP], [1], [A literal string matcher]) dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too AC_SUBST([GREP]) ]) # _LT_DECL_OBJDUMP # -------------- # If we don't have a new enough Autoconf to choose the best objdump # available, choose the one first in the user's PATH. m4_defun([_LT_DECL_OBJDUMP], [AC_CHECK_TOOL(OBJDUMP, objdump, false) test -z "$OBJDUMP" && OBJDUMP=objdump _LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) AC_SUBST([OBJDUMP]) ]) # _LT_DECL_SED # ------------ # Check for a fully-functional sed program, that truncates # as few characters as possible. Prefer GNU sed if found. m4_defun([_LT_DECL_SED], [AC_PROG_SED test -z "$SED" && SED=sed Xsed="$SED -e 1s/^X//" _LT_DECL([], [SED], [1], [A sed program that does not truncate output]) _LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], [Sed that helps us avoid accidentally triggering echo(1) options like -n]) ])# _LT_DECL_SED m4_ifndef([AC_PROG_SED], [ ############################################################ # NOTE: This macro has been submitted for inclusion into # # GNU Autoconf as AC_PROG_SED. When it is available in # # a released version of Autoconf we should remove this # # macro and use it instead. # ############################################################ m4_defun([AC_PROG_SED], [AC_MSG_CHECKING([for a sed that does not truncate output]) AC_CACHE_VAL(lt_cv_path_SED, [# Loop through the user's path and test for sed and gsed. # Then use that list of sed's as ones to test for truncation. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for lt_ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" fi done done done IFS=$as_save_IFS lt_ac_max=0 lt_ac_count=0 # Add /usr/xpg4/bin/sed as it is typically found on Solaris # along with /bin/sed that truncates output. for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do test ! -f $lt_ac_sed && continue cat /dev/null > conftest.in lt_ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >conftest.in # Check for GNU sed and select it if it is found. if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then lt_cv_path_SED=$lt_ac_sed break fi while true; do cat conftest.in conftest.in >conftest.tmp mv conftest.tmp conftest.in cp conftest.in conftest.nl echo >>conftest.nl $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break cmp -s conftest.out conftest.nl || break # 10000 chars as input seems more than enough test $lt_ac_count -gt 10 && break lt_ac_count=`expr $lt_ac_count + 1` if test $lt_ac_count -gt $lt_ac_max; then lt_ac_max=$lt_ac_count lt_cv_path_SED=$lt_ac_sed fi done done ]) SED=$lt_cv_path_SED AC_SUBST([SED]) AC_MSG_RESULT([$SED]) ])#AC_PROG_SED ])#m4_ifndef # Old name: AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_SED], []) # _LT_CHECK_SHELL_FEATURES # ------------------------ # Find out whether the shell is Bourne or XSI compatible, # or has some other useful features. m4_defun([_LT_CHECK_SHELL_FEATURES], [AC_MSG_CHECKING([whether the shell understands some XSI constructs]) # Try some XSI features xsi_shell=no ( _lt_dummy="a/b/c" test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ = c,a/b,, \ && eval 'test $(( 1 + 1 )) -eq 2 \ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ && xsi_shell=yes AC_MSG_RESULT([$xsi_shell]) _LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) AC_MSG_CHECKING([whether the shell understands "+="]) lt_shell_append=no ( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ >/dev/null 2>&1 \ && lt_shell_append=yes AC_MSG_RESULT([$lt_shell_append]) _LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset else lt_unset=false fi _LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl # test EBCDIC or ASCII case `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr lt_SP2NL='tr \040 \012' lt_NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system lt_SP2NL='tr \100 \n' lt_NL2SP='tr \r\n \100\100' ;; esac _LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl ])# _LT_CHECK_SHELL_FEATURES # _LT_PROG_XSI_SHELLFNS # --------------------- # Bourne and XSI compatible variants of some useful shell functions. m4_defun([_LT_PROG_XSI_SHELLFNS], [case $xsi_shell in yes) cat << \_LT_EOF >> "$cfgfile" # func_dirname file append nondir_replacement # Compute the dirname of FILE. If nonempty, add APPEND to the result, # otherwise set result to NONDIR_REPLACEMENT. func_dirname () { case ${1} in */*) func_dirname_result="${1%/*}${2}" ;; * ) func_dirname_result="${3}" ;; esac } # func_basename file func_basename () { func_basename_result="${1##*/}" } # func_dirname_and_basename file append nondir_replacement # perform func_basename and func_dirname in a single function # call: # dirname: Compute the dirname of FILE. If nonempty, # add APPEND to the result, otherwise set result # to NONDIR_REPLACEMENT. # value returned in "$func_dirname_result" # basename: Compute filename of FILE. # value retuned in "$func_basename_result" # Implementation must be kept synchronized with func_dirname # and func_basename. For efficiency, we do not delegate to # those functions but instead duplicate the functionality here. func_dirname_and_basename () { case ${1} in */*) func_dirname_result="${1%/*}${2}" ;; * ) func_dirname_result="${3}" ;; esac func_basename_result="${1##*/}" } # func_stripname prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). func_stripname () { # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are # positional parameters, so assign one to ordinary parameter first. func_stripname_result=${3} func_stripname_result=${func_stripname_result#"${1}"} func_stripname_result=${func_stripname_result%"${2}"} } # func_opt_split func_opt_split () { func_opt_split_opt=${1%%=*} func_opt_split_arg=${1#*=} } # func_lo2o object func_lo2o () { case ${1} in *.lo) func_lo2o_result=${1%.lo}.${objext} ;; *) func_lo2o_result=${1} ;; esac } # func_xform libobj-or-source func_xform () { func_xform_result=${1%.*}.lo } # func_arith arithmetic-term... func_arith () { func_arith_result=$(( $[*] )) } # func_len string # STRING may not start with a hyphen. func_len () { func_len_result=${#1} } _LT_EOF ;; *) # Bourne compatible functions. cat << \_LT_EOF >> "$cfgfile" # func_dirname file append nondir_replacement # Compute the dirname of FILE. If nonempty, add APPEND to the result, # otherwise set result to NONDIR_REPLACEMENT. func_dirname () { # Extract subdirectory from the argument. func_dirname_result=`$ECHO "${1}" | $SED "$dirname"` if test "X$func_dirname_result" = "X${1}"; then func_dirname_result="${3}" else func_dirname_result="$func_dirname_result${2}" fi } # func_basename file func_basename () { func_basename_result=`$ECHO "${1}" | $SED "$basename"` } dnl func_dirname_and_basename dnl A portable version of this function is already defined in general.m4sh dnl so there is no need for it here. # func_stripname prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). # func_strip_suffix prefix name func_stripname () { case ${2} in .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; esac } # sed scripts: my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q' my_sed_long_arg='1s/^-[[^=]]*=//' # func_opt_split func_opt_split () { func_opt_split_opt=`$ECHO "${1}" | $SED "$my_sed_long_opt"` func_opt_split_arg=`$ECHO "${1}" | $SED "$my_sed_long_arg"` } # func_lo2o object func_lo2o () { func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"` } # func_xform libobj-or-source func_xform () { func_xform_result=`$ECHO "${1}" | $SED 's/\.[[^.]]*$/.lo/'` } # func_arith arithmetic-term... func_arith () { func_arith_result=`expr "$[@]"` } # func_len string # STRING may not start with a hyphen. func_len () { func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len` } _LT_EOF esac case $lt_shell_append in yes) cat << \_LT_EOF >> "$cfgfile" # func_append var value # Append VALUE to the end of shell variable VAR. func_append () { eval "$[1]+=\$[2]" } _LT_EOF ;; *) cat << \_LT_EOF >> "$cfgfile" # func_append var value # Append VALUE to the end of shell variable VAR. func_append () { eval "$[1]=\$$[1]\$[2]" } _LT_EOF ;; esac ]) parted-2.3/m4/intlmacosx.m40000644000000000000000000000457511370541032012476 00000000000000# intlmacosx.m4 serial 3 (gettext-0.18) dnl Copyright (C) 2004-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Checks for special options needed on MacOS X. dnl Defines INTL_MACOSX_LIBS. AC_DEFUN([gt_INTL_MACOSX], [ dnl Check for API introduced in MacOS X 10.2. AC_CACHE_CHECK([for CFPreferencesCopyAppValue], [gt_cv_func_CFPreferencesCopyAppValue], [gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" AC_TRY_LINK([#include ], [CFPreferencesCopyAppValue(NULL, NULL)], [gt_cv_func_CFPreferencesCopyAppValue=yes], [gt_cv_func_CFPreferencesCopyAppValue=no]) LIBS="$gt_save_LIBS"]) if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1], [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) fi dnl Check for API introduced in MacOS X 10.3. AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent], [gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" AC_TRY_LINK([#include ], [CFLocaleCopyCurrent();], [gt_cv_func_CFLocaleCopyCurrent=yes], [gt_cv_func_CFLocaleCopyCurrent=no]) LIBS="$gt_save_LIBS"]) if test $gt_cv_func_CFLocaleCopyCurrent = yes; then AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1], [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) fi INTL_MACOSX_LIBS= if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" fi AC_SUBST([INTL_MACOSX_LIBS]) ]) parted-2.3/m4/double-slash-root.m40000644000000000000000000000312511370541032013646 00000000000000# double-slash-root.m4 serial 4 -*- Autoconf -*- dnl Copyright (C) 2006, 2008-2010 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. AC_DEFUN([gl_DOUBLE_SLASH_ROOT], [ AC_REQUIRE([AC_CANONICAL_HOST]) AC_CACHE_CHECK([whether // is distinct from /], [gl_cv_double_slash_root], [ if test x"$cross_compiling" = xyes ; then # When cross-compiling, there is no way to tell whether // is special # short of a list of hosts. However, the only known hosts to date # that have a distinct // are Apollo DomainOS (too old to port to), # Cygwin, and z/OS. If anyone knows of another system for which // has # special semantics and is distinct from /, please report it to # . case $host in *-cygwin | i370-ibm-openedition) gl_cv_double_slash_root=yes ;; *) # Be optimistic and assume that / and // are the same when we # don't know. gl_cv_double_slash_root='unknown, assuming no' ;; esac else set x `ls -di / // 2>/dev/null` if test "$[2]" = "$[4]" && wc //dev/null >/dev/null 2>&1; then gl_cv_double_slash_root=no else gl_cv_double_slash_root=yes fi fi]) if test "$gl_cv_double_slash_root" = yes; then AC_DEFINE([DOUBLE_SLASH_IS_DISTINCT_ROOT], [1], [Define to 1 if // is a file system root distinct from /.]) fi ]) parted-2.3/m4/sleep.m40000644000000000000000000000335111370541032011414 00000000000000# sleep.m4 serial 3 dnl Copyright (C) 2007-2010 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. AC_DEFUN([gl_FUNC_SLEEP], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl We expect to see the declaration of sleep() in a header file. dnl Older versions of mingw have a sleep() function that is an alias to dnl _sleep() in MSVCRT. It has a different signature than POSIX sleep(): dnl it takes the number of milliseconds as argument and returns void. dnl mingw does not declare this function. AC_CHECK_DECLS([sleep], , , [#include ]) AC_CHECK_FUNCS_ONCE([sleep]) if test $ac_cv_have_decl_sleep != yes; then HAVE_SLEEP=0 AC_LIBOBJ([sleep]) else dnl Cygwin 1.5.x has a bug where sleep can't exceed 49.7 days. AC_CACHE_CHECK([for working sleep], [gl_cv_func_sleep_works], [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include #include #include static void handle_alarm (int sig) { if (sig != SIGALRM) _exit (2); } ]], [[ /* Failure to compile this test due to missing alarm is okay, since all such platforms (mingw) also lack sleep. */ unsigned int pentecost = 50 * 24 * 60 * 60; /* 50 days. */ unsigned int remaining; signal (SIGALRM, handle_alarm); alarm (1); remaining = sleep (pentecost); return !(pentecost - 10 < remaining && remaining <= pentecost);]])], [gl_cv_func_sleep_works=yes], [gl_cv_func_sleep_works=no], [gl_cv_func_sleep_works="guessing no"])]) if test "$gl_cv_func_sleep_works" != yes; then REPLACE_SLEEP=1 AC_LIBOBJ([sleep]) fi fi ]) parted-2.3/m4/sys_stat_h.m40000644000000000000000000000631611370541032012470 00000000000000# sys_stat_h.m4 serial 24 -*- Autoconf -*- dnl Copyright (C) 2006-2010 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 Eric Blake. dnl Provide a GNU-like . AC_DEFUN([gl_HEADER_SYS_STAT_H], [ AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) dnl For the mkdir substitute. AC_REQUIRE([AC_C_INLINE]) dnl Check for broken stat macros. AC_REQUIRE([AC_HEADER_STAT]) gl_CHECK_NEXT_HEADERS([sys/stat.h]) dnl Define types that are supposed to be defined in or dnl . AC_CHECK_TYPE([nlink_t], [], [AC_DEFINE([nlink_t], [int], [Define to the type of st_nlink in struct stat, or a supertype.])], [#include #include ]) dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use. gl_WARN_ON_USE_PREPARE([[#include ]], [fchmodat fstatat futimens lchmod lstat mkdirat mkfifo mkfifoat mknod mknodat stat utimensat]) ]) # gl_HEADER_SYS_STAT_H AC_DEFUN([gl_SYS_STAT_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) AC_DEFUN([gl_SYS_STAT_H_DEFAULTS], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl for REPLACE_FCHDIR GNULIB_FCHMODAT=0; AC_SUBST([GNULIB_FCHMODAT]) GNULIB_FSTATAT=0; AC_SUBST([GNULIB_FSTATAT]) GNULIB_FUTIMENS=0; AC_SUBST([GNULIB_FUTIMENS]) GNULIB_LCHMOD=0; AC_SUBST([GNULIB_LCHMOD]) GNULIB_LSTAT=0; AC_SUBST([GNULIB_LSTAT]) GNULIB_MKDIRAT=0; AC_SUBST([GNULIB_MKDIRAT]) GNULIB_MKFIFO=0; AC_SUBST([GNULIB_MKFIFO]) GNULIB_MKFIFOAT=0; AC_SUBST([GNULIB_MKFIFOAT]) GNULIB_MKNOD=0; AC_SUBST([GNULIB_MKNOD]) GNULIB_MKNODAT=0; AC_SUBST([GNULIB_MKNODAT]) GNULIB_STAT=0; AC_SUBST([GNULIB_STAT]) GNULIB_UTIMENSAT=0; AC_SUBST([GNULIB_UTIMENSAT]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_FCHMODAT=1; AC_SUBST([HAVE_FCHMODAT]) HAVE_FSTATAT=1; AC_SUBST([HAVE_FSTATAT]) HAVE_FUTIMENS=1; AC_SUBST([HAVE_FUTIMENS]) HAVE_LCHMOD=1; AC_SUBST([HAVE_LCHMOD]) HAVE_LSTAT=1; AC_SUBST([HAVE_LSTAT]) HAVE_MKDIRAT=1; AC_SUBST([HAVE_MKDIRAT]) HAVE_MKFIFO=1; AC_SUBST([HAVE_MKFIFO]) HAVE_MKFIFOAT=1; AC_SUBST([HAVE_MKFIFOAT]) HAVE_MKNOD=1; AC_SUBST([HAVE_MKNOD]) HAVE_MKNODAT=1; AC_SUBST([HAVE_MKNODAT]) HAVE_UTIMENSAT=1; AC_SUBST([HAVE_UTIMENSAT]) REPLACE_FSTAT=0; AC_SUBST([REPLACE_FSTAT]) REPLACE_FSTATAT=0; AC_SUBST([REPLACE_FSTATAT]) REPLACE_FUTIMENS=0; AC_SUBST([REPLACE_FUTIMENS]) REPLACE_LSTAT=0; AC_SUBST([REPLACE_LSTAT]) REPLACE_MKDIR=0; AC_SUBST([REPLACE_MKDIR]) REPLACE_MKFIFO=0; AC_SUBST([REPLACE_MKFIFO]) REPLACE_MKNOD=0; AC_SUBST([REPLACE_MKNOD]) REPLACE_STAT=0; AC_SUBST([REPLACE_STAT]) REPLACE_UTIMENSAT=0; AC_SUBST([REPLACE_UTIMENSAT]) ]) parted-2.3/m4/ltversion.m40000644000000000000000000000127711400005557012337 00000000000000# ltversion.m4 -- version numbers -*- Autoconf -*- # # Copyright (C) 2004 Free Software Foundation, Inc. # Written by Scott James Remnant, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # Generated from ltversion.in. # serial 3121 ltversion.m4 # This file is part of GNU Libtool m4_define([LT_PACKAGE_VERSION], [2.2.7a]) m4_define([LT_PACKAGE_REVISION], [1.3121]) AC_DEFUN([LTVERSION_VERSION], [macro_version='2.2.7a' macro_revision='1.3121' _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) _LT_DECL(, macro_revision, 0) ]) parted-2.3/m4/safe-read.m40000644000000000000000000000075011370541032012133 00000000000000# safe-read.m4 serial 5 dnl Copyright (C) 2002-2003, 2005-2006, 2009-2010 Free Software Foundation, dnl 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. AC_DEFUN([gl_SAFE_READ], [ AC_LIBOBJ([safe-read]) gl_PREREQ_SAFE_READ ]) # Prerequisites of lib/safe-read.c. AC_DEFUN([gl_PREREQ_SAFE_READ], [ AC_REQUIRE([gt_TYPE_SSIZE_T]) ]) parted-2.3/m4/codeset.m40000644000000000000000000000141311370541032011727 00000000000000# codeset.m4 serial 4 (gettext-0.18) dnl Copyright (C) 2000-2002, 2006, 2008-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_DEFUN([AM_LANGINFO_CODESET], [ AC_CACHE_CHECK([for nl_langinfo and CODESET], [am_cv_langinfo_codeset], [AC_TRY_LINK([#include ], [char* cs = nl_langinfo(CODESET); return !cs;], [am_cv_langinfo_codeset=yes], [am_cv_langinfo_codeset=no]) ]) if test $am_cv_langinfo_codeset = yes; then AC_DEFINE([HAVE_LANGINFO_CODESET], [1], [Define if you have and nl_langinfo(CODESET).]) fi ]) parted-2.3/m4/tempname.m40000644000000000000000000000112411370541032012106 00000000000000#serial 3 # Copyright (C) 2006-2007, 2009-2010 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # glibc provides __gen_tempname as a wrapper for mk[ds]temp. Expose # it as a public API, and provide it on systems that are lacking. AC_DEFUN([gl_FUNC_GEN_TEMPNAME], [ AC_REQUIRE([AC_SYS_LARGEFILE]) AC_LIBOBJ([tempname]) gl_PREREQ_TEMPNAME ]) # Prerequisites of lib/tempname.c. AC_DEFUN([gl_PREREQ_TEMPNAME], [ : ]) parted-2.3/m4/alloca.m40000644000000000000000000000307511370541032011542 00000000000000# alloca.m4 serial 9 dnl Copyright (C) 2002-2004, 2006-2007, 2009-2010 Free Software Foundation, dnl 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. AC_DEFUN([gl_FUNC_ALLOCA], [ dnl Work around a bug of AC_EGREP_CPP in autoconf-2.57. AC_REQUIRE([AC_PROG_CPP]) AC_REQUIRE([AC_PROG_EGREP]) AC_REQUIRE([AC_FUNC_ALLOCA]) if test $ac_cv_func_alloca_works = no; then gl_PREREQ_ALLOCA fi # Define an additional variable used in the Makefile substitution. if test $ac_cv_working_alloca_h = yes; then AC_CACHE_CHECK([for alloca as a compiler built-in], [gl_cv_rpl_alloca], [ AC_EGREP_CPP([Need own alloca], [ #if defined __GNUC__ || defined _AIX || defined _MSC_VER Need own alloca #endif ], [gl_cv_rpl_alloca=yes], [gl_cv_rpl_alloca=no]) ]) if test $gl_cv_rpl_alloca = yes; then dnl OK, alloca can be implemented through a compiler built-in. AC_DEFINE([HAVE_ALLOCA], [1], [Define to 1 if you have 'alloca' after including , a header that may be supplied by this distribution.]) ALLOCA_H=alloca.h else dnl alloca exists as a library function, i.e. it is slow and probably dnl a memory leak. Don't define HAVE_ALLOCA in this case. ALLOCA_H= fi else ALLOCA_H=alloca.h fi AC_SUBST([ALLOCA_H]) ]) # Prerequisites of lib/alloca.c. # STACK_DIRECTION is already handled by AC_FUNC_ALLOCA. AC_DEFUN([gl_PREREQ_ALLOCA], [:]) parted-2.3/m4/unlinkdir.m40000644000000000000000000000221611370541032012302 00000000000000# serial 6 # Copyright (C) 2005-2007, 2009-2010 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Written by Paul Eggert. AC_DEFUN([gl_UNLINKDIR], [ AC_REQUIRE([AC_CANONICAL_HOST]) AC_CHECK_HEADERS_ONCE([priv.h]) AC_LIBOBJ([unlinkdir]) # The Hurd, the Linux kernel, the FreeBSD kernel version 2.2 and later, # Cygwin, and mingw never let anyone (even root) unlink directories. # If anyone knows of another system for which unlink can never # remove a directory, please report it to . # Unfortunately this is difficult to test for, since it requires root access # and might create garbage in the file system, # so the code below simply relies on the kernel name and version number. case $host_os in gnu[[0-9]]* | \ linux-* | linux | \ freebsd2.2* | freebsd[[3-9]]* | freebsd[[1-9]][[0-9]]* | \ cygwin | \ mingw*) AC_DEFINE([UNLINK_CANNOT_UNLINK_DIR], [1], [Define to 1 if unlink (dir) cannot possibly succeed.]);; esac ]) parted-2.3/m4/gettext.m40000644000000000000000000003520611400005553011771 00000000000000# gettext.m4 serial 63 (gettext-0.18) dnl Copyright (C) 1995-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2006, 2008-2010. dnl Macro to add for using GNU gettext. dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The dnl default (if it is not specified or empty) is 'no-libtool'. dnl INTLSYMBOL should be 'external' for packages with no intl directory, dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. dnl If INTLSYMBOL is 'use-libtool', then a libtool library dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, dnl depending on --{enable,disable}-{shared,static} and on the presence of dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library dnl $(top_builddir)/intl/libintl.a will be created. dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext dnl implementations (in libc or libintl) without the ngettext() function dnl will be ignored. If NEEDSYMBOL is specified and is dnl 'need-formatstring-macros', then GNU gettext implementations that don't dnl support the ISO C 99 formatstring macros will be ignored. dnl INTLDIR is used to find the intl libraries. If empty, dnl the value `$(top_builddir)/intl/' is used. dnl dnl The result of the configuration is one of three cases: dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled dnl and used. dnl Catalog format: GNU --> install in $(datadir) dnl Catalog extension: .mo after installation, .gmo in source tree dnl 2) GNU gettext has been found in the system's C library. dnl Catalog format: GNU --> install in $(datadir) dnl Catalog extension: .mo after installation, .gmo in source tree dnl 3) No internationalization, always use English msgid. dnl Catalog format: none dnl Catalog extension: none dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. dnl The use of .gmo is historical (it was needed to avoid overwriting the dnl GNU format catalogs when building on a platform with an X/Open gettext), dnl but we keep it in order not to force irrelevant filename changes on the dnl maintainers. dnl AC_DEFUN([AM_GNU_GETTEXT], [ dnl Argument checking. ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT ])])])])]) ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old], [AC_DIAGNOSE([obsolete], [Use of AM_GNU_GETTEXT without [external] argument is deprecated.])]) ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT ])])])]) define([gt_included_intl], ifelse([$1], [external], ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]), [yes])) define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], [])) gt_NEEDS_INIT AM_GNU_GETTEXT_NEED([$2]) AC_REQUIRE([AM_PO_SUBDIRS])dnl ifelse(gt_included_intl, yes, [ AC_REQUIRE([AM_INTL_SUBDIR])dnl ]) dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) dnl Sometimes libintl requires libiconv, so first search for libiconv. dnl Ideally we would do this search only after the dnl if test "$USE_NLS" = "yes"; then dnl if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT dnl the configure script would need to contain the same shell code dnl again, outside any 'if'. There are two solutions: dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not dnl documented, we avoid it. ifelse(gt_included_intl, yes, , [ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) ]) dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation. gt_INTL_MACOSX dnl Set USE_NLS. AC_REQUIRE([AM_NLS]) ifelse(gt_included_intl, yes, [ BUILD_INCLUDED_LIBINTL=no USE_INCLUDED_LIBINTL=no ]) LIBINTL= LTLIBINTL= POSUB= dnl Add a version number to the cache macros. case " $gt_needs " in *" need-formatstring-macros "*) gt_api_version=3 ;; *" need-ngettext "*) gt_api_version=2 ;; *) gt_api_version=1 ;; esac gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" dnl If we use NLS figure out what method if test "$USE_NLS" = "yes"; then gt_use_preinstalled_gnugettext=no ifelse(gt_included_intl, yes, [ AC_MSG_CHECKING([whether included gettext is requested]) AC_ARG_WITH([included-gettext], [ --with-included-gettext use the GNU gettext library included here], nls_cv_force_use_gnu_gettext=$withval, nls_cv_force_use_gnu_gettext=no) AC_MSG_RESULT([$nls_cv_force_use_gnu_gettext]) nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" if test "$nls_cv_force_use_gnu_gettext" != "yes"; then ]) dnl User does not insist on using GNU NLS library. Figure out what dnl to use. If GNU gettext is available we use this. Else we have dnl to fall back to GNU NLS library. if test $gt_api_version -ge 3; then gt_revision_test_code=' #ifndef __GNU_GETTEXT_SUPPORTED_REVISION #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) #endif changequote(,)dnl typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; changequote([,])dnl ' else gt_revision_test_code= fi if test $gt_api_version -ge 2; then gt_expression_test_code=' + * ngettext ("", "", 0)' else gt_expression_test_code= fi AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc], [AC_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings;], [bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings], [eval "$gt_func_gnugettext_libc=yes"], [eval "$gt_func_gnugettext_libc=no"])]) if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then dnl Sometimes libintl requires libiconv, so first search for libiconv. ifelse(gt_included_intl, yes, , [ AM_ICONV_LINK ]) dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) dnl because that would add "-liconv" to LIBINTL and LTLIBINTL dnl even if libiconv doesn't exist. AC_LIB_LINKFLAGS_BODY([intl]) AC_CACHE_CHECK([for GNU gettext in libintl], [$gt_func_gnugettext_libintl], [gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $INCINTL" gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" dnl Now see whether libintl exists and does not depend on libiconv. AC_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *);], [bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], [eval "$gt_func_gnugettext_libintl=yes"], [eval "$gt_func_gnugettext_libintl=no"]) dnl Now see whether libintl exists and depends on libiconv. if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" AC_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *);], [bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], [LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" eval "$gt_func_gnugettext_libintl=yes" ]) fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS"]) fi dnl If an already present or preinstalled GNU gettext() is found, dnl use it. But if this macro is used in GNU gettext, and GNU dnl gettext is already preinstalled in libintl, we update this dnl libintl. (Cf. the install rule in intl/Makefile.in.) if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ && test "$PACKAGE" != gettext-runtime \ && test "$PACKAGE" != gettext-tools; }; then gt_use_preinstalled_gnugettext=yes else dnl Reset the values set by searching for libintl. LIBINTL= LTLIBINTL= INCINTL= fi ifelse(gt_included_intl, yes, [ if test "$gt_use_preinstalled_gnugettext" != "yes"; then dnl GNU gettext is not found in the C library. dnl Fall back on included GNU gettext library. nls_cv_use_gnu_gettext=yes fi fi if test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Mark actions used to generate GNU NLS library. BUILD_INCLUDED_LIBINTL=yes USE_INCLUDED_LIBINTL=yes LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD" LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD" LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` fi CATOBJEXT= if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Mark actions to use GNU gettext tools. CATOBJEXT=.gmo fi ]) if test -n "$INTL_MACOSX_LIBS"; then if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Some extra flags are needed during linking. LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" fi fi if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then AC_DEFINE([ENABLE_NLS], [1], [Define to 1 if translation of program messages to the user's native language is requested.]) else USE_NLS=no fi fi AC_MSG_CHECKING([whether to use NLS]) AC_MSG_RESULT([$USE_NLS]) if test "$USE_NLS" = "yes"; then AC_MSG_CHECKING([where the gettext function comes from]) if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then gt_source="external libintl" else gt_source="libc" fi else gt_source="included intl directory" fi AC_MSG_RESULT([$gt_source]) fi if test "$USE_NLS" = "yes"; then if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then AC_MSG_CHECKING([how to link with libintl]) AC_MSG_RESULT([$LIBINTL]) AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) fi dnl For backward compatibility. Some packages may be using this. AC_DEFINE([HAVE_GETTEXT], [1], [Define if the GNU gettext() function is already present or preinstalled.]) AC_DEFINE([HAVE_DCGETTEXT], [1], [Define if the GNU dcgettext() function is already present or preinstalled.]) fi dnl We need to process the po/ directory. POSUB=po fi ifelse(gt_included_intl, yes, [ dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL dnl to 'yes' because some of the testsuite requires it. if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then BUILD_INCLUDED_LIBINTL=yes fi dnl Make all variables we use known to autoconf. AC_SUBST([BUILD_INCLUDED_LIBINTL]) AC_SUBST([USE_INCLUDED_LIBINTL]) AC_SUBST([CATOBJEXT]) dnl For backward compatibility. Some configure.ins may be using this. nls_cv_header_intl= nls_cv_header_libgt= dnl For backward compatibility. Some Makefiles may be using this. DATADIRNAME=share AC_SUBST([DATADIRNAME]) dnl For backward compatibility. Some Makefiles may be using this. INSTOBJEXT=.mo AC_SUBST([INSTOBJEXT]) dnl For backward compatibility. Some Makefiles may be using this. GENCAT=gencat AC_SUBST([GENCAT]) dnl For backward compatibility. Some Makefiles may be using this. INTLOBJS= if test "$USE_INCLUDED_LIBINTL" = yes; then INTLOBJS="\$(GETTOBJS)" fi AC_SUBST([INTLOBJS]) dnl Enable libtool support if the surrounding package wishes it. INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX]) ]) dnl For backward compatibility. Some Makefiles may be using this. INTLLIBS="$LIBINTL" AC_SUBST([INTLLIBS]) dnl Make all documented variables known to autoconf. AC_SUBST([LIBINTL]) AC_SUBST([LTLIBINTL]) AC_SUBST([POSUB]) ]) dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized. m4_define([gt_NEEDS_INIT], [ m4_divert_text([DEFAULTS], [gt_needs=]) m4_define([gt_NEEDS_INIT], []) ]) dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL]) AC_DEFUN([AM_GNU_GETTEXT_NEED], [ m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"]) ]) dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) AC_DEFUN([gl_LOCK_EARLY], []) parted-2.3/m4/wcrtomb.m40000644000000000000000000000525411370541032011765 00000000000000# wcrtomb.m4 serial 5 dnl Copyright (C) 2008-2010 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. AC_DEFUN([gl_FUNC_WCRTOMB], [ AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) AC_REQUIRE([AC_TYPE_MBSTATE_T]) gl_MBSTATE_T_BROKEN AC_CHECK_FUNCS_ONCE([wcrtomb]) if test $ac_cv_func_wcrtomb = no; then HAVE_WCRTOMB=0 else if test $REPLACE_MBSTATE_T = 1; then REPLACE_WCRTOMB=1 else dnl On AIX 4.3, OSF/1 5.1 and Solaris 10, wcrtomb (NULL, 0, NULL) sometimes dnl returns 0 instead of 1. AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([gt_LOCALE_FR]) AC_REQUIRE([gt_LOCALE_FR_UTF8]) AC_REQUIRE([gt_LOCALE_JA]) AC_REQUIRE([gt_LOCALE_ZH_CN]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether wcrtomb return value is correct], [gl_cv_func_wcrtomb_retval], [ dnl Initial guess, used when cross-compiling or when no suitable locale dnl is present. changequote(,)dnl case "$host_os" in # Guess no on AIX 4, OSF/1 and Solaris. aix4* | osf* | solaris*) gl_cv_func_wcrtomb_retval="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_wcrtomb_retval="guessing yes" ;; esac changequote([,])dnl if test $LOCALE_FR != none || test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none || test $LOCALE_ZH_CN != none; then AC_TRY_RUN([ #include #include #include #include int main () { if (setlocale (LC_ALL, "$LOCALE_FR") != NULL) { if (wcrtomb (NULL, 0, NULL) != 1) return 1; } if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) { if (wcrtomb (NULL, 0, NULL) != 1) return 1; } if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) { if (wcrtomb (NULL, 0, NULL) != 1) return 1; } if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) { if (wcrtomb (NULL, 0, NULL) != 1) return 1; } return 0; }], [gl_cv_func_wcrtomb_retval=yes], [gl_cv_func_wcrtomb_retval=no], [:]) fi ]) case "$gl_cv_func_wcrtomb_retval" in *yes) ;; *) REPLACE_WCRTOMB=1 ;; esac fi fi if test $HAVE_WCRTOMB = 0 || test $REPLACE_WCRTOMB = 1; then gl_REPLACE_WCHAR_H AC_LIBOBJ([wcrtomb]) gl_PREREQ_WCRTOMB fi ]) # Prerequisites of lib/wcrtomb.c. AC_DEFUN([gl_PREREQ_WCRTOMB], [ : ]) parted-2.3/m4/assert.m40000644000000000000000000000166011370541032011606 00000000000000#serial 7 # Copyright (C) 1998-1999, 2001, 2004, 2008-2010 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. dnl based on code from Eleftherios Gkioulekas dnl Autoconf 2.60 provides AC_HEADER_ASSERT for the same purpose, but dnl it has broken semantics for --enable-assert until 2.64. AC_DEFUN([gl_ASSERT], [ AC_MSG_CHECKING([whether to enable assertions]) AC_ARG_ENABLE([assert], [AS_HELP_STRING([--disable-assert], [turn off assertions])], [AS_IF([test "x$enableval" = xno], [AC_DEFINE([NDEBUG], [1], [Define to 1 if assertions should be disabled.])], [test "x$enableval" != xyes], [AC_MSG_WARN([invalid argument supplied to --enable-assert]) enable_assert=yes])], [enable_assert=yes]) AC_MSG_RESULT([$enable_assert]) ]) parted-2.3/m4/unistd_h.m40000644000000000000000000001646111377165030012136 00000000000000# unistd_h.m4 serial 46 dnl Copyright (C) 2006-2010 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 Written by Simon Josefsson, Bruno Haible. AC_DEFUN([gl_UNISTD_H], [ dnl Use AC_REQUIRE here, so that the default behavior below is expanded dnl once only, before all statements that occur in other macros. AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([AC_C_INLINE]) gl_CHECK_NEXT_HEADERS([unistd.h]) AC_CHECK_HEADERS_ONCE([unistd.h]) if test $ac_cv_header_unistd_h = yes; then HAVE_UNISTD_H=1 else HAVE_UNISTD_H=0 fi AC_SUBST([HAVE_UNISTD_H]) dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use. gl_WARN_ON_USE_PREPARE([[#include /* Some systems declare various items in the wrong headers. */ #ifndef __GLIBC__ # include # include # include # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ # include # endif #endif ]], [chown dup2 dup3 environ euidaccess faccessat fchdir fchownat fsync ftruncate getcwd getdomainname getdtablesize getgroups gethostname getlogin getlogin_r getpagesize getusershell setusershell endusershell lchown link linkat lseek pipe2 pread pwrite readlink readlinkat rmdir sleep symlink symlinkat ttyname_r unlink unlinkat usleep]) ]) AC_DEFUN([gl_UNISTD_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) AC_DEFUN([gl_UNISTD_H_DEFAULTS], [ GNULIB_CHOWN=0; AC_SUBST([GNULIB_CHOWN]) GNULIB_CLOSE=0; AC_SUBST([GNULIB_CLOSE]) GNULIB_DUP2=0; AC_SUBST([GNULIB_DUP2]) GNULIB_DUP3=0; AC_SUBST([GNULIB_DUP3]) GNULIB_ENVIRON=0; AC_SUBST([GNULIB_ENVIRON]) GNULIB_EUIDACCESS=0; AC_SUBST([GNULIB_EUIDACCESS]) GNULIB_FACCESSAT=0; AC_SUBST([GNULIB_FACCESSAT]) GNULIB_FCHDIR=0; AC_SUBST([GNULIB_FCHDIR]) GNULIB_FCHOWNAT=0; AC_SUBST([GNULIB_FCHOWNAT]) GNULIB_FSYNC=0; AC_SUBST([GNULIB_FSYNC]) GNULIB_FTRUNCATE=0; AC_SUBST([GNULIB_FTRUNCATE]) GNULIB_GETCWD=0; AC_SUBST([GNULIB_GETCWD]) GNULIB_GETDOMAINNAME=0; AC_SUBST([GNULIB_GETDOMAINNAME]) GNULIB_GETDTABLESIZE=0; AC_SUBST([GNULIB_GETDTABLESIZE]) GNULIB_GETGROUPS=0; AC_SUBST([GNULIB_GETGROUPS]) GNULIB_GETHOSTNAME=0; AC_SUBST([GNULIB_GETHOSTNAME]) GNULIB_GETLOGIN=0; AC_SUBST([GNULIB_GETLOGIN]) GNULIB_GETLOGIN_R=0; AC_SUBST([GNULIB_GETLOGIN_R]) GNULIB_GETPAGESIZE=0; AC_SUBST([GNULIB_GETPAGESIZE]) GNULIB_GETUSERSHELL=0; AC_SUBST([GNULIB_GETUSERSHELL]) GNULIB_LCHOWN=0; AC_SUBST([GNULIB_LCHOWN]) GNULIB_LINK=0; AC_SUBST([GNULIB_LINK]) GNULIB_LINKAT=0; AC_SUBST([GNULIB_LINKAT]) GNULIB_LSEEK=0; AC_SUBST([GNULIB_LSEEK]) GNULIB_PIPE2=0; AC_SUBST([GNULIB_PIPE2]) GNULIB_PREAD=0; AC_SUBST([GNULIB_PREAD]) GNULIB_PWRITE=0; AC_SUBST([GNULIB_PWRITE]) GNULIB_READLINK=0; AC_SUBST([GNULIB_READLINK]) GNULIB_READLINKAT=0; AC_SUBST([GNULIB_READLINKAT]) GNULIB_RMDIR=0; AC_SUBST([GNULIB_RMDIR]) GNULIB_SLEEP=0; AC_SUBST([GNULIB_SLEEP]) GNULIB_SYMLINK=0; AC_SUBST([GNULIB_SYMLINK]) GNULIB_SYMLINKAT=0; AC_SUBST([GNULIB_SYMLINKAT]) GNULIB_TTYNAME_R=0; AC_SUBST([GNULIB_TTYNAME_R]) GNULIB_UNISTD_H_GETOPT=0; AC_SUBST([GNULIB_UNISTD_H_GETOPT]) GNULIB_UNISTD_H_SIGPIPE=0; AC_SUBST([GNULIB_UNISTD_H_SIGPIPE]) GNULIB_UNLINK=0; AC_SUBST([GNULIB_UNLINK]) GNULIB_UNLINKAT=0; AC_SUBST([GNULIB_UNLINKAT]) GNULIB_USLEEP=0; AC_SUBST([GNULIB_USLEEP]) GNULIB_WRITE=0; AC_SUBST([GNULIB_WRITE]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_CHOWN=1; AC_SUBST([HAVE_CHOWN]) HAVE_DUP2=1; AC_SUBST([HAVE_DUP2]) HAVE_DUP3=1; AC_SUBST([HAVE_DUP3]) HAVE_EUIDACCESS=1; AC_SUBST([HAVE_EUIDACCESS]) HAVE_FACCESSAT=1; AC_SUBST([HAVE_FACCESSAT]) HAVE_FCHDIR=1; AC_SUBST([HAVE_FCHDIR]) HAVE_FCHOWNAT=1; AC_SUBST([HAVE_FCHOWNAT]) HAVE_FSYNC=1; AC_SUBST([HAVE_FSYNC]) HAVE_FTRUNCATE=1; AC_SUBST([HAVE_FTRUNCATE]) HAVE_GETDOMAINNAME=1; AC_SUBST([HAVE_GETDOMAINNAME]) HAVE_GETDTABLESIZE=1; AC_SUBST([HAVE_GETDTABLESIZE]) HAVE_GETGROUPS=1; AC_SUBST([HAVE_GETGROUPS]) HAVE_GETHOSTNAME=1; AC_SUBST([HAVE_GETHOSTNAME]) HAVE_GETLOGIN=1; AC_SUBST([HAVE_GETLOGIN]) HAVE_GETPAGESIZE=1; AC_SUBST([HAVE_GETPAGESIZE]) HAVE_LCHOWN=1; AC_SUBST([HAVE_LCHOWN]) HAVE_LINK=1; AC_SUBST([HAVE_LINK]) HAVE_LINKAT=1; AC_SUBST([HAVE_LINKAT]) HAVE_PIPE2=1; AC_SUBST([HAVE_PIPE2]) HAVE_PREAD=1; AC_SUBST([HAVE_PREAD]) HAVE_PWRITE=1; AC_SUBST([HAVE_PWRITE]) HAVE_READLINK=1; AC_SUBST([HAVE_READLINK]) HAVE_READLINKAT=1; AC_SUBST([HAVE_READLINKAT]) HAVE_SLEEP=1; AC_SUBST([HAVE_SLEEP]) HAVE_SYMLINK=1; AC_SUBST([HAVE_SYMLINK]) HAVE_SYMLINKAT=1; AC_SUBST([HAVE_SYMLINKAT]) HAVE_TTYNAME_R=1; AC_SUBST([HAVE_TTYNAME_R]) HAVE_UNLINKAT=1; AC_SUBST([HAVE_UNLINKAT]) HAVE_USLEEP=1; AC_SUBST([HAVE_USLEEP]) HAVE_DECL_ENVIRON=1; AC_SUBST([HAVE_DECL_ENVIRON]) HAVE_DECL_GETLOGIN_R=1; AC_SUBST([HAVE_DECL_GETLOGIN_R]) HAVE_DECL_GETPAGESIZE=1; AC_SUBST([HAVE_DECL_GETPAGESIZE]) HAVE_DECL_GETUSERSHELL=1; AC_SUBST([HAVE_DECL_GETUSERSHELL]) HAVE_OS_H=0; AC_SUBST([HAVE_OS_H]) HAVE_SYS_PARAM_H=0; AC_SUBST([HAVE_SYS_PARAM_H]) REPLACE_CHOWN=0; AC_SUBST([REPLACE_CHOWN]) REPLACE_CLOSE=0; AC_SUBST([REPLACE_CLOSE]) REPLACE_DUP=0; AC_SUBST([REPLACE_DUP]) REPLACE_DUP2=0; AC_SUBST([REPLACE_DUP2]) REPLACE_FCHOWNAT=0; AC_SUBST([REPLACE_FCHOWNAT]) REPLACE_GETCWD=0; AC_SUBST([REPLACE_GETCWD]) REPLACE_GETGROUPS=0; AC_SUBST([REPLACE_GETGROUPS]) REPLACE_GETPAGESIZE=0; AC_SUBST([REPLACE_GETPAGESIZE]) REPLACE_LCHOWN=0; AC_SUBST([REPLACE_LCHOWN]) REPLACE_LINK=0; AC_SUBST([REPLACE_LINK]) REPLACE_LINKAT=0; AC_SUBST([REPLACE_LINKAT]) REPLACE_LSEEK=0; AC_SUBST([REPLACE_LSEEK]) REPLACE_PREAD=0; AC_SUBST([REPLACE_PREAD]) REPLACE_PWRITE=0; AC_SUBST([REPLACE_PWRITE]) REPLACE_READLINK=0; AC_SUBST([REPLACE_READLINK]) REPLACE_RMDIR=0; AC_SUBST([REPLACE_RMDIR]) REPLACE_SLEEP=0; AC_SUBST([REPLACE_SLEEP]) REPLACE_SYMLINK=0; AC_SUBST([REPLACE_SYMLINK]) REPLACE_TTYNAME_R=0; AC_SUBST([REPLACE_TTYNAME_R]) REPLACE_UNLINK=0; AC_SUBST([REPLACE_UNLINK]) REPLACE_UNLINKAT=0; AC_SUBST([REPLACE_UNLINKAT]) REPLACE_USLEEP=0; AC_SUBST([REPLACE_USLEEP]) REPLACE_WRITE=0; AC_SUBST([REPLACE_WRITE]) UNISTD_H_HAVE_WINSOCK2_H=0; AC_SUBST([UNISTD_H_HAVE_WINSOCK2_H]) UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=0; AC_SUBST([UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS]) ]) parted-2.3/m4/mode_t.m40000644000000000000000000000234211370541032011552 00000000000000# mode_t.m4 serial 2 dnl Copyright (C) 2009-2010 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. # For using mode_t, it's sufficient to use AC_TYPE_MODE_T and # include . # Define PROMOTED_MODE_T to the type that is the result of "default argument # promotion" (ISO C 6.5.2.2.(6)) of the type mode_t. AC_DEFUN([gl_PROMOTED_TYPE_MODE_T], [ AC_REQUIRE([AC_TYPE_MODE_T]) AC_CACHE_CHECK([for promoted mode_t type], [gl_cv_promoted_mode_t], [ dnl Assume mode_t promotes to 'int' if and only if it is smaller than 'int', dnl and to itself otherwise. This assumption is not guaranteed by the ISO C dnl standard, but we don't know of any real-world counterexamples. AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[typedef int array[2 * (sizeof (mode_t) < sizeof (int)) - 1];]])], [gl_cv_promoted_mode_t='int'], [gl_cv_promoted_mode_t='mode_t']) ]) AC_DEFINE_UNQUOTED([PROMOTED_MODE_T], [$gl_cv_promoted_mode_t], [Define to the type that is the result of default argument promotions of type mode_t.]) ]) parted-2.3/m4/close-stream.m40000644000000000000000000000060011370541032012674 00000000000000#serial 3 dnl Copyright (C) 2006-2007, 2009-2010 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. AC_DEFUN([gl_CLOSE_STREAM], [ AC_LIBOBJ([close-stream]) dnl Prerequisites of lib/close-stream.c. : ]) parted-2.3/m4/sys_time_h.m40000644000000000000000000000443711370541032012455 00000000000000# Configure a replacement for . # serial 6 # Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Written by Paul Eggert and Martin Lambers. AC_DEFUN([gl_HEADER_SYS_TIME_H], [ dnl Use AC_REQUIRE here, so that the REPLACE_GETTIMEOFDAY=0 statement dnl below is expanded once only, before all REPLACE_GETTIMEOFDAY=1 dnl statements that occur in other macros. AC_REQUIRE([gl_HEADER_SYS_TIME_H_BODY]) ]) AC_DEFUN([gl_HEADER_SYS_TIME_H_BODY], [ AC_REQUIRE([AC_C_RESTRICT]) AC_REQUIRE([gl_HEADER_SYS_TIME_H_DEFAULTS]) AC_CHECK_HEADERS_ONCE([sys/time.h]) gl_CHECK_NEXT_HEADERS([sys/time.h]) if test $ac_cv_header_sys_time_h != yes; then HAVE_SYS_TIME_H=0 fi AC_CACHE_CHECK([for struct timeval], [gl_cv_sys_struct_timeval], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#if HAVE_SYS_TIME_H #include #endif #include ]], [[static struct timeval x; x.tv_sec = x.tv_usec;]])], [gl_cv_sys_struct_timeval=yes], [gl_cv_sys_struct_timeval=no])]) if test $gl_cv_sys_struct_timeval != yes; then HAVE_STRUCT_TIMEVAL=0 fi dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use. gl_WARN_ON_USE_PREPARE([[ #if HAVE_SYS_TIME_H # include #endif #include ]], [gettimeofday]) ]) AC_DEFUN([gl_SYS_TIME_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_HEADER_SYS_TIME_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) AC_DEFUN([gl_HEADER_SYS_TIME_H_DEFAULTS], [ GNULIB_GETTIMEOFDAY=0; AC_SUBST([GNULIB_GETTIMEOFDAY]) dnl Assume POSIX behavior unless another module says otherwise. HAVE_GETTIMEOFDAY=1; AC_SUBST([HAVE_GETTIMEOFDAY]) HAVE_STRUCT_TIMEVAL=1; AC_SUBST([HAVE_STRUCT_TIMEVAL]) HAVE_SYS_TIME_H=1; AC_SUBST([HAVE_SYS_TIME_H]) REPLACE_GETTIMEOFDAY=0; AC_SUBST([REPLACE_GETTIMEOFDAY]) ]) parted-2.3/m4/mkstemp.m40000644000000000000000000000375111370541032011770 00000000000000#serial 18 # Copyright (C) 2001, 2003-2007, 2009-2010 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # On some hosts (e.g., HP-UX 10.20, SunOS 4.1.4, Solaris 2.5.1), mkstemp has a # silly limit that it can create no more than 26 files from a given template. # Other systems lack mkstemp altogether. # On OSF1/Tru64 V4.0F, the system-provided mkstemp function can create # only 32 files per process. # On systems like the above, arrange to use the replacement function. AC_DEFUN([gl_FUNC_MKSTEMP], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) AC_REQUIRE([AC_SYS_LARGEFILE]) AC_CHECK_FUNCS_ONCE([mkstemp]) if test $ac_cv_func_mkstemp = yes; then AC_CACHE_CHECK([for working mkstemp], [gl_cv_func_working_mkstemp], [ mkdir conftest.mkstemp AC_RUN_IFELSE( [AC_LANG_PROGRAM( [AC_INCLUDES_DEFAULT], [[int i; off_t large = (off_t) 4294967295u; if (large < 0) large = 2147483647; for (i = 0; i < 70; i++) { char templ[] = "conftest.mkstemp/coXXXXXX"; int (*mkstemp_function) (char *) = mkstemp; int fd = mkstemp_function (templ); if (fd < 0 || lseek (fd, large, SEEK_SET) != large) return 1; close (fd); } return 0;]])], [gl_cv_func_working_mkstemp=yes], [gl_cv_func_working_mkstemp=no], [gl_cv_func_working_mkstemp=no]) rm -rf conftest.mkstemp ]) if test $gl_cv_func_working_mkstemp != yes; then REPLACE_MKSTEMP=1 AC_LIBOBJ([mkstemp]) gl_PREREQ_MKSTEMP fi else HAVE_MKSTEMP=0 AC_LIBOBJ([mkstemp]) gl_PREREQ_MKSTEMP fi ]) # Prerequisites of lib/mkstemp.c. AC_DEFUN([gl_PREREQ_MKSTEMP], [ ]) parted-2.3/m4/fpending.m40000644000000000000000000000762311370541032012104 00000000000000# serial 15 # Copyright (C) 2000-2001, 2004-2010 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. dnl From Jim Meyering dnl Using code from emacs, based on suggestions from Paul Eggert dnl and Ulrich Drepper. dnl Find out how to determine the number of pending output bytes on a stream. dnl glibc (2.1.93 and newer) and Solaris provide __fpending. On other systems, dnl we have to grub around in the FILE struct. AC_DEFUN([gl_FUNC_FPENDING], [ AC_CHECK_HEADERS_ONCE([stdio_ext.h]) AC_CHECK_FUNCS_ONCE([__fpending]) fp_headers=' # include # if HAVE_STDIO_EXT_H # include # endif ' AC_CHECK_DECLS([__fpending], , , $fp_headers) if test $ac_cv_func___fpending = no; then AC_CACHE_CHECK( [how to determine the number of pending output bytes on a stream], ac_cv_sys_pending_output_n_bytes, [ for ac_expr in \ \ '# glibc2' \ 'fp->_IO_write_ptr - fp->_IO_write_base' \ \ '# traditional Unix' \ 'fp->_ptr - fp->_base' \ \ '# BSD' \ 'fp->_p - fp->_bf._base' \ \ '# SCO, Unixware' \ '(fp->__ptr ? fp->__ptr - fp->__base : 0)' \ \ '# QNX' \ '(fp->_Mode & 0x2000 /*_MWRITE*/ ? fp->_Next - fp->_Buf : 0)' \ \ '# old glibc?' \ 'fp->__bufp - fp->__buffer' \ \ '# old glibc iostream?' \ 'fp->_pptr - fp->_pbase' \ \ '# emx+gcc' \ 'fp->_ptr - fp->_buffer' \ \ '# VMS' \ '(*fp)->_ptr - (*fp)->_base' \ \ '# e.g., DGUX R4.11; the info is not available' \ 1 \ ; do # Skip each embedded comment. case "$ac_expr" in '#'*) continue;; esac AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[FILE *fp = stdin; (void) ($ac_expr);]])], [fp_done=yes] ) test "$fp_done" = yes && break done ac_cv_sys_pending_output_n_bytes=$ac_expr ] ) AC_DEFINE_UNQUOTED([PENDING_OUTPUT_N_BYTES], $ac_cv_sys_pending_output_n_bytes, [the number of pending output bytes on stream `fp']) AC_LIBOBJ([fpending]) fi ]) parted-2.3/m4/rpmatch.m40000644000000000000000000000206711370541032011745 00000000000000# rpmatch.m4 serial 9 dnl Copyright (C) 2002-2003, 2007-2010 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. AC_DEFUN([gl_FUNC_RPMATCH], [ dnl Persuade glibc to declare rpmatch(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) AC_REPLACE_FUNCS([rpmatch]) if test $ac_cv_func_rpmatch = no; then HAVE_RPMATCH=0 gl_PREREQ_RPMATCH fi ]) # Prerequisites of lib/rpmatch.c. AC_DEFUN([gl_PREREQ_RPMATCH], [ AC_CACHE_CHECK([for nl_langinfo and YESEXPR], [gl_cv_langinfo_yesexpr], [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[char* cs = nl_langinfo(YESEXPR); return !cs;]])], [gl_cv_langinfo_yesexpr=yes], [gl_cv_langinfo_yesexpr=no]) ]) if test $gl_cv_langinfo_yesexpr = yes; then AC_DEFINE([HAVE_LANGINFO_YESEXPR], [1], [Define if you have and nl_langinfo(YESEXPR).]) fi ]) parted-2.3/m4/dup2.m40000644000000000000000000000360011370541032011153 00000000000000#serial 10 dnl Copyright (C) 2002, 2005, 2007, 2009-2010 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. AC_DEFUN([gl_FUNC_DUP2], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) AC_CHECK_FUNCS_ONCE([dup2]) if test $ac_cv_func_dup2 = no; then HAVE_DUP2=0 AC_LIBOBJ([dup2]) else AC_CACHE_CHECK([whether dup2 works], [gl_cv_func_dup2_works], [AC_RUN_IFELSE([ AC_LANG_PROGRAM([[#include #include ]], [if (dup2 (1, 1) == 0) return 1; close (0); if (dup2 (0, 0) != -1) return 2; /* Many gnulib modules require POSIX conformance of EBADF. */ if (dup2 (1, 1000000) == -1 && errno != EBADF) return 3; return 0; ]) ], [gl_cv_func_dup2_works=yes], [gl_cv_func_dup2_works=no], [case "$host_os" in mingw*) # on this platform, dup2 always returns 0 for success gl_cv_func_dup2_works=no;; cygwin*) # on cygwin 1.5.x, dup2(1,1) returns 0 gl_cv_func_dup2_works=no;; linux*) # On linux between 2008-07-27 and 2009-05-11, dup2 of a # closed fd may yield -EBADF instead of -1 / errno=EBADF. gl_cv_func_dup2_works=no;; freebsd*) # on FreeBSD 6.1, dup2(1,1000000) gives EMFILE, not EBADF. gl_cv_func_dup2_works=no;; *) gl_cv_func_dup2_works=yes;; esac]) ]) if test "$gl_cv_func_dup2_works" = no; then gl_REPLACE_DUP2 fi fi ]) AC_DEFUN([gl_REPLACE_DUP2], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) if test $ac_cv_func_dup2 = yes; then REPLACE_DUP2=1 fi AC_LIBOBJ([dup2]) ]) parted-2.3/m4/quote.m40000644000000000000000000000062011370541032011435 00000000000000# quote.m4 serial 5 dnl Copyright (C) 2002, 2003, 2005, 2006, 2009, 2010 Free Software Foundation, dnl 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. AC_DEFUN([gl_QUOTE], [ AC_LIBOBJ([quote]) dnl Prerequisites of lib/quote.c. dnl (none) ]) parted-2.3/m4/unlink.m40000644000000000000000000000744411370541032011613 00000000000000# unlink.m4 serial 4 dnl Copyright (C) 2009, 2010 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. AC_DEFUN([gl_FUNC_UNLINK], [ AC_REQUIRE([gl_AC_DOS]) AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl Detect Solaris 9 and FreeBSD 7.2 bug. AC_CACHE_CHECK([whether unlink honors trailing slashes], [gl_cv_func_unlink_honors_slashes], [touch conftest.file # Assume that if we have lstat, we can also check symlinks. if test $ac_cv_func_lstat = yes; then ln -s conftest.file conftest.lnk fi AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include #include ]], [[if (!unlink ("conftest.file/") || errno != ENOTDIR) return 1; #if HAVE_LSTAT if (!unlink ("conftest.lnk/") || errno != ENOTDIR) return 2; #endif ]])], [gl_cv_func_unlink_honors_slashes=yes], [gl_cv_func_unlink_honors_slashes=no], [gl_cv_func_unlink_honors_slashes="guessing no"]) rm -f conftest.file conftest.lnk]) dnl Detect MacOS X 10.5.6 bug: On read-write HFS mounts, unlink("..") or dnl unlink("../..") succeeds without doing anything. AC_CACHE_CHECK([whether unlink of a parent directory fails is it should], [gl_cv_func_unlink_parent_fails], [case "$host_os" in darwin*) dnl Try to unlink a subdirectory of /tmp, because /tmp is usually on a dnl HFS mount on MacOS X. Use a subdirectory, owned by the current dnl user, because otherwise unlink() may fail due to permissions dnl reasons, and because when running as root we don't want to risk dnl destroying the entire /tmp. if { # Use the mktemp program if available. If not available, hide the error # message. tmp=`(umask 077 && mktemp -d /tmp/gtXXXXXX) 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { # Use a simple mkdir command. It is guaranteed to fail if the directory # already exists. $RANDOM is bash specific and expands to empty in shells # other than bash, ksh and zsh. Its use does not increase security; # rather, it minimizes the probability of failure in a very cluttered /tmp # directory. tmp=/tmp/gt$$-$RANDOM (umask 077 && mkdir "$tmp") }; then mkdir "$tmp/subdir" GL_SUBDIR_FOR_UNLINK="$tmp/subdir" export GL_SUBDIR_FOR_UNLINK AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include int main () { if (chdir (getenv ("GL_SUBDIR_FOR_UNLINK")) != 0) return 1; return unlink ("..") == 0; } ]])], [gl_cv_func_unlink_parent_fails=yes], [gl_cv_func_unlink_parent_fails=no], [gl_cv_func_unlink_parent_fails="guessing no"]) unset GL_SUBDIR_FOR_UNLINK rm -rf "$tmp" else gl_cv_func_unlink_parent_fails="guessing no" fi ;; *) gl_cv_func_unlink_parent_fails="guessing yes" ;; esac ]) case "$gl_cv_func_unlink_parent_fails" in *no) AC_DEFINE([UNLINK_PARENT_BUG], [1], [Define to 1 if unlink() on a parent directory may succeed]) ;; esac if test "$gl_cv_func_unlink_honors_slashes" != yes \ || { case "$gl_cv_func_unlink_parent_fails" in *yes) false;; *no) true;; esac }; then REPLACE_UNLINK=1 AC_LIBOBJ([unlink]) fi ]) parted-2.3/m4/stdlib_h.m40000644000000000000000000001140611370541032012074 00000000000000# stdlib_h.m4 serial 28 dnl Copyright (C) 2007-2010 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. AC_DEFUN([gl_STDLIB_H], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) gl_CHECK_NEXT_HEADERS([stdlib.h]) AC_CHECK_HEADERS([random.h], [], [], [AC_INCLUDES_DEFAULT]) if test $ac_cv_header_random_h = yes; then HAVE_RANDOM_H=1 else HAVE_RANDOM_H=0 fi AC_SUBST([HAVE_RANDOM_H]) AC_CHECK_TYPES([struct random_data], [], [HAVE_STRUCT_RANDOM_DATA=0], [[#include #if HAVE_RANDOM_H # include #endif ]]) dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use, and which is not dnl guaranteed by C89. gl_WARN_ON_USE_PREPARE([[#include #if HAVE_SYS_LOADAVG_H # include #endif #if HAVE_RANDOM_H # include #endif ]], [atoll canonicalize_file_name getloadavg getsubopt grantpt mkdtemp mkostemp mkostemps mkstemp mkstemps ptsname random_r initstat_r srandom_r setstate_r realpath rpmatch setenv strtod strtoll strtoull unlockpt unsetenv]) ]) AC_DEFUN([gl_STDLIB_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) AC_DEFUN([gl_STDLIB_H_DEFAULTS], [ GNULIB_ATOLL=0; AC_SUBST([GNULIB_ATOLL]) GNULIB_CALLOC_POSIX=0; AC_SUBST([GNULIB_CALLOC_POSIX]) GNULIB_CANONICALIZE_FILE_NAME=0; AC_SUBST([GNULIB_CANONICALIZE_FILE_NAME]) GNULIB_GETLOADAVG=0; AC_SUBST([GNULIB_GETLOADAVG]) GNULIB_GETSUBOPT=0; AC_SUBST([GNULIB_GETSUBOPT]) GNULIB_GRANTPT=0; AC_SUBST([GNULIB_GRANTPT]) GNULIB_MALLOC_POSIX=0; AC_SUBST([GNULIB_MALLOC_POSIX]) GNULIB_MKDTEMP=0; AC_SUBST([GNULIB_MKDTEMP]) GNULIB_MKOSTEMP=0; AC_SUBST([GNULIB_MKOSTEMP]) GNULIB_MKOSTEMPS=0; AC_SUBST([GNULIB_MKOSTEMPS]) GNULIB_MKSTEMP=0; AC_SUBST([GNULIB_MKSTEMP]) GNULIB_MKSTEMPS=0; AC_SUBST([GNULIB_MKSTEMPS]) GNULIB_PTSNAME=0; AC_SUBST([GNULIB_PTSNAME]) GNULIB_PUTENV=0; AC_SUBST([GNULIB_PUTENV]) GNULIB_RANDOM_R=0; AC_SUBST([GNULIB_RANDOM_R]) GNULIB_REALLOC_POSIX=0; AC_SUBST([GNULIB_REALLOC_POSIX]) GNULIB_REALPATH=0; AC_SUBST([GNULIB_REALPATH]) GNULIB_RPMATCH=0; AC_SUBST([GNULIB_RPMATCH]) GNULIB_SETENV=0; AC_SUBST([GNULIB_SETENV]) GNULIB_STRTOD=0; AC_SUBST([GNULIB_STRTOD]) GNULIB_STRTOLL=0; AC_SUBST([GNULIB_STRTOLL]) GNULIB_STRTOULL=0; AC_SUBST([GNULIB_STRTOULL]) GNULIB_UNLOCKPT=0; AC_SUBST([GNULIB_UNLOCKPT]) GNULIB_UNSETENV=0; AC_SUBST([GNULIB_UNSETENV]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_ATOLL=1; AC_SUBST([HAVE_ATOLL]) HAVE_CALLOC_POSIX=1; AC_SUBST([HAVE_CALLOC_POSIX]) HAVE_CANONICALIZE_FILE_NAME=1; AC_SUBST([HAVE_CANONICALIZE_FILE_NAME]) HAVE_DECL_GETLOADAVG=1; AC_SUBST([HAVE_DECL_GETLOADAVG]) HAVE_GETSUBOPT=1; AC_SUBST([HAVE_GETSUBOPT]) HAVE_GRANTPT=1; AC_SUBST([HAVE_GRANTPT]) HAVE_MALLOC_POSIX=1; AC_SUBST([HAVE_MALLOC_POSIX]) HAVE_MKDTEMP=1; AC_SUBST([HAVE_MKDTEMP]) HAVE_MKOSTEMP=1; AC_SUBST([HAVE_MKOSTEMP]) HAVE_MKOSTEMPS=1; AC_SUBST([HAVE_MKOSTEMPS]) HAVE_MKSTEMP=1; AC_SUBST([HAVE_MKSTEMP]) HAVE_MKSTEMPS=1; AC_SUBST([HAVE_MKSTEMPS]) HAVE_PTSNAME=1; AC_SUBST([HAVE_PTSNAME]) HAVE_RANDOM_R=1; AC_SUBST([HAVE_RANDOM_R]) HAVE_REALLOC_POSIX=1; AC_SUBST([HAVE_REALLOC_POSIX]) HAVE_REALPATH=1; AC_SUBST([HAVE_REALPATH]) HAVE_RPMATCH=1; AC_SUBST([HAVE_RPMATCH]) HAVE_SETENV=1; AC_SUBST([HAVE_SETENV]) HAVE_STRTOD=1; AC_SUBST([HAVE_STRTOD]) HAVE_STRTOLL=1; AC_SUBST([HAVE_STRTOLL]) HAVE_STRTOULL=1; AC_SUBST([HAVE_STRTOULL]) HAVE_STRUCT_RANDOM_DATA=1; AC_SUBST([HAVE_STRUCT_RANDOM_DATA]) HAVE_SYS_LOADAVG_H=0; AC_SUBST([HAVE_SYS_LOADAVG_H]) HAVE_UNLOCKPT=1; AC_SUBST([HAVE_UNLOCKPT]) HAVE_UNSETENV=1; AC_SUBST([HAVE_UNSETENV]) REPLACE_CANONICALIZE_FILE_NAME=0; AC_SUBST([REPLACE_CANONICALIZE_FILE_NAME]) REPLACE_MKSTEMP=0; AC_SUBST([REPLACE_MKSTEMP]) REPLACE_PUTENV=0; AC_SUBST([REPLACE_PUTENV]) REPLACE_REALPATH=0; AC_SUBST([REPLACE_REALPATH]) REPLACE_SETENV=0; AC_SUBST([REPLACE_SETENV]) REPLACE_STRTOD=0; AC_SUBST([REPLACE_STRTOD]) REPLACE_UNSETENV=0; AC_SUBST([REPLACE_UNSETENV]) ]) parted-2.3/m4/stddef_h.m40000644000000000000000000000270711370541032012070 00000000000000dnl A placeholder for POSIX 2008 , for platforms that have issues. # stddef_h.m4 serial 2 dnl Copyright (C) 2009, 2010 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. AC_DEFUN([gl_STDDEF_H], [ AC_REQUIRE([gl_STDDEF_H_DEFAULTS]) AC_REQUIRE([gt_TYPE_WCHAR_T]) if test $gt_cv_c_wchar_t = no; then HAVE_WCHAR_T=0 STDDEF_H=stddef.h fi AC_CACHE_CHECK([whether NULL can be used in arbitrary expressions], [gl_cv_decl_null_works], [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include int test[2 * (sizeof NULL == sizeof (void *)) -1]; ]])], [gl_cv_decl_null_works=yes], [gl_cv_decl_null_works=no])]) if test $gl_cv_decl_null_works = no; then REPLACE_NULL=1 STDDEF_H=stddef.h fi if test -n "$STDDEF_H"; then gl_CHECK_NEXT_HEADERS([stddef.h]) fi ]) AC_DEFUN([gl_STDDEF_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_STDDEF_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) ]) AC_DEFUN([gl_STDDEF_H_DEFAULTS], [ dnl Assume proper GNU behavior unless another module says otherwise. REPLACE_NULL=0; AC_SUBST([REPLACE_NULL]) HAVE_WCHAR_T=1; AC_SUBST([HAVE_WCHAR_T]) STDDEF_H=''; AC_SUBST([STDDEF_H]) ]) parted-2.3/m4/gettimeofday.m40000644000000000000000000001034611370541032012767 00000000000000# serial 15 # Copyright (C) 2001-2003, 2005, 2007, 2009-2010 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. dnl From Jim Meyering. AC_DEFUN([gl_FUNC_GETTIMEOFDAY], [ AC_REQUIRE([AC_C_RESTRICT]) AC_REQUIRE([gl_HEADER_SYS_TIME_H]) AC_REQUIRE([gl_HEADER_SYS_TIME_H_DEFAULTS]) AC_CHECK_FUNCS_ONCE([gettimeofday]) gl_gettimeofday_timezone=void if test $ac_cv_func_gettimeofday != yes; then HAVE_GETTIMEOFDAY=0 AC_LIBOBJ([gettimeofday]) gl_PREREQ_GETTIMEOFDAY else gl_FUNC_GETTIMEOFDAY_CLOBBER AC_CACHE_CHECK([for gettimeofday with POSIX signature], [gl_cv_func_gettimeofday_posix_signature], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include struct timeval c; int gettimeofday (struct timeval *restrict, void *restrict); ]], [[/* glibc uses struct timezone * rather than the POSIX void * if _GNU_SOURCE is defined. However, since the only portable use of gettimeofday uses NULL as the second parameter, and since the glibc definition is actually more typesafe, it is not worth wrapping this to get a compliant signature. */ int (*f) (struct timeval *restrict, void *restrict) = gettimeofday; int x = f (&c, 0); return !(x | c.tv_sec | c.tv_usec); ]])], [gl_cv_func_gettimeofday_posix_signature=yes], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include int gettimeofday (struct timeval *restrict, struct timezone *restrict); ]])], [gl_cv_func_gettimeofday_posix_signature=almost], [gl_cv_func_gettimeofday_posix_signature=no])])]) if test $gl_cv_func_gettimeofday_posix_signature = almost; then gl_gettimeofday_timezone='struct timezone' elif test $gl_cv_func_gettimeofday_posix_signature != yes; then REPLACE_GETTIMEOFDAY=1 AC_LIBOBJ([gettimeofday]) gl_PREREQ_GETTIMEOFDAY fi fi AC_DEFINE_UNQUOTED([GETTIMEOFDAY_TIMEZONE], [$gl_gettimeofday_timezone], [Define this to 'void' or 'struct timezone' to match the system's declaration of the second argument to gettimeofday.]) ]) dnl See if gettimeofday clobbers the static buffer that localtime uses dnl for its return value. The gettimeofday function from Mac OS X 10.0.4 dnl (i.e., Darwin 1.3.7) has this problem. dnl dnl If it does, then arrange to use gettimeofday and localtime only via dnl the wrapper functions that work around the problem. AC_DEFUN([gl_FUNC_GETTIMEOFDAY_CLOBBER], [ AC_REQUIRE([gl_HEADER_SYS_TIME_H]) AC_CACHE_CHECK([whether gettimeofday clobbers localtime buffer], [gl_cv_func_gettimeofday_clobber], [AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include #include #include #include ]], [[ time_t t = 0; struct tm *lt; struct tm saved_lt; struct timeval tv; lt = localtime (&t); saved_lt = *lt; gettimeofday (&tv, NULL); return memcmp (lt, &saved_lt, sizeof (struct tm)) != 0; ]])], [gl_cv_func_gettimeofday_clobber=no], [gl_cv_func_gettimeofday_clobber=yes], dnl When crosscompiling, assume it is broken. [gl_cv_func_gettimeofday_clobber=yes])]) if test $gl_cv_func_gettimeofday_clobber = yes; then REPLACE_GETTIMEOFDAY=1 gl_GETTIMEOFDAY_REPLACE_LOCALTIME AC_DEFINE([GETTIMEOFDAY_CLOBBERS_LOCALTIME], [1], [Define if gettimeofday clobbers the localtime buffer.]) fi ]) AC_DEFUN([gl_GETTIMEOFDAY_REPLACE_LOCALTIME], [ AC_LIBOBJ([gettimeofday]) gl_PREREQ_GETTIMEOFDAY AC_DEFINE([gmtime], [rpl_gmtime], [Define to rpl_gmtime if the replacement function should be used.]) AC_DEFINE([localtime], [rpl_localtime], [Define to rpl_localtime if the replacement function should be used.]) ]) # Prerequisites of lib/gettimeofday.c. AC_DEFUN([gl_PREREQ_GETTIMEOFDAY], [ AC_CHECK_HEADERS([sys/timeb.h]) AC_CHECK_FUNCS([_ftime]) ]) parted-2.3/m4/symlink.m40000644000000000000000000000257711370541032012003 00000000000000# serial 2 # See if we need to provide symlink replacement. dnl Copyright (C) 2009, 2010 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. # Written by Eric Blake. AC_DEFUN([gl_FUNC_SYMLINK], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_CHECK_FUNCS_ONCE([symlink]) dnl The best we can do on mingw is provide a dummy that always fails, so dnl that compilation can proceed with fewer ifdefs. On Solaris 9 and dnl FreeBSD 7.2, we want to fix a bug with trailing slash handling. if test $ac_cv_func_symlink = no; then HAVE_SYMLINK=0 AC_LIBOBJ([symlink]) else AC_CACHE_CHECK([whether symlink handles trailing slash correctly], [gl_cv_func_symlink_works], [AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[if (!symlink ("a", "conftest.link/")) return 1; if (symlink ("conftest.f", "conftest.lnk2")) return 2; if (!symlink ("a", "conftest.lnk2/")) return 3;]])], [gl_cv_func_symlink_works=yes], [gl_cv_func_symlink_works=no], [gl_cv_func_symlink_works="guessing no"]) rm -f conftest.f conftest.link conftest.lnk2]) if test "$gl_cv_func_symlink_works" != yes; then REPLACE_SYMLINK=1 AC_LIBOBJ([symlink]) fi fi ]) parted-2.3/m4/mbsinit.m40000644000000000000000000000143111370541032011746 00000000000000# mbsinit.m4 serial 4 dnl Copyright (C) 2008, 2010 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. AC_DEFUN([gl_FUNC_MBSINIT], [ AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) AC_REQUIRE([AC_TYPE_MBSTATE_T]) gl_MBSTATE_T_BROKEN AC_CHECK_FUNCS_ONCE([mbsinit]) if test $ac_cv_func_mbsinit = no; then HAVE_MBSINIT=0 else if test $REPLACE_MBSTATE_T = 1; then REPLACE_MBSINIT=1 fi fi if test $HAVE_MBSINIT = 0 || test $REPLACE_MBSINIT = 1; then gl_REPLACE_WCHAR_H AC_LIBOBJ([mbsinit]) gl_PREREQ_MBSINIT fi ]) # Prerequisites of lib/mbsinit.c. AC_DEFUN([gl_PREREQ_MBSINIT], [ : ]) parted-2.3/m4/stdbool.m40000644000000000000000000001021311370541032011745 00000000000000# Check for stdbool.h that conforms to C99. dnl Copyright (C) 2002-2006, 2009-2010 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. # Prepare for substituting if it is not supported. AC_DEFUN([AM_STDBOOL_H], [ AC_REQUIRE([AC_HEADER_STDBOOL]) # Define two additional variables used in the Makefile substitution. if test "$ac_cv_header_stdbool_h" = yes; then STDBOOL_H='' else STDBOOL_H='stdbool.h' fi AC_SUBST([STDBOOL_H]) if test "$ac_cv_type__Bool" = yes; then HAVE__BOOL=1 else HAVE__BOOL=0 fi AC_SUBST([HAVE__BOOL]) ]) # AM_STDBOOL_H will be renamed to gl_STDBOOL_H in the future. AC_DEFUN([gl_STDBOOL_H], [AM_STDBOOL_H]) # This macro is only needed in autoconf <= 2.59. Newer versions of autoconf # have this macro built-in. AC_DEFUN([AC_HEADER_STDBOOL], [AC_CACHE_CHECK([for stdbool.h that conforms to C99], [ac_cv_header_stdbool_h], [AC_TRY_COMPILE( [ #include #ifndef bool "error: bool is not defined" #endif #ifndef false "error: false is not defined" #endif #if false "error: false is not 0" #endif #ifndef true "error: true is not defined" #endif #if true != 1 "error: true is not 1" #endif #ifndef __bool_true_false_are_defined "error: __bool_true_false_are_defined is not defined" #endif struct s { _Bool s: 1; _Bool t; } s; char a[true == 1 ? 1 : -1]; char b[false == 0 ? 1 : -1]; char c[__bool_true_false_are_defined == 1 ? 1 : -1]; char d[(bool) 0.5 == true ? 1 : -1]; bool e = &s; char f[(_Bool) 0.0 == false ? 1 : -1]; char g[true]; char h[sizeof (_Bool)]; char i[sizeof s.t]; enum { j = false, k = true, l = false * true, m = true * 256 }; _Bool n[m]; char o[sizeof n == m * sizeof n[0] ? 1 : -1]; char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; #if defined __xlc__ || defined __GNUC__ /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0 reported by James Lemley on 2005-10-05; see http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html This test is not quite right, since xlc is allowed to reject this program, as the initializer for xlcbug is not one of the forms that C requires support for. However, doing the test right would require a run-time test, and that would make cross-compilation harder. Let us hope that IBM fixes the xlc bug, and also adds support for this kind of constant expression. In the meantime, this test will reject xlc, which is OK, since our stdbool.h substitute should suffice. We also test this with GCC, where it should work, to detect more quickly whether someone messes up the test in the future. */ char digs[] = "0123456789"; int xlcbug = 1 / (&(digs + 5)[-2 + (bool) 1] == &digs[4] ? 1 : -1); #endif /* Catch a bug in an HP-UX C compiler. See http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html */ _Bool q = true; _Bool *pq = &q; ], [ *pq |= q; *pq |= ! q; /* Refer to every declared value, to avoid compiler optimizations. */ return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l + !m + !n + !o + !p + !q + !pq); ], [ac_cv_header_stdbool_h=yes], [ac_cv_header_stdbool_h=no])]) AC_CHECK_TYPES([_Bool]) if test $ac_cv_header_stdbool_h = yes; then AC_DEFINE([HAVE_STDBOOL_H], [1], [Define to 1 if stdbool.h conforms to C99.]) fi]) parted-2.3/m4/strdup.m40000644000000000000000000000216011370541032011622 00000000000000# strdup.m4 serial 12 dnl Copyright (C) 2002-2010 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. AC_DEFUN([gl_FUNC_STRDUP], [ AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) AC_CHECK_FUNCS_ONCE([strdup]) if test $ac_cv_func_strdup != yes; then AC_LIBOBJ([strdup]) gl_PREREQ_STRDUP fi AC_CHECK_DECLS_ONCE([strdup]) if test $ac_cv_have_decl_strdup = no; then HAVE_DECL_STRDUP=0 fi ]) AC_DEFUN([gl_FUNC_STRDUP_POSIX], [ AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) AC_CHECK_FUNCS_ONCE([strdup]) if test $ac_cv_func_strdup = yes; then if test $gl_cv_func_malloc_posix != yes; then REPLACE_STRDUP=1 AC_LIBOBJ([strdup]) gl_PREREQ_STRDUP fi else AC_LIBOBJ([strdup]) gl_PREREQ_STRDUP fi AC_CHECK_DECLS_ONCE([strdup]) if test $ac_cv_have_decl_strdup = no; then HAVE_DECL_STRDUP=0 fi ]) # Prerequisites of lib/strdup.c. AC_DEFUN([gl_PREREQ_STRDUP], [:]) parted-2.3/m4/strnlen.m40000644000000000000000000000165511370541032011776 00000000000000# strnlen.m4 serial 12 dnl Copyright (C) 2002-2003, 2005-2007, 2009-2010 Free Software Foundation, dnl 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. AC_DEFUN([gl_FUNC_STRNLEN], [ AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) dnl Persuade glibc to declare strnlen(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_CHECK_DECLS_ONCE([strnlen]) if test $ac_cv_have_decl_strnlen = no; then HAVE_DECL_STRNLEN=0 else AC_FUNC_STRNLEN dnl Note: AC_FUNC_STRNLEN does AC_LIBOBJ([strnlen]). if test $ac_cv_func_strnlen_working = no; then REPLACE_STRNLEN=1 fi fi if test $HAVE_DECL_STRNLEN = 0 || test $REPLACE_STRNLEN = 1; then AC_LIBOBJ([strnlen]) gl_PREREQ_STRNLEN fi ]) # Prerequisites of lib/strnlen.c. AC_DEFUN([gl_PREREQ_STRNLEN], [:]) parted-2.3/m4/gnulib-comp.m40000644000000000000000000007106711377760462012552 00000000000000# -*- buffer-read-only: t -*- vi: set ro: # DO NOT EDIT! GENERATED AUTOMATICALLY! # DO NOT EDIT! GENERATED AUTOMATICALLY! # Copyright (C) 2002-2010 Free Software Foundation, Inc. # # This file is free software, distributed under the terms of the GNU # General Public License. As a special exception to the GNU General # Public License, this file may be distributed as part of a program # that contains a configuration script generated by Autoconf, under # the same distribution terms as the rest of that program. # # Generated by gnulib-tool. # # This file represents the compiled summary of the specification in # gnulib-cache.m4. It lists the computed macro invocations that need # to be invoked from configure.ac. # In projects using CVS, this file can be treated like other built files. # This macro should be invoked from ./configure.ac, in the section # "Checks for programs", right after AC_PROG_CC, and certainly before # any checks for libraries, header files, types and library functions. AC_DEFUN([gl_EARLY], [ m4_pattern_forbid([^gl_[A-Z]])dnl the gnulib macro namespace m4_pattern_allow([^gl_ES$])dnl a valid locale name m4_pattern_allow([^gl_LIBOBJS$])dnl a variable m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable AC_REQUIRE([AC_PROG_RANLIB]) # Code from module alloca: # Code from module alloca-opt: # Code from module alloca-opt-tests: # Code from module announce-gen: # Code from module arg-nonnull: # Code from module argmatch: # Code from module argmatch-tests: # Code from module assert: # Code from module binary-io: # Code from module binary-io-tests: # Code from module btowc: # Code from module btowc-tests: # Code from module c++defs: # Code from module c-ctype: # Code from module c-ctype-tests: # Code from module c-strcase: # Code from module c-strcase-tests: # Code from module calloc: # Code from module calloc-posix: # Code from module canonicalize-lgpl: # Code from module canonicalize-lgpl-tests: # Code from module close: # Code from module close-hook: # Code from module close-stream: # Code from module closeout: # Code from module config-h: # Code from module configmake: # Code from module dirname: # Code from module dirname-lgpl: # Code from module dirname-tests: # Code from module do-release-commit-and-tag: # Code from module double-slash-root: # Code from module dup2: # Code from module dup2-tests: # Code from module environ: # Code from module environ-tests: # Code from module errno: # Code from module errno-tests: # Code from module error: # Code from module exitfail: # Code from module extensions: AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) # Code from module fclose: # Code from module fcntl-h: # Code from module fcntl-h-tests: # Code from module fdl: # Code from module fpending: # Code from module fpending-tests: # Code from module fsync: # Code from module fsync-tests: # Code from module gendocs: # Code from module getopt-gnu: # Code from module getopt-posix: # Code from module getopt-posix-tests: # Code from module gettext: # Code from module gettext-h: # Code from module gettimeofday: # Code from module gettimeofday-tests: # Code from module git-version-gen: # Code from module gitlog-to-changelog: # Code from module gnu-web-doc-update: # Code from module gnumakefile: # Code from module gnupload: # Code from module havelib: # Code from module ignore-value: # Code from module include_next: # Code from module inline: # Code from module intprops: # Code from module inttypes: # Code from module inttypes-tests: # Code from module langinfo: # Code from module langinfo-tests: # Code from module lib-ignore: # Code from module localcharset: # Code from module long-options: # Code from module lseek: # Code from module lseek-tests: # Code from module lstat: # Code from module lstat-tests: # Code from module maintainer-makefile: # Code from module malloc: # Code from module malloc-posix: # Code from module malloca: # Code from module malloca-tests: # Code from module manywarnings: # Code from module mbrtowc: # Code from module mbrtowc-tests: # Code from module mbsinit: # Code from module mbsinit-tests: # Code from module memchr: # Code from module memchr-tests: # Code from module mkstemp: # Code from module mktempd: # Code from module multiarch: # Code from module nl_langinfo: # Code from module nl_langinfo-tests: # Code from module open: # Code from module open-tests: # Code from module pathmax: # Code from module priv-set: # Code from module priv-set-tests: # Code from module progname: # Code from module putenv: # Code from module quote: # Code from module quotearg: # Code from module quotearg-tests: # Code from module readlink: # Code from module readlink-tests: # Code from module realloc: # Code from module realloc-posix: # Code from module regex: # Code from module rpmatch: # Code from module safe-read: # Code from module same-inode: # Code from module setenv: # Code from module setenv-tests: # Code from module sleep: # Code from module sleep-tests: # Code from module ssize_t: # Code from module stat: # Code from module stat-tests: # Code from module stdarg: dnl Some compilers (e.g., AIX 5.3 cc) need to be in c99 mode dnl for the builtin va_copy to work. With Autoconf 2.60 or later, dnl AC_PROG_CC_STDC arranges for this. With older Autoconf AC_PROG_CC_STDC dnl shouldn't hurt, though installers are on their own to set c99 mode. AC_REQUIRE([AC_PROG_CC_STDC]) # Code from module stdbool: # Code from module stdbool-tests: # Code from module stddef: # Code from module stddef-tests: # Code from module stdint: # Code from module stdint-tests: # Code from module stdio: # Code from module stdio-tests: # Code from module stdlib: # Code from module stdlib-tests: # Code from module strdup-posix: # Code from module streq: # Code from module strerror: # Code from module strerror-tests: # Code from module string: # Code from module string-tests: # Code from module strndup: # Code from module strnlen: # Code from module symlink: # Code from module symlink-tests: # Code from module sys_stat: # Code from module sys_stat-tests: # Code from module sys_time: # Code from module sys_time-tests: # Code from module tempname: # Code from module time: # Code from module time-tests: # Code from module unistd: # Code from module unistd-tests: # Code from module unlink: # Code from module unlink-tests: # Code from module unlinkdir: # Code from module unsetenv: # Code from module unsetenv-tests: # Code from module update-copyright: # Code from module update-copyright-tests: # Code from module useless-if-before-free: # Code from module usleep: # Code from module usleep-tests: # Code from module vc-list-files: # Code from module vc-list-files-tests: # Code from module verify: # Code from module verify-tests: # Code from module version-etc: # Code from module version-etc-fsf: # Code from module version-etc-tests: # Code from module warn-on-use: # Code from module warnings: # Code from module wchar: # Code from module wchar-tests: # Code from module wcrtomb: # Code from module wcrtomb-tests: # Code from module wctob: # Code from module wctype: # Code from module wctype-tests: # Code from module xalloc: # Code from module xalloc-die: # Code from module xalloc-die-tests: # Code from module xstrndup: # Code from module xstrtol: # Code from module xstrtol-tests: ]) # This macro should be invoked from ./configure.ac, in the section # "Check for header files, types and library functions". AC_DEFUN([gl_INIT], [ AM_CONDITIONAL([GL_COND_LIBTOOL], [true]) gl_cond_libtool=true gl_m4_base='m4' m4_pushdef([AC_LIBOBJ], m4_defn([gl_LIBOBJ])) m4_pushdef([AC_REPLACE_FUNCS], m4_defn([gl_REPLACE_FUNCS])) m4_pushdef([AC_LIBSOURCES], m4_defn([gl_LIBSOURCES])) m4_pushdef([gl_LIBSOURCES_LIST], []) m4_pushdef([gl_LIBSOURCES_DIR], []) gl_COMMON gl_source_base='lib' # Code from module alloca: changequote(,)dnl LTALLOCA=`echo "$ALLOCA" | sed -e 's/\.[^.]* /.lo /g;s/\.[^.]*$/.lo/'` changequote([, ])dnl AC_SUBST([LTALLOCA]) # Code from module alloca-opt: gl_FUNC_ALLOCA # Code from module announce-gen: # Code from module arg-nonnull: # Code from module argmatch: gl_ARGMATCH # Code from module assert: gl_ASSERT # Code from module btowc: gl_FUNC_BTOWC gl_WCHAR_MODULE_INDICATOR([btowc]) # Code from module c++defs: # Code from module calloc: AC_FUNC_CALLOC # Code from module calloc-posix: gl_FUNC_CALLOC_POSIX gl_STDLIB_MODULE_INDICATOR([calloc-posix]) # Code from module canonicalize-lgpl: gl_CANONICALIZE_LGPL gl_MODULE_INDICATOR([canonicalize-lgpl]) gl_STDLIB_MODULE_INDICATOR([canonicalize_file_name]) gl_STDLIB_MODULE_INDICATOR([realpath]) # Code from module close: gl_FUNC_CLOSE gl_UNISTD_MODULE_INDICATOR([close]) # Code from module close-hook: # Code from module close-stream: gl_CLOSE_STREAM gl_MODULE_INDICATOR([close-stream]) # Code from module closeout: gl_CLOSEOUT # Code from module config-h: gl_CONFIG_H # Code from module configmake: # Code from module dirname: gl_DIRNAME gl_MODULE_INDICATOR([dirname]) # Code from module dirname-lgpl: gl_DIRNAME_LGPL # Code from module do-release-commit-and-tag: # Code from module double-slash-root: gl_DOUBLE_SLASH_ROOT # Code from module errno: gl_HEADER_ERRNO_H # Code from module error: gl_ERROR m4_ifdef([AM_XGETTEXT_OPTION], [AM_][XGETTEXT_OPTION([--flag=error:3:c-format]) AM_][XGETTEXT_OPTION([--flag=error_at_line:5:c-format])]) # Code from module exitfail: # Code from module extensions: # Code from module fclose: gl_FUNC_FCLOSE gl_STDIO_MODULE_INDICATOR([fclose]) # Code from module fdl: # Code from module fpending: gl_FUNC_FPENDING # Code from module fsync: gl_FUNC_FSYNC gl_UNISTD_MODULE_INDICATOR([fsync]) # Code from module gendocs: # Code from module getopt-gnu: gl_FUNC_GETOPT_GNU gl_MODULE_INDICATOR_FOR_TESTS([getopt-gnu]) # Code from module getopt-posix: gl_FUNC_GETOPT_POSIX # Code from module gettext-h: AC_SUBST([LIBINTL]) AC_SUBST([LTLIBINTL]) # Code from module gettimeofday: gl_FUNC_GETTIMEOFDAY gl_SYS_TIME_MODULE_INDICATOR([gettimeofday]) # Code from module git-version-gen: # Code from module gitlog-to-changelog: # Code from module gnu-web-doc-update: # Code from module gnumakefile: # Autoconf 2.61a.99 and earlier don't support linking a file only # in VPATH builds. But since GNUmakefile is for maintainer use # only, it does not matter if we skip the link with older autoconf. # Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH # builds, so use a shell variable to bypass this. GNUmakefile=GNUmakefile m4_if(m4_version_compare([2.61a.100], m4_defn([m4_PACKAGE_VERSION])), [1], [], [AC_CONFIG_LINKS([$GNUmakefile:$GNUmakefile], [], [GNUmakefile=$GNUmakefile])]) # Code from module gnupload: # Code from module include_next: # Code from module inline: gl_INLINE # Code from module intprops: # Code from module inttypes: gl_INTTYPES_H # Code from module langinfo: gl_LANGINFO_H # Code from module lib-ignore: gl_IGNORE_UNUSED_LIBRARIES # Code from module localcharset: gl_LOCALCHARSET LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(top_builddir)/$gl_source_base\"" AC_SUBST([LOCALCHARSET_TESTS_ENVIRONMENT]) # Code from module long-options: gl_LONG_OPTIONS # Code from module lseek: gl_FUNC_LSEEK gl_UNISTD_MODULE_INDICATOR([lseek]) # Code from module lstat: gl_FUNC_LSTAT gl_SYS_STAT_MODULE_INDICATOR([lstat]) # Code from module maintainer-makefile: AC_CONFIG_COMMANDS_PRE([m4_ifdef([AH_HEADER], [AC_SUBST([CONFIG_INCLUDE], m4_defn([AH_HEADER]))])]) # Code from module malloc: AC_FUNC_MALLOC AC_DEFINE([GNULIB_MALLOC_GNU], 1, [Define to indicate the 'malloc' module.]) # Code from module malloc-posix: gl_FUNC_MALLOC_POSIX gl_STDLIB_MODULE_INDICATOR([malloc-posix]) # Code from module malloca: gl_MALLOCA # Code from module manywarnings: # Code from module mbrtowc: gl_FUNC_MBRTOWC gl_WCHAR_MODULE_INDICATOR([mbrtowc]) # Code from module mbsinit: gl_FUNC_MBSINIT gl_WCHAR_MODULE_INDICATOR([mbsinit]) # Code from module memchr: gl_FUNC_MEMCHR gl_STRING_MODULE_INDICATOR([memchr]) # Code from module mkstemp: gl_FUNC_MKSTEMP gl_STDLIB_MODULE_INDICATOR([mkstemp]) # Code from module mktempd: # Code from module multiarch: gl_MULTIARCH # Code from module nl_langinfo: gl_FUNC_NL_LANGINFO gl_LANGINFO_MODULE_INDICATOR([nl_langinfo]) # Code from module pathmax: gl_PATHMAX # Code from module progname: AC_CHECK_DECLS([program_invocation_name], [], [], [#include ]) AC_CHECK_DECLS([program_invocation_short_name], [], [], [#include ]) # Code from module quote: gl_QUOTE # Code from module quotearg: gl_QUOTEARG # Code from module readlink: gl_FUNC_READLINK gl_UNISTD_MODULE_INDICATOR([readlink]) # Code from module realloc: AC_FUNC_REALLOC AC_DEFINE([GNULIB_REALLOC_GNU], 1, [Define to indicate the 'realloc' module.]) # Code from module realloc-posix: gl_FUNC_REALLOC_POSIX gl_STDLIB_MODULE_INDICATOR([realloc-posix]) # Code from module regex: gl_REGEX # Code from module rpmatch: gl_FUNC_RPMATCH gl_STDLIB_MODULE_INDICATOR([rpmatch]) # Code from module safe-read: gl_SAFE_READ # Code from module sleep: gl_FUNC_SLEEP gl_UNISTD_MODULE_INDICATOR([sleep]) # Code from module ssize_t: gt_TYPE_SSIZE_T # Code from module stat: gl_FUNC_STAT gl_SYS_STAT_MODULE_INDICATOR([stat]) # Code from module stdarg: gl_STDARG_H # Code from module stdbool: AM_STDBOOL_H # Code from module stddef: gl_STDDEF_H # Code from module stdint: gl_STDINT_H # Code from module stdio: gl_STDIO_H # Code from module stdlib: gl_STDLIB_H # Code from module strdup-posix: gl_FUNC_STRDUP_POSIX gl_STRING_MODULE_INDICATOR([strdup]) # Code from module streq: # Code from module strerror: gl_FUNC_STRERROR gl_STRING_MODULE_INDICATOR([strerror]) # Code from module string: gl_HEADER_STRING_H # Code from module strndup: gl_FUNC_STRNDUP gl_STRING_MODULE_INDICATOR([strndup]) # Code from module strnlen: gl_FUNC_STRNLEN gl_STRING_MODULE_INDICATOR([strnlen]) # Code from module sys_stat: gl_HEADER_SYS_STAT_H AC_PROG_MKDIR_P # Code from module sys_time: gl_HEADER_SYS_TIME_H AC_PROG_MKDIR_P # Code from module tempname: gl_FUNC_GEN_TEMPNAME # Code from module time: gl_HEADER_TIME_H # Code from module unistd: gl_UNISTD_H # Code from module unlink: gl_FUNC_UNLINK gl_UNISTD_MODULE_INDICATOR([unlink]) # Code from module update-copyright: # Code from module useless-if-before-free: # Code from module usleep: gl_FUNC_USLEEP gl_UNISTD_MODULE_INDICATOR([usleep]) # Code from module vc-list-files: # Code from module verify: # Code from module version-etc: gl_VERSION_ETC # Code from module version-etc-fsf: # Code from module warn-on-use: # Code from module warnings: AC_SUBST([WARN_CFLAGS]) # Code from module wchar: gl_WCHAR_H # Code from module wcrtomb: gl_FUNC_WCRTOMB gl_WCHAR_MODULE_INDICATOR([wcrtomb]) # Code from module wctype: gl_WCTYPE_H # Code from module xalloc: gl_XALLOC # Code from module xalloc-die: # Code from module xstrndup: gl_XSTRNDUP # Code from module xstrtol: gl_XSTRTOL # End of code from modules m4_ifval(gl_LIBSOURCES_LIST, [ m4_syscmd([test ! -d ]m4_defn([gl_LIBSOURCES_DIR])[ || for gl_file in ]gl_LIBSOURCES_LIST[ ; do if test ! -r ]m4_defn([gl_LIBSOURCES_DIR])[/$gl_file ; then echo "missing file ]m4_defn([gl_LIBSOURCES_DIR])[/$gl_file" >&2 exit 1 fi done])dnl m4_if(m4_sysval, [0], [], [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])]) ]) m4_popdef([gl_LIBSOURCES_DIR]) m4_popdef([gl_LIBSOURCES_LIST]) m4_popdef([AC_LIBSOURCES]) m4_popdef([AC_REPLACE_FUNCS]) m4_popdef([AC_LIBOBJ]) AC_CONFIG_COMMANDS_PRE([ gl_libobjs= gl_ltlibobjs= if test -n "$gl_LIBOBJS"; then # Remove the extension. sed_drop_objext='s/\.o$//;s/\.obj$//' for i in `for i in $gl_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do gl_libobjs="$gl_libobjs $i.$ac_objext" gl_ltlibobjs="$gl_ltlibobjs $i.lo" done fi AC_SUBST([gl_LIBOBJS], [$gl_libobjs]) AC_SUBST([gl_LTLIBOBJS], [$gl_ltlibobjs]) ]) gltests_libdeps= gltests_ltlibdeps= m4_pushdef([AC_LIBOBJ], m4_defn([gltests_LIBOBJ])) m4_pushdef([AC_REPLACE_FUNCS], m4_defn([gltests_REPLACE_FUNCS])) m4_pushdef([AC_LIBSOURCES], m4_defn([gltests_LIBSOURCES])) m4_pushdef([gltests_LIBSOURCES_LIST], []) m4_pushdef([gltests_LIBSOURCES_DIR], []) gl_COMMON gl_source_base='gnulib-tests' changequote(,)dnl gltests_WITNESS=IN_`echo "${PACKAGE-$PACKAGE_TARNAME}" | LC_ALL=C tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | LC_ALL=C sed -e 's/[^A-Z0-9_]/_/g'`_GNULIB_TESTS changequote([, ])dnl AC_SUBST([gltests_WITNESS]) gl_module_indicator_condition=$gltests_WITNESS m4_pushdef([gl_MODULE_INDICATOR_CONDITION], [$gl_module_indicator_condition]) gt_LOCALE_FR gt_LOCALE_FR_UTF8 gt_LOCALE_FR gt_LOCALE_TR_UTF8 gl_FUNC_DUP2 gl_UNISTD_MODULE_INDICATOR([dup2]) gl_ENVIRON gl_UNISTD_MODULE_INDICATOR([environ]) gl_FCNTL_H dnl you must add AM_GNU_GETTEXT([external]) or similar to configure.ac. AM_GNU_GETTEXT_VERSION([0.18]) AC_REQUIRE([AC_C_INLINE]) gt_LOCALE_FR gt_LOCALE_FR_UTF8 gt_LOCALE_JA gt_LOCALE_ZH_CN gt_LOCALE_FR_UTF8 gt_LOCALE_FR gt_LOCALE_FR_UTF8 gl_FUNC_OPEN gl_FCNTL_MODULE_INDICATOR([open]) gl_PRIV_SET gl_FUNC_PUTENV gl_STDLIB_MODULE_INDICATOR([putenv]) gt_LOCALE_FR gt_LOCALE_FR_UTF8 gl_FUNC_SETENV gl_STDLIB_MODULE_INDICATOR([setenv]) AC_CHECK_DECLS_ONCE([alarm]) gt_TYPE_WCHAR_T gt_TYPE_WINT_T gl_FUNC_SYMLINK gl_UNISTD_MODULE_INDICATOR([symlink]) gl_UNLINKDIR gl_FUNC_UNSETENV gl_STDLIB_MODULE_INDICATOR([unsetenv]) abs_aux_dir=`cd "$ac_aux_dir"; pwd` AC_SUBST([abs_aux_dir]) abs_aux_dir=`cd "$ac_aux_dir"; pwd` AC_SUBST([abs_aux_dir]) gt_LOCALE_FR gt_LOCALE_FR_UTF8 gt_LOCALE_JA gt_LOCALE_ZH_CN gl_FUNC_WCTOB gl_WCHAR_MODULE_INDICATOR([wctob]) m4_popdef([gl_MODULE_INDICATOR_CONDITION]) m4_ifval(gltests_LIBSOURCES_LIST, [ m4_syscmd([test ! -d ]m4_defn([gltests_LIBSOURCES_DIR])[ || for gl_file in ]gltests_LIBSOURCES_LIST[ ; do if test ! -r ]m4_defn([gltests_LIBSOURCES_DIR])[/$gl_file ; then echo "missing file ]m4_defn([gltests_LIBSOURCES_DIR])[/$gl_file" >&2 exit 1 fi done])dnl m4_if(m4_sysval, [0], [], [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])]) ]) m4_popdef([gltests_LIBSOURCES_DIR]) m4_popdef([gltests_LIBSOURCES_LIST]) m4_popdef([AC_LIBSOURCES]) m4_popdef([AC_REPLACE_FUNCS]) m4_popdef([AC_LIBOBJ]) AC_CONFIG_COMMANDS_PRE([ gltests_libobjs= gltests_ltlibobjs= if test -n "$gltests_LIBOBJS"; then # Remove the extension. sed_drop_objext='s/\.o$//;s/\.obj$//' for i in `for i in $gltests_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do gltests_libobjs="$gltests_libobjs $i.$ac_objext" gltests_ltlibobjs="$gltests_ltlibobjs $i.lo" done fi AC_SUBST([gltests_LIBOBJS], [$gltests_libobjs]) AC_SUBST([gltests_LTLIBOBJS], [$gltests_ltlibobjs]) ]) LIBTESTS_LIBDEPS="$gltests_libdeps" AC_SUBST([LIBTESTS_LIBDEPS]) ]) # Like AC_LIBOBJ, except that the module name goes # into gl_LIBOBJS instead of into LIBOBJS. AC_DEFUN([gl_LIBOBJ], [ AS_LITERAL_IF([$1], [gl_LIBSOURCES([$1.c])])dnl gl_LIBOBJS="$gl_LIBOBJS $1.$ac_objext" ]) # Like AC_REPLACE_FUNCS, except that the module name goes # into gl_LIBOBJS instead of into LIBOBJS. AC_DEFUN([gl_REPLACE_FUNCS], [ m4_foreach_w([gl_NAME], [$1], [AC_LIBSOURCES(gl_NAME[.c])])dnl AC_CHECK_FUNCS([$1], , [gl_LIBOBJ($ac_func)]) ]) # Like AC_LIBSOURCES, except the directory where the source file is # expected is derived from the gnulib-tool parameterization, # and alloca is special cased (for the alloca-opt module). # We could also entirely rely on EXTRA_lib..._SOURCES. AC_DEFUN([gl_LIBSOURCES], [ m4_foreach([_gl_NAME], [$1], [ m4_if(_gl_NAME, [alloca.c], [], [ m4_define([gl_LIBSOURCES_DIR], [lib]) m4_append([gl_LIBSOURCES_LIST], _gl_NAME, [ ]) ]) ]) ]) # Like AC_LIBOBJ, except that the module name goes # into gltests_LIBOBJS instead of into LIBOBJS. AC_DEFUN([gltests_LIBOBJ], [ AS_LITERAL_IF([$1], [gltests_LIBSOURCES([$1.c])])dnl gltests_LIBOBJS="$gltests_LIBOBJS $1.$ac_objext" ]) # Like AC_REPLACE_FUNCS, except that the module name goes # into gltests_LIBOBJS instead of into LIBOBJS. AC_DEFUN([gltests_REPLACE_FUNCS], [ m4_foreach_w([gl_NAME], [$1], [AC_LIBSOURCES(gl_NAME[.c])])dnl AC_CHECK_FUNCS([$1], , [gltests_LIBOBJ($ac_func)]) ]) # Like AC_LIBSOURCES, except the directory where the source file is # expected is derived from the gnulib-tool parameterization, # and alloca is special cased (for the alloca-opt module). # We could also entirely rely on EXTRA_lib..._SOURCES. AC_DEFUN([gltests_LIBSOURCES], [ m4_foreach([_gl_NAME], [$1], [ m4_if(_gl_NAME, [alloca.c], [], [ m4_define([gltests_LIBSOURCES_DIR], [gnulib-tests]) m4_append([gltests_LIBSOURCES_LIST], _gl_NAME, [ ]) ]) ]) ]) # This macro records the list of files which have been installed by # gnulib-tool and may be removed by future gnulib-tool invocations. AC_DEFUN([gl_FILE_LIST], [ build-aux/announce-gen build-aux/arg-nonnull.h build-aux/c++defs.h build-aux/config.rpath build-aux/do-release-commit-and-tag build-aux/gendocs.sh build-aux/git-version-gen build-aux/gitlog-to-changelog build-aux/gnu-web-doc-update build-aux/gnupload build-aux/mktempd build-aux/update-copyright build-aux/useless-if-before-free build-aux/vc-list-files build-aux/warn-on-use.h doc/fdl.texi doc/gendocs_template lib/alloca.c lib/alloca.in.h lib/argmatch.c lib/argmatch.h lib/basename-lgpl.c lib/basename.c lib/btowc.c lib/calloc.c lib/canonicalize-lgpl.c lib/close-hook.c lib/close-hook.h lib/close-stream.c lib/close-stream.h lib/close.c lib/closeout.c lib/closeout.h lib/config.charset lib/dirname-lgpl.c lib/dirname.c lib/dirname.h lib/errno.in.h lib/error.c lib/error.h lib/exitfail.c lib/exitfail.h lib/fclose.c lib/fpending.c lib/fpending.h lib/fsync.c lib/getopt.c lib/getopt.in.h lib/getopt1.c lib/getopt_int.h lib/gettext.h lib/gettimeofday.c lib/intprops.h lib/inttypes.in.h lib/langinfo.in.h lib/localcharset.c lib/localcharset.h lib/long-options.c lib/long-options.h lib/lseek.c lib/lstat.c lib/malloc.c lib/malloca.c lib/malloca.h lib/malloca.valgrind lib/mbrtowc.c lib/mbsinit.c lib/memchr.c lib/memchr.valgrind lib/mkstemp.c lib/nl_langinfo.c lib/pathmax.h lib/progname.c lib/progname.h lib/quote.c lib/quote.h lib/quotearg.c lib/quotearg.h lib/readlink.c lib/realloc.c lib/ref-add.sin lib/ref-del.sin lib/regcomp.c lib/regex.c lib/regex.h lib/regex_internal.c lib/regex_internal.h lib/regexec.c lib/rpmatch.c lib/safe-read.c lib/safe-read.h lib/sleep.c lib/stat.c lib/stdarg.in.h lib/stdbool.in.h lib/stddef.in.h lib/stdint.in.h lib/stdio-write.c lib/stdio.in.h lib/stdlib.in.h lib/strdup.c lib/streq.h lib/strerror.c lib/string.in.h lib/stripslash.c lib/strndup.c lib/strnlen.c lib/sys_stat.in.h lib/sys_time.in.h lib/tempname.c lib/tempname.h lib/time.in.h lib/unistd.in.h lib/unlink.c lib/usleep.c lib/verify.h lib/version-etc-fsf.c lib/version-etc.c lib/version-etc.h lib/wchar.in.h lib/wcrtomb.c lib/wctype.in.h lib/xalloc-die.c lib/xalloc.h lib/xmalloc.c lib/xstrndup.c lib/xstrndup.h lib/xstrtol-error.c lib/xstrtol.c lib/xstrtol.h lib/xstrtoul.c m4/00gnulib.m4 m4/alloca.m4 m4/argmatch.m4 m4/asm-underscore.m4 m4/assert.m4 m4/btowc.m4 m4/calloc.m4 m4/canonicalize.m4 m4/close-stream.m4 m4/close.m4 m4/closeout.m4 m4/codeset.m4 m4/config-h.m4 m4/dirname.m4 m4/dos.m4 m4/double-slash-root.m4 m4/dup2.m4 m4/eealloc.m4 m4/environ.m4 m4/errno_h.m4 m4/error.m4 m4/extensions.m4 m4/fclose.m4 m4/fcntl-o.m4 m4/fcntl_h.m4 m4/fpending.m4 m4/fsync.m4 m4/getopt.m4 m4/gettext.m4 m4/gettimeofday.m4 m4/glibc2.m4 m4/glibc21.m4 m4/gnulib-common.m4 m4/iconv.m4 m4/include_next.m4 m4/inline.m4 m4/intdiv0.m4 m4/intl.m4 m4/intldir.m4 m4/intlmacosx.m4 m4/intmax.m4 m4/inttypes-pri.m4 m4/inttypes.m4 m4/inttypes_h.m4 m4/langinfo_h.m4 m4/lcmessage.m4 m4/lib-ignore.m4 m4/lib-ld.m4 m4/lib-link.m4 m4/lib-prefix.m4 m4/localcharset.m4 m4/locale-fr.m4 m4/locale-ja.m4 m4/locale-tr.m4 m4/locale-zh.m4 m4/lock.m4 m4/long-options.m4 m4/longlong.m4 m4/lseek.m4 m4/lstat.m4 m4/malloc.m4 m4/malloca.m4 m4/manywarnings.m4 m4/mbrtowc.m4 m4/mbsinit.m4 m4/mbstate_t.m4 m4/memchr.m4 m4/mkstemp.m4 m4/mmap-anon.m4 m4/mode_t.m4 m4/multiarch.m4 m4/nl_langinfo.m4 m4/nls.m4 m4/open.m4 m4/pathmax.m4 m4/po.m4 m4/printf-posix.m4 m4/priv-set.m4 m4/progtest.m4 m4/putenv.m4 m4/quote.m4 m4/quotearg.m4 m4/readlink.m4 m4/realloc.m4 m4/regex.m4 m4/rpmatch.m4 m4/safe-read.m4 m4/setenv.m4 m4/size_max.m4 m4/sleep.m4 m4/ssize_t.m4 m4/stat.m4 m4/stdarg.m4 m4/stdbool.m4 m4/stddef_h.m4 m4/stdint.m4 m4/stdint_h.m4 m4/stdio_h.m4 m4/stdlib_h.m4 m4/strdup.m4 m4/strerror.m4 m4/string_h.m4 m4/strndup.m4 m4/strnlen.m4 m4/symlink.m4 m4/sys_stat_h.m4 m4/sys_time_h.m4 m4/tempname.m4 m4/threadlib.m4 m4/time_h.m4 m4/uintmax_t.m4 m4/unistd_h.m4 m4/unlink.m4 m4/unlinkdir.m4 m4/usleep.m4 m4/version-etc.m4 m4/visibility.m4 m4/warn-on-use.m4 m4/warnings.m4 m4/wchar_h.m4 m4/wchar_t.m4 m4/wcrtomb.m4 m4/wctob.m4 m4/wctype_h.m4 m4/wint_t.m4 m4/xalloc.m4 m4/xsize.m4 m4/xstrndup.m4 m4/xstrtol.m4 tests/init.sh tests/locale/fr/LC_MESSAGES/test-quotearg.mo tests/locale/fr/LC_MESSAGES/test-quotearg.po tests/macros.h tests/signature.h tests/test-alloca-opt.c tests/test-argmatch.c tests/test-binary-io.c tests/test-binary-io.sh tests/test-btowc.c tests/test-btowc1.sh tests/test-btowc2.sh tests/test-c-ctype.c tests/test-c-strcase.sh tests/test-c-strcasecmp.c tests/test-c-strncasecmp.c tests/test-canonicalize-lgpl.c tests/test-dirname.c tests/test-dup2.c tests/test-environ.c tests/test-errno.c tests/test-fcntl-h.c tests/test-fpending.c tests/test-fpending.sh tests/test-fsync.c tests/test-getopt.c tests/test-getopt.h tests/test-getopt_long.h tests/test-gettimeofday.c tests/test-inttypes.c tests/test-langinfo.c tests/test-lseek.c tests/test-lseek.sh tests/test-lstat.c tests/test-lstat.h tests/test-malloca.c tests/test-mbrtowc.c tests/test-mbrtowc1.sh tests/test-mbrtowc2.sh tests/test-mbrtowc3.sh tests/test-mbrtowc4.sh tests/test-mbsinit.c tests/test-mbsinit.sh tests/test-memchr.c tests/test-nl_langinfo.c tests/test-nl_langinfo.sh tests/test-open.c tests/test-open.h tests/test-priv-set.c tests/test-quotearg.c tests/test-quotearg.sh tests/test-readlink.c tests/test-readlink.h tests/test-setenv.c tests/test-sleep.c tests/test-stat.c tests/test-stat.h tests/test-stdbool.c tests/test-stddef.c tests/test-stdint.c tests/test-stdio.c tests/test-stdlib.c tests/test-strerror.c tests/test-string.c tests/test-symlink.c tests/test-symlink.h tests/test-sys_stat.c tests/test-sys_time.c tests/test-time.c tests/test-unistd.c tests/test-unlink.c tests/test-unlink.h tests/test-unsetenv.c tests/test-update-copyright.sh tests/test-usleep.c tests/test-vc-list-files-cvs.sh tests/test-vc-list-files-git.sh tests/test-verify.c tests/test-verify.sh tests/test-version-etc.c tests/test-version-etc.sh tests/test-wchar.c tests/test-wcrtomb.c tests/test-wcrtomb.sh tests/test-wctype.c tests/test-xalloc-die.c tests/test-xalloc-die.sh tests/test-xstrtol.c tests/test-xstrtol.sh tests/test-xstrtoul.c tests/zerosize-ptr.h tests=lib/binary-io.h tests=lib/c-ctype.c tests=lib/c-ctype.h tests=lib/c-strcase.h tests=lib/c-strcasecmp.c tests=lib/c-strncasecmp.c tests=lib/dup2.c tests=lib/fcntl.in.h tests=lib/ignore-value.h tests=lib/open.c tests=lib/priv-set.c tests=lib/priv-set.h tests=lib/putenv.c tests=lib/same-inode.h tests=lib/setenv.c tests=lib/symlink.c tests=lib/unlinkdir.c tests=lib/unlinkdir.h tests=lib/unsetenv.c tests=lib/wctob.c top/GNUmakefile top/maint.mk ]) parted-2.3/m4/lib-ignore.m40000644000000000000000000001122011370541032012325 00000000000000# If possible, ignore libraries that are not depended on. dnl Copyright (C) 2006, 2009-2010 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 Written by Paul Eggert. # gl_IGNORE_UNUSED_LIBRARIES # -------------------------- # Determines the option to be passed to the C/C++/Fortran compiler, so that it # omits unused libraries. # Example (on Solaris): # $ cc foo.c -lnsl; ldd ./a.out # libnsl.so.1 => /lib/libnsl.so.1 # libc.so.1 => /lib/libc.so.1 # libmp.so.2 => /lib/libmp.so.2 # libmd.so.1 => /lib/libmd.so.1 # libscf.so.1 => /lib/libscf.so.1 # libdoor.so.1 => /lib/libdoor.so.1 # libuutil.so.1 => /lib/libuutil.so.1 # libgen.so.1 => /lib/libgen.so.1 # libm.so.2 => /lib/libm.so.2 # $ cc foo.c -lnsl -Wl,-z,ignore; ldd ./a.out # libc.so.1 => /lib/libc.so.1 # libm.so.2 => /lib/libm.so.2 # # Note that the option works only for the C compiler, not for the C++ # compiler: # - Sun C likes '-Wl,-z,ignore'. # '-Qoption ld -z,ignore' is not accepted. # '-z ignore' is accepted but has no effect. # - Sun C++ and Sun Fortran like '-Qoption ld -z,ignore'. # '-Wl,-z,ignore' is not accepted. # '-z ignore' is accepted but has no effect. # # Sets and substitutes a variable that depends on the current language: # - IGNORE_UNUSED_LIBRARIES_CFLAGS for C # - IGNORE_UNUSED_LIBRARIES_CXXFLAGS for C++ # - IGNORE_UNUSED_LIBRARIES_FFLAGS for Fortran # # Note that the option works only for direct invocation of the compiler, not # through libtool: When libtool is used to create a shared library, it will # honor and translate '-Wl,-z,ignore' to '-Qoption ld -z -Qoption ld ignore' # if needed, but it will drop a '-Qoption ld -z,ignore' on the command line. # AC_DEFUN([gl_IGNORE_UNUSED_LIBRARIES], [ AC_CACHE_CHECK([for []_AC_LANG[] compiler flag to ignore unused libraries], [gl_cv_prog_[]_AC_LANG_ABBREV[]_ignore_unused_libraries], [gl_cv_prog_[]_AC_LANG_ABBREV[]_ignore_unused_libraries=none gl_saved_ldflags=$LDFLAGS gl_saved_libs=$LIBS # Link with -lm to detect binutils 2.16 bug with --as-needed; see # . LIBS="$LIBS -lm" # Use long option sequences like '-z ignore' to test for the feature, # to forestall problems with linkers that have -z, -i, -g, -n, etc. flags. # GCC + binutils likes '-Wl,--as-needed'. # GCC + Solaris ld likes '-Wl,-z,ignore'. # Sun C likes '-Wl,-z,ignore'. '-z ignore' is accepted but has no effect. # Don't try bare '--as-needed'; nothing likes it and the HP-UX 11.11 # native cc issues annoying warnings and then ignores it, # which would cause us to incorrectly conclude that it worked. for gl_flags in _gl_IGNORE_UNUSED_LIBRARIES_OPTIONS do LDFLAGS="$gl_flags $LDFLAGS" AC_LINK_IFELSE([AC_LANG_PROGRAM()], [gl_cv_prog_[]_AC_LANG_ABBREV[]_ignore_unused_libraries=$gl_flags]) LDFLAGS=$gl_saved_ldflags test "$gl_cv_prog_[]_AC_LANG_ABBREV[]_ignore_unused_libraries" != none && break done LIBS=$gl_saved_libs ]) IGNORE_UNUSED_LIBRARIES_[]_AC_LANG_PREFIX[]FLAGS= if test "$gl_cv_prog_[]_AC_LANG_ABBREV[]_ignore_unused_libraries" != none; then IGNORE_UNUSED_LIBRARIES_[]_AC_LANG_PREFIX[]FLAGS="$gl_cv_prog_[]_AC_LANG_ABBREV[]_ignore_unused_libraries" fi AC_SUBST([IGNORE_UNUSED_LIBRARIES_]_AC_LANG_PREFIX[FLAGS]) ]) # _gl_IGNORE_UNUSED_LIBRARIES_OPTIONS # ----------------------------------- # Expands to the language dependent options to be tried. AC_DEFUN([_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS], [_AC_LANG_DISPATCH([$0], _AC_LANG, $@)]) # _gl_IGNORE_UNUSED_LIBRARIES_OPTIONS(C) # -------------------------------------- m4_define([_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS(C)], [ '-Wl,--as-needed' \ '-Wl,-z,ignore' \ '-z ignore' ]) # _gl_IGNORE_UNUSED_LIBRARIES_OPTIONS(C++) # ---------------------------------------- m4_define([_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS(C++)], [ '-Wl,--as-needed' \ '-Qoption ld -z,ignore' \ '-Wl,-z,ignore' \ '-z ignore' ]) # _gl_IGNORE_UNUSED_LIBRARIES_OPTIONS(Fortran 77) # ----------------------------------------------- m4_copy([_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS(C++)], [_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS(Fortran 77)]) # _gl_IGNORE_UNUSED_LIBRARIES_OPTIONS(Fortran) # -------------------------------------------- m4_copy([_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS(Fortran 77)], [_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS(Fortran)]) parted-2.3/m4/readlink.m40000644000000000000000000000425311370541032012077 00000000000000# readlink.m4 serial 9 dnl Copyright (C) 2003, 2007, 2009, 2010 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. AC_DEFUN([gl_FUNC_READLINK], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_CHECK_FUNCS_ONCE([readlink]) if test $ac_cv_func_readlink = no; then HAVE_READLINK=0 AC_LIBOBJ([readlink]) gl_PREREQ_READLINK else AC_CACHE_CHECK([whether readlink signature is correct], [gl_cv_decl_readlink_works], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include /* Cause compilation failure if original declaration has wrong type. */ ssize_t readlink (const char *, char *, size_t);]])], [gl_cv_decl_readlink_works=yes], [gl_cv_decl_readlink_works=no])]) dnl Solaris 9 ignores trailing slash. dnl FreeBSD 7.2 dereferences only one level of links with trailing slash. AC_CACHE_CHECK([whether readlink handles trailing slash correctly], [gl_cv_func_readlink_works], [# We have readlink, so assume ln -s works. ln -s conftest.no-such conftest.link ln -s conftest.link conftest.lnk2 AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[char buf[20]; return readlink ("conftest.lnk2/", buf, sizeof buf) != -1;]])], [gl_cv_func_readlink_works=yes], [gl_cv_func_readlink_works=no], [gl_cv_func_readlink_works="guessing no"]) rm -f conftest.link conftest.lnk2]) if test "$gl_cv_func_readlink_works" != yes; then AC_DEFINE([READLINK_TRAILING_SLASH_BUG], [1], [Define to 1 if readlink fails to recognize a trailing slash.]) REPLACE_READLINK=1 AC_LIBOBJ([readlink]) elif test "$gl_cv_decl_readlink_works" != yes; then REPLACE_READLINK=1 AC_LIBOBJ([readlink]) fi fi ]) # Like gl_FUNC_READLINK, except prepare for separate compilation (no AC_LIBOBJ). AC_DEFUN([gl_FUNC_READLINK_SEPARATE], [ AC_CHECK_FUNCS_ONCE([readlink]) gl_PREREQ_READLINK ]) # Prerequisites of lib/readlink.c. AC_DEFUN([gl_PREREQ_READLINK], [ : ]) parted-2.3/m4/asm-underscore.m40000644000000000000000000000331011377276065013250 00000000000000# asm-underscore.m4 serial 1 dnl Copyright (C) 2010 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. Based on as-underscore.m4 in GNU clisp. # gl_ASM_SYMBOL_PREFIX # Tests for the prefix of C symbols at the assembly language level and the # linker level. This prefix is either an underscore or empty. Defines the # C macro USER_LABEL_PREFIX to this prefix, and sets ASM_SYMBOL_PREFIX to # a stringified variant of this prefix. AC_DEFUN([gl_ASM_SYMBOL_PREFIX], [ dnl We don't use GCC's __USER_LABEL_PREFIX__ here, because dnl 1. It works only for GCC. dnl 2. It is incorrectly defined on some platforms, in some GCC versions. AC_CACHE_CHECK( [whether C symbols are prefixed with underscore at the linker level], [gl_cv_prog_as_underscore], [cat > conftest.c </dev/null 2>&1 if grep _foo conftest.s >/dev/null ; then gl_cv_prog_as_underscore=yes else gl_cv_prog_as_underscore=no fi rm -f conftest* ]) if test $gl_cv_prog_as_underscore = yes; then USER_LABEL_PREFIX=_ else USER_LABEL_PREFIX= fi AC_DEFINE_UNQUOTED([USER_LABEL_PREFIX], [$USER_LABEL_PREFIX], [Define to the prefix of C symbols at the assembler and linker level, either an underscore or empty.]) ASM_SYMBOL_PREFIX='"'${USER_LABEL_PREFIX}'"' AC_SUBST([ASM_SYMBOL_PREFIX]) ]) parted-2.3/m4/quotearg.m40000644000000000000000000000052011370541032012126 00000000000000# quotearg.m4 serial 8 dnl Copyright (C) 2002, 2004-2010 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. AC_DEFUN([gl_QUOTEARG], [ AC_LIBOBJ([quotearg]) ]) parted-2.3/m4/canonicalize.m40000644000000000000000000000532011370541032012741 00000000000000# canonicalize.m4 serial 16 dnl Copyright (C) 2003-2007, 2009-2010 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. # Provides canonicalize_file_name and canonicalize_filename_mode, but does # not provide or fix realpath. AC_DEFUN([gl_FUNC_CANONICALIZE_FILENAME_MODE], [ AC_LIBOBJ([canonicalize]) AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CHECK_FUNCS_ONCE([canonicalize_file_name]) AC_REQUIRE([gl_DOUBLE_SLASH_ROOT]) AC_REQUIRE([gl_FUNC_REALPATH_WORKS]) if test $ac_cv_func_canonicalize_file_name = no; then HAVE_CANONICALIZE_FILE_NAME=0 elif test "$gl_cv_func_realpath_works" != yes; then REPLACE_CANONICALIZE_FILE_NAME=1 fi ]) # Provides canonicalize_file_name and realpath. AC_DEFUN([gl_CANONICALIZE_LGPL], [ AC_REQUIRE([gl_CANONICALIZE_LGPL_SEPARATE]) if test $ac_cv_func_canonicalize_file_name = no; then HAVE_CANONICALIZE_FILE_NAME=0 AC_LIBOBJ([canonicalize-lgpl]) if test $ac_cv_func_realpath = no; then HAVE_REALPATH=0 elif test "$gl_cv_func_realpath_works" != yes; then REPLACE_REALPATH=1 fi elif test "$gl_cv_func_realpath_works" != yes; then AC_LIBOBJ([canonicalize-lgpl]) REPLACE_REALPATH=1 REPLACE_CANONICALIZE_FILE_NAME=1 fi ]) # Like gl_CANONICALIZE_LGPL, except prepare for separate compilation # (no AC_LIBOBJ). AC_DEFUN([gl_CANONICALIZE_LGPL_SEPARATE], [ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CHECK_FUNCS_ONCE([canonicalize_file_name getcwd readlink]) AC_REQUIRE([gl_DOUBLE_SLASH_ROOT]) AC_REQUIRE([gl_FUNC_REALPATH_WORKS]) AC_CHECK_HEADERS_ONCE([sys/param.h]) ]) # Check whether realpath works. Assume that if a platform has both # realpath and canonicalize_file_name, but the former is broken, then # so is the latter. AC_DEFUN([gl_FUNC_REALPATH_WORKS], [ AC_CHECK_FUNCS_ONCE([realpath]) AC_CACHE_CHECK([whether realpath works], [gl_cv_func_realpath_works], [ touch conftest.a AC_RUN_IFELSE([ AC_LANG_PROGRAM([[ #include ]], [[ char *name1 = realpath ("conftest.a", NULL); char *name2 = realpath ("conftest.b/../conftest.a", NULL); char *name3 = realpath ("conftest.a/", NULL); return !(name1 && *name1 == '/' && !name2 && !name3); ]]) ], [gl_cv_func_realpath_works=yes], [gl_cv_func_realpath_works=no], [gl_cv_func_realpath_works="guessing no"]) ]) if test "$gl_cv_func_realpath_works" = yes; then AC_DEFINE([FUNC_REALPATH_WORKS], [1], [Define to 1 if realpath() can malloc memory, always gives an absolute path, and handles trailing slash correctly.]) fi ]) parted-2.3/m4/close.m40000644000000000000000000000146011370541032011410 00000000000000# close.m4 serial 5 dnl Copyright (C) 2008-2010 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. AC_DEFUN([gl_FUNC_CLOSE], [ m4_ifdef([gl_PREREQ_SYS_H_WINSOCK2], [ gl_PREREQ_SYS_H_WINSOCK2 if test $UNISTD_H_HAVE_WINSOCK2_H = 1; then dnl Even if the 'socket' module is not used here, another part of the dnl application may use it and pass file descriptors that refer to dnl sockets to the close() function. So enable the support for sockets. gl_REPLACE_CLOSE fi ]) ]) AC_DEFUN([gl_REPLACE_CLOSE], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) REPLACE_CLOSE=1 AC_LIBOBJ([close]) gl_REPLACE_FCLOSE ]) parted-2.3/m4/po.m40000644000000000000000000004461611377276065010755 00000000000000# po.m4 serial 17 (gettext-0.18) dnl Copyright (C) 1995-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. AC_PREREQ([2.50]) dnl Checks for all prerequisites of the po subdirectory. AC_DEFUN([AM_PO_SUBDIRS], [ AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake AC_REQUIRE([AM_NLS])dnl dnl Release version of the gettext macros. This is used to ensure that dnl the gettext macros and po/Makefile.in.in are in sync. AC_SUBST([GETTEXT_MACRO_VERSION], [0.18]) dnl Perform the following tests also if --disable-nls has been given, dnl because they are needed for "make dist" to work. dnl Search for GNU msgfmt in the PATH. dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. dnl The second test excludes FreeBSD msgfmt. AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], :) AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT]) dnl Test whether it is GNU msgfmt >= 0.15. changequote(,)dnl case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; *) MSGFMT_015=$MSGFMT ;; esac changequote([,])dnl AC_SUBST([MSGFMT_015]) changequote(,)dnl case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; *) GMSGFMT_015=$GMSGFMT ;; esac changequote([,])dnl AC_SUBST([GMSGFMT_015]) dnl Search for GNU xgettext 0.12 or newer in the PATH. dnl The first test excludes Solaris xgettext and early GNU xgettext versions. dnl The second test excludes FreeBSD xgettext. AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], :) dnl Remove leftover from FreeBSD xgettext call. rm -f messages.po dnl Test whether it is GNU xgettext >= 0.15. changequote(,)dnl case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; *) XGETTEXT_015=$XGETTEXT ;; esac changequote([,])dnl AC_SUBST([XGETTEXT_015]) dnl Search for GNU msgmerge 0.11 or newer in the PATH. AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :) dnl Installation directories. dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we dnl have to define it here, so that it can be used in po/Makefile. test -n "$localedir" || localedir='${datadir}/locale' AC_SUBST([localedir]) dnl Support for AM_XGETTEXT_OPTION. test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= AC_SUBST([XGETTEXT_EXTRA_OPTIONS]) AC_CONFIG_COMMANDS([po-directories], [[ for ac_file in $CONFIG_FILES; do # Support "outfile[:infile[:infile...]]" case "$ac_file" in *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; esac # PO directories have a Makefile.in generated from Makefile.in.in. case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Treat a directory as a PO directory if and only if it has a # POTFILES.in file. This allows packages to have multiple PO # directories under different names or in different locations. if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then rm -f "$ac_dir/POTFILES" test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" POMAKEFILEDEPS="POTFILES.in" # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend # on $ac_dir but don't depend on user-specified configuration # parameters. if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then # The LINGUAS file contains the set of available languages. if test -n "$OBSOLETE_ALL_LINGUAS"; then test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' fi # Compute POFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) # Compute UPDATEPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) # Compute DUMMYPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) # Compute GMOFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) case "$ac_given_srcdir" in .) srcdirpre= ;; *) srcdirpre='$(srcdir)/' ;; esac POFILES= UPDATEPOFILES= DUMMYPOFILES= GMOFILES= for lang in $ALL_LINGUAS; do POFILES="$POFILES $srcdirpre$lang.po" UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" DUMMYPOFILES="$DUMMYPOFILES $lang.nop" GMOFILES="$GMOFILES $srcdirpre$lang.gmo" done # CATALOGS depends on both $ac_dir and the user's LINGUAS # environment variable. INST_LINGUAS= if test -n "$ALL_LINGUAS"; then for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "$LINGUAS"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then INST_LINGUAS="$INST_LINGUAS $presentlang" fi done fi CATALOGS= if test -n "$INST_LINGUAS"; then for lang in $INST_LINGUAS; do CATALOGS="$CATALOGS $lang.gmo" done fi test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do if test -f "$f"; then case "$f" in *.orig | *.bak | *~) ;; *) cat "$f" >> "$ac_dir/Makefile" ;; esac fi done fi ;; esac done]], [# Capture the value of obsolete ALL_LINGUAS because we need it to compute # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it # from automake < 1.5. eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' # Capture the value of LINGUAS because we need it to compute CATALOGS. LINGUAS="${LINGUAS-%UNSET%}" ]) ]) dnl Postprocesses a Makefile in a directory containing PO files. AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE], [ # When this code is run, in config.status, two variables have already been # set: # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in, # - LINGUAS is the value of the environment variable LINGUAS at configure # time. changequote(,)dnl # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Find a way to echo strings without interpreting backslash. if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then gt_echo='echo' else if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then gt_echo='printf %s\n' else echo_func () { cat < "$ac_file.tmp" if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then # Add dependencies that cannot be formulated as a simple suffix rule. for lang in $ALL_LINGUAS; do frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` cat >> "$ac_file.tmp" < /dev/null; then # Add dependencies that cannot be formulated as a simple suffix rule. for lang in $ALL_LINGUAS; do frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` cat >> "$ac_file.tmp" <> "$ac_file.tmp" < 3]), [1], [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl [[m4_foreach([_Lt_prefix], [$2], [m4_foreach([_Lt_suffix], ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) # lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) # ----------------------------------------------------------------------- # Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited # by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. m4_define([lt_if_append_uniq], [m4_ifdef([$1], [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], [lt_append([$1], [$2], [$3])$4], [$5])], [lt_append([$1], [$2], [$3])$4])]) # lt_dict_add(DICT, KEY, VALUE) # ----------------------------- m4_define([lt_dict_add], [m4_define([$1($2)], [$3])]) # lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) # -------------------------------------------- m4_define([lt_dict_add_subkey], [m4_define([$1($2:$3)], [$4])]) # lt_dict_fetch(DICT, KEY, [SUBKEY]) # ---------------------------------- m4_define([lt_dict_fetch], [m4_ifval([$3], m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) # lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) # ----------------------------------------------------------------- m4_define([lt_if_dict_fetch], [m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], [$5], [$6])]) # lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) # -------------------------------------------------------------- m4_define([lt_dict_filter], [m4_if([$5], [], [], [lt_join(m4_quote(m4_default([$4], [[, ]])), lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl ]) parted-2.3/m4/long-options.m40000644000000000000000000000063411370541032012735 00000000000000# long-options.m4 serial 5 dnl Copyright (C) 2002-2003, 2005-2006, 2009-2010 Free Software Foundation, dnl 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. AC_DEFUN([gl_LONG_OPTIONS], [ AC_LIBOBJ([long-options]) dnl Prerequisites of lib/long-options.c. ]) parted-2.3/m4/locale-fr.m40000644000000000000000000001642611370541032012157 00000000000000# locale-fr.m4 serial 11 dnl Copyright (C) 2003, 2005-2010 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 Determine the name of a french locale with traditional encoding. AC_DEFUN([gt_LOCALE_FR], [ AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AM_LANGINFO_CODESET]) AC_CACHE_CHECK([for a traditional french locale], [gt_cv_locale_fr], [ AC_LANG_CONFTEST([AC_LANG_SOURCE([ changequote(,)dnl #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { /* Check whether the given locale name is recognized by the system. */ if (setlocale (LC_ALL, "") == NULL) return 1; /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only one byte long. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1; /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; return 0; } changequote([,])dnl ])]) if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO-8859-1 else # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name. if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO8859-1 else # Test for the HP-UX locale name. if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.iso88591 else # Test for the Solaris 7 locale name. if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr else # None found. gt_cv_locale_fr=none fi fi fi fi fi fi rm -fr conftest* ]) LOCALE_FR=$gt_cv_locale_fr AC_SUBST([LOCALE_FR]) ]) dnl Determine the name of a french locale with UTF-8 encoding. AC_DEFUN([gt_LOCALE_FR_UTF8], [ AC_REQUIRE([AM_LANGINFO_CODESET]) AC_CACHE_CHECK([for a french Unicode locale], [gt_cv_locale_fr_utf8], [ AC_LANG_CONFTEST([AC_LANG_SOURCE([ changequote(,)dnl #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl imitates locale dependent behaviour by looking at the environment variables, and all locales use the UTF-8 encoding. */ #if !(defined __BEOS__ || defined __HAIKU__) /* Check whether the given locale name is recognized by the system. */ if (setlocale (LC_ALL, "") == NULL) return 1; /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ # if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } # endif # ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; # endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is two bytes long, with UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 4 || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v') return 1; #endif /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; return 0; } changequote([,])dnl ])]) if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr_FR.UTF-8 else # Test for the Solaris 7 locale name. if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr.UTF-8 else # None found. gt_cv_locale_fr_utf8=none fi fi fi fi rm -fr conftest* ]) LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8 AC_SUBST([LOCALE_FR_UTF8]) ]) parted-2.3/m4/locale-tr.m40000644000000000000000000000742411370541032012173 00000000000000# locale-tr.m4 serial 6 dnl Copyright (C) 2003, 2005-2010 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 Determine the name of a turkish locale with UTF-8 encoding. AC_DEFUN([gt_LOCALE_TR_UTF8], [ AC_REQUIRE([AM_LANGINFO_CODESET]) AC_CACHE_CHECK([for a turkish Unicode locale], [gt_cv_locale_tr_utf8], [ AC_LANG_CONFTEST([AC_LANG_SOURCE([ changequote(,)dnl #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { /* On BeOS, locales are not implemented in libc. Rather, libintl imitates locale dependent behaviour by looking at the environment variables, and all locales use the UTF-8 encoding. But BeOS does not implement the Turkish upper-/lowercase mappings. Therefore, let this program return 1 on BeOS. */ /* Check whether the given locale name is recognized by the system. */ if (setlocale (LC_ALL, "") == NULL) return 1; /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On MacOS X 10.3.5 (Darwin 7.5) in the tr_TR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in the abbreviation of the eighth month, the second character (should be U+011F: LATIN SMALL LETTER G WITH BREVE) is two bytes long, with UTF-8 encoding. */ t.tm_year = 1992 - 1900; t.tm_mon = 8 - 1; t.tm_mday = 19; if (strftime (buf, sizeof (buf), "%b", &t) < 4 || buf[1] != (char) 0xc4 || buf[2] != (char) 0x9f) return 1; /* Check whether the upper-/lowercase mappings are as expected for Turkish. */ if (towupper ('i') != 0x0130 || towlower (0x0130) != 'i' || towupper(0x0131) != 'I' || towlower ('I') != 0x0131) return 1; return 0; } changequote([,])dnl ])]) if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=tr_TR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_tr_utf8=tr_TR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=tr_TR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_tr_utf8=tr_TR.UTF-8 else # Test for the Solaris 7 locale name. if (LC_ALL=tr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_tr_utf8=tr.UTF-8 else # None found. gt_cv_locale_tr_utf8=none fi fi fi else gt_cv_locale_tr_utf8=none fi rm -fr conftest* ]) LOCALE_TR_UTF8=$gt_cv_locale_tr_utf8 AC_SUBST([LOCALE_TR_UTF8]) ]) parted-2.3/m4/nl_langinfo.m40000644000000000000000000000144611370541032012575 00000000000000# nl_langinfo.m4 serial 3 dnl Copyright (C) 2009, 2010 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. AC_DEFUN([gl_FUNC_NL_LANGINFO], [ AC_REQUIRE([gl_LANGINFO_H_DEFAULTS]) AC_REQUIRE([gl_LANGINFO_H]) AC_CHECK_FUNCS_ONCE([nl_langinfo]) if test $ac_cv_func_nl_langinfo = yes; then if test $HAVE_LANGINFO_CODESET = 1 && test $HAVE_LANGINFO_ERA = 1; then : else REPLACE_NL_LANGINFO=1 AC_DEFINE([REPLACE_NL_LANGINFO], [1], [Define if nl_langinfo exists but is overridden by gnulib.]) AC_LIBOBJ([nl_langinfo]) fi else HAVE_NL_LANGINFO=0 AC_LIBOBJ([nl_langinfo]) fi ]) parted-2.3/m4/lt~obsolete.m40000644000000000000000000001375611400005557012671 00000000000000# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- # # Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc. # Written by Scott James Remnant, 2004. # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 4 lt~obsolete.m4 # These exist entirely to fool aclocal when bootstrapping libtool. # # In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) # which have later been changed to m4_define as they aren't part of the # exported API, or moved to Autoconf or Automake where they belong. # # The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN # in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us # using a macro with the same name in our local m4/libtool.m4 it'll # pull the old libtool.m4 in (it doesn't see our shiny new m4_define # and doesn't know about Autoconf macros at all.) # # So we provide this file, which has a silly filename so it's always # included after everything else. This provides aclocal with the # AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything # because those macros already exist, or will be overwritten later. # We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. # # Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. # Yes, that means every name once taken will need to remain here until # we give up compatibility with versions before 1.7, at which point # we need to keep only those names which we still refer to. # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])]) m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])]) m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])]) m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])]) m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) parted-2.3/m4/gnulib-common.m40000644000000000000000000002023311370541032013050 00000000000000# gnulib-common.m4 serial 20 dnl Copyright (C) 2007-2010 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. # gl_COMMON # is expanded unconditionally through gnulib-tool magic. AC_DEFUN([gl_COMMON], [ dnl Use AC_REQUIRE here, so that the code is expanded once only. AC_REQUIRE([gl_00GNULIB]) AC_REQUIRE([gl_COMMON_BODY]) ]) AC_DEFUN([gl_COMMON_BODY], [ AH_VERBATIM([isoc99_inline], [/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. __APPLE__ && __MACH__ test for MacOS X. __APPLE_CC__ tests for the Apple compiler and its version. __STDC_VERSION__ tests for the C99 mode. */ #if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ # define __GNUC_STDC_INLINE__ 1 #endif]) AH_VERBATIM([unused_parameter], [/* Define as a marker that can be attached to declarations that might not be used. This helps to reduce warnings, such as from GCC -Wunused-parameter. */ #if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) # define _GL_UNUSED __attribute__ ((__unused__)) #else # define _GL_UNUSED #endif /* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name is a misnomer outside of parameter lists. */ #define _UNUSED_PARAMETER_ _GL_UNUSED ]) dnl Preparation for running test programs: dnl Tell glibc to write diagnostics from -D_FORTIFY_SOURCE=2 to stderr, not dnl to /dev/tty, so they can be redirected to log files. Such diagnostics dnl arise e.g., in the macros gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N. LIBC_FATAL_STDERR_=1 export LIBC_FATAL_STDERR_ ]) # gl_MODULE_INDICATOR_CONDITION # expands to a C preprocessor expression that evaluates to 1 or 0, depending # whether a gnulib module that has been requested shall be considered present # or not. AC_DEFUN([gl_MODULE_INDICATOR_CONDITION], [1]) # gl_MODULE_INDICATOR_SET_VARIABLE([modulename]) # sets the shell variable that indicates the presence of the given module to # a C preprocessor expression that will evaluate to 1. AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE], [ GNULIB_[]m4_translit([[$1]], [abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=gl_MODULE_INDICATOR_CONDITION ]) # gl_MODULE_INDICATOR([modulename]) # defines a C macro indicating the presence of the given module # in a location where it can be used. # | Value | Value | # | in lib/ | in tests/ | # --------------------------------------------+---------+-----------+ # Module present among main modules: | 1 | 1 | # --------------------------------------------+---------+-----------+ # Module present among tests-related modules: | 0 | 1 | # --------------------------------------------+---------+-----------+ # Module not present at all: | 0 | 0 | # --------------------------------------------+---------+-----------+ AC_DEFUN([gl_MODULE_INDICATOR], [ AC_DEFINE_UNQUOTED([GNULIB_]m4_translit([[$1]], [abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___]), [gl_MODULE_INDICATOR_CONDITION], [Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module $1 shall be considered present.]) ]) # gl_MODULE_INDICATOR_FOR_TESTS([modulename]) # defines a C macro indicating the presence of the given module # in lib or tests. This is useful to determine whether the module # should be tested. # | Value | Value | # | in lib/ | in tests/ | # --------------------------------------------+---------+-----------+ # Module present among main modules: | 1 | 1 | # --------------------------------------------+---------+-----------+ # Module present among tests-related modules: | 1 | 1 | # --------------------------------------------+---------+-----------+ # Module not present at all: | 0 | 0 | # --------------------------------------------+---------+-----------+ AC_DEFUN([gl_MODULE_INDICATOR_FOR_TESTS], [ AC_DEFINE([GNULIB_TEST_]m4_translit([[$1]], [abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___]), [1], [Define to 1 when the gnulib module $1 should be tested.]) ]) # m4_foreach_w # is a backport of autoconf-2.59c's m4_foreach_w. # Remove this macro when we can assume autoconf >= 2.60. m4_ifndef([m4_foreach_w], [m4_define([m4_foreach_w], [m4_foreach([$1], m4_split(m4_normalize([$2]), [ ]), [$3])])]) # AS_VAR_IF(VAR, VALUE, [IF-MATCH], [IF-NOT-MATCH]) # ---------------------------------------------------- # Backport of autoconf-2.63b's macro. # Remove this macro when we can assume autoconf >= 2.64. m4_ifndef([AS_VAR_IF], [m4_define([AS_VAR_IF], [AS_IF([test x"AS_VAR_GET([$1])" = x""$2], [$3], [$4])])]) # AC_PROG_MKDIR_P # is a backport of autoconf-2.60's AC_PROG_MKDIR_P, with a fix # for interoperability with automake-1.9.6 from autoconf-2.62. # Remove this macro when we can assume autoconf >= 2.62 or # autoconf >= 2.60 && automake >= 1.10. m4_ifdef([AC_PROG_MKDIR_P], [ dnl For automake-1.9.6 && autoconf < 2.62: Ensure MKDIR_P is AC_SUBSTed. m4_define([AC_PROG_MKDIR_P], m4_defn([AC_PROG_MKDIR_P])[ AC_SUBST([MKDIR_P])])], [ dnl For autoconf < 2.60: Backport of AC_PROG_MKDIR_P. AC_DEFUN_ONCE([AC_PROG_MKDIR_P], [AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake MKDIR_P='$(mkdir_p)' AC_SUBST([MKDIR_P])])]) # AC_C_RESTRICT # This definition overrides the AC_C_RESTRICT macro from autoconf 2.60..2.61, # so that mixed use of GNU C and GNU C++ and mixed use of Sun C and Sun C++ # works. # This definition can be removed once autoconf >= 2.62 can be assumed. m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.62]),[-1],[ AC_DEFUN([AC_C_RESTRICT], [AC_CACHE_CHECK([for C/C++ restrict keyword], [ac_cv_c_restrict], [ac_cv_c_restrict=no # The order here caters to the fact that C++ does not require restrict. for ac_kw in __restrict __restrict__ _Restrict restrict; do AC_COMPILE_IFELSE([AC_LANG_PROGRAM( [[typedef int * int_ptr; int foo (int_ptr $ac_kw ip) { return ip[0]; }]], [[int s[1]; int * $ac_kw t = s; t[0] = 0; return foo(t)]])], [ac_cv_c_restrict=$ac_kw]) test "$ac_cv_c_restrict" != no && break done ]) AH_VERBATIM([restrict], [/* Define to the equivalent of the C99 'restrict' keyword, or to nothing if this is not supported. Do not define if restrict is supported directly. */ #undef restrict /* Work around a bug in Sun C++: it does not support _Restrict, even though the corresponding Sun C compiler does, which causes "#define restrict _Restrict" in the previous line. Perhaps some future version of Sun C++ will work with _Restrict; if so, it'll probably define __RESTRICT, just as Sun C does. */ #if defined __SUNPRO_CC && !defined __RESTRICT # define _Restrict #endif]) case $ac_cv_c_restrict in restrict) ;; no) AC_DEFINE([restrict], []) ;; *) AC_DEFINE_UNQUOTED([restrict], [$ac_cv_c_restrict]) ;; esac ]) ]) # gl_BIGENDIAN # is like AC_C_BIGENDIAN, except that it can be AC_REQUIREd. # Note that AC_REQUIRE([AC_C_BIGENDIAN]) does not work reliably because some # macros invoke AC_C_BIGENDIAN with arguments. AC_DEFUN([gl_BIGENDIAN], [ AC_C_BIGENDIAN ]) # gl_CACHE_VAL_SILENT(cache-id, command-to-set-it) # is like AC_CACHE_VAL(cache-id, command-to-set-it), except that it does not # output a spurious "(cached)" mark in the midst of other configure output. # This macro should be used instead of AC_CACHE_VAL when it is not surrounded # by an AC_MSG_CHECKING/AC_MSG_RESULT pair. AC_DEFUN([gl_CACHE_VAL_SILENT], [ saved_as_echo_n="$as_echo_n" as_echo_n=':' AC_CACHE_VAL([$1], [$2]) as_echo_n="$saved_as_echo_n" ]) parted-2.3/m4/locale-zh.m40000644000000000000000000000666711370541032012177 00000000000000# locale-zh.m4 serial 6 dnl Copyright (C) 2003, 2005-2010 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 Determine the name of a chinese locale with GB18030 encoding. AC_DEFUN([gt_LOCALE_ZH_CN], [ AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AM_LANGINFO_CODESET]) AC_CACHE_CHECK([for a transitional chinese locale], [gt_cv_locale_zh_CN], [ AC_LANG_CONFTEST([AC_LANG_SOURCE([ changequote(,)dnl #include #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { const char *p; /* Check whether the given locale name is recognized by the system. */ if (setlocale (LC_ALL, "") == NULL) return 1; /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; for (p = buf; *p != '\0'; p++) if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) return 1; /* Check whether a typical GB18030 multibyte sequence is recognized as a single wide character. This excludes the GB2312 and GBK encodings. */ if (mblen ("\203\062\332\066", 5) != 4) return 1; return 0; } changequote([,])dnl ])]) if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the locale name without encoding suffix. if (LC_ALL=zh_CN LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_zh_CN=zh_CN else # Test for the locale name with explicit encoding suffix. if (LC_ALL=zh_CN.GB18030 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_zh_CN=zh_CN.GB18030 else # None found. gt_cv_locale_zh_CN=none fi fi else # If there was a link error, due to mblen(), the system is so old that # it certainly doesn't have a chinese locale. gt_cv_locale_zh_CN=none fi rm -fr conftest* ]) LOCALE_ZH_CN=$gt_cv_locale_zh_CN AC_SUBST([LOCALE_ZH_CN]) ]) parted-2.3/m4/lstat.m40000644000000000000000000000156311370541032011436 00000000000000# serial 20 # Copyright (C) 1997-2001, 2003-2010 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. dnl From Jim Meyering. AC_DEFUN([gl_FUNC_LSTAT], [ AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) dnl If lstat does not exist, the replacement does dnl "#define lstat stat", and lstat.c is a no-op. AC_CHECK_FUNCS_ONCE([lstat]) if test $ac_cv_func_lstat = yes; then AC_REQUIRE([AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK]) if test $ac_cv_func_lstat_dereferences_slashed_symlink = no; then dnl Note: AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK does AC_LIBOBJ([lstat]). REPLACE_LSTAT=1 fi # Prerequisites of lib/lstat.c. AC_REQUIRE([AC_C_INLINE]) else HAVE_LSTAT=0 fi ]) parted-2.3/m4/open.m40000644000000000000000000000415611370541032011251 00000000000000# open.m4 serial 8 dnl Copyright (C) 2007-2010 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. AC_DEFUN([gl_FUNC_OPEN], [ AC_REQUIRE([AC_CANONICAL_HOST]) case "$host_os" in mingw* | pw*) gl_REPLACE_OPEN ;; *) dnl open("foo/") should not create a file when the file name has a dnl trailing slash. FreeBSD only has the problem on symlinks. AC_CHECK_FUNCS_ONCE([lstat]) AC_CACHE_CHECK([whether open recognizes a trailing slash], [gl_cv_func_open_slash], [# Assume that if we have lstat, we can also check symlinks. if test $ac_cv_func_lstat = yes; then touch conftest.tmp ln -s conftest.tmp conftest.lnk fi AC_TRY_RUN([ #include #if HAVE_UNISTD_H # include #endif int main () { #if HAVE_LSTAT if (open ("conftest.lnk/", O_RDONLY) != -1) return 2; #endif return open ("conftest.sl/", O_CREAT, 0600) >= 0; }], [gl_cv_func_open_slash=yes], [gl_cv_func_open_slash=no], [ changequote(,)dnl case "$host_os" in freebsd*) gl_cv_func_open_slash="guessing no" ;; solaris2.[0-9]*) gl_cv_func_open_slash="guessing no" ;; hpux*) gl_cv_func_open_slash="guessing no" ;; *) gl_cv_func_open_slash="guessing yes" ;; esac changequote([,])dnl ]) rm -f conftest.sl conftest.tmp conftest.lnk ]) case "$gl_cv_func_open_slash" in *no) AC_DEFINE([OPEN_TRAILING_SLASH_BUG], [1], [Define to 1 if open() fails to recognize a trailing slash.]) gl_REPLACE_OPEN ;; esac ;; esac ]) AC_DEFUN([gl_REPLACE_OPEN], [ AC_REQUIRE([gl_FCNTL_H_DEFAULTS]) REPLACE_OPEN=1 AC_LIBOBJ([open]) gl_PREREQ_OPEN ]) # Prerequisites of lib/open.c. AC_DEFUN([gl_PREREQ_OPEN], [ AC_REQUIRE([AC_C_INLINE]) AC_REQUIRE([gl_PROMOTED_TYPE_MODE_T]) : ]) parted-2.3/m4/fsync.m40000644000000000000000000000103711370541032011425 00000000000000# fsync.m4 serial 1 dnl Copyright (C) 2008-2010 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. AC_DEFUN([gl_FUNC_FSYNC], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_CHECK_FUNCS_ONCE([fsync]) if test $ac_cv_func_fsync = no; then HAVE_FSYNC=0 AC_LIBOBJ([fsync]) gl_PREREQ_FSYNC fi ]) # Prerequisites of lib/fsync.c. AC_DEFUN([gl_PREREQ_FSYNC], [:]) parted-2.3/m4/getopt.m40000644000000000000000000002245511370541032011614 00000000000000# getopt.m4 serial 28 dnl Copyright (C) 2002-2006, 2008-2010 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. # Request a POSIX compliant getopt function. AC_DEFUN([gl_FUNC_GETOPT_POSIX], [ m4_divert_text([DEFAULTS], [gl_getopt_required=POSIX]) AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) gl_GETOPT_IFELSE([ gl_REPLACE_GETOPT ], []) ]) # Request a POSIX compliant getopt function with GNU extensions (such as # options with optional arguments) and the functions getopt_long, # getopt_long_only. AC_DEFUN([gl_FUNC_GETOPT_GNU], [ m4_divert_text([INIT_PREPARE], [gl_getopt_required=GNU]) AC_REQUIRE([gl_FUNC_GETOPT_POSIX]) ]) # Request the gnulib implementation of the getopt functions unconditionally. # argp.m4 uses this. AC_DEFUN([gl_REPLACE_GETOPT], [ dnl Arrange for getopt.h to be created. gl_GETOPT_SUBSTITUTE_HEADER dnl Arrange for unistd.h to include getopt.h. GNULIB_UNISTD_H_GETOPT=1 dnl Arrange to compile the getopt implementation. AC_LIBOBJ([getopt]) AC_LIBOBJ([getopt1]) gl_PREREQ_GETOPT ]) # emacs' configure.in uses this. AC_DEFUN([gl_GETOPT_IFELSE], [ AC_REQUIRE([gl_GETOPT_CHECK_HEADERS]) AS_IF([test -n "$gl_replace_getopt"], [$1], [$2]) ]) # Determine whether to replace the entire getopt facility. AC_DEFUN([gl_GETOPT_CHECK_HEADERS], [ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles dnl Persuade Solaris to declare optarg, optind, opterr, optopt. AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) gl_CHECK_NEXT_HEADERS([getopt.h]) AC_CHECK_HEADERS_ONCE([getopt.h]) if test $ac_cv_header_getopt_h = yes; then HAVE_GETOPT_H=1 else HAVE_GETOPT_H=0 fi AC_SUBST([HAVE_GETOPT_H]) gl_replace_getopt= dnl Test whether is available. if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then AC_CHECK_HEADERS([getopt.h], [], [gl_replace_getopt=yes]) fi dnl Test whether the function getopt_long is available. if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then AC_CHECK_FUNCS([getopt_long_only], [], [gl_replace_getopt=yes]) fi dnl BSD getopt_long uses an incompatible method to reset option processing. dnl Existence of the variable, in and of itself, is not a reason to replace dnl getopt, but knowledge of the variable is needed to determine how to dnl reset and whether a reset reparses the environment. dnl Solaris supports neither optreset nor optind=0, but keeps no state that dnl needs a reset beyond setting optind=1; detect Solaris by getopt_clip. if test -z "$gl_replace_getopt"; then AC_CHECK_DECLS([optreset], [], [AC_CHECK_DECLS([getopt_clip], [], [], [[#include ]]) ], [[#include ]]) fi dnl mingw's getopt (in libmingwex.a) does weird things when the options dnl strings starts with '+' and it's not the first call. Some internal state dnl is left over from earlier calls, and neither setting optind = 0 nor dnl setting optreset = 1 get rid of this internal state. dnl POSIX is silent on optind vs. optreset, so we allow either behavior. dnl POSIX 2008 does not specify leading '+' behavior, but see dnl http://austingroupbugs.net/view.php?id=191 for a recommendation on dnl the next version of POSIX. For now, we only guarantee leading '+' dnl behavior with getopt-gnu. if test -z "$gl_replace_getopt"; then AC_CACHE_CHECK([whether getopt is POSIX compatible], [gl_cv_func_getopt_posix], [ dnl This test fails on mingw and succeeds on all other platforms. AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include #include #include #if !HAVE_DECL_OPTRESET && !HAVE_DECL_GETOPT_CLIP # define OPTIND_MIN 0 #else # define OPTIND_MIN 1 #endif int main () { { int argc = 0; char *argv[10]; int c; argv[argc++] = "program"; argv[argc++] = "-a"; argv[argc++] = "foo"; argv[argc++] = "bar"; argv[argc] = NULL; optind = OPTIND_MIN; opterr = 0; c = getopt (argc, argv, "ab"); if (!(c == 'a')) return 1; c = getopt (argc, argv, "ab"); if (!(c == -1)) return 2; if (!(optind == 2)) return 3; } /* Some internal state exists at this point. */ { int argc = 0; char *argv[10]; int c; argv[argc++] = "program"; argv[argc++] = "donald"; argv[argc++] = "-p"; argv[argc++] = "billy"; argv[argc++] = "duck"; argv[argc++] = "-a"; argv[argc++] = "bar"; argv[argc] = NULL; optind = OPTIND_MIN; opterr = 0; c = getopt (argc, argv, "+abp:q:"); if (!(c == -1)) return 4; if (!(strcmp (argv[0], "program") == 0)) return 5; if (!(strcmp (argv[1], "donald") == 0)) return 6; if (!(strcmp (argv[2], "-p") == 0)) return 7; if (!(strcmp (argv[3], "billy") == 0)) return 8; if (!(strcmp (argv[4], "duck") == 0)) return 9; if (!(strcmp (argv[5], "-a") == 0)) return 10; if (!(strcmp (argv[6], "bar") == 0)) return 11; if (!(optind == 1)) return 12; } /* Detect MacOS 10.5 bug. */ { char *argv[3] = { "program", "-ab", NULL }; optind = OPTIND_MIN; opterr = 0; if (getopt (2, argv, "ab:") != 'a') return 13; if (getopt (2, argv, "ab:") != '?') return 14; if (optopt != 'b') return 15; if (optind != 2) return 16; } return 0; } ]])], [gl_cv_func_getopt_posix=yes], [gl_cv_func_getopt_posix=no], [case "$host_os" in mingw*) gl_cv_func_getopt_posix="guessing no";; darwin*) gl_cv_func_getopt_posix="guessing no";; *) gl_cv_func_getopt_posix="guessing yes";; esac ]) ]) case "$gl_cv_func_getopt_posix" in *no) gl_replace_getopt=yes ;; esac fi if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then AC_CACHE_CHECK([for working GNU getopt function], [gl_cv_func_getopt_gnu], [# Even with POSIXLY_CORRECT, the GNU extension of leading '-' in the # optstring is necessary for programs like m4 that have POSIX-mandated # semantics for supporting options interspersed with files. # Also, since getopt_long is a GNU extension, we require optind=0. gl_had_POSIXLY_CORRECT=${POSIXLY_CORRECT:+yes} POSIXLY_CORRECT=1 export POSIXLY_CORRECT AC_RUN_IFELSE( [AC_LANG_PROGRAM([[#include #include #include ]], [[ /* This code succeeds on glibc 2.8, OpenBSD 4.0, Cygwin, mingw, and fails on MacOS X 10.5, AIX 5.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10. */ { char *myargv[3]; myargv[0] = "conftest"; myargv[1] = "-+"; myargv[2] = 0; opterr = 0; if (getopt (2, myargv, "+a") != '?') return 1; } /* This code succeeds on glibc 2.8, mingw, and fails on MacOS X 10.5, OpenBSD 4.0, AIX 5.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x. */ { char *argv[] = { "program", "-p", "foo", "bar", NULL }; optind = 1; if (getopt (4, argv, "p::") != 'p') return 2; if (optarg != NULL) return 3; if (getopt (4, argv, "p::") != -1) return 4; if (optind != 2) return 5; } /* This code succeeds on glibc 2.8 and fails on Cygwin 1.7.0. */ { char *argv[] = { "program", "foo", "-p", NULL }; optind = 0; if (getopt (3, argv, "-p") != 1) return 6; if (getopt (3, argv, "-p") != 'p') return 7; } /* This code fails on glibc 2.11. */ { char *argv[] = { "program", "-b", "-a", NULL }; optind = opterr = 0; if (getopt (3, argv, "+:a:b") != 'b') return 8; if (getopt (3, argv, "+:a:b") != ':') return 9; } return 0; ]])], [gl_cv_func_getopt_gnu=yes], [gl_cv_func_getopt_gnu=no], [dnl Cross compiling. Guess based on host and declarations. case $host_os:$ac_cv_have_decl_optreset in *-gnu*:* | mingw*:*) gl_cv_func_getopt_gnu=no;; *:yes) gl_cv_func_getopt_gnu=no;; *) gl_cv_func_getopt_gnu=yes;; esac ]) if test "$gl_had_POSIXLY_CORRECT" != yes; then AS_UNSET([POSIXLY_CORRECT]) fi ]) if test "$gl_cv_func_getopt_gnu" = "no"; then gl_replace_getopt=yes fi fi ]) # emacs' configure.in uses this. AC_DEFUN([gl_GETOPT_SUBSTITUTE_HEADER], [ GETOPT_H=getopt.h AC_DEFINE([__GETOPT_PREFIX], [[rpl_]], [Define to rpl_ if the getopt replacement functions and variables should be used.]) AC_SUBST([GETOPT_H]) ]) # Prerequisites of lib/getopt*. # emacs' configure.in uses this. AC_DEFUN([gl_PREREQ_GETOPT], [ AC_CHECK_DECLS_ONCE([getenv]) ]) parted-2.3/m4/setenv.m40000644000000000000000000000624311370541032011613 00000000000000# setenv.m4 serial 16 dnl Copyright (C) 2001-2004, 2006-2010 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. AC_DEFUN([gl_FUNC_SETENV], [ AC_REQUIRE([gl_FUNC_SETENV_SEPARATE]) if test $HAVE_SETENV$REPLACE_SETENV != 10; then AC_LIBOBJ([setenv]) fi ]) # Like gl_FUNC_SETENV, except prepare for separate compilation (no AC_LIBOBJ). AC_DEFUN([gl_FUNC_SETENV_SEPARATE], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) AC_CHECK_FUNCS_ONCE([setenv]) if test $ac_cv_func_setenv = no; then HAVE_SETENV=0 else AC_CACHE_CHECK([whether setenv validates arguments], [gl_cv_func_setenv_works], [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include #include #include ]], [[ if (setenv ("", "", 0) != -1) return 1; if (errno != EINVAL) return 2; if (setenv ("a", "=", 1) != 0) return 3; if (strcmp (getenv ("a"), "=") != 0) return 4; ]])], [gl_cv_func_setenv_works=yes], [gl_cv_func_setenv_works=no], [gl_cv_func_setenv_works="guessing no"])]) if test "$gl_cv_func_setenv_works" != yes; then REPLACE_SETENV=1 AC_LIBOBJ([setenv]) fi fi gl_PREREQ_SETENV ]) AC_DEFUN([gl_FUNC_UNSETENV], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) AC_CHECK_FUNCS([unsetenv]) if test $ac_cv_func_unsetenv = no; then HAVE_UNSETENV=0 AC_LIBOBJ([unsetenv]) gl_PREREQ_UNSETENV else dnl Some BSDs return void, failing to do error checking. AC_CACHE_CHECK([for unsetenv() return type], [gt_cv_func_unsetenv_ret], [AC_TRY_COMPILE([#include extern #ifdef __cplusplus "C" #endif #if defined(__STDC__) || defined(__cplusplus) int unsetenv (const char *name); #else int unsetenv(); #endif ], , gt_cv_func_unsetenv_ret='int', gt_cv_func_unsetenv_ret='void')]) if test $gt_cv_func_unsetenv_ret = 'void'; then AC_DEFINE([VOID_UNSETENV], [1], [Define to 1 if unsetenv returns void instead of int.]) REPLACE_UNSETENV=1 AC_LIBOBJ([unsetenv]) fi dnl Solaris 10 unsetenv does not remove all copies of a name. AC_CACHE_CHECK([whether unsetenv works on duplicates], [gl_cv_func_unsetenv_works], [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include ]], [[ char entry[] = "b=2"; if (putenv ((char *) "a=1")) return 1; if (putenv (entry)) return 2; entry[0] = 'a'; unsetenv ("a"); if (getenv ("a")) return 3; ]])], [gl_cv_func_unsetenv_works=yes], [gl_cv_func_unsetenv_works=no], [gl_cv_func_unsetenv_works="guessing no"])]) if test "$gl_cv_func_unsetenv_works" != yes; then REPLACE_UNSETENV=1 AC_LIBOBJ([unsetenv]) fi fi ]) # Prerequisites of lib/setenv.c. AC_DEFUN([gl_PREREQ_SETENV], [ AC_REQUIRE([AC_FUNC_ALLOCA]) AC_REQUIRE([gl_ENVIRON]) AC_CHECK_HEADERS_ONCE([unistd.h]) AC_CHECK_HEADERS([search.h]) AC_CHECK_FUNCS([tsearch]) ]) # Prerequisites of lib/unsetenv.c. AC_DEFUN([gl_PREREQ_UNSETENV], [ AC_REQUIRE([gl_ENVIRON]) AC_CHECK_HEADERS_ONCE([unistd.h]) ]) parted-2.3/m4/inline.m40000644000000000000000000000315511370541032011564 00000000000000# inline.m4 serial 4 dnl Copyright (C) 2006, 2009, 2010 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 Test for the 'inline' keyword or equivalent. dnl Define 'inline' to a supported equivalent, or to nothing if not supported, dnl like AC_C_INLINE does. Also, define HAVE_INLINE if 'inline' or an dnl equivalent is effectively supported, i.e. if the compiler is likely to dnl drop unused 'static inline' functions. AC_DEFUN([gl_INLINE], [ AC_REQUIRE([AC_C_INLINE]) AC_CACHE_CHECK([whether the compiler generally respects inline], [gl_cv_c_inline_effective], [if test $ac_cv_c_inline = no; then gl_cv_c_inline_effective=no else dnl GCC defines __NO_INLINE__ if not optimizing or if -fno-inline is dnl specified. dnl Use AC_COMPILE_IFELSE here, not AC_EGREP_CPP, because the result dnl depends on optimization flags, which can be in CFLAGS. dnl (AC_EGREP_CPP looks only at the CPPFLAGS.) AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[]], [[#ifdef __NO_INLINE__ #error "inline is not effective" #endif]])], [gl_cv_c_inline_effective=yes], [gl_cv_c_inline_effective=no]) fi ]) if test $gl_cv_c_inline_effective = yes; then AC_DEFINE([HAVE_INLINE], [1], [Define to 1 if the compiler supports one of the keywords 'inline', '__inline__', '__inline' and effectively inlines functions marked as such.]) fi ]) parted-2.3/m4/xstrtol.m40000644000000000000000000000057411370541032012027 00000000000000#serial 10 dnl Copyright (C) 2002-2007, 2009-2010 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. AC_DEFUN([gl_XSTRTOL], [ AC_LIBOBJ([xstrtol]) AC_LIBOBJ([xstrtoul]) AC_LIBOBJ([xstrtol-error]) ]) parted-2.3/m4/localcharset.m40000644000000000000000000000112611370541032012746 00000000000000# localcharset.m4 serial 7 dnl Copyright (C) 2002, 2004, 2006, 2009, 2010 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. AC_DEFUN([gl_LOCALCHARSET], [ dnl Prerequisites of lib/localcharset.c. AC_REQUIRE([AM_LANGINFO_CODESET]) AC_REQUIRE([gl_FCNTL_O_FLAGS]) AC_CHECK_DECLS_ONCE([getc_unlocked]) dnl Prerequisites of the lib/Makefile.am snippet. AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([gl_GLIBC21]) ]) parted-2.3/m4/multiarch.m40000644000000000000000000000423611370541032012277 00000000000000# multiarch.m4 serial 5 dnl Copyright (C) 2008, 2009, 2010 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. # Determine whether the compiler is or may be producing universal binaries. # # On MacOS X 10.5 and later systems, the user can create libraries and # executables that work on multiple system types--known as "fat" or # "universal" binaries--by specifying multiple '-arch' options to the # compiler but only a single '-arch' option to the preprocessor. Like # this: # # ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ # CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ # CPP="gcc -E" CXXCPP="g++ -E" # # Detect this situation and set the macro AA_APPLE_UNIVERSAL_BUILD at the # beginning of config.h and set APPLE_UNIVERSAL_BUILD accordingly. AC_DEFUN_ONCE([gl_MULTIARCH], [ dnl Code similar to autoconf-2.63 AC_C_BIGENDIAN. gl_cv_c_multiarch=no AC_COMPILE_IFELSE( [AC_LANG_SOURCE( [[#ifndef __APPLE_CC__ not a universal capable compiler #endif typedef int dummy; ]])], [ dnl Check for potential -arch flags. It is not universal unless dnl there are at least two -arch flags with different values. arch= prev= for word in ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}; do if test -n "$prev"; then case $word in i?86 | x86_64 | ppc | ppc64) if test -z "$arch" || test "$arch" = "$word"; then arch="$word" else gl_cv_c_multiarch=yes fi ;; esac prev= else if test "x$word" = "x-arch"; then prev=arch fi fi done ]) if test $gl_cv_c_multiarch = yes; then AC_DEFINE([AA_APPLE_UNIVERSAL_BUILD], [1], [Define if the compiler is building for multiple architectures of Apple platforms at once.]) APPLE_UNIVERSAL_BUILD=1 else APPLE_UNIVERSAL_BUILD=0 fi AC_SUBST([APPLE_UNIVERSAL_BUILD]) ]) parted-2.3/m4/priv-set.m40000644000000000000000000000057011370541032012055 00000000000000# serial 6 # Copyright (C) 2009, 2010 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Written by David Bartley. AC_DEFUN([gl_PRIV_SET], [ AC_REQUIRE([AC_C_INLINE]) AC_CHECK_FUNCS([getppriv]) ]) parted-2.3/m4/ssize_t.m40000644000000000000000000000137511370541032011770 00000000000000# ssize_t.m4 serial 4 (gettext-0.15) dnl Copyright (C) 2001-2003, 2006, 2009-2010 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 Test whether ssize_t is defined. AC_DEFUN([gt_TYPE_SSIZE_T], [ AC_CACHE_CHECK([for ssize_t], [gt_cv_ssize_t], [AC_TRY_COMPILE([#include ], [int x = sizeof (ssize_t *) + sizeof (ssize_t); return !x;], [gt_cv_ssize_t=yes], [gt_cv_ssize_t=no])]) if test $gt_cv_ssize_t = no; then AC_DEFINE([ssize_t], [int], [Define as a signed type of the same size as size_t.]) fi ]) parted-2.3/m4/wchar_t.m40000644000000000000000000000135311370541032011733 00000000000000# wchar_t.m4 serial 3 (gettext-0.18) dnl Copyright (C) 2002-2003, 2008-2010 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 Test whether has the 'wchar_t' type. dnl Prerequisite: AC_PROG_CC AC_DEFUN([gt_TYPE_WCHAR_T], [ AC_CACHE_CHECK([for wchar_t], [gt_cv_c_wchar_t], [AC_TRY_COMPILE([#include wchar_t foo = (wchar_t)'\0';], , [gt_cv_c_wchar_t=yes], [gt_cv_c_wchar_t=no])]) if test $gt_cv_c_wchar_t = yes; then AC_DEFINE([HAVE_WCHAR_T], [1], [Define if you have the 'wchar_t' type.]) fi ]) parted-2.3/m4/warn-on-use.m40000644000000000000000000000402211370541032012453 00000000000000# warn-on-use.m4 serial 2 dnl Copyright (C) 2010 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. # gl_WARN_ON_USE_PREPARE(INCLUDES, NAMES) # --------------------------------------- # For each whitespace-separated element in the list of NAMES, define # HAVE_RAW_DECL_name if the function has a declaration among INCLUDES # even after being undefined as a macro. # # See warn-on-use.h for some hints on how to poison function names, as # well as ideas on poisoning global variables and macros. NAMES may # include global variables, but remember that only functions work with # _GL_WARN_ON_USE. Typically, INCLUDES only needs to list a single # header, but if the replacement header pulls in other headers because # some systems declare functions in the wrong header, then INCLUDES # should do likewise. # # If you assume C89, then it is generally safe to assume declarations # for functions declared in that standard (such as gets) without # needing gl_WARN_ON_USE_PREPARE. AC_DEFUN([gl_WARN_ON_USE_PREPARE], [ m4_foreach_w([gl_decl], [$2], [AH_TEMPLATE([HAVE_RAW_DECL_]AS_TR_CPP(m4_defn([gl_decl])), [Define to 1 if ]m4_defn([gl_decl])[ is declared even after undefining macros.])])dnl for gl_func in m4_flatten([$2]); do AS_VAR_PUSHDEF([gl_Symbol], [gl_cv_have_raw_decl_$gl_func])dnl AC_CACHE_CHECK([whether $gl_func is declared without a macro], gl_Symbol, [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([$1], [@%:@undef $gl_func (void) $gl_func;])], [AS_VAR_SET(gl_Symbol, [yes])], [AS_VAR_SET(gl_Symbol, [no])])]) AS_VAR_IF(gl_Symbol, [yes], [AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE_RAW_DECL_$gl_func]), [1]) dnl shortcut - if the raw declaration exists, then set a cache dnl variable to allow skipping any later AC_CHECK_DECL efforts eval ac_cv_have_decl_$gl_func=yes]) AS_VAR_POPDEF([gl_Symbol])dnl done ]) parted-2.3/m4/strndup.m40000644000000000000000000000307011370541032012001 00000000000000# strndup.m4 serial 17 dnl Copyright (C) 2002-2003, 2005-2010 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. AC_DEFUN([gl_FUNC_STRNDUP], [ dnl Persuade glibc to declare strndup(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) AC_CHECK_DECLS_ONCE([strndup]) AC_CHECK_FUNCS_ONCE([strndup]) if test $ac_cv_have_decl_strndup = no; then HAVE_DECL_STRNDUP=0 fi if test $ac_cv_func_strndup = yes; then # AIX 4.3.3, AIX 5.1 have a function that fails to add the terminating '\0'. AC_CACHE_CHECK([for working strndup], [gl_cv_func_strndup_works], [AC_RUN_IFELSE([ AC_LANG_PROGRAM([[#include #include ]], [[ #ifndef HAVE_DECL_STRNDUP extern char *strndup (const char *, size_t); #endif char *s; s = strndup ("some longer string", 15); free (s); s = strndup ("shorter string", 13); return s[13] != '\0';]])], [gl_cv_func_strndup_works=yes], [gl_cv_func_strndup_works=no], [case $host_os in aix*) gl_cv_func_strndup_works="guessing no";; *) gl_cv_func_strndup_works="guessing yes";; esac])]) case $gl_cv_func_strndup_works in *no) REPLACE_STRNDUP=1 AC_LIBOBJ([strndup]) ;; esac else AC_LIBOBJ([strndup]) fi ]) parted-2.3/m4/fclose.m40000644000000000000000000000064411370541032011561 00000000000000# fclose.m4 serial 2 dnl Copyright (C) 2008-2010 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. AC_DEFUN([gl_FUNC_FCLOSE], [ ]) AC_DEFUN([gl_REPLACE_FCLOSE], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) REPLACE_FCLOSE=1 AC_LIBOBJ([fclose]) ]) parted-2.3/m4/dos.m40000644000000000000000000000475311370541032011100 00000000000000#serial 11 -*- autoconf -*- # Define some macros required for proper operation of code in lib/*.c # on MSDOS/Windows systems. # Copyright (C) 2000-2001, 2004-2006, 2009-2010 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # From Jim Meyering. AC_DEFUN([gl_AC_DOS], [ AC_CACHE_CHECK([whether system is Windows or MSDOS], [ac_cv_win_or_dos], [ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[ #if !defined _WIN32 && !defined __WIN32__ && !defined __MSDOS__ && !defined __CYGWIN__ neither MSDOS nor Windows #endif]])], [ac_cv_win_or_dos=yes], [ac_cv_win_or_dos=no]) ]) if test x"$ac_cv_win_or_dos" = xyes; then ac_fs_accepts_drive_letter_prefix=1 ac_fs_backslash_is_file_name_separator=1 AC_CACHE_CHECK([whether drive letter can start relative path], [ac_cv_drive_letter_can_be_relative], [ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[ #if defined __CYGWIN__ drive letters are always absolute #endif]])], [ac_cv_drive_letter_can_be_relative=yes], [ac_cv_drive_letter_can_be_relative=no]) ]) if test x"$ac_cv_drive_letter_can_be_relative" = xyes; then ac_fs_drive_letter_can_be_relative=1 else ac_fs_drive_letter_can_be_relative=0 fi else ac_fs_accepts_drive_letter_prefix=0 ac_fs_backslash_is_file_name_separator=0 ac_fs_drive_letter_can_be_relative=0 fi AC_DEFINE_UNQUOTED([FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX], $ac_fs_accepts_drive_letter_prefix, [Define on systems for which file names may have a so-called `drive letter' prefix, define this to compute the length of that prefix, including the colon.]) AH_VERBATIM(ISSLASH, [#if FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR # define ISSLASH(C) ((C) == '/' || (C) == '\\') #else # define ISSLASH(C) ((C) == '/') #endif]) AC_DEFINE_UNQUOTED([FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR], $ac_fs_backslash_is_file_name_separator, [Define if the backslash character may also serve as a file name component separator.]) AC_DEFINE_UNQUOTED([FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE], $ac_fs_drive_letter_can_be_relative, [Define if a drive letter prefix denotes a relative path if it is not followed by a file name component separator.]) ]) parted-2.3/m4/putenv.m40000644000000000000000000000232311370541032011623 00000000000000# putenv.m4 serial 16 dnl Copyright (C) 2002-2010 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 Jim Meyering. dnl dnl Check whether putenv ("FOO") removes FOO from the environment. dnl The putenv in libc on at least SunOS 4.1.4 does *not* do that. AC_DEFUN([gl_FUNC_PUTENV], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) AC_CACHE_CHECK([for putenv compatible with GNU and SVID], [gl_cv_func_svid_putenv], [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],[[ /* Put it in env. */ if (putenv ("CONFTEST_putenv=val")) return 1; /* Try to remove it. */ if (putenv ("CONFTEST_putenv")) return 1; /* Make sure it was deleted. */ if (getenv ("CONFTEST_putenv") != 0) return 1; return 0; ]])], gl_cv_func_svid_putenv=yes, gl_cv_func_svid_putenv=no, dnl When crosscompiling, assume putenv is broken. gl_cv_func_svid_putenv=no) ]) if test $gl_cv_func_svid_putenv = no; then REPLACE_PUTENV=1 AC_LIBOBJ([putenv]) fi ]) parted-2.3/m4/closeout.m40000644000000000000000000000062011370541032012135 00000000000000# closeout.m4 serial 5 dnl Copyright (C) 2002-2003, 2005-2006, 2009-2010 Free Software Foundation, dnl 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. AC_DEFUN([gl_CLOSEOUT], [ AC_LIBOBJ([closeout]) dnl Prerequisites of lib/closeout.c. : ]) parted-2.3/m4/btowc.m40000644000000000000000000000530411370541032011422 00000000000000# btowc.m4 serial 6 dnl Copyright (C) 2008-2010 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. AC_DEFUN([gl_FUNC_BTOWC], [ AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) dnl Check whether is usable at all, first. Otherwise the test dnl program below may lead to an endless loop. See dnl . AC_REQUIRE([gl_WCHAR_H_INLINE_OK]) AC_CHECK_FUNCS_ONCE([btowc]) if test $ac_cv_func_btowc = no; then HAVE_BTOWC=0 else AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([gt_LOCALE_FR]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles dnl Cygwin 1.7.2 btowc('\0') is WEOF, not 0. AC_CACHE_CHECK([whether btowc(0) is correct], [gl_cv_func_btowc_nul], [ AC_TRY_RUN([ #include #include #include int main () { if (btowc ('\0') != 0) return 1; return 0; }], [gl_cv_func_btowc_nul=yes], [gl_cv_func_btowc_nul=no], [ changequote(,)dnl case "$host_os" in # Guess no on Cygwin. cygwin*) gl_cv_func_btowc_nul="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_btowc_nul="guessing yes" ;; esac changequote([,])dnl ]) ]) dnl IRIX 6.5 btowc(EOF) is 0xFF, not WEOF. AC_CACHE_CHECK([whether btowc(EOF) is correct], [gl_cv_func_btowc_eof], [ dnl Initial guess, used when cross-compiling or when no suitable locale dnl is present. changequote(,)dnl case "$host_os" in # Guess no on IRIX. irix*) gl_cv_func_btowc_eof="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_btowc_eof="guessing yes" ;; esac changequote([,])dnl if test $LOCALE_FR != none; then AC_TRY_RUN([ #include #include #include #include int main () { if (setlocale (LC_ALL, "$LOCALE_FR") != NULL) { if (btowc (EOF) != WEOF) return 1; } return 0; }], [gl_cv_func_btowc_eof=yes], [gl_cv_func_btowc_eof=no], [:]) fi ]) case "$gl_cv_func_btowc_nul" in *yes) ;; *) REPLACE_BTOWC=1 ;; esac case "$gl_cv_func_btowc_eof" in *yes) ;; *) REPLACE_BTOWC=1 ;; esac fi if test $HAVE_BTOWC = 0 || test $REPLACE_BTOWC = 1; then gl_REPLACE_WCHAR_H AC_LIBOBJ([btowc]) gl_PREREQ_BTOWC fi ]) # Prerequisites of lib/btowc.c. AC_DEFUN([gl_PREREQ_BTOWC], [ : ]) parted-2.3/m4/mmap-anon.m40000644000000000000000000000411211370541032012163 00000000000000# mmap-anon.m4 serial 8 dnl Copyright (C) 2005, 2007, 2009-2010 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. # Detect how mmap can be used to create anonymous (not file-backed) memory # mappings. # - On Linux, AIX, OSF/1, Solaris, Cygwin, Interix, Haiku, both MAP_ANONYMOUS # and MAP_ANON exist and have the same value. # - On HP-UX, only MAP_ANONYMOUS exists. # - On MacOS X, FreeBSD, NetBSD, OpenBSD, only MAP_ANON exists. # - On IRIX, neither exists, and a file descriptor opened to /dev/zero must be # used. AC_DEFUN([gl_FUNC_MMAP_ANON], [ dnl Work around a bug of AC_EGREP_CPP in autoconf-2.57. AC_REQUIRE([AC_PROG_CPP]) AC_REQUIRE([AC_PROG_EGREP]) dnl Persuade glibc to define MAP_ANONYMOUS. AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) # Check for mmap(). Don't use AC_FUNC_MMAP, because it checks too much: it # fails on HP-UX 11, because MAP_FIXED mappings do not work. But this is # irrelevant for anonymous mappings. AC_CHECK_FUNC([mmap], [gl_have_mmap=yes], [gl_have_mmap=no]) # Try to allow MAP_ANONYMOUS. gl_have_mmap_anonymous=no if test $gl_have_mmap = yes; then AC_MSG_CHECKING([for MAP_ANONYMOUS]) AC_EGREP_CPP([I cant identify this map.], [ #include #ifdef MAP_ANONYMOUS I cant identify this map. #endif ], [gl_have_mmap_anonymous=yes]) if test $gl_have_mmap_anonymous != yes; then AC_EGREP_CPP([I cant identify this map.], [ #include #ifdef MAP_ANON I cant identify this map. #endif ], [AC_DEFINE([MAP_ANONYMOUS], [MAP_ANON], [Define to a substitute value for mmap()'s MAP_ANONYMOUS flag.]) gl_have_mmap_anonymous=yes]) fi AC_MSG_RESULT([$gl_have_mmap_anonymous]) if test $gl_have_mmap_anonymous = yes; then AC_DEFINE([HAVE_MAP_ANONYMOUS], [1], [Define to 1 if mmap()'s MAP_ANONYMOUS flag is available after including config.h and .]) fi fi ]) parted-2.3/README0000644000000000000000000000565711271610100010406 00000000000000GNU Parted ---------- GNU Parted is a program for manipulating partition tables. WARNING: USING PARTED TO PERFORM FILE SYSTEM OPERATIONS IS DEPRECATED --------------------------------------------------------------------- Parted retains (for now) the ability to create and modify a few types of file systems, but that functionality is deprecated. Whenever possible, we recommend that you use file-system-specific tools to create and operate on file systems. For example, use the e2fsprogs programs to operate on ext2, ext3 and ext4 file systems. Use programs from the reiserfsprogs package if you want to manipulate reiserfs file systems. Although Parted lets you do some of the same things, the file-system-related code in parted is not as robust as the code in more specialized, FS-specific packages. So far, we have good arguments for retaining the capability to resize FAT and HFS file systems: as far as we know, no other free software provides that functionality. However, all other FS-related functionality will be removed from an upcoming release of Parted. Thus, you should now avoid using the following commands: mkpartfs, mkfs, cp, move, check since support for them will be removed. See the file NEWS for a list of major changes in the current release. * documentation is in the doc/ directory. The User's documentation is in texinfo format, and is built into a format viewable by info/pinfo when you run make. To view the distributed texinfo documentation, run this: $ info -f parted.info Or view it on-line at: http://www.gnu.org/software/parted/manual/parted.html * the GNU Parted home page is http://www.gnu.org/software/parted * the GNU Parted FAQ can be found at http://www.gnu.org/software/parted/faq.html * send bug reports, requests for help, feature requests, comments, etc. to bug-parted@gnu.org. NOTE TO DISTRIBUTIONS --------------------- (1) When compiling Parted for distribution for general use, we recommend using the default configuration: CFLAGS=-Os ./configure This includes --enable-debug (by default), which contains many assertions. Obviously, these "waste" space, but in the past, they have caught potentially dangerous bugs before they would have done damage, so we think it's worth it. Also, it means we get more bug reports ;) (2) When doing dependencies, remember that libreiserfs is a *soft* dependency, so I guess that means Debian-look-alikes should do a "suggests", but not a "requires". (3) When space is important, we suggest --without-readline, --disable-shared, and possibly --disable-nls and --disable-dynamic-loading. If Parted is only going to be used for probing / discovery (and not "editing"), there is a --enable-discovery-only and --disable-fs (when you're only interested in partition tables). Since it's readonly, --enable-debug gains you nothing wrt safety, so use --disable-debug ;) The "discover" program is about 35k (gzipped) when compiled this way (not counting libc and libuuid). parted-2.3/COPYING0000644000000000000000000010437011370314006010557 00000000000000 GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . parted-2.3/TODO0000644000000000000000000001134011274523056010220 00000000000000 See http://wiki.debian.org/Parted === everything below is old and for reference purposes only === * regression tests: - add specific tests for FAT16 -> FAT32, FAT32 -> FAT16, cluster resizing 8k -> 4k, etc. Also, compare output, to catch other "unexpected" errors (like partitions going missing, not that that's ever happened ) * ui: - support a cylinder interface for the masochistic. - warn when partition numbers change (?) in UI? * make *_read() do ped_file_system_probe(), and warn if it isn't sane for the partition ID on-disk. * disk label implementations: - OS/2 DLAT support - read-only flag for Mac partitions, and the macufs partition type - lba flag - default flag? - PC98: relax cylinder boundary restrictions (create conforming partitions, but allow non-conforming partitions ;-) * docs for RAWRITE, etc. * write a summary of operation list things, and get discussion going... * ped_file_system_is_flag_available() * ped_file_system_commit() ? polymorphic operations, with apply() and revert() in memory, and commit all fs's and disk's to commit on-disk. * ped_operation_queue (ped_operation_new (PED_OP_PARTITION_SET_FLAG, ...)), or ped_partition_set_flag() (with a "transparent" queue?) * separate domains libparted and parted (for nls) * merge with partimage.sourceforge.net * merge with gpart * "renumber" * "reconstruct" * "resizepart" * make an errata web page * bootdisk: try getting readline & nls support in, use a newer version of busybox. Also, write some scripts for disk imaging. * Rawrite3 IS free, it seems. Find the source (version 1.3 == version 3), and stick source+bin up on the ftp site. * improve website (check out texinfo. Does it create much autoconfusion?) * /proc/meminfo, mlock() * create an FAQ, and stick lots of examples in it. * ped_file_system_resize_online() * reiser fs (almost there), ntfs support! * when Windows doesn't shut down properly, it knows about it. How? * FAT boot sector reconstruction, in fat_check() - actually, fat_open(), since it won't open properly if it's broken... Tell panov@iacp.vl.ru when done. Perhaps connect this to the front-end via a "force MINOR FS-TYPE" command, since it's sometimes hard to detect broken file systems. * FreeBSD support (get a copy - I want to try it anyway!) * LBA support in boot loader * OS/2 Boot manager * documentation of the internal API, tutorial on external API, and perhaps a bit on how the resizers, etc. work [MOSTLY DONE] * logical sectors (?) byte addressing? * libbootload ? - update LILO/GRUB/Quik * command-line interface: i18n issues, "Yes, No or Cancel?". This issue is hard, for free software in general. We need a community (i.e. mailing list) that specializes in this, IMHO. * ped_geometry_{map|unmap}(), and kill the libparted/fs_ext2 buffer cache * injecting/ejecting partitions into/out of extended partitions. But to keep alignment rules, would have to move the start of the partition. No problem for FAT. Absolute pain for ext2. * ext2 resizer: - add ability to move the start of the file system. - fix "strange layout" problem - add an incompat feature to ext2 that is a special resize-the-start journal, and add support in e2fsck / mount / linux (?) for it. * RAID? LVM? EVMS? grand-unified system TM? * support finding bad-blocks. Use ped_device_check() in ped_geometry_check() * generic resizing/converting with the inplace copy via sparse loopback idea from Serguei Tzukanov * We should be able to compile with -fno-common. However, that leads to this link failure: fs/.libs/libfs.a(fat.o):(.bss+0x0): multiple definition of `fat16' fs/.libs/libfs.a(count.o):(.bss+0x0): first defined here fs/.libs/libfs.a(clstdup.o):(.bss+0x0): multiple definition of `fat16' fs/.libs/libfs.a(count.o):(.bss+0x0): first defined here fs/.libs/libfs.a(table.o):(.bss+0x0): multiple definition of `fat16' fs/.libs/libfs.a(count.o):(.bss+0x0): first defined here fs/.libs/libfs.a(resize.o):(.bss+0x0): multiple definition of `fat16' fs/.libs/libfs.a(count.o):(.bss+0x0): first defined here fs/.libs/libfs.a(calc.o):(.bss+0x0): multiple definition of `fat16' fs/.libs/libfs.a(count.o):(.bss+0x0): first defined here fs/.libs/libfs.a(bootsector.o):(.bss+0x0): multiple definition of `fat16' fs/.libs/libfs.a(count.o):(.bss+0x0): first defined here fs/.libs/libfs.a(traverse.o):(.bss+0x0): multiple definition of `fat16' fs/.libs/libfs.a(count.o):(.bss+0x0): first defined here fs/.libs/libfs.a(fatio.o):(.bss+0x0): multiple definition of `fat16' fs/.libs/libfs.a(count.o):(.bss+0x0): first defined here fs/.libs/libfs.a(context.o):(.bss+0x0): multiple definition of `fat16' fs/.libs/libfs.a(count.o):(.bss+0x0): first defined here collect2: ld returned 1 exit status parted-2.3/debug/0000755000000000000000000000000011400006133010656 500000000000000parted-2.3/debug/clearfat/0000755000000000000000000000000011400006133012437 500000000000000parted-2.3/debug/clearfat/Makefile.am0000644000000000000000000000053711261072715014436 00000000000000noinst_PROGRAMS = clearfat AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) clearfat_SOURCES = clearfat.c clearfat_LDADD = \ $(top_builddir)/libparted/libparted.la \ $(INTLLIBS) $(LIBS) \ $(PARTED_LIBS) partedincludedir = -I$(top_srcdir)/lib -I$(top_srcdir)/include INCLUDES = $(partedincludedir) $(INTLINCS) MAINTAINERCLEANFILES = Makefile.in parted-2.3/debug/clearfat/Makefile.in0000644000000000000000000011464511400005572014445 00000000000000# Makefile.in generated by automake 1.11a from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ noinst_PROGRAMS = clearfat$(EXEEXT) subdir = debug/clearfat DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \ $(top_srcdir)/m4/asm-underscore.m4 $(top_srcdir)/m4/assert.m4 \ $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/calloc.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \ $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/dirname.m4 \ $(top_srcdir)/m4/dos.m4 $(top_srcdir)/m4/double-slash-root.m4 \ $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/extensions.m4 \ $(top_srcdir)/m4/fclose.m4 $(top_srcdir)/m4/fcntl-o.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fpending.m4 \ $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getopt.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \ $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/lib-ignore.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \ $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \ $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/long-options.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \ $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/memchr.m4 \ $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \ $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/o-direct.m4 $(top_srcdir)/m4/open.m4 \ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \ $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/readlink.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/safe-read.m4 \ $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \ $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/symlink.m4 \ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \ $(top_srcdir)/m4/version-etc.m4 \ $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \ $(top_srcdir)/m4/wctype_h.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xstrndup.m4 \ $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/lib/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = PROGRAMS = $(noinst_PROGRAMS) am_clearfat_OBJECTS = clearfat.$(OBJEXT) clearfat_OBJECTS = $(am_clearfat_OBJECTS) am__DEPENDENCIES_1 = clearfat_DEPENDENCIES = $(top_builddir)/libparted/libparted.la \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) AM_V_lt = $(am__v_lt_$(V)) am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) am__v_lt_0 = --silent DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/lib depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_$(V)) am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) am__v_CC_0 = @echo " CC " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_$(V)) am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) am__v_CCLD_0 = @echo " CCLD " $@; AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; SOURCES = $(clearfat_SOURCES) DIST_SOURCES = $(clearfat_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ BUILDINFO = @BUILDINFO@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ CONFIG_INCLUDE = @CONFIG_INCLUDE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DL_LIBS = @DL_LIBS@ DM_LIBS = @DM_LIBS@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENABLE_DEVICE_MAPPER = @ENABLE_DEVICE_MAPPER@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPURGE = @GNULIB_FPURGE@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSTATAT = @GNULIB_FSTATAT@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETGROUPS = @GNULIB_GETGROUPS@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMCHR = @GNULIB_MEMCHR@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDIRAT = @GNULIB_MKDIRAT@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKFIFO = @GNULIB_MKFIFO@ GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@ GNULIB_MKNOD = @GNULIB_MKNOD@ GNULIB_MKNODAT = @GNULIB_MKNODAT@ GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PTSNAME = @GNULIB_PTSNAME@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ GNULIB_RMDIR = @GNULIB_RMDIR@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STAT = @GNULIB_STAT@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNCAT = @GNULIB_STRNCAT@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRPTIME = @GNULIB_STRPTIME@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNLINK = @GNULIB_UNLINK@ GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_USLEEP = @GNULIB_USLEEP@ GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_FUTIMENS = @HAVE_FUTIMENS@ HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETGROUPS = @HAVE_GETGROUPS@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@ HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@ HAVE_LANGINFO_H = @HAVE_LANGINFO_H@ HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LCHOWN = @HAVE_LCHOWN@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LOCALTIME_R = @HAVE_LOCALTIME_R@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_MKFIFO = @HAVE_MKFIFO@ HAVE_MKFIFOAT = @HAVE_MKFIFOAT@ HAVE_MKNOD = @HAVE_MKNOD@ HAVE_MKNODAT = @HAVE_MKNODAT@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ HAVE_OS_H = @HAVE_OS_H@ HAVE_PIPE2 = @HAVE_PIPE2@ HAVE_PREAD = @HAVE_PREAD@ HAVE_PTSNAME = @HAVE_PTSNAME@ HAVE_PWRITE = @HAVE_PWRITE@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TTYNAME_R = @HAVE_TTYNAME_R@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_USLEEP = @HAVE_USLEEP@ HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ HAVE_WCRTOMB = @HAVE_WCRTOMB@ HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE__BOOL = @HAVE__BOOL@ IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ INTLINCS = @INTLINCS@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ LIBTOOL = @LIBTOOL@ LIB_BLKID = @LIB_BLKID@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@ LOCALE_JA = @LOCALE_JA@ LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTALLOCA = @LTALLOCA@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ NEXT_WCTYPE_H = @NEXT_WCTYPE_H@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OS = @OS@ OS_LIBS = @OS_LIBS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PARTEDLDFLAGS = @PARTEDLDFLAGS@ PARTED_LIBS = @PARTED_LIBS@ PARTED_USABLE_TEST_DIR = @PARTED_USABLE_TEST_DIR@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POSUB = @POSUB@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PRIPTR_PREFIX = @PRIPTR_PREFIX@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REISER_LIBS = @REISER_LIBS@ REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FSTAT = @REPLACE_FSTAT@ REPLACE_FSTATAT = @REPLACE_FSTATAT@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ REPLACE_MBRLEN = @REPLACE_MBRLEN@ REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ REPLACE_MBSINIT = @REPLACE_MBSINIT@ REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_OPENAT = @REPLACE_OPENAT@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALPATH = @REPLACE_REALPATH@ REPLACE_REMOVE = @REPLACE_REMOVE@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRNCAT = @REPLACE_STRNCAT@ REPLACE_STRNDUP = @REPLACE_STRNDUP@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ REPLACE_UNSETENV = @REPLACE_UNSETENV@ REPLACE_USLEEP = @REPLACE_USLEEP@ REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ SELINUX_LIBS = @SELINUX_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_NLS = @USE_NLS@ UUID_LIBS = @UUID_LIBS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_aux_dir = @abs_aux_dir@ 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@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ gltests_WITNESS = @gltests_WITNESS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) clearfat_SOURCES = clearfat.c clearfat_LDADD = \ $(top_builddir)/libparted/libparted.la \ $(INTLLIBS) $(LIBS) \ $(PARTED_LIBS) partedincludedir = -I$(top_srcdir)/lib -I$(top_srcdir)/include INCLUDES = $(partedincludedir) $(INTLINCS) MAINTAINERCLEANFILES = Makefile.in all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu debug/clearfat/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu debug/clearfat/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstPROGRAMS: @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list clearfat$(EXEEXT): $(clearfat_OBJECTS) $(clearfat_DEPENDENCIES) @rm -f clearfat$(EXEEXT) $(AM_V_CCLD)$(LINK) $(clearfat_OBJECTS) $(clearfat_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/clearfat.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: $(HEADERS) $(SOURCES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstPROGRAMS cscopelist ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: parted-2.3/debug/clearfat/clearfat.c0000644000000000000000000002025211370314006014314 00000000000000/* clear_fat - a tool to clear unused space (for testing purposes) Copyright (C) 2000, 2007-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include #include #include #include "closeout.h" #include "configmake.h" #include "error.h" #include "long-options.h" #include "progname.h" #include "xstrtol.h" #include "../../libparted/fs/fat/fat.h" #include /* Take care of NLS matters. */ #include "gettext.h" #if ! ENABLE_NLS # undef textdomain # define textdomain(Domainname) /* empty */ # undef bindtextdomain # define bindtextdomain(Domainname, Dirname) /* empty */ #endif #undef _ #define _(msgid) gettext (msgid) #ifndef DISCOVER_ONLY /* The official name of this program (e.g., no `g' prefix). */ #define PROGRAM_NAME "clearfat" #define AUTHORS \ "" static void usage (int status) { if (status != EXIT_SUCCESS) fprintf (stderr, _("Try `%s --help' for more information.\n"), program_name); else { printf (_("\ Usage: %s [OPTION]\n\ or: %s DEVICE MINOR\n"), PROGRAM_NAME, PROGRAM_NAME); fputs (_("\ Clear unused space on a FAT partition (a GNU Parted testing tool).\n\ \n\ "), stdout); fputs (_(" --help display this help and exit\n"), stdout); fputs (_(" --version output version information and exit\n"), stdout); printf (_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT); } exit (status); } #define CLEAR_BUFFER_SIZE (1024 * 1024) #define CLEAR_BUFFER_SECTORS (CLEAR_BUFFER_SIZE/512) static char buffer [CLEAR_BUFFER_SIZE]; /* generic clearing code ***************************************************/ static int _clear_sectors (PedGeometry* geom, PedSector start, PedSector count) { PedSector pos; PedSector to_go = count; for (pos = start; pos < start + count; pos += CLEAR_BUFFER_SECTORS, to_go -= CLEAR_BUFFER_SECTORS) { if (!ped_geometry_write (geom, buffer, start, PED_MIN (CLEAR_BUFFER_SECTORS, to_go))) return 0; } return 1; } static int _clear_sector_range (PedGeometry* geom, PedSector start, PedSector end) { return _clear_sectors (geom, start, end - start + 1); } static int _clear_sector (PedGeometry* geom, PedSector sector) { return _clear_sectors (geom, sector, 1); } static int _clear_partial_sector (PedGeometry* geom, PedSector sector, int offset, int count) { if (!ped_geometry_read (geom, buffer, sector, 1)) goto error; memset (buffer + offset, 0, count); if (!ped_geometry_write (geom, buffer, sector, 1)) goto error; memset (buffer, 0, 512); return 1; error: memset (buffer, 0, 512); return 0; } static int _clear_partial_range (PedGeometry* geom, PedSector sector, int start, int end) { return _clear_partial_sector (geom, sector, start, end - start + 1); } static int _clear_clusters (PedFileSystem* fs, FatCluster start, FatCluster count) { FatSpecific* fs_info = FAT_SPECIFIC (fs); return _clear_sectors (fs->geom, fat_cluster_to_sector(fs, start), count * fs_info->cluster_sectors); } /* FAT code ******************************************************************/ static void _clear_before_fat (PedFileSystem* fs) { FatSpecific* fs_info = FAT_SPECIFIC (fs); PedSector sector; for (sector = 1; sector < fs_info->fat_offset; sector++) { if (sector == fs_info->info_sector_offset) continue; if (sector == fs_info->boot_sector_backup_offset) continue; _clear_sector (fs->geom, sector); } } static int _calc_fat_entry_offset (PedFileSystem* fs, FatCluster cluster) { FatSpecific* fs_info = FAT_SPECIFIC (fs); switch (fs_info->fat_type) { case FAT_TYPE_FAT12: PED_ASSERT (0, (void) 0); break; case FAT_TYPE_FAT16: return cluster * 2; case FAT_TYPE_FAT32: return cluster * 4; } return 0; } static void _clear_unused_fats (PedFileSystem* fs) { FatSpecific* fs_info = FAT_SPECIFIC (fs); PedSector table_start; int table_num; int last_active_offset; PedSector last_active_sector; int last_active_sector_offset; last_active_offset = _calc_fat_entry_offset (fs, fs_info->fat->cluster_count); last_active_sector = last_active_offset / 512; last_active_sector_offset = last_active_offset % 512 + 4; for (table_num = 0; table_num < fs_info->fat_table_count; table_num++) { table_start = fs_info->fat_offset + table_num * fs_info->fat_sectors; if (last_active_sector_offset < 512) { _clear_partial_range ( fs->geom, table_start + last_active_sector, last_active_sector_offset, 512); } if (last_active_sector < fs_info->fat_sectors - 2) { _clear_sector_range ( fs->geom, table_start + last_active_sector + 1, table_start + fs_info->fat_sectors - 1); } } } static int _clear_unused_clusters (PedFileSystem* fs) { FatSpecific* fs_info = FAT_SPECIFIC (fs); FatCluster cluster; FatCluster run_start = 0; /* shut gcc up! */ FatCluster run_length = 0; for (cluster = 2; cluster < fs_info->cluster_count + 2; cluster++) { if (fat_table_is_available (fs_info->fat, cluster)) { if (!run_length) { run_start = cluster; run_length = 1; } else { run_length++; } } else { if (run_length) _clear_clusters (fs, run_start, run_length); run_length = 0; } } if (run_length) _clear_clusters (fs, run_start, run_length); return 1; } static void _clear_unused_fat (PedFileSystem* fs) { memset (buffer, 0, CLEAR_BUFFER_SIZE); _clear_before_fat (fs); _clear_unused_fats (fs); _clear_unused_clusters (fs); } /* bureaucracy ***************************************************************/ int main (int argc, char* argv[]) { PedDevice* dev; PedDisk* disk; PedPartition* part; PedFileSystem* fs; set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); parse_long_options (argc, argv, PROGRAM_NAME, PACKAGE, VERSION, usage, AUTHORS, (char const *) NULL); if (getopt_long (argc, argv, "", NULL, NULL) != -1) usage (EXIT_FAILURE); if (argc - optind < 2) { error (0, 0, _("too few arguments")); usage (EXIT_FAILURE); } if (2 < argc - optind) { error (0, 0, _("too many arguments")); usage (EXIT_FAILURE); } unsigned long minor_dev_number; if (xstrtoul (argv[2], NULL, 10, &minor_dev_number, NULL) || INT_MAX < minor_dev_number) { error (0, 0, _("invalid minor device number: %s"), argv[2]); usage (EXIT_FAILURE); } dev = ped_device_get (argv [1]); if (!dev) goto error; if (!ped_device_open (dev)) goto error; disk = ped_disk_new (dev); if (!disk) goto error_close_dev; part = ped_disk_get_partition (disk, minor_dev_number); if (!part) { printf ("Couldn't find partition `%s'\n", argv[2]); goto error_destroy_disk; } fs = ped_file_system_open (&part->geom); if (!fs) goto error_destroy_disk; if (strncmp (fs->type->name, "fat", 3)) { printf ("Not a FAT file system!\n"); goto error_close_fs; } _clear_unused_fat (fs); ped_file_system_close (fs); ped_disk_destroy (disk); ped_device_close (dev); return 0; error_close_fs: ped_file_system_close (fs); error_destroy_disk: ped_disk_destroy (disk); error_close_dev: ped_device_close (dev); error: return 1; } #else /* DISCOVER_ONLY */ /* hack! */ int main() { printf ("You must compile libparted with full read/write support\n"); return 1; } #endif /* DISCOVER_ONLY */ parted-2.3/debug/Makefile.am0000644000000000000000000000015011261072715012644 00000000000000SUBDIRS = clearfat test AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) MAINTAINERCLEANFILES = Makefile.in parted-2.3/debug/test/0000755000000000000000000000000011400006133011635 500000000000000parted-2.3/debug/test/test_fs_reiserfs0000744000000000000000000000365511370314006015072 00000000000000#! /bin/bash do_diff() { mount "${TEST_DRIVE}1" $TEST_MOUNT_POINT -t reiserfs > /dev/null if diff -rq $1 $2 --exclude lost+found >> test_log; then ped_test_ok else ped_test_failed fi umount $TEST_MOUNT_POINT 2>&1 > /dev/null } do_test_diff() { ped_testing "$1" if ped_test_get_val "$4" "$5" "$6"; then ped_test_failed return 1 fi do_diff "$2" "$3" } test_mkpartfs() { ped_test "mkpartfs primary reiserfs 1 1"\ "mklabel $TEST_FS_USE_DISK_LABEL\ mkpartfs primary reiserfs 1 1\ check 1"\ "echo Yes | /sbin/reiserfsck -q ${TEST_DRIVE}1 2>&1" ped_test "mkpartfs"\ "mklabel $TEST_FS_USE_DISK_LABEL\ mkpartfs primary reiserfs 1 $DEFAULT_END\ check 1"\ "echo Yes | /sbin/reiserfsck -q ${TEST_DRIVE}1 2>&1" ped_test "mkfs"\ "mkfs 1 reiserfs\ check 1"\ "echo Yes | /sbin/reiserfsck -q ${TEST_DRIVE}1 2>&1" } prepare_resize_tests() { part_num=1 part=$TEST_DRIVE$part_num umount $TEST_MOUNT_POINT 2>&1 > /dev/null mount $part $TEST_MOUNT_POINT -t reiserfs \ && cp $TEST_DATA/* $TEST_MOUNT_POINT -r umount $TEST_MOUNT_POINT 2>&1 > /dev/null } test_resize_move_end_forward() { do_test_diff "resize: move end forward"\ $TEST_DATA $TEST_MOUNT_POINT \ "resize 1 1 $[ $DEFAULT_END + 5 ] check 1"\ "echo Yes | /sbin/reiserfsck -q ${TEST_DRIVE}1 2>&1" } test_resize_move_end_forward_big() { do_test_diff "resize: move end forward (big)"\ $TEST_DATA $TEST_MOUNT_POINT \ "resize 1 1 $[ $DEFAULT_END + 200 ] check 1"\ "echo Yes | /sbin/reiserfsck -q ${TEST_DRIVE}1 2>&1" } test_resize_move_end_backward() { do_test_diff "resize: move end backward"\ $TEST_DATA $TEST_MOUNT_POINT \ "resize 1 1 $DEFAULT_END check 1"\ "echo Yes | /sbin/reiserfsck -q ${TEST_DRIVE}1 2>&1" } main() { export DEFAULT_END=200 if ! test_mkpartfs; then return 1 fi prepare_resize_tests test_resize_move_end_forward test_resize_move_end_backward test_resize_move_end_forward_big test_resize_move_end_backward } main parted-2.3/debug/test/test_disk_pc980000744000000000000000000000345711370314006014355 00000000000000#! /bin/bash test_mklabel() { ped_test "mklabel" "mklabel pc98" } test_mkpart() { ped_test "mkpart" "mklabel pc98 mkpart primary ext2 10 20" } test_mkpartfs() { ped_test "mkpartfs" "mklabel pc98 mkpartfs primary ext2 10 20" } test_rm() { ped_test "rm" "mklabel pc98 mkpart primary ext2 10 20 rm 1" } test_too_many_primary() { ped_test_expect_fail "too many primary partitions" \ "mklabel pc98 \ mkpart primary ext2 10 20 \ mkpart primary ext2 20 30 \ mkpart primary ext2 30 40 \ mkpart primary ext2 40 50 \ mkpart primary ext2 50 60 \ mkpart primary ext2 60 70 \ mkpart primary ext2 70 80 \ mkpart primary ext2 80 90 \ mkpart primary ext2 90 100 \ mkpart primary ext2 100 110 \ mkpart primary ext2 110 120 \ mkpart primary ext2 120 130 \ mkpart primary ext2 130 140 \ mkpart primary ext2 140 150 \ mkpart primary ext2 150 160 \ mkpart primary ext2 160 170 \ mkpart primary ext2 170 180 " } test_primary_overlap() { ped_test "correction of primary partition overlapping"\ "mklabel pc98 \ mkpart primary ext2 0 100\ mkpart primary ext2 50 150" } test_nonexistent_remove() { ped_test_expect_fail "removal of non-existent partition"\ "mklabel pc98 \ rm 1" } test_create_extended() { ped_test_expect_fail "creation of extended partition"\ "mklabel pc98 \ mkpart extended 0 100" } test_create_small() { ped_test "create small partition"\ "mklabel pc98 \ mkpartfs primary ext2 1 2" } test_move() { ped_test "move partition"\ "mklabel pc98 \ mkpartfs primary fat16 0 100 \ mkpartfs primary fat16 100 200 \ move 1 200 300" } main() { if ! test_mklabel; then exit 1 fi test_mkpart test_mkpartfs test_rm test_too_many_primary test_primary_overlap test_nonexistent_remove test_create_extended test_create_small test_move } main parted-2.3/debug/test/test_disk_gpt0000744000000000000000000000221011370314006014346 00000000000000#! /bin/bash test_mklabel() { ped_test "mklabel" "mklabel gpt" } test_mkpart() { ped_test "mkpart" "mklabel gpt mkpart primary ext2 10 20" } test_mkpartfs() { ped_test "mkpartfs" "mklabel gpt mkpartfs primary ext2 10 20" } test_rm() { ped_test "rm" "mklabel gpt mkpart primary ext2 10 20 rm 1" } test_primary_overlap() { ped_test "correction of primary partition overlapping"\ "mklabel gpt \ mkpart primary ext2 0 100\ mkpart primary ext2 50 150" } test_nonexistent_remove() { ped_test_expect_fail "removal of non-existent partition"\ "mklabel gpt \ rm 1" } test_create_extended() { ped_test_expect_fail "creation of extended partition"\ "mklabel gpt \ mkpart extended 0 100" } test_create_small() { ped_test "create small partition"\ "mklabel gpt \ mkpartfs primary ext2 1 2" } test_move() { ped_test "move partition"\ "mklabel gpt \ mkpartfs primary ext2 0 100 \ mkpartfs primary ext2 101 200 \ move 1 201 301" } main() { if ! test_mklabel; then exit 1 fi test_mkpart test_mkpartfs test_rm test_primary_overlap test_nonexistent_remove test_create_extended test_create_small test_move } main parted-2.3/debug/test/Makefile.am0000644000000000000000000000066211354345727013644 00000000000000noinst_SCRIPTS = test \ test_disk_bsd \ test_disk_dos \ test_disk_dvh \ test_disk_gpt \ test_disk_pc98 \ test_disk_mac \ test_disk_sun \ test_fs_ext2 \ test_fs_fat \ test_fs_hfs \ test_fs_hfsplus \ test_fs_linux_swap \ test_fs_reiserfs \ build_leak_list EXTRA_DIST = HOWTO testrc $(noinst_SCRIPTS) CLEANFILES = test_log test_out MAINTAINERCLEANFILES = Makefile.in parted-2.3/debug/test/build_leak_list0000744000000000000000000000041511370314006014636 00000000000000#! /bin/sh if test "x$TEST_PARTED_BASE" = "x"; then TEST_PARTED_BASE=~parted/parted-dev fi mtrace $TEST_PARTED_BASE/parted/.libs/parted $MALLOC_TRACE \ | grep libparted \ | sed 's/ at.*//' \ | sed 's/^\(0x[0-9a-f]\+\) \+\(0x[0-9a-f]\+\) */ {\1, \2},/' \ | less parted-2.3/debug/test/test_fs_hfs0000644000000000000000000000373611370314006014027 00000000000000#!/bin/bash # fsck_hfs seems to be broken : it doesn't even succeed in scanning a freshly # created by newfs_hfs partition. do_diff() { mount "${TEST_DRIVE}1" $TEST_MOUNT_POINT -t $FILE_SYSTEM > /dev/null if diff -rq $1 $2 --exclude lost+found >> test_log; then ped_test_ok else ped_test_failed fi umount $TEST_MOUNT_POINT 2>&1 > /dev/null } do_test_diff() { ped_testing "$1" if ped_test_get_val "$4" "$5" "$6"; then ped_test_failed return 1 fi do_diff "$2" "$3" } test_newfs_hfs() { # -h option for newfs_hfs makes it use legacy HFS (not Plus) # -dfn for fsck_hfs means Debug, Force, No # Debug => print more information # Force => force check even if clean bit is set # No => don't modify the F.S. ped_test "mkpart && newfs_hfs && fsck_hfs"\ "mklabel $TEST_FS_USE_DISK_LABEL\ mkpart primary $FILE_SYSTEM 1 $DEFAULT_END"\ "newfs_hfs -h -v \"PED HFS TEST\" ${TEST_DRIVE}1" # &&\ # fsck_hfs -dfn ${TEST_DRIVE}1" } prepare_resize_tests() { part_num=1 part=$TEST_DRIVE$part_num hole_parent=`echo $TEST_DATA_HOLE | sed -e "s/[-_.a-zA-Z0-9]+\///g"` umount $TEST_MOUNT_POINT 2>&1 > /dev/null mount $part $TEST_MOUNT_POINT -t $FILE_SYSTEM \ && cp $TEST_DATA/* $TEST_MOUNT_POINT -r \ && cp -r $TEST_DATA $TEST_MOUNT_POINT/tmp_copy \ && rm -rf $TEST_MOUNT_POINT/$TEST_DATA_HOLE \ && mv $TEST_MOUNT_POINT/tmp_copy/$TEST_DATA_HOLE \ $TEST_MOUNT_POINT/$hole_parent \ && rm -rf $TEST_MOUNT_POINT/tmp_copy umount $TEST_MOUNT_POINT 2>&1 > /dev/null } test_resize_move_end_backward() { # -dfn for fsck_hfs means Debug, Force, No # Debug => print more information # Force => force check even if clean bit is set # No => don't modify the F.S. do_test_diff "resize: move end backward"\ $TEST_DATA $TEST_MOUNT_POINT \ "resize 1 1 $RESIZE_END"\ "" #fsck_hfs -dfn ${TEST_DRIVE}1 2>&1" } main() { export DEFAULT_END=250 export RESIZE_END=200 export FILE_SYSTEM=hfs if ! test_newfs_hfs; then return 1 fi prepare_resize_tests test_resize_move_end_backward } main parted-2.3/debug/test/test_disk_dos0000744000000000000000000000646211370314006014356 00000000000000#! /bin/bash test_mklabel() { ped_test "mklabel" "mklabel msdos" } test_mkpart() { ped_test "mkpart" "mklabel msdos mkpart primary ext2 10 20" } test_create_extended_at_start() { ped_test "creating an extended partition at the start of the disk"\ "mklabel msdos \ mkpart extended 0 500" } test_mkpartfs() { ped_test "mkpartfs" "mklabel msdos mkpartfs primary ext2 10 20" } test_rm() { ped_test "rm" "mklabel msdos mkpart primary ext2 10 20 rm 1" } test_too_many_primary() { ped_test_expect_fail "too many primary partitions" \ "mklabel msdos \ mkpart primary ext2 10 20 \ mkpart primary ext2 20 30 \ mkpart primary ext2 30 40 \ mkpart primary ext2 40 50 \ mkpart primary ext2 50 60" } test_logical_without_extended() { ped_test_expect_fail "logical partitions without extended partition"\ "mklabel msdos \ mkpart logical ext2 10 20" } # Parted's constraint solver "corrects" this. Hmmm... is this wise? test_logical_outside_extended() { ped_test "correction of logical partitions outside extended partition"\ "mklabel msdos \ mkpart extended 50 100\ mkpart logical ext2 90 150" } test_shrink_extended_too_far() { ped_test "correction of excessive extended partition shrink"\ "mklabel msdos \ mkpart extended 50 150\ mkpart logical ext2 90 110\ resize 1 50 100" } test_shrink_extended() { ped_test "extended partition shrink"\ "mklabel msdos \ mkpart extended 50 150\ mkpart logical ext2 90 110\ resize 1 80 110" } test_many_logical() { ped_test "many logical partitions"\ "mklabel msdos \ mkpart extended 100 1000 \ mkpart logical ext2 100 200 \ mkpart logical ext2 200 300 \ mkpart logical ext2 300 400 \ mkpart logical ext2 400 500 \ mkpart logical ext2 500 600 \ mkpart logical ext2 600 700 \ mkpart logical ext2 700 800" } test_primary_overlap() { ped_test "correction of primary partition overlapping"\ "mklabel msdos \ mkpart primary ext2 0 100\ mkpart primary ext2 50 150" } test_extended_primary_overlap() { ped_test "correction of primary with extended partition overlapping"\ "mklabel msdos \ mkpart extended 1 100\ mkpart primary ext2 50 150" } test_nonexistent_remove() { ped_test_expect_fail "removal of non-existent partition"\ "mklabel msdos \ rm 1" } test_create_small() { ped_test "create small partition"\ "mklabel msdos \ mkpartfs primary ext2 1 2" } test_move_primary() { ped_test "move primary partition"\ "mklabel msdos \ mkpartfs primary fat16 0 100 \ mkpartfs primary fat16 100 200 \ move 1 200 300" } test_move_logical() { ped_test "move logical partition"\ "mklabel msdos \ mkpart extended 0 500 mkpartfs logical fat16 0 100 \ mkpartfs logical fat16 100 200 \ move 5 200 300" } test_create_end() { ped_test "create partition at end-of-disk"\ "mklabel msdos \ mkpartfs primary ext2 \ $[TEST_DRIVE_SIZE - 10] $[TEST_DRIVE_SIZE]" } main() { if ! test_mklabel; then exit 1 fi test_mkpart test_create_extended_at_start test_mkpartfs test_rm test_too_many_primary test_logical_without_extended test_logical_outside_extended test_shrink_extended_too_far test_shrink_extended test_many_logical test_primary_overlap test_extended_primary_overlap test_nonexistent_remove test_create_small test_move_primary test_move_logical test_create_end } main parted-2.3/debug/test/test_fs_hfsplus0000644000000000000000000000434311370314006014726 00000000000000#!/bin/bash # fsck_hfs seems to be broken : it doesn't even succeed in scanning a freshly # created by newfs_hfs partition. # update : retry with my newfs_hfs that round file system size down to 4 ko do_diff() { mount "${TEST_DRIVE}1" $TEST_MOUNT_POINT -t $FILE_SYSTEM > /dev/null if diff -rq $1 $2 --exclude lost+found >> test_log; then ped_test_ok else ped_test_failed fi umount $TEST_MOUNT_POINT 2>&1 > /dev/null } do_test_diff() { ped_testing "$1" if ped_test_get_val "$4" "$5" "$6"; then ped_test_failed return 1 fi do_diff "$2" "$3" } test_newfs_hfs() { # -w option for newfs_hfs adds an HFS wrapper around the HFS+ F.S. # update : don't use -w yet because it doesn't works well # it seems that the wrapper bad block file is stored differently by # newfs_hfs than by mac os X install format program # -dfn for fsck_hfs means Debug, Force, No # Debug => print more information # Force => force check even if clean bit is set # No => don't modify the F.S. ped_test "mkpart && newfs_hfs && fsck_hfs"\ "mklabel $TEST_FS_USE_DISK_LABEL\ mkpart primary $FILE_SYSTEM 1 $DEFAULT_END"\ "newfs_hfs -v \"PED HFS TEST\" ${TEST_DRIVE}1" # &&\ # fsck_hfs -dfn ${TEST_DRIVE}1" } prepare_resize_tests() { part_num=1 part=$TEST_DRIVE$part_num hole_parent=`echo $TEST_DATA_HOLE | sed -e "s/[-_.a-zA-Z0-9]+\///g"` umount $TEST_MOUNT_POINT 2>&1 > /dev/null mount $part $TEST_MOUNT_POINT -t $FILE_SYSTEM \ && cp $TEST_DATA/* $TEST_MOUNT_POINT -r \ && cp -r $TEST_DATA $TEST_MOUNT_POINT/tmp_copy \ && rm -rf $TEST_MOUNT_POINT/$TEST_DATA_HOLE \ && mv $TEST_MOUNT_POINT/tmp_copy/$TEST_DATA_HOLE \ $TEST_MOUNT_POINT/$hole_parent \ && rm -rf $TEST_MOUNT_POINT/tmp_copy umount $TEST_MOUNT_POINT 2>&1 > /dev/null } test_resize_move_end_backward() { # -dfn for fsck_hfs means Debug, Force, No # Debug => print more information # Force => force check even if clean bit is set # No => don't modify the F.S. do_test_diff "resize: move end backward"\ $TEST_DATA $TEST_MOUNT_POINT \ "resize 1 1 $RESIZE_END"\ "" #fsck_hfs -dfn ${TEST_DRIVE}1 2>&1" } main() { export DEFAULT_END=250 export RESIZE_END=200 export FILE_SYSTEM=hfsplus if ! test_newfs_hfs; then return 1 fi prepare_resize_tests test_resize_move_end_backward } main parted-2.3/debug/test/test0000744000000000000000000001042511370314006012471 00000000000000#! /bin/bash do_help() { echo You need to fill out the testrc with your machine\'s details before echo using this script. exit; } do_test() { test_prog=$1 test_name=`echo -n $test_prog | sed "s/test_//" | sed "s/_/ /" \ | tr '[:lower:]' '[:upper:]'` echo "-----------------------------------------------------------------" echo "TESTING $test_name..." echo "-----------------------------------------------------------------" echo "-----------------------------------------------------------------"\ >> test_log echo "TESTING $test_name..." >> test_log echo "-----------------------------------------------------------------"\ >> test_log if [ -e core* ]; then rm core* fi ./$test_prog if [ -e test_out ]; then echo > test_out fi } do_tests() { for walk in $TEST_LIST; do if [ -x $walk ]; then do_test $walk fi done } ################################################ # GLOBAL HELPER FUNCTIONS ################################################ ped_testing() { echo -n "testing $1... " echo -n "testing $1... " >> test_log } ped_testing_expect_fail() { echo -n "testing for failure on $1... " echo -n "testing for failure on $1... " >> test_log } ped_test_ok() { echo "ok" echo "ok" >> test_log if [ "x$VERBOSE_LOGS" = "x1" ]; then cat test_out >> test_log echo >> test_log fi export OK_COUNT=$[ $OK_COUNT + 1 ] } ped_test_failed() { echo "failed" echo "failed" >> test_log cat test_out >> test_log echo >> test_log export FAILED_COUNT=$[ $FAILED_COUNT + 1 ] if [ -e core ]; then echo core dumped, saving to core-$CORE_COUNTER\ >> test_log echo >> test_log mv core core-$CORE_COUNTER export CORE_COUNTER=$[ $CORE_COUNTER + 1 ] fi } check_leaks() { if test "x$MALLOC_TRACE" != "x"; then ./build_leak_list > leaks if test -s leaks; then printf \ 'Found memory leaks: (add this list to dodgey_malloc_list in\n'\ 'libparted/libparted.c to debug them)\n' \ >> test_out cat leaks >> test_out return 0 fi rm leaks fi return 1 } ped_test_get_val() { post_command=$2 if test "x$input" = "x"; then input="Cancel" fi if test "x$post_command" = "x"; then post_command="true" fi if test -e leaks; then rm leaks fi if test "x$MALLOC_TRACE" != "x"; then if test -e $MALLOC_TRACE; then rm $MALLOC_TRACE fi fi if $TEST_PARTED_COMMAND -s $TEST_DRIVE $1 2>&1 > test_out; then if [ -e core ]; then return 0 fi if check_leaks; then return 0 fi if ( echo >> test_out ; ( eval $post_command ) 2>&1 >> test_out ); then return 1 else return 0 fi else return 0 fi } ped_test() { ped_testing "$1" if ped_test_get_val "$2" "$3"; then ped_test_failed return 1 else ped_test_ok return 0 fi } ped_test_expect_fail() { ped_testing_expect_fail "$1" if ped_test_get_val "$2" "$3"; then # we expect a CLEAN fail :-) if [ -e core ]; then ped_test_failed return 1 fi if check_leaks; then ped_test_failed return 1 fi ped_test_ok return 0 else ped_test_failed return 1 fi } ################################################ # the rest... ################################################ init_environment() { if [ "x$UID" != "x0" ]; then echo Warning: you should probably be running this as root. echo fi . testrc `cat testrc | grep "^[^#].*=" | sed "s/=.*//" | sed "s/^/export /" ` if [ "x$HOSTNAME" != "x$TEST_HOST" ]; then do_help fi export OLD_KERNEL_PRINTK=`cat /proc/sys/kernel/printk` if [ "x$QUIET_KERNEL" = "x1" ]; then echo 1 1 1 1 > /proc/sys/kernel/printk fi renice 20 $$ > /dev/null export CORE_COUNTER=1 export OK_COUNT=0 export FAILED_COUNT=0 export -f ped_testing export -f ped_testing_expect_fail export -f ped_test_ok export -f ped_test_failed export -f ped_test_get_val export -f ped_test export -f ped_test_expect_fail export -f check_leaks } done_environment() { echo $OLD_KERNEL_PRINTK > /proc/sys/kernel/printk } open_log() { if [ -e test_log ]; then echo -n > test_log; fi } print_version() { echo -n "Testing " $TEST_PARTED_COMMAND --version echo echo -n "Testing " >> test_log $TEST_PARTED_COMMAND --version >> test_log echo >> test_log } main() { init_environment open_log print_version do_tests done_environment } if [ "x$1" != "x" ]; then export TEST_LIST="test_*$1*" else export TEST_LIST="test_*" fi main parted-2.3/debug/test/test_fs_ext20000744000000000000000000000344311370314006014125 00000000000000#! /bin/bash do_diff() { mount "${TEST_DRIVE}1" $TEST_MOUNT_POINT -t ext2 > /dev/null if diff -rq $1 $2 --exclude lost+found >> test_log; then ped_test_ok else ped_test_failed fi umount $TEST_MOUNT_POINT 2>&1 > /dev/null } do_test_diff() { ped_testing "$1" if ped_test_get_val "$4" "$5" "$6"; then ped_test_failed return 1 fi do_diff "$2" "$3" } test_mkpartfs() { ped_test "mkpartfs 1 ext2 1 1"\ "mklabel $TEST_FS_USE_DISK_LABEL\ mkpartfs 1 ext2 1 1\ check 1"\ "/sbin/e2fsck -n -f ${TEST_DRIVE}1" ped_test "mkpartfs"\ "mklabel $TEST_FS_USE_DISK_LABEL\ mkpartfs primary ext2 1 $DEFAULT_END\ check 1"\ "/sbin/e2fsck -n -f ${TEST_DRIVE}1" ped_test "mkfs"\ "mkfs 1 ext2\ check 1"\ "/sbin/e2fsck -n -f ${TEST_DRIVE}1" } prepare_resize_tests() { part_num=1 part=$TEST_DRIVE$part_num umount $TEST_MOUNT_POINT 2>&1 > /dev/null mount $part $TEST_MOUNT_POINT -t ext2 \ && cp $TEST_DATA/* $TEST_MOUNT_POINT -r umount $TEST_MOUNT_POINT 2>&1 > /dev/null } test_resize_move_end_forward() { do_test_diff "resize: move end forward"\ $TEST_DATA $TEST_MOUNT_POINT \ "resize 1 1 $[ $DEFAULT_END + 5 ] check 1"\ "/sbin/e2fsck -n -f ${TEST_DRIVE}1" } test_resize_move_end_forward_big() { do_test_diff "resize: move end forward (big)"\ $TEST_DATA $TEST_MOUNT_POINT \ "resize 1 1 $[ $DEFAULT_END + 200 ] check 1"\ "/sbin/e2fsck -n -f ${TEST_DRIVE}1" } test_resize_move_end_backward() { do_test_diff "resize: move end backward"\ $TEST_DATA $TEST_MOUNT_POINT \ "resize 1 1 $DEFAULT_END check 1"\ "/sbin/e2fsck -n -f ${TEST_DRIVE}1" } main() { export DEFAULT_END=200 if ! test_mkpartfs; then return 1 fi prepare_resize_tests test_resize_move_end_forward test_resize_move_end_backward test_resize_move_end_forward_big test_resize_move_end_backward } main parted-2.3/debug/test/test_disk_bsd0000744000000000000000000000302211370314006014326 00000000000000#! /bin/bash test_mklabel() { ped_test "mklabel" "mklabel bsd" } test_mkpart() { ped_test "mkpart" "mklabel bsd mkpart primary ext2 10 20" } test_mkpartfs() { ped_test "mkpartfs" "mklabel bsd mkpartfs primary ext2 10 20" } test_rm() { ped_test "rm" "mklabel bsd mkpart primary ext2 10 20 rm 1" } test_too_many_primary() { ped_test_expect_fail "too many primary partitions" \ "mklabel bsd \ mkpart primary ext2 10 20 \ mkpart primary ext2 20 30 \ mkpart primary ext2 30 40 \ mkpart primary ext2 40 50 \ mkpart primary ext2 50 60 \ mkpart primary ext2 60 70 \ mkpart primary ext2 70 80 \ mkpart primary ext2 80 90 \ mkpart primary ext2 90 100" } test_primary_overlap() { ped_test "correction of partition overlapping"\ "mklabel bsd \ mkpart primary ext2 0 100\ mkpart primary ext2 50 150" } test_nonexistent_remove() { ped_test_expect_fail "removal of non-existent partition"\ "mklabel bsd \ rm 1" } test_create_extended() { ped_test_expect_fail "creation of extended partition"\ "mklabel bsd \ mkpart extended 0 100" } test_create_small() { ped_test "create small partition"\ "mklabel bsd \ mkpartfs primary ext2 1 2" } test_move() { ped_test "move partition"\ "mklabel bsd \ mkpartfs primary ext2 0 100 \ mkpartfs primary ext2 101 200 \ move 1 201 301" } main() { if ! test_mklabel; then exit 1 fi test_mkpart test_mkpartfs test_rm test_too_many_primary test_primary_overlap test_nonexistent_remove test_create_extended test_create_small test_move } main parted-2.3/debug/test/Makefile.in0000644000000000000000000010227711400005572013641 00000000000000# Makefile.in generated by automake 1.11a from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = debug/test DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \ $(top_srcdir)/m4/asm-underscore.m4 $(top_srcdir)/m4/assert.m4 \ $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/calloc.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \ $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/dirname.m4 \ $(top_srcdir)/m4/dos.m4 $(top_srcdir)/m4/double-slash-root.m4 \ $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/extensions.m4 \ $(top_srcdir)/m4/fclose.m4 $(top_srcdir)/m4/fcntl-o.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fpending.m4 \ $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getopt.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \ $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/lib-ignore.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \ $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \ $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/long-options.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \ $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/memchr.m4 \ $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \ $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/o-direct.m4 $(top_srcdir)/m4/open.m4 \ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \ $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/readlink.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/safe-read.m4 \ $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \ $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/symlink.m4 \ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \ $(top_srcdir)/m4/version-etc.m4 \ $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \ $(top_srcdir)/m4/wctype_h.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xstrndup.m4 \ $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/lib/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = SCRIPTS = $(noinst_SCRIPTS) AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ BUILDINFO = @BUILDINFO@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ CONFIG_INCLUDE = @CONFIG_INCLUDE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DL_LIBS = @DL_LIBS@ DM_LIBS = @DM_LIBS@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENABLE_DEVICE_MAPPER = @ENABLE_DEVICE_MAPPER@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPURGE = @GNULIB_FPURGE@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSTATAT = @GNULIB_FSTATAT@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETGROUPS = @GNULIB_GETGROUPS@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMCHR = @GNULIB_MEMCHR@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDIRAT = @GNULIB_MKDIRAT@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKFIFO = @GNULIB_MKFIFO@ GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@ GNULIB_MKNOD = @GNULIB_MKNOD@ GNULIB_MKNODAT = @GNULIB_MKNODAT@ GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PTSNAME = @GNULIB_PTSNAME@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ GNULIB_RMDIR = @GNULIB_RMDIR@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STAT = @GNULIB_STAT@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNCAT = @GNULIB_STRNCAT@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRPTIME = @GNULIB_STRPTIME@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNLINK = @GNULIB_UNLINK@ GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_USLEEP = @GNULIB_USLEEP@ GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_FUTIMENS = @HAVE_FUTIMENS@ HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETGROUPS = @HAVE_GETGROUPS@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@ HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@ HAVE_LANGINFO_H = @HAVE_LANGINFO_H@ HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LCHOWN = @HAVE_LCHOWN@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LOCALTIME_R = @HAVE_LOCALTIME_R@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_MKFIFO = @HAVE_MKFIFO@ HAVE_MKFIFOAT = @HAVE_MKFIFOAT@ HAVE_MKNOD = @HAVE_MKNOD@ HAVE_MKNODAT = @HAVE_MKNODAT@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ HAVE_OS_H = @HAVE_OS_H@ HAVE_PIPE2 = @HAVE_PIPE2@ HAVE_PREAD = @HAVE_PREAD@ HAVE_PTSNAME = @HAVE_PTSNAME@ HAVE_PWRITE = @HAVE_PWRITE@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TTYNAME_R = @HAVE_TTYNAME_R@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_USLEEP = @HAVE_USLEEP@ HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ HAVE_WCRTOMB = @HAVE_WCRTOMB@ HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE__BOOL = @HAVE__BOOL@ IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ INTLINCS = @INTLINCS@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ LIBTOOL = @LIBTOOL@ LIB_BLKID = @LIB_BLKID@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@ LOCALE_JA = @LOCALE_JA@ LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTALLOCA = @LTALLOCA@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ NEXT_WCTYPE_H = @NEXT_WCTYPE_H@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OS = @OS@ OS_LIBS = @OS_LIBS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PARTEDLDFLAGS = @PARTEDLDFLAGS@ PARTED_LIBS = @PARTED_LIBS@ PARTED_USABLE_TEST_DIR = @PARTED_USABLE_TEST_DIR@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POSUB = @POSUB@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PRIPTR_PREFIX = @PRIPTR_PREFIX@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REISER_LIBS = @REISER_LIBS@ REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FSTAT = @REPLACE_FSTAT@ REPLACE_FSTATAT = @REPLACE_FSTATAT@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ REPLACE_MBRLEN = @REPLACE_MBRLEN@ REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ REPLACE_MBSINIT = @REPLACE_MBSINIT@ REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_OPENAT = @REPLACE_OPENAT@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALPATH = @REPLACE_REALPATH@ REPLACE_REMOVE = @REPLACE_REMOVE@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRNCAT = @REPLACE_STRNCAT@ REPLACE_STRNDUP = @REPLACE_STRNDUP@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ REPLACE_UNSETENV = @REPLACE_UNSETENV@ REPLACE_USLEEP = @REPLACE_USLEEP@ REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ SELINUX_LIBS = @SELINUX_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_NLS = @USE_NLS@ UUID_LIBS = @UUID_LIBS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_aux_dir = @abs_aux_dir@ 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@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ gltests_WITNESS = @gltests_WITNESS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_SCRIPTS = test \ test_disk_bsd \ test_disk_dos \ test_disk_dvh \ test_disk_gpt \ test_disk_pc98 \ test_disk_mac \ test_disk_sun \ test_fs_ext2 \ test_fs_fat \ test_fs_hfs \ test_fs_hfsplus \ test_fs_linux_swap \ test_fs_reiserfs \ build_leak_list EXTRA_DIST = HOWTO testrc $(noinst_SCRIPTS) CLEANFILES = test_log test_out MAINTAINERCLEANFILES = Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu debug/test/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu debug/test/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags: TAGS TAGS: ctags: CTAGS CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(SCRIPTS) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: parted-2.3/debug/test/test_disk_dvh0000744000000000000000000000322611370314006014345 00000000000000#! /bin/bash test_mklabel() { ped_test "mklabel" "mklabel mips" } test_mkpart() { ped_test "mkpart" "mklabel mips mkpart primary ext2 11 20" } test_mkpartfs() { ped_test "mkpartfs" "mklabel mips mkpartfs primary ext2 11 20" } test_rm() { ped_test "rm" "mklabel mips mkpart primary ext2 10 20 rm 2" } test_too_many_primary() { ped_test_expect_fail "too many primary partitions" \ "mklabel mips \ mkpart primary ext2 10 20 \ mkpart primary ext2 20 30 \ mkpart primary ext2 30 40 \ mkpart primary ext2 40 50 \ mkpart primary ext2 50 60 \ mkpart primary ext2 60 70 \ mkpart primary ext2 70 80 \ mkpart primary ext2 80 90 \ mkpart primary ext2 90 100 \ mkpart primary ext2 100 110 \ mkpart primary ext2 110 120 \ mkpart primary ext2 120 130 \ mkpart primary ext2 130 140 \ mkpart primary ext2 140 150 \ mkpart primary ext2 150 160 \ mkpart primary ext2 160 170 \ mkpart primary ext2 170 180" } test_primary_overlap() { ped_test "correction of primary partition overlapping"\ "mklabel mips \ mkpart primary ext2 1 100\ mkpart primary ext2 50 150" } test_nonexistent_remove() { ped_test_expect_fail "removal of non-existent partition"\ "mklabel mips \ rm 2" } test_create_small() { ped_test "create small partition"\ "mklabel mips \ mkpartfs primary ext2 1 2" } test_move() { ped_test "move partition"\ "mklabel mips \ mkpartfs primary ext2 1 100 \ mkpartfs primary ext2 101 200 \ move 2 201 301" } main() { if ! test_mklabel; then exit 1 fi test_mkpart test_mkpartfs test_rm test_too_many_primary test_primary_overlap test_nonexistent_remove test_create_small test_move } main parted-2.3/debug/test/test_fs_fat0000744000000000000000000000723111370314006014014 00000000000000#! /bin/bash do_diff() { mount -t vfat ${TEST_DRIVE}1 $TEST_MOUNT_POINT > /dev/null if diff -rq $1 $2 >> test_log; then ped_test_ok else ped_test_failed fi umount $TEST_MOUNT_POINT 2>&1 > /dev/null } do_test_diff() { ped_testing "$1" if ped_test_get_val "$4" "$5" "$6" "$7"; then ped_test_failed return 1 fi do_diff "$2" "$3" } test_mkpartfs() { ped_test "mkpartfs fat16 minimum size"\ "mklabel $TEST_FS_USE_DISK_LABEL\ mkpartfs primary fat16 0 1\ check 1"\ "/sbin/dosfsck ${TEST_DRIVE}1" ped_test "mkpartfs fat32 minimum size"\ "mklabel $TEST_FS_USE_DISK_LABEL\ mkpartfs primary fat32 0 1\ check 1"\ "/sbin/dosfsck ${TEST_DRIVE}1" ped_test "mkpartfs"\ "mklabel $TEST_FS_USE_DISK_LABEL\ mkpartfs primary fat32 1 $DEFAULT_END\ check 1"\ "/sbin/dosfsck ${TEST_DRIVE}1" ped_test "mkfs"\ "mkfs 1 fat32\ check 1"\ "/sbin/dosfsck ${TEST_DRIVE}1" } prepare_resize_tests() { part_num=1 part=$TEST_DRIVE$part_num hole_parent=`echo $TEST_DATA_HOLE | sed -e "s/[-_.a-zA-Z0-9]+\///g"` umount $TEST_MOUNT_POINT 2>&1 > /dev/null mount $part $TEST_MOUNT_POINT -t vfat \ && cp -r $TEST_DATA/* $TEST_MOUNT_POINT \ && cp -r $TEST_DATA $TEST_MOUNT_POINT/tmp_copy \ && rm -rf $TEST_MOUNT_POINT/$TEST_DATA_HOLE \ && mv $TEST_MOUNT_POINT/tmp_copy/$TEST_DATA_HOLE \ $TEST_MOUNT_POINT/$hole_parent \ && rm -rf $TEST_MOUNT_POINT/tmp_copy umount $TEST_MOUNT_POINT } clearfat() { $TEST_PARTED_CLEARFAT $TEST_DRIVE $1 } test_resize_move_start_forward() { # geometry beforehand: 1 to $DEFAULT_END do_test_diff "resize: move start forward"\ $TEST_DATA $TEST_MOUNT_POINT \ "resize 1 5 $DEFAULT_END check 1"\ "/sbin/dosfsck ${TEST_DRIVE}1" clearfat 1 } test_resize_move_start_backward() { # geometry beforehand: 5 to $DEFAULT_END do_test_diff "resize: move start backward"\ $TEST_DATA $TEST_MOUNT_POINT \ "resize 1 1 $DEFAULT_END check 1"\ "/sbin/dosfsck ${TEST_DRIVE}1" clearfat 1 } test_resize_move_end_forward() { # geometry beforehand: 1 to $DEFAULT_END do_test_diff "resize: move end forward"\ $TEST_DATA $TEST_MOUNT_POINT \ "resize 1 1 $[ $DEFAULT_END + 5 ] check 1"\ "/sbin/dosfsck ${TEST_DRIVE}1" clearfat 1 } test_resize_move_end_backward() { # geometry beforehand: 1 to $[$DEFAULT_END + 5] do_test_diff "resize: move end backward"\ $TEST_DATA $TEST_MOUNT_POINT \ "resize 1 1 $DEFAULT_END check 1"\ "/sbin/dosfsck ${TEST_DRIVE}1" clearfat 1 } test_convert_fat16_fat32_shrink_cluster() { # geometry beforehand: 1 to $DEFAULT_END do_test_diff \ "resize: convert from FAT16 to FAT32, shrinking the cluster size"\ $TEST_DATA $TEST_MOUNT_POINT \ "resize 1 1 $FAT32_END check 1"\ "/sbin/dosfsck ${TEST_DRIVE}1" clearfat 1 } test_convert_fat32_fat16() { # geometry beforehand: 1 to $FAT16_SMALL_END do_test_diff "resize: convert from FAT32 to FAT16"\ $TEST_DATA $TEST_MOUNT_POINT \ "resize 1 1 $FAT32_END check 1"\ "/sbin/dosfsck ${TEST_DRIVE}1" clearfat 1 } test_convert_fat16_fat32() { # geometry beforehand: 1 to $FAT32_END do_test_diff "resize: convert from FAT16 to FAT32"\ $TEST_DATA $TEST_MOUNT_POINT \ "resize 1 1 $FAT16_SMALL_END check 1"\ "/sbin/dosfsck ${TEST_DRIVE}1" clearfat 1 } #test_convert_fat32_fat16_shrink_cluster() #{ #} #test_fat16_shrink_cluster() #{ #} #test_fat32_shrink_cluster() #{ #} main() { export DEFAULT_END=300 export FAT32_END=600 export FAT16_SMALL_END=200 if ! test_mkpartfs; then return 1 fi prepare_resize_tests test_resize_move_start_forward test_resize_move_start_backward test_resize_move_end_forward test_resize_move_end_backward # prepare_resize_tests test_convert_fat16_fat32_shrink_cluster test_convert_fat32_fat16 test_convert_fat16_fat32 } main parted-2.3/debug/test/test_disk_sun0000744000000000000000000000302711370314006014370 00000000000000#! /bin/bash test_mklabel() { ped_test "mklabel" "mklabel sun" } test_mkpart() { ped_test "mkpart" "mklabel sun mkpart primary ext2 10 20" } test_mkpartfs() { ped_test "mkpartfs" "mklabel sun mkpartfs primary ext2 10 20" } test_rm() { ped_test "rm" "mklabel sun mkpart primary ext2 10 20 rm 1" } test_too_many_primary() { ped_test_expect_fail "too many primary partitions" \ "mklabel sun \ mkpart primary ext2 10 20 \ mkpart primary ext2 20 30 \ mkpart primary ext2 30 40 \ mkpart primary ext2 40 50 \ mkpart primary ext2 50 60 \ mkpart primary ext2 60 70 \ mkpart primary ext2 70 80 \ mkpart primary ext2 80 90 \ mkpart primary ext2 90 100" } test_primary_overlap() { ped_test "correction primary partition overlapping"\ "mklabel sun \ mkpart primary ext2 0 100\ mkpart primary ext2 50 150" } test_nonexistent_remove() { ped_test_expect_fail "removal of non-existent partition"\ "mklabel sun \ rm 1" } test_create_extended() { ped_test_expect_fail "creation of extended partition"\ "mklabel sun \ mkpart extended 0 100" } test_create_small() { ped_test "create small partition"\ "mklabel sun \ mkpartfs primary ext2 1 2" } test_move() { ped_test "move partition"\ "mklabel sun \ mkpartfs primary ext2 0 100 \ mkpartfs primary ext2 101 200 \ move 1 201 301" } main() { if ! test_mklabel; then exit 1 fi test_mkpart test_mkpartfs test_rm test_too_many_primary test_primary_overlap test_nonexistent_remove test_create_extended test_create_small test_move } main parted-2.3/debug/test/HOWTO0000644000000000000000000001577411370314006012425 00000000000000============================================================================== PARTED REGRESSION TEST HOWTO ============================================================================== by Andrew Clausen Copyright (C) 2002, 2009-2010 Free Software Foundation, Inc. This document may be distributed and/or modified without restriction CONTENTS -------- 1 Introduction 2 What you need 3 Setting up testrc 4 Running the tests 5 How the tests work ------------------------------------------------------------------------------ 1 INTRODUCTION ------------------------------------------------------------------------------ This document describes how to safely configure and run the GNU Parted regression tests. Regression tests are a set of "test cases" (or program inputs, whatever), that have a well defined "correct" and "broken". The idea is to run regression tests after making changes, to check you didn't break anything. They are also useful for testing Parted in a new environment... perhaps you're computer has something peculiar that breaks it. Therefore, it's helpful for you to run Parted regression tests. ------------------------------------------------------------------------------ 2 WHAT YOU NEED ------------------------------------------------------------------------------ You need: * a spare hard drive (for GNU/Linux... haven't tried GNU/Hurd) This is because only gendisk block devices can have partition tables. * msdos partition table support in the kernel (for Linux). (FIXME: can use our shiny new partprobe!) * file system support for ext2 and fat * a reasonably standard GNU system, with diff(1), bash(1), e2fsck(8), dosfsck(8), etc. * parted, compiled in it's source directory. i.e. ./configure && make * a test data source, between 100 and 150 Mb, that contains all lower-case filenames, and no symlinks. It must have a significant (i.e. at least 5%) amount of data in a subdirectory. You can convert filenames to lowercase with: cd /data-source echo 'mv $1 $( echo $1 | tr A-Z a-z )' > tolower chmod a+x tolower find | grep [A-Z] | xargs -l1 ./tolower rm tolower (Hint: if you don't trust me, stick an "echo" before mv, and it'll print out what it's going to do ;) ------------------------------------------------------------------------------ 3 SETTING UP TESTRC ------------------------------------------------------------------------------ The testrc must be configured for your system. The tests will refuse to run if you don't. I'll work from top-to-bottom, describing how to fill in each value: 3.1 TEST_HOST ----------------- This field must match the output of hostname(1). This is just a safety check, so you don't use the wrong testrc file, and destroy the wrong data ;) Example: TEST_HOST=mirkwood 3.2 TEST_PARTED_BASE ------------------------ This is the directory where you untarred and compiled parted: Example: TEST_PARTED_BASE=~clausen/parted-1.4.20 3.3 TEST_PARTED_COMMAND --------------------------- You shouldn't need to change this. It's just where to find parted. Example: TEST_PARTED_COMMAND=$TEST_PARTED_BASE/parted/parted 3.4 TEST_PARTED_CLEARFAT ---------------------------- You shouldn't need to change this. It's just where to find clearfat, a special tool to help test Parted's fat code. All it does is zero out unused (meta)data. (There were cases in the past where stale metadata was making it appear that parted was working, when it wasn't) Example: TEST_PARTED_CLEARFAT=$TEST_PARTED_BASE/debug/clearfat/clearfat 3.5 TEST_DRIVE ------------------ The drive to be completely clobbered! i.e. where testing will occur. Needless to say, I hope you don't have anything important there. Example: Example: TEST_DRIVE=/dev/hdc 3.6 TEST_DRIVE ------------------ The size of the disk, in megabytes, excluding the fractional part (decimal point). You can get this from Parted's print output. (Geometry of /dev/hdc is 0.0-*THIS IS IT*). Example: TEST_DRIVE_SIZE=8063 3.7 TEST_MOUNT_POINT ------------------------ A mount point that the tests can use, to mount $TEST_DRIVE. Obviously, you need to create it with mkdir(1). Example: TEST_MOUNT_POINT=/mnt/test 3.8 TEST_DATA ----------------- Where to get test data from. See advice in section 2 for requirements on the test data. Example: TEST_DATA=/var/www 3.9 TEST_DATA_HOLE ---------------------- A directory inside $TEST_DATA, that will be deleted to create some fragmentation. It should be at least 5% and at most 80% of the test data. Example: TEST_DATA_HOLE=icons 3.10 TEST_FS_USE_DISK_LABEL ------------------------------ Which disk label to use for testing file systems. At the moment, only msdos is supported/tested, although most should work. Example: TEST_FS_USE_DISK_LABEL=msdos 3.11 QUIET_KERNEL -------------------- Set to 1 if you want to shut up the kernel's annoying messages Example: QUIET_KERNEL=1 3.12 VERBOSE_LOGS -------------------- Set to 1 if you want logging of everything, including successful tests. Example: VERBOSE_LOGS=1 3.13 MALLOC_TRACE -------------------- Uncomment this if you want to do malloc() debugging with mtrace. TODO: document this. ------------------------------------------------------------------------------ 4 RUNNING THE TESTS ------------------------------------------------------------------------------ 4.1 Starting the tests -------------------------- To run the tests, you must be root. To run all tests, type: ./test To run a subset of tests, you can type part of the file name of those tests. For example, to run all partition table tests, type: ./test disk Or the FAT tests: ./test fat 4.2 Stopping the tests -------------------------- If you want to interrupt the tests, the easiest way is: (1) hit ctrl-z on the controlling virtual console / terminal (2) run "ps", with no arguments (3) run "kill -9 [PID]", where [PID] is the process id of "test" 4.3 Examining the logs -------------------------- In progress logs are written to test_out. After each test completes, it's output (from test_out), among other things is appended to test_log To check if any tests failed, type: grep failed test_log > /dev/null && echo FAILED || echo PASSED If some tests failed, check the logs to see what the problem is. You may have set up the regression tests incorrectly. 4.4 Sending bug reports --------------------------- If you think it's a bug (or you're not sure), email us! bug-parted@gnu.org Please attach the test_log. Gzip it first ;) ------------------------------------------------------------------------------ 5 HOW THE TESTS WORK ------------------------------------------------------------------------------ Parted has regression tests for all partition table formats, and for the ext2, fat and linuxswap. The partition table tests are mainly "Create problem X and test that parted complains about it". It doesn't compare output... only if parted reports error, and that it doesn't segfault. The file system tests are mainly "do some operation on the file system, and check it's still got the same data", via diff(1). Also, it runs dosfsck(1) and e2fsck(1). parted-2.3/debug/test/test_fs_linux_swap0000744000000000000000000000213111370314006015425 00000000000000#! /bin/bash test_mkpartfs() { ped_test "mkpartfs"\ "mklabel $TEST_FS_USE_DISK_LABEL\ mkpartfs primary linux-swap 1 $DEFAULT_END\ check 1" ped_test "mkfs"\ "mkfs 1 linux-swap\ check 1" } do_test_swap() { ped_testing "$1" if ped_test_get_val "$2" "$3"; then ped_test_failed return 1 fi if /sbin/swapon "${TEST_DRIVE}1"; then /sbin/swapoff "${TEST_DRIVE}1" ped_test_ok else ped_test_failed fi } test_resize_move_start_forward() { do_test_swap "resize: move start forward"\ "resize 1 5 $DEFAULT_END check 1" } test_resize_move_start_backward() { do_test_swap "resize: move start backward"\ "resize 1 1 $DEFAULT_END check 1" } test_resize_move_end_forward() { do_test_swap "resize: move end forward"\ "resize 1 1 $[ $DEFAULT_END + 5 ] check 1" } test_resize_move_end_backward() { do_test_swap "resize: move end backward"\ "resize 1 1 $DEFAULT_END check 1" } main() { export DEFAULT_END=200 if ! test_mkpartfs; then return 1 fi test_resize_move_start_forward test_resize_move_start_backward test_resize_move_end_forward test_resize_move_end_backward } main parted-2.3/debug/test/testrc0000644000000000000000000000213311370314006013012 00000000000000# fill this in! It'll refuse to run if you don't. I don't want this # configuration used to clobber your machine :-) TEST_HOST=satisfactory # Parted distribution base # TEST_PARTED_BASE=../.. TEST_PARTED_BASE=/home/parted/cvs/stable # where to find GNU parted TEST_PARTED_COMMAND=$TEST_PARTED_BASE/parted/parted # where to find clearfat TEST_PARTED_CLEARFAT=$TEST_PARTED_BASE/debug/clearfat/clearfat # the drive to be completely clobbered! TEST_DRIVE=/dev/hdb # The size of the disk, in megabytes TEST_DRIVE_SIZE=19092 # where TEST_DRIVE gets mounted TEST_MOUNT_POINT=/mnt/test # where to get test data from. Clear text is nice - easier to debug. TEST_DATA=/usr/src/kernel-source-2.4.20 # data to delete and replace, to "fragment" the drive. TEST_DATA_HOLE=include # which disk label to use for testing file systems TEST_FS_USE_DISK_LABEL=msdos # set to 1 if you want to shut up the kernel's annoying messages QUIET_KERNEL=1 # set to 1 if you want logging of everything, including successful tests VERBOSE_LOGS=1 # set this if you want to do malloc() debugging with mtrace #MALLOC_TRACE=malloc-trace parted-2.3/debug/test/test_disk_mac0000744000000000000000000000221611370314006014322 00000000000000#! /bin/bash test_mklabel() { ped_test "mklabel" "mklabel mac" } test_mkpart() { ped_test "mkpart" "mklabel mac mkpart primary ext2 10 20" } test_mkpartfs() { ped_test "mkpartfs" "mklabel mac mkpartfs primary ext2 10 20" } test_rm() { ped_test "rm" "mklabel mac mkpart primary ext2 10 20 rm 2" } test_primary_overlap() { ped_test "correction of primary partition overlapping"\ "mklabel mac \ mkpart primary ext2 0.01 100\ mkpart primary ext2 50 150" } test_nonexistent_remove() { ped_test_expect_fail "removal of non-existent partition"\ "mklabel mac \ rm 2" } test_create_extended() { ped_test_expect_fail "creation of extended partition"\ "mklabel mac \ mkpart extended 0.01 100" } test_create_small() { ped_test "create small partition"\ "mklabel mac \ mkpartfs primary ext2 1 2" } test_move() { ped_test "move partition"\ "mklabel mac \ mkpartfs primary ext2 1 100 \ mkpartfs primary ext2 101 200 \ move 2 201 301" } main() { if ! test_mklabel; then exit 1 fi test_mkpart test_mkpartfs test_rm test_primary_overlap test_nonexistent_remove test_create_extended test_create_small test_move } main parted-2.3/debug/Makefile.in0000644000000000000000000012063711400005572012662 00000000000000# Makefile.in generated by automake 1.11a from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = debug DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \ $(top_srcdir)/m4/asm-underscore.m4 $(top_srcdir)/m4/assert.m4 \ $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/calloc.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \ $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/dirname.m4 \ $(top_srcdir)/m4/dos.m4 $(top_srcdir)/m4/double-slash-root.m4 \ $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/extensions.m4 \ $(top_srcdir)/m4/fclose.m4 $(top_srcdir)/m4/fcntl-o.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fpending.m4 \ $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getopt.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \ $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/lib-ignore.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \ $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \ $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/long-options.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \ $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/memchr.m4 \ $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \ $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/o-direct.m4 $(top_srcdir)/m4/open.m4 \ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \ $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/readlink.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/safe-read.m4 \ $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \ $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/symlink.m4 \ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \ $(top_srcdir)/m4/version-etc.m4 \ $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \ $(top_srcdir)/m4/wctype_h.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xstrndup.m4 \ $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/lib/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ distdir ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ BUILDINFO = @BUILDINFO@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ CONFIG_INCLUDE = @CONFIG_INCLUDE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DL_LIBS = @DL_LIBS@ DM_LIBS = @DM_LIBS@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENABLE_DEVICE_MAPPER = @ENABLE_DEVICE_MAPPER@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPURGE = @GNULIB_FPURGE@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSTATAT = @GNULIB_FSTATAT@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETGROUPS = @GNULIB_GETGROUPS@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMCHR = @GNULIB_MEMCHR@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDIRAT = @GNULIB_MKDIRAT@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKFIFO = @GNULIB_MKFIFO@ GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@ GNULIB_MKNOD = @GNULIB_MKNOD@ GNULIB_MKNODAT = @GNULIB_MKNODAT@ GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PTSNAME = @GNULIB_PTSNAME@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ GNULIB_RMDIR = @GNULIB_RMDIR@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STAT = @GNULIB_STAT@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNCAT = @GNULIB_STRNCAT@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRPTIME = @GNULIB_STRPTIME@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNLINK = @GNULIB_UNLINK@ GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_USLEEP = @GNULIB_USLEEP@ GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_FUTIMENS = @HAVE_FUTIMENS@ HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETGROUPS = @HAVE_GETGROUPS@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@ HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@ HAVE_LANGINFO_H = @HAVE_LANGINFO_H@ HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LCHOWN = @HAVE_LCHOWN@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LOCALTIME_R = @HAVE_LOCALTIME_R@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_MKFIFO = @HAVE_MKFIFO@ HAVE_MKFIFOAT = @HAVE_MKFIFOAT@ HAVE_MKNOD = @HAVE_MKNOD@ HAVE_MKNODAT = @HAVE_MKNODAT@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ HAVE_OS_H = @HAVE_OS_H@ HAVE_PIPE2 = @HAVE_PIPE2@ HAVE_PREAD = @HAVE_PREAD@ HAVE_PTSNAME = @HAVE_PTSNAME@ HAVE_PWRITE = @HAVE_PWRITE@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TTYNAME_R = @HAVE_TTYNAME_R@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_USLEEP = @HAVE_USLEEP@ HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ HAVE_WCRTOMB = @HAVE_WCRTOMB@ HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE__BOOL = @HAVE__BOOL@ IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ INTLINCS = @INTLINCS@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ LIBTOOL = @LIBTOOL@ LIB_BLKID = @LIB_BLKID@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@ LOCALE_JA = @LOCALE_JA@ LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTALLOCA = @LTALLOCA@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ NEXT_WCTYPE_H = @NEXT_WCTYPE_H@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OS = @OS@ OS_LIBS = @OS_LIBS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PARTEDLDFLAGS = @PARTEDLDFLAGS@ PARTED_LIBS = @PARTED_LIBS@ PARTED_USABLE_TEST_DIR = @PARTED_USABLE_TEST_DIR@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POSUB = @POSUB@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PRIPTR_PREFIX = @PRIPTR_PREFIX@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REISER_LIBS = @REISER_LIBS@ REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FSTAT = @REPLACE_FSTAT@ REPLACE_FSTATAT = @REPLACE_FSTATAT@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ REPLACE_MBRLEN = @REPLACE_MBRLEN@ REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ REPLACE_MBSINIT = @REPLACE_MBSINIT@ REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_OPENAT = @REPLACE_OPENAT@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALPATH = @REPLACE_REALPATH@ REPLACE_REMOVE = @REPLACE_REMOVE@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRNCAT = @REPLACE_STRNCAT@ REPLACE_STRNDUP = @REPLACE_STRNDUP@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ REPLACE_UNSETENV = @REPLACE_UNSETENV@ REPLACE_USLEEP = @REPLACE_USLEEP@ REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ SELINUX_LIBS = @SELINUX_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_NLS = @USE_NLS@ UUID_LIBS = @UUID_LIBS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_aux_dir = @abs_aux_dir@ 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@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ gltests_WITNESS = @gltests_WITNESS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = clearfat test AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) MAINTAINERCLEANFILES = Makefile.in all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu debug/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu debug/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done cscopelist-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(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 mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) \ cscopelist-recursive ctags-recursive install-am install-strip \ tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ cscopelist cscopelist-recursive ctags ctags-recursive \ distclean distclean-generic distclean-libtool distclean-tags \ distdir dvi dvi-am html html-am info info-am install \ install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags tags-recursive uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: parted-2.3/dist-check.mk0000644000000000000000000001322511311411540012065 00000000000000# Most of this is probably too coreutils-centric to be useful to other packages. bin=bin-$$$$ write_loser = printf '\#!%s\necho $$0: bad path 1>&2; exit 1\n' '$(SHELL)' tmpdir = $(abs_top_builddir)/tests/torture t=$(tmpdir)/$(PACKAGE)/test pfx=$(t)/i built_programs = \ $$(echo 'spy:;@echo $$(PROGRAMS)' \ | MAKEFLAGS= $(MAKE) -s -C parted -f Makefile -f - spy \ | fmt -1 | sed 's,$(EXEEXT)$$,,' | sort -u) # More than once, tainted build and source directory names would # have caused at least one "make check" test to apply "chmod 700" # to all directories under $HOME. Make sure it doesn't happen again. tp = $(tmpdir)/taint t_prefix = $(tp)/a t_taint = '$(t_prefix) b' fake_home = $(tp)/home # When extracting from a distribution tarball, extract using the fastest # method possible. With dist-xz, that means using the *.xz file. ifneq ('', $(filter *.xz, $(DIST_ARCHIVES))) tar_decompress_opt_ = J suffix_ = xz else ifneq ('', $(filter *.gz, $(DIST_ARCHIVES))) tar_decompress_opt_ = z suffix_ = gz else tar_decompress_opt_ = j suffix_ = bz2 endif endif amtar_extract_ = $(AMTAR) -$(tar_decompress_opt_)xf preferred_tarball_ = $(distdir).tar.$(suffix_) # Ensure that tests run from tainted build and src dir names work, # and don't affect anything in $HOME. Create witness files in $HOME, # record their attributes, and build/test. Then ensure that the # witnesses were not affected. # Skip this test when using libtool, since libtool-generated scripts # cannot deal with a space-tainted srcdir. ALL_RECURSIVE_TARGETS += taint-distcheck taint-distcheck: $(DIST_ARCHIVES) grep '^[ ]*LT_INIT' configure.ac >/dev/null && exit 0 test -d $(t_taint) && chmod -R 700 $(t_taint) || : -rm -rf $(t_taint) $(fake_home) mkdir -p $(t_prefix) $(t_taint) $(fake_home) $(amtar_extract_) $(preferred_tarball_) -C $(t_taint) mkfifo $(fake_home)/fifo touch $(fake_home)/f mkdir -p $(fake_home)/d/e ls -lR $(fake_home) $(t_prefix) > $(tp)/.ls-before HOME=$(fake_home); export HOME; \ cd $(t_taint)/$(distdir) \ && ./configure \ && $(MAKE) \ && $(MAKE) check \ && ls -lR $(fake_home) $(t_prefix) > $(tp)/.ls-after \ && diff $(tp)/.ls-before $(tp)/.ls-after \ && test -d $(t_prefix) rm -rf $(tp) # Verify that a twisted use of --program-transform-name=PROGRAM works. define install-transform-check echo running install-transform-check \ && rm -rf $(pfx) \ && $(MAKE) program_transform_name='s/.*/zyx/' \ prefix=$(pfx) install \ && test "$$(echo $(pfx)/sbin/*)" = "$(pfx)/sbin/zyx" \ && test "$$(find $(pfx)/share/man -type f|sed 's,.*/,,;s,\..*,,')" = "zyx" endef # Install, then verify that all binaries and man pages are in place. # Note that neither the binary, ginstall, nor the [.1 man page is installed. define my-instcheck echo running my-instcheck; \ $(MAKE) prefix=$(pfx) install \ && test ! -f $(pfx)/bin/ginstall \ && { fail=0; \ for i in $(built_programs); do \ test "$$i" = ginstall && i=install; \ for j in "$(pfx)/sbin/$$i" \ "$(pfx)/share/man/man8/$$i.8"; do \ case $$j in *'[.1') continue;; esac; \ test -f "$$j" && : \ || { echo "$$j not installed"; fail=1; }; \ done; \ done; \ test $$fail = 1 && exit 1 || :; \ } endef # The hard-linking for-loop below ensures that there is a bin/ directory # full of all of the programs under test (except the ones that are required # for basic Makefile rules), all symlinked to the just-built "false" program. # This is to ensure that if ever a test neglects to make PATH include # the build srcdir, these always-failing programs will run. # Otherwise, it is too easy to test the wrong programs. # Note that "false" itself is a symlink to true, so it too will malfunction. define coreutils-path-check { \ echo running coreutils-path-check; \ if test -f $(srcdir)/src/true.c; then \ fail=1; \ mkdir $(bin) \ && ($(write_loser)) > $(bin)/loser \ && chmod a+x $(bin)/loser \ && for i in $(built_programs); do \ case $$i in \ rm|expr|basename|echo|sort|ls|tr);; \ cat|dirname|mv|wc);; \ *) ln $(bin)/loser $(bin)/$$i;; \ esac; \ done \ && ln -sf ../src/true $(bin)/false \ && PATH=`pwd`/$(bin)$(PATH_SEPARATOR)$$PATH \ $(MAKE) -C tests check \ && { test -d gnulib-tests \ && $(MAKE) -C gnulib-tests check \ || :; } \ && rm -rf $(bin) \ && fail=0; \ else \ fail=0; \ fi; \ test $$fail = 1 && exit 1 || :; \ } endef # Use this to make sure we don't run these programs when building # from a virgin compressed tarball file, below. null_AM_MAKEFLAGS ?= \ ACLOCAL=false \ AUTOCONF=false \ AUTOMAKE=false \ AUTOHEADER=false \ GPERF=false \ MAKEINFO=false ALL_RECURSIVE_TARGETS += my-distcheck my-distcheck: $(DIST_ARCHIVES) $(local-check) $(MAKE) syntax-check $(MAKE) check -rm -rf $(t) mkdir -p $(t) $(amtar_extract_) $(preferred_tarball_) -C $(t) (set -e; cd $(t)/$(distdir); \ ./configure --quiet --enable-gcc-warnings --disable-nls; \ $(MAKE) AM_MAKEFLAGS='$(null_AM_MAKEFLAGS)'; \ $(MAKE) dvi; \ $(install-transform-check); \ $(my-instcheck); \ $(coreutils-path-check); \ $(MAKE) distclean \ ) (cd $(t) && mv $(distdir) $(distdir).old \ && $(amtar_extract_) - ) < $(preferred_tarball_) diff -ur $(t)/$(distdir).old $(t)/$(distdir) -rm -rf $(t) rmdir $(tmpdir)/$(PACKAGE) $(tmpdir) @echo "========================"; \ echo "ready for distribution:"; \ for i in $(DIST_ARCHIVES); do echo " $$i"; done; \ echo "========================" parted-2.3/.version0000644000000000000000000000000411400005620011170 000000000000002.3 parted-2.3/parted.spec.in0000644000000000000000000000543011310642701012261 00000000000000# Default to disabling device-mapper and SELinux %define use_devmapper 0 %define use_selinux 0 %define use_sepol 0 # Enable device-mapper support if we find devmapper %define use_devmapper %(pkg-config --libs devmapper >/dev/null 2>&1; [ $? -eq 0 ] && echo 1) # Enable SELinux if we find libselinux and libsepol %define use_selinux %([ -r %{_libdir}/libselinux.a ] && echo 1) %define use_sepol %([ -r %{_libdir}/libsepol.so ] && echo 1) Summary: The GNU disk partition manipulation program Name: @PACKAGE@ Version: @VERSION@ Release: 1 Source: ftp://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.bz2 Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) License: GPL Group: Applications/System BuildRequires: e2fsprogs-devel readline-devel ncurses-devel gperf BuildRequires: automake libtool gettext-devel texinfo pkgconfig BuildRequires: device-mapper-devel, libselinux-devel libsepol-devel Prereq: /sbin/install-info %description The GNU Parted program allows you to create, destroy, resize, move, and copy hard disk partitions. Parted can be used for creating space for new operating systems, reorganizing disk usage, and copying data to new hard disks. %package devel Summary: Files for developing apps which will manipulate disk partitions Group: Development/Libraries Requires: %{name}-%{version}-%{release} %description devel The GNU Parted library is a set of routines for hard disk partition manipulation. If you want to develop programs that manipulate disk partitions and filesystems using the routines provided by the GNU Parted library, you need to install this package. %prep %setup -q %build %configure \ --enable-shared \ %if "%{use_devmapper}" == "1" --enable-device-mapper \ %else --disable-devmapper \ %endif %if "%{use_selinux}" == "1" && "%{use_sepol}" == "1" --enable-selinux \ %else --disable-selinux \ %endif --enable-part-static \ --enable-pc98=no \ --enable-Werror=no \ --disable-dynamic-loading %{__make} %{?_smp_mflags} %install %{__rm} -rf %{buildroot} %{__make} install DESTDIR=%{buildroot} %clean %{__rm} -rf %{buildroot} %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %defattr(-,root,root,-) %doc AUTHORS BUGS COPYING ChangeLog NEWS README THANKS TODO doc/API doc/FAT %{_sbindir}/parted %{_sbindir}/partprobe %{_mandir}/man8/parted.8.gz %{_mandir}/man8/partprobe.8.gz %{_libdir}/libparted-*.so.* %{_libdir}/libparted-*.so.* %{_infodir}/parted.info.gz %files devel %defattr(-,root,root,-) %{_includedir}/parted %{_libdir}/libparted.a %{_libdir}/libparted.so %{_libdir}/pkgconfig/libparted.pc %changelog * Tue Mar 13 2007 David Cantrell - Updated spec file * Mon Mar 13 2000 Fabian Emmes - changed "unset LINGUAS" line - reintroduced %build section ;) - started changelog parted-2.3/GNUmakefile0000644000000000000000000001131411400003374011566 00000000000000# Having a separate GNUmakefile lets me `include' the dynamically # generated rules created via cfg.mk (package-local configuration) # as well as maint.mk (generic maintainer rules). # This makefile is used only if you run GNU Make. # It is necessary if you want to build targets usually of interest # only to the maintainer. # Copyright (C) 2001, 2003, 2006-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Systems where /bin/sh is not the default shell need this. The $(shell) # command below won't work with e.g. stock DOS/Windows shells. ifeq ($(wildcard /bin/s[h]),/bin/sh) SHELL = /bin/sh else # will be used only with the next shell-test line, then overwritten # by a configured-in value SHELL = sh endif # If the user runs GNU make but has not yet run ./configure, # give them a diagnostic. _have-Makefile := $(shell test -f Makefile && echo yes) ifeq ($(_have-Makefile),yes) # Make tar archive easier to reproduce. export TAR_OPTIONS = --owner=0 --group=0 --numeric-owner # Allow the user to add to this in the Makefile. ALL_RECURSIVE_TARGETS = include Makefile # Some projects override e.g., _autoreconf here. -include $(srcdir)/cfg.mk include $(srcdir)/maint.mk # Allow cfg.mk to override these. _build-aux ?= build-aux _autoreconf ?= autoreconf -v # Ensure that $(VERSION) is up to date for dist-related targets, but not # for others: rerunning autoreconf and recompiling everything isn't cheap. _have-git-version-gen := \ $(shell test -f $(srcdir)/$(_build-aux)/git-version-gen && echo yes) ifeq ($(_have-git-version-gen)0,yes$(MAKELEVEL)) _is-dist-target ?= $(filter-out %clean, \ $(filter maintainer-% dist% alpha beta major,$(MAKECMDGOALS))) _is-install-target ?= $(filter-out %check, $(filter install%,$(MAKECMDGOALS))) ifneq (,$(_is-dist-target)$(_is-install-target)) _curr-ver := $(shell cd $(srcdir) \ && $(_build-aux)/git-version-gen \ .tarball-version \ $(git-version-gen-tag-sed-script)) ifneq ($(_curr-ver),$(VERSION)) ifeq ($(_curr-ver),UNKNOWN) $(info WARNING: unable to verify if $(VERSION) is the correct version) else ifneq (,$(_is-install-target)) # GNU Coding Standards state that 'make install' should not cause # recompilation after 'make all'. But as long as changing the version # string alters config.h, the cost of having 'make all' always have an # up-to-date version is prohibitive. So, as a compromise, we merely # warn when installing a version string that is out of date; the user # should run 'autoreconf' (or something like 'make distcheck') to # fix the version, 'make all' to propagate it, then 'make install'. $(info WARNING: version string $(VERSION) is out of date;) $(info run '$(MAKE) _version' to fix it) else $(info INFO: running autoreconf for new version string: $(_curr-ver)) GNUmakefile: _version touch GNUmakefile endif endif endif endif endif .PHONY: _version _version: cd $(srcdir) && rm -rf autom4te.cache .version && $(_autoreconf) $(MAKE) $(AM_MAKEFLAGS) Makefile else .DEFAULT_GOAL := abort-due-to-no-makefile srcdir = . # The package can override .DEFAULT_GOAL to run actions like autoreconf. -include ./cfg.mk include ./maint.mk ifeq ($(.DEFAULT_GOAL),abort-due-to-no-makefile) $(MAKECMDGOALS): abort-due-to-no-makefile endif abort-due-to-no-makefile: @echo There seems to be no Makefile in this directory. 1>&2 @echo "You must run ./configure before running \`make'." 1>&2 @exit 1 endif # Tell version 3.79 and up of GNU make to not build goals in this # directory in parallel, in case someone tries to build multiple # targets, and one of them can cause a recursive target to be invoked. # Only set this if Automake doesn't provide it. AM_RECURSIVE_TARGETS ?= $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) \ dist distcheck tags ctags ALL_RECURSIVE_TARGETS += $(AM_RECURSIVE_TARGETS) ifneq ($(word 2, $(MAKECMDGOALS)), ) ifneq ($(filter $(ALL_RECURSIVE_TARGETS), $(MAKECMDGOALS)), ) .NOTPARALLEL: endif endif parted-2.3/maint.mk0000644000000000000000000012771211377760431011210 00000000000000# -*-Makefile-*- # This Makefile fragment tries to be general-purpose enough to be # used by many projects via the gnulib maintainer-makefile module. ## Copyright (C) 2001-2010 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 3 of the License, or ## (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program. If not, see . # This is reported not to work with make-3.79.1 # ME := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) ME := maint.mk # Override this in cfg.mk if you use a non-standard build-aux directory. build_aux ?= $(srcdir)/build-aux # Do not save the original name or timestamp in the .tar.gz file. # Use --rsyncable if available. gzip_rsyncable := \ $(shell gzip --help 2>/dev/null|grep rsyncable >/dev/null \ && printf %s --rsyncable) GZIP_ENV = '--no-name --best $(gzip_rsyncable)' GIT = git VC = $(GIT) VC-tag = git tag -s -m '$(VERSION)' -u '$(gpg_key_ID)' VC_LIST = $(build_aux)/vc-list-files -C $(srcdir) # You can override this variable in cfg.mk to set your own regexp # matching files to ignore. VC_LIST_ALWAYS_EXCLUDE_REGEX ?= ^$$ # This is to preprocess robustly the output of $(VC_LIST), so that even # when $(srcdir) is a pathological name like "....", the leading sed command # removes only the intended prefix. _dot_escaped_srcdir = $(subst .,\.,$(srcdir)) # Post-process $(VC_LIST) output, prepending $(srcdir)/, but only # when $(srcdir) is not ".". ifeq ($(srcdir),.) _prepend_srcdir_prefix = else _prepend_srcdir_prefix = | sed 's|^|$(srcdir)/|' endif # In order to be able to consistently filter "."-relative names, # (i.e., with no $(srcdir) prefix), this definition is careful to # remove any $(srcdir) prefix, and to restore what it removes. VC_LIST_EXCEPT = \ $(VC_LIST) | sed 's|^$(_dot_escaped_srcdir)/||' \ | if test -f $(srcdir)/.x-$@; then grep -vEf $(srcdir)/.x-$@; \ else grep -Ev -e "$${VC_LIST_EXCEPT_DEFAULT-ChangeLog}"; fi \ | grep -Ev -e '$(VC_LIST_ALWAYS_EXCLUDE_REGEX)' \ $(_prepend_srcdir_prefix) ifeq ($(origin prev_version_file), undefined) prev_version_file = $(srcdir)/.prev-version endif PREV_VERSION := $(shell cat $(prev_version_file) 2>/dev/null) VERSION_REGEXP = $(subst .,\.,$(VERSION)) PREV_VERSION_REGEXP = $(subst .,\.,$(PREV_VERSION)) ifeq ($(VC),$(GIT)) this-vc-tag = v$(VERSION) this-vc-tag-regexp = v$(VERSION_REGEXP) else tag-package = $(shell echo "$(PACKAGE)" | tr '[:lower:]' '[:upper:]') tag-this-version = $(subst .,_,$(VERSION)) this-vc-tag = $(tag-package)-$(tag-this-version) this-vc-tag-regexp = $(this-vc-tag) endif my_distdir = $(PACKAGE)-$(VERSION) # Old releases are stored here. release_archive_dir ?= ../release # Override gnu_rel_host and url_dir_list in cfg.mk if these are not right. # Use alpha.gnu.org for alpha and beta releases. # Use ftp.gnu.org for stable releases. gnu_ftp_host-alpha = alpha.gnu.org gnu_ftp_host-beta = alpha.gnu.org gnu_ftp_host-stable = ftp.gnu.org gnu_rel_host ?= $(gnu_ftp_host-$(RELEASE_TYPE)) ifeq ($(gnu_rel_host),ftp.gnu.org) url_dir_list ?= http://ftpmirror.gnu.org/$(PACKAGE) else url_dir_list ?= ftp://$(gnu_rel_host)/gnu/$(PACKAGE) endif # Override this in cfg.mk if you are using a different format in your # NEWS file. today = $(shell date +%Y-%m-%d) news-check-regexp ?= '^\*.* $(VERSION_REGEXP) \($(today)\)' # Prevent programs like 'sort' from considering distinct strings to be equal. # Doing it here saves us from having to set LC_ALL elsewhere in this file. export LC_ALL = C ## --------------- ## ## Sanity checks. ## ## --------------- ## _cfg_mk := $(shell test -f $(srcdir)/cfg.mk && echo '$(srcdir)/cfg.mk') # Collect the names of rules starting with `sc_'. syntax-check-rules := $(sort $(shell sed -n 's/^\(sc_[a-zA-Z0-9_-]*\):.*/\1/p' \ $(srcdir)/$(ME) $(_cfg_mk))) .PHONY: $(syntax-check-rules) local-checks-available = \ $(syntax-check-rules) .PHONY: $(local-checks-available) # Arrange to print the name of each syntax-checking rule just before running it. $(syntax-check-rules): %: %.m sc_m_rules_ = $(patsubst %, %.m, $(syntax-check-rules)) .PHONY: $(sc_m_rules_) $(sc_m_rules_): @echo $(patsubst sc_%.m, %, $@) @date +%s.%N > .sc-start-$(basename $@) # Compute and print the elapsed time for each syntax-check rule. sc_z_rules_ = $(patsubst %, %.z, $(syntax-check-rules)) .PHONY: $(sc_z_rules_) $(sc_z_rules_): %.z: % @end=$$(date +%s.%N); \ start=$$(cat .sc-start-$*); \ rm -f .sc-start-$*; \ awk -v s=$$start -v e=$$end \ 'END {printf "%.2f $(patsubst sc_%,%,$*)\n", e - s}' < /dev/null # The patsubst here is to replace each sc_% rule with its sc_%.z wrapper # that computes and prints elapsed time. local-check := \ $(patsubst sc_%, sc_%.z, \ $(filter-out $(local-checks-to-skip), $(local-checks-available))) syntax-check: $(local-check) # _sc_search_regexp # # This macro searches for a given construct in the selected files and # then takes some action. # # Parameters (shell variables): # # prohibit | require # # Regular expression (ERE) denoting either a forbidden construct # or a required construct. Those arguments are exclusive. # # in_vc_files | in_files # # grep-E-style regexp denoting the files to check. If no files # are specified the default are all the files that are under # version control. # # containing | non_containing # # Select the files (non) containing strings matching this regexp. # If both arguments are specified then CONTAINING takes # precedence. # # with_grep_options # # Extra options for grep. # # ignore_case # # Ignore case. # # halt # # Message to display before to halting execution. # By default, _sc_search_regexp does not ignore case. export ignore_case = _ignore_case = $$(test -n "$$ignore_case" && printf %s -i || :) define _sc_say_and_exit dummy=; : so we do not need a semicolon before each use; \ { printf '%s\n' "$(ME): $$msg" 1>&2; exit 1; }; endef # _sc_search_regexp used to be named _prohibit_regexp. However, # upgrading to the new definition and leaving the old name undefined # would usually convert each custom rule using $(_prohibit_regexp) # (usually defined in cfg.mk) into a no-op. This definition ensures # that people know right away if they're still using the old name. # FIXME: remove in 2012. _prohibit_regexp = \ $(error '*** you need to s/_prohibit_regexp/_sc_search_regexp/, and adapt') define _sc_search_regexp dummy=; : so we do not need a semicolon before each use; \ \ : Check arguments; \ test -n "$$prohibit" && test -n "$$require" \ && { msg='Cannot specify both prohibit and require' \ $(_sc_say_and_exit) } || :; \ test -z "$$prohibit" && test -z "$$require" \ && { msg='Should specify either prohibit or require' \ $(_sc_say_and_exit) } || :; \ test -n "$$in_vc_files" && test -n "$$in_files" \ && { msg='Cannot specify both in_vc_files and in_files' \ $(_sc_say_and_exit) } || :; \ test "x$$halt" != x \ || { msg='halt not defined' $(_sc_say_and_exit) }; \ \ : Filter by file name; \ if test -n "$$in_files"; then \ files=$$(find $(srcdir) | grep -E "$$in_files"); \ else \ files=$$($(VC_LIST_EXCEPT)); \ if test -n "$$in_vc_files"; then \ files=$$(echo "$$files" | grep -E "$$in_vc_files"); \ fi; \ fi; \ \ : Filter by content; \ test -n "$$files" && test -n "$$containing" \ && { files=$$(grep -l "$$containing" $$files); } || :; \ test -n "$$files" && test -n "$$non_containing" \ && { files=$$(grep -vl "$$non_containing" $$files); } || :; \ \ : Check for the construct; \ if test -n "$$files"; then \ if test -n "$$prohibit"; then \ grep $$with_grep_options $(_ignore_case) -nE "$$prohibit" $$files \ && { msg="$$halt" $(_sc_say_and_exit) } || :; \ else \ grep $$with_grep_options $(_ignore_case) -LE "$$require" $$files \ | grep . \ && { msg="$$halt" $(_sc_say_and_exit) } || :; \ fi \ else :; \ fi || :; endef sc_avoid_if_before_free: @$(build_aux)/useless-if-before-free \ $(useless_free_options) \ $$($(VC_LIST_EXCEPT) | grep -v useless-if-before-free) && \ { echo '$(ME): found useless "if" before "free" above' 1>&2; \ exit 1; } || : sc_cast_of_argument_to_free: @prohibit='\&2; exit 1; } || : # Pass EXIT_*, not number, to usage, exit, and error (when exiting) # Convert all uses automatically, via these two commands: # git grep -l '\&2; \ exit 1; } || : # Error messages should not start with a capital letter sc_error_message_uppercase: @grep -nEA2 '[^rp]error *\(' $$($(VC_LIST_EXCEPT)) \ | grep -E '"[A-Z]' \ | grep -vE '"FATAL|"WARNING|"Java|"C#|PRIuMAX' && \ { echo '$(ME): found capitalized error message' 1>&2; \ exit 1; } || : # Error messages should not end with a period sc_error_message_period: @grep -nEA2 '[^rp]error *\(' $$($(VC_LIST_EXCEPT)) \ | grep -E '[^."]\."' && \ { echo '$(ME): found error message ending in period' 1>&2; \ exit 1; } || : sc_file_system: @prohibit=file''system \ ignore_case=1 \ halt='found use of "file''system"; spell it "file system"' \ $(_sc_search_regexp) # Don't use cpp tests of this symbol. All code assumes config.h is included. sc_prohibit_have_config_h: @prohibit='^# *if.*HAVE''_CONFIG_H' \ halt='found use of HAVE''_CONFIG_H; remove' \ $(_sc_search_regexp) # Nearly all .c files must include . However, we also permit this # via inclusion of a package-specific header, if cfg.mk specified one. # config_h_header must be suitable for grep -E. config_h_header ?= sc_require_config_h: @require='^# *include $(config_h_header)' \ in_vc_files='\.c$$' \ halt='the above files do not include ' \ $(_sc_search_regexp) # You must include before including any other header file. # This can possibly be via a package-specific header, if given by cfg.mk. sc_require_config_h_first: @if $(VC_LIST_EXCEPT) | grep -l '\.c$$' > /dev/null; then \ fail=0; \ for i in $$($(VC_LIST_EXCEPT) | grep '\.c$$'); do \ grep '^# *include\>' $$i | sed 1q \ | grep -E '^# *include $(config_h_header)' > /dev/null \ || { echo $$i; fail=1; }; \ done; \ test $$fail = 1 && \ { echo '$(ME): the above files include some other header' \ 'before ' 1>&2; exit 1; } || :; \ else :; \ fi sc_prohibit_HAVE_MBRTOWC: @prohibit='\bHAVE_MBRTOWC\b' \ halt="do not use $$prohibit; it is always defined" \ $(_sc_search_regexp) # To use this "command" macro, you must first define two shell variables: # h: the header, enclosed in <> or "" # re: a regular expression that matches IFF something provided by $h is used. define _sc_header_without_use dummy=; : so we do not need a semicolon before each use; \ h_esc=`echo "$$h"|sed 's/\./\\\\./g'`; \ if $(VC_LIST_EXCEPT) | grep -l '\.c$$' > /dev/null; then \ files=$$(grep -l '^# *include '"$$h_esc" \ $$($(VC_LIST_EXCEPT) | grep '\.c$$')) && \ grep -LE "$$re" $$files | grep . && \ { echo "$(ME): the above files include $$h but don't use it" \ 1>&2; exit 1; } || :; \ else :; \ fi endef # Prohibit the inclusion of assert.h without an actual use of assert. sc_prohibit_assert_without_use: @h='' re='\new(file => "/dev/stdin")->as_string'|sed 's/\?://g' # Note this was produced by the above: # _xa1 = \ #x(((2n?)?re|c(har)?|n(re|m)|z)alloc|alloc_(oversized|die)|m(alloc|emdup)|strdup) # But we can do better, in at least two ways: # 1) take advantage of two "dup"-suffixed strings: # x(((2n?)?re|c(har)?|n(re|m)|[mz])alloc|alloc_(oversized|die)|(mem|str)dup) # 2) notice that "c(har)?|[mz]" is equivalent to the shorter and more readable # "char|[cmz]" # x(((2n?)?re|char|n(re|m)|[cmz])alloc|alloc_(oversized|die)|(mem|str)dup) _xa1 = x(((2n?)?re|char|n(re|m)|[cmz])alloc|alloc_(oversized|die)|(mem|str)dup) _xa2 = X([CZ]|N?M)ALLOC sc_prohibit_xalloc_without_use: @h='"xalloc.h"' \ re='\<($(_xa1)|$(_xa2)) *\('\ $(_sc_header_without_use) # Extract function names: # perl -lne '/^(?:extern )?(?:void|char) \*?(\w+) *\(/ and print $1' lib/hash.h _hash_re = \ clear|delete|free|get_(first|next)|insert|lookup|print_statistics|reset_tuning _hash_fn = \<($(_hash_re)) *\( _hash_struct = (struct )?\<[Hh]ash_(table|tuning)\> sc_prohibit_hash_without_use: @h='"hash.h"' \ re='$(_hash_fn)|$(_hash_struct)'\ $(_sc_header_without_use) sc_prohibit_hash_pjw_without_use: @h='"hash-pjw.h"' \ re='\' \ halt='do not use HAVE''_FCNTL_H or O'_NDELAY \ $(_sc_search_regexp) # FIXME: warn about definitions of EXIT_FAILURE, EXIT_SUCCESS, STREQ # Each nonempty ChangeLog line must start with a year number, or a TAB. sc_changelog: @prohibit='^[^12 ]' \ in_vc_files='^ChangeLog$$' \ halt='found unexpected prefix in a ChangeLog' \ $(_sc_search_regexp) # Ensure that each .c file containing a "main" function also # calls set_program_name. sc_program_name: @require='set_program_name *\(m?argv\[0\]\);' \ in_vc_files='\.c$$' \ containing='^main *(' \ halt='the above files do not call set_program_name' \ $(_sc_search_regexp) # Require that the final line of each test-lib.sh-using test be this one: # Exit $fail # Note: this test requires GNU grep's --label= option. Exit_witness_file ?= tests/test-lib.sh Exit_base := $(notdir $(Exit_witness_file)) sc_require_test_exit_idiom: @if test -f $(srcdir)/$(Exit_witness_file); then \ die=0; \ for i in $$(grep -l -F 'srcdir/$(Exit_base)' \ $$($(VC_LIST) tests)); do \ tail -n1 $$i | grep '^Exit .' > /dev/null \ && : || { die=1; echo $$i; } \ done; \ test $$die = 1 && \ { echo 1>&2 '$(ME): the final line in each of the above is not:'; \ echo 1>&2 'Exit something'; \ exit 1; } || :; \ fi sc_the_the: @prohibit='\' \ ignore_case=1 \ halt='found use of "the ''the";' \ $(_sc_search_regexp) sc_trailing_blank: @prohibit='[ ]$$' \ halt='found trailing blank(s)' \ $(_sc_search_regexp) # Match lines like the following, but where there is only one space # between the options and the description: # -D, --all-repeated[=delimit-method] print all duplicate lines\n longopt_re = --[a-z][0-9A-Za-z-]*(\[?=[0-9A-Za-z-]*\]?)? sc_two_space_separator_in_usage: @prohibit='^ *(-[A-Za-z],)? $(longopt_re) [^ ].*\\$$' \ halt='help2man requires at least two spaces between an option and its description'\ $(_sc_search_regexp) # Look for diagnostics that aren't marked for translation. # This won't find any for which error's format string is on a separate line. sc_unmarked_diagnostics: @grep -nE \ '\&2; \ exit 1; } || : # Avoid useless parentheses like those in this example: # #if defined (SYMBOL) || defined (SYM2) sc_useless_cpp_parens: @prohibit='^# *if .*defined *\(' \ halt='found useless parentheses in cpp directive' \ $(_sc_search_regexp) # List headers for which HAVE_HEADER_H is always true, assuming you are # using the appropriate gnulib module. CAUTION: for each "unnecessary" # #if HAVE_HEADER_H that you remove, be sure that your project explicitly # requires the gnulib module that guarantees the usability of that header. gl_assured_headers_ = \ cd $(gnulib_dir)/lib && echo *.in.h|sed 's/\.in\.h//g' # Convert the list of names to upper case, and replace each space with "|". az_ = abcdefghijklmnopqrstuvwxyz AZ_ = ABCDEFGHIJKLMNOPQRSTUVWXYZ gl_header_upper_case_or_ = \ $$($(gl_assured_headers_) \ | tr $(az_)/.- $(AZ_)___ \ | tr -s ' ' '|' \ ) sc_prohibit_always_true_header_tests: @or=$(gl_header_upper_case_or_); \ re="HAVE_($$or)_H"; \ prohibit='\<'"$$re"'\>' \ halt='do not test the above HAVE_
_H symbol(s);\n'\ ' with the corresponding gnulib module, they are always true' \ $(_sc_search_regexp) # ================================================================== gl_other_headers_ ?= \ intprops.h \ openat.h \ stat-macros.h # Perl -lne code to extract "significant" cpp-defined symbols from a # gnulib header file, eliminating a few common false-positives. gl_extract_significant_defines_ = \ /^\# *define ([^_ (][^ (]*)(\s*\(|\s+\w+)/\ && $$2 !~ /(?:rpl_|_used_without_)/\ && $$1 !~ /^(?:NSIG|ATTRIBUTE_NORETURN)$$/\ and print $$1 # Create a list of regular expressions matching the names # of macros that are guaranteed to be defined by parts of gnulib. define def_sym_regex gen_h=$(gl_generated_headers_); \ (cd $(gnulib_dir)/lib; \ for f in *.in.h $(gl_other_headers_); do \ perl -lne '$(gl_extract_significant_defines_)' $$f; \ done; \ ) | sort -u \ | grep -Ev '^ATTRIBUTE_NORETURN' \ | sed 's/^/^ *# *(define|undef) */;s/$$/\\>/' endef # Don't define macros that we already get from gnulib header files. sc_prohibit_always-defined_macros: @if test -d $(gnulib_dir); then \ case $$(echo all: | grep -l -f - Makefile) in Makefile);; *) \ echo '$(ME): skipping $@: you lack GNU grep' 1>&2; exit 0;; \ esac; \ $(def_sym_regex) | grep -E -f - $$($(VC_LIST_EXCEPT)) \ && { echo '$(ME): define the above via some gnulib .h file' \ 1>&2; exit 1; } || :; \ fi # ================================================================== # Prohibit checked in backup files. sc_prohibit_backup_files: @$(VC_LIST) | grep '~$$' && \ { echo '$(ME): found version controlled backup file' 1>&2; \ exit 1; } || : # Require the latest GPL. sc_GPL_version: @prohibit='either ''version [^3]' \ halt='GPL vN, N!=3' \ $(_sc_search_regexp) # Require the latest GFDL. Two regexp, since some .texi files end up # line wrapping between 'Free Documentation License,' and 'Version'. _GFDL_regexp = (Free ''Documentation.*Version 1\.[^3]|Version 1\.[^3] or any) sc_GFDL_version: @prohibit='$(_GFDL_regexp)' \ halt='GFDL vN, N!=3' \ $(_sc_search_regexp) # Don't use Texinfo @acronym{} as it is not a good idea. texinfo_suffix_re_ ?= \.(txi|texi(nfo)?)$$ sc_texinfo_acronym: @prohibit='@acronym\{' \ in_vc_files='$(texinfo_suffix_re_)' \ halt='found use of Texinfo @acronym{}' \ $(_sc_search_regexp) cvs_keywords = \ Author|Date|Header|Id|Name|Locker|Log|RCSfile|Revision|Source|State sc_prohibit_cvs_keyword: @prohibit='\$$($(cvs_keywords))\$$' \ halt='do not use CVS keyword expansion' \ $(_sc_search_regexp) # This Perl code is slightly obfuscated. Not only is each "$" doubled # because it's in a Makefile, but the $$c's are comments; we cannot # use "#" due to the way the script ends up concatenated onto one line. # It would be much more concise, and would produce better output (including # counts) if written as: # perl -ln -0777 -e '/\n(\n+)$/ and print "$ARGV: ".length $1' ... # but that would be far less efficient, reading the entire contents # of each file, rather than just the last two bytes of each. # # This is a perl script that is expected to be the single-quoted argument # to a command-line "-le". The remaining arguments are file names. # Print the name of each file that ends in two or more newline bytes. # Exit nonzero if at least one such file is found, otherwise, exit 0. # Warn about, but otherwise ignore open failure. Ignore seek/read failure. # # Use this if you want to remove trailing empty lines from selected files: # perl -pi -0777 -e 's/\n\n+$/\n/' files... # detect_empty_lines_at_EOF_ = \ foreach my $$f (@ARGV) \ { \ open F, "<", $$f or (warn "failed to open $$f: $$!\n"), next; \ my $$p = sysseek (F, -2, 2); \ my $$c = "seek failure probably means file has < 2 bytes; ignore"; \ my $$last_two_bytes; \ defined $$p and $$p = sysread F, $$last_two_bytes, 2; \ close F; \ $$c = "ignore read failure"; \ $$p && $$last_two_bytes eq "\n\n" and (print $$f), $$fail=1; \ } \ END { exit defined $$fail } sc_prohibit_empty_lines_at_EOF: @perl -le '$(detect_empty_lines_at_EOF_)' $$($(VC_LIST_EXCEPT)) \ || { echo '$(ME): the above files end with empty line(s)' \ 1>&2; exit 1; } || :; \ # Make sure we don't use st_blocks. Use ST_NBLOCKS instead. # This is a bit of a kludge, since it prevents use of the string # even in comments, but for now it does the job with no false positives. sc_prohibit_stat_st_blocks: @prohibit='[.>]st_blocks' \ halt='do not use st_blocks; use ST_NBLOCKS' \ $(_sc_search_regexp) # Make sure we don't define any S_IS* macros in src/*.c files. # They're already defined via gnulib's sys/stat.h replacement. sc_prohibit_S_IS_definition: @prohibit='^ *# *define *S_IS' \ halt='do not define S_IS* macros; include ' \ $(_sc_search_regexp) _ptm1 = use "test C1 && test C2", not "test C1 -''a C2" _ptm2 = use "test C1 || test C2", not "test C1 -''o C2" # Using test's -a and -o operators is not portable. # We prefer test over [, since the latter is spelled [[ in configure.ac. sc_prohibit_test_minus_ao: @prohibit='(\ /dev/null \ || { fail=1; echo 1>&2 "$(ME): $$p uses proper_name_utf8"; }; \ done; \ test $$fail = 1 && \ { echo 1>&2 '$(ME): the above do not link with any ICONV library'; \ exit 1; } || :; \ fi # Warn about "c0nst struct Foo const foo[]", # but not about "char const *const foo" or "#define const const". sc_redundant_const: @prohibit='\bconst\b[[:space:][:alnum:]]{2,}\bconst\b' \ halt='redundant "const" in declarations' \ $(_sc_search_regexp) sc_const_long_option: @grep '^ *static.*struct option ' $$($(VC_LIST_EXCEPT)) \ | grep -Ev 'const struct option|struct option const' && { \ echo 1>&2 '$(ME): add "const" to the above declarations'; \ exit 1; } || : NEWS_hash = \ $$(sed -n '/^\*.* $(PREV_VERSION_REGEXP) ([0-9-]*)/,$$p' \ $(srcdir)/NEWS \ | perl -0777 -pe \ 's/^Copyright.+?Free\sSoftware\sFoundation,\sInc\.\n//ms' \ | md5sum - \ | sed 's/ .*//') # Ensure that we don't accidentally insert an entry into an old NEWS block. sc_immutable_NEWS: @if test -f $(srcdir)/NEWS; then \ test "$(NEWS_hash)" = '$(old_NEWS_hash)' && : || \ { echo '$(ME): you have modified old NEWS' 1>&2; exit 1; }; \ fi # Update the hash stored above. Do this after each release and # for any corrections to old entries. update-NEWS-hash: NEWS perl -pi -e 's/^(old_NEWS_hash[ \t]+:?=[ \t]+).*/$${1}'"$(NEWS_hash)/" \ $(srcdir)/cfg.mk # Ensure that we use only the standard $(VAR) notation, # not @...@ in Makefile.am, now that we can rely on automake # to emit a definition for each substituted variable. # We use perl rather than "grep -nE ..." to exempt a single # use of an @...@-delimited variable name in src/Makefile.am. # Allow the package to add exceptions via a hook in cfg.mk; # for example, @PRAGMA_SYSTEM_HEADER@ can be permitted by # setting this to ' && !/PRAGMA_SYSTEM_HEADER/'. _makefile_at_at_check_exceptions ?= sc_makefile_at_at_check: @perl -ne '/\@[A-Z_0-9]+\@/'$(_makefile_at_at_check_exceptions) \ -e 'and (print "$$ARGV:$$.: $$_"), $$m=1; END {exit !$$m}' \ $$($(VC_LIST_EXCEPT) | grep -E '(^|/)Makefile\.am$$') \ && { echo '$(ME): use $$(...), not @...@' 1>&2; exit 1; } || : news-check: NEWS if head $(srcdir)/NEWS | grep -E $(news-check-regexp) \ >/dev/null; then \ :; \ else \ echo 'NEWS: $$(news-check-regexp) failed to match' 1>&2; \ exit 1; \ fi sc_makefile_TAB_only_indentation: @prohibit='^ [ ]{8}' \ in_vc_files='akefile|\.mk$$' \ halt='found TAB-8-space indentation' \ $(_sc_search_regexp) sc_m4_quote_check: @prohibit='(AC_DEFINE(_UNQUOTED)?|AC_DEFUN)\([^[]' \ in_vc_files='(^configure\.ac|\.m4)$$' \ halt='quote the first arg to AC_DEF*' \ $(_sc_search_regexp) fix_po_file_diag = \ 'you have changed the set of files with translatable diagnostics;\n\ apply the above patch\n' # Verify that all source files using _() are listed in po/POTFILES.in. po_file = po/POTFILES.in sc_po_check: @if test -f $(po_file); then \ grep -E -v '^(#|$$)' $(po_file) \ | grep -v '^src/false\.c$$' | sort > $@-1; \ files=; \ for file in $$($(VC_LIST_EXCEPT)) lib/*.[ch]; do \ test -r $$file || continue; \ case $$file in \ *.m4|*.mk) continue ;; \ *.?|*.??) ;; \ *) continue;; \ esac; \ case $$file in \ *.[ch]) \ base=`expr " $$file" : ' \(.*\)\..'`; \ { test -f $$base.l || test -f $$base.y; } && continue;; \ esac; \ files="$$files $$file"; \ done; \ grep -E -l '\b(N?_|gettext *)\([^)"]*("|$$)' $$files \ | sort -u > $@-2; \ diff -u -L $(po_file) -L $(po_file) $@-1 $@-2 \ || { printf '$(ME): '$(fix_po_file_diag) 1>&2; exit 1; }; \ rm -f $@-1 $@-2; \ fi # Sometimes it is useful to change the PATH environment variable # in Makefiles. When doing so, it's better not to use the Unix-centric # path separator of `:', but rather the automake-provided `$(PATH_SEPARATOR)'. msg = '$(ME): Do not use `:'\'' above; use $$(PATH_SEPARATOR) instead' sc_makefile_path_separator_check: @prohibit='PATH[=].*:' \ in_vc_files='akefile|\.mk$$' \ halt=$(msg) \ $(_sc_search_regexp) # Check that `make alpha' will not fail at the end of the process. writable-files: if test -d $(release_archive_dir); then :; else \ for file in $(distdir).tar.gz \ $(release_archive_dir)/$(distdir).tar.gz; do \ test -e $$file || continue; \ test -w $$file \ || { echo ERROR: $$file is not writable; fail=1; }; \ done; \ test "$$fail" && exit 1 || : ; \ fi v_etc_file = lib/version-etc.c sample-test = tests/sample-test texi = doc/$(PACKAGE).texi # Make sure that the copyright date in $(v_etc_file) is up to date. # Do the same for the $(sample-test) and the main doc/.texi file. sc_copyright_check: @require='enum { COPYRIGHT_YEAR = '$$(date +%Y)' };' \ in_files=$(v_etc_file) \ halt='out of date copyright in $(v_etc_file); update it' \ $(_sc_search_regexp) @require='# Copyright \(C\) '$$(date +%Y)' Free' \ in_vc_files=$(sample-test) \ halt='out of date copyright in $(sample-test); update it' \ $(_sc_search_regexp) @require='Copyright @copyright\{\} .*'$$(date +%Y)' Free' \ in_vc_files=$(texi) \ halt='out of date copyright in $(texi); update it' \ $(_sc_search_regexp) # If tests/help-version exists and seems to be new enough, assume that its # use of init.sh and path_prepend_ is correct, and ensure that every other # use of init.sh is identical. # This is useful because help-version cross-checks prog --version # with $(VERSION), which verifies that its path_prepend_ invocation # sets PATH correctly. This is an inexpensive way to ensure that # the other init.sh-using tests also get it right. _hv_file ?= $(srcdir)/tests/help-version _hv_regex_weak ?= ^ *\. .*/init\.sh" _hv_regex_strong ?= ^ *\. "\$${srcdir=\.}/init\.sh" sc_cross_check_PATH_usage_in_tests: @if test -f $(_hv_file); then \ grep -l 'VERSION mismatch' $(_hv_file) >/dev/null \ || { echo "$@: skipped: no such file: $(_hv_file)" 1>&2; \ exit 0; }; \ grep -lE '$(_hv_regex_strong)' $(_hv_file) >/dev/null \ || { echo "$@: $(_hv_file) lacks conforming use of init.sh" 1>&2; \ exit 1; }; \ good=$$(grep -E '$(_hv_regex_strong)' $(_hv_file)); \ grep -LFx "$$good" \ $$(grep -lE '$(_hv_regex_weak)' $$($(VC_LIST_EXCEPT))) \ | grep . && \ { echo "$(ME): the above files use path_prepend_ inconsistently" \ 1>&2; exit 1; } || :; \ fi # #if HAVE_... will evaluate to false for any non numeric string. # That would be flagged by using -Wundef, however gnulib currently # tests many undefined macros, and so we can't enable that option. # So at least preclude common boolean strings as macro values. sc_Wundef_boolean: @prohibit='^#define.*(yes|no|true|false)$$' \ in_files='$(CONFIG_INCLUDE)' \ halt='Use 0 or 1 for macro values' \ $(_sc_search_regexp) sc_vulnerable_makefile_CVE-2009-4029: @prohibit='perm -777 -exec chmod a\+rwx|chmod 777 \$$\(distdir\)' \ in_files=$$(find $(srcdir) -name Makefile.in) \ halt='the above files are vulnerable; beware of running\n'\ '"make dist*" rules, and upgrade to fixed automake\n'\ 'see http://bugzilla.redhat.com/542609 for details' \ $(_sc_search_regexp) vc-diff-check: (unset CDPATH; cd $(srcdir) && $(VC) diff) > vc-diffs || : if test -s vc-diffs; then \ cat vc-diffs; \ echo "Some files are locally modified:" 1>&2; \ exit 1; \ else \ rm vc-diffs; \ fi rel-files = $(DIST_ARCHIVES) gnulib_dir ?= $(srcdir)/gnulib gnulib-version = $$(cd $(gnulib_dir) && git describe) bootstrap-tools ?= autoconf,automake,gnulib # If it's not already specified, derive the GPG key ID from # the signed tag we've just applied to mark this release. gpg_key_ID ?= \ $$(git cat-file tag v$(VERSION) > .ann-sig \ && gpgv .ann-sig - < /dev/null 2>&1 \ | sed -n '/.*key ID \([0-9A-F]*\)/s//\1/p'; rm -f .ann-sig) translation_project_ ?= coordinator@translationproject.org announcement_Cc_ ?= $(translation_project_), $(PACKAGE_BUGREPORT) announcement_mail_headers_ ?= \ To: info-gnu@gnu.org \ Cc: $(announcement_Cc_) \ Mail-Followup-To: $(PACKAGE_BUGREPORT) announcement: NEWS ChangeLog $(rel-files) @$(build_aux)/announce-gen \ --mail-headers='$(announcement_mail_headers_)' \ --release-type=$(RELEASE_TYPE) \ --package=$(PACKAGE) \ --prev=$(PREV_VERSION) \ --curr=$(VERSION) \ --gpg-key-id=$(gpg_key_ID) \ --news=$(srcdir)/NEWS \ --bootstrap-tools=$(bootstrap-tools) \ --gnulib-version=$(gnulib-version) \ --no-print-checksums \ $(addprefix --url-dir=, $(url_dir_list)) ## ---------------- ## ## Updating files. ## ## ---------------- ## ftp-gnu = ftp://ftp.gnu.org/gnu www-gnu = http://www.gnu.org upload_dest_dir_ ?= $(PACKAGE) emit_upload_commands: @echo ===================================== @echo ===================================== @echo "$(build_aux)/gnupload $(GNUPLOADFLAGS) \\" @echo " --to $(gnu_rel_host):$(upload_dest_dir_) \\" @echo " $(rel-files)" @echo '# send the ~/announce-$(my_distdir) e-mail' @echo ===================================== @echo ===================================== noteworthy = * Noteworthy changes in release ?.? (????-??-??) [?] define emit-commit-log printf '%s\n' 'post-release administrivia' '' \ '* NEWS: Add header line for next release.' \ '* .prev-version: Record previous version.' \ '* cfg.mk (old_NEWS_hash): Auto-update.' endef .PHONY: no-submodule-changes no-submodule-changes: if test -d $(srcdir)/.git; then \ diff=$$(cd $(srcdir) && git submodule -q foreach \ git diff-index --name-only HEAD) \ || exit 1; \ case $$diff in '') ;; \ *) echo '$(ME): submodule files are locally modified:'; \ echo "$$diff"; exit 1;; esac; \ else \ : ; \ fi .PHONY: alpha beta stable ALL_RECURSIVE_TARGETS += alpha beta stable alpha beta stable: $(local-check) writable-files no-submodule-changes test $@ = stable \ && { echo $(VERSION) | grep -E '^[0-9]+(\.[0-9]+)+$$' \ || { echo "invalid version string: $(VERSION)" 1>&2; exit 1;};}\ || : $(MAKE) vc-diff-check $(MAKE) news-check $(MAKE) distcheck $(MAKE) dist XZ_OPT=-9ev $(MAKE) $(release-prep-hook) RELEASE_TYPE=$@ $(MAKE) -s emit_upload_commands RELEASE_TYPE=$@ # Override this in cfg.mk if you follow different procedures. release-prep-hook ?= release-prep .PHONY: release-prep release-prep: case $$RELEASE_TYPE in alpha|beta|stable) ;; \ *) echo "invalid RELEASE_TYPE: $$RELEASE_TYPE" 1>&2; exit 1;; esac $(MAKE) -s announcement > ~/announce-$(my_distdir) if test -d $(release_archive_dir); then \ ln $(rel-files) $(release_archive_dir); \ chmod a-w $(rel-files); \ fi echo $(VERSION) > $(prev_version_file) $(MAKE) update-NEWS-hash perl -pi -e '$$. == 3 and print "$(noteworthy)\n\n\n"' NEWS $(emit-commit-log) > .ci-msg $(VC) commit -F .ci-msg -a rm .ci-msg # Override this with e.g., -s $(srcdir)/some_other_name.texi # if the default $(PACKAGE)-derived name doesn't apply. gendocs_options_ ?= .PHONY: web-manual web-manual: @test -z "$(manual_title)" \ && { echo define manual_title in cfg.mk 1>&2; exit 1; } || : @cd '$(srcdir)/doc'; \ $(SHELL) ../build-aux/gendocs.sh $(gendocs_options_) \ -o '$(abs_builddir)/doc/manual' \ --email $(PACKAGE_BUGREPORT) $(PACKAGE) \ "$(PACKAGE_NAME) - $(manual_title)" @echo " *** Upload the doc/manual directory to web-cvs." # Code Coverage init-coverage: $(MAKE) $(AM_MAKEFLAGS) clean lcov --directory . --zerocounters COVERAGE_CCOPTS ?= "-g --coverage" COVERAGE_OUT ?= doc/coverage build-coverage: $(MAKE) $(AM_MAKEFLAGS) CFLAGS=$(COVERAGE_CCOPTS) CXXFLAGS=$(COVERAGE_CCOPTS) $(MAKE) $(AM_MAKEFLAGS) CFLAGS=$(COVERAGE_CCOPTS) CXXFLAGS=$(COVERAGE_CCOPTS) check mkdir -p $(COVERAGE_OUT) lcov --directory . --output-file $(COVERAGE_OUT)/$(PACKAGE).info \ --capture gen-coverage: genhtml --output-directory $(COVERAGE_OUT) \ $(COVERAGE_OUT)/$(PACKAGE).info \ --highlight --frames --legend \ --title "$(PACKAGE_NAME)" coverage: init-coverage build-coverage gen-coverage # Update gettext files. PACKAGE ?= $(shell basename $(PWD)) PO_DOMAIN ?= $(PACKAGE) POURL = http://translationproject.org/latest/$(PO_DOMAIN)/ PODIR ?= po refresh-po: rm -f $(PODIR)/*.po && \ echo "$(ME): getting translations into po (please ignore the robots.txt ERROR 404)..." && \ wget --no-verbose --directory-prefix $(PODIR) --no-directories --recursive --level 1 --accept .po --accept .po.1 $(POURL) && \ echo 'en@boldquot' > $(PODIR)/LINGUAS && \ echo 'en@quot' >> $(PODIR)/LINGUAS && \ ls $(PODIR)/*.po | sed 's/\.po//' | sed 's,$(PODIR)/,,' | sort >> $(PODIR)/LINGUAS # Running indent once is not idempotent, but running it twice is. INDENT_SOURCES ?= $(C_SOURCES) .PHONY: indent indent: indent $(INDENT_SOURCES) indent $(INDENT_SOURCES) # If you want to set UPDATE_COPYRIGHT_* environment variables, # put the assignments in this variable. update-copyright-env ?= # Run this rule once per year (usually early in January) # to update all FSF copyright year lists in your project. # If you have an additional project-specific rule, # add it in cfg.mk along with a line 'update-copyright: prereq'. # By default, exclude all variants of COPYING; you can also # add exemptions (such as ChangeLog..* for rotated change logs) # in the file .x-update-copyright. .PHONY: update-copyright update-copyright: grep -l -w Copyright \ $$(export VC_LIST_EXCEPT_DEFAULT=COPYING && $(VC_LIST_EXCEPT)) \ | $(update-copyright-env) xargs $(build_aux)/$@ parted-2.3/include/0000755000000000000000000000000011400006132011212 500000000000000parted-2.3/include/Makefile.am0000644000000000000000000000006411035473300013177 00000000000000SUBDIRS = parted MAINTAINERCLEANFILES = Makefile.inparted-2.3/include/parted/0000755000000000000000000000000011400006132012471 500000000000000parted-2.3/include/parted/exception.h0000644000000000000000000000737411370314006014603 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 1999-2000, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /** * \addtogroup PedException * @{ */ /** \file exception.h */ #ifndef PED_EXCEPTION_H_INCLUDED #define PED_EXCEPTION_H_INCLUDED typedef struct _PedException PedException; /** * Exception type */ enum _PedExceptionType { PED_EXCEPTION_INFORMATION=1, PED_EXCEPTION_WARNING=2, PED_EXCEPTION_ERROR=3, PED_EXCEPTION_FATAL=4, PED_EXCEPTION_BUG=5, PED_EXCEPTION_NO_FEATURE=6, }; typedef enum _PedExceptionType PedExceptionType; /** * Option for resolving the exception */ enum _PedExceptionOption { PED_EXCEPTION_UNHANDLED=0, PED_EXCEPTION_FIX=1, PED_EXCEPTION_YES=2, PED_EXCEPTION_NO=4, PED_EXCEPTION_OK=8, PED_EXCEPTION_RETRY=16, PED_EXCEPTION_IGNORE=32, PED_EXCEPTION_CANCEL=64, }; typedef enum _PedExceptionOption PedExceptionOption; #define PED_EXCEPTION_OK_CANCEL (PED_EXCEPTION_OK + PED_EXCEPTION_CANCEL) #define PED_EXCEPTION_YES_NO (PED_EXCEPTION_YES + PED_EXCEPTION_NO) #define PED_EXCEPTION_YES_NO_CANCEL (PED_EXCEPTION_YES_NO \ + PED_EXCEPTION_CANCEL) #define PED_EXCEPTION_IGNORE_CANCEL (PED_EXCEPTION_IGNORE \ + PED_EXCEPTION_CANCEL) #define PED_EXCEPTION_RETRY_CANCEL (PED_EXCEPTION_RETRY + PED_EXCEPTION_CANCEL) #define PED_EXCEPTION_RETRY_IGNORE_CANCEL (PED_EXCEPTION_RETRY \ + PED_EXCEPTION_IGNORE_CANCEL) #define PED_EXCEPTION_OPTION_FIRST PED_EXCEPTION_FIX #define PED_EXCEPTION_OPTION_LAST PED_EXCEPTION_CANCEL /** * Structure with information about exception */ struct _PedException { char* message; /**< text describing what the event was */ PedExceptionType type; /**< type of exception */ PedExceptionOption options; /**< ORed list of options that the exception handler can return (the ways an exception can be resolved) */ }; typedef PedExceptionOption (PedExceptionHandler) (PedException* ex); extern int ped_exception; /* set to true if there's an exception */ extern char* ped_exception_get_type_string (PedExceptionType ex_type); extern char* ped_exception_get_option_string (PedExceptionOption ex_opt); extern void ped_exception_set_handler (PedExceptionHandler* handler); extern PedExceptionHandler *ped_exception_get_handler(void); extern PedExceptionOption ped_exception_default_handler (PedException* ex); extern PedExceptionOption ped_exception_throw (PedExceptionType ex_type, PedExceptionOption ex_opt, const char* message, ...); /* rethrows an exception - i.e. calls the exception handler, (or returns a code to return to pass up higher) */ extern PedExceptionOption ped_exception_rethrow (); /* frees an exception, indicating that the exception has been handled. Calling an exception handler counts. */ extern void ped_exception_catch (); /* indicate that exceptions should not go to the exception handler, but passed up to the calling function(s) */ extern void ped_exception_fetch_all (); /* indicate that exceptions should invoke the exception handler */ extern void ped_exception_leave_all (); #endif /* PED_EXCEPTION_H_INCLUDED */ /** @} */ parted-2.3/include/parted/filesys.h0000644000000000000000000001075411333731662014271 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 1999-2001, 2006-2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /** * \addtogroup PedFileSystem * @{ */ /** \file filesys.h */ #ifndef PED_FILESYS_H_INCLUDED #define PED_FILESYS_H_INCLUDED typedef struct _PedFileSystem PedFileSystem; typedef struct _PedFileSystemType PedFileSystemType; typedef struct _PedFileSystemAlias PedFileSystemAlias; typedef const struct _PedFileSystemOps PedFileSystemOps; #include #include #include struct _PedFileSystemOps { PedGeometry* (*probe) (PedGeometry* geom); int (*clobber) (PedGeometry* geom); PedFileSystem* (*open) (PedGeometry* geom); PedFileSystem* (*create) (PedGeometry* geom, PedTimer* timer); int (*close) (PedFileSystem* fs); int (*check) (PedFileSystem* fs, PedTimer* timer); PedFileSystem* (*copy) (const PedFileSystem* fs, PedGeometry* geom, PedTimer* timer); int (*resize) (PedFileSystem* fs, PedGeometry* geom, PedTimer* timer); PedConstraint* (*get_create_constraint) (const PedDevice* dev); PedConstraint* (*get_resize_constraint) (const PedFileSystem* fs); PedConstraint* (*get_copy_constraint) (const PedFileSystem* fs, const PedDevice* dev); }; /** * Structure describing type of file system */ struct _PedFileSystemType { PedFileSystemType* next; const char* const name; /**< name of the file system type */ const int* block_sizes; PedFileSystemOps* const ops; }; /** * Structure describing a file system alias. This is separate from * PedFileSystemType because probing only looks through the list of types, * and does not probe aliases separately. */ struct _PedFileSystemAlias { PedFileSystemAlias* next; PedFileSystemType* fs_type; const char* alias; int deprecated; }; /** * Structure describing file system */ struct _PedFileSystem { PedFileSystemType* type; /**< the file system type */ PedGeometry* geom; /**< where the file system actually is */ int checked; /**< 1 if the file system has been checked. 0 otherwise. */ void* type_specific; }; extern void ped_file_system_type_register (PedFileSystemType* type); extern void ped_file_system_type_unregister (PedFileSystemType* type); extern void ped_file_system_alias_register (PedFileSystemType* type, const char* alias, int deprecated); extern void ped_file_system_alias_unregister (PedFileSystemType* type, const char* alias); extern PedFileSystemType* ped_file_system_type_get (const char* name); extern PedFileSystemType* ped_file_system_type_get_next (const PedFileSystemType* fs_type); extern PedFileSystemAlias* ped_file_system_alias_get_next (const PedFileSystemAlias* fs_alias); extern PedFileSystemType* ped_file_system_probe (PedGeometry* geom); extern PedGeometry* ped_file_system_probe_specific ( const PedFileSystemType* fs_type, PedGeometry* geom); extern int ped_file_system_clobber (PedGeometry* geom); extern PedFileSystem* ped_file_system_open (PedGeometry* geom); extern PedFileSystem* ped_file_system_create (PedGeometry* geom, const PedFileSystemType* type, PedTimer* timer); extern int ped_file_system_close (PedFileSystem* fs); extern int ped_file_system_check (PedFileSystem* fs, PedTimer* timer); extern PedFileSystem* ped_file_system_copy (PedFileSystem* fs, PedGeometry* geom, PedTimer* timer); extern int ped_file_system_resize (PedFileSystem* fs, PedGeometry* geom, PedTimer* timer); extern PedConstraint* ped_file_system_get_create_constraint ( const PedFileSystemType* fs_type, const PedDevice* dev); extern PedConstraint* ped_file_system_get_resize_constraint ( const PedFileSystem* fs); extern PedConstraint* ped_file_system_get_copy_constraint ( const PedFileSystem* fs, const PedDevice* dev); #endif /* PED_FILESYS_H_INCLUDED */ /** @} */ parted-2.3/include/parted/unit.h0000644000000000000000000000523711370314006013560 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 2005, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /** * \addtogroup PedUnit * @{ */ /** \file unit.h */ #ifndef PED_UNIT_H_INCLUDED #define PED_UNIT_H_INCLUDED #include #include #include #define PED_SECTOR_SIZE_DEFAULT 512LL #define PED_KILOBYTE_SIZE 1000LL #define PED_MEGABYTE_SIZE 1000000LL #define PED_GIGABYTE_SIZE 1000000000LL #define PED_TERABYTE_SIZE 1000000000000LL #define PED_KIBIBYTE_SIZE 1024LL #define PED_MEBIBYTE_SIZE 1048576LL #define PED_GIBIBYTE_SIZE 1073741824LL #define PED_TEBIBYTE_SIZE 1099511627776LL /** * Human-friendly unit for representation of a location within device */ typedef enum { PED_UNIT_SECTOR, PED_UNIT_BYTE, PED_UNIT_KILOBYTE, PED_UNIT_MEGABYTE, PED_UNIT_GIGABYTE, PED_UNIT_TERABYTE, PED_UNIT_COMPACT, PED_UNIT_CYLINDER, PED_UNIT_CHS, PED_UNIT_PERCENT, PED_UNIT_KIBIBYTE, PED_UNIT_MEBIBYTE, PED_UNIT_GIBIBYTE, PED_UNIT_TEBIBYTE } PedUnit; #define PED_UNIT_FIRST PED_UNIT_SECTOR #define PED_UNIT_LAST PED_UNIT_TEBIBYTE extern long long ped_unit_get_size (const PedDevice* dev, PedUnit unit); extern const char* ped_unit_get_name (PedUnit unit); extern PedUnit ped_unit_get_by_name (const char* unit_name); extern void ped_unit_set_default (PedUnit unit); extern PedUnit ped_unit_get_default (); extern char* ped_unit_format_byte (const PedDevice* dev, PedSector byte); extern char* ped_unit_format_custom_byte (const PedDevice* dev, PedSector byte, PedUnit unit); extern char* ped_unit_format (const PedDevice* dev, PedSector sector); extern char* ped_unit_format_custom (const PedDevice* dev, PedSector sector, PedUnit unit); extern int ped_unit_parse (const char* str, const PedDevice* dev, PedSector* sector, PedGeometry** range); extern int ped_unit_parse_custom (const char* str, const PedDevice* dev, PedUnit unit, PedSector* sector, PedGeometry** range); #endif /* PED_UNIT_H_INCLUDED */ /** @} */ parted-2.3/include/parted/debug.h0000644000000000000000000000467011370314006013667 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 1998-2000, 2002, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef PED_DEBUG_H_INCLUDED #define PED_DEBUG_H_INCLUDED #include #ifdef DEBUG typedef void (PedDebugHandler) ( const int level, const char* file, int line, const char* function, const char* msg ); extern void ped_debug_set_handler (PedDebugHandler* handler); extern void ped_debug ( const int level, const char* file, int line, const char* function, const char* msg, ... ); extern void __attribute__((__noreturn__)) ped_assert ( const char* cond_text, const char* file, int line, const char* function ); #if defined __GNUC__ && !defined __JSFTRACE__ #define PED_DEBUG(level, ...) \ ped_debug ( level, __FILE__, __LINE__, __PRETTY_FUNCTION__, \ __VA_ARGS__ ) #define PED_ASSERT(cond, action) \ do { \ if (!(cond)) { \ ped_assert ( \ #cond, \ __FILE__, \ __LINE__, \ __PRETTY_FUNCTION__ ); \ } \ } while (0) #else /* !__GNUC__ */ /* function because variadic macros are C99 */ static void PED_DEBUG (int level, ...) { va_list va_args; va_start (va_args, level); ped_debug ( level, "unknown file", 0, "unknown function", va_args ); va_end (va_args); } #define PED_ASSERT(cond, action) \ do { \ if (!(cond)) { \ ped_assert ( \ #cond, \ "unknown", \ 0, \ "unknown"); \ } \ } while (0) #endif /* __GNUC__ */ #else /* !DEBUG */ #define PED_ASSERT(cond, action) do {} while (0) #define PED_DEBUG(level, ...) do {} while (0) #endif /* DEBUG */ #endif /* PED_DEBUG_H_INCLUDED */ parted-2.3/include/parted/Makefile.am0000644000000000000000000000061511310214466014462 00000000000000if COMPILE_FOR_S390 S390_HDRS = fdasd.h vtoc.h else S390_HDRS = endif partedincludedir = $(includedir)/parted partedinclude_HEADERS = constraint.h \ debug.h \ device.h \ disk.h \ exception.h \ filesys.h \ geom.h \ natmath.h \ timer.h \ unit.h \ parted.h noinst_HEADERS = crc32.h \ endian.h \ $(S390_HDRS) MAINTAINERCLEANFILES = Makefile.in parted-2.3/include/parted/endian.h0000644000000000000000000000525111370314006014033 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 1998-2002, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* should only be #included by files in libparted */ #ifndef PED_ENDIAN_H_INCLUDED #define PED_ENDIAN_H_INCLUDED #include /* returns the n'th least significant byte */ #define _GET_BYTE(x, n) ( ((x) >> (8 * (n))) & 0xff ) #define _PED_SWAP16(x) ( (_GET_BYTE(x, 0) << 8) \ + (_GET_BYTE(x, 1) << 0) ) #define _PED_SWAP32(x) ( (_GET_BYTE(x, 0) << 24) \ + (_GET_BYTE(x, 1) << 16) \ + (_GET_BYTE(x, 2) << 8) \ + (_GET_BYTE(x, 3) << 0) ) #define _PED_SWAP64(x) ( (_GET_BYTE(x, 0) << 56) \ + (_GET_BYTE(x, 1) << 48) \ + (_GET_BYTE(x, 2) << 40) \ + (_GET_BYTE(x, 3) << 32) \ + (_GET_BYTE(x, 4) << 24) \ + (_GET_BYTE(x, 5) << 16) \ + (_GET_BYTE(x, 6) << 8) \ + (_GET_BYTE(x, 7) << 0) ) #define PED_SWAP16(x) ((uint16_t) _PED_SWAP16( (uint16_t) (x) )) #define PED_SWAP32(x) ((uint32_t) _PED_SWAP32( (uint32_t) (x) )) #define PED_SWAP64(x) ((uint64_t) _PED_SWAP64( (uint64_t) (x) )) #ifdef WORDS_BIGENDIAN #define PED_CPU_TO_LE16(x) PED_SWAP16(x) #define PED_CPU_TO_BE16(x) (x) #define PED_CPU_TO_LE32(x) PED_SWAP32(x) #define PED_CPU_TO_BE32(x) (x) #define PED_CPU_TO_LE64(x) PED_SWAP64(x) #define PED_CPU_TO_BE64(x) (x) #define PED_LE16_TO_CPU(x) PED_SWAP16(x) #define PED_BE16_TO_CPU(x) (x) #define PED_LE32_TO_CPU(x) PED_SWAP32(x) #define PED_BE32_TO_CPU(x) (x) #define PED_LE64_TO_CPU(x) PED_SWAP64(x) #define PED_BE64_TO_CPU(x) (x) #else /* !WORDS_BIGENDIAN */ #define PED_CPU_TO_LE16(x) (x) #define PED_CPU_TO_BE16(x) PED_SWAP16(x) #define PED_CPU_TO_LE32(x) (x) #define PED_CPU_TO_BE32(x) PED_SWAP32(x) #define PED_CPU_TO_LE64(x) (x) #define PED_CPU_TO_BE64(x) PED_SWAP64(x) #define PED_LE16_TO_CPU(x) (x) #define PED_BE16_TO_CPU(x) PED_SWAP16(x) #define PED_LE32_TO_CPU(x) (x) #define PED_BE32_TO_CPU(x) PED_SWAP32(x) #define PED_LE64_TO_CPU(x) (x) #define PED_BE64_TO_CPU(x) PED_SWAP64(x) #endif /* !WORDS_BIGENDIAN */ #endif /* PED_ENDIAN_H_INCLUDED */ parted-2.3/include/parted/crc32.h0000644000000000000000000000212011333731662013513 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 1998-2000, 2007, 2009-2010 Free Software Foundation, Inc. crc32.h 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _CRC32_H #define _CRC32_H #include /* * This computes a 32 bit CRC of the data in the buffer, and returns the CRC. * The polynomial used is 0xedb88320. */ extern uint32_t __efi_crc32 (const void *buf, unsigned long len, uint32_t seed); #endif /* _CRC32_H */ parted-2.3/include/parted/vtoc.h0000644000000000000000000003052511371762233013564 00000000000000/* * File...........: s390-tools/dasdview/vtoc.h * Author(s)......: Horst Hummel * Bugreports.to..: * * This is a user-space copy of the kernel vtoc,h. * * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 2002 * * History of changes (starts March 2002) * 2002-03-12 initial */ #ifndef VTOC_H #define VTOC_H #include #include #include #include #include #include #include #include #include #include #define LINE_LENGTH 80 #define VTOC_START_CC 0x0 #define VTOC_START_HH 0x1 #define FIRST_USABLE_CYL 1 #define FIRST_USABLE_TRK 2 #define DASD_3380_TYPE 13148 #define DASD_3390_TYPE 13200 #define DASD_9345_TYPE 37701 #define DASD_3380_VALUE 0xbb60 #define DASD_3390_VALUE 0xe5a2 #define DASD_9345_VALUE 0xbc98 #define VOLSER_LENGTH 6 #define BIG_DISK_SIZE 0x10000 typedef struct ttr ttr_t; typedef struct cchhb cchhb_t; typedef struct cchh cchh_t; typedef struct labeldate labeldate_t; typedef struct volume_label volume_label_t; typedef struct extent extent_t; typedef struct dev_const dev_const_t; typedef struct format1_label format1_label_t; typedef struct format4_label format4_label_t; typedef struct ds5ext ds5ext_t; typedef struct format5_label format5_label_t; typedef struct ds7ext ds7ext_t; typedef struct format7_label format7_label_t; struct __attribute__ ((packed)) ttr { u_int16_t tt; u_int8_t r; }; struct __attribute__ ((packed)) cchhb { u_int16_t cc; u_int16_t hh; u_int8_t b; }; struct __attribute__ ((packed)) cchh { u_int16_t cc; u_int16_t hh; }; struct __attribute__ ((packed)) labeldate { u_int8_t year; u_int16_t day; }; struct __attribute__ ((packed)) volume_label { char volkey[4]; /* volume key = volume label */ char vollbl[4]; /* volume label */ char volid[6]; /* volume identifier */ u_int8_t security; /* security byte */ cchhb_t vtoc; /* VTOC address */ char res1[5]; /* reserved */ char cisize[4]; /* CI-size for FBA,... */ /* ...blanks for CKD */ char blkperci[4]; /* no of blocks per CI (FBA), blanks for CKD */ char labperci[4]; /* no of labels per CI (FBA), blanks for CKD */ char res2[4]; /* reserved */ char lvtoc[14]; /* owner code for LVTOC */ char res3[29]; /* reserved */ }; struct __attribute__ ((packed)) extent { u_int8_t typeind; /* extent type indicator */ u_int8_t seqno; /* extent sequence number */ cchh_t llimit; /* starting point of this extent */ cchh_t ulimit; /* ending point of this extent */ }; struct __attribute__ ((packed)) dev_const { u_int16_t DS4DSCYL; /* number of logical cyls */ u_int16_t DS4DSTRK; /* number of tracks in a logical cylinder */ u_int16_t DS4DEVTK; /* device track length */ u_int8_t DS4DEVI; /* non-last keyed record overhead */ u_int8_t DS4DEVL; /* last keyed record overhead */ u_int8_t DS4DEVK; /* non-keyed record overhead differential */ u_int8_t DS4DEVFG; /* flag byte */ u_int16_t DS4DEVTL; /* device tolerance */ u_int8_t DS4DEVDT; /* number of DSCB's per track */ u_int8_t DS4DEVDB; /* number of directory blocks per track */ }; struct __attribute__ ((packed)) format1_label { char DS1DSNAM[44]; /* data set name */ u_int8_t DS1FMTID; /* format identifier */ char DS1DSSN[6]; /* data set serial number */ u_int16_t DS1VOLSQ; /* volume sequence number */ labeldate_t DS1CREDT; /* creation date: ydd */ labeldate_t DS1EXPDT; /* expiration date */ u_int8_t DS1NOEPV; /* number of extents on volume */ u_int8_t DS1NOBDB; /* no. of bytes used in last direction blk */ u_int8_t DS1FLAG1; /* flag 1 */ char DS1SYSCD[13]; /* system code */ labeldate_t DS1REFD; /* date last referenced */ u_int8_t DS1SMSFG; /* system managed storage indicators */ u_int8_t DS1SCXTF; /* sec. space extension flag byte */ u_int16_t DS1SCXTV; /* secondary space extension value */ u_int8_t DS1DSRG1; /* data set organisation byte 1 */ u_int8_t DS1DSRG2; /* data set organisation byte 2 */ u_int8_t DS1RECFM; /* record format */ u_int8_t DS1OPTCD; /* option code */ u_int16_t DS1BLKL; /* block length */ u_int16_t DS1LRECL; /* record length */ u_int8_t DS1KEYL; /* key length */ u_int16_t DS1RKP; /* relative key position */ u_int8_t DS1DSIND; /* data set indicators */ u_int8_t DS1SCAL1; /* secondary allocation flag byte */ char DS1SCAL3[3]; /* secondary allocation quantity */ ttr_t DS1LSTAR; /* last used track and block on track */ u_int16_t DS1TRBAL; /* space remaining on last used track */ u_int16_t res1; /* reserved */ extent_t DS1EXT1; /* first extent description */ extent_t DS1EXT2; /* second extent description */ extent_t DS1EXT3; /* third extent description */ cchhb_t DS1PTRDS; /* possible pointer to f2 or f3 DSCB */ }; struct __attribute__ ((packed)) format4_label { char DS4KEYCD[44]; /* key code for VTOC labels: 44 times 0x04 */ u_int8_t DS4IDFMT; /* format identifier */ cchhb_t DS4HPCHR; /* highest address of a format 1 DSCB */ u_int16_t DS4DSREC; /* number of available DSCB's */ cchh_t DS4HCCHH; /* CCHH of next available alternate track */ u_int16_t DS4NOATK; /* number of remaining alternate tracks */ u_int8_t DS4VTOCI; /* VTOC indicators */ u_int8_t DS4NOEXT; /* number of extents in VTOC */ u_int8_t DS4SMSFG; /* system managed storage indicators */ u_int8_t DS4DEVAC; /* number of alternate cylinders. Subtract from first two bytes of DS4DEVSZ to get number of usable cylinders. can be zero. valid only if DS4DEVAV on. */ dev_const_t DS4DEVCT; /* device constants */ char DS4AMTIM[8]; /* VSAM time stamp */ char DS4AMCAT[3]; /* VSAM catalog indicator */ char DS4R2TIM[8]; /* VSAM volume/catalog match time stamp */ char res1[5]; /* reserved */ char DS4F6PTR[5]; /* pointer to first format 6 DSCB */ extent_t DS4VTOCE; /* VTOC extent description */ char res2[10]; /* reserved */ u_int8_t DS4EFLVL; /* extended free-space management level */ cchhb_t DS4EFPTR; /* pointer to extended free-space info */ char res3[9]; /* reserved */ }; struct __attribute__ ((packed)) ds5ext { u_int16_t t; /* RTA of the first track of free extent */ u_int16_t fc; /* number of whole cylinders in free ext. */ u_int8_t ft; /* number of remaining free tracks */ }; struct __attribute__ ((packed)) format5_label { char DS5KEYID[4]; /* key identifier */ ds5ext_t DS5AVEXT; /* first available (free-space) extent. */ ds5ext_t DS5EXTAV[7]; /* seven available extents */ u_int8_t DS5FMTID; /* format identifier */ ds5ext_t DS5MAVET[18]; /* eighteen available extents */ cchhb_t DS5PTRDS; /* pointer to next format5 DSCB */ }; struct __attribute__ ((packed)) ds7ext { u_int32_t a; /* starting RTA value */ u_int32_t b; /* ending RTA value + 1 */ }; struct __attribute__ ((packed)) format7_label { char DS7KEYID[4]; /* key identifier */ ds7ext_t DS7EXTNT[5]; /* space for 5 extent descriptions */ u_int8_t DS7FMTID; /* format identifier */ ds7ext_t DS7ADEXT[11]; /* space for 11 extent descriptions */ char res1[2]; /* reserved */ cchhb_t DS7PTRDS; /* pointer to next FMT7 DSCB */ }; char *vtoc_ebcdic_enc (char const *source, char *target, int l); char *vtoc_ebcdic_dec (char const *source, char *target, int l); void vtoc_set_extent (extent_t *ext, u_int8_t typeind, u_int8_t seqno, cchh_t *lower, cchh_t *upper); void vtoc_set_cchh (cchh_t *addr, u_int16_t cc, u_int16_t hh); void vtoc_set_cchhb (cchhb_t *addr, u_int16_t cc, u_int16_t hh, u_int8_t b); void vtoc_set_date (labeldate_t *d, u_int8_t year, u_int16_t day); void vtoc_volume_label_init (volume_label_t *vlabel); int vtoc_read_volume_label (int fd, unsigned long vlabel_start, volume_label_t *vlabel); int vtoc_write_volume_label (int fd, unsigned long vlabel_start, volume_label_t const *vlabel); void vtoc_volume_label_set_volser (volume_label_t *vlabel, char const *volser); char *vtoc_volume_label_get_volser (volume_label_t *vlabel, char *volser); void vtoc_volume_label_set_key (volume_label_t *vlabel, char const *key); void vtoc_volume_label_set_label (volume_label_t *vlabel, char const *lbl); char *vtoc_volume_label_get_label (volume_label_t *vlabel, char *lbl); void vtoc_read_label (int fd, unsigned long position, format1_label_t *f1, format4_label_t *f4, format5_label_t *f5, format7_label_t *f7); void vtoc_write_label (int fd, unsigned long position, format1_label_t const *f1, format4_label_t const *f4, format5_label_t const *f5, format7_label_t const *f7); void vtoc_init_format1_label (char *volid, unsigned int blksize, extent_t *part_extent, format1_label_t *f1); void vtoc_init_format4_label (format4_label_t *f4lbl, unsigned int usable_partitions, unsigned int cylinders, unsigned int tracks, unsigned int blocks, unsigned int blksize, u_int16_t dev_type); void vtoc_update_format4_label (format4_label_t *f4, cchhb_t *highest_f1, u_int16_t unused_update); void vtoc_init_format5_label (format5_label_t *f5); void vtoc_update_format5_label_add (format5_label_t *f5, int verbose, int cyl, int trk, u_int16_t a, u_int16_t b, u_int8_t c); void vtoc_update_format5_label_del (format5_label_t *f5, int verbose, int cyl, int trk, u_int16_t a, u_int16_t b, u_int8_t c); void vtoc_init_format7_label (format7_label_t *f7); void vtoc_update_format7_label_add (format7_label_t *f7, int verbose, u_int32_t a, u_int32_t b); void vtoc_update_format7_label_del (format7_label_t *f7, int verbose, u_int32_t a, u_int32_t b); void vtoc_set_freespace(format4_label_t *f4, format5_label_t *f5, format7_label_t *f7, char ch, int verbose, u_int32_t start, u_int32_t stop, int cyl, int trk); #endif /* VTOC_H */ parted-2.3/include/parted/geom.h0000644000000000000000000000605211370314006013524 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 1998-2001, 2005, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /** * \addtogroup PedGeometry * @{ */ /** \file geom.h */ #ifndef PED_GEOM_H_INCLUDED #define PED_GEOM_H_INCLUDED typedef struct _PedGeometry PedGeometry; /** * Geometry of the partition */ struct _PedGeometry { PedDevice* dev; PedSector start; PedSector length; PedSector end; }; #include #include extern int ped_geometry_init (PedGeometry* geom, const PedDevice* dev, PedSector start, PedSector length); extern PedGeometry* ped_geometry_new (const PedDevice* dev, PedSector start, PedSector length); extern PedGeometry* ped_geometry_duplicate (const PedGeometry* geom); extern PedGeometry* ped_geometry_intersect (const PedGeometry* a, const PedGeometry* b); extern void ped_geometry_destroy (PedGeometry* geom); extern int ped_geometry_set (PedGeometry* geom, PedSector start, PedSector length); extern int ped_geometry_set_start (PedGeometry* geom, PedSector start); extern int ped_geometry_set_end (PedGeometry* geom, PedSector end); extern int ped_geometry_test_overlap (const PedGeometry* a, const PedGeometry* b); extern int ped_geometry_test_inside (const PedGeometry* a, const PedGeometry* b); extern int ped_geometry_test_equal (const PedGeometry* a, const PedGeometry* b); extern int ped_geometry_test_sector_inside (const PedGeometry* geom, PedSector sect); extern int ped_geometry_read (const PedGeometry* geom, void* buffer, PedSector offset, PedSector count); extern int ped_geometry_read_alloc (const PedGeometry* geom, void** buffer, PedSector offset, PedSector count); extern int ped_geometry_write (PedGeometry* geom, const void* buffer, PedSector offset, PedSector count); extern PedSector ped_geometry_check (PedGeometry* geom, void* buffer, PedSector buffer_size, PedSector offset, PedSector granularity, PedSector count, PedTimer* timer); extern int ped_geometry_sync (PedGeometry* geom); extern int ped_geometry_sync_fast (PedGeometry* geom); /* returns -1 if "sector" is not within dest's space. */ extern PedSector ped_geometry_map (const PedGeometry* dst, const PedGeometry* src, PedSector sector); #endif /* PED_GEOM_H_INCLUDED */ /** @} */ parted-2.3/include/parted/timer.h0000644000000000000000000000415411333731662013730 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 2001-2002, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /** * \addtogroup PedTimer * @{ */ /** \file timer.h */ #ifndef PED_TIMER_H_INCLUDED #define PED_TIMER_H_INCLUDED #include typedef struct _PedTimer PedTimer; typedef void PedTimerHandler (PedTimer* timer, void* context); /* * Structure keeping track of progress and time */ struct _PedTimer { float frac; /**< fraction of operation done */ time_t start; /**< time of start of op */ time_t now; /**< time of last update (now!) */ time_t predicted_end; /**< expected finish time */ const char* state_name; /**< eg: "copying data" */ PedTimerHandler* handler; /**< who to notify on updates */ void* context; /**< context to pass to handler */ }; extern PedTimer* ped_timer_new (PedTimerHandler* handler, void* context); extern void ped_timer_destroy (PedTimer* timer); /* a nested timer automatically notifies it's parent. You should only * create one when you are going to use it (not before) */ extern PedTimer* ped_timer_new_nested (PedTimer* parent, float nest_frac); extern void ped_timer_destroy_nested (PedTimer* timer); extern void ped_timer_touch (PedTimer* timer); extern void ped_timer_reset (PedTimer* timer); extern void ped_timer_update (PedTimer* timer, float new_frac); extern void ped_timer_set_state_name (PedTimer* timer, const char* state_name); #endif /* PED_TIMER_H_INCLUDED */ /** @} */ parted-2.3/include/parted/Makefile.in0000644000000000000000000011264411400005573014476 00000000000000# Makefile.in generated by automake 1.11a from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = include/parted DIST_COMMON = $(am__noinst_HEADERS_DIST) $(partedinclude_HEADERS) \ $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \ $(top_srcdir)/m4/asm-underscore.m4 $(top_srcdir)/m4/assert.m4 \ $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/calloc.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \ $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/dirname.m4 \ $(top_srcdir)/m4/dos.m4 $(top_srcdir)/m4/double-slash-root.m4 \ $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/extensions.m4 \ $(top_srcdir)/m4/fclose.m4 $(top_srcdir)/m4/fcntl-o.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fpending.m4 \ $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getopt.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \ $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/lib-ignore.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \ $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \ $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/long-options.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \ $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/memchr.m4 \ $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \ $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/o-direct.m4 $(top_srcdir)/m4/open.m4 \ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \ $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/readlink.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/safe-read.m4 \ $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \ $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/symlink.m4 \ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \ $(top_srcdir)/m4/version-etc.m4 \ $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \ $(top_srcdir)/m4/wctype_h.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xstrndup.m4 \ $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/lib/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = am__noinst_HEADERS_DIST = crc32.h endian.h fdasd.h vtoc.h am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(partedincludedir)" HEADERS = $(noinst_HEADERS) $(partedinclude_HEADERS) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ BUILDINFO = @BUILDINFO@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ CONFIG_INCLUDE = @CONFIG_INCLUDE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DL_LIBS = @DL_LIBS@ DM_LIBS = @DM_LIBS@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENABLE_DEVICE_MAPPER = @ENABLE_DEVICE_MAPPER@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPURGE = @GNULIB_FPURGE@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSTATAT = @GNULIB_FSTATAT@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETGROUPS = @GNULIB_GETGROUPS@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMCHR = @GNULIB_MEMCHR@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDIRAT = @GNULIB_MKDIRAT@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKFIFO = @GNULIB_MKFIFO@ GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@ GNULIB_MKNOD = @GNULIB_MKNOD@ GNULIB_MKNODAT = @GNULIB_MKNODAT@ GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PTSNAME = @GNULIB_PTSNAME@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ GNULIB_RMDIR = @GNULIB_RMDIR@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STAT = @GNULIB_STAT@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNCAT = @GNULIB_STRNCAT@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRPTIME = @GNULIB_STRPTIME@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNLINK = @GNULIB_UNLINK@ GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_USLEEP = @GNULIB_USLEEP@ GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_FUTIMENS = @HAVE_FUTIMENS@ HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETGROUPS = @HAVE_GETGROUPS@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@ HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@ HAVE_LANGINFO_H = @HAVE_LANGINFO_H@ HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LCHOWN = @HAVE_LCHOWN@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LOCALTIME_R = @HAVE_LOCALTIME_R@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_MKFIFO = @HAVE_MKFIFO@ HAVE_MKFIFOAT = @HAVE_MKFIFOAT@ HAVE_MKNOD = @HAVE_MKNOD@ HAVE_MKNODAT = @HAVE_MKNODAT@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ HAVE_OS_H = @HAVE_OS_H@ HAVE_PIPE2 = @HAVE_PIPE2@ HAVE_PREAD = @HAVE_PREAD@ HAVE_PTSNAME = @HAVE_PTSNAME@ HAVE_PWRITE = @HAVE_PWRITE@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TTYNAME_R = @HAVE_TTYNAME_R@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_USLEEP = @HAVE_USLEEP@ HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ HAVE_WCRTOMB = @HAVE_WCRTOMB@ HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE__BOOL = @HAVE__BOOL@ IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ INTLINCS = @INTLINCS@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ LIBTOOL = @LIBTOOL@ LIB_BLKID = @LIB_BLKID@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@ LOCALE_JA = @LOCALE_JA@ LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTALLOCA = @LTALLOCA@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ NEXT_WCTYPE_H = @NEXT_WCTYPE_H@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OS = @OS@ OS_LIBS = @OS_LIBS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PARTEDLDFLAGS = @PARTEDLDFLAGS@ PARTED_LIBS = @PARTED_LIBS@ PARTED_USABLE_TEST_DIR = @PARTED_USABLE_TEST_DIR@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POSUB = @POSUB@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PRIPTR_PREFIX = @PRIPTR_PREFIX@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REISER_LIBS = @REISER_LIBS@ REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FSTAT = @REPLACE_FSTAT@ REPLACE_FSTATAT = @REPLACE_FSTATAT@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ REPLACE_MBRLEN = @REPLACE_MBRLEN@ REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ REPLACE_MBSINIT = @REPLACE_MBSINIT@ REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_OPENAT = @REPLACE_OPENAT@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALPATH = @REPLACE_REALPATH@ REPLACE_REMOVE = @REPLACE_REMOVE@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRNCAT = @REPLACE_STRNCAT@ REPLACE_STRNDUP = @REPLACE_STRNDUP@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ REPLACE_UNSETENV = @REPLACE_UNSETENV@ REPLACE_USLEEP = @REPLACE_USLEEP@ REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ SELINUX_LIBS = @SELINUX_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_NLS = @USE_NLS@ UUID_LIBS = @UUID_LIBS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_aux_dir = @abs_aux_dir@ 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@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ gltests_WITNESS = @gltests_WITNESS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ @COMPILE_FOR_S390_FALSE@S390_HDRS = @COMPILE_FOR_S390_TRUE@S390_HDRS = fdasd.h vtoc.h partedincludedir = $(includedir)/parted partedinclude_HEADERS = constraint.h \ debug.h \ device.h \ disk.h \ exception.h \ filesys.h \ geom.h \ natmath.h \ timer.h \ unit.h \ parted.h noinst_HEADERS = crc32.h \ endian.h \ $(S390_HDRS) MAINTAINERCLEANFILES = Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu include/parted/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu include/parted/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-partedincludeHEADERS: $(partedinclude_HEADERS) @$(NORMAL_INSTALL) test -z "$(partedincludedir)" || $(MKDIR_P) "$(DESTDIR)$(partedincludedir)" @list='$(partedinclude_HEADERS)'; test -n "$(partedincludedir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(partedincludedir)'"; \ $(INSTALL_HEADER) $$files "$(DESTDIR)$(partedincludedir)" || exit $$?; \ done uninstall-partedincludeHEADERS: @$(NORMAL_UNINSTALL) @list='$(partedinclude_HEADERS)'; test -n "$(partedincludedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ test -n "$$files" || exit 0; \ echo " ( cd '$(DESTDIR)$(partedincludedir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(partedincludedir)" && rm -f $$files ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: $(HEADERS) $(SOURCES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(HEADERS) installdirs: for dir in "$(DESTDIR)$(partedincludedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(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 mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-partedincludeHEADERS install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-partedincludeHEADERS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool cscopelist ctags distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-partedincludeHEADERS \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am uninstall-partedincludeHEADERS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: parted-2.3/include/parted/disk.h0000644000000000000000000003542211370314006013532 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 1999-2002, 2007-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /** * \addtogroup PedDisk * @{ */ /** \file disk.h */ #ifndef PED_DISK_H_INCLUDED #define PED_DISK_H_INCLUDED /** * Disk flags */ enum _PedDiskFlag { /* This flag (which defaults to true) controls if disk types for which cylinder alignment is optional do cylinder alignment when a new partition gets added. This flag is available for msdos and sun disklabels (for sun labels it only controls the aligning of the end of the partition) */ PED_DISK_CYLINDER_ALIGNMENT=1, }; #define PED_DISK_FIRST_FLAG PED_DISK_CYLINDER_ALIGNMENT #define PED_DISK_LAST_FLAG PED_DISK_CYLINDER_ALIGNMENT /** * Partition types */ enum _PedPartitionType { PED_PARTITION_NORMAL = 0x00, PED_PARTITION_LOGICAL = 0x01, PED_PARTITION_EXTENDED = 0x02, PED_PARTITION_FREESPACE = 0x04, PED_PARTITION_METADATA = 0x08, PED_PARTITION_PROTECTED = 0x10 }; /** * Partition flags. */ enum _PedPartitionFlag { PED_PARTITION_BOOT=1, PED_PARTITION_ROOT=2, PED_PARTITION_SWAP=3, PED_PARTITION_HIDDEN=4, PED_PARTITION_RAID=5, PED_PARTITION_LVM=6, PED_PARTITION_LBA=7, PED_PARTITION_HPSERVICE=8, PED_PARTITION_PALO=9, PED_PARTITION_PREP=10, PED_PARTITION_MSFT_RESERVED=11, PED_PARTITION_BIOS_GRUB=12, PED_PARTITION_APPLE_TV_RECOVERY=13, PED_PARTITION_DIAG=14 }; #define PED_PARTITION_FIRST_FLAG PED_PARTITION_BOOT #define PED_PARTITION_LAST_FLAG PED_PARTITION_DIAG enum _PedDiskTypeFeature { PED_DISK_TYPE_EXTENDED=1, /**< supports extended partitions */ PED_DISK_TYPE_PARTITION_NAME=2 /**< supports partition names */ }; #define PED_DISK_TYPE_FIRST_FEATURE PED_DISK_TYPE_EXTENDED #define PED_DISK_TYPE_LAST_FEATURE PED_DISK_TYPE_PARTITION_NAME struct _PedDisk; struct _PedPartition; struct _PedDiskOps; struct _PedDiskType; struct _PedDiskArchOps; typedef enum _PedDiskFlag PedDiskFlag; typedef enum _PedPartitionType PedPartitionType; typedef enum _PedPartitionFlag PedPartitionFlag; typedef enum _PedDiskTypeFeature PedDiskTypeFeature; typedef struct _PedDisk PedDisk; typedef struct _PedPartition PedPartition; typedef const struct _PedDiskOps PedDiskOps; typedef struct _PedDiskType PedDiskType; typedef const struct _PedDiskArchOps PedDiskArchOps; #include #include #include #include #include /** @} */ /** * \addtogroup PedPartition * * @{ */ /** \file disk.h */ /** * PedPartition structure represents a partition. */ struct _PedPartition { PedPartition* prev; PedPartition* next; /**< the partition table of the partition */ PedDisk* disk; PedGeometry geom; /**< geometry of the partition */ /**< the partition number: In Linux, this is the same as the minor number. No assumption should be made about "num" and "type" - different disk labels have different rules. */ int num; PedPartitionType type; /**< the type of partition: a bit field of PED_PARTITION_LOGICAL, PED_PARTITION_EXTENDED, PED_PARTITION_METADATA and PED_PARTITION_FREESPACE. Both the first two, and the last two are mutually exclusive. An extended partition is a primary partition that may contain logical partitions. There is at most one extended partition on a disk. A logical partition is like a primary partition, except it's inside an extended partition. Internally, pseudo partitions are allocated to represent free space, or disk label meta-data. These have the PED_PARTITION_FREESPACE or PED_PARTITION_METADATA bit set. */ /**< The type of file system on the partition. NULL if unknown. */ const PedFileSystemType* fs_type; /**< Only used for an extended partition. The list of logical partitions (and free space and metadata within the extended partition). */ PedPartition* part_list; void* disk_specific; }; /** @} */ /** * \addtogroup PedDisk * @{ */ /** * Represents a disk label (partition table). */ struct _PedDisk { PedDevice* dev; /**< the device where the partition table lies */ const PedDiskType* type; /**< type of disk label */ const int* block_sizes; /**< block sizes supported by this label */ PedPartition* part_list; /**< list of partitions. Access with ped_disk_next_partition() */ void* disk_specific; /* office use only ;-) */ int needs_clobber; /**< clobber before write? */ int update_mode; /**< mode without free/metadata partitions, for easier update */ }; struct _PedDiskOps { /* disk label operations */ int (*probe) (const PedDevice *dev); int (*clobber) (PedDevice* dev); PedDisk* (*alloc) (const PedDevice* dev); PedDisk* (*duplicate) (const PedDisk* disk); void (*free) (PedDisk* disk); int (*read) (PedDisk* disk); int (*write) (const PedDisk* disk); int (*disk_set_flag) ( PedDisk *disk, PedDiskFlag flag, int state); int (*disk_get_flag) ( const PedDisk *disk, PedDiskFlag flag); int (*disk_is_flag_available) ( const PedDisk *disk, PedDiskFlag flag); /** \todo add label guessing op here */ /* partition operations */ PedPartition* (*partition_new) ( const PedDisk* disk, PedPartitionType part_type, const PedFileSystemType* fs_type, PedSector start, PedSector end); PedPartition* (*partition_duplicate) (const PedPartition* part); void (*partition_destroy) (PedPartition* part); int (*partition_set_system) (PedPartition* part, const PedFileSystemType* fs_type); int (*partition_set_flag) ( PedPartition* part, PedPartitionFlag flag, int state); int (*partition_get_flag) ( const PedPartition* part, PedPartitionFlag flag); int (*partition_is_flag_available) ( const PedPartition* part, PedPartitionFlag flag); void (*partition_set_name) (PedPartition* part, const char* name); const char* (*partition_get_name) (const PedPartition* part); int (*partition_align) (PedPartition* part, const PedConstraint* constraint); int (*partition_enumerate) (PedPartition* part); bool (*partition_check) (const PedPartition* part); /* other */ int (*alloc_metadata) (PedDisk* disk); int (*get_max_primary_partition_count) (const PedDisk* disk); bool (*get_max_supported_partition_count) (const PedDisk* disk, int* supported); PedAlignment *(*get_partition_alignment)(const PedDisk *disk); PedSector (*max_length) (void); PedSector (*max_start_sector) (void); }; struct _PedDiskType { PedDiskType* next; const char* name; /**< the name of the partition table type. \todo not very intuitive name */ PedDiskOps* const ops; PedDiskTypeFeature features; /**< bitmap of supported features */ }; /** * Architecture-specific operations. i.e. communication with kernel (or * whatever) about changes, etc. */ struct _PedDiskArchOps { char* (*partition_get_path) (const PedPartition* part); int (*partition_is_busy) (const PedPartition* part); int (*disk_commit) (PedDisk* disk); }; extern void ped_disk_type_register (PedDiskType* type); extern void ped_disk_type_unregister (PedDiskType* type); extern PedDiskType* ped_disk_type_get_next (PedDiskType const *type); extern PedDiskType* ped_disk_type_get (const char* name); extern int ped_disk_type_check_feature (const PedDiskType* disk_type, PedDiskTypeFeature feature); extern PedDiskType* ped_disk_probe (PedDevice* dev); extern int ped_disk_clobber (PedDevice* dev); extern PedDisk* ped_disk_new (PedDevice* dev); extern PedDisk* ped_disk_new_fresh (PedDevice* dev, const PedDiskType* disk_type); extern PedDisk* ped_disk_duplicate (const PedDisk* old_disk); extern void ped_disk_destroy (PedDisk* disk); extern int ped_disk_commit (PedDisk* disk); extern int ped_disk_commit_to_dev (PedDisk* disk); extern int ped_disk_commit_to_os (PedDisk* disk); extern int ped_disk_check (const PedDisk* disk); extern void ped_disk_print (const PedDisk* disk); extern int ped_disk_get_primary_partition_count (const PedDisk* disk); extern int ped_disk_get_last_partition_num (const PedDisk* disk); extern int ped_disk_get_max_primary_partition_count (const PedDisk* disk); extern bool ped_disk_get_max_supported_partition_count(const PedDisk* disk, int* supported); extern PedAlignment *ped_disk_get_partition_alignment(const PedDisk *disk); extern int ped_disk_set_flag(PedDisk *disk, PedDiskFlag flag, int state); extern int ped_disk_get_flag(const PedDisk *disk, PedDiskFlag flag); extern int ped_disk_is_flag_available(const PedDisk *disk, PedDiskFlag flag); extern const char *ped_disk_flag_get_name(PedDiskFlag flag); extern PedDiskFlag ped_disk_flag_get_by_name(const char *name); extern PedDiskFlag ped_disk_flag_next(PedDiskFlag flag); /** @} */ /** * \addtogroup PedPartition * * @{ */ extern PedPartition* ped_partition_new (const PedDisk* disk, PedPartitionType type, const PedFileSystemType* fs_type, PedSector start, PedSector end); extern void ped_partition_destroy (PedPartition* part); extern int ped_partition_is_active (const PedPartition* part); extern int ped_partition_set_flag (PedPartition* part, PedPartitionFlag flag, int state); extern int ped_partition_get_flag (const PedPartition* part, PedPartitionFlag flag); extern int ped_partition_is_flag_available (const PedPartition* part, PedPartitionFlag flag); extern int ped_partition_set_system (PedPartition* part, const PedFileSystemType* fs_type); extern int ped_partition_set_name (PedPartition* part, const char* name); extern const char* ped_partition_get_name (const PedPartition* part); extern int ped_partition_is_busy (const PedPartition* part); extern char* ped_partition_get_path (const PedPartition* part); extern const char* ped_partition_type_get_name (PedPartitionType part_type); extern const char* ped_partition_flag_get_name (PedPartitionFlag flag); extern PedPartitionFlag ped_partition_flag_get_by_name (const char* name); extern PedPartitionFlag ped_partition_flag_next (PedPartitionFlag flag); /** @} */ /** * \addtogroup PedDisk * @{ */ extern int ped_disk_add_partition (PedDisk* disk, PedPartition* part, const PedConstraint* constraint); extern int ped_disk_remove_partition (PedDisk* disk, PedPartition* part); extern int ped_disk_delete_partition (PedDisk* disk, PedPartition* part); extern int ped_disk_delete_all (PedDisk* disk); extern int ped_disk_set_partition_geom (PedDisk* disk, PedPartition* part, const PedConstraint* constraint, PedSector start, PedSector end); extern int ped_disk_maximize_partition (PedDisk* disk, PedPartition* part, const PedConstraint* constraint); extern PedGeometry* ped_disk_get_max_partition_geometry (PedDisk* disk, PedPartition* part, const PedConstraint* constraint); extern int ped_disk_minimize_extended_partition (PedDisk* disk); extern PedPartition* ped_disk_next_partition (const PedDisk* disk, const PedPartition* part); extern PedPartition* ped_disk_get_partition (const PedDisk* disk, int num); extern PedPartition* ped_disk_get_partition_by_sector (const PedDisk* disk, PedSector sect); extern PedPartition* ped_disk_extended_partition (const PedDisk* disk); extern PedSector ped_disk_max_partition_length (const PedDisk *disk); extern PedSector ped_disk_max_partition_start_sector (const PedDisk *disk); /* internal functions */ extern PedDisk* _ped_disk_alloc (const PedDevice* dev, const PedDiskType* type); extern void _ped_disk_free (PedDisk* disk); /** @} */ /** * \addtogroup PedPartition * * @{ */ extern PedPartition* _ped_partition_alloc (const PedDisk* disk, PedPartitionType type, const PedFileSystemType* fs_type, PedSector start, PedSector end); extern void _ped_partition_free (PedPartition* part); extern int _ped_partition_attempt_align ( PedPartition* part, const PedConstraint* external, PedConstraint* internal); #endif /* PED_DISK_H_INCLUDED */ /** @} */ parted-2.3/include/parted/parted.h0000644000000000000000000000257711333731662014076 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 1999-2001, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef PARTED_H_INCLUDED #define PARTED_H_INCLUDED #ifdef __cplusplus extern "C" { #endif #include #include #include #include #include #include #include #include #include #include extern const char* ped_get_version (); extern void* ped_malloc (size_t size); extern void* ped_calloc (size_t size); extern int ped_realloc (void** ptr, size_t size); extern void free (void* ptr); #ifdef __cplusplus } #endif #endif /* PARTED_H_INCLUDED */ parted-2.3/include/parted/fdasd.h0000644000000000000000000001655711303722522013673 00000000000000/* * File...........: s390-tools/fdasd/fdasd.h * Author(s)......: Volker Sameske * Horst Hummel * Bugreports.to..: * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 2001-2002 * * History of changes (starts March 2001) * version 1.01 - menu entry 's' to show mapping devnode - DS name * 1.02 - DS names count now from 0001 instead from 0000 * 1.03 - volser checks: 'AA AAA' to 'AAAAA ' * - removed dependency to kernel headers. * 1.04 - added -p option * 1.05 - new API policy, set it back to 0 */ #ifndef FDASD_H #define FDASD_H #include /***************************************************************************** * SECTION: Definitions needed for DASD-API (see dasd.h) * *****************************************************************************/ #define DASD_IOCTL_LETTER 'D' #define DASD_PARTN_BITS 2 #define PARTITION_LINUX_SWAP 0x82 #define PARTITION_LINUX 0x83 #define PARTITION_LINUX_EXT 0x85 #define PARTITION_LINUX_LVM 0x8e #define PARTITION_LINUX_RAID 0xfd #define PARTITION_LINUX_LVM_OLD 0xfe #define PART_TYPE_NATIVE "NATIVE" #define PART_TYPE_SWAP "SWAP " #define PART_TYPE_RAID "RAID " #define PART_TYPE_LVM "LVM " #ifdef DEBUG_DASD #define PDEBUG fprintf(stderr, "%s:%d:%s\n", \ __FILE__, \ __LINE__, \ __PRETTY_FUNCTION__); #else #define PDEBUG #endif /* * struct dasd_information_t * represents any data about the device, which is visible to userspace. * including foramt and featueres. */ typedef struct dasd_information_t { unsigned int devno; /* S/390 devno */ unsigned int real_devno; /* for aliases */ unsigned int schid; /* S/390 subchannel identifier */ unsigned int cu_type : 16; /* from SenseID */ unsigned int cu_model : 8; /* from SenseID */ unsigned int dev_type : 16; /* from SenseID */ unsigned int dev_model : 8; /* from SenseID */ unsigned int open_count; unsigned int req_queue_len; unsigned int chanq_len; /* length of chanq */ char type[4]; /* from discipline.name, 'none' for */ /* unknown */ unsigned int status; /* current device level */ unsigned int label_block; /* where to find the VOLSER */ unsigned int FBA_layout; /* fixed block size (like AIXVOL) */ unsigned int characteristics_size; unsigned int confdata_size; char characteristics[64]; /* from read_device_characteristics */ char configuration_data[256]; /* from read_configuration_data */ } dasd_information_t; /* * struct format_data_t * represents all data necessary to format a dasd */ typedef struct format_data_t { int start_unit; /* from track */ int stop_unit; /* to track */ int blksize; /* sectorsize */ int intensity; } format_data_t; /* * values to be used for format_data_t.intensity * 0/8: normal format * 1/9: also write record zero * 3/11: also write home address * 4/12: invalidate track */ #define DASD_FMT_INT_FMT_R0 1 /* write record zero */ #define DASD_FMT_INT_FMT_HA 2 /* write home address, also set FMT_R0 ! */ #define DASD_FMT_INT_INVAL 4 /* invalidate tracks */ #define DASD_FMT_INT_COMPAT 8 /* use OS/390 compatible disk layout */ /* Disable the volume (for Linux) */ #define BIODASDDISABLE _IO(DASD_IOCTL_LETTER,0) /* Enable the volume (for Linux) */ #define BIODASDENABLE _IO(DASD_IOCTL_LETTER,1) /* retrieve API version number */ #define DASDAPIVER _IOR(DASD_IOCTL_LETTER,0,int) /* Get information on a dasd device (enhanced) */ #define BIODASDINFO _IOR(DASD_IOCTL_LETTER,1,dasd_information_t) /***************************************************************************** * SECTION: Further IOCTL Definitions (see fs.h) * *****************************************************************************/ /* re-read partition table */ #define BLKRRPART _IO(0x12,95) /* get block device sector size */ #define BLKSSZGET _IO(0x12,104) /***************************************************************************** * SECTION: Definition from hdreq.h * *****************************************************************************/ struct fdasd_hd_geometry { unsigned char heads; unsigned char sectors; unsigned short cylinders; unsigned long start; }; /* get device geometry */ #define HDIO_GETGEO 0x0301 /***************************************************************************** * SECTION: FDASD internal types * *****************************************************************************/ #define DASD_MIN_API_VERSION 0 #define DEFAULT_FDASD_CONF "/etc/fdasd.conf" /* default config file */ #define PARTN_MASK ((1 << DASD_PARTN_BITS) - 1) #define USABLE_PARTITIONS ((1 << DASD_PARTN_BITS) - 1) #define FDASD_VERSION "1.05" #define DEVICE "device" #define DISC "disc" #define PART "part" #define ALTERNATE_CYLINDERS_USED 0x10 typedef struct partition_info { u_int8_t used; unsigned long start_trk; unsigned long end_trk; unsigned long len_trk; unsigned long fspace_trk; format1_label_t *f1; struct partition_info *next; struct partition_info *prev; u_int8_t type; } partition_info_t; typedef struct config_data { unsigned long start; unsigned long stop; } config_data_t; typedef struct fdasd_anchor { int vlabel_changed; int vtoc_changed; int devname_specified; int volid_specified; int config_specified; int auto_partition; int print_table; int big_disk; int silent; int verbose; int devno; int option_reuse; int option_recreate; int partno[USABLE_PARTITIONS]; u_int16_t dev_type; unsigned int used_partitions; unsigned long label_pos; unsigned int blksize; unsigned long fspace_trk; format4_label_t *f4; format5_label_t *f5; format7_label_t *f7; partition_info_t *first; partition_info_t *last; volume_label_t *vlabel; config_data_t confdata[USABLE_PARTITIONS]; struct fdasd_hd_geometry geo; } fdasd_anchor_t; enum offset {lower, upper}; enum fdasd_failure { unable_to_open_disk, unable_to_seek_disk, unable_to_read_disk, read_only_disk, unable_to_ioctl, api_version_mismatch, wrong_disk_type, wrong_disk_format, disk_in_use, config_syntax_error, vlabel_corrupted, dsname_corrupted, malloc_failed, device_verification_failed }; void fdasd_cleanup (fdasd_anchor_t *anchor); void fdasd_initialize_anchor (fdasd_anchor_t * anc); void fdasd_get_geometry (const PedDevice *dev, fdasd_anchor_t *anc, int fd); void fdasd_check_api_version (fdasd_anchor_t *anc, int fd); int fdasd_check_volume (fdasd_anchor_t *anc, int fd); int fdasd_write_labels (fdasd_anchor_t *anc, int fd); int fdasd_invalid_vtoc_pointer(fdasd_anchor_t *anc); void fdasd_recreate_vtoc(fdasd_anchor_t *anc); partition_info_t * fdasd_add_partition (fdasd_anchor_t *anc, unsigned int start, unsigned int stop); int fdasd_prepare_labels (fdasd_anchor_t *anc, int fd) ; #endif /* FDASD_H */ parted-2.3/include/parted/constraint.h0000644000000000000000000000515411370314006014763 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 1998-2000, 2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef PED_CONSTRAINT_H_INCLUDED #define PED_CONSTRAINT_H_INCLUDED typedef struct _PedConstraint PedConstraint; #include #include #include struct _PedConstraint { PedAlignment* start_align; PedAlignment* end_align; PedGeometry* start_range; PedGeometry* end_range; PedSector min_size; PedSector max_size; }; extern int ped_constraint_init ( PedConstraint* constraint, const PedAlignment* start_align, const PedAlignment* end_align, const PedGeometry* start_range, const PedGeometry* end_range, PedSector min_size, PedSector max_size); extern PedConstraint* ped_constraint_new ( const PedAlignment* start_align, const PedAlignment* end_align, const PedGeometry* start_range, const PedGeometry* end_range, PedSector min_size, PedSector max_size); extern PedConstraint* ped_constraint_new_from_min_max ( const PedGeometry* min, const PedGeometry* max); extern PedConstraint* ped_constraint_new_from_min (const PedGeometry* min); extern PedConstraint* ped_constraint_new_from_max (const PedGeometry* max); extern PedConstraint* ped_constraint_duplicate (const PedConstraint* constraint); extern void ped_constraint_done (PedConstraint* constraint); extern void ped_constraint_destroy (PedConstraint* constraint); extern PedConstraint* ped_constraint_intersect (const PedConstraint* a, const PedConstraint* b); extern PedGeometry* ped_constraint_solve_max (const PedConstraint* constraint); extern PedGeometry* ped_constraint_solve_nearest ( const PedConstraint* constraint, const PedGeometry* geom); extern int ped_constraint_is_solution (const PedConstraint* constraint, const PedGeometry* geom); extern PedConstraint* ped_constraint_any (const PedDevice* dev); extern PedConstraint* ped_constraint_exact (const PedGeometry* geom); #endif /* PED_CONSTRAINT_H_INCLUDED */ parted-2.3/include/parted/natmath.h0000644000000000000000000000652611333731662014251 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 2000, 2007-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /** * \addtogroup PedAlignment * @{ */ /** \file natmath.h */ #ifndef PED_NATMATH_H_INCLUDED #define PED_NATMATH_H_INCLUDED typedef struct _PedAlignment PedAlignment; #include #include #include #define PED_MIN(a, b) ( ((a)<(b)) ? (a) : (b) ) #define PED_MAX(a, b) ( ((a)>(b)) ? (a) : (b) ) /* this is weird (I'm still not sure I should be doing this!) * * For the functions: new, destroy, duplicate and merge: the following values * for align are valid: * * align == NULL (!) represents no solution * * align->grain_size == 0 represents a single solution * (align->offset) * * align->grain_size > 0 represents a set of solutions * * These are invalid: * * align->offset < 0 Note: this gets "normalized" * * align->grain_size < 0 * * For the align_* operations, there must be a solution. i.e. align != NULL * All solutions must be greater than zero. */ struct _PedAlignment { PedSector offset; PedSector grain_size; }; extern PedSector ped_round_up_to (PedSector sector, PedSector grain_size); extern PedSector ped_round_down_to (PedSector sector, PedSector grain_size); extern PedSector ped_round_to_nearest (PedSector sector, PedSector grain_size); extern PedSector ped_greatest_common_divisor (PedSector a, PedSector b); extern int ped_alignment_init (PedAlignment* align, PedSector offset, PedSector grain_size); extern PedAlignment* ped_alignment_new (PedSector offset, PedSector grain_size); extern void ped_alignment_destroy (PedAlignment* align); extern PedAlignment* ped_alignment_duplicate (const PedAlignment* align); extern PedAlignment* ped_alignment_intersect (const PedAlignment* a, const PedAlignment* b); extern PedSector ped_alignment_align_up (const PedAlignment* align, const PedGeometry* geom, PedSector sector); extern PedSector ped_alignment_align_down (const PedAlignment* align, const PedGeometry* geom, PedSector sector); extern PedSector ped_alignment_align_nearest (const PedAlignment* align, const PedGeometry* geom, PedSector sector); extern int ped_alignment_is_aligned (const PedAlignment* align, const PedGeometry* geom, PedSector sector); extern const PedAlignment* ped_alignment_any; extern const PedAlignment* ped_alignment_none; static inline PedSector ped_div_round_up (PedSector numerator, PedSector divisor) { return (numerator + divisor - 1) / divisor; } static inline PedSector ped_div_round_to_nearest (PedSector numerator, PedSector divisor) { return (numerator + divisor/2) / divisor; } #endif /* PED_NATMATH_H_INCLUDED */ /** * @} */ parted-2.3/include/parted/device.h0000644000000000000000000001366711370314006014046 00000000000000/* libparted - a library for manipulating disk partitions Copyright (C) 1998 - 2001, 2005, 2007-2008 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /** * \addtogroup PedDevice * @{ */ /** \file device.h */ #ifndef PED_DEVICE_H_INCLUDED #define PED_DEVICE_H_INCLUDED /** We can address 2^63 sectors */ typedef long long PedSector; /** \deprecated Removal from API planned */ typedef enum { PED_DEVICE_UNKNOWN = 0, PED_DEVICE_SCSI = 1, PED_DEVICE_IDE = 2, PED_DEVICE_DAC960 = 3, PED_DEVICE_CPQARRAY = 4, PED_DEVICE_FILE = 5, PED_DEVICE_ATARAID = 6, PED_DEVICE_I2O = 7, PED_DEVICE_UBD = 8, PED_DEVICE_DASD = 9, PED_DEVICE_VIODASD = 10, PED_DEVICE_SX8 = 11, PED_DEVICE_DM = 12, PED_DEVICE_XVD = 13, PED_DEVICE_SDMMC = 14, PED_DEVICE_VIRTBLK = 15, PED_DEVICE_AOE = 16, PED_DEVICE_MD = 17 } PedDeviceType; typedef struct _PedDevice PedDevice; typedef struct _PedDeviceArchOps PedDeviceArchOps; typedef struct _PedCHSGeometry PedCHSGeometry; /** * A cylinder-head-sector "old-style" geometry. * * A device addressed in this way has C*H*S sectors. */ struct _PedCHSGeometry { int cylinders; int heads; int sectors; }; /** A block device - for example, /dev/hda, not /dev/hda3 */ struct _PedDevice { PedDevice* next; char* model; /**< \brief description of hardware (manufacturer, model) */ char* path; /**< device /dev entry */ PedDeviceType type; /**< SCSI, IDE, etc. \deprecated \sa PedDeviceType */ long long sector_size; /**< logical sector size */ long long phys_sector_size; /**< physical sector size */ PedSector length; /**< device length (LBA) */ int open_count; /**< the number of times this device has been opened with ped_device_open(). */ int read_only; int external_mode; int dirty; int boot_dirty; PedCHSGeometry hw_geom; PedCHSGeometry bios_geom; short host, did; void* arch_specific; }; #include /** * List of functions implementing architecture-specific operations. */ struct _PedDeviceArchOps { PedDevice* (*_new) (const char* path); void (*destroy) (PedDevice* dev); int (*is_busy) (PedDevice* dev); int (*open) (PedDevice* dev); int (*refresh_open) (PedDevice* dev); int (*close) (PedDevice* dev); int (*refresh_close) (PedDevice* dev); int (*read) (const PedDevice* dev, void* buffer, PedSector start, PedSector count); int (*write) (PedDevice* dev, const void* buffer, PedSector start, PedSector count); int (*sync) (PedDevice* dev); int (*sync_fast) (PedDevice* dev); PedSector (*check) (PedDevice* dev, void* buffer, PedSector start, PedSector count); void (*probe_all) (); /* These functions are optional */ PedAlignment *(*get_minimum_alignment)(const PedDevice *dev); PedAlignment *(*get_optimum_alignment)(const PedDevice *dev); }; #include #include extern void ped_device_probe_all (); extern void ped_device_free_all (); extern PedDevice* ped_device_get (const char* name); extern PedDevice* ped_device_get_next (const PedDevice* dev); extern int ped_device_is_busy (PedDevice* dev); extern int ped_device_open (PedDevice* dev); extern int ped_device_close (PedDevice* dev); extern void ped_device_destroy (PedDevice* dev); extern void ped_device_cache_remove (PedDevice* dev); extern int ped_device_begin_external_access (PedDevice* dev); extern int ped_device_end_external_access (PedDevice* dev); extern int ped_device_read (const PedDevice* dev, void* buffer, PedSector start, PedSector count); extern int ped_device_write (PedDevice* dev, const void* buffer, PedSector start, PedSector count); extern int ped_device_sync (PedDevice* dev); extern int ped_device_sync_fast (PedDevice* dev); extern PedSector ped_device_check (PedDevice* dev, void* buffer, PedSector start, PedSector count); extern PedConstraint* ped_device_get_constraint (const PedDevice* dev); extern PedConstraint *ped_device_get_minimal_aligned_constraint( const PedDevice *dev); extern PedConstraint *ped_device_get_optimal_aligned_constraint( const PedDevice *dev); extern PedAlignment *ped_device_get_minimum_alignment(const PedDevice *dev); extern PedAlignment *ped_device_get_optimum_alignment(const PedDevice *dev); /* private stuff ;-) */ extern void _ped_device_probe (const char* path); #endif /* PED_DEVICE_H_INCLUDED */ /** @} */ parted-2.3/include/Makefile.in0000644000000000000000000012056211400005573013215 00000000000000# Makefile.in generated by automake 1.11a from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = include DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \ $(top_srcdir)/m4/asm-underscore.m4 $(top_srcdir)/m4/assert.m4 \ $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/calloc.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \ $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/dirname.m4 \ $(top_srcdir)/m4/dos.m4 $(top_srcdir)/m4/double-slash-root.m4 \ $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/extensions.m4 \ $(top_srcdir)/m4/fclose.m4 $(top_srcdir)/m4/fcntl-o.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fpending.m4 \ $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getopt.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \ $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/lib-ignore.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \ $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \ $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/long-options.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \ $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/memchr.m4 \ $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \ $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/o-direct.m4 $(top_srcdir)/m4/open.m4 \ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \ $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/readlink.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/safe-read.m4 \ $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \ $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/symlink.m4 \ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \ $(top_srcdir)/m4/version-etc.m4 \ $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \ $(top_srcdir)/m4/wctype_h.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xstrndup.m4 \ $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/lib/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ distdir ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ BUILDINFO = @BUILDINFO@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ CONFIG_INCLUDE = @CONFIG_INCLUDE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DL_LIBS = @DL_LIBS@ DM_LIBS = @DM_LIBS@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENABLE_DEVICE_MAPPER = @ENABLE_DEVICE_MAPPER@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPURGE = @GNULIB_FPURGE@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSTATAT = @GNULIB_FSTATAT@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETGROUPS = @GNULIB_GETGROUPS@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMCHR = @GNULIB_MEMCHR@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDIRAT = @GNULIB_MKDIRAT@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKFIFO = @GNULIB_MKFIFO@ GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@ GNULIB_MKNOD = @GNULIB_MKNOD@ GNULIB_MKNODAT = @GNULIB_MKNODAT@ GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PTSNAME = @GNULIB_PTSNAME@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ GNULIB_RMDIR = @GNULIB_RMDIR@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STAT = @GNULIB_STAT@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNCAT = @GNULIB_STRNCAT@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRPTIME = @GNULIB_STRPTIME@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNLINK = @GNULIB_UNLINK@ GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_USLEEP = @GNULIB_USLEEP@ GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_FUTIMENS = @HAVE_FUTIMENS@ HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETGROUPS = @HAVE_GETGROUPS@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@ HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@ HAVE_LANGINFO_H = @HAVE_LANGINFO_H@ HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LCHOWN = @HAVE_LCHOWN@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LOCALTIME_R = @HAVE_LOCALTIME_R@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_MKFIFO = @HAVE_MKFIFO@ HAVE_MKFIFOAT = @HAVE_MKFIFOAT@ HAVE_MKNOD = @HAVE_MKNOD@ HAVE_MKNODAT = @HAVE_MKNODAT@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ HAVE_OS_H = @HAVE_OS_H@ HAVE_PIPE2 = @HAVE_PIPE2@ HAVE_PREAD = @HAVE_PREAD@ HAVE_PTSNAME = @HAVE_PTSNAME@ HAVE_PWRITE = @HAVE_PWRITE@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TTYNAME_R = @HAVE_TTYNAME_R@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_USLEEP = @HAVE_USLEEP@ HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ HAVE_WCRTOMB = @HAVE_WCRTOMB@ HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE__BOOL = @HAVE__BOOL@ IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ INTLINCS = @INTLINCS@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ LIBTOOL = @LIBTOOL@ LIB_BLKID = @LIB_BLKID@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@ LOCALE_JA = @LOCALE_JA@ LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTALLOCA = @LTALLOCA@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ NEXT_WCTYPE_H = @NEXT_WCTYPE_H@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OS = @OS@ OS_LIBS = @OS_LIBS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PARTEDLDFLAGS = @PARTEDLDFLAGS@ PARTED_LIBS = @PARTED_LIBS@ PARTED_USABLE_TEST_DIR = @PARTED_USABLE_TEST_DIR@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POSUB = @POSUB@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PRIPTR_PREFIX = @PRIPTR_PREFIX@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REISER_LIBS = @REISER_LIBS@ REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FSTAT = @REPLACE_FSTAT@ REPLACE_FSTATAT = @REPLACE_FSTATAT@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ REPLACE_MBRLEN = @REPLACE_MBRLEN@ REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ REPLACE_MBSINIT = @REPLACE_MBSINIT@ REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_OPENAT = @REPLACE_OPENAT@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALPATH = @REPLACE_REALPATH@ REPLACE_REMOVE = @REPLACE_REMOVE@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRNCAT = @REPLACE_STRNCAT@ REPLACE_STRNDUP = @REPLACE_STRNDUP@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ REPLACE_UNSETENV = @REPLACE_UNSETENV@ REPLACE_USLEEP = @REPLACE_USLEEP@ REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ SELINUX_LIBS = @SELINUX_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_NLS = @USE_NLS@ UUID_LIBS = @UUID_LIBS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_aux_dir = @abs_aux_dir@ 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@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ gltests_WITNESS = @gltests_WITNESS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = parted MAINTAINERCLEANFILES = Makefile.in all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu include/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu include/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done cscopelist-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(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 mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) \ cscopelist-recursive ctags-recursive install-am install-strip \ tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ cscopelist cscopelist-recursive ctags ctags-recursive \ distclean distclean-generic distclean-libtool distclean-tags \ distdir dvi dvi-am html html-am info info-am install \ install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags tags-recursive uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: parted-2.3/configure0000744000000000000000000352500211400005570011430 00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.65.70-64f8f for GNU parted 2.3. # # Report bugs to . # # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 test \$(( 1 + 1 )) = 2 || exit 1 test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO PATH=/empty FPATH=/empty; export PATH FPATH test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV export CONFIG_SHELL exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org and bug-parted@gnu.org $0: about your system, including any error possibly output $0: before this message. Then install a modern shell, or $0: manually run the script under such a shell if you do $0: have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in #( -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" SHELL=${CONFIG_SHELL-/bin/sh} test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME='GNU parted' PACKAGE_TARNAME='parted' PACKAGE_VERSION='2.3' PACKAGE_STRING='GNU parted 2.3' PACKAGE_BUGREPORT='bug-parted@gnu.org' PACKAGE_URL='http://www.gnu.org/software/parted/' ac_unique_file="include/parted/parted.h" # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" ac_func_list= ac_header_list= gl_getopt_required=POSIX gl_getopt_required=POSIX gt_needs= ac_subst_vars='gltests_LTLIBOBJS gltests_LIBOBJS gl_LTLIBOBJS gl_LIBOBJS CONFIG_INCLUDE am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS LIBOBJS LIB_BLKID BUILDINFO HAVE_CHECK_FALSE HAVE_CHECK_TRUE CHECK_LIBS CHECK_CFLAGS PKG_CONFIG BUILD_LINUX_FALSE BUILD_LINUX_TRUE COMPILE_FOR_S390_FALSE COMPILE_FOR_S390_TRUE INTLINCS OS_LIBS PARTED_LIBS REISER_LIBS SELINUX_LIBS DM_LIBS UUID_LIBS DL_LIBS POSUB INTLLIBS LTLIBICONV LIBICONV INTL_MACOSX_LIBS XGETTEXT_EXTRA_OPTIONS MSGMERGE XGETTEXT_015 XGETTEXT GMSGFMT_015 MSGFMT_015 GMSGFMT MSGFMT GETTEXT_MACRO_VERSION USE_NLS OTOOL64 OTOOL LIPO NMEDIT DSYMUTIL AR OBJDUMP LN_S NM ac_ct_DUMPBIN DUMPBIN LD FGREP SED LIBTOOL WERROR_CFLAGS LIBTESTS_LIBDEPS abs_aux_dir NEXT_AS_FIRST_DIRECTIVE_FCNTL_H NEXT_FCNTL_H REPLACE_OPENAT REPLACE_OPEN REPLACE_FCNTL HAVE_OPENAT HAVE_FCNTL GNULIB_OPENAT GNULIB_OPEN GNULIB_FCNTL LOCALE_TR_UTF8 gltests_WITNESS REPLACE_ISWCNTRL HAVE_WCTYPE_H NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H NEXT_WCTYPE_H HAVE_ISWBLANK HAVE_ISWCNTRL HAVE_WINT_T HAVE_WCHAR_H NEXT_AS_FIRST_DIRECTIVE_WCHAR_H NEXT_WCHAR_H WARN_CFLAGS HAVE_UNISTD_H NEXT_AS_FIRST_DIRECTIVE_UNISTD_H NEXT_UNISTD_H SYS_TIME_H_DEFINES_STRUCT_TIMESPEC TIME_H_DEFINES_STRUCT_TIMESPEC NEXT_AS_FIRST_DIRECTIVE_TIME_H NEXT_TIME_H REPLACE_TIMEGM REPLACE_NANOSLEEP REPLACE_MKTIME REPLACE_LOCALTIME_R HAVE_TIMEGM HAVE_STRPTIME HAVE_NANOSLEEP HAVE_LOCALTIME_R GNULIB_TIME_R GNULIB_TIMEGM GNULIB_STRPTIME GNULIB_NANOSLEEP GNULIB_MKTIME NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H NEXT_SYS_STAT_H NEXT_AS_FIRST_DIRECTIVE_STRING_H NEXT_STRING_H HAVE_RANDOM_H NEXT_AS_FIRST_DIRECTIVE_STDLIB_H NEXT_STDLIB_H NEXT_AS_FIRST_DIRECTIVE_STDIO_H NEXT_STDIO_H ASM_SYMBOL_PREFIX NEXT_AS_FIRST_DIRECTIVE_STDDEF_H NEXT_STDDEF_H STDDEF_H HAVE_WCHAR_T REPLACE_NULL HAVE__BOOL STDBOOL_H NEXT_AS_FIRST_DIRECTIVE_STDARG_H NEXT_STDARG_H STDARG_H UNDEFINE_STRTOK_R REPLACE_STRTOK_R REPLACE_STRSIGNAL REPLACE_STRNLEN REPLACE_STRNDUP REPLACE_STRNCAT REPLACE_STRERROR REPLACE_STRCASESTR REPLACE_STRSTR REPLACE_STRDUP REPLACE_STPNCPY REPLACE_MEMMEM REPLACE_MEMCHR HAVE_STRVERSCMP HAVE_DECL_STRSIGNAL HAVE_DECL_STRTOK_R HAVE_STRCASESTR HAVE_STRSEP HAVE_STRPBRK HAVE_DECL_STRNLEN HAVE_DECL_STRNDUP HAVE_DECL_STRDUP HAVE_STRCHRNUL HAVE_STPNCPY HAVE_STPCPY HAVE_RAWMEMCHR HAVE_DECL_MEMRCHR HAVE_MEMPCPY HAVE_DECL_MEMMEM HAVE_MEMCHR HAVE_MBSLEN GNULIB_STRVERSCMP GNULIB_STRSIGNAL GNULIB_STRERROR GNULIB_MBSTOK_R GNULIB_MBSSEP GNULIB_MBSSPN GNULIB_MBSPBRK GNULIB_MBSCSPN GNULIB_MBSCASESTR GNULIB_MBSPCASECMP GNULIB_MBSNCASECMP GNULIB_MBSCASECMP GNULIB_MBSSTR GNULIB_MBSRCHR GNULIB_MBSCHR GNULIB_MBSNLEN GNULIB_MBSLEN GNULIB_STRTOK_R GNULIB_STRCASESTR GNULIB_STRSTR GNULIB_STRSEP GNULIB_STRPBRK GNULIB_STRNLEN GNULIB_STRNDUP GNULIB_STRNCAT GNULIB_STRDUP GNULIB_STRCHRNUL GNULIB_STPNCPY GNULIB_STPCPY GNULIB_RAWMEMCHR GNULIB_MEMRCHR GNULIB_MEMPCPY GNULIB_MEMMEM GNULIB_MEMCHR LOCALE_FR_UTF8 LOCALE_ZH_CN LOCALE_JA REPLACE_UTIMENSAT REPLACE_STAT REPLACE_MKNOD REPLACE_MKFIFO REPLACE_MKDIR REPLACE_LSTAT REPLACE_FUTIMENS REPLACE_FSTATAT REPLACE_FSTAT HAVE_UTIMENSAT HAVE_MKNODAT HAVE_MKNOD HAVE_MKFIFOAT HAVE_MKFIFO HAVE_MKDIRAT HAVE_LSTAT HAVE_LCHMOD HAVE_FUTIMENS HAVE_FSTATAT HAVE_FCHMODAT GNULIB_UTIMENSAT GNULIB_STAT GNULIB_MKNODAT GNULIB_MKNOD GNULIB_MKFIFOAT GNULIB_MKFIFO GNULIB_MKDIRAT GNULIB_LSTAT GNULIB_LCHMOD GNULIB_FUTIMENS GNULIB_FSTATAT GNULIB_FCHMODAT LOCALCHARSET_TESTS_ENVIRONMENT GLIBC21 IGNORE_UNUSED_LIBRARIES_CFLAGS HAVE_LANGINFO_ERA HAVE_LANGINFO_CODESET HAVE_LANGINFO_H NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H NEXT_LANGINFO_H REPLACE_NL_LANGINFO HAVE_NL_LANGINFO GNULIB_NL_LANGINFO UINT64_MAX_EQ_ULONG_MAX UINT32_MAX_LT_UINTMAX_MAX INT64_MAX_EQ_LONG_MAX INT32_MAX_LT_INTMAX_MAX PRIPTR_PREFIX NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H NEXT_INTTYPES_H HAVE_DECL_STRTOUMAX HAVE_DECL_STRTOIMAX HAVE_DECL_IMAXDIV HAVE_DECL_IMAXABS GNULIB_STRTOUMAX GNULIB_STRTOIMAX GNULIB_IMAXDIV GNULIB_IMAXABS PRI_MACROS_BROKEN STDINT_H WINT_T_SUFFIX WCHAR_T_SUFFIX SIG_ATOMIC_T_SUFFIX SIZE_T_SUFFIX PTRDIFF_T_SUFFIX HAVE_SIGNED_WINT_T HAVE_SIGNED_WCHAR_T HAVE_SIGNED_SIG_ATOMIC_T BITSIZEOF_WINT_T BITSIZEOF_WCHAR_T BITSIZEOF_SIG_ATOMIC_T BITSIZEOF_SIZE_T BITSIZEOF_PTRDIFF_T APPLE_UNIVERSAL_BUILD HAVE_SYS_BITYPES_H HAVE_SYS_INTTYPES_H HAVE_STDINT_H NEXT_AS_FIRST_DIRECTIVE_STDINT_H NEXT_STDINT_H HAVE_SYS_TYPES_H HAVE_INTTYPES_H HAVE_UNSIGNED_LONG_LONG_INT HAVE_LONG_LONG_INT NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H NEXT_SYS_TIME_H REPLACE_GETTIMEOFDAY HAVE_SYS_TIME_H HAVE_STRUCT_TIMEVAL HAVE_GETTIMEOFDAY GNULIB_GETTIMEOFDAY LTLIBINTL LIBINTL GETOPT_H HAVE_GETOPT_H NEXT_AS_FIRST_DIRECTIVE_GETOPT_H NEXT_GETOPT_H REPLACE_VSPRINTF REPLACE_VSNPRINTF REPLACE_VPRINTF REPLACE_VFPRINTF REPLACE_VDPRINTF REPLACE_VASPRINTF REPLACE_TMPFILE REPLACE_STDIO_WRITE_FUNCS REPLACE_SPRINTF REPLACE_SNPRINTF REPLACE_RENAMEAT REPLACE_RENAME REPLACE_REMOVE REPLACE_PRINTF REPLACE_POPEN REPLACE_PERROR REPLACE_OBSTACK_PRINTF REPLACE_GETLINE REPLACE_GETDELIM REPLACE_FTELLO REPLACE_FTELL REPLACE_FSEEKO REPLACE_FSEEK REPLACE_FREOPEN REPLACE_FPURGE REPLACE_FPRINTF REPLACE_FOPEN REPLACE_FFLUSH REPLACE_FCLOSE REPLACE_DPRINTF HAVE_VDPRINTF HAVE_VASPRINTF HAVE_RENAMEAT HAVE_FTELLO HAVE_FSEEKO HAVE_DPRINTF HAVE_DECL_VSNPRINTF HAVE_DECL_SNPRINTF HAVE_DECL_OBSTACK_PRINTF HAVE_DECL_GETLINE HAVE_DECL_GETDELIM HAVE_DECL_FPURGE GNULIB_VSPRINTF_POSIX GNULIB_VSNPRINTF GNULIB_VPRINTF_POSIX GNULIB_VPRINTF GNULIB_VFPRINTF_POSIX GNULIB_VFPRINTF GNULIB_VDPRINTF GNULIB_VASPRINTF GNULIB_TMPFILE GNULIB_STDIO_H_SIGPIPE GNULIB_SPRINTF_POSIX GNULIB_SNPRINTF GNULIB_RENAMEAT GNULIB_RENAME GNULIB_REMOVE GNULIB_PUTS GNULIB_PUTCHAR GNULIB_PUTC GNULIB_PRINTF_POSIX GNULIB_PRINTF GNULIB_POPEN GNULIB_PERROR GNULIB_OBSTACK_PRINTF_POSIX GNULIB_OBSTACK_PRINTF GNULIB_GETLINE GNULIB_GETDELIM GNULIB_FWRITE GNULIB_FTELLO GNULIB_FTELL GNULIB_FSEEKO GNULIB_FSEEK GNULIB_FREOPEN GNULIB_FPUTS GNULIB_FPUTC GNULIB_FPURGE GNULIB_FPRINTF_POSIX GNULIB_FPRINTF GNULIB_FOPEN GNULIB_FFLUSH GNULIB_FCLOSE GNULIB_DPRINTF EOVERFLOW_VALUE EOVERFLOW_HIDDEN ENOLINK_VALUE ENOLINK_HIDDEN EMULTIHOP_VALUE EMULTIHOP_HIDDEN ERRNO_H NEXT_AS_FIRST_DIRECTIVE_ERRNO_H NEXT_ERRNO_H PRAGMA_SYSTEM_HEADER INCLUDE_NEXT_AS_FIRST_DIRECTIVE INCLUDE_NEXT UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS UNISTD_H_HAVE_WINSOCK2_H REPLACE_WRITE REPLACE_USLEEP REPLACE_UNLINKAT REPLACE_UNLINK REPLACE_TTYNAME_R REPLACE_SYMLINK REPLACE_SLEEP REPLACE_RMDIR REPLACE_READLINK REPLACE_PWRITE REPLACE_PREAD REPLACE_LSEEK REPLACE_LINKAT REPLACE_LINK REPLACE_LCHOWN REPLACE_GETPAGESIZE REPLACE_GETGROUPS REPLACE_GETCWD REPLACE_FCHOWNAT REPLACE_DUP2 REPLACE_DUP REPLACE_CLOSE REPLACE_CHOWN HAVE_SYS_PARAM_H HAVE_OS_H HAVE_DECL_GETUSERSHELL HAVE_DECL_GETPAGESIZE HAVE_DECL_GETLOGIN_R HAVE_DECL_ENVIRON HAVE_USLEEP HAVE_UNLINKAT HAVE_TTYNAME_R HAVE_SYMLINKAT HAVE_SYMLINK HAVE_SLEEP HAVE_READLINKAT HAVE_READLINK HAVE_PWRITE HAVE_PREAD HAVE_PIPE2 HAVE_LINKAT HAVE_LINK HAVE_LCHOWN HAVE_GETPAGESIZE HAVE_GETLOGIN HAVE_GETHOSTNAME HAVE_GETGROUPS HAVE_GETDTABLESIZE HAVE_GETDOMAINNAME HAVE_FTRUNCATE HAVE_FSYNC HAVE_FCHOWNAT HAVE_FCHDIR HAVE_FACCESSAT HAVE_EUIDACCESS HAVE_DUP3 HAVE_DUP2 HAVE_CHOWN GNULIB_WRITE GNULIB_USLEEP GNULIB_UNLINKAT GNULIB_UNLINK GNULIB_UNISTD_H_SIGPIPE GNULIB_UNISTD_H_GETOPT GNULIB_TTYNAME_R GNULIB_SYMLINKAT GNULIB_SYMLINK GNULIB_SLEEP GNULIB_RMDIR GNULIB_READLINKAT GNULIB_READLINK GNULIB_PWRITE GNULIB_PREAD GNULIB_PIPE2 GNULIB_LSEEK GNULIB_LINKAT GNULIB_LINK GNULIB_LCHOWN GNULIB_GETUSERSHELL GNULIB_GETPAGESIZE GNULIB_GETLOGIN_R GNULIB_GETLOGIN GNULIB_GETHOSTNAME GNULIB_GETGROUPS GNULIB_GETDTABLESIZE GNULIB_GETDOMAINNAME GNULIB_GETCWD GNULIB_FTRUNCATE GNULIB_FSYNC GNULIB_FCHOWNAT GNULIB_FCHDIR GNULIB_FACCESSAT GNULIB_EUIDACCESS GNULIB_ENVIRON GNULIB_DUP3 GNULIB_DUP2 GNULIB_CLOSE GNULIB_CHOWN REPLACE_UNSETENV REPLACE_STRTOD REPLACE_SETENV REPLACE_REALPATH REPLACE_PUTENV REPLACE_MKSTEMP REPLACE_CANONICALIZE_FILE_NAME HAVE_UNSETENV HAVE_UNLOCKPT HAVE_SYS_LOADAVG_H HAVE_STRUCT_RANDOM_DATA HAVE_STRTOULL HAVE_STRTOLL HAVE_STRTOD HAVE_SETENV HAVE_RPMATCH HAVE_REALPATH HAVE_REALLOC_POSIX HAVE_RANDOM_R HAVE_PTSNAME HAVE_MKSTEMPS HAVE_MKSTEMP HAVE_MKOSTEMPS HAVE_MKOSTEMP HAVE_MKDTEMP HAVE_MALLOC_POSIX HAVE_GRANTPT HAVE_GETSUBOPT HAVE_DECL_GETLOADAVG HAVE_CANONICALIZE_FILE_NAME HAVE_ATOLL GNULIB_UNSETENV GNULIB_UNLOCKPT GNULIB_STRTOULL GNULIB_STRTOLL GNULIB_STRTOD GNULIB_SETENV GNULIB_RPMATCH GNULIB_REALPATH GNULIB_REALLOC_POSIX GNULIB_RANDOM_R GNULIB_PUTENV GNULIB_PTSNAME GNULIB_MKSTEMPS GNULIB_MKSTEMP GNULIB_MKOSTEMPS GNULIB_MKOSTEMP GNULIB_MKDTEMP GNULIB_MALLOC_POSIX GNULIB_GRANTPT GNULIB_GETSUBOPT GNULIB_GETLOADAVG GNULIB_CANONICALIZE_FILE_NAME GNULIB_CALLOC_POSIX GNULIB_ATOLL HAVE_CALLOC_POSIX LOCALE_FR REPLACE_WCWIDTH REPLACE_WCSNRTOMBS REPLACE_WCSRTOMBS REPLACE_WCRTOMB REPLACE_MBSNRTOWCS REPLACE_MBSRTOWCS REPLACE_MBRLEN REPLACE_MBRTOWC REPLACE_MBSINIT REPLACE_WCTOB REPLACE_BTOWC REPLACE_MBSTATE_T HAVE_DECL_WCWIDTH HAVE_DECL_WCTOB HAVE_WCSNRTOMBS HAVE_WCSRTOMBS HAVE_WCRTOMB HAVE_MBSNRTOWCS HAVE_MBSRTOWCS HAVE_MBRLEN HAVE_MBRTOWC HAVE_MBSINIT HAVE_BTOWC GNULIB_WCWIDTH GNULIB_WCSNRTOMBS GNULIB_WCSRTOMBS GNULIB_WCRTOMB GNULIB_MBSNRTOWCS GNULIB_MBSRTOWCS GNULIB_MBRLEN GNULIB_MBRTOWC GNULIB_MBSINIT GNULIB_WCTOB GNULIB_BTOWC ALLOCA_H ALLOCA LTALLOCA GL_COND_LIBTOOL_FALSE GL_COND_LIBTOOL_TRUE PARTED_USABLE_TEST_DIR RANLIB EGREP GREP CPP am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE am__nodep AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE am__quote am__include DEPDIR OBJEXT EXEEXT ac_ct_CC CPPFLAGS LDFLAGS CFLAGS CC PARTEDLDFLAGS ENABLE_DEVICE_MAPPER OS host_os host_vendor host_cpu host build_os build_vendor build_cpu build AM_BACKSLASH AM_DEFAULT_VERBOSITY am__untar am__tar AMTAR am__leading_dot SET_MAKE AWK mkdir_p MKDIR_P INSTALL_STRIP_PROGRAM STRIP install_sh MAKEINFO AUTOHEADER AUTOMAKE AUTOCONF ACLOCAL VERSION PACKAGE CYGPATH_W am__isrc INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM LT_AGE LT_REVISION LT_CURRENT LT_RELEASE target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking enable_silent_rules with_readline enable_mtrace enable_device_mapper enable_selinux enable_discover_only enable_dynamic_loading enable_fs enable_debug enable_read_only enable_pc98 enable_Werror enable_hfs_extract_fs enable_dependency_tracking enable_largefile enable_assert with_included_regex with_packager with_packager_version with_packager_bug_reports enable_gcc_warnings enable_shared enable_static with_pic enable_fast_install with_gnu_ld enable_libtool_lock enable_nls enable_rpath with_libiconv_prefix with_libintl_prefix ' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CPP PKG_CONFIG CHECK_CFLAGS CHECK_LIBS' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error $? "unrecognized option: \`$ac_option' Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used" >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures GNU parted 2.3 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/parted] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of GNU parted 2.3:";; esac cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-silent-rules less verbose build output (undo: `make V=1') --disable-silent-rules verbose build output (undo: `make V=0') --enable-mtrace enable malloc() debugging --enable-device-mapper enable device mapper support default=yes --enable-selinux enable SELinux support default=no --enable-discover-only support only reading/probing default=no --enable-dynamic-loading support dynamic fs libraries default=yes --enable-fs include filesystem support default=yes --enable-debug compile in assertions default=yes --enable-read-only disable writing (for debugging) default=no --enable-pc98 build with pc98 support default=yes --enable-Werror build with gcc -Werror default=yes --enable-hfs-extract-fs Extract special HFS files for debugging default=no --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors --disable-largefile omit support for large files --disable-assert turn off assertions --enable-gcc-warnings turn on lots of GCC warnings (for developers) --enable-shared[=PKGS] build shared libraries [default=yes] --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) --disable-nls do not use Native Language Support --disable-rpath do not hardcode runtime library paths Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-readline support fancy command line editing --without-included-regex don't compile regex; this is the default on systems with recent-enough versions of the GNU C Library (use with caution on other systems). --with-packager String identifying the packager of this software --with-packager-version Packager-specific version information --with-packager-bug-reports Packager info for bug reports (URL/e-mail/...) --with-pic try to use only PIC/non-PIC objects [default=use both] --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-gnu-ld assume the C compiler uses GNU ld default=no --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib --without-libiconv-prefix don't search for libiconv in includedir and libdir --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib --without-libintl-prefix don't search for libintl in includedir and libdir Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CPP C preprocessor PKG_CONFIG path to pkg-config utility CHECK_CFLAGS C compiler flags for CHECK, overriding pkg-config CHECK_LIBS linker flags for CHECK, overriding pkg-config Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to . GNU parted home page: . General help using GNU software: . _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF GNU parted configure 2.3 generated by GNU Autoconf 2.65.70-64f8f Copyright (C) 2010 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## # ac_fn_c_try_compile LINENO # -------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} as_fn_set_status $ac_retval } # ac_fn_c_try_compile # ac_fn_c_try_link LINENO # ----------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} as_fn_set_status $ac_retval } # ac_fn_c_try_link # ac_fn_c_try_cpp LINENO # ---------------------- # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} as_fn_set_status $ac_retval } # ac_fn_c_try_cpp # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists, giving a warning if it cannot be compiled using # the include files in INCLUDES and setting the cache variable VAR # accordingly. ac_fn_c_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } else # Is the header compilable? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 $as_echo_n "checking $2 usability... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_header_compiler=yes else ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 $as_echo "$ac_header_compiler" >&6; } # Is the header present? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 $as_echo_n "checking $2 presence... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <$2> _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : ac_header_preproc=yes else ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( yes:no: ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 $as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ;; no:yes:* ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 $as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 $as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ( cat <<\_ASBOX ## --------------------------------- ## ## Report this to bug-parted@gnu.org ## ## --------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} } # ac_fn_c_check_header_mongrel # ac_fn_c_try_run LINENO # ---------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes # that executables *can* be run. ac_fn_c_try_run () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then : ac_retval=0 else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} as_fn_set_status $ac_retval } # ac_fn_c_try_run # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in # INCLUDES, setting the cache variable VAR accordingly. ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} } # ac_fn_c_check_header_compile # ac_fn_c_check_func LINENO FUNC VAR # ---------------------------------- # Tests whether FUNC exists, setting the cache variable VAR accordingly ac_fn_c_check_func () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case declares $2. For example, HP-UX 11i declares gettimeofday. */ #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $2 (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $2 /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $2 (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$2 || defined __stub___$2 choke me #endif int main () { return $2 (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} } # ac_fn_c_check_func # ac_fn_c_check_type LINENO TYPE VAR INCLUDES # ------------------------------------------- # Tests whether TYPE exists after having included INCLUDES, setting cache # variable VAR accordingly. ac_fn_c_check_type () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else eval "$3=no" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { if (sizeof ($2)) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { if (sizeof (($2))) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else eval "$3=yes" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} } # ac_fn_c_check_type # ac_fn_c_compute_int LINENO EXPR VAR INCLUDES # -------------------------------------------- # Tries to find the compile-time value of EXPR in a program that includes # INCLUDES, setting VAR accordingly. Returns whether the value could be # computed ac_fn_c_compute_int () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) >= 0)]; test_array [0] = 0 ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_lo=0 ac_mid=0 while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_hi=$ac_mid; break else as_fn_arith $ac_mid + 1 && ac_lo=$as_val if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) < 0)]; test_array [0] = 0 ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_hi=-1 ac_mid=-1 while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) >= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_lo=$ac_mid; break else as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else ac_lo= ac_hi= fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_hi=$ac_mid else as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done case $ac_lo in #(( ?*) eval "$3=\$ac_lo"; ac_retval=0 ;; '') ac_retval=1 ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 static long int longval () { return $2; } static unsigned long int ulongval () { return $2; } #include #include int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) return 1; if (($2) < 0) { long int i = longval (); if (i != ($2)) return 1; fprintf (f, "%ld", i); } else { unsigned long int i = ulongval (); if (i != ($2)) return 1; fprintf (f, "%lu", i); } /* Do not output a trailing newline, as this causes \r\n confusion on some platforms. */ return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : echo >>conftest.val; read $3 &5 $as_echo_n "checking whether $2 is declared... " >&6; } if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { #ifndef $2 (void) $2; #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} } # ac_fn_c_check_decl cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by GNU parted $as_me 2.3, which was generated by GNU Autoconf 2.65.70-64f8f. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo cat <<\_ASBOX ## ---------------- ## ## Cache variables. ## ## ---------------- ## _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_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo cat <<\_ASBOX ## ----------------- ## ## Output variables. ## ## ----------------- ## _ASBOX echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then cat <<\_ASBOX ## ------------------- ## ## File substitutions. ## ## ------------------- ## _ASBOX echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then cat <<\_ASBOX ## ----------- ## ## confdefs.h. ## ## ----------- ## _ASBOX echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h $as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_URL "$PACKAGE_URL" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then ac_site_file1=$CONFIG_SITE elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi as_fn_append ac_func_list " btowc" as_fn_append ac_func_list " canonicalize_file_name" as_fn_append ac_func_list " getcwd" as_fn_append ac_func_list " readlink" as_fn_append ac_func_list " realpath" as_fn_append ac_header_list " sys/param.h" as_fn_append ac_header_list " errno.h" as_fn_append ac_header_list " stdio_ext.h" as_fn_append ac_func_list " __fpending" as_fn_append ac_func_list " fsync" gl_getopt_required=GNU as_fn_append ac_header_list " getopt.h" as_fn_append ac_header_list " sys/time.h" as_fn_append ac_func_list " gettimeofday" as_fn_append ac_header_list " stdint.h" as_fn_append ac_header_list " wchar.h" as_fn_append ac_header_list " inttypes.h" as_fn_append ac_header_list " langinfo.h" as_fn_append ac_func_list " lstat" as_fn_append ac_func_list " mbsinit" as_fn_append ac_func_list " mbrtowc" as_fn_append ac_header_list " sys/mman.h" as_fn_append ac_func_list " mprotect" as_fn_append ac_func_list " memchr" as_fn_append ac_func_list " mkstemp" as_fn_append ac_func_list " nl_langinfo" as_fn_append ac_func_list " pathconf" as_fn_append ac_header_list " locale.h" as_fn_append ac_func_list " isblank" as_fn_append ac_func_list " iswctype" as_fn_append ac_func_list " wcscoll" as_fn_append ac_func_list " sleep" as_fn_append ac_header_list " stdarg.h" as_fn_append ac_header_list " stddef.h" as_fn_append ac_header_list " stdio.h" as_fn_append ac_header_list " stdlib.h" as_fn_append ac_func_list " strdup" as_fn_append ac_header_list " sys/socket.h" as_fn_append ac_header_list " string.h" as_fn_append ac_func_list " strndup" as_fn_append ac_header_list " sys/stat.h" as_fn_append ac_header_list " time.h" as_fn_append ac_header_list " unistd.h" as_fn_append ac_func_list " usleep" as_fn_append ac_func_list " wcrtomb" as_fn_append ac_func_list " iswcntrl" as_fn_append ac_func_list " iswblank" as_fn_append ac_header_list " wctype.h" as_fn_append ac_func_list " dup2" as_fn_append ac_header_list " fcntl.h" as_fn_append ac_func_list " setenv" as_fn_append ac_func_list " symlink" as_fn_append ac_header_list " priv.h" as_fn_append ac_func_list " wctob" gt_needs="$gt_needs " as_fn_append ac_header_list " blkid/blkid.h" # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # When the most recent signed tag is v1.8.8.1, # the above might set e.g., PACKAGE_VERSION='1.8.8.1.1-0bfc' ac_config_headers="$ac_config_headers lib/config.h:lib/config.h.in" ac_aux_dir= for ac_dir in build-aux "$srcdir"/build-aux; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then as_fn_error $? "cannot find install-sh, install.sh, or shtool in build-aux \"$srcdir\"/build-aux" "$LINENO" 5 fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Derive these numbers from $PACKAGE_VERSION, which is set # when autoconf creates configure (see AC_INIT, above). PED_MAJOR_VERSION=`echo "$PACKAGE_VERSION"|sed 's/\..*//'` PED_MINOR_VERSION=`echo "$PACKAGE_VERSION"|sed 's/^[0-9][0-9]*\.//;s/\..*//'` case $PACKAGE_VERSION in *.*.*.*.*) PED_MICRO_VERSION=`echo "$PACKAGE_VERSION" \ | sed 's/^^.*\.^.*\.//;s/\..*//'` ;; *) PED_MICRO_VERSION=0;; esac PED_INTERFACE_AGE=0 PED_BINARY_AGE=0 PED_VERSION_SUFFIX= PED_VERSION=$PED_MAJOR_VERSION.$PED_MINOR_VERSION.$PED_MICRO_VERSION$PED_VERSION_SUFFIX LT_RELEASE=$PED_MAJOR_VERSION.$PED_MINOR_VERSION LT_CURRENT=`expr $PED_MICRO_VERSION - $PED_INTERFACE_AGE` LT_REVISION=$PED_INTERFACE_AGE LT_AGE=`expr $PED_BINARY_AGE - $PED_INTERFACE_AGE` am__api_version='1.11a' # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in #(( ./ | .// | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 $as_echo_n "checking whether build environment is sane... " >&6; } # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;; esac # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( for am_try in 1 2; do echo timestamp > conftest.file set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi rm -f conftest.file if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". as_fn_error $? "ls -t appears to fail. Make sure there is not a broken alias in your environment" "$LINENO" 5 fi if test "$2" = conftest.file || test $am_try -eq 2; then break fi # Just in case. sleep 1 done test "$2" = conftest.file ) then # Ok. : else as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. # By default was `s,x,x', remove it if useless. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5 $as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_STRIP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } if test -z "$MKDIR_P"; then if test "${ac_cv_path_mkdir+set}" = set; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do { 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 test -d ./--version && rmdir ./--version if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. MKDIR_P="$ac_install_sh -d" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 $as_echo "$MKDIR_P" >&6; } mkdir_p="$MKDIR_P" case $mkdir_p in [\\/$]* | ?:[\\/]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_AWK+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 $as_echo "$AWK" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AWK" && break done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE='parted' VERSION='2.3' cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Always define AMTAR for backward compatibility. AMTAR=${AMTAR-"${am_missing_run}tar"} am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' # Check whether --enable-silent-rules was given. if test "${enable_silent_rules+set}" = set; then : enableval=$enable_silent_rules; fi case $enable_silent_rules in yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=0;; esac AM_BACKSLASH='\' # make --enable-silent-rules the default. # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } if test "${ac_cv_build+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } if test "${ac_cv_host+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac case "$host_os" in linux*) OS=linux ;; gnu*) OS=gnu ;; beos*) OS=beos ;; *) as_fn_error $? "Unknown or unsupported OS \"$host_os\". Only \"linux\", \"gnu\" and \"beos\" are supported in this version of GNU Parted." "$LINENO" 5 ;; esac # Check whether --with-readline was given. if test "${with_readline+set}" = set; then : withval=$with_readline; else with_readline=yes fi # Check whether --enable-mtrace was given. if test "${enable_mtrace+set}" = set; then : enableval=$enable_mtrace; else enable_mtrace=no fi if test "$enable_mtrace" = yes; then $as_echo "#define ENABLE_MTRACE 1" >>confdefs.h fi ENABLE_DEVICE_MAPPER=yes # Check whether --enable-device-mapper was given. if test "${enable_device_mapper+set}" = set; then : enableval=$enable_device_mapper; ENABLE_DEVICE_MAPPER=$enable_device_mapper fi if test $ENABLE_DEVICE_MAPPER = yes; then $as_echo "#define ENABLE_DEVICE_MAPPER 1" >>confdefs.h fi # Check whether --enable-selinux was given. if test "${enable_selinux+set}" = set; then : enableval=$enable_selinux; else enable_selinux=no fi # Check whether --enable-discover-only was given. if test "${enable_discover_only+set}" = set; then : enableval=$enable_discover_only; else enable_discover_only=no fi if test "$enable_discover_only" = yes; then $as_echo "#define DISCOVER_ONLY 1" >>confdefs.h fi PARTED_LIBS="" # Check whether --enable-dynamic-loading was given. if test "${enable_dynamic_loading+set}" = set; then : enableval=$enable_dynamic_loading; else if test "$enable_discover_only" = yes; then enable_dynamic_loading=no else enable_dynamic_loading=yes fi fi if test "$enable_discover_only" = yes \ && test "$enable_dynamic_loading" = yes; then as_fn_error $? "You can't use --enable-dynamic-loading and --disable-discover-only together " "$LINENO" 5 fi # Check whether --enable-fs was given. if test "${enable_fs+set}" = set; then : enableval=$enable_fs; else enable_fs=yes fi if test "$enable_fs" = yes; then $as_echo "#define ENABLE_FS 1" >>confdefs.h fi # Check whether --enable-debug was given. if test "${enable_debug+set}" = set; then : enableval=$enable_debug; else enable_debug=yes fi if test "$enable_debug" = yes; then $as_echo "#define DEBUG 1" >>confdefs.h fi # Check whether --enable-read-only was given. if test "${enable_read_only+set}" = set; then : enableval=$enable_read_only; else enable_read_only=no fi if test "$enable_read_only" = yes; then $as_echo "#define READ_ONLY 1" >>confdefs.h fi PARTEDLDFLAGS= # Check whether --enable-pc98 was given. if test "${enable_pc98+set}" = set; then : enableval=$enable_pc98; else enable_pc98=yes fi if test "$enable_pc98" = yes; then $as_echo "#define ENABLE_PC98 1" >>confdefs.h fi # Check whether --enable-Werror was given. if test "${enable_Werror+set}" = set; then : enableval=$enable_Werror; else enable_Werror=yes fi # Check whether --enable-hfs-extract-fs was given. if test "${enable_hfs_extract_fs+set}" = set; then : enableval=$enable_hfs_extract_fs; else enable_hfs_extract_fs=no fi if test "$enable_hfs_extract_fs" = yes; then $as_echo "#define HFS_EXTRACT_FS 1" >>confdefs.h fi AM_CPPFLAGS="$AM_CPPFLAGS -D_REENTRANT" DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 $as_echo_n "checking for style of include used by $am_make... " >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from `make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 $as_echo "$_am_result" >&6; } rm -f confinc confmf # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then : enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 $as_echo_n "checking whether the C compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi if test -z "$ac_file"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables See \`config.log' for more details" "$LINENO" 5; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 $as_echo_n "checking for C compiler default output file name... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 $as_echo_n "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5; } fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if test "${ac_cv_objext+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if test "${ac_cv_c_compiler_gnu+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if test "${ac_cv_prog_cc_g+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if test "${ac_cv_prog_cc_c89+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5 $as_echo_n "checking for library containing strerror... " >&6; } if test "${ac_cv_search_strerror+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char strerror (); int main () { return strerror (); ; return 0; } _ACEOF for ac_lib in '' cposix; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_strerror=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if test "${ac_cv_search_strerror+set}" = set; then : break fi done if test "${ac_cv_search_strerror+set}" = set; then : else ac_cv_search_strerror=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_strerror" >&5 $as_echo "$ac_cv_search_strerror" >&6; } ac_res=$ac_cv_search_strerror if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if test "${ac_cv_c_compiler_gnu+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if test "${ac_cv_prog_cc_g+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if test "${ac_cv_prog_cc_c89+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if test "${ac_cv_prog_CPP+set}" = set; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } if test "${ac_cv_path_GREP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" { 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 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } if test "${ac_cv_path_EGREP+set}" = set; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" { 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 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" if test $ac_cv_c_compiler_gnu = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC needs -traditional" >&5 $as_echo_n "checking whether $CC needs -traditional... " >&6; } if test "${ac_cv_prog_gcc_traditional+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_pattern="Autoconf.*'x'" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include Autoconf TIOCGETP _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "$ac_pattern" >/dev/null 2>&1; then : ac_cv_prog_gcc_traditional=yes else ac_cv_prog_gcc_traditional=no fi rm -f conftest* if test $ac_cv_prog_gcc_traditional = no; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include Autoconf TCGETA _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "$ac_pattern" >/dev/null 2>&1; then : ac_cv_prog_gcc_traditional=yes fi rm -f conftest* fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_gcc_traditional" >&5 $as_echo "$ac_cv_prog_gcc_traditional" >&6; } if test $ac_cv_prog_gcc_traditional = yes; then CC="$CC -traditional" fi fi if test "x$CC" != xcc; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5 $as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5 $as_echo_n "checking whether cc understands -c and -o together... " >&6; } fi set dummy $CC; ac_cc=`$as_echo "$2" | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` if { as_var=ac_cv_prog_cc_${ac_cc}_c_o; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF # Make sure it works both with $CC and with simple cc. # We do the test twice because some compilers refuse to overwrite an # existing .o file with -o, though they will create one. ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5' rm -f conftest2.* if { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -f conftest2.$ac_objext && { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then eval ac_cv_prog_cc_${ac_cc}_c_o=yes if test "x$CC" != xcc; then # Test first that cc exists at all. if { ac_try='cc -c conftest.$ac_ext >&5' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5' rm -f conftest2.* if { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -f conftest2.$ac_objext && { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # cc works too. : else # cc exists but doesn't like -o. eval ac_cv_prog_cc_${ac_cc}_c_o=no fi fi fi else eval ac_cv_prog_cc_${ac_cc}_c_o=no fi rm -f core conftest* fi if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h fi # FIXME: we rely on the cache variable name because # there is no other way. set dummy $CC am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o if test "$am_t" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_RANLIB+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 $as_echo "$RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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_RANLIB="ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 $as_echo "$ac_ct_RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if test "${ac_cv_header_stdc+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " eval as_val=\$$as_ac_Header if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default" if test "x$ac_cv_header_minix_config_h" = x""yes; then : MINIX=yes else MINIX= fi if test "$MINIX" = yes; then $as_echo "#define _POSIX_SOURCE 1" >>confdefs.h $as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h $as_echo "#define _MINIX 1" >>confdefs.h fi case "$host_os" in hpux*) $as_echo "#define _XOPEN_SOURCE 500" >>confdefs.h ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5 $as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; } if test "${ac_cv_safe_to_define___extensions__+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ # define __EXTENSIONS__ 1 $ac_includes_default int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_safe_to_define___extensions__=yes else ac_cv_safe_to_define___extensions__=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5 $as_echo "$ac_cv_safe_to_define___extensions__" >&6; } test $ac_cv_safe_to_define___extensions__ = yes && $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h $as_echo "#define _ALL_SOURCE 1" >>confdefs.h $as_echo "#define _GNU_SOURCE 1" >>confdefs.h $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h case $ac_cv_prog_cc_stdc in #( no) : ac_cv_prog_cc_c99=no; ac_cv_prog_cc_c89=no ;; #( *) : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C99" >&5 $as_echo_n "checking for $CC option to accept ISO C99... " >&6; } if test "${ac_cv_prog_cc_c99+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c99=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include #include // Check varargs macros. These examples are taken from C99 6.10.3.5. #define debug(...) fprintf (stderr, __VA_ARGS__) #define showlist(...) puts (#__VA_ARGS__) #define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) static void test_varargs_macros (void) { int x = 1234; int y = 5678; debug ("Flag"); debug ("X = %d\n", x); showlist (The first, second, and third items.); report (x>y, "x is %d but y is %d", x, y); } // Check long long types. #define BIG64 18446744073709551615ull #define BIG32 4294967295ul #define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) #if !BIG_OK your preprocessor is broken; #endif #if BIG_OK #else your preprocessor is broken; #endif static long long int bignum = -9223372036854775807LL; static unsigned long long int ubignum = BIG64; struct incomplete_array { int datasize; double data[]; }; struct named_init { int number; const wchar_t *name; double average; }; typedef const char *ccp; static inline int test_restrict (ccp restrict text) { // See if C++-style comments work. // Iterate through items via the restricted pointer. // Also check for declarations in for loops. for (unsigned int i = 0; *(text+i) != '\0'; ++i) continue; return 0; } // Check varargs and va_copy. static void test_varargs (const char *format, ...) { va_list args; va_start (args, format); va_list args_copy; va_copy (args_copy, args); const char *str; int number; float fnumber; while (*format) { switch (*format++) { case 's': // string str = va_arg (args_copy, const char *); break; case 'd': // int number = va_arg (args_copy, int); break; case 'f': // float fnumber = va_arg (args_copy, double); break; default: break; } } va_end (args_copy); va_end (args); } int main () { // Check bool. _Bool success = false; // Check restrict. if (test_restrict ("String literal") == 0) success = true; char *restrict newvar = "Another string"; // Check varargs. test_varargs ("s, d' f .", "string", 65, 34.234); test_varargs_macros (); // Check flexible array members. struct incomplete_array *ia = malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); ia->datasize = 10; for (int i = 0; i < ia->datasize; ++i) ia->data[i] = i * 1.234; // Check named initializers. struct named_init ni = { .number = 34, .name = L"Test wide string", .average = 543.34343, }; ni.number = 58; int dynamic_array[ni.number]; dynamic_array[ni.number - 1] = 543; // work around unused variable warnings return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x' || dynamic_array[ni.number - 1] != 543); ; return 0; } _ACEOF for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -xc99=all -qlanglvl=extc99 do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c99=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c99" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c99" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c99" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 $as_echo "$ac_cv_prog_cc_c99" >&6; } ;; esac if test "x$ac_cv_prog_cc_c99" != xno; then : ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if test "${ac_cv_prog_cc_c89+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 else ac_cv_prog_cc_stdc=no fi fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO Standard C" >&5 $as_echo_n "checking for $CC option to accept ISO Standard C... " >&6; } if test "${ac_cv_prog_cc_stdc+set}" = set; then : $as_echo_n "(cached) " >&6 fi case $ac_cv_prog_cc_stdc in #( no) : { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; #( '') : { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; #( *) : { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_stdc" >&5 $as_echo "$ac_cv_prog_cc_stdc" >&6; } ;; esac # Code from module alloca: # Code from module alloca-opt: # Code from module alloca-opt-tests: # Code from module announce-gen: # Code from module arg-nonnull: # Code from module argmatch: # Code from module argmatch-tests: # Code from module assert: # Code from module binary-io: # Code from module binary-io-tests: # Code from module btowc: # Code from module btowc-tests: # Code from module c++defs: # Code from module c-ctype: # Code from module c-ctype-tests: # Code from module c-strcase: # Code from module c-strcase-tests: # Code from module calloc: # Code from module calloc-posix: # Code from module canonicalize-lgpl: # Code from module canonicalize-lgpl-tests: # Code from module close: # Code from module close-hook: # Code from module close-stream: # Code from module closeout: # Code from module config-h: # Code from module configmake: # Code from module dirname: # Code from module dirname-lgpl: # Code from module dirname-tests: # Code from module do-release-commit-and-tag: # Code from module double-slash-root: # Code from module dup2: # Code from module dup2-tests: # Code from module environ: # Code from module environ-tests: # Code from module errno: # Code from module errno-tests: # Code from module error: # Code from module exitfail: # Code from module extensions: # Code from module fclose: # Code from module fcntl-h: # Code from module fcntl-h-tests: # Code from module fdl: # Code from module fpending: # Code from module fpending-tests: # Code from module fsync: # Code from module fsync-tests: # Code from module gendocs: # Code from module getopt-gnu: # Code from module getopt-posix: # Code from module getopt-posix-tests: # Code from module gettext: # Code from module gettext-h: # Code from module gettimeofday: # Code from module gettimeofday-tests: # Code from module git-version-gen: # Code from module gitlog-to-changelog: # Code from module gnu-web-doc-update: # Code from module gnumakefile: # Code from module gnupload: # Code from module havelib: # Code from module ignore-value: # Code from module include_next: # Code from module inline: # Code from module intprops: # Code from module inttypes: # Code from module inttypes-tests: # Code from module langinfo: # Code from module langinfo-tests: # Code from module lib-ignore: # Code from module localcharset: # Code from module long-options: # Code from module lseek: # Code from module lseek-tests: # Code from module lstat: # Code from module lstat-tests: # Code from module maintainer-makefile: # Code from module malloc: # Code from module malloc-posix: # Code from module malloca: # Code from module malloca-tests: # Code from module manywarnings: # Code from module mbrtowc: # Code from module mbrtowc-tests: # Code from module mbsinit: # Code from module mbsinit-tests: # Code from module memchr: # Code from module memchr-tests: # Code from module mkstemp: # Code from module mktempd: # Code from module multiarch: # Code from module nl_langinfo: # Code from module nl_langinfo-tests: # Code from module open: # Code from module open-tests: # Code from module pathmax: # Code from module priv-set: # Code from module priv-set-tests: # Code from module progname: # Code from module putenv: # Code from module quote: # Code from module quotearg: # Code from module quotearg-tests: # Code from module readlink: # Code from module readlink-tests: # Code from module realloc: # Code from module realloc-posix: # Code from module regex: # Code from module rpmatch: # Code from module safe-read: # Code from module same-inode: # Code from module setenv: # Code from module setenv-tests: # Code from module sleep: # Code from module sleep-tests: # Code from module ssize_t: # Code from module stat: # Code from module stat-tests: # Code from module stdarg: # Code from module stdbool: # Code from module stdbool-tests: # Code from module stddef: # Code from module stddef-tests: # Code from module stdint: # Code from module stdint-tests: # Code from module stdio: # Code from module stdio-tests: # Code from module stdlib: # Code from module stdlib-tests: # Code from module strdup-posix: # Code from module streq: # Code from module strerror: # Code from module strerror-tests: # Code from module string: # Code from module string-tests: # Code from module strndup: # Code from module strnlen: # Code from module symlink: # Code from module symlink-tests: # Code from module sys_stat: # Code from module sys_stat-tests: # Code from module sys_time: # Code from module sys_time-tests: # Code from module tempname: # Code from module time: # Code from module time-tests: # Code from module unistd: # Code from module unistd-tests: # Code from module unlink: # Code from module unlink-tests: # Code from module unlinkdir: # Code from module unsetenv: # Code from module unsetenv-tests: # Code from module update-copyright: # Code from module update-copyright-tests: # Code from module useless-if-before-free: # Code from module usleep: # Code from module usleep-tests: # Code from module vc-list-files: # Code from module vc-list-files-tests: # Code from module verify: # Code from module verify-tests: # Code from module version-etc: # Code from module version-etc-fsf: # Code from module version-etc-tests: # Code from module warn-on-use: # Code from module warnings: # Code from module wchar: # Code from module wchar-tests: # Code from module wcrtomb: # Code from module wcrtomb-tests: # Code from module wctob: # Code from module wctype: # Code from module wctype-tests: # Code from module xalloc: # Code from module xalloc-die: # Code from module xalloc-die-tests: # Code from module xstrndup: # Code from module xstrtol: # Code from module xstrtol-tests: { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a usable (O_DIRECT-supporting) temporary dir" >&5 $as_echo_n "checking for a usable (O_DIRECT-supporting) temporary dir... " >&6; } if test "${parted_cv_func_open_O_DIRECT_temp_dir+set}" = set; then : $as_echo_n "(cached) " >&6 else # First of all, if there is no O_DIRECT definition, use ".", # and skip the run-test. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #ifdef O_DIRECT frobnozzle #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "frobnozzle" >/dev/null 2>&1; then : pe_have_O_DIRECT=yes else pe_have_O_DIRECT=no fi rm -f conftest* if test $pe_have_O_DIRECT = no; then # With no O_DIRECT definition, "." is fine. pe_cand_dirs=. else pe_cand_dirs=. for pe_dir in "$HOME" "$TMPDIR"; do case $pe_dir in /tmp) ;; /var/tmp) ;; /dev/shm) ;; /*) case $pe_dir in # Accept $HOME or $TMP only if the value is nice and boring. *^/a-zA-Z0-9_.-*) ;; *) pe_cand_dirs="$pe_cand_dirs $pe_dir";; esac esac done case $PARTED_TMPDIR in *^/a-zA-Z0-9_.-*) ;; *) pe_cand_dirs="$PARTED_TMPDIR $pe_cand_dirs";; esac # This is the list of candidate directories. pe_cand_dirs="$pe_cand_dirs /tmp /var/tmp /dev/shm" PARTED_CANDIDATE_DIRS=$pe_cand_dirs export PARTED_CANDIDATE_DIRS if test "$cross_compiling" = yes; then : # When cross-compiling, use ".". parted_cv_func_open_O_DIRECT_temp_dir=. else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include #include #include #define MAX_LOGICAL_BLOCK_SIZE 4096 static char g_buf[2 * MAX_LOGICAL_BLOCK_SIZE]; static inline void * ptr_align (void const *ptr, size_t alignment) { char const *p0 = ptr; char const *p1 = p0 + alignment - 1; return (void *) (p1 - (size_t) p1 % alignment); } static int create_input_file (char const *file, char const *buf, size_t n_bytes) { int fd = open (file, O_CREAT | O_WRONLY, 0600); if (fd < 0) return 1; if (write (fd, buf, n_bytes) != n_bytes) { close (fd); return 1; } return !! close (fd); } static int try_o_direct (char const *file, size_t block_size) { char *p = ptr_align (g_buf, MAX_LOGICAL_BLOCK_SIZE); int fd; if (!(p + block_size < g_buf + sizeof g_buf)) return 4; fd = open (file, O_RDWR | O_DIRECT); if (fd < 0) return 1; if (write (fd, p, block_size) != block_size) return 1; if (lseek (fd, 0, SEEK_SET) != 0) return 1; if (read (fd, p, block_size) != block_size) return 1; return !! close (fd); } #undef stpcpy #define stpcpy(a, b) my_stpcpy (a, b) static char * my_stpcpy (char *dest, const char *src) { char *d = dest; const char *s = src; do *d++ = *s; while (*s++ != '\0'); return d - 1; } /* The base name of the file we'll create in the mkdtemp-returned temporary directory. */ #define BASENAME "x" /* Return 0 upon failure, else the 1-based index of the first useful directory name from PARTED_CANDIDATE_DIRS. */ int main () { char const *env_dirs; char *dirs; char *dir; unsigned int n; int found = 0; size_t dirs_len; if ((env_dirs = getenv ("PARTED_CANDIDATE_DIRS")) == NULL) return 0; dirs_len = strlen (env_dirs); if ((dirs = strndup (env_dirs, dirs_len)) == NULL) return 0; dir = dirs; for (n = 1; ; n++) { size_t dirname_len; char *space; /* Skip any leading spaces. */ while (*dir == ' ') ++dir; space = strchr (dir, ' '); if (space) { *space = '\0'; dirname_len = space - dir; } else { dirname_len = strlen (dir); } if (dirname_len != 0) { /* Create an mkdtemp template starting with dir. */ char *tmp; char *endp; char const *base = "partedOD.XXXXXX"; /* Allocate enough space not just for the dir name, but also for the name of the file to create within it. */ char *template = malloc (dirname_len + 1 + strlen (base) + 1 + strlen (BASENAME) + 1); if (template != NULL && (endp = stpcpy (stpcpy (stpcpy (template, dir), "/"), base)) && (tmp = mkdtemp (template)) != NULL) { /* Append "/BASENAME" to create the file name. */ stpcpy (stpcpy (endp, "/"), BASENAME); if (create_input_file (tmp, g_buf, sizeof g_buf) == 0 && try_o_direct (tmp, 512) == 0 && try_o_direct (tmp, MAX_LOGICAL_BLOCK_SIZE) == 0) found = 1; unlink (tmp); /* ignore failure */ *endp = '\0'; rmdir (tmp); /* ignore failure */ } free (template); } if (found) break; dir += dirname_len + 1; if (dirs + dirs_len < dir) { n = 0; break; } } free (dirs); return n; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : # If the above program exits with status 0, then # there it found no useful directory. Use ".". parted_cv_func_open_O_DIRECT_temp_dir=. else # It found one. The exit status is an index into the list. # We also run this code when the program fails to compile or # to link, as will happen on systems without a mkdtemp function. pe_err=$?; set _ $pe_cand_dirs; shift eval parted_cv_func_open_O_DIRECT_temp_dir='$'$pe_err fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $parted_cv_func_open_O_DIRECT_temp_dir" >&5 $as_echo "$parted_cv_func_open_O_DIRECT_temp_dir" >&6; } PARTED_USABLE_TEST_DIR=$parted_cv_func_open_O_DIRECT_temp_dir # If the result is ".", don't cache it. The next user of # the cache may well be running from a different file system. if test "$parted_cv_func_open_O_DIRECT_temp_dir" = .; then $as_unset parted_cv_func_open_O_DIRECT_temp_dir fi # Check whether --enable-largefile was given. if test "${enable_largefile+set}" = set; then : enableval=$enable_largefile; fi if test "$enable_largefile" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5 $as_echo_n "checking for special C compiler options needed for large files... " >&6; } if test "${ac_cv_sys_largefile_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_cv_sys_largefile_CC=no if test "$GCC" != yes; then ac_save_CC=$CC while :; do # IRIX 6.2 and later do not support large files by default, # so use the C compiler's -n32 option if that helps. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : break fi rm -f core conftest.err conftest.$ac_objext CC="$CC -n32" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_largefile_CC=' -n32'; break fi rm -f core conftest.err conftest.$ac_objext break done CC=$ac_save_CC rm -f conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5 $as_echo "$ac_cv_sys_largefile_CC" >&6; } if test "$ac_cv_sys_largefile_CC" != no; then CC=$CC$ac_cv_sys_largefile_CC fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5 $as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } if test "${ac_cv_sys_file_offset_bits+set}" = set; then : $as_echo_n "(cached) " >&6 else while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_file_offset_bits=no; break fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _FILE_OFFSET_BITS 64 #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_file_offset_bits=64; break fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_sys_file_offset_bits=unknown break done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5 $as_echo "$ac_cv_sys_file_offset_bits" >&6; } case $ac_cv_sys_file_offset_bits in #( no | unknown) ;; *) cat >>confdefs.h <<_ACEOF #define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits _ACEOF ;; esac rm -rf conftest* if test $ac_cv_sys_file_offset_bits = unknown; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5 $as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; } if test "${ac_cv_sys_large_files+set}" = set; then : $as_echo_n "(cached) " >&6 else while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_large_files=no; break fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _LARGE_FILES 1 #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_large_files=1; break fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_sys_large_files=unknown break done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5 $as_echo "$ac_cv_sys_large_files" >&6; } case $ac_cv_sys_large_files in #( no | unknown) ;; *) cat >>confdefs.h <<_ACEOF #define _LARGE_FILES $ac_cv_sys_large_files _ACEOF ;; esac rm -rf conftest* fi fi LIBC_FATAL_STDERR_=1 export LIBC_FATAL_STDERR_ # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5 $as_echo_n "checking for working alloca.h... " >&6; } if test "${ac_cv_working_alloca_h+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { char *p = (char *) alloca (2 * sizeof (int)); if (p) return 0; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_working_alloca_h=yes else ac_cv_working_alloca_h=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5 $as_echo "$ac_cv_working_alloca_h" >&6; } if test $ac_cv_working_alloca_h = yes; then $as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5 $as_echo_n "checking for alloca... " >&6; } if test "${ac_cv_func_alloca_works+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __GNUC__ # define alloca __builtin_alloca #else # ifdef _MSC_VER # include # define alloca _alloca # else # ifdef HAVE_ALLOCA_H # include # else # ifdef _AIX #pragma alloca # else # ifndef alloca /* predefined by HP cc +Olibcalls */ char *alloca (); # endif # endif # endif # endif #endif int main () { char *p = (char *) alloca (1); if (p) return 0; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_func_alloca_works=yes else ac_cv_func_alloca_works=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5 $as_echo "$ac_cv_func_alloca_works" >&6; } if test $ac_cv_func_alloca_works = yes; then $as_echo "#define HAVE_ALLOCA 1" >>confdefs.h else # The SVR3 libPW and SVR4 libucb both contain incompatible functions # that cause trouble. Some versions do not even contain alloca or # contain a buggy version. If you still want to use their alloca, # use ar to extract alloca.o from them instead of compiling alloca.c. ALLOCA=\${LIBOBJDIR}alloca.$ac_objext $as_echo "#define C_ALLOCA 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5 $as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; } if test "${ac_cv_os_cray+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined CRAY && ! defined CRAY2 webecray #else wenotbecray #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "webecray" >/dev/null 2>&1; then : ac_cv_os_cray=yes else ac_cv_os_cray=no fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5 $as_echo "$ac_cv_os_cray" >&6; } if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" eval as_val=\$$as_ac_var if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF #define CRAY_STACKSEG_END $ac_func _ACEOF break fi done fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5 $as_echo_n "checking stack direction for C alloca... " >&6; } if test "${ac_cv_c_stack_direction+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : ac_cv_c_stack_direction=0 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int find_stack_direction () { static char *addr = 0; auto char dummy; if (addr == 0) { addr = &dummy; return find_stack_direction (); } else return (&dummy > addr) ? 1 : -1; } int main () { return find_stack_direction () < 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_c_stack_direction=1 else ac_cv_c_stack_direction=-1 fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5 $as_echo "$ac_cv_c_stack_direction" >&6; } cat >>confdefs.h <<_ACEOF #define STACK_DIRECTION $ac_cv_c_stack_direction _ACEOF fi GNULIB_BTOWC=0; GNULIB_WCTOB=0; GNULIB_MBSINIT=0; GNULIB_MBRTOWC=0; GNULIB_MBRLEN=0; GNULIB_MBSRTOWCS=0; GNULIB_MBSNRTOWCS=0; GNULIB_WCRTOMB=0; GNULIB_WCSRTOMBS=0; GNULIB_WCSNRTOMBS=0; GNULIB_WCWIDTH=0; HAVE_BTOWC=1; HAVE_MBSINIT=1; HAVE_MBRTOWC=1; HAVE_MBRLEN=1; HAVE_MBSRTOWCS=1; HAVE_MBSNRTOWCS=1; HAVE_WCRTOMB=1; HAVE_WCSRTOMBS=1; HAVE_WCSNRTOMBS=1; HAVE_DECL_WCTOB=1; HAVE_DECL_WCWIDTH=1; REPLACE_MBSTATE_T=0; REPLACE_BTOWC=0; REPLACE_WCTOB=0; REPLACE_MBSINIT=0; REPLACE_MBRTOWC=0; REPLACE_MBRLEN=0; REPLACE_MBSRTOWCS=0; REPLACE_MBSNRTOWCS=0; REPLACE_WCRTOMB=0; REPLACE_WCSRTOMBS=0; REPLACE_WCSNRTOMBS=0; REPLACE_WCWIDTH=0; { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether uses 'inline' correctly" >&5 $as_echo_n "checking whether uses 'inline' correctly... " >&6; } if test "${gl_cv_header_wchar_h_correct_inline+set}" = set; then : $as_echo_n "(cached) " >&6 else gl_cv_header_wchar_h_correct_inline=yes cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define wcstod renamed_wcstod #include extern int zero (void); int main () { return zero(); } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then mv conftest.$ac_objext conftest1.$ac_objext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define wcstod renamed_wcstod #include int zero (void) { return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then mv conftest.$ac_objext conftest2.$ac_objext if $CC -o conftest$ac_exeext $CFLAGS $LDFLAGS conftest1.$ac_objext conftest2.$ac_objext $LIBS >&5 2>&1; then : else gl_cv_header_wchar_h_correct_inline=no fi fi fi rm -f conftest1.$ac_objext conftest2.$ac_objext conftest$ac_exeext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_wchar_h_correct_inline" >&5 $as_echo "$gl_cv_header_wchar_h_correct_inline" >&6; } if test $gl_cv_header_wchar_h_correct_inline = no; then as_fn_error $? " cannot be used with this compiler ($CC $CFLAGS $CPPFLAGS). This is a known interoperability problem of glibc <= 2.5 with gcc >= 4.3 in C99 mode. You have four options: - Add the flag -fgnu89-inline to CC and reconfigure, or - Fix your include files, using parts of , or - Use a gcc version older than 4.3, or - Don't use the flags -std=c99 or -std=gnu99. Configuration aborted." "$LINENO" 5 fi for ac_func in $ac_func_list do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" eval as_val=\$$as_ac_var if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo and CODESET" >&5 $as_echo_n "checking for nl_langinfo and CODESET... " >&6; } if test "${am_cv_langinfo_codeset+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { char* cs = nl_langinfo(CODESET); return !cs; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : am_cv_langinfo_codeset=yes else am_cv_langinfo_codeset=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_langinfo_codeset" >&5 $as_echo "$am_cv_langinfo_codeset" >&6; } if test $am_cv_langinfo_codeset = yes; then $as_echo "#define HAVE_LANGINFO_CODESET 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5 $as_echo_n "checking for a traditional french locale... " >&6; } if test "${gt_cv_locale_fr+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { /* Check whether the given locale name is recognized by the system. */ if (setlocale (LC_ALL, "") == NULL) return 1; /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only one byte long. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1; /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO-8859-1 else # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name. if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO8859-1 else # Test for the HP-UX locale name. if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.iso88591 else # Test for the Solaris 7 locale name. if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr else # None found. gt_cv_locale_fr=none fi fi fi fi fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5 $as_echo "$gt_cv_locale_fr" >&6; } LOCALE_FR=$gt_cv_locale_fr ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" if test "x$ac_cv_type_size_t" = x""yes; then : else cat >>confdefs.h <<_ACEOF #define size_t unsigned int _ACEOF fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether malloc, realloc, calloc are POSIX compliant" >&5 $as_echo_n "checking whether malloc, realloc, calloc are POSIX compliant... " >&6; } if test "${gl_cv_func_malloc_posix+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_func_malloc_posix=yes else gl_cv_func_malloc_posix=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_malloc_posix" >&5 $as_echo "$gl_cv_func_malloc_posix" >&6; } GNULIB_ATOLL=0; GNULIB_CALLOC_POSIX=0; GNULIB_CANONICALIZE_FILE_NAME=0; GNULIB_GETLOADAVG=0; GNULIB_GETSUBOPT=0; GNULIB_GRANTPT=0; GNULIB_MALLOC_POSIX=0; GNULIB_MKDTEMP=0; GNULIB_MKOSTEMP=0; GNULIB_MKOSTEMPS=0; GNULIB_MKSTEMP=0; GNULIB_MKSTEMPS=0; GNULIB_PTSNAME=0; GNULIB_PUTENV=0; GNULIB_RANDOM_R=0; GNULIB_REALLOC_POSIX=0; GNULIB_REALPATH=0; GNULIB_RPMATCH=0; GNULIB_SETENV=0; GNULIB_STRTOD=0; GNULIB_STRTOLL=0; GNULIB_STRTOULL=0; GNULIB_UNLOCKPT=0; GNULIB_UNSETENV=0; HAVE_ATOLL=1; HAVE_CALLOC_POSIX=1; HAVE_CANONICALIZE_FILE_NAME=1; HAVE_DECL_GETLOADAVG=1; HAVE_GETSUBOPT=1; HAVE_GRANTPT=1; HAVE_MALLOC_POSIX=1; HAVE_MKDTEMP=1; HAVE_MKOSTEMP=1; HAVE_MKOSTEMPS=1; HAVE_MKSTEMP=1; HAVE_MKSTEMPS=1; HAVE_PTSNAME=1; HAVE_RANDOM_R=1; HAVE_REALLOC_POSIX=1; HAVE_REALPATH=1; HAVE_RPMATCH=1; HAVE_SETENV=1; HAVE_STRTOD=1; HAVE_STRTOLL=1; HAVE_STRTOULL=1; HAVE_STRUCT_RANDOM_DATA=1; HAVE_SYS_LOADAVG_H=0; HAVE_UNLOCKPT=1; HAVE_UNSETENV=1; REPLACE_CANONICALIZE_FILE_NAME=0; REPLACE_MKSTEMP=0; REPLACE_PUTENV=0; REPLACE_REALPATH=0; REPLACE_SETENV=0; REPLACE_STRTOD=0; REPLACE_UNSETENV=0; { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether // is distinct from /" >&5 $as_echo_n "checking whether // is distinct from /... " >&6; } if test "${gl_cv_double_slash_root+set}" = set; then : $as_echo_n "(cached) " >&6 else if test x"$cross_compiling" = xyes ; then # When cross-compiling, there is no way to tell whether // is special # short of a list of hosts. However, the only known hosts to date # that have a distinct // are Apollo DomainOS (too old to port to), # Cygwin, and z/OS. If anyone knows of another system for which // has # special semantics and is distinct from /, please report it to # . case $host in *-cygwin | i370-ibm-openedition) gl_cv_double_slash_root=yes ;; *) # Be optimistic and assume that / and // are the same when we # don't know. gl_cv_double_slash_root='unknown, assuming no' ;; esac else set x `ls -di / // 2>/dev/null` if test "$2" = "$4" && wc //dev/null >/dev/null 2>&1; then gl_cv_double_slash_root=no else gl_cv_double_slash_root=yes fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_double_slash_root" >&5 $as_echo "$gl_cv_double_slash_root" >&6; } if test "$gl_cv_double_slash_root" = yes; then $as_echo "#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether realpath works" >&5 $as_echo_n "checking whether realpath works... " >&6; } if test "${gl_cv_func_realpath_works+set}" = set; then : $as_echo_n "(cached) " >&6 else touch conftest.a if test "$cross_compiling" = yes; then : gl_cv_func_realpath_works="guessing no" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { char *name1 = realpath ("conftest.a", NULL); char *name2 = realpath ("conftest.b/../conftest.a", NULL); char *name3 = realpath ("conftest.a/", NULL); return !(name1 && *name1 == '/' && !name2 && !name3); ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_realpath_works=yes else gl_cv_func_realpath_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_realpath_works" >&5 $as_echo "$gl_cv_func_realpath_works" >&6; } if test "$gl_cv_func_realpath_works" = yes; then $as_echo "#define FUNC_REALPATH_WORKS 1" >>confdefs.h fi for ac_header in $ac_header_list do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " eval as_val=\$$as_ac_Header if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done GNULIB_CHOWN=0; GNULIB_CLOSE=0; GNULIB_DUP2=0; GNULIB_DUP3=0; GNULIB_ENVIRON=0; GNULIB_EUIDACCESS=0; GNULIB_FACCESSAT=0; GNULIB_FCHDIR=0; GNULIB_FCHOWNAT=0; GNULIB_FSYNC=0; GNULIB_FTRUNCATE=0; GNULIB_GETCWD=0; GNULIB_GETDOMAINNAME=0; GNULIB_GETDTABLESIZE=0; GNULIB_GETGROUPS=0; GNULIB_GETHOSTNAME=0; GNULIB_GETLOGIN=0; GNULIB_GETLOGIN_R=0; GNULIB_GETPAGESIZE=0; GNULIB_GETUSERSHELL=0; GNULIB_LCHOWN=0; GNULIB_LINK=0; GNULIB_LINKAT=0; GNULIB_LSEEK=0; GNULIB_PIPE2=0; GNULIB_PREAD=0; GNULIB_PWRITE=0; GNULIB_READLINK=0; GNULIB_READLINKAT=0; GNULIB_RMDIR=0; GNULIB_SLEEP=0; GNULIB_SYMLINK=0; GNULIB_SYMLINKAT=0; GNULIB_TTYNAME_R=0; GNULIB_UNISTD_H_GETOPT=0; GNULIB_UNISTD_H_SIGPIPE=0; GNULIB_UNLINK=0; GNULIB_UNLINKAT=0; GNULIB_USLEEP=0; GNULIB_WRITE=0; HAVE_CHOWN=1; HAVE_DUP2=1; HAVE_DUP3=1; HAVE_EUIDACCESS=1; HAVE_FACCESSAT=1; HAVE_FCHDIR=1; HAVE_FCHOWNAT=1; HAVE_FSYNC=1; HAVE_FTRUNCATE=1; HAVE_GETDOMAINNAME=1; HAVE_GETDTABLESIZE=1; HAVE_GETGROUPS=1; HAVE_GETHOSTNAME=1; HAVE_GETLOGIN=1; HAVE_GETPAGESIZE=1; HAVE_LCHOWN=1; HAVE_LINK=1; HAVE_LINKAT=1; HAVE_PIPE2=1; HAVE_PREAD=1; HAVE_PWRITE=1; HAVE_READLINK=1; HAVE_READLINKAT=1; HAVE_SLEEP=1; HAVE_SYMLINK=1; HAVE_SYMLINKAT=1; HAVE_TTYNAME_R=1; HAVE_UNLINKAT=1; HAVE_USLEEP=1; HAVE_DECL_ENVIRON=1; HAVE_DECL_GETLOGIN_R=1; HAVE_DECL_GETPAGESIZE=1; HAVE_DECL_GETUSERSHELL=1; HAVE_OS_H=0; HAVE_SYS_PARAM_H=0; REPLACE_CHOWN=0; REPLACE_CLOSE=0; REPLACE_DUP=0; REPLACE_DUP2=0; REPLACE_FCHOWNAT=0; REPLACE_GETCWD=0; REPLACE_GETGROUPS=0; REPLACE_GETPAGESIZE=0; REPLACE_LCHOWN=0; REPLACE_LINK=0; REPLACE_LINKAT=0; REPLACE_LSEEK=0; REPLACE_PREAD=0; REPLACE_PWRITE=0; REPLACE_READLINK=0; REPLACE_RMDIR=0; REPLACE_SLEEP=0; REPLACE_SYMLINK=0; REPLACE_TTYNAME_R=0; REPLACE_UNLINK=0; REPLACE_UNLINKAT=0; REPLACE_USLEEP=0; REPLACE_WRITE=0; UNISTD_H_HAVE_WINSOCK2_H=0; UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=0; { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether system is Windows or MSDOS" >&5 $as_echo_n "checking whether system is Windows or MSDOS... " >&6; } if test "${ac_cv_win_or_dos+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #if !defined _WIN32 && !defined __WIN32__ && !defined __MSDOS__ && !defined __CYGWIN__ neither MSDOS nor Windows #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_win_or_dos=yes else ac_cv_win_or_dos=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_win_or_dos" >&5 $as_echo "$ac_cv_win_or_dos" >&6; } if test x"$ac_cv_win_or_dos" = xyes; then ac_fs_accepts_drive_letter_prefix=1 ac_fs_backslash_is_file_name_separator=1 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether drive letter can start relative path" >&5 $as_echo_n "checking whether drive letter can start relative path... " >&6; } if test "${ac_cv_drive_letter_can_be_relative+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #if defined __CYGWIN__ drive letters are always absolute #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_drive_letter_can_be_relative=yes else ac_cv_drive_letter_can_be_relative=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_drive_letter_can_be_relative" >&5 $as_echo "$ac_cv_drive_letter_can_be_relative" >&6; } if test x"$ac_cv_drive_letter_can_be_relative" = xyes; then ac_fs_drive_letter_can_be_relative=1 else ac_fs_drive_letter_can_be_relative=0 fi else ac_fs_accepts_drive_letter_prefix=0 ac_fs_backslash_is_file_name_separator=0 ac_fs_drive_letter_can_be_relative=0 fi cat >>confdefs.h <<_ACEOF #define FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX $ac_fs_accepts_drive_letter_prefix _ACEOF cat >>confdefs.h <<_ACEOF #define FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR $ac_fs_backslash_is_file_name_separator _ACEOF cat >>confdefs.h <<_ACEOF #define FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE $ac_fs_drive_letter_can_be_relative _ACEOF gl_LIBOBJS="$gl_LIBOBJS basename-lgpl.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS dirname-lgpl.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS stripslash.$ac_objext" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the preprocessor supports include_next" >&5 $as_echo_n "checking whether the preprocessor supports include_next... " >&6; } if test "${gl_cv_have_include_next+set}" = set; then : $as_echo_n "(cached) " >&6 else rm -rf conftestd1a conftestd1b conftestd2 mkdir conftestd1a conftestd1b conftestd2 cat < conftestd1a/conftest.h #define DEFINED_IN_CONFTESTD1 #include_next #ifdef DEFINED_IN_CONFTESTD2 int foo; #else #error "include_next doesn't work" #endif EOF cat < conftestd1b/conftest.h #define DEFINED_IN_CONFTESTD1 #include #include_next #ifdef DEFINED_IN_CONFTESTD2 int foo; #else #error "include_next doesn't work" #endif EOF cat < conftestd2/conftest.h #ifndef DEFINED_IN_CONFTESTD1 #error "include_next test doesn't work" #endif #define DEFINED_IN_CONFTESTD2 EOF gl_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1b -Iconftestd2" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_have_include_next=yes else CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1a -Iconftestd2" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_have_include_next=buggy else gl_cv_have_include_next=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="$gl_save_CPPFLAGS" rm -rf conftestd1a conftestd1b conftestd2 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have_include_next" >&5 $as_echo "$gl_cv_have_include_next" >&6; } PRAGMA_SYSTEM_HEADER= if test $gl_cv_have_include_next = yes; then INCLUDE_NEXT=include_next INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next if test -n "$GCC"; then PRAGMA_SYSTEM_HEADER='#pragma GCC system_header' fi else if test $gl_cv_have_include_next = buggy; then INCLUDE_NEXT=include INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next else INCLUDE_NEXT=include INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for complete errno.h" >&5 $as_echo_n "checking for complete errno.h... " >&6; } if test "${gl_cv_header_errno_h_complete+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #if !defined ENOMSG booboo #endif #if !defined EIDRM booboo #endif #if !defined ENOLINK booboo #endif #if !defined EPROTO booboo #endif #if !defined EMULTIHOP booboo #endif #if !defined EBADMSG booboo #endif #if !defined EOVERFLOW booboo #endif #if !defined ENOTSUP booboo #endif #if !defined ESTALE booboo #endif #if !defined ECANCELED booboo #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "booboo" >/dev/null 2>&1; then : gl_cv_header_errno_h_complete=no else gl_cv_header_errno_h_complete=yes fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_complete" >&5 $as_echo "$gl_cv_header_errno_h_complete" >&6; } if test $gl_cv_header_errno_h_complete = yes; then ERRNO_H='' else if test $gl_cv_have_include_next = yes; then gl_cv_next_errno_h='<'errno.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 $as_echo_n "checking absolute name of ... " >&6; } if test "${gl_cv_next_errno_h+set}" = set; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_errno_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac gl_cv_next_errno_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/errno.h#{ s#.*"\(.*/errno.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_errno_h='<'errno.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_errno_h" >&5 $as_echo "$gl_cv_next_errno_h" >&6; } fi NEXT_ERRNO_H=$gl_cv_next_errno_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'errno.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_errno_h fi NEXT_AS_FIRST_DIRECTIVE_ERRNO_H=$gl_next_as_first_directive ERRNO_H='errno.h' fi if test -n "$ERRNO_H"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EMULTIHOP value" >&5 $as_echo_n "checking for EMULTIHOP value... " >&6; } if test "${gl_cv_header_errno_h_EMULTIHOP+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #ifdef EMULTIHOP yes #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then : gl_cv_header_errno_h_EMULTIHOP=yes else gl_cv_header_errno_h_EMULTIHOP=no fi rm -f conftest* if test $gl_cv_header_errno_h_EMULTIHOP = no; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _XOPEN_SOURCE_EXTENDED 1 #include #ifdef EMULTIHOP yes #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then : gl_cv_header_errno_h_EMULTIHOP=hidden fi rm -f conftest* if test $gl_cv_header_errno_h_EMULTIHOP = hidden; then if ac_fn_c_compute_int "$LINENO" "EMULTIHOP" "gl_cv_header_errno_h_EMULTIHOP" " #define _XOPEN_SOURCE_EXTENDED 1 #include /* The following two lines are a workaround against an autoconf-2.52 bug. */ #include #include "; then : fi fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_EMULTIHOP" >&5 $as_echo "$gl_cv_header_errno_h_EMULTIHOP" >&6; } case $gl_cv_header_errno_h_EMULTIHOP in yes | no) EMULTIHOP_HIDDEN=0; EMULTIHOP_VALUE= ;; *) EMULTIHOP_HIDDEN=1; EMULTIHOP_VALUE="$gl_cv_header_errno_h_EMULTIHOP" ;; esac fi if test -n "$ERRNO_H"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ENOLINK value" >&5 $as_echo_n "checking for ENOLINK value... " >&6; } if test "${gl_cv_header_errno_h_ENOLINK+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #ifdef ENOLINK yes #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then : gl_cv_header_errno_h_ENOLINK=yes else gl_cv_header_errno_h_ENOLINK=no fi rm -f conftest* if test $gl_cv_header_errno_h_ENOLINK = no; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _XOPEN_SOURCE_EXTENDED 1 #include #ifdef ENOLINK yes #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then : gl_cv_header_errno_h_ENOLINK=hidden fi rm -f conftest* if test $gl_cv_header_errno_h_ENOLINK = hidden; then if ac_fn_c_compute_int "$LINENO" "ENOLINK" "gl_cv_header_errno_h_ENOLINK" " #define _XOPEN_SOURCE_EXTENDED 1 #include /* The following two lines are a workaround against an autoconf-2.52 bug. */ #include #include "; then : fi fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_ENOLINK" >&5 $as_echo "$gl_cv_header_errno_h_ENOLINK" >&6; } case $gl_cv_header_errno_h_ENOLINK in yes | no) ENOLINK_HIDDEN=0; ENOLINK_VALUE= ;; *) ENOLINK_HIDDEN=1; ENOLINK_VALUE="$gl_cv_header_errno_h_ENOLINK" ;; esac fi if test -n "$ERRNO_H"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EOVERFLOW value" >&5 $as_echo_n "checking for EOVERFLOW value... " >&6; } if test "${gl_cv_header_errno_h_EOVERFLOW+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #ifdef EOVERFLOW yes #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then : gl_cv_header_errno_h_EOVERFLOW=yes else gl_cv_header_errno_h_EOVERFLOW=no fi rm -f conftest* if test $gl_cv_header_errno_h_EOVERFLOW = no; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _XOPEN_SOURCE_EXTENDED 1 #include #ifdef EOVERFLOW yes #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then : gl_cv_header_errno_h_EOVERFLOW=hidden fi rm -f conftest* if test $gl_cv_header_errno_h_EOVERFLOW = hidden; then if ac_fn_c_compute_int "$LINENO" "EOVERFLOW" "gl_cv_header_errno_h_EOVERFLOW" " #define _XOPEN_SOURCE_EXTENDED 1 #include /* The following two lines are a workaround against an autoconf-2.52 bug. */ #include #include "; then : fi fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_EOVERFLOW" >&5 $as_echo "$gl_cv_header_errno_h_EOVERFLOW" >&6; } case $gl_cv_header_errno_h_EOVERFLOW in yes | no) EOVERFLOW_HIDDEN=0; EOVERFLOW_VALUE= ;; *) EOVERFLOW_HIDDEN=1; EOVERFLOW_VALUE="$gl_cv_header_errno_h_EOVERFLOW" ;; esac fi ac_fn_c_check_decl "$LINENO" "strerror_r" "ac_cv_have_decl_strerror_r" "$ac_includes_default" if test "x$ac_cv_have_decl_strerror_r" = x""yes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRERROR_R $ac_have_decl _ACEOF for ac_func in strerror_r do : ac_fn_c_check_func "$LINENO" "strerror_r" "ac_cv_func_strerror_r" if test "x$ac_cv_func_strerror_r" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRERROR_R 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strerror_r returns char *" >&5 $as_echo_n "checking whether strerror_r returns char *... " >&6; } if test "${ac_cv_func_strerror_r_char_p+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_cv_func_strerror_r_char_p=no if test $ac_cv_have_decl_strerror_r = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { char buf[100]; char x = *strerror_r (0, buf, sizeof buf); char *p = strerror_r (0, buf, sizeof buf); return !p || x; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_func_strerror_r_char_p=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else # strerror_r is not declared. Choose between # systems that have relatively inaccessible declarations for the # function. BeOS and DEC UNIX 4.0 fall in this category, but the # former has a strerror_r that returns char*, while the latter # has a strerror_r that returns `int'. # This test should segfault on the DEC system. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default extern char *strerror_r (); int main () { char buf[100]; char x = *strerror_r (0, buf, sizeof buf); return ! isalpha (x); ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_strerror_r_char_p=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_strerror_r_char_p" >&5 $as_echo "$ac_cv_func_strerror_r_char_p" >&6; } if test $ac_cv_func_strerror_r_char_p = yes; then $as_echo "#define STRERROR_R_CHAR_P 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 $as_echo_n "checking for inline... " >&6; } if test "${ac_cv_c_inline+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __cplusplus typedef int foo_t; static $ac_kw foo_t static_foo () {return 0; } $ac_kw foo_t foo () {return 0; } #endif _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_inline=$ac_kw fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext test "$ac_cv_c_inline" != no && break done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 $as_echo "$ac_cv_c_inline" >&6; } case $ac_cv_c_inline in inline | yes) ;; *) case $ac_cv_c_inline in no) ac_val=;; *) ac_val=$ac_cv_c_inline;; esac cat >>confdefs.h <<_ACEOF #ifndef __cplusplus #define inline $ac_val #endif _ACEOF ;; esac XGETTEXT_EXTRA_OPTIONS= GNULIB_DPRINTF=0; GNULIB_FCLOSE=0; GNULIB_FFLUSH=0; GNULIB_FOPEN=0; GNULIB_FPRINTF=0; GNULIB_FPRINTF_POSIX=0; GNULIB_FPURGE=0; GNULIB_FPUTC=0; GNULIB_FPUTS=0; GNULIB_FREOPEN=0; GNULIB_FSEEK=0; GNULIB_FSEEKO=0; GNULIB_FTELL=0; GNULIB_FTELLO=0; GNULIB_FWRITE=0; GNULIB_GETDELIM=0; GNULIB_GETLINE=0; GNULIB_OBSTACK_PRINTF=0; GNULIB_OBSTACK_PRINTF_POSIX=0; GNULIB_PERROR=0; GNULIB_POPEN=0; GNULIB_PRINTF=0; GNULIB_PRINTF_POSIX=0; GNULIB_PUTC=0; GNULIB_PUTCHAR=0; GNULIB_PUTS=0; GNULIB_REMOVE=0; GNULIB_RENAME=0; GNULIB_RENAMEAT=0; GNULIB_SNPRINTF=0; GNULIB_SPRINTF_POSIX=0; GNULIB_STDIO_H_SIGPIPE=0; GNULIB_TMPFILE=0; GNULIB_VASPRINTF=0; GNULIB_VDPRINTF=0; GNULIB_VFPRINTF=0; GNULIB_VFPRINTF_POSIX=0; GNULIB_VPRINTF=0; GNULIB_VPRINTF_POSIX=0; GNULIB_VSNPRINTF=0; GNULIB_VSPRINTF_POSIX=0; HAVE_DECL_FPURGE=1; HAVE_DECL_GETDELIM=1; HAVE_DECL_GETLINE=1; HAVE_DECL_OBSTACK_PRINTF=1; HAVE_DECL_SNPRINTF=1; HAVE_DECL_VSNPRINTF=1; HAVE_DPRINTF=1; HAVE_FSEEKO=1; HAVE_FTELLO=1; HAVE_RENAMEAT=1; HAVE_VASPRINTF=1; HAVE_VDPRINTF=1; REPLACE_DPRINTF=0; REPLACE_FCLOSE=0; REPLACE_FFLUSH=0; REPLACE_FOPEN=0; REPLACE_FPRINTF=0; REPLACE_FPURGE=0; REPLACE_FREOPEN=0; REPLACE_FSEEK=0; REPLACE_FSEEKO=0; REPLACE_FTELL=0; REPLACE_FTELLO=0; REPLACE_GETDELIM=0; REPLACE_GETLINE=0; REPLACE_OBSTACK_PRINTF=0; REPLACE_PERROR=0; REPLACE_POPEN=0; REPLACE_PRINTF=0; REPLACE_REMOVE=0; REPLACE_RENAME=0; REPLACE_RENAMEAT=0; REPLACE_SNPRINTF=0; REPLACE_SPRINTF=0; REPLACE_STDIO_WRITE_FUNCS=0; REPLACE_TMPFILE=0; REPLACE_VASPRINTF=0; REPLACE_VDPRINTF=0; REPLACE_VFPRINTF=0; REPLACE_VPRINTF=0; REPLACE_VSNPRINTF=0; REPLACE_VSPRINTF=0; if test $gl_cv_have_include_next = yes; then gl_cv_next_getopt_h='<'getopt.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 $as_echo_n "checking absolute name of ... " >&6; } if test "${gl_cv_next_getopt_h+set}" = set; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_getopt_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac gl_cv_next_getopt_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/getopt.h#{ s#.*"\(.*/getopt.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_getopt_h='<'getopt.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_getopt_h" >&5 $as_echo "$gl_cv_next_getopt_h" >&6; } fi NEXT_GETOPT_H=$gl_cv_next_getopt_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'getopt.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_getopt_h fi NEXT_AS_FIRST_DIRECTIVE_GETOPT_H=$gl_next_as_first_directive if test $ac_cv_header_getopt_h = yes; then HAVE_GETOPT_H=1 else HAVE_GETOPT_H=0 fi gl_replace_getopt= if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then for ac_header in getopt.h do : ac_fn_c_check_header_mongrel "$LINENO" "getopt.h" "ac_cv_header_getopt_h" "$ac_includes_default" if test "x$ac_cv_header_getopt_h" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_GETOPT_H 1 _ACEOF else gl_replace_getopt=yes fi done fi if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then for ac_func in getopt_long_only do : ac_fn_c_check_func "$LINENO" "getopt_long_only" "ac_cv_func_getopt_long_only" if test "x$ac_cv_func_getopt_long_only" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_GETOPT_LONG_ONLY 1 _ACEOF else gl_replace_getopt=yes fi done fi if test -z "$gl_replace_getopt"; then ac_fn_c_check_decl "$LINENO" "optreset" "ac_cv_have_decl_optreset" "#include " if test "x$ac_cv_have_decl_optreset" = x""yes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_OPTRESET $ac_have_decl _ACEOF if test $ac_have_decl = 1; then : else ac_fn_c_check_decl "$LINENO" "getopt_clip" "ac_cv_have_decl_getopt_clip" "#include " if test "x$ac_cv_have_decl_getopt_clip" = x""yes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETOPT_CLIP $ac_have_decl _ACEOF fi fi if test -z "$gl_replace_getopt"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getopt is POSIX compatible" >&5 $as_echo_n "checking whether getopt is POSIX compatible... " >&6; } if test "${gl_cv_func_getopt_posix+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in mingw*) gl_cv_func_getopt_posix="guessing no";; darwin*) gl_cv_func_getopt_posix="guessing no";; *) gl_cv_func_getopt_posix="guessing yes";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #if !HAVE_DECL_OPTRESET && !HAVE_DECL_GETOPT_CLIP # define OPTIND_MIN 0 #else # define OPTIND_MIN 1 #endif int main () { { int argc = 0; char *argv[10]; int c; argv[argc++] = "program"; argv[argc++] = "-a"; argv[argc++] = "foo"; argv[argc++] = "bar"; argv[argc] = NULL; optind = OPTIND_MIN; opterr = 0; c = getopt (argc, argv, "ab"); if (!(c == 'a')) return 1; c = getopt (argc, argv, "ab"); if (!(c == -1)) return 2; if (!(optind == 2)) return 3; } /* Some internal state exists at this point. */ { int argc = 0; char *argv[10]; int c; argv[argc++] = "program"; argv[argc++] = "donald"; argv[argc++] = "-p"; argv[argc++] = "billy"; argv[argc++] = "duck"; argv[argc++] = "-a"; argv[argc++] = "bar"; argv[argc] = NULL; optind = OPTIND_MIN; opterr = 0; c = getopt (argc, argv, "+abp:q:"); if (!(c == -1)) return 4; if (!(strcmp (argv[0], "program") == 0)) return 5; if (!(strcmp (argv[1], "donald") == 0)) return 6; if (!(strcmp (argv[2], "-p") == 0)) return 7; if (!(strcmp (argv[3], "billy") == 0)) return 8; if (!(strcmp (argv[4], "duck") == 0)) return 9; if (!(strcmp (argv[5], "-a") == 0)) return 10; if (!(strcmp (argv[6], "bar") == 0)) return 11; if (!(optind == 1)) return 12; } /* Detect MacOS 10.5 bug. */ { char *argv[3] = { "program", "-ab", NULL }; optind = OPTIND_MIN; opterr = 0; if (getopt (2, argv, "ab:") != 'a') return 13; if (getopt (2, argv, "ab:") != '?') return 14; if (optopt != 'b') return 15; if (optind != 2) return 16; } return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_getopt_posix=yes else gl_cv_func_getopt_posix=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getopt_posix" >&5 $as_echo "$gl_cv_func_getopt_posix" >&6; } case "$gl_cv_func_getopt_posix" in *no) gl_replace_getopt=yes ;; esac fi if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working GNU getopt function" >&5 $as_echo_n "checking for working GNU getopt function... " >&6; } if test "${gl_cv_func_getopt_gnu+set}" = set; then : $as_echo_n "(cached) " >&6 else # Even with POSIXLY_CORRECT, the GNU extension of leading '-' in the # optstring is necessary for programs like m4 that have POSIX-mandated # semantics for supporting options interspersed with files. # Also, since getopt_long is a GNU extension, we require optind=0. gl_had_POSIXLY_CORRECT=${POSIXLY_CORRECT:+yes} POSIXLY_CORRECT=1 export POSIXLY_CORRECT if test "$cross_compiling" = yes; then : case $host_os:$ac_cv_have_decl_optreset in *-gnu*:* | mingw*:*) gl_cv_func_getopt_gnu=no;; *:yes) gl_cv_func_getopt_gnu=no;; *) gl_cv_func_getopt_gnu=yes;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include int main () { /* This code succeeds on glibc 2.8, OpenBSD 4.0, Cygwin, mingw, and fails on MacOS X 10.5, AIX 5.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10. */ { char *myargv[3]; myargv[0] = "conftest"; myargv[1] = "-+"; myargv[2] = 0; opterr = 0; if (getopt (2, myargv, "+a") != '?') return 1; } /* This code succeeds on glibc 2.8, mingw, and fails on MacOS X 10.5, OpenBSD 4.0, AIX 5.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x. */ { char *argv[] = { "program", "-p", "foo", "bar", NULL }; optind = 1; if (getopt (4, argv, "p::") != 'p') return 2; if (optarg != NULL) return 3; if (getopt (4, argv, "p::") != -1) return 4; if (optind != 2) return 5; } /* This code succeeds on glibc 2.8 and fails on Cygwin 1.7.0. */ { char *argv[] = { "program", "foo", "-p", NULL }; optind = 0; if (getopt (3, argv, "-p") != 1) return 6; if (getopt (3, argv, "-p") != 'p') return 7; } /* This code fails on glibc 2.11. */ { char *argv[] = { "program", "-b", "-a", NULL }; optind = opterr = 0; if (getopt (3, argv, "+:a:b") != 'b') return 8; if (getopt (3, argv, "+:a:b") != ':') return 9; } return 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_getopt_gnu=yes else gl_cv_func_getopt_gnu=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi if test "$gl_had_POSIXLY_CORRECT" != yes; then { POSIXLY_CORRECT=; unset POSIXLY_CORRECT;} fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getopt_gnu" >&5 $as_echo "$gl_cv_func_getopt_gnu" >&6; } if test "$gl_cv_func_getopt_gnu" = "no"; then gl_replace_getopt=yes fi fi ac_fn_c_check_decl "$LINENO" "getenv" "ac_cv_have_decl_getenv" "$ac_includes_default" if test "x$ac_cv_have_decl_getenv" = x""yes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETENV $ac_have_decl _ACEOF if test -n "$gl_replace_getopt"; then : GETOPT_H=getopt.h $as_echo "#define __GETOPT_PREFIX rpl_" >>confdefs.h GNULIB_UNISTD_H_GETOPT=1 gl_LIBOBJS="$gl_LIBOBJS getopt.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS getopt1.$ac_objext" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C/C++ restrict keyword" >&5 $as_echo_n "checking for C/C++ restrict keyword... " >&6; } if test "${ac_cv_c_restrict+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_cv_c_restrict=no # The order here caters to the fact that C++ does not require restrict. for ac_kw in __restrict __restrict__ _Restrict restrict; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ typedef int * int_ptr; int foo (int_ptr $ac_kw ip) { return ip[0]; } int main () { int s[1]; int * $ac_kw t = s; t[0] = 0; return foo(t) ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_restrict=$ac_kw fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext test "$ac_cv_c_restrict" != no && break done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_restrict" >&5 $as_echo "$ac_cv_c_restrict" >&6; } case $ac_cv_c_restrict in restrict) ;; no) $as_echo "#define restrict /**/" >>confdefs.h ;; *) cat >>confdefs.h <<_ACEOF #define restrict $ac_cv_c_restrict _ACEOF ;; esac GNULIB_GETTIMEOFDAY=0; HAVE_GETTIMEOFDAY=1; HAVE_STRUCT_TIMEVAL=1; HAVE_SYS_TIME_H=1; REPLACE_GETTIMEOFDAY=0; if test $gl_cv_have_include_next = yes; then gl_cv_next_sys_time_h='<'sys/time.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 $as_echo_n "checking absolute name of ... " >&6; } if test "${gl_cv_next_sys_time_h+set}" = set; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_sys_time_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac gl_cv_next_sys_time_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/sys/time.h#{ s#.*"\(.*/sys/time.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_sys_time_h='<'sys/time.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_time_h" >&5 $as_echo "$gl_cv_next_sys_time_h" >&6; } fi NEXT_SYS_TIME_H=$gl_cv_next_sys_time_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'sys/time.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_sys_time_h fi NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H=$gl_next_as_first_directive if test $ac_cv_header_sys_time_h != yes; then HAVE_SYS_TIME_H=0 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timeval" >&5 $as_echo_n "checking for struct timeval... " >&6; } if test "${gl_cv_sys_struct_timeval+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if HAVE_SYS_TIME_H #include #endif #include int main () { static struct timeval x; x.tv_sec = x.tv_usec; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_sys_struct_timeval=yes else gl_cv_sys_struct_timeval=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timeval" >&5 $as_echo "$gl_cv_sys_struct_timeval" >&6; } if test $gl_cv_sys_struct_timeval != yes; then HAVE_STRUCT_TIMEVAL=0 fi for gl_func in gettimeofday; do as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 $as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if HAVE_SYS_TIME_H # include #endif #include int main () { #undef $gl_func (void) $gl_func; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$as_gl_Symbol=yes" else eval "$as_gl_Symbol=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$as_gl_Symbol { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval as_val=\$$as_gl_Symbol if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 _ACEOF eval ac_cv_have_decl_$gl_func=yes fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long long int" >&5 $as_echo_n "checking for long long int... " >&6; } if test "${ac_cv_type_long_long_int+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* For now, do not test the preprocessor; as of 2007 there are too many implementations with broken preprocessors. Perhaps this can be revisited in 2012. In the meantime, code should not expect #if to work with literals wider than 32 bits. */ /* Test literals. */ long long int ll = 9223372036854775807ll; long long int nll = -9223372036854775807LL; unsigned long long int ull = 18446744073709551615ULL; /* Test constant expressions. */ typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) ? 1 : -1)]; typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 ? 1 : -1)]; int i = 63; int main () { /* Test availability of runtime routines for shift and division. */ long long int llmax = 9223372036854775807ll; unsigned long long int ullmax = 18446744073709551615ull; return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) | (llmax / ll) | (llmax % ll) | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) | (ullmax / ull) | (ullmax % ull)); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : if test "$cross_compiling" = yes; then : ac_cv_type_long_long_int=yes else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #ifndef LLONG_MAX # define HALF \ (1LL << (sizeof (long long int) * CHAR_BIT - 2)) # define LLONG_MAX (HALF - 1 + HALF) #endif int main () { long long int n = 1; int i; for (i = 0; ; i++) { long long int m = n << i; if (m >> i != n) return 1; if (LLONG_MAX / 2 < m) break; } return 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_type_long_long_int=yes else ac_cv_type_long_long_int=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi else ac_cv_type_long_long_int=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_long_long_int" >&5 $as_echo "$ac_cv_type_long_long_int" >&6; } if test $ac_cv_type_long_long_int = yes; then $as_echo "#define HAVE_LONG_LONG_INT 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unsigned long long int" >&5 $as_echo_n "checking for unsigned long long int... " >&6; } if test "${ac_cv_type_unsigned_long_long_int+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* For now, do not test the preprocessor; as of 2007 there are too many implementations with broken preprocessors. Perhaps this can be revisited in 2012. In the meantime, code should not expect #if to work with literals wider than 32 bits. */ /* Test literals. */ long long int ll = 9223372036854775807ll; long long int nll = -9223372036854775807LL; unsigned long long int ull = 18446744073709551615ULL; /* Test constant expressions. */ typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) ? 1 : -1)]; typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 ? 1 : -1)]; int i = 63; int main () { /* Test availability of runtime routines for shift and division. */ long long int llmax = 9223372036854775807ll; unsigned long long int ullmax = 18446744073709551615ull; return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) | (llmax / ll) | (llmax % ll) | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) | (ullmax / ull) | (ullmax % ull)); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_type_unsigned_long_long_int=yes else ac_cv_type_unsigned_long_long_int=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_unsigned_long_long_int" >&5 $as_echo "$ac_cv_type_unsigned_long_long_int" >&6; } if test $ac_cv_type_unsigned_long_long_int = yes; then $as_echo "#define HAVE_UNSIGNED_LONG_LONG_INT 1" >>confdefs.h fi gl_cv_c_multiarch=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __APPLE_CC__ not a universal capable compiler #endif typedef int dummy; _ACEOF if ac_fn_c_try_compile "$LINENO"; then : arch= prev= for word in ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}; do if test -n "$prev"; then case $word in i?86 | x86_64 | ppc | ppc64) if test -z "$arch" || test "$arch" = "$word"; then arch="$word" else gl_cv_c_multiarch=yes fi ;; esac prev= else if test "x$word" = "x-arch"; then prev=arch fi fi done fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $gl_cv_c_multiarch = yes; then $as_echo "#define AA_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h APPLE_UNIVERSAL_BUILD=1 else APPLE_UNIVERSAL_BUILD=0 fi if test $ac_cv_type_long_long_int = yes; then HAVE_LONG_LONG_INT=1 else HAVE_LONG_LONG_INT=0 fi if test $ac_cv_type_unsigned_long_long_int = yes; then HAVE_UNSIGNED_LONG_LONG_INT=1 else HAVE_UNSIGNED_LONG_LONG_INT=0 fi if test $ac_cv_header_inttypes_h = yes; then HAVE_INTTYPES_H=1 else HAVE_INTTYPES_H=0 fi if test $ac_cv_header_sys_types_h = yes; then HAVE_SYS_TYPES_H=1 else HAVE_SYS_TYPES_H=0 fi if test $gl_cv_have_include_next = yes; then gl_cv_next_stdint_h='<'stdint.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 $as_echo_n "checking absolute name of ... " >&6; } if test "${gl_cv_next_stdint_h+set}" = set; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_stdint_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac gl_cv_next_stdint_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/stdint.h#{ s#.*"\(.*/stdint.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_stdint_h='<'stdint.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdint_h" >&5 $as_echo "$gl_cv_next_stdint_h" >&6; } fi NEXT_STDINT_H=$gl_cv_next_stdint_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'stdint.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_stdint_h fi NEXT_AS_FIRST_DIRECTIVE_STDINT_H=$gl_next_as_first_directive if test $ac_cv_header_stdint_h = yes; then HAVE_STDINT_H=1 else HAVE_STDINT_H=0 fi if test $ac_cv_header_stdint_h = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stdint.h conforms to C99" >&5 $as_echo_n "checking whether stdint.h conforms to C99... " >&6; } if test "${gl_cv_header_working_stdint_h+set}" = set; then : $as_echo_n "(cached) " >&6 else gl_cv_header_working_stdint_h=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */ #define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ #include /* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in . */ #if !(defined WCHAR_MIN && defined WCHAR_MAX) #error "WCHAR_MIN, WCHAR_MAX not defined in " #endif /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif #ifdef INT8_MAX int8_t a1 = INT8_MAX; int8_t a1min = INT8_MIN; #endif #ifdef INT16_MAX int16_t a2 = INT16_MAX; int16_t a2min = INT16_MIN; #endif #ifdef INT32_MAX int32_t a3 = INT32_MAX; int32_t a3min = INT32_MIN; #endif #ifdef INT64_MAX int64_t a4 = INT64_MAX; int64_t a4min = INT64_MIN; #endif #ifdef UINT8_MAX uint8_t b1 = UINT8_MAX; #else typedef int b1[(unsigned char) -1 != 255 ? 1 : -1]; #endif #ifdef UINT16_MAX uint16_t b2 = UINT16_MAX; #endif #ifdef UINT32_MAX uint32_t b3 = UINT32_MAX; #endif #ifdef UINT64_MAX uint64_t b4 = UINT64_MAX; #endif int_least8_t c1 = INT8_C (0x7f); int_least8_t c1max = INT_LEAST8_MAX; int_least8_t c1min = INT_LEAST8_MIN; int_least16_t c2 = INT16_C (0x7fff); int_least16_t c2max = INT_LEAST16_MAX; int_least16_t c2min = INT_LEAST16_MIN; int_least32_t c3 = INT32_C (0x7fffffff); int_least32_t c3max = INT_LEAST32_MAX; int_least32_t c3min = INT_LEAST32_MIN; int_least64_t c4 = INT64_C (0x7fffffffffffffff); int_least64_t c4max = INT_LEAST64_MAX; int_least64_t c4min = INT_LEAST64_MIN; uint_least8_t d1 = UINT8_C (0xff); uint_least8_t d1max = UINT_LEAST8_MAX; uint_least16_t d2 = UINT16_C (0xffff); uint_least16_t d2max = UINT_LEAST16_MAX; uint_least32_t d3 = UINT32_C (0xffffffff); uint_least32_t d3max = UINT_LEAST32_MAX; uint_least64_t d4 = UINT64_C (0xffffffffffffffff); uint_least64_t d4max = UINT_LEAST64_MAX; int_fast8_t e1 = INT_FAST8_MAX; int_fast8_t e1min = INT_FAST8_MIN; int_fast16_t e2 = INT_FAST16_MAX; int_fast16_t e2min = INT_FAST16_MIN; int_fast32_t e3 = INT_FAST32_MAX; int_fast32_t e3min = INT_FAST32_MIN; int_fast64_t e4 = INT_FAST64_MAX; int_fast64_t e4min = INT_FAST64_MIN; uint_fast8_t f1 = UINT_FAST8_MAX; uint_fast16_t f2 = UINT_FAST16_MAX; uint_fast32_t f3 = UINT_FAST32_MAX; uint_fast64_t f4 = UINT_FAST64_MAX; #ifdef INTPTR_MAX intptr_t g = INTPTR_MAX; intptr_t gmin = INTPTR_MIN; #endif #ifdef UINTPTR_MAX uintptr_t h = UINTPTR_MAX; #endif intmax_t i = INTMAX_MAX; uintmax_t j = UINTMAX_MAX; #include /* for CHAR_BIT */ #define TYPE_MINIMUM(t) \ ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1))) #define TYPE_MAXIMUM(t) \ ((t) ((t) 0 < (t) -1 ? (t) -1 : ~ (~ (t) 0 << (sizeof (t) * CHAR_BIT - 1)))) struct s { int check_PTRDIFF: PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t) && PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t) ? 1 : -1; /* Detect bug in FreeBSD 6.0 / ia64. */ int check_SIG_ATOMIC: SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t) && SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t) ? 1 : -1; int check_SIZE: SIZE_MAX == TYPE_MAXIMUM (size_t) ? 1 : -1; int check_WCHAR: WCHAR_MIN == TYPE_MINIMUM (wchar_t) && WCHAR_MAX == TYPE_MAXIMUM (wchar_t) ? 1 : -1; /* Detect bug in mingw. */ int check_WINT: WINT_MIN == TYPE_MINIMUM (wint_t) && WINT_MAX == TYPE_MAXIMUM (wint_t) ? 1 : -1; /* Detect bugs in glibc 2.4 and Solaris 10 stdint.h, among others. */ int check_UINT8_C: (-1 < UINT8_C (0)) == (-1 < (uint_least8_t) 0) ? 1 : -1; int check_UINT16_C: (-1 < UINT16_C (0)) == (-1 < (uint_least16_t) 0) ? 1 : -1; /* Detect bugs in OpenBSD 3.9 stdint.h. */ #ifdef UINT8_MAX int check_uint8: (uint8_t) -1 == UINT8_MAX ? 1 : -1; #endif #ifdef UINT16_MAX int check_uint16: (uint16_t) -1 == UINT16_MAX ? 1 : -1; #endif #ifdef UINT32_MAX int check_uint32: (uint32_t) -1 == UINT32_MAX ? 1 : -1; #endif #ifdef UINT64_MAX int check_uint64: (uint64_t) -1 == UINT64_MAX ? 1 : -1; #endif int check_uint_least8: (uint_least8_t) -1 == UINT_LEAST8_MAX ? 1 : -1; int check_uint_least16: (uint_least16_t) -1 == UINT_LEAST16_MAX ? 1 : -1; int check_uint_least32: (uint_least32_t) -1 == UINT_LEAST32_MAX ? 1 : -1; int check_uint_least64: (uint_least64_t) -1 == UINT_LEAST64_MAX ? 1 : -1; int check_uint_fast8: (uint_fast8_t) -1 == UINT_FAST8_MAX ? 1 : -1; int check_uint_fast16: (uint_fast16_t) -1 == UINT_FAST16_MAX ? 1 : -1; int check_uint_fast32: (uint_fast32_t) -1 == UINT_FAST32_MAX ? 1 : -1; int check_uint_fast64: (uint_fast64_t) -1 == UINT_FAST64_MAX ? 1 : -1; int check_uintptr: (uintptr_t) -1 == UINTPTR_MAX ? 1 : -1; int check_uintmax: (uintmax_t) -1 == UINTMAX_MAX ? 1 : -1; int check_size: (size_t) -1 == SIZE_MAX ? 1 : -1; }; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : if test "$cross_compiling" = yes; then : gl_cv_header_working_stdint_h=yes else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */ #define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ #include /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif #include #include #define MVAL(macro) MVAL1(macro) #define MVAL1(expression) #expression static const char *macro_values[] = { #ifdef INT8_MAX MVAL (INT8_MAX), #endif #ifdef INT16_MAX MVAL (INT16_MAX), #endif #ifdef INT32_MAX MVAL (INT32_MAX), #endif #ifdef INT64_MAX MVAL (INT64_MAX), #endif #ifdef UINT8_MAX MVAL (UINT8_MAX), #endif #ifdef UINT16_MAX MVAL (UINT16_MAX), #endif #ifdef UINT32_MAX MVAL (UINT32_MAX), #endif #ifdef UINT64_MAX MVAL (UINT64_MAX), #endif NULL }; int main () { const char **mv; for (mv = macro_values; *mv != NULL; mv++) { const char *value = *mv; /* Test whether it looks like a cast expression. */ if (strncmp (value, "((unsigned int)"/*)*/, 15) == 0 || strncmp (value, "((unsigned short)"/*)*/, 17) == 0 || strncmp (value, "((unsigned char)"/*)*/, 16) == 0 || strncmp (value, "((int)"/*)*/, 6) == 0 || strncmp (value, "((signed short)"/*)*/, 15) == 0 || strncmp (value, "((signed char)"/*)*/, 14) == 0) return 1; } return 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_header_working_stdint_h=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_stdint_h" >&5 $as_echo "$gl_cv_header_working_stdint_h" >&6; } fi if test "$gl_cv_header_working_stdint_h" = yes; then STDINT_H= else for ac_header in sys/inttypes.h sys/bitypes.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" eval as_val=\$$as_ac_Header if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done if test $ac_cv_header_sys_inttypes_h = yes; then HAVE_SYS_INTTYPES_H=1 else HAVE_SYS_INTTYPES_H=0 fi if test $ac_cv_header_sys_bitypes_h = yes; then HAVE_SYS_BITYPES_H=1 else HAVE_SYS_BITYPES_H=0 fi if test $APPLE_UNIVERSAL_BUILD = 0; then for gltype in ptrdiff_t size_t ; do { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bit size of $gltype" >&5 $as_echo_n "checking for bit size of $gltype... " >&6; } if { as_var=gl_cv_bitsizeof_${gltype}; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result" " /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif #include "; then : else result=unknown fi eval gl_cv_bitsizeof_${gltype}=\$result fi eval ac_res=\$gl_cv_bitsizeof_${gltype} { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval result=\$gl_cv_bitsizeof_${gltype} if test $result = unknown; then result=0 fi GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` cat >>confdefs.h <<_ACEOF #define BITSIZEOF_${GLTYPE} $result _ACEOF eval BITSIZEOF_${GLTYPE}=\$result done fi for gltype in sig_atomic_t wchar_t wint_t ; do { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bit size of $gltype" >&5 $as_echo_n "checking for bit size of $gltype... " >&6; } if { as_var=gl_cv_bitsizeof_${gltype}; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result" " /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif #include "; then : else result=unknown fi eval gl_cv_bitsizeof_${gltype}=\$result fi eval ac_res=\$gl_cv_bitsizeof_${gltype} { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval result=\$gl_cv_bitsizeof_${gltype} if test $result = unknown; then result=0 fi GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` cat >>confdefs.h <<_ACEOF #define BITSIZEOF_${GLTYPE} $result _ACEOF eval BITSIZEOF_${GLTYPE}=\$result done for gltype in sig_atomic_t wchar_t wint_t ; do { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gltype is signed" >&5 $as_echo_n "checking whether $gltype is signed... " >&6; } if { as_var=gl_cv_type_${gltype}_signed; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif int verify[2 * (($gltype) -1 < ($gltype) 0) - 1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : result=yes else result=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext eval gl_cv_type_${gltype}_signed=\$result fi eval ac_res=\$gl_cv_type_${gltype}_signed { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval result=\$gl_cv_type_${gltype}_signed GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` if test "$result" = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_SIGNED_${GLTYPE} 1 _ACEOF eval HAVE_SIGNED_${GLTYPE}=1 else eval HAVE_SIGNED_${GLTYPE}=0 fi done gl_cv_type_ptrdiff_t_signed=yes gl_cv_type_size_t_signed=no if test $APPLE_UNIVERSAL_BUILD = 0; then for gltype in ptrdiff_t size_t ; do { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $gltype integer literal suffix" >&5 $as_echo_n "checking for $gltype integer literal suffix... " >&6; } if { as_var=gl_cv_type_${gltype}_suffix; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else eval gl_cv_type_${gltype}_suffix=no eval result=\$gl_cv_type_${gltype}_signed if test "$result" = yes; then glsufu= else glsufu=u fi for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do case $glsuf in '') gltype1='int';; l) gltype1='long int';; ll) gltype1='long long int';; i64) gltype1='__int64';; u) gltype1='unsigned int';; ul) gltype1='unsigned long int';; ull) gltype1='unsigned long long int';; ui64)gltype1='unsigned __int64';; esac cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif extern $gltype foo; extern $gltype1 foo; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval gl_cv_type_${gltype}_suffix=\$glsuf fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext eval result=\$gl_cv_type_${gltype}_suffix test "$result" != no && break done fi eval ac_res=\$gl_cv_type_${gltype}_suffix { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` eval result=\$gl_cv_type_${gltype}_suffix test "$result" = no && result= eval ${GLTYPE}_SUFFIX=\$result cat >>confdefs.h <<_ACEOF #define ${GLTYPE}_SUFFIX $result _ACEOF done fi for gltype in sig_atomic_t wchar_t wint_t ; do { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $gltype integer literal suffix" >&5 $as_echo_n "checking for $gltype integer literal suffix... " >&6; } if { as_var=gl_cv_type_${gltype}_suffix; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else eval gl_cv_type_${gltype}_suffix=no eval result=\$gl_cv_type_${gltype}_signed if test "$result" = yes; then glsufu= else glsufu=u fi for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do case $glsuf in '') gltype1='int';; l) gltype1='long int';; ll) gltype1='long long int';; i64) gltype1='__int64';; u) gltype1='unsigned int';; ul) gltype1='unsigned long int';; ull) gltype1='unsigned long long int';; ui64)gltype1='unsigned __int64';; esac cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif extern $gltype foo; extern $gltype1 foo; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval gl_cv_type_${gltype}_suffix=\$glsuf fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext eval result=\$gl_cv_type_${gltype}_suffix test "$result" != no && break done fi eval ac_res=\$gl_cv_type_${gltype}_suffix { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` eval result=\$gl_cv_type_${gltype}_suffix test "$result" = no && result= eval ${GLTYPE}_SUFFIX=\$result cat >>confdefs.h <<_ACEOF #define ${GLTYPE}_SUFFIX $result _ACEOF done STDINT_H=stdint.h fi for ac_header in inttypes.h do : ac_fn_c_check_header_mongrel "$LINENO" "inttypes.h" "ac_cv_header_inttypes_h" "$ac_includes_default" if test "x$ac_cv_header_inttypes_h" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_INTTYPES_H 1 _ACEOF fi done if test $ac_cv_header_inttypes_h = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the inttypes.h PRIxNN macros are broken" >&5 $as_echo_n "checking whether the inttypes.h PRIxNN macros are broken... " >&6; } if test "${gt_cv_inttypes_pri_broken+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #ifdef PRId32 char *p = PRId32; #endif int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gt_cv_inttypes_pri_broken=no else gt_cv_inttypes_pri_broken=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_inttypes_pri_broken" >&5 $as_echo "$gt_cv_inttypes_pri_broken" >&6; } fi if test "$gt_cv_inttypes_pri_broken" = yes; then cat >>confdefs.h <<_ACEOF #define PRI_MACROS_BROKEN 1 _ACEOF PRI_MACROS_BROKEN=1 else PRI_MACROS_BROKEN=0 fi ac_fn_c_check_decl "$LINENO" "imaxabs" "ac_cv_have_decl_imaxabs" "$ac_includes_default" if test "x$ac_cv_have_decl_imaxabs" = x""yes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_IMAXABS $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "imaxdiv" "ac_cv_have_decl_imaxdiv" "$ac_includes_default" if test "x$ac_cv_have_decl_imaxdiv" = x""yes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_IMAXDIV $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "strtoimax" "ac_cv_have_decl_strtoimax" "$ac_includes_default" if test "x$ac_cv_have_decl_strtoimax" = x""yes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRTOIMAX $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "strtoumax" "ac_cv_have_decl_strtoumax" "$ac_includes_default" if test "x$ac_cv_have_decl_strtoumax" = x""yes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRTOUMAX $ac_have_decl _ACEOF GNULIB_IMAXABS=0; GNULIB_IMAXDIV=0; GNULIB_STRTOIMAX=0; GNULIB_STRTOUMAX=0; HAVE_DECL_IMAXABS=1; HAVE_DECL_IMAXDIV=1; HAVE_DECL_STRTOIMAX=1; HAVE_DECL_STRTOUMAX=1; GNULIB_NL_LANGINFO=0; HAVE_NL_LANGINFO=1; REPLACE_NL_LANGINFO=0; { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working fcntl.h" >&5 $as_echo_n "checking for working fcntl.h... " >&6; } if test "${gl_cv_header_working_fcntl_h+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : gl_cv_header_working_fcntl_h=cross-compiling else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include #ifndef O_NOATIME #define O_NOATIME 0 #endif #ifndef O_NOFOLLOW #define O_NOFOLLOW 0 #endif static int const constants[] = { O_CREAT, O_EXCL, O_NOCTTY, O_TRUNC, O_APPEND, O_NONBLOCK, O_SYNC, O_ACCMODE, O_RDONLY, O_RDWR, O_WRONLY }; int main () { int status = !constants; { static char const sym[] = "conftest.sym"; if (symlink (".", sym) != 0 || close (open (sym, O_RDONLY | O_NOFOLLOW)) == 0) status |= 32; unlink (sym); } { static char const file[] = "confdefs.h"; int fd = open (file, O_RDONLY | O_NOATIME); char c; struct stat st0, st1; if (fd < 0 || fstat (fd, &st0) != 0 || sleep (1) != 0 || read (fd, &c, 1) != 1 || close (fd) != 0 || stat (file, &st1) != 0 || st0.st_atime != st1.st_atime) status |= 64; } return status; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_header_working_fcntl_h=yes else case $? in #( 32) gl_cv_header_working_fcntl_h='no (bad O_NOFOLLOW)';; #( 64) gl_cv_header_working_fcntl_h='no (bad O_NOATIME)';; #( 96) gl_cv_header_working_fcntl_h='no (bad O_NOATIME, O_NOFOLLOW)';; #( *) gl_cv_header_working_fcntl_h='no';; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_fcntl_h" >&5 $as_echo "$gl_cv_header_working_fcntl_h" >&6; } case $gl_cv_header_working_fcntl_h in #( *O_NOATIME* | no | cross-compiling) ac_val=0;; #( *) ac_val=1;; esac cat >>confdefs.h <<_ACEOF #define HAVE_WORKING_O_NOATIME $ac_val _ACEOF case $gl_cv_header_working_fcntl_h in #( *O_NOFOLLOW* | no | cross-compiling) ac_val=0;; #( *) ac_val=1;; esac cat >>confdefs.h <<_ACEOF #define HAVE_WORKING_O_NOFOLLOW $ac_val _ACEOF ac_fn_c_check_decl "$LINENO" "getc_unlocked" "ac_cv_have_decl_getc_unlocked" "$ac_includes_default" if test "x$ac_cv_have_decl_getc_unlocked" = x""yes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETC_UNLOCKED $ac_have_decl _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C Library 2.1 or newer" >&5 $as_echo_n "checking whether we are using the GNU C Library 2.1 or newer... " >&6; } if test "${ac_cv_gnu_library_2_1+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #ifdef __GNU_LIBRARY__ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) Lucky GNU user #endif #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "Lucky GNU user" >/dev/null 2>&1; then : ac_cv_gnu_library_2_1=yes else ac_cv_gnu_library_2_1=no fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gnu_library_2_1" >&5 $as_echo "$ac_cv_gnu_library_2_1" >&6; } GLIBC21="$ac_cv_gnu_library_2_1" GNULIB_FCHMODAT=0; GNULIB_FSTATAT=0; GNULIB_FUTIMENS=0; GNULIB_LCHMOD=0; GNULIB_LSTAT=0; GNULIB_MKDIRAT=0; GNULIB_MKFIFO=0; GNULIB_MKFIFOAT=0; GNULIB_MKNOD=0; GNULIB_MKNODAT=0; GNULIB_STAT=0; GNULIB_UTIMENSAT=0; HAVE_FCHMODAT=1; HAVE_FSTATAT=1; HAVE_FUTIMENS=1; HAVE_LCHMOD=1; HAVE_LSTAT=1; HAVE_MKDIRAT=1; HAVE_MKFIFO=1; HAVE_MKFIFOAT=1; HAVE_MKNOD=1; HAVE_MKNODAT=1; HAVE_UTIMENSAT=1; REPLACE_FSTAT=0; REPLACE_FSTATAT=0; REPLACE_FUTIMENS=0; REPLACE_LSTAT=0; REPLACE_MKDIR=0; REPLACE_MKFIFO=0; REPLACE_MKNOD=0; REPLACE_STAT=0; REPLACE_UTIMENSAT=0; { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lstat correctly handles trailing slash" >&5 $as_echo_n "checking whether lstat correctly handles trailing slash... " >&6; } if test "${ac_cv_func_lstat_dereferences_slashed_symlink+set}" = set; then : $as_echo_n "(cached) " >&6 else rm -f conftest.sym conftest.file echo >conftest.file if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then if test "$cross_compiling" = yes; then : ac_cv_func_lstat_dereferences_slashed_symlink=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { struct stat sbuf; /* Linux will dereference the symlink and fail, as required by POSIX. That is better in the sense that it means we will not have to compile and use the lstat wrapper. */ return lstat ("conftest.sym/", &sbuf) == 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_lstat_dereferences_slashed_symlink=yes else ac_cv_func_lstat_dereferences_slashed_symlink=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi else # If the `ln -s' command failed, then we probably don't even # have an lstat function. ac_cv_func_lstat_dereferences_slashed_symlink=no fi rm -f conftest.sym conftest.file fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_lstat_dereferences_slashed_symlink" >&5 $as_echo "$ac_cv_func_lstat_dereferences_slashed_symlink" >&6; } test $ac_cv_func_lstat_dereferences_slashed_symlink = yes && cat >>confdefs.h <<_ACEOF #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1 _ACEOF if test "x$ac_cv_func_lstat_dereferences_slashed_symlink" = xno; then gl_LIBOBJS="$gl_LIBOBJS lstat.$ac_objext" fi for ac_header in stdlib.h do : ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" if test "x$ac_cv_header_stdlib_h" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STDLIB_H 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5 $as_echo_n "checking for GNU libc compatible malloc... " >&6; } if test "${ac_cv_func_malloc_0_nonnull+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : ac_cv_func_malloc_0_nonnull=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined STDC_HEADERS || defined HAVE_STDLIB_H # include #else char *malloc (); #endif int main () { return ! malloc (0); ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_malloc_0_nonnull=yes else ac_cv_func_malloc_0_nonnull=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5 $as_echo "$ac_cv_func_malloc_0_nonnull" >&6; } if test $ac_cv_func_malloc_0_nonnull = yes; then : gl_cv_func_malloc_0_nonnull=1 else gl_cv_func_malloc_0_nonnull=0 fi cat >>confdefs.h <<_ACEOF #define MALLOC_0_IS_NONNULL $gl_cv_func_malloc_0_nonnull _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mbstate_t" >&5 $as_echo_n "checking for mbstate_t... " >&6; } if test "${ac_cv_type_mbstate_t+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default # include int main () { mbstate_t x; return sizeof x; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_type_mbstate_t=yes else ac_cv_type_mbstate_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_mbstate_t" >&5 $as_echo "$ac_cv_type_mbstate_t" >&6; } if test $ac_cv_type_mbstate_t = yes; then $as_echo "#define HAVE_MBSTATE_T 1" >>confdefs.h else $as_echo "#define mbstate_t int" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional japanese locale" >&5 $as_echo_n "checking for a traditional japanese locale... " >&6; } if test "${gt_cv_locale_ja+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { const char *p; /* Check whether the given locale name is recognized by the system. */ if (setlocale (LC_ALL, "") == NULL) return 1; /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether MB_CUR_MAX is > 1. This excludes the dysfunctional locales on Cygwin 1.5.x. */ if (MB_CUR_MAX == 1) return 1; /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; for (p = buf; *p != '\0'; p++) if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) return 1; return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the AIX locale name. if (LC_ALL=ja_JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja_JP else # Test for the locale name with explicit encoding suffix. if (LC_ALL=ja_JP.EUC-JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja_JP.EUC-JP else # Test for the HP-UX, OSF/1, NetBSD locale name. if (LC_ALL=ja_JP.eucJP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja_JP.eucJP else # Test for the IRIX, FreeBSD locale name. if (LC_ALL=ja_JP.EUC LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja_JP.EUC else # Test for the Solaris 7 locale name. if (LC_ALL=ja LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja else # Special test for NetBSD 1.6. if test -f /usr/share/locale/ja_JP.eucJP/LC_CTYPE; then gt_cv_locale_ja=ja_JP.eucJP else # None found. gt_cv_locale_ja=none fi fi fi fi fi fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_ja" >&5 $as_echo "$gt_cv_locale_ja" >&6; } LOCALE_JA=$gt_cv_locale_ja { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a transitional chinese locale" >&5 $as_echo_n "checking for a transitional chinese locale... " >&6; } if test "${gt_cv_locale_zh_CN+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { const char *p; /* Check whether the given locale name is recognized by the system. */ if (setlocale (LC_ALL, "") == NULL) return 1; /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; for (p = buf; *p != '\0'; p++) if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) return 1; /* Check whether a typical GB18030 multibyte sequence is recognized as a single wide character. This excludes the GB2312 and GBK encodings. */ if (mblen ("\203\062\332\066", 5) != 4) return 1; return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the locale name without encoding suffix. if (LC_ALL=zh_CN LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_zh_CN=zh_CN else # Test for the locale name with explicit encoding suffix. if (LC_ALL=zh_CN.GB18030 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_zh_CN=zh_CN.GB18030 else # None found. gt_cv_locale_zh_CN=none fi fi else # If there was a link error, due to mblen(), the system is so old that # it certainly doesn't have a chinese locale. gt_cv_locale_zh_CN=none fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_zh_CN" >&5 $as_echo "$gt_cv_locale_zh_CN" >&6; } LOCALE_ZH_CN=$gt_cv_locale_zh_CN { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5 $as_echo_n "checking for a french Unicode locale... " >&6; } if test "${gt_cv_locale_fr_utf8+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl imitates locale dependent behaviour by looking at the environment variables, and all locales use the UTF-8 encoding. */ #if !(defined __BEOS__ || defined __HAIKU__) /* Check whether the given locale name is recognized by the system. */ if (setlocale (LC_ALL, "") == NULL) return 1; /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ # if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } # endif # ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; # endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is two bytes long, with UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 4 || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v') return 1; #endif /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr_FR.UTF-8 else # Test for the Solaris 7 locale name. if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr.UTF-8 else # None found. gt_cv_locale_fr_utf8=none fi fi fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5 $as_echo "$gt_cv_locale_fr_utf8" >&6; } LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8 GNULIB_MEMCHR=0; GNULIB_MEMMEM=0; GNULIB_MEMPCPY=0; GNULIB_MEMRCHR=0; GNULIB_RAWMEMCHR=0; GNULIB_STPCPY=0; GNULIB_STPNCPY=0; GNULIB_STRCHRNUL=0; GNULIB_STRDUP=0; GNULIB_STRNCAT=0; GNULIB_STRNDUP=0; GNULIB_STRNLEN=0; GNULIB_STRPBRK=0; GNULIB_STRSEP=0; GNULIB_STRSTR=0; GNULIB_STRCASESTR=0; GNULIB_STRTOK_R=0; GNULIB_MBSLEN=0; GNULIB_MBSNLEN=0; GNULIB_MBSCHR=0; GNULIB_MBSRCHR=0; GNULIB_MBSSTR=0; GNULIB_MBSCASECMP=0; GNULIB_MBSNCASECMP=0; GNULIB_MBSPCASECMP=0; GNULIB_MBSCASESTR=0; GNULIB_MBSCSPN=0; GNULIB_MBSPBRK=0; GNULIB_MBSSPN=0; GNULIB_MBSSEP=0; GNULIB_MBSTOK_R=0; GNULIB_STRERROR=0; GNULIB_STRSIGNAL=0; GNULIB_STRVERSCMP=0; HAVE_MBSLEN=0; HAVE_MEMCHR=1; HAVE_DECL_MEMMEM=1; HAVE_MEMPCPY=1; HAVE_DECL_MEMRCHR=1; HAVE_RAWMEMCHR=1; HAVE_STPCPY=1; HAVE_STPNCPY=1; HAVE_STRCHRNUL=1; HAVE_DECL_STRDUP=1; HAVE_DECL_STRNDUP=1; HAVE_DECL_STRNLEN=1; HAVE_STRPBRK=1; HAVE_STRSEP=1; HAVE_STRCASESTR=1; HAVE_DECL_STRTOK_R=1; HAVE_DECL_STRSIGNAL=1; HAVE_STRVERSCMP=1; REPLACE_MEMCHR=0; REPLACE_MEMMEM=0; REPLACE_STPNCPY=0; REPLACE_STRDUP=0; REPLACE_STRSTR=0; REPLACE_STRCASESTR=0; REPLACE_STRERROR=0; REPLACE_STRNCAT=0; REPLACE_STRNDUP=0; REPLACE_STRNLEN=0; REPLACE_STRSIGNAL=0; REPLACE_STRTOK_R=0; UNDEFINE_STRTOK_R=0; # Check for mmap(). Don't use AC_FUNC_MMAP, because it checks too much: it # fails on HP-UX 11, because MAP_FIXED mappings do not work. But this is # irrelevant for anonymous mappings. ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap" if test "x$ac_cv_func_mmap" = x""yes; then : gl_have_mmap=yes else gl_have_mmap=no fi # Try to allow MAP_ANONYMOUS. gl_have_mmap_anonymous=no if test $gl_have_mmap = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANONYMOUS" >&5 $as_echo_n "checking for MAP_ANONYMOUS... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #ifdef MAP_ANONYMOUS I cant identify this map. #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "I cant identify this map." >/dev/null 2>&1; then : gl_have_mmap_anonymous=yes fi rm -f conftest* if test $gl_have_mmap_anonymous != yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #ifdef MAP_ANON I cant identify this map. #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "I cant identify this map." >/dev/null 2>&1; then : $as_echo "#define MAP_ANONYMOUS MAP_ANON" >>confdefs.h gl_have_mmap_anonymous=yes fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_have_mmap_anonymous" >&5 $as_echo "$gl_have_mmap_anonymous" >&6; } if test $gl_have_mmap_anonymous = yes; then $as_echo "#define HAVE_MAP_ANONYMOUS 1" >>confdefs.h fi fi if test $ac_cv_func_memchr = yes; then # Detect platform-specific bugs in some versions of glibc: # memchr should not dereference anything with length 0 # http://bugzilla.redhat.com/499689 # memchr should not dereference overestimated length after a match # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=521737 # http://sourceware.org/bugzilla/show_bug.cgi?id=10162 # Assume that memchr works on platforms that lack mprotect. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether memchr works" >&5 $as_echo_n "checking whether memchr works... " >&6; } if test "${gl_cv_func_memchr_works+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : gl_cv_func_memchr_works="guessing no" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #if HAVE_SYS_MMAN_H # include # include # include # include # ifndef MAP_FILE # define MAP_FILE 0 # endif #endif int main () { char *fence = NULL; #if HAVE_SYS_MMAN_H && HAVE_MPROTECT # if HAVE_MAP_ANONYMOUS const int flags = MAP_ANONYMOUS | MAP_PRIVATE; const int fd = -1; # else /* !HAVE_MAP_ANONYMOUS */ const int flags = MAP_FILE | MAP_PRIVATE; int fd = open ("/dev/zero", O_RDONLY, 0666); if (fd >= 0) # endif { int pagesize = getpagesize (); char *two_pages = (char *) mmap (NULL, 2 * pagesize, PROT_READ | PROT_WRITE, flags, fd, 0); if (two_pages != (char *)(-1) && mprotect (two_pages + pagesize, pagesize, PROT_NONE) == 0) fence = two_pages + pagesize; } #endif if (fence) { if (memchr (fence, 0, 0)) return 1; strcpy (fence - 9, "12345678"); if (memchr (fence - 9, 0, 79) != fence - 1) return 2; } return 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_memchr_works=yes else gl_cv_func_memchr_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_memchr_works" >&5 $as_echo "$gl_cv_func_memchr_works" >&6; } if test "$gl_cv_func_memchr_works" != yes; then REPLACE_MEMCHR=1 fi else HAVE_MEMCHR=0 fi if test $HAVE_MEMCHR = 0 || test $REPLACE_MEMCHR = 1; then gl_LIBOBJS="$gl_LIBOBJS memchr.$ac_objext" for ac_header in bp-sym.h do : ac_fn_c_check_header_mongrel "$LINENO" "bp-sym.h" "ac_cv_header_bp_sym_h" "$ac_includes_default" if test "x$ac_cv_header_bp_sym_h" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_BP_SYM_H 1 _ACEOF fi done fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ssize_t" >&5 $as_echo_n "checking for ssize_t... " >&6; } if test "${gt_cv_ssize_t+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int x = sizeof (ssize_t *) + sizeof (ssize_t); return !x; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gt_cv_ssize_t=yes else gt_cv_ssize_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_ssize_t" >&5 $as_echo "$gt_cv_ssize_t" >&6; } if test $gt_cv_ssize_t = no; then $as_echo "#define ssize_t int" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5 $as_echo_n "checking for stdbool.h that conforms to C99... " >&6; } if test "${ac_cv_header_stdbool_h+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #ifndef bool "error: bool is not defined" #endif #ifndef false "error: false is not defined" #endif #if false "error: false is not 0" #endif #ifndef true "error: true is not defined" #endif #if true != 1 "error: true is not 1" #endif #ifndef __bool_true_false_are_defined "error: __bool_true_false_are_defined is not defined" #endif struct s { _Bool s: 1; _Bool t; } s; char a[true == 1 ? 1 : -1]; char b[false == 0 ? 1 : -1]; char c[__bool_true_false_are_defined == 1 ? 1 : -1]; char d[(bool) 0.5 == true ? 1 : -1]; bool e = &s; char f[(_Bool) 0.0 == false ? 1 : -1]; char g[true]; char h[sizeof (_Bool)]; char i[sizeof s.t]; enum { j = false, k = true, l = false * true, m = true * 256 }; _Bool n[m]; char o[sizeof n == m * sizeof n[0] ? 1 : -1]; char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; #if defined __xlc__ || defined __GNUC__ /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0 reported by James Lemley on 2005-10-05; see http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html This test is not quite right, since xlc is allowed to reject this program, as the initializer for xlcbug is not one of the forms that C requires support for. However, doing the test right would require a run-time test, and that would make cross-compilation harder. Let us hope that IBM fixes the xlc bug, and also adds support for this kind of constant expression. In the meantime, this test will reject xlc, which is OK, since our stdbool.h substitute should suffice. We also test this with GCC, where it should work, to detect more quickly whether someone messes up the test in the future. */ char digs[] = "0123456789"; int xlcbug = 1 / (&(digs + 5)[-2 + (bool) 1] == &digs[4] ? 1 : -1); #endif /* Catch a bug in an HP-UX C compiler. See http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html */ _Bool q = true; _Bool *pq = &q; int main () { *pq |= q; *pq |= ! q; /* Refer to every declared value, to avoid compiler optimizations. */ return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l + !m + !n + !o + !p + !q + !pq); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdbool_h=yes else ac_cv_header_stdbool_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5 $as_echo "$ac_cv_header_stdbool_h" >&6; } ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default" if test "x$ac_cv_type__Bool" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE__BOOL 1 _ACEOF fi if test $ac_cv_header_stdbool_h = yes; then $as_echo "#define HAVE_STDBOOL_H 1" >>confdefs.h fi REPLACE_NULL=0; HAVE_WCHAR_T=1; STDDEF_H=''; { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wchar_t" >&5 $as_echo_n "checking for wchar_t... " >&6; } if test "${gt_cv_c_wchar_t+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include wchar_t foo = (wchar_t)'\0'; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gt_cv_c_wchar_t=yes else gt_cv_c_wchar_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wchar_t" >&5 $as_echo "$gt_cv_c_wchar_t" >&6; } if test $gt_cv_c_wchar_t = yes; then $as_echo "#define HAVE_WCHAR_T 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C symbols are prefixed with underscore at the linker level" >&5 $as_echo_n "checking whether C symbols are prefixed with underscore at the linker level... " >&6; } if test "${gl_cv_prog_as_underscore+set}" = set; then : $as_echo_n "(cached) " >&6 else cat > conftest.c <&5 (eval $ac_try) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; } >/dev/null 2>&1 if grep _foo conftest.s >/dev/null ; then gl_cv_prog_as_underscore=yes else gl_cv_prog_as_underscore=no fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_prog_as_underscore" >&5 $as_echo "$gl_cv_prog_as_underscore" >&6; } if test $gl_cv_prog_as_underscore = yes; then USER_LABEL_PREFIX=_ else USER_LABEL_PREFIX= fi cat >>confdefs.h <<_ACEOF #define USER_LABEL_PREFIX $USER_LABEL_PREFIX _ACEOF ASM_SYMBOL_PREFIX='"'${USER_LABEL_PREFIX}'"' ac_fn_c_check_decl "$LINENO" "strdup" "ac_cv_have_decl_strdup" "$ac_includes_default" if test "x$ac_cv_have_decl_strdup" = x""yes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRDUP $ac_have_decl _ACEOF if test -z "$ERRNO_H"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strerror function" >&5 $as_echo_n "checking for working strerror function... " >&6; } if test "${gl_cv_func_working_strerror+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { return !*strerror (-2); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_func_working_strerror=yes else gl_cv_func_working_strerror=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { return !*strerror (-2); ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_working_strerror=yes else gl_cv_func_working_strerror=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_strerror" >&5 $as_echo "$gl_cv_func_working_strerror" >&6; } if test $gl_cv_func_working_strerror = no; then REPLACE_STRERROR=1 fi else REPLACE_STRERROR=1 fi if test $REPLACE_STRERROR = 1; then ac_fn_c_check_decl "$LINENO" "strerror" "ac_cv_have_decl_strerror" "$ac_includes_default" if test "x$ac_cv_have_decl_strerror" = x""yes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRERROR $ac_have_decl _ACEOF if test $ac_cv_header_sys_socket_h != yes; then for ac_header in winsock2.h do : ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" if test "x$ac_cv_header_winsock2_h" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_WINSOCK2_H 1 _ACEOF fi done fi fi if test $gl_cv_have_include_next = yes; then gl_cv_next_string_h='<'string.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 $as_echo_n "checking absolute name of ... " >&6; } if test "${gl_cv_next_string_h+set}" = set; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_string_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac gl_cv_next_string_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/string.h#{ s#.*"\(.*/string.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_string_h='<'string.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_string_h" >&5 $as_echo "$gl_cv_next_string_h" >&6; } fi NEXT_STRING_H=$gl_cv_next_string_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'string.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_string_h fi NEXT_AS_FIRST_DIRECTIVE_STRING_H=$gl_next_as_first_directive for gl_func in memmem mempcpy memrchr rawmemchr stpcpy stpncpy strchrnul strdup strncat strndup strnlen strpbrk strsep strcasestr strtok_r strsignal strverscmp; do as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 $as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #undef $gl_func (void) $gl_func; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$as_gl_Symbol=yes" else eval "$as_gl_Symbol=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$as_gl_Symbol { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval as_val=\$$as_gl_Symbol if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 _ACEOF eval ac_cv_have_decl_$gl_func=yes fi done ac_fn_c_check_decl "$LINENO" "strndup" "ac_cv_have_decl_strndup" "$ac_includes_default" if test "x$ac_cv_have_decl_strndup" = x""yes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRNDUP $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "strnlen" "ac_cv_have_decl_strnlen" "$ac_includes_default" if test "x$ac_cv_have_decl_strnlen" = x""yes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRNLEN $ac_have_decl _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat file-mode macros are broken" >&5 $as_echo_n "checking whether stat file-mode macros are broken... " >&6; } if test "${ac_cv_header_stat_broken+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if defined S_ISBLK && defined S_IFDIR extern char c1[S_ISBLK (S_IFDIR) ? -1 : 1]; #endif #if defined S_ISBLK && defined S_IFCHR extern char c2[S_ISBLK (S_IFCHR) ? -1 : 1]; #endif #if defined S_ISLNK && defined S_IFREG extern char c3[S_ISLNK (S_IFREG) ? -1 : 1]; #endif #if defined S_ISSOCK && defined S_IFREG extern char c4[S_ISSOCK (S_IFREG) ? -1 : 1]; #endif _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stat_broken=no else ac_cv_header_stat_broken=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stat_broken" >&5 $as_echo "$ac_cv_header_stat_broken" >&6; } if test $ac_cv_header_stat_broken = yes; then $as_echo "#define STAT_MACROS_BROKEN 1" >>confdefs.h fi GNULIB_MKTIME=0; GNULIB_NANOSLEEP=0; GNULIB_STRPTIME=0; GNULIB_TIMEGM=0; GNULIB_TIME_R=0; HAVE_LOCALTIME_R=1; HAVE_NANOSLEEP=1; HAVE_STRPTIME=1; HAVE_TIMEGM=1; REPLACE_LOCALTIME_R=GNULIB_PORTCHECK; REPLACE_MKTIME=GNULIB_PORTCHECK; REPLACE_NANOSLEEP=GNULIB_PORTCHECK; REPLACE_TIMEGM=GNULIB_PORTCHECK; { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in " >&5 $as_echo_n "checking for struct timespec in ... " >&6; } if test "${gl_cv_sys_struct_timespec_in_time_h+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { static struct timespec x; x.tv_sec = x.tv_nsec; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_sys_struct_timespec_in_time_h=yes else gl_cv_sys_struct_timespec_in_time_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_time_h" >&5 $as_echo "$gl_cv_sys_struct_timespec_in_time_h" >&6; } TIME_H_DEFINES_STRUCT_TIMESPEC=0 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=0 if test $gl_cv_sys_struct_timespec_in_time_h = yes; then TIME_H_DEFINES_STRUCT_TIMESPEC=1 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in " >&5 $as_echo_n "checking for struct timespec in ... " >&6; } if test "${gl_cv_sys_struct_timespec_in_sys_time_h+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { static struct timespec x; x.tv_sec = x.tv_nsec; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_sys_struct_timespec_in_sys_time_h=yes else gl_cv_sys_struct_timespec_in_sys_time_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_sys_time_h" >&5 $as_echo "$gl_cv_sys_struct_timespec_in_sys_time_h" >&6; } if test $gl_cv_sys_struct_timespec_in_sys_time_h = yes; then SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=1 fi fi if test $gl_cv_have_include_next = yes; then gl_cv_next_time_h='<'time.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 $as_echo_n "checking absolute name of ... " >&6; } if test "${gl_cv_next_time_h+set}" = set; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_time_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac gl_cv_next_time_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/time.h#{ s#.*"\(.*/time.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_time_h='<'time.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_time_h" >&5 $as_echo "$gl_cv_next_time_h" >&6; } fi NEXT_TIME_H=$gl_cv_next_time_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'time.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_time_h fi NEXT_AS_FIRST_DIRECTIVE_TIME_H=$gl_next_as_first_directive { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wint_t" >&5 $as_echo_n "checking for wint_t... " >&6; } if test "${gt_cv_c_wint_t+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include wint_t foo = (wchar_t)'\0'; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gt_cv_c_wint_t=yes else gt_cv_c_wint_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wint_t" >&5 $as_echo "$gt_cv_c_wint_t" >&6; } if test $gt_cv_c_wint_t = yes; then $as_echo "#define HAVE_WINT_T 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking if environ is properly declared" >&5 $as_echo_n "checking if environ is properly declared... " >&6; } if test "${gt_cv_var_environ_declaration+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include extern struct { int foo; } environ; int main () { environ.foo = 1; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gt_cv_var_environ_declaration=no else gt_cv_var_environ_declaration=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_var_environ_declaration" >&5 $as_echo "$gt_cv_var_environ_declaration" >&6; } if test $gt_cv_var_environ_declaration = yes; then $as_echo "#define HAVE_ENVIRON_DECL 1" >>confdefs.h fi if test $gt_cv_var_environ_declaration != yes; then HAVE_DECL_ENVIRON=0 fi GNULIB_FCNTL=0; GNULIB_OPEN=0; GNULIB_OPENAT=0; HAVE_FCNTL=1; HAVE_OPENAT=1; REPLACE_FCNTL=0; REPLACE_OPEN=0; REPLACE_OPENAT=0; ac_fn_c_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" "$ac_includes_default" if test "x$ac_cv_type_mode_t" = x""yes; then : else cat >>confdefs.h <<_ACEOF #define mode_t int _ACEOF fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for promoted mode_t type" >&5 $as_echo_n "checking for promoted mode_t type... " >&6; } if test "${gl_cv_promoted_mode_t+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { typedef int array[2 * (sizeof (mode_t) < sizeof (int)) - 1]; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_promoted_mode_t='int' else gl_cv_promoted_mode_t='mode_t' fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_promoted_mode_t" >&5 $as_echo "$gl_cv_promoted_mode_t" >&6; } cat >>confdefs.h <<_ACEOF #define PROMOTED_MODE_T $gl_cv_promoted_mode_t _ACEOF if test $ac_cv_func_setenv = no; then HAVE_SETENV=0 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether setenv validates arguments" >&5 $as_echo_n "checking whether setenv validates arguments... " >&6; } if test "${gl_cv_func_setenv_works+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : gl_cv_func_setenv_works="guessing no" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include int main () { if (setenv ("", "", 0) != -1) return 1; if (errno != EINVAL) return 2; if (setenv ("a", "=", 1) != 0) return 3; if (strcmp (getenv ("a"), "=") != 0) return 4; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_setenv_works=yes else gl_cv_func_setenv_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_setenv_works" >&5 $as_echo "$gl_cv_func_setenv_works" >&6; } if test "$gl_cv_func_setenv_works" != yes; then REPLACE_SETENV=1 gltests_LIBOBJS="$gltests_LIBOBJS setenv.$ac_objext" fi fi for ac_header in search.h do : ac_fn_c_check_header_mongrel "$LINENO" "search.h" "ac_cv_header_search_h" "$ac_includes_default" if test "x$ac_cv_header_search_h" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SEARCH_H 1 _ACEOF fi done for ac_func in tsearch do : ac_fn_c_check_func "$LINENO" "tsearch" "ac_cv_func_tsearch" if test "x$ac_cv_func_tsearch" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_TSEARCH 1 _ACEOF fi done ac_fn_c_check_decl "$LINENO" "alarm" "ac_cv_have_decl_alarm" "$ac_includes_default" if test "x$ac_cv_have_decl_alarm" = x""yes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_ALARM $ac_have_decl _ACEOF if true; then GL_COND_LIBTOOL_TRUE= GL_COND_LIBTOOL_FALSE='#' else GL_COND_LIBTOOL_TRUE='#' GL_COND_LIBTOOL_FALSE= fi gl_cond_libtool=true gl_m4_base='m4' gl_source_base='lib' # Code from module alloca: LTALLOCA=`echo "$ALLOCA" | sed -e 's/\.[^.]* /.lo /g;s/\.[^.]*$/.lo/'` # Code from module alloca-opt: if test $ac_cv_func_alloca_works = no; then : fi # Define an additional variable used in the Makefile substitution. if test $ac_cv_working_alloca_h = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca as a compiler built-in" >&5 $as_echo_n "checking for alloca as a compiler built-in... " >&6; } if test "${gl_cv_rpl_alloca+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined __GNUC__ || defined _AIX || defined _MSC_VER Need own alloca #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "Need own alloca" >/dev/null 2>&1; then : gl_cv_rpl_alloca=yes else gl_cv_rpl_alloca=no fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_rpl_alloca" >&5 $as_echo "$gl_cv_rpl_alloca" >&6; } if test $gl_cv_rpl_alloca = yes; then $as_echo "#define HAVE_ALLOCA 1" >>confdefs.h ALLOCA_H=alloca.h else ALLOCA_H= fi else ALLOCA_H=alloca.h fi # Code from module announce-gen: # Code from module arg-nonnull: # Code from module argmatch: gl_LIBOBJS="$gl_LIBOBJS argmatch.$ac_objext" # Code from module assert: { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable assertions" >&5 $as_echo_n "checking whether to enable assertions... " >&6; } # Check whether --enable-assert was given. if test "${enable_assert+set}" = set; then : enableval=$enable_assert; if test "x$enableval" = xno; then : $as_echo "#define NDEBUG 1" >>confdefs.h elif test "x$enableval" != xyes; then : { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: invalid argument supplied to --enable-assert" >&5 $as_echo "$as_me: WARNING: invalid argument supplied to --enable-assert" >&2;} enable_assert=yes fi else enable_assert=yes fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_assert" >&5 $as_echo "$enable_assert" >&6; } # Code from module btowc: if test $ac_cv_func_btowc = no; then HAVE_BTOWC=0 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether btowc(0) is correct" >&5 $as_echo_n "checking whether btowc(0) is correct... " >&6; } if test "${gl_cv_func_btowc_nul+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess no on Cygwin. cygwin*) gl_cv_func_btowc_nul="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_btowc_nul="guessing yes" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include int main () { if (btowc ('\0') != 0) return 1; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_btowc_nul=yes else gl_cv_func_btowc_nul=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_btowc_nul" >&5 $as_echo "$gl_cv_func_btowc_nul" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether btowc(EOF) is correct" >&5 $as_echo_n "checking whether btowc(EOF) is correct... " >&6; } if test "${gl_cv_func_btowc_eof+set}" = set; then : $as_echo_n "(cached) " >&6 else case "$host_os" in # Guess no on IRIX. irix*) gl_cv_func_btowc_eof="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_btowc_eof="guessing yes" ;; esac if test $LOCALE_FR != none; then if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { if (setlocale (LC_ALL, "$LOCALE_FR") != NULL) { if (btowc (EOF) != WEOF) return 1; } return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_btowc_eof=yes else gl_cv_func_btowc_eof=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_btowc_eof" >&5 $as_echo "$gl_cv_func_btowc_eof" >&6; } case "$gl_cv_func_btowc_nul" in *yes) ;; *) REPLACE_BTOWC=1 ;; esac case "$gl_cv_func_btowc_eof" in *yes) ;; *) REPLACE_BTOWC=1 ;; esac fi if test $HAVE_BTOWC = 0 || test $REPLACE_BTOWC = 1; then : gl_LIBOBJS="$gl_LIBOBJS btowc.$ac_objext" : fi GNULIB_BTOWC=1 $as_echo "#define GNULIB_TEST_BTOWC 1" >>confdefs.h # Code from module c++defs: # Code from module calloc: { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible calloc" >&5 $as_echo_n "checking for GNU libc compatible calloc... " >&6; } if test "${ac_cv_func_calloc_0_nonnull+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : ac_cv_func_calloc_0_nonnull=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { exit (!calloc (0, 0) || calloc ((size_t) -1 / 8 + 1, 8)); ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_calloc_0_nonnull=yes else ac_cv_func_calloc_0_nonnull=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_calloc_0_nonnull" >&5 $as_echo "$ac_cv_func_calloc_0_nonnull" >&6; } if test $ac_cv_func_calloc_0_nonnull = yes; then : $as_echo "#define HAVE_CALLOC 1" >>confdefs.h else $as_echo "#define HAVE_CALLOC 0" >>confdefs.h gl_LIBOBJS="$gl_LIBOBJS calloc.$ac_objext" $as_echo "#define calloc rpl_calloc" >>confdefs.h fi # Code from module calloc-posix: if test $gl_cv_func_malloc_posix = yes; then HAVE_CALLOC_POSIX=1 $as_echo "#define HAVE_CALLOC_POSIX 1" >>confdefs.h else gl_LIBOBJS="$gl_LIBOBJS calloc.$ac_objext" HAVE_CALLOC_POSIX=0 fi GNULIB_CALLOC_POSIX=1 $as_echo "#define GNULIB_TEST_CALLOC_POSIX 1" >>confdefs.h # Code from module canonicalize-lgpl: if test $ac_cv_func_canonicalize_file_name = no; then HAVE_CANONICALIZE_FILE_NAME=0 gl_LIBOBJS="$gl_LIBOBJS canonicalize-lgpl.$ac_objext" if test $ac_cv_func_realpath = no; then HAVE_REALPATH=0 elif test "$gl_cv_func_realpath_works" != yes; then REPLACE_REALPATH=1 fi elif test "$gl_cv_func_realpath_works" != yes; then gl_LIBOBJS="$gl_LIBOBJS canonicalize-lgpl.$ac_objext" REPLACE_REALPATH=1 REPLACE_CANONICALIZE_FILE_NAME=1 fi cat >>confdefs.h <<_ACEOF #define GNULIB_CANONICALIZE_LGPL 1 _ACEOF GNULIB_CANONICALIZE_FILE_NAME=1 $as_echo "#define GNULIB_TEST_CANONICALIZE_FILE_NAME 1" >>confdefs.h GNULIB_REALPATH=1 $as_echo "#define GNULIB_TEST_REALPATH 1" >>confdefs.h # Code from module close: GNULIB_CLOSE=1 $as_echo "#define GNULIB_TEST_CLOSE 1" >>confdefs.h # Code from module close-hook: # Code from module close-stream: gl_LIBOBJS="$gl_LIBOBJS close-stream.$ac_objext" : cat >>confdefs.h <<_ACEOF #define GNULIB_CLOSE_STREAM 1 _ACEOF # Code from module closeout: gl_LIBOBJS="$gl_LIBOBJS closeout.$ac_objext" : # Code from module config-h: # Code from module configmake: # Code from module dirname: gl_LIBOBJS="$gl_LIBOBJS basename.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS dirname.$ac_objext" cat >>confdefs.h <<_ACEOF #define GNULIB_DIRNAME 1 _ACEOF # Code from module dirname-lgpl: gl_LIBOBJS="$gl_LIBOBJS basename-lgpl.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS dirname-lgpl.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS stripslash.$ac_objext" # Code from module do-release-commit-and-tag: # Code from module double-slash-root: { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether // is distinct from /" >&5 $as_echo_n "checking whether // is distinct from /... " >&6; } if test "${gl_cv_double_slash_root+set}" = set; then : $as_echo_n "(cached) " >&6 else if test x"$cross_compiling" = xyes ; then # When cross-compiling, there is no way to tell whether // is special # short of a list of hosts. However, the only known hosts to date # that have a distinct // are Apollo DomainOS (too old to port to), # Cygwin, and z/OS. If anyone knows of another system for which // has # special semantics and is distinct from /, please report it to # . case $host in *-cygwin | i370-ibm-openedition) gl_cv_double_slash_root=yes ;; *) # Be optimistic and assume that / and // are the same when we # don't know. gl_cv_double_slash_root='unknown, assuming no' ;; esac else set x `ls -di / // 2>/dev/null` if test "$2" = "$4" && wc //dev/null >/dev/null 2>&1; then gl_cv_double_slash_root=no else gl_cv_double_slash_root=yes fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_double_slash_root" >&5 $as_echo "$gl_cv_double_slash_root" >&6; } if test "$gl_cv_double_slash_root" = yes; then $as_echo "#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1" >>confdefs.h fi # Code from module errno: # Code from module error: { $as_echo "$as_me:${as_lineno-$LINENO}: checking for error_at_line" >&5 $as_echo_n "checking for error_at_line... " >&6; } if test "${ac_cv_lib_error_at_line+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { error_at_line (0, 0, "", 0, "an error occurred"); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_error_at_line=yes else ac_cv_lib_error_at_line=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_error_at_line" >&5 $as_echo "$ac_cv_lib_error_at_line" >&6; } if test $ac_cv_lib_error_at_line = no; then gl_LIBOBJS="$gl_LIBOBJS error.$ac_objext" fi : XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error:3:c-format" XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error_at_line:5:c-format" # Code from module exitfail: # Code from module extensions: # Code from module fclose: GNULIB_FCLOSE=1 $as_echo "#define GNULIB_TEST_FCLOSE 1" >>confdefs.h # Code from module fdl: # Code from module fpending: fp_headers=' # include # if HAVE_STDIO_EXT_H # include # endif ' ac_fn_c_check_decl "$LINENO" "__fpending" "ac_cv_have_decl___fpending" "$fp_headers " if test "x$ac_cv_have_decl___fpending" = x""yes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL___FPENDING $ac_have_decl _ACEOF if test $ac_cv_func___fpending = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to determine the number of pending output bytes on a stream" >&5 $as_echo_n "checking how to determine the number of pending output bytes on a stream... " >&6; } if test "${ac_cv_sys_pending_output_n_bytes+set}" = set; then : $as_echo_n "(cached) " >&6 else for ac_expr in \ \ '# glibc2' \ 'fp->_IO_write_ptr - fp->_IO_write_base' \ \ '# traditional Unix' \ 'fp->_ptr - fp->_base' \ \ '# BSD' \ 'fp->_p - fp->_bf._base' \ \ '# SCO, Unixware' \ '(fp->__ptr ? fp->__ptr - fp->__base : 0)' \ \ '# QNX' \ '(fp->_Mode & 0x2000 /*_MWRITE*/ ? fp->_Next - fp->_Buf : 0)' \ \ '# old glibc?' \ 'fp->__bufp - fp->__buffer' \ \ '# old glibc iostream?' \ 'fp->_pptr - fp->_pbase' \ \ '# emx+gcc' \ 'fp->_ptr - fp->_buffer' \ \ '# VMS' \ '(*fp)->_ptr - (*fp)->_base' \ \ '# e.g., DGUX R4.11; the info is not available' \ 1 \ ; do # Skip each embedded comment. case "$ac_expr" in '#'*) continue;; esac cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { FILE *fp = stdin; (void) ($ac_expr); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : fp_done=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext test "$fp_done" = yes && break done ac_cv_sys_pending_output_n_bytes=$ac_expr fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_pending_output_n_bytes" >&5 $as_echo "$ac_cv_sys_pending_output_n_bytes" >&6; } cat >>confdefs.h <<_ACEOF #define PENDING_OUTPUT_N_BYTES $ac_cv_sys_pending_output_n_bytes _ACEOF gl_LIBOBJS="$gl_LIBOBJS fpending.$ac_objext" fi # Code from module fsync: if test $ac_cv_func_fsync = no; then HAVE_FSYNC=0 gl_LIBOBJS="$gl_LIBOBJS fsync.$ac_objext" : fi GNULIB_FSYNC=1 $as_echo "#define GNULIB_TEST_FSYNC 1" >>confdefs.h # Code from module gendocs: # Code from module getopt-gnu: $as_echo "#define GNULIB_TEST_GETOPT_GNU 1" >>confdefs.h # Code from module getopt-posix: if test -n "$gl_replace_getopt"; then : GETOPT_H=getopt.h $as_echo "#define __GETOPT_PREFIX rpl_" >>confdefs.h GNULIB_UNISTD_H_GETOPT=1 gl_LIBOBJS="$gl_LIBOBJS getopt.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS getopt1.$ac_objext" fi # Code from module gettext-h: # Code from module gettimeofday: gl_gettimeofday_timezone=void if test $ac_cv_func_gettimeofday != yes; then HAVE_GETTIMEOFDAY=0 gl_LIBOBJS="$gl_LIBOBJS gettimeofday.$ac_objext" for ac_header in sys/timeb.h do : ac_fn_c_check_header_mongrel "$LINENO" "sys/timeb.h" "ac_cv_header_sys_timeb_h" "$ac_includes_default" if test "x$ac_cv_header_sys_timeb_h" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SYS_TIMEB_H 1 _ACEOF fi done for ac_func in _ftime do : ac_fn_c_check_func "$LINENO" "_ftime" "ac_cv_func__ftime" if test "x$ac_cv_func__ftime" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE__FTIME 1 _ACEOF fi done else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gettimeofday clobbers localtime buffer" >&5 $as_echo_n "checking whether gettimeofday clobbers localtime buffer... " >&6; } if test "${gl_cv_func_gettimeofday_clobber+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : gl_cv_func_gettimeofday_clobber=yes else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { time_t t = 0; struct tm *lt; struct tm saved_lt; struct timeval tv; lt = localtime (&t); saved_lt = *lt; gettimeofday (&tv, NULL); return memcmp (lt, &saved_lt, sizeof (struct tm)) != 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_gettimeofday_clobber=no else gl_cv_func_gettimeofday_clobber=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_gettimeofday_clobber" >&5 $as_echo "$gl_cv_func_gettimeofday_clobber" >&6; } if test $gl_cv_func_gettimeofday_clobber = yes; then REPLACE_GETTIMEOFDAY=1 gl_LIBOBJS="$gl_LIBOBJS gettimeofday.$ac_objext" for ac_header in sys/timeb.h do : ac_fn_c_check_header_mongrel "$LINENO" "sys/timeb.h" "ac_cv_header_sys_timeb_h" "$ac_includes_default" if test "x$ac_cv_header_sys_timeb_h" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SYS_TIMEB_H 1 _ACEOF fi done for ac_func in _ftime do : ac_fn_c_check_func "$LINENO" "_ftime" "ac_cv_func__ftime" if test "x$ac_cv_func__ftime" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE__FTIME 1 _ACEOF fi done $as_echo "#define gmtime rpl_gmtime" >>confdefs.h $as_echo "#define localtime rpl_localtime" >>confdefs.h $as_echo "#define GETTIMEOFDAY_CLOBBERS_LOCALTIME 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gettimeofday with POSIX signature" >&5 $as_echo_n "checking for gettimeofday with POSIX signature... " >&6; } if test "${gl_cv_func_gettimeofday_posix_signature+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include struct timeval c; int gettimeofday (struct timeval *restrict, void *restrict); int main () { /* glibc uses struct timezone * rather than the POSIX void * if _GNU_SOURCE is defined. However, since the only portable use of gettimeofday uses NULL as the second parameter, and since the glibc definition is actually more typesafe, it is not worth wrapping this to get a compliant signature. */ int (*f) (struct timeval *restrict, void *restrict) = gettimeofday; int x = f (&c, 0); return !(x | c.tv_sec | c.tv_usec); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_func_gettimeofday_posix_signature=yes else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int gettimeofday (struct timeval *restrict, struct timezone *restrict); int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_func_gettimeofday_posix_signature=almost else gl_cv_func_gettimeofday_posix_signature=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_gettimeofday_posix_signature" >&5 $as_echo "$gl_cv_func_gettimeofday_posix_signature" >&6; } if test $gl_cv_func_gettimeofday_posix_signature = almost; then gl_gettimeofday_timezone='struct timezone' elif test $gl_cv_func_gettimeofday_posix_signature != yes; then REPLACE_GETTIMEOFDAY=1 gl_LIBOBJS="$gl_LIBOBJS gettimeofday.$ac_objext" for ac_header in sys/timeb.h do : ac_fn_c_check_header_mongrel "$LINENO" "sys/timeb.h" "ac_cv_header_sys_timeb_h" "$ac_includes_default" if test "x$ac_cv_header_sys_timeb_h" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SYS_TIMEB_H 1 _ACEOF fi done for ac_func in _ftime do : ac_fn_c_check_func "$LINENO" "_ftime" "ac_cv_func__ftime" if test "x$ac_cv_func__ftime" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE__FTIME 1 _ACEOF fi done fi fi cat >>confdefs.h <<_ACEOF #define GETTIMEOFDAY_TIMEZONE $gl_gettimeofday_timezone _ACEOF GNULIB_GETTIMEOFDAY=1 $as_echo "#define GNULIB_TEST_GETTIMEOFDAY 1" >>confdefs.h # Code from module git-version-gen: # Code from module gitlog-to-changelog: # Code from module gnu-web-doc-update: # Code from module gnumakefile: # Autoconf 2.61a.99 and earlier don't support linking a file only # in VPATH builds. But since GNUmakefile is for maintainer use # only, it does not matter if we skip the link with older autoconf. # Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH # builds, so use a shell variable to bypass this. GNUmakefile=GNUmakefile ac_config_links="$ac_config_links $GNUmakefile:$GNUmakefile" # Code from module gnupload: # Code from module include_next: # Code from module inline: { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler generally respects inline" >&5 $as_echo_n "checking whether the compiler generally respects inline... " >&6; } if test "${gl_cv_c_inline_effective+set}" = set; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_c_inline = no; then gl_cv_c_inline_effective=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifdef __NO_INLINE__ #error "inline is not effective" #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_c_inline_effective=yes else gl_cv_c_inline_effective=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_inline_effective" >&5 $as_echo "$gl_cv_c_inline_effective" >&6; } if test $gl_cv_c_inline_effective = yes; then $as_echo "#define HAVE_INLINE 1" >>confdefs.h fi # Code from module intprops: # Code from module inttypes: { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether inttypes.h conforms to C99" >&5 $as_echo_n "checking whether inttypes.h conforms to C99... " >&6; } if test "${gl_cv_header_working_inttypes_h+set}" = set; then : $as_echo_n "(cached) " >&6 else gl_cv_header_working_inttypes_h=no if test "$gl_cv_header_working_stdint_h" = yes \ && test $ac_cv_header_inttypes_h = yes \ && test "$ac_cv_have_decl_imaxabs" = yes \ && test "$ac_cv_have_decl_imaxdiv" = yes \ && test "$ac_cv_have_decl_strtoimax" = yes \ && test "$ac_cv_have_decl_strtoumax" = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */ #define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */ #define __STDC_FORMAT_MACROS 1 /* to make it work also in C++ mode */ #define _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H /* work if build isn't clean */ #include /* No need to duplicate the tests of stdint.m4; they are subsumed by $gl_cv_header_working_stdint_h = yes. */ /* Tests for macros supposed to be defined in inttypes.h. */ const char *k = /* implicit string concatenation */ #ifdef INT8_MAX PRId8 PRIi8 #endif #ifdef UINT8_MAX PRIo8 PRIu8 PRIx8 PRIX8 #endif #ifdef INT16_MAX PRId16 PRIi16 #endif #ifdef UINT16_MAX PRIo16 PRIu16 PRIx16 PRIX16 #endif #ifdef INT32_MAX PRId32 PRIi32 #endif #ifdef UINT32_MAX PRIo32 PRIu32 PRIx32 PRIX32 #endif #ifdef INT64_MAX PRId64 PRIi64 #endif #ifdef UINT64_MAX PRIo64 PRIu64 PRIx64 PRIX64 #endif PRIdLEAST8 PRIiLEAST8 PRIoLEAST8 PRIuLEAST8 PRIxLEAST8 PRIXLEAST8 PRIdLEAST16 PRIiLEAST16 PRIoLEAST16 PRIuLEAST16 PRIxLEAST16 PRIXLEAST16 PRIdLEAST32 PRIiLEAST32 PRIoLEAST32 PRIuLEAST32 PRIxLEAST32 PRIXLEAST32 PRIdLEAST64 PRIiLEAST64 PRIoLEAST64 PRIuLEAST64 PRIxLEAST64 PRIXLEAST64 PRIdFAST8 PRIiFAST8 PRIoFAST8 PRIuFAST8 PRIxFAST8 PRIXFAST8 PRIdFAST16 PRIiFAST16 PRIoFAST16 PRIuFAST16 PRIxFAST16 PRIXFAST16 PRIdFAST32 PRIiFAST32 PRIoFAST32 PRIuFAST32 PRIxFAST32 PRIXFAST32 PRIdFAST64 PRIiFAST64 PRIoFAST64 PRIuFAST64 PRIxFAST64 PRIXFAST64 PRIdMAX PRIiMAX PRIoMAX PRIuMAX PRIxMAX PRIXMAX #ifdef INTPTR_MAX PRIdPTR PRIiPTR #endif #ifdef UINTPTR_MAX PRIoPTR PRIuPTR PRIxPTR PRIXPTR #endif ; const char *l = /* implicit string concatenation */ #ifdef INT8_MAX SCNd8 SCNi8 #endif #ifdef UINT8_MAX SCNo8 SCNu8 SCNx8 #endif #ifdef INT16_MAX SCNd16 SCNi16 #endif #ifdef UINT16_MAX SCNo16 SCNu16 SCNx16 #endif #ifdef INT32_MAX SCNd32 SCNi32 #endif #ifdef UINT32_MAX SCNo32 SCNu32 SCNx32 #endif #ifdef INT64_MAX SCNd64 SCNi64 #endif #ifdef UINT64_MAX SCNo64 SCNu64 SCNx64 #endif SCNdLEAST8 SCNiLEAST8 SCNoLEAST8 SCNuLEAST8 SCNxLEAST8 SCNdLEAST16 SCNiLEAST16 SCNoLEAST16 SCNuLEAST16 SCNxLEAST16 SCNdLEAST32 SCNiLEAST32 SCNoLEAST32 SCNuLEAST32 SCNxLEAST32 SCNdLEAST64 SCNiLEAST64 SCNoLEAST64 SCNuLEAST64 SCNxLEAST64 SCNdFAST8 SCNiFAST8 SCNoFAST8 SCNuFAST8 SCNxFAST8 SCNdFAST16 SCNiFAST16 SCNoFAST16 SCNuFAST16 SCNxFAST16 SCNdFAST32 SCNiFAST32 SCNoFAST32 SCNuFAST32 SCNxFAST32 SCNdFAST64 SCNiFAST64 SCNoFAST64 SCNuFAST64 SCNxFAST64 SCNdMAX SCNiMAX SCNoMAX SCNuMAX SCNxMAX #ifdef INTPTR_MAX SCNdPTR SCNiPTR #endif #ifdef UINTPTR_MAX SCNoPTR SCNuPTR SCNxPTR #endif ; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_header_working_inttypes_h=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_inttypes_h" >&5 $as_echo "$gl_cv_header_working_inttypes_h" >&6; } if test $gl_cv_have_include_next = yes; then gl_cv_next_inttypes_h='<'inttypes.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 $as_echo_n "checking absolute name of ... " >&6; } if test "${gl_cv_next_inttypes_h+set}" = set; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_inttypes_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac gl_cv_next_inttypes_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/inttypes.h#{ s#.*"\(.*/inttypes.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_inttypes_h='<'inttypes.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_inttypes_h" >&5 $as_echo "$gl_cv_next_inttypes_h" >&6; } fi NEXT_INTTYPES_H=$gl_cv_next_inttypes_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'inttypes.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_inttypes_h fi NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H=$gl_next_as_first_directive $as_echo "#define GL_TRIGGER_STDC_LIMIT_MACROS 1" >>confdefs.h PRIPTR_PREFIX= if test -n "$STDINT_H"; then PRIPTR_PREFIX='"l"' else for glpfx in '' l ll I64; do case $glpfx in '') gltype1='int';; l) gltype1='long int';; ll) gltype1='long long int';; I64) gltype1='__int64';; esac cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include extern intptr_t foo; extern $gltype1 foo; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : PRIPTR_PREFIX='"'$glpfx'"' fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext test -n "$PRIPTR_PREFIX" && break done fi if test "$ac_cv_have_decl_imaxabs" = yes; then HAVE_DECL_IMAXABS=1 else HAVE_DECL_IMAXABS=0 fi if test "$ac_cv_have_decl_imaxdiv" = yes; then HAVE_DECL_IMAXDIV=1 else HAVE_DECL_IMAXDIV=0 fi if test "$ac_cv_have_decl_strtoimax" = yes; then HAVE_DECL_STRTOIMAX=1 else HAVE_DECL_STRTOIMAX=0 fi if test "$ac_cv_have_decl_strtoumax" = yes; then HAVE_DECL_STRTOUMAX=1 else HAVE_DECL_STRTOUMAX=0 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether INT32_MAX < INTMAX_MAX" >&5 $as_echo_n "checking whether INT32_MAX < INTMAX_MAX... " >&6; } if test "${gl_cv_test_INT32_MAX_LT_INTMAX_MAX+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Work also in C++ mode. */ #define __STDC_LIMIT_MACROS 1 /* Work if build is not clean. */ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H #include #if HAVE_STDINT_H #include #endif #if defined INT32_MAX && defined INTMAX_MAX #define CONDITION (INT32_MAX < INTMAX_MAX) #elif HAVE_LONG_LONG_INT #define CONDITION (sizeof (int) < sizeof (long long int)) #else #define CONDITION 0 #endif int test[CONDITION ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_test_INT32_MAX_LT_INTMAX_MAX=yes else gl_cv_test_INT32_MAX_LT_INTMAX_MAX=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&5 $as_echo "$gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&6; } if test $gl_cv_test_INT32_MAX_LT_INTMAX_MAX = yes; then INT32_MAX_LT_INTMAX_MAX=1; else INT32_MAX_LT_INTMAX_MAX=0; fi if test $APPLE_UNIVERSAL_BUILD = 0; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether INT64_MAX == LONG_MAX" >&5 $as_echo_n "checking whether INT64_MAX == LONG_MAX... " >&6; } if test "${gl_cv_test_INT64_MAX_EQ_LONG_MAX+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Work also in C++ mode. */ #define __STDC_LIMIT_MACROS 1 /* Work if build is not clean. */ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H #include #if HAVE_STDINT_H #include #endif #if defined INT64_MAX #define CONDITION (INT64_MAX == LONG_MAX) #elif HAVE_LONG_LONG_INT #define CONDITION (sizeof (long long int) == sizeof (long int)) #else #define CONDITION 0 #endif int test[CONDITION ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_test_INT64_MAX_EQ_LONG_MAX=yes else gl_cv_test_INT64_MAX_EQ_LONG_MAX=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&5 $as_echo "$gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&6; } if test $gl_cv_test_INT64_MAX_EQ_LONG_MAX = yes; then INT64_MAX_EQ_LONG_MAX=1; else INT64_MAX_EQ_LONG_MAX=0; fi else INT64_MAX_EQ_LONG_MAX=-1 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether UINT32_MAX < UINTMAX_MAX" >&5 $as_echo_n "checking whether UINT32_MAX < UINTMAX_MAX... " >&6; } if test "${gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Work also in C++ mode. */ #define __STDC_LIMIT_MACROS 1 /* Work if build is not clean. */ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H #include #if HAVE_STDINT_H #include #endif #if defined UINT32_MAX && defined UINTMAX_MAX #define CONDITION (UINT32_MAX < UINTMAX_MAX) #elif HAVE_LONG_LONG_INT #define CONDITION (sizeof (unsigned int) < sizeof (unsigned long long int)) #else #define CONDITION 0 #endif int test[CONDITION ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX=yes else gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX" >&5 $as_echo "$gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX" >&6; } if test $gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX = yes; then UINT32_MAX_LT_UINTMAX_MAX=1; else UINT32_MAX_LT_UINTMAX_MAX=0; fi if test $APPLE_UNIVERSAL_BUILD = 0; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether UINT64_MAX == ULONG_MAX" >&5 $as_echo_n "checking whether UINT64_MAX == ULONG_MAX... " >&6; } if test "${gl_cv_test_UINT64_MAX_EQ_ULONG_MAX+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Work also in C++ mode. */ #define __STDC_LIMIT_MACROS 1 /* Work if build is not clean. */ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H #include #if HAVE_STDINT_H #include #endif #if defined UINT64_MAX #define CONDITION (UINT64_MAX == ULONG_MAX) #elif HAVE_LONG_LONG_INT #define CONDITION (sizeof (unsigned long long int) == sizeof (unsigned long int)) #else #define CONDITION 0 #endif int test[CONDITION ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_test_UINT64_MAX_EQ_ULONG_MAX=yes else gl_cv_test_UINT64_MAX_EQ_ULONG_MAX=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&5 $as_echo "$gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&6; } if test $gl_cv_test_UINT64_MAX_EQ_ULONG_MAX = yes; then UINT64_MAX_EQ_ULONG_MAX=1; else UINT64_MAX_EQ_ULONG_MAX=0; fi else UINT64_MAX_EQ_ULONG_MAX=-1 fi for gl_func in imaxabs imaxdiv strtoimax strtoumax; do as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 $as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #undef $gl_func (void) $gl_func; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$as_gl_Symbol=yes" else eval "$as_gl_Symbol=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$as_gl_Symbol { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval as_val=\$$as_gl_Symbol if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 _ACEOF eval ac_cv_have_decl_$gl_func=yes fi done # Code from module langinfo: if test $gl_cv_have_include_next = yes; then gl_cv_next_langinfo_h='<'langinfo.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 $as_echo_n "checking absolute name of ... " >&6; } if test "${gl_cv_next_langinfo_h+set}" = set; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_langinfo_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac gl_cv_next_langinfo_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/langinfo.h#{ s#.*"\(.*/langinfo.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_langinfo_h='<'langinfo.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_langinfo_h" >&5 $as_echo "$gl_cv_next_langinfo_h" >&6; } fi NEXT_LANGINFO_H=$gl_cv_next_langinfo_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'langinfo.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_langinfo_h fi NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H=$gl_next_as_first_directive HAVE_LANGINFO_CODESET=0 HAVE_LANGINFO_ERA=0 if test $ac_cv_header_langinfo_h = yes; then HAVE_LANGINFO_H=1 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines CODESET" >&5 $as_echo_n "checking whether langinfo.h defines CODESET... " >&6; } if test "${gl_cv_header_langinfo_codeset+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int a = CODESET; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_header_langinfo_codeset=yes else gl_cv_header_langinfo_codeset=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_codeset" >&5 $as_echo "$gl_cv_header_langinfo_codeset" >&6; } if test $gl_cv_header_langinfo_codeset = yes; then HAVE_LANGINFO_CODESET=1 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines ERA" >&5 $as_echo_n "checking whether langinfo.h defines ERA... " >&6; } if test "${gl_cv_header_langinfo_era+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int a = ERA; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_header_langinfo_era=yes else gl_cv_header_langinfo_era=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_era" >&5 $as_echo "$gl_cv_header_langinfo_era" >&6; } if test $gl_cv_header_langinfo_era = yes; then HAVE_LANGINFO_ERA=1 fi else HAVE_LANGINFO_H=0 fi for gl_func in nl_langinfo; do as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 $as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #undef $gl_func (void) $gl_func; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$as_gl_Symbol=yes" else eval "$as_gl_Symbol=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$as_gl_Symbol { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval as_val=\$$as_gl_Symbol if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 _ACEOF eval ac_cv_have_decl_$gl_func=yes fi done # Code from module lib-ignore: { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler flag to ignore unused libraries" >&5 $as_echo_n "checking for C compiler flag to ignore unused libraries... " >&6; } if test "${gl_cv_prog_c_ignore_unused_libraries+set}" = set; then : $as_echo_n "(cached) " >&6 else gl_cv_prog_c_ignore_unused_libraries=none gl_saved_ldflags=$LDFLAGS gl_saved_libs=$LIBS # Link with -lm to detect binutils 2.16 bug with --as-needed; see # . LIBS="$LIBS -lm" # Use long option sequences like '-z ignore' to test for the feature, # to forestall problems with linkers that have -z, -i, -g, -n, etc. flags. # GCC + binutils likes '-Wl,--as-needed'. # GCC + Solaris ld likes '-Wl,-z,ignore'. # Sun C likes '-Wl,-z,ignore'. '-z ignore' is accepted but has no effect. # Don't try bare '--as-needed'; nothing likes it and the HP-UX 11.11 # native cc issues annoying warnings and then ignores it, # which would cause us to incorrectly conclude that it worked. for gl_flags in '-Wl,--as-needed' \ '-Wl,-z,ignore' \ '-z ignore' do LDFLAGS="$gl_flags $LDFLAGS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_prog_c_ignore_unused_libraries=$gl_flags fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$gl_saved_ldflags test "$gl_cv_prog_c_ignore_unused_libraries" != none && break done LIBS=$gl_saved_libs fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_prog_c_ignore_unused_libraries" >&5 $as_echo "$gl_cv_prog_c_ignore_unused_libraries" >&6; } IGNORE_UNUSED_LIBRARIES_CFLAGS= if test "$gl_cv_prog_c_ignore_unused_libraries" != none; then IGNORE_UNUSED_LIBRARIES_CFLAGS="$gl_cv_prog_c_ignore_unused_libraries" fi # Code from module localcharset: LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(top_builddir)/$gl_source_base\"" # Code from module long-options: gl_LIBOBJS="$gl_LIBOBJS long-options.$ac_objext" # Code from module lseek: { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lseek detects pipes" >&5 $as_echo_n "checking whether lseek detects pipes... " >&6; } if test "${gl_cv_func_lseek_pipe+set}" = set; then : $as_echo_n "(cached) " >&6 else if test $cross_compiling = no; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include /* for off_t */ #include /* for SEEK_CUR */ #include int main () { /* Exit with success only if stdin is seekable. */ return lseek (0, (off_t)0, SEEK_CUR) < 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : if test -s conftest$ac_exeext \ && ./conftest$ac_exeext < conftest.$ac_ext \ && test 1 = "`echo hi \ | { ./conftest$ac_exeext; echo $?; cat >/dev/null; }`"; then gl_cv_func_lseek_pipe=yes else gl_cv_func_lseek_pipe=no fi else gl_cv_func_lseek_pipe=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) || defined __BEOS__ /* mingw and BeOS mistakenly return 0 when trying to seek on pipes. */ Choke me. #endif _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_func_lseek_pipe=yes else gl_cv_func_lseek_pipe=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_lseek_pipe" >&5 $as_echo "$gl_cv_func_lseek_pipe" >&6; } if test $gl_cv_func_lseek_pipe = no; then gl_LIBOBJS="$gl_LIBOBJS lseek.$ac_objext" REPLACE_LSEEK=1 $as_echo "#define LSEEK_PIPE_BROKEN 1" >>confdefs.h fi GNULIB_LSEEK=1 $as_echo "#define GNULIB_TEST_LSEEK 1" >>confdefs.h # Code from module lstat: if test $ac_cv_func_lstat = yes; then if test $ac_cv_func_lstat_dereferences_slashed_symlink = no; then REPLACE_LSTAT=1 fi # Prerequisites of lib/lstat.c. else HAVE_LSTAT=0 fi GNULIB_LSTAT=1 $as_echo "#define GNULIB_TEST_LSTAT 1" >>confdefs.h # Code from module maintainer-makefile: # Code from module malloc: for ac_header in stdlib.h do : ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" if test "x$ac_cv_header_stdlib_h" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STDLIB_H 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5 $as_echo_n "checking for GNU libc compatible malloc... " >&6; } if test "${ac_cv_func_malloc_0_nonnull+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : ac_cv_func_malloc_0_nonnull=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined STDC_HEADERS || defined HAVE_STDLIB_H # include #else char *malloc (); #endif int main () { return ! malloc (0); ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_malloc_0_nonnull=yes else ac_cv_func_malloc_0_nonnull=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5 $as_echo "$ac_cv_func_malloc_0_nonnull" >&6; } if test $ac_cv_func_malloc_0_nonnull = yes; then : $as_echo "#define HAVE_MALLOC 1" >>confdefs.h else $as_echo "#define HAVE_MALLOC 0" >>confdefs.h gl_LIBOBJS="$gl_LIBOBJS malloc.$ac_objext" $as_echo "#define malloc rpl_malloc" >>confdefs.h fi $as_echo "#define GNULIB_MALLOC_GNU 1" >>confdefs.h # Code from module malloc-posix: if test $gl_cv_func_malloc_posix = yes; then HAVE_MALLOC_POSIX=1 $as_echo "#define HAVE_MALLOC_POSIX 1" >>confdefs.h else gl_LIBOBJS="$gl_LIBOBJS malloc.$ac_objext" HAVE_MALLOC_POSIX=0 fi GNULIB_MALLOC_POSIX=1 $as_echo "#define GNULIB_TEST_MALLOC_POSIX 1" >>confdefs.h # Code from module malloca: # Code from module manywarnings: # Code from module mbrtowc: if test $ac_cv_func_mbsinit = yes && test $ac_cv_func_mbrtowc = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles incomplete characters" >&5 $as_echo_n "checking whether mbrtowc handles incomplete characters... " >&6; } if test "${gl_cv_func_mbrtowc_incomplete_state+set}" = set; then : $as_echo_n "(cached) " >&6 else case "$host_os" in # Guess no on AIX and OSF/1. osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;; esac if test $LOCALE_JA != none; then if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include int main () { if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) { const char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */ mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) if (mbsinit (&state)) return 1; } return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_mbrtowc_incomplete_state=yes else gl_cv_func_mbrtowc_incomplete_state=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_incomplete_state" >&5 $as_echo "$gl_cv_func_mbrtowc_incomplete_state" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc works as well as mbtowc" >&5 $as_echo_n "checking whether mbrtowc works as well as mbtowc... " >&6; } if test "${gl_cv_func_mbrtowc_sanitycheck+set}" = set; then : $as_echo_n "(cached) " >&6 else case "$host_os" in # Guess no on Solaris 8. solaris2.8) gl_cv_func_mbrtowc_sanitycheck="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrtowc_sanitycheck="guessing yes" ;; esac if test $LOCALE_ZH_CN != none; then if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { /* This fails on Solaris 8: mbrtowc returns 2, and sets wc to 0x00F0. mbtowc returns 4 (correct) and sets wc to 0x5EDC. */ if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) { char input[] = "B\250\271\201\060\211\070er"; /* "Büßer" */ mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, input + 3, 6, &state) != 4 && mbtowc (&wc, input + 3, 6) == 4) return 1; } return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_mbrtowc_sanitycheck=yes else gl_cv_func_mbrtowc_sanitycheck=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_sanitycheck" >&5 $as_echo "$gl_cv_func_mbrtowc_sanitycheck" >&6; } REPLACE_MBSTATE_T=0 case "$gl_cv_func_mbrtowc_incomplete_state" in *yes) ;; *) REPLACE_MBSTATE_T=1 ;; esac case "$gl_cv_func_mbrtowc_sanitycheck" in *yes) ;; *) REPLACE_MBSTATE_T=1 ;; esac else REPLACE_MBSTATE_T=1 fi if test $REPLACE_MBSTATE_T = 1; then : fi if test $ac_cv_func_mbrtowc = no; then HAVE_MBRTOWC=0 else if test $REPLACE_MBSTATE_T = 1; then REPLACE_MBRTOWC=1 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles a NULL string argument" >&5 $as_echo_n "checking whether mbrtowc handles a NULL string argument... " >&6; } if test "${gl_cv_func_mbrtowc_null_arg+set}" = set; then : $as_echo_n "(cached) " >&6 else case "$host_os" in # Guess no on OSF/1. osf*) gl_cv_func_mbrtowc_null_arg="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrtowc_null_arg="guessing yes" ;; esac if test $LOCALE_FR_UTF8 != none; then if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include int main () { if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) { mbstate_t state; wchar_t wc; int ret; memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; mbrtowc (&wc, NULL, 5, &state); /* Check that wc was not modified. */ if (wc != (wchar_t) 0xBADFACE) return 1; } return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_mbrtowc_null_arg=yes else gl_cv_func_mbrtowc_null_arg=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_null_arg" >&5 $as_echo "$gl_cv_func_mbrtowc_null_arg" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc has a correct return value" >&5 $as_echo_n "checking whether mbrtowc has a correct return value... " >&6; } if test "${gl_cv_func_mbrtowc_retval+set}" = set; then : $as_echo_n "(cached) " >&6 else case "$host_os" in # Guess no on HP-UX and Solaris. hpux* | solaris*) gl_cv_func_mbrtowc_retval="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrtowc_retval="guessing yes" ;; esac if test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none; then if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include int main () { /* This fails on Solaris. */ if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) { char input[] = "B\303\274\303\237er"; /* "Büßer" */ mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) { input[1] = '\0'; if (mbrtowc (&wc, input + 2, 5, &state) != 1) return 1; } } /* This fails on HP-UX 11.11. */ if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) { char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */ mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) { input[1] = '\0'; if (mbrtowc (&wc, input + 2, 5, &state) != 2) return 1; } } return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_mbrtowc_retval=yes else gl_cv_func_mbrtowc_retval=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_retval" >&5 $as_echo "$gl_cv_func_mbrtowc_retval" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc returns 0 when parsing a NUL character" >&5 $as_echo_n "checking whether mbrtowc returns 0 when parsing a NUL character... " >&6; } if test "${gl_cv_func_mbrtowc_nul_retval+set}" = set; then : $as_echo_n "(cached) " >&6 else case "$host_os" in # Guess no on Solaris 8 and 9. solaris2.[89]) gl_cv_func_mbrtowc_nul_retval="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrtowc_nul_retval="guessing yes" ;; esac if test $LOCALE_ZH_CN != none; then if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include int main () { /* This fails on Solaris 8 and 9. */ if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) { mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, "", 1, &state) != 0) return 1; } return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_mbrtowc_nul_retval=yes else gl_cv_func_mbrtowc_nul_retval=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_nul_retval" >&5 $as_echo "$gl_cv_func_mbrtowc_nul_retval" >&6; } case "$gl_cv_func_mbrtowc_null_arg" in *yes) ;; *) $as_echo "#define MBRTOWC_NULL_ARG_BUG 1" >>confdefs.h REPLACE_MBRTOWC=1 ;; esac case "$gl_cv_func_mbrtowc_retval" in *yes) ;; *) $as_echo "#define MBRTOWC_RETVAL_BUG 1" >>confdefs.h REPLACE_MBRTOWC=1 ;; esac case "$gl_cv_func_mbrtowc_nul_retval" in *yes) ;; *) $as_echo "#define MBRTOWC_NUL_RETVAL_BUG 1" >>confdefs.h REPLACE_MBRTOWC=1 ;; esac fi fi if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then : gl_LIBOBJS="$gl_LIBOBJS mbrtowc.$ac_objext" : fi GNULIB_MBRTOWC=1 $as_echo "#define GNULIB_TEST_MBRTOWC 1" >>confdefs.h # Code from module mbsinit: if test $ac_cv_func_mbsinit = yes && test $ac_cv_func_mbrtowc = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles incomplete characters" >&5 $as_echo_n "checking whether mbrtowc handles incomplete characters... " >&6; } if test "${gl_cv_func_mbrtowc_incomplete_state+set}" = set; then : $as_echo_n "(cached) " >&6 else case "$host_os" in # Guess no on AIX and OSF/1. osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;; esac if test $LOCALE_JA != none; then if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include int main () { if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) { const char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */ mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) if (mbsinit (&state)) return 1; } return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_mbrtowc_incomplete_state=yes else gl_cv_func_mbrtowc_incomplete_state=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_incomplete_state" >&5 $as_echo "$gl_cv_func_mbrtowc_incomplete_state" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc works as well as mbtowc" >&5 $as_echo_n "checking whether mbrtowc works as well as mbtowc... " >&6; } if test "${gl_cv_func_mbrtowc_sanitycheck+set}" = set; then : $as_echo_n "(cached) " >&6 else case "$host_os" in # Guess no on Solaris 8. solaris2.8) gl_cv_func_mbrtowc_sanitycheck="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrtowc_sanitycheck="guessing yes" ;; esac if test $LOCALE_ZH_CN != none; then if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { /* This fails on Solaris 8: mbrtowc returns 2, and sets wc to 0x00F0. mbtowc returns 4 (correct) and sets wc to 0x5EDC. */ if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) { char input[] = "B\250\271\201\060\211\070er"; /* "Büßer" */ mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, input + 3, 6, &state) != 4 && mbtowc (&wc, input + 3, 6) == 4) return 1; } return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_mbrtowc_sanitycheck=yes else gl_cv_func_mbrtowc_sanitycheck=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_sanitycheck" >&5 $as_echo "$gl_cv_func_mbrtowc_sanitycheck" >&6; } REPLACE_MBSTATE_T=0 case "$gl_cv_func_mbrtowc_incomplete_state" in *yes) ;; *) REPLACE_MBSTATE_T=1 ;; esac case "$gl_cv_func_mbrtowc_sanitycheck" in *yes) ;; *) REPLACE_MBSTATE_T=1 ;; esac else REPLACE_MBSTATE_T=1 fi if test $REPLACE_MBSTATE_T = 1; then : fi if test $ac_cv_func_mbsinit = no; then HAVE_MBSINIT=0 else if test $REPLACE_MBSTATE_T = 1; then REPLACE_MBSINIT=1 fi fi if test $HAVE_MBSINIT = 0 || test $REPLACE_MBSINIT = 1; then : gl_LIBOBJS="$gl_LIBOBJS mbsinit.$ac_objext" : fi GNULIB_MBSINIT=1 $as_echo "#define GNULIB_TEST_MBSINIT 1" >>confdefs.h # Code from module memchr: GNULIB_MEMCHR=1 $as_echo "#define GNULIB_TEST_MEMCHR 1" >>confdefs.h # Code from module mkstemp: if test $ac_cv_func_mkstemp = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mkstemp" >&5 $as_echo_n "checking for working mkstemp... " >&6; } if test "${gl_cv_func_working_mkstemp+set}" = set; then : $as_echo_n "(cached) " >&6 else mkdir conftest.mkstemp if test "$cross_compiling" = yes; then : gl_cv_func_working_mkstemp=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { int i; off_t large = (off_t) 4294967295u; if (large < 0) large = 2147483647; for (i = 0; i < 70; i++) { char templ[] = "conftest.mkstemp/coXXXXXX"; int (*mkstemp_function) (char *) = mkstemp; int fd = mkstemp_function (templ); if (fd < 0 || lseek (fd, large, SEEK_SET) != large) return 1; close (fd); } return 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_working_mkstemp=yes else gl_cv_func_working_mkstemp=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -rf conftest.mkstemp fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_mkstemp" >&5 $as_echo "$gl_cv_func_working_mkstemp" >&6; } if test $gl_cv_func_working_mkstemp != yes; then REPLACE_MKSTEMP=1 gl_LIBOBJS="$gl_LIBOBJS mkstemp.$ac_objext" fi else HAVE_MKSTEMP=0 gl_LIBOBJS="$gl_LIBOBJS mkstemp.$ac_objext" fi GNULIB_MKSTEMP=1 $as_echo "#define GNULIB_TEST_MKSTEMP 1" >>confdefs.h # Code from module mktempd: # Code from module multiarch: # Code from module nl_langinfo: if test $ac_cv_func_nl_langinfo = yes; then if test $HAVE_LANGINFO_CODESET = 1 && test $HAVE_LANGINFO_ERA = 1; then : else REPLACE_NL_LANGINFO=1 $as_echo "#define REPLACE_NL_LANGINFO 1" >>confdefs.h gl_LIBOBJS="$gl_LIBOBJS nl_langinfo.$ac_objext" fi else HAVE_NL_LANGINFO=0 gl_LIBOBJS="$gl_LIBOBJS nl_langinfo.$ac_objext" fi GNULIB_NL_LANGINFO=1 $as_echo "#define GNULIB_TEST_NL_LANGINFO 1" >>confdefs.h # Code from module pathmax: # Code from module progname: ac_fn_c_check_decl "$LINENO" "program_invocation_name" "ac_cv_have_decl_program_invocation_name" "#include " if test "x$ac_cv_have_decl_program_invocation_name" = x""yes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_PROGRAM_INVOCATION_NAME $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "program_invocation_short_name" "ac_cv_have_decl_program_invocation_short_name" "#include " if test "x$ac_cv_have_decl_program_invocation_short_name" = x""yes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME $ac_have_decl _ACEOF # Code from module quote: gl_LIBOBJS="$gl_LIBOBJS quote.$ac_objext" # Code from module quotearg: gl_LIBOBJS="$gl_LIBOBJS quotearg.$ac_objext" # Code from module readlink: if test $ac_cv_func_readlink = no; then HAVE_READLINK=0 gl_LIBOBJS="$gl_LIBOBJS readlink.$ac_objext" : else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether readlink signature is correct" >&5 $as_echo_n "checking whether readlink signature is correct... " >&6; } if test "${gl_cv_decl_readlink_works+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include /* Cause compilation failure if original declaration has wrong type. */ ssize_t readlink (const char *, char *, size_t); int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_decl_readlink_works=yes else gl_cv_decl_readlink_works=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_decl_readlink_works" >&5 $as_echo "$gl_cv_decl_readlink_works" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether readlink handles trailing slash correctly" >&5 $as_echo_n "checking whether readlink handles trailing slash correctly... " >&6; } if test "${gl_cv_func_readlink_works+set}" = set; then : $as_echo_n "(cached) " >&6 else # We have readlink, so assume ln -s works. ln -s conftest.no-such conftest.link ln -s conftest.link conftest.lnk2 if test "$cross_compiling" = yes; then : gl_cv_func_readlink_works="guessing no" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { char buf[20]; return readlink ("conftest.lnk2/", buf, sizeof buf) != -1; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_readlink_works=yes else gl_cv_func_readlink_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f conftest.link conftest.lnk2 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_readlink_works" >&5 $as_echo "$gl_cv_func_readlink_works" >&6; } if test "$gl_cv_func_readlink_works" != yes; then $as_echo "#define READLINK_TRAILING_SLASH_BUG 1" >>confdefs.h REPLACE_READLINK=1 gl_LIBOBJS="$gl_LIBOBJS readlink.$ac_objext" elif test "$gl_cv_decl_readlink_works" != yes; then REPLACE_READLINK=1 gl_LIBOBJS="$gl_LIBOBJS readlink.$ac_objext" fi fi GNULIB_READLINK=1 $as_echo "#define GNULIB_TEST_READLINK 1" >>confdefs.h # Code from module realloc: for ac_header in stdlib.h do : ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" if test "x$ac_cv_header_stdlib_h" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STDLIB_H 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible realloc" >&5 $as_echo_n "checking for GNU libc compatible realloc... " >&6; } if test "${ac_cv_func_realloc_0_nonnull+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : ac_cv_func_realloc_0_nonnull=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined STDC_HEADERS || defined HAVE_STDLIB_H # include #else char *realloc (); #endif int main () { return ! realloc (0, 0); ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_realloc_0_nonnull=yes else ac_cv_func_realloc_0_nonnull=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_realloc_0_nonnull" >&5 $as_echo "$ac_cv_func_realloc_0_nonnull" >&6; } if test $ac_cv_func_realloc_0_nonnull = yes; then : $as_echo "#define HAVE_REALLOC 1" >>confdefs.h else $as_echo "#define HAVE_REALLOC 0" >>confdefs.h gl_LIBOBJS="$gl_LIBOBJS realloc.$ac_objext" $as_echo "#define realloc rpl_realloc" >>confdefs.h fi $as_echo "#define GNULIB_REALLOC_GNU 1" >>confdefs.h # Code from module realloc-posix: if test $gl_cv_func_malloc_posix = yes; then HAVE_REALLOC_POSIX=1 $as_echo "#define HAVE_REALLOC_POSIX 1" >>confdefs.h else gl_LIBOBJS="$gl_LIBOBJS realloc.$ac_objext" HAVE_REALLOC_POSIX=0 fi GNULIB_REALLOC_POSIX=1 $as_echo "#define GNULIB_TEST_REALLOC_POSIX 1" >>confdefs.h # Code from module regex: # Check whether --with-included-regex was given. if test "${with_included_regex+set}" = set; then : withval=$with_included_regex; fi case $with_included_regex in #( yes|no) ac_use_included_regex=$with_included_regex ;; '') # If the system regex support is good enough that it passes the # following run test, then default to *not* using the included regex.c. # If cross compiling, assume the test would fail and use the included # regex.c. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working re_compile_pattern" >&5 $as_echo_n "checking for working re_compile_pattern... " >&6; } if test "${gl_cv_func_re_compile_pattern_working+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : gl_cv_func_re_compile_pattern_working=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default #if HAVE_LOCALE_H #include #endif #include #include int main () { static struct re_pattern_buffer regex; unsigned char folded_chars[UCHAR_MAX + 1]; int i; const char *s; struct re_registers regs; #if HAVE_LOCALE_H /* http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html This test needs valgrind to catch the bug on Debian GNU/Linux 3.1 x86, but it might catch the bug better on other platforms and it shouldn't hurt to try the test here. */ if (setlocale (LC_ALL, "en_US.UTF-8")) { static char const pat[] = "insert into"; static char const data[] = "\xFF\0\x12\xA2\xAA\xC4\xB1,K\x12\xC4\xB1*\xACK"; re_set_syntax (RE_SYNTAX_GREP | RE_HAT_LISTS_NOT_NEWLINE | RE_ICASE); memset (®ex, 0, sizeof regex); s = re_compile_pattern (pat, sizeof pat - 1, ®ex); if (s) return 1; if (re_search (®ex, data, sizeof data - 1, 0, sizeof data - 1, ®s) != -1) return 1; if (! setlocale (LC_ALL, "C")) return 1; } #endif /* This test is from glibc bug 3957, reported by Andrew Mackey. */ re_set_syntax (RE_SYNTAX_EGREP | RE_HAT_LISTS_NOT_NEWLINE); memset (®ex, 0, sizeof regex); s = re_compile_pattern ("a[^x]b", 6, ®ex); if (s) return 1; /* This should fail, but succeeds for glibc-2.5. */ if (re_search (®ex, "a\nb", 3, 0, 3, ®s) != -1) return 1; /* This regular expression is from Spencer ere test number 75 in grep-2.3. */ re_set_syntax (RE_SYNTAX_POSIX_EGREP); memset (®ex, 0, sizeof regex); for (i = 0; i <= UCHAR_MAX; i++) folded_chars[i] = i; regex.translate = folded_chars; s = re_compile_pattern ("a[[:]:]]b\n", 11, ®ex); /* This should fail with _Invalid character class name_ error. */ if (!s) return 1; /* Ensure that [b-a] is diagnosed as invalid, when using RE_NO_EMPTY_RANGES. */ re_set_syntax (RE_SYNTAX_POSIX_EGREP | RE_NO_EMPTY_RANGES); memset (®ex, 0, sizeof regex); s = re_compile_pattern ("a[b-a]", 6, ®ex); if (s == 0) return 1; /* This should succeed, but does not for glibc-2.1.3. */ memset (®ex, 0, sizeof regex); s = re_compile_pattern ("{1", 2, ®ex); if (s) return 1; /* The following example is derived from a problem report against gawk from Jorge Stolfi . */ memset (®ex, 0, sizeof regex); s = re_compile_pattern ("[an\371]*n", 7, ®ex); if (s) return 1; /* This should match, but does not for glibc-2.2.1. */ if (re_match (®ex, "an", 2, 0, ®s) != 2) return 1; memset (®ex, 0, sizeof regex); s = re_compile_pattern ("x", 1, ®ex); if (s) return 1; /* glibc-2.2.93 does not work with a negative RANGE argument. */ if (re_search (®ex, "wxy", 3, 2, -2, ®s) != 1) return 1; /* The version of regex.c in older versions of gnulib ignored RE_ICASE. Detect that problem too. */ re_set_syntax (RE_SYNTAX_EMACS | RE_ICASE); memset (®ex, 0, sizeof regex); s = re_compile_pattern ("x", 1, ®ex); if (s) return 1; if (re_search (®ex, "WXY", 3, 0, 3, ®s) < 0) return 1; /* Catch a bug reported by Vin Shelton in http://lists.gnu.org/archive/html/bug-coreutils/2007-06/msg00089.html */ re_set_syntax (RE_SYNTAX_POSIX_BASIC & ~RE_CONTEXT_INVALID_DUP & ~RE_NO_EMPTY_RANGES); memset (®ex, 0, sizeof regex); s = re_compile_pattern ("[[:alnum:]_-]\\\\+$", 16, ®ex); if (s) return 1; /* REG_STARTEND was added to glibc on 2004-01-15. Reject older versions. */ if (! REG_STARTEND) return 1; /* Reject hosts whose regoff_t values are too narrow. These include glibc 2.3.5 on hosts with 64-bit ptrdiff_t and 32-bit int. */ if (sizeof (regoff_t) < sizeof (ptrdiff_t) || sizeof (regoff_t) < sizeof (ssize_t)) return 1; return 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_re_compile_pattern_working=yes else gl_cv_func_re_compile_pattern_working=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_re_compile_pattern_working" >&5 $as_echo "$gl_cv_func_re_compile_pattern_working" >&6; } case $gl_cv_func_re_compile_pattern_working in #( yes) ac_use_included_regex=no;; #( no) ac_use_included_regex=yes;; esac ;; *) as_fn_error $? "Invalid value for --with-included-regex: $with_included_regex" "$LINENO" 5 ;; esac if test $ac_use_included_regex = yes; then $as_echo "#define _REGEX_LARGE_OFFSETS 1" >>confdefs.h $as_echo "#define re_syntax_options rpl_re_syntax_options" >>confdefs.h $as_echo "#define re_set_syntax rpl_re_set_syntax" >>confdefs.h $as_echo "#define re_compile_pattern rpl_re_compile_pattern" >>confdefs.h $as_echo "#define re_compile_fastmap rpl_re_compile_fastmap" >>confdefs.h $as_echo "#define re_search rpl_re_search" >>confdefs.h $as_echo "#define re_search_2 rpl_re_search_2" >>confdefs.h $as_echo "#define re_match rpl_re_match" >>confdefs.h $as_echo "#define re_match_2 rpl_re_match_2" >>confdefs.h $as_echo "#define re_set_registers rpl_re_set_registers" >>confdefs.h $as_echo "#define re_comp rpl_re_comp" >>confdefs.h $as_echo "#define re_exec rpl_re_exec" >>confdefs.h $as_echo "#define regcomp rpl_regcomp" >>confdefs.h $as_echo "#define regexec rpl_regexec" >>confdefs.h $as_echo "#define regerror rpl_regerror" >>confdefs.h $as_echo "#define regfree rpl_regfree" >>confdefs.h gl_LIBOBJS="$gl_LIBOBJS regex.$ac_objext" for ac_header in libintl.h do : ac_fn_c_check_header_mongrel "$LINENO" "libintl.h" "ac_cv_header_libintl_h" "$ac_includes_default" if test "x$ac_cv_header_libintl_h" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBINTL_H 1 _ACEOF fi done ac_fn_c_check_decl "$LINENO" "isblank" "ac_cv_have_decl_isblank" "#include " if test "x$ac_cv_have_decl_isblank" = x""yes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_ISBLANK $ac_have_decl _ACEOF fi # Code from module rpmatch: for ac_func in rpmatch do : ac_fn_c_check_func "$LINENO" "rpmatch" "ac_cv_func_rpmatch" if test "x$ac_cv_func_rpmatch" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_RPMATCH 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" fi done if test $ac_cv_func_rpmatch = no; then HAVE_RPMATCH=0 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo and YESEXPR" >&5 $as_echo_n "checking for nl_langinfo and YESEXPR... " >&6; } if test "${gl_cv_langinfo_yesexpr+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { char* cs = nl_langinfo(YESEXPR); return !cs; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_langinfo_yesexpr=yes else gl_cv_langinfo_yesexpr=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_langinfo_yesexpr" >&5 $as_echo "$gl_cv_langinfo_yesexpr" >&6; } if test $gl_cv_langinfo_yesexpr = yes; then $as_echo "#define HAVE_LANGINFO_YESEXPR 1" >>confdefs.h fi fi GNULIB_RPMATCH=1 $as_echo "#define GNULIB_TEST_RPMATCH 1" >>confdefs.h # Code from module safe-read: gl_LIBOBJS="$gl_LIBOBJS safe-read.$ac_objext" # Code from module sleep: ac_fn_c_check_decl "$LINENO" "sleep" "ac_cv_have_decl_sleep" "#include " if test "x$ac_cv_have_decl_sleep" = x""yes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_SLEEP $ac_have_decl _ACEOF if test $ac_cv_have_decl_sleep != yes; then HAVE_SLEEP=0 gl_LIBOBJS="$gl_LIBOBJS sleep.$ac_objext" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working sleep" >&5 $as_echo_n "checking for working sleep... " >&6; } if test "${gl_cv_func_sleep_works+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : gl_cv_func_sleep_works="guessing no" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include static void handle_alarm (int sig) { if (sig != SIGALRM) _exit (2); } int main () { /* Failure to compile this test due to missing alarm is okay, since all such platforms (mingw) also lack sleep. */ unsigned int pentecost = 50 * 24 * 60 * 60; /* 50 days. */ unsigned int remaining; signal (SIGALRM, handle_alarm); alarm (1); remaining = sleep (pentecost); return !(pentecost - 10 < remaining && remaining <= pentecost); ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_sleep_works=yes else gl_cv_func_sleep_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_sleep_works" >&5 $as_echo "$gl_cv_func_sleep_works" >&6; } if test "$gl_cv_func_sleep_works" != yes; then REPLACE_SLEEP=1 gl_LIBOBJS="$gl_LIBOBJS sleep.$ac_objext" fi fi GNULIB_SLEEP=1 $as_echo "#define GNULIB_TEST_SLEEP 1" >>confdefs.h # Code from module ssize_t: { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ssize_t" >&5 $as_echo_n "checking for ssize_t... " >&6; } if test "${gt_cv_ssize_t+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int x = sizeof (ssize_t *) + sizeof (ssize_t); return !x; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gt_cv_ssize_t=yes else gt_cv_ssize_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_ssize_t" >&5 $as_echo "$gt_cv_ssize_t" >&6; } if test $gt_cv_ssize_t = no; then $as_echo "#define ssize_t int" >>confdefs.h fi # Code from module stat: { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat handles trailing slashes on directories" >&5 $as_echo_n "checking whether stat handles trailing slashes on directories... " >&6; } if test "${gl_cv_func_stat_dir_slash+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case $host_os in mingw*) gl_cv_func_stat_dir_slash="guessing no";; *) gl_cv_func_stat_dir_slash="guessing yes";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { struct stat st; return stat (".", &st) != stat ("./", &st); ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_stat_dir_slash=yes else gl_cv_func_stat_dir_slash=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_stat_dir_slash" >&5 $as_echo "$gl_cv_func_stat_dir_slash" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat handles trailing slashes on files" >&5 $as_echo_n "checking whether stat handles trailing slashes on files... " >&6; } if test "${gl_cv_func_stat_file_slash+set}" = set; then : $as_echo_n "(cached) " >&6 else touch conftest.tmp # Assume that if we have lstat, we can also check symlinks. if test $ac_cv_func_lstat = yes; then ln -s conftest.tmp conftest.lnk fi if test "$cross_compiling" = yes; then : gl_cv_func_stat_file_slash="guessing no" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { struct stat st; if (!stat ("conftest.tmp/", &st)) return 1; #if HAVE_LSTAT if (!stat ("conftest.lnk/", &st)) return 2; #endif ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_stat_file_slash=yes else gl_cv_func_stat_file_slash=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f conftest.tmp conftest.lnk fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_stat_file_slash" >&5 $as_echo "$gl_cv_func_stat_file_slash" >&6; } case $gl_cv_func_stat_dir_slash in *no) REPLACE_STAT=1 $as_echo "#define REPLACE_FUNC_STAT_DIR 1" >>confdefs.h ;; esac case $gl_cv_func_stat_file_slash in *no) REPLACE_STAT=1 $as_echo "#define REPLACE_FUNC_STAT_FILE 1" >>confdefs.h ;; esac if test $REPLACE_STAT = 1; then gl_LIBOBJS="$gl_LIBOBJS stat.$ac_objext" fi GNULIB_STAT=1 $as_echo "#define GNULIB_TEST_STAT 1" >>confdefs.h # Code from module stdarg: STDARG_H=''; NEXT_STDARG_H=''; { $as_echo "$as_me:${as_lineno-$LINENO}: checking for va_copy" >&5 $as_echo_n "checking for va_copy... " >&6; } if test "${gl_cv_func_va_copy+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #ifndef va_copy void (*func) (va_list, va_list) = va_copy; #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_func_va_copy=yes else gl_cv_func_va_copy=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_va_copy" >&5 $as_echo "$gl_cv_func_va_copy" >&6; } if test $gl_cv_func_va_copy = no; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined _AIX && !defined __GNUC__ AIX vaccine #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "vaccine" >/dev/null 2>&1; then : gl_aixcc=yes else gl_aixcc=no fi rm -f conftest* if test $gl_aixcc = yes; then STDARG_H=stdarg.h if test $gl_cv_have_include_next = yes; then gl_cv_next_stdarg_h='<'stdarg.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 $as_echo_n "checking absolute name of ... " >&6; } if test "${gl_cv_next_stdarg_h+set}" = set; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_stdarg_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac gl_cv_next_stdarg_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/stdarg.h#{ s#.*"\(.*/stdarg.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_stdarg_h='<'stdarg.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdarg_h" >&5 $as_echo "$gl_cv_next_stdarg_h" >&6; } fi NEXT_STDARG_H=$gl_cv_next_stdarg_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'stdarg.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_stdarg_h fi NEXT_AS_FIRST_DIRECTIVE_STDARG_H=$gl_next_as_first_directive if test "$gl_cv_next_stdarg_h" = '""'; then gl_cv_next_stdarg_h='"///usr/include/stdarg.h"' NEXT_STDARG_H="$gl_cv_next_stdarg_h" fi else saved_as_echo_n="$as_echo_n" as_echo_n=':' if test "${gl_cv_func___va_copy+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #ifndef __va_copy error, bail out #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_func___va_copy=yes else gl_cv_func___va_copy=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi as_echo_n="$saved_as_echo_n" if test $gl_cv_func___va_copy = yes; then $as_echo "#define va_copy __va_copy" >>confdefs.h else $as_echo "#define va_copy gl_va_copy" >>confdefs.h fi fi fi # Code from module stdbool: # Define two additional variables used in the Makefile substitution. if test "$ac_cv_header_stdbool_h" = yes; then STDBOOL_H='' else STDBOOL_H='stdbool.h' fi if test "$ac_cv_type__Bool" = yes; then HAVE__BOOL=1 else HAVE__BOOL=0 fi # Code from module stddef: if test $gt_cv_c_wchar_t = no; then HAVE_WCHAR_T=0 STDDEF_H=stddef.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NULL can be used in arbitrary expressions" >&5 $as_echo_n "checking whether NULL can be used in arbitrary expressions... " >&6; } if test "${gl_cv_decl_null_works+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int test[2 * (sizeof NULL == sizeof (void *)) -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_decl_null_works=yes else gl_cv_decl_null_works=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_decl_null_works" >&5 $as_echo "$gl_cv_decl_null_works" >&6; } if test $gl_cv_decl_null_works = no; then REPLACE_NULL=1 STDDEF_H=stddef.h fi if test -n "$STDDEF_H"; then if test $gl_cv_have_include_next = yes; then gl_cv_next_stddef_h='<'stddef.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 $as_echo_n "checking absolute name of ... " >&6; } if test "${gl_cv_next_stddef_h+set}" = set; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_stddef_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac gl_cv_next_stddef_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/stddef.h#{ s#.*"\(.*/stddef.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_stddef_h='<'stddef.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stddef_h" >&5 $as_echo "$gl_cv_next_stddef_h" >&6; } fi NEXT_STDDEF_H=$gl_cv_next_stddef_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'stddef.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_stddef_h fi NEXT_AS_FIRST_DIRECTIVE_STDDEF_H=$gl_next_as_first_directive fi # Code from module stdint: if test $ac_cv_type_long_long_int = yes; then HAVE_LONG_LONG_INT=1 else HAVE_LONG_LONG_INT=0 fi if test $ac_cv_type_unsigned_long_long_int = yes; then HAVE_UNSIGNED_LONG_LONG_INT=1 else HAVE_UNSIGNED_LONG_LONG_INT=0 fi if test $ac_cv_header_inttypes_h = yes; then HAVE_INTTYPES_H=1 else HAVE_INTTYPES_H=0 fi if test $ac_cv_header_sys_types_h = yes; then HAVE_SYS_TYPES_H=1 else HAVE_SYS_TYPES_H=0 fi if test $gl_cv_have_include_next = yes; then gl_cv_next_stdint_h='<'stdint.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 $as_echo_n "checking absolute name of ... " >&6; } if test "${gl_cv_next_stdint_h+set}" = set; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_stdint_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac gl_cv_next_stdint_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/stdint.h#{ s#.*"\(.*/stdint.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_stdint_h='<'stdint.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdint_h" >&5 $as_echo "$gl_cv_next_stdint_h" >&6; } fi NEXT_STDINT_H=$gl_cv_next_stdint_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'stdint.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_stdint_h fi NEXT_AS_FIRST_DIRECTIVE_STDINT_H=$gl_next_as_first_directive if test $ac_cv_header_stdint_h = yes; then HAVE_STDINT_H=1 else HAVE_STDINT_H=0 fi if test $ac_cv_header_stdint_h = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stdint.h conforms to C99" >&5 $as_echo_n "checking whether stdint.h conforms to C99... " >&6; } if test "${gl_cv_header_working_stdint_h+set}" = set; then : $as_echo_n "(cached) " >&6 else gl_cv_header_working_stdint_h=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */ #define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ #include /* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in . */ #if !(defined WCHAR_MIN && defined WCHAR_MAX) #error "WCHAR_MIN, WCHAR_MAX not defined in " #endif /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif #ifdef INT8_MAX int8_t a1 = INT8_MAX; int8_t a1min = INT8_MIN; #endif #ifdef INT16_MAX int16_t a2 = INT16_MAX; int16_t a2min = INT16_MIN; #endif #ifdef INT32_MAX int32_t a3 = INT32_MAX; int32_t a3min = INT32_MIN; #endif #ifdef INT64_MAX int64_t a4 = INT64_MAX; int64_t a4min = INT64_MIN; #endif #ifdef UINT8_MAX uint8_t b1 = UINT8_MAX; #else typedef int b1[(unsigned char) -1 != 255 ? 1 : -1]; #endif #ifdef UINT16_MAX uint16_t b2 = UINT16_MAX; #endif #ifdef UINT32_MAX uint32_t b3 = UINT32_MAX; #endif #ifdef UINT64_MAX uint64_t b4 = UINT64_MAX; #endif int_least8_t c1 = INT8_C (0x7f); int_least8_t c1max = INT_LEAST8_MAX; int_least8_t c1min = INT_LEAST8_MIN; int_least16_t c2 = INT16_C (0x7fff); int_least16_t c2max = INT_LEAST16_MAX; int_least16_t c2min = INT_LEAST16_MIN; int_least32_t c3 = INT32_C (0x7fffffff); int_least32_t c3max = INT_LEAST32_MAX; int_least32_t c3min = INT_LEAST32_MIN; int_least64_t c4 = INT64_C (0x7fffffffffffffff); int_least64_t c4max = INT_LEAST64_MAX; int_least64_t c4min = INT_LEAST64_MIN; uint_least8_t d1 = UINT8_C (0xff); uint_least8_t d1max = UINT_LEAST8_MAX; uint_least16_t d2 = UINT16_C (0xffff); uint_least16_t d2max = UINT_LEAST16_MAX; uint_least32_t d3 = UINT32_C (0xffffffff); uint_least32_t d3max = UINT_LEAST32_MAX; uint_least64_t d4 = UINT64_C (0xffffffffffffffff); uint_least64_t d4max = UINT_LEAST64_MAX; int_fast8_t e1 = INT_FAST8_MAX; int_fast8_t e1min = INT_FAST8_MIN; int_fast16_t e2 = INT_FAST16_MAX; int_fast16_t e2min = INT_FAST16_MIN; int_fast32_t e3 = INT_FAST32_MAX; int_fast32_t e3min = INT_FAST32_MIN; int_fast64_t e4 = INT_FAST64_MAX; int_fast64_t e4min = INT_FAST64_MIN; uint_fast8_t f1 = UINT_FAST8_MAX; uint_fast16_t f2 = UINT_FAST16_MAX; uint_fast32_t f3 = UINT_FAST32_MAX; uint_fast64_t f4 = UINT_FAST64_MAX; #ifdef INTPTR_MAX intptr_t g = INTPTR_MAX; intptr_t gmin = INTPTR_MIN; #endif #ifdef UINTPTR_MAX uintptr_t h = UINTPTR_MAX; #endif intmax_t i = INTMAX_MAX; uintmax_t j = UINTMAX_MAX; #include /* for CHAR_BIT */ #define TYPE_MINIMUM(t) \ ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1))) #define TYPE_MAXIMUM(t) \ ((t) ((t) 0 < (t) -1 ? (t) -1 : ~ (~ (t) 0 << (sizeof (t) * CHAR_BIT - 1)))) struct s { int check_PTRDIFF: PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t) && PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t) ? 1 : -1; /* Detect bug in FreeBSD 6.0 / ia64. */ int check_SIG_ATOMIC: SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t) && SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t) ? 1 : -1; int check_SIZE: SIZE_MAX == TYPE_MAXIMUM (size_t) ? 1 : -1; int check_WCHAR: WCHAR_MIN == TYPE_MINIMUM (wchar_t) && WCHAR_MAX == TYPE_MAXIMUM (wchar_t) ? 1 : -1; /* Detect bug in mingw. */ int check_WINT: WINT_MIN == TYPE_MINIMUM (wint_t) && WINT_MAX == TYPE_MAXIMUM (wint_t) ? 1 : -1; /* Detect bugs in glibc 2.4 and Solaris 10 stdint.h, among others. */ int check_UINT8_C: (-1 < UINT8_C (0)) == (-1 < (uint_least8_t) 0) ? 1 : -1; int check_UINT16_C: (-1 < UINT16_C (0)) == (-1 < (uint_least16_t) 0) ? 1 : -1; /* Detect bugs in OpenBSD 3.9 stdint.h. */ #ifdef UINT8_MAX int check_uint8: (uint8_t) -1 == UINT8_MAX ? 1 : -1; #endif #ifdef UINT16_MAX int check_uint16: (uint16_t) -1 == UINT16_MAX ? 1 : -1; #endif #ifdef UINT32_MAX int check_uint32: (uint32_t) -1 == UINT32_MAX ? 1 : -1; #endif #ifdef UINT64_MAX int check_uint64: (uint64_t) -1 == UINT64_MAX ? 1 : -1; #endif int check_uint_least8: (uint_least8_t) -1 == UINT_LEAST8_MAX ? 1 : -1; int check_uint_least16: (uint_least16_t) -1 == UINT_LEAST16_MAX ? 1 : -1; int check_uint_least32: (uint_least32_t) -1 == UINT_LEAST32_MAX ? 1 : -1; int check_uint_least64: (uint_least64_t) -1 == UINT_LEAST64_MAX ? 1 : -1; int check_uint_fast8: (uint_fast8_t) -1 == UINT_FAST8_MAX ? 1 : -1; int check_uint_fast16: (uint_fast16_t) -1 == UINT_FAST16_MAX ? 1 : -1; int check_uint_fast32: (uint_fast32_t) -1 == UINT_FAST32_MAX ? 1 : -1; int check_uint_fast64: (uint_fast64_t) -1 == UINT_FAST64_MAX ? 1 : -1; int check_uintptr: (uintptr_t) -1 == UINTPTR_MAX ? 1 : -1; int check_uintmax: (uintmax_t) -1 == UINTMAX_MAX ? 1 : -1; int check_size: (size_t) -1 == SIZE_MAX ? 1 : -1; }; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : if test "$cross_compiling" = yes; then : gl_cv_header_working_stdint_h=yes else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */ #define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ #include /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif #include #include #define MVAL(macro) MVAL1(macro) #define MVAL1(expression) #expression static const char *macro_values[] = { #ifdef INT8_MAX MVAL (INT8_MAX), #endif #ifdef INT16_MAX MVAL (INT16_MAX), #endif #ifdef INT32_MAX MVAL (INT32_MAX), #endif #ifdef INT64_MAX MVAL (INT64_MAX), #endif #ifdef UINT8_MAX MVAL (UINT8_MAX), #endif #ifdef UINT16_MAX MVAL (UINT16_MAX), #endif #ifdef UINT32_MAX MVAL (UINT32_MAX), #endif #ifdef UINT64_MAX MVAL (UINT64_MAX), #endif NULL }; int main () { const char **mv; for (mv = macro_values; *mv != NULL; mv++) { const char *value = *mv; /* Test whether it looks like a cast expression. */ if (strncmp (value, "((unsigned int)"/*)*/, 15) == 0 || strncmp (value, "((unsigned short)"/*)*/, 17) == 0 || strncmp (value, "((unsigned char)"/*)*/, 16) == 0 || strncmp (value, "((int)"/*)*/, 6) == 0 || strncmp (value, "((signed short)"/*)*/, 15) == 0 || strncmp (value, "((signed char)"/*)*/, 14) == 0) return 1; } return 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_header_working_stdint_h=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_stdint_h" >&5 $as_echo "$gl_cv_header_working_stdint_h" >&6; } fi if test "$gl_cv_header_working_stdint_h" = yes; then STDINT_H= else for ac_header in sys/inttypes.h sys/bitypes.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" eval as_val=\$$as_ac_Header if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done if test $ac_cv_header_sys_inttypes_h = yes; then HAVE_SYS_INTTYPES_H=1 else HAVE_SYS_INTTYPES_H=0 fi if test $ac_cv_header_sys_bitypes_h = yes; then HAVE_SYS_BITYPES_H=1 else HAVE_SYS_BITYPES_H=0 fi if test $APPLE_UNIVERSAL_BUILD = 0; then for gltype in ptrdiff_t size_t ; do { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bit size of $gltype" >&5 $as_echo_n "checking for bit size of $gltype... " >&6; } if { as_var=gl_cv_bitsizeof_${gltype}; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result" " /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif #include "; then : else result=unknown fi eval gl_cv_bitsizeof_${gltype}=\$result fi eval ac_res=\$gl_cv_bitsizeof_${gltype} { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval result=\$gl_cv_bitsizeof_${gltype} if test $result = unknown; then result=0 fi GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` cat >>confdefs.h <<_ACEOF #define BITSIZEOF_${GLTYPE} $result _ACEOF eval BITSIZEOF_${GLTYPE}=\$result done fi for gltype in sig_atomic_t wchar_t wint_t ; do { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bit size of $gltype" >&5 $as_echo_n "checking for bit size of $gltype... " >&6; } if { as_var=gl_cv_bitsizeof_${gltype}; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result" " /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif #include "; then : else result=unknown fi eval gl_cv_bitsizeof_${gltype}=\$result fi eval ac_res=\$gl_cv_bitsizeof_${gltype} { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval result=\$gl_cv_bitsizeof_${gltype} if test $result = unknown; then result=0 fi GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` cat >>confdefs.h <<_ACEOF #define BITSIZEOF_${GLTYPE} $result _ACEOF eval BITSIZEOF_${GLTYPE}=\$result done for gltype in sig_atomic_t wchar_t wint_t ; do { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gltype is signed" >&5 $as_echo_n "checking whether $gltype is signed... " >&6; } if { as_var=gl_cv_type_${gltype}_signed; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif int verify[2 * (($gltype) -1 < ($gltype) 0) - 1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : result=yes else result=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext eval gl_cv_type_${gltype}_signed=\$result fi eval ac_res=\$gl_cv_type_${gltype}_signed { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval result=\$gl_cv_type_${gltype}_signed GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` if test "$result" = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_SIGNED_${GLTYPE} 1 _ACEOF eval HAVE_SIGNED_${GLTYPE}=1 else eval HAVE_SIGNED_${GLTYPE}=0 fi done gl_cv_type_ptrdiff_t_signed=yes gl_cv_type_size_t_signed=no if test $APPLE_UNIVERSAL_BUILD = 0; then for gltype in ptrdiff_t size_t ; do { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $gltype integer literal suffix" >&5 $as_echo_n "checking for $gltype integer literal suffix... " >&6; } if { as_var=gl_cv_type_${gltype}_suffix; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else eval gl_cv_type_${gltype}_suffix=no eval result=\$gl_cv_type_${gltype}_signed if test "$result" = yes; then glsufu= else glsufu=u fi for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do case $glsuf in '') gltype1='int';; l) gltype1='long int';; ll) gltype1='long long int';; i64) gltype1='__int64';; u) gltype1='unsigned int';; ul) gltype1='unsigned long int';; ull) gltype1='unsigned long long int';; ui64)gltype1='unsigned __int64';; esac cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif extern $gltype foo; extern $gltype1 foo; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval gl_cv_type_${gltype}_suffix=\$glsuf fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext eval result=\$gl_cv_type_${gltype}_suffix test "$result" != no && break done fi eval ac_res=\$gl_cv_type_${gltype}_suffix { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` eval result=\$gl_cv_type_${gltype}_suffix test "$result" = no && result= eval ${GLTYPE}_SUFFIX=\$result cat >>confdefs.h <<_ACEOF #define ${GLTYPE}_SUFFIX $result _ACEOF done fi for gltype in sig_atomic_t wchar_t wint_t ; do { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $gltype integer literal suffix" >&5 $as_echo_n "checking for $gltype integer literal suffix... " >&6; } if { as_var=gl_cv_type_${gltype}_suffix; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else eval gl_cv_type_${gltype}_suffix=no eval result=\$gl_cv_type_${gltype}_signed if test "$result" = yes; then glsufu= else glsufu=u fi for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do case $glsuf in '') gltype1='int';; l) gltype1='long int';; ll) gltype1='long long int';; i64) gltype1='__int64';; u) gltype1='unsigned int';; ul) gltype1='unsigned long int';; ull) gltype1='unsigned long long int';; ui64)gltype1='unsigned __int64';; esac cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif extern $gltype foo; extern $gltype1 foo; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval gl_cv_type_${gltype}_suffix=\$glsuf fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext eval result=\$gl_cv_type_${gltype}_suffix test "$result" != no && break done fi eval ac_res=\$gl_cv_type_${gltype}_suffix { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` eval result=\$gl_cv_type_${gltype}_suffix test "$result" = no && result= eval ${GLTYPE}_SUFFIX=\$result cat >>confdefs.h <<_ACEOF #define ${GLTYPE}_SUFFIX $result _ACEOF done STDINT_H=stdint.h fi # Code from module stdio: if test $gl_cv_have_include_next = yes; then gl_cv_next_stdio_h='<'stdio.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 $as_echo_n "checking absolute name of ... " >&6; } if test "${gl_cv_next_stdio_h+set}" = set; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_stdio_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac gl_cv_next_stdio_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/stdio.h#{ s#.*"\(.*/stdio.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_stdio_h='<'stdio.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdio_h" >&5 $as_echo "$gl_cv_next_stdio_h" >&6; } fi NEXT_STDIO_H=$gl_cv_next_stdio_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'stdio.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_stdio_h fi NEXT_AS_FIRST_DIRECTIVE_STDIO_H=$gl_next_as_first_directive GNULIB_FPRINTF=1 GNULIB_PRINTF=1 GNULIB_VFPRINTF=1 GNULIB_VPRINTF=1 GNULIB_FPUTC=1 GNULIB_PUTC=1 GNULIB_PUTCHAR=1 GNULIB_FPUTS=1 GNULIB_PUTS=1 GNULIB_FWRITE=1 for gl_func in dprintf fpurge fseeko ftello getdelim getline popen renameat snprintf tmpfile vdprintf vsnprintf; do as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 $as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #undef $gl_func (void) $gl_func; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$as_gl_Symbol=yes" else eval "$as_gl_Symbol=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$as_gl_Symbol { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval as_val=\$$as_gl_Symbol if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 _ACEOF eval ac_cv_have_decl_$gl_func=yes fi done # Code from module stdlib: if test $gl_cv_have_include_next = yes; then gl_cv_next_stdlib_h='<'stdlib.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 $as_echo_n "checking absolute name of ... " >&6; } if test "${gl_cv_next_stdlib_h+set}" = set; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_stdlib_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac gl_cv_next_stdlib_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/stdlib.h#{ s#.*"\(.*/stdlib.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_stdlib_h='<'stdlib.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdlib_h" >&5 $as_echo "$gl_cv_next_stdlib_h" >&6; } fi NEXT_STDLIB_H=$gl_cv_next_stdlib_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'stdlib.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_stdlib_h fi NEXT_AS_FIRST_DIRECTIVE_STDLIB_H=$gl_next_as_first_directive for ac_header in random.h do : ac_fn_c_check_header_compile "$LINENO" "random.h" "ac_cv_header_random_h" "$ac_includes_default " if test "x$ac_cv_header_random_h" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_RANDOM_H 1 _ACEOF fi done if test $ac_cv_header_random_h = yes; then HAVE_RANDOM_H=1 else HAVE_RANDOM_H=0 fi ac_fn_c_check_type "$LINENO" "struct random_data" "ac_cv_type_struct_random_data" "#include #if HAVE_RANDOM_H # include #endif " if test "x$ac_cv_type_struct_random_data" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_RANDOM_DATA 1 _ACEOF else HAVE_STRUCT_RANDOM_DATA=0 fi for gl_func in atoll canonicalize_file_name getloadavg getsubopt grantpt mkdtemp mkostemp mkostemps mkstemp mkstemps ptsname random_r initstat_r srandom_r setstate_r realpath rpmatch setenv strtod strtoll strtoull unlockpt unsetenv; do as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 $as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #if HAVE_SYS_LOADAVG_H # include #endif #if HAVE_RANDOM_H # include #endif int main () { #undef $gl_func (void) $gl_func; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$as_gl_Symbol=yes" else eval "$as_gl_Symbol=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$as_gl_Symbol { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval as_val=\$$as_gl_Symbol if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 _ACEOF eval ac_cv_have_decl_$gl_func=yes fi done # Code from module strdup-posix: if test $ac_cv_func_strdup = yes; then if test $gl_cv_func_malloc_posix != yes; then REPLACE_STRDUP=1 gl_LIBOBJS="$gl_LIBOBJS strdup.$ac_objext" : fi else gl_LIBOBJS="$gl_LIBOBJS strdup.$ac_objext" : fi if test $ac_cv_have_decl_strdup = no; then HAVE_DECL_STRDUP=0 fi GNULIB_STRDUP=1 $as_echo "#define GNULIB_TEST_STRDUP 1" >>confdefs.h # Code from module streq: # Code from module strerror: if test $REPLACE_STRERROR = 1; then gl_LIBOBJS="$gl_LIBOBJS strerror.$ac_objext" cat >>confdefs.h <<_ACEOF #define REPLACE_STRERROR $REPLACE_STRERROR _ACEOF fi GNULIB_STRERROR=1 $as_echo "#define GNULIB_TEST_STRERROR 1" >>confdefs.h # Code from module string: # Code from module strndup: if test $ac_cv_have_decl_strndup = no; then HAVE_DECL_STRNDUP=0 fi if test $ac_cv_func_strndup = yes; then # AIX 4.3.3, AIX 5.1 have a function that fails to add the terminating '\0'. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strndup" >&5 $as_echo_n "checking for working strndup... " >&6; } if test "${gl_cv_func_strndup_works+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case $host_os in aix*) gl_cv_func_strndup_works="guessing no";; *) gl_cv_func_strndup_works="guessing yes";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { #ifndef HAVE_DECL_STRNDUP extern char *strndup (const char *, size_t); #endif char *s; s = strndup ("some longer string", 15); free (s); s = strndup ("shorter string", 13); return s[13] != '\0'; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_strndup_works=yes else gl_cv_func_strndup_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strndup_works" >&5 $as_echo "$gl_cv_func_strndup_works" >&6; } case $gl_cv_func_strndup_works in *no) REPLACE_STRNDUP=1 gl_LIBOBJS="$gl_LIBOBJS strndup.$ac_objext" ;; esac else gl_LIBOBJS="$gl_LIBOBJS strndup.$ac_objext" fi GNULIB_STRNDUP=1 $as_echo "#define GNULIB_TEST_STRNDUP 1" >>confdefs.h # Code from module strnlen: if test $ac_cv_have_decl_strnlen = no; then HAVE_DECL_STRNLEN=0 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strnlen" >&5 $as_echo_n "checking for working strnlen... " >&6; } if test "${ac_cv_func_strnlen_working+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : ac_cv_func_strnlen_working=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { #define S "foobar" #define S_LEN (sizeof S - 1) /* At least one implementation is buggy: that of AIX 4.3 would give strnlen (S, 1) == 3. */ int i; for (i = 0; i < S_LEN + 1; ++i) { int expected = i <= S_LEN ? i : S_LEN; if (strnlen (S, i) != expected) return 1; } return 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_strnlen_working=yes else ac_cv_func_strnlen_working=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_strnlen_working" >&5 $as_echo "$ac_cv_func_strnlen_working" >&6; } test $ac_cv_func_strnlen_working = no && gl_LIBOBJS="$gl_LIBOBJS strnlen.$ac_objext" if test $ac_cv_func_strnlen_working = no; then REPLACE_STRNLEN=1 fi fi if test $HAVE_DECL_STRNLEN = 0 || test $REPLACE_STRNLEN = 1; then gl_LIBOBJS="$gl_LIBOBJS strnlen.$ac_objext" : fi GNULIB_STRNLEN=1 $as_echo "#define GNULIB_TEST_STRNLEN 1" >>confdefs.h # Code from module sys_stat: if test $gl_cv_have_include_next = yes; then gl_cv_next_sys_stat_h='<'sys/stat.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 $as_echo_n "checking absolute name of ... " >&6; } if test "${gl_cv_next_sys_stat_h+set}" = set; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_sys_stat_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac gl_cv_next_sys_stat_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/sys/stat.h#{ s#.*"\(.*/sys/stat.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_sys_stat_h='<'sys/stat.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_stat_h" >&5 $as_echo "$gl_cv_next_sys_stat_h" >&6; } fi NEXT_SYS_STAT_H=$gl_cv_next_sys_stat_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'sys/stat.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_sys_stat_h fi NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H=$gl_next_as_first_directive ac_fn_c_check_type "$LINENO" "nlink_t" "ac_cv_type_nlink_t" "#include #include " if test "x$ac_cv_type_nlink_t" = x""yes; then : else $as_echo "#define nlink_t int" >>confdefs.h fi for gl_func in fchmodat fstatat futimens lchmod lstat mkdirat mkfifo mkfifoat mknod mknodat stat utimensat; do as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 $as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #undef $gl_func (void) $gl_func; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$as_gl_Symbol=yes" else eval "$as_gl_Symbol=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$as_gl_Symbol { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval as_val=\$$as_gl_Symbol if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 _ACEOF eval ac_cv_have_decl_$gl_func=yes fi done # Code from module sys_time: # Code from module tempname: gl_LIBOBJS="$gl_LIBOBJS tempname.$ac_objext" : # Code from module time: # Code from module unistd: if test $gl_cv_have_include_next = yes; then gl_cv_next_unistd_h='<'unistd.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 $as_echo_n "checking absolute name of ... " >&6; } if test "${gl_cv_next_unistd_h+set}" = set; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_unistd_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac gl_cv_next_unistd_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/unistd.h#{ s#.*"\(.*/unistd.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_unistd_h='<'unistd.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_unistd_h" >&5 $as_echo "$gl_cv_next_unistd_h" >&6; } fi NEXT_UNISTD_H=$gl_cv_next_unistd_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'unistd.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_unistd_h fi NEXT_AS_FIRST_DIRECTIVE_UNISTD_H=$gl_next_as_first_directive if test $ac_cv_header_unistd_h = yes; then HAVE_UNISTD_H=1 else HAVE_UNISTD_H=0 fi for gl_func in chown dup2 dup3 environ euidaccess faccessat fchdir fchownat fsync ftruncate getcwd getdomainname getdtablesize getgroups gethostname getlogin getlogin_r getpagesize getusershell setusershell endusershell lchown link linkat lseek pipe2 pread pwrite readlink readlinkat rmdir sleep symlink symlinkat ttyname_r unlink unlinkat usleep; do as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 $as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include /* Some systems declare various items in the wrong headers. */ #ifndef __GLIBC__ # include # include # include # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ # include # endif #endif int main () { #undef $gl_func (void) $gl_func; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$as_gl_Symbol=yes" else eval "$as_gl_Symbol=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$as_gl_Symbol { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval as_val=\$$as_gl_Symbol if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 _ACEOF eval ac_cv_have_decl_$gl_func=yes fi done # Code from module unlink: { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether unlink honors trailing slashes" >&5 $as_echo_n "checking whether unlink honors trailing slashes... " >&6; } if test "${gl_cv_func_unlink_honors_slashes+set}" = set; then : $as_echo_n "(cached) " >&6 else touch conftest.file # Assume that if we have lstat, we can also check symlinks. if test $ac_cv_func_lstat = yes; then ln -s conftest.file conftest.lnk fi if test "$cross_compiling" = yes; then : gl_cv_func_unlink_honors_slashes="guessing no" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { if (!unlink ("conftest.file/") || errno != ENOTDIR) return 1; #if HAVE_LSTAT if (!unlink ("conftest.lnk/") || errno != ENOTDIR) return 2; #endif ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_unlink_honors_slashes=yes else gl_cv_func_unlink_honors_slashes=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f conftest.file conftest.lnk fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_unlink_honors_slashes" >&5 $as_echo "$gl_cv_func_unlink_honors_slashes" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether unlink of a parent directory fails is it should" >&5 $as_echo_n "checking whether unlink of a parent directory fails is it should... " >&6; } if test "${gl_cv_func_unlink_parent_fails+set}" = set; then : $as_echo_n "(cached) " >&6 else case "$host_os" in darwin*) if { # Use the mktemp program if available. If not available, hide the error # message. tmp=`(umask 077 && mktemp -d /tmp/gtXXXXXX) 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { # Use a simple mkdir command. It is guaranteed to fail if the directory # already exists. $RANDOM is bash specific and expands to empty in shells # other than bash, ksh and zsh. Its use does not increase security; # rather, it minimizes the probability of failure in a very cluttered /tmp # directory. tmp=/tmp/gt$$-$RANDOM (umask 077 && mkdir "$tmp") }; then mkdir "$tmp/subdir" GL_SUBDIR_FOR_UNLINK="$tmp/subdir" export GL_SUBDIR_FOR_UNLINK if test "$cross_compiling" = yes; then : gl_cv_func_unlink_parent_fails="guessing no" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { if (chdir (getenv ("GL_SUBDIR_FOR_UNLINK")) != 0) return 1; return unlink ("..") == 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_unlink_parent_fails=yes else gl_cv_func_unlink_parent_fails=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi unset GL_SUBDIR_FOR_UNLINK rm -rf "$tmp" else gl_cv_func_unlink_parent_fails="guessing no" fi ;; *) gl_cv_func_unlink_parent_fails="guessing yes" ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_unlink_parent_fails" >&5 $as_echo "$gl_cv_func_unlink_parent_fails" >&6; } case "$gl_cv_func_unlink_parent_fails" in *no) $as_echo "#define UNLINK_PARENT_BUG 1" >>confdefs.h ;; esac if test "$gl_cv_func_unlink_honors_slashes" != yes \ || { case "$gl_cv_func_unlink_parent_fails" in *yes) false;; *no) true;; esac }; then REPLACE_UNLINK=1 gl_LIBOBJS="$gl_LIBOBJS unlink.$ac_objext" fi GNULIB_UNLINK=1 $as_echo "#define GNULIB_TEST_UNLINK 1" >>confdefs.h # Code from module update-copyright: # Code from module useless-if-before-free: # Code from module usleep: ac_fn_c_check_type "$LINENO" "useconds_t" "ac_cv_type_useconds_t" "$ac_includes_default" if test "x$ac_cv_type_useconds_t" = x""yes; then : else $as_echo "#define useconds_t unsigned int" >>confdefs.h fi if test $ac_cv_func_usleep = no; then HAVE_USLEEP=0 gl_LIBOBJS="$gl_LIBOBJS usleep.$ac_objext" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether usleep allows large arguments" >&5 $as_echo_n "checking whether usleep allows large arguments... " >&6; } if test "${gl_cv_func_usleep_works+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : gl_cv_func_usleep_works="guessing no" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { return !!usleep (1000000); ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_usleep_works=yes else gl_cv_func_usleep_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_usleep_works" >&5 $as_echo "$gl_cv_func_usleep_works" >&6; } if test "$gl_cv_func_usleep_works" != yes; then REPLACE_USLEEP=1 gl_LIBOBJS="$gl_LIBOBJS usleep.$ac_objext" fi fi GNULIB_USLEEP=1 $as_echo "#define GNULIB_TEST_USLEEP 1" >>confdefs.h # Code from module vc-list-files: # Code from module verify: # Code from module version-etc: # Check whether --with-packager was given. if test "${with_packager+set}" = set; then : withval=$with_packager; case $withval in yes|no) ;; *) cat >>confdefs.h <<_ACEOF #define PACKAGE_PACKAGER "$withval" _ACEOF ;; esac fi # Check whether --with-packager-version was given. if test "${with_packager_version+set}" = set; then : withval=$with_packager_version; case $withval in yes|no) ;; *) cat >>confdefs.h <<_ACEOF #define PACKAGE_PACKAGER_VERSION "$withval" _ACEOF ;; esac fi # Check whether --with-packager-bug-reports was given. if test "${with_packager_bug_reports+set}" = set; then : withval=$with_packager_bug_reports; case $withval in yes|no) ;; *) cat >>confdefs.h <<_ACEOF #define PACKAGE_PACKAGER_BUG_REPORTS "$withval" _ACEOF ;; esac fi if test "X$with_packager" = "X" && \ test "X$with_packager_version$with_packager_bug_reports" != "X" then as_fn_error $? "The --with-packager-{bug-reports,version} options require --with-packager" "$LINENO" 5 fi # Code from module version-etc-fsf: # Code from module warn-on-use: # Code from module warnings: # Code from module wchar: if test $gl_cv_have_include_next = yes; then gl_cv_next_wchar_h='<'wchar.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 $as_echo_n "checking absolute name of ... " >&6; } if test "${gl_cv_next_wchar_h+set}" = set; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_wchar_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac gl_cv_next_wchar_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/wchar.h#{ s#.*"\(.*/wchar.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_wchar_h='<'wchar.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_wchar_h" >&5 $as_echo "$gl_cv_next_wchar_h" >&6; } fi NEXT_WCHAR_H=$gl_cv_next_wchar_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'wchar.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_wchar_h fi NEXT_AS_FIRST_DIRECTIVE_WCHAR_H=$gl_next_as_first_directive if test $ac_cv_header_wchar_h = yes; then HAVE_WCHAR_H=1 else HAVE_WCHAR_H=0 fi if test $gt_cv_c_wint_t = yes; then HAVE_WINT_T=1 else HAVE_WINT_T=0 fi for gl_func in btowc wctob mbsinit mbrtowc mbrlen mbsrtowcs mbsnrtowcs wcrtomb wcsrtombs wcsnrtombs wcwidth; do as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 $as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Some systems require additional headers. */ #ifndef __GLIBC__ # include # include # include #endif #include int main () { #undef $gl_func (void) $gl_func; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$as_gl_Symbol=yes" else eval "$as_gl_Symbol=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$as_gl_Symbol { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval as_val=\$$as_gl_Symbol if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 _ACEOF eval ac_cv_have_decl_$gl_func=yes fi done # Code from module wcrtomb: if test $ac_cv_func_mbsinit = yes && test $ac_cv_func_mbrtowc = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles incomplete characters" >&5 $as_echo_n "checking whether mbrtowc handles incomplete characters... " >&6; } if test "${gl_cv_func_mbrtowc_incomplete_state+set}" = set; then : $as_echo_n "(cached) " >&6 else case "$host_os" in # Guess no on AIX and OSF/1. osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;; esac if test $LOCALE_JA != none; then if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include int main () { if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) { const char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */ mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) if (mbsinit (&state)) return 1; } return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_mbrtowc_incomplete_state=yes else gl_cv_func_mbrtowc_incomplete_state=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_incomplete_state" >&5 $as_echo "$gl_cv_func_mbrtowc_incomplete_state" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc works as well as mbtowc" >&5 $as_echo_n "checking whether mbrtowc works as well as mbtowc... " >&6; } if test "${gl_cv_func_mbrtowc_sanitycheck+set}" = set; then : $as_echo_n "(cached) " >&6 else case "$host_os" in # Guess no on Solaris 8. solaris2.8) gl_cv_func_mbrtowc_sanitycheck="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrtowc_sanitycheck="guessing yes" ;; esac if test $LOCALE_ZH_CN != none; then if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { /* This fails on Solaris 8: mbrtowc returns 2, and sets wc to 0x00F0. mbtowc returns 4 (correct) and sets wc to 0x5EDC. */ if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) { char input[] = "B\250\271\201\060\211\070er"; /* "Büßer" */ mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, input + 3, 6, &state) != 4 && mbtowc (&wc, input + 3, 6) == 4) return 1; } return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_mbrtowc_sanitycheck=yes else gl_cv_func_mbrtowc_sanitycheck=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_sanitycheck" >&5 $as_echo "$gl_cv_func_mbrtowc_sanitycheck" >&6; } REPLACE_MBSTATE_T=0 case "$gl_cv_func_mbrtowc_incomplete_state" in *yes) ;; *) REPLACE_MBSTATE_T=1 ;; esac case "$gl_cv_func_mbrtowc_sanitycheck" in *yes) ;; *) REPLACE_MBSTATE_T=1 ;; esac else REPLACE_MBSTATE_T=1 fi if test $REPLACE_MBSTATE_T = 1; then : fi if test $ac_cv_func_wcrtomb = no; then HAVE_WCRTOMB=0 else if test $REPLACE_MBSTATE_T = 1; then REPLACE_WCRTOMB=1 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether wcrtomb return value is correct" >&5 $as_echo_n "checking whether wcrtomb return value is correct... " >&6; } if test "${gl_cv_func_wcrtomb_retval+set}" = set; then : $as_echo_n "(cached) " >&6 else case "$host_os" in # Guess no on AIX 4, OSF/1 and Solaris. aix4* | osf* | solaris*) gl_cv_func_wcrtomb_retval="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_wcrtomb_retval="guessing yes" ;; esac if test $LOCALE_FR != none || test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none || test $LOCALE_ZH_CN != none; then if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { if (setlocale (LC_ALL, "$LOCALE_FR") != NULL) { if (wcrtomb (NULL, 0, NULL) != 1) return 1; } if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) { if (wcrtomb (NULL, 0, NULL) != 1) return 1; } if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) { if (wcrtomb (NULL, 0, NULL) != 1) return 1; } if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) { if (wcrtomb (NULL, 0, NULL) != 1) return 1; } return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_wcrtomb_retval=yes else gl_cv_func_wcrtomb_retval=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_wcrtomb_retval" >&5 $as_echo "$gl_cv_func_wcrtomb_retval" >&6; } case "$gl_cv_func_wcrtomb_retval" in *yes) ;; *) REPLACE_WCRTOMB=1 ;; esac fi fi if test $HAVE_WCRTOMB = 0 || test $REPLACE_WCRTOMB = 1; then : gl_LIBOBJS="$gl_LIBOBJS wcrtomb.$ac_objext" : fi GNULIB_WCRTOMB=1 $as_echo "#define GNULIB_TEST_WCRTOMB 1" >>confdefs.h # Code from module wctype: if test $ac_cv_func_iswcntrl = yes; then HAVE_ISWCNTRL=1 else HAVE_ISWCNTRL=0 fi if test $ac_cv_func_iswblank = yes; then HAVE_ISWBLANK=1 else HAVE_ISWBLANK=0 fi if test $gt_cv_c_wint_t = yes; then HAVE_WINT_T=1 else HAVE_WINT_T=0 fi if test $ac_cv_header_wctype_h = yes; then if test $ac_cv_func_iswcntrl = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iswcntrl works" >&5 $as_echo_n "checking whether iswcntrl works... " >&6; } if test "${gl_cv_func_iswcntrl_works+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #if __GNU_LIBRARY__ == 1 Linux libc5 i18n is broken. #endif int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_func_iswcntrl_works=yes else gl_cv_func_iswcntrl_works=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include #include int main () { return iswprint ('x') == 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_iswcntrl_works=yes else gl_cv_func_iswcntrl_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_iswcntrl_works" >&5 $as_echo "$gl_cv_func_iswcntrl_works" >&6; } fi if test $gl_cv_have_include_next = yes; then gl_cv_next_wctype_h='<'wctype.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 $as_echo_n "checking absolute name of ... " >&6; } if test "${gl_cv_next_wctype_h+set}" = set; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_wctype_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac gl_cv_next_wctype_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/wctype.h#{ s#.*"\(.*/wctype.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_wctype_h='<'wctype.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_wctype_h" >&5 $as_echo "$gl_cv_next_wctype_h" >&6; } fi NEXT_WCTYPE_H=$gl_cv_next_wctype_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'wctype.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_wctype_h fi NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H=$gl_next_as_first_directive HAVE_WCTYPE_H=1 else HAVE_WCTYPE_H=0 fi if test "$gl_cv_func_iswcntrl_works" = no; then REPLACE_ISWCNTRL=1 else REPLACE_ISWCNTRL=0 fi # Code from module xalloc: gl_LIBOBJS="$gl_LIBOBJS xmalloc.$ac_objext" : : # Code from module xalloc-die: # Code from module xstrndup: : # Code from module xstrtol: gl_LIBOBJS="$gl_LIBOBJS xstrtol.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS xstrtoul.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS xstrtol-error.$ac_objext" # End of code from modules gltests_libdeps= gltests_ltlibdeps= gl_source_base='gnulib-tests' gltests_WITNESS=IN_`echo "${PACKAGE-$PACKAGE_TARNAME}" | LC_ALL=C tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | LC_ALL=C sed -e 's/[^A-Z0-9_]/_/g'`_GNULIB_TESTS gl_module_indicator_condition=$gltests_WITNESS { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5 $as_echo_n "checking for a traditional french locale... " >&6; } if test "${gt_cv_locale_fr+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { /* Check whether the given locale name is recognized by the system. */ if (setlocale (LC_ALL, "") == NULL) return 1; /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only one byte long. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1; /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO-8859-1 else # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name. if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO8859-1 else # Test for the HP-UX locale name. if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.iso88591 else # Test for the Solaris 7 locale name. if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr else # None found. gt_cv_locale_fr=none fi fi fi fi fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5 $as_echo "$gt_cv_locale_fr" >&6; } LOCALE_FR=$gt_cv_locale_fr { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5 $as_echo_n "checking for a french Unicode locale... " >&6; } if test "${gt_cv_locale_fr_utf8+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl imitates locale dependent behaviour by looking at the environment variables, and all locales use the UTF-8 encoding. */ #if !(defined __BEOS__ || defined __HAIKU__) /* Check whether the given locale name is recognized by the system. */ if (setlocale (LC_ALL, "") == NULL) return 1; /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ # if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } # endif # ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; # endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is two bytes long, with UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 4 || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v') return 1; #endif /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr_FR.UTF-8 else # Test for the Solaris 7 locale name. if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr.UTF-8 else # None found. gt_cv_locale_fr_utf8=none fi fi fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5 $as_echo "$gt_cv_locale_fr_utf8" >&6; } LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5 $as_echo_n "checking for a traditional french locale... " >&6; } if test "${gt_cv_locale_fr+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { /* Check whether the given locale name is recognized by the system. */ if (setlocale (LC_ALL, "") == NULL) return 1; /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only one byte long. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1; /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO-8859-1 else # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name. if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO8859-1 else # Test for the HP-UX locale name. if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.iso88591 else # Test for the Solaris 7 locale name. if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr else # None found. gt_cv_locale_fr=none fi fi fi fi fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5 $as_echo "$gt_cv_locale_fr" >&6; } LOCALE_FR=$gt_cv_locale_fr { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a turkish Unicode locale" >&5 $as_echo_n "checking for a turkish Unicode locale... " >&6; } if test "${gt_cv_locale_tr_utf8+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { /* On BeOS, locales are not implemented in libc. Rather, libintl imitates locale dependent behaviour by looking at the environment variables, and all locales use the UTF-8 encoding. But BeOS does not implement the Turkish upper-/lowercase mappings. Therefore, let this program return 1 on BeOS. */ /* Check whether the given locale name is recognized by the system. */ if (setlocale (LC_ALL, "") == NULL) return 1; /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On MacOS X 10.3.5 (Darwin 7.5) in the tr_TR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in the abbreviation of the eighth month, the second character (should be U+011F: LATIN SMALL LETTER G WITH BREVE) is two bytes long, with UTF-8 encoding. */ t.tm_year = 1992 - 1900; t.tm_mon = 8 - 1; t.tm_mday = 19; if (strftime (buf, sizeof (buf), "%b", &t) < 4 || buf[1] != (char) 0xc4 || buf[2] != (char) 0x9f) return 1; /* Check whether the upper-/lowercase mappings are as expected for Turkish. */ if (towupper ('i') != 0x0130 || towlower (0x0130) != 'i' || towupper(0x0131) != 'I' || towlower ('I') != 0x0131) return 1; return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=tr_TR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_tr_utf8=tr_TR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=tr_TR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_tr_utf8=tr_TR.UTF-8 else # Test for the Solaris 7 locale name. if (LC_ALL=tr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_tr_utf8=tr.UTF-8 else # None found. gt_cv_locale_tr_utf8=none fi fi fi else gt_cv_locale_tr_utf8=none fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_tr_utf8" >&5 $as_echo "$gt_cv_locale_tr_utf8" >&6; } LOCALE_TR_UTF8=$gt_cv_locale_tr_utf8 if test $ac_cv_func_dup2 = no; then HAVE_DUP2=0 gltests_LIBOBJS="$gltests_LIBOBJS dup2.$ac_objext" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether dup2 works" >&5 $as_echo_n "checking whether dup2 works... " >&6; } if test "${gl_cv_func_dup2_works+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in mingw*) # on this platform, dup2 always returns 0 for success gl_cv_func_dup2_works=no;; cygwin*) # on cygwin 1.5.x, dup2(1,1) returns 0 gl_cv_func_dup2_works=no;; linux*) # On linux between 2008-07-27 and 2009-05-11, dup2 of a # closed fd may yield -EBADF instead of -1 / errno=EBADF. gl_cv_func_dup2_works=no;; freebsd*) # on FreeBSD 6.1, dup2(1,1000000) gives EMFILE, not EBADF. gl_cv_func_dup2_works=no;; *) gl_cv_func_dup2_works=yes;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { if (dup2 (1, 1) == 0) return 1; close (0); if (dup2 (0, 0) != -1) return 2; /* Many gnulib modules require POSIX conformance of EBADF. */ if (dup2 (1, 1000000) == -1 && errno != EBADF) return 3; return 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_dup2_works=yes else gl_cv_func_dup2_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_dup2_works" >&5 $as_echo "$gl_cv_func_dup2_works" >&6; } if test "$gl_cv_func_dup2_works" = no; then if test $ac_cv_func_dup2 = yes; then REPLACE_DUP2=1 fi gltests_LIBOBJS="$gltests_LIBOBJS dup2.$ac_objext" fi fi GNULIB_DUP2=$gl_module_indicator_condition $as_echo "#define GNULIB_TEST_DUP2 1" >>confdefs.h GNULIB_ENVIRON=$gl_module_indicator_condition $as_echo "#define GNULIB_TEST_ENVIRON 1" >>confdefs.h if test $gl_cv_have_include_next = yes; then gl_cv_next_fcntl_h='<'fcntl.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 $as_echo_n "checking absolute name of ... " >&6; } if test "${gl_cv_next_fcntl_h+set}" = set; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_fcntl_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac gl_cv_next_fcntl_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/fcntl.h#{ s#.*"\(.*/fcntl.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_fcntl_h='<'fcntl.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_fcntl_h" >&5 $as_echo "$gl_cv_next_fcntl_h" >&6; } fi NEXT_FCNTL_H=$gl_cv_next_fcntl_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'fcntl.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_fcntl_h fi NEXT_AS_FIRST_DIRECTIVE_FCNTL_H=$gl_next_as_first_directive for gl_func in fcntl openat; do as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 $as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #undef $gl_func (void) $gl_func; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$as_gl_Symbol=yes" else eval "$as_gl_Symbol=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$as_gl_Symbol { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval as_val=\$$as_gl_Symbol if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 _ACEOF eval ac_cv_have_decl_$gl_func=yes fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5 $as_echo_n "checking for a traditional french locale... " >&6; } if test "${gt_cv_locale_fr+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { /* Check whether the given locale name is recognized by the system. */ if (setlocale (LC_ALL, "") == NULL) return 1; /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only one byte long. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1; /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO-8859-1 else # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name. if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO8859-1 else # Test for the HP-UX locale name. if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.iso88591 else # Test for the Solaris 7 locale name. if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr else # None found. gt_cv_locale_fr=none fi fi fi fi fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5 $as_echo "$gt_cv_locale_fr" >&6; } LOCALE_FR=$gt_cv_locale_fr { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5 $as_echo_n "checking for a french Unicode locale... " >&6; } if test "${gt_cv_locale_fr_utf8+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl imitates locale dependent behaviour by looking at the environment variables, and all locales use the UTF-8 encoding. */ #if !(defined __BEOS__ || defined __HAIKU__) /* Check whether the given locale name is recognized by the system. */ if (setlocale (LC_ALL, "") == NULL) return 1; /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ # if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } # endif # ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; # endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is two bytes long, with UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 4 || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v') return 1; #endif /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr_FR.UTF-8 else # Test for the Solaris 7 locale name. if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr.UTF-8 else # None found. gt_cv_locale_fr_utf8=none fi fi fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5 $as_echo "$gt_cv_locale_fr_utf8" >&6; } LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional japanese locale" >&5 $as_echo_n "checking for a traditional japanese locale... " >&6; } if test "${gt_cv_locale_ja+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { const char *p; /* Check whether the given locale name is recognized by the system. */ if (setlocale (LC_ALL, "") == NULL) return 1; /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether MB_CUR_MAX is > 1. This excludes the dysfunctional locales on Cygwin 1.5.x. */ if (MB_CUR_MAX == 1) return 1; /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; for (p = buf; *p != '\0'; p++) if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) return 1; return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the AIX locale name. if (LC_ALL=ja_JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja_JP else # Test for the locale name with explicit encoding suffix. if (LC_ALL=ja_JP.EUC-JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja_JP.EUC-JP else # Test for the HP-UX, OSF/1, NetBSD locale name. if (LC_ALL=ja_JP.eucJP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja_JP.eucJP else # Test for the IRIX, FreeBSD locale name. if (LC_ALL=ja_JP.EUC LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja_JP.EUC else # Test for the Solaris 7 locale name. if (LC_ALL=ja LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja else # Special test for NetBSD 1.6. if test -f /usr/share/locale/ja_JP.eucJP/LC_CTYPE; then gt_cv_locale_ja=ja_JP.eucJP else # None found. gt_cv_locale_ja=none fi fi fi fi fi fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_ja" >&5 $as_echo "$gt_cv_locale_ja" >&6; } LOCALE_JA=$gt_cv_locale_ja { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a transitional chinese locale" >&5 $as_echo_n "checking for a transitional chinese locale... " >&6; } if test "${gt_cv_locale_zh_CN+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { const char *p; /* Check whether the given locale name is recognized by the system. */ if (setlocale (LC_ALL, "") == NULL) return 1; /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; for (p = buf; *p != '\0'; p++) if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) return 1; /* Check whether a typical GB18030 multibyte sequence is recognized as a single wide character. This excludes the GB2312 and GBK encodings. */ if (mblen ("\203\062\332\066", 5) != 4) return 1; return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the locale name without encoding suffix. if (LC_ALL=zh_CN LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_zh_CN=zh_CN else # Test for the locale name with explicit encoding suffix. if (LC_ALL=zh_CN.GB18030 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_zh_CN=zh_CN.GB18030 else # None found. gt_cv_locale_zh_CN=none fi fi else # If there was a link error, due to mblen(), the system is so old that # it certainly doesn't have a chinese locale. gt_cv_locale_zh_CN=none fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_zh_CN" >&5 $as_echo "$gt_cv_locale_zh_CN" >&6; } LOCALE_ZH_CN=$gt_cv_locale_zh_CN { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5 $as_echo_n "checking for a french Unicode locale... " >&6; } if test "${gt_cv_locale_fr_utf8+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl imitates locale dependent behaviour by looking at the environment variables, and all locales use the UTF-8 encoding. */ #if !(defined __BEOS__ || defined __HAIKU__) /* Check whether the given locale name is recognized by the system. */ if (setlocale (LC_ALL, "") == NULL) return 1; /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ # if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } # endif # ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; # endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is two bytes long, with UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 4 || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v') return 1; #endif /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr_FR.UTF-8 else # Test for the Solaris 7 locale name. if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr.UTF-8 else # None found. gt_cv_locale_fr_utf8=none fi fi fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5 $as_echo "$gt_cv_locale_fr_utf8" >&6; } LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5 $as_echo_n "checking for a traditional french locale... " >&6; } if test "${gt_cv_locale_fr+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { /* Check whether the given locale name is recognized by the system. */ if (setlocale (LC_ALL, "") == NULL) return 1; /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only one byte long. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1; /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO-8859-1 else # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name. if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO8859-1 else # Test for the HP-UX locale name. if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.iso88591 else # Test for the Solaris 7 locale name. if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr else # None found. gt_cv_locale_fr=none fi fi fi fi fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5 $as_echo "$gt_cv_locale_fr" >&6; } LOCALE_FR=$gt_cv_locale_fr { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5 $as_echo_n "checking for a french Unicode locale... " >&6; } if test "${gt_cv_locale_fr_utf8+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl imitates locale dependent behaviour by looking at the environment variables, and all locales use the UTF-8 encoding. */ #if !(defined __BEOS__ || defined __HAIKU__) /* Check whether the given locale name is recognized by the system. */ if (setlocale (LC_ALL, "") == NULL) return 1; /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ # if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } # endif # ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; # endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is two bytes long, with UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 4 || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v') return 1; #endif /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr_FR.UTF-8 else # Test for the Solaris 7 locale name. if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr.UTF-8 else # None found. gt_cv_locale_fr_utf8=none fi fi fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5 $as_echo "$gt_cv_locale_fr_utf8" >&6; } LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8 case "$host_os" in mingw* | pw*) REPLACE_OPEN=1 gltests_LIBOBJS="$gltests_LIBOBJS open.$ac_objext" : ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether open recognizes a trailing slash" >&5 $as_echo_n "checking whether open recognizes a trailing slash... " >&6; } if test "${gl_cv_func_open_slash+set}" = set; then : $as_echo_n "(cached) " >&6 else # Assume that if we have lstat, we can also check symlinks. if test $ac_cv_func_lstat = yes; then touch conftest.tmp ln -s conftest.tmp conftest.lnk fi if test "$cross_compiling" = yes; then : case "$host_os" in freebsd*) gl_cv_func_open_slash="guessing no" ;; solaris2.[0-9]*) gl_cv_func_open_slash="guessing no" ;; hpux*) gl_cv_func_open_slash="guessing no" ;; *) gl_cv_func_open_slash="guessing yes" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #if HAVE_UNISTD_H # include #endif int main () { #if HAVE_LSTAT if (open ("conftest.lnk/", O_RDONLY) != -1) return 2; #endif return open ("conftest.sl/", O_CREAT, 0600) >= 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_open_slash=yes else gl_cv_func_open_slash=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f conftest.sl conftest.tmp conftest.lnk fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_open_slash" >&5 $as_echo "$gl_cv_func_open_slash" >&6; } case "$gl_cv_func_open_slash" in *no) $as_echo "#define OPEN_TRAILING_SLASH_BUG 1" >>confdefs.h REPLACE_OPEN=1 gltests_LIBOBJS="$gltests_LIBOBJS open.$ac_objext" : ;; esac ;; esac GNULIB_OPEN=$gl_module_indicator_condition $as_echo "#define GNULIB_TEST_OPEN 1" >>confdefs.h for ac_func in getppriv do : ac_fn_c_check_func "$LINENO" "getppriv" "ac_cv_func_getppriv" if test "x$ac_cv_func_getppriv" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_GETPPRIV 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for putenv compatible with GNU and SVID" >&5 $as_echo_n "checking for putenv compatible with GNU and SVID... " >&6; } if test "${gl_cv_func_svid_putenv+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : gl_cv_func_svid_putenv=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { /* Put it in env. */ if (putenv ("CONFTEST_putenv=val")) return 1; /* Try to remove it. */ if (putenv ("CONFTEST_putenv")) return 1; /* Make sure it was deleted. */ if (getenv ("CONFTEST_putenv") != 0) return 1; return 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_svid_putenv=yes else gl_cv_func_svid_putenv=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_svid_putenv" >&5 $as_echo "$gl_cv_func_svid_putenv" >&6; } if test $gl_cv_func_svid_putenv = no; then REPLACE_PUTENV=1 gltests_LIBOBJS="$gltests_LIBOBJS putenv.$ac_objext" fi GNULIB_PUTENV=$gl_module_indicator_condition $as_echo "#define GNULIB_TEST_PUTENV 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5 $as_echo_n "checking for a traditional french locale... " >&6; } if test "${gt_cv_locale_fr+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { /* Check whether the given locale name is recognized by the system. */ if (setlocale (LC_ALL, "") == NULL) return 1; /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only one byte long. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1; /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO-8859-1 else # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name. if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO8859-1 else # Test for the HP-UX locale name. if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.iso88591 else # Test for the Solaris 7 locale name. if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr else # None found. gt_cv_locale_fr=none fi fi fi fi fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5 $as_echo "$gt_cv_locale_fr" >&6; } LOCALE_FR=$gt_cv_locale_fr { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5 $as_echo_n "checking for a french Unicode locale... " >&6; } if test "${gt_cv_locale_fr_utf8+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl imitates locale dependent behaviour by looking at the environment variables, and all locales use the UTF-8 encoding. */ #if !(defined __BEOS__ || defined __HAIKU__) /* Check whether the given locale name is recognized by the system. */ if (setlocale (LC_ALL, "") == NULL) return 1; /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ # if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } # endif # ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; # endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is two bytes long, with UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 4 || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v') return 1; #endif /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr_FR.UTF-8 else # Test for the Solaris 7 locale name. if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr.UTF-8 else # None found. gt_cv_locale_fr_utf8=none fi fi fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5 $as_echo "$gt_cv_locale_fr_utf8" >&6; } LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8 if test $HAVE_SETENV$REPLACE_SETENV != 10; then gltests_LIBOBJS="$gltests_LIBOBJS setenv.$ac_objext" fi GNULIB_SETENV=$gl_module_indicator_condition $as_echo "#define GNULIB_TEST_SETENV 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wchar_t" >&5 $as_echo_n "checking for wchar_t... " >&6; } if test "${gt_cv_c_wchar_t+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include wchar_t foo = (wchar_t)'\0'; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gt_cv_c_wchar_t=yes else gt_cv_c_wchar_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wchar_t" >&5 $as_echo "$gt_cv_c_wchar_t" >&6; } if test $gt_cv_c_wchar_t = yes; then $as_echo "#define HAVE_WCHAR_T 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wint_t" >&5 $as_echo_n "checking for wint_t... " >&6; } if test "${gt_cv_c_wint_t+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include wint_t foo = (wchar_t)'\0'; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gt_cv_c_wint_t=yes else gt_cv_c_wint_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wint_t" >&5 $as_echo "$gt_cv_c_wint_t" >&6; } if test $gt_cv_c_wint_t = yes; then $as_echo "#define HAVE_WINT_T 1" >>confdefs.h fi if test $ac_cv_func_symlink = no; then HAVE_SYMLINK=0 gltests_LIBOBJS="$gltests_LIBOBJS symlink.$ac_objext" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether symlink handles trailing slash correctly" >&5 $as_echo_n "checking whether symlink handles trailing slash correctly... " >&6; } if test "${gl_cv_func_symlink_works+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : gl_cv_func_symlink_works="guessing no" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { if (!symlink ("a", "conftest.link/")) return 1; if (symlink ("conftest.f", "conftest.lnk2")) return 2; if (!symlink ("a", "conftest.lnk2/")) return 3; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_symlink_works=yes else gl_cv_func_symlink_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f conftest.f conftest.link conftest.lnk2 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_symlink_works" >&5 $as_echo "$gl_cv_func_symlink_works" >&6; } if test "$gl_cv_func_symlink_works" != yes; then REPLACE_SYMLINK=1 gltests_LIBOBJS="$gltests_LIBOBJS symlink.$ac_objext" fi fi GNULIB_SYMLINK=$gl_module_indicator_condition $as_echo "#define GNULIB_TEST_SYMLINK 1" >>confdefs.h gltests_LIBOBJS="$gltests_LIBOBJS unlinkdir.$ac_objext" # The Hurd, the Linux kernel, the FreeBSD kernel version 2.2 and later, # Cygwin, and mingw never let anyone (even root) unlink directories. # If anyone knows of another system for which unlink can never # remove a directory, please report it to . # Unfortunately this is difficult to test for, since it requires root access # and might create garbage in the file system, # so the code below simply relies on the kernel name and version number. case $host_os in gnu[0-9]* | \ linux-* | linux | \ freebsd2.2* | freebsd[3-9]* | freebsd[1-9][0-9]* | \ cygwin | \ mingw*) $as_echo "#define UNLINK_CANNOT_UNLINK_DIR 1" >>confdefs.h ;; esac for ac_func in unsetenv do : ac_fn_c_check_func "$LINENO" "unsetenv" "ac_cv_func_unsetenv" if test "x$ac_cv_func_unsetenv" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_UNSETENV 1 _ACEOF fi done if test $ac_cv_func_unsetenv = no; then HAVE_UNSETENV=0 gltests_LIBOBJS="$gltests_LIBOBJS unsetenv.$ac_objext" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unsetenv() return type" >&5 $as_echo_n "checking for unsetenv() return type... " >&6; } if test "${gt_cv_func_unsetenv_ret+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include extern #ifdef __cplusplus "C" #endif #if defined(__STDC__) || defined(__cplusplus) int unsetenv (const char *name); #else int unsetenv(); #endif int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gt_cv_func_unsetenv_ret='int' else gt_cv_func_unsetenv_ret='void' fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_unsetenv_ret" >&5 $as_echo "$gt_cv_func_unsetenv_ret" >&6; } if test $gt_cv_func_unsetenv_ret = 'void'; then $as_echo "#define VOID_UNSETENV 1" >>confdefs.h REPLACE_UNSETENV=1 gltests_LIBOBJS="$gltests_LIBOBJS unsetenv.$ac_objext" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether unsetenv works on duplicates" >&5 $as_echo_n "checking whether unsetenv works on duplicates... " >&6; } if test "${gl_cv_func_unsetenv_works+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : gl_cv_func_unsetenv_works="guessing no" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { char entry[] = "b=2"; if (putenv ((char *) "a=1")) return 1; if (putenv (entry)) return 2; entry[0] = 'a'; unsetenv ("a"); if (getenv ("a")) return 3; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_unsetenv_works=yes else gl_cv_func_unsetenv_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_unsetenv_works" >&5 $as_echo "$gl_cv_func_unsetenv_works" >&6; } if test "$gl_cv_func_unsetenv_works" != yes; then REPLACE_UNSETENV=1 gltests_LIBOBJS="$gltests_LIBOBJS unsetenv.$ac_objext" fi fi GNULIB_UNSETENV=$gl_module_indicator_condition $as_echo "#define GNULIB_TEST_UNSETENV 1" >>confdefs.h abs_aux_dir=`cd "$ac_aux_dir"; pwd` abs_aux_dir=`cd "$ac_aux_dir"; pwd` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5 $as_echo_n "checking for a traditional french locale... " >&6; } if test "${gt_cv_locale_fr+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { /* Check whether the given locale name is recognized by the system. */ if (setlocale (LC_ALL, "") == NULL) return 1; /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only one byte long. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1; /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO-8859-1 else # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name. if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO8859-1 else # Test for the HP-UX locale name. if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.iso88591 else # Test for the Solaris 7 locale name. if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr else # None found. gt_cv_locale_fr=none fi fi fi fi fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5 $as_echo "$gt_cv_locale_fr" >&6; } LOCALE_FR=$gt_cv_locale_fr { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5 $as_echo_n "checking for a french Unicode locale... " >&6; } if test "${gt_cv_locale_fr_utf8+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl imitates locale dependent behaviour by looking at the environment variables, and all locales use the UTF-8 encoding. */ #if !(defined __BEOS__ || defined __HAIKU__) /* Check whether the given locale name is recognized by the system. */ if (setlocale (LC_ALL, "") == NULL) return 1; /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ # if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } # endif # ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; # endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is two bytes long, with UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 4 || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v') return 1; #endif /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr_FR.UTF-8 else # Test for the Solaris 7 locale name. if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr.UTF-8 else # None found. gt_cv_locale_fr_utf8=none fi fi fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5 $as_echo "$gt_cv_locale_fr_utf8" >&6; } LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional japanese locale" >&5 $as_echo_n "checking for a traditional japanese locale... " >&6; } if test "${gt_cv_locale_ja+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { const char *p; /* Check whether the given locale name is recognized by the system. */ if (setlocale (LC_ALL, "") == NULL) return 1; /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether MB_CUR_MAX is > 1. This excludes the dysfunctional locales on Cygwin 1.5.x. */ if (MB_CUR_MAX == 1) return 1; /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; for (p = buf; *p != '\0'; p++) if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) return 1; return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the AIX locale name. if (LC_ALL=ja_JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja_JP else # Test for the locale name with explicit encoding suffix. if (LC_ALL=ja_JP.EUC-JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja_JP.EUC-JP else # Test for the HP-UX, OSF/1, NetBSD locale name. if (LC_ALL=ja_JP.eucJP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja_JP.eucJP else # Test for the IRIX, FreeBSD locale name. if (LC_ALL=ja_JP.EUC LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja_JP.EUC else # Test for the Solaris 7 locale name. if (LC_ALL=ja LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja else # Special test for NetBSD 1.6. if test -f /usr/share/locale/ja_JP.eucJP/LC_CTYPE; then gt_cv_locale_ja=ja_JP.eucJP else # None found. gt_cv_locale_ja=none fi fi fi fi fi fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_ja" >&5 $as_echo "$gt_cv_locale_ja" >&6; } LOCALE_JA=$gt_cv_locale_ja { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a transitional chinese locale" >&5 $as_echo_n "checking for a transitional chinese locale... " >&6; } if test "${gt_cv_locale_zh_CN+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { const char *p; /* Check whether the given locale name is recognized by the system. */ if (setlocale (LC_ALL, "") == NULL) return 1; /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; for (p = buf; *p != '\0'; p++) if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) return 1; /* Check whether a typical GB18030 multibyte sequence is recognized as a single wide character. This excludes the GB2312 and GBK encodings. */ if (mblen ("\203\062\332\066", 5) != 4) return 1; return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the locale name without encoding suffix. if (LC_ALL=zh_CN LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_zh_CN=zh_CN else # Test for the locale name with explicit encoding suffix. if (LC_ALL=zh_CN.GB18030 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_zh_CN=zh_CN.GB18030 else # None found. gt_cv_locale_zh_CN=none fi fi else # If there was a link error, due to mblen(), the system is so old that # it certainly doesn't have a chinese locale. gt_cv_locale_zh_CN=none fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_zh_CN" >&5 $as_echo "$gt_cv_locale_zh_CN" >&6; } LOCALE_ZH_CN=$gt_cv_locale_zh_CN if test $ac_cv_func_wctob = no; then HAVE_DECL_WCTOB=0 : gltests_LIBOBJS="$gltests_LIBOBJS wctob.$ac_objext" : else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether wctob works" >&5 $as_echo_n "checking whether wctob works... " >&6; } if test "${gl_cv_func_wctob_works+set}" = set; then : $as_echo_n "(cached) " >&6 else case "$host_os" in # Guess no on Solaris <= 9 and Cygwin. solaris2.[1-9] | solaris2.[1-9].* | cygwin*) gl_cv_func_wctob_works="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_wctob_works="guessing yes" ;; esac case "$host_os" in cygwin*) if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include register long global __asm__ ("%ebx"); int main () { setlocale (LC_ALL, "en_US.UTF-8"); global = 0x12345678; if (wctob (0x00FC) != -1) return 1; if (global != 0x12345678) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : : else gl_cv_func_wctob_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi ;; esac if test "$gl_cv_func_wctob_works" != no && test $LOCALE_FR != none; then if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include int main () { if (setlocale (LC_ALL, "$LOCALE_FR") != NULL) { wchar_t wc; if (mbtowc (&wc, "\374", 1) == 1) if (wctob (wc) != (unsigned char) '\374') return 1; } return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_wctob_works=yes else gl_cv_func_wctob_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_wctob_works" >&5 $as_echo "$gl_cv_func_wctob_works" >&6; } case "$gl_cv_func_wctob_works" in *yes) ;; *) REPLACE_WCTOB=1 ;; esac if test $REPLACE_WCTOB = 1; then : gltests_LIBOBJS="$gltests_LIBOBJS wctob.$ac_objext" : else ac_fn_c_check_decl "$LINENO" "wctob" "ac_cv_have_decl_wctob" " /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include " if test "x$ac_cv_have_decl_wctob" = x""yes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_WCTOB $ac_have_decl _ACEOF if test $ac_cv_have_decl_wctob != yes; then HAVE_DECL_WCTOB=0 : fi fi fi GNULIB_WCTOB=$gl_module_indicator_condition $as_echo "#define GNULIB_TEST_WCTOB 1" >>confdefs.h LIBTESTS_LIBDEPS="$gltests_libdeps" # Check whether --enable-gcc-warnings was given. if test "${enable_gcc_warnings+set}" = set; then : enableval=$enable_gcc_warnings; case $enableval in yes|no) ;; *) as_fn_error $? "bad value $enableval for gcc-warnings option" "$LINENO" 5 ;; esac gl_gcc_warnings=$enableval else gl_gcc_warnings=no fi if test "$gl_gcc_warnings" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Werror" >&5 $as_echo_n "checking whether compiler handles -Werror... " >&6; } if test "${gl_cv_warn__Werror+set}" = set; then : $as_echo_n "(cached) " >&6 else save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="${CPPFLAGS} -Werror" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : gl_cv_warn__Werror=yes else gl_cv_warn__Werror=no fi rm -f conftest.err conftest.$ac_ext CPPFLAGS="$save_CPPFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__Werror" >&5 $as_echo "$gl_cv_warn__Werror" >&6; } if test "x$gl_cv_warn__Werror" = x""yes; then : as_fn_append WERROR_CFLAGS " -Werror" fi nw= # This, $nw, is the list of warnings we disable. nw="$nw -Wdeclaration-after-statement" # too useful to forbid nw="$nw -Waggregate-return" # anachronistic nw="$nw -Wlong-long" # C90 is anachronistic (lib/gethrxtime.h) nw="$nw -Wc++-compat" # We don't care about C++ compilers nw="$nw -Wundef" # Warns on '#if GNULIB_FOO' etc in gnulib nw="$nw -Wtraditional" # Warns on #elif which we use often nw="$nw -Wcast-qual" # Too many warnings for now nw="$nw -Wconversion" # Too many warnings for now nw="$nw -Wsystem-headers" # Don't let system headers trigger warnings nw="$nw -Wsign-conversion" # Too many warnings for now nw="$nw -Wtraditional-conversion" # Too many warnings for now nw="$nw -Wunreachable-code" # Too many warnings for now nw="$nw -Wpadded" # Our structs are not padded nw="$nw -Wredundant-decls" # openat.h declares e.g., mkdirat nw="$nw -Wlogical-op" # any use of fwrite provokes this nw="$nw -Wformat-nonliteral" # who.c and pinky.c strftime uses nw="$nw -Wvla" # warnings in gettext.h nw="$nw -Wnested-externs" # use of XARGMATCH/verify_function__ nw="$nw -Wswitch-enum" # Too many warnings for now nw="$nw -Wswitch-default" # Too many warnings for now # Too many warnings for now nw="$nw -Wattributes" nw="$nw -Wstrict-prototypes" nw="$nw -Wold-style-definition" nw="$nw -Wpacked" nw="$nw -Wmissing-prototypes" nw="$nw -Wmissing-declarations" nw="$nw -Wmissing-noreturn" # things I might fix soon: nw="$nw -Wfloat-equal" # sort.c, seq.c nw="$nw -Wmissing-format-attribute" # copy.c nw="$nw -Wunsafe-loop-optimizations" # a few src/*.c nw="$nw -Winline" # system.h's readdir_ignoring_dot_and_dotdot nw="$nw -Wstrict-overflow" # expr.c, pr.c, tr.c, factor.c nw="$nw -Wstack-protector" # libparted/label/gpt.c # ?? -Wstrict-overflow gl_manywarn_set= for gl_manywarn_item in \ -Wall \ -W \ -Wformat-y2k \ -Wformat-nonliteral \ -Wformat-security \ -Winit-self \ -Wmissing-include-dirs \ -Wswitch-default \ -Wswitch-enum \ -Wunused \ -Wunknown-pragmas \ -Wstrict-aliasing \ -Wstrict-overflow \ -Wsystem-headers \ -Wfloat-equal \ -Wtraditional \ -Wtraditional-conversion \ -Wdeclaration-after-statement \ -Wundef \ -Wshadow \ -Wunsafe-loop-optimizations \ -Wpointer-arith \ -Wbad-function-cast \ -Wc++-compat \ -Wcast-qual \ -Wcast-align \ -Wwrite-strings \ -Wconversion \ -Wsign-conversion \ -Wlogical-op \ -Waggregate-return \ -Wstrict-prototypes \ -Wold-style-definition \ -Wmissing-prototypes \ -Wmissing-declarations \ -Wmissing-noreturn \ -Wmissing-format-attribute \ -Wpacked \ -Wpadded \ -Wredundant-decls \ -Wnested-externs \ -Wunreachable-code \ -Winline \ -Winvalid-pch \ -Wlong-long \ -Wvla \ -Wvolatile-register-var \ -Wdisabled-optimization \ -Wstack-protector \ -Woverlength-strings \ -Wbuiltin-macro-redefined \ -Wmudflap \ -Wpacked-bitfield-compat \ -Wsync-nand \ ; do gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item" done # The following are not documented in the manual but are included in # output from gcc --help=warnings. for gl_manywarn_item in \ -Wattributes \ -Wcoverage-mismatch \ -Wmultichar \ -Wunused-macros \ ; do gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item" done ws=$gl_manywarn_set gl_warn_set= set x $ws; shift for gl_warn_item do case " $nw " in *" $gl_warn_item "*) ;; *) gl_warn_set="$gl_warn_set $gl_warn_item" ;; esac done ws=$gl_warn_set for w in $ws; do as_gl_Warn=`$as_echo "gl_cv_warn_$w" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles $w" >&5 $as_echo_n "checking whether compiler handles $w... " >&6; } if { as_var=$as_gl_Warn; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="${CPPFLAGS} $w" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : eval "$as_gl_Warn=yes" else eval "$as_gl_Warn=no" fi rm -f conftest.err conftest.$ac_ext CPPFLAGS="$save_CPPFLAGS" fi eval ac_res=\$$as_gl_Warn { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval as_val=\$$as_gl_Warn if test "x$as_val" = x""yes; then : as_fn_append WARN_CFLAGS " $w" fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wno-missing-field-initializers" >&5 $as_echo_n "checking whether compiler handles -Wno-missing-field-initializers... " >&6; } if test "${gl_cv_warn__Wno_missing_field_initializers+set}" = set; then : $as_echo_n "(cached) " >&6 else save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="${CPPFLAGS} -Wno-missing-field-initializers" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : gl_cv_warn__Wno_missing_field_initializers=yes else gl_cv_warn__Wno_missing_field_initializers=no fi rm -f conftest.err conftest.$ac_ext CPPFLAGS="$save_CPPFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__Wno_missing_field_initializers" >&5 $as_echo "$gl_cv_warn__Wno_missing_field_initializers" >&6; } if test "x$gl_cv_warn__Wno_missing_field_initializers" = x""yes; then : as_fn_append WARN_CFLAGS " -Wno-missing-field-initializers" fi # We need this one { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wno-sign-compare" >&5 $as_echo_n "checking whether compiler handles -Wno-sign-compare... " >&6; } if test "${gl_cv_warn__Wno_sign_compare+set}" = set; then : $as_echo_n "(cached) " >&6 else save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="${CPPFLAGS} -Wno-sign-compare" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : gl_cv_warn__Wno_sign_compare=yes else gl_cv_warn__Wno_sign_compare=no fi rm -f conftest.err conftest.$ac_ext CPPFLAGS="$save_CPPFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__Wno_sign_compare" >&5 $as_echo "$gl_cv_warn__Wno_sign_compare" >&6; } if test "x$gl_cv_warn__Wno_sign_compare" = x""yes; then : as_fn_append WARN_CFLAGS " -Wno-sign-compare" fi # Too many warnings for now { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wno-pointer-sign" >&5 $as_echo_n "checking whether compiler handles -Wno-pointer-sign... " >&6; } if test "${gl_cv_warn__Wno_pointer_sign+set}" = set; then : $as_echo_n "(cached) " >&6 else save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="${CPPFLAGS} -Wno-pointer-sign" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : gl_cv_warn__Wno_pointer_sign=yes else gl_cv_warn__Wno_pointer_sign=no fi rm -f conftest.err conftest.$ac_ext CPPFLAGS="$save_CPPFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__Wno_pointer_sign" >&5 $as_echo "$gl_cv_warn__Wno_pointer_sign" >&6; } if test "x$gl_cv_warn__Wno_pointer_sign" = x""yes; then : as_fn_append WARN_CFLAGS " -Wno-pointer-sign" fi # Too many warnings for now { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wno-unused-parameter" >&5 $as_echo_n "checking whether compiler handles -Wno-unused-parameter... " >&6; } if test "${gl_cv_warn__Wno_unused_parameter+set}" = set; then : $as_echo_n "(cached) " >&6 else save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="${CPPFLAGS} -Wno-unused-parameter" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : gl_cv_warn__Wno_unused_parameter=yes else gl_cv_warn__Wno_unused_parameter=no fi rm -f conftest.err conftest.$ac_ext CPPFLAGS="$save_CPPFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__Wno_unused_parameter" >&5 $as_echo "$gl_cv_warn__Wno_unused_parameter" >&6; } if test "x$gl_cv_warn__Wno_unused_parameter" = x""yes; then : as_fn_append WARN_CFLAGS " -Wno-unused-parameter" fi # Too many warnings for now { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wno-unused-macros" >&5 $as_echo_n "checking whether compiler handles -Wno-unused-macros... " >&6; } if test "${gl_cv_warn__Wno_unused_macros+set}" = set; then : $as_echo_n "(cached) " >&6 else save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="${CPPFLAGS} -Wno-unused-macros" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : gl_cv_warn__Wno_unused_macros=yes else gl_cv_warn__Wno_unused_macros=no fi rm -f conftest.err conftest.$ac_ext CPPFLAGS="$save_CPPFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__Wno_unused_macros" >&5 $as_echo "$gl_cv_warn__Wno_unused_macros" >&6; } if test "x$gl_cv_warn__Wno_unused_macros" = x""yes; then : as_fn_append WARN_CFLAGS " -Wno-unused-macros" fi # Too many warnings for now # FIXME: investigate these { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wno-jump-misses-init" >&5 $as_echo_n "checking whether compiler handles -Wno-jump-misses-init... " >&6; } if test "${gl_cv_warn__Wno_jump_misses_init+set}" = set; then : $as_echo_n "(cached) " >&6 else save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="${CPPFLAGS} -Wno-jump-misses-init" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : gl_cv_warn__Wno_jump_misses_init=yes else gl_cv_warn__Wno_jump_misses_init=no fi rm -f conftest.err conftest.$ac_ext CPPFLAGS="$save_CPPFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__Wno_jump_misses_init" >&5 $as_echo "$gl_cv_warn__Wno_jump_misses_init" >&6; } if test "x$gl_cv_warn__Wno_jump_misses_init" = x""yes; then : as_fn_append WARN_CFLAGS " -Wno-jump-misses-init" fi # In spite of excluding -Wlogical-op above, it is enabled, as of # gcc 4.5.0 20090517, and it provokes warnings in cat.c, dd.c, truncate.c { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wno-logical-op" >&5 $as_echo_n "checking whether compiler handles -Wno-logical-op... " >&6; } if test "${gl_cv_warn__Wno_logical_op+set}" = set; then : $as_echo_n "(cached) " >&6 else save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="${CPPFLAGS} -Wno-logical-op" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : gl_cv_warn__Wno_logical_op=yes else gl_cv_warn__Wno_logical_op=no fi rm -f conftest.err conftest.$ac_ext CPPFLAGS="$save_CPPFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__Wno_logical_op" >&5 $as_echo "$gl_cv_warn__Wno_logical_op" >&6; } if test "x$gl_cv_warn__Wno_logical_op" = x""yes; then : as_fn_append WARN_CFLAGS " -Wno-logical-op" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -fdiagnostics-show-option" >&5 $as_echo_n "checking whether compiler handles -fdiagnostics-show-option... " >&6; } if test "${gl_cv_warn__fdiagnostics_show_option+set}" = set; then : $as_echo_n "(cached) " >&6 else save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="${CPPFLAGS} -fdiagnostics-show-option" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : gl_cv_warn__fdiagnostics_show_option=yes else gl_cv_warn__fdiagnostics_show_option=no fi rm -f conftest.err conftest.$ac_ext CPPFLAGS="$save_CPPFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__fdiagnostics_show_option" >&5 $as_echo "$gl_cv_warn__fdiagnostics_show_option" >&6; } if test "x$gl_cv_warn__fdiagnostics_show_option" = x""yes; then : as_fn_append WARN_CFLAGS " -fdiagnostics-show-option" fi $as_echo "#define lint 1" >>confdefs.h $as_echo "#define _FORTIFY_SOURCE 2" >>confdefs.h $as_echo "#define GNULIB_PORTCHECK 1" >>confdefs.h fi # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of off_t" >&5 $as_echo_n "checking size of off_t... " >&6; } if test "${ac_cv_sizeof_off_t+set}" = set; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (off_t))" "ac_cv_sizeof_off_t" " #include #include #include "; then : else if test "$ac_cv_type_off_t" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (off_t) See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_off_t=0 fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_off_t" >&5 $as_echo "$ac_cv_sizeof_off_t" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_OFF_T $ac_cv_sizeof_off_t _ACEOF # Check whether --enable-shared was given. if test "${enable_shared+set}" = set; then : enableval=$enable_shared; p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS="$lt_save_ifs" ;; esac else enable_shared=yes fi if test "$OS" = linux && test $ac_cv_sizeof_off_t -lt 8; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: off_t is less than 8 bytes. Using llseek syscall" >&5 $as_echo "$as_me: WARNING: off_t is less than 8 bytes. Using llseek syscall" >&2;} # Check whether --enable-shared was given. if test "${enable_shared+set}" = set; then : enableval=$enable_shared; p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS="$lt_save_ifs" ;; esac else enable_shared=no fi fi case `pwd` in *\ * | *\ *) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 $as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; esac macro_version='2.2.7a' macro_revision='1.3121' ltmain="$ac_aux_dir/ltmain.sh" # Backslashify metacharacters that are still active within # double-quoted strings. sed_quote_subst='s/\(["`$\\]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\(["`\\]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to delay expansion of an escaped single quote. delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 $as_echo_n "checking how to print strings... " >&6; } # Test print first, because it will be a builtin if present. if test "X`print -r -- -n 2>/dev/null`" = X-n && \ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='print -r --' elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='printf %s\n' else # Use this function as a fallback that always works. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } ECHO='func_fallback_echo' fi # func_echo_all arg... # Invoke $ECHO with all args, space-separated. func_echo_all () { $ECHO "" } case "$ECHO" in printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 $as_echo "printf" >&6; } ;; print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 $as_echo "print -r" >&6; } ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 $as_echo "cat" >&6; } ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 $as_echo_n "checking for a sed that does not truncate output... " >&6; } if test "${ac_cv_path_SED+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ for ac_i in 1 2 3 4 5 6 7; do ac_script="$ac_script$as_nl$ac_script" done echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed { ac_script=; unset ac_script;} if test -z "$SED"; then ac_path_SED_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 do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue # Check for GNU ac_path_SED and select it if it is found. # Check for GNU $ac_path_SED case `"$ac_path_SED" --version 2>&1` in *GNU*) ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo '' >> "conftest.nl" "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_SED_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_SED="$ac_path_SED" ac_path_SED_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_SED_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_SED"; then as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 fi else ac_cv_path_SED=$SED fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 $as_echo "$ac_cv_path_SED" >&6; } SED="$ac_cv_path_SED" rm -f conftest.sed test -z "$SED" && SED=sed Xsed="$SED -e 1s/^X//" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 $as_echo_n "checking for fgrep... " >&6; } if test "${ac_cv_path_FGREP+set}" = set; then : $as_echo_n "(cached) " >&6 else if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 then ac_cv_path_FGREP="$GREP -F" else if test -z "$FGREP"; then ac_path_FGREP_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 fgrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue # Check for GNU ac_path_FGREP and select it if it is found. # Check for GNU $ac_path_FGREP case `"$ac_path_FGREP" --version 2>&1` in *GNU*) ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'FGREP' >> "conftest.nl" "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_FGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_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_FGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_FGREP"; then as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_FGREP=$FGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 $as_echo "$ac_cv_path_FGREP" >&6; } FGREP="$ac_cv_path_FGREP" test -z "$GREP" && GREP=grep # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 $as_echo_n "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi if test "${lt_cv_path_LD+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 $as_echo "$LD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if test "${lt_cv_prog_gnu_ld+set}" = set; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 $as_echo "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } if test "${lt_cv_path_NM+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_nm" if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then # Check to see if the nm accepts a BSD-compat flag. # Adding the `sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in */dev/null* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS="$lt_save_ifs" done : ${lt_cv_path_NM=no} fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 $as_echo "$lt_cv_path_NM" >&6; } if test "$lt_cv_path_NM" != "no"; then NM="$lt_cv_path_NM" else # Didn't find any BSD compatible name lister, look for dumpbin. if test -n "$DUMPBIN"; then : # Let the user override the test. else if test -n "$ac_tool_prefix"; then for ac_prog in dumpbin "link -dump" do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_DUMPBIN+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$DUMPBIN"; then ac_cv_prog_DUMPBIN="$DUMPBIN" # 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_DUMPBIN="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DUMPBIN=$ac_cv_prog_DUMPBIN if test -n "$DUMPBIN"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 $as_echo "$DUMPBIN" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$DUMPBIN" && break done fi if test -z "$DUMPBIN"; then ac_ct_DUMPBIN=$DUMPBIN for ac_prog in dumpbin "link -dump" do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DUMPBIN"; then ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN if test -n "$ac_ct_DUMPBIN"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 $as_echo "$ac_ct_DUMPBIN" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_DUMPBIN" && break done if test "x$ac_ct_DUMPBIN" = x; then DUMPBIN=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DUMPBIN=$ac_ct_DUMPBIN fi fi case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in *COFF*) DUMPBIN="$DUMPBIN -symbols" ;; *) DUMPBIN=: ;; esac fi if test "$DUMPBIN" != ":"; then NM="$DUMPBIN" fi fi test -z "$NM" && NM=nm { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 $as_echo_n "checking the name lister ($NM) interface... " >&6; } if test "${lt_cv_nm_interface+set}" = set; then : $as_echo_n "(cached) " >&6 else lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 (eval echo "\"\$as_me:$LINENO: output\"" >&5) cat conftest.out >&5 if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 $as_echo "$lt_cv_nm_interface" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 $as_echo_n "checking whether ln -s works... " >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 $as_echo "no, using $LN_S" >&6; } fi # find the maximum length of command line arguments { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 $as_echo_n "checking the maximum length of command line arguments... " >&6; } if test "${lt_cv_sys_max_cmd_len+set}" = set; then : $as_echo_n "(cached) " >&6 else i=0 teststring="ABCD" case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; mint*) # On MiNT this can take a long time and run out of memory. lt_cv_sys_max_cmd_len=8192; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. for i in 1 2 3 4 5 6 7 8 ; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \ = "X$teststring$teststring"; } >/dev/null 2>&1 && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done # Only check the string length outside the loop. lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` teststring= # Add a significant safety factor because C++ compilers can tack on # massive amounts of additional arguments before passing them to the # linker. It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` fi ;; esac fi if test -n $lt_cv_sys_max_cmd_len ; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 $as_echo "$lt_cv_sys_max_cmd_len" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 $as_echo "none" >&6; } fi max_cmd_len=$lt_cv_sys_max_cmd_len : ${CP="cp -f"} : ${MV="mv -f"} : ${RM="rm -f"} { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5 $as_echo_n "checking whether the shell understands some XSI constructs... " >&6; } # Try some XSI features xsi_shell=no ( _lt_dummy="a/b/c" test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ = c,a/b,, \ && eval 'test $(( 1 + 1 )) -eq 2 \ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ && xsi_shell=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5 $as_echo "$xsi_shell" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5 $as_echo_n "checking whether the shell understands \"+=\"... " >&6; } lt_shell_append=no ( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ >/dev/null 2>&1 \ && lt_shell_append=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5 $as_echo "$lt_shell_append" >&6; } if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset else lt_unset=false fi # test EBCDIC or ASCII case `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr lt_SP2NL='tr \040 \012' lt_NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system lt_SP2NL='tr \100 \n' lt_NL2SP='tr \r\n \100\100' ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 $as_echo_n "checking for $LD option to reload object files... " >&6; } if test "${lt_cv_ld_reload_flag+set}" = set; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_reload_flag='-r' fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 $as_echo "$lt_cv_ld_reload_flag" >&6; } reload_flag=$lt_cv_ld_reload_flag case $reload_flag in "" | " "*) ;; *) reload_flag=" $reload_flag" ;; esac reload_cmds='$LD$reload_flag -o $output$reload_objs' case $host_os in darwin*) if test "$GCC" = yes; then reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' else reload_cmds='$LD$reload_flag -o $output$reload_objs' fi ;; esac if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. set dummy ${ac_tool_prefix}objdump; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_OBJDUMP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$OBJDUMP"; then ac_cv_prog_OBJDUMP="$OBJDUMP" # 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_OBJDUMP="${ac_tool_prefix}objdump" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OBJDUMP=$ac_cv_prog_OBJDUMP if test -n "$OBJDUMP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 $as_echo "$OBJDUMP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OBJDUMP"; then ac_ct_OBJDUMP=$OBJDUMP # Extract the first word of "objdump", so it can be a program name with args. set dummy objdump; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OBJDUMP"; then ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_OBJDUMP="objdump" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP if test -n "$ac_ct_OBJDUMP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 $as_echo "$ac_ct_OBJDUMP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OBJDUMP" = x; then OBJDUMP="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OBJDUMP=$ac_ct_OBJDUMP fi else OBJDUMP="$ac_cv_prog_OBJDUMP" fi test -z "$OBJDUMP" && OBJDUMP=objdump { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 $as_echo_n "checking how to recognize dependent libraries... " >&6; } if test "${lt_cv_deplibs_check_method+set}" = set; then : $as_echo_n "(cached) " >&6 else lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= lt_cv_deplibs_check_method='unknown' # Need to set the preceding variable on all platforms that support # interlibrary dependencies. # 'none' -- dependencies not supported. # `unknown' -- same as none, but documents that we really don't know. # 'pass_all' -- all dependencies passed with no checks. # 'test_compile' -- check by making test program. # 'file_magic [[regex]]' -- check by looking for files in library path # which responds to the $file_magic_cmd with a given extended regex. # If you have `file' or equivalent on your system and you're not sure # whether `pass_all' will *always* work, you probably want this one. case $host_os in aix[4-9]*) lt_cv_deplibs_check_method=pass_all ;; beos*) lt_cv_deplibs_check_method=pass_all ;; bsdi[45]*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' lt_cv_file_magic_cmd='/usr/bin/file -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; cygwin*) # func_win32_libid is a shell function defined in ltmain.sh lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' ;; mingw* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin. if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; cegcc*) # use the weaker test based on 'objdump'. See mingw*. lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' lt_cv_file_magic_cmd='$OBJDUMP -f' ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; gnu*) lt_cv_deplibs_check_method=pass_all ;; hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac ;; interix[3-9]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be Linux ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) lt_cv_deplibs_check_method=pass_all ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; *nto* | *qnx*) lt_cv_deplibs_check_method=pass_all ;; openbsd*) if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; tpf*) lt_cv_deplibs_check_method=pass_all ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 $as_echo "$lt_cv_deplibs_check_method" >&6; } file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. set dummy ${ac_tool_prefix}ar; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_AR+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AR="${ac_tool_prefix}ar" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AR=$ac_cv_prog_AR if test -n "$AR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 $as_echo "$AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_AR"; then ac_ct_AR=$AR # Extract the first word of "ar", so it can be a program name with args. set dummy ar; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_AR+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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_AR="ar" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 $as_echo "$ac_ct_AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_AR" = x; then AR="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac AR=$ac_ct_AR fi else AR="$ac_cv_prog_AR" fi test -z "$AR" && AR=ar test -z "$AR_FLAGS" && AR_FLAGS=cru if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_STRIP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi test -z "$STRIP" && STRIP=: if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_RANLIB+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 $as_echo "$RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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_RANLIB="ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 $as_echo "$ac_ct_RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi test -z "$RANLIB" && RANLIB=: # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi case $host_os in darwin*) lock_old_archive_extraction=yes ;; *) lock_old_archive_extraction=no ;; esac # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Check for command to grab the raw symbol name followed by C symbol from nm. { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then : $as_echo_n "(cached) " >&6 else # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[BCDEGRST]' # Regexp to match symbols that can be accessed directly from C. sympat='\([_A-Za-z][_A-Za-z0-9]*\)' # Define system-specific variables. case $host_os in aix*) symcode='[BCDT]' ;; cygwin* | mingw* | pw32* | cegcc*) symcode='[ABCDGISTW]' ;; hpux*) if test "$host_cpu" = ia64; then symcode='[ABCDEGRST]' fi ;; irix* | nonstopux*) symcode='[BCDEGRST]' ;; osf*) symcode='[BCDEGQRST]' ;; solaris*) symcode='[BDRT]' ;; sco3.2v5*) symcode='[DT]' ;; sysv4.2uw2*) symcode='[DT]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[ABDT]' ;; sysv4) symcode='[DFNSTU]' ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[ABCDGIRSTW]' ;; esac # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # Try without a prefix underscore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function # and D for any global variable. # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK '"\ " {last_section=section; section=\$ 3};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ " {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ " {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ " s[1]~/^[@?]/{print s[1], s[1]; next};"\ " s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx" else lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<_LT_EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(void); void nm_test_func(void){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # Now try to grab the symbols. nlist=conftest.nm if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi # Make sure that we snagged all the symbols we need. if $GREP ' nm_test_var$' "$nlist" >/dev/null; then if $GREP ' nm_test_func$' "$nlist" >/dev/null; then cat <<_LT_EOF > conftest.$ac_ext #ifdef __cplusplus extern "C" { #endif _LT_EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ const struct { const char *name; void *address; } lt__PROGRAM__LTX_preloaded_symbols[] = { { "@PROGRAM@", (void *) 0 }, _LT_EOF $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt__PROGRAM__LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_save_LIBS="$LIBS" lt_save_CFLAGS="$CFLAGS" LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext}; then pipe_works=yes fi LIBS="$lt_save_LIBS" CFLAGS="$lt_save_CFLAGS" else echo "cannot find nm_test_func in $nlist" >&5 fi else echo "cannot find nm_test_var in $nlist" >&5 fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 fi else echo "$progname: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test "$pipe_works" = yes; then break else lt_cv_sys_global_symbol_pipe= fi done fi if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 $as_echo "failed" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 $as_echo "ok" >&6; } fi # Check whether --enable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then : enableval=$enable_libtool_lock; fi test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE="32" ;; *ELF-64*) HPUX_IA64_MODE="64" ;; esac fi rm -rf conftest* ;; *-*-irix6*) # Find out which ABI we are using. echo '#line '$LINENO' "configure"' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then if test "$lt_cv_prog_gnu_ld" = yes; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; *N32*) LD="${LD-ld} -melf32bmipn32" ;; *64-bit*) LD="${LD-ld} -melf64bmip" ;; esac else case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; *N32*) LD="${LD-ld} -n32" ;; *64-bit*) LD="${LD-ld} -64" ;; esac fi fi rm -rf conftest* ;; x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ppc64-*linux*|powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) LD="${LD-ld} -m elf_s390" ;; sparc64-*linux*) LD="${LD-ld} -m elf32_sparc" ;; esac ;; *64-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; ppc*-*linux*|powerpc*-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 $as_echo_n "checking whether the C compiler needs -belf... " >&6; } if test "${lt_cv_cc_needs_belf+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_cv_cc_needs_belf=yes else lt_cv_cc_needs_belf=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 $as_echo "$lt_cv_cc_needs_belf" >&6; } if test x"$lt_cv_cc_needs_belf" != x"yes"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS="$SAVE_CFLAGS" fi ;; sparc*-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) LD="${LD-ld} -m elf64_sparc" ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" fi ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks="$enable_libtool_lock" case $host_os in rhapsody* | darwin*) if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_DSYMUTIL+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$DSYMUTIL"; then ac_cv_prog_DSYMUTIL="$DSYMUTIL" # 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_DSYMUTIL="${ac_tool_prefix}dsymutil" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DSYMUTIL=$ac_cv_prog_DSYMUTIL if test -n "$DSYMUTIL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 $as_echo "$DSYMUTIL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_DSYMUTIL"; then ac_ct_DSYMUTIL=$DSYMUTIL # Extract the first word of "dsymutil", so it can be a program name with args. set dummy dsymutil; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DSYMUTIL"; then ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL if test -n "$ac_ct_DSYMUTIL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 $as_echo "$ac_ct_DSYMUTIL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_DSYMUTIL" = x; then DSYMUTIL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DSYMUTIL=$ac_ct_DSYMUTIL fi else DSYMUTIL="$ac_cv_prog_DSYMUTIL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. set dummy ${ac_tool_prefix}nmedit; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_NMEDIT+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$NMEDIT"; then ac_cv_prog_NMEDIT="$NMEDIT" # 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_NMEDIT="${ac_tool_prefix}nmedit" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi NMEDIT=$ac_cv_prog_NMEDIT if test -n "$NMEDIT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 $as_echo "$NMEDIT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_NMEDIT"; then ac_ct_NMEDIT=$NMEDIT # Extract the first word of "nmedit", so it can be a program name with args. set dummy nmedit; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_NMEDIT"; then ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_NMEDIT="nmedit" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT if test -n "$ac_ct_NMEDIT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 $as_echo "$ac_ct_NMEDIT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_NMEDIT" = x; then NMEDIT=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac NMEDIT=$ac_ct_NMEDIT fi else NMEDIT="$ac_cv_prog_NMEDIT" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. set dummy ${ac_tool_prefix}lipo; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_LIPO+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$LIPO"; then ac_cv_prog_LIPO="$LIPO" # 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_LIPO="${ac_tool_prefix}lipo" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi LIPO=$ac_cv_prog_LIPO if test -n "$LIPO"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 $as_echo "$LIPO" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_LIPO"; then ac_ct_LIPO=$LIPO # Extract the first word of "lipo", so it can be a program name with args. set dummy lipo; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_LIPO"; then ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_LIPO="lipo" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO if test -n "$ac_ct_LIPO"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 $as_echo "$ac_ct_LIPO" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_LIPO" = x; then LIPO=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac LIPO=$ac_ct_LIPO fi else LIPO="$ac_cv_prog_LIPO" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. set dummy ${ac_tool_prefix}otool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_OTOOL+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$OTOOL"; then ac_cv_prog_OTOOL="$OTOOL" # 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_OTOOL="${ac_tool_prefix}otool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OTOOL=$ac_cv_prog_OTOOL if test -n "$OTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 $as_echo "$OTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OTOOL"; then ac_ct_OTOOL=$OTOOL # Extract the first word of "otool", so it can be a program name with args. set dummy otool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OTOOL"; then ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_OTOOL="otool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL if test -n "$ac_ct_OTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 $as_echo "$ac_ct_OTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OTOOL" = x; then OTOOL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL=$ac_ct_OTOOL fi else OTOOL="$ac_cv_prog_OTOOL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. set dummy ${ac_tool_prefix}otool64; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_OTOOL64+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$OTOOL64"; then ac_cv_prog_OTOOL64="$OTOOL64" # 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_OTOOL64="${ac_tool_prefix}otool64" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OTOOL64=$ac_cv_prog_OTOOL64 if test -n "$OTOOL64"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 $as_echo "$OTOOL64" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OTOOL64"; then ac_ct_OTOOL64=$OTOOL64 # Extract the first word of "otool64", so it can be a program name with args. set dummy otool64; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OTOOL64"; then ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_OTOOL64="otool64" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 if test -n "$ac_ct_OTOOL64"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 $as_echo "$ac_ct_OTOOL64" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OTOOL64" = x; then OTOOL64=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL64=$ac_ct_OTOOL64 fi else OTOOL64="$ac_cv_prog_OTOOL64" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 $as_echo_n "checking for -single_module linker flag... " >&6; } if test "${lt_cv_apple_cc_single_mod+set}" = set; then : $as_echo_n "(cached) " >&6 else lt_cv_apple_cc_single_mod=no if test -z "${LT_MULTI_MODULE}"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the # link flags. rm -rf libconftest.dylib* echo "int foo(void){return 1;}" > conftest.c echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c" >&5 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&5 fi rm -rf libconftest.dylib* rm -f conftest.* fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 $as_echo "$lt_cv_apple_cc_single_mod" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } if test "${lt_cv_ld_exported_symbols_list+set}" = set; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_cv_ld_exported_symbols_list=yes else lt_cv_ld_exported_symbols_list=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 $as_echo_n "checking for -force_load linker flag... " >&6; } if test "${lt_cv_ld_force_load+set}" = set; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_force_load=no cat > conftest.c << _LT_EOF int forced_loaded() { return 2;} _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 echo "$AR cru libconftest.a conftest.o" >&5 $AR cru libconftest.a conftest.o 2>&5 cat > conftest.c << _LT_EOF int main() { return 0;} _LT_EOF echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err _lt_result=$? if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then lt_cv_ld_force_load=yes else cat conftest.err >&5 fi rm -f conftest.err libconftest.a conftest conftest.c rm -rf conftest.dSYM fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 $as_echo "$lt_cv_ld_force_load" >&6; } case $host_os in rhapsody* | darwin1.[012]) _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; darwin*) # darwin 5.x on # if running on 10.5 or later, the deployment target defaults # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 10.0,*86*-darwin8*|10.0,*-darwin[91]*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 10.[012]*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; esac ;; esac if test "$lt_cv_apple_cc_single_mod" = "yes"; then _lt_dar_single_mod='$single_module' fi if test "$lt_cv_ld_exported_symbols_list" = "yes"; then _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' else _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' fi if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= fi ;; esac for ac_header in dlfcn.h do : ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default " if test "x$ac_cv_header_dlfcn_h" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_DLFCN_H 1 _ACEOF fi done # Set options enable_dlopen=no enable_win32_dll=no # Check whether --enable-static was given. if test "${enable_static+set}" = set; then : enableval=$enable_static; p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) enable_static=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_static=yes fi done IFS="$lt_save_ifs" ;; esac else enable_static=yes fi # Check whether --with-pic was given. if test "${with_pic+set}" = set; then : withval=$with_pic; pic_mode="$withval" else pic_mode=default fi test -z "$pic_mode" && pic_mode=default # Check whether --enable-fast-install was given. if test "${enable_fast_install+set}" = set; then : enableval=$enable_fast_install; p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS="$lt_save_ifs" ;; esac else enable_fast_install=yes fi # This can be used to rebuild libtool when needed LIBTOOL_DEPS="$ltmain" # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' test -z "$LN_S" && LN_S="ln -s" if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 $as_echo_n "checking for objdir... " >&6; } if test "${lt_cv_objdir+set}" = set; then : $as_echo_n "(cached) " >&6 else rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 $as_echo "$lt_cv_objdir" >&6; } objdir=$lt_cv_objdir cat >>confdefs.h <<_ACEOF #define LT_OBJDIR "$lt_cv_objdir/" _ACEOF case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Global variables: ofile=libtool can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a with_gnu_ld="$lt_cv_prog_gnu_ld" old_CC="$CC" old_CFLAGS="$CFLAGS" # Set sane defaults for various variables test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$LD" && LD=ld test -z "$ac_objext" && ac_objext=o for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` # Only perform the check for file, if the check method requires it test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } if test "${lt_cv_path_MAGIC_CMD+set}" = set; then : $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/${ac_tool_prefix}file; then lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 $as_echo_n "checking for file... " >&6; } if test "${lt_cv_path_MAGIC_CMD+set}" = set; then : $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/file; then lt_cv_path_MAGIC_CMD="$ac_dir/file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi else MAGIC_CMD=: fi fi fi ;; esac # Use C for the default configuration in the libtool script lt_save_CC="$CC" ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o objext=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Save the default compiler, since it gets overwritten when the other # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. compiler_DEFAULT=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then lt_prog_compiler_no_builtin_flag= if test "$GCC" = yes; then case $cc_basename in nvcc*) lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; *) lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_rtti_exceptions=yes fi fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 $as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" else : fi fi lt_prog_compiler_wl= lt_prog_compiler_pic= lt_prog_compiler_static= { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 $as_echo_n "checking for $compiler option to produce PIC... " >&6; } if test "$GCC" = yes; then lt_prog_compiler_wl='-Wl,' lt_prog_compiler_static='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support lt_prog_compiler_pic='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic='-fno-common' ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) # +Z the default ;; *) lt_prog_compiler_pic='-fPIC' ;; esac ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared=no enable_shared=no ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic=-Kconform_pic fi ;; *) lt_prog_compiler_pic='-fPIC' ;; esac case $cc_basename in nvcc*) # Cuda Compiler Driver 2.2 lt_prog_compiler_wl='-Xlinker ' lt_prog_compiler_pic='-Xcompiler -fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' else lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' fi ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static='-non_shared' ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in # old Intel for x86_64 which still supported -KPIC. ecc*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' ;; # Lahey Fortran 8.1. lf95*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='--shared' lt_prog_compiler_static='--static' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fpic' lt_prog_compiler_static='-Bstatic' ;; ccc*) lt_prog_compiler_wl='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static='-non_shared' ;; xl* | bgxl* | bgf* | mpixl*) # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-qpic' lt_prog_compiler_static='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ F* | *Sun*Fortran*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='' ;; *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Wl,' ;; esac ;; esac ;; newsos6) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static='-non_shared' ;; rdos*) lt_prog_compiler_static='-non_shared' ;; solaris*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' case $cc_basename in f77* | f90* | f95*) lt_prog_compiler_wl='-Qoption ld ';; *) lt_prog_compiler_wl='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl='-Qoption ld ' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic='-Kconform_pic' lt_prog_compiler_static='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; unicos*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_can_build_shared=no ;; uts4*) lt_prog_compiler_pic='-pic' lt_prog_compiler_static='-Bstatic' ;; *) lt_prog_compiler_can_build_shared=no ;; esac fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic= ;; *) lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5 $as_echo "$lt_prog_compiler_pic" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } if test "${lt_cv_prog_compiler_pic_works+set}" = set; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic_works=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic -DPIC" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_pic_works=yes fi fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 $as_echo "$lt_cv_prog_compiler_pic_works" >&6; } if test x"$lt_cv_prog_compiler_pic_works" = xyes; then case $lt_prog_compiler_pic in "" | " "*) ;; *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; esac else lt_prog_compiler_pic= lt_prog_compiler_can_build_shared=no fi fi # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } if test "${lt_cv_prog_compiler_static_works+set}" = set; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_static_works=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_static_works=yes fi else lt_cv_prog_compiler_static_works=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 $as_echo "$lt_cv_prog_compiler_static_works" >&6; } if test x"$lt_cv_prog_compiler_static_works" = xyes; then : else lt_prog_compiler_static= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if test "${lt_cv_prog_compiler_c_o+set}" = set; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 $as_echo "$lt_cv_prog_compiler_c_o" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if test "${lt_cv_prog_compiler_c_o+set}" = set; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 $as_echo "$lt_cv_prog_compiler_c_o" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 $as_echo_n "checking if we can lock with hard links... " >&6; } hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 $as_echo "$hard_links" >&6; } if test "$hard_links" = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 $as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } runpath_var= allow_undefined_flag= always_export_symbols=no archive_cmds= archive_expsym_cmds= compiler_needs_object=no enable_shared_with_static_runtimes=no export_dynamic_flag_spec= export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' hardcode_automatic=no hardcode_direct=no hardcode_direct_absolute=no hardcode_libdir_flag_spec= hardcode_libdir_flag_spec_ld= hardcode_libdir_separator= hardcode_minus_L=no hardcode_shlibpath_var=unsupported inherit_rpath=no link_all_deplibs=unknown module_cmds= module_expsym_cmds= old_archive_from_new_cmds= old_archive_from_expsyms_cmds= thread_safe_flag_spec= whole_archive_flag_spec= # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list include_expsyms= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs=yes # On some targets, GNU ld is compatible enough with the native linker # that we're better off using the native interface for both. lt_use_gnu_ld_interface=no if test "$with_gnu_ld" = yes; then case $host_os in aix*) # The AIX port of GNU ld has always aspired to compatibility # with the native linker. However, as the warning in the GNU ld # block says, versions before 2.19.5* couldn't really create working # shared libraries, regardless of the interface used. case `$LD -v 2>&1` in *\ \(GNU\ Binutils\)\ 2.19.5*) ;; *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; *\ \(GNU\ Binutils\)\ [3-9]*) ;; *) lt_use_gnu_ld_interface=yes ;; esac ;; *) lt_use_gnu_ld_interface=yes ;; esac fi if test "$lt_use_gnu_ld_interface" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' export_dynamic_flag_spec='${wl}--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec= fi supports_anon_versioning=no case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix[3-9]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.19, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to install binutils *** 2.20 or above, or modify your PATH so that a non-GNU linker is found. *** You will then need to restart the configuration process. _LT_EOF fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then allow_undefined_flag=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' export_dynamic_flag_spec='${wl}--export-all-symbols' allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs=no fi ;; interix[3-9]*) hardcode_direct=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) tmp_diet=no if test "$host_os" = linux-dietlibc; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test "$tmp_diet" = no then tmp_addflag= tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; lf95*) # Lahey Fortran 8.1 whole_archive_flag_spec= tmp_sharedflag='--shared' ;; xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; nvcc*) # Cuda Compiler Driver 2.2 whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' compiler_needs_object=yes ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' compiler_needs_object=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi case $cc_basename in xlf* | bgf* | bgxlf* | mpixlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' hardcode_libdir_flag_spec= hardcode_libdir_flag_spec_ld='-rpath $libdir' archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac else ld_shlibs=no fi ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac ;; sunos4*) archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct=yes hardcode_shlibpath_var=no ;; *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = no; then runpath_var= hardcode_libdir_flag_spec= export_dynamic_flag_spec= whole_archive_flag_spec= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag=unsupported always_export_symbols=yes archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix[4-9]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm # Also, AIX nm treats weak defined symbols like other global # defined symbols, whereas GNU nm marks them as "W". if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds='' hardcode_direct=yes hardcode_direct_absolute=yes hardcode_libdir_separator=':' link_all_deplibs=yes file_list_spec='${wl}-f,' if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi export_dynamic_flag_spec='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an # empty executable. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag="-z nodefs" archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. no_undefined_flag=' ${wl}-bernotok' allow_undefined_flag=' ${wl}-berok' if test "$with_gnu_ld" = yes; then # We only use this code for GNU lds that support --whole-archive. whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec='$convenience' fi archive_cmds_need_lc=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; bsdi[45]*) export_dynamic_flag_spec=-rdynamic ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_from_new_cmds='true' # FIXME: Should let the user specify the lib program. old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' fix_srcfile_path='`cygpath -w "$srcfile"`' enable_shared_with_static_runtimes=yes ;; darwin* | rhapsody*) archive_cmds_need_lc=no hardcode_direct=no hardcode_automatic=yes hardcode_shlibpath_var=unsupported if test "$lt_cv_ld_force_load" = "yes"; then whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' else whole_archive_flag_spec='' fi link_all_deplibs=yes allow_undefined_flag="$_lt_dar_allow_undefined" case $cc_basename in ifort*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test "$_lt_dar_can_shared" = "yes"; then output_verbose_link_cmd=func_echo_all archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" else ld_shlibs=no fi ;; dgux*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; freebsd1*) ld_shlibs=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' fi hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes export_dynamic_flag_spec='${wl}-E' ;; hpux10*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_flag_spec_ld='+b $libdir' hardcode_libdir_separator=: hardcode_direct=yes hardcode_direct_absolute=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) # Older versions of the 11.00 compiler do not understand -b yet # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 $as_echo_n "checking if $CC understands -b... " >&6; } if test "${lt_cv_prog_compiler__b+set}" = set; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler__b=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -b" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler__b=yes fi else lt_cv_prog_compiler__b=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 $as_echo "$lt_cv_prog_compiler__b" >&6; } if test x"$lt_cv_prog_compiler__b" = xyes; then archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi ;; esac fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_direct=no hardcode_shlibpath_var=no ;; *) hardcode_direct=yes hardcode_direct_absolute=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int foo(void) {} _ACEOF if ac_fn_c_try_link "$LINENO"; then : archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS="$save_LDFLAGS" else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: inherit_rpath=yes link_all_deplibs=yes ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; newsos6) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: hardcode_shlibpath_var=no ;; *nto* | *qnx*) ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes hardcode_shlibpath_var=no hardcode_direct_absolute=yes if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-R$libdir' ;; *) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi archive_cmds_need_lc='no' hardcode_libdir_separator=: ;; solaris*) no_undefined_flag=' -z defs' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) wlarc='${wl}' archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi hardcode_libdir_flag_spec='-R$libdir' hardcode_shlibpath_var=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs=yes ;; sunos4*) if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; sysv4) case $host_vendor in sni) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds='$CC -r -o $output$reload_objs' hardcode_direct=no ;; motorola) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var=no ;; sysv4.3*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no export_dynamic_flag_spec='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag='${wl}-z,text' archive_cmds_need_lc=no hardcode_shlibpath_var=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag='${wl}-z,text' allow_undefined_flag='${wl}-z,nodefs' archive_cmds_need_lc=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-R,$libdir' hardcode_libdir_separator=':' link_all_deplibs=yes export_dynamic_flag_spec='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; *) ld_shlibs=no ;; esac if test x$host_vendor = xsni; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) export_dynamic_flag_spec='${wl}-Blargedynsym' ;; esac fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 $as_echo "$ld_shlibs" >&6; } test "$ld_shlibs" = no && can_build_shared=no with_gnu_ld=$with_gnu_ld # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc" in x|xyes) # Assume -lc should be added archive_cmds_need_lc=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } if test "${lt_cv_archive_cmds_need_lc+set}" = set; then : $as_echo_n "(cached) " >&6 else $RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl pic_flag=$lt_prog_compiler_pic compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag allow_undefined_flag= if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then lt_cv_archive_cmds_need_lc=no else lt_cv_archive_cmds_need_lc=yes fi allow_undefined_flag=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 $as_echo "$lt_cv_archive_cmds_need_lc" >&6; } archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc ;; esac fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 $as_echo_n "checking dynamic linker characteristics... " >&6; } if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac case $host_os in mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;; *) lt_sed_strip_eq="s,=/,/,g" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` case $lt_search_path_spec in *\;*) # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` ;; *) lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` ;; esac # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[lt_foo]++; } if (lt_freq[lt_foo] == 1) { print lt_foo; } }'` # AWK program above erroneously prepends '/' to C:/dos/paths # for these hosts. case $host_os in mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ $SED 's,/\([A-Za-z]:\),\1,g'` ;; esac sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix[4-9]*) version_type=linux need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[45]*) version_type=linux need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$host_os in yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; esac ;; *) library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' ;; esac dynamic_linker='Win32 ld.exe' # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd1*) dynamic_linker=no ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; gnu*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555, ... postinstall_cmds='chmod 555 $lib' # or fails outright, so override atomically: install_override_mode=555 ;; interix[3-9]*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be Linux ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH if test "${lt_cv_shlibpath_overrides_runpath+set}" = set; then : $as_echo_n "(cached) " >&6 else lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : lt_cv_shlibpath_overrides_runpath=yes fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir fi shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[89] | openbsd2.[89].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 $as_echo "$dynamic_linker" >&6; } test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" fi if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 $as_echo_n "checking how to hardcode library paths into programs... " >&6; } hardcode_action= if test -n "$hardcode_libdir_flag_spec" || test -n "$runpath_var" || test "X$hardcode_automatic" = "Xyes" ; then # We can hardcode non-existent directories. if test "$hardcode_direct" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no && test "$hardcode_minus_L" != no; then # Linking always hardcodes the temporary library directory. hardcode_action=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action=unsupported fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 $as_echo "$hardcode_action" >&6; } if test "$hardcode_action" = relink || test "$inherit_rpath" = yes; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi if test "x$enable_dlopen" != xyes; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen="load_add_on" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) lt_cv_dlopen="LoadLibrary" lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen="dlopen" lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if test "${ac_cv_lib_dl_dlopen+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dl_dlopen=yes else ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = x""yes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else lt_cv_dlopen="dyld" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes fi ;; *) ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" if test "x$ac_cv_func_shl_load" = x""yes; then : lt_cv_dlopen="shl_load" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 $as_echo_n "checking for shl_load in -ldld... " >&6; } if test "${ac_cv_lib_dld_shl_load+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char shl_load (); int main () { return shl_load (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dld_shl_load=yes else ac_cv_lib_dld_shl_load=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 $as_echo "$ac_cv_lib_dld_shl_load" >&6; } if test "x$ac_cv_lib_dld_shl_load" = x""yes; then : lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" else ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" if test "x$ac_cv_func_dlopen" = x""yes; then : lt_cv_dlopen="dlopen" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if test "${ac_cv_lib_dl_dlopen+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dl_dlopen=yes else ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = x""yes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 $as_echo_n "checking for dlopen in -lsvld... " >&6; } if test "${ac_cv_lib_svld_dlopen+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsvld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_svld_dlopen=yes else ac_cv_lib_svld_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 $as_echo "$ac_cv_lib_svld_dlopen" >&6; } if test "x$ac_cv_lib_svld_dlopen" = x""yes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 $as_echo_n "checking for dld_link in -ldld... " >&6; } if test "${ac_cv_lib_dld_dld_link+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dld_link (); int main () { return dld_link (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dld_dld_link=yes else ac_cv_lib_dld_dld_link=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 $as_echo "$ac_cv_lib_dld_dld_link" >&6; } if test "x$ac_cv_lib_dld_dld_link" = x""yes; then : lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" fi fi fi fi fi fi ;; esac if test "x$lt_cv_dlopen" != xno; then enable_dlopen=yes else enable_dlopen=no fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS="$CPPFLAGS" test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS="$LDFLAGS" wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 $as_echo_n "checking whether a program can dlopen itself... " >&6; } if test "${lt_cv_dlopen_self+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF #line 28117 "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif /* When -fvisbility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) void fnord () __attribute__((visibility("default"))); #endif void fnord () { int i=42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else { if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; else puts (dlerror ()); } /* dlclose (self); */ } else puts (dlerror ()); return status; } _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; esac else : # compilation failed lt_cv_dlopen_self=no fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 $as_echo "$lt_cv_dlopen_self" >&6; } if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } if test "${lt_cv_dlopen_self_static+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self_static=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF #line 28223 "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif /* When -fvisbility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) void fnord () __attribute__((visibility("default"))); #endif void fnord () { int i=42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else { if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; else puts (dlerror ()); } /* dlclose (self); */ } else puts (dlerror ()); return status; } _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; esac else : # compilation failed lt_cv_dlopen_self_static=no fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 $as_echo "$lt_cv_dlopen_self_static" >&6; } fi CPPFLAGS="$save_CPPFLAGS" LDFLAGS="$save_LDFLAGS" LIBS="$save_LIBS" ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi striplib= old_striplib= { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 $as_echo_n "checking whether stripping libraries is possible... " >&6; } if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP" ; then striplib="$STRIP -x" old_striplib="$STRIP -S" { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } ;; esac fi # Report which library types will actually be built { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 $as_echo_n "checking if libtool supports shared libraries... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 $as_echo "$can_build_shared" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 $as_echo_n "checking whether to build shared libraries... " >&6; } test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[4-9]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 $as_echo "$enable_shared" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 $as_echo_n "checking whether to build static libraries... " >&6; } # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 $as_echo "$enable_static" >&6; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" ac_config_commands="$ac_config_commands libtool" # Only expand once: { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 $as_echo_n "checking whether NLS is requested... " >&6; } # Check whether --enable-nls was given. if test "${enable_nls+set}" = set; then : enableval=$enable_nls; USE_NLS=$enableval else USE_NLS=yes fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 $as_echo "$USE_NLS" >&6; } GETTEXT_MACRO_VERSION=0.18 # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_MSGFMT+set}" = set; then : $as_echo_n "(cached) " >&6 else case "$MSGFMT" in [\\/]* | ?:[\\/]*) ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 && (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" ;; esac fi MSGFMT="$ac_cv_path_MSGFMT" if test "$MSGFMT" != ":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 $as_echo "$MSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_GMSGFMT+set}" = set; then : $as_echo_n "(cached) " >&6 else case $GMSGFMT in [\\/]* | ?:[\\/]*) ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" ;; esac fi GMSGFMT=$ac_cv_path_GMSGFMT if test -n "$GMSGFMT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 $as_echo "$GMSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; *) MSGFMT_015=$MSGFMT ;; esac case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; *) GMSGFMT_015=$GMSGFMT ;; esac # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_XGETTEXT+set}" = set; then : $as_echo_n "(cached) " >&6 else case "$XGETTEXT" in [\\/]* | ?:[\\/]*) ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 && (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" ;; esac fi XGETTEXT="$ac_cv_path_XGETTEXT" if test "$XGETTEXT" != ":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 $as_echo "$XGETTEXT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi rm -f messages.po case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; *) XGETTEXT_015=$XGETTEXT ;; esac # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "msgmerge", so it can be a program name with args. set dummy msgmerge; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_MSGMERGE+set}" = set; then : $as_echo_n "(cached) " >&6 else case "$MSGMERGE" in [\\/]* | ?:[\\/]*) ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":" ;; esac fi MSGMERGE="$ac_cv_path_MSGMERGE" if test "$MSGMERGE" != ":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5 $as_echo "$MSGMERGE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$localedir" || localedir='${datadir}/locale' test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= ac_config_commands="$ac_config_commands po-directories" if test "X$prefix" = "XNONE"; then acl_final_prefix="$ac_default_prefix" else acl_final_prefix="$prefix" fi if test "X$exec_prefix" = "XNONE"; then acl_final_exec_prefix='${prefix}' else acl_final_exec_prefix="$exec_prefix" fi acl_save_prefix="$prefix" prefix="$acl_final_prefix" eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" prefix="$acl_save_prefix" # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by GCC" >&5 $as_echo_n "checking for ld used by GCC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | [A-Za-z]:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the path of ld ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi if test "${acl_cv_path_LD+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then acl_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in *GNU* | *'with BFD'*) test "$with_gnu_ld" != no && break ;; *) test "$with_gnu_ld" != yes && break ;; esac fi done IFS="$ac_save_ifs" else acl_cv_path_LD="$LD" # Let the user override the test with a path. fi fi LD="$acl_cv_path_LD" if test -n "$LD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 $as_echo "$LD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if test "${acl_cv_prog_gnu_ld+set}" = set; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU ld's only accept -v. case `$LD -v 2>&1 &5 $as_echo "$acl_cv_prog_gnu_ld" >&6; } with_gnu_ld=$acl_cv_prog_gnu_ld { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 $as_echo_n "checking for shared library run path origin... " >&6; } if test "${acl_cv_rpath+set}" = set; then : $as_echo_n "(cached) " >&6 else CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh . ./conftest.sh rm -f ./conftest.sh acl_cv_rpath=done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 $as_echo "$acl_cv_rpath" >&6; } wl="$acl_cv_wl" acl_libext="$acl_cv_libext" acl_shlibext="$acl_cv_shlibext" acl_libname_spec="$acl_cv_libname_spec" acl_library_names_spec="$acl_cv_library_names_spec" acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" acl_hardcode_direct="$acl_cv_hardcode_direct" acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" # Check whether --enable-rpath was given. if test "${enable_rpath+set}" = set; then : enableval=$enable_rpath; : else enable_rpath=yes fi acl_libdirstem=lib acl_libdirstem2= case "$host_os" in solaris*) { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5 $as_echo_n "checking for 64-bit host... " >&6; } if test "${gl_cv_solaris_64bit+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef _LP64 sixtyfour bits #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "sixtyfour bits" >/dev/null 2>&1; then : gl_cv_solaris_64bit=yes else gl_cv_solaris_64bit=no fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5 $as_echo "$gl_cv_solaris_64bit" >&6; } if test $gl_cv_solaris_64bit = yes; then acl_libdirstem=lib/64 case "$host_cpu" in sparc*) acl_libdirstem2=lib/sparcv9 ;; i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; esac fi ;; *) searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` if test -n "$searchpath"; then acl_save_IFS="${IFS= }"; IFS=":" for searchdir in $searchpath; do if test -d "$searchdir"; then case "$searchdir" in */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; */../ | */.. ) # Better ignore directories of this form. They are misleading. ;; *) searchdir=`cd "$searchdir" && pwd` case "$searchdir" in */lib64 ) acl_libdirstem=lib64 ;; esac ;; esac fi done IFS="$acl_save_IFS" fi ;; esac test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" use_additional=yes acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" # Check whether --with-libiconv-prefix was given. if test "${with_libiconv_prefix+set}" = set; then : withval=$with_libiconv_prefix; if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" if test "$acl_libdirstem2" != "$acl_libdirstem" \ && ! test -d "$withval/$acl_libdirstem"; then additional_libdir="$withval/$acl_libdirstem2" fi fi fi fi LIBICONV= LTLIBICONV= INCICONV= LIBICONV_PREFIX= HAVE_LIBICONV= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='iconv ' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value" else : fi else found_dir= found_la= found_so= found_a= eval libname=\"$acl_libname_spec\" # typically: libname=lib$name if test -n "$acl_shlibext"; then shrext=".$acl_shlibext" # typically: shrext=.so else shrext= fi if test $use_additional = yes; then dir="$additional_libdir" if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then if test "$enable_rpath" = no \ || test "X$found_dir" = "X/usr/$acl_libdirstem" \ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi if test "$acl_hardcode_direct" = yes; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else haveit= for x in $LDFLAGS $LIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir" fi if test "$acl_hardcode_minus_L" != no; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a" else LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name" fi fi additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` if test "$name" = 'iconv'; then LIBICONV_PREFIX="$basedir" fi additional_includedir="$basedir/include" ;; */$acl_libdirstem2 | */$acl_libdirstem2/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` if test "$name" = 'iconv'; then LIBICONV_PREFIX="$basedir" fi additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INCICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir" fi fi fi fi fi if test -n "$found_la"; then save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) LIBICONV="${LIBICONV}${LIBICONV:+ }$dep" LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep" ;; esac done fi else LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$acl_hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then for found_dir in $ltrpathdirs; do LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir" done fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5 $as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; } if test "${gt_cv_func_CFPreferencesCopyAppValue+set}" = set; then : $as_echo_n "(cached) " >&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { CFPreferencesCopyAppValue(NULL, NULL) ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_CFPreferencesCopyAppValue=yes else gt_cv_func_CFPreferencesCopyAppValue=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$gt_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 $as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; } if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then $as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5 $as_echo_n "checking for CFLocaleCopyCurrent... " >&6; } if test "${gt_cv_func_CFLocaleCopyCurrent+set}" = set; then : $as_echo_n "(cached) " >&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { CFLocaleCopyCurrent(); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_CFLocaleCopyCurrent=yes else gt_cv_func_CFLocaleCopyCurrent=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$gt_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5 $as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; } if test $gt_cv_func_CFLocaleCopyCurrent = yes; then $as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h fi INTL_MACOSX_LIBS= if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" fi LIBINTL= LTLIBINTL= POSUB= case " $gt_needs " in *" need-formatstring-macros "*) gt_api_version=3 ;; *" need-ngettext "*) gt_api_version=2 ;; *) gt_api_version=1 ;; esac gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" if test "$USE_NLS" = "yes"; then gt_use_preinstalled_gnugettext=no if test $gt_api_version -ge 3; then gt_revision_test_code=' #ifndef __GNU_GETTEXT_SUPPORTED_REVISION #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) #endif typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; ' else gt_revision_test_code= fi if test $gt_api_version -ge 2; then gt_expression_test_code=' + * ngettext ("", "", 0)' else gt_expression_test_code= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5 $as_echo_n "checking for GNU gettext in libc... " >&6; } if { as_var=$gt_func_gnugettext_libc; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings; int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$gt_func_gnugettext_libc=yes" else eval "$gt_func_gnugettext_libc=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$gt_func_gnugettext_libc { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then am_save_CPPFLAGS="$CPPFLAGS" for element in $INCICONV; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5 $as_echo_n "checking for iconv... " >&6; } if test "${am_cv_func_iconv+set}" = set; then : $as_echo_n "(cached) " >&6 else am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : am_cv_func_iconv=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : am_cv_lib_iconv=yes am_cv_func_iconv=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$am_save_LIBS" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5 $as_echo "$am_cv_func_iconv" >&6; } if test "$am_cv_func_iconv" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5 $as_echo_n "checking for working iconv... " >&6; } if test "${am_cv_func_iconv_works+set}" = set; then : $as_echo_n "(cached) " >&6 else am_save_LIBS="$LIBS" if test $am_cv_lib_iconv = yes; then LIBS="$LIBS $LIBICONV" fi if test "$cross_compiling" = yes; then : case "$host_os" in aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; *) am_cv_func_iconv_works="guessing yes" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { /* Test against AIX 5.1 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); if (cd_utf8_to_88591 != (iconv_t)(-1)) { static const char input[] = "\342\202\254"; /* EURO SIGN */ char buf[10]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_utf8_to_88591, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) return 1; } } /* Test against Solaris 10 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); if (cd_ascii_to_88591 != (iconv_t)(-1)) { static const char input[] = "\263"; char buf[10]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_ascii_to_88591, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) return 1; } } #if 0 /* This bug could be worked around by the caller. */ /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ { iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; char buf[50]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_88591_to_utf8, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if ((int)res > 0) return 1; } } #endif /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is provided. */ if (/* Try standardized names. */ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) /* Try IRIX, OSF/1 names. */ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) /* Try AIX names. */ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) /* Try HP-UX names. */ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) return 1; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : am_cv_func_iconv_works=yes else am_cv_func_iconv_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi LIBS="$am_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5 $as_echo "$am_cv_func_iconv_works" >&6; } case "$am_cv_func_iconv_works" in *no) am_func_iconv=no am_cv_lib_iconv=no ;; *) am_func_iconv=yes ;; esac else am_func_iconv=no am_cv_lib_iconv=no fi if test "$am_func_iconv" = yes; then $as_echo "#define HAVE_ICONV 1" >>confdefs.h fi if test "$am_cv_lib_iconv" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5 $as_echo_n "checking how to link with libiconv... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5 $as_echo "$LIBICONV" >&6; } else CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= LTLIBICONV= fi use_additional=yes acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" # Check whether --with-libintl-prefix was given. if test "${with_libintl_prefix+set}" = set; then : withval=$with_libintl_prefix; if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" if test "$acl_libdirstem2" != "$acl_libdirstem" \ && ! test -d "$withval/$acl_libdirstem"; then additional_libdir="$withval/$acl_libdirstem2" fi fi fi fi LIBINTL= LTLIBINTL= INCINTL= LIBINTL_PREFIX= HAVE_LIBINTL= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='intl ' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value" else : fi else found_dir= found_la= found_so= found_a= eval libname=\"$acl_libname_spec\" # typically: libname=lib$name if test -n "$acl_shlibext"; then shrext=".$acl_shlibext" # typically: shrext=.so else shrext= fi if test $use_additional = yes; then dir="$additional_libdir" if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then if test "$enable_rpath" = no \ || test "X$found_dir" = "X/usr/$acl_libdirstem" \ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi if test "$acl_hardcode_direct" = yes; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else haveit= for x in $LDFLAGS $LIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir" fi if test "$acl_hardcode_minus_L" != no; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a" else LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name" fi fi additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` if test "$name" = 'intl'; then LIBINTL_PREFIX="$basedir" fi additional_includedir="$basedir/include" ;; */$acl_libdirstem2 | */$acl_libdirstem2/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` if test "$name" = 'intl'; then LIBINTL_PREFIX="$basedir" fi additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INCINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir" fi fi fi fi fi if test -n "$found_la"; then save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) LIBINTL="${LIBINTL}${LIBINTL:+ }$dep" LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep" ;; esac done fi else LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$acl_hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then for found_dir in $ltrpathdirs; do LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir" done fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5 $as_echo_n "checking for GNU gettext in libintl... " >&6; } if { as_var=$gt_func_gnugettext_libintl; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $INCINTL" gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *); int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$gt_func_gnugettext_libintl=yes" else eval "$gt_func_gnugettext_libintl=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *); int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" eval "$gt_func_gnugettext_libintl=yes" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS" fi eval ac_res=\$$gt_func_gnugettext_libintl { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ && test "$PACKAGE" != gettext-runtime \ && test "$PACKAGE" != gettext-tools; }; then gt_use_preinstalled_gnugettext=yes else LIBINTL= LTLIBINTL= INCINTL= fi if test -n "$INTL_MACOSX_LIBS"; then if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" fi fi if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then $as_echo "#define ENABLE_NLS 1" >>confdefs.h else USE_NLS=no fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5 $as_echo_n "checking whether to use NLS... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 $as_echo "$USE_NLS" >&6; } if test "$USE_NLS" = "yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5 $as_echo_n "checking where the gettext function comes from... " >&6; } if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then gt_source="external libintl" else gt_source="libc" fi else gt_source="included intl directory" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5 $as_echo "$gt_source" >&6; } fi if test "$USE_NLS" = "yes"; then if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5 $as_echo_n "checking how to link with libintl... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5 $as_echo "$LIBINTL" >&6; } for element in $INCINTL; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done fi $as_echo "#define HAVE_GETTEXT 1" >>confdefs.h $as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h fi POSUB=po fi INTLLIBS="$LIBINTL" if test "$USE_INCLUDED_LIBINTL" = "yes"; then as_fn_error $? " GNU Parted requires gettext to be installed for compilation - if native language support is desired. Either disable native language support with: $ ./configure --disable-nls Or install gettext. GNU gettext is available from http://ftp.gnu.org/gnu/gettext " "$LINENO" 5 fi DL_LIBS="" if test "$enable_dynamic_loading" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if test "${ac_cv_lib_dl_dlopen+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dl_dlopen=yes else ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = x""yes; then : DL_LIBS="-ldl" PARTED_LIBS="$PARTED_LIBS -ldl" $as_echo "#define DYNAMIC_LOADING 1" >>confdefs.h else as_fn_error $? "-ldl not found! Try using --disable-dynamic-loading " "$LINENO" 5 fi fi UUID_LIBS="" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uuid_generate in -luuid" >&5 $as_echo_n "checking for uuid_generate in -luuid... " >&6; } if test "${ac_cv_lib_uuid_uuid_generate+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-luuid $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char uuid_generate (); int main () { return uuid_generate (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_uuid_uuid_generate=yes else ac_cv_lib_uuid_uuid_generate=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_uuid_uuid_generate" >&5 $as_echo "$ac_cv_lib_uuid_uuid_generate" >&6; } if test "x$ac_cv_lib_uuid_uuid_generate" = x""yes; then : UUID_LIBS="-luuid" else as_fn_error $? "GNU Parted requires libuuid - a part of the e2fsprogs package (but sometimes distributed separately in uuid-devel or similar) This can probably be found on your distribution's CD or FTP site or at: http://web.mit.edu/tytso/www/linux/e2fsprogs.html Note: if you are using precompiled packages you will also need the development package as well (which may be called e2fsprogs-devel or something similar). If you compile e2fsprogs yourself then you need to do 'make install' and 'make install-libs'." "$LINENO" 5 fi DM_LIBS= if test $ENABLE_DEVICE_MAPPER = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dm_task_create in -ldevmapper" >&5 $as_echo_n "checking for dm_task_create in -ldevmapper... " >&6; } if test "${ac_cv_lib_devmapper_dm_task_create+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldevmapper $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dm_task_create (); int main () { return dm_task_create (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_devmapper_dm_task_create=yes else ac_cv_lib_devmapper_dm_task_create=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_devmapper_dm_task_create" >&5 $as_echo "$ac_cv_lib_devmapper_dm_task_create" >&6; } if test "x$ac_cv_lib_devmapper_dm_task_create" = x""yes; then : DM_LIBS=-ldevmapper else as_fn_error $? "libdevmapper could not be found, but is required for the --enable-device-mapper option, which is enabled by default. Either disable device-mapper support with --disable-device-mapper or download and install device-mapper from: http://sources.redhat.com/dm/ Note: if you are using precompiled packages you will need the development package as well (it may be called device-mapper-devel or something similar). " "$LINENO" 5 fi fi SELINUX_LIBS="" if test "$enable_selinux" = yes; then SELINUX_LIBS="-lselinux -lsepol" fi REISER_LIBS="" if test "$enable_dynamic_loading" = no && test "$enable_discover_only" = no; then OLD_LIBS="$LIBS" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dal_equals in -ldal" >&5 $as_echo_n "checking for dal_equals in -ldal... " >&6; } if test "${ac_cv_lib_dal_dal_equals+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldal $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dal_equals (); int main () { return dal_equals (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dal_dal_equals=yes else ac_cv_lib_dal_dal_equals=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dal_dal_equals" >&5 $as_echo "$ac_cv_lib_dal_dal_equals" >&6; } if test "x$ac_cv_lib_dal_dal_equals" = x""yes; then : LIBS="-ldal" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for reiserfs_fs_probe in -lreiserfs" >&5 $as_echo_n "checking for reiserfs_fs_probe in -lreiserfs... " >&6; } if test "${ac_cv_lib_reiserfs_reiserfs_fs_probe+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lreiserfs $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char reiserfs_fs_probe (); int main () { return reiserfs_fs_probe (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_reiserfs_reiserfs_fs_probe=yes else ac_cv_lib_reiserfs_reiserfs_fs_probe=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_reiserfs_reiserfs_fs_probe" >&5 $as_echo "$ac_cv_lib_reiserfs_reiserfs_fs_probe" >&6; } if test "x$ac_cv_lib_reiserfs_reiserfs_fs_probe" = x""yes; then : REISER_LIBS="-ldal -lreiserfs" $as_echo "#define HAVE_LIBREISERFS 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for reiserfs_fs_check in -lreiserfs" >&5 $as_echo_n "checking for reiserfs_fs_check in -lreiserfs... " >&6; } if test "${ac_cv_lib_reiserfs_reiserfs_fs_check+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lreiserfs $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char reiserfs_fs_check (); int main () { return reiserfs_fs_check (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_reiserfs_reiserfs_fs_check=yes else ac_cv_lib_reiserfs_reiserfs_fs_check=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_reiserfs_reiserfs_fs_check" >&5 $as_echo "$ac_cv_lib_reiserfs_reiserfs_fs_check" >&6; } if test "x$ac_cv_lib_reiserfs_reiserfs_fs_check" = x""yes; then : $as_echo "#define HAVE_REISERFS_FS_CHECK 1" >>confdefs.h fi fi LIBS="$OLD_LIBS" fi if test "$with_readline" = yes; then OLD_LIBS="$LIBS" LIBS="" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing tgetent" >&5 $as_echo_n "checking for library containing tgetent... " >&6; } if test "${ac_cv_search_tgetent+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char tgetent (); int main () { return tgetent (); ; return 0; } _ACEOF for ac_lib in '' tinfo ncurses curses termcap termlib; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_tgetent=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if test "${ac_cv_search_tgetent+set}" = set; then : break fi done if test "${ac_cv_search_tgetent+set}" = set; then : else ac_cv_search_tgetent=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_tgetent" >&5 $as_echo "$ac_cv_search_tgetent" >&6; } ac_res=$ac_cv_search_tgetent if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" PARTED_LIBS="$PARTED_LIBS $LIBS" else as_fn_error $? "termcap could not be found which is required for the --with-readline option (which is enabled by default). Either disable readline support with --without-readline or download and install termcap from: ftp.gnu.org/gnu/termcap Note: if you are using precompiled packages you will also need the development package as well (which may be called termcap-devel or something similar). Note: (n)curses also seems to work as a substitute for termcap. This was not found either - but you could try installing that as well." "$LINENO" 5 fi LIBS="$OLD_LIBS" fi if test "$with_readline" = yes; then OLD_LIBS="$LIBS" LIBS="$LIBS $PARTED_LIBS" found_working_libreadline=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for readline in -lreadline" >&5 $as_echo_n "checking for readline in -lreadline... " >&6; } if test "${ac_cv_lib_readline_readline+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lreadline $PARTED_LIBS $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char readline (); int main () { return readline (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_readline_readline=yes else ac_cv_lib_readline_readline=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_readline_readline" >&5 $as_echo "$ac_cv_lib_readline_readline" >&6; } if test "x$ac_cv_lib_readline_readline" = x""yes; then : found_working_libreadline=yes else as_fn_error $? "GNU Readline could not be found which is required for the --with-readline (which is enabled by default). Either disable readline support with --without-readline or downloaded and install it from: ftp.gnu.org/gnu/readline Note: if you are using precompiled packages you will also need the development package as well (which may be called readline-devel or something similar). " "$LINENO" 5 fi LIBS="$OLD_LIBS $PARTED_LIBS" # See if libreadline is too old to be used. # The readline function in Debian's libreadline5 5.0-10 fails to # print to stdout the response (from stdin) to a prompt, when stdout # is redirected, while 5.2-3 works fine. That failure would cause # several of parted's tests to failure. # The purist approach would be to write a run-test, but that's # not friendly to cross-compilers, so here's a compromise: # # See if libreadline defines one of these symbols: # [this is the list of public symbols that are in 5.2, but not 5.0] # # $ diff -u /tmp/readline-5.[02]|grep '+T.[^_]' # +T rl_vi_rubout # +T rl_variable_value # +T rl_reset_screen_size # +T alloc_history_entry # +T copy_history_entry # +T replace_history_data # # If not, then reject this readline lib. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for rl_variable_value in -lreadline" >&5 $as_echo_n "checking for rl_variable_value in -lreadline... " >&6; } if test "${ac_cv_lib_readline_rl_variable_value+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lreadline $PARTED_LIBS $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char rl_variable_value (); int main () { return rl_variable_value (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_readline_rl_variable_value=yes else ac_cv_lib_readline_rl_variable_value=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_readline_rl_variable_value" >&5 $as_echo "$ac_cv_lib_readline_rl_variable_value" >&6; } if test "x$ac_cv_lib_readline_rl_variable_value" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBREADLINE 1 _ACEOF LIBS="-lreadline $LIBS" else as_fn_error $? "Your version of libreadline is too old to be used. Consider upgrading to version 5.2 or newer." "$LINENO" 5 found_working_libreadline=no fi if test $found_working_libreadline = yes; then PARTED_LIBS="-lreadline $PARTED_LIBS" $as_echo "#define HAVE_LIBREADLINE 1" >>confdefs.h fi LIBS="$OLD_LIBS" fi if test "$OS" = gnu; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for vm_deallocate in -lshouldbeinlibc" >&5 $as_echo_n "checking for vm_deallocate in -lshouldbeinlibc... " >&6; } if test "${ac_cv_lib_shouldbeinlibc_vm_deallocate+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lshouldbeinlibc $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char vm_deallocate (); int main () { return vm_deallocate (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_shouldbeinlibc_vm_deallocate=yes else ac_cv_lib_shouldbeinlibc_vm_deallocate=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_shouldbeinlibc_vm_deallocate" >&5 $as_echo "$ac_cv_lib_shouldbeinlibc_vm_deallocate" >&6; } if test "x$ac_cv_lib_shouldbeinlibc_vm_deallocate" = x""yes; then : OS_LIBS="$OS_LIBS -lshouldbeinlibc" else as_fn_error $? "GNU Parted requires libshouldbeinlibc when running on GNU/Hurd systems. It is a standard part of a GNU/Hurd system. " "$LINENO" 5 fi OLD_LIBS="$LIBS" LIBS= { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ped_device_read in -lparted" >&5 $as_echo_n "checking for ped_device_read in -lparted... " >&6; } if test "${ac_cv_lib_parted_ped_device_read+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lparted $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char ped_device_read (); int main () { return ped_device_read (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_parted_ped_device_read=yes else ac_cv_lib_parted_ped_device_read=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_parted_ped_device_read" >&5 $as_echo "$ac_cv_lib_parted_ped_device_read" >&6; } if test "x$ac_cv_lib_parted_ped_device_read" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBPARTED 1 _ACEOF LIBS="-lparted $LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for store_open in -lstore" >&5 $as_echo_n "checking for store_open in -lstore... " >&6; } if test "${ac_cv_lib_store_store_open+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lstore $OS_LIBS $UUID_LIBS $DM_LIBS $LIBS $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char store_open (); int main () { return store_open (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_store_store_open=yes else ac_cv_lib_store_store_open=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_store_store_open" >&5 $as_echo "$ac_cv_lib_store_store_open" >&6; } if test "x$ac_cv_lib_store_store_open" = x""yes; then : OS_LIBS="$OS_LIBS -lstore" else as_fn_error $? "GNU Parted requires libstore when running on GNU/Hurd systems. It is a standard part of a GNU/Hurd system. " "$LINENO" 5 fi LIBS="$OLD_LIBS" fi if test "$OS" = beos; then OS_LIBS="$OS_LIBS -lsocket" fi ac_fn_c_check_header_mongrel "$LINENO" "uuid/uuid.h" "ac_cv_header_uuid_uuid_h" "$ac_includes_default" if test "x$ac_cv_header_uuid_uuid_h" = x""yes; then : else as_fn_error $? "GNU Parted requires libuuid - a part of the e2fsprogs package. You seem to have the library installed but not the headers. These are usually found in a corresponding development package (usually called e2fsprogs-devel). If you can't find one try: http://web.mit.edu/tytso/www/linux/e2fsprogs.html" "$LINENO" 5 fi for ac_header in getopt.h do : ac_fn_c_check_header_mongrel "$LINENO" "getopt.h" "ac_cv_header_getopt_h" "$ac_includes_default" if test "x$ac_cv_header_getopt_h" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_GETOPT_H 1 _ACEOF fi done if test "$OS" = linux; then ac_fn_c_check_header_mongrel "$LINENO" "linux/unistd.h" "ac_cv_header_linux_unistd_h" "$ac_includes_default" if test "x$ac_cv_header_linux_unistd_h" = x""yes; then : fi fi if test "$with_readline" = yes; then for ac_header in readline/readline.h readline/history.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" eval as_val=\$$as_ac_Header if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF else as_fn_error $? "The headers for GNU Readline could not be found which are required for the --with-readline option. You seem to have the GNU readline library installed but not the headers. These are usually found in a corresponding development package (usually called readline-devel). If you can't find one try: ftp.gnu.org/gnu/readline Alternatively you can disable readline support with --without-readline" "$LINENO" 5 fi done fi for ac_header in termcap.h do : ac_fn_c_check_header_mongrel "$LINENO" "termcap.h" "ac_cv_header_termcap_h" "$ac_includes_default" if test "x$ac_cv_header_termcap_h" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_TERMCAP_H 1 _ACEOF fi done if test "$USE_NLS" = yes; then for ac_header in wctype.h do : ac_fn_c_check_header_mongrel "$LINENO" "wctype.h" "ac_cv_header_wctype_h" "$ac_includes_default" if test "x$ac_cv_header_wctype_h" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_WCTYPE_H 1 _ACEOF else as_fn_error $? "One or more of the header files that are required for native language support (wctype.h) could not be found. Either get a newer version of GNU libc and its headers - which can be obtained from: ftp.gnu.org/gnu/glibc Or disable native language support with the --disable-nls option" "$LINENO" 5 fi done fi ac_fn_c_check_header_mongrel "$LINENO" "execinfo.h" "ac_cv_header_execinfo_h" "$ac_includes_default" if test "x$ac_cv_header_execinfo_h" = x""yes; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for backtrace in -lc" >&5 $as_echo_n "checking for backtrace in -lc... " >&6; } if test "${ac_cv_lib_c_backtrace+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lc $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char backtrace (); int main () { return backtrace (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_c_backtrace=yes else ac_cv_lib_c_backtrace=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_backtrace" >&5 $as_echo "$ac_cv_lib_c_backtrace" >&6; } if test "x$ac_cv_lib_c_backtrace" = x""yes; then : $as_echo "#define HAVE_BACKTRACE 1" >>confdefs.h LDFLAGS="$LDFLAGS -rdynamic" fi fi if test "$host_cpu" = s390 || test "$host_cpu" = s390x; then COMPILE_FOR_S390_TRUE= COMPILE_FOR_S390_FALSE='#' else COMPILE_FOR_S390_TRUE='#' COMPILE_FOR_S390_FALSE= fi if test "$OS" = linux; then BUILD_LINUX_TRUE= BUILD_LINUX_FALSE='#' else BUILD_LINUX_TRUE='#' BUILD_LINUX_FALSE= fi if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 $as_echo "$PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_path_PKG_CONFIG"; then ac_pt_PKG_CONFIG=$PKG_CONFIG # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then : $as_echo_n "(cached) " >&6 else case $ac_pt_PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG if test -n "$ac_pt_PKG_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 $as_echo "$ac_pt_PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_pt_PKG_CONFIG" = x; then PKG_CONFIG="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac PKG_CONFIG=$ac_pt_PKG_CONFIG fi else PKG_CONFIG="$ac_cv_path_PKG_CONFIG" fi fi if test -n "$PKG_CONFIG"; then _pkg_min_version=0.9.0 { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 $as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } PKG_CONFIG="" fi fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CHECK" >&5 $as_echo_n "checking for CHECK... " >&6; } if test -n "$CHECK_CFLAGS"; then pkg_cv_CHECK_CFLAGS="$CHECK_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"check >= 0.9.3\""; } >&5 ($PKG_CONFIG --exists --print-errors "check >= 0.9.3") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_CHECK_CFLAGS=`$PKG_CONFIG --cflags "check >= 0.9.3" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$CHECK_LIBS"; then pkg_cv_CHECK_LIBS="$CHECK_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"check >= 0.9.3\""; } >&5 ($PKG_CONFIG --exists --print-errors "check >= 0.9.3") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_CHECK_LIBS=`$PKG_CONFIG --libs "check >= 0.9.3" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then CHECK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "check >= 0.9.3" 2>&1` else CHECK_PKG_ERRORS=`$PKG_CONFIG --print-errors "check >= 0.9.3" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$CHECK_PKG_ERRORS" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } have_check=no elif test $pkg_failed = untried; then have_check=no else CHECK_CFLAGS=$pkg_cv_CHECK_CFLAGS CHECK_LIBS=$pkg_cv_CHECK_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } have_check=yes fi if test "$have_check" != "yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: Unable to locate check version 0.9.3 or higher: not building" >&5 $as_echo "Unable to locate check version 0.9.3 or higher: not building" >&6; } fi if test "$have_check" = yes; then HAVE_CHECK_TRUE= HAVE_CHECK_FALSE='#' else HAVE_CHECK_TRUE='#' HAVE_CHECK_FALSE= fi # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 $as_echo_n "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi if test "${lt_cv_path_LD+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 $as_echo "$LD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if test "${lt_cv_prog_gnu_ld+set}" = set; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 $as_echo "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 $as_echo_n "checking whether byte ordering is bigendian... " >&6; } if test "${ac_cv_c_bigendian+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_cv_c_bigendian=unknown # See if we're dealing with a universal compiler. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __APPLE_CC__ not a universal capable compiler #endif typedef int dummy; _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # Check for potential -arch flags. It is not universal unless # there are at least two -arch flags with different values. ac_arch= ac_prev= for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do if test -n "$ac_prev"; then case $ac_word in i?86 | x86_64 | ppc | ppc64) if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then ac_arch=$ac_word else ac_cv_c_bigendian=universal break fi ;; esac ac_prev= elif test "x$ac_word" = "x-arch"; then ac_prev=arch fi done fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_c_bigendian = unknown; then # See if sys/param.h defines the BYTE_ORDER macro. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { #if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ && LITTLE_ENDIAN) bogus endian macros #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # It does; now see whether it defined to BIG_ENDIAN or not. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { #if BYTE_ORDER != BIG_ENDIAN not big endian #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_bigendian=yes else ac_cv_c_bigendian=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $ac_cv_c_bigendian = unknown; then # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) bogus endian macros #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # It does; now see whether it defined to _BIG_ENDIAN or not. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #ifndef _BIG_ENDIAN not big endian #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_bigendian=yes else ac_cv_c_bigendian=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $ac_cv_c_bigendian = unknown; then # Compile a test program. if test "$cross_compiling" = yes; then : # Try to guess by grepping values from an object file. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; int use_ascii (int i) { return ascii_mm[i] + ascii_ii[i]; } short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; int use_ebcdic (int i) { return ebcdic_mm[i] + ebcdic_ii[i]; } extern int foo; int main () { return use_ascii (foo) == use_ebcdic (foo); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then ac_cv_c_bigendian=yes fi if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then if test "$ac_cv_c_bigendian" = unknown; then ac_cv_c_bigendian=no else # finding both strings is unlikely to happen, but who knows? ac_cv_c_bigendian=unknown fi fi fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { /* Are we little or big endian? From Harbison&Steele. */ union { long int l; char c[sizeof (long int)]; } u; u.l = 1; return u.c[sizeof (long int) - 1] == 1; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_c_bigendian=no else ac_cv_c_bigendian=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 $as_echo "$ac_cv_c_bigendian" >&6; } case $ac_cv_c_bigendian in #( yes) $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h ;; #( no) ;; #( universal) $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h ;; #( *) as_fn_error $? "unknown endianness presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 $as_echo_n "checking for inline... " >&6; } if test "${ac_cv_c_inline+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __cplusplus typedef int foo_t; static $ac_kw foo_t static_foo () {return 0; } $ac_kw foo_t foo () {return 0; } #endif _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_inline=$ac_kw fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext test "$ac_cv_c_inline" != no && break done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 $as_echo "$ac_cv_c_inline" >&6; } case $ac_cv_c_inline in inline | yes) ;; *) case $ac_cv_c_inline in no) ac_val=;; *) ac_val=$ac_cv_c_inline;; esac cat >>confdefs.h <<_ACEOF #ifndef __cplusplus #define inline $ac_val #endif _ACEOF ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 $as_echo_n "checking for an ANSI C-conforming const... " >&6; } if test "${ac_cv_c_const+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { /* FIXME: Include the comments suggested by Paul. */ #ifndef __cplusplus /* Ultrix mips cc rejects this. */ typedef int charset[2]; const charset cs; /* SunOS 4.1.1 cc rejects this. */ char const *const *pcpcc; char **ppc; /* NEC SVR4.0.2 mips cc rejects this. */ struct point {int x, y;}; static struct point const zero = {0,0}; /* AIX XL C 1.02.0.0 rejects this. It does not let you subtract one const X* pointer from another in an arm of an if-expression whose if-part is not a constant expression */ const char *g = "string"; pcpcc = &g + (g ? g-g : 0); /* HPUX 7.0 cc rejects these. */ ++pcpcc; ppc = (char**) pcpcc; pcpcc = (char const *const *) ppc; { /* SCO 3.2v4 cc rejects this. */ char *t; char const *s = 0 ? (char *) 0 : (char const *) 0; *t++ = 0; if (s) return 0; } { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ int x[] = {25, 17}; const int *foo = &x[0]; ++foo; } { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ typedef const int *iptr; iptr p = 0; ++p; } { /* AIX XL C 1.02.0.0 rejects this saying "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ struct s { int j; const int *ap[3]; }; struct s *b; b->j = 5; } { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ const int foo = 10; if (!foo) return 0; } return !cs[0] && !zero.x; #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_const=yes else ac_cv_c_const=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 $as_echo "$ac_cv_c_const" >&6; } if test $ac_cv_c_const = no; then $as_echo "#define const /**/" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C/C++ restrict keyword" >&5 $as_echo_n "checking for C/C++ restrict keyword... " >&6; } if test "${ac_cv_c_restrict+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_cv_c_restrict=no # The order here caters to the fact that C++ does not require restrict. for ac_kw in __restrict __restrict__ _Restrict restrict; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ typedef int * int_ptr; int foo (int_ptr $ac_kw ip) { return ip[0]; } int main () { int s[1]; int * $ac_kw t = s; t[0] = 0; return foo(t) ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_restrict=$ac_kw fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext test "$ac_cv_c_restrict" != no && break done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_restrict" >&5 $as_echo "$ac_cv_c_restrict" >&6; } case $ac_cv_c_restrict in restrict) ;; no) $as_echo "#define restrict /**/" >>confdefs.h ;; *) cat >>confdefs.h <<_ACEOF #define restrict $ac_cv_c_restrict _ACEOF ;; esac for ac_func in sigaction do : ac_fn_c_check_func "$LINENO" "sigaction" "ac_cv_func_sigaction" if test "x$ac_cv_func_sigaction" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SIGACTION 1 _ACEOF fi done for ac_func in getuid do : ac_fn_c_check_func "$LINENO" "getuid" "ac_cv_func_getuid" if test "x$ac_cv_func_getuid" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_GETUID 1 _ACEOF fi done if test "$with_readline" = yes; then OLD_LIBS="$LIBS" LIBS="$LIBS $PARTED_LIBS -lreadline" for ac_func in rl_completion_matches do : ac_fn_c_check_func "$LINENO" "rl_completion_matches" "ac_cv_func_rl_completion_matches" if test "x$ac_cv_func_rl_completion_matches" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_RL_COMPLETION_MATCHES 1 _ACEOF fi done LIBS="$OLD_LIBS" fi for ac_func in canonicalize_file_name do : ac_fn_c_check_func "$LINENO" "canonicalize_file_name" "ac_cv_func_canonicalize_file_name" if test "x$ac_cv_func_canonicalize_file_name" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_CANONICALIZE_FILE_NAME 1 _ACEOF fi done # CFLAGS="$CFLAGS -W -Wall -Wno-unused -Wno-switch -Wno-format" if test "$enable_Werror" = yes; then CFLAGS="$CFLAGS -Werror" fi DATE=$(date '+%d %b %Y %H:%M') USER=$(whoami) HOST=$(hostname) BUILDINFO="$USER@$HOST, $DATE" LIB_BLKID= pe_saved_libs=$LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing blkid_probe_get_topology" >&5 $as_echo_n "checking for library containing blkid_probe_get_topology... " >&6; } if test "${ac_cv_search_blkid_probe_get_topology+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char blkid_probe_get_topology (); int main () { return blkid_probe_get_topology (); ; return 0; } _ACEOF for ac_lib in '' blkid; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_blkid_probe_get_topology=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if test "${ac_cv_search_blkid_probe_get_topology+set}" = set; then : break fi done if test "${ac_cv_search_blkid_probe_get_topology+set}" = set; then : else ac_cv_search_blkid_probe_get_topology=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_blkid_probe_get_topology" >&5 $as_echo "$ac_cv_search_blkid_probe_get_topology" >&6; } ac_res=$ac_cv_search_blkid_probe_get_topology if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" test "$ac_cv_search_blkid_probe_get_topology" = "none required" \ || LIB_BLKID=$ac_cv_search_blkid_probe_get_topology fi ac_fn_c_check_func "$LINENO" "blkid_probe_get_topology" "ac_cv_func_blkid_probe_get_topology" if test "x$ac_cv_func_blkid_probe_get_topology" = x""yes; then : use_blkid=1 else use_blkid=0 fi LIBS=$pe_saved_libs cat >>confdefs.h <<_ACEOF #define USE_BLKID $use_blkid _ACEOF ac_config_files="$ac_config_files Makefile lib/Makefile include/Makefile include/parted/Makefile libparted/Makefile libparted/labels/Makefile libparted/fs/Makefile libparted/fs/amiga/Makefile libparted/fs/ext2/Makefile libparted/fs/fat/Makefile libparted/fs/hfs/Makefile libparted/fs/jfs/Makefile libparted/fs/linux_swap/Makefile libparted/fs/ntfs/Makefile libparted/fs/reiserfs/Makefile libparted/fs/ufs/Makefile libparted/fs/xfs/Makefile libparted/tests/Makefile libparted.pc parted/Makefile partprobe/Makefile doc/Makefile doc/C/Makefile doc/pt_BR/Makefile debug/Makefile debug/clearfat/Makefile debug/test/Makefile tests/Makefile po/Makefile.in" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then test "x$cache_file" != "x/dev/null" && { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' else am__EXEEXT_TRUE='#' am__EXEEXT_FALSE= fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then as_fn_error $? "conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${GL_COND_LIBTOOL_TRUE}" && test -z "${GL_COND_LIBTOOL_FALSE}"; then as_fn_error $? "conditional \"GL_COND_LIBTOOL\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi test "X$DEFS" = X-DHAVE_CONFIG_H && DEFS= CONFIG_INCLUDE=lib/config.h gl_libobjs= gl_ltlibobjs= if test -n "$gl_LIBOBJS"; then # Remove the extension. sed_drop_objext='s/\.o$//;s/\.obj$//' for i in `for i in $gl_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do gl_libobjs="$gl_libobjs $i.$ac_objext" gl_ltlibobjs="$gl_ltlibobjs $i.lo" done fi gl_LIBOBJS=$gl_libobjs gl_LTLIBOBJS=$gl_ltlibobjs gltests_libobjs= gltests_ltlibobjs= if test -n "$gltests_LIBOBJS"; then # Remove the extension. sed_drop_objext='s/\.o$//;s/\.obj$//' for i in `for i in $gltests_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do gltests_libobjs="$gltests_libobjs $i.$ac_objext" gltests_ltlibobjs="$gltests_ltlibobjs $i.lo" done fi gltests_LIBOBJS=$gltests_libobjs gltests_LTLIBOBJS=$gltests_ltlibobjs if test -z "${COMPILE_FOR_S390_TRUE}" && test -z "${COMPILE_FOR_S390_FALSE}"; then as_fn_error $? "conditional \"COMPILE_FOR_S390\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_LINUX_TRUE}" && test -z "${BUILD_LINUX_FALSE}"; then as_fn_error $? "conditional \"BUILD_LINUX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${HAVE_CHECK_TRUE}" && test -z "${HAVE_CHECK_FALSE}"; then as_fn_error $? "conditional \"HAVE_CHECK\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi : ${CONFIG_STATUS=./config.status} ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in #( -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by GNU parted $as_me 2.3, which was generated by GNU Autoconf 2.65.70-64f8f. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac case $ac_config_headers in *" "*) set x $ac_config_headers; shift; ac_config_headers=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" config_links="$ac_config_links" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration links: $config_links Configuration commands: $config_commands Report bugs to . GNU parted home page: . General help using GNU software: ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ GNU parted config.status 2.3 configured by $0, generated by GNU Autoconf 2.65.70-64f8f, with options \\"\$ac_cs_config\\" Copyright (C) 2010 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' AWK='$AWK' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" GNUmakefile=$GNUmakefile # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH sed_quote_subst='$sed_quote_subst' double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`' hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' fix_srcfile_path='`$ECHO "$fix_srcfile_path" | $SED "$delay_single_quote_subst"`' always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`' hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' LTCC='$LTCC' LTCFLAGS='$LTCFLAGS' compiler='$compiler_DEFAULT' # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF \$1 _LTECHO_EOF' } # Quote evaled strings. for var in SHELL \ ECHO \ SED \ GREP \ EGREP \ FGREP \ LD \ NM \ LN_S \ lt_SP2NL \ lt_NL2SP \ reload_flag \ OBJDUMP \ deplibs_check_method \ file_magic_cmd \ AR \ AR_FLAGS \ STRIP \ RANLIB \ CC \ CFLAGS \ compiler \ lt_cv_sys_global_symbol_pipe \ lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_c_name_address \ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ lt_prog_compiler_no_builtin_flag \ lt_prog_compiler_wl \ lt_prog_compiler_pic \ lt_prog_compiler_static \ lt_cv_prog_compiler_c_o \ need_locks \ DSYMUTIL \ NMEDIT \ LIPO \ OTOOL \ OTOOL64 \ shrext_cmds \ export_dynamic_flag_spec \ whole_archive_flag_spec \ compiler_needs_object \ with_gnu_ld \ allow_undefined_flag \ no_undefined_flag \ hardcode_libdir_flag_spec \ hardcode_libdir_flag_spec_ld \ hardcode_libdir_separator \ fix_srcfile_path \ exclude_expsyms \ include_expsyms \ file_list_spec \ variables_saved_for_relink \ libname_spec \ library_names_spec \ soname_spec \ install_override_mode \ finish_eval \ old_striplib \ striplib; do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Double-quote double-evaled strings. for var in reload_cmds \ old_postinstall_cmds \ old_postuninstall_cmds \ old_archive_cmds \ extract_expsyms_cmds \ old_archive_from_new_cmds \ old_archive_from_expsyms_cmds \ archive_cmds \ archive_expsym_cmds \ module_cmds \ module_expsym_cmds \ export_symbols_cmds \ prelink_cmds \ postinstall_cmds \ postuninstall_cmds \ finish_cmds \ sys_lib_search_path_spec \ sys_lib_dlsearch_path_spec; do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done ac_aux_dir='$ac_aux_dir' xsi_shell='$xsi_shell' lt_shell_append='$lt_shell_append' # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes INIT. if test -n "\${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi PACKAGE='$PACKAGE' VERSION='$VERSION' TIMESTAMP='$TIMESTAMP' RM='$RM' ofile='$ofile' # Capture the value of obsolete ALL_LINGUAS because we need it to compute # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it # from automake < 1.5. eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' # Capture the value of LINGUAS because we need it to compute CATALOGS. LINGUAS="${LINGUAS-%UNSET%}" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "lib/config.h") CONFIG_HEADERS="$CONFIG_HEADERS lib/config.h:lib/config.h.in" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "$GNUmakefile") CONFIG_LINKS="$CONFIG_LINKS $GNUmakefile:$GNUmakefile" ;; "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; "po-directories") CONFIG_COMMANDS="$CONFIG_COMMANDS po-directories" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;; "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;; "include/parted/Makefile") CONFIG_FILES="$CONFIG_FILES include/parted/Makefile" ;; "libparted/Makefile") CONFIG_FILES="$CONFIG_FILES libparted/Makefile" ;; "libparted/labels/Makefile") CONFIG_FILES="$CONFIG_FILES libparted/labels/Makefile" ;; "libparted/fs/Makefile") CONFIG_FILES="$CONFIG_FILES libparted/fs/Makefile" ;; "libparted/fs/amiga/Makefile") CONFIG_FILES="$CONFIG_FILES libparted/fs/amiga/Makefile" ;; "libparted/fs/ext2/Makefile") CONFIG_FILES="$CONFIG_FILES libparted/fs/ext2/Makefile" ;; "libparted/fs/fat/Makefile") CONFIG_FILES="$CONFIG_FILES libparted/fs/fat/Makefile" ;; "libparted/fs/hfs/Makefile") CONFIG_FILES="$CONFIG_FILES libparted/fs/hfs/Makefile" ;; "libparted/fs/jfs/Makefile") CONFIG_FILES="$CONFIG_FILES libparted/fs/jfs/Makefile" ;; "libparted/fs/linux_swap/Makefile") CONFIG_FILES="$CONFIG_FILES libparted/fs/linux_swap/Makefile" ;; "libparted/fs/ntfs/Makefile") CONFIG_FILES="$CONFIG_FILES libparted/fs/ntfs/Makefile" ;; "libparted/fs/reiserfs/Makefile") CONFIG_FILES="$CONFIG_FILES libparted/fs/reiserfs/Makefile" ;; "libparted/fs/ufs/Makefile") CONFIG_FILES="$CONFIG_FILES libparted/fs/ufs/Makefile" ;; "libparted/fs/xfs/Makefile") CONFIG_FILES="$CONFIG_FILES libparted/fs/xfs/Makefile" ;; "libparted/tests/Makefile") CONFIG_FILES="$CONFIG_FILES libparted/tests/Makefile" ;; "libparted.pc") CONFIG_FILES="$CONFIG_FILES libparted.pc" ;; "parted/Makefile") CONFIG_FILES="$CONFIG_FILES parted/Makefile" ;; "partprobe/Makefile") CONFIG_FILES="$CONFIG_FILES partprobe/Makefile" ;; "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; "doc/C/Makefile") CONFIG_FILES="$CONFIG_FILES doc/C/Makefile" ;; "doc/pt_BR/Makefile") CONFIG_FILES="$CONFIG_FILES doc/pt_BR/Makefile" ;; "debug/Makefile") CONFIG_FILES="$CONFIG_FILES debug/Makefile" ;; "debug/clearfat/Makefile") CONFIG_FILES="$CONFIG_FILES debug/clearfat/Makefile" ;; "debug/test/Makefile") CONFIG_FILES="$CONFIG_FILES debug/test/Makefile" ;; "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;; "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= trap 'exit_status=$? { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove $(srcdir), # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and # 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 || ac_write_fail=1 fi # test -n "$CONFIG_FILES" # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then cat >"$tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF # Transform confdefs.h into an awk script `defines.awk', embedded as # here-document in config.status, that substitutes the proper values into # config.h.in to produce config.h. # Create a delimiter string that does not exist in confdefs.h, to ease # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do ac_t=`sed -n "/$ac_delim/p" confdefs.h` if test -z "$ac_t"; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done # For the awk script, D is an array of macro values keyed by name, # likewise P contains macro parameters if any. Preserve backslash # newline sequences. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* sed -n ' s/.\{148\}/&'"$ac_delim"'/g t rset :rset s/^[ ]*#[ ]*define[ ][ ]*/ / t def d :def s/\\$// t bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3"/p s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p d :bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3\\\\\\n"\\/p t cont s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p t cont d :cont n s/.\{148\}/&'"$ac_delim"'/g t clear :clear s/\\$// t bsnlc s/["\\]/\\&/g; s/^/"/; s/$/"/p d :bsnlc s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p b cont ' >$CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 for (key in D) D_is_set[key] = 1 FS = "" } /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { line = \$ 0 split(line, arg, " ") if (arg[1] == "#") { defundef = arg[2] mac1 = arg[3] } else { defundef = substr(arg[1], 2) mac1 = arg[2] } split(mac1, mac2, "(") #) macro = mac2[1] prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { # Preserve the white space surrounding the "#". print prefix "define", macro P[macro] D[macro] next } else { # Replace #undef with comments. This is necessary, for example, # in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. if (defundef == "undef") { print "/*", prefix defundef, macro, "*/" next } } } { print } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :L $CONFIG_LINKS :C $CONFIG_COMMANDS" shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$tmp/stdin" case $ac_file in -) cat "$tmp/out" && rm -f "$tmp/out";; *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # # CONFIG_HEADER # if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" } >"$tmp/config.h" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$tmp/config.h" "$ac_file" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ || as_fn_error $? "could not create -" "$LINENO" 5 fi # Compute "$ac_file"'s index in $config_headers. _am_arg="$ac_file" _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$_am_arg" : 'X\(//\)[^/]' \| \ X"$_am_arg" : 'X\(//\)$' \| \ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$_am_arg" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'`/stamp-h$_am_stamp_count ;; :L) # # CONFIG_LINK # if test "$ac_source" = "$ac_file" && test "$srcdir" = '.'; then : else # Prefer the file from the source tree if names are identical. if test "$ac_source" = "$ac_file" || test ! -r "$ac_source"; then ac_source=$srcdir/$ac_source fi { $as_echo "$as_me:${as_lineno-$LINENO}: linking $ac_source to $ac_file" >&5 $as_echo "$as_me: linking $ac_source to $ac_file" >&6;} if test ! -r "$ac_source"; then as_fn_error $? "$ac_source: file not found" "$LINENO" 5 fi rm -f "$ac_file" # Try a relative symlink, then a hard link, then a copy. case $ac_source in [\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;; *) ac_rel_source=$ac_top_build_prefix$ac_source ;; esac ln -s "$ac_rel_source" "$ac_file" 2>/dev/null || ln "$ac_source" "$ac_file" 2>/dev/null || cp -p "$ac_source" "$ac_file" || as_fn_error $? "cannot link or copy $ac_source to $ac_file" "$LINENO" 5 fi ;; :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 $as_echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || { # Autoconf 2.62 quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir=$dirpart/$fdir; as_fn_mkdir_p # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ;; "libtool":C) # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi cfgfile="${ofile}T" trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL # `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. # Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006, 2007, 2008, 2009 Free Software Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. # # GNU Libtool is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2 of # the License, or (at your option) any later version. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Libtool; see the file COPYING. If not, a copy # can be downloaded from http://www.gnu.org/licenses/gpl.html, or # obtained by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # The names of the tagged configurations supported by this script. available_tags="" # ### BEGIN LIBTOOL CONFIG # Whether or not to build shared libraries. build_libtool_libs=$enable_shared # Which release of libtool.m4 was used? macro_version=$macro_version macro_revision=$macro_revision # Whether or not to build static libraries. build_old_libs=$enable_static # What type of objects to build. pic_mode=$pic_mode # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # Shell to use when invoking shell scripts. SHELL=$lt_SHELL # An echo program that protects backslashes. ECHO=$lt_ECHO # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # A sed program that does not truncate output. SED=$lt_SED # Sed that helps us avoid accidentally triggering echo(1) options like -n. Xsed="\$SED -e 1s/^X//" # A grep program that handles long lines. GREP=$lt_GREP # An ERE matcher. EGREP=$lt_EGREP # A literal string matcher. FGREP=$lt_FGREP # A BSD- or MS-compatible name lister. NM=$lt_NM # Whether we need soft or hard links. LN_S=$lt_LN_S # What is the maximum length of a command? max_cmd_len=$max_cmd_len # Object file suffix (normally "o"). objext=$ac_objext # Executable file suffix (normally ""). exeext=$exeext # whether the shell understands "unset". lt_unset=$lt_unset # turn spaces into newlines. SP2NL=$lt_lt_SP2NL # turn newlines into spaces. NL2SP=$lt_lt_NL2SP # An object symbol dumper. OBJDUMP=$lt_OBJDUMP # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method # Command to use when deplibs_check_method == "file_magic". file_magic_cmd=$lt_file_magic_cmd # The archiver. AR=$lt_AR AR_FLAGS=$lt_AR_FLAGS # A symbol stripping program. STRIP=$lt_STRIP # Commands used to install an old-style archive. RANLIB=$lt_RANLIB old_postinstall_cmds=$lt_old_postinstall_cmds old_postuninstall_cmds=$lt_old_postuninstall_cmds # Whether to use a lock for old archive extraction. lock_old_archive_extraction=$lock_old_archive_extraction # A C compiler. LTCC=$lt_CC # LTCC compiler flags. LTCFLAGS=$lt_CFLAGS # Take the output of nm and produce a listing of raw symbols and C names. global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe # Transform the output of nm in a proper C declaration. global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl # Transform the output of nm in a C name address pair. global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # Transform the output of nm in a C name address pair when lib prefix is needed. global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix # The name of the directory that contains temporary libtool files. objdir=$objdir # Used to examine libraries when file_magic_cmd begins with "file". MAGIC_CMD=$MAGIC_CMD # Must we lock files when doing compilation? need_locks=$lt_need_locks # Tool to manipulate archived DWARF debug symbol files on Mac OS X. DSYMUTIL=$lt_DSYMUTIL # Tool to change global to local symbols on Mac OS X. NMEDIT=$lt_NMEDIT # Tool to manipulate fat objects and archives on Mac OS X. LIPO=$lt_LIPO # ldd/readelf like tool for Mach-O binaries on Mac OS X. OTOOL=$lt_OTOOL # ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. OTOOL64=$lt_OTOOL64 # Old archive suffix (normally "a"). libext=$libext # Shared library suffix (normally ".so"). shrext_cmds=$lt_shrext_cmds # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds=$lt_extract_expsyms_cmds # Variables whose values should be saved in libtool wrapper scripts and # restored at link time. variables_saved_for_relink=$lt_variables_saved_for_relink # Do we need the "lib" prefix for modules? need_lib_prefix=$need_lib_prefix # Do we need a version for libraries? need_version=$need_version # Library versioning type. version_type=$version_type # Shared library runtime path variable. runpath_var=$runpath_var # Shared library path variable. shlibpath_var=$shlibpath_var # Is shlibpath searched before the hard-coded library search path? shlibpath_overrides_runpath=$shlibpath_overrides_runpath # Format of library name prefix. libname_spec=$lt_libname_spec # List of archive names. First name is the real one, the rest are links. # The last name is the one that the linker finds with -lNAME library_names_spec=$lt_library_names_spec # The coded name of the library, if different from the real name. soname_spec=$lt_soname_spec # Permission mode override for installation of shared libraries. install_override_mode=$lt_install_override_mode # Command to use after installation of a shared archive. postinstall_cmds=$lt_postinstall_cmds # Command to use after uninstallation of a shared archive. postuninstall_cmds=$lt_postuninstall_cmds # Commands used to finish a libtool library installation in a directory. finish_cmds=$lt_finish_cmds # As "finish_cmds", except a single script fragment to be evaled but # not shown. finish_eval=$lt_finish_eval # Whether we should hardcode library paths into libraries. hardcode_into_libs=$hardcode_into_libs # Compile-time system search path for libraries. sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries. sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec # Whether dlopen is supported. dlopen_support=$enable_dlopen # Whether dlopen of programs is supported. dlopen_self=$enable_dlopen_self # Whether dlopen of statically linked programs is supported. dlopen_self_static=$enable_dlopen_self_static # Commands to strip libraries. old_striplib=$lt_old_striplib striplib=$lt_striplib # The linker used to build libraries. LD=$lt_LD # How to create reloadable object files. reload_flag=$lt_reload_flag reload_cmds=$lt_reload_cmds # Commands used to build an old-style archive. old_archive_cmds=$lt_old_archive_cmds # A language specific compiler. CC=$lt_compiler # Is the compiler the GNU compiler? with_gcc=$GCC # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc # Whether or not to disallow shared libs when runtime libs are static. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec # Whether the compiler copes with passing no objects directly. compiler_needs_object=$lt_compiler_needs_object # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds # Commands used to build a shared archive. archive_cmds=$lt_archive_cmds archive_expsym_cmds=$lt_archive_expsym_cmds # Commands used to build a loadable module if different from building # a shared archive. module_cmds=$lt_module_cmds module_expsym_cmds=$lt_module_expsym_cmds # Whether we are building with GNU ld or not. with_gnu_ld=$lt_with_gnu_ld # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag # Flag that enforces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec # If ld is used when linking, flag to hardcode \$libdir into a binary # during linking. This must work even if \$libdir does not exist. hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld # Whether we need a single "-rpath" flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary. hardcode_direct=$hardcode_direct # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary and the resulting library dependency is # "absolute",i.e impossible to change by setting \${shlibpath_var} if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute # Set to "yes" if using the -LDIR flag during linking hardcodes DIR # into the resulting binary. hardcode_minus_L=$hardcode_minus_L # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR # into the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var # Set to "yes" if building a shared library automatically hardcodes DIR # into the library and all subsequent libraries and executables linked # against it. hardcode_automatic=$hardcode_automatic # Set to yes if linker adds runtime paths of dependent libraries # to runtime path list. inherit_rpath=$inherit_rpath # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs # Fix the shell variable \$srcfile for the compiler. fix_srcfile_path=$lt_fix_srcfile_path # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms # Symbols that must always be exported. include_expsyms=$lt_include_expsyms # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds # Specify filename containing input files. file_list_spec=$lt_file_list_spec # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action # ### END LIBTOOL CONFIG _LT_EOF case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi _LT_EOF ;; esac ltmain="$ac_aux_dir/ltmain.sh" # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) case $xsi_shell in yes) cat << \_LT_EOF >> "$cfgfile" # func_dirname file append nondir_replacement # Compute the dirname of FILE. If nonempty, add APPEND to the result, # otherwise set result to NONDIR_REPLACEMENT. func_dirname () { case ${1} in */*) func_dirname_result="${1%/*}${2}" ;; * ) func_dirname_result="${3}" ;; esac } # func_basename file func_basename () { func_basename_result="${1##*/}" } # func_dirname_and_basename file append nondir_replacement # perform func_basename and func_dirname in a single function # call: # dirname: Compute the dirname of FILE. If nonempty, # add APPEND to the result, otherwise set result # to NONDIR_REPLACEMENT. # value returned in "$func_dirname_result" # basename: Compute filename of FILE. # value retuned in "$func_basename_result" # Implementation must be kept synchronized with func_dirname # and func_basename. For efficiency, we do not delegate to # those functions but instead duplicate the functionality here. func_dirname_and_basename () { case ${1} in */*) func_dirname_result="${1%/*}${2}" ;; * ) func_dirname_result="${3}" ;; esac func_basename_result="${1##*/}" } # func_stripname prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). func_stripname () { # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are # positional parameters, so assign one to ordinary parameter first. func_stripname_result=${3} func_stripname_result=${func_stripname_result#"${1}"} func_stripname_result=${func_stripname_result%"${2}"} } # func_opt_split func_opt_split () { func_opt_split_opt=${1%%=*} func_opt_split_arg=${1#*=} } # func_lo2o object func_lo2o () { case ${1} in *.lo) func_lo2o_result=${1%.lo}.${objext} ;; *) func_lo2o_result=${1} ;; esac } # func_xform libobj-or-source func_xform () { func_xform_result=${1%.*}.lo } # func_arith arithmetic-term... func_arith () { func_arith_result=$(( $* )) } # func_len string # STRING may not start with a hyphen. func_len () { func_len_result=${#1} } _LT_EOF ;; *) # Bourne compatible functions. cat << \_LT_EOF >> "$cfgfile" # func_dirname file append nondir_replacement # Compute the dirname of FILE. If nonempty, add APPEND to the result, # otherwise set result to NONDIR_REPLACEMENT. func_dirname () { # Extract subdirectory from the argument. func_dirname_result=`$ECHO "${1}" | $SED "$dirname"` if test "X$func_dirname_result" = "X${1}"; then func_dirname_result="${3}" else func_dirname_result="$func_dirname_result${2}" fi } # func_basename file func_basename () { func_basename_result=`$ECHO "${1}" | $SED "$basename"` } # func_stripname prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). # func_strip_suffix prefix name func_stripname () { case ${2} in .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; esac } # sed scripts: my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q' my_sed_long_arg='1s/^-[^=]*=//' # func_opt_split func_opt_split () { func_opt_split_opt=`$ECHO "${1}" | $SED "$my_sed_long_opt"` func_opt_split_arg=`$ECHO "${1}" | $SED "$my_sed_long_arg"` } # func_lo2o object func_lo2o () { func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"` } # func_xform libobj-or-source func_xform () { func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'` } # func_arith arithmetic-term... func_arith () { func_arith_result=`expr "$@"` } # func_len string # STRING may not start with a hyphen. func_len () { func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` } _LT_EOF esac case $lt_shell_append in yes) cat << \_LT_EOF >> "$cfgfile" # func_append var value # Append VALUE to the end of shell variable VAR. func_append () { eval "$1+=\$2" } _LT_EOF ;; *) cat << \_LT_EOF >> "$cfgfile" # func_append var value # Append VALUE to the end of shell variable VAR. func_append () { eval "$1=\$$1\$2" } _LT_EOF ;; esac sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" ;; "po-directories":C) for ac_file in $CONFIG_FILES; do # Support "outfile[:infile[:infile...]]" case "$ac_file" in *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; esac # PO directories have a Makefile.in generated from Makefile.in.in. case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Treat a directory as a PO directory if and only if it has a # POTFILES.in file. This allows packages to have multiple PO # directories under different names or in different locations. if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then rm -f "$ac_dir/POTFILES" test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" POMAKEFILEDEPS="POTFILES.in" # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend # on $ac_dir but don't depend on user-specified configuration # parameters. if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then # The LINGUAS file contains the set of available languages. if test -n "$OBSOLETE_ALL_LINGUAS"; then test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' fi # Compute POFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) # Compute UPDATEPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) # Compute DUMMYPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) # Compute GMOFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) case "$ac_given_srcdir" in .) srcdirpre= ;; *) srcdirpre='$(srcdir)/' ;; esac POFILES= UPDATEPOFILES= DUMMYPOFILES= GMOFILES= for lang in $ALL_LINGUAS; do POFILES="$POFILES $srcdirpre$lang.po" UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" DUMMYPOFILES="$DUMMYPOFILES $lang.nop" GMOFILES="$GMOFILES $srcdirpre$lang.gmo" done # CATALOGS depends on both $ac_dir and the user's LINGUAS # environment variable. INST_LINGUAS= if test -n "$ALL_LINGUAS"; then for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "$LINGUAS"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then INST_LINGUAS="$INST_LINGUAS $presentlang" fi done fi CATALOGS= if test -n "$INST_LINGUAS"; then for lang in $INST_LINGUAS; do CATALOGS="$CATALOGS $lang.gmo" done fi test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do if test -f "$f"; then case "$f" in *.orig | *.bak | *~) ;; *) cat "$f" >> "$ac_dir/Makefile" ;; esac fi done fi ;; esac done ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi echo echo Type \'make\' to compile parted. parted-2.3/Makefile.in0000644000000000000000000014702111400005575011573 00000000000000# Makefile.in generated by automake 1.11a from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = . DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(srcdir)/libparted.pc.in \ $(top_srcdir)/configure ABOUT-NLS AUTHORS COPYING ChangeLog \ INSTALL NEWS THANKS TODO build-aux/compile \ build-aux/config.guess build-aux/config.rpath \ build-aux/config.sub build-aux/depcomp build-aux/install-sh \ build-aux/ltmain.sh build-aux/mdate-sh build-aux/missing \ build-aux/texinfo.tex ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \ $(top_srcdir)/m4/asm-underscore.m4 $(top_srcdir)/m4/assert.m4 \ $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/calloc.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \ $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/dirname.m4 \ $(top_srcdir)/m4/dos.m4 $(top_srcdir)/m4/double-slash-root.m4 \ $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/extensions.m4 \ $(top_srcdir)/m4/fclose.m4 $(top_srcdir)/m4/fcntl-o.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fpending.m4 \ $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getopt.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \ $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/lib-ignore.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \ $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \ $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/long-options.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \ $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/memchr.m4 \ $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \ $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/o-direct.m4 $(top_srcdir)/m4/open.m4 \ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \ $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/readlink.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/safe-read.m4 \ $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \ $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/symlink.m4 \ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \ $(top_srcdir)/m4/version-etc.m4 \ $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \ $(top_srcdir)/m4/wctype_h.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xstrndup.m4 \ $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/lib/config.h CONFIG_CLEAN_FILES = libparted.pc CONFIG_CLEAN_VPATH_FILES = AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(pcdir)" DATA = $(pc_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ cscope distdir dist dist-all distcheck ETAGS = etags CTAGS = ctags CSCOPE = cscope DIST_SUBDIRS = $(SUBDIRS) 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)"; }; } am__post_remove_distdir = $(am__remove_distdir) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.xz GZIP_ENV = --best DIST_TARGETS = dist-xz dist-gzip distuninstallcheck_listfiles = find . -type f -print distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ BUILDINFO = @BUILDINFO@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ CONFIG_INCLUDE = @CONFIG_INCLUDE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DL_LIBS = @DL_LIBS@ DM_LIBS = @DM_LIBS@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENABLE_DEVICE_MAPPER = @ENABLE_DEVICE_MAPPER@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPURGE = @GNULIB_FPURGE@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSTATAT = @GNULIB_FSTATAT@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETGROUPS = @GNULIB_GETGROUPS@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMCHR = @GNULIB_MEMCHR@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDIRAT = @GNULIB_MKDIRAT@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKFIFO = @GNULIB_MKFIFO@ GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@ GNULIB_MKNOD = @GNULIB_MKNOD@ GNULIB_MKNODAT = @GNULIB_MKNODAT@ GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PTSNAME = @GNULIB_PTSNAME@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ GNULIB_RMDIR = @GNULIB_RMDIR@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STAT = @GNULIB_STAT@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNCAT = @GNULIB_STRNCAT@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRPTIME = @GNULIB_STRPTIME@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNLINK = @GNULIB_UNLINK@ GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_USLEEP = @GNULIB_USLEEP@ GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_FUTIMENS = @HAVE_FUTIMENS@ HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETGROUPS = @HAVE_GETGROUPS@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@ HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@ HAVE_LANGINFO_H = @HAVE_LANGINFO_H@ HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LCHOWN = @HAVE_LCHOWN@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LOCALTIME_R = @HAVE_LOCALTIME_R@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_MKFIFO = @HAVE_MKFIFO@ HAVE_MKFIFOAT = @HAVE_MKFIFOAT@ HAVE_MKNOD = @HAVE_MKNOD@ HAVE_MKNODAT = @HAVE_MKNODAT@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ HAVE_OS_H = @HAVE_OS_H@ HAVE_PIPE2 = @HAVE_PIPE2@ HAVE_PREAD = @HAVE_PREAD@ HAVE_PTSNAME = @HAVE_PTSNAME@ HAVE_PWRITE = @HAVE_PWRITE@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TTYNAME_R = @HAVE_TTYNAME_R@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_USLEEP = @HAVE_USLEEP@ HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ HAVE_WCRTOMB = @HAVE_WCRTOMB@ HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE__BOOL = @HAVE__BOOL@ IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ INTLINCS = @INTLINCS@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ LIBTOOL = @LIBTOOL@ LIB_BLKID = @LIB_BLKID@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@ LOCALE_JA = @LOCALE_JA@ LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTALLOCA = @LTALLOCA@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ NEXT_WCTYPE_H = @NEXT_WCTYPE_H@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OS = @OS@ OS_LIBS = @OS_LIBS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PARTEDLDFLAGS = @PARTEDLDFLAGS@ PARTED_LIBS = @PARTED_LIBS@ PARTED_USABLE_TEST_DIR = @PARTED_USABLE_TEST_DIR@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POSUB = @POSUB@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PRIPTR_PREFIX = @PRIPTR_PREFIX@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REISER_LIBS = @REISER_LIBS@ REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FSTAT = @REPLACE_FSTAT@ REPLACE_FSTATAT = @REPLACE_FSTATAT@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ REPLACE_MBRLEN = @REPLACE_MBRLEN@ REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ REPLACE_MBSINIT = @REPLACE_MBSINIT@ REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_OPENAT = @REPLACE_OPENAT@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALPATH = @REPLACE_REALPATH@ REPLACE_REMOVE = @REPLACE_REMOVE@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRNCAT = @REPLACE_STRNCAT@ REPLACE_STRNDUP = @REPLACE_STRNDUP@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ REPLACE_UNSETENV = @REPLACE_UNSETENV@ REPLACE_USLEEP = @REPLACE_USLEEP@ REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ SELINUX_LIBS = @SELINUX_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_NLS = @USE_NLS@ UUID_LIBS = @UUID_LIBS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_aux_dir = @abs_aux_dir@ 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@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ gltests_WITNESS = @gltests_WITNESS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ ACLOCAL_AMFLAGS = -I m4 SUBDIRS = po lib libparted parted partprobe include doc debug tests EXTRA_DIST = \ .version \ .prev-version \ BUGS \ libparted.pc.in \ parted.spec.in \ parted.spec \ .x-sc_GPL_version \ .x-sc_prohibit_always-defined_macros \ scripts/data/abi/baseline_symbols.txt \ scripts/extract_symvers \ cfg.mk \ dist-check.mk \ maint.mk \ GNUmakefile aclocaldir = $(datadir)/aclocal pcdir = $(libdir)/pkgconfig pc_DATA = libparted.pc MAINTAINERCLEANFILES = parted.spec ABOUT-NLS ChangeLog INSTALL \ aclocal.m4 configure ### ABI Checking scripts ### baseline_file = ${top_srcdir}/scripts/data/abi/baseline_symbols.txt extract_symvers = $(top_srcdir)/scripts/extract_symvers MOSTLYCLEANDIRS = m4 gen_start_date = 2000-01-01 BUILT_SOURCES = .version all: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: 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'; \ $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: $(am__configure_deps) $(am__cd) $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): $(am__aclocal_m4_deps) $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) $(am__aclocal_m4_deps): libparted.pc: $(top_builddir)/config.status $(srcdir)/libparted.pc.in cd $(top_builddir) && $(SHELL) ./config.status $@ mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs distclean-libtool: -rm -f libtool config.lt install-pcDATA: $(pc_DATA) @$(NORMAL_INSTALL) test -z "$(pcdir)" || $(MKDIR_P) "$(DESTDIR)$(pcdir)" @list='$(pc_DATA)'; test -n "$(pcdir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pcdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(pcdir)" || exit $$?; \ done uninstall-pcDATA: @$(NORMAL_UNINSTALL) @list='$(pc_DATA)'; test -n "$(pcdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ test -n "$$files" || exit 0; \ echo " ( cd '$(DESTDIR)$(pcdir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(pcdir)" && rm -f $$files # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done cscopelist-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscope: cscope.files test ! -s cscope.files \ || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) clean-cscope: -rm -f cscope.files cscope.files: clean-cscope cscopelist-recursive cscopelist cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f cscope.out cscope.in.out cscope.po.out cscope.files distdir: $(DISTFILES) $(am__remove_distdir) test -d "$(distdir)" || mkdir "$(distdir)" @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook -test -n "$(am__skip_mode_fix)" \ || find "$(distdir)" -type d ! -perm -755 \ -exec chmod u+rwx,go+rx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r "$(distdir)" dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__post_remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 $(am__post_remove_distdir) dist-lzip: distdir tardir=$(distdir) && $(am__tar) | lzip -9 -c >$(distdir).tar.lz $(am__post_remove_distdir) dist-lzma: distdir tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma $(am__post_remove_distdir) dist-xz: distdir tardir=$(distdir) && $(am__tar) | xz -9 -c >$(distdir).tar.xz $(am__post_remove_distdir) dist-tarZ: distdir tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__post_remove_distdir) dist-shar: distdir shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__post_remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__post_remove_distdir) dist dist-all: $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' $(am__post_remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lzma*) \ lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ *.tar.lz*) \ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ *.tar.xz*) \ xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir); chmod a+w $(distdir) mkdir $(distdir)/_build mkdir $(distdir)/_inst chmod a-w $(distdir) test -d $(distdir)/_build || exit 0; \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && $(MAKE) $(AM_MAKEFLAGS) distcheck-hook \ && am__cwd=`pwd` \ && $(am__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 \ && cd "$$am__cwd" \ || exit 1 $(am__post_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: @$(am__cd) '$(distuninstallcheck_dir)' \ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am check: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) check-recursive all-am: Makefile $(DATA) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(pcdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(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 mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f Makefile distclean-am: clean-am distclean-generic distclean-libtool \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-pcDATA install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-pcDATA .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \ cscopelist-recursive ctags-recursive install install-am \ install-strip tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am am--refresh check check-am clean clean-cscope \ clean-generic clean-libtool cscope cscopelist \ cscopelist-recursive ctags ctags-recursive dist dist-all \ dist-bzip2 dist-gzip dist-hook dist-lzip dist-lzma dist-shar \ dist-tarZ dist-xz dist-zip distcheck distclean \ distclean-generic distclean-libtool distclean-tags \ distcleancheck distdir distuninstallcheck dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pcDATA install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs installdirs-am \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-recursive uninstall uninstall-am uninstall-pcDATA # This is best not done via configure.ac, because automake's # make distcheck target does not like auto-generated files # being included in the distributed archive. parted.spec: parted.spec.in sed 's/@''PACKAGE@/$(PACKAGE)/;s/@''VERSION@/$(VERSION)/' $< > $@-tmp mv $@-tmp $@ distcheck-hook: $(MAKE) my-distcheck current_symbols.txt: ${extract_symvers} -@(sh ${extract_symvers} libparted/.libs/libparted.so current_symbols.txt) baseline_symbols: -@(output=${baseline_file}; \ if test ! -f $${output}; then \ echo "Baseline file doesn't exist."; \ echo "Try 'make new-abi-baseline' to create it."; \ exit 1; \ fi; true) new-abi-baseline: -@$(mkinstalldirs) ${baseline_dir} -@(output=${baseline_file}; \ if test -f $${output}; then \ output=$${output}.new; \ t=`echo $${output} | sed 's=.*config/abi/=='`; \ echo "Baseline file already exists, writing to $${t} instead."; \ fi; \ sh ${extract_symvers} libparted/.libs/libparted.so $${output}) # Use 'new-abi-baseline' to create an initial symbol file. Then run # 'check-abi' to test for changes against that file. check-abi: baseline_symbols current_symbols.txt @diff -u ${baseline_file} ./current_symbols.txt 2>&1 \ | tee libparted.abi-diff @test `wc -l < libparted.abi-diff` -eq 0 && exit 0 \ || echo "ABI has changed. Please, update you ABI package version." \ && exit 1 .PHONY: ss-1024 ss-2048 ss-4096 ss-1024 ss-2048 ss-4096: PARTED_SECTOR_SIZE=$(subst ss-,,$@) $(MAKE) check-recursive # Run the regression test suite with different settings, # to ensure it works with simulated partition sizes > 512. .PHONY: check-other-sector_sizes check-other-sector_sizes: $(MAKE) ss-1024 $(MAKE) ss-2048 $(MAKE) ss-4096 check: check-other-sector_sizes # Arrange so that .tarball-version appears only in the distribution # tarball, and never in a checked-out repository. dist-hook: gen-ChangeLog echo $(VERSION) > $(distdir)/.tarball-version .PHONY: gen-ChangeLog gen-ChangeLog: if test -d .git; then \ $(top_srcdir)/build-aux/gitlog-to-changelog \ --since=$(gen_start_date) > $(distdir)/cl-t; \ rm -f $(distdir)/ChangeLog; \ mv $(distdir)/cl-t $(distdir)/ChangeLog; \ fi .version: echo $(VERSION) > $@-t && mv $@-t $@ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: parted-2.3/ChangeLog0000644000000000000000000101154111400006133011265 000000000000002010-05-28 Jim Meyering version 2.3 * NEWS: Record release date. doc: regenerate two files using gettext-0.18 * doc/pt_BR/partprobe.8.pt_BR.po: Regenerate with gettext-0.18. * doc/C/po/partprobe.8.pot: Likewise. build: require gettext-0.18 after all, because since gnulib is pulling in m4/gettext.m4 from 0.18, and there's a cross-check between that file and po/Makefile.in.in, it's easiest simply to require 0.18 of those who run build tools. Otherwise, requiring 0.17, build-from-git would fail due to the mismatch: 0.17 in Makefile.in.in and 0.18 in m4/gettext.m4. * configure.ac (AM_GNU_GETTEXT_VERSION): Require gettext 0.18. build: update gnulib submodule to latest maint: use the do-release-commit-and-tag module from gnulib * bootstrap.conf (gnulib_modules): Add do-release-commit-and-tag. 2010-05-28 Petr Uzel doc: fix a typo * doc/parted.texi: s/onstraints/constraints/ parted: do_align_check returns always 1 in interactive mode * parted/parted.c (do_align_check): Always return 1 in interactive mode. 2010-05-28 Jim Meyering build: really use gettext-0.17 * configure.ac: Correct previous change to use 0.17, not 0.18, since gettext-0.18 is new enough that it makes building from git a little too inconvenient. Spotted by Petr Uzel. 2010-05-26 Petr Uzel parted: make align-check work in interactive mode * parted/parted.c (do_align_check): rework the function so that it reports partition alignment in interactive mode as described in documentation. parted: initialize align_type to default value * parted/parted.c (do_align_check): Initialize align_type to default alignment; this prevents reading of uninitialized memory later in command_line_get_align_type() parted: plug memory leak * parted/parted.c (_done_messages): Free unit_msg. 2010-05-26 Jim Meyering tests: avoid spurious failure of the root-only many-partitions test * tests/t9040-many-partitions.sh: When creating a scsi_debug device, honor the block size suggested by the PARTED_SECTOR_SIZE environment variable, and thus required in expected output. build: update gnulib submodule to latest maint: remove useless definitions * libparted/fs/xfs/platform_defs.h [__sparc__] (O_DIRECT): Remove now-unneeded definition. * parted/table.c (wchar_t): Remove definition. * parted/strlist.c (wchar_t): Likewise. * .x-sc_prohibit_always-defined_macros: New file. Exempt two files from this syntax-check rule. * Makefile.am (EXTRA_DIST): Add it here. maint: update helper scripts * tests/help-version: Update from coreutils. * bootstrap: Update from gnulib. * tests/init.sh: Likewise. build: use gettext-0.17 * configure.ac: Use gettext-0.17. * bootstrap.conf (gnulib_modules): Use gettext-h, not gettext. since the latter drags in a depedency on gettext 0.18. 2010-05-25 Jim Meyering fix typo in comment 2010-05-10 Jim Meyering libparted: fail (don't just warn) upon failure to inform kernel of... partition change(s). * libparted/arch/linux.c (_disk_sync_part_table): Throw an error, not merely a warning. When this fails, it indicates that the kernel has not been informed, and that must translate to an error, since doing otherwise would violate the contract of ped_disk_commit_to_os. Suggested by Hans De Goede. 2010-05-06 Jim Meyering tests: make the new many-partitions test fail if it takes "too long" * tests/t9040-many-partitions.sh: Fail if creating 60 partitions takes more than a minute. maint: use latest bootstrap script from gnulib * bootstrap: Sync from gnulib. 2010-05-06 Hans de Goede gpt: recognize microsoft recovery GUID Microsoft advices creating recovery partitions with a GUID of de94bba4-06d1-4d40-a16a-bfd50179d6ac, see: http://technet.microsoft.com/en-us/library/dd744301%28WS.10%29.aspx This patch makes parted recognize this guid (using the DIAG flag). * libparted/labels/gpt.c (PARTITION_MSFT_RECOVERY, GPTPartitionData, _parse_part_entry, gpt_partition_new, gpt_partition_set_system, gpt_partition_set_flag, gpt_partition_get_flag, gpt_partition_is_flag_available): Support microsoft recovery GUID. * NEWS (New features): Add it. msdos: recognize id 27 as a diagnostics (recovery) partition type msdos partitiontable partition id 27 is recommended by microsoft for use as id for recovery partitions, see: http://technet.microsoft.com/en-us/library/dd744364%28WS.10%29.aspx http://bugzilla.redhat.com/show_bug.cgi?id=534066 * libparted/labels/dos.c (PARTITION_MSFT_RECOVERY): Define. (raw_part_parse): Recognize id 27 (msdos_partition_set_system): Recognize id 27 2010-05-06 Jim Meyering tests: add one: create 60 partitions on a scsi device * tests/t9040-many-partitions.sh: New test. * tests/Makefile.am (TESTS): Add it. (TESTS_ENVIRONMENT): Export AWK to test scripts. Inspired by the report of a many-partition test taking far longer on RHEL5 than on RHEL4 in http://bugzilla.redhat.com/589117 2010-05-05 Jim Meyering doc: update NEWS * NEWS (Bug fixes): Mention the ext2 2TiB FS-creation bug. build: update gnulib submodule to latest 2010-05-05 Martin Poole ext2: don't overflow when creating a partition of size 2TiB or larger Without this patch, mkpartfs would succeed in creating an ext2 partition, but the resulting partition would fail a mkfs.ext2 -f check. * libparted/fs/ext2/parted_io.c (do_read): Avoid overflow 32-bit sector count overflow for a partition of size 2TiB or larger. (do_write): Likewise. See http://bugzilla.redhat.com/584057#c16 a reproducer. 2010-04-30 Hans de Goede _device_unregister: check for unregistering the same device twice _device_unregister() can get called 2 times for the same device if a libparted user explictly removes the device from the cache using ped_device_cache_remove(), it gets called and it then becomes the user's responsibility to free the PedDevice by calling ped_device_destroy(). ped_device_destroy() will then call _device_unregister() a second time with the same device, so if the device is not found in the list, do nothing. * libparted/device.c(_device_unregister): Check for unregistering the same device twice. Reported by Jan Stodola in . 2010-04-30 Jim Meyering tests: avoid root-only/XFS limit test failure on 32-bit system * tests/t4100-msdos-partition-limits.sh: Due to an inherent XFS limitation on 32-bit systems, this test would fail a set-up file creation step for simulated sector sizes of 4K and up. Skip this test in those cases. Upon dd failure, propagate its diagnostic to output, to make this sort of problem easier to diagnose. * tests/t4100-dvh-partition-limits.sh: Likewise. libparted: avoid race in informing the kernel of partition table changes When sync'ing a partition table change using the latest code, sometimes we'd get an unwarranted failure like this: Warning: Partition(s) 1 on /dev/sdd have been written, but we have been unable to inform the kernel of the change, probably because it/they are in use. As a result, the old partition(s) will remain in use. You should reboot now before making further changes. To be precise, when running the partition-resizing root-only test in a loop: for i in $(seq 240); do make -C tests check VERBOSE=yes \ TESTS=t3000-resize-fs.sh >& log.$i && printf . || echo $i $?; done I would typically see about 50% of them fail on a Fedora 13 system. It was obvious that this was due to a race condition when I found that modifying that tests' parted...resize invocation to go via strace changed the timing enough to make the test pass every time. The fix is to retry the partition-removal step upon any EBUSY failure, currently for up to 1 second (retrying up to 100 times, sleeping 10ms after each failure). * libparted/arch/linux.c (_disk_sync_part_table): Allocate "ok" using calloc, now that its initial values matter. Retry each removal upon EBUSY-failure. * bootstrap.conf (gnulib_modules): Use gnulib's usleep module. libparted: variable renaming, minor "goto" reorg * libparted/arch/linux.c (_disk_sync_part_table): Rename local array: s/rets/ok/, for readability. Use only a single label, "cleanup:", rather than two: free_rets and free_errnums. libparted: remove now-worse-than-useless _kernel_reread_part_table Now that we're using BLKPG properly, there's no point in using the less-functional BLKRRPART ioctl to make the kernel reread the partition table. More importantly, this function would fail when any partition is in use, in spite of our having carefully vetted them via BLKPG ioctls. * libparted/arch/linux.c (_kernel_reread_part_table): Remove function. (linux_disk_commit): Don't call it. 2010-04-29 Jim Meyering tests: correct a root-only test * tests/t2310-dos-extended-2-sector-min-offset.sh: Don't hard-code "/dev/sdd5" in expected output. maint: avoid code duplication * libparted/labels/dos.c (clear_flags): New function. Factored (5 times) out of ... (msdos_partition_set_flag): ...here. Use the new function. 2010-04-29 Hans de Goede dos: add a partition flag for diagnostics / recovery partitions msdos partition tables can contain diagnostics partitions (often used nowadays as system recovery partitions). For some users of libparted (i.e., anaconda) it is useful to know if a dos partition is a regular partition or a diagnostic partition. For example, see . * include/parted/disk.h(_PedPartitionFlag): Add PED_PARTITION_DIAG * libparted/disk.c(ped_partition_flag_get_name): Add PED_PARTITION_DIAG * libparted/labels/dos.c: Add support for PED_PARTITION_DIAG flag * doc/parted.texi (set): Document it. 2010-04-28 Jim Meyering tests: distribute new file, init.sh * tests/Makefile.am (EXTRA_DIST): Add init.sh. tests: add help-version test (from coreutils) * tests/help-version: New file * tests/Makefile.am (TESTS_ENVIRONMENT): Pass built_programs and VERSION to test scripts -- both are required by help-version. (TESTS): Add help-version. ui: make --help tell where to report bugs * parted/ui.c (help_msg): Tell where to report bugs. tests: use gnulib's init.sh * tests/init.sh: New file, from gnulib. tests: rename generated init.sh to old-init.sh * tests/Makefile.am (old-init.sh): Rename from init.sh. * libparted/tests/Makefile.am: Likewise. * tests/test-lib.sh: Rename sole use. * .gitignore: Rename here, too. build: update gnulib submodule to latest tests: improved portability * tests/test-lib.sh: Don't use test's -a option. maint: remove empty lines at end of file This lets one more "syntax-check" test pass. Run this command: git ls-files|grep -v gnulib|xargs perl -pi -0777 -e 's/\n\n+$/\n/' maint: pass newer "make syntax-check" tests from gnulib * cfg.mk (local-checks-to-skip): Add these, to pass "make syntax-check" sc_error_message_uppercase, sc_error_message_period. * libparted/fs/ext2/ext2.h: Remove "#if HAVE_INTTYPES_H" guard. tests: test all boolean flags * tests/t3310-flags.sh: New test, suggested by Hans De Goede. * tests/Makefile.am (TESTS): Add it. 2010-04-27 Jim Meyering doc: use a valid http:.../AUTHORS URL * debug/clearfat/clearfat.c (AUTHORS): Point to the git repo. * parted/parted.c (AUTHORS): Likewise. * partprobe/partprobe.c (AUTHORS): Likewise. * parted/parted.c: Include "version.h". (_version): Use Version, not VERSION. ui: get version number from a separately-compiled file * parted/Makefile.am (version.c, version.h): Generate. (parted_LDADD): Add libver.a. (noinst_LIBRARIES, nodist_libver_a_SOURCES): Define. (BUILT_SOURCES): Initialize and append. (MAINTAINERCLEANFILES): Update. * parted/parted.c: Include "version.h". (_version): Use the new global variable, Version, not VERSION. 2010-04-23 Jim Meyering libparted: _disk_sync_part_table: allow interactive ignore * libparted/arch/linux.c (_disk_sync_part_table): Change diagnostic so that it makes it clear what failed. Let an interactive "ignore" cause the function to succeed. tests: remove partition explicitly before mklabel, to avoid new failure * tests/t3000-resize-fs.sh: Before, mklabel was sufficient to clear the partition table in preparation for the next iteration in this test. However, with recent BLKRRPART/BLKPG changes that "mklabel" would evoke a warning. Remove the sole partition to avoid that. libparted: linux_disk_commit: don't ignore _disk_sync_part_table failure * libparted/arch/linux.c (linux_disk_commit): When calling _disk_sync_part_table, always return its result. libparted: _disk_sync_part_table: always return 0 upon failure * libparted/arch/linux.c (_disk_sync_part_table): Return 0 (not 1) upon failure. 2010-04-23 Colin Watson dos: always allow at least two sectors for extended boot record Unless specifically told otherwise, the Linux kernel considers extended boot records to be two sectors long, in order to "leave room for LILO". When using anything other than cylinder alignment, libparted was only allowing one sector in the minimum extended partition geometry, which in some situations (e.g. following Phillip Susi's patch to reintroduce BLKPG) could confuse the kernel into thinking that the EBR and the first logical partition overlapped. * libparted/labels/dos.c (_get_min_extended_part_geom): Allow at least two sectors for the extended boot record. 2010-04-23 Jim Meyering tests: test for new 2-sector minimum ext-logical-separation * tests/t2310-dos-extended-2-sector-min-offset.sh: New file. * tests/Makefile.am (TESTS): Add it. dos: accommodate very small devices (useful for testing) * libparted/labels/dos.c (_primary_constraint): Don't pass a negative "device_length" to ped_geometry_init when the underlying device has fewer sectors than a "cylinder". libparted: allocate storage for diagnostic only when needed * libparted/arch/linux.c (_disk_sync_part_table): Rename local: s/parts/bad_part_list/ Allocate space for it only if needed. Use malloc rather than ped_malloc. Move decl of FD down to first use. libparted: adjust code formatting libparted: reword a diagnostic 2010-04-23 Phillip Susi libparted: improve BLKPG error checking This patch cleans up the BLKPG code that the previous patch put back to perform proper error checking and in the event that some partitions are in use, they can not be modified in the running kernel using BLKPG. Warn the user that this is the case and advise them to reboot, just like we do when BLKRRPART fails for the same reason, unless the partition in question is unchanged. libparted: reenable use of BLKPG ioctls This patch effectively reverses commit 1d8f9bec which removed the code using the new BLKPG ioctls instead of the old BLKRRPART ioctl to update the in-kernel partition table. The reason for this is because BLKRRPART fails if any partition on the disk is in use, but the BLKPG ioctls allow you to manipulate the other partitions on the disk without requiring a reboot. Also BLKRRPART requires that the kernel understand the partition table on the disk, which may not always be the case. 2010-04-23 Hans de Goede linux: detect dm_task_run failure We were checking for a return value of < 0 for dm_task_run errors, but dm_task_run returns 0 on error (and 1 on success). Thanks to Joe Jin for spotting this, see Red Hat bug 582907. * libparted/arch/linux.c(_dm_remove_map_name, _dm_is_part, _dm_remove_parts, _dm_add_partition): dm_task_run returns 0 on error. 2010-04-21 Jim Meyering tests: test for palo and prep interaction * tests/t3300-palo-prep.sh: New file. * tests/Makefile.am (TESTS): Add it. 2010-04-21 Hans de Goede dos: fix prep / palo flag handling Setting the prep flag was not clearing the palo flag and vice versa * libparted/labels/dos.c (msdos_partition_set_flag): Fix prep / palo flag handling. 2010-04-21 Jim Meyering tests: remove unnecessary (duplicate) local var assignment * tests/t9021-maxima.sh: Remove duplicate ss=$sector_size_. 2010-04-21 Colin Watson maint: make PED_ASSERT and PED_DEBUG if-safe Constructions such as: if (foo) PED_DEBUG (0, "foo"); else PED_DEBUG (0, "not foo"); did not compile reliably, depending on the configuration. Make this work. * include/parted/debug.h [DEBUG && __GNUC__ && !__JSFTRACE__] (PED_DEBUG): Remove trailing semicolon. [!DEBUG] (PED_ASSERT): Use do-while rather than while. [!DEBUG] (PED_DEBUG): Likewise. 2010-04-17 Jim Meyering doc: add HACKING * HACKING: New file. Copied from coreutils, with s/coreutils/parted/ and a few minor edits. 2010-04-16 Petr Uzel .gitignore: ignore index files generated by ctags and cscope libparted: add support for Linux software RAID arrays (mdraid) Recognize MD devices, so "parted -s /dev/md0 print" now prints "Model: Linux Software RAID Array (md)" instead of "Model: Unknown (unknown)". * include/parted/device.h (PedDeviceType): Add PED_DEVICE_MD. * libparted/arch/linux.c (MD_MAJOR): New define. * libparted/arch/linux.c (_device_probe_type): Recognize MD array. * libparted/arch/linux.c (linux_new): Handle MD array. * parted/parted.c(do_print): Add "md" to the list of available transports. * NEWS (New features): Mention it. 2010-04-13 Jim Meyering tests: propagate recent improvements to copied-from code * tests/t1700-ext-probe.sh: Fix typo s/2>1/2>&1/ and use a tighter regexp also in the preceding loop. Noted by Colin Watson. 2010-04-13 Colin Watson maint: constify ped_device_get_constraint interface * include/parted/device.h (ped_device_get_constraint): Constify "dev" parameter. * libparted/device.c (ped_device_get_constraint): Likewise. libparted: uninit_bg and flex_bg features should indicate ext4 According to tune2fs(8), the uninit_bg and flex_bg features are only supported by ext4, so libparted should treat their presence as indicating ext4. Reported by C de-Avillez in https://bugs.launchpad.net/ubuntu/+source/parted/+bug/561599. * libparted/fs/ext2/ext2_fs.h: Define EXT4_FEATURE_RO_COMPAT_GDT_CSUM and EXT4_FEATURE_INCOMPAT_FLEX_BG. * libparted/fs/ext2/interface.c (_ext2_generic_probe): Test for EXT4_FEATURE_RO_COMPAT_GDT_CSUM and EXT4_FEATURE_INCOMPAT_FLEX_BG when probing for ext4. * tests/t1700-ext-probe.sh: Test for this. * NEWS (Bug fixes): Mention this. 2010-04-09 Colin Watson libparted: fix diagnostics about exceeding partition limits * libparted/labels/pt-tools.c (ptt_partition_max_start_len): Use the correct value in the diagnostics that print the upper bound on partition size and largest starting sector number. Before, each would use UINT32_MAX. Now each prints the partition-table-specific limit. 2010-04-06 Hans de Goede libparted: add test for /dev/mapper symlink issue Sometimes, libparted operates on device mapper files with a path of /dev/mapper/foo. With newer lvm versions /dev/mapper/foo is a symlink to /dev/dm-#. However some storage administration programs (anaconda, for example) may do the following: 1) Create a ped_device for /dev/mapper/foo 2) ped_get_device resolves the symlink to /dev/dm-#, and the path in the PedDevice struct points to /dev/dm-# 3) The program does some things to lvm, causing the symlink to point to a different /dev/dm-# node 4) The program does something with the PedDevice, which results in an operation on the wrong device Newer libparted versions do not suffer from this problem, as they do not canonicalize device names under /dev/mapper. This test checks for this bug. * libparted/tests/symlink.c: New test which tests for this issue. * libparted/tests/t3000-symlink.sh: New file. * libparted/tests/Makefile.am: Include the new files. Run the new test. libparted: don't canonicalize /dev/mapper paths Besides fixing the issue displayed by libparted/tests/symlink.c, this has the added advantage that the output of parted p on one of these devices now says: "Disk /dev/mapper/BigVol2-lv_iscsi_disk2: 34.4GB" Which is a lot more user friendly then the output before this patch: "Disk /dev/dm-6: 34.4GB" * libparted/device.c (ped_device_get): Don't canonicalize names that start with "/dev/mapper/". * NEWS (Bug fixes): Mention it. Thanks to Ales Kozumplik for the analysis. Details in . 2010-03-30 Colin Watson doc: add @dircategory to Info documentation The Texinfo documentation says that Info files should use @dircategory, and suggests consulting the Free Software Directory to select a category name. The directory places Parted under "System administration". * doc/parted.texi: Add `@dircategory System administration'. 2010-03-30 Jim Meyering build: update gnulib submodule to latest tests: disable new texinfo-acronym syntax-check from gnulib * cfg.mk (local-checks-to-skip): Add new sc_texinfo_acronym, to skip it. maint: avoid using test's -o and -a operators: they are not portable * tests/lvm-utils.sh: Don't use test ... -o. * configure.ac: Don't use test ... -a. maint: remove unneeded #include * libparted/disk.c: Don't include "intprops.h". It was unused. build: prepare for gnulib's updated lib-ignore * parted/Makefile.am (parted_LDFLAGS): Now that we're using gnulib's newer lib-ignore, add $(IGNORE_UNUSED_LIBRARIES_CFLAGS). 2010-03-30 Colin Watson tests: distribute a few more tests and documentation files * debug/test/Makefile.am (noinst_SCRIPTS): Add test_fs_hfs and test_fs_hfsplus. * libparted/fs/hfs/Makefile.am (EXTRA_DIST): Add DOC and HISTORY. * tests/Makefile.am (TESTS): Add t3200-type-change.sh. 2010-03-16 Jim Meyering build: avoid warning from bootstrap about obsolete strdup module * bootstrap.conf (gnulib_modules): Use the strdup-posix module, rather than the "strdup" one. 2010-03-11 Jim Meyering tests: reenable a "bsd" partition table test * libparted/tests/common.c (_implemented_disk_label): Remove "bsd" from the list of not-implemented-yet partition table types, since it appears to pass the tests. libparted: remove "HIGHLY EXPERIMENTAL" warning for >512B-sector devices * libparted/arch/linux.c (_device_set_sector_size): Remove the "HIGHLY EXPERIMENTAL" warning, now that support for >512-byte sectors seems to be usable. Suggested by Colin Watson. * NEWS (Changes in behavior): Note this 2010-03-02 David Cantrell libparted: msdos_partition_is_flag_available: fix hidden on extended Since the hidden flag cannot be set on extended partitions, msdos_partition_is_flag_available() should return 0 for hidden on extended partitions. Also change msdos_partition_get_flag() to always return 0 for hidden on extended partitions. * libparted/labels/dos.c (msdos_partition_is_flag_available): Return 0 for hidden on extended partitions. * libparted/labels/dos.c (msdos_partition_get_flag): Always return 0 for hidden on extended partitions. * NEWS (Bug fixes): Mention it. Reported by Flóki Pálsson in http://bugzilla.redhat.com/567118 Patch forwarded by Hans De Goede. 2010-03-02 Petr Uzel tests: skip tests that require mkfs.hfs, when it is unavailable t3000-resize-fs.sh would fails if mkfs.hfs is not installed. * tests/t-lib.sh (require_hfs_): New function. * tests/t3000-resize-fs.sh: Use require_hfs_. 2010-03-01 Jim Meyering tests: convert more tests to the newer infrastructure * tests/t1700-ext-probe.sh: Convert from test-lib.sh to t-lib.sh. * tests/t2200-dos-label-recog.sh: Likewise. * tests/t2300-dos-label-extended-bootcode.sh: Likewise. 2010-02-26 Colin Watson libparted: don't export linux_get_*_alignment functions These functions are only used in libparted/arch/linux.c or via linux_dev_ops, so do not export them. * libparted/arch/linux.c (linux_get_minimum_alignment): Declare static. (linux_get_optimum_alignment): Likewise. 2010-02-26 Petr Uzel Add support for ATA over Ethernet (AoE) devices Recognize AoE Devices, so "parted -s /dev/etherd/eX.Y" now prints "Model: ATA over Ethernet Device (aoe)" instead of "Model: Unknown (unknown)". * include/parted/device.h(PedDeviceType): Add PED_DEVICE_AOE. * libparted/arch/linux.c(AOE_MAJOR): New define. * libparted/arch/linux.c(_device_probe_type): Recognize AoE devices. * libparted/arch/linux.c(linux_new): Handle AoE devices. * parted/parted.c(do_print): Add "aoe" to the list of available transports. * NEWS (New features): Mention it. 2010-02-26 Jim Meyering post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 2.2 * NEWS: Record release date. 2010-02-26 Curtis Gedak dos: set HFS/HFS+ partition identifier to proper value The correct value for an "hfs" partition identifier is 0xAF. Previously the partition identifier was incorrectly set to 0x83. * libparted/labels/dos.c (PARTITION_HFS): Define. (msdos_partition_set_system): Use it. 2010-02-26 Jim Meyering tests: exercise today's HFS partition type fix * tests/t2400-dos-hfs-partition-type.sh: New script. * tests/Makefile.am: Add it. * NEWS (Bug fixes): Mention it. tests: gpt-pmbr: don't ignore stdout comparison result * tests/t0202-gpt-pmbr.sh: Fail if we get unexpected output. 2010-02-25 Jim Meyering build: update gnulib submodule to latest * bootstrap: Copy from gnulib. tests: convert t4001 to use the new framework * tests/t4001-sun-vtoc.sh: Convert. * tests/Makefile.am (TESTS): Add it to the list. 2010-02-25 Karel Zak sun: initialize basic partition table fields libparted completely ignores basic fields (version, nparts and sanity) in the sun VTOC, then for example fdisk prints warnings for such partition table: # fdisk -lu /dev/sdb Detected sun disklabel with wrong version [0x00000000]. Detected sun disklabel with wrong sanity [0x00000000]. Detected sun disklabel with wrong num_partitions [0]. It seems that the current libparted sun support follows old Linux kernel code, but the code was changed 3 years ago (see kernel commit 3961bae0ac030a70ae2e0578270203889021f1a1). Note that the number of partitions (nparts) is optional for Linux kernel, but fdisk(8) strictly requires SUN_DISK_MAXPARTITIONS (=8) there. This patch sets nparts to SUN_DISK_MAXPARTITIONS rather then use a real number of partitions. * NEWS (Bug fixes): Mention it. * libparted/labels/sun.c: Update from kernel. * tests/t4001-sun-vtoc.sh: New file. Test for this. 2010-02-25 Jim Meyering tests: wrap the dup-clobber test in a script, ... so that its artifacts are created in the usual temporary subdir * tests/Makefile.am (TESTS): Remove dup-clobber, and instead... Add t0500-dup-clobber.sh. * tests/t0500-dup-clobber.sh: New script. 2010-02-23 Jim Meyering build: update gnulib submodule to latest tests: test for the ped_disk_duplicate needs_clobber fix * tests/dup-clobber.c: New file. Exercise the fix in commit jabb411b, "libparted: copy the needs_clobber value in ped_disk_duplicate()". * tests/Makefile.am (TESTS, check_PROGRAMS): Add dup-clobber. 2010-02-22 Hans de Goede libparted: copy the needs_clobber value in ped_disk_duplicate() Most duplicate disk_ops use ped_disk_new_fresh, which sets needs_clobber to 1. This would lead to clobbering the disk when committing a duplicate disk even when the original disk was not made with ped_disk_new_fresh. * libparted/disk.c (ped_disk_duplicate): Copy the needs_clobber member. * NEWS (Bug fixes): Describe it. 2010-02-22 Curtis Gedak linux: add wait time and retries to kernel partition reread Occasionally when using parted with newer GNU/Linux kernels (2.6.31) and udev (145), the kernel would fail to reread the partition table. This could lead to problems with subsequent actions such as formatting the partition. Basically this patch increases the retry_count, and adds one sleep(1) function call prior to the the last few ioctl() calls. This patch might not be a perfect solution to this problem of "failure to inform kernel of partition changes", but it does significantly reduce the likelihood of encountering the problem. Details on the testing results and procedures used can be found at the following link: https://bugzilla.gnome.org/show_bug.cgi?id=604298#c9 * libparted/arch/linux.c (_kernel_reread_part_table): Sleep for a full second if retry_count makes it down to "3". Start it at 9 rather than at 5. * NEWS (Bug fixes): 2010-02-20 Jim Meyering maint: remove now-unused _clobber functions All of these functions were rendered unused by commit 376b143045, "ped_disk_clobber: change semantics" on 2009-11-13. Also, Update each <...>_disk_ops "clobber:" member to be NULL. * libparted/labels/aix.c (aix_clobber): Remove function. * libparted/labels/bsd.c (bsd_clobber): Likewise. * libparted/labels/dasd.c (dasd_clobber): Likewise. * libparted/labels/dos.c (msdos_clobber): Likewise. * libparted/labels/dvh.c (dvh_clobber): Likewise. * libparted/labels/gpt.c (gpt_clobber): Likewise. * libparted/labels/loop.c (loop_clobber): Likewise. * libparted/labels/mac.c (_clobber_part_map, mac_clobber): Likewise. * libparted/labels/pc98.c (pc98_clobber): Likewise. * libparted/labels/rdb.c (amiga_clobber): Likewise. * libparted/labels/sun.c (sun_clobber): Likewise. Suggested by Hans De Goede. 2010-02-13 Jim Meyering doc: update release procedure to account for soname version number * README-release: Add a step "0", and update step 3 to match reality. libparted: set the shared library version number manually * libparted/Makefile.am (CURRENT, REVISION, AGE): Define here. (libparted_la_LDFLAGS): Use them, rather than using the automatically-defined LT_-prefixed variables. Stop using the "-release" option. Hans De Goede pointed out that the build process was automatically changing the shared library name. 2010-02-12 Jim Meyering gpt: clean-up wrt write_back (no semantic change) * libparted/labels/gpt.c (gpt_read): Initialize write_back to 0 once again, and set it to 1 on the sole path that requires that. 2010-02-10 Jim Meyering gpt: "read-only" operation could clobber the pMBR in another way A read-only operation like "parted $dev print" would overwrite $dev's pMBR when exactly one of the primary and backup tables was corrupt. * libparted/labels/gpt.c (gpt_read): Clear "write_back" in those two cases. Hans De Goede spotted this bug by inspection. * NEWS (Bug fixes): Mention it. * tests/t0206-gpt-print-with-corrupt-primary-clobbers-pmbr.sh: New test. * tests/Makefile.am (TESTS): Add t0206-gpt-print-with-corrupt-primary-clobbers-pmbr.sh. tests: factor utility functions into "library" ...since we're about to use them from a second test. * tests/t-local.sh (peek_, poke_, gpt1_pte_name_offset_): New functions. (gpt_corrupt_primary_table_, gpt_restore_primary_table_): New functions. * tests/t0280-gpt-corrupt.sh: Remove local copies of those functions. Use the new ones. 2010-02-10 Hans de Goede dasd: don't dereference a NULL pointer in dasd_read * libparted/labels/dasd.c (dasd_read): Avoid NULL pointer dereference. parted: change default alignment to "optimal" * NEWS (Changes in behavior): Mention it. * parted/parted.c: Change --align default value to optimal. * tests/t2100-mkswap.sh: Adjust for alignment changes where necessary. * tests/t0220-gpt-msftres.sh: Likewise. * tests/t0280-gpt-corrupt.sh: Likewise. * tests/t2200-dos-label-recog.sh: Likewise. * tests/t2300-dos-label-extended-bootcode.sh: Likewise. * tests/t3000-resize-fs.sh: Likewise. * tests/t4100-msdos-partition-limits.sh: Likewise. * tests/t4100-msdos-starting-sector.sh: Likewise. * tests/t5000-tags.sh: Likewise. * tests/t8000-loop.sh: Likewise. * tests/t9021-maxima.sh: Likewise. parted: change warnings when initial constrained mkpart fails In do_mkpart we first try to create a partition using a constraint derived from the user input intersected with the devices alignment needs. And if that fails we try again without any constraint. However the warning given when this happens only takes into account the user not getting what he asked for, while the alignment might be a problem too (or even the only problem). So this patch adds a check to see if the user really did not get what he asked before giving that warning, and adds a new check + warning to see if the created partition is properly aligned. *parted/parted.c (do_mkpart,do_mkpartfs): change warnings when initial constrained mkpart fails. parted: honor --align option also in mkpartfs, resize and print cmds * parted/parted.c (do_mkpartfs,do_print,do_resize): Honor --align. linux: handle incomplete topology information The topology information returned by libblkid is not always complete (as the kernel does not always have complete information). This patch makes the linux_get_*_alignment() alignment functions handle this. The algorithm used for linux_get_optimum_alignment is: 1) Always use the reported aligment offset as offset 2a)If optimal io size is present in the topology info use that as grain 2b)If optimal io size is not present in topology info and aligment offset is 0 and minimum io size is a power of 2, use the device.c default optimal alignment (grain 1MiB). 2c) If neither 2a and 2b, use the minimum io size, or if that is not defined, use the physical sector size as grain (iow the minimum alignment). The algorithm used for linux_get_minimum_alignment is: 1) Always use the reported aligment offset as offset 2) Use the minimum io size, or if that is not defined the physical sector size as grain. * libparted/arch/linux.c (linux_get_*_alignment): Handle incomplete topology information. libparted: Give device_get_*_alignment sane defaults When the topology info is incomplete or non existent, return something more sensible than NULL (which ends up being interpreted as PedAlignmentAny in most cases). The default minimum alignment aligns to physical sector size, the default optimal alignment is 1 MiB, which is what vista and windows 7 do. * libparted/device.c (device_get_*_alignment): Add default aligments. * NEWS (New features): Mention it. linux: correct phys_sector_size setting 1) Use the logical sector size as physical sector size instead of 512 when not compiled with libblkid support, this fixes problems with logical sector size > physical sector size. 2) blkid_topology_get_physical_sector_size() returns 0 when it fails to determine the physical sector size, handle this. * libparted/arch/linux.c (_device_set_sector_size): Correct phys_sector_size setting. * NEWS (Bug fixes): Mention it. 2010-02-09 Jim Meyering build: update gnulib submodule to latest doc: NEWS: mention the install-related bug fix * NEWS (Bug fixes): Mention the fix. gpt: read-only operation could clobber MBR part of hybrid GPT+MBR table * libparted/labels/gpt.c (gpt_read): Fix a bug introduced by me in commit 7f753b1b, "gpt: rewrite GPT header-reading code". Set write_back=0 in one more code path. * tests/Makefile.am (TESTS): Add t0205-gpt-list-clobbers-pmbr.sh. * tests/t0205-gpt-list-clobbers-pmbr.sh: New test. * NEWS (Bug fixes): Mention this. Reported by aix27249 in http://parted.alioth.debian.org/cgi-bin/trac.cgi/ticket/250 2010-02-08 Peter Breitenlohner do not install the test programs disk and label 2010-02-04 Otavio Salvador Fix minor spelling errors This fixes minor spelling errors in the source code. Basically: s/informations/information/g s/prefered/preferred/g 2010-02-04 Jim Meyering tests: avoid another spurious test failure with newer xfsprogs * tests/t4100-msdos-partition-limits.sh: Likewise. tests: avoid spurious test failure with newer xfsprogs * tests/t4100-dvh-partition-limits.sh: Use mkfs.xfs' -f (force) option. It is required at least for xfsprogs-3.1.0. 2010-01-31 Hans de Goede build: fix check-other-sector_sizes "make check-other-sector_sizes" was running tests of 512-byte sectors four times, rather than simulating larger sector-sizes for the latter three iterations. * Makefile.am (ss-1024 ss-2048 ss-4096): Fix the typo (missing "subst"). 2010-01-31 Jim Meyering tests: adjust t9021-maxima not to fail with 2048-byte sectors * tests/t9021-maxima.sh: At 10,000*512 bytes, the backing file was too small to support a test simulating a sector size of 2048 bytes. Use 10,000*$sector_size bytes instead. build: avoid -Wshadow warnings * parted/parted.c (do_print): Avoid two shadowing warnings. 2010-01-29 Hans de Goede linux: remove PED_DEVICE_FILE check from _device_set_sector_size _device_set_sector_size is never called for devices with a type of PED_DEVICE_FILE. * libparted/arch/linux.c (_device_set_sector_size): Remove PED_DEVICE_FILE check. linux: remove unused blkpg.h header file * libparted/arch/linux.c: Don't include blkpg.h. * libparted/arch/blkpg.h: Deleted. * libparted/Makefile.am (libparted_la_SOURCES): Remove arch/blkpg.h. linux: use blkid_topology_get_physical_sector_size The official 2.17 release of util-linux-ng, has added a function to get the physical sector size. Use that instead of getting the minimum io size. * libparted/arch/linux.c (_device_set_sector_size): Use blkid_topology_get_physical_sector_size. 2010-01-18 Jim Meyering maint: remove unreachable code * parted/parted.c (do_print): Remove unreachable ped_disk_destroy call. 2010-01-15 Jim Meyering build: update gnulib submodule to latest dos: don't leak a constraint upon partition-add failure * libparted/labels/dos.c (read_table): Free constraint upon failure. gpt: don't leak a constraint upon partition-add failure * libparted/labels/gpt.c (gpt_read): Free constraint upon failure. gpt: do not leak a GPT header on an error path * libparted/labels/gpt.c (gpt_write): Avoid a leak by freeing the header buffer after pth_get_raw call where it's used, but before checking whether that pth_get_raw call succeeded. Avoid another leak in identical just 10 lines down. Add "FIXME: caution..." comments to warn about the duplication. libparted: remove unreachable code * libparted/labels/gpt.c (gpt_write): Remove dead code. * libparted/labels/bsd.c (bsd_partition_new): Likewise. * libparted/disk.c (_ped_disk_alloc): Likewise. libparted: avoid double-free on an OOM failure path * libparted/disk.c (ped_disk_check): Don't double-free "fs_size". 2010-01-08 Jim Meyering build: update gnulib submodule to latest maint: update old_NEWS_hash * cfg.mk (old_NEWS_hash): Update for GFDL license update. maint: update all GFDL licenses to version 1.3 * NEWS: Use 1.3, not 1.2. * doc/API: Use 1.3, not 1.1. * doc/FAT: Likewise. * doc/USER.jp: Likewise. * doc/fdl.texi: Likewise. * doc/parted-pt_BR.texi: Likewise. * doc/parted.texi: Likewise. maint: update all FSF copyright year lists to include 2010 Run this command: make update-copyright maint: record update-copyright options for this package * cfg.mk: Next time, just run "make update-copyright". 2009-12-31 Jim Meyering maint: newer gnulib; don't hard-code my GPG key ID * cfg.mk (gpg_key_ID): Remove definition, now that maint.mk automates it. * gnulib: Update to latest. 2009-12-20 Jim Meyering maint: make build-aux/gnu-web-doc-update work * cfg.mk (manual_title): Define. * doc/parted.texi (Concept index): Rename from "Index". Remove @ifnotplaintext..@end around its menu entry. post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 2.1 * NEWS: Record release date. doc: NEWS: mention the flag-truncation fix * NEWS (Bug fixes): Mention it. 2009-12-19 Hans de Goede dos: honor cylinder alignment disk flag when allocating metadata * libparted/labels/dos.c (add_startend_metadata): Honor cylinder alignment flag. 2009-12-18 Hans de Goede libparted: push/pop update mode around ped_disk_set_flag Disk flags can change how the metadata gets allocated, so push/pop update mode around ops->disk_set_flag, so that the metadata gets re-allocated. * libparted/disk.c (ped_disk_set_flag): push/pop update mode. linux: fix use-after-free in devicemapper code * libparted/arch/linux.c (_dm_add_partition): Fix use of dm_task information after freeing it. ui: Do not truncate flag names when printing The partition_print_flags() function was truncating the flag names, but these are translated strings, and thus can contain multibyte characters. Truncating multibyte chars in a non multibyte aware way is not good and was causing issues when printing tables in Russian: http://bugzilla.redhat.com/show_bug.cgi?id=543029 Since the truncating does not seem to make sense at all this patch simply removes it (it was likely an attempt to stay within 80 chars when printing, but as one partition can have multiple flags set this won't work) * parted/parted.c (partition_print_flags): Don't truncate flag names. 2009-12-16 Jim Meyering libparted: plug a leak in mac_write * libparted/labels/mac.c (mac_write): Free mac_driverdata. maint: use "int", not "bool" for value returned by ped_device_write * libparted/labels/gpt.c (gpt_write): Correct type of local. * libparted/labels/mac.c (mac_clobber): Likewise. * libparted/labels/sun.c (sun_write): Likewise. libparted: plug a leak in mac's write_block_zero * libparted/labels/mac.c (write_block_zero): Don't leak a 1-sector-sized buffer. dos: remove unreachable code * libparted/labels/dos.c (msdos_partition_new): Remove dead code. libparted: plug a leak in gpt_probe * libparted/labels/gpt.c (gpt_probe): Avoid a leak when dev->length is one sector or smaller. 2009-12-14 Jim Meyering maint: improve dist-check.mk rules * dist-check.mk (null_AM_MAKEFLAGS): Remove LIBTOOL. Adding it was erroneous, since it is required when building from a distribution tarball of a libtool-using project. Reported by Ralf Wildenhues. (my-distcheck): Reorganize to use a subshell and set -e, so that failures propagate "out". Without this change, setting LIBTOOL=false would cause a failure that would then be ignored, probably due to a problem in $(install-transform-check). maint: dist-check.mk adapt to parted-specific details * dist-check.mk (built_programs): Use parted/, not src/. (install-transform-check): Search sbin/, not /bin. Expect man pages to be in man8/*.8. 2009-12-13 Jim Meyering maint: sync dist-check.mk from coreutils * dist-check.mk: Sync from coreutils. * gnulib: Update to latest. maint: sync dist-check.mk from coreutils * dist-check.mk: Sync from coreutils. * gnulib: Update to latest. build: distribute gperf-generated file, pt-limit.c * libparted/labels/Makefile.am (EXTRA_DIST): Distribute the gperf-generated file, pt-limit.c, so that people don't need to run gperf at build-from-tarball time. 2009-12-12 Jim Meyering ui: mkpart: avoid double free * parted/parted.c (do_mkpart): This function frees "part_name" immediately after the final use, but also upon e.g., ped_disk_commit failure. Set part_name to NULL after the first free, to make the second a no-op after the first. build: update spec: gperf is a new build-requirement * parted.spec.in (BuildRequires): Add gperf. Reported by Jeff Darcy. 2009-12-11 Jim Meyering build: update gnulib submodule to latest tests: ensure that parted can partition a loop device * tests/t8000-loop.sh: Reverse sense of tests, now that partitioning a loop device succeeds again. * NEWS (Bug fixes): Mention it. 2009-12-11 Hans de Goede linux: treat loopback devices as files We cannot do partition related ioctl's on loopback devices, so treat them as files. * libparted/arch/linux.c (LOOP_MAJOR): Define. * libparted/arch/linux.c (_device_probe_type): Treat loopback devices as files. Reported by Josef Bacik in http://bugzilla.redhat.com/546622 2009-12-10 Hans de Goede libparted: missing pop update mode in ped_disk_delete_all error path * libparted/disk.c(ped_disk_delete_all): Add missing update mode pop call in error path. libparted: make pop/push update mode propagate sanity check errors Sanity check errors indicate something is really really wrong, still sometimes they happen, when they happen it helps a lot in debugging them when the libparted caller immediately errors out at the first moment, rather then slugging along until things crash somewere. * libparted/disk.c(_disk_push_update_mode,_disk_pop_update_mode): Change return value from void to int, and return 0 when the sanity check calls fail. * libparted/disk.c(*): Update all _disk_push_update_mode / _disk_pop_update_mode callers to propagate the return value. 2009-12-10 Joel Granados Moreno libparted: add missing update mode pop in duplicate error path * libparted/disk.c(ped_disk_duplicate): Add missing update mode pop call in error path. gpt: Add support for appletv partitions * include/parted/disk.h(PedPartitionFlag): Add PED_PARTITION_APPLE_TV_RECOVERY. * libparted/disk.c(ped_partition_flag_get_name): Handle PED_PARTITION_APPLE_TV_RECOVERY. * libparted/labels/gpt.c(PARTITION_APPLE_TV_RECOVERY_GUID): New define. * libparted/labels/gpt.c(GPTPartitionData): Add atvrecv member. * libparted/labels/gpt.c(_parse_part_entry, gpt_partition_new, gpt_partition_set_system, gpt_partition_set_flag, gpt_partition_get_flag, gpt_partition_is_flag_available): Handle atvrecv / PARTITION_APPLE_TV_RECOVERY_GUID. build: don't install s390 dasd internal headers into /usr/include * include/parted/Makefile.am (partedinclude_HEADERS): Remove $(S390_HDRS). (noinst_HEADERS): Put them here instead. 2009-12-10 Hans de Goede ui: add --align command-line option to specify mkpart alignment The new --align command-line option can have the following values: none: Use the minimum alignment allowed by the disk type cylinder: Align partitions to cylinders (the default) minimal: Use minimum alignment as given by the disk topology information optimal: Use optimum alignment as given by the disk topology information Note the "minimal" and "optimal" values will use layout information provided by the disk to align the logical partition table addresses to actual physical blocks on the disks. The "minimal" value is the minimum aligment needed to align the partition properly to physical blocks, which avoids performance degradation. Whereas the "optimum" alignment align's to a multiple of the physical block size in a way that guarantees optimal performance. The "minimal" and "optimal" values are useful only when parted is compiled with libblkid >= 2.17 and running on a kernel >= 2.6.31, otherwise they are equivalent to --align=none. * parted/parted.c (ALIGNMENT_ enum values): New enum. (options, options_help): Add --align option. (align_args, align_types, alignment): New global variables. (do_mkpart): Honor aligment variable. (_parse_options): handle --align option. * bootstrap.conf (gnulib_modules): Add argmatch. * NEWS: Mention the new --align option. * doc/parted.texi: Document --align option. * doc/C/parted.8: Likewise. NEWS: update with libblkid and kernel requirements for alignment funcs * NEWS: Change the note for the align-check command to also reference libblkid, add a note to the libparted alignment functions NEWS entry about libblkid and kernel requirements. NEWS: Add new disk flag functions to NEWS * NEWS: Add new disk flag functions. msdos, sun: implement disk flag operations * libparted/labels/dos.c (DosDiskData): New struct. * libparted/labels/dos.c (msdos_alloc, msdos_duplicate, msdos_free): Handle per disk DosDiskData. * libparted/labels/dos.c (msdos_disk_set_flag, msdos_disk_get_flag, msdos_disk_is_flag_available): New functions. * libparted/labels/sun.c (sun_disk_set_flag, sun_disk_get_flag, sun_disk_is_flag_available): New functions. libparted: add disk flag functions and PED_DISK_CYLINDER_ALIGNMENT flag Sometimes we want to be able to set flags at the disk level rather then at the parition level, to influence how new partitions will be created for example. This patch adds functions to do this (modelled after the partition flag functions), and adds a PED_DISK_CYLINDER_ALIGNMENT flag. This flag (which defaults to true) controls if disk types for which cylinder alignment is optional do cylinder alignment when a new partition gets added. This flag is available for msdos and sun disklabels (for sun labels it only controls the aligning of the end of the partition). * include/parted/disk.h (PedDiskFlag): New type * include/parted/disk.h (ped_disk_set_flag, ped_disk_get_flag, ped_disk_is_flag_available): new functions and PedDiskOps members * include/parted/disk.h (ped_disk_flag_get_name, ped_disk_flag_get_by_name, ped_disk_flag_next): new functions * libparted/disk.c (ped_disk_set_flag, ped_disk_get_flag, ped_disk_is_flag_available, ped_disk_flag_get_name, ped_disk_flag_get_by_name, ped_disk_flag_next): new functions dasd: fix leak in dasd_free * libparted/labels/dasd.c (dasd_free): Free disk_specific data. 2009-12-09 Jim Meyering build: update gnulib submodule to latest build: make it clear which sector size is in use upon test failure * Makefile.am (ss-1024 ss-2048 ss-4096): New targets. Before this, top-level "make check" would lead to four separate runs through all the regression tests, one for each of the following simulated sector sizes: 1024 2048 4096, and one more for the native (usually 512), and it was not easy to tell which sector size was in use for a failing test. Now, we still perform exactly the same tests, but the sector size is now part of each target name. 2009-12-08 Jim Meyering tests: exercise the new interfaces * tests/print-max.c: New file. * tests/t9021-maxima.sh: New file. * tests/Makefile.am (TESTS): Add t9021-maxima.sh. (check_PROGRAMS): Add print-max. libparted: new interfaces: max start sector, max partition length * libparted/disk.c (ped_disk_max_partition_start_sector): New function. (ped_disk_max_partition_length): New function. * include/parted/disk.h: Declare them. * NEWS (New features): Mention them. libparted: factor out duplication, hook up new APIs * include/parted/disk.h [struct _PedDiskOps]: (max_length, max_start_sector): New members. * libparted/labels/pt-common.h: New file. * libparted/labels/Makefile.am (liblabels_la_SOURCES): Add it. * libparted/labels/dos.c: Include "pt-common.h". (msdos_partition_check): Remove function. (msdos_disk_ops): Remove factored out initializers. * libparted/labels/gpt.c: Likewise. * libparted/labels/dvh.c: Likewise. * libparted/labels/aix.c: (aix_disk_ops, aix_partition_check): Likewise. * libparted/labels/bsd.c: (bsd_disk_ops, bsd_partition_check): Likewise. * libparted/labels/dasd.c: (dasd_disk_ops, dasd_partition_check): Likewise. * libparted/labels/loop.c: (loop_disk_ops, loop_partition_check): Likewise. * libparted/labels/mac.c: (mac_disk_ops, mac_partition_check): Likewise. * libparted/labels/pc98.c: (pc98_disk_ops, pc98_partition_check): Likewise. * libparted/labels/rdb.c: (amiga_disk_ops, amiga_partition_check): Likewise. * libparted/labels/sun.c: (sun_disk_ops, sun_partition_check): Likewise. * libparted/labels/gpt.c (NULL_IF_DISCOVER_ONLY): Remove definition, now that it's in pt-common.h. libparted: use gperf-generated lookup function * libparted/labels/pt-tools.c (ptt_partition_max_start_len): Rewrite to use the gperf-generated look-up function. (ptt_partition_max_start_sector): New function. (ptt_partition_max_length): New function. * libparted/labels/pt-tools.h: Declare them. * libparted/labels/Makefile.am (GPERF, GPERF_OPTIONS): Define. (BUILT_SOURCES): Define. (liblabels_la_SOURCES): Append pt-limit.gperf. (pt-limit.c): New rule. (MAINTAINERCLEANFILES): Remove useless definition. (DISTCLEANFILES): Set to $(BUILT_SOURCES). * libparted/labels/pt-limit.gperf: New file. * cfg.mk (bootstrap-tools): Mention gperf. * bootstrap.conf (buildreq): Require gperf-3.0.3. pc98: avoid segfault with simulated large sectors The pc98 partition table is by no means ready for >512-byte sectors, but at least it now gets past mklabel. E.g., this usage no longer provokes double-free and read-uninitialized errors: dd if=/dev/zero of=F bs=512 count=1 seek=10000 PARTED_SECTOR_SIZE=4096 valgrind ../parted/parted -s F mklabel pc98 * libparted/labels/pc98.c (pc98_write): Rewrite to avoid invalid access with >512-byte sectors. libparted: ptt_read_sectors: new function * libparted/labels/pt-tools.c (ptt_read_sectors): New function. (ptt_read_sector): Rewrite to use it. * libparted/labels/pt-tools.h: Declare it. 2009-12-03 Jim Meyering mac: hook up the partition_check function for this partition table type * libparted/labels/pt-tools.c (ptt_partition_max_start_len): Define for MAC partition tables. They too have 32-bit-limited partition starting sector number and partition length (in sectors). * libparted/labels/mac.c (mac_partition_check): Use ptt_partition_max_start_len. 2009-11-30 Jim Meyering tests: exercise new align-check command * tests/t9030-align-check.sh: New file. * tests/Makefile.am (TESTS): Add it. ui: new command: align-check TYPE N e.g., parted -s /dev/sda align-check min 1 && echo partition 1 is min-aligned parted -s /dev/sda align-check opt 2 && echo partition 2 is opt-aligned * parted/parted.c: * parted/ui.c: * parted/ui.h: * NEWS (New features): Mention it. * doc/parted.texi (align-check): Describe it. tests: correct a comment * tests/t9020-alignment.sh: Correct a comment. 2009-11-27 Jim Meyering libparted: ped_disk_clobber_exclude: remove now-unused function I see no utility in ped_disk_clobber_exclude (just a thin wrapper around ped_disk_clobber), so am removing the interface. * include/parted/disk.h (ped_disk_clobber_exclude): Remove prototype. * libparted/disk.c (ped_disk_clobber_exclude): Remove function. Now that all callers use NULL as 2nd argument, replace each call with one to ped_disk_clobber. * scripts/data/abi/baseline_symbols.txt: Remove it. Reviewed-by: Karel Zak ped_disk_clobber: change semantics Why? Because if we're going to clobber a partition table, it is wasteful and error prone to try to interpret as a partition table whatever existing data there may be. It may be corrupt, or a mix of two or more types. It is far cleaner just to zero out the key sectors. The previous mechanism was like this: for each partition table type, T, # See if the device has a partition of type T. # If so, run the partition-table-specific code to clear it. if t->ops->probe (dev) t->ops->clobber (dev) Instead, simply zero out the first few and last few sectors. Except for GPT, for which we exempt the first sector (the pMBR). In order to zero out even the bits DASD uses for its identifying strings, we have to clobber at least the 8.5KiB at the beginning of the disk, so round up to 9KiB. * libparted/disk.c: Include "labels/pt-tools.h". (find_disk_type): New helper function. (ped_disk_clobber_exclude): Reviewed-by: Karel Zak dasd: allow the use of a *regular* backing file Before this change, dasd partition tables had to be associated with very specialized block devices available only on IBM s390 systems. This made testing especially hard. Not only did you need access to one of those relatively uncommon systems, but you also needed access to a spare block device. In addition, many of Parted's tests may be run as a non-privileged user, using regular files, and those tests would fail when run on an s390. This change makes it so you may now write a DASD partition table to a regular backing file, just as you may with any other supported partition table type. However, note that even now, DASD support is conditionally compiled and hence enabled only when compiling for an s390 target. * libparted/arch/linux.c (_device_set_sector_size) [__s390__]: Allow operation on a device of type PED_DEVICE_FILE, as well as those of type PED_DEVICE_DASD. * libparted/labels/fdasd.c: Include . (fdasd_get_geometry): Add a new "dev" parameter, required for dev-phys-sector_size, which is needed in order to initialize the "anc" structure without using the device-specific ioctls. When file descriptor "f" refers to a regular file, initialize "anc", "dasd_info", etc. from other sources (fstat and dev->). Update all callers to reflect added parameter. (fdasd_check_api_version): Skip ioctl-calling tests when "f" is a regular file. * include/parted/fdasd.h: Update fdasd_get_geometry prototype. * libparted/labels/dasd.c (dasd_probe): Also allow PED_DEVICE_FILE. (dasd_alloc_metadata): Initialize arch_specific->real_sector_size, which is used in calculating vtoc_end. Reviewed-by: Karel Zak loop: simplify/correct loop_clobber Before, it would clear a sector only if it recognized its own signature. In addition, it would continue clearing subsequent sectors as long as loop_probe succeeded. Now we simply clear the first sector. * libparted/labels/loop.c (loop_clobber): Simplify. Reviewed-by: Karel Zak 2009-11-26 Jim Meyering tests: indicate that we expect t3200-type-change to fail, for now * tests/Makefile.am (TESTS): Move t3200-type-change.sh to ... (XFAIL_TESTS): ...here. 2009-11-24 Jim Meyering tests: correct t3200-type-change.sh * tests/t3200-type-change.sh: The initial version was incomplete. tests: provide a new function: fail_ * tests/t-lib.sh (fail_): New function. tests: t0001-tiny.sh: avoid spurious failure when run as root. * tests/t0001-tiny.sh: Control characters were getting in the way. Filter them out. 2009-11-23 Jim Meyering dasd: avoid NULL-dereference via disk->type->ops->partition_check Commit f387fee8 added the new ops->partition_check() function, and a _partition_check function for each partition table format _except_ dasd. This change adds one for dasd, too. * libparted/labels/dasd.c: Include "pt-tools.h". (dasd_partition_check): New function. * libparted/labels/pt-tools.c (ptt_partition_max_start_len): Add "dasd" to the list of partition table type names for which the 32-bit limits on starting sector and partition length apply. Correct a comment. Considering the 32-bit fields in "struct fdasd_hd_geometry", it is safe to assume that larger offset or size is not possible. 2009-11-18 Jim Meyering build: "make stable" emitted an invalid gnupload command * cfg.mk (gnu_ftp_host-stable): Rename from gnu_ftp_host-major. 2009-11-17 Jim Meyering test for partition-type-changing bug * tests/t3200-type-change.sh: New file. * tests/Makefile.am (TESTS): Add it. 2009-11-13 Jim Meyering gpt: greatly simply gpt_clobber; minor semantic change, too * libparted/labels/gpt.c (gpt_clobber): Don't bother to read and parse existing headers. Instead, simply clear three sectors: the pMBR, the primary header (LBA1), and the last sector. There is no point in clearing what the primary header says is the AlternateLBA, since once the primary header and the last sector are cleared, there is no risk of any tool using it by mistake. tests: t0000-basic.sh: minor correction * tests/t0000-basic.sh: When zeroing out the first sector, use dd's conv=notrunc. Otherwise, we'd also truncate the backing file size to 4KiB. linux_read: give a proper diagnostic for an "end of file" error Before today's gpt_probe bug fix, its test case would provoke an invalid diagnostic. This makes the diagnostic useful. * libparted/arch/linux.c (linux_read): When hitting EOF while reading, diagnose it properly, rather than via strerror(0) (i.e., "Success"). gpt_probe: don't attempt to read beyond end of a very small disk * libparted/labels/gpt.c (gpt_probe): Don't try to read the 2nd sector if that's beyond the end of the disk. * tests/t0001-tiny.sh: New test, to expose the above boundary-case bug. Part of the msdos-partition-creation process involves probing for other types of partition tables. Probing for gpt would evoke a nonsensical diagnostic. * tests/Makefile.am (TESTS): Add t0001-tiny.sh. dvh: replace open-coded dvh_clobber with equivalent, shorter code * libparted/labels/dvh.c (dvh_clobber): Simply use ptt_clear_sectors. tests: weaken t0202-gpt-pmbr to assume a preexisting GPT table * tests/t0202-gpt-pmbr.sh: Lay down an initial GPT table before writing to the MBR, so this test passes with the new semantics. tests: rewrite t0202 to use new framework * tests/t0202-gpt-pmbr.sh: Rewrite. ped_disk_type_get_next: fix a const-correctness bug * libparted/disk.c (ped_disk_type_get_next): Make param const. * include/parted/disk.h (ped_disk_type_get_next): Update prototype. 2009-11-12 Hans de Goede NEWS: mention recent changes 2009-11-12 Jim Meyering maint: more const-correctness fixes 2009-11-12 Hans de Goede dasd: fix ped_disk_new_fresh to not read old data from disk dasd_write(), was reading the volume label from the disk (trough fdasd_check_volume()) and later writing it back again, this is fine for existing dasd labels, but when creating a fresh label, this would also cause the old volume label to be re-used, and if the old label was corrupt, it would cause fdasd_check_volume() and thus dasd_write() to fail. Reported here: http://bugzilla.redhat.com/533808 * libparted/arch/linux.c: include fdasd.h. (init_dasd): Do BIODASDINFO ioctl, and store the dasd devno in arch_specific. (init_dasd): Remove dead (never reached) code. * libparted/arch/linux.h (struct _LinuxSpecific): Add devno member. * libparted/labels/dasd.c (DasdDiskSpecific): add vlabel member. (dasd_alloc): Init DasdDiskSpecific.vlabel for fresh disks (dasd_read): Store read vlabel in DasdDiskSpecific.vlabel. (dasd_write): Write DasdDiskSpecific.vlabel instead of on disk vlabel. 2009-11-10 Jim Meyering build: avoid s390-specific compilation failiure * libparted/labels/vtoc.c (vtoc_volume_label_init): Don't use strncpy to copy 84 bytes into a 4-byte field. Instead, use memcpy to copy "sizeof *vlabel" bytes into the "vlabel". maint: fix s390-specific const correctness problems * libparted/labels/vtoc.c (vtoc_error, vtoc_ebcdic_enc): (vtoc_ebcdic_dec): Declare parameters to be const, as required. * libparted/labels/fdasd.c (fdasd_error): Likewise. * include/parted/vtoc.h (vtoc_ebcdic_enc, vtoc_ebcdic_enc): Update prototypes. gpt: fix a bug in the new PE-array CRC checks on big-endian systems * libparted/labels/gpt.c (check_PE_array_CRC, gpt_read): Always convert the PartitionEntryArrayCRC32 to CPU endianness before comparing with a just-computed CRC. 2009-11-08 Jim Meyering build: use gnulib's canonicalize-lgpl module Replace Parted's private version of canonicalize_file_name. * libparted/device.c: Include . (canonicalize_file_name) [!HAVE_CANONICALIZE_FILE_NAME]: Remove definition. * bootstrap.conf (gnulib_modules): Add canonicalize-lgpl. 2009-11-07 Jim Meyering libparted: linux: don't deref NULL upon failed malloc or realloc * libparted/arch/linux.c (_read_fd): Handle allocation failure. build: update gnulib submodule to latest maint: use EXIT_SUCCESS and EXIT_FAILURE, not 0 and 1 to exit Convert all uses automatically, via these two commands: git grep -l '\ dasd: fix unused variable warning * libparted/labels/dasd.c (dasd_get_partition_alignment): Fix unused variable warning. linux: use cached major minor instead of statting the device again * libparted/arch/linux.c (_dm_remove_parts): Use cached major/minor numbers. linux: use devicemapper task name instead of device node name Use devicemapper task name instead of device node name as basename for devicemapper disk partitions. This is needed for upcoming lvm changes where the /dev/mapper/foobar files are becoming symlinks, so we will end up opening /dev/dm-#, and naming our partitions dm-#p1, dm-#p2, instead of foobarp1, foobarp2, etc. linux: use major / minor to specify device mapper device in dm_task Use major / minor to specify device mapper device instead of dm_task_set_name. This is needed for upcoming lvm changes where the /dev/mapper/foobar files are becoming symlinks, so we will end up opening /dev/dm-#, and dm-# is not a valid dm_task name. This is only needed in this one place, as in the other places where we use dm_task_set_name, the name we use was returned by libdevicemapper itself in an earlier function call. 2009-11-06 Jim Meyering tests: enable the FS-resizing (tests only HFS and FAT) * tests/Makefile.am (TESTS): Add t3000-resize-fs.sh. maint: remove stray "types and" in the big FS-op warning * parted/parted.c (issue_fs_op_warning): Correct grammar in diagnostic. tests: convert more tests to new framework * tests/t0400-loop-clobber-infloop.sh: Convert. * tests/t0010-script-no-ctrl-chars.sh: Likewise. * tests/t3000-resize-fs.sh: Likewise, and convert it to use scsi_debug. * tests/t-local.sh (require_512_byte_sector_size_): Copy this function from test-lib.sh. 2009-11-04 Hans de Goede dasd: fix disk duplication Fix dasd_duplicate and add a dasd_partition_duplicate function. * libparted/labels/dasd.c(dasd_partition_duplicate): New function. (dasd_duplicate): Don't set the disk_specific pointer to NULL! (dasd_duplicate): Copy DasdDiskSpecific from old disk to new disk. dasd: set disk_specific->format_type in dasd_alloc Set disk_specific->format_type in dasd_alloc, so that the disk returned by ped_disk_new_fresh is a valid dasd disk. * libparted/labels/dasd.c (dasd_alloc): Set disk_specific->format_type. dasd: cache real_sector_size in linux_probe dasd_alloc was doing an ioctl to get the real sector size for the dasd device (we are faking 512 bytes sectors), but when called directly from ped_disk_new_fresh(), the device is not open causing this to fail. This patch fixes things by caching the real_sector_size in the linux arch_specific data and making the dasd label handling use this. libparted/arch/linux.c(_device_set_sector_size): Cache real sector size. (_device_set_sector_size, init_dasd, linux_new): Only compile dasd code on s390 and s390x. dasd: remove bogus part_info pointer from DasdPartitionData The part_info pointer in DasdPartitionData was only used to pass fdasd partition_info_t pointers from dasd_write to the dasd_write dasd_update_type utility function. Since these pointers are not valid outside the lifetime of dasd_write, they should not be stored in the longer lived DasdPartitionData. * libparted/labels/dasd.c(DasdPartitionData): Remove part_info member. (dasd_read): Stop setting DasdPartitionData part_info. (dasd_update_type): Add part_info argument to pass fdasd partition_info_t pointers from dasd_write. (dasd_write): Stop setting DasdPartitionData part_info, pass partition_info_t pointers to dasd_update_type as a separate argument. dasd: clean up anchor handling The current dasd label code keeps an fdasd anchor struct in the DasdDiskSpecific struct, and fills this during dasd_read. However this anchor does not get updated with any future mods, until dasd_write, at which points it gets completely re-initialized. Since the contents of the anchor saved during read does not get used anywhere else, this patch switches to using local anchor structs in dasd_read and dasd_write. This will also allow writing a significantly simpler duplicate implementation, then the one which is currently added to the Fedora package with a patch from Joel Granados (The current master dasd_duplicate implementation is not functional). This patch also fixes several missing calls to fdasd_cleanup() fixing several memory leaks. * libparted/arch/linux.h (struct _LinuxSpecific): Drop anchor member. * libparted/labels/dasd.c (DasdDiskSpecific): Drop anchor member. (dasd_clobber): Add missing fdasd_cleanup(). (dasd_read, dasd_write): Use local anchor struct instead of a dynamically allocated one in DasdDiskSpecific. (dasd_read): Don't leak a PedConstraint in 2 error paths. (dasd_update_type): Pass in the used anchor as argument. 2009-11-03 Jim Meyering tests: distribute new files, t-local.sh and t-lvm.sh * tests/Makefile.am (EXTRA_DIST): Add t-local.sh and t-lvm.sh. tests: appease "make syntax-check" * tests/print-align.c: Include "progname.h". Call set_program_name. tests: t6000-dm.sh: update and adapt to changed LVM2 * tests/t6000-dm.sh: Rewrite to use new test framework and to disable multipath testing, since LVM2 has changed in such a way that it no longer works with loop devices. tests: do not invoke scsi_debug_setup_ in a subshell * tests/t9010-big-sector.sh: Do not invoke scsi_debug_setup_ in a subshell, since it sets a variable that cleanup machinery expects to see. * tests/t9020-alignment.sh: Likewise. tests: tweak temporary dirname prefix * tests/t-lib.sh (t_): Use "pe-" as prefix, not "gz-". tests: update lvm-utils.sh from lvm2 * tests/lvm-utils.sh: Merge in changes from lvm2. tests: adapt/update lvm-related infrasture, too * tests/t-local.sh: Source t-lvm.sh. * tests/t-lvm.sh: Clone and update of lvm-utils.sh, for when we retire that file in favor of this one. tests: adapt t8000-loop.sh * tests/t8000-loop.sh: Rewrite in new style, and adjust to expect new diagnostic. tests: print and check partition alignment info, too * tests/print-align.c: Print partition alignment info, too * tests/t9020-alignment.sh: Check partition alignment too. tests: serialize tests that use the scsi_debug module * tests/t-local.sh (scsi_debug_lock_file_): New global. (scsi_debug_acquire_lock_): New function. (scsi_debug_setup_): Call it, to acquire the lock. (scsi_debug_cleanup_): Release the lock. tests: test the new alignment functions * tests/t9020-alignment.sh: New test. * tests/Makefile.am (TESTS): Add it to the list. tests: factor out some more * tests/t-local.sh (require_scsi_debug_module_): New function. * tests/t9010-big-sector.sh: Use it. tests: perform scsi_debug cleanup automatically... ...rather than requiring each test to do it. * tests/t-lib.sh ($cleanup_eval): New variable. Initialize. (remove_tmp_): Use it. * tests/t-local.sh: Record whether modprobe succeeded. (cleanup_eval_): Append an invocation of scsi_debug_cleanup_ so that it is always run. (scsi_debug_cleanup_): Run rmmod only if the modprobe succeeded. * tests/t9010-big-sector.sh (cleanup_): Remove. 2009-11-02 Jim Meyering tests: move scsi_debug framework into shared script * tests/t-local.sh (-scsi_debug_cleanup_, wait_for_dev_to_appear_): (print_sd_names_, scsi_debug_setup_): New functions, factored out of ... * tests/t9010-big-sector.sh: ...this file. tests: document and begin to factor out scsi_debug framework * tests/t9010-big-sector.sh: Add comments, fix a bug in "comm" usage, prepare to factor out scsi_debug framework. tests: add a helper program to print alignment info for a device * tests/print-align.c: New file. * tests/Makefile.am (check_PROGRAMS): Define. (AM_CPPFLAGS, LDADD): Define. (AM_CFLAGS): Enable warnings here, too, by adding $(WARN_CFLAGS) and $(WERROR_CFLAGS). 2009-11-01 Hans de Goede Implement get_partition_alignment DiskOp for all labels which need it Implement get_partition_alignment DiskOp for all labels which require an alignment with a grain_size != 1. libparted: add ped_disk_get_partition_alignment() function This functions get the alignment needed for partition boundaries on this disk. The returned alignment describes the alignment for the start sector of the partition, for all disklabel types which require alignment, except Sun disklabels, the end sector must be aligned too. To get the end sector alignment decrease the PedAlignment offset by 1. libparted: add ped_device_get_xxx_aligned_constraint() functions Add ped_device_get_minimal_aligned_constraint() and ped_device_get_optimal_aligned_constraint() functions to libparted. These functions can be used to get a device constraint taking alignment into account. ped_device_get_constraint: return constraint without alignment In libparted-1.9 ped_device_get_constraint() would always return a constraint without any start / end aligning (grain_size == 1). Now that we are starting to support disks with a physical sector size other then 512, the old ped_device_get_constraint() code may actually start returning constrains with alignment info with a grain_size != 1. Since this is a behavior change and since the old code does not take a possible alignment info into account, this patch removes the aligning code from ped_device_get_constraint(), so that its behavior is unchanged. This patch also updates the functions doxygen documentation to reflect what it has actually done all these years. linux: add get_xxx_alignment() functions * libparted/arch/linux.c (get_minimum_alignment): New function. (get_optimum_alignment): New function. linux: save blkid topology in arch_specific data for later use This is a preparation patch for adding get_minimum_alignment and get_optimum_alignment functions to linux's _PedDeviceArchOps. * libparted/arch/linux.h (struct_LinuxSpecific) [probe, topology]: Add members. * libparted/arch/linux.c (linux_new): initialize arch_specific->probe and arch_specific->topology to NULL, (linux_destroy): Free arch_specific->probe. (get_minimum_io_size): Remove function. (get_blkid_topology): New function. (_device_set_sector_size): Call get_blkid_topology() instead of get_minimum_io_size() and retrieve minimum io size from the cached topology. libparted: add ped_device_get_xxx_alignment() functions Add ped_device_get_minimum_alignment() and ped_device_get_optimum_alignment() functions to libparted. Note this is a resent of my previous patchset with a number of typos corrected: aligment -> alignment minimal_alignment -> minimum_aligment optimal_alignment -> optimum_aligment Sorry for the noise. 2009-10-29 Jim Meyering tests: protect t7000 from the environment * tests/t7000-scripting.sh: Initialize fail=0, so that an environment setting cannot perturb the test. tests: convert to new testing framework * tests/t0200-gpt.sh: Convert to new testing framework. * tests/t0201-gpt.sh: Likewise. * tests/t0300-dos-on-gpt.sh: Likewise. * tests/t0100-print.sh: Likewise. * tests/t0250-gpt.sh: Likewise. dvh: document an as-yet-unplugged (but not serious) leak * libparted/disk.c (ped_disk_add_partition): List some of the things I've tried to plug a leak exposed by a root-only test on dvh's partition-creation error path. This leak is enough of a corner case that I may even leave it for now, and add a suppression for it, so that we're not distracted by it. 2009-10-28 Jim Meyering dvh: plug three constraint-sized leaks * libparted/labels/dvh.c (dvh_read, dvh_alloc_metadata): Free constraint upon failure, too. ui: plug multiple command_line_get_word leaks * parted/parted.c (do_mkpart, do_print): check: plug an even smaller (formatted "unit") leak * libparted/disk.c (ped_disk_check): Free fs_size also upon success. check: plug a geometry-sized leak * libparted/disk.c (ped_disk_check): Destroy "geom", when done with it. loop: don't leak a sector in loop_clobber * libparted/labels/loop.c (loop_clobber): Replace leaky open-coded version with a use of Use ptt_clear_sectors. tests: t7000: remove mkpartfs tests This test tested both mkpart and mkpartfs. * tests/t7000-scripting.sh: Remove the mkpartfs tests. tests: remove tests that are too FS-centric * tests/t1000-mkpartfs.sh: Remove file. * tests/t1500-small-ext2.sh: Likewise. * tests/t2000-mkfs.sh: Likewise. * tests/t3100-resize-ext2-partion.sh: Likewise. * tests/t3000-constraints.sh: Likewise. * tests/Makefile.am (TESTS): Remove them here, too. 2009-10-27 Jim Meyering ui: plug a constraint leak in do_mkpart * parted/parted.c (do_mkpart): Free constraint after using it to add partition. gpt: plug two gpt-header leaks in gpt_read_headers * libparted/labels/gpt.c (gpt_read_headers): Free locals pri and/or bak if they are not valid. gpt: plug a 1-sector leak in gpt_read_headers * libparted/labels/gpt.c (gpt_read_headers): Free a sector. ui: plug a leak (partition_print_flags) * parted/parted.c (do_print): Free flags, after printing. libparted: plug an FS-alias-related leak * libparted/filesys.c (ped_file_system_alias_unregister): Free the alias we've just unregistered. 2009-10-26 Jim Meyering doc: update NEWS * NEWS (Bug fixes): Describe two. 2009-10-23 Jim Meyering gpt: header validity: also consider whether a PE array crc matches * libparted/labels/gpt.c (check_PE_array_CRC): New function. (_header_is_valid): Use it to verify that partition entry array checksums match, too. Karel Zak noticed that this check was not being performed. * tests/t0280-gpt-corrupt.sh: Adapt to changed diagnostic. gpt: tweak interfaces to pass disk, not disk->dev * libparted/labels/gpt.c: required for upcoming CRC-checking function. gpt: don't ignore an improbable (1-in-2^32) failure pth_crc32 mapped failure to a crc32 value of 0. If that happened to match the stored value, there would be no indication that there had been a malloc failure. * libparted/labels/gpt.c (pth_crc32): Change interface so we can distinguish failure from a CRC value of 0. Update all callers. (_generate_header): Now that we recognize pth_crc32 can fail, we must admit that its void-returning caller _generate_header may fail, too. Return "int" and adjust *its* callers. gpt: factor out code that is about to be reused * libparted/labels/gpt.c: Include . (gpt_read_PE_array): New function, ... (gpt_read): ...factored out of this one. Use it. gpt: don't dereference NULL upon OOM (pth_get_raw callers) Handle each case in which pth_get_raw may return NULL. * libparted/labels/gpt.c (pth_get_raw): Upon OOM error, return 0 rather than dereferencing NULL. (gpt_write): Don't dereference NULL upon OOM error. (gpt_read): Yet another. gpt: don't dereference NULL upon OOM (in pth_get_raw) * libparted/labels/gpt.c (pth_get_raw): Don't dereference NULL on out of memory error. gpt: remove dead store * libparted/labels/gpt.c (pth_crc32): Remove useless initialization. gpt: make an internal function "const"-correct * libparted/labels/gpt.c (_parse_header): Make "gpt" const. tests: convert t0280 to new test style. * tests/t0280-gpt-corrupt.sh: Convert to new test style. * tests/t-lib.sh: Source t-local.sh. * tests/t-local.sh: New file. gpt: clean up * libparted/labels/gpt.c (gpt_probe): Remove now-useless test before pth_free. (gpt_read): Use ptt_clear_sectors in place of open-coded equivalent. * cfg.mk (useless_free_options): Add --name=pth_free. gpt: make its header check a tiny bit more strict * libparted/labels/gpt.c (_header_is_valid): Declare a header to be invalid if its AlternateLBA is the same as MyLBA. 2009-10-21 Jim Meyering complete most of gpt-CRC-related rewrite * libparted/labels/gpt.c (_read_header): Remove now-unused function. t0280-gpt-corrupt.sh: adapt for new output, improve test gpt: rewrite GPT header-reading code * libparted/labels/gpt.c (read_header): Remove now-unused function. (gpt_read_headers): New function. (gpt_read): Rewrite to use gpt_read_headers. gpt: require that the backup table's AlternateLBA is 1 * libparted/labels/gpt.c (_header_is_valid): When checking the backup header, ensure that its AlternateLBA is 1. tests: gpt: test for detection of corrupt backup partition header * tests/t0280-gpt-corrupt.sh: Corrupt the backup partition header's MyLBA, and require that an attempt to print the table fails. tests: hook up new GPT-crc-corrupting script * tests/Makefile.am (TESTS): Add t0280-gpt-corrupt.sh. * libparted/labels/gpt.c (gpt_read): Change diagnostic to say that the PTE CRC mismatch is in the primary table. * tests/t0280-gpt-corrupt.sh: Tweak diagnostic to match what the code now prints. gpt: also verify MyLBA when checking table validity * libparted/labels/gpt.c (_header_is_valid): Add parameter, my_lba. (_read_header): Update caller. (_parse_header): Comment out this use of _header_is_valid in an assertion. gpt: clean up formatting of static initializers * libparted/labels/gpt.c (NULL_IF_DISCOVER_ONLY): Define. (gpt_disk_ops): Use it to avoid in-decl #if directives. 2009-10-20 Jim Meyering gpt.c: filter through indent --no-tabs... and manual fix-up to shorten long lines. Also, manually format the static initializers in e.g., gpt_disk_ops, since GNU indent botches that. 2009-10-19 Jim Meyering gpt: add a comment * libparted/labels/gpt.c (_header_is_valid): Add a comment to explain the new partition entry size limitation of UINT32_MAX/16. build: update gnulib submodule to latest tests: use scsi_debug to test-for 4k-sector-specific bug * tests/t9010-big-sector.sh: New root-only test. Requires 2.6.31, and the scsi_debug module, /sys/block/... support and an upcoming version of libblkid. * tests/Makefile.am (TESTS): Add t9010-big-sector.sh. Thanks to Mike Snitzer for advice and for pointing me to similar code he wrote to test LVM. tests: begin the transition to coreutils' testing framework The existing testing framework makes it hard to diagnose test failures, so I'm switching to one that works better for me, from coreutils. * tests/t-lib.sh: New file. Mostly from coreutils/tests/test-lib.sh. * tests/Makefile.am (TMPDIR): Update to pass more info to test scripts. (EXTRA_DIST): Add t-lib.sh. linux: use libblkid to determine ->phys_sector_size Before this change, creating a memory-mapped disk on a fedora-based system running 2.6.31.1-56.fc12.x86_64 using this command: modprobe scsi_debug dev_size_mb=1025 sector_size=4096 and then running "parted -s /dev/sdd mklabel gpt print" would mistakenly print "Sector size (logical/physical): 4096B/512B" The "512B" is what's wrong. It should be "4096B". * configure.ac: Test for a new-enough blkid library. * libparted/Makefile.am (libparted_la_LIBADD): Add $(LIB_BLKID). * libparted/arch/linux.c (get_minimum_io_size): New function. (_device_set_sector_size): Use it. libparted: weaken a diagnostic * libparted/arch/linux.c (_kernel_reread_part_table): Give a more accurate diagnostic. Reported by Curtis Gedak. gpt: verify CRC32 of partition table entry array, too The partition table entry array's CRC was not being verified at all. This adds an interim check. The full-blown change required to make this implementation conform to the EFI spec will be more invasive. * libparted/labels/gpt.c (gpt_read): Check CRC of PTE array, too. * tests/t0280-gpt-corrupt.sh: New test for this. Reported by Karel Zak. doc: mention the "bios_grub" flag I don't like the idea of documenting this "flag setting" option, but it's been in the code for long enough now, and in actual use, that I feel obliged. In the longer term, we'll probably deprecate it and instead add an interface to set a partition's type independent of mkpart's "type" argument. * doc/parted.texi (set): Mention bios_grub. tests: gpt: do not munge GPT data manually Otherwise, an upcoming change would cause this test to fail. * tests/t5000-tags.sh: Do not munge GPT data manually, since that does not update embedded CRCs, and thus renders it invalid. Set the attribute via "set 1 bios_grub on" instead. Also, use "name1" as the partition name, rather than the misleading "primary". Adjust diagnostics: the changes we make are no longer "manual." 2009-10-08 Jim Meyering libparted: fix big-endian bug in gpt_get_max_supported_partition_count * libparted/labels/gpt.c (gpt_get_max_supported_partition_count): Convert ->SizeOfPartitionEntry from little-endian to CPU endianness here, too. This is along the same lines as commit d6e9b3bb, but with the difference that this code is not reachable via the command-line interface. 2009-10-06 Jim Meyering post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 2.0 * NEWS: Record release date. gpt: don't malfunction on big-endian systems Numerous GPT tests would fail when run on e.g., big-endian PPC. * libparted/labels/gpt.c (gpt_read): Now that we use the SizeOfPartitionEntry member, be sure to convert from GPT's little-endian on-disk format to to CPU endianness. This bug was introduced via commit 14cce9b2, 2009-06-10, "gpt: fix gpt_read to read all of the partition entries correctly". * libparted/labels/gpt.c (_header_is_valid): Also convert it here. Add a test to ensure that the partition entry size is no larger than the slightly arbitrary UINT32_MAX/16. * NEWS (Bug fixes): Mention it. build: update gnulib submodule to latest maint: add gnulib's gnu-web-doc-update module * bootstrap.conf (gnulib_modules): Add gnu-web-doc-update doc: add pointer to NEWS in README * README: Mention NEWS. doc: update README * README (WARNING): Mention upcoming removal of FS-manipulation capabilities and that we'll retain FAT/HFS resize capabilities. Remove an obsolete URL. Do not encourage email to individuals. Update info-viewing instructions, provide the on-line doc URL. tests: resize FAT and HFS file systems Since it looks like we're stuck with keeping at least FAT and HFS file-system resizing support in libparted, we have an obligation to exercise at least some of that functionality. For now, I've limited this test to shrinking well-aligned partitions by a well-behaved amount. Curtis Gedak helped come up with a usable test. * tests/t3000-resize-fs.sh: New file. Use starting partition offset that is on a cylinder boundary, and increase the partition size to be larger than 256 MiB. When resizing, choose the new size to be exactly one cylinder (8MiB) smaller than the original. 2009-10-06 Hans de Goede ped_partition_busy: do not call the libparted exception handler Modify libparted/arch/linux.c _partition_get_part_dev() to not call _device_stat() but instead use stat directly, as _device_stat() calls the libparted exception handler, and we don't want this here, the only caller of _partition_get_part_dev() is _partition_is_mounted(), which in turn only gets called by linux_partition_is_busy(), and we don't want to "throw" exceptions from ped_partition_busy(). This issue was noticed in combination with pyparted as used by anaconda, see: http://bugzilla.redhat.com/527035#c10 2009-10-01 Jim Meyering doc: mention the GPT/msftres bug fix * NEWS (Bug fixes): Mention it. parted: issue a warning upon any use of a file-system op * parted/parted.c (issue_fs_op_warning): New function. (do_cp, do_mkfs, do_mkpartfs, do_move, do_resize, do_check): Call it. * tests/test-lib.sh: Export the envvar setting, PARTED_SUPPRESS_FILE_SYSTEM_MANIPULATION_WARNING=1 to suppress those warnings while running the few remaining FS-related tests. maint: avoid false-positive NULL-deref warning from clang * parted/ui.c: Include . (command_line_get_disk): Add an assertion that command_line_get_device currently guarantees will always be true. This placates clang regarding its sole NULL-deref warning. (command_line_get_device): Move declarations "down" to first use. build: use more gnulib modules for better POSIX compliance * bootstrap.conf (gnulib_modules): Add modules exposed via make CFLAGS=-DGNULIB_POSIXCHECK 2>&1 \ |perl -lne '/.* use gnulib module (\S+).*/ and print $1' \ |sort |uniq -c|sort -nr Add these: close fsync lseek mkstemp strdup unlink maint: function returning "int", did not return a value. * parted/ui.c (init_readline): Return a value (always 0 for now). * parted/parted.c (_init): Handle init_readline's return value. maint: remove more dead stores and fix a bug in do_mkpartfs * libparted/fs/ext2/ext2_mkfs.c (ext2_mkfs_create_lost_and_found_inode): Punt: suppress clang's (aka scan-build's) warning. * parted/parted.c (snap_to_boundaries): Remove a dead store. (do_mkpartfs): The apparent dead store to part_name exposed a real bug. In fact, it highlighted that while do_mkpart uses its "part_name" variable (and calls ped_partition_set_name), do_mkpartfs did not. (snap_to_boundaries): Remove dead store. * libparted/unit.c (parse_chs): Likewise, and a leak. * libparted/fs/hfs/reloc_plus.c (hfsplus_cache_from_catalog): Likewise. (hfsplus_cache_from_extent): Remove a dead store. (hfsplus_cache_from_attributes): Likewise. * libparted/fs/hfs/advfs_plus.c (hfsplus_btree_search): Likewise. * libparted/fs/ext2/ext2_block_relocator.c (ext2_block_relocate_shrink): Remove dead store and corresponding decl. * parted/ui.h: Mark 2nd parameter as non-null. maint: remove dead store code and declarations * libparted/labels/bsd.c (bsd_partition_set_flag): Remove dead store and corresponding decl. * libparted/arch/linux.c (init_ide): Likewise. (_dm_maptype): Likewise. (_mount_table_search): Likewise. * libparted/fs/amiga/asfs.c (_asfs_probe): Likewise. * libparted/labels/mac.c (mac_alloc_metadata): Likewise. * libparted/labels/rdb.c (amiga_write): Likewise. (amiga_write): Again. * libparted/fs/amiga/apfs.c (_generic_apfs_probe): Likewise. * libparted/fs/hfs/reloc_plus.c (hfsplus_effect_move_extent): Likewise. * libparted/fs/hfs/reloc.c (hfs_effect_move_extent): Likewise. * libparted/labels/dos.c (probe_partition_for_geom): Remove dead store in "can't happen" case. make PED_ASSERT handling sane: abort on false condition Upon a failed PED_ASSERT, Do not ask the interactive user if they want to continue. This change will affect any code that expects to be able to continue after a failed PED_ASSERT condition. However, such code is so fundamentally broken that this change is required. If you require to be able to continue after a false condition, then the code must not use a macro named like PED_ASSERT. This change was motivated by my desire to use the clang static analysis tool. Without this change, there were over 300 mostly-false-positive reports. With it, just 31, almost all legitimate. * libparted/debug.c (ped_assert): Remove first parameter. It is now tested via the macro. Now, this function always aborts, which helps clang understand. Do not ask the interactive user if s/he wants to continue. * include/parted/debug.h (PED_ASSERT): Test condition here, not in ped_assert. * libparted/disk.c (ped_disk_remove_partition): Remove the label that was used only upon failing PED_ASSERT. Now that PED_ASSERT always aborts for a false condition, that would have been dead code. (ped_disk_new_fresh): Likewise. build: avoid a shadowing warning * libparted/fs/hfs/advfs_plus.c (hfsplus_get_empty_end): Rename local, "link" to avoid shadowing the syscall. * libparted/fs/hfs/advfs.c (hfs_get_empty_end): Likewise. 2009-09-29 Jim Meyering fat-FS: do not modify fat file system support Revert "Add fat support for sector_size > 512." This reverts commit 14395c356664a3b88f3929a6a3ad69bca374f70d. Revert "Fix compile failures." This reverts commit 7603e404ee60f2f892be380a23c390f4638f451f. doc: update NEWS * NEWS: Mention >512-byte sector support. build: use newer bootstrap script * bootstrap: Update from coreutils. build: update gnulib submodule to latest maint: update most copyright year lists to include 2009 I used this command: make update-copyright \ UPDATE_COPYRIGHT_FORCE=1 UPDATE_COPYRIGHT_USE_INTERVALS=1 tests: enable more syntax-checks * cfg.mk: Enable a few more tests. * include/parted/debug.h: Remove useless parens to avoid triggering failure of the sc_useless_cpp_parens syntax-check. * libparted/arch/linux.h: Likewise. * libparted/libparted.c: Likewise. tests: enable a few syntax-checks * cfg.mk (local-checks-to-skip): Remove a few useless exclusions and enable a few syntax checks. * libparted/arch/linux.c (linux_destroy): Avoid triggering the sc_cast_of_argument_to_free check. * parted/strlist.c (str_list_destroy_node): Likewise. 2009-09-24 Jim Meyering tests: gpt: exercise creating all partition types; check for msftres bug Ensure that a newly-created partition in a GPT partition table has no 'flag' set, by default. This test also exercises setting the "name" on a partition and creates one partition of each supported type. * tests/t0220-gpt-msftres.sh: New file. * tests/Makefile.am (TESTS): Add that new file. 2009-09-24 Keshav P R gpt: don't use msftres flag for FAT/NTFS partitions This patch corrects the bug in parted due to which any FAT(12,16,32) or NTFS partition(s) is, by default, incorrectly set as "Microsoft Reserved Partition" type in GPT disks. With this change, parted defaults to setting the FAT/NTFS Partitions partition type to Linux/Windows Basic Data Partition which will make them accessible in Mac OS X and Windows. Reported by hramrach@centrum.cz in , with suggested change by Osamu Aoki . Keshav P R wrote the above and prepared this patch. 2009-09-24 Jim Meyering ui: do not initialize readline (which would output!) in --script mode Running parted with its --script (-s) option would, surprisingly, print a few control characters if TERM were set appropriately, and if readline and curses support were compiled in. This fixes it not to do that. * parted/parted.c (_init): Initialize readline support only after parsing command line options, so we can skip it in --script mode. * parted/ui.c (init_readline): New function. Body extracted from ... (init_ui): ...here. * parted/ui.h (init_readline): Declare. * tests/t0010-script-no-ctrl-chars.sh: New file. Test for the above. * tests/Makefile.am (TESTS): Add that new file. 2009-09-18 Jim Meyering loop: don't infloop Correct a bug introduced in commit 52815877, 2007-06-15, "Make loop_probe and loop_clobber work with sector_size > 512, too." * libparted/labels/loop.c (loop_clobber): Initialize "i" before the loop, not inside it. * tests/t0400-loop-clobber-infloop.sh: Test for this. * tests/Makefile.am (TESTS): Add it. 2009-09-17 Jim Meyering tests: correct t1100-busy-label This test had two problems: FS-manipulation (creates a FAT fs) even for non-512-byte sectors, and it had a now-unexpected line in the expected output of its final command. * tests/t1100-busy-label.sh: Use require_512_byte_sector_size_, so that we skip this test when in non-512-sector size mode. Remove the now-bogus line. Note: this test is not normally run. In order to run it, you have to run as root and set two envvars, e.g., sudo make check DEVICE_TO_ERASE=/dev/sde DEVICE_TO_ERASE_SIZE=16.4MB build: update gnulib submodule to latest build: sync bootstrap from coreutils * bootstrap: Update from coreutils. 2009-08-28 Hans de Goede linux-commit: do not unnecessarily open partition device nodes After patching parted with my do-not-use-BLKPG patch, I started to get EBUSY errors on commit_to_os. Note this is not caused by the do-not-use-BLKPG patch, this was already happening, but parted was silently ignoring the errors (and the kernel was not notified of the changes, which is bad). The error now actually gets reported. The problem turns out to be in libparted/arch/linux.c's _flush_cache function, which walks all the partitions of the disk and does BLKFLSBUF calls on them. This causes the following: commit_to_os -> device_open -> fd = open /dev/sda -> _flush_cache -> for each /dev/sda# open, ioctl, close -> ioctl(fd, BLKRRPART) -> EBUSY What is happening here is that the: for each /dev/sda# open, ioctl, close Is causing udev change events for all the /dev/sda# nodes, which causes udev to call blkid on all these nodes (on systems which use DeviceKit), so blkid has /dev/sda# nodes open while BLKRRPART gets called on /dev/sda -> EBUSY. I've checked with two independend storage subsystem kernel developers, and /dev/sda and /dev/sda#, guarantee cache coherency now-a-days. So there is no need to do this for 2.6, which also eliminates the need to call _flush_cache() on device open at all. * libparted/arch/linux.c (_have_kern26): New function. (_flush_cache): For linux kernels 2.6 and newer, don't flush partition devices. (linux_open): Skip _flush_cache on newer kernels here, too. linux-commit: remove the use of the BLKPG ioctl While testing partitionable mdraid I noticed that the kernels view of the partition table never changes even though I was successfully making commit_to_os() calls. This has let to me diving into libparted's commit_to_os() code for Linux and there are multiple issues hiding in there: 1) Parted reads /sys/block/foo/range to determine how many partitions the device type supports and then makes BLKPG ioctl's to update the kernels view of the partition table for partitions which fall into this range. However for example /sys/block/sda/range contains 16, there are 2 issue with libparted using this number: 1) scsi major's only support 15 partitions, 1 of the range of 16 is reserved for the whole device, yet libparted will try to notify the kernel about 16 partitions if present 2) If the major's partition minor's run out, the kernel will switch to the mdp major for the other partitions, iow range no longer limits the number of partitions. 2) libparted assumes the user knows what he is doing, and will ignore -ebusy errors for partitions, assuming that the user is smart enough to only change unused partitions. Parted does this without checking if the partitions which return ebusy actually are unchanged causing REAL errors to get unreported (BAD, really really BAD) 3) because of 1) libparted will only sync 1 partition on /dev/md# devices (would be 0 if not for the of by 1 bug as all md#p# partitions use the mdp major), and it fails to even do that without reporting an error. ### 1) we can fix by simply not checking /sys/block/foo/range, but instead just syncing max partitions. 2) is more troublesome, we could just make -EBUSY n error, but that may annoy / bug some users. OTOH in certain cases libparted already falls back to BLKRRPART which will return EBUSY so users should already be prepared to handle EBUSY 3) Could be fixed by making libparted recognize mdraid as a device type and except mdraid from using BLKPG, like it already is doing with DASD, but it might be better to just get rid of using BLKPG all together. See below. An even bigger problem IMHO is the use of the BLKPG ioctl instead of BLKRRPART at all. What this does is tell the kernel parted's view of the partition table and make it use that, instead of telling the kernel to reread the partition table. According to the parted sources this is done for the case where the kernel does not know the disklabel type. However as soon as the system is rebooted, the system will be using the kernel's view. So IMHO it would be much better to always use the kernels view and just always call BLKRRPART in commit_to_os(), this would solve all of the above issues, *and* make the way the system views the partition table consistent between just after running parted and after a reboot. I've attached a patch which removes the use of the BLKPG ioctl, notice that this also removes a lot of special case code and workarounds, which existence to me clearly indicates that using the BLKPG ioctl is a bad idea. * libparted/arch/linux.c (linux_disk_commit): Remove the use of the BLKPG ioctl. (_blkpg_add_partition, _blkpg_part_command, _blkpg_remove_partition): (_device_get_partition_range, _disk_sync_part_table, _have_blkpg): (_have_devfs): Remove functions thus rendered unused. 2009-08-28 Jim Meyering tests: make two partition-related tests work for other sector sizes These two root-only tests would fail with the PARTED_SECTOR_SIZE envvar set to anything other than 512. Now they also work for multiples. * tests/t4100-dvh-partition-limits.sh: Make sector-size agnostic. * tests/t4100-msdos-partition-limits.sh: Likewise. tests: make it easier to diagnose loop_setup_ failure * tests/lvm-utils.sh: Don't redirect stderr to /dev/null. tests: avoid spurious failure due to extra space in diagnostic * libparted/labels/pt-tools.c (ptt_partition_max_start_len): Remove stray space in diagnostic that was causing the root-only regression test, t4100-dvh-partition-limits.sh, to fail. tests: avoid spurious failure on "nodev" mounted partition * tests/t8000-loop.sh: Skip this test if loop_setup_ fails. * tests/t6000-dm.sh: Likewise. 2009-08-28 Hans de Goede parted: avoid unnecessary open/close on commit, and thus udev activity * libparted/disk.c (ped_disk_commit): Open/close the underlying file descriptor in this function, so that callees, ped_disk_commit_to_dev and ped_disk_commit_to_os do not each perform open/close syscalls. This saves an open/close pair, and thus avoids unneeded udev activity on Linux. Before this change, when calling commit() on a ped_disk, the following would happen: open /dev/sda write partition table close /dev/sda open /dev/sda ioctl (BLKRRPART) close /dev/sda This is rather inefficient, and causes 2 udev change events to be fired for /dev/sda (+ the change events from the BLKRRPART), causing all kind of scanning (blkid & friends) twice. This patch fixes things to only open the device once. 2009-08-26 Petr Uzel dos: adjust variable declarations * libparted/labels/dos.c (write_ext_table): Move declaration of S down to just before its first use. Fix alignment of lba_offset declaration. dos: factor out and define DOS_N_PRI_PARTITIONS * dos.c (DOS_N_PRI_PARTITIONS): Define. dos: use sizeof(variable) instead of sizeof(type) * libparted/labels/dos.c (write_ext_table): Use sizeof(variable) instead of sizeof(type) (write_empty_table, msdos_write): Likewise. tests: t0202-gpt-pmbr.sh: various fixes * tests/t0202-gpt-pmbr.sh: use $bootcode_size variable instead of plain 446. Do not use /dev/urandom since it might not exist. tests: t2300-dos-label-extended-bootcode.sh: various fixes * tests/t2300-dos-label-extended-bootcode.sh: - fix typo where only first 400B of fake bootcode was installed - use bootcode_size variable and increase its value from 440 to 446 - do not use /dev/urandom since it might not exist 2009-08-22 Jim Meyering build: ignore more generated files * .gitignore: Ignore a few more build artifacts. tests: don't use "echo -n" * tests/t7000-scripting.sh: Use printf, not "echo -n", for portability. 2009-08-21 Petr Uzel test for the bootcode-in-extended-partition fix * tests/t2300-dos-label-extended-bootcode.sh: New file. * tests/Makefile.am (TESTS): Add t2300-dos-label-extended-bootcode.sh. do not discard bootcode from extended partition * libparted/labels/dos.c (write_ext_table): Do not discard bootcode from extended partition on msdos label when some of the logical partitions are changed 2009-08-21 Joel Granados Moreno Remove unneeded test. This test made sure that "md" was ignored when doing partition specific actions. We have added code that allows this scan once more, therefore the test is no longer needed. * tests/t6001-dm-ignoremd.sh: Remove file. * tests/Makefile.am: Remove the test file from the list of tests. Compensate for different behavior in t7000 test. When the t7000 test was first engineered the "n" did not appear in the output when testing mkpart & mkpartfs. ATM, for an unknown reason, the "n" is being echoed in the resulting string causing test failure when compared with the errI string. This patch attempts to make both behaviors (with and without the echoed "n") pass the test. * tests/t7000-scripting.sh: Make sure we don't have an " n" at the end of the output string. 2009-08-21 Gilles Espinasse Fix 2 typos. * libparted/labels/fdasd.c (fdasd_enqueue_new_partition): Fix typo in comment. * parted/parted.c (_init_commands): Fix typo in message. 2009-08-18 Jim Meyering build: update dist-check rules * dist-check.mk: Merge from coreutils. build: ignore new -Wjump-misses-init warnings * configure.ac: Ignore warnings from gcc's new -Wjump-misses-init. build: update from gnulib * gnulib: Update submodule to latest. * bootstrap.conf (gnulib_modules): Add update-copyright * cfg.mk (update-copyright-env): Define. 2009-08-12 Otavio Salvador label/dasd: add missing prototype for dasd_get_max_supported_partition_count 2009-08-06 Colin Watson Use fsync rather than O_DIRECT O_DIRECT doesn't work on all filesystems (e.g. tmpfs), and fsync does just as good a job to ensure that buffers are flushed. Based on http://lists.alioth.debian.org/pipermail/parted-devel/2008-August/002392.html by Olaf Hering, but with added fsync/close error checking. 2009-07-31 Joel Granados Moreno Update the NEWS has. * cfg.mk (old_NEWS_hash): Update the NEWS hash. 2009-07-30 Joel Granados Moreno Rescue the news file from the stable-1.8.x branch * NEWS: Add all the contents from the NEWS file from the stable-1.8.x branch. Did some indentation and addeded some "**" where needed. 2009-07-27 Joel Granados Moreno Explicitly handle the signing key. If we are sure that we have the key, we are able to use it in any subroutine (like make major). * build-aux/parted-release (_find_signingkey): New function. (_do_release): Use the key_id to sign the tag and to execute `make major`. Minor corrections to the release README. * README-release: Change "$v" to "$VERSION", its more explicit. Include a reminder to add the definition of parted to the release mail. 2009-07-24 Colin Watson linux: recognize md devices again, but know they can't be partitioned * libparted/arch/linux.c (_skip_entry): Don't skip "md" devices. (_has_partitions): New function; "loop" labels can't be partitioned. (_blkpg_add_partition, _blkpg_remove_partition, _dm_add_partition, _have_blkpg): Don't attempt to apply partition table changes to unpartitionable devices. 2009-07-24 Jim Meyering dos: plug just-introduced leaks on error path * libparted/labels/dos.c (write_ext_table): Also free new buffer on error paths. dos: don't write sector-size (>512) bytes from a 512-byte buffer * libparted/labels/dos.c (write_ext_table): Fix this error reported by valgrind, by allocating/using a sector-sized buffer, rather than using a 512-byte buffer on the stack. Syscall param write(buf) points to uninitialised byte(s) at 0x33E12D13A0: __write_nocancel (in /lib64/libc-2.10.1.so) by 0x432B48: linux_write (linux.c:1782) by 0x42648C: write_ext_table (dos.c:1063) by 0x426471: write_ext_table (dos.c:1059) by 0x4268C5: msdos_write (dos.c:1094) by 0x40E9C4: ped_disk_commit_to_dev (disk.c:479) by 0x40EA08: ped_disk_commit (disk.c:502) by 0x408AE0: test_duplicate (disk.c:79) by 0x4C249ED: srunner_run_all (in /usr/lib64/libcheck.so.0.0.0) by 0x4089AD: main (disk.c:121) Address 0x4e48e00 is 512 bytes inside a block of size 1,024 alloc'd at 0x4A05260: memalign (vg_replace_malloc.c:460) by 0x4A05317: posix_memalign (vg_replace_malloc.c:569) by 0x432B06: linux_write (linux.c:1777) by 0x42648C: write_ext_table (dos.c:1063) by 0x426471: write_ext_table (dos.c:1059) by 0x4268C5: msdos_write (dos.c:1094) by 0x40E9C4: ped_disk_commit_to_dev (disk.c:479) by 0x40EA08: ped_disk_commit (disk.c:502) by 0x408AE0: test_duplicate (disk.c:79) by 0x4C249ED: srunner_run_all (in /usr/lib64/libcheck.so.0.0.0) by 0x4089AD: main (disk.c:121) sun: don't read freed memory * libparted/labels/sun.c (_use_old_info): Rename from _probe_and_use_old_info. Don't read sector 0 here. (sun_write): Read it here instead. Write not a constant-sized 512-byte buffer, but the sector-sized buffer just read above. gpt: adjust _write_pmbr[*] to work with >512-byte sectors * libparted/labels/gpt.c (_write_pmbr): Adjust, to work with larger-than 512-byte sectors. [*] commit 14a15891 "gpt: preserve first 446 bytes of the PMBR" tests: skip t2100-mkswap.sh for >512-byte SS, now that it fails * tests/t2100-mkswap.sh: Use require_512_byte_sector_size_ build: arrange for "make check" to run the tests four times, each using a different simulated partition size. First with an explicit size of 1024, then 2048, then 4096, and finally with the default of 512. * Makefile.am (check-other-sector_sizes): New rule. (check): Depend on it. * README-big-sector: Update accordingly. Suggestion from Otavio Salvador. build: enable many warnings * configure.ac: New configure-time option: --enable-gcc-warnings. * bootstrap.conf: Use gnulib modules: warnings manywarnings. * debug/Makefile.am: Define AM_CFLAGS. * libparted/Makefile.am: Likewise. * libparted/tests/Makefile.am: Likewise. * parted/Makefile.am: Likewise. * partprobe/Makefile.am: Likewise. * debug/clearfat/Makefile.am: Likewise. * libparted/labels/Makefile.am: Likewise. build: avoid new warnings * debug/clearfat/clearfat.c (usage): Declare static. * partprobe/partprobe.c (usage): Likewise. * libparted/cs/natmath.c (abs_mod, extended_euclid): Declare static. * libparted/timer.c (PED_TIMER_START_DELAY): Remove unused definition. * libparted/unit.c (ped_unit_format_custom_byte): Remove an unnecessary cast-to-double. sun: remove obsolete FIXME comments * libparted/labels/sun.c: ui: avoid infloop in testing These commands would provoke an infinite loop: ss=4096 N=100; dd if=/dev/zero of=testfile bs=${ss}c count=$N ./parted ---pretend-input-tty testfile -- mklabel gpt mkpart \ primary ext3 1s -1s < /dev/null * parted/ui.c (command_line_prompt_words): Treat EOF like ^C. tests: skip FS-related part when sector size is larger than 512 * tests/t7000-scripting.sh: Adapt to work with large sector sizes. tests: handle SS>512, clean up, add consistency check * tests/t5000-tags.sh: Don't fail for sector size of 4096 and greater. tests: t4000-sun-raid-type: accommodate arbitrary sector sizes * tests/t4000-sun-raid-type.sh: Make the expected output depend on the sector size. tests: reenable sun label tests * libparted/tests/common.c (_implemented_disk_label): Remove "sun". disk.c: add assertions sun: don't segfault for sector sizes larger than 512 * libparted/labels/sun.c Include "pt-tools.h" and "verify.h". (sun_verify_checksum): Make parameter "const". (sun_probe): Don't always return 0, now that this code works. (sun_probe): Rewrite to work with sector sizes larger than 512. (_probe_and_use_old_info): Likewise. (sun_clobber): Likewise. (sun_read): Likewise. (_check_geometry_sanity) Don't accept all-zeros c,h,s. Add assertions and uses of verify. (sun_alloc): Remove bogus cast. Don't modify through const pointer. msdos: clean-up (no semantic change) * libparted/labels/dos.c (msdos_write): Remove useless initialization. (msdos_clobber): Remove unnecessary cast. msdos: do not scale counts by sector_size/512 * libparted/labels/dos.c (chs_to_sector, linear_start): (linear_end, fill_raw_part, fill_ext_raw_part_geom): (sector_to_chs): Scaling (e.g., a starting sector number) by sector_size/512 loses information when sector_size > 512. Don't do it. parted-ui: when failing, include more information in an unusual case * libparted/cs/geom.c (ped_geometry_set): Include starting sector number and length in diagnostic. To trigger this, run the following: dev=f; rm -f $dev; dd if=/dev/null of=$dev bs=1 seek=100k PARTED_SECTOR_SIZE=2048 ./parted -s $dev mklabel msdos PARTED_SECTOR_SIZE=2048 ./parted -s $dev mkpart primary 1s 40s PARTED_SECTOR_SIZE=2048 ./parted -s $dev p Error: Can't have the end before the start! (start sector=128 \ length=-78) tests: t2200-dos-label-recog.sh: adapt to work with larger sector size Using a 100K image is inadequate for larger sector sizes, since it triggers a bug whereby the device length (in sectors) smaller than the cylinder_size: from dos.c: if (!ped_geometry_init (&start_geom, dev, cylinder_size, dev->length - cylinder_size)) That would pass a negative value for the 3rd argument. * tests/t2200-dos-label-recog.sh: Use an image of size 10MB, not 100K. tests: add infrastructure: when skipping a test, say why * tests/Makefile.am (TESTS_ENVIRONMENT): Arrange for the first line of 'skip_test_'s argument to be printed on stderr. * tests/test-lib.sh (skip_test_): New function. tests: skip FS-related tests when sector size != 512 * tests/test-lib.sh (require_512_byte_sector_size_): New function. * tests/t1000-mkpartfs.sh: Skip when sector size != 512. * tests/t3100-resize-ext2-partion.sh: Likewise. * tests/t3000-constraints.sh: Likewise. * tests/t2000-mkfs.sh: Likewise. * tests/t1700-ext-probe.sh: Likewise. * tests/t1500-small-ext2.sh: Likewise. tests: t0100-print.sh: adjust to work with arbitrary sector size * tests/t0100-print.sh: Parameterize on $sector_size_. Remove sed xform that hard-coded for 2048. tests: revamp t4100-starting-sector.sh to work with other sector sizes * tests/t4100-msdos-starting-sector.sh: Adjust to work with arbitrary PARTED_SECTOR_SIZE. tests: correct t2200-dos-label-recog.sh * tests/t2200-dos-label-recog.sh: Concatenate output from successive partition-creation commands, rather than letting output from the second one clobber that of the first. 2009-07-24 Joel Granados Moreno put the maximum sector checks in pt-tools.c * libparted/labels/dos.c (msdos_partition_check): Use new ptt_partition_max_start_len function to test for len and start maxs. * libparted/labels/dvh.c (msdos_partition_check): Likewise. * libparted/labels/pt-tools.c (ptt_partition_max_start_len): New function. * libparted/labels/pt-tools.h: Likewise. * po/POTFILES.in: Add pt-tools.c to the translation list. put partition-table-specific logic in the corresponding files * include/parted/disk.h (struct _PedDiskOps) [partition_check]: New member function. * libparted/disk.c (_check_partition): Replace open-coded tests with use of the new ->partition_check(). (_partition_max_start, _partition_max_len): Remove functions. * libparted/labels/dvh.c (dvh_partition_check): New function. * libparted/labels/dos.c (dos_partition_check): Likewise. * libparted/labels/aix.c (aix_partition_check): New stub. * libparted/labels/bsd.c (bsd_partition_check): Likewise. * libparted/labels/gpt.c (gpt_partition_check): Likewise. * libparted/labels/loop.c (loop_partition_check): Likewise. * libparted/labels/mac.c (mac_partition_check): Likewise. * libparted/labels/pc98.c (pc98_partition_check): Likewise. * libparted/labels/rdb.c (rdb_partition_check): Likewise. * libparted/labels/sun.c (sun_partition_check): Likewise. 2009-07-24 Jim Meyering * .gitignore: Ignore more. tests: clean up partition-table-testing code * libparted/tests/common.c (_implemented_disk_label): Record here that sun and pc98 are not yet implemented... * libparted/tests/label.c: ...rather than in 4 places in this file. tests: improve coverage in label tests * libparted/tests/label.c (create_disk): Increase image size from 20MB to 80MB, so that tests with PARTED_SECTOR_SIZE=8192 don't fail right away. (START_TEST): Don't skip the "loop" type. It works now. tests: make t8000-loop.sh stop immediately upon failiure * tests/t8000-loop.sh (immediate): ... to avoid cascading. tests: fix the final test failure on RHEL 5.3 * tests/t1700-ext-probe.sh (dev): Use mkfs.$type, not mkfs -t $type. The latter doesn't work on RHEL5: a file system created with "mkfs -F -t ext3" appears to be created as ext2. tests: skip xfs-requiring tests when mkfs.xfs is not installed * tests/test-lib.sh (require_xfs_): New function. * tests/t4100-dvh-partition-limits.sh: Use it. * tests/t4100-msdos-partition-limits.sh: Likewise. tests: skip t7000-scripting.sh if configure without readline Otherwise, that test would fail due to slight differences in output. * tests/Makefile.am (TESTS_ENVIRONMENT): Define CONFIG_HEADER. * tests/t7000-scripting.sh: Skip if configured without readline. tests: don't infloop for manual test invocation with unrecognized option * tests/test-lib.sh: Diagnose an invalid option. tests: add one to exercise the dos/gpt seg-faulting bug * tests/t0300-dos-on-gpt.sh: Test for this bug. * tests/Makefile.am (TESTS): Add it to the list. gpt_clobber: avoid segfault when 512 < sector_size * libparted/labels/gpt.c (gpt_clobber): Rewrite not to use a fixed-size buffer assuming a 512-byte sector. Eliminate entirely a buffer that is allocated (not long enough) and zeroed-out solely so to help zero out a few sectors. Instead, use the new ptt_clear_sectors function. ptt_clear_sectors: new function * libparted/labels/pt-tools.c (ptt_clear_sectors): New function. * libparted/labels/pt-tools.h: Declare. linux_write: use sector_size, not hard-coded 512 * libparted/arch/linux.c (linux_write): Use sector_size, not a hard-coded 512, to find start of last sector. parted/ui.c: Include before everything else * README-big-sector: New file. reenabling probe-related code exposed problems with amiga and bsd * libparted/tests/common.c (_implemented_disk_label): Pretend they're not implemented, so we skip them, temporarily. tests: re-enable "mac" tests * libparted/tests/label.c: Remove "mac" exclusion. mac clone: avoid failed assertion for sector size > 512 * libparted/labels/mac.c (mac_duplicate): Do not assume that the first sector of the partition-map partition is "1". Running this: cd libparted/tests && PARTED_SECTOR_SIZE=1024 CK_FORK=no valgrind ./label would result in a failed assertion: ped_disk_remove_partition (...) at disk.c:1897 1897 PED_ASSERT (part->part_list == NULL, goto error); At first glance, it looked like the free(part) in mac_partition_destroy was the culprit. And removing that free does indeed avoid the failed assertion. However, not only does the name "mac_partition_destroy" imply/require the "free", but all other *_partition_destroy functions free their PART parameter, so removing this free statement cannot be the solution. Another possibility is that mac_duplicate's use of ped_disk_remove_partition is in error. Removing it appears to solve the problem, but I don't know why that code is removing the partition-map partition manually, so can't safely remove such a thing. The real problem is that with >512-byte sectors, the "1" in this code from mac_duplicate is wrong: partition_map = ped_disk_get_partition_by_sector (new_disk, 1); PED_ASSERT (partition_map != NULL, return 0); ped_disk_remove_partition (new_disk, partition_map); E.g., with 1024-byte sectors, the desired partition-map partition starts at sector 2, so the above gets the tiny metadata partition in the gap. Calling ped_disk_remove_partition to remove a metadata partition provokes some nasty corruption. The desired first-sector number is old_mac_data->ghost_size, not "1". * libparted/labels/mac.c (mac_duplicate): Remove dead code. mac partitions pass all label+disk tests @1024 & @2048 sector size * libparted/labels/mac.c (mac_read): Allow for variable sector size. (_pad_raw_part): Likewise. (get_pme): New convenience function, adapted to work for variable sector size and factored out of 4 functions: (_generate_raw_part): ...here, (_generate_raw_freespace_part): ...here, (_generate_empty_part): ...here, (_get_first_empty_part_entry): ...and here. mac.c (_disk_analyse_ghost_size): allow >512-byte sector size * libparted/labels/mac.c (_disk_analyse_ghost_size): mac.c: remove dead code * libparted/labels/mac.c (mac_partition_new): Remove dead code. Return "NULL", not "0". make "mac" partition table support pass the 512-byte ./label tests * libparted/labels/mac.c (mac_probe, mac_clobber): FIX! factor out the read_sector function * libparted/labels/pt-tools.c (ptt_read_sector): New function. Factored out of... * libparted/labels/aix.c (aix_probe, aix_clobber, read_sector): * libparted/labels/bsd.c (bsd_probe, bsd_clobber, bsd_read) (_probe_and_add_boot_code, read_sector): * libparted/labels/dos.c (_, msdos_probe, msdos_clobber) (read_table, msdos_write, msdos_disk_type, read_sector): * libparted/labels/gpt.c (gpt_probe, gpt_disk_type, read_sector): * libparted/labels/loop.c (loop_probe, loop_read, loop_disk_type) (read_sector): * libparted/labels/mac.c (_, mac_probe, mac_read) (write_block_zero, mac_disk_type, read_sector): * libparted/labels/pt-tools.h: Declare. fix >512-byte sector label/disk-test failure * libparted/tests/disk.c: Include xstrtol.h. (get_sector_size): New function: get sector size from the environment. (create_disk): Use the new function to calculate a usable size, rather than hard-coding the 512-byte-sector-specific size of 20MB. * libparted/tests/common.c (_create_disk): Change meaning (and name) of parameter to be size in bytes, not MiB. Adjust callers. * po/POTFILES.in: Add lib/xstrtol-error.c. linux.c: also set phys_sector_size. Must be the same. tests: Phew! finally make t5000-tags.sh work with >512-byte sectors * tests/t5000-tags.sh: Many adjustments, along lines of t0200-gpt. Also, be explicit: bios_boot_magic goes in 2nd *sector*. Don't hard-code 512 for sector-size. We'd get the wrong value for dev->length. * libparted/arch/linux.c (init_file): In computing dev->length, divide by dev->sector_size (not 512) to compute number of sectors. Define dev->sector_size earlier. test basic GPT functionality earlier * tests/t0250-gpt.sh: New file. * tests/Makefile.am (TESTS): Add it. tests: avoid test output mismatch for >512-byte sectors * tests/test-lib.sh (normalize_part_diag_): New function. (sector_size_): New variable. * tests/t7000-scripting.sh: Use them. tests: make t5000-tags.sh less sensitive to >512-byte sector size * tests/t5000-tags.sh: Use -m option and "unit s". FIXME: But still fails when invoked via PARTED_SECTOR_SIZE=2048 ./t5000-tags.sh --verbose --debug t7000-scripting.sh: adapt to work with >512-byte sectors label.c tests: don't skip dvh, now that it works; clean up dvh: probe, read, clobber, write: adapt for >512-byte sectors bsd.c: use pt-tools * libparted/labels/bsd.c: Include pt-tools.h. (bsd_write): Use ptt_write_sector. the beginnings of library partition-table tools * libparted/labels/pt-tools.h: New file. * libparted/labels/pt-tools.c: New file. * libparted/labels/Makefile.am (liblabels_la_SOURCES): Add them. avoid dvh label-clone test failure * libparted/labels/dvh.c (dvh_duplicate): Initialize with ped_disk_new_fresh, not with _ped_disk_alloc. The former sets disk->update_mode = 1, as required (and enforced via an assertion in ped_disk_destroy). * libparted/labels/gpt.c (gpt_clobber): Plug a leak. amiga: Avoid writing uninitialized 1.5KB after initial 512B. disable some file-system-related probe tests for sector size > 512 These changes keep us from recognizing most file systems when the sector size is larger than 512. However, for now (while concentrating on getting partition table support right) that's not a problem. Besides, the code we're avoiding would inevitably make parted smash its stack. * libparted/fs/linux_swap/linux_swap.c (_generic_swap_probe): Fail the swap-file-system-recognizing test when sector size is not 512. * libparted/filesys.c (ped_file_system_probe_specific): Fail all fs-specific probe-related tests when sector size is not 512. * libparted/fs/jfs/jfs.c (jfs_probe): For now, don't even try to deal with larger sector size. * libparted/label.c: Skip tests of problematic file system types. * tests/t0100-print.sh: Print with units of sectors, and adjust expected output accordingly. * tests/t1000-mkpartfs.sh: Use a smaller test file. 2009-07-24 Jim Meyering Fix compile failures. Add fat support for sector_size > 512. avoid compiler warnings * libparted/fs/ext2/interface.c (_ext2_generic_probe): Likewise. (_ext2_clobber): Likewise. Make loop_probe and loop_clobber work with sector_size > 512, too. Still working on making label support work. * libparted/fs/ext2/interface.c (_ext2_generic_probe): The call to ped_geometry_read_alloc would clobber the stack after SB whenever block_size > 512. Instead, use new function, ped_geometry_read_alloc, and adjust all uses of SB. (_ext2_clobber): Likewise. * libparted/cs/geom.c (ped_geometry_read_alloc): New function. * include/parted/geom.h: Declare it. (msdos_clobber): Plug the leak I just introduced. Make "mklabel loop" work with >512 sector_size, even when... there is an existing "msdos" label. (msdos_clobber): Make it work with >512 sector_size. Make "mklabel loop" work with >512 sector_size. Make "mklabel msdos" work with >512 sector_size. Make "mklabel bsd" work with >512 sector_size. Make "mklabel mac" work with >512-byte sector_size. Add a FIXME comment. start to make things work with 2048-byte sector size. Done so far: amiga, bsd, loop, gpt. Fix leaks along the way. remove unused label Add a cast to avoid a warning. 2009-07-24 Jim Meyering allow to simulate linux-file sector size via PARTED_SECTOR_SIZE envvar 2009-07-23 Joel Granados Moreno post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 1.9.0 * NEWS: Record release date. 2009-07-23 Jim Meyering Revert "Point gnulib submodule to an existing object ref." This reverts commit 95486a979a8862df9f6f2129c2d9f35221340583. The reverted change mistakenly backdated gnulib to July 14. 2009-07-23 Joel Granados Moreno Little fixes before the release. * README-release: Correct an error in step 5. In step 6 we mean $VERSION. * build-aux/parted-release (_do_release): Use '-F -' to make the NEWS commit. Point gnulib submodule to an existing object ref. * gnulib: Update submodule to latest. Automate the release process. * build-aux/parted-release: New file. Automates the part of the release process that takes place in the local repository. Document our release proceedure. * README-release: New file. Update the NEWS file for the next release. * NEWS : Describe some of the latest bugfixes and behavioral changes. 2009-07-23 Jim Meyering build: update from gnulib, for fixed maint.mk * gnulib: Update submodule to latest. 2009-07-22 Jim Meyering build: avoid "make dist-hook" failure * Makefile.am (dist-hook): Remove coreutils-specific rm-substitution. build: avoid automake warning * libparted/Makefile.am (SUBDIRS_CHECK): Do not redefine. Instead, append to existing value. 2009-07-19 Jim Meyering build: adjust Makefiles * libparted/Makefile.am (ARCH_SOURCE): Factor out duplication. * libparted/labels/Makefile.am (partedincludedir): Split long line. 2009-07-19 Otavio Salvador Avoid compilation failure on s390 To export LinuxSpecific stuff for labels, in this case fdasd, we now provide arch/linux.h. This aids in avoiding code duplication. * configure.ac: add BUILD_LINUX conditional. * libparted/Makefile.am: conditionally use linux.h. * libparted/arch/linux.c: move LinuxSpecific stuff to linux.h. * libparted/arch/linux.h: New file. * libparted/labels/Makefile.am: include from libparted as well. * libparted/labels/dasd.c: use arch/linux.h and use dev->path for error message. * libparted/labels/fdasd.c: include linux.h and drop an unused variable. 2009-07-16 Jim Meyering build: avoid configure-time syntax error Running ./configure on a system without devmapper devel libraries would provoke this: ./configure: line 264: return: but: numeric argument required ./configure: line 24783: --enable-device-mapper: command not found * configure.ac: Add quotes to most AC_MSG_ERROR uses, both around the argument, and (when needed) around the macro use itself. 2009-07-11 Jim Meyering ui: avoid NULL dereference on realloc failure * parted/strlist.c (gettext_to_wchar) [ENABLE_NLS]: Use xrealloc, so we never return NULL, which could then be dereferenced. 2009-07-10 Colin Watson Rationalise linux-swap fs names, and add a "linux-swap" alias * libparted/filesys.c (ped_file_system_alias_register, ped_file_system_alias_unregister, ped_file_system_alias_get_next): New functions. (ped_file_system_type_get): Walk aliases as well. * include/parted/filesys.h (struct _PedFileSystemAlias): New structure. (ped_file_system_alias_register, ped_file_system_alias_unregister, ped_file_system_alias_get_next): Add prototypes. * parted/parted.c (_init_messages): Walk file system aliases as well as types. * parted/ui.c (init_fs_type_str): Likewise. * libparted/fs/linux_swap/linux_swap.c (_swap_v1_type, _swap_v1_open, _swap_v1_probe, _swap_v1_clobber, _swap_v1_ops): Rename to _swap_v0_type etc. to match version number used in mkswap. Update all users. (_swap_v2_type, _swap_v2_open, _swap_v2_probe, _swap_v2_clobber, _swap_v2_ops): Rename to _swap_v1_type etc. to match version number used in mkswap. Update all users. (_swap_v0_type): Rename type from "linux-swap(old)" to "linux-swap(v0)". (_swap_v1_type): Rename type from "linux-swap(new)" to "linux-swap(v1)". (ped_file_system_linux_swap_init, ped_file_system_linux_swap_done): Register/unregister a "linux-swap" alias for "linux-swap(v1)", and deprecated aliases "linux-swap(old)" and "linux-swap(new)". * libparted/labels/misc.h (is_linux_swap): Update comment. * tests/t2100-mkswap.sh: Refer to "linux-swap(v1)" rather than "linux-swap(new)". Test creation via the new alias. 2009-07-09 Jim Meyering tests: disable the taint-distcheck rule * dist-check.mk (taint-distcheck): Disable rule, since it would trigger a bug in libtool-generated scripts. tests: better quoting to avoid failure with poorly-named src directory * libparted/tests/Makefile.am (init.sh): Quote, in case $(abs_top_srcdir) contains e.g., spaces. * tests/Makefile.am (init.sh): Likewise. * libparted/tests/t2000-disk.sh: Better quoting here, too. * libparted/tests/t1000-label.sh: Likewise. Reported by Joel Granados build: update from gnulib * gnulib: Update submodule to latest. * cfg.mk (local-checks-to-skip): Add sc_require_test_exit_idiom. This skips a new-from-gnulib test that doesn't apply here. 2009-06-17 Joel Granados Moreno tests: ensure that we preserve the first 446 byts of a GPT pmbr * tests/t0202-gpt-pmbr.sh: Ensure that the first 446 bytes are unchanged after creating a GPT partition. gpt: preserve first 446 bytes of the PMBR (protective MBR) * libparted/label/gpt.c (_write_pmbr): Make sure we read and preserve the first 446 bytes of the device when we are creating the PMBR. 2009-06-17 Jim Meyering build: update from gnulib * gnulib: Update submodule to latest. build: require autoconf-2.63 and automake-1.11 * configure.ac (AC_PREREQ): Require 2.63, not 2.61. (AM_INIT_AUTOMAKE): Require 1.11, not 1.10c. 2009-06-16 Colin Watson linux-swap: generate UUIDs for fresh swap spaces * libparted/fs/linux_swap/linux_swap.c: Generate a UUID when creating a fresh swap space. * tests/t2100-mkswap.sh: Test that two fresh swap spaces get different UUIDs, and that 'check' preserves the swap UUID. 2009-06-11 Joel Granados Moreno tests: simplify t6001-dm-ignoremd.sh * tests/t6001-dm-ignoremd.sh (md_dev_create_): Use functions in test-util.sh for mdadm commands. Move mddev_ to the top of the file. Remove unneeded comment. tests: add mdadm specific functions * tests/test-lib.sh (require_mdadm_): New function. (mdadm_create_linear_device_): New function. 2009-06-10 Joel Granados Moreno doc: improve mkpart description * doc/parted.texi: Make sure that part-type is portrayed as an optional argument. Mention the "special behavior" that mkpart has with specific disk label types. parted-ui: ensure cmd-line buffer is empty before ped_exception_throw When ped_exception_throw requires input from the user and there are leftover strings in the command line, there is an "invalid token" error from parted. This happens because the ped_exception expects some input that is, most likely, different from the leftover string(s). To address this, one must make sure that all the argument strings are parsed before invoking any exception that requires input. * parted/parted.c (do_mklabel): Call command_line_get_disk_type call before the disk checks (_disk_warn_loss will call ped_exception_throw). * tests/t0000-basic.sh: Adjust, now that the output need not include the error message. tests: verify that "md" devices are not listed * tests/t6001-dm-ignored.sh: New test file. * tests/Makefile.am (TESTS): Add it. linux: skip "md" devices when probing * libparted/arch/linux.c (_skip_entry) : Add "md" to the entries array so all devices of type "/dev/md#" get ignored. fat: support 64KB clusters for FAT16 * libparted/fs/fat/calc.c (fat_max_cluster_size): A 64KB cluster size (128 sectors) for FAT16 is not common but is possible. Allow the use of 128-sector clusters instead of outputting an error. Fixes this: http://parted.alioth.debian.org/cgi-bin/trac.cgi/ticket/207 Additional info here: http://lists.alioth.debian.org/\ pipermail/parted-devel/2009-June/002882.html 2009-06-10 Matthew S. Harris gpt: fix gpt_read to read all of the partition entries correctly * libparted/labels/gpt.c (gpt_read): Use the SizeOfPartitionEntry field value when reading the partition entries rather than assuming that the entries are the same size as our struct. (gpt_read): When reading the partition entries, round up, not down, the number of sectors to read. (_header_is_valid): Check that the SizeOfPartitionEntry is sane. With minor adjustments by Joel Granados Moreno. 2009-06-10 Joel Granados Moreno Tweak distcheck. * dist-check.mk (install-transform-check): The binaries will be located in /sbin instead of /bin. 2009-06-03 Jim Meyering build: require automake-1.11 via bootstrap.conf, too * bootstrap.conf (buildreq): s/1.10c/1.11/ doc: sync README-hacking from coreutils * README-hacking: update build: rename internal library: lib/libparted -> lib/libgnulib * bootstrap.conf (gnulib_name): Define gnulib_name=libgnulib. * libparted/Makefile.am (libparted_la_LIBADD): Update sole use. libparted: link with gnulib * libparted/Makefile.am (libparted_la_LIBADD): Add $(top_builddir)/lib/libparted.la to the list. * partprobe/Makefile.am (partprobe_LDADD): Remove now-unneeded $(top_builddir)/lib/libparted.la. * libparted/tests/Makefile.am (LDADD): Remove now-unneeded $(top_builddir)/lib/libparted.la. * debug/clearfat/Makefile.am (clearfat_LDADD): Likewise. * parted/Makefile.am (parted_LDADD): Likewise. Otavio Salvador reported that linking with the resulting shared library produced an unresolved reference to last_component. 2009-05-26 Jim Meyering tests: adjust t4100-msdos-starting-sector.sh * tests/t4100-msdos-starting-sector.sh: Use parted's -m option when printing, and adjust expected output to match. Filter out "Disk...:" part to avoid false-positive failures due to mount-point- related differences. 2009-05-26 Joel Granados Moreno Add test for msdos starting sector. * tests/t4100-msdos-starting-sector.sh : Make sure we are consistent when displaying starting sector for msdos lables. 2009-05-26 Joel Andres Granados Make sure we always create msdos metadata parts. Given a disk with no partition, parted did not create metadata partitions for an msdos label. This led to inconsistencies when reporting free space partition ranges. This patch addresses this issue. * libparted/labels/dos.c (get_last_part): Remove function. * libparted/labels/dos.c (get_start_first_nonfree_part): New function. * libparted/labels/dos.c (get_end_last_nonfree_part): New function. * libparted/lables/dos.c (add_startend_metadata): Add code that handles disks no partitions. Add check that prevents the metadata partitions from being greater than the device length. Add check that prevents metadata partitions from overlapping in small devs. 2009-05-26 Joel Granados Moreno Improve readability in linux.c * libparted/arch/linux.c : Gather all the _is_major functions together. change the name of readFD to _read_fd since its not used anywhere else. Also rename the "_is_major_type" function to "_major_type_in_device" as it better expresses what we do in said function. Correctly name virtio devices. * include/parted/device.h (PedDeviceType): Add a new PED_DEVICE_VIRTBLK type to the list. * libparted/arch/linux.c (_is_dm_major): Modify this function so it calls the new _is_major_type function with type "device-mapper". * libparted/arch/linux.c (_is_major_type): Searches a major number inside /proc/devices based on a "type" string. * libparted/arch/linux.c (_is_virtblk_major): New function. Calls _is_major_type with type "virtblk". * libparted/arch/linux.c (_device_probe_type): Add a new PED_DEVICE_VIRTBLK case to the probe possibilities. * libparted/arch/linux.c (linux_new): Add a new PED_DEVICE_VIRTBLK case to the possible device types. * parted/parted.c (do_print): add the "virtblk" string to the transport array. 2009-05-24 Otavio Salvador Makefile.am: fail if ABI has changed configure.ac: fix PED_MINOR_VERSION sed expression add build-aux to .gitignore 2009-05-15 Joel Granados Moreno build: enable device mapper support by default * configure.ac: Device mapper is ubiquitous enough: enable by default. Adjust --help and diagnostics to reflect the new default. 2009-05-15 Jim Meyering portability: don't perform pointer arithmetic on a "void *" pointer * libparted/arch/linux.c (_dm_remove_parts) [ENABLE_DEVICE_MAPPER]: Don't perform pointer arithmetic on a "void *" pointer. Interpose a (char *) cast. maint: cfg.mk: remove now-unnecessary gnulib_dir definition * cfg.mk (gnulib_dir): Remove definition, now that gnulib's maint.mk provides the default we want. build: require 1.10c (get it by building from automake.git) * bootstrap.conf (buildreq): Require 1.10c (1.11 is coming soon) for our use of AM_SILENT_RULES. * configure.ac (AM_INIT_AUTOMAKE): Require 1.10c, for our use of AM_SILENT_RULES. Reported by Joel Granados. build: update from gnulib, for newer maint.mk and more * gnulib: Update submodule to latest. build: use gnulib's vc-list-files module * bootstrap.conf (gnulib_modules): Add vc-list-files, so we pull this file from gnulib. * build-aux/vc-list-files: Remove now-outdated file. 2009-04-26 Jim Meyering build: accommodate maint.mk, now that it's pulled from gnulib * dist-check.mk: New file, from coreutils. Was part of maint.mk. * cfg.mk (old_NEWS_hash): Include $(srcdir)/dist-check.mk. Remove trailing " -", to align with new check in maint.mk. * Makefile.am (EXTRA_DIST): Add dist-check.mk. build: use gnulib's dirname module * bootstrap.conf (gnulib_modules): Add dirname. build: make automake's silent-rules option the default * configure.ac (AM_INIT_AUTOMAKE): Remove silent-rules. Instead,... (AM_SILENT_RULES): Use this, with it's undocumented [yes] argument. Those who want verbose build output may configure with --disable-silent-rules or use "make V=1". build: stop using obsolete gnulib modules * bootstrap.conf (obsolete_gnulib_modules): Remove. (gnulib_modules): Remove use. build: use maint.mk from gnulib * maint.mk: Remove file. Now it's generated. * .gitignore: Ignore it. * bootstrap.conf (gnulib_modules): Add maintainer-makefile. * gnulib: Update submodule to latest. 2009-04-11 Jim Meyering maint: use a git submodule for gnulib * .gitmodules: New file, to track gnulib. * gnulib: New file, created by running this: git submodule add git://git.sv.gnu.org/gnulib.git gnulib 2009-04-10 Jim Meyering maint: sync from coreutils * maint.mk: Sync from coreutils. * bootstrap: Likewise. 2009-04-08 Jim Meyering build-from-git: depend on automake-1.10b * bootstrap.conf (buildreq): Note the automake-1.10b requirement. * configure.ac (AM_INIT_AUTOMAKE): Enable new automake options: dist-xz, color-tests, parallel-tests, silent-rules. 2009-04-08 Otavio Salvador bootstrap.conf: require automake 1.10 since 1.10a is an alpha version 2009-03-21 Jim Meyering * maint.mk: merge with latest from coreutils maint: indent consistently * doc/po4a.mk (updatepo): Replace TAB+8-spaces with two TABs. 2009-03-05 Jim Meyering * bootstrap: sync from coreutils build: enable "make syntax-check" rule to prohibit trailing spaces * cfg.mk (local-checks-to-skip): Remove sc_trailing_blank. remove all trailing blanks ...by running these commands: t=$'\t' git grep -l "[ $t]\$"|xargs perl -pi -e 's/[ \t]+$//' portability: use last_component, not basename * libparted/arch/linux.c (read_device_sysfs_file): Use last_component from gnulib's basename module, not the less-portable "basename" function. (_device_get_partition_range): Likewise. Reported by Karel Zak. * debug/clearfat/Makefile.am (clearfat_LDADD): Link gnulib *after* libparted, not before. * partprobe/Makefile.am (partprobe_LDADD): Likewise. * parted/Makefile.am (parted_LDADD): Likewise. 2009-03-05 Karel Zak test correctly for snprintf failure * libparted/arch/linux.c (_device_get_partition_range): Correct test for failed snprintf. 2009-03-05 Petr Uzel gpt: plug a memory leak in gpt_read() * libparted/labels/gpt.c (gpt_read): Free local variable, "zeros". 2009-03-05 Jim Meyering update some release-related administrivia * .prev-version: Record that the previous release was 1.8.8.1. * NEWS: Fill in the date for the previous release. * cfg.mk (old_NEWS_hash): Update * maint.mk: Sync from coreutils. adjust "parted -s dev print" not to emit trailing spaces * parted/table.c (table_render_row): Don't append trailing spaces or delimiter after final field, and trim any other trailing spaces. * tests/t5000-tags.sh: Remove trailing spaces from expected output. reword a comment; more formatting changes. * libparted/arch/linux.c (_disk_sync_part_table): Reword comment to use the "active" voice, not "we ...". Adjust formatting in new/moved code. rename all "support" parameters; avoid new compiler warnings Change each occurrence like this (which evokes a warning from gcc): - return *supported = MAX_TOTAL_PART; to this: + *max_n = MAX_TOTAL_PART; + return true; I did it mostly mechanically: cd libparted/labels && grep -l 'return .supported = ' *.c|xargs perl -ni \ -e '$m=/^\treturn \*supported( = .*;)/;' \ -e 'print $m ? "\t*max_n$1\n\treturn true;\n" : $_' git grep -l 'int\* supported'|xargs perl -pi -e 's/int\* supported/int *max_n/' That got all but aix.c, which used different spacing: "int *supported", which I changed manually. Then I updated all copyright dates. gpt: adjust formatting and rename a parameter: s/supported/max_n/. * libparted/labels/gpt.c (gpt_get_max_supported_partition_count): Rename parameter: s/supported/max_n/. The latter sounds more like a number, while "supported" sounds boolean at first. 2009-03-05 Joel Granados Moreno Properly sync partitions with operating system * include/parted/disk.h: Add prototypes for new function. * libparted/disk.c (ped_disk_get_max_supported_partition_count): New function that calls the partition-table-specific function. * libparted/arch/linux.c (_disk_sync_part_table): To sync the table in disk with the kernel, we remove all partitions from the kernel table and then add the ones that are in disk. For this to happen we need to calculate the partition-table-type-specific maximum number of supported partitions. * libparted/labels/gpt.c (gpt_get_max_supported_partition_count): Read the gpt header from disk and calculate the maximum number of partitions it can accommodate. * libparted/labels/aix.c (get_max_supported_partition_count): New function. * libparted/labels/bsd.c: Likewise. * libparted/labels/dasd.c: Likewise. * libparted/labels/dos.c: Likewise. * libparted/labels/dvh.c: Likewise. * libparted/labels/gpt.c: Likewise. * libparted/labels/loop.c: Likewise. * libparted/labels/mac.c: Likewise. * libparted/labels/pc98.c: Likewise. * libparted/labels/rdb.c: Likewise. * libparted/labels/sun.c: Likewise. 2009-02-20 Joel Granados Moreno dasd: emit a diagnostic upon probe failure * libparted/labels/dasd.c (dasd_probe): Inform the user when no dasd volumes are present in a device. 2009-02-20 Petr Uzel gpt: avoid failed assertion on big-endian systems * libparted/labels/gpt.c (_parse_header): Compute last_usable_if_grown not as an LE64 value but as a CPU-format one, since we're about to compare it to another. 2009-02-18 Petr Uzel test for the gpt_read failed-assertion fix * tests/t0201-gpt.sh: New file. * tests/Makefile.am (TESTS): Add it. 2009-02-18 Jim Meyering avoid failed assertion when creating a GPT partition table... on top of an old one for a larger device * libparted/labels/gpt.c (gpt_read): Don't assert that the location of the alternate LBA is within the current device. It will be beyond its end when the device it was created for was larger. Instead, just return, treating this like any other non-match. Here's the reproducer: dev=file dd of=$dev if=/dev/null seek=4001 parted -s $dev mklabel gpt dd of=$dev if=/dev/null seek=4000 parted -s $dev mklabel gpt 2009-02-17 Jim Meyering gpt: add a test: printing a partition table must not modify it * tests/t0200-gpt.sh: New file. * tests/Makefile.am (TESTS): Add the new test. 2009-02-17 Petr Uzel gpt: do not automatically "correct" a suspicious GPT partition table Previously, when parted was invoked on a disk with a GPT partition table and the backup GPT was not in the last sector of the disk, and even if the requested operation was just to print the partition table, parted would "repair" this automatically. This behavior is undesirable in the following situation: dm-raid on top of block device. The dm-raid is partitioned with GPT. If the dm-raid starts on the first block of underlying device (AFAIK this is the case with FastTrack controllers) and the user runs parted on the dm-raid, it will identify the physical device as being partitioned with GPT and see the backup GPT table not to be in the last sector of the physical device and thus move it to this location (which may lead to destruction of dm-raid metadata in case they are located at the end of physical device). This patch modifies parted's behavior to ignore fixing of backup GPT position by default. 2009-02-16 Jim Meyering tests: use "compare", not "$compare" * test-lib.sh (compare): Define "compare" as a function, not a variable. * tests/t*.sh: use "compare", not "$compare" 2009-02-13 Jim Meyering don't segfault on a device-mapper device with no target * libparted/arch/linux.c (_dm_maptype): Don't dereference NULL for a device-mapper device with no target. Use the string "NO-TARGET" instead. Reported by Mike Hwang in http://thread.gmane.org/gmane.comp.gnu.parted.devel/2432 2009-02-08 Jim Meyering compile warning-free also with upcoming gcc-4.4 * libparted/fs/fat/fat.c (_gen_new_serial_number): Use a union rather than a warning-provoking cast. Avoids this gcc warning: "dereferencing type-punned pointer will break strict-aliasing rules" 2009-02-07 Jim Meyering clearfat: diagnose an invalid device number * debug/clearfat/clearfat.c: Include and "xstrtol.h". (main): Diagnose an invalid minor device number argument. * bootstrap.conf (gnulib_modules): Add xstrtol. maint.mk: sync from coreutils Revert "don't try to translate 'lib/xstrtol-error.c'" This reverts commit 39adc77de255b7df33e1efb93853c7ccfd4c45f5. Otherwise, "make syntax-check" fails the sc_po_check test. 2009-02-06 Otavio Salvador don't try to translate 'lib/xstrtol-error.c' remove ped_(register|unregister)_disk_type since they were deprecated ped_(register|unregister)_disk_type were remove since they are deprecated since 1.8 releases. The functions ped_disk_type_(register|unregister) are the ones to be used. move architecture specific code since they're used in a single place All architecture headers (linux.h, gnu.h and beos.h) are now removed. The required code has beem moved to the C file that required it. 2009-01-27 Jim Meyering avoid bootstrap failure * bootstrap.conf: Ensure the gnulib-tests/ exists. Reported by Matt Domsch. 2009-01-26 Jim Meyering better m4 quoting * parted/ui.c: Include before any other file. maint.mk: sync from coreutils * po/POTFILES.in: Add lib/xstrtol-error.c. _disk_sync_part_table: revise yet again This fixes a bug whereby parted could leave the kernel with an erroneous view of a partition table. * libparted/arch/linux.c (_disk_sync_part_table): Per analysis in http://thread.gmane.org/gmane.comp.gnu.parted.devel/2297/focus=2307. Patch suggested by Petr Uzel. * bootstrap.conf: sync from coreutils 2009-01-08 Debarshi Ray Differentiate between Ext4 and Ext3 file systems. Fixes http://parted.alioth.debian.org/cgi-bin/trac.cgi/ticket/188 * libparted/fs/ext2/ext2_fs.h (EXT4_FEATURE_RO_COMPAT_HUGE_FILE, EXT4_FEATURE_RO_COMPAT_DIR_NLINK, EXT4_FEATURE_INCOMPAT_EXTENTS, EXT4_FEATURE_INCOMPAT_64BIT): New constants. * libparted/fs/ext2/interface.c (_ext2_generic_probe): Ext4 file systems will have EXT4_FEATURE_* bits set, while Ext3 will not. (_ext2_probe, _ext3_probe): Pass 2 and 3 respectively, instead of 0 and 1, to _ext2_generic_probe. (_ext4_probe): New function. (_ext4_ops, _ext4_type): New structures. (ped_file_system_ext2_init): Register Ext4 file system type. (ped_file_system_ext2_done): Likewise. * tests/Makefile.am (TESTS): Add t1700-ext-probe.sh. * tests/t1700-ext-probe.sh: New file. 2009-01-08 Jim Meyering fix a "make syntax-check" failure (update copyright date) * doc/parted.texi: Update copyright dates for 2009. 2008-12-23 Jim Meyering avoid "make install" failure with latest GNU make * doc/C/Makefile.am (dist_man8_MANS): Use per-section variable names, as recommended by automake. (man_MANS): Remove redundant definition. 2008-12-23 Tom "spot" Callaway sun partition tables: add support for RAID partition types This patch enables RAID as a supported partition type on Sun disk layouts, commonly found/used on SPARC hardware. It has been tested on Aurora SPARC Linux (and Fedora SPARC). I have no idea if Solaris supports Software RAID or not... Along with the code change, I wrote a test case that checks if the RAID partition type is supported on sun disk labels. * libparted/labels/sun.c [_SunPartitionData] (is_raid): New member. (sun_read): Initialize the ->is_raid member. (sun_partition_new): Clear is_raid, like all the other members. (sun_partition_duplicate): Propagate the is_raid member. (sun_partition_set_system): Make sun_data->type reflect is_raid. (sun_partition_set_flag): Also initialize ->is_raid. (sun_partition_get_flag): Handle PED_PARTITION_RAID. (sun_partition_is_flag_available): Likewise. * tests/t4000-sun-raid-type.sh: New file. * tests/Makefile.am (TESTS): Add t4000-sun-raid-type.sh. 2008-10-10 Harald Welte Add support for SD/MMC storage cards on Linux This patch adds a new SDMMC device type to represent SD/MMC cards. There is nothing special about handling those devices, they are just standard block devices with different names. They use device major ID 179 and are usually called /dev/mmcblkN (where N is the card number) and the individual partitions /dev/mmcblkNpM (where M is the partition number). This patch was developed as part of an effort to make debian-installer support installation of Debian GNU/Linux on SD/MMC cards, as boot-from-SD is becoming a feature seen in mobile x86 devices. 2008-08-20 Petr Uzel Remove obsolete 'i' from parted optstring (--interactive/-i option is not supported anymore) 2008-08-19 Petr Uzel doc: remove obsolete --interactive (-i) option descriptions 2008-08-07 Jim Meyering update build/test infrastructure from coreutils * bootstrap: Update from coreutils. * maint.mk: Likewise. 2008-08-07 Soren Hansen add a test for recently introduced loop-dev-based bug This also checks for the current behavior when trying to partition a device that may not be partitioned, like loop devices. * tests/Makefile.am (TESTS): Add tests/t8000-loop.sh. * tests/t8000-loop.sh: New file. Test for the above fix. 2008-08-07 Jim Meyering don't exhaust virtual memory for mklabel on a loopback device Report and analysis by Soren Hansen : """When ped_disk_get_last_partition_num(disk) fails (which it does if disk is a loopback device), it returns -1. This in turn would cause _disk_sync_part_table and _dm_reread_part_table to attempt to malloc a sizeof(int)*-1, which instantly causes a 'Fatal: Out of memory'.""" * libparted/arch/linux.c (_disk_sync_part_table): Handle the case in which ped_disk_get_last_partition_num(disk) fails. (_dm_reread_part_table): Likewise. This bug was introduced by f6bd20573e3ecfb63f62d88c52a0870fb8851b59. 2008-07-30 Jim Meyering linux.c: plug a leak * libparted/arch/linux.c (_disk_sync_part_table): Free local, "rets". Reported by Mike Hwang . 2008-07-27 Jim Meyering don't call ped_partition_new with "0" as 2nd arg Instead, use an explicit and equivalent PED_PARTITION_NORMAL. * libparted/labels/bsd.c (bsd_read): * libparted/labels/dasd.c (dasd_read): * libparted/labels/gpt.c (_parse_part_entry): * libparted/labels/loop.c (loop_read): * libparted/labels/mac.c (_disk_add_part_map_entry) (_rawpart_analyse): * libparted/labels/pc98.c (read_table): * libparted/labels/rdb.c (amiga_read): * libparted/labels/sun.c (sun_read): 2008-07-18 Joel Andres Granados Document the lack of support for ext3 filesystems. - doc/C/parted.8: Add a message in the KNOWN ISSUES section that describes the lack of support for ext3. Take out some references that were contained in the man page. - doc/parted.texi: Do the same as above to the info page. 2008-07-08 Jim Meyering test for the s/PED_MAX/PED_MIN/ partition-number fix * tests/t4200-partprobe.sh: New file. Test for today's fix. * tests/Makefile.am (TESTS): Add t4200-partprobe.sh. (init.sh): Now that we test partprobe, add $(abs_top_builddir)/partprobe to PATH. * tests/test-lib.sh: Honor new dvhtool_required_ variable. Based on a reproducer from Petr Uzel. fix computation of largest partition number * libparted/arch/linux.c (_disk_sync_part_table): s/PED_MAX/PED_MIN/ (_dm_reread_part_table): Likewise. Patch by Petr Uzel (tiny change). Details in http://thread.gmane.org/gmane.comp.gnu.parted.devel/2213 2008-07-07 Jim Meyering fix to allow compilation with gcc's -fno-common option * libparted/fs/fat/count.h (fat16): Remove bogus (unused) globally-scoped variable declaration. * maint.mk: update from coreutils * parted/parted.c (options): Remove redundant "const" in declaration. 2008-06-26 Jim Meyering * libparted/fs/fat/table.c: Remove a few trailing blanks. avoid a warning from gcc -Wshadow * libparted/fs/fat/table.c (fat_table_duplicate): Rename local s/dup/dup_ft/ to avoid shadowing the function. 2008-06-24 Jim Meyering adjust for const-correctness * libparted/arch/linux.c (_blkpg_add_partition): Make the "part" parameter "const". (_disk_sync_part_table): Make local "part" const. * libparted/arch/linux.c (_disk_sync_part_table): Plug an obvious leak. * configure.ac: Remove useless 'exit's after AC_MSG_ERROR. 2008-06-20 Jim Meyering tests: avoid test failure due to added newline in diagnostic * tests/t3000-constraints.sh: Adapt to changed output syntax. tests: factor out duplication * tests/t7000-scripting.sh: Use a loop rather than two copies of each of 7 tests. tests: use consistent output normalization code * tests/t7000-scripting.sh: same as in e.g., t3000-constraints.sh. Use the same name for all output files, "out", not "out1". tests: avoid failure when run as non-root * tests/t7000-scripting.sh: and avoid some duplication 2008-06-20 Joel Andres Granados Fix the script mode for mkpart and mkpartfs. To: parted-devel@lists.alioth.debian.org Date: Fri, 20 Jun 2008 11:37:41 +0200 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on rho.meyering.net X-Spam-Level: X-Spam-Status: No, score=-13.8 required=3.2 tests=AWL,BAYES_00, RCVD_IN_DNSWL_LOW autolearn=ham version=3.2.5 In scripting mode, parted used to ask the user for confirmation when the values to be used where not the ones specified by the user. * parted/parted.c (do_mkpart, do_mkpartfs): if opt_script_mode is. set fail, if it's not, warn and ask for intervention. * tests/Makefile.am : include the new test in the TEST list. * tests/t7000-scripting.sh : Distribute new test case. 2008-06-10 Guido Guenther move new dmtype member from PedDevice to LinuxSpecific, since this is a Linux-only feature. * include/parted/device.h (struct _PedDevice) [dmtype]: Remove member. * include/parted/linux.h (struct _LinuxSpecific) [dmtype]: Add member. * libparted/arch/linux.c (_dm_maptype, linux_new, linux_destroy): Update uses. 2008-06-08 Jim Meyering adjust tests here (libparted/tests/), as done for tests/ * libparted/tests/Makefile.am (init.sh): Don't emit code to source test-lib.sh. * libparted/tests/t1000-label.sh: Source test-lib.sh, not init.sh. * libparted/tests/t2000-disk.sh: Likewise. fix compile/link problems in libparted/tests Since I didn't have check-devel installed where I'd been testing, nothing was built in libparted/tests/. * libparted/tests/label.c (main): Add argc and argv declarations. * libparted/tests/disk.c (main): Likewise. Reported by Frodo Baggins . * libparted/tests/Makefile.am (LDADD, AM_CPPFLAGS): Define, to compile and link against gnulib-provided functions. (label_CFLAGS, label_LDADD, disk_LDADD, etc.): Adjust. (TESTS_ENVIRONMENT): Define, to propagate top_srcdir to test scripts. 2008-06-06 Jim Meyering skip device-mapper test if support is not enabled * configure.ac: Revamp test; also set ENABLE_DEVICE_MAPPER shell var. * tests/Makefile.am (ENABLE_DEVICE_MAPPER): Propagate to tests. * tests/t6000-dm.sh: Skip all tests w/o device-mapper support. device mapper clean-up: remove #ifdefs, plug a leak * libparted/arch/linux.c: Remove some #ifdef ENABLE_DEVICE_MAPPER directives. * include/parted/device.h (struct _PedDevice) [dmtype]: Likewise. * libparted/arch/linux.c (linux_new): Plug a leak. * tests/Makefile.am (EXTRA_DIST): Add lvm-utils.sh. reflect renaming: dm-utils.sh -> lvm-utils.sh * tests/test-lib.sh: s/dm-utils.sh/lvm-utils.sh/ * tests/dm-utils.sh: Rename this... * tests/lvm-utils.sh: ...to this. protect against bogus absolute srcdir name * test-lib.sh: add quotes to protect against $abs_top_srcdir containing shell meta-characters * test-lib.sh: Guard against bogus $device_mapper_required value in env. sync from lvm-utils.sh source test-lib.sh (not init.sh) from each test * tests/test-lib.sh: Source init.sh early. Use $test_dir_rand_, as done in LVM test framework. Source lvm-utils.sh _after_ defining test_dir_rand_. * tests/Makefile.am (init.sh): Don't emit code to source test-lib.sh, since each test now sources that file directly. * tests/t0000-basic.sh: Source test-lib.sh, not init.sh. Default srcdir=. in each test, so it may be run independently of "make". * tests/t0100-print.sh: Likewise. * tests/t1000-mkpartfs.sh: Likewise. * tests/t1100-busy-label.sh: Likewise. * tests/t1500-small-ext2.sh: Likewise. * tests/t2000-mkfs.sh: Likewise. * tests/t2100-mkswap.sh: Likewise. * tests/t2200-dos-label-recog.sh: Likewise. * tests/t3000-constraints.sh: Likewise. * tests/t3100-resize-ext2-partion.sh: Likewise. * tests/t4100-dvh-partition-limits.sh: Likewise. * tests/t4100-msdos-partition-limits.sh: Likewise. * tests/t5000-tags.sh: Likewise. * tests/t6000-dm.sh: Likewise. * tests/Makefile.am (TESTS_ENVIRONMENT): Pass srcdir to tests. * dm-utils: Restore uses of $test_dir_rand_. * libparted/arch/linux.c (linux_new): Initialize new member. * libparted/arch/linux.c (_dm_maptype): Add space after "if". 2008-06-06 Guido Günther honor DM_DEV_DIR envvar * libparted/arch/linux.c (_dm_maptype): Make libparted handle $DM_DEV_DIR the same way dmsetup does. add basic device mapper tests * tests/dm-utils.sh: New file. Copied from lvm's tests/lvm-utils.sh. * tests/t6000-dm.sh: New file. * tests/test-lib.sh: FIXME * tests/Makefile.am: FIXME 2008-06-06 Jim Meyering avoid useless initialization 2008-06-05 Guido Guenther linux device-mapper map type detection detect the type of the device map and add it to the displayed type information 2008-06-05 Jim Meyering use gnulib's mktempd module/script * bootstrap.conf (gnulib_modules): Add mktempd. * tests/test-lib.sh: Use build-aux/mktempd, not mkdtemp. * tests/mkdtemp: Remove file. * tests/Makefile.am (EXTRA_DIST): Remove mkdtemp. use gnulib's progname module * bootstrap.conf (gnulib_modules): Add progname. * debug/clearfat/clearfat.c: Include "progname.h". (main): Call set_program_name rather than setting program_name. * parted/parted.c: Likewise. * partprobe/partprobe.c: Likewise. * libparted/tests/disk.c: Include "progname.h" and call set_program_name even though program_name isn't used, yet. * libparted/tests/label.c: Likewise. * maint.mk: Merge from coreutils. 2008-05-31 Jim Meyering gpt_write: fix a write-uninitialized error * libparted/labels/gpt.c (gpt_partition_new): ==32570== Syscall param write(buf) points to uninitialised byte(s) ==32570== at 0x36CF8D6540: __write_nocancel (in /lib64/libc-2.8.so) ==32570== by 0x443D29: linux_write (linux.c:1642) ==32570== by 0x414E4E: ped_device_write (device.c:370) ==32570== by 0x4404CE: gpt_write (gpt.c:1091) ==32570== by 0x418F16: ped_disk_commit_to_dev (disk.c:486) ==32570== by 0x418F5C: ped_disk_commit (disk.c:509) ==32570== by 0x40BAD6: do_mkpartfs (parted.c:981) ==32570== by 0x40A035: command_run (command.c:139) ==32570== by 0x412150: non_interactive_mode (ui.c:1540) ==32570== by 0x40EE83: main (parted.c:2487) ==32570== Address 0x501b63a is 58 bytes inside a block of size 16,384 alloc'd ==32570== at 0x4A04FC0: memalign (vg_replace_malloc.c:460) ==32570== by 0x4A0507A: posix_memalign (vg_replace_malloc.c:569) ==32570== by 0x443CED: linux_write (linux.c:1637) ==32570== by 0x414E4E: ped_device_write (device.c:370) ==32570== by 0x4404CE: gpt_write (gpt.c:1091) ==32570== by 0x418F16: ped_disk_commit_to_dev (disk.c:486) ==32570== by 0x418F5C: ped_disk_commit (disk.c:509) ==32570== by 0x40BAD6: do_mkpartfs (parted.c:981) ==32570== by 0x40A035: command_run (command.c:139) ==32570== by 0x412150: non_interactive_mode (ui.c:1540) ==32570== by 0x40EE83: main (parted.c:2487) reproduce with this: dev=f dd if=/dev/null of=$dev bs=1 seek=30M 2>/dev/null ./parted -s $dev mklabel gpt valgrind ./parted -s $dev mkpartfs primary ext2 0 16795000B plug leaks in do_print * parted/parted.c (do_print): 25 bytes in 8 blocks are definitely lost... at 0x4A0739E: malloc (vg_replace_malloc.c:207) by 0x416E67: ped_malloc (libparted.c:234) by 0x41751F: ped_strdup (unit.c:179) by 0x417778: ped_unit_format_custom_byte (unit.c:220) by 0x417A90: ped_unit_format (unit.c:297) by 0x40CD85: do_print (parted.c:1517) by 0x40A035: command_run (command.c:139) by 0x41210C: non_interactive_mode (ui.c:1540) by 0x40EE41: main (parted.c:2482) 10 bytes in 4 blocks are definitely lost... at 0x4A0739E: malloc (vg_replace_malloc.c:207) by 0x416E9B: ped_malloc (libparted.c:234) by 0x417553: ped_strdup (unit.c:179) by 0x4177AC: ped_unit_format_custom_byte (unit.c:220) by 0x417AC4: ped_unit_format (unit.c:297) by 0x40CE34: do_print (parted.c:1527) by 0x40A035: command_run (command.c:139) by 0x412140: non_interactive_mode (ui.c:1540) by 0x40EE75: main (parted.c:2485) plug two more leaks in gpt_write * libparted/labels/gpt.c (gpt_write): 1,024 bytes in 2 blocks are definitely lost... at 0x4A0739E: malloc (vg_replace_malloc.c:207) by 0x416F1B: ped_malloc (libparted.c:270) by 0x43E967: pth_get_raw (gpt.c:334) by 0x44039D: gpt_write (gpt.c:1067) by 0x418F9A: ped_disk_commit_to_dev (disk.c:486) by 0x418FE0: ped_disk_commit (disk.c:509) by 0x40AF7A: do_mklabel (parted.c:622) by 0x40A055: command_run (command.c:139) by 0x4121A4: non_interactive_mode (ui.c:1540) plug a blatant leak in gpt_write * libparted/labels/gpt.c (gpt_write): 1,536 bytes in 3 blocks are definitely lost in loss record 9 of 11 at 0x4A0739E: malloc (vg_replace_malloc.c:207) by 0x416F1B: ped_malloc (libparted.c:270) by 0x44021F: gpt_write (gpt.c:1036) by 0x418F9A: ped_disk_commit_to_dev (disk.c:486) by 0x418FE0: ped_disk_commit (disk.c:509) by 0x40AF7A: do_mklabel (parted.c:622) by 0x40A055: command_run (command.c:139) by 0x4121A4: non_interactive_mode (ui.c:1540) by 0x40EED8: main (parted.c:2499) plug leaks in gpt_write * libparted/labels/gpt.c (gpt_write): 6,674 bytes in 11 blocks are definitely lost... at 0x4A0739E: malloc (vg_replace_malloc.c:207) by 0x416F1B: ped_malloc (libparted.c:270) by 0x43E76D: pth_new (gpt.c:289) by 0x43E7E2: pth_new_zeroed (gpt.c:298) by 0x43FF61: _generate_header (gpt.c:970) by 0x440434: gpt_write (gpt.c:1074) by 0x418F9A: ped_disk_commit_to_dev (disk.c:486) by 0x418FE0: ped_disk_commit (disk.c:509) by 0x40BB35: do_mkpartfs (parted.c:990) plug a leak in gpt_read * libparted/labels/gpt.c (gpt_read): 7,195 bytes in 13 blocks are definitely lost... at 0x4A0739E: malloc (vg_replace_malloc.c:207) by 0x416F1B: ped_malloc (libparted.c:270) by 0x43E759: pth_new (gpt.c:287) by 0x43E83C: pth_new_from_raw (gpt.c:310) by 0x43F329: _read_header (gpt.c:627) by 0x43FB31: gpt_read (gpt.c:826) by 0x41882B: ped_disk_new (disk.c:210) by 0x40B773: do_mkpartfs (parted.c:884) by 0x40A055: command_run (command.c:139) 2008-05-30 Jim Meyering plug leak in ped_device_get_constraint 496 (208 direct, 288 indirect) bytes in 5 blocks are definitely lost... at 0x4A0739E: malloc (vg_replace_malloc.c:207) by 0x416EDF: ped_malloc (libparted.c:270) by 0x41CB40: ped_geometry_new (geom.c:79) by 0x415167: ped_device_get_constraint (device.c:438) by 0x40B928: do_mkpartfs (parted.c:927) by 0x40A055: command_run (command.c:139) by 0x41217C: non_interactive_mode (ui.c:1540) by 0x40EEB1: main (parted.c:2497) plug leaks in parted.c 432 (144 direct, 288 indirect) bytes in 3 blocks are definitely lost... at 0x4A0739E: malloc (vg_replace_malloc.c:207) by 0x416EF3: ped_malloc (libparted.c:270) by 0x41D9D2: ped_constraint_new (constraint.c:100) by 0x4151A4: ped_device_get_constraint (device.c:439) by 0x40B928: do_mkpartfs (parted.c:927) by 0x40A055: command_run (command.c:139) by 0x41217C: non_interactive_mode (ui.c:1540) by 0x40EEB1: main (parted.c:2497) And another: * parted/parted.c (do_mkpartfs): Here's one of the signatures: 288 (96 direct, 192 indirect) bytes in 2 blocks are definitely lost... at 0x4A0739E: malloc (vg_replace_malloc.c:207) by 0x416EF3: ped_malloc (libparted.c:270) by 0x41D9D2: ped_constraint_new (constraint.c:100) by 0x41DE2C: ped_constraint_intersect (constraint.c:232) by 0x40B971: do_mkpartfs (parted.c:930) by 0x40A055: command_run (command.c:139) by 0x41217C: non_interactive_mode (ui.c:1540) by 0x40EEB1: main (parted.c:2497) * parted/parted.c (do_mkpart): Likewise for this function, since do_mkpart is nearly identical to do_mkpartfs. 2008-05-29 Jim Meyering plug a leak in ped_device_get_constraint * libparted/device.c (ped_device_get_constraint): 512 (224 direct, 288 indirect) bytes in 6 blocks are definitely lost... malloc (vg_replace_malloc.c:207) ped_malloc (libparted.c:270) ped_alignment_new (natmath.c:153) ped_device_get_constraint (device.c:432) do_mkpartfs (parted.c:927) command_run (command.c:139) non_interactive_mode (ui.c:1540) main (parted.c:2497) 2008-05-29 Colin Watson Avoid "comparison between signed and unsigned" warning from gcc. * libparted/fs/fat/traverse.c (fat_dir_entry_get_name): Change type of index from int to size_t. 2008-05-29 Jim Meyering remove more useless "if" tests before free * libparted/arch/gnu.c (gnu_sync): * libparted/cs/natmath.c (ped_alignment_destroy): * libparted/exception.c (ped_exception_catch): * libparted/labels/dos.c (msdos_partition_destroy): * parted/parted.c (do_mkpart, do_mkpartfs): Use free, not ped_free. * libparted/libparted.c (ped_free): Remove function. [DEBUG] (_check_dodgy_pointer): Remove function. Global substitution: perl -pi -e 's/\bped_free\b/free/g' $(lid -knone ped_free) * maint.mk: Update from coreutils. test for improved DOS-partition-table recognition * tests/t2200-dos-label-recog.sh: New file. * tests/Makefile.am (TESTS): Add t2200-dos-label-recog.sh. 2008-05-29 Colin Watson bug fix: improve DOS partition table recognition * libparted/labels/dos.c (msdos_probe): Make Parted's partition-table recognition code use the same technique that is used by the Linux kernel and by util-linux's fdisk. I.e., accept it whenever all four boot indicators are 0 or 0x80, rather than using the FAT file system- recognizing heuristic. More analysis here: http://thread.gmane.org/gmane.comp.gnu.parted.devel/2142/focus=2154 Reported by David Balažic here: https://bugs.launchpad.net/ubuntu/+source/parted/+bug/232175 http://thread.gmane.org/gmane.comp.gnu.parted.devel/2142 2008-05-29 Jim Meyering avoid const-related compiler warnings * libparted/arch/linux.c (init_dasd, init_generic): Likewise. * libparted/exception.c (type_strings, option_strings): Likewise. (ped_exception_get_type_string, ped_exception_get_option_string): * libparted/fs/ext2/ext2_block_relocator.c (ext2_block_relocator_flush): * libparted/fs/ext2/ext2_mkfs.c (_set_dirent): Likewise. * libparted/fs/fat/resize.c (ask_type): Likewise. * libparted/fs/fat/traverse.c (fat_traverse_begin): Likewise. * libparted/fs/fat/traverse.h (buffer_size): Likewise. * libparted/labels/mac.c (_rawpart_cmp_type, _rawpart_cmp_name): (_rawpart_is_partition_map, _rawpart_is_boot, _rawpart_is_driver): (_rawpart_has_driver): Likewise. * parted/parted.c (options, options_help, number_msg): Likewise. (label_type_msg_start, flag_msg_start, unit_msg_start): Likewise. (part_type_msg, fs_type_msg_start, start_end_msg, state_msg): Likewise. (device_msg, name_msg, resize_msg_start, copyright_msg, do_print): * parted/ui.c (prog_name, banner_msg, usage_msg, bug_msg): Likewise. (screen_width): Likewise. * parted/ui.h (prog_name): Likewise. 2008-05-06 Otavio Salvador properly test for __s390__ and __s390x__ macros to disable O_DIRECT on that 2008-04-30 Jim Meyering Remove useless "if" tests before free. * libparted/arch/linux.c (_dm_add_partition): Remove useless test. * libparted/labels/fdasd.c (fdasd_cleanup): Likewise. * m4/o-direct.m4 (parted_FIND_USABLE_TEST_DIR): Likewise. * parted/table.c (table_destroy): Likewise. Pass NEWS-checking part of "make syntax-check". * NEWS: Tweak format so it passes. * cfg.mk (old_NEWS_hash): Update MD5 checksum. Exempt a build-related script from the copyright check. * .x-sc_GPL_version: New file. * Makefile.am (EXTRA_DIST): Add .x-sc_GPL_version. Turn off strcmp/STREQ check. * cfg.mk (local-checks-to-skip): Add sc_prohibit_strcmp. * bootstrap.conf (gnulib_modules): Add useless-if-before-free. * doc/parted.texi: Update copyright dates. more updates from gnulib and coreutils * bootstrap.conf (gnulib_modules): Add gitlog-to-changelog. * .gitignore: Add .tarball-version * Makefile.am (EXTRA_DIST): Add .version and .prev-version. (dist-hook): Update rule. (gen-ChangeLog): New rule. * maint.mk: Rename from Makefile.maint and update from coreutils. * cfg.mk: Rename from Makefile.cfg and update from coreutils. use gnulib's gnumakefile module * GNUmakefile: Remove from version control. * bootstrap.conf (gnulib_modules): Add gnumakefile. * .gitignore: Add GNUmakefile 2008-04-29 Matt Davis Corrected a few memory leaks from unallocated ped_unit_format calls. Deallocated memory in do_print() allocated by ped_unit_format calls. Corrected memory leak when displaying partition flags. Deallocated memory allocated by partition_print_flags() 2008-04-27 Matt Davis Corrected a small memory leak when displaying partition information Deallocated a very small memory allocation that occurs in a for loop. This occurred during output of partition numbers. 2008-04-27 Otavio Salvador do not loop in case message exception has no message The exception handler was looping when the exception had no message. 2008-04-24 Otavio Salvador fix memory leak in exception handler The exception handler wasn't freeing the memory when the allocated space wasn't enough to store the error message thus leaving unmanaged memory around. 2008-04-12 Robert Millan Add support for GRUB / BIOS partition in GPT. 2008-04-07 Bastian Blank Fix syntax error. Use host_cpu for s390 check. 2008-03-30 Jim Meyering Fix a typo: s/to defragmenting/to defragment/, Remove trailing blanks. 2008-02-04 Jim Meyering Don't write into line[-1] when line starts with a NUL byte. * parted/ui.c (_readline): Check strlen first. dvh.c (dvh_partition_set_name): Include partition name in diagnostic. Enforce inherent limitations of dos and dvh partition table formats. * libparted/disk.c (_check_partition): Enforce the 32-bit limitation on a partition's starting sector number and length (in sectors). With the usual 512-byte sector size, this limits the maximum partition size to just under 2TB. (_partition_max_start, _partition_max_len): New functions. (_check_partition): Use them. * tests/t4100-msdos-partition-limits.sh: New file. Test vs. msdos. * tests/t4100-dvh-partition-limits.sh: New file. Test vs. dvh. * tests/Makefile.am (TESTS): Add t4100-msdos-partition-limits.sh and t4100-dvh-partition-limits.sh. 2008-02-02 Jim Meyering mkpart: Don't require a DVH partition name if it's guaranteed to fail. The mkpart command has an undocumented feature whereby it prompts for (interactive) or requires (-s) a partition name, *regardless* of whether it already knows the partition type (any thing but 'logical') is incompatible with a name. At first I was pissed and simply #if-0'd the offending code. But in case someone is actually relying on it, I've relented, and merely remove the prompt/requirement when the partition table type is "dvh" and the type of the partition in question is not "logical". * parted/parted.c (do_mkpart): 2008-01-14 Jim Meyering Avoid new error detected by very latest gcc. * libparted/fs/fat/traverse.c (fat_dir_entry_get_name): Don't reference ->extension[3] via a pointer into the prior ->name[8] struct member. gcc detected the reference beyond end of name[8]. Declare first parameter to be "const". * libparted/fs/fat/traverse.c: Update prototype. #ifdef function definitions to match uses, to avoid compiler warnings. * parted/ui.c (mask_signal, s_sigint_handler, s_sigsegv_handler) (s_sigfpe_handler): Change two "extern inline" functions to "static inline". * include/parted/natmath.h (ped_div_round_up): This makes it compilable with bleeding-edge gcc. (ped_div_round_to_nearest): Likewise. * libparted/cs/natmath.c (ped_div_round_up, ped_div_round_to_nearest): Remove definitions. 2007-12-18 Jim Meyering Make inter-release --version output more useful. Now, each unofficial build has a version "number" like 1.8.8.1.19-58dd, which indicates that it is built using the 19th change set (in _some_ repository) following the "v1.8.8.1" tag, and that 58dd is a prefix of the commit SHA1. * configure.ac: Run it to set the version. (PED_MAJOR_VERSION): Derive from $PACKAGE_VERSION. (PED_MINOR_VERSION): Likewise. (PED_MICRO_VERSION): Likewise. Remove the test that would ensure $PACKAGE_VERSION != $PED_VERSION, now that the latter is derived from the former. * Makefile.am (dist-hook): Arrange so that .version appears only in distribution tarballs, never in a checked-out repository. * .gitignore: Add .version here, too. Just in case. * lib/.gitignore: Remove now-generated (by bootstrap) file. * build-aux/.gitignore: Likewise. Ensure that $(VERSION) is up to date for dist-related targets. * GNUmakefile: Arrange to rerun autoconf, if the version reported by git-version-gen doesn't match $(VERSION), but only for dist targets. doc/pt_BR/partprobe.8.pt_BR.po: Remove trailing space in generated file. Distribute new file: architecture.h. libparted/Makefile.am (libparted_la_SOURCES): Add architecture.h. libparted/architecture.c: Include . 2007-12-17 David Cantrell Fix up the ChangeLog generation a bit. We can just take the output of git-log. 2007-12-17 Jim Meyering Perform ChangeLog-creation here, rather than in bootstrap, so that the next merge will be less likely to clobber this parted-specific bit. Mention that we should be able to build with -fno-common. * bootstrap: Update from Coreutils, adapting to changes in gnulib. Among them: now gnulib uses git for version control. * libparted/tests/disk.c (START_TEST): Remove decl of unused local. 2007-11-07 David Cantrell Add flags for BSD disklabels (needed for Linux on Alpha) Patch from Sergey Tikhonov from the AlphaCore project. 2007-11-06 David Cantrell Add KNOWN ISSUES section Add a KNOWN ISSUES section explaining that ext3 resizing does not work and that you should use resize2fs. Always define PED_DEVICE_DM Regardless of compile time options, always define PED_DEVICE_DM. Add 'xvd' to the transports array in do_print For the parted print command, add 'xvd' to the transports array so there is a matching string to display when we print a line for Xen virtual block device. 2007-11-03 Otavio Salvador Move PedArchitecture and ped_set_architecture to private Code that works with libparted isn't suppose to need to change the architecture where it's running and then doesn't make sense to export it. Two new files has been create (libparted/architecture.[hc]) that has the PedArchitecture structure and the ped_set_architecture implementation. All changes that were need to get it suported on all currently available architectures has been done too. 2007-11-02 Otavio Salvador parted/geom.h: move includes to after type definition to avoids dependency parted/device.h: move includes to after type definition to avoids dependency parted/filesys.h doesn't use stdio.h, parted/disk.h and parted/exception.h parted/constraint.h needs parted/geom.h since it uses PedGeometry parted/natmath.h needs parted/device.h since it uses PedSector libparted/cs/natmath.c: remove inline since it's not supported by GNU99 standard parted/device.h needs to include parted/constraint.h since it uses PedConstraint 2007-11-02 Debarshi Ray Removing unnecessary type-casts and eerie comments. 2007-10-29 Mark Neyhart Added information to message about ext2 incompatible features. Modifed the message about incompatible ext2 features installed to include a list of compatible features and to recommend the usage of tune2fs or debugfs to remove features which are not compatible. 2007-09-01 Otavio Salvador Really duplicate the disk instead of readd every partition To avoid possible differences between the original disk layout and the duplicated one, a raw copy is done. Has been identified a case[1] where extended partitions had their positions changed due this. 1. http://bugs.debian.org/294520 The recipe[2] to reproduce the problem, on the provided URI, has been used to produced a test and hence be sure it's not forgotten anymore. 2. http://bugs.debian.org/294520#34 The fix has been produced by Samuel Thibault 2007-08-16 Benno Schulenberg Set partprobe's text domain. * partprobe/partprobe.c (main): Set textdomain. 2007-08-14 Jim Meyering Fix mkpart linux-swap bug: would use 0x83 rather than 0x82 * libparted/labels/bsd.c (bsd_partition_set_system): Include "misc.h". Use is_linux_swap to test whether the type string matches. * libparted/labels/dasd.c (dasd_read, dasd_partition_set_system): Likewise. * libparted/labels/dos.c (msdos_partition_set_system): Likewise. * libparted/labels/mac.c (mac_partition_set_system): Likewise. * libparted/labels/rdb.c (amiga_partition_set_system): Likewise. * libparted/labels/sun.c (sun_partition_set_system): Likewise. Based on a patch by Kenneth MacDonald, from . * libparted/labels/misc.h (is_linux_swap): New function/file. * libparted/labels/Makefile.am (liblabels_la_SOURCES): Add misc.h. * tests/t2100-mkswap.sh: New file, test for the above fix. * tests/Makefile.am (TESTS): Add t2100-mkswap.sh. Don't try to avoid "free (x)" when x is NULL. * libparted/arch/linux.c (linux_read): Part of http://git.debian.org/?p=parted/parted.git;a=commitdiff;h=080d3e7078 changed this: free(diobuf); to this: if (diobuf) free(diobuf); Yet, free doesn't have any problem with NULL. Some very old (non-POSIX) implementations did (like SunOS4), but even for them, gnulib's lib/free.c protects us. Avoid test failure with dash's builtin printf. * tests/t0100-print.sh (msdos_magic): Use more-portable octal escapes, not hexadecimal ones. 2007-08-09 David Cantrell Sanity check for dev, safety checks on diobuf. Make sure diobuf is NULL before we begin and make sure it isn't NULL when we try to free it. Throw an exception if dev is NULL and we enter this function. (cherry picked from commit be2ace6e8d381fb836647234ac65d34a4a547e31) Revert "History with undo and redo capabilities." This reverts commit 3bb8494e1ed5af0a48ad0211c3219e653167854f. History with undo and redo capabilities. Author: Matt Davis Here is a working version of the history with undo/redo capabilities. The idea here was based on a talk with Otavio Salvador who mentioned the concepts from Vanni Brutto. The idea being to capture all changes and only apply them all at once. This protects the user from performing an unwanted change. What I did was capture all disk modifications that are committed to disk, and put them in a list. The history manager allows the list to be traversed linearly, so that a change can be undone, viewed in parted (print command), or reapplied again. Nothing actually happens to the physical disk until the 'save' command is issued. Jim Meyering suggested that the functionality might be useful to libparted thus most of the functionality has been moved there. The stdout displays (printf) are placed in parted.c as the library should not do any output printing on its own. Three commands were added: 1) Undo : Undoes a disk modification 2) Redo : Redoes the most recent 'undone' modification 3) Save : Actually commits the list of non-undone modifications to disk I feel a bit more testing needs to be done, but I am happy with the results right now. 2007-08-01 Jim Meyering Revert "If we cannot create a new PedDisk for the device we're looking at, return NULL rather than the device path." The reverted change causes almost all tests to fail. This reverts commit a6f86144c0b5fd07c462e256bc7b54095c7b8e7a. Revert "Removed unused label (compiler warning)." The label *is* used. This reverts commit f4bc90ac22de605ad927d2d85ba468a16bf55ae7. 2007-07-31 David Cantrell Probe for all device-mapper devices. Add _dm_probe_all() from Debian and patch linux_probe_all() to probe for device-mapper devices after probing for standard devices. (cherry picked from commit 609b7ae6d274e479027bb46c4bd10227cd921803) Add the PED_DEVICE_XVD device type for Xen virtual block devices. (cherry picked from commit af4bea2ac854343609f3e6688bedd727ddf76ae6) Detect Xen virtual block devices and identify them as such. (cherry picked from commit 64861efcaae95f605614d5e4c6d9c35c5d5712d7) If we cannot create a new PedDisk for the device we're looking at, return NULL rather than the device path. (cherry picked from commit 865ea3d3f2eb7918b64a00825dfa44e05651e2ad) When reading the DASD disk label, look at the partition flags as well as what is on the actual partition using ped_file_system_probe(). This avoids flags being set for partitions when they shouldn't be. (cherry picked from commit dfafc45a3775cc92d3cd89c9b35926cab23db512) Removed unused label (compiler warning). (cherry picked from commit b43bda3134059cdacb13e1a4d0a0bee8a543cfb0) 2007-07-27 Otavio Salvador Fix bootstrap script to support the new translationproject html files 2007-07-23 David Cantrell Updated GPL license boilerplate. Updated COPYING file to the GNU General Public License version 3. Updated boilerplate GPL text to reference version 3 of the license. 2007-07-10 Jim Meyering Flip the switch (expected-failure -> expected-success) in tests/t3100- resize-ext2-partion.sh, now that this bug is fixed. 2007-07-10 Flavio Leitner Fix block state checking for realocated blocks A busy block should be realocated and it's correct in ext2_block_relocator_mark(), but not in ext2_metadata_push(). Fix block number used when checking for state Hi there, The ext2_bread() returns a descriptor containing a pointer ->data representing the contents of 1 block. In ext2_block_relocate_grow(), it reads the block bitmap from a group descriptor representing a range of blocks: bh = ext2_bread(fs, EXT2_GROUP_BLOCK_BITMAP(fs->gd[i])); Then it does: k = EXT2_GROUP_INODE_TABLE(fs->gd[i]) + fs->inodeblocks + j; k is the absolute block number and then checks the state doing: if (bh->data[k>>3] & _bitmap[k&7]) The k should be the offset inside of group descriptor and not the absolute block number. Example: . Block bitmap represents 512 blocks . Block absolute number is 1023. GrpDesc = Block absolute number / block bitmap size = 1 bh = ext2_bread(fs, EXT2_GROUP_BLOCK_BITMAP(fs->gd[GrpDesc])) bh->data[] contains a bitmap of 512 blocks from 512-1024 relative = absolute block number % block bitmap size relative = 1023/512 = 511 The block state is in bitmap bh->data[relative>>3] & ... 2007-07-10 Michael Brennan Fix syntax error and LIBS problem in configure.ac Make sure LIBS doesn't contain libraries that will prevent successful compilations after libreadline has been tested. A trailing comma generated a syntax error in the configure script. 2007-07-10 Matthew S. Harris More correct handling of the HeaderSize field in GPT labels - Use the HeaderSize field value when determining how many bytes to compute the CRC over. - Don't abort if the HeaderSize field value is bigger than our struct, since more fields may be defined in the future. 2007-07-06 Jim Meyering Don't let the automatically-generated ChangeLog cause "make dist" failure. * Makefile.cfg (local-checks-to-skip): Add sc_changelog. Let "make distcheck" pass once again. * parted/strlist.c (str_list_alloc): Remove unnecessary cast of xmalloc return value. 2007-07-06 Michael Brennan Fix a problem where a partial read would not be handled correctly; also change the status variable to ssize_t. 2007-07-03 Jim Meyering Don't include config.h from internal headers. This avoids redefinition errors (on the new symbol, __STDC_LIMIT_MACROS_TRIGGER) when config.h is included twice. Bob Proulx reported the buildbot failures: http://buildbot.proulx.com:9001/ 2007-06-22 Jim Meyering Avoid test failure on Linux-2.6.8 due to too small underlying file. Overwrite the label creating a 4KB file; 1KB was too small and would trigger the failure. Reported by Bob Proulx. Work around test failures caused by inadequate libreadline. * configure.ac: Reject an inadequate libreadline5.0. * parted/ui.c (_readline) [!HAVE_LIBREADLINE]: Echo each just-read line, to be consistent with libreadline5.2. Avoid mklabel test failure with very small file on Linux-2.6.8. 2007-06-18 Jim Meyering README-hacking: Don't mention Gzip 1.2.4, now that 1.3.12 is out. Mention uuid-devel and pkg-config, too. 2007-06-12 David Vazquez Replace some malloc and strdup by xmalloc and xstrdup respectively I replace some malloc and strdup by xmalloc and xstrdup respectively. 2007-06-12 Jim Meyering Fix the mkfs final-block-group-too-short bug. mkfs would fail for certain sizes resulting in a final block-group that was too small to accommodate the minimum number of admin blocks. There was already work-around code for when a decremented "numgroups" was 1. This change applies that work-around code for larger values of numgroups, too. Also, there was an off-by-one error in the guard test that would allow a few too-small partition sizes to slip through and provoke the error (see tests/t2000-mkfs.sh for two examples). This change fixes that, too. Fix two "make check"-as-root failures. t1100-busy-label.sh: Remove extra copy of "o2" temporary file name. test-lib.sh (emit_superuser_warning): Exit successfully when run as root, too. 2007-06-11 Jim Meyering Fix inconsistent prompt for file system type. * parted/parted.c (do_mkfs): Use a consistent prompt when asking for a file system type. Add a test to record the current EXT2 mkpartfs failure for some sizes. Run this: dev=F dd if=/dev/null of=$dev bs=1 seek=20M ./parted -s $dev mklabel gpt ./parted -s $dev mkpartfs primary ext2 0 16796160B It fails with this diagnostic: Error: Attempt to write sectors 32772-32773 outside of partition on /t/F. But if you choose a size that's one byte smaller, it works: ./parted -s $dev mkpartfs primary ext2 0 16796159B The difference is in how ext2_mkfs_write_meta computes the number of block groups. In the former case, it computes numgroups = 3. In the latter, numgroups = 2. The trouble with the first case is that there isn't enough space for 3 full block groups in a file system of that size. Hence the eventual attempt to write beyond the initially- established end-of-file-system mark. Avoid unnecessary writes in test scripts. This changes the tests to create sparse files for some test inputs rather than zero-filled non-sparse ones. Doing this cuts more than 50% off the run time of "make check" in the tests/ directory. 2007-06-11 Matt Davis Add a test for an ext2-resize failure. This patch is based on the change from Matt Davis: http://thread.gmane.org/gmane.comp.gnu.parted.devel/1695/focus=1704 Demonstrate an ext2-resize failure in parted-1.8.7, based on the report in http://parted.alioth.debian.org/cgi-bin/trac.cgi/ticket/22 2007-06-05 Jim Meyering Turn off "DEBUG" in libparted/libparted.c, ... thus making it so that ped_malloc no longer initializes all just-allocated memory to all '1' bits. Given the two bugs I've just fixed, this change is long overdue. Make "mklabel amiga" work also when DEBUG is not enabled. I turned off DEBUG and discovered test failures that its bogus always-initialize-malloc'd-memory policy had been hiding: (amiga_write): Initialize all of "->disk_specific" buffer. Avoid buffer overrun when initializing "TABLE". "mklabel bsd": don't read/write initialized memory, with DEBUG turned off I spent the first part of yesterday debugging the ext2-resize failure. As part of that, I turned off DEBUG and was surprised to see new failures in the label checks. At least for label types "amiga" and "bsd", the implementation required that freshly-allocated memory be filled with all "1" bits, as was guaranteed by the default setting of #define DEBUG 1 When I turned that off, bsd.c would read/write uninitialized memory, and rdb.c(amiga) would do more of the same and produce partition tables that it would then fail to recognize. Here's the fix for the bsd problems. I'll send the rdb/amiga ones separately, and once all tests pass without malloc-initialization-to-all-1's, I'll remove that, too. The bsd read-uninit bug was at bsd.c:341 (bsd_write), with this test: if (!bsd_specific->boot_code [0]) _probe_and_add_boot_code (disk); that first byte was never initialized. So, I figured, that'll be easy. Just initialize it. Wrong. That wasn't enough, since then a part of that same 512-byte buffer (starting at offset 340) would be used uninitialized by a write syscall. FYI, the first failure was demonstrated like this: dev=f N=1M dd if=/dev/zero of=$dev bs=$N count=1 && valgrind ./parted -s $dev mklabel bsd Here's the first one: ==20087== Conditional jump or move depends on uninitialised value(s) ==20087== at 0x4429EE: bsd_write (bsd.c:341) ==20087== by 0x411AD3: ped_disk_commit_to_dev (disk.c:485) ==20087== by 0x411B19: ped_disk_commit (disk.c:508) ==20087== by 0x403A12: do_mklabel (parted.c:622) ==20087== by 0x402AF7: command_run (command.c:139) ==20087== by 0x40B00A: non_interactive_mode (ui.c:1530) ==20087== by 0x407A8B: main (parted.c:2479) and even after initializing only that first byte, here's what I got: ==25692== Syscall param write(buf) points to uninitialised byte(s) ==25692== at 0x54874D0: __write_nocancel (in /usr/lib/debug/libc-2.5.so) ==25692== by 0x41A15C: linux_write (linux.c:1599) ==25692== by 0x40D9CA: ped_device_write (device.c:369) ==25692== by 0x442B1E: bsd_write (bsd.c:368) ==25692== by 0x411AD3: ped_disk_commit_to_dev (disk.c:485) ==25692== by 0x411B19: ped_disk_commit (disk.c:508) ==25692== by 0x403A12: do_mklabel (parted.c:622) ==25692== by 0x402AF7: command_run (command.c:139) ==25692== by 0x40B00A: non_interactive_mode (ui.c:1530) ==25692== by 0x407A8B: main (parted.c:2479) ==25692== Address 0x59E9C01 is 340 bytes inside a block of size 512 alloc'd ==25692== at 0x4A1EC7C: memalign (vg_replace_malloc.c:332) ==25692== by 0x4A1ECD5: posix_memalign (vg_replace_malloc.c:425) ==25692== by 0x41A11A: linux_write (linux.c:1594) ==25692== by 0x40D9CA: ped_device_write (device.c:369) ==25692== by 0x442B1E: bsd_write (bsd.c:368) ==25692== by 0x411AD3: ped_disk_commit_to_dev (disk.c:485) ==25692== by 0x411B19: ped_disk_commit (disk.c:508) ==25692== by 0x403A12: do_mklabel (parted.c:622) ==25692== by 0x402AF7: command_run (command.c:139) ==25692== by 0x40B00A: non_interactive_mode (ui.c:1530) ==25692== by 0x407A8B: main (parted.c:2479) 2007-05-31 Jim Meyering Don't leak a partition table buffer. * libparted/labels/rdb.c (amiga_read): Free the buffer upon success as well as on failure. Correct a misleading diagnostic. * libparted/disk.c (ped_disk_new): Remove always-false "Unable to open" part of diagnostic. Leave the "unrecognized disk label" part. Fix build failure (conflicting decl of strnlen) and clean up * parted/strlist.h: Include first. [!ENABLE_NLS]: Define wchar_t to char here, too, since we no longer include "strlist.h" after the definition in table.c. * parted/table.c: Include and unconditionally, and before wchar_t redefinition. Hoist inclusions of xalloc.h and strlist.h, too. Remove wcwidth and strnlen declarations, since they're guaranteed to be in the gnulib-supplied-if-needed headers. Read an msdos partition table from a device with 2K sectors. * libparted/labels/dos.c: Include . (msdos_probe): Don't hard-code 512. Use read_sector, not ped_device_read. Adapt to changed type of "part_table". Now that "label" is malloc'd, be sure to free it before returning. (read_table): Likewise. Fix "make distcheck" failure due to not finding usable partition * m4/o-direct.m4: Require that read as well as write succeed. Require that both work with blocks of size 512 as well as 4096. Reiserfs3 doesn't support 512-byte reads. Allow the user running the test to specify the first directory to test via the PARTED_TMPDIR envvar, in case none of the dirs checked by default is usable. 2007-05-30 Jim Meyering Fix configure-with-nls vs. wchar.h/wcsdup problem differently. * parted/table.c: Include *before* all other #include directives. Remove explicit declaration of wcsdup. Now, we'll get the one from . 2007-05-30 Otavio Salvador parted/table.c: Fix a warning when compiling with translation support ,----[ Output when compiling with translation support ] |... | table.c: In function 'table_add_row_from_strlist': | table.c:168: warning: implicit declaration of function 'wcsdup' | table.c:168: warning: assignment makes pointer from integer without a cast `---- 2007-05-30 Benno Schulenberg fdasd label: Move formatting out of translatable strings. Also gettextize several missed messages, and simplify some of them. vtoc label: Move formatting out of translatable strings. Also gettextize a few missed messages, and remove some whitespace. 2007-05-29 Jim Meyering Avoid a leak. * parted/parted.c (do_print): Use separate variables for the header and for individual rows. Free each when done. * parted/table.c (table_add_row_from_strlist): Insert a newly allocated copy of each string, so that the caller can free the argument corresponding to the "list" parameter. * tests/t0100-print.sh: New test for this. * tests/Makefile.am (TESTS): Add t0100-print.sh. Move a test/utility function into test-lib.sh. * tests/t3000-constraints.sh (emit_superuser_warning): Move this function to... * tests/test-lib.sh (emit_superuser_warning): ...here. * tests/t0000-basic.sh: Use the function instead of open-coding it. On IRC, xeos reported test failures in t0000 and t2000 with diffs like this: -/home/xeos/projects/parted/parted/.libs/lt-parted: invalid token: msdos +parted: invalid token: msdos Here's the patch I expect to apply. It also removes an inter-part dependency by moving the creation of the "o2" temporary file into the test where it's used. Some of this duplication should be factored out, eventually... 2007-05-26 Jim Meyering Diagnose invalid command arguments. This started because I objected to parted failing with no diagnostic when given an invalid file system type: $ /sbin/parted -s $dev mklabel loop mkpartfs hfsplus 0 1.4 WARNING: You are not superuser. Watch out for permissions. [Exit 1] With the changes below, it does this: $ ./parted -s $dev mklabel loop mkpartfs hfsplus 0 1.4 ./parted: invalid token: hfsplus [Exit 1] The following may look like a simple change, but looks are deceptive... For example, if you try to diagnose via ped_exception_throw instead of "error", you'll find that the mere fact of diagnosing the problem introduces new ones because of how the exception handler manipulates the global command line buffer containing the token we're complaining about. But this isn't library code, so using error() is fine. Diagnose invalid command arguments. When a command argument doesn't match the expected candidate values, parted would silently exit (in script mode) or simply act as if that value and any following ones had not been specified (in interactive mode). With this change, it complains about the "invalid token", and in script mode (where there hasn't been a prompt to give context) sometimes tells what type of token it was expecting. * parted/ui.c: Include "error.h". (command_line_get_word): If the user's "token" wasn't a good enough match, give a diagnostic. In script mode, return NULL so that the callers can give additional information. * tests/t2000-mkfs.sh: New test for the above. * tests/t0000-basic.sh: Expect the new diagnostic when "msdos" is treated as an unrecognized first token after "mklabel". This happens when trying to label a disk that already has a label. * tests/t1100-busy-label.sh: Likewise. 2007-05-25 Jim Meyering Use xmalloc and xrealloc, rather than unchecked malloc and realloc. * parted/table.c: Use gnulib's xmalloc and realloc. Remove anachronistic casts of malloc/realloc return value. Change "sizeof(type)" to safer "sizeof(*var)" (one of the former was wrong, but in a harmless way). Fix off-by-one error in previous change. * parted/strlist.c (str_list_print_wrap): Don't output a space unconditionally. Remove a silly (and dangerous) function. This change has no effect, except in a low-memory condition, where the old code would dereference NULL, the new code no longer performs that malloc. * parted/strlist.c (get_spaces): Remove this function. Not only is it useless, but it also has an unchecked malloc. (str_list_print_wrap): Don't allocate and initialize a string just to print a sequence of N spaces. doc/parted.texi (Static binaries): Correct an invalid example. One cannot specify "primary" for a partition on a loop device. 2007-05-24 Jim Meyering Diagnose "ext2 FS too small" rather than triggering an assertion. * libparted/fs/ext2/ext2_mkfs.c (ext2_mkfs): An overlapping ext2 partition request could still lead to a bug: constraint-resolution code would produce a single-sector candidate "range", and that would cause the ext2 fs-creation code to misbehave. Now, it properly detects and reports the FS as being too small. * tests/t3000-constraints.sh: New test for the above. * tests/Makefile.am (TESTS): Add t3000-constraints.sh. Fix typo in privs-required test setup. * tests/test-lib.sh: Fix typo: s/\$parted/$parted_/. 2007-05-23 Jim Meyering Don't fail all tests when "." lacks O_DIRECT support. I often build tools on a tmpfs file system (it's faster), and found that parted tests always failed there. That's because it tries to open the "device" (a file) with O_DIRECT, and at least the linux tmpfs driver always fails with EINVAL in that case. So here's a patch that makes it work. Since the test may require writing in a directory like /tmp, to which others typically have write access, it is particularly careful about security (see the mkdtemp script below), in case "make check" is run by e.g., root. Don't fail all tests when "." lacks O_DIRECT support. Before, running "make check" on a file system that doesn't support O_DIRECT (e.g. tmpfs), would always fail. Now, it works, as long as the test machinery can find a writable directory in which open with O_DIRECT *does* work. * m4/o-direct.m4: New file. Find a directory/FS with O_DIRECT support. * configure.ac: Use the new macro. * libparted/tests/t1000-label.sh: New file. Wrap the binary, so it can take advantage of the code that finds O_DIRECT supporting FS. * tests/mkdtemp: New file. Required, since when running tests as root, we may have to create a temporary directory in a directory like /tmp that's writable by others. * tests/Makefile.am (EXTRA_DIST): Add mkdtemp. * tests/test-lib.sh: When creating test subdir, and setting up "trap", use the directory specified in $PARTED_USABLE_TEST_DIR. Don't set PATH here. Now, that's done via the generated, and always- sourced, init.sh. As a result, invoke parted via its full file name. 2007-05-19 Jim Meyering Make all tests get their initialization from the same place. * tests/t2000-mkfs.sh: Get initialization via ". ./init.sh", not via ". ./test-lib.sh". * Makefile.maint (sc_test_init): New test, to ensure we stay consistent. * tests/Makefile.am (init.sh): Make this generated file read-only. 2007-05-18 Jim Meyering mkpartfs ext2 2 10 would erroneously report "file system too small" for some small (single-group) partitions. It would also fail to report "file system too small" in some cases, and instead continue on to into inode-allocation code where it'd report "File system full!" * libparted/fs/ext2/ext2_mkfs.c (compute_block_counts): New function, factored out of... (ext2_mkfs): ...here. Call compute_block_counts rather than open-coded it. When decrementing numblocks, call compute_block_counts again, to recompute all of the derived values. Require at least 14 free blocks in a 16-inode-per-group partition. * tests/t1500-small-ext2.sh: New file. Test for the above. * tests/Makefile.am (TESTS): Add t1500-small-ext2.sh. 2007-05-17 Jim Meyering Avoid spurious test failures due to buggy ncurses-5.6. * tests/test-lib.sh: Also unset TERM. 2007-05-16 Benno Schulenberg partprobe: new option: --dry-run, synonym for now-deprecated --no-update; improve its description 2007-05-16 Anant Narayanan Test commit 2007-05-14 David Cantrell Removed clean.sh script. Using git now, we don't need it anymore (git clean -d -x). Use gnulib xmalloc() and xrealloc(). 2007-05-14 Flavio Leitner Fix exception handling in mkpart and mkpartfs Parted mkpart and mkpartfs commands does: ... ped_exception_fetch_all(); if (!ped_disk_add_partition (disk, part, final_constraint)) { ped_exception_leave_all(); ... } ... In mkpart if the ped_disk_add_partition() returns true it skips ped_exception_leave_all() leaving ex_fetch_count = 1. In mkpartfs if the ped_disk_add_partition() returns false it will call ped_exception_leave_all() leaving ex_fetch_count negative. The wrong count in ex_fetch_count will prevent next commands to correctly handle exceptions, failing to prompt users for example. Note: test script t2000-mkfs.sh improved to verify against this issue. 2007-05-11 Jim Meyering * tests/t1100-busy-label.sh: Quote uses of $dev, in case the user's device name contains a shell meta-character. SCALAR(0x7f6040) When labeling a disk in --script mode, fail if it is in use. * parted/parted.c (_disk_warn_busy): In script mode, throw a "PED_EXCEPTION_ERROR", not a warning. (do_mklabel): Guard only the _disk_warn_loss call with "if (!opt_script_mode...", not the _disk_warn_loss call. * tests/t1100-busy-label.sh: New file. Test the above, in interactive mode as well as in script mode. Requires root privilege (to mount a fs), and an actual block device. * tests/Makefile.am (TESTS): Add t1100-busy-label.sh. * tests/test-lib.sh: Add infrastructure to support new privileges_required_=1 and erasable_device_required_=1 settings used by t1100. No longer require "srcdir=." when running a test manually. * tests/Makefile.am (init.sh): New rule, so one doesn't have to set "srcdir=." when running a test manually. * .gitignore: Ignore new generated file: tests/init.sh. * tests/t0000-basic.sh: Source new init.sh, rather than test-lib.sh. * tests/t1000-mkpartfs.sh: Likewise. * tests/t2000-mkfs.sh: Likewise. * tests/test-lib.sh: Remove useless srcdir-setting code. 2007-05-09 Otavio Salvador [parted] Fix script mode support on mkfs commandline command Parted was lacking support to script mode on do_mkfs method hence always failing. Note: tests/t2000-mkfs.sh was created to avoid it to happen again 2007-05-08 Debarshi Ray Preventing compilation of DASD code on GNU Hurd systems through the use of AC_COMPILE_IFELSE and AM_CONDITIONAL, instead of #ifdef. 2007-05-07 Jim Meyering Rewrite integration tests to use a new framework (git's). * tests/t1000-mkpartfs.sh: New file. * tests/t0000-basic.sh: New file. * tests/test-lib.sh: New file. Derived from git's t/test-lib.sh. * tests/lang-default, tests/priv-check: Remove files. * tests/Makefile.am (EXTRA_DIST): Add test-lib.sh. Remove lang-default and priv-check; no longer used. * tests/part-01, tests/label-01: Remove files. * tests/part-02, tests/label-02: Likewise. Merge branch 'inhibit-word-wrap' Merge branch 'include-limits-h-for-CHAR_MAX' Make ---pretend-input-tty inhibit output word-wrap. * parted/ui.c (screen_width): Use effectively-unlimited screen width with ---pretend-input-tty, just as for '--script' mode. Suppress "you are not superuser..." warning in script mode. * parted/parted.c (_init): Do not emit this warning in script mode: "You are not superuser. Watch out for permissions." Avoid "make distcheck" failure, with newer system headers. * parted/parted.c: Include , for use of CHAR_MAX. 2007-05-04 Anant Narayanan Updated Doxyfile 2007-05-02 David Cantrell On the edge branch, labeled the version as 1.9.0 so we can mark it more correctly as the development tree. Whitespace cleanups. Whitespace cleanups. Whitespace cleanups. Whitespace cleanups. Revert "Remove unused label." This reverts commit bfd9a6d8b6322d870650b0e92bd936035ab28e76. Patch from Jim Meyering to linux_write() to support logical sector sizes other than 512 (PED_SECTOR_SIZE_DEFAULT). Fix primary partition cylinder alignment error for DOS disk labels. Fix off-by-one bug in parted when displaying information about the disk label (the disk size, specifically). Do not translate partition names in 'parted print' command. This causes problems for non-Latin-based character sets. Also, we don't want to translate the partition name here as we are just showing what is in the disklabel, translating it distorts what the value is. Also added some malloc checks in table.c. Remove unused label. 2007-05-02 David Cantrell Reverted my patch to configure.ac to remove -Wl,--as-needed from LDFLAGS when checking for libreadline. libreadline is a problematic library. Autoconf adds a block to the generated configure script that checks to see if we should be passing the --as-needed flag to ld(1). There are portability reasons this code exists (best I can figure), but it presents a problem when we scan for libreadline. libreadline specifically has unresolved symbols on at least Fedora and RHEL. Why? Well, the developer can choose to provide libtermcap, libncurses, or libncursesw (wide-char support) at compile time which all satisfy the curses API dependency that libreadline has. When the parted configure script runs, it fails on readline because the --as-needed flag causes the linker to not include libncurses even though we already have that on the link line. My solution is to remove the --as-needed flag when we scan for libreadline and then later check for rl_completion_matches() in libreadline. More changes to set the version number to 1.8.3. Set version to 1.8.3 for upcoming release. 2007-05-01 Debarshi Ray [tests] Separate and improved test for reading of disk labels. 2007-04-30 Matthew Harris Fix endianness bugs 2007-04-26 Jim Meyering Add integration tests, then adjust code so that they pass. These changes affect how --script (-s) works, and when diagnostics are displayed. * Makefile.am (SUBDIRS): Add tests. * configure.ac (AC_OUTPUT): Add tests/Makefile. * tests/Makefile.am: New file. * tests/part-01, tests/label-01: New files. * tests/part-02, tests/label-02: New files. * parted/parted.c (enum) [PRETEND_INPUT_TTY]: Define. Support a new, undocumented option: ---pretend-input-tty. It is intended solely for testing. The leading '---' ensures that it will never conflict with a "regular" long option. (do_mkpartfs): Prompt only when not in script mode. Call ped_exception_leave_all() to decrement global counter. Without this, the use of parted in tests/part-01 would still fail, but would not issue the diagnostic explaining why. * parted/ui.h (pretend_input_tty): Declare new global. * parted/ui.c (exception_handler): Let the new "pretend_input_tty" option override "!isatty (0)". (init_ui): Don't set opt_script_mode. * tests/lang-default, tests/priv-check: New files. Temporarily disable the clone-dvh-label test. * libparted/tests/label.c (test_clone_label): 2007-04-21 Jim Meyering [PATCH] Avoid warning from -Wformat-security; tweak error diagnostic. * parted/parted.c (_parse_options): Upon failure, output diagnostic to stderr, not stdout. Use "program_name" value, not literal "parted". 2007-04-20 Debarshi Ray [tests] New test for probing of disk labels. 2007-04-20 Otavio Salvador Revert "[libparted] dvh label fixes" This reverts commit dcf8e966abf997b9df69b1664c470ed2aa5c166b. [libparted] dvh label fixes [tests] Simplify test_clone_label removing the label reading test Since the test_create_label already tests the label reading we shouldn't redo it. It's always better to have simple tests so is much easier to find the bugs. [tests] Trivial coding style fixes around the tests code [tests] Add _test_exception_handler to fail every time an exception is raised Sometimes parts of code raises exceptions and this shouldn't happen on tests. To ensure we catch them a specific exception handler has been implemented. The handler usage is very easy. You just need to put the following code at testsuite main method: ... /* Fail when an exception is raised */ ped_exception_set_handler (_test_exception_handler); ... 2007-04-20 Debarshi Ray [tests] New test for cloning of disk labels. 2007-04-19 Debarshi Ray [tests] Fix spacing around brackets and asterisks. 2007-04-19 Benno Schulenberg Handle options independent of their order. Abort on any invalid option, and handle -v and -h first. 2007-04-19 Otavio Salvador [tests] Small refactoring on test_create_label - Destroy the temporary device once the test has been finished, - Use the _implemented_disk_label and _create_disk_label methods to avoid code duplication. [tests] Implements _implemented_disk_label and _create_disk_label on common.[hc] - _implemented_disk_label: returns 0 when we haven't yet implemented this specific label and 1 otherwise; - _create_disk_label: creates a disk label of a specific type on a specific device; 2007-04-18 Otavio Salvador [tests] Ensure that we're able to read the just created disk label To ensure we're able to read the just created disk label we introduced a call ped_disk_new using the same loopback. This could detect bad label creating or probing detectiong mistakes. 2007-04-17 Debarshi Ray Indentation fixes in libparted/tests/. 2007-04-16 Debarshi Ray Show the update /etc/fstab message only when there has been a change to the disk. The message is now shorter and more direct. 2007-04-06 solsTiCe d'Hiver change the variable named start to offset to be consistent with the doc 2007-04-05 solsTiCe d'Hiver remove any trace of PED_PARTITION_PRIMARY which was deprecated a long time ago to use PED_PARTITION_NORMAL 2007-04-05 Benno Schulenberg Added 'rescue', 'unit', and 'version' to the man page, plus some small edits. 2007-04-04 Otavio Salvador Avoid segfault due a double free on reiserfs support (patch sent by Jakub Bogusz ) 2007-04-04 Benno Schulenberg Make the wording of warning somewhat clearer. 2007-03-27 Benno Schulenberg Tweak some help messages: change third person to imperative for consistency, add single quotes and remove letters for clarity 2007-03-20 David Cantrell Conditionalize the System Z stuff correctly. We get headers installed on non-System Z platforms, but the code only compiles on that platform. Remove the COMPILE_FOR_S390 flag-setting stuff. It wasn't correct anyway. Take a kernel-style approach and check uname -m to see if we are on s390. If so, we build for zSeries. Otherwise we do not. Sleep for one second after uploading a file to ftp-upload.gnu.org. Seems transactions need to be spaced out a bit otherwise the server will reject files. Fix for compile problems with gcc-4.1.2 as indicated here: http://lists.gnu.org/archive/html/bug-parted/2007-03/msg00008.html Check for tgetent() in libtinfo as well as ncurses, curses, termcap, and termlib. Remove some unused variables, check the return values from fgets() and asprintf(), and remove the unused _dm_remove_map() function. Include vtoc.h for the format1_label_t typedef. Remove GNU make-specific things from po4a.mk. 2007-03-16 David Cantrell Install the libparted.pc file, not the libparted.pc.in file. More spec file template cleanups. Updated the release script to work with the new source layout. 2007-03-16 Debarshi Ray Fixed faulty information in README-hacking (Bison is not a maintainer tool for Parted), and Makefile.maint (every project has certain variations of it). 2007-03-16 Jim Meyering po/POTFILES.in: Add lib/getopt.c 2007-03-16 Debarshi Ray Prevented DASD specific headers and sources from being compiled/installed on non-s390 systems; and conditionally included fdasd.h in linux.h for s390 systems. 2007-03-15 David Cantrell Move static variable flagging little endian or not to journal.c. We don't want static variables in general, but if they must exist, put them in a C file, not a header. Parameterize the little_endian flag for the macros in journal.h. 2007-03-13 David Cantrell Modernize the spec file template. Ignore more files. Patch from Matthew Garrett to add HFS+ resize support. 2007-03-12 Jim Meyering hfs.c: Detect write failure. * libparted/fs/hfs/hfs.c (hfs_extract_file, hfs_extract_bitmap): (hfs_extract_mdb, hfsplus_extract_file, hfsplus_extract_vh): Fail when fclose fails for a written-to file handle. 2007-03-08 Jim Meyering aix.c: Avoid memory overrun. Don't assume logical sector size <= 512B * libparted/labels/aix.c (struct AixLabel): Remove definition. (aix_label_magic_get, aix_label_magic_set): New functions. (read_sector): New function. (aix_probe): Rewrite not to use the above, and not a static buffer. (aix_clobber): Likewise. Also, rather than PED_ASSERT'ing that aix_probe returns 1, simply return 0 if aix_probe returns fails. (ped_disk_aix_init): Remove assertion, now that AixLabel is gone. Use PED_SECTOR_SIZE_DEFAULT not 512 * libparted/arch/beos.c (beos_read, beos_write): * libparted/arch/linux.c (_device_get_length, _device_seek) (linux_read, linux_write, _blkpg_add_partition): * libparted/fs/fat/bootsector.c (fat_boot_sector_read): * libparted/labels/bsd.c (bsd_alloc): * libparted/labels/dos.c (probe_filesystem_for_geom): * libparted/labels/rdb.c (amiga_read): * parted/ui.c (non_interactive_mode): Plug a tiny leak. Exercise by running the following with a CD-ROM in the drive: valgrind --leak-check=full parted/parted /dev/cdrom print Before, we'd leak the 6-byte command: "print\0". linux.c: Avoid memory overrun. Handle 2048-byte logical sectors. * libparted/arch/linux.c (linux_read): Allocate the right amount of space for the (potentially 2048-byte-long) sectors we're about to read. Don't use deprecated mktemp, to avoid linker warning * libparted/tests/common.c (_create_disk): Rewrite to use mkstemp instead. * libparted/tests/label.c: Plug a trivial leak. 2007-03-07 Debarshi Ray Merge branch 'master' of git+ssh://rishi-guest@git.debian.org/git/parted/parted 2007-03-07 Debarshi Ray Replaced [f]printf with fput[c|s] globally. 2007-03-07 Jim Meyering libparted/unit.c: constify interfaces * include/parted/unit.h (PED_UNIT_LAST): * libparted/unit.c (ped_unit_get_size): (ped_unit_format_custom_byte, ped_unit_format_byte): (ped_unit_format_custom, ped_unit_format, ped_unit_parse): (find_suffix, parse_chs, clip, geometry_from_centre_radius): (ped_unit_parse_custom): Declare some static arrays to be "const". * libparted/labels/dos.c (MBR_BOOT_CODE): * libparted/labels/efi_crc32.c (crc32_tab): * libparted/labels/pc98.c (MBR_BOOT_CODE): * libparted/labels/vtoc.c (EBCtoASC, ASCtoEBC): * configure.ac: Fix a typo: s/have_scintilla/have_check/ tests/label: Don't dereference NULL if open fails. * libparted/tests/label.c (START_TEST): Return right away if ped_device_get returns NULL. Add "const" to parameters in these public interfaces. * libparted/disk.c (ped_disk_check): (ped_disk_get_primary_partition_count): (ped_disk_get_last_partition_num, ped_partition_print): (ped_disk_print): (ped_partition_print): Also declare to be "static". This is ok, since the function is referenced only from this file. * include/parted/disk.h: Update their prototypes. Use consistently, not "config.h". * Makefile.cfg (local-checks-to-skip): Remove sc_require_config_h, to enable the "make distcheck" test for this. 2007-03-06 David Cantrell start_pos is a PedSector, not a PedGeometry. 2007-03-06 David Cantrell Preserve starting sector for primary NTFS 3.1 partitions (Windows Vista) when modifying the DOS disk label. NTFS 3.1 partitions do not start on the 2nd head of the 1st cylinder at the beginning of the drive. Patched parted.8 man page to show partition names apply to GPT disk labels as well as Mac and PC98 disk labels. 2007-03-06 Debarshi Ray Replaced [f]printf with fput[c|s] in libparted/fs/ext2/ext2_block_relocator.c. Re-arranging .gitignore in alphabetical order. Defined a dummy '_dump_history' function in parted/ui.c when Readline is absent. Thanks to Jim Meyering for the suggestion. Added libparted/tests/label to .gitignore. Fixed parted/ui.c to incorporate signal handlers for systems lacking 'sigaction', 'SA_SIGINFO', and other constants in signal.h. 2007-03-05 Jim Meyering Undo part of the dos.c constification. * libparted/disk.c: The sole parameter of ped_disk_type_register and ped_disk_type_unregister must *not* be const. * libparted/labels/dos.c (msdos_disk_type): Likewise for the corresponding static struct in dos.c, since those functions modify the struct. This didn't show up at compile time due to casts. * include/parted/disk.h: Update prototypes, too. Hide two unnecessarily-"extern" functions. * libparted/labels/mac.c (mac_alloc): Declare static. * libparted/labels/dos.c (raw_part_parse): Declare static. * libparted/labels/dos.c: Complete constification of this file. * libparted/disk.c (ped_disk_type_register): Make the sole parameter "const", so that caller's argument may be "const". (ped_disk_type_unregister): Likewise. * po/POTFILES.in: Add partprobe/partprobe.c, now that it contains translatable strings. Make partprobe accept --help and --version options. Add long options: --no-update (same as existing -d), and --summary (same as existing -s). * partprobe/partprobe.c Include configmake.h, getopt.h, and NLS-related things. (main): Rewrite option handling. Along the way, fix a bug whereby "partprobe DEV1 DEV2 ... DEVN" would exit successfully whenever process_dev (DEVN) returns nonzero, even when that function fails for each of the preceding devices. Make clearfat accept --help and --version options. * debug/clearfat/clearfat.c (AUTHORS, PROGRAM_NAME): Define. Include gettext-related things. Include closeout.h. (usage): New function. (main): Set up for translations, use close_stdout. * bootstrap.conf: Add long-options, for clearfat. * debug/clearfat/Makefile.am: Use gnulib. * include/parted/disk.h (struct _PedDiskOps) [write]: Change parameter type to be "const". Begin making libparted/labels/*.c const-correct. For an introduction, see http://mail-archive.com/parted-devel@lists.alioth.debian.org/msg00930.html In particular, I've used a const-adding case in mac.c to work around the current, inconsistent semantics of mac_write. Avoid a libtool warning: libtool: link: warning: `-release' is ignored for convenience libraries * libparted/labels/Makefile.am (liblabels_la_LDFLAGS): Don't define. Make "make distcheck" work better. * Makefile.cfg (local-checks-to-skip): Skip sc_system_h_headers, too. * Makefile.maint (my-distcheck): Don't depend on $(release_archive_dir). 2007-03-02 Jim Meyering Avoid recursive "LIBS = ... $(LIBS)" assignments. * libparted/labels/Makefile.am (liblabels_la_LIBADD): Add $(INTLLIBS) here rather than via a recursive LIBS = ... $(LIBS) assignment. * libparted/fs/Makefile.am (libfs_la_LIBADD): Likewise. Use $(VAR), rather than obsolescent @VAR@ automake notation. Enable the makefile-check rule. * Makefile.cfg: Remove makefile-check from the list of rules to skip. * Makefile.am: change e.g., @VERSION@ to $(VERSION). * debug/clearfat/Makefile.am: Likewise. * libparted/Makefile.am: Likewise. * libparted/fs/Makefile.am: Likewise. * libparted/fs/amiga/Makefile.am: Likewise. * libparted/fs/bfs/Makefile.am: Likewise. * libparted/fs/ext2/Makefile.am: Likewise. * libparted/fs/fat/Makefile.am: Likewise. * libparted/fs/hfs/Makefile.am: Likewise. * libparted/fs/jfs/Makefile.am: Likewise. * libparted/fs/linux_swap/Makefile.am: Likewise. * libparted/fs/ntfs/Makefile.am: Likewise. * libparted/fs/reiserfs/Makefile.am: Likewise. * libparted/fs/ufs/Makefile.am: Likewise. * libparted/fs/xfs/Makefile.am: Likewise. * libparted/labels/Makefile.am: Likewise. * libparted/tests/Makefile.am: Likewise. * parted/Makefile.am: Likewise. * partprobe/Makefile.am: Likewise. The above conversion caused a problem: * libparted/Makefile.am: Remove this recursive definition: LIBS = @INTLLIBS@ @LIBS@. Once converted to LIBS = ...$(LIBS), GNU make would (rightly) fail, objecting to the recursive definition. (libparted_la_LIBADD): Instead, add $(INTLLIBS) here. Enable the po-check rule. * Makefile.cfg (local-checks-to-skip): Remove po-check. * po/POTFILES.in: Add a bunch of names of files that contain translatable strings. Remove some which contain none. Add infrastructure for more rigorous "make distcheck" rules. * GNUmakefile: New file. * .prev-version: New file. * Makefile.am (MAINTAINERCLEANFILES): Remove names of files now in build-aux/. (distcheck-hook): New rule, to run the checks in Makefile.maint. (EXTRA_DIST): Add .prev-version. * Makefile.maint: New file. Improved "make distcheck" rules. * Makefile.cfg: Select which Makefile.maint checks to run. (local-checks-to-skip): List all currently-failing and irrelevant tests here. * build-aux/vc-list-files: New file. List version-controlled files. * .gitignore: Remove build-aux, since now it contains a version-controlled file. 2007-03-01 Debarshi Ray Fixing indentation in parted/ui.c. Replaced TABs with spaces to ensure uniformity in all editors. 2007-02-28 Debarshi Ray Fixing indentation in parted/ui.c. 2007-02-27 Jim Meyering Normalize the way we handle a generated-and-distributed file, parted.spec. * Makefile.am (EXTRA_DIST): Add parted.spec. (parted.spec): New rule. (MAINTAINERCLEANFILES): Add parted.spec. * configure.ac (AC_OUTPUT): Remove parted.spec from the list. Add -I$(top_srcdir)/lib, required for new use of close_stdout. * partprobe/Makefile.am (partedincludedir): Arrange for "make distcheck" to be stricter. * bootstrap: new file. 2007-02-26 Debarshi Ray Fixing libparted/arch/gnu.c to remove build-time errors. 2007-02-25 Jim Meyering partprobe: Detect/report any error when writing to stdout. * partprobe/Makefile.am (partprobe_LDADD): Add lib/libparted.la. * partprobe/partprobe.c: Include "closeout.h" for close_stdout. Include "version-etc.h" for version_etc prototype. Declare global, program_name. (PROGRAM_NAME, AUTHORS): Define. (help): Use PROGRAM_NAME, rather than hard-coding it. (version): Use gnulib's version_etc. (main): Set program_name. Use atexit to close stdout carefully upon exit. Add a bunch of .gitignore files. Avoid a gcc format warning: * debug/clearfat/clearfat.c (_do_help): Use fputs, not printf. Remove now-generated files. * po/ca.po, po/cs.po, po/da.po, po/de.po, po/es.po, po/fr.po: * po/gl.po, po/id.po, po/it.po, po/ja.po, po/nl.po, po/nn.po: * po/pl.po, po/pt.po, po/pt_BR.po, po/ru.po: * po/sv.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po: * po/Makevars: Remove now-generated file. * po/parted.pot: Remove -generated file. mv parted.m4 into new dir, m4/ * Makefile.am (EXTRA_DIST): Remove parted.m4. Now that it's in m4, it's included automatically. (aclocal_DATA): Remove unnecessary definition. * libparted/tests/label.c: Fail if _create_disk returns NULL. Make global and functions static. * libparted/tests/common.c (_create_disk): Handle fopen failure. Handle fclose failure. Include from every .c file: * libparted/unit.c, libparted/timer.c: * libparted/cs/natmath.c, libparted/cs/constraint.c: * libparted/tests/label.c, libparted/tests/common.c: * libparted/fs/fat/count.c, libparted/fs/fat/bootsector.c: * libparted/fs/fat/context.c, libparted/fs/fat/fatio.c: * libparted/fs/fat/fat.c, libparted/fs/fat/clstdup.c: * libparted/fs/fat/resize.c, libparted/fs/fat/traverse.c: * libparted/fs/fat/table.c, libparted/fs/fat/calc.c: * libparted/fs/amiga/amiga.c, libparted/labels/fdasd.c: * libparted/labels/dvh.c, libparted/labels/efi_crc32.c: * libparted/labels/vtoc.c, parted/command.c: * libparted/tests/label.c, libparted/tests/common.c: * libparted/libparted.c: Include "configmake.h" for LOCALEDIR defn. parted: Detect/report stdout write errors. * parted/parted.c: Include "closeout.h" for close_stdout. Include "configmake.h" for LOCALEDIR definition. Include "version-etc.h" for version_etc prototype. Declare global, program_name. (PROGRAM_NAME, AUTHORS): Define. (_version): Use gnulib's version_etc. (main): Set program_name. Use atexit to close stdout carefully upon exit. Include , not "../config.h". Begin adjusting Makefile.am files to use gnulib. * libparted/Makefile.am (partedincludedir): Add -I$(top_srcdir)/lib. * parted/Makefile.am (parted_LDADD): Add lib/libparted.la. (partedincludedir): Add -I$(top_srcdir)/lib. Update to use gnulib, and newer autoconf, automake conventions. Add build-from-checkout instructions. * README-hacking: New file. Mostly copied from coreutils' README-cvs. * bootstrap: Generate ChangeLog here, if needed/possible, before invoking tools that require its presence. * autogen.sh: Remove this file. It's superseded by bootstrap. Use gnulib, modernize some uses of autoconf, automake, etc. * bootstrap, bootstrap.conf: New files. * configure.ac: Modernize. Require the latest stable releases: autoconf-2.61, automake-1.10. Require gettext-0.15. Use more modern form of AC_INIT, etc. Now that the version string must be hard-coded in the AC_INIT line, add code to ensure it agrees with the PED_* and LT_* variables. Use AM_CPPFLAGS, not CFLAGS Remove obsolete setting of ALL_LINGUAS. Don't set CFLAGS=-D_GNU_SOURCE=1 explicitly , since that's already done via AC_GNU_SOURCE, which gnulib pulls in by default, through gl_EARLY. Use gl_INIT and gl_EARLY. * Makefile.am (SUBDIRS): Add lib. (EXTRA_DIST): Remove names that are automatically included. * lib/Makefile.am: New file. 2007-02-23 Anant Narayanan Fix memleaks. Patch thanks to Mike Hommey 2007-02-19 Debarshi Ray Introduced MAINTAINERCLEANFILES in Makefile.am for carrying out 'make maintainer-clean'. Cleaning up nested structs & unions. 2007-02-16 Jim Meyering Avoid compiler warnings with gcc -Wall -Wshadow. * libparted/arch/linux.c (init_ide): Add missing "break" at end of final case: stmt. Add "default:" in the same switch to avoid a compiler warning. * libparted/fs/fat/bootsector.c (fat_boot_sector_analyse): Likewise. * libparted/fs/fat/resize.c (ask_type): Likewise. * libparted/fs/fat/traverse.c (fat_dir_entry_set_first_cluster): Likewise. * debug/clearfat/clearfat.c (_calc_fat_entry_offset): Likewise. * parted/parted.c (_timer_handler): Cast time_t values to "int" to agree with %d printf format. (g_timer): Rename file-scoped global from shadowed "timer". Update all uses of the global. (version_msg): Remove decl of unused global. * parted/ui.c (current_exception_opt): Remove decl of unused global. * libparted/filesys.c (ped_file_system_close): Remove unused label. * libparted/unit.c (parse_chs): Likewise. * libparted/debug.c (ped_assert): Use "int" as type of backtrace return value, not size_t. * libparted/fs/reiserfs/reiserfs.c (reiserfs_check): Guard declaration of local with #ifdef HAVE_REISERFS_FS_CHECK, since it's used only in a similarly-guarded block. (reiserfs_fs_check): Likewise for this file-scoped global. Avoid warnings about unused file-scoped global variables. * libparted/fs/hfs/hfs.h (hfs_type, hfsplus_type): Remove these declarations of file-scoped static variables. * libparted/fs/hfs/hfs.c: Put them here, instead. * libparted/fs/fat/table.c (_test_code_active): Remove unused function. * libparted/arch/linux.c: Add casts to avoid performing pointer arithmetic on "void *" pointers. * libparted/fs/hfs/file_plus.c (hfsplus_file_read): Don't do pointer arithmetic on a "void *" pointer. (hfsplus_file_write): Likewise. * libparted/fs/fat/count.c (flag_traverse_dir): Move decl of unused local into #if-0'd block where it is referenced. (print_chain): Guard definition with #ifdef PED_VERBOSE, since the sole use of this function is guarded the same way. * libparted/fs/amiga/amiga.c: (_amiga_valid_block_id): Remove unused function. (_amiga_get_bstr): Likewise. (_amiga_set_bstr): Likewise. Remove unused labels and/or declarations of unused variables. * parted/ui.c (_readline): Likewise. * libparted/cs/constraint.c (_constraint_get_canonical_start_range): Likewise. * libparted/cs/geom.c (ped_geometry_read): Likewise. * libparted/fs/amiga/apfs.c (_generic_apfs_probe): Likewise. * libparted/fs/ext2/ext2_mkfs.c (ext2_mkfs_write_meta): Likewise. * libparted/disk.c: Likewise. * libparted/fs/hfs/hfs.c: Likewise. * libparted/fs/fat/fat.c: Likewise. * libparted/fs/fat/clstdup.c: Likewise. * libparted/fs/fat/calc.c: Likewise. * libparted/fs/ext2/ext2.c: Likewise. * libparted/fs/amiga/affs.c: Likewise. * libparted/fs/amiga/asfs.c: Likewise. * libparted/labels/aix.c: Likewise. * libparted/labels/sun.c: Likewise. * libparted/labels/pc98.c: Likewise. * libparted/labels/mac.c: Likewise. * libparted/labels/dos.c: Likewise. * libparted/labels/loop.c (loop_alloc): Likewise. * libparted/labels/gpt.c: Likewise. * libparted/labels/dvh.c (dvh_alloc): Likewise. (dvh_read) [!DISCOVER_ONLY]: Add "default:" in a switch. * libparted/labels/fdasd.c (fdasd_reread_partition_table): Remove decl of unused local(s). (fdasd_get_partition_data): Likewise. (fdasd_partition_type): Remove unused function. (fdasd_write_vtoc_labels): Likewise. (fdasd_change_volser): Likewise. (fdasd_check_volser): Likewise. (fdasd_reread_partition_table): Likewise. * libparted/labels/rdb.c (amiga_read): Remove decl of unused local(s). * libparted/labels/bsd.c (bsd_partition_new): Remove unused label. * libparted/labels/dasd.c: Remove unused labels and declarations of unused variables. 2007-02-16 Debarshi Ray Fix the style of typedef, enum, struct and __attribute__ ((packed)). 2007-02-15 Debarshi Ray Deprecating ped_[register|unregister]_disk_type in favour of ped_disk_type_[register|unregister]. 2007-02-14 Jim Meyering Use lighter-weight fputs and putchar in place of printf, when possible. * parted/ui.c (wipe_line, _dump_history, reset_env): (sigsegv_handler, sigfpe_handler, sigill_handler, _readline): (help_msg, interactive_mode, non_interactive_mode): Use puts, fputs, and putchar in place of printf, when possible. (reset_env): Correct misleading indentation. (wipe_line): Split a long string. Make it so "make distcheck" passes. * doc/po4a.mk (updatepo): Don't choke when *.$(lang).po matches no file. * doc/C/Makefile.am (updatepo): Don't do anything when $(srcdir) is not writable. 2007-02-14 Debarshi Ray Fixed the copyright notices. Cleaned up the formatting of AUTHORS. Tidying up the formatting and comments in linux_swap.c. 2007-02-13 Jim Meyering Don't define _GNU_SOURCE manually. It's better not to define _GNU_SOURCE manually. By using AC_GNU_SOURCE, you get the definition in exactly one place: in config.h. I verified that each affected file also includes config.h. Don't define _GNU_SOURCE manually. * configure.ac: Use AC_GNU_SOURCE instead. * libparted/arch/gnu.c: Remove definition of _GNU_SOURCE. * libparted/arch/linux.c: Likewise. * libparted/device.c: Likewise. * parted/table.c: Likewise. * parted/table.h: Likewise. Remove some #ifdefs Remove some #ifdefs. * parted/table.c (L_): define. Remove in-function #ifdefs; use L_(str) instead. * libparted/labels/fdasd.c (GETARG): Remove unused definition. A tiny change... 2007-02-13 Otavio Salvador Create 'm4' directory when generating the building system 2007-02-13 Jim Meyering Work with automake-1.10. I've just tried building parted from scratch (running ./autogen.sh after git-clone) and hit a couple of snags: Without aclocal's -I m4, ./autogen.sh produced this: configure.ac:192: warning: macro `AM_GNU_GETTEXT_VERSION' not found in library configure.ac:193: warning: macro `AM_GNU_GETTEXT' not found in library configure.ac:192: error: possibly undefined macro: AM_GNU_GETTEXT_VERSION If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. With automake-1.10, I got this: parted/Makefile.am:5: compiling `command.c' with per-target flags requires `AM_PROG_CC_C_O' in `configure.ac' Here's a patch that fixes those and also removes some trailing blanks. Compile warning-free with "gcc -Wall -Wshadow". Hello, I find that keeping code warning-free (wrt gcc -Wall -Wshadow) makes it easier to avoid certain classes of bugs. Compiling with gcc -Wall -Wshadow evoked a few warnings on a Debian/unstable system. Here are patches to fix those: * libparted/exception.c (default_handler): Rename parameter "ex" to "e", to avoid shadowing file-scoped global. * libparted/fs/linux_swap/linux_swap.c (_generic_swap_probe): Add a "can't happen" (with current callers) "default: goto error" clause in a switch to avoid a may-be-used-uninitialized warning. (_generic_swap_clobber): Likewise. * libparted/fs/hfs/reloc_plus.c (hfsplus_pack_free_space_from_block): Rename local variable "div" to "divisor", to avoid shadowing the function in . * libparted/fs/hfs/reloc.c (hfs_pack_free_space_from_block): Likewise. * libparted/fs/hfs/cache.c (hfsc_cache_add_extent): Rename parameter "index" to "ref_index" to avoid shadowing the function. * libparted/labels/sun.c (sun_partition_enumerate): Rename local variable "i" to "j", to avoid shadowing another local. configure.ac: Add LOCALEDIR definition to CFLAGS only once. I noticed that there were two identical lines in configure.ac, adding the same LOCALEDIR definition to CFLAGS. This change removes the latter. * configure.ac: Add LOCALEDIR definition to CFLAGS only once. 2007-02-12 Riccardo Setti Added a pkgconfig file for libparted, adjusted Makefile.am and configure.ac for reflect the canges modified: Makefile.am modified: configure.ac new file: libparted.pc.in 2007-01-30 Debarshi Ray Renaming PARTITION_EXT to PARTITION_DOS_EXT in MSDOS disk-label code, to maintain similarity with Linux v2.6.18.2 2007-01-17 Debarshi Ray Enable support for swsusp partitions, and the ability to differentiate between old and new versions of linux-swap partitions. Changed the swap_init signature and removed extra ped_geometry_read from _swap*_open. 2007-01-16 Debarshi Ray Synchronize the linux-swap (new version) header according to the Linux kernel sources. cb6ca73be06f360308e6a2fccb7142ed8175af29 continued. Add stdint.h stdlib.h & string.h to include/parted/parted.h and remove them from other files. 2007-01-14 Debarshi Ray Synchronise manual page and --help documentation. 2007-01-12 David Cantrell Updated i18n information. Add ped_device_cache_remove() prototype. (cherry picked from commit cb53b87ab2f779633f152f478c7f8c99c2fd1817) Only call _disk_warn_loss(disk) in do_mklabel() if disk is not NULL. Fixes a segfault when initializing new volumes. (cherry picked from commit 70e3bf5e7818df49a11e203ac8519e037818d592) Fix a segfault in ped_assert() where the wrong pointer is freed in the backtrace. (cherry picked from commit 63f7b33b352d0d699efeb1095340ed6139c49e3b) Add the ped_device_cache_remove() function to remove a device from the cache. (cherry picked from commit 5fb6658d124050a9dc27a87f2e1c3ffd3d1ad7c0) Updated the AUTHORS file. (cherry picked from commit 7ab32d423cc43a5e9372a7dc000feb183db9a89a) 2007-01-12 Debarshi Ray Rectify segmentation fault caused by 9e05418de3477666b0709f5d1996149febd33100 Update doc/C/parted.8 to document --list. 2007-01-06 Otavio Salvador parted/parted.c: Destroy all objects before return when called with --list or --all option. 2007-01-05 Anant Narayanan Dump readline history on crash 2006-12-14 Anant Narayanan Loosen requirement for the 'check' library. 2006-12-14 Debarshi Ray Update AUTHORS. 2006-12-13 Leslie P. Polzer added scripts/update-po 2006-12-13 David Cantrell Merge branches 'master' and 'master' of git+ssh://dcantrell-guest@git.debian.org/git/parted/parted 2006-12-11 Leslie P. Polzer Updated translations. 2006-12-11 Debarshi Ray Alias 'print list' with 'print all'. 2006-12-11 Otavio Salvador Include a disk probing test If CHECK is installed on configure time, build our unittest framework Add CHECK unittext library detection to Autoconf script 2006-12-09 Leslie P. Polzer Release script: cannot call "return" from top level; replaced with "exit". 2006-12-08 Debarshi Ray Zero sized device is shown as 0.00B and not -0.00kB. 2006-12-07 Otavio Salvador libparted/exception.c: Dynamically allow space of exception message. Output a backtrace when catching SEGV_MAPERR or a general SIGSEGV signals. 2006-12-06 Debarshi Ray Implement 'print devices'. 2006-12-06 Benno Schulenberg Translate the copyright message, and hard wrap it 2006-12-05 Otavio Salvador libparted/disk.c: Standarize the way we walk throught the disk types overall the code Revert "Add check unittest support and a initial test for a resizing bug." This code wasn't ready for commit yet. This reverts commit ba43cb6ff7bb1d945062e25b94efecb1b84c0c33. parted/parted.c: Remove useless line break 2006-12-05 Otavio Salvador Add check unittest support and a initial test for a resizing bug. 2006-12-04 David Cantrell Fix the upload script to correctly reference the sig files. Remove ChangeLog, doc/mdate-sh, and doc/texinfo.tex since they are unmanaged files and get generated automatically at release time. Generate ChangeLog before running the autogen tools because we need a file called 'ChangeLog' to exist when running those tools. Pass git changelog through 'fold -s' to wrap long lines. Added the --enable-selinux switch to the configure script. If set, it adds -lselinux and -lsepol to the list of libraries to link libparted with. Bumped the version number to 1.9.9 since this is the edge branch. Rename all old ChangeLog files to ChangeLog.0. Added code to the tarball_upload.sh script to generate a toplevel ChangeLog from the git changelog. 2006-12-02 Leslie P. Polzer Updated URL of static parted in docs. 2006-12-02 Anant Narayanan Make parted ignore '-i' option instead of failing Support machine parseable output. 2006-11-30 Debarshi Ray Cleanup _partition_warn_busy, _disk_warn_busy, _partition_warn_loss and _disk_warn_loss. 2006-11-29 Otavio Salvador Proper print when there're no extended partitions, but partition names (patch from Sven Luther) 2006-11-28 Otavio Salvador libparted/arch/linux.c: initialize task point to please GCC Don't enforce libselinux and libsepol linking when using device-mapper support 2006-11-28 Debarshi Ray Warn before mklabel and mkfs. Make mktable aliased to mklabel. 2006-11-28 Otavio Salvador Fix 'print' command help 'print' command help was missing a new line at end and then breaking the help printing. 2006-11-27 Leslie P. Polzer Updated translations. 2006-11-27 Otavio Salvador Remove doc/mdate-sh and doc/texinfo.tex since they are included when we run autogen.sh 2006-11-23 Anant Narayanan Introduce the -list command-line switch, patch by Debarshi Ray 2006-11-22 Otavio Salvador Avoid warning about user permissions when using --version parted/parted.c: Remove redeclaration of current_dev fixing a compilation error Readd the 'return 0;' to please GCC The commit d000de8f062ce070d5310f164ebf4f5ed26fcad0 included a compilation warning that makes sense when Parted is built without debugging. To solve the warning and ensure that when running without debugging we return a sinsible value I've reverted d000de8f062ce070d5310f164ebf4f5ed26fcad0 change and added a nice comment to avoid misunderstandings again. 2006-11-22 Anant Fix loop in print_all, thanks to Debarshi Ray for the patch. 2006-11-21 Otavio Salvador Remove useless 'return 0;' call Since PED_ASSERT will always be run, the return 0 is useless, hence removed. Remove useless semicolon from PED_ASSERT calls 2006-11-20 David Cantrell Generate SHA-1 digests of the archive files and upload those along with the actual archive files. 2006-11-20 Otavio Salvador Rework backtrace support While doing a deeply check about the backtrace support I found that -rdynamic is useless on CFLAGS and my previous change was wrong since it wasn't avoiding -rdynamic on LFLAGS if the running system missed the execinfo.h support. That would probably cause a build error on some systems. 2006-11-17 David Cantrell Final changes for parted-1.8.0 git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@896 2d424fd7-7fe2-0310-af74-8bc65edeb173 2006-11-11 Otavio Salvador Apply changes done on Darcs and suitable for release on 1.8 final: Sat Nov 11 18:09:17 BRST 2006 Otavio Salvador * Enable backtrace just if it's has support on libc. Sat Nov 11 17:41:12 BRST 2006 Otavio Salvador * Add -rdynamic to LDFLAGS. Sat Nov 11 17:40:19 BRST 2006 Otavio Salvador * Add -rdynamic to CFLAGS Sat Nov 11 17:38:11 BRST 2006 Otavio Salvador * Print backtrace stack when throwing an exception git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@895 2d424fd7-7fe2-0310-af74-8bc65edeb173 Remove files that can be generated. git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@894 2d424fd7-7fe2-0310-af74-8bc65edeb173 Changes done on darcs repository suitable for 1.8 release: Sat Nov 11 10:41:54 BRST 2006 Otavio Salvador * Break lines bigger then 80 columns. Sat Nov 11 02:02:26 BRST 2006 Otavio Salvador * Fix autogen.sh script to call autopoint with -f git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@892 2d424fd7-7fe2-0310-af74-8bc65edeb173 Changes done on darcs repository suitable for 1.8 release: Fri Nov 10 23:19:15 BRST 2006 Otavio Salvador * Code clean-up on registering and unregistering of disks * libparted/disk.c (ped_register_disk_type, ped_unregister_disk_type): Clean-up. Patch sent by Debarshi 'Rishi' Ray . Fri Nov 10 23:14:58 BRST 2006 Otavio Salvador * Fix filesystem unregistering * libparted/filesys.c (ped_file_system_type_unregister): Handle instances where fs_types == NULL and the given fs_type is not in the list of registered file-system types. Some code clean-up. Patch sent by Debarshi 'Rishi' Ray . git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@891 2d424fd7-7fe2-0310-af74-8bc65edeb173 2006-11-10 Otavio Salvador Changes done on darcs repository suitable for 1.8 release: Wed Nov 8 20:40:43 BRST 2006 Otavio Salvador * Merge libparted/ChangeLog conflict caused by Subversion syncing Wed Nov 8 21:15:58 BRST 2006 Otavio Salvador * doc/C/parted.8: small documentation simplification Wed Nov 8 20:09:03 BRST 2006 Otavio Salvador * libparted/fs/hfs/probe.c: Fix a segmentation fault when running without debug git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@890 2d424fd7-7fe2-0310-af74-8bc65edeb173 2006-11-06 David Cantrell Updates for parted-1.8.0rc3 git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@882 2d424fd7-7fe2-0310-af74-8bc65edeb173 * arch/linux.c: Define PROC_DEVICES_BUFSIZ for reading /proc/devices, set to 16384. git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@881 2d424fd7-7fe2-0310-af74-8bc65edeb173 2006-11-03 David Cantrell * labels/mac.c (_rawpart_is_boot): Check for Apple_Boot type. * labels/mac.c (_rawpart_analyse): Don't check the data_region_length against the part->geom.length for boot partitions. git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@880 2d424fd7-7fe2-0310-af74-8bc65edeb173 2006-10-31 David Cantrell 2048 -> 1024 git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@871 2d424fd7-7fe2-0310-af74-8bc65edeb173 * device.c (canonicalize_file_name): calloc should use sizeof(char) instead of 1 (from Debarshi Ray). * arch/linux.c (readFD): Use a 1KB buffer to read /proc/devices rather than a 16KB buffer. Init filesize to zero at declaration. Combine error and EOF check for read() loop. Memory cleanups at function exit. Use malloc() instead of calloc() (from Debarshi Ray). * arch/linux.c (_is_dm_major): Test expression and loop cleanups (from Debarshi Ray). git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@870 2d424fd7-7fe2-0310-af74-8bc65edeb173 * parted.c (do_print): Add device-mapper type to the transport type list (from Debarshi Ray). git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@869 2d424fd7-7fe2-0310-af74-8bc65edeb173 2006-10-26 David Cantrell * arch/linux.c: Go to error_free_arch_specific rather than error_free_dev for init_generic() failure on PED_DEVICE_UBD. git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@866 2d424fd7-7fe2-0310-af74-8bc65edeb173 Line length fixes. git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@865 2d424fd7-7fe2-0310-af74-8bc65edeb173 2006-10-11 David Cantrell Need the filename: directive as well. git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@858 2d424fd7-7fe2-0310-af74-8bc65edeb173 Set directive file version to 1.1. git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@855 2d424fd7-7fe2-0310-af74-8bc65edeb173 Conditionalize the device-mapper stuff. git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@852 2d424fd7-7fe2-0310-af74-8bc65edeb173 i18n updates. git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@850 2d424fd7-7fe2-0310-af74-8bc65edeb173 Bump version. git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@849 2d424fd7-7fe2-0310-af74-8bc65edeb173 Updates for 1.8.0rc2 release. git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@848 2d424fd7-7fe2-0310-af74-8bc65edeb173 Added /dev/mapper device support (patch from Peter Jones). git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@847 2d424fd7-7fe2-0310-af74-8bc65edeb173 2006-10-09 David Cantrell * cs/geom.c (ped_geometry_read): Do not throw PED_EXCEPTION_ERROR here if accessing sectors outside of partition boundary. Returning false causes ped_geometry_check() to shift correctly anyway. This occurs on current Mac disklabels, among other systems. git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@845 2d424fd7-7fe2-0310-af74-8bc65edeb173 * disk.c (ped_unregister_disk_type): Handle instances where disk_types == NULL and the given type is not in the list of registered disk types (from Debarshi Ray). git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@844 2d424fd7-7fe2-0310-af74-8bc65edeb173 * parted.c (do_print): Define transport type list and display disk model type and transport type (from Debarshi Ray). git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@843 2d424fd7-7fe2-0310-af74-8bc65edeb173 Forgot changelog notice. git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@842 2d424fd7-7fe2-0310-af74-8bc65edeb173 Updated i18n files. git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@841 2d424fd7-7fe2-0310-af74-8bc65edeb173 2006-10-06 David Cantrell * arch/linux.c: Change __GNU_SOURCE define to _GNU_SOURCE (only one underscore at the beginning). Fixes problem with certain systems not getting posix_memalign() defined during compilation. git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@840 2d424fd7-7fe2-0310-af74-8bc65edeb173 * scripts/release/tarball_upload.sh: Since v1.0 directive files will no longer be supported by ftp-upload.gnu.org after 2006, modified the upload script to use the v1.1 format. git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@839 2d424fd7-7fe2-0310-af74-8bc65edeb173 * scripts/release/tarball_upload.sh: Support the -a (or --alpha) switch on the tarball upload script. This switch will upload the release to alpha.gnu.org rather than ftp.gnu.org. git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@838 2d424fd7-7fe2-0310-af74-8bc65edeb173 2006-09-15 David Cantrell Fix execution of autogen.sh and configure. git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@836 2d424fd7-7fe2-0310-af74-8bc65edeb173 These (upx and statifier) are not called from anywhere. git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@835 2d424fd7-7fe2-0310-af74-8bc65edeb173 Updated for parted-1.8.0rc1. git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@834 2d424fd7-7fe2-0310-af74-8bc65edeb173 * doc/po4a.mk: Removed fake* stuff. Fixed all-local target so you don't end up in an infinite make loop trying to make '*'. Fixed the remove target as well. git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@833 2d424fd7-7fe2-0310-af74-8bc65edeb173 Tabs for the updatepo target. git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@832 2d424fd7-7fe2-0310-af74-8bc65edeb173 Add vtoc.h and fdasd.h to the list. git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@831 2d424fd7-7fe2-0310-af74-8bc65edeb173 Removed the extra double quote at the end of line 6 in partprobe.8.pt_BR.po. Other updates for i18n. git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@830 2d424fd7-7fe2-0310-af74-8bc65edeb173 Added a script to clean the tree after running 'make distclean'. Gets it back to the checked-out state from svn. git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@829 2d424fd7-7fe2-0310-af74-8bc65edeb173 i18n updates for parted-1.8.0. git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@828 2d424fd7-7fe2-0310-af74-8bc65edeb173 Removed *.h files from the Makefile. git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@827 2d424fd7-7fe2-0310-af74-8bc65edeb173 i18n updates for parted-1.8.0. git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@826 2d424fd7-7fe2-0310-af74-8bc65edeb173 Removed from version control. git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@825 2d424fd7-7fe2-0310-af74-8bc65edeb173 i18n updates for parted-1.8.0. git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@824 2d424fd7-7fe2-0310-af74-8bc65edeb173 Removed from version control. git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@823 2d424fd7-7fe2-0310-af74-8bc65edeb173 Updated for version 1.8.0rc1. git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@822 2d424fd7-7fe2-0310-af74-8bc65edeb173 2006-09-14 David Cantrell * labels/mac.c (mac_partition_new): memset() inits everything to zero, no need to do it manually. * labels/mac.c (mac_partition_set_flag): Prevent LVM and RAID partition types from corrupting the partition table. * arch/linux.c (_blkpg_add_partition): Set linux_part.length based on whether or not this partition is PED_PARTITION_EXTENDED or not. * arch/linux.c (_disk_sync_part_table): Remove the check and continue for PED_PARTITION_EXTENDED types. git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@821 2d424fd7-7fe2-0310-af74-8bc65edeb173 2006-09-14 Anant Narayanan Fix ChangeLog git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@820 2d424fd7-7fe2-0310-af74-8bc65edeb173 parted-2.3/partprobe/0000755000000000000000000000000011400006132011565 500000000000000parted-2.3/partprobe/Makefile.am0000644000000000000000000000061311261072715013560 00000000000000partedincludedir = -I$(top_srcdir)/lib -I$(top_srcdir)/include AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) sbin_PROGRAMS = partprobe partprobe_SOURCES = partprobe.c partprobe_LDADD = \ $(top_builddir)/libparted/libparted.la \ $(INTLLIBS) $(LIBS) \ $(PARTED_LIBS) partprobe_LDFLAGS = $(PARTEDLDFLAGS) INCLUDES = $(partedincludedir) $(INTLINCS) MAINTAINERCLEANFILES = Makefile.in parted-2.3/partprobe/partprobe.c0000644000000000000000000001170711370314006013665 00000000000000/* partprobe - informs the OS kernel of partition layout Copyright (C) 2001-2002, 2007-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* it's best to compile this with: * * CFLAGS=-Os ./configure --disable-nls --disable-shared --disable-debug * --enable-discover-only * * And strip(1) afterwards! */ #include #include #include #include #include #include "closeout.h" #include "configmake.h" #include "progname.h" #include "version-etc.h" #include #include "gettext.h" #if ! ENABLE_NLS # undef textdomain # define textdomain(Domainname) /* empty */ # undef bindtextdomain # define bindtextdomain(Domainname, Dirname) /* empty */ #endif #undef _ #define _(msgid) gettext (msgid) #define AUTHORS \ "" /* The official name of this program (e.g., no `g' prefix). */ #define PROGRAM_NAME "partprobe" static struct option const long_options[] = { /* Note: the --no-update option is deprecated, and deliberately * not documented. FIXME: remove --no-update in 2009. */ {"no-update", no_argument, NULL, 'd'}, {"dry-run", no_argument, NULL, 'd'}, {"summary", no_argument, NULL, 's'}, {"help", no_argument, NULL, 'h'}, {"version", no_argument, NULL, 'v'}, {NULL, 0, NULL, 0} }; /* initialized to 0 according to the language lawyers */ static int opt_no_inform; static int opt_summary; static void summary (PedDisk* disk) { PedPartition* walk; printf ("%s: %s partitions", disk->dev->path, disk->type->name); for (walk = disk->part_list; walk; walk = walk->next) { if (!ped_partition_is_active (walk)) continue; printf (" %d", walk->num); if (walk->type & PED_PARTITION_EXTENDED) { PedPartition* log_walk; int is_first = 1; printf (" <"); for (log_walk = walk->part_list; log_walk; log_walk = log_walk->next) { if (!ped_partition_is_active (log_walk)) continue; if (!is_first) printf (" "); printf ("%d", log_walk->num); is_first = 0; } printf (">"); } } printf ("\n"); } static int process_dev (PedDevice* dev) { PedDiskType* disk_type; PedDisk* disk; disk_type = ped_disk_probe (dev); if (!disk_type || !strcmp (disk_type->name, "loop")) return 1; disk = ped_disk_new (dev); if (!disk) goto error; if (!opt_no_inform) { if (!ped_disk_commit_to_os (disk)) goto error_destroy_disk; } if (opt_summary) summary (disk); ped_disk_destroy (disk); return 1; error_destroy_disk: ped_disk_destroy (disk); error: return 0; } static void usage (int status) { if (status != EXIT_SUCCESS) fprintf (stderr, _("Try `%s --help' for more information.\n"), program_name); else { printf (_("Usage: %s [OPTION] [DEVICE]...\n"), PROGRAM_NAME); fputs (_("\ Inform the operating system about partition table changes.\n\ \n\ -d, --dry-run do not actually inform the operating system\n\ -s, --summary print a summary of contents\n\ -h, --help display this help and exit\n\ -v, --version output version information and exit\n\ "), stdout); fputs (_("\ \n\ When no DEVICE is given, probe all partitions.\n\ "), stdout); printf (_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT); } exit (status); } int main (int argc, char* argv[]) { int status = 0; set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); int c; while ((c = getopt_long (argc, argv, "dhsv", long_options, NULL)) != -1) switch (c) { case 'd': opt_no_inform = 1; break; case 's': opt_summary = 1; break; case 'h': usage (EXIT_SUCCESS); break; case 'v': version_etc (stdout, PROGRAM_NAME, PACKAGE_NAME, VERSION, AUTHORS, (char *) NULL); exit (EXIT_SUCCESS); break; default: usage (EXIT_FAILURE); } int n_dev = argc - optind; if (n_dev != 0) { int i; for (i = optind; i < argc; i++) { PedDevice *dev = ped_device_get (argv[i]); if (dev == NULL || process_dev (dev) == 0) status = 1; } } else { ped_device_probe_all (); PedDevice *dev; for (dev = ped_device_get_next (NULL); dev; dev = ped_device_get_next (dev)) if (process_dev (dev) == 0) status = 1; } return status; } parted-2.3/partprobe/Makefile.in0000644000000000000000000012062411400005575013571 00000000000000# Makefile.in generated by automake 1.11a from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ sbin_PROGRAMS = partprobe$(EXEEXT) subdir = partprobe DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \ $(top_srcdir)/m4/asm-underscore.m4 $(top_srcdir)/m4/assert.m4 \ $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/calloc.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \ $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/dirname.m4 \ $(top_srcdir)/m4/dos.m4 $(top_srcdir)/m4/double-slash-root.m4 \ $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/extensions.m4 \ $(top_srcdir)/m4/fclose.m4 $(top_srcdir)/m4/fcntl-o.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fpending.m4 \ $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getopt.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \ $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/lib-ignore.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \ $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \ $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/long-options.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \ $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/memchr.m4 \ $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \ $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/o-direct.m4 $(top_srcdir)/m4/open.m4 \ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \ $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/readlink.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/safe-read.m4 \ $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \ $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/symlink.m4 \ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \ $(top_srcdir)/m4/version-etc.m4 \ $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \ $(top_srcdir)/m4/wctype_h.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xstrndup.m4 \ $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/lib/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(sbindir)" PROGRAMS = $(sbin_PROGRAMS) am_partprobe_OBJECTS = partprobe.$(OBJEXT) partprobe_OBJECTS = $(am_partprobe_OBJECTS) am__DEPENDENCIES_1 = partprobe_DEPENDENCIES = $(top_builddir)/libparted/libparted.la \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) AM_V_lt = $(am__v_lt_$(V)) am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) am__v_lt_0 = --silent partprobe_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(partprobe_LDFLAGS) $(LDFLAGS) -o $@ DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/lib depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_$(V)) am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) am__v_CC_0 = @echo " CC " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_$(V)) am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) am__v_CCLD_0 = @echo " CCLD " $@; AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; SOURCES = $(partprobe_SOURCES) DIST_SOURCES = $(partprobe_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ BUILDINFO = @BUILDINFO@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ CONFIG_INCLUDE = @CONFIG_INCLUDE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DL_LIBS = @DL_LIBS@ DM_LIBS = @DM_LIBS@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENABLE_DEVICE_MAPPER = @ENABLE_DEVICE_MAPPER@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPURGE = @GNULIB_FPURGE@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSTATAT = @GNULIB_FSTATAT@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETGROUPS = @GNULIB_GETGROUPS@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMCHR = @GNULIB_MEMCHR@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDIRAT = @GNULIB_MKDIRAT@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKFIFO = @GNULIB_MKFIFO@ GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@ GNULIB_MKNOD = @GNULIB_MKNOD@ GNULIB_MKNODAT = @GNULIB_MKNODAT@ GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PTSNAME = @GNULIB_PTSNAME@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ GNULIB_RMDIR = @GNULIB_RMDIR@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STAT = @GNULIB_STAT@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNCAT = @GNULIB_STRNCAT@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRPTIME = @GNULIB_STRPTIME@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNLINK = @GNULIB_UNLINK@ GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_USLEEP = @GNULIB_USLEEP@ GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_FUTIMENS = @HAVE_FUTIMENS@ HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETGROUPS = @HAVE_GETGROUPS@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@ HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@ HAVE_LANGINFO_H = @HAVE_LANGINFO_H@ HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LCHOWN = @HAVE_LCHOWN@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LOCALTIME_R = @HAVE_LOCALTIME_R@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_MKFIFO = @HAVE_MKFIFO@ HAVE_MKFIFOAT = @HAVE_MKFIFOAT@ HAVE_MKNOD = @HAVE_MKNOD@ HAVE_MKNODAT = @HAVE_MKNODAT@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ HAVE_OS_H = @HAVE_OS_H@ HAVE_PIPE2 = @HAVE_PIPE2@ HAVE_PREAD = @HAVE_PREAD@ HAVE_PTSNAME = @HAVE_PTSNAME@ HAVE_PWRITE = @HAVE_PWRITE@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TTYNAME_R = @HAVE_TTYNAME_R@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_USLEEP = @HAVE_USLEEP@ HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ HAVE_WCRTOMB = @HAVE_WCRTOMB@ HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE__BOOL = @HAVE__BOOL@ IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ INTLINCS = @INTLINCS@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ LIBTOOL = @LIBTOOL@ LIB_BLKID = @LIB_BLKID@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@ LOCALE_JA = @LOCALE_JA@ LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTALLOCA = @LTALLOCA@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ NEXT_WCTYPE_H = @NEXT_WCTYPE_H@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OS = @OS@ OS_LIBS = @OS_LIBS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PARTEDLDFLAGS = @PARTEDLDFLAGS@ PARTED_LIBS = @PARTED_LIBS@ PARTED_USABLE_TEST_DIR = @PARTED_USABLE_TEST_DIR@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POSUB = @POSUB@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PRIPTR_PREFIX = @PRIPTR_PREFIX@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REISER_LIBS = @REISER_LIBS@ REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FSTAT = @REPLACE_FSTAT@ REPLACE_FSTATAT = @REPLACE_FSTATAT@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ REPLACE_MBRLEN = @REPLACE_MBRLEN@ REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ REPLACE_MBSINIT = @REPLACE_MBSINIT@ REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_OPENAT = @REPLACE_OPENAT@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALPATH = @REPLACE_REALPATH@ REPLACE_REMOVE = @REPLACE_REMOVE@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRNCAT = @REPLACE_STRNCAT@ REPLACE_STRNDUP = @REPLACE_STRNDUP@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ REPLACE_UNSETENV = @REPLACE_UNSETENV@ REPLACE_USLEEP = @REPLACE_USLEEP@ REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ SELINUX_LIBS = @SELINUX_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_NLS = @USE_NLS@ UUID_LIBS = @UUID_LIBS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_aux_dir = @abs_aux_dir@ 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@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ gltests_WITNESS = @gltests_WITNESS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ partedincludedir = -I$(top_srcdir)/lib -I$(top_srcdir)/include AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) partprobe_SOURCES = partprobe.c partprobe_LDADD = \ $(top_builddir)/libparted/libparted.la \ $(INTLLIBS) $(LIBS) \ $(PARTED_LIBS) partprobe_LDFLAGS = $(PARTEDLDFLAGS) INCLUDES = $(partedincludedir) $(INTLINCS) MAINTAINERCLEANFILES = Makefile.in all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu partprobe/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu partprobe/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-sbinPROGRAMS: $(sbin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(sbindir)" || $(MKDIR_P) "$(DESTDIR)$(sbindir)" @list='$(sbin_PROGRAMS)'; test -n "$(sbindir)" || list=; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p || test -f $$p1; \ then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(sbindir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(sbindir)$$dir" || exit $$?; \ } \ ; done uninstall-sbinPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(sbin_PROGRAMS)'; test -n "$(sbindir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(sbindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(sbindir)" && rm -f $$files clean-sbinPROGRAMS: @list='$(sbin_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list partprobe$(EXEEXT): $(partprobe_OBJECTS) $(partprobe_DEPENDENCIES) @rm -f partprobe$(EXEEXT) $(AM_V_CCLD)$(partprobe_LINK) $(partprobe_OBJECTS) $(partprobe_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/partprobe.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: $(HEADERS) $(SOURCES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) installdirs: for dir in "$(DESTDIR)$(sbindir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(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 mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool clean-sbinPROGRAMS \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-sbinPROGRAMS install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-sbinPROGRAMS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-sbinPROGRAMS cscopelist ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-sbinPROGRAMS install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am uninstall-sbinPROGRAMS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: parted-2.3/libparted.pc.in0000644000000000000000000000034611370314006012421 00000000000000prefix=@prefix@ exec_prefix=@exec_prefix@ libdir=@libdir@ includedir=@includedir@ Name: libparted Description: The GNU Parted disk partitioning shared library Version: @VERSION@ Libs: -L${libdir} -lparted Cflags: -I${includedir} parted-2.3/ABOUT-NLS0000644000000000000000000027215511400002041010745 000000000000001 Notes on the Free Translation Project *************************************** Free software is going international! The Free Translation Project is a way to get maintainers of free software, translators, and users all together, so that free software will gradually become able to speak many languages. A few packages already provide translations for their messages. If you found this `ABOUT-NLS' file inside a distribution, you may assume that the distributed package does use GNU `gettext' internally, itself available at your nearest GNU archive site. But you do _not_ need to install GNU `gettext' prior to configuring, installing or using this package with messages translated. Installers will find here some useful hints. These notes also explain how users should proceed for getting the programs to use the available translations. They tell how people wanting to contribute and work on translations can contact the appropriate team. When reporting bugs in the `intl/' directory or bugs which may be related to internationalization, you should tell about the version of `gettext' which is used. The information can be found in the `intl/VERSION' file, in internationalized packages. 1.1 Quick configuration advice ============================== If you want to exploit the full power of internationalization, you should configure it using ./configure --with-included-gettext to force usage of internationalizing routines provided within this package, despite the existence of internationalizing capabilities in the operating system where this package is being installed. So far, only the `gettext' implementation in the GNU C library version 2 provides as many features (such as locale alias, message inheritance, automatic charset conversion or plural form handling) as the implementation here. It is also not possible to offer this additional functionality on top of a `catgets' implementation. Future versions of GNU `gettext' will very likely convey even more functionality. So it might be a good idea to change to GNU `gettext' as soon as possible. So you need _not_ provide this option if you are using GNU libc 2 or you have installed a recent copy of the GNU gettext package with the included `libintl'. 1.2 INSTALL Matters =================== Some packages are "localizable" when properly installed; the programs they contain can be made to speak your own native language. Most such packages use GNU `gettext'. Other packages have their own ways to internationalization, predating GNU `gettext'. By default, this package will be installed to allow translation of messages. It will automatically detect whether the system already provides the GNU `gettext' functions. If not, the included GNU `gettext' library will be used. This library is wholly contained within this package, usually in the `intl/' subdirectory, so prior installation of the GNU `gettext' package is _not_ required. Installers may use special options at configuration time for changing the default behaviour. The commands: ./configure --with-included-gettext ./configure --disable-nls will, respectively, bypass any pre-existing `gettext' to use the internationalizing routines provided within this package, or else, _totally_ disable translation of messages. When you already have GNU `gettext' installed on your system and run configure without an option for your new package, `configure' will probably detect the previously built and installed `libintl.a' file and will decide to use this. This might not be desirable. You should use the more recent version of the GNU `gettext' library. I.e. if the file `intl/VERSION' shows that the library which comes with this package is more recent, you should use ./configure --with-included-gettext to prevent auto-detection. The configuration process will not test for the `catgets' function and therefore it will not be used. The reason is that even an emulation of `gettext' on top of `catgets' could not provide all the extensions of the GNU `gettext' library. Internationalized packages usually have many `po/LL.po' files, where LL gives an ISO 639 two-letter code identifying the language. Unless translations have been forbidden at `configure' time by using the `--disable-nls' switch, all available translations are installed together with the package. However, the environment variable `LINGUAS' may be set, prior to configuration, to limit the installed set. `LINGUAS' should then contain a space separated list of two-letter codes, stating which languages are allowed. 1.3 Using This Package ====================== As a user, if your language has been installed for this package, you only have to set the `LANG' environment variable to the appropriate `LL_CC' combination. If you happen to have the `LC_ALL' or some other `LC_xxx' environment variables set, you should unset them before setting `LANG', otherwise the setting of `LANG' will not have the desired effect. Here `LL' is an ISO 639 two-letter language code, and `CC' is an ISO 3166 two-letter country code. For example, let's suppose that you speak German and live in Germany. At the shell prompt, merely execute `setenv LANG de_DE' (in `csh'), `export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash'). This can be done from your `.login' or `.profile' file, once and for all. You might think that the country code specification is redundant. But in fact, some languages have dialects in different countries. For example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The country code serves to distinguish the dialects. The locale naming convention of `LL_CC', with `LL' denoting the language and `CC' denoting the country, is the one use on systems based on GNU libc. On other systems, some variations of this scheme are used, such as `LL' or `LL_CC.ENCODING'. You can get the list of locales supported by your system for your language by running the command `locale -a | grep '^LL''. Not all programs have translations for all languages. By default, an English message is shown in place of a nonexistent translation. If you understand other languages, you can set up a priority list of languages. This is done through a different environment variable, called `LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG' for the purpose of message handling, but you still need to have `LANG' set to the primary language; this is required by other parts of the system libraries. For example, some Swedish users who would rather read translations in German than English for when Swedish is not available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'. Special advice for Norwegian users: The language code for Norwegian bokma*l changed from `no' to `nb' recently (in 2003). During the transition period, while some message catalogs for this language are installed under `nb' and some older ones under `no', it's recommended for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and older translations are used. In the `LANGUAGE' environment variable, but not in the `LANG' environment variable, `LL_CC' combinations can be abbreviated as `LL' to denote the language's main dialect. For example, `de' is equivalent to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT' (Portuguese as spoken in Portugal) in this context. 1.4 Translating Teams ===================== For the Free Translation Project to be a success, we need interested people who like their own language and write it well, and who are also able to synergize with other translators speaking the same language. Each translation team has its own mailing list. The up-to-date list of teams can be found at the Free Translation Project's homepage, `http://translationproject.org/', in the "Teams" area. If you'd like to volunteer to _work_ at translating messages, you should become a member of the translating team for your own language. The subscribing address is _not_ the same as the list itself, it has `-request' appended. For example, speakers of Swedish can send a message to `sv-request@li.org', having this message body: subscribe Keep in mind that team members are expected to participate _actively_ in translations, or at solving translational difficulties, rather than merely lurking around. If your team does not exist yet and you want to start one, or if you are unsure about what to do or how to get started, please write to `coordinator@translationproject.org' to reach the coordinator for all translator teams. The English team is special. It works at improving and uniformizing the terminology in use. Proven linguistic skills are praised more than programming skills, here. 1.5 Available Packages ====================== Languages are not equally supported in all packages. The following matrix shows the current state of internationalization, as of May 2010. The matrix shows, in regard of each package, for which languages PO files have been submitted to translation coordination, with a translation percentage of at least 50%. Ready PO files af am ar as ast az be be@latin bg bn_IN bs ca crh +---------------------------------------------------+ a2ps | [] [] | aegis | | ant-phone | | anubis | | aspell | [] [] | bash | | bfd | | bibshelf | [] | binutils | | bison | | bison-runtime | [] | bluez-pin | [] [] | bombono-dvd | | buzztard | | cflow | | clisp | | coreutils | [] [] | cpio | | cppi | | cpplib | [] | cryptsetup | | dfarc | | dialog | [] [] | dico | | diffutils | [] | dink | | doodle | | e2fsprogs | [] | enscript | [] | exif | | fetchmail | [] | findutils | [] | flex | [] | freedink | | gas | | gawk | [] [] | gcal | [] | gcc | | gettext-examples | [] [] [] [] | gettext-runtime | [] [] [] | gettext-tools | [] [] | gip | [] | gjay | | gliv | [] | glunarclock | [] [] | gnubiff | | gnucash | [] | gnuedu | | gnulib | | gnunet | | gnunet-gtk | | gnutls | | gold | | gpe-aerial | | gpe-beam | | gpe-bluetooth | | gpe-calendar | | gpe-clock | [] | gpe-conf | | gpe-contacts | | gpe-edit | | gpe-filemanager | | gpe-go | | gpe-login | | gpe-ownerinfo | [] | gpe-package | | gpe-sketchbook | | gpe-su | [] | gpe-taskmanager | [] | gpe-timesheet | [] | gpe-today | [] | gpe-todo | | gphoto2 | | gprof | [] | gpsdrive | | gramadoir | | grep | | grub | [] [] | gsasl | | gss | | gst-plugins-bad | [] | gst-plugins-base | [] | gst-plugins-good | [] | gst-plugins-ugly | [] | gstreamer | [] [] [] | gtick | | gtkam | [] | gtkorphan | [] | gtkspell | [] [] [] | gutenprint | | hello | [] | help2man | | hylafax | | idutils | | indent | [] [] | iso_15924 | | iso_3166 | [] [] [] [] [] [] [] [] | iso_3166_2 | | iso_4217 | | iso_639 | [] [] [] [] [] | iso_639_3 | [] | jwhois | | kbd | | keytouch | [] | keytouch-editor | | keytouch-keyboa... | [] | klavaro | [] | latrine | | ld | [] | leafpad | [] [] | libc | [] [] | libexif | () | libextractor | | libgnutls | | libgpewidget | | libgpg-error | | libgphoto2 | | libgphoto2_port | | libgsasl | | libiconv | [] | libidn | | lifelines | | liferea | [] [] | lilypond | | linkdr | [] | lordsawar | | lprng | | lynx | [] | m4 | | mailfromd | | mailutils | | make | | man-db | | man-db-manpages | | minicom | | mkisofs | | myserver | | nano | [] [] | opcodes | | parted | | pies | | popt | | psmisc | | pspp | [] | pwdutils | | radius | [] | recode | [] [] | rosegarden | | rpm | | rush | | sarg | | screem | | scrollkeeper | [] [] [] | sed | [] [] | sharutils | [] [] | shishi | | skencil | | solfege | | solfege-manual | | soundtracker | | sp | | sysstat | | tar | [] | texinfo | | tin | | unicode-han-tra... | | unicode-transla... | | util-linux-ng | [] | vice | | vmm | | vorbis-tools | | wastesedge | | wdiff | | wget | [] [] | wyslij-po | | xchat | [] [] [] [] | xdg-user-dirs | [] [] [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] | +---------------------------------------------------+ af am ar as ast az be be@latin bg bn_IN bs ca crh 6 0 2 3 19 1 11 3 28 3 1 38 5 cs da de el en en_GB en_ZA eo es et eu fa fi +-------------------------------------------------+ a2ps | [] [] [] [] [] [] [] [] | aegis | [] [] [] | ant-phone | [] () | anubis | [] [] [] | aspell | [] [] [] [] [] | bash | [] [] [] [] | bfd | [] [] | bibshelf | [] [] [] [] | binutils | [] [] | bison | [] [] [] | bison-runtime | [] [] [] [] [] | bluez-pin | [] [] [] [] [] [] [] | bombono-dvd | [] [] | buzztard | [] [] [] | cflow | [] [] [] | clisp | [] [] [] [] | coreutils | [] [] [] [] | cpio | [] | cppi | [] | cpplib | [] [] [] | cryptsetup | [] | dfarc | [] [] [] [] | dialog | [] [] [] [] [] | dico | | diffutils | [] [] [] [] [] [] [] | dink | [] [] [] | doodle | [] | e2fsprogs | [] [] [] | enscript | [] [] [] | exif | () [] [] [] | fetchmail | [] [] () [] [] [] | findutils | [] [] [] [] | flex | [] [] [] | freedink | [] [] [] [] | gas | [] | gawk | [] [] [] | gcal | [] | gcc | [] [] | gettext-examples | [] [] [] [] [] | gettext-runtime | [] [] [] [] [] | gettext-tools | [] [] [] | gip | [] [] [] [] [] | gjay | [] [] | gliv | [] [] [] [] | glunarclock | [] [] [] | gnubiff | () | gnucash | [] () () () () () | gnuedu | [] [] | gnulib | [] [] [] | gnunet | | gnunet-gtk | [] | gnutls | [] [] | gold | [] [] | gpe-aerial | [] [] [] [] [] | gpe-beam | [] [] [] [] [] | gpe-bluetooth | [] [] [] | gpe-calendar | [] [] | gpe-clock | [] [] [] [] [] | gpe-conf | [] [] [] [] | gpe-contacts | [] [] [] [] | gpe-edit | [] [] [] | gpe-filemanager | [] [] [] [] | gpe-go | [] [] [] [] [] | gpe-login | [] [] [] | gpe-ownerinfo | [] [] [] [] [] | gpe-package | [] [] [] [] | gpe-sketchbook | [] [] [] [] [] | gpe-su | [] [] [] [] [] | gpe-taskmanager | [] [] [] [] [] | gpe-timesheet | [] [] [] [] [] | gpe-today | [] [] [] [] [] | gpe-todo | [] [] [] [] | gphoto2 | [] [] () [] [] [] [] | gprof | [] [] [] [] | gpsdrive | [] [] [] | gramadoir | [] [] [] | grep | [] [] | grub | [] [] [] | gsasl | [] [] | gss | [] | gst-plugins-bad | [] [] [] [] [] [] | gst-plugins-base | [] [] [] [] [] [] | gst-plugins-good | [] [] [] [] [] [] [] | gst-plugins-ugly | [] [] [] [] [] [] [] | gstreamer | [] [] [] [] [] [] | gtick | [] () [] [] | gtkam | [] [] () [] [] | gtkorphan | [] [] [] [] | gtkspell | [] [] [] [] [] [] [] [] | gutenprint | [] [] [] [] | hello | [] [] [] [] [] | help2man | [] [] | hylafax | [] [] | idutils | [] [] [] | indent | [] [] [] [] [] [] [] [] | iso_15924 | [] () [] [] [] | iso_3166 | [] [] [] () [] [] [] () [] | iso_3166_2 | () | iso_4217 | [] [] [] () [] [] [] | iso_639 | [] [] [] () [] [] [] | iso_639_3 | | jwhois | [] [] | kbd | [] [] [] [] [] | keytouch | [] [] [] | keytouch-editor | [] [] [] | keytouch-keyboa... | [] [] | klavaro | [] [] [] [] | latrine | [] () [] | ld | [] [] [] | leafpad | [] [] [] [] [] [] [] | libc | [] [] [] [] [] | libexif | [] [] () | libextractor | | libgnutls | [] | libgpewidget | [] [] [] | libgpg-error | [] [] | libgphoto2 | [] () | libgphoto2_port | [] () [] | libgsasl | [] | libiconv | [] [] [] [] [] [] | libidn | [] [] [] [] | lifelines | [] () | liferea | [] [] [] [] [] | lilypond | [] [] [] [] | linkdr | [] [] [] [] | lordsawar | [] | lprng | | lynx | [] [] [] [] | m4 | [] [] [] [] [] | mailfromd | | mailutils | [] | make | [] [] [] [] | man-db | | man-db-manpages | | minicom | [] [] [] [] [] | mkisofs | [] | myserver | | nano | [] [] [] [] | opcodes | [] [] [] | parted | [] [] | pies | | popt | [] [] [] [] [] [] | psmisc | [] [] [] [] | pspp | [] | pwdutils | [] | radius | [] | recode | [] [] [] [] [] [] [] | rosegarden | () () () () | rpm | [] [] [] | rush | | sarg | | screem | | scrollkeeper | [] [] [] [] [] [] | sed | [] [] [] [] [] [] [] | sharutils | [] [] [] [] [] | shishi | | skencil | [] () [] | solfege | [] [] [] [] | solfege-manual | [] [] | soundtracker | [] [] [] | sp | [] | sysstat | [] [] [] [] | tar | [] [] [] [] [] | texinfo | [] [] [] | tin | [] [] | unicode-han-tra... | | unicode-transla... | | util-linux-ng | [] [] [] [] [] | vice | () () | vmm | [] | vorbis-tools | [] [] | wastesedge | [] | wdiff | [] [] [] | wget | [] [] [] [] | wyslij-po | [] | xchat | [] [] [] [] [] [] | xdg-user-dirs | [] [] [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] [] [] [] | +-------------------------------------------------+ cs da de el en en_GB en_ZA eo es et eu fa fi 64 105 117 18 1 8 0 28 89 18 19 0 104 fr ga gl gu he hi hr hu hy id is it ja ka kn +------------------------------------------------+ a2ps | [] [] [] | aegis | [] [] | ant-phone | [] [] | anubis | [] [] [] | aspell | [] [] [] [] | bash | [] [] [] | bfd | [] [] | bibshelf | [] [] [] [] | binutils | [] [] | bison | [] [] [] | bison-runtime | [] [] [] [] [] | bluez-pin | [] [] [] [] [] [] [] | bombono-dvd | | buzztard | [] | cflow | [] [] | clisp | [] | coreutils | [] [] [] [] [] | cpio | [] [] [] | cppi | [] | cpplib | [] [] | cryptsetup | [] [] [] | dfarc | [] [] | dialog | [] [] [] [] [] [] [] | dico | | diffutils | [] [] [] [] [] [] [] [] | dink | [] | doodle | [] [] | e2fsprogs | [] [] | enscript | [] [] [] [] | exif | [] [] [] [] [] | fetchmail | [] [] [] [] | findutils | [] [] [] [] [] | flex | [] [] | freedink | [] [] | gas | [] [] | gawk | [] [] [] [] () [] | gcal | [] | gcc | [] | gettext-examples | [] [] [] [] [] [] | gettext-runtime | [] [] [] [] [] | gettext-tools | [] [] [] [] | gip | [] [] [] [] [] | gjay | | gliv | () | glunarclock | [] [] [] | gnubiff | () [] () | gnucash | () () () () [] | gnuedu | [] [] | gnulib | [] [] [] [] [] | gnunet | | gnunet-gtk | [] | gnutls | [] [] | gold | [] | gpe-aerial | [] [] | gpe-beam | [] [] [] | gpe-bluetooth | [] [] [] | gpe-calendar | [] | gpe-clock | [] [] [] [] | gpe-conf | [] [] [] | gpe-contacts | [] [] [] | gpe-edit | [] [] | gpe-filemanager | [] [] [] | gpe-go | [] [] [] [] | gpe-login | [] [] | gpe-ownerinfo | [] [] [] [] | gpe-package | [] [] | gpe-sketchbook | [] [] [] | gpe-su | [] [] [] [] [] | gpe-taskmanager | [] [] [] [] | gpe-timesheet | [] [] [] [] | gpe-today | [] [] [] [] [] [] | gpe-todo | [] [] | gphoto2 | [] [] [] [] [] | gprof | [] [] [] | gpsdrive | [] [] [] | gramadoir | [] [] [] | grep | [] | grub | [] [] [] | gsasl | [] [] [] [] | gss | [] [] [] [] | gst-plugins-bad | [] [] [] [] | gst-plugins-base | [] [] [] [] [] | gst-plugins-good | [] [] [] [] [] | gst-plugins-ugly | [] [] [] [] [] | gstreamer | [] [] [] [] | gtick | [] [] [] [] | gtkam | [] [] [] [] [] | gtkorphan | [] [] [] | gtkspell | [] [] [] [] [] [] [] [] | gutenprint | [] [] [] | hello | [] [] | help2man | [] | hylafax | [] | idutils | [] [] [] [] [] | indent | [] [] [] [] [] [] [] | iso_15924 | () [] [] | iso_3166 | () [] [] [] [] [] [] [] [] [] [] | iso_3166_2 | () [] [] [] | iso_4217 | () [] [] [] [] | iso_639 | () [] [] [] [] [] [] [] | iso_639_3 | () [] [] | jwhois | [] [] [] [] | kbd | [] [] | keytouch | [] [] [] [] [] | keytouch-editor | [] [] [] [] | keytouch-keyboa... | [] [] [] [] | klavaro | [] [] | latrine | [] [] | ld | [] [] [] | leafpad | [] [] [] [] [] [] () | libc | [] [] [] [] | libexif | | libextractor | | libgnutls | [] [] | libgpewidget | [] [] [] | libgpg-error | [] [] | libgphoto2 | [] [] [] | libgphoto2_port | [] [] [] | libgsasl | [] [] [] [] | libiconv | [] [] [] [] [] | libidn | [] [] [] | lifelines | () | liferea | [] [] [] [] | lilypond | [] | linkdr | [] [] [] [] | lordsawar | | lprng | [] | lynx | [] [] [] [] [] | m4 | [] [] [] [] [] | mailfromd | | mailutils | [] [] | make | [] [] [] [] [] [] [] [] | man-db | [] [] | man-db-manpages | [] | minicom | [] [] [] [] | mkisofs | [] [] [] | myserver | | nano | [] [] [] [] [] | opcodes | [] [] [] | parted | [] [] [] [] | pies | | popt | [] [] [] [] [] [] [] [] | psmisc | [] [] | pspp | | pwdutils | [] [] | radius | [] [] | recode | [] [] [] [] [] [] [] | rosegarden | () () () () | rpm | [] [] | rush | | sarg | [] | screem | [] [] | scrollkeeper | [] [] [] | sed | [] [] [] [] [] [] [] | sharutils | [] [] [] [] [] [] | shishi | [] | skencil | [] | solfege | [] [] [] | solfege-manual | [] [] | soundtracker | [] [] | sp | [] () | sysstat | [] [] [] [] | tar | [] [] [] [] [] [] | texinfo | [] [] [] [] | tin | [] | unicode-han-tra... | | unicode-transla... | [] [] | util-linux-ng | [] [] [] [] [] | vice | () () () | vmm | [] | vorbis-tools | [] | wastesedge | () () | wdiff | | wget | [] [] [] [] [] [] [] | wyslij-po | [] [] | xchat | [] [] [] [] [] [] [] [] | xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] [] | +------------------------------------------------+ fr ga gl gu he hi hr hu hy id is it ja ka kn 121 53 20 4 8 2 5 53 2 120 5 83 66 0 4 ko ku ky lg lt lv mk ml mn mr ms mt nb nds ne +-----------------------------------------------+ a2ps | [] | aegis | | ant-phone | | anubis | [] [] | aspell | [] | bash | | bfd | | bibshelf | [] [] | binutils | | bison | [] | bison-runtime | [] [] [] [] [] | bluez-pin | [] [] [] [] [] | bombono-dvd | | buzztard | | cflow | | clisp | | coreutils | [] | cpio | | cppi | | cpplib | | cryptsetup | | dfarc | [] | dialog | [] [] [] [] [] | dico | | diffutils | [] [] | dink | | doodle | | e2fsprogs | | enscript | | exif | [] | fetchmail | | findutils | | flex | | freedink | [] | gas | | gawk | | gcal | | gcc | | gettext-examples | [] [] [] [] | gettext-runtime | [] | gettext-tools | [] | gip | [] [] | gjay | | gliv | | glunarclock | [] | gnubiff | | gnucash | () () () () | gnuedu | | gnulib | | gnunet | | gnunet-gtk | | gnutls | [] | gold | | gpe-aerial | [] | gpe-beam | [] | gpe-bluetooth | [] [] | gpe-calendar | [] | gpe-clock | [] [] [] [] [] | gpe-conf | [] [] | gpe-contacts | [] [] | gpe-edit | [] | gpe-filemanager | [] [] | gpe-go | [] [] [] | gpe-login | [] | gpe-ownerinfo | [] [] | gpe-package | [] [] | gpe-sketchbook | [] [] | gpe-su | [] [] [] [] [] [] | gpe-taskmanager | [] [] [] [] [] [] | gpe-timesheet | [] [] | gpe-today | [] [] [] [] | gpe-todo | [] [] | gphoto2 | | gprof | [] | gpsdrive | | gramadoir | | grep | | grub | | gsasl | | gss | | gst-plugins-bad | [] [] | gst-plugins-base | [] [] | gst-plugins-good | [] [] | gst-plugins-ugly | [] [] [] [] [] | gstreamer | | gtick | | gtkam | [] | gtkorphan | [] [] | gtkspell | [] [] [] [] [] [] [] | gutenprint | | hello | [] [] [] | help2man | | hylafax | | idutils | | indent | | iso_15924 | [] [] | iso_3166 | [] [] () [] [] [] [] [] | iso_3166_2 | | iso_4217 | [] [] | iso_639 | [] [] | iso_639_3 | [] | jwhois | [] | kbd | | keytouch | [] | keytouch-editor | [] | keytouch-keyboa... | [] | klavaro | [] | latrine | [] | ld | | leafpad | [] [] [] | libc | [] | libexif | | libextractor | | libgnutls | [] | libgpewidget | [] [] | libgpg-error | | libgphoto2 | | libgphoto2_port | | libgsasl | | libiconv | | libidn | | lifelines | | liferea | | lilypond | | linkdr | | lordsawar | | lprng | | lynx | | m4 | | mailfromd | | mailutils | | make | [] | man-db | | man-db-manpages | | minicom | [] | mkisofs | | myserver | | nano | [] [] | opcodes | | parted | | pies | | popt | [] [] [] | psmisc | | pspp | | pwdutils | | radius | | recode | | rosegarden | | rpm | | rush | | sarg | | screem | | scrollkeeper | [] [] | sed | | sharutils | | shishi | | skencil | | solfege | [] | solfege-manual | | soundtracker | | sp | | sysstat | [] | tar | [] | texinfo | [] | tin | | unicode-han-tra... | | unicode-transla... | | util-linux-ng | | vice | | vmm | | vorbis-tools | | wastesedge | | wdiff | | wget | [] | wyslij-po | | xchat | [] [] [] | xdg-user-dirs | [] [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] | +-----------------------------------------------+ ko ku ky lg lt lv mk ml mn mr ms mt nb nds ne 20 5 10 1 12 48 4 2 2 4 24 10 19 3 1 nl nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr +---------------------------------------------------+ a2ps | [] [] [] [] [] [] [] [] | aegis | [] [] [] | ant-phone | [] [] | anubis | [] [] [] | aspell | [] [] [] [] [] | bash | [] [] | bfd | [] | bibshelf | [] [] | binutils | [] [] | bison | [] [] [] | bison-runtime | [] [] [] [] [] [] [] | bluez-pin | [] [] [] [] [] [] [] [] | bombono-dvd | [] () | buzztard | [] [] | cflow | [] | clisp | [] [] | coreutils | [] [] [] [] [] [] | cpio | [] [] [] | cppi | [] | cpplib | [] | cryptsetup | [] | dfarc | [] | dialog | [] [] [] [] | dico | [] | diffutils | [] [] [] [] [] [] | dink | () | doodle | [] [] | e2fsprogs | [] [] | enscript | [] [] [] [] [] | exif | [] [] [] () [] | fetchmail | [] [] [] [] | findutils | [] [] [] [] [] | flex | [] [] [] [] [] | freedink | [] [] | gas | | gawk | [] [] [] [] | gcal | | gcc | [] | gettext-examples | [] [] [] [] [] [] [] [] | gettext-runtime | [] [] [] [] [] [] [] [] [] | gettext-tools | [] [] [] [] [] [] | gip | [] [] [] [] [] | gjay | | gliv | [] [] [] [] [] [] | glunarclock | [] [] [] [] [] | gnubiff | [] () | gnucash | [] () () () | gnuedu | [] | gnulib | [] [] [] [] | gnunet | | gnunet-gtk | | gnutls | [] [] | gold | | gpe-aerial | [] [] [] [] [] [] [] | gpe-beam | [] [] [] [] [] [] [] | gpe-bluetooth | [] [] | gpe-calendar | [] [] [] [] | gpe-clock | [] [] [] [] [] [] [] [] | gpe-conf | [] [] [] [] [] [] [] | gpe-contacts | [] [] [] [] [] | gpe-edit | [] [] [] | gpe-filemanager | [] [] [] | gpe-go | [] [] [] [] [] [] [] [] | gpe-login | [] [] | gpe-ownerinfo | [] [] [] [] [] [] [] [] | gpe-package | [] [] | gpe-sketchbook | [] [] [] [] [] [] [] | gpe-su | [] [] [] [] [] [] [] [] | gpe-taskmanager | [] [] [] [] [] [] [] [] | gpe-timesheet | [] [] [] [] [] [] [] [] | gpe-today | [] [] [] [] [] [] [] [] | gpe-todo | [] [] [] [] [] | gphoto2 | [] [] [] [] [] [] [] [] | gprof | [] [] [] | gpsdrive | [] [] | gramadoir | [] [] | grep | [] [] [] [] | grub | [] [] [] | gsasl | [] [] [] [] | gss | [] [] [] | gst-plugins-bad | [] [] [] [] [] | gst-plugins-base | [] [] [] [] [] | gst-plugins-good | [] [] [] [] [] | gst-plugins-ugly | [] [] [] [] [] [] | gstreamer | [] [] [] [] [] | gtick | [] [] [] | gtkam | [] [] [] [] [] [] | gtkorphan | [] | gtkspell | [] [] [] [] [] [] [] [] [] [] | gutenprint | [] [] | hello | [] [] [] [] | help2man | [] [] | hylafax | [] | idutils | [] [] [] [] [] | indent | [] [] [] [] [] [] [] | iso_15924 | [] [] [] [] | iso_3166 | [] [] [] [] [] () [] [] [] [] [] [] [] [] | iso_3166_2 | [] [] [] | iso_4217 | [] [] [] [] [] [] [] [] | iso_639 | [] [] [] [] [] [] [] [] [] | iso_639_3 | [] [] | jwhois | [] [] [] [] | kbd | [] [] [] | keytouch | [] [] [] | keytouch-editor | [] [] [] | keytouch-keyboa... | [] [] [] | klavaro | [] [] | latrine | [] [] | ld | | leafpad | [] [] [] [] [] [] [] [] [] | libc | [] [] [] [] | libexif | [] [] () [] | libextractor | | libgnutls | [] [] | libgpewidget | [] [] [] | libgpg-error | [] [] | libgphoto2 | [] [] | libgphoto2_port | [] [] [] [] | libgsasl | [] [] [] [] [] | libiconv | [] [] [] [] [] | libidn | [] [] | lifelines | [] [] | liferea | [] [] [] [] [] () () [] | lilypond | [] | linkdr | [] [] [] | lordsawar | | lprng | [] | lynx | [] [] [] | m4 | [] [] [] [] [] | mailfromd | [] | mailutils | [] | make | [] [] [] [] | man-db | [] [] [] | man-db-manpages | [] [] [] | minicom | [] [] [] [] | mkisofs | [] [] [] | myserver | | nano | [] [] [] [] | opcodes | [] [] | parted | [] [] [] [] | pies | [] | popt | [] [] [] [] | psmisc | [] [] [] | pspp | [] [] | pwdutils | [] | radius | [] [] [] | recode | [] [] [] [] [] [] [] [] | rosegarden | () () | rpm | [] [] [] | rush | [] [] | sarg | | screem | | scrollkeeper | [] [] [] [] [] [] [] [] | sed | [] [] [] [] [] [] [] [] [] | sharutils | [] [] [] [] | shishi | [] | skencil | [] [] | solfege | [] [] [] [] | solfege-manual | [] [] [] | soundtracker | [] | sp | | sysstat | [] [] [] [] | tar | [] [] [] [] | texinfo | [] [] [] [] | tin | [] | unicode-han-tra... | | unicode-transla... | | util-linux-ng | [] [] [] [] [] | vice | [] | vmm | [] | vorbis-tools | [] [] | wastesedge | [] | wdiff | [] [] | wget | [] [] [] [] [] [] [] | wyslij-po | [] [] [] | xchat | [] [] [] [] [] [] [] [] [] | xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] [] [] | +---------------------------------------------------+ nl nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr 135 10 4 7 105 1 29 61 47 91 3 55 47 8 37 sv sw ta te tg th tr uk vi wa zh_CN zh_HK zh_TW +---------------------------------------------------+ a2ps | [] [] [] [] [] | 27 aegis | [] | 9 ant-phone | [] [] [] [] | 9 anubis | [] [] [] [] | 15 aspell | [] [] [] | 20 bash | [] [] | 11 bfd | [] | 6 bibshelf | [] [] [] | 16 binutils | [] [] | 8 bison | [] [] | 12 bison-runtime | [] [] [] [] [] [] | 29 bluez-pin | [] [] [] [] [] [] [] [] | 37 bombono-dvd | [] | 4 buzztard | [] | 7 cflow | [] [] [] | 9 clisp | | 10 coreutils | [] [] [] [] | 22 cpio | [] [] [] [] [] [] | 13 cppi | [] [] | 5 cpplib | [] [] [] [] [] [] | 13 cryptsetup | [] [] | 7 dfarc | [] | 9 dialog | [] [] [] [] [] [] [] | 30 dico | [] | 2 diffutils | [] [] [] [] [] [] | 30 dink | | 4 doodle | [] [] | 7 e2fsprogs | [] [] [] | 11 enscript | [] [] [] [] | 17 exif | [] [] [] | 16 fetchmail | [] [] [] | 17 findutils | [] [] [] [] [] | 20 flex | [] [] [] [] | 15 freedink | [] | 10 gas | [] | 4 gawk | [] [] [] [] | 18 gcal | [] [] | 5 gcc | [] [] [] | 7 gettext-examples | [] [] [] [] [] [] [] | 34 gettext-runtime | [] [] [] [] [] [] [] | 30 gettext-tools | [] [] [] [] [] [] | 22 gip | [] [] [] [] | 22 gjay | [] | 3 gliv | [] [] [] | 14 glunarclock | [] [] [] [] [] | 19 gnubiff | [] [] | 4 gnucash | () [] () () | 9 gnuedu | [] [] | 7 gnulib | [] [] [] [] | 16 gnunet | [] | 1 gnunet-gtk | [] [] [] | 5 gnutls | [] [] [] | 10 gold | [] | 4 gpe-aerial | [] [] [] | 18 gpe-beam | [] [] [] | 19 gpe-bluetooth | [] [] [] | 13 gpe-calendar | [] [] [] [] | 12 gpe-clock | [] [] [] [] [] | 28 gpe-conf | [] [] [] [] | 20 gpe-contacts | [] [] [] | 17 gpe-edit | [] [] [] | 12 gpe-filemanager | [] [] [] [] | 16 gpe-go | [] [] [] [] [] | 25 gpe-login | [] [] [] | 11 gpe-ownerinfo | [] [] [] [] [] | 25 gpe-package | [] [] [] | 13 gpe-sketchbook | [] [] [] | 20 gpe-su | [] [] [] [] [] | 30 gpe-taskmanager | [] [] [] [] [] | 29 gpe-timesheet | [] [] [] [] [] | 25 gpe-today | [] [] [] [] [] [] | 30 gpe-todo | [] [] [] [] | 17 gphoto2 | [] [] [] [] [] | 24 gprof | [] [] [] | 15 gpsdrive | [] [] [] | 11 gramadoir | [] [] [] | 11 grep | [] [] [] | 10 grub | [] [] [] | 14 gsasl | [] [] [] [] | 14 gss | [] [] [] | 11 gst-plugins-bad | [] [] [] [] | 22 gst-plugins-base | [] [] [] [] [] | 24 gst-plugins-good | [] [] [] [] [] | 25 gst-plugins-ugly | [] [] [] [] [] | 29 gstreamer | [] [] [] [] | 22 gtick | [] [] [] | 13 gtkam | [] [] [] | 20 gtkorphan | [] [] [] | 14 gtkspell | [] [] [] [] [] [] [] [] [] | 45 gutenprint | [] | 10 hello | [] [] [] [] [] [] | 21 help2man | [] [] | 7 hylafax | [] | 5 idutils | [] [] [] [] | 17 indent | [] [] [] [] [] [] | 30 iso_15924 | () [] () [] [] | 16 iso_3166 | [] [] () [] [] () [] [] [] () | 53 iso_3166_2 | () [] () [] | 9 iso_4217 | [] () [] [] () [] [] | 26 iso_639 | [] [] [] () [] () [] [] [] [] | 38 iso_639_3 | [] () | 8 jwhois | [] [] [] [] [] | 16 kbd | [] [] [] [] [] | 15 keytouch | [] [] [] | 16 keytouch-editor | [] [] [] | 14 keytouch-keyboa... | [] [] [] | 14 klavaro | [] | 11 latrine | [] [] [] | 10 ld | [] [] [] [] | 11 leafpad | [] [] [] [] [] [] | 33 libc | [] [] [] [] [] | 21 libexif | [] () | 6 libextractor | [] | 1 libgnutls | [] [] [] | 9 libgpewidget | [] [] [] | 14 libgpg-error | [] [] [] | 9 libgphoto2 | [] [] | 8 libgphoto2_port | [] [] [] [] | 13 libgsasl | [] [] [] | 13 libiconv | [] [] [] [] | 21 libidn | () [] [] | 11 lifelines | [] | 4 liferea | [] [] [] | 21 lilypond | [] | 7 linkdr | [] [] [] [] [] | 17 lordsawar | | 1 lprng | [] | 3 lynx | [] [] [] [] | 17 m4 | [] [] [] [] | 19 mailfromd | [] [] | 3 mailutils | [] | 5 make | [] [] [] [] | 21 man-db | [] [] [] | 8 man-db-manpages | | 4 minicom | [] [] | 16 mkisofs | [] [] | 9 myserver | | 0 nano | [] [] [] [] | 21 opcodes | [] [] [] | 11 parted | [] [] [] [] [] | 15 pies | [] [] | 3 popt | [] [] [] [] [] [] | 27 psmisc | [] [] | 11 pspp | | 4 pwdutils | [] [] | 6 radius | [] [] | 9 recode | [] [] [] [] | 28 rosegarden | () | 0 rpm | [] [] [] | 11 rush | [] [] | 4 sarg | | 1 screem | [] | 3 scrollkeeper | [] [] [] [] [] | 27 sed | [] [] [] [] [] | 30 sharutils | [] [] [] [] [] | 22 shishi | [] | 3 skencil | [] [] | 7 solfege | [] [] [] [] | 16 solfege-manual | [] | 8 soundtracker | [] [] [] | 9 sp | [] | 3 sysstat | [] [] | 15 tar | [] [] [] [] [] [] | 23 texinfo | [] [] [] [] | 16 tin | | 4 unicode-han-tra... | | 0 unicode-transla... | | 2 util-linux-ng | [] [] [] [] | 20 vice | () () | 1 vmm | [] | 4 vorbis-tools | [] | 6 wastesedge | | 2 wdiff | [] [] | 7 wget | [] [] [] [] [] | 26 wyslij-po | [] [] | 8 xchat | [] [] [] [] [] [] | 36 xdg-user-dirs | [] [] [] [] [] [] [] [] [] | 60 xkeyboard-config | [] [] [] [] | 25 +---------------------------------------------------+ 84 teams sv sw ta te tg th tr uk vi wa zh_CN zh_HK zh_TW 178 domains 119 1 3 2 0 10 66 50 155 17 97 7 41 2610 Some counters in the preceding matrix are higher than the number of visible blocks let us expect. This is because a few extra PO files are used for implementing regional variants of languages, or language dialects. For a PO file in the matrix above to be effective, the package to which it applies should also have been internationalized and distributed as such by its maintainer. There might be an observable lag between the mere existence a PO file and its wide availability in a distribution. If May 2010 seems to be old, you may fetch a more recent copy of this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date matrix with full percentage details can be found at `http://translationproject.org/extra/matrix.html'. 1.6 Using `gettext' in new packages =================================== If you are writing a freely available program and want to internationalize it you are welcome to use GNU `gettext' in your package. Of course you have to respect the GNU Library General Public License which covers the use of the GNU `gettext' library. This means in particular that even non-free programs can use `libintl' as a shared library, whereas only free software can use `libintl' as a static library or use modified versions of `libintl'. Once the sources are changed appropriately and the setup can handle the use of `gettext' the only thing missing are the translations. The Free Translation Project is also available for packages which are not developed inside the GNU project. Therefore the information given above applies also for every other Free Software Project. Contact `coordinator@translationproject.org' to make the `.pot' files available to the translation teams. parted-2.3/lib/0000755000000000000000000000000011400006131010334 500000000000000parted-2.3/lib/stdio-write.c0000644000000000000000000001131111377276065012723 00000000000000/* POSIX compatible FILE stream write function. Copyright (C) 2008-2010 Free Software Foundation, Inc. Written by Bruno Haible , 2008. 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include /* Replace these functions only if module 'sigpipe' is requested. */ #if GNULIB_SIGPIPE /* On native Windows platforms, SIGPIPE does not exist. When write() is called on a pipe with no readers, WriteFile() fails with error GetLastError() = ERROR_NO_DATA, and write() in consequence fails with error EINVAL. This write() function is at the basis of the function which flushes the buffer of a FILE stream. */ # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ # include # include # include # define WIN32_LEAN_AND_MEAN /* avoid including junk */ # include # define CALL_WITH_SIGPIPE_EMULATION(RETTYPE, EXPRESSION, FAILED) \ if (ferror (stream)) \ return (EXPRESSION); \ else \ { \ RETTYPE ret; \ SetLastError (0); \ ret = (EXPRESSION); \ if (FAILED && GetLastError () == ERROR_NO_DATA && ferror (stream)) \ { \ int fd = fileno (stream); \ if (fd >= 0 \ && GetFileType ((HANDLE) _get_osfhandle (fd)) == FILE_TYPE_PIPE)\ { \ /* Try to raise signal SIGPIPE. */ \ raise (SIGPIPE); \ /* If it is currently blocked or ignored, change errno from \ EINVAL to EPIPE. */ \ errno = EPIPE; \ } \ } \ return ret; \ } # if !REPLACE_PRINTF_POSIX /* avoid collision with printf.c */ int printf (const char *format, ...) { int retval; va_list args; va_start (args, format); retval = vfprintf (stdout, format, args); va_end (args); return retval; } # endif # if !REPLACE_FPRINTF_POSIX /* avoid collision with fprintf.c */ int fprintf (FILE *stream, const char *format, ...) { int retval; va_list args; va_start (args, format); retval = vfprintf (stream, format, args); va_end (args); return retval; } # endif # if !REPLACE_VPRINTF_POSIX /* avoid collision with vprintf.c */ int vprintf (const char *format, va_list args) { return vfprintf (stdout, format, args); } # endif # if !REPLACE_VFPRINTF_POSIX /* avoid collision with vfprintf.c */ int vfprintf (FILE *stream, const char *format, va_list args) #undef vfprintf { CALL_WITH_SIGPIPE_EMULATION (int, vfprintf (stream, format, args), ret == EOF) } # endif int putchar (int c) { return fputc (c, stdout); } int fputc (int c, FILE *stream) #undef fputc { CALL_WITH_SIGPIPE_EMULATION (int, fputc (c, stream), ret == EOF) } int fputs (const char *string, FILE *stream) #undef fputs { CALL_WITH_SIGPIPE_EMULATION (int, fputs (string, stream), ret == EOF) } int puts (const char *string) #undef puts { FILE *stream = stdout; CALL_WITH_SIGPIPE_EMULATION (int, puts (string), ret == EOF) } size_t fwrite (const void *ptr, size_t s, size_t n, FILE *stream) #undef fwrite { CALL_WITH_SIGPIPE_EMULATION (size_t, fwrite (ptr, s, n, stream), ret < n) } # endif #endif parted-2.3/lib/gettext.h0000644000000000000000000002324711354347365012152 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Convenience header for conditional use of GNU . Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2010 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 3, 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. */ #ifndef _LIBGETTEXT_H #define _LIBGETTEXT_H 1 /* NLS can be disabled through the configure --disable-nls option. */ #if ENABLE_NLS /* Get declarations of GNU message catalog functions. */ # include /* You can set the DEFAULT_TEXT_DOMAIN macro to specify the domain used by the gettext() and ngettext() macros. This is an alternative to calling textdomain(), and is useful for libraries. */ # ifdef DEFAULT_TEXT_DOMAIN # undef gettext # define gettext(Msgid) \ dgettext (DEFAULT_TEXT_DOMAIN, Msgid) # undef ngettext # define ngettext(Msgid1, Msgid2, N) \ dngettext (DEFAULT_TEXT_DOMAIN, Msgid1, Msgid2, N) # endif #else /* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which chokes if dcgettext is defined as a macro. So include it now, to make later inclusions of a NOP. We don't include as well because people using "gettext.h" will not include , and also including would fail on SunOS 4, whereas is OK. */ #if defined(__sun) # include #endif /* Many header files from the libstdc++ coming with g++ 3.3 or newer include , which chokes if dcgettext is defined as a macro. So include it now, to make later inclusions of a NOP. */ #if defined(__cplusplus) && defined(__GNUG__) && (__GNUC__ >= 3) # include # if (__GLIBC__ >= 2) || _GLIBCXX_HAVE_LIBINTL_H # include # endif #endif /* Disabled NLS. The casts to 'const char *' serve the purpose of producing warnings for invalid uses of the value returned from these functions. On pre-ANSI systems without 'const', the config.h file is supposed to contain "#define const". */ # undef gettext # define gettext(Msgid) ((const char *) (Msgid)) # undef dgettext # define dgettext(Domainname, Msgid) ((void) (Domainname), gettext (Msgid)) # undef dcgettext # define dcgettext(Domainname, Msgid, Category) \ ((void) (Category), dgettext (Domainname, Msgid)) # undef ngettext # define ngettext(Msgid1, Msgid2, N) \ ((N) == 1 \ ? ((void) (Msgid2), (const char *) (Msgid1)) \ : ((void) (Msgid1), (const char *) (Msgid2))) # undef dngettext # define dngettext(Domainname, Msgid1, Msgid2, N) \ ((void) (Domainname), ngettext (Msgid1, Msgid2, N)) # undef dcngettext # define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \ ((void) (Category), dngettext (Domainname, Msgid1, Msgid2, N)) # undef textdomain # define textdomain(Domainname) ((const char *) (Domainname)) # undef bindtextdomain # define bindtextdomain(Domainname, Dirname) \ ((void) (Domainname), (const char *) (Dirname)) # undef bind_textdomain_codeset # define bind_textdomain_codeset(Domainname, Codeset) \ ((void) (Domainname), (const char *) (Codeset)) #endif /* A pseudo function call that serves as a marker for the automated extraction of messages, but does not call gettext(). The run-time translation is done at a different place in the code. The argument, String, should be a literal string. Concatenated strings and other string expressions won't work. The macro's expansion is not parenthesized, so that it is suitable as initializer for static 'char[]' or 'const char[]' variables. */ #define gettext_noop(String) String /* The separator between msgctxt and msgid in a .mo file. */ #define GETTEXT_CONTEXT_GLUE "\004" /* Pseudo function calls, taking a MSGCTXT and a MSGID instead of just a MSGID. MSGCTXT and MSGID must be string literals. MSGCTXT should be short and rarely need to change. The letter 'p' stands for 'particular' or 'special'. */ #ifdef DEFAULT_TEXT_DOMAIN # define pgettext(Msgctxt, Msgid) \ pgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES) #else # define pgettext(Msgctxt, Msgid) \ pgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES) #endif #define dpgettext(Domainname, Msgctxt, Msgid) \ pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES) #define dcpgettext(Domainname, Msgctxt, Msgid, Category) \ pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, Category) #ifdef DEFAULT_TEXT_DOMAIN # define npgettext(Msgctxt, Msgid, MsgidPlural, N) \ npgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES) #else # define npgettext(Msgctxt, Msgid, MsgidPlural, N) \ npgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES) #endif #define dnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N) \ npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES) #define dcnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N, Category) \ npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, Category) #ifdef __GNUC__ __inline #else #ifdef __cplusplus inline #endif #endif static const char * pgettext_aux (const char *domain, const char *msg_ctxt_id, const char *msgid, int category) { const char *translation = dcgettext (domain, msg_ctxt_id, category); if (translation == msg_ctxt_id) return msgid; else return translation; } #ifdef __GNUC__ __inline #else #ifdef __cplusplus inline #endif #endif static const char * npgettext_aux (const char *domain, const char *msg_ctxt_id, const char *msgid, const char *msgid_plural, unsigned long int n, int category) { const char *translation = dcngettext (domain, msg_ctxt_id, msgid_plural, n, category); if (translation == msg_ctxt_id || translation == msgid_plural) return (n == 1 ? msgid : msgid_plural); else return translation; } /* The same thing extended for non-constant arguments. Here MSGCTXT and MSGID can be arbitrary expressions. But for string literals these macros are less efficient than those above. */ #include #define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS \ (((__GNUC__ >= 3 || __GNUG__ >= 2) && !__STRICT_ANSI__) \ /* || __STDC_VERSION__ >= 199901L */ ) #if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS #include #endif #define pgettext_expr(Msgctxt, Msgid) \ dcpgettext_expr (NULL, Msgctxt, Msgid, LC_MESSAGES) #define dpgettext_expr(Domainname, Msgctxt, Msgid) \ dcpgettext_expr (Domainname, Msgctxt, Msgid, LC_MESSAGES) #ifdef __GNUC__ __inline #else #ifdef __cplusplus inline #endif #endif static const char * dcpgettext_expr (const char *domain, const char *msgctxt, const char *msgid, int category) { size_t msgctxt_len = strlen (msgctxt) + 1; size_t msgid_len = strlen (msgid) + 1; const char *translation; #if _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS char msg_ctxt_id[msgctxt_len + msgid_len]; #else char buf[1024]; char *msg_ctxt_id = (msgctxt_len + msgid_len <= sizeof (buf) ? buf : (char *) malloc (msgctxt_len + msgid_len)); if (msg_ctxt_id != NULL) #endif { memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1); msg_ctxt_id[msgctxt_len - 1] = '\004'; memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len); translation = dcgettext (domain, msg_ctxt_id, category); #if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS if (msg_ctxt_id != buf) free (msg_ctxt_id); #endif if (translation != msg_ctxt_id) return translation; } return msgid; } #define npgettext_expr(Msgctxt, Msgid, MsgidPlural, N) \ dcnpgettext_expr (NULL, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES) #define dnpgettext_expr(Domainname, Msgctxt, Msgid, MsgidPlural, N) \ dcnpgettext_expr (Domainname, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES) #ifdef __GNUC__ __inline #else #ifdef __cplusplus inline #endif #endif static const char * dcnpgettext_expr (const char *domain, const char *msgctxt, const char *msgid, const char *msgid_plural, unsigned long int n, int category) { size_t msgctxt_len = strlen (msgctxt) + 1; size_t msgid_len = strlen (msgid) + 1; const char *translation; #if _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS char msg_ctxt_id[msgctxt_len + msgid_len]; #else char buf[1024]; char *msg_ctxt_id = (msgctxt_len + msgid_len <= sizeof (buf) ? buf : (char *) malloc (msgctxt_len + msgid_len)); if (msg_ctxt_id != NULL) #endif { memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1); msg_ctxt_id[msgctxt_len - 1] = '\004'; memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len); translation = dcngettext (domain, msg_ctxt_id, msgid_plural, n, category); #if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS if (msg_ctxt_id != buf) free (msg_ctxt_id); #endif if (!(translation == msg_ctxt_id || translation == msgid_plural)) return translation; } return (n == 1 ? msgid : msgid_plural); } #endif /* _LIBGETTEXT_H */ parted-2.3/lib/getopt.c0000644000000000000000000011447711370541031011751 00000000000000/* Getopt for GNU. NOTE: getopt is part of the C library, so if you don't know what "Keep this file name-space clean" means, talk to drepper@gnu.org before changing it! Copyright (C) 1987-1996, 1998-2004, 2006, 2008-2010 Free Software Foundation, Inc. This file is part of the GNU C Library. 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _LIBC # include #endif #include "getopt.h" #include #include #include #include #ifdef _LIBC # include #else # include "gettext.h" # define _(msgid) gettext (msgid) #endif #if defined _LIBC && defined USE_IN_LIBIO # include #endif /* This version of `getopt' appears to the caller like standard Unix `getopt' but it behaves differently for the user, since it allows the user to intersperse the options with the other arguments. As `getopt_long' works, it permutes the elements of ARGV so that, when it is done, all the options precede everything else. Thus all application programs are extended to handle flexible argument order. Using `getopt' or setting the environment variable POSIXLY_CORRECT disables permutation. Then the behavior is completely standard. GNU application programs can use a third alternative mode in which they can distinguish the relative order of options and other arguments. */ #include "getopt_int.h" /* For communication from `getopt' to the caller. When `getopt' finds an option that takes an argument, the argument value is returned here. Also, when `ordering' is RETURN_IN_ORDER, each non-option ARGV-element is returned here. */ char *optarg; /* Index in ARGV of the next element to be scanned. This is used for communication to and from the caller and for communication between successive calls to `getopt'. On entry to `getopt', zero means this is the first call; initialize. When `getopt' returns -1, this is the index of the first of the non-option elements that the caller should itself scan. Otherwise, `optind' communicates from one call to the next how much of ARGV has been scanned so far. */ /* 1003.2 says this must be 1 before any call. */ int optind = 1; /* Callers store zero here to inhibit the error message for unrecognized options. */ int opterr = 1; /* Set to an option character which was unrecognized. This must be initialized on some systems to avoid linking in the system's own getopt implementation. */ int optopt = '?'; /* Keep a global copy of all internal members of getopt_data. */ static struct _getopt_data getopt_data; #if defined HAVE_DECL_GETENV && !HAVE_DECL_GETENV extern char *getenv (); #endif #ifdef _LIBC /* Stored original parameters. XXX This is no good solution. We should rather copy the args so that we can compare them later. But we must not use malloc(3). */ extern int __libc_argc; extern char **__libc_argv; /* Bash 2.0 gives us an environment variable containing flags indicating ARGV elements that should not be considered arguments. */ # ifdef USE_NONOPTION_FLAGS /* Defined in getopt_init.c */ extern char *__getopt_nonoption_flags; # endif # ifdef USE_NONOPTION_FLAGS # define SWAP_FLAGS(ch1, ch2) \ if (d->__nonoption_flags_len > 0) \ { \ char __tmp = __getopt_nonoption_flags[ch1]; \ __getopt_nonoption_flags[ch1] = __getopt_nonoption_flags[ch2]; \ __getopt_nonoption_flags[ch2] = __tmp; \ } # else # define SWAP_FLAGS(ch1, ch2) # endif #else /* !_LIBC */ # define SWAP_FLAGS(ch1, ch2) #endif /* _LIBC */ /* Exchange two adjacent subsequences of ARGV. One subsequence is elements [first_nonopt,last_nonopt) which contains all the non-options that have been skipped so far. The other is elements [last_nonopt,optind), which contains all the options processed since those non-options were skipped. `first_nonopt' and `last_nonopt' are relocated so that they describe the new indices of the non-options in ARGV after they are moved. */ static void exchange (char **argv, struct _getopt_data *d) { int bottom = d->__first_nonopt; int middle = d->__last_nonopt; int top = d->optind; char *tem; /* Exchange the shorter segment with the far end of the longer segment. That puts the shorter segment into the right place. It leaves the longer segment in the right place overall, but it consists of two parts that need to be swapped next. */ #if defined _LIBC && defined USE_NONOPTION_FLAGS /* First make sure the handling of the `__getopt_nonoption_flags' string can work normally. Our top argument must be in the range of the string. */ if (d->__nonoption_flags_len > 0 && top >= d->__nonoption_flags_max_len) { /* We must extend the array. The user plays games with us and presents new arguments. */ char *new_str = malloc (top + 1); if (new_str == NULL) d->__nonoption_flags_len = d->__nonoption_flags_max_len = 0; else { memset (__mempcpy (new_str, __getopt_nonoption_flags, d->__nonoption_flags_max_len), '\0', top + 1 - d->__nonoption_flags_max_len); d->__nonoption_flags_max_len = top + 1; __getopt_nonoption_flags = new_str; } } #endif while (top > middle && middle > bottom) { if (top - middle > middle - bottom) { /* Bottom segment is the short one. */ int len = middle - bottom; register int i; /* Swap it with the top part of the top segment. */ for (i = 0; i < len; i++) { tem = argv[bottom + i]; argv[bottom + i] = argv[top - (middle - bottom) + i]; argv[top - (middle - bottom) + i] = tem; SWAP_FLAGS (bottom + i, top - (middle - bottom) + i); } /* Exclude the moved bottom segment from further swapping. */ top -= len; } else { /* Top segment is the short one. */ int len = top - middle; register int i; /* Swap it with the bottom part of the bottom segment. */ for (i = 0; i < len; i++) { tem = argv[bottom + i]; argv[bottom + i] = argv[middle + i]; argv[middle + i] = tem; SWAP_FLAGS (bottom + i, middle + i); } /* Exclude the moved top segment from further swapping. */ bottom += len; } } /* Update records for the slots the non-options now occupy. */ d->__first_nonopt += (d->optind - d->__last_nonopt); d->__last_nonopt = d->optind; } /* Initialize the internal data when the first call is made. */ static const char * _getopt_initialize (int argc _GL_UNUSED, char **argv _GL_UNUSED, const char *optstring, struct _getopt_data *d, int posixly_correct) { /* Start processing options with ARGV-element 1 (since ARGV-element 0 is the program name); the sequence of previously skipped non-option ARGV-elements is empty. */ d->__first_nonopt = d->__last_nonopt = d->optind; d->__nextchar = NULL; d->__posixly_correct = posixly_correct || !!getenv ("POSIXLY_CORRECT"); /* Determine how to handle the ordering of options and nonoptions. */ if (optstring[0] == '-') { d->__ordering = RETURN_IN_ORDER; ++optstring; } else if (optstring[0] == '+') { d->__ordering = REQUIRE_ORDER; ++optstring; } else if (d->__posixly_correct) d->__ordering = REQUIRE_ORDER; else d->__ordering = PERMUTE; #if defined _LIBC && defined USE_NONOPTION_FLAGS if (!d->__posixly_correct && argc == __libc_argc && argv == __libc_argv) { if (d->__nonoption_flags_max_len == 0) { if (__getopt_nonoption_flags == NULL || __getopt_nonoption_flags[0] == '\0') d->__nonoption_flags_max_len = -1; else { const char *orig_str = __getopt_nonoption_flags; int len = d->__nonoption_flags_max_len = strlen (orig_str); if (d->__nonoption_flags_max_len < argc) d->__nonoption_flags_max_len = argc; __getopt_nonoption_flags = (char *) malloc (d->__nonoption_flags_max_len); if (__getopt_nonoption_flags == NULL) d->__nonoption_flags_max_len = -1; else memset (__mempcpy (__getopt_nonoption_flags, orig_str, len), '\0', d->__nonoption_flags_max_len - len); } } d->__nonoption_flags_len = d->__nonoption_flags_max_len; } else d->__nonoption_flags_len = 0; #endif return optstring; } /* Scan elements of ARGV (whose length is ARGC) for option characters given in OPTSTRING. If an element of ARGV starts with '-', and is not exactly "-" or "--", then it is an option element. The characters of this element (aside from the initial '-') are option characters. If `getopt' is called repeatedly, it returns successively each of the option characters from each of the option elements. If `getopt' finds another option character, it returns that character, updating `optind' and `nextchar' so that the next call to `getopt' can resume the scan with the following option character or ARGV-element. If there are no more option characters, `getopt' returns -1. Then `optind' is the index in ARGV of the first ARGV-element that is not an option. (The ARGV-elements have been permuted so that those that are not options now come last.) OPTSTRING is a string containing the legitimate option characters. If an option character is seen that is not listed in OPTSTRING, return '?' after printing an error message. If you set `opterr' to zero, the error message is suppressed but we still return '?'. If a char in OPTSTRING is followed by a colon, that means it wants an arg, so the following text in the same ARGV-element, or the text of the following ARGV-element, is returned in `optarg'. Two colons mean an option that wants an optional arg; if there is text in the current ARGV-element, it is returned in `optarg', otherwise `optarg' is set to zero. If OPTSTRING starts with `-' or `+', it requests different methods of handling the non-option ARGV-elements. See the comments about RETURN_IN_ORDER and REQUIRE_ORDER, above. Long-named options begin with `--' instead of `-'. Their names may be abbreviated as long as the abbreviation is unique or is an exact match for some defined option. If they have an argument, it follows the option name in the same ARGV-element, separated from the option name by a `=', or else the in next ARGV-element. When `getopt' finds a long-named option, it returns 0 if that option's `flag' field is nonzero, the value of the option's `val' field if the `flag' field is zero. The elements of ARGV aren't really const, because we permute them. But we pretend they're const in the prototype to be compatible with other systems. LONGOPTS is a vector of `struct option' terminated by an element containing a name which is zero. LONGIND returns the index in LONGOPT of the long-named option found. It is only valid when a long-named option has been found by the most recent call. If LONG_ONLY is nonzero, '-' as well as '--' can introduce long-named options. */ int _getopt_internal_r (int argc, char **argv, const char *optstring, const struct option *longopts, int *longind, int long_only, struct _getopt_data *d, int posixly_correct) { int print_errors = d->opterr; if (argc < 1) return -1; d->optarg = NULL; if (d->optind == 0 || !d->__initialized) { if (d->optind == 0) d->optind = 1; /* Don't scan ARGV[0], the program name. */ optstring = _getopt_initialize (argc, argv, optstring, d, posixly_correct); d->__initialized = 1; } else if (optstring[0] == '-' || optstring[0] == '+') optstring++; if (optstring[0] == ':') print_errors = 0; /* Test whether ARGV[optind] points to a non-option argument. Either it does not have option syntax, or there is an environment flag from the shell indicating it is not an option. The later information is only used when the used in the GNU libc. */ #if defined _LIBC && defined USE_NONOPTION_FLAGS # define NONOPTION_P (argv[d->optind][0] != '-' || argv[d->optind][1] == '\0' \ || (d->optind < d->__nonoption_flags_len \ && __getopt_nonoption_flags[d->optind] == '1')) #else # define NONOPTION_P (argv[d->optind][0] != '-' || argv[d->optind][1] == '\0') #endif if (d->__nextchar == NULL || *d->__nextchar == '\0') { /* Advance to the next ARGV-element. */ /* Give FIRST_NONOPT & LAST_NONOPT rational values if OPTIND has been moved back by the user (who may also have changed the arguments). */ if (d->__last_nonopt > d->optind) d->__last_nonopt = d->optind; if (d->__first_nonopt > d->optind) d->__first_nonopt = d->optind; if (d->__ordering == PERMUTE) { /* If we have just processed some options following some non-options, exchange them so that the options come first. */ if (d->__first_nonopt != d->__last_nonopt && d->__last_nonopt != d->optind) exchange ((char **) argv, d); else if (d->__last_nonopt != d->optind) d->__first_nonopt = d->optind; /* Skip any additional non-options and extend the range of non-options previously skipped. */ while (d->optind < argc && NONOPTION_P) d->optind++; d->__last_nonopt = d->optind; } /* The special ARGV-element `--' means premature end of options. Skip it like a null option, then exchange with previous non-options as if it were an option, then skip everything else like a non-option. */ if (d->optind != argc && !strcmp (argv[d->optind], "--")) { d->optind++; if (d->__first_nonopt != d->__last_nonopt && d->__last_nonopt != d->optind) exchange ((char **) argv, d); else if (d->__first_nonopt == d->__last_nonopt) d->__first_nonopt = d->optind; d->__last_nonopt = argc; d->optind = argc; } /* If we have done all the ARGV-elements, stop the scan and back over any non-options that we skipped and permuted. */ if (d->optind == argc) { /* Set the next-arg-index to point at the non-options that we previously skipped, so the caller will digest them. */ if (d->__first_nonopt != d->__last_nonopt) d->optind = d->__first_nonopt; return -1; } /* If we have come to a non-option and did not permute it, either stop the scan or describe it to the caller and pass it by. */ if (NONOPTION_P) { if (d->__ordering == REQUIRE_ORDER) return -1; d->optarg = argv[d->optind++]; return 1; } /* We have found another option-ARGV-element. Skip the initial punctuation. */ d->__nextchar = (argv[d->optind] + 1 + (longopts != NULL && argv[d->optind][1] == '-')); } /* Decode the current option-ARGV-element. */ /* Check whether the ARGV-element is a long option. If long_only and the ARGV-element has the form "-f", where f is a valid short option, don't consider it an abbreviated form of a long option that starts with f. Otherwise there would be no way to give the -f short option. On the other hand, if there's a long option "fubar" and the ARGV-element is "-fu", do consider that an abbreviation of the long option, just like "--fu", and not "-f" with arg "u". This distinction seems to be the most useful approach. */ if (longopts != NULL && (argv[d->optind][1] == '-' || (long_only && (argv[d->optind][2] || !strchr (optstring, argv[d->optind][1]))))) { char *nameend; const struct option *p; const struct option *pfound = NULL; int exact = 0; int ambig = 0; int indfound = -1; int option_index; for (nameend = d->__nextchar; *nameend && *nameend != '='; nameend++) /* Do nothing. */ ; /* Test all long options for either exact match or abbreviated matches. */ for (p = longopts, option_index = 0; p->name; p++, option_index++) if (!strncmp (p->name, d->__nextchar, nameend - d->__nextchar)) { if ((unsigned int) (nameend - d->__nextchar) == (unsigned int) strlen (p->name)) { /* Exact match found. */ pfound = p; indfound = option_index; exact = 1; break; } else if (pfound == NULL) { /* First nonexact match found. */ pfound = p; indfound = option_index; } else if (long_only || pfound->has_arg != p->has_arg || pfound->flag != p->flag || pfound->val != p->val) /* Second or later nonexact match found. */ ambig = 1; } if (ambig && !exact) { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("%s: option '%s' is ambiguous\n"), argv[0], argv[d->optind]) >= 0) { _IO_flockfile (stderr); int old_flags2 = ((_IO_FILE *) stderr)->_flags2; ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL; __fxprintf (NULL, "%s", buf); ((_IO_FILE *) stderr)->_flags2 = old_flags2; _IO_funlockfile (stderr); free (buf); } #else fprintf (stderr, _("%s: option '%s' is ambiguous\n"), argv[0], argv[d->optind]); #endif } d->__nextchar += strlen (d->__nextchar); d->optind++; d->optopt = 0; return '?'; } if (pfound != NULL) { option_index = indfound; d->optind++; if (*nameend) { /* Don't test has_arg with >, because some C compilers don't allow it to be used on enums. */ if (pfound->has_arg) d->optarg = nameend + 1; else { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; int n; #endif if (argv[d->optind - 1][1] == '-') { /* --option */ #if defined _LIBC && defined USE_IN_LIBIO n = __asprintf (&buf, _("\ %s: option '--%s' doesn't allow an argument\n"), argv[0], pfound->name); #else fprintf (stderr, _("\ %s: option '--%s' doesn't allow an argument\n"), argv[0], pfound->name); #endif } else { /* +option or -option */ #if defined _LIBC && defined USE_IN_LIBIO n = __asprintf (&buf, _("\ %s: option '%c%s' doesn't allow an argument\n"), argv[0], argv[d->optind - 1][0], pfound->name); #else fprintf (stderr, _("\ %s: option '%c%s' doesn't allow an argument\n"), argv[0], argv[d->optind - 1][0], pfound->name); #endif } #if defined _LIBC && defined USE_IN_LIBIO if (n >= 0) { _IO_flockfile (stderr); int old_flags2 = ((_IO_FILE *) stderr)->_flags2; ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL; __fxprintf (NULL, "%s", buf); ((_IO_FILE *) stderr)->_flags2 = old_flags2; _IO_funlockfile (stderr); free (buf); } #endif } d->__nextchar += strlen (d->__nextchar); d->optopt = pfound->val; return '?'; } } else if (pfound->has_arg == 1) { if (d->optind < argc) d->optarg = argv[d->optind++]; else { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("\ %s: option '--%s' requires an argument\n"), argv[0], pfound->name) >= 0) { _IO_flockfile (stderr); int old_flags2 = ((_IO_FILE *) stderr)->_flags2; ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL; __fxprintf (NULL, "%s", buf); ((_IO_FILE *) stderr)->_flags2 = old_flags2; _IO_funlockfile (stderr); free (buf); } #else fprintf (stderr, _("%s: option '--%s' requires an argument\n"), argv[0], pfound->name); #endif } d->__nextchar += strlen (d->__nextchar); d->optopt = pfound->val; return optstring[0] == ':' ? ':' : '?'; } } d->__nextchar += strlen (d->__nextchar); if (longind != NULL) *longind = option_index; if (pfound->flag) { *(pfound->flag) = pfound->val; return 0; } return pfound->val; } /* Can't find it as a long option. If this is not getopt_long_only, or the option starts with '--' or is not a valid short option, then it's an error. Otherwise interpret it as a short option. */ if (!long_only || argv[d->optind][1] == '-' || strchr (optstring, *d->__nextchar) == NULL) { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; int n; #endif if (argv[d->optind][1] == '-') { /* --option */ #if defined _LIBC && defined USE_IN_LIBIO n = __asprintf (&buf, _("%s: unrecognized option '--%s'\n"), argv[0], d->__nextchar); #else fprintf (stderr, _("%s: unrecognized option '--%s'\n"), argv[0], d->__nextchar); #endif } else { /* +option or -option */ #if defined _LIBC && defined USE_IN_LIBIO n = __asprintf (&buf, _("%s: unrecognized option '%c%s'\n"), argv[0], argv[d->optind][0], d->__nextchar); #else fprintf (stderr, _("%s: unrecognized option '%c%s'\n"), argv[0], argv[d->optind][0], d->__nextchar); #endif } #if defined _LIBC && defined USE_IN_LIBIO if (n >= 0) { _IO_flockfile (stderr); int old_flags2 = ((_IO_FILE *) stderr)->_flags2; ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL; __fxprintf (NULL, "%s", buf); ((_IO_FILE *) stderr)->_flags2 = old_flags2; _IO_funlockfile (stderr); free (buf); } #endif } d->__nextchar = (char *) ""; d->optind++; d->optopt = 0; return '?'; } } /* Look at and handle the next short option-character. */ { char c = *d->__nextchar++; const char *temp = strchr (optstring, c); /* Increment `optind' when we start to process its last character. */ if (*d->__nextchar == '\0') ++d->optind; if (temp == NULL || c == ':' || c == ';') { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; int n; #endif #if defined _LIBC && defined USE_IN_LIBIO n = __asprintf (&buf, _("%s: invalid option -- '%c'\n"), argv[0], c); #else fprintf (stderr, _("%s: invalid option -- '%c'\n"), argv[0], c); #endif #if defined _LIBC && defined USE_IN_LIBIO if (n >= 0) { _IO_flockfile (stderr); int old_flags2 = ((_IO_FILE *) stderr)->_flags2; ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL; __fxprintf (NULL, "%s", buf); ((_IO_FILE *) stderr)->_flags2 = old_flags2; _IO_funlockfile (stderr); free (buf); } #endif } d->optopt = c; return '?'; } /* Convenience. Treat POSIX -W foo same as long option --foo */ if (temp[0] == 'W' && temp[1] == ';') { char *nameend; const struct option *p; const struct option *pfound = NULL; int exact = 0; int ambig = 0; int indfound = 0; int option_index; /* This is an option that requires an argument. */ if (*d->__nextchar != '\0') { d->optarg = d->__nextchar; /* If we end this ARGV-element by taking the rest as an arg, we must advance to the next element now. */ d->optind++; } else if (d->optind == argc) { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("%s: option requires an argument -- '%c'\n"), argv[0], c) >= 0) { _IO_flockfile (stderr); int old_flags2 = ((_IO_FILE *) stderr)->_flags2; ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL; __fxprintf (NULL, "%s", buf); ((_IO_FILE *) stderr)->_flags2 = old_flags2; _IO_funlockfile (stderr); free (buf); } #else fprintf (stderr, _("%s: option requires an argument -- '%c'\n"), argv[0], c); #endif } d->optopt = c; if (optstring[0] == ':') c = ':'; else c = '?'; return c; } else /* We already incremented `d->optind' once; increment it again when taking next ARGV-elt as argument. */ d->optarg = argv[d->optind++]; /* optarg is now the argument, see if it's in the table of longopts. */ for (d->__nextchar = nameend = d->optarg; *nameend && *nameend != '='; nameend++) /* Do nothing. */ ; /* Test all long options for either exact match or abbreviated matches. */ for (p = longopts, option_index = 0; p->name; p++, option_index++) if (!strncmp (p->name, d->__nextchar, nameend - d->__nextchar)) { if ((unsigned int) (nameend - d->__nextchar) == strlen (p->name)) { /* Exact match found. */ pfound = p; indfound = option_index; exact = 1; break; } else if (pfound == NULL) { /* First nonexact match found. */ pfound = p; indfound = option_index; } else if (long_only || pfound->has_arg != p->has_arg || pfound->flag != p->flag || pfound->val != p->val) /* Second or later nonexact match found. */ ambig = 1; } if (ambig && !exact) { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("%s: option '-W %s' is ambiguous\n"), argv[0], d->optarg) >= 0) { _IO_flockfile (stderr); int old_flags2 = ((_IO_FILE *) stderr)->_flags2; ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL; __fxprintf (NULL, "%s", buf); ((_IO_FILE *) stderr)->_flags2 = old_flags2; _IO_funlockfile (stderr); free (buf); } #else fprintf (stderr, _("%s: option '-W %s' is ambiguous\n"), argv[0], d->optarg); #endif } d->__nextchar += strlen (d->__nextchar); d->optind++; return '?'; } if (pfound != NULL) { option_index = indfound; if (*nameend) { /* Don't test has_arg with >, because some C compilers don't allow it to be used on enums. */ if (pfound->has_arg) d->optarg = nameend + 1; else { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("\ %s: option '-W %s' doesn't allow an argument\n"), argv[0], pfound->name) >= 0) { _IO_flockfile (stderr); int old_flags2 = ((_IO_FILE *) stderr)->_flags2; ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL; __fxprintf (NULL, "%s", buf); ((_IO_FILE *) stderr)->_flags2 = old_flags2; _IO_funlockfile (stderr); free (buf); } #else fprintf (stderr, _("\ %s: option '-W %s' doesn't allow an argument\n"), argv[0], pfound->name); #endif } d->__nextchar += strlen (d->__nextchar); return '?'; } } else if (pfound->has_arg == 1) { if (d->optind < argc) d->optarg = argv[d->optind++]; else { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("\ %s: option '-W %s' requires an argument\n"), argv[0], pfound->name) >= 0) { _IO_flockfile (stderr); int old_flags2 = ((_IO_FILE *) stderr)->_flags2; ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL; __fxprintf (NULL, "%s", buf); ((_IO_FILE *) stderr)->_flags2 = old_flags2; _IO_funlockfile (stderr); free (buf); } #else fprintf (stderr, _("\ %s: option '-W %s' requires an argument\n"), argv[0], pfound->name); #endif } d->__nextchar += strlen (d->__nextchar); return optstring[0] == ':' ? ':' : '?'; } } else d->optarg = NULL; d->__nextchar += strlen (d->__nextchar); if (longind != NULL) *longind = option_index; if (pfound->flag) { *(pfound->flag) = pfound->val; return 0; } return pfound->val; } d->__nextchar = NULL; return 'W'; /* Let the application handle it. */ } if (temp[1] == ':') { if (temp[2] == ':') { /* This is an option that accepts an argument optionally. */ if (*d->__nextchar != '\0') { d->optarg = d->__nextchar; d->optind++; } else d->optarg = NULL; d->__nextchar = NULL; } else { /* This is an option that requires an argument. */ if (*d->__nextchar != '\0') { d->optarg = d->__nextchar; /* If we end this ARGV-element by taking the rest as an arg, we must advance to the next element now. */ d->optind++; } else if (d->optind == argc) { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("\ %s: option requires an argument -- '%c'\n"), argv[0], c) >= 0) { _IO_flockfile (stderr); int old_flags2 = ((_IO_FILE *) stderr)->_flags2; ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL; __fxprintf (NULL, "%s", buf); ((_IO_FILE *) stderr)->_flags2 = old_flags2; _IO_funlockfile (stderr); free (buf); } #else fprintf (stderr, _("%s: option requires an argument -- '%c'\n"), argv[0], c); #endif } d->optopt = c; if (optstring[0] == ':') c = ':'; else c = '?'; } else /* We already incremented `optind' once; increment it again when taking next ARGV-elt as argument. */ d->optarg = argv[d->optind++]; d->__nextchar = NULL; } } return c; } } int _getopt_internal (int argc, char **argv, const char *optstring, const struct option *longopts, int *longind, int long_only, int posixly_correct) { int result; getopt_data.optind = optind; getopt_data.opterr = opterr; result = _getopt_internal_r (argc, argv, optstring, longopts, longind, long_only, &getopt_data, posixly_correct); optind = getopt_data.optind; optarg = getopt_data.optarg; optopt = getopt_data.optopt; return result; } /* glibc gets a LSB-compliant getopt. Standalone applications get a POSIX-compliant getopt. */ #if _LIBC enum { POSIXLY_CORRECT = 0 }; #else enum { POSIXLY_CORRECT = 1 }; #endif int getopt (int argc, char *const *argv, const char *optstring) { return _getopt_internal (argc, (char **) argv, optstring, (const struct option *) 0, (int *) 0, 0, POSIXLY_CORRECT); } #ifdef _LIBC int __posix_getopt (int argc, char *const *argv, const char *optstring) { return _getopt_internal (argc, argv, optstring, (const struct option *) 0, (int *) 0, 0, 1); } #endif #ifdef TEST /* Compile with -DTEST to make an executable for use in testing the above definition of `getopt'. */ int main (int argc, char **argv) { int c; int digit_optind = 0; while (1) { int this_option_optind = optind ? optind : 1; c = getopt (argc, argv, "abc:d:0123456789"); if (c == -1) break; switch (c) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': if (digit_optind != 0 && digit_optind != this_option_optind) printf ("digits occur in two different argv-elements.\n"); digit_optind = this_option_optind; printf ("option %c\n", c); break; case 'a': printf ("option a\n"); break; case 'b': printf ("option b\n"); break; case 'c': printf ("option c with value '%s'\n", optarg); break; case '?': break; default: printf ("?? getopt returned character code 0%o ??\n", c); } } if (optind < argc) { printf ("non-option ARGV-elements: "); while (optind < argc) printf ("%s ", argv[optind++]); printf ("\n"); } exit (0); } #endif /* TEST */ parted-2.3/lib/config.h.in0000644000000000000000000012261111400005571012311 00000000000000/* lib/config.h.in. Generated from configure.ac by autoheader. */ /* Define if the compiler is building for multiple architectures of Apple platforms at once. */ #undef AA_APPLE_UNIVERSAL_BUILD /* Define if building universal (internal helper macro) */ #undef AC_APPLE_UNIVERSAL_BUILD /* Define to the number of bits in type 'ptrdiff_t'. */ #undef BITSIZEOF_PTRDIFF_T /* Define to the number of bits in type 'sig_atomic_t'. */ #undef BITSIZEOF_SIG_ATOMIC_T /* Define to the number of bits in type 'size_t'. */ #undef BITSIZEOF_SIZE_T /* Define to the number of bits in type 'wchar_t'. */ #undef BITSIZEOF_WCHAR_T /* Define to the number of bits in type 'wint_t'. */ #undef BITSIZEOF_WINT_T /* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP systems. This function is required for `alloca.c' support on those systems. */ #undef CRAY_STACKSEG_END /* Define to 1 if using `alloca.c'. */ #undef C_ALLOCA /* Enable assertions, etc. */ #undef DEBUG /* Probing functionality only */ #undef DISCOVER_ONLY /* Define to 1 if // is a file system root distinct from /. */ #undef DOUBLE_SLASH_IS_DISTINCT_ROOT /* Lazy linking to fs libs */ #undef DYNAMIC_LOADING /* device mapper (libdevmapper) support */ #undef ENABLE_DEVICE_MAPPER /* Include file system support. i.e. libparted/fs_... */ #undef ENABLE_FS /* Mtrace malloc() debugging */ #undef ENABLE_MTRACE /* Define to 1 if translation of program messages to the user's native language is requested. */ #undef ENABLE_NLS /* Include PC98 partition tables. (Sometimes excluded to avoid collisions with msdos partition tables */ #undef ENABLE_PC98 /* Define on systems for which file names may have a so-called `drive letter' prefix, define this to compute the length of that prefix, including the colon. */ #undef FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX /* Define if the backslash character may also serve as a file name component separator. */ #undef FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR /* Define if a drive letter prefix denotes a relative path if it is not followed by a file name component separator. */ #undef FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE /* Define to 1 if realpath() can malloc memory, always gives an absolute path, and handles trailing slash correctly. */ #undef FUNC_REALPATH_WORKS /* Define if gettimeofday clobbers the localtime buffer. */ #undef GETTIMEOFDAY_CLOBBERS_LOCALTIME /* Define this to 'void' or 'struct timezone' to match the system's declaration of the second argument to gettimeofday. */ #undef GETTIMEOFDAY_TIMEZONE /* Define to make the limit macros in visible. */ #undef GL_TRIGGER_STDC_LIMIT_MACROS /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module canonicalize-lgpl shall be considered present. */ #undef GNULIB_CANONICALIZE_LGPL /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module close-stream shall be considered present. */ #undef GNULIB_CLOSE_STREAM /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module dirname shall be considered present. */ #undef GNULIB_DIRNAME /* Define to indicate the 'malloc' module. */ #undef GNULIB_MALLOC_GNU /* enable some gnulib portability checks */ #undef GNULIB_PORTCHECK /* Define to indicate the 'realloc' module. */ #undef GNULIB_REALLOC_GNU /* Define to 1 when the gnulib module btowc should be tested. */ #undef GNULIB_TEST_BTOWC /* Define to 1 when the gnulib module calloc-posix should be tested. */ #undef GNULIB_TEST_CALLOC_POSIX /* Define to 1 when the gnulib module canonicalize_file_name should be tested. */ #undef GNULIB_TEST_CANONICALIZE_FILE_NAME /* Define to 1 when the gnulib module close should be tested. */ #undef GNULIB_TEST_CLOSE /* Define to 1 when the gnulib module dup2 should be tested. */ #undef GNULIB_TEST_DUP2 /* Define to 1 when the gnulib module environ should be tested. */ #undef GNULIB_TEST_ENVIRON /* Define to 1 when the gnulib module fclose should be tested. */ #undef GNULIB_TEST_FCLOSE /* Define to 1 when the gnulib module fsync should be tested. */ #undef GNULIB_TEST_FSYNC /* Define to 1 when the gnulib module getopt-gnu should be tested. */ #undef GNULIB_TEST_GETOPT_GNU /* Define to 1 when the gnulib module gettimeofday should be tested. */ #undef GNULIB_TEST_GETTIMEOFDAY /* Define to 1 when the gnulib module lseek should be tested. */ #undef GNULIB_TEST_LSEEK /* Define to 1 when the gnulib module lstat should be tested. */ #undef GNULIB_TEST_LSTAT /* Define to 1 when the gnulib module malloc-posix should be tested. */ #undef GNULIB_TEST_MALLOC_POSIX /* Define to 1 when the gnulib module mbrtowc should be tested. */ #undef GNULIB_TEST_MBRTOWC /* Define to 1 when the gnulib module mbsinit should be tested. */ #undef GNULIB_TEST_MBSINIT /* Define to 1 when the gnulib module memchr should be tested. */ #undef GNULIB_TEST_MEMCHR /* Define to 1 when the gnulib module mkstemp should be tested. */ #undef GNULIB_TEST_MKSTEMP /* Define to 1 when the gnulib module nl_langinfo should be tested. */ #undef GNULIB_TEST_NL_LANGINFO /* Define to 1 when the gnulib module open should be tested. */ #undef GNULIB_TEST_OPEN /* Define to 1 when the gnulib module putenv should be tested. */ #undef GNULIB_TEST_PUTENV /* Define to 1 when the gnulib module readlink should be tested. */ #undef GNULIB_TEST_READLINK /* Define to 1 when the gnulib module realloc-posix should be tested. */ #undef GNULIB_TEST_REALLOC_POSIX /* Define to 1 when the gnulib module realpath should be tested. */ #undef GNULIB_TEST_REALPATH /* Define to 1 when the gnulib module rpmatch should be tested. */ #undef GNULIB_TEST_RPMATCH /* Define to 1 when the gnulib module setenv should be tested. */ #undef GNULIB_TEST_SETENV /* Define to 1 when the gnulib module sleep should be tested. */ #undef GNULIB_TEST_SLEEP /* Define to 1 when the gnulib module stat should be tested. */ #undef GNULIB_TEST_STAT /* Define to 1 when the gnulib module strdup should be tested. */ #undef GNULIB_TEST_STRDUP /* Define to 1 when the gnulib module strerror should be tested. */ #undef GNULIB_TEST_STRERROR /* Define to 1 when the gnulib module strndup should be tested. */ #undef GNULIB_TEST_STRNDUP /* Define to 1 when the gnulib module strnlen should be tested. */ #undef GNULIB_TEST_STRNLEN /* Define to 1 when the gnulib module symlink should be tested. */ #undef GNULIB_TEST_SYMLINK /* Define to 1 when the gnulib module unlink should be tested. */ #undef GNULIB_TEST_UNLINK /* Define to 1 when the gnulib module unsetenv should be tested. */ #undef GNULIB_TEST_UNSETENV /* Define to 1 when the gnulib module usleep should be tested. */ #undef GNULIB_TEST_USLEEP /* Define to 1 when the gnulib module wcrtomb should be tested. */ #undef GNULIB_TEST_WCRTOMB /* Define to 1 when the gnulib module wctob should be tested. */ #undef GNULIB_TEST_WCTOB /* Define to 1 if you have 'alloca' after including , a header that may be supplied by this distribution. */ #undef HAVE_ALLOCA /* Define to 1 if you have and it should be used (not on Ultrix). */ #undef HAVE_ALLOCA_H /* Has backtrace support */ #undef HAVE_BACKTRACE /* Define to 1 if you have the header file. */ #undef HAVE_BLKID_BLKID_H /* Define to 1 if you have the header file. */ #undef HAVE_BP_SYM_H /* Define to 1 if you have the `btowc' function. */ #undef HAVE_BTOWC /* Define to 1 if your system has a GNU libc compatible `calloc' function, and to 0 otherwise. */ #undef HAVE_CALLOC /* Define if the 'calloc' function is POSIX compliant. */ #undef HAVE_CALLOC_POSIX /* Define to 1 if you have the `canonicalize_file_name' function. */ #undef HAVE_CANONICALIZE_FILE_NAME /* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework. */ #undef HAVE_CFLOCALECOPYCURRENT /* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework. */ #undef HAVE_CFPREFERENCESCOPYAPPVALUE /* Define if the GNU dcgettext() function is already present or preinstalled. */ #undef HAVE_DCGETTEXT /* Define to 1 if you have the declaration of `alarm', and to 0 if you don't. */ #undef HAVE_DECL_ALARM /* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_GETC_UNLOCKED /* Define to 1 if you have the declaration of `getenv', and to 0 if you don't. */ #undef HAVE_DECL_GETENV /* Define to 1 if you have the declaration of `getopt_clip', and to 0 if you don't. */ #undef HAVE_DECL_GETOPT_CLIP /* Define to 1 if you have the declaration of `imaxabs', and to 0 if you don't. */ #undef HAVE_DECL_IMAXABS /* Define to 1 if you have the declaration of `imaxdiv', and to 0 if you don't. */ #undef HAVE_DECL_IMAXDIV /* Define to 1 if you have the declaration of `isblank', and to 0 if you don't. */ #undef HAVE_DECL_ISBLANK /* Define to 1 if you have the declaration of `optreset', and to 0 if you don't. */ #undef HAVE_DECL_OPTRESET /* Define to 1 if you have the declaration of `program_invocation_name', and to 0 if you don't. */ #undef HAVE_DECL_PROGRAM_INVOCATION_NAME /* Define to 1 if you have the declaration of `program_invocation_short_name', and to 0 if you don't. */ #undef HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME /* Define to 1 if you have the declaration of `sleep', and to 0 if you don't. */ #undef HAVE_DECL_SLEEP /* Define to 1 if you have the declaration of `strdup', and to 0 if you don't. */ #undef HAVE_DECL_STRDUP /* Define to 1 if you have the declaration of `strerror', and to 0 if you don't. */ #undef HAVE_DECL_STRERROR /* Define to 1 if you have the declaration of `strerror_r', and to 0 if you don't. */ #undef HAVE_DECL_STRERROR_R /* Define to 1 if you have the declaration of `strndup', and to 0 if you don't. */ #undef HAVE_DECL_STRNDUP /* Define to 1 if you have the declaration of `strnlen', and to 0 if you don't. */ #undef HAVE_DECL_STRNLEN /* Define to 1 if you have the declaration of `strtoimax', and to 0 if you don't. */ #undef HAVE_DECL_STRTOIMAX /* Define to 1 if you have the declaration of `strtoumax', and to 0 if you don't. */ #undef HAVE_DECL_STRTOUMAX /* Define to 1 if you have the declaration of `wctob', and to 0 if you don't. */ #undef HAVE_DECL_WCTOB /* Define to 1 if you have the declaration of `__fpending', and to 0 if you don't. */ #undef HAVE_DECL___FPENDING /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H /* Define to 1 if you have the `dup2' function. */ #undef HAVE_DUP2 /* Define if you have the declaration of environ. */ #undef HAVE_ENVIRON_DECL /* Define to 1 if you have the header file. */ #undef HAVE_ERRNO_H /* Define to 1 if you have the header file. */ #undef HAVE_FCNTL_H /* Define to 1 if you have the `fsync' function. */ #undef HAVE_FSYNC /* Define to 1 if you have the `getcwd' function. */ #undef HAVE_GETCWD /* Define to 1 if you have the header file. */ #undef HAVE_GETOPT_H /* Define to 1 if you have the `getopt_long_only' function. */ #undef HAVE_GETOPT_LONG_ONLY /* Define to 1 if you have the `getppriv' function. */ #undef HAVE_GETPPRIV /* Define if the GNU gettext() function is already present or preinstalled. */ #undef HAVE_GETTEXT /* Define to 1 if you have the `gettimeofday' function. */ #undef HAVE_GETTIMEOFDAY /* Define to 1 if you have the `getuid' function. */ #undef HAVE_GETUID /* Define if you have the iconv() function and it works. */ #undef HAVE_ICONV /* Define to 1 if the compiler supports one of the keywords 'inline', '__inline__', '__inline' and effectively inlines functions marked as such. */ #undef HAVE_INLINE /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define to 1 if you have the `isblank' function. */ #undef HAVE_ISBLANK /* Define to 1 if you have the `iswblank' function. */ #undef HAVE_ISWBLANK /* Define to 1 if you have the `iswcntrl' function. */ #undef HAVE_ISWCNTRL /* Define to 1 if you have the `iswctype' function. */ #undef HAVE_ISWCTYPE /* Define if you have and nl_langinfo(CODESET). */ #undef HAVE_LANGINFO_CODESET /* Define to 1 if you have the header file. */ #undef HAVE_LANGINFO_H /* Define if you have and nl_langinfo(YESEXPR). */ #undef HAVE_LANGINFO_YESEXPR /* Define to 1 if you have the header file. */ #undef HAVE_LIBINTL_H /* Define to 1 if you have the `parted' library (-lparted). */ #undef HAVE_LIBPARTED /* have readline */ #undef HAVE_LIBREADLINE /* Have libreiserfs */ #undef HAVE_LIBREISERFS /* Define to 1 if you have the header file. */ #undef HAVE_LOCALE_H /* Define to 1 if the system has the type `long long int'. */ #undef HAVE_LONG_LONG_INT /* Define to 1 if you have the `lstat' function. */ #undef HAVE_LSTAT /* Define to 1 if your system has a GNU libc compatible `malloc' function, and to 0 otherwise. */ #undef HAVE_MALLOC /* Define if the 'malloc' function is POSIX compliant. */ #undef HAVE_MALLOC_POSIX /* Define to 1 if mmap()'s MAP_ANONYMOUS flag is available after including config.h and . */ #undef HAVE_MAP_ANONYMOUS /* Define to 1 if you have the `mbrtowc' function. */ #undef HAVE_MBRTOWC /* Define to 1 if you have the `mbsinit' function. */ #undef HAVE_MBSINIT /* Define to 1 if declares mbstate_t. */ #undef HAVE_MBSTATE_T /* Define to 1 if you have the `memchr' function. */ #undef HAVE_MEMCHR /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the `mkstemp' function. */ #undef HAVE_MKSTEMP /* Define to 1 if you have the `mprotect' function. */ #undef HAVE_MPROTECT /* Define to 1 if you have the `nl_langinfo' function. */ #undef HAVE_NL_LANGINFO /* Define to 1 if you have the `pathconf' function. */ #undef HAVE_PATHCONF /* Define to 1 if you have the header file. */ #undef HAVE_PRIV_H /* Define to 1 if you have the header file. */ #undef HAVE_RANDOM_H /* Define to 1 if atoll is declared even after undefining macros. */ #undef HAVE_RAW_DECL_ATOLL /* Define to 1 if btowc is declared even after undefining macros. */ #undef HAVE_RAW_DECL_BTOWC /* Define to 1 if canonicalize_file_name is declared even after undefining macros. */ #undef HAVE_RAW_DECL_CANONICALIZE_FILE_NAME /* Define to 1 if chown is declared even after undefining macros. */ #undef HAVE_RAW_DECL_CHOWN /* Define to 1 if dprintf is declared even after undefining macros. */ #undef HAVE_RAW_DECL_DPRINTF /* Define to 1 if dup2 is declared even after undefining macros. */ #undef HAVE_RAW_DECL_DUP2 /* Define to 1 if dup3 is declared even after undefining macros. */ #undef HAVE_RAW_DECL_DUP3 /* Define to 1 if endusershell is declared even after undefining macros. */ #undef HAVE_RAW_DECL_ENDUSERSHELL /* Define to 1 if environ is declared even after undefining macros. */ #undef HAVE_RAW_DECL_ENVIRON /* Define to 1 if euidaccess is declared even after undefining macros. */ #undef HAVE_RAW_DECL_EUIDACCESS /* Define to 1 if faccessat is declared even after undefining macros. */ #undef HAVE_RAW_DECL_FACCESSAT /* Define to 1 if fchdir is declared even after undefining macros. */ #undef HAVE_RAW_DECL_FCHDIR /* Define to 1 if fchmodat is declared even after undefining macros. */ #undef HAVE_RAW_DECL_FCHMODAT /* Define to 1 if fchownat is declared even after undefining macros. */ #undef HAVE_RAW_DECL_FCHOWNAT /* Define to 1 if fcntl is declared even after undefining macros. */ #undef HAVE_RAW_DECL_FCNTL /* Define to 1 if fpurge is declared even after undefining macros. */ #undef HAVE_RAW_DECL_FPURGE /* Define to 1 if fseeko is declared even after undefining macros. */ #undef HAVE_RAW_DECL_FSEEKO /* Define to 1 if fstatat is declared even after undefining macros. */ #undef HAVE_RAW_DECL_FSTATAT /* Define to 1 if fsync is declared even after undefining macros. */ #undef HAVE_RAW_DECL_FSYNC /* Define to 1 if ftello is declared even after undefining macros. */ #undef HAVE_RAW_DECL_FTELLO /* Define to 1 if ftruncate is declared even after undefining macros. */ #undef HAVE_RAW_DECL_FTRUNCATE /* Define to 1 if futimens is declared even after undefining macros. */ #undef HAVE_RAW_DECL_FUTIMENS /* Define to 1 if getcwd is declared even after undefining macros. */ #undef HAVE_RAW_DECL_GETCWD /* Define to 1 if getdelim is declared even after undefining macros. */ #undef HAVE_RAW_DECL_GETDELIM /* Define to 1 if getdomainname is declared even after undefining macros. */ #undef HAVE_RAW_DECL_GETDOMAINNAME /* Define to 1 if getdtablesize is declared even after undefining macros. */ #undef HAVE_RAW_DECL_GETDTABLESIZE /* Define to 1 if getgroups is declared even after undefining macros. */ #undef HAVE_RAW_DECL_GETGROUPS /* Define to 1 if gethostname is declared even after undefining macros. */ #undef HAVE_RAW_DECL_GETHOSTNAME /* Define to 1 if getline is declared even after undefining macros. */ #undef HAVE_RAW_DECL_GETLINE /* Define to 1 if getloadavg is declared even after undefining macros. */ #undef HAVE_RAW_DECL_GETLOADAVG /* Define to 1 if getlogin is declared even after undefining macros. */ #undef HAVE_RAW_DECL_GETLOGIN /* Define to 1 if getlogin_r is declared even after undefining macros. */ #undef HAVE_RAW_DECL_GETLOGIN_R /* Define to 1 if getpagesize is declared even after undefining macros. */ #undef HAVE_RAW_DECL_GETPAGESIZE /* Define to 1 if getsubopt is declared even after undefining macros. */ #undef HAVE_RAW_DECL_GETSUBOPT /* Define to 1 if gettimeofday is declared even after undefining macros. */ #undef HAVE_RAW_DECL_GETTIMEOFDAY /* Define to 1 if getusershell is declared even after undefining macros. */ #undef HAVE_RAW_DECL_GETUSERSHELL /* Define to 1 if grantpt is declared even after undefining macros. */ #undef HAVE_RAW_DECL_GRANTPT /* Define to 1 if imaxabs is declared even after undefining macros. */ #undef HAVE_RAW_DECL_IMAXABS /* Define to 1 if imaxdiv is declared even after undefining macros. */ #undef HAVE_RAW_DECL_IMAXDIV /* Define to 1 if initstat_r is declared even after undefining macros. */ #undef HAVE_RAW_DECL_INITSTAT_R /* Define to 1 if lchmod is declared even after undefining macros. */ #undef HAVE_RAW_DECL_LCHMOD /* Define to 1 if lchown is declared even after undefining macros. */ #undef HAVE_RAW_DECL_LCHOWN /* Define to 1 if link is declared even after undefining macros. */ #undef HAVE_RAW_DECL_LINK /* Define to 1 if linkat is declared even after undefining macros. */ #undef HAVE_RAW_DECL_LINKAT /* Define to 1 if lseek is declared even after undefining macros. */ #undef HAVE_RAW_DECL_LSEEK /* Define to 1 if lstat is declared even after undefining macros. */ #undef HAVE_RAW_DECL_LSTAT /* Define to 1 if mbrlen is declared even after undefining macros. */ #undef HAVE_RAW_DECL_MBRLEN /* Define to 1 if mbrtowc is declared even after undefining macros. */ #undef HAVE_RAW_DECL_MBRTOWC /* Define to 1 if mbsinit is declared even after undefining macros. */ #undef HAVE_RAW_DECL_MBSINIT /* Define to 1 if mbsnrtowcs is declared even after undefining macros. */ #undef HAVE_RAW_DECL_MBSNRTOWCS /* Define to 1 if mbsrtowcs is declared even after undefining macros. */ #undef HAVE_RAW_DECL_MBSRTOWCS /* Define to 1 if memmem is declared even after undefining macros. */ #undef HAVE_RAW_DECL_MEMMEM /* Define to 1 if mempcpy is declared even after undefining macros. */ #undef HAVE_RAW_DECL_MEMPCPY /* Define to 1 if memrchr is declared even after undefining macros. */ #undef HAVE_RAW_DECL_MEMRCHR /* Define to 1 if mkdirat is declared even after undefining macros. */ #undef HAVE_RAW_DECL_MKDIRAT /* Define to 1 if mkdtemp is declared even after undefining macros. */ #undef HAVE_RAW_DECL_MKDTEMP /* Define to 1 if mkfifo is declared even after undefining macros. */ #undef HAVE_RAW_DECL_MKFIFO /* Define to 1 if mkfifoat is declared even after undefining macros. */ #undef HAVE_RAW_DECL_MKFIFOAT /* Define to 1 if mknod is declared even after undefining macros. */ #undef HAVE_RAW_DECL_MKNOD /* Define to 1 if mknodat is declared even after undefining macros. */ #undef HAVE_RAW_DECL_MKNODAT /* Define to 1 if mkostemp is declared even after undefining macros. */ #undef HAVE_RAW_DECL_MKOSTEMP /* Define to 1 if mkostemps is declared even after undefining macros. */ #undef HAVE_RAW_DECL_MKOSTEMPS /* Define to 1 if mkstemp is declared even after undefining macros. */ #undef HAVE_RAW_DECL_MKSTEMP /* Define to 1 if mkstemps is declared even after undefining macros. */ #undef HAVE_RAW_DECL_MKSTEMPS /* Define to 1 if nl_langinfo is declared even after undefining macros. */ #undef HAVE_RAW_DECL_NL_LANGINFO /* Define to 1 if openat is declared even after undefining macros. */ #undef HAVE_RAW_DECL_OPENAT /* Define to 1 if pipe2 is declared even after undefining macros. */ #undef HAVE_RAW_DECL_PIPE2 /* Define to 1 if popen is declared even after undefining macros. */ #undef HAVE_RAW_DECL_POPEN /* Define to 1 if pread is declared even after undefining macros. */ #undef HAVE_RAW_DECL_PREAD /* Define to 1 if ptsname is declared even after undefining macros. */ #undef HAVE_RAW_DECL_PTSNAME /* Define to 1 if pwrite is declared even after undefining macros. */ #undef HAVE_RAW_DECL_PWRITE /* Define to 1 if random_r is declared even after undefining macros. */ #undef HAVE_RAW_DECL_RANDOM_R /* Define to 1 if rawmemchr is declared even after undefining macros. */ #undef HAVE_RAW_DECL_RAWMEMCHR /* Define to 1 if readlink is declared even after undefining macros. */ #undef HAVE_RAW_DECL_READLINK /* Define to 1 if readlinkat is declared even after undefining macros. */ #undef HAVE_RAW_DECL_READLINKAT /* Define to 1 if realpath is declared even after undefining macros. */ #undef HAVE_RAW_DECL_REALPATH /* Define to 1 if renameat is declared even after undefining macros. */ #undef HAVE_RAW_DECL_RENAMEAT /* Define to 1 if rmdir is declared even after undefining macros. */ #undef HAVE_RAW_DECL_RMDIR /* Define to 1 if rpmatch is declared even after undefining macros. */ #undef HAVE_RAW_DECL_RPMATCH /* Define to 1 if setenv is declared even after undefining macros. */ #undef HAVE_RAW_DECL_SETENV /* Define to 1 if setstate_r is declared even after undefining macros. */ #undef HAVE_RAW_DECL_SETSTATE_R /* Define to 1 if setusershell is declared even after undefining macros. */ #undef HAVE_RAW_DECL_SETUSERSHELL /* Define to 1 if sleep is declared even after undefining macros. */ #undef HAVE_RAW_DECL_SLEEP /* Define to 1 if snprintf is declared even after undefining macros. */ #undef HAVE_RAW_DECL_SNPRINTF /* Define to 1 if srandom_r is declared even after undefining macros. */ #undef HAVE_RAW_DECL_SRANDOM_R /* Define to 1 if stat is declared even after undefining macros. */ #undef HAVE_RAW_DECL_STAT /* Define to 1 if stpcpy is declared even after undefining macros. */ #undef HAVE_RAW_DECL_STPCPY /* Define to 1 if stpncpy is declared even after undefining macros. */ #undef HAVE_RAW_DECL_STPNCPY /* Define to 1 if strcasestr is declared even after undefining macros. */ #undef HAVE_RAW_DECL_STRCASESTR /* Define to 1 if strchrnul is declared even after undefining macros. */ #undef HAVE_RAW_DECL_STRCHRNUL /* Define to 1 if strdup is declared even after undefining macros. */ #undef HAVE_RAW_DECL_STRDUP /* Define to 1 if strncat is declared even after undefining macros. */ #undef HAVE_RAW_DECL_STRNCAT /* Define to 1 if strndup is declared even after undefining macros. */ #undef HAVE_RAW_DECL_STRNDUP /* Define to 1 if strnlen is declared even after undefining macros. */ #undef HAVE_RAW_DECL_STRNLEN /* Define to 1 if strpbrk is declared even after undefining macros. */ #undef HAVE_RAW_DECL_STRPBRK /* Define to 1 if strsep is declared even after undefining macros. */ #undef HAVE_RAW_DECL_STRSEP /* Define to 1 if strsignal is declared even after undefining macros. */ #undef HAVE_RAW_DECL_STRSIGNAL /* Define to 1 if strtod is declared even after undefining macros. */ #undef HAVE_RAW_DECL_STRTOD /* Define to 1 if strtoimax is declared even after undefining macros. */ #undef HAVE_RAW_DECL_STRTOIMAX /* Define to 1 if strtok_r is declared even after undefining macros. */ #undef HAVE_RAW_DECL_STRTOK_R /* Define to 1 if strtoll is declared even after undefining macros. */ #undef HAVE_RAW_DECL_STRTOLL /* Define to 1 if strtoull is declared even after undefining macros. */ #undef HAVE_RAW_DECL_STRTOULL /* Define to 1 if strtoumax is declared even after undefining macros. */ #undef HAVE_RAW_DECL_STRTOUMAX /* Define to 1 if strverscmp is declared even after undefining macros. */ #undef HAVE_RAW_DECL_STRVERSCMP /* Define to 1 if symlink is declared even after undefining macros. */ #undef HAVE_RAW_DECL_SYMLINK /* Define to 1 if symlinkat is declared even after undefining macros. */ #undef HAVE_RAW_DECL_SYMLINKAT /* Define to 1 if tmpfile is declared even after undefining macros. */ #undef HAVE_RAW_DECL_TMPFILE /* Define to 1 if ttyname_r is declared even after undefining macros. */ #undef HAVE_RAW_DECL_TTYNAME_R /* Define to 1 if unlink is declared even after undefining macros. */ #undef HAVE_RAW_DECL_UNLINK /* Define to 1 if unlinkat is declared even after undefining macros. */ #undef HAVE_RAW_DECL_UNLINKAT /* Define to 1 if unlockpt is declared even after undefining macros. */ #undef HAVE_RAW_DECL_UNLOCKPT /* Define to 1 if unsetenv is declared even after undefining macros. */ #undef HAVE_RAW_DECL_UNSETENV /* Define to 1 if usleep is declared even after undefining macros. */ #undef HAVE_RAW_DECL_USLEEP /* Define to 1 if utimensat is declared even after undefining macros. */ #undef HAVE_RAW_DECL_UTIMENSAT /* Define to 1 if vdprintf is declared even after undefining macros. */ #undef HAVE_RAW_DECL_VDPRINTF /* Define to 1 if vsnprintf is declared even after undefining macros. */ #undef HAVE_RAW_DECL_VSNPRINTF /* Define to 1 if wcrtomb is declared even after undefining macros. */ #undef HAVE_RAW_DECL_WCRTOMB /* Define to 1 if wcsnrtombs is declared even after undefining macros. */ #undef HAVE_RAW_DECL_WCSNRTOMBS /* Define to 1 if wcsrtombs is declared even after undefining macros. */ #undef HAVE_RAW_DECL_WCSRTOMBS /* Define to 1 if wctob is declared even after undefining macros. */ #undef HAVE_RAW_DECL_WCTOB /* Define to 1 if wcwidth is declared even after undefining macros. */ #undef HAVE_RAW_DECL_WCWIDTH /* Define to 1 if you have the header file. */ #undef HAVE_READLINE_HISTORY_H /* Define to 1 if you have the header file. */ #undef HAVE_READLINE_READLINE_H /* Define to 1 if you have the `readlink' function. */ #undef HAVE_READLINK /* Define to 1 if your system has a GNU libc compatible `realloc' function, and to 0 otherwise. */ #undef HAVE_REALLOC /* Define if the 'realloc' function is POSIX compliant. */ #undef HAVE_REALLOC_POSIX /* Define to 1 if you have the `realpath' function. */ #undef HAVE_REALPATH /* Have reiserfs_fs_check() */ #undef HAVE_REISERFS_FS_CHECK /* Define to 1 if you have the `rl_completion_matches' function. */ #undef HAVE_RL_COMPLETION_MATCHES /* Define to 1 if you have the `rpmatch' function. */ #undef HAVE_RPMATCH /* Define to 1 if you have the header file. */ #undef HAVE_SEARCH_H /* Define to 1 if you have the `setenv' function. */ #undef HAVE_SETENV /* Define to 1 if you have the `sigaction' function. */ #undef HAVE_SIGACTION /* Define to 1 if 'sig_atomic_t' is a signed integer type. */ #undef HAVE_SIGNED_SIG_ATOMIC_T /* Define to 1 if 'wchar_t' is a signed integer type. */ #undef HAVE_SIGNED_WCHAR_T /* Define to 1 if 'wint_t' is a signed integer type. */ #undef HAVE_SIGNED_WINT_T /* Define to 1 if you have the `sleep' function. */ #undef HAVE_SLEEP /* Define to 1 if you have the header file. */ #undef HAVE_STDARG_H /* Define to 1 if stdbool.h conforms to C99. */ #undef HAVE_STDBOOL_H /* Define to 1 if you have the header file. */ #undef HAVE_STDDEF_H /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDIO_EXT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDIO_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_r' function. */ #undef HAVE_STRERROR_R /* 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 `strndup' function. */ #undef HAVE_STRNDUP /* Define to 1 if the system has the type `struct random_data'. */ #undef HAVE_STRUCT_RANDOM_DATA /* Define to 1 if you have the `symlink' function. */ #undef HAVE_SYMLINK /* Define to 1 if you have the header file. */ #undef HAVE_SYS_BITYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_INTTYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_MMAN_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_PARAM_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_SOCKET_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TIMEB_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TIME_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_TERMCAP_H /* Define to 1 if you have the header file. */ #undef HAVE_TIME_H /* Define to 1 if you have the `tsearch' function. */ #undef HAVE_TSEARCH /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Define to 1 if you have the `unsetenv' function. */ #undef HAVE_UNSETENV /* Define to 1 if the system has the type `unsigned long long int'. */ #undef HAVE_UNSIGNED_LONG_LONG_INT /* Define to 1 if you have the `usleep' function. */ #undef HAVE_USLEEP /* Define to 1 if you have the header file. */ #undef HAVE_WCHAR_H /* Define if you have the 'wchar_t' type. */ #undef HAVE_WCHAR_T /* Define to 1 if you have the `wcrtomb' function. */ #undef HAVE_WCRTOMB /* Define to 1 if you have the `wcscoll' function. */ #undef HAVE_WCSCOLL /* Define to 1 if you have the `wctob' function. */ #undef HAVE_WCTOB /* Define to 1 if you have the header file. */ #undef HAVE_WCTYPE_H /* Define to 1 if you have the header file. */ #undef HAVE_WINSOCK2_H /* Define if you have the 'wint_t' type. */ #undef HAVE_WINT_T /* Define to 1 if O_NOATIME works. */ #undef HAVE_WORKING_O_NOATIME /* Define to 1 if O_NOFOLLOW works. */ #undef HAVE_WORKING_O_NOFOLLOW /* Define to 1 if the system has the type `_Bool'. */ #undef HAVE__BOOL /* Define to 1 if you have the `_ftime' function. */ #undef HAVE__FTIME /* Define to 1 if you have the `__fpending' function. */ #undef HAVE___FPENDING /* Extract low level special HFS(+) files for debugging purposes when using the "check" command (NOT FOR PACKAGING) */ #undef HFS_EXTRACT_FS #if FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR # define ISSLASH(C) ((C) == '/' || (C) == '\\') #else # define ISSLASH(C) ((C) == '/') #endif /* Define to 1 if lseek does not detect pipes. */ #undef LSEEK_PIPE_BROKEN /* Define to 1 if `lstat' dereferences a symlink specified with a trailing slash. */ #undef LSTAT_FOLLOWS_SLASHED_SYMLINK /* Define to the sub-directory in which libtool stores uninstalled libraries. */ #undef LT_OBJDIR /* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */ #undef MALLOC_0_IS_NONNULL /* Define to a substitute value for mmap()'s MAP_ANONYMOUS flag. */ #undef MAP_ANONYMOUS /* Define if the mbrtowc function has the NULL string argument bug. */ #undef MBRTOWC_NULL_ARG_BUG /* Define if the mbrtowc function does not return 0 for a NUL character. */ #undef MBRTOWC_NUL_RETVAL_BUG /* Define if the mbrtowc function returns a wrong return value. */ #undef MBRTOWC_RETVAL_BUG /* Define to 1 if assertions should be disabled. */ #undef NDEBUG /* Define to 1 if your C compiler doesn't accept -c and -o together. */ #undef NO_MINUS_C_MINUS_O /* Define to 1 if open() fails to recognize a trailing slash. */ #undef OPEN_TRAILING_SLASH_BUG /* 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 /* String identifying the packager of this software */ #undef PACKAGE_PACKAGER /* Packager info for bug reports (URL/e-mail/...) */ #undef PACKAGE_PACKAGER_BUG_REPORTS /* Packager-specific version information */ #undef PACKAGE_PACKAGER_VERSION /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the home page for this package. */ #undef PACKAGE_URL /* Define to the version of this package. */ #undef PACKAGE_VERSION /* the number of pending output bytes on stream `fp' */ #undef PENDING_OUTPUT_N_BYTES /* Define if exists and defines unusable PRI* macros. */ #undef PRI_MACROS_BROKEN /* Define to the type that is the result of default argument promotions of type mode_t. */ #undef PROMOTED_MODE_T /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type 'ptrdiff_t'. */ #undef PTRDIFF_T_SUFFIX /* Define to 1 if readlink fails to recognize a trailing slash. */ #undef READLINK_TRAILING_SLASH_BUG /* Disable all writing code */ #undef READ_ONLY /* Define to 1 if stat needs help when passed a directory name with a trailing slash */ #undef REPLACE_FUNC_STAT_DIR /* Define to 1 if stat needs help when passed a file name with a trailing slash */ #undef REPLACE_FUNC_STAT_FILE /* Define if nl_langinfo exists but is overridden by gnulib. */ #undef REPLACE_NL_LANGINFO /* Define this to 1 if strerror is broken. */ #undef REPLACE_STRERROR /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type 'sig_atomic_t'. */ #undef SIG_ATOMIC_T_SUFFIX /* The size of `off_t', as computed by sizeof. */ #undef SIZEOF_OFF_T /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type 'size_t'. */ #undef SIZE_T_SUFFIX /* If using the C implementation of alloca, define if you know the direction of stack growth for your system; otherwise it will be automatically deduced at runtime. STACK_DIRECTION > 0 => grows toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses STACK_DIRECTION = 0 => direction of growth unknown */ #undef STACK_DIRECTION /* Define to 1 if the `S_IS*' macros in do not work properly. */ #undef STAT_MACROS_BROKEN /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Define to 1 if strerror_r returns char *. */ #undef STRERROR_R_CHAR_P /* Define to 1 if unlink (dir) cannot possibly succeed. */ #undef UNLINK_CANNOT_UNLINK_DIR /* Define to 1 if unlink() on a parent directory may succeed */ #undef UNLINK_PARENT_BUG /* Define to the prefix of C symbols at the assembler and linker level, either an underscore or empty. */ #undef USER_LABEL_PREFIX /* Define if you have sufficient blkid support. */ #undef USE_BLKID /* Version number of package */ #undef VERSION /* Define to 1 if unsetenv returns void instead of int. */ #undef VOID_UNSETENV /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type 'wchar_t'. */ #undef WCHAR_T_SUFFIX /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type 'wint_t'. */ #undef WINT_T_SUFFIX /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel). */ #if defined AC_APPLE_UNIVERSAL_BUILD # if defined __BIG_ENDIAN__ # define WORDS_BIGENDIAN 1 # endif #else # ifndef WORDS_BIGENDIAN # undef WORDS_BIGENDIAN # endif #endif /* Number of bits in a file offset, on hosts where this is settable. */ #undef _FILE_OFFSET_BITS /* enable compile-time and run-time bounds-checking, and some warnings */ #undef _FORTIFY_SOURCE /* Define for large files, on AIX-style hosts. */ #undef _LARGE_FILES /* Define to 1 if on MINIX. */ #undef _MINIX /* Define to 2 if the system does not provide POSIX.1 features except with this defined. */ #undef _POSIX_1_SOURCE /* Define to 1 if you need to in order for `stat' and other things to work. */ #undef _POSIX_SOURCE /* Define if you want regoff_t to be at least as wide POSIX requires. */ #undef _REGEX_LARGE_OFFSETS /* Define to 500 only on HP-UX. */ #undef _XOPEN_SOURCE /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # undef _ALL_SOURCE #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # undef _GNU_SOURCE #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # undef _POSIX_PTHREAD_SEMANTICS #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # undef _TANDEM_SOURCE #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # undef __EXTENSIONS__ #endif /* Define to rpl_ if the getopt replacement functions and variables should be used. */ #undef __GETOPT_PREFIX /* Ensure that defines the limit macros, since gnulib's relies on them. */ #if defined __cplusplus && !defined __STDC_LIMIT_MACROS && GL_TRIGGER_STDC_LIMIT_MACROS # define __STDC_LIMIT_MACROS 1 #endif /* Define to rpl_calloc if the replacement function should be used. */ #undef calloc /* Define to empty if `const' does not conform to ANSI C. */ #undef const /* A replacement for va_copy, if needed. */ #define gl_va_copy(a,b) ((a) = (b)) /* Define to rpl_gmtime if the replacement function should be used. */ #undef gmtime /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus #undef inline #endif /* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. __APPLE__ && __MACH__ test for MacOS X. __APPLE_CC__ tests for the Apple compiler and its version. __STDC_VERSION__ tests for the C99 mode. */ #if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ # define __GNUC_STDC_INLINE__ 1 #endif /* Define to 1 if the compiler is checking for lint. */ #undef lint /* Define to rpl_localtime if the replacement function should be used. */ #undef localtime /* Define to rpl_malloc if the replacement function should be used. */ #undef malloc /* Define to a type if does not define. */ #undef mbstate_t /* Define to `int' if does not define. */ #undef mode_t /* Define to the type of st_nlink in struct stat, or a supertype. */ #undef nlink_t /* Define to rpl_re_comp if the replacement should be used. */ #undef re_comp /* Define to rpl_re_compile_fastmap if the replacement should be used. */ #undef re_compile_fastmap /* Define to rpl_re_compile_pattern if the replacement should be used. */ #undef re_compile_pattern /* Define to rpl_re_exec if the replacement should be used. */ #undef re_exec /* Define to rpl_re_match if the replacement should be used. */ #undef re_match /* Define to rpl_re_match_2 if the replacement should be used. */ #undef re_match_2 /* Define to rpl_re_search if the replacement should be used. */ #undef re_search /* Define to rpl_re_search_2 if the replacement should be used. */ #undef re_search_2 /* Define to rpl_re_set_registers if the replacement should be used. */ #undef re_set_registers /* Define to rpl_re_set_syntax if the replacement should be used. */ #undef re_set_syntax /* Define to rpl_re_syntax_options if the replacement should be used. */ #undef re_syntax_options /* Define to rpl_realloc if the replacement function should be used. */ #undef realloc /* Define to rpl_regcomp if the replacement should be used. */ #undef regcomp /* Define to rpl_regerror if the replacement should be used. */ #undef regerror /* Define to rpl_regexec if the replacement should be used. */ #undef regexec /* Define to rpl_regfree if the replacement should be used. */ #undef regfree /* Define to the equivalent of the C99 'restrict' keyword, or to nothing if this is not supported. Do not define if restrict is supported directly. */ #undef restrict /* Work around a bug in Sun C++: it does not support _Restrict or __restrict__, even though the corresponding Sun C compiler ends up with "#define restrict _Restrict" or "#define restrict __restrict__" in the previous line. Perhaps some future version of Sun C++ will work with restrict; if so, hopefully it defines __RESTRICT like Sun C does. */ #if defined __SUNPRO_CC && !defined __RESTRICT # define _Restrict # define __restrict__ #endif /* Define to `unsigned int' if does not define. */ #undef size_t /* Define as a signed type of the same size as size_t. */ #undef ssize_t /* Define as a marker that can be attached to declarations that might not be used. This helps to reduce warnings, such as from GCC -Wunused-parameter. */ #if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) # define _GL_UNUSED __attribute__ ((__unused__)) #else # define _GL_UNUSED #endif /* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name is a misnomer outside of parameter lists. */ #define _UNUSED_PARAMETER_ _GL_UNUSED /* Define to an unsigned 32-bit type if lacks this type. */ #undef useconds_t /* Define as a macro for copying va_list variables. */ #undef va_copy parted-2.3/lib/regexec.c0000644000000000000000000040002611333760254012066 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Extended regular expression matching and search library. Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa . 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 3, 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. */ static reg_errcode_t match_ctx_init (re_match_context_t *cache, int eflags, Idx n) internal_function; static void match_ctx_clean (re_match_context_t *mctx) internal_function; static void match_ctx_free (re_match_context_t *cache) internal_function; static reg_errcode_t match_ctx_add_entry (re_match_context_t *cache, Idx node, Idx str_idx, Idx from, Idx to) internal_function; static Idx search_cur_bkref_entry (const re_match_context_t *mctx, Idx str_idx) internal_function; static reg_errcode_t match_ctx_add_subtop (re_match_context_t *mctx, Idx node, Idx str_idx) internal_function; static re_sub_match_last_t * match_ctx_add_sublast (re_sub_match_top_t *subtop, Idx node, Idx str_idx) internal_function; static void sift_ctx_init (re_sift_context_t *sctx, re_dfastate_t **sifted_sts, re_dfastate_t **limited_sts, Idx last_node, Idx last_str_idx) internal_function; static reg_errcode_t re_search_internal (const regex_t *preg, const char *string, Idx length, Idx start, Idx last_start, Idx stop, size_t nmatch, regmatch_t pmatch[], int eflags) internal_function; static regoff_t re_search_2_stub (struct re_pattern_buffer *bufp, const char *string1, Idx length1, const char *string2, Idx length2, Idx start, regoff_t range, struct re_registers *regs, Idx stop, bool ret_len) internal_function; static regoff_t re_search_stub (struct re_pattern_buffer *bufp, const char *string, Idx length, Idx start, regoff_t range, Idx stop, struct re_registers *regs, bool ret_len) internal_function; static unsigned int re_copy_regs (struct re_registers *regs, regmatch_t *pmatch, Idx nregs, int regs_allocated) internal_function; static reg_errcode_t prune_impossible_nodes (re_match_context_t *mctx) internal_function; static Idx check_matching (re_match_context_t *mctx, bool fl_longest_match, Idx *p_match_first) internal_function; static Idx check_halt_state_context (const re_match_context_t *mctx, const re_dfastate_t *state, Idx idx) internal_function; static void update_regs (const re_dfa_t *dfa, regmatch_t *pmatch, regmatch_t *prev_idx_match, Idx cur_node, Idx cur_idx, Idx nmatch) internal_function; static reg_errcode_t push_fail_stack (struct re_fail_stack_t *fs, Idx str_idx, Idx dest_node, Idx nregs, regmatch_t *regs, re_node_set *eps_via_nodes) internal_function; static reg_errcode_t set_regs (const regex_t *preg, const re_match_context_t *mctx, size_t nmatch, regmatch_t *pmatch, bool fl_backtrack) internal_function; static reg_errcode_t free_fail_stack_return (struct re_fail_stack_t *fs) internal_function; #ifdef RE_ENABLE_I18N static int sift_states_iter_mb (const re_match_context_t *mctx, re_sift_context_t *sctx, Idx node_idx, Idx str_idx, Idx max_str_idx) internal_function; #endif /* RE_ENABLE_I18N */ static reg_errcode_t sift_states_backward (const re_match_context_t *mctx, re_sift_context_t *sctx) internal_function; static reg_errcode_t build_sifted_states (const re_match_context_t *mctx, re_sift_context_t *sctx, Idx str_idx, re_node_set *cur_dest) internal_function; static reg_errcode_t update_cur_sifted_state (const re_match_context_t *mctx, re_sift_context_t *sctx, Idx str_idx, re_node_set *dest_nodes) internal_function; static reg_errcode_t add_epsilon_src_nodes (const re_dfa_t *dfa, re_node_set *dest_nodes, const re_node_set *candidates) internal_function; static bool check_dst_limits (const re_match_context_t *mctx, const re_node_set *limits, Idx dst_node, Idx dst_idx, Idx src_node, Idx src_idx) internal_function; static int check_dst_limits_calc_pos_1 (const re_match_context_t *mctx, int boundaries, Idx subexp_idx, Idx from_node, Idx bkref_idx) internal_function; static int check_dst_limits_calc_pos (const re_match_context_t *mctx, Idx limit, Idx subexp_idx, Idx node, Idx str_idx, Idx bkref_idx) internal_function; static reg_errcode_t check_subexp_limits (const re_dfa_t *dfa, re_node_set *dest_nodes, const re_node_set *candidates, re_node_set *limits, struct re_backref_cache_entry *bkref_ents, Idx str_idx) internal_function; static reg_errcode_t sift_states_bkref (const re_match_context_t *mctx, re_sift_context_t *sctx, Idx str_idx, const re_node_set *candidates) internal_function; static reg_errcode_t merge_state_array (const re_dfa_t *dfa, re_dfastate_t **dst, re_dfastate_t **src, Idx num) internal_function; static re_dfastate_t *find_recover_state (reg_errcode_t *err, re_match_context_t *mctx) internal_function; static re_dfastate_t *transit_state (reg_errcode_t *err, re_match_context_t *mctx, re_dfastate_t *state) internal_function; static re_dfastate_t *merge_state_with_log (reg_errcode_t *err, re_match_context_t *mctx, re_dfastate_t *next_state) internal_function; static reg_errcode_t check_subexp_matching_top (re_match_context_t *mctx, re_node_set *cur_nodes, Idx str_idx) internal_function; #if 0 static re_dfastate_t *transit_state_sb (reg_errcode_t *err, re_match_context_t *mctx, re_dfastate_t *pstate) internal_function; #endif #ifdef RE_ENABLE_I18N static reg_errcode_t transit_state_mb (re_match_context_t *mctx, re_dfastate_t *pstate) internal_function; #endif /* RE_ENABLE_I18N */ static reg_errcode_t transit_state_bkref (re_match_context_t *mctx, const re_node_set *nodes) internal_function; static reg_errcode_t get_subexp (re_match_context_t *mctx, Idx bkref_node, Idx bkref_str_idx) internal_function; static reg_errcode_t get_subexp_sub (re_match_context_t *mctx, const re_sub_match_top_t *sub_top, re_sub_match_last_t *sub_last, Idx bkref_node, Idx bkref_str) internal_function; static Idx find_subexp_node (const re_dfa_t *dfa, const re_node_set *nodes, Idx subexp_idx, int type) internal_function; static reg_errcode_t check_arrival (re_match_context_t *mctx, state_array_t *path, Idx top_node, Idx top_str, Idx last_node, Idx last_str, int type) internal_function; static reg_errcode_t check_arrival_add_next_nodes (re_match_context_t *mctx, Idx str_idx, re_node_set *cur_nodes, re_node_set *next_nodes) internal_function; static reg_errcode_t check_arrival_expand_ecl (const re_dfa_t *dfa, re_node_set *cur_nodes, Idx ex_subexp, int type) internal_function; static reg_errcode_t check_arrival_expand_ecl_sub (const re_dfa_t *dfa, re_node_set *dst_nodes, Idx target, Idx ex_subexp, int type) internal_function; static reg_errcode_t expand_bkref_cache (re_match_context_t *mctx, re_node_set *cur_nodes, Idx cur_str, Idx subexp_num, int type) internal_function; static bool build_trtable (const re_dfa_t *dfa, re_dfastate_t *state) internal_function; #ifdef RE_ENABLE_I18N static int check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx, const re_string_t *input, Idx idx) internal_function; # ifdef _LIBC static unsigned int find_collation_sequence_value (const unsigned char *mbs, size_t name_len) internal_function; # endif /* _LIBC */ #endif /* RE_ENABLE_I18N */ static Idx group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state, re_node_set *states_node, bitset_t *states_ch) internal_function; static bool check_node_accept (const re_match_context_t *mctx, const re_token_t *node, Idx idx) internal_function; static reg_errcode_t extend_buffers (re_match_context_t *mctx) internal_function; /* Entry point for POSIX code. */ /* regexec searches for a given pattern, specified by PREG, in the string STRING. If NMATCH is zero or REG_NOSUB was set in the cflags argument to `regcomp', we ignore PMATCH. Otherwise, we assume PMATCH has at least NMATCH elements, and we set them to the offsets of the corresponding matched substrings. EFLAGS specifies `execution flags' which affect matching: if REG_NOTBOL is set, then ^ does not match at the beginning of the string; if REG_NOTEOL is set, then $ does not match at the end. We return 0 if we find a match and REG_NOMATCH if not. */ int regexec (preg, string, nmatch, pmatch, eflags) const regex_t *_Restrict_ preg; const char *_Restrict_ string; size_t nmatch; regmatch_t pmatch[_Restrict_arr_]; int eflags; { reg_errcode_t err; Idx start, length; #ifdef _LIBC re_dfa_t *dfa = (re_dfa_t *) preg->buffer; #endif if (eflags & ~(REG_NOTBOL | REG_NOTEOL | REG_STARTEND)) return REG_BADPAT; if (eflags & REG_STARTEND) { start = pmatch[0].rm_so; length = pmatch[0].rm_eo; } else { start = 0; length = strlen (string); } __libc_lock_lock (dfa->lock); if (preg->no_sub) err = re_search_internal (preg, string, length, start, length, length, 0, NULL, eflags); else err = re_search_internal (preg, string, length, start, length, length, nmatch, pmatch, eflags); __libc_lock_unlock (dfa->lock); return err != REG_NOERROR; } #ifdef _LIBC # include versioned_symbol (libc, __regexec, regexec, GLIBC_2_3_4); # if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4) __typeof__ (__regexec) __compat_regexec; int attribute_compat_text_section __compat_regexec (const regex_t *_Restrict_ preg, const char *_Restrict_ string, size_t nmatch, regmatch_t pmatch[], int eflags) { return regexec (preg, string, nmatch, pmatch, eflags & (REG_NOTBOL | REG_NOTEOL)); } compat_symbol (libc, __compat_regexec, regexec, GLIBC_2_0); # endif #endif /* Entry points for GNU code. */ /* re_match, re_search, re_match_2, re_search_2 The former two functions operate on STRING with length LENGTH, while the later two operate on concatenation of STRING1 and STRING2 with lengths LENGTH1 and LENGTH2, respectively. re_match() matches the compiled pattern in BUFP against the string, starting at index START. re_search() first tries matching at index START, then it tries to match starting from index START + 1, and so on. The last start position tried is START + RANGE. (Thus RANGE = 0 forces re_search to operate the same way as re_match().) The parameter STOP of re_{match,search}_2 specifies that no match exceeding the first STOP characters of the concatenation of the strings should be concerned. If REGS is not NULL, and BUFP->no_sub is not set, the offsets of the match and all groups is stored in REGS. (For the "_2" variants, the offsets are computed relative to the concatenation, not relative to the individual strings.) On success, re_match* functions return the length of the match, re_search* return the position of the start of the match. Return value -1 means no match was found and -2 indicates an internal error. */ regoff_t re_match (bufp, string, length, start, regs) struct re_pattern_buffer *bufp; const char *string; Idx length, start; struct re_registers *regs; { return re_search_stub (bufp, string, length, start, 0, length, regs, true); } #ifdef _LIBC weak_alias (__re_match, re_match) #endif regoff_t re_search (bufp, string, length, start, range, regs) struct re_pattern_buffer *bufp; const char *string; Idx length, start; regoff_t range; struct re_registers *regs; { return re_search_stub (bufp, string, length, start, range, length, regs, false); } #ifdef _LIBC weak_alias (__re_search, re_search) #endif regoff_t re_match_2 (bufp, string1, length1, string2, length2, start, regs, stop) struct re_pattern_buffer *bufp; const char *string1, *string2; Idx length1, length2, start, stop; struct re_registers *regs; { return re_search_2_stub (bufp, string1, length1, string2, length2, start, 0, regs, stop, true); } #ifdef _LIBC weak_alias (__re_match_2, re_match_2) #endif regoff_t re_search_2 (bufp, string1, length1, string2, length2, start, range, regs, stop) struct re_pattern_buffer *bufp; const char *string1, *string2; Idx length1, length2, start, stop; regoff_t range; struct re_registers *regs; { return re_search_2_stub (bufp, string1, length1, string2, length2, start, range, regs, stop, false); } #ifdef _LIBC weak_alias (__re_search_2, re_search_2) #endif static regoff_t internal_function re_search_2_stub (struct re_pattern_buffer *bufp, const char *string1, Idx length1, const char *string2, Idx length2, Idx start, regoff_t range, struct re_registers *regs, Idx stop, bool ret_len) { const char *str; regoff_t rval; Idx len = length1 + length2; char *s = NULL; if (BE (length1 < 0 || length2 < 0 || stop < 0 || len < length1, 0)) return -2; /* Concatenate the strings. */ if (length2 > 0) if (length1 > 0) { s = re_malloc (char, len); if (BE (s == NULL, 0)) return -2; #ifdef _LIBC memcpy (__mempcpy (s, string1, length1), string2, length2); #else memcpy (s, string1, length1); memcpy (s + length1, string2, length2); #endif str = s; } else str = string2; else str = string1; rval = re_search_stub (bufp, str, len, start, range, stop, regs, ret_len); re_free (s); return rval; } /* The parameters have the same meaning as those of re_search. Additional parameters: If RET_LEN is true the length of the match is returned (re_match style); otherwise the position of the match is returned. */ static regoff_t internal_function re_search_stub (struct re_pattern_buffer *bufp, const char *string, Idx length, Idx start, regoff_t range, Idx stop, struct re_registers *regs, bool ret_len) { reg_errcode_t result; regmatch_t *pmatch; Idx nregs; regoff_t rval; int eflags = 0; #ifdef _LIBC re_dfa_t *dfa = (re_dfa_t *) bufp->buffer; #endif Idx last_start = start + range; /* Check for out-of-range. */ if (BE (start < 0 || start > length, 0)) return -1; if (BE (length < last_start || (0 <= range && last_start < start), 0)) last_start = length; else if (BE (last_start < 0 || (range < 0 && start <= last_start), 0)) last_start = 0; __libc_lock_lock (dfa->lock); eflags |= (bufp->not_bol) ? REG_NOTBOL : 0; eflags |= (bufp->not_eol) ? REG_NOTEOL : 0; /* Compile fastmap if we haven't yet. */ if (start < last_start && bufp->fastmap != NULL && !bufp->fastmap_accurate) re_compile_fastmap (bufp); if (BE (bufp->no_sub, 0)) regs = NULL; /* We need at least 1 register. */ if (regs == NULL) nregs = 1; else if (BE (bufp->regs_allocated == REGS_FIXED && regs->num_regs <= bufp->re_nsub, 0)) { nregs = regs->num_regs; if (BE (nregs < 1, 0)) { /* Nothing can be copied to regs. */ regs = NULL; nregs = 1; } } else nregs = bufp->re_nsub + 1; pmatch = re_malloc (regmatch_t, nregs); if (BE (pmatch == NULL, 0)) { rval = -2; goto out; } result = re_search_internal (bufp, string, length, start, last_start, stop, nregs, pmatch, eflags); rval = 0; /* I hope we needn't fill ther regs with -1's when no match was found. */ if (result != REG_NOERROR) rval = -1; else if (regs != NULL) { /* If caller wants register contents data back, copy them. */ bufp->regs_allocated = re_copy_regs (regs, pmatch, nregs, bufp->regs_allocated); if (BE (bufp->regs_allocated == REGS_UNALLOCATED, 0)) rval = -2; } if (BE (rval == 0, 1)) { if (ret_len) { assert (pmatch[0].rm_so == start); rval = pmatch[0].rm_eo - start; } else rval = pmatch[0].rm_so; } re_free (pmatch); out: __libc_lock_unlock (dfa->lock); return rval; } static unsigned int internal_function re_copy_regs (struct re_registers *regs, regmatch_t *pmatch, Idx nregs, int regs_allocated) { int rval = REGS_REALLOCATE; Idx i; Idx need_regs = nregs + 1; /* We need one extra element beyond `num_regs' for the `-1' marker GNU code uses. */ /* Have the register data arrays been allocated? */ if (regs_allocated == REGS_UNALLOCATED) { /* No. So allocate them with malloc. */ regs->start = re_malloc (regoff_t, need_regs); if (BE (regs->start == NULL, 0)) return REGS_UNALLOCATED; regs->end = re_malloc (regoff_t, need_regs); if (BE (regs->end == NULL, 0)) { re_free (regs->start); return REGS_UNALLOCATED; } regs->num_regs = need_regs; } else if (regs_allocated == REGS_REALLOCATE) { /* Yes. If we need more elements than were already allocated, reallocate them. If we need fewer, just leave it alone. */ if (BE (need_regs > regs->num_regs, 0)) { regoff_t *new_start = re_realloc (regs->start, regoff_t, need_regs); regoff_t *new_end; if (BE (new_start == NULL, 0)) return REGS_UNALLOCATED; new_end = re_realloc (regs->end, regoff_t, need_regs); if (BE (new_end == NULL, 0)) { re_free (new_start); return REGS_UNALLOCATED; } regs->start = new_start; regs->end = new_end; regs->num_regs = need_regs; } } else { assert (regs_allocated == REGS_FIXED); /* This function may not be called with REGS_FIXED and nregs too big. */ assert (regs->num_regs >= nregs); rval = REGS_FIXED; } /* Copy the regs. */ for (i = 0; i < nregs; ++i) { regs->start[i] = pmatch[i].rm_so; regs->end[i] = pmatch[i].rm_eo; } for ( ; i < regs->num_regs; ++i) regs->start[i] = regs->end[i] = -1; return rval; } /* Set REGS to hold NUM_REGS registers, storing them in STARTS and ENDS. Subsequent matches using PATTERN_BUFFER and REGS will use this memory for recording register information. STARTS and ENDS must be allocated using the malloc library routine, and must each be at least NUM_REGS * sizeof (regoff_t) bytes long. If NUM_REGS == 0, then subsequent matches should allocate their own register data. Unless this function is called, the first search or match using PATTERN_BUFFER will allocate its own register data, without freeing the old data. */ void re_set_registers (bufp, regs, num_regs, starts, ends) struct re_pattern_buffer *bufp; struct re_registers *regs; __re_size_t num_regs; regoff_t *starts, *ends; { if (num_regs) { bufp->regs_allocated = REGS_REALLOCATE; regs->num_regs = num_regs; regs->start = starts; regs->end = ends; } else { bufp->regs_allocated = REGS_UNALLOCATED; regs->num_regs = 0; regs->start = regs->end = NULL; } } #ifdef _LIBC weak_alias (__re_set_registers, re_set_registers) #endif /* Entry points compatible with 4.2 BSD regex library. We don't define them unless specifically requested. */ #if defined _REGEX_RE_COMP || defined _LIBC int # ifdef _LIBC weak_function # endif re_exec (s) const char *s; { return 0 == regexec (&re_comp_buf, s, 0, NULL, 0); } #endif /* _REGEX_RE_COMP */ /* Internal entry point. */ /* Searches for a compiled pattern PREG in the string STRING, whose length is LENGTH. NMATCH, PMATCH, and EFLAGS have the same meaning as with regexec. LAST_START is START + RANGE, where START and RANGE have the same meaning as with re_search. Return REG_NOERROR if we find a match, and REG_NOMATCH if not, otherwise return the error code. Note: We assume front end functions already check ranges. (0 <= LAST_START && LAST_START <= LENGTH) */ static reg_errcode_t internal_function __attribute_warn_unused_result__ re_search_internal (const regex_t *preg, const char *string, Idx length, Idx start, Idx last_start, Idx stop, size_t nmatch, regmatch_t pmatch[], int eflags) { reg_errcode_t err; const re_dfa_t *dfa = (const re_dfa_t *) preg->buffer; Idx left_lim, right_lim; int incr; bool fl_longest_match; int match_kind; Idx match_first; Idx match_last = REG_MISSING; Idx extra_nmatch; bool sb; int ch; #if defined _LIBC || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L) re_match_context_t mctx = { .dfa = dfa }; #else re_match_context_t mctx; #endif char *fastmap = ((preg->fastmap != NULL && preg->fastmap_accurate && start != last_start && !preg->can_be_null) ? preg->fastmap : NULL); RE_TRANSLATE_TYPE t = preg->translate; #if !(defined _LIBC || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L)) memset (&mctx, '\0', sizeof (re_match_context_t)); mctx.dfa = dfa; #endif extra_nmatch = (nmatch > preg->re_nsub) ? nmatch - (preg->re_nsub + 1) : 0; nmatch -= extra_nmatch; /* Check if the DFA haven't been compiled. */ if (BE (preg->used == 0 || dfa->init_state == NULL || dfa->init_state_word == NULL || dfa->init_state_nl == NULL || dfa->init_state_begbuf == NULL, 0)) return REG_NOMATCH; #ifdef DEBUG /* We assume front-end functions already check them. */ assert (0 <= last_start && last_start <= length); #endif /* If initial states with non-begbuf contexts have no elements, the regex must be anchored. If preg->newline_anchor is set, we'll never use init_state_nl, so do not check it. */ if (dfa->init_state->nodes.nelem == 0 && dfa->init_state_word->nodes.nelem == 0 && (dfa->init_state_nl->nodes.nelem == 0 || !preg->newline_anchor)) { if (start != 0 && last_start != 0) return REG_NOMATCH; start = last_start = 0; } /* We must check the longest matching, if nmatch > 0. */ fl_longest_match = (nmatch != 0 || dfa->nbackref); err = re_string_allocate (&mctx.input, string, length, dfa->nodes_len + 1, preg->translate, (preg->syntax & RE_ICASE) != 0, dfa); if (BE (err != REG_NOERROR, 0)) goto free_return; mctx.input.stop = stop; mctx.input.raw_stop = stop; mctx.input.newline_anchor = preg->newline_anchor; err = match_ctx_init (&mctx, eflags, dfa->nbackref * 2); if (BE (err != REG_NOERROR, 0)) goto free_return; /* We will log all the DFA states through which the dfa pass, if nmatch > 1, or this dfa has "multibyte node", which is a back-reference or a node which can accept multibyte character or multi character collating element. */ if (nmatch > 1 || dfa->has_mb_node) { /* Avoid overflow. */ if (BE (SIZE_MAX / sizeof (re_dfastate_t *) <= mctx.input.bufs_len, 0)) { err = REG_ESPACE; goto free_return; } mctx.state_log = re_malloc (re_dfastate_t *, mctx.input.bufs_len + 1); if (BE (mctx.state_log == NULL, 0)) { err = REG_ESPACE; goto free_return; } } else mctx.state_log = NULL; match_first = start; mctx.input.tip_context = (eflags & REG_NOTBOL) ? CONTEXT_BEGBUF : CONTEXT_NEWLINE | CONTEXT_BEGBUF; /* Check incrementally whether of not the input string match. */ incr = (last_start < start) ? -1 : 1; left_lim = (last_start < start) ? last_start : start; right_lim = (last_start < start) ? start : last_start; sb = dfa->mb_cur_max == 1; match_kind = (fastmap ? ((sb || !(preg->syntax & RE_ICASE || t) ? 4 : 0) | (start <= last_start ? 2 : 0) | (t != NULL ? 1 : 0)) : 8); for (;; match_first += incr) { err = REG_NOMATCH; if (match_first < left_lim || right_lim < match_first) goto free_return; /* Advance as rapidly as possible through the string, until we find a plausible place to start matching. This may be done with varying efficiency, so there are various possibilities: only the most common of them are specialized, in order to save on code size. We use a switch statement for speed. */ switch (match_kind) { case 8: /* No fastmap. */ break; case 7: /* Fastmap with single-byte translation, match forward. */ while (BE (match_first < right_lim, 1) && !fastmap[t[(unsigned char) string[match_first]]]) ++match_first; goto forward_match_found_start_or_reached_end; case 6: /* Fastmap without translation, match forward. */ while (BE (match_first < right_lim, 1) && !fastmap[(unsigned char) string[match_first]]) ++match_first; forward_match_found_start_or_reached_end: if (BE (match_first == right_lim, 0)) { ch = match_first >= length ? 0 : (unsigned char) string[match_first]; if (!fastmap[t ? t[ch] : ch]) goto free_return; } break; case 4: case 5: /* Fastmap without multi-byte translation, match backwards. */ while (match_first >= left_lim) { ch = match_first >= length ? 0 : (unsigned char) string[match_first]; if (fastmap[t ? t[ch] : ch]) break; --match_first; } if (match_first < left_lim) goto free_return; break; default: /* In this case, we can't determine easily the current byte, since it might be a component byte of a multibyte character. Then we use the constructed buffer instead. */ for (;;) { /* If MATCH_FIRST is out of the valid range, reconstruct the buffers. */ __re_size_t offset = match_first - mctx.input.raw_mbs_idx; if (BE (offset >= (__re_size_t) mctx.input.valid_raw_len, 0)) { err = re_string_reconstruct (&mctx.input, match_first, eflags); if (BE (err != REG_NOERROR, 0)) goto free_return; offset = match_first - mctx.input.raw_mbs_idx; } /* If MATCH_FIRST is out of the buffer, leave it as '\0'. Note that MATCH_FIRST must not be smaller than 0. */ ch = (match_first >= length ? 0 : re_string_byte_at (&mctx.input, offset)); if (fastmap[ch]) break; match_first += incr; if (match_first < left_lim || match_first > right_lim) { err = REG_NOMATCH; goto free_return; } } break; } /* Reconstruct the buffers so that the matcher can assume that the matching starts from the beginning of the buffer. */ err = re_string_reconstruct (&mctx.input, match_first, eflags); if (BE (err != REG_NOERROR, 0)) goto free_return; #ifdef RE_ENABLE_I18N /* Don't consider this char as a possible match start if it part, yet isn't the head, of a multibyte character. */ if (!sb && !re_string_first_byte (&mctx.input, 0)) continue; #endif /* It seems to be appropriate one, then use the matcher. */ /* We assume that the matching starts from 0. */ mctx.state_log_top = mctx.nbkref_ents = mctx.max_mb_elem_len = 0; match_last = check_matching (&mctx, fl_longest_match, start <= last_start ? &match_first : NULL); if (match_last != REG_MISSING) { if (BE (match_last == REG_ERROR, 0)) { err = REG_ESPACE; goto free_return; } else { mctx.match_last = match_last; if ((!preg->no_sub && nmatch > 1) || dfa->nbackref) { re_dfastate_t *pstate = mctx.state_log[match_last]; mctx.last_node = check_halt_state_context (&mctx, pstate, match_last); } if ((!preg->no_sub && nmatch > 1 && dfa->has_plural_match) || dfa->nbackref) { err = prune_impossible_nodes (&mctx); if (err == REG_NOERROR) break; if (BE (err != REG_NOMATCH, 0)) goto free_return; match_last = REG_MISSING; } else break; /* We found a match. */ } } match_ctx_clean (&mctx); } #ifdef DEBUG assert (match_last != REG_MISSING); assert (err == REG_NOERROR); #endif /* Set pmatch[] if we need. */ if (nmatch > 0) { Idx reg_idx; /* Initialize registers. */ for (reg_idx = 1; reg_idx < nmatch; ++reg_idx) pmatch[reg_idx].rm_so = pmatch[reg_idx].rm_eo = -1; /* Set the points where matching start/end. */ pmatch[0].rm_so = 0; pmatch[0].rm_eo = mctx.match_last; /* FIXME: This function should fail if mctx.match_last exceeds the maximum possible regoff_t value. We need a new error code REG_OVERFLOW. */ if (!preg->no_sub && nmatch > 1) { err = set_regs (preg, &mctx, nmatch, pmatch, dfa->has_plural_match && dfa->nbackref > 0); if (BE (err != REG_NOERROR, 0)) goto free_return; } /* At last, add the offset to the each registers, since we slided the buffers so that we could assume that the matching starts from 0. */ for (reg_idx = 0; reg_idx < nmatch; ++reg_idx) if (pmatch[reg_idx].rm_so != -1) { #ifdef RE_ENABLE_I18N if (BE (mctx.input.offsets_needed != 0, 0)) { pmatch[reg_idx].rm_so = (pmatch[reg_idx].rm_so == mctx.input.valid_len ? mctx.input.valid_raw_len : mctx.input.offsets[pmatch[reg_idx].rm_so]); pmatch[reg_idx].rm_eo = (pmatch[reg_idx].rm_eo == mctx.input.valid_len ? mctx.input.valid_raw_len : mctx.input.offsets[pmatch[reg_idx].rm_eo]); } #else assert (mctx.input.offsets_needed == 0); #endif pmatch[reg_idx].rm_so += match_first; pmatch[reg_idx].rm_eo += match_first; } for (reg_idx = 0; reg_idx < extra_nmatch; ++reg_idx) { pmatch[nmatch + reg_idx].rm_so = -1; pmatch[nmatch + reg_idx].rm_eo = -1; } if (dfa->subexp_map) for (reg_idx = 0; reg_idx + 1 < nmatch; reg_idx++) if (dfa->subexp_map[reg_idx] != reg_idx) { pmatch[reg_idx + 1].rm_so = pmatch[dfa->subexp_map[reg_idx] + 1].rm_so; pmatch[reg_idx + 1].rm_eo = pmatch[dfa->subexp_map[reg_idx] + 1].rm_eo; } } free_return: re_free (mctx.state_log); if (dfa->nbackref) match_ctx_free (&mctx); re_string_destruct (&mctx.input); return err; } static reg_errcode_t internal_function __attribute_warn_unused_result__ prune_impossible_nodes (re_match_context_t *mctx) { const re_dfa_t *const dfa = mctx->dfa; Idx halt_node, match_last; reg_errcode_t ret; re_dfastate_t **sifted_states; re_dfastate_t **lim_states = NULL; re_sift_context_t sctx; #ifdef DEBUG assert (mctx->state_log != NULL); #endif match_last = mctx->match_last; halt_node = mctx->last_node; /* Avoid overflow. */ if (BE (SIZE_MAX / sizeof (re_dfastate_t *) <= match_last, 0)) return REG_ESPACE; sifted_states = re_malloc (re_dfastate_t *, match_last + 1); if (BE (sifted_states == NULL, 0)) { ret = REG_ESPACE; goto free_return; } if (dfa->nbackref) { lim_states = re_malloc (re_dfastate_t *, match_last + 1); if (BE (lim_states == NULL, 0)) { ret = REG_ESPACE; goto free_return; } while (1) { memset (lim_states, '\0', sizeof (re_dfastate_t *) * (match_last + 1)); sift_ctx_init (&sctx, sifted_states, lim_states, halt_node, match_last); ret = sift_states_backward (mctx, &sctx); re_node_set_free (&sctx.limits); if (BE (ret != REG_NOERROR, 0)) goto free_return; if (sifted_states[0] != NULL || lim_states[0] != NULL) break; do { --match_last; if (! REG_VALID_INDEX (match_last)) { ret = REG_NOMATCH; goto free_return; } } while (mctx->state_log[match_last] == NULL || !mctx->state_log[match_last]->halt); halt_node = check_halt_state_context (mctx, mctx->state_log[match_last], match_last); } ret = merge_state_array (dfa, sifted_states, lim_states, match_last + 1); re_free (lim_states); lim_states = NULL; if (BE (ret != REG_NOERROR, 0)) goto free_return; } else { sift_ctx_init (&sctx, sifted_states, lim_states, halt_node, match_last); ret = sift_states_backward (mctx, &sctx); re_node_set_free (&sctx.limits); if (BE (ret != REG_NOERROR, 0)) goto free_return; if (sifted_states[0] == NULL) { ret = REG_NOMATCH; goto free_return; } } re_free (mctx->state_log); mctx->state_log = sifted_states; sifted_states = NULL; mctx->last_node = halt_node; mctx->match_last = match_last; ret = REG_NOERROR; free_return: re_free (sifted_states); re_free (lim_states); return ret; } /* Acquire an initial state and return it. We must select appropriate initial state depending on the context, since initial states may have constraints like "\<", "^", etc.. */ static inline re_dfastate_t * __attribute ((always_inline)) internal_function acquire_init_state_context (reg_errcode_t *err, const re_match_context_t *mctx, Idx idx) { const re_dfa_t *const dfa = mctx->dfa; if (dfa->init_state->has_constraint) { unsigned int context; context = re_string_context_at (&mctx->input, idx - 1, mctx->eflags); if (IS_WORD_CONTEXT (context)) return dfa->init_state_word; else if (IS_ORDINARY_CONTEXT (context)) return dfa->init_state; else if (IS_BEGBUF_CONTEXT (context) && IS_NEWLINE_CONTEXT (context)) return dfa->init_state_begbuf; else if (IS_NEWLINE_CONTEXT (context)) return dfa->init_state_nl; else if (IS_BEGBUF_CONTEXT (context)) { /* It is relatively rare case, then calculate on demand. */ return re_acquire_state_context (err, dfa, dfa->init_state->entrance_nodes, context); } else /* Must not happen? */ return dfa->init_state; } else return dfa->init_state; } /* Check whether the regular expression match input string INPUT or not, and return the index where the matching end. Return REG_MISSING if there is no match, and return REG_ERROR in case of an error. FL_LONGEST_MATCH means we want the POSIX longest matching. If P_MATCH_FIRST is not NULL, and the match fails, it is set to the next place where we may want to try matching. Note that the matcher assume that the maching starts from the current index of the buffer. */ static Idx internal_function __attribute_warn_unused_result__ check_matching (re_match_context_t *mctx, bool fl_longest_match, Idx *p_match_first) { const re_dfa_t *const dfa = mctx->dfa; reg_errcode_t err; Idx match = 0; Idx match_last = REG_MISSING; Idx cur_str_idx = re_string_cur_idx (&mctx->input); re_dfastate_t *cur_state; bool at_init_state = p_match_first != NULL; Idx next_start_idx = cur_str_idx; err = REG_NOERROR; cur_state = acquire_init_state_context (&err, mctx, cur_str_idx); /* An initial state must not be NULL (invalid). */ if (BE (cur_state == NULL, 0)) { assert (err == REG_ESPACE); return REG_ERROR; } if (mctx->state_log != NULL) { mctx->state_log[cur_str_idx] = cur_state; /* Check OP_OPEN_SUBEXP in the initial state in case that we use them later. E.g. Processing back references. */ if (BE (dfa->nbackref, 0)) { at_init_state = false; err = check_subexp_matching_top (mctx, &cur_state->nodes, 0); if (BE (err != REG_NOERROR, 0)) return err; if (cur_state->has_backref) { err = transit_state_bkref (mctx, &cur_state->nodes); if (BE (err != REG_NOERROR, 0)) return err; } } } /* If the RE accepts NULL string. */ if (BE (cur_state->halt, 0)) { if (!cur_state->has_constraint || check_halt_state_context (mctx, cur_state, cur_str_idx)) { if (!fl_longest_match) return cur_str_idx; else { match_last = cur_str_idx; match = 1; } } } while (!re_string_eoi (&mctx->input)) { re_dfastate_t *old_state = cur_state; Idx next_char_idx = re_string_cur_idx (&mctx->input) + 1; if (BE (next_char_idx >= mctx->input.bufs_len, 0) || (BE (next_char_idx >= mctx->input.valid_len, 0) && mctx->input.valid_len < mctx->input.len)) { err = extend_buffers (mctx); if (BE (err != REG_NOERROR, 0)) { assert (err == REG_ESPACE); return REG_ERROR; } } cur_state = transit_state (&err, mctx, cur_state); if (mctx->state_log != NULL) cur_state = merge_state_with_log (&err, mctx, cur_state); if (cur_state == NULL) { /* Reached the invalid state or an error. Try to recover a valid state using the state log, if available and if we have not already found a valid (even if not the longest) match. */ if (BE (err != REG_NOERROR, 0)) return REG_ERROR; if (mctx->state_log == NULL || (match && !fl_longest_match) || (cur_state = find_recover_state (&err, mctx)) == NULL) break; } if (BE (at_init_state, 0)) { if (old_state == cur_state) next_start_idx = next_char_idx; else at_init_state = false; } if (cur_state->halt) { /* Reached a halt state. Check the halt state can satisfy the current context. */ if (!cur_state->has_constraint || check_halt_state_context (mctx, cur_state, re_string_cur_idx (&mctx->input))) { /* We found an appropriate halt state. */ match_last = re_string_cur_idx (&mctx->input); match = 1; /* We found a match, do not modify match_first below. */ p_match_first = NULL; if (!fl_longest_match) break; } } } if (p_match_first) *p_match_first += next_start_idx; return match_last; } /* Check NODE match the current context. */ static bool internal_function check_halt_node_context (const re_dfa_t *dfa, Idx node, unsigned int context) { re_token_type_t type = dfa->nodes[node].type; unsigned int constraint = dfa->nodes[node].constraint; if (type != END_OF_RE) return false; if (!constraint) return true; if (NOT_SATISFY_NEXT_CONSTRAINT (constraint, context)) return false; return true; } /* Check the halt state STATE match the current context. Return 0 if not match, if the node, STATE has, is a halt node and match the context, return the node. */ static Idx internal_function check_halt_state_context (const re_match_context_t *mctx, const re_dfastate_t *state, Idx idx) { Idx i; unsigned int context; #ifdef DEBUG assert (state->halt); #endif context = re_string_context_at (&mctx->input, idx, mctx->eflags); for (i = 0; i < state->nodes.nelem; ++i) if (check_halt_node_context (mctx->dfa, state->nodes.elems[i], context)) return state->nodes.elems[i]; return 0; } /* Compute the next node to which "NFA" transit from NODE("NFA" is a NFA corresponding to the DFA). Return the destination node, and update EPS_VIA_NODES; return REG_MISSING in case of errors. */ static Idx internal_function proceed_next_node (const re_match_context_t *mctx, Idx nregs, regmatch_t *regs, Idx *pidx, Idx node, re_node_set *eps_via_nodes, struct re_fail_stack_t *fs) { const re_dfa_t *const dfa = mctx->dfa; Idx i; bool ok; if (IS_EPSILON_NODE (dfa->nodes[node].type)) { re_node_set *cur_nodes = &mctx->state_log[*pidx]->nodes; re_node_set *edests = &dfa->edests[node]; Idx dest_node; ok = re_node_set_insert (eps_via_nodes, node); if (BE (! ok, 0)) return REG_ERROR; /* Pick up a valid destination, or return REG_MISSING if none is found. */ for (dest_node = REG_MISSING, i = 0; i < edests->nelem; ++i) { Idx candidate = edests->elems[i]; if (!re_node_set_contains (cur_nodes, candidate)) continue; if (dest_node == REG_MISSING) dest_node = candidate; else { /* In order to avoid infinite loop like "(a*)*", return the second epsilon-transition if the first was already considered. */ if (re_node_set_contains (eps_via_nodes, dest_node)) return candidate; /* Otherwise, push the second epsilon-transition on the fail stack. */ else if (fs != NULL && push_fail_stack (fs, *pidx, candidate, nregs, regs, eps_via_nodes)) return REG_ERROR; /* We know we are going to exit. */ break; } } return dest_node; } else { Idx naccepted = 0; re_token_type_t type = dfa->nodes[node].type; #ifdef RE_ENABLE_I18N if (dfa->nodes[node].accept_mb) naccepted = check_node_accept_bytes (dfa, node, &mctx->input, *pidx); else #endif /* RE_ENABLE_I18N */ if (type == OP_BACK_REF) { Idx subexp_idx = dfa->nodes[node].opr.idx + 1; naccepted = regs[subexp_idx].rm_eo - regs[subexp_idx].rm_so; if (fs != NULL) { if (regs[subexp_idx].rm_so == -1 || regs[subexp_idx].rm_eo == -1) return REG_MISSING; else if (naccepted) { char *buf = (char *) re_string_get_buffer (&mctx->input); if (memcmp (buf + regs[subexp_idx].rm_so, buf + *pidx, naccepted) != 0) return REG_MISSING; } } if (naccepted == 0) { Idx dest_node; ok = re_node_set_insert (eps_via_nodes, node); if (BE (! ok, 0)) return REG_ERROR; dest_node = dfa->edests[node].elems[0]; if (re_node_set_contains (&mctx->state_log[*pidx]->nodes, dest_node)) return dest_node; } } if (naccepted != 0 || check_node_accept (mctx, dfa->nodes + node, *pidx)) { Idx dest_node = dfa->nexts[node]; *pidx = (naccepted == 0) ? *pidx + 1 : *pidx + naccepted; if (fs && (*pidx > mctx->match_last || mctx->state_log[*pidx] == NULL || !re_node_set_contains (&mctx->state_log[*pidx]->nodes, dest_node))) return REG_MISSING; re_node_set_empty (eps_via_nodes); return dest_node; } } return REG_MISSING; } static reg_errcode_t internal_function __attribute_warn_unused_result__ push_fail_stack (struct re_fail_stack_t *fs, Idx str_idx, Idx dest_node, Idx nregs, regmatch_t *regs, re_node_set *eps_via_nodes) { reg_errcode_t err; Idx num = fs->num++; if (fs->num == fs->alloc) { struct re_fail_stack_ent_t *new_array; new_array = realloc (fs->stack, (sizeof (struct re_fail_stack_ent_t) * fs->alloc * 2)); if (new_array == NULL) return REG_ESPACE; fs->alloc *= 2; fs->stack = new_array; } fs->stack[num].idx = str_idx; fs->stack[num].node = dest_node; fs->stack[num].regs = re_malloc (regmatch_t, nregs); if (fs->stack[num].regs == NULL) return REG_ESPACE; memcpy (fs->stack[num].regs, regs, sizeof (regmatch_t) * nregs); err = re_node_set_init_copy (&fs->stack[num].eps_via_nodes, eps_via_nodes); return err; } static Idx internal_function pop_fail_stack (struct re_fail_stack_t *fs, Idx *pidx, Idx nregs, regmatch_t *regs, re_node_set *eps_via_nodes) { Idx num = --fs->num; assert (REG_VALID_INDEX (num)); *pidx = fs->stack[num].idx; memcpy (regs, fs->stack[num].regs, sizeof (regmatch_t) * nregs); re_node_set_free (eps_via_nodes); re_free (fs->stack[num].regs); *eps_via_nodes = fs->stack[num].eps_via_nodes; return fs->stack[num].node; } /* Set the positions where the subexpressions are starts/ends to registers PMATCH. Note: We assume that pmatch[0] is already set, and pmatch[i].rm_so == pmatch[i].rm_eo == -1 for 0 < i < nmatch. */ static reg_errcode_t internal_function __attribute_warn_unused_result__ set_regs (const regex_t *preg, const re_match_context_t *mctx, size_t nmatch, regmatch_t *pmatch, bool fl_backtrack) { const re_dfa_t *dfa = (const re_dfa_t *) preg->buffer; Idx idx, cur_node; re_node_set eps_via_nodes; struct re_fail_stack_t *fs; struct re_fail_stack_t fs_body = { 0, 2, NULL }; regmatch_t *prev_idx_match; bool prev_idx_match_malloced = false; #ifdef DEBUG assert (nmatch > 1); assert (mctx->state_log != NULL); #endif if (fl_backtrack) { fs = &fs_body; fs->stack = re_malloc (struct re_fail_stack_ent_t, fs->alloc); if (fs->stack == NULL) return REG_ESPACE; } else fs = NULL; cur_node = dfa->init_node; re_node_set_init_empty (&eps_via_nodes); if (__libc_use_alloca (nmatch * sizeof (regmatch_t))) prev_idx_match = (regmatch_t *) alloca (nmatch * sizeof (regmatch_t)); else { prev_idx_match = re_malloc (regmatch_t, nmatch); if (prev_idx_match == NULL) { free_fail_stack_return (fs); return REG_ESPACE; } prev_idx_match_malloced = true; } memcpy (prev_idx_match, pmatch, sizeof (regmatch_t) * nmatch); for (idx = pmatch[0].rm_so; idx <= pmatch[0].rm_eo ;) { update_regs (dfa, pmatch, prev_idx_match, cur_node, idx, nmatch); if (idx == pmatch[0].rm_eo && cur_node == mctx->last_node) { Idx reg_idx; if (fs) { for (reg_idx = 0; reg_idx < nmatch; ++reg_idx) if (pmatch[reg_idx].rm_so > -1 && pmatch[reg_idx].rm_eo == -1) break; if (reg_idx == nmatch) { re_node_set_free (&eps_via_nodes); if (prev_idx_match_malloced) re_free (prev_idx_match); return free_fail_stack_return (fs); } cur_node = pop_fail_stack (fs, &idx, nmatch, pmatch, &eps_via_nodes); } else { re_node_set_free (&eps_via_nodes); if (prev_idx_match_malloced) re_free (prev_idx_match); return REG_NOERROR; } } /* Proceed to next node. */ cur_node = proceed_next_node (mctx, nmatch, pmatch, &idx, cur_node, &eps_via_nodes, fs); if (BE (! REG_VALID_INDEX (cur_node), 0)) { if (BE (cur_node == REG_ERROR, 0)) { re_node_set_free (&eps_via_nodes); if (prev_idx_match_malloced) re_free (prev_idx_match); free_fail_stack_return (fs); return REG_ESPACE; } if (fs) cur_node = pop_fail_stack (fs, &idx, nmatch, pmatch, &eps_via_nodes); else { re_node_set_free (&eps_via_nodes); if (prev_idx_match_malloced) re_free (prev_idx_match); return REG_NOMATCH; } } } re_node_set_free (&eps_via_nodes); if (prev_idx_match_malloced) re_free (prev_idx_match); return free_fail_stack_return (fs); } static reg_errcode_t internal_function free_fail_stack_return (struct re_fail_stack_t *fs) { if (fs) { Idx fs_idx; for (fs_idx = 0; fs_idx < fs->num; ++fs_idx) { re_node_set_free (&fs->stack[fs_idx].eps_via_nodes); re_free (fs->stack[fs_idx].regs); } re_free (fs->stack); } return REG_NOERROR; } static void internal_function update_regs (const re_dfa_t *dfa, regmatch_t *pmatch, regmatch_t *prev_idx_match, Idx cur_node, Idx cur_idx, Idx nmatch) { int type = dfa->nodes[cur_node].type; if (type == OP_OPEN_SUBEXP) { Idx reg_num = dfa->nodes[cur_node].opr.idx + 1; /* We are at the first node of this sub expression. */ if (reg_num < nmatch) { pmatch[reg_num].rm_so = cur_idx; pmatch[reg_num].rm_eo = -1; } } else if (type == OP_CLOSE_SUBEXP) { Idx reg_num = dfa->nodes[cur_node].opr.idx + 1; if (reg_num < nmatch) { /* We are at the last node of this sub expression. */ if (pmatch[reg_num].rm_so < cur_idx) { pmatch[reg_num].rm_eo = cur_idx; /* This is a non-empty match or we are not inside an optional subexpression. Accept this right away. */ memcpy (prev_idx_match, pmatch, sizeof (regmatch_t) * nmatch); } else { if (dfa->nodes[cur_node].opt_subexp && prev_idx_match[reg_num].rm_so != -1) /* We transited through an empty match for an optional subexpression, like (a?)*, and this is not the subexp's first match. Copy back the old content of the registers so that matches of an inner subexpression are undone as well, like in ((a?))*. */ memcpy (pmatch, prev_idx_match, sizeof (regmatch_t) * nmatch); else /* We completed a subexpression, but it may be part of an optional one, so do not update PREV_IDX_MATCH. */ pmatch[reg_num].rm_eo = cur_idx; } } } } /* This function checks the STATE_LOG from the SCTX->last_str_idx to 0 and sift the nodes in each states according to the following rules. Updated state_log will be wrote to STATE_LOG. Rules: We throw away the Node `a' in the STATE_LOG[STR_IDX] if... 1. When STR_IDX == MATCH_LAST(the last index in the state_log): If `a' isn't the LAST_NODE and `a' can't epsilon transit to the LAST_NODE, we throw away the node `a'. 2. When 0 <= STR_IDX < MATCH_LAST and `a' accepts string `s' and transit to `b': i. If 'b' isn't in the STATE_LOG[STR_IDX+strlen('s')], we throw away the node `a'. ii. If 'b' is in the STATE_LOG[STR_IDX+strlen('s')] but 'b' is thrown away, we throw away the node `a'. 3. When 0 <= STR_IDX < MATCH_LAST and 'a' epsilon transit to 'b': i. If 'b' isn't in the STATE_LOG[STR_IDX], we throw away the node `a'. ii. If 'b' is in the STATE_LOG[STR_IDX] but 'b' is thrown away, we throw away the node `a'. */ #define STATE_NODE_CONTAINS(state,node) \ ((state) != NULL && re_node_set_contains (&(state)->nodes, node)) static reg_errcode_t internal_function sift_states_backward (const re_match_context_t *mctx, re_sift_context_t *sctx) { reg_errcode_t err; int null_cnt = 0; Idx str_idx = sctx->last_str_idx; re_node_set cur_dest; #ifdef DEBUG assert (mctx->state_log != NULL && mctx->state_log[str_idx] != NULL); #endif /* Build sifted state_log[str_idx]. It has the nodes which can epsilon transit to the last_node and the last_node itself. */ err = re_node_set_init_1 (&cur_dest, sctx->last_node); if (BE (err != REG_NOERROR, 0)) return err; err = update_cur_sifted_state (mctx, sctx, str_idx, &cur_dest); if (BE (err != REG_NOERROR, 0)) goto free_return; /* Then check each states in the state_log. */ while (str_idx > 0) { /* Update counters. */ null_cnt = (sctx->sifted_states[str_idx] == NULL) ? null_cnt + 1 : 0; if (null_cnt > mctx->max_mb_elem_len) { memset (sctx->sifted_states, '\0', sizeof (re_dfastate_t *) * str_idx); re_node_set_free (&cur_dest); return REG_NOERROR; } re_node_set_empty (&cur_dest); --str_idx; if (mctx->state_log[str_idx]) { err = build_sifted_states (mctx, sctx, str_idx, &cur_dest); if (BE (err != REG_NOERROR, 0)) goto free_return; } /* Add all the nodes which satisfy the following conditions: - It can epsilon transit to a node in CUR_DEST. - It is in CUR_SRC. And update state_log. */ err = update_cur_sifted_state (mctx, sctx, str_idx, &cur_dest); if (BE (err != REG_NOERROR, 0)) goto free_return; } err = REG_NOERROR; free_return: re_node_set_free (&cur_dest); return err; } static reg_errcode_t internal_function __attribute_warn_unused_result__ build_sifted_states (const re_match_context_t *mctx, re_sift_context_t *sctx, Idx str_idx, re_node_set *cur_dest) { const re_dfa_t *const dfa = mctx->dfa; const re_node_set *cur_src = &mctx->state_log[str_idx]->non_eps_nodes; Idx i; /* Then build the next sifted state. We build the next sifted state on `cur_dest', and update `sifted_states[str_idx]' with `cur_dest'. Note: `cur_dest' is the sifted state from `state_log[str_idx + 1]'. `cur_src' points the node_set of the old `state_log[str_idx]' (with the epsilon nodes pre-filtered out). */ for (i = 0; i < cur_src->nelem; i++) { Idx prev_node = cur_src->elems[i]; int naccepted = 0; bool ok; #ifdef DEBUG re_token_type_t type = dfa->nodes[prev_node].type; assert (!IS_EPSILON_NODE (type)); #endif #ifdef RE_ENABLE_I18N /* If the node may accept `multi byte'. */ if (dfa->nodes[prev_node].accept_mb) naccepted = sift_states_iter_mb (mctx, sctx, prev_node, str_idx, sctx->last_str_idx); #endif /* RE_ENABLE_I18N */ /* We don't check backreferences here. See update_cur_sifted_state(). */ if (!naccepted && check_node_accept (mctx, dfa->nodes + prev_node, str_idx) && STATE_NODE_CONTAINS (sctx->sifted_states[str_idx + 1], dfa->nexts[prev_node])) naccepted = 1; if (naccepted == 0) continue; if (sctx->limits.nelem) { Idx to_idx = str_idx + naccepted; if (check_dst_limits (mctx, &sctx->limits, dfa->nexts[prev_node], to_idx, prev_node, str_idx)) continue; } ok = re_node_set_insert (cur_dest, prev_node); if (BE (! ok, 0)) return REG_ESPACE; } return REG_NOERROR; } /* Helper functions. */ static reg_errcode_t internal_function clean_state_log_if_needed (re_match_context_t *mctx, Idx next_state_log_idx) { Idx top = mctx->state_log_top; if (next_state_log_idx >= mctx->input.bufs_len || (next_state_log_idx >= mctx->input.valid_len && mctx->input.valid_len < mctx->input.len)) { reg_errcode_t err; err = extend_buffers (mctx); if (BE (err != REG_NOERROR, 0)) return err; } if (top < next_state_log_idx) { memset (mctx->state_log + top + 1, '\0', sizeof (re_dfastate_t *) * (next_state_log_idx - top)); mctx->state_log_top = next_state_log_idx; } return REG_NOERROR; } static reg_errcode_t internal_function merge_state_array (const re_dfa_t *dfa, re_dfastate_t **dst, re_dfastate_t **src, Idx num) { Idx st_idx; reg_errcode_t err; for (st_idx = 0; st_idx < num; ++st_idx) { if (dst[st_idx] == NULL) dst[st_idx] = src[st_idx]; else if (src[st_idx] != NULL) { re_node_set merged_set; err = re_node_set_init_union (&merged_set, &dst[st_idx]->nodes, &src[st_idx]->nodes); if (BE (err != REG_NOERROR, 0)) return err; dst[st_idx] = re_acquire_state (&err, dfa, &merged_set); re_node_set_free (&merged_set); if (BE (err != REG_NOERROR, 0)) return err; } } return REG_NOERROR; } static reg_errcode_t internal_function update_cur_sifted_state (const re_match_context_t *mctx, re_sift_context_t *sctx, Idx str_idx, re_node_set *dest_nodes) { const re_dfa_t *const dfa = mctx->dfa; reg_errcode_t err = REG_NOERROR; const re_node_set *candidates; candidates = ((mctx->state_log[str_idx] == NULL) ? NULL : &mctx->state_log[str_idx]->nodes); if (dest_nodes->nelem == 0) sctx->sifted_states[str_idx] = NULL; else { if (candidates) { /* At first, add the nodes which can epsilon transit to a node in DEST_NODE. */ err = add_epsilon_src_nodes (dfa, dest_nodes, candidates); if (BE (err != REG_NOERROR, 0)) return err; /* Then, check the limitations in the current sift_context. */ if (sctx->limits.nelem) { err = check_subexp_limits (dfa, dest_nodes, candidates, &sctx->limits, mctx->bkref_ents, str_idx); if (BE (err != REG_NOERROR, 0)) return err; } } sctx->sifted_states[str_idx] = re_acquire_state (&err, dfa, dest_nodes); if (BE (err != REG_NOERROR, 0)) return err; } if (candidates && mctx->state_log[str_idx]->has_backref) { err = sift_states_bkref (mctx, sctx, str_idx, candidates); if (BE (err != REG_NOERROR, 0)) return err; } return REG_NOERROR; } static reg_errcode_t internal_function __attribute_warn_unused_result__ add_epsilon_src_nodes (const re_dfa_t *dfa, re_node_set *dest_nodes, const re_node_set *candidates) { reg_errcode_t err = REG_NOERROR; Idx i; re_dfastate_t *state = re_acquire_state (&err, dfa, dest_nodes); if (BE (err != REG_NOERROR, 0)) return err; if (!state->inveclosure.alloc) { err = re_node_set_alloc (&state->inveclosure, dest_nodes->nelem); if (BE (err != REG_NOERROR, 0)) return REG_ESPACE; for (i = 0; i < dest_nodes->nelem; i++) { err = re_node_set_merge (&state->inveclosure, dfa->inveclosures + dest_nodes->elems[i]); if (BE (err != REG_NOERROR, 0)) return REG_ESPACE; } } return re_node_set_add_intersect (dest_nodes, candidates, &state->inveclosure); } static reg_errcode_t internal_function sub_epsilon_src_nodes (const re_dfa_t *dfa, Idx node, re_node_set *dest_nodes, const re_node_set *candidates) { Idx ecl_idx; reg_errcode_t err; re_node_set *inv_eclosure = dfa->inveclosures + node; re_node_set except_nodes; re_node_set_init_empty (&except_nodes); for (ecl_idx = 0; ecl_idx < inv_eclosure->nelem; ++ecl_idx) { Idx cur_node = inv_eclosure->elems[ecl_idx]; if (cur_node == node) continue; if (IS_EPSILON_NODE (dfa->nodes[cur_node].type)) { Idx edst1 = dfa->edests[cur_node].elems[0]; Idx edst2 = ((dfa->edests[cur_node].nelem > 1) ? dfa->edests[cur_node].elems[1] : REG_MISSING); if ((!re_node_set_contains (inv_eclosure, edst1) && re_node_set_contains (dest_nodes, edst1)) || (REG_VALID_NONZERO_INDEX (edst2) && !re_node_set_contains (inv_eclosure, edst2) && re_node_set_contains (dest_nodes, edst2))) { err = re_node_set_add_intersect (&except_nodes, candidates, dfa->inveclosures + cur_node); if (BE (err != REG_NOERROR, 0)) { re_node_set_free (&except_nodes); return err; } } } } for (ecl_idx = 0; ecl_idx < inv_eclosure->nelem; ++ecl_idx) { Idx cur_node = inv_eclosure->elems[ecl_idx]; if (!re_node_set_contains (&except_nodes, cur_node)) { Idx idx = re_node_set_contains (dest_nodes, cur_node) - 1; re_node_set_remove_at (dest_nodes, idx); } } re_node_set_free (&except_nodes); return REG_NOERROR; } static bool internal_function check_dst_limits (const re_match_context_t *mctx, const re_node_set *limits, Idx dst_node, Idx dst_idx, Idx src_node, Idx src_idx) { const re_dfa_t *const dfa = mctx->dfa; Idx lim_idx, src_pos, dst_pos; Idx dst_bkref_idx = search_cur_bkref_entry (mctx, dst_idx); Idx src_bkref_idx = search_cur_bkref_entry (mctx, src_idx); for (lim_idx = 0; lim_idx < limits->nelem; ++lim_idx) { Idx subexp_idx; struct re_backref_cache_entry *ent; ent = mctx->bkref_ents + limits->elems[lim_idx]; subexp_idx = dfa->nodes[ent->node].opr.idx; dst_pos = check_dst_limits_calc_pos (mctx, limits->elems[lim_idx], subexp_idx, dst_node, dst_idx, dst_bkref_idx); src_pos = check_dst_limits_calc_pos (mctx, limits->elems[lim_idx], subexp_idx, src_node, src_idx, src_bkref_idx); /* In case of: ( ) ( ) ( ) */ if (src_pos == dst_pos) continue; /* This is unrelated limitation. */ else return true; } return false; } static int internal_function check_dst_limits_calc_pos_1 (const re_match_context_t *mctx, int boundaries, Idx subexp_idx, Idx from_node, Idx bkref_idx) { const re_dfa_t *const dfa = mctx->dfa; const re_node_set *eclosures = dfa->eclosures + from_node; Idx node_idx; /* Else, we are on the boundary: examine the nodes on the epsilon closure. */ for (node_idx = 0; node_idx < eclosures->nelem; ++node_idx) { Idx node = eclosures->elems[node_idx]; switch (dfa->nodes[node].type) { case OP_BACK_REF: if (bkref_idx != REG_MISSING) { struct re_backref_cache_entry *ent = mctx->bkref_ents + bkref_idx; do { Idx dst; int cpos; if (ent->node != node) continue; if (subexp_idx < BITSET_WORD_BITS && !(ent->eps_reachable_subexps_map & ((bitset_word_t) 1 << subexp_idx))) continue; /* Recurse trying to reach the OP_OPEN_SUBEXP and OP_CLOSE_SUBEXP cases below. But, if the destination node is the same node as the source node, don't recurse because it would cause an infinite loop: a regex that exhibits this behavior is ()\1*\1* */ dst = dfa->edests[node].elems[0]; if (dst == from_node) { if (boundaries & 1) return -1; else /* if (boundaries & 2) */ return 0; } cpos = check_dst_limits_calc_pos_1 (mctx, boundaries, subexp_idx, dst, bkref_idx); if (cpos == -1 /* && (boundaries & 1) */) return -1; if (cpos == 0 && (boundaries & 2)) return 0; if (subexp_idx < BITSET_WORD_BITS) ent->eps_reachable_subexps_map &= ~((bitset_word_t) 1 << subexp_idx); } while (ent++->more); } break; case OP_OPEN_SUBEXP: if ((boundaries & 1) && subexp_idx == dfa->nodes[node].opr.idx) return -1; break; case OP_CLOSE_SUBEXP: if ((boundaries & 2) && subexp_idx == dfa->nodes[node].opr.idx) return 0; break; default: break; } } return (boundaries & 2) ? 1 : 0; } static int internal_function check_dst_limits_calc_pos (const re_match_context_t *mctx, Idx limit, Idx subexp_idx, Idx from_node, Idx str_idx, Idx bkref_idx) { struct re_backref_cache_entry *lim = mctx->bkref_ents + limit; int boundaries; /* If we are outside the range of the subexpression, return -1 or 1. */ if (str_idx < lim->subexp_from) return -1; if (lim->subexp_to < str_idx) return 1; /* If we are within the subexpression, return 0. */ boundaries = (str_idx == lim->subexp_from); boundaries |= (str_idx == lim->subexp_to) << 1; if (boundaries == 0) return 0; /* Else, examine epsilon closure. */ return check_dst_limits_calc_pos_1 (mctx, boundaries, subexp_idx, from_node, bkref_idx); } /* Check the limitations of sub expressions LIMITS, and remove the nodes which are against limitations from DEST_NODES. */ static reg_errcode_t internal_function check_subexp_limits (const re_dfa_t *dfa, re_node_set *dest_nodes, const re_node_set *candidates, re_node_set *limits, struct re_backref_cache_entry *bkref_ents, Idx str_idx) { reg_errcode_t err; Idx node_idx, lim_idx; for (lim_idx = 0; lim_idx < limits->nelem; ++lim_idx) { Idx subexp_idx; struct re_backref_cache_entry *ent; ent = bkref_ents + limits->elems[lim_idx]; if (str_idx <= ent->subexp_from || ent->str_idx < str_idx) continue; /* This is unrelated limitation. */ subexp_idx = dfa->nodes[ent->node].opr.idx; if (ent->subexp_to == str_idx) { Idx ops_node = REG_MISSING; Idx cls_node = REG_MISSING; for (node_idx = 0; node_idx < dest_nodes->nelem; ++node_idx) { Idx node = dest_nodes->elems[node_idx]; re_token_type_t type = dfa->nodes[node].type; if (type == OP_OPEN_SUBEXP && subexp_idx == dfa->nodes[node].opr.idx) ops_node = node; else if (type == OP_CLOSE_SUBEXP && subexp_idx == dfa->nodes[node].opr.idx) cls_node = node; } /* Check the limitation of the open subexpression. */ /* Note that (ent->subexp_to = str_idx != ent->subexp_from). */ if (REG_VALID_INDEX (ops_node)) { err = sub_epsilon_src_nodes (dfa, ops_node, dest_nodes, candidates); if (BE (err != REG_NOERROR, 0)) return err; } /* Check the limitation of the close subexpression. */ if (REG_VALID_INDEX (cls_node)) for (node_idx = 0; node_idx < dest_nodes->nelem; ++node_idx) { Idx node = dest_nodes->elems[node_idx]; if (!re_node_set_contains (dfa->inveclosures + node, cls_node) && !re_node_set_contains (dfa->eclosures + node, cls_node)) { /* It is against this limitation. Remove it form the current sifted state. */ err = sub_epsilon_src_nodes (dfa, node, dest_nodes, candidates); if (BE (err != REG_NOERROR, 0)) return err; --node_idx; } } } else /* (ent->subexp_to != str_idx) */ { for (node_idx = 0; node_idx < dest_nodes->nelem; ++node_idx) { Idx node = dest_nodes->elems[node_idx]; re_token_type_t type = dfa->nodes[node].type; if (type == OP_CLOSE_SUBEXP || type == OP_OPEN_SUBEXP) { if (subexp_idx != dfa->nodes[node].opr.idx) continue; /* It is against this limitation. Remove it form the current sifted state. */ err = sub_epsilon_src_nodes (dfa, node, dest_nodes, candidates); if (BE (err != REG_NOERROR, 0)) return err; } } } } return REG_NOERROR; } static reg_errcode_t internal_function __attribute_warn_unused_result__ sift_states_bkref (const re_match_context_t *mctx, re_sift_context_t *sctx, Idx str_idx, const re_node_set *candidates) { const re_dfa_t *const dfa = mctx->dfa; reg_errcode_t err; Idx node_idx, node; re_sift_context_t local_sctx; Idx first_idx = search_cur_bkref_entry (mctx, str_idx); if (first_idx == REG_MISSING) return REG_NOERROR; local_sctx.sifted_states = NULL; /* Mark that it hasn't been initialized. */ for (node_idx = 0; node_idx < candidates->nelem; ++node_idx) { Idx enabled_idx; re_token_type_t type; struct re_backref_cache_entry *entry; node = candidates->elems[node_idx]; type = dfa->nodes[node].type; /* Avoid infinite loop for the REs like "()\1+". */ if (node == sctx->last_node && str_idx == sctx->last_str_idx) continue; if (type != OP_BACK_REF) continue; entry = mctx->bkref_ents + first_idx; enabled_idx = first_idx; do { Idx subexp_len; Idx to_idx; Idx dst_node; bool ok; re_dfastate_t *cur_state; if (entry->node != node) continue; subexp_len = entry->subexp_to - entry->subexp_from; to_idx = str_idx + subexp_len; dst_node = (subexp_len ? dfa->nexts[node] : dfa->edests[node].elems[0]); if (to_idx > sctx->last_str_idx || sctx->sifted_states[to_idx] == NULL || !STATE_NODE_CONTAINS (sctx->sifted_states[to_idx], dst_node) || check_dst_limits (mctx, &sctx->limits, node, str_idx, dst_node, to_idx)) continue; if (local_sctx.sifted_states == NULL) { local_sctx = *sctx; err = re_node_set_init_copy (&local_sctx.limits, &sctx->limits); if (BE (err != REG_NOERROR, 0)) goto free_return; } local_sctx.last_node = node; local_sctx.last_str_idx = str_idx; ok = re_node_set_insert (&local_sctx.limits, enabled_idx); if (BE (! ok, 0)) { err = REG_ESPACE; goto free_return; } cur_state = local_sctx.sifted_states[str_idx]; err = sift_states_backward (mctx, &local_sctx); if (BE (err != REG_NOERROR, 0)) goto free_return; if (sctx->limited_states != NULL) { err = merge_state_array (dfa, sctx->limited_states, local_sctx.sifted_states, str_idx + 1); if (BE (err != REG_NOERROR, 0)) goto free_return; } local_sctx.sifted_states[str_idx] = cur_state; re_node_set_remove (&local_sctx.limits, enabled_idx); /* mctx->bkref_ents may have changed, reload the pointer. */ entry = mctx->bkref_ents + enabled_idx; } while (enabled_idx++, entry++->more); } err = REG_NOERROR; free_return: if (local_sctx.sifted_states != NULL) { re_node_set_free (&local_sctx.limits); } return err; } #ifdef RE_ENABLE_I18N static int internal_function sift_states_iter_mb (const re_match_context_t *mctx, re_sift_context_t *sctx, Idx node_idx, Idx str_idx, Idx max_str_idx) { const re_dfa_t *const dfa = mctx->dfa; int naccepted; /* Check the node can accept `multi byte'. */ naccepted = check_node_accept_bytes (dfa, node_idx, &mctx->input, str_idx); if (naccepted > 0 && str_idx + naccepted <= max_str_idx && !STATE_NODE_CONTAINS (sctx->sifted_states[str_idx + naccepted], dfa->nexts[node_idx])) /* The node can't accept the `multi byte', or the destination was already thrown away, then the node could't accept the current input `multi byte'. */ naccepted = 0; /* Otherwise, it is sure that the node could accept `naccepted' bytes input. */ return naccepted; } #endif /* RE_ENABLE_I18N */ /* Functions for state transition. */ /* Return the next state to which the current state STATE will transit by accepting the current input byte, and update STATE_LOG if necessary. If STATE can accept a multibyte char/collating element/back reference update the destination of STATE_LOG. */ static re_dfastate_t * internal_function __attribute_warn_unused_result__ transit_state (reg_errcode_t *err, re_match_context_t *mctx, re_dfastate_t *state) { re_dfastate_t **trtable; unsigned char ch; #ifdef RE_ENABLE_I18N /* If the current state can accept multibyte. */ if (BE (state->accept_mb, 0)) { *err = transit_state_mb (mctx, state); if (BE (*err != REG_NOERROR, 0)) return NULL; } #endif /* RE_ENABLE_I18N */ /* Then decide the next state with the single byte. */ #if 0 if (0) /* don't use transition table */ return transit_state_sb (err, mctx, state); #endif /* Use transition table */ ch = re_string_fetch_byte (&mctx->input); for (;;) { trtable = state->trtable; if (BE (trtable != NULL, 1)) return trtable[ch]; trtable = state->word_trtable; if (BE (trtable != NULL, 1)) { unsigned int context; context = re_string_context_at (&mctx->input, re_string_cur_idx (&mctx->input) - 1, mctx->eflags); if (IS_WORD_CONTEXT (context)) return trtable[ch + SBC_MAX]; else return trtable[ch]; } if (!build_trtable (mctx->dfa, state)) { *err = REG_ESPACE; return NULL; } /* Retry, we now have a transition table. */ } } /* Update the state_log if we need */ static re_dfastate_t * internal_function merge_state_with_log (reg_errcode_t *err, re_match_context_t *mctx, re_dfastate_t *next_state) { const re_dfa_t *const dfa = mctx->dfa; Idx cur_idx = re_string_cur_idx (&mctx->input); if (cur_idx > mctx->state_log_top) { mctx->state_log[cur_idx] = next_state; mctx->state_log_top = cur_idx; } else if (mctx->state_log[cur_idx] == 0) { mctx->state_log[cur_idx] = next_state; } else { re_dfastate_t *pstate; unsigned int context; re_node_set next_nodes, *log_nodes, *table_nodes = NULL; /* If (state_log[cur_idx] != 0), it implies that cur_idx is the destination of a multibyte char/collating element/ back reference. Then the next state is the union set of these destinations and the results of the transition table. */ pstate = mctx->state_log[cur_idx]; log_nodes = pstate->entrance_nodes; if (next_state != NULL) { table_nodes = next_state->entrance_nodes; *err = re_node_set_init_union (&next_nodes, table_nodes, log_nodes); if (BE (*err != REG_NOERROR, 0)) return NULL; } else next_nodes = *log_nodes; /* Note: We already add the nodes of the initial state, then we don't need to add them here. */ context = re_string_context_at (&mctx->input, re_string_cur_idx (&mctx->input) - 1, mctx->eflags); next_state = mctx->state_log[cur_idx] = re_acquire_state_context (err, dfa, &next_nodes, context); /* We don't need to check errors here, since the return value of this function is next_state and ERR is already set. */ if (table_nodes != NULL) re_node_set_free (&next_nodes); } if (BE (dfa->nbackref, 0) && next_state != NULL) { /* Check OP_OPEN_SUBEXP in the current state in case that we use them later. We must check them here, since the back references in the next state might use them. */ *err = check_subexp_matching_top (mctx, &next_state->nodes, cur_idx); if (BE (*err != REG_NOERROR, 0)) return NULL; /* If the next state has back references. */ if (next_state->has_backref) { *err = transit_state_bkref (mctx, &next_state->nodes); if (BE (*err != REG_NOERROR, 0)) return NULL; next_state = mctx->state_log[cur_idx]; } } return next_state; } /* Skip bytes in the input that correspond to part of a multi-byte match, then look in the log for a state from which to restart matching. */ static re_dfastate_t * internal_function find_recover_state (reg_errcode_t *err, re_match_context_t *mctx) { re_dfastate_t *cur_state; do { Idx max = mctx->state_log_top; Idx cur_str_idx = re_string_cur_idx (&mctx->input); do { if (++cur_str_idx > max) return NULL; re_string_skip_bytes (&mctx->input, 1); } while (mctx->state_log[cur_str_idx] == NULL); cur_state = merge_state_with_log (err, mctx, NULL); } while (*err == REG_NOERROR && cur_state == NULL); return cur_state; } /* Helper functions for transit_state. */ /* From the node set CUR_NODES, pick up the nodes whose types are OP_OPEN_SUBEXP and which have corresponding back references in the regular expression. And register them to use them later for evaluating the correspoding back references. */ static reg_errcode_t internal_function check_subexp_matching_top (re_match_context_t *mctx, re_node_set *cur_nodes, Idx str_idx) { const re_dfa_t *const dfa = mctx->dfa; Idx node_idx; reg_errcode_t err; /* TODO: This isn't efficient. Because there might be more than one nodes whose types are OP_OPEN_SUBEXP and whose index is SUBEXP_IDX, we must check all nodes. E.g. RE: (a){2} */ for (node_idx = 0; node_idx < cur_nodes->nelem; ++node_idx) { Idx node = cur_nodes->elems[node_idx]; if (dfa->nodes[node].type == OP_OPEN_SUBEXP && dfa->nodes[node].opr.idx < BITSET_WORD_BITS && (dfa->used_bkref_map & ((bitset_word_t) 1 << dfa->nodes[node].opr.idx))) { err = match_ctx_add_subtop (mctx, node, str_idx); if (BE (err != REG_NOERROR, 0)) return err; } } return REG_NOERROR; } #if 0 /* Return the next state to which the current state STATE will transit by accepting the current input byte. */ static re_dfastate_t * transit_state_sb (reg_errcode_t *err, re_match_context_t *mctx, re_dfastate_t *state) { const re_dfa_t *const dfa = mctx->dfa; re_node_set next_nodes; re_dfastate_t *next_state; Idx node_cnt, cur_str_idx = re_string_cur_idx (&mctx->input); unsigned int context; *err = re_node_set_alloc (&next_nodes, state->nodes.nelem + 1); if (BE (*err != REG_NOERROR, 0)) return NULL; for (node_cnt = 0; node_cnt < state->nodes.nelem; ++node_cnt) { Idx cur_node = state->nodes.elems[node_cnt]; if (check_node_accept (mctx, dfa->nodes + cur_node, cur_str_idx)) { *err = re_node_set_merge (&next_nodes, dfa->eclosures + dfa->nexts[cur_node]); if (BE (*err != REG_NOERROR, 0)) { re_node_set_free (&next_nodes); return NULL; } } } context = re_string_context_at (&mctx->input, cur_str_idx, mctx->eflags); next_state = re_acquire_state_context (err, dfa, &next_nodes, context); /* We don't need to check errors here, since the return value of this function is next_state and ERR is already set. */ re_node_set_free (&next_nodes); re_string_skip_bytes (&mctx->input, 1); return next_state; } #endif #ifdef RE_ENABLE_I18N static reg_errcode_t internal_function transit_state_mb (re_match_context_t *mctx, re_dfastate_t *pstate) { const re_dfa_t *const dfa = mctx->dfa; reg_errcode_t err; Idx i; for (i = 0; i < pstate->nodes.nelem; ++i) { re_node_set dest_nodes, *new_nodes; Idx cur_node_idx = pstate->nodes.elems[i]; int naccepted; Idx dest_idx; unsigned int context; re_dfastate_t *dest_state; if (!dfa->nodes[cur_node_idx].accept_mb) continue; if (dfa->nodes[cur_node_idx].constraint) { context = re_string_context_at (&mctx->input, re_string_cur_idx (&mctx->input), mctx->eflags); if (NOT_SATISFY_NEXT_CONSTRAINT (dfa->nodes[cur_node_idx].constraint, context)) continue; } /* How many bytes the node can accept? */ naccepted = check_node_accept_bytes (dfa, cur_node_idx, &mctx->input, re_string_cur_idx (&mctx->input)); if (naccepted == 0) continue; /* The node can accepts `naccepted' bytes. */ dest_idx = re_string_cur_idx (&mctx->input) + naccepted; mctx->max_mb_elem_len = ((mctx->max_mb_elem_len < naccepted) ? naccepted : mctx->max_mb_elem_len); err = clean_state_log_if_needed (mctx, dest_idx); if (BE (err != REG_NOERROR, 0)) return err; #ifdef DEBUG assert (dfa->nexts[cur_node_idx] != REG_MISSING); #endif new_nodes = dfa->eclosures + dfa->nexts[cur_node_idx]; dest_state = mctx->state_log[dest_idx]; if (dest_state == NULL) dest_nodes = *new_nodes; else { err = re_node_set_init_union (&dest_nodes, dest_state->entrance_nodes, new_nodes); if (BE (err != REG_NOERROR, 0)) return err; } context = re_string_context_at (&mctx->input, dest_idx - 1, mctx->eflags); mctx->state_log[dest_idx] = re_acquire_state_context (&err, dfa, &dest_nodes, context); if (dest_state != NULL) re_node_set_free (&dest_nodes); if (BE (mctx->state_log[dest_idx] == NULL && err != REG_NOERROR, 0)) return err; } return REG_NOERROR; } #endif /* RE_ENABLE_I18N */ static reg_errcode_t internal_function transit_state_bkref (re_match_context_t *mctx, const re_node_set *nodes) { const re_dfa_t *const dfa = mctx->dfa; reg_errcode_t err; Idx i; Idx cur_str_idx = re_string_cur_idx (&mctx->input); for (i = 0; i < nodes->nelem; ++i) { Idx dest_str_idx, prev_nelem, bkc_idx; Idx node_idx = nodes->elems[i]; unsigned int context; const re_token_t *node = dfa->nodes + node_idx; re_node_set *new_dest_nodes; /* Check whether `node' is a backreference or not. */ if (node->type != OP_BACK_REF) continue; if (node->constraint) { context = re_string_context_at (&mctx->input, cur_str_idx, mctx->eflags); if (NOT_SATISFY_NEXT_CONSTRAINT (node->constraint, context)) continue; } /* `node' is a backreference. Check the substring which the substring matched. */ bkc_idx = mctx->nbkref_ents; err = get_subexp (mctx, node_idx, cur_str_idx); if (BE (err != REG_NOERROR, 0)) goto free_return; /* And add the epsilon closures (which is `new_dest_nodes') of the backreference to appropriate state_log. */ #ifdef DEBUG assert (dfa->nexts[node_idx] != REG_MISSING); #endif for (; bkc_idx < mctx->nbkref_ents; ++bkc_idx) { Idx subexp_len; re_dfastate_t *dest_state; struct re_backref_cache_entry *bkref_ent; bkref_ent = mctx->bkref_ents + bkc_idx; if (bkref_ent->node != node_idx || bkref_ent->str_idx != cur_str_idx) continue; subexp_len = bkref_ent->subexp_to - bkref_ent->subexp_from; new_dest_nodes = (subexp_len == 0 ? dfa->eclosures + dfa->edests[node_idx].elems[0] : dfa->eclosures + dfa->nexts[node_idx]); dest_str_idx = (cur_str_idx + bkref_ent->subexp_to - bkref_ent->subexp_from); context = re_string_context_at (&mctx->input, dest_str_idx - 1, mctx->eflags); dest_state = mctx->state_log[dest_str_idx]; prev_nelem = ((mctx->state_log[cur_str_idx] == NULL) ? 0 : mctx->state_log[cur_str_idx]->nodes.nelem); /* Add `new_dest_node' to state_log. */ if (dest_state == NULL) { mctx->state_log[dest_str_idx] = re_acquire_state_context (&err, dfa, new_dest_nodes, context); if (BE (mctx->state_log[dest_str_idx] == NULL && err != REG_NOERROR, 0)) goto free_return; } else { re_node_set dest_nodes; err = re_node_set_init_union (&dest_nodes, dest_state->entrance_nodes, new_dest_nodes); if (BE (err != REG_NOERROR, 0)) { re_node_set_free (&dest_nodes); goto free_return; } mctx->state_log[dest_str_idx] = re_acquire_state_context (&err, dfa, &dest_nodes, context); re_node_set_free (&dest_nodes); if (BE (mctx->state_log[dest_str_idx] == NULL && err != REG_NOERROR, 0)) goto free_return; } /* We need to check recursively if the backreference can epsilon transit. */ if (subexp_len == 0 && mctx->state_log[cur_str_idx]->nodes.nelem > prev_nelem) { err = check_subexp_matching_top (mctx, new_dest_nodes, cur_str_idx); if (BE (err != REG_NOERROR, 0)) goto free_return; err = transit_state_bkref (mctx, new_dest_nodes); if (BE (err != REG_NOERROR, 0)) goto free_return; } } } err = REG_NOERROR; free_return: return err; } /* Enumerate all the candidates which the backreference BKREF_NODE can match at BKREF_STR_IDX, and register them by match_ctx_add_entry(). Note that we might collect inappropriate candidates here. However, the cost of checking them strictly here is too high, then we delay these checking for prune_impossible_nodes(). */ static reg_errcode_t internal_function __attribute_warn_unused_result__ get_subexp (re_match_context_t *mctx, Idx bkref_node, Idx bkref_str_idx) { const re_dfa_t *const dfa = mctx->dfa; Idx subexp_num, sub_top_idx; const char *buf = (const char *) re_string_get_buffer (&mctx->input); /* Return if we have already checked BKREF_NODE at BKREF_STR_IDX. */ Idx cache_idx = search_cur_bkref_entry (mctx, bkref_str_idx); if (cache_idx != REG_MISSING) { const struct re_backref_cache_entry *entry = mctx->bkref_ents + cache_idx; do if (entry->node == bkref_node) return REG_NOERROR; /* We already checked it. */ while (entry++->more); } subexp_num = dfa->nodes[bkref_node].opr.idx; /* For each sub expression */ for (sub_top_idx = 0; sub_top_idx < mctx->nsub_tops; ++sub_top_idx) { reg_errcode_t err; re_sub_match_top_t *sub_top = mctx->sub_tops[sub_top_idx]; re_sub_match_last_t *sub_last; Idx sub_last_idx, sl_str, bkref_str_off; if (dfa->nodes[sub_top->node].opr.idx != subexp_num) continue; /* It isn't related. */ sl_str = sub_top->str_idx; bkref_str_off = bkref_str_idx; /* At first, check the last node of sub expressions we already evaluated. */ for (sub_last_idx = 0; sub_last_idx < sub_top->nlasts; ++sub_last_idx) { regoff_t sl_str_diff; sub_last = sub_top->lasts[sub_last_idx]; sl_str_diff = sub_last->str_idx - sl_str; /* The matched string by the sub expression match with the substring at the back reference? */ if (sl_str_diff > 0) { if (BE (bkref_str_off + sl_str_diff > mctx->input.valid_len, 0)) { /* Not enough chars for a successful match. */ if (bkref_str_off + sl_str_diff > mctx->input.len) break; err = clean_state_log_if_needed (mctx, bkref_str_off + sl_str_diff); if (BE (err != REG_NOERROR, 0)) return err; buf = (const char *) re_string_get_buffer (&mctx->input); } if (memcmp (buf + bkref_str_off, buf + sl_str, sl_str_diff) != 0) /* We don't need to search this sub expression any more. */ break; } bkref_str_off += sl_str_diff; sl_str += sl_str_diff; err = get_subexp_sub (mctx, sub_top, sub_last, bkref_node, bkref_str_idx); /* Reload buf, since the preceding call might have reallocated the buffer. */ buf = (const char *) re_string_get_buffer (&mctx->input); if (err == REG_NOMATCH) continue; if (BE (err != REG_NOERROR, 0)) return err; } if (sub_last_idx < sub_top->nlasts) continue; if (sub_last_idx > 0) ++sl_str; /* Then, search for the other last nodes of the sub expression. */ for (; sl_str <= bkref_str_idx; ++sl_str) { Idx cls_node; regoff_t sl_str_off; const re_node_set *nodes; sl_str_off = sl_str - sub_top->str_idx; /* The matched string by the sub expression match with the substring at the back reference? */ if (sl_str_off > 0) { if (BE (bkref_str_off >= mctx->input.valid_len, 0)) { /* If we are at the end of the input, we cannot match. */ if (bkref_str_off >= mctx->input.len) break; err = extend_buffers (mctx); if (BE (err != REG_NOERROR, 0)) return err; buf = (const char *) re_string_get_buffer (&mctx->input); } if (buf [bkref_str_off++] != buf[sl_str - 1]) break; /* We don't need to search this sub expression any more. */ } if (mctx->state_log[sl_str] == NULL) continue; /* Does this state have a ')' of the sub expression? */ nodes = &mctx->state_log[sl_str]->nodes; cls_node = find_subexp_node (dfa, nodes, subexp_num, OP_CLOSE_SUBEXP); if (cls_node == REG_MISSING) continue; /* No. */ if (sub_top->path == NULL) { sub_top->path = calloc (sizeof (state_array_t), sl_str - sub_top->str_idx + 1); if (sub_top->path == NULL) return REG_ESPACE; } /* Can the OP_OPEN_SUBEXP node arrive the OP_CLOSE_SUBEXP node in the current context? */ err = check_arrival (mctx, sub_top->path, sub_top->node, sub_top->str_idx, cls_node, sl_str, OP_CLOSE_SUBEXP); if (err == REG_NOMATCH) continue; if (BE (err != REG_NOERROR, 0)) return err; sub_last = match_ctx_add_sublast (sub_top, cls_node, sl_str); if (BE (sub_last == NULL, 0)) return REG_ESPACE; err = get_subexp_sub (mctx, sub_top, sub_last, bkref_node, bkref_str_idx); if (err == REG_NOMATCH) continue; } } return REG_NOERROR; } /* Helper functions for get_subexp(). */ /* Check SUB_LAST can arrive to the back reference BKREF_NODE at BKREF_STR. If it can arrive, register the sub expression expressed with SUB_TOP and SUB_LAST. */ static reg_errcode_t internal_function get_subexp_sub (re_match_context_t *mctx, const re_sub_match_top_t *sub_top, re_sub_match_last_t *sub_last, Idx bkref_node, Idx bkref_str) { reg_errcode_t err; Idx to_idx; /* Can the subexpression arrive the back reference? */ err = check_arrival (mctx, &sub_last->path, sub_last->node, sub_last->str_idx, bkref_node, bkref_str, OP_OPEN_SUBEXP); if (err != REG_NOERROR) return err; err = match_ctx_add_entry (mctx, bkref_node, bkref_str, sub_top->str_idx, sub_last->str_idx); if (BE (err != REG_NOERROR, 0)) return err; to_idx = bkref_str + sub_last->str_idx - sub_top->str_idx; return clean_state_log_if_needed (mctx, to_idx); } /* Find the first node which is '(' or ')' and whose index is SUBEXP_IDX. Search '(' if FL_OPEN, or search ')' otherwise. TODO: This function isn't efficient... Because there might be more than one nodes whose types are OP_OPEN_SUBEXP and whose index is SUBEXP_IDX, we must check all nodes. E.g. RE: (a){2} */ static Idx internal_function find_subexp_node (const re_dfa_t *dfa, const re_node_set *nodes, Idx subexp_idx, int type) { Idx cls_idx; for (cls_idx = 0; cls_idx < nodes->nelem; ++cls_idx) { Idx cls_node = nodes->elems[cls_idx]; const re_token_t *node = dfa->nodes + cls_node; if (node->type == type && node->opr.idx == subexp_idx) return cls_node; } return REG_MISSING; } /* Check whether the node TOP_NODE at TOP_STR can arrive to the node LAST_NODE at LAST_STR. We record the path onto PATH since it will be heavily reused. Return REG_NOERROR if it can arrive, or REG_NOMATCH otherwise. */ static reg_errcode_t internal_function __attribute_warn_unused_result__ check_arrival (re_match_context_t *mctx, state_array_t *path, Idx top_node, Idx top_str, Idx last_node, Idx last_str, int type) { const re_dfa_t *const dfa = mctx->dfa; reg_errcode_t err = REG_NOERROR; Idx subexp_num, backup_cur_idx, str_idx, null_cnt; re_dfastate_t *cur_state = NULL; re_node_set *cur_nodes, next_nodes; re_dfastate_t **backup_state_log; unsigned int context; subexp_num = dfa->nodes[top_node].opr.idx; /* Extend the buffer if we need. */ if (BE (path->alloc < last_str + mctx->max_mb_elem_len + 1, 0)) { re_dfastate_t **new_array; Idx old_alloc = path->alloc; Idx new_alloc = old_alloc + last_str + mctx->max_mb_elem_len + 1; if (BE (new_alloc < old_alloc, 0) || BE (SIZE_MAX / sizeof (re_dfastate_t *) < new_alloc, 0)) return REG_ESPACE; new_array = re_realloc (path->array, re_dfastate_t *, new_alloc); if (BE (new_array == NULL, 0)) return REG_ESPACE; path->array = new_array; path->alloc = new_alloc; memset (new_array + old_alloc, '\0', sizeof (re_dfastate_t *) * (path->alloc - old_alloc)); } str_idx = path->next_idx ? path->next_idx : top_str; /* Temporary modify MCTX. */ backup_state_log = mctx->state_log; backup_cur_idx = mctx->input.cur_idx; mctx->state_log = path->array; mctx->input.cur_idx = str_idx; /* Setup initial node set. */ context = re_string_context_at (&mctx->input, str_idx - 1, mctx->eflags); if (str_idx == top_str) { err = re_node_set_init_1 (&next_nodes, top_node); if (BE (err != REG_NOERROR, 0)) return err; err = check_arrival_expand_ecl (dfa, &next_nodes, subexp_num, type); if (BE (err != REG_NOERROR, 0)) { re_node_set_free (&next_nodes); return err; } } else { cur_state = mctx->state_log[str_idx]; if (cur_state && cur_state->has_backref) { err = re_node_set_init_copy (&next_nodes, &cur_state->nodes); if (BE (err != REG_NOERROR, 0)) return err; } else re_node_set_init_empty (&next_nodes); } if (str_idx == top_str || (cur_state && cur_state->has_backref)) { if (next_nodes.nelem) { err = expand_bkref_cache (mctx, &next_nodes, str_idx, subexp_num, type); if (BE (err != REG_NOERROR, 0)) { re_node_set_free (&next_nodes); return err; } } cur_state = re_acquire_state_context (&err, dfa, &next_nodes, context); if (BE (cur_state == NULL && err != REG_NOERROR, 0)) { re_node_set_free (&next_nodes); return err; } mctx->state_log[str_idx] = cur_state; } for (null_cnt = 0; str_idx < last_str && null_cnt <= mctx->max_mb_elem_len;) { re_node_set_empty (&next_nodes); if (mctx->state_log[str_idx + 1]) { err = re_node_set_merge (&next_nodes, &mctx->state_log[str_idx + 1]->nodes); if (BE (err != REG_NOERROR, 0)) { re_node_set_free (&next_nodes); return err; } } if (cur_state) { err = check_arrival_add_next_nodes (mctx, str_idx, &cur_state->non_eps_nodes, &next_nodes); if (BE (err != REG_NOERROR, 0)) { re_node_set_free (&next_nodes); return err; } } ++str_idx; if (next_nodes.nelem) { err = check_arrival_expand_ecl (dfa, &next_nodes, subexp_num, type); if (BE (err != REG_NOERROR, 0)) { re_node_set_free (&next_nodes); return err; } err = expand_bkref_cache (mctx, &next_nodes, str_idx, subexp_num, type); if (BE (err != REG_NOERROR, 0)) { re_node_set_free (&next_nodes); return err; } } context = re_string_context_at (&mctx->input, str_idx - 1, mctx->eflags); cur_state = re_acquire_state_context (&err, dfa, &next_nodes, context); if (BE (cur_state == NULL && err != REG_NOERROR, 0)) { re_node_set_free (&next_nodes); return err; } mctx->state_log[str_idx] = cur_state; null_cnt = cur_state == NULL ? null_cnt + 1 : 0; } re_node_set_free (&next_nodes); cur_nodes = (mctx->state_log[last_str] == NULL ? NULL : &mctx->state_log[last_str]->nodes); path->next_idx = str_idx; /* Fix MCTX. */ mctx->state_log = backup_state_log; mctx->input.cur_idx = backup_cur_idx; /* Then check the current node set has the node LAST_NODE. */ if (cur_nodes != NULL && re_node_set_contains (cur_nodes, last_node)) return REG_NOERROR; return REG_NOMATCH; } /* Helper functions for check_arrival. */ /* Calculate the destination nodes of CUR_NODES at STR_IDX, and append them to NEXT_NODES. TODO: This function is similar to the functions transit_state*(), however this function has many additional works. Can't we unify them? */ static reg_errcode_t internal_function __attribute_warn_unused_result__ check_arrival_add_next_nodes (re_match_context_t *mctx, Idx str_idx, re_node_set *cur_nodes, re_node_set *next_nodes) { const re_dfa_t *const dfa = mctx->dfa; bool ok; Idx cur_idx; #ifdef RE_ENABLE_I18N reg_errcode_t err = REG_NOERROR; #endif re_node_set union_set; re_node_set_init_empty (&union_set); for (cur_idx = 0; cur_idx < cur_nodes->nelem; ++cur_idx) { int naccepted = 0; Idx cur_node = cur_nodes->elems[cur_idx]; #ifdef DEBUG re_token_type_t type = dfa->nodes[cur_node].type; assert (!IS_EPSILON_NODE (type)); #endif #ifdef RE_ENABLE_I18N /* If the node may accept `multi byte'. */ if (dfa->nodes[cur_node].accept_mb) { naccepted = check_node_accept_bytes (dfa, cur_node, &mctx->input, str_idx); if (naccepted > 1) { re_dfastate_t *dest_state; Idx next_node = dfa->nexts[cur_node]; Idx next_idx = str_idx + naccepted; dest_state = mctx->state_log[next_idx]; re_node_set_empty (&union_set); if (dest_state) { err = re_node_set_merge (&union_set, &dest_state->nodes); if (BE (err != REG_NOERROR, 0)) { re_node_set_free (&union_set); return err; } } ok = re_node_set_insert (&union_set, next_node); if (BE (! ok, 0)) { re_node_set_free (&union_set); return REG_ESPACE; } mctx->state_log[next_idx] = re_acquire_state (&err, dfa, &union_set); if (BE (mctx->state_log[next_idx] == NULL && err != REG_NOERROR, 0)) { re_node_set_free (&union_set); return err; } } } #endif /* RE_ENABLE_I18N */ if (naccepted || check_node_accept (mctx, dfa->nodes + cur_node, str_idx)) { ok = re_node_set_insert (next_nodes, dfa->nexts[cur_node]); if (BE (! ok, 0)) { re_node_set_free (&union_set); return REG_ESPACE; } } } re_node_set_free (&union_set); return REG_NOERROR; } /* For all the nodes in CUR_NODES, add the epsilon closures of them to CUR_NODES, however exclude the nodes which are: - inside the sub expression whose number is EX_SUBEXP, if FL_OPEN. - out of the sub expression whose number is EX_SUBEXP, if !FL_OPEN. */ static reg_errcode_t internal_function check_arrival_expand_ecl (const re_dfa_t *dfa, re_node_set *cur_nodes, Idx ex_subexp, int type) { reg_errcode_t err; Idx idx, outside_node; re_node_set new_nodes; #ifdef DEBUG assert (cur_nodes->nelem); #endif err = re_node_set_alloc (&new_nodes, cur_nodes->nelem); if (BE (err != REG_NOERROR, 0)) return err; /* Create a new node set NEW_NODES with the nodes which are epsilon closures of the node in CUR_NODES. */ for (idx = 0; idx < cur_nodes->nelem; ++idx) { Idx cur_node = cur_nodes->elems[idx]; const re_node_set *eclosure = dfa->eclosures + cur_node; outside_node = find_subexp_node (dfa, eclosure, ex_subexp, type); if (outside_node == REG_MISSING) { /* There are no problematic nodes, just merge them. */ err = re_node_set_merge (&new_nodes, eclosure); if (BE (err != REG_NOERROR, 0)) { re_node_set_free (&new_nodes); return err; } } else { /* There are problematic nodes, re-calculate incrementally. */ err = check_arrival_expand_ecl_sub (dfa, &new_nodes, cur_node, ex_subexp, type); if (BE (err != REG_NOERROR, 0)) { re_node_set_free (&new_nodes); return err; } } } re_node_set_free (cur_nodes); *cur_nodes = new_nodes; return REG_NOERROR; } /* Helper function for check_arrival_expand_ecl. Check incrementally the epsilon closure of TARGET, and if it isn't problematic append it to DST_NODES. */ static reg_errcode_t internal_function __attribute_warn_unused_result__ check_arrival_expand_ecl_sub (const re_dfa_t *dfa, re_node_set *dst_nodes, Idx target, Idx ex_subexp, int type) { Idx cur_node; for (cur_node = target; !re_node_set_contains (dst_nodes, cur_node);) { bool ok; if (dfa->nodes[cur_node].type == type && dfa->nodes[cur_node].opr.idx == ex_subexp) { if (type == OP_CLOSE_SUBEXP) { ok = re_node_set_insert (dst_nodes, cur_node); if (BE (! ok, 0)) return REG_ESPACE; } break; } ok = re_node_set_insert (dst_nodes, cur_node); if (BE (! ok, 0)) return REG_ESPACE; if (dfa->edests[cur_node].nelem == 0) break; if (dfa->edests[cur_node].nelem == 2) { reg_errcode_t err; err = check_arrival_expand_ecl_sub (dfa, dst_nodes, dfa->edests[cur_node].elems[1], ex_subexp, type); if (BE (err != REG_NOERROR, 0)) return err; } cur_node = dfa->edests[cur_node].elems[0]; } return REG_NOERROR; } /* For all the back references in the current state, calculate the destination of the back references by the appropriate entry in MCTX->BKREF_ENTS. */ static reg_errcode_t internal_function __attribute_warn_unused_result__ expand_bkref_cache (re_match_context_t *mctx, re_node_set *cur_nodes, Idx cur_str, Idx subexp_num, int type) { const re_dfa_t *const dfa = mctx->dfa; reg_errcode_t err; Idx cache_idx_start = search_cur_bkref_entry (mctx, cur_str); struct re_backref_cache_entry *ent; if (cache_idx_start == REG_MISSING) return REG_NOERROR; restart: ent = mctx->bkref_ents + cache_idx_start; do { Idx to_idx, next_node; /* Is this entry ENT is appropriate? */ if (!re_node_set_contains (cur_nodes, ent->node)) continue; /* No. */ to_idx = cur_str + ent->subexp_to - ent->subexp_from; /* Calculate the destination of the back reference, and append it to MCTX->STATE_LOG. */ if (to_idx == cur_str) { /* The backreference did epsilon transit, we must re-check all the node in the current state. */ re_node_set new_dests; reg_errcode_t err2, err3; next_node = dfa->edests[ent->node].elems[0]; if (re_node_set_contains (cur_nodes, next_node)) continue; err = re_node_set_init_1 (&new_dests, next_node); err2 = check_arrival_expand_ecl (dfa, &new_dests, subexp_num, type); err3 = re_node_set_merge (cur_nodes, &new_dests); re_node_set_free (&new_dests); if (BE (err != REG_NOERROR || err2 != REG_NOERROR || err3 != REG_NOERROR, 0)) { err = (err != REG_NOERROR ? err : (err2 != REG_NOERROR ? err2 : err3)); return err; } /* TODO: It is still inefficient... */ goto restart; } else { re_node_set union_set; next_node = dfa->nexts[ent->node]; if (mctx->state_log[to_idx]) { bool ok; if (re_node_set_contains (&mctx->state_log[to_idx]->nodes, next_node)) continue; err = re_node_set_init_copy (&union_set, &mctx->state_log[to_idx]->nodes); ok = re_node_set_insert (&union_set, next_node); if (BE (err != REG_NOERROR || ! ok, 0)) { re_node_set_free (&union_set); err = err != REG_NOERROR ? err : REG_ESPACE; return err; } } else { err = re_node_set_init_1 (&union_set, next_node); if (BE (err != REG_NOERROR, 0)) return err; } mctx->state_log[to_idx] = re_acquire_state (&err, dfa, &union_set); re_node_set_free (&union_set); if (BE (mctx->state_log[to_idx] == NULL && err != REG_NOERROR, 0)) return err; } } while (ent++->more); return REG_NOERROR; } /* Build transition table for the state. Return true if successful. */ static bool internal_function build_trtable (const re_dfa_t *dfa, re_dfastate_t *state) { reg_errcode_t err; Idx i, j; int ch; bool need_word_trtable = false; bitset_word_t elem, mask; bool dests_node_malloced = false; bool dest_states_malloced = false; Idx ndests; /* Number of the destination states from `state'. */ re_dfastate_t **trtable; re_dfastate_t **dest_states = NULL, **dest_states_word, **dest_states_nl; re_node_set follows, *dests_node; bitset_t *dests_ch; bitset_t acceptable; struct dests_alloc { re_node_set dests_node[SBC_MAX]; bitset_t dests_ch[SBC_MAX]; } *dests_alloc; /* We build DFA states which corresponds to the destination nodes from `state'. `dests_node[i]' represents the nodes which i-th destination state contains, and `dests_ch[i]' represents the characters which i-th destination state accepts. */ if (__libc_use_alloca (sizeof (struct dests_alloc))) dests_alloc = (struct dests_alloc *) alloca (sizeof (struct dests_alloc)); else { dests_alloc = re_malloc (struct dests_alloc, 1); if (BE (dests_alloc == NULL, 0)) return false; dests_node_malloced = true; } dests_node = dests_alloc->dests_node; dests_ch = dests_alloc->dests_ch; /* Initialize transiton table. */ state->word_trtable = state->trtable = NULL; /* At first, group all nodes belonging to `state' into several destinations. */ ndests = group_nodes_into_DFAstates (dfa, state, dests_node, dests_ch); if (BE (! REG_VALID_NONZERO_INDEX (ndests), 0)) { if (dests_node_malloced) free (dests_alloc); if (ndests == 0) { state->trtable = (re_dfastate_t **) calloc (sizeof (re_dfastate_t *), SBC_MAX); return true; } return false; } err = re_node_set_alloc (&follows, ndests + 1); if (BE (err != REG_NOERROR, 0)) goto out_free; /* Avoid arithmetic overflow in size calculation. */ if (BE ((((SIZE_MAX - (sizeof (re_node_set) + sizeof (bitset_t)) * SBC_MAX) / (3 * sizeof (re_dfastate_t *))) < ndests), 0)) goto out_free; if (__libc_use_alloca ((sizeof (re_node_set) + sizeof (bitset_t)) * SBC_MAX + ndests * 3 * sizeof (re_dfastate_t *))) dest_states = (re_dfastate_t **) alloca (ndests * 3 * sizeof (re_dfastate_t *)); else { dest_states = (re_dfastate_t **) malloc (ndests * 3 * sizeof (re_dfastate_t *)); if (BE (dest_states == NULL, 0)) { out_free: if (dest_states_malloced) free (dest_states); re_node_set_free (&follows); for (i = 0; i < ndests; ++i) re_node_set_free (dests_node + i); if (dests_node_malloced) free (dests_alloc); return false; } dest_states_malloced = true; } dest_states_word = dest_states + ndests; dest_states_nl = dest_states_word + ndests; bitset_empty (acceptable); /* Then build the states for all destinations. */ for (i = 0; i < ndests; ++i) { Idx next_node; re_node_set_empty (&follows); /* Merge the follows of this destination states. */ for (j = 0; j < dests_node[i].nelem; ++j) { next_node = dfa->nexts[dests_node[i].elems[j]]; if (next_node != REG_MISSING) { err = re_node_set_merge (&follows, dfa->eclosures + next_node); if (BE (err != REG_NOERROR, 0)) goto out_free; } } dest_states[i] = re_acquire_state_context (&err, dfa, &follows, 0); if (BE (dest_states[i] == NULL && err != REG_NOERROR, 0)) goto out_free; /* If the new state has context constraint, build appropriate states for these contexts. */ if (dest_states[i]->has_constraint) { dest_states_word[i] = re_acquire_state_context (&err, dfa, &follows, CONTEXT_WORD); if (BE (dest_states_word[i] == NULL && err != REG_NOERROR, 0)) goto out_free; if (dest_states[i] != dest_states_word[i] && dfa->mb_cur_max > 1) need_word_trtable = true; dest_states_nl[i] = re_acquire_state_context (&err, dfa, &follows, CONTEXT_NEWLINE); if (BE (dest_states_nl[i] == NULL && err != REG_NOERROR, 0)) goto out_free; } else { dest_states_word[i] = dest_states[i]; dest_states_nl[i] = dest_states[i]; } bitset_merge (acceptable, dests_ch[i]); } if (!BE (need_word_trtable, 0)) { /* We don't care about whether the following character is a word character, or we are in a single-byte character set so we can discern by looking at the character code: allocate a 256-entry transition table. */ trtable = state->trtable = (re_dfastate_t **) calloc (sizeof (re_dfastate_t *), SBC_MAX); if (BE (trtable == NULL, 0)) goto out_free; /* For all characters ch...: */ for (i = 0; i < BITSET_WORDS; ++i) for (ch = i * BITSET_WORD_BITS, elem = acceptable[i], mask = 1; elem; mask <<= 1, elem >>= 1, ++ch) if (BE (elem & 1, 0)) { /* There must be exactly one destination which accepts character ch. See group_nodes_into_DFAstates. */ for (j = 0; (dests_ch[j][i] & mask) == 0; ++j) ; /* j-th destination accepts the word character ch. */ if (dfa->word_char[i] & mask) trtable[ch] = dest_states_word[j]; else trtable[ch] = dest_states[j]; } } else { /* We care about whether the following character is a word character, and we are in a multi-byte character set: discern by looking at the character code: build two 256-entry transition tables, one starting at trtable[0] and one starting at trtable[SBC_MAX]. */ trtable = state->word_trtable = (re_dfastate_t **) calloc (sizeof (re_dfastate_t *), 2 * SBC_MAX); if (BE (trtable == NULL, 0)) goto out_free; /* For all characters ch...: */ for (i = 0; i < BITSET_WORDS; ++i) for (ch = i * BITSET_WORD_BITS, elem = acceptable[i], mask = 1; elem; mask <<= 1, elem >>= 1, ++ch) if (BE (elem & 1, 0)) { /* There must be exactly one destination which accepts character ch. See group_nodes_into_DFAstates. */ for (j = 0; (dests_ch[j][i] & mask) == 0; ++j) ; /* j-th destination accepts the word character ch. */ trtable[ch] = dest_states[j]; trtable[ch + SBC_MAX] = dest_states_word[j]; } } /* new line */ if (bitset_contain (acceptable, NEWLINE_CHAR)) { /* The current state accepts newline character. */ for (j = 0; j < ndests; ++j) if (bitset_contain (dests_ch[j], NEWLINE_CHAR)) { /* k-th destination accepts newline character. */ trtable[NEWLINE_CHAR] = dest_states_nl[j]; if (need_word_trtable) trtable[NEWLINE_CHAR + SBC_MAX] = dest_states_nl[j]; /* There must be only one destination which accepts newline. See group_nodes_into_DFAstates. */ break; } } if (dest_states_malloced) free (dest_states); re_node_set_free (&follows); for (i = 0; i < ndests; ++i) re_node_set_free (dests_node + i); if (dests_node_malloced) free (dests_alloc); return true; } /* Group all nodes belonging to STATE into several destinations. Then for all destinations, set the nodes belonging to the destination to DESTS_NODE[i] and set the characters accepted by the destination to DEST_CH[i]. This function return the number of destinations. */ static Idx internal_function group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state, re_node_set *dests_node, bitset_t *dests_ch) { reg_errcode_t err; bool ok; Idx i, j, k; Idx ndests; /* Number of the destinations from `state'. */ bitset_t accepts; /* Characters a node can accept. */ const re_node_set *cur_nodes = &state->nodes; bitset_empty (accepts); ndests = 0; /* For all the nodes belonging to `state', */ for (i = 0; i < cur_nodes->nelem; ++i) { re_token_t *node = &dfa->nodes[cur_nodes->elems[i]]; re_token_type_t type = node->type; unsigned int constraint = node->constraint; /* Enumerate all single byte character this node can accept. */ if (type == CHARACTER) bitset_set (accepts, node->opr.c); else if (type == SIMPLE_BRACKET) { bitset_merge (accepts, node->opr.sbcset); } else if (type == OP_PERIOD) { #ifdef RE_ENABLE_I18N if (dfa->mb_cur_max > 1) bitset_merge (accepts, dfa->sb_char); else #endif bitset_set_all (accepts); if (!(dfa->syntax & RE_DOT_NEWLINE)) bitset_clear (accepts, '\n'); if (dfa->syntax & RE_DOT_NOT_NULL) bitset_clear (accepts, '\0'); } #ifdef RE_ENABLE_I18N else if (type == OP_UTF8_PERIOD) { if (ASCII_CHARS % BITSET_WORD_BITS == 0) memset (accepts, -1, ASCII_CHARS / CHAR_BIT); else bitset_merge (accepts, utf8_sb_map); if (!(dfa->syntax & RE_DOT_NEWLINE)) bitset_clear (accepts, '\n'); if (dfa->syntax & RE_DOT_NOT_NULL) bitset_clear (accepts, '\0'); } #endif else continue; /* Check the `accepts' and sift the characters which are not match it the context. */ if (constraint) { if (constraint & NEXT_NEWLINE_CONSTRAINT) { bool accepts_newline = bitset_contain (accepts, NEWLINE_CHAR); bitset_empty (accepts); if (accepts_newline) bitset_set (accepts, NEWLINE_CHAR); else continue; } if (constraint & NEXT_ENDBUF_CONSTRAINT) { bitset_empty (accepts); continue; } if (constraint & NEXT_WORD_CONSTRAINT) { bitset_word_t any_set = 0; if (type == CHARACTER && !node->word_char) { bitset_empty (accepts); continue; } #ifdef RE_ENABLE_I18N if (dfa->mb_cur_max > 1) for (j = 0; j < BITSET_WORDS; ++j) any_set |= (accepts[j] &= (dfa->word_char[j] | ~dfa->sb_char[j])); else #endif for (j = 0; j < BITSET_WORDS; ++j) any_set |= (accepts[j] &= dfa->word_char[j]); if (!any_set) continue; } if (constraint & NEXT_NOTWORD_CONSTRAINT) { bitset_word_t any_set = 0; if (type == CHARACTER && node->word_char) { bitset_empty (accepts); continue; } #ifdef RE_ENABLE_I18N if (dfa->mb_cur_max > 1) for (j = 0; j < BITSET_WORDS; ++j) any_set |= (accepts[j] &= ~(dfa->word_char[j] & dfa->sb_char[j])); else #endif for (j = 0; j < BITSET_WORDS; ++j) any_set |= (accepts[j] &= ~dfa->word_char[j]); if (!any_set) continue; } } /* Then divide `accepts' into DFA states, or create a new state. Above, we make sure that accepts is not empty. */ for (j = 0; j < ndests; ++j) { bitset_t intersec; /* Intersection sets, see below. */ bitset_t remains; /* Flags, see below. */ bitset_word_t has_intersec, not_subset, not_consumed; /* Optimization, skip if this state doesn't accept the character. */ if (type == CHARACTER && !bitset_contain (dests_ch[j], node->opr.c)) continue; /* Enumerate the intersection set of this state and `accepts'. */ has_intersec = 0; for (k = 0; k < BITSET_WORDS; ++k) has_intersec |= intersec[k] = accepts[k] & dests_ch[j][k]; /* And skip if the intersection set is empty. */ if (!has_intersec) continue; /* Then check if this state is a subset of `accepts'. */ not_subset = not_consumed = 0; for (k = 0; k < BITSET_WORDS; ++k) { not_subset |= remains[k] = ~accepts[k] & dests_ch[j][k]; not_consumed |= accepts[k] = accepts[k] & ~dests_ch[j][k]; } /* If this state isn't a subset of `accepts', create a new group state, which has the `remains'. */ if (not_subset) { bitset_copy (dests_ch[ndests], remains); bitset_copy (dests_ch[j], intersec); err = re_node_set_init_copy (dests_node + ndests, &dests_node[j]); if (BE (err != REG_NOERROR, 0)) goto error_return; ++ndests; } /* Put the position in the current group. */ ok = re_node_set_insert (&dests_node[j], cur_nodes->elems[i]); if (BE (! ok, 0)) goto error_return; /* If all characters are consumed, go to next node. */ if (!not_consumed) break; } /* Some characters remain, create a new group. */ if (j == ndests) { bitset_copy (dests_ch[ndests], accepts); err = re_node_set_init_1 (dests_node + ndests, cur_nodes->elems[i]); if (BE (err != REG_NOERROR, 0)) goto error_return; ++ndests; bitset_empty (accepts); } } return ndests; error_return: for (j = 0; j < ndests; ++j) re_node_set_free (dests_node + j); return REG_MISSING; } #ifdef RE_ENABLE_I18N /* Check how many bytes the node `dfa->nodes[node_idx]' accepts. Return the number of the bytes the node accepts. STR_IDX is the current index of the input string. This function handles the nodes which can accept one character, or one collating element like '.', '[a-z]', opposite to the other nodes can only accept one byte. */ static int internal_function check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx, const re_string_t *input, Idx str_idx) { const re_token_t *node = dfa->nodes + node_idx; int char_len, elem_len; Idx i; if (BE (node->type == OP_UTF8_PERIOD, 0)) { unsigned char c = re_string_byte_at (input, str_idx), d; if (BE (c < 0xc2, 1)) return 0; if (str_idx + 2 > input->len) return 0; d = re_string_byte_at (input, str_idx + 1); if (c < 0xe0) return (d < 0x80 || d > 0xbf) ? 0 : 2; else if (c < 0xf0) { char_len = 3; if (c == 0xe0 && d < 0xa0) return 0; } else if (c < 0xf8) { char_len = 4; if (c == 0xf0 && d < 0x90) return 0; } else if (c < 0xfc) { char_len = 5; if (c == 0xf8 && d < 0x88) return 0; } else if (c < 0xfe) { char_len = 6; if (c == 0xfc && d < 0x84) return 0; } else return 0; if (str_idx + char_len > input->len) return 0; for (i = 1; i < char_len; ++i) { d = re_string_byte_at (input, str_idx + i); if (d < 0x80 || d > 0xbf) return 0; } return char_len; } char_len = re_string_char_size_at (input, str_idx); if (node->type == OP_PERIOD) { if (char_len <= 1) return 0; /* FIXME: I don't think this if is needed, as both '\n' and '\0' are char_len == 1. */ /* '.' accepts any one character except the following two cases. */ if ((!(dfa->syntax & RE_DOT_NEWLINE) && re_string_byte_at (input, str_idx) == '\n') || ((dfa->syntax & RE_DOT_NOT_NULL) && re_string_byte_at (input, str_idx) == '\0')) return 0; return char_len; } elem_len = re_string_elem_size_at (input, str_idx); if ((elem_len <= 1 && char_len <= 1) || char_len == 0) return 0; if (node->type == COMPLEX_BRACKET) { const re_charset_t *cset = node->opr.mbcset; # ifdef _LIBC const unsigned char *pin = ((const unsigned char *) re_string_get_buffer (input) + str_idx); Idx j; uint32_t nrules; # endif /* _LIBC */ int match_len = 0; wchar_t wc = ((cset->nranges || cset->nchar_classes || cset->nmbchars) ? re_string_wchar_at (input, str_idx) : 0); /* match with multibyte character? */ for (i = 0; i < cset->nmbchars; ++i) if (wc == cset->mbchars[i]) { match_len = char_len; goto check_node_accept_bytes_match; } /* match with character_class? */ for (i = 0; i < cset->nchar_classes; ++i) { wctype_t wt = cset->char_classes[i]; if (__iswctype (wc, wt)) { match_len = char_len; goto check_node_accept_bytes_match; } } # ifdef _LIBC nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); if (nrules != 0) { unsigned int in_collseq = 0; const int32_t *table, *indirect; const unsigned char *weights, *extra; const char *collseqwc; int32_t idx; /* This #include defines a local function! */ # include /* match with collating_symbol? */ if (cset->ncoll_syms) extra = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_SYMB_EXTRAMB); for (i = 0; i < cset->ncoll_syms; ++i) { const unsigned char *coll_sym = extra + cset->coll_syms[i]; /* Compare the length of input collating element and the length of current collating element. */ if (*coll_sym != elem_len) continue; /* Compare each bytes. */ for (j = 0; j < *coll_sym; j++) if (pin[j] != coll_sym[1 + j]) break; if (j == *coll_sym) { /* Match if every bytes is equal. */ match_len = j; goto check_node_accept_bytes_match; } } if (cset->nranges) { if (elem_len <= char_len) { collseqwc = _NL_CURRENT (LC_COLLATE, _NL_COLLATE_COLLSEQWC); in_collseq = __collseq_table_lookup (collseqwc, wc); } else in_collseq = find_collation_sequence_value (pin, elem_len); } /* match with range expression? */ for (i = 0; i < cset->nranges; ++i) if (cset->range_starts[i] <= in_collseq && in_collseq <= cset->range_ends[i]) { match_len = elem_len; goto check_node_accept_bytes_match; } /* match with equivalence_class? */ if (cset->nequiv_classes) { const unsigned char *cp = pin; table = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_TABLEMB); weights = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_WEIGHTMB); extra = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_EXTRAMB); indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB); int32_t idx = findidx (&cp); if (idx > 0) for (i = 0; i < cset->nequiv_classes; ++i) { int32_t equiv_class_idx = cset->equiv_classes[i]; size_t weight_len = weights[idx & 0xffffff]; if (weight_len == weights[equiv_class_idx & 0xffffff] && (idx >> 24) == (equiv_class_idx >> 24)) { Idx cnt = 0; idx &= 0xffffff; equiv_class_idx &= 0xffffff; while (cnt <= weight_len && (weights[equiv_class_idx + 1 + cnt] == weights[idx + 1 + cnt])) ++cnt; if (cnt > weight_len) { match_len = elem_len; goto check_node_accept_bytes_match; } } } } } else # endif /* _LIBC */ { /* match with range expression? */ #if __GNUC__ >= 2 && ! (__STDC_VERSION__ < 199901L && __STRICT_ANSI__) wchar_t cmp_buf[] = {L'\0', L'\0', wc, L'\0', L'\0', L'\0'}; #else wchar_t cmp_buf[] = {L'\0', L'\0', L'\0', L'\0', L'\0', L'\0'}; cmp_buf[2] = wc; #endif for (i = 0; i < cset->nranges; ++i) { cmp_buf[0] = cset->range_starts[i]; cmp_buf[4] = cset->range_ends[i]; if (wcscoll (cmp_buf, cmp_buf + 2) <= 0 && wcscoll (cmp_buf + 2, cmp_buf + 4) <= 0) { match_len = char_len; goto check_node_accept_bytes_match; } } } check_node_accept_bytes_match: if (!cset->non_match) return match_len; else { if (match_len > 0) return 0; else return (elem_len > char_len) ? elem_len : char_len; } } return 0; } # ifdef _LIBC static unsigned int internal_function find_collation_sequence_value (const unsigned char *mbs, size_t mbs_len) { uint32_t nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); if (nrules == 0) { if (mbs_len == 1) { /* No valid character. Match it as a single byte character. */ const unsigned char *collseq = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_COLLSEQMB); return collseq[mbs[0]]; } return UINT_MAX; } else { int32_t idx; const unsigned char *extra = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_SYMB_EXTRAMB); int32_t extrasize = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_SYMB_EXTRAMB + 1) - extra; for (idx = 0; idx < extrasize;) { int mbs_cnt; bool found = false; int32_t elem_mbs_len; /* Skip the name of collating element name. */ idx = idx + extra[idx] + 1; elem_mbs_len = extra[idx++]; if (mbs_len == elem_mbs_len) { for (mbs_cnt = 0; mbs_cnt < elem_mbs_len; ++mbs_cnt) if (extra[idx + mbs_cnt] != mbs[mbs_cnt]) break; if (mbs_cnt == elem_mbs_len) /* Found the entry. */ found = true; } /* Skip the byte sequence of the collating element. */ idx += elem_mbs_len; /* Adjust for the alignment. */ idx = (idx + 3) & ~3; /* Skip the collation sequence value. */ idx += sizeof (uint32_t); /* Skip the wide char sequence of the collating element. */ idx = idx + sizeof (uint32_t) * (extra[idx] + 1); /* If we found the entry, return the sequence value. */ if (found) return *(uint32_t *) (extra + idx); /* Skip the collation sequence value. */ idx += sizeof (uint32_t); } return UINT_MAX; } } # endif /* _LIBC */ #endif /* RE_ENABLE_I18N */ /* Check whether the node accepts the byte which is IDX-th byte of the INPUT. */ static bool internal_function check_node_accept (const re_match_context_t *mctx, const re_token_t *node, Idx idx) { unsigned char ch; ch = re_string_byte_at (&mctx->input, idx); switch (node->type) { case CHARACTER: if (node->opr.c != ch) return false; break; case SIMPLE_BRACKET: if (!bitset_contain (node->opr.sbcset, ch)) return false; break; #ifdef RE_ENABLE_I18N case OP_UTF8_PERIOD: if (ch >= ASCII_CHARS) return false; /* FALLTHROUGH */ #endif case OP_PERIOD: if ((ch == '\n' && !(mctx->dfa->syntax & RE_DOT_NEWLINE)) || (ch == '\0' && (mctx->dfa->syntax & RE_DOT_NOT_NULL))) return false; break; default: return false; } if (node->constraint) { /* The node has constraints. Check whether the current context satisfies the constraints. */ unsigned int context = re_string_context_at (&mctx->input, idx, mctx->eflags); if (NOT_SATISFY_NEXT_CONSTRAINT (node->constraint, context)) return false; } return true; } /* Extend the buffers, if the buffers have run out. */ static reg_errcode_t internal_function __attribute_warn_unused_result__ extend_buffers (re_match_context_t *mctx) { reg_errcode_t ret; re_string_t *pstr = &mctx->input; /* Avoid overflow. */ if (BE (SIZE_MAX / 2 / sizeof (re_dfastate_t *) <= pstr->bufs_len, 0)) return REG_ESPACE; /* Double the lengthes of the buffers. */ ret = re_string_realloc_buffers (pstr, pstr->bufs_len * 2); if (BE (ret != REG_NOERROR, 0)) return ret; if (mctx->state_log != NULL) { /* And double the length of state_log. */ /* XXX We have no indication of the size of this buffer. If this allocation fail we have no indication that the state_log array does not have the right size. */ re_dfastate_t **new_array = re_realloc (mctx->state_log, re_dfastate_t *, pstr->bufs_len + 1); if (BE (new_array == NULL, 0)) return REG_ESPACE; mctx->state_log = new_array; } /* Then reconstruct the buffers. */ if (pstr->icase) { #ifdef RE_ENABLE_I18N if (pstr->mb_cur_max > 1) { ret = build_wcs_upper_buffer (pstr); if (BE (ret != REG_NOERROR, 0)) return ret; } else #endif /* RE_ENABLE_I18N */ build_upper_buffer (pstr); } else { #ifdef RE_ENABLE_I18N if (pstr->mb_cur_max > 1) build_wcs_buffer (pstr); else #endif /* RE_ENABLE_I18N */ { if (pstr->trans != NULL) re_string_translate_buffer (pstr); } } return REG_NOERROR; } /* Functions for matching context. */ /* Initialize MCTX. */ static reg_errcode_t internal_function __attribute_warn_unused_result__ match_ctx_init (re_match_context_t *mctx, int eflags, Idx n) { mctx->eflags = eflags; mctx->match_last = REG_MISSING; if (n > 0) { /* Avoid overflow. */ size_t max_object_size = MAX (sizeof (struct re_backref_cache_entry), sizeof (re_sub_match_top_t *)); if (BE (SIZE_MAX / max_object_size < n, 0)) return REG_ESPACE; mctx->bkref_ents = re_malloc (struct re_backref_cache_entry, n); mctx->sub_tops = re_malloc (re_sub_match_top_t *, n); if (BE (mctx->bkref_ents == NULL || mctx->sub_tops == NULL, 0)) return REG_ESPACE; } /* Already zero-ed by the caller. else mctx->bkref_ents = NULL; mctx->nbkref_ents = 0; mctx->nsub_tops = 0; */ mctx->abkref_ents = n; mctx->max_mb_elem_len = 1; mctx->asub_tops = n; return REG_NOERROR; } /* Clean the entries which depend on the current input in MCTX. This function must be invoked when the matcher changes the start index of the input, or changes the input string. */ static void internal_function match_ctx_clean (re_match_context_t *mctx) { Idx st_idx; for (st_idx = 0; st_idx < mctx->nsub_tops; ++st_idx) { Idx sl_idx; re_sub_match_top_t *top = mctx->sub_tops[st_idx]; for (sl_idx = 0; sl_idx < top->nlasts; ++sl_idx) { re_sub_match_last_t *last = top->lasts[sl_idx]; re_free (last->path.array); re_free (last); } re_free (top->lasts); if (top->path) { re_free (top->path->array); re_free (top->path); } free (top); } mctx->nsub_tops = 0; mctx->nbkref_ents = 0; } /* Free all the memory associated with MCTX. */ static void internal_function match_ctx_free (re_match_context_t *mctx) { /* First, free all the memory associated with MCTX->SUB_TOPS. */ match_ctx_clean (mctx); re_free (mctx->sub_tops); re_free (mctx->bkref_ents); } /* Add a new backreference entry to MCTX. Note that we assume that caller never call this function with duplicate entry, and call with STR_IDX which isn't smaller than any existing entry. */ static reg_errcode_t internal_function __attribute_warn_unused_result__ match_ctx_add_entry (re_match_context_t *mctx, Idx node, Idx str_idx, Idx from, Idx to) { if (mctx->nbkref_ents >= mctx->abkref_ents) { struct re_backref_cache_entry* new_entry; new_entry = re_realloc (mctx->bkref_ents, struct re_backref_cache_entry, mctx->abkref_ents * 2); if (BE (new_entry == NULL, 0)) { re_free (mctx->bkref_ents); return REG_ESPACE; } mctx->bkref_ents = new_entry; memset (mctx->bkref_ents + mctx->nbkref_ents, '\0', sizeof (struct re_backref_cache_entry) * mctx->abkref_ents); mctx->abkref_ents *= 2; } if (mctx->nbkref_ents > 0 && mctx->bkref_ents[mctx->nbkref_ents - 1].str_idx == str_idx) mctx->bkref_ents[mctx->nbkref_ents - 1].more = 1; mctx->bkref_ents[mctx->nbkref_ents].node = node; mctx->bkref_ents[mctx->nbkref_ents].str_idx = str_idx; mctx->bkref_ents[mctx->nbkref_ents].subexp_from = from; mctx->bkref_ents[mctx->nbkref_ents].subexp_to = to; /* This is a cache that saves negative results of check_dst_limits_calc_pos. If bit N is clear, means that this entry won't epsilon-transition to an OP_OPEN_SUBEXP or OP_CLOSE_SUBEXP for the N+1-th subexpression. If it is set, check_dst_limits_calc_pos_1 will recurse and try to find one such node. A backreference does not epsilon-transition unless it is empty, so set to all zeros if FROM != TO. */ mctx->bkref_ents[mctx->nbkref_ents].eps_reachable_subexps_map = (from == to ? -1 : 0); mctx->bkref_ents[mctx->nbkref_ents++].more = 0; if (mctx->max_mb_elem_len < to - from) mctx->max_mb_elem_len = to - from; return REG_NOERROR; } /* Return the first entry with the same str_idx, or REG_MISSING if none is found. Note that MCTX->BKREF_ENTS is already sorted by MCTX->STR_IDX. */ static Idx internal_function search_cur_bkref_entry (const re_match_context_t *mctx, Idx str_idx) { Idx left, right, mid, last; last = right = mctx->nbkref_ents; for (left = 0; left < right;) { mid = (left + right) / 2; if (mctx->bkref_ents[mid].str_idx < str_idx) left = mid + 1; else right = mid; } if (left < last && mctx->bkref_ents[left].str_idx == str_idx) return left; else return REG_MISSING; } /* Register the node NODE, whose type is OP_OPEN_SUBEXP, and which matches at STR_IDX. */ static reg_errcode_t internal_function __attribute_warn_unused_result__ match_ctx_add_subtop (re_match_context_t *mctx, Idx node, Idx str_idx) { #ifdef DEBUG assert (mctx->sub_tops != NULL); assert (mctx->asub_tops > 0); #endif if (BE (mctx->nsub_tops == mctx->asub_tops, 0)) { Idx new_asub_tops = mctx->asub_tops * 2; re_sub_match_top_t **new_array = re_realloc (mctx->sub_tops, re_sub_match_top_t *, new_asub_tops); if (BE (new_array == NULL, 0)) return REG_ESPACE; mctx->sub_tops = new_array; mctx->asub_tops = new_asub_tops; } mctx->sub_tops[mctx->nsub_tops] = calloc (1, sizeof (re_sub_match_top_t)); if (BE (mctx->sub_tops[mctx->nsub_tops] == NULL, 0)) return REG_ESPACE; mctx->sub_tops[mctx->nsub_tops]->node = node; mctx->sub_tops[mctx->nsub_tops++]->str_idx = str_idx; return REG_NOERROR; } /* Register the node NODE, whose type is OP_CLOSE_SUBEXP, and which matches at STR_IDX, whose corresponding OP_OPEN_SUBEXP is SUB_TOP. */ static re_sub_match_last_t * internal_function match_ctx_add_sublast (re_sub_match_top_t *subtop, Idx node, Idx str_idx) { re_sub_match_last_t *new_entry; if (BE (subtop->nlasts == subtop->alasts, 0)) { Idx new_alasts = 2 * subtop->alasts + 1; re_sub_match_last_t **new_array = re_realloc (subtop->lasts, re_sub_match_last_t *, new_alasts); if (BE (new_array == NULL, 0)) return NULL; subtop->lasts = new_array; subtop->alasts = new_alasts; } new_entry = calloc (1, sizeof (re_sub_match_last_t)); if (BE (new_entry != NULL, 1)) { subtop->lasts[subtop->nlasts] = new_entry; new_entry->node = node; new_entry->str_idx = str_idx; ++subtop->nlasts; } return new_entry; } static void internal_function sift_ctx_init (re_sift_context_t *sctx, re_dfastate_t **sifted_sts, re_dfastate_t **limited_sts, Idx last_node, Idx last_str_idx) { sctx->sifted_states = sifted_sts; sctx->limited_states = limited_sts; sctx->last_node = last_node; sctx->last_str_idx = last_str_idx; re_node_set_init_empty (&sctx->limits); } parted-2.3/lib/xstrndup.h0000644000000000000000000000177511370541032012340 00000000000000/* Duplicate a bounded initial segment of a string, with out-of-memory checking. Copyright (C) 2003, 2009, 2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Return a newly allocated copy of at most N bytes of STRING. In other words, return a copy of the initial segment of length N of STRING. */ extern char *xstrndup (const char *string, size_t n); parted-2.3/lib/quotearg.h0000644000000000000000000003700111370541031012266 00000000000000/* quotearg.h - quote arguments for output Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2006, 2008, 2009, 2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert */ #ifndef QUOTEARG_H_ # define QUOTEARG_H_ 1 # include /* Basic quoting styles. For each style, an example is given on the input strings "simple", "\0 \t\n'\"\033?""?/\\", and "a:b", using quotearg_buffer, quotearg_mem, and quotearg_colon_mem with that style and the default flags and quoted characters. Note that the examples are shown here as valid C strings rather than what displays on a terminal (with "??/" as a trigraph for "\\"). */ enum quoting_style { /* Output names as-is (ls --quoting-style=literal). Can result in embedded null bytes if QA_ELIDE_NULL_BYTES is not in effect. quotearg_buffer: "simple", "\0 \t\n'\"\033??/\\", "a:b" quotearg: "simple", " \t\n'\"\033??/\\", "a:b" quotearg_colon: "simple", " \t\n'\"\033??/\\", "a:b" */ literal_quoting_style, /* Quote names for the shell if they contain shell metacharacters or would cause ambiguous output (ls --quoting-style=shell). Can result in embedded null bytes if QA_ELIDE_NULL_BYTES is not in effect. quotearg_buffer: "simple", "'\0 \t\n'\\''\"\033??/\\'", "a:b" quotearg: "simple", "' \t\n'\\''\"\033??/\\'", "a:b" quotearg_colon: "simple", "' \t\n'\\''\"\033??/\\'", "'a:b'" */ shell_quoting_style, /* Quote names for the shell, even if they would normally not require quoting (ls --quoting-style=shell-always). Can result in embedded null bytes if QA_ELIDE_NULL_BYTES is not in effect. Behaves like shell_quoting_style if QA_ELIDE_OUTER_QUOTES is in effect. quotearg_buffer: "'simple'", "'\0 \t\n'\\''\"\033??/\\'", "'a:b'" quotearg: "'simple'", "' \t\n'\\''\"\033??/\\'", "'a:b'" quotearg_colon: "'simple'", "' \t\n'\\''\"\033??/\\'", "'a:b'" */ shell_always_quoting_style, /* Quote names as for a C language string (ls --quoting-style=c). Behaves like c_maybe_quoting_style if QA_ELIDE_OUTER_QUOTES is in effect. Split into consecutive strings if QA_SPLIT_TRIGRAPHS. quotearg_buffer: "\"simple\"", "\"\\0 \\t\\n'\\\"\\033??/\\\\\"", "\"a:b\"" quotearg: "\"simple\"", "\"\\0 \\t\\n'\\\"\\033??/\\\\\"", "\"a:b\"" quotearg_colon: "\"simple\"", "\"\\0 \\t\\n'\\\"\\033??/\\\\\"", "\"a\\:b\"" */ c_quoting_style, /* Like c_quoting_style except omit the surrounding double-quote characters if no quoted characters are encountered. quotearg_buffer: "simple", "\"\\0 \\t\\n'\\\"\\033??/\\\\\"", "a:b" quotearg: "simple", "\"\\0 \\t\\n'\\\"\\033??/\\\\\"", "a:b" quotearg_colon: "simple", "\"\\0 \\t\\n'\\\"\\033??/\\\\\"", "\"a:b\"" */ c_maybe_quoting_style, /* Like c_quoting_style except always omit the surrounding double-quote characters and ignore QA_SPLIT_TRIGRAPHS (ls --quoting-style=escape). quotearg_buffer: "simple", "\\0 \\t\\n'\"\\033??/\\\\", "a:b" quotearg: "simple", "\\0 \\t\\n'\"\\033??/\\\\", "a:b" quotearg_colon: "simple", "\\0 \\t\\n'\"\\033??/\\\\", "a\\:b" */ escape_quoting_style, /* Like clocale_quoting_style, but quote `like this' instead of "like this" in the default C locale (ls --quoting-style=locale). LC_MESSAGES=C quotearg_buffer: "`simple'", "`\\0 \\t\\n\\'\"\\033??/\\\\'", "`a:b'" quotearg: "`simple'", "`\\0 \\t\\n\\'\"\\033??/\\\\'", "`a:b'" quotearg_colon: "`simple'", "`\\0 \\t\\n\\'\"\\033??/\\\\'", "`a\\:b'" LC_MESSAGES=pt_PT.utf8 quotearg_buffer: "\302\253simple\302\273", "\302\253\\0 \\t\\n'\"\\033??/\\\\\302\253", "\302\253a:b\302\273" quotearg: "\302\253simple\302\273", "\302\253\\0 \\t\\n'\"\\033??/\\\\\302\253", "\302\253a:b\302\273" quotearg_colon: "\302\253simple\302\273", "\302\253\\0 \\t\\n'\"\\033??/\\\\\302\253", "\302\253a\\:b\302\273" */ locale_quoting_style, /* Like c_quoting_style except use quotation marks appropriate for the locale and ignore QA_SPLIT_TRIGRAPHS (ls --quoting-style=clocale). LC_MESSAGES=C quotearg_buffer: "\"simple\"", "\"\\0 \\t\\n'\\\"\\033??/\\\\\"", "\"a:b\"" quotearg: "\"simple\"", "\"\\0 \\t\\n'\\\"\\033??/\\\\\"", "\"a:b\"" quotearg_colon: "\"simple\"", "\"\\0 \\t\\n'\\\"\\033??/\\\\\"", "\"a\\:b\"" LC_MESSAGES=pt_PT.utf8 quotearg_buffer: "\302\253simple\302\273", "\302\253\\0 \\t\\n'\"\\033??/\\\\\302\253", "\302\253a:b\302\273" quotearg: "\302\253simple\302\273", "\302\253\\0 \\t\\n'\"\\033??/\\\\\302\253", "\302\253a:b\302\273" quotearg_colon: "\302\253simple\302\273", "\302\253\\0 \\t\\n'\"\\033??/\\\\\302\253", "\302\253a\\:b\302\273" */ clocale_quoting_style, /* Like clocale_quoting_style except use the custom quotation marks set by set_custom_quoting. If custom quotation marks are not set, the behavior is undefined. left_quote = right_quote = "'" quotearg_buffer: "'simple'", "'\\0 \\t\\n\\'\"\\033??/\\\\'", "'a:b'" quotearg: "'simple'", "'\\0 \\t\\n\\'\"\\033??/\\\\'", "'a:b'" quotearg_colon: "'simple'", "'\\0 \\t\\n\\'\"\\033??/\\\\'", "'a\\:b'" left_quote = "(" and right_quote = ")" quotearg_buffer: "(simple)", "(\\0 \\t\\n'\"\\033??/\\\\)", "(a:b)" quotearg: "(simple)", "(\\0 \\t\\n'\"\\033??/\\\\)", "(a:b)" quotearg_colon: "(simple)", "(\\0 \\t\\n'\"\\033??/\\\\)", "(a\\:b)" left_quote = ":" and right_quote = " " quotearg_buffer: ":simple ", ":\\0\\ \\t\\n'\"\\033??/\\\\ ", ":a:b " quotearg: ":simple ", ":\\0\\ \\t\\n'\"\\033??/\\\\ ", ":a:b " quotearg_colon: ":simple ", ":\\0\\ \\t\\n'\"\\033??/\\\\ ", ":a\\:b " left_quote = "\"'" and right_quote = "'\"" Notice that this is treated as a single level of quotes or two levels where the outer quote need not be escaped within the inner quotes. For two levels where the outer quote must be escaped within the inner quotes, you must use separate quotearg invocations. quotearg_buffer: "\"'simple'\"", "\"'\\0 \\t\\n\\'\"\\033??/\\\\'\"", "\"'a:b'\"" quotearg: "\"'simple'\"", "\"'\\0 \\t\\n\\'\"\\033??/\\\\'\"", "\"'a:b'\"" quotearg_colon: "\"'simple'\"", "\"'\\0 \\t\\n\\'\"\\033??/\\\\'\"", "\"'a\\:b'\"" */ custom_quoting_style }; /* Flags for use in set_quoting_flags. */ enum quoting_flags { /* Always elide null bytes from styles that do not quote them, even when the length of the result is available to the caller. */ QA_ELIDE_NULL_BYTES = 0x01, /* Omit the surrounding quote characters if no escaped characters are encountered. Note that if no other character needs escaping, then neither does the escape character. */ QA_ELIDE_OUTER_QUOTES = 0x02, /* In the c_quoting_style and c_maybe_quoting_style, split ANSI trigraph sequences into concatenated strings (for example, "?""?/" rather than "??/", which could be confused with "\\"). */ QA_SPLIT_TRIGRAPHS = 0x04 }; /* For now, --quoting-style=literal is the default, but this may change. */ # ifndef DEFAULT_QUOTING_STYLE # define DEFAULT_QUOTING_STYLE literal_quoting_style # endif /* Names of quoting styles and their corresponding values. */ extern char const *const quoting_style_args[]; extern enum quoting_style const quoting_style_vals[]; struct quoting_options; /* The functions listed below set and use a hidden variable that contains the default quoting style options. */ /* Allocate a new set of quoting options, with contents initially identical to O if O is not null, or to the default if O is null. It is the caller's responsibility to free the result. */ struct quoting_options *clone_quoting_options (struct quoting_options *o); /* Get the value of O's quoting style. If O is null, use the default. */ enum quoting_style get_quoting_style (struct quoting_options *o); /* In O (or in the default if O is null), set the value of the quoting style to S. */ void set_quoting_style (struct quoting_options *o, enum quoting_style s); /* In O (or in the default if O is null), set the value of the quoting options for character C to I. Return the old value. Currently, the only values defined for I are 0 (the default) and 1 (which means to quote the character even if it would not otherwise be quoted). C must never be a digit or a letter that has special meaning after a backslash (for example, "\t" for tab). */ int set_char_quoting (struct quoting_options *o, char c, int i); /* In O (or in the default if O is null), set the value of the quoting options flag to I, which can be a bitwise combination of enum quoting_flags, or 0 for default behavior. Return the old value. */ int set_quoting_flags (struct quoting_options *o, int i); /* In O (or in the default if O is null), set the value of the quoting style to custom_quoting_style, set the left quote to LEFT_QUOTE, and set the right quote to RIGHT_QUOTE. Each of LEFT_QUOTE and RIGHT_QUOTE must be null-terminated and can be the empty string. Because backslashes are used for escaping, it does not make sense for RIGHT_QUOTE to contain a backslash. RIGHT_QUOTE must not begin with a digit or a letter that has special meaning after a backslash (for example, "\t" for tab). */ void set_custom_quoting (struct quoting_options *o, char const *left_quote, char const *right_quote); /* Place into buffer BUFFER (of size BUFFERSIZE) a quoted version of argument ARG (of size ARGSIZE), using O to control quoting. If O is null, use the default. Terminate the output with a null character, and return the written size of the output, not counting the terminating null. If BUFFERSIZE is too small to store the output string, return the value that would have been returned had BUFFERSIZE been large enough. If ARGSIZE is -1, use the string length of the argument for ARGSIZE. On output, BUFFER might contain embedded null bytes if ARGSIZE was not -1, the style of O does not use backslash escapes, and the flags of O do not request elision of null bytes.*/ size_t quotearg_buffer (char *buffer, size_t buffersize, char const *arg, size_t argsize, struct quoting_options const *o); /* Like quotearg_buffer, except return the result in a newly allocated buffer. It is the caller's responsibility to free the result. The result will not contain embedded null bytes. */ char *quotearg_alloc (char const *arg, size_t argsize, struct quoting_options const *o); /* Like quotearg_alloc, except that the length of the result, excluding the terminating null byte, is stored into SIZE if it is non-NULL. The result might contain embedded null bytes if ARGSIZE was not -1, SIZE was not NULL, the style of O does not use backslash escapes, and the flags of O do not request elision of null bytes.*/ char *quotearg_alloc_mem (char const *arg, size_t argsize, size_t *size, struct quoting_options const *o); /* Use storage slot N to return a quoted version of the string ARG. Use the default quoting options. The returned value points to static storage that can be reused by the next call to this function with the same value of N. N must be nonnegative. The output of all functions in the quotearg_n family are guaranteed to not contain embedded null bytes.*/ char *quotearg_n (int n, char const *arg); /* Equivalent to quotearg_n (0, ARG). */ char *quotearg (char const *arg); /* Use storage slot N to return a quoted version of the argument ARG of size ARGSIZE. This is like quotearg_n (N, ARG), except it can quote null bytes. */ char *quotearg_n_mem (int n, char const *arg, size_t argsize); /* Equivalent to quotearg_n_mem (0, ARG, ARGSIZE). */ char *quotearg_mem (char const *arg, size_t argsize); /* Use style S and storage slot N to return a quoted version of the string ARG. This is like quotearg_n (N, ARG), except that it uses S with no other options to specify the quoting method. */ char *quotearg_n_style (int n, enum quoting_style s, char const *arg); /* Use style S and storage slot N to return a quoted version of the argument ARG of size ARGSIZE. This is like quotearg_n_style (N, S, ARG), except it can quote null bytes. */ char *quotearg_n_style_mem (int n, enum quoting_style s, char const *arg, size_t argsize); /* Equivalent to quotearg_n_style (0, S, ARG). */ char *quotearg_style (enum quoting_style s, char const *arg); /* Equivalent to quotearg_n_style_mem (0, S, ARG, ARGSIZE). */ char *quotearg_style_mem (enum quoting_style s, char const *arg, size_t argsize); /* Like quotearg (ARG), except also quote any instances of CH. See set_char_quoting for a description of acceptable CH values. */ char *quotearg_char (char const *arg, char ch); /* Like quotearg_char (ARG, CH), except it can quote null bytes. */ char *quotearg_char_mem (char const *arg, size_t argsize, char ch); /* Equivalent to quotearg_char (ARG, ':'). */ char *quotearg_colon (char const *arg); /* Like quotearg_colon (ARG), except it can quote null bytes. */ char *quotearg_colon_mem (char const *arg, size_t argsize); /* Like quotearg_n_style (N, S, ARG) but with S as custom_quoting_style with left quote as LEFT_QUOTE and right quote as RIGHT_QUOTE. See set_custom_quoting for a description of acceptable LEFT_QUOTE and RIGHT_QUOTE values. */ char *quotearg_n_custom (int n, char const *left_quote, char const *right_quote, char const *arg); /* Like quotearg_n_custom (N, LEFT_QUOTE, RIGHT_QUOTE, ARG) except it can quote null bytes. */ char *quotearg_n_custom_mem (int n, char const *left_quote, char const *right_quote, char const *arg, size_t argsize); /* Equivalent to quotearg_n_custom (0, LEFT_QUOTE, RIGHT_QUOTE, ARG). */ char *quotearg_custom (char const *left_quote, char const *right_quote, char const *arg); /* Equivalent to quotearg_n_custom_mem (0, LEFT_QUOTE, RIGHT_QUOTE, ARG, ARGSIZE). */ char *quotearg_custom_mem (char const *left_quote, char const *right_quote, char const *arg, size_t argsize); /* Free any dynamically allocated memory. */ void quotearg_free (void); #endif /* !QUOTEARG_H_ */ parted-2.3/lib/quotearg.c0000644000000000000000000007030711370541031012267 00000000000000/* quotearg.c - quote arguments for output Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2006, 2007, 2008, 2009, 2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert */ #include #include "quotearg.h" #include "xalloc.h" #include #include #include #include #include #include #include #include #include "gettext.h" #define _(msgid) gettext (msgid) #define N_(msgid) msgid #ifndef SIZE_MAX # define SIZE_MAX ((size_t) -1) #endif #define INT_BITS (sizeof (int) * CHAR_BIT) struct quoting_options { /* Basic quoting style. */ enum quoting_style style; /* Additional flags. Bitwise combination of enum quoting_flags. */ int flags; /* Quote the characters indicated by this bit vector even if the quoting style would not normally require them to be quoted. */ unsigned int quote_these_too[(UCHAR_MAX / INT_BITS) + 1]; /* The left quote for custom_quoting_style. */ char const *left_quote; /* The right quote for custom_quoting_style. */ char const *right_quote; }; /* Names of quoting styles. */ char const *const quoting_style_args[] = { "literal", "shell", "shell-always", "c", "c-maybe", "escape", "locale", "clocale", 0 }; /* Correspondences to quoting style names. */ enum quoting_style const quoting_style_vals[] = { literal_quoting_style, shell_quoting_style, shell_always_quoting_style, c_quoting_style, c_maybe_quoting_style, escape_quoting_style, locale_quoting_style, clocale_quoting_style }; /* The default quoting options. */ static struct quoting_options default_quoting_options; /* Allocate a new set of quoting options, with contents initially identical to O if O is not null, or to the default if O is null. It is the caller's responsibility to free the result. */ struct quoting_options * clone_quoting_options (struct quoting_options *o) { int e = errno; struct quoting_options *p = xmemdup (o ? o : &default_quoting_options, sizeof *o); errno = e; return p; } /* Get the value of O's quoting style. If O is null, use the default. */ enum quoting_style get_quoting_style (struct quoting_options *o) { return (o ? o : &default_quoting_options)->style; } /* In O (or in the default if O is null), set the value of the quoting style to S. */ void set_quoting_style (struct quoting_options *o, enum quoting_style s) { (o ? o : &default_quoting_options)->style = s; } /* In O (or in the default if O is null), set the value of the quoting options for character C to I. Return the old value. Currently, the only values defined for I are 0 (the default) and 1 (which means to quote the character even if it would not otherwise be quoted). */ int set_char_quoting (struct quoting_options *o, char c, int i) { unsigned char uc = c; unsigned int *p = (o ? o : &default_quoting_options)->quote_these_too + uc / INT_BITS; int shift = uc % INT_BITS; int r = (*p >> shift) & 1; *p ^= ((i & 1) ^ r) << shift; return r; } /* In O (or in the default if O is null), set the value of the quoting options flag to I, which can be a bitwise combination of enum quoting_flags, or 0 for default behavior. Return the old value. */ int set_quoting_flags (struct quoting_options *o, int i) { int r; if (!o) o = &default_quoting_options; r = o->flags; o->flags = i; return r; } void set_custom_quoting (struct quoting_options *o, char const *left_quote, char const *right_quote) { if (!o) o = &default_quoting_options; o->style = custom_quoting_style; if (!left_quote || !right_quote) abort (); o->left_quote = left_quote; o->right_quote = right_quote; } /* Return quoting options for STYLE, with no extra quoting. */ static struct quoting_options quoting_options_from_style (enum quoting_style style) { struct quoting_options o; o.style = style; o.flags = 0; memset (o.quote_these_too, 0, sizeof o.quote_these_too); return o; } /* MSGID approximates a quotation mark. Return its translation if it has one; otherwise, return either it or "\"", depending on S. */ static char const * gettext_quote (char const *msgid, enum quoting_style s) { char const *translation = _(msgid); if (translation == msgid && s == clocale_quoting_style) translation = "\""; return translation; } /* Place into buffer BUFFER (of size BUFFERSIZE) a quoted version of argument ARG (of size ARGSIZE), using QUOTING_STYLE, FLAGS, and QUOTE_THESE_TOO to control quoting. Terminate the output with a null character, and return the written size of the output, not counting the terminating null. If BUFFERSIZE is too small to store the output string, return the value that would have been returned had BUFFERSIZE been large enough. If ARGSIZE is SIZE_MAX, use the string length of the argument for ARGSIZE. This function acts like quotearg_buffer (BUFFER, BUFFERSIZE, ARG, ARGSIZE, O), except it breaks O into its component pieces and is not careful about errno. */ static size_t quotearg_buffer_restyled (char *buffer, size_t buffersize, char const *arg, size_t argsize, enum quoting_style quoting_style, int flags, unsigned int const *quote_these_too, char const *left_quote, char const *right_quote) { size_t i; size_t len = 0; char const *quote_string = 0; size_t quote_string_len = 0; bool backslash_escapes = false; bool unibyte_locale = MB_CUR_MAX == 1; bool elide_outer_quotes = (flags & QA_ELIDE_OUTER_QUOTES) != 0; #define STORE(c) \ do \ { \ if (len < buffersize) \ buffer[len] = (c); \ len++; \ } \ while (0) switch (quoting_style) { case c_maybe_quoting_style: quoting_style = c_quoting_style; elide_outer_quotes = true; /* Fall through. */ case c_quoting_style: if (!elide_outer_quotes) STORE ('"'); backslash_escapes = true; quote_string = "\""; quote_string_len = 1; break; case escape_quoting_style: backslash_escapes = true; elide_outer_quotes = false; break; case locale_quoting_style: case clocale_quoting_style: case custom_quoting_style: { if (quoting_style != custom_quoting_style) { /* TRANSLATORS: Get translations for open and closing quotation marks. The message catalog should translate "`" to a left quotation mark suitable for the locale, and similarly for "'". If the catalog has no translation, locale_quoting_style quotes `like this', and clocale_quoting_style quotes "like this". For example, an American English Unicode locale should translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and should translate "'" to U+201D (RIGHT DOUBLE QUOTATION MARK). A British English Unicode locale should instead translate these to U+2018 (LEFT SINGLE QUOTATION MARK) and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. If you don't know what to put here, please see and use glyphs suitable for your language. */ left_quote = gettext_quote (N_("`"), quoting_style); right_quote = gettext_quote (N_("'"), quoting_style); } if (!elide_outer_quotes) for (quote_string = left_quote; *quote_string; quote_string++) STORE (*quote_string); backslash_escapes = true; quote_string = right_quote; quote_string_len = strlen (quote_string); } break; case shell_quoting_style: quoting_style = shell_always_quoting_style; elide_outer_quotes = true; /* Fall through. */ case shell_always_quoting_style: if (!elide_outer_quotes) STORE ('\''); quote_string = "'"; quote_string_len = 1; break; case literal_quoting_style: elide_outer_quotes = false; break; default: abort (); } for (i = 0; ! (argsize == SIZE_MAX ? arg[i] == '\0' : i == argsize); i++) { unsigned char c; unsigned char esc; bool is_right_quote = false; if (backslash_escapes && quote_string_len && i + quote_string_len <= argsize && memcmp (arg + i, quote_string, quote_string_len) == 0) { if (elide_outer_quotes) goto force_outer_quoting_style; is_right_quote = true; } c = arg[i]; switch (c) { case '\0': if (backslash_escapes) { if (elide_outer_quotes) goto force_outer_quoting_style; STORE ('\\'); /* If quote_string were to begin with digits, we'd need to test for the end of the arg as well. However, it's hard to imagine any locale that would use digits in quotes, and set_custom_quoting is documented not to accept them. */ if (i + 1 < argsize && '0' <= arg[i + 1] && arg[i + 1] <= '9') { STORE ('0'); STORE ('0'); } c = '0'; /* We don't have to worry that this last '0' will be backslash-escaped because, again, quote_string should not start with it and because quote_these_too is documented as not accepting it. */ } else if (flags & QA_ELIDE_NULL_BYTES) continue; break; case '?': switch (quoting_style) { case shell_always_quoting_style: if (elide_outer_quotes) goto force_outer_quoting_style; break; case c_quoting_style: if ((flags & QA_SPLIT_TRIGRAPHS) && i + 2 < argsize && arg[i + 1] == '?') switch (arg[i + 2]) { case '!': case '\'': case '(': case ')': case '-': case '/': case '<': case '=': case '>': /* Escape the second '?' in what would otherwise be a trigraph. */ if (elide_outer_quotes) goto force_outer_quoting_style; c = arg[i + 2]; i += 2; STORE ('?'); STORE ('"'); STORE ('"'); STORE ('?'); break; default: break; } break; default: break; } break; case '\a': esc = 'a'; goto c_escape; case '\b': esc = 'b'; goto c_escape; case '\f': esc = 'f'; goto c_escape; case '\n': esc = 'n'; goto c_and_shell_escape; case '\r': esc = 'r'; goto c_and_shell_escape; case '\t': esc = 't'; goto c_and_shell_escape; case '\v': esc = 'v'; goto c_escape; case '\\': esc = c; /* No need to escape the escape if we are trying to elide outer quotes and nothing else is problematic. */ if (backslash_escapes && elide_outer_quotes && quote_string_len) goto store_c; c_and_shell_escape: if (quoting_style == shell_always_quoting_style && elide_outer_quotes) goto force_outer_quoting_style; /* Fall through. */ c_escape: if (backslash_escapes) { c = esc; goto store_escape; } break; case '{': case '}': /* sometimes special if isolated */ if (! (argsize == SIZE_MAX ? arg[1] == '\0' : argsize == 1)) break; /* Fall through. */ case '#': case '~': if (i != 0) break; /* Fall through. */ case ' ': case '!': /* special in bash */ case '"': case '$': case '&': case '(': case ')': case '*': case ';': case '<': case '=': /* sometimes special in 0th or (with "set -k") later args */ case '>': case '[': case '^': /* special in old /bin/sh, e.g. SunOS 4.1.4 */ case '`': case '|': /* A shell special character. In theory, '$' and '`' could be the first bytes of multibyte characters, which means we should check them with mbrtowc, but in practice this doesn't happen so it's not worth worrying about. */ if (quoting_style == shell_always_quoting_style && elide_outer_quotes) goto force_outer_quoting_style; break; case '\'': if (quoting_style == shell_always_quoting_style) { if (elide_outer_quotes) goto force_outer_quoting_style; STORE ('\''); STORE ('\\'); STORE ('\''); } break; case '%': case '+': case ',': case '-': case '.': case '/': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case ':': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case ']': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': /* These characters don't cause problems, no matter what the quoting style is. They cannot start multibyte sequences. A digit or a special letter would cause trouble if it appeared at the beginning of quote_string because we'd then escape by prepending a backslash. However, it's hard to imagine any locale that would use digits or letters as quotes, and set_custom_quoting is documented not to accept them. Also, a digit or a special letter would cause trouble if it appeared in quote_these_too, but that's also documented as not accepting them. */ break; default: /* If we have a multibyte sequence, copy it until we reach its end, find an error, or come back to the initial shift state. For C-like styles, if the sequence has unprintable characters, escape the whole sequence, since we can't easily escape single characters within it. */ { /* Length of multibyte sequence found so far. */ size_t m; bool printable; if (unibyte_locale) { m = 1; printable = isprint (c) != 0; } else { mbstate_t mbstate; memset (&mbstate, 0, sizeof mbstate); m = 0; printable = true; if (argsize == SIZE_MAX) argsize = strlen (arg); do { wchar_t w; size_t bytes = mbrtowc (&w, &arg[i + m], argsize - (i + m), &mbstate); if (bytes == 0) break; else if (bytes == (size_t) -1) { printable = false; break; } else if (bytes == (size_t) -2) { printable = false; while (i + m < argsize && arg[i + m]) m++; break; } else { /* Work around a bug with older shells that "see" a '\' that is really the 2nd byte of a multibyte character. In practice the problem is limited to ASCII chars >= '@' that are shell special chars. */ if ('[' == 0x5b && elide_outer_quotes && quoting_style == shell_always_quoting_style) { size_t j; for (j = 1; j < bytes; j++) switch (arg[i + m + j]) { case '[': case '\\': case '^': case '`': case '|': goto force_outer_quoting_style; default: break; } } if (! iswprint (w)) printable = false; m += bytes; } } while (! mbsinit (&mbstate)); } if (1 < m || (backslash_escapes && ! printable)) { /* Output a multibyte sequence, or an escaped unprintable unibyte character. */ size_t ilim = i + m; for (;;) { if (backslash_escapes && ! printable) { if (elide_outer_quotes) goto force_outer_quoting_style; STORE ('\\'); STORE ('0' + (c >> 6)); STORE ('0' + ((c >> 3) & 7)); c = '0' + (c & 7); } else if (is_right_quote) { STORE ('\\'); is_right_quote = false; } if (ilim <= i + 1) break; STORE (c); c = arg[++i]; } goto store_c; } } } if (! ((backslash_escapes || elide_outer_quotes) && quote_these_too && quote_these_too[c / INT_BITS] & (1 << (c % INT_BITS))) && !is_right_quote) goto store_c; store_escape: if (elide_outer_quotes) goto force_outer_quoting_style; STORE ('\\'); store_c: STORE (c); } if (len == 0 && quoting_style == shell_always_quoting_style && elide_outer_quotes) goto force_outer_quoting_style; if (quote_string && !elide_outer_quotes) for (; *quote_string; quote_string++) STORE (*quote_string); if (len < buffersize) buffer[len] = '\0'; return len; force_outer_quoting_style: /* Don't reuse quote_these_too, since the addition of outer quotes sufficiently quotes the specified characters. */ return quotearg_buffer_restyled (buffer, buffersize, arg, argsize, quoting_style, flags & ~QA_ELIDE_OUTER_QUOTES, NULL, left_quote, right_quote); } /* Place into buffer BUFFER (of size BUFFERSIZE) a quoted version of argument ARG (of size ARGSIZE), using O to control quoting. If O is null, use the default. Terminate the output with a null character, and return the written size of the output, not counting the terminating null. If BUFFERSIZE is too small to store the output string, return the value that would have been returned had BUFFERSIZE been large enough. If ARGSIZE is SIZE_MAX, use the string length of the argument for ARGSIZE. */ size_t quotearg_buffer (char *buffer, size_t buffersize, char const *arg, size_t argsize, struct quoting_options const *o) { struct quoting_options const *p = o ? o : &default_quoting_options; int e = errno; size_t r = quotearg_buffer_restyled (buffer, buffersize, arg, argsize, p->style, p->flags, p->quote_these_too, p->left_quote, p->right_quote); errno = e; return r; } /* Equivalent to quotearg_alloc (ARG, ARGSIZE, NULL, O). */ char * quotearg_alloc (char const *arg, size_t argsize, struct quoting_options const *o) { return quotearg_alloc_mem (arg, argsize, NULL, o); } /* Like quotearg_buffer (..., ARG, ARGSIZE, O), except return newly allocated storage containing the quoted string, and store the resulting size into *SIZE, if non-NULL. The result can contain embedded null bytes only if ARGSIZE is not SIZE_MAX, SIZE is not NULL, and set_quoting_flags has not set the null byte elision flag. */ char * quotearg_alloc_mem (char const *arg, size_t argsize, size_t *size, struct quoting_options const *o) { struct quoting_options const *p = o ? o : &default_quoting_options; int e = errno; /* Elide embedded null bytes if we can't return a size. */ int flags = p->flags | (size ? 0 : QA_ELIDE_NULL_BYTES); size_t bufsize = quotearg_buffer_restyled (0, 0, arg, argsize, p->style, flags, p->quote_these_too, p->left_quote, p->right_quote) + 1; char *buf = xcharalloc (bufsize); quotearg_buffer_restyled (buf, bufsize, arg, argsize, p->style, flags, p->quote_these_too, p->left_quote, p->right_quote); errno = e; if (size) *size = bufsize - 1; return buf; } /* A storage slot with size and pointer to a value. */ struct slotvec { size_t size; char *val; }; /* Preallocate a slot 0 buffer, so that the caller can always quote one small component of a "memory exhausted" message in slot 0. */ static char slot0[256]; static unsigned int nslots = 1; static struct slotvec slotvec0 = {sizeof slot0, slot0}; static struct slotvec *slotvec = &slotvec0; void quotearg_free (void) { struct slotvec *sv = slotvec; unsigned int i; for (i = 1; i < nslots; i++) free (sv[i].val); if (sv[0].val != slot0) { free (sv[0].val); slotvec0.size = sizeof slot0; slotvec0.val = slot0; } if (sv != &slotvec0) { free (sv); slotvec = &slotvec0; } nslots = 1; } /* Use storage slot N to return a quoted version of argument ARG. ARG is of size ARGSIZE, but if that is SIZE_MAX, ARG is a null-terminated string. OPTIONS specifies the quoting options. The returned value points to static storage that can be reused by the next call to this function with the same value of N. N must be nonnegative. N is deliberately declared with type "int" to allow for future extensions (using negative values). */ static char * quotearg_n_options (int n, char const *arg, size_t argsize, struct quoting_options const *options) { int e = errno; unsigned int n0 = n; struct slotvec *sv = slotvec; if (n < 0) abort (); if (nslots <= n0) { /* FIXME: technically, the type of n1 should be `unsigned int', but that evokes an unsuppressible warning from gcc-4.0.1 and older. If gcc ever provides an option to suppress that warning, revert to the original type, so that the test in xalloc_oversized is once again performed only at compile time. */ size_t n1 = n0 + 1; bool preallocated = (sv == &slotvec0); if (xalloc_oversized (n1, sizeof *sv)) xalloc_die (); slotvec = sv = xrealloc (preallocated ? NULL : sv, n1 * sizeof *sv); if (preallocated) *sv = slotvec0; memset (sv + nslots, 0, (n1 - nslots) * sizeof *sv); nslots = n1; } { size_t size = sv[n].size; char *val = sv[n].val; /* Elide embedded null bytes since we don't return a size. */ int flags = options->flags | QA_ELIDE_NULL_BYTES; size_t qsize = quotearg_buffer_restyled (val, size, arg, argsize, options->style, flags, options->quote_these_too, options->left_quote, options->right_quote); if (size <= qsize) { sv[n].size = size = qsize + 1; if (val != slot0) free (val); sv[n].val = val = xcharalloc (size); quotearg_buffer_restyled (val, size, arg, argsize, options->style, flags, options->quote_these_too, options->left_quote, options->right_quote); } errno = e; return val; } } char * quotearg_n (int n, char const *arg) { return quotearg_n_options (n, arg, SIZE_MAX, &default_quoting_options); } char * quotearg_n_mem (int n, char const *arg, size_t argsize) { return quotearg_n_options (n, arg, argsize, &default_quoting_options); } char * quotearg (char const *arg) { return quotearg_n (0, arg); } char * quotearg_mem (char const *arg, size_t argsize) { return quotearg_n_mem (0, arg, argsize); } char * quotearg_n_style (int n, enum quoting_style s, char const *arg) { struct quoting_options const o = quoting_options_from_style (s); return quotearg_n_options (n, arg, SIZE_MAX, &o); } char * quotearg_n_style_mem (int n, enum quoting_style s, char const *arg, size_t argsize) { struct quoting_options const o = quoting_options_from_style (s); return quotearg_n_options (n, arg, argsize, &o); } char * quotearg_style (enum quoting_style s, char const *arg) { return quotearg_n_style (0, s, arg); } char * quotearg_style_mem (enum quoting_style s, char const *arg, size_t argsize) { return quotearg_n_style_mem (0, s, arg, argsize); } char * quotearg_char_mem (char const *arg, size_t argsize, char ch) { struct quoting_options options; options = default_quoting_options; set_char_quoting (&options, ch, 1); return quotearg_n_options (0, arg, argsize, &options); } char * quotearg_char (char const *arg, char ch) { return quotearg_char_mem (arg, SIZE_MAX, ch); } char * quotearg_colon (char const *arg) { return quotearg_char (arg, ':'); } char * quotearg_colon_mem (char const *arg, size_t argsize) { return quotearg_char_mem (arg, argsize, ':'); } char * quotearg_n_custom (int n, char const *left_quote, char const *right_quote, char const *arg) { return quotearg_n_custom_mem (n, left_quote, right_quote, arg, SIZE_MAX); } char * quotearg_n_custom_mem (int n, char const *left_quote, char const *right_quote, char const *arg, size_t argsize) { struct quoting_options o = default_quoting_options; set_custom_quoting (&o, left_quote, right_quote); return quotearg_n_options (n, arg, argsize, &o); } char * quotearg_custom (char const *left_quote, char const *right_quote, char const *arg) { return quotearg_n_custom (0, left_quote, right_quote, arg); } char * quotearg_custom_mem (char const *left_quote, char const *right_quote, char const *arg, size_t argsize) { return quotearg_n_custom_mem (0, left_quote, right_quote, arg, argsize); } parted-2.3/lib/stat.c0000644000000000000000000000651511370541032011414 00000000000000/* Work around platform bugs in stat. Copyright (C) 2009, 2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* written by Eric Blake */ #include /* Get the original definition of stat. It might be defined as a macro. */ #define __need_system_sys_stat_h #include #include #undef __need_system_sys_stat_h static inline int orig_stat (const char *filename, struct stat *buf) { return stat (filename, buf); } /* Specification. */ #include #include #include #include #include /* Store information about NAME into ST. Work around bugs with trailing slashes. Mingw has other bugs (such as st_ino always being 0 on success) which this wrapper does not work around. But at least this implementation provides the ability to emulate fchdir correctly. */ int rpl_stat (char const *name, struct stat *st) { int result = orig_stat (name, st); #if REPLACE_FUNC_STAT_FILE /* Solaris 9 mistakenly succeeds when given a non-directory with a trailing slash. */ if (result == 0 && !S_ISDIR (st->st_mode)) { size_t len = strlen (name); if (ISSLASH (name[len - 1])) { errno = ENOTDIR; return -1; } } #endif /* REPLACE_FUNC_STAT_FILE */ #if REPLACE_FUNC_STAT_DIR if (result == -1 && errno == ENOENT) { /* Due to mingw's oddities, there are some directories (like c:\) where stat() only succeeds with a trailing slash, and other directories (like c:\windows) where stat() only succeeds without a trailing slash. But we want the two to be synonymous, since chdir() manages either style. Likewise, Mingw also reports ENOENT for names longer than PATH_MAX, when we want ENAMETOOLONG, and for stat("file/"), when we want ENOTDIR. Fortunately, mingw PATH_MAX is small enough for stack allocation. */ char fixed_name[PATH_MAX + 1] = {0}; size_t len = strlen (name); bool check_dir = false; if (PATH_MAX <= len) errno = ENAMETOOLONG; else if (len) { strcpy (fixed_name, name); if (ISSLASH (fixed_name[len - 1])) { check_dir = true; while (len && ISSLASH (fixed_name[len - 1])) fixed_name[--len] = '\0'; if (!len) fixed_name[0] = '/'; } else fixed_name[len++] = '/'; result = orig_stat (fixed_name, st); if (result == 0 && check_dir && !S_ISDIR (st->st_mode)) { result = -1; errno = ENOTDIR; } } } #endif /* REPLACE_FUNC_STAT_DIR */ return result; } parted-2.3/lib/stdio.in.h0000644000000000000000000011441411377165373012214 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A GNU-like . Copyright (C) 2004, 2007-2010 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 3, 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. */ #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif #if defined __need_FILE || defined __need___FILE /* Special invocation convention inside glibc header files. */ #@INCLUDE_NEXT@ @NEXT_STDIO_H@ #else /* Normal invocation convention. */ #ifndef _GL_STDIO_H /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_STDIO_H@ #ifndef _GL_STDIO_H #define _GL_STDIO_H /* Get va_list. Needed on many systems, including glibc 2.8. */ #include #include /* Get off_t and ssize_t. Needed on many systems, including glibc 2.8. */ #include #ifndef __attribute__ /* The __attribute__ feature is available in gcc versions 2.5 and later. The __-protected variants of the attributes 'format' and 'printf' are accepted by gcc versions 2.6.4 (effectively 2.7) and later. We enable __attribute__ only if these are supported too, because gnulib and libintl do '#define printf __printf__' when they override the 'printf' function. */ # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7) # define __attribute__(Spec) /* empty */ # endif #endif /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_ARG_NONNULL is copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ /* Macros for stringification. */ #define _GL_STDIO_STRINGIZE(token) #token #define _GL_STDIO_MACROEXPAND_AND_STRINGIZE(token) _GL_STDIO_STRINGIZE(token) #if @GNULIB_DPRINTF@ # if @REPLACE_DPRINTF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define dprintf rpl_dprintf # endif _GL_FUNCDECL_RPL (dprintf, int, (int fd, const char *format, ...) __attribute__ ((__format__ (__printf__, 2, 3))) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (dprintf, int, (int fd, const char *format, ...)); # else # if !@HAVE_DPRINTF@ _GL_FUNCDECL_SYS (dprintf, int, (int fd, const char *format, ...) __attribute__ ((__format__ (__printf__, 2, 3))) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (dprintf, int, (int fd, const char *format, ...)); # endif _GL_CXXALIASWARN (dprintf); #elif defined GNULIB_POSIXCHECK # undef dprintf # if HAVE_RAW_DECL_DPRINTF _GL_WARN_ON_USE (dprintf, "dprintf is unportable - " "use gnulib module dprintf for portability"); # endif #endif #if @GNULIB_FCLOSE@ /* Close STREAM and its underlying file descriptor. */ # if @REPLACE_FCLOSE@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define fclose rpl_fclose # endif _GL_FUNCDECL_RPL (fclose, int, (FILE *stream) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (fclose, int, (FILE *stream)); # else _GL_CXXALIAS_SYS (fclose, int, (FILE *stream)); # endif _GL_CXXALIASWARN (fclose); #elif defined GNULIB_POSIXCHECK # undef fclose /* Assume fclose is always declared. */ _GL_WARN_ON_USE (fclose, "fclose is not always POSIX compliant - " "use gnulib module fclose for portable POSIX compliance"); #endif #if @GNULIB_FFLUSH@ /* Flush all pending data on STREAM according to POSIX rules. Both output and seekable input streams are supported. Note! LOSS OF DATA can occur if fflush is applied on an input stream that is _not_seekable_ or on an update stream that is _not_seekable_ and in which the most recent operation was input. Seekability can be tested with lseek(fileno(fp),0,SEEK_CUR). */ # if @REPLACE_FFLUSH@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define fflush rpl_fflush # endif _GL_FUNCDECL_RPL (fflush, int, (FILE *gl_stream)); _GL_CXXALIAS_RPL (fflush, int, (FILE *gl_stream)); # else _GL_CXXALIAS_SYS (fflush, int, (FILE *gl_stream)); # endif _GL_CXXALIASWARN (fflush); #elif defined GNULIB_POSIXCHECK # undef fflush /* Assume fflush is always declared. */ _GL_WARN_ON_USE (fflush, "fflush is not always POSIX compliant - " "use gnulib module fflush for portable POSIX compliance"); #endif /* It is very rare that the developer ever has full control of stdin, so any use of gets warrants an unconditional warning. Assume it is always declared, since it is required by C89. */ #undef gets _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); #if @GNULIB_FOPEN@ # if @REPLACE_FOPEN@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef fopen # define fopen rpl_fopen # endif _GL_FUNCDECL_RPL (fopen, FILE *, (const char *filename, const char *mode) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (fopen, FILE *, (const char *filename, const char *mode)); # else _GL_CXXALIAS_SYS (fopen, FILE *, (const char *filename, const char *mode)); # endif _GL_CXXALIASWARN (fopen); #elif defined GNULIB_POSIXCHECK # undef fopen /* Assume fopen is always declared. */ _GL_WARN_ON_USE (fopen, "fopen on Win32 platforms is not POSIX compatible - " "use gnulib module fopen for portability"); #endif #if @GNULIB_FPRINTF_POSIX@ || @GNULIB_FPRINTF@ # if (@GNULIB_FPRINTF_POSIX@ && @REPLACE_FPRINTF@) \ || (@GNULIB_FPRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@) # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define fprintf rpl_fprintf # endif # define GNULIB_overrides_fprintf 1 _GL_FUNCDECL_RPL (fprintf, int, (FILE *fp, const char *format, ...) __attribute__ ((__format__ (__printf__, 2, 3))) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (fprintf, int, (FILE *fp, const char *format, ...)); # else _GL_CXXALIAS_SYS (fprintf, int, (FILE *fp, const char *format, ...)); # endif _GL_CXXALIASWARN (fprintf); #endif #if !@GNULIB_FPRINTF_POSIX@ && defined GNULIB_POSIXCHECK # if !GNULIB_overrides_fprintf # undef fprintf # endif /* Assume fprintf is always declared. */ _GL_WARN_ON_USE (fprintf, "fprintf is not always POSIX compliant - " "use gnulib module fprintf-posix for portable " "POSIX compliance"); #endif #if @GNULIB_FPURGE@ /* Discard all pending buffered I/O data on STREAM. STREAM must not be wide-character oriented. When discarding pending output, the file position is set back to where it was before the write calls. When discarding pending input, the file position is advanced to match the end of the previously read input. Return 0 if successful. Upon error, return -1 and set errno. */ # if @REPLACE_FPURGE@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define fpurge rpl_fpurge # endif _GL_FUNCDECL_RPL (fpurge, int, (FILE *gl_stream) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (fpurge, int, (FILE *gl_stream)); # else # if !@HAVE_DECL_FPURGE@ _GL_FUNCDECL_SYS (fpurge, int, (FILE *gl_stream) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (fpurge, int, (FILE *gl_stream)); # endif _GL_CXXALIASWARN (fpurge); #elif defined GNULIB_POSIXCHECK # undef fpurge # if HAVE_RAW_DECL_FPURGE _GL_WARN_ON_USE (fpurge, "fpurge is not always present - " "use gnulib module fpurge for portability"); # endif #endif #if @GNULIB_FPUTC@ # if @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef fputc # define fputc rpl_fputc # endif _GL_FUNCDECL_RPL (fputc, int, (int c, FILE *stream) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (fputc, int, (int c, FILE *stream)); # else _GL_CXXALIAS_SYS (fputc, int, (int c, FILE *stream)); # endif _GL_CXXALIASWARN (fputc); #endif #if @GNULIB_FPUTS@ # if @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef fputs # define fputs rpl_fputs # endif _GL_FUNCDECL_RPL (fputs, int, (const char *string, FILE *stream) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (fputs, int, (const char *string, FILE *stream)); # else _GL_CXXALIAS_SYS (fputs, int, (const char *string, FILE *stream)); # endif _GL_CXXALIASWARN (fputs); #endif #if @GNULIB_FREOPEN@ # if @REPLACE_FREOPEN@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef freopen # define freopen rpl_freopen # endif _GL_FUNCDECL_RPL (freopen, FILE *, (const char *filename, const char *mode, FILE *stream) _GL_ARG_NONNULL ((2, 3))); _GL_CXXALIAS_RPL (freopen, FILE *, (const char *filename, const char *mode, FILE *stream)); # else _GL_CXXALIAS_SYS (freopen, FILE *, (const char *filename, const char *mode, FILE *stream)); # endif _GL_CXXALIASWARN (freopen); #elif defined GNULIB_POSIXCHECK # undef freopen /* Assume freopen is always declared. */ _GL_WARN_ON_USE (freopen, "freopen on Win32 platforms is not POSIX compatible - " "use gnulib module freopen for portability"); #endif /* Set up the following warnings, based on which modules are in use. GNU Coding Standards discourage the use of fseek, since it imposes an arbitrary limitation on some 32-bit hosts. Remember that the fseek module depends on the fseeko module, so we only have three cases to consider: 1. The developer is not using either module. Issue a warning under GNULIB_POSIXCHECK for both functions, to remind them that both functions have bugs on some systems. _GL_NO_LARGE_FILES has no impact on this warning. 2. The developer is using both modules. They may be unaware of the arbitrary limitations of fseek, so issue a warning under GNULIB_POSIXCHECK. On the other hand, they may be using both modules intentionally, so the developer can define _GL_NO_LARGE_FILES in the compilation units where the use of fseek is safe, to silence the warning. 3. The developer is using the fseeko module, but not fseek. Gnulib guarantees that fseek will still work around platform bugs in that case, but we presume that the developer is aware of the pitfalls of fseek and was trying to avoid it, so issue a warning even when GNULIB_POSIXCHECK is undefined. Again, _GL_NO_LARGE_FILES can be defined to silence the warning in particular compilation units. In C++ compilations with GNULIB_NAMESPACE, in order to avoid that fseek gets defined as a macro, it is recommended that the developer uses the fseek module, even if he is not calling the fseek function. Most gnulib clients that perform stream operations should fall into category 3. */ #if @GNULIB_FSEEK@ # if defined GNULIB_POSIXCHECK && !defined _GL_NO_LARGE_FILES # define _GL_FSEEK_WARN /* Category 2, above. */ # undef fseek # endif # if @REPLACE_FSEEK@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef fseek # define fseek rpl_fseek # endif _GL_FUNCDECL_RPL (fseek, int, (FILE *fp, long offset, int whence) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (fseek, int, (FILE *fp, long offset, int whence)); # else _GL_CXXALIAS_SYS (fseek, int, (FILE *fp, long offset, int whence)); # endif _GL_CXXALIASWARN (fseek); #endif #if @GNULIB_FSEEKO@ # if !@GNULIB_FSEEK@ && !defined _GL_NO_LARGE_FILES # define _GL_FSEEK_WARN /* Category 3, above. */ # undef fseek # endif # if @REPLACE_FSEEKO@ /* Provide an fseeko function that is aware of a preceding fflush(), and which detects pipes. */ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef fseeko # define fseeko rpl_fseeko # endif _GL_FUNCDECL_RPL (fseeko, int, (FILE *fp, off_t offset, int whence) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (fseeko, int, (FILE *fp, off_t offset, int whence)); # else # if ! @HAVE_FSEEKO@ _GL_FUNCDECL_SYS (fseeko, int, (FILE *fp, off_t offset, int whence) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (fseeko, int, (FILE *fp, off_t offset, int whence)); # endif _GL_CXXALIASWARN (fseeko); # if (@REPLACE_FSEEKO@ || !@HAVE_FSEEKO@) && !@GNULIB_FSEEK@ /* Provide an fseek function that is consistent with fseeko. */ /* In order to avoid that fseek gets defined as a macro here, the developer can request the 'fseek' module. */ # undef fseek # define fseek rpl_fseek static inline int _GL_ARG_NONNULL ((1)) rpl_fseek (FILE *fp, long offset, int whence) { # if @REPLACE_FSEEKO@ return rpl_fseeko (fp, offset, whence); # else return fseeko (fp, offset, whence); # endif } # endif #elif defined GNULIB_POSIXCHECK # define _GL_FSEEK_WARN /* Category 1, above. */ # undef fseek # undef fseeko # if HAVE_RAW_DECL_FSEEKO _GL_WARN_ON_USE (fseeko, "fseeko is unportable - " "use gnulib module fseeko for portability"); # endif #endif #ifdef _GL_FSEEK_WARN # undef _GL_FSEEK_WARN /* Here, either fseek is undefined (but C89 guarantees that it is declared), or it is defined as rpl_fseek (declared above). */ _GL_WARN_ON_USE (fseek, "fseek cannot handle files larger than 4 GB " "on 32-bit platforms - " "use fseeko function for handling of large files"); #endif /* ftell, ftello. See the comments on fseek/fseeko. */ #if @GNULIB_FTELL@ # if defined GNULIB_POSIXCHECK && !defined _GL_NO_LARGE_FILES # define _GL_FTELL_WARN /* Category 2, above. */ # undef ftell # endif # if @REPLACE_FTELL@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef ftell # define ftell rpl_ftell # endif _GL_FUNCDECL_RPL (ftell, long, (FILE *fp) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (ftell, long, (FILE *fp)); # else _GL_CXXALIAS_SYS (ftell, long, (FILE *fp)); # endif _GL_CXXALIASWARN (ftell); #endif #if @GNULIB_FTELLO@ # if !@GNULIB_FTELL@ && !defined _GL_NO_LARGE_FILES # define _GL_FTELL_WARN /* Category 3, above. */ # undef ftell # endif # if @REPLACE_FTELLO@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef ftello # define ftello rpl_ftello # endif _GL_FUNCDECL_RPL (ftello, off_t, (FILE *fp) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (ftello, off_t, (FILE *fp)); # else # if ! @HAVE_FTELLO@ _GL_FUNCDECL_SYS (ftello, off_t, (FILE *fp) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (ftello, off_t, (FILE *fp)); # endif _GL_CXXALIASWARN (ftello); # if (@REPLACE_FTELLO@ || !@HAVE_FTELLO@) && !@GNULIB_FTELL@ /* Provide an ftell function that is consistent with ftello. */ /* In order to avoid that ftell gets defined as a macro here, the developer can request the 'ftell' module. */ # undef ftell # define ftell rpl_ftell static inline long _GL_ARG_NONNULL ((1)) rpl_ftell (FILE *f) { # if @REPLACE_FTELLO@ return rpl_ftello (f); # else return ftello (f); # endif } # endif #elif defined GNULIB_POSIXCHECK # define _GL_FTELL_WARN /* Category 1, above. */ # undef ftell # undef ftello # if HAVE_RAW_DECL_FTELLO _GL_WARN_ON_USE (ftello, "ftello is unportable - " "use gnulib module ftello for portability"); # endif #endif #ifdef _GL_FTELL_WARN # undef _GL_FTELL_WARN /* Here, either ftell is undefined (but C89 guarantees that it is declared), or it is defined as rpl_ftell (declared above). */ _GL_WARN_ON_USE (ftell, "ftell cannot handle files larger than 4 GB " "on 32-bit platforms - " "use ftello function for handling of large files"); #endif #if @GNULIB_FWRITE@ # if @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef fwrite # define fwrite rpl_fwrite # endif _GL_FUNCDECL_RPL (fwrite, size_t, (const void *ptr, size_t s, size_t n, FILE *stream) _GL_ARG_NONNULL ((1, 4))); _GL_CXXALIAS_RPL (fwrite, size_t, (const void *ptr, size_t s, size_t n, FILE *stream)); # else _GL_CXXALIAS_SYS (fwrite, size_t, (const void *ptr, size_t s, size_t n, FILE *stream)); # endif _GL_CXXALIASWARN (fwrite); #endif #if @GNULIB_GETDELIM@ /* Read input, up to (and including) the next occurrence of DELIMITER, from STREAM, store it in *LINEPTR (and NUL-terminate it). *LINEPTR is a pointer returned from malloc (or NULL), pointing to *LINESIZE bytes of space. It is realloc'd as necessary. Return the number of bytes read and stored at *LINEPTR (not including the NUL terminator), or -1 on error or EOF. */ # if @REPLACE_GETDELIM@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef getdelim # define getdelim rpl_getdelim # endif _GL_FUNCDECL_RPL (getdelim, ssize_t, (char **lineptr, size_t *linesize, int delimiter, FILE *stream) _GL_ARG_NONNULL ((1, 2, 4))); _GL_CXXALIAS_RPL (getdelim, ssize_t, (char **lineptr, size_t *linesize, int delimiter, FILE *stream)); # else # if !@HAVE_DECL_GETDELIM@ _GL_FUNCDECL_SYS (getdelim, ssize_t, (char **lineptr, size_t *linesize, int delimiter, FILE *stream) _GL_ARG_NONNULL ((1, 2, 4))); # endif _GL_CXXALIAS_SYS (getdelim, ssize_t, (char **lineptr, size_t *linesize, int delimiter, FILE *stream)); # endif _GL_CXXALIASWARN (getdelim); #elif defined GNULIB_POSIXCHECK # undef getdelim # if HAVE_RAW_DECL_GETDELIM _GL_WARN_ON_USE (getdelim, "getdelim is unportable - " "use gnulib module getdelim for portability"); # endif #endif #if @GNULIB_GETLINE@ /* Read a line, up to (and including) the next newline, from STREAM, store it in *LINEPTR (and NUL-terminate it). *LINEPTR is a pointer returned from malloc (or NULL), pointing to *LINESIZE bytes of space. It is realloc'd as necessary. Return the number of bytes read and stored at *LINEPTR (not including the NUL terminator), or -1 on error or EOF. */ # if @REPLACE_GETLINE@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef getline # define getline rpl_getline # endif _GL_FUNCDECL_RPL (getline, ssize_t, (char **lineptr, size_t *linesize, FILE *stream) _GL_ARG_NONNULL ((1, 2, 3))); _GL_CXXALIAS_RPL (getline, ssize_t, (char **lineptr, size_t *linesize, FILE *stream)); # else # if !@HAVE_DECL_GETLINE@ _GL_FUNCDECL_SYS (getline, ssize_t, (char **lineptr, size_t *linesize, FILE *stream) _GL_ARG_NONNULL ((1, 2, 3))); # endif _GL_CXXALIAS_SYS (getline, ssize_t, (char **lineptr, size_t *linesize, FILE *stream)); # endif # if @HAVE_DECL_GETLINE@ _GL_CXXALIASWARN (getline); # endif #elif defined GNULIB_POSIXCHECK # undef getline # if HAVE_RAW_DECL_GETLINE _GL_WARN_ON_USE (getline, "getline is unportable - " "use gnulib module getline for portability"); # endif #endif #if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@ struct obstack; /* Grow an obstack with formatted output. Return the number of bytes added to OBS. No trailing nul byte is added, and the object should be closed with obstack_finish before use. Upon memory allocation error, call obstack_alloc_failed_handler. Upon other error, return -1. */ # if @REPLACE_OBSTACK_PRINTF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define obstack_printf rpl_obstack_printf # endif _GL_FUNCDECL_RPL (obstack_printf, int, (struct obstack *obs, const char *format, ...) __attribute__ ((__format__ (__printf__, 2, 3))) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (obstack_printf, int, (struct obstack *obs, const char *format, ...)); # else # if !@HAVE_DECL_OBSTACK_PRINTF@ _GL_FUNCDECL_SYS (obstack_printf, int, (struct obstack *obs, const char *format, ...) __attribute__ ((__format__ (__printf__, 2, 3))) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (obstack_printf, int, (struct obstack *obs, const char *format, ...)); # endif _GL_CXXALIASWARN (obstack_printf); # if @REPLACE_OBSTACK_PRINTF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define obstack_vprintf rpl_obstack_vprintf # endif _GL_FUNCDECL_RPL (obstack_vprintf, int, (struct obstack *obs, const char *format, va_list args) __attribute__ ((__format__ (__printf__, 2, 0))) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (obstack_vprintf, int, (struct obstack *obs, const char *format, va_list args)); # else # if !@HAVE_DECL_OBSTACK_PRINTF@ _GL_FUNCDECL_SYS (obstack_vprintf, int, (struct obstack *obs, const char *format, va_list args) __attribute__ ((__format__ (__printf__, 2, 0))) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (obstack_vprintf, int, (struct obstack *obs, const char *format, va_list args)); # endif _GL_CXXALIASWARN (obstack_vprintf); #endif #if @GNULIB_PERROR@ /* Print a message to standard error, describing the value of ERRNO, (if STRING is not NULL and not empty) prefixed with STRING and ": ", and terminated with a newline. */ # if @REPLACE_PERROR@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define perror rpl_perror # endif _GL_FUNCDECL_RPL (perror, void, (const char *string)); _GL_CXXALIAS_RPL (perror, void, (const char *string)); # else _GL_CXXALIAS_SYS (perror, void, (const char *string)); # endif _GL_CXXALIASWARN (perror); #elif defined GNULIB_POSIXCHECK # undef perror /* Assume perror is always declared. */ _GL_WARN_ON_USE (perror, "perror is not always POSIX compliant - " "use gnulib module perror for portability"); #endif #if @GNULIB_POPEN@ # if @REPLACE_POPEN@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef popen # define popen rpl_popen # endif _GL_FUNCDECL_RPL (popen, FILE *, (const char *cmd, const char *mode) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (popen, FILE *, (const char *cmd, const char *mode)); # else _GL_CXXALIAS_SYS (popen, FILE *, (const char *cmd, const char *mode)); # endif _GL_CXXALIASWARN (popen); #elif defined GNULIB_POSIXCHECK # undef popen # if HAVE_RAW_DECL_POPEN _GL_WARN_ON_USE (popen, "popen is buggy on some platforms - " "use gnulib module popen or pipe for more portability"); # endif #endif #if @GNULIB_PRINTF_POSIX@ || @GNULIB_PRINTF@ # if (@GNULIB_PRINTF_POSIX@ && @REPLACE_PRINTF@) \ || (@GNULIB_PRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@) # if defined __GNUC__ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) /* Don't break __attribute__((format(printf,M,N))). */ # define printf __printf__ # endif _GL_FUNCDECL_RPL_1 (__printf__, int, (const char *format, ...) __asm__ (@ASM_SYMBOL_PREFIX@ _GL_STDIO_MACROEXPAND_AND_STRINGIZE(rpl_printf)) __attribute__ ((__format__ (__printf__, 1, 2))) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL_1 (printf, __printf__, int, (const char *format, ...)); # else _GL_FUNCDECL_RPL (printf, int, (const char *format, ...) __attribute__ ((__format__ (__printf__, 1, 2))) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (printf, printf, int, (const char *format, ...)); # endif # define GNULIB_overrides_printf 1 # else _GL_CXXALIAS_SYS (printf, int, (const char *format, ...)); # endif _GL_CXXALIASWARN (printf); #endif #if !@GNULIB_PRINTF_POSIX@ && defined GNULIB_POSIXCHECK # if !GNULIB_overrides_printf # undef printf # endif /* Assume printf is always declared. */ _GL_WARN_ON_USE (printf, "printf is not always POSIX compliant - " "use gnulib module printf-posix for portable " "POSIX compliance"); #endif #if @GNULIB_PUTC@ # if @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef putc # define putc rpl_fputc # endif _GL_FUNCDECL_RPL (fputc, int, (int c, FILE *stream) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL_1 (putc, rpl_fputc, int, (int c, FILE *stream)); # else _GL_CXXALIAS_SYS (putc, int, (int c, FILE *stream)); # endif _GL_CXXALIASWARN (putc); #endif #if @GNULIB_PUTCHAR@ # if @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef putchar # define putchar rpl_putchar # endif _GL_FUNCDECL_RPL (putchar, int, (int c)); _GL_CXXALIAS_RPL (putchar, int, (int c)); # else _GL_CXXALIAS_SYS (putchar, int, (int c)); # endif _GL_CXXALIASWARN (putchar); #endif #if @GNULIB_PUTS@ # if @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef puts # define puts rpl_puts # endif _GL_FUNCDECL_RPL (puts, int, (const char *string) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (puts, int, (const char *string)); # else _GL_CXXALIAS_SYS (puts, int, (const char *string)); # endif _GL_CXXALIASWARN (puts); #endif #if @GNULIB_REMOVE@ # if @REPLACE_REMOVE@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef remove # define remove rpl_remove # endif _GL_FUNCDECL_RPL (remove, int, (const char *name) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (remove, int, (const char *name)); # else _GL_CXXALIAS_SYS (remove, int, (const char *name)); # endif _GL_CXXALIASWARN (remove); #elif defined GNULIB_POSIXCHECK # undef remove /* Assume remove is always declared. */ _GL_WARN_ON_USE (remove, "remove cannot handle directories on some platforms - " "use gnulib module remove for more portability"); #endif #if @GNULIB_RENAME@ # if @REPLACE_RENAME@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef rename # define rename rpl_rename # endif _GL_FUNCDECL_RPL (rename, int, (const char *old_filename, const char *new_filename) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (rename, int, (const char *old_filename, const char *new_filename)); # else _GL_CXXALIAS_SYS (rename, int, (const char *old_filename, const char *new_filename)); # endif _GL_CXXALIASWARN (rename); #elif defined GNULIB_POSIXCHECK # undef rename /* Assume rename is always declared. */ _GL_WARN_ON_USE (rename, "rename is buggy on some platforms - " "use gnulib module rename for more portability"); #endif #if @GNULIB_RENAMEAT@ # if @REPLACE_RENAMEAT@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef renameat # define renameat rpl_renameat # endif _GL_FUNCDECL_RPL (renameat, int, (int fd1, char const *file1, int fd2, char const *file2) _GL_ARG_NONNULL ((2, 4))); _GL_CXXALIAS_RPL (renameat, int, (int fd1, char const *file1, int fd2, char const *file2)); # else # if !@HAVE_RENAMEAT@ _GL_FUNCDECL_SYS (renameat, int, (int fd1, char const *file1, int fd2, char const *file2) _GL_ARG_NONNULL ((2, 4))); # endif _GL_CXXALIAS_SYS (renameat, int, (int fd1, char const *file1, int fd2, char const *file2)); # endif _GL_CXXALIASWARN (renameat); #elif defined GNULIB_POSIXCHECK # undef renameat # if HAVE_RAW_DECL_RENAMEAT _GL_WARN_ON_USE (renameat, "renameat is not portable - " "use gnulib module renameat for portability"); # endif #endif #if @GNULIB_SNPRINTF@ # if @REPLACE_SNPRINTF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define snprintf rpl_snprintf # endif _GL_FUNCDECL_RPL (snprintf, int, (char *str, size_t size, const char *format, ...) __attribute__ ((__format__ (__printf__, 3, 4))) _GL_ARG_NONNULL ((3))); _GL_CXXALIAS_RPL (snprintf, int, (char *str, size_t size, const char *format, ...)); # else # if !@HAVE_DECL_SNPRINTF@ _GL_FUNCDECL_SYS (snprintf, int, (char *str, size_t size, const char *format, ...) __attribute__ ((__format__ (__printf__, 3, 4))) _GL_ARG_NONNULL ((3))); # endif _GL_CXXALIAS_SYS (snprintf, int, (char *str, size_t size, const char *format, ...)); # endif _GL_CXXALIASWARN (snprintf); #elif defined GNULIB_POSIXCHECK # undef snprintf # if HAVE_RAW_DECL_SNPRINTF _GL_WARN_ON_USE (snprintf, "snprintf is unportable - " "use gnulib module snprintf for portability"); # endif #endif /* Some people would argue that sprintf should be handled like gets (for example, OpenBSD issues a link warning for both functions), since both can cause security holes due to buffer overruns. However, we believe that sprintf can be used safely, and is more efficient than snprintf in those safe cases; and as proof of our belief, we use sprintf in several gnulib modules. So this header intentionally avoids adding a warning to sprintf except when GNULIB_POSIXCHECK is defined. */ #if @GNULIB_SPRINTF_POSIX@ # if @REPLACE_SPRINTF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define sprintf rpl_sprintf # endif _GL_FUNCDECL_RPL (sprintf, int, (char *str, const char *format, ...) __attribute__ ((__format__ (__printf__, 2, 3))) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (sprintf, int, (char *str, const char *format, ...)); # else _GL_CXXALIAS_SYS (sprintf, int, (char *str, const char *format, ...)); # endif _GL_CXXALIASWARN (sprintf); #elif defined GNULIB_POSIXCHECK # undef sprintf /* Assume sprintf is always declared. */ _GL_WARN_ON_USE (sprintf, "sprintf is not always POSIX compliant - " "use gnulib module sprintf-posix for portable " "POSIX compliance"); #endif #if @GNULIB_TMPFILE@ # if @REPLACE_TMPFILE@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define tmpfile rpl_tmpfile # endif _GL_FUNCDECL_RPL (tmpfile, FILE *, (void)); _GL_CXXALIAS_RPL (tmpfile, FILE *, (void)); # else _GL_CXXALIAS_SYS (tmpfile, FILE *, (void)); # endif _GL_CXXALIASWARN (tmpfile); #elif defined GNULIB_POSIXCHECK # undef tmpfile # if HAVE_RAW_DECL_TMPFILE _GL_WARN_ON_USE (tmpfile, "tmpfile is not usable on mingw - " "use gnulib module tmpfile for portability"); # endif #endif #if @GNULIB_VASPRINTF@ /* Write formatted output to a string dynamically allocated with malloc(). If the memory allocation succeeds, store the address of the string in *RESULT and return the number of resulting bytes, excluding the trailing NUL. Upon memory allocation error, or some other error, return -1. */ # if @REPLACE_VASPRINTF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define asprintf rpl_asprintf # endif _GL_FUNCDECL_RPL (asprintf, int, (char **result, const char *format, ...) __attribute__ ((__format__ (__printf__, 2, 3))) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (asprintf, int, (char **result, const char *format, ...)); # else # if !@HAVE_VASPRINTF@ _GL_FUNCDECL_SYS (asprintf, int, (char **result, const char *format, ...) __attribute__ ((__format__ (__printf__, 2, 3))) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (asprintf, int, (char **result, const char *format, ...)); # endif _GL_CXXALIASWARN (asprintf); # if @REPLACE_VASPRINTF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define vasprintf rpl_vasprintf # endif _GL_FUNCDECL_RPL (vasprintf, int, (char **result, const char *format, va_list args) __attribute__ ((__format__ (__printf__, 2, 0))) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (vasprintf, int, (char **result, const char *format, va_list args)); # else # if !@HAVE_VASPRINTF@ _GL_FUNCDECL_SYS (vasprintf, int, (char **result, const char *format, va_list args) __attribute__ ((__format__ (__printf__, 2, 0))) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (vasprintf, int, (char **result, const char *format, va_list args)); # endif _GL_CXXALIASWARN (vasprintf); #endif #if @GNULIB_VDPRINTF@ # if @REPLACE_VDPRINTF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define vdprintf rpl_vdprintf # endif _GL_FUNCDECL_RPL (vdprintf, int, (int fd, const char *format, va_list args) __attribute__ ((__format__ (__printf__, 2, 0))) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (vdprintf, int, (int fd, const char *format, va_list args)); # else # if !@HAVE_VDPRINTF@ _GL_FUNCDECL_SYS (vdprintf, int, (int fd, const char *format, va_list args) __attribute__ ((__format__ (__printf__, 2, 0))) _GL_ARG_NONNULL ((2))); # endif /* Need to cast, because on Solaris, the third parameter will likely be __va_list args. */ _GL_CXXALIAS_SYS_CAST (vdprintf, int, (int fd, const char *format, va_list args)); # endif _GL_CXXALIASWARN (vdprintf); #elif defined GNULIB_POSIXCHECK # undef vdprintf # if HAVE_RAW_DECL_VDPRINTF _GL_WARN_ON_USE (vdprintf, "vdprintf is unportable - " "use gnulib module vdprintf for portability"); # endif #endif #if @GNULIB_VFPRINTF_POSIX@ || @GNULIB_VFPRINTF@ # if (@GNULIB_VFPRINTF_POSIX@ && @REPLACE_VFPRINTF@) \ || (@GNULIB_VFPRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@) # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define vfprintf rpl_vfprintf # endif # define GNULIB_overrides_vfprintf 1 _GL_FUNCDECL_RPL (vfprintf, int, (FILE *fp, const char *format, va_list args) __attribute__ ((__format__ (__printf__, 2, 0))) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (vfprintf, int, (FILE *fp, const char *format, va_list args)); # else /* Need to cast, because on Solaris, the third parameter is __va_list args and GCC's fixincludes did not change this to __gnuc_va_list. */ _GL_CXXALIAS_SYS_CAST (vfprintf, int, (FILE *fp, const char *format, va_list args)); # endif _GL_CXXALIASWARN (vfprintf); #endif #if !@GNULIB_VFPRINTF_POSIX@ && defined GNULIB_POSIXCHECK # if !GNULIB_overrides_vfprintf # undef vfprintf # endif /* Assume vfprintf is always declared. */ _GL_WARN_ON_USE (vfprintf, "vfprintf is not always POSIX compliant - " "use gnulib module vfprintf-posix for portable " "POSIX compliance"); #endif #if @GNULIB_VPRINTF_POSIX@ || @GNULIB_VPRINTF@ # if (@GNULIB_VPRINTF_POSIX@ && @REPLACE_VPRINTF@) \ || (@GNULIB_VPRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@) # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define vprintf rpl_vprintf # endif # define GNULIB_overrides_vprintf 1 _GL_FUNCDECL_RPL (vprintf, int, (const char *format, va_list args) __attribute__ ((__format__ (__printf__, 1, 0))) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (vprintf, int, (const char *format, va_list args)); # else /* Need to cast, because on Solaris, the second parameter is __va_list args and GCC's fixincludes did not change this to __gnuc_va_list. */ _GL_CXXALIAS_SYS_CAST (vprintf, int, (const char *format, va_list args)); # endif _GL_CXXALIASWARN (vprintf); #endif #if !@GNULIB_VPRINTF_POSIX@ && defined GNULIB_POSIXCHECK # if !GNULIB_overrides_vprintf # undef vprintf # endif /* Assume vprintf is always declared. */ _GL_WARN_ON_USE (vprintf, "vprintf is not always POSIX compliant - " "use gnulib module vprintf-posix for portable " "POSIX compliance"); #endif #if @GNULIB_VSNPRINTF@ # if @REPLACE_VSNPRINTF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define vsnprintf rpl_vsnprintf # endif _GL_FUNCDECL_RPL (vsnprintf, int, (char *str, size_t size, const char *format, va_list args) __attribute__ ((__format__ (__printf__, 3, 0))) _GL_ARG_NONNULL ((3))); _GL_CXXALIAS_RPL (vsnprintf, int, (char *str, size_t size, const char *format, va_list args)); # else # if !@HAVE_DECL_VSNPRINTF@ _GL_FUNCDECL_SYS (vsnprintf, int, (char *str, size_t size, const char *format, va_list args) __attribute__ ((__format__ (__printf__, 3, 0))) _GL_ARG_NONNULL ((3))); # endif _GL_CXXALIAS_SYS (vsnprintf, int, (char *str, size_t size, const char *format, va_list args)); # endif _GL_CXXALIASWARN (vsnprintf); #elif defined GNULIB_POSIXCHECK # undef vsnprintf # if HAVE_RAW_DECL_VSNPRINTF _GL_WARN_ON_USE (vsnprintf, "vsnprintf is unportable - " "use gnulib module vsnprintf for portability"); # endif #endif #if @GNULIB_VSPRINTF_POSIX@ # if @REPLACE_VSPRINTF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define vsprintf rpl_vsprintf # endif _GL_FUNCDECL_RPL (vsprintf, int, (char *str, const char *format, va_list args) __attribute__ ((__format__ (__printf__, 2, 0))) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (vsprintf, int, (char *str, const char *format, va_list args)); # else /* Need to cast, because on Solaris, the third parameter is __va_list args and GCC's fixincludes did not change this to __gnuc_va_list. */ _GL_CXXALIAS_SYS_CAST (vsprintf, int, (char *str, const char *format, va_list args)); # endif _GL_CXXALIASWARN (vsprintf); #elif defined GNULIB_POSIXCHECK # undef vsprintf /* Assume vsprintf is always declared. */ _GL_WARN_ON_USE (vsprintf, "vsprintf is not always POSIX compliant - " "use gnulib module vsprintf-posix for portable " "POSIX compliance"); #endif #endif /* _GL_STDIO_H */ #endif /* _GL_STDIO_H */ #endif parted-2.3/lib/regex.h0000644000000000000000000006235211333760254011571 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Definitions for data structures and routines for the regular expression library. Copyright (C) 1985, 1989, 1990, 1991, 1992, 1993, 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2005, 2006, 2009, 2010 Free Software Foundation, Inc. This file is part of the GNU C Library. 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 3, 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. */ #ifndef _REGEX_H #define _REGEX_H 1 #include /* Allow the use in C++ code. */ #ifdef __cplusplus extern "C" { #endif /* Define __USE_GNU_REGEX to declare GNU extensions that violate the POSIX name space rules. */ #undef __USE_GNU_REGEX #if (defined _GNU_SOURCE \ || (!defined _POSIX_C_SOURCE && !defined _POSIX_SOURCE \ && !defined _XOPEN_SOURCE)) # define __USE_GNU_REGEX 1 #endif #ifdef _REGEX_LARGE_OFFSETS /* Use types and values that are wide enough to represent signed and unsigned byte offsets in memory. This currently works only when the regex code is used outside of the GNU C library; it is not yet supported within glibc itself, and glibc users should not define _REGEX_LARGE_OFFSETS. */ /* The type of the offset of a byte within a string. For historical reasons POSIX 1003.1-2004 requires that regoff_t be at least as wide as off_t. However, many common POSIX platforms set regoff_t to the more-sensible ssize_t and the Open Group has signalled its intention to change the requirement to be that regoff_t be at least as wide as ptrdiff_t and ssize_t; see XBD ERN 60 (2005-08-25). We don't know of any hosts where ssize_t or ptrdiff_t is wider than ssize_t, so ssize_t is safe. */ typedef ssize_t regoff_t; /* The type of nonnegative object indexes. Traditionally, GNU regex uses 'int' for these. Code that uses __re_idx_t should work regardless of whether the type is signed. */ typedef size_t __re_idx_t; /* The type of object sizes. */ typedef size_t __re_size_t; /* The type of object sizes, in places where the traditional code uses unsigned long int. */ typedef size_t __re_long_size_t; #else /* Use types that are binary-compatible with the traditional GNU regex implementation, which mishandles strings longer than INT_MAX. */ typedef int regoff_t; typedef int __re_idx_t; typedef unsigned int __re_size_t; typedef unsigned long int __re_long_size_t; #endif /* The following two types have to be signed and unsigned integer type wide enough to hold a value of a pointer. For most ANSI compilers ptrdiff_t and size_t should be likely OK. Still size of these two types is 2 for Microsoft C. Ugh... */ typedef long int s_reg_t; typedef unsigned long int active_reg_t; /* The following bits are used to determine the regexp syntax we recognize. The set/not-set meanings are chosen so that Emacs syntax remains the value 0. The bits are given in alphabetical order, and the definitions shifted by one from the previous bit; thus, when we add or remove a bit, only one other definition need change. */ typedef unsigned long int reg_syntax_t; #ifdef __USE_GNU_REGEX /* If this bit is not set, then \ inside a bracket expression is literal. If set, then such a \ quotes the following character. */ # define RE_BACKSLASH_ESCAPE_IN_LISTS ((unsigned long int) 1) /* If this bit is not set, then + and ? are operators, and \+ and \? are literals. If set, then \+ and \? are operators and + and ? are literals. */ # define RE_BK_PLUS_QM (RE_BACKSLASH_ESCAPE_IN_LISTS << 1) /* If this bit is set, then character classes are supported. They are: [:alpha:], [:upper:], [:lower:], [:digit:], [:alnum:], [:xdigit:], [:space:], [:print:], [:punct:], [:graph:], and [:cntrl:]. If not set, then character classes are not supported. */ # define RE_CHAR_CLASSES (RE_BK_PLUS_QM << 1) /* If this bit is set, then ^ and $ are always anchors (outside bracket expressions, of course). If this bit is not set, then it depends: ^ is an anchor if it is at the beginning of a regular expression or after an open-group or an alternation operator; $ is an anchor if it is at the end of a regular expression, or before a close-group or an alternation operator. This bit could be (re)combined with RE_CONTEXT_INDEP_OPS, because POSIX draft 11.2 says that * etc. in leading positions is undefined. We already implemented a previous draft which made those constructs invalid, though, so we haven't changed the code back. */ # define RE_CONTEXT_INDEP_ANCHORS (RE_CHAR_CLASSES << 1) /* If this bit is set, then special characters are always special regardless of where they are in the pattern. If this bit is not set, then special characters are special only in some contexts; otherwise they are ordinary. Specifically, * + ? and intervals are only special when not after the beginning, open-group, or alternation operator. */ # define RE_CONTEXT_INDEP_OPS (RE_CONTEXT_INDEP_ANCHORS << 1) /* If this bit is set, then *, +, ?, and { cannot be first in an re or immediately after an alternation or begin-group operator. */ # define RE_CONTEXT_INVALID_OPS (RE_CONTEXT_INDEP_OPS << 1) /* If this bit is set, then . matches newline. If not set, then it doesn't. */ # define RE_DOT_NEWLINE (RE_CONTEXT_INVALID_OPS << 1) /* If this bit is set, then . doesn't match NUL. If not set, then it does. */ # define RE_DOT_NOT_NULL (RE_DOT_NEWLINE << 1) /* If this bit is set, nonmatching lists [^...] do not match newline. If not set, they do. */ # define RE_HAT_LISTS_NOT_NEWLINE (RE_DOT_NOT_NULL << 1) /* If this bit is set, either \{...\} or {...} defines an interval, depending on RE_NO_BK_BRACES. If not set, \{, \}, {, and } are literals. */ # define RE_INTERVALS (RE_HAT_LISTS_NOT_NEWLINE << 1) /* If this bit is set, +, ? and | aren't recognized as operators. If not set, they are. */ # define RE_LIMITED_OPS (RE_INTERVALS << 1) /* If this bit is set, newline is an alternation operator. If not set, newline is literal. */ # define RE_NEWLINE_ALT (RE_LIMITED_OPS << 1) /* If this bit is set, then `{...}' defines an interval, and \{ and \} are literals. If not set, then `\{...\}' defines an interval. */ # define RE_NO_BK_BRACES (RE_NEWLINE_ALT << 1) /* If this bit is set, (...) defines a group, and \( and \) are literals. If not set, \(...\) defines a group, and ( and ) are literals. */ # define RE_NO_BK_PARENS (RE_NO_BK_BRACES << 1) /* If this bit is set, then \ matches . If not set, then \ is a back-reference. */ # define RE_NO_BK_REFS (RE_NO_BK_PARENS << 1) /* If this bit is set, then | is an alternation operator, and \| is literal. If not set, then \| is an alternation operator, and | is literal. */ # define RE_NO_BK_VBAR (RE_NO_BK_REFS << 1) /* If this bit is set, then an ending range point collating higher than the starting range point, as in [z-a], is invalid. If not set, then when ending range point collates higher than the starting range point, the range is ignored. */ # define RE_NO_EMPTY_RANGES (RE_NO_BK_VBAR << 1) /* If this bit is set, then an unmatched ) is ordinary. If not set, then an unmatched ) is invalid. */ # define RE_UNMATCHED_RIGHT_PAREN_ORD (RE_NO_EMPTY_RANGES << 1) /* If this bit is set, succeed as soon as we match the whole pattern, without further backtracking. */ # define RE_NO_POSIX_BACKTRACKING (RE_UNMATCHED_RIGHT_PAREN_ORD << 1) /* If this bit is set, do not process the GNU regex operators. If not set, then the GNU regex operators are recognized. */ # define RE_NO_GNU_OPS (RE_NO_POSIX_BACKTRACKING << 1) /* If this bit is set, turn on internal regex debugging. If not set, and debugging was on, turn it off. This only works if regex.c is compiled -DDEBUG. We define this bit always, so that all that's needed to turn on debugging is to recompile regex.c; the calling code can always have this bit set, and it won't affect anything in the normal case. */ # define RE_DEBUG (RE_NO_GNU_OPS << 1) /* If this bit is set, a syntactically invalid interval is treated as a string of ordinary characters. For example, the ERE 'a{1' is treated as 'a\{1'. */ # define RE_INVALID_INTERVAL_ORD (RE_DEBUG << 1) /* If this bit is set, then ignore case when matching. If not set, then case is significant. */ # define RE_ICASE (RE_INVALID_INTERVAL_ORD << 1) /* This bit is used internally like RE_CONTEXT_INDEP_ANCHORS but only for ^, because it is difficult to scan the regex backwards to find whether ^ should be special. */ # define RE_CARET_ANCHORS_HERE (RE_ICASE << 1) /* If this bit is set, then \{ cannot be first in an bre or immediately after an alternation or begin-group operator. */ # define RE_CONTEXT_INVALID_DUP (RE_CARET_ANCHORS_HERE << 1) /* If this bit is set, then no_sub will be set to 1 during re_compile_pattern. */ # define RE_NO_SUB (RE_CONTEXT_INVALID_DUP << 1) #endif /* defined __USE_GNU_REGEX */ /* This global variable defines the particular regexp syntax to use (for some interfaces). When a regexp is compiled, the syntax used is stored in the pattern buffer, so changing this does not affect already-compiled regexps. */ extern reg_syntax_t re_syntax_options; #ifdef __USE_GNU_REGEX /* Define combinations of the above bits for the standard possibilities. (The [[[ comments delimit what gets put into the Texinfo file, so don't delete them!) */ /* [[[begin syntaxes]]] */ # define RE_SYNTAX_EMACS 0 # define RE_SYNTAX_AWK \ (RE_BACKSLASH_ESCAPE_IN_LISTS | RE_DOT_NOT_NULL \ | RE_NO_BK_PARENS | RE_NO_BK_REFS \ | RE_NO_BK_VBAR | RE_NO_EMPTY_RANGES \ | RE_DOT_NEWLINE | RE_CONTEXT_INDEP_ANCHORS \ | RE_UNMATCHED_RIGHT_PAREN_ORD | RE_NO_GNU_OPS) # define RE_SYNTAX_GNU_AWK \ ((RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS | RE_DEBUG) \ & ~(RE_DOT_NOT_NULL | RE_INTERVALS | RE_CONTEXT_INDEP_OPS \ | RE_CONTEXT_INVALID_OPS )) # define RE_SYNTAX_POSIX_AWK \ (RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS \ | RE_INTERVALS | RE_NO_GNU_OPS) # define RE_SYNTAX_GREP \ (RE_BK_PLUS_QM | RE_CHAR_CLASSES \ | RE_HAT_LISTS_NOT_NEWLINE | RE_INTERVALS \ | RE_NEWLINE_ALT) # define RE_SYNTAX_EGREP \ (RE_CHAR_CLASSES | RE_CONTEXT_INDEP_ANCHORS \ | RE_CONTEXT_INDEP_OPS | RE_HAT_LISTS_NOT_NEWLINE \ | RE_NEWLINE_ALT | RE_NO_BK_PARENS \ | RE_NO_BK_VBAR) # define RE_SYNTAX_POSIX_EGREP \ (RE_SYNTAX_EGREP | RE_INTERVALS | RE_NO_BK_BRACES \ | RE_INVALID_INTERVAL_ORD) /* P1003.2/D11.2, section 4.20.7.1, lines 5078ff. */ # define RE_SYNTAX_ED RE_SYNTAX_POSIX_BASIC # define RE_SYNTAX_SED RE_SYNTAX_POSIX_BASIC /* Syntax bits common to both basic and extended POSIX regex syntax. */ # define _RE_SYNTAX_POSIX_COMMON \ (RE_CHAR_CLASSES | RE_DOT_NEWLINE | RE_DOT_NOT_NULL \ | RE_INTERVALS | RE_NO_EMPTY_RANGES) # define RE_SYNTAX_POSIX_BASIC \ (_RE_SYNTAX_POSIX_COMMON | RE_BK_PLUS_QM | RE_CONTEXT_INVALID_DUP) /* Differs from ..._POSIX_BASIC only in that RE_BK_PLUS_QM becomes RE_LIMITED_OPS, i.e., \? \+ \| are not recognized. Actually, this isn't minimal, since other operators, such as \`, aren't disabled. */ # define RE_SYNTAX_POSIX_MINIMAL_BASIC \ (_RE_SYNTAX_POSIX_COMMON | RE_LIMITED_OPS) # define RE_SYNTAX_POSIX_EXTENDED \ (_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS \ | RE_CONTEXT_INDEP_OPS | RE_NO_BK_BRACES \ | RE_NO_BK_PARENS | RE_NO_BK_VBAR \ | RE_CONTEXT_INVALID_OPS | RE_UNMATCHED_RIGHT_PAREN_ORD) /* Differs from ..._POSIX_EXTENDED in that RE_CONTEXT_INDEP_OPS is removed and RE_NO_BK_REFS is added. */ # define RE_SYNTAX_POSIX_MINIMAL_EXTENDED \ (_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS \ | RE_CONTEXT_INVALID_OPS | RE_NO_BK_BRACES \ | RE_NO_BK_PARENS | RE_NO_BK_REFS \ | RE_NO_BK_VBAR | RE_UNMATCHED_RIGHT_PAREN_ORD) /* [[[end syntaxes]]] */ #endif /* defined __USE_GNU_REGEX */ #ifdef __USE_GNU_REGEX /* Maximum number of duplicates an interval can allow. POSIX-conforming systems might define this in , but we want our value, so remove any previous define. */ # ifdef RE_DUP_MAX # undef RE_DUP_MAX # endif /* RE_DUP_MAX is 2**15 - 1 because an earlier implementation stored the counter as a 2-byte signed integer. This is no longer true, so RE_DUP_MAX could be increased to (INT_MAX / 10 - 1), or to ((SIZE_MAX - 2) / 10 - 1) if _REGEX_LARGE_OFFSETS is defined. However, there would be a huge performance problem if someone actually used a pattern like a\{214748363\}, so RE_DUP_MAX retains its historical value. */ # define RE_DUP_MAX (0x7fff) #endif /* defined __USE_GNU_REGEX */ /* POSIX `cflags' bits (i.e., information for `regcomp'). */ /* If this bit is set, then use extended regular expression syntax. If not set, then use basic regular expression syntax. */ #define REG_EXTENDED 1 /* If this bit is set, then ignore case when matching. If not set, then case is significant. */ #define REG_ICASE (1 << 1) /* If this bit is set, then anchors do not match at newline characters in the string. If not set, then anchors do match at newlines. */ #define REG_NEWLINE (1 << 2) /* If this bit is set, then report only success or fail in regexec. If not set, then returns differ between not matching and errors. */ #define REG_NOSUB (1 << 3) /* POSIX `eflags' bits (i.e., information for regexec). */ /* If this bit is set, then the beginning-of-line operator doesn't match the beginning of the string (presumably because it's not the beginning of a line). If not set, then the beginning-of-line operator does match the beginning of the string. */ #define REG_NOTBOL 1 /* Like REG_NOTBOL, except for the end-of-line. */ #define REG_NOTEOL (1 << 1) /* Use PMATCH[0] to delimit the start and end of the search in the buffer. */ #define REG_STARTEND (1 << 2) /* If any error codes are removed, changed, or added, update the `__re_error_msgid' table in regcomp.c. */ typedef enum { _REG_ENOSYS = -1, /* This will never happen for this implementation. */ _REG_NOERROR = 0, /* Success. */ _REG_NOMATCH, /* Didn't find a match (for regexec). */ /* POSIX regcomp return error codes. (In the order listed in the standard.) */ _REG_BADPAT, /* Invalid pattern. */ _REG_ECOLLATE, /* Invalid collating element. */ _REG_ECTYPE, /* Invalid character class name. */ _REG_EESCAPE, /* Trailing backslash. */ _REG_ESUBREG, /* Invalid back reference. */ _REG_EBRACK, /* Unmatched left bracket. */ _REG_EPAREN, /* Parenthesis imbalance. */ _REG_EBRACE, /* Unmatched \{. */ _REG_BADBR, /* Invalid contents of \{\}. */ _REG_ERANGE, /* Invalid range end. */ _REG_ESPACE, /* Ran out of memory. */ _REG_BADRPT, /* No preceding re for repetition op. */ /* Error codes we've added. */ _REG_EEND, /* Premature end. */ _REG_ESIZE, /* Compiled pattern bigger than 2^16 bytes. */ _REG_ERPAREN /* Unmatched ) or \); not returned from regcomp. */ } reg_errcode_t; #ifdef _XOPEN_SOURCE # define REG_ENOSYS _REG_ENOSYS #endif #define REG_NOERROR _REG_NOERROR #define REG_NOMATCH _REG_NOMATCH #define REG_BADPAT _REG_BADPAT #define REG_ECOLLATE _REG_ECOLLATE #define REG_ECTYPE _REG_ECTYPE #define REG_EESCAPE _REG_EESCAPE #define REG_ESUBREG _REG_ESUBREG #define REG_EBRACK _REG_EBRACK #define REG_EPAREN _REG_EPAREN #define REG_EBRACE _REG_EBRACE #define REG_BADBR _REG_BADBR #define REG_ERANGE _REG_ERANGE #define REG_ESPACE _REG_ESPACE #define REG_BADRPT _REG_BADRPT #define REG_EEND _REG_EEND #define REG_ESIZE _REG_ESIZE #define REG_ERPAREN _REG_ERPAREN /* struct re_pattern_buffer normally uses member names like `buffer' that POSIX does not allow. In POSIX mode these members have names with leading `re_' (e.g., `re_buffer'). */ #ifdef __USE_GNU_REGEX # define _REG_RE_NAME(id) id # define _REG_RM_NAME(id) id #else # define _REG_RE_NAME(id) re_##id # define _REG_RM_NAME(id) rm_##id #endif /* The user can specify the type of the re_translate member by defining the macro RE_TRANSLATE_TYPE, which defaults to unsigned char *. This pollutes the POSIX name space, so in POSIX mode just use unsigned char *. */ #ifdef __USE_GNU_REGEX # ifndef RE_TRANSLATE_TYPE # define RE_TRANSLATE_TYPE unsigned char * # endif # define REG_TRANSLATE_TYPE RE_TRANSLATE_TYPE #else # define REG_TRANSLATE_TYPE unsigned char * #endif /* This data structure represents a compiled pattern. Before calling the pattern compiler, the fields `buffer', `allocated', `fastmap', `translate', and `no_sub' can be set. After the pattern has been compiled, the `re_nsub' field is available. All other fields are private to the regex routines. */ struct re_pattern_buffer { /* Space that holds the compiled pattern. It is declared as `unsigned char *' because its elements are sometimes used as array indexes. */ unsigned char *_REG_RE_NAME (buffer); /* Number of bytes to which `buffer' points. */ __re_long_size_t _REG_RE_NAME (allocated); /* Number of bytes actually used in `buffer'. */ __re_long_size_t _REG_RE_NAME (used); /* Syntax setting with which the pattern was compiled. */ reg_syntax_t _REG_RE_NAME (syntax); /* Pointer to a fastmap, if any, otherwise zero. re_search uses the fastmap, if there is one, to skip over impossible starting points for matches. */ char *_REG_RE_NAME (fastmap); /* Either a translate table to apply to all characters before comparing them, or zero for no translation. The translation is applied to a pattern when it is compiled and to a string when it is matched. */ REG_TRANSLATE_TYPE _REG_RE_NAME (translate); /* Number of subexpressions found by the compiler. */ size_t re_nsub; /* Zero if this pattern cannot match the empty string, one else. Well, in truth it's used only in `re_search_2', to see whether or not we should use the fastmap, so we don't set this absolutely perfectly; see `re_compile_fastmap' (the `duplicate' case). */ unsigned int _REG_RE_NAME (can_be_null) : 1; /* If REGS_UNALLOCATED, allocate space in the `regs' structure for `max (RE_NREGS, re_nsub + 1)' groups. If REGS_REALLOCATE, reallocate space if necessary. If REGS_FIXED, use what's there. */ #ifdef __USE_GNU_REGEX # define REGS_UNALLOCATED 0 # define REGS_REALLOCATE 1 # define REGS_FIXED 2 #endif unsigned int _REG_RE_NAME (regs_allocated) : 2; /* Set to zero when `regex_compile' compiles a pattern; set to one by `re_compile_fastmap' if it updates the fastmap. */ unsigned int _REG_RE_NAME (fastmap_accurate) : 1; /* If set, `re_match_2' does not return information about subexpressions. */ unsigned int _REG_RE_NAME (no_sub) : 1; /* If set, a beginning-of-line anchor doesn't match at the beginning of the string. */ unsigned int _REG_RE_NAME (not_bol) : 1; /* Similarly for an end-of-line anchor. */ unsigned int _REG_RE_NAME (not_eol) : 1; /* If true, an anchor at a newline matches. */ unsigned int _REG_RE_NAME (newline_anchor) : 1; /* [[[end pattern_buffer]]] */ }; typedef struct re_pattern_buffer regex_t; /* This is the structure we store register match data in. See regex.texinfo for a full description of what registers match. */ struct re_registers { __re_size_t _REG_RM_NAME (num_regs); regoff_t *_REG_RM_NAME (start); regoff_t *_REG_RM_NAME (end); }; /* If `regs_allocated' is REGS_UNALLOCATED in the pattern buffer, `re_match_2' returns information about at least this many registers the first time a `regs' structure is passed. */ #if !defined RE_NREGS && defined __USE_GNU_REGEX # define RE_NREGS 30 #endif /* POSIX specification for registers. Aside from the different names than `re_registers', POSIX uses an array of structures, instead of a structure of arrays. */ typedef struct { regoff_t rm_so; /* Byte offset from string's start to substring's start. */ regoff_t rm_eo; /* Byte offset from string's start to substring's end. */ } regmatch_t; /* Declarations for routines. */ /* Sets the current default syntax to SYNTAX, and return the old syntax. You can also simply assign to the `re_syntax_options' variable. */ extern reg_syntax_t re_set_syntax (reg_syntax_t __syntax); /* Compile the regular expression PATTERN, with length LENGTH and syntax given by the global `re_syntax_options', into the buffer BUFFER. Return NULL if successful, and an error string if not. */ extern const char *re_compile_pattern (const char *__pattern, size_t __length, struct re_pattern_buffer *__buffer); /* Compile a fastmap for the compiled pattern in BUFFER; used to accelerate searches. Return 0 if successful and -2 if was an internal error. */ extern int re_compile_fastmap (struct re_pattern_buffer *__buffer); /* Search in the string STRING (with length LENGTH) for the pattern compiled into BUFFER. Start searching at position START, for RANGE characters. Return the starting position of the match, -1 for no match, or -2 for an internal error. Also return register information in REGS (if REGS and BUFFER->no_sub are nonzero). */ extern regoff_t re_search (struct re_pattern_buffer *__buffer, const char *__string, __re_idx_t __length, __re_idx_t __start, regoff_t __range, struct re_registers *__regs); /* Like `re_search', but search in the concatenation of STRING1 and STRING2. Also, stop searching at index START + STOP. */ extern regoff_t re_search_2 (struct re_pattern_buffer *__buffer, const char *__string1, __re_idx_t __length1, const char *__string2, __re_idx_t __length2, __re_idx_t __start, regoff_t __range, struct re_registers *__regs, __re_idx_t __stop); /* Like `re_search', but return how many characters in STRING the regexp in BUFFER matched, starting at position START. */ extern regoff_t re_match (struct re_pattern_buffer *__buffer, const char *__string, __re_idx_t __length, __re_idx_t __start, struct re_registers *__regs); /* Relates to `re_match' as `re_search_2' relates to `re_search'. */ extern regoff_t re_match_2 (struct re_pattern_buffer *__buffer, const char *__string1, __re_idx_t __length1, const char *__string2, __re_idx_t __length2, __re_idx_t __start, struct re_registers *__regs, __re_idx_t __stop); /* Set REGS to hold NUM_REGS registers, storing them in STARTS and ENDS. Subsequent matches using BUFFER and REGS will use this memory for recording register information. STARTS and ENDS must be allocated with malloc, and must each be at least `NUM_REGS * sizeof (regoff_t)' bytes long. If NUM_REGS == 0, then subsequent matches should allocate their own register data. Unless this function is called, the first search or match using PATTERN_BUFFER will allocate its own register data, without freeing the old data. */ extern void re_set_registers (struct re_pattern_buffer *__buffer, struct re_registers *__regs, __re_size_t __num_regs, regoff_t *__starts, regoff_t *__ends); #if defined _REGEX_RE_COMP || defined _LIBC # ifndef _CRAY /* 4.2 bsd compatibility. */ extern char *re_comp (const char *); extern int re_exec (const char *); # endif #endif /* GCC 2.95 and later have "__restrict"; C99 compilers have "restrict", and "configure" may have defined "restrict". Other compilers use __restrict, __restrict__, and _Restrict, and 'configure' might #define 'restrict' to those words, so pick a different name. */ #ifndef _Restrict_ # if 199901L <= __STDC_VERSION__ # define _Restrict_ restrict # elif 2 < __GNUC__ || (2 == __GNUC__ && 95 <= __GNUC_MINOR__) # define _Restrict_ __restrict # else # define _Restrict_ # endif #endif /* gcc 3.1 and up support the [restrict] syntax. Don't trust sys/cdefs.h's definition of __restrict_arr, though, as it mishandles gcc -ansi -pedantic. */ #ifndef _Restrict_arr_ # if ((199901L <= __STDC_VERSION__ \ || ((3 < __GNUC__ || (3 == __GNUC__ && 1 <= __GNUC_MINOR__)) \ && !__STRICT_ANSI__)) \ && !defined __GNUG__) # define _Restrict_arr_ _Restrict_ # else # define _Restrict_arr_ # endif #endif /* POSIX compatibility. */ extern int regcomp (regex_t *_Restrict_ __preg, const char *_Restrict_ __pattern, int __cflags); extern int regexec (const regex_t *_Restrict_ __preg, const char *_Restrict_ __string, size_t __nmatch, regmatch_t __pmatch[_Restrict_arr_], int __eflags); extern size_t regerror (int __errcode, const regex_t *_Restrict_ __preg, char *_Restrict_ __errbuf, size_t __errbuf_size); extern void regfree (regex_t *__preg); #ifdef __cplusplus } #endif /* C++ */ #endif /* regex.h */ parted-2.3/lib/tempname.c0000644000000000000000000002200111370541032012233 00000000000000/* tempname.c - generate the name of a temporary file. Copyright (C) 1991-2003, 2005-2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Extracted from glibc sysdeps/posix/tempname.c. See also tmpdir.c. */ #if !_LIBC # include # include "tempname.h" #endif #include #include #include #ifndef __set_errno # define __set_errno(Val) errno = (Val) #endif #include #ifndef P_tmpdir # define P_tmpdir "/tmp" #endif #ifndef TMP_MAX # define TMP_MAX 238328 #endif #ifndef __GT_FILE # define __GT_FILE 0 # define __GT_DIR 1 # define __GT_NOCREATE 2 #endif #if !_LIBC && (GT_FILE != __GT_FILE || GT_DIR != __GT_DIR \ || GT_NOCREATE != __GT_NOCREATE) # error report this to bug-gnulib@gnu.org #endif #include #include #include #include #include #include #include #include #if _LIBC # define struct_stat64 struct stat64 #else # define struct_stat64 struct stat # define __gen_tempname gen_tempname # define __getpid getpid # define __gettimeofday gettimeofday # define __mkdir mkdir # define __open open # define __open64 open # define __lxstat64(version, file, buf) lstat (file, buf) # define __xstat64(version, file, buf) stat (file, buf) #endif #if ! (HAVE___SECURE_GETENV || _LIBC) # define __secure_getenv getenv #endif #ifdef _LIBC # include # if HP_TIMING_AVAIL # define RANDOM_BITS(Var) \ if (__builtin_expect (value == UINT64_C (0), 0)) \ { \ /* If this is the first time this function is used initialize \ the variable we accumulate the value in to some somewhat \ random value. If we'd not do this programs at startup time \ might have a reduced set of possible names, at least on slow \ machines. */ \ struct timeval tv; \ __gettimeofday (&tv, NULL); \ value = ((uint64_t) tv.tv_usec << 16) ^ tv.tv_sec; \ } \ HP_TIMING_NOW (Var) # endif #endif /* Use the widest available unsigned type if uint64_t is not available. The algorithm below extracts a number less than 62**6 (approximately 2**35.725) from uint64_t, so ancient hosts where uintmax_t is only 32 bits lose about 3.725 bits of randomness, which is better than not having mkstemp at all. */ #if !defined UINT64_MAX && !defined uint64_t # define uint64_t uintmax_t #endif #if _LIBC /* Return nonzero if DIR is an existent directory. */ static int direxists (const char *dir) { struct_stat64 buf; return __xstat64 (_STAT_VER, dir, &buf) == 0 && S_ISDIR (buf.st_mode); } /* Path search algorithm, for tmpnam, tmpfile, etc. If DIR is non-null and exists, uses it; otherwise uses the first of $TMPDIR, P_tmpdir, /tmp that exists. Copies into TMPL a template suitable for use with mk[s]temp. Will fail (-1) if DIR is non-null and doesn't exist, none of the searched dirs exists, or there's not enough space in TMPL. */ int __path_search (char *tmpl, size_t tmpl_len, const char *dir, const char *pfx, int try_tmpdir) { const char *d; size_t dlen, plen; if (!pfx || !pfx[0]) { pfx = "file"; plen = 4; } else { plen = strlen (pfx); if (plen > 5) plen = 5; } if (try_tmpdir) { d = __secure_getenv ("TMPDIR"); if (d != NULL && direxists (d)) dir = d; else if (dir != NULL && direxists (dir)) /* nothing */ ; else dir = NULL; } if (dir == NULL) { if (direxists (P_tmpdir)) dir = P_tmpdir; else if (strcmp (P_tmpdir, "/tmp") != 0 && direxists ("/tmp")) dir = "/tmp"; else { __set_errno (ENOENT); return -1; } } dlen = strlen (dir); while (dlen > 1 && dir[dlen - 1] == '/') dlen--; /* remove trailing slashes */ /* check we have room for "${dir}/${pfx}XXXXXX\0" */ if (tmpl_len < dlen + 1 + plen + 6 + 1) { __set_errno (EINVAL); return -1; } sprintf (tmpl, "%.*s/%.*sXXXXXX", (int) dlen, dir, (int) plen, pfx); return 0; } #endif /* _LIBC */ /* These are the characters used in temporary file names. */ static const char letters[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; /* Generate a temporary file name based on TMPL. TMPL must match the rules for mk[s]temp (i.e. end in "XXXXXX", possibly with a suffix). The name constructed does not exist at the time of the call to __gen_tempname. TMPL is overwritten with the result. KIND may be one of: __GT_NOCREATE: simply verify that the name does not exist at the time of the call. __GT_FILE: create the file using open(O_CREAT|O_EXCL) and return a read-write fd. The file is mode 0600. __GT_DIR: create a directory, which will be mode 0700. We use a clever algorithm to get hard-to-predict names. */ int __gen_tempname (char *tmpl, int suffixlen, int flags, int kind) { int len; char *XXXXXX; static uint64_t value; uint64_t random_time_bits; unsigned int count; int fd = -1; int save_errno = errno; struct_stat64 st; /* A lower bound on the number of temporary files to attempt to generate. The maximum total number of temporary file names that can exist for a given template is 62**6. It should never be necessary to try all these combinations. Instead if a reasonable number of names is tried (we define reasonable as 62**3) fail to give the system administrator the chance to remove the problems. */ #define ATTEMPTS_MIN (62 * 62 * 62) /* The number of times to attempt to generate a temporary file. To conform to POSIX, this must be no smaller than TMP_MAX. */ #if ATTEMPTS_MIN < TMP_MAX unsigned int attempts = TMP_MAX; #else unsigned int attempts = ATTEMPTS_MIN; #endif len = strlen (tmpl); if (len < 6 + suffixlen || memcmp (&tmpl[len - 6 - suffixlen], "XXXXXX", 6)) { __set_errno (EINVAL); return -1; } /* This is where the Xs start. */ XXXXXX = &tmpl[len - 6 - suffixlen]; /* Get some more or less random data. */ #ifdef RANDOM_BITS RANDOM_BITS (random_time_bits); #else { struct timeval tv; __gettimeofday (&tv, NULL); random_time_bits = ((uint64_t) tv.tv_usec << 16) ^ tv.tv_sec; } #endif value += random_time_bits ^ __getpid (); for (count = 0; count < attempts; value += 7777, ++count) { uint64_t v = value; /* Fill in the random bits. */ XXXXXX[0] = letters[v % 62]; v /= 62; XXXXXX[1] = letters[v % 62]; v /= 62; XXXXXX[2] = letters[v % 62]; v /= 62; XXXXXX[3] = letters[v % 62]; v /= 62; XXXXXX[4] = letters[v % 62]; v /= 62; XXXXXX[5] = letters[v % 62]; switch (kind) { case __GT_FILE: fd = __open (tmpl, (flags & ~O_ACCMODE) | O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR); break; case __GT_DIR: fd = __mkdir (tmpl, S_IRUSR | S_IWUSR | S_IXUSR); break; case __GT_NOCREATE: /* This case is backward from the other three. __gen_tempname succeeds if __xstat fails because the name does not exist. Note the continue to bypass the common logic at the bottom of the loop. */ if (__lxstat64 (_STAT_VER, tmpl, &st) < 0) { if (errno == ENOENT) { __set_errno (save_errno); return 0; } else /* Give up now. */ return -1; } continue; default: assert (! "invalid KIND in __gen_tempname"); abort (); } if (fd >= 0) { __set_errno (save_errno); return fd; } else if (errno != EEXIST) return -1; } /* We got out of the loop because we ran out of combinations to try. */ __set_errno (EEXIST); return -1; } parted-2.3/lib/safe-read.c0000644000000000000000000000414711370541031012266 00000000000000/* An interface to read and write that retries after interrupts. Copyright (C) 1993-1994, 1998, 2002-2006, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #ifdef SAFE_WRITE # include "safe-write.h" #else # include "safe-read.h" #endif /* Get ssize_t. */ #include #include #include #ifdef EINTR # define IS_EINTR(x) ((x) == EINTR) #else # define IS_EINTR(x) 0 #endif #include #ifdef SAFE_WRITE # define safe_rw safe_write # define rw write #else # define safe_rw safe_read # define rw read # undef const # define const /* empty */ #endif /* Read(write) up to COUNT bytes at BUF from(to) descriptor FD, retrying if interrupted. Return the actual number of bytes read(written), zero for EOF, or SAFE_READ_ERROR(SAFE_WRITE_ERROR) upon error. */ size_t safe_rw (int fd, void const *buf, size_t count) { /* Work around a bug in Tru64 5.1. Attempting to read more than INT_MAX bytes fails with errno == EINVAL. See . When decreasing COUNT, keep it block-aligned. */ enum { BUGGY_READ_MAXIMUM = INT_MAX & ~8191 }; for (;;) { ssize_t result = rw (fd, buf, count); if (0 <= result) return result; else if (IS_EINTR (errno)) continue; else if (errno == EINVAL && BUGGY_READ_MAXIMUM < count) count = BUGGY_READ_MAXIMUM; else return result; } } parted-2.3/lib/fpending.h0000644000000000000000000000201211370541031012223 00000000000000/* Declare __fpending. Copyright (C) 2000, 2003, 2005-2006, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Written by Jim Meyering. */ #include #include #ifndef HAVE_DECL___FPENDING "this configure-time declaration test was not run" #endif #if HAVE_DECL___FPENDING # if HAVE_STDIO_EXT_H # include # endif #else size_t __fpending (FILE *); #endif parted-2.3/lib/closeout.h0000644000000000000000000000204211370541031012271 00000000000000/* Close standard output and standard error. Copyright (C) 1998, 2000, 2003-2004, 2006, 2008-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef CLOSEOUT_H # define CLOSEOUT_H 1 # include # ifdef __cplusplus extern "C" { # endif void close_stdout_set_file_name (const char *file); void close_stdout_set_ignore_EPIPE (bool ignore); void close_stdout (void); # ifdef __cplusplus } # endif #endif parted-2.3/lib/mkstemp.c0000644000000000000000000000253311370541031012114 00000000000000/* Copyright (C) 1998-1999, 2001, 2005-2007, 2009-2010 Free Software Foundation, Inc. This file is derived from the one in the GNU C Library. 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #if !_LIBC # include #endif #include #if !_LIBC # include "tempname.h" # define __gen_tempname gen_tempname # ifndef __GT_FILE # define __GT_FILE GT_FILE # endif #endif #include #ifndef __GT_FILE # define __GT_FILE 0 #endif /* Generate a unique temporary file name from XTEMPLATE. The last six characters of XTEMPLATE must be "XXXXXX"; they are replaced with a string that makes the file name unique. Then open the file and return a fd. */ int mkstemp (char *xtemplate) { return __gen_tempname (xtemplate, 0, 0, __GT_FILE); } parted-2.3/lib/inttypes.in.h0000644000000000000000000006404311370541031012731 00000000000000/* Copyright (C) 2006-2010 Free Software Foundation, Inc. Written by Paul Eggert, Bruno Haible, Derek Price. This file is part of gnulib. 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* * ISO C 99 for platforms that lack it. * */ #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif /* Include the original if it exists, and if this file has not been included yet or if this file includes gnulib stdint.h which in turn includes this file. The include_next requires a split double-inclusion guard. */ #if ! defined INTTYPES_H || defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H # if @HAVE_INTTYPES_H@ # @INCLUDE_NEXT@ @NEXT_INTTYPES_H@ # endif #endif #if ! defined INTTYPES_H && ! defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H #define INTTYPES_H /* Include or the gnulib replacement. But avoid namespace pollution on glibc systems. */ #ifndef __GLIBC__ # include #endif /* Get CHAR_BIT. */ #include #if !(INT_MIN == INT32_MIN && INT_MAX == INT32_MAX) # error "This file assumes that 'int' has exactly 32 bits. Please report your platform and compiler to ." #endif /* The definition of _GL_ARG_NONNULL is copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ /* 7.8.1 Macros for format specifiers */ #if ! defined __cplusplus || defined __STDC_FORMAT_MACROS # if defined _TNS_R_TARGET /* Tandem NonStop R series and compatible platforms released before July 2005 support %Ld but not %lld. */ # define _LONG_LONG_FORMAT_PREFIX "L" # else # define _LONG_LONG_FORMAT_PREFIX "ll" # endif # if !defined PRId8 || @PRI_MACROS_BROKEN@ # undef PRId8 # ifdef INT8_MAX # define PRId8 "d" # endif # endif # if !defined PRIi8 || @PRI_MACROS_BROKEN@ # undef PRIi8 # ifdef INT8_MAX # define PRIi8 "i" # endif # endif # if !defined PRIo8 || @PRI_MACROS_BROKEN@ # undef PRIo8 # ifdef UINT8_MAX # define PRIo8 "o" # endif # endif # if !defined PRIu8 || @PRI_MACROS_BROKEN@ # undef PRIu8 # ifdef UINT8_MAX # define PRIu8 "u" # endif # endif # if !defined PRIx8 || @PRI_MACROS_BROKEN@ # undef PRIx8 # ifdef UINT8_MAX # define PRIx8 "x" # endif # endif # if !defined PRIX8 || @PRI_MACROS_BROKEN@ # undef PRIX8 # ifdef UINT8_MAX # define PRIX8 "X" # endif # endif # if !defined PRId16 || @PRI_MACROS_BROKEN@ # undef PRId16 # ifdef INT16_MAX # define PRId16 "d" # endif # endif # if !defined PRIi16 || @PRI_MACROS_BROKEN@ # undef PRIi16 # ifdef INT16_MAX # define PRIi16 "i" # endif # endif # if !defined PRIo16 || @PRI_MACROS_BROKEN@ # undef PRIo16 # ifdef UINT16_MAX # define PRIo16 "o" # endif # endif # if !defined PRIu16 || @PRI_MACROS_BROKEN@ # undef PRIu16 # ifdef UINT16_MAX # define PRIu16 "u" # endif # endif # if !defined PRIx16 || @PRI_MACROS_BROKEN@ # undef PRIx16 # ifdef UINT16_MAX # define PRIx16 "x" # endif # endif # if !defined PRIX16 || @PRI_MACROS_BROKEN@ # undef PRIX16 # ifdef UINT16_MAX # define PRIX16 "X" # endif # endif # if !defined PRId32 || @PRI_MACROS_BROKEN@ # undef PRId32 # ifdef INT32_MAX # define PRId32 "d" # endif # endif # if !defined PRIi32 || @PRI_MACROS_BROKEN@ # undef PRIi32 # ifdef INT32_MAX # define PRIi32 "i" # endif # endif # if !defined PRIo32 || @PRI_MACROS_BROKEN@ # undef PRIo32 # ifdef UINT32_MAX # define PRIo32 "o" # endif # endif # if !defined PRIu32 || @PRI_MACROS_BROKEN@ # undef PRIu32 # ifdef UINT32_MAX # define PRIu32 "u" # endif # endif # if !defined PRIx32 || @PRI_MACROS_BROKEN@ # undef PRIx32 # ifdef UINT32_MAX # define PRIx32 "x" # endif # endif # if !defined PRIX32 || @PRI_MACROS_BROKEN@ # undef PRIX32 # ifdef UINT32_MAX # define PRIX32 "X" # endif # endif # ifdef INT64_MAX # if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @INT64_MAX_EQ_LONG_MAX@) # define _PRI64_PREFIX "l" # elif defined _MSC_VER || defined __MINGW32__ # define _PRI64_PREFIX "I64" # elif @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 # define _PRI64_PREFIX _LONG_LONG_FORMAT_PREFIX # endif # if !defined PRId64 || @PRI_MACROS_BROKEN@ # undef PRId64 # define PRId64 _PRI64_PREFIX "d" # endif # if !defined PRIi64 || @PRI_MACROS_BROKEN@ # undef PRIi64 # define PRIi64 _PRI64_PREFIX "i" # endif # endif # ifdef UINT64_MAX # if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @UINT64_MAX_EQ_ULONG_MAX@) # define _PRIu64_PREFIX "l" # elif defined _MSC_VER || defined __MINGW32__ # define _PRIu64_PREFIX "I64" # elif @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 # define _PRIu64_PREFIX _LONG_LONG_FORMAT_PREFIX # endif # if !defined PRIo64 || @PRI_MACROS_BROKEN@ # undef PRIo64 # define PRIo64 _PRIu64_PREFIX "o" # endif # if !defined PRIu64 || @PRI_MACROS_BROKEN@ # undef PRIu64 # define PRIu64 _PRIu64_PREFIX "u" # endif # if !defined PRIx64 || @PRI_MACROS_BROKEN@ # undef PRIx64 # define PRIx64 _PRIu64_PREFIX "x" # endif # if !defined PRIX64 || @PRI_MACROS_BROKEN@ # undef PRIX64 # define PRIX64 _PRIu64_PREFIX "X" # endif # endif # if !defined PRIdLEAST8 || @PRI_MACROS_BROKEN@ # undef PRIdLEAST8 # define PRIdLEAST8 "d" # endif # if !defined PRIiLEAST8 || @PRI_MACROS_BROKEN@ # undef PRIiLEAST8 # define PRIiLEAST8 "i" # endif # if !defined PRIoLEAST8 || @PRI_MACROS_BROKEN@ # undef PRIoLEAST8 # define PRIoLEAST8 "o" # endif # if !defined PRIuLEAST8 || @PRI_MACROS_BROKEN@ # undef PRIuLEAST8 # define PRIuLEAST8 "u" # endif # if !defined PRIxLEAST8 || @PRI_MACROS_BROKEN@ # undef PRIxLEAST8 # define PRIxLEAST8 "x" # endif # if !defined PRIXLEAST8 || @PRI_MACROS_BROKEN@ # undef PRIXLEAST8 # define PRIXLEAST8 "X" # endif # if !defined PRIdLEAST16 || @PRI_MACROS_BROKEN@ # undef PRIdLEAST16 # define PRIdLEAST16 "d" # endif # if !defined PRIiLEAST16 || @PRI_MACROS_BROKEN@ # undef PRIiLEAST16 # define PRIiLEAST16 "i" # endif # if !defined PRIoLEAST16 || @PRI_MACROS_BROKEN@ # undef PRIoLEAST16 # define PRIoLEAST16 "o" # endif # if !defined PRIuLEAST16 || @PRI_MACROS_BROKEN@ # undef PRIuLEAST16 # define PRIuLEAST16 "u" # endif # if !defined PRIxLEAST16 || @PRI_MACROS_BROKEN@ # undef PRIxLEAST16 # define PRIxLEAST16 "x" # endif # if !defined PRIXLEAST16 || @PRI_MACROS_BROKEN@ # undef PRIXLEAST16 # define PRIXLEAST16 "X" # endif # if !defined PRIdLEAST32 || @PRI_MACROS_BROKEN@ # undef PRIdLEAST32 # define PRIdLEAST32 "d" # endif # if !defined PRIiLEAST32 || @PRI_MACROS_BROKEN@ # undef PRIiLEAST32 # define PRIiLEAST32 "i" # endif # if !defined PRIoLEAST32 || @PRI_MACROS_BROKEN@ # undef PRIoLEAST32 # define PRIoLEAST32 "o" # endif # if !defined PRIuLEAST32 || @PRI_MACROS_BROKEN@ # undef PRIuLEAST32 # define PRIuLEAST32 "u" # endif # if !defined PRIxLEAST32 || @PRI_MACROS_BROKEN@ # undef PRIxLEAST32 # define PRIxLEAST32 "x" # endif # if !defined PRIXLEAST32 || @PRI_MACROS_BROKEN@ # undef PRIXLEAST32 # define PRIXLEAST32 "X" # endif # ifdef INT64_MAX # if !defined PRIdLEAST64 || @PRI_MACROS_BROKEN@ # undef PRIdLEAST64 # define PRIdLEAST64 PRId64 # endif # if !defined PRIiLEAST64 || @PRI_MACROS_BROKEN@ # undef PRIiLEAST64 # define PRIiLEAST64 PRIi64 # endif # endif # ifdef UINT64_MAX # if !defined PRIoLEAST64 || @PRI_MACROS_BROKEN@ # undef PRIoLEAST64 # define PRIoLEAST64 PRIo64 # endif # if !defined PRIuLEAST64 || @PRI_MACROS_BROKEN@ # undef PRIuLEAST64 # define PRIuLEAST64 PRIu64 # endif # if !defined PRIxLEAST64 || @PRI_MACROS_BROKEN@ # undef PRIxLEAST64 # define PRIxLEAST64 PRIx64 # endif # if !defined PRIXLEAST64 || @PRI_MACROS_BROKEN@ # undef PRIXLEAST64 # define PRIXLEAST64 PRIX64 # endif # endif # if !defined PRIdFAST8 || @PRI_MACROS_BROKEN@ # undef PRIdFAST8 # if INT_FAST8_MAX > INT32_MAX # define PRIdFAST8 PRId64 # else # define PRIdFAST8 "d" # endif # endif # if !defined PRIiFAST8 || @PRI_MACROS_BROKEN@ # undef PRIiFAST8 # if INT_FAST8_MAX > INT32_MAX # define PRIiFAST8 PRIi64 # else # define PRIiFAST8 "i" # endif # endif # if !defined PRIoFAST8 || @PRI_MACROS_BROKEN@ # undef PRIoFAST8 # if UINT_FAST8_MAX > UINT32_MAX # define PRIoFAST8 PRIo64 # else # define PRIoFAST8 "o" # endif # endif # if !defined PRIuFAST8 || @PRI_MACROS_BROKEN@ # undef PRIuFAST8 # if UINT_FAST8_MAX > UINT32_MAX # define PRIuFAST8 PRIu64 # else # define PRIuFAST8 "u" # endif # endif # if !defined PRIxFAST8 || @PRI_MACROS_BROKEN@ # undef PRIxFAST8 # if UINT_FAST8_MAX > UINT32_MAX # define PRIxFAST8 PRIx64 # else # define PRIxFAST8 "x" # endif # endif # if !defined PRIXFAST8 || @PRI_MACROS_BROKEN@ # undef PRIXFAST8 # if UINT_FAST8_MAX > UINT32_MAX # define PRIXFAST8 PRIX64 # else # define PRIXFAST8 "X" # endif # endif # if !defined PRIdFAST16 || @PRI_MACROS_BROKEN@ # undef PRIdFAST16 # if INT_FAST16_MAX > INT32_MAX # define PRIdFAST16 PRId64 # else # define PRIdFAST16 "d" # endif # endif # if !defined PRIiFAST16 || @PRI_MACROS_BROKEN@ # undef PRIiFAST16 # if INT_FAST16_MAX > INT32_MAX # define PRIiFAST16 PRIi64 # else # define PRIiFAST16 "i" # endif # endif # if !defined PRIoFAST16 || @PRI_MACROS_BROKEN@ # undef PRIoFAST16 # if UINT_FAST16_MAX > UINT32_MAX # define PRIoFAST16 PRIo64 # else # define PRIoFAST16 "o" # endif # endif # if !defined PRIuFAST16 || @PRI_MACROS_BROKEN@ # undef PRIuFAST16 # if UINT_FAST16_MAX > UINT32_MAX # define PRIuFAST16 PRIu64 # else # define PRIuFAST16 "u" # endif # endif # if !defined PRIxFAST16 || @PRI_MACROS_BROKEN@ # undef PRIxFAST16 # if UINT_FAST16_MAX > UINT32_MAX # define PRIxFAST16 PRIx64 # else # define PRIxFAST16 "x" # endif # endif # if !defined PRIXFAST16 || @PRI_MACROS_BROKEN@ # undef PRIXFAST16 # if UINT_FAST16_MAX > UINT32_MAX # define PRIXFAST16 PRIX64 # else # define PRIXFAST16 "X" # endif # endif # if !defined PRIdFAST32 || @PRI_MACROS_BROKEN@ # undef PRIdFAST32 # if INT_FAST32_MAX > INT32_MAX # define PRIdFAST32 PRId64 # else # define PRIdFAST32 "d" # endif # endif # if !defined PRIiFAST32 || @PRI_MACROS_BROKEN@ # undef PRIiFAST32 # if INT_FAST32_MAX > INT32_MAX # define PRIiFAST32 PRIi64 # else # define PRIiFAST32 "i" # endif # endif # if !defined PRIoFAST32 || @PRI_MACROS_BROKEN@ # undef PRIoFAST32 # if UINT_FAST32_MAX > UINT32_MAX # define PRIoFAST32 PRIo64 # else # define PRIoFAST32 "o" # endif # endif # if !defined PRIuFAST32 || @PRI_MACROS_BROKEN@ # undef PRIuFAST32 # if UINT_FAST32_MAX > UINT32_MAX # define PRIuFAST32 PRIu64 # else # define PRIuFAST32 "u" # endif # endif # if !defined PRIxFAST32 || @PRI_MACROS_BROKEN@ # undef PRIxFAST32 # if UINT_FAST32_MAX > UINT32_MAX # define PRIxFAST32 PRIx64 # else # define PRIxFAST32 "x" # endif # endif # if !defined PRIXFAST32 || @PRI_MACROS_BROKEN@ # undef PRIXFAST32 # if UINT_FAST32_MAX > UINT32_MAX # define PRIXFAST32 PRIX64 # else # define PRIXFAST32 "X" # endif # endif # ifdef INT64_MAX # if !defined PRIdFAST64 || @PRI_MACROS_BROKEN@ # undef PRIdFAST64 # define PRIdFAST64 PRId64 # endif # if !defined PRIiFAST64 || @PRI_MACROS_BROKEN@ # undef PRIiFAST64 # define PRIiFAST64 PRIi64 # endif # endif # ifdef UINT64_MAX # if !defined PRIoFAST64 || @PRI_MACROS_BROKEN@ # undef PRIoFAST64 # define PRIoFAST64 PRIo64 # endif # if !defined PRIuFAST64 || @PRI_MACROS_BROKEN@ # undef PRIuFAST64 # define PRIuFAST64 PRIu64 # endif # if !defined PRIxFAST64 || @PRI_MACROS_BROKEN@ # undef PRIxFAST64 # define PRIxFAST64 PRIx64 # endif # if !defined PRIXFAST64 || @PRI_MACROS_BROKEN@ # undef PRIXFAST64 # define PRIXFAST64 PRIX64 # endif # endif # if !defined PRIdMAX || @PRI_MACROS_BROKEN@ # undef PRIdMAX # if @INT32_MAX_LT_INTMAX_MAX@ # define PRIdMAX PRId64 # else # define PRIdMAX "ld" # endif # endif # if !defined PRIiMAX || @PRI_MACROS_BROKEN@ # undef PRIiMAX # if @INT32_MAX_LT_INTMAX_MAX@ # define PRIiMAX PRIi64 # else # define PRIiMAX "li" # endif # endif # if !defined PRIoMAX || @PRI_MACROS_BROKEN@ # undef PRIoMAX # if @UINT32_MAX_LT_UINTMAX_MAX@ # define PRIoMAX PRIo64 # else # define PRIoMAX "lo" # endif # endif # if !defined PRIuMAX || @PRI_MACROS_BROKEN@ # undef PRIuMAX # if @UINT32_MAX_LT_UINTMAX_MAX@ # define PRIuMAX PRIu64 # else # define PRIuMAX "lu" # endif # endif # if !defined PRIxMAX || @PRI_MACROS_BROKEN@ # undef PRIxMAX # if @UINT32_MAX_LT_UINTMAX_MAX@ # define PRIxMAX PRIx64 # else # define PRIxMAX "lx" # endif # endif # if !defined PRIXMAX || @PRI_MACROS_BROKEN@ # undef PRIXMAX # if @UINT32_MAX_LT_UINTMAX_MAX@ # define PRIXMAX PRIX64 # else # define PRIXMAX "lX" # endif # endif # if !defined PRIdPTR || @PRI_MACROS_BROKEN@ # undef PRIdPTR # ifdef INTPTR_MAX # define PRIdPTR @PRIPTR_PREFIX@ "d" # endif # endif # if !defined PRIiPTR || @PRI_MACROS_BROKEN@ # undef PRIiPTR # ifdef INTPTR_MAX # define PRIiPTR @PRIPTR_PREFIX@ "i" # endif # endif # if !defined PRIoPTR || @PRI_MACROS_BROKEN@ # undef PRIoPTR # ifdef UINTPTR_MAX # define PRIoPTR @PRIPTR_PREFIX@ "o" # endif # endif # if !defined PRIuPTR || @PRI_MACROS_BROKEN@ # undef PRIuPTR # ifdef UINTPTR_MAX # define PRIuPTR @PRIPTR_PREFIX@ "u" # endif # endif # if !defined PRIxPTR || @PRI_MACROS_BROKEN@ # undef PRIxPTR # ifdef UINTPTR_MAX # define PRIxPTR @PRIPTR_PREFIX@ "x" # endif # endif # if !defined PRIXPTR || @PRI_MACROS_BROKEN@ # undef PRIXPTR # ifdef UINTPTR_MAX # define PRIXPTR @PRIPTR_PREFIX@ "X" # endif # endif # if !defined SCNd8 || @PRI_MACROS_BROKEN@ # undef SCNd8 # ifdef INT8_MAX # define SCNd8 "hhd" # endif # endif # if !defined SCNi8 || @PRI_MACROS_BROKEN@ # undef SCNi8 # ifdef INT8_MAX # define SCNi8 "hhi" # endif # endif # if !defined SCNo8 || @PRI_MACROS_BROKEN@ # undef SCNo8 # ifdef UINT8_MAX # define SCNo8 "hho" # endif # endif # if !defined SCNu8 || @PRI_MACROS_BROKEN@ # undef SCNu8 # ifdef UINT8_MAX # define SCNu8 "hhu" # endif # endif # if !defined SCNx8 || @PRI_MACROS_BROKEN@ # undef SCNx8 # ifdef UINT8_MAX # define SCNx8 "hhx" # endif # endif # if !defined SCNd16 || @PRI_MACROS_BROKEN@ # undef SCNd16 # ifdef INT16_MAX # define SCNd16 "hd" # endif # endif # if !defined SCNi16 || @PRI_MACROS_BROKEN@ # undef SCNi16 # ifdef INT16_MAX # define SCNi16 "hi" # endif # endif # if !defined SCNo16 || @PRI_MACROS_BROKEN@ # undef SCNo16 # ifdef UINT16_MAX # define SCNo16 "ho" # endif # endif # if !defined SCNu16 || @PRI_MACROS_BROKEN@ # undef SCNu16 # ifdef UINT16_MAX # define SCNu16 "hu" # endif # endif # if !defined SCNx16 || @PRI_MACROS_BROKEN@ # undef SCNx16 # ifdef UINT16_MAX # define SCNx16 "hx" # endif # endif # if !defined SCNd32 || @PRI_MACROS_BROKEN@ # undef SCNd32 # ifdef INT32_MAX # define SCNd32 "d" # endif # endif # if !defined SCNi32 || @PRI_MACROS_BROKEN@ # undef SCNi32 # ifdef INT32_MAX # define SCNi32 "i" # endif # endif # if !defined SCNo32 || @PRI_MACROS_BROKEN@ # undef SCNo32 # ifdef UINT32_MAX # define SCNo32 "o" # endif # endif # if !defined SCNu32 || @PRI_MACROS_BROKEN@ # undef SCNu32 # ifdef UINT32_MAX # define SCNu32 "u" # endif # endif # if !defined SCNx32 || @PRI_MACROS_BROKEN@ # undef SCNx32 # ifdef UINT32_MAX # define SCNx32 "x" # endif # endif # ifdef INT64_MAX # if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @INT64_MAX_EQ_LONG_MAX@) # define _SCN64_PREFIX "l" # elif defined _MSC_VER || defined __MINGW32__ # define _SCN64_PREFIX "I64" # elif @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 # define _SCN64_PREFIX _LONG_LONG_FORMAT_PREFIX # endif # if !defined SCNd64 || @PRI_MACROS_BROKEN@ # undef SCNd64 # define SCNd64 _SCN64_PREFIX "d" # endif # if !defined SCNi64 || @PRI_MACROS_BROKEN@ # undef SCNi64 # define SCNi64 _SCN64_PREFIX "i" # endif # endif # ifdef UINT64_MAX # if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @UINT64_MAX_EQ_ULONG_MAX@) # define _SCNu64_PREFIX "l" # elif defined _MSC_VER || defined __MINGW32__ # define _SCNu64_PREFIX "I64" # elif @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 # define _SCNu64_PREFIX _LONG_LONG_FORMAT_PREFIX # endif # if !defined SCNo64 || @PRI_MACROS_BROKEN@ # undef SCNo64 # define SCNo64 _SCNu64_PREFIX "o" # endif # if !defined SCNu64 || @PRI_MACROS_BROKEN@ # undef SCNu64 # define SCNu64 _SCNu64_PREFIX "u" # endif # if !defined SCNx64 || @PRI_MACROS_BROKEN@ # undef SCNx64 # define SCNx64 _SCNu64_PREFIX "x" # endif # endif # if !defined SCNdLEAST8 || @PRI_MACROS_BROKEN@ # undef SCNdLEAST8 # define SCNdLEAST8 "hhd" # endif # if !defined SCNiLEAST8 || @PRI_MACROS_BROKEN@ # undef SCNiLEAST8 # define SCNiLEAST8 "hhi" # endif # if !defined SCNoLEAST8 || @PRI_MACROS_BROKEN@ # undef SCNoLEAST8 # define SCNoLEAST8 "hho" # endif # if !defined SCNuLEAST8 || @PRI_MACROS_BROKEN@ # undef SCNuLEAST8 # define SCNuLEAST8 "hhu" # endif # if !defined SCNxLEAST8 || @PRI_MACROS_BROKEN@ # undef SCNxLEAST8 # define SCNxLEAST8 "hhx" # endif # if !defined SCNdLEAST16 || @PRI_MACROS_BROKEN@ # undef SCNdLEAST16 # define SCNdLEAST16 "hd" # endif # if !defined SCNiLEAST16 || @PRI_MACROS_BROKEN@ # undef SCNiLEAST16 # define SCNiLEAST16 "hi" # endif # if !defined SCNoLEAST16 || @PRI_MACROS_BROKEN@ # undef SCNoLEAST16 # define SCNoLEAST16 "ho" # endif # if !defined SCNuLEAST16 || @PRI_MACROS_BROKEN@ # undef SCNuLEAST16 # define SCNuLEAST16 "hu" # endif # if !defined SCNxLEAST16 || @PRI_MACROS_BROKEN@ # undef SCNxLEAST16 # define SCNxLEAST16 "hx" # endif # if !defined SCNdLEAST32 || @PRI_MACROS_BROKEN@ # undef SCNdLEAST32 # define SCNdLEAST32 "d" # endif # if !defined SCNiLEAST32 || @PRI_MACROS_BROKEN@ # undef SCNiLEAST32 # define SCNiLEAST32 "i" # endif # if !defined SCNoLEAST32 || @PRI_MACROS_BROKEN@ # undef SCNoLEAST32 # define SCNoLEAST32 "o" # endif # if !defined SCNuLEAST32 || @PRI_MACROS_BROKEN@ # undef SCNuLEAST32 # define SCNuLEAST32 "u" # endif # if !defined SCNxLEAST32 || @PRI_MACROS_BROKEN@ # undef SCNxLEAST32 # define SCNxLEAST32 "x" # endif # ifdef INT64_MAX # if !defined SCNdLEAST64 || @PRI_MACROS_BROKEN@ # undef SCNdLEAST64 # define SCNdLEAST64 SCNd64 # endif # if !defined SCNiLEAST64 || @PRI_MACROS_BROKEN@ # undef SCNiLEAST64 # define SCNiLEAST64 SCNi64 # endif # endif # ifdef UINT64_MAX # if !defined SCNoLEAST64 || @PRI_MACROS_BROKEN@ # undef SCNoLEAST64 # define SCNoLEAST64 SCNo64 # endif # if !defined SCNuLEAST64 || @PRI_MACROS_BROKEN@ # undef SCNuLEAST64 # define SCNuLEAST64 SCNu64 # endif # if !defined SCNxLEAST64 || @PRI_MACROS_BROKEN@ # undef SCNxLEAST64 # define SCNxLEAST64 SCNx64 # endif # endif # if !defined SCNdFAST8 || @PRI_MACROS_BROKEN@ # undef SCNdFAST8 # if INT_FAST8_MAX > INT32_MAX # define SCNdFAST8 SCNd64 # elif INT_FAST8_MAX == 0x7fff # define SCNdFAST8 "hd" # elif INT_FAST8_MAX == 0x7f # define SCNdFAST8 "hhd" # else # define SCNdFAST8 "d" # endif # endif # if !defined SCNiFAST8 || @PRI_MACROS_BROKEN@ # undef SCNiFAST8 # if INT_FAST8_MAX > INT32_MAX # define SCNiFAST8 SCNi64 # elif INT_FAST8_MAX == 0x7fff # define SCNiFAST8 "hi" # elif INT_FAST8_MAX == 0x7f # define SCNiFAST8 "hhi" # else # define SCNiFAST8 "i" # endif # endif # if !defined SCNoFAST8 || @PRI_MACROS_BROKEN@ # undef SCNoFAST8 # if UINT_FAST8_MAX > UINT32_MAX # define SCNoFAST8 SCNo64 # elif UINT_FAST8_MAX == 0xffff # define SCNoFAST8 "ho" # elif UINT_FAST8_MAX == 0xff # define SCNoFAST8 "hho" # else # define SCNoFAST8 "o" # endif # endif # if !defined SCNuFAST8 || @PRI_MACROS_BROKEN@ # undef SCNuFAST8 # if UINT_FAST8_MAX > UINT32_MAX # define SCNuFAST8 SCNu64 # elif UINT_FAST8_MAX == 0xffff # define SCNuFAST8 "hu" # elif UINT_FAST8_MAX == 0xff # define SCNuFAST8 "hhu" # else # define SCNuFAST8 "u" # endif # endif # if !defined SCNxFAST8 || @PRI_MACROS_BROKEN@ # undef SCNxFAST8 # if UINT_FAST8_MAX > UINT32_MAX # define SCNxFAST8 SCNx64 # elif UINT_FAST8_MAX == 0xffff # define SCNxFAST8 "hx" # elif UINT_FAST8_MAX == 0xff # define SCNxFAST8 "hhx" # else # define SCNxFAST8 "x" # endif # endif # if !defined SCNdFAST16 || @PRI_MACROS_BROKEN@ # undef SCNdFAST16 # if INT_FAST16_MAX > INT32_MAX # define SCNdFAST16 SCNd64 # elif INT_FAST16_MAX == 0x7fff # define SCNdFAST16 "hd" # else # define SCNdFAST16 "d" # endif # endif # if !defined SCNiFAST16 || @PRI_MACROS_BROKEN@ # undef SCNiFAST16 # if INT_FAST16_MAX > INT32_MAX # define SCNiFAST16 SCNi64 # elif INT_FAST16_MAX == 0x7fff # define SCNiFAST16 "hi" # else # define SCNiFAST16 "i" # endif # endif # if !defined SCNoFAST16 || @PRI_MACROS_BROKEN@ # undef SCNoFAST16 # if UINT_FAST16_MAX > UINT32_MAX # define SCNoFAST16 SCNo64 # elif UINT_FAST16_MAX == 0xffff # define SCNoFAST16 "ho" # else # define SCNoFAST16 "o" # endif # endif # if !defined SCNuFAST16 || @PRI_MACROS_BROKEN@ # undef SCNuFAST16 # if UINT_FAST16_MAX > UINT32_MAX # define SCNuFAST16 SCNu64 # elif UINT_FAST16_MAX == 0xffff # define SCNuFAST16 "hu" # else # define SCNuFAST16 "u" # endif # endif # if !defined SCNxFAST16 || @PRI_MACROS_BROKEN@ # undef SCNxFAST16 # if UINT_FAST16_MAX > UINT32_MAX # define SCNxFAST16 SCNx64 # elif UINT_FAST16_MAX == 0xffff # define SCNxFAST16 "hx" # else # define SCNxFAST16 "x" # endif # endif # if !defined SCNdFAST32 || @PRI_MACROS_BROKEN@ # undef SCNdFAST32 # if INT_FAST32_MAX > INT32_MAX # define SCNdFAST32 SCNd64 # else # define SCNdFAST32 "d" # endif # endif # if !defined SCNiFAST32 || @PRI_MACROS_BROKEN@ # undef SCNiFAST32 # if INT_FAST32_MAX > INT32_MAX # define SCNiFAST32 SCNi64 # else # define SCNiFAST32 "i" # endif # endif # if !defined SCNoFAST32 || @PRI_MACROS_BROKEN@ # undef SCNoFAST32 # if UINT_FAST32_MAX > UINT32_MAX # define SCNoFAST32 SCNo64 # else # define SCNoFAST32 "o" # endif # endif # if !defined SCNuFAST32 || @PRI_MACROS_BROKEN@ # undef SCNuFAST32 # if UINT_FAST32_MAX > UINT32_MAX # define SCNuFAST32 SCNu64 # else # define SCNuFAST32 "u" # endif # endif # if !defined SCNxFAST32 || @PRI_MACROS_BROKEN@ # undef SCNxFAST32 # if UINT_FAST32_MAX > UINT32_MAX # define SCNxFAST32 SCNx64 # else # define SCNxFAST32 "x" # endif # endif # ifdef INT64_MAX # if !defined SCNdFAST64 || @PRI_MACROS_BROKEN@ # undef SCNdFAST64 # define SCNdFAST64 SCNd64 # endif # if !defined SCNiFAST64 || @PRI_MACROS_BROKEN@ # undef SCNiFAST64 # define SCNiFAST64 SCNi64 # endif # endif # ifdef UINT64_MAX # if !defined SCNoFAST64 || @PRI_MACROS_BROKEN@ # undef SCNoFAST64 # define SCNoFAST64 SCNo64 # endif # if !defined SCNuFAST64 || @PRI_MACROS_BROKEN@ # undef SCNuFAST64 # define SCNuFAST64 SCNu64 # endif # if !defined SCNxFAST64 || @PRI_MACROS_BROKEN@ # undef SCNxFAST64 # define SCNxFAST64 SCNx64 # endif # endif # if !defined SCNdMAX || @PRI_MACROS_BROKEN@ # undef SCNdMAX # if @INT32_MAX_LT_INTMAX_MAX@ # define SCNdMAX SCNd64 # else # define SCNdMAX "ld" # endif # endif # if !defined SCNiMAX || @PRI_MACROS_BROKEN@ # undef SCNiMAX # if @INT32_MAX_LT_INTMAX_MAX@ # define SCNiMAX SCNi64 # else # define SCNiMAX "li" # endif # endif # if !defined SCNoMAX || @PRI_MACROS_BROKEN@ # undef SCNoMAX # if @UINT32_MAX_LT_UINTMAX_MAX@ # define SCNoMAX SCNo64 # else # define SCNoMAX "lo" # endif # endif # if !defined SCNuMAX || @PRI_MACROS_BROKEN@ # undef SCNuMAX # if @UINT32_MAX_LT_UINTMAX_MAX@ # define SCNuMAX SCNu64 # else # define SCNuMAX "lu" # endif # endif # if !defined SCNxMAX || @PRI_MACROS_BROKEN@ # undef SCNxMAX # if @UINT32_MAX_LT_UINTMAX_MAX@ # define SCNxMAX SCNx64 # else # define SCNxMAX "lx" # endif # endif # if !defined SCNdPTR || @PRI_MACROS_BROKEN@ # undef SCNdPTR # ifdef INTPTR_MAX # define SCNdPTR @PRIPTR_PREFIX@ "d" # endif # endif # if !defined SCNiPTR || @PRI_MACROS_BROKEN@ # undef SCNiPTR # ifdef INTPTR_MAX # define SCNiPTR @PRIPTR_PREFIX@ "i" # endif # endif # if !defined SCNoPTR || @PRI_MACROS_BROKEN@ # undef SCNoPTR # ifdef UINTPTR_MAX # define SCNoPTR @PRIPTR_PREFIX@ "o" # endif # endif # if !defined SCNuPTR || @PRI_MACROS_BROKEN@ # undef SCNuPTR # ifdef UINTPTR_MAX # define SCNuPTR @PRIPTR_PREFIX@ "u" # endif # endif # if !defined SCNxPTR || @PRI_MACROS_BROKEN@ # undef SCNxPTR # ifdef UINTPTR_MAX # define SCNxPTR @PRIPTR_PREFIX@ "x" # endif # endif #endif /* 7.8.2 Functions for greatest-width integer types */ #ifdef __cplusplus extern "C" { #endif #if @GNULIB_IMAXABS@ # if !@HAVE_DECL_IMAXABS@ extern intmax_t imaxabs (intmax_t); # endif #elif defined GNULIB_POSIXCHECK # undef imaxabs # if HAVE_RAW_DECL_IMAXABS _GL_WARN_ON_USE (imaxabs, "imaxabs is unportable - " "use gnulib module imaxabs for portability"); # endif #endif #if @GNULIB_IMAXDIV@ # if !@HAVE_DECL_IMAXDIV@ typedef struct { intmax_t quot; intmax_t rem; } imaxdiv_t; extern imaxdiv_t imaxdiv (intmax_t, intmax_t); # endif #elif defined GNULIB_POSIXCHECK # undef imaxdiv # if HAVE_RAW_DECL_IMAXDIV _GL_WARN_ON_USE (imaxdiv, "imaxdiv is unportable - " "use gnulib module imaxdiv for portability"); # endif #endif #if @GNULIB_STRTOIMAX@ # if !@HAVE_DECL_STRTOIMAX@ extern intmax_t strtoimax (const char *, char **, int) _GL_ARG_NONNULL ((1)); # endif #elif defined GNULIB_POSIXCHECK # undef strtoimax # if HAVE_RAW_DECL_STRTOIMAX _GL_WARN_ON_USE (strtoimax, "strtoimax is unportable - " "use gnulib module strtoimax for portability"); # endif #endif #if @GNULIB_STRTOUMAX@ # if !@HAVE_DECL_STRTOUMAX@ extern uintmax_t strtoumax (const char *, char **, int) _GL_ARG_NONNULL ((1)); # endif #elif defined GNULIB_POSIXCHECK # undef strtoumax # if HAVE_RAW_DECL_STRTOUMAX _GL_WARN_ON_USE (strtoumax, "strtoumax is unportable - " "use gnulib module strtoumax for portability"); # endif #endif /* Don't bother defining or declaring wcstoimax and wcstoumax, since wide-character functions like this are hardly ever useful. */ #ifdef __cplusplus } #endif #endif /* !defined INTTYPES_H && !defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H */ parted-2.3/lib/long-options.h0000644000000000000000000000223111370541031013064 00000000000000/* long-options.h -- declaration for --help- and --version-handling function. Copyright (C) 1993-1994, 1998-1999, 2003, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ void parse_long_options (int _argc, char **_argv, const char *_command_name, const char *_package, const char *_version, void (*_usage) (int), /* const char *author1, ...*/ ...); parted-2.3/lib/xmalloc.c0000644000000000000000000000632211370541032012074 00000000000000/* xmalloc.c -- malloc with out of memory checking Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2008, 2009, 2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #if ! HAVE_INLINE # define static_inline #endif #include "xalloc.h" #undef static_inline #include #include /* 1 if calloc is known to be compatible with GNU calloc. This matters if we are not also using the calloc module, which defines HAVE_CALLOC and supports the GNU API even on non-GNU platforms. */ #if defined HAVE_CALLOC || defined __GLIBC__ enum { HAVE_GNU_CALLOC = 1 }; #else enum { HAVE_GNU_CALLOC = 0 }; #endif /* Allocate N bytes of memory dynamically, with error checking. */ void * xmalloc (size_t n) { void *p = malloc (n); if (!p && n != 0) xalloc_die (); return p; } /* Change the size of an allocated block of memory P to N bytes, with error checking. */ void * xrealloc (void *p, size_t n) { p = realloc (p, n); if (!p && n != 0) xalloc_die (); return p; } /* If P is null, allocate a block of at least *PN bytes; otherwise, reallocate P so that it contains more than *PN bytes. *PN must be nonzero unless P is null. Set *PN to the new block's size, and return the pointer to the new block. *PN is never set to zero, and the returned pointer is never null. */ void * x2realloc (void *p, size_t *pn) { return x2nrealloc (p, pn, 1); } /* Allocate S bytes of zeroed memory dynamically, with error checking. There's no need for xnzalloc (N, S), since it would be equivalent to xcalloc (N, S). */ void * xzalloc (size_t s) { return memset (xmalloc (s), 0, s); } /* Allocate zeroed memory for N elements of S bytes, with error checking. S must be nonzero. */ void * xcalloc (size_t n, size_t s) { void *p; /* Test for overflow, since some calloc implementations don't have proper overflow checks. But omit overflow and size-zero tests if HAVE_GNU_CALLOC, since GNU calloc catches overflow and never returns NULL if successful. */ if ((! HAVE_GNU_CALLOC && xalloc_oversized (n, s)) || (! (p = calloc (n, s)) && (HAVE_GNU_CALLOC || n != 0))) xalloc_die (); return p; } /* Clone an object P of size S, with error checking. There's no need for xnmemdup (P, N, S), since xmemdup (P, N * S) works without any need for an arithmetic overflow check. */ void * xmemdup (void const *p, size_t s) { return memcpy (xmalloc (s), p, s); } /* Clone STRING. */ char * xstrdup (char const *string) { return xmemdup (string, strlen (string) + 1); } parted-2.3/lib/version-etc.c0000644000000000000000000002176511370541032012703 00000000000000/* Print --version and bug-reporting information in a consistent format. Copyright (C) 1999-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ #include /* Specification. */ #include "version-etc.h" #include #include #include #if USE_UNLOCKED_IO # include "unlocked-io.h" #endif #include "gettext.h" #define _(msgid) gettext (msgid) /* If you use AM_INIT_AUTOMAKE's no-define option, PACKAGE is not defined. Use PACKAGE_TARNAME instead. */ #if ! defined PACKAGE && defined PACKAGE_TARNAME # define PACKAGE PACKAGE_TARNAME #endif enum { COPYRIGHT_YEAR = 2010 }; /* The three functions below display the --version information the standard way. If COMMAND_NAME is NULL, the PACKAGE is assumed to be the name of the program. The formats are therefore: PACKAGE VERSION or COMMAND_NAME (PACKAGE) VERSION. The functions differ in the way they are passed author names. */ /* Display the --version information the standard way. Author names are given in the array AUTHORS. N_AUTHORS is the number of elements in the array. */ void version_etc_arn (FILE *stream, const char *command_name, const char *package, const char *version, const char * const * authors, size_t n_authors) { if (command_name) fprintf (stream, "%s (%s) %s\n", command_name, package, version); else fprintf (stream, "%s %s\n", package, version); #ifdef PACKAGE_PACKAGER # ifdef PACKAGE_PACKAGER_VERSION fprintf (stream, _("Packaged by %s (%s)\n"), PACKAGE_PACKAGER, PACKAGE_PACKAGER_VERSION); # else fprintf (stream, _("Packaged by %s\n"), PACKAGE_PACKAGER); # endif #endif /* TRANSLATORS: Translate "(C)" to the copyright symbol (C-in-a-circle), if this symbol is available in the user's locale. Otherwise, do not translate "(C)"; leave it as-is. */ fprintf (stream, version_etc_copyright, _("(C)"), COPYRIGHT_YEAR); fputs (_("\ \n\ License GPLv3+: GNU GPL version 3 or later .\n\ This is free software: you are free to change and redistribute it.\n\ There is NO WARRANTY, to the extent permitted by law.\n\ \n\ "), stream); switch (n_authors) { case 0: /* The caller must provide at least one author name. */ abort (); case 1: /* TRANSLATORS: %s denotes an author name. */ fprintf (stream, _("Written by %s.\n"), authors[0]); break; case 2: /* TRANSLATORS: Each %s denotes an author name. */ fprintf (stream, _("Written by %s and %s.\n"), authors[0], authors[1]); break; case 3: /* TRANSLATORS: Each %s denotes an author name. */ fprintf (stream, _("Written by %s, %s, and %s.\n"), authors[0], authors[1], authors[2]); break; case 4: /* TRANSLATORS: Each %s denotes an author name. You can use line breaks, estimating that each author name occupies ca. 16 screen columns and that a screen line has ca. 80 columns. */ fprintf (stream, _("Written by %s, %s, %s,\nand %s.\n"), authors[0], authors[1], authors[2], authors[3]); break; case 5: /* TRANSLATORS: Each %s denotes an author name. You can use line breaks, estimating that each author name occupies ca. 16 screen columns and that a screen line has ca. 80 columns. */ fprintf (stream, _("Written by %s, %s, %s,\n%s, and %s.\n"), authors[0], authors[1], authors[2], authors[3], authors[4]); break; case 6: /* TRANSLATORS: Each %s denotes an author name. You can use line breaks, estimating that each author name occupies ca. 16 screen columns and that a screen line has ca. 80 columns. */ fprintf (stream, _("Written by %s, %s, %s,\n%s, %s, and %s.\n"), authors[0], authors[1], authors[2], authors[3], authors[4], authors[5]); break; case 7: /* TRANSLATORS: Each %s denotes an author name. You can use line breaks, estimating that each author name occupies ca. 16 screen columns and that a screen line has ca. 80 columns. */ fprintf (stream, _("Written by %s, %s, %s,\n%s, %s, %s, and %s.\n"), authors[0], authors[1], authors[2], authors[3], authors[4], authors[5], authors[6]); break; case 8: /* TRANSLATORS: Each %s denotes an author name. You can use line breaks, estimating that each author name occupies ca. 16 screen columns and that a screen line has ca. 80 columns. */ fprintf (stream, _("\ Written by %s, %s, %s,\n%s, %s, %s, %s,\nand %s.\n"), authors[0], authors[1], authors[2], authors[3], authors[4], authors[5], authors[6], authors[7]); break; case 9: /* TRANSLATORS: Each %s denotes an author name. You can use line breaks, estimating that each author name occupies ca. 16 screen columns and that a screen line has ca. 80 columns. */ fprintf (stream, _("\ Written by %s, %s, %s,\n%s, %s, %s, %s,\n%s, and %s.\n"), authors[0], authors[1], authors[2], authors[3], authors[4], authors[5], authors[6], authors[7], authors[8]); break; default: /* 10 or more authors. Use an abbreviation, since the human reader will probably not want to read the entire list anyway. */ /* TRANSLATORS: Each %s denotes an author name. You can use line breaks, estimating that each author name occupies ca. 16 screen columns and that a screen line has ca. 80 columns. */ fprintf (stream, _("\ Written by %s, %s, %s,\n%s, %s, %s, %s,\n%s, %s, and others.\n"), authors[0], authors[1], authors[2], authors[3], authors[4], authors[5], authors[6], authors[7], authors[8]); break; } } /* Display the --version information the standard way. See the initial comment to this module, for more information. Author names are given in the NULL-terminated array AUTHORS. */ void version_etc_ar (FILE *stream, const char *command_name, const char *package, const char *version, const char * const * authors) { size_t n_authors; for (n_authors = 0; authors[n_authors]; n_authors++) ; version_etc_arn (stream, command_name, package, version, authors, n_authors); } /* Display the --version information the standard way. See the initial comment to this module, for more information. Author names are given in the NULL-terminated va_list AUTHORS. */ void version_etc_va (FILE *stream, const char *command_name, const char *package, const char *version, va_list authors) { size_t n_authors; const char *authtab[10]; for (n_authors = 0; n_authors < 10 && (authtab[n_authors] = va_arg (authors, const char *)) != NULL; n_authors++) ; version_etc_arn (stream, command_name, package, version, authtab, n_authors); } /* Display the --version information the standard way. If COMMAND_NAME is NULL, the PACKAGE is assumed to be the name of the program. The formats are therefore: PACKAGE VERSION or COMMAND_NAME (PACKAGE) VERSION. The authors names are passed as separate arguments, with an additional NULL argument at the end. */ void version_etc (FILE *stream, const char *command_name, const char *package, const char *version, /* const char *author1, ...*/ ...) { va_list authors; va_start (authors, version); version_etc_va (stream, command_name, package, version, authors); va_end (authors); } void emit_bug_reporting_address (void) { /* TRANSLATORS: The placeholder indicates the bug-reporting address for this package. Please add _another line_ saying "Report translation bugs to <...>\n" with the address for translation bugs (typically your translation team's web or email address). */ printf (_("\nReport bugs to: %s\n"), PACKAGE_BUGREPORT); #ifdef PACKAGE_PACKAGER_BUG_REPORTS printf (_("Report %s bugs to: %s\n"), PACKAGE_PACKAGER, PACKAGE_PACKAGER_BUG_REPORTS); #endif #ifdef PACKAGE_URL printf (_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL); #else printf (_("%s home page: \n"), PACKAGE_NAME, PACKAGE); #endif fputs (_("General help using GNU software: \n"), stdout); } parted-2.3/lib/xstrtol.c0000644000000000000000000001320611370541032012153 00000000000000/* A more useful interface to strtol. Copyright (C) 1995-1996, 1998-2001, 2003-2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ #ifndef __strtol # define __strtol strtol # define __strtol_t long int # define __xstrtol xstrtol # define STRTOL_T_MINIMUM LONG_MIN # define STRTOL_T_MAXIMUM LONG_MAX #endif #include #include "xstrtol.h" /* Some pre-ANSI implementations (e.g. SunOS 4) need stderr defined if assertion checking is enabled. */ #include #include #include #include #include #include #include #include "intprops.h" static strtol_error bkm_scale (__strtol_t *x, int scale_factor) { if (TYPE_SIGNED (__strtol_t) && *x < STRTOL_T_MINIMUM / scale_factor) { *x = STRTOL_T_MINIMUM; return LONGINT_OVERFLOW; } if (STRTOL_T_MAXIMUM / scale_factor < *x) { *x = STRTOL_T_MAXIMUM; return LONGINT_OVERFLOW; } *x *= scale_factor; return LONGINT_OK; } static strtol_error bkm_scale_by_power (__strtol_t *x, int base, int power) { strtol_error err = LONGINT_OK; while (power--) err |= bkm_scale (x, base); return err; } /* FIXME: comment. */ strtol_error __xstrtol (const char *s, char **ptr, int strtol_base, __strtol_t *val, const char *valid_suffixes) { char *t_ptr; char **p; __strtol_t tmp; strtol_error err = LONGINT_OK; assert (0 <= strtol_base && strtol_base <= 36); p = (ptr ? ptr : &t_ptr); if (! TYPE_SIGNED (__strtol_t)) { const char *q = s; unsigned char ch = *q; while (isspace (ch)) ch = *++q; if (ch == '-') return LONGINT_INVALID; } errno = 0; tmp = __strtol (s, p, strtol_base); if (*p == s) { /* If there is no number but there is a valid suffix, assume the number is 1. The string is invalid otherwise. */ if (valid_suffixes && **p && strchr (valid_suffixes, **p)) tmp = 1; else return LONGINT_INVALID; } else if (errno != 0) { if (errno != ERANGE) return LONGINT_INVALID; err = LONGINT_OVERFLOW; } /* Let valid_suffixes == NULL mean `allow any suffix'. */ /* FIXME: update all callers except the ones that allow suffixes after the number, changing last parameter NULL to `""'. */ if (!valid_suffixes) { *val = tmp; return err; } if (**p != '\0') { int base = 1024; int suffixes = 1; strtol_error overflow; if (!strchr (valid_suffixes, **p)) { *val = tmp; return err | LONGINT_INVALID_SUFFIX_CHAR; } if (strchr (valid_suffixes, '0')) { /* The ``valid suffix'' '0' is a special flag meaning that an optional second suffix is allowed, which can change the base. A suffix "B" (e.g. "100MB") stands for a power of 1000, whereas a suffix "iB" (e.g. "100MiB") stands for a power of 1024. If no suffix (e.g. "100M"), assume power-of-1024. */ switch (p[0][1]) { case 'i': if (p[0][2] == 'B') suffixes += 2; break; case 'B': case 'D': /* 'D' is obsolescent */ base = 1000; suffixes++; break; } } switch (**p) { case 'b': overflow = bkm_scale (&tmp, 512); break; case 'B': overflow = bkm_scale (&tmp, 1024); break; case 'c': overflow = 0; break; case 'E': /* exa or exbi */ overflow = bkm_scale_by_power (&tmp, base, 6); break; case 'G': /* giga or gibi */ case 'g': /* 'g' is undocumented; for compatibility only */ overflow = bkm_scale_by_power (&tmp, base, 3); break; case 'k': /* kilo */ case 'K': /* kibi */ overflow = bkm_scale_by_power (&tmp, base, 1); break; case 'M': /* mega or mebi */ case 'm': /* 'm' is undocumented; for compatibility only */ overflow = bkm_scale_by_power (&tmp, base, 2); break; case 'P': /* peta or pebi */ overflow = bkm_scale_by_power (&tmp, base, 5); break; case 'T': /* tera or tebi */ case 't': /* 't' is undocumented; for compatibility only */ overflow = bkm_scale_by_power (&tmp, base, 4); break; case 'w': overflow = bkm_scale (&tmp, 2); break; case 'Y': /* yotta or 2**80 */ overflow = bkm_scale_by_power (&tmp, base, 8); break; case 'Z': /* zetta or 2**70 */ overflow = bkm_scale_by_power (&tmp, base, 7); break; default: *val = tmp; return err | LONGINT_INVALID_SUFFIX_CHAR; } err |= overflow; *p += suffixes; if (**p) err |= LONGINT_INVALID_SUFFIX_CHAR; } *val = tmp; return err; } parted-2.3/lib/calloc.c0000644000000000000000000000341611370541031011672 00000000000000/* calloc() function that is glibc compatible. This wrapper function is required at least on Tru64 UNIX 5.1 and mingw. Copyright (C) 2004-2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* written by Jim Meyering and Bruno Haible */ #include /* Only the AC_FUNC_CALLOC macro defines 'calloc' already in config.h. */ #ifdef calloc # define NEED_CALLOC_GNU # undef calloc #endif /* Specification. */ #include #include /* Call the system's calloc below. */ #undef calloc /* Allocate and zero-fill an NxS-byte block of memory from the heap. If N or S is zero, allocate and zero-fill a 1-byte block. */ void * rpl_calloc (size_t n, size_t s) { void *result; #ifdef NEED_CALLOC_GNU if (n == 0 || s == 0) { n = 1; s = 1; } else { /* Defend against buggy calloc implementations that mishandle size_t overflow. */ size_t bytes = n * s; if (bytes / s != n) { errno = ENOMEM; return NULL; } } #endif result = calloc (n, s); #if !HAVE_CALLOC_POSIX if (result == NULL) errno = ENOMEM; #endif return result; } parted-2.3/lib/memchr.c0000644000000000000000000001334611370541031011713 00000000000000/* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2010 Free Software Foundation, Inc. Based on strlen implementation by Torbjorn Granlund (tege@sics.se), with help from Dan Sahlin (dan@sics.se) and commentary by Jim Blandy (jimb@ai.mit.edu); adaptation to memchr suggested by Dick Karpinski (dick@cca.ucsf.edu), and implemented by Roland McGrath (roland@ai.mit.edu). NOTE: The canonical source of this file is maintained with the GNU C Library. Bugs can be reported to bug-glibc@prep.ai.mit.edu. 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 3 of the License, or any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _LIBC # include #endif #include #include #if defined _LIBC # include #else # define reg_char char #endif #include #if HAVE_BP_SYM_H || defined _LIBC # include #else # define BP_SYM(sym) sym #endif #undef __memchr #ifdef _LIBC # undef memchr #endif #ifndef weak_alias # define __memchr memchr #endif /* Search no more than N bytes of S for C. */ void * __memchr (void const *s, int c_in, size_t n) { /* On 32-bit hardware, choosing longword to be a 32-bit unsigned long instead of a 64-bit uintmax_t tends to give better performance. On 64-bit hardware, unsigned long is generally 64 bits already. Change this typedef to experiment with performance. */ typedef unsigned long int longword; const unsigned char *char_ptr; const longword *longword_ptr; longword repeated_one; longword repeated_c; unsigned reg_char c; c = (unsigned char) c_in; /* Handle the first few bytes by reading one byte at a time. Do this until CHAR_PTR is aligned on a longword boundary. */ for (char_ptr = (const unsigned char *) s; n > 0 && (size_t) char_ptr % sizeof (longword) != 0; --n, ++char_ptr) if (*char_ptr == c) return (void *) char_ptr; longword_ptr = (const longword *) char_ptr; /* All these elucidatory comments refer to 4-byte longwords, but the theory applies equally well to any size longwords. */ /* Compute auxiliary longword values: repeated_one is a value which has a 1 in every byte. repeated_c has c in every byte. */ repeated_one = 0x01010101; repeated_c = c | (c << 8); repeated_c |= repeated_c << 16; if (0xffffffffU < (longword) -1) { repeated_one |= repeated_one << 31 << 1; repeated_c |= repeated_c << 31 << 1; if (8 < sizeof (longword)) { size_t i; for (i = 64; i < sizeof (longword) * 8; i *= 2) { repeated_one |= repeated_one << i; repeated_c |= repeated_c << i; } } } /* Instead of the traditional loop which tests each byte, we will test a longword at a time. The tricky part is testing if *any of the four* bytes in the longword in question are equal to c. We first use an xor with repeated_c. This reduces the task to testing whether *any of the four* bytes in longword1 is zero. We compute tmp = ((longword1 - repeated_one) & ~longword1) & (repeated_one << 7). That is, we perform the following operations: 1. Subtract repeated_one. 2. & ~longword1. 3. & a mask consisting of 0x80 in every byte. Consider what happens in each byte: - If a byte of longword1 is zero, step 1 and 2 transform it into 0xff, and step 3 transforms it into 0x80. A carry can also be propagated to more significant bytes. - If a byte of longword1 is nonzero, let its lowest 1 bit be at position k (0 <= k <= 7); so the lowest k bits are 0. After step 1, the byte ends in a single bit of value 0 and k bits of value 1. After step 2, the result is just k bits of value 1: 2^k - 1. After step 3, the result is 0. And no carry is produced. So, if longword1 has only non-zero bytes, tmp is zero. Whereas if longword1 has a zero byte, call j the position of the least significant zero byte. Then the result has a zero at positions 0, ..., j-1 and a 0x80 at position j. We cannot predict the result at the more significant bytes (positions j+1..3), but it does not matter since we already have a non-zero bit at position 8*j+7. So, the test whether any byte in longword1 is zero is equivalent to testing whether tmp is nonzero. */ while (n >= sizeof (longword)) { longword longword1 = *longword_ptr ^ repeated_c; if ((((longword1 - repeated_one) & ~longword1) & (repeated_one << 7)) != 0) break; longword_ptr++; n -= sizeof (longword); } char_ptr = (const unsigned char *) longword_ptr; /* At this point, we know that either n < sizeof (longword), or one of the sizeof (longword) bytes starting at char_ptr is == c. On little-endian machines, we could determine the first such byte without any further memory accesses, just by looking at the tmp result from the last loop iteration. But this does not work on big-endian machines. Choose code that works in both cases. */ for (; n > 0; --n, ++char_ptr) { if (*char_ptr == c) return (void *) char_ptr; } return NULL; } #ifdef weak_alias weak_alias (__memchr, BP_SYM (memchr)) #endif parted-2.3/lib/realloc.c0000644000000000000000000000450511370541031012056 00000000000000/* realloc() function that is glibc compatible. Copyright (C) 1997, 2003-2004, 2006-2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* written by Jim Meyering and Bruno Haible */ #include /* Only the AC_FUNC_REALLOC macro defines 'realloc' already in config.h. */ #ifdef realloc # define NEED_REALLOC_GNU 1 #endif /* Infer the properties of the system's malloc function. Only the AC_FUNC_MALLOC macro defines 'malloc' already in config.h. */ #if GNULIB_MALLOC_GNU && !defined malloc # define SYSTEM_MALLOC_GLIBC_COMPATIBLE 1 #endif /* Below we want to call the system's malloc and realloc. Undefine the symbols here so that including provides a declaration of malloc(), not of rpl_malloc(), and likewise for realloc. */ #undef malloc #undef realloc /* Specification. */ #include #include /* Below we want to call the system's malloc and realloc. Undefine the symbols, if they were defined by gnulib's replacement. */ #undef malloc #undef realloc /* Change the size of an allocated block of memory P to N bytes, with error checking. If N is zero, change it to 1. If P is NULL, use malloc. */ void * rpl_realloc (void *p, size_t n) { void *result; #if NEED_REALLOC_GNU if (n == 0) { n = 1; /* In theory realloc might fail, so don't rely on it to free. */ free (p); p = NULL; } #endif if (p == NULL) { #if GNULIB_REALLOC_GNU && !NEED_REALLOC_GNU && !SYSTEM_MALLOC_GLIBC_COMPATIBLE if (n == 0) n = 1; #endif result = malloc (n); } else result = realloc (p, n); #if !HAVE_REALLOC_POSIX if (result == NULL) errno = ENOMEM; #endif return result; } parted-2.3/lib/getopt_int.h0000644000000000000000000001174311370541031012620 00000000000000/* Internal declarations for getopt. Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2004, 2009-2010 Free Software Foundation, Inc. This file is part of the GNU C Library. 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _GETOPT_INT_H #define _GETOPT_INT_H 1 #include extern int _getopt_internal (int ___argc, char **___argv, const char *__shortopts, const struct option *__longopts, int *__longind, int __long_only, int __posixly_correct); /* Reentrant versions which can handle parsing multiple argument vectors at the same time. */ /* Describe how to deal with options that follow non-option ARGV-elements. If the caller did not specify anything, the default is REQUIRE_ORDER if the environment variable POSIXLY_CORRECT is defined, PERMUTE otherwise. REQUIRE_ORDER means don't recognize them as options; stop option processing when the first non-option is seen. This is what Unix does. This mode of operation is selected by either setting the environment variable POSIXLY_CORRECT, or using `+' as the first character of the list of option characters, or by calling getopt. PERMUTE is the default. We permute the contents of ARGV as we scan, so that eventually all the non-options are at the end. This allows options to be given in any order, even with programs that were not written to expect this. RETURN_IN_ORDER is an option available to programs that were written to expect options and other ARGV-elements in any order and that care about the ordering of the two. We describe each non-option ARGV-element as if it were the argument of an option with character code 1. Using `-' as the first character of the list of option characters selects this mode of operation. The special argument `--' forces an end of option-scanning regardless of the value of `ordering'. In the case of RETURN_IN_ORDER, only `--' can cause `getopt' to return -1 with `optind' != ARGC. */ enum __ord { REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER }; /* Data type for reentrant functions. */ struct _getopt_data { /* These have exactly the same meaning as the corresponding global variables, except that they are used for the reentrant versions of getopt. */ int optind; int opterr; int optopt; char *optarg; /* Internal members. */ /* True if the internal members have been initialized. */ int __initialized; /* The next char to be scanned in the option-element in which the last option character we returned was found. This allows us to pick up the scan where we left off. If this is zero, or a null string, it means resume the scan by advancing to the next ARGV-element. */ char *__nextchar; /* See __ord above. */ enum __ord __ordering; /* If the POSIXLY_CORRECT environment variable is set or getopt was called. */ int __posixly_correct; /* Handle permutation of arguments. */ /* Describe the part of ARGV that contains non-options that have been skipped. `first_nonopt' is the index in ARGV of the first of them; `last_nonopt' is the index after the last of them. */ int __first_nonopt; int __last_nonopt; #if defined _LIBC && defined USE_NONOPTION_FLAGS int __nonoption_flags_max_len; int __nonoption_flags_len; # endif }; /* The initializer is necessary to set OPTIND and OPTERR to their default values and to clear the initialization flag. */ #define _GETOPT_DATA_INITIALIZER { 1, 1 } extern int _getopt_internal_r (int ___argc, char **___argv, const char *__shortopts, const struct option *__longopts, int *__longind, int __long_only, struct _getopt_data *__data, int __posixly_correct); extern int _getopt_long_r (int ___argc, char **___argv, const char *__shortopts, const struct option *__longopts, int *__longind, struct _getopt_data *__data); extern int _getopt_long_only_r (int ___argc, char **___argv, const char *__shortopts, const struct option *__longopts, int *__longind, struct _getopt_data *__data); #endif /* getopt_int.h */ parted-2.3/lib/verify.h0000644000000000000000000001463611377276065011777 00000000000000/* Compile-time assert-like macros. Copyright (C) 2005-2006, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert, Bruno Haible, and Jim Meyering. */ #ifndef VERIFY_H # define VERIFY_H 1 /* Each of these macros verifies that its argument R is nonzero. To be portable, R should be an integer constant expression. Unlike assert (R), there is no run-time overhead. There are two macros, since no single macro can be used in all contexts in C. verify_true (R) is for scalar contexts, including integer constant expression contexts. verify (R) is for declaration contexts, e.g., the top level. Symbols ending in "__" are private to this header. The code below uses several ideas. * The first step is ((R) ? 1 : -1). Given an expression R, of integral or boolean or floating-point type, this yields an expression of integral type, whose value is later verified to be constant and nonnegative. * Next this expression W is wrapped in a type struct verify_type__ { unsigned int verify_error_if_negative_size__: W; }. If W is negative, this yields a compile-time error. No compiler can deal with a bit-field of negative size. One might think that an array size check would have the same effect, that is, that the type struct { unsigned int dummy[W]; } would work as well. However, inside a function, some compilers (such as C++ compilers and GNU C) allow local parameters and variables inside array size expressions. With these compilers, an array size check would not properly diagnose this misuse of the verify macro: void function (int n) { verify (n < 0); } * For the verify macro, the struct verify_type__ will need to somehow be embedded into a declaration. To be portable, this declaration must declare an object, a constant, a function, or a typedef name. If the declared entity uses the type directly, such as in struct dummy {...}; typedef struct {...} dummy; extern struct {...} *dummy; extern void dummy (struct {...} *); extern struct {...} *dummy (void); two uses of the verify macro would yield colliding declarations if the entity names are not disambiguated. A workaround is to attach the current line number to the entity name: #define _GL_CONCAT0(x, y) x##y #define _GL_CONCAT(x, y) _GL_CONCAT0 (x, y) extern struct {...} * _GL_CONCAT (dummy, __LINE__); But this has the problem that two invocations of verify from within the same macro would collide, since the __LINE__ value would be the same for both invocations. (The GCC __COUNTER__ macro solves this problem, but is not portable.) A solution is to use the sizeof operator. It yields a number, getting rid of the identity of the type. Declarations like extern int dummy [sizeof (struct {...})]; extern void dummy (int [sizeof (struct {...})]); extern int (*dummy (void)) [sizeof (struct {...})]; can be repeated. * Should the implementation use a named struct or an unnamed struct? Which of the following alternatives can be used? extern int dummy [sizeof (struct {...})]; extern int dummy [sizeof (struct verify_type__ {...})]; extern void dummy (int [sizeof (struct {...})]); extern void dummy (int [sizeof (struct verify_type__ {...})]); extern int (*dummy (void)) [sizeof (struct {...})]; extern int (*dummy (void)) [sizeof (struct verify_type__ {...})]; In the second and sixth case, the struct type is exported to the outer scope; two such declarations therefore collide. GCC warns about the first, third, and fourth cases. So the only remaining possibility is the fifth case: extern int (*dummy (void)) [sizeof (struct {...})]; * GCC warns about duplicate declarations of the dummy function if -Wredundant_decls is used. GCC 4.3 and later have a builtin __COUNTER__ macro that can let us generate unique identifiers for each dummy function, to suppress this warning. * This implementation exploits the fact that GCC does not warn about the last declaration mentioned above. If a future version of GCC introduces a warning for this, the problem could be worked around by using code specialized to GCC, just as __COUNTER__ is already being used if available. #if 4 <= __GNUC__ # define verify(R) [another version to keep GCC happy] #endif * In C++, any struct definition inside sizeof is invalid. Use a template type to work around the problem. */ /* Concatenate two preprocessor tokens. */ # define _GL_CONCAT(x, y) _GL_CONCAT0 (x, y) # define _GL_CONCAT0(x, y) x##y /* _GL_COUNTER is an integer, preferably one that changes each time we use it. Use __COUNTER__ if it works, falling back on __LINE__ otherwise. __LINE__ isn't perfect, but it's better than a constant. */ # if defined __COUNTER__ && __COUNTER__ != __COUNTER__ # define _GL_COUNTER __COUNTER__ # else # define _GL_COUNTER __LINE__ # endif /* Generate a symbol with the given prefix, making it unique if possible. */ # define _GL_GENSYM(prefix) _GL_CONCAT (prefix, _GL_COUNTER) /* Verify requirement R at compile-time, as an integer constant expression. Return 1. */ # ifdef __cplusplus template struct verify_type__ { unsigned int verify_error_if_negative_size__: w; }; # define verify_true(R) \ (!!sizeof (verify_type__<(R) ? 1 : -1>)) # else # define verify_true(R) \ (!!sizeof \ (struct { unsigned int verify_error_if_negative_size__: (R) ? 1 : -1; })) # endif /* Verify requirement R at compile-time, as a declaration without a trailing ';'. */ # define verify(R) \ extern int (* _GL_GENSYM (verify_function) (void)) [verify_true (R)] #endif parted-2.3/lib/wchar.in.h0000644000000000000000000003257211370316121012160 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A substitute for ISO C99 , for platforms that have issues. Copyright (C) 2007-2010 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 3, 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. */ /* Written by Eric Blake. */ /* * ISO C 99 for platforms that have issues. * * * For now, this just ensures proper prerequisite inclusion order and * the declaration of wcwidth(). */ #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif #if defined __need_mbstate_t || defined __need_wint_t || (defined __hpux && ((defined _INTTYPES_INCLUDED && !defined strtoimax) || defined _GL_JUST_INCLUDE_SYSTEM_WCHAR_H)) || defined _GL_ALREADY_INCLUDING_WCHAR_H /* Special invocation convention: - Inside glibc and uClibc header files. - On HP-UX 11.00 we have a sequence of nested includes -> -> , and the latter includes , once indirectly -> -> -> and once directly. In both situations 'wint_t' is not yet defined, therefore we cannot provide the function overrides; instead include only the system's . - On IRIX 6.5, similarly, we have an include -> , and the latter includes . But here, we have no way to detect whether is completely included or is still being included. */ #@INCLUDE_NEXT@ @NEXT_WCHAR_H@ #else /* Normal invocation convention. */ #ifndef _GL_WCHAR_H #define _GL_ALREADY_INCLUDING_WCHAR_H /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . But avoid namespace pollution on glibc systems. */ #ifndef __GLIBC__ # include # include # include #endif /* Include the original if it exists. Some builds of uClibc lack it. */ /* The include_next requires a split double-inclusion guard. */ #if @HAVE_WCHAR_H@ # @INCLUDE_NEXT@ @NEXT_WCHAR_H@ #endif #undef _GL_ALREADY_INCLUDING_WCHAR_H #ifndef _GL_WCHAR_H #define _GL_WCHAR_H /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_ARG_NONNULL is copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ /* Define wint_t and WEOF. (Also done in wctype.in.h.) */ #if !@HAVE_WINT_T@ && !defined wint_t # define wint_t int # ifndef WEOF # define WEOF -1 # endif #else # ifndef WEOF # define WEOF ((wint_t) -1) # endif #endif /* Override mbstate_t if it is too small. On IRIX 6.5, sizeof (mbstate_t) == 1, which is not sufficient for implementing mbrtowc for encodings like UTF-8. */ #if !(@HAVE_MBSINIT@ && @HAVE_MBRTOWC@) || @REPLACE_MBSTATE_T@ typedef int rpl_mbstate_t; # undef mbstate_t # define mbstate_t rpl_mbstate_t # define GNULIB_defined_mbstate_t 1 #endif /* Convert a single-byte character to a wide character. */ #if @GNULIB_BTOWC@ # if @REPLACE_BTOWC@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef btowc # define btowc rpl_btowc # endif _GL_FUNCDECL_RPL (btowc, wint_t, (int c)); _GL_CXXALIAS_RPL (btowc, wint_t, (int c)); # else # if !@HAVE_BTOWC@ _GL_FUNCDECL_SYS (btowc, wint_t, (int c)); # endif _GL_CXXALIAS_SYS (btowc, wint_t, (int c)); # endif _GL_CXXALIASWARN (btowc); #elif defined GNULIB_POSIXCHECK # undef btowc # if HAVE_RAW_DECL_BTOWC _GL_WARN_ON_USE (btowc, "btowc is unportable - " "use gnulib module btowc for portability"); # endif #endif /* Convert a wide character to a single-byte character. */ #if @GNULIB_WCTOB@ # if @REPLACE_WCTOB@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef wctob # define wctob rpl_wctob # endif _GL_FUNCDECL_RPL (wctob, int, (wint_t wc)); _GL_CXXALIAS_RPL (wctob, int, (wint_t wc)); # else # if !defined wctob && !@HAVE_DECL_WCTOB@ /* wctob is provided by gnulib, or wctob exists but is not declared. */ _GL_FUNCDECL_SYS (wctob, int, (wint_t wc)); # endif _GL_CXXALIAS_SYS (wctob, int, (wint_t wc)); # endif _GL_CXXALIASWARN (wctob); #elif defined GNULIB_POSIXCHECK # undef wctob # if HAVE_RAW_DECL_WCTOB _GL_WARN_ON_USE (wctob, "wctob is unportable - " "use gnulib module wctob for portability"); # endif #endif /* Test whether *PS is in the initial state. */ #if @GNULIB_MBSINIT@ # if @REPLACE_MBSINIT@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef mbsinit # define mbsinit rpl_mbsinit # endif _GL_FUNCDECL_RPL (mbsinit, int, (const mbstate_t *ps)); _GL_CXXALIAS_RPL (mbsinit, int, (const mbstate_t *ps)); # else # if !@HAVE_MBSINIT@ _GL_FUNCDECL_SYS (mbsinit, int, (const mbstate_t *ps)); # endif _GL_CXXALIAS_SYS (mbsinit, int, (const mbstate_t *ps)); # endif _GL_CXXALIASWARN (mbsinit); #elif defined GNULIB_POSIXCHECK # undef mbsinit # if HAVE_RAW_DECL_MBSINIT _GL_WARN_ON_USE (mbsinit, "mbsinit is unportable - " "use gnulib module mbsinit for portability"); # endif #endif /* Convert a multibyte character to a wide character. */ #if @GNULIB_MBRTOWC@ # if @REPLACE_MBRTOWC@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef mbrtowc # define mbrtowc rpl_mbrtowc # endif _GL_FUNCDECL_RPL (mbrtowc, size_t, (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)); _GL_CXXALIAS_RPL (mbrtowc, size_t, (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)); # else # if !@HAVE_MBRTOWC@ _GL_FUNCDECL_SYS (mbrtowc, size_t, (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)); # endif _GL_CXXALIAS_SYS (mbrtowc, size_t, (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)); # endif _GL_CXXALIASWARN (mbrtowc); #elif defined GNULIB_POSIXCHECK # undef mbrtowc # if HAVE_RAW_DECL_MBRTOWC _GL_WARN_ON_USE (mbrtowc, "mbrtowc is unportable - " "use gnulib module mbrtowc for portability"); # endif #endif /* Recognize a multibyte character. */ #if @GNULIB_MBRLEN@ # if @REPLACE_MBRLEN@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef mbrlen # define mbrlen rpl_mbrlen # endif _GL_FUNCDECL_RPL (mbrlen, size_t, (const char *s, size_t n, mbstate_t *ps)); _GL_CXXALIAS_RPL (mbrlen, size_t, (const char *s, size_t n, mbstate_t *ps)); # else # if !@HAVE_MBRLEN@ _GL_FUNCDECL_SYS (mbrlen, size_t, (const char *s, size_t n, mbstate_t *ps)); # endif _GL_CXXALIAS_SYS (mbrlen, size_t, (const char *s, size_t n, mbstate_t *ps)); # endif _GL_CXXALIASWARN (mbrlen); #elif defined GNULIB_POSIXCHECK # undef mbrlen # if HAVE_RAW_DECL_MBRLEN _GL_WARN_ON_USE (mbrlen, "mbrlen is unportable - " "use gnulib module mbrlen for portability"); # endif #endif /* Convert a string to a wide string. */ #if @GNULIB_MBSRTOWCS@ # if @REPLACE_MBSRTOWCS@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef mbsrtowcs # define mbsrtowcs rpl_mbsrtowcs # endif _GL_FUNCDECL_RPL (mbsrtowcs, size_t, (wchar_t *dest, const char **srcp, size_t len, mbstate_t *ps) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (mbsrtowcs, size_t, (wchar_t *dest, const char **srcp, size_t len, mbstate_t *ps)); # else # if !@HAVE_MBSRTOWCS@ _GL_FUNCDECL_SYS (mbsrtowcs, size_t, (wchar_t *dest, const char **srcp, size_t len, mbstate_t *ps) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (mbsrtowcs, size_t, (wchar_t *dest, const char **srcp, size_t len, mbstate_t *ps)); # endif _GL_CXXALIASWARN (mbsrtowcs); #elif defined GNULIB_POSIXCHECK # undef mbsrtowcs # if HAVE_RAW_DECL_MBSRTOWCS _GL_WARN_ON_USE (mbsrtowcs, "mbsrtowcs is unportable - " "use gnulib module mbsrtowcs for portability"); # endif #endif /* Convert a string to a wide string. */ #if @GNULIB_MBSNRTOWCS@ # if @REPLACE_MBSNRTOWCS@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef mbsnrtowcs # define mbsnrtowcs rpl_mbsnrtowcs # endif _GL_FUNCDECL_RPL (mbsnrtowcs, size_t, (wchar_t *dest, const char **srcp, size_t srclen, size_t len, mbstate_t *ps) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (mbsnrtowcs, size_t, (wchar_t *dest, const char **srcp, size_t srclen, size_t len, mbstate_t *ps)); # else # if !@HAVE_MBSNRTOWCS@ _GL_FUNCDECL_SYS (mbsnrtowcs, size_t, (wchar_t *dest, const char **srcp, size_t srclen, size_t len, mbstate_t *ps) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (mbsnrtowcs, size_t, (wchar_t *dest, const char **srcp, size_t srclen, size_t len, mbstate_t *ps)); # endif _GL_CXXALIASWARN (mbsnrtowcs); #elif defined GNULIB_POSIXCHECK # undef mbsnrtowcs # if HAVE_RAW_DECL_MBSNRTOWCS _GL_WARN_ON_USE (mbsnrtowcs, "mbsnrtowcs is unportable - " "use gnulib module mbsnrtowcs for portability"); # endif #endif /* Convert a wide character to a multibyte character. */ #if @GNULIB_WCRTOMB@ # if @REPLACE_WCRTOMB@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef wcrtomb # define wcrtomb rpl_wcrtomb # endif _GL_FUNCDECL_RPL (wcrtomb, size_t, (char *s, wchar_t wc, mbstate_t *ps)); _GL_CXXALIAS_RPL (wcrtomb, size_t, (char *s, wchar_t wc, mbstate_t *ps)); # else # if !@HAVE_WCRTOMB@ _GL_FUNCDECL_SYS (wcrtomb, size_t, (char *s, wchar_t wc, mbstate_t *ps)); # endif _GL_CXXALIAS_SYS (wcrtomb, size_t, (char *s, wchar_t wc, mbstate_t *ps)); # endif _GL_CXXALIASWARN (wcrtomb); #elif defined GNULIB_POSIXCHECK # undef wcrtomb # if HAVE_RAW_DECL_WCRTOMB _GL_WARN_ON_USE (wcrtomb, "wcrtomb is unportable - " "use gnulib module wcrtomb for portability"); # endif #endif /* Convert a wide string to a string. */ #if @GNULIB_WCSRTOMBS@ # if @REPLACE_WCSRTOMBS@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef wcsrtombs # define wcsrtombs rpl_wcsrtombs # endif _GL_FUNCDECL_RPL (wcsrtombs, size_t, (char *dest, const wchar_t **srcp, size_t len, mbstate_t *ps) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (wcsrtombs, size_t, (char *dest, const wchar_t **srcp, size_t len, mbstate_t *ps)); # else # if !@HAVE_WCSRTOMBS@ _GL_FUNCDECL_SYS (wcsrtombs, size_t, (char *dest, const wchar_t **srcp, size_t len, mbstate_t *ps) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (wcsrtombs, size_t, (char *dest, const wchar_t **srcp, size_t len, mbstate_t *ps)); # endif _GL_CXXALIASWARN (wcsrtombs); #elif defined GNULIB_POSIXCHECK # undef wcsrtombs # if HAVE_RAW_DECL_WCSRTOMBS _GL_WARN_ON_USE (wcsrtombs, "wcsrtombs is unportable - " "use gnulib module wcsrtombs for portability"); # endif #endif /* Convert a wide string to a string. */ #if @GNULIB_WCSNRTOMBS@ # if @REPLACE_WCSNRTOMBS@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef wcsnrtombs # define wcsnrtombs rpl_wcsnrtombs # endif _GL_FUNCDECL_RPL (wcsnrtombs, size_t, (char *dest, const wchar_t **srcp, size_t srclen, size_t len, mbstate_t *ps) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (wcsnrtombs, size_t, (char *dest, const wchar_t **srcp, size_t srclen, size_t len, mbstate_t *ps)); # else # if !@HAVE_WCSNRTOMBS@ _GL_FUNCDECL_SYS (wcsnrtombs, size_t, (char *dest, const wchar_t **srcp, size_t srclen, size_t len, mbstate_t *ps) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (wcsnrtombs, size_t, (char *dest, const wchar_t **srcp, size_t srclen, size_t len, mbstate_t *ps)); # endif _GL_CXXALIASWARN (wcsnrtombs); #elif defined GNULIB_POSIXCHECK # undef wcsnrtombs # if HAVE_RAW_DECL_WCSNRTOMBS _GL_WARN_ON_USE (wcsnrtombs, "wcsnrtombs is unportable - " "use gnulib module wcsnrtombs for portability"); # endif #endif /* Return the number of screen columns needed for WC. */ #if @GNULIB_WCWIDTH@ # if @REPLACE_WCWIDTH@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef wcwidth # define wcwidth rpl_wcwidth # endif _GL_FUNCDECL_RPL (wcwidth, int, (wchar_t)); _GL_CXXALIAS_RPL (wcwidth, int, (wchar_t)); # else # if !@HAVE_DECL_WCWIDTH@ /* wcwidth exists but is not declared. */ _GL_FUNCDECL_SYS (wcwidth, int, (wchar_t)); # endif _GL_CXXALIAS_SYS (wcwidth, int, (wchar_t)); # endif _GL_CXXALIASWARN (wcwidth); #elif defined GNULIB_POSIXCHECK # undef wcwidth # if HAVE_RAW_DECL_WCWIDTH _GL_WARN_ON_USE (wcwidth, "wcwidth is unportable - " "use gnulib module wcwidth for portability"); # endif #endif #endif /* _GL_WCHAR_H */ #endif /* _GL_WCHAR_H */ #endif parted-2.3/lib/argmatch.h0000644000000000000000000000753511370541031012236 00000000000000/* argmatch.h -- definitions and prototypes for argmatch.c Copyright (C) 1990, 1998, 1999, 2001, 2002, 2004, 2005, 2009, 2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by David MacKenzie Modified by Akim Demaille */ #ifndef ARGMATCH_H_ # define ARGMATCH_H_ 1 # include # include "verify.h" # define ARRAY_CARDINALITY(Array) (sizeof (Array) / sizeof *(Array)) /* Assert there are as many real arguments as there are values (argument list ends with a NULL guard). */ # define ARGMATCH_VERIFY(Arglist, Vallist) \ verify (ARRAY_CARDINALITY (Arglist) == ARRAY_CARDINALITY (Vallist) + 1) /* Return the index of the element of ARGLIST (NULL terminated) that matches with ARG. If VALLIST is not NULL, then use it to resolve false ambiguities (i.e., different matches of ARG but corresponding to the same values in VALLIST). */ ptrdiff_t argmatch (char const *arg, char const *const *arglist, char const *vallist, size_t valsize); # define ARGMATCH(Arg, Arglist, Vallist) \ argmatch (Arg, Arglist, (char const *) (Vallist), sizeof *(Vallist)) /* xargmatch calls this function when it fails. This function should not return. By default, this is a function that calls ARGMATCH_DIE which in turn defaults to `exit (exit_failure)'. */ typedef void (*argmatch_exit_fn) (void); extern argmatch_exit_fn argmatch_die; /* Report on stderr why argmatch failed. Report correct values. */ void argmatch_invalid (char const *context, char const *value, ptrdiff_t problem); /* Left for compatibility with the old name invalid_arg */ # define invalid_arg(Context, Value, Problem) \ argmatch_invalid (Context, Value, Problem) /* Report on stderr the list of possible arguments. */ void argmatch_valid (char const *const *arglist, char const *vallist, size_t valsize); # define ARGMATCH_VALID(Arglist, Vallist) \ argmatch_valid (Arglist, (char const *) (Vallist), sizeof *(Vallist)) /* Same as argmatch, but upon failure, reports a explanation on the failure, and exits using the function EXIT_FN. */ ptrdiff_t __xargmatch_internal (char const *context, char const *arg, char const *const *arglist, char const *vallist, size_t valsize, argmatch_exit_fn exit_fn); /* Programmer friendly interface to __xargmatch_internal. */ # define XARGMATCH(Context, Arg, Arglist, Vallist) \ ((Vallist) [__xargmatch_internal (Context, Arg, Arglist, \ (char const *) (Vallist), \ sizeof *(Vallist), \ argmatch_die)]) /* Convert a value into a corresponding argument. */ char const *argmatch_to_argument (char const *value, char const *const *arglist, char const *vallist, size_t valsize); # define ARGMATCH_TO_ARGUMENT(Value, Arglist, Vallist) \ argmatch_to_argument (Value, Arglist, \ (char const *) (Vallist), sizeof *(Vallist)) #endif /* ARGMATCH_H_ */ parted-2.3/lib/dirname.c0000644000000000000000000000226311370541031012053 00000000000000/* dirname.c -- return all but the last element in a file name Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "dirname.h" #include #include #include "xalloc.h" /* Just like mdir_name (dirname-lgpl.c), except, rather than returning NULL upon malloc failure, here, we report the "memory exhausted" condition and exit. */ char * dir_name (char const *file) { char *result = mdir_name (file); if (!result) xalloc_die (); return result; } parted-2.3/lib/stdbool.in.h0000644000000000000000000001201211370316121012505 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Copyright (C) 2001-2003, 2006-2010 Free Software Foundation, Inc. Written by Bruno Haible , 2001. 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 3, 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. */ #ifndef _GL_STDBOOL_H #define _GL_STDBOOL_H /* ISO C 99 for platforms that lack it. */ /* Usage suggestions: Programs that use should be aware of some limitations and standards compliance issues. Standards compliance: - must be #included before 'bool', 'false', 'true' can be used. - You cannot assume that sizeof (bool) == 1. - Programs should not undefine the macros bool, true, and false, as C99 lists that as an "obsolescent feature". Limitations of this substitute, when used in a C89 environment: - must be #included before the '_Bool' type can be used. - You cannot assume that _Bool is a typedef; it might be a macro. - Bit-fields of type 'bool' are not supported. Portable code should use 'unsigned int foo : 1;' rather than 'bool foo : 1;'. - In C99, casts and automatic conversions to '_Bool' or 'bool' are performed in such a way that every nonzero value gets converted to 'true', and zero gets converted to 'false'. This doesn't work with this substitute. With this substitute, only the values 0 and 1 give the expected result when converted to _Bool' or 'bool'. - C99 allows the use of (_Bool)0.0 in constant expressions, but this substitute cannot always provide this property. Also, it is suggested that programs use 'bool' rather than '_Bool'; this isn't required, but 'bool' is more common. */ /* 7.16. Boolean type and values */ /* BeOS already #defines false 0, true 1. We use the same definitions below, but temporarily we have to #undef them. */ #if defined __BEOS__ && !defined __HAIKU__ # include /* defines bool but not _Bool */ # undef false # undef true #endif /* For the sake of symbolic names in gdb, we define true and false as enum constants, not only as macros. It is tempting to write typedef enum { false = 0, true = 1 } _Bool; so that gdb prints values of type 'bool' symbolically. But if we do this, values of type '_Bool' may promote to 'int' or 'unsigned int' (see ISO C 99 6.7.2.2.(4)); however, '_Bool' must promote to 'int' (see ISO C 99 6.3.1.1.(2)). So we add a negative value to the enum; this ensures that '_Bool' promotes to 'int'. */ #if defined __cplusplus || (defined __BEOS__ && !defined __HAIKU__) /* A compiler known to have 'bool'. */ /* If the compiler already has both 'bool' and '_Bool', we can assume they are the same types. */ # if !@HAVE__BOOL@ typedef bool _Bool; # endif #else # if !defined __GNUC__ /* If @HAVE__BOOL@: Some HP-UX cc and AIX IBM C compiler versions have compiler bugs when the built-in _Bool type is used. See http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html Similar bugs are likely with other compilers as well; this file wouldn't be used if was working. So we override the _Bool type. If !@HAVE__BOOL@: Need to define _Bool ourselves. As 'signed char' or as an enum type? Use of a typedef, with SunPRO C, leads to a stupid "warning: _Bool is a keyword in ISO C99". Use of an enum type, with IRIX cc, leads to a stupid "warning(1185): enumerated type mixed with another type". Even the existence of an enum type, without a typedef, "Invalid enumerator. (badenum)" with HP-UX cc on Tru64. The only benefit of the enum, debuggability, is not important with these compilers. So use 'signed char' and no enum. */ # define _Bool signed char # else /* With this compiler, trust the _Bool type if the compiler has it. */ # if !@HAVE__BOOL@ typedef enum { _Bool_must_promote_to_int = -1, false = 0, true = 1 } _Bool; # endif # endif #endif #define bool _Bool /* The other macros must be usable in preprocessor directives. */ #define false 0 #define true 1 #define __bool_true_false_are_defined 1 #endif /* _GL_STDBOOL_H */ parted-2.3/lib/long-options.c0000644000000000000000000000461511370541031013067 00000000000000/* Utility to accept --help and --version options as unobtrusively as possible. Copyright (C) 1993-1994, 1998-2000, 2002-2006, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ #include /* Specification. */ #include "long-options.h" #include #include #include #include #include "version-etc.h" static struct option const long_options[] = { {"help", no_argument, NULL, 'h'}, {"version", no_argument, NULL, 'v'}, {NULL, 0, NULL, 0} }; /* Process long options --help and --version, but only if argc == 2. Be careful not to gobble up `--'. */ void parse_long_options (int argc, char **argv, const char *command_name, const char *package, const char *version, void (*usage_func) (int), /* const char *author1, ...*/ ...) { int c; int saved_opterr; saved_opterr = opterr; /* Don't print an error message for unrecognized options. */ opterr = 0; if (argc == 2 && (c = getopt_long (argc, argv, "+", long_options, NULL)) != -1) { switch (c) { case 'h': (*usage_func) (EXIT_SUCCESS); case 'v': { va_list authors; va_start (authors, usage_func); version_etc_va (stdout, command_name, package, version, authors); exit (0); } default: /* Don't process any other long-named options. */ break; } } /* Restore previous value. */ opterr = saved_opterr; /* Reset this to zero so that getopt internals get initialized from the probably-new parameters when/if getopt is called later. */ optind = 0; } parted-2.3/lib/quote.h0000644000000000000000000000153711370541031011601 00000000000000/* quote.h - prototypes for quote.c Copyright (C) 1998, 1999, 2000, 2001, 2003, 2009, 2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ char const *quote_n (int n, char const *name); char const *quote (char const *name); parted-2.3/lib/malloca.valgrind0000644000000000000000000000025711370541031013431 00000000000000# Suppress a valgrind message about use of uninitialized memory in freea(). # This use is OK because it provides only a speedup. { freea Memcheck:Cond fun:freea } parted-2.3/lib/usleep.c0000644000000000000000000000350311370541032011730 00000000000000/* Pausing execution of the current thread. Copyright (C) 2009, 2010 Free Software Foundation, Inc. Written by Eric Blake , 2009. 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* This file is _intentionally_ light-weight. Rather than using select or nanosleep, both of which drag in external libraries on some platforms, this merely rounds up to the nearest second if usleep() does not exist. If sub-second resolution is important, then use a more powerful interface to begin with. */ #include /* Specification. */ #include #include #ifndef HAVE_USLEEP # define HAVE_USLEEP 0 #endif /* Sleep for MICRO microseconds, which can be greater than 1 second. Return -1 and set errno to EINVAL on range error (about 4295 seconds), or 0 on success. Interaction with SIGALARM is unspecified. */ int usleep (useconds_t micro) { unsigned int seconds = micro / 1000000; if (sizeof seconds < sizeof micro && micro / 1000000 != seconds) { errno = EINVAL; return -1; } if (!HAVE_USLEEP && micro % 1000000) seconds++; while ((seconds = sleep (seconds)) != 0); #undef usleep #if !HAVE_USLEEP # define usleep(x) 0 #endif return usleep (micro % 1000000); } parted-2.3/lib/errno.in.h0000644000000000000000000001115011333760253012176 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A POSIX-like . Copyright (C) 2008-2010 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 3, 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. */ #ifndef _GL_ERRNO_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_ERRNO_H@ #ifndef _GL_ERRNO_H #define _GL_ERRNO_H /* On native Windows platforms, many macros are not defined. */ # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* POSIX says that EAGAIN and EWOULDBLOCK may have the same value. */ # define EWOULDBLOCK EAGAIN /* Values >= 100 seem safe to use. */ # define ETXTBSY 100 # define GNULIB_defined_ETXTBSY 1 /* These are intentionally the same values as the WSA* error numbers, defined in . */ # define EINPROGRESS 10036 # define EALREADY 10037 # define ENOTSOCK 10038 # define EDESTADDRREQ 10039 # define EMSGSIZE 10040 # define EPROTOTYPE 10041 # define ENOPROTOOPT 10042 # define EPROTONOSUPPORT 10043 # define ESOCKTNOSUPPORT 10044 /* not required by POSIX */ # define EOPNOTSUPP 10045 # define EPFNOSUPPORT 10046 /* not required by POSIX */ # define EAFNOSUPPORT 10047 # define EADDRINUSE 10048 # define EADDRNOTAVAIL 10049 # define ENETDOWN 10050 # define ENETUNREACH 10051 # define ENETRESET 10052 # define ECONNABORTED 10053 # define ECONNRESET 10054 # define ENOBUFS 10055 # define EISCONN 10056 # define ENOTCONN 10057 # define ESHUTDOWN 10058 /* not required by POSIX */ # define ETOOMANYREFS 10059 /* not required by POSIX */ # define ETIMEDOUT 10060 # define ECONNREFUSED 10061 # define ELOOP 10062 # define EHOSTDOWN 10064 /* not required by POSIX */ # define EHOSTUNREACH 10065 # define EPROCLIM 10067 /* not required by POSIX */ # define EUSERS 10068 /* not required by POSIX */ # define EDQUOT 10069 # define ESTALE 10070 # define EREMOTE 10071 /* not required by POSIX */ # define GNULIB_defined_ESOCK 1 # endif /* On OSF/1 5.1, when _XOPEN_SOURCE_EXTENDED is not defined, the macros EMULTIHOP, ENOLINK, EOVERFLOW are not defined. */ # if @EMULTIHOP_HIDDEN@ # define EMULTIHOP @EMULTIHOP_VALUE@ # define GNULIB_defined_EMULTIHOP 1 # endif # if @ENOLINK_HIDDEN@ # define ENOLINK @ENOLINK_VALUE@ # define GNULIB_defined_ENOLINK 1 # endif # if @EOVERFLOW_HIDDEN@ # define EOVERFLOW @EOVERFLOW_VALUE@ # define GNULIB_defined_EOVERFLOW 1 # endif /* On OpenBSD 4.0 and on native Windows, the macros ENOMSG, EIDRM, ENOLINK, EPROTO, EMULTIHOP, EBADMSG, EOVERFLOW, ENOTSUP, ECANCELED are not defined. Define them here. Values >= 2000 seem safe to use: Solaris ESTALE = 151, HP-UX EWOULDBLOCK = 246, IRIX EDQUOT = 1133. Note: When one of these systems defines some of these macros some day, binaries will have to be recompiled so that they recognizes the new errno values from the system. */ # ifndef ENOMSG # define ENOMSG 2000 # define GNULIB_defined_ENOMSG 1 # endif # ifndef EIDRM # define EIDRM 2001 # define GNULIB_defined_EIDRM 1 # endif # ifndef ENOLINK # define ENOLINK 2002 # define GNULIB_defined_ENOLINK 1 # endif # ifndef EPROTO # define EPROTO 2003 # define GNULIB_defined_EPROTO 1 # endif # ifndef EMULTIHOP # define EMULTIHOP 2004 # define GNULIB_defined_EMULTIHOP 1 # endif # ifndef EBADMSG # define EBADMSG 2005 # define GNULIB_defined_EBADMSG 1 # endif # ifndef EOVERFLOW # define EOVERFLOW 2006 # define GNULIB_defined_EOVERFLOW 1 # endif # ifndef ENOTSUP # define ENOTSUP 2007 # define GNULIB_defined_ENOTSUP 1 # endif # ifndef ESTALE # define ESTALE 2009 # define GNULIB_defined_ESTALE 1 # endif # ifndef ECANCELED # define ECANCELED 2008 # define GNULIB_defined_ECANCELED 1 # endif #endif /* _GL_ERRNO_H */ #endif /* _GL_ERRNO_H */ parted-2.3/lib/Makefile.am0000644000000000000000000000002211035473300012314 00000000000000include gnulib.mk parted-2.3/lib/rpmatch.c0000644000000000000000000001366711370541031012104 00000000000000/* Determine whether string value is affirmation or negative response according to current locale's data. Copyright (C) 1996, 1998, 2000, 2002-2003, 2006-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include #include #include #if ENABLE_NLS # include # include # include # if HAVE_LANGINFO_YESEXPR # include # endif # include # include "gettext.h" # define _(msgid) gettext (msgid) # define N_(msgid) gettext_noop (msgid) # if HAVE_LANGINFO_YESEXPR /* Return the localized regular expression pattern corresponding to ENGLISH_PATTERN. NL_INDEX can be used with nl_langinfo. The resulting string may only be used until the next nl_langinfo call. */ static const char * localized_pattern (const char *english_pattern, nl_item nl_index, bool posixly_correct) { const char *translated_pattern; /* We prefer to get the patterns from a PO file. It would be possible to always use nl_langinfo (YESEXPR) instead of _("^[yY]"), and nl_langinfo (NOEXPR) instead of _("^[nN]"), if we could assume that the system's locale support is good. But this is not the case e.g. on Cygwin. The localizations of gnulib.pot are of better quality in general. Also, if we use locale info from non-free systems that don't have a 'localedef' command, we deprive the users of the freedom to localize this pattern for their preferred language. But some programs, such as 'cp', 'mv', 'rm', 'find', 'xargs', are specified by POSIX to use nl_langinfo (YESEXPR). We implement this behaviour if POSIXLY_CORRECT is set, for the sake of these programs. */ /* If the user wants strict POSIX compliance, use nl_langinfo. */ if (posixly_correct) { translated_pattern = nl_langinfo (nl_index); /* Check against a broken system return value. */ if (translated_pattern != NULL && translated_pattern[0] != '\0') return translated_pattern; } /* Look in the gnulib message catalog. */ translated_pattern = _(english_pattern); if (translated_pattern == english_pattern) { /* The gnulib message catalog provides no translation. Try the system's message catalog. */ translated_pattern = nl_langinfo (nl_index); /* Check against a broken system return value. */ if (translated_pattern != NULL && translated_pattern[0] != '\0') return translated_pattern; /* Fall back to English. */ translated_pattern = english_pattern; } return translated_pattern; } # else # define localized_pattern(english_pattern,nl_index,posixly_correct) \ _(english_pattern) # endif static int try (const char *response, const char *pattern, char **lastp, regex_t *re) { if (*lastp == NULL || strcmp (pattern, *lastp) != 0) { char *safe_pattern; /* The pattern has changed. */ if (*lastp != NULL) { /* Free the old compiled pattern. */ regfree (re); free (*lastp); *lastp = NULL; } /* Put the PATTERN into safe memory before calling regcomp. (regcomp may call nl_langinfo, overwriting PATTERN's storage. */ safe_pattern = strdup (pattern); if (safe_pattern == NULL) return -1; /* Compile the pattern and cache it for future runs. */ if (regcomp (re, safe_pattern, REG_EXTENDED) != 0) return -1; *lastp = safe_pattern; } /* See if the regular expression matches RESPONSE. */ return regexec (re, response, 0, NULL, 0) == 0; } #endif int rpmatch (const char *response) { #if ENABLE_NLS /* Match against one of the response patterns, compiling the pattern first if necessary. */ /* We cache the response patterns and compiled regexps here. */ static char *last_yesexpr, *last_noexpr; static regex_t cached_yesre, cached_nore; # if HAVE_LANGINFO_YESEXPR bool posixly_correct = (getenv ("POSIXLY_CORRECT") != NULL); # endif const char *yesexpr, *noexpr; int result; /* TRANSLATORS: A regular expression testing for an affirmative answer (english: "yes"). Testing the first character may be sufficient. Take care to consider upper and lower case. To enquire the regular expression that your system uses for this purpose, you can use the command locale -k LC_MESSAGES | grep '^yesexpr=' */ yesexpr = localized_pattern (N_("^[yY]"), YESEXPR, posixly_correct); result = try (response, yesexpr, &last_yesexpr, &cached_yesre); if (result < 0) return -1; if (result) return 1; /* TRANSLATORS: A regular expression testing for a negative answer (english: "no"). Testing the first character may be sufficient. Take care to consider upper and lower case. To enquire the regular expression that your system uses for this purpose, you can use the command locale -k LC_MESSAGES | grep '^noexpr=' */ noexpr = localized_pattern (N_("^[nN]"), NOEXPR, posixly_correct); result = try (response, noexpr, &last_noexpr, &cached_nore); if (result < 0) return -1; if (result) return 0; return -1; #else /* Test against "^[yY]" and "^[nN]", hardcoded to avoid requiring regex */ return (*response == 'y' || *response == 'Y' ? 1 : *response == 'n' || *response == 'N' ? 0 : -1); #endif } parted-2.3/lib/getopt1.c0000644000000000000000000001062711370541031012022 00000000000000/* getopt_long and getopt_long_only entry points for GNU getopt. Copyright (C) 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1996, 1997, 1998, 2004, 2006, 2009, 2010 Free Software Foundation, Inc. This file is part of the GNU C Library. 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifdef _LIBC # include #else # include # include "getopt.h" #endif #include "getopt_int.h" #include /* This needs to come after some library #include to get __GNU_LIBRARY__ defined. */ #ifdef __GNU_LIBRARY__ #include #endif #ifndef NULL #define NULL 0 #endif int getopt_long (int argc, char *__getopt_argv_const *argv, const char *options, const struct option *long_options, int *opt_index) { return _getopt_internal (argc, (char **) argv, options, long_options, opt_index, 0, 0); } int _getopt_long_r (int argc, char **argv, const char *options, const struct option *long_options, int *opt_index, struct _getopt_data *d) { return _getopt_internal_r (argc, argv, options, long_options, opt_index, 0, d, 0); } /* Like getopt_long, but '-' as well as '--' can indicate a long option. If an option that starts with '-' (not '--') doesn't match a long option, but does match a short option, it is parsed as a short option instead. */ int getopt_long_only (int argc, char *__getopt_argv_const *argv, const char *options, const struct option *long_options, int *opt_index) { return _getopt_internal (argc, (char **) argv, options, long_options, opt_index, 1, 0); } int _getopt_long_only_r (int argc, char **argv, const char *options, const struct option *long_options, int *opt_index, struct _getopt_data *d) { return _getopt_internal_r (argc, argv, options, long_options, opt_index, 1, d, 0); } #ifdef TEST #include int main (int argc, char **argv) { int c; int digit_optind = 0; while (1) { int this_option_optind = optind ? optind : 1; int option_index = 0; static const struct option long_options[] = { {"add", 1, 0, 0}, {"append", 0, 0, 0}, {"delete", 1, 0, 0}, {"verbose", 0, 0, 0}, {"create", 0, 0, 0}, {"file", 1, 0, 0}, {0, 0, 0, 0} }; c = getopt_long (argc, argv, "abc:d:0123456789", long_options, &option_index); if (c == -1) break; switch (c) { case 0: printf ("option %s", long_options[option_index].name); if (optarg) printf (" with arg %s", optarg); printf ("\n"); break; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': if (digit_optind != 0 && digit_optind != this_option_optind) printf ("digits occur in two different argv-elements.\n"); digit_optind = this_option_optind; printf ("option %c\n", c); break; case 'a': printf ("option a\n"); break; case 'b': printf ("option b\n"); break; case 'c': printf ("option c with value `%s'\n", optarg); break; case 'd': printf ("option d with value `%s'\n", optarg); break; case '?': break; default: printf ("?? getopt returned character code 0%o ??\n", c); } } if (optind < argc) { printf ("non-option ARGV-elements: "); while (optind < argc) printf ("%s ", argv[optind++]); printf ("\n"); } exit (0); } #endif /* TEST */ parted-2.3/lib/progname.c0000644000000000000000000000615011370541031012243 00000000000000/* Program name management. Copyright (C) 2001-2003, 2005-2010 Free Software Foundation, Inc. Written by Bruno Haible , 2001. 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #undef ENABLE_RELOCATABLE /* avoid defining set_program_name as a macro */ #include "progname.h" #include /* get program_invocation_name declaration */ #include #include #include /* String containing name the program is called with. To be initialized by main(). */ const char *program_name = NULL; /* Set program_name, based on argv[0]. argv0 must be a string allocated with indefinite extent, and must not be modified after this call. */ void set_program_name (const char *argv0) { /* libtool creates a temporary executable whose name is sometimes prefixed with "lt-" (depends on the platform). It also makes argv[0] absolute. But the name of the temporary executable is a detail that should not be visible to the end user and to the test suite. Remove this "/.libs/" or "/.libs/lt-" prefix here. */ const char *slash; const char *base; /* Sanity check. POSIX requires the invoking process to pass a non-NULL argv[0]. */ if (argv0 == NULL) { /* It's a bug in the invoking program. Help diagnosing it. */ fputs ("A NULL argv[0] was passed through an exec system call.\n", stderr); abort (); } slash = strrchr (argv0, '/'); base = (slash != NULL ? slash + 1 : argv0); if (base - argv0 >= 7 && strncmp (base - 7, "/.libs/", 7) == 0) { argv0 = base; if (strncmp (base, "lt-", 3) == 0) { argv0 = base + 3; /* On glibc systems, remove the "lt-" prefix from the variable program_invocation_short_name. */ #if HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME program_invocation_short_name = (char *) argv0; #endif } } /* But don't strip off a leading / in general, because when the user runs /some/hidden/place/bin/cp foo foo he should get the error message /some/hidden/place/bin/cp: `foo' and `foo' are the same file not cp: `foo' and `foo' are the same file */ program_name = argv0; /* On glibc systems, the error() function comes from libc and uses the variable program_invocation_name, not program_name. So set this variable as well. */ #if HAVE_DECL_PROGRAM_INVOCATION_NAME program_invocation_name = (char *) argv0; #endif } parted-2.3/lib/regex_internal.c0000644000000000000000000013655211333760254013464 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Extended regular expression matching and search library. Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa . 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 3, 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. */ static void re_string_construct_common (const char *str, Idx len, re_string_t *pstr, RE_TRANSLATE_TYPE trans, bool icase, const re_dfa_t *dfa) internal_function; static re_dfastate_t *create_ci_newstate (const re_dfa_t *dfa, const re_node_set *nodes, re_hashval_t hash) internal_function; static re_dfastate_t *create_cd_newstate (const re_dfa_t *dfa, const re_node_set *nodes, unsigned int context, re_hashval_t hash) internal_function; /* Functions for string operation. */ /* This function allocate the buffers. It is necessary to call re_string_reconstruct before using the object. */ static reg_errcode_t internal_function __attribute_warn_unused_result__ re_string_allocate (re_string_t *pstr, const char *str, Idx len, Idx init_len, RE_TRANSLATE_TYPE trans, bool icase, const re_dfa_t *dfa) { reg_errcode_t ret; Idx init_buf_len; /* Ensure at least one character fits into the buffers. */ if (init_len < dfa->mb_cur_max) init_len = dfa->mb_cur_max; init_buf_len = (len + 1 < init_len) ? len + 1: init_len; re_string_construct_common (str, len, pstr, trans, icase, dfa); ret = re_string_realloc_buffers (pstr, init_buf_len); if (BE (ret != REG_NOERROR, 0)) return ret; pstr->word_char = dfa->word_char; pstr->word_ops_used = dfa->word_ops_used; pstr->mbs = pstr->mbs_allocated ? pstr->mbs : (unsigned char *) str; pstr->valid_len = (pstr->mbs_allocated || dfa->mb_cur_max > 1) ? 0 : len; pstr->valid_raw_len = pstr->valid_len; return REG_NOERROR; } /* This function allocate the buffers, and initialize them. */ static reg_errcode_t internal_function __attribute_warn_unused_result__ re_string_construct (re_string_t *pstr, const char *str, Idx len, RE_TRANSLATE_TYPE trans, bool icase, const re_dfa_t *dfa) { reg_errcode_t ret; memset (pstr, '\0', sizeof (re_string_t)); re_string_construct_common (str, len, pstr, trans, icase, dfa); if (len > 0) { ret = re_string_realloc_buffers (pstr, len + 1); if (BE (ret != REG_NOERROR, 0)) return ret; } pstr->mbs = pstr->mbs_allocated ? pstr->mbs : (unsigned char *) str; if (icase) { #ifdef RE_ENABLE_I18N if (dfa->mb_cur_max > 1) { while (1) { ret = build_wcs_upper_buffer (pstr); if (BE (ret != REG_NOERROR, 0)) return ret; if (pstr->valid_raw_len >= len) break; if (pstr->bufs_len > pstr->valid_len + dfa->mb_cur_max) break; ret = re_string_realloc_buffers (pstr, pstr->bufs_len * 2); if (BE (ret != REG_NOERROR, 0)) return ret; } } else #endif /* RE_ENABLE_I18N */ build_upper_buffer (pstr); } else { #ifdef RE_ENABLE_I18N if (dfa->mb_cur_max > 1) build_wcs_buffer (pstr); else #endif /* RE_ENABLE_I18N */ { if (trans != NULL) re_string_translate_buffer (pstr); else { pstr->valid_len = pstr->bufs_len; pstr->valid_raw_len = pstr->bufs_len; } } } return REG_NOERROR; } /* Helper functions for re_string_allocate, and re_string_construct. */ static reg_errcode_t internal_function __attribute_warn_unused_result__ re_string_realloc_buffers (re_string_t *pstr, Idx new_buf_len) { #ifdef RE_ENABLE_I18N if (pstr->mb_cur_max > 1) { wint_t *new_wcs; /* Avoid overflow. */ size_t max_object_size = MAX (sizeof (wint_t), sizeof (Idx)); if (BE (SIZE_MAX / max_object_size < new_buf_len, 0)) return REG_ESPACE; new_wcs = re_realloc (pstr->wcs, wint_t, new_buf_len); if (BE (new_wcs == NULL, 0)) return REG_ESPACE; pstr->wcs = new_wcs; if (pstr->offsets != NULL) { Idx *new_offsets = re_realloc (pstr->offsets, Idx, new_buf_len); if (BE (new_offsets == NULL, 0)) return REG_ESPACE; pstr->offsets = new_offsets; } } #endif /* RE_ENABLE_I18N */ if (pstr->mbs_allocated) { unsigned char *new_mbs = re_realloc (pstr->mbs, unsigned char, new_buf_len); if (BE (new_mbs == NULL, 0)) return REG_ESPACE; pstr->mbs = new_mbs; } pstr->bufs_len = new_buf_len; return REG_NOERROR; } static void internal_function re_string_construct_common (const char *str, Idx len, re_string_t *pstr, RE_TRANSLATE_TYPE trans, bool icase, const re_dfa_t *dfa) { pstr->raw_mbs = (const unsigned char *) str; pstr->len = len; pstr->raw_len = len; pstr->trans = trans; pstr->icase = icase; pstr->mbs_allocated = (trans != NULL || icase); pstr->mb_cur_max = dfa->mb_cur_max; pstr->is_utf8 = dfa->is_utf8; pstr->map_notascii = dfa->map_notascii; pstr->stop = pstr->len; pstr->raw_stop = pstr->stop; } #ifdef RE_ENABLE_I18N /* Build wide character buffer PSTR->WCS. If the byte sequence of the string are: (0), (1), (0), (1), Then wide character buffer will be: , WEOF , , WEOF , We use WEOF for padding, they indicate that the position isn't a first byte of a multibyte character. Note that this function assumes PSTR->VALID_LEN elements are already built and starts from PSTR->VALID_LEN. */ static void internal_function build_wcs_buffer (re_string_t *pstr) { #ifdef _LIBC unsigned char buf[MB_LEN_MAX]; assert (MB_LEN_MAX >= pstr->mb_cur_max); #else unsigned char buf[64]; #endif mbstate_t prev_st; Idx byte_idx, end_idx, remain_len; size_t mbclen; /* Build the buffers from pstr->valid_len to either pstr->len or pstr->bufs_len. */ end_idx = (pstr->bufs_len > pstr->len) ? pstr->len : pstr->bufs_len; for (byte_idx = pstr->valid_len; byte_idx < end_idx;) { wchar_t wc; const char *p; remain_len = end_idx - byte_idx; prev_st = pstr->cur_state; /* Apply the translation if we need. */ if (BE (pstr->trans != NULL, 0)) { int i, ch; for (i = 0; i < pstr->mb_cur_max && i < remain_len; ++i) { ch = pstr->raw_mbs [pstr->raw_mbs_idx + byte_idx + i]; buf[i] = pstr->mbs[byte_idx + i] = pstr->trans[ch]; } p = (const char *) buf; } else p = (const char *) pstr->raw_mbs + pstr->raw_mbs_idx + byte_idx; mbclen = __mbrtowc (&wc, p, remain_len, &pstr->cur_state); if (BE (mbclen == (size_t) -2, 0)) { /* The buffer doesn't have enough space, finish to build. */ pstr->cur_state = prev_st; break; } else if (BE (mbclen == (size_t) -1 || mbclen == 0, 0)) { /* We treat these cases as a singlebyte character. */ mbclen = 1; wc = (wchar_t) pstr->raw_mbs[pstr->raw_mbs_idx + byte_idx]; if (BE (pstr->trans != NULL, 0)) wc = pstr->trans[wc]; pstr->cur_state = prev_st; } /* Write wide character and padding. */ pstr->wcs[byte_idx++] = wc; /* Write paddings. */ for (remain_len = byte_idx + mbclen - 1; byte_idx < remain_len ;) pstr->wcs[byte_idx++] = WEOF; } pstr->valid_len = byte_idx; pstr->valid_raw_len = byte_idx; } /* Build wide character buffer PSTR->WCS like build_wcs_buffer, but for REG_ICASE. */ static reg_errcode_t internal_function __attribute_warn_unused_result__ build_wcs_upper_buffer (re_string_t *pstr) { mbstate_t prev_st; Idx src_idx, byte_idx, end_idx, remain_len; size_t mbclen; #ifdef _LIBC char buf[MB_LEN_MAX]; assert (MB_LEN_MAX >= pstr->mb_cur_max); #else char buf[64]; #endif byte_idx = pstr->valid_len; end_idx = (pstr->bufs_len > pstr->len) ? pstr->len : pstr->bufs_len; /* The following optimization assumes that ASCII characters can be mapped to wide characters with a simple cast. */ if (! pstr->map_notascii && pstr->trans == NULL && !pstr->offsets_needed) { while (byte_idx < end_idx) { wchar_t wc; if (isascii (pstr->raw_mbs[pstr->raw_mbs_idx + byte_idx]) && mbsinit (&pstr->cur_state)) { /* In case of a singlebyte character. */ pstr->mbs[byte_idx] = toupper (pstr->raw_mbs[pstr->raw_mbs_idx + byte_idx]); /* The next step uses the assumption that wchar_t is encoded ASCII-safe: all ASCII values can be converted like this. */ pstr->wcs[byte_idx] = (wchar_t) pstr->mbs[byte_idx]; ++byte_idx; continue; } remain_len = end_idx - byte_idx; prev_st = pstr->cur_state; mbclen = __mbrtowc (&wc, ((const char *) pstr->raw_mbs + pstr->raw_mbs_idx + byte_idx), remain_len, &pstr->cur_state); if (BE (mbclen < (size_t) -2, 1)) { wchar_t wcu = wc; if (iswlower (wc)) { size_t mbcdlen; wcu = towupper (wc); mbcdlen = wcrtomb (buf, wcu, &prev_st); if (BE (mbclen == mbcdlen, 1)) memcpy (pstr->mbs + byte_idx, buf, mbclen); else { src_idx = byte_idx; goto offsets_needed; } } else memcpy (pstr->mbs + byte_idx, pstr->raw_mbs + pstr->raw_mbs_idx + byte_idx, mbclen); pstr->wcs[byte_idx++] = wcu; /* Write paddings. */ for (remain_len = byte_idx + mbclen - 1; byte_idx < remain_len ;) pstr->wcs[byte_idx++] = WEOF; } else if (mbclen == (size_t) -1 || mbclen == 0) { /* It is an invalid character or '\0'. Just use the byte. */ int ch = pstr->raw_mbs[pstr->raw_mbs_idx + byte_idx]; pstr->mbs[byte_idx] = ch; /* And also cast it to wide char. */ pstr->wcs[byte_idx++] = (wchar_t) ch; if (BE (mbclen == (size_t) -1, 0)) pstr->cur_state = prev_st; } else { /* The buffer doesn't have enough space, finish to build. */ pstr->cur_state = prev_st; break; } } pstr->valid_len = byte_idx; pstr->valid_raw_len = byte_idx; return REG_NOERROR; } else for (src_idx = pstr->valid_raw_len; byte_idx < end_idx;) { wchar_t wc; const char *p; offsets_needed: remain_len = end_idx - byte_idx; prev_st = pstr->cur_state; if (BE (pstr->trans != NULL, 0)) { int i, ch; for (i = 0; i < pstr->mb_cur_max && i < remain_len; ++i) { ch = pstr->raw_mbs [pstr->raw_mbs_idx + src_idx + i]; buf[i] = pstr->trans[ch]; } p = (const char *) buf; } else p = (const char *) pstr->raw_mbs + pstr->raw_mbs_idx + src_idx; mbclen = __mbrtowc (&wc, p, remain_len, &pstr->cur_state); if (BE (mbclen < (size_t) -2, 1)) { wchar_t wcu = wc; if (iswlower (wc)) { size_t mbcdlen; wcu = towupper (wc); mbcdlen = wcrtomb ((char *) buf, wcu, &prev_st); if (BE (mbclen == mbcdlen, 1)) memcpy (pstr->mbs + byte_idx, buf, mbclen); else if (mbcdlen != (size_t) -1) { size_t i; if (byte_idx + mbcdlen > pstr->bufs_len) { pstr->cur_state = prev_st; break; } if (pstr->offsets == NULL) { pstr->offsets = re_malloc (Idx, pstr->bufs_len); if (pstr->offsets == NULL) return REG_ESPACE; } if (!pstr->offsets_needed) { for (i = 0; i < (size_t) byte_idx; ++i) pstr->offsets[i] = i; pstr->offsets_needed = 1; } memcpy (pstr->mbs + byte_idx, buf, mbcdlen); pstr->wcs[byte_idx] = wcu; pstr->offsets[byte_idx] = src_idx; for (i = 1; i < mbcdlen; ++i) { pstr->offsets[byte_idx + i] = src_idx + (i < mbclen ? i : mbclen - 1); pstr->wcs[byte_idx + i] = WEOF; } pstr->len += mbcdlen - mbclen; if (pstr->raw_stop > src_idx) pstr->stop += mbcdlen - mbclen; end_idx = (pstr->bufs_len > pstr->len) ? pstr->len : pstr->bufs_len; byte_idx += mbcdlen; src_idx += mbclen; continue; } else memcpy (pstr->mbs + byte_idx, p, mbclen); } else memcpy (pstr->mbs + byte_idx, p, mbclen); if (BE (pstr->offsets_needed != 0, 0)) { size_t i; for (i = 0; i < mbclen; ++i) pstr->offsets[byte_idx + i] = src_idx + i; } src_idx += mbclen; pstr->wcs[byte_idx++] = wcu; /* Write paddings. */ for (remain_len = byte_idx + mbclen - 1; byte_idx < remain_len ;) pstr->wcs[byte_idx++] = WEOF; } else if (mbclen == (size_t) -1 || mbclen == 0) { /* It is an invalid character or '\0'. Just use the byte. */ int ch = pstr->raw_mbs[pstr->raw_mbs_idx + src_idx]; if (BE (pstr->trans != NULL, 0)) ch = pstr->trans [ch]; pstr->mbs[byte_idx] = ch; if (BE (pstr->offsets_needed != 0, 0)) pstr->offsets[byte_idx] = src_idx; ++src_idx; /* And also cast it to wide char. */ pstr->wcs[byte_idx++] = (wchar_t) ch; if (BE (mbclen == (size_t) -1, 0)) pstr->cur_state = prev_st; } else { /* The buffer doesn't have enough space, finish to build. */ pstr->cur_state = prev_st; break; } } pstr->valid_len = byte_idx; pstr->valid_raw_len = src_idx; return REG_NOERROR; } /* Skip characters until the index becomes greater than NEW_RAW_IDX. Return the index. */ static Idx internal_function re_string_skip_chars (re_string_t *pstr, Idx new_raw_idx, wint_t *last_wc) { mbstate_t prev_st; Idx rawbuf_idx; size_t mbclen; wint_t wc = WEOF; /* Skip the characters which are not necessary to check. */ for (rawbuf_idx = pstr->raw_mbs_idx + pstr->valid_raw_len; rawbuf_idx < new_raw_idx;) { wchar_t wc2; Idx remain_len; remain_len = pstr->len - rawbuf_idx; prev_st = pstr->cur_state; mbclen = __mbrtowc (&wc2, (const char *) pstr->raw_mbs + rawbuf_idx, remain_len, &pstr->cur_state); if (BE (mbclen == (size_t) -2 || mbclen == (size_t) -1 || mbclen == 0, 0)) { /* We treat these cases as a single byte character. */ if (mbclen == 0 || remain_len == 0) wc = L'\0'; else wc = *(unsigned char *) (pstr->raw_mbs + rawbuf_idx); mbclen = 1; pstr->cur_state = prev_st; } else wc = wc2; /* Then proceed the next character. */ rawbuf_idx += mbclen; } *last_wc = wc; return rawbuf_idx; } #endif /* RE_ENABLE_I18N */ /* Build the buffer PSTR->MBS, and apply the translation if we need. This function is used in case of REG_ICASE. */ static void internal_function build_upper_buffer (re_string_t *pstr) { Idx char_idx, end_idx; end_idx = (pstr->bufs_len > pstr->len) ? pstr->len : pstr->bufs_len; for (char_idx = pstr->valid_len; char_idx < end_idx; ++char_idx) { int ch = pstr->raw_mbs[pstr->raw_mbs_idx + char_idx]; if (BE (pstr->trans != NULL, 0)) ch = pstr->trans[ch]; if (islower (ch)) pstr->mbs[char_idx] = toupper (ch); else pstr->mbs[char_idx] = ch; } pstr->valid_len = char_idx; pstr->valid_raw_len = char_idx; } /* Apply TRANS to the buffer in PSTR. */ static void internal_function re_string_translate_buffer (re_string_t *pstr) { Idx buf_idx, end_idx; end_idx = (pstr->bufs_len > pstr->len) ? pstr->len : pstr->bufs_len; for (buf_idx = pstr->valid_len; buf_idx < end_idx; ++buf_idx) { int ch = pstr->raw_mbs[pstr->raw_mbs_idx + buf_idx]; pstr->mbs[buf_idx] = pstr->trans[ch]; } pstr->valid_len = buf_idx; pstr->valid_raw_len = buf_idx; } /* This function re-construct the buffers. Concretely, convert to wide character in case of pstr->mb_cur_max > 1, convert to upper case in case of REG_ICASE, apply translation. */ static reg_errcode_t internal_function __attribute_warn_unused_result__ re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags) { Idx offset; if (BE (pstr->raw_mbs_idx <= idx, 0)) offset = idx - pstr->raw_mbs_idx; else { /* Reset buffer. */ #ifdef RE_ENABLE_I18N if (pstr->mb_cur_max > 1) memset (&pstr->cur_state, '\0', sizeof (mbstate_t)); #endif /* RE_ENABLE_I18N */ pstr->len = pstr->raw_len; pstr->stop = pstr->raw_stop; pstr->valid_len = 0; pstr->raw_mbs_idx = 0; pstr->valid_raw_len = 0; pstr->offsets_needed = 0; pstr->tip_context = ((eflags & REG_NOTBOL) ? CONTEXT_BEGBUF : CONTEXT_NEWLINE | CONTEXT_BEGBUF); if (!pstr->mbs_allocated) pstr->mbs = (unsigned char *) pstr->raw_mbs; offset = idx; } if (BE (offset != 0, 1)) { /* Should the already checked characters be kept? */ if (BE (offset < pstr->valid_raw_len, 1)) { /* Yes, move them to the front of the buffer. */ #ifdef RE_ENABLE_I18N if (BE (pstr->offsets_needed, 0)) { Idx low = 0, high = pstr->valid_len, mid; do { mid = (high + low) / 2; if (pstr->offsets[mid] > offset) high = mid; else if (pstr->offsets[mid] < offset) low = mid + 1; else break; } while (low < high); if (pstr->offsets[mid] < offset) ++mid; pstr->tip_context = re_string_context_at (pstr, mid - 1, eflags); /* This can be quite complicated, so handle specially only the common and easy case where the character with different length representation of lower and upper case is present at or after offset. */ if (pstr->valid_len > offset && mid == offset && pstr->offsets[mid] == offset) { memmove (pstr->wcs, pstr->wcs + offset, (pstr->valid_len - offset) * sizeof (wint_t)); memmove (pstr->mbs, pstr->mbs + offset, pstr->valid_len - offset); pstr->valid_len -= offset; pstr->valid_raw_len -= offset; for (low = 0; low < pstr->valid_len; low++) pstr->offsets[low] = pstr->offsets[low + offset] - offset; } else { /* Otherwise, just find out how long the partial multibyte character at offset is and fill it with WEOF/255. */ pstr->len = pstr->raw_len - idx + offset; pstr->stop = pstr->raw_stop - idx + offset; pstr->offsets_needed = 0; while (mid > 0 && pstr->offsets[mid - 1] == offset) --mid; while (mid < pstr->valid_len) if (pstr->wcs[mid] != WEOF) break; else ++mid; if (mid == pstr->valid_len) pstr->valid_len = 0; else { pstr->valid_len = pstr->offsets[mid] - offset; if (pstr->valid_len) { for (low = 0; low < pstr->valid_len; ++low) pstr->wcs[low] = WEOF; memset (pstr->mbs, 255, pstr->valid_len); } } pstr->valid_raw_len = pstr->valid_len; } } else #endif { pstr->tip_context = re_string_context_at (pstr, offset - 1, eflags); #ifdef RE_ENABLE_I18N if (pstr->mb_cur_max > 1) memmove (pstr->wcs, pstr->wcs + offset, (pstr->valid_len - offset) * sizeof (wint_t)); #endif /* RE_ENABLE_I18N */ if (BE (pstr->mbs_allocated, 0)) memmove (pstr->mbs, pstr->mbs + offset, pstr->valid_len - offset); pstr->valid_len -= offset; pstr->valid_raw_len -= offset; #if DEBUG assert (pstr->valid_len > 0); #endif } } else { #ifdef RE_ENABLE_I18N /* No, skip all characters until IDX. */ Idx prev_valid_len = pstr->valid_len; if (BE (pstr->offsets_needed, 0)) { pstr->len = pstr->raw_len - idx + offset; pstr->stop = pstr->raw_stop - idx + offset; pstr->offsets_needed = 0; } #endif pstr->valid_len = 0; #ifdef RE_ENABLE_I18N if (pstr->mb_cur_max > 1) { Idx wcs_idx; wint_t wc = WEOF; if (pstr->is_utf8) { const unsigned char *raw, *p, *end; /* Special case UTF-8. Multi-byte chars start with any byte other than 0x80 - 0xbf. */ raw = pstr->raw_mbs + pstr->raw_mbs_idx; end = raw + (offset - pstr->mb_cur_max); if (end < pstr->raw_mbs) end = pstr->raw_mbs; p = raw + offset - 1; #ifdef _LIBC /* We know the wchar_t encoding is UCS4, so for the simple case, ASCII characters, skip the conversion step. */ if (isascii (*p) && BE (pstr->trans == NULL, 1)) { memset (&pstr->cur_state, '\0', sizeof (mbstate_t)); /* pstr->valid_len = 0; */ wc = (wchar_t) *p; } else #endif for (; p >= end; --p) if ((*p & 0xc0) != 0x80) { mbstate_t cur_state; wchar_t wc2; Idx mlen = raw + pstr->len - p; unsigned char buf[6]; size_t mbclen; if (BE (pstr->trans != NULL, 0)) { int i = mlen < 6 ? mlen : 6; while (--i >= 0) buf[i] = pstr->trans[p[i]]; } /* XXX Don't use mbrtowc, we know which conversion to use (UTF-8 -> UCS4). */ memset (&cur_state, 0, sizeof (cur_state)); mbclen = __mbrtowc (&wc2, (const char *) p, mlen, &cur_state); if (raw + offset - p <= mbclen && mbclen < (size_t) -2) { memset (&pstr->cur_state, '\0', sizeof (mbstate_t)); pstr->valid_len = mbclen - (raw + offset - p); wc = wc2; } break; } } if (wc == WEOF) pstr->valid_len = re_string_skip_chars (pstr, idx, &wc) - idx; if (wc == WEOF) pstr->tip_context = re_string_context_at (pstr, prev_valid_len - 1, eflags); else pstr->tip_context = ((BE (pstr->word_ops_used != 0, 0) && IS_WIDE_WORD_CHAR (wc)) ? CONTEXT_WORD : ((IS_WIDE_NEWLINE (wc) && pstr->newline_anchor) ? CONTEXT_NEWLINE : 0)); if (BE (pstr->valid_len, 0)) { for (wcs_idx = 0; wcs_idx < pstr->valid_len; ++wcs_idx) pstr->wcs[wcs_idx] = WEOF; if (pstr->mbs_allocated) memset (pstr->mbs, 255, pstr->valid_len); } pstr->valid_raw_len = pstr->valid_len; } else #endif /* RE_ENABLE_I18N */ { int c = pstr->raw_mbs[pstr->raw_mbs_idx + offset - 1]; pstr->valid_raw_len = 0; if (pstr->trans) c = pstr->trans[c]; pstr->tip_context = (bitset_contain (pstr->word_char, c) ? CONTEXT_WORD : ((IS_NEWLINE (c) && pstr->newline_anchor) ? CONTEXT_NEWLINE : 0)); } } if (!BE (pstr->mbs_allocated, 0)) pstr->mbs += offset; } pstr->raw_mbs_idx = idx; pstr->len -= offset; pstr->stop -= offset; /* Then build the buffers. */ #ifdef RE_ENABLE_I18N if (pstr->mb_cur_max > 1) { if (pstr->icase) { reg_errcode_t ret = build_wcs_upper_buffer (pstr); if (BE (ret != REG_NOERROR, 0)) return ret; } else build_wcs_buffer (pstr); } else #endif /* RE_ENABLE_I18N */ if (BE (pstr->mbs_allocated, 0)) { if (pstr->icase) build_upper_buffer (pstr); else if (pstr->trans != NULL) re_string_translate_buffer (pstr); } else pstr->valid_len = pstr->len; pstr->cur_idx = 0; return REG_NOERROR; } static unsigned char internal_function __attribute ((pure)) re_string_peek_byte_case (const re_string_t *pstr, Idx idx) { int ch; Idx off; /* Handle the common (easiest) cases first. */ if (BE (!pstr->mbs_allocated, 1)) return re_string_peek_byte (pstr, idx); #ifdef RE_ENABLE_I18N if (pstr->mb_cur_max > 1 && ! re_string_is_single_byte_char (pstr, pstr->cur_idx + idx)) return re_string_peek_byte (pstr, idx); #endif off = pstr->cur_idx + idx; #ifdef RE_ENABLE_I18N if (pstr->offsets_needed) off = pstr->offsets[off]; #endif ch = pstr->raw_mbs[pstr->raw_mbs_idx + off]; #ifdef RE_ENABLE_I18N /* Ensure that e.g. for tr_TR.UTF-8 BACKSLASH DOTLESS SMALL LETTER I this function returns CAPITAL LETTER I instead of first byte of DOTLESS SMALL LETTER I. The latter would confuse the parser, since peek_byte_case doesn't advance cur_idx in any way. */ if (pstr->offsets_needed && !isascii (ch)) return re_string_peek_byte (pstr, idx); #endif return ch; } static unsigned char internal_function __attribute ((pure)) re_string_fetch_byte_case (re_string_t *pstr) { if (BE (!pstr->mbs_allocated, 1)) return re_string_fetch_byte (pstr); #ifdef RE_ENABLE_I18N if (pstr->offsets_needed) { Idx off; int ch; /* For tr_TR.UTF-8 [[:islower:]] there is [[: CAPITAL LETTER I WITH DOT lower:]] in mbs. Skip in that case the whole multi-byte character and return the original letter. On the other side, with [[: DOTLESS SMALL LETTER I return [[:I, as doing anything else would complicate things too much. */ if (!re_string_first_byte (pstr, pstr->cur_idx)) return re_string_fetch_byte (pstr); off = pstr->offsets[pstr->cur_idx]; ch = pstr->raw_mbs[pstr->raw_mbs_idx + off]; if (! isascii (ch)) return re_string_fetch_byte (pstr); re_string_skip_bytes (pstr, re_string_char_size_at (pstr, pstr->cur_idx)); return ch; } #endif return pstr->raw_mbs[pstr->raw_mbs_idx + pstr->cur_idx++]; } static void internal_function re_string_destruct (re_string_t *pstr) { #ifdef RE_ENABLE_I18N re_free (pstr->wcs); re_free (pstr->offsets); #endif /* RE_ENABLE_I18N */ if (pstr->mbs_allocated) re_free (pstr->mbs); } /* Return the context at IDX in INPUT. */ static unsigned int internal_function re_string_context_at (const re_string_t *input, Idx idx, int eflags) { int c; if (BE (! REG_VALID_INDEX (idx), 0)) /* In this case, we use the value stored in input->tip_context, since we can't know the character in input->mbs[-1] here. */ return input->tip_context; if (BE (idx == input->len, 0)) return ((eflags & REG_NOTEOL) ? CONTEXT_ENDBUF : CONTEXT_NEWLINE | CONTEXT_ENDBUF); #ifdef RE_ENABLE_I18N if (input->mb_cur_max > 1) { wint_t wc; Idx wc_idx = idx; while(input->wcs[wc_idx] == WEOF) { #ifdef DEBUG /* It must not happen. */ assert (REG_VALID_INDEX (wc_idx)); #endif --wc_idx; if (! REG_VALID_INDEX (wc_idx)) return input->tip_context; } wc = input->wcs[wc_idx]; if (BE (input->word_ops_used != 0, 0) && IS_WIDE_WORD_CHAR (wc)) return CONTEXT_WORD; return (IS_WIDE_NEWLINE (wc) && input->newline_anchor ? CONTEXT_NEWLINE : 0); } else #endif { c = re_string_byte_at (input, idx); if (bitset_contain (input->word_char, c)) return CONTEXT_WORD; return IS_NEWLINE (c) && input->newline_anchor ? CONTEXT_NEWLINE : 0; } } /* Functions for set operation. */ static reg_errcode_t internal_function __attribute_warn_unused_result__ re_node_set_alloc (re_node_set *set, Idx size) { set->alloc = size; set->nelem = 0; set->elems = re_malloc (Idx, size); if (BE (set->elems == NULL, 0)) return REG_ESPACE; return REG_NOERROR; } static reg_errcode_t internal_function __attribute_warn_unused_result__ re_node_set_init_1 (re_node_set *set, Idx elem) { set->alloc = 1; set->nelem = 1; set->elems = re_malloc (Idx, 1); if (BE (set->elems == NULL, 0)) { set->alloc = set->nelem = 0; return REG_ESPACE; } set->elems[0] = elem; return REG_NOERROR; } static reg_errcode_t internal_function __attribute_warn_unused_result__ re_node_set_init_2 (re_node_set *set, Idx elem1, Idx elem2) { set->alloc = 2; set->elems = re_malloc (Idx, 2); if (BE (set->elems == NULL, 0)) return REG_ESPACE; if (elem1 == elem2) { set->nelem = 1; set->elems[0] = elem1; } else { set->nelem = 2; if (elem1 < elem2) { set->elems[0] = elem1; set->elems[1] = elem2; } else { set->elems[0] = elem2; set->elems[1] = elem1; } } return REG_NOERROR; } static reg_errcode_t internal_function __attribute_warn_unused_result__ re_node_set_init_copy (re_node_set *dest, const re_node_set *src) { dest->nelem = src->nelem; if (src->nelem > 0) { dest->alloc = dest->nelem; dest->elems = re_malloc (Idx, dest->alloc); if (BE (dest->elems == NULL, 0)) { dest->alloc = dest->nelem = 0; return REG_ESPACE; } memcpy (dest->elems, src->elems, src->nelem * sizeof (Idx)); } else re_node_set_init_empty (dest); return REG_NOERROR; } /* Calculate the intersection of the sets SRC1 and SRC2. And merge it to DEST. Return value indicate the error code or REG_NOERROR if succeeded. Note: We assume dest->elems is NULL, when dest->alloc is 0. */ static reg_errcode_t internal_function __attribute_warn_unused_result__ re_node_set_add_intersect (re_node_set *dest, const re_node_set *src1, const re_node_set *src2) { Idx i1, i2, is, id, delta, sbase; if (src1->nelem == 0 || src2->nelem == 0) return REG_NOERROR; /* We need dest->nelem + 2 * elems_in_intersection; this is a conservative estimate. */ if (src1->nelem + src2->nelem + dest->nelem > dest->alloc) { Idx new_alloc = src1->nelem + src2->nelem + dest->alloc; Idx *new_elems = re_realloc (dest->elems, Idx, new_alloc); if (BE (new_elems == NULL, 0)) return REG_ESPACE; dest->elems = new_elems; dest->alloc = new_alloc; } /* Find the items in the intersection of SRC1 and SRC2, and copy into the top of DEST those that are not already in DEST itself. */ sbase = dest->nelem + src1->nelem + src2->nelem; i1 = src1->nelem - 1; i2 = src2->nelem - 1; id = dest->nelem - 1; for (;;) { if (src1->elems[i1] == src2->elems[i2]) { /* Try to find the item in DEST. Maybe we could binary search? */ while (REG_VALID_INDEX (id) && dest->elems[id] > src1->elems[i1]) --id; if (! REG_VALID_INDEX (id) || dest->elems[id] != src1->elems[i1]) dest->elems[--sbase] = src1->elems[i1]; if (! REG_VALID_INDEX (--i1) || ! REG_VALID_INDEX (--i2)) break; } /* Lower the highest of the two items. */ else if (src1->elems[i1] < src2->elems[i2]) { if (! REG_VALID_INDEX (--i2)) break; } else { if (! REG_VALID_INDEX (--i1)) break; } } id = dest->nelem - 1; is = dest->nelem + src1->nelem + src2->nelem - 1; delta = is - sbase + 1; /* Now copy. When DELTA becomes zero, the remaining DEST elements are already in place; this is more or less the same loop that is in re_node_set_merge. */ dest->nelem += delta; if (delta > 0 && REG_VALID_INDEX (id)) for (;;) { if (dest->elems[is] > dest->elems[id]) { /* Copy from the top. */ dest->elems[id + delta--] = dest->elems[is--]; if (delta == 0) break; } else { /* Slide from the bottom. */ dest->elems[id + delta] = dest->elems[id]; if (! REG_VALID_INDEX (--id)) break; } } /* Copy remaining SRC elements. */ memcpy (dest->elems, dest->elems + sbase, delta * sizeof (Idx)); return REG_NOERROR; } /* Calculate the union set of the sets SRC1 and SRC2. And store it to DEST. Return value indicate the error code or REG_NOERROR if succeeded. */ static reg_errcode_t internal_function __attribute_warn_unused_result__ re_node_set_init_union (re_node_set *dest, const re_node_set *src1, const re_node_set *src2) { Idx i1, i2, id; if (src1 != NULL && src1->nelem > 0 && src2 != NULL && src2->nelem > 0) { dest->alloc = src1->nelem + src2->nelem; dest->elems = re_malloc (Idx, dest->alloc); if (BE (dest->elems == NULL, 0)) return REG_ESPACE; } else { if (src1 != NULL && src1->nelem > 0) return re_node_set_init_copy (dest, src1); else if (src2 != NULL && src2->nelem > 0) return re_node_set_init_copy (dest, src2); else re_node_set_init_empty (dest); return REG_NOERROR; } for (i1 = i2 = id = 0 ; i1 < src1->nelem && i2 < src2->nelem ;) { if (src1->elems[i1] > src2->elems[i2]) { dest->elems[id++] = src2->elems[i2++]; continue; } if (src1->elems[i1] == src2->elems[i2]) ++i2; dest->elems[id++] = src1->elems[i1++]; } if (i1 < src1->nelem) { memcpy (dest->elems + id, src1->elems + i1, (src1->nelem - i1) * sizeof (Idx)); id += src1->nelem - i1; } else if (i2 < src2->nelem) { memcpy (dest->elems + id, src2->elems + i2, (src2->nelem - i2) * sizeof (Idx)); id += src2->nelem - i2; } dest->nelem = id; return REG_NOERROR; } /* Calculate the union set of the sets DEST and SRC. And store it to DEST. Return value indicate the error code or REG_NOERROR if succeeded. */ static reg_errcode_t internal_function __attribute_warn_unused_result__ re_node_set_merge (re_node_set *dest, const re_node_set *src) { Idx is, id, sbase, delta; if (src == NULL || src->nelem == 0) return REG_NOERROR; if (dest->alloc < 2 * src->nelem + dest->nelem) { Idx new_alloc = 2 * (src->nelem + dest->alloc); Idx *new_buffer = re_realloc (dest->elems, Idx, new_alloc); if (BE (new_buffer == NULL, 0)) return REG_ESPACE; dest->elems = new_buffer; dest->alloc = new_alloc; } if (BE (dest->nelem == 0, 0)) { dest->nelem = src->nelem; memcpy (dest->elems, src->elems, src->nelem * sizeof (Idx)); return REG_NOERROR; } /* Copy into the top of DEST the items of SRC that are not found in DEST. Maybe we could binary search in DEST? */ for (sbase = dest->nelem + 2 * src->nelem, is = src->nelem - 1, id = dest->nelem - 1; REG_VALID_INDEX (is) && REG_VALID_INDEX (id); ) { if (dest->elems[id] == src->elems[is]) is--, id--; else if (dest->elems[id] < src->elems[is]) dest->elems[--sbase] = src->elems[is--]; else /* if (dest->elems[id] > src->elems[is]) */ --id; } if (REG_VALID_INDEX (is)) { /* If DEST is exhausted, the remaining items of SRC must be unique. */ sbase -= is + 1; memcpy (dest->elems + sbase, src->elems, (is + 1) * sizeof (Idx)); } id = dest->nelem - 1; is = dest->nelem + 2 * src->nelem - 1; delta = is - sbase + 1; if (delta == 0) return REG_NOERROR; /* Now copy. When DELTA becomes zero, the remaining DEST elements are already in place. */ dest->nelem += delta; for (;;) { if (dest->elems[is] > dest->elems[id]) { /* Copy from the top. */ dest->elems[id + delta--] = dest->elems[is--]; if (delta == 0) break; } else { /* Slide from the bottom. */ dest->elems[id + delta] = dest->elems[id]; if (! REG_VALID_INDEX (--id)) { /* Copy remaining SRC elements. */ memcpy (dest->elems, dest->elems + sbase, delta * sizeof (Idx)); break; } } } return REG_NOERROR; } /* Insert the new element ELEM to the re_node_set* SET. SET should not already have ELEM. Return true if successful. */ static bool internal_function __attribute_warn_unused_result__ re_node_set_insert (re_node_set *set, Idx elem) { Idx idx; /* In case the set is empty. */ if (set->alloc == 0) return BE (re_node_set_init_1 (set, elem) == REG_NOERROR, 1); if (BE (set->nelem, 0) == 0) { /* We already guaranteed above that set->alloc != 0. */ set->elems[0] = elem; ++set->nelem; return true; } /* Realloc if we need. */ if (set->alloc == set->nelem) { Idx *new_elems; set->alloc = set->alloc * 2; new_elems = re_realloc (set->elems, Idx, set->alloc); if (BE (new_elems == NULL, 0)) return false; set->elems = new_elems; } /* Move the elements which follows the new element. Test the first element separately to skip a check in the inner loop. */ if (elem < set->elems[0]) { idx = 0; for (idx = set->nelem; idx > 0; idx--) set->elems[idx] = set->elems[idx - 1]; } else { for (idx = set->nelem; set->elems[idx - 1] > elem; idx--) set->elems[idx] = set->elems[idx - 1]; } /* Insert the new element. */ set->elems[idx] = elem; ++set->nelem; return true; } /* Insert the new element ELEM to the re_node_set* SET. SET should not already have any element greater than or equal to ELEM. Return true if successful. */ static bool internal_function __attribute_warn_unused_result__ re_node_set_insert_last (re_node_set *set, Idx elem) { /* Realloc if we need. */ if (set->alloc == set->nelem) { Idx *new_elems; set->alloc = (set->alloc + 1) * 2; new_elems = re_realloc (set->elems, Idx, set->alloc); if (BE (new_elems == NULL, 0)) return false; set->elems = new_elems; } /* Insert the new element. */ set->elems[set->nelem++] = elem; return true; } /* Compare two node sets SET1 and SET2. Return true if SET1 and SET2 are equivalent. */ static bool internal_function __attribute ((pure)) re_node_set_compare (const re_node_set *set1, const re_node_set *set2) { Idx i; if (set1 == NULL || set2 == NULL || set1->nelem != set2->nelem) return false; for (i = set1->nelem ; REG_VALID_INDEX (--i) ; ) if (set1->elems[i] != set2->elems[i]) return false; return true; } /* Return (idx + 1) if SET contains the element ELEM, return 0 otherwise. */ static Idx internal_function __attribute ((pure)) re_node_set_contains (const re_node_set *set, Idx elem) { __re_size_t idx, right, mid; if (! REG_VALID_NONZERO_INDEX (set->nelem)) return 0; /* Binary search the element. */ idx = 0; right = set->nelem - 1; while (idx < right) { mid = (idx + right) / 2; if (set->elems[mid] < elem) idx = mid + 1; else right = mid; } return set->elems[idx] == elem ? idx + 1 : 0; } static void internal_function re_node_set_remove_at (re_node_set *set, Idx idx) { if (idx < 0 || idx >= set->nelem) return; --set->nelem; for (; idx < set->nelem; idx++) set->elems[idx] = set->elems[idx + 1]; } /* Add the token TOKEN to dfa->nodes, and return the index of the token. Or return REG_MISSING if an error occurred. */ static Idx internal_function re_dfa_add_node (re_dfa_t *dfa, re_token_t token) { if (BE (dfa->nodes_len >= dfa->nodes_alloc, 0)) { size_t new_nodes_alloc = dfa->nodes_alloc * 2; Idx *new_nexts, *new_indices; re_node_set *new_edests, *new_eclosures; re_token_t *new_nodes; size_t max_object_size = MAX (sizeof (re_token_t), MAX (sizeof (re_node_set), sizeof (Idx))); /* Avoid overflows. */ if (BE (SIZE_MAX / 2 / max_object_size < dfa->nodes_alloc, 0)) return REG_MISSING; new_nodes = re_realloc (dfa->nodes, re_token_t, new_nodes_alloc); if (BE (new_nodes == NULL, 0)) return REG_MISSING; dfa->nodes = new_nodes; new_nexts = re_realloc (dfa->nexts, Idx, new_nodes_alloc); new_indices = re_realloc (dfa->org_indices, Idx, new_nodes_alloc); new_edests = re_realloc (dfa->edests, re_node_set, new_nodes_alloc); new_eclosures = re_realloc (dfa->eclosures, re_node_set, new_nodes_alloc); if (BE (new_nexts == NULL || new_indices == NULL || new_edests == NULL || new_eclosures == NULL, 0)) return REG_MISSING; dfa->nexts = new_nexts; dfa->org_indices = new_indices; dfa->edests = new_edests; dfa->eclosures = new_eclosures; dfa->nodes_alloc = new_nodes_alloc; } dfa->nodes[dfa->nodes_len] = token; dfa->nodes[dfa->nodes_len].constraint = 0; #ifdef RE_ENABLE_I18N { int type = token.type; dfa->nodes[dfa->nodes_len].accept_mb = (type == OP_PERIOD && dfa->mb_cur_max > 1) || type == COMPLEX_BRACKET; } #endif dfa->nexts[dfa->nodes_len] = REG_MISSING; re_node_set_init_empty (dfa->edests + dfa->nodes_len); re_node_set_init_empty (dfa->eclosures + dfa->nodes_len); return dfa->nodes_len++; } static inline re_hashval_t internal_function calc_state_hash (const re_node_set *nodes, unsigned int context) { re_hashval_t hash = nodes->nelem + context; Idx i; for (i = 0 ; i < nodes->nelem ; i++) hash += nodes->elems[i]; return hash; } /* Search for the state whose node_set is equivalent to NODES. Return the pointer to the state, if we found it in the DFA. Otherwise create the new one and return it. In case of an error return NULL and set the error code in ERR. Note: - We assume NULL as the invalid state, then it is possible that return value is NULL and ERR is REG_NOERROR. - We never return non-NULL value in case of any errors, it is for optimization. */ static re_dfastate_t * internal_function __attribute_warn_unused_result__ re_acquire_state (reg_errcode_t *err, const re_dfa_t *dfa, const re_node_set *nodes) { re_hashval_t hash; re_dfastate_t *new_state; struct re_state_table_entry *spot; Idx i; #ifdef lint /* Suppress bogus uninitialized-variable warnings. */ *err = REG_NOERROR; #endif if (BE (nodes->nelem == 0, 0)) { *err = REG_NOERROR; return NULL; } hash = calc_state_hash (nodes, 0); spot = dfa->state_table + (hash & dfa->state_hash_mask); for (i = 0 ; i < spot->num ; i++) { re_dfastate_t *state = spot->array[i]; if (hash != state->hash) continue; if (re_node_set_compare (&state->nodes, nodes)) return state; } /* There are no appropriate state in the dfa, create the new one. */ new_state = create_ci_newstate (dfa, nodes, hash); if (BE (new_state == NULL, 0)) *err = REG_ESPACE; return new_state; } /* Search for the state whose node_set is equivalent to NODES and whose context is equivalent to CONTEXT. Return the pointer to the state, if we found it in the DFA. Otherwise create the new one and return it. In case of an error return NULL and set the error code in ERR. Note: - We assume NULL as the invalid state, then it is possible that return value is NULL and ERR is REG_NOERROR. - We never return non-NULL value in case of any errors, it is for optimization. */ static re_dfastate_t * internal_function __attribute_warn_unused_result__ re_acquire_state_context (reg_errcode_t *err, const re_dfa_t *dfa, const re_node_set *nodes, unsigned int context) { re_hashval_t hash; re_dfastate_t *new_state; struct re_state_table_entry *spot; Idx i; #ifdef lint /* Suppress bogus uninitialized-variable warnings. */ *err = REG_NOERROR; #endif if (nodes->nelem == 0) { *err = REG_NOERROR; return NULL; } hash = calc_state_hash (nodes, context); spot = dfa->state_table + (hash & dfa->state_hash_mask); for (i = 0 ; i < spot->num ; i++) { re_dfastate_t *state = spot->array[i]; if (state->hash == hash && state->context == context && re_node_set_compare (state->entrance_nodes, nodes)) return state; } /* There are no appropriate state in `dfa', create the new one. */ new_state = create_cd_newstate (dfa, nodes, context, hash); if (BE (new_state == NULL, 0)) *err = REG_ESPACE; return new_state; } /* Finish initialization of the new state NEWSTATE, and using its hash value HASH put in the appropriate bucket of DFA's state table. Return value indicates the error code if failed. */ static reg_errcode_t __attribute_warn_unused_result__ register_state (const re_dfa_t *dfa, re_dfastate_t *newstate, re_hashval_t hash) { struct re_state_table_entry *spot; reg_errcode_t err; Idx i; newstate->hash = hash; err = re_node_set_alloc (&newstate->non_eps_nodes, newstate->nodes.nelem); if (BE (err != REG_NOERROR, 0)) return REG_ESPACE; for (i = 0; i < newstate->nodes.nelem; i++) { Idx elem = newstate->nodes.elems[i]; if (!IS_EPSILON_NODE (dfa->nodes[elem].type)) if (BE (! re_node_set_insert_last (&newstate->non_eps_nodes, elem), 0)) return REG_ESPACE; } spot = dfa->state_table + (hash & dfa->state_hash_mask); if (BE (spot->alloc <= spot->num, 0)) { Idx new_alloc = 2 * spot->num + 2; re_dfastate_t **new_array = re_realloc (spot->array, re_dfastate_t *, new_alloc); if (BE (new_array == NULL, 0)) return REG_ESPACE; spot->array = new_array; spot->alloc = new_alloc; } spot->array[spot->num++] = newstate; return REG_NOERROR; } static void free_state (re_dfastate_t *state) { re_node_set_free (&state->non_eps_nodes); re_node_set_free (&state->inveclosure); if (state->entrance_nodes != &state->nodes) { re_node_set_free (state->entrance_nodes); re_free (state->entrance_nodes); } re_node_set_free (&state->nodes); re_free (state->word_trtable); re_free (state->trtable); re_free (state); } /* Create the new state which is independ of contexts. Return the new state if succeeded, otherwise return NULL. */ static re_dfastate_t * internal_function __attribute_warn_unused_result__ create_ci_newstate (const re_dfa_t *dfa, const re_node_set *nodes, re_hashval_t hash) { Idx i; reg_errcode_t err; re_dfastate_t *newstate; newstate = (re_dfastate_t *) calloc (sizeof (re_dfastate_t), 1); if (BE (newstate == NULL, 0)) return NULL; err = re_node_set_init_copy (&newstate->nodes, nodes); if (BE (err != REG_NOERROR, 0)) { re_free (newstate); return NULL; } newstate->entrance_nodes = &newstate->nodes; for (i = 0 ; i < nodes->nelem ; i++) { re_token_t *node = dfa->nodes + nodes->elems[i]; re_token_type_t type = node->type; if (type == CHARACTER && !node->constraint) continue; #ifdef RE_ENABLE_I18N newstate->accept_mb |= node->accept_mb; #endif /* RE_ENABLE_I18N */ /* If the state has the halt node, the state is a halt state. */ if (type == END_OF_RE) newstate->halt = 1; else if (type == OP_BACK_REF) newstate->has_backref = 1; else if (type == ANCHOR || node->constraint) newstate->has_constraint = 1; } err = register_state (dfa, newstate, hash); if (BE (err != REG_NOERROR, 0)) { free_state (newstate); newstate = NULL; } return newstate; } /* Create the new state which is depend on the context CONTEXT. Return the new state if succeeded, otherwise return NULL. */ static re_dfastate_t * internal_function __attribute_warn_unused_result__ create_cd_newstate (const re_dfa_t *dfa, const re_node_set *nodes, unsigned int context, re_hashval_t hash) { Idx i, nctx_nodes = 0; reg_errcode_t err; re_dfastate_t *newstate; newstate = (re_dfastate_t *) calloc (sizeof (re_dfastate_t), 1); if (BE (newstate == NULL, 0)) return NULL; err = re_node_set_init_copy (&newstate->nodes, nodes); if (BE (err != REG_NOERROR, 0)) { re_free (newstate); return NULL; } newstate->context = context; newstate->entrance_nodes = &newstate->nodes; for (i = 0 ; i < nodes->nelem ; i++) { re_token_t *node = dfa->nodes + nodes->elems[i]; re_token_type_t type = node->type; unsigned int constraint = node->constraint; if (type == CHARACTER && !constraint) continue; #ifdef RE_ENABLE_I18N newstate->accept_mb |= node->accept_mb; #endif /* RE_ENABLE_I18N */ /* If the state has the halt node, the state is a halt state. */ if (type == END_OF_RE) newstate->halt = 1; else if (type == OP_BACK_REF) newstate->has_backref = 1; if (constraint) { if (newstate->entrance_nodes == &newstate->nodes) { newstate->entrance_nodes = re_malloc (re_node_set, 1); if (BE (newstate->entrance_nodes == NULL, 0)) { free_state (newstate); return NULL; } if (re_node_set_init_copy (newstate->entrance_nodes, nodes) != REG_NOERROR) return NULL; nctx_nodes = 0; newstate->has_constraint = 1; } if (NOT_SATISFY_PREV_CONSTRAINT (constraint,context)) { re_node_set_remove_at (&newstate->nodes, i - nctx_nodes); ++nctx_nodes; } } } err = register_state (dfa, newstate, hash); if (BE (err != REG_NOERROR, 0)) { free_state (newstate); newstate = NULL; } return newstate; } parted-2.3/lib/pathmax.h0000644000000000000000000000311711333760254012113 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Define PATH_MAX somehow. Requires sys/types.h. Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2010 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 3, 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. */ #ifndef _PATHMAX_H # define _PATHMAX_H # include # include # ifndef _POSIX_PATH_MAX # define _POSIX_PATH_MAX 256 # endif # if !defined PATH_MAX && defined _PC_PATH_MAX && defined HAVE_PATHCONF # define PATH_MAX (pathconf ("/", _PC_PATH_MAX) < 1 ? 1024 \ : pathconf ("/", _PC_PATH_MAX)) # endif /* Don't include sys/param.h if it already has been. */ # if defined HAVE_SYS_PARAM_H && !defined PATH_MAX && !defined MAXPATHLEN # include # endif # if !defined PATH_MAX && defined MAXPATHLEN # define PATH_MAX MAXPATHLEN # endif # ifndef PATH_MAX # define PATH_MAX _POSIX_PATH_MAX # endif #endif /* _PATHMAX_H */ parted-2.3/lib/quote.c0000644000000000000000000000241511370541031011570 00000000000000/* quote.c - quote arguments for output Copyright (C) 1998, 1999, 2000, 2001, 2003, 2005, 2006, 2009, 2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert */ #include #include "quotearg.h" #include "quote.h" /* Return an unambiguous printable representation of NAME, allocated in slot N, suitable for diagnostics. */ char const * quote_n (int n, char const *name) { return quotearg_n_style (n, locale_quoting_style, name); } /* Return an unambiguous printable representation of NAME, suitable for diagnostics. */ char const * quote (char const *name) { return quote_n (0, name); } parted-2.3/lib/readlink.c0000644000000000000000000000446311370541031012231 00000000000000/* Stub for readlink(). Copyright (C) 2003-2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include #include #include #include #if !HAVE_READLINK /* readlink() substitute for systems that don't have a readlink() function, such as DJGPP 2.03 and mingw32. */ ssize_t readlink (const char *name, char *buf _GL_UNUSED, size_t bufsize _GL_UNUSED) { struct stat statbuf; /* In general we should use lstat() here, not stat(). But on platforms without symbolic links, lstat() - if it exists - would be equivalent to stat(), therefore we can use stat(). This saves us a configure check. */ if (stat (name, &statbuf) >= 0) errno = EINVAL; return -1; } #else /* HAVE_READLINK */ # undef readlink /* readlink() wrapper that uses correct types, for systems like cygwin 1.5.x where readlink returns int, and which rejects trailing slash, for Solaris 9. */ ssize_t rpl_readlink (const char *name, char *buf, size_t bufsize) { # if READLINK_TRAILING_SLASH_BUG size_t len = strlen (name); if (len && name[len - 1] == '/') { /* Even if name without the slash is a symlink to a directory, both lstat() and stat() must resolve the trailing slash to the directory rather than the symlink. We can therefore safely use stat() to distinguish between EINVAL and ENOTDIR/ENOENT, avoiding extra overhead of rpl_lstat(). */ struct stat st; if (stat (name, &st) == 0) errno = EINVAL; return -1; } # endif /* READLINK_TRAILING_SLASH_BUG */ return readlink (name, buf, bufsize); } #endif /* HAVE_READLINK */ parted-2.3/lib/exitfail.c0000644000000000000000000000154711370541031012245 00000000000000/* Failure exit status Copyright (C) 2002, 2003, 2005, 2006, 2007, 2009, 2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "exitfail.h" #include int volatile exit_failure = EXIT_FAILURE; parted-2.3/lib/close-hook.c0000644000000000000000000000516011333760253012506 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Hook for making the close() function extensible. Copyright (C) 2009, 2010 Free Software Foundation, Inc. Written by Bruno Haible , 2009. 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 3 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 Lesser General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include "close-hook.h" #include #include #undef close /* Currently, this entire code is only needed for the handling of sockets on native Windows platforms. */ #if WINDOWS_SOCKETS /* The first and last link in the doubly linked list. Initially the list is empty. */ static struct close_hook anchor = { &anchor, &anchor, NULL }; int execute_close_hooks (int fd, const struct close_hook *remaining_list) { if (remaining_list == &anchor) /* End of list reached. */ return close (fd); else return remaining_list->private_fn (fd, remaining_list->private_next); } int execute_all_close_hooks (int fd) { return execute_close_hooks (fd, anchor.private_next); } void register_close_hook (close_hook_fn hook, struct close_hook *link) { if (link->private_next == NULL && link->private_prev == NULL) { /* Add the link to the doubly linked list. */ link->private_next = anchor.private_next; link->private_prev = &anchor; link->private_fn = hook; anchor.private_next->private_prev = link; anchor.private_next = link; } else { /* The link is already in use. */ if (link->private_fn != hook) abort (); } } void unregister_close_hook (struct close_hook *link) { struct close_hook *next = link->private_next; struct close_hook *prev = link->private_prev; if (next != NULL && prev != NULL) { /* The link is in use. Remove it from the doubly linked list. */ prev->private_next = next; next->private_prev = prev; /* Clear the link, to mark it unused. */ link->private_next = NULL; link->private_prev = NULL; link->private_fn = NULL; } } #endif parted-2.3/lib/sys_stat.in.h0000644000000000000000000004161511370316121012723 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Provide a more complete sys/stat header file. Copyright (C) 2005-2010 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 3, 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. */ /* Written by Eric Blake, Paul Eggert, and Jim Meyering. */ /* This file is supposed to be used on platforms where is incomplete. It is intended to provide definitions and prototypes needed by an application. Start with what the system provides. */ #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif #if defined __need_system_sys_stat_h /* Special invocation convention. */ #@INCLUDE_NEXT@ @NEXT_SYS_STAT_H@ #else /* Normal invocation convention. */ #ifndef _GL_SYS_STAT_H /* Get nlink_t. */ #include /* Get struct timespec. */ #include /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_SYS_STAT_H@ #ifndef _GL_SYS_STAT_H #define _GL_SYS_STAT_H /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_ARG_NONNULL is copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ /* Before doing "#define mkdir rpl_mkdir" below, we need to include all headers that may declare mkdir(). */ #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ # include /* mingw32, mingw64 */ # include /* mingw64 */ #endif #ifndef S_IFMT # define S_IFMT 0170000 #endif #if STAT_MACROS_BROKEN # undef S_ISBLK # undef S_ISCHR # undef S_ISDIR # undef S_ISFIFO # undef S_ISLNK # undef S_ISNAM # undef S_ISMPB # undef S_ISMPC # undef S_ISNWK # undef S_ISREG # undef S_ISSOCK #endif #ifndef S_ISBLK # ifdef S_IFBLK # define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK) # else # define S_ISBLK(m) 0 # endif #endif #ifndef S_ISCHR # ifdef S_IFCHR # define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR) # else # define S_ISCHR(m) 0 # endif #endif #ifndef S_ISDIR # ifdef S_IFDIR # define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) # else # define S_ISDIR(m) 0 # endif #endif #ifndef S_ISDOOR /* Solaris 2.5 and up */ # define S_ISDOOR(m) 0 #endif #ifndef S_ISFIFO # ifdef S_IFIFO # define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO) # else # define S_ISFIFO(m) 0 # endif #endif #ifndef S_ISLNK # ifdef S_IFLNK # define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK) # else # define S_ISLNK(m) 0 # endif #endif #ifndef S_ISMPB /* V7 */ # ifdef S_IFMPB # define S_ISMPB(m) (((m) & S_IFMT) == S_IFMPB) # define S_ISMPC(m) (((m) & S_IFMT) == S_IFMPC) # else # define S_ISMPB(m) 0 # define S_ISMPC(m) 0 # endif #endif #ifndef S_ISNAM /* Xenix */ # ifdef S_IFNAM # define S_ISNAM(m) (((m) & S_IFMT) == S_IFNAM) # else # define S_ISNAM(m) 0 # endif #endif #ifndef S_ISNWK /* HP/UX */ # ifdef S_IFNWK # define S_ISNWK(m) (((m) & S_IFMT) == S_IFNWK) # else # define S_ISNWK(m) 0 # endif #endif #ifndef S_ISPORT /* Solaris 10 and up */ # define S_ISPORT(m) 0 #endif #ifndef S_ISREG # ifdef S_IFREG # define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) # else # define S_ISREG(m) 0 # endif #endif #ifndef S_ISSOCK # ifdef S_IFSOCK # define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK) # else # define S_ISSOCK(m) 0 # endif #endif #ifndef S_TYPEISMQ # define S_TYPEISMQ(p) 0 #endif #ifndef S_TYPEISTMO # define S_TYPEISTMO(p) 0 #endif #ifndef S_TYPEISSEM # ifdef S_INSEM # define S_TYPEISSEM(p) (S_ISNAM ((p)->st_mode) && (p)->st_rdev == S_INSEM) # else # define S_TYPEISSEM(p) 0 # endif #endif #ifndef S_TYPEISSHM # ifdef S_INSHD # define S_TYPEISSHM(p) (S_ISNAM ((p)->st_mode) && (p)->st_rdev == S_INSHD) # else # define S_TYPEISSHM(p) 0 # endif #endif /* high performance ("contiguous data") */ #ifndef S_ISCTG # define S_ISCTG(p) 0 #endif /* Cray DMF (data migration facility): off line, with data */ #ifndef S_ISOFD # define S_ISOFD(p) 0 #endif /* Cray DMF (data migration facility): off line, with no data */ #ifndef S_ISOFL # define S_ISOFL(p) 0 #endif /* 4.4BSD whiteout */ #ifndef S_ISWHT # define S_ISWHT(m) 0 #endif /* If any of the following are undefined, define them to their de facto standard values. */ #if !S_ISUID # define S_ISUID 04000 #endif #if !S_ISGID # define S_ISGID 02000 #endif /* S_ISVTX is a common extension to POSIX. */ #ifndef S_ISVTX # define S_ISVTX 01000 #endif #if !S_IRUSR && S_IREAD # define S_IRUSR S_IREAD #endif #if !S_IRUSR # define S_IRUSR 00400 #endif #if !S_IRGRP # define S_IRGRP (S_IRUSR >> 3) #endif #if !S_IROTH # define S_IROTH (S_IRUSR >> 6) #endif #if !S_IWUSR && S_IWRITE # define S_IWUSR S_IWRITE #endif #if !S_IWUSR # define S_IWUSR 00200 #endif #if !S_IWGRP # define S_IWGRP (S_IWUSR >> 3) #endif #if !S_IWOTH # define S_IWOTH (S_IWUSR >> 6) #endif #if !S_IXUSR && S_IEXEC # define S_IXUSR S_IEXEC #endif #if !S_IXUSR # define S_IXUSR 00100 #endif #if !S_IXGRP # define S_IXGRP (S_IXUSR >> 3) #endif #if !S_IXOTH # define S_IXOTH (S_IXUSR >> 6) #endif #if !S_IRWXU # define S_IRWXU (S_IRUSR | S_IWUSR | S_IXUSR) #endif #if !S_IRWXG # define S_IRWXG (S_IRGRP | S_IWGRP | S_IXGRP) #endif #if !S_IRWXO # define S_IRWXO (S_IROTH | S_IWOTH | S_IXOTH) #endif /* S_IXUGO is a common extension to POSIX. */ #if !S_IXUGO # define S_IXUGO (S_IXUSR | S_IXGRP | S_IXOTH) #endif #ifndef S_IRWXUGO # define S_IRWXUGO (S_IRWXU | S_IRWXG | S_IRWXO) #endif /* Macros for futimens and utimensat. */ #ifndef UTIME_NOW # define UTIME_NOW (-1) # define UTIME_OMIT (-2) #endif #if @GNULIB_FCHMODAT@ # if !@HAVE_FCHMODAT@ _GL_FUNCDECL_SYS (fchmodat, int, (int fd, char const *file, mode_t mode, int flag) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (fchmodat, int, (int fd, char const *file, mode_t mode, int flag)); _GL_CXXALIASWARN (fchmodat); #elif defined GNULIB_POSIXCHECK # undef fchmodat # if HAVE_RAW_DECL_FCHMODAT _GL_WARN_ON_USE (fchmodat, "fchmodat is not portable - " "use gnulib module openat for portability"); # endif #endif #if @REPLACE_FSTAT@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define fstat rpl_fstat # endif _GL_FUNCDECL_RPL (fstat, int, (int fd, struct stat *buf) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (fstat, int, (int fd, struct stat *buf)); #else _GL_CXXALIAS_SYS (fstat, int, (int fd, struct stat *buf)); #endif _GL_CXXALIASWARN (fstat); #if @GNULIB_FSTATAT@ # if @REPLACE_FSTATAT@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef fstatat # define fstatat rpl_fstatat # endif _GL_FUNCDECL_RPL (fstatat, int, (int fd, char const *name, struct stat *st, int flags) _GL_ARG_NONNULL ((2, 3))); _GL_CXXALIAS_RPL (fstatat, int, (int fd, char const *name, struct stat *st, int flags)); # else # if !@HAVE_FSTATAT@ _GL_FUNCDECL_SYS (fstatat, int, (int fd, char const *name, struct stat *st, int flags) _GL_ARG_NONNULL ((2, 3))); # endif _GL_CXXALIAS_SYS (fstatat, int, (int fd, char const *name, struct stat *st, int flags)); # endif _GL_CXXALIASWARN (fstatat); #elif defined GNULIB_POSIXCHECK # undef fstatat # if HAVE_RAW_DECL_FSTATAT _GL_WARN_ON_USE (fstatat, "fstatat is not portable - " "use gnulib module openat for portability"); # endif #endif #if @GNULIB_FUTIMENS@ # if @REPLACE_FUTIMENS@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef futimens # define futimens rpl_futimens # endif _GL_FUNCDECL_RPL (futimens, int, (int fd, struct timespec const times[2])); _GL_CXXALIAS_RPL (futimens, int, (int fd, struct timespec const times[2])); # else # if !@HAVE_FUTIMENS@ _GL_FUNCDECL_SYS (futimens, int, (int fd, struct timespec const times[2])); # endif _GL_CXXALIAS_SYS (futimens, int, (int fd, struct timespec const times[2])); # endif _GL_CXXALIASWARN (futimens); #elif defined GNULIB_POSIXCHECK # undef futimens # if HAVE_RAW_DECL_FUTIMENS _GL_WARN_ON_USE (futimens, "futimens is not portable - " "use gnulib module futimens for portability"); # endif #endif #if @GNULIB_LCHMOD@ /* Change the mode of FILENAME to MODE, without dereferencing it if FILENAME denotes a symbolic link. */ # if !@HAVE_LCHMOD@ /* The lchmod replacement follows symbolic links. Callers should take this into account; lchmod should be applied only to arguments that are known to not be symbolic links. On hosts that lack lchmod, this can lead to race conditions between the check and the invocation of lchmod, but we know of no workarounds that are reliable in general. You might try requesting support for lchmod from your operating system supplier. */ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define lchmod chmod # endif /* Need to cast, because on mingw, the second parameter of chmod is int mode. */ _GL_CXXALIAS_RPL_CAST_1 (lchmod, chmod, int, (const char *filename, mode_t mode)); # else # if 0 /* assume already declared */ _GL_FUNCDECL_SYS (lchmod, int, (const char *filename, mode_t mode) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (lchmod, int, (const char *filename, mode_t mode)); # endif # if @HAVE_LCHMOD@ _GL_CXXALIASWARN (lchmod); # endif #elif defined GNULIB_POSIXCHECK # undef lchmod # if HAVE_RAW_DECL_LCHMOD _GL_WARN_ON_USE (lchmod, "lchmod is unportable - " "use gnulib module lchmod for portability"); # endif #endif #if @GNULIB_LSTAT@ # if ! @HAVE_LSTAT@ /* mingw does not support symlinks, therefore it does not have lstat. But without links, stat does just fine. */ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define lstat stat # endif _GL_CXXALIAS_RPL_1 (lstat, stat, int, (const char *name, struct stat *buf)); # elif @REPLACE_LSTAT@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef lstat # define lstat rpl_lstat # endif _GL_FUNCDECL_RPL (lstat, int, (const char *name, struct stat *buf) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (lstat, int, (const char *name, struct stat *buf)); # else _GL_CXXALIAS_SYS (lstat, int, (const char *name, struct stat *buf)); # endif # if @HAVE_LSTAT@ _GL_CXXALIASWARN (lstat); # endif #elif defined GNULIB_POSIXCHECK # undef lstat # if HAVE_RAW_DECL_LSTAT _GL_WARN_ON_USE (lstat, "lstat is unportable - " "use gnulib module lstat for portability"); # endif #endif #if @REPLACE_MKDIR@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef mkdir # define mkdir rpl_mkdir # endif _GL_FUNCDECL_RPL (mkdir, int, (char const *name, mode_t mode) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (mkdir, int, (char const *name, mode_t mode)); #else /* mingw's _mkdir() function has 1 argument, but we pass 2 arguments. Additionally, it declares _mkdir (and depending on compile flags, an alias mkdir), only in the nonstandard includes and , which are included above. */ # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ static inline int rpl_mkdir (char const *name, mode_t mode) { return _mkdir (name); } # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define mkdir rpl_mkdir # endif _GL_CXXALIAS_RPL (mkdir, int, (char const *name, mode_t mode)); # else _GL_CXXALIAS_SYS (mkdir, int, (char const *name, mode_t mode)); # endif #endif _GL_CXXALIASWARN (mkdir); #if @GNULIB_MKDIRAT@ # if !@HAVE_MKDIRAT@ _GL_FUNCDECL_SYS (mkdirat, int, (int fd, char const *file, mode_t mode) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (mkdirat, int, (int fd, char const *file, mode_t mode)); _GL_CXXALIASWARN (mkdirat); #elif defined GNULIB_POSIXCHECK # undef mkdirat # if HAVE_RAW_DECL_MKDIRAT _GL_WARN_ON_USE (mkdirat, "mkdirat is not portable - " "use gnulib module openat for portability"); # endif #endif #if @GNULIB_MKFIFO@ # if @REPLACE_MKFIFO@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef mkfifo # define mkfifo rpl_mkfifo # endif _GL_FUNCDECL_RPL (mkfifo, int, (char const *file, mode_t mode) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (mkfifo, int, (char const *file, mode_t mode)); # else # if !@HAVE_MKFIFO@ _GL_FUNCDECL_SYS (mkfifo, int, (char const *file, mode_t mode) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (mkfifo, int, (char const *file, mode_t mode)); # endif _GL_CXXALIASWARN (mkfifo); #elif defined GNULIB_POSIXCHECK # undef mkfifo # if HAVE_RAW_DECL_MKFIFO _GL_WARN_ON_USE (mkfifo, "mkfifo is not portable - " "use gnulib module mkfifo for portability"); # endif #endif #if @GNULIB_MKFIFOAT@ # if !@HAVE_MKFIFOAT@ _GL_FUNCDECL_SYS (mkfifoat, int, (int fd, char const *file, mode_t mode) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (mkfifoat, int, (int fd, char const *file, mode_t mode)); _GL_CXXALIASWARN (mkfifoat); #elif defined GNULIB_POSIXCHECK # undef mkfifoat # if HAVE_RAW_DECL_MKFIFOAT _GL_WARN_ON_USE (mkfifoat, "mkfifoat is not portable - " "use gnulib module mkfifoat for portability"); # endif #endif #if @GNULIB_MKNOD@ # if @REPLACE_MKNOD@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef mknod # define mknod rpl_mknod # endif _GL_FUNCDECL_RPL (mknod, int, (char const *file, mode_t mode, dev_t dev) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (mknod, int, (char const *file, mode_t mode, dev_t dev)); # else # if !@HAVE_MKNOD@ _GL_FUNCDECL_SYS (mknod, int, (char const *file, mode_t mode, dev_t dev) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (mknod, int, (char const *file, mode_t mode, dev_t dev)); # endif _GL_CXXALIASWARN (mknod); #elif defined GNULIB_POSIXCHECK # undef mknod # if HAVE_RAW_DECL_MKNOD _GL_WARN_ON_USE (mknod, "mknod is not portable - " "use gnulib module mknod for portability"); # endif #endif #if @GNULIB_MKNODAT@ # if !@HAVE_MKNODAT@ _GL_FUNCDECL_SYS (mknodat, int, (int fd, char const *file, mode_t mode, dev_t dev) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (mknodat, int, (int fd, char const *file, mode_t mode, dev_t dev)); _GL_CXXALIASWARN (mknodat); #elif defined GNULIB_POSIXCHECK # undef mknodat # if HAVE_RAW_DECL_MKNODAT _GL_WARN_ON_USE (mknodat, "mknodat is not portable - " "use gnulib module mkfifoat for portability"); # endif #endif #if @GNULIB_STAT@ # if @REPLACE_STAT@ /* We can't use the object-like #define stat rpl_stat, because of struct stat. This means that rpl_stat will not be used if the user does (stat)(a,b). Oh well. */ # undef stat # ifdef _LARGE_FILES /* With _LARGE_FILES defined, AIX (only) defines stat to stat64, so we have to replace stat64() instead of stat(). */ # define stat stat64 # undef stat64 # define stat64(name, st) rpl_stat (name, st) # else /* !_LARGE_FILES */ # define stat(name, st) rpl_stat (name, st) # endif /* !_LARGE_FILES */ _GL_EXTERN_C int stat (const char *name, struct stat *buf) _GL_ARG_NONNULL ((1, 2)); # endif #elif defined GNULIB_POSIXCHECK # undef stat # if HAVE_RAW_DECL_STAT _GL_WARN_ON_USE (stat, "stat is unportable - " "use gnulib module stat for portability"); # endif #endif #if @GNULIB_UTIMENSAT@ # if @REPLACE_UTIMENSAT@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef utimensat # define utimensat rpl_utimensat # endif _GL_FUNCDECL_RPL (utimensat, int, (int fd, char const *name, struct timespec const times[2], int flag) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (utimensat, int, (int fd, char const *name, struct timespec const times[2], int flag)); # else # if !@HAVE_UTIMENSAT@ _GL_FUNCDECL_SYS (utimensat, int, (int fd, char const *name, struct timespec const times[2], int flag) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (utimensat, int, (int fd, char const *name, struct timespec const times[2], int flag)); # endif _GL_CXXALIASWARN (utimensat); #elif defined GNULIB_POSIXCHECK # undef utimensat # if HAVE_RAW_DECL_UTIMENSAT _GL_WARN_ON_USE (utimensat, "utimensat is not portable - " "use gnulib module utimensat for portability"); # endif #endif #endif /* _GL_SYS_STAT_H */ #endif /* _GL_SYS_STAT_H */ #endif parted-2.3/lib/nl_langinfo.c0000644000000000000000000001443411370541031012725 00000000000000/* nl_langinfo() replacement: query locale dependent information. Copyright (C) 2007-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include #if REPLACE_NL_LANGINFO /* Override nl_langinfo with support for added nl_item values. */ # include # include # undef nl_langinfo char * rpl_nl_langinfo (nl_item item) { switch (item) { # if GNULIB_defined_CODESET case CODESET: { const char *locale; static char buf[2 + 10 + 1]; locale = setlocale (LC_CTYPE, NULL); if (locale != NULL && locale[0] != '\0') { /* If the locale name contains an encoding after the dot, return it. */ const char *dot = strchr (locale, '.'); if (dot != NULL) { const char *modifier; dot++; /* Look for the possible @... trailer and remove it, if any. */ modifier = strchr (dot, '@'); if (modifier == NULL) return dot; if (modifier - dot < sizeof (buf)) { memcpy (buf, dot, modifier - dot); buf [modifier - dot] = '\0'; return buf; } } } return ""; } # endif # if GNULIB_defined_ERA case ERA: /* The format is not standardized. In glibc it is a sequence of strings of the form "direction:offset:start_date:end_date:era_name:era_format" with an empty string at the end. */ return ""; case ERA_D_FMT: /* The %Ex conversion in strftime behaves like %x if the locale does not have an alternative time format. */ item = D_FMT; break; case ERA_D_T_FMT: /* The %Ec conversion in strftime behaves like %c if the locale does not have an alternative time format. */ item = D_T_FMT; break; case ERA_T_FMT: /* The %EX conversion in strftime behaves like %X if the locale does not have an alternative time format. */ item = T_FMT; break; case ALT_DIGITS: /* The format is not standardized. In glibc it is a sequence of 10 strings, appended in memory. */ return "\0\0\0\0\0\0\0\0\0\0"; # endif default: break; } return nl_langinfo (item); } #else /* Provide nl_langinfo from scratch. */ # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* Native Windows platforms. */ # define WIN32_LEAN_AND_MEAN /* avoid including junk */ # include # include # else /* An old Unix platform without locales, such as Linux libc5 or BeOS. */ # endif # include char * nl_langinfo (nl_item item) { switch (item) { /* nl_langinfo items of the LC_CTYPE category */ case CODESET: # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ { static char buf[2 + 10 + 1]; /* Woe32 has a function returning the locale's codepage as a number. */ sprintf (buf, "CP%u", GetACP ()); return buf; } # elif defined __BEOS__ return "UTF-8"; # else return "ISO-8859-1"; # endif /* nl_langinfo items of the LC_NUMERIC category */ case RADIXCHAR: return localeconv () ->decimal_point; case THOUSEP: return localeconv () ->thousands_sep; /* nl_langinfo items of the LC_TIME category. TODO: Really use the locale. */ case D_T_FMT: case ERA_D_T_FMT: return "%a %b %e %H:%M:%S %Y"; case D_FMT: case ERA_D_FMT: return "%m/%d/%y"; case T_FMT: case ERA_T_FMT: return "%H:%M:%S"; case T_FMT_AMPM: return "%I:%M:%S %p"; case AM_STR: return "AM"; case PM_STR: return "PM"; case DAY_1: return "Sunday"; case DAY_2: return "Monday"; case DAY_3: return "Tuesday"; case DAY_4: return "Wednesday"; case DAY_5: return "Thursday"; case DAY_6: return "Friday"; case DAY_7: return "Saturday"; case ABDAY_1: return "Sun"; case ABDAY_2: return "Mon"; case ABDAY_3: return "Tue"; case ABDAY_4: return "Wed"; case ABDAY_5: return "Thu"; case ABDAY_6: return "Fri"; case ABDAY_7: return "Sat"; case MON_1: return "January"; case MON_2: return "February"; case MON_3: return "March"; case MON_4: return "April"; case MON_5: return "May"; case MON_6: return "June"; case MON_7: return "July"; case MON_8: return "August"; case MON_9: return "September"; case MON_10: return "October"; case MON_11: return "November"; case MON_12: return "December"; case ABMON_1: return "Jan"; case ABMON_2: return "Feb"; case ABMON_3: return "Mar"; case ABMON_4: return "Apr"; case ABMON_5: return "May"; case ABMON_6: return "Jun"; case ABMON_7: return "Jul"; case ABMON_8: return "Aug"; case ABMON_9: return "Sep"; case ABMON_10: return "Oct"; case ABMON_11: return "Nov"; case ABMON_12: return "Dec"; case ERA: return ""; case ALT_DIGITS: return "\0\0\0\0\0\0\0\0\0\0"; /* nl_langinfo items of the LC_MONETARY category TODO: Really use the locale. */ case CRNCYSTR: return "-"; /* nl_langinfo items of the LC_MESSAGES category TODO: Really use the locale. */ case YESEXPR: return "^[yY]"; case NOEXPR: return "^[nN]"; default: return ""; } } #endif parted-2.3/lib/ref-add.sin0000644000000000000000000000206511333760254012316 00000000000000# Add this package to a list of references stored in a text file. # # Copyright (C) 2000, 2009, 2010 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 3, 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. # # Written by Bruno Haible . # /^# Packages using this file: / { s/# Packages using this file:// ta :a s/ @PACKAGE@ / @PACKAGE@ / tb s/ $/ @PACKAGE@ / :b s/^/# Packages using this file:/ } parted-2.3/lib/streq.h0000644000000000000000000000775711333760254011625 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Optimized string comparison. Copyright (C) 2001-2002, 2007, 2009-2010 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 3 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 Lesser General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible . */ #ifndef _GL_STREQ_H #define _GL_STREQ_H #include /* STREQ allows to optimize string comparison with a small literal string. STREQ (s, "EUC-KR", 'E', 'U', 'C', '-', 'K', 'R', 0, 0, 0) is semantically equivalent to strcmp (s, "EUC-KR") == 0 just faster. */ /* Help GCC to generate good code for string comparisons with immediate strings. */ #if defined (__GNUC__) && defined (__OPTIMIZE__) static inline int streq9 (const char *s1, const char *s2) { return strcmp (s1 + 9, s2 + 9) == 0; } static inline int streq8 (const char *s1, const char *s2, char s28) { if (s1[8] == s28) { if (s28 == 0) return 1; else return streq9 (s1, s2); } else return 0; } static inline int streq7 (const char *s1, const char *s2, char s27, char s28) { if (s1[7] == s27) { if (s27 == 0) return 1; else return streq8 (s1, s2, s28); } else return 0; } static inline int streq6 (const char *s1, const char *s2, char s26, char s27, char s28) { if (s1[6] == s26) { if (s26 == 0) return 1; else return streq7 (s1, s2, s27, s28); } else return 0; } static inline int streq5 (const char *s1, const char *s2, char s25, char s26, char s27, char s28) { if (s1[5] == s25) { if (s25 == 0) return 1; else return streq6 (s1, s2, s26, s27, s28); } else return 0; } static inline int streq4 (const char *s1, const char *s2, char s24, char s25, char s26, char s27, char s28) { if (s1[4] == s24) { if (s24 == 0) return 1; else return streq5 (s1, s2, s25, s26, s27, s28); } else return 0; } static inline int streq3 (const char *s1, const char *s2, char s23, char s24, char s25, char s26, char s27, char s28) { if (s1[3] == s23) { if (s23 == 0) return 1; else return streq4 (s1, s2, s24, s25, s26, s27, s28); } else return 0; } static inline int streq2 (const char *s1, const char *s2, char s22, char s23, char s24, char s25, char s26, char s27, char s28) { if (s1[2] == s22) { if (s22 == 0) return 1; else return streq3 (s1, s2, s23, s24, s25, s26, s27, s28); } else return 0; } static inline int streq1 (const char *s1, const char *s2, char s21, char s22, char s23, char s24, char s25, char s26, char s27, char s28) { if (s1[1] == s21) { if (s21 == 0) return 1; else return streq2 (s1, s2, s22, s23, s24, s25, s26, s27, s28); } else return 0; } static inline int streq0 (const char *s1, const char *s2, char s20, char s21, char s22, char s23, char s24, char s25, char s26, char s27, char s28) { if (s1[0] == s20) { if (s20 == 0) return 1; else return streq1 (s1, s2, s21, s22, s23, s24, s25, s26, s27, s28); } else return 0; } #define STREQ(s1,s2,s20,s21,s22,s23,s24,s25,s26,s27,s28) \ streq0 (s1, s2, s20, s21, s22, s23, s24, s25, s26, s27, s28) #else #define STREQ(s1,s2,s20,s21,s22,s23,s24,s25,s26,s27,s28) \ (strcmp (s1, s2) == 0) #endif #endif /* _GL_STREQ_H */ parted-2.3/lib/gettimeofday.c0000644000000000000000000000756511341735056013141 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Provide gettimeofday for systems that don't have it or for which it's broken. Copyright (C) 2001-2003, 2005-2007, 2009-2010 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 3, 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. */ /* written by Jim Meyering */ #include /* Specification. */ #include #include #if HAVE_SYS_TIMEB_H # include #endif #if GETTIMEOFDAY_CLOBBERS_LOCALTIME || TZSET_CLOBBERS_LOCALTIME /* Work around the bug in some systems whereby gettimeofday clobbers the static buffer that localtime uses for its return value. The gettimeofday function from Mac OS X 10.0.4 (i.e., Darwin 1.3.7) has this problem. The tzset replacement is necessary for at least Solaris 2.5, 2.5.1, and 2.6. */ static struct tm tm_zero_buffer; static struct tm *localtime_buffer_addr = &tm_zero_buffer; #undef localtime extern struct tm *localtime (time_t const *); #undef gmtime extern struct tm *gmtime (time_t const *); /* This is a wrapper for localtime. It is used only on systems for which gettimeofday clobbers the static buffer used for localtime's result. On the first call, record the address of the static buffer that localtime uses for its result. */ struct tm * rpl_localtime (time_t const *timep) { struct tm *tm = localtime (timep); if (localtime_buffer_addr == &tm_zero_buffer) localtime_buffer_addr = tm; return tm; } /* Same as above, since gmtime and localtime use the same buffer. */ struct tm * rpl_gmtime (time_t const *timep) { struct tm *tm = gmtime (timep); if (localtime_buffer_addr == &tm_zero_buffer) localtime_buffer_addr = tm; return tm; } #endif /* GETTIMEOFDAY_CLOBBERS_LOCALTIME || TZSET_CLOBBERS_LOCALTIME */ #if TZSET_CLOBBERS_LOCALTIME #undef tzset extern void tzset (void); /* This is a wrapper for tzset, for systems on which tzset may clobber the static buffer used for localtime's result. */ void rpl_tzset (void) { /* Save and restore the contents of the buffer used for localtime's result around the call to tzset. */ struct tm save = *localtime_buffer_addr; tzset (); *localtime_buffer_addr = save; } #endif /* This is a wrapper for gettimeofday. It is used only on systems that lack this function, or whose implementation of this function causes problems. */ int gettimeofday (struct timeval *restrict tv, void *restrict tz) { #undef gettimeofday #if HAVE_GETTIMEOFDAY # if GETTIMEOFDAY_CLOBBERS_LOCALTIME /* Save and restore the contents of the buffer used for localtime's result around the call to gettimeofday. */ struct tm save = *localtime_buffer_addr; # endif int result = gettimeofday (tv, (struct timezone *) tz); # if GETTIMEOFDAY_CLOBBERS_LOCALTIME *localtime_buffer_addr = save; # endif return result; #else # if HAVE__FTIME struct _timeb timebuf; _ftime (&timebuf); tv->tv_sec = timebuf.time; tv->tv_usec = timebuf.millitm * 1000; # else # if !defined OK_TO_USE_1S_CLOCK # error "Only 1-second nominal clock resolution found. Is that intended?" \ "If so, compile with the -DOK_TO_USE_1S_CLOCK option." # endif tv->tv_sec = time (NULL); tv->tv_usec = 0; # endif return 0; #endif } parted-2.3/lib/regex_internal.h0000644000000000000000000005724311377165373013501 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Extended regular expression matching and search library. Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa . 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 3, 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. */ #ifndef _REGEX_INTERNAL_H #define _REGEX_INTERNAL_H 1 #include #include #include #include #include #include #include #ifndef _LIBC # include "localcharset.h" #endif #if defined HAVE_LOCALE_H || defined _LIBC # include #endif #include #include #include #if defined _LIBC # include #else # define __libc_lock_init(NAME) do { } while (0) # define __libc_lock_lock(NAME) do { } while (0) # define __libc_lock_unlock(NAME) do { } while (0) #endif /* In case that the system doesn't have isblank(). */ #if !defined _LIBC && ! (defined isblank || (HAVE_ISBLANK && HAVE_DECL_ISBLANK)) # define isblank(ch) ((ch) == ' ' || (ch) == '\t') #endif #ifdef _LIBC # ifndef _RE_DEFINE_LOCALE_FUNCTIONS # define _RE_DEFINE_LOCALE_FUNCTIONS 1 # include # include # include # endif #endif /* This is for other GNU distributions with internationalized messages. */ #if (HAVE_LIBINTL_H && ENABLE_NLS) || defined _LIBC # include # ifdef _LIBC # undef gettext # define gettext(msgid) \ INTUSE(__dcgettext) (_libc_intl_domainname, msgid, LC_MESSAGES) # endif #else # define gettext(msgid) (msgid) #endif #ifndef gettext_noop /* This define is so xgettext can find the internationalizable strings. */ # define gettext_noop(String) String #endif /* For loser systems without the definition. */ #ifndef SIZE_MAX # define SIZE_MAX ((size_t) -1) #endif #if (defined MB_CUR_MAX && HAVE_LOCALE_H && HAVE_WCTYPE_H && HAVE_ISWCTYPE && HAVE_WCSCOLL) || _LIBC # define RE_ENABLE_I18N #endif #if __GNUC__ >= 3 # define BE(expr, val) __builtin_expect (expr, val) #else # define BE(expr, val) (expr) # ifdef _LIBC # define inline # endif #endif /* Number of ASCII characters. */ #define ASCII_CHARS 0x80 /* Number of single byte characters. */ #define SBC_MAX (UCHAR_MAX + 1) #define COLL_ELEM_LEN_MAX 8 /* The character which represents newline. */ #define NEWLINE_CHAR '\n' #define WIDE_NEWLINE_CHAR L'\n' /* Rename to standard API for using out of glibc. */ #ifndef _LIBC # define __wctype wctype # define __iswctype iswctype # define __btowc btowc # define __wcrtomb wcrtomb # define __mbrtowc mbrtowc # define __regfree regfree # define attribute_hidden #endif /* not _LIBC */ #if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1) # define __attribute(arg) __attribute__ (arg) #else # define __attribute(arg) #endif typedef __re_idx_t Idx; /* Special return value for failure to match. */ #define REG_MISSING ((Idx) -1) /* Special return value for internal error. */ #define REG_ERROR ((Idx) -2) /* Test whether N is a valid index, and is not one of the above. */ #ifdef _REGEX_LARGE_OFFSETS # define REG_VALID_INDEX(n) ((Idx) (n) < REG_ERROR) #else # define REG_VALID_INDEX(n) (0 <= (n)) #endif /* Test whether N is a valid nonzero index. */ #ifdef _REGEX_LARGE_OFFSETS # define REG_VALID_NONZERO_INDEX(n) ((Idx) ((n) - 1) < (Idx) (REG_ERROR - 1)) #else # define REG_VALID_NONZERO_INDEX(n) (0 < (n)) #endif /* A hash value, suitable for computing hash tables. */ typedef __re_size_t re_hashval_t; /* An integer used to represent a set of bits. It must be unsigned, and must be at least as wide as unsigned int. */ typedef unsigned long int bitset_word_t; /* All bits set in a bitset_word_t. */ #define BITSET_WORD_MAX ULONG_MAX /* Number of bits in a bitset_word_t. For portability to hosts with padding bits, do not use '(sizeof (bitset_word_t) * CHAR_BIT)'; instead, deduce it directly from BITSET_WORD_MAX. Avoid greater-than-32-bit integers and unconditional shifts by more than 31 bits, as they're not portable. */ #if BITSET_WORD_MAX == 0xffffffffUL # define BITSET_WORD_BITS 32 #elif BITSET_WORD_MAX >> 31 >> 4 == 1 # define BITSET_WORD_BITS 36 #elif BITSET_WORD_MAX >> 31 >> 16 == 1 # define BITSET_WORD_BITS 48 #elif BITSET_WORD_MAX >> 31 >> 28 == 1 # define BITSET_WORD_BITS 60 #elif BITSET_WORD_MAX >> 31 >> 31 >> 1 == 1 # define BITSET_WORD_BITS 64 #elif BITSET_WORD_MAX >> 31 >> 31 >> 9 == 1 # define BITSET_WORD_BITS 72 #elif BITSET_WORD_MAX >> 31 >> 31 >> 31 >> 31 >> 3 == 1 # define BITSET_WORD_BITS 128 #elif BITSET_WORD_MAX >> 31 >> 31 >> 31 >> 31 >> 31 >> 31 >> 31 >> 31 >> 7 == 1 # define BITSET_WORD_BITS 256 #elif BITSET_WORD_MAX >> 31 >> 31 >> 31 >> 31 >> 31 >> 31 >> 31 >> 31 >> 7 > 1 # define BITSET_WORD_BITS 257 /* any value > SBC_MAX will do here */ # if BITSET_WORD_BITS <= SBC_MAX # error "Invalid SBC_MAX" # endif #else # error "Add case for new bitset_word_t size" #endif /* Number of bitset_word_t values in a bitset_t. */ #define BITSET_WORDS ((SBC_MAX + BITSET_WORD_BITS - 1) / BITSET_WORD_BITS) typedef bitset_word_t bitset_t[BITSET_WORDS]; typedef bitset_word_t *re_bitset_ptr_t; typedef const bitset_word_t *re_const_bitset_ptr_t; #define PREV_WORD_CONSTRAINT 0x0001 #define PREV_NOTWORD_CONSTRAINT 0x0002 #define NEXT_WORD_CONSTRAINT 0x0004 #define NEXT_NOTWORD_CONSTRAINT 0x0008 #define PREV_NEWLINE_CONSTRAINT 0x0010 #define NEXT_NEWLINE_CONSTRAINT 0x0020 #define PREV_BEGBUF_CONSTRAINT 0x0040 #define NEXT_ENDBUF_CONSTRAINT 0x0080 #define WORD_DELIM_CONSTRAINT 0x0100 #define NOT_WORD_DELIM_CONSTRAINT 0x0200 typedef enum { INSIDE_WORD = PREV_WORD_CONSTRAINT | NEXT_WORD_CONSTRAINT, WORD_FIRST = PREV_NOTWORD_CONSTRAINT | NEXT_WORD_CONSTRAINT, WORD_LAST = PREV_WORD_CONSTRAINT | NEXT_NOTWORD_CONSTRAINT, INSIDE_NOTWORD = PREV_NOTWORD_CONSTRAINT | NEXT_NOTWORD_CONSTRAINT, LINE_FIRST = PREV_NEWLINE_CONSTRAINT, LINE_LAST = NEXT_NEWLINE_CONSTRAINT, BUF_FIRST = PREV_BEGBUF_CONSTRAINT, BUF_LAST = NEXT_ENDBUF_CONSTRAINT, WORD_DELIM = WORD_DELIM_CONSTRAINT, NOT_WORD_DELIM = NOT_WORD_DELIM_CONSTRAINT } re_context_type; typedef struct { Idx alloc; Idx nelem; Idx *elems; } re_node_set; typedef enum { NON_TYPE = 0, /* Node type, These are used by token, node, tree. */ CHARACTER = 1, END_OF_RE = 2, SIMPLE_BRACKET = 3, OP_BACK_REF = 4, OP_PERIOD = 5, #ifdef RE_ENABLE_I18N COMPLEX_BRACKET = 6, OP_UTF8_PERIOD = 7, #endif /* RE_ENABLE_I18N */ /* We define EPSILON_BIT as a macro so that OP_OPEN_SUBEXP is used when the debugger shows values of this enum type. */ #define EPSILON_BIT 8 OP_OPEN_SUBEXP = EPSILON_BIT | 0, OP_CLOSE_SUBEXP = EPSILON_BIT | 1, OP_ALT = EPSILON_BIT | 2, OP_DUP_ASTERISK = EPSILON_BIT | 3, ANCHOR = EPSILON_BIT | 4, /* Tree type, these are used only by tree. */ CONCAT = 16, SUBEXP = 17, /* Token type, these are used only by token. */ OP_DUP_PLUS = 18, OP_DUP_QUESTION, OP_OPEN_BRACKET, OP_CLOSE_BRACKET, OP_CHARSET_RANGE, OP_OPEN_DUP_NUM, OP_CLOSE_DUP_NUM, OP_NON_MATCH_LIST, OP_OPEN_COLL_ELEM, OP_CLOSE_COLL_ELEM, OP_OPEN_EQUIV_CLASS, OP_CLOSE_EQUIV_CLASS, OP_OPEN_CHAR_CLASS, OP_CLOSE_CHAR_CLASS, OP_WORD, OP_NOTWORD, OP_SPACE, OP_NOTSPACE, BACK_SLASH } re_token_type_t; #ifdef RE_ENABLE_I18N typedef struct { /* Multibyte characters. */ wchar_t *mbchars; /* Collating symbols. */ # ifdef _LIBC int32_t *coll_syms; # endif /* Equivalence classes. */ # ifdef _LIBC int32_t *equiv_classes; # endif /* Range expressions. */ # ifdef _LIBC uint32_t *range_starts; uint32_t *range_ends; # else /* not _LIBC */ wchar_t *range_starts; wchar_t *range_ends; # endif /* not _LIBC */ /* Character classes. */ wctype_t *char_classes; /* If this character set is the non-matching list. */ unsigned int non_match : 1; /* # of multibyte characters. */ Idx nmbchars; /* # of collating symbols. */ Idx ncoll_syms; /* # of equivalence classes. */ Idx nequiv_classes; /* # of range expressions. */ Idx nranges; /* # of character classes. */ Idx nchar_classes; } re_charset_t; #endif /* RE_ENABLE_I18N */ typedef struct { union { unsigned char c; /* for CHARACTER */ re_bitset_ptr_t sbcset; /* for SIMPLE_BRACKET */ #ifdef RE_ENABLE_I18N re_charset_t *mbcset; /* for COMPLEX_BRACKET */ #endif /* RE_ENABLE_I18N */ Idx idx; /* for BACK_REF */ re_context_type ctx_type; /* for ANCHOR */ } opr; #if __GNUC__ >= 2 && !__STRICT_ANSI__ re_token_type_t type : 8; #else re_token_type_t type; #endif unsigned int constraint : 10; /* context constraint */ unsigned int duplicated : 1; unsigned int opt_subexp : 1; #ifdef RE_ENABLE_I18N unsigned int accept_mb : 1; /* These 2 bits can be moved into the union if needed (e.g. if running out of bits; move opr.c to opr.c.c and move the flags to opr.c.flags). */ unsigned int mb_partial : 1; #endif unsigned int word_char : 1; } re_token_t; #define IS_EPSILON_NODE(type) ((type) & EPSILON_BIT) struct re_string_t { /* Indicate the raw buffer which is the original string passed as an argument of regexec(), re_search(), etc.. */ const unsigned char *raw_mbs; /* Store the multibyte string. In case of "case insensitive mode" like REG_ICASE, upper cases of the string are stored, otherwise MBS points the same address that RAW_MBS points. */ unsigned char *mbs; #ifdef RE_ENABLE_I18N /* Store the wide character string which is corresponding to MBS. */ wint_t *wcs; Idx *offsets; mbstate_t cur_state; #endif /* Index in RAW_MBS. Each character mbs[i] corresponds to raw_mbs[raw_mbs_idx + i]. */ Idx raw_mbs_idx; /* The length of the valid characters in the buffers. */ Idx valid_len; /* The corresponding number of bytes in raw_mbs array. */ Idx valid_raw_len; /* The length of the buffers MBS and WCS. */ Idx bufs_len; /* The index in MBS, which is updated by re_string_fetch_byte. */ Idx cur_idx; /* length of RAW_MBS array. */ Idx raw_len; /* This is RAW_LEN - RAW_MBS_IDX + VALID_LEN - VALID_RAW_LEN. */ Idx len; /* End of the buffer may be shorter than its length in the cases such as re_match_2, re_search_2. Then, we use STOP for end of the buffer instead of LEN. */ Idx raw_stop; /* This is RAW_STOP - RAW_MBS_IDX adjusted through OFFSETS. */ Idx stop; /* The context of mbs[0]. We store the context independently, since the context of mbs[0] may be different from raw_mbs[0], which is the beginning of the input string. */ unsigned int tip_context; /* The translation passed as a part of an argument of re_compile_pattern. */ RE_TRANSLATE_TYPE trans; /* Copy of re_dfa_t's word_char. */ re_const_bitset_ptr_t word_char; /* true if REG_ICASE. */ unsigned char icase; unsigned char is_utf8; unsigned char map_notascii; unsigned char mbs_allocated; unsigned char offsets_needed; unsigned char newline_anchor; unsigned char word_ops_used; int mb_cur_max; }; typedef struct re_string_t re_string_t; struct re_dfa_t; typedef struct re_dfa_t re_dfa_t; #ifndef _LIBC # if defined __i386__ && !defined __EMX__ # define internal_function __attribute ((regparm (3), stdcall)) # else # define internal_function # endif #endif static reg_errcode_t re_string_realloc_buffers (re_string_t *pstr, Idx new_buf_len) internal_function; #ifdef RE_ENABLE_I18N static void build_wcs_buffer (re_string_t *pstr) internal_function; static reg_errcode_t build_wcs_upper_buffer (re_string_t *pstr) internal_function; #endif /* RE_ENABLE_I18N */ static void build_upper_buffer (re_string_t *pstr) internal_function; static void re_string_translate_buffer (re_string_t *pstr) internal_function; static unsigned int re_string_context_at (const re_string_t *input, Idx idx, int eflags) internal_function __attribute ((pure)); #define re_string_peek_byte(pstr, offset) \ ((pstr)->mbs[(pstr)->cur_idx + offset]) #define re_string_fetch_byte(pstr) \ ((pstr)->mbs[(pstr)->cur_idx++]) #define re_string_first_byte(pstr, idx) \ ((idx) == (pstr)->valid_len || (pstr)->wcs[idx] != WEOF) #define re_string_is_single_byte_char(pstr, idx) \ ((pstr)->wcs[idx] != WEOF && ((pstr)->valid_len == (idx) + 1 \ || (pstr)->wcs[(idx) + 1] != WEOF)) #define re_string_eoi(pstr) ((pstr)->stop <= (pstr)->cur_idx) #define re_string_cur_idx(pstr) ((pstr)->cur_idx) #define re_string_get_buffer(pstr) ((pstr)->mbs) #define re_string_length(pstr) ((pstr)->len) #define re_string_byte_at(pstr,idx) ((pstr)->mbs[idx]) #define re_string_skip_bytes(pstr,idx) ((pstr)->cur_idx += (idx)) #define re_string_set_index(pstr,idx) ((pstr)->cur_idx = (idx)) #include #ifndef _LIBC # if HAVE_ALLOCA /* The OS usually guarantees only one guard page at the bottom of the stack, and a page size can be as small as 4096 bytes. So we cannot safely allocate anything larger than 4096 bytes. Also care for the possibility of a few compiler-allocated temporary stack slots. */ # define __libc_use_alloca(n) ((n) < 4032) # else /* alloca is implemented with malloc, so just use malloc. */ # define __libc_use_alloca(n) 0 # undef alloca # define alloca(n) malloc (n) # endif #endif #ifndef MAX # define MAX(a,b) ((a) < (b) ? (b) : (a)) #endif #define re_malloc(t,n) ((t *) malloc ((n) * sizeof (t))) #define re_realloc(p,t,n) ((t *) realloc (p, (n) * sizeof (t))) #define re_free(p) free (p) struct bin_tree_t { struct bin_tree_t *parent; struct bin_tree_t *left; struct bin_tree_t *right; struct bin_tree_t *first; struct bin_tree_t *next; re_token_t token; /* `node_idx' is the index in dfa->nodes, if `type' == 0. Otherwise `type' indicate the type of this node. */ Idx node_idx; }; typedef struct bin_tree_t bin_tree_t; #define BIN_TREE_STORAGE_SIZE \ ((1024 - sizeof (void *)) / sizeof (bin_tree_t)) struct bin_tree_storage_t { struct bin_tree_storage_t *next; bin_tree_t data[BIN_TREE_STORAGE_SIZE]; }; typedef struct bin_tree_storage_t bin_tree_storage_t; #define CONTEXT_WORD 1 #define CONTEXT_NEWLINE (CONTEXT_WORD << 1) #define CONTEXT_BEGBUF (CONTEXT_NEWLINE << 1) #define CONTEXT_ENDBUF (CONTEXT_BEGBUF << 1) #define IS_WORD_CONTEXT(c) ((c) & CONTEXT_WORD) #define IS_NEWLINE_CONTEXT(c) ((c) & CONTEXT_NEWLINE) #define IS_BEGBUF_CONTEXT(c) ((c) & CONTEXT_BEGBUF) #define IS_ENDBUF_CONTEXT(c) ((c) & CONTEXT_ENDBUF) #define IS_ORDINARY_CONTEXT(c) ((c) == 0) #define IS_WORD_CHAR(ch) (isalnum (ch) || (ch) == '_') #define IS_NEWLINE(ch) ((ch) == NEWLINE_CHAR) #define IS_WIDE_WORD_CHAR(ch) (iswalnum (ch) || (ch) == L'_') #define IS_WIDE_NEWLINE(ch) ((ch) == WIDE_NEWLINE_CHAR) #define NOT_SATISFY_PREV_CONSTRAINT(constraint,context) \ ((((constraint) & PREV_WORD_CONSTRAINT) && !IS_WORD_CONTEXT (context)) \ || ((constraint & PREV_NOTWORD_CONSTRAINT) && IS_WORD_CONTEXT (context)) \ || ((constraint & PREV_NEWLINE_CONSTRAINT) && !IS_NEWLINE_CONTEXT (context))\ || ((constraint & PREV_BEGBUF_CONSTRAINT) && !IS_BEGBUF_CONTEXT (context))) #define NOT_SATISFY_NEXT_CONSTRAINT(constraint,context) \ ((((constraint) & NEXT_WORD_CONSTRAINT) && !IS_WORD_CONTEXT (context)) \ || (((constraint) & NEXT_NOTWORD_CONSTRAINT) && IS_WORD_CONTEXT (context)) \ || (((constraint) & NEXT_NEWLINE_CONSTRAINT) && !IS_NEWLINE_CONTEXT (context)) \ || (((constraint) & NEXT_ENDBUF_CONSTRAINT) && !IS_ENDBUF_CONTEXT (context))) struct re_dfastate_t { re_hashval_t hash; re_node_set nodes; re_node_set non_eps_nodes; re_node_set inveclosure; re_node_set *entrance_nodes; struct re_dfastate_t **trtable, **word_trtable; unsigned int context : 4; unsigned int halt : 1; /* If this state can accept `multi byte'. Note that we refer to multibyte characters, and multi character collating elements as `multi byte'. */ unsigned int accept_mb : 1; /* If this state has backreference node(s). */ unsigned int has_backref : 1; unsigned int has_constraint : 1; }; typedef struct re_dfastate_t re_dfastate_t; struct re_state_table_entry { Idx num; Idx alloc; re_dfastate_t **array; }; /* Array type used in re_sub_match_last_t and re_sub_match_top_t. */ typedef struct { Idx next_idx; Idx alloc; re_dfastate_t **array; } state_array_t; /* Store information about the node NODE whose type is OP_CLOSE_SUBEXP. */ typedef struct { Idx node; Idx str_idx; /* The position NODE match at. */ state_array_t path; } re_sub_match_last_t; /* Store information about the node NODE whose type is OP_OPEN_SUBEXP. And information about the node, whose type is OP_CLOSE_SUBEXP, corresponding to NODE is stored in LASTS. */ typedef struct { Idx str_idx; Idx node; state_array_t *path; Idx alasts; /* Allocation size of LASTS. */ Idx nlasts; /* The number of LASTS. */ re_sub_match_last_t **lasts; } re_sub_match_top_t; struct re_backref_cache_entry { Idx node; Idx str_idx; Idx subexp_from; Idx subexp_to; char more; char unused; unsigned short int eps_reachable_subexps_map; }; typedef struct { /* The string object corresponding to the input string. */ re_string_t input; #if defined _LIBC || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L) const re_dfa_t *const dfa; #else const re_dfa_t *dfa; #endif /* EFLAGS of the argument of regexec. */ int eflags; /* Where the matching ends. */ Idx match_last; Idx last_node; /* The state log used by the matcher. */ re_dfastate_t **state_log; Idx state_log_top; /* Back reference cache. */ Idx nbkref_ents; Idx abkref_ents; struct re_backref_cache_entry *bkref_ents; int max_mb_elem_len; Idx nsub_tops; Idx asub_tops; re_sub_match_top_t **sub_tops; } re_match_context_t; typedef struct { re_dfastate_t **sifted_states; re_dfastate_t **limited_states; Idx last_node; Idx last_str_idx; re_node_set limits; } re_sift_context_t; struct re_fail_stack_ent_t { Idx idx; Idx node; regmatch_t *regs; re_node_set eps_via_nodes; }; struct re_fail_stack_t { Idx num; Idx alloc; struct re_fail_stack_ent_t *stack; }; struct re_dfa_t { re_token_t *nodes; size_t nodes_alloc; size_t nodes_len; Idx *nexts; Idx *org_indices; re_node_set *edests; re_node_set *eclosures; re_node_set *inveclosures; struct re_state_table_entry *state_table; re_dfastate_t *init_state; re_dfastate_t *init_state_word; re_dfastate_t *init_state_nl; re_dfastate_t *init_state_begbuf; bin_tree_t *str_tree; bin_tree_storage_t *str_tree_storage; re_bitset_ptr_t sb_char; int str_tree_storage_idx; /* number of subexpressions `re_nsub' is in regex_t. */ re_hashval_t state_hash_mask; Idx init_node; Idx nbackref; /* The number of backreference in this dfa. */ /* Bitmap expressing which backreference is used. */ bitset_word_t used_bkref_map; bitset_word_t completed_bkref_map; unsigned int has_plural_match : 1; /* If this dfa has "multibyte node", which is a backreference or a node which can accept multibyte character or multi character collating element. */ unsigned int has_mb_node : 1; unsigned int is_utf8 : 1; unsigned int map_notascii : 1; unsigned int word_ops_used : 1; int mb_cur_max; bitset_t word_char; reg_syntax_t syntax; Idx *subexp_map; #ifdef DEBUG char* re_str; #endif #ifdef _LIBC __libc_lock_define (, lock) #endif }; #define re_node_set_init_empty(set) memset (set, '\0', sizeof (re_node_set)) #define re_node_set_remove(set,id) \ (re_node_set_remove_at (set, re_node_set_contains (set, id) - 1)) #define re_node_set_empty(p) ((p)->nelem = 0) #define re_node_set_free(set) re_free ((set)->elems) typedef enum { SB_CHAR, MB_CHAR, EQUIV_CLASS, COLL_SYM, CHAR_CLASS } bracket_elem_type; typedef struct { bracket_elem_type type; union { unsigned char ch; unsigned char *name; wchar_t wch; } opr; } bracket_elem_t; /* Inline functions for bitset_t operation. */ static inline void bitset_set (bitset_t set, Idx i) { set[i / BITSET_WORD_BITS] |= (bitset_word_t) 1 << i % BITSET_WORD_BITS; } static inline void bitset_clear (bitset_t set, Idx i) { set[i / BITSET_WORD_BITS] &= ~ ((bitset_word_t) 1 << i % BITSET_WORD_BITS); } static inline bool bitset_contain (const bitset_t set, Idx i) { return (set[i / BITSET_WORD_BITS] >> i % BITSET_WORD_BITS) & 1; } static inline void bitset_empty (bitset_t set) { memset (set, '\0', sizeof (bitset_t)); } static inline void bitset_set_all (bitset_t set) { memset (set, -1, sizeof (bitset_word_t) * (SBC_MAX / BITSET_WORD_BITS)); if (SBC_MAX % BITSET_WORD_BITS != 0) set[BITSET_WORDS - 1] = ((bitset_word_t) 1 << SBC_MAX % BITSET_WORD_BITS) - 1; } static inline void bitset_copy (bitset_t dest, const bitset_t src) { memcpy (dest, src, sizeof (bitset_t)); } static inline void bitset_not (bitset_t set) { int bitset_i; for (bitset_i = 0; bitset_i < SBC_MAX / BITSET_WORD_BITS; ++bitset_i) set[bitset_i] = ~set[bitset_i]; if (SBC_MAX % BITSET_WORD_BITS != 0) set[BITSET_WORDS - 1] = ((((bitset_word_t) 1 << SBC_MAX % BITSET_WORD_BITS) - 1) & ~set[BITSET_WORDS - 1]); } static inline void bitset_merge (bitset_t dest, const bitset_t src) { int bitset_i; for (bitset_i = 0; bitset_i < BITSET_WORDS; ++bitset_i) dest[bitset_i] |= src[bitset_i]; } static inline void bitset_mask (bitset_t dest, const bitset_t src) { int bitset_i; for (bitset_i = 0; bitset_i < BITSET_WORDS; ++bitset_i) dest[bitset_i] &= src[bitset_i]; } #ifdef RE_ENABLE_I18N /* Inline functions for re_string. */ static inline int internal_function __attribute ((pure)) re_string_char_size_at (const re_string_t *pstr, Idx idx) { int byte_idx; if (pstr->mb_cur_max == 1) return 1; for (byte_idx = 1; idx + byte_idx < pstr->valid_len; ++byte_idx) if (pstr->wcs[idx + byte_idx] != WEOF) break; return byte_idx; } static inline wint_t internal_function __attribute ((pure)) re_string_wchar_at (const re_string_t *pstr, Idx idx) { if (pstr->mb_cur_max == 1) return (wint_t) pstr->mbs[idx]; return (wint_t) pstr->wcs[idx]; } static int internal_function __attribute ((pure)) re_string_elem_size_at (const re_string_t *pstr, Idx idx) { # ifdef _LIBC const unsigned char *p, *extra; const int32_t *table, *indirect; int32_t tmp; # include uint_fast32_t nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); if (nrules != 0) { table = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_TABLEMB); extra = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_EXTRAMB); indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB); p = pstr->mbs + idx; tmp = findidx (&p); return p - pstr->mbs - idx; } else # endif /* _LIBC */ return 1; } #endif /* RE_ENABLE_I18N */ #ifndef __GNUC_PREREQ # if defined __GNUC__ && defined __GNUC_MINOR__ # define __GNUC_PREREQ(maj, min) \ ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) # else # define __GNUC_PREREQ(maj, min) 0 # endif #endif #if __GNUC_PREREQ (3,4) # undef __attribute_warn_unused_result__ # define __attribute_warn_unused_result__ \ __attribute__ ((__warn_unused_result__)) #else # define __attribute_warn_unused_result__ /* empty */ #endif #endif /* _REGEX_INTERNAL_H */ parted-2.3/lib/intprops.h0000644000000000000000000000627211370541031012323 00000000000000/* intprops.h -- properties of integer types Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009, 2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #ifndef GL_INTPROPS_H # define GL_INTPROPS_H # include /* The extra casts in the following macros work around compiler bugs, e.g., in Cray C 5.0.3.0. */ /* True if the arithmetic type T is an integer type. bool counts as an integer. */ # define TYPE_IS_INTEGER(t) ((t) 1.5 == 1) /* True if negative values of the signed integer type T use two's complement, ones' complement, or signed magnitude representation, respectively. Much GNU code assumes two's complement, but some people like to be portable to all possible C hosts. */ # define TYPE_TWOS_COMPLEMENT(t) ((t) ~ (t) 0 == (t) -1) # define TYPE_ONES_COMPLEMENT(t) ((t) ~ (t) 0 == 0) # define TYPE_SIGNED_MAGNITUDE(t) ((t) ~ (t) 0 < (t) -1) /* True if the arithmetic type T is signed. */ # define TYPE_SIGNED(t) (! ((t) 0 < (t) -1)) /* The maximum and minimum values for the integer type T. These macros have undefined behavior if T is signed and has padding bits. If this is a problem for you, please let us know how to fix it for your host. */ # define TYPE_MINIMUM(t) \ ((t) (! TYPE_SIGNED (t) \ ? (t) 0 \ : TYPE_SIGNED_MAGNITUDE (t) \ ? ~ (t) 0 \ : ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1))) # define TYPE_MAXIMUM(t) \ ((t) (! TYPE_SIGNED (t) \ ? (t) -1 \ : ~ (~ (t) 0 << (sizeof (t) * CHAR_BIT - 1)))) /* Return zero if T can be determined to be an unsigned type. Otherwise, return 1. When compiling with GCC, INT_STRLEN_BOUND uses this macro to obtain a tighter bound. Otherwise, it overestimates the true bound by one byte when applied to unsigned types of size 2, 4, 16, ... bytes. The symbol signed_type_or_expr__ is private to this header file. */ # if __GNUC__ >= 2 # define signed_type_or_expr__(t) TYPE_SIGNED (__typeof__ (t)) # else # define signed_type_or_expr__(t) 1 # endif /* Bound on length of the string representing an integer type or expression T. Subtract 1 for the sign bit if T is signed; log10 (2.0) < 146/485; add 1 for integer division truncation; add 1 more for a minus sign if needed. */ # define INT_STRLEN_BOUND(t) \ ((sizeof (t) * CHAR_BIT - signed_type_or_expr__ (t)) * 146 / 485 \ + signed_type_or_expr__ (t) + 1) /* Bound on buffer size needed to represent an integer type or expression T, including the terminating null. */ # define INT_BUFSIZE_BOUND(t) (INT_STRLEN_BOUND (t) + 1) #endif /* GL_INTPROPS_H */ parted-2.3/lib/langinfo.in.h0000644000000000000000000001153611354347365012666 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Substitute for and wrapper around . Copyright (C) 2009, 2010 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 3, 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. */ /* * POSIX for platforms that lack it or have an incomplete one. * */ #ifndef _GL_LANGINFO_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif /* The include_next requires a split double-inclusion guard. */ #if @HAVE_LANGINFO_H@ # @INCLUDE_NEXT@ @NEXT_LANGINFO_H@ #endif #ifndef _GL_LANGINFO_H #define _GL_LANGINFO_H #if !@HAVE_LANGINFO_H@ /* A platform that lacks . */ /* Assume that it also lacks and the nl_item type. */ typedef int nl_item; /* nl_langinfo items of the LC_CTYPE category */ # define CODESET 10000 /* nl_langinfo items of the LC_NUMERIC category */ # define RADIXCHAR 10001 # define THOUSEP 10002 /* nl_langinfo items of the LC_TIME category */ # define D_T_FMT 10003 # define D_FMT 10004 # define T_FMT 10005 # define T_FMT_AMPM 10006 # define AM_STR 10007 # define PM_STR 10008 # define DAY_1 10009 # define DAY_2 (DAY_1 + 1) # define DAY_3 (DAY_1 + 2) # define DAY_4 (DAY_1 + 3) # define DAY_5 (DAY_1 + 4) # define DAY_6 (DAY_1 + 5) # define DAY_7 (DAY_1 + 6) # define ABDAY_1 10016 # define ABDAY_2 (ABDAY_1 + 1) # define ABDAY_3 (ABDAY_1 + 2) # define ABDAY_4 (ABDAY_1 + 3) # define ABDAY_5 (ABDAY_1 + 4) # define ABDAY_6 (ABDAY_1 + 5) # define ABDAY_7 (ABDAY_1 + 6) # define MON_1 10023 # define MON_2 (MON_1 + 1) # define MON_3 (MON_1 + 2) # define MON_4 (MON_1 + 3) # define MON_5 (MON_1 + 4) # define MON_6 (MON_1 + 5) # define MON_7 (MON_1 + 6) # define MON_8 (MON_1 + 7) # define MON_9 (MON_1 + 8) # define MON_10 (MON_1 + 9) # define MON_11 (MON_1 + 10) # define MON_12 (MON_1 + 11) # define ABMON_1 10035 # define ABMON_2 (ABMON_1 + 1) # define ABMON_3 (ABMON_1 + 2) # define ABMON_4 (ABMON_1 + 3) # define ABMON_5 (ABMON_1 + 4) # define ABMON_6 (ABMON_1 + 5) # define ABMON_7 (ABMON_1 + 6) # define ABMON_8 (ABMON_1 + 7) # define ABMON_9 (ABMON_1 + 8) # define ABMON_10 (ABMON_1 + 9) # define ABMON_11 (ABMON_1 + 10) # define ABMON_12 (ABMON_1 + 11) # define ERA 10047 # define ERA_D_FMT 10048 # define ERA_D_T_FMT 10049 # define ERA_T_FMT 10050 # define ALT_DIGITS 10051 /* nl_langinfo items of the LC_MONETARY category */ # define CRNCYSTR 10052 /* nl_langinfo items of the LC_MESSAGES category */ # define YESEXPR 10053 # define NOEXPR 10054 #else /* A platform that has . */ # if !@HAVE_LANGINFO_CODESET@ # define CODESET 10000 # define GNULIB_defined_CODESET 1 # endif # if !@HAVE_LANGINFO_ERA@ # define ERA 10047 # define ERA_D_FMT 10048 # define ERA_D_T_FMT 10049 # define ERA_T_FMT 10050 # define ALT_DIGITS 10051 # define GNULIB_defined_ERA 1 # endif #endif /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ /* Declare overridden functions. */ /* Return a piece of locale dependent information. Note: The difference between nl_langinfo (CODESET) and locale_charset () is that the latter normalizes the encoding names to GNU conventions. */ #if @GNULIB_NL_LANGINFO@ # if @REPLACE_NL_LANGINFO@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef nl_langinfo # define nl_langinfo rpl_nl_langinfo # endif _GL_FUNCDECL_RPL (nl_langinfo, char *, (nl_item item)); _GL_CXXALIAS_RPL (nl_langinfo, char *, (nl_item item)); # else # if !@HAVE_NL_LANGINFO@ _GL_FUNCDECL_SYS (nl_langinfo, char *, (nl_item item)); # endif _GL_CXXALIAS_SYS (nl_langinfo, char *, (nl_item item)); # endif _GL_CXXALIASWARN (nl_langinfo); #elif defined GNULIB_POSIXCHECK # undef nl_langinfo # if HAVE_RAW_DECL_NL_LANGINFO _GL_WARN_ON_USE (nl_langinfo, "nl_langinfo is not portable - " "use gnulib module nl_langinfo for portability"); # endif #endif #endif /* _GL_LANGINFO_H */ #endif /* _GL_LANGINFO_H */ parted-2.3/lib/error.h0000644000000000000000000000470711370541031011577 00000000000000/* Declaration for error-reporting function Copyright (C) 1995, 1996, 1997, 2003, 2006, 2008, 2009, 2010 Free Software Foundation, Inc. This file is part of the GNU C Library. 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _ERROR_H #define _ERROR_H 1 #ifndef __attribute__ /* The __attribute__ feature is available in gcc versions 2.5 and later. The __-protected variants of the attributes 'format' and 'printf' are accepted by gcc versions 2.6.4 (effectively 2.7) and later. We enable __attribute__ only if these are supported too, because gnulib and libintl do '#define printf __printf__' when they override the 'printf' function. */ # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7) # define __attribute__(Spec) /* empty */ # endif #endif #ifdef __cplusplus extern "C" { #endif /* Print a message with `fprintf (stderr, FORMAT, ...)'; if ERRNUM is nonzero, follow it with ": " and strerror (ERRNUM). If STATUS is nonzero, terminate the program with `exit (STATUS)'. */ extern void error (int __status, int __errnum, const char *__format, ...) __attribute__ ((__format__ (__printf__, 3, 4))); extern void error_at_line (int __status, int __errnum, const char *__fname, unsigned int __lineno, const char *__format, ...) __attribute__ ((__format__ (__printf__, 5, 6))); /* If NULL, error will flush stdout, then print on stderr the program name, a colon and a space. Otherwise, error will call this function without parameters instead. */ extern void (*error_print_progname) (void); /* This variable is incremented each time `error' is called. */ extern unsigned int error_message_count; /* Sometimes we want to have at most one error per line. This variable controls whether this mode is selected or not. */ extern int error_one_per_line; #ifdef __cplusplus } #endif #endif /* error.h */ parted-2.3/lib/dirname.h0000644000000000000000000000447111370541031012063 00000000000000/* Take file names apart into directory and base names. Copyright (C) 1998, 2001, 2003-2006, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef DIRNAME_H_ # define DIRNAME_H_ 1 # include # include # ifndef DIRECTORY_SEPARATOR # define DIRECTORY_SEPARATOR '/' # endif # ifndef ISSLASH # define ISSLASH(C) ((C) == DIRECTORY_SEPARATOR) # endif # ifndef FILE_SYSTEM_PREFIX_LEN # if FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX /* This internal macro assumes ASCII, but all hosts that support drive letters use ASCII. */ # define _IS_DRIVE_LETTER(c) (((unsigned int) (c) | ('a' - 'A')) - 'a' \ <= 'z' - 'a') # define FILE_SYSTEM_PREFIX_LEN(Filename) \ (_IS_DRIVE_LETTER ((Filename)[0]) && (Filename)[1] == ':' ? 2 : 0) # else # define FILE_SYSTEM_PREFIX_LEN(Filename) 0 # endif # endif # ifndef FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE # define FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE 0 # endif # ifndef DOUBLE_SLASH_IS_DISTINCT_ROOT # define DOUBLE_SLASH_IS_DISTINCT_ROOT 0 # endif # if FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE # define IS_ABSOLUTE_FILE_NAME(F) ISSLASH ((F)[FILE_SYSTEM_PREFIX_LEN (F)]) # else # define IS_ABSOLUTE_FILE_NAME(F) \ (ISSLASH ((F)[0]) || 0 < FILE_SYSTEM_PREFIX_LEN (F)) # endif # define IS_RELATIVE_FILE_NAME(F) (! IS_ABSOLUTE_FILE_NAME (F)) # if GNULIB_DIRNAME char *base_name (char const *file); char *dir_name (char const *file); # endif char *mdir_name (char const *file); size_t base_len (char const *file); size_t dir_len (char const *file); char *last_component (char const *file); bool strip_trailing_slashes (char *file); #endif /* not DIRNAME_H_ */ parted-2.3/lib/strdup.c0000644000000000000000000000275311333760254011772 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Copyright (C) 1991, 1996, 1997, 1998, 2002, 2003, 2004, 2006, 2007, 2009, 2010 Free Software Foundation, Inc. This file is part of the GNU C Library. 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 3, 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. */ #ifndef _LIBC # include #endif /* Get specification. */ #include #include #undef __strdup #ifdef _LIBC # undef strdup #endif #ifndef weak_alias # define __strdup strdup #endif /* Duplicate S, returning an identical malloc'd string. */ char * __strdup (const char *s) { size_t len = strlen (s) + 1; void *new = malloc (len); if (new == NULL) return NULL; return (char *) memcpy (new, s, len); } #ifdef libc_hidden_def libc_hidden_def (__strdup) #endif #ifdef weak_alias weak_alias (__strdup, strdup) #endif parted-2.3/lib/canonicalize-lgpl.c0000644000000000000000000002371411370541031014033 00000000000000/* Return the canonical absolute name of a given file. Copyright (C) 1996-2010 Free Software Foundation, Inc. This file is part of the GNU C Library. 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _LIBC # include #endif #if !HAVE_CANONICALIZE_FILE_NAME || !FUNC_REALPATH_WORKS || defined _LIBC /* Don't use __attribute__ __nonnull__ in this compilation unit. Otherwise gcc optimizes away the name == NULL test below. */ #define _GL_ARG_NONNULL(params) /* Specification. */ #include #include #include #include #include #if HAVE_SYS_PARAM_H || defined _LIBC # include #endif #include #include #include #ifdef _LIBC # include #else # define SHLIB_COMPAT(lib, introduced, obsoleted) 0 # define versioned_symbol(lib, local, symbol, version) extern int dummy # define compat_symbol(lib, local, symbol, version) # define weak_alias(local, symbol) # define __canonicalize_file_name canonicalize_file_name # define __realpath realpath # include "pathmax.h" # include "malloca.h" # if HAVE_GETCWD # ifdef VMS /* We want the directory in Unix syntax, not in VMS syntax. */ # define __getcwd(buf, max) getcwd (buf, max, 0) # else # define __getcwd getcwd # endif # else # define __getcwd(buf, max) getwd (buf) # endif # define __readlink readlink # define __set_errno(e) errno = (e) # ifndef MAXSYMLINKS # ifdef SYMLOOP_MAX # define MAXSYMLINKS SYMLOOP_MAX # else # define MAXSYMLINKS 20 # endif # endif #endif #ifndef DOUBLE_SLASH_IS_DISTINCT_ROOT # define DOUBLE_SLASH_IS_DISTINCT_ROOT 0 #endif #if !FUNC_REALPATH_WORKS || defined _LIBC /* Return the canonical absolute name of file NAME. A canonical name does not contain any `.', `..' components nor any repeated path separators ('/') or symlinks. All path components must exist. If RESOLVED is null, the result is malloc'd; otherwise, if the canonical name is PATH_MAX chars or more, returns null with `errno' set to ENAMETOOLONG; if the name fits in fewer than PATH_MAX chars, returns the name in RESOLVED. If the name cannot be resolved and RESOLVED is non-NULL, it contains the path of the first component that cannot be resolved. If the path can be resolved, RESOLVED holds the same value as the value returned. */ char * __realpath (const char *name, char *resolved) { char *rpath, *dest, *extra_buf = NULL; const char *start, *end, *rpath_limit; long int path_max; int num_links = 0; if (name == NULL) { /* As per Single Unix Specification V2 we must return an error if either parameter is a null pointer. We extend this to allow the RESOLVED parameter to be NULL in case the we are expected to allocate the room for the return value. */ __set_errno (EINVAL); return NULL; } if (name[0] == '\0') { /* As per Single Unix Specification V2 we must return an error if the name argument points to an empty string. */ __set_errno (ENOENT); return NULL; } #ifdef PATH_MAX path_max = PATH_MAX; #else path_max = pathconf (name, _PC_PATH_MAX); if (path_max <= 0) path_max = 1024; #endif if (resolved == NULL) { rpath = malloc (path_max); if (rpath == NULL) { /* It's easier to set errno to ENOMEM than to rely on the 'malloc-posix' gnulib module. */ errno = ENOMEM; return NULL; } } else rpath = resolved; rpath_limit = rpath + path_max; if (name[0] != '/') { if (!__getcwd (rpath, path_max)) { rpath[0] = '\0'; goto error; } dest = strchr (rpath, '\0'); } else { rpath[0] = '/'; dest = rpath + 1; if (DOUBLE_SLASH_IS_DISTINCT_ROOT && name[1] == '/') *dest++ = '/'; } for (start = end = name; *start; start = end) { #ifdef _LIBC struct stat64 st; #else struct stat st; #endif int n; /* Skip sequence of multiple path-separators. */ while (*start == '/') ++start; /* Find end of path component. */ for (end = start; *end && *end != '/'; ++end) /* Nothing. */; if (end - start == 0) break; else if (end - start == 1 && start[0] == '.') /* nothing */; else if (end - start == 2 && start[0] == '.' && start[1] == '.') { /* Back up to previous component, ignore if at root already. */ if (dest > rpath + 1) while ((--dest)[-1] != '/'); if (DOUBLE_SLASH_IS_DISTINCT_ROOT && dest == rpath + 1 && *dest == '/') dest++; } else { size_t new_size; if (dest[-1] != '/') *dest++ = '/'; if (dest + (end - start) >= rpath_limit) { ptrdiff_t dest_offset = dest - rpath; char *new_rpath; if (resolved) { __set_errno (ENAMETOOLONG); if (dest > rpath + 1) dest--; *dest = '\0'; goto error; } new_size = rpath_limit - rpath; if (end - start + 1 > path_max) new_size += end - start + 1; else new_size += path_max; new_rpath = (char *) realloc (rpath, new_size); if (new_rpath == NULL) { /* It's easier to set errno to ENOMEM than to rely on the 'realloc-posix' gnulib module. */ errno = ENOMEM; goto error; } rpath = new_rpath; rpath_limit = rpath + new_size; dest = rpath + dest_offset; } #ifdef _LIBC dest = __mempcpy (dest, start, end - start); #else memcpy (dest, start, end - start); dest += end - start; #endif *dest = '\0'; #ifdef _LIBC if (__lxstat64 (_STAT_VER, rpath, &st) < 0) #else if (lstat (rpath, &st) < 0) #endif goto error; if (S_ISLNK (st.st_mode)) { char *buf; size_t len; if (++num_links > MAXSYMLINKS) { __set_errno (ELOOP); goto error; } buf = malloca (path_max); if (!buf) { errno = ENOMEM; goto error; } n = __readlink (rpath, buf, path_max - 1); if (n < 0) { int saved_errno = errno; freea (buf); errno = saved_errno; goto error; } buf[n] = '\0'; if (!extra_buf) { extra_buf = malloca (path_max); if (!extra_buf) { freea (buf); errno = ENOMEM; goto error; } } len = strlen (end); if ((long int) (n + len) >= path_max) { freea (buf); __set_errno (ENAMETOOLONG); goto error; } /* Careful here, end may be a pointer into extra_buf... */ memmove (&extra_buf[n], end, len + 1); name = end = memcpy (extra_buf, buf, n); if (buf[0] == '/') { dest = rpath + 1; /* It's an absolute symlink */ if (DOUBLE_SLASH_IS_DISTINCT_ROOT && buf[1] == '/') *dest++ = '/'; } else { /* Back up to previous component, ignore if at root already: */ if (dest > rpath + 1) while ((--dest)[-1] != '/'); if (DOUBLE_SLASH_IS_DISTINCT_ROOT && dest == rpath + 1 && *dest == '/') dest++; } } else if (!S_ISDIR (st.st_mode) && *end != '\0') { __set_errno (ENOTDIR); goto error; } } } if (dest > rpath + 1 && dest[-1] == '/') --dest; if (DOUBLE_SLASH_IS_DISTINCT_ROOT && dest == rpath + 1 && *dest == '/') dest++; *dest = '\0'; if (extra_buf) freea (extra_buf); return rpath; error: { int saved_errno = errno; if (extra_buf) freea (extra_buf); if (resolved == NULL) free (rpath); errno = saved_errno; } return NULL; } versioned_symbol (libc, __realpath, realpath, GLIBC_2_3); #endif /* !FUNC_REALPATH_WORKS || defined _LIBC */ #if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3) char * attribute_compat_text_section __old_realpath (const char *name, char *resolved) { if (resolved == NULL) { __set_errno (EINVAL); return NULL; } return __realpath (name, resolved); } compat_symbol (libc, __old_realpath, realpath, GLIBC_2_0); #endif char * __canonicalize_file_name (const char *name) { return __realpath (name, NULL); } weak_alias (__canonicalize_file_name, canonicalize_file_name) #else /* This declaration is solely to ensure that after preprocessing this file is never empty. */ typedef int dummy; #endif parted-2.3/lib/alloca.c0000644000000000000000000003526011310524504011672 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* alloca.c -- allocate automatically reclaimed memory (Mostly) portable public-domain implementation -- D A Gwyn This implementation of the PWB library alloca function, which is used to allocate space off the run-time stack so that it is automatically reclaimed upon procedure exit, was inspired by discussions with J. Q. Johnson of Cornell. J.Otto Tennant contributed the Cray support. There are some preprocessor constants that can be defined when compiling for your specific system, for improved efficiency; however, the defaults should be okay. The general concept of this implementation is to keep track of all alloca-allocated blocks, and reclaim any that are found to be deeper in the stack than the current invocation. This heuristic does not reclaim storage as soon as it becomes invalid, but it will do so eventually. As a special case, alloca(0) reclaims storage without allocating any. It is a good idea to use alloca(0) in your main control loop, etc. to force garbage collection. */ #include #include #include #include #ifdef emacs # include "lisp.h" # include "blockinput.h" # ifdef EMACS_FREE # undef free # define free EMACS_FREE # endif #else # define memory_full() abort () #endif /* If compiling with GCC 2, this file's not needed. */ #if !defined (__GNUC__) || __GNUC__ < 2 /* If someone has defined alloca as a macro, there must be some other way alloca is supposed to work. */ # ifndef alloca # ifdef emacs # ifdef static /* actually, only want this if static is defined as "" -- this is for usg, in which emacs must undefine static in order to make unexec workable */ # ifndef STACK_DIRECTION you lose -- must know STACK_DIRECTION at compile-time /* Using #error here is not wise since this file should work for old and obscure compilers. */ # endif /* STACK_DIRECTION undefined */ # endif /* static */ # endif /* emacs */ /* If your stack is a linked list of frames, you have to provide an "address metric" ADDRESS_FUNCTION macro. */ # if defined (CRAY) && defined (CRAY_STACKSEG_END) long i00afunc (); # define ADDRESS_FUNCTION(arg) (char *) i00afunc (&(arg)) # else # define ADDRESS_FUNCTION(arg) &(arg) # endif /* Define STACK_DIRECTION if you know the direction of stack growth for your system; otherwise it will be automatically deduced at run-time. STACK_DIRECTION > 0 => grows toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses STACK_DIRECTION = 0 => direction of growth unknown */ # ifndef STACK_DIRECTION # define STACK_DIRECTION 0 /* Direction unknown. */ # endif # if STACK_DIRECTION != 0 # define STACK_DIR STACK_DIRECTION /* Known at compile-time. */ # else /* STACK_DIRECTION == 0; need run-time code. */ static int stack_dir; /* 1 or -1 once known. */ # define STACK_DIR stack_dir static void find_stack_direction (void) { static char *addr = NULL; /* Address of first `dummy', once known. */ auto char dummy; /* To get stack address. */ if (addr == NULL) { /* Initial entry. */ addr = ADDRESS_FUNCTION (dummy); find_stack_direction (); /* Recurse once. */ } else { /* Second entry. */ if (ADDRESS_FUNCTION (dummy) > addr) stack_dir = 1; /* Stack grew upward. */ else stack_dir = -1; /* Stack grew downward. */ } } # endif /* STACK_DIRECTION == 0 */ /* An "alloca header" is used to: (a) chain together all alloca'ed blocks; (b) keep track of stack depth. It is very important that sizeof(header) agree with malloc alignment chunk size. The following default should work okay. */ # ifndef ALIGN_SIZE # define ALIGN_SIZE sizeof(double) # endif typedef union hdr { char align[ALIGN_SIZE]; /* To force sizeof(header). */ struct { union hdr *next; /* For chaining headers. */ char *deep; /* For stack depth measure. */ } h; } header; static header *last_alloca_header = NULL; /* -> last alloca header. */ /* Return a pointer to at least SIZE bytes of storage, which will be automatically reclaimed upon exit from the procedure that called alloca. Originally, this space was supposed to be taken from the current stack frame of the caller, but that method cannot be made to work for some implementations of C, for example under Gould's UTX/32. */ void * alloca (size_t size) { auto char probe; /* Probes stack depth: */ register char *depth = ADDRESS_FUNCTION (probe); # if STACK_DIRECTION == 0 if (STACK_DIR == 0) /* Unknown growth direction. */ find_stack_direction (); # endif /* Reclaim garbage, defined as all alloca'd storage that was allocated from deeper in the stack than currently. */ { register header *hp; /* Traverses linked list. */ # ifdef emacs BLOCK_INPUT; # endif for (hp = last_alloca_header; hp != NULL;) if ((STACK_DIR > 0 && hp->h.deep > depth) || (STACK_DIR < 0 && hp->h.deep < depth)) { register header *np = hp->h.next; free (hp); /* Collect garbage. */ hp = np; /* -> next header. */ } else break; /* Rest are not deeper. */ last_alloca_header = hp; /* -> last valid storage. */ # ifdef emacs UNBLOCK_INPUT; # endif } if (size == 0) return NULL; /* No allocation required. */ /* Allocate combined header + user data storage. */ { /* Address of header. */ register header *new; size_t combined_size = sizeof (header) + size; if (combined_size < sizeof (header)) memory_full (); new = malloc (combined_size); if (! new) memory_full (); new->h.next = last_alloca_header; new->h.deep = depth; last_alloca_header = new; /* User storage begins just after header. */ return (void *) (new + 1); } } # if defined (CRAY) && defined (CRAY_STACKSEG_END) # ifdef DEBUG_I00AFUNC # include # endif # ifndef CRAY_STACK # define CRAY_STACK # ifndef CRAY2 /* Stack structures for CRAY-1, CRAY X-MP, and CRAY Y-MP */ struct stack_control_header { long shgrow:32; /* Number of times stack has grown. */ long shaseg:32; /* Size of increments to stack. */ long shhwm:32; /* High water mark of stack. */ long shsize:32; /* Current size of stack (all segments). */ }; /* The stack segment linkage control information occurs at the high-address end of a stack segment. (The stack grows from low addresses to high addresses.) The initial part of the stack segment linkage control information is 0200 (octal) words. This provides for register storage for the routine which overflows the stack. */ struct stack_segment_linkage { long ss[0200]; /* 0200 overflow words. */ long sssize:32; /* Number of words in this segment. */ long ssbase:32; /* Offset to stack base. */ long:32; long sspseg:32; /* Offset to linkage control of previous segment of stack. */ long:32; long sstcpt:32; /* Pointer to task common address block. */ long sscsnm; /* Private control structure number for microtasking. */ long ssusr1; /* Reserved for user. */ long ssusr2; /* Reserved for user. */ long sstpid; /* Process ID for pid based multi-tasking. */ long ssgvup; /* Pointer to multitasking thread giveup. */ long sscray[7]; /* Reserved for Cray Research. */ long ssa0; long ssa1; long ssa2; long ssa3; long ssa4; long ssa5; long ssa6; long ssa7; long sss0; long sss1; long sss2; long sss3; long sss4; long sss5; long sss6; long sss7; }; # else /* CRAY2 */ /* The following structure defines the vector of words returned by the STKSTAT library routine. */ struct stk_stat { long now; /* Current total stack size. */ long maxc; /* Amount of contiguous space which would be required to satisfy the maximum stack demand to date. */ long high_water; /* Stack high-water mark. */ long overflows; /* Number of stack overflow ($STKOFEN) calls. */ long hits; /* Number of internal buffer hits. */ long extends; /* Number of block extensions. */ long stko_mallocs; /* Block allocations by $STKOFEN. */ long underflows; /* Number of stack underflow calls ($STKRETN). */ long stko_free; /* Number of deallocations by $STKRETN. */ long stkm_free; /* Number of deallocations by $STKMRET. */ long segments; /* Current number of stack segments. */ long maxs; /* Maximum number of stack segments so far. */ long pad_size; /* Stack pad size. */ long current_address; /* Current stack segment address. */ long current_size; /* Current stack segment size. This number is actually corrupted by STKSTAT to include the fifteen word trailer area. */ long initial_address; /* Address of initial segment. */ long initial_size; /* Size of initial segment. */ }; /* The following structure describes the data structure which trails any stack segment. I think that the description in 'asdef' is out of date. I only describe the parts that I am sure about. */ struct stk_trailer { long this_address; /* Address of this block. */ long this_size; /* Size of this block (does not include this trailer). */ long unknown2; long unknown3; long link; /* Address of trailer block of previous segment. */ long unknown5; long unknown6; long unknown7; long unknown8; long unknown9; long unknown10; long unknown11; long unknown12; long unknown13; long unknown14; }; # endif /* CRAY2 */ # endif /* not CRAY_STACK */ # ifdef CRAY2 /* Determine a "stack measure" for an arbitrary ADDRESS. I doubt that "lint" will like this much. */ static long i00afunc (long *address) { struct stk_stat status; struct stk_trailer *trailer; long *block, size; long result = 0; /* We want to iterate through all of the segments. The first step is to get the stack status structure. We could do this more quickly and more directly, perhaps, by referencing the $LM00 common block, but I know that this works. */ STKSTAT (&status); /* Set up the iteration. */ trailer = (struct stk_trailer *) (status.current_address + status.current_size - 15); /* There must be at least one stack segment. Therefore it is a fatal error if "trailer" is null. */ if (trailer == 0) abort (); /* Discard segments that do not contain our argument address. */ while (trailer != 0) { block = (long *) trailer->this_address; size = trailer->this_size; if (block == 0 || size == 0) abort (); trailer = (struct stk_trailer *) trailer->link; if ((block <= address) && (address < (block + size))) break; } /* Set the result to the offset in this segment and add the sizes of all predecessor segments. */ result = address - block; if (trailer == 0) { return result; } do { if (trailer->this_size <= 0) abort (); result += trailer->this_size; trailer = (struct stk_trailer *) trailer->link; } while (trailer != 0); /* We are done. Note that if you present a bogus address (one not in any segment), you will get a different number back, formed from subtracting the address of the first block. This is probably not what you want. */ return (result); } # else /* not CRAY2 */ /* Stack address function for a CRAY-1, CRAY X-MP, or CRAY Y-MP. Determine the number of the cell within the stack, given the address of the cell. The purpose of this routine is to linearize, in some sense, stack addresses for alloca. */ static long i00afunc (long address) { long stkl = 0; long size, pseg, this_segment, stack; long result = 0; struct stack_segment_linkage *ssptr; /* Register B67 contains the address of the end of the current stack segment. If you (as a subprogram) store your registers on the stack and find that you are past the contents of B67, you have overflowed the segment. B67 also points to the stack segment linkage control area, which is what we are really interested in. */ stkl = CRAY_STACKSEG_END (); ssptr = (struct stack_segment_linkage *) stkl; /* If one subtracts 'size' from the end of the segment, one has the address of the first word of the segment. If this is not the first segment, 'pseg' will be nonzero. */ pseg = ssptr->sspseg; size = ssptr->sssize; this_segment = stkl - size; /* It is possible that calling this routine itself caused a stack overflow. Discard stack segments which do not contain the target address. */ while (!(this_segment <= address && address <= stkl)) { # ifdef DEBUG_I00AFUNC fprintf (stderr, "%011o %011o %011o\n", this_segment, address, stkl); # endif if (pseg == 0) break; stkl = stkl - pseg; ssptr = (struct stack_segment_linkage *) stkl; size = ssptr->sssize; pseg = ssptr->sspseg; this_segment = stkl - size; } result = address - this_segment; /* If you subtract pseg from the current end of the stack, you get the address of the previous stack segment's end. This seems a little convoluted to me, but I'll bet you save a cycle somewhere. */ while (pseg != 0) { # ifdef DEBUG_I00AFUNC fprintf (stderr, "%011o %011o\n", pseg, size); # endif stkl = stkl - pseg; ssptr = (struct stack_segment_linkage *) stkl; size = ssptr->sssize; pseg = ssptr->sspseg; result += size; } return (result); } # endif /* not CRAY2 */ # endif /* CRAY */ # endif /* no alloca */ #endif /* not GCC version 3 */ parted-2.3/lib/config.charset0000644000000000000000000005511211377165373013133 00000000000000#! /bin/sh # Output a system dependent table of character encoding aliases. # # Copyright (C) 2000-2004, 2006-2010 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 3, 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. # # The table consists of lines of the form # ALIAS CANONICAL # # ALIAS is the (system dependent) result of "nl_langinfo (CODESET)". # ALIAS is compared in a case sensitive way. # # CANONICAL is the GNU canonical name for this character encoding. # It must be an encoding supported by libiconv. Support by GNU libc is # also desirable. CANONICAL is case insensitive. Usually an upper case # MIME charset name is preferred. # The current list of GNU canonical charset names is as follows. # # name MIME? used by which systems # ASCII, ANSI_X3.4-1968 glibc solaris freebsd netbsd darwin cygwin # ISO-8859-1 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin # ISO-8859-2 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin # ISO-8859-3 Y glibc solaris cygwin # ISO-8859-4 Y osf solaris freebsd netbsd openbsd darwin # ISO-8859-5 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin # ISO-8859-6 Y glibc aix hpux solaris cygwin # ISO-8859-7 Y glibc aix hpux irix osf solaris netbsd openbsd darwin cygwin # ISO-8859-8 Y glibc aix hpux osf solaris cygwin # ISO-8859-9 Y glibc aix hpux irix osf solaris darwin cygwin # ISO-8859-13 glibc netbsd openbsd darwin cygwin # ISO-8859-14 glibc cygwin # ISO-8859-15 glibc aix osf solaris freebsd netbsd openbsd darwin cygwin # KOI8-R Y glibc solaris freebsd netbsd openbsd darwin # KOI8-U Y glibc freebsd netbsd openbsd darwin cygwin # KOI8-T glibc # CP437 dos # CP775 dos # CP850 aix osf dos # CP852 dos # CP855 dos # CP856 aix # CP857 dos # CP861 dos # CP862 dos # CP864 dos # CP865 dos # CP866 freebsd netbsd openbsd darwin dos # CP869 dos # CP874 woe32 dos # CP922 aix # CP932 aix cygwin woe32 dos # CP943 aix # CP949 osf darwin woe32 dos # CP950 woe32 dos # CP1046 aix # CP1124 aix # CP1125 dos # CP1129 aix # CP1131 darwin # CP1250 woe32 # CP1251 glibc solaris netbsd openbsd darwin cygwin woe32 # CP1252 aix woe32 # CP1253 woe32 # CP1254 woe32 # CP1255 glibc woe32 # CP1256 woe32 # CP1257 woe32 # GB2312 Y glibc aix hpux irix solaris freebsd netbsd darwin # EUC-JP Y glibc aix hpux irix osf solaris freebsd netbsd darwin # EUC-KR Y glibc aix hpux irix osf solaris freebsd netbsd darwin cygwin # EUC-TW glibc aix hpux irix osf solaris netbsd # BIG5 Y glibc aix hpux osf solaris freebsd netbsd darwin cygwin # BIG5-HKSCS glibc solaris darwin # GBK glibc aix osf solaris darwin cygwin woe32 dos # GB18030 glibc solaris netbsd darwin # SHIFT_JIS Y hpux osf solaris freebsd netbsd darwin # JOHAB glibc solaris woe32 # TIS-620 glibc aix hpux osf solaris cygwin # VISCII Y glibc # TCVN5712-1 glibc # ARMSCII-8 glibc darwin # GEORGIAN-PS glibc cygwin # PT154 glibc # HP-ROMAN8 hpux # HP-ARABIC8 hpux # HP-GREEK8 hpux # HP-HEBREW8 hpux # HP-TURKISH8 hpux # HP-KANA8 hpux # DEC-KANJI osf # DEC-HANYU osf # UTF-8 Y glibc aix hpux osf solaris netbsd darwin cygwin # # Note: Names which are not marked as being a MIME name should not be used in # Internet protocols for information interchange (mail, news, etc.). # # Note: ASCII and ANSI_X3.4-1968 are synonymous canonical names. Applications # must understand both names and treat them as equivalent. # # The first argument passed to this file is the canonical host specification, # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM host="$1" os=`echo "$host" | sed -e 's/^[^-]*-[^-]*-\(.*\)$/\1/'` echo "# This file contains a table of character encoding aliases," echo "# suitable for operating system '${os}'." echo "# It was automatically generated from config.charset." # List of references, updated during installation: echo "# Packages using this file: " case "$os" in linux-gnulibc1*) # Linux libc5 doesn't have nl_langinfo(CODESET); therefore # localcharset.c falls back to using the full locale name # from the environment variables. echo "C ASCII" echo "POSIX ASCII" for l in af af_ZA ca ca_ES da da_DK de de_AT de_BE de_CH de_DE de_LU \ en en_AU en_BW en_CA en_DK en_GB en_IE en_NZ en_US en_ZA \ en_ZW es es_AR es_BO es_CL es_CO es_DO es_EC es_ES es_GT \ es_HN es_MX es_PA es_PE es_PY es_SV es_US es_UY es_VE et \ et_EE eu eu_ES fi fi_FI fo fo_FO fr fr_BE fr_CA fr_CH fr_FR \ fr_LU ga ga_IE gl gl_ES id id_ID in in_ID is is_IS it it_CH \ it_IT kl kl_GL nl nl_BE nl_NL no no_NO pt pt_BR pt_PT sv \ sv_FI sv_SE; do echo "$l ISO-8859-1" echo "$l.iso-8859-1 ISO-8859-1" echo "$l.iso-8859-15 ISO-8859-15" echo "$l.iso-8859-15@euro ISO-8859-15" echo "$l@euro ISO-8859-15" echo "$l.cp-437 CP437" echo "$l.cp-850 CP850" echo "$l.cp-1252 CP1252" echo "$l.cp-1252@euro CP1252" #echo "$l.atari-st ATARI-ST" # not a commonly used encoding echo "$l.utf-8 UTF-8" echo "$l.utf-8@euro UTF-8" done for l in cs cs_CZ hr hr_HR hu hu_HU pl pl_PL ro ro_RO sk sk_SK sl \ sl_SI sr sr_CS sr_YU; do echo "$l ISO-8859-2" echo "$l.iso-8859-2 ISO-8859-2" echo "$l.cp-852 CP852" echo "$l.cp-1250 CP1250" echo "$l.utf-8 UTF-8" done for l in mk mk_MK ru ru_RU; do echo "$l ISO-8859-5" echo "$l.iso-8859-5 ISO-8859-5" echo "$l.koi8-r KOI8-R" echo "$l.cp-866 CP866" echo "$l.cp-1251 CP1251" echo "$l.utf-8 UTF-8" done for l in ar ar_SA; do echo "$l ISO-8859-6" echo "$l.iso-8859-6 ISO-8859-6" echo "$l.cp-864 CP864" #echo "$l.cp-868 CP868" # not a commonly used encoding echo "$l.cp-1256 CP1256" echo "$l.utf-8 UTF-8" done for l in el el_GR gr gr_GR; do echo "$l ISO-8859-7" echo "$l.iso-8859-7 ISO-8859-7" echo "$l.cp-869 CP869" echo "$l.cp-1253 CP1253" echo "$l.cp-1253@euro CP1253" echo "$l.utf-8 UTF-8" echo "$l.utf-8@euro UTF-8" done for l in he he_IL iw iw_IL; do echo "$l ISO-8859-8" echo "$l.iso-8859-8 ISO-8859-8" echo "$l.cp-862 CP862" echo "$l.cp-1255 CP1255" echo "$l.utf-8 UTF-8" done for l in tr tr_TR; do echo "$l ISO-8859-9" echo "$l.iso-8859-9 ISO-8859-9" echo "$l.cp-857 CP857" echo "$l.cp-1254 CP1254" echo "$l.utf-8 UTF-8" done for l in lt lt_LT lv lv_LV; do #echo "$l BALTIC" # not a commonly used encoding, wrong encoding name echo "$l ISO-8859-13" done for l in ru_UA uk uk_UA; do echo "$l KOI8-U" done for l in zh zh_CN; do #echo "$l GB_2312-80" # not a commonly used encoding, wrong encoding name echo "$l GB2312" done for l in ja ja_JP ja_JP.EUC; do echo "$l EUC-JP" done for l in ko ko_KR; do echo "$l EUC-KR" done for l in th th_TH; do echo "$l TIS-620" done for l in fa fa_IR; do #echo "$l ISIRI-3342" # a broken encoding echo "$l.utf-8 UTF-8" done ;; linux* | *-gnu*) # With glibc-2.1 or newer, we don't need any canonicalization, # because glibc has iconv and both glibc and libiconv support all # GNU canonical names directly. Therefore, the Makefile does not # need to install the alias file at all. # The following applies only to glibc-2.0.x and older libcs. echo "ISO_646.IRV:1983 ASCII" ;; aix*) echo "ISO8859-1 ISO-8859-1" echo "ISO8859-2 ISO-8859-2" echo "ISO8859-5 ISO-8859-5" echo "ISO8859-6 ISO-8859-6" echo "ISO8859-7 ISO-8859-7" echo "ISO8859-8 ISO-8859-8" echo "ISO8859-9 ISO-8859-9" echo "ISO8859-15 ISO-8859-15" echo "IBM-850 CP850" echo "IBM-856 CP856" echo "IBM-921 ISO-8859-13" echo "IBM-922 CP922" echo "IBM-932 CP932" echo "IBM-943 CP943" echo "IBM-1046 CP1046" echo "IBM-1124 CP1124" echo "IBM-1129 CP1129" echo "IBM-1252 CP1252" echo "IBM-eucCN GB2312" echo "IBM-eucJP EUC-JP" echo "IBM-eucKR EUC-KR" echo "IBM-eucTW EUC-TW" echo "big5 BIG5" echo "GBK GBK" echo "TIS-620 TIS-620" echo "UTF-8 UTF-8" ;; hpux*) echo "iso88591 ISO-8859-1" echo "iso88592 ISO-8859-2" echo "iso88595 ISO-8859-5" echo "iso88596 ISO-8859-6" echo "iso88597 ISO-8859-7" echo "iso88598 ISO-8859-8" echo "iso88599 ISO-8859-9" echo "iso885915 ISO-8859-15" echo "roman8 HP-ROMAN8" echo "arabic8 HP-ARABIC8" echo "greek8 HP-GREEK8" echo "hebrew8 HP-HEBREW8" echo "turkish8 HP-TURKISH8" echo "kana8 HP-KANA8" echo "tis620 TIS-620" echo "big5 BIG5" echo "eucJP EUC-JP" echo "eucKR EUC-KR" echo "eucTW EUC-TW" echo "hp15CN GB2312" #echo "ccdc ?" # what is this? echo "SJIS SHIFT_JIS" echo "utf8 UTF-8" ;; irix*) echo "ISO8859-1 ISO-8859-1" echo "ISO8859-2 ISO-8859-2" echo "ISO8859-5 ISO-8859-5" echo "ISO8859-7 ISO-8859-7" echo "ISO8859-9 ISO-8859-9" echo "eucCN GB2312" echo "eucJP EUC-JP" echo "eucKR EUC-KR" echo "eucTW EUC-TW" ;; osf*) echo "ISO8859-1 ISO-8859-1" echo "ISO8859-2 ISO-8859-2" echo "ISO8859-4 ISO-8859-4" echo "ISO8859-5 ISO-8859-5" echo "ISO8859-7 ISO-8859-7" echo "ISO8859-8 ISO-8859-8" echo "ISO8859-9 ISO-8859-9" echo "ISO8859-15 ISO-8859-15" echo "cp850 CP850" echo "big5 BIG5" echo "dechanyu DEC-HANYU" echo "dechanzi GB2312" echo "deckanji DEC-KANJI" echo "deckorean EUC-KR" echo "eucJP EUC-JP" echo "eucKR EUC-KR" echo "eucTW EUC-TW" echo "GBK GBK" echo "KSC5601 CP949" echo "sdeckanji EUC-JP" echo "SJIS SHIFT_JIS" echo "TACTIS TIS-620" echo "UTF-8 UTF-8" ;; solaris*) echo "646 ASCII" echo "ISO8859-1 ISO-8859-1" echo "ISO8859-2 ISO-8859-2" echo "ISO8859-3 ISO-8859-3" echo "ISO8859-4 ISO-8859-4" echo "ISO8859-5 ISO-8859-5" echo "ISO8859-6 ISO-8859-6" echo "ISO8859-7 ISO-8859-7" echo "ISO8859-8 ISO-8859-8" echo "ISO8859-9 ISO-8859-9" echo "ISO8859-15 ISO-8859-15" echo "koi8-r KOI8-R" echo "ansi-1251 CP1251" echo "BIG5 BIG5" echo "Big5-HKSCS BIG5-HKSCS" echo "gb2312 GB2312" echo "GBK GBK" echo "GB18030 GB18030" echo "cns11643 EUC-TW" echo "5601 EUC-KR" echo "ko_KR.johap92 JOHAB" echo "eucJP EUC-JP" echo "PCK SHIFT_JIS" echo "TIS620.2533 TIS-620" #echo "sun_eu_greek ?" # what is this? echo "UTF-8 UTF-8" ;; freebsd* | os2*) # FreeBSD 4.2 doesn't have nl_langinfo(CODESET); therefore # localcharset.c falls back to using the full locale name # from the environment variables. # Likewise for OS/2. OS/2 has XFree86 just like FreeBSD. Just # reuse FreeBSD's locale data for OS/2. echo "C ASCII" echo "US-ASCII ASCII" for l in la_LN lt_LN; do echo "$l.ASCII ASCII" done for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \ fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT la_LN \ lt_LN nl_BE nl_NL no_NO pt_PT sv_SE; do echo "$l.ISO_8859-1 ISO-8859-1" echo "$l.DIS_8859-15 ISO-8859-15" done for l in cs_CZ hr_HR hu_HU la_LN lt_LN pl_PL sl_SI; do echo "$l.ISO_8859-2 ISO-8859-2" done for l in la_LN lt_LT; do echo "$l.ISO_8859-4 ISO-8859-4" done for l in ru_RU ru_SU; do echo "$l.KOI8-R KOI8-R" echo "$l.ISO_8859-5 ISO-8859-5" echo "$l.CP866 CP866" done echo "uk_UA.KOI8-U KOI8-U" echo "zh_TW.BIG5 BIG5" echo "zh_TW.Big5 BIG5" echo "zh_CN.EUC GB2312" echo "ja_JP.EUC EUC-JP" echo "ja_JP.SJIS SHIFT_JIS" echo "ja_JP.Shift_JIS SHIFT_JIS" echo "ko_KR.EUC EUC-KR" ;; netbsd*) echo "646 ASCII" echo "ISO8859-1 ISO-8859-1" echo "ISO8859-2 ISO-8859-2" echo "ISO8859-4 ISO-8859-4" echo "ISO8859-5 ISO-8859-5" echo "ISO8859-7 ISO-8859-7" echo "ISO8859-13 ISO-8859-13" echo "ISO8859-15 ISO-8859-15" echo "eucCN GB2312" echo "eucJP EUC-JP" echo "eucKR EUC-KR" echo "eucTW EUC-TW" echo "BIG5 BIG5" echo "SJIS SHIFT_JIS" ;; openbsd*) echo "646 ASCII" echo "ISO8859-1 ISO-8859-1" echo "ISO8859-2 ISO-8859-2" echo "ISO8859-4 ISO-8859-4" echo "ISO8859-5 ISO-8859-5" echo "ISO8859-7 ISO-8859-7" echo "ISO8859-13 ISO-8859-13" echo "ISO8859-15 ISO-8859-15" ;; darwin[56]*) # Darwin 6.8 doesn't have nl_langinfo(CODESET); therefore # localcharset.c falls back to using the full locale name # from the environment variables. echo "C ASCII" for l in en_AU en_CA en_GB en_US la_LN; do echo "$l.US-ASCII ASCII" done for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \ fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT nl_BE \ nl_NL no_NO pt_PT sv_SE; do echo "$l ISO-8859-1" echo "$l.ISO8859-1 ISO-8859-1" echo "$l.ISO8859-15 ISO-8859-15" done for l in la_LN; do echo "$l.ISO8859-1 ISO-8859-1" echo "$l.ISO8859-15 ISO-8859-15" done for l in cs_CZ hr_HR hu_HU la_LN pl_PL sl_SI; do echo "$l.ISO8859-2 ISO-8859-2" done for l in la_LN lt_LT; do echo "$l.ISO8859-4 ISO-8859-4" done for l in ru_RU; do echo "$l.KOI8-R KOI8-R" echo "$l.ISO8859-5 ISO-8859-5" echo "$l.CP866 CP866" done for l in bg_BG; do echo "$l.CP1251 CP1251" done echo "uk_UA.KOI8-U KOI8-U" echo "zh_TW.BIG5 BIG5" echo "zh_TW.Big5 BIG5" echo "zh_CN.EUC GB2312" echo "ja_JP.EUC EUC-JP" echo "ja_JP.SJIS SHIFT_JIS" echo "ko_KR.EUC EUC-KR" ;; darwin*) # Darwin 7.5 has nl_langinfo(CODESET), but sometimes its value is # useless: # - It returns the empty string when LANG is set to a locale of the # form ll_CC, although ll_CC/LC_CTYPE is a symlink to an UTF-8 # LC_CTYPE file. # - The environment variables LANG, LC_CTYPE, LC_ALL are not set by # the system; nl_langinfo(CODESET) returns "US-ASCII" in this case. # - The documentation says: # "... all code that calls BSD system routines should ensure # that the const *char parameters of these routines are in UTF-8 # encoding. All BSD system functions expect their string # parameters to be in UTF-8 encoding and nothing else." # It also says # "An additional caveat is that string parameters for files, # paths, and other file-system entities must be in canonical # UTF-8. In a canonical UTF-8 Unicode string, all decomposable # characters are decomposed ..." # but this is not true: You can pass non-decomposed UTF-8 strings # to file system functions, and it is the OS which will convert # them to decomposed UTF-8 before accessing the file system. # - The Apple Terminal application displays UTF-8 by default. # - However, other applications are free to use different encodings: # - xterm uses ISO-8859-1 by default. # - TextEdit uses MacRoman by default. # We prefer UTF-8 over decomposed UTF-8-MAC because one should # minimize the use of decomposed Unicode. Unfortunately, through the # Darwin file system, decomposed UTF-8 strings are leaked into user # space nevertheless. # Then there are also the locales with encodings other than US-ASCII # and UTF-8. These locales can be occasionally useful to users (e.g. # when grepping through ISO-8859-1 encoded text files), when all their # file names are in US-ASCII. echo "ISO8859-1 ISO-8859-1" echo "ISO8859-2 ISO-8859-2" echo "ISO8859-4 ISO-8859-4" echo "ISO8859-5 ISO-8859-5" echo "ISO8859-7 ISO-8859-7" echo "ISO8859-9 ISO-8859-9" echo "ISO8859-13 ISO-8859-13" echo "ISO8859-15 ISO-8859-15" echo "KOI8-R KOI8-R" echo "KOI8-U KOI8-U" echo "CP866 CP866" echo "CP949 CP949" echo "CP1131 CP1131" echo "CP1251 CP1251" echo "eucCN GB2312" echo "GB2312 GB2312" echo "eucJP EUC-JP" echo "eucKR EUC-KR" echo "Big5 BIG5" echo "Big5HKSCS BIG5-HKSCS" echo "GBK GBK" echo "GB18030 GB18030" echo "SJIS SHIFT_JIS" echo "ARMSCII-8 ARMSCII-8" echo "PT154 PT154" #echo "ISCII-DEV ?" echo "* UTF-8" ;; beos* | haiku*) # BeOS and Haiku have a single locale, and it has UTF-8 encoding. echo "* UTF-8" ;; msdosdjgpp*) # DJGPP 2.03 doesn't have nl_langinfo(CODESET); therefore # localcharset.c falls back to using the full locale name # from the environment variables. echo "#" echo "# The encodings given here may not all be correct." echo "# If you find that the encoding given for your language and" echo "# country is not the one your DOS machine actually uses, just" echo "# correct it in this file, and send a mail to" echo "# Juan Manuel Guerrero " echo "# and Bruno Haible ." echo "#" echo "C ASCII" # ISO-8859-1 languages echo "ca CP850" echo "ca_ES CP850" echo "da CP865" # not CP850 ?? echo "da_DK CP865" # not CP850 ?? echo "de CP850" echo "de_AT CP850" echo "de_CH CP850" echo "de_DE CP850" echo "en CP850" echo "en_AU CP850" # not CP437 ?? echo "en_CA CP850" echo "en_GB CP850" echo "en_NZ CP437" echo "en_US CP437" echo "en_ZA CP850" # not CP437 ?? echo "es CP850" echo "es_AR CP850" echo "es_BO CP850" echo "es_CL CP850" echo "es_CO CP850" echo "es_CR CP850" echo "es_CU CP850" echo "es_DO CP850" echo "es_EC CP850" echo "es_ES CP850" echo "es_GT CP850" echo "es_HN CP850" echo "es_MX CP850" echo "es_NI CP850" echo "es_PA CP850" echo "es_PY CP850" echo "es_PE CP850" echo "es_SV CP850" echo "es_UY CP850" echo "es_VE CP850" echo "et CP850" echo "et_EE CP850" echo "eu CP850" echo "eu_ES CP850" echo "fi CP850" echo "fi_FI CP850" echo "fr CP850" echo "fr_BE CP850" echo "fr_CA CP850" echo "fr_CH CP850" echo "fr_FR CP850" echo "ga CP850" echo "ga_IE CP850" echo "gd CP850" echo "gd_GB CP850" echo "gl CP850" echo "gl_ES CP850" echo "id CP850" # not CP437 ?? echo "id_ID CP850" # not CP437 ?? echo "is CP861" # not CP850 ?? echo "is_IS CP861" # not CP850 ?? echo "it CP850" echo "it_CH CP850" echo "it_IT CP850" echo "lt CP775" echo "lt_LT CP775" echo "lv CP775" echo "lv_LV CP775" echo "nb CP865" # not CP850 ?? echo "nb_NO CP865" # not CP850 ?? echo "nl CP850" echo "nl_BE CP850" echo "nl_NL CP850" echo "nn CP865" # not CP850 ?? echo "nn_NO CP865" # not CP850 ?? echo "no CP865" # not CP850 ?? echo "no_NO CP865" # not CP850 ?? echo "pt CP850" echo "pt_BR CP850" echo "pt_PT CP850" echo "sv CP850" echo "sv_SE CP850" # ISO-8859-2 languages echo "cs CP852" echo "cs_CZ CP852" echo "hr CP852" echo "hr_HR CP852" echo "hu CP852" echo "hu_HU CP852" echo "pl CP852" echo "pl_PL CP852" echo "ro CP852" echo "ro_RO CP852" echo "sk CP852" echo "sk_SK CP852" echo "sl CP852" echo "sl_SI CP852" echo "sq CP852" echo "sq_AL CP852" echo "sr CP852" # CP852 or CP866 or CP855 ?? echo "sr_CS CP852" # CP852 or CP866 or CP855 ?? echo "sr_YU CP852" # CP852 or CP866 or CP855 ?? # ISO-8859-3 languages echo "mt CP850" echo "mt_MT CP850" # ISO-8859-5 languages echo "be CP866" echo "be_BE CP866" echo "bg CP866" # not CP855 ?? echo "bg_BG CP866" # not CP855 ?? echo "mk CP866" # not CP855 ?? echo "mk_MK CP866" # not CP855 ?? echo "ru CP866" echo "ru_RU CP866" echo "uk CP1125" echo "uk_UA CP1125" # ISO-8859-6 languages echo "ar CP864" echo "ar_AE CP864" echo "ar_DZ CP864" echo "ar_EG CP864" echo "ar_IQ CP864" echo "ar_IR CP864" echo "ar_JO CP864" echo "ar_KW CP864" echo "ar_MA CP864" echo "ar_OM CP864" echo "ar_QA CP864" echo "ar_SA CP864" echo "ar_SY CP864" # ISO-8859-7 languages echo "el CP869" echo "el_GR CP869" # ISO-8859-8 languages echo "he CP862" echo "he_IL CP862" # ISO-8859-9 languages echo "tr CP857" echo "tr_TR CP857" # Japanese echo "ja CP932" echo "ja_JP CP932" # Chinese echo "zh_CN GBK" echo "zh_TW CP950" # not CP938 ?? # Korean echo "kr CP949" # not CP934 ?? echo "kr_KR CP949" # not CP934 ?? # Thai echo "th CP874" echo "th_TH CP874" # Other echo "eo CP850" echo "eo_EO CP850" ;; esac parted-2.3/lib/regcomp.c0000644000000000000000000033331211354347365012112 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Extended regular expression matching and search library. Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa . 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 3, 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. */ static reg_errcode_t re_compile_internal (regex_t *preg, const char * pattern, size_t length, reg_syntax_t syntax); static void re_compile_fastmap_iter (regex_t *bufp, const re_dfastate_t *init_state, char *fastmap); static reg_errcode_t init_dfa (re_dfa_t *dfa, size_t pat_len); #ifdef RE_ENABLE_I18N static void free_charset (re_charset_t *cset); #endif /* RE_ENABLE_I18N */ static void free_workarea_compile (regex_t *preg); static reg_errcode_t create_initial_state (re_dfa_t *dfa); #ifdef RE_ENABLE_I18N static void optimize_utf8 (re_dfa_t *dfa); #endif static reg_errcode_t analyze (regex_t *preg); static reg_errcode_t preorder (bin_tree_t *root, reg_errcode_t (fn (void *, bin_tree_t *)), void *extra); static reg_errcode_t postorder (bin_tree_t *root, reg_errcode_t (fn (void *, bin_tree_t *)), void *extra); static reg_errcode_t optimize_subexps (void *extra, bin_tree_t *node); static reg_errcode_t lower_subexps (void *extra, bin_tree_t *node); static bin_tree_t *lower_subexp (reg_errcode_t *err, regex_t *preg, bin_tree_t *node); static reg_errcode_t calc_first (void *extra, bin_tree_t *node); static reg_errcode_t calc_next (void *extra, bin_tree_t *node); static reg_errcode_t link_nfa_nodes (void *extra, bin_tree_t *node); static Idx duplicate_node (re_dfa_t *dfa, Idx org_idx, unsigned int constraint); static Idx search_duplicated_node (const re_dfa_t *dfa, Idx org_node, unsigned int constraint); static reg_errcode_t calc_eclosure (re_dfa_t *dfa); static reg_errcode_t calc_eclosure_iter (re_node_set *new_set, re_dfa_t *dfa, Idx node, bool root); static reg_errcode_t calc_inveclosure (re_dfa_t *dfa); static Idx fetch_number (re_string_t *input, re_token_t *token, reg_syntax_t syntax); static int peek_token (re_token_t *token, re_string_t *input, reg_syntax_t syntax) internal_function; static bin_tree_t *parse (re_string_t *regexp, regex_t *preg, reg_syntax_t syntax, reg_errcode_t *err); static bin_tree_t *parse_reg_exp (re_string_t *regexp, regex_t *preg, re_token_t *token, reg_syntax_t syntax, Idx nest, reg_errcode_t *err); static bin_tree_t *parse_branch (re_string_t *regexp, regex_t *preg, re_token_t *token, reg_syntax_t syntax, Idx nest, reg_errcode_t *err); static bin_tree_t *parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token, reg_syntax_t syntax, Idx nest, reg_errcode_t *err); static bin_tree_t *parse_sub_exp (re_string_t *regexp, regex_t *preg, re_token_t *token, reg_syntax_t syntax, Idx nest, reg_errcode_t *err); static bin_tree_t *parse_dup_op (bin_tree_t *dup_elem, re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, reg_syntax_t syntax, reg_errcode_t *err); static bin_tree_t *parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, reg_syntax_t syntax, reg_errcode_t *err); static reg_errcode_t parse_bracket_element (bracket_elem_t *elem, re_string_t *regexp, re_token_t *token, int token_len, re_dfa_t *dfa, reg_syntax_t syntax, bool accept_hyphen); static reg_errcode_t parse_bracket_symbol (bracket_elem_t *elem, re_string_t *regexp, re_token_t *token); #ifdef RE_ENABLE_I18N static reg_errcode_t build_equiv_class (bitset_t sbcset, re_charset_t *mbcset, Idx *equiv_class_alloc, const unsigned char *name); static reg_errcode_t build_charclass (RE_TRANSLATE_TYPE trans, bitset_t sbcset, re_charset_t *mbcset, Idx *char_class_alloc, const unsigned char *class_name, reg_syntax_t syntax); #else /* not RE_ENABLE_I18N */ static reg_errcode_t build_equiv_class (bitset_t sbcset, const unsigned char *name); static reg_errcode_t build_charclass (RE_TRANSLATE_TYPE trans, bitset_t sbcset, const unsigned char *class_name, reg_syntax_t syntax); #endif /* not RE_ENABLE_I18N */ static bin_tree_t *build_charclass_op (re_dfa_t *dfa, RE_TRANSLATE_TYPE trans, const unsigned char *class_name, const unsigned char *extra, bool non_match, reg_errcode_t *err); static bin_tree_t *create_tree (re_dfa_t *dfa, bin_tree_t *left, bin_tree_t *right, re_token_type_t type); static bin_tree_t *create_token_tree (re_dfa_t *dfa, bin_tree_t *left, bin_tree_t *right, const re_token_t *token); static bin_tree_t *duplicate_tree (const bin_tree_t *src, re_dfa_t *dfa); static void free_token (re_token_t *node); static reg_errcode_t free_tree (void *extra, bin_tree_t *node); static reg_errcode_t mark_opt_subexp (void *extra, bin_tree_t *node); /* This table gives an error message for each of the error codes listed in regex.h. Obviously the order here has to be same as there. POSIX doesn't require that we do anything for REG_NOERROR, but why not be nice? */ static const char __re_error_msgid[] = { #define REG_NOERROR_IDX 0 gettext_noop ("Success") /* REG_NOERROR */ "\0" #define REG_NOMATCH_IDX (REG_NOERROR_IDX + sizeof "Success") gettext_noop ("No match") /* REG_NOMATCH */ "\0" #define REG_BADPAT_IDX (REG_NOMATCH_IDX + sizeof "No match") gettext_noop ("Invalid regular expression") /* REG_BADPAT */ "\0" #define REG_ECOLLATE_IDX (REG_BADPAT_IDX + sizeof "Invalid regular expression") gettext_noop ("Invalid collation character") /* REG_ECOLLATE */ "\0" #define REG_ECTYPE_IDX (REG_ECOLLATE_IDX + sizeof "Invalid collation character") gettext_noop ("Invalid character class name") /* REG_ECTYPE */ "\0" #define REG_EESCAPE_IDX (REG_ECTYPE_IDX + sizeof "Invalid character class name") gettext_noop ("Trailing backslash") /* REG_EESCAPE */ "\0" #define REG_ESUBREG_IDX (REG_EESCAPE_IDX + sizeof "Trailing backslash") gettext_noop ("Invalid back reference") /* REG_ESUBREG */ "\0" #define REG_EBRACK_IDX (REG_ESUBREG_IDX + sizeof "Invalid back reference") gettext_noop ("Unmatched [ or [^") /* REG_EBRACK */ "\0" #define REG_EPAREN_IDX (REG_EBRACK_IDX + sizeof "Unmatched [ or [^") gettext_noop ("Unmatched ( or \\(") /* REG_EPAREN */ "\0" #define REG_EBRACE_IDX (REG_EPAREN_IDX + sizeof "Unmatched ( or \\(") gettext_noop ("Unmatched \\{") /* REG_EBRACE */ "\0" #define REG_BADBR_IDX (REG_EBRACE_IDX + sizeof "Unmatched \\{") gettext_noop ("Invalid content of \\{\\}") /* REG_BADBR */ "\0" #define REG_ERANGE_IDX (REG_BADBR_IDX + sizeof "Invalid content of \\{\\}") gettext_noop ("Invalid range end") /* REG_ERANGE */ "\0" #define REG_ESPACE_IDX (REG_ERANGE_IDX + sizeof "Invalid range end") gettext_noop ("Memory exhausted") /* REG_ESPACE */ "\0" #define REG_BADRPT_IDX (REG_ESPACE_IDX + sizeof "Memory exhausted") gettext_noop ("Invalid preceding regular expression") /* REG_BADRPT */ "\0" #define REG_EEND_IDX (REG_BADRPT_IDX + sizeof "Invalid preceding regular expression") gettext_noop ("Premature end of regular expression") /* REG_EEND */ "\0" #define REG_ESIZE_IDX (REG_EEND_IDX + sizeof "Premature end of regular expression") gettext_noop ("Regular expression too big") /* REG_ESIZE */ "\0" #define REG_ERPAREN_IDX (REG_ESIZE_IDX + sizeof "Regular expression too big") gettext_noop ("Unmatched ) or \\)") /* REG_ERPAREN */ }; static const size_t __re_error_msgid_idx[] = { REG_NOERROR_IDX, REG_NOMATCH_IDX, REG_BADPAT_IDX, REG_ECOLLATE_IDX, REG_ECTYPE_IDX, REG_EESCAPE_IDX, REG_ESUBREG_IDX, REG_EBRACK_IDX, REG_EPAREN_IDX, REG_EBRACE_IDX, REG_BADBR_IDX, REG_ERANGE_IDX, REG_ESPACE_IDX, REG_BADRPT_IDX, REG_EEND_IDX, REG_ESIZE_IDX, REG_ERPAREN_IDX }; /* Entry points for GNU code. */ /* re_compile_pattern is the GNU regular expression compiler: it compiles PATTERN (of length LENGTH) and puts the result in BUFP. Returns 0 if the pattern was valid, otherwise an error string. Assumes the `allocated' (and perhaps `buffer') and `translate' fields are set in BUFP on entry. */ #ifdef _LIBC const char * re_compile_pattern (pattern, length, bufp) const char *pattern; size_t length; struct re_pattern_buffer *bufp; #else /* size_t might promote */ const char * re_compile_pattern (const char *pattern, size_t length, struct re_pattern_buffer *bufp) #endif { reg_errcode_t ret; /* And GNU code determines whether or not to get register information by passing null for the REGS argument to re_match, etc., not by setting no_sub, unless RE_NO_SUB is set. */ bufp->no_sub = !!(re_syntax_options & RE_NO_SUB); /* Match anchors at newline. */ bufp->newline_anchor = 1; ret = re_compile_internal (bufp, pattern, length, re_syntax_options); if (!ret) return NULL; return gettext (__re_error_msgid + __re_error_msgid_idx[(int) ret]); } #ifdef _LIBC weak_alias (__re_compile_pattern, re_compile_pattern) #endif /* Set by `re_set_syntax' to the current regexp syntax to recognize. Can also be assigned to arbitrarily: each pattern buffer stores its own syntax, so it can be changed between regex compilations. */ /* This has no initializer because initialized variables in Emacs become read-only after dumping. */ reg_syntax_t re_syntax_options; /* Specify the precise syntax of regexps for compilation. This provides for compatibility for various utilities which historically have different, incompatible syntaxes. The argument SYNTAX is a bit mask comprised of the various bits defined in regex.h. We return the old syntax. */ reg_syntax_t re_set_syntax (syntax) reg_syntax_t syntax; { reg_syntax_t ret = re_syntax_options; re_syntax_options = syntax; return ret; } #ifdef _LIBC weak_alias (__re_set_syntax, re_set_syntax) #endif int re_compile_fastmap (bufp) struct re_pattern_buffer *bufp; { re_dfa_t *dfa = (re_dfa_t *) bufp->buffer; char *fastmap = bufp->fastmap; memset (fastmap, '\0', sizeof (char) * SBC_MAX); re_compile_fastmap_iter (bufp, dfa->init_state, fastmap); if (dfa->init_state != dfa->init_state_word) re_compile_fastmap_iter (bufp, dfa->init_state_word, fastmap); if (dfa->init_state != dfa->init_state_nl) re_compile_fastmap_iter (bufp, dfa->init_state_nl, fastmap); if (dfa->init_state != dfa->init_state_begbuf) re_compile_fastmap_iter (bufp, dfa->init_state_begbuf, fastmap); bufp->fastmap_accurate = 1; return 0; } #ifdef _LIBC weak_alias (__re_compile_fastmap, re_compile_fastmap) #endif static inline void __attribute ((always_inline)) re_set_fastmap (char *fastmap, bool icase, int ch) { fastmap[ch] = 1; if (icase) fastmap[tolower (ch)] = 1; } /* Helper function for re_compile_fastmap. Compile fastmap for the initial_state INIT_STATE. */ static void re_compile_fastmap_iter (regex_t *bufp, const re_dfastate_t *init_state, char *fastmap) { re_dfa_t *dfa = (re_dfa_t *) bufp->buffer; Idx node_cnt; bool icase = (dfa->mb_cur_max == 1 && (bufp->syntax & RE_ICASE)); for (node_cnt = 0; node_cnt < init_state->nodes.nelem; ++node_cnt) { Idx node = init_state->nodes.elems[node_cnt]; re_token_type_t type = dfa->nodes[node].type; if (type == CHARACTER) { re_set_fastmap (fastmap, icase, dfa->nodes[node].opr.c); #ifdef RE_ENABLE_I18N if ((bufp->syntax & RE_ICASE) && dfa->mb_cur_max > 1) { unsigned char buf[MB_LEN_MAX]; unsigned char *p; wchar_t wc; mbstate_t state; p = buf; *p++ = dfa->nodes[node].opr.c; while (++node < dfa->nodes_len && dfa->nodes[node].type == CHARACTER && dfa->nodes[node].mb_partial) *p++ = dfa->nodes[node].opr.c; memset (&state, '\0', sizeof (state)); if (__mbrtowc (&wc, (const char *) buf, p - buf, &state) == p - buf && (__wcrtomb ((char *) buf, towlower (wc), &state) != (size_t) -1)) re_set_fastmap (fastmap, false, buf[0]); } #endif } else if (type == SIMPLE_BRACKET) { int i, ch; for (i = 0, ch = 0; i < BITSET_WORDS; ++i) { int j; bitset_word_t w = dfa->nodes[node].opr.sbcset[i]; for (j = 0; j < BITSET_WORD_BITS; ++j, ++ch) if (w & ((bitset_word_t) 1 << j)) re_set_fastmap (fastmap, icase, ch); } } #ifdef RE_ENABLE_I18N else if (type == COMPLEX_BRACKET) { re_charset_t *cset = dfa->nodes[node].opr.mbcset; Idx i; # ifdef _LIBC /* See if we have to try all bytes which start multiple collation elements. e.g. In da_DK, we want to catch 'a' since "aa" is a valid collation element, and don't catch 'b' since 'b' is the only collation element which starts from 'b' (and it is caught by SIMPLE_BRACKET). */ if (_NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES) != 0 && (cset->ncoll_syms || cset->nranges)) { const int32_t *table = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_TABLEMB); for (i = 0; i < SBC_MAX; ++i) if (table[i] < 0) re_set_fastmap (fastmap, icase, i); } # endif /* _LIBC */ /* See if we have to start the match at all multibyte characters, i.e. where we would not find an invalid sequence. This only applies to multibyte character sets; for single byte character sets, the SIMPLE_BRACKET again suffices. */ if (dfa->mb_cur_max > 1 && (cset->nchar_classes || cset->non_match || cset->nranges # ifdef _LIBC || cset->nequiv_classes # endif /* _LIBC */ )) { unsigned char c = 0; do { mbstate_t mbs; memset (&mbs, 0, sizeof (mbs)); if (__mbrtowc (NULL, (char *) &c, 1, &mbs) == (size_t) -2) re_set_fastmap (fastmap, false, (int) c); } while (++c != 0); } else { /* ... Else catch all bytes which can start the mbchars. */ for (i = 0; i < cset->nmbchars; ++i) { char buf[256]; mbstate_t state; memset (&state, '\0', sizeof (state)); if (__wcrtomb (buf, cset->mbchars[i], &state) != (size_t) -1) re_set_fastmap (fastmap, icase, *(unsigned char *) buf); if ((bufp->syntax & RE_ICASE) && dfa->mb_cur_max > 1) { if (__wcrtomb (buf, towlower (cset->mbchars[i]), &state) != (size_t) -1) re_set_fastmap (fastmap, false, *(unsigned char *) buf); } } } } #endif /* RE_ENABLE_I18N */ else if (type == OP_PERIOD #ifdef RE_ENABLE_I18N || type == OP_UTF8_PERIOD #endif /* RE_ENABLE_I18N */ || type == END_OF_RE) { memset (fastmap, '\1', sizeof (char) * SBC_MAX); if (type == END_OF_RE) bufp->can_be_null = 1; return; } } } /* Entry point for POSIX code. */ /* regcomp takes a regular expression as a string and compiles it. PREG is a regex_t *. We do not expect any fields to be initialized, since POSIX says we shouldn't. Thus, we set `buffer' to the compiled pattern; `used' to the length of the compiled pattern; `syntax' to RE_SYNTAX_POSIX_EXTENDED if the REG_EXTENDED bit in CFLAGS is set; otherwise, to RE_SYNTAX_POSIX_BASIC; `newline_anchor' to REG_NEWLINE being set in CFLAGS; `fastmap' to an allocated space for the fastmap; `fastmap_accurate' to zero; `re_nsub' to the number of subexpressions in PATTERN. PATTERN is the address of the pattern string. CFLAGS is a series of bits which affect compilation. If REG_EXTENDED is set, we use POSIX extended syntax; otherwise, we use POSIX basic syntax. If REG_NEWLINE is set, then . and [^...] don't match newline. Also, regexec will try a match beginning after every newline. If REG_ICASE is set, then we considers upper- and lowercase versions of letters to be equivalent when matching. If REG_NOSUB is set, then when PREG is passed to regexec, that routine will report only success or failure, and nothing about the registers. It returns 0 if it succeeds, nonzero if it doesn't. (See regex.h for the return codes and their meanings.) */ int regcomp (preg, pattern, cflags) regex_t *_Restrict_ preg; const char *_Restrict_ pattern; int cflags; { reg_errcode_t ret; reg_syntax_t syntax = ((cflags & REG_EXTENDED) ? RE_SYNTAX_POSIX_EXTENDED : RE_SYNTAX_POSIX_BASIC); preg->buffer = NULL; preg->allocated = 0; preg->used = 0; /* Try to allocate space for the fastmap. */ preg->fastmap = re_malloc (char, SBC_MAX); if (BE (preg->fastmap == NULL, 0)) return REG_ESPACE; syntax |= (cflags & REG_ICASE) ? RE_ICASE : 0; /* If REG_NEWLINE is set, newlines are treated differently. */ if (cflags & REG_NEWLINE) { /* REG_NEWLINE implies neither . nor [^...] match newline. */ syntax &= ~RE_DOT_NEWLINE; syntax |= RE_HAT_LISTS_NOT_NEWLINE; /* It also changes the matching behavior. */ preg->newline_anchor = 1; } else preg->newline_anchor = 0; preg->no_sub = !!(cflags & REG_NOSUB); preg->translate = NULL; ret = re_compile_internal (preg, pattern, strlen (pattern), syntax); /* POSIX doesn't distinguish between an unmatched open-group and an unmatched close-group: both are REG_EPAREN. */ if (ret == REG_ERPAREN) ret = REG_EPAREN; /* We have already checked preg->fastmap != NULL. */ if (BE (ret == REG_NOERROR, 1)) /* Compute the fastmap now, since regexec cannot modify the pattern buffer. This function never fails in this implementation. */ (void) re_compile_fastmap (preg); else { /* Some error occurred while compiling the expression. */ re_free (preg->fastmap); preg->fastmap = NULL; } return (int) ret; } #ifdef _LIBC weak_alias (__regcomp, regcomp) #endif /* Returns a message corresponding to an error code, ERRCODE, returned from either regcomp or regexec. We don't use PREG here. */ #ifdef _LIBC size_t regerror (errcode, preg, errbuf, errbuf_size) int errcode; const regex_t *_Restrict_ preg; char *_Restrict_ errbuf; size_t errbuf_size; #else /* size_t might promote */ size_t regerror (int errcode, const regex_t *_Restrict_ preg, char *_Restrict_ errbuf, size_t errbuf_size) #endif { const char *msg; size_t msg_size; if (BE (errcode < 0 || errcode >= (int) (sizeof (__re_error_msgid_idx) / sizeof (__re_error_msgid_idx[0])), 0)) /* Only error codes returned by the rest of the code should be passed to this routine. If we are given anything else, or if other regex code generates an invalid error code, then the program has a bug. Dump core so we can fix it. */ abort (); msg = gettext (__re_error_msgid + __re_error_msgid_idx[errcode]); msg_size = strlen (msg) + 1; /* Includes the null. */ if (BE (errbuf_size != 0, 1)) { size_t cpy_size = msg_size; if (BE (msg_size > errbuf_size, 0)) { cpy_size = errbuf_size - 1; errbuf[cpy_size] = '\0'; } memcpy (errbuf, msg, cpy_size); } return msg_size; } #ifdef _LIBC weak_alias (__regerror, regerror) #endif #ifdef RE_ENABLE_I18N /* This static array is used for the map to single-byte characters when UTF-8 is used. Otherwise we would allocate memory just to initialize it the same all the time. UTF-8 is the preferred encoding so this is a worthwhile optimization. */ static const bitset_t utf8_sb_map = { /* Set the first 128 bits. */ # if 4 * BITSET_WORD_BITS < ASCII_CHARS # error "bitset_word_t is narrower than 32 bits" # elif 3 * BITSET_WORD_BITS < ASCII_CHARS BITSET_WORD_MAX, BITSET_WORD_MAX, BITSET_WORD_MAX, # elif 2 * BITSET_WORD_BITS < ASCII_CHARS BITSET_WORD_MAX, BITSET_WORD_MAX, # elif 1 * BITSET_WORD_BITS < ASCII_CHARS BITSET_WORD_MAX, # endif (BITSET_WORD_MAX >> (SBC_MAX % BITSET_WORD_BITS == 0 ? 0 : BITSET_WORD_BITS - SBC_MAX % BITSET_WORD_BITS)) }; #endif static void free_dfa_content (re_dfa_t *dfa) { Idx i, j; if (dfa->nodes) for (i = 0; i < dfa->nodes_len; ++i) free_token (dfa->nodes + i); re_free (dfa->nexts); for (i = 0; i < dfa->nodes_len; ++i) { if (dfa->eclosures != NULL) re_node_set_free (dfa->eclosures + i); if (dfa->inveclosures != NULL) re_node_set_free (dfa->inveclosures + i); if (dfa->edests != NULL) re_node_set_free (dfa->edests + i); } re_free (dfa->edests); re_free (dfa->eclosures); re_free (dfa->inveclosures); re_free (dfa->nodes); if (dfa->state_table) for (i = 0; i <= dfa->state_hash_mask; ++i) { struct re_state_table_entry *entry = dfa->state_table + i; for (j = 0; j < entry->num; ++j) { re_dfastate_t *state = entry->array[j]; free_state (state); } re_free (entry->array); } re_free (dfa->state_table); #ifdef RE_ENABLE_I18N if (dfa->sb_char != utf8_sb_map) re_free (dfa->sb_char); #endif re_free (dfa->subexp_map); #ifdef DEBUG re_free (dfa->re_str); #endif re_free (dfa); } /* Free dynamically allocated space used by PREG. */ void regfree (preg) regex_t *preg; { re_dfa_t *dfa = (re_dfa_t *) preg->buffer; if (BE (dfa != NULL, 1)) free_dfa_content (dfa); preg->buffer = NULL; preg->allocated = 0; re_free (preg->fastmap); preg->fastmap = NULL; re_free (preg->translate); preg->translate = NULL; } #ifdef _LIBC weak_alias (__regfree, regfree) #endif /* Entry points compatible with 4.2 BSD regex library. We don't define them unless specifically requested. */ #if defined _REGEX_RE_COMP || defined _LIBC /* BSD has one and only one pattern buffer. */ static struct re_pattern_buffer re_comp_buf; char * # ifdef _LIBC /* Make these definitions weak in libc, so POSIX programs can redefine these names if they don't use our functions, and still use regcomp/regexec above without link errors. */ weak_function # endif re_comp (s) const char *s; { reg_errcode_t ret; char *fastmap; if (!s) { if (!re_comp_buf.buffer) return gettext ("No previous regular expression"); return 0; } if (re_comp_buf.buffer) { fastmap = re_comp_buf.fastmap; re_comp_buf.fastmap = NULL; __regfree (&re_comp_buf); memset (&re_comp_buf, '\0', sizeof (re_comp_buf)); re_comp_buf.fastmap = fastmap; } if (re_comp_buf.fastmap == NULL) { re_comp_buf.fastmap = (char *) malloc (SBC_MAX); if (re_comp_buf.fastmap == NULL) return (char *) gettext (__re_error_msgid + __re_error_msgid_idx[(int) REG_ESPACE]); } /* Since `re_exec' always passes NULL for the `regs' argument, we don't need to initialize the pattern buffer fields which affect it. */ /* Match anchors at newlines. */ re_comp_buf.newline_anchor = 1; ret = re_compile_internal (&re_comp_buf, s, strlen (s), re_syntax_options); if (!ret) return NULL; /* Yes, we're discarding `const' here if !HAVE_LIBINTL. */ return (char *) gettext (__re_error_msgid + __re_error_msgid_idx[(int) ret]); } #ifdef _LIBC libc_freeres_fn (free_mem) { __regfree (&re_comp_buf); } #endif #endif /* _REGEX_RE_COMP */ /* Internal entry point. Compile the regular expression PATTERN, whose length is LENGTH. SYNTAX indicate regular expression's syntax. */ static reg_errcode_t re_compile_internal (regex_t *preg, const char * pattern, size_t length, reg_syntax_t syntax) { reg_errcode_t err = REG_NOERROR; re_dfa_t *dfa; re_string_t regexp; /* Initialize the pattern buffer. */ preg->fastmap_accurate = 0; preg->syntax = syntax; preg->not_bol = preg->not_eol = 0; preg->used = 0; preg->re_nsub = 0; preg->can_be_null = 0; preg->regs_allocated = REGS_UNALLOCATED; /* Initialize the dfa. */ dfa = (re_dfa_t *) preg->buffer; if (BE (preg->allocated < sizeof (re_dfa_t), 0)) { /* If zero allocated, but buffer is non-null, try to realloc enough space. This loses if buffer's address is bogus, but that is the user's responsibility. If ->buffer is NULL this is a simple allocation. */ dfa = re_realloc (preg->buffer, re_dfa_t, 1); if (dfa == NULL) return REG_ESPACE; preg->allocated = sizeof (re_dfa_t); preg->buffer = (unsigned char *) dfa; } preg->used = sizeof (re_dfa_t); err = init_dfa (dfa, length); if (BE (err != REG_NOERROR, 0)) { free_dfa_content (dfa); preg->buffer = NULL; preg->allocated = 0; return err; } #ifdef DEBUG /* Note: length+1 will not overflow since it is checked in init_dfa. */ dfa->re_str = re_malloc (char, length + 1); strncpy (dfa->re_str, pattern, length + 1); #endif __libc_lock_init (dfa->lock); err = re_string_construct (®exp, pattern, length, preg->translate, (syntax & RE_ICASE) != 0, dfa); if (BE (err != REG_NOERROR, 0)) { re_compile_internal_free_return: free_workarea_compile (preg); re_string_destruct (®exp); free_dfa_content (dfa); preg->buffer = NULL; preg->allocated = 0; return err; } /* Parse the regular expression, and build a structure tree. */ preg->re_nsub = 0; dfa->str_tree = parse (®exp, preg, syntax, &err); if (BE (dfa->str_tree == NULL, 0)) goto re_compile_internal_free_return; /* Analyze the tree and create the nfa. */ err = analyze (preg); if (BE (err != REG_NOERROR, 0)) goto re_compile_internal_free_return; #ifdef RE_ENABLE_I18N /* If possible, do searching in single byte encoding to speed things up. */ if (dfa->is_utf8 && !(syntax & RE_ICASE) && preg->translate == NULL) optimize_utf8 (dfa); #endif /* Then create the initial state of the dfa. */ err = create_initial_state (dfa); /* Release work areas. */ free_workarea_compile (preg); re_string_destruct (®exp); if (BE (err != REG_NOERROR, 0)) { free_dfa_content (dfa); preg->buffer = NULL; preg->allocated = 0; } return err; } /* Initialize DFA. We use the length of the regular expression PAT_LEN as the initial length of some arrays. */ static reg_errcode_t init_dfa (re_dfa_t *dfa, size_t pat_len) { __re_size_t table_size; #ifndef _LIBC char *codeset_name; #endif #ifdef RE_ENABLE_I18N size_t max_i18n_object_size = MAX (sizeof (wchar_t), sizeof (wctype_t)); #else size_t max_i18n_object_size = 0; #endif size_t max_object_size = MAX (sizeof (struct re_state_table_entry), MAX (sizeof (re_token_t), MAX (sizeof (re_node_set), MAX (sizeof (regmatch_t), max_i18n_object_size)))); memset (dfa, '\0', sizeof (re_dfa_t)); /* Force allocation of str_tree_storage the first time. */ dfa->str_tree_storage_idx = BIN_TREE_STORAGE_SIZE; /* Avoid overflows. The extra "/ 2" is for the table_size doubling calculation below, and for similar doubling calculations elsewhere. And it's <= rather than <, because some of the doubling calculations add 1 afterwards. */ if (BE (SIZE_MAX / max_object_size / 2 <= pat_len, 0)) return REG_ESPACE; dfa->nodes_alloc = pat_len + 1; dfa->nodes = re_malloc (re_token_t, dfa->nodes_alloc); /* table_size = 2 ^ ceil(log pat_len) */ for (table_size = 1; ; table_size <<= 1) if (table_size > pat_len) break; dfa->state_table = calloc (sizeof (struct re_state_table_entry), table_size); dfa->state_hash_mask = table_size - 1; dfa->mb_cur_max = MB_CUR_MAX; #ifdef _LIBC if (dfa->mb_cur_max == 6 && strcmp (_NL_CURRENT (LC_CTYPE, _NL_CTYPE_CODESET_NAME), "UTF-8") == 0) dfa->is_utf8 = 1; dfa->map_notascii = (_NL_CURRENT_WORD (LC_CTYPE, _NL_CTYPE_MAP_TO_NONASCII) != 0); #else codeset_name = nl_langinfo (CODESET); if (strcasecmp (codeset_name, "UTF-8") == 0 || strcasecmp (codeset_name, "UTF8") == 0) dfa->is_utf8 = 1; /* We check exhaustively in the loop below if this charset is a superset of ASCII. */ dfa->map_notascii = 0; #endif #ifdef RE_ENABLE_I18N if (dfa->mb_cur_max > 1) { if (dfa->is_utf8) dfa->sb_char = (re_bitset_ptr_t) utf8_sb_map; else { int i, j, ch; dfa->sb_char = (re_bitset_ptr_t) calloc (sizeof (bitset_t), 1); if (BE (dfa->sb_char == NULL, 0)) return REG_ESPACE; /* Set the bits corresponding to single byte chars. */ for (i = 0, ch = 0; i < BITSET_WORDS; ++i) for (j = 0; j < BITSET_WORD_BITS; ++j, ++ch) { wint_t wch = __btowc (ch); if (wch != WEOF) dfa->sb_char[i] |= (bitset_word_t) 1 << j; # ifndef _LIBC if (isascii (ch) && wch != ch) dfa->map_notascii = 1; # endif } } } #endif if (BE (dfa->nodes == NULL || dfa->state_table == NULL, 0)) return REG_ESPACE; return REG_NOERROR; } /* Initialize WORD_CHAR table, which indicate which character is "word". In this case "word" means that it is the word construction character used by some operators like "\<", "\>", etc. */ static void internal_function init_word_char (re_dfa_t *dfa) { int i, j, ch; dfa->word_ops_used = 1; for (i = 0, ch = 0; i < BITSET_WORDS; ++i) for (j = 0; j < BITSET_WORD_BITS; ++j, ++ch) if (isalnum (ch) || ch == '_') dfa->word_char[i] |= (bitset_word_t) 1 << j; } /* Free the work area which are only used while compiling. */ static void free_workarea_compile (regex_t *preg) { re_dfa_t *dfa = (re_dfa_t *) preg->buffer; bin_tree_storage_t *storage, *next; for (storage = dfa->str_tree_storage; storage; storage = next) { next = storage->next; re_free (storage); } dfa->str_tree_storage = NULL; dfa->str_tree_storage_idx = BIN_TREE_STORAGE_SIZE; dfa->str_tree = NULL; re_free (dfa->org_indices); dfa->org_indices = NULL; } /* Create initial states for all contexts. */ static reg_errcode_t create_initial_state (re_dfa_t *dfa) { Idx first, i; reg_errcode_t err; re_node_set init_nodes; /* Initial states have the epsilon closure of the node which is the first node of the regular expression. */ first = dfa->str_tree->first->node_idx; dfa->init_node = first; err = re_node_set_init_copy (&init_nodes, dfa->eclosures + first); if (BE (err != REG_NOERROR, 0)) return err; /* The back-references which are in initial states can epsilon transit, since in this case all of the subexpressions can be null. Then we add epsilon closures of the nodes which are the next nodes of the back-references. */ if (dfa->nbackref > 0) for (i = 0; i < init_nodes.nelem; ++i) { Idx node_idx = init_nodes.elems[i]; re_token_type_t type = dfa->nodes[node_idx].type; Idx clexp_idx; if (type != OP_BACK_REF) continue; for (clexp_idx = 0; clexp_idx < init_nodes.nelem; ++clexp_idx) { re_token_t *clexp_node; clexp_node = dfa->nodes + init_nodes.elems[clexp_idx]; if (clexp_node->type == OP_CLOSE_SUBEXP && clexp_node->opr.idx == dfa->nodes[node_idx].opr.idx) break; } if (clexp_idx == init_nodes.nelem) continue; if (type == OP_BACK_REF) { Idx dest_idx = dfa->edests[node_idx].elems[0]; if (!re_node_set_contains (&init_nodes, dest_idx)) { reg_errcode_t merge_err = re_node_set_merge (&init_nodes, dfa->eclosures + dest_idx); if (merge_err != REG_NOERROR) return merge_err; i = 0; } } } /* It must be the first time to invoke acquire_state. */ dfa->init_state = re_acquire_state_context (&err, dfa, &init_nodes, 0); /* We don't check ERR here, since the initial state must not be NULL. */ if (BE (dfa->init_state == NULL, 0)) return err; if (dfa->init_state->has_constraint) { dfa->init_state_word = re_acquire_state_context (&err, dfa, &init_nodes, CONTEXT_WORD); dfa->init_state_nl = re_acquire_state_context (&err, dfa, &init_nodes, CONTEXT_NEWLINE); dfa->init_state_begbuf = re_acquire_state_context (&err, dfa, &init_nodes, CONTEXT_NEWLINE | CONTEXT_BEGBUF); if (BE (dfa->init_state_word == NULL || dfa->init_state_nl == NULL || dfa->init_state_begbuf == NULL, 0)) return err; } else dfa->init_state_word = dfa->init_state_nl = dfa->init_state_begbuf = dfa->init_state; re_node_set_free (&init_nodes); return REG_NOERROR; } #ifdef RE_ENABLE_I18N /* If it is possible to do searching in single byte encoding instead of UTF-8 to speed things up, set dfa->mb_cur_max to 1, clear is_utf8 and change DFA nodes where needed. */ static void optimize_utf8 (re_dfa_t *dfa) { Idx node; int i; bool mb_chars = false; bool has_period = false; for (node = 0; node < dfa->nodes_len; ++node) switch (dfa->nodes[node].type) { case CHARACTER: if (dfa->nodes[node].opr.c >= ASCII_CHARS) mb_chars = true; break; case ANCHOR: switch (dfa->nodes[node].opr.ctx_type) { case LINE_FIRST: case LINE_LAST: case BUF_FIRST: case BUF_LAST: break; default: /* Word anchors etc. cannot be handled. It's okay to test opr.ctx_type since constraints (for all DFA nodes) are created by ORing one or more opr.ctx_type values. */ return; } break; case OP_PERIOD: has_period = true; break; case OP_BACK_REF: case OP_ALT: case END_OF_RE: case OP_DUP_ASTERISK: case OP_OPEN_SUBEXP: case OP_CLOSE_SUBEXP: break; case COMPLEX_BRACKET: return; case SIMPLE_BRACKET: /* Just double check. */ { int rshift = (ASCII_CHARS % BITSET_WORD_BITS == 0 ? 0 : BITSET_WORD_BITS - ASCII_CHARS % BITSET_WORD_BITS); for (i = ASCII_CHARS / BITSET_WORD_BITS; i < BITSET_WORDS; ++i) { if (dfa->nodes[node].opr.sbcset[i] >> rshift != 0) return; rshift = 0; } } break; default: abort (); } if (mb_chars || has_period) for (node = 0; node < dfa->nodes_len; ++node) { if (dfa->nodes[node].type == CHARACTER && dfa->nodes[node].opr.c >= ASCII_CHARS) dfa->nodes[node].mb_partial = 0; else if (dfa->nodes[node].type == OP_PERIOD) dfa->nodes[node].type = OP_UTF8_PERIOD; } /* The search can be in single byte locale. */ dfa->mb_cur_max = 1; dfa->is_utf8 = 0; dfa->has_mb_node = dfa->nbackref > 0 || has_period; } #endif /* Analyze the structure tree, and calculate "first", "next", "edest", "eclosure", and "inveclosure". */ static reg_errcode_t analyze (regex_t *preg) { re_dfa_t *dfa = (re_dfa_t *) preg->buffer; reg_errcode_t ret; /* Allocate arrays. */ dfa->nexts = re_malloc (Idx, dfa->nodes_alloc); dfa->org_indices = re_malloc (Idx, dfa->nodes_alloc); dfa->edests = re_malloc (re_node_set, dfa->nodes_alloc); dfa->eclosures = re_malloc (re_node_set, dfa->nodes_alloc); if (BE (dfa->nexts == NULL || dfa->org_indices == NULL || dfa->edests == NULL || dfa->eclosures == NULL, 0)) return REG_ESPACE; dfa->subexp_map = re_malloc (Idx, preg->re_nsub); if (dfa->subexp_map != NULL) { Idx i; for (i = 0; i < preg->re_nsub; i++) dfa->subexp_map[i] = i; preorder (dfa->str_tree, optimize_subexps, dfa); for (i = 0; i < preg->re_nsub; i++) if (dfa->subexp_map[i] != i) break; if (i == preg->re_nsub) { free (dfa->subexp_map); dfa->subexp_map = NULL; } } ret = postorder (dfa->str_tree, lower_subexps, preg); if (BE (ret != REG_NOERROR, 0)) return ret; ret = postorder (dfa->str_tree, calc_first, dfa); if (BE (ret != REG_NOERROR, 0)) return ret; preorder (dfa->str_tree, calc_next, dfa); ret = preorder (dfa->str_tree, link_nfa_nodes, dfa); if (BE (ret != REG_NOERROR, 0)) return ret; ret = calc_eclosure (dfa); if (BE (ret != REG_NOERROR, 0)) return ret; /* We only need this during the prune_impossible_nodes pass in regexec.c; skip it if p_i_n will not run, as calc_inveclosure can be quadratic. */ if ((!preg->no_sub && preg->re_nsub > 0 && dfa->has_plural_match) || dfa->nbackref) { dfa->inveclosures = re_malloc (re_node_set, dfa->nodes_len); if (BE (dfa->inveclosures == NULL, 0)) return REG_ESPACE; ret = calc_inveclosure (dfa); } return ret; } /* Our parse trees are very unbalanced, so we cannot use a stack to implement parse tree visits. Instead, we use parent pointers and some hairy code in these two functions. */ static reg_errcode_t postorder (bin_tree_t *root, reg_errcode_t (fn (void *, bin_tree_t *)), void *extra) { bin_tree_t *node, *prev; for (node = root; ; ) { /* Descend down the tree, preferably to the left (or to the right if that's the only child). */ while (node->left || node->right) if (node->left) node = node->left; else node = node->right; do { reg_errcode_t err = fn (extra, node); if (BE (err != REG_NOERROR, 0)) return err; if (node->parent == NULL) return REG_NOERROR; prev = node; node = node->parent; } /* Go up while we have a node that is reached from the right. */ while (node->right == prev || node->right == NULL); node = node->right; } } static reg_errcode_t preorder (bin_tree_t *root, reg_errcode_t (fn (void *, bin_tree_t *)), void *extra) { bin_tree_t *node; for (node = root; ; ) { reg_errcode_t err = fn (extra, node); if (BE (err != REG_NOERROR, 0)) return err; /* Go to the left node, or up and to the right. */ if (node->left) node = node->left; else { bin_tree_t *prev = NULL; while (node->right == prev || node->right == NULL) { prev = node; node = node->parent; if (!node) return REG_NOERROR; } node = node->right; } } } /* Optimization pass: if a SUBEXP is entirely contained, strip it and tell re_search_internal to map the inner one's opr.idx to this one's. Adjust backreferences as well. Requires a preorder visit. */ static reg_errcode_t optimize_subexps (void *extra, bin_tree_t *node) { re_dfa_t *dfa = (re_dfa_t *) extra; if (node->token.type == OP_BACK_REF && dfa->subexp_map) { int idx = node->token.opr.idx; node->token.opr.idx = dfa->subexp_map[idx]; dfa->used_bkref_map |= 1 << node->token.opr.idx; } else if (node->token.type == SUBEXP && node->left && node->left->token.type == SUBEXP) { Idx other_idx = node->left->token.opr.idx; node->left = node->left->left; if (node->left) node->left->parent = node; dfa->subexp_map[other_idx] = dfa->subexp_map[node->token.opr.idx]; if (other_idx < BITSET_WORD_BITS) dfa->used_bkref_map &= ~((bitset_word_t) 1 << other_idx); } return REG_NOERROR; } /* Lowering pass: Turn each SUBEXP node into the appropriate concatenation of OP_OPEN_SUBEXP, the body of the SUBEXP (if any) and OP_CLOSE_SUBEXP. */ static reg_errcode_t lower_subexps (void *extra, bin_tree_t *node) { regex_t *preg = (regex_t *) extra; reg_errcode_t err = REG_NOERROR; if (node->left && node->left->token.type == SUBEXP) { node->left = lower_subexp (&err, preg, node->left); if (node->left) node->left->parent = node; } if (node->right && node->right->token.type == SUBEXP) { node->right = lower_subexp (&err, preg, node->right); if (node->right) node->right->parent = node; } return err; } static bin_tree_t * lower_subexp (reg_errcode_t *err, regex_t *preg, bin_tree_t *node) { re_dfa_t *dfa = (re_dfa_t *) preg->buffer; bin_tree_t *body = node->left; bin_tree_t *op, *cls, *tree1, *tree; if (preg->no_sub /* We do not optimize empty subexpressions, because otherwise we may have bad CONCAT nodes with NULL children. This is obviously not very common, so we do not lose much. An example that triggers this case is the sed "script" /\(\)/x. */ && node->left != NULL && (node->token.opr.idx >= BITSET_WORD_BITS || !(dfa->used_bkref_map & ((bitset_word_t) 1 << node->token.opr.idx)))) return node->left; /* Convert the SUBEXP node to the concatenation of an OP_OPEN_SUBEXP, the contents, and an OP_CLOSE_SUBEXP. */ op = create_tree (dfa, NULL, NULL, OP_OPEN_SUBEXP); cls = create_tree (dfa, NULL, NULL, OP_CLOSE_SUBEXP); tree1 = body ? create_tree (dfa, body, cls, CONCAT) : cls; tree = create_tree (dfa, op, tree1, CONCAT); if (BE (tree == NULL || tree1 == NULL || op == NULL || cls == NULL, 0)) { *err = REG_ESPACE; return NULL; } op->token.opr.idx = cls->token.opr.idx = node->token.opr.idx; op->token.opt_subexp = cls->token.opt_subexp = node->token.opt_subexp; return tree; } /* Pass 1 in building the NFA: compute FIRST and create unlinked automaton nodes. Requires a postorder visit. */ static reg_errcode_t calc_first (void *extra, bin_tree_t *node) { re_dfa_t *dfa = (re_dfa_t *) extra; if (node->token.type == CONCAT) { node->first = node->left->first; node->node_idx = node->left->node_idx; } else { node->first = node; node->node_idx = re_dfa_add_node (dfa, node->token); if (BE (node->node_idx == REG_MISSING, 0)) return REG_ESPACE; if (node->token.type == ANCHOR) dfa->nodes[node->node_idx].constraint = node->token.opr.ctx_type; } return REG_NOERROR; } /* Pass 2: compute NEXT on the tree. Preorder visit. */ static reg_errcode_t calc_next (void *extra, bin_tree_t *node) { switch (node->token.type) { case OP_DUP_ASTERISK: node->left->next = node; break; case CONCAT: node->left->next = node->right->first; node->right->next = node->next; break; default: if (node->left) node->left->next = node->next; if (node->right) node->right->next = node->next; break; } return REG_NOERROR; } /* Pass 3: link all DFA nodes to their NEXT node (any order will do). */ static reg_errcode_t link_nfa_nodes (void *extra, bin_tree_t *node) { re_dfa_t *dfa = (re_dfa_t *) extra; Idx idx = node->node_idx; reg_errcode_t err = REG_NOERROR; switch (node->token.type) { case CONCAT: break; case END_OF_RE: assert (node->next == NULL); break; case OP_DUP_ASTERISK: case OP_ALT: { Idx left, right; dfa->has_plural_match = 1; if (node->left != NULL) left = node->left->first->node_idx; else left = node->next->node_idx; if (node->right != NULL) right = node->right->first->node_idx; else right = node->next->node_idx; assert (REG_VALID_INDEX (left)); assert (REG_VALID_INDEX (right)); err = re_node_set_init_2 (dfa->edests + idx, left, right); } break; case ANCHOR: case OP_OPEN_SUBEXP: case OP_CLOSE_SUBEXP: err = re_node_set_init_1 (dfa->edests + idx, node->next->node_idx); break; case OP_BACK_REF: dfa->nexts[idx] = node->next->node_idx; if (node->token.type == OP_BACK_REF) err = re_node_set_init_1 (dfa->edests + idx, dfa->nexts[idx]); break; default: assert (!IS_EPSILON_NODE (node->token.type)); dfa->nexts[idx] = node->next->node_idx; break; } return err; } /* Duplicate the epsilon closure of the node ROOT_NODE. Note that duplicated nodes have constraint INIT_CONSTRAINT in addition to their own constraint. */ static reg_errcode_t internal_function duplicate_node_closure (re_dfa_t *dfa, Idx top_org_node, Idx top_clone_node, Idx root_node, unsigned int init_constraint) { Idx org_node, clone_node; bool ok; unsigned int constraint = init_constraint; for (org_node = top_org_node, clone_node = top_clone_node;;) { Idx org_dest, clone_dest; if (dfa->nodes[org_node].type == OP_BACK_REF) { /* If the back reference epsilon-transit, its destination must also have the constraint. Then duplicate the epsilon closure of the destination of the back reference, and store it in edests of the back reference. */ org_dest = dfa->nexts[org_node]; re_node_set_empty (dfa->edests + clone_node); clone_dest = duplicate_node (dfa, org_dest, constraint); if (BE (clone_dest == REG_MISSING, 0)) return REG_ESPACE; dfa->nexts[clone_node] = dfa->nexts[org_node]; ok = re_node_set_insert (dfa->edests + clone_node, clone_dest); if (BE (! ok, 0)) return REG_ESPACE; } else if (dfa->edests[org_node].nelem == 0) { /* In case of the node can't epsilon-transit, don't duplicate the destination and store the original destination as the destination of the node. */ dfa->nexts[clone_node] = dfa->nexts[org_node]; break; } else if (dfa->edests[org_node].nelem == 1) { /* In case of the node can epsilon-transit, and it has only one destination. */ org_dest = dfa->edests[org_node].elems[0]; re_node_set_empty (dfa->edests + clone_node); /* If the node is root_node itself, it means the epsilon closure has a loop. Then tie it to the destination of the root_node. */ if (org_node == root_node && clone_node != org_node) { ok = re_node_set_insert (dfa->edests + clone_node, org_dest); if (BE (! ok, 0)) return REG_ESPACE; break; } /* In case the node has another constraint, append it. */ constraint |= dfa->nodes[org_node].constraint; clone_dest = duplicate_node (dfa, org_dest, constraint); if (BE (clone_dest == REG_MISSING, 0)) return REG_ESPACE; ok = re_node_set_insert (dfa->edests + clone_node, clone_dest); if (BE (! ok, 0)) return REG_ESPACE; } else /* dfa->edests[org_node].nelem == 2 */ { /* In case of the node can epsilon-transit, and it has two destinations. In the bin_tree_t and DFA, that's '|' and '*'. */ org_dest = dfa->edests[org_node].elems[0]; re_node_set_empty (dfa->edests + clone_node); /* Search for a duplicated node which satisfies the constraint. */ clone_dest = search_duplicated_node (dfa, org_dest, constraint); if (clone_dest == REG_MISSING) { /* There is no such duplicated node, create a new one. */ reg_errcode_t err; clone_dest = duplicate_node (dfa, org_dest, constraint); if (BE (clone_dest == REG_MISSING, 0)) return REG_ESPACE; ok = re_node_set_insert (dfa->edests + clone_node, clone_dest); if (BE (! ok, 0)) return REG_ESPACE; err = duplicate_node_closure (dfa, org_dest, clone_dest, root_node, constraint); if (BE (err != REG_NOERROR, 0)) return err; } else { /* There is a duplicated node which satisfies the constraint, use it to avoid infinite loop. */ ok = re_node_set_insert (dfa->edests + clone_node, clone_dest); if (BE (! ok, 0)) return REG_ESPACE; } org_dest = dfa->edests[org_node].elems[1]; clone_dest = duplicate_node (dfa, org_dest, constraint); if (BE (clone_dest == REG_MISSING, 0)) return REG_ESPACE; ok = re_node_set_insert (dfa->edests + clone_node, clone_dest); if (BE (! ok, 0)) return REG_ESPACE; } org_node = org_dest; clone_node = clone_dest; } return REG_NOERROR; } /* Search for a node which is duplicated from the node ORG_NODE, and satisfies the constraint CONSTRAINT. */ static Idx search_duplicated_node (const re_dfa_t *dfa, Idx org_node, unsigned int constraint) { Idx idx; for (idx = dfa->nodes_len - 1; dfa->nodes[idx].duplicated && idx > 0; --idx) { if (org_node == dfa->org_indices[idx] && constraint == dfa->nodes[idx].constraint) return idx; /* Found. */ } return REG_MISSING; /* Not found. */ } /* Duplicate the node whose index is ORG_IDX and set the constraint CONSTRAINT. Return the index of the new node, or REG_MISSING if insufficient storage is available. */ static Idx duplicate_node (re_dfa_t *dfa, Idx org_idx, unsigned int constraint) { Idx dup_idx = re_dfa_add_node (dfa, dfa->nodes[org_idx]); if (BE (dup_idx != REG_MISSING, 1)) { dfa->nodes[dup_idx].constraint = constraint; dfa->nodes[dup_idx].constraint |= dfa->nodes[org_idx].constraint; dfa->nodes[dup_idx].duplicated = 1; /* Store the index of the original node. */ dfa->org_indices[dup_idx] = org_idx; } return dup_idx; } static reg_errcode_t calc_inveclosure (re_dfa_t *dfa) { Idx src, idx; bool ok; for (idx = 0; idx < dfa->nodes_len; ++idx) re_node_set_init_empty (dfa->inveclosures + idx); for (src = 0; src < dfa->nodes_len; ++src) { Idx *elems = dfa->eclosures[src].elems; for (idx = 0; idx < dfa->eclosures[src].nelem; ++idx) { ok = re_node_set_insert_last (dfa->inveclosures + elems[idx], src); if (BE (! ok, 0)) return REG_ESPACE; } } return REG_NOERROR; } /* Calculate "eclosure" for all the node in DFA. */ static reg_errcode_t calc_eclosure (re_dfa_t *dfa) { Idx node_idx; bool incomplete; #ifdef DEBUG assert (dfa->nodes_len > 0); #endif incomplete = false; /* For each nodes, calculate epsilon closure. */ for (node_idx = 0; ; ++node_idx) { reg_errcode_t err; re_node_set eclosure_elem; if (node_idx == dfa->nodes_len) { if (!incomplete) break; incomplete = false; node_idx = 0; } #ifdef DEBUG assert (dfa->eclosures[node_idx].nelem != REG_MISSING); #endif /* If we have already calculated, skip it. */ if (dfa->eclosures[node_idx].nelem != 0) continue; /* Calculate epsilon closure of `node_idx'. */ err = calc_eclosure_iter (&eclosure_elem, dfa, node_idx, true); if (BE (err != REG_NOERROR, 0)) return err; if (dfa->eclosures[node_idx].nelem == 0) { incomplete = true; re_node_set_free (&eclosure_elem); } } return REG_NOERROR; } /* Calculate epsilon closure of NODE. */ static reg_errcode_t calc_eclosure_iter (re_node_set *new_set, re_dfa_t *dfa, Idx node, bool root) { reg_errcode_t err; Idx i; re_node_set eclosure; bool ok; bool incomplete = false; err = re_node_set_alloc (&eclosure, dfa->edests[node].nelem + 1); if (BE (err != REG_NOERROR, 0)) return err; /* This indicates that we are calculating this node now. We reference this value to avoid infinite loop. */ dfa->eclosures[node].nelem = REG_MISSING; /* If the current node has constraints, duplicate all nodes since they must inherit the constraints. */ if (dfa->nodes[node].constraint && dfa->edests[node].nelem && !dfa->nodes[dfa->edests[node].elems[0]].duplicated) { err = duplicate_node_closure (dfa, node, node, node, dfa->nodes[node].constraint); if (BE (err != REG_NOERROR, 0)) return err; } /* Expand each epsilon destination nodes. */ if (IS_EPSILON_NODE(dfa->nodes[node].type)) for (i = 0; i < dfa->edests[node].nelem; ++i) { re_node_set eclosure_elem; Idx edest = dfa->edests[node].elems[i]; /* If calculating the epsilon closure of `edest' is in progress, return intermediate result. */ if (dfa->eclosures[edest].nelem == REG_MISSING) { incomplete = true; continue; } /* If we haven't calculated the epsilon closure of `edest' yet, calculate now. Otherwise use calculated epsilon closure. */ if (dfa->eclosures[edest].nelem == 0) { err = calc_eclosure_iter (&eclosure_elem, dfa, edest, false); if (BE (err != REG_NOERROR, 0)) return err; } else eclosure_elem = dfa->eclosures[edest]; /* Merge the epsilon closure of `edest'. */ err = re_node_set_merge (&eclosure, &eclosure_elem); if (BE (err != REG_NOERROR, 0)) return err; /* If the epsilon closure of `edest' is incomplete, the epsilon closure of this node is also incomplete. */ if (dfa->eclosures[edest].nelem == 0) { incomplete = true; re_node_set_free (&eclosure_elem); } } /* An epsilon closure includes itself. */ ok = re_node_set_insert (&eclosure, node); if (BE (! ok, 0)) return REG_ESPACE; if (incomplete && !root) dfa->eclosures[node].nelem = 0; else dfa->eclosures[node] = eclosure; *new_set = eclosure; return REG_NOERROR; } /* Functions for token which are used in the parser. */ /* Fetch a token from INPUT. We must not use this function inside bracket expressions. */ static void internal_function fetch_token (re_token_t *result, re_string_t *input, reg_syntax_t syntax) { re_string_skip_bytes (input, peek_token (result, input, syntax)); } /* Peek a token from INPUT, and return the length of the token. We must not use this function inside bracket expressions. */ static int internal_function peek_token (re_token_t *token, re_string_t *input, reg_syntax_t syntax) { unsigned char c; if (re_string_eoi (input)) { token->type = END_OF_RE; return 0; } c = re_string_peek_byte (input, 0); token->opr.c = c; token->word_char = 0; #ifdef RE_ENABLE_I18N token->mb_partial = 0; if (input->mb_cur_max > 1 && !re_string_first_byte (input, re_string_cur_idx (input))) { token->type = CHARACTER; token->mb_partial = 1; return 1; } #endif if (c == '\\') { unsigned char c2; if (re_string_cur_idx (input) + 1 >= re_string_length (input)) { token->type = BACK_SLASH; return 1; } c2 = re_string_peek_byte_case (input, 1); token->opr.c = c2; token->type = CHARACTER; #ifdef RE_ENABLE_I18N if (input->mb_cur_max > 1) { wint_t wc = re_string_wchar_at (input, re_string_cur_idx (input) + 1); token->word_char = IS_WIDE_WORD_CHAR (wc) != 0; } else #endif token->word_char = IS_WORD_CHAR (c2) != 0; switch (c2) { case '|': if (!(syntax & RE_LIMITED_OPS) && !(syntax & RE_NO_BK_VBAR)) token->type = OP_ALT; break; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': if (!(syntax & RE_NO_BK_REFS)) { token->type = OP_BACK_REF; token->opr.idx = c2 - '1'; } break; case '<': if (!(syntax & RE_NO_GNU_OPS)) { token->type = ANCHOR; token->opr.ctx_type = WORD_FIRST; } break; case '>': if (!(syntax & RE_NO_GNU_OPS)) { token->type = ANCHOR; token->opr.ctx_type = WORD_LAST; } break; case 'b': if (!(syntax & RE_NO_GNU_OPS)) { token->type = ANCHOR; token->opr.ctx_type = WORD_DELIM; } break; case 'B': if (!(syntax & RE_NO_GNU_OPS)) { token->type = ANCHOR; token->opr.ctx_type = NOT_WORD_DELIM; } break; case 'w': if (!(syntax & RE_NO_GNU_OPS)) token->type = OP_WORD; break; case 'W': if (!(syntax & RE_NO_GNU_OPS)) token->type = OP_NOTWORD; break; case 's': if (!(syntax & RE_NO_GNU_OPS)) token->type = OP_SPACE; break; case 'S': if (!(syntax & RE_NO_GNU_OPS)) token->type = OP_NOTSPACE; break; case '`': if (!(syntax & RE_NO_GNU_OPS)) { token->type = ANCHOR; token->opr.ctx_type = BUF_FIRST; } break; case '\'': if (!(syntax & RE_NO_GNU_OPS)) { token->type = ANCHOR; token->opr.ctx_type = BUF_LAST; } break; case '(': if (!(syntax & RE_NO_BK_PARENS)) token->type = OP_OPEN_SUBEXP; break; case ')': if (!(syntax & RE_NO_BK_PARENS)) token->type = OP_CLOSE_SUBEXP; break; case '+': if (!(syntax & RE_LIMITED_OPS) && (syntax & RE_BK_PLUS_QM)) token->type = OP_DUP_PLUS; break; case '?': if (!(syntax & RE_LIMITED_OPS) && (syntax & RE_BK_PLUS_QM)) token->type = OP_DUP_QUESTION; break; case '{': if ((syntax & RE_INTERVALS) && (!(syntax & RE_NO_BK_BRACES))) token->type = OP_OPEN_DUP_NUM; break; case '}': if ((syntax & RE_INTERVALS) && (!(syntax & RE_NO_BK_BRACES))) token->type = OP_CLOSE_DUP_NUM; break; default: break; } return 2; } token->type = CHARACTER; #ifdef RE_ENABLE_I18N if (input->mb_cur_max > 1) { wint_t wc = re_string_wchar_at (input, re_string_cur_idx (input)); token->word_char = IS_WIDE_WORD_CHAR (wc) != 0; } else #endif token->word_char = IS_WORD_CHAR (token->opr.c); switch (c) { case '\n': if (syntax & RE_NEWLINE_ALT) token->type = OP_ALT; break; case '|': if (!(syntax & RE_LIMITED_OPS) && (syntax & RE_NO_BK_VBAR)) token->type = OP_ALT; break; case '*': token->type = OP_DUP_ASTERISK; break; case '+': if (!(syntax & RE_LIMITED_OPS) && !(syntax & RE_BK_PLUS_QM)) token->type = OP_DUP_PLUS; break; case '?': if (!(syntax & RE_LIMITED_OPS) && !(syntax & RE_BK_PLUS_QM)) token->type = OP_DUP_QUESTION; break; case '{': if ((syntax & RE_INTERVALS) && (syntax & RE_NO_BK_BRACES)) token->type = OP_OPEN_DUP_NUM; break; case '}': if ((syntax & RE_INTERVALS) && (syntax & RE_NO_BK_BRACES)) token->type = OP_CLOSE_DUP_NUM; break; case '(': if (syntax & RE_NO_BK_PARENS) token->type = OP_OPEN_SUBEXP; break; case ')': if (syntax & RE_NO_BK_PARENS) token->type = OP_CLOSE_SUBEXP; break; case '[': token->type = OP_OPEN_BRACKET; break; case '.': token->type = OP_PERIOD; break; case '^': if (!(syntax & (RE_CONTEXT_INDEP_ANCHORS | RE_CARET_ANCHORS_HERE)) && re_string_cur_idx (input) != 0) { char prev = re_string_peek_byte (input, -1); if (!(syntax & RE_NEWLINE_ALT) || prev != '\n') break; } token->type = ANCHOR; token->opr.ctx_type = LINE_FIRST; break; case '$': if (!(syntax & RE_CONTEXT_INDEP_ANCHORS) && re_string_cur_idx (input) + 1 != re_string_length (input)) { re_token_t next; re_string_skip_bytes (input, 1); peek_token (&next, input, syntax); re_string_skip_bytes (input, -1); if (next.type != OP_ALT && next.type != OP_CLOSE_SUBEXP) break; } token->type = ANCHOR; token->opr.ctx_type = LINE_LAST; break; default: break; } return 1; } /* Peek a token from INPUT, and return the length of the token. We must not use this function out of bracket expressions. */ static int internal_function peek_token_bracket (re_token_t *token, re_string_t *input, reg_syntax_t syntax) { unsigned char c; if (re_string_eoi (input)) { token->type = END_OF_RE; return 0; } c = re_string_peek_byte (input, 0); token->opr.c = c; #ifdef RE_ENABLE_I18N if (input->mb_cur_max > 1 && !re_string_first_byte (input, re_string_cur_idx (input))) { token->type = CHARACTER; return 1; } #endif /* RE_ENABLE_I18N */ if (c == '\\' && (syntax & RE_BACKSLASH_ESCAPE_IN_LISTS) && re_string_cur_idx (input) + 1 < re_string_length (input)) { /* In this case, '\' escape a character. */ unsigned char c2; re_string_skip_bytes (input, 1); c2 = re_string_peek_byte (input, 0); token->opr.c = c2; token->type = CHARACTER; return 1; } if (c == '[') /* '[' is a special char in a bracket exps. */ { unsigned char c2; int token_len; if (re_string_cur_idx (input) + 1 < re_string_length (input)) c2 = re_string_peek_byte (input, 1); else c2 = 0; token->opr.c = c2; token_len = 2; switch (c2) { case '.': token->type = OP_OPEN_COLL_ELEM; break; case '=': token->type = OP_OPEN_EQUIV_CLASS; break; case ':': if (syntax & RE_CHAR_CLASSES) { token->type = OP_OPEN_CHAR_CLASS; break; } /* else fall through. */ default: token->type = CHARACTER; token->opr.c = c; token_len = 1; break; } return token_len; } switch (c) { case '-': token->type = OP_CHARSET_RANGE; break; case ']': token->type = OP_CLOSE_BRACKET; break; case '^': token->type = OP_NON_MATCH_LIST; break; default: token->type = CHARACTER; } return 1; } /* Functions for parser. */ /* Entry point of the parser. Parse the regular expression REGEXP and return the structure tree. If an error is occured, ERR is set by error code, and return NULL. This function build the following tree, from regular expression : CAT / \ / \ EOR CAT means concatenation. EOR means end of regular expression. */ static bin_tree_t * parse (re_string_t *regexp, regex_t *preg, reg_syntax_t syntax, reg_errcode_t *err) { re_dfa_t *dfa = (re_dfa_t *) preg->buffer; bin_tree_t *tree, *eor, *root; re_token_t current_token; dfa->syntax = syntax; fetch_token (¤t_token, regexp, syntax | RE_CARET_ANCHORS_HERE); tree = parse_reg_exp (regexp, preg, ¤t_token, syntax, 0, err); if (BE (*err != REG_NOERROR && tree == NULL, 0)) return NULL; eor = create_tree (dfa, NULL, NULL, END_OF_RE); if (tree != NULL) root = create_tree (dfa, tree, eor, CONCAT); else root = eor; if (BE (eor == NULL || root == NULL, 0)) { *err = REG_ESPACE; return NULL; } return root; } /* This function build the following tree, from regular expression |: ALT / \ / \ ALT means alternative, which represents the operator `|'. */ static bin_tree_t * parse_reg_exp (re_string_t *regexp, regex_t *preg, re_token_t *token, reg_syntax_t syntax, Idx nest, reg_errcode_t *err) { re_dfa_t *dfa = (re_dfa_t *) preg->buffer; bin_tree_t *tree, *branch = NULL; tree = parse_branch (regexp, preg, token, syntax, nest, err); if (BE (*err != REG_NOERROR && tree == NULL, 0)) return NULL; while (token->type == OP_ALT) { fetch_token (token, regexp, syntax | RE_CARET_ANCHORS_HERE); if (token->type != OP_ALT && token->type != END_OF_RE && (nest == 0 || token->type != OP_CLOSE_SUBEXP)) { branch = parse_branch (regexp, preg, token, syntax, nest, err); if (BE (*err != REG_NOERROR && branch == NULL, 0)) return NULL; } else branch = NULL; tree = create_tree (dfa, tree, branch, OP_ALT); if (BE (tree == NULL, 0)) { *err = REG_ESPACE; return NULL; } } return tree; } /* This function build the following tree, from regular expression : CAT / \ / \ CAT means concatenation. */ static bin_tree_t * parse_branch (re_string_t *regexp, regex_t *preg, re_token_t *token, reg_syntax_t syntax, Idx nest, reg_errcode_t *err) { bin_tree_t *tree, *expr; re_dfa_t *dfa = (re_dfa_t *) preg->buffer; tree = parse_expression (regexp, preg, token, syntax, nest, err); if (BE (*err != REG_NOERROR && tree == NULL, 0)) return NULL; while (token->type != OP_ALT && token->type != END_OF_RE && (nest == 0 || token->type != OP_CLOSE_SUBEXP)) { expr = parse_expression (regexp, preg, token, syntax, nest, err); if (BE (*err != REG_NOERROR && expr == NULL, 0)) { return NULL; } if (tree != NULL && expr != NULL) { tree = create_tree (dfa, tree, expr, CONCAT); if (tree == NULL) { *err = REG_ESPACE; return NULL; } } else if (tree == NULL) tree = expr; /* Otherwise expr == NULL, we don't need to create new tree. */ } return tree; } /* This function build the following tree, from regular expression a*: * | a */ static bin_tree_t * parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token, reg_syntax_t syntax, Idx nest, reg_errcode_t *err) { re_dfa_t *dfa = (re_dfa_t *) preg->buffer; bin_tree_t *tree; switch (token->type) { case CHARACTER: tree = create_token_tree (dfa, NULL, NULL, token); if (BE (tree == NULL, 0)) { *err = REG_ESPACE; return NULL; } #ifdef RE_ENABLE_I18N if (dfa->mb_cur_max > 1) { while (!re_string_eoi (regexp) && !re_string_first_byte (regexp, re_string_cur_idx (regexp))) { bin_tree_t *mbc_remain; fetch_token (token, regexp, syntax); mbc_remain = create_token_tree (dfa, NULL, NULL, token); tree = create_tree (dfa, tree, mbc_remain, CONCAT); if (BE (mbc_remain == NULL || tree == NULL, 0)) { *err = REG_ESPACE; return NULL; } } } #endif break; case OP_OPEN_SUBEXP: tree = parse_sub_exp (regexp, preg, token, syntax, nest + 1, err); if (BE (*err != REG_NOERROR && tree == NULL, 0)) return NULL; break; case OP_OPEN_BRACKET: tree = parse_bracket_exp (regexp, dfa, token, syntax, err); if (BE (*err != REG_NOERROR && tree == NULL, 0)) return NULL; break; case OP_BACK_REF: if (!BE (dfa->completed_bkref_map & (1 << token->opr.idx), 1)) { *err = REG_ESUBREG; return NULL; } dfa->used_bkref_map |= 1 << token->opr.idx; tree = create_token_tree (dfa, NULL, NULL, token); if (BE (tree == NULL, 0)) { *err = REG_ESPACE; return NULL; } ++dfa->nbackref; dfa->has_mb_node = 1; break; case OP_OPEN_DUP_NUM: if (syntax & RE_CONTEXT_INVALID_DUP) { *err = REG_BADRPT; return NULL; } /* FALLTHROUGH */ case OP_DUP_ASTERISK: case OP_DUP_PLUS: case OP_DUP_QUESTION: if (syntax & RE_CONTEXT_INVALID_OPS) { *err = REG_BADRPT; return NULL; } else if (syntax & RE_CONTEXT_INDEP_OPS) { fetch_token (token, regexp, syntax); return parse_expression (regexp, preg, token, syntax, nest, err); } /* else fall through */ case OP_CLOSE_SUBEXP: if ((token->type == OP_CLOSE_SUBEXP) && !(syntax & RE_UNMATCHED_RIGHT_PAREN_ORD)) { *err = REG_ERPAREN; return NULL; } /* else fall through */ case OP_CLOSE_DUP_NUM: /* We treat it as a normal character. */ /* Then we can these characters as normal characters. */ token->type = CHARACTER; /* mb_partial and word_char bits should be initialized already by peek_token. */ tree = create_token_tree (dfa, NULL, NULL, token); if (BE (tree == NULL, 0)) { *err = REG_ESPACE; return NULL; } break; case ANCHOR: if ((token->opr.ctx_type & (WORD_DELIM | NOT_WORD_DELIM | WORD_FIRST | WORD_LAST)) && dfa->word_ops_used == 0) init_word_char (dfa); if (token->opr.ctx_type == WORD_DELIM || token->opr.ctx_type == NOT_WORD_DELIM) { bin_tree_t *tree_first, *tree_last; if (token->opr.ctx_type == WORD_DELIM) { token->opr.ctx_type = WORD_FIRST; tree_first = create_token_tree (dfa, NULL, NULL, token); token->opr.ctx_type = WORD_LAST; } else { token->opr.ctx_type = INSIDE_WORD; tree_first = create_token_tree (dfa, NULL, NULL, token); token->opr.ctx_type = INSIDE_NOTWORD; } tree_last = create_token_tree (dfa, NULL, NULL, token); tree = create_tree (dfa, tree_first, tree_last, OP_ALT); if (BE (tree_first == NULL || tree_last == NULL || tree == NULL, 0)) { *err = REG_ESPACE; return NULL; } } else { tree = create_token_tree (dfa, NULL, NULL, token); if (BE (tree == NULL, 0)) { *err = REG_ESPACE; return NULL; } } /* We must return here, since ANCHORs can't be followed by repetition operators. eg. RE"^*" is invalid or "", it must not be "". */ fetch_token (token, regexp, syntax); return tree; case OP_PERIOD: tree = create_token_tree (dfa, NULL, NULL, token); if (BE (tree == NULL, 0)) { *err = REG_ESPACE; return NULL; } if (dfa->mb_cur_max > 1) dfa->has_mb_node = 1; break; case OP_WORD: case OP_NOTWORD: tree = build_charclass_op (dfa, regexp->trans, (const unsigned char *) "alnum", (const unsigned char *) "_", token->type == OP_NOTWORD, err); if (BE (*err != REG_NOERROR && tree == NULL, 0)) return NULL; break; case OP_SPACE: case OP_NOTSPACE: tree = build_charclass_op (dfa, regexp->trans, (const unsigned char *) "space", (const unsigned char *) "", token->type == OP_NOTSPACE, err); if (BE (*err != REG_NOERROR && tree == NULL, 0)) return NULL; break; case OP_ALT: case END_OF_RE: return NULL; case BACK_SLASH: *err = REG_EESCAPE; return NULL; default: /* Must not happen? */ #ifdef DEBUG assert (0); #endif return NULL; } fetch_token (token, regexp, syntax); while (token->type == OP_DUP_ASTERISK || token->type == OP_DUP_PLUS || token->type == OP_DUP_QUESTION || token->type == OP_OPEN_DUP_NUM) { tree = parse_dup_op (tree, regexp, dfa, token, syntax, err); if (BE (*err != REG_NOERROR && tree == NULL, 0)) return NULL; /* In BRE consecutive duplications are not allowed. */ if ((syntax & RE_CONTEXT_INVALID_DUP) && (token->type == OP_DUP_ASTERISK || token->type == OP_OPEN_DUP_NUM)) { *err = REG_BADRPT; return NULL; } } return tree; } /* This function build the following tree, from regular expression (): SUBEXP | */ static bin_tree_t * parse_sub_exp (re_string_t *regexp, regex_t *preg, re_token_t *token, reg_syntax_t syntax, Idx nest, reg_errcode_t *err) { re_dfa_t *dfa = (re_dfa_t *) preg->buffer; bin_tree_t *tree; size_t cur_nsub; cur_nsub = preg->re_nsub++; fetch_token (token, regexp, syntax | RE_CARET_ANCHORS_HERE); /* The subexpression may be a null string. */ if (token->type == OP_CLOSE_SUBEXP) tree = NULL; else { tree = parse_reg_exp (regexp, preg, token, syntax, nest, err); if (BE (*err == REG_NOERROR && token->type != OP_CLOSE_SUBEXP, 0)) *err = REG_EPAREN; if (BE (*err != REG_NOERROR, 0)) return NULL; } if (cur_nsub <= '9' - '1') dfa->completed_bkref_map |= 1 << cur_nsub; tree = create_tree (dfa, tree, NULL, SUBEXP); if (BE (tree == NULL, 0)) { *err = REG_ESPACE; return NULL; } tree->token.opr.idx = cur_nsub; return tree; } /* This function parse repetition operators like "*", "+", "{1,3}" etc. */ static bin_tree_t * parse_dup_op (bin_tree_t *elem, re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, reg_syntax_t syntax, reg_errcode_t *err) { bin_tree_t *tree = NULL, *old_tree = NULL; Idx i, start, end, start_idx = re_string_cur_idx (regexp); re_token_t start_token = *token; if (token->type == OP_OPEN_DUP_NUM) { end = 0; start = fetch_number (regexp, token, syntax); if (start == REG_MISSING) { if (token->type == CHARACTER && token->opr.c == ',') start = 0; /* We treat "{,m}" as "{0,m}". */ else { *err = REG_BADBR; /* {} is invalid. */ return NULL; } } if (BE (start != REG_ERROR, 1)) { /* We treat "{n}" as "{n,n}". */ end = ((token->type == OP_CLOSE_DUP_NUM) ? start : ((token->type == CHARACTER && token->opr.c == ',') ? fetch_number (regexp, token, syntax) : REG_ERROR)); } if (BE (start == REG_ERROR || end == REG_ERROR, 0)) { /* Invalid sequence. */ if (BE (!(syntax & RE_INVALID_INTERVAL_ORD), 0)) { if (token->type == END_OF_RE) *err = REG_EBRACE; else *err = REG_BADBR; return NULL; } /* If the syntax bit is set, rollback. */ re_string_set_index (regexp, start_idx); *token = start_token; token->type = CHARACTER; /* mb_partial and word_char bits should be already initialized by peek_token. */ return elem; } if (BE ((end != REG_MISSING && start > end) || token->type != OP_CLOSE_DUP_NUM, 0)) { /* First number greater than second. */ *err = REG_BADBR; return NULL; } } else { start = (token->type == OP_DUP_PLUS) ? 1 : 0; end = (token->type == OP_DUP_QUESTION) ? 1 : REG_MISSING; } fetch_token (token, regexp, syntax); if (BE (elem == NULL, 0)) return NULL; if (BE (start == 0 && end == 0, 0)) { postorder (elem, free_tree, NULL); return NULL; } /* Extract "{n,m}" to "...{0,}". */ if (BE (start > 0, 0)) { tree = elem; for (i = 2; i <= start; ++i) { elem = duplicate_tree (elem, dfa); tree = create_tree (dfa, tree, elem, CONCAT); if (BE (elem == NULL || tree == NULL, 0)) goto parse_dup_op_espace; } if (start == end) return tree; /* Duplicate ELEM before it is marked optional. */ elem = duplicate_tree (elem, dfa); old_tree = tree; } else old_tree = NULL; if (elem->token.type == SUBEXP) postorder (elem, mark_opt_subexp, (void *) (long) elem->token.opr.idx); tree = create_tree (dfa, elem, NULL, (end == REG_MISSING ? OP_DUP_ASTERISK : OP_ALT)); if (BE (tree == NULL, 0)) goto parse_dup_op_espace; /* From gnulib's "intprops.h": True if the arithmetic type T is signed. */ #define TYPE_SIGNED(t) (! ((t) 0 < (t) -1)) /* This loop is actually executed only when end != REG_MISSING, to rewrite {0,n} as ((...?)?)?... We have already created the start+1-th copy. */ if (TYPE_SIGNED (Idx) || end != REG_MISSING) for (i = start + 2; i <= end; ++i) { elem = duplicate_tree (elem, dfa); tree = create_tree (dfa, tree, elem, CONCAT); if (BE (elem == NULL || tree == NULL, 0)) goto parse_dup_op_espace; tree = create_tree (dfa, tree, NULL, OP_ALT); if (BE (tree == NULL, 0)) goto parse_dup_op_espace; } if (old_tree) tree = create_tree (dfa, old_tree, tree, CONCAT); return tree; parse_dup_op_espace: *err = REG_ESPACE; return NULL; } /* Size of the names for collating symbol/equivalence_class/character_class. I'm not sure, but maybe enough. */ #define BRACKET_NAME_BUF_SIZE 32 #ifndef _LIBC /* Local function for parse_bracket_exp only used in case of NOT _LIBC. Build the range expression which starts from START_ELEM, and ends at END_ELEM. The result are written to MBCSET and SBCSET. RANGE_ALLOC is the allocated size of mbcset->range_starts, and mbcset->range_ends, is a pointer argument sinse we may update it. */ static reg_errcode_t internal_function # ifdef RE_ENABLE_I18N build_range_exp (const reg_syntax_t syntax, bitset_t sbcset, re_charset_t *mbcset, Idx *range_alloc, const bracket_elem_t *start_elem, const bracket_elem_t *end_elem) # else /* not RE_ENABLE_I18N */ build_range_exp (const reg_syntax_t syntax, bitset_t sbcset, const bracket_elem_t *start_elem, const bracket_elem_t *end_elem) # endif /* not RE_ENABLE_I18N */ { unsigned int start_ch, end_ch; /* Equivalence Classes and Character Classes can't be a range start/end. */ if (BE (start_elem->type == EQUIV_CLASS || start_elem->type == CHAR_CLASS || end_elem->type == EQUIV_CLASS || end_elem->type == CHAR_CLASS, 0)) return REG_ERANGE; /* We can handle no multi character collating elements without libc support. */ if (BE ((start_elem->type == COLL_SYM && strlen ((char *) start_elem->opr.name) > 1) || (end_elem->type == COLL_SYM && strlen ((char *) end_elem->opr.name) > 1), 0)) return REG_ECOLLATE; # ifdef RE_ENABLE_I18N { wchar_t wc; wint_t start_wc; wint_t end_wc; wchar_t cmp_buf[6] = {L'\0', L'\0', L'\0', L'\0', L'\0', L'\0'}; start_ch = ((start_elem->type == SB_CHAR) ? start_elem->opr.ch : ((start_elem->type == COLL_SYM) ? start_elem->opr.name[0] : 0)); end_ch = ((end_elem->type == SB_CHAR) ? end_elem->opr.ch : ((end_elem->type == COLL_SYM) ? end_elem->opr.name[0] : 0)); start_wc = ((start_elem->type == SB_CHAR || start_elem->type == COLL_SYM) ? __btowc (start_ch) : start_elem->opr.wch); end_wc = ((end_elem->type == SB_CHAR || end_elem->type == COLL_SYM) ? __btowc (end_ch) : end_elem->opr.wch); if (start_wc == WEOF || end_wc == WEOF) return REG_ECOLLATE; cmp_buf[0] = start_wc; cmp_buf[4] = end_wc; if (BE ((syntax & RE_NO_EMPTY_RANGES) && wcscoll (cmp_buf, cmp_buf + 4) > 0, 0)) return REG_ERANGE; /* Got valid collation sequence values, add them as a new entry. However, for !_LIBC we have no collation elements: if the character set is single byte, the single byte character set that we build below suffices. parse_bracket_exp passes no MBCSET if dfa->mb_cur_max == 1. */ if (mbcset) { /* Check the space of the arrays. */ if (BE (*range_alloc == mbcset->nranges, 0)) { /* There is not enough space, need realloc. */ wchar_t *new_array_start, *new_array_end; Idx new_nranges; /* +1 in case of mbcset->nranges is 0. */ new_nranges = 2 * mbcset->nranges + 1; /* Use realloc since mbcset->range_starts and mbcset->range_ends are NULL if *range_alloc == 0. */ new_array_start = re_realloc (mbcset->range_starts, wchar_t, new_nranges); new_array_end = re_realloc (mbcset->range_ends, wchar_t, new_nranges); if (BE (new_array_start == NULL || new_array_end == NULL, 0)) return REG_ESPACE; mbcset->range_starts = new_array_start; mbcset->range_ends = new_array_end; *range_alloc = new_nranges; } mbcset->range_starts[mbcset->nranges] = start_wc; mbcset->range_ends[mbcset->nranges++] = end_wc; } /* Build the table for single byte characters. */ for (wc = 0; wc < SBC_MAX; ++wc) { cmp_buf[2] = wc; if (wcscoll (cmp_buf, cmp_buf + 2) <= 0 && wcscoll (cmp_buf + 2, cmp_buf + 4) <= 0) bitset_set (sbcset, wc); } } # else /* not RE_ENABLE_I18N */ { unsigned int ch; start_ch = ((start_elem->type == SB_CHAR ) ? start_elem->opr.ch : ((start_elem->type == COLL_SYM) ? start_elem->opr.name[0] : 0)); end_ch = ((end_elem->type == SB_CHAR ) ? end_elem->opr.ch : ((end_elem->type == COLL_SYM) ? end_elem->opr.name[0] : 0)); if (start_ch > end_ch) return REG_ERANGE; /* Build the table for single byte characters. */ for (ch = 0; ch < SBC_MAX; ++ch) if (start_ch <= ch && ch <= end_ch) bitset_set (sbcset, ch); } # endif /* not RE_ENABLE_I18N */ return REG_NOERROR; } #endif /* not _LIBC */ #ifndef _LIBC /* Helper function for parse_bracket_exp only used in case of NOT _LIBC.. Build the collating element which is represented by NAME. The result are written to MBCSET and SBCSET. COLL_SYM_ALLOC is the allocated size of mbcset->coll_sym, is a pointer argument since we may update it. */ static reg_errcode_t internal_function build_collating_symbol (bitset_t sbcset, # ifdef RE_ENABLE_I18N re_charset_t *mbcset, Idx *coll_sym_alloc, # endif const unsigned char *name) { size_t name_len = strlen ((const char *) name); if (BE (name_len != 1, 0)) return REG_ECOLLATE; else { bitset_set (sbcset, name[0]); return REG_NOERROR; } } #endif /* not _LIBC */ /* This function parse bracket expression like "[abc]", "[a-c]", "[[.a-a.]]" etc. */ static bin_tree_t * parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, reg_syntax_t syntax, reg_errcode_t *err) { #ifdef _LIBC const unsigned char *collseqmb; const char *collseqwc; uint32_t nrules; int32_t table_size; const int32_t *symb_table; const unsigned char *extra; /* Local function for parse_bracket_exp used in _LIBC environement. Seek the collating symbol entry correspondings to NAME. Return the index of the symbol in the SYMB_TABLE. */ auto inline int32_t __attribute ((always_inline)) seek_collating_symbol_entry (name, name_len) const unsigned char *name; size_t name_len; { int32_t hash = elem_hash ((const char *) name, name_len); int32_t elem = hash % table_size; if (symb_table[2 * elem] != 0) { int32_t second = hash % (table_size - 2) + 1; do { /* First compare the hashing value. */ if (symb_table[2 * elem] == hash /* Compare the length of the name. */ && name_len == extra[symb_table[2 * elem + 1]] /* Compare the name. */ && memcmp (name, &extra[symb_table[2 * elem + 1] + 1], name_len) == 0) { /* Yep, this is the entry. */ break; } /* Next entry. */ elem += second; } while (symb_table[2 * elem] != 0); } return elem; } /* Local function for parse_bracket_exp used in _LIBC environment. Look up the collation sequence value of BR_ELEM. Return the value if succeeded, UINT_MAX otherwise. */ auto inline unsigned int __attribute ((always_inline)) lookup_collation_sequence_value (br_elem) bracket_elem_t *br_elem; { if (br_elem->type == SB_CHAR) { /* if (MB_CUR_MAX == 1) */ if (nrules == 0) return collseqmb[br_elem->opr.ch]; else { wint_t wc = __btowc (br_elem->opr.ch); return __collseq_table_lookup (collseqwc, wc); } } else if (br_elem->type == MB_CHAR) { if (nrules != 0) return __collseq_table_lookup (collseqwc, br_elem->opr.wch); } else if (br_elem->type == COLL_SYM) { size_t sym_name_len = strlen ((char *) br_elem->opr.name); if (nrules != 0) { int32_t elem, idx; elem = seek_collating_symbol_entry (br_elem->opr.name, sym_name_len); if (symb_table[2 * elem] != 0) { /* We found the entry. */ idx = symb_table[2 * elem + 1]; /* Skip the name of collating element name. */ idx += 1 + extra[idx]; /* Skip the byte sequence of the collating element. */ idx += 1 + extra[idx]; /* Adjust for the alignment. */ idx = (idx + 3) & ~3; /* Skip the multibyte collation sequence value. */ idx += sizeof (unsigned int); /* Skip the wide char sequence of the collating element. */ idx += sizeof (unsigned int) * (1 + *(unsigned int *) (extra + idx)); /* Return the collation sequence value. */ return *(unsigned int *) (extra + idx); } else if (symb_table[2 * elem] == 0 && sym_name_len == 1) { /* No valid character. Match it as a single byte character. */ return collseqmb[br_elem->opr.name[0]]; } } else if (sym_name_len == 1) return collseqmb[br_elem->opr.name[0]]; } return UINT_MAX; } /* Local function for parse_bracket_exp used in _LIBC environement. Build the range expression which starts from START_ELEM, and ends at END_ELEM. The result are written to MBCSET and SBCSET. RANGE_ALLOC is the allocated size of mbcset->range_starts, and mbcset->range_ends, is a pointer argument sinse we may update it. */ auto inline reg_errcode_t __attribute ((always_inline)) build_range_exp (sbcset, mbcset, range_alloc, start_elem, end_elem) re_charset_t *mbcset; Idx *range_alloc; bitset_t sbcset; bracket_elem_t *start_elem, *end_elem; { unsigned int ch; uint32_t start_collseq; uint32_t end_collseq; /* Equivalence Classes and Character Classes can't be a range start/end. */ if (BE (start_elem->type == EQUIV_CLASS || start_elem->type == CHAR_CLASS || end_elem->type == EQUIV_CLASS || end_elem->type == CHAR_CLASS, 0)) return REG_ERANGE; start_collseq = lookup_collation_sequence_value (start_elem); end_collseq = lookup_collation_sequence_value (end_elem); /* Check start/end collation sequence values. */ if (BE (start_collseq == UINT_MAX || end_collseq == UINT_MAX, 0)) return REG_ECOLLATE; if (BE ((syntax & RE_NO_EMPTY_RANGES) && start_collseq > end_collseq, 0)) return REG_ERANGE; /* Got valid collation sequence values, add them as a new entry. However, if we have no collation elements, and the character set is single byte, the single byte character set that we build below suffices. */ if (nrules > 0 || dfa->mb_cur_max > 1) { /* Check the space of the arrays. */ if (BE (*range_alloc == mbcset->nranges, 0)) { /* There is not enough space, need realloc. */ uint32_t *new_array_start; uint32_t *new_array_end; Idx new_nranges; /* +1 in case of mbcset->nranges is 0. */ new_nranges = 2 * mbcset->nranges + 1; new_array_start = re_realloc (mbcset->range_starts, uint32_t, new_nranges); new_array_end = re_realloc (mbcset->range_ends, uint32_t, new_nranges); if (BE (new_array_start == NULL || new_array_end == NULL, 0)) return REG_ESPACE; mbcset->range_starts = new_array_start; mbcset->range_ends = new_array_end; *range_alloc = new_nranges; } mbcset->range_starts[mbcset->nranges] = start_collseq; mbcset->range_ends[mbcset->nranges++] = end_collseq; } /* Build the table for single byte characters. */ for (ch = 0; ch < SBC_MAX; ch++) { uint32_t ch_collseq; /* if (MB_CUR_MAX == 1) */ if (nrules == 0) ch_collseq = collseqmb[ch]; else ch_collseq = __collseq_table_lookup (collseqwc, __btowc (ch)); if (start_collseq <= ch_collseq && ch_collseq <= end_collseq) bitset_set (sbcset, ch); } return REG_NOERROR; } /* Local function for parse_bracket_exp used in _LIBC environement. Build the collating element which is represented by NAME. The result are written to MBCSET and SBCSET. COLL_SYM_ALLOC is the allocated size of mbcset->coll_sym, is a pointer argument sinse we may update it. */ auto inline reg_errcode_t __attribute ((always_inline)) build_collating_symbol (sbcset, mbcset, coll_sym_alloc, name) re_charset_t *mbcset; Idx *coll_sym_alloc; bitset_t sbcset; const unsigned char *name; { int32_t elem, idx; size_t name_len = strlen ((const char *) name); if (nrules != 0) { elem = seek_collating_symbol_entry (name, name_len); if (symb_table[2 * elem] != 0) { /* We found the entry. */ idx = symb_table[2 * elem + 1]; /* Skip the name of collating element name. */ idx += 1 + extra[idx]; } else if (symb_table[2 * elem] == 0 && name_len == 1) { /* No valid character, treat it as a normal character. */ bitset_set (sbcset, name[0]); return REG_NOERROR; } else return REG_ECOLLATE; /* Got valid collation sequence, add it as a new entry. */ /* Check the space of the arrays. */ if (BE (*coll_sym_alloc == mbcset->ncoll_syms, 0)) { /* Not enough, realloc it. */ /* +1 in case of mbcset->ncoll_syms is 0. */ Idx new_coll_sym_alloc = 2 * mbcset->ncoll_syms + 1; /* Use realloc since mbcset->coll_syms is NULL if *alloc == 0. */ int32_t *new_coll_syms = re_realloc (mbcset->coll_syms, int32_t, new_coll_sym_alloc); if (BE (new_coll_syms == NULL, 0)) return REG_ESPACE; mbcset->coll_syms = new_coll_syms; *coll_sym_alloc = new_coll_sym_alloc; } mbcset->coll_syms[mbcset->ncoll_syms++] = idx; return REG_NOERROR; } else { if (BE (name_len != 1, 0)) return REG_ECOLLATE; else { bitset_set (sbcset, name[0]); return REG_NOERROR; } } } #endif re_token_t br_token; re_bitset_ptr_t sbcset; #ifdef RE_ENABLE_I18N re_charset_t *mbcset; Idx coll_sym_alloc = 0, range_alloc = 0, mbchar_alloc = 0; Idx equiv_class_alloc = 0, char_class_alloc = 0; #endif /* not RE_ENABLE_I18N */ bool non_match = false; bin_tree_t *work_tree; int token_len; bool first_round = true; #ifdef _LIBC collseqmb = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_COLLSEQMB); nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); if (nrules) { /* if (MB_CUR_MAX > 1) */ collseqwc = _NL_CURRENT (LC_COLLATE, _NL_COLLATE_COLLSEQWC); table_size = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_SYMB_HASH_SIZEMB); symb_table = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_SYMB_TABLEMB); extra = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_SYMB_EXTRAMB); } #endif sbcset = (re_bitset_ptr_t) calloc (sizeof (bitset_t), 1); #ifdef RE_ENABLE_I18N mbcset = (re_charset_t *) calloc (sizeof (re_charset_t), 1); #endif /* RE_ENABLE_I18N */ #ifdef RE_ENABLE_I18N if (BE (sbcset == NULL || mbcset == NULL, 0)) #else if (BE (sbcset == NULL, 0)) #endif /* RE_ENABLE_I18N */ { *err = REG_ESPACE; return NULL; } token_len = peek_token_bracket (token, regexp, syntax); if (BE (token->type == END_OF_RE, 0)) { *err = REG_BADPAT; goto parse_bracket_exp_free_return; } if (token->type == OP_NON_MATCH_LIST) { #ifdef RE_ENABLE_I18N mbcset->non_match = 1; #endif /* not RE_ENABLE_I18N */ non_match = true; if (syntax & RE_HAT_LISTS_NOT_NEWLINE) bitset_set (sbcset, '\n'); re_string_skip_bytes (regexp, token_len); /* Skip a token. */ token_len = peek_token_bracket (token, regexp, syntax); if (BE (token->type == END_OF_RE, 0)) { *err = REG_BADPAT; goto parse_bracket_exp_free_return; } } /* We treat the first ']' as a normal character. */ if (token->type == OP_CLOSE_BRACKET) token->type = CHARACTER; while (1) { bracket_elem_t start_elem, end_elem; unsigned char start_name_buf[BRACKET_NAME_BUF_SIZE]; unsigned char end_name_buf[BRACKET_NAME_BUF_SIZE]; reg_errcode_t ret; int token_len2 = 0; bool is_range_exp = false; re_token_t token2; start_elem.opr.name = start_name_buf; ret = parse_bracket_element (&start_elem, regexp, token, token_len, dfa, syntax, first_round); if (BE (ret != REG_NOERROR, 0)) { *err = ret; goto parse_bracket_exp_free_return; } first_round = false; /* Get information about the next token. We need it in any case. */ token_len = peek_token_bracket (token, regexp, syntax); /* Do not check for ranges if we know they are not allowed. */ if (start_elem.type != CHAR_CLASS && start_elem.type != EQUIV_CLASS) { if (BE (token->type == END_OF_RE, 0)) { *err = REG_EBRACK; goto parse_bracket_exp_free_return; } if (token->type == OP_CHARSET_RANGE) { re_string_skip_bytes (regexp, token_len); /* Skip '-'. */ token_len2 = peek_token_bracket (&token2, regexp, syntax); if (BE (token2.type == END_OF_RE, 0)) { *err = REG_EBRACK; goto parse_bracket_exp_free_return; } if (token2.type == OP_CLOSE_BRACKET) { /* We treat the last '-' as a normal character. */ re_string_skip_bytes (regexp, -token_len); token->type = CHARACTER; } else is_range_exp = true; } } if (is_range_exp == true) { end_elem.opr.name = end_name_buf; ret = parse_bracket_element (&end_elem, regexp, &token2, token_len2, dfa, syntax, true); if (BE (ret != REG_NOERROR, 0)) { *err = ret; goto parse_bracket_exp_free_return; } token_len = peek_token_bracket (token, regexp, syntax); #ifdef _LIBC *err = build_range_exp (sbcset, mbcset, &range_alloc, &start_elem, &end_elem); #else # ifdef RE_ENABLE_I18N *err = build_range_exp (syntax, sbcset, dfa->mb_cur_max > 1 ? mbcset : NULL, &range_alloc, &start_elem, &end_elem); # else *err = build_range_exp (syntax, sbcset, &start_elem, &end_elem); # endif #endif /* RE_ENABLE_I18N */ if (BE (*err != REG_NOERROR, 0)) goto parse_bracket_exp_free_return; } else { switch (start_elem.type) { case SB_CHAR: bitset_set (sbcset, start_elem.opr.ch); break; #ifdef RE_ENABLE_I18N case MB_CHAR: /* Check whether the array has enough space. */ if (BE (mbchar_alloc == mbcset->nmbchars, 0)) { wchar_t *new_mbchars; /* Not enough, realloc it. */ /* +1 in case of mbcset->nmbchars is 0. */ mbchar_alloc = 2 * mbcset->nmbchars + 1; /* Use realloc since array is NULL if *alloc == 0. */ new_mbchars = re_realloc (mbcset->mbchars, wchar_t, mbchar_alloc); if (BE (new_mbchars == NULL, 0)) goto parse_bracket_exp_espace; mbcset->mbchars = new_mbchars; } mbcset->mbchars[mbcset->nmbchars++] = start_elem.opr.wch; break; #endif /* RE_ENABLE_I18N */ case EQUIV_CLASS: *err = build_equiv_class (sbcset, #ifdef RE_ENABLE_I18N mbcset, &equiv_class_alloc, #endif /* RE_ENABLE_I18N */ start_elem.opr.name); if (BE (*err != REG_NOERROR, 0)) goto parse_bracket_exp_free_return; break; case COLL_SYM: *err = build_collating_symbol (sbcset, #ifdef RE_ENABLE_I18N mbcset, &coll_sym_alloc, #endif /* RE_ENABLE_I18N */ start_elem.opr.name); if (BE (*err != REG_NOERROR, 0)) goto parse_bracket_exp_free_return; break; case CHAR_CLASS: *err = build_charclass (regexp->trans, sbcset, #ifdef RE_ENABLE_I18N mbcset, &char_class_alloc, #endif /* RE_ENABLE_I18N */ start_elem.opr.name, syntax); if (BE (*err != REG_NOERROR, 0)) goto parse_bracket_exp_free_return; break; default: assert (0); break; } } if (BE (token->type == END_OF_RE, 0)) { *err = REG_EBRACK; goto parse_bracket_exp_free_return; } if (token->type == OP_CLOSE_BRACKET) break; } re_string_skip_bytes (regexp, token_len); /* Skip a token. */ /* If it is non-matching list. */ if (non_match) bitset_not (sbcset); #ifdef RE_ENABLE_I18N /* Ensure only single byte characters are set. */ if (dfa->mb_cur_max > 1) bitset_mask (sbcset, dfa->sb_char); if (mbcset->nmbchars || mbcset->ncoll_syms || mbcset->nequiv_classes || mbcset->nranges || (dfa->mb_cur_max > 1 && (mbcset->nchar_classes || mbcset->non_match))) { bin_tree_t *mbc_tree; int sbc_idx; /* Build a tree for complex bracket. */ dfa->has_mb_node = 1; br_token.type = COMPLEX_BRACKET; br_token.opr.mbcset = mbcset; mbc_tree = create_token_tree (dfa, NULL, NULL, &br_token); if (BE (mbc_tree == NULL, 0)) goto parse_bracket_exp_espace; for (sbc_idx = 0; sbc_idx < BITSET_WORDS; ++sbc_idx) if (sbcset[sbc_idx]) break; /* If there are no bits set in sbcset, there is no point of having both SIMPLE_BRACKET and COMPLEX_BRACKET. */ if (sbc_idx < BITSET_WORDS) { /* Build a tree for simple bracket. */ br_token.type = SIMPLE_BRACKET; br_token.opr.sbcset = sbcset; work_tree = create_token_tree (dfa, NULL, NULL, &br_token); if (BE (work_tree == NULL, 0)) goto parse_bracket_exp_espace; /* Then join them by ALT node. */ work_tree = create_tree (dfa, work_tree, mbc_tree, OP_ALT); if (BE (work_tree == NULL, 0)) goto parse_bracket_exp_espace; } else { re_free (sbcset); work_tree = mbc_tree; } } else #endif /* not RE_ENABLE_I18N */ { #ifdef RE_ENABLE_I18N free_charset (mbcset); #endif /* Build a tree for simple bracket. */ br_token.type = SIMPLE_BRACKET; br_token.opr.sbcset = sbcset; work_tree = create_token_tree (dfa, NULL, NULL, &br_token); if (BE (work_tree == NULL, 0)) goto parse_bracket_exp_espace; } return work_tree; parse_bracket_exp_espace: *err = REG_ESPACE; parse_bracket_exp_free_return: re_free (sbcset); #ifdef RE_ENABLE_I18N free_charset (mbcset); #endif /* RE_ENABLE_I18N */ return NULL; } /* Parse an element in the bracket expression. */ static reg_errcode_t parse_bracket_element (bracket_elem_t *elem, re_string_t *regexp, re_token_t *token, int token_len, re_dfa_t *dfa, reg_syntax_t syntax, bool accept_hyphen) { #ifdef RE_ENABLE_I18N int cur_char_size; cur_char_size = re_string_char_size_at (regexp, re_string_cur_idx (regexp)); if (cur_char_size > 1) { elem->type = MB_CHAR; elem->opr.wch = re_string_wchar_at (regexp, re_string_cur_idx (regexp)); re_string_skip_bytes (regexp, cur_char_size); return REG_NOERROR; } #endif /* RE_ENABLE_I18N */ re_string_skip_bytes (regexp, token_len); /* Skip a token. */ if (token->type == OP_OPEN_COLL_ELEM || token->type == OP_OPEN_CHAR_CLASS || token->type == OP_OPEN_EQUIV_CLASS) return parse_bracket_symbol (elem, regexp, token); if (BE (token->type == OP_CHARSET_RANGE, 0) && !accept_hyphen) { /* A '-' must only appear as anything but a range indicator before the closing bracket. Everything else is an error. */ re_token_t token2; (void) peek_token_bracket (&token2, regexp, syntax); if (token2.type != OP_CLOSE_BRACKET) /* The actual error value is not standardized since this whole case is undefined. But ERANGE makes good sense. */ return REG_ERANGE; } elem->type = SB_CHAR; elem->opr.ch = token->opr.c; return REG_NOERROR; } /* Parse a bracket symbol in the bracket expression. Bracket symbols are such as [::], [..], and [==]. */ static reg_errcode_t parse_bracket_symbol (bracket_elem_t *elem, re_string_t *regexp, re_token_t *token) { unsigned char ch, delim = token->opr.c; int i = 0; if (re_string_eoi(regexp)) return REG_EBRACK; for (;; ++i) { if (i >= BRACKET_NAME_BUF_SIZE) return REG_EBRACK; if (token->type == OP_OPEN_CHAR_CLASS) ch = re_string_fetch_byte_case (regexp); else ch = re_string_fetch_byte (regexp); if (re_string_eoi(regexp)) return REG_EBRACK; if (ch == delim && re_string_peek_byte (regexp, 0) == ']') break; elem->opr.name[i] = ch; } re_string_skip_bytes (regexp, 1); elem->opr.name[i] = '\0'; switch (token->type) { case OP_OPEN_COLL_ELEM: elem->type = COLL_SYM; break; case OP_OPEN_EQUIV_CLASS: elem->type = EQUIV_CLASS; break; case OP_OPEN_CHAR_CLASS: elem->type = CHAR_CLASS; break; default: break; } return REG_NOERROR; } /* Helper function for parse_bracket_exp. Build the equivalence class which is represented by NAME. The result are written to MBCSET and SBCSET. EQUIV_CLASS_ALLOC is the allocated size of mbcset->equiv_classes, is a pointer argument sinse we may update it. */ static reg_errcode_t #ifdef RE_ENABLE_I18N build_equiv_class (bitset_t sbcset, re_charset_t *mbcset, Idx *equiv_class_alloc, const unsigned char *name) #else /* not RE_ENABLE_I18N */ build_equiv_class (bitset_t sbcset, const unsigned char *name) #endif /* not RE_ENABLE_I18N */ { #ifdef _LIBC uint32_t nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); if (nrules != 0) { const int32_t *table, *indirect; const unsigned char *weights, *extra, *cp; unsigned char char_buf[2]; int32_t idx1, idx2; unsigned int ch; size_t len; /* This #include defines a local function! */ # include /* Calculate the index for equivalence class. */ cp = name; table = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_TABLEMB); weights = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_WEIGHTMB); extra = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_EXTRAMB); indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB); idx1 = findidx (&cp); if (BE (idx1 == 0 || cp < name + strlen ((const char *) name), 0)) /* This isn't a valid character. */ return REG_ECOLLATE; /* Build single byte matcing table for this equivalence class. */ char_buf[1] = (unsigned char) '\0'; len = weights[idx1 & 0xffffff]; for (ch = 0; ch < SBC_MAX; ++ch) { char_buf[0] = ch; cp = char_buf; idx2 = findidx (&cp); /* idx2 = table[ch]; */ if (idx2 == 0) /* This isn't a valid character. */ continue; /* Compare only if the length matches and the collation rule index is the same. */ if (len == weights[idx2 & 0xffffff] && (idx1 >> 24) == (idx2 >> 24)) { int cnt = 0; while (cnt <= len && weights[(idx1 & 0xffffff) + 1 + cnt] == weights[(idx2 & 0xffffff) + 1 + cnt]) ++cnt; if (cnt > len) bitset_set (sbcset, ch); } } /* Check whether the array has enough space. */ if (BE (*equiv_class_alloc == mbcset->nequiv_classes, 0)) { /* Not enough, realloc it. */ /* +1 in case of mbcset->nequiv_classes is 0. */ Idx new_equiv_class_alloc = 2 * mbcset->nequiv_classes + 1; /* Use realloc since the array is NULL if *alloc == 0. */ int32_t *new_equiv_classes = re_realloc (mbcset->equiv_classes, int32_t, new_equiv_class_alloc); if (BE (new_equiv_classes == NULL, 0)) return REG_ESPACE; mbcset->equiv_classes = new_equiv_classes; *equiv_class_alloc = new_equiv_class_alloc; } mbcset->equiv_classes[mbcset->nequiv_classes++] = idx1; } else #endif /* _LIBC */ { if (BE (strlen ((const char *) name) != 1, 0)) return REG_ECOLLATE; bitset_set (sbcset, *name); } return REG_NOERROR; } /* Helper function for parse_bracket_exp. Build the character class which is represented by NAME. The result are written to MBCSET and SBCSET. CHAR_CLASS_ALLOC is the allocated size of mbcset->char_classes, is a pointer argument sinse we may update it. */ static reg_errcode_t #ifdef RE_ENABLE_I18N build_charclass (RE_TRANSLATE_TYPE trans, bitset_t sbcset, re_charset_t *mbcset, Idx *char_class_alloc, const unsigned char *class_name, reg_syntax_t syntax) #else /* not RE_ENABLE_I18N */ build_charclass (RE_TRANSLATE_TYPE trans, bitset_t sbcset, const unsigned char *class_name, reg_syntax_t syntax) #endif /* not RE_ENABLE_I18N */ { int i; const char *name = (const char *) class_name; /* In case of REG_ICASE "upper" and "lower" match the both of upper and lower cases. */ if ((syntax & RE_ICASE) && (strcmp (name, "upper") == 0 || strcmp (name, "lower") == 0)) name = "alpha"; #ifdef RE_ENABLE_I18N /* Check the space of the arrays. */ if (BE (*char_class_alloc == mbcset->nchar_classes, 0)) { /* Not enough, realloc it. */ /* +1 in case of mbcset->nchar_classes is 0. */ Idx new_char_class_alloc = 2 * mbcset->nchar_classes + 1; /* Use realloc since array is NULL if *alloc == 0. */ wctype_t *new_char_classes = re_realloc (mbcset->char_classes, wctype_t, new_char_class_alloc); if (BE (new_char_classes == NULL, 0)) return REG_ESPACE; mbcset->char_classes = new_char_classes; *char_class_alloc = new_char_class_alloc; } mbcset->char_classes[mbcset->nchar_classes++] = __wctype (name); #endif /* RE_ENABLE_I18N */ #define BUILD_CHARCLASS_LOOP(ctype_func) \ do { \ if (BE (trans != NULL, 0)) \ { \ for (i = 0; i < SBC_MAX; ++i) \ if (ctype_func (i)) \ bitset_set (sbcset, trans[i]); \ } \ else \ { \ for (i = 0; i < SBC_MAX; ++i) \ if (ctype_func (i)) \ bitset_set (sbcset, i); \ } \ } while (0) if (strcmp (name, "alnum") == 0) BUILD_CHARCLASS_LOOP (isalnum); else if (strcmp (name, "cntrl") == 0) BUILD_CHARCLASS_LOOP (iscntrl); else if (strcmp (name, "lower") == 0) BUILD_CHARCLASS_LOOP (islower); else if (strcmp (name, "space") == 0) BUILD_CHARCLASS_LOOP (isspace); else if (strcmp (name, "alpha") == 0) BUILD_CHARCLASS_LOOP (isalpha); else if (strcmp (name, "digit") == 0) BUILD_CHARCLASS_LOOP (isdigit); else if (strcmp (name, "print") == 0) BUILD_CHARCLASS_LOOP (isprint); else if (strcmp (name, "upper") == 0) BUILD_CHARCLASS_LOOP (isupper); else if (strcmp (name, "blank") == 0) BUILD_CHARCLASS_LOOP (isblank); else if (strcmp (name, "graph") == 0) BUILD_CHARCLASS_LOOP (isgraph); else if (strcmp (name, "punct") == 0) BUILD_CHARCLASS_LOOP (ispunct); else if (strcmp (name, "xdigit") == 0) BUILD_CHARCLASS_LOOP (isxdigit); else return REG_ECTYPE; return REG_NOERROR; } static bin_tree_t * build_charclass_op (re_dfa_t *dfa, RE_TRANSLATE_TYPE trans, const unsigned char *class_name, const unsigned char *extra, bool non_match, reg_errcode_t *err) { re_bitset_ptr_t sbcset; #ifdef RE_ENABLE_I18N re_charset_t *mbcset; Idx alloc = 0; #endif /* not RE_ENABLE_I18N */ reg_errcode_t ret; re_token_t br_token; bin_tree_t *tree; sbcset = (re_bitset_ptr_t) calloc (sizeof (bitset_t), 1); #ifdef RE_ENABLE_I18N mbcset = (re_charset_t *) calloc (sizeof (re_charset_t), 1); #endif /* RE_ENABLE_I18N */ #ifdef RE_ENABLE_I18N if (BE (sbcset == NULL || mbcset == NULL, 0)) #else /* not RE_ENABLE_I18N */ if (BE (sbcset == NULL, 0)) #endif /* not RE_ENABLE_I18N */ { *err = REG_ESPACE; return NULL; } if (non_match) { #ifdef RE_ENABLE_I18N mbcset->non_match = 1; #endif /* not RE_ENABLE_I18N */ } /* We don't care the syntax in this case. */ ret = build_charclass (trans, sbcset, #ifdef RE_ENABLE_I18N mbcset, &alloc, #endif /* RE_ENABLE_I18N */ class_name, 0); if (BE (ret != REG_NOERROR, 0)) { re_free (sbcset); #ifdef RE_ENABLE_I18N free_charset (mbcset); #endif /* RE_ENABLE_I18N */ *err = ret; return NULL; } /* \w match '_' also. */ for (; *extra; extra++) bitset_set (sbcset, *extra); /* If it is non-matching list. */ if (non_match) bitset_not (sbcset); #ifdef RE_ENABLE_I18N /* Ensure only single byte characters are set. */ if (dfa->mb_cur_max > 1) bitset_mask (sbcset, dfa->sb_char); #endif /* Build a tree for simple bracket. */ br_token.type = SIMPLE_BRACKET; br_token.opr.sbcset = sbcset; tree = create_token_tree (dfa, NULL, NULL, &br_token); if (BE (tree == NULL, 0)) goto build_word_op_espace; #ifdef RE_ENABLE_I18N if (dfa->mb_cur_max > 1) { bin_tree_t *mbc_tree; /* Build a tree for complex bracket. */ br_token.type = COMPLEX_BRACKET; br_token.opr.mbcset = mbcset; dfa->has_mb_node = 1; mbc_tree = create_token_tree (dfa, NULL, NULL, &br_token); if (BE (mbc_tree == NULL, 0)) goto build_word_op_espace; /* Then join them by ALT node. */ tree = create_tree (dfa, tree, mbc_tree, OP_ALT); if (BE (mbc_tree != NULL, 1)) return tree; } else { free_charset (mbcset); return tree; } #else /* not RE_ENABLE_I18N */ return tree; #endif /* not RE_ENABLE_I18N */ build_word_op_espace: re_free (sbcset); #ifdef RE_ENABLE_I18N free_charset (mbcset); #endif /* RE_ENABLE_I18N */ *err = REG_ESPACE; return NULL; } /* This is intended for the expressions like "a{1,3}". Fetch a number from `input', and return the number. Return REG_MISSING if the number field is empty like "{,1}". Return REG_ERROR if an error occurred. */ static Idx fetch_number (re_string_t *input, re_token_t *token, reg_syntax_t syntax) { Idx num = REG_MISSING; unsigned char c; while (1) { fetch_token (token, input, syntax); c = token->opr.c; if (BE (token->type == END_OF_RE, 0)) return REG_ERROR; if (token->type == OP_CLOSE_DUP_NUM || c == ',') break; num = ((token->type != CHARACTER || c < '0' || '9' < c || num == REG_ERROR) ? REG_ERROR : ((num == REG_MISSING) ? c - '0' : num * 10 + c - '0')); num = (num > RE_DUP_MAX) ? REG_ERROR : num; } return num; } #ifdef RE_ENABLE_I18N static void free_charset (re_charset_t *cset) { re_free (cset->mbchars); # ifdef _LIBC re_free (cset->coll_syms); re_free (cset->equiv_classes); re_free (cset->range_starts); re_free (cset->range_ends); # endif re_free (cset->char_classes); re_free (cset); } #endif /* RE_ENABLE_I18N */ /* Functions for binary tree operation. */ /* Create a tree node. */ static bin_tree_t * create_tree (re_dfa_t *dfa, bin_tree_t *left, bin_tree_t *right, re_token_type_t type) { re_token_t t; t.type = type; return create_token_tree (dfa, left, right, &t); } static bin_tree_t * create_token_tree (re_dfa_t *dfa, bin_tree_t *left, bin_tree_t *right, const re_token_t *token) { bin_tree_t *tree; if (BE (dfa->str_tree_storage_idx == BIN_TREE_STORAGE_SIZE, 0)) { bin_tree_storage_t *storage = re_malloc (bin_tree_storage_t, 1); if (storage == NULL) return NULL; storage->next = dfa->str_tree_storage; dfa->str_tree_storage = storage; dfa->str_tree_storage_idx = 0; } tree = &dfa->str_tree_storage->data[dfa->str_tree_storage_idx++]; tree->parent = NULL; tree->left = left; tree->right = right; tree->token = *token; tree->token.duplicated = 0; tree->token.opt_subexp = 0; tree->first = NULL; tree->next = NULL; tree->node_idx = REG_MISSING; if (left != NULL) left->parent = tree; if (right != NULL) right->parent = tree; return tree; } /* Mark the tree SRC as an optional subexpression. To be called from preorder or postorder. */ static reg_errcode_t mark_opt_subexp (void *extra, bin_tree_t *node) { Idx idx = (Idx) (long) extra; if (node->token.type == SUBEXP && node->token.opr.idx == idx) node->token.opt_subexp = 1; return REG_NOERROR; } /* Free the allocated memory inside NODE. */ static void free_token (re_token_t *node) { #ifdef RE_ENABLE_I18N if (node->type == COMPLEX_BRACKET && node->duplicated == 0) free_charset (node->opr.mbcset); else #endif /* RE_ENABLE_I18N */ if (node->type == SIMPLE_BRACKET && node->duplicated == 0) re_free (node->opr.sbcset); } /* Worker function for tree walking. Free the allocated memory inside NODE and its children. */ static reg_errcode_t free_tree (void *extra, bin_tree_t *node) { free_token (&node->token); return REG_NOERROR; } /* Duplicate the node SRC, and return new node. This is a preorder visit similar to the one implemented by the generic visitor, but we need more infrastructure to maintain two parallel trees --- so, it's easier to duplicate. */ static bin_tree_t * duplicate_tree (const bin_tree_t *root, re_dfa_t *dfa) { const bin_tree_t *node; bin_tree_t *dup_root; bin_tree_t **p_new = &dup_root, *dup_node = root->parent; for (node = root; ; ) { /* Create a new tree and link it back to the current parent. */ *p_new = create_token_tree (dfa, NULL, NULL, &node->token); if (*p_new == NULL) return NULL; (*p_new)->parent = dup_node; (*p_new)->token.duplicated = 1; dup_node = *p_new; /* Go to the left node, or up and to the right. */ if (node->left) { node = node->left; p_new = &dup_node->left; } else { const bin_tree_t *prev = NULL; while (node->right == prev || node->right == NULL) { prev = node; node = node->parent; dup_node = dup_node->parent; if (!node) return dup_root; } node = node->right; p_new = &dup_node->right; } } } parted-2.3/lib/dirname-lgpl.c0000644000000000000000000000612011370541031013003 00000000000000/* dirname.c -- return all but the last element in a file name Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "dirname.h" #include #include /* Return the length of the prefix of FILE that will be used by dir_name. If FILE is in the working directory, this returns zero even though `dir_name (FILE)' will return ".". Works properly even if there are trailing slashes (by effectively ignoring them). */ size_t dir_len (char const *file) { size_t prefix_length = FILE_SYSTEM_PREFIX_LEN (file); size_t length; /* Advance prefix_length beyond important leading slashes. */ prefix_length += (prefix_length != 0 ? (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE && ISSLASH (file[prefix_length])) : (ISSLASH (file[0]) ? ((DOUBLE_SLASH_IS_DISTINCT_ROOT && ISSLASH (file[1]) && ! ISSLASH (file[2]) ? 2 : 1)) : 0)); /* Strip the basename and any redundant slashes before it. */ for (length = last_component (file) - file; prefix_length < length; length--) if (! ISSLASH (file[length - 1])) break; return length; } /* In general, we can't use the builtin `dirname' function if available, since it has different meanings in different environments. In some environments the builtin `dirname' modifies its argument. Return the leading directories part of FILE, allocated with malloc. Works properly even if there are trailing slashes (by effectively ignoring them). Return NULL on failure. If lstat (FILE) would succeed, then { chdir (dir_name (FILE)); lstat (base_name (FILE)); } will access the same file. Likewise, if the sequence { chdir (dir_name (FILE)); rename (base_name (FILE), "foo"); } succeeds, you have renamed FILE to "foo" in the same directory FILE was in. */ char * mdir_name (char const *file) { size_t length = dir_len (file); bool append_dot = (length == 0 || (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE && length == FILE_SYSTEM_PREFIX_LEN (file) && file[2] != '\0' && ! ISSLASH (file[2]))); char *dir = malloc (length + append_dot + 1); if (!dir) return NULL; memcpy (dir, file, length); if (append_dot) dir[length++] = '.'; dir[length] = '\0'; return dir; } parted-2.3/lib/string.in.h0000644000000000000000000010765211370316121012364 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A GNU-like . Copyright (C) 1995-1996, 2001-2010 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 3, 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. */ #ifndef _GL_STRING_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_STRING_H@ #ifndef _GL_STRING_H #define _GL_STRING_H /* NetBSD 5.0 mis-defines NULL. */ #include /* MirBSD defines mbslen as a macro. */ #if @GNULIB_MBSLEN@ && defined __MirBSD__ # include #endif #ifndef __attribute__ /* This feature is available in gcc versions 2.5 and later. */ # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) # define __attribute__(Spec) /* empty */ # endif /* The attribute __pure__ was added in gcc 2.96. */ # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 96) # define __pure__ /* empty */ # endif #endif /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_ARG_NONNULL is copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ /* Return the first instance of C within N bytes of S, or NULL. */ #if @GNULIB_MEMCHR@ # if @REPLACE_MEMCHR@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define memchr rpl_memchr # endif _GL_FUNCDECL_RPL (memchr, void *, (void const *__s, int __c, size_t __n) __attribute__ ((__pure__)) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (memchr, void *, (void const *__s, int __c, size_t __n)); # else # if ! @HAVE_MEMCHR@ _GL_FUNCDECL_SYS (memchr, void *, (void const *__s, int __c, size_t __n) __attribute__ ((__pure__)) _GL_ARG_NONNULL ((1))); # endif /* On some systems, this function is defined as an overloaded function: extern "C" { const void * std::memchr (const void *, int, size_t); } extern "C++" { void * std::memchr (void *, int, size_t); } */ _GL_CXXALIAS_SYS_CAST2 (memchr, void *, (void const *__s, int __c, size_t __n), void const *, (void const *__s, int __c, size_t __n)); # endif # if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 10 \ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) _GL_CXXALIASWARN1 (memchr, void *, (void *__s, int __c, size_t __n)); _GL_CXXALIASWARN1 (memchr, void const *, (void const *__s, int __c, size_t __n)); # else _GL_CXXALIASWARN (memchr); # endif #elif defined GNULIB_POSIXCHECK # undef memchr /* Assume memchr is always declared. */ _GL_WARN_ON_USE (memchr, "memchr has platform-specific bugs - " "use gnulib module memchr for portability" ); #endif /* Return the first occurrence of NEEDLE in HAYSTACK. */ #if @GNULIB_MEMMEM@ # if @REPLACE_MEMMEM@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define memmem rpl_memmem # endif _GL_FUNCDECL_RPL (memmem, void *, (void const *__haystack, size_t __haystack_len, void const *__needle, size_t __needle_len) __attribute__ ((__pure__)) _GL_ARG_NONNULL ((1, 3))); _GL_CXXALIAS_RPL (memmem, void *, (void const *__haystack, size_t __haystack_len, void const *__needle, size_t __needle_len)); # else # if ! @HAVE_DECL_MEMMEM@ _GL_FUNCDECL_SYS (memmem, void *, (void const *__haystack, size_t __haystack_len, void const *__needle, size_t __needle_len) __attribute__ ((__pure__)) _GL_ARG_NONNULL ((1, 3))); # endif _GL_CXXALIAS_SYS (memmem, void *, (void const *__haystack, size_t __haystack_len, void const *__needle, size_t __needle_len)); # endif _GL_CXXALIASWARN (memmem); #elif defined GNULIB_POSIXCHECK # undef memmem # if HAVE_RAW_DECL_MEMMEM _GL_WARN_ON_USE (memmem, "memmem is unportable and often quadratic - " "use gnulib module memmem-simple for portability, " "and module memmem for speed" ); # endif #endif /* Copy N bytes of SRC to DEST, return pointer to bytes after the last written byte. */ #if @GNULIB_MEMPCPY@ # if ! @HAVE_MEMPCPY@ _GL_FUNCDECL_SYS (mempcpy, void *, (void *restrict __dest, void const *restrict __src, size_t __n) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (mempcpy, void *, (void *restrict __dest, void const *restrict __src, size_t __n)); _GL_CXXALIASWARN (mempcpy); #elif defined GNULIB_POSIXCHECK # undef mempcpy # if HAVE_RAW_DECL_MEMPCPY _GL_WARN_ON_USE (mempcpy, "mempcpy is unportable - " "use gnulib module mempcpy for portability"); # endif #endif /* Search backwards through a block for a byte (specified as an int). */ #if @GNULIB_MEMRCHR@ # if ! @HAVE_DECL_MEMRCHR@ _GL_FUNCDECL_SYS (memrchr, void *, (void const *, int, size_t) __attribute__ ((__pure__)) _GL_ARG_NONNULL ((1))); # endif /* On some systems, this function is defined as an overloaded function: extern "C++" { const void * std::memrchr (const void *, int, size_t); } extern "C++" { void * std::memrchr (void *, int, size_t); } */ _GL_CXXALIAS_SYS_CAST2 (memrchr, void *, (void const *, int, size_t), void const *, (void const *, int, size_t)); # if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 10 \ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) _GL_CXXALIASWARN1 (memrchr, void *, (void *, int, size_t)); _GL_CXXALIASWARN1 (memrchr, void const *, (void const *, int, size_t)); # else _GL_CXXALIASWARN (memrchr); # endif #elif defined GNULIB_POSIXCHECK # undef memrchr # if HAVE_RAW_DECL_MEMRCHR _GL_WARN_ON_USE (memrchr, "memrchr is unportable - " "use gnulib module memrchr for portability"); # endif #endif /* Find the first occurrence of C in S. More efficient than memchr(S,C,N), at the expense of undefined behavior if C does not occur within N bytes. */ #if @GNULIB_RAWMEMCHR@ # if ! @HAVE_RAWMEMCHR@ _GL_FUNCDECL_SYS (rawmemchr, void *, (void const *__s, int __c_in) __attribute__ ((__pure__)) _GL_ARG_NONNULL ((1))); # endif /* On some systems, this function is defined as an overloaded function: extern "C++" { const void * std::rawmemchr (const void *, int); } extern "C++" { void * std::rawmemchr (void *, int); } */ _GL_CXXALIAS_SYS_CAST2 (rawmemchr, void *, (void const *__s, int __c_in), void const *, (void const *__s, int __c_in)); # if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 10 \ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) _GL_CXXALIASWARN1 (rawmemchr, void *, (void *__s, int __c_in)); _GL_CXXALIASWARN1 (rawmemchr, void const *, (void const *__s, int __c_in)); # else _GL_CXXALIASWARN (rawmemchr); # endif #elif defined GNULIB_POSIXCHECK # undef rawmemchr # if HAVE_RAW_DECL_RAWMEMCHR _GL_WARN_ON_USE (rawmemchr, "rawmemchr is unportable - " "use gnulib module rawmemchr for portability"); # endif #endif /* Copy SRC to DST, returning the address of the terminating '\0' in DST. */ #if @GNULIB_STPCPY@ # if ! @HAVE_STPCPY@ _GL_FUNCDECL_SYS (stpcpy, char *, (char *restrict __dst, char const *restrict __src) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (stpcpy, char *, (char *restrict __dst, char const *restrict __src)); _GL_CXXALIASWARN (stpcpy); #elif defined GNULIB_POSIXCHECK # undef stpcpy # if HAVE_RAW_DECL_STPCPY _GL_WARN_ON_USE (stpcpy, "stpcpy is unportable - " "use gnulib module stpcpy for portability"); # endif #endif /* Copy no more than N bytes of SRC to DST, returning a pointer past the last non-NUL byte written into DST. */ #if @GNULIB_STPNCPY@ # if @REPLACE_STPNCPY@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define stpncpy rpl_stpncpy # endif _GL_FUNCDECL_RPL (stpncpy, char *, (char *restrict __dst, char const *restrict __src, size_t __n) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (stpncpy, char *, (char *restrict __dst, char const *restrict __src, size_t __n)); # else # if ! @HAVE_STPNCPY@ _GL_FUNCDECL_SYS (stpncpy, char *, (char *restrict __dst, char const *restrict __src, size_t __n) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (stpncpy, char *, (char *restrict __dst, char const *restrict __src, size_t __n)); # endif _GL_CXXALIASWARN (stpncpy); #elif defined GNULIB_POSIXCHECK # undef stpncpy # if HAVE_RAW_DECL_STPNCPY _GL_WARN_ON_USE (stpncpy, "stpncpy is unportable - " "use gnulib module stpncpy for portability"); # endif #endif #if defined GNULIB_POSIXCHECK /* strchr() does not work with multibyte strings if the locale encoding is GB18030 and the character to be searched is a digit. */ # undef strchr /* Assume strchr is always declared. */ _GL_WARN_ON_USE (strchr, "strchr cannot work correctly on character strings " "in some multibyte locales - " "use mbschr if you care about internationalization"); #endif /* Find the first occurrence of C in S or the final NUL byte. */ #if @GNULIB_STRCHRNUL@ # if ! @HAVE_STRCHRNUL@ _GL_FUNCDECL_SYS (strchrnul, char *, (char const *__s, int __c_in) __attribute__ ((__pure__)) _GL_ARG_NONNULL ((1))); # endif /* On some systems, this function is defined as an overloaded function: extern "C++" { const char * std::strchrnul (const char *, int); } extern "C++" { char * std::strchrnul (char *, int); } */ _GL_CXXALIAS_SYS_CAST2 (strchrnul, char *, (char const *__s, int __c_in), char const *, (char const *__s, int __c_in)); # if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 10 \ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) _GL_CXXALIASWARN1 (strchrnul, char *, (char *__s, int __c_in)); _GL_CXXALIASWARN1 (strchrnul, char const *, (char const *__s, int __c_in)); # else _GL_CXXALIASWARN (strchrnul); # endif #elif defined GNULIB_POSIXCHECK # undef strchrnul # if HAVE_RAW_DECL_STRCHRNUL _GL_WARN_ON_USE (strchrnul, "strchrnul is unportable - " "use gnulib module strchrnul for portability"); # endif #endif /* Duplicate S, returning an identical malloc'd string. */ #if @GNULIB_STRDUP@ # if @REPLACE_STRDUP@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef strdup # define strdup rpl_strdup # endif _GL_FUNCDECL_RPL (strdup, char *, (char const *__s) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (strdup, char *, (char const *__s)); # else # if !(@HAVE_DECL_STRDUP@ || defined strdup) _GL_FUNCDECL_SYS (strdup, char *, (char const *__s) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (strdup, char *, (char const *__s)); # endif _GL_CXXALIASWARN (strdup); #elif defined GNULIB_POSIXCHECK # undef strdup # if HAVE_RAW_DECL_STRDUP _GL_WARN_ON_USE (strdup, "strdup is unportable - " "use gnulib module strdup for portability"); # endif #endif /* Append no more than N characters from SRC onto DEST. */ #if @GNULIB_STRNCAT@ # if @REPLACE_STRNCAT@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef strncat # define strncat rpl_strncat # endif _GL_FUNCDECL_RPL (strncat, char *, (char *dest, const char *src, size_t n) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (strncat, char *, (char *dest, const char *src, size_t n)); # else _GL_CXXALIAS_SYS (strncat, char *, (char *dest, const char *src, size_t n)); # endif _GL_CXXALIASWARN (strncat); #elif defined GNULIB_POSIXCHECK # undef strncat # if HAVE_RAW_DECL_STRNCAT _GL_WARN_ON_USE (strncat, "strncat is unportable - " "use gnulib module strncat for portability"); # endif #endif /* Return a newly allocated copy of at most N bytes of STRING. */ #if @GNULIB_STRNDUP@ # if @REPLACE_STRNDUP@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef strndup # define strndup rpl_strndup # endif _GL_FUNCDECL_RPL (strndup, char *, (char const *__string, size_t __n) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (strndup, char *, (char const *__string, size_t __n)); # else # if ! @HAVE_DECL_STRNDUP@ _GL_FUNCDECL_SYS (strndup, char *, (char const *__string, size_t __n) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (strndup, char *, (char const *__string, size_t __n)); # endif _GL_CXXALIASWARN (strndup); #elif defined GNULIB_POSIXCHECK # undef strndup # if HAVE_RAW_DECL_STRNDUP _GL_WARN_ON_USE (strndup, "strndup is unportable - " "use gnulib module strndup for portability"); # endif #endif /* Find the length (number of bytes) of STRING, but scan at most MAXLEN bytes. If no '\0' terminator is found in that many bytes, return MAXLEN. */ #if @GNULIB_STRNLEN@ # if @REPLACE_STRNLEN@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef strnlen # define strnlen rpl_strnlen # endif _GL_FUNCDECL_RPL (strnlen, size_t, (char const *__string, size_t __maxlen) __attribute__ ((__pure__)) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (strnlen, size_t, (char const *__string, size_t __maxlen)); # else # if ! @HAVE_DECL_STRNLEN@ _GL_FUNCDECL_SYS (strnlen, size_t, (char const *__string, size_t __maxlen) __attribute__ ((__pure__)) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (strnlen, size_t, (char const *__string, size_t __maxlen)); # endif _GL_CXXALIASWARN (strnlen); #elif defined GNULIB_POSIXCHECK # undef strnlen # if HAVE_RAW_DECL_STRNLEN _GL_WARN_ON_USE (strnlen, "strnlen is unportable - " "use gnulib module strnlen for portability"); # endif #endif #if defined GNULIB_POSIXCHECK /* strcspn() assumes the second argument is a list of single-byte characters. Even in this simple case, it does not work with multibyte strings if the locale encoding is GB18030 and one of the characters to be searched is a digit. */ # undef strcspn /* Assume strcspn is always declared. */ _GL_WARN_ON_USE (strcspn, "strcspn cannot work correctly on character strings " "in multibyte locales - " "use mbscspn if you care about internationalization"); #endif /* Find the first occurrence in S of any character in ACCEPT. */ #if @GNULIB_STRPBRK@ # if ! @HAVE_STRPBRK@ _GL_FUNCDECL_SYS (strpbrk, char *, (char const *__s, char const *__accept) __attribute__ ((__pure__)) _GL_ARG_NONNULL ((1, 2))); # endif /* On some systems, this function is defined as an overloaded function: extern "C" { const char * strpbrk (const char *, const char *); } extern "C++" { char * strpbrk (char *, const char *); } */ _GL_CXXALIAS_SYS_CAST2 (strpbrk, char *, (char const *__s, char const *__accept), const char *, (char const *__s, char const *__accept)); # if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 10 \ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) _GL_CXXALIASWARN1 (strpbrk, char *, (char *__s, char const *__accept)); _GL_CXXALIASWARN1 (strpbrk, char const *, (char const *__s, char const *__accept)); # else _GL_CXXALIASWARN (strpbrk); # endif # if defined GNULIB_POSIXCHECK /* strpbrk() assumes the second argument is a list of single-byte characters. Even in this simple case, it does not work with multibyte strings if the locale encoding is GB18030 and one of the characters to be searched is a digit. */ # undef strpbrk _GL_WARN_ON_USE (strpbrk, "strpbrk cannot work correctly on character strings " "in multibyte locales - " "use mbspbrk if you care about internationalization"); # endif #elif defined GNULIB_POSIXCHECK # undef strpbrk # if HAVE_RAW_DECL_STRPBRK _GL_WARN_ON_USE (strpbrk, "strpbrk is unportable - " "use gnulib module strpbrk for portability"); # endif #endif #if defined GNULIB_POSIXCHECK /* strspn() assumes the second argument is a list of single-byte characters. Even in this simple case, it cannot work with multibyte strings. */ # undef strspn /* Assume strspn is always declared. */ _GL_WARN_ON_USE (strspn, "strspn cannot work correctly on character strings " "in multibyte locales - " "use mbsspn if you care about internationalization"); #endif #if defined GNULIB_POSIXCHECK /* strrchr() does not work with multibyte strings if the locale encoding is GB18030 and the character to be searched is a digit. */ # undef strrchr /* Assume strrchr is always declared. */ _GL_WARN_ON_USE (strrchr, "strrchr cannot work correctly on character strings " "in some multibyte locales - " "use mbsrchr if you care about internationalization"); #endif /* Search the next delimiter (char listed in DELIM) starting at *STRINGP. If one is found, overwrite it with a NUL, and advance *STRINGP to point to the next char after it. Otherwise, set *STRINGP to NULL. If *STRINGP was already NULL, nothing happens. Return the old value of *STRINGP. This is a variant of strtok() that is multithread-safe and supports empty fields. Caveat: It modifies the original string. Caveat: These functions cannot be used on constant strings. Caveat: The identity of the delimiting character is lost. Caveat: It doesn't work with multibyte strings unless all of the delimiter characters are ASCII characters < 0x30. See also strtok_r(). */ #if @GNULIB_STRSEP@ # if ! @HAVE_STRSEP@ _GL_FUNCDECL_SYS (strsep, char *, (char **restrict __stringp, char const *restrict __delim) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (strsep, char *, (char **restrict __stringp, char const *restrict __delim)); _GL_CXXALIASWARN (strsep); # if defined GNULIB_POSIXCHECK # undef strsep _GL_WARN_ON_USE (strsep, "strsep cannot work correctly on character strings " "in multibyte locales - " "use mbssep if you care about internationalization"); # endif #elif defined GNULIB_POSIXCHECK # undef strsep # if HAVE_RAW_DECL_STRSEP _GL_WARN_ON_USE (strsep, "strsep is unportable - " "use gnulib module strsep for portability"); # endif #endif #if @GNULIB_STRSTR@ # if @REPLACE_STRSTR@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define strstr rpl_strstr # endif _GL_FUNCDECL_RPL (strstr, char *, (const char *haystack, const char *needle) __attribute__ ((__pure__)) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (strstr, char *, (const char *haystack, const char *needle)); # else /* On some systems, this function is defined as an overloaded function: extern "C++" { const char * strstr (const char *, const char *); } extern "C++" { char * strstr (char *, const char *); } */ _GL_CXXALIAS_SYS_CAST2 (strstr, char *, (const char *haystack, const char *needle), const char *, (const char *haystack, const char *needle)); # endif # if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 10 \ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) _GL_CXXALIASWARN1 (strstr, char *, (char *haystack, const char *needle)); _GL_CXXALIASWARN1 (strstr, const char *, (const char *haystack, const char *needle)); # else _GL_CXXALIASWARN (strstr); # endif #elif defined GNULIB_POSIXCHECK /* strstr() does not work with multibyte strings if the locale encoding is different from UTF-8: POSIX says that it operates on "strings", and "string" in POSIX is defined as a sequence of bytes, not of characters. */ # undef strstr /* Assume strstr is always declared. */ _GL_WARN_ON_USE (strstr, "strstr is quadratic on many systems, and cannot " "work correctly on character strings in most " "multibyte locales - " "use mbsstr if you care about internationalization, " "or use strstr if you care about speed"); #endif /* Find the first occurrence of NEEDLE in HAYSTACK, using case-insensitive comparison. */ #if @GNULIB_STRCASESTR@ # if @REPLACE_STRCASESTR@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define strcasestr rpl_strcasestr # endif _GL_FUNCDECL_RPL (strcasestr, char *, (const char *haystack, const char *needle) __attribute__ ((__pure__)) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (strcasestr, char *, (const char *haystack, const char *needle)); # else # if ! @HAVE_STRCASESTR@ _GL_FUNCDECL_SYS (strcasestr, char *, (const char *haystack, const char *needle) __attribute__ ((__pure__)) _GL_ARG_NONNULL ((1, 2))); # endif /* On some systems, this function is defined as an overloaded function: extern "C++" { const char * strcasestr (const char *, const char *); } extern "C++" { char * strcasestr (char *, const char *); } */ _GL_CXXALIAS_SYS_CAST2 (strcasestr, char *, (const char *haystack, const char *needle), const char *, (const char *haystack, const char *needle)); # endif # if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 10 \ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) _GL_CXXALIASWARN1 (strcasestr, char *, (char *haystack, const char *needle)); _GL_CXXALIASWARN1 (strcasestr, const char *, (const char *haystack, const char *needle)); # else _GL_CXXALIASWARN (strcasestr); # endif #elif defined GNULIB_POSIXCHECK /* strcasestr() does not work with multibyte strings: It is a glibc extension, and glibc implements it only for unibyte locales. */ # undef strcasestr # if HAVE_RAW_DECL_STRCASESTR _GL_WARN_ON_USE (strcasestr, "strcasestr does work correctly on character " "strings in multibyte locales - " "use mbscasestr if you care about " "internationalization, or use c-strcasestr if you want " "a locale independent function"); # endif #endif /* Parse S into tokens separated by characters in DELIM. If S is NULL, the saved pointer in SAVE_PTR is used as the next starting point. For example: char s[] = "-abc-=-def"; char *sp; x = strtok_r(s, "-", &sp); // x = "abc", sp = "=-def" x = strtok_r(NULL, "-=", &sp); // x = "def", sp = NULL x = strtok_r(NULL, "=", &sp); // x = NULL // s = "abc\0-def\0" This is a variant of strtok() that is multithread-safe. For the POSIX documentation for this function, see: http://www.opengroup.org/susv3xsh/strtok.html Caveat: It modifies the original string. Caveat: These functions cannot be used on constant strings. Caveat: The identity of the delimiting character is lost. Caveat: It doesn't work with multibyte strings unless all of the delimiter characters are ASCII characters < 0x30. See also strsep(). */ #if @GNULIB_STRTOK_R@ # if @REPLACE_STRTOK_R@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef strtok_r # define strtok_r rpl_strtok_r # endif _GL_FUNCDECL_RPL (strtok_r, char *, (char *restrict s, char const *restrict delim, char **restrict save_ptr) _GL_ARG_NONNULL ((2, 3))); _GL_CXXALIAS_RPL (strtok_r, char *, (char *restrict s, char const *restrict delim, char **restrict save_ptr)); # else # if @UNDEFINE_STRTOK_R@ || defined GNULIB_POSIXCHECK # undef strtok_r # endif # if ! @HAVE_DECL_STRTOK_R@ _GL_FUNCDECL_SYS (strtok_r, char *, (char *restrict s, char const *restrict delim, char **restrict save_ptr) _GL_ARG_NONNULL ((2, 3))); # endif _GL_CXXALIAS_SYS (strtok_r, char *, (char *restrict s, char const *restrict delim, char **restrict save_ptr)); # endif _GL_CXXALIASWARN (strtok_r); # if defined GNULIB_POSIXCHECK _GL_WARN_ON_USE (strtok_r, "strtok_r cannot work correctly on character " "strings in multibyte locales - " "use mbstok_r if you care about internationalization"); # endif #elif defined GNULIB_POSIXCHECK # undef strtok_r # if HAVE_RAW_DECL_STRTOK_R _GL_WARN_ON_USE (strtok_r, "strtok_r is unportable - " "use gnulib module strtok_r for portability"); # endif #endif /* The following functions are not specified by POSIX. They are gnulib extensions. */ #if @GNULIB_MBSLEN@ /* Return the number of multibyte characters in the character string STRING. This considers multibyte characters, unlike strlen, which counts bytes. */ # ifdef __MirBSD__ /* MirBSD defines mbslen as a macro. Override it. */ # undef mbslen # endif # if @HAVE_MBSLEN@ /* AIX, OSF/1, MirBSD define mbslen already in libc. */ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define mbslen rpl_mbslen # endif _GL_FUNCDECL_RPL (mbslen, size_t, (const char *string) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (mbslen, size_t, (const char *string)); # else _GL_FUNCDECL_SYS (mbslen, size_t, (const char *string) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_SYS (mbslen, size_t, (const char *string)); # endif _GL_CXXALIASWARN (mbslen); #endif #if @GNULIB_MBSNLEN@ /* Return the number of multibyte characters in the character string starting at STRING and ending at STRING + LEN. */ _GL_EXTERN_C size_t mbsnlen (const char *string, size_t len) _GL_ARG_NONNULL ((1)); #endif #if @GNULIB_MBSCHR@ /* Locate the first single-byte character C in the character string STRING, and return a pointer to it. Return NULL if C is not found in STRING. Unlike strchr(), this function works correctly in multibyte locales with encodings such as GB18030. */ # if defined __hpux # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define mbschr rpl_mbschr /* avoid collision with HP-UX function */ # endif _GL_FUNCDECL_RPL (mbschr, char *, (const char *string, int c) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (mbschr, char *, (const char *string, int c)); # else _GL_FUNCDECL_SYS (mbschr, char *, (const char *string, int c) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_SYS (mbschr, char *, (const char *string, int c)); # endif _GL_CXXALIASWARN (mbschr); #endif #if @GNULIB_MBSRCHR@ /* Locate the last single-byte character C in the character string STRING, and return a pointer to it. Return NULL if C is not found in STRING. Unlike strrchr(), this function works correctly in multibyte locales with encodings such as GB18030. */ # if defined __hpux # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define mbsrchr rpl_mbsrchr /* avoid collision with HP-UX function */ # endif _GL_FUNCDECL_RPL (mbsrchr, char *, (const char *string, int c) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (mbsrchr, char *, (const char *string, int c)); # else _GL_FUNCDECL_SYS (mbsrchr, char *, (const char *string, int c) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_SYS (mbsrchr, char *, (const char *string, int c)); # endif _GL_CXXALIASWARN (mbsrchr); #endif #if @GNULIB_MBSSTR@ /* Find the first occurrence of the character string NEEDLE in the character string HAYSTACK. Return NULL if NEEDLE is not found in HAYSTACK. Unlike strstr(), this function works correctly in multibyte locales with encodings different from UTF-8. */ _GL_EXTERN_C char * mbsstr (const char *haystack, const char *needle) _GL_ARG_NONNULL ((1, 2)); #endif #if @GNULIB_MBSCASECMP@ /* Compare the character strings S1 and S2, ignoring case, returning less than, equal to or greater than zero if S1 is lexicographically less than, equal to or greater than S2. Note: This function may, in multibyte locales, return 0 for strings of different lengths! Unlike strcasecmp(), this function works correctly in multibyte locales. */ _GL_EXTERN_C int mbscasecmp (const char *s1, const char *s2) _GL_ARG_NONNULL ((1, 2)); #endif #if @GNULIB_MBSNCASECMP@ /* Compare the initial segment of the character string S1 consisting of at most N characters with the initial segment of the character string S2 consisting of at most N characters, ignoring case, returning less than, equal to or greater than zero if the initial segment of S1 is lexicographically less than, equal to or greater than the initial segment of S2. Note: This function may, in multibyte locales, return 0 for initial segments of different lengths! Unlike strncasecmp(), this function works correctly in multibyte locales. But beware that N is not a byte count but a character count! */ _GL_EXTERN_C int mbsncasecmp (const char *s1, const char *s2, size_t n) _GL_ARG_NONNULL ((1, 2)); #endif #if @GNULIB_MBSPCASECMP@ /* Compare the initial segment of the character string STRING consisting of at most mbslen (PREFIX) characters with the character string PREFIX, ignoring case, returning less than, equal to or greater than zero if this initial segment is lexicographically less than, equal to or greater than PREFIX. Note: This function may, in multibyte locales, return 0 if STRING is of smaller length than PREFIX! Unlike strncasecmp(), this function works correctly in multibyte locales. */ _GL_EXTERN_C char * mbspcasecmp (const char *string, const char *prefix) _GL_ARG_NONNULL ((1, 2)); #endif #if @GNULIB_MBSCASESTR@ /* Find the first occurrence of the character string NEEDLE in the character string HAYSTACK, using case-insensitive comparison. Note: This function may, in multibyte locales, return success even if strlen (haystack) < strlen (needle) ! Unlike strcasestr(), this function works correctly in multibyte locales. */ _GL_EXTERN_C char * mbscasestr (const char *haystack, const char *needle) _GL_ARG_NONNULL ((1, 2)); #endif #if @GNULIB_MBSCSPN@ /* Find the first occurrence in the character string STRING of any character in the character string ACCEPT. Return the number of bytes from the beginning of the string to this occurrence, or to the end of the string if none exists. Unlike strcspn(), this function works correctly in multibyte locales. */ _GL_EXTERN_C size_t mbscspn (const char *string, const char *accept) _GL_ARG_NONNULL ((1, 2)); #endif #if @GNULIB_MBSPBRK@ /* Find the first occurrence in the character string STRING of any character in the character string ACCEPT. Return the pointer to it, or NULL if none exists. Unlike strpbrk(), this function works correctly in multibyte locales. */ # if defined __hpux # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define mbspbrk rpl_mbspbrk /* avoid collision with HP-UX function */ # endif _GL_FUNCDECL_RPL (mbspbrk, char *, (const char *string, const char *accept) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (mbspbrk, char *, (const char *string, const char *accept)); # else _GL_FUNCDECL_SYS (mbspbrk, char *, (const char *string, const char *accept) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_SYS (mbspbrk, char *, (const char *string, const char *accept)); # endif _GL_CXXALIASWARN (mbspbrk); #endif #if @GNULIB_MBSSPN@ /* Find the first occurrence in the character string STRING of any character not in the character string REJECT. Return the number of bytes from the beginning of the string to this occurrence, or to the end of the string if none exists. Unlike strspn(), this function works correctly in multibyte locales. */ _GL_EXTERN_C size_t mbsspn (const char *string, const char *reject) _GL_ARG_NONNULL ((1, 2)); #endif #if @GNULIB_MBSSEP@ /* Search the next delimiter (multibyte character listed in the character string DELIM) starting at the character string *STRINGP. If one is found, overwrite it with a NUL, and advance *STRINGP to point to the next multibyte character after it. Otherwise, set *STRINGP to NULL. If *STRINGP was already NULL, nothing happens. Return the old value of *STRINGP. This is a variant of mbstok_r() that supports empty fields. Caveat: It modifies the original string. Caveat: These functions cannot be used on constant strings. Caveat: The identity of the delimiting character is lost. See also mbstok_r(). */ _GL_EXTERN_C char * mbssep (char **stringp, const char *delim) _GL_ARG_NONNULL ((1, 2)); #endif #if @GNULIB_MBSTOK_R@ /* Parse the character string STRING into tokens separated by characters in the character string DELIM. If STRING is NULL, the saved pointer in SAVE_PTR is used as the next starting point. For example: char s[] = "-abc-=-def"; char *sp; x = mbstok_r(s, "-", &sp); // x = "abc", sp = "=-def" x = mbstok_r(NULL, "-=", &sp); // x = "def", sp = NULL x = mbstok_r(NULL, "=", &sp); // x = NULL // s = "abc\0-def\0" Caveat: It modifies the original string. Caveat: These functions cannot be used on constant strings. Caveat: The identity of the delimiting character is lost. See also mbssep(). */ _GL_EXTERN_C char * mbstok_r (char *string, const char *delim, char **save_ptr) _GL_ARG_NONNULL ((2, 3)); #endif /* Map any int, typically from errno, into an error message. */ #if @GNULIB_STRERROR@ # if @REPLACE_STRERROR@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef strerror # define strerror rpl_strerror # endif _GL_FUNCDECL_RPL (strerror, char *, (int)); _GL_CXXALIAS_RPL (strerror, char *, (int)); # else _GL_CXXALIAS_SYS (strerror, char *, (int)); # endif _GL_CXXALIASWARN (strerror); #elif defined GNULIB_POSIXCHECK # undef strerror /* Assume strerror is always declared. */ _GL_WARN_ON_USE (strerror, "strerror is unportable - " "use gnulib module strerror to guarantee non-NULL result"); #endif #if @GNULIB_STRSIGNAL@ # if @REPLACE_STRSIGNAL@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define strsignal rpl_strsignal # endif _GL_FUNCDECL_RPL (strsignal, char *, (int __sig)); _GL_CXXALIAS_RPL (strsignal, char *, (int __sig)); # else # if ! @HAVE_DECL_STRSIGNAL@ _GL_FUNCDECL_SYS (strsignal, char *, (int __sig)); # endif /* Need to cast, because on Cygwin 1.5.x systems, the return type is 'const char *'. */ _GL_CXXALIAS_SYS_CAST (strsignal, char *, (int __sig)); # endif _GL_CXXALIASWARN (strsignal); #elif defined GNULIB_POSIXCHECK # undef strsignal # if HAVE_RAW_DECL_STRSIGNAL _GL_WARN_ON_USE (strsignal, "strsignal is unportable - " "use gnulib module strsignal for portability"); # endif #endif #if @GNULIB_STRVERSCMP@ # if !@HAVE_STRVERSCMP@ _GL_FUNCDECL_SYS (strverscmp, int, (const char *, const char *) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (strverscmp, int, (const char *, const char *)); _GL_CXXALIASWARN (strverscmp); #elif defined GNULIB_POSIXCHECK # undef strverscmp # if HAVE_RAW_DECL_STRVERSCMP _GL_WARN_ON_USE (strverscmp, "strverscmp is unportable - " "use gnulib module strverscmp for portability"); # endif #endif #endif /* _GL_STRING_H */ #endif /* _GL_STRING_H */ parted-2.3/lib/exitfail.h0000644000000000000000000000140311370541031012241 00000000000000/* Failure exit status Copyright (C) 2002, 2009, 2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ extern int volatile exit_failure; parted-2.3/lib/version-etc.h0000644000000000000000000000553211370541032012702 00000000000000/* Print --version and bug-reporting information in a consistent format. Copyright (C) 1999, 2003, 2005, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ #ifndef VERSION_ETC_H # define VERSION_ETC_H 1 # include # include /* The `sentinel' attribute was added in gcc 4.0. */ #ifndef ATTRIBUTE_SENTINEL # if 4 <= __GNUC__ # define ATTRIBUTE_SENTINEL __attribute__ ((__sentinel__)) # else # define ATTRIBUTE_SENTINEL /* empty */ # endif #endif extern const char version_etc_copyright[]; /* The three functions below display the --version information in the standard way: command and package names, package version, followed by a short GPLv3+ notice and a list of up to 10 author names. If COMMAND_NAME is NULL, the PACKAGE is asumed to be the name of the program. The formats are therefore: PACKAGE VERSION or COMMAND_NAME (PACKAGE) VERSION. The functions differ in the way they are passed author names: */ /* N_AUTHORS names are supplied in array AUTHORS. */ extern void version_etc_arn (FILE *stream, const char *command_name, const char *package, const char *version, const char * const * authors, size_t n_authors); /* Names are passed in the NULL-terminated array AUTHORS. */ extern void version_etc_ar (FILE *stream, const char *command_name, const char *package, const char *version, const char * const * authors); /* Names are passed in the NULL-terminated va_list. */ extern void version_etc_va (FILE *stream, const char *command_name, const char *package, const char *version, va_list authors); /* Names are passed as separate arguments, with an additional NULL argument at the end. */ extern void version_etc (FILE *stream, const char *command_name, const char *package, const char *version, /* const char *author1, ..., NULL */ ...) ATTRIBUTE_SENTINEL; /* Display the usual `Report bugs to' stanza */ extern void emit_bug_reporting_address (void); #endif /* VERSION_ETC_H */ parted-2.3/lib/close-hook.h0000644000000000000000000000473011333760253012515 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Hook for making the close() function extensible. Copyright (C) 2009, 2010 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 3 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 Lesser General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef CLOSE_HOOK_H #define CLOSE_HOOK_H #ifdef __cplusplus extern "C" { #endif /* Currently, this entire code is only needed for the handling of sockets on native Windows platforms. */ #if WINDOWS_SOCKETS /* An element of the list of close hooks. The fields of this structure are considered private. */ struct close_hook { /* Doubly linked list. */ struct close_hook *private_next; struct close_hook *private_prev; /* Function that treats the types of FD that it knows about and calls execute_close_hooks (FD, REMAINING_LIST) as a fallback. */ int (*private_fn) (int fd, const struct close_hook *remaining_list); }; /* This type of function closes FD, applying special knowledge for the FD types it knows about, and calls execute_close_hooks (FD, REMAINING_LIST) for the other FD types. */ typedef int (*close_hook_fn) (int fd, const struct close_hook *remaining_list); /* Execute the close hooks in REMAINING_LIST. Return 0 or -1, like close() would do. */ extern int execute_close_hooks (int fd, const struct close_hook *remaining_list); /* Execute all close hooks. Return 0 or -1, like close() would do. */ extern int execute_all_close_hooks (int fd); /* Add a function to the list of close hooks. The LINK variable points to a piece of memory which is guaranteed to be accessible until the corresponding call to unregister_close_hook. */ extern void register_close_hook (close_hook_fn hook, struct close_hook *link); /* Removes a function from the list of close hooks. */ extern void unregister_close_hook (struct close_hook *link); #endif #ifdef __cplusplus } #endif #endif /* CLOSE_HOOK_H */ parted-2.3/lib/gnulib.mk0000644000000000000000000016363611377760460012135 00000000000000## DO NOT EDIT! GENERATED AUTOMATICALLY! ## Process this file with automake to produce Makefile.in. # Copyright (C) 2002-2010 Free Software Foundation, Inc. # # This file is free software, distributed under the terms of the GNU # General Public License. As a special exception to the GNU General # Public License, this file may be distributed as part of a program # that contains a configuration script generated by Autoconf, under # the same distribution terms as the rest of that program. # # Generated by gnulib-tool. # Reproduce by: gnulib-tool --import --dir=. --local-dir=gl --lib=libgnulib --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=gnulib-tests --aux-dir=build-aux --with-tests --avoid=dummy --avoid=lock --libtool --macro-prefix=gl alloca announce-gen argmatch assert calloc canonicalize-lgpl close closeout config-h configmake dirname do-release-commit-and-tag fdl fsync gettext-h git-version-gen gitlog-to-changelog gnu-web-doc-update gnumakefile gnupload inttypes lib-ignore long-options lseek maintainer-makefile malloc manywarnings mkstemp mktempd progname realloc rpmatch safe-read stdbool strdup-posix unlink update-copyright useless-if-before-free usleep vc-list-files version-etc-fsf warnings xstrtol AUTOMAKE_OPTIONS = 1.5 gnits SUBDIRS = noinst_HEADERS = noinst_LIBRARIES = noinst_LTLIBRARIES = EXTRA_DIST = BUILT_SOURCES = SUFFIXES = MOSTLYCLEANFILES = core *.stackdump MOSTLYCLEANDIRS = CLEANFILES = DISTCLEANFILES = MAINTAINERCLEANFILES = AM_CPPFLAGS = AM_CFLAGS = noinst_LTLIBRARIES += libgnulib.la libgnulib_la_SOURCES = libgnulib_la_LIBADD = $(gl_LTLIBOBJS) libgnulib_la_DEPENDENCIES = $(gl_LTLIBOBJS) EXTRA_libgnulib_la_SOURCES = libgnulib_la_LDFLAGS = $(AM_LDFLAGS) ## begin gnulib module alloca EXTRA_DIST += alloca.c EXTRA_libgnulib_la_SOURCES += alloca.c libgnulib_la_LIBADD += @LTALLOCA@ libgnulib_la_DEPENDENCIES += @LTALLOCA@ ## end gnulib module alloca ## begin gnulib module alloca-opt BUILT_SOURCES += $(ALLOCA_H) # We need the following in order to create when the system # doesn't have one that works with the given compiler. alloca.h: alloca.in.h $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ cat $(srcdir)/alloca.in.h; \ } > $@-t && \ mv -f $@-t $@ MOSTLYCLEANFILES += alloca.h alloca.h-t EXTRA_DIST += alloca.in.h ## end gnulib module alloca-opt ## begin gnulib module announce-gen EXTRA_DIST += $(top_srcdir)/build-aux/announce-gen ## end gnulib module announce-gen ## begin gnulib module arg-nonnull # The BUILT_SOURCES created by this Makefile snippet are not used via #include # statements but through direct file reference. Therefore this snippet must be # present in all Makefile.am that need it. This is ensured by the applicability # 'all' defined above. BUILT_SOURCES += arg-nonnull.h # The arg-nonnull.h that gets inserted into generated .h files is the same as # build-aux/arg-nonnull.h, except that it has the copyright header cut off. arg-nonnull.h: $(top_srcdir)/build-aux/arg-nonnull.h $(AM_V_GEN)rm -f $@-t $@ && \ sed -n -e '/GL_ARG_NONNULL/,$$p' \ < $(top_srcdir)/build-aux/arg-nonnull.h \ > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += arg-nonnull.h arg-nonnull.h-t ARG_NONNULL_H=arg-nonnull.h EXTRA_DIST += $(top_srcdir)/build-aux/arg-nonnull.h ## end gnulib module arg-nonnull ## begin gnulib module argmatch EXTRA_DIST += argmatch.c argmatch.h EXTRA_libgnulib_la_SOURCES += argmatch.c ## end gnulib module argmatch ## begin gnulib module btowc EXTRA_DIST += btowc.c EXTRA_libgnulib_la_SOURCES += btowc.c ## end gnulib module btowc ## begin gnulib module c++defs # The BUILT_SOURCES created by this Makefile snippet are not used via #include # statements but through direct file reference. Therefore this snippet must be # present in all Makefile.am that need it. This is ensured by the applicability # 'all' defined above. BUILT_SOURCES += c++defs.h # The c++defs.h that gets inserted into generated .h files is the same as # build-aux/c++defs.h, except that it has the copyright header cut off. c++defs.h: $(top_srcdir)/build-aux/c++defs.h $(AM_V_GEN)rm -f $@-t $@ && \ sed -n -e '/_GL_CXXDEFS/,$$p' \ < $(top_srcdir)/build-aux/c++defs.h \ > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += c++defs.h c++defs.h-t CXXDEFS_H=c++defs.h EXTRA_DIST += $(top_srcdir)/build-aux/c++defs.h ## end gnulib module c++defs ## begin gnulib module calloc EXTRA_DIST += calloc.c EXTRA_libgnulib_la_SOURCES += calloc.c ## end gnulib module calloc ## begin gnulib module calloc-posix EXTRA_DIST += calloc.c EXTRA_libgnulib_la_SOURCES += calloc.c ## end gnulib module calloc-posix ## begin gnulib module canonicalize-lgpl EXTRA_DIST += canonicalize-lgpl.c EXTRA_libgnulib_la_SOURCES += canonicalize-lgpl.c ## end gnulib module canonicalize-lgpl ## begin gnulib module close EXTRA_DIST += close.c EXTRA_libgnulib_la_SOURCES += close.c ## end gnulib module close ## begin gnulib module close-hook libgnulib_la_SOURCES += close-hook.c EXTRA_DIST += close-hook.h ## end gnulib module close-hook ## begin gnulib module close-stream EXTRA_DIST += close-stream.c close-stream.h EXTRA_libgnulib_la_SOURCES += close-stream.c ## end gnulib module close-stream ## begin gnulib module closeout EXTRA_DIST += closeout.c closeout.h EXTRA_libgnulib_la_SOURCES += closeout.c ## end gnulib module closeout ## begin gnulib module configmake # Retrieve values of the variables through 'configure' followed by # 'make', not directly through 'configure', so that a user who # sets some of these variables consistently on the 'make' command # line gets correct results. # # One advantage of this approach, compared to the classical # approach of adding -DLIBDIR=\"$(libdir)\" etc. to AM_CPPFLAGS, # is that it protects against the use of undefined variables. # If, say, $(libdir) is not set in the Makefile, LIBDIR is not # defined by this module, and code using LIBDIR gives a # compilation error. # # Another advantage is that 'make' output is shorter. # # Listed in the same order as the GNU makefile conventions. # The Automake-defined pkg* macros are appended, in the order # listed in the Automake 1.10a+ documentation. configmake.h: Makefile $(AM_V_GEN)rm -f $@-t && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ echo '#define PREFIX "$(prefix)"'; \ echo '#define EXEC_PREFIX "$(exec_prefix)"'; \ echo '#define BINDIR "$(bindir)"'; \ echo '#define SBINDIR "$(sbindir)"'; \ echo '#define LIBEXECDIR "$(libexecdir)"'; \ echo '#define DATAROOTDIR "$(datarootdir)"'; \ echo '#define DATADIR "$(datadir)"'; \ echo '#define SYSCONFDIR "$(sysconfdir)"'; \ echo '#define SHAREDSTATEDIR "$(sharedstatedir)"'; \ echo '#define LOCALSTATEDIR "$(localstatedir)"'; \ echo '#define INCLUDEDIR "$(includedir)"'; \ echo '#define OLDINCLUDEDIR "$(oldincludedir)"'; \ echo '#define DOCDIR "$(docdir)"'; \ echo '#define INFODIR "$(infodir)"'; \ echo '#define HTMLDIR "$(htmldir)"'; \ echo '#define DVIDIR "$(dvidir)"'; \ echo '#define PDFDIR "$(pdfdir)"'; \ echo '#define PSDIR "$(psdir)"'; \ echo '#define LIBDIR "$(libdir)"'; \ echo '#define LISPDIR "$(lispdir)"'; \ echo '#define LOCALEDIR "$(localedir)"'; \ echo '#define MANDIR "$(mandir)"'; \ echo '#define MANEXT "$(manext)"'; \ echo '#define PKGDATADIR "$(pkgdatadir)"'; \ echo '#define PKGINCLUDEDIR "$(pkgincludedir)"'; \ echo '#define PKGLIBDIR "$(pkglibdir)"'; \ echo '#define PKGLIBEXECDIR "$(pkglibexecdir)"'; \ } | sed '/""/d' > $@-t && \ if test -f $@ && cmp $@-t $@ > /dev/null; then \ rm -f $@-t; \ else \ rm -f $@; mv $@-t $@; \ fi BUILT_SOURCES += configmake.h CLEANFILES += configmake.h configmake.h-t ## end gnulib module configmake ## begin gnulib module dirname EXTRA_DIST += basename.c dirname.c stripslash.c EXTRA_libgnulib_la_SOURCES += basename.c dirname.c stripslash.c ## end gnulib module dirname ## begin gnulib module dirname-lgpl EXTRA_DIST += basename-lgpl.c dirname-lgpl.c dirname.h stripslash.c EXTRA_libgnulib_la_SOURCES += basename-lgpl.c dirname-lgpl.c stripslash.c ## end gnulib module dirname-lgpl ## begin gnulib module do-release-commit-and-tag EXTRA_DIST += $(top_srcdir)/build-aux/do-release-commit-and-tag ## end gnulib module do-release-commit-and-tag ## begin gnulib module errno BUILT_SOURCES += $(ERRNO_H) # We need the following in order to create when the system # doesn't have one that is POSIX compliant. errno.h: errno.in.h $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''NEXT_ERRNO_H''@|$(NEXT_ERRNO_H)|g' \ -e 's|@''EMULTIHOP_HIDDEN''@|$(EMULTIHOP_HIDDEN)|g' \ -e 's|@''EMULTIHOP_VALUE''@|$(EMULTIHOP_VALUE)|g' \ -e 's|@''ENOLINK_HIDDEN''@|$(ENOLINK_HIDDEN)|g' \ -e 's|@''ENOLINK_VALUE''@|$(ENOLINK_VALUE)|g' \ -e 's|@''EOVERFLOW_HIDDEN''@|$(EOVERFLOW_HIDDEN)|g' \ -e 's|@''EOVERFLOW_VALUE''@|$(EOVERFLOW_VALUE)|g' \ < $(srcdir)/errno.in.h; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += errno.h errno.h-t EXTRA_DIST += errno.in.h ## end gnulib module errno ## begin gnulib module error EXTRA_DIST += error.c error.h EXTRA_libgnulib_la_SOURCES += error.c ## end gnulib module error ## begin gnulib module exitfail libgnulib_la_SOURCES += exitfail.c EXTRA_DIST += exitfail.h ## end gnulib module exitfail ## begin gnulib module fclose EXTRA_DIST += fclose.c EXTRA_libgnulib_la_SOURCES += fclose.c ## end gnulib module fclose ## begin gnulib module fpending EXTRA_DIST += fpending.c fpending.h EXTRA_libgnulib_la_SOURCES += fpending.c ## end gnulib module fpending ## begin gnulib module fsync EXTRA_DIST += fsync.c EXTRA_libgnulib_la_SOURCES += fsync.c ## end gnulib module fsync ## begin gnulib module gendocs EXTRA_DIST += $(top_srcdir)/build-aux/gendocs.sh ## end gnulib module gendocs ## begin gnulib module getopt-posix BUILT_SOURCES += $(GETOPT_H) # We need the following in order to create when the system # doesn't have one that works with the given compiler. getopt.h: getopt.in.h $(ARG_NONNULL_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''HAVE_GETOPT_H''@|$(HAVE_GETOPT_H)|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''NEXT_GETOPT_H''@|$(NEXT_GETOPT_H)|g' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ < $(srcdir)/getopt.in.h; \ } > $@-t && \ mv -f $@-t $@ MOSTLYCLEANFILES += getopt.h getopt.h-t EXTRA_DIST += getopt.c getopt.in.h getopt1.c getopt_int.h EXTRA_libgnulib_la_SOURCES += getopt.c getopt1.c ## end gnulib module getopt-posix ## begin gnulib module gettext-h libgnulib_la_SOURCES += gettext.h ## end gnulib module gettext-h ## begin gnulib module gettimeofday EXTRA_DIST += gettimeofday.c EXTRA_libgnulib_la_SOURCES += gettimeofday.c ## end gnulib module gettimeofday ## begin gnulib module git-version-gen EXTRA_DIST += $(top_srcdir)/build-aux/git-version-gen ## end gnulib module git-version-gen ## begin gnulib module gitlog-to-changelog EXTRA_DIST += $(top_srcdir)/build-aux/gitlog-to-changelog ## end gnulib module gitlog-to-changelog ## begin gnulib module gnu-web-doc-update EXTRA_DIST += $(top_srcdir)/build-aux/gnu-web-doc-update ## end gnulib module gnu-web-doc-update ## begin gnulib module gnumakefile distclean-local: clean-GNUmakefile clean-GNUmakefile: test x'$(VPATH)' != x && rm -f $(top_builddir)/GNUmakefile || : EXTRA_DIST += $(top_srcdir)/GNUmakefile ## end gnulib module gnumakefile ## begin gnulib module gnupload EXTRA_DIST += $(top_srcdir)/build-aux/gnupload ## end gnulib module gnupload ## begin gnulib module intprops EXTRA_DIST += intprops.h ## end gnulib module intprops ## begin gnulib module inttypes BUILT_SOURCES += inttypes.h # We need the following in order to create when the system # doesn't have one that works with the given compiler. inttypes.h: inttypes.in.h $(WARN_ON_USE_H) $(ARG_NONNULL_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''NEXT_INTTYPES_H''@|$(NEXT_INTTYPES_H)|g' \ -e 's/@''PRI_MACROS_BROKEN''@/$(PRI_MACROS_BROKEN)/g' \ -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \ -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \ -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \ -e 's/@''PRIPTR_PREFIX''@/$(PRIPTR_PREFIX)/g' \ -e 's/@''GNULIB_IMAXABS''@/$(GNULIB_IMAXABS)/g' \ -e 's/@''GNULIB_IMAXDIV''@/$(GNULIB_IMAXDIV)/g' \ -e 's/@''GNULIB_STRTOIMAX''@/$(GNULIB_STRTOIMAX)/g' \ -e 's/@''GNULIB_STRTOUMAX''@/$(GNULIB_STRTOUMAX)/g' \ -e 's/@''HAVE_DECL_IMAXABS''@/$(HAVE_DECL_IMAXABS)/g' \ -e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \ -e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \ -e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \ -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \ -e 's/@''INT64_MAX_EQ_LONG_MAX''@/$(INT64_MAX_EQ_LONG_MAX)/g' \ -e 's/@''UINT32_MAX_LT_UINTMAX_MAX''@/$(UINT32_MAX_LT_UINTMAX_MAX)/g' \ -e 's/@''UINT64_MAX_EQ_ULONG_MAX''@/$(UINT64_MAX_EQ_ULONG_MAX)/g' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(srcdir)/inttypes.in.h; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += inttypes.h inttypes.h-t EXTRA_DIST += inttypes.in.h ## end gnulib module inttypes ## begin gnulib module langinfo BUILT_SOURCES += langinfo.h # We need the following in order to create an empty placeholder for # when the system doesn't have one. langinfo.h: langinfo.in.h $(CXXDEFS_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''HAVE_LANGINFO_H''@|$(HAVE_LANGINFO_H)|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''NEXT_LANGINFO_H''@|$(NEXT_LANGINFO_H)|g' \ -e 's|@''GNULIB_NL_LANGINFO''@|$(GNULIB_NL_LANGINFO)|g' \ -e 's|@''HAVE_LANGINFO_CODESET''@|$(HAVE_LANGINFO_CODESET)|g' \ -e 's|@''HAVE_LANGINFO_ERA''@|$(HAVE_LANGINFO_ERA)|g' \ -e 's|@''HAVE_NL_LANGINFO''@|$(HAVE_NL_LANGINFO)|g' \ -e 's|@''REPLACE_NL_LANGINFO''@|$(REPLACE_NL_LANGINFO)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(srcdir)/langinfo.in.h; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += langinfo.h langinfo.h-t EXTRA_DIST += langinfo.in.h ## end gnulib module langinfo ## begin gnulib module localcharset libgnulib_la_SOURCES += localcharset.h localcharset.c # We need the following in order to install a simple file in $(libdir) # which is shared with other installed packages. We use a list of referencing # packages so that "make uninstall" will remove the file if and only if it # is not used by another installed package. # On systems with glibc-2.1 or newer, the file is redundant, therefore we # avoid installing it. all-local: charset.alias ref-add.sed ref-del.sed charset_alias = $(DESTDIR)$(libdir)/charset.alias charset_tmp = $(DESTDIR)$(libdir)/charset.tmp install-exec-local: install-exec-localcharset install-exec-localcharset: all-local if test $(GLIBC21) = no; then \ case '$(host_os)' in \ darwin[56]*) \ need_charset_alias=true ;; \ darwin* | cygwin* | mingw* | pw32* | cegcc*) \ need_charset_alias=false ;; \ *) \ need_charset_alias=true ;; \ esac ; \ else \ need_charset_alias=false ; \ fi ; \ if $$need_charset_alias; then \ $(mkinstalldirs) $(DESTDIR)$(libdir) ; \ fi ; \ if test -f $(charset_alias); then \ sed -f ref-add.sed $(charset_alias) > $(charset_tmp) ; \ $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \ rm -f $(charset_tmp) ; \ else \ if $$need_charset_alias; then \ sed -f ref-add.sed charset.alias > $(charset_tmp) ; \ $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \ rm -f $(charset_tmp) ; \ fi ; \ fi uninstall-local: uninstall-localcharset uninstall-localcharset: all-local if test -f $(charset_alias); then \ sed -f ref-del.sed $(charset_alias) > $(charset_tmp); \ if grep '^# Packages using this file: $$' $(charset_tmp) \ > /dev/null; then \ rm -f $(charset_alias); \ else \ $(INSTALL_DATA) $(charset_tmp) $(charset_alias); \ fi; \ rm -f $(charset_tmp); \ fi charset.alias: config.charset $(AM_V_GEN)rm -f t-$@ $@ && \ $(SHELL) $(srcdir)/config.charset '$(host)' > t-$@ && \ mv t-$@ $@ SUFFIXES += .sed .sin .sin.sed: $(AM_V_GEN)rm -f t-$@ $@ && \ sed -e '/^#/d' -e 's/@''PACKAGE''@/$(PACKAGE)/g' $< > t-$@ && \ mv t-$@ $@ CLEANFILES += charset.alias ref-add.sed ref-del.sed EXTRA_DIST += config.charset ref-add.sin ref-del.sin ## end gnulib module localcharset ## begin gnulib module long-options EXTRA_DIST += long-options.c long-options.h EXTRA_libgnulib_la_SOURCES += long-options.c ## end gnulib module long-options ## begin gnulib module lseek EXTRA_DIST += lseek.c EXTRA_libgnulib_la_SOURCES += lseek.c ## end gnulib module lseek ## begin gnulib module lstat EXTRA_DIST += lstat.c EXTRA_libgnulib_la_SOURCES += lstat.c ## end gnulib module lstat ## begin gnulib module maintainer-makefile EXTRA_DIST += $(top_srcdir)/maint.mk ## end gnulib module maintainer-makefile ## begin gnulib module malloc EXTRA_DIST += malloc.c EXTRA_libgnulib_la_SOURCES += malloc.c ## end gnulib module malloc ## begin gnulib module malloc-posix EXTRA_DIST += malloc.c EXTRA_libgnulib_la_SOURCES += malloc.c ## end gnulib module malloc-posix ## begin gnulib module malloca libgnulib_la_SOURCES += malloca.c EXTRA_DIST += malloca.h malloca.valgrind ## end gnulib module malloca ## begin gnulib module mbrtowc EXTRA_DIST += mbrtowc.c EXTRA_libgnulib_la_SOURCES += mbrtowc.c ## end gnulib module mbrtowc ## begin gnulib module mbsinit EXTRA_DIST += mbsinit.c EXTRA_libgnulib_la_SOURCES += mbsinit.c ## end gnulib module mbsinit ## begin gnulib module memchr EXTRA_DIST += memchr.c memchr.valgrind EXTRA_libgnulib_la_SOURCES += memchr.c ## end gnulib module memchr ## begin gnulib module mkstemp EXTRA_DIST += mkstemp.c EXTRA_libgnulib_la_SOURCES += mkstemp.c ## end gnulib module mkstemp ## begin gnulib module mktempd EXTRA_DIST += $(top_srcdir)/build-aux/mktempd ## end gnulib module mktempd ## begin gnulib module nl_langinfo EXTRA_DIST += nl_langinfo.c EXTRA_libgnulib_la_SOURCES += nl_langinfo.c ## end gnulib module nl_langinfo ## begin gnulib module pathmax EXTRA_DIST += pathmax.h ## end gnulib module pathmax ## begin gnulib module progname libgnulib_la_SOURCES += progname.h progname.c ## end gnulib module progname ## begin gnulib module quote EXTRA_DIST += quote.c quote.h EXTRA_libgnulib_la_SOURCES += quote.c ## end gnulib module quote ## begin gnulib module quotearg EXTRA_DIST += quotearg.c quotearg.h EXTRA_libgnulib_la_SOURCES += quotearg.c ## end gnulib module quotearg ## begin gnulib module readlink EXTRA_DIST += readlink.c EXTRA_libgnulib_la_SOURCES += readlink.c ## end gnulib module readlink ## begin gnulib module realloc EXTRA_DIST += realloc.c EXTRA_libgnulib_la_SOURCES += realloc.c ## end gnulib module realloc ## begin gnulib module realloc-posix EXTRA_DIST += realloc.c EXTRA_libgnulib_la_SOURCES += realloc.c ## end gnulib module realloc-posix ## begin gnulib module regex EXTRA_DIST += regcomp.c regex.c regex.h regex_internal.c regex_internal.h regexec.c EXTRA_libgnulib_la_SOURCES += regcomp.c regex.c regex_internal.c regexec.c ## end gnulib module regex ## begin gnulib module rpmatch EXTRA_DIST += rpmatch.c EXTRA_libgnulib_la_SOURCES += rpmatch.c ## end gnulib module rpmatch ## begin gnulib module safe-read EXTRA_DIST += safe-read.c safe-read.h EXTRA_libgnulib_la_SOURCES += safe-read.c ## end gnulib module safe-read ## begin gnulib module sleep EXTRA_DIST += sleep.c EXTRA_libgnulib_la_SOURCES += sleep.c ## end gnulib module sleep ## begin gnulib module stat EXTRA_DIST += stat.c EXTRA_libgnulib_la_SOURCES += stat.c ## end gnulib module stat ## begin gnulib module stdarg BUILT_SOURCES += $(STDARG_H) # We need the following in order to create when the system # doesn't have one that works with the given compiler. stdarg.h: stdarg.in.h $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''NEXT_STDARG_H''@|$(NEXT_STDARG_H)|g' \ < $(srcdir)/stdarg.in.h; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += stdarg.h stdarg.h-t EXTRA_DIST += stdarg.in.h ## end gnulib module stdarg ## begin gnulib module stdbool BUILT_SOURCES += $(STDBOOL_H) # We need the following in order to create when the system # doesn't have one that works. stdbool.h: stdbool.in.h $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(srcdir)/stdbool.in.h; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += stdbool.h stdbool.h-t EXTRA_DIST += stdbool.in.h ## end gnulib module stdbool ## begin gnulib module stddef BUILT_SOURCES += $(STDDEF_H) # We need the following in order to create when the system # doesn't have one that works with the given compiler. stddef.h: stddef.in.h $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''NEXT_STDDEF_H''@|$(NEXT_STDDEF_H)|g' \ -e 's|@''HAVE_WCHAR_T''@|$(HAVE_WCHAR_T)|g' \ -e 's|@''REPLACE_NULL''@|$(REPLACE_NULL)|g' \ < $(srcdir)/stddef.in.h; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += stddef.h stddef.h-t EXTRA_DIST += stddef.in.h ## end gnulib module stddef ## begin gnulib module stdint BUILT_SOURCES += $(STDINT_H) # We need the following in order to create when the system # doesn't have one that works with the given compiler. stdint.h: stdint.in.h $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \ -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \ -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \ -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \ -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \ -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \ -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \ -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \ -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \ -e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \ -e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/$(BITSIZEOF_SIG_ATOMIC_T)/g' \ -e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/$(HAVE_SIGNED_SIG_ATOMIC_T)/g' \ -e 's/@''SIG_ATOMIC_T_SUFFIX''@/$(SIG_ATOMIC_T_SUFFIX)/g' \ -e 's/@''BITSIZEOF_SIZE_T''@/$(BITSIZEOF_SIZE_T)/g' \ -e 's/@''SIZE_T_SUFFIX''@/$(SIZE_T_SUFFIX)/g' \ -e 's/@''BITSIZEOF_WCHAR_T''@/$(BITSIZEOF_WCHAR_T)/g' \ -e 's/@''HAVE_SIGNED_WCHAR_T''@/$(HAVE_SIGNED_WCHAR_T)/g' \ -e 's/@''WCHAR_T_SUFFIX''@/$(WCHAR_T_SUFFIX)/g' \ -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \ -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \ -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \ < $(srcdir)/stdint.in.h; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += stdint.h stdint.h-t EXTRA_DIST += stdint.in.h ## end gnulib module stdint ## begin gnulib module stdio BUILT_SOURCES += stdio.h # We need the following in order to create when the system # doesn't have one that works with the given compiler. stdio.h: stdio.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \ -e 's|@''GNULIB_DPRINTF''@|$(GNULIB_DPRINTF)|g' \ -e 's|@''GNULIB_FCLOSE''@|$(GNULIB_FCLOSE)|g' \ -e 's|@''GNULIB_FFLUSH''@|$(GNULIB_FFLUSH)|g' \ -e 's|@''GNULIB_FOPEN''@|$(GNULIB_FOPEN)|g' \ -e 's|@''GNULIB_FPRINTF''@|$(GNULIB_FPRINTF)|g' \ -e 's|@''GNULIB_FPRINTF_POSIX''@|$(GNULIB_FPRINTF_POSIX)|g' \ -e 's|@''GNULIB_FPURGE''@|$(GNULIB_FPURGE)|g' \ -e 's|@''GNULIB_FPUTC''@|$(GNULIB_FPUTC)|g' \ -e 's|@''GNULIB_FPUTS''@|$(GNULIB_FPUTS)|g' \ -e 's|@''GNULIB_FREOPEN''@|$(GNULIB_FREOPEN)|g' \ -e 's|@''GNULIB_FSEEK''@|$(GNULIB_FSEEK)|g' \ -e 's|@''GNULIB_FSEEKO''@|$(GNULIB_FSEEKO)|g' \ -e 's|@''GNULIB_FTELL''@|$(GNULIB_FTELL)|g' \ -e 's|@''GNULIB_FTELLO''@|$(GNULIB_FTELLO)|g' \ -e 's|@''GNULIB_FWRITE''@|$(GNULIB_FWRITE)|g' \ -e 's|@''GNULIB_GETDELIM''@|$(GNULIB_GETDELIM)|g' \ -e 's|@''GNULIB_GETLINE''@|$(GNULIB_GETLINE)|g' \ -e 's|@''GNULIB_OBSTACK_PRINTF''@|$(GNULIB_OBSTACK_PRINTF)|g' \ -e 's|@''GNULIB_OBSTACK_PRINTF_POSIX''@|$(GNULIB_OBSTACK_PRINTF_POSIX)|g' \ -e 's|@''GNULIB_PERROR''@|$(GNULIB_PERROR)|g' \ -e 's|@''GNULIB_POPEN''@|$(GNULIB_POPEN)|g' \ -e 's|@''GNULIB_PRINTF''@|$(GNULIB_PRINTF)|g' \ -e 's|@''GNULIB_PRINTF_POSIX''@|$(GNULIB_PRINTF_POSIX)|g' \ -e 's|@''GNULIB_PUTC''@|$(GNULIB_PUTC)|g' \ -e 's|@''GNULIB_PUTCHAR''@|$(GNULIB_PUTCHAR)|g' \ -e 's|@''GNULIB_PUTS''@|$(GNULIB_PUTS)|g' \ -e 's|@''GNULIB_REMOVE''@|$(GNULIB_REMOVE)|g' \ -e 's|@''GNULIB_RENAME''@|$(GNULIB_RENAME)|g' \ -e 's|@''GNULIB_RENAMEAT''@|$(GNULIB_RENAMEAT)|g' \ -e 's|@''GNULIB_SNPRINTF''@|$(GNULIB_SNPRINTF)|g' \ -e 's|@''GNULIB_SPRINTF_POSIX''@|$(GNULIB_SPRINTF_POSIX)|g' \ -e 's|@''GNULIB_STDIO_H_SIGPIPE''@|$(GNULIB_STDIO_H_SIGPIPE)|g' \ -e 's|@''GNULIB_TMPFILE''@|$(GNULIB_TMPFILE)|g' \ -e 's|@''GNULIB_VASPRINTF''@|$(GNULIB_VASPRINTF)|g' \ -e 's|@''GNULIB_VDPRINTF''@|$(GNULIB_VDPRINTF)|g' \ -e 's|@''GNULIB_VFPRINTF''@|$(GNULIB_VFPRINTF)|g' \ -e 's|@''GNULIB_VFPRINTF_POSIX''@|$(GNULIB_VFPRINTF_POSIX)|g' \ -e 's|@''GNULIB_VPRINTF''@|$(GNULIB_VPRINTF)|g' \ -e 's|@''GNULIB_VPRINTF_POSIX''@|$(GNULIB_VPRINTF_POSIX)|g' \ -e 's|@''GNULIB_VSNPRINTF''@|$(GNULIB_VSNPRINTF)|g' \ -e 's|@''GNULIB_VSPRINTF_POSIX''@|$(GNULIB_VSPRINTF_POSIX)|g' \ < $(srcdir)/stdio.in.h | \ sed -e 's|@''HAVE_DECL_FPURGE''@|$(HAVE_DECL_FPURGE)|g' \ -e 's|@''HAVE_DECL_GETDELIM''@|$(HAVE_DECL_GETDELIM)|g' \ -e 's|@''HAVE_DECL_GETLINE''@|$(HAVE_DECL_GETLINE)|g' \ -e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|$(HAVE_DECL_OBSTACK_PRINTF)|g' \ -e 's|@''HAVE_DECL_SNPRINTF''@|$(HAVE_DECL_SNPRINTF)|g' \ -e 's|@''HAVE_DECL_VSNPRINTF''@|$(HAVE_DECL_VSNPRINTF)|g' \ -e 's|@''HAVE_DPRINTF''@|$(HAVE_DPRINTF)|g' \ -e 's|@''HAVE_FSEEKO''@|$(HAVE_FSEEKO)|g' \ -e 's|@''HAVE_FTELLO''@|$(HAVE_FTELLO)|g' \ -e 's|@''HAVE_RENAMEAT''@|$(HAVE_RENAMEAT)|g' \ -e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \ -e 's|@''HAVE_VDPRINTF''@|$(HAVE_VDPRINTF)|g' \ -e 's|@''REPLACE_DPRINTF''@|$(REPLACE_DPRINTF)|g' \ -e 's|@''REPLACE_FCLOSE''@|$(REPLACE_FCLOSE)|g' \ -e 's|@''REPLACE_FFLUSH''@|$(REPLACE_FFLUSH)|g' \ -e 's|@''REPLACE_FOPEN''@|$(REPLACE_FOPEN)|g' \ -e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \ -e 's|@''REPLACE_FPURGE''@|$(REPLACE_FPURGE)|g' \ -e 's|@''REPLACE_FREOPEN''@|$(REPLACE_FREOPEN)|g' \ -e 's|@''REPLACE_FSEEK''@|$(REPLACE_FSEEK)|g' \ -e 's|@''REPLACE_FSEEKO''@|$(REPLACE_FSEEKO)|g' \ -e 's|@''REPLACE_FTELL''@|$(REPLACE_FTELL)|g' \ -e 's|@''REPLACE_FTELLO''@|$(REPLACE_FTELLO)|g' \ -e 's|@''REPLACE_GETDELIM''@|$(REPLACE_GETDELIM)|g' \ -e 's|@''REPLACE_GETLINE''@|$(REPLACE_GETLINE)|g' \ -e 's|@''REPLACE_OBSTACK_PRINTF''@|$(REPLACE_OBSTACK_PRINTF)|g' \ -e 's|@''REPLACE_PERROR''@|$(REPLACE_PERROR)|g' \ -e 's|@''REPLACE_POPEN''@|$(REPLACE_POPEN)|g' \ -e 's|@''REPLACE_PRINTF''@|$(REPLACE_PRINTF)|g' \ -e 's|@''REPLACE_REMOVE''@|$(REPLACE_REMOVE)|g' \ -e 's|@''REPLACE_RENAME''@|$(REPLACE_RENAME)|g' \ -e 's|@''REPLACE_RENAMEAT''@|$(REPLACE_RENAMEAT)|g' \ -e 's|@''REPLACE_SNPRINTF''@|$(REPLACE_SNPRINTF)|g' \ -e 's|@''REPLACE_SPRINTF''@|$(REPLACE_SPRINTF)|g' \ -e 's|@''REPLACE_STDIO_WRITE_FUNCS''@|$(REPLACE_STDIO_WRITE_FUNCS)|g' \ -e 's|@''REPLACE_TMPFILE''@|$(REPLACE_TMPFILE)|g' \ -e 's|@''REPLACE_VASPRINTF''@|$(REPLACE_VASPRINTF)|g' \ -e 's|@''REPLACE_VDPRINTF''@|$(REPLACE_VDPRINTF)|g' \ -e 's|@''REPLACE_VFPRINTF''@|$(REPLACE_VFPRINTF)|g' \ -e 's|@''REPLACE_VPRINTF''@|$(REPLACE_VPRINTF)|g' \ -e 's|@''REPLACE_VSNPRINTF''@|$(REPLACE_VSNPRINTF)|g' \ -e 's|@''REPLACE_VSPRINTF''@|$(REPLACE_VSPRINTF)|g' \ -e 's|@''ASM_SYMBOL_PREFIX''@|$(ASM_SYMBOL_PREFIX)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += stdio.h stdio.h-t EXTRA_DIST += stdio-write.c stdio.in.h EXTRA_libgnulib_la_SOURCES += stdio-write.c ## end gnulib module stdio ## begin gnulib module stdlib BUILT_SOURCES += stdlib.h # We need the following in order to create when the system # doesn't have one that works with the given compiler. stdlib.h: stdlib.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \ -e 's|@''GNULIB_ATOLL''@|$(GNULIB_ATOLL)|g' \ -e 's|@''GNULIB_CALLOC_POSIX''@|$(GNULIB_CALLOC_POSIX)|g' \ -e 's|@''GNULIB_CANONICALIZE_FILE_NAME''@|$(GNULIB_CANONICALIZE_FILE_NAME)|g' \ -e 's|@''GNULIB_GETLOADAVG''@|$(GNULIB_GETLOADAVG)|g' \ -e 's|@''GNULIB_GETSUBOPT''@|$(GNULIB_GETSUBOPT)|g' \ -e 's|@''GNULIB_GRANTPT''@|$(GNULIB_GRANTPT)|g' \ -e 's|@''GNULIB_MALLOC_POSIX''@|$(GNULIB_MALLOC_POSIX)|g' \ -e 's|@''GNULIB_MKDTEMP''@|$(GNULIB_MKDTEMP)|g' \ -e 's|@''GNULIB_MKOSTEMP''@|$(GNULIB_MKOSTEMP)|g' \ -e 's|@''GNULIB_MKOSTEMPS''@|$(GNULIB_MKOSTEMPS)|g' \ -e 's|@''GNULIB_MKSTEMP''@|$(GNULIB_MKSTEMP)|g' \ -e 's|@''GNULIB_MKSTEMPS''@|$(GNULIB_MKSTEMPS)|g' \ -e 's|@''GNULIB_PTSNAME''@|$(GNULIB_PTSNAME)|g' \ -e 's|@''GNULIB_PUTENV''@|$(GNULIB_PUTENV)|g' \ -e 's|@''GNULIB_RANDOM_R''@|$(GNULIB_RANDOM_R)|g' \ -e 's|@''GNULIB_REALLOC_POSIX''@|$(GNULIB_REALLOC_POSIX)|g' \ -e 's|@''GNULIB_REALPATH''@|$(GNULIB_REALPATH)|g' \ -e 's|@''GNULIB_RPMATCH''@|$(GNULIB_RPMATCH)|g' \ -e 's|@''GNULIB_SETENV''@|$(GNULIB_SETENV)|g' \ -e 's|@''GNULIB_STRTOD''@|$(GNULIB_STRTOD)|g' \ -e 's|@''GNULIB_STRTOLL''@|$(GNULIB_STRTOLL)|g' \ -e 's|@''GNULIB_STRTOULL''@|$(GNULIB_STRTOULL)|g' \ -e 's|@''GNULIB_UNLOCKPT''@|$(GNULIB_UNLOCKPT)|g' \ -e 's|@''GNULIB_UNSETENV''@|$(GNULIB_UNSETENV)|g' \ -e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \ -e 's|@''HAVE_CALLOC_POSIX''@|$(HAVE_CALLOC_POSIX)|g' \ -e 's|@''HAVE_CANONICALIZE_FILE_NAME''@|$(HAVE_CANONICALIZE_FILE_NAME)|g' \ -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \ -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \ -e 's|@''HAVE_GRANTPT''@|$(HAVE_GRANTPT)|g' \ -e 's|@''HAVE_MALLOC_POSIX''@|$(HAVE_MALLOC_POSIX)|g' \ -e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \ -e 's|@''HAVE_MKOSTEMP''@|$(HAVE_MKOSTEMP)|g' \ -e 's|@''HAVE_MKOSTEMPS''@|$(HAVE_MKOSTEMPS)|g' \ -e 's|@''HAVE_MKSTEMP''@|$(HAVE_MKSTEMP)|g' \ -e 's|@''HAVE_MKSTEMPS''@|$(HAVE_MKSTEMPS)|g' \ -e 's|@''HAVE_PTSNAME''@|$(HAVE_PTSNAME)|g' \ -e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \ -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \ -e 's|@''HAVE_REALLOC_POSIX''@|$(HAVE_REALLOC_POSIX)|g' \ -e 's|@''HAVE_REALPATH''@|$(HAVE_REALPATH)|g' \ -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \ -e 's|@''HAVE_SETENV''@|$(HAVE_SETENV)|g' \ -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \ -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \ -e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \ -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|$(HAVE_STRUCT_RANDOM_DATA)|g' \ -e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \ -e 's|@''HAVE_UNLOCKPT''@|$(HAVE_UNLOCKPT)|g' \ -e 's|@''HAVE_UNSETENV''@|$(HAVE_UNSETENV)|g' \ -e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|$(REPLACE_CANONICALIZE_FILE_NAME)|g' \ -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \ -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \ -e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \ -e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \ -e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \ -e 's|@''REPLACE_UNSETENV''@|$(REPLACE_UNSETENV)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(srcdir)/stdlib.in.h; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += stdlib.h stdlib.h-t EXTRA_DIST += stdlib.in.h ## end gnulib module stdlib ## begin gnulib module strdup-posix EXTRA_DIST += strdup.c EXTRA_libgnulib_la_SOURCES += strdup.c ## end gnulib module strdup-posix ## begin gnulib module streq EXTRA_DIST += streq.h ## end gnulib module streq ## begin gnulib module strerror EXTRA_DIST += strerror.c EXTRA_libgnulib_la_SOURCES += strerror.c ## end gnulib module strerror ## begin gnulib module string BUILT_SOURCES += string.h # We need the following in order to create when the system # doesn't have one that works with the given compiler. string.h: string.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \ -e 's|@''GNULIB_MBSLEN''@|$(GNULIB_MBSLEN)|g' \ -e 's|@''GNULIB_MBSNLEN''@|$(GNULIB_MBSNLEN)|g' \ -e 's|@''GNULIB_MBSCHR''@|$(GNULIB_MBSCHR)|g' \ -e 's|@''GNULIB_MBSRCHR''@|$(GNULIB_MBSRCHR)|g' \ -e 's|@''GNULIB_MBSSTR''@|$(GNULIB_MBSSTR)|g' \ -e 's|@''GNULIB_MBSCASECMP''@|$(GNULIB_MBSCASECMP)|g' \ -e 's|@''GNULIB_MBSNCASECMP''@|$(GNULIB_MBSNCASECMP)|g' \ -e 's|@''GNULIB_MBSPCASECMP''@|$(GNULIB_MBSPCASECMP)|g' \ -e 's|@''GNULIB_MBSCASESTR''@|$(GNULIB_MBSCASESTR)|g' \ -e 's|@''GNULIB_MBSCSPN''@|$(GNULIB_MBSCSPN)|g' \ -e 's|@''GNULIB_MBSPBRK''@|$(GNULIB_MBSPBRK)|g' \ -e 's|@''GNULIB_MBSSPN''@|$(GNULIB_MBSSPN)|g' \ -e 's|@''GNULIB_MBSSEP''@|$(GNULIB_MBSSEP)|g' \ -e 's|@''GNULIB_MBSTOK_R''@|$(GNULIB_MBSTOK_R)|g' \ -e 's|@''GNULIB_MEMCHR''@|$(GNULIB_MEMCHR)|g' \ -e 's|@''GNULIB_MEMMEM''@|$(GNULIB_MEMMEM)|g' \ -e 's|@''GNULIB_MEMPCPY''@|$(GNULIB_MEMPCPY)|g' \ -e 's|@''GNULIB_MEMRCHR''@|$(GNULIB_MEMRCHR)|g' \ -e 's|@''GNULIB_RAWMEMCHR''@|$(GNULIB_RAWMEMCHR)|g' \ -e 's|@''GNULIB_STPCPY''@|$(GNULIB_STPCPY)|g' \ -e 's|@''GNULIB_STPNCPY''@|$(GNULIB_STPNCPY)|g' \ -e 's|@''GNULIB_STRCHRNUL''@|$(GNULIB_STRCHRNUL)|g' \ -e 's|@''GNULIB_STRDUP''@|$(GNULIB_STRDUP)|g' \ -e 's|@''GNULIB_STRNCAT''@|$(GNULIB_STRNCAT)|g' \ -e 's|@''GNULIB_STRNDUP''@|$(GNULIB_STRNDUP)|g' \ -e 's|@''GNULIB_STRNLEN''@|$(GNULIB_STRNLEN)|g' \ -e 's|@''GNULIB_STRPBRK''@|$(GNULIB_STRPBRK)|g' \ -e 's|@''GNULIB_STRSEP''@|$(GNULIB_STRSEP)|g' \ -e 's|@''GNULIB_STRSTR''@|$(GNULIB_STRSTR)|g' \ -e 's|@''GNULIB_STRCASESTR''@|$(GNULIB_STRCASESTR)|g' \ -e 's|@''GNULIB_STRTOK_R''@|$(GNULIB_STRTOK_R)|g' \ -e 's|@''GNULIB_STRERROR''@|$(GNULIB_STRERROR)|g' \ -e 's|@''GNULIB_STRSIGNAL''@|$(GNULIB_STRSIGNAL)|g' \ -e 's|@''GNULIB_STRVERSCMP''@|$(GNULIB_STRVERSCMP)|g' \ < $(srcdir)/string.in.h | \ sed -e 's|@''HAVE_MBSLEN''@|$(HAVE_MBSLEN)|g' \ -e 's|@''HAVE_MEMCHR''@|$(HAVE_MEMCHR)|g' \ -e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \ -e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \ -e 's|@''HAVE_DECL_MEMRCHR''@|$(HAVE_DECL_MEMRCHR)|g' \ -e 's|@''HAVE_RAWMEMCHR''@|$(HAVE_RAWMEMCHR)|g' \ -e 's|@''HAVE_STPCPY''@|$(HAVE_STPCPY)|g' \ -e 's|@''HAVE_STPNCPY''@|$(HAVE_STPNCPY)|g' \ -e 's|@''HAVE_STRCHRNUL''@|$(HAVE_STRCHRNUL)|g' \ -e 's|@''HAVE_DECL_STRDUP''@|$(HAVE_DECL_STRDUP)|g' \ -e 's|@''HAVE_DECL_STRNDUP''@|$(HAVE_DECL_STRNDUP)|g' \ -e 's|@''HAVE_DECL_STRNLEN''@|$(HAVE_DECL_STRNLEN)|g' \ -e 's|@''HAVE_STRPBRK''@|$(HAVE_STRPBRK)|g' \ -e 's|@''HAVE_STRSEP''@|$(HAVE_STRSEP)|g' \ -e 's|@''HAVE_STRCASESTR''@|$(HAVE_STRCASESTR)|g' \ -e 's|@''HAVE_DECL_STRTOK_R''@|$(HAVE_DECL_STRTOK_R)|g' \ -e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \ -e 's|@''HAVE_STRVERSCMP''@|$(HAVE_STRVERSCMP)|g' \ -e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \ -e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \ -e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \ -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \ -e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \ -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \ -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \ -e 's|@''REPLACE_STRNCAT''@|$(REPLACE_STRNCAT)|g' \ -e 's|@''REPLACE_STRNDUP''@|$(REPLACE_STRNDUP)|g' \ -e 's|@''REPLACE_STRNLEN''@|$(REPLACE_STRNLEN)|g' \ -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \ -e 's|@''REPLACE_STRTOK_R''@|$(REPLACE_STRTOK_R)|g' \ -e 's|@''UNDEFINE_STRTOK_R''@|$(UNDEFINE_STRTOK_R)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ < $(srcdir)/string.in.h; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += string.h string.h-t EXTRA_DIST += string.in.h ## end gnulib module string ## begin gnulib module strndup EXTRA_DIST += strndup.c EXTRA_libgnulib_la_SOURCES += strndup.c ## end gnulib module strndup ## begin gnulib module strnlen EXTRA_DIST += strnlen.c EXTRA_libgnulib_la_SOURCES += strnlen.c ## end gnulib module strnlen ## begin gnulib module sys_stat BUILT_SOURCES += sys/stat.h # We need the following in order to create when the system # has one that is incomplete. sys/stat.h: sys_stat.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_at)$(MKDIR_P) sys $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \ -e 's|@''GNULIB_FCHMODAT''@|$(GNULIB_FCHMODAT)|g' \ -e 's|@''GNULIB_FSTATAT''@|$(GNULIB_FSTATAT)|g' \ -e 's|@''GNULIB_FUTIMENS''@|$(GNULIB_FUTIMENS)|g' \ -e 's|@''GNULIB_LCHMOD''@|$(GNULIB_LCHMOD)|g' \ -e 's|@''GNULIB_LSTAT''@|$(GNULIB_LSTAT)|g' \ -e 's|@''GNULIB_MKDIRAT''@|$(GNULIB_MKDIRAT)|g' \ -e 's|@''GNULIB_MKFIFO''@|$(GNULIB_MKFIFO)|g' \ -e 's|@''GNULIB_MKFIFOAT''@|$(GNULIB_MKFIFOAT)|g' \ -e 's|@''GNULIB_MKNOD''@|$(GNULIB_MKNOD)|g' \ -e 's|@''GNULIB_MKNODAT''@|$(GNULIB_MKNODAT)|g' \ -e 's|@''GNULIB_STAT''@|$(GNULIB_STAT)|g' \ -e 's|@''GNULIB_UTIMENSAT''@|$(GNULIB_UTIMENSAT)|g' \ -e 's|@''HAVE_FCHMODAT''@|$(HAVE_FCHMODAT)|g' \ -e 's|@''HAVE_FSTATAT''@|$(HAVE_FSTATAT)|g' \ -e 's|@''HAVE_FUTIMENS''@|$(HAVE_FUTIMENS)|g' \ -e 's|@''HAVE_LCHMOD''@|$(HAVE_LCHMOD)|g' \ -e 's|@''HAVE_LSTAT''@|$(HAVE_LSTAT)|g' \ -e 's|@''HAVE_MKDIRAT''@|$(HAVE_MKDIRAT)|g' \ -e 's|@''HAVE_MKFIFO''@|$(HAVE_MKFIFO)|g' \ -e 's|@''HAVE_MKFIFOAT''@|$(HAVE_MKFIFOAT)|g' \ -e 's|@''HAVE_MKNOD''@|$(HAVE_MKNOD)|g' \ -e 's|@''HAVE_MKNODAT''@|$(HAVE_MKNODAT)|g' \ -e 's|@''HAVE_UTIMENSAT''@|$(HAVE_UTIMENSAT)|g' \ -e 's|@''REPLACE_FSTAT''@|$(REPLACE_FSTAT)|g' \ -e 's|@''REPLACE_FSTATAT''@|$(REPLACE_FSTATAT)|g' \ -e 's|@''REPLACE_FUTIMENS''@|$(REPLACE_FUTIMENS)|g' \ -e 's|@''REPLACE_LSTAT''@|$(REPLACE_LSTAT)|g' \ -e 's|@''REPLACE_MKDIR''@|$(REPLACE_MKDIR)|g' \ -e 's|@''REPLACE_MKFIFO''@|$(REPLACE_MKFIFO)|g' \ -e 's|@''REPLACE_MKNOD''@|$(REPLACE_MKNOD)|g' \ -e 's|@''REPLACE_STAT''@|$(REPLACE_STAT)|g' \ -e 's|@''REPLACE_UTIMENSAT''@|$(REPLACE_UTIMENSAT)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(srcdir)/sys_stat.in.h; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += sys/stat.h sys/stat.h-t MOSTLYCLEANDIRS += sys EXTRA_DIST += sys_stat.in.h ## end gnulib module sys_stat ## begin gnulib module sys_time BUILT_SOURCES += sys/time.h # We need the following in order to create when the system # doesn't have one that works with the given compiler. sys/time.h: sys_time.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_at)$(MKDIR_P) sys $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's/@''HAVE_SYS_TIME_H''@/$(HAVE_SYS_TIME_H)/g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''NEXT_SYS_TIME_H''@|$(NEXT_SYS_TIME_H)|g' \ -e 's/@''GNULIB_GETTIMEOFDAY''@/$(GNULIB_GETTIMEOFDAY)/g' \ -e 's/@''HAVE_GETTIMEOFDAY''@/$(HAVE_GETTIMEOFDAY)/g' \ -e 's/@''HAVE_STRUCT_TIMEVAL''@/$(HAVE_STRUCT_TIMEVAL)/g' \ -e 's/@''REPLACE_GETTIMEOFDAY''@/$(REPLACE_GETTIMEOFDAY)/g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(srcdir)/sys_time.in.h; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += sys/time.h sys/time.h-t EXTRA_DIST += sys_time.in.h ## end gnulib module sys_time ## begin gnulib module tempname EXTRA_DIST += tempname.c tempname.h EXTRA_libgnulib_la_SOURCES += tempname.c ## end gnulib module tempname ## begin gnulib module time BUILT_SOURCES += time.h # We need the following in order to create when the system # doesn't have one that works with the given compiler. time.h: time.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''NEXT_TIME_H''@|$(NEXT_TIME_H)|g' \ -e 's|@''GNULIB_MKTIME''@|$(GNULIB_MKTIME)|g' \ -e 's|@''GNULIB_NANOSLEEP''@|$(GNULIB_NANOSLEEP)|g' \ -e 's|@''GNULIB_STRPTIME''@|$(GNULIB_STRPTIME)|g' \ -e 's|@''GNULIB_TIMEGM''@|$(GNULIB_TIMEGM)|g' \ -e 's|@''GNULIB_TIME_R''@|$(GNULIB_TIME_R)|g' \ -e 's|@''HAVE_LOCALTIME_R''@|$(HAVE_LOCALTIME_R)|g' \ -e 's|@''HAVE_NANOSLEEP''@|$(HAVE_NANOSLEEP)|g' \ -e 's|@''HAVE_STRPTIME''@|$(HAVE_STRPTIME)|g' \ -e 's|@''HAVE_TIMEGM''@|$(HAVE_TIMEGM)|g' \ -e 's|@''REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \ -e 's|@''REPLACE_MKTIME''@|$(REPLACE_MKTIME)|g' \ -e 's|@''REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \ -e 's|@''REPLACE_TIMEGM''@|$(REPLACE_TIMEGM)|g' \ -e 's|@''SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(SYS_TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \ -e 's|@''TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(srcdir)/time.in.h; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += time.h time.h-t EXTRA_DIST += time.in.h ## end gnulib module time ## begin gnulib module unistd BUILT_SOURCES += unistd.h # We need the following in order to create an empty placeholder for # when the system doesn't have one. unistd.h: unistd.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \ -e 's|@''GNULIB_CHOWN''@|$(GNULIB_CHOWN)|g' \ -e 's|@''GNULIB_CLOSE''@|$(GNULIB_CLOSE)|g' \ -e 's|@''GNULIB_DUP2''@|$(GNULIB_DUP2)|g' \ -e 's|@''GNULIB_DUP3''@|$(GNULIB_DUP3)|g' \ -e 's|@''GNULIB_ENVIRON''@|$(GNULIB_ENVIRON)|g' \ -e 's|@''GNULIB_EUIDACCESS''@|$(GNULIB_EUIDACCESS)|g' \ -e 's|@''GNULIB_FACCESSAT''@|$(GNULIB_FACCESSAT)|g' \ -e 's|@''GNULIB_FCHDIR''@|$(GNULIB_FCHDIR)|g' \ -e 's|@''GNULIB_FCHOWNAT''@|$(GNULIB_FCHOWNAT)|g' \ -e 's|@''GNULIB_FSYNC''@|$(GNULIB_FSYNC)|g' \ -e 's|@''GNULIB_FTRUNCATE''@|$(GNULIB_FTRUNCATE)|g' \ -e 's|@''GNULIB_GETCWD''@|$(GNULIB_GETCWD)|g' \ -e 's|@''GNULIB_GETDOMAINNAME''@|$(GNULIB_GETDOMAINNAME)|g' \ -e 's|@''GNULIB_GETDTABLESIZE''@|$(GNULIB_GETDTABLESIZE)|g' \ -e 's|@''GNULIB_GETGROUPS''@|$(GNULIB_GETGROUPS)|g' \ -e 's|@''GNULIB_GETHOSTNAME''@|$(GNULIB_GETHOSTNAME)|g' \ -e 's|@''GNULIB_GETLOGIN''@|$(GNULIB_GETLOGIN)|g' \ -e 's|@''GNULIB_GETLOGIN_R''@|$(GNULIB_GETLOGIN_R)|g' \ -e 's|@''GNULIB_GETPAGESIZE''@|$(GNULIB_GETPAGESIZE)|g' \ -e 's|@''GNULIB_GETUSERSHELL''@|$(GNULIB_GETUSERSHELL)|g' \ -e 's|@''GNULIB_LCHOWN''@|$(GNULIB_LCHOWN)|g' \ -e 's|@''GNULIB_LINK''@|$(GNULIB_LINK)|g' \ -e 's|@''GNULIB_LINKAT''@|$(GNULIB_LINKAT)|g' \ -e 's|@''GNULIB_LSEEK''@|$(GNULIB_LSEEK)|g' \ -e 's|@''GNULIB_PIPE2''@|$(GNULIB_PIPE2)|g' \ -e 's|@''GNULIB_PREAD''@|$(GNULIB_PREAD)|g' \ -e 's|@''GNULIB_PWRITE''@|$(GNULIB_PWRITE)|g' \ -e 's|@''GNULIB_READLINK''@|$(GNULIB_READLINK)|g' \ -e 's|@''GNULIB_READLINKAT''@|$(GNULIB_READLINKAT)|g' \ -e 's|@''GNULIB_RMDIR''@|$(GNULIB_RMDIR)|g' \ -e 's|@''GNULIB_SLEEP''@|$(GNULIB_SLEEP)|g' \ -e 's|@''GNULIB_SYMLINK''@|$(GNULIB_SYMLINK)|g' \ -e 's|@''GNULIB_SYMLINKAT''@|$(GNULIB_SYMLINKAT)|g' \ -e 's|@''GNULIB_TTYNAME_R''@|$(GNULIB_TTYNAME_R)|g' \ -e 's|@''GNULIB_UNISTD_H_GETOPT''@|$(GNULIB_UNISTD_H_GETOPT)|g' \ -e 's|@''GNULIB_UNISTD_H_SIGPIPE''@|$(GNULIB_UNISTD_H_SIGPIPE)|g' \ -e 's|@''GNULIB_UNLINK''@|$(GNULIB_UNLINK)|g' \ -e 's|@''GNULIB_UNLINKAT''@|$(GNULIB_UNLINKAT)|g' \ -e 's|@''GNULIB_USLEEP''@|$(GNULIB_USLEEP)|g' \ -e 's|@''GNULIB_WRITE''@|$(GNULIB_WRITE)|g' \ < $(srcdir)/unistd.in.h | \ sed -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \ -e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \ -e 's|@''HAVE_DUP3''@|$(HAVE_DUP3)|g' \ -e 's|@''HAVE_EUIDACCESS''@|$(HAVE_EUIDACCESS)|g' \ -e 's|@''HAVE_FACCESSAT''@|$(HAVE_FACCESSAT)|g' \ -e 's|@''HAVE_FCHDIR''@|$(HAVE_FCHDIR)|g' \ -e 's|@''HAVE_FCHOWNAT''@|$(HAVE_FCHOWNAT)|g' \ -e 's|@''HAVE_FSYNC''@|$(HAVE_FSYNC)|g' \ -e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \ -e 's|@''HAVE_GETDOMAINNAME''@|$(HAVE_GETDOMAINNAME)|g' \ -e 's|@''HAVE_GETDTABLESIZE''@|$(HAVE_GETDTABLESIZE)|g' \ -e 's|@''HAVE_GETGROUPS''@|$(HAVE_GETGROUPS)|g' \ -e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \ -e 's|@''HAVE_GETLOGIN''@|$(HAVE_GETLOGIN)|g' \ -e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \ -e 's|@''HAVE_LCHOWN''@|$(HAVE_LCHOWN)|g' \ -e 's|@''HAVE_LINK''@|$(HAVE_LINK)|g' \ -e 's|@''HAVE_LINKAT''@|$(HAVE_LINKAT)|g' \ -e 's|@''HAVE_PIPE2''@|$(HAVE_PIPE2)|g' \ -e 's|@''HAVE_PREAD''@|$(HAVE_PREAD)|g' \ -e 's|@''HAVE_PWRITE''@|$(HAVE_PWRITE)|g' \ -e 's|@''HAVE_READLINK''@|$(HAVE_READLINK)|g' \ -e 's|@''HAVE_READLINKAT''@|$(HAVE_READLINKAT)|g' \ -e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \ -e 's|@''HAVE_SYMLINK''@|$(HAVE_SYMLINK)|g' \ -e 's|@''HAVE_SYMLINKAT''@|$(HAVE_SYMLINKAT)|g' \ -e 's|@''HAVE_TTYNAME_R''@|$(HAVE_TTYNAME_R)|g' \ -e 's|@''HAVE_UNLINKAT''@|$(HAVE_UNLINKAT)|g' \ -e 's|@''HAVE_USLEEP''@|$(HAVE_USLEEP)|g' \ -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \ -e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \ -e 's|@''HAVE_DECL_GETPAGESIZE''@|$(HAVE_DECL_GETPAGESIZE)|g' \ -e 's|@''HAVE_DECL_GETUSERSHELL''@|$(HAVE_DECL_GETUSERSHELL)|g' \ -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \ -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \ -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \ -e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \ -e 's|@''REPLACE_DUP''@|$(REPLACE_DUP)|g' \ -e 's|@''REPLACE_DUP2''@|$(REPLACE_DUP2)|g' \ -e 's|@''REPLACE_FCHOWNAT''@|$(REPLACE_FCHOWNAT)|g' \ -e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \ -e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \ -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \ -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \ -e 's|@''REPLACE_LINK''@|$(REPLACE_LINK)|g' \ -e 's|@''REPLACE_LINKAT''@|$(REPLACE_LINKAT)|g' \ -e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \ -e 's|@''REPLACE_PREAD''@|$(REPLACE_PREAD)|g' \ -e 's|@''REPLACE_PWRITE''@|$(REPLACE_PWRITE)|g' \ -e 's|@''REPLACE_READLINK''@|$(REPLACE_READLINK)|g' \ -e 's|@''REPLACE_RMDIR''@|$(REPLACE_RMDIR)|g' \ -e 's|@''REPLACE_SLEEP''@|$(REPLACE_SLEEP)|g' \ -e 's|@''REPLACE_SYMLINK''@|$(REPLACE_SYMLINK)|g' \ -e 's|@''REPLACE_TTYNAME_R''@|$(REPLACE_TTYNAME_R)|g' \ -e 's|@''REPLACE_UNLINK''@|$(REPLACE_UNLINK)|g' \ -e 's|@''REPLACE_UNLINKAT''@|$(REPLACE_UNLINKAT)|g' \ -e 's|@''REPLACE_USLEEP''@|$(REPLACE_USLEEP)|g' \ -e 's|@''REPLACE_WRITE''@|$(REPLACE_WRITE)|g' \ -e 's|@''UNISTD_H_HAVE_WINSOCK2_H''@|$(UNISTD_H_HAVE_WINSOCK2_H)|g' \ -e 's|@''UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|$(UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += unistd.h unistd.h-t EXTRA_DIST += unistd.in.h ## end gnulib module unistd ## begin gnulib module unlink EXTRA_DIST += unlink.c EXTRA_libgnulib_la_SOURCES += unlink.c ## end gnulib module unlink ## begin gnulib module update-copyright EXTRA_DIST += $(top_srcdir)/build-aux/update-copyright ## end gnulib module update-copyright ## begin gnulib module useless-if-before-free EXTRA_DIST += $(top_srcdir)/build-aux/useless-if-before-free ## end gnulib module useless-if-before-free ## begin gnulib module usleep EXTRA_DIST += usleep.c EXTRA_libgnulib_la_SOURCES += usleep.c ## end gnulib module usleep ## begin gnulib module vc-list-files EXTRA_DIST += $(top_srcdir)/build-aux/vc-list-files ## end gnulib module vc-list-files ## begin gnulib module verify libgnulib_la_SOURCES += verify.h ## end gnulib module verify ## begin gnulib module version-etc libgnulib_la_SOURCES += version-etc.h version-etc.c ## end gnulib module version-etc ## begin gnulib module version-etc-fsf libgnulib_la_SOURCES += version-etc-fsf.c ## end gnulib module version-etc-fsf ## begin gnulib module warn-on-use BUILT_SOURCES += warn-on-use.h # The warn-on-use.h that gets inserted into generated .h files is the same as # build-aux/warn-on-use.h, except that it has the copyright header cut off. warn-on-use.h: $(top_srcdir)/build-aux/warn-on-use.h $(AM_V_GEN)rm -f $@-t $@ && \ sed -n -e '/^.ifndef/,$$p' \ < $(top_srcdir)/build-aux/warn-on-use.h \ > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += warn-on-use.h warn-on-use.h-t WARN_ON_USE_H=warn-on-use.h EXTRA_DIST += $(top_srcdir)/build-aux/warn-on-use.h ## end gnulib module warn-on-use ## begin gnulib module wchar BUILT_SOURCES += wchar.h # We need the following in order to create when the system # version does not work standalone. wchar.h: wchar.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \ -e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \ -e 's|@''GNULIB_BTOWC''@|$(GNULIB_BTOWC)|g' \ -e 's|@''GNULIB_WCTOB''@|$(GNULIB_WCTOB)|g' \ -e 's|@''GNULIB_MBSINIT''@|$(GNULIB_MBSINIT)|g' \ -e 's|@''GNULIB_MBRTOWC''@|$(GNULIB_MBRTOWC)|g' \ -e 's|@''GNULIB_MBRLEN''@|$(GNULIB_MBRLEN)|g' \ -e 's|@''GNULIB_MBSRTOWCS''@|$(GNULIB_MBSRTOWCS)|g' \ -e 's|@''GNULIB_MBSNRTOWCS''@|$(GNULIB_MBSNRTOWCS)|g' \ -e 's|@''GNULIB_WCRTOMB''@|$(GNULIB_WCRTOMB)|g' \ -e 's|@''GNULIB_WCSRTOMBS''@|$(GNULIB_WCSRTOMBS)|g' \ -e 's|@''GNULIB_WCSNRTOMBS''@|$(GNULIB_WCSNRTOMBS)|g' \ -e 's|@''GNULIB_WCWIDTH''@|$(GNULIB_WCWIDTH)|g' \ -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \ -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \ -e 's|@''HAVE_MBSINIT''@|$(HAVE_MBSINIT)|g' \ -e 's|@''HAVE_MBRTOWC''@|$(HAVE_MBRTOWC)|g' \ -e 's|@''HAVE_MBRLEN''@|$(HAVE_MBRLEN)|g' \ -e 's|@''HAVE_MBSRTOWCS''@|$(HAVE_MBSRTOWCS)|g' \ -e 's|@''HAVE_MBSNRTOWCS''@|$(HAVE_MBSNRTOWCS)|g' \ -e 's|@''HAVE_WCRTOMB''@|$(HAVE_WCRTOMB)|g' \ -e 's|@''HAVE_WCSRTOMBS''@|$(HAVE_WCSRTOMBS)|g' \ -e 's|@''HAVE_WCSNRTOMBS''@|$(HAVE_WCSNRTOMBS)|g' \ -e 's|@''HAVE_DECL_WCTOB''@|$(HAVE_DECL_WCTOB)|g' \ -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \ -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \ -e 's|@''REPLACE_BTOWC''@|$(REPLACE_BTOWC)|g' \ -e 's|@''REPLACE_WCTOB''@|$(REPLACE_WCTOB)|g' \ -e 's|@''REPLACE_MBSINIT''@|$(REPLACE_MBSINIT)|g' \ -e 's|@''REPLACE_MBRTOWC''@|$(REPLACE_MBRTOWC)|g' \ -e 's|@''REPLACE_MBRLEN''@|$(REPLACE_MBRLEN)|g' \ -e 's|@''REPLACE_MBSRTOWCS''@|$(REPLACE_MBSRTOWCS)|g' \ -e 's|@''REPLACE_MBSNRTOWCS''@|$(REPLACE_MBSNRTOWCS)|g' \ -e 's|@''REPLACE_WCRTOMB''@|$(REPLACE_WCRTOMB)|g' \ -e 's|@''REPLACE_WCSRTOMBS''@|$(REPLACE_WCSRTOMBS)|g' \ -e 's|@''REPLACE_WCSNRTOMBS''@|$(REPLACE_WCSNRTOMBS)|g' \ -e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(srcdir)/wchar.in.h; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += wchar.h wchar.h-t EXTRA_DIST += wchar.in.h ## end gnulib module wchar ## begin gnulib module wcrtomb EXTRA_DIST += wcrtomb.c EXTRA_libgnulib_la_SOURCES += wcrtomb.c ## end gnulib module wcrtomb ## begin gnulib module wctype BUILT_SOURCES += wctype.h # We need the following in order to create when the system # doesn't have one that works with the given compiler. wctype.h: wctype.in.h $(CXXDEFS_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's/@''HAVE_WCTYPE_H''@/$(HAVE_WCTYPE_H)/g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''NEXT_WCTYPE_H''@|$(NEXT_WCTYPE_H)|g' \ -e 's/@''HAVE_ISWBLANK''@/$(HAVE_ISWBLANK)/g' \ -e 's/@''HAVE_ISWCNTRL''@/$(HAVE_ISWCNTRL)/g' \ -e 's/@''HAVE_WINT_T''@/$(HAVE_WINT_T)/g' \ -e 's/@''REPLACE_ISWCNTRL''@/$(REPLACE_ISWCNTRL)/g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(srcdir)/wctype.in.h; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += wctype.h wctype.h-t EXTRA_DIST += wctype.in.h ## end gnulib module wctype ## begin gnulib module xalloc EXTRA_DIST += xalloc.h xmalloc.c EXTRA_libgnulib_la_SOURCES += xmalloc.c ## end gnulib module xalloc ## begin gnulib module xalloc-die libgnulib_la_SOURCES += xalloc-die.c ## end gnulib module xalloc-die ## begin gnulib module xstrndup libgnulib_la_SOURCES += xstrndup.h xstrndup.c ## end gnulib module xstrndup ## begin gnulib module xstrtol EXTRA_DIST += xstrtol-error.c xstrtol.c xstrtol.h xstrtoul.c EXTRA_libgnulib_la_SOURCES += xstrtol-error.c xstrtol.c xstrtoul.c ## end gnulib module xstrtol mostlyclean-local: mostlyclean-generic @for dir in '' $(MOSTLYCLEANDIRS); do \ if test -n "$$dir" && test -d $$dir; then \ echo "rmdir $$dir"; rmdir $$dir; \ fi; \ done; \ : parted-2.3/lib/unistd.in.h0000644000000000000000000013012511377165373012375 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Substitute for and wrapper around . Copyright (C) 2003-2010 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 3, 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. */ #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif /* Special invocation convention: - On mingw, several headers, including , include , but we need to ensure that both the system and are completely included before we replace gethostname. */ #if @GNULIB_GETHOSTNAME@ && @UNISTD_H_HAVE_WINSOCK2_H@ \ && !defined _GL_WINSOCK2_H_WITNESS && defined _WINSOCK2_H /* is being indirectly included for the first time from ; avoid declaring any overrides. */ # if @HAVE_UNISTD_H@ # @INCLUDE_NEXT@ @NEXT_UNISTD_H@ # else # error unexpected; report this to bug-gnulib@gnu.org # endif # define _GL_WINSOCK2_H_WITNESS /* Normal invocation. */ #elif !defined _GL_UNISTD_H /* The include_next requires a split double-inclusion guard. */ #if @HAVE_UNISTD_H@ # @INCLUDE_NEXT@ @NEXT_UNISTD_H@ #endif /* Get all possible declarations of gethostname(). */ #if @GNULIB_GETHOSTNAME@ && @UNISTD_H_HAVE_WINSOCK2_H@ \ && !defined _GL_INCLUDING_WINSOCK2_H # define _GL_INCLUDING_WINSOCK2_H # include # undef _GL_INCLUDING_WINSOCK2_H #endif #if !defined _GL_UNISTD_H && !defined _GL_INCLUDING_WINSOCK2_H #define _GL_UNISTD_H /* NetBSD 5.0 mis-defines NULL. Also get size_t. */ #include /* mingw doesn't define the SEEK_* or *_FILENO macros in . */ /* Cygwin 1.7.1 declares symlinkat in , not in . */ /* But avoid namespace pollution on glibc systems. */ #if (!(defined SEEK_CUR && defined SEEK_END && defined SEEK_SET) \ || (@GNULIB_SYMLINKAT@ || defined GNULIB_POSIXCHECK)) \ && ! defined __GLIBC__ # include #endif /* Cygwin 1.7.1 declares unlinkat in , not in . */ /* But avoid namespace pollution on glibc systems. */ #if (@GNULIB_UNLINKAT@ || defined GNULIB_POSIXCHECK) && ! defined __GLIBC__ # include #endif /* mingw fails to declare _exit in . */ /* mingw, BeOS, Haiku declare environ in , not in . */ /* Solaris declares getcwd not only in but also in . */ /* But avoid namespace pollution on glibc systems. */ #ifndef __GLIBC__ # include #endif /* mingw declares getcwd in , not in . */ #if ((@GNULIB_GETCWD@ || defined GNULIB_POSIXCHECK) \ && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) # include #endif #if (@GNULIB_WRITE@ || @GNULIB_READLINK@ || @GNULIB_READLINKAT@ \ || @GNULIB_PREAD@ || @GNULIB_PWRITE@ || defined GNULIB_POSIXCHECK) /* Get ssize_t. */ # include #endif /* Get getopt(), optarg, optind, opterr, optopt. But avoid namespace pollution on glibc systems. */ #if @GNULIB_UNISTD_H_GETOPT@ && !defined __GLIBC__ && !defined _GL_SYSTEM_GETOPT # include #endif /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_ARG_NONNULL is copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ #if @GNULIB_GETHOSTNAME@ /* Get all possible declarations of gethostname(). */ # if @UNISTD_H_HAVE_WINSOCK2_H@ # if !defined _GL_SYS_SOCKET_H # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef socket # define socket socket_used_without_including_sys_socket_h # undef connect # define connect connect_used_without_including_sys_socket_h # undef accept # define accept accept_used_without_including_sys_socket_h # undef bind # define bind bind_used_without_including_sys_socket_h # undef getpeername # define getpeername getpeername_used_without_including_sys_socket_h # undef getsockname # define getsockname getsockname_used_without_including_sys_socket_h # undef getsockopt # define getsockopt getsockopt_used_without_including_sys_socket_h # undef listen # define listen listen_used_without_including_sys_socket_h # undef recv # define recv recv_used_without_including_sys_socket_h # undef send # define send send_used_without_including_sys_socket_h # undef recvfrom # define recvfrom recvfrom_used_without_including_sys_socket_h # undef sendto # define sendto sendto_used_without_including_sys_socket_h # undef setsockopt # define setsockopt setsockopt_used_without_including_sys_socket_h # undef shutdown # define shutdown shutdown_used_without_including_sys_socket_h # else _GL_WARN_ON_USE (socket, "socket() used without including "); _GL_WARN_ON_USE (connect, "connect() used without including "); _GL_WARN_ON_USE (accept, "accept() used without including "); _GL_WARN_ON_USE (bind, "bind() used without including "); _GL_WARN_ON_USE (getpeername, "getpeername() used without including "); _GL_WARN_ON_USE (getsockname, "getsockname() used without including "); _GL_WARN_ON_USE (getsockopt, "getsockopt() used without including "); _GL_WARN_ON_USE (listen, "listen() used without including "); _GL_WARN_ON_USE (recv, "recv() used without including "); _GL_WARN_ON_USE (send, "send() used without including "); _GL_WARN_ON_USE (recvfrom, "recvfrom() used without including "); _GL_WARN_ON_USE (sendto, "sendto() used without including "); _GL_WARN_ON_USE (setsockopt, "setsockopt() used without including "); _GL_WARN_ON_USE (shutdown, "shutdown() used without including "); # endif # endif # if !defined _GL_SYS_SELECT_H # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef select # define select select_used_without_including_sys_select_h # else _GL_WARN_ON_USE (select, "select() used without including "); # endif # endif # endif #endif /* OS/2 EMX lacks these macros. */ #ifndef STDIN_FILENO # define STDIN_FILENO 0 #endif #ifndef STDOUT_FILENO # define STDOUT_FILENO 1 #endif #ifndef STDERR_FILENO # define STDERR_FILENO 2 #endif /* Ensure *_OK macros exist. */ #ifndef F_OK # define F_OK 0 # define X_OK 1 # define W_OK 2 # define R_OK 4 #endif /* Declare overridden functions. */ #if defined GNULIB_POSIXCHECK /* The access() function is a security risk. */ _GL_WARN_ON_USE (access, "the access function is a security risk - " "use the gnulib module faccessat instead"); #endif #if @GNULIB_CHOWN@ /* Change the owner of FILE to UID (if UID is not -1) and the group of FILE to GID (if GID is not -1). Follow symbolic links. Return 0 if successful, otherwise -1 and errno set. See the POSIX:2001 specification . */ # if @REPLACE_CHOWN@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef chown # define chown rpl_chown # endif _GL_FUNCDECL_RPL (chown, int, (const char *file, uid_t uid, gid_t gid) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (chown, int, (const char *file, uid_t uid, gid_t gid)); # else # if !@HAVE_CHOWN@ _GL_FUNCDECL_SYS (chown, int, (const char *file, uid_t uid, gid_t gid) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (chown, int, (const char *file, uid_t uid, gid_t gid)); # endif _GL_CXXALIASWARN (chown); #elif defined GNULIB_POSIXCHECK # undef chown # if HAVE_RAW_DECL_CHOWN _GL_WARN_ON_USE (chown, "chown fails to follow symlinks on some systems and " "doesn't treat a uid or gid of -1 on some systems - " "use gnulib module chown for portability"); # endif #endif #if @GNULIB_CLOSE@ # if @REPLACE_CLOSE@ /* Automatically included by modules that need a replacement for close. */ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef close # define close rpl_close # endif _GL_FUNCDECL_RPL (close, int, (int fd)); _GL_CXXALIAS_RPL (close, int, (int fd)); # else _GL_CXXALIAS_SYS (close, int, (int fd)); # endif _GL_CXXALIASWARN (close); #elif @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ # undef close # define close close_used_without_requesting_gnulib_module_close #elif defined GNULIB_POSIXCHECK # undef close /* Assume close is always declared. */ _GL_WARN_ON_USE (close, "close does not portably work on sockets - " "use gnulib module close for portability"); #endif #if @REPLACE_DUP@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define dup rpl_dup # endif _GL_FUNCDECL_RPL (dup, int, (int oldfd)); _GL_CXXALIAS_RPL (dup, int, (int oldfd)); #else _GL_CXXALIAS_SYS (dup, int, (int oldfd)); #endif _GL_CXXALIASWARN (dup); #if @GNULIB_DUP2@ /* Copy the file descriptor OLDFD into file descriptor NEWFD. Do nothing if NEWFD = OLDFD, otherwise close NEWFD first if it is open. Return newfd if successful, otherwise -1 and errno set. See the POSIX:2001 specification . */ # if @REPLACE_DUP2@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define dup2 rpl_dup2 # endif _GL_FUNCDECL_RPL (dup2, int, (int oldfd, int newfd)); _GL_CXXALIAS_RPL (dup2, int, (int oldfd, int newfd)); # else # if !@HAVE_DUP2@ _GL_FUNCDECL_SYS (dup2, int, (int oldfd, int newfd)); # endif _GL_CXXALIAS_SYS (dup2, int, (int oldfd, int newfd)); # endif _GL_CXXALIASWARN (dup2); #elif defined GNULIB_POSIXCHECK # undef dup2 # if HAVE_RAW_DECL_DUP2 _GL_WARN_ON_USE (dup2, "dup2 is unportable - " "use gnulib module dup2 for portability"); # endif #endif #if @GNULIB_DUP3@ /* Copy the file descriptor OLDFD into file descriptor NEWFD, with the specified flags. The flags are a bitmask, possibly including O_CLOEXEC (defined in ) and O_TEXT, O_BINARY (defined in "binary-io.h"). Close NEWFD first if it is open. Return newfd if successful, otherwise -1 and errno set. See the Linux man page at . */ # if @HAVE_DUP3@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define dup3 rpl_dup3 # endif _GL_FUNCDECL_RPL (dup3, int, (int oldfd, int newfd, int flags)); _GL_CXXALIAS_RPL (dup3, int, (int oldfd, int newfd, int flags)); # else _GL_FUNCDECL_SYS (dup3, int, (int oldfd, int newfd, int flags)); _GL_CXXALIAS_SYS (dup3, int, (int oldfd, int newfd, int flags)); # endif _GL_CXXALIASWARN (dup3); #elif defined GNULIB_POSIXCHECK # undef dup3 # if HAVE_RAW_DECL_DUP3 _GL_WARN_ON_USE (dup3, "dup3 is unportable - " "use gnulib module dup3 for portability"); # endif #endif #if @GNULIB_ENVIRON@ # if !@HAVE_DECL_ENVIRON@ /* Set of environment variables and values. An array of strings of the form "VARIABLE=VALUE", terminated with a NULL. */ # if defined __APPLE__ && defined __MACH__ # include # define environ (*_NSGetEnviron ()) # else # ifdef __cplusplus extern "C" { # endif extern char **environ; # ifdef __cplusplus } # endif # endif # endif #elif defined GNULIB_POSIXCHECK # if HAVE_RAW_DECL_ENVIRON static inline char *** rpl_environ (void) { return &environ; } _GL_WARN_ON_USE (rpl_environ, "environ is unportable - " "use gnulib module environ for portability"); # undef environ # define environ (*rpl_environ ()) # endif #endif #if @GNULIB_EUIDACCESS@ /* Like access(), except that it uses the effective user id and group id of the current process. */ # if !@HAVE_EUIDACCESS@ _GL_FUNCDECL_SYS (euidaccess, int, (const char *filename, int mode) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (euidaccess, int, (const char *filename, int mode)); _GL_CXXALIASWARN (euidaccess); # if defined GNULIB_POSIXCHECK /* Like access(), this function is a security risk. */ _GL_WARN_ON_USE (euidaccess, "the euidaccess function is a security risk - " "use the gnulib module faccessat instead"); # endif #elif defined GNULIB_POSIXCHECK # undef euidaccess # if HAVE_RAW_DECL_EUIDACCESS _GL_WARN_ON_USE (euidaccess, "euidaccess is unportable - " "use gnulib module euidaccess for portability"); # endif #endif #if @GNULIB_FACCESSAT@ # if !@HAVE_FACCESSAT@ _GL_FUNCDECL_SYS (faccessat, int, (int fd, char const *file, int mode, int flag) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (faccessat, int, (int fd, char const *file, int mode, int flag)); _GL_CXXALIASWARN (faccessat); #elif defined GNULIB_POSIXCHECK # undef faccessat # if HAVE_RAW_DECL_FACCESSAT _GL_WARN_ON_USE (faccessat, "faccessat is not portable - " "use gnulib module faccessat for portability"); # endif #endif #if @GNULIB_FCHDIR@ /* Change the process' current working directory to the directory on which the given file descriptor is open. Return 0 if successful, otherwise -1 and errno set. See the POSIX:2001 specification . */ # if ! @HAVE_FCHDIR@ _GL_FUNCDECL_SYS (fchdir, int, (int /*fd*/)); /* Gnulib internal hooks needed to maintain the fchdir metadata. */ _GL_EXTERN_C int _gl_register_fd (int fd, const char *filename) _GL_ARG_NONNULL ((2)); _GL_EXTERN_C void _gl_unregister_fd (int fd); _GL_EXTERN_C int _gl_register_dup (int oldfd, int newfd); _GL_EXTERN_C const char *_gl_directory_name (int fd); # endif _GL_CXXALIAS_SYS (fchdir, int, (int /*fd*/)); _GL_CXXALIASWARN (fchdir); #elif defined GNULIB_POSIXCHECK # undef fchdir # if HAVE_RAW_DECL_FCHDIR _GL_WARN_ON_USE (fchdir, "fchdir is unportable - " "use gnulib module fchdir for portability"); # endif #endif #if @GNULIB_FCHOWNAT@ # if @REPLACE_FCHOWNAT@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef fchownat # define fchownat rpl_fchownat # endif _GL_FUNCDECL_RPL (fchownat, int, (int fd, char const *file, uid_t owner, gid_t group, int flag) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (fchownat, int, (int fd, char const *file, uid_t owner, gid_t group, int flag)); # else # if !@HAVE_FCHOWNAT@ _GL_FUNCDECL_SYS (fchownat, int, (int fd, char const *file, uid_t owner, gid_t group, int flag) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (fchownat, int, (int fd, char const *file, uid_t owner, gid_t group, int flag)); # endif _GL_CXXALIASWARN (fchownat); #elif defined GNULIB_POSIXCHECK # undef fchownat # if HAVE_RAW_DECL_FCHOWNAT _GL_WARN_ON_USE (fchownat, "fchownat is not portable - " "use gnulib module openat for portability"); # endif #endif #if @GNULIB_FSYNC@ /* Synchronize changes to a file. Return 0 if successful, otherwise -1 and errno set. See POSIX:2001 specification . */ # if !@HAVE_FSYNC@ _GL_FUNCDECL_SYS (fsync, int, (int fd)); # endif _GL_CXXALIAS_SYS (fsync, int, (int fd)); _GL_CXXALIASWARN (fsync); #elif defined GNULIB_POSIXCHECK # undef fsync # if HAVE_RAW_DECL_FSYNC _GL_WARN_ON_USE (fsync, "fsync is unportable - " "use gnulib module fsync for portability"); # endif #endif #if @GNULIB_FTRUNCATE@ /* Change the size of the file to which FD is opened to become equal to LENGTH. Return 0 if successful, otherwise -1 and errno set. See the POSIX:2001 specification . */ # if !@HAVE_FTRUNCATE@ _GL_FUNCDECL_SYS (ftruncate, int, (int fd, off_t length)); # endif _GL_CXXALIAS_SYS (ftruncate, int, (int fd, off_t length)); _GL_CXXALIASWARN (ftruncate); #elif defined GNULIB_POSIXCHECK # undef ftruncate # if HAVE_RAW_DECL_FTRUNCATE _GL_WARN_ON_USE (ftruncate, "ftruncate is unportable - " "use gnulib module ftruncate for portability"); # endif #endif #if @GNULIB_GETCWD@ /* Get the name of the current working directory, and put it in SIZE bytes of BUF. Return BUF if successful, or NULL if the directory couldn't be determined or SIZE was too small. See the POSIX:2001 specification . Additionally, the gnulib module 'getcwd' guarantees the following GNU extension: If BUF is NULL, an array is allocated with 'malloc'; the array is SIZE bytes long, unless SIZE == 0, in which case it is as big as necessary. */ # if @REPLACE_GETCWD@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define getcwd rpl_getcwd # endif _GL_FUNCDECL_RPL (getcwd, char *, (char *buf, size_t size)); _GL_CXXALIAS_RPL (getcwd, char *, (char *buf, size_t size)); # else /* Need to cast, because on mingw, the second parameter is int size. */ _GL_CXXALIAS_SYS_CAST (getcwd, char *, (char *buf, size_t size)); # endif _GL_CXXALIASWARN (getcwd); #elif defined GNULIB_POSIXCHECK # undef getcwd # if HAVE_RAW_DECL_GETCWD _GL_WARN_ON_USE (getcwd, "getcwd is unportable - " "use gnulib module getcwd for portability"); # endif #endif #if @GNULIB_GETDOMAINNAME@ /* Return the NIS domain name of the machine. WARNING! The NIS domain name is unrelated to the fully qualified host name of the machine. It is also unrelated to email addresses. WARNING! The NIS domain name is usually the empty string or "(none)" when not using NIS. Put up to LEN bytes of the NIS domain name into NAME. Null terminate it if the name is shorter than LEN. If the NIS domain name is longer than LEN, set errno = EINVAL and return -1. Return 0 if successful, otherwise set errno and return -1. */ # if !@HAVE_GETDOMAINNAME@ _GL_FUNCDECL_SYS (getdomainname, int, (char *name, size_t len) _GL_ARG_NONNULL ((1))); # endif /* Need to cast, because on MacOS X 10.5 systems, the second parameter is int len. */ _GL_CXXALIAS_SYS_CAST (getdomainname, int, (char *name, size_t len)); _GL_CXXALIASWARN (getdomainname); #elif defined GNULIB_POSIXCHECK # undef getdomainname # if HAVE_RAW_DECL_GETDOMAINNAME _GL_WARN_ON_USE (getdomainname, "getdomainname is unportable - " "use gnulib module getdomainname for portability"); # endif #endif #if @GNULIB_GETDTABLESIZE@ /* Return the maximum number of file descriptors in the current process. In POSIX, this is same as sysconf (_SC_OPEN_MAX). */ # if !@HAVE_GETDTABLESIZE@ _GL_FUNCDECL_SYS (getdtablesize, int, (void)); # endif _GL_CXXALIAS_SYS (getdtablesize, int, (void)); _GL_CXXALIASWARN (getdtablesize); #elif defined GNULIB_POSIXCHECK # undef getdtablesize # if HAVE_RAW_DECL_GETDTABLESIZE _GL_WARN_ON_USE (getdtablesize, "getdtablesize is unportable - " "use gnulib module getdtablesize for portability"); # endif #endif #if @GNULIB_GETGROUPS@ /* Return the supplemental groups that the current process belongs to. It is unspecified whether the effective group id is in the list. If N is 0, return the group count; otherwise, N describes how many entries are available in GROUPS. Return -1 and set errno if N is not 0 and not large enough. Fails with ENOSYS on some systems. */ # if @REPLACE_GETGROUPS@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef getgroups # define getgroups rpl_getgroups # endif _GL_FUNCDECL_RPL (getgroups, int, (int n, gid_t *groups)); _GL_CXXALIAS_RPL (getgroups, int, (int n, gid_t *groups)); # else # if !@HAVE_GETGROUPS@ _GL_FUNCDECL_SYS (getgroups, int, (int n, gid_t *groups)); # endif _GL_CXXALIAS_SYS (getgroups, int, (int n, gid_t *groups)); # endif _GL_CXXALIASWARN (getgroups); #elif defined GNULIB_POSIXCHECK # undef getgroups # if HAVE_RAW_DECL_GETGROUPS _GL_WARN_ON_USE (getgroups, "getgroups is unportable - " "use gnulib module getgroups for portability"); # endif #endif #if @GNULIB_GETHOSTNAME@ /* Return the standard host name of the machine. WARNING! The host name may or may not be fully qualified. Put up to LEN bytes of the host name into NAME. Null terminate it if the name is shorter than LEN. If the host name is longer than LEN, set errno = EINVAL and return -1. Return 0 if successful, otherwise set errno and return -1. */ # if @UNISTD_H_HAVE_WINSOCK2_H@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef gethostname # define gethostname rpl_gethostname # endif _GL_FUNCDECL_RPL (gethostname, int, (char *name, size_t len) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (gethostname, int, (char *name, size_t len)); # else # if !@HAVE_GETHOSTNAME@ _GL_FUNCDECL_SYS (gethostname, int, (char *name, size_t len) _GL_ARG_NONNULL ((1))); # endif /* Need to cast, because on Solaris 10 systems, the second parameter is int len. */ _GL_CXXALIAS_SYS_CAST (gethostname, int, (char *name, size_t len)); # endif _GL_CXXALIASWARN (gethostname); #elif @UNISTD_H_HAVE_WINSOCK2_H@ # undef gethostname # define gethostname gethostname_used_without_requesting_gnulib_module_gethostname #elif defined GNULIB_POSIXCHECK # undef gethostname # if HAVE_RAW_DECL_GETHOSTNAME _GL_WARN_ON_USE (gethostname, "gethostname is unportable - " "use gnulib module gethostname for portability"); # endif #endif #if @GNULIB_GETLOGIN@ /* Returns the user's login name, or NULL if it cannot be found. Upon error, returns NULL with errno set. See . Most programs don't need to use this function, because the information is available through environment variables: ${LOGNAME-$USER} on Unix platforms, $USERNAME on native Windows platforms. */ # if !@HAVE_GETLOGIN@ _GL_FUNCDECL_SYS (getlogin, char *, (void)); # endif _GL_CXXALIAS_SYS (getlogin, char *, (void)); _GL_CXXALIASWARN (getlogin); #elif defined GNULIB_POSIXCHECK # undef getlogin # if HAVE_RAW_DECL_GETLOGIN _GL_WARN_ON_USE (getlogin, "getlogin is unportable - " "use gnulib module getlogin for portability"); # endif #endif #if @GNULIB_GETLOGIN_R@ /* Copies the user's login name to NAME. The array pointed to by NAME has room for SIZE bytes. Returns 0 if successful. Upon error, an error number is returned, or -1 in the case that the login name cannot be found but no specific error is provided (this case is hopefully rare but is left open by the POSIX spec). See . Most programs don't need to use this function, because the information is available through environment variables: ${LOGNAME-$USER} on Unix platforms, $USERNAME on native Windows platforms. */ # if !@HAVE_DECL_GETLOGIN_R@ _GL_FUNCDECL_SYS (getlogin_r, int, (char *name, size_t size) _GL_ARG_NONNULL ((1))); # endif /* Need to cast, because on Solaris 10 systems, the second argument is int size. */ _GL_CXXALIAS_SYS_CAST (getlogin_r, int, (char *name, size_t size)); _GL_CXXALIASWARN (getlogin_r); #elif defined GNULIB_POSIXCHECK # undef getlogin_r # if HAVE_RAW_DECL_GETLOGIN_R _GL_WARN_ON_USE (getlogin_r, "getlogin_r is unportable - " "use gnulib module getlogin_r for portability"); # endif #endif #if @GNULIB_GETPAGESIZE@ # if @REPLACE_GETPAGESIZE@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define getpagesize rpl_getpagesize # endif _GL_FUNCDECL_RPL (getpagesize, int, (void)); _GL_CXXALIAS_RPL (getpagesize, int, (void)); # else # if !@HAVE_GETPAGESIZE@ # if !defined getpagesize /* This is for POSIX systems. */ # if !defined _gl_getpagesize && defined _SC_PAGESIZE # if ! (defined __VMS && __VMS_VER < 70000000) # define _gl_getpagesize() sysconf (_SC_PAGESIZE) # endif # endif /* This is for older VMS. */ # if !defined _gl_getpagesize && defined __VMS # ifdef __ALPHA # define _gl_getpagesize() 8192 # else # define _gl_getpagesize() 512 # endif # endif /* This is for BeOS. */ # if !defined _gl_getpagesize && @HAVE_OS_H@ # include # if defined B_PAGE_SIZE # define _gl_getpagesize() B_PAGE_SIZE # endif # endif /* This is for AmigaOS4.0. */ # if !defined _gl_getpagesize && defined __amigaos4__ # define _gl_getpagesize() 2048 # endif /* This is for older Unix systems. */ # if !defined _gl_getpagesize && @HAVE_SYS_PARAM_H@ # include # ifdef EXEC_PAGESIZE # define _gl_getpagesize() EXEC_PAGESIZE # else # ifdef NBPG # ifndef CLSIZE # define CLSIZE 1 # endif # define _gl_getpagesize() (NBPG * CLSIZE) # else # ifdef NBPC # define _gl_getpagesize() NBPC # endif # endif # endif # endif # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define getpagesize() _gl_getpagesize () # else static inline int getpagesize () { return _gl_getpagesize (); } # endif # endif # endif /* Need to cast, because on Cygwin 1.5.x systems, the return type is size_t. */ _GL_CXXALIAS_SYS_CAST (getpagesize, int, (void)); # endif # if @HAVE_DECL_GETPAGESIZE@ _GL_CXXALIASWARN (getpagesize); # endif #elif defined GNULIB_POSIXCHECK # undef getpagesize # if HAVE_RAW_DECL_GETPAGESIZE _GL_WARN_ON_USE (getpagesize, "getpagesize is unportable - " "use gnulib module getpagesize for portability"); # endif #endif #if @GNULIB_GETUSERSHELL@ /* Return the next valid login shell on the system, or NULL when the end of the list has been reached. */ # if !@HAVE_DECL_GETUSERSHELL@ _GL_FUNCDECL_SYS (getusershell, char *, (void)); # endif _GL_CXXALIAS_SYS (getusershell, char *, (void)); _GL_CXXALIASWARN (getusershell); #elif defined GNULIB_POSIXCHECK # undef getusershell # if HAVE_RAW_DECL_GETUSERSHELL _GL_WARN_ON_USE (getusershell, "getusershell is unportable - " "use gnulib module getusershell for portability"); # endif #endif #if @GNULIB_GETUSERSHELL@ /* Rewind to pointer that is advanced at each getusershell() call. */ # if !@HAVE_DECL_GETUSERSHELL@ _GL_FUNCDECL_SYS (setusershell, void, (void)); # endif _GL_CXXALIAS_SYS (setusershell, void, (void)); _GL_CXXALIASWARN (setusershell); #elif defined GNULIB_POSIXCHECK # undef setusershell # if HAVE_RAW_DECL_SETUSERSHELL _GL_WARN_ON_USE (setusershell, "setusershell is unportable - " "use gnulib module getusershell for portability"); # endif #endif #if @GNULIB_GETUSERSHELL@ /* Free the pointer that is advanced at each getusershell() call and associated resources. */ # if !@HAVE_DECL_GETUSERSHELL@ _GL_FUNCDECL_SYS (endusershell, void, (void)); # endif _GL_CXXALIAS_SYS (endusershell, void, (void)); _GL_CXXALIASWARN (endusershell); #elif defined GNULIB_POSIXCHECK # undef endusershell # if HAVE_RAW_DECL_ENDUSERSHELL _GL_WARN_ON_USE (endusershell, "endusershell is unportable - " "use gnulib module getusershell for portability"); # endif #endif #if @GNULIB_LCHOWN@ /* Change the owner of FILE to UID (if UID is not -1) and the group of FILE to GID (if GID is not -1). Do not follow symbolic links. Return 0 if successful, otherwise -1 and errno set. See the POSIX:2001 specification . */ # if @REPLACE_LCHOWN@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef lchown # define lchown rpl_lchown # endif _GL_FUNCDECL_RPL (lchown, int, (char const *file, uid_t owner, gid_t group) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (lchown, int, (char const *file, uid_t owner, gid_t group)); # else # if !@HAVE_LCHOWN@ _GL_FUNCDECL_SYS (lchown, int, (char const *file, uid_t owner, gid_t group) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (lchown, int, (char const *file, uid_t owner, gid_t group)); # endif _GL_CXXALIASWARN (lchown); #elif defined GNULIB_POSIXCHECK # undef lchown # if HAVE_RAW_DECL_LCHOWN _GL_WARN_ON_USE (lchown, "lchown is unportable to pre-POSIX.1-2001 systems - " "use gnulib module lchown for portability"); # endif #endif #if @GNULIB_LINK@ /* Create a new hard link for an existing file. Return 0 if successful, otherwise -1 and errno set. See POSIX:2001 specification . */ # if @REPLACE_LINK@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define link rpl_link # endif _GL_FUNCDECL_RPL (link, int, (const char *path1, const char *path2) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (link, int, (const char *path1, const char *path2)); # else # if !@HAVE_LINK@ _GL_FUNCDECL_SYS (link, int, (const char *path1, const char *path2) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (link, int, (const char *path1, const char *path2)); # endif _GL_CXXALIASWARN (link); #elif defined GNULIB_POSIXCHECK # undef link # if HAVE_RAW_DECL_LINK _GL_WARN_ON_USE (link, "link is unportable - " "use gnulib module link for portability"); # endif #endif #if @GNULIB_LINKAT@ /* Create a new hard link for an existing file, relative to two directories. FLAG controls whether symlinks are followed. Return 0 if successful, otherwise -1 and errno set. */ # if @REPLACE_LINKAT@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef linkat # define linkat rpl_linkat # endif _GL_FUNCDECL_RPL (linkat, int, (int fd1, const char *path1, int fd2, const char *path2, int flag) _GL_ARG_NONNULL ((2, 4))); _GL_CXXALIAS_RPL (linkat, int, (int fd1, const char *path1, int fd2, const char *path2, int flag)); # else # if !@HAVE_LINKAT@ _GL_FUNCDECL_SYS (linkat, int, (int fd1, const char *path1, int fd2, const char *path2, int flag) _GL_ARG_NONNULL ((2, 4))); # endif _GL_CXXALIAS_SYS (linkat, int, (int fd1, const char *path1, int fd2, const char *path2, int flag)); # endif _GL_CXXALIASWARN (linkat); #elif defined GNULIB_POSIXCHECK # undef linkat # if HAVE_RAW_DECL_LINKAT _GL_WARN_ON_USE (linkat, "linkat is unportable - " "use gnulib module linkat for portability"); # endif #endif #if @GNULIB_LSEEK@ /* Set the offset of FD relative to SEEK_SET, SEEK_CUR, or SEEK_END. Return the new offset if successful, otherwise -1 and errno set. See the POSIX:2001 specification . */ # if @REPLACE_LSEEK@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define lseek rpl_lseek # endif _GL_FUNCDECL_RPL (lseek, off_t, (int fd, off_t offset, int whence)); _GL_CXXALIAS_RPL (lseek, off_t, (int fd, off_t offset, int whence)); # else _GL_CXXALIAS_SYS (lseek, off_t, (int fd, off_t offset, int whence)); # endif _GL_CXXALIASWARN (lseek); #elif defined GNULIB_POSIXCHECK # undef lseek # if HAVE_RAW_DECL_LSEEK _GL_WARN_ON_USE (lseek, "lseek does not fail with ESPIPE on pipes on some " "systems - use gnulib module lseek for portability"); # endif #endif #if @GNULIB_PIPE2@ /* Create a pipe, applying the given flags when opening the read-end of the pipe and the write-end of the pipe. The flags are a bitmask, possibly including O_CLOEXEC (defined in ) and O_TEXT, O_BINARY (defined in "binary-io.h"). Store the read-end as fd[0] and the write-end as fd[1]. Return 0 upon success, or -1 with errno set upon failure. See also the Linux man page at . */ # if @HAVE_PIPE2@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define pipe2 rpl_pipe2 # endif _GL_FUNCDECL_RPL (pipe2, int, (int fd[2], int flags) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (pipe2, int, (int fd[2], int flags)); # else _GL_FUNCDECL_SYS (pipe2, int, (int fd[2], int flags) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_SYS (pipe2, int, (int fd[2], int flags)); # endif _GL_CXXALIASWARN (pipe2); #elif defined GNULIB_POSIXCHECK # undef pipe2 # if HAVE_RAW_DECL_PIPE2 _GL_WARN_ON_USE (pipe2, "pipe2 is unportable - " "use gnulib module pipe2 for portability"); # endif #endif #if @GNULIB_PREAD@ /* Read at most BUFSIZE bytes from FD into BUF, starting at OFFSET. Return the number of bytes placed into BUF if successful, otherwise set errno and return -1. 0 indicates EOF. See the POSIX:2001 specification . */ # if @REPLACE_PREAD@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define pread rpl_pread # endif _GL_FUNCDECL_RPL (pread, ssize_t, (int fd, void *buf, size_t bufsize, off_t offset) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (pread, ssize_t, (int fd, void *buf, size_t bufsize, off_t offset)); # else # if !@HAVE_PREAD@ _GL_FUNCDECL_SYS (pread, ssize_t, (int fd, void *buf, size_t bufsize, off_t offset) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (pread, ssize_t, (int fd, void *buf, size_t bufsize, off_t offset)); # endif _GL_CXXALIASWARN (pread); #elif defined GNULIB_POSIXCHECK # undef pread # if HAVE_RAW_DECL_PREAD _GL_WARN_ON_USE (pread, "pread is unportable - " "use gnulib module pread for portability"); # endif #endif #if @GNULIB_PWRITE@ /* Write at most BUFSIZE bytes from BUF into FD, starting at OFFSET. Return the number of bytes written if successful, otherwise set errno and return -1. 0 indicates nothing written. See the POSIX:2001 specification . */ # if @REPLACE_PWRITE@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define pwrite rpl_pwrite # endif _GL_FUNCDECL_RPL (pwrite, ssize_t, (int fd, const void *buf, size_t bufsize, off_t offset) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (pwrite, ssize_t, (int fd, const void *buf, size_t bufsize, off_t offset)); # else # if !@HAVE_PWRITE@ _GL_FUNCDECL_SYS (pwrite, ssize_t, (int fd, const void *buf, size_t bufsize, off_t offset) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (pwrite, ssize_t, (int fd, const void *buf, size_t bufsize, off_t offset)); # endif _GL_CXXALIASWARN (pwrite); #elif defined GNULIB_POSIXCHECK # undef pwrite # if HAVE_RAW_DECL_PWRITE _GL_WARN_ON_USE (pwrite, "pwrite is unportable - " "use gnulib module pwrite for portability"); # endif #endif #if @GNULIB_READLINK@ /* Read the contents of the symbolic link FILE and place the first BUFSIZE bytes of it into BUF. Return the number of bytes placed into BUF if successful, otherwise -1 and errno set. See the POSIX:2001 specification . */ # if @REPLACE_READLINK@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define readlink rpl_readlink # endif _GL_FUNCDECL_RPL (readlink, ssize_t, (const char *file, char *buf, size_t bufsize) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (readlink, ssize_t, (const char *file, char *buf, size_t bufsize)); # else # if !@HAVE_READLINK@ _GL_FUNCDECL_SYS (readlink, ssize_t, (const char *file, char *buf, size_t bufsize) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (readlink, ssize_t, (const char *file, char *buf, size_t bufsize)); # endif _GL_CXXALIASWARN (readlink); #elif defined GNULIB_POSIXCHECK # undef readlink # if HAVE_RAW_DECL_READLINK _GL_WARN_ON_USE (readlink, "readlink is unportable - " "use gnulib module readlink for portability"); # endif #endif #if @GNULIB_READLINKAT@ # if !@HAVE_READLINKAT@ _GL_FUNCDECL_SYS (readlinkat, ssize_t, (int fd, char const *file, char *buf, size_t len) _GL_ARG_NONNULL ((2, 3))); # endif _GL_CXXALIAS_SYS (readlinkat, ssize_t, (int fd, char const *file, char *buf, size_t len)); _GL_CXXALIASWARN (readlinkat); #elif defined GNULIB_POSIXCHECK # undef readlinkat # if HAVE_RAW_DECL_READLINKAT _GL_WARN_ON_USE (readlinkat, "readlinkat is not portable - " "use gnulib module symlinkat for portability"); # endif #endif #if @GNULIB_RMDIR@ /* Remove the directory DIR. */ # if @REPLACE_RMDIR@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define rmdir rpl_rmdir # endif _GL_FUNCDECL_RPL (rmdir, int, (char const *name) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (rmdir, int, (char const *name)); # else _GL_CXXALIAS_SYS (rmdir, int, (char const *name)); # endif _GL_CXXALIASWARN (rmdir); #elif defined GNULIB_POSIXCHECK # undef rmdir # if HAVE_RAW_DECL_RMDIR _GL_WARN_ON_USE (rmdir, "rmdir is unportable - " "use gnulib module rmdir for portability"); # endif #endif #if @GNULIB_SLEEP@ /* Pause the execution of the current thread for N seconds. Returns the number of seconds left to sleep. See the POSIX:2001 specification . */ # if @REPLACE_SLEEP@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef sleep # define sleep rpl_sleep # endif _GL_FUNCDECL_RPL (sleep, unsigned int, (unsigned int n)); _GL_CXXALIAS_RPL (sleep, unsigned int, (unsigned int n)); # else # if !@HAVE_SLEEP@ _GL_FUNCDECL_SYS (sleep, unsigned int, (unsigned int n)); # endif _GL_CXXALIAS_SYS (sleep, unsigned int, (unsigned int n)); # endif _GL_CXXALIASWARN (sleep); #elif defined GNULIB_POSIXCHECK # undef sleep # if HAVE_RAW_DECL_SLEEP _GL_WARN_ON_USE (sleep, "sleep is unportable - " "use gnulib module sleep for portability"); # endif #endif #if @GNULIB_SYMLINK@ # if @REPLACE_SYMLINK@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef symlink # define symlink rpl_symlink # endif _GL_FUNCDECL_RPL (symlink, int, (char const *contents, char const *file) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (symlink, int, (char const *contents, char const *file)); # else # if !@HAVE_SYMLINK@ _GL_FUNCDECL_SYS (symlink, int, (char const *contents, char const *file) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (symlink, int, (char const *contents, char const *file)); # endif _GL_CXXALIASWARN (symlink); #elif defined GNULIB_POSIXCHECK # undef symlink # if HAVE_RAW_DECL_SYMLINK _GL_WARN_ON_USE (symlink, "symlink is not portable - " "use gnulib module symlink for portability"); # endif #endif #if @GNULIB_SYMLINKAT@ # if !@HAVE_SYMLINKAT@ _GL_FUNCDECL_SYS (symlinkat, int, (char const *contents, int fd, char const *file) _GL_ARG_NONNULL ((1, 3))); # endif _GL_CXXALIAS_SYS (symlinkat, int, (char const *contents, int fd, char const *file)); _GL_CXXALIASWARN (symlinkat); #elif defined GNULIB_POSIXCHECK # undef symlinkat # if HAVE_RAW_DECL_SYMLINKAT _GL_WARN_ON_USE (symlinkat, "symlinkat is not portable - " "use gnulib module symlinkat for portability"); # endif #endif #if @GNULIB_TTYNAME_R@ /* Store at most BUFLEN characters of the pathname of the terminal FD is open on in BUF. Return 0 on success, otherwise an error number. */ # if @REPLACE_TTYNAME_R@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef ttyname_r # define ttyname_r rpl_ttyname_r # endif _GL_FUNCDECL_RPL (ttyname_r, int, (int fd, char *buf, size_t buflen) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (ttyname_r, int, (int fd, char *buf, size_t buflen)); # else # if !@HAVE_TTYNAME_R@ _GL_FUNCDECL_SYS (ttyname_r, int, (int fd, char *buf, size_t buflen) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (ttyname_r, int, (int fd, char *buf, size_t buflen)); # endif _GL_CXXALIASWARN (ttyname_r); #elif defined GNULIB_POSIXCHECK # undef ttyname_r # if HAVE_RAW_DECL_TTYNAME_R _GL_WARN_ON_USE (ttyname_r, "ttyname_r is not portable - " "use gnulib module ttyname_r for portability"); # endif #endif #if @GNULIB_UNLINK@ # if @REPLACE_UNLINK@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef unlink # define unlink rpl_unlink # endif _GL_FUNCDECL_RPL (unlink, int, (char const *file) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (unlink, int, (char const *file)); # else _GL_CXXALIAS_SYS (unlink, int, (char const *file)); # endif _GL_CXXALIASWARN (unlink); #elif defined GNULIB_POSIXCHECK # undef unlink # if HAVE_RAW_DECL_UNLINK _GL_WARN_ON_USE (unlink, "unlink is not portable - " "use gnulib module unlink for portability"); # endif #endif #if @GNULIB_UNLINKAT@ # if @REPLACE_UNLINKAT@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef unlinkat # define unlinkat rpl_unlinkat # endif _GL_FUNCDECL_RPL (unlinkat, int, (int fd, char const *file, int flag) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (unlinkat, int, (int fd, char const *file, int flag)); # else # if !@HAVE_UNLINKAT@ _GL_FUNCDECL_SYS (unlinkat, int, (int fd, char const *file, int flag) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (unlinkat, int, (int fd, char const *file, int flag)); # endif _GL_CXXALIASWARN (unlinkat); #elif defined GNULIB_POSIXCHECK # undef unlinkat # if HAVE_RAW_DECL_UNLINKAT _GL_WARN_ON_USE (unlinkat, "unlinkat is not portable - " "use gnulib module openat for portability"); # endif #endif #if @GNULIB_USLEEP@ /* Pause the execution of the current thread for N microseconds. Returns 0 on completion, or -1 on range error. See the POSIX:2001 specification . */ # if @REPLACE_USLEEP@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef usleep # define usleep rpl_usleep # endif _GL_FUNCDECL_RPL (usleep, int, (useconds_t n)); _GL_CXXALIAS_RPL (usleep, int, (useconds_t n)); # else # if !@HAVE_USLEEP@ _GL_FUNCDECL_SYS (usleep, int, (useconds_t n)); # endif _GL_CXXALIAS_SYS (usleep, int, (useconds_t n)); # endif _GL_CXXALIASWARN (usleep); #elif defined GNULIB_POSIXCHECK # undef usleep # if HAVE_RAW_DECL_USLEEP _GL_WARN_ON_USE (usleep, "usleep is unportable - " "use gnulib module usleep for portability"); # endif #endif #if @GNULIB_WRITE@ /* Write up to COUNT bytes starting at BUF to file descriptor FD. See the POSIX:2001 specification . */ # if @REPLACE_WRITE@ && @GNULIB_UNISTD_H_SIGPIPE@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef write # define write rpl_write # endif _GL_FUNCDECL_RPL (write, ssize_t, (int fd, const void *buf, size_t count) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (write, ssize_t, (int fd, const void *buf, size_t count)); # else /* Need to cast, because on mingw, the third parameter is unsigned int count and the return type is 'int'. */ _GL_CXXALIAS_SYS_CAST (write, ssize_t, (int fd, const void *buf, size_t count)); # endif _GL_CXXALIASWARN (write); #endif #endif /* _GL_UNISTD_H */ #endif /* _GL_UNISTD_H */ parted-2.3/lib/stdarg.in.h0000644000000000000000000000231711333760254012343 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Substitute for and wrapper around . Copyright (C) 2008, 2009, 2010 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 3, 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. */ #ifndef _GL_STDARG_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_STDARG_H@ #ifndef _GL_STDARG_H #define _GL_STDARG_H #ifndef va_copy # define va_copy(a,b) ((a) = (b)) #endif #endif /* _GL_STDARG_H */ #endif /* _GL_STDARG_H */ parted-2.3/lib/malloca.c0000644000000000000000000001214111333760254012051 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Safe automatic memory allocation. Copyright (C) 2003, 2006-2007, 2009-2010 Free Software Foundation, Inc. Written by Bruno Haible , 2003. 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 3, 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. */ #include /* Specification. */ #include "malloca.h" /* The speed critical point in this file is freea() applied to an alloca() result: it must be fast, to match the speed of alloca(). The speed of mmalloca() and freea() in the other case are not critical, because they are only invoked for big memory sizes. */ #if HAVE_ALLOCA /* Store the mmalloca() results in a hash table. This is needed to reliably distinguish a mmalloca() result and an alloca() result. Although it is possible that the same pointer is returned by alloca() and by mmalloca() at different times in the same application, it does not lead to a bug in freea(), because: - Before a pointer returned by alloca() can point into malloc()ed memory, the function must return, and once this has happened the programmer must not call freea() on it anyway. - Before a pointer returned by mmalloca() can point into the stack, it must be freed. The only function that can free it is freea(), and when freea() frees it, it also removes it from the hash table. */ #define MAGIC_NUMBER 0x1415fb4a #define MAGIC_SIZE sizeof (int) /* This is how the header info would look like without any alignment considerations. */ struct preliminary_header { void *next; char room[MAGIC_SIZE]; }; /* But the header's size must be a multiple of sa_alignment_max. */ #define HEADER_SIZE \ (((sizeof (struct preliminary_header) + sa_alignment_max - 1) / sa_alignment_max) * sa_alignment_max) struct header { void *next; char room[HEADER_SIZE - sizeof (struct preliminary_header) + MAGIC_SIZE]; }; /* Verify that HEADER_SIZE == sizeof (struct header). */ typedef int verify1[2 * (HEADER_SIZE == sizeof (struct header)) - 1]; /* We make the hash table quite big, so that during lookups the probability of empty hash buckets is quite high. There is no need to make the hash table resizable, because when the hash table gets filled so much that the lookup becomes slow, it means that the application has memory leaks. */ #define HASH_TABLE_SIZE 257 static void * mmalloca_results[HASH_TABLE_SIZE]; #endif void * mmalloca (size_t n) { #if HAVE_ALLOCA /* Allocate one more word, that serves as an indicator for malloc()ed memory, so that freea() of an alloca() result is fast. */ size_t nplus = n + HEADER_SIZE; if (nplus >= n) { char *p = (char *) malloc (nplus); if (p != NULL) { size_t slot; p += HEADER_SIZE; /* Put a magic number into the indicator word. */ ((int *) p)[-1] = MAGIC_NUMBER; /* Enter p into the hash table. */ slot = (unsigned long) p % HASH_TABLE_SIZE; ((struct header *) (p - HEADER_SIZE))->next = mmalloca_results[slot]; mmalloca_results[slot] = p; return p; } } /* Out of memory. */ return NULL; #else # if !MALLOC_0_IS_NONNULL if (n == 0) n = 1; # endif return malloc (n); #endif } #if HAVE_ALLOCA void freea (void *p) { /* mmalloca() may have returned NULL. */ if (p != NULL) { /* Attempt to quickly distinguish the mmalloca() result - which has a magic indicator word - and the alloca() result - which has an uninitialized indicator word. It is for this test that sa_increment additional bytes are allocated in the alloca() case. */ if (((int *) p)[-1] == MAGIC_NUMBER) { /* Looks like a mmalloca() result. To see whether it really is one, perform a lookup in the hash table. */ size_t slot = (unsigned long) p % HASH_TABLE_SIZE; void **chain = &mmalloca_results[slot]; for (; *chain != NULL;) { if (*chain == p) { /* Found it. Remove it from the hash table and free it. */ char *p_begin = (char *) p - HEADER_SIZE; *chain = ((struct header *) p_begin)->next; free (p_begin); return; } chain = &((struct header *) ((char *) *chain - HEADER_SIZE))->next; } } /* At this point, we know it was not a mmalloca() result. */ } } #endif parted-2.3/lib/btowc.c0000644000000000000000000000210211370541031011542 00000000000000/* Convert unibyte character to wide character. Copyright (C) 2008, 2010 Free Software Foundation, Inc. Written by Bruno Haible , 2008. 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include #include #include wint_t btowc (int c) { if (c != EOF) { char buf[1]; wchar_t wc; buf[0] = c; if (mbtowc (&wc, buf, 1) >= 0) return wc; } return WEOF; } parted-2.3/lib/strndup.c0000644000000000000000000000231511333760254012142 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A replacement function, for systems that lack strndup. Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2005, 2006, 2007, 2009, 2010 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 3, 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. */ #include #include #include char * strndup (char const *s, size_t n) { size_t len = strnlen (s, n); char *new = malloc (len + 1); if (new == NULL) return NULL; new[len] = '\0'; return memcpy (new, s, len); } parted-2.3/lib/strnlen.c0000644000000000000000000000243711333760254012135 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Find the length of STRING, but scan at most MAXLEN characters. Copyright (C) 2005, 2006, 2007, 2009, 2010 Free Software Foundation, Inc. Written by Simon Josefsson. 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 3, 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. */ #include #include /* Find the length of STRING, but scan at most MAXLEN characters. If no '\0' terminator is found in that many characters, return MAXLEN. */ size_t strnlen (const char *string, size_t maxlen) { const char *end = memchr (string, '\0', maxlen); return end ? (size_t) (end - string) : maxlen; } parted-2.3/lib/stddef.in.h0000644000000000000000000000533111333760254012327 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A substitute for POSIX 2008 , for platforms that have issues. Copyright (C) 2009, 2010 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 3, 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. */ /* Written by Eric Blake. */ /* * POSIX 2008 for platforms that have issues. * */ #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif #if defined __need_wchar_t || defined __need_size_t \ || defined __need_ptrdiff_t || defined __need_NULL \ || defined __need_wint_t /* Special invocation convention inside gcc header files. In particular, gcc provides a version of that blindly redefines NULL even when __need_wint_t was defined, even though wint_t is not normally provided by . Hence, we must remember if special invocation has ever been used to obtain wint_t, in which case we need to clean up NULL yet again. */ # if !(defined _GL_STDDEF_H && defined _GL_STDDEF_WINT_T) # ifdef __need_wint_t # undef _GL_STDDEF_H # define _GL_STDDEF_WINT_T # endif # @INCLUDE_NEXT@ @NEXT_STDDEF_H@ # endif #else /* Normal invocation convention. */ # ifndef _GL_STDDEF_H /* The include_next requires a split double-inclusion guard. */ # @INCLUDE_NEXT@ @NEXT_STDDEF_H@ # ifndef _GL_STDDEF_H # define _GL_STDDEF_H /* On NetBSD 5.0, the definition of NULL lacks proper parentheses. */ #if @REPLACE_NULL@ # undef NULL # ifdef __cplusplus /* ISO C++ says that the macro NULL must expand to an integer constant expression, hence '((void *) 0)' is not allowed in C++. */ # if __GNUG__ >= 3 /* GNU C++ has a __null macro that behaves like an integer ('int' or 'long') but has the same size as a pointer. Use that, to avoid warnings. */ # define NULL __null # else # define NULL 0L # endif # else # define NULL ((void *) 0) # endif #endif /* Some platforms lack wchar_t. */ #if !@HAVE_WCHAR_T@ # define wchar_t int #endif # endif /* _GL_STDDEF_H */ # endif /* _GL_STDDEF_H */ #endif /* __need_XXX */ parted-2.3/lib/wcrtomb.c0000644000000000000000000000272411370541032012114 00000000000000/* Convert wide character to multibyte character. Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. Written by Bruno Haible , 2008. 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include #include #include size_t wcrtomb (char *s, wchar_t wc, mbstate_t *ps) { /* This implementation of wcrtomb on top of wctomb() supports only stateless encodings. ps must be in the initial state. */ if (ps != NULL && !mbsinit (ps)) { errno = EINVAL; return (size_t)(-1); } if (s == NULL) /* We know the NUL wide character corresponds to the NUL character. */ return 1; else { int ret = wctomb (s, wc); if (ret >= 0) return ret; else { errno = EILSEQ; return (size_t)(-1); } } } parted-2.3/lib/close.c0000644000000000000000000000213211370541031011534 00000000000000/* close replacement. Copyright (C) 2008-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include #include "close-hook.h" /* Override close() to call into other gnulib modules. */ int rpl_close (int fd) #undef close { #if WINDOWS_SOCKETS int retval = execute_all_close_hooks (fd); #else int retval = close (fd); #endif #if REPLACE_FCHDIR if (retval >= 0) _gl_unregister_fd (fd); #endif return retval; } parted-2.3/lib/close-stream.c0000644000000000000000000000574611370541031013043 00000000000000/* Close a stream, with nicer error checking than fclose's. Copyright (C) 1998-2002, 2004, 2006-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "close-stream.h" #include #include #include "fpending.h" #if USE_UNLOCKED_IO # include "unlocked-io.h" #endif /* Close STREAM. Return 0 if successful, EOF (setting errno) otherwise. A failure might set errno to 0 if the error number cannot be determined. A failure with errno set to EPIPE may or may not indicate an error situation worth signaling to the user. See the documentation of the close_stdout_set_ignore_EPIPE function for details. If a program writes *anything* to STREAM, that program should close STREAM and make sure that it succeeds before exiting. Otherwise, suppose that you go to the extreme of checking the return status of every function that does an explicit write to STREAM. The last printf can succeed in writing to the internal stream buffer, and yet the fclose(STREAM) could still fail (due e.g., to a disk full error) when it tries to write out that buffered data. Thus, you would be left with an incomplete output file and the offending program would exit successfully. Even calling fflush is not always sufficient, since some file systems (NFS and CODA) buffer written/flushed data until an actual close call. Besides, it's wasteful to check the return value from every call that writes to STREAM -- just let the internal stream state record the failure. That's what the ferror test is checking below. */ int close_stream (FILE *stream) { const bool some_pending = (__fpending (stream) != 0); const bool prev_fail = (ferror (stream) != 0); const bool fclose_fail = (fclose (stream) != 0); /* Return an error indication if there was a previous failure or if fclose failed, with one exception: ignore an fclose failure if there was no previous error, no data remains to be flushed, and fclose failed with EBADF. That can happen when a program like cp is invoked like this `cp a b >&-' (i.e., with standard output closed) and doesn't generate any output (hence no previous error and nothing to be flushed). */ if (prev_fail || (fclose_fail && (some_pending || errno != EBADF))) { if (! fclose_fail) errno = 0; return EOF; } return 0; } parted-2.3/lib/close-stream.h0000644000000000000000000000006411370541031013034 00000000000000#include int close_stream (FILE *stream); parted-2.3/lib/sys_time.in.h0000644000000000000000000000534511370316121012706 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Provide a more complete sys/time.h. Copyright (C) 2007-2010 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 3, 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. */ /* Written by Paul Eggert. */ #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif #if defined _GL_SYS_TIME_H /* Simply delegate to the system's header, without adding anything. */ # if @HAVE_SYS_TIME_H@ # @INCLUDE_NEXT@ @NEXT_SYS_TIME_H@ # endif #else # define _GL_SYS_TIME_H # if @HAVE_SYS_TIME_H@ # @INCLUDE_NEXT@ @NEXT_SYS_TIME_H@ # else # include # endif /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_ARG_NONNULL is copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ # ifdef __cplusplus extern "C" { # endif # if ! @HAVE_STRUCT_TIMEVAL@ struct timeval { time_t tv_sec; long int tv_usec; }; # endif # ifdef __cplusplus } # endif # if @GNULIB_GETTIMEOFDAY@ # if @REPLACE_GETTIMEOFDAY@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef gettimeofday # define gettimeofday rpl_gettimeofday # endif _GL_FUNCDECL_RPL (gettimeofday, int, (struct timeval *restrict, void *restrict) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (gettimeofday, int, (struct timeval *restrict, void *restrict)); # else # if !@HAVE_GETTIMEOFDAY@ _GL_FUNCDECL_SYS (gettimeofday, int, (struct timeval *restrict, void *restrict) _GL_ARG_NONNULL ((1))); # endif /* Need to cast, because on glibc systems, by default, the second argument is struct timezone *. */ _GL_CXXALIAS_SYS_CAST (gettimeofday, int, (struct timeval *restrict, void *restrict)); # endif _GL_CXXALIASWARN (gettimeofday); # elif defined GNULIB_POSIXCHECK # undef gettimeofday # if HAVE_RAW_DECL_GETTIMEOFDAY _GL_WARN_ON_USE (gettimeofday, "gettimeofday is unportable - " "use gnulib module gettimeofday for portability"); # endif # endif #endif /* _GL_SYS_TIME_H */ parted-2.3/lib/version-etc-fsf.c0000644000000000000000000000220211370541032013440 00000000000000/* Variable with FSF copyright information, for version-etc. Copyright (C) 1999-2006, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ #include /* Specification. */ #include "version-etc.h" /* Default copyright goes to the FSF. */ const char version_etc_copyright[] = /* Do *not* mark this string for translation. %s is a copyright symbol suitable for this locale, and %d is the copyright year. */ "Copyright %s %d Free Software Foundation, Inc."; parted-2.3/lib/malloca.h0000644000000000000000000001131211333760254012055 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Safe automatic memory allocation. Copyright (C) 2003-2007, 2009-2010 Free Software Foundation, Inc. Written by Bruno Haible , 2003. 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 3, 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. */ #ifndef _MALLOCA_H #define _MALLOCA_H #include #include #include #ifdef __cplusplus extern "C" { #endif /* safe_alloca(N) is equivalent to alloca(N) when it is safe to call alloca(N); otherwise it returns NULL. It either returns N bytes of memory allocated on the stack, that lasts until the function returns, or NULL. Use of safe_alloca should be avoided: - inside arguments of function calls - undefined behaviour, - in inline functions - the allocation may actually last until the calling function returns. */ #if HAVE_ALLOCA /* The OS usually guarantees only one guard page at the bottom of the stack, and a page size can be as small as 4096 bytes. So we cannot safely allocate anything larger than 4096 bytes. Also care for the possibility of a few compiler-allocated temporary stack slots. This must be a macro, not an inline function. */ # define safe_alloca(N) ((N) < 4032 ? alloca (N) : NULL) #else # define safe_alloca(N) ((void) (N), NULL) #endif /* malloca(N) is a safe variant of alloca(N). It allocates N bytes of memory allocated on the stack, that must be freed using freea() before the function returns. Upon failure, it returns NULL. */ #if HAVE_ALLOCA # define malloca(N) \ ((N) < 4032 - sa_increment \ ? (void *) ((char *) alloca ((N) + sa_increment) + sa_increment) \ : mmalloca (N)) #else # define malloca(N) \ mmalloca (N) #endif extern void * mmalloca (size_t n); /* Free a block of memory allocated through malloca(). */ #if HAVE_ALLOCA extern void freea (void *p); #else # define freea free #endif /* nmalloca(N,S) is an overflow-safe variant of malloca (N * S). It allocates an array of N objects, each with S bytes of memory, on the stack. S must be positive and N must be nonnegative. The array must be freed using freea() before the function returns. */ #if 1 /* Cf. the definition of xalloc_oversized. */ # define nmalloca(n, s) \ ((n) > (size_t) (sizeof (ptrdiff_t) <= sizeof (size_t) ? -1 : -2) / (s) \ ? NULL \ : malloca ((n) * (s))) #else extern void * nmalloca (size_t n, size_t s); #endif #ifdef __cplusplus } #endif /* ------------------- Auxiliary, non-public definitions ------------------- */ /* Determine the alignment of a type at compile time. */ #if defined __GNUC__ # define sa_alignof __alignof__ #elif defined __cplusplus template struct sa_alignof_helper { char __slot1; type __slot2; }; # define sa_alignof(type) offsetof (sa_alignof_helper, __slot2) #elif defined __hpux /* Work around a HP-UX 10.20 cc bug with enums constants defined as offsetof values. */ # define sa_alignof(type) (sizeof (type) <= 4 ? 4 : 8) #elif defined _AIX /* Work around an AIX 3.2.5 xlc bug with enums constants defined as offsetof values. */ # define sa_alignof(type) (sizeof (type) <= 4 ? 4 : 8) #else # define sa_alignof(type) offsetof (struct { char __slot1; type __slot2; }, __slot2) #endif enum { /* The desired alignment of memory allocations is the maximum alignment among all elementary types. */ sa_alignment_long = sa_alignof (long), sa_alignment_double = sa_alignof (double), #if HAVE_LONG_LONG_INT sa_alignment_longlong = sa_alignof (long long), #endif sa_alignment_longdouble = sa_alignof (long double), sa_alignment_max = ((sa_alignment_long - 1) | (sa_alignment_double - 1) #if HAVE_LONG_LONG_INT | (sa_alignment_longlong - 1) #endif | (sa_alignment_longdouble - 1) ) + 1, /* The increment that guarantees room for a magic word must be >= sizeof (int) and a multiple of sa_alignment_max. */ sa_increment = ((sizeof (int) + sa_alignment_max - 1) / sa_alignment_max) * sa_alignment_max }; #endif /* _MALLOCA_H */ parted-2.3/lib/xstrtol-error.c0000644000000000000000000000537011370541032013305 00000000000000/* A more useful interface to strtol. Copyright (C) 1995-1996, 1998-1999, 2001-2004, 2006-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "xstrtol.h" #include #include "error.h" #include "exitfail.h" #include "gettext.h" #define N_(msgid) msgid /* Report an error for an invalid integer in an option argument. ERR is the error code returned by one of the xstrto* functions. Use OPT_IDX to decide whether to print the short option string "C" or "-C" or a long option string derived from LONG_OPTION. OPT_IDX is -2 if the short option "C" was used, without any leading "-"; it is -1 if the short option "-C" was used; otherwise it is an index into LONG_OPTIONS, which should have a name preceded by two '-' characters. ARG is the option-argument containing the integer. After reporting an error, exit with status EXIT_STATUS if it is nonzero. */ static void xstrtol_error (enum strtol_error err, int opt_idx, char c, struct option const *long_options, char const *arg, int exit_status) { char const *hyphens = "--"; char const *msgid; char const *option; char option_buffer[2]; switch (err) { default: abort (); case LONGINT_INVALID: msgid = N_("invalid %s%s argument `%s'"); break; case LONGINT_INVALID_SUFFIX_CHAR: case LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW: msgid = N_("invalid suffix in %s%s argument `%s'"); break; case LONGINT_OVERFLOW: msgid = N_("%s%s argument `%s' too large"); break; } if (opt_idx < 0) { hyphens -= opt_idx; option_buffer[0] = c; option_buffer[1] = '\0'; option = option_buffer; } else option = long_options[opt_idx].name; error (exit_status, 0, gettext (msgid), hyphens, option, arg); } /* Like xstrtol_error, except exit with a failure status. */ void xstrtol_fatal (enum strtol_error err, int opt_idx, char c, struct option const *long_options, char const *arg) { xstrtol_error (err, opt_idx, c, long_options, arg, exit_failure); abort (); } parted-2.3/lib/lseek.c0000644000000000000000000000346611333760254011556 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* An lseek() function that detects pipes. Copyright (C) 2007, 2009, 2010 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 3, 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. */ #include /* Specification. */ #include #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* Windows platforms. */ /* Get GetFileType. */ # include #else # include #endif #include #undef lseek off_t rpl_lseek (int fd, off_t offset, int whence) { #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* mingw lseek mistakenly succeeds on pipes, sockets, and terminals. */ HANDLE h = (HANDLE) _get_osfhandle (fd); if (h == INVALID_HANDLE_VALUE) { errno = EBADF; return -1; } if (GetFileType (h) != FILE_TYPE_DISK) { errno = ESPIPE; return -1; } #else /* BeOS lseek mistakenly succeeds on pipes... */ struct stat statbuf; if (fstat (fd, &statbuf) < 0) return -1; if (!S_ISREG (statbuf.st_mode)) { errno = ESPIPE; return -1; } #endif return lseek (fd, offset, whence); } parted-2.3/lib/xstrndup.c0000644000000000000000000000224711370541032012326 00000000000000/* Duplicate a bounded initial segment of a string, with out-of-memory checking. Copyright (C) 2003, 2006, 2007, 2009, 2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include "xstrndup.h" #include #include "xalloc.h" /* Return a newly allocated copy of at most N bytes of STRING. In other words, return a copy of the initial segment of length N of STRING. */ char * xstrndup (const char *string, size_t n) { char *s = strndup (string, n); if (! s) xalloc_die (); return s; } parted-2.3/lib/regex.c0000644000000000000000000000570111333760254011557 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Extended regular expression matching and search library. Copyright (C) 2002, 2003, 2005, 2006, 2009, 2010 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa . 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 3, 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. */ #include /* Make sure noone compiles this code with a C++ compiler. */ #if defined __cplusplus && defined _LIBC # error "This is C code, use a C compiler" #endif #ifdef _LIBC /* We have to keep the namespace clean. */ # define regfree(preg) __regfree (preg) # define regexec(pr, st, nm, pm, ef) __regexec (pr, st, nm, pm, ef) # define regcomp(preg, pattern, cflags) __regcomp (preg, pattern, cflags) # define regerror(errcode, preg, errbuf, errbuf_size) \ __regerror(errcode, preg, errbuf, errbuf_size) # define re_set_registers(bu, re, nu, st, en) \ __re_set_registers (bu, re, nu, st, en) # define re_match_2(bufp, string1, size1, string2, size2, pos, regs, stop) \ __re_match_2 (bufp, string1, size1, string2, size2, pos, regs, stop) # define re_match(bufp, string, size, pos, regs) \ __re_match (bufp, string, size, pos, regs) # define re_search(bufp, string, size, startpos, range, regs) \ __re_search (bufp, string, size, startpos, range, regs) # define re_compile_pattern(pattern, length, bufp) \ __re_compile_pattern (pattern, length, bufp) # define re_set_syntax(syntax) __re_set_syntax (syntax) # define re_search_2(bufp, st1, s1, st2, s2, startpos, range, regs, stop) \ __re_search_2 (bufp, st1, s1, st2, s2, startpos, range, regs, stop) # define re_compile_fastmap(bufp) __re_compile_fastmap (bufp) # include "../locale/localeinfo.h" #endif /* On some systems, limits.h sets RE_DUP_MAX to a lower value than GNU regex allows. Include it before , which correctly #undefs RE_DUP_MAX and sets it to the right value. */ #include #include #include "regex_internal.h" #include "regex_internal.c" #include "regcomp.c" #include "regexec.c" /* Binary backward compatibility. */ #if _LIBC # include # if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3) link_warning (re_max_failures, "the 're_max_failures' variable is obsolete and will go away.") int re_max_failures = 2000; # endif #endif parted-2.3/lib/wctype.in.h0000644000000000000000000002212211370316121012355 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A substitute for ISO C99 , for platforms that lack it. Copyright (C) 2006-2010 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 3, 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. */ /* Written by Bruno Haible and Paul Eggert. */ /* * ISO C 99 for platforms that lack it. * * * iswctype, towctrans, towlower, towupper, wctrans, wctype, * wctrans_t, and wctype_t are not yet implemented. */ #ifndef _GL_WCTYPE_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif #if @HAVE_WINT_T@ /* Solaris 2.5 has a bug: must be included before . Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ # include # include # include # include #endif /* Include the original if it exists. BeOS 5 has the functions but no . */ /* The include_next requires a split double-inclusion guard. */ #if @HAVE_WCTYPE_H@ # @INCLUDE_NEXT@ @NEXT_WCTYPE_H@ #endif #ifndef _GL_WCTYPE_H #define _GL_WCTYPE_H /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ /* Define wint_t and WEOF. (Also done in wchar.in.h.) */ #if !@HAVE_WINT_T@ && !defined wint_t # define wint_t int # ifndef WEOF # define WEOF -1 # endif #else # ifndef WEOF # define WEOF ((wint_t) -1) # endif #endif /* FreeBSD 4.4 to 4.11 has but lacks the functions. Linux libc5 has and the functions but they are broken. Assume all 11 functions (all isw* except iswblank) are implemented the same way, or not at all. */ #if ! @HAVE_ISWCNTRL@ || @REPLACE_ISWCNTRL@ /* IRIX 5.3 has macros but no functions, its isw* macros refer to an undefined variable _ctmp_ and to macros like _P, and they refer to system functions like _iswctype that are not in the standard C library. Rather than try to get ancient buggy implementations like this to work, just disable them. */ # undef iswalnum # undef iswalpha # undef iswblank # undef iswcntrl # undef iswdigit # undef iswgraph # undef iswlower # undef iswprint # undef iswpunct # undef iswspace # undef iswupper # undef iswxdigit # undef towlower # undef towupper /* Linux libc5 has and the functions but they are broken. */ # if @REPLACE_ISWCNTRL@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define iswalnum rpl_iswalnum # define iswalpha rpl_iswalpha # define iswblank rpl_iswblank # define iswcntrl rpl_iswcntrl # define iswdigit rpl_iswdigit # define iswgraph rpl_iswgraph # define iswlower rpl_iswlower # define iswprint rpl_iswprint # define iswpunct rpl_iswpunct # define iswspace rpl_iswspace # define iswupper rpl_iswupper # define iswxdigit rpl_iswxdigit # define towlower rpl_towlower # define towupper rpl_towupper # endif # endif static inline int # if @REPLACE_ISWCNTRL@ rpl_iswalnum # else iswalnum # endif (wint_t wc) { return ((wc >= '0' && wc <= '9') || ((wc & ~0x20) >= 'A' && (wc & ~0x20) <= 'Z')); } static inline int # if @REPLACE_ISWCNTRL@ rpl_iswalpha # else iswalpha # endif (wint_t wc) { return (wc & ~0x20) >= 'A' && (wc & ~0x20) <= 'Z'; } static inline int # if @REPLACE_ISWCNTRL@ rpl_iswblank # else iswblank # endif (wint_t wc) { return wc == ' ' || wc == '\t'; } static inline int # if @REPLACE_ISWCNTRL@ rpl_iswcntrl # else iswcntrl # endif (wint_t wc) { return (wc & ~0x1f) == 0 || wc == 0x7f; } static inline int # if @REPLACE_ISWCNTRL@ rpl_iswdigit # else iswdigit # endif (wint_t wc) { return wc >= '0' && wc <= '9'; } static inline int # if @REPLACE_ISWCNTRL@ rpl_iswgraph # else iswgraph # endif (wint_t wc) { return wc >= '!' && wc <= '~'; } static inline int # if @REPLACE_ISWCNTRL@ rpl_iswlower # else iswlower # endif (wint_t wc) { return wc >= 'a' && wc <= 'z'; } static inline int # if @REPLACE_ISWCNTRL@ rpl_iswprint # else iswprint # endif (wint_t wc) { return wc >= ' ' && wc <= '~'; } static inline int # if @REPLACE_ISWCNTRL@ rpl_iswpunct # else iswpunct # endif (wint_t wc) { return (wc >= '!' && wc <= '~' && !((wc >= '0' && wc <= '9') || ((wc & ~0x20) >= 'A' && (wc & ~0x20) <= 'Z'))); } static inline int # if @REPLACE_ISWCNTRL@ rpl_iswspace # else iswspace # endif (wint_t wc) { return (wc == ' ' || wc == '\t' || wc == '\n' || wc == '\v' || wc == '\f' || wc == '\r'); } static inline int # if @REPLACE_ISWCNTRL@ rpl_iswupper # else iswupper # endif (wint_t wc) { return wc >= 'A' && wc <= 'Z'; } static inline int # if @REPLACE_ISWCNTRL@ rpl_iswxdigit # else iswxdigit # endif (wint_t wc) { return ((wc >= '0' && wc <= '9') || ((wc & ~0x20) >= 'A' && (wc & ~0x20) <= 'F')); } static inline wint_t # if @REPLACE_ISWCNTRL@ rpl_towlower # else towlower # endif (wint_t wc) { return (wc >= 'A' && wc <= 'Z' ? wc - 'A' + 'a' : wc); } static inline wint_t # if @REPLACE_ISWCNTRL@ rpl_towupper # else towupper # endif (wint_t wc) { return (wc >= 'a' && wc <= 'z' ? wc - 'a' + 'A' : wc); } #elif ! @HAVE_ISWBLANK@ /* Only the iswblank function is missing. */ static inline int iswblank (wint_t wc) { return wc == ' ' || wc == '\t'; } #endif #if defined __MINGW32__ /* On native Windows, wchar_t is uint16_t, and wint_t is uint32_t. The functions towlower and towupper are implemented in the MSVCRT library to take a wchar_t argument and return a wchar_t result. mingw declares these functions to take a wint_t argument and return a wint_t result. This means that: 1. When the user passes an argument outside the range 0x0000..0xFFFF, the function will look only at the lower 16 bits. This is allowed according to POSIX. 2. The return value is returned in the lower 16 bits of the result register. The upper 16 bits are random: whatever happened to be in that part of the result register. We need to fix this by adding a zero-extend from wchar_t to wint_t after the call. */ static inline wint_t rpl_towlower (wint_t wc) { return (wint_t) (wchar_t) towlower (wc); } # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define towlower rpl_towlower # endif static inline wint_t rpl_towupper (wint_t wc) { return (wint_t) (wchar_t) towupper (wc); } # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define towupper rpl_towupper # endif #endif /* __MINGW32__ */ #if @REPLACE_ISWCNTRL@ _GL_CXXALIAS_RPL (iswalnum, int, (wint_t wc)); _GL_CXXALIAS_RPL (iswalpha, int, (wint_t wc)); _GL_CXXALIAS_RPL (iswblank, int, (wint_t wc)); _GL_CXXALIAS_RPL (iswcntrl, int, (wint_t wc)); _GL_CXXALIAS_RPL (iswdigit, int, (wint_t wc)); _GL_CXXALIAS_RPL (iswgraph, int, (wint_t wc)); _GL_CXXALIAS_RPL (iswlower, int, (wint_t wc)); _GL_CXXALIAS_RPL (iswprint, int, (wint_t wc)); _GL_CXXALIAS_RPL (iswpunct, int, (wint_t wc)); _GL_CXXALIAS_RPL (iswspace, int, (wint_t wc)); _GL_CXXALIAS_RPL (iswupper, int, (wint_t wc)); _GL_CXXALIAS_RPL (iswxdigit, int, (wint_t wc)); #else _GL_CXXALIAS_SYS (iswalnum, int, (wint_t wc)); _GL_CXXALIAS_SYS (iswalpha, int, (wint_t wc)); _GL_CXXALIAS_SYS (iswblank, int, (wint_t wc)); _GL_CXXALIAS_SYS (iswcntrl, int, (wint_t wc)); _GL_CXXALIAS_SYS (iswdigit, int, (wint_t wc)); _GL_CXXALIAS_SYS (iswgraph, int, (wint_t wc)); _GL_CXXALIAS_SYS (iswlower, int, (wint_t wc)); _GL_CXXALIAS_SYS (iswprint, int, (wint_t wc)); _GL_CXXALIAS_SYS (iswpunct, int, (wint_t wc)); _GL_CXXALIAS_SYS (iswspace, int, (wint_t wc)); _GL_CXXALIAS_SYS (iswupper, int, (wint_t wc)); _GL_CXXALIAS_SYS (iswxdigit, int, (wint_t wc)); #endif _GL_CXXALIASWARN (iswalnum); _GL_CXXALIASWARN (iswalpha); _GL_CXXALIASWARN (iswblank); _GL_CXXALIASWARN (iswcntrl); _GL_CXXALIASWARN (iswdigit); _GL_CXXALIASWARN (iswgraph); _GL_CXXALIASWARN (iswlower); _GL_CXXALIASWARN (iswprint); _GL_CXXALIASWARN (iswpunct); _GL_CXXALIASWARN (iswspace); _GL_CXXALIASWARN (iswupper); _GL_CXXALIASWARN (iswxdigit); #if @REPLACE_ISWCNTRL@ || defined __MINGW32__ _GL_CXXALIAS_RPL (towlower, wint_t, (wint_t wc)); _GL_CXXALIAS_RPL (towupper, wint_t, (wint_t wc)); #else _GL_CXXALIAS_SYS (towlower, wint_t, (wint_t wc)); _GL_CXXALIAS_SYS (towupper, wint_t, (wint_t wc)); #endif _GL_CXXALIASWARN (towlower); _GL_CXXALIASWARN (towupper); #endif /* _GL_WCTYPE_H */ #endif /* _GL_WCTYPE_H */ parted-2.3/lib/fpending.c0000644000000000000000000000204511370541031012224 00000000000000/* fpending.c -- return the number of pending output bytes on a stream Copyright (C) 2000, 2004, 2006-2007, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ #include #include "fpending.h" /* Return the number of pending (aka buffered, unflushed) bytes on the stream, FP, that is open for writing. */ size_t __fpending (FILE *fp) { return PENDING_OUTPUT_N_BYTES; } parted-2.3/lib/unlink.c0000644000000000000000000000650211370541032011735 00000000000000/* Work around unlink bugs. Copyright (C) 2009, 2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include #include #include #undef unlink /* Remove file NAME. Return 0 if successful, -1 if not. */ int rpl_unlink (char const *name) { /* Work around Solaris 9 bug where unlink("file/") succeeds. */ size_t len = strlen (name); int result = 0; if (len && ISSLASH (name[len - 1])) { /* We can't unlink(2) something if it doesn't exist. If it does exist, then it resolved to a directory, due to the trailing slash, and POSIX requires that the unlink attempt to remove that directory (which would leave the symlink dangling). Unfortunately, Solaris 9 is one of the platforms where the root user can unlink directories, and we don't want to cripple this behavior on real directories, even if it is seldom needed (at any rate, it's nicer to let coreutils' unlink(1) give the correct errno for non-root users). But we don't know whether name was an actual directory, or a symlink to a directory; and due to the bug of ignoring trailing slash, Solaris 9 would end up successfully unlinking the symlink instead of the directory. Technically, we could use realpath to find the canonical directory name to attempt deletion on. But that is a lot of work for a corner case; so we instead just use an lstat on the shortened name, and reject symlinks with trailing slashes. The root user of unlink(1) will just have to live with the rule that they can't delete a directory via a symlink. */ struct stat st; result = lstat (name, &st); if (result == 0) { /* Trailing NUL will overwrite the trailing slash. */ char *short_name = malloc (len); if (!short_name) { errno = EPERM; return -1; } memcpy (short_name, name, len); while (len && ISSLASH (short_name[len - 1])) short_name[--len] = '\0'; if (len && (lstat (short_name, &st) || S_ISLNK (st.st_mode))) { free (short_name); errno = EPERM; return -1; } free (short_name); } } if (!result) { #if UNLINK_PARENT_BUG if (len >= 2 && name[len - 1] == '.' && name[len - 2] == '.' && (len == 2 || ISSLASH (name[len - 3]))) { errno = EISDIR; /* could also use EPERM */ return -1; } #endif result = unlink (name); } return result; } parted-2.3/lib/Makefile.in0000644000000000000000000030262611400005573012343 00000000000000# Makefile.in generated by automake 1.11a from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # Copyright (C) 2002-2010 Free Software Foundation, Inc. # # This file is free software, distributed under the terms of the GNU # General Public License. As a special exception to the GNU General # Public License, this file may be distributed as part of a program # that contains a configuration script generated by Autoconf, under # the same distribution terms as the rest of that program. # # Generated by gnulib-tool. # Reproduce by: gnulib-tool --import --dir=. --local-dir=gl --lib=libgnulib --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=gnulib-tests --aux-dir=build-aux --with-tests --avoid=dummy --avoid=lock --libtool --macro-prefix=gl alloca announce-gen argmatch assert calloc canonicalize-lgpl close closeout config-h configmake dirname do-release-commit-and-tag fdl fsync gettext-h git-version-gen gitlog-to-changelog gnu-web-doc-update gnumakefile gnupload inttypes lib-ignore long-options lseek maintainer-makefile malloc manywarnings mkstemp mktempd progname realloc rpmatch safe-read stdbool strdup-posix unlink update-copyright useless-if-before-free usleep vc-list-files version-etc-fsf warnings xstrtol VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(srcdir)/config.h.in \ $(srcdir)/gnulib.mk alloca.c subdir = lib ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \ $(top_srcdir)/m4/asm-underscore.m4 $(top_srcdir)/m4/assert.m4 \ $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/calloc.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \ $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/dirname.m4 \ $(top_srcdir)/m4/dos.m4 $(top_srcdir)/m4/double-slash-root.m4 \ $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/extensions.m4 \ $(top_srcdir)/m4/fclose.m4 $(top_srcdir)/m4/fcntl-o.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fpending.m4 \ $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getopt.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \ $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/lib-ignore.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \ $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \ $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/long-options.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \ $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/memchr.m4 \ $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \ $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/o-direct.m4 $(top_srcdir)/m4/open.m4 \ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \ $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/readlink.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/safe-read.m4 \ $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \ $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/symlink.m4 \ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \ $(top_srcdir)/m4/version-etc.m4 \ $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \ $(top_srcdir)/m4/wctype_h.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xstrndup.m4 \ $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LIBRARIES = $(noinst_LIBRARIES) LTLIBRARIES = $(noinst_LTLIBRARIES) am__DEPENDENCIES_1 = am_libgnulib_la_OBJECTS = close-hook.lo exitfail.lo localcharset.lo \ malloca.lo progname.lo version-etc.lo version-etc-fsf.lo \ xalloc-die.lo xstrndup.lo libgnulib_la_OBJECTS = $(am_libgnulib_la_OBJECTS) AM_V_lt = $(am__v_lt_$(V)) am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) am__v_lt_0 = --silent libgnulib_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(libgnulib_la_LDFLAGS) $(LDFLAGS) -o $@ DEFAULT_INCLUDES = -I.@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_$(V)) am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) am__v_CC_0 = @echo " CC " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_$(V)) am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) am__v_CCLD_0 = @echo " CCLD " $@; AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; SOURCES = $(libgnulib_la_SOURCES) $(EXTRA_libgnulib_la_SOURCES) DIST_SOURCES = $(libgnulib_la_SOURCES) $(EXTRA_libgnulib_la_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 HEADERS = $(noinst_HEADERS) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ distdir ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ BUILDINFO = @BUILDINFO@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ CONFIG_INCLUDE = @CONFIG_INCLUDE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DL_LIBS = @DL_LIBS@ DM_LIBS = @DM_LIBS@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENABLE_DEVICE_MAPPER = @ENABLE_DEVICE_MAPPER@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPURGE = @GNULIB_FPURGE@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSTATAT = @GNULIB_FSTATAT@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETGROUPS = @GNULIB_GETGROUPS@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMCHR = @GNULIB_MEMCHR@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDIRAT = @GNULIB_MKDIRAT@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKFIFO = @GNULIB_MKFIFO@ GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@ GNULIB_MKNOD = @GNULIB_MKNOD@ GNULIB_MKNODAT = @GNULIB_MKNODAT@ GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PTSNAME = @GNULIB_PTSNAME@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ GNULIB_RMDIR = @GNULIB_RMDIR@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STAT = @GNULIB_STAT@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNCAT = @GNULIB_STRNCAT@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRPTIME = @GNULIB_STRPTIME@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNLINK = @GNULIB_UNLINK@ GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_USLEEP = @GNULIB_USLEEP@ GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_FUTIMENS = @HAVE_FUTIMENS@ HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETGROUPS = @HAVE_GETGROUPS@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@ HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@ HAVE_LANGINFO_H = @HAVE_LANGINFO_H@ HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LCHOWN = @HAVE_LCHOWN@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LOCALTIME_R = @HAVE_LOCALTIME_R@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_MKFIFO = @HAVE_MKFIFO@ HAVE_MKFIFOAT = @HAVE_MKFIFOAT@ HAVE_MKNOD = @HAVE_MKNOD@ HAVE_MKNODAT = @HAVE_MKNODAT@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ HAVE_OS_H = @HAVE_OS_H@ HAVE_PIPE2 = @HAVE_PIPE2@ HAVE_PREAD = @HAVE_PREAD@ HAVE_PTSNAME = @HAVE_PTSNAME@ HAVE_PWRITE = @HAVE_PWRITE@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TTYNAME_R = @HAVE_TTYNAME_R@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_USLEEP = @HAVE_USLEEP@ HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ HAVE_WCRTOMB = @HAVE_WCRTOMB@ HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE__BOOL = @HAVE__BOOL@ IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ INTLINCS = @INTLINCS@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ LIBTOOL = @LIBTOOL@ LIB_BLKID = @LIB_BLKID@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@ LOCALE_JA = @LOCALE_JA@ LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTALLOCA = @LTALLOCA@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ NEXT_WCTYPE_H = @NEXT_WCTYPE_H@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OS = @OS@ OS_LIBS = @OS_LIBS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PARTEDLDFLAGS = @PARTEDLDFLAGS@ PARTED_LIBS = @PARTED_LIBS@ PARTED_USABLE_TEST_DIR = @PARTED_USABLE_TEST_DIR@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POSUB = @POSUB@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PRIPTR_PREFIX = @PRIPTR_PREFIX@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REISER_LIBS = @REISER_LIBS@ REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FSTAT = @REPLACE_FSTAT@ REPLACE_FSTATAT = @REPLACE_FSTATAT@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ REPLACE_MBRLEN = @REPLACE_MBRLEN@ REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ REPLACE_MBSINIT = @REPLACE_MBSINIT@ REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_OPENAT = @REPLACE_OPENAT@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALPATH = @REPLACE_REALPATH@ REPLACE_REMOVE = @REPLACE_REMOVE@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRNCAT = @REPLACE_STRNCAT@ REPLACE_STRNDUP = @REPLACE_STRNDUP@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ REPLACE_UNSETENV = @REPLACE_UNSETENV@ REPLACE_USLEEP = @REPLACE_USLEEP@ REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ SELINUX_LIBS = @SELINUX_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_NLS = @USE_NLS@ UUID_LIBS = @UUID_LIBS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_aux_dir = @abs_aux_dir@ 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@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ gltests_WITNESS = @gltests_WITNESS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AUTOMAKE_OPTIONS = 1.5 gnits SUBDIRS = noinst_HEADERS = noinst_LIBRARIES = noinst_LTLIBRARIES = libgnulib.la EXTRA_DIST = alloca.c alloca.in.h $(top_srcdir)/build-aux/announce-gen \ $(top_srcdir)/build-aux/arg-nonnull.h argmatch.c argmatch.h \ btowc.c $(top_srcdir)/build-aux/c++defs.h calloc.c calloc.c \ canonicalize-lgpl.c close.c close-hook.h close-stream.c \ close-stream.h closeout.c closeout.h basename.c dirname.c \ stripslash.c basename-lgpl.c dirname-lgpl.c dirname.h \ stripslash.c $(top_srcdir)/build-aux/do-release-commit-and-tag \ errno.in.h error.c error.h exitfail.h fclose.c fpending.c \ fpending.h fsync.c $(top_srcdir)/build-aux/gendocs.sh getopt.c \ getopt.in.h getopt1.c getopt_int.h gettimeofday.c \ $(top_srcdir)/build-aux/git-version-gen \ $(top_srcdir)/build-aux/gitlog-to-changelog \ $(top_srcdir)/build-aux/gnu-web-doc-update \ $(top_srcdir)/GNUmakefile $(top_srcdir)/build-aux/gnupload \ intprops.h inttypes.in.h langinfo.in.h config.charset \ ref-add.sin ref-del.sin long-options.c long-options.h lseek.c \ lstat.c $(top_srcdir)/maint.mk malloc.c malloc.c malloca.h \ malloca.valgrind mbrtowc.c mbsinit.c memchr.c memchr.valgrind \ mkstemp.c $(top_srcdir)/build-aux/mktempd nl_langinfo.c \ pathmax.h quote.c quote.h quotearg.c quotearg.h readlink.c \ realloc.c realloc.c regcomp.c regex.c regex.h regex_internal.c \ regex_internal.h regexec.c rpmatch.c safe-read.c safe-read.h \ sleep.c stat.c stdarg.in.h stdbool.in.h stddef.in.h \ stdint.in.h stdio-write.c stdio.in.h stdlib.in.h strdup.c \ streq.h strerror.c string.in.h strndup.c strnlen.c \ sys_stat.in.h sys_time.in.h tempname.c tempname.h time.in.h \ unistd.in.h unlink.c $(top_srcdir)/build-aux/update-copyright \ $(top_srcdir)/build-aux/useless-if-before-free usleep.c \ $(top_srcdir)/build-aux/vc-list-files \ $(top_srcdir)/build-aux/warn-on-use.h wchar.in.h wcrtomb.c \ wctype.in.h xalloc.h xmalloc.c xstrtol-error.c xstrtol.c \ xstrtol.h xstrtoul.c # The BUILT_SOURCES created by this Makefile snippet are not used via #include # statements but through direct file reference. Therefore this snippet must be # present in all Makefile.am that need it. This is ensured by the applicability # 'all' defined above. # The BUILT_SOURCES created by this Makefile snippet are not used via #include # statements but through direct file reference. Therefore this snippet must be # present in all Makefile.am that need it. This is ensured by the applicability # 'all' defined above. BUILT_SOURCES = $(ALLOCA_H) arg-nonnull.h c++defs.h configmake.h \ $(ERRNO_H) $(GETOPT_H) inttypes.h langinfo.h $(STDARG_H) \ $(STDBOOL_H) $(STDDEF_H) $(STDINT_H) stdio.h stdlib.h string.h \ sys/stat.h sys/time.h time.h unistd.h warn-on-use.h wchar.h \ wctype.h SUFFIXES = .sed .sin MOSTLYCLEANFILES = core *.stackdump alloca.h alloca.h-t arg-nonnull.h \ arg-nonnull.h-t c++defs.h c++defs.h-t errno.h errno.h-t \ getopt.h getopt.h-t inttypes.h inttypes.h-t langinfo.h \ langinfo.h-t stdarg.h stdarg.h-t stdbool.h stdbool.h-t \ stddef.h stddef.h-t stdint.h stdint.h-t stdio.h stdio.h-t \ stdlib.h stdlib.h-t string.h string.h-t sys/stat.h \ sys/stat.h-t sys/time.h sys/time.h-t time.h time.h-t unistd.h \ unistd.h-t warn-on-use.h warn-on-use.h-t wchar.h wchar.h-t \ wctype.h wctype.h-t MOSTLYCLEANDIRS = sys CLEANFILES = configmake.h configmake.h-t charset.alias ref-add.sed \ ref-del.sed DISTCLEANFILES = MAINTAINERCLEANFILES = AM_CPPFLAGS = AM_CFLAGS = libgnulib_la_SOURCES = close-hook.c exitfail.c gettext.h \ localcharset.h localcharset.c malloca.c progname.h progname.c \ verify.h version-etc.h version-etc.c version-etc-fsf.c \ xalloc-die.c xstrndup.h xstrndup.c libgnulib_la_LIBADD = $(gl_LTLIBOBJS) @LTALLOCA@ libgnulib_la_DEPENDENCIES = $(gl_LTLIBOBJS) @LTALLOCA@ EXTRA_libgnulib_la_SOURCES = alloca.c argmatch.c btowc.c calloc.c \ calloc.c canonicalize-lgpl.c close.c close-stream.c closeout.c \ basename.c dirname.c stripslash.c basename-lgpl.c \ dirname-lgpl.c stripslash.c error.c fclose.c fpending.c \ fsync.c getopt.c getopt1.c gettimeofday.c long-options.c \ lseek.c lstat.c malloc.c malloc.c mbrtowc.c mbsinit.c memchr.c \ mkstemp.c nl_langinfo.c quote.c quotearg.c readlink.c \ realloc.c realloc.c regcomp.c regex.c regex_internal.c \ regexec.c rpmatch.c safe-read.c sleep.c stat.c stdio-write.c \ strdup.c strerror.c strndup.c strnlen.c tempname.c unlink.c \ usleep.c wcrtomb.c xmalloc.c xstrtol-error.c xstrtol.c \ xstrtoul.c libgnulib_la_LDFLAGS = $(AM_LDFLAGS) ARG_NONNULL_H = arg-nonnull.h CXXDEFS_H = c++defs.h charset_alias = $(DESTDIR)$(libdir)/charset.alias charset_tmp = $(DESTDIR)$(libdir)/charset.tmp WARN_ON_USE_H = warn-on-use.h all: $(BUILT_SOURCES) config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: .SUFFIXES: .sed .sin .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/gnulib.mk $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits lib/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnits lib/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): 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 lib/config.h $(srcdir)/config.h.in: $(am__configure_deps) ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) rm -f stamp-h1 touch $@ distclean-hdr: -rm -f config.h stamp-h1 clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libgnulib.la: $(libgnulib_la_OBJECTS) $(libgnulib_la_DEPENDENCIES) $(AM_V_CCLD)$(libgnulib_la_LINK) $(libgnulib_la_OBJECTS) $(libgnulib_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/alloca.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alloca.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/argmatch.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basename-lgpl.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basename.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/btowc.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/calloc.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/canonicalize-lgpl.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/close-hook.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/close-stream.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/close.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/closeout.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirname-lgpl.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirname.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/error.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exitfail.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fclose.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fpending.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fsync.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt1.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gettimeofday.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/localcharset.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/long-options.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lseek.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lstat.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/malloc.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/malloca.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbrtowc.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbsinit.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memchr.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkstemp.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nl_langinfo.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/progname.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quote.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quotearg.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readlink.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/realloc.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regcomp.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regex.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regex_internal.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regexec.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rpmatch.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/safe-read.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sleep.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stat.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stdio-write.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strdup.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strerror.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stripslash.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strndup.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strnlen.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tempname.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unlink.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/usleep.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version-etc-fsf.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version-etc.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wcrtomb.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xalloc-die.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmalloc.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrndup.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrtol-error.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrtol.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrtoul.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done cscopelist-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) check-recursive all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(HEADERS) config.h \ all-local installdirs: installdirs-recursive installdirs-am: install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(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 mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-recursive clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \ clean-noinstLTLIBRARIES mostlyclean-am distclean: distclean-recursive -rm -rf $(DEPDIR) ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-hdr distclean-local distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-exec-local install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -rf $(DEPDIR) ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool mostlyclean-local pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-local .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \ cscopelist-recursive ctags-recursive install install-am \ install-strip tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am all-local check check-am clean clean-generic \ clean-libtool clean-noinstLIBRARIES clean-noinstLTLIBRARIES \ cscopelist cscopelist-recursive ctags ctags-recursive \ distclean distclean-compile distclean-generic distclean-hdr \ distclean-libtool distclean-local distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-exec-local install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool mostlyclean-local pdf pdf-am ps ps-am tags \ tags-recursive uninstall uninstall-am uninstall-local # We need the following in order to create when the system # doesn't have one that works with the given compiler. alloca.h: alloca.in.h $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ cat $(srcdir)/alloca.in.h; \ } > $@-t && \ mv -f $@-t $@ # The arg-nonnull.h that gets inserted into generated .h files is the same as # build-aux/arg-nonnull.h, except that it has the copyright header cut off. arg-nonnull.h: $(top_srcdir)/build-aux/arg-nonnull.h $(AM_V_GEN)rm -f $@-t $@ && \ sed -n -e '/GL_ARG_NONNULL/,$$p' \ < $(top_srcdir)/build-aux/arg-nonnull.h \ > $@-t && \ mv $@-t $@ # The c++defs.h that gets inserted into generated .h files is the same as # build-aux/c++defs.h, except that it has the copyright header cut off. c++defs.h: $(top_srcdir)/build-aux/c++defs.h $(AM_V_GEN)rm -f $@-t $@ && \ sed -n -e '/_GL_CXXDEFS/,$$p' \ < $(top_srcdir)/build-aux/c++defs.h \ > $@-t && \ mv $@-t $@ # Retrieve values of the variables through 'configure' followed by # 'make', not directly through 'configure', so that a user who # sets some of these variables consistently on the 'make' command # line gets correct results. # # One advantage of this approach, compared to the classical # approach of adding -DLIBDIR=\"$(libdir)\" etc. to AM_CPPFLAGS, # is that it protects against the use of undefined variables. # If, say, $(libdir) is not set in the Makefile, LIBDIR is not # defined by this module, and code using LIBDIR gives a # compilation error. # # Another advantage is that 'make' output is shorter. # # Listed in the same order as the GNU makefile conventions. # The Automake-defined pkg* macros are appended, in the order # listed in the Automake 1.10a+ documentation. configmake.h: Makefile $(AM_V_GEN)rm -f $@-t && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ echo '#define PREFIX "$(prefix)"'; \ echo '#define EXEC_PREFIX "$(exec_prefix)"'; \ echo '#define BINDIR "$(bindir)"'; \ echo '#define SBINDIR "$(sbindir)"'; \ echo '#define LIBEXECDIR "$(libexecdir)"'; \ echo '#define DATAROOTDIR "$(datarootdir)"'; \ echo '#define DATADIR "$(datadir)"'; \ echo '#define SYSCONFDIR "$(sysconfdir)"'; \ echo '#define SHAREDSTATEDIR "$(sharedstatedir)"'; \ echo '#define LOCALSTATEDIR "$(localstatedir)"'; \ echo '#define INCLUDEDIR "$(includedir)"'; \ echo '#define OLDINCLUDEDIR "$(oldincludedir)"'; \ echo '#define DOCDIR "$(docdir)"'; \ echo '#define INFODIR "$(infodir)"'; \ echo '#define HTMLDIR "$(htmldir)"'; \ echo '#define DVIDIR "$(dvidir)"'; \ echo '#define PDFDIR "$(pdfdir)"'; \ echo '#define PSDIR "$(psdir)"'; \ echo '#define LIBDIR "$(libdir)"'; \ echo '#define LISPDIR "$(lispdir)"'; \ echo '#define LOCALEDIR "$(localedir)"'; \ echo '#define MANDIR "$(mandir)"'; \ echo '#define MANEXT "$(manext)"'; \ echo '#define PKGDATADIR "$(pkgdatadir)"'; \ echo '#define PKGINCLUDEDIR "$(pkgincludedir)"'; \ echo '#define PKGLIBDIR "$(pkglibdir)"'; \ echo '#define PKGLIBEXECDIR "$(pkglibexecdir)"'; \ } | sed '/""/d' > $@-t && \ if test -f $@ && cmp $@-t $@ > /dev/null; then \ rm -f $@-t; \ else \ rm -f $@; mv $@-t $@; \ fi # We need the following in order to create when the system # doesn't have one that is POSIX compliant. errno.h: errno.in.h $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''NEXT_ERRNO_H''@|$(NEXT_ERRNO_H)|g' \ -e 's|@''EMULTIHOP_HIDDEN''@|$(EMULTIHOP_HIDDEN)|g' \ -e 's|@''EMULTIHOP_VALUE''@|$(EMULTIHOP_VALUE)|g' \ -e 's|@''ENOLINK_HIDDEN''@|$(ENOLINK_HIDDEN)|g' \ -e 's|@''ENOLINK_VALUE''@|$(ENOLINK_VALUE)|g' \ -e 's|@''EOVERFLOW_HIDDEN''@|$(EOVERFLOW_HIDDEN)|g' \ -e 's|@''EOVERFLOW_VALUE''@|$(EOVERFLOW_VALUE)|g' \ < $(srcdir)/errno.in.h; \ } > $@-t && \ mv $@-t $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. getopt.h: getopt.in.h $(ARG_NONNULL_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''HAVE_GETOPT_H''@|$(HAVE_GETOPT_H)|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''NEXT_GETOPT_H''@|$(NEXT_GETOPT_H)|g' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ < $(srcdir)/getopt.in.h; \ } > $@-t && \ mv -f $@-t $@ distclean-local: clean-GNUmakefile clean-GNUmakefile: test x'$(VPATH)' != x && rm -f $(top_builddir)/GNUmakefile || : # We need the following in order to create when the system # doesn't have one that works with the given compiler. inttypes.h: inttypes.in.h $(WARN_ON_USE_H) $(ARG_NONNULL_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''NEXT_INTTYPES_H''@|$(NEXT_INTTYPES_H)|g' \ -e 's/@''PRI_MACROS_BROKEN''@/$(PRI_MACROS_BROKEN)/g' \ -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \ -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \ -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \ -e 's/@''PRIPTR_PREFIX''@/$(PRIPTR_PREFIX)/g' \ -e 's/@''GNULIB_IMAXABS''@/$(GNULIB_IMAXABS)/g' \ -e 's/@''GNULIB_IMAXDIV''@/$(GNULIB_IMAXDIV)/g' \ -e 's/@''GNULIB_STRTOIMAX''@/$(GNULIB_STRTOIMAX)/g' \ -e 's/@''GNULIB_STRTOUMAX''@/$(GNULIB_STRTOUMAX)/g' \ -e 's/@''HAVE_DECL_IMAXABS''@/$(HAVE_DECL_IMAXABS)/g' \ -e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \ -e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \ -e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \ -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \ -e 's/@''INT64_MAX_EQ_LONG_MAX''@/$(INT64_MAX_EQ_LONG_MAX)/g' \ -e 's/@''UINT32_MAX_LT_UINTMAX_MAX''@/$(UINT32_MAX_LT_UINTMAX_MAX)/g' \ -e 's/@''UINT64_MAX_EQ_ULONG_MAX''@/$(UINT64_MAX_EQ_ULONG_MAX)/g' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(srcdir)/inttypes.in.h; \ } > $@-t && \ mv $@-t $@ # We need the following in order to create an empty placeholder for # when the system doesn't have one. langinfo.h: langinfo.in.h $(CXXDEFS_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''HAVE_LANGINFO_H''@|$(HAVE_LANGINFO_H)|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''NEXT_LANGINFO_H''@|$(NEXT_LANGINFO_H)|g' \ -e 's|@''GNULIB_NL_LANGINFO''@|$(GNULIB_NL_LANGINFO)|g' \ -e 's|@''HAVE_LANGINFO_CODESET''@|$(HAVE_LANGINFO_CODESET)|g' \ -e 's|@''HAVE_LANGINFO_ERA''@|$(HAVE_LANGINFO_ERA)|g' \ -e 's|@''HAVE_NL_LANGINFO''@|$(HAVE_NL_LANGINFO)|g' \ -e 's|@''REPLACE_NL_LANGINFO''@|$(REPLACE_NL_LANGINFO)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(srcdir)/langinfo.in.h; \ } > $@-t && \ mv $@-t $@ # We need the following in order to install a simple file in $(libdir) # which is shared with other installed packages. We use a list of referencing # packages so that "make uninstall" will remove the file if and only if it # is not used by another installed package. # On systems with glibc-2.1 or newer, the file is redundant, therefore we # avoid installing it. all-local: charset.alias ref-add.sed ref-del.sed install-exec-local: install-exec-localcharset install-exec-localcharset: all-local if test $(GLIBC21) = no; then \ case '$(host_os)' in \ darwin[56]*) \ need_charset_alias=true ;; \ darwin* | cygwin* | mingw* | pw32* | cegcc*) \ need_charset_alias=false ;; \ *) \ need_charset_alias=true ;; \ esac ; \ else \ need_charset_alias=false ; \ fi ; \ if $$need_charset_alias; then \ $(mkinstalldirs) $(DESTDIR)$(libdir) ; \ fi ; \ if test -f $(charset_alias); then \ sed -f ref-add.sed $(charset_alias) > $(charset_tmp) ; \ $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \ rm -f $(charset_tmp) ; \ else \ if $$need_charset_alias; then \ sed -f ref-add.sed charset.alias > $(charset_tmp) ; \ $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \ rm -f $(charset_tmp) ; \ fi ; \ fi uninstall-local: uninstall-localcharset uninstall-localcharset: all-local if test -f $(charset_alias); then \ sed -f ref-del.sed $(charset_alias) > $(charset_tmp); \ if grep '^# Packages using this file: $$' $(charset_tmp) \ > /dev/null; then \ rm -f $(charset_alias); \ else \ $(INSTALL_DATA) $(charset_tmp) $(charset_alias); \ fi; \ rm -f $(charset_tmp); \ fi charset.alias: config.charset $(AM_V_GEN)rm -f t-$@ $@ && \ $(SHELL) $(srcdir)/config.charset '$(host)' > t-$@ && \ mv t-$@ $@ .sin.sed: $(AM_V_GEN)rm -f t-$@ $@ && \ sed -e '/^#/d' -e 's/@''PACKAGE''@/$(PACKAGE)/g' $< > t-$@ && \ mv t-$@ $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. stdarg.h: stdarg.in.h $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''NEXT_STDARG_H''@|$(NEXT_STDARG_H)|g' \ < $(srcdir)/stdarg.in.h; \ } > $@-t && \ mv $@-t $@ # We need the following in order to create when the system # doesn't have one that works. stdbool.h: stdbool.in.h $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(srcdir)/stdbool.in.h; \ } > $@-t && \ mv $@-t $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. stddef.h: stddef.in.h $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''NEXT_STDDEF_H''@|$(NEXT_STDDEF_H)|g' \ -e 's|@''HAVE_WCHAR_T''@|$(HAVE_WCHAR_T)|g' \ -e 's|@''REPLACE_NULL''@|$(REPLACE_NULL)|g' \ < $(srcdir)/stddef.in.h; \ } > $@-t && \ mv $@-t $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. stdint.h: stdint.in.h $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \ -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \ -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \ -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \ -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \ -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \ -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \ -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \ -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \ -e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \ -e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/$(BITSIZEOF_SIG_ATOMIC_T)/g' \ -e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/$(HAVE_SIGNED_SIG_ATOMIC_T)/g' \ -e 's/@''SIG_ATOMIC_T_SUFFIX''@/$(SIG_ATOMIC_T_SUFFIX)/g' \ -e 's/@''BITSIZEOF_SIZE_T''@/$(BITSIZEOF_SIZE_T)/g' \ -e 's/@''SIZE_T_SUFFIX''@/$(SIZE_T_SUFFIX)/g' \ -e 's/@''BITSIZEOF_WCHAR_T''@/$(BITSIZEOF_WCHAR_T)/g' \ -e 's/@''HAVE_SIGNED_WCHAR_T''@/$(HAVE_SIGNED_WCHAR_T)/g' \ -e 's/@''WCHAR_T_SUFFIX''@/$(WCHAR_T_SUFFIX)/g' \ -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \ -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \ -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \ < $(srcdir)/stdint.in.h; \ } > $@-t && \ mv $@-t $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. stdio.h: stdio.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \ -e 's|@''GNULIB_DPRINTF''@|$(GNULIB_DPRINTF)|g' \ -e 's|@''GNULIB_FCLOSE''@|$(GNULIB_FCLOSE)|g' \ -e 's|@''GNULIB_FFLUSH''@|$(GNULIB_FFLUSH)|g' \ -e 's|@''GNULIB_FOPEN''@|$(GNULIB_FOPEN)|g' \ -e 's|@''GNULIB_FPRINTF''@|$(GNULIB_FPRINTF)|g' \ -e 's|@''GNULIB_FPRINTF_POSIX''@|$(GNULIB_FPRINTF_POSIX)|g' \ -e 's|@''GNULIB_FPURGE''@|$(GNULIB_FPURGE)|g' \ -e 's|@''GNULIB_FPUTC''@|$(GNULIB_FPUTC)|g' \ -e 's|@''GNULIB_FPUTS''@|$(GNULIB_FPUTS)|g' \ -e 's|@''GNULIB_FREOPEN''@|$(GNULIB_FREOPEN)|g' \ -e 's|@''GNULIB_FSEEK''@|$(GNULIB_FSEEK)|g' \ -e 's|@''GNULIB_FSEEKO''@|$(GNULIB_FSEEKO)|g' \ -e 's|@''GNULIB_FTELL''@|$(GNULIB_FTELL)|g' \ -e 's|@''GNULIB_FTELLO''@|$(GNULIB_FTELLO)|g' \ -e 's|@''GNULIB_FWRITE''@|$(GNULIB_FWRITE)|g' \ -e 's|@''GNULIB_GETDELIM''@|$(GNULIB_GETDELIM)|g' \ -e 's|@''GNULIB_GETLINE''@|$(GNULIB_GETLINE)|g' \ -e 's|@''GNULIB_OBSTACK_PRINTF''@|$(GNULIB_OBSTACK_PRINTF)|g' \ -e 's|@''GNULIB_OBSTACK_PRINTF_POSIX''@|$(GNULIB_OBSTACK_PRINTF_POSIX)|g' \ -e 's|@''GNULIB_PERROR''@|$(GNULIB_PERROR)|g' \ -e 's|@''GNULIB_POPEN''@|$(GNULIB_POPEN)|g' \ -e 's|@''GNULIB_PRINTF''@|$(GNULIB_PRINTF)|g' \ -e 's|@''GNULIB_PRINTF_POSIX''@|$(GNULIB_PRINTF_POSIX)|g' \ -e 's|@''GNULIB_PUTC''@|$(GNULIB_PUTC)|g' \ -e 's|@''GNULIB_PUTCHAR''@|$(GNULIB_PUTCHAR)|g' \ -e 's|@''GNULIB_PUTS''@|$(GNULIB_PUTS)|g' \ -e 's|@''GNULIB_REMOVE''@|$(GNULIB_REMOVE)|g' \ -e 's|@''GNULIB_RENAME''@|$(GNULIB_RENAME)|g' \ -e 's|@''GNULIB_RENAMEAT''@|$(GNULIB_RENAMEAT)|g' \ -e 's|@''GNULIB_SNPRINTF''@|$(GNULIB_SNPRINTF)|g' \ -e 's|@''GNULIB_SPRINTF_POSIX''@|$(GNULIB_SPRINTF_POSIX)|g' \ -e 's|@''GNULIB_STDIO_H_SIGPIPE''@|$(GNULIB_STDIO_H_SIGPIPE)|g' \ -e 's|@''GNULIB_TMPFILE''@|$(GNULIB_TMPFILE)|g' \ -e 's|@''GNULIB_VASPRINTF''@|$(GNULIB_VASPRINTF)|g' \ -e 's|@''GNULIB_VDPRINTF''@|$(GNULIB_VDPRINTF)|g' \ -e 's|@''GNULIB_VFPRINTF''@|$(GNULIB_VFPRINTF)|g' \ -e 's|@''GNULIB_VFPRINTF_POSIX''@|$(GNULIB_VFPRINTF_POSIX)|g' \ -e 's|@''GNULIB_VPRINTF''@|$(GNULIB_VPRINTF)|g' \ -e 's|@''GNULIB_VPRINTF_POSIX''@|$(GNULIB_VPRINTF_POSIX)|g' \ -e 's|@''GNULIB_VSNPRINTF''@|$(GNULIB_VSNPRINTF)|g' \ -e 's|@''GNULIB_VSPRINTF_POSIX''@|$(GNULIB_VSPRINTF_POSIX)|g' \ < $(srcdir)/stdio.in.h | \ sed -e 's|@''HAVE_DECL_FPURGE''@|$(HAVE_DECL_FPURGE)|g' \ -e 's|@''HAVE_DECL_GETDELIM''@|$(HAVE_DECL_GETDELIM)|g' \ -e 's|@''HAVE_DECL_GETLINE''@|$(HAVE_DECL_GETLINE)|g' \ -e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|$(HAVE_DECL_OBSTACK_PRINTF)|g' \ -e 's|@''HAVE_DECL_SNPRINTF''@|$(HAVE_DECL_SNPRINTF)|g' \ -e 's|@''HAVE_DECL_VSNPRINTF''@|$(HAVE_DECL_VSNPRINTF)|g' \ -e 's|@''HAVE_DPRINTF''@|$(HAVE_DPRINTF)|g' \ -e 's|@''HAVE_FSEEKO''@|$(HAVE_FSEEKO)|g' \ -e 's|@''HAVE_FTELLO''@|$(HAVE_FTELLO)|g' \ -e 's|@''HAVE_RENAMEAT''@|$(HAVE_RENAMEAT)|g' \ -e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \ -e 's|@''HAVE_VDPRINTF''@|$(HAVE_VDPRINTF)|g' \ -e 's|@''REPLACE_DPRINTF''@|$(REPLACE_DPRINTF)|g' \ -e 's|@''REPLACE_FCLOSE''@|$(REPLACE_FCLOSE)|g' \ -e 's|@''REPLACE_FFLUSH''@|$(REPLACE_FFLUSH)|g' \ -e 's|@''REPLACE_FOPEN''@|$(REPLACE_FOPEN)|g' \ -e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \ -e 's|@''REPLACE_FPURGE''@|$(REPLACE_FPURGE)|g' \ -e 's|@''REPLACE_FREOPEN''@|$(REPLACE_FREOPEN)|g' \ -e 's|@''REPLACE_FSEEK''@|$(REPLACE_FSEEK)|g' \ -e 's|@''REPLACE_FSEEKO''@|$(REPLACE_FSEEKO)|g' \ -e 's|@''REPLACE_FTELL''@|$(REPLACE_FTELL)|g' \ -e 's|@''REPLACE_FTELLO''@|$(REPLACE_FTELLO)|g' \ -e 's|@''REPLACE_GETDELIM''@|$(REPLACE_GETDELIM)|g' \ -e 's|@''REPLACE_GETLINE''@|$(REPLACE_GETLINE)|g' \ -e 's|@''REPLACE_OBSTACK_PRINTF''@|$(REPLACE_OBSTACK_PRINTF)|g' \ -e 's|@''REPLACE_PERROR''@|$(REPLACE_PERROR)|g' \ -e 's|@''REPLACE_POPEN''@|$(REPLACE_POPEN)|g' \ -e 's|@''REPLACE_PRINTF''@|$(REPLACE_PRINTF)|g' \ -e 's|@''REPLACE_REMOVE''@|$(REPLACE_REMOVE)|g' \ -e 's|@''REPLACE_RENAME''@|$(REPLACE_RENAME)|g' \ -e 's|@''REPLACE_RENAMEAT''@|$(REPLACE_RENAMEAT)|g' \ -e 's|@''REPLACE_SNPRINTF''@|$(REPLACE_SNPRINTF)|g' \ -e 's|@''REPLACE_SPRINTF''@|$(REPLACE_SPRINTF)|g' \ -e 's|@''REPLACE_STDIO_WRITE_FUNCS''@|$(REPLACE_STDIO_WRITE_FUNCS)|g' \ -e 's|@''REPLACE_TMPFILE''@|$(REPLACE_TMPFILE)|g' \ -e 's|@''REPLACE_VASPRINTF''@|$(REPLACE_VASPRINTF)|g' \ -e 's|@''REPLACE_VDPRINTF''@|$(REPLACE_VDPRINTF)|g' \ -e 's|@''REPLACE_VFPRINTF''@|$(REPLACE_VFPRINTF)|g' \ -e 's|@''REPLACE_VPRINTF''@|$(REPLACE_VPRINTF)|g' \ -e 's|@''REPLACE_VSNPRINTF''@|$(REPLACE_VSNPRINTF)|g' \ -e 's|@''REPLACE_VSPRINTF''@|$(REPLACE_VSPRINTF)|g' \ -e 's|@''ASM_SYMBOL_PREFIX''@|$(ASM_SYMBOL_PREFIX)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ } > $@-t && \ mv $@-t $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. stdlib.h: stdlib.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \ -e 's|@''GNULIB_ATOLL''@|$(GNULIB_ATOLL)|g' \ -e 's|@''GNULIB_CALLOC_POSIX''@|$(GNULIB_CALLOC_POSIX)|g' \ -e 's|@''GNULIB_CANONICALIZE_FILE_NAME''@|$(GNULIB_CANONICALIZE_FILE_NAME)|g' \ -e 's|@''GNULIB_GETLOADAVG''@|$(GNULIB_GETLOADAVG)|g' \ -e 's|@''GNULIB_GETSUBOPT''@|$(GNULIB_GETSUBOPT)|g' \ -e 's|@''GNULIB_GRANTPT''@|$(GNULIB_GRANTPT)|g' \ -e 's|@''GNULIB_MALLOC_POSIX''@|$(GNULIB_MALLOC_POSIX)|g' \ -e 's|@''GNULIB_MKDTEMP''@|$(GNULIB_MKDTEMP)|g' \ -e 's|@''GNULIB_MKOSTEMP''@|$(GNULIB_MKOSTEMP)|g' \ -e 's|@''GNULIB_MKOSTEMPS''@|$(GNULIB_MKOSTEMPS)|g' \ -e 's|@''GNULIB_MKSTEMP''@|$(GNULIB_MKSTEMP)|g' \ -e 's|@''GNULIB_MKSTEMPS''@|$(GNULIB_MKSTEMPS)|g' \ -e 's|@''GNULIB_PTSNAME''@|$(GNULIB_PTSNAME)|g' \ -e 's|@''GNULIB_PUTENV''@|$(GNULIB_PUTENV)|g' \ -e 's|@''GNULIB_RANDOM_R''@|$(GNULIB_RANDOM_R)|g' \ -e 's|@''GNULIB_REALLOC_POSIX''@|$(GNULIB_REALLOC_POSIX)|g' \ -e 's|@''GNULIB_REALPATH''@|$(GNULIB_REALPATH)|g' \ -e 's|@''GNULIB_RPMATCH''@|$(GNULIB_RPMATCH)|g' \ -e 's|@''GNULIB_SETENV''@|$(GNULIB_SETENV)|g' \ -e 's|@''GNULIB_STRTOD''@|$(GNULIB_STRTOD)|g' \ -e 's|@''GNULIB_STRTOLL''@|$(GNULIB_STRTOLL)|g' \ -e 's|@''GNULIB_STRTOULL''@|$(GNULIB_STRTOULL)|g' \ -e 's|@''GNULIB_UNLOCKPT''@|$(GNULIB_UNLOCKPT)|g' \ -e 's|@''GNULIB_UNSETENV''@|$(GNULIB_UNSETENV)|g' \ -e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \ -e 's|@''HAVE_CALLOC_POSIX''@|$(HAVE_CALLOC_POSIX)|g' \ -e 's|@''HAVE_CANONICALIZE_FILE_NAME''@|$(HAVE_CANONICALIZE_FILE_NAME)|g' \ -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \ -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \ -e 's|@''HAVE_GRANTPT''@|$(HAVE_GRANTPT)|g' \ -e 's|@''HAVE_MALLOC_POSIX''@|$(HAVE_MALLOC_POSIX)|g' \ -e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \ -e 's|@''HAVE_MKOSTEMP''@|$(HAVE_MKOSTEMP)|g' \ -e 's|@''HAVE_MKOSTEMPS''@|$(HAVE_MKOSTEMPS)|g' \ -e 's|@''HAVE_MKSTEMP''@|$(HAVE_MKSTEMP)|g' \ -e 's|@''HAVE_MKSTEMPS''@|$(HAVE_MKSTEMPS)|g' \ -e 's|@''HAVE_PTSNAME''@|$(HAVE_PTSNAME)|g' \ -e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \ -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \ -e 's|@''HAVE_REALLOC_POSIX''@|$(HAVE_REALLOC_POSIX)|g' \ -e 's|@''HAVE_REALPATH''@|$(HAVE_REALPATH)|g' \ -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \ -e 's|@''HAVE_SETENV''@|$(HAVE_SETENV)|g' \ -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \ -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \ -e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \ -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|$(HAVE_STRUCT_RANDOM_DATA)|g' \ -e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \ -e 's|@''HAVE_UNLOCKPT''@|$(HAVE_UNLOCKPT)|g' \ -e 's|@''HAVE_UNSETENV''@|$(HAVE_UNSETENV)|g' \ -e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|$(REPLACE_CANONICALIZE_FILE_NAME)|g' \ -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \ -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \ -e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \ -e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \ -e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \ -e 's|@''REPLACE_UNSETENV''@|$(REPLACE_UNSETENV)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(srcdir)/stdlib.in.h; \ } > $@-t && \ mv $@-t $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. string.h: string.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \ -e 's|@''GNULIB_MBSLEN''@|$(GNULIB_MBSLEN)|g' \ -e 's|@''GNULIB_MBSNLEN''@|$(GNULIB_MBSNLEN)|g' \ -e 's|@''GNULIB_MBSCHR''@|$(GNULIB_MBSCHR)|g' \ -e 's|@''GNULIB_MBSRCHR''@|$(GNULIB_MBSRCHR)|g' \ -e 's|@''GNULIB_MBSSTR''@|$(GNULIB_MBSSTR)|g' \ -e 's|@''GNULIB_MBSCASECMP''@|$(GNULIB_MBSCASECMP)|g' \ -e 's|@''GNULIB_MBSNCASECMP''@|$(GNULIB_MBSNCASECMP)|g' \ -e 's|@''GNULIB_MBSPCASECMP''@|$(GNULIB_MBSPCASECMP)|g' \ -e 's|@''GNULIB_MBSCASESTR''@|$(GNULIB_MBSCASESTR)|g' \ -e 's|@''GNULIB_MBSCSPN''@|$(GNULIB_MBSCSPN)|g' \ -e 's|@''GNULIB_MBSPBRK''@|$(GNULIB_MBSPBRK)|g' \ -e 's|@''GNULIB_MBSSPN''@|$(GNULIB_MBSSPN)|g' \ -e 's|@''GNULIB_MBSSEP''@|$(GNULIB_MBSSEP)|g' \ -e 's|@''GNULIB_MBSTOK_R''@|$(GNULIB_MBSTOK_R)|g' \ -e 's|@''GNULIB_MEMCHR''@|$(GNULIB_MEMCHR)|g' \ -e 's|@''GNULIB_MEMMEM''@|$(GNULIB_MEMMEM)|g' \ -e 's|@''GNULIB_MEMPCPY''@|$(GNULIB_MEMPCPY)|g' \ -e 's|@''GNULIB_MEMRCHR''@|$(GNULIB_MEMRCHR)|g' \ -e 's|@''GNULIB_RAWMEMCHR''@|$(GNULIB_RAWMEMCHR)|g' \ -e 's|@''GNULIB_STPCPY''@|$(GNULIB_STPCPY)|g' \ -e 's|@''GNULIB_STPNCPY''@|$(GNULIB_STPNCPY)|g' \ -e 's|@''GNULIB_STRCHRNUL''@|$(GNULIB_STRCHRNUL)|g' \ -e 's|@''GNULIB_STRDUP''@|$(GNULIB_STRDUP)|g' \ -e 's|@''GNULIB_STRNCAT''@|$(GNULIB_STRNCAT)|g' \ -e 's|@''GNULIB_STRNDUP''@|$(GNULIB_STRNDUP)|g' \ -e 's|@''GNULIB_STRNLEN''@|$(GNULIB_STRNLEN)|g' \ -e 's|@''GNULIB_STRPBRK''@|$(GNULIB_STRPBRK)|g' \ -e 's|@''GNULIB_STRSEP''@|$(GNULIB_STRSEP)|g' \ -e 's|@''GNULIB_STRSTR''@|$(GNULIB_STRSTR)|g' \ -e 's|@''GNULIB_STRCASESTR''@|$(GNULIB_STRCASESTR)|g' \ -e 's|@''GNULIB_STRTOK_R''@|$(GNULIB_STRTOK_R)|g' \ -e 's|@''GNULIB_STRERROR''@|$(GNULIB_STRERROR)|g' \ -e 's|@''GNULIB_STRSIGNAL''@|$(GNULIB_STRSIGNAL)|g' \ -e 's|@''GNULIB_STRVERSCMP''@|$(GNULIB_STRVERSCMP)|g' \ < $(srcdir)/string.in.h | \ sed -e 's|@''HAVE_MBSLEN''@|$(HAVE_MBSLEN)|g' \ -e 's|@''HAVE_MEMCHR''@|$(HAVE_MEMCHR)|g' \ -e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \ -e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \ -e 's|@''HAVE_DECL_MEMRCHR''@|$(HAVE_DECL_MEMRCHR)|g' \ -e 's|@''HAVE_RAWMEMCHR''@|$(HAVE_RAWMEMCHR)|g' \ -e 's|@''HAVE_STPCPY''@|$(HAVE_STPCPY)|g' \ -e 's|@''HAVE_STPNCPY''@|$(HAVE_STPNCPY)|g' \ -e 's|@''HAVE_STRCHRNUL''@|$(HAVE_STRCHRNUL)|g' \ -e 's|@''HAVE_DECL_STRDUP''@|$(HAVE_DECL_STRDUP)|g' \ -e 's|@''HAVE_DECL_STRNDUP''@|$(HAVE_DECL_STRNDUP)|g' \ -e 's|@''HAVE_DECL_STRNLEN''@|$(HAVE_DECL_STRNLEN)|g' \ -e 's|@''HAVE_STRPBRK''@|$(HAVE_STRPBRK)|g' \ -e 's|@''HAVE_STRSEP''@|$(HAVE_STRSEP)|g' \ -e 's|@''HAVE_STRCASESTR''@|$(HAVE_STRCASESTR)|g' \ -e 's|@''HAVE_DECL_STRTOK_R''@|$(HAVE_DECL_STRTOK_R)|g' \ -e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \ -e 's|@''HAVE_STRVERSCMP''@|$(HAVE_STRVERSCMP)|g' \ -e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \ -e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \ -e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \ -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \ -e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \ -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \ -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \ -e 's|@''REPLACE_STRNCAT''@|$(REPLACE_STRNCAT)|g' \ -e 's|@''REPLACE_STRNDUP''@|$(REPLACE_STRNDUP)|g' \ -e 's|@''REPLACE_STRNLEN''@|$(REPLACE_STRNLEN)|g' \ -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \ -e 's|@''REPLACE_STRTOK_R''@|$(REPLACE_STRTOK_R)|g' \ -e 's|@''UNDEFINE_STRTOK_R''@|$(UNDEFINE_STRTOK_R)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ < $(srcdir)/string.in.h; \ } > $@-t && \ mv $@-t $@ # We need the following in order to create when the system # has one that is incomplete. sys/stat.h: sys_stat.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_at)$(MKDIR_P) sys $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \ -e 's|@''GNULIB_FCHMODAT''@|$(GNULIB_FCHMODAT)|g' \ -e 's|@''GNULIB_FSTATAT''@|$(GNULIB_FSTATAT)|g' \ -e 's|@''GNULIB_FUTIMENS''@|$(GNULIB_FUTIMENS)|g' \ -e 's|@''GNULIB_LCHMOD''@|$(GNULIB_LCHMOD)|g' \ -e 's|@''GNULIB_LSTAT''@|$(GNULIB_LSTAT)|g' \ -e 's|@''GNULIB_MKDIRAT''@|$(GNULIB_MKDIRAT)|g' \ -e 's|@''GNULIB_MKFIFO''@|$(GNULIB_MKFIFO)|g' \ -e 's|@''GNULIB_MKFIFOAT''@|$(GNULIB_MKFIFOAT)|g' \ -e 's|@''GNULIB_MKNOD''@|$(GNULIB_MKNOD)|g' \ -e 's|@''GNULIB_MKNODAT''@|$(GNULIB_MKNODAT)|g' \ -e 's|@''GNULIB_STAT''@|$(GNULIB_STAT)|g' \ -e 's|@''GNULIB_UTIMENSAT''@|$(GNULIB_UTIMENSAT)|g' \ -e 's|@''HAVE_FCHMODAT''@|$(HAVE_FCHMODAT)|g' \ -e 's|@''HAVE_FSTATAT''@|$(HAVE_FSTATAT)|g' \ -e 's|@''HAVE_FUTIMENS''@|$(HAVE_FUTIMENS)|g' \ -e 's|@''HAVE_LCHMOD''@|$(HAVE_LCHMOD)|g' \ -e 's|@''HAVE_LSTAT''@|$(HAVE_LSTAT)|g' \ -e 's|@''HAVE_MKDIRAT''@|$(HAVE_MKDIRAT)|g' \ -e 's|@''HAVE_MKFIFO''@|$(HAVE_MKFIFO)|g' \ -e 's|@''HAVE_MKFIFOAT''@|$(HAVE_MKFIFOAT)|g' \ -e 's|@''HAVE_MKNOD''@|$(HAVE_MKNOD)|g' \ -e 's|@''HAVE_MKNODAT''@|$(HAVE_MKNODAT)|g' \ -e 's|@''HAVE_UTIMENSAT''@|$(HAVE_UTIMENSAT)|g' \ -e 's|@''REPLACE_FSTAT''@|$(REPLACE_FSTAT)|g' \ -e 's|@''REPLACE_FSTATAT''@|$(REPLACE_FSTATAT)|g' \ -e 's|@''REPLACE_FUTIMENS''@|$(REPLACE_FUTIMENS)|g' \ -e 's|@''REPLACE_LSTAT''@|$(REPLACE_LSTAT)|g' \ -e 's|@''REPLACE_MKDIR''@|$(REPLACE_MKDIR)|g' \ -e 's|@''REPLACE_MKFIFO''@|$(REPLACE_MKFIFO)|g' \ -e 's|@''REPLACE_MKNOD''@|$(REPLACE_MKNOD)|g' \ -e 's|@''REPLACE_STAT''@|$(REPLACE_STAT)|g' \ -e 's|@''REPLACE_UTIMENSAT''@|$(REPLACE_UTIMENSAT)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(srcdir)/sys_stat.in.h; \ } > $@-t && \ mv $@-t $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. sys/time.h: sys_time.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_at)$(MKDIR_P) sys $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's/@''HAVE_SYS_TIME_H''@/$(HAVE_SYS_TIME_H)/g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''NEXT_SYS_TIME_H''@|$(NEXT_SYS_TIME_H)|g' \ -e 's/@''GNULIB_GETTIMEOFDAY''@/$(GNULIB_GETTIMEOFDAY)/g' \ -e 's/@''HAVE_GETTIMEOFDAY''@/$(HAVE_GETTIMEOFDAY)/g' \ -e 's/@''HAVE_STRUCT_TIMEVAL''@/$(HAVE_STRUCT_TIMEVAL)/g' \ -e 's/@''REPLACE_GETTIMEOFDAY''@/$(REPLACE_GETTIMEOFDAY)/g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(srcdir)/sys_time.in.h; \ } > $@-t && \ mv $@-t $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. time.h: time.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''NEXT_TIME_H''@|$(NEXT_TIME_H)|g' \ -e 's|@''GNULIB_MKTIME''@|$(GNULIB_MKTIME)|g' \ -e 's|@''GNULIB_NANOSLEEP''@|$(GNULIB_NANOSLEEP)|g' \ -e 's|@''GNULIB_STRPTIME''@|$(GNULIB_STRPTIME)|g' \ -e 's|@''GNULIB_TIMEGM''@|$(GNULIB_TIMEGM)|g' \ -e 's|@''GNULIB_TIME_R''@|$(GNULIB_TIME_R)|g' \ -e 's|@''HAVE_LOCALTIME_R''@|$(HAVE_LOCALTIME_R)|g' \ -e 's|@''HAVE_NANOSLEEP''@|$(HAVE_NANOSLEEP)|g' \ -e 's|@''HAVE_STRPTIME''@|$(HAVE_STRPTIME)|g' \ -e 's|@''HAVE_TIMEGM''@|$(HAVE_TIMEGM)|g' \ -e 's|@''REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \ -e 's|@''REPLACE_MKTIME''@|$(REPLACE_MKTIME)|g' \ -e 's|@''REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \ -e 's|@''REPLACE_TIMEGM''@|$(REPLACE_TIMEGM)|g' \ -e 's|@''SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(SYS_TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \ -e 's|@''TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(srcdir)/time.in.h; \ } > $@-t && \ mv $@-t $@ # We need the following in order to create an empty placeholder for # when the system doesn't have one. unistd.h: unistd.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \ -e 's|@''GNULIB_CHOWN''@|$(GNULIB_CHOWN)|g' \ -e 's|@''GNULIB_CLOSE''@|$(GNULIB_CLOSE)|g' \ -e 's|@''GNULIB_DUP2''@|$(GNULIB_DUP2)|g' \ -e 's|@''GNULIB_DUP3''@|$(GNULIB_DUP3)|g' \ -e 's|@''GNULIB_ENVIRON''@|$(GNULIB_ENVIRON)|g' \ -e 's|@''GNULIB_EUIDACCESS''@|$(GNULIB_EUIDACCESS)|g' \ -e 's|@''GNULIB_FACCESSAT''@|$(GNULIB_FACCESSAT)|g' \ -e 's|@''GNULIB_FCHDIR''@|$(GNULIB_FCHDIR)|g' \ -e 's|@''GNULIB_FCHOWNAT''@|$(GNULIB_FCHOWNAT)|g' \ -e 's|@''GNULIB_FSYNC''@|$(GNULIB_FSYNC)|g' \ -e 's|@''GNULIB_FTRUNCATE''@|$(GNULIB_FTRUNCATE)|g' \ -e 's|@''GNULIB_GETCWD''@|$(GNULIB_GETCWD)|g' \ -e 's|@''GNULIB_GETDOMAINNAME''@|$(GNULIB_GETDOMAINNAME)|g' \ -e 's|@''GNULIB_GETDTABLESIZE''@|$(GNULIB_GETDTABLESIZE)|g' \ -e 's|@''GNULIB_GETGROUPS''@|$(GNULIB_GETGROUPS)|g' \ -e 's|@''GNULIB_GETHOSTNAME''@|$(GNULIB_GETHOSTNAME)|g' \ -e 's|@''GNULIB_GETLOGIN''@|$(GNULIB_GETLOGIN)|g' \ -e 's|@''GNULIB_GETLOGIN_R''@|$(GNULIB_GETLOGIN_R)|g' \ -e 's|@''GNULIB_GETPAGESIZE''@|$(GNULIB_GETPAGESIZE)|g' \ -e 's|@''GNULIB_GETUSERSHELL''@|$(GNULIB_GETUSERSHELL)|g' \ -e 's|@''GNULIB_LCHOWN''@|$(GNULIB_LCHOWN)|g' \ -e 's|@''GNULIB_LINK''@|$(GNULIB_LINK)|g' \ -e 's|@''GNULIB_LINKAT''@|$(GNULIB_LINKAT)|g' \ -e 's|@''GNULIB_LSEEK''@|$(GNULIB_LSEEK)|g' \ -e 's|@''GNULIB_PIPE2''@|$(GNULIB_PIPE2)|g' \ -e 's|@''GNULIB_PREAD''@|$(GNULIB_PREAD)|g' \ -e 's|@''GNULIB_PWRITE''@|$(GNULIB_PWRITE)|g' \ -e 's|@''GNULIB_READLINK''@|$(GNULIB_READLINK)|g' \ -e 's|@''GNULIB_READLINKAT''@|$(GNULIB_READLINKAT)|g' \ -e 's|@''GNULIB_RMDIR''@|$(GNULIB_RMDIR)|g' \ -e 's|@''GNULIB_SLEEP''@|$(GNULIB_SLEEP)|g' \ -e 's|@''GNULIB_SYMLINK''@|$(GNULIB_SYMLINK)|g' \ -e 's|@''GNULIB_SYMLINKAT''@|$(GNULIB_SYMLINKAT)|g' \ -e 's|@''GNULIB_TTYNAME_R''@|$(GNULIB_TTYNAME_R)|g' \ -e 's|@''GNULIB_UNISTD_H_GETOPT''@|$(GNULIB_UNISTD_H_GETOPT)|g' \ -e 's|@''GNULIB_UNISTD_H_SIGPIPE''@|$(GNULIB_UNISTD_H_SIGPIPE)|g' \ -e 's|@''GNULIB_UNLINK''@|$(GNULIB_UNLINK)|g' \ -e 's|@''GNULIB_UNLINKAT''@|$(GNULIB_UNLINKAT)|g' \ -e 's|@''GNULIB_USLEEP''@|$(GNULIB_USLEEP)|g' \ -e 's|@''GNULIB_WRITE''@|$(GNULIB_WRITE)|g' \ < $(srcdir)/unistd.in.h | \ sed -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \ -e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \ -e 's|@''HAVE_DUP3''@|$(HAVE_DUP3)|g' \ -e 's|@''HAVE_EUIDACCESS''@|$(HAVE_EUIDACCESS)|g' \ -e 's|@''HAVE_FACCESSAT''@|$(HAVE_FACCESSAT)|g' \ -e 's|@''HAVE_FCHDIR''@|$(HAVE_FCHDIR)|g' \ -e 's|@''HAVE_FCHOWNAT''@|$(HAVE_FCHOWNAT)|g' \ -e 's|@''HAVE_FSYNC''@|$(HAVE_FSYNC)|g' \ -e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \ -e 's|@''HAVE_GETDOMAINNAME''@|$(HAVE_GETDOMAINNAME)|g' \ -e 's|@''HAVE_GETDTABLESIZE''@|$(HAVE_GETDTABLESIZE)|g' \ -e 's|@''HAVE_GETGROUPS''@|$(HAVE_GETGROUPS)|g' \ -e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \ -e 's|@''HAVE_GETLOGIN''@|$(HAVE_GETLOGIN)|g' \ -e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \ -e 's|@''HAVE_LCHOWN''@|$(HAVE_LCHOWN)|g' \ -e 's|@''HAVE_LINK''@|$(HAVE_LINK)|g' \ -e 's|@''HAVE_LINKAT''@|$(HAVE_LINKAT)|g' \ -e 's|@''HAVE_PIPE2''@|$(HAVE_PIPE2)|g' \ -e 's|@''HAVE_PREAD''@|$(HAVE_PREAD)|g' \ -e 's|@''HAVE_PWRITE''@|$(HAVE_PWRITE)|g' \ -e 's|@''HAVE_READLINK''@|$(HAVE_READLINK)|g' \ -e 's|@''HAVE_READLINKAT''@|$(HAVE_READLINKAT)|g' \ -e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \ -e 's|@''HAVE_SYMLINK''@|$(HAVE_SYMLINK)|g' \ -e 's|@''HAVE_SYMLINKAT''@|$(HAVE_SYMLINKAT)|g' \ -e 's|@''HAVE_TTYNAME_R''@|$(HAVE_TTYNAME_R)|g' \ -e 's|@''HAVE_UNLINKAT''@|$(HAVE_UNLINKAT)|g' \ -e 's|@''HAVE_USLEEP''@|$(HAVE_USLEEP)|g' \ -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \ -e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \ -e 's|@''HAVE_DECL_GETPAGESIZE''@|$(HAVE_DECL_GETPAGESIZE)|g' \ -e 's|@''HAVE_DECL_GETUSERSHELL''@|$(HAVE_DECL_GETUSERSHELL)|g' \ -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \ -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \ -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \ -e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \ -e 's|@''REPLACE_DUP''@|$(REPLACE_DUP)|g' \ -e 's|@''REPLACE_DUP2''@|$(REPLACE_DUP2)|g' \ -e 's|@''REPLACE_FCHOWNAT''@|$(REPLACE_FCHOWNAT)|g' \ -e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \ -e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \ -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \ -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \ -e 's|@''REPLACE_LINK''@|$(REPLACE_LINK)|g' \ -e 's|@''REPLACE_LINKAT''@|$(REPLACE_LINKAT)|g' \ -e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \ -e 's|@''REPLACE_PREAD''@|$(REPLACE_PREAD)|g' \ -e 's|@''REPLACE_PWRITE''@|$(REPLACE_PWRITE)|g' \ -e 's|@''REPLACE_READLINK''@|$(REPLACE_READLINK)|g' \ -e 's|@''REPLACE_RMDIR''@|$(REPLACE_RMDIR)|g' \ -e 's|@''REPLACE_SLEEP''@|$(REPLACE_SLEEP)|g' \ -e 's|@''REPLACE_SYMLINK''@|$(REPLACE_SYMLINK)|g' \ -e 's|@''REPLACE_TTYNAME_R''@|$(REPLACE_TTYNAME_R)|g' \ -e 's|@''REPLACE_UNLINK''@|$(REPLACE_UNLINK)|g' \ -e 's|@''REPLACE_UNLINKAT''@|$(REPLACE_UNLINKAT)|g' \ -e 's|@''REPLACE_USLEEP''@|$(REPLACE_USLEEP)|g' \ -e 's|@''REPLACE_WRITE''@|$(REPLACE_WRITE)|g' \ -e 's|@''UNISTD_H_HAVE_WINSOCK2_H''@|$(UNISTD_H_HAVE_WINSOCK2_H)|g' \ -e 's|@''UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|$(UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ } > $@-t && \ mv $@-t $@ # The warn-on-use.h that gets inserted into generated .h files is the same as # build-aux/warn-on-use.h, except that it has the copyright header cut off. warn-on-use.h: $(top_srcdir)/build-aux/warn-on-use.h $(AM_V_GEN)rm -f $@-t $@ && \ sed -n -e '/^.ifndef/,$$p' \ < $(top_srcdir)/build-aux/warn-on-use.h \ > $@-t && \ mv $@-t $@ # We need the following in order to create when the system # version does not work standalone. wchar.h: wchar.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \ -e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \ -e 's|@''GNULIB_BTOWC''@|$(GNULIB_BTOWC)|g' \ -e 's|@''GNULIB_WCTOB''@|$(GNULIB_WCTOB)|g' \ -e 's|@''GNULIB_MBSINIT''@|$(GNULIB_MBSINIT)|g' \ -e 's|@''GNULIB_MBRTOWC''@|$(GNULIB_MBRTOWC)|g' \ -e 's|@''GNULIB_MBRLEN''@|$(GNULIB_MBRLEN)|g' \ -e 's|@''GNULIB_MBSRTOWCS''@|$(GNULIB_MBSRTOWCS)|g' \ -e 's|@''GNULIB_MBSNRTOWCS''@|$(GNULIB_MBSNRTOWCS)|g' \ -e 's|@''GNULIB_WCRTOMB''@|$(GNULIB_WCRTOMB)|g' \ -e 's|@''GNULIB_WCSRTOMBS''@|$(GNULIB_WCSRTOMBS)|g' \ -e 's|@''GNULIB_WCSNRTOMBS''@|$(GNULIB_WCSNRTOMBS)|g' \ -e 's|@''GNULIB_WCWIDTH''@|$(GNULIB_WCWIDTH)|g' \ -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \ -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \ -e 's|@''HAVE_MBSINIT''@|$(HAVE_MBSINIT)|g' \ -e 's|@''HAVE_MBRTOWC''@|$(HAVE_MBRTOWC)|g' \ -e 's|@''HAVE_MBRLEN''@|$(HAVE_MBRLEN)|g' \ -e 's|@''HAVE_MBSRTOWCS''@|$(HAVE_MBSRTOWCS)|g' \ -e 's|@''HAVE_MBSNRTOWCS''@|$(HAVE_MBSNRTOWCS)|g' \ -e 's|@''HAVE_WCRTOMB''@|$(HAVE_WCRTOMB)|g' \ -e 's|@''HAVE_WCSRTOMBS''@|$(HAVE_WCSRTOMBS)|g' \ -e 's|@''HAVE_WCSNRTOMBS''@|$(HAVE_WCSNRTOMBS)|g' \ -e 's|@''HAVE_DECL_WCTOB''@|$(HAVE_DECL_WCTOB)|g' \ -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \ -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \ -e 's|@''REPLACE_BTOWC''@|$(REPLACE_BTOWC)|g' \ -e 's|@''REPLACE_WCTOB''@|$(REPLACE_WCTOB)|g' \ -e 's|@''REPLACE_MBSINIT''@|$(REPLACE_MBSINIT)|g' \ -e 's|@''REPLACE_MBRTOWC''@|$(REPLACE_MBRTOWC)|g' \ -e 's|@''REPLACE_MBRLEN''@|$(REPLACE_MBRLEN)|g' \ -e 's|@''REPLACE_MBSRTOWCS''@|$(REPLACE_MBSRTOWCS)|g' \ -e 's|@''REPLACE_MBSNRTOWCS''@|$(REPLACE_MBSNRTOWCS)|g' \ -e 's|@''REPLACE_WCRTOMB''@|$(REPLACE_WCRTOMB)|g' \ -e 's|@''REPLACE_WCSRTOMBS''@|$(REPLACE_WCSRTOMBS)|g' \ -e 's|@''REPLACE_WCSNRTOMBS''@|$(REPLACE_WCSNRTOMBS)|g' \ -e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(srcdir)/wchar.in.h; \ } > $@-t && \ mv $@-t $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. wctype.h: wctype.in.h $(CXXDEFS_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's/@''HAVE_WCTYPE_H''@/$(HAVE_WCTYPE_H)/g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''NEXT_WCTYPE_H''@|$(NEXT_WCTYPE_H)|g' \ -e 's/@''HAVE_ISWBLANK''@/$(HAVE_ISWBLANK)/g' \ -e 's/@''HAVE_ISWCNTRL''@/$(HAVE_ISWCNTRL)/g' \ -e 's/@''HAVE_WINT_T''@/$(HAVE_WINT_T)/g' \ -e 's/@''REPLACE_ISWCNTRL''@/$(REPLACE_ISWCNTRL)/g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(srcdir)/wctype.in.h; \ } > $@-t && \ mv $@-t $@ mostlyclean-local: mostlyclean-generic @for dir in '' $(MOSTLYCLEANDIRS); do \ if test -n "$$dir" && test -d $$dir; then \ echo "rmdir $$dir"; rmdir $$dir; \ fi; \ done; \ : # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: parted-2.3/lib/ref-del.sin0000644000000000000000000000201011333760254012320 00000000000000# Remove this package from a list of references stored in a text file. # # Copyright (C) 2000, 2009, 2010 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 3, 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. # # Written by Bruno Haible . # /^# Packages using this file: / { s/# Packages using this file:// s/ @PACKAGE@ / / s/^/# Packages using this file:/ } parted-2.3/lib/time.in.h0000644000000000000000000001761611370316121012014 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A more-standard . Copyright (C) 2007-2010 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 3, 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. */ #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif /* Don't get in the way of glibc when it includes time.h merely to declare a few standard symbols, rather than to declare all the symbols. Also, Solaris 8 eventually includes itself recursively; if that is happening, just include the system without adding our own declarations. */ #if (defined __need_time_t || defined __need_clock_t \ || defined __need_timespec \ || defined _GL_TIME_H) # @INCLUDE_NEXT@ @NEXT_TIME_H@ #else # define _GL_TIME_H # @INCLUDE_NEXT@ @NEXT_TIME_H@ /* NetBSD 5.0 mis-defines NULL. */ # include /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_ARG_NONNULL is copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ /* Some systems don't define struct timespec (e.g., AIX 4.1, Ultrix 4.3). Or they define it with the wrong member names or define it in (e.g., FreeBSD circa 1997). */ # if ! @TIME_H_DEFINES_STRUCT_TIMESPEC@ # if @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ # include # else # ifdef __cplusplus extern "C" { # endif # undef timespec # define timespec rpl_timespec struct timespec { time_t tv_sec; long int tv_nsec; }; # ifdef __cplusplus } # endif # endif # endif /* Sleep for at least RQTP seconds unless interrupted, If interrupted, return -1 and store the remaining time into RMTP. See . */ # if @GNULIB_NANOSLEEP@ # if @REPLACE_NANOSLEEP@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define nanosleep rpl_nanosleep # endif _GL_FUNCDECL_RPL (nanosleep, int, (struct timespec const *__rqtp, struct timespec *__rmtp) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (nanosleep, int, (struct timespec const *__rqtp, struct timespec *__rmtp)); # else # if ! @HAVE_NANOSLEEP@ _GL_FUNCDECL_SYS (nanosleep, int, (struct timespec const *__rqtp, struct timespec *__rmtp) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (nanosleep, int, (struct timespec const *__rqtp, struct timespec *__rmtp)); # endif _GL_CXXALIASWARN (nanosleep); # endif /* Return the 'time_t' representation of TP and normalize TP. */ # if @GNULIB_MKTIME@ # if @REPLACE_MKTIME@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define mktime rpl_mktime # endif _GL_FUNCDECL_RPL (mktime, time_t, (struct tm *__tp) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (mktime, time_t, (struct tm *__tp)); # else _GL_CXXALIAS_SYS (mktime, time_t, (struct tm *__tp)); # endif _GL_CXXALIASWARN (mktime); # endif /* Convert TIMER to RESULT, assuming local time and UTC respectively. See and . */ # if @GNULIB_TIME_R@ # if @REPLACE_LOCALTIME_R@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef localtime_r # define localtime_r rpl_localtime_r # endif _GL_FUNCDECL_RPL (localtime_r, struct tm *, (time_t const *restrict __timer, struct tm *restrict __result) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (localtime_r, struct tm *, (time_t const *restrict __timer, struct tm *restrict __result)); # else # if ! @HAVE_LOCALTIME_R@ _GL_FUNCDECL_SYS (localtime_r, struct tm *, (time_t const *restrict __timer, struct tm *restrict __result) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (localtime_r, struct tm *, (time_t const *restrict __timer, struct tm *restrict __result)); # endif _GL_CXXALIASWARN (localtime_r); # if @REPLACE_LOCALTIME_R@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef gmtime_r # define gmtime_r rpl_gmtime_r # endif _GL_FUNCDECL_RPL (gmtime_r, struct tm *, (time_t const *restrict __timer, struct tm *restrict __result) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (gmtime_r, struct tm *, (time_t const *restrict __timer, struct tm *restrict __result)); # else # if ! @HAVE_LOCALTIME_R@ _GL_FUNCDECL_SYS (gmtime_r, struct tm *, (time_t const *restrict __timer, struct tm *restrict __result) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (gmtime_r, struct tm *, (time_t const *restrict __timer, struct tm *restrict __result)); # endif _GL_CXXALIASWARN (gmtime_r); # endif /* Parse BUF as a time stamp, assuming FORMAT specifies its layout, and store the resulting broken-down time into TM. See . */ # if @GNULIB_STRPTIME@ # if ! @HAVE_STRPTIME@ _GL_FUNCDECL_SYS (strptime, char *, (char const *restrict __buf, char const *restrict __format, struct tm *restrict __tm) _GL_ARG_NONNULL ((1, 2, 3))); # endif _GL_CXXALIAS_SYS (strptime, char *, (char const *restrict __buf, char const *restrict __format, struct tm *restrict __tm)); _GL_CXXALIASWARN (strptime); # endif /* Convert TM to a time_t value, assuming UTC. */ # if @GNULIB_TIMEGM@ # if @REPLACE_TIMEGM@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef timegm # define timegm rpl_timegm # endif _GL_FUNCDECL_RPL (timegm, time_t, (struct tm *__tm) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (timegm, time_t, (struct tm *__tm)); # else # if ! @HAVE_TIMEGM@ _GL_FUNCDECL_SYS (timegm, time_t, (struct tm *__tm) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (timegm, time_t, (struct tm *__tm)); # endif _GL_CXXALIASWARN (timegm); # endif /* Encourage applications to avoid unsafe functions that can overrun buffers when given outlandish struct tm values. Portable applications should use strftime (or even sprintf) instead. */ # if defined GNULIB_POSIXCHECK # undef asctime _GL_WARN_ON_USE (asctime, "asctime can overrun buffers in some cases - " "better use strftime (or even sprintf) instead"); # endif # if defined GNULIB_POSIXCHECK # undef asctime_r _GL_WARN_ON_USE (asctime, "asctime_r can overrun buffers in some cases - " "better use strftime (or even sprintf) instead"); # endif # if defined GNULIB_POSIXCHECK # undef ctime _GL_WARN_ON_USE (asctime, "ctime can overrun buffers in some cases - " "better use strftime (or even sprintf) instead"); # endif # if defined GNULIB_POSIXCHECK # undef ctime_r _GL_WARN_ON_USE (asctime, "ctime_r can overrun buffers in some cases - " "better use strftime (or even sprintf) instead"); # endif #endif parted-2.3/lib/xstrtol.h0000644000000000000000000000525411370541032012164 00000000000000/* A more useful interface to strtol. Copyright (C) 1995-1996, 1998-1999, 2001-2004, 2006-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef XSTRTOL_H_ # define XSTRTOL_H_ 1 # include # include # ifndef _STRTOL_ERROR enum strtol_error { LONGINT_OK = 0, /* These two values can be ORed together, to indicate that both errors occurred. */ LONGINT_OVERFLOW = 1, LONGINT_INVALID_SUFFIX_CHAR = 2, LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW = (LONGINT_INVALID_SUFFIX_CHAR | LONGINT_OVERFLOW), LONGINT_INVALID = 4 }; typedef enum strtol_error strtol_error; # endif # define _DECLARE_XSTRTOL(name, type) \ strtol_error name (const char *, char **, int, type *, const char *); _DECLARE_XSTRTOL (xstrtol, long int) _DECLARE_XSTRTOL (xstrtoul, unsigned long int) _DECLARE_XSTRTOL (xstrtoimax, intmax_t) _DECLARE_XSTRTOL (xstrtoumax, uintmax_t) #if HAVE_LONG_LONG_INT _DECLARE_XSTRTOL (xstrtoll, long long int) _DECLARE_XSTRTOL (xstrtoull, unsigned long long int) #endif #ifndef __attribute__ # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8) # define __attribute__(x) # endif #endif #ifndef ATTRIBUTE_NORETURN # define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__)) #endif /* Report an error for an invalid integer in an option argument. ERR is the error code returned by one of the xstrto* functions. Use OPT_IDX to decide whether to print the short option string "C" or "-C" or a long option string derived from LONG_OPTION. OPT_IDX is -2 if the short option "C" was used, without any leading "-"; it is -1 if the short option "-C" was used; otherwise it is an index into LONG_OPTIONS, which should have a name preceded by two '-' characters. ARG is the option-argument containing the integer. After reporting an error, exit with a failure status. */ void xstrtol_fatal (enum strtol_error, int, char, struct option const *, char const *) ATTRIBUTE_NORETURN; #endif /* not XSTRTOL_H_ */ parted-2.3/lib/fclose.c0000644000000000000000000000231711370541031011707 00000000000000/* fclose replacement. Copyright (C) 2008, 2009, 2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include #include #include /* Override fclose() to call the overridden close(). */ int rpl_fclose (FILE *fp) #undef fclose { int saved_errno = 0; if (fflush (fp)) saved_errno = errno; if (close (fileno (fp)) < 0 && saved_errno == 0) saved_errno = errno; fclose (fp); /* will fail with errno = EBADF */ if (saved_errno != 0) { errno = saved_errno; return EOF; } return 0; } parted-2.3/lib/sleep.c0000644000000000000000000000422511370541032011545 00000000000000/* Pausing execution of the current thread. Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc. Written by Bruno Haible , 2007. 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include #include #include "verify.h" #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ # define WIN32_LEAN_AND_MEAN /* avoid including junk */ # include unsigned int sleep (unsigned int seconds) { unsigned int remaining; /* Sleep for 1 second many times, because 1. Sleep is not interruptiple by Ctrl-C, 2. we want to avoid arithmetic overflow while multiplying with 1000. */ for (remaining = seconds; remaining > 0; remaining--) Sleep (1000); return remaining; } #elif HAVE_SLEEP # undef sleep /* Guarantee unlimited sleep and a reasonable return value. Cygwin 1.5.x rejects attempts to sleep more than 49.7 days (2**32 milliseconds), but uses uninitialized memory which results in a garbage answer. */ unsigned int rpl_sleep (unsigned int seconds) { /* This requires int larger than 16 bits. */ verify (UINT_MAX / 49 / 24 / 60 / 60); const unsigned int limit = 49 * 24 * 60 * 60; while (limit < seconds) { unsigned int result; seconds -= limit; result = sleep (limit); if (result) return seconds + result; } return sleep (seconds); } #else /* !HAVE_SLEEP */ #error "Please port gnulib sleep.c to your platform, possibly using usleep() or select(), then report this to bug-gnulib." #endif parted-2.3/lib/fsync.c0000644000000000000000000000415611333760253011571 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Emulate fsync on platforms that lack it, primarily Windows and cross-compilers like MinGW. This is derived from sqlite3 sources. http://www.sqlite.org/cvstrac/rlog?f=sqlite/src/os_win.c http://www.sqlite.org/copyright.html Written by Richard W.M. Jones Copyright (C) 2008-2010 Free Software Foundation, Inc. This library 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 3 of the License, or (at your option) any later version. This library 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 Lesser General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* _get_osfhandle */ #include /* FlushFileBuffers */ #define WIN32_LEAN_AND_MEAN #include #include int fsync (int fd) { HANDLE h = (HANDLE) _get_osfhandle (fd); DWORD err; if (h == INVALID_HANDLE_VALUE) { errno = EBADF; return -1; } if (!FlushFileBuffers (h)) { /* Translate some Windows errors into rough approximations of Unix * errors. MSDN is useless as usual - in this case it doesn't * document the full range of errors. */ err = GetLastError (); switch (err) { /* eg. Trying to fsync a tty. */ case ERROR_INVALID_HANDLE: errno = EINVAL; break; default: errno = EIO; } return -1; } return 0; } #else /* !Windows */ #error "This platform lacks fsync function, and Gnulib doesn't provide a replacement. This is a bug in Gnulib." #endif /* !Windows */ parted-2.3/lib/safe-read.h0000644000000000000000000000216211370541031012266 00000000000000/* An interface to read() that retries after interrupts. Copyright (C) 2002, 2006, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #ifdef __cplusplus extern "C" { #endif #define SAFE_READ_ERROR ((size_t) -1) /* Read up to COUNT bytes at BUF from descriptor FD, retrying if interrupted. Return the actual number of bytes read, zero for EOF, or SAFE_READ_ERROR upon error. */ extern size_t safe_read (int fd, void *buf, size_t count); #ifdef __cplusplus } #endif parted-2.3/lib/basename.c0000644000000000000000000000334511370541031012211 00000000000000/* basename.c -- return the last element in a file name Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "dirname.h" #include #include "xalloc.h" #include "xstrndup.h" char * base_name (char const *name) { char const *base = last_component (name); size_t length; /* If there is no last component, then name is a file system root or the empty string. */ if (! *base) return xstrndup (name, base_len (name)); /* Collapse a sequence of trailing slashes into one. */ length = base_len (base); if (ISSLASH (base[length])) length++; /* On systems with drive letters, `a/b:c' must return `./b:c' rather than `b:c' to avoid confusion with a drive letter. On systems with pure POSIX semantics, this is not an issue. */ if (FILE_SYSTEM_PREFIX_LEN (base)) { char *p = xmalloc (length + 3); p[0] = '.'; p[1] = '/'; memcpy (p + 2, base, length); p[length + 2] = '\0'; return p; } /* Finally, copy the basename. */ return xstrndup (base, length); } parted-2.3/lib/error.c0000644000000000000000000002372211377276065011613 00000000000000/* Error handler for noninteractive utilities Copyright (C) 1990-1998, 2000-2007, 2009-2010 Free Software Foundation, Inc. This file is part of the GNU C Library. 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by David MacKenzie . */ #if !_LIBC # include #endif #include "error.h" #include #include #include #include #if !_LIBC && ENABLE_NLS # include "gettext.h" # define _(msgid) gettext (msgid) #endif #ifdef _LIBC # include # include # include # include # define mbsrtowcs __mbsrtowcs #endif #if USE_UNLOCKED_IO # include "unlocked-io.h" #endif #ifndef _ # define _(String) String #endif /* If NULL, error will flush stdout, then print on stderr the program name, a colon and a space. Otherwise, error will call this function without parameters instead. */ void (*error_print_progname) (void); /* This variable is incremented each time `error' is called. */ unsigned int error_message_count; #ifdef _LIBC /* In the GNU C library, there is a predefined variable for this. */ # define program_name program_invocation_name # include # include # include /* In GNU libc we want do not want to use the common name `error' directly. Instead make it a weak alias. */ extern void __error (int status, int errnum, const char *message, ...) __attribute__ ((__format__ (__printf__, 3, 4))); extern void __error_at_line (int status, int errnum, const char *file_name, unsigned int line_number, const char *message, ...) __attribute__ ((__format__ (__printf__, 5, 6)));; # define error __error # define error_at_line __error_at_line # include # define fflush(s) INTUSE(_IO_fflush) (s) # undef putc # define putc(c, fp) INTUSE(_IO_putc) (c, fp) # include #else /* not _LIBC */ # include # include # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* Get declarations of the Win32 API functions. */ # define WIN32_LEAN_AND_MEAN # include # endif /* The gnulib override of fcntl is not needed in this file. */ # undef fcntl # if !HAVE_DECL_STRERROR_R && STRERROR_R_CHAR_P # ifndef HAVE_DECL_STRERROR_R "this configure-time declaration test was not run" # endif char *strerror_r (); # endif /* The calling program should define program_name and set it to the name of the executing program. */ extern char *program_name; # if HAVE_STRERROR_R || defined strerror_r # define __strerror_r strerror_r # endif /* HAVE_STRERROR_R || defined strerror_r */ #endif /* not _LIBC */ #if !_LIBC /* Return non-zero if FD is open. */ static inline int is_open (int fd) { # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* On Win32: The initial state of unassigned standard file descriptors is that they are open but point to an INVALID_HANDLE_VALUE. There is no fcntl, and the gnulib replacement fcntl does not support F_GETFL. */ return (HANDLE) _get_osfhandle (fd) != INVALID_HANDLE_VALUE; # else # ifndef F_GETFL # error Please port fcntl to your platform # endif return 0 <= fcntl (fd, F_GETFL); # endif } #endif static inline void flush_stdout (void) { #if !_LIBC int stdout_fd; # if GNULIB_FREOPEN_SAFER /* Use of gnulib's freopen-safer module normally ensures that fileno (stdout) == 1 whenever stdout is open. */ stdout_fd = STDOUT_FILENO; # else /* POSIX states that fileno (stdout) after fclose is unspecified. But in practice it is not a problem, because stdout is statically allocated and the fd of a FILE stream is stored as a field in its allocated memory. */ stdout_fd = fileno (stdout); # endif /* POSIX states that fflush (stdout) after fclose is unspecified; it is safe in glibc, but not on all other platforms. fflush (NULL) is always defined, but too draconian. */ if (0 <= stdout_fd && is_open (stdout_fd)) #endif fflush (stdout); } static void print_errno_message (int errnum) { char const *s; #if defined HAVE_STRERROR_R || _LIBC char errbuf[1024]; # if STRERROR_R_CHAR_P || _LIBC s = __strerror_r (errnum, errbuf, sizeof errbuf); # else if (__strerror_r (errnum, errbuf, sizeof errbuf) == 0) s = errbuf; else s = 0; # endif #else s = strerror (errnum); #endif #if !_LIBC if (! s) s = _("Unknown system error"); #endif #if _LIBC __fxprintf (NULL, ": %s", s); #else fprintf (stderr, ": %s", s); #endif } static void error_tail (int status, int errnum, const char *message, va_list args) { #if _LIBC if (_IO_fwide (stderr, 0) > 0) { # define ALLOCA_LIMIT 2000 size_t len = strlen (message) + 1; wchar_t *wmessage = NULL; mbstate_t st; size_t res; const char *tmp; bool use_malloc = false; while (1) { if (__libc_use_alloca (len * sizeof (wchar_t))) wmessage = (wchar_t *) alloca (len * sizeof (wchar_t)); else { if (!use_malloc) wmessage = NULL; wchar_t *p = (wchar_t *) realloc (wmessage, len * sizeof (wchar_t)); if (p == NULL) { free (wmessage); fputws_unlocked (L"out of memory\n", stderr); return; } wmessage = p; use_malloc = true; } memset (&st, '\0', sizeof (st)); tmp = message; res = mbsrtowcs (wmessage, &tmp, len, &st); if (res != len) break; if (__builtin_expect (len >= SIZE_MAX / 2, 0)) { /* This really should not happen if everything is fine. */ res = (size_t) -1; break; } len *= 2; } if (res == (size_t) -1) { /* The string cannot be converted. */ if (use_malloc) { free (wmessage); use_malloc = false; } wmessage = (wchar_t *) L"???"; } __vfwprintf (stderr, wmessage, args); if (use_malloc) free (wmessage); } else #endif vfprintf (stderr, message, args); va_end (args); ++error_message_count; if (errnum) print_errno_message (errnum); #if _LIBC __fxprintf (NULL, "\n"); #else putc ('\n', stderr); #endif fflush (stderr); if (status) exit (status); } /* Print the program name and error message MESSAGE, which is a printf-style format string with optional args. If ERRNUM is nonzero, print its corresponding system error message. Exit with status STATUS if it is nonzero. */ void error (int status, int errnum, const char *message, ...) { va_list args; #if defined _LIBC && defined __libc_ptf_call /* We do not want this call to be cut short by a thread cancellation. Therefore disable cancellation for now. */ int state = PTHREAD_CANCEL_ENABLE; __libc_ptf_call (pthread_setcancelstate, (PTHREAD_CANCEL_DISABLE, &state), 0); #endif flush_stdout (); #ifdef _LIBC _IO_flockfile (stderr); #endif if (error_print_progname) (*error_print_progname) (); else { #if _LIBC __fxprintf (NULL, "%s: ", program_name); #else fprintf (stderr, "%s: ", program_name); #endif } va_start (args, message); error_tail (status, errnum, message, args); #ifdef _LIBC _IO_funlockfile (stderr); # ifdef __libc_ptf_call __libc_ptf_call (pthread_setcancelstate, (state, NULL), 0); # endif #endif } /* Sometimes we want to have at most one error per line. This variable controls whether this mode is selected or not. */ int error_one_per_line; void error_at_line (int status, int errnum, const char *file_name, unsigned int line_number, const char *message, ...) { va_list args; if (error_one_per_line) { static const char *old_file_name; static unsigned int old_line_number; if (old_line_number == line_number && (file_name == old_file_name || strcmp (old_file_name, file_name) == 0)) /* Simply return and print nothing. */ return; old_file_name = file_name; old_line_number = line_number; } #if defined _LIBC && defined __libc_ptf_call /* We do not want this call to be cut short by a thread cancellation. Therefore disable cancellation for now. */ int state = PTHREAD_CANCEL_ENABLE; __libc_ptf_call (pthread_setcancelstate, (PTHREAD_CANCEL_DISABLE, &state), 0); #endif flush_stdout (); #ifdef _LIBC _IO_flockfile (stderr); #endif if (error_print_progname) (*error_print_progname) (); else { #if _LIBC __fxprintf (NULL, "%s:", program_name); #else fprintf (stderr, "%s:", program_name); #endif } #if _LIBC __fxprintf (NULL, file_name != NULL ? "%s:%d: " : " ", file_name, line_number); #else fprintf (stderr, file_name != NULL ? "%s:%d: " : " ", file_name, line_number); #endif va_start (args, message); error_tail (status, errnum, message, args); #ifdef _LIBC _IO_funlockfile (stderr); # ifdef __libc_ptf_call __libc_ptf_call (pthread_setcancelstate, (state, NULL), 0); # endif #endif } #ifdef _LIBC /* Make the weak alias. */ # undef error # undef error_at_line weak_alias (__error, error) weak_alias (__error_at_line, error_at_line) #endif parted-2.3/lib/tempname.h0000644000000000000000000000346511370541032012255 00000000000000/* Create a temporary file or directory. Copyright (C) 2006, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* header written by Eric Blake */ #ifndef GL_TEMPNAME_H # define GL_TEMPNAME_H # include # ifdef __GT_FILE # define GT_FILE __GT_FILE # define GT_DIR __GT_DIR # define GT_NOCREATE __GT_NOCREATE # else # define GT_FILE 0 # define GT_DIR 1 # define GT_NOCREATE 2 # endif /* Generate a temporary file name based on TMPL. TMPL must match the rules for mk[s]temp (i.e. end in "XXXXXX", possibly with a suffix). The name constructed does not exist at the time of the call to gen_tempname. TMPL is overwritten with the result. KIND may be one of: GT_NOCREATE: simply verify that the name does not exist at the time of the call. GT_FILE: create a large file using open(O_CREAT|O_EXCL) and return a read-write fd. The file is mode 0600. GT_DIR: create a directory, which will be mode 0700. We use a clever algorithm to get hard-to-predict names. */ extern int gen_tempname (char *tmpl, int suffixlen, int flags, int kind); #endif /* GL_TEMPNAME_H */ parted-2.3/lib/strerror.c0000644000000000000000000002133511370541032012320 00000000000000/* strerror.c --- POSIX compatible system error routine Copyright (C) 2007-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #if REPLACE_STRERROR # include # include # if GNULIB_defined_ESOCK /* native Windows platforms */ # if HAVE_WINSOCK2_H # include # endif # endif # include "intprops.h" # undef strerror # if ! HAVE_DECL_STRERROR # define strerror(n) NULL # endif char * rpl_strerror (int n) { char const *msg = NULL; /* These error messages are taken from glibc/sysdeps/gnu/errlist.c. */ switch (n) { # if GNULIB_defined_ETXTBSY case ETXTBSY: msg = "Text file busy"; break; # endif # if GNULIB_defined_ESOCK /* native Windows platforms */ /* EWOULDBLOCK is the same as EAGAIN. */ case EINPROGRESS: msg = "Operation now in progress"; break; case EALREADY: msg = "Operation already in progress"; break; case ENOTSOCK: msg = "Socket operation on non-socket"; break; case EDESTADDRREQ: msg = "Destination address required"; break; case EMSGSIZE: msg = "Message too long"; break; case EPROTOTYPE: msg = "Protocol wrong type for socket"; break; case ENOPROTOOPT: msg = "Protocol not available"; break; case EPROTONOSUPPORT: msg = "Protocol not supported"; break; case ESOCKTNOSUPPORT: msg = "Socket type not supported"; break; case EOPNOTSUPP: msg = "Operation not supported"; break; case EPFNOSUPPORT: msg = "Protocol family not supported"; break; case EAFNOSUPPORT: msg = "Address family not supported by protocol"; break; case EADDRINUSE: msg = "Address already in use"; break; case EADDRNOTAVAIL: msg = "Cannot assign requested address"; break; case ENETDOWN: msg = "Network is down"; break; case ENETUNREACH: msg = "Network is unreachable"; break; case ENETRESET: msg = "Network dropped connection on reset"; break; case ECONNABORTED: msg = "Software caused connection abort"; break; case ECONNRESET: msg = "Connection reset by peer"; break; case ENOBUFS: msg = "No buffer space available"; break; case EISCONN: msg = "Transport endpoint is already connected"; break; case ENOTCONN: msg = "Transport endpoint is not connected"; break; case ESHUTDOWN: msg = "Cannot send after transport endpoint shutdown"; break; case ETOOMANYREFS: msg = "Too many references: cannot splice"; break; case ETIMEDOUT: msg = "Connection timed out"; break; case ECONNREFUSED: msg = "Connection refused"; break; case ELOOP: msg = "Too many levels of symbolic links"; break; case EHOSTDOWN: msg = "Host is down"; break; case EHOSTUNREACH: msg = "No route to host"; break; case EPROCLIM: msg = "Too many processes"; break; case EUSERS: msg = "Too many users"; break; case EDQUOT: msg = "Disk quota exceeded"; break; case ESTALE: msg = "Stale NFS file handle"; break; case EREMOTE: msg = "Object is remote"; break; # if HAVE_WINSOCK2_H /* WSA_INVALID_HANDLE maps to EBADF */ /* WSA_NOT_ENOUGH_MEMORY maps to ENOMEM */ /* WSA_INVALID_PARAMETER maps to EINVAL */ case WSA_OPERATION_ABORTED: msg = "Overlapped operation aborted"; break; case WSA_IO_INCOMPLETE: msg = "Overlapped I/O event object not in signaled state"; break; case WSA_IO_PENDING: msg = "Overlapped operations will complete later"; break; /* WSAEINTR maps to EINTR */ /* WSAEBADF maps to EBADF */ /* WSAEACCES maps to EACCES */ /* WSAEFAULT maps to EFAULT */ /* WSAEINVAL maps to EINVAL */ /* WSAEMFILE maps to EMFILE */ /* WSAEWOULDBLOCK maps to EWOULDBLOCK */ /* WSAEINPROGRESS is EINPROGRESS */ /* WSAEALREADY is EALREADY */ /* WSAENOTSOCK is ENOTSOCK */ /* WSAEDESTADDRREQ is EDESTADDRREQ */ /* WSAEMSGSIZE is EMSGSIZE */ /* WSAEPROTOTYPE is EPROTOTYPE */ /* WSAENOPROTOOPT is ENOPROTOOPT */ /* WSAEPROTONOSUPPORT is EPROTONOSUPPORT */ /* WSAESOCKTNOSUPPORT is ESOCKTNOSUPPORT */ /* WSAEOPNOTSUPP is EOPNOTSUPP */ /* WSAEPFNOSUPPORT is EPFNOSUPPORT */ /* WSAEAFNOSUPPORT is EAFNOSUPPORT */ /* WSAEADDRINUSE is EADDRINUSE */ /* WSAEADDRNOTAVAIL is EADDRNOTAVAIL */ /* WSAENETDOWN is ENETDOWN */ /* WSAENETUNREACH is ENETUNREACH */ /* WSAENETRESET is ENETRESET */ /* WSAECONNABORTED is ECONNABORTED */ /* WSAECONNRESET is ECONNRESET */ /* WSAENOBUFS is ENOBUFS */ /* WSAEISCONN is EISCONN */ /* WSAENOTCONN is ENOTCONN */ /* WSAESHUTDOWN is ESHUTDOWN */ /* WSAETOOMANYREFS is ETOOMANYREFS */ /* WSAETIMEDOUT is ETIMEDOUT */ /* WSAECONNREFUSED is ECONNREFUSED */ /* WSAELOOP is ELOOP */ /* WSAENAMETOOLONG maps to ENAMETOOLONG */ /* WSAEHOSTDOWN is EHOSTDOWN */ /* WSAEHOSTUNREACH is EHOSTUNREACH */ /* WSAENOTEMPTY maps to ENOTEMPTY */ /* WSAEPROCLIM is EPROCLIM */ /* WSAEUSERS is EUSERS */ /* WSAEDQUOT is EDQUOT */ /* WSAESTALE is ESTALE */ /* WSAEREMOTE is EREMOTE */ case WSASYSNOTREADY: msg = "Network subsystem is unavailable"; break; case WSAVERNOTSUPPORTED: msg = "Winsock.dll version out of range"; break; case WSANOTINITIALISED: msg = "Successful WSAStartup not yet performed"; break; case WSAEDISCON: msg = "Graceful shutdown in progress"; break; case WSAENOMORE: case WSA_E_NO_MORE: msg = "No more results"; break; case WSAECANCELLED: case WSA_E_CANCELLED: msg = "Call was canceled"; break; case WSAEINVALIDPROCTABLE: msg = "Procedure call table is invalid"; break; case WSAEINVALIDPROVIDER: msg = "Service provider is invalid"; break; case WSAEPROVIDERFAILEDINIT: msg = "Service provider failed to initialize"; break; case WSASYSCALLFAILURE: msg = "System call failure"; break; case WSASERVICE_NOT_FOUND: msg = "Service not found"; break; case WSATYPE_NOT_FOUND: msg = "Class type not found"; break; case WSAEREFUSED: msg = "Database query was refused"; break; case WSAHOST_NOT_FOUND: msg = "Host not found"; break; case WSATRY_AGAIN: msg = "Nonauthoritative host not found"; break; case WSANO_RECOVERY: msg = "Nonrecoverable error"; break; case WSANO_DATA: msg = "Valid name, no data record of requested type"; break; /* WSA_QOS_* omitted */ # endif # endif # if GNULIB_defined_ENOMSG case ENOMSG: msg = "No message of desired type"; break; # endif # if GNULIB_defined_EIDRM case EIDRM: msg = "Identifier removed"; break; # endif # if GNULIB_defined_ENOLINK case ENOLINK: msg = "Link has been severed"; break; # endif # if GNULIB_defined_EPROTO case EPROTO: msg = "Protocol error"; break; # endif # if GNULIB_defined_EMULTIHOP case EMULTIHOP: msg = "Multihop attempted"; break; # endif # if GNULIB_defined_EBADMSG case EBADMSG: msg = "Bad message"; break; # endif # if GNULIB_defined_EOVERFLOW case EOVERFLOW: msg = "Value too large for defined data type"; break; # endif # if GNULIB_defined_ENOTSUP case ENOTSUP: msg = "Not supported"; break; # endif # if GNULIB_defined_ESTALE case ESTALE: msg = "Stale NFS file handle"; break; # endif # if GNULIB_defined_ECANCELED case ECANCELED: msg = "Operation canceled"; break; # endif } if (msg) return (char *) msg; { char *result = strerror (n); if (result == NULL || result[0] == '\0') { static char const fmt[] = "Unknown error (%d)"; static char msg_buf[sizeof fmt + INT_STRLEN_BOUND (n)]; sprintf (msg_buf, fmt, n); return msg_buf; } return result; } } #endif parted-2.3/lib/closeout.c0000644000000000000000000001066111370541031012272 00000000000000/* Close standard output and standard error, exiting with a diagnostic on error. Copyright (C) 1998-2002, 2004, 2006, 2008-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "closeout.h" #include #include #include #include #include "gettext.h" #define _(msgid) gettext (msgid) #include "close-stream.h" #include "error.h" #include "exitfail.h" #include "quotearg.h" static const char *file_name; /* Set the file name to be reported in the event an error is detected by close_stdout. */ void close_stdout_set_file_name (const char *file) { file_name = file; } static bool ignore_EPIPE /* = false */; /* Specify the reaction to an EPIPE error during the closing of stdout: - If ignore = true, it shall be ignored. - If ignore = false, it shall evoke a diagnostic, along with a nonzero exit status. The default is ignore = false. This setting matters only if the SIGPIPE signal is ignored (i.e. its handler set to SIG_IGN) or blocked. Only particular programs need to temporarily ignore SIGPIPE. If SIGPIPE is ignored or blocked because it was ignored or blocked in the parent process when it created the child process, it usually is a bug in the parent process: It is bad practice to have SIGPIPE ignored or blocked while creating a child process. EPIPE occurs when writing to a pipe or socket that has no readers now, when SIGPIPE is ignored or blocked. The ignore = false setting is suitable for a scenario where it is normally guaranteed that the pipe writer terminates before the pipe reader. In this case, an EPIPE is an indication of a premature termination of the pipe reader and should lead to a diagnostic and a nonzero exit status. The ignore = true setting is suitable for a scenario where you don't know ahead of time whether the pipe writer or the pipe reader will terminate first. In this case, an EPIPE is an indication that the pipe writer can stop doing useless write() calls; this is what close_stdout does anyway. EPIPE is part of the normal pipe/socket shutdown protocol in this case, and should not lead to a diagnostic message. */ void close_stdout_set_ignore_EPIPE (bool ignore) { ignore_EPIPE = ignore; } /* Close standard output. On error, issue a diagnostic and _exit with status 'exit_failure'. Also close standard error. On error, _exit with status 'exit_failure'. Since close_stdout is commonly registered via 'atexit', POSIX and the C standard both say that it should not call 'exit', because the behavior is undefined if 'exit' is called more than once. So it calls '_exit' instead of 'exit'. If close_stdout is registered via atexit before other functions are registered, the other functions can act before this _exit is invoked. Applications that use close_stdout should flush any streams other than stdout and stderr before exiting, since the call to _exit will bypass other buffer flushing. Applications should be flushing and closing other streams anyway, to check for I/O errors. Also, applications should not use tmpfile, since _exit can bypass the removal of these files. It's important to detect such failures and exit nonzero because many tools (most notably `make' and other build-management systems) depend on being able to detect failure in other tools via their exit status. */ void close_stdout (void) { if (close_stream (stdout) != 0 && !(ignore_EPIPE && errno == EPIPE)) { char const *write_error = _("write error"); if (file_name) error (0, errno, "%s: %s", quotearg_colon (file_name), write_error); else error (0, errno, "%s", write_error); _exit (exit_failure); } if (close_stream (stderr) != 0) _exit (exit_failure); } parted-2.3/lib/malloc.c0000644000000000000000000000303511333760254011712 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* malloc() function that is glibc compatible. Copyright (C) 1997-1998, 2006-2007, 2009-2010 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 3, 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. */ /* written by Jim Meyering and Bruno Haible */ #include /* Only the AC_FUNC_MALLOC macro defines 'malloc' already in config.h. */ #ifdef malloc # define NEED_MALLOC_GNU # undef malloc #endif /* Specification. */ #include #include /* Call the system's malloc below. */ #undef malloc /* Allocate an N-byte block of memory from the heap. If N is zero, allocate a 1-byte block. */ void * rpl_malloc (size_t n) { void *result; #ifdef NEED_MALLOC_GNU if (n == 0) n = 1; #endif result = malloc (n); #if !HAVE_MALLOC_POSIX if (result == NULL) errno = ENOMEM; #endif return result; } parted-2.3/lib/stdlib.in.h0000644000000000000000000005723611370541032012342 00000000000000/* A GNU-like . Copyright (C) 1995, 2001-2004, 2006-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif #if defined __need_malloc_and_calloc /* Special invocation convention inside glibc header files. */ #@INCLUDE_NEXT@ @NEXT_STDLIB_H@ #else /* Normal invocation convention. */ #ifndef _GL_STDLIB_H /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_STDLIB_H@ #ifndef _GL_STDLIB_H #define _GL_STDLIB_H /* NetBSD 5.0 mis-defines NULL. */ #include /* Solaris declares getloadavg() in . */ #if (@GNULIB_GETLOADAVG@ || defined GNULIB_POSIXCHECK) && @HAVE_SYS_LOADAVG_H@ # include #endif /* OSF/1 5.1 declares 'struct random_data' in , which is included from if _REENTRANT is defined. Include it always. */ #if @HAVE_RANDOM_H@ # include #endif #if !@HAVE_STRUCT_RANDOM_DATA@ || (@GNULIB_RANDOM_R@ && !@HAVE_RANDOM_R@) \ || defined GNULIB_POSIXCHECK # include #endif #if !@HAVE_STRUCT_RANDOM_DATA@ struct random_data { int32_t *fptr; /* Front pointer. */ int32_t *rptr; /* Rear pointer. */ int32_t *state; /* Array of state values. */ int rand_type; /* Type of random number generator. */ int rand_deg; /* Degree of random number generator. */ int rand_sep; /* Distance between front and rear. */ int32_t *end_ptr; /* Pointer behind state table. */ }; #endif #if (@GNULIB_MKSTEMP@ || @GNULIB_GETSUBOPT@ || defined GNULIB_POSIXCHECK) && ! defined __GLIBC__ && !((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) /* On MacOS X 10.3, only declares mkstemp. */ /* On Cygwin 1.7.1, only declares getsubopt. */ /* But avoid namespace pollution on glibc systems and native Windows. */ # include #endif /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_ARG_NONNULL is copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ /* Some systems do not define EXIT_*, despite otherwise supporting C89. */ #ifndef EXIT_SUCCESS # define EXIT_SUCCESS 0 #endif /* Tandem/NSK and other platforms that define EXIT_FAILURE as -1 interfere with proper operation of xargs. */ #ifndef EXIT_FAILURE # define EXIT_FAILURE 1 #elif EXIT_FAILURE != 1 # undef EXIT_FAILURE # define EXIT_FAILURE 1 #endif #if @GNULIB_ATOLL@ /* Parse a signed decimal integer. Returns the value of the integer. Errors are not detected. */ # if !@HAVE_ATOLL@ _GL_FUNCDECL_SYS (atoll, long long, (const char *string) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (atoll, long long, (const char *string)); _GL_CXXALIASWARN (atoll); #elif defined GNULIB_POSIXCHECK # undef atoll # if HAVE_RAW_DECL_ATOLL _GL_WARN_ON_USE (atoll, "atoll is unportable - " "use gnulib module atoll for portability"); # endif #endif #if @GNULIB_CALLOC_POSIX@ # if !@HAVE_CALLOC_POSIX@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef calloc # define calloc rpl_calloc # endif _GL_FUNCDECL_RPL (calloc, void *, (size_t nmemb, size_t size)); _GL_CXXALIAS_RPL (calloc, void *, (size_t nmemb, size_t size)); # else _GL_CXXALIAS_SYS (calloc, void *, (size_t nmemb, size_t size)); # endif _GL_CXXALIASWARN (calloc); #elif defined GNULIB_POSIXCHECK # undef calloc /* Assume calloc is always declared. */ _GL_WARN_ON_USE (calloc, "calloc is not POSIX compliant everywhere - " "use gnulib module calloc-posix for portability"); #endif #if @GNULIB_CANONICALIZE_FILE_NAME@ # if @REPLACE_CANONICALIZE_FILE_NAME@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define canonicalize_file_name rpl_canonicalize_file_name # endif _GL_FUNCDECL_RPL (canonicalize_file_name, char *, (const char *name) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (canonicalize_file_name, char *, (const char *name)); # else # if !@HAVE_CANONICALIZE_FILE_NAME@ _GL_FUNCDECL_SYS (canonicalize_file_name, char *, (const char *name) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (canonicalize_file_name, char *, (const char *name)); # endif _GL_CXXALIASWARN (canonicalize_file_name); #elif defined GNULIB_POSIXCHECK # undef canonicalize_file_name # if HAVE_RAW_DECL_CANONICALIZE_FILE_NAME _GL_WARN_ON_USE (canonicalize_file_name, "canonicalize_file_name is unportable - " "use gnulib module canonicalize-lgpl for portability"); # endif #endif #if @GNULIB_GETLOADAVG@ /* Store max(NELEM,3) load average numbers in LOADAVG[]. The three numbers are the load average of the last 1 minute, the last 5 minutes, and the last 15 minutes, respectively. LOADAVG is an array of NELEM numbers. */ # if !@HAVE_DECL_GETLOADAVG@ _GL_FUNCDECL_SYS (getloadavg, int, (double loadavg[], int nelem) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (getloadavg, int, (double loadavg[], int nelem)); _GL_CXXALIASWARN (getloadavg); #elif defined GNULIB_POSIXCHECK # undef getloadavg # if HAVE_RAW_DECL_GETLOADAVG _GL_WARN_ON_USE (getloadavg, "getloadavg is not portable - " "use gnulib module getloadavg for portability"); # endif #endif #if @GNULIB_GETSUBOPT@ /* Assuming *OPTIONP is a comma separated list of elements of the form "token" or "token=value", getsubopt parses the first of these elements. If the first element refers to a "token" that is member of the given NULL-terminated array of tokens: - It replaces the comma with a NUL byte, updates *OPTIONP to point past the first option and the comma, sets *VALUEP to the value of the element (or NULL if it doesn't contain an "=" sign), - It returns the index of the "token" in the given array of tokens. Otherwise it returns -1, and *OPTIONP and *VALUEP are undefined. For more details see the POSIX:2001 specification. http://www.opengroup.org/susv3xsh/getsubopt.html */ # if !@HAVE_GETSUBOPT@ _GL_FUNCDECL_SYS (getsubopt, int, (char **optionp, char *const *tokens, char **valuep) _GL_ARG_NONNULL ((1, 2, 3))); # endif _GL_CXXALIAS_SYS (getsubopt, int, (char **optionp, char *const *tokens, char **valuep)); _GL_CXXALIASWARN (getsubopt); #elif defined GNULIB_POSIXCHECK # undef getsubopt # if HAVE_RAW_DECL_GETSUBOPT _GL_WARN_ON_USE (getsubopt, "getsubopt is unportable - " "use gnulib module getsubopt for portability"); # endif #endif #if @GNULIB_GRANTPT@ /* Change the ownership and access permission of the slave side of the pseudo-terminal whose master side is specified by FD. */ # if !@HAVE_GRANTPT@ _GL_FUNCDECL_SYS (grantpt, int, (int fd)); # endif _GL_CXXALIAS_SYS (grantpt, int, (int fd)); _GL_CXXALIASWARN (grantpt); #elif defined GNULIB_POSIXCHECK # undef grantpt # if HAVE_RAW_DECL_GRANTPT _GL_WARN_ON_USE (ptsname, "grantpt is not portable - " "use gnulib module grantpt for portability"); # endif #endif #if @GNULIB_MALLOC_POSIX@ # if !@HAVE_MALLOC_POSIX@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef malloc # define malloc rpl_malloc # endif _GL_FUNCDECL_RPL (malloc, void *, (size_t size)); _GL_CXXALIAS_RPL (malloc, void *, (size_t size)); # else _GL_CXXALIAS_SYS (malloc, void *, (size_t size)); # endif _GL_CXXALIASWARN (malloc); #elif defined GNULIB_POSIXCHECK # undef malloc /* Assume malloc is always declared. */ _GL_WARN_ON_USE (malloc, "malloc is not POSIX compliant everywhere - " "use gnulib module malloc-posix for portability"); #endif #if @GNULIB_MKDTEMP@ /* Create a unique temporary directory from TEMPLATE. The last six characters of TEMPLATE must be "XXXXXX"; they are replaced with a string that makes the directory name unique. Returns TEMPLATE, or a null pointer if it cannot get a unique name. The directory is created mode 700. */ # if !@HAVE_MKDTEMP@ _GL_FUNCDECL_SYS (mkdtemp, char *, (char * /*template*/) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (mkdtemp, char *, (char * /*template*/)); _GL_CXXALIASWARN (mkdtemp); #elif defined GNULIB_POSIXCHECK # undef mkdtemp # if HAVE_RAW_DECL_MKDTEMP _GL_WARN_ON_USE (mkdtemp, "mkdtemp is unportable - " "use gnulib module mkdtemp for portability"); # endif #endif #if @GNULIB_MKOSTEMP@ /* Create a unique temporary file from TEMPLATE. The last six characters of TEMPLATE must be "XXXXXX"; they are replaced with a string that makes the file name unique. The flags are a bitmask, possibly including O_CLOEXEC (defined in ) and O_TEXT, O_BINARY (defined in "binary-io.h"). The file is then created, with the specified flags, ensuring it didn't exist before. The file is created read-write (mask at least 0600 & ~umask), but it may be world-readable and world-writable (mask 0666 & ~umask), depending on the implementation. Returns the open file descriptor if successful, otherwise -1 and errno set. */ # if !@HAVE_MKOSTEMP@ _GL_FUNCDECL_SYS (mkostemp, int, (char * /*template*/, int /*flags*/) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (mkostemp, int, (char * /*template*/, int /*flags*/)); _GL_CXXALIASWARN (mkostemp); #elif defined GNULIB_POSIXCHECK # undef mkostemp # if HAVE_RAW_DECL_MKOSTEMP _GL_WARN_ON_USE (mkostemp, "mkostemp is unportable - " "use gnulib module mkostemp for portability"); # endif #endif #if @GNULIB_MKOSTEMPS@ /* Create a unique temporary file from TEMPLATE. The last six characters of TEMPLATE before a suffix of length SUFFIXLEN must be "XXXXXX"; they are replaced with a string that makes the file name unique. The flags are a bitmask, possibly including O_CLOEXEC (defined in ) and O_TEXT, O_BINARY (defined in "binary-io.h"). The file is then created, with the specified flags, ensuring it didn't exist before. The file is created read-write (mask at least 0600 & ~umask), but it may be world-readable and world-writable (mask 0666 & ~umask), depending on the implementation. Returns the open file descriptor if successful, otherwise -1 and errno set. */ # if !@HAVE_MKOSTEMPS@ _GL_FUNCDECL_SYS (mkostemps, int, (char * /*template*/, int /*suffixlen*/, int /*flags*/) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (mkostemps, int, (char * /*template*/, int /*suffixlen*/, int /*flags*/)); _GL_CXXALIASWARN (mkostemps); #elif defined GNULIB_POSIXCHECK # undef mkostemps # if HAVE_RAW_DECL_MKOSTEMPS _GL_WARN_ON_USE (mkostemps, "mkostemps is unportable - " "use gnulib module mkostemps for portability"); # endif #endif #if @GNULIB_MKSTEMP@ /* Create a unique temporary file from TEMPLATE. The last six characters of TEMPLATE must be "XXXXXX"; they are replaced with a string that makes the file name unique. The file is then created, ensuring it didn't exist before. The file is created read-write (mask at least 0600 & ~umask), but it may be world-readable and world-writable (mask 0666 & ~umask), depending on the implementation. Returns the open file descriptor if successful, otherwise -1 and errno set. */ # if @REPLACE_MKSTEMP@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define mkstemp rpl_mkstemp # endif _GL_FUNCDECL_RPL (mkstemp, int, (char * /*template*/) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (mkstemp, int, (char * /*template*/)); # else # if ! @HAVE_MKSTEMP@ _GL_FUNCDECL_SYS (mkstemp, int, (char * /*template*/) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (mkstemp, int, (char * /*template*/)); # endif _GL_CXXALIASWARN (mkstemp); #elif defined GNULIB_POSIXCHECK # undef mkstemp # if HAVE_RAW_DECL_MKSTEMP _GL_WARN_ON_USE (mkstemp, "mkstemp is unportable - " "use gnulib module mkstemp for portability"); # endif #endif #if @GNULIB_MKSTEMPS@ /* Create a unique temporary file from TEMPLATE. The last six characters of TEMPLATE prior to a suffix of length SUFFIXLEN must be "XXXXXX"; they are replaced with a string that makes the file name unique. The file is then created, ensuring it didn't exist before. The file is created read-write (mask at least 0600 & ~umask), but it may be world-readable and world-writable (mask 0666 & ~umask), depending on the implementation. Returns the open file descriptor if successful, otherwise -1 and errno set. */ # if !@HAVE_MKSTEMPS@ _GL_FUNCDECL_SYS (mkstemps, int, (char * /*template*/, int /*suffixlen*/) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (mkstemps, int, (char * /*template*/, int /*suffixlen*/)); _GL_CXXALIASWARN (mkstemps); #elif defined GNULIB_POSIXCHECK # undef mkstemps # if HAVE_RAW_DECL_MKSTEMPS _GL_WARN_ON_USE (mkstemps, "mkstemps is unportable - " "use gnulib module mkstemps for portability"); # endif #endif #if @GNULIB_PTSNAME@ /* Return the pathname of the pseudo-terminal slave associated with the master FD is open on, or NULL on errors. */ # if !@HAVE_PTSNAME@ _GL_FUNCDECL_SYS (ptsname, char *, (int fd)); # endif _GL_CXXALIAS_SYS (ptsname, char *, (int fd)); _GL_CXXALIASWARN (ptsname); #elif defined GNULIB_POSIXCHECK # undef ptsname # if HAVE_RAW_DECL_PTSNAME _GL_WARN_ON_USE (ptsname, "ptsname is not portable - " "use gnulib module ptsname for portability"); # endif #endif #if @GNULIB_PUTENV@ # if @REPLACE_PUTENV@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef putenv # define putenv rpl_putenv # endif _GL_FUNCDECL_RPL (putenv, int, (char *string) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (putenv, int, (char *string)); # else _GL_CXXALIAS_SYS (putenv, int, (char *string)); # endif _GL_CXXALIASWARN (putenv); #endif #if @GNULIB_RANDOM_R@ # if !@HAVE_RANDOM_R@ # ifndef RAND_MAX # define RAND_MAX 2147483647 # endif # endif #endif #if @GNULIB_RANDOM_R@ # if !@HAVE_RANDOM_R@ _GL_FUNCDECL_SYS (random_r, int, (struct random_data *buf, int32_t *result) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (random_r, int, (struct random_data *buf, int32_t *result)); _GL_CXXALIASWARN (random_r); #elif defined GNULIB_POSIXCHECK # undef random_r # if HAVE_RAW_DECL_RANDOM_R _GL_WARN_ON_USE (random_r, "random_r is unportable - " "use gnulib module random_r for portability"); # endif #endif #if @GNULIB_RANDOM_R@ # if !@HAVE_RANDOM_R@ _GL_FUNCDECL_SYS (srandom_r, int, (unsigned int seed, struct random_data *rand_state) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (srandom_r, int, (unsigned int seed, struct random_data *rand_state)); _GL_CXXALIASWARN (srandom_r); #elif defined GNULIB_POSIXCHECK # undef srandom_r # if HAVE_RAW_DECL_SRANDOM_R _GL_WARN_ON_USE (srandom_r, "srandom_r is unportable - " "use gnulib module random_r for portability"); # endif #endif #if @GNULIB_RANDOM_R@ # if !@HAVE_RANDOM_R@ _GL_FUNCDECL_SYS (initstate_r, int, (unsigned int seed, char *buf, size_t buf_size, struct random_data *rand_state) _GL_ARG_NONNULL ((2, 4))); # endif _GL_CXXALIAS_SYS (initstate_r, int, (unsigned int seed, char *buf, size_t buf_size, struct random_data *rand_state)); _GL_CXXALIASWARN (initstate_r); #elif defined GNULIB_POSIXCHECK # undef initstate_r # if HAVE_RAW_DECL_INITSTATE_R _GL_WARN_ON_USE (initstate_r, "initstate_r is unportable - " "use gnulib module random_r for portability"); # endif #endif #if @GNULIB_RANDOM_R@ # if !@HAVE_RANDOM_R@ _GL_FUNCDECL_SYS (setstate_r, int, (char *arg_state, struct random_data *rand_state) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (setstate_r, int, (char *arg_state, struct random_data *rand_state)); _GL_CXXALIASWARN (setstate_r); #elif defined GNULIB_POSIXCHECK # undef setstate_r # if HAVE_RAW_DECL_SETSTATE_R _GL_WARN_ON_USE (setstate_r, "setstate_r is unportable - " "use gnulib module random_r for portability"); # endif #endif #if @GNULIB_REALLOC_POSIX@ # if !@HAVE_REALLOC_POSIX@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef realloc # define realloc rpl_realloc # endif _GL_FUNCDECL_RPL (realloc, void *, (void *ptr, size_t size)); _GL_CXXALIAS_RPL (realloc, void *, (void *ptr, size_t size)); # else _GL_CXXALIAS_SYS (realloc, void *, (void *ptr, size_t size)); # endif _GL_CXXALIASWARN (realloc); #elif defined GNULIB_POSIXCHECK # undef realloc /* Assume realloc is always declared. */ _GL_WARN_ON_USE (realloc, "realloc is not POSIX compliant everywhere - " "use gnulib module realloc-posix for portability"); #endif #if @GNULIB_REALPATH@ # if @REPLACE_REALPATH@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define realpath rpl_realpath # endif _GL_FUNCDECL_RPL (realpath, char *, (const char *name, char *resolved) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (realpath, char *, (const char *name, char *resolved)); # else # if !@HAVE_REALPATH@ _GL_FUNCDECL_SYS (realpath, char *, (const char *name, char *resolved) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (realpath, char *, (const char *name, char *resolved)); # endif _GL_CXXALIASWARN (realpath); #elif defined GNULIB_POSIXCHECK # undef realpath # if HAVE_RAW_DECL_REALPATH _GL_WARN_ON_USE (realpath, "realpath is unportable - use gnulib module " "canonicalize or canonicalize-lgpl for portability"); # endif #endif #if @GNULIB_RPMATCH@ /* Test a user response to a question. Return 1 if it is affirmative, 0 if it is negative, or -1 if not clear. */ # if !@HAVE_RPMATCH@ _GL_FUNCDECL_SYS (rpmatch, int, (const char *response) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (rpmatch, int, (const char *response)); _GL_CXXALIASWARN (rpmatch); #elif defined GNULIB_POSIXCHECK # undef rpmatch # if HAVE_RAW_DECL_RPMATCH _GL_WARN_ON_USE (rpmatch, "rpmatch is unportable - " "use gnulib module rpmatch for portability"); # endif #endif #if @GNULIB_SETENV@ /* Set NAME to VALUE in the environment. If REPLACE is nonzero, overwrite an existing value. */ # if @REPLACE_SETENV@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef setenv # define setenv rpl_setenv # endif _GL_FUNCDECL_RPL (setenv, int, (const char *name, const char *value, int replace) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (setenv, int, (const char *name, const char *value, int replace)); # else # if !@HAVE_SETENV@ _GL_FUNCDECL_SYS (setenv, int, (const char *name, const char *value, int replace) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (setenv, int, (const char *name, const char *value, int replace)); # endif _GL_CXXALIASWARN (setenv); #elif defined GNULIB_POSIXCHECK # undef setenv # if HAVE_RAW_DECL_SETENV _GL_WARN_ON_USE (setenv, "setenv is unportable - " "use gnulib module setenv for portability"); # endif #endif #if @GNULIB_STRTOD@ /* Parse a double from STRING, updating ENDP if appropriate. */ # if @REPLACE_STRTOD@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define strtod rpl_strtod # endif _GL_FUNCDECL_RPL (strtod, double, (const char *str, char **endp) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (strtod, double, (const char *str, char **endp)); # else # if !@HAVE_STRTOD@ _GL_FUNCDECL_SYS (strtod, double, (const char *str, char **endp) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (strtod, double, (const char *str, char **endp)); # endif _GL_CXXALIASWARN (strtod); #elif defined GNULIB_POSIXCHECK # undef strtod # if HAVE_RAW_DECL_STRTOD _GL_WARN_ON_USE (strtod, "strtod is unportable - " "use gnulib module strtod for portability"); # endif #endif #if @GNULIB_STRTOLL@ /* Parse a signed integer whose textual representation starts at STRING. The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0, it may be decimal or octal (with prefix "0") or hexadecimal (with prefix "0x"). If ENDPTR is not NULL, the address of the first byte after the integer is stored in *ENDPTR. Upon overflow, the return value is LLONG_MAX or LLONG_MIN, and errno is set to ERANGE. */ # if !@HAVE_STRTOLL@ _GL_FUNCDECL_SYS (strtoll, long long, (const char *string, char **endptr, int base) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (strtoll, long long, (const char *string, char **endptr, int base)); _GL_CXXALIASWARN (strtoll); #elif defined GNULIB_POSIXCHECK # undef strtoll # if HAVE_RAW_DECL_STRTOLL _GL_WARN_ON_USE (strtoll, "strtoll is unportable - " "use gnulib module strtoll for portability"); # endif #endif #if @GNULIB_STRTOULL@ /* Parse an unsigned integer whose textual representation starts at STRING. The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0, it may be decimal or octal (with prefix "0") or hexadecimal (with prefix "0x"). If ENDPTR is not NULL, the address of the first byte after the integer is stored in *ENDPTR. Upon overflow, the return value is ULLONG_MAX, and errno is set to ERANGE. */ # if !@HAVE_STRTOULL@ _GL_FUNCDECL_SYS (strtoull, unsigned long long, (const char *string, char **endptr, int base) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (strtoull, unsigned long long, (const char *string, char **endptr, int base)); _GL_CXXALIASWARN (strtoull); #elif defined GNULIB_POSIXCHECK # undef strtoull # if HAVE_RAW_DECL_STRTOULL _GL_WARN_ON_USE (strtoull, "strtoull is unportable - " "use gnulib module strtoull for portability"); # endif #endif #if @GNULIB_UNLOCKPT@ /* Unlock the slave side of the pseudo-terminal whose master side is specified by FD, so that it can be opened. */ # if !@HAVE_UNLOCKPT@ _GL_FUNCDECL_SYS (unlockpt, int, (int fd)); # endif _GL_CXXALIAS_SYS (unlockpt, int, (int fd)); _GL_CXXALIASWARN (unlockpt); #elif defined GNULIB_POSIXCHECK # undef unlockpt # if HAVE_RAW_DECL_UNLOCKPT _GL_WARN_ON_USE (ptsname, "unlockpt is not portable - " "use gnulib module unlockpt for portability"); # endif #endif #if @GNULIB_UNSETENV@ /* Remove the variable NAME from the environment. */ # if @REPLACE_UNSETENV@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef unsetenv # define unsetenv rpl_unsetenv # endif _GL_FUNCDECL_RPL (unsetenv, int, (const char *name) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (unsetenv, int, (const char *name)); # else # if !@HAVE_UNSETENV@ _GL_FUNCDECL_SYS (unsetenv, int, (const char *name) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (unsetenv, int, (const char *name)); # endif _GL_CXXALIASWARN (unsetenv); #elif defined GNULIB_POSIXCHECK # undef unsetenv # if HAVE_RAW_DECL_UNSETENV _GL_WARN_ON_USE (unsetenv, "unsetenv is unportable - " "use gnulib module unsetenv for portability"); # endif #endif #endif /* _GL_STDLIB_H */ #endif /* _GL_STDLIB_H */ #endif parted-2.3/lib/progname.h0000644000000000000000000000373711370541031012260 00000000000000/* Program name management. Copyright (C) 2001-2004, 2006, 2009-2010 Free Software Foundation, Inc. Written by Bruno Haible , 2001. 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _PROGNAME_H #define _PROGNAME_H /* Programs using this file should do the following in main(): set_program_name (argv[0]); */ #ifdef __cplusplus extern "C" { #endif /* String containing name the program is called with. */ extern const char *program_name; /* Set program_name, based on argv[0]. argv0 must be a string allocated with indefinite extent, and must not be modified after this call. */ extern void set_program_name (const char *argv0); #if ENABLE_RELOCATABLE /* Set program_name, based on argv[0], and original installation prefix and directory, for relocatability. */ extern void set_program_name_and_installdir (const char *argv0, const char *orig_installprefix, const char *orig_installdir); #undef set_program_name #define set_program_name(ARG0) \ set_program_name_and_installdir (ARG0, INSTALLPREFIX, INSTALLDIR) /* Return the full pathname of the current executable, based on the earlier call to set_program_name_and_installdir. Return NULL if unknown. */ extern char *get_full_program_name (void); #endif #ifdef __cplusplus } #endif #endif /* _PROGNAME_H */ parted-2.3/lib/stripslash.c0000644000000000000000000000304111370541032012624 00000000000000/* stripslash.c -- remove redundant trailing slashes from a file name Copyright (C) 1990, 2001, 2003-2006, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "dirname.h" /* Remove trailing slashes from FILE. Return true if a trailing slash was removed. This is useful when using file name completion from a shell that adds a "/" after directory names (such as tcsh and bash), because on symlinks to directories, several system calls have different semantics according to whether a trailing slash is present. */ bool strip_trailing_slashes (char *file) { char *base = last_component (file); char *base_lim; bool had_slash; /* last_component returns "" for file system roots, but we need to turn `///' into `/'. */ if (! *base) base = file; base_lim = base + base_len (base); had_slash = (*base_lim != '\0'); *base_lim = '\0'; return had_slash; } parted-2.3/lib/xstrtoul.c0000644000000000000000000000025411370541032012337 00000000000000#define __strtol strtoul #define __strtol_t unsigned long int #define __xstrtol xstrtoul #define STRTOL_T_MINIMUM 0 #define STRTOL_T_MAXIMUM ULONG_MAX #include "xstrtol.c" parted-2.3/lib/localcharset.h0000644000000000000000000000267511333760254013125 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Determine a canonical name for the current locale's character encoding. Copyright (C) 2000-2003, 2009-2010 Free Software Foundation, Inc. This file is part of the GNU CHARSET Library. 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 3, 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. */ #ifndef _LOCALCHARSET_H #define _LOCALCHARSET_H #ifdef __cplusplus extern "C" { #endif /* Determine the current locale's character encoding, and canonicalize it into one of the canonical names listed in config.charset. The result must not be freed; it is statically allocated. If the canonical name cannot be determined, the result is a non-canonical name. */ extern const char * locale_charset (void); #ifdef __cplusplus } #endif #endif /* _LOCALCHARSET_H */ parted-2.3/lib/lstat.c0000644000000000000000000000616711370541031011572 00000000000000/* Work around a bug of lstat on some systems Copyright (C) 1997-2006, 2008-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* written by Jim Meyering */ #include #if !HAVE_LSTAT /* On systems that lack symlinks, our replacement already defined lstat as stat, so there is nothing further to do other than avoid an empty file. */ typedef int dummy; #else /* HAVE_LSTAT */ /* Get the original definition of lstat. It might be defined as a macro. */ # define __need_system_sys_stat_h # include # include # undef __need_system_sys_stat_h static inline int orig_lstat (const char *filename, struct stat *buf) { return lstat (filename, buf); } /* Specification. */ # include # include # include /* lstat works differently on Linux and Solaris systems. POSIX (see `pathname resolution' in the glossary) requires that programs like `ls' take into consideration the fact that FILE has a trailing slash when FILE is a symbolic link. On Linux and Solaris 10 systems, the lstat function already has the desired semantics (in treating `lstat ("symlink/", sbuf)' just like `lstat ("symlink/.", sbuf)', but on Solaris 9 and earlier it does not. If FILE has a trailing slash and specifies a symbolic link, then use stat() to get more info on the referent of FILE. If the referent is a non-directory, then set errno to ENOTDIR and return -1. Otherwise, return stat's result. */ int rpl_lstat (const char *file, struct stat *sbuf) { size_t len; int lstat_result = orig_lstat (file, sbuf); if (lstat_result != 0) return lstat_result; /* This replacement file can blindly check against '/' rather than using the ISSLASH macro, because all platforms with '\\' either lack symlinks (mingw) or have working lstat (cygwin) and thus do not compile this file. 0 len should have already been filtered out above, with a failure return of ENOENT. */ len = strlen (file); if (file[len - 1] != '/' || S_ISDIR (sbuf->st_mode)) return 0; /* At this point, a trailing slash is only permitted on symlink-to-dir; but it should have found information on the directory, not the symlink. Call stat() to get info about the link's referent. Our replacement stat guarantees valid results, even if the symlink is not pointing to a directory. */ if (!S_ISLNK (sbuf->st_mode)) { errno = ENOTDIR; return -1; } return stat (file, sbuf); } #endif /* HAVE_LSTAT */ parted-2.3/lib/memchr.valgrind0000644000000000000000000000065211370541031013273 00000000000000# Suppress a valgrind message about use of uninitialized memory in memchr(). # POSIX states that when the character is found, memchr must not read extra # bytes in an overestimated length (for example, where memchr is used to # implement strnlen). However, we use a safe word read to provide a speedup. { memchr-value4 Memcheck:Value4 fun:rpl_memchr } { memchr-value8 Memcheck:Value8 fun:rpl_memchr } parted-2.3/lib/xalloc.h0000644000000000000000000002016511370541032011725 00000000000000/* xalloc.h -- malloc with out-of-memory checking Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2003, 2004, 2006, 2007, 2008, 2009, 2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef XALLOC_H_ # define XALLOC_H_ # include # ifdef __cplusplus extern "C" { # endif # ifndef __attribute__ # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8) # define __attribute__(x) # endif # endif # ifndef ATTRIBUTE_NORETURN # define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__)) # endif # ifndef ATTRIBUTE_MALLOC # if __GNUC__ >= 3 # define ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) # else # define ATTRIBUTE_MALLOC # endif # endif /* This function is always triggered when memory is exhausted. It must be defined by the application, either explicitly or by using gnulib's xalloc-die module. This is the function to call when one wants the program to die because of a memory allocation failure. */ extern void xalloc_die (void) ATTRIBUTE_NORETURN; void *xmalloc (size_t s) ATTRIBUTE_MALLOC; void *xzalloc (size_t s) ATTRIBUTE_MALLOC; void *xcalloc (size_t n, size_t s) ATTRIBUTE_MALLOC; void *xrealloc (void *p, size_t s); void *x2realloc (void *p, size_t *pn); void *xmemdup (void const *p, size_t s) ATTRIBUTE_MALLOC; char *xstrdup (char const *str) ATTRIBUTE_MALLOC; /* Return 1 if an array of N objects, each of size S, cannot exist due to size arithmetic overflow. S must be positive and N must be nonnegative. This is a macro, not an inline function, so that it works correctly even when SIZE_MAX < N. By gnulib convention, SIZE_MAX represents overflow in size calculations, so the conservative dividend to use here is SIZE_MAX - 1, since SIZE_MAX might represent an overflowed value. However, malloc (SIZE_MAX) fails on all known hosts where sizeof (ptrdiff_t) <= sizeof (size_t), so do not bother to test for exactly-SIZE_MAX allocations on such hosts; this avoids a test and branch when S is known to be 1. */ # define xalloc_oversized(n, s) \ ((size_t) (sizeof (ptrdiff_t) <= sizeof (size_t) ? -1 : -2) / (s) < (n)) /* In the following macros, T must be an elementary or structure/union or typedef'ed type, or a pointer to such a type. To apply one of the following macros to a function pointer or array type, you need to typedef it first and use the typedef name. */ /* Allocate an object of type T dynamically, with error checking. */ /* extern t *XMALLOC (typename t); */ # define XMALLOC(t) ((t *) xmalloc (sizeof (t))) /* Allocate memory for N elements of type T, with error checking. */ /* extern t *XNMALLOC (size_t n, typename t); */ # define XNMALLOC(n, t) \ ((t *) (sizeof (t) == 1 ? xmalloc (n) : xnmalloc (n, sizeof (t)))) /* Allocate an object of type T dynamically, with error checking, and zero it. */ /* extern t *XZALLOC (typename t); */ # define XZALLOC(t) ((t *) xzalloc (sizeof (t))) /* Allocate memory for N elements of type T, with error checking, and zero it. */ /* extern t *XCALLOC (size_t n, typename t); */ # define XCALLOC(n, t) \ ((t *) (sizeof (t) == 1 ? xzalloc (n) : xcalloc (n, sizeof (t)))) # if HAVE_INLINE # define static_inline static inline # else void *xnmalloc (size_t n, size_t s) ATTRIBUTE_MALLOC; void *xnrealloc (void *p, size_t n, size_t s); void *x2nrealloc (void *p, size_t *pn, size_t s); char *xcharalloc (size_t n) ATTRIBUTE_MALLOC; # endif # ifdef static_inline /* Allocate an array of N objects, each with S bytes of memory, dynamically, with error checking. S must be nonzero. */ static_inline void *xnmalloc (size_t n, size_t s) ATTRIBUTE_MALLOC; static_inline void * xnmalloc (size_t n, size_t s) { if (xalloc_oversized (n, s)) xalloc_die (); return xmalloc (n * s); } /* Change the size of an allocated block of memory P to an array of N objects each of S bytes, with error checking. S must be nonzero. */ static_inline void * xnrealloc (void *p, size_t n, size_t s) { if (xalloc_oversized (n, s)) xalloc_die (); return xrealloc (p, n * s); } /* If P is null, allocate a block of at least *PN such objects; otherwise, reallocate P so that it contains more than *PN objects each of S bytes. *PN must be nonzero unless P is null, and S must be nonzero. Set *PN to the new number of objects, and return the pointer to the new block. *PN is never set to zero, and the returned pointer is never null. Repeated reallocations are guaranteed to make progress, either by allocating an initial block with a nonzero size, or by allocating a larger block. In the following implementation, nonzero sizes are increased by a factor of approximately 1.5 so that repeated reallocations have O(N) overall cost rather than O(N**2) cost, but the specification for this function does not guarantee that rate. Here is an example of use: int *p = NULL; size_t used = 0; size_t allocated = 0; void append_int (int value) { if (used == allocated) p = x2nrealloc (p, &allocated, sizeof *p); p[used++] = value; } This causes x2nrealloc to allocate a block of some nonzero size the first time it is called. To have finer-grained control over the initial size, set *PN to a nonzero value before calling this function with P == NULL. For example: int *p = NULL; size_t used = 0; size_t allocated = 0; size_t allocated1 = 1000; void append_int (int value) { if (used == allocated) { p = x2nrealloc (p, &allocated1, sizeof *p); allocated = allocated1; } p[used++] = value; } */ static_inline void * x2nrealloc (void *p, size_t *pn, size_t s) { size_t n = *pn; if (! p) { if (! n) { /* The approximate size to use for initial small allocation requests, when the invoking code specifies an old size of zero. 64 bytes is the largest "small" request for the GNU C library malloc. */ enum { DEFAULT_MXFAST = 64 }; n = DEFAULT_MXFAST / s; n += !n; } } else { /* Set N = ceil (1.5 * N) so that progress is made if N == 1. Check for overflow, so that N * S stays in size_t range. The check is slightly conservative, but an exact check isn't worth the trouble. */ if ((size_t) -1 / 3 * 2 / s <= n) xalloc_die (); n += (n + 1) / 2; } *pn = n; return xrealloc (p, n * s); } /* Return a pointer to a new buffer of N bytes. This is like xmalloc, except it returns char *. */ static_inline char *xcharalloc (size_t n) ATTRIBUTE_MALLOC; static_inline char * xcharalloc (size_t n) { return XNMALLOC (n, char); } # endif # ifdef __cplusplus } /* C++ does not allow conversions from void * to other pointer types without a cast. Use templates to work around the problem when possible. */ template inline T * xrealloc (T *p, size_t s) { return (T *) xrealloc ((void *) p, s); } template inline T * xnrealloc (T *p, size_t n, size_t s) { return (T *) xnrealloc ((void *) p, n, s); } template inline T * x2realloc (T *p, size_t *pn) { return (T *) x2realloc ((void *) p, pn); } template inline T * x2nrealloc (T *p, size_t *pn, size_t s) { return (T *) x2nrealloc ((void *) p, pn, s); } template inline T * xmemdup (T const *p, size_t s) { return (T *) xmemdup ((void const *) p, s); } # endif #endif /* !XALLOC_H_ */ parted-2.3/lib/xalloc-die.c0000644000000000000000000000246611370541032012463 00000000000000/* Report a memory allocation failure and exit. Copyright (C) 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2006, 2009, 2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "xalloc.h" #include #include "error.h" #include "exitfail.h" #include "gettext.h" #define _(msgid) gettext (msgid) void xalloc_die (void) { error (exit_failure, 0, "%s", _("memory exhausted")); /* The `noreturn' cannot be given to error, since it may return if its first argument is 0. To help compilers understand the xalloc_die does not return, call abort. Also, the abort is a safety feature if exit_failure is 0 (which shouldn't happen). */ abort (); } parted-2.3/lib/stdint.in.h0000644000000000000000000004047611354347365012403 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Copyright (C) 2001-2002, 2004-2010 Free Software Foundation, Inc. Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood. This file is part of gnulib. 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 3, 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. */ /* * ISO C 99 for platforms that lack it. * */ #ifndef _GL_STDINT_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif /* When including a system file that in turn includes , use the system , not our substitute. This avoids problems with (for example) VMS, whose includes . */ #define _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H /* Get those types that are already defined in other system include files, so that we can "#define int8_t signed char" below without worrying about a later system include file containing a "typedef signed char int8_t;" that will get messed up by our macro. Our macros should all be consistent with the system versions, except for the "fast" types and macros, which we recommend against using in public interfaces due to compiler differences. */ #if @HAVE_STDINT_H@ # if defined __sgi && ! defined __c99 /* Bypass IRIX's if in C89 mode, since it merely annoys users with "This header file is to be used only for c99 mode compilations" diagnostics. */ # define __STDINT_H__ # endif /* Other systems may have an incomplete or buggy . Include it before , since any "#include " in would reinclude us, skipping our contents because _GL_STDINT_H is defined. The include_next requires a split double-inclusion guard. */ # @INCLUDE_NEXT@ @NEXT_STDINT_H@ #endif #if ! defined _GL_STDINT_H && ! defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H #define _GL_STDINT_H /* defines some of the stdint.h types as well, on glibc, IRIX 6.5, and OpenBSD 3.8 (via ). AIX 5.2 isn't needed and causes troubles. MacOS X 10.4.6 includes (which is us), but relies on the system definitions, so include after @NEXT_STDINT_H@. */ #if @HAVE_SYS_TYPES_H@ && ! defined _AIX # include #endif /* Get LONG_MIN, LONG_MAX, ULONG_MAX. */ #include #if @HAVE_INTTYPES_H@ /* In OpenBSD 3.8, includes , which defines int{8,16,32,64}_t, uint{8,16,32,64}_t and __BIT_TYPES_DEFINED__. also defines intptr_t and uintptr_t. */ # include #elif @HAVE_SYS_INTTYPES_H@ /* Solaris 7 has the types except the *_fast*_t types, and the macros except for *_FAST*_*, INTPTR_MIN, PTRDIFF_MIN, PTRDIFF_MAX. */ # include #endif #if @HAVE_SYS_BITYPES_H@ && ! defined __BIT_TYPES_DEFINED__ /* Linux libc4 >= 4.6.7 and libc5 have a that defines int{8,16,32,64}_t and __BIT_TYPES_DEFINED__. In libc5 >= 5.2.2 it is included by . */ # include #endif #undef _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H /* Minimum and maximum values for a integer type under the usual assumption. Return an unspecified value if BITS == 0, adding a check to pacify picky compilers. */ #define _STDINT_MIN(signed, bits, zero) \ ((signed) ? (- ((zero) + 1) << ((bits) ? (bits) - 1 : 0)) : (zero)) #define _STDINT_MAX(signed, bits, zero) \ ((signed) \ ? ~ _STDINT_MIN (signed, bits, zero) \ : /* The expression for the unsigned case. The subtraction of (signed) \ is a nop in the unsigned case and avoids "signed integer overflow" \ warnings in the signed case. */ \ ((((zero) + 1) << ((bits) ? (bits) - 1 - (signed) : 0)) - 1) * 2 + 1) /* 7.18.1.1. Exact-width integer types */ /* Here we assume a standard architecture where the hardware integer types have 8, 16, 32, optionally 64 bits. */ #undef int8_t #undef uint8_t typedef signed char gl_int8_t; typedef unsigned char gl_uint8_t; #define int8_t gl_int8_t #define uint8_t gl_uint8_t #undef int16_t #undef uint16_t typedef short int gl_int16_t; typedef unsigned short int gl_uint16_t; #define int16_t gl_int16_t #define uint16_t gl_uint16_t #undef int32_t #undef uint32_t typedef int gl_int32_t; typedef unsigned int gl_uint32_t; #define int32_t gl_int32_t #define uint32_t gl_uint32_t /* Do not undefine int64_t if gnulib is not being used with 64-bit types, since otherwise it breaks platforms like Tandem/NSK. */ #if LONG_MAX >> 31 >> 31 == 1 # undef int64_t typedef long int gl_int64_t; # define int64_t gl_int64_t # define GL_INT64_T #elif defined _MSC_VER # undef int64_t typedef __int64 gl_int64_t; # define int64_t gl_int64_t # define GL_INT64_T #elif @HAVE_LONG_LONG_INT@ # undef int64_t typedef long long int gl_int64_t; # define int64_t gl_int64_t # define GL_INT64_T #endif #if ULONG_MAX >> 31 >> 31 >> 1 == 1 # undef uint64_t typedef unsigned long int gl_uint64_t; # define uint64_t gl_uint64_t # define GL_UINT64_T #elif defined _MSC_VER # undef uint64_t typedef unsigned __int64 gl_uint64_t; # define uint64_t gl_uint64_t # define GL_UINT64_T #elif @HAVE_UNSIGNED_LONG_LONG_INT@ # undef uint64_t typedef unsigned long long int gl_uint64_t; # define uint64_t gl_uint64_t # define GL_UINT64_T #endif /* Avoid collision with Solaris 2.5.1 etc. */ #define _UINT8_T #define _UINT32_T #define _UINT64_T /* 7.18.1.2. Minimum-width integer types */ /* Here we assume a standard architecture where the hardware integer types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types are the same as the corresponding N_t types. */ #undef int_least8_t #undef uint_least8_t #undef int_least16_t #undef uint_least16_t #undef int_least32_t #undef uint_least32_t #undef int_least64_t #undef uint_least64_t #define int_least8_t int8_t #define uint_least8_t uint8_t #define int_least16_t int16_t #define uint_least16_t uint16_t #define int_least32_t int32_t #define uint_least32_t uint32_t #ifdef GL_INT64_T # define int_least64_t int64_t #endif #ifdef GL_UINT64_T # define uint_least64_t uint64_t #endif /* 7.18.1.3. Fastest minimum-width integer types */ /* Note: Other substitutes may define these types differently. It is not recommended to use these types in public header files. */ /* Here we assume a standard architecture where the hardware integer types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types are taken from the same list of types. Assume that 'long int' is fast enough for all narrower integers. */ #undef int_fast8_t #undef uint_fast8_t #undef int_fast16_t #undef uint_fast16_t #undef int_fast32_t #undef uint_fast32_t #undef int_fast64_t #undef uint_fast64_t typedef long int gl_int_fast8_t; typedef unsigned long int gl_uint_fast8_t; typedef long int gl_int_fast16_t; typedef unsigned long int gl_uint_fast16_t; typedef long int gl_int_fast32_t; typedef unsigned long int gl_uint_fast32_t; #define int_fast8_t gl_int_fast8_t #define uint_fast8_t gl_uint_fast8_t #define int_fast16_t gl_int_fast16_t #define uint_fast16_t gl_uint_fast16_t #define int_fast32_t gl_int_fast32_t #define uint_fast32_t gl_uint_fast32_t #ifdef GL_INT64_T # define int_fast64_t int64_t #endif #ifdef GL_UINT64_T # define uint_fast64_t uint64_t #endif /* 7.18.1.4. Integer types capable of holding object pointers */ #undef intptr_t #undef uintptr_t typedef long int gl_intptr_t; typedef unsigned long int gl_uintptr_t; #define intptr_t gl_intptr_t #define uintptr_t gl_uintptr_t /* 7.18.1.5. Greatest-width integer types */ /* Note: These types are compiler dependent. It may be unwise to use them in public header files. */ #undef intmax_t #if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 typedef long long int gl_intmax_t; # define intmax_t gl_intmax_t #elif defined GL_INT64_T # define intmax_t int64_t #else typedef long int gl_intmax_t; # define intmax_t gl_intmax_t #endif #undef uintmax_t #if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 typedef unsigned long long int gl_uintmax_t; # define uintmax_t gl_uintmax_t #elif defined GL_UINT64_T # define uintmax_t uint64_t #else typedef unsigned long int gl_uintmax_t; # define uintmax_t gl_uintmax_t #endif /* Verify that intmax_t and uintmax_t have the same size. Too much code breaks if this is not the case. If this check fails, the reason is likely to be found in the autoconf macros. */ typedef int _verify_intmax_size[2 * (sizeof (intmax_t) == sizeof (uintmax_t)) - 1]; /* 7.18.2. Limits of specified-width integer types */ #if ! defined __cplusplus || defined __STDC_LIMIT_MACROS /* 7.18.2.1. Limits of exact-width integer types */ /* Here we assume a standard architecture where the hardware integer types have 8, 16, 32, optionally 64 bits. */ #undef INT8_MIN #undef INT8_MAX #undef UINT8_MAX #define INT8_MIN (~ INT8_MAX) #define INT8_MAX 127 #define UINT8_MAX 255 #undef INT16_MIN #undef INT16_MAX #undef UINT16_MAX #define INT16_MIN (~ INT16_MAX) #define INT16_MAX 32767 #define UINT16_MAX 65535 #undef INT32_MIN #undef INT32_MAX #undef UINT32_MAX #define INT32_MIN (~ INT32_MAX) #define INT32_MAX 2147483647 #define UINT32_MAX 4294967295U #undef INT64_MIN #undef INT64_MAX #ifdef GL_INT64_T /* Prefer (- INTMAX_C (1) << 63) over (~ INT64_MAX) because SunPRO C 5.0 evaluates the latter incorrectly in preprocessor expressions. */ # define INT64_MIN (- INTMAX_C (1) << 63) # define INT64_MAX INTMAX_C (9223372036854775807) #endif #undef UINT64_MAX #ifdef GL_UINT64_T # define UINT64_MAX UINTMAX_C (18446744073709551615) #endif /* 7.18.2.2. Limits of minimum-width integer types */ /* Here we assume a standard architecture where the hardware integer types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types are the same as the corresponding N_t types. */ #undef INT_LEAST8_MIN #undef INT_LEAST8_MAX #undef UINT_LEAST8_MAX #define INT_LEAST8_MIN INT8_MIN #define INT_LEAST8_MAX INT8_MAX #define UINT_LEAST8_MAX UINT8_MAX #undef INT_LEAST16_MIN #undef INT_LEAST16_MAX #undef UINT_LEAST16_MAX #define INT_LEAST16_MIN INT16_MIN #define INT_LEAST16_MAX INT16_MAX #define UINT_LEAST16_MAX UINT16_MAX #undef INT_LEAST32_MIN #undef INT_LEAST32_MAX #undef UINT_LEAST32_MAX #define INT_LEAST32_MIN INT32_MIN #define INT_LEAST32_MAX INT32_MAX #define UINT_LEAST32_MAX UINT32_MAX #undef INT_LEAST64_MIN #undef INT_LEAST64_MAX #ifdef GL_INT64_T # define INT_LEAST64_MIN INT64_MIN # define INT_LEAST64_MAX INT64_MAX #endif #undef UINT_LEAST64_MAX #ifdef GL_UINT64_T # define UINT_LEAST64_MAX UINT64_MAX #endif /* 7.18.2.3. Limits of fastest minimum-width integer types */ /* Here we assume a standard architecture where the hardware integer types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types are taken from the same list of types. */ #undef INT_FAST8_MIN #undef INT_FAST8_MAX #undef UINT_FAST8_MAX #define INT_FAST8_MIN LONG_MIN #define INT_FAST8_MAX LONG_MAX #define UINT_FAST8_MAX ULONG_MAX #undef INT_FAST16_MIN #undef INT_FAST16_MAX #undef UINT_FAST16_MAX #define INT_FAST16_MIN LONG_MIN #define INT_FAST16_MAX LONG_MAX #define UINT_FAST16_MAX ULONG_MAX #undef INT_FAST32_MIN #undef INT_FAST32_MAX #undef UINT_FAST32_MAX #define INT_FAST32_MIN LONG_MIN #define INT_FAST32_MAX LONG_MAX #define UINT_FAST32_MAX ULONG_MAX #undef INT_FAST64_MIN #undef INT_FAST64_MAX #ifdef GL_INT64_T # define INT_FAST64_MIN INT64_MIN # define INT_FAST64_MAX INT64_MAX #endif #undef UINT_FAST64_MAX #ifdef GL_UINT64_T # define UINT_FAST64_MAX UINT64_MAX #endif /* 7.18.2.4. Limits of integer types capable of holding object pointers */ #undef INTPTR_MIN #undef INTPTR_MAX #undef UINTPTR_MAX #define INTPTR_MIN LONG_MIN #define INTPTR_MAX LONG_MAX #define UINTPTR_MAX ULONG_MAX /* 7.18.2.5. Limits of greatest-width integer types */ #undef INTMAX_MIN #undef INTMAX_MAX #ifdef INT64_MAX # define INTMAX_MIN INT64_MIN # define INTMAX_MAX INT64_MAX #else # define INTMAX_MIN INT32_MIN # define INTMAX_MAX INT32_MAX #endif #undef UINTMAX_MAX #ifdef UINT64_MAX # define UINTMAX_MAX UINT64_MAX #else # define UINTMAX_MAX UINT32_MAX #endif /* 7.18.3. Limits of other integer types */ /* ptrdiff_t limits */ #undef PTRDIFF_MIN #undef PTRDIFF_MAX #if @APPLE_UNIVERSAL_BUILD@ # ifdef _LP64 # define PTRDIFF_MIN _STDINT_MIN (1, 64, 0l) # define PTRDIFF_MAX _STDINT_MAX (1, 64, 0l) # else # define PTRDIFF_MIN _STDINT_MIN (1, 32, 0) # define PTRDIFF_MAX _STDINT_MAX (1, 32, 0) # endif #else # define PTRDIFF_MIN \ _STDINT_MIN (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@) # define PTRDIFF_MAX \ _STDINT_MAX (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@) #endif /* sig_atomic_t limits */ #undef SIG_ATOMIC_MIN #undef SIG_ATOMIC_MAX #define SIG_ATOMIC_MIN \ _STDINT_MIN (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \ 0@SIG_ATOMIC_T_SUFFIX@) #define SIG_ATOMIC_MAX \ _STDINT_MAX (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \ 0@SIG_ATOMIC_T_SUFFIX@) /* size_t limit */ #undef SIZE_MAX #if @APPLE_UNIVERSAL_BUILD@ # ifdef _LP64 # define SIZE_MAX _STDINT_MAX (0, 64, 0ul) # else # define SIZE_MAX _STDINT_MAX (0, 32, 0ul) # endif #else # define SIZE_MAX _STDINT_MAX (0, @BITSIZEOF_SIZE_T@, 0@SIZE_T_SUFFIX@) #endif /* wchar_t limits */ /* Get WCHAR_MIN, WCHAR_MAX. This include is not on the top, above, because on OSF/1 4.0 we have a sequence of nested includes -> -> -> , and the latter includes and assumes its types are already defined. */ #if ! (defined WCHAR_MIN && defined WCHAR_MAX) # define _GL_JUST_INCLUDE_SYSTEM_WCHAR_H # include # undef _GL_JUST_INCLUDE_SYSTEM_WCHAR_H #endif #undef WCHAR_MIN #undef WCHAR_MAX #define WCHAR_MIN \ _STDINT_MIN (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@) #define WCHAR_MAX \ _STDINT_MAX (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@) /* wint_t limits */ #undef WINT_MIN #undef WINT_MAX #define WINT_MIN \ _STDINT_MIN (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@) #define WINT_MAX \ _STDINT_MAX (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@) #endif /* !defined __cplusplus || defined __STDC_LIMIT_MACROS */ /* 7.18.4. Macros for integer constants */ #if ! defined __cplusplus || defined __STDC_CONSTANT_MACROS /* 7.18.4.1. Macros for minimum-width integer constants */ /* According to ISO C 99 Technical Corrigendum 1 */ /* Here we assume a standard architecture where the hardware integer types have 8, 16, 32, optionally 64 bits, and int is 32 bits. */ #undef INT8_C #undef UINT8_C #define INT8_C(x) x #define UINT8_C(x) x #undef INT16_C #undef UINT16_C #define INT16_C(x) x #define UINT16_C(x) x #undef INT32_C #undef UINT32_C #define INT32_C(x) x #define UINT32_C(x) x ## U #undef INT64_C #undef UINT64_C #if LONG_MAX >> 31 >> 31 == 1 # define INT64_C(x) x##L #elif defined _MSC_VER # define INT64_C(x) x##i64 #elif @HAVE_LONG_LONG_INT@ # define INT64_C(x) x##LL #endif #if ULONG_MAX >> 31 >> 31 >> 1 == 1 # define UINT64_C(x) x##UL #elif defined _MSC_VER # define UINT64_C(x) x##ui64 #elif @HAVE_UNSIGNED_LONG_LONG_INT@ # define UINT64_C(x) x##ULL #endif /* 7.18.4.2. Macros for greatest-width integer constants */ #undef INTMAX_C #if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 # define INTMAX_C(x) x##LL #elif defined GL_INT64_T # define INTMAX_C(x) INT64_C(x) #else # define INTMAX_C(x) x##L #endif #undef UINTMAX_C #if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 # define UINTMAX_C(x) x##ULL #elif defined GL_UINT64_T # define UINTMAX_C(x) UINT64_C(x) #else # define UINTMAX_C(x) x##UL #endif #endif /* !defined __cplusplus || defined __STDC_CONSTANT_MACROS */ #endif /* _GL_STDINT_H */ #endif /* !defined _GL_STDINT_H && !defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H */ parted-2.3/lib/localcharset.c0000644000000000000000000004326011377165373013124 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Determine a canonical name for the current locale's character encoding. Copyright (C) 2000-2006, 2008-2010 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 3, 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. */ /* Written by Bruno Haible . */ #include /* Specification. */ #include "localcharset.h" #include #include #include #include #include #if defined __APPLE__ && defined __MACH__ && HAVE_LANGINFO_CODESET # define DARWIN7 /* Darwin 7 or newer, i.e. MacOS X 10.3 or newer */ #endif #if defined _WIN32 || defined __WIN32__ # define WIN32_NATIVE #endif #if defined __EMX__ /* Assume EMX program runs on OS/2, even if compiled under DOS. */ # ifndef OS2 # define OS2 # endif #endif #if !defined WIN32_NATIVE # include # if HAVE_LANGINFO_CODESET # include # else # if 0 /* see comment below */ # include # endif # endif # ifdef __CYGWIN__ # define WIN32_LEAN_AND_MEAN # include # endif #elif defined WIN32_NATIVE # define WIN32_LEAN_AND_MEAN # include #endif #if defined OS2 # define INCL_DOS # include #endif #if ENABLE_RELOCATABLE # include "relocatable.h" #else # define relocate(pathname) (pathname) #endif /* Get LIBDIR. */ #ifndef LIBDIR # include "configmake.h" #endif /* Define O_NOFOLLOW to 0 on platforms where it does not exist. */ #ifndef O_NOFOLLOW # define O_NOFOLLOW 0 #endif #if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ /* Win32, Cygwin, OS/2, DOS */ # define ISSLASH(C) ((C) == '/' || (C) == '\\') #endif #ifndef DIRECTORY_SEPARATOR # define DIRECTORY_SEPARATOR '/' #endif #ifndef ISSLASH # define ISSLASH(C) ((C) == DIRECTORY_SEPARATOR) #endif #if HAVE_DECL_GETC_UNLOCKED # undef getc # define getc getc_unlocked #endif /* The following static variable is declared 'volatile' to avoid a possible multithread problem in the function get_charset_aliases. If we are running in a threaded environment, and if two threads initialize 'charset_aliases' simultaneously, both will produce the same value, and everything will be ok if the two assignments to 'charset_aliases' are atomic. But I don't know what will happen if the two assignments mix. */ #if __STDC__ != 1 # define volatile /* empty */ #endif /* Pointer to the contents of the charset.alias file, if it has already been read, else NULL. Its format is: ALIAS_1 '\0' CANONICAL_1 '\0' ... ALIAS_n '\0' CANONICAL_n '\0' '\0' */ static const char * volatile charset_aliases; /* Return a pointer to the contents of the charset.alias file. */ static const char * get_charset_aliases (void) { const char *cp; cp = charset_aliases; if (cp == NULL) { #if !(defined DARWIN7 || defined VMS || defined WIN32_NATIVE || defined __CYGWIN__) const char *dir; const char *base = "charset.alias"; char *file_name; /* Make it possible to override the charset.alias location. This is necessary for running the testsuite before "make install". */ dir = getenv ("CHARSETALIASDIR"); if (dir == NULL || dir[0] == '\0') dir = relocate (LIBDIR); /* Concatenate dir and base into freshly allocated file_name. */ { size_t dir_len = strlen (dir); size_t base_len = strlen (base); int add_slash = (dir_len > 0 && !ISSLASH (dir[dir_len - 1])); file_name = (char *) malloc (dir_len + add_slash + base_len + 1); if (file_name != NULL) { memcpy (file_name, dir, dir_len); if (add_slash) file_name[dir_len] = DIRECTORY_SEPARATOR; memcpy (file_name + dir_len + add_slash, base, base_len + 1); } } if (file_name == NULL) /* Out of memory. Treat the file as empty. */ cp = ""; else { int fd; /* Open the file. Reject symbolic links on platforms that support O_NOFOLLOW. This is a security feature. Without it, an attacker could retrieve parts of the contents (namely, the tail of the first line that starts with "* ") of an arbitrary file by placing a symbolic link to that file under the name "charset.alias" in some writable directory and defining the environment variable CHARSETALIASDIR to point to that directory. */ fd = open (file_name, O_RDONLY | (HAVE_WORKING_O_NOFOLLOW ? O_NOFOLLOW : 0)); if (fd < 0) /* File not found. Treat it as empty. */ cp = ""; else { FILE *fp; fp = fdopen (fd, "r"); if (fp == NULL) { /* Out of memory. Treat the file as empty. */ close (fd); cp = ""; } else { /* Parse the file's contents. */ char *res_ptr = NULL; size_t res_size = 0; for (;;) { int c; char buf1[50+1]; char buf2[50+1]; size_t l1, l2; char *old_res_ptr; c = getc (fp); if (c == EOF) break; if (c == '\n' || c == ' ' || c == '\t') continue; if (c == '#') { /* Skip comment, to end of line. */ do c = getc (fp); while (!(c == EOF || c == '\n')); if (c == EOF) break; continue; } ungetc (c, fp); if (fscanf (fp, "%50s %50s", buf1, buf2) < 2) break; l1 = strlen (buf1); l2 = strlen (buf2); old_res_ptr = res_ptr; if (res_size == 0) { res_size = l1 + 1 + l2 + 1; res_ptr = (char *) malloc (res_size + 1); } else { res_size += l1 + 1 + l2 + 1; res_ptr = (char *) realloc (res_ptr, res_size + 1); } if (res_ptr == NULL) { /* Out of memory. */ res_size = 0; if (old_res_ptr != NULL) free (old_res_ptr); break; } strcpy (res_ptr + res_size - (l2 + 1) - (l1 + 1), buf1); strcpy (res_ptr + res_size - (l2 + 1), buf2); } fclose (fp); if (res_size == 0) cp = ""; else { *(res_ptr + res_size) = '\0'; cp = res_ptr; } } } free (file_name); } #else # if defined DARWIN7 /* To avoid the trouble of installing a file that is shared by many GNU packages -- many packaging systems have problems with this --, simply inline the aliases here. */ cp = "ISO8859-1" "\0" "ISO-8859-1" "\0" "ISO8859-2" "\0" "ISO-8859-2" "\0" "ISO8859-4" "\0" "ISO-8859-4" "\0" "ISO8859-5" "\0" "ISO-8859-5" "\0" "ISO8859-7" "\0" "ISO-8859-7" "\0" "ISO8859-9" "\0" "ISO-8859-9" "\0" "ISO8859-13" "\0" "ISO-8859-13" "\0" "ISO8859-15" "\0" "ISO-8859-15" "\0" "KOI8-R" "\0" "KOI8-R" "\0" "KOI8-U" "\0" "KOI8-U" "\0" "CP866" "\0" "CP866" "\0" "CP949" "\0" "CP949" "\0" "CP1131" "\0" "CP1131" "\0" "CP1251" "\0" "CP1251" "\0" "eucCN" "\0" "GB2312" "\0" "GB2312" "\0" "GB2312" "\0" "eucJP" "\0" "EUC-JP" "\0" "eucKR" "\0" "EUC-KR" "\0" "Big5" "\0" "BIG5" "\0" "Big5HKSCS" "\0" "BIG5-HKSCS" "\0" "GBK" "\0" "GBK" "\0" "GB18030" "\0" "GB18030" "\0" "SJIS" "\0" "SHIFT_JIS" "\0" "ARMSCII-8" "\0" "ARMSCII-8" "\0" "PT154" "\0" "PT154" "\0" /*"ISCII-DEV" "\0" "?" "\0"*/ "*" "\0" "UTF-8" "\0"; # endif # if defined VMS /* To avoid the troubles of an extra file charset.alias_vms in the sources of many GNU packages, simply inline the aliases here. */ /* The list of encodings is taken from the OpenVMS 7.3-1 documentation "Compaq C Run-Time Library Reference Manual for OpenVMS systems" section 10.7 "Handling Different Character Sets". */ cp = "ISO8859-1" "\0" "ISO-8859-1" "\0" "ISO8859-2" "\0" "ISO-8859-2" "\0" "ISO8859-5" "\0" "ISO-8859-5" "\0" "ISO8859-7" "\0" "ISO-8859-7" "\0" "ISO8859-8" "\0" "ISO-8859-8" "\0" "ISO8859-9" "\0" "ISO-8859-9" "\0" /* Japanese */ "eucJP" "\0" "EUC-JP" "\0" "SJIS" "\0" "SHIFT_JIS" "\0" "DECKANJI" "\0" "DEC-KANJI" "\0" "SDECKANJI" "\0" "EUC-JP" "\0" /* Chinese */ "eucTW" "\0" "EUC-TW" "\0" "DECHANYU" "\0" "DEC-HANYU" "\0" "DECHANZI" "\0" "GB2312" "\0" /* Korean */ "DECKOREAN" "\0" "EUC-KR" "\0"; # endif # if defined WIN32_NATIVE || defined __CYGWIN__ /* To avoid the troubles of installing a separate file in the same directory as the DLL and of retrieving the DLL's directory at runtime, simply inline the aliases here. */ cp = "CP936" "\0" "GBK" "\0" "CP1361" "\0" "JOHAB" "\0" "CP20127" "\0" "ASCII" "\0" "CP20866" "\0" "KOI8-R" "\0" "CP20936" "\0" "GB2312" "\0" "CP21866" "\0" "KOI8-RU" "\0" "CP28591" "\0" "ISO-8859-1" "\0" "CP28592" "\0" "ISO-8859-2" "\0" "CP28593" "\0" "ISO-8859-3" "\0" "CP28594" "\0" "ISO-8859-4" "\0" "CP28595" "\0" "ISO-8859-5" "\0" "CP28596" "\0" "ISO-8859-6" "\0" "CP28597" "\0" "ISO-8859-7" "\0" "CP28598" "\0" "ISO-8859-8" "\0" "CP28599" "\0" "ISO-8859-9" "\0" "CP28605" "\0" "ISO-8859-15" "\0" "CP38598" "\0" "ISO-8859-8" "\0" "CP51932" "\0" "EUC-JP" "\0" "CP51936" "\0" "GB2312" "\0" "CP51949" "\0" "EUC-KR" "\0" "CP51950" "\0" "EUC-TW" "\0" "CP54936" "\0" "GB18030" "\0" "CP65001" "\0" "UTF-8" "\0"; # endif #endif charset_aliases = cp; } return cp; } /* Determine the current locale's character encoding, and canonicalize it into one of the canonical names listed in config.charset. The result must not be freed; it is statically allocated. If the canonical name cannot be determined, the result is a non-canonical name. */ #ifdef STATIC STATIC #endif const char * locale_charset (void) { const char *codeset; const char *aliases; #if !(defined WIN32_NATIVE || defined OS2) # if HAVE_LANGINFO_CODESET /* Most systems support nl_langinfo (CODESET) nowadays. */ codeset = nl_langinfo (CODESET); # ifdef __CYGWIN__ /* Cygwin < 1.7 does not have locales. nl_langinfo (CODESET) always returns "US-ASCII". Return the suffix of the locale name from the environment variables (if present) or the codepage as a number. */ if (codeset != NULL && strcmp (codeset, "US-ASCII") == 0) { const char *locale; static char buf[2 + 10 + 1]; locale = getenv ("LC_ALL"); if (locale == NULL || locale[0] == '\0') { locale = getenv ("LC_CTYPE"); if (locale == NULL || locale[0] == '\0') locale = getenv ("LANG"); } if (locale != NULL && locale[0] != '\0') { /* If the locale name contains an encoding after the dot, return it. */ const char *dot = strchr (locale, '.'); if (dot != NULL) { const char *modifier; dot++; /* Look for the possible @... trailer and remove it, if any. */ modifier = strchr (dot, '@'); if (modifier == NULL) return dot; if (modifier - dot < sizeof (buf)) { memcpy (buf, dot, modifier - dot); buf [modifier - dot] = '\0'; return buf; } } } /* Woe32 has a function returning the locale's codepage as a number: GetACP(). This encoding is used by Cygwin, unless the user has set the environment variable CYGWIN=codepage:oem (which very few people do). Output directed to console windows needs to be converted (to GetOEMCP() if the console is using a raster font, or to GetConsoleOutputCP() if it is using a TrueType font). Cygwin does this conversion transparently (see winsup/cygwin/fhandler_console.cc), converting to GetConsoleOutputCP(). This leads to correct results, except when SetConsoleOutputCP has been called and a raster font is in use. */ sprintf (buf, "CP%u", GetACP ()); codeset = buf; } # endif # else /* On old systems which lack it, use setlocale or getenv. */ const char *locale = NULL; /* But most old systems don't have a complete set of locales. Some (like SunOS 4 or DJGPP) have only the C locale. Therefore we don't use setlocale here; it would return "C" when it doesn't support the locale name the user has set. */ # if 0 locale = setlocale (LC_CTYPE, NULL); # endif if (locale == NULL || locale[0] == '\0') { locale = getenv ("LC_ALL"); if (locale == NULL || locale[0] == '\0') { locale = getenv ("LC_CTYPE"); if (locale == NULL || locale[0] == '\0') locale = getenv ("LANG"); } } /* On some old systems, one used to set locale = "iso8859_1". On others, you set it to "language_COUNTRY.charset". In any case, we resolve it through the charset.alias file. */ codeset = locale; # endif #elif defined WIN32_NATIVE static char buf[2 + 10 + 1]; /* Woe32 has a function returning the locale's codepage as a number: GetACP(). When the output goes to a console window, it needs to be provided in GetOEMCP() encoding if the console is using a raster font, or in GetConsoleOutputCP() encoding if it is using a TrueType font. But in GUI programs and for output sent to files and pipes, GetACP() encoding is the best bet. */ sprintf (buf, "CP%u", GetACP ()); codeset = buf; #elif defined OS2 const char *locale; static char buf[2 + 10 + 1]; ULONG cp[3]; ULONG cplen; /* Allow user to override the codeset, as set in the operating system, with standard language environment variables. */ locale = getenv ("LC_ALL"); if (locale == NULL || locale[0] == '\0') { locale = getenv ("LC_CTYPE"); if (locale == NULL || locale[0] == '\0') locale = getenv ("LANG"); } if (locale != NULL && locale[0] != '\0') { /* If the locale name contains an encoding after the dot, return it. */ const char *dot = strchr (locale, '.'); if (dot != NULL) { const char *modifier; dot++; /* Look for the possible @... trailer and remove it, if any. */ modifier = strchr (dot, '@'); if (modifier == NULL) return dot; if (modifier - dot < sizeof (buf)) { memcpy (buf, dot, modifier - dot); buf [modifier - dot] = '\0'; return buf; } } /* Resolve through the charset.alias file. */ codeset = locale; } else { /* OS/2 has a function returning the locale's codepage as a number. */ if (DosQueryCp (sizeof (cp), cp, &cplen)) codeset = ""; else { sprintf (buf, "CP%u", cp[0]); codeset = buf; } } #endif if (codeset == NULL) /* The canonical name cannot be determined. */ codeset = ""; /* Resolve alias. */ for (aliases = get_charset_aliases (); *aliases != '\0'; aliases += strlen (aliases) + 1, aliases += strlen (aliases) + 1) if (strcmp (codeset, aliases) == 0 || (aliases[0] == '*' && aliases[1] == '\0')) { codeset = aliases + strlen (aliases) + 1; break; } /* Don't return an empty string. GNU libc and GNU libiconv interpret the empty string as denoting "the locale's character encoding", thus GNU libiconv would call this function a second time. */ if (codeset[0] == '\0') codeset = "ASCII"; return codeset; } parted-2.3/lib/basename-lgpl.c0000644000000000000000000000406111370541031013141 00000000000000/* basename.c -- return the last element in a file name Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "dirname.h" #include /* Return the address of the last file name component of NAME. If NAME has no relative file name components because it is a file system root, return the empty string. */ char * last_component (char const *name) { char const *base = name + FILE_SYSTEM_PREFIX_LEN (name); char const *p; bool saw_slash = false; while (ISSLASH (*base)) base++; for (p = base; *p; p++) { if (ISSLASH (*p)) saw_slash = true; else if (saw_slash) { base = p; saw_slash = false; } } return (char *) base; } /* Return the length of the basename NAME. Typically NAME is the value returned by base_name or last_component. Act like strlen (NAME), except omit all trailing slashes. */ size_t base_len (char const *name) { size_t len; size_t prefix_len = FILE_SYSTEM_PREFIX_LEN (name); for (len = strlen (name); 1 < len && ISSLASH (name[len - 1]); len--) continue; if (DOUBLE_SLASH_IS_DISTINCT_ROOT && len == 1 && ISSLASH (name[0]) && ISSLASH (name[1]) && ! name[2]) return 2; if (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE && prefix_len && len == prefix_len && ISSLASH (name[prefix_len])) return prefix_len + 1; return len; } parted-2.3/lib/alloca.in.h0000644000000000000000000000370411333760253012312 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Memory allocation on the stack. Copyright (C) 1995, 1999, 2001-2004, 2006-2010 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 3, 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. */ /* Avoid using the symbol _ALLOCA_H here, as Bison assumes _ALLOCA_H means there is a real alloca function. */ #ifndef _GL_ALLOCA_H #define _GL_ALLOCA_H /* alloca (N) returns a pointer to N bytes of memory allocated on the stack, which will last until the function returns. Use of alloca should be avoided: - inside arguments of function calls - undefined behaviour, - in inline functions - the allocation may actually last until the calling function returns, - for huge N (say, N >= 65536) - you never know how large (or small) the stack is, and when the stack cannot fulfill the memory allocation request, the program just crashes. */ #ifndef alloca # ifdef __GNUC__ # define alloca __builtin_alloca # elif defined _AIX # define alloca __alloca # elif defined _MSC_VER # include # define alloca _alloca # elif defined __DECC && defined __VMS # define alloca __ALLOCA # else # include # ifdef __cplusplus extern "C" # endif void *alloca (size_t); # endif #endif #endif /* _GL_ALLOCA_H */ parted-2.3/lib/getopt.in.h0000644000000000000000000002124711370541031012353 00000000000000/* Declarations for getopt. Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2007, 2009-2010 Free Software Foundation, Inc. This file is part of the GNU C Library. 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _GL_GETOPT_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif /* The include_next requires a split double-inclusion guard. We must also inform the replacement unistd.h to not recursively use ; our definitions will be present soon enough. */ #if @HAVE_GETOPT_H@ # define _GL_SYSTEM_GETOPT # @INCLUDE_NEXT@ @NEXT_GETOPT_H@ # undef _GL_SYSTEM_GETOPT #endif #ifndef _GL_GETOPT_H #ifndef __need_getopt # define _GL_GETOPT_H 1 #endif /* Standalone applications should #define __GETOPT_PREFIX to an identifier that prefixes the external functions and variables defined in this header. When this happens, include the headers that might declare getopt so that they will not cause confusion if included after this file (if the system had , we have already included it). Then systematically rename identifiers so that they do not collide with the system functions and variables. Renaming avoids problems with some compilers and linkers. */ #if defined __GETOPT_PREFIX && !defined __need_getopt # if !@HAVE_GETOPT_H@ # include # include # include # endif # undef __need_getopt # undef getopt # undef getopt_long # undef getopt_long_only # undef optarg # undef opterr # undef optind # undef optopt # undef option # define __GETOPT_CONCAT(x, y) x ## y # define __GETOPT_XCONCAT(x, y) __GETOPT_CONCAT (x, y) # define __GETOPT_ID(y) __GETOPT_XCONCAT (__GETOPT_PREFIX, y) # define getopt __GETOPT_ID (getopt) # define getopt_long __GETOPT_ID (getopt_long) # define getopt_long_only __GETOPT_ID (getopt_long_only) # define optarg __GETOPT_ID (optarg) # define opterr __GETOPT_ID (opterr) # define optind __GETOPT_ID (optind) # define optopt __GETOPT_ID (optopt) # define option __GETOPT_ID (option) # define _getopt_internal __GETOPT_ID (getopt_internal) #endif /* Standalone applications get correct prototypes for getopt_long and getopt_long_only; they declare "char **argv". libc uses prototypes with "char *const *argv" that are incorrect because getopt_long and getopt_long_only can permute argv; this is required for backward compatibility (e.g., for LSB 2.0.1). This used to be `#if defined __GETOPT_PREFIX && !defined __need_getopt', but it caused redefinition warnings if both unistd.h and getopt.h were included, since unistd.h includes getopt.h having previously defined __need_getopt. The only place where __getopt_argv_const is used is in definitions of getopt_long and getopt_long_only below, but these are visible only if __need_getopt is not defined, so it is quite safe to rewrite the conditional as follows: */ #if !defined __need_getopt # if defined __GETOPT_PREFIX # define __getopt_argv_const /* empty */ # else # define __getopt_argv_const const # endif #endif /* If __GNU_LIBRARY__ is not already defined, either we are being used standalone, or this is the first header included in the source file. If we are being used with glibc, we need to include , but that does not exist if we are standalone. So: if __GNU_LIBRARY__ is not defined, include , which will pull in for us if it's from glibc. (Why ctype.h? It's guaranteed to exist and it doesn't flood the namespace with stuff the way some other headers do.) */ #if !defined __GNU_LIBRARY__ # include #endif #ifndef __THROW # ifndef __GNUC_PREREQ # define __GNUC_PREREQ(maj, min) (0) # endif # if defined __cplusplus && __GNUC_PREREQ (2,8) # define __THROW throw () # else # define __THROW # endif #endif /* The definition of _GL_ARG_NONNULL is copied here. */ #ifdef __cplusplus extern "C" { #endif /* For communication from `getopt' to the caller. When `getopt' finds an option that takes an argument, the argument value is returned here. Also, when `ordering' is RETURN_IN_ORDER, each non-option ARGV-element is returned here. */ extern char *optarg; /* Index in ARGV of the next element to be scanned. This is used for communication to and from the caller and for communication between successive calls to `getopt'. On entry to `getopt', zero means this is the first call; initialize. When `getopt' returns -1, this is the index of the first of the non-option elements that the caller should itself scan. Otherwise, `optind' communicates from one call to the next how much of ARGV has been scanned so far. */ extern int optind; /* Callers store zero here to inhibit the error message `getopt' prints for unrecognized options. */ extern int opterr; /* Set to an option character which was unrecognized. */ extern int optopt; #ifndef __need_getopt /* Describe the long-named options requested by the application. The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector of `struct option' terminated by an element containing a name which is zero. The field `has_arg' is: no_argument (or 0) if the option does not take an argument, required_argument (or 1) if the option requires an argument, optional_argument (or 2) if the option takes an optional argument. If the field `flag' is not NULL, it points to a variable that is set to the value given in the field `val' when the option is found, but left unchanged if the option is not found. To have a long-named option do something other than set an `int' to a compiled-in constant, such as set a value from `optarg', set the option's `flag' field to zero and its `val' field to a nonzero value (the equivalent single-letter option character, if there is one). For long options that have a zero `flag' field, `getopt' returns the contents of the `val' field. */ struct option { const char *name; /* has_arg can't be an enum because some compilers complain about type mismatches in all the code that assumes it is an int. */ int has_arg; int *flag; int val; }; /* Names for the values of the `has_arg' field of `struct option'. */ # define no_argument 0 # define required_argument 1 # define optional_argument 2 #endif /* need getopt */ /* Get definitions and prototypes for functions to process the arguments in ARGV (ARGC of them, minus the program name) for options given in OPTS. Return the option character from OPTS just read. Return -1 when there are no more options. For unrecognized options, or options missing arguments, `optopt' is set to the option letter, and '?' is returned. The OPTS string is a list of characters which are recognized option letters, optionally followed by colons, specifying that that letter takes an argument, to be placed in `optarg'. If a letter in OPTS is followed by two colons, its argument is optional. This behavior is specific to the GNU `getopt'. The argument `--' causes premature termination of argument scanning, explicitly telling `getopt' that there are no more options. If OPTS begins with `-', then non-option arguments are treated as arguments to the option '\1'. This behavior is specific to the GNU `getopt'. If OPTS begins with `+', or POSIXLY_CORRECT is set in the environment, then do not permute arguments. */ extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) __THROW _GL_ARG_NONNULL ((2, 3)); #ifndef __need_getopt extern int getopt_long (int ___argc, char *__getopt_argv_const *___argv, const char *__shortopts, const struct option *__longopts, int *__longind) __THROW _GL_ARG_NONNULL ((2, 3)); extern int getopt_long_only (int ___argc, char *__getopt_argv_const *___argv, const char *__shortopts, const struct option *__longopts, int *__longind) __THROW _GL_ARG_NONNULL ((2, 3)); #endif #ifdef __cplusplus } #endif /* Make sure we later can get all the definitions and declarations. */ #undef __need_getopt #endif /* getopt.h */ #endif /* getopt.h */ parted-2.3/lib/mbsinit.c0000644000000000000000000000334311370541031012101 00000000000000/* Test for initial conversion state. Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. Written by Bruno Haible , 2008. 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include #include "verify.h" /* Platforms that lack mbsinit() also lack mbrlen(), mbrtowc(), mbsrtowcs() and wcrtomb(), wcsrtombs(). We assume that - sizeof (mbstate_t) >= 4, - only stateless encodings are supported (such as UTF-8 and EUC-JP, but not ISO-2022 variants), - for each encoding, the number of bytes for a wide character is <= 4. (This maximum is attained for UTF-8, GB18030, EUC-TW.) We define the meaning of mbstate_t as follows: - In mb -> wc direction, mbstate_t's first byte contains the number of buffered bytes (in the range 0..3), followed by up to 3 buffered bytes. - In wc -> mb direction, mbstate_t contains no information. In other words, it is always in the initial state. */ verify (sizeof (mbstate_t) >= 4); int mbsinit (const mbstate_t *ps) { const char *pstate = (const char *)ps; return pstate[0] == 0; } parted-2.3/lib/mbrtowc.c0000644000000000000000000002445511370541031012120 00000000000000/* Convert multibyte character to wide character. Copyright (C) 1999-2002, 2005-2010 Free Software Foundation, Inc. Written by Bruno Haible , 2008. 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include #if GNULIB_defined_mbstate_t /* Implement mbrtowc() on top of mbtowc(). */ # include # include # include "localcharset.h" # include "streq.h" # include "verify.h" verify (sizeof (mbstate_t) >= 4); static char internal_state[4]; size_t mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps) { char *pstate = (char *)ps; if (pstate == NULL) pstate = internal_state; if (s == NULL) { pwc = NULL; s = ""; n = 1; } if (n == 0) return (size_t)(-2); /* Here n > 0. */ { size_t nstate = pstate[0]; char buf[4]; const char *p; size_t m; switch (nstate) { case 0: p = s; m = n; break; case 3: buf[2] = pstate[3]; /*FALLTHROUGH*/ case 2: buf[1] = pstate[2]; /*FALLTHROUGH*/ case 1: buf[0] = pstate[1]; p = buf; m = nstate; buf[m++] = s[0]; if (n >= 2 && m < 4) { buf[m++] = s[1]; if (n >= 3 && m < 4) buf[m++] = s[2]; } break; default: errno = EINVAL; return (size_t)(-1); } /* Here m > 0. */ # if __GLIBC__ /* Work around bug */ mbtowc (NULL, NULL, 0); # endif { int res = mbtowc (pwc, p, m); if (res >= 0) { if (pwc != NULL && ((*pwc == 0) != (res == 0))) abort (); if (nstate >= (res > 0 ? res : 1)) abort (); res -= nstate; pstate[0] = 0; return res; } /* mbtowc does not distinguish between invalid and incomplete multibyte sequences. But mbrtowc needs to make this distinction. There are two possible approaches: - Use iconv() and its return value. - Use built-in knowledge about the possible encodings. Given the low quality of implementation of iconv() on the systems that lack mbrtowc(), we use the second approach. The possible encodings are: - 8-bit encodings, - EUC-JP, EUC-KR, GB2312, EUC-TW, BIG5, GB18030, SJIS, - UTF-8. Use specialized code for each. */ if (m >= 4 || m >= MB_CUR_MAX) goto invalid; /* Here MB_CUR_MAX > 1 and 0 < m < 4. */ { const char *encoding = locale_charset (); if (STREQ (encoding, "UTF-8", 'U', 'T', 'F', '-', '8', 0, 0, 0, 0)) { /* Cf. unistr/u8-mblen.c. */ unsigned char c = (unsigned char) p[0]; if (c >= 0xc2) { if (c < 0xe0) { if (m == 1) goto incomplete; } else if (c < 0xf0) { if (m == 1) goto incomplete; if (m == 2) { unsigned char c2 = (unsigned char) p[1]; if ((c2 ^ 0x80) < 0x40 && (c >= 0xe1 || c2 >= 0xa0) && (c != 0xed || c2 < 0xa0)) goto incomplete; } } else if (c <= 0xf4) { if (m == 1) goto incomplete; else /* m == 2 || m == 3 */ { unsigned char c2 = (unsigned char) p[1]; if ((c2 ^ 0x80) < 0x40 && (c >= 0xf1 || c2 >= 0x90) && (c < 0xf4 || (c == 0xf4 && c2 < 0x90))) { if (m == 2) goto incomplete; else /* m == 3 */ { unsigned char c3 = (unsigned char) p[2]; if ((c3 ^ 0x80) < 0x40) goto incomplete; } } } } } goto invalid; } /* As a reference for this code, you can use the GNU libiconv implementation. Look for uses of the RET_TOOFEW macro. */ if (STREQ (encoding, "EUC-JP", 'E', 'U', 'C', '-', 'J', 'P', 0, 0, 0)) { if (m == 1) { unsigned char c = (unsigned char) p[0]; if ((c >= 0xa1 && c < 0xff) || c == 0x8e || c == 0x8f) goto incomplete; } if (m == 2) { unsigned char c = (unsigned char) p[0]; if (c == 0x8f) { unsigned char c2 = (unsigned char) p[1]; if (c2 >= 0xa1 && c2 < 0xff) goto incomplete; } } goto invalid; } if (STREQ (encoding, "EUC-KR", 'E', 'U', 'C', '-', 'K', 'R', 0, 0, 0) || STREQ (encoding, "GB2312", 'G', 'B', '2', '3', '1', '2', 0, 0, 0) || STREQ (encoding, "BIG5", 'B', 'I', 'G', '5', 0, 0, 0, 0, 0)) { if (m == 1) { unsigned char c = (unsigned char) p[0]; if (c >= 0xa1 && c < 0xff) goto incomplete; } goto invalid; } if (STREQ (encoding, "EUC-TW", 'E', 'U', 'C', '-', 'T', 'W', 0, 0, 0)) { if (m == 1) { unsigned char c = (unsigned char) p[0]; if ((c >= 0xa1 && c < 0xff) || c == 0x8e) goto incomplete; } else /* m == 2 || m == 3 */ { unsigned char c = (unsigned char) p[0]; if (c == 0x8e) goto incomplete; } goto invalid; } if (STREQ (encoding, "GB18030", 'G', 'B', '1', '8', '0', '3', '0', 0, 0)) { if (m == 1) { unsigned char c = (unsigned char) p[0]; if ((c >= 0x90 && c <= 0xe3) || (c >= 0xf8 && c <= 0xfe)) goto incomplete; } else /* m == 2 || m == 3 */ { unsigned char c = (unsigned char) p[0]; if (c >= 0x90 && c <= 0xe3) { unsigned char c2 = (unsigned char) p[1]; if (c2 >= 0x30 && c2 <= 0x39) { if (m == 2) goto incomplete; else /* m == 3 */ { unsigned char c3 = (unsigned char) p[2]; if (c3 >= 0x81 && c3 <= 0xfe) goto incomplete; } } } } goto invalid; } if (STREQ (encoding, "SJIS", 'S', 'J', 'I', 'S', 0, 0, 0, 0, 0)) { if (m == 1) { unsigned char c = (unsigned char) p[0]; if ((c >= 0x81 && c <= 0x9f) || (c >= 0xe0 && c <= 0xea) || (c >= 0xf0 && c <= 0xf9)) goto incomplete; } goto invalid; } /* An unknown multibyte encoding. */ goto incomplete; } incomplete: { size_t k = nstate; /* Here 0 <= k < m < 4. */ pstate[++k] = s[0]; if (k < m) { pstate[++k] = s[1]; if (k < m) pstate[++k] = s[2]; } if (k != m) abort (); } pstate[0] = m; return (size_t)(-2); invalid: errno = EILSEQ; /* The conversion state is undefined, says POSIX. */ return (size_t)(-1); } } } #else /* Override the system's mbrtowc() function. */ # undef mbrtowc size_t rpl_mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps) { # if MBRTOWC_NULL_ARG_BUG || MBRTOWC_RETVAL_BUG if (s == NULL) { pwc = NULL; s = ""; n = 1; } # endif # if MBRTOWC_RETVAL_BUG { static mbstate_t internal_state; /* Override mbrtowc's internal state. We can not call mbsinit() on the hidden internal state, but we can call it on our variable. */ if (ps == NULL) ps = &internal_state; if (!mbsinit (ps)) { /* Parse the rest of the multibyte character byte for byte. */ size_t count = 0; for (; n > 0; s++, n--) { wchar_t wc; size_t ret = mbrtowc (&wc, s, 1, ps); if (ret == (size_t)(-1)) return (size_t)(-1); count++; if (ret != (size_t)(-2)) { /* The multibyte character has been completed. */ if (pwc != NULL) *pwc = wc; return (wc == 0 ? 0 : count); } } return (size_t)(-2); } } # endif # if MBRTOWC_NUL_RETVAL_BUG { wchar_t wc; size_t ret = mbrtowc (&wc, s, n, ps); if (ret != (size_t)(-1) && ret != (size_t)(-2)) { if (pwc != NULL) *pwc = wc; if (wc == 0) ret = 0; } return ret; } # else return mbrtowc (pwc, s, n, ps); # endif } #endif parted-2.3/lib/argmatch.c0000644000000000000000000001730111370541031012221 00000000000000/* argmatch.c -- find a match for a string in an array Copyright (C) 1990, 1998, 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by David MacKenzie Modified by Akim Demaille */ #include /* Specification. */ #include "argmatch.h" #include #include #include #include #include "gettext.h" #define _(msgid) gettext (msgid) #include "error.h" #include "quotearg.h" #include "quote.h" #if USE_UNLOCKED_IO # include "unlocked-io.h" #endif /* When reporting an invalid argument, show nonprinting characters by using the quoting style ARGMATCH_QUOTING_STYLE. Do not use literal_quoting_style. */ #ifndef ARGMATCH_QUOTING_STYLE # define ARGMATCH_QUOTING_STYLE locale_quoting_style #endif /* Non failing version of argmatch call this function after failing. */ #ifndef ARGMATCH_DIE # include "exitfail.h" # define ARGMATCH_DIE exit (exit_failure) #endif #ifdef ARGMATCH_DIE_DECL ARGMATCH_DIE_DECL; #endif static void __argmatch_die (void) { ARGMATCH_DIE; } /* Used by XARGMATCH and XARGCASEMATCH. See description in argmatch.h. Default to __argmatch_die, but allow caller to change this at run-time. */ argmatch_exit_fn argmatch_die = __argmatch_die; /* If ARG is an unambiguous match for an element of the NULL-terminated array ARGLIST, return the index in ARGLIST of the matched element, else -1 if it does not match any element or -2 if it is ambiguous (is a prefix of more than one element). If VALLIST is none null, use it to resolve ambiguities limited to synonyms, i.e., for "yes", "yop" -> 0 "no", "nope" -> 1 "y" is a valid argument, for `0', and "n" for `1'. */ ptrdiff_t argmatch (const char *arg, const char *const *arglist, const char *vallist, size_t valsize) { size_t i; /* Temporary index in ARGLIST. */ size_t arglen; /* Length of ARG. */ ptrdiff_t matchind = -1; /* Index of first nonexact match. */ bool ambiguous = false; /* If true, multiple nonexact match(es). */ arglen = strlen (arg); /* Test all elements for either exact match or abbreviated matches. */ for (i = 0; arglist[i]; i++) { if (!strncmp (arglist[i], arg, arglen)) { if (strlen (arglist[i]) == arglen) /* Exact match found. */ return i; else if (matchind == -1) /* First nonexact match found. */ matchind = i; else { /* Second nonexact match found. */ if (vallist == NULL || memcmp (vallist + valsize * matchind, vallist + valsize * i, valsize)) { /* There is a real ambiguity, or we could not disambiguate. */ ambiguous = true; } } } } if (ambiguous) return -2; else return matchind; } /* Error reporting for argmatch. CONTEXT is a description of the type of entity that was being matched. VALUE is the invalid value that was given. PROBLEM is the return value from argmatch. */ void argmatch_invalid (const char *context, const char *value, ptrdiff_t problem) { char const *format = (problem == -1 ? _("invalid argument %s for %s") : _("ambiguous argument %s for %s")); error (0, 0, format, quotearg_n_style (0, ARGMATCH_QUOTING_STYLE, value), quote_n (1, context)); } /* List the valid arguments for argmatch. ARGLIST is the same as in argmatch. VALLIST is a pointer to an array of values. VALSIZE is the size of the elements of VALLIST */ void argmatch_valid (const char *const *arglist, const char *vallist, size_t valsize) { size_t i; const char *last_val = NULL; /* We try to put synonyms on the same line. The assumption is that synonyms follow each other */ fprintf (stderr, _("Valid arguments are:")); for (i = 0; arglist[i]; i++) if ((i == 0) || memcmp (last_val, vallist + valsize * i, valsize)) { fprintf (stderr, "\n - `%s'", arglist[i]); last_val = vallist + valsize * i; } else { fprintf (stderr, ", `%s'", arglist[i]); } putc ('\n', stderr); } /* Never failing versions of the previous functions. CONTEXT is the context for which argmatch is called (e.g., "--version-control", or "$VERSION_CONTROL" etc.). Upon failure, calls the (supposed never to return) function EXIT_FN. */ ptrdiff_t __xargmatch_internal (const char *context, const char *arg, const char *const *arglist, const char *vallist, size_t valsize, argmatch_exit_fn exit_fn) { ptrdiff_t res = argmatch (arg, arglist, vallist, valsize); if (res >= 0) /* Success. */ return res; /* We failed. Explain why. */ argmatch_invalid (context, arg, res); argmatch_valid (arglist, vallist, valsize); (*exit_fn) (); return -1; /* To please the compilers. */ } /* Look for VALUE in VALLIST, an array of objects of size VALSIZE and return the first corresponding argument in ARGLIST */ const char * argmatch_to_argument (const char *value, const char *const *arglist, const char *vallist, size_t valsize) { size_t i; for (i = 0; arglist[i]; i++) if (!memcmp (value, vallist + valsize * i, valsize)) return arglist[i]; return NULL; } #ifdef TEST /* * Based on "getversion.c" by David MacKenzie */ char *program_name; /* When to make backup files. */ enum backup_type { /* Never make backups. */ no_backups, /* Make simple backups of every file. */ simple_backups, /* Make numbered backups of files that already have numbered backups, and simple backups of the others. */ numbered_existing_backups, /* Make numbered backups of every file. */ numbered_backups }; /* Two tables describing arguments (keys) and their corresponding values */ static const char *const backup_args[] = { "no", "none", "off", "simple", "never", "existing", "nil", "numbered", "t", 0 }; static const enum backup_type backup_vals[] = { no_backups, no_backups, no_backups, simple_backups, simple_backups, numbered_existing_backups, numbered_existing_backups, numbered_backups, numbered_backups }; int main (int argc, const char *const *argv) { const char *cp; enum backup_type backup_type = no_backups; program_name = (char *) argv[0]; if (argc > 2) { fprintf (stderr, "Usage: %s [VERSION_CONTROL]\n", program_name); exit (1); } if ((cp = getenv ("VERSION_CONTROL"))) backup_type = XARGMATCH ("$VERSION_CONTROL", cp, backup_args, backup_vals); if (argc == 2) backup_type = XARGMATCH (program_name, argv[1], backup_args, backup_vals); printf ("The version control is `%s'\n", ARGMATCH_TO_ARGUMENT (backup_type, backup_args, backup_vals)); return 0; } #endif parted-2.3/build-aux/0000755000000000000000000000000011400006131011460 500000000000000parted-2.3/build-aux/texinfo.tex0000644000000000000000000110461511377276065013642 00000000000000% texinfo.tex -- TeX macros to handle Texinfo files. % % Load plain if necessary, i.e., if running under initex. \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi % \def\texinfoversion{2010-05-22.17} % % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, % 2007, 2008, 2009, 2010 Free Software Foundation, Inc. % % This texinfo.tex file is free software: you can redistribute it and/or % modify it under the terms of the GNU General Public License as % published by the Free Software Foundation, either version 3 of the % License, or (at your option) any later version. % % This texinfo.tex file is distributed in the hope that it will be % useful, but WITHOUT ANY WARRANTY; without even the implied warranty % of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU % General Public License for more details. % % You should have received a copy of the GNU General Public License % along with this program. If not, see . % % As a special exception, when this file is read by TeX when processing % a Texinfo source document, you may use the result without % restriction. (This has been our intent since Texinfo was invented.) % % Please try the latest version of texinfo.tex before submitting bug % reports; you can get the latest version from: % http://www.gnu.org/software/texinfo/ (the Texinfo home page), or % ftp://tug.org/tex/texinfo.tex % (and all CTAN mirrors, see http://www.ctan.org). % The texinfo.tex in any given distribution could well be out % of date, so if that's what you're using, please check. % % Send bug reports to bug-texinfo@gnu.org. Please include including a % complete document in each bug report with which we can reproduce the % problem. Patches are, of course, greatly appreciated. % % To process a Texinfo manual with TeX, it's most reliable to use the % texi2dvi shell script that comes with the distribution. For a simple % manual foo.texi, however, you can get away with this: % tex foo.texi % texindex foo.?? % tex foo.texi % tex foo.texi % dvips foo.dvi -o # or whatever; this makes foo.ps. % The extra TeX runs get the cross-reference information correct. % Sometimes one run after texindex suffices, and sometimes you need more % than two; texi2dvi does it as many times as necessary. % % It is possible to adapt texinfo.tex for other languages, to some % extent. You can get the existing language-specific files from the % full Texinfo distribution. % % The GNU Texinfo home page is http://www.gnu.org/software/texinfo. \message{Loading texinfo [version \texinfoversion]:} % If in a .fmt file, print the version number % and turn on active characters that we couldn't do earlier because % they might have appeared in the input file name. \everyjob{\message{[Texinfo version \texinfoversion]}% \catcode`+=\active \catcode`\_=\active} \chardef\other=12 % We never want plain's \outer definition of \+ in Texinfo. % For @tex, we can use \tabalign. \let\+ = \relax % Save some plain tex macros whose names we will redefine. \let\ptexb=\b \let\ptexbullet=\bullet \let\ptexc=\c \let\ptexcomma=\, \let\ptexdot=\. \let\ptexdots=\dots \let\ptexend=\end \let\ptexequiv=\equiv \let\ptexexclam=\! \let\ptexfootnote=\footnote \let\ptexgtr=> \let\ptexhat=^ \let\ptexi=\i \let\ptexindent=\indent \let\ptexinsert=\insert \let\ptexlbrace=\{ \let\ptexless=< \let\ptexnewwrite\newwrite \let\ptexnoindent=\noindent \let\ptexplus=+ \let\ptexraggedright=\raggedright \let\ptexrbrace=\} \let\ptexslash=\/ \let\ptexstar=\* \let\ptext=\t \let\ptextop=\top {\catcode`\'=\active \global\let\ptexquoteright'}% active in plain's math mode % If this character appears in an error message or help string, it % starts a new line in the output. \newlinechar = `^^J % Use TeX 3.0's \inputlineno to get the line number, for better error % messages, but if we're using an old version of TeX, don't do anything. % \ifx\inputlineno\thisisundefined \let\linenumber = \empty % Pre-3.0. \else \def\linenumber{l.\the\inputlineno:\space} \fi % Set up fixed words for English if not already set. \ifx\putwordAppendix\undefined \gdef\putwordAppendix{Appendix}\fi \ifx\putwordChapter\undefined \gdef\putwordChapter{Chapter}\fi \ifx\putwordfile\undefined \gdef\putwordfile{file}\fi \ifx\putwordin\undefined \gdef\putwordin{in}\fi \ifx\putwordIndexIsEmpty\undefined \gdef\putwordIndexIsEmpty{(Index is empty)}\fi \ifx\putwordIndexNonexistent\undefined \gdef\putwordIndexNonexistent{(Index is nonexistent)}\fi \ifx\putwordInfo\undefined \gdef\putwordInfo{Info}\fi \ifx\putwordInstanceVariableof\undefined \gdef\putwordInstanceVariableof{Instance Variable of}\fi \ifx\putwordMethodon\undefined \gdef\putwordMethodon{Method on}\fi \ifx\putwordNoTitle\undefined \gdef\putwordNoTitle{No Title}\fi \ifx\putwordof\undefined \gdef\putwordof{of}\fi \ifx\putwordon\undefined \gdef\putwordon{on}\fi \ifx\putwordpage\undefined \gdef\putwordpage{page}\fi \ifx\putwordsection\undefined \gdef\putwordsection{section}\fi \ifx\putwordSection\undefined \gdef\putwordSection{Section}\fi \ifx\putwordsee\undefined \gdef\putwordsee{see}\fi \ifx\putwordSee\undefined \gdef\putwordSee{See}\fi \ifx\putwordShortTOC\undefined \gdef\putwordShortTOC{Short Contents}\fi \ifx\putwordTOC\undefined \gdef\putwordTOC{Table of Contents}\fi % \ifx\putwordMJan\undefined \gdef\putwordMJan{January}\fi \ifx\putwordMFeb\undefined \gdef\putwordMFeb{February}\fi \ifx\putwordMMar\undefined \gdef\putwordMMar{March}\fi \ifx\putwordMApr\undefined \gdef\putwordMApr{April}\fi \ifx\putwordMMay\undefined \gdef\putwordMMay{May}\fi \ifx\putwordMJun\undefined \gdef\putwordMJun{June}\fi \ifx\putwordMJul\undefined \gdef\putwordMJul{July}\fi \ifx\putwordMAug\undefined \gdef\putwordMAug{August}\fi \ifx\putwordMSep\undefined \gdef\putwordMSep{September}\fi \ifx\putwordMOct\undefined \gdef\putwordMOct{October}\fi \ifx\putwordMNov\undefined \gdef\putwordMNov{November}\fi \ifx\putwordMDec\undefined \gdef\putwordMDec{December}\fi % \ifx\putwordDefmac\undefined \gdef\putwordDefmac{Macro}\fi \ifx\putwordDefspec\undefined \gdef\putwordDefspec{Special Form}\fi \ifx\putwordDefvar\undefined \gdef\putwordDefvar{Variable}\fi \ifx\putwordDefopt\undefined \gdef\putwordDefopt{User Option}\fi \ifx\putwordDeffunc\undefined \gdef\putwordDeffunc{Function}\fi % Since the category of space is not known, we have to be careful. \chardef\spacecat = 10 \def\spaceisspace{\catcode`\ =\spacecat} % sometimes characters are active, so we need control sequences. \chardef\colonChar = `\: \chardef\commaChar = `\, \chardef\dashChar = `\- \chardef\dotChar = `\. \chardef\exclamChar= `\! \chardef\lquoteChar= `\` \chardef\questChar = `\? \chardef\rquoteChar= `\' \chardef\semiChar = `\; \chardef\underChar = `\_ % Ignore a token. % \def\gobble#1{} % The following is used inside several \edef's. \def\makecsname#1{\expandafter\noexpand\csname#1\endcsname} % Hyphenation fixes. \hyphenation{ Flor-i-da Ghost-script Ghost-view Mac-OS Post-Script ap-pen-dix bit-map bit-maps data-base data-bases eshell fall-ing half-way long-est man-u-script man-u-scripts mini-buf-fer mini-buf-fers over-view par-a-digm par-a-digms rath-er rec-tan-gu-lar ro-bot-ics se-vere-ly set-up spa-ces spell-ing spell-ings stand-alone strong-est time-stamp time-stamps which-ever white-space wide-spread wrap-around } % Margin to add to right of even pages, to left of odd pages. \newdimen\bindingoffset \newdimen\normaloffset \newdimen\pagewidth \newdimen\pageheight % For a final copy, take out the rectangles % that mark overfull boxes (in case you have decided % that the text looks ok even though it passes the margin). % \def\finalout{\overfullrule=0pt } % Sometimes it is convenient to have everything in the transcript file % and nothing on the terminal. We don't just call \tracingall here, % since that produces some useless output on the terminal. We also make % some effort to order the tracing commands to reduce output in the log % file; cf. trace.sty in LaTeX. % \def\gloggingall{\begingroup \globaldefs = 1 \loggingall \endgroup}% \def\loggingall{% \tracingstats2 \tracingpages1 \tracinglostchars2 % 2 gives us more in etex \tracingparagraphs1 \tracingoutput1 \tracingmacros2 \tracingrestores1 \showboxbreadth\maxdimen \showboxdepth\maxdimen \ifx\eTeXversion\undefined\else % etex gives us more logging \tracingscantokens1 \tracingifs1 \tracinggroups1 \tracingnesting2 \tracingassigns1 \fi \tracingcommands3 % 3 gives us more in etex \errorcontextlines16 }% % add check for \lastpenalty to plain's definitions. If the last thing % we did was a \nobreak, we don't want to insert more space. % \def\smallbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\smallskipamount \removelastskip\penalty-50\smallskip\fi\fi} \def\medbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\medskipamount \removelastskip\penalty-100\medskip\fi\fi} \def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount \removelastskip\penalty-200\bigskip\fi\fi} % Do @cropmarks to get crop marks. % \newif\ifcropmarks \let\cropmarks = \cropmarkstrue % % Dimensions to add cropmarks at corners. % Added by P. A. MacKay, 12 Nov. 1986 % \newdimen\outerhsize \newdimen\outervsize % set by the paper size routines \newdimen\cornerlong \cornerlong=1pc \newdimen\cornerthick \cornerthick=.3pt \newdimen\topandbottommargin \topandbottommargin=.75in % Output a mark which sets \thischapter, \thissection and \thiscolor. % We dump everything together because we only have one kind of mark. % This works because we only use \botmark / \topmark, not \firstmark. % % A mark contains a subexpression of the \ifcase ... \fi construct. % \get*marks macros below extract the needed part using \ifcase. % % Another complication is to let the user choose whether \thischapter % (\thissection) refers to the chapter (section) in effect at the top % of a page, or that at the bottom of a page. The solution is % described on page 260 of The TeXbook. It involves outputting two % marks for the sectioning macros, one before the section break, and % one after. I won't pretend I can describe this better than DEK... \def\domark{% \toks0=\expandafter{\lastchapterdefs}% \toks2=\expandafter{\lastsectiondefs}% \toks4=\expandafter{\prevchapterdefs}% \toks6=\expandafter{\prevsectiondefs}% \toks8=\expandafter{\lastcolordefs}% \mark{% \the\toks0 \the\toks2 \noexpand\or \the\toks4 \the\toks6 \noexpand\else \the\toks8 }% } % \topmark doesn't work for the very first chapter (after the title % page or the contents), so we use \firstmark there -- this gets us % the mark with the chapter defs, unless the user sneaks in, e.g., % @setcolor (or @url, or @link, etc.) between @contents and the very % first @chapter. \def\gettopheadingmarks{% \ifcase0\topmark\fi \ifx\thischapter\empty \ifcase0\firstmark\fi \fi } \def\getbottomheadingmarks{\ifcase1\botmark\fi} \def\getcolormarks{\ifcase2\topmark\fi} % Avoid "undefined control sequence" errors. \def\lastchapterdefs{} \def\lastsectiondefs{} \def\prevchapterdefs{} \def\prevsectiondefs{} \def\lastcolordefs{} % Main output routine. \chardef\PAGE = 255 \output = {\onepageout{\pagecontents\PAGE}} \newbox\headlinebox \newbox\footlinebox % \onepageout takes a vbox as an argument. Note that \pagecontents % does insertions, but you have to call it yourself. \def\onepageout#1{% \ifcropmarks \hoffset=0pt \else \hoffset=\normaloffset \fi % \ifodd\pageno \advance\hoffset by \bindingoffset \else \advance\hoffset by -\bindingoffset\fi % % Do this outside of the \shipout so @code etc. will be expanded in % the headline as they should be, not taken literally (outputting ''code). \ifodd\pageno \getoddheadingmarks \else \getevenheadingmarks \fi \setbox\headlinebox = \vbox{\let\hsize=\pagewidth \makeheadline}% \ifodd\pageno \getoddfootingmarks \else \getevenfootingmarks \fi \setbox\footlinebox = \vbox{\let\hsize=\pagewidth \makefootline}% % {% % Have to do this stuff outside the \shipout because we want it to % take effect in \write's, yet the group defined by the \vbox ends % before the \shipout runs. % \indexdummies % don't expand commands in the output. \normalturnoffactive % \ in index entries must not stay \, e.g., if % the page break happens to be in the middle of an example. % We don't want .vr (or whatever) entries like this: % \entry{{\tt \indexbackslash }acronym}{32}{\code {\acronym}} % "\acronym" won't work when it's read back in; % it needs to be % {\code {{\tt \backslashcurfont }acronym} \shipout\vbox{% % Do this early so pdf references go to the beginning of the page. \ifpdfmakepagedest \pdfdest name{\the\pageno} xyz\fi % \ifcropmarks \vbox to \outervsize\bgroup \hsize = \outerhsize \vskip-\topandbottommargin \vtop to0pt{% \line{\ewtop\hfil\ewtop}% \nointerlineskip \line{% \vbox{\moveleft\cornerthick\nstop}% \hfill \vbox{\moveright\cornerthick\nstop}% }% \vss}% \vskip\topandbottommargin \line\bgroup \hfil % center the page within the outer (page) hsize. \ifodd\pageno\hskip\bindingoffset\fi \vbox\bgroup \fi % \unvbox\headlinebox \pagebody{#1}% \ifdim\ht\footlinebox > 0pt % Only leave this space if the footline is nonempty. % (We lessened \vsize for it in \oddfootingyyy.) % The \baselineskip=24pt in plain's \makefootline has no effect. \vskip 24pt \unvbox\footlinebox \fi % \ifcropmarks \egroup % end of \vbox\bgroup \hfil\egroup % end of (centering) \line\bgroup \vskip\topandbottommargin plus1fill minus1fill \boxmaxdepth = \cornerthick \vbox to0pt{\vss \line{% \vbox{\moveleft\cornerthick\nsbot}% \hfill \vbox{\moveright\cornerthick\nsbot}% }% \nointerlineskip \line{\ewbot\hfil\ewbot}% }% \egroup % \vbox from first cropmarks clause \fi }% end of \shipout\vbox }% end of group with \indexdummies \advancepageno \ifnum\outputpenalty>-20000 \else\dosupereject\fi } \newinsert\margin \dimen\margin=\maxdimen \def\pagebody#1{\vbox to\pageheight{\boxmaxdepth=\maxdepth #1}} {\catcode`\@ =11 \gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi % marginal hacks, juha@viisa.uucp (Juha Takala) \ifvoid\margin\else % marginal info is present \rlap{\kern\hsize\vbox to\z@{\kern1pt\box\margin \vss}}\fi \dimen@=\dp#1\relax \unvbox#1\relax \ifvoid\footins\else\vskip\skip\footins\footnoterule \unvbox\footins\fi \ifr@ggedbottom \kern-\dimen@ \vfil \fi} } % Here are the rules for the cropmarks. Note that they are % offset so that the space between them is truly \outerhsize or \outervsize % (P. A. MacKay, 12 November, 1986) % \def\ewtop{\vrule height\cornerthick depth0pt width\cornerlong} \def\nstop{\vbox {\hrule height\cornerthick depth\cornerlong width\cornerthick}} \def\ewbot{\vrule height0pt depth\cornerthick width\cornerlong} \def\nsbot{\vbox {\hrule height\cornerlong depth\cornerthick width\cornerthick}} % Parse an argument, then pass it to #1. The argument is the rest of % the input line (except we remove a trailing comment). #1 should be a % macro which expects an ordinary undelimited TeX argument. % \def\parsearg{\parseargusing{}} \def\parseargusing#1#2{% \def\argtorun{#2}% \begingroup \obeylines \spaceisspace #1% \parseargline\empty% Insert the \empty token, see \finishparsearg below. } {\obeylines % \gdef\parseargline#1^^M{% \endgroup % End of the group started in \parsearg. \argremovecomment #1\comment\ArgTerm% }% } % First remove any @comment, then any @c comment. \def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm} \def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm} % Each occurrence of `\^^M' or `\^^M' is replaced by a single space. % % \argremovec might leave us with trailing space, e.g., % @end itemize @c foo % This space token undergoes the same procedure and is eventually removed % by \finishparsearg. % \def\argcheckspaces#1\^^M{\argcheckspacesX#1\^^M \^^M} \def\argcheckspacesX#1 \^^M{\argcheckspacesY#1\^^M} \def\argcheckspacesY#1\^^M#2\^^M#3\ArgTerm{% \def\temp{#3}% \ifx\temp\empty % Do not use \next, perhaps the caller of \parsearg uses it; reuse \temp: \let\temp\finishparsearg \else \let\temp\argcheckspaces \fi % Put the space token in: \temp#1 #3\ArgTerm } % If a _delimited_ argument is enclosed in braces, they get stripped; so % to get _exactly_ the rest of the line, we had to prevent such situation. % We prepended an \empty token at the very beginning and we expand it now, % just before passing the control to \argtorun. % (Similarly, we have to think about #3 of \argcheckspacesY above: it is % either the null string, or it ends with \^^M---thus there is no danger % that a pair of braces would be stripped. % % But first, we have to remove the trailing space token. % \def\finishparsearg#1 \ArgTerm{\expandafter\argtorun\expandafter{#1}} % \parseargdef\foo{...} % is roughly equivalent to % \def\foo{\parsearg\Xfoo} % \def\Xfoo#1{...} % % Actually, I use \csname\string\foo\endcsname, ie. \\foo, as it is my % favourite TeX trick. --kasal, 16nov03 \def\parseargdef#1{% \expandafter \doparseargdef \csname\string#1\endcsname #1% } \def\doparseargdef#1#2{% \def#2{\parsearg#1}% \def#1##1% } % Several utility definitions with active space: { \obeyspaces \gdef\obeyedspace{ } % Make each space character in the input produce a normal interword % space in the output. Don't allow a line break at this space, as this % is used only in environments like @example, where each line of input % should produce a line of output anyway. % \gdef\sepspaces{\obeyspaces\let =\tie} % If an index command is used in an @example environment, any spaces % therein should become regular spaces in the raw index file, not the % expansion of \tie (\leavevmode \penalty \@M \ ). \gdef\unsepspaces{\let =\space} } \def\flushcr{\ifx\par\lisppar \def\next##1{}\else \let\next=\relax \fi \next} % Define the framework for environments in texinfo.tex. It's used like this: % % \envdef\foo{...} % \def\Efoo{...} % % It's the responsibility of \envdef to insert \begingroup before the % actual body; @end closes the group after calling \Efoo. \envdef also % defines \thisenv, so the current environment is known; @end checks % whether the environment name matches. The \checkenv macro can also be % used to check whether the current environment is the one expected. % % Non-false conditionals (@iftex, @ifset) don't fit into this, so they % are not treated as environments; they don't open a group. (The % implementation of @end takes care not to call \endgroup in this % special case.) % At run-time, environments start with this: \def\startenvironment#1{\begingroup\def\thisenv{#1}} % initialize \let\thisenv\empty % ... but they get defined via ``\envdef\foo{...}'': \long\def\envdef#1#2{\def#1{\startenvironment#1#2}} \def\envparseargdef#1#2{\parseargdef#1{\startenvironment#1#2}} % Check whether we're in the right environment: \def\checkenv#1{% \def\temp{#1}% \ifx\thisenv\temp \else \badenverr \fi } % Environment mismatch, #1 expected: \def\badenverr{% \errhelp = \EMsimple \errmessage{This command can appear only \inenvironment\temp, not \inenvironment\thisenv}% } \def\inenvironment#1{% \ifx#1\empty out of any environment% \else in environment \expandafter\string#1% \fi } % @end foo executes the definition of \Efoo. % But first, it executes a specialized version of \checkenv % \parseargdef\end{% \if 1\csname iscond.#1\endcsname \else % The general wording of \badenverr may not be ideal, but... --kasal, 06nov03 \expandafter\checkenv\csname#1\endcsname \csname E#1\endcsname \endgroup \fi } \newhelp\EMsimple{Press RETURN to continue.} % Be sure we're in horizontal mode when doing a tie, since we make space % equivalent to this in @example-like environments. Otherwise, a space % at the beginning of a line will start with \penalty -- and % since \penalty is valid in vertical mode, we'd end up putting the % penalty on the vertical list instead of in the new paragraph. {\catcode`@ = 11 % Avoid using \@M directly, because that causes trouble % if the definition is written into an index file. \global\let\tiepenalty = \@M \gdef\tie{\leavevmode\penalty\tiepenalty\ } } % @: forces normal size whitespace following. \def\:{\spacefactor=1000 } % @* forces a line break. \def\*{\hfil\break\hbox{}\ignorespaces} % @/ allows a line break. \let\/=\allowbreak % @. is an end-of-sentence period. \def\.{.\spacefactor=\endofsentencespacefactor\space} % @! is an end-of-sentence bang. \def\!{!\spacefactor=\endofsentencespacefactor\space} % @? is an end-of-sentence query. \def\?{?\spacefactor=\endofsentencespacefactor\space} % @frenchspacing on|off says whether to put extra space after punctuation. % \def\onword{on} \def\offword{off} % \parseargdef\frenchspacing{% \def\temp{#1}% \ifx\temp\onword \plainfrenchspacing \else\ifx\temp\offword \plainnonfrenchspacing \else \errhelp = \EMsimple \errmessage{Unknown @frenchspacing option `\temp', must be on/off}% \fi\fi } % @w prevents a word break. Without the \leavevmode, @w at the % beginning of a paragraph, when TeX is still in vertical mode, would % produce a whole line of output instead of starting the paragraph. \def\w#1{\leavevmode\hbox{#1}} % @group ... @end group forces ... to be all on one page, by enclosing % it in a TeX vbox. We use \vtop instead of \vbox to construct the box % to keep its height that of a normal line. According to the rules for % \topskip (p.114 of the TeXbook), the glue inserted is % max (\topskip - \ht (first item), 0). If that height is large, % therefore, no glue is inserted, and the space between the headline and % the text is small, which looks bad. % % Another complication is that the group might be very large. This can % cause the glue on the previous page to be unduly stretched, because it % does not have much material. In this case, it's better to add an % explicit \vfill so that the extra space is at the bottom. The % threshold for doing this is if the group is more than \vfilllimit % percent of a page (\vfilllimit can be changed inside of @tex). % \newbox\groupbox \def\vfilllimit{0.7} % \envdef\group{% \ifnum\catcode`\^^M=\active \else \errhelp = \groupinvalidhelp \errmessage{@group invalid in context where filling is enabled}% \fi \startsavinginserts % \setbox\groupbox = \vtop\bgroup % Do @comment since we are called inside an environment such as % @example, where each end-of-line in the input causes an % end-of-line in the output. We don't want the end-of-line after % the `@group' to put extra space in the output. Since @group % should appear on a line by itself (according to the Texinfo % manual), we don't worry about eating any user text. \comment } % % The \vtop produces a box with normal height and large depth; thus, TeX puts % \baselineskip glue before it, and (when the next line of text is done) % \lineskip glue after it. Thus, space below is not quite equal to space % above. But it's pretty close. \def\Egroup{% % To get correct interline space between the last line of the group % and the first line afterwards, we have to propagate \prevdepth. \endgraf % Not \par, as it may have been set to \lisppar. \global\dimen1 = \prevdepth \egroup % End the \vtop. % \dimen0 is the vertical size of the group's box. \dimen0 = \ht\groupbox \advance\dimen0 by \dp\groupbox % \dimen2 is how much space is left on the page (more or less). \dimen2 = \pageheight \advance\dimen2 by -\pagetotal % if the group doesn't fit on the current page, and it's a big big % group, force a page break. \ifdim \dimen0 > \dimen2 \ifdim \pagetotal < \vfilllimit\pageheight \page \fi \fi \box\groupbox \prevdepth = \dimen1 \checkinserts } % % TeX puts in an \escapechar (i.e., `@') at the beginning of the help % message, so this ends up printing `@group can only ...'. % \newhelp\groupinvalidhelp{% group can only be used in environments such as @example,^^J% where each line of input produces a line of output.} % @need space-in-mils % forces a page break if there is not space-in-mils remaining. \newdimen\mil \mil=0.001in % Old definition--didn't work. %\parseargdef\need{\par % %% This method tries to make TeX break the page naturally %% if the depth of the box does not fit. %{\baselineskip=0pt% %\vtop to #1\mil{\vfil}\kern -#1\mil\nobreak %\prevdepth=-1000pt %}} \parseargdef\need{% % Ensure vertical mode, so we don't make a big box in the middle of a % paragraph. \par % % If the @need value is less than one line space, it's useless. \dimen0 = #1\mil \dimen2 = \ht\strutbox \advance\dimen2 by \dp\strutbox \ifdim\dimen0 > \dimen2 % % Do a \strut just to make the height of this box be normal, so the % normal leading is inserted relative to the preceding line. % And a page break here is fine. \vtop to #1\mil{\strut\vfil}% % % TeX does not even consider page breaks if a penalty added to the % main vertical list is 10000 or more. But in order to see if the % empty box we just added fits on the page, we must make it consider % page breaks. On the other hand, we don't want to actually break the % page after the empty box. So we use a penalty of 9999. % % There is an extremely small chance that TeX will actually break the % page at this \penalty, if there are no other feasible breakpoints in % sight. (If the user is using lots of big @group commands, which % almost-but-not-quite fill up a page, TeX will have a hard time doing % good page breaking, for example.) However, I could not construct an % example where a page broke at this \penalty; if it happens in a real % document, then we can reconsider our strategy. \penalty9999 % % Back up by the size of the box, whether we did a page break or not. \kern -#1\mil % % Do not allow a page break right after this kern. \nobreak \fi } % @br forces paragraph break (and is undocumented). \let\br = \par % @page forces the start of a new page. % \def\page{\par\vfill\supereject} % @exdent text.... % outputs text on separate line in roman font, starting at standard page margin % This records the amount of indent in the innermost environment. % That's how much \exdent should take out. \newskip\exdentamount % This defn is used inside fill environments such as @defun. \parseargdef\exdent{\hfil\break\hbox{\kern -\exdentamount{\rm#1}}\hfil\break} % This defn is used inside nofill environments such as @example. \parseargdef\nofillexdent{{\advance \leftskip by -\exdentamount \leftline{\hskip\leftskip{\rm#1}}}} % @inmargin{WHICH}{TEXT} puts TEXT in the WHICH margin next to the current % paragraph. For more general purposes, use the \margin insertion % class. WHICH is `l' or `r'. Not documented, written for gawk manual. % \newskip\inmarginspacing \inmarginspacing=1cm \def\strutdepth{\dp\strutbox} % \def\doinmargin#1#2{\strut\vadjust{% \nobreak \kern-\strutdepth \vtop to \strutdepth{% \baselineskip=\strutdepth \vss % if you have multiple lines of stuff to put here, you'll need to % make the vbox yourself of the appropriate size. \ifx#1l% \llap{\ignorespaces #2\hskip\inmarginspacing}% \else \rlap{\hskip\hsize \hskip\inmarginspacing \ignorespaces #2}% \fi \null }% }} \def\inleftmargin{\doinmargin l} \def\inrightmargin{\doinmargin r} % % @inmargin{TEXT [, RIGHT-TEXT]} % (if RIGHT-TEXT is given, use TEXT for left page, RIGHT-TEXT for right; % else use TEXT for both). % \def\inmargin#1{\parseinmargin #1,,\finish} \def\parseinmargin#1,#2,#3\finish{% not perfect, but better than nothing. \setbox0 = \hbox{\ignorespaces #2}% \ifdim\wd0 > 0pt \def\lefttext{#1}% have both texts \def\righttext{#2}% \else \def\lefttext{#1}% have only one text \def\righttext{#1}% \fi % \ifodd\pageno \def\temp{\inrightmargin\righttext}% odd page -> outside is right margin \else \def\temp{\inleftmargin\lefttext}% \fi \temp } % @| inserts a changebar to the left of the current line. It should % surround any changed text. This approach does *not* work if the % change spans more than two lines of output. To handle that, we would % have adopt a much more difficult approach (putting marks into the main % vertical list for the beginning and end of each change). This command % is not documented, not supported, and doesn't work. % \def\|{% % \vadjust can only be used in horizontal mode. \leavevmode % % Append this vertical mode material after the current line in the output. \vadjust{% % We want to insert a rule with the height and depth of the current % leading; that is exactly what \strutbox is supposed to record. \vskip-\baselineskip % % \vadjust-items are inserted at the left edge of the type. So % the \llap here moves out into the left-hand margin. \llap{% % % For a thicker or thinner bar, change the `1pt'. \vrule height\baselineskip width1pt % % This is the space between the bar and the text. \hskip 12pt }% }% } % @include FILE -- \input text of FILE. % \def\include{\parseargusing\filenamecatcodes\includezzz} \def\includezzz#1{% \pushthisfilestack \def\thisfile{#1}% {% \makevalueexpandable % we want to expand any @value in FILE. \turnoffactive % and allow special characters in the expansion \indexnofonts % Allow `@@' and other weird things in file names. \edef\temp{\noexpand\input #1 }% % % This trickery is to read FILE outside of a group, in case it makes % definitions, etc. \expandafter }\temp \popthisfilestack } \def\filenamecatcodes{% \catcode`\\=\other \catcode`~=\other \catcode`^=\other \catcode`_=\other \catcode`|=\other \catcode`<=\other \catcode`>=\other \catcode`+=\other \catcode`-=\other \catcode`\`=\other \catcode`\'=\other } \def\pushthisfilestack{% \expandafter\pushthisfilestackX\popthisfilestack\StackTerm } \def\pushthisfilestackX{% \expandafter\pushthisfilestackY\thisfile\StackTerm } \def\pushthisfilestackY #1\StackTerm #2\StackTerm {% \gdef\popthisfilestack{\gdef\thisfile{#1}\gdef\popthisfilestack{#2}}% } \def\popthisfilestack{\errthisfilestackempty} \def\errthisfilestackempty{\errmessage{Internal error: the stack of filenames is empty.}} \def\thisfile{} % @center line % outputs that line, centered. % \parseargdef\center{% \ifhmode \let\next\centerH \else \let\next\centerV \fi \next{\hfil \ignorespaces#1\unskip \hfil}% } \def\centerH#1{% {% \hfil\break \advance\hsize by -\leftskip \advance\hsize by -\rightskip \line{#1}% \break }% } \def\centerV#1{\line{\kern\leftskip #1\kern\rightskip}} % @sp n outputs n lines of vertical space \parseargdef\sp{\vskip #1\baselineskip} % @comment ...line which is ignored... % @c is the same as @comment % @ignore ... @end ignore is another way to write a comment \def\comment{\begingroup \catcode`\^^M=\other% \catcode`\@=\other \catcode`\{=\other \catcode`\}=\other% \commentxxx} {\catcode`\^^M=\other \gdef\commentxxx#1^^M{\endgroup}} \let\c=\comment % @paragraphindent NCHARS % We'll use ems for NCHARS, close enough. % NCHARS can also be the word `asis' or `none'. % We cannot feasibly implement @paragraphindent asis, though. % \def\asisword{asis} % no translation, these are keywords \def\noneword{none} % \parseargdef\paragraphindent{% \def\temp{#1}% \ifx\temp\asisword \else \ifx\temp\noneword \defaultparindent = 0pt \else \defaultparindent = #1em \fi \fi \parindent = \defaultparindent } % @exampleindent NCHARS % We'll use ems for NCHARS like @paragraphindent. % It seems @exampleindent asis isn't necessary, but % I preserve it to make it similar to @paragraphindent. \parseargdef\exampleindent{% \def\temp{#1}% \ifx\temp\asisword \else \ifx\temp\noneword \lispnarrowing = 0pt \else \lispnarrowing = #1em \fi \fi } % @firstparagraphindent WORD % If WORD is `none', then suppress indentation of the first paragraph % after a section heading. If WORD is `insert', then do indent at such % paragraphs. % % The paragraph indentation is suppressed or not by calling % \suppressfirstparagraphindent, which the sectioning commands do. % We switch the definition of this back and forth according to WORD. % By default, we suppress indentation. % \def\suppressfirstparagraphindent{\dosuppressfirstparagraphindent} \def\insertword{insert} % \parseargdef\firstparagraphindent{% \def\temp{#1}% \ifx\temp\noneword \let\suppressfirstparagraphindent = \dosuppressfirstparagraphindent \else\ifx\temp\insertword \let\suppressfirstparagraphindent = \relax \else \errhelp = \EMsimple \errmessage{Unknown @firstparagraphindent option `\temp'}% \fi\fi } % Here is how we actually suppress indentation. Redefine \everypar to % \kern backwards by \parindent, and then reset itself to empty. % % We also make \indent itself not actually do anything until the next % paragraph. % \gdef\dosuppressfirstparagraphindent{% \gdef\indent{% \restorefirstparagraphindent \indent }% \gdef\noindent{% \restorefirstparagraphindent \noindent }% \global\everypar = {% \kern -\parindent \restorefirstparagraphindent }% } \gdef\restorefirstparagraphindent{% \global \let \indent = \ptexindent \global \let \noindent = \ptexnoindent \global \everypar = {}% } % @refill is a no-op. \let\refill=\relax % If working on a large document in chapters, it is convenient to % be able to disable indexing, cross-referencing, and contents, for test runs. % This is done with @novalidate (before @setfilename). % \newif\iflinks \linkstrue % by default we want the aux files. \let\novalidate = \linksfalse % @setfilename is done at the beginning of every texinfo file. % So open here the files we need to have open while reading the input. % This makes it possible to make a .fmt file for texinfo. \def\setfilename{% \fixbackslash % Turn off hack to swallow `\input texinfo'. \iflinks \tryauxfile % Open the new aux file. TeX will close it automatically at exit. \immediate\openout\auxfile=\jobname.aux \fi % \openindices needs to do some work in any case. \openindices \let\setfilename=\comment % Ignore extra @setfilename cmds. % % If texinfo.cnf is present on the system, read it. % Useful for site-wide @afourpaper, etc. \openin 1 texinfo.cnf \ifeof 1 \else \input texinfo.cnf \fi \closein 1 % \comment % Ignore the actual filename. } % Called from \setfilename. % \def\openindices{% \newindex{cp}% \newcodeindex{fn}% \newcodeindex{vr}% \newcodeindex{tp}% \newcodeindex{ky}% \newcodeindex{pg}% } % @bye. \outer\def\bye{\pagealignmacro\tracingstats=1\ptexend} \message{pdf,} % adobe `portable' document format \newcount\tempnum \newcount\lnkcount \newtoks\filename \newcount\filenamelength \newcount\pgn \newtoks\toksA \newtoks\toksB \newtoks\toksC \newtoks\toksD \newbox\boxA \newcount\countA \newif\ifpdf \newif\ifpdfmakepagedest % when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1 % can be set). So we test for \relax and 0 as well as \undefined, % borrowed from ifpdf.sty. \ifx\pdfoutput\undefined \else \ifx\pdfoutput\relax \else \ifcase\pdfoutput \else \pdftrue \fi \fi \fi % PDF uses PostScript string constants for the names of xref targets, % for display in the outlines, and in other places. Thus, we have to % double any backslashes. Otherwise, a name like "\node" will be % interpreted as a newline (\n), followed by o, d, e. Not good. % http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html % (and related messages, the final outcome is that it is up to the TeX % user to double the backslashes and otherwise make the string valid, so % that's what we do). % double active backslashes. % {\catcode`\@=0 \catcode`\\=\active @gdef@activebackslashdouble{% @catcode`@\=@active @let\=@doublebackslash} } % To handle parens, we must adopt a different approach, since parens are % not active characters. hyperref.dtx (which has the same problem as % us) handles it with this amazing macro to replace tokens, with minor % changes for Texinfo. It is included here under the GPL by permission % from the author, Heiko Oberdiek. % % #1 is the tokens to replace. % #2 is the replacement. % #3 is the control sequence with the string. % \def\HyPsdSubst#1#2#3{% \def\HyPsdReplace##1#1##2\END{% ##1% \ifx\\##2\\% \else #2% \HyReturnAfterFi{% \HyPsdReplace##2\END }% \fi }% \xdef#3{\expandafter\HyPsdReplace#3#1\END}% } \long\def\HyReturnAfterFi#1\fi{\fi#1} % #1 is a control sequence in which to do the replacements. \def\backslashparens#1{% \xdef#1{#1}% redefine it as its expansion; the definition is simply % \lastnode when called from \setref -> \pdfmkdest. \HyPsdSubst{(}{\realbackslash(}{#1}% \HyPsdSubst{)}{\realbackslash)}{#1}% } \newhelp\nopdfimagehelp{Texinfo supports .png, .jpg, .jpeg, and .pdf images with PDF output, and none of those formats could be found. (.eps cannot be supported due to the design of the PDF format; use regular TeX (DVI output) for that.)} \ifpdf % % Color manipulation macros based on pdfcolor.tex, % except using rgb instead of cmyk; the latter is said to render as a % very dark gray on-screen and a very dark halftone in print, instead % of actual black. \def\rgbDarkRed{0.50 0.09 0.12} \def\rgbBlack{0 0 0} % % k sets the color for filling (usual text, etc.); % K sets the color for stroking (thin rules, e.g., normal _'s). \def\pdfsetcolor#1{\pdfliteral{#1 rg #1 RG}} % % Set color, and create a mark which defines \thiscolor accordingly, % so that \makeheadline knows which color to restore. \def\setcolor#1{% \xdef\lastcolordefs{\gdef\noexpand\thiscolor{#1}}% \domark \pdfsetcolor{#1}% } % \def\maincolor{\rgbBlack} \pdfsetcolor{\maincolor} \edef\thiscolor{\maincolor} \def\lastcolordefs{} % \def\makefootline{% \baselineskip24pt \line{\pdfsetcolor{\maincolor}\the\footline}% } % \def\makeheadline{% \vbox to 0pt{% \vskip-22.5pt \line{% \vbox to8.5pt{}% % Extract \thiscolor definition from the marks. \getcolormarks % Typeset the headline with \maincolor, then restore the color. \pdfsetcolor{\maincolor}\the\headline\pdfsetcolor{\thiscolor}% }% \vss }% \nointerlineskip } % % \pdfcatalog{/PageMode /UseOutlines} % % #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto). \def\dopdfimage#1#2#3{% \def\imagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}% \def\imageheight{#3}\setbox2 = \hbox{\ignorespaces #3}% % % pdftex (and the PDF format) support .png, .jpg, .pdf (among % others). Let's try in that order. \let\pdfimgext=\empty \begingroup \openin 1 #1.png \ifeof 1 \openin 1 #1.jpg \ifeof 1 \openin 1 #1.jpeg \ifeof 1 \openin 1 #1.JPG \ifeof 1 \openin 1 #1.pdf \ifeof 1 \openin 1 #1.PDF \ifeof 1 \errhelp = \nopdfimagehelp \errmessage{Could not find image file #1 for pdf}% \else \gdef\pdfimgext{PDF}% \fi \else \gdef\pdfimgext{pdf}% \fi \else \gdef\pdfimgext{JPG}% \fi \else \gdef\pdfimgext{jpeg}% \fi \else \gdef\pdfimgext{jpg}% \fi \else \gdef\pdfimgext{png}% \fi \closein 1 \endgroup % % without \immediate, ancient pdftex seg faults when the same image is % included twice. (Version 3.14159-pre-1.0-unofficial-20010704.) \ifnum\pdftexversion < 14 \immediate\pdfimage \else \immediate\pdfximage \fi \ifdim \wd0 >0pt width \imagewidth \fi \ifdim \wd2 >0pt height \imageheight \fi \ifnum\pdftexversion<13 #1.\pdfimgext \else {#1.\pdfimgext}% \fi \ifnum\pdftexversion < 14 \else \pdfrefximage \pdflastximage \fi} % \def\pdfmkdest#1{{% % We have to set dummies so commands such as @code, and characters % such as \, aren't expanded when present in a section title. \indexnofonts \turnoffactive \activebackslashdouble \makevalueexpandable \def\pdfdestname{#1}% \backslashparens\pdfdestname \safewhatsit{\pdfdest name{\pdfdestname} xyz}% }} % % used to mark target names; must be expandable. \def\pdfmkpgn#1{#1} % % by default, use a color that is dark enough to print on paper as % nearly black, but still distinguishable for online viewing. \def\urlcolor{\rgbDarkRed} \def\linkcolor{\rgbDarkRed} \def\endlink{\setcolor{\maincolor}\pdfendlink} % % Adding outlines to PDF; macros for calculating structure of outlines % come from Petr Olsak \def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0% \else \csname#1\endcsname \fi} \def\advancenumber#1{\tempnum=\expnumber{#1}\relax \advance\tempnum by 1 \expandafter\xdef\csname#1\endcsname{\the\tempnum}} % % #1 is the section text, which is what will be displayed in the % outline by the pdf viewer. #2 is the pdf expression for the number % of subentries (or empty, for subsubsections). #3 is the node text, % which might be empty if this toc entry had no corresponding node. % #4 is the page number % \def\dopdfoutline#1#2#3#4{% % Generate a link to the node text if that exists; else, use the % page number. We could generate a destination for the section % text in the case where a section has no node, but it doesn't % seem worth the trouble, since most documents are normally structured. \def\pdfoutlinedest{#3}% \ifx\pdfoutlinedest\empty \def\pdfoutlinedest{#4}% \else % Doubled backslashes in the name. {\activebackslashdouble \xdef\pdfoutlinedest{#3}% \backslashparens\pdfoutlinedest}% \fi % % Also double the backslashes in the display string. {\activebackslashdouble \xdef\pdfoutlinetext{#1}% \backslashparens\pdfoutlinetext}% % \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}% } % \def\pdfmakeoutlines{% \begingroup % Thanh's hack / proper braces in bookmarks \edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace % % Read toc silently, to get counts of subentries for \pdfoutline. \def\partentry##1##2##3##4{}% ignore parts in the outlines \def\numchapentry##1##2##3##4{% \def\thischapnum{##2}% \def\thissecnum{0}% \def\thissubsecnum{0}% }% \def\numsecentry##1##2##3##4{% \advancenumber{chap\thischapnum}% \def\thissecnum{##2}% \def\thissubsecnum{0}% }% \def\numsubsecentry##1##2##3##4{% \advancenumber{sec\thissecnum}% \def\thissubsecnum{##2}% }% \def\numsubsubsecentry##1##2##3##4{% \advancenumber{subsec\thissubsecnum}% }% \def\thischapnum{0}% \def\thissecnum{0}% \def\thissubsecnum{0}% % % use \def rather than \let here because we redefine \chapentry et % al. a second time, below. \def\appentry{\numchapentry}% \def\appsecentry{\numsecentry}% \def\appsubsecentry{\numsubsecentry}% \def\appsubsubsecentry{\numsubsubsecentry}% \def\unnchapentry{\numchapentry}% \def\unnsecentry{\numsecentry}% \def\unnsubsecentry{\numsubsecentry}% \def\unnsubsubsecentry{\numsubsubsecentry}% \readdatafile{toc}% % % Read toc second time, this time actually producing the outlines. % The `-' means take the \expnumber as the absolute number of % subentries, which we calculated on our first read of the .toc above. % % We use the node names as the destinations. \def\numchapentry##1##2##3##4{% \dopdfoutline{##1}{count-\expnumber{chap##2}}{##3}{##4}}% \def\numsecentry##1##2##3##4{% \dopdfoutline{##1}{count-\expnumber{sec##2}}{##3}{##4}}% \def\numsubsecentry##1##2##3##4{% \dopdfoutline{##1}{count-\expnumber{subsec##2}}{##3}{##4}}% \def\numsubsubsecentry##1##2##3##4{% count is always zero \dopdfoutline{##1}{}{##3}{##4}}% % % PDF outlines are displayed using system fonts, instead of % document fonts. Therefore we cannot use special characters, % since the encoding is unknown. For example, the eogonek from % Latin 2 (0xea) gets translated to a | character. Info from % Staszek Wawrykiewicz, 19 Jan 2004 04:09:24 +0100. % % xx to do this right, we have to translate 8-bit characters to % their "best" equivalent, based on the @documentencoding. Right % now, I guess we'll just let the pdf reader have its way. \indexnofonts \setupdatafile \catcode`\\=\active \otherbackslash \input \tocreadfilename \endgroup } % \def\skipspaces#1{\def\PP{#1}\def\D{|}% \ifx\PP\D\let\nextsp\relax \else\let\nextsp\skipspaces \ifx\p\space\else\addtokens{\filename}{\PP}% \advance\filenamelength by 1 \fi \fi \nextsp} \def\getfilename#1{\filenamelength=0\expandafter\skipspaces#1|\relax} \ifnum\pdftexversion < 14 \let \startlink \pdfannotlink \else \let \startlink \pdfstartlink \fi % make a live url in pdf output. \def\pdfurl#1{% \begingroup % it seems we really need yet another set of dummies; have not % tried to figure out what each command should do in the context % of @url. for now, just make @/ a no-op, that's the only one % people have actually reported a problem with. % \normalturnoffactive \def\@{@}% \let\/=\empty \makevalueexpandable % do we want to go so far as to use \indexnofonts instead of just % special-casing \var here? \def\var##1{##1}% % \leavevmode\setcolor{\urlcolor}% \startlink attr{/Border [0 0 0]}% user{/Subtype /Link /A << /S /URI /URI (#1) >>}% \endgroup} \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}} \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks} \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks} \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}} \def\maketoks{% \expandafter\poptoks\the\toksA|ENDTOKS|\relax \ifx\first0\adn0 \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3 \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6 \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9 \else \ifnum0=\countA\else\makelink\fi \ifx\first.\let\next=\done\else \let\next=\maketoks \addtokens{\toksB}{\the\toksD} \ifx\first,\addtokens{\toksB}{\space}\fi \fi \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi \next} \def\makelink{\addtokens{\toksB}% {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0} \def\pdflink#1{% \startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{#1}} \setcolor{\linkcolor}#1\endlink} \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st} \else % non-pdf mode \let\pdfmkdest = \gobble \let\pdfurl = \gobble \let\endlink = \relax \let\setcolor = \gobble \let\pdfsetcolor = \gobble \let\pdfmakeoutlines = \relax \fi % \ifx\pdfoutput \message{fonts,} % Change the current font style to #1, remembering it in \curfontstyle. % For now, we do not accumulate font styles: @b{@i{foo}} prints foo in % italics, not bold italics. % \def\setfontstyle#1{% \def\curfontstyle{#1}% not as a control sequence, because we are \edef'd. \csname ten#1\endcsname % change the current font } % Select #1 fonts with the current style. % \def\selectfonts#1{\csname #1fonts\endcsname \csname\curfontstyle\endcsname} \def\rm{\fam=0 \setfontstyle{rm}} \def\it{\fam=\itfam \setfontstyle{it}} \def\sl{\fam=\slfam \setfontstyle{sl}} \def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf} \def\tt{\fam=\ttfam \setfontstyle{tt}} % Unfortunately, we have to override this for titles and the like, since % in those cases "rm" is bold. Sigh. \def\rmisbold{\rm\def\curfontstyle{bf}} % Texinfo sort of supports the sans serif font style, which plain TeX does not. % So we set up a \sf. \newfam\sffam \def\sf{\fam=\sffam \setfontstyle{sf}} \let\li = \sf % Sometimes we call it \li, not \sf. % We don't need math for this font style. \def\ttsl{\setfontstyle{ttsl}} % Default leading. \newdimen\textleading \textleading = 13.2pt % Set the baselineskip to #1, and the lineskip and strut size % correspondingly. There is no deep meaning behind these magic numbers % used as factors; they just match (closely enough) what Knuth defined. % \def\lineskipfactor{.08333} \def\strutheightpercent{.70833} \def\strutdepthpercent {.29167} % % can get a sort of poor man's double spacing by redefining this. \def\baselinefactor{1} % \def\setleading#1{% \dimen0 = #1\relax \normalbaselineskip = \baselinefactor\dimen0 \normallineskip = \lineskipfactor\normalbaselineskip \normalbaselines \setbox\strutbox =\hbox{% \vrule width0pt height\strutheightpercent\baselineskip depth \strutdepthpercent \baselineskip }% } % PDF CMaps. See also LaTeX's t1.cmap. % % do nothing with this by default. \expandafter\let\csname cmapOT1\endcsname\gobble \expandafter\let\csname cmapOT1IT\endcsname\gobble \expandafter\let\csname cmapOT1TT\endcsname\gobble % if we are producing pdf, and we have \pdffontattr, then define cmaps. % (\pdffontattr was introduced many years ago, but people still run % older pdftex's; it's easy to conditionalize, so we do.) \ifpdf \ifx\pdffontattr\undefined \else \begingroup \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char. \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap %%DocumentNeededResources: ProcSet (CIDInit) %%IncludeResource: ProcSet (CIDInit) %%BeginResource: CMap (TeX-OT1-0) %%Title: (TeX-OT1-0 TeX OT1 0) %%Version: 1.000 %%EndComments /CIDInit /ProcSet findresource begin 12 dict begin begincmap /CIDSystemInfo << /Registry (TeX) /Ordering (OT1) /Supplement 0 >> def /CMapName /TeX-OT1-0 def /CMapType 2 def 1 begincodespacerange <00> <7F> endcodespacerange 8 beginbfrange <00> <01> <0393> <09> <0A> <03A8> <23> <26> <0023> <28> <3B> <0028> <3F> <5B> <003F> <5D> <5E> <005D> <61> <7A> <0061> <7B> <7C> <2013> endbfrange 40 beginbfchar <02> <0398> <03> <039B> <04> <039E> <05> <03A0> <06> <03A3> <07> <03D2> <08> <03A6> <0B> <00660066> <0C> <00660069> <0D> <0066006C> <0E> <006600660069> <0F> <00660066006C> <10> <0131> <11> <0237> <12> <0060> <13> <00B4> <14> <02C7> <15> <02D8> <16> <00AF> <17> <02DA> <18> <00B8> <19> <00DF> <1A> <00E6> <1B> <0153> <1C> <00F8> <1D> <00C6> <1E> <0152> <1F> <00D8> <21> <0021> <22> <201D> <27> <2019> <3C> <00A1> <3D> <003D> <3E> <00BF> <5C> <201C> <5F> <02D9> <60> <2018> <7D> <02DD> <7E> <007E> <7F> <00A8> endbfchar endcmap CMapName currentdict /CMap defineresource pop end end %%EndResource %%EOF }\endgroup \expandafter\edef\csname cmapOT1\endcsname#1{% \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}% }% % % \cmapOT1IT \begingroup \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char. \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap %%DocumentNeededResources: ProcSet (CIDInit) %%IncludeResource: ProcSet (CIDInit) %%BeginResource: CMap (TeX-OT1IT-0) %%Title: (TeX-OT1IT-0 TeX OT1IT 0) %%Version: 1.000 %%EndComments /CIDInit /ProcSet findresource begin 12 dict begin begincmap /CIDSystemInfo << /Registry (TeX) /Ordering (OT1IT) /Supplement 0 >> def /CMapName /TeX-OT1IT-0 def /CMapType 2 def 1 begincodespacerange <00> <7F> endcodespacerange 8 beginbfrange <00> <01> <0393> <09> <0A> <03A8> <25> <26> <0025> <28> <3B> <0028> <3F> <5B> <003F> <5D> <5E> <005D> <61> <7A> <0061> <7B> <7C> <2013> endbfrange 42 beginbfchar <02> <0398> <03> <039B> <04> <039E> <05> <03A0> <06> <03A3> <07> <03D2> <08> <03A6> <0B> <00660066> <0C> <00660069> <0D> <0066006C> <0E> <006600660069> <0F> <00660066006C> <10> <0131> <11> <0237> <12> <0060> <13> <00B4> <14> <02C7> <15> <02D8> <16> <00AF> <17> <02DA> <18> <00B8> <19> <00DF> <1A> <00E6> <1B> <0153> <1C> <00F8> <1D> <00C6> <1E> <0152> <1F> <00D8> <21> <0021> <22> <201D> <23> <0023> <24> <00A3> <27> <2019> <3C> <00A1> <3D> <003D> <3E> <00BF> <5C> <201C> <5F> <02D9> <60> <2018> <7D> <02DD> <7E> <007E> <7F> <00A8> endbfchar endcmap CMapName currentdict /CMap defineresource pop end end %%EndResource %%EOF }\endgroup \expandafter\edef\csname cmapOT1IT\endcsname#1{% \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}% }% % % \cmapOT1TT \begingroup \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char. \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap %%DocumentNeededResources: ProcSet (CIDInit) %%IncludeResource: ProcSet (CIDInit) %%BeginResource: CMap (TeX-OT1TT-0) %%Title: (TeX-OT1TT-0 TeX OT1TT 0) %%Version: 1.000 %%EndComments /CIDInit /ProcSet findresource begin 12 dict begin begincmap /CIDSystemInfo << /Registry (TeX) /Ordering (OT1TT) /Supplement 0 >> def /CMapName /TeX-OT1TT-0 def /CMapType 2 def 1 begincodespacerange <00> <7F> endcodespacerange 5 beginbfrange <00> <01> <0393> <09> <0A> <03A8> <21> <26> <0021> <28> <5F> <0028> <61> <7E> <0061> endbfrange 32 beginbfchar <02> <0398> <03> <039B> <04> <039E> <05> <03A0> <06> <03A3> <07> <03D2> <08> <03A6> <0B> <2191> <0C> <2193> <0D> <0027> <0E> <00A1> <0F> <00BF> <10> <0131> <11> <0237> <12> <0060> <13> <00B4> <14> <02C7> <15> <02D8> <16> <00AF> <17> <02DA> <18> <00B8> <19> <00DF> <1A> <00E6> <1B> <0153> <1C> <00F8> <1D> <00C6> <1E> <0152> <1F> <00D8> <20> <2423> <27> <2019> <60> <2018> <7F> <00A8> endbfchar endcmap CMapName currentdict /CMap defineresource pop end end %%EndResource %%EOF }\endgroup \expandafter\edef\csname cmapOT1TT\endcsname#1{% \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}% }% \fi\fi % Set the font macro #1 to the font named #2, adding on the % specified font prefix (normally `cm'). % #3 is the font's design size, #4 is a scale factor, #5 is the CMap % encoding (currently only OT1, OT1IT and OT1TT are allowed, pass % empty to omit). \def\setfont#1#2#3#4#5{% \font#1=\fontprefix#2#3 scaled #4 \csname cmap#5\endcsname#1% } % This is what gets called when #5 of \setfont is empty. \let\cmap\gobble % emacs-page end of cmaps % Use cm as the default font prefix. % To specify the font prefix, you must define \fontprefix % before you read in texinfo.tex. \ifx\fontprefix\undefined \def\fontprefix{cm} \fi % Support font families that don't use the same naming scheme as CM. \def\rmshape{r} \def\rmbshape{bx} %where the normal face is bold \def\bfshape{b} \def\bxshape{bx} \def\ttshape{tt} \def\ttbshape{tt} \def\ttslshape{sltt} \def\itshape{ti} \def\itbshape{bxti} \def\slshape{sl} \def\slbshape{bxsl} \def\sfshape{ss} \def\sfbshape{ss} \def\scshape{csc} \def\scbshape{csc} % Definitions for a main text size of 11pt. This is the default in % Texinfo. % \def\definetextfontsizexi{% % Text fonts (11.2pt, magstep1). \def\textnominalsize{11pt} \edef\mainmagstep{\magstephalf} \setfont\textrm\rmshape{10}{\mainmagstep}{OT1} \setfont\texttt\ttshape{10}{\mainmagstep}{OT1TT} \setfont\textbf\bfshape{10}{\mainmagstep}{OT1} \setfont\textit\itshape{10}{\mainmagstep}{OT1IT} \setfont\textsl\slshape{10}{\mainmagstep}{OT1} \setfont\textsf\sfshape{10}{\mainmagstep}{OT1} \setfont\textsc\scshape{10}{\mainmagstep}{OT1} \setfont\textttsl\ttslshape{10}{\mainmagstep}{OT1TT} \font\texti=cmmi10 scaled \mainmagstep \font\textsy=cmsy10 scaled \mainmagstep \def\textecsize{1095} % A few fonts for @defun names and args. \setfont\defbf\bfshape{10}{\magstep1}{OT1} \setfont\deftt\ttshape{10}{\magstep1}{OT1TT} \setfont\defttsl\ttslshape{10}{\magstep1}{OT1TT} \def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf} % Fonts for indices, footnotes, small examples (9pt). \def\smallnominalsize{9pt} \setfont\smallrm\rmshape{9}{1000}{OT1} \setfont\smalltt\ttshape{9}{1000}{OT1TT} \setfont\smallbf\bfshape{10}{900}{OT1} \setfont\smallit\itshape{9}{1000}{OT1IT} \setfont\smallsl\slshape{9}{1000}{OT1} \setfont\smallsf\sfshape{9}{1000}{OT1} \setfont\smallsc\scshape{10}{900}{OT1} \setfont\smallttsl\ttslshape{10}{900}{OT1TT} \font\smalli=cmmi9 \font\smallsy=cmsy9 \def\smallecsize{0900} % Fonts for small examples (8pt). \def\smallernominalsize{8pt} \setfont\smallerrm\rmshape{8}{1000}{OT1} \setfont\smallertt\ttshape{8}{1000}{OT1TT} \setfont\smallerbf\bfshape{10}{800}{OT1} \setfont\smallerit\itshape{8}{1000}{OT1IT} \setfont\smallersl\slshape{8}{1000}{OT1} \setfont\smallersf\sfshape{8}{1000}{OT1} \setfont\smallersc\scshape{10}{800}{OT1} \setfont\smallerttsl\ttslshape{10}{800}{OT1TT} \font\smalleri=cmmi8 \font\smallersy=cmsy8 \def\smallerecsize{0800} % Fonts for title page (20.4pt): \def\titlenominalsize{20pt} \setfont\titlerm\rmbshape{12}{\magstep3}{OT1} \setfont\titleit\itbshape{10}{\magstep4}{OT1IT} \setfont\titlesl\slbshape{10}{\magstep4}{OT1} \setfont\titlett\ttbshape{12}{\magstep3}{OT1TT} \setfont\titlettsl\ttslshape{10}{\magstep4}{OT1TT} \setfont\titlesf\sfbshape{17}{\magstep1}{OT1} \let\titlebf=\titlerm \setfont\titlesc\scbshape{10}{\magstep4}{OT1} \font\titlei=cmmi12 scaled \magstep3 \font\titlesy=cmsy10 scaled \magstep4 \def\titleecsize{2074} % Chapter (and unnumbered) fonts (17.28pt). \def\chapnominalsize{17pt} \setfont\chaprm\rmbshape{12}{\magstep2}{OT1} \setfont\chapit\itbshape{10}{\magstep3}{OT1IT} \setfont\chapsl\slbshape{10}{\magstep3}{OT1} \setfont\chaptt\ttbshape{12}{\magstep2}{OT1TT} \setfont\chapttsl\ttslshape{10}{\magstep3}{OT1TT} \setfont\chapsf\sfbshape{17}{1000}{OT1} \let\chapbf=\chaprm \setfont\chapsc\scbshape{10}{\magstep3}{OT1} \font\chapi=cmmi12 scaled \magstep2 \font\chapsy=cmsy10 scaled \magstep3 \def\chapecsize{1728} % Section fonts (14.4pt). \def\secnominalsize{14pt} \setfont\secrm\rmbshape{12}{\magstep1}{OT1} \setfont\secit\itbshape{10}{\magstep2}{OT1IT} \setfont\secsl\slbshape{10}{\magstep2}{OT1} \setfont\sectt\ttbshape{12}{\magstep1}{OT1TT} \setfont\secttsl\ttslshape{10}{\magstep2}{OT1TT} \setfont\secsf\sfbshape{12}{\magstep1}{OT1} \let\secbf\secrm \setfont\secsc\scbshape{10}{\magstep2}{OT1} \font\seci=cmmi12 scaled \magstep1 \font\secsy=cmsy10 scaled \magstep2 \def\sececsize{1440} % Subsection fonts (13.15pt). \def\ssecnominalsize{13pt} \setfont\ssecrm\rmbshape{12}{\magstephalf}{OT1} \setfont\ssecit\itbshape{10}{1315}{OT1IT} \setfont\ssecsl\slbshape{10}{1315}{OT1} \setfont\ssectt\ttbshape{12}{\magstephalf}{OT1TT} \setfont\ssecttsl\ttslshape{10}{1315}{OT1TT} \setfont\ssecsf\sfbshape{12}{\magstephalf}{OT1} \let\ssecbf\ssecrm \setfont\ssecsc\scbshape{10}{1315}{OT1} \font\sseci=cmmi12 scaled \magstephalf \font\ssecsy=cmsy10 scaled 1315 \def\ssececsize{1200} % Reduced fonts for @acro in text (10pt). \def\reducednominalsize{10pt} \setfont\reducedrm\rmshape{10}{1000}{OT1} \setfont\reducedtt\ttshape{10}{1000}{OT1TT} \setfont\reducedbf\bfshape{10}{1000}{OT1} \setfont\reducedit\itshape{10}{1000}{OT1IT} \setfont\reducedsl\slshape{10}{1000}{OT1} \setfont\reducedsf\sfshape{10}{1000}{OT1} \setfont\reducedsc\scshape{10}{1000}{OT1} \setfont\reducedttsl\ttslshape{10}{1000}{OT1TT} \font\reducedi=cmmi10 \font\reducedsy=cmsy10 \def\reducedecsize{1000} \textleading = 13.2pt % line spacing for 11pt CM \textfonts % reset the current fonts \rm } % end of 11pt text font size definitions % Definitions to make the main text be 10pt Computer Modern, with % section, chapter, etc., sizes following suit. This is for the GNU % Press printing of the Emacs 22 manual. Maybe other manuals in the % future. Used with @smallbook, which sets the leading to 12pt. % \def\definetextfontsizex{% % Text fonts (10pt). \def\textnominalsize{10pt} \edef\mainmagstep{1000} \setfont\textrm\rmshape{10}{\mainmagstep}{OT1} \setfont\texttt\ttshape{10}{\mainmagstep}{OT1TT} \setfont\textbf\bfshape{10}{\mainmagstep}{OT1} \setfont\textit\itshape{10}{\mainmagstep}{OT1IT} \setfont\textsl\slshape{10}{\mainmagstep}{OT1} \setfont\textsf\sfshape{10}{\mainmagstep}{OT1} \setfont\textsc\scshape{10}{\mainmagstep}{OT1} \setfont\textttsl\ttslshape{10}{\mainmagstep}{OT1TT} \font\texti=cmmi10 scaled \mainmagstep \font\textsy=cmsy10 scaled \mainmagstep \def\textecsize{1000} % A few fonts for @defun names and args. \setfont\defbf\bfshape{10}{\magstephalf}{OT1} \setfont\deftt\ttshape{10}{\magstephalf}{OT1TT} \setfont\defttsl\ttslshape{10}{\magstephalf}{OT1TT} \def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf} % Fonts for indices, footnotes, small examples (9pt). \def\smallnominalsize{9pt} \setfont\smallrm\rmshape{9}{1000}{OT1} \setfont\smalltt\ttshape{9}{1000}{OT1TT} \setfont\smallbf\bfshape{10}{900}{OT1} \setfont\smallit\itshape{9}{1000}{OT1IT} \setfont\smallsl\slshape{9}{1000}{OT1} \setfont\smallsf\sfshape{9}{1000}{OT1} \setfont\smallsc\scshape{10}{900}{OT1} \setfont\smallttsl\ttslshape{10}{900}{OT1TT} \font\smalli=cmmi9 \font\smallsy=cmsy9 \def\smallecsize{0900} % Fonts for small examples (8pt). \def\smallernominalsize{8pt} \setfont\smallerrm\rmshape{8}{1000}{OT1} \setfont\smallertt\ttshape{8}{1000}{OT1TT} \setfont\smallerbf\bfshape{10}{800}{OT1} \setfont\smallerit\itshape{8}{1000}{OT1IT} \setfont\smallersl\slshape{8}{1000}{OT1} \setfont\smallersf\sfshape{8}{1000}{OT1} \setfont\smallersc\scshape{10}{800}{OT1} \setfont\smallerttsl\ttslshape{10}{800}{OT1TT} \font\smalleri=cmmi8 \font\smallersy=cmsy8 \def\smallerecsize{0800} % Fonts for title page (20.4pt): \def\titlenominalsize{20pt} \setfont\titlerm\rmbshape{12}{\magstep3}{OT1} \setfont\titleit\itbshape{10}{\magstep4}{OT1IT} \setfont\titlesl\slbshape{10}{\magstep4}{OT1} \setfont\titlett\ttbshape{12}{\magstep3}{OT1TT} \setfont\titlettsl\ttslshape{10}{\magstep4}{OT1TT} \setfont\titlesf\sfbshape{17}{\magstep1}{OT1} \let\titlebf=\titlerm \setfont\titlesc\scbshape{10}{\magstep4}{OT1} \font\titlei=cmmi12 scaled \magstep3 \font\titlesy=cmsy10 scaled \magstep4 \def\titleecsize{2074} % Chapter fonts (14.4pt). \def\chapnominalsize{14pt} \setfont\chaprm\rmbshape{12}{\magstep1}{OT1} \setfont\chapit\itbshape{10}{\magstep2}{OT1IT} \setfont\chapsl\slbshape{10}{\magstep2}{OT1} \setfont\chaptt\ttbshape{12}{\magstep1}{OT1TT} \setfont\chapttsl\ttslshape{10}{\magstep2}{OT1TT} \setfont\chapsf\sfbshape{12}{\magstep1}{OT1} \let\chapbf\chaprm \setfont\chapsc\scbshape{10}{\magstep2}{OT1} \font\chapi=cmmi12 scaled \magstep1 \font\chapsy=cmsy10 scaled \magstep2 \def\chapecsize{1440} % Section fonts (12pt). \def\secnominalsize{12pt} \setfont\secrm\rmbshape{12}{1000}{OT1} \setfont\secit\itbshape{10}{\magstep1}{OT1IT} \setfont\secsl\slbshape{10}{\magstep1}{OT1} \setfont\sectt\ttbshape{12}{1000}{OT1TT} \setfont\secttsl\ttslshape{10}{\magstep1}{OT1TT} \setfont\secsf\sfbshape{12}{1000}{OT1} \let\secbf\secrm \setfont\secsc\scbshape{10}{\magstep1}{OT1} \font\seci=cmmi12 \font\secsy=cmsy10 scaled \magstep1 \def\sececsize{1200} % Subsection fonts (10pt). \def\ssecnominalsize{10pt} \setfont\ssecrm\rmbshape{10}{1000}{OT1} \setfont\ssecit\itbshape{10}{1000}{OT1IT} \setfont\ssecsl\slbshape{10}{1000}{OT1} \setfont\ssectt\ttbshape{10}{1000}{OT1TT} \setfont\ssecttsl\ttslshape{10}{1000}{OT1TT} \setfont\ssecsf\sfbshape{10}{1000}{OT1} \let\ssecbf\ssecrm \setfont\ssecsc\scbshape{10}{1000}{OT1} \font\sseci=cmmi10 \font\ssecsy=cmsy10 \def\ssececsize{1000} % Reduced fonts for @acro in text (9pt). \def\reducednominalsize{9pt} \setfont\reducedrm\rmshape{9}{1000}{OT1} \setfont\reducedtt\ttshape{9}{1000}{OT1TT} \setfont\reducedbf\bfshape{10}{900}{OT1} \setfont\reducedit\itshape{9}{1000}{OT1IT} \setfont\reducedsl\slshape{9}{1000}{OT1} \setfont\reducedsf\sfshape{9}{1000}{OT1} \setfont\reducedsc\scshape{10}{900}{OT1} \setfont\reducedttsl\ttslshape{10}{900}{OT1TT} \font\reducedi=cmmi9 \font\reducedsy=cmsy9 \def\reducedecsize{0900} \divide\parskip by 2 % reduce space between paragraphs \textleading = 12pt % line spacing for 10pt CM \textfonts % reset the current fonts \rm } % end of 10pt text font size definitions % We provide the user-level command % @fonttextsize 10 % (or 11) to redefine the text font size. pt is assumed. % \def\xword{10} \def\xiword{11} % \parseargdef\fonttextsize{% \def\textsizearg{#1}% \wlog{doing @fonttextsize \textsizearg}% % % Set \globaldefs so that documents can use this inside @tex, since % makeinfo 4.8 does not support it, but we need it nonetheless. % \begingroup \globaldefs=1 \ifx\textsizearg\xword \definetextfontsizex \else \ifx\textsizearg\xiword \definetextfontsizexi \else \errhelp=\EMsimple \errmessage{@fonttextsize only supports `10' or `11', not `\textsizearg'} \fi\fi \endgroup } % In order for the font changes to affect most math symbols and letters, % we have to define the \textfont of the standard families. Since % texinfo doesn't allow for producing subscripts and superscripts except % in the main text, we don't bother to reset \scriptfont and % \scriptscriptfont (which would also require loading a lot more fonts). % \def\resetmathfonts{% \textfont0=\tenrm \textfont1=\teni \textfont2=\tensy \textfont\itfam=\tenit \textfont\slfam=\tensl \textfont\bffam=\tenbf \textfont\ttfam=\tentt \textfont\sffam=\tensf } % The font-changing commands redefine the meanings of \tenSTYLE, instead % of just \STYLE. We do this because \STYLE needs to also set the % current \fam for math mode. Our \STYLE (e.g., \rm) commands hardwire % \tenSTYLE to set the current font. % % Each font-changing command also sets the names \lsize (one size lower) % and \lllsize (three sizes lower). These relative commands are used in % the LaTeX logo and acronyms. % % This all needs generalizing, badly. % \def\textfonts{% \let\tenrm=\textrm \let\tenit=\textit \let\tensl=\textsl \let\tenbf=\textbf \let\tentt=\texttt \let\smallcaps=\textsc \let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy \let\tenttsl=\textttsl \def\curfontsize{text}% \def\lsize{reduced}\def\lllsize{smaller}% \resetmathfonts \setleading{\textleading}} \def\titlefonts{% \let\tenrm=\titlerm \let\tenit=\titleit \let\tensl=\titlesl \let\tenbf=\titlebf \let\tentt=\titlett \let\smallcaps=\titlesc \let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy \let\tenttsl=\titlettsl \def\curfontsize{title}% \def\lsize{chap}\def\lllsize{subsec}% \resetmathfonts \setleading{27pt}} \def\titlefont#1{{\titlefonts\rmisbold #1}} \def\chapfonts{% \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl \let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc \let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy \let\tenttsl=\chapttsl \def\curfontsize{chap}% \def\lsize{sec}\def\lllsize{text}% \resetmathfonts \setleading{19pt}} \def\secfonts{% \let\tenrm=\secrm \let\tenit=\secit \let\tensl=\secsl \let\tenbf=\secbf \let\tentt=\sectt \let\smallcaps=\secsc \let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy \let\tenttsl=\secttsl \def\curfontsize{sec}% \def\lsize{subsec}\def\lllsize{reduced}% \resetmathfonts \setleading{16pt}} \def\subsecfonts{% \let\tenrm=\ssecrm \let\tenit=\ssecit \let\tensl=\ssecsl \let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc \let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy \let\tenttsl=\ssecttsl \def\curfontsize{ssec}% \def\lsize{text}\def\lllsize{small}% \resetmathfonts \setleading{15pt}} \let\subsubsecfonts = \subsecfonts \def\reducedfonts{% \let\tenrm=\reducedrm \let\tenit=\reducedit \let\tensl=\reducedsl \let\tenbf=\reducedbf \let\tentt=\reducedtt \let\reducedcaps=\reducedsc \let\tensf=\reducedsf \let\teni=\reducedi \let\tensy=\reducedsy \let\tenttsl=\reducedttsl \def\curfontsize{reduced}% \def\lsize{small}\def\lllsize{smaller}% \resetmathfonts \setleading{10.5pt}} \def\smallfonts{% \let\tenrm=\smallrm \let\tenit=\smallit \let\tensl=\smallsl \let\tenbf=\smallbf \let\tentt=\smalltt \let\smallcaps=\smallsc \let\tensf=\smallsf \let\teni=\smalli \let\tensy=\smallsy \let\tenttsl=\smallttsl \def\curfontsize{small}% \def\lsize{smaller}\def\lllsize{smaller}% \resetmathfonts \setleading{10.5pt}} \def\smallerfonts{% \let\tenrm=\smallerrm \let\tenit=\smallerit \let\tensl=\smallersl \let\tenbf=\smallerbf \let\tentt=\smallertt \let\smallcaps=\smallersc \let\tensf=\smallersf \let\teni=\smalleri \let\tensy=\smallersy \let\tenttsl=\smallerttsl \def\curfontsize{smaller}% \def\lsize{smaller}\def\lllsize{smaller}% \resetmathfonts \setleading{9.5pt}} % Fonts for short table of contents. \setfont\shortcontrm\rmshape{12}{1000}{OT1} \setfont\shortcontbf\bfshape{10}{\magstep1}{OT1} % no cmb12 \setfont\shortcontsl\slshape{12}{1000}{OT1} \setfont\shortconttt\ttshape{12}{1000}{OT1TT} % Define these just so they can be easily changed for other fonts. \def\angleleft{$\langle$} \def\angleright{$\rangle$} % Set the fonts to use with the @small... environments. \let\smallexamplefonts = \smallfonts % About \smallexamplefonts. If we use \smallfonts (9pt), @smallexample % can fit this many characters: % 8.5x11=86 smallbook=72 a4=90 a5=69 % If we use \scriptfonts (8pt), then we can fit this many characters: % 8.5x11=90+ smallbook=80 a4=90+ a5=77 % For me, subjectively, the few extra characters that fit aren't worth % the additional smallness of 8pt. So I'm making the default 9pt. % % By the way, for comparison, here's what fits with @example (10pt): % 8.5x11=71 smallbook=60 a4=75 a5=58 % --karl, 24jan03. % Set up the default fonts, so we can use them for creating boxes. % \definetextfontsizexi \message{markup,} % Check if we are currently using a typewriter font. Since all the % Computer Modern typewriter fonts have zero interword stretch (and % shrink), and it is reasonable to expect all typewriter fonts to have % this property, we can check that font parameter. % \def\ifmonospace{\ifdim\fontdimen3\font=0pt } % Markup style infrastructure. \defmarkupstylesetup\INITMACRO will % define and register \INITMACRO to be called on markup style changes. % \INITMACRO can check \currentmarkupstyle for the innermost % style and the set of \ifmarkupSTYLE switches for all styles % currently in effect. \newif\ifmarkupvar \newif\ifmarkupsamp \newif\ifmarkupkey %\newif\ifmarkupfile % @file == @samp. %\newif\ifmarkupoption % @option == @samp. \newif\ifmarkupcode \newif\ifmarkupkbd %\newif\ifmarkupenv % @env == @code. %\newif\ifmarkupcommand % @command == @code. \newif\ifmarkuptex % @tex (and part of @math, for now). \newif\ifmarkupexample \newif\ifmarkupverb \newif\ifmarkupverbatim \let\currentmarkupstyle\empty \def\setupmarkupstyle#1{% \csname markup#1true\endcsname \def\currentmarkupstyle{#1}% \markupstylesetup } \let\markupstylesetup\empty \def\defmarkupstylesetup#1{% \expandafter\def\expandafter\markupstylesetup \expandafter{\markupstylesetup #1}% \def#1% } % Markup style setup for left and right quotes. \defmarkupstylesetup\markupsetuplq{% \expandafter\let\expandafter \temp \csname markupsetuplq\currentmarkupstyle\endcsname \ifx\temp\relax \markupsetuplqdefault \else \temp \fi } \defmarkupstylesetup\markupsetuprq{% \expandafter\let\expandafter \temp \csname markupsetuprq\currentmarkupstyle\endcsname \ifx\temp\relax \markupsetuprqdefault \else \temp \fi } { \catcode`\'=\active \catcode`\`=\active \gdef\markupsetuplqdefault{\let`\lq} \gdef\markupsetuprqdefault{\let'\rq} \gdef\markupsetcodequoteleft{\let`\codequoteleft} \gdef\markupsetcodequoteright{\let'\codequoteright} \gdef\markupsetnoligaturesquoteleft{\let`\noligaturesquoteleft} } \let\markupsetuplqcode \markupsetcodequoteleft \let\markupsetuprqcode \markupsetcodequoteright % \let\markupsetuplqexample \markupsetcodequoteleft \let\markupsetuprqexample \markupsetcodequoteright % \let\markupsetuplqsamp \markupsetcodequoteleft \let\markupsetuprqsamp \markupsetcodequoteright % \let\markupsetuplqverb \markupsetcodequoteleft \let\markupsetuprqverb \markupsetcodequoteright % \let\markupsetuplqverbatim \markupsetcodequoteleft \let\markupsetuprqverbatim \markupsetcodequoteright \let\markupsetuplqkbd \markupsetnoligaturesquoteleft % Allow an option to not replace quotes with a regular directed right % quote/apostrophe (char 0x27), but instead use the undirected quote % from cmtt (char 0x0d). The undirected quote is ugly, so don't make it % the default, but it works for pasting with more pdf viewers (at least % evince), the lilypond developers report. xpdf does work with the % regular 0x27. % \def\codequoteright{% \expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax '% \else \char'15 \fi \else \char'15 \fi } % % and a similar option for the left quote char vs. a grave accent. % Modern fonts display ASCII 0x60 as a grave accent, so some people like % the code environments to do likewise. % \def\codequoteleft{% \expandafter\ifx\csname SETtxicodequotebacktick\endcsname\relax \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax % [Knuth] pp. 380,381,391 % \relax disables Spanish ligatures ?` and !` of \tt font. \relax`% \else \char'22 \fi \else \char'22 \fi } % [Knuth] pp. 380,381,391, disable Spanish ligatures ?` and !` of \tt font. \def\noligaturesquoteleft{\relax\lq} % Count depth in font-changes, for error checks \newcount\fontdepth \fontdepth=0 % Font commands. % #1 is the font command (\sl or \it), #2 is the text to slant. % If we are in a monospaced environment, however, 1) always use \ttsl, % and 2) do not add an italic correction. \def\dosmartslant#1#2{% \ifusingtt {\ttsl #2\let\next=\relax}% {\def\next{{#1#2}\futurelet\next\smartitaliccorrection}}% \next } \def\smartslanted{\dosmartslant\sl} \def\smartitalic{\dosmartslant\it} % Output an italic correction unless \next (presumed to be the following % character) is such as not to need one. \def\smartitaliccorrection{% \ifx\next,% \else\ifx\next-% \else\ifx\next.% \else\ptexslash \fi\fi\fi} % like \smartslanted except unconditionally uses \ttsl, and no ic. % @var is set to this for defun arguments. \def\ttslanted#1{{\ttsl #1}} % @cite is like \smartslanted except unconditionally use \sl. We never want % ttsl for book titles, do we? \def\cite#1{{\sl #1}\futurelet\next\smartitaliccorrection} \let\i=\smartitalic \let\slanted=\smartslanted \def\var#1{\smartslanted{#1}} \let\dfn=\smartslanted \let\emph=\smartitalic % Explicit font changes: @r, @sc, undocumented @ii. \def\r#1{{\rm #1}} % roman font \def\sc#1{{\smallcaps#1}} % smallcaps font \def\ii#1{{\it #1}} % italic font % @b, explicit bold. Also @strong. \def\b#1{{\bf #1}} \let\strong=\b % @sansserif, explicit sans. \def\sansserif#1{{\sf #1}} % We can't just use \exhyphenpenalty, because that only has effect at % the end of a paragraph. Restore normal hyphenation at the end of the % group within which \nohyphenation is presumably called. % \def\nohyphenation{\hyphenchar\font = -1 \aftergroup\restorehyphenation} \def\restorehyphenation{\hyphenchar\font = `- } % Set sfcode to normal for the chars that usually have another value. % Can't use plain's \frenchspacing because it uses the `\x notation, and % sometimes \x has an active definition that messes things up. % \catcode`@=11 \def\plainfrenchspacing{% \sfcode\dotChar =\@m \sfcode\questChar=\@m \sfcode\exclamChar=\@m \sfcode\colonChar=\@m \sfcode\semiChar =\@m \sfcode\commaChar =\@m \def\endofsentencespacefactor{1000}% for @. and friends } \def\plainnonfrenchspacing{% \sfcode`\.3000\sfcode`\?3000\sfcode`\!3000 \sfcode`\:2000\sfcode`\;1500\sfcode`\,1250 \def\endofsentencespacefactor{3000}% for @. and friends } \catcode`@=\other \def\endofsentencespacefactor{3000}% default % @t, explicit typewriter. \def\t#1{% {\tt \rawbackslash \plainfrenchspacing #1}% \null } % @samp. \def\samp#1{{\setupmarkupstyle{samp}\lq\tclose{#1}\rq\null}} % definition of @key that produces a lozenge. Doesn't adjust to text size. %\setfont\keyrm\rmshape{8}{1000}{OT1} %\font\keysy=cmsy9 %\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{% % \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{% % \vbox{\hrule\kern-0.4pt % \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}% % \kern-0.4pt\hrule}% % \kern-.06em\raise0.4pt\hbox{\angleright}}}} % definition of @key with no lozenge. If the current font is already % monospace, don't change it; that way, we respect @kbdinputstyle. But % if it isn't monospace, then use \tt. % \def\key#1{{\setupmarkupstyle{key}% \nohyphenation \ifmonospace\else\tt\fi #1}\null} % ctrl is no longer a Texinfo command. \def\ctrl #1{{\tt \rawbackslash \hat}#1} % @file, @option are the same as @samp. \let\file=\samp \let\option=\samp % @code is a modification of @t, % which makes spaces the same size as normal in the surrounding text. \def\tclose#1{% {% % Change normal interword space to be same as for the current font. \spaceskip = \fontdimen2\font % % Switch to typewriter. \tt % % But `\ ' produces the large typewriter interword space. \def\ {{\spaceskip = 0pt{} }}% % % Turn off hyphenation. \nohyphenation % \rawbackslash \plainfrenchspacing #1% }% \null } % We *must* turn on hyphenation at `-' and `_' in @code. % Otherwise, it is too hard to avoid overfull hboxes % in the Emacs manual, the Library manual, etc. % Unfortunately, TeX uses one parameter (\hyphenchar) to control % both hyphenation at - and hyphenation within words. % We must therefore turn them both off (\tclose does that) % and arrange explicitly to hyphenate at a dash. % -- rms. { \catcode`\-=\active \catcode`\_=\active \catcode`\'=\active \catcode`\`=\active \global\let'=\rq \global\let`=\lq % default definitions % \global\def\code{\begingroup \setupmarkupstyle{code}% % The following should really be moved into \setupmarkupstyle handlers. \catcode\dashChar=\active \catcode\underChar=\active \ifallowcodebreaks \let-\codedash \let_\codeunder \else \let-\realdash \let_\realunder \fi \codex } } \def\realdash{-} \def\codedash{-\discretionary{}{}{}} \def\codeunder{% % this is all so @math{@code{var_name}+1} can work. In math mode, _ % is "active" (mathcode"8000) and \normalunderscore (or \char95, etc.) % will therefore expand the active definition of _, which is us % (inside @code that is), therefore an endless loop. \ifusingtt{\ifmmode \mathchar"075F % class 0=ordinary, family 7=ttfam, pos 0x5F=_. \else\normalunderscore \fi \discretionary{}{}{}}% {\_}% } \def\codex #1{\tclose{#1}\endgroup} % An additional complication: the above will allow breaks after, e.g., % each of the four underscores in __typeof__. This is undesirable in % some manuals, especially if they don't have long identifiers in % general. @allowcodebreaks provides a way to control this. % \newif\ifallowcodebreaks \allowcodebreakstrue \def\keywordtrue{true} \def\keywordfalse{false} \parseargdef\allowcodebreaks{% \def\txiarg{#1}% \ifx\txiarg\keywordtrue \allowcodebreakstrue \else\ifx\txiarg\keywordfalse \allowcodebreaksfalse \else \errhelp = \EMsimple \errmessage{Unknown @allowcodebreaks option `\txiarg'}% \fi\fi } % @kbd is like @code, except that if the argument is just one @key command, % then @kbd has no effect. \def\kbd#1{{\setupmarkupstyle{kbd}\def\look{#1}\expandafter\kbdfoo\look??\par}} % @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always), % `example' (@kbd uses ttsl only inside of @example and friends), % or `code' (@kbd uses normal tty font always). \parseargdef\kbdinputstyle{% \def\txiarg{#1}% \ifx\txiarg\worddistinct \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}% \else\ifx\txiarg\wordexample \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\tt}% \else\ifx\txiarg\wordcode \gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}% \else \errhelp = \EMsimple \errmessage{Unknown @kbdinputstyle option `\txiarg'}% \fi\fi\fi } \def\worddistinct{distinct} \def\wordexample{example} \def\wordcode{code} % Default is `distinct'. \kbdinputstyle distinct \def\xkey{\key} \def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}% \ifx\one\xkey\ifx\threex\three \key{#2}% \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi} % For @indicateurl, @env, @command quotes seem unnecessary, so use \code. \let\indicateurl=\code \let\env=\code \let\command=\code % @clicksequence{File @click{} Open ...} \def\clicksequence#1{\begingroup #1\endgroup} % @clickstyle @arrow (by default) \parseargdef\clickstyle{\def\click{#1}} \def\click{\arrow} % @uref (abbreviation for `urlref') takes an optional (comma-separated) % second argument specifying the text to display and an optional third % arg as text to display instead of (rather than in addition to) the url % itself. First (mandatory) arg is the url. Perhaps eventually put in % a hypertex \special here. % \def\uref#1{\douref #1,,,\finish} \def\douref#1,#2,#3,#4\finish{\begingroup \unsepspaces \pdfurl{#1}% \setbox0 = \hbox{\ignorespaces #3}% \ifdim\wd0 > 0pt \unhbox0 % third arg given, show only that \else \setbox0 = \hbox{\ignorespaces #2}% \ifdim\wd0 > 0pt \ifpdf \unhbox0 % PDF: 2nd arg given, show only it \else \unhbox0\ (\code{#1})% DVI: 2nd arg given, show both it and url \fi \else \code{#1}% only url given, so show it \fi \fi \endlink \endgroup} % @url synonym for @uref, since that's how everyone uses it. % \let\url=\uref % rms does not like angle brackets --karl, 17may97. % So now @email is just like @uref, unless we are pdf. % %\def\email#1{\angleleft{\tt #1}\angleright} \ifpdf \def\email#1{\doemail#1,,\finish} \def\doemail#1,#2,#3\finish{\begingroup \unsepspaces \pdfurl{mailto:#1}% \setbox0 = \hbox{\ignorespaces #2}% \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi \endlink \endgroup} \else \let\email=\uref \fi % Typeset a dimension, e.g., `in' or `pt'. The only reason for the % argument is to make the input look right: @dmn{pt} instead of @dmn{}pt. % \def\dmn#1{\thinspace #1} % @l was never documented to mean ``switch to the Lisp font'', % and it is not used as such in any manual I can find. We need it for % Polish suppressed-l. --karl, 22sep96. %\def\l#1{{\li #1}\null} % @acronym for "FBI", "NATO", and the like. % We print this one point size smaller, since it's intended for % all-uppercase. % \def\acronym#1{\doacronym #1,,\finish} \def\doacronym#1,#2,#3\finish{% {\selectfonts\lsize #1}% \def\temp{#2}% \ifx\temp\empty \else \space ({\unsepspaces \ignorespaces \temp \unskip})% \fi } % @abbr for "Comput. J." and the like. % No font change, but don't do end-of-sentence spacing. % \def\abbr#1{\doabbr #1,,\finish} \def\doabbr#1,#2,#3\finish{% {\plainfrenchspacing #1}% \def\temp{#2}% \ifx\temp\empty \else \space ({\unsepspaces \ignorespaces \temp \unskip})% \fi } % @asis just yields its argument. Used with @table, for example. % \def\asis#1{#1} % @math outputs its argument in math mode. % % One complication: _ usually means subscripts, but it could also mean % an actual _ character, as in @math{@var{some_variable} + 1}. So make % _ active, and distinguish by seeing if the current family is \slfam, % which is what @var uses. { \catcode`\_ = \active \gdef\mathunderscore{% \catcode`\_=\active \def_{\ifnum\fam=\slfam \_\else\sb\fi}% } } % Another complication: we want \\ (and @\) to output a \ character. % FYI, plain.tex uses \\ as a temporary control sequence (why?), but % this is not advertised and we don't care. Texinfo does not % otherwise define @\. % % The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\. \def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi} % \def\math{% \tex \mathunderscore \let\\ = \mathbackslash \mathactive % make the texinfo accent commands work in math mode \let\"=\ddot \let\'=\acute \let\==\bar \let\^=\hat \let\`=\grave \let\u=\breve \let\v=\check \let\~=\tilde \let\dotaccent=\dot $\finishmath } \def\finishmath#1{#1$\endgroup} % Close the group opened by \tex. % Some active characters (such as <) are spaced differently in math. % We have to reset their definitions in case the @math was an argument % to a command which sets the catcodes (such as @item or @section). % { \catcode`^ = \active \catcode`< = \active \catcode`> = \active \catcode`+ = \active \catcode`' = \active \gdef\mathactive{% \let^ = \ptexhat \let< = \ptexless \let> = \ptexgtr \let+ = \ptexplus \let' = \ptexquoteright } } \message{glyphs,} % and logos. % @@ prints an @. \def\@{\char64 } % Used to generate quoted braces. Unless we're in typewriter, use % \ecfont because the CM text fonts do not have braces, and we don't % want to switch into math. \def\mylbrace{{\ifmonospace\else\ecfont\fi \char123}} \def\myrbrace{{\ifmonospace\else\ecfont\fi \char125}} \let\{=\mylbrace \let\}=\myrbrace \begingroup % Definitions to produce \{ and \} commands for indices, % and @{ and @} for the aux/toc files. \catcode`\{ = \other \catcode`\} = \other \catcode`\[ = 1 \catcode`\] = 2 \catcode`\! = 0 \catcode`\\ = \other !gdef!lbracecmd[\{]% !gdef!rbracecmd[\}]% !gdef!lbraceatcmd[@{]% !gdef!rbraceatcmd[@}]% !endgroup % @comma{} to avoid , parsing problems. \let\comma = , % Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent % Others are defined by plain TeX: @` @' @" @^ @~ @= @u @v @H. \let\, = \ptexc \let\dotaccent = \ptexdot \def\ringaccent#1{{\accent23 #1}} \let\tieaccent = \ptext \let\ubaraccent = \ptexb \let\udotaccent = \d % Other special characters: @questiondown @exclamdown @ordf @ordm % Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss. \def\questiondown{?`} \def\exclamdown{!`} \def\ordf{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{a}}} \def\ordm{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{o}}} % Dotless i and dotless j, used for accents. \def\imacro{i} \def\jmacro{j} \def\dotless#1{% \def\temp{#1}% \ifx\temp\imacro \ifmmode\imath \else\ptexi \fi \else\ifx\temp\jmacro \ifmmode\jmath \else\j \fi \else \errmessage{@dotless can be used only with i or j}% \fi\fi } % The \TeX{} logo, as in plain, but resetting the spacing so that a % period following counts as ending a sentence. (Idea found in latex.) % \edef\TeX{\TeX \spacefactor=1000 } % @LaTeX{} logo. Not quite the same results as the definition in % latex.ltx, since we use a different font for the raised A; it's most % convenient for us to use an explicitly smaller font, rather than using % the \scriptstyle font (since we don't reset \scriptstyle and % \scriptscriptstyle). % \def\LaTeX{% L\kern-.36em {\setbox0=\hbox{T}% \vbox to \ht0{\hbox{\selectfonts\lllsize A}\vss}}% \kern-.15em \TeX } % Some math mode symbols. \def\bullet{$\ptexbullet$} \def\geq{\ifmmode \ge\else $\ge$\fi} \def\leq{\ifmmode \le\else $\le$\fi} \def\minus{\ifmmode -\else $-$\fi} % @dots{} outputs an ellipsis using the current font. % We do .5em per period so that it has the same spacing in the cm % typewriter fonts as three actual period characters; on the other hand, % in other typewriter fonts three periods are wider than 1.5em. So do % whichever is larger. % \def\dots{% \leavevmode \setbox0=\hbox{...}% get width of three periods \ifdim\wd0 > 1.5em \dimen0 = \wd0 \else \dimen0 = 1.5em \fi \hbox to \dimen0{% \hskip 0pt plus.25fil .\hskip 0pt plus1fil .\hskip 0pt plus1fil .\hskip 0pt plus.5fil }% } % @enddots{} is an end-of-sentence ellipsis. % \def\enddots{% \dots \spacefactor=\endofsentencespacefactor } % @point{}, @result{}, @expansion{}, @print{}, @equiv{}. % % Since these characters are used in examples, they should be an even number of % \tt widths. Each \tt character is 1en, so two makes it 1em. % \def\point{$\star$} \def\arrow{\leavevmode\raise.05ex\hbox to 1em{\hfil$\rightarrow$\hfil}} \def\result{\leavevmode\raise.05ex\hbox to 1em{\hfil$\Rightarrow$\hfil}} \def\expansion{\leavevmode\hbox to 1em{\hfil$\mapsto$\hfil}} \def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}} \def\equiv{\leavevmode\hbox to 1em{\hfil$\ptexequiv$\hfil}} % The @error{} command. % Adapted from the TeXbook's \boxit. % \newbox\errorbox % {\tentt \global\dimen0 = 3em}% Width of the box. \dimen2 = .55pt % Thickness of rules % The text. (`r' is open on the right, `e' somewhat less so on the left.) \setbox0 = \hbox{\kern-.75pt \reducedsf error\kern-1.5pt} % \setbox\errorbox=\hbox to \dimen0{\hfil \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right. \advance\hsize by -2\dimen2 % Rules. \vbox{% \hrule height\dimen2 \hbox{\vrule width\dimen2 \kern3pt % Space to left of text. \vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below. \kern3pt\vrule width\dimen2}% Space to right. \hrule height\dimen2} \hfil} % \def\error{\leavevmode\lower.7ex\copy\errorbox} % @pounds{} is a sterling sign, which Knuth put in the CM italic font. % \def\pounds{{\it\$}} % @euro{} comes from a separate font, depending on the current style. % We use the free feym* fonts from the eurosym package by Henrik % Theiling, which support regular, slanted, bold and bold slanted (and % "outlined" (blackboard board, sort of) versions, which we don't need). % It is available from http://www.ctan.org/tex-archive/fonts/eurosym. % % Although only regular is the truly official Euro symbol, we ignore % that. The Euro is designed to be slightly taller than the regular % font height. % % feymr - regular % feymo - slanted % feybr - bold % feybo - bold slanted % % There is no good (free) typewriter version, to my knowledge. % A feymr10 euro is ~7.3pt wide, while a normal cmtt10 char is ~5.25pt wide. % Hmm. % % Also doesn't work in math. Do we need to do math with euro symbols? % Hope not. % % \def\euro{{\eurofont e}} \def\eurofont{% % We set the font at each command, rather than predefining it in % \textfonts and the other font-switching commands, so that % installations which never need the symbol don't have to have the % font installed. % % There is only one designed size (nominal 10pt), so we always scale % that to the current nominal size. % % By the way, simply using "at 1em" works for cmr10 and the like, but % does not work for cmbx10 and other extended/shrunken fonts. % \def\eurosize{\csname\curfontsize nominalsize\endcsname}% % \ifx\curfontstyle\bfstylename % bold: \font\thiseurofont = \ifusingit{feybo10}{feybr10} at \eurosize \else % regular: \font\thiseurofont = \ifusingit{feymo10}{feymr10} at \eurosize \fi \thiseurofont } % Glyphs from the EC fonts. We don't use \let for the aliases, because % sometimes we redefine the original macro, and the alias should reflect % the redefinition. % % Use LaTeX names for the Icelandic letters. \def\DH{{\ecfont \char"D0}} % Eth \def\dh{{\ecfont \char"F0}} % eth \def\TH{{\ecfont \char"DE}} % Thorn \def\th{{\ecfont \char"FE}} % thorn % \def\guillemetleft{{\ecfont \char"13}} \def\guillemotleft{\guillemetleft} \def\guillemetright{{\ecfont \char"14}} \def\guillemotright{\guillemetright} \def\guilsinglleft{{\ecfont \char"0E}} \def\guilsinglright{{\ecfont \char"0F}} \def\quotedblbase{{\ecfont \char"12}} \def\quotesinglbase{{\ecfont \char"0D}} % % This positioning is not perfect (see the ogonek LaTeX package), but % we have the precomposed glyphs for the most common cases. We put the % tests to use those glyphs in the single \ogonek macro so we have fewer % dummy definitions to worry about for index entries, etc. % % ogonek is also used with other letters in Lithuanian (IOU), but using % the precomposed glyphs for those is not so easy since they aren't in % the same EC font. \def\ogonek#1{{% \def\temp{#1}% \ifx\temp\macrocharA\Aogonek \else\ifx\temp\macrochara\aogonek \else\ifx\temp\macrocharE\Eogonek \else\ifx\temp\macrochare\eogonek \else \ecfont \setbox0=\hbox{#1}% \ifdim\ht0=1ex\accent"0C #1% \else\ooalign{\unhbox0\crcr\hidewidth\char"0C \hidewidth}% \fi \fi\fi\fi\fi }% } \def\Aogonek{{\ecfont \char"81}}\def\macrocharA{A} \def\aogonek{{\ecfont \char"A1}}\def\macrochara{a} \def\Eogonek{{\ecfont \char"86}}\def\macrocharE{E} \def\eogonek{{\ecfont \char"A6}}\def\macrochare{e} % % Use the ec* fonts (cm-super in outline format) for non-CM glyphs. \def\ecfont{% % We can't distinguish serif/sans and italic/slanted, but this % is used for crude hacks anyway (like adding French and German % quotes to documents typeset with CM, where we lose kerning), so % hopefully nobody will notice/care. \edef\ecsize{\csname\curfontsize ecsize\endcsname}% \edef\nominalsize{\csname\curfontsize nominalsize\endcsname}% \ifx\curfontstyle\bfstylename % bold: \font\thisecfont = ecb\ifusingit{i}{x}\ecsize \space at \nominalsize \else % regular: \font\thisecfont = ec\ifusingit{ti}{rm}\ecsize \space at \nominalsize \fi \thisecfont } % @registeredsymbol - R in a circle. The font for the R should really % be smaller yet, but lllsize is the best we can do for now. % Adapted from the plain.tex definition of \copyright. % \def\registeredsymbol{% $^{{\ooalign{\hfil\raise.07ex\hbox{\selectfonts\lllsize R}% \hfil\crcr\Orb}}% }$% } % @textdegree - the normal degrees sign. % \def\textdegree{$^\circ$} % Laurent Siebenmann reports \Orb undefined with: % Textures 1.7.7 (preloaded format=plain 93.10.14) (68K) 16 APR 2004 02:38 % so we'll define it if necessary. % \ifx\Orb\undefined \def\Orb{\mathhexbox20D} \fi % Quotes. \chardef\quotedblleft="5C \chardef\quotedblright=`\" \chardef\quoteleft=`\` \chardef\quoteright=`\' \message{page headings,} \newskip\titlepagetopglue \titlepagetopglue = 1.5in \newskip\titlepagebottomglue \titlepagebottomglue = 2pc % First the title page. Must do @settitle before @titlepage. \newif\ifseenauthor \newif\iffinishedtitlepage % Do an implicit @contents or @shortcontents after @end titlepage if the % user says @setcontentsaftertitlepage or @setshortcontentsaftertitlepage. % \newif\ifsetcontentsaftertitlepage \let\setcontentsaftertitlepage = \setcontentsaftertitlepagetrue \newif\ifsetshortcontentsaftertitlepage \let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue \parseargdef\shorttitlepage{\begingroup\hbox{}\vskip 1.5in \chaprm \centerline{#1}% \endgroup\page\hbox{}\page} \envdef\titlepage{% % Open one extra group, as we want to close it in the middle of \Etitlepage. \begingroup \parindent=0pt \textfonts % Leave some space at the very top of the page. \vglue\titlepagetopglue % No rule at page bottom unless we print one at the top with @title. \finishedtitlepagetrue % % Most title ``pages'' are actually two pages long, with space % at the top of the second. We don't want the ragged left on the second. \let\oldpage = \page \def\page{% \iffinishedtitlepage\else \finishtitlepage \fi \let\page = \oldpage \page \null }% } \def\Etitlepage{% \iffinishedtitlepage\else \finishtitlepage \fi % It is important to do the page break before ending the group, % because the headline and footline are only empty inside the group. % If we use the new definition of \page, we always get a blank page % after the title page, which we certainly don't want. \oldpage \endgroup % % Need this before the \...aftertitlepage checks so that if they are % in effect the toc pages will come out with page numbers. \HEADINGSon % % If they want short, they certainly want long too. \ifsetshortcontentsaftertitlepage \shortcontents \contents \global\let\shortcontents = \relax \global\let\contents = \relax \fi % \ifsetcontentsaftertitlepage \contents \global\let\contents = \relax \global\let\shortcontents = \relax \fi } \def\finishtitlepage{% \vskip4pt \hrule height 2pt width \hsize \vskip\titlepagebottomglue \finishedtitlepagetrue } %%% Macros to be used within @titlepage: \let\subtitlerm=\tenrm \def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines} \parseargdef\title{% \checkenv\titlepage \leftline{\titlefonts\rmisbold #1} % print a rule at the page bottom also. \finishedtitlepagefalse \vskip4pt \hrule height 4pt width \hsize \vskip4pt } \parseargdef\subtitle{% \checkenv\titlepage {\subtitlefont \rightline{#1}}% } % @author should come last, but may come many times. % It can also be used inside @quotation. % \parseargdef\author{% \def\temp{\quotation}% \ifx\thisenv\temp \def\quotationauthor{#1}% printed in \Equotation. \else \checkenv\titlepage \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi {\secfonts\rmisbold \leftline{#1}}% \fi } %%% Set up page headings and footings. \let\thispage=\folio \newtoks\evenheadline % headline on even pages \newtoks\oddheadline % headline on odd pages \newtoks\evenfootline % footline on even pages \newtoks\oddfootline % footline on odd pages % Now make TeX use those variables \headline={{\textfonts\rm \ifodd\pageno \the\oddheadline \else \the\evenheadline \fi}} \footline={{\textfonts\rm \ifodd\pageno \the\oddfootline \else \the\evenfootline \fi}\HEADINGShook} \let\HEADINGShook=\relax % Commands to set those variables. % For example, this is what @headings on does % @evenheading @thistitle|@thispage|@thischapter % @oddheading @thischapter|@thispage|@thistitle % @evenfooting @thisfile|| % @oddfooting ||@thisfile \def\evenheading{\parsearg\evenheadingxxx} \def\evenheadingxxx #1{\evenheadingyyy #1\|\|\|\|\finish} \def\evenheadingyyy #1\|#2\|#3\|#4\finish{% \global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} \def\oddheading{\parsearg\oddheadingxxx} \def\oddheadingxxx #1{\oddheadingyyy #1\|\|\|\|\finish} \def\oddheadingyyy #1\|#2\|#3\|#4\finish{% \global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} \parseargdef\everyheading{\oddheadingxxx{#1}\evenheadingxxx{#1}}% \def\evenfooting{\parsearg\evenfootingxxx} \def\evenfootingxxx #1{\evenfootingyyy #1\|\|\|\|\finish} \def\evenfootingyyy #1\|#2\|#3\|#4\finish{% \global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} \def\oddfooting{\parsearg\oddfootingxxx} \def\oddfootingxxx #1{\oddfootingyyy #1\|\|\|\|\finish} \def\oddfootingyyy #1\|#2\|#3\|#4\finish{% \global\oddfootline = {\rlap{\centerline{#2}}\line{#1\hfil#3}}% % % Leave some space for the footline. Hopefully ok to assume % @evenfooting will not be used by itself. \global\advance\pageheight by -12pt \global\advance\vsize by -12pt } \parseargdef\everyfooting{\oddfootingxxx{#1}\evenfootingxxx{#1}} % @evenheadingmarks top \thischapter <- chapter at the top of a page % @evenheadingmarks bottom \thischapter <- chapter at the bottom of a page % % The same set of arguments for: % % @oddheadingmarks % @evenfootingmarks % @oddfootingmarks % @everyheadingmarks % @everyfootingmarks \def\evenheadingmarks{\headingmarks{even}{heading}} \def\oddheadingmarks{\headingmarks{odd}{heading}} \def\evenfootingmarks{\headingmarks{even}{footing}} \def\oddfootingmarks{\headingmarks{odd}{footing}} \def\everyheadingmarks#1 {\headingmarks{even}{heading}{#1} \headingmarks{odd}{heading}{#1} } \def\everyfootingmarks#1 {\headingmarks{even}{footing}{#1} \headingmarks{odd}{footing}{#1} } % #1 = even/odd, #2 = heading/footing, #3 = top/bottom. \def\headingmarks#1#2#3 {% \expandafter\let\expandafter\temp \csname get#3headingmarks\endcsname \global\expandafter\let\csname get#1#2marks\endcsname \temp } \everyheadingmarks bottom \everyfootingmarks bottom % @headings double turns headings on for double-sided printing. % @headings single turns headings on for single-sided printing. % @headings off turns them off. % @headings on same as @headings double, retained for compatibility. % @headings after turns on double-sided headings after this page. % @headings doubleafter turns on double-sided headings after this page. % @headings singleafter turns on single-sided headings after this page. % By default, they are off at the start of a document, % and turned `on' after @end titlepage. \def\headings #1 {\csname HEADINGS#1\endcsname} \def\headingsoff{% non-global headings elimination \evenheadline={\hfil}\evenfootline={\hfil}% \oddheadline={\hfil}\oddfootline={\hfil}% } \def\HEADINGSoff{{\globaldefs=1 \headingsoff}} % global setting \HEADINGSoff % it's the default % When we turn headings on, set the page number to 1. % For double-sided printing, put current file name in lower left corner, % chapter name on inside top of right hand pages, document % title on inside top of left hand pages, and page numbers on outside top % edge of all pages. \def\HEADINGSdouble{% \global\pageno=1 \global\evenfootline={\hfil} \global\oddfootline={\hfil} \global\evenheadline={\line{\folio\hfil\thistitle}} \global\oddheadline={\line{\thischapter\hfil\folio}} \global\let\contentsalignmacro = \chapoddpage } \let\contentsalignmacro = \chappager % For single-sided printing, chapter title goes across top left of page, % page number on top right. \def\HEADINGSsingle{% \global\pageno=1 \global\evenfootline={\hfil} \global\oddfootline={\hfil} \global\evenheadline={\line{\thischapter\hfil\folio}} \global\oddheadline={\line{\thischapter\hfil\folio}} \global\let\contentsalignmacro = \chappager } \def\HEADINGSon{\HEADINGSdouble} \def\HEADINGSafter{\let\HEADINGShook=\HEADINGSdoublex} \let\HEADINGSdoubleafter=\HEADINGSafter \def\HEADINGSdoublex{% \global\evenfootline={\hfil} \global\oddfootline={\hfil} \global\evenheadline={\line{\folio\hfil\thistitle}} \global\oddheadline={\line{\thischapter\hfil\folio}} \global\let\contentsalignmacro = \chapoddpage } \def\HEADINGSsingleafter{\let\HEADINGShook=\HEADINGSsinglex} \def\HEADINGSsinglex{% \global\evenfootline={\hfil} \global\oddfootline={\hfil} \global\evenheadline={\line{\thischapter\hfil\folio}} \global\oddheadline={\line{\thischapter\hfil\folio}} \global\let\contentsalignmacro = \chappager } % Subroutines used in generating headings % This produces Day Month Year style of output. % Only define if not already defined, in case a txi-??.tex file has set % up a different format (e.g., txi-cs.tex does this). \ifx\today\undefined \def\today{% \number\day\space \ifcase\month \or\putwordMJan\or\putwordMFeb\or\putwordMMar\or\putwordMApr \or\putwordMMay\or\putwordMJun\or\putwordMJul\or\putwordMAug \or\putwordMSep\or\putwordMOct\or\putwordMNov\or\putwordMDec \fi \space\number\year} \fi % @settitle line... specifies the title of the document, for headings. % It generates no output of its own. \def\thistitle{\putwordNoTitle} \def\settitle{\parsearg{\gdef\thistitle}} \message{tables,} % Tables -- @table, @ftable, @vtable, @item(x). % default indentation of table text \newdimen\tableindent \tableindent=.8in % default indentation of @itemize and @enumerate text \newdimen\itemindent \itemindent=.3in % margin between end of table item and start of table text. \newdimen\itemmargin \itemmargin=.1in % used internally for \itemindent minus \itemmargin \newdimen\itemmax % Note @table, @ftable, and @vtable define @item, @itemx, etc., with % these defs. % They also define \itemindex % to index the item name in whatever manner is desired (perhaps none). \newif\ifitemxneedsnegativevskip \def\itemxpar{\par\ifitemxneedsnegativevskip\nobreak\vskip-\parskip\nobreak\fi} \def\internalBitem{\smallbreak \parsearg\itemzzz} \def\internalBitemx{\itemxpar \parsearg\itemzzz} \def\itemzzz #1{\begingroup % \advance\hsize by -\rightskip \advance\hsize by -\tableindent \setbox0=\hbox{\itemindicate{#1}}% \itemindex{#1}% \nobreak % This prevents a break before @itemx. % % If the item text does not fit in the space we have, put it on a line % by itself, and do not allow a page break either before or after that % line. We do not start a paragraph here because then if the next % command is, e.g., @kindex, the whatsit would get put into the % horizontal list on a line by itself, resulting in extra blank space. \ifdim \wd0>\itemmax % % Make this a paragraph so we get the \parskip glue and wrapping, % but leave it ragged-right. \begingroup \advance\leftskip by-\tableindent \advance\hsize by\tableindent \advance\rightskip by0pt plus1fil\relax \leavevmode\unhbox0\par \endgroup % % We're going to be starting a paragraph, but we don't want the % \parskip glue -- logically it's part of the @item we just started. \nobreak \vskip-\parskip % % Stop a page break at the \parskip glue coming up. However, if % what follows is an environment such as @example, there will be no % \parskip glue; then the negative vskip we just inserted would % cause the example and the item to crash together. So we use this % bizarre value of 10001 as a signal to \aboveenvbreak to insert % \parskip glue after all. Section titles are handled this way also. % \penalty 10001 \endgroup \itemxneedsnegativevskipfalse \else % The item text fits into the space. Start a paragraph, so that the % following text (if any) will end up on the same line. \noindent % Do this with kerns and \unhbox so that if there is a footnote in % the item text, it can migrate to the main vertical list and % eventually be printed. \nobreak\kern-\tableindent \dimen0 = \itemmax \advance\dimen0 by \itemmargin \advance\dimen0 by -\wd0 \unhbox0 \nobreak\kern\dimen0 \endgroup \itemxneedsnegativevskiptrue \fi } \def\item{\errmessage{@item while not in a list environment}} \def\itemx{\errmessage{@itemx while not in a list environment}} % @table, @ftable, @vtable. \envdef\table{% \let\itemindex\gobble \tablecheck{table}% } \envdef\ftable{% \def\itemindex ##1{\doind {fn}{\code{##1}}}% \tablecheck{ftable}% } \envdef\vtable{% \def\itemindex ##1{\doind {vr}{\code{##1}}}% \tablecheck{vtable}% } \def\tablecheck#1{% \ifnum \the\catcode`\^^M=\active \endgroup \errmessage{This command won't work in this context; perhaps the problem is that we are \inenvironment\thisenv}% \def\next{\doignore{#1}}% \else \let\next\tablex \fi \next } \def\tablex#1{% \def\itemindicate{#1}% \parsearg\tabley } \def\tabley#1{% {% \makevalueexpandable \edef\temp{\noexpand\tablez #1\space\space\space}% \expandafter }\temp \endtablez } \def\tablez #1 #2 #3 #4\endtablez{% \aboveenvbreak \ifnum 0#1>0 \advance \leftskip by #1\mil \fi \ifnum 0#2>0 \tableindent=#2\mil \fi \ifnum 0#3>0 \advance \rightskip by #3\mil \fi \itemmax=\tableindent \advance \itemmax by -\itemmargin \advance \leftskip by \tableindent \exdentamount=\tableindent \parindent = 0pt \parskip = \smallskipamount \ifdim \parskip=0pt \parskip=2pt \fi \let\item = \internalBitem \let\itemx = \internalBitemx } \def\Etable{\endgraf\afterenvbreak} \let\Eftable\Etable \let\Evtable\Etable \let\Eitemize\Etable \let\Eenumerate\Etable % This is the counter used by @enumerate, which is really @itemize \newcount \itemno \envdef\itemize{\parsearg\doitemize} \def\doitemize#1{% \aboveenvbreak \itemmax=\itemindent \advance\itemmax by -\itemmargin \advance\leftskip by \itemindent \exdentamount=\itemindent \parindent=0pt \parskip=\smallskipamount \ifdim\parskip=0pt \parskip=2pt \fi % % Try typesetting the item mark that if the document erroneously says % something like @itemize @samp (intending @table), there's an error % right away at the @itemize. It's not the best error message in the % world, but it's better than leaving it to the @item. This means if % the user wants an empty mark, they have to say @w{} not just @w. \def\itemcontents{#1}% \setbox0 = \hbox{\itemcontents}% % % @itemize with no arg is equivalent to @itemize @bullet. \ifx\itemcontents\empty\def\itemcontents{\bullet}\fi % \let\item=\itemizeitem } % Definition of @item while inside @itemize and @enumerate. % \def\itemizeitem{% \advance\itemno by 1 % for enumerations {\let\par=\endgraf \smallbreak}% reasonable place to break {% % If the document has an @itemize directly after a section title, a % \nobreak will be last on the list, and \sectionheading will have % done a \vskip-\parskip. In that case, we don't want to zero % parskip, or the item text will crash with the heading. On the % other hand, when there is normal text preceding the item (as there % usually is), we do want to zero parskip, or there would be too much % space. In that case, we won't have a \nobreak before. At least % that's the theory. \ifnum\lastpenalty<10000 \parskip=0in \fi \noindent \hbox to 0pt{\hss \itemcontents \kern\itemmargin}% % \vadjust{\penalty 1200}}% not good to break after first line of item. \flushcr } % \splitoff TOKENS\endmark defines \first to be the first token in % TOKENS, and \rest to be the remainder. % \def\splitoff#1#2\endmark{\def\first{#1}\def\rest{#2}}% % Allow an optional argument of an uppercase letter, lowercase letter, % or number, to specify the first label in the enumerated list. No % argument is the same as `1'. % \envparseargdef\enumerate{\enumeratey #1 \endenumeratey} \def\enumeratey #1 #2\endenumeratey{% % If we were given no argument, pretend we were given `1'. \def\thearg{#1}% \ifx\thearg\empty \def\thearg{1}\fi % % Detect if the argument is a single token. If so, it might be a % letter. Otherwise, the only valid thing it can be is a number. % (We will always have one token, because of the test we just made. % This is a good thing, since \splitoff doesn't work given nothing at % all -- the first parameter is undelimited.) \expandafter\splitoff\thearg\endmark \ifx\rest\empty % Only one token in the argument. It could still be anything. % A ``lowercase letter'' is one whose \lccode is nonzero. % An ``uppercase letter'' is one whose \lccode is both nonzero, and % not equal to itself. % Otherwise, we assume it's a number. % % We need the \relax at the end of the \ifnum lines to stop TeX from % continuing to look for a . % \ifnum\lccode\expandafter`\thearg=0\relax \numericenumerate % a number (we hope) \else % It's a letter. \ifnum\lccode\expandafter`\thearg=\expandafter`\thearg\relax \lowercaseenumerate % lowercase letter \else \uppercaseenumerate % uppercase letter \fi \fi \else % Multiple tokens in the argument. We hope it's a number. \numericenumerate \fi } % An @enumerate whose labels are integers. The starting integer is % given in \thearg. % \def\numericenumerate{% \itemno = \thearg \startenumeration{\the\itemno}% } % The starting (lowercase) letter is in \thearg. \def\lowercaseenumerate{% \itemno = \expandafter`\thearg \startenumeration{% % Be sure we're not beyond the end of the alphabet. \ifnum\itemno=0 \errmessage{No more lowercase letters in @enumerate; get a bigger alphabet}% \fi \char\lccode\itemno }% } % The starting (uppercase) letter is in \thearg. \def\uppercaseenumerate{% \itemno = \expandafter`\thearg \startenumeration{% % Be sure we're not beyond the end of the alphabet. \ifnum\itemno=0 \errmessage{No more uppercase letters in @enumerate; get a bigger alphabet} \fi \char\uccode\itemno }% } % Call \doitemize, adding a period to the first argument and supplying the % common last two arguments. Also subtract one from the initial value in % \itemno, since @item increments \itemno. % \def\startenumeration#1{% \advance\itemno by -1 \doitemize{#1.}\flushcr } % @alphaenumerate and @capsenumerate are abbreviations for giving an arg % to @enumerate. % \def\alphaenumerate{\enumerate{a}} \def\capsenumerate{\enumerate{A}} \def\Ealphaenumerate{\Eenumerate} \def\Ecapsenumerate{\Eenumerate} % @multitable macros % Amy Hendrickson, 8/18/94, 3/6/96 % % @multitable ... @end multitable will make as many columns as desired. % Contents of each column will wrap at width given in preamble. Width % can be specified either with sample text given in a template line, % or in percent of \hsize, the current width of text on page. % Table can continue over pages but will only break between lines. % To make preamble: % % Either define widths of columns in terms of percent of \hsize: % @multitable @columnfractions .25 .3 .45 % @item ... % % Numbers following @columnfractions are the percent of the total % current hsize to be used for each column. You may use as many % columns as desired. % Or use a template: % @multitable {Column 1 template} {Column 2 template} {Column 3 template} % @item ... % using the widest term desired in each column. % Each new table line starts with @item, each subsequent new column % starts with @tab. Empty columns may be produced by supplying @tab's % with nothing between them for as many times as empty columns are needed, % ie, @tab@tab@tab will produce two empty columns. % @item, @tab do not need to be on their own lines, but it will not hurt % if they are. % Sample multitable: % @multitable {Column 1 template} {Column 2 template} {Column 3 template} % @item first col stuff @tab second col stuff @tab third col % @item % first col stuff % @tab % second col stuff % @tab % third col % @item first col stuff @tab second col stuff % @tab Many paragraphs of text may be used in any column. % % They will wrap at the width determined by the template. % @item@tab@tab This will be in third column. % @end multitable % Default dimensions may be reset by user. % @multitableparskip is vertical space between paragraphs in table. % @multitableparindent is paragraph indent in table. % @multitablecolmargin is horizontal space to be left between columns. % @multitablelinespace is space to leave between table items, baseline % to baseline. % 0pt means it depends on current normal line spacing. % \newskip\multitableparskip \newskip\multitableparindent \newdimen\multitablecolspace \newskip\multitablelinespace \multitableparskip=0pt \multitableparindent=6pt \multitablecolspace=12pt \multitablelinespace=0pt % Macros used to set up halign preamble: % \let\endsetuptable\relax \def\xendsetuptable{\endsetuptable} \let\columnfractions\relax \def\xcolumnfractions{\columnfractions} \newif\ifsetpercent % #1 is the @columnfraction, usually a decimal number like .5, but might % be just 1. We just use it, whatever it is. % \def\pickupwholefraction#1 {% \global\advance\colcount by 1 \expandafter\xdef\csname col\the\colcount\endcsname{#1\hsize}% \setuptable } \newcount\colcount \def\setuptable#1{% \def\firstarg{#1}% \ifx\firstarg\xendsetuptable \let\go = \relax \else \ifx\firstarg\xcolumnfractions \global\setpercenttrue \else \ifsetpercent \let\go\pickupwholefraction \else \global\advance\colcount by 1 \setbox0=\hbox{#1\unskip\space}% Add a normal word space as a % separator; typically that is always in the input, anyway. \expandafter\xdef\csname col\the\colcount\endcsname{\the\wd0}% \fi \fi \ifx\go\pickupwholefraction % Put the argument back for the \pickupwholefraction call, so % we'll always have a period there to be parsed. \def\go{\pickupwholefraction#1}% \else \let\go = \setuptable \fi% \fi \go } % multitable-only commands. % % @headitem starts a heading row, which we typeset in bold. % Assignments have to be global since we are inside the implicit group % of an alignment entry. \everycr resets \everytab so we don't have to % undo it ourselves. \def\headitemfont{\b}% for people to use in the template row; not changeable \def\headitem{% \checkenv\multitable \crcr \global\everytab={\bf}% can't use \headitemfont since the parsing differs \the\everytab % for the first item }% % % A \tab used to include \hskip1sp. But then the space in a template % line is not enough. That is bad. So let's go back to just `&' until % we again encounter the problem the 1sp was intended to solve. % --karl, nathan@acm.org, 20apr99. \def\tab{\checkenv\multitable &\the\everytab}% % @multitable ... @end multitable definitions: % \newtoks\everytab % insert after every tab. % \envdef\multitable{% \vskip\parskip \startsavinginserts % % @item within a multitable starts a normal row. % We use \def instead of \let so that if one of the multitable entries % contains an @itemize, we don't choke on the \item (seen as \crcr aka % \endtemplate) expanding \doitemize. \def\item{\crcr}% % \tolerance=9500 \hbadness=9500 \setmultitablespacing \parskip=\multitableparskip \parindent=\multitableparindent \overfullrule=0pt \global\colcount=0 % \everycr = {% \noalign{% \global\everytab={}% \global\colcount=0 % Reset the column counter. % Check for saved footnotes, etc. \checkinserts % Keeps underfull box messages off when table breaks over pages. %\filbreak % Maybe so, but it also creates really weird page breaks when the % table breaks over pages. Wouldn't \vfil be better? Wait until the % problem manifests itself, so it can be fixed for real --karl. }% }% % \parsearg\domultitable } \def\domultitable#1{% % To parse everything between @multitable and @item: \setuptable#1 \endsetuptable % % This preamble sets up a generic column definition, which will % be used as many times as user calls for columns. % \vtop will set a single line and will also let text wrap and % continue for many paragraphs if desired. \halign\bgroup &% \global\advance\colcount by 1 \multistrut \vtop{% % Use the current \colcount to find the correct column width: \hsize=\expandafter\csname col\the\colcount\endcsname % % In order to keep entries from bumping into each other % we will add a \leftskip of \multitablecolspace to all columns after % the first one. % % If a template has been used, we will add \multitablecolspace % to the width of each template entry. % % If the user has set preamble in terms of percent of \hsize we will % use that dimension as the width of the column, and the \leftskip % will keep entries from bumping into each other. Table will start at % left margin and final column will justify at right margin. % % Make sure we don't inherit \rightskip from the outer environment. \rightskip=0pt \ifnum\colcount=1 % The first column will be indented with the surrounding text. \advance\hsize by\leftskip \else \ifsetpercent \else % If user has not set preamble in terms of percent of \hsize % we will advance \hsize by \multitablecolspace. \advance\hsize by \multitablecolspace \fi % In either case we will make \leftskip=\multitablecolspace: \leftskip=\multitablecolspace \fi % Ignoring space at the beginning and end avoids an occasional spurious % blank line, when TeX decides to break the line at the space before the % box from the multistrut, so the strut ends up on a line by itself. % For example: % @multitable @columnfractions .11 .89 % @item @code{#} % @tab Legal holiday which is valid in major parts of the whole country. % Is automatically provided with highlighting sequences respectively % marking characters. \noindent\ignorespaces##\unskip\multistrut }\cr } \def\Emultitable{% \crcr \egroup % end the \halign \global\setpercentfalse } \def\setmultitablespacing{% \def\multistrut{\strut}% just use the standard line spacing % % Compute \multitablelinespace (if not defined by user) for use in % \multitableparskip calculation. We used define \multistrut based on % this, but (ironically) that caused the spacing to be off. % See bug-texinfo report from Werner Lemberg, 31 Oct 2004 12:52:20 +0100. \ifdim\multitablelinespace=0pt \setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip \global\advance\multitablelinespace by-\ht0 \fi %% Test to see if parskip is larger than space between lines of %% table. If not, do nothing. %% If so, set to same dimension as multitablelinespace. \ifdim\multitableparskip>\multitablelinespace \global\multitableparskip=\multitablelinespace \global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller %% than skip between lines in the table. \fi% \ifdim\multitableparskip=0pt \global\multitableparskip=\multitablelinespace \global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller %% than skip between lines in the table. \fi} \message{conditionals,} % @iftex, @ifnotdocbook, @ifnothtml, @ifnotinfo, @ifnotplaintext, % @ifnotxml always succeed. They currently do nothing; we don't % attempt to check whether the conditionals are properly nested. But we % have to remember that they are conditionals, so that @end doesn't % attempt to close an environment group. % \def\makecond#1{% \expandafter\let\csname #1\endcsname = \relax \expandafter\let\csname iscond.#1\endcsname = 1 } \makecond{iftex} \makecond{ifnotdocbook} \makecond{ifnothtml} \makecond{ifnotinfo} \makecond{ifnotplaintext} \makecond{ifnotxml} % Ignore @ignore, @ifhtml, @ifinfo, and the like. % \def\direntry{\doignore{direntry}} \def\documentdescription{\doignore{documentdescription}} \def\docbook{\doignore{docbook}} \def\html{\doignore{html}} \def\ifdocbook{\doignore{ifdocbook}} \def\ifhtml{\doignore{ifhtml}} \def\ifinfo{\doignore{ifinfo}} \def\ifnottex{\doignore{ifnottex}} \def\ifplaintext{\doignore{ifplaintext}} \def\ifxml{\doignore{ifxml}} \def\ignore{\doignore{ignore}} \def\menu{\doignore{menu}} \def\xml{\doignore{xml}} % Ignore text until a line `@end #1', keeping track of nested conditionals. % % A count to remember the depth of nesting. \newcount\doignorecount \def\doignore#1{\begingroup % Scan in ``verbatim'' mode: \obeylines \catcode`\@ = \other \catcode`\{ = \other \catcode`\} = \other % % Make sure that spaces turn into tokens that match what \doignoretext wants. \spaceisspace % % Count number of #1's that we've seen. \doignorecount = 0 % % Swallow text until we reach the matching `@end #1'. \dodoignore{#1}% } { \catcode`_=11 % We want to use \_STOP_ which cannot appear in texinfo source. \obeylines % % \gdef\dodoignore#1{% % #1 contains the command name as a string, e.g., `ifinfo'. % % Define a command to find the next `@end #1'. \long\def\doignoretext##1^^M@end #1{% \doignoretextyyy##1^^M@#1\_STOP_}% % % And this command to find another #1 command, at the beginning of a % line. (Otherwise, we would consider a line `@c @ifset', for % example, to count as an @ifset for nesting.) \long\def\doignoretextyyy##1^^M@#1##2\_STOP_{\doignoreyyy{##2}\_STOP_}% % % And now expand that command. \doignoretext ^^M% }% } \def\doignoreyyy#1{% \def\temp{#1}% \ifx\temp\empty % Nothing found. \let\next\doignoretextzzz \else % Found a nested condition, ... \advance\doignorecount by 1 \let\next\doignoretextyyy % ..., look for another. % If we're here, #1 ends with ^^M\ifinfo (for example). \fi \next #1% the token \_STOP_ is present just after this macro. } % We have to swallow the remaining "\_STOP_". % \def\doignoretextzzz#1{% \ifnum\doignorecount = 0 % We have just found the outermost @end. \let\next\enddoignore \else % Still inside a nested condition. \advance\doignorecount by -1 \let\next\doignoretext % Look for the next @end. \fi \next } % Finish off ignored text. { \obeylines% % Ignore anything after the last `@end #1'; this matters in verbatim % environments, where otherwise the newline after an ignored conditional % would result in a blank line in the output. \gdef\enddoignore#1^^M{\endgroup\ignorespaces}% } % @set VAR sets the variable VAR to an empty value. % @set VAR REST-OF-LINE sets VAR to the value REST-OF-LINE. % % Since we want to separate VAR from REST-OF-LINE (which might be % empty), we can't just use \parsearg; we have to insert a space of our % own to delimit the rest of the line, and then take it out again if we % didn't need it. % We rely on the fact that \parsearg sets \catcode`\ =10. % \parseargdef\set{\setyyy#1 \endsetyyy} \def\setyyy#1 #2\endsetyyy{% {% \makevalueexpandable \def\temp{#2}% \edef\next{\gdef\makecsname{SET#1}}% \ifx\temp\empty \next{}% \else \setzzz#2\endsetzzz \fi }% } % Remove the trailing space \setxxx inserted. \def\setzzz#1 \endsetzzz{\next{#1}} % @clear VAR clears (i.e., unsets) the variable VAR. % \parseargdef\clear{% {% \makevalueexpandable \global\expandafter\let\csname SET#1\endcsname=\relax }% } % @value{foo} gets the text saved in variable foo. \def\value{\begingroup\makevalueexpandable\valuexxx} \def\valuexxx#1{\expandablevalue{#1}\endgroup} { \catcode`\- = \active \catcode`\_ = \active % \gdef\makevalueexpandable{% \let\value = \expandablevalue % We don't want these characters active, ... \catcode`\-=\other \catcode`\_=\other % ..., but we might end up with active ones in the argument if % we're called from @code, as @code{@value{foo-bar_}}, though. % So \let them to their normal equivalents. \let-\realdash \let_\normalunderscore } } % We have this subroutine so that we can handle at least some @value's % properly in indexes (we call \makevalueexpandable in \indexdummies). % The command has to be fully expandable (if the variable is set), since % the result winds up in the index file. This means that if the % variable's value contains other Texinfo commands, it's almost certain % it will fail (although perhaps we could fix that with sufficient work % to do a one-level expansion on the result, instead of complete). % \def\expandablevalue#1{% \expandafter\ifx\csname SET#1\endcsname\relax {[No value for ``#1'']}% \message{Variable `#1', used in @value, is not set.}% \else \csname SET#1\endcsname \fi } % @ifset VAR ... @end ifset reads the `...' iff VAR has been defined % with @set. % % To get special treatment of `@end ifset,' call \makeond and the redefine. % \makecond{ifset} \def\ifset{\parsearg{\doifset{\let\next=\ifsetfail}}} \def\doifset#1#2{% {% \makevalueexpandable \let\next=\empty \expandafter\ifx\csname SET#2\endcsname\relax #1% If not set, redefine \next. \fi \expandafter }\next } \def\ifsetfail{\doignore{ifset}} % @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been % defined with @set, or has been undefined with @clear. % % The `\else' inside the `\doifset' parameter is a trick to reuse the % above code: if the variable is not set, do nothing, if it is set, % then redefine \next to \ifclearfail. % \makecond{ifclear} \def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}} \def\ifclearfail{\doignore{ifclear}} % @dircategory CATEGORY -- specify a category of the dir file % which this file should belong to. Ignore this in TeX. \let\dircategory=\comment % @defininfoenclose. \let\definfoenclose=\comment \message{indexing,} % Index generation facilities % Define \newwrite to be identical to plain tex's \newwrite % except not \outer, so it can be used within macros and \if's. \edef\newwrite{\makecsname{ptexnewwrite}} % \newindex {foo} defines an index named foo. % It automatically defines \fooindex such that % \fooindex ...rest of line... puts an entry in the index foo. % It also defines \fooindfile to be the number of the output channel for % the file that accumulates this index. The file's extension is foo. % The name of an index should be no more than 2 characters long % for the sake of vms. % \def\newindex#1{% \iflinks \expandafter\newwrite \csname#1indfile\endcsname \openout \csname#1indfile\endcsname \jobname.#1 % Open the file \fi \expandafter\xdef\csname#1index\endcsname{% % Define @#1index \noexpand\doindex{#1}} } % @defindex foo == \newindex{foo} % \def\defindex{\parsearg\newindex} % Define @defcodeindex, like @defindex except put all entries in @code. % \def\defcodeindex{\parsearg\newcodeindex} % \def\newcodeindex#1{% \iflinks \expandafter\newwrite \csname#1indfile\endcsname \openout \csname#1indfile\endcsname \jobname.#1 \fi \expandafter\xdef\csname#1index\endcsname{% \noexpand\docodeindex{#1}}% } % @synindex foo bar makes index foo feed into index bar. % Do this instead of @defindex foo if you don't want it as a separate index. % % @syncodeindex foo bar similar, but put all entries made for index foo % inside @code. % \def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}} \def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}} % #1 is \doindex or \docodeindex, #2 the index getting redefined (foo), % #3 the target index (bar). \def\dosynindex#1#2#3{% % Only do \closeout if we haven't already done it, else we'll end up % closing the target index. \expandafter \ifx\csname donesynindex#2\endcsname \relax % The \closeout helps reduce unnecessary open files; the limit on the % Acorn RISC OS is a mere 16 files. \expandafter\closeout\csname#2indfile\endcsname \expandafter\let\csname donesynindex#2\endcsname = 1 \fi % redefine \fooindfile: \expandafter\let\expandafter\temp\expandafter=\csname#3indfile\endcsname \expandafter\let\csname#2indfile\endcsname=\temp % redefine \fooindex: \expandafter\xdef\csname#2index\endcsname{\noexpand#1{#3}}% } % Define \doindex, the driver for all \fooindex macros. % Argument #1 is generated by the calling \fooindex macro, % and it is "foo", the name of the index. % \doindex just uses \parsearg; it calls \doind for the actual work. % This is because \doind is more useful to call from other macros. % There is also \dosubind {index}{topic}{subtopic} % which makes an entry in a two-level index such as the operation index. \def\doindex#1{\edef\indexname{#1}\parsearg\singleindexer} \def\singleindexer #1{\doind{\indexname}{#1}} % like the previous two, but they put @code around the argument. \def\docodeindex#1{\edef\indexname{#1}\parsearg\singlecodeindexer} \def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}} % Take care of Texinfo commands that can appear in an index entry. % Since there are some commands we want to expand, and others we don't, % we have to laboriously prevent expansion for those that we don't. % \def\indexdummies{% \escapechar = `\\ % use backslash in output files. \def\@{@}% change to @@ when we switch to @ as escape char in index files. \def\ {\realbackslash\space }% % % Need these unexpandable (because we define \tt as a dummy) % definitions when @{ or @} appear in index entry text. Also, more % complicated, when \tex is in effect and \{ is a \delimiter again. % We can't use \lbracecmd and \rbracecmd because texindex assumes % braces and backslashes are used only as delimiters. Perhaps we % should define @lbrace and @rbrace commands a la @comma. \def\{{{\tt\char123}}% \def\}{{\tt\char125}}% % % I don't entirely understand this, but when an index entry is % generated from a macro call, the \endinput which \scanmacro inserts % causes processing to be prematurely terminated. This is, % apparently, because \indexsorttmp is fully expanded, and \endinput % is an expandable command. The redefinition below makes \endinput % disappear altogether for that purpose -- although logging shows that % processing continues to some further point. On the other hand, it % seems \endinput does not hurt in the printed index arg, since that % is still getting written without apparent harm. % % Sample source (mac-idx3.tex, reported by Graham Percival to % help-texinfo, 22may06): % @macro funindex {WORD} % @findex xyz % @end macro % ... % @funindex commtest % % The above is not enough to reproduce the bug, but it gives the flavor. % % Sample whatsit resulting: % .@write3{\entry{xyz}{@folio }{@code {xyz@endinput }}} % % So: \let\endinput = \empty % % Do the redefinitions. \commondummies } % For the aux and toc files, @ is the escape character. So we want to % redefine everything using @ as the escape character (instead of % \realbackslash, still used for index files). When everything uses @, % this will be simpler. % \def\atdummies{% \def\@{@@}% \def\ {@ }% \let\{ = \lbraceatcmd \let\} = \rbraceatcmd % % Do the redefinitions. \commondummies \otherbackslash } % Called from \indexdummies and \atdummies. % \def\commondummies{% % % \definedummyword defines \#1 as \string\#1\space, thus effectively % preventing its expansion. This is used only for control% words, % not control letters, because the \space would be incorrect for % control characters, but is needed to separate the control word % from whatever follows. % % For control letters, we have \definedummyletter, which omits the % space. % % These can be used both for control words that take an argument and % those that do not. If it is followed by {arg} in the input, then % that will dutifully get written to the index (or wherever). % \def\definedummyword ##1{\def##1{\string##1\space}}% \def\definedummyletter##1{\def##1{\string##1}}% \let\definedummyaccent\definedummyletter % \commondummiesnofonts % \definedummyletter\_% % % Non-English letters. \definedummyword\AA \definedummyword\AE \definedummyword\DH \definedummyword\L \definedummyword\O \definedummyword\OE \definedummyword\TH \definedummyword\aa \definedummyword\ae \definedummyword\dh \definedummyword\exclamdown \definedummyword\l \definedummyword\o \definedummyword\oe \definedummyword\ordf \definedummyword\ordm \definedummyword\questiondown \definedummyword\ss \definedummyword\th % % Although these internal commands shouldn't show up, sometimes they do. \definedummyword\bf \definedummyword\gtr \definedummyword\hat \definedummyword\less \definedummyword\sf \definedummyword\sl \definedummyword\tclose \definedummyword\tt % \definedummyword\LaTeX \definedummyword\TeX % % Assorted special characters. \definedummyword\bullet \definedummyword\comma \definedummyword\copyright \definedummyword\registeredsymbol \definedummyword\dots \definedummyword\enddots \definedummyword\entrybreak \definedummyword\equiv \definedummyword\error \definedummyword\euro \definedummyword\guillemetleft \definedummyword\guillemetright \definedummyword\guilsinglleft \definedummyword\guilsinglright \definedummyword\expansion \definedummyword\minus \definedummyword\ogonek \definedummyword\pounds \definedummyword\point \definedummyword\print \definedummyword\quotedblbase \definedummyword\quotedblleft \definedummyword\quotedblright \definedummyword\quoteleft \definedummyword\quoteright \definedummyword\quotesinglbase \definedummyword\result \definedummyword\textdegree % % We want to disable all macros so that they are not expanded by \write. \macrolist % \normalturnoffactive % % Handle some cases of @value -- where it does not contain any % (non-fully-expandable) commands. \makevalueexpandable } % \commondummiesnofonts: common to \commondummies and \indexnofonts. % \def\commondummiesnofonts{% % Control letters and accents. \definedummyletter\!% \definedummyaccent\"% \definedummyaccent\'% \definedummyletter\*% \definedummyaccent\,% \definedummyletter\.% \definedummyletter\/% \definedummyletter\:% \definedummyaccent\=% \definedummyletter\?% \definedummyaccent\^% \definedummyaccent\`% \definedummyaccent\~% \definedummyword\u \definedummyword\v \definedummyword\H \definedummyword\dotaccent \definedummyword\ogonek \definedummyword\ringaccent \definedummyword\tieaccent \definedummyword\ubaraccent \definedummyword\udotaccent \definedummyword\dotless % % Texinfo font commands. \definedummyword\b \definedummyword\i \definedummyword\r \definedummyword\sc \definedummyword\t % % Commands that take arguments. \definedummyword\acronym \definedummyword\cite \definedummyword\code \definedummyword\command \definedummyword\dfn \definedummyword\email \definedummyword\emph \definedummyword\env \definedummyword\file \definedummyword\kbd \definedummyword\key \definedummyword\math \definedummyword\option \definedummyword\pxref \definedummyword\ref \definedummyword\samp \definedummyword\strong \definedummyword\tie \definedummyword\uref \definedummyword\url \definedummyword\var \definedummyword\verb \definedummyword\w \definedummyword\xref } % \indexnofonts is used when outputting the strings to sort the index % by, and when constructing control sequence names. It eliminates all % control sequences and just writes whatever the best ASCII sort string % would be for a given command (usually its argument). % \def\indexnofonts{% % Accent commands should become @asis. \def\definedummyaccent##1{\let##1\asis}% % We can just ignore other control letters. \def\definedummyletter##1{\let##1\empty}% % Hopefully, all control words can become @asis. \let\definedummyword\definedummyaccent % \commondummiesnofonts % % Don't no-op \tt, since it isn't a user-level command % and is used in the definitions of the active chars like <, >, |, etc. % Likewise with the other plain tex font commands. %\let\tt=\asis % \def\ { }% \def\@{@}% % how to handle braces? \def\_{\normalunderscore}% % % Non-English letters. \def\AA{AA}% \def\AE{AE}% \def\DH{DZZ}% \def\L{L}% \def\OE{OE}% \def\O{O}% \def\TH{ZZZ}% \def\aa{aa}% \def\ae{ae}% \def\dh{dzz}% \def\exclamdown{!}% \def\l{l}% \def\oe{oe}% \def\ordf{a}% \def\ordm{o}% \def\o{o}% \def\questiondown{?}% \def\ss{ss}% \def\th{zzz}% % \def\LaTeX{LaTeX}% \def\TeX{TeX}% % % Assorted special characters. % (The following {} will end up in the sort string, but that's ok.) \def\bullet{bullet}% \def\comma{,}% \def\copyright{copyright}% \def\dots{...}% \def\enddots{...}% \def\equiv{==}% \def\error{error}% \def\euro{euro}% \def\expansion{==>}% \def\guillemetleft{<<}% \def\guillemetright{>>}% \def\guilsinglleft{<}% \def\guilsinglright{>}% \def\minus{-}% \def\point{.}% \def\pounds{pounds}% \def\print{-|}% \def\quotedblbase{"}% \def\quotedblleft{"}% \def\quotedblright{"}% \def\quoteleft{`}% \def\quoteright{'}% \def\quotesinglbase{,}% \def\registeredsymbol{R}% \def\result{=>}% \def\textdegree{o}% % \expandafter\ifx\csname SETtxiindexlquoteignore\endcsname\relax \else \indexlquoteignore \fi % % We need to get rid of all macros, leaving only the arguments (if present). % Of course this is not nearly correct, but it is the best we can do for now. % makeinfo does not expand macros in the argument to @deffn, which ends up % writing an index entry, and texindex isn't prepared for an index sort entry % that starts with \. % % Since macro invocations are followed by braces, we can just redefine them % to take a single TeX argument. The case of a macro invocation that % goes to end-of-line is not handled. % \macrolist } % Undocumented (for FSFS 2nd ed.): @set txiindexlquoteignore makes us % ignore left quotes in the sort term. {\catcode`\`=\active \gdef\indexlquoteignore{\let`=\empty}} \let\indexbackslash=0 %overridden during \printindex. \let\SETmarginindex=\relax % put index entries in margin (undocumented)? % Most index entries go through here, but \dosubind is the general case. % #1 is the index name, #2 is the entry text. \def\doind#1#2{\dosubind{#1}{#2}{}} % Workhorse for all \fooindexes. % #1 is name of index, #2 is stuff to put there, #3 is subentry -- % empty if called from \doind, as we usually are (the main exception % is with most defuns, which call us directly). % \def\dosubind#1#2#3{% \iflinks {% % Store the main index entry text (including the third arg). \toks0 = {#2}% % If third arg is present, precede it with a space. \def\thirdarg{#3}% \ifx\thirdarg\empty \else \toks0 = \expandafter{\the\toks0 \space #3}% \fi % \edef\writeto{\csname#1indfile\endcsname}% % \safewhatsit\dosubindwrite }% \fi } % Write the entry in \toks0 to the index file: % \def\dosubindwrite{% % Put the index entry in the margin if desired. \ifx\SETmarginindex\relax\else \insert\margin{\hbox{\vrule height8pt depth3pt width0pt \the\toks0}}% \fi % % Remember, we are within a group. \indexdummies % Must do this here, since \bf, etc expand at this stage \def\backslashcurfont{\indexbackslash}% \indexbackslash isn't defined now % so it will be output as is; and it will print as backslash. % % Process the index entry with all font commands turned off, to % get the string to sort by. {\indexnofonts \edef\temp{\the\toks0}% need full expansion \xdef\indexsorttmp{\temp}% }% % % Set up the complete index entry, with both the sort key and % the original text, including any font commands. We write % three arguments to \entry to the .?? file (four in the % subentry case), texindex reduces to two when writing the .??s % sorted result. \edef\temp{% \write\writeto{% \string\entry{\indexsorttmp}{\noexpand\folio}{\the\toks0}}% }% \temp } % Take care of unwanted page breaks/skips around a whatsit: % % If a skip is the last thing on the list now, preserve it % by backing up by \lastskip, doing the \write, then inserting % the skip again. Otherwise, the whatsit generated by the % \write or \pdfdest will make \lastskip zero. The result is that % sequences like this: % @end defun % @tindex whatever % @defun ... % will have extra space inserted, because the \medbreak in the % start of the @defun won't see the skip inserted by the @end of % the previous defun. % % But don't do any of this if we're not in vertical mode. We % don't want to do a \vskip and prematurely end a paragraph. % % Avoid page breaks due to these extra skips, too. % % But wait, there is a catch there: % We'll have to check whether \lastskip is zero skip. \ifdim is not % sufficient for this purpose, as it ignores stretch and shrink parts % of the skip. The only way seems to be to check the textual % representation of the skip. % % The following is almost like \def\zeroskipmacro{0.0pt} except that % the ``p'' and ``t'' characters have catcode \other, not 11 (letter). % \edef\zeroskipmacro{\expandafter\the\csname z@skip\endcsname} % \newskip\whatsitskip \newcount\whatsitpenalty % % ..., ready, GO: % \def\safewhatsit#1{% \ifhmode #1% \else % \lastskip and \lastpenalty cannot both be nonzero simultaneously. \whatsitskip = \lastskip \edef\lastskipmacro{\the\lastskip}% \whatsitpenalty = \lastpenalty % % If \lastskip is nonzero, that means the last item was a % skip. And since a skip is discardable, that means this % -\whatsitskip glue we're inserting is preceded by a % non-discardable item, therefore it is not a potential % breakpoint, therefore no \nobreak needed. \ifx\lastskipmacro\zeroskipmacro \else \vskip-\whatsitskip \fi % #1% % \ifx\lastskipmacro\zeroskipmacro % If \lastskip was zero, perhaps the last item was a penalty, and % perhaps it was >=10000, e.g., a \nobreak. In that case, we want % to re-insert the same penalty (values >10000 are used for various % signals); since we just inserted a non-discardable item, any % following glue (such as a \parskip) would be a breakpoint. For example: % % @deffn deffn-whatever % @vindex index-whatever % Description. % would allow a break between the index-whatever whatsit % and the "Description." paragraph. \ifnum\whatsitpenalty>9999 \penalty\whatsitpenalty \fi \else % On the other hand, if we had a nonzero \lastskip, % this make-up glue would be preceded by a non-discardable item % (the whatsit from the \write), so we must insert a \nobreak. \nobreak\vskip\whatsitskip \fi \fi } % The index entry written in the file actually looks like % \entry {sortstring}{page}{topic} % or % \entry {sortstring}{page}{topic}{subtopic} % The texindex program reads in these files and writes files % containing these kinds of lines: % \initial {c} % before the first topic whose initial is c % \entry {topic}{pagelist} % for a topic that is used without subtopics % \primary {topic} % for the beginning of a topic that is used with subtopics % \secondary {subtopic}{pagelist} % for each subtopic. % Define the user-accessible indexing commands % @findex, @vindex, @kindex, @cindex. \def\findex {\fnindex} \def\kindex {\kyindex} \def\cindex {\cpindex} \def\vindex {\vrindex} \def\tindex {\tpindex} \def\pindex {\pgindex} \def\cindexsub {\begingroup\obeylines\cindexsub} {\obeylines % \gdef\cindexsub "#1" #2^^M{\endgroup % \dosubind{cp}{#2}{#1}}} % Define the macros used in formatting output of the sorted index material. % @printindex causes a particular index (the ??s file) to get printed. % It does not print any chapter heading (usually an @unnumbered). % \parseargdef\printindex{\begingroup \dobreak \chapheadingskip{10000}% % \smallfonts \rm \tolerance = 9500 \plainfrenchspacing \everypar = {}% don't want the \kern\-parindent from indentation suppression. % % See if the index file exists and is nonempty. % Change catcode of @ here so that if the index file contains % \initial {@} % as its first line, TeX doesn't complain about mismatched braces % (because it thinks @} is a control sequence). \catcode`\@ = 11 \openin 1 \jobname.#1s \ifeof 1 % \enddoublecolumns gets confused if there is no text in the index, % and it loses the chapter title and the aux file entries for the % index. The easiest way to prevent this problem is to make sure % there is some text. \putwordIndexNonexistent \else % % If the index file exists but is empty, then \openin leaves \ifeof % false. We have to make TeX try to read something from the file, so % it can discover if there is anything in it. \read 1 to \temp \ifeof 1 \putwordIndexIsEmpty \else % Index files are almost Texinfo source, but we use \ as the escape % character. It would be better to use @, but that's too big a change % to make right now. \def\indexbackslash{\backslashcurfont}% \catcode`\\ = 0 \escapechar = `\\ \begindoublecolumns \input \jobname.#1s \enddoublecolumns \fi \fi \closein 1 \endgroup} % These macros are used by the sorted index file itself. % Change them to control the appearance of the index. \def\initial#1{{% % Some minor font changes for the special characters. \let\tentt=\sectt \let\tt=\sectt \let\sf=\sectt % % Remove any glue we may have, we'll be inserting our own. \removelastskip % % We like breaks before the index initials, so insert a bonus. \nobreak \vskip 0pt plus 3\baselineskip \penalty 0 \vskip 0pt plus -3\baselineskip % % Typeset the initial. Making this add up to a whole number of % baselineskips increases the chance of the dots lining up from column % to column. It still won't often be perfect, because of the stretch % we need before each entry, but it's better. % % No shrink because it confuses \balancecolumns. \vskip 1.67\baselineskip plus .5\baselineskip \leftline{\secbf #1}% % Do our best not to break after the initial. \nobreak \vskip .33\baselineskip plus .1\baselineskip }} % \entry typesets a paragraph consisting of the text (#1), dot leaders, and % then page number (#2) flushed to the right margin. It is used for index % and table of contents entries. The paragraph is indented by \leftskip. % % A straightforward implementation would start like this: % \def\entry#1#2{... % But this freezes the catcodes in the argument, and can cause problems to % @code, which sets - active. This problem was fixed by a kludge--- % ``-'' was active throughout whole index, but this isn't really right. % The right solution is to prevent \entry from swallowing the whole text. % --kasal, 21nov03 \def\entry{% \begingroup % % Start a new paragraph if necessary, so our assignments below can't % affect previous text. \par % % Do not fill out the last line with white space. \parfillskip = 0in % % No extra space above this paragraph. \parskip = 0in % % Do not prefer a separate line ending with a hyphen to fewer lines. \finalhyphendemerits = 0 % % \hangindent is only relevant when the entry text and page number % don't both fit on one line. In that case, bob suggests starting the % dots pretty far over on the line. Unfortunately, a large % indentation looks wrong when the entry text itself is broken across % lines. So we use a small indentation and put up with long leaders. % % \hangafter is reset to 1 (which is the value we want) at the start % of each paragraph, so we need not do anything with that. \hangindent = 2em % % When the entry text needs to be broken, just fill out the first line % with blank space. \rightskip = 0pt plus1fil % % A bit of stretch before each entry for the benefit of balancing % columns. \vskip 0pt plus1pt % % When reading the text of entry, convert explicit line breaks % from @* into spaces. The user might give these in long section % titles, for instance. \def\*{\unskip\space\ignorespaces}% \def\entrybreak{\hfil\break}% % % Swallow the left brace of the text (first parameter): \afterassignment\doentry \let\temp = } \def\entrybreak{\unskip\space\ignorespaces}% \def\doentry{% \bgroup % Instead of the swallowed brace. \noindent \aftergroup\finishentry % And now comes the text of the entry. } \def\finishentry#1{% % #1 is the page number. % % The following is kludged to not output a line of dots in the index if % there are no page numbers. The next person who breaks this will be % cursed by a Unix daemon. \setbox\boxA = \hbox{#1}% \ifdim\wd\boxA = 0pt \ % \else % % If we must, put the page number on a line of its own, and fill out % this line with blank space. (The \hfil is overwhelmed with the % fill leaders glue in \indexdotfill if the page number does fit.) \hfil\penalty50 \null\nobreak\indexdotfill % Have leaders before the page number. % % The `\ ' here is removed by the implicit \unskip that TeX does as % part of (the primitive) \par. Without it, a spurious underfull % \hbox ensues. \ifpdf \pdfgettoks#1.% \ \the\toksA \else \ #1% \fi \fi \par \endgroup } % Like plain.tex's \dotfill, except uses up at least 1 em. \def\indexdotfill{\cleaders \hbox{$\mathsurround=0pt \mkern1.5mu.\mkern1.5mu$}\hskip 1em plus 1fill} \def\primary #1{\line{#1\hfil}} \newskip\secondaryindent \secondaryindent=0.5cm \def\secondary#1#2{{% \parfillskip=0in \parskip=0in \hangindent=1in \hangafter=1 \noindent\hskip\secondaryindent\hbox{#1}\indexdotfill \ifpdf \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph. \else #2 \fi \par }} % Define two-column mode, which we use to typeset indexes. % Adapted from the TeXbook, page 416, which is to say, % the manmac.tex format used to print the TeXbook itself. \catcode`\@=11 \newbox\partialpage \newdimen\doublecolumnhsize \def\begindoublecolumns{\begingroup % ended by \enddoublecolumns % Grab any single-column material above us. \output = {% % % Here is a possibility not foreseen in manmac: if we accumulate a % whole lot of material, we might end up calling this \output % routine twice in a row (see the doublecol-lose test, which is % essentially a couple of indexes with @setchapternewpage off). In % that case we just ship out what is in \partialpage with the normal % output routine. Generally, \partialpage will be empty when this % runs and this will be a no-op. See the indexspread.tex test case. \ifvoid\partialpage \else \onepageout{\pagecontents\partialpage}% \fi % \global\setbox\partialpage = \vbox{% % Unvbox the main output page. \unvbox\PAGE \kern-\topskip \kern\baselineskip }% }% \eject % run that output routine to set \partialpage % % Use the double-column output routine for subsequent pages. \output = {\doublecolumnout}% % % Change the page size parameters. We could do this once outside this % routine, in each of @smallbook, @afourpaper, and the default 8.5x11 % format, but then we repeat the same computation. Repeating a couple % of assignments once per index is clearly meaningless for the % execution time, so we may as well do it in one place. % % First we halve the line length, less a little for the gutter between % the columns. We compute the gutter based on the line length, so it % changes automatically with the paper format. The magic constant % below is chosen so that the gutter has the same value (well, +-<1pt) % as it did when we hard-coded it. % % We put the result in a separate register, \doublecolumhsize, so we % can restore it in \pagesofar, after \hsize itself has (potentially) % been clobbered. % \doublecolumnhsize = \hsize \advance\doublecolumnhsize by -.04154\hsize \divide\doublecolumnhsize by 2 \hsize = \doublecolumnhsize % % Double the \vsize as well. (We don't need a separate register here, % since nobody clobbers \vsize.) \vsize = 2\vsize } % The double-column output routine for all double-column pages except % the last. % \def\doublecolumnout{% \splittopskip=\topskip \splitmaxdepth=\maxdepth % Get the available space for the double columns -- the normal % (undoubled) page height minus any material left over from the % previous page. \dimen@ = \vsize \divide\dimen@ by 2 \advance\dimen@ by -\ht\partialpage % % box0 will be the left-hand column, box2 the right. \setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@ \onepageout\pagesofar \unvbox255 \penalty\outputpenalty } % % Re-output the contents of the output page -- any previous material, % followed by the two boxes we just split, in box0 and box2. \def\pagesofar{% \unvbox\partialpage % \hsize = \doublecolumnhsize \wd0=\hsize \wd2=\hsize \hbox to\pagewidth{\box0\hfil\box2}% } % % All done with double columns. \def\enddoublecolumns{% % The following penalty ensures that the page builder is exercised % _before_ we change the output routine. This is necessary in the % following situation: % % The last section of the index consists only of a single entry. % Before this section, \pagetotal is less than \pagegoal, so no % break occurs before the last section starts. However, the last % section, consisting of \initial and the single \entry, does not % fit on the page and has to be broken off. Without the following % penalty the page builder will not be exercised until \eject % below, and by that time we'll already have changed the output % routine to the \balancecolumns version, so the next-to-last % double-column page will be processed with \balancecolumns, which % is wrong: The two columns will go to the main vertical list, with % the broken-off section in the recent contributions. As soon as % the output routine finishes, TeX starts reconsidering the page % break. The two columns and the broken-off section both fit on the % page, because the two columns now take up only half of the page % goal. When TeX sees \eject from below which follows the final % section, it invokes the new output routine that we've set after % \balancecolumns below; \onepageout will try to fit the two columns % and the final section into the vbox of \pageheight (see % \pagebody), causing an overfull box. % % Note that glue won't work here, because glue does not exercise the % page builder, unlike penalties (see The TeXbook, pp. 280-281). \penalty0 % \output = {% % Split the last of the double-column material. Leave it on the % current page, no automatic page break. \balancecolumns % % If we end up splitting too much material for the current page, % though, there will be another page break right after this \output % invocation ends. Having called \balancecolumns once, we do not % want to call it again. Therefore, reset \output to its normal % definition right away. (We hope \balancecolumns will never be % called on to balance too much material, but if it is, this makes % the output somewhat more palatable.) \global\output = {\onepageout{\pagecontents\PAGE}}% }% \eject \endgroup % started in \begindoublecolumns % % \pagegoal was set to the doubled \vsize above, since we restarted % the current page. We're now back to normal single-column % typesetting, so reset \pagegoal to the normal \vsize (after the % \endgroup where \vsize got restored). \pagegoal = \vsize } % % Called at the end of the double column material. \def\balancecolumns{% \setbox0 = \vbox{\unvbox255}% like \box255 but more efficient, see p.120. \dimen@ = \ht0 \advance\dimen@ by \topskip \advance\dimen@ by-\baselineskip \divide\dimen@ by 2 % target to split to %debug\message{final 2-column material height=\the\ht0, target=\the\dimen@.}% \splittopskip = \topskip % Loop until we get a decent breakpoint. {% \vbadness = 10000 \loop \global\setbox3 = \copy0 \global\setbox1 = \vsplit3 to \dimen@ \ifdim\ht3>\dimen@ \global\advance\dimen@ by 1pt \repeat }% %debug\message{split to \the\dimen@, column heights: \the\ht1, \the\ht3.}% \setbox0=\vbox to\dimen@{\unvbox1}% \setbox2=\vbox to\dimen@{\unvbox3}% % \pagesofar } \catcode`\@ = \other \message{sectioning,} % Chapters, sections, etc. % Let's start with @part. \outer\parseargdef\part{\partzzz{#1}} \def\partzzz#1{% \chapoddpage \null \vskip.3\vsize % move it down on the page a bit \begingroup \noindent \titlefonts\rmisbold #1\par % the text \let\lastnode=\empty % no node to associate with \writetocentry{part}{#1}{}% but put it in the toc \headingsoff % no headline or footline on the part page \chapoddpage \endgroup } % \unnumberedno is an oxymoron. But we count the unnumbered % sections so that we can refer to them unambiguously in the pdf % outlines by their "section number". We avoid collisions with chapter % numbers by starting them at 10000. (If a document ever has 10000 % chapters, we're in trouble anyway, I'm sure.) \newcount\unnumberedno \unnumberedno = 10000 \newcount\chapno \newcount\secno \secno=0 \newcount\subsecno \subsecno=0 \newcount\subsubsecno \subsubsecno=0 % This counter is funny since it counts through charcodes of letters A, B, ... \newcount\appendixno \appendixno = `\@ % % \def\appendixletter{\char\the\appendixno} % We do the following ugly conditional instead of the above simple % construct for the sake of pdftex, which needs the actual % letter in the expansion, not just typeset. % \def\appendixletter{% \ifnum\appendixno=`A A% \else\ifnum\appendixno=`B B% \else\ifnum\appendixno=`C C% \else\ifnum\appendixno=`D D% \else\ifnum\appendixno=`E E% \else\ifnum\appendixno=`F F% \else\ifnum\appendixno=`G G% \else\ifnum\appendixno=`H H% \else\ifnum\appendixno=`I I% \else\ifnum\appendixno=`J J% \else\ifnum\appendixno=`K K% \else\ifnum\appendixno=`L L% \else\ifnum\appendixno=`M M% \else\ifnum\appendixno=`N N% \else\ifnum\appendixno=`O O% \else\ifnum\appendixno=`P P% \else\ifnum\appendixno=`Q Q% \else\ifnum\appendixno=`R R% \else\ifnum\appendixno=`S S% \else\ifnum\appendixno=`T T% \else\ifnum\appendixno=`U U% \else\ifnum\appendixno=`V V% \else\ifnum\appendixno=`W W% \else\ifnum\appendixno=`X X% \else\ifnum\appendixno=`Y Y% \else\ifnum\appendixno=`Z Z% % The \the is necessary, despite appearances, because \appendixletter is % expanded while writing the .toc file. \char\appendixno is not % expandable, thus it is written literally, thus all appendixes come out % with the same letter (or @) in the toc without it. \else\char\the\appendixno \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi} % Each @chapter defines these (using marks) as the number+name, number % and name of the chapter. Page headings and footings can use % these. @section does likewise. \def\thischapter{} \def\thischapternum{} \def\thischaptername{} \def\thissection{} \def\thissectionnum{} \def\thissectionname{} \newcount\absseclevel % used to calculate proper heading level \newcount\secbase\secbase=0 % @raisesections/@lowersections modify this count % @raisesections: treat @section as chapter, @subsection as section, etc. \def\raisesections{\global\advance\secbase by -1} \let\up=\raisesections % original BFox name % @lowersections: treat @chapter as section, @section as subsection, etc. \def\lowersections{\global\advance\secbase by 1} \let\down=\lowersections % original BFox name % we only have subsub. \chardef\maxseclevel = 3 % % A numbered section within an unnumbered changes to unnumbered too. % To achieve this, remember the "biggest" unnum. sec. we are currently in: \chardef\unnlevel = \maxseclevel % % Trace whether the current chapter is an appendix or not: % \chapheadtype is "N" or "A", unnumbered chapters are ignored. \def\chapheadtype{N} % Choose a heading macro % #1 is heading type % #2 is heading level % #3 is text for heading \def\genhead#1#2#3{% % Compute the abs. sec. level: \absseclevel=#2 \advance\absseclevel by \secbase % Make sure \absseclevel doesn't fall outside the range: \ifnum \absseclevel < 0 \absseclevel = 0 \else \ifnum \absseclevel > 3 \absseclevel = 3 \fi \fi % The heading type: \def\headtype{#1}% \if \headtype U% \ifnum \absseclevel < \unnlevel \chardef\unnlevel = \absseclevel \fi \else % Check for appendix sections: \ifnum \absseclevel = 0 \edef\chapheadtype{\headtype}% \else \if \headtype A\if \chapheadtype N% \errmessage{@appendix... within a non-appendix chapter}% \fi\fi \fi % Check for numbered within unnumbered: \ifnum \absseclevel > \unnlevel \def\headtype{U}% \else \chardef\unnlevel = 3 \fi \fi % Now print the heading: \if \headtype U% \ifcase\absseclevel \unnumberedzzz{#3}% \or \unnumberedseczzz{#3}% \or \unnumberedsubseczzz{#3}% \or \unnumberedsubsubseczzz{#3}% \fi \else \if \headtype A% \ifcase\absseclevel \appendixzzz{#3}% \or \appendixsectionzzz{#3}% \or \appendixsubseczzz{#3}% \or \appendixsubsubseczzz{#3}% \fi \else \ifcase\absseclevel \chapterzzz{#3}% \or \seczzz{#3}% \or \numberedsubseczzz{#3}% \or \numberedsubsubseczzz{#3}% \fi \fi \fi \suppressfirstparagraphindent } % an interface: \def\numhead{\genhead N} \def\apphead{\genhead A} \def\unnmhead{\genhead U} % @chapter, @appendix, @unnumbered. Increment top-level counter, reset % all lower-level sectioning counters to zero. % % Also set \chaplevelprefix, which we prepend to @float sequence numbers % (e.g., figures), q.v. By default (before any chapter), that is empty. \let\chaplevelprefix = \empty % \outer\parseargdef\chapter{\numhead0{#1}} % normally numhead0 calls chapterzzz \def\chapterzzz#1{% % section resetting is \global in case the chapter is in a group, such % as an @include file. \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 \global\advance\chapno by 1 % % Used for \float. \gdef\chaplevelprefix{\the\chapno.}% \resetallfloatnos % % \putwordChapter can contain complex things in translations. \toks0=\expandafter{\putwordChapter}% \message{\the\toks0 \space \the\chapno}% % % Write the actual heading. \chapmacro{#1}{Ynumbered}{\the\chapno}% % % So @section and the like are numbered underneath this chapter. \global\let\section = \numberedsec \global\let\subsection = \numberedsubsec \global\let\subsubsection = \numberedsubsubsec } \outer\parseargdef\appendix{\apphead0{#1}} % normally calls appendixzzz % \def\appendixzzz#1{% \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 \global\advance\appendixno by 1 \gdef\chaplevelprefix{\appendixletter.}% \resetallfloatnos % % \putwordAppendix can contain complex things in translations. \toks0=\expandafter{\putwordAppendix}% \message{\the\toks0 \space \appendixletter}% % \chapmacro{#1}{Yappendix}{\appendixletter}% % \global\let\section = \appendixsec \global\let\subsection = \appendixsubsec \global\let\subsubsection = \appendixsubsubsec } \outer\parseargdef\unnumbered{\unnmhead0{#1}} % normally unnmhead0 calls unnumberedzzz \def\unnumberedzzz#1{% \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 \global\advance\unnumberedno by 1 % % Since an unnumbered has no number, no prefix for figures. \global\let\chaplevelprefix = \empty \resetallfloatnos % % This used to be simply \message{#1}, but TeX fully expands the % argument to \message. Therefore, if #1 contained @-commands, TeX % expanded them. For example, in `@unnumbered The @cite{Book}', TeX % expanded @cite (which turns out to cause errors because \cite is meant % to be executed, not expanded). % % Anyway, we don't want the fully-expanded definition of @cite to appear % as a result of the \message, we just want `@cite' itself. We use % \the to achieve this: TeX expands \the only once, % simply yielding the contents of . (We also do this for % the toc entries.) \toks0 = {#1}% \message{(\the\toks0)}% % \chapmacro{#1}{Ynothing}{\the\unnumberedno}% % \global\let\section = \unnumberedsec \global\let\subsection = \unnumberedsubsec \global\let\subsubsection = \unnumberedsubsubsec } % @centerchap is like @unnumbered, but the heading is centered. \outer\parseargdef\centerchap{% % Well, we could do the following in a group, but that would break % an assumption that \chapmacro is called at the outermost level. % Thus we are safer this way: --kasal, 24feb04 \let\centerparametersmaybe = \centerparameters \unnmhead0{#1}% \let\centerparametersmaybe = \relax } % @top is like @unnumbered. \let\top\unnumbered % Sections. \outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz \def\seczzz#1{% \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 \sectionheading{#1}{sec}{Ynumbered}{\the\chapno.\the\secno}% } \outer\parseargdef\appendixsection{\apphead1{#1}} % normally calls appendixsectionzzz \def\appendixsectionzzz#1{% \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 \sectionheading{#1}{sec}{Yappendix}{\appendixletter.\the\secno}% } \let\appendixsec\appendixsection \outer\parseargdef\unnumberedsec{\unnmhead1{#1}} % normally calls unnumberedseczzz \def\unnumberedseczzz#1{% \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 \sectionheading{#1}{sec}{Ynothing}{\the\unnumberedno.\the\secno}% } % Subsections. \outer\parseargdef\numberedsubsec{\numhead2{#1}} % normally calls numberedsubseczzz \def\numberedsubseczzz#1{% \global\subsubsecno=0 \global\advance\subsecno by 1 \sectionheading{#1}{subsec}{Ynumbered}{\the\chapno.\the\secno.\the\subsecno}% } \outer\parseargdef\appendixsubsec{\apphead2{#1}} % normally calls appendixsubseczzz \def\appendixsubseczzz#1{% \global\subsubsecno=0 \global\advance\subsecno by 1 \sectionheading{#1}{subsec}{Yappendix}% {\appendixletter.\the\secno.\the\subsecno}% } \outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}} %normally calls unnumberedsubseczzz \def\unnumberedsubseczzz#1{% \global\subsubsecno=0 \global\advance\subsecno by 1 \sectionheading{#1}{subsec}{Ynothing}% {\the\unnumberedno.\the\secno.\the\subsecno}% } % Subsubsections. \outer\parseargdef\numberedsubsubsec{\numhead3{#1}} % normally numberedsubsubseczzz \def\numberedsubsubseczzz#1{% \global\advance\subsubsecno by 1 \sectionheading{#1}{subsubsec}{Ynumbered}% {\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno}% } \outer\parseargdef\appendixsubsubsec{\apphead3{#1}} % normally appendixsubsubseczzz \def\appendixsubsubseczzz#1{% \global\advance\subsubsecno by 1 \sectionheading{#1}{subsubsec}{Yappendix}% {\appendixletter.\the\secno.\the\subsecno.\the\subsubsecno}% } \outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}} %normally unnumberedsubsubseczzz \def\unnumberedsubsubseczzz#1{% \global\advance\subsubsecno by 1 \sectionheading{#1}{subsubsec}{Ynothing}% {\the\unnumberedno.\the\secno.\the\subsecno.\the\subsubsecno}% } % These macros control what the section commands do, according % to what kind of chapter we are in (ordinary, appendix, or unnumbered). % Define them by default for a numbered chapter. \let\section = \numberedsec \let\subsection = \numberedsubsec \let\subsubsection = \numberedsubsubsec % Define @majorheading, @heading and @subheading % NOTE on use of \vbox for chapter headings, section headings, and such: % 1) We use \vbox rather than the earlier \line to permit % overlong headings to fold. % 2) \hyphenpenalty is set to 10000 because hyphenation in a % heading is obnoxious; this forbids it. % 3) Likewise, headings look best if no \parindent is used, and % if justification is not attempted. Hence \raggedright. \def\majorheading{% {\advance\chapheadingskip by 10pt \chapbreak }% \parsearg\chapheadingzzz } \def\chapheading{\chapbreak \parsearg\chapheadingzzz} \def\chapheadingzzz#1{% {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 \parindent=0pt\ptexraggedright \rmisbold #1\hfill}}% \bigskip \par\penalty 200\relax \suppressfirstparagraphindent } % @heading, @subheading, @subsubheading. \parseargdef\heading{\sectionheading{#1}{sec}{Yomitfromtoc}{} \suppressfirstparagraphindent} \parseargdef\subheading{\sectionheading{#1}{subsec}{Yomitfromtoc}{} \suppressfirstparagraphindent} \parseargdef\subsubheading{\sectionheading{#1}{subsubsec}{Yomitfromtoc}{} \suppressfirstparagraphindent} % These macros generate a chapter, section, etc. heading only % (including whitespace, linebreaking, etc. around it), % given all the information in convenient, parsed form. %%% Args are the skip and penalty (usually negative) \def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi} %%% Define plain chapter starts, and page on/off switching for it % Parameter controlling skip before chapter headings (if needed) \newskip\chapheadingskip \def\chapbreak{\dobreak \chapheadingskip {-4000}} \def\chappager{\par\vfill\supereject} % Because \domark is called before \chapoddpage, the filler page will % get the headings for the next chapter, which is wrong. But we don't % care -- we just disable all headings on the filler page. \def\chapoddpage{% \chappager \ifodd\pageno \else \begingroup \headingsoff \null \chappager \endgroup \fi } \def\setchapternewpage #1 {\csname CHAPPAG#1\endcsname} \def\CHAPPAGoff{% \global\let\contentsalignmacro = \chappager \global\let\pchapsepmacro=\chapbreak \global\let\pagealignmacro=\chappager} \def\CHAPPAGon{% \global\let\contentsalignmacro = \chappager \global\let\pchapsepmacro=\chappager \global\let\pagealignmacro=\chappager \global\def\HEADINGSon{\HEADINGSsingle}} \def\CHAPPAGodd{% \global\let\contentsalignmacro = \chapoddpage \global\let\pchapsepmacro=\chapoddpage \global\let\pagealignmacro=\chapoddpage \global\def\HEADINGSon{\HEADINGSdouble}} \CHAPPAGon % Chapter opening. % % #1 is the text, #2 is the section type (Ynumbered, Ynothing, % Yappendix, Yomitfromtoc), #3 the chapter number. % % To test against our argument. \def\Ynothingkeyword{Ynothing} \def\Yomitfromtockeyword{Yomitfromtoc} \def\Yappendixkeyword{Yappendix} % \def\chapmacro#1#2#3{% % Insert the first mark before the heading break (see notes for \domark). \let\prevchapterdefs=\lastchapterdefs \let\prevsectiondefs=\lastsectiondefs \gdef\lastsectiondefs{\gdef\thissectionname{}\gdef\thissectionnum{}% \gdef\thissection{}}% % \def\temptype{#2}% \ifx\temptype\Ynothingkeyword \gdef\lastchapterdefs{\gdef\thischaptername{#1}\gdef\thischapternum{}% \gdef\thischapter{\thischaptername}}% \else\ifx\temptype\Yomitfromtockeyword \gdef\lastchapterdefs{\gdef\thischaptername{#1}\gdef\thischapternum{}% \gdef\thischapter{}}% \else\ifx\temptype\Yappendixkeyword \toks0={#1}% \xdef\lastchapterdefs{% \gdef\noexpand\thischaptername{\the\toks0}% \gdef\noexpand\thischapternum{\appendixletter}% % \noexpand\putwordAppendix avoids expanding indigestible % commands in some of the translations. \gdef\noexpand\thischapter{\noexpand\putwordAppendix{} \noexpand\thischapternum: \noexpand\thischaptername}% }% \else \toks0={#1}% \xdef\lastchapterdefs{% \gdef\noexpand\thischaptername{\the\toks0}% \gdef\noexpand\thischapternum{\the\chapno}% % \noexpand\putwordChapter avoids expanding indigestible % commands in some of the translations. \gdef\noexpand\thischapter{\noexpand\putwordChapter{} \noexpand\thischapternum: \noexpand\thischaptername}% }% \fi\fi\fi % % Output the mark. Pass it through \safewhatsit, to take care of % the preceding space. \safewhatsit\domark % % Insert the chapter heading break. \pchapsepmacro % % Now the second mark, after the heading break. No break points % between here and the heading. \let\prevchapterdefs=\lastchapterdefs \let\prevsectiondefs=\lastsectiondefs \domark % {% \chapfonts \rmisbold % % Have to define \lastsection before calling \donoderef, because the % xref code eventually uses it. On the other hand, it has to be called % after \pchapsepmacro, or the headline will change too soon. \gdef\lastsection{#1}% % % Only insert the separating space if we have a chapter/appendix % number, and don't print the unnumbered ``number''. \ifx\temptype\Ynothingkeyword \setbox0 = \hbox{}% \def\toctype{unnchap}% \else\ifx\temptype\Yomitfromtockeyword \setbox0 = \hbox{}% contents like unnumbered, but no toc entry \def\toctype{omit}% \else\ifx\temptype\Yappendixkeyword \setbox0 = \hbox{\putwordAppendix{} #3\enspace}% \def\toctype{app}% \else \setbox0 = \hbox{#3\enspace}% \def\toctype{numchap}% \fi\fi\fi % % Write the toc entry for this chapter. Must come before the % \donoderef, because we include the current node name in the toc % entry, and \donoderef resets it to empty. \writetocentry{\toctype}{#1}{#3}% % % For pdftex, we have to write out the node definition (aka, make % the pdfdest) after any page break, but before the actual text has % been typeset. If the destination for the pdf outline is after the % text, then jumping from the outline may wind up with the text not % being visible, for instance under high magnification. \donoderef{#2}% % % Typeset the actual heading. \nobreak % Avoid page breaks at the interline glue. \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \ptexraggedright \hangindent=\wd0 \centerparametersmaybe \unhbox0 #1\par}% }% \nobreak\bigskip % no page break after a chapter title \nobreak } % @centerchap -- centered and unnumbered. \let\centerparametersmaybe = \relax \def\centerparameters{% \advance\rightskip by 3\rightskip \leftskip = \rightskip \parfillskip = 0pt } % I don't think this chapter style is supported any more, so I'm not % updating it with the new noderef stuff. We'll see. --karl, 11aug03. % \def\setchapterstyle #1 {\csname CHAPF#1\endcsname} % \def\unnchfopen #1{% \chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 \parindent=0pt\ptexraggedright \rmisbold #1\hfill}}\bigskip \par\nobreak } \def\chfopen #1#2{\chapoddpage {\chapfonts \vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}% \par\penalty 5000 % } \def\centerchfopen #1{% \chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 \parindent=0pt \hfill {\rmisbold #1}\hfill}}\bigskip \par\nobreak } \def\CHAPFopen{% \global\let\chapmacro=\chfopen \global\let\centerchapmacro=\centerchfopen} % Section titles. These macros combine the section number parts and % call the generic \sectionheading to do the printing. % \newskip\secheadingskip \def\secheadingbreak{\dobreak \secheadingskip{-1000}} % Subsection titles. \newskip\subsecheadingskip \def\subsecheadingbreak{\dobreak \subsecheadingskip{-500}} % Subsubsection titles. \def\subsubsecheadingskip{\subsecheadingskip} \def\subsubsecheadingbreak{\subsecheadingbreak} % Print any size, any type, section title. % % #1 is the text, #2 is the section level (sec/subsec/subsubsec), #3 is % the section type for xrefs (Ynumbered, Ynothing, Yappendix), #4 is the % section number. % \def\seckeyword{sec} % \def\sectionheading#1#2#3#4{% {% % Switch to the right set of fonts. \csname #2fonts\endcsname \rmisbold % \def\sectionlevel{#2}% \def\temptype{#3}% % % Insert first mark before the heading break (see notes for \domark). \let\prevsectiondefs=\lastsectiondefs \ifx\temptype\Ynothingkeyword \ifx\sectionlevel\seckeyword \gdef\lastsectiondefs{\gdef\thissectionname{#1}\gdef\thissectionnum{}% \gdef\thissection{\thissectionname}}% \fi \else\ifx\temptype\Yomitfromtockeyword % Don't redefine \thissection. \else\ifx\temptype\Yappendixkeyword \ifx\sectionlevel\seckeyword \toks0={#1}% \xdef\lastsectiondefs{% \gdef\noexpand\thissectionname{\the\toks0}% \gdef\noexpand\thissectionnum{#4}% % \noexpand\putwordSection avoids expanding indigestible % commands in some of the translations. \gdef\noexpand\thissection{\noexpand\putwordSection{} \noexpand\thissectionnum: \noexpand\thissectionname}% }% \fi \else \ifx\sectionlevel\seckeyword \toks0={#1}% \xdef\lastsectiondefs{% \gdef\noexpand\thissectionname{\the\toks0}% \gdef\noexpand\thissectionnum{#4}% % \noexpand\putwordSection avoids expanding indigestible % commands in some of the translations. \gdef\noexpand\thissection{\noexpand\putwordSection{} \noexpand\thissectionnum: \noexpand\thissectionname}% }% \fi \fi\fi\fi % % Go into vertical mode. Usually we'll already be there, but we % don't want the following whatsit to end up in a preceding paragraph % if the document didn't happen to have a blank line. \par % % Output the mark. Pass it through \safewhatsit, to take care of % the preceding space. \safewhatsit\domark % % Insert space above the heading. \csname #2headingbreak\endcsname % % Now the second mark, after the heading break. No break points % between here and the heading. \let\prevsectiondefs=\lastsectiondefs \domark % % Only insert the space after the number if we have a section number. \ifx\temptype\Ynothingkeyword \setbox0 = \hbox{}% \def\toctype{unn}% \gdef\lastsection{#1}% \else\ifx\temptype\Yomitfromtockeyword % for @headings -- no section number, don't include in toc, % and don't redefine \lastsection. \setbox0 = \hbox{}% \def\toctype{omit}% \let\sectionlevel=\empty \else\ifx\temptype\Yappendixkeyword \setbox0 = \hbox{#4\enspace}% \def\toctype{app}% \gdef\lastsection{#1}% \else \setbox0 = \hbox{#4\enspace}% \def\toctype{num}% \gdef\lastsection{#1}% \fi\fi\fi % % Write the toc entry (before \donoderef). See comments in \chapmacro. \writetocentry{\toctype\sectionlevel}{#1}{#4}% % % Write the node reference (= pdf destination for pdftex). % Again, see comments in \chapmacro. \donoderef{#3}% % % Interline glue will be inserted when the vbox is completed. % That glue will be a valid breakpoint for the page, since it'll be % preceded by a whatsit (usually from the \donoderef, or from the % \writetocentry if there was no node). We don't want to allow that % break, since then the whatsits could end up on page n while the % section is on page n+1, thus toc/etc. are wrong. Debian bug 276000. \nobreak % % Output the actual section heading. \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \ptexraggedright \hangindent=\wd0 % zero if no section number \unhbox0 #1}% }% % Add extra space after the heading -- half of whatever came above it. % Don't allow stretch, though. \kern .5 \csname #2headingskip\endcsname % % Do not let the kern be a potential breakpoint, as it would be if it % was followed by glue. \nobreak % % We'll almost certainly start a paragraph next, so don't let that % glue accumulate. (Not a breakpoint because it's preceded by a % discardable item.) \vskip-\parskip % % This is purely so the last item on the list is a known \penalty > % 10000. This is so \startdefun can avoid allowing breakpoints after % section headings. Otherwise, it would insert a valid breakpoint between: % % @section sec-whatever % @deffn def-whatever \penalty 10001 } \message{toc,} % Table of contents. \newwrite\tocfile % Write an entry to the toc file, opening it if necessary. % Called from @chapter, etc. % % Example usage: \writetocentry{sec}{Section Name}{\the\chapno.\the\secno} % We append the current node name (if any) and page number as additional % arguments for the \{chap,sec,...}entry macros which will eventually % read this. The node name is used in the pdf outlines as the % destination to jump to. % % We open the .toc file for writing here instead of at @setfilename (or % any other fixed time) so that @contents can be anywhere in the document. % But if #1 is `omit', then we don't do anything. This is used for the % table of contents chapter openings themselves. % \newif\iftocfileopened \def\omitkeyword{omit}% % \def\writetocentry#1#2#3{% \edef\writetoctype{#1}% \ifx\writetoctype\omitkeyword \else \iftocfileopened\else \immediate\openout\tocfile = \jobname.toc \global\tocfileopenedtrue \fi % \iflinks {\atdummies \edef\temp{% \write\tocfile{@#1entry{#2}{#3}{\lastnode}{\noexpand\folio}}}% \temp }% \fi \fi % % Tell \shipout to create a pdf destination on each page, if we're % writing pdf. These are used in the table of contents. We can't % just write one on every page because the title pages are numbered % 1 and 2 (the page numbers aren't printed), and so are the first % two pages of the document. Thus, we'd have two destinations named % `1', and two named `2'. \ifpdf \global\pdfmakepagedesttrue \fi } % These characters do not print properly in the Computer Modern roman % fonts, so we must take special care. This is more or less redundant % with the Texinfo input format setup at the end of this file. % \def\activecatcodes{% \catcode`\"=\active \catcode`\$=\active \catcode`\<=\active \catcode`\>=\active \catcode`\\=\active \catcode`\^=\active \catcode`\_=\active \catcode`\|=\active \catcode`\~=\active } % Read the toc file, which is essentially Texinfo input. \def\readtocfile{% \setupdatafile \activecatcodes \input \tocreadfilename } \newskip\contentsrightmargin \contentsrightmargin=1in \newcount\savepageno \newcount\lastnegativepageno \lastnegativepageno = -1 % Prepare to read what we've written to \tocfile. % \def\startcontents#1{% % If @setchapternewpage on, and @headings double, the contents should % start on an odd page, unlike chapters. Thus, we maintain % \contentsalignmacro in parallel with \pagealignmacro. % From: Torbjorn Granlund \contentsalignmacro \immediate\closeout\tocfile % % Don't need to put `Contents' or `Short Contents' in the headline. % It is abundantly clear what they are. \chapmacro{#1}{Yomitfromtoc}{}% % \savepageno = \pageno \begingroup % Set up to handle contents files properly. \raggedbottom % Worry more about breakpoints than the bottom. \advance\hsize by -\contentsrightmargin % Don't use the full line length. % % Roman numerals for page numbers. \ifnum \pageno>0 \global\pageno = \lastnegativepageno \fi } % redefined for the two-volume lispref. We always output on % \jobname.toc even if this is redefined. % \def\tocreadfilename{\jobname.toc} % Normal (long) toc. % \def\contents{% \startcontents{\putwordTOC}% \openin 1 \tocreadfilename\space \ifeof 1 \else \readtocfile \fi \vfill \eject \contentsalignmacro % in case @setchapternewpage odd is in effect \ifeof 1 \else \pdfmakeoutlines \fi \closein 1 \endgroup \lastnegativepageno = \pageno \global\pageno = \savepageno } % And just the chapters. \def\summarycontents{% \startcontents{\putwordShortTOC}% % \let\partentry = \shortpartentry \let\numchapentry = \shortchapentry \let\appentry = \shortchapentry \let\unnchapentry = \shortunnchapentry % We want a true roman here for the page numbers. \secfonts \let\rm=\shortcontrm \let\bf=\shortcontbf \let\sl=\shortcontsl \let\tt=\shortconttt \rm \hyphenpenalty = 10000 \advance\baselineskip by 1pt % Open it up a little. \def\numsecentry##1##2##3##4{} \let\appsecentry = \numsecentry \let\unnsecentry = \numsecentry \let\numsubsecentry = \numsecentry \let\appsubsecentry = \numsecentry \let\unnsubsecentry = \numsecentry \let\numsubsubsecentry = \numsecentry \let\appsubsubsecentry = \numsecentry \let\unnsubsubsecentry = \numsecentry \openin 1 \tocreadfilename\space \ifeof 1 \else \readtocfile \fi \closein 1 \vfill \eject \contentsalignmacro % in case @setchapternewpage odd is in effect \endgroup \lastnegativepageno = \pageno \global\pageno = \savepageno } \let\shortcontents = \summarycontents % Typeset the label for a chapter or appendix for the short contents. % The arg is, e.g., `A' for an appendix, or `3' for a chapter. % \def\shortchaplabel#1{% % This space should be enough, since a single number is .5em, and the % widest letter (M) is 1em, at least in the Computer Modern fonts. % But use \hss just in case. % (This space doesn't include the extra space that gets added after % the label; that gets put in by \shortchapentry above.) % % We'd like to right-justify chapter numbers, but that looks strange % with appendix letters. And right-justifying numbers and % left-justifying letters looks strange when there is less than 10 % chapters. Have to read the whole toc once to know how many chapters % there are before deciding ... \hbox to 1em{#1\hss}% } % These macros generate individual entries in the table of contents. % The first argument is the chapter or section name. % The last argument is the page number. % The arguments in between are the chapter number, section number, ... % Parts, in the main contents. Replace the part number, which doesn't % exist, with an empty box. Let's hope all the numbers have the same width. % Also ignore the page number, which is conventionally not printed. \def\numeralbox{\setbox0=\hbox{8}\hbox to \wd0{\hfil}} \def\partentry#1#2#3#4{\dochapentry{\numeralbox\labelspace#1}{}} % % Parts, in the short toc. \def\shortpartentry#1#2#3#4{% \penalty-300 \vskip.5\baselineskip plus.15\baselineskip minus.1\baselineskip \shortchapentry{{\bf #1}}{\numeralbox}{}{}% } % Chapters, in the main contents. \def\numchapentry#1#2#3#4{\dochapentry{#2\labelspace#1}{#4}} % % Chapters, in the short toc. % See comments in \dochapentry re vbox and related settings. \def\shortchapentry#1#2#3#4{% \tocentry{\shortchaplabel{#2}\labelspace #1}{\doshortpageno\bgroup#4\egroup}% } % Appendices, in the main contents. % Need the word Appendix, and a fixed-size box. % \def\appendixbox#1{% % We use M since it's probably the widest letter. \setbox0 = \hbox{\putwordAppendix{} M}% \hbox to \wd0{\putwordAppendix{} #1\hss}} % \def\appentry#1#2#3#4{\dochapentry{\appendixbox{#2}\labelspace#1}{#4}} % Unnumbered chapters. \def\unnchapentry#1#2#3#4{\dochapentry{#1}{#4}} \def\shortunnchapentry#1#2#3#4{\tocentry{#1}{\doshortpageno\bgroup#4\egroup}} % Sections. \def\numsecentry#1#2#3#4{\dosecentry{#2\labelspace#1}{#4}} \let\appsecentry=\numsecentry \def\unnsecentry#1#2#3#4{\dosecentry{#1}{#4}} % Subsections. \def\numsubsecentry#1#2#3#4{\dosubsecentry{#2\labelspace#1}{#4}} \let\appsubsecentry=\numsubsecentry \def\unnsubsecentry#1#2#3#4{\dosubsecentry{#1}{#4}} % And subsubsections. \def\numsubsubsecentry#1#2#3#4{\dosubsubsecentry{#2\labelspace#1}{#4}} \let\appsubsubsecentry=\numsubsubsecentry \def\unnsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{#4}} % This parameter controls the indentation of the various levels. % Same as \defaultparindent. \newdimen\tocindent \tocindent = 15pt % Now for the actual typesetting. In all these, #1 is the text and #2 is the % page number. % % If the toc has to be broken over pages, we want it to be at chapters % if at all possible; hence the \penalty. \def\dochapentry#1#2{% \penalty-300 \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip \begingroup \chapentryfonts \tocentry{#1}{\dopageno\bgroup#2\egroup}% \endgroup \nobreak\vskip .25\baselineskip plus.1\baselineskip } \def\dosecentry#1#2{\begingroup \secentryfonts \leftskip=\tocindent \tocentry{#1}{\dopageno\bgroup#2\egroup}% \endgroup} \def\dosubsecentry#1#2{\begingroup \subsecentryfonts \leftskip=2\tocindent \tocentry{#1}{\dopageno\bgroup#2\egroup}% \endgroup} \def\dosubsubsecentry#1#2{\begingroup \subsubsecentryfonts \leftskip=3\tocindent \tocentry{#1}{\dopageno\bgroup#2\egroup}% \endgroup} % We use the same \entry macro as for the index entries. \let\tocentry = \entry % Space between chapter (or whatever) number and the title. \def\labelspace{\hskip1em \relax} \def\dopageno#1{{\rm #1}} \def\doshortpageno#1{{\rm #1}} \def\chapentryfonts{\secfonts \rm} \def\secentryfonts{\textfonts} \def\subsecentryfonts{\textfonts} \def\subsubsecentryfonts{\textfonts} \message{environments,} % @foo ... @end foo. % @tex ... @end tex escapes into raw TeX temporarily. % One exception: @ is still an escape character, so that @end tex works. % But \@ or @@ will get a plain @ character. \envdef\tex{% \setupmarkupstyle{tex}% \catcode `\\=0 \catcode `\{=1 \catcode `\}=2 \catcode `\$=3 \catcode `\&=4 \catcode `\#=6 \catcode `\^=7 \catcode `\_=8 \catcode `\~=\active \let~=\tie \catcode `\%=14 \catcode `\+=\other \catcode `\"=\other \catcode `\|=\other \catcode `\<=\other \catcode `\>=\other \catcode`\`=\other \catcode`\'=\other \escapechar=`\\ % % ' is active in math mode (mathcode"8000). So reset it, and all our % other math active characters (just in case), to plain's definitions. \mathactive % \let\b=\ptexb \let\bullet=\ptexbullet \let\c=\ptexc \let\,=\ptexcomma \let\.=\ptexdot \let\dots=\ptexdots \let\equiv=\ptexequiv \let\!=\ptexexclam \let\i=\ptexi \let\indent=\ptexindent \let\noindent=\ptexnoindent \let\{=\ptexlbrace \let\+=\tabalign \let\}=\ptexrbrace \let\/=\ptexslash \let\*=\ptexstar \let\t=\ptext \expandafter \let\csname top\endcsname=\ptextop % outer \let\frenchspacing=\plainfrenchspacing % \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}% \def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}% \def\@{@}% } % There is no need to define \Etex. % Define @lisp ... @end lisp. % @lisp environment forms a group so it can rebind things, % including the definition of @end lisp (which normally is erroneous). % Amount to narrow the margins by for @lisp. \newskip\lispnarrowing \lispnarrowing=0.4in % This is the definition that ^^M gets inside @lisp, @example, and other % such environments. \null is better than a space, since it doesn't % have any width. \def\lisppar{\null\endgraf} % This space is always present above and below environments. \newskip\envskipamount \envskipamount = 0pt % Make spacing and below environment symmetrical. We use \parskip here % to help in doing that, since in @example-like environments \parskip % is reset to zero; thus the \afterenvbreak inserts no space -- but the % start of the next paragraph will insert \parskip. % \def\aboveenvbreak{{% % =10000 instead of <10000 because of a special case in \itemzzz and % \sectionheading, q.v. \ifnum \lastpenalty=10000 \else \advance\envskipamount by \parskip \endgraf \ifdim\lastskip<\envskipamount \removelastskip % it's not a good place to break if the last penalty was \nobreak % or better ... \ifnum\lastpenalty<10000 \penalty-50 \fi \vskip\envskipamount \fi \fi }} \let\afterenvbreak = \aboveenvbreak % \nonarrowing is a flag. If "set", @lisp etc don't narrow margins; it will % also clear it, so that its embedded environments do the narrowing again. \let\nonarrowing=\relax % @cartouche ... @end cartouche: draw rectangle w/rounded corners around % environment contents. \font\circle=lcircle10 \newdimen\circthick \newdimen\cartouter\newdimen\cartinner \newskip\normbskip\newskip\normpskip\newskip\normlskip \circthick=\fontdimen8\circle % \def\ctl{{\circle\char'013\hskip -6pt}}% 6pt from pl file: 1/2charwidth \def\ctr{{\hskip 6pt\circle\char'010}} \def\cbl{{\circle\char'012\hskip -6pt}} \def\cbr{{\hskip 6pt\circle\char'011}} \def\carttop{\hbox to \cartouter{\hskip\lskip \ctl\leaders\hrule height\circthick\hfil\ctr \hskip\rskip}} \def\cartbot{\hbox to \cartouter{\hskip\lskip \cbl\leaders\hrule height\circthick\hfil\cbr \hskip\rskip}} % \newskip\lskip\newskip\rskip \envdef\cartouche{% \ifhmode\par\fi % can't be in the midst of a paragraph. \startsavinginserts \lskip=\leftskip \rskip=\rightskip \leftskip=0pt\rightskip=0pt % we want these *outside*. \cartinner=\hsize \advance\cartinner by-\lskip \advance\cartinner by-\rskip \cartouter=\hsize \advance\cartouter by 18.4pt % allow for 3pt kerns on either % side, and for 6pt waste from % each corner char, and rule thickness \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip % Flag to tell @lisp, etc., not to narrow margin. \let\nonarrowing = t% \vbox\bgroup \baselineskip=0pt\parskip=0pt\lineskip=0pt \carttop \hbox\bgroup \hskip\lskip \vrule\kern3pt \vbox\bgroup \kern3pt \hsize=\cartinner \baselineskip=\normbskip \lineskip=\normlskip \parskip=\normpskip \vskip -\parskip \comment % For explanation, see the end of \def\group. } \def\Ecartouche{% \ifhmode\par\fi \kern3pt \egroup \kern3pt\vrule \hskip\rskip \egroup \cartbot \egroup \checkinserts } % This macro is called at the beginning of all the @example variants, % inside a group. \newdimen\nonfillparindent \def\nonfillstart{% \aboveenvbreak \hfuzz = 12pt % Don't be fussy \sepspaces % Make spaces be word-separators rather than space tokens. \let\par = \lisppar % don't ignore blank lines \obeylines % each line of input is a line of output \parskip = 0pt % Turn off paragraph indentation but redefine \indent to emulate % the normal \indent. \nonfillparindent=\parindent \parindent = 0pt \let\indent\nonfillindent % \emergencystretch = 0pt % don't try to avoid overfull boxes \ifx\nonarrowing\relax \advance \leftskip by \lispnarrowing \exdentamount=\lispnarrowing \else \let\nonarrowing = \relax \fi \let\exdent=\nofillexdent } \begingroup \obeyspaces % We want to swallow spaces (but not other tokens) after the fake % @indent in our nonfill-environments, where spaces are normally % active and set to @tie, resulting in them not being ignored after % @indent. \gdef\nonfillindent{\futurelet\temp\nonfillindentcheck}% \gdef\nonfillindentcheck{% \ifx\temp % \expandafter\nonfillindentgobble% \else% \leavevmode\nonfillindentbox% \fi% }% \endgroup \def\nonfillindentgobble#1{\nonfillindent} \def\nonfillindentbox{\hbox to \nonfillparindent{\hss}} % If you want all examples etc. small: @set dispenvsize small. % If you want even small examples the full size: @set dispenvsize nosmall. % This affects the following displayed environments: % @example, @display, @format, @lisp % \def\smallword{small} \def\nosmallword{nosmall} \let\SETdispenvsize\relax \def\setnormaldispenv{% \ifx\SETdispenvsize\smallword % end paragraph for sake of leading, in case document has no blank % line. This is redundant with what happens in \aboveenvbreak, but % we need to do it before changing the fonts, and it's inconvenient % to change the fonts afterward. \ifnum \lastpenalty=10000 \else \endgraf \fi \smallexamplefonts \rm \fi } \def\setsmalldispenv{% \ifx\SETdispenvsize\nosmallword \else \ifnum \lastpenalty=10000 \else \endgraf \fi \smallexamplefonts \rm \fi } % We often define two environments, @foo and @smallfoo. % Let's do it in one command. #1 is the env name, #2 the definition. \def\makedispenvdef#1#2{% \expandafter\envdef\csname#1\endcsname {\setnormaldispenv #2}% \expandafter\envdef\csname small#1\endcsname {\setsmalldispenv #2}% \expandafter\let\csname E#1\endcsname \afterenvbreak \expandafter\let\csname Esmall#1\endcsname \afterenvbreak } % Define two environment synonyms (#1 and #2) for an environment. \def\maketwodispenvdef#1#2#3{% \makedispenvdef{#1}{#3}% \makedispenvdef{#2}{#3}% } % % @lisp: indented, narrowed, typewriter font; % @example: same as @lisp. % % @smallexample and @smalllisp: use smaller fonts. % Originally contributed by Pavel@xerox. % \maketwodispenvdef{lisp}{example}{% \nonfillstart \tt\setupmarkupstyle{example}% \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special. \gobble % eat return } % @display/@smalldisplay: same as @lisp except keep current font. % \makedispenvdef{display}{% \nonfillstart \gobble } % @format/@smallformat: same as @display except don't narrow margins. % \makedispenvdef{format}{% \let\nonarrowing = t% \nonfillstart \gobble } % @flushleft: same as @format, but doesn't obey \SETdispenvsize. \envdef\flushleft{% \let\nonarrowing = t% \nonfillstart \gobble } \let\Eflushleft = \afterenvbreak % @flushright. % \envdef\flushright{% \let\nonarrowing = t% \nonfillstart \advance\leftskip by 0pt plus 1fill\relax \gobble } \let\Eflushright = \afterenvbreak % @raggedright does more-or-less normal line breaking but no right % justification. From plain.tex. \envdef\raggedright{% \rightskip0pt plus2em \spaceskip.3333em \xspaceskip.5em\relax } \let\Eraggedright\par \envdef\raggedleft{% \parindent=0pt \leftskip0pt plus2em \spaceskip.3333em \xspaceskip.5em \parfillskip=0pt \hbadness=10000 % Last line will usually be underfull, so turn off % badness reporting. } \let\Eraggedleft\par \envdef\raggedcenter{% \parindent=0pt \rightskip0pt plus1em \leftskip0pt plus1em \spaceskip.3333em \xspaceskip.5em \parfillskip=0pt \hbadness=10000 % Last line will usually be underfull, so turn off % badness reporting. } \let\Eraggedcenter\par % @quotation does normal linebreaking (hence we can't use \nonfillstart) % and narrows the margins. We keep \parskip nonzero in general, since % we're doing normal filling. So, when using \aboveenvbreak and % \afterenvbreak, temporarily make \parskip 0. % \makedispenvdef{quotation}{\quotationstart} % \def\quotationstart{% {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip \parindent=0pt % % @cartouche defines \nonarrowing to inhibit narrowing at next level down. \ifx\nonarrowing\relax \advance\leftskip by \lispnarrowing \advance\rightskip by \lispnarrowing \exdentamount = \lispnarrowing \else \let\nonarrowing = \relax \fi \parsearg\quotationlabel } % We have retained a nonzero parskip for the environment, since we're % doing normal filling. % \def\Equotation{% \par \ifx\quotationauthor\undefined\else % indent a bit. \leftline{\kern 2\leftskip \sl ---\quotationauthor}% \fi {\parskip=0pt \afterenvbreak}% } \def\Esmallquotation{\Equotation} % If we're given an argument, typeset it in bold with a colon after. \def\quotationlabel#1{% \def\temp{#1}% \ifx\temp\empty \else {\bf #1: }% \fi } % LaTeX-like @verbatim...@end verbatim and @verb{...} % If we want to allow any as delimiter, % we need the curly braces so that makeinfo sees the @verb command, eg: % `@verbx...x' would look like the '@verbx' command. --janneke@gnu.org % % [Knuth]: Donald Ervin Knuth, 1996. The TeXbook. % % [Knuth] p.344; only we need to do the other characters Texinfo sets % active too. Otherwise, they get lost as the first character on a % verbatim line. \def\dospecials{% \do\ \do\\\do\{\do\}\do\$\do\&% \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~% \do\<\do\>\do\|\do\@\do+\do\"% % Don't do the quotes -- if we do, @set txicodequoteundirected and % @set txicodequotebacktick will not have effect on @verb and % @verbatim, and ?` and !` ligatures won't get disabled. %\do\`\do\'% } % % [Knuth] p. 380 \def\uncatcodespecials{% \def\do##1{\catcode`##1=\other}\dospecials} % % Setup for the @verb command. % % Eight spaces for a tab \begingroup \catcode`\^^I=\active \gdef\tabeightspaces{\catcode`\^^I=\active\def^^I{\ \ \ \ \ \ \ \ }} \endgroup % \def\setupverb{% \tt % easiest (and conventionally used) font for verbatim \def\par{\leavevmode\endgraf}% \setupmarkupstyle{verb}% \tabeightspaces % Respect line breaks, % print special symbols as themselves, and % make each space count % must do in this order: \obeylines \uncatcodespecials \sepspaces } % Setup for the @verbatim environment % % Real tab expansion \newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount % \def\starttabbox{\setbox0=\hbox\bgroup} % \begingroup \catcode`\^^I=\active \gdef\tabexpand{% \catcode`\^^I=\active \def^^I{\leavevmode\egroup \dimen0=\wd0 % the width so far, or since the previous tab \divide\dimen0 by\tabw \multiply\dimen0 by\tabw % compute previous multiple of \tabw \advance\dimen0 by\tabw % advance to next multiple of \tabw \wd0=\dimen0 \box0 \starttabbox }% } \endgroup % start the verbatim environment. \def\setupverbatim{% \let\nonarrowing = t% \nonfillstart % Easiest (and conventionally used) font for verbatim \tt \def\par{\leavevmode\egroup\box0\endgraf}% \tabexpand \setupmarkupstyle{verbatim}% % Respect line breaks, % print special symbols as themselves, and % make each space count % must do in this order: \obeylines \uncatcodespecials \sepspaces \everypar{\starttabbox}% } % Do the @verb magic: verbatim text is quoted by unique % delimiter characters. Before first delimiter expect a % right brace, after last delimiter expect closing brace: % % \def\doverb'{'#1'}'{#1} % % [Knuth] p. 382; only eat outer {} \begingroup \catcode`[=1\catcode`]=2\catcode`\{=\other\catcode`\}=\other \gdef\doverb{#1[\def\next##1#1}[##1\endgroup]\next] \endgroup % \def\verb{\begingroup\setupverb\doverb} % % % Do the @verbatim magic: define the macro \doverbatim so that % the (first) argument ends when '@end verbatim' is reached, ie: % % \def\doverbatim#1@end verbatim{#1} % % For Texinfo it's a lot easier than for LaTeX, % because texinfo's \verbatim doesn't stop at '\end{verbatim}': % we need not redefine '\', '{' and '}'. % % Inspired by LaTeX's verbatim command set [latex.ltx] % \begingroup \catcode`\ =\active \obeylines % % ignore everything up to the first ^^M, that's the newline at the end % of the @verbatim input line itself. Otherwise we get an extra blank % line in the output. \xdef\doverbatim#1^^M#2@end verbatim{#2\noexpand\end\gobble verbatim}% % We really want {...\end verbatim} in the body of the macro, but % without the active space; thus we have to use \xdef and \gobble. \endgroup % \envdef\verbatim{% \setupverbatim\doverbatim } \let\Everbatim = \afterenvbreak % @verbatiminclude FILE - insert text of file in verbatim environment. % \def\verbatiminclude{\parseargusing\filenamecatcodes\doverbatiminclude} % \def\doverbatiminclude#1{% {% \makevalueexpandable \setupverbatim \indexnofonts % Allow `@@' and other weird things in file names. \input #1 \afterenvbreak }% } % @copying ... @end copying. % Save the text away for @insertcopying later. % % We save the uninterpreted tokens, rather than creating a box. % Saving the text in a box would be much easier, but then all the % typesetting commands (@smallbook, font changes, etc.) have to be done % beforehand -- and a) we want @copying to be done first in the source % file; b) letting users define the frontmatter in as flexible order as % possible is very desirable. % \def\copying{\checkenv{}\begingroup\scanargctxt\docopying} \def\docopying#1@end copying{\endgroup\def\copyingtext{#1}} % \def\insertcopying{% \begingroup \parindent = 0pt % paragraph indentation looks wrong on title page \scanexp\copyingtext \endgroup } \message{defuns,} % @defun etc. \newskip\defbodyindent \defbodyindent=.4in \newskip\defargsindent \defargsindent=50pt \newskip\deflastargmargin \deflastargmargin=18pt \newcount\defunpenalty % Start the processing of @deffn: \def\startdefun{% \ifnum\lastpenalty<10000 \medbreak \defunpenalty=10003 % Will keep this @deffn together with the % following @def command, see below. \else % If there are two @def commands in a row, we'll have a \nobreak, % which is there to keep the function description together with its % header. But if there's nothing but headers, we need to allow a % break somewhere. Check specifically for penalty 10002, inserted % by \printdefunline, instead of 10000, since the sectioning % commands also insert a nobreak penalty, and we don't want to allow % a break between a section heading and a defun. % % As a minor refinement, we avoid "club" headers by signalling % with penalty of 10003 after the very first @deffn in the % sequence (see above), and penalty of 10002 after any following % @def command. \ifnum\lastpenalty=10002 \penalty2000 \else \defunpenalty=10002 \fi % % Similarly, after a section heading, do not allow a break. % But do insert the glue. \medskip % preceded by discardable penalty, so not a breakpoint \fi % \parindent=0in \advance\leftskip by \defbodyindent \exdentamount=\defbodyindent } \def\dodefunx#1{% % First, check whether we are in the right environment: \checkenv#1% % % As above, allow line break if we have multiple x headers in a row. % It's not a great place, though. \ifnum\lastpenalty=10002 \penalty3000 \else \defunpenalty=10002 \fi % % And now, it's time to reuse the body of the original defun: \expandafter\gobbledefun#1% } \def\gobbledefun#1\startdefun{} % \printdefunline \deffnheader{text} % \def\printdefunline#1#2{% \begingroup % call \deffnheader: #1#2 \endheader % common ending: \interlinepenalty = 10000 \advance\rightskip by 0pt plus 1fil\relax \endgraf \nobreak\vskip -\parskip \penalty\defunpenalty % signal to \startdefun and \dodefunx % Some of the @defun-type tags do not enable magic parentheses, % rendering the following check redundant. But we don't optimize. \checkparencounts \endgroup } \def\Edefun{\endgraf\medbreak} % \makedefun{deffn} creates \deffn, \deffnx and \Edeffn; % the only thing remaining is to define \deffnheader. % \def\makedefun#1{% \expandafter\let\csname E#1\endcsname = \Edefun \edef\temp{\noexpand\domakedefun \makecsname{#1}\makecsname{#1x}\makecsname{#1header}}% \temp } % \domakedefun \deffn \deffnx \deffnheader % % Define \deffn and \deffnx, without parameters. % \deffnheader has to be defined explicitly. % \def\domakedefun#1#2#3{% \envdef#1{% \startdefun \parseargusing\activeparens{\printdefunline#3}% }% \def#2{\dodefunx#1}% \def#3% } %%% Untyped functions: % @deffn category name args \makedefun{deffn}{\deffngeneral{}} % @deffn category class name args \makedefun{defop}#1 {\defopon{#1\ \putwordon}} % \defopon {category on}class name args \def\defopon#1#2 {\deffngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} } % \deffngeneral {subind}category name args % \def\deffngeneral#1#2 #3 #4\endheader{% % Remember that \dosubind{fn}{foo}{} is equivalent to \doind{fn}{foo}. \dosubind{fn}{\code{#3}}{#1}% \defname{#2}{}{#3}\magicamp\defunargs{#4\unskip}% } %%% Typed functions: % @deftypefn category type name args \makedefun{deftypefn}{\deftypefngeneral{}} % @deftypeop category class type name args \makedefun{deftypeop}#1 {\deftypeopon{#1\ \putwordon}} % \deftypeopon {category on}class type name args \def\deftypeopon#1#2 {\deftypefngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} } % \deftypefngeneral {subind}category type name args % \def\deftypefngeneral#1#2 #3 #4 #5\endheader{% \dosubind{fn}{\code{#4}}{#1}% \defname{#2}{#3}{#4}\defunargs{#5\unskip}% } %%% Typed variables: % @deftypevr category type var args \makedefun{deftypevr}{\deftypecvgeneral{}} % @deftypecv category class type var args \makedefun{deftypecv}#1 {\deftypecvof{#1\ \putwordof}} % \deftypecvof {category of}class type var args \def\deftypecvof#1#2 {\deftypecvgeneral{\putwordof\ \code{#2}}{#1\ \code{#2}} } % \deftypecvgeneral {subind}category type var args % \def\deftypecvgeneral#1#2 #3 #4 #5\endheader{% \dosubind{vr}{\code{#4}}{#1}% \defname{#2}{#3}{#4}\defunargs{#5\unskip}% } %%% Untyped variables: % @defvr category var args \makedefun{defvr}#1 {\deftypevrheader{#1} {} } % @defcv category class var args \makedefun{defcv}#1 {\defcvof{#1\ \putwordof}} % \defcvof {category of}class var args \def\defcvof#1#2 {\deftypecvof{#1}#2 {} } %%% Type: % @deftp category name args \makedefun{deftp}#1 #2 #3\endheader{% \doind{tp}{\code{#2}}% \defname{#1}{}{#2}\defunargs{#3\unskip}% } % Remaining @defun-like shortcuts: \makedefun{defun}{\deffnheader{\putwordDeffunc} } \makedefun{defmac}{\deffnheader{\putwordDefmac} } \makedefun{defspec}{\deffnheader{\putwordDefspec} } \makedefun{deftypefun}{\deftypefnheader{\putwordDeffunc} } \makedefun{defvar}{\defvrheader{\putwordDefvar} } \makedefun{defopt}{\defvrheader{\putwordDefopt} } \makedefun{deftypevar}{\deftypevrheader{\putwordDefvar} } \makedefun{defmethod}{\defopon\putwordMethodon} \makedefun{deftypemethod}{\deftypeopon\putwordMethodon} \makedefun{defivar}{\defcvof\putwordInstanceVariableof} \makedefun{deftypeivar}{\deftypecvof\putwordInstanceVariableof} % \defname, which formats the name of the @def (not the args). % #1 is the category, such as "Function". % #2 is the return type, if any. % #3 is the function name. % % We are followed by (but not passed) the arguments, if any. % \def\defname#1#2#3{% % Get the values of \leftskip and \rightskip as they were outside the @def... \advance\leftskip by -\defbodyindent % % How we'll format the type name. Putting it in brackets helps % distinguish it from the body text that may end up on the next line % just below it. \def\temp{#1}% \setbox0=\hbox{\kern\deflastargmargin \ifx\temp\empty\else [\rm\temp]\fi} % % Figure out line sizes for the paragraph shape. % The first line needs space for \box0; but if \rightskip is nonzero, % we need only space for the part of \box0 which exceeds it: \dimen0=\hsize \advance\dimen0 by -\wd0 \advance\dimen0 by \rightskip % The continuations: \dimen2=\hsize \advance\dimen2 by -\defargsindent % (plain.tex says that \dimen1 should be used only as global.) \parshape 2 0in \dimen0 \defargsindent \dimen2 % % Put the type name to the right margin. \noindent \hbox to 0pt{% \hfil\box0 \kern-\hsize % \hsize has to be shortened this way: \kern\leftskip % Intentionally do not respect \rightskip, since we need the space. }% % % Allow all lines to be underfull without complaint: \tolerance=10000 \hbadness=10000 \exdentamount=\defbodyindent {% % defun fonts. We use typewriter by default (used to be bold) because: % . we're printing identifiers, they should be in tt in principle. % . in languages with many accents, such as Czech or French, it's % common to leave accents off identifiers. The result looks ok in % tt, but exceedingly strange in rm. % . we don't want -- and --- to be treated as ligatures. % . this still does not fix the ?` and !` ligatures, but so far no % one has made identifiers using them :). \df \tt \def\temp{#2}% return value type \ifx\temp\empty\else \tclose{\temp} \fi #3% output function name }% {\rm\enskip}% hskip 0.5 em of \tenrm % \boldbrax % arguments will be output next, if any. } % Print arguments in slanted roman (not ttsl), inconsistently with using % tt for the name. This is because literal text is sometimes needed in % the argument list (groff manual), and ttsl and tt are not very % distinguishable. Prevent hyphenation at `-' chars. % \def\defunargs#1{% % use sl by default (not ttsl), % tt for the names. \df \sl \hyphenchar\font=0 % % On the other hand, if an argument has two dashes (for instance), we % want a way to get ttsl. Let's try @var for that. \def\var##1{{\setupmarkupstyle{var}\ttslanted{##1}}}% #1% \sl\hyphenchar\font=45 } % We want ()&[] to print specially on the defun line. % \def\activeparens{% \catcode`\(=\active \catcode`\)=\active \catcode`\[=\active \catcode`\]=\active \catcode`\&=\active } % Make control sequences which act like normal parenthesis chars. \let\lparen = ( \let\rparen = ) % Be sure that we always have a definition for `(', etc. For example, % if the fn name has parens in it, \boldbrax will not be in effect yet, % so TeX would otherwise complain about undefined control sequence. { \activeparens \global\let(=\lparen \global\let)=\rparen \global\let[=\lbrack \global\let]=\rbrack \global\let& = \& \gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb} \gdef\magicamp{\let&=\amprm} } \newcount\parencount % If we encounter &foo, then turn on ()-hacking afterwards \newif\ifampseen \def\amprm#1 {\ampseentrue{\bf\ }} \def\parenfont{% \ifampseen % At the first level, print parens in roman, % otherwise use the default font. \ifnum \parencount=1 \rm \fi \else % The \sf parens (in \boldbrax) actually are a little bolder than % the contained text. This is especially needed for [ and ] . \sf \fi } \def\infirstlevel#1{% \ifampseen \ifnum\parencount=1 #1% \fi \fi } \def\bfafterword#1 {#1 \bf} \def\opnr{% \global\advance\parencount by 1 {\parenfont(}% \infirstlevel \bfafterword } \def\clnr{% {\parenfont)}% \infirstlevel \sl \global\advance\parencount by -1 } \newcount\brackcount \def\lbrb{% \global\advance\brackcount by 1 {\bf[}% } \def\rbrb{% {\bf]}% \global\advance\brackcount by -1 } \def\checkparencounts{% \ifnum\parencount=0 \else \badparencount \fi \ifnum\brackcount=0 \else \badbrackcount \fi } % these should not use \errmessage; the glibc manual, at least, actually % has such constructs (when documenting function pointers). \def\badparencount{% \message{Warning: unbalanced parentheses in @def...}% \global\parencount=0 } \def\badbrackcount{% \message{Warning: unbalanced square brackets in @def...}% \global\brackcount=0 } \message{macros,} % @macro. % To do this right we need a feature of e-TeX, \scantokens, % which we arrange to emulate with a temporary file in ordinary TeX. \ifx\eTeXversion\undefined \newwrite\macscribble \def\scantokens#1{% \toks0={#1}% \immediate\openout\macscribble=\jobname.tmp \immediate\write\macscribble{\the\toks0}% \immediate\closeout\macscribble \input \jobname.tmp } \fi \def\scanmacro#1{% \begingroup \newlinechar`\^^M \let\xeatspaces\eatspaces % Undo catcode changes of \startcontents and \doprintindex % When called from @insertcopying or (short)caption, we need active % backslash to get it printed correctly. Previously, we had % \catcode`\\=\other instead. We'll see whether a problem appears % with macro expansion. --kasal, 19aug04 \catcode`\@=0 \catcode`\\=\active \escapechar=`\@ % ... and \example \spaceisspace % % Append \endinput to make sure that TeX does not see the ending newline. % I've verified that it is necessary both for e-TeX and for ordinary TeX % --kasal, 29nov03 \scantokens{#1\endinput}% \endgroup } \def\scanexp#1{% \edef\temp{\noexpand\scanmacro{#1}}% \temp } \newcount\paramno % Count of parameters \newtoks\macname % Macro name \newif\ifrecursive % Is it recursive? % List of all defined macros in the form % \definedummyword\macro1\definedummyword\macro2... % Currently is also contains all @aliases; the list can be split % if there is a need. \def\macrolist{} % Add the macro to \macrolist \def\addtomacrolist#1{\expandafter \addtomacrolistxxx \csname#1\endcsname} \def\addtomacrolistxxx#1{% \toks0 = \expandafter{\macrolist\definedummyword#1}% \xdef\macrolist{\the\toks0}% } % Utility routines. % This does \let #1 = #2, with \csnames; that is, % \let \csname#1\endcsname = \csname#2\endcsname % (except of course we have to play expansion games). % \def\cslet#1#2{% \expandafter\let \csname#1\expandafter\endcsname \csname#2\endcsname } % Trim leading and trailing spaces off a string. % Concepts from aro-bend problem 15 (see CTAN). {\catcode`\@=11 \gdef\eatspaces #1{\expandafter\trim@\expandafter{#1 }} \gdef\trim@ #1{\trim@@ @#1 @ #1 @ @@} \gdef\trim@@ #1@ #2@ #3@@{\trim@@@\empty #2 @} \def\unbrace#1{#1} \unbrace{\gdef\trim@@@ #1 } #2@{#1} } % Trim a single trailing ^^M off a string. {\catcode`\^^M=\other \catcode`\Q=3% \gdef\eatcr #1{\eatcra #1Q^^MQ}% \gdef\eatcra#1^^MQ{\eatcrb#1Q}% \gdef\eatcrb#1Q#2Q{#1}% } % Macro bodies are absorbed as an argument in a context where % all characters are catcode 10, 11 or 12, except \ which is active % (as in normal texinfo). It is necessary to change the definition of \. % Non-ASCII encodings make 8-bit characters active, so un-activate % them to avoid their expansion. Must do this non-globally, to % confine the change to the current group. % It's necessary to have hard CRs when the macro is executed. This is % done by making ^^M (\endlinechar) catcode 12 when reading the macro % body, and then making it the \newlinechar in \scanmacro. \def\scanctxt{% \catcode`\"=\other \catcode`\+=\other \catcode`\<=\other \catcode`\>=\other \catcode`\@=\other \catcode`\^=\other \catcode`\_=\other \catcode`\|=\other \catcode`\~=\other \ifx\declaredencoding\ascii \else \setnonasciicharscatcodenonglobal\other \fi } \def\scanargctxt{% \scanctxt \catcode`\\=\other \catcode`\^^M=\other } \def\macrobodyctxt{% \scanctxt \catcode`\{=\other \catcode`\}=\other \catcode`\^^M=\other \usembodybackslash } \def\macroargctxt{% \scanctxt \catcode`\\=\other } % \mbodybackslash is the definition of \ in @macro bodies. % It maps \foo\ => \csname macarg.foo\endcsname => #N % where N is the macro parameter number. % We define \csname macarg.\endcsname to be \realbackslash, so % \\ in macro replacement text gets you a backslash. {\catcode`@=0 @catcode`@\=@active @gdef@usembodybackslash{@let\=@mbodybackslash} @gdef@mbodybackslash#1\{@csname macarg.#1@endcsname} } \expandafter\def\csname macarg.\endcsname{\realbackslash} \def\macro{\recursivefalse\parsearg\macroxxx} \def\rmacro{\recursivetrue\parsearg\macroxxx} \def\macroxxx#1{% \getargs{#1}% now \macname is the macname and \argl the arglist \ifx\argl\empty % no arguments \paramno=0% \else \expandafter\parsemargdef \argl;% \fi \if1\csname ismacro.\the\macname\endcsname \message{Warning: redefining \the\macname}% \else \expandafter\ifx\csname \the\macname\endcsname \relax \else \errmessage{Macro name \the\macname\space already defined}\fi \global\cslet{macsave.\the\macname}{\the\macname}% \global\expandafter\let\csname ismacro.\the\macname\endcsname=1% \addtomacrolist{\the\macname}% \fi \begingroup \macrobodyctxt \ifrecursive \expandafter\parsermacbody \else \expandafter\parsemacbody \fi} \parseargdef\unmacro{% \if1\csname ismacro.#1\endcsname \global\cslet{#1}{macsave.#1}% \global\expandafter\let \csname ismacro.#1\endcsname=0% % Remove the macro name from \macrolist: \begingroup \expandafter\let\csname#1\endcsname \relax \let\definedummyword\unmacrodo \xdef\macrolist{\macrolist}% \endgroup \else \errmessage{Macro #1 not defined}% \fi } % Called by \do from \dounmacro on each macro. The idea is to omit any % macro definitions that have been changed to \relax. % \def\unmacrodo#1{% \ifx #1\relax % remove this \else \noexpand\definedummyword \noexpand#1% \fi } % This makes use of the obscure feature that if the last token of a % is #, then the preceding argument is delimited by % an opening brace, and that opening brace is not consumed. \def\getargs#1{\getargsxxx#1{}} \def\getargsxxx#1#{\getmacname #1 \relax\getmacargs} \def\getmacname #1 #2\relax{\macname={#1}} \def\getmacargs#1{\def\argl{#1}} % Parse the optional {params} list. Set up \paramno and \paramlist % so \defmacro knows what to do. Define \macarg.blah for each blah % in the params list, to be ##N where N is the position in that list. % That gets used by \mbodybackslash (above). % We need to get `macro parameter char #' into several definitions. % The technique used is stolen from LaTeX: let \hash be something % unexpandable, insert that wherever you need a #, and then redefine % it to # just before using the token list produced. % % The same technique is used to protect \eatspaces till just before % the macro is used. \def\parsemargdef#1;{\paramno=0\def\paramlist{}% \let\hash\relax\let\xeatspaces\relax\parsemargdefxxx#1,;,} \def\parsemargdefxxx#1,{% \if#1;\let\next=\relax \else \let\next=\parsemargdefxxx \advance\paramno by 1% \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname {\xeatspaces{\hash\the\paramno}}% \edef\paramlist{\paramlist\hash\the\paramno,}% \fi\next} % These two commands read recursive and nonrecursive macro bodies. % (They're different since rec and nonrec macros end differently.) \long\def\parsemacbody#1@end macro% {\xdef\temp{\eatcr{#1}}\endgroup\defmacro}% \long\def\parsermacbody#1@end rmacro% {\xdef\temp{\eatcr{#1}}\endgroup\defmacro}% % This defines the macro itself. There are six cases: recursive and % nonrecursive macros of zero, one, and many arguments. % Much magic with \expandafter here. % \xdef is used so that macro definitions will survive the file % they're defined in; @include reads the file inside a group. \def\defmacro{% \let\hash=##% convert placeholders to macro parameter chars \ifrecursive \ifcase\paramno % 0 \expandafter\xdef\csname\the\macname\endcsname{% \noexpand\scanmacro{\temp}}% \or % 1 \expandafter\xdef\csname\the\macname\endcsname{% \bgroup\noexpand\macroargctxt \noexpand\braceorline \expandafter\noexpand\csname\the\macname xxx\endcsname}% \expandafter\xdef\csname\the\macname xxx\endcsname##1{% \egroup\noexpand\scanmacro{\temp}}% \else % many \expandafter\xdef\csname\the\macname\endcsname{% \bgroup\noexpand\macroargctxt \noexpand\csname\the\macname xx\endcsname}% \expandafter\xdef\csname\the\macname xx\endcsname##1{% \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% \expandafter\expandafter \expandafter\xdef \expandafter\expandafter \csname\the\macname xxx\endcsname \paramlist{\egroup\noexpand\scanmacro{\temp}}% \fi \else \ifcase\paramno % 0 \expandafter\xdef\csname\the\macname\endcsname{% \noexpand\norecurse{\the\macname}% \noexpand\scanmacro{\temp}\egroup}% \or % 1 \expandafter\xdef\csname\the\macname\endcsname{% \bgroup\noexpand\macroargctxt \noexpand\braceorline \expandafter\noexpand\csname\the\macname xxx\endcsname}% \expandafter\xdef\csname\the\macname xxx\endcsname##1{% \egroup \noexpand\norecurse{\the\macname}% \noexpand\scanmacro{\temp}\egroup}% \else % many \expandafter\xdef\csname\the\macname\endcsname{% \bgroup\noexpand\macroargctxt \expandafter\noexpand\csname\the\macname xx\endcsname}% \expandafter\xdef\csname\the\macname xx\endcsname##1{% \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% \expandafter\expandafter \expandafter\xdef \expandafter\expandafter \csname\the\macname xxx\endcsname \paramlist{% \egroup \noexpand\norecurse{\the\macname}% \noexpand\scanmacro{\temp}\egroup}% \fi \fi} \def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}} % \braceorline decides whether the next nonwhitespace character is a % {. If so it reads up to the closing }, if not, it reads the whole % line. Whatever was read is then fed to the next control sequence % as an argument (by \parsebrace or \parsearg) \def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx} \def\braceorlinexxx{% \ifx\nchar\bgroup\else \expandafter\parsearg \fi \macnamexxx} % @alias. % We need some trickery to remove the optional spaces around the equal % sign. Just make them active and then expand them all to nothing. \def\alias{\parseargusing\obeyspaces\aliasxxx} \def\aliasxxx #1{\aliasyyy#1\relax} \def\aliasyyy #1=#2\relax{% {% \expandafter\let\obeyedspace=\empty \addtomacrolist{#1}% \xdef\next{\global\let\makecsname{#1}=\makecsname{#2}}% }% \next } \message{cross references,} \newwrite\auxfile \newif\ifhavexrefs % True if xref values are known. \newif\ifwarnedxrefs % True if we warned once that they aren't known. % @inforef is relatively simple. \def\inforef #1{\inforefzzz #1,,,,**} \def\inforefzzz #1,#2,#3,#4**{\putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}}, node \samp{\ignorespaces#1{}}} % @node's only job in TeX is to define \lastnode, which is used in % cross-references. The @node line might or might not have commas, and % might or might not have spaces before the first comma, like: % @node foo , bar , ... % We don't want such trailing spaces in the node name. % \parseargdef\node{\checkenv{}\donode #1 ,\finishnodeparse} % % also remove a trailing comma, in case of something like this: % @node Help-Cross, , , Cross-refs \def\donode#1 ,#2\finishnodeparse{\dodonode #1,\finishnodeparse} \def\dodonode#1,#2\finishnodeparse{\gdef\lastnode{#1}} \let\nwnode=\node \let\lastnode=\empty % Write a cross-reference definition for the current node. #1 is the % type (Ynumbered, Yappendix, Ynothing). % \def\donoderef#1{% \ifx\lastnode\empty\else \setref{\lastnode}{#1}% \global\let\lastnode=\empty \fi } % @anchor{NAME} -- define xref target at arbitrary point. % \newcount\savesfregister % \def\savesf{\relax \ifhmode \savesfregister=\spacefactor \fi} \def\restoresf{\relax \ifhmode \spacefactor=\savesfregister \fi} \def\anchor#1{\savesf \setref{#1}{Ynothing}\restoresf \ignorespaces} % \setref{NAME}{SNT} defines a cross-reference point NAME (a node or an % anchor), which consists of three parts: % 1) NAME-title - the current sectioning name taken from \lastsection, % or the anchor name. % 2) NAME-snt - section number and type, passed as the SNT arg, or % empty for anchors. % 3) NAME-pg - the page number. % % This is called from \donoderef, \anchor, and \dofloat. In the case of % floats, there is an additional part, which is not written here: % 4) NAME-lof - the text as it should appear in a @listoffloats. % \def\setref#1#2{% \pdfmkdest{#1}% \iflinks {% \atdummies % preserve commands, but don't expand them \edef\writexrdef##1##2{% \write\auxfile{@xrdef{#1-% #1 of \setref, expanded by the \edef ##1}{##2}}% these are parameters of \writexrdef }% \toks0 = \expandafter{\lastsection}% \immediate \writexrdef{title}{\the\toks0 }% \immediate \writexrdef{snt}{\csname #2\endcsname}% \Ynumbered etc. \safewhatsit{\writexrdef{pg}{\folio}}% will be written later, during \shipout }% \fi } % @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is % the node name, #2 the name of the Info cross-reference, #3 the printed % node name, #4 the name of the Info file, #5 the name of the printed % manual. All but the node name can be omitted. % \def\pxref#1{\putwordsee{} \xrefX[#1,,,,,,,]} \def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]} \def\ref#1{\xrefX[#1,,,,,,,]} \def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup \unsepspaces \def\printedmanual{\ignorespaces #5}% \def\printedrefname{\ignorespaces #3}% \setbox1=\hbox{\printedmanual\unskip}% \setbox0=\hbox{\printedrefname\unskip}% \ifdim \wd0 = 0pt % No printed node name was explicitly given. \expandafter\ifx\csname SETxref-automatic-section-title\endcsname\relax % Use the node name inside the square brackets. \def\printedrefname{\ignorespaces #1}% \else % Use the actual chapter/section title appear inside % the square brackets. Use the real section title if we have it. \ifdim \wd1 > 0pt % It is in another manual, so we don't have it. \def\printedrefname{\ignorespaces #1}% \else \ifhavexrefs % We know the real title if we have the xref values. \def\printedrefname{\refx{#1-title}{}}% \else % Otherwise just copy the Info node name. \def\printedrefname{\ignorespaces #1}% \fi% \fi \fi \fi % % Make link in pdf output. \ifpdf {\indexnofonts \turnoffactive % This expands tokens, so do it after making catcode changes, so _ % etc. don't get their TeX definitions. \getfilename{#4}% % % See comments at \activebackslashdouble. {\activebackslashdouble \xdef\pdfxrefdest{#1}% \backslashparens\pdfxrefdest}% % \leavevmode \startlink attr{/Border [0 0 0]}% \ifnum\filenamelength>0 goto file{\the\filename.pdf} name{\pdfxrefdest}% \else goto name{\pdfmkpgn{\pdfxrefdest}}% \fi }% \setcolor{\linkcolor}% \fi % % Float references are printed completely differently: "Figure 1.2" % instead of "[somenode], p.3". We distinguish them by the % LABEL-title being set to a magic string. {% % Have to otherify everything special to allow the \csname to % include an _ in the xref name, etc. \indexnofonts \turnoffactive \expandafter\global\expandafter\let\expandafter\Xthisreftitle \csname XR#1-title\endcsname }% \iffloat\Xthisreftitle % If the user specified the print name (third arg) to the ref, % print it instead of our usual "Figure 1.2". \ifdim\wd0 = 0pt \refx{#1-snt}{}% \else \printedrefname \fi % % if the user also gave the printed manual name (fifth arg), append % "in MANUALNAME". \ifdim \wd1 > 0pt \space \putwordin{} \cite{\printedmanual}% \fi \else % node/anchor (non-float) references. % % If we use \unhbox0 and \unhbox1 to print the node names, TeX does not % insert empty discretionaries after hyphens, which means that it will % not find a line break at a hyphen in a node names. Since some manuals % are best written with fairly long node names, containing hyphens, this % is a loss. Therefore, we give the text of the node name again, so it % is as if TeX is seeing it for the first time. \ifdim \wd1 > 0pt \putwordSection{} ``\printedrefname'' \putwordin{} \cite{\printedmanual}% \else % _ (for example) has to be the character _ for the purposes of the % control sequence corresponding to the node, but it has to expand % into the usual \leavevmode...\vrule stuff for purposes of % printing. So we \turnoffactive for the \refx-snt, back on for the % printing, back off for the \refx-pg. {\turnoffactive % Only output a following space if the -snt ref is nonempty; for % @unnumbered and @anchor, it won't be. \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}% \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi }% % output the `[mynode]' via a macro so it can be overridden. \xrefprintnodename\printedrefname % % But we always want a comma and a space: ,\space % % output the `page 3'. \turnoffactive \putwordpage\tie\refx{#1-pg}{}% \fi \fi \endlink \endgroup} % This macro is called from \xrefX for the `[nodename]' part of xref % output. It's a separate macro only so it can be changed more easily, % since square brackets don't work well in some documents. Particularly % one that Bob is working on :). % \def\xrefprintnodename#1{[#1]} % Things referred to by \setref. % \def\Ynothing{} \def\Yomitfromtoc{} \def\Ynumbered{% \ifnum\secno=0 \putwordChapter@tie \the\chapno \else \ifnum\subsecno=0 \putwordSection@tie \the\chapno.\the\secno \else \ifnum\subsubsecno=0 \putwordSection@tie \the\chapno.\the\secno.\the\subsecno \else \putwordSection@tie \the\chapno.\the\secno.\the\subsecno.\the\subsubsecno \fi\fi\fi } \def\Yappendix{% \ifnum\secno=0 \putwordAppendix@tie @char\the\appendixno{}% \else \ifnum\subsecno=0 \putwordSection@tie @char\the\appendixno.\the\secno \else \ifnum\subsubsecno=0 \putwordSection@tie @char\the\appendixno.\the\secno.\the\subsecno \else \putwordSection@tie @char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno \fi\fi\fi } % Define \refx{NAME}{SUFFIX} to reference a cross-reference string named NAME. % If its value is nonempty, SUFFIX is output afterward. % \def\refx#1#2{% {% \indexnofonts \otherbackslash \expandafter\global\expandafter\let\expandafter\thisrefX \csname XR#1\endcsname }% \ifx\thisrefX\relax % If not defined, say something at least. \angleleft un\-de\-fined\angleright \iflinks \ifhavexrefs \message{\linenumber Undefined cross reference `#1'.}% \else \ifwarnedxrefs\else \global\warnedxrefstrue \message{Cross reference values unknown; you must run TeX again.}% \fi \fi \fi \else % It's defined, so just use it. \thisrefX \fi #2% Output the suffix in any case. } % This is the macro invoked by entries in the aux file. Usually it's % just a \def (we prepend XR to the control sequence name to avoid % collisions). But if this is a float type, we have more work to do. % \def\xrdef#1#2{% {% The node name might contain 8-bit characters, which in our current % implementation are changed to commands like @'e. Don't let these % mess up the control sequence name. \indexnofonts \turnoffactive \xdef\safexrefname{#1}% }% % \expandafter\gdef\csname XR\safexrefname\endcsname{#2}% remember this xref % % Was that xref control sequence that we just defined for a float? \expandafter\iffloat\csname XR\safexrefname\endcsname % it was a float, and we have the (safe) float type in \iffloattype. \expandafter\let\expandafter\floatlist \csname floatlist\iffloattype\endcsname % % Is this the first time we've seen this float type? \expandafter\ifx\floatlist\relax \toks0 = {\do}% yes, so just \do \else % had it before, so preserve previous elements in list. \toks0 = \expandafter{\floatlist\do}% \fi % % Remember this xref in the control sequence \floatlistFLOATTYPE, % for later use in \listoffloats. \expandafter\xdef\csname floatlist\iffloattype\endcsname{\the\toks0 {\safexrefname}}% \fi } % Read the last existing aux file, if any. No error if none exists. % \def\tryauxfile{% \openin 1 \jobname.aux \ifeof 1 \else \readdatafile{aux}% \global\havexrefstrue \fi \closein 1 } \def\setupdatafile{% \catcode`\^^@=\other \catcode`\^^A=\other \catcode`\^^B=\other \catcode`\^^C=\other \catcode`\^^D=\other \catcode`\^^E=\other \catcode`\^^F=\other \catcode`\^^G=\other \catcode`\^^H=\other \catcode`\^^K=\other \catcode`\^^L=\other \catcode`\^^N=\other \catcode`\^^P=\other \catcode`\^^Q=\other \catcode`\^^R=\other \catcode`\^^S=\other \catcode`\^^T=\other \catcode`\^^U=\other \catcode`\^^V=\other \catcode`\^^W=\other \catcode`\^^X=\other \catcode`\^^Z=\other \catcode`\^^[=\other \catcode`\^^\=\other \catcode`\^^]=\other \catcode`\^^^=\other \catcode`\^^_=\other % It was suggested to set the catcode of ^ to 7, which would allow ^^e4 etc. % in xref tags, i.e., node names. But since ^^e4 notation isn't % supported in the main text, it doesn't seem desirable. Furthermore, % that is not enough: for node names that actually contain a ^ % character, we would end up writing a line like this: 'xrdef {'hat % b-title}{'hat b} and \xrdef does a \csname...\endcsname on the first % argument, and \hat is not an expandable control sequence. It could % all be worked out, but why? Either we support ^^ or we don't. % % The other change necessary for this was to define \auxhat: % \def\auxhat{\def^{'hat }}% extra space so ok if followed by letter % and then to call \auxhat in \setq. % \catcode`\^=\other % % Special characters. Should be turned off anyway, but... \catcode`\~=\other \catcode`\[=\other \catcode`\]=\other \catcode`\"=\other \catcode`\_=\other \catcode`\|=\other \catcode`\<=\other \catcode`\>=\other \catcode`\$=\other \catcode`\#=\other \catcode`\&=\other \catcode`\%=\other \catcode`+=\other % avoid \+ for paranoia even though we've turned it off % % This is to support \ in node names and titles, since the \ % characters end up in a \csname. It's easier than % leaving it active and making its active definition an actual \ % character. What I don't understand is why it works in the *value* % of the xrdef. Seems like it should be a catcode12 \, and that % should not typeset properly. But it works, so I'm moving on for % now. --karl, 15jan04. \catcode`\\=\other % % Make the characters 128-255 be printing characters. {% \count1=128 \def\loop{% \catcode\count1=\other \advance\count1 by 1 \ifnum \count1<256 \loop \fi }% }% % % @ is our escape character in .aux files, and we need braces. \catcode`\{=1 \catcode`\}=2 \catcode`\@=0 } \def\readdatafile#1{% \begingroup \setupdatafile \input\jobname.#1 \endgroup} \message{insertions,} % including footnotes. \newcount \footnoteno % The trailing space in the following definition for supereject is % vital for proper filling; pages come out unaligned when you do a % pagealignmacro call if that space before the closing brace is % removed. (Generally, numeric constants should always be followed by a % space to prevent strange expansion errors.) \def\supereject{\par\penalty -20000\footnoteno =0 } % @footnotestyle is meaningful for info output only. \let\footnotestyle=\comment {\catcode `\@=11 % % Auto-number footnotes. Otherwise like plain. \gdef\footnote{% \let\indent=\ptexindent \let\noindent=\ptexnoindent \global\advance\footnoteno by \@ne \edef\thisfootno{$^{\the\footnoteno}$}% % % In case the footnote comes at the end of a sentence, preserve the % extra spacing after we do the footnote number. \let\@sf\empty \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\ptexslash\fi % % Remove inadvertent blank space before typesetting the footnote number. \unskip \thisfootno\@sf \dofootnote }% % Don't bother with the trickery in plain.tex to not require the % footnote text as a parameter. Our footnotes don't need to be so general. % % Oh yes, they do; otherwise, @ifset (and anything else that uses % \parseargline) fails inside footnotes because the tokens are fixed when % the footnote is read. --karl, 16nov96. % \gdef\dofootnote{% \insert\footins\bgroup % We want to typeset this text as a normal paragraph, even if the % footnote reference occurs in (for example) a display environment. % So reset some parameters. \hsize=\pagewidth \interlinepenalty\interfootnotelinepenalty \splittopskip\ht\strutbox % top baseline for broken footnotes \splitmaxdepth\dp\strutbox \floatingpenalty\@MM \leftskip\z@skip \rightskip\z@skip \spaceskip\z@skip \xspaceskip\z@skip \parindent\defaultparindent % \smallfonts \rm % % Because we use hanging indentation in footnotes, a @noindent appears % to exdent this text, so make it be a no-op. makeinfo does not use % hanging indentation so @noindent can still be needed within footnote % text after an @example or the like (not that this is good style). \let\noindent = \relax % % Hang the footnote text off the number. Use \everypar in case the % footnote extends for more than one paragraph. \everypar = {\hang}% \textindent{\thisfootno}% % % Don't crash into the line above the footnote text. Since this % expands into a box, it must come within the paragraph, lest it % provide a place where TeX can split the footnote. \footstrut \futurelet\next\fo@t } }%end \catcode `\@=11 % In case a @footnote appears in a vbox, save the footnote text and create % the real \insert just after the vbox finished. Otherwise, the insertion % would be lost. % Similarly, if a @footnote appears inside an alignment, save the footnote % text to a box and make the \insert when a row of the table is finished. % And the same can be done for other insert classes. --kasal, 16nov03. % Replace the \insert primitive by a cheating macro. % Deeper inside, just make sure that the saved insertions are not spilled % out prematurely. % \def\startsavinginserts{% \ifx \insert\ptexinsert \let\insert\saveinsert \else \let\checkinserts\relax \fi } % This \insert replacement works for both \insert\footins{foo} and % \insert\footins\bgroup foo\egroup, but it doesn't work for \insert27{foo}. % \def\saveinsert#1{% \edef\next{\noexpand\savetobox \makeSAVEname#1}% \afterassignment\next % swallow the left brace \let\temp = } \def\makeSAVEname#1{\makecsname{SAVE\expandafter\gobble\string#1}} \def\savetobox#1{\global\setbox#1 = \vbox\bgroup \unvbox#1} \def\checksaveins#1{\ifvoid#1\else \placesaveins#1\fi} \def\placesaveins#1{% \ptexinsert \csname\expandafter\gobblesave\string#1\endcsname {\box#1}% } % eat @SAVE -- beware, all of them have catcode \other: { \def\dospecials{\do S\do A\do V\do E} \uncatcodespecials % ;-) \gdef\gobblesave @SAVE{} } % initialization: \def\newsaveins #1{% \edef\next{\noexpand\newsaveinsX \makeSAVEname#1}% \next } \def\newsaveinsX #1{% \csname newbox\endcsname #1% \expandafter\def\expandafter\checkinserts\expandafter{\checkinserts \checksaveins #1}% } % initialize: \let\checkinserts\empty \newsaveins\footins \newsaveins\margin % @image. We use the macros from epsf.tex to support this. % If epsf.tex is not installed and @image is used, we complain. % % Check for and read epsf.tex up front. If we read it only at @image % time, we might be inside a group, and then its definitions would get % undone and the next image would fail. \openin 1 = epsf.tex \ifeof 1 \else % Do not bother showing banner with epsf.tex v2.7k (available in % doc/epsf.tex and on ctan). \def\epsfannounce{\toks0 = }% \input epsf.tex \fi \closein 1 % % We will only complain once about lack of epsf.tex. \newif\ifwarnednoepsf \newhelp\noepsfhelp{epsf.tex must be installed for images to work. It is also included in the Texinfo distribution, or you can get it from ftp://tug.org/tex/epsf.tex.} % \def\image#1{% \ifx\epsfbox\undefined \ifwarnednoepsf \else \errhelp = \noepsfhelp \errmessage{epsf.tex not found, images will be ignored}% \global\warnednoepsftrue \fi \else \imagexxx #1,,,,,\finish \fi } % % Arguments to @image: % #1 is (mandatory) image filename; we tack on .eps extension. % #2 is (optional) width, #3 is (optional) height. % #4 is (ignored optional) html alt text. % #5 is (ignored optional) extension. % #6 is just the usual extra ignored arg for parsing stuff. \newif\ifimagevmode \def\imagexxx#1,#2,#3,#4,#5,#6\finish{\begingroup \catcode`\^^M = 5 % in case we're inside an example \normalturnoffactive % allow _ et al. in names % If the image is by itself, center it. \ifvmode \imagevmodetrue \nobreak\medskip % Usually we'll have text after the image which will insert % \parskip glue, so insert it here too to equalize the space % above and below. \nobreak\vskip\parskip \nobreak \fi % % Leave vertical mode so that indentation from an enclosing % environment such as @quotation is respected. On the other hand, if % it's at the top level, we don't want the normal paragraph indentation. \noindent % % Output the image. \ifpdf \dopdfimage{#1}{#2}{#3}% \else % \epsfbox itself resets \epsf?size at each figure. \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi \setbox0 = \hbox{\ignorespaces #3}\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi \epsfbox{#1.eps}% \fi % \ifimagevmode \medskip \fi % space after the standalone image \endgroup} % @float FLOATTYPE,LABEL,LOC ... @end float for displayed figures, tables, % etc. We don't actually implement floating yet, we always include the % float "here". But it seemed the best name for the future. % \envparseargdef\float{\eatcommaspace\eatcommaspace\dofloat#1, , ,\finish} % There may be a space before second and/or third parameter; delete it. \def\eatcommaspace#1, {#1,} % #1 is the optional FLOATTYPE, the text label for this float, typically % "Figure", "Table", "Example", etc. Can't contain commas. If omitted, % this float will not be numbered and cannot be referred to. % % #2 is the optional xref label. Also must be present for the float to % be referable. % % #3 is the optional positioning argument; for now, it is ignored. It % will somehow specify the positions allowed to float to (here, top, bottom). % % We keep a separate counter for each FLOATTYPE, which we reset at each % chapter-level command. \let\resetallfloatnos=\empty % \def\dofloat#1,#2,#3,#4\finish{% \let\thiscaption=\empty \let\thisshortcaption=\empty % % don't lose footnotes inside @float. % % BEWARE: when the floats start float, we have to issue warning whenever an % insert appears inside a float which could possibly float. --kasal, 26may04 % \startsavinginserts % % We can't be used inside a paragraph. \par % \vtop\bgroup \def\floattype{#1}% \def\floatlabel{#2}% \def\floatloc{#3}% we do nothing with this yet. % \ifx\floattype\empty \let\safefloattype=\empty \else {% % the floattype might have accents or other special characters, % but we need to use it in a control sequence name. \indexnofonts \turnoffactive \xdef\safefloattype{\floattype}% }% \fi % % If label is given but no type, we handle that as the empty type. \ifx\floatlabel\empty \else % We want each FLOATTYPE to be numbered separately (Figure 1, % Table 1, Figure 2, ...). (And if no label, no number.) % \expandafter\getfloatno\csname\safefloattype floatno\endcsname \global\advance\floatno by 1 % {% % This magic value for \lastsection is output by \setref as the % XREFLABEL-title value. \xrefX uses it to distinguish float % labels (which have a completely different output format) from % node and anchor labels. And \xrdef uses it to construct the % lists of floats. % \edef\lastsection{\floatmagic=\safefloattype}% \setref{\floatlabel}{Yfloat}% }% \fi % % start with \parskip glue, I guess. \vskip\parskip % % Don't suppress indentation if a float happens to start a section. \restorefirstparagraphindent } % we have these possibilities: % @float Foo,lbl & @caption{Cap}: Foo 1.1: Cap % @float Foo,lbl & no caption: Foo 1.1 % @float Foo & @caption{Cap}: Foo: Cap % @float Foo & no caption: Foo % @float ,lbl & Caption{Cap}: 1.1: Cap % @float ,lbl & no caption: 1.1 % @float & @caption{Cap}: Cap % @float & no caption: % \def\Efloat{% \let\floatident = \empty % % In all cases, if we have a float type, it comes first. \ifx\floattype\empty \else \def\floatident{\floattype}\fi % % If we have an xref label, the number comes next. \ifx\floatlabel\empty \else \ifx\floattype\empty \else % if also had float type, need tie first. \appendtomacro\floatident{\tie}% \fi % the number. \appendtomacro\floatident{\chaplevelprefix\the\floatno}% \fi % % Start the printed caption with what we've constructed in % \floatident, but keep it separate; we need \floatident again. \let\captionline = \floatident % \ifx\thiscaption\empty \else \ifx\floatident\empty \else \appendtomacro\captionline{: }% had ident, so need a colon between \fi % % caption text. \appendtomacro\captionline{\scanexp\thiscaption}% \fi % % If we have anything to print, print it, with space before. % Eventually this needs to become an \insert. \ifx\captionline\empty \else \vskip.5\parskip \captionline % % Space below caption. \vskip\parskip \fi % % If have an xref label, write the list of floats info. Do this % after the caption, to avoid chance of it being a breakpoint. \ifx\floatlabel\empty \else % Write the text that goes in the lof to the aux file as % \floatlabel-lof. Besides \floatident, we include the short % caption if specified, else the full caption if specified, else nothing. {% \atdummies % % since we read the caption text in the macro world, where ^^M % is turned into a normal character, we have to scan it back, so % we don't write the literal three characters "^^M" into the aux file. \scanexp{% \xdef\noexpand\gtemp{% \ifx\thisshortcaption\empty \thiscaption \else \thisshortcaption \fi }% }% \immediate\write\auxfile{@xrdef{\floatlabel-lof}{\floatident \ifx\gtemp\empty \else : \gtemp \fi}}% }% \fi \egroup % end of \vtop % % place the captured inserts % % BEWARE: when the floats start floating, we have to issue warning % whenever an insert appears inside a float which could possibly % float. --kasal, 26may04 % \checkinserts } % Append the tokens #2 to the definition of macro #1, not expanding either. % \def\appendtomacro#1#2{% \expandafter\def\expandafter#1\expandafter{#1#2}% } % @caption, @shortcaption % \def\caption{\docaption\thiscaption} \def\shortcaption{\docaption\thisshortcaption} \def\docaption{\checkenv\float \bgroup\scanargctxt\defcaption} \def\defcaption#1#2{\egroup \def#1{#2}} % The parameter is the control sequence identifying the counter we are % going to use. Create it if it doesn't exist and assign it to \floatno. \def\getfloatno#1{% \ifx#1\relax % Haven't seen this figure type before. \csname newcount\endcsname #1% % % Remember to reset this floatno at the next chap. \expandafter\gdef\expandafter\resetallfloatnos \expandafter{\resetallfloatnos #1=0 }% \fi \let\floatno#1% } % \setref calls this to get the XREFLABEL-snt value. We want an @xref % to the FLOATLABEL to expand to "Figure 3.1". We call \setref when we % first read the @float command. % \def\Yfloat{\floattype@tie \chaplevelprefix\the\floatno}% % Magic string used for the XREFLABEL-title value, so \xrefX can % distinguish floats from other xref types. \def\floatmagic{!!float!!} % #1 is the control sequence we are passed; we expand into a conditional % which is true if #1 represents a float ref. That is, the magic % \lastsection value which we \setref above. % \def\iffloat#1{\expandafter\doiffloat#1==\finish} % % #1 is (maybe) the \floatmagic string. If so, #2 will be the % (safe) float type for this float. We set \iffloattype to #2. % \def\doiffloat#1=#2=#3\finish{% \def\temp{#1}% \def\iffloattype{#2}% \ifx\temp\floatmagic } % @listoffloats FLOATTYPE - print a list of floats like a table of contents. % \parseargdef\listoffloats{% \def\floattype{#1}% floattype {% % the floattype might have accents or other special characters, % but we need to use it in a control sequence name. \indexnofonts \turnoffactive \xdef\safefloattype{\floattype}% }% % % \xrdef saves the floats as a \do-list in \floatlistSAFEFLOATTYPE. \expandafter\ifx\csname floatlist\safefloattype\endcsname \relax \ifhavexrefs % if the user said @listoffloats foo but never @float foo. \message{\linenumber No `\safefloattype' floats to list.}% \fi \else \begingroup \leftskip=\tocindent % indent these entries like a toc \let\do=\listoffloatsdo \csname floatlist\safefloattype\endcsname \endgroup \fi } % This is called on each entry in a list of floats. We're passed the % xref label, in the form LABEL-title, which is how we save it in the % aux file. We strip off the -title and look up \XRLABEL-lof, which % has the text we're supposed to typeset here. % % Figures without xref labels will not be included in the list (since % they won't appear in the aux file). % \def\listoffloatsdo#1{\listoffloatsdoentry#1\finish} \def\listoffloatsdoentry#1-title\finish{{% % Can't fully expand XR#1-lof because it can contain anything. Just % pass the control sequence. On the other hand, XR#1-pg is just the % page number, and we want to fully expand that so we can get a link % in pdf output. \toksA = \expandafter{\csname XR#1-lof\endcsname}% % % use the same \entry macro we use to generate the TOC and index. \edef\writeentry{\noexpand\entry{\the\toksA}{\csname XR#1-pg\endcsname}}% \writeentry }} \message{localization,} % For single-language documents, @documentlanguage is usually given very % early, just after @documentencoding. Single argument is the language % (de) or locale (de_DE) abbreviation. % { \catcode`\_ = \active \globaldefs=1 \parseargdef\documentlanguage{\begingroup \let_=\normalunderscore % normal _ character for filenames \tex % read txi-??.tex file in plain TeX. % Read the file by the name they passed if it exists. \openin 1 txi-#1.tex \ifeof 1 \documentlanguagetrywithoutunderscore{#1_\finish}% \else \globaldefs = 1 % everything in the txi-LL files needs to persist \input txi-#1.tex \fi \closein 1 \endgroup % end raw TeX \endgroup} % % If they passed de_DE, and txi-de_DE.tex doesn't exist, % try txi-de.tex. % \gdef\documentlanguagetrywithoutunderscore#1_#2\finish{% \openin 1 txi-#1.tex \ifeof 1 \errhelp = \nolanghelp \errmessage{Cannot read language file txi-#1.tex}% \else \globaldefs = 1 % everything in the txi-LL files needs to persist \input txi-#1.tex \fi \closein 1 } }% end of special _ catcode % \newhelp\nolanghelp{The given language definition file cannot be found or is empty. Maybe you need to install it? Putting it in the current directory should work if nowhere else does.} % This macro is called from txi-??.tex files; the first argument is the % \language name to set (without the "\lang@" prefix), the second and % third args are \{left,right}hyphenmin. % % The language names to pass are determined when the format is built. % See the etex.log file created at that time, e.g., % /usr/local/texlive/2008/texmf-var/web2c/pdftex/etex.log. % % With TeX Live 2008, etex now includes hyphenation patterns for all % available languages. This means we can support hyphenation in % Texinfo, at least to some extent. (This still doesn't solve the % accented characters problem.) % \catcode`@=11 \def\txisetlanguage#1#2#3{% % do not set the language if the name is undefined in the current TeX. \expandafter\ifx\csname lang@#1\endcsname \relax \message{no patterns for #1}% \else \global\language = \csname lang@#1\endcsname \fi % but there is no harm in adjusting the hyphenmin values regardless. \global\lefthyphenmin = #2\relax \global\righthyphenmin = #3\relax } % Helpers for encodings. % Set the catcode of characters 128 through 255 to the specified number. % \def\setnonasciicharscatcode#1{% \count255=128 \loop\ifnum\count255<256 \global\catcode\count255=#1\relax \advance\count255 by 1 \repeat } \def\setnonasciicharscatcodenonglobal#1{% \count255=128 \loop\ifnum\count255<256 \catcode\count255=#1\relax \advance\count255 by 1 \repeat } % @documentencoding sets the definition of non-ASCII characters % according to the specified encoding. % \parseargdef\documentencoding{% % Encoding being declared for the document. \def\declaredencoding{\csname #1.enc\endcsname}% % % Supported encodings: names converted to tokens in order to be able % to compare them with \ifx. \def\ascii{\csname US-ASCII.enc\endcsname}% \def\latnine{\csname ISO-8859-15.enc\endcsname}% \def\latone{\csname ISO-8859-1.enc\endcsname}% \def\lattwo{\csname ISO-8859-2.enc\endcsname}% \def\utfeight{\csname UTF-8.enc\endcsname}% % \ifx \declaredencoding \ascii \asciichardefs % \else \ifx \declaredencoding \lattwo \setnonasciicharscatcode\active \lattwochardefs % \else \ifx \declaredencoding \latone \setnonasciicharscatcode\active \latonechardefs % \else \ifx \declaredencoding \latnine \setnonasciicharscatcode\active \latninechardefs % \else \ifx \declaredencoding \utfeight \setnonasciicharscatcode\active \utfeightchardefs % \else \message{Unknown document encoding #1, ignoring.}% % \fi % utfeight \fi % latnine \fi % latone \fi % lattwo \fi % ascii } % A message to be logged when using a character that isn't available % the default font encoding (OT1). % \def\missingcharmsg#1{\message{Character missing in OT1 encoding: #1.}} % Take account of \c (plain) vs. \, (Texinfo) difference. \def\cedilla#1{\ifx\c\ptexc\c{#1}\else\,{#1}\fi} % First, make active non-ASCII characters in order for them to be % correctly categorized when TeX reads the replacement text of % macros containing the character definitions. \setnonasciicharscatcode\active % % Latin1 (ISO-8859-1) character definitions. \def\latonechardefs{% \gdef^^a0{~} \gdef^^a1{\exclamdown} \gdef^^a2{\missingcharmsg{CENT SIGN}} \gdef^^a3{{\pounds}} \gdef^^a4{\missingcharmsg{CURRENCY SIGN}} \gdef^^a5{\missingcharmsg{YEN SIGN}} \gdef^^a6{\missingcharmsg{BROKEN BAR}} \gdef^^a7{\S} \gdef^^a8{\"{}} \gdef^^a9{\copyright} \gdef^^aa{\ordf} \gdef^^ab{\guillemetleft} \gdef^^ac{$\lnot$} \gdef^^ad{\-} \gdef^^ae{\registeredsymbol} \gdef^^af{\={}} % \gdef^^b0{\textdegree} \gdef^^b1{$\pm$} \gdef^^b2{$^2$} \gdef^^b3{$^3$} \gdef^^b4{\'{}} \gdef^^b5{$\mu$} \gdef^^b6{\P} % \gdef^^b7{$^.$} \gdef^^b8{\cedilla\ } \gdef^^b9{$^1$} \gdef^^ba{\ordm} % \gdef^^bb{\guilletright} \gdef^^bc{$1\over4$} \gdef^^bd{$1\over2$} \gdef^^be{$3\over4$} \gdef^^bf{\questiondown} % \gdef^^c0{\`A} \gdef^^c1{\'A} \gdef^^c2{\^A} \gdef^^c3{\~A} \gdef^^c4{\"A} \gdef^^c5{\ringaccent A} \gdef^^c6{\AE} \gdef^^c7{\cedilla C} \gdef^^c8{\`E} \gdef^^c9{\'E} \gdef^^ca{\^E} \gdef^^cb{\"E} \gdef^^cc{\`I} \gdef^^cd{\'I} \gdef^^ce{\^I} \gdef^^cf{\"I} % \gdef^^d0{\DH} \gdef^^d1{\~N} \gdef^^d2{\`O} \gdef^^d3{\'O} \gdef^^d4{\^O} \gdef^^d5{\~O} \gdef^^d6{\"O} \gdef^^d7{$\times$} \gdef^^d8{\O} \gdef^^d9{\`U} \gdef^^da{\'U} \gdef^^db{\^U} \gdef^^dc{\"U} \gdef^^dd{\'Y} \gdef^^de{\TH} \gdef^^df{\ss} % \gdef^^e0{\`a} \gdef^^e1{\'a} \gdef^^e2{\^a} \gdef^^e3{\~a} \gdef^^e4{\"a} \gdef^^e5{\ringaccent a} \gdef^^e6{\ae} \gdef^^e7{\cedilla c} \gdef^^e8{\`e} \gdef^^e9{\'e} \gdef^^ea{\^e} \gdef^^eb{\"e} \gdef^^ec{\`{\dotless i}} \gdef^^ed{\'{\dotless i}} \gdef^^ee{\^{\dotless i}} \gdef^^ef{\"{\dotless i}} % \gdef^^f0{\dh} \gdef^^f1{\~n} \gdef^^f2{\`o} \gdef^^f3{\'o} \gdef^^f4{\^o} \gdef^^f5{\~o} \gdef^^f6{\"o} \gdef^^f7{$\div$} \gdef^^f8{\o} \gdef^^f9{\`u} \gdef^^fa{\'u} \gdef^^fb{\^u} \gdef^^fc{\"u} \gdef^^fd{\'y} \gdef^^fe{\th} \gdef^^ff{\"y} } % Latin9 (ISO-8859-15) encoding character definitions. \def\latninechardefs{% % Encoding is almost identical to Latin1. \latonechardefs % \gdef^^a4{\euro} \gdef^^a6{\v S} \gdef^^a8{\v s} \gdef^^b4{\v Z} \gdef^^b8{\v z} \gdef^^bc{\OE} \gdef^^bd{\oe} \gdef^^be{\"Y} } % Latin2 (ISO-8859-2) character definitions. \def\lattwochardefs{% \gdef^^a0{~} \gdef^^a1{\ogonek{A}} \gdef^^a2{\u{}} \gdef^^a3{\L} \gdef^^a4{\missingcharmsg{CURRENCY SIGN}} \gdef^^a5{\v L} \gdef^^a6{\'S} \gdef^^a7{\S} \gdef^^a8{\"{}} \gdef^^a9{\v S} \gdef^^aa{\cedilla S} \gdef^^ab{\v T} \gdef^^ac{\'Z} \gdef^^ad{\-} \gdef^^ae{\v Z} \gdef^^af{\dotaccent Z} % \gdef^^b0{\textdegree} \gdef^^b1{\ogonek{a}} \gdef^^b2{\ogonek{ }} \gdef^^b3{\l} \gdef^^b4{\'{}} \gdef^^b5{\v l} \gdef^^b6{\'s} \gdef^^b7{\v{}} \gdef^^b8{\cedilla\ } \gdef^^b9{\v s} \gdef^^ba{\cedilla s} \gdef^^bb{\v t} \gdef^^bc{\'z} \gdef^^bd{\H{}} \gdef^^be{\v z} \gdef^^bf{\dotaccent z} % \gdef^^c0{\'R} \gdef^^c1{\'A} \gdef^^c2{\^A} \gdef^^c3{\u A} \gdef^^c4{\"A} \gdef^^c5{\'L} \gdef^^c6{\'C} \gdef^^c7{\cedilla C} \gdef^^c8{\v C} \gdef^^c9{\'E} \gdef^^ca{\ogonek{E}} \gdef^^cb{\"E} \gdef^^cc{\v E} \gdef^^cd{\'I} \gdef^^ce{\^I} \gdef^^cf{\v D} % \gdef^^d0{\DH} \gdef^^d1{\'N} \gdef^^d2{\v N} \gdef^^d3{\'O} \gdef^^d4{\^O} \gdef^^d5{\H O} \gdef^^d6{\"O} \gdef^^d7{$\times$} \gdef^^d8{\v R} \gdef^^d9{\ringaccent U} \gdef^^da{\'U} \gdef^^db{\H U} \gdef^^dc{\"U} \gdef^^dd{\'Y} \gdef^^de{\cedilla T} \gdef^^df{\ss} % \gdef^^e0{\'r} \gdef^^e1{\'a} \gdef^^e2{\^a} \gdef^^e3{\u a} \gdef^^e4{\"a} \gdef^^e5{\'l} \gdef^^e6{\'c} \gdef^^e7{\cedilla c} \gdef^^e8{\v c} \gdef^^e9{\'e} \gdef^^ea{\ogonek{e}} \gdef^^eb{\"e} \gdef^^ec{\v e} \gdef^^ed{\'\i} \gdef^^ee{\^\i} \gdef^^ef{\v d} % \gdef^^f0{\dh} \gdef^^f1{\'n} \gdef^^f2{\v n} \gdef^^f3{\'o} \gdef^^f4{\^o} \gdef^^f5{\H o} \gdef^^f6{\"o} \gdef^^f7{$\div$} \gdef^^f8{\v r} \gdef^^f9{\ringaccent u} \gdef^^fa{\'u} \gdef^^fb{\H u} \gdef^^fc{\"u} \gdef^^fd{\'y} \gdef^^fe{\cedilla t} \gdef^^ff{\dotaccent{}} } % UTF-8 character definitions. % % This code to support UTF-8 is based on LaTeX's utf8.def, with some % changes for Texinfo conventions. It is included here under the GPL by % permission from Frank Mittelbach and the LaTeX team. % \newcount\countUTFx \newcount\countUTFy \newcount\countUTFz \gdef\UTFviiiTwoOctets#1#2{\expandafter \UTFviiiDefined\csname u8:#1\string #2\endcsname} % \gdef\UTFviiiThreeOctets#1#2#3{\expandafter \UTFviiiDefined\csname u8:#1\string #2\string #3\endcsname} % \gdef\UTFviiiFourOctets#1#2#3#4{\expandafter \UTFviiiDefined\csname u8:#1\string #2\string #3\string #4\endcsname} \gdef\UTFviiiDefined#1{% \ifx #1\relax \message{\linenumber Unicode char \string #1 not defined for Texinfo}% \else \expandafter #1% \fi } \begingroup \catcode`\~13 \catcode`\"12 \def\UTFviiiLoop{% \global\catcode\countUTFx\active \uccode`\~\countUTFx \uppercase\expandafter{\UTFviiiTmp}% \advance\countUTFx by 1 \ifnum\countUTFx < \countUTFy \expandafter\UTFviiiLoop \fi} \countUTFx = "C2 \countUTFy = "E0 \def\UTFviiiTmp{% \xdef~{\noexpand\UTFviiiTwoOctets\string~}} \UTFviiiLoop \countUTFx = "E0 \countUTFy = "F0 \def\UTFviiiTmp{% \xdef~{\noexpand\UTFviiiThreeOctets\string~}} \UTFviiiLoop \countUTFx = "F0 \countUTFy = "F4 \def\UTFviiiTmp{% \xdef~{\noexpand\UTFviiiFourOctets\string~}} \UTFviiiLoop \endgroup \begingroup \catcode`\"=12 \catcode`\<=12 \catcode`\.=12 \catcode`\,=12 \catcode`\;=12 \catcode`\!=12 \catcode`\~=13 \gdef\DeclareUnicodeCharacter#1#2{% \countUTFz = "#1\relax \wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}% \begingroup \parseXMLCharref \def\UTFviiiTwoOctets##1##2{% \csname u8:##1\string ##2\endcsname}% \def\UTFviiiThreeOctets##1##2##3{% \csname u8:##1\string ##2\string ##3\endcsname}% \def\UTFviiiFourOctets##1##2##3##4{% \csname u8:##1\string ##2\string ##3\string ##4\endcsname}% \expandafter\expandafter\expandafter\expandafter \expandafter\expandafter\expandafter \gdef\UTFviiiTmp{#2}% \endgroup} \gdef\parseXMLCharref{% \ifnum\countUTFz < "A0\relax \errhelp = \EMsimple \errmessage{Cannot define Unicode char value < 00A0}% \else\ifnum\countUTFz < "800\relax \parseUTFviiiA,% \parseUTFviiiB C\UTFviiiTwoOctets.,% \else\ifnum\countUTFz < "10000\relax \parseUTFviiiA;% \parseUTFviiiA,% \parseUTFviiiB E\UTFviiiThreeOctets.{,;}% \else \parseUTFviiiA;% \parseUTFviiiA,% \parseUTFviiiA!% \parseUTFviiiB F\UTFviiiFourOctets.{!,;}% \fi\fi\fi } \gdef\parseUTFviiiA#1{% \countUTFx = \countUTFz \divide\countUTFz by 64 \countUTFy = \countUTFz \multiply\countUTFz by 64 \advance\countUTFx by -\countUTFz \advance\countUTFx by 128 \uccode `#1\countUTFx \countUTFz = \countUTFy} \gdef\parseUTFviiiB#1#2#3#4{% \advance\countUTFz by "#10\relax \uccode `#3\countUTFz \uppercase{\gdef\UTFviiiTmp{#2#3#4}}} \endgroup \def\utfeightchardefs{% \DeclareUnicodeCharacter{00A0}{\tie} \DeclareUnicodeCharacter{00A1}{\exclamdown} \DeclareUnicodeCharacter{00A3}{\pounds} \DeclareUnicodeCharacter{00A8}{\"{ }} \DeclareUnicodeCharacter{00A9}{\copyright} \DeclareUnicodeCharacter{00AA}{\ordf} \DeclareUnicodeCharacter{00AB}{\guillemetleft} \DeclareUnicodeCharacter{00AD}{\-} \DeclareUnicodeCharacter{00AE}{\registeredsymbol} \DeclareUnicodeCharacter{00AF}{\={ }} \DeclareUnicodeCharacter{00B0}{\ringaccent{ }} \DeclareUnicodeCharacter{00B4}{\'{ }} \DeclareUnicodeCharacter{00B8}{\cedilla{ }} \DeclareUnicodeCharacter{00BA}{\ordm} \DeclareUnicodeCharacter{00BB}{\guillemetright} \DeclareUnicodeCharacter{00BF}{\questiondown} \DeclareUnicodeCharacter{00C0}{\`A} \DeclareUnicodeCharacter{00C1}{\'A} \DeclareUnicodeCharacter{00C2}{\^A} \DeclareUnicodeCharacter{00C3}{\~A} \DeclareUnicodeCharacter{00C4}{\"A} \DeclareUnicodeCharacter{00C5}{\AA} \DeclareUnicodeCharacter{00C6}{\AE} \DeclareUnicodeCharacter{00C7}{\cedilla{C}} \DeclareUnicodeCharacter{00C8}{\`E} \DeclareUnicodeCharacter{00C9}{\'E} \DeclareUnicodeCharacter{00CA}{\^E} \DeclareUnicodeCharacter{00CB}{\"E} \DeclareUnicodeCharacter{00CC}{\`I} \DeclareUnicodeCharacter{00CD}{\'I} \DeclareUnicodeCharacter{00CE}{\^I} \DeclareUnicodeCharacter{00CF}{\"I} \DeclareUnicodeCharacter{00D0}{\DH} \DeclareUnicodeCharacter{00D1}{\~N} \DeclareUnicodeCharacter{00D2}{\`O} \DeclareUnicodeCharacter{00D3}{\'O} \DeclareUnicodeCharacter{00D4}{\^O} \DeclareUnicodeCharacter{00D5}{\~O} \DeclareUnicodeCharacter{00D6}{\"O} \DeclareUnicodeCharacter{00D8}{\O} \DeclareUnicodeCharacter{00D9}{\`U} \DeclareUnicodeCharacter{00DA}{\'U} \DeclareUnicodeCharacter{00DB}{\^U} \DeclareUnicodeCharacter{00DC}{\"U} \DeclareUnicodeCharacter{00DD}{\'Y} \DeclareUnicodeCharacter{00DE}{\TH} \DeclareUnicodeCharacter{00DF}{\ss} \DeclareUnicodeCharacter{00E0}{\`a} \DeclareUnicodeCharacter{00E1}{\'a} \DeclareUnicodeCharacter{00E2}{\^a} \DeclareUnicodeCharacter{00E3}{\~a} \DeclareUnicodeCharacter{00E4}{\"a} \DeclareUnicodeCharacter{00E5}{\aa} \DeclareUnicodeCharacter{00E6}{\ae} \DeclareUnicodeCharacter{00E7}{\cedilla{c}} \DeclareUnicodeCharacter{00E8}{\`e} \DeclareUnicodeCharacter{00E9}{\'e} \DeclareUnicodeCharacter{00EA}{\^e} \DeclareUnicodeCharacter{00EB}{\"e} \DeclareUnicodeCharacter{00EC}{\`{\dotless{i}}} \DeclareUnicodeCharacter{00ED}{\'{\dotless{i}}} \DeclareUnicodeCharacter{00EE}{\^{\dotless{i}}} \DeclareUnicodeCharacter{00EF}{\"{\dotless{i}}} \DeclareUnicodeCharacter{00F0}{\dh} \DeclareUnicodeCharacter{00F1}{\~n} \DeclareUnicodeCharacter{00F2}{\`o} \DeclareUnicodeCharacter{00F3}{\'o} \DeclareUnicodeCharacter{00F4}{\^o} \DeclareUnicodeCharacter{00F5}{\~o} \DeclareUnicodeCharacter{00F6}{\"o} \DeclareUnicodeCharacter{00F8}{\o} \DeclareUnicodeCharacter{00F9}{\`u} \DeclareUnicodeCharacter{00FA}{\'u} \DeclareUnicodeCharacter{00FB}{\^u} \DeclareUnicodeCharacter{00FC}{\"u} \DeclareUnicodeCharacter{00FD}{\'y} \DeclareUnicodeCharacter{00FE}{\th} \DeclareUnicodeCharacter{00FF}{\"y} \DeclareUnicodeCharacter{0100}{\=A} \DeclareUnicodeCharacter{0101}{\=a} \DeclareUnicodeCharacter{0102}{\u{A}} \DeclareUnicodeCharacter{0103}{\u{a}} \DeclareUnicodeCharacter{0104}{\ogonek{A}} \DeclareUnicodeCharacter{0105}{\ogonek{a}} \DeclareUnicodeCharacter{0106}{\'C} \DeclareUnicodeCharacter{0107}{\'c} \DeclareUnicodeCharacter{0108}{\^C} \DeclareUnicodeCharacter{0109}{\^c} \DeclareUnicodeCharacter{0118}{\ogonek{E}} \DeclareUnicodeCharacter{0119}{\ogonek{e}} \DeclareUnicodeCharacter{010A}{\dotaccent{C}} \DeclareUnicodeCharacter{010B}{\dotaccent{c}} \DeclareUnicodeCharacter{010C}{\v{C}} \DeclareUnicodeCharacter{010D}{\v{c}} \DeclareUnicodeCharacter{010E}{\v{D}} \DeclareUnicodeCharacter{0112}{\=E} \DeclareUnicodeCharacter{0113}{\=e} \DeclareUnicodeCharacter{0114}{\u{E}} \DeclareUnicodeCharacter{0115}{\u{e}} \DeclareUnicodeCharacter{0116}{\dotaccent{E}} \DeclareUnicodeCharacter{0117}{\dotaccent{e}} \DeclareUnicodeCharacter{011A}{\v{E}} \DeclareUnicodeCharacter{011B}{\v{e}} \DeclareUnicodeCharacter{011C}{\^G} \DeclareUnicodeCharacter{011D}{\^g} \DeclareUnicodeCharacter{011E}{\u{G}} \DeclareUnicodeCharacter{011F}{\u{g}} \DeclareUnicodeCharacter{0120}{\dotaccent{G}} \DeclareUnicodeCharacter{0121}{\dotaccent{g}} \DeclareUnicodeCharacter{0124}{\^H} \DeclareUnicodeCharacter{0125}{\^h} \DeclareUnicodeCharacter{0128}{\~I} \DeclareUnicodeCharacter{0129}{\~{\dotless{i}}} \DeclareUnicodeCharacter{012A}{\=I} \DeclareUnicodeCharacter{012B}{\={\dotless{i}}} \DeclareUnicodeCharacter{012C}{\u{I}} \DeclareUnicodeCharacter{012D}{\u{\dotless{i}}} \DeclareUnicodeCharacter{0130}{\dotaccent{I}} \DeclareUnicodeCharacter{0131}{\dotless{i}} \DeclareUnicodeCharacter{0132}{IJ} \DeclareUnicodeCharacter{0133}{ij} \DeclareUnicodeCharacter{0134}{\^J} \DeclareUnicodeCharacter{0135}{\^{\dotless{j}}} \DeclareUnicodeCharacter{0139}{\'L} \DeclareUnicodeCharacter{013A}{\'l} \DeclareUnicodeCharacter{0141}{\L} \DeclareUnicodeCharacter{0142}{\l} \DeclareUnicodeCharacter{0143}{\'N} \DeclareUnicodeCharacter{0144}{\'n} \DeclareUnicodeCharacter{0147}{\v{N}} \DeclareUnicodeCharacter{0148}{\v{n}} \DeclareUnicodeCharacter{014C}{\=O} \DeclareUnicodeCharacter{014D}{\=o} \DeclareUnicodeCharacter{014E}{\u{O}} \DeclareUnicodeCharacter{014F}{\u{o}} \DeclareUnicodeCharacter{0150}{\H{O}} \DeclareUnicodeCharacter{0151}{\H{o}} \DeclareUnicodeCharacter{0152}{\OE} \DeclareUnicodeCharacter{0153}{\oe} \DeclareUnicodeCharacter{0154}{\'R} \DeclareUnicodeCharacter{0155}{\'r} \DeclareUnicodeCharacter{0158}{\v{R}} \DeclareUnicodeCharacter{0159}{\v{r}} \DeclareUnicodeCharacter{015A}{\'S} \DeclareUnicodeCharacter{015B}{\'s} \DeclareUnicodeCharacter{015C}{\^S} \DeclareUnicodeCharacter{015D}{\^s} \DeclareUnicodeCharacter{015E}{\cedilla{S}} \DeclareUnicodeCharacter{015F}{\cedilla{s}} \DeclareUnicodeCharacter{0160}{\v{S}} \DeclareUnicodeCharacter{0161}{\v{s}} \DeclareUnicodeCharacter{0162}{\cedilla{t}} \DeclareUnicodeCharacter{0163}{\cedilla{T}} \DeclareUnicodeCharacter{0164}{\v{T}} \DeclareUnicodeCharacter{0168}{\~U} \DeclareUnicodeCharacter{0169}{\~u} \DeclareUnicodeCharacter{016A}{\=U} \DeclareUnicodeCharacter{016B}{\=u} \DeclareUnicodeCharacter{016C}{\u{U}} \DeclareUnicodeCharacter{016D}{\u{u}} \DeclareUnicodeCharacter{016E}{\ringaccent{U}} \DeclareUnicodeCharacter{016F}{\ringaccent{u}} \DeclareUnicodeCharacter{0170}{\H{U}} \DeclareUnicodeCharacter{0171}{\H{u}} \DeclareUnicodeCharacter{0174}{\^W} \DeclareUnicodeCharacter{0175}{\^w} \DeclareUnicodeCharacter{0176}{\^Y} \DeclareUnicodeCharacter{0177}{\^y} \DeclareUnicodeCharacter{0178}{\"Y} \DeclareUnicodeCharacter{0179}{\'Z} \DeclareUnicodeCharacter{017A}{\'z} \DeclareUnicodeCharacter{017B}{\dotaccent{Z}} \DeclareUnicodeCharacter{017C}{\dotaccent{z}} \DeclareUnicodeCharacter{017D}{\v{Z}} \DeclareUnicodeCharacter{017E}{\v{z}} \DeclareUnicodeCharacter{01C4}{D\v{Z}} \DeclareUnicodeCharacter{01C5}{D\v{z}} \DeclareUnicodeCharacter{01C6}{d\v{z}} \DeclareUnicodeCharacter{01C7}{LJ} \DeclareUnicodeCharacter{01C8}{Lj} \DeclareUnicodeCharacter{01C9}{lj} \DeclareUnicodeCharacter{01CA}{NJ} \DeclareUnicodeCharacter{01CB}{Nj} \DeclareUnicodeCharacter{01CC}{nj} \DeclareUnicodeCharacter{01CD}{\v{A}} \DeclareUnicodeCharacter{01CE}{\v{a}} \DeclareUnicodeCharacter{01CF}{\v{I}} \DeclareUnicodeCharacter{01D0}{\v{\dotless{i}}} \DeclareUnicodeCharacter{01D1}{\v{O}} \DeclareUnicodeCharacter{01D2}{\v{o}} \DeclareUnicodeCharacter{01D3}{\v{U}} \DeclareUnicodeCharacter{01D4}{\v{u}} \DeclareUnicodeCharacter{01E2}{\={\AE}} \DeclareUnicodeCharacter{01E3}{\={\ae}} \DeclareUnicodeCharacter{01E6}{\v{G}} \DeclareUnicodeCharacter{01E7}{\v{g}} \DeclareUnicodeCharacter{01E8}{\v{K}} \DeclareUnicodeCharacter{01E9}{\v{k}} \DeclareUnicodeCharacter{01F0}{\v{\dotless{j}}} \DeclareUnicodeCharacter{01F1}{DZ} \DeclareUnicodeCharacter{01F2}{Dz} \DeclareUnicodeCharacter{01F3}{dz} \DeclareUnicodeCharacter{01F4}{\'G} \DeclareUnicodeCharacter{01F5}{\'g} \DeclareUnicodeCharacter{01F8}{\`N} \DeclareUnicodeCharacter{01F9}{\`n} \DeclareUnicodeCharacter{01FC}{\'{\AE}} \DeclareUnicodeCharacter{01FD}{\'{\ae}} \DeclareUnicodeCharacter{01FE}{\'{\O}} \DeclareUnicodeCharacter{01FF}{\'{\o}} \DeclareUnicodeCharacter{021E}{\v{H}} \DeclareUnicodeCharacter{021F}{\v{h}} \DeclareUnicodeCharacter{0226}{\dotaccent{A}} \DeclareUnicodeCharacter{0227}{\dotaccent{a}} \DeclareUnicodeCharacter{0228}{\cedilla{E}} \DeclareUnicodeCharacter{0229}{\cedilla{e}} \DeclareUnicodeCharacter{022E}{\dotaccent{O}} \DeclareUnicodeCharacter{022F}{\dotaccent{o}} \DeclareUnicodeCharacter{0232}{\=Y} \DeclareUnicodeCharacter{0233}{\=y} \DeclareUnicodeCharacter{0237}{\dotless{j}} \DeclareUnicodeCharacter{02DB}{\ogonek{ }} \DeclareUnicodeCharacter{1E02}{\dotaccent{B}} \DeclareUnicodeCharacter{1E03}{\dotaccent{b}} \DeclareUnicodeCharacter{1E04}{\udotaccent{B}} \DeclareUnicodeCharacter{1E05}{\udotaccent{b}} \DeclareUnicodeCharacter{1E06}{\ubaraccent{B}} \DeclareUnicodeCharacter{1E07}{\ubaraccent{b}} \DeclareUnicodeCharacter{1E0A}{\dotaccent{D}} \DeclareUnicodeCharacter{1E0B}{\dotaccent{d}} \DeclareUnicodeCharacter{1E0C}{\udotaccent{D}} \DeclareUnicodeCharacter{1E0D}{\udotaccent{d}} \DeclareUnicodeCharacter{1E0E}{\ubaraccent{D}} \DeclareUnicodeCharacter{1E0F}{\ubaraccent{d}} \DeclareUnicodeCharacter{1E1E}{\dotaccent{F}} \DeclareUnicodeCharacter{1E1F}{\dotaccent{f}} \DeclareUnicodeCharacter{1E20}{\=G} \DeclareUnicodeCharacter{1E21}{\=g} \DeclareUnicodeCharacter{1E22}{\dotaccent{H}} \DeclareUnicodeCharacter{1E23}{\dotaccent{h}} \DeclareUnicodeCharacter{1E24}{\udotaccent{H}} \DeclareUnicodeCharacter{1E25}{\udotaccent{h}} \DeclareUnicodeCharacter{1E26}{\"H} \DeclareUnicodeCharacter{1E27}{\"h} \DeclareUnicodeCharacter{1E30}{\'K} \DeclareUnicodeCharacter{1E31}{\'k} \DeclareUnicodeCharacter{1E32}{\udotaccent{K}} \DeclareUnicodeCharacter{1E33}{\udotaccent{k}} \DeclareUnicodeCharacter{1E34}{\ubaraccent{K}} \DeclareUnicodeCharacter{1E35}{\ubaraccent{k}} \DeclareUnicodeCharacter{1E36}{\udotaccent{L}} \DeclareUnicodeCharacter{1E37}{\udotaccent{l}} \DeclareUnicodeCharacter{1E3A}{\ubaraccent{L}} \DeclareUnicodeCharacter{1E3B}{\ubaraccent{l}} \DeclareUnicodeCharacter{1E3E}{\'M} \DeclareUnicodeCharacter{1E3F}{\'m} \DeclareUnicodeCharacter{1E40}{\dotaccent{M}} \DeclareUnicodeCharacter{1E41}{\dotaccent{m}} \DeclareUnicodeCharacter{1E42}{\udotaccent{M}} \DeclareUnicodeCharacter{1E43}{\udotaccent{m}} \DeclareUnicodeCharacter{1E44}{\dotaccent{N}} \DeclareUnicodeCharacter{1E45}{\dotaccent{n}} \DeclareUnicodeCharacter{1E46}{\udotaccent{N}} \DeclareUnicodeCharacter{1E47}{\udotaccent{n}} \DeclareUnicodeCharacter{1E48}{\ubaraccent{N}} \DeclareUnicodeCharacter{1E49}{\ubaraccent{n}} \DeclareUnicodeCharacter{1E54}{\'P} \DeclareUnicodeCharacter{1E55}{\'p} \DeclareUnicodeCharacter{1E56}{\dotaccent{P}} \DeclareUnicodeCharacter{1E57}{\dotaccent{p}} \DeclareUnicodeCharacter{1E58}{\dotaccent{R}} \DeclareUnicodeCharacter{1E59}{\dotaccent{r}} \DeclareUnicodeCharacter{1E5A}{\udotaccent{R}} \DeclareUnicodeCharacter{1E5B}{\udotaccent{r}} \DeclareUnicodeCharacter{1E5E}{\ubaraccent{R}} \DeclareUnicodeCharacter{1E5F}{\ubaraccent{r}} \DeclareUnicodeCharacter{1E60}{\dotaccent{S}} \DeclareUnicodeCharacter{1E61}{\dotaccent{s}} \DeclareUnicodeCharacter{1E62}{\udotaccent{S}} \DeclareUnicodeCharacter{1E63}{\udotaccent{s}} \DeclareUnicodeCharacter{1E6A}{\dotaccent{T}} \DeclareUnicodeCharacter{1E6B}{\dotaccent{t}} \DeclareUnicodeCharacter{1E6C}{\udotaccent{T}} \DeclareUnicodeCharacter{1E6D}{\udotaccent{t}} \DeclareUnicodeCharacter{1E6E}{\ubaraccent{T}} \DeclareUnicodeCharacter{1E6F}{\ubaraccent{t}} \DeclareUnicodeCharacter{1E7C}{\~V} \DeclareUnicodeCharacter{1E7D}{\~v} \DeclareUnicodeCharacter{1E7E}{\udotaccent{V}} \DeclareUnicodeCharacter{1E7F}{\udotaccent{v}} \DeclareUnicodeCharacter{1E80}{\`W} \DeclareUnicodeCharacter{1E81}{\`w} \DeclareUnicodeCharacter{1E82}{\'W} \DeclareUnicodeCharacter{1E83}{\'w} \DeclareUnicodeCharacter{1E84}{\"W} \DeclareUnicodeCharacter{1E85}{\"w} \DeclareUnicodeCharacter{1E86}{\dotaccent{W}} \DeclareUnicodeCharacter{1E87}{\dotaccent{w}} \DeclareUnicodeCharacter{1E88}{\udotaccent{W}} \DeclareUnicodeCharacter{1E89}{\udotaccent{w}} \DeclareUnicodeCharacter{1E8A}{\dotaccent{X}} \DeclareUnicodeCharacter{1E8B}{\dotaccent{x}} \DeclareUnicodeCharacter{1E8C}{\"X} \DeclareUnicodeCharacter{1E8D}{\"x} \DeclareUnicodeCharacter{1E8E}{\dotaccent{Y}} \DeclareUnicodeCharacter{1E8F}{\dotaccent{y}} \DeclareUnicodeCharacter{1E90}{\^Z} \DeclareUnicodeCharacter{1E91}{\^z} \DeclareUnicodeCharacter{1E92}{\udotaccent{Z}} \DeclareUnicodeCharacter{1E93}{\udotaccent{z}} \DeclareUnicodeCharacter{1E94}{\ubaraccent{Z}} \DeclareUnicodeCharacter{1E95}{\ubaraccent{z}} \DeclareUnicodeCharacter{1E96}{\ubaraccent{h}} \DeclareUnicodeCharacter{1E97}{\"t} \DeclareUnicodeCharacter{1E98}{\ringaccent{w}} \DeclareUnicodeCharacter{1E99}{\ringaccent{y}} \DeclareUnicodeCharacter{1EA0}{\udotaccent{A}} \DeclareUnicodeCharacter{1EA1}{\udotaccent{a}} \DeclareUnicodeCharacter{1EB8}{\udotaccent{E}} \DeclareUnicodeCharacter{1EB9}{\udotaccent{e}} \DeclareUnicodeCharacter{1EBC}{\~E} \DeclareUnicodeCharacter{1EBD}{\~e} \DeclareUnicodeCharacter{1ECA}{\udotaccent{I}} \DeclareUnicodeCharacter{1ECB}{\udotaccent{i}} \DeclareUnicodeCharacter{1ECC}{\udotaccent{O}} \DeclareUnicodeCharacter{1ECD}{\udotaccent{o}} \DeclareUnicodeCharacter{1EE4}{\udotaccent{U}} \DeclareUnicodeCharacter{1EE5}{\udotaccent{u}} \DeclareUnicodeCharacter{1EF2}{\`Y} \DeclareUnicodeCharacter{1EF3}{\`y} \DeclareUnicodeCharacter{1EF4}{\udotaccent{Y}} \DeclareUnicodeCharacter{1EF8}{\~Y} \DeclareUnicodeCharacter{1EF9}{\~y} \DeclareUnicodeCharacter{2013}{--} \DeclareUnicodeCharacter{2014}{---} \DeclareUnicodeCharacter{2018}{\quoteleft} \DeclareUnicodeCharacter{2019}{\quoteright} \DeclareUnicodeCharacter{201A}{\quotesinglbase} \DeclareUnicodeCharacter{201C}{\quotedblleft} \DeclareUnicodeCharacter{201D}{\quotedblright} \DeclareUnicodeCharacter{201E}{\quotedblbase} \DeclareUnicodeCharacter{2022}{\bullet} \DeclareUnicodeCharacter{2026}{\dots} \DeclareUnicodeCharacter{2039}{\guilsinglleft} \DeclareUnicodeCharacter{203A}{\guilsinglright} \DeclareUnicodeCharacter{20AC}{\euro} \DeclareUnicodeCharacter{2192}{\expansion} \DeclareUnicodeCharacter{21D2}{\result} \DeclareUnicodeCharacter{2212}{\minus} \DeclareUnicodeCharacter{2217}{\point} \DeclareUnicodeCharacter{2261}{\equiv} }% end of \utfeightchardefs % US-ASCII character definitions. \def\asciichardefs{% nothing need be done \relax } % Make non-ASCII characters printable again for compatibility with % existing Texinfo documents that may use them, even without declaring a % document encoding. % \setnonasciicharscatcode \other \message{formatting,} \newdimen\defaultparindent \defaultparindent = 15pt \chapheadingskip = 15pt plus 4pt minus 2pt \secheadingskip = 12pt plus 3pt minus 2pt \subsecheadingskip = 9pt plus 2pt minus 2pt % Prevent underfull vbox error messages. \vbadness = 10000 % Don't be very finicky about underfull hboxes, either. \hbadness = 6666 % Following George Bush, get rid of widows and orphans. \widowpenalty=10000 \clubpenalty=10000 % Use TeX 3.0's \emergencystretch to help line breaking, but if we're % using an old version of TeX, don't do anything. We want the amount of % stretch added to depend on the line length, hence the dependence on % \hsize. We call this whenever the paper size is set. % \def\setemergencystretch{% \ifx\emergencystretch\thisisundefined % Allow us to assign to \emergencystretch anyway. \def\emergencystretch{\dimen0}% \else \emergencystretch = .15\hsize \fi } % Parameters in order: 1) textheight; 2) textwidth; % 3) voffset; 4) hoffset; 5) binding offset; 6) topskip; % 7) physical page height; 8) physical page width. % % We also call \setleading{\textleading}, so the caller should define % \textleading. The caller should also set \parskip. % \def\internalpagesizes#1#2#3#4#5#6#7#8{% \voffset = #3\relax \topskip = #6\relax \splittopskip = \topskip % \vsize = #1\relax \advance\vsize by \topskip \outervsize = \vsize \advance\outervsize by 2\topandbottommargin \pageheight = \vsize % \hsize = #2\relax \outerhsize = \hsize \advance\outerhsize by 0.5in \pagewidth = \hsize % \normaloffset = #4\relax \bindingoffset = #5\relax % \ifpdf \pdfpageheight #7\relax \pdfpagewidth #8\relax % if we don't reset these, they will remain at "1 true in" of % whatever layout pdftex was dumped with. \pdfhorigin = 1 true in \pdfvorigin = 1 true in \fi % \setleading{\textleading} % \parindent = \defaultparindent \setemergencystretch } % @letterpaper (the default). \def\letterpaper{{\globaldefs = 1 \parskip = 3pt plus 2pt minus 1pt \textleading = 13.2pt % % If page is nothing but text, make it come out even. \internalpagesizes{607.2pt}{6in}% that's 46 lines {\voffset}{.25in}% {\bindingoffset}{36pt}% {11in}{8.5in}% }} % Use @smallbook to reset parameters for 7x9.25 trim size. \def\smallbook{{\globaldefs = 1 \parskip = 2pt plus 1pt \textleading = 12pt % \internalpagesizes{7.5in}{5in}% {-.2in}{0in}% {\bindingoffset}{16pt}% {9.25in}{7in}% % \lispnarrowing = 0.3in \tolerance = 700 \hfuzz = 1pt \contentsrightmargin = 0pt \defbodyindent = .5cm }} % Use @smallerbook to reset parameters for 6x9 trim size. % (Just testing, parameters still in flux.) \def\smallerbook{{\globaldefs = 1 \parskip = 1.5pt plus 1pt \textleading = 12pt % \internalpagesizes{7.4in}{4.8in}% {-.2in}{-.4in}% {0pt}{14pt}% {9in}{6in}% % \lispnarrowing = 0.25in \tolerance = 700 \hfuzz = 1pt \contentsrightmargin = 0pt \defbodyindent = .4cm }} % Use @afourpaper to print on European A4 paper. \def\afourpaper{{\globaldefs = 1 \parskip = 3pt plus 2pt minus 1pt \textleading = 13.2pt % % Double-side printing via postscript on Laserjet 4050 % prints double-sided nicely when \bindingoffset=10mm and \hoffset=-6mm. % To change the settings for a different printer or situation, adjust % \normaloffset until the front-side and back-side texts align. Then % do the same for \bindingoffset. You can set these for testing in % your texinfo source file like this: % @tex % \global\normaloffset = -6mm % \global\bindingoffset = 10mm % @end tex \internalpagesizes{673.2pt}{160mm}% that's 51 lines {\voffset}{\hoffset}% {\bindingoffset}{44pt}% {297mm}{210mm}% % \tolerance = 700 \hfuzz = 1pt \contentsrightmargin = 0pt \defbodyindent = 5mm }} % Use @afivepaper to print on European A5 paper. % From romildo@urano.iceb.ufop.br, 2 July 2000. % He also recommends making @example and @lisp be small. \def\afivepaper{{\globaldefs = 1 \parskip = 2pt plus 1pt minus 0.1pt \textleading = 12.5pt % \internalpagesizes{160mm}{120mm}% {\voffset}{\hoffset}% {\bindingoffset}{8pt}% {210mm}{148mm}% % \lispnarrowing = 0.2in \tolerance = 800 \hfuzz = 1.2pt \contentsrightmargin = 0pt \defbodyindent = 2mm \tableindent = 12mm }} % A specific text layout, 24x15cm overall, intended for A4 paper. \def\afourlatex{{\globaldefs = 1 \afourpaper \internalpagesizes{237mm}{150mm}% {\voffset}{4.6mm}% {\bindingoffset}{7mm}% {297mm}{210mm}% % % Must explicitly reset to 0 because we call \afourpaper. \globaldefs = 0 }} % Use @afourwide to print on A4 paper in landscape format. \def\afourwide{{\globaldefs = 1 \afourpaper \internalpagesizes{241mm}{165mm}% {\voffset}{-2.95mm}% {\bindingoffset}{7mm}% {297mm}{210mm}% \globaldefs = 0 }} % @pagesizes TEXTHEIGHT[,TEXTWIDTH] % Perhaps we should allow setting the margins, \topskip, \parskip, % and/or leading, also. Or perhaps we should compute them somehow. % \parseargdef\pagesizes{\pagesizesyyy #1,,\finish} \def\pagesizesyyy#1,#2,#3\finish{{% \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \hsize=#2\relax \fi \globaldefs = 1 % \parskip = 3pt plus 2pt minus 1pt \setleading{\textleading}% % \dimen0 = #1\relax \advance\dimen0 by \voffset % \dimen2 = \hsize \advance\dimen2 by \normaloffset % \internalpagesizes{#1}{\hsize}% {\voffset}{\normaloffset}% {\bindingoffset}{44pt}% {\dimen0}{\dimen2}% }} % Set default to letter. % \letterpaper \message{and turning on texinfo input format.} % DEL is a comment character, in case @c does not suffice. \catcode`\^^? = 14 % Define macros to output various characters with catcode for normal text. \catcode`\"=\other \catcode`\~=\other \catcode`\^=\other \catcode`\_=\other \catcode`\|=\other \catcode`\<=\other \catcode`\>=\other \catcode`\+=\other \catcode`\$=\other \def\normaldoublequote{"} \def\normaltilde{~} \def\normalcaret{^} \def\normalunderscore{_} \def\normalverticalbar{|} \def\normalless{<} \def\normalgreater{>} \def\normalplus{+} \def\normaldollar{$}%$ font-lock fix % This macro is used to make a character print one way in \tt % (where it can probably be output as-is), and another way in other fonts, % where something hairier probably needs to be done. % % #1 is what to print if we are indeed using \tt; #2 is what to print % otherwise. Since all the Computer Modern typewriter fonts have zero % interword stretch (and shrink), and it is reasonable to expect all % typewriter fonts to have this, we can check that font parameter. % \def\ifusingtt#1#2{\ifdim \fontdimen3\font=0pt #1\else #2\fi} % Same as above, but check for italic font. Actually this also catches % non-italic slanted fonts since it is impossible to distinguish them from % italic fonts. But since this is only used by $ and it uses \sl anyway % this is not a problem. \def\ifusingit#1#2{\ifdim \fontdimen1\font>0pt #1\else #2\fi} % Turn off all special characters except @ % (and those which the user can use as if they were ordinary). % Most of these we simply print from the \tt font, but for some, we can % use math or other variants that look better in normal text. \catcode`\"=\active \def\activedoublequote{{\tt\char34}} \let"=\activedoublequote \catcode`\~=\active \def~{{\tt\char126}} \chardef\hat=`\^ \catcode`\^=\active \def^{{\tt \hat}} \catcode`\_=\active \def_{\ifusingtt\normalunderscore\_} \let\realunder=_ % Subroutine for the previous macro. \def\_{\leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em } \catcode`\|=\active \def|{{\tt\char124}} \chardef \less=`\< \catcode`\<=\active \def<{{\tt \less}} \chardef \gtr=`\> \catcode`\>=\active \def>{{\tt \gtr}} \catcode`\+=\active \def+{{\tt \char 43}} \catcode`\$=\active \def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix % If a .fmt file is being used, characters that might appear in a file % name cannot be active until we have parsed the command line. % So turn them off again, and have \everyjob (or @setfilename) turn them on. % \otherifyactive is called near the end of this file. \def\otherifyactive{\catcode`+=\other \catcode`\_=\other} % Used sometimes to turn off (effectively) the active characters even after % parsing them. \def\turnoffactive{% \normalturnoffactive \otherbackslash } \catcode`\@=0 % \backslashcurfont outputs one backslash character in current font, % as in \char`\\. \global\chardef\backslashcurfont=`\\ \global\let\rawbackslashxx=\backslashcurfont % let existing .??s files work % \realbackslash is an actual character `\' with catcode other, and % \doublebackslash is two of them (for the pdf outlines). {\catcode`\\=\other @gdef@realbackslash{\} @gdef@doublebackslash{\\}} % In texinfo, backslash is an active character; it prints the backslash % in fixed width font. \catcode`\\=\active @def@normalbackslash{{@tt@backslashcurfont}} % On startup, @fixbackslash assigns: % @let \ = @normalbackslash % \rawbackslash defines an active \ to do \backslashcurfont. % \otherbackslash defines an active \ to be a literal `\' character with % catcode other. @gdef@rawbackslash{@let\=@backslashcurfont} @gdef@otherbackslash{@let\=@realbackslash} % Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of % the literal character `\'. % @def@normalturnoffactive{% @let\=@normalbackslash @let"=@normaldoublequote @let~=@normaltilde @let^=@normalcaret @let_=@normalunderscore @let|=@normalverticalbar @let<=@normalless @let>=@normalgreater @let+=@normalplus @let$=@normaldollar %$ font-lock fix @markupsetuplqdefault @markupsetuprqdefault @unsepspaces } % Make _ and + \other characters, temporarily. % This is canceled by @fixbackslash. @otherifyactive % If a .fmt file is being used, we don't want the `\input texinfo' to show up. % That is what \eatinput is for; after that, the `\' should revert to printing % a backslash. % @gdef@eatinput input texinfo{@fixbackslash} @global@let\ = @eatinput % On the other hand, perhaps the file did not have a `\input texinfo'. Then % the first `\' in the file would cause an error. This macro tries to fix % that, assuming it is called before the first `\' could plausibly occur. % Also turn back on active characters that might appear in the input % file name, in case not using a pre-dumped format. % @gdef@fixbackslash{% @ifx\@eatinput @let\ = @normalbackslash @fi @catcode`+=@active @catcode`@_=@active } % Say @foo, not \foo, in error messages. @escapechar = `@@ % These look ok in all fonts, so just make them not special. @catcode`@& = @other @catcode`@# = @other @catcode`@% = @other @c Finally, make ` and ' active, so that txicodequoteundirected and @c txicodequotebacktick work right in, e.g., @w{@code{`foo'}}. If we @c don't make ` and ' active, @code will not get them as active chars. @c Do this last of all since we use ` in the previous @catcode assignments. @catcode`@'=@active @catcode`@`=@active @markupsetuplqdefault @markupsetuprqdefault @c Local variables: @c eval: (add-hook 'write-file-hooks 'time-stamp) @c page-delimiter: "^\\\\message" @c time-stamp-start: "def\\\\texinfoversion{" @c time-stamp-format: "%:y-%02m-%02d.%02H" @c time-stamp-end: "}" @c End: @c vim:sw=2: @ignore arch-tag: e1b36e32-c96e-4135-a41a-0b2efa2ea115 @end ignore parted-2.3/build-aux/config.sub0000744000000000000000000010412211377276065013415 00000000000000#! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 # Free Software Foundation, Inc. timestamp='2010-05-21' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software # can handle that machine. It does not imply ALL GNU software can. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, 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. # Please send patches to . Submit a context # diff and a properly formatted GNU ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS $0 [OPTION] ALIAS Canonicalize a configuration name. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo $1 exit ;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ knetbsd*-gnu* | netbsd*-gnu* | \ kopensolaris*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] then os=`echo $1 | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis | -knuth | -cray | -microblaze) os= basic_machine=$1 ;; -bluegene*) os=-cnk ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -chorusos*) os=-chorusos basic_machine=$1 ;; -chorusrdb) os=-chorusrdb basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco6) os=-sco5v6 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5v6*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; -windowsnt*) os=`echo $os | sed -e 's/windowsnt/winnt/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64octeon | mips64octeonel \ | mips64orion | mips64orionel \ | mips64r5900 | mips64r5900el \ | mips64vr | mips64vrel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | moxie \ | mt \ | msp430 \ | nios | nios2 \ | ns16k | ns32k \ | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu | strongarm \ | tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ | ubicom32 \ | v850 | v850e \ | we32k \ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown ;; c54x) basic_machine=tic54x-unknown ;; c55x) basic_machine=tic55x-unknown ;; c6x) basic_machine=tic6x-unknown ;; m6811 | m68hc11 | m6812 | m68hc12 | picochip) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; ms1) basic_machine=mt-unknown ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \ | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64octeon-* | mips64octeonel-* \ | mips64orion-* | mips64orionel-* \ | mips64r5900-* | mips64r5900el-* \ | mips64vr-* | mips64vrel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nios-* | nios2-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tile-* | tilegx-* \ | tron-* \ | ubicom32-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ | z8k-* | z80-*) ;; # Recognize the basic CPU types without company name, with glob match. xtensa*) basic_machine=$basic_machine-unknown ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-unknown os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; abacus) basic_machine=abacus-unknown ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amd64) basic_machine=x86_64-pc ;; amd64-*) basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aros) basic_machine=i386-pc os=-aros ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; blackfin) basic_machine=bfin-unknown os=-linux ;; blackfin-*) basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; bluegene*) basic_machine=powerpc-ibm os=-cnk ;; c54x-*) basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c55x-*) basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c6x-*) basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c90) basic_machine=c90-cray os=-unicos ;; cegcc) basic_machine=arm-unknown os=-cegcc ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | j90) basic_machine=j90-cray os=-unicos ;; craynv) basic_machine=craynv-cray os=-unicosmp ;; cr16) basic_machine=cr16-unknown os=-elf ;; crds | unos) basic_machine=m68k-crds ;; crisv32 | crisv32-* | etraxfs*) basic_machine=crisv32-axis ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; crx) basic_machine=crx-unknown os=-elf ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; decsystem10* | dec10*) basic_machine=pdp10-dec os=-tops10 ;; decsystem20* | dec20*) basic_machine=pdp10-dec os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; dicos) basic_machine=i686-pc os=-dicos ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; # I'm not sure what "Sysv32" means. Should this be sysv3.2? i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; i386-vsta | vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; m68knommu) basic_machine=m68k-unknown os=-linux ;; m68knommu-*) basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; microblaze) basic_machine=microblaze-xilinx ;; mingw32) basic_machine=i386-pc os=-mingw32 ;; mingw32ce) basic_machine=arm-unknown os=-mingw32ce ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; msdos) basic_machine=i386-pc os=-msdos ;; ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; mvs) basic_machine=i370-ibm os=-mvs ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next ) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; openrisc | openrisc-*) basic_machine=or32-unknown ;; os400) basic_machine=powerpc-ibm os=-os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; parisc) basic_machine=hppa-unknown os=-linux ;; parisc-*) basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pc98) basic_machine=i386-pc ;; pc98-*) basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; pentium4) basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium4-*) basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc) basic_machine=powerpc-unknown ;; ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little | ppc64-le | powerpc64-little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rdos) basic_machine=i386-pc os=-rdos ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; s390 | s390-*) basic_machine=s390-ibm ;; s390x | s390x-*) basic_machine=s390x-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sb1) basic_machine=mipsisa64sb1-unknown ;; sb1el) basic_machine=mipsisa64sb1el-unknown ;; sde) basic_machine=mipsisa32-sde os=-elf ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh5el) basic_machine=sh5le-unknown ;; sh64) basic_machine=sh64-unknown ;; sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=alphaev5-cray os=-unicos ;; t90) basic_machine=t90-cray os=-unicos ;; # This must be matched before tile*. tilegx*) basic_machine=tilegx-unknown os=-linux-gnu ;; tile*) basic_machine=tile-unknown os=-linux-gnu ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; tpf) basic_machine=s390x-ibm os=-tpf ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; xbox) basic_machine=i686-pc os=-mingw32 ;; xps | xps100) basic_machine=xps100-honeywell ;; ymp) basic_machine=ymp-cray os=-unicos ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; z80-*-coff) basic_machine=z80-unknown os=-sim ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; romp) basic_machine=romp-ibm ;; mmix) basic_machine=mmix-knuth ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -auroraux) os=-auroraux ;; -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -svr4*) os=-sysv4 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # First accept the basic system types. # The portable systems comes first. # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ | -sym* | -kopensolaris* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ | -openbsd* | -solidbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -linux-android* \ | -linux-newlib* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto-qnx*) ;; -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -linux-dietlibc) os=-linux-dietlibc ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo $os | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -os400*) os=-os400 ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -syllable*) os=-syllable ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -nova*) os=-rtmk-nova ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -tpf*) os=-tpf ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -aros*) os=-aros ;; -kaos*) os=-kaos ;; -zvmoe) os=-zvmoe ;; -dicos*) os=-dicos ;; -nacl*) ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in score-*) os=-elf ;; spu-*) os=-elf ;; *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; c4x-* | tic4x-*) os=-coff ;; tic54x-*) os=-coff ;; tic55x-*) os=-coff ;; tic6x-*) os=-coff ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 # This also exists in the configure program, but was not the # default. # os=-sunos4 ;; m68*-cisco) os=-aout ;; mep-*) os=-elf ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; or32-*) os=-coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; *-be) os=-beos ;; *-haiku) os=-haiku ;; *-ibm) os=-aix ;; *-knuth) os=-mmixware ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next ) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-next) os=-nextstep3 ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -cnk*|-aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -os400*) vendor=ibm ;; -ptx*) vendor=sequent ;; -tpf*) vendor=ibm ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; -vos*) vendor=stratus ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os exit # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: parted-2.3/build-aux/update-copyright0000744000000000000000000002145311370541031014632 00000000000000eval '(exit $?0)' && eval 'exec perl -wS -0777 -pi "$0" ${1+"$@"}' & eval 'exec perl -wS -0777 -pi "$0" $argv:q' if 0; # Update an FSF copyright year list to include the current year. my $VERSION = '2009-12-28.11:09'; # UTC # Copyright (C) 2009-2010 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 3, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Written by Jim Meyering and Joel E. Denny # The arguments to this script should be names of files that contain FSF # copyright statements to be updated. For example, you might wish to # use the update-copyright target rule in maint.mk from gnulib's # maintainer-makefile module. # # Iff an FSF copyright statement is recognized in a file and the final # year is not the current year, then the statement is updated for the # new year and it is reformatted to: # # 1. Fit within 72 columns. # 2. Convert 2-digit years to 4-digit years by prepending "19". # 3. Expand copyright year intervals. (See "Environment variables" # below.) # # A warning is printed for every file for which no FSF copyright # statement is recognized. # # Each file's FSF copyright statement must be formated correctly in # order to be recognized. For example, each of these is fine: # # Copyright @copyright{} 1990-2005, 2007-2009 Free Software # Foundation, Inc. # # # Copyright (C) 1990-2005, 2007-2009 Free Software # # Foundation, Inc. # # /* # * Copyright © 90,2005,2007-2009 # * Free Software Foundation, Inc. # */ # # However, the following format is not recognized because the line # prefix changes after the first line: # # ## Copyright (C) 1990-2005, 2007-2009 Free Software # # Foundation, Inc. # # The following copyright statement is not recognized because the # copyright holder is not the FSF: # # Copyright (C) 1990-2005, 2007-2009 Acme, Inc. # # However, any correctly formatted FSF copyright statement following # either of the previous two copyright statements would be recognized. # # The exact conditions that a file's FSF copyright statement must meet # to be recognized are: # # 1. It is the first FSF copyright statement that meets all of the # following conditions. Subsequent FSF copyright statements are # ignored. # 2. Its format is "Copyright (C)", then a list of copyright years, # and then the name of the copyright holder, which is "Free # Software Foundation, Inc.". # 3. The "(C)" takes one of the following forms or is omitted # entirely: # # A. (C) # B. (c) # C. @copyright{} # D. © # # 4. The "Copyright" appears at the beginning of a line except that it # may be prefixed by any sequence (e.g., a comment) of no more than # 5 characters. # 5. Iff such a prefix is present, the same prefix appears at the # beginning of each remaining line within the FSF copyright # statement. There is one exception in order to support C-style # comments: if the first line's prefix contains nothing but # whitespace surrounding a "/*", then the prefix for all subsequent # lines is the same as the first line's prefix except with each of # "/" and possibly "*" replaced by a " ". The replacement of "*" # by " " is consistent throughout all subsequent lines. # 6. Blank lines, even if preceded by the prefix, do not appear # within the FSF copyright statement. # 7. Each copyright year is 2 or 4 digits, and years are separated by # commas or dashes. Whitespace may appear after commas. # # Environment variables: # # 1. If UPDATE_COPYRIGHT_FORCE=1, a recognized FSF copyright statement # is reformatted even if it does not need updating for the new # year. If unset or set to 0, only updated FSF copyright # statements are reformatted. # 2. If UPDATE_COPYRIGHT_USE_INTERVALS=1, every series of consecutive # copyright years (such as 90, 1991, 1992-2007, 2008) in a # reformatted FSF copyright statement is collapsed to a single # interval (such as 1990-2008). If unset or set to 0, all existing # copyright year intervals in a reformatted FSF copyright statement # are expanded instead. # 3. For testing purposes, you can set the assumed current year in # UPDATE_COPYRIGHT_YEAR. # 4. The default maximum line length for a copyright line is 72. # Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH to use a different length. use strict; use warnings; my $copyright_re = 'Copyright'; my $circle_c_re = '(?:\([cC]\)|@copyright{}|©)'; my $holder = 'Free Software Foundation, Inc.'; my $prefix_max = 5; my $margin = $ENV{UPDATE_COPYRIGHT_MAX_LINE_LENGTH}; !$margin || $margin !~ m/^\d+$/ and $margin = 72; my $tab_width = 8; my $this_year = $ENV{UPDATE_COPYRIGHT_YEAR}; if (!$this_year || $this_year !~ m/^\d{4}$/) { my ($sec, $min, $hour, $mday, $month, $year) = localtime (time ()); $this_year = $year + 1900; } # Unless the file consistently uses "\r\n" as the EOL, use "\n" instead. my $eol = /(?:^|[^\r])\n/ ? "\n" : "\r\n"; my $leading; my $prefix; my $ws_re; my $stmt_re; while (/(^|\n)(.{0,$prefix_max})$copyright_re/g) { $leading = "$1$2"; $prefix = $2; if ($prefix =~ /^(\s*\/)\*(\s*)$/) { $prefix =~ s,/, ,; my $prefix_ws = $prefix; $prefix_ws =~ s/\*/ /; # Only whitespace. if (/\G(?:[^*\n]|\*[^\/\n])*\*?\n$prefix_ws/) { $prefix = $prefix_ws; } } $ws_re = '[ \t\r\f]'; # \s without \n $ws_re = "(?:$ws_re*(?:$ws_re|\\n" . quotemeta($prefix) . ")$ws_re*)"; my $holder_re = $holder; $holder_re =~ s/\s/$ws_re/g; my $stmt_remainder_re = "(?:$ws_re$circle_c_re)?" . "$ws_re(?:(?:\\d\\d)?\\d\\d(?:,$ws_re?|-))*" . "((?:\\d\\d)?\\d\\d)$ws_re$holder_re"; if (/\G$stmt_remainder_re/) { $stmt_re = quotemeta($leading) . "($copyright_re$stmt_remainder_re)"; last; } } if (defined $stmt_re) { /$stmt_re/ or die; # Should never die. my $stmt = $1; my $final_year_orig = $2; # Handle two-digit year numbers like "98" and "99". my $final_year = $final_year_orig; $final_year <= 99 and $final_year += 1900; if ($final_year != $this_year) { # Update the year. $stmt =~ s/$final_year_orig/$final_year, $this_year/; } if ($final_year != $this_year || $ENV{'UPDATE_COPYRIGHT_FORCE'}) { # Normalize all whitespace including newline-prefix sequences. $stmt =~ s/$ws_re/ /g; # Put spaces after commas. $stmt =~ s/, ?/, /g; # Convert 2-digit to 4-digit years. $stmt =~ s/(\b\d\d\b)/19$1/g; # Make the use of intervals consistent. if (!$ENV{UPDATE_COPYRIGHT_USE_INTERVALS}) { $stmt =~ s/(\d{4})-(\d{4})/join(', ', $1..$2)/eg; } else { $stmt =~ s/ (\d{4}) (?: (,\ |-) ((??{ if ($2 eq '-') { '\d{4}'; } elsif (!$3) { $1 + 1; } else { $3 + 1; } })) )+ /$1-$3/gx; } # Format within margin. my $stmt_wrapped; my $text_margin = $margin - length($prefix); if ($prefix =~ /^(\t+)/) { $text_margin -= length($1) * ($tab_width - 1); } while (length $stmt) { if (($stmt =~ s/^(.{1,$text_margin})(?: |$)//) || ($stmt =~ s/^([\S]+)(?: |$)//)) { my $line = $1; $stmt_wrapped .= $stmt_wrapped ? "$eol$prefix" : $leading; $stmt_wrapped .= $line; } else { # Should be unreachable, but we don't want an infinite # loop if it can be reached. die; } } # Replace the old copyright statement. s/$stmt_re/$stmt_wrapped/; } } else { print STDERR "$ARGV: warning: FSF copyright statement not found\n"; } # Local variables: # mode: perl # indent-tabs-mode: nil # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "my $VERSION = '" # time-stamp-format: "%:y-%02m-%02d.%02H:%02M" # time-stamp-time-zone: "UTC" # time-stamp-end: "'; # UTC" # End: parted-2.3/build-aux/mdate-sh0000744000000000000000000001301411370541031013036 00000000000000#!/bin/sh # Get modification time of a file or directory and pretty-print it. scriptversion=2010-02-22.21; # UTC # Copyright (C) 1995, 1996, 1997, 2003, 2004, 2005, 2007, 2009, 2010 # Free Software Foundation, Inc. # written by Ulrich Drepper , June 1995 # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . case $1 in '') echo "$0: No file. Try \`$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: mdate-sh [--help] [--version] FILE Pretty-print the modification day of FILE, in the format: 1 January 1970 Report bugs to . EOF exit $? ;; -v | --v*) echo "mdate-sh $scriptversion" exit $? ;; esac # Prevent date giving response in another language. LANG=C export LANG LC_ALL=C export LC_ALL LC_TIME=C export LC_TIME # GNU ls changes its time format in response to the TIME_STYLE # variable. Since we cannot assume `unset' works, revert this # variable to its documented default. if test "${TIME_STYLE+set}" = set; then TIME_STYLE=posix-long-iso export TIME_STYLE fi save_arg1=$1 # Find out how to get the extended ls output of a file or directory. if ls -L /dev/null 1>/dev/null 2>&1; then ls_command='ls -L -l -d' else ls_command='ls -l -d' fi # Avoid user/group names that might have spaces, when possible. if ls -n /dev/null 1>/dev/null 2>&1; then ls_command="$ls_command -n" fi # A `ls -l' line looks as follows on OS/2. # drwxrwx--- 0 Aug 11 2001 foo # This differs from Unix, which adds ownership information. # drwxrwx--- 2 root root 4096 Aug 11 2001 foo # # To find the date, we split the line on spaces and iterate on words # until we find a month. This cannot work with files whose owner is a # user named `Jan', or `Feb', etc. However, it's unlikely that `/' # will be owned by a user whose name is a month. So we first look at # the extended ls output of the root directory to decide how many # words should be skipped to get the date. # On HPUX /bin/sh, "set" interprets "-rw-r--r--" as options, so the "x" below. set x`$ls_command /` # Find which argument is the month. month= command= until test $month do shift # Add another shift to the command. command="$command shift;" case $1 in Jan) month=January; nummonth=1;; Feb) month=February; nummonth=2;; Mar) month=March; nummonth=3;; Apr) month=April; nummonth=4;; May) month=May; nummonth=5;; Jun) month=June; nummonth=6;; Jul) month=July; nummonth=7;; Aug) month=August; nummonth=8;; Sep) month=September; nummonth=9;; Oct) month=October; nummonth=10;; Nov) month=November; nummonth=11;; Dec) month=December; nummonth=12;; esac done # Get the extended ls output of the file or directory. set dummy x`eval "$ls_command \"\$save_arg1\""` # Remove all preceding arguments eval $command # Because of the dummy argument above, month is in $2. # # On a POSIX system, we should have # # $# = 5 # $1 = file size # $2 = month # $3 = day # $4 = year or time # $5 = filename # # On Darwin 7.7.0 and 7.6.0, we have # # $# = 4 # $1 = day # $2 = month # $3 = year or time # $4 = filename # Get the month. case $2 in Jan) month=January; nummonth=1;; Feb) month=February; nummonth=2;; Mar) month=March; nummonth=3;; Apr) month=April; nummonth=4;; May) month=May; nummonth=5;; Jun) month=June; nummonth=6;; Jul) month=July; nummonth=7;; Aug) month=August; nummonth=8;; Sep) month=September; nummonth=9;; Oct) month=October; nummonth=10;; Nov) month=November; nummonth=11;; Dec) month=December; nummonth=12;; esac case $3 in ???*) day=$1;; *) day=$3; shift;; esac # Here we have to deal with the problem that the ls output gives either # the time of day or the year. case $3 in *:*) set `date`; eval year=\$$# case $2 in Jan) nummonthtod=1;; Feb) nummonthtod=2;; Mar) nummonthtod=3;; Apr) nummonthtod=4;; May) nummonthtod=5;; Jun) nummonthtod=6;; Jul) nummonthtod=7;; Aug) nummonthtod=8;; Sep) nummonthtod=9;; Oct) nummonthtod=10;; Nov) nummonthtod=11;; Dec) nummonthtod=12;; esac # For the first six month of the year the time notation can also # be used for files modified in the last year. if (expr $nummonth \> $nummonthtod) > /dev/null; then year=`expr $year - 1` fi;; *) year=$3;; esac # The result. echo $day $month $year # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: parted-2.3/build-aux/useless-if-before-free0000744000000000000000000001420111370541031015571 00000000000000eval '(exit $?0)' && eval 'exec perl -wST "$0" ${1+"$@"}' & eval 'exec perl -wST "$0" $argv:q' if 0; # Detect instances of "if (p) free (p);". # Likewise for "if (p != NULL) free (p);". And with braces. # Also detect "if (NULL != p) free (p);". # And with 0 in place of NULL. my $VERSION = '2009-04-16 15:57'; # UTC # The definition above must lie within the first 8 lines in order # for the Emacs time-stamp write hook (at end) to update it. # If you change this file with Emacs, please let the write hook # do its job. Otherwise, update this string manually. # Copyright (C) 2008-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Written by Jim Meyering use strict; use warnings; use Getopt::Long; (my $ME = $0) =~ s|.*/||; # use File::Coda; # http://meyering.net/code/Coda/ END { defined fileno STDOUT or return; close STDOUT and return; warn "$ME: failed to close standard output: $!\n"; $? ||= 1; } sub usage ($) { my ($exit_code) = @_; my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR); if ($exit_code != 0) { print $STREAM "Try `$ME --help' for more information.\n"; } else { print $STREAM < sub { usage 0 }, version => sub { print "$ME version $VERSION\n"; exit }, list => \$list, 'name=s@' => \@name, ) or usage 1; # Make sure we have the right number of non-option arguments. # Always tell the user why we fail. @ARGV < 1 and (warn "$ME: missing FILE argument\n"), usage EXIT_ERROR; my $or = join '|', @name; my $regexp = qr/(?:$or)/; # Set the input record separator. # Note: this makes it impractical to print line numbers. $/ = '"'; my $found_match = 0; FILE: foreach my $file (@ARGV) { open FH, '<', $file or (warn "$ME: can't open `$file' for reading: $!\n"), $err = EXIT_ERROR, next; while (defined (my $line = )) { while ($line =~ /\b(if\s*\(\s*([^)]+?)(?:\s*!=\s*([^)]+?))?\s*\) # 1 2 3 (?: \s*$regexp\s*\((?:\s*\([^)]+\))?\s*([^)]+)\)| \s*\{\s*$regexp\s*\((?:\s*\([^)]+\))?\s*([^)]+)\)\s*;\s*\}))/sxg) { my $all = $1; my ($lhs, $rhs) = ($2, $3); my ($free_opnd, $braced_free_opnd) = ($4, $5); my $non_NULL; if (!defined $rhs) { $non_NULL = $lhs } elsif (is_NULL $rhs) { $non_NULL = $lhs } elsif (is_NULL $lhs) { $non_NULL = $rhs } else { next } # Compare the non-NULL part of the "if" expression and the # free'd expression, without regard to white space. $non_NULL =~ tr/ \t//d; my $e2 = defined $free_opnd ? $free_opnd : $braced_free_opnd; $e2 =~ tr/ \t//d; if ($non_NULL eq $e2) { $found_match = 1; $list and (print "$file\0"), next FILE; print "$file: $all\n"; } } } } continue { close FH; } $found_match && $err == EXIT_NO_MATCH and $err = EXIT_MATCH; exit $err; } my $foo = <<'EOF'; # The above is to *find* them. # This adjusts them, removing the unnecessary "if (p)" part. # FIXME: do something like this as an option (doesn't do braces): free=xfree git grep -l -z "$free *(" \ | xargs -0 useless-if-before-free -l --name="$free" \ | xargs -0 perl -0x3b -pi -e \ 's/\bif\s*\(\s*(\S+?)(?:\s*!=\s*(?:0|NULL))?\s*\)\s+('"$free"'\s*\((?:\s*\([^)]+\))?\s*\1\s*\))/$2/s' # Use the following to remove redundant uses of kfree inside braces. # Note that -0777 puts perl in slurp-whole-file mode; # but we have plenty of memory, these days... free=kfree git grep -l -z "$free *(" \ | xargs -0 useless-if-before-free -l --name="$free" \ | xargs -0 perl -0777 -pi -e \ 's/\bif\s*\(\s*(\S+?)(?:\s*!=\s*(?:0|NULL))?\s*\)\s*\{\s*('"$free"'\s*\((?:\s*\([^)]+\))?\s*\1\s*\);)\s*\}[^\n]*$/$2/gms' Be careful that the result of the above transformation is valid. If the matched string is followed by "else", then obviously, it won't be. When modifying files, refuse to process anything other than a regular file. EOF ## Local Variables: ## mode: perl ## indent-tabs-mode: nil ## eval: (add-hook 'write-file-hooks 'time-stamp) ## time-stamp-start: "my $VERSION = '" ## time-stamp-format: "%:y-%02m-%02d %02H:%02M" ## time-stamp-time-zone: "UTC" ## time-stamp-end: "'; # UTC" ## End: parted-2.3/build-aux/vc-list-files0000744000000000000000000000735511370541031014030 00000000000000#!/bin/sh # List version-controlled file names. # Print a version string. scriptversion=2010-04-23.22; # UTC # Copyright (C) 2006-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # List the specified version-controlled files. # With no argument, list them all. With a single DIRECTORY argument, # list the version-controlled files in that directory. # If there's an argument, it must be a single, "."-relative directory name. # cvsu is part of the cvsutils package: http://www.red-bean.com/cvsutils/ postprocess= case $1 in --help) cat <. EOF exit ;; --version) year=`echo "$scriptversion" | sed 's/[^0-9].*//'` cat < This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. EOF exit ;; -C) test "$2" = . || postprocess="| sed 's|^|$2/|'" cd "$2" || exit 1 shift; shift ;; esac dir= case $# in 0) ;; 1) dir=$1 ;; *) echo "$0: too many arguments" 1>&2 echo "Usage: $0 [-C srcdir] [DIR]" 1>&2; exit 1;; esac test "x$dir" = x && dir=. if test -d .git; then test "x$dir" = x. \ && dir= sed_esc= \ || { dir="$dir/"; sed_esc=`echo "$dir"|env sed 's,\([\\/]\),\\\\\1,g'`; } # Ignore git symlinks - either they point into the tree, in which case # we don't need to visit the target twice, or they point somewhere # else (often into a submodule), in which case the content does not # belong to this package. eval exec git ls-tree -r 'HEAD:"$dir"' \ \| sed -n '"s/^100[^ ]*./$sed_esc/p"' $postprocess elif test -d .hg; then eval exec hg locate '"$dir/*"' $postprocess elif test -d .bzr; then test "$postprocess" = '' && postprocess="| sed 's|^\./||'" eval exec bzr ls -R --versioned '"$dir"' $postprocess elif test -d CVS; then test "$postprocess" = '' && postprocess="| sed 's|^\./||'" if test -x build-aux/cvsu; then eval build-aux/cvsu --find --types=AFGM '"$dir"' $postprocess elif (cvsu --help) >/dev/null 2>&1; then eval cvsu --find --types=AFGM '"$dir"' $postprocess else eval awk -F/ \''{ \ if (!$1 && $3 !~ /^-/) { \ f=FILENAME; \ if (f ~ /CVS\/Entries$/) \ f = substr(f, 1, length(f)-11); \ print f $2; \ }}'\'' \ `find "$dir" -name Entries -print` /dev/null' $postprocess fi elif test -d .svn; then eval exec svn list -R '"$dir"' $postprocess else echo "$0: Failed to determine type of version control used in `pwd`" 1>&2 exit 1 fi # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: parted-2.3/build-aux/compile0000744000000000000000000000727111400005572012773 00000000000000#! /bin/sh # Wrapper for compilers which do not understand `-c -o'. scriptversion=2009-10-06.20; # UTC # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009 Free Software # Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . case $1 in '') echo "$0: No command. Try \`$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: compile [--help] [--version] PROGRAM [ARGS] Wrapper for compilers which do not understand `-c -o'. Remove `-o dest.o' from ARGS, run PROGRAM with the remaining arguments, and rename the output as expected. If you are trying to build a whole package this is not the right script to run: please start by reading the file `INSTALL'. Report bugs to . EOF exit $? ;; -v | --v*) echo "compile $scriptversion" exit $? ;; esac ofile= cfile= eat= for arg do if test -n "$eat"; then eat= else case $1 in -o) # configure might choose to run compile as `compile cc -o foo foo.c'. # So we strip `-o arg' only if arg is an object. eat=1 case $2 in *.o | *.obj) ofile=$2 ;; *) set x "$@" -o "$2" shift ;; esac ;; *.c) cfile=$1 set x "$@" "$1" shift ;; *) set x "$@" "$1" shift ;; esac fi shift done if test -z "$ofile" || test -z "$cfile"; then # If no `-o' option was seen then we might have been invoked from a # pattern rule where we don't need one. That is ok -- this is a # normal compilation that the losing compiler can handle. If no # `.c' file was seen then we are probably linking. That is also # ok. exec "$@" fi # Name of file we expect compiler to create. cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` # Create the lock directory. # Note: use `[/\\:.-]' here to ensure that we don't use the same name # that we are using for the .o file. Also, base the name on the expected # object file name, since that is what matters with a parallel build. lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d while true; do if mkdir "$lockdir" >/dev/null 2>&1; then break fi sleep 1 done # FIXME: race condition here if user kills between mkdir and trap. trap "rmdir '$lockdir'; exit 1" 1 2 15 # Run the compile. "$@" ret=$? if test -f "$cofile"; then test "$cofile" = "$ofile" || mv "$cofile" "$ofile" elif test -f "${cofile}bj"; then test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" fi rmdir "$lockdir" exit $ret # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: parted-2.3/build-aux/missing0000744000000000000000000002623311370541031013014 00000000000000#! /bin/sh # Common stub for a few missing GNU programs while installing. scriptversion=2009-04-28.21; # UTC # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, # 2008, 2009 Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then echo 1>&2 "Try \`$0 --help' for more information" exit 1 fi run=: sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' sed_minuso='s/.* -o \([^ ]*\).*/\1/p' # In the cases where this matters, `missing' is being run in the # srcdir already. if test -f configure.ac; then configure_ac=configure.ac else configure_ac=configure.in fi msg="missing on your system" case $1 in --run) # Try to run requested program, and just exit if it succeeds. run= shift "$@" && exit 0 # Exit code 63 means version mismatch. This often happens # when the user try to use an ancient version of a tool on # a file that requires a minimum version. In this case we # we should proceed has if the program had been absent, or # if --run hadn't been passed. if test $? = 63; then run=: msg="probably too old" fi ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an error status if there is no known handling for PROGRAM. Options: -h, --help display this help and exit -v, --version output version information and exit --run try to run the given command, and emulate it if it fails Supported PROGRAM values: aclocal touch file \`aclocal.m4' autoconf touch file \`configure' autoheader touch file \`config.h.in' autom4te touch the output file, or create a stub one automake touch all \`Makefile.in' files bison create \`y.tab.[ch]', if possible, from existing .[ch] flex create \`lex.yy.c', if possible, from existing .c help2man touch the output file lex create \`lex.yy.c', if possible, from existing .c makeinfo touch the output file tar try tar, gnutar, gtar, then tar without non-portable flags yacc create \`y.tab.[ch]', if possible, from existing .[ch] Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and \`g' are ignored when checking the name. Send bug reports to ." exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing $scriptversion (GNU Automake)" exit $? ;; -*) echo 1>&2 "$0: Unknown \`$1' option" echo 1>&2 "Try \`$0 --help' for more information" exit 1 ;; esac # normalize program name to check for. program=`echo "$1" | sed ' s/^gnu-//; t s/^gnu//; t s/^g//; t'` # Now exit if we have it, but it failed. Also exit now if we # don't have it and --version was passed (most likely to detect # the program). This is about non-GNU programs, so use $1 not # $program. case $1 in lex*|yacc*) # Not GNU programs, they don't have --version. ;; tar*) if test -n "$run"; then echo 1>&2 "ERROR: \`tar' requires --run" exit 1 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then exit 1 fi ;; *) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then # Could not run --version or --help. This is probably someone # running `$TOOL --version' or `$TOOL --help' to check whether # $TOOL exists and not knowing $TOOL uses missing. exit 1 fi ;; esac # If it does not exist, or fails to run (possibly an outdated version), # try to emulate it. case $program in aclocal*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." touch aclocal.m4 ;; autoconf*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." touch configure ;; autoheader*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acconfig.h' or \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` test -z "$files" && files="config.h" touch_files= for f in $files; do case $f in *:*) touch_files="$touch_files "`echo "$f" | sed -e 's/^[^:]*://' -e 's/:.*//'`;; *) touch_files="$touch_files $f.in";; esac done touch $touch_files ;; automake*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." find . -type f -name Makefile.am -print | sed 's/\.am$/.in/' | while read f; do touch "$f"; done ;; autom4te*) echo 1>&2 "\ WARNING: \`$1' is needed, but is $msg. You might have modified some files without having the proper tools for further handling them. You can get \`$1' as part of \`Autoconf' from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo "#! /bin/sh" echo "# Created by GNU Automake missing as a replacement of" echo "# $ $@" echo "exit 0" chmod +x $file exit 1 fi ;; bison*|yacc*) echo 1>&2 "\ WARNING: \`$1' $msg. You should only need it if you modified a \`.y' file. You may need the \`Bison' package in order for those modifications to take effect. You can get \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h if test $# -ne 1; then eval LASTARG="\${$#}" case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.h fi ;; esac fi if test ! -f y.tab.h; then echo >y.tab.h fi if test ! -f y.tab.c; then echo 'main() { return 0; }' >y.tab.c fi ;; lex*|flex*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.l' file. You may need the \`Flex' package in order for those modifications to take effect. You can get \`Flex' from any GNU archive site." rm -f lex.yy.c if test $# -ne 1; then eval LASTARG="\${$#}" case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" lex.yy.c fi ;; esac fi if test ! -f lex.yy.c; then echo 'main() { return 0; }' >lex.yy.c fi ;; help2man*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a dependency of a manual page. You may need the \`Help2man' package in order for those modifications to take effect. You can get \`Help2man' from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo ".ab help2man is required to generate this page" exit $? fi ;; makeinfo*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.texi' or \`.texinfo' file, or any other file indirectly affecting the aspect of the manual. The spurious call might also be the consequence of using a buggy \`make' (AIX, DU, IRIX). You might want to install the \`Texinfo' package or the \`GNU make' package. Grab either from any GNU archive site." # The file to touch is that specified with -o ... file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -z "$file"; then # ... or it is the one specified with @setfilename ... infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` file=`sed -n ' /^@setfilename/{ s/.* \([^ ]*\) *$/\1/ p q }' $infile` # ... or it is derived from the source name (dir/f.texi becomes f.info) test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info fi # If the file does not exist, the user really needs makeinfo; # let's fail without touching anything. test -f $file || exit 1 touch $file ;; tar*) shift # We have already tried tar in the generic part. # Look for gnutar/gtar before invocation to avoid ugly error # messages. if (gnutar --version > /dev/null 2>&1); then gnutar "$@" && exit 0 fi if (gtar --version > /dev/null 2>&1); then gtar "$@" && exit 0 fi firstarg="$1" if shift; then case $firstarg in *o*) firstarg=`echo "$firstarg" | sed s/o//` tar "$firstarg" "$@" && exit 0 ;; esac case $firstarg in *h*) firstarg=`echo "$firstarg" | sed s/h//` tar "$firstarg" "$@" && exit 0 ;; esac fi echo 1>&2 "\ WARNING: I can't seem to be able to run \`tar' with the given arguments. You may want to install GNU tar or Free paxutils, or check the command line arguments." exit 1 ;; *) echo 1>&2 "\ WARNING: \`$1' is needed, and is $msg. You might have modified some files without having the proper tools for further handling them. Check the \`README' file, it often tells you about the needed prerequisites for installing this package. You may also peek at any GNU archive site, in case some other package would contain this missing \`$1' program." exit 1 ;; esac exit 0 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: parted-2.3/build-aux/gnupload0000744000000000000000000002544411377165371013177 00000000000000#!/bin/sh # Sign files and upload them. scriptversion=2010-05-23.15; # UTC # Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 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 3, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Originally written by Alexandre Duret-Lutz . set -e GPG='gpg --batch --no-tty' conffile=.gnuploadrc to= dry_run=false symlink_files= delete_files= delete_symlinks= collect_var= dbg= nl=' ' usage="Usage: $0 [OPTION]... [CMD] FILE... [[CMD] FILE...] Sign all FILES, and process them at selected destinations according to CMD. explains further. Commands: --delete delete FILES from destination --symlink create symbolic links --rmsymlink remove symbolic links -- treat the remaining arguments as files to upload Options: --help print this help text and exit --to DEST specify one destination for FILES (multiple --to options are allowed) --user NAME sign with key NAME --symlink-regex[=EXPR] use sed script EXPR to compute symbolic link names --dry-run do nothing, show what would have been done --version output version information and exit If --symlink-regex is given without EXPR, then the link target name is created by replacing the version information with \`-latest', e.g.: foo-1.3.4.tar.gz -> foo-latest.tar.gz Recognized destinations are: alpha.gnu.org:DIRECTORY savannah.gnu.org:DIRECTORY savannah.nongnu.org:DIRECTORY ftp.gnu.org:DIRECTORY build directive files and upload files by FTP download.gnu.org.ua:{alpha|ftp}/DIRECTORY build directive files and upload files by SFTP [user@]host:DIRECTORY upload files with scp Options and commands are applied in order. If the file $conffile exists in the current working directory, its contents are prepended to the actual command line options. Use this to keep your defaults. Comments (#) and empty lines in $conffile are allowed. Examples: 1. Upload foobar-1.0.tar.gz to ftp.gnu.org: gnupload --to ftp.gnu.org:foobar foobar-1.0.tar.gz 2. Upload foobar-1.0.tar.gz and foobar-1.0.tar.xz to ftp.gnu.org: gnupload --to ftp.gnu.org:foobar foobar-1.0.tar.gz foobar-1.0.tar.xz 3. Same as above, and also create symbolic links to foobar-latest.tar.*: gnupload --to ftp.gnu.org:foobar \\ --symlink-regex \\ foobar-1.0.tar.gz foobar-1.0.tar.xz 4. Upload foobar-0.9.90.tar.gz to two sites: gnupload --to alpha.gnu.org:foobar \\ --to sources.redhat.com:~ftp/pub/foobar \\ foobar-0.9.90.tar.gz 5. Delete oopsbar-0.9.91.tar.gz and upload foobar-0.9.91.tar.gz (the -- terminates the list of files to delete): gnupload --to alpha.gnu.org:foobar \\ --to sources.redhat.com:~ftp/pub/foobar \\ --delete oopsbar-0.9.91.tar.gz \\ -- foobar-0.9.91.tar.gz gnupload uses the ncftpput program to do the transfers; if you don't happen to have an ncftp package installed, the ncftpput-ftp script in the build-aux/ directory of the gnulib package (http://savannah.gnu.org/projects/gnulib) may serve as a replacement. Report bugs to . Send patches to ." # Read local configuration file if test -r "$conffile"; then echo "$0: Reading configuration file $conffile" conf=`sed 's/#.*$//;/^$/d' "$conffile" | tr "\015$nl" ' '` eval set x "$conf \"\$@\"" shift fi while test -n "$1"; do case $1 in -*) collect_var= case $1 in --help) echo "$usage" exit $? ;; --to) if test -z "$2"; then echo "$0: Missing argument for --to" 1>&2 exit 1 else to="$to $2" shift fi ;; --user) if test -z "$2"; then echo "$0: Missing argument for --user" 1>&2 exit 1 else GPG="$GPG --local-user $2" shift fi ;; --delete) collect_var=delete_files ;; --rmsymlink) collect_var=delete_symlinks ;; --symlink-regex=*) symlink_expr=`expr "$1" : '[^=]*=\(.*\)'` ;; --symlink-regex) symlink_expr='s|-[0-9][0-9\.]*\(-[0-9][0-9]*\)\{0,1\}\.|-latest.|' ;; --symlink) collect_var=symlink_files ;; --dry-run|-n) dry_run=: ;; --version) echo "gnupload $scriptversion" exit $? ;; --) shift break ;; -*) echo "$0: Unknown option \`$1', try \`$0 --help'" 1>&2 exit 1 ;; esac ;; *) if test -z "$collect_var"; then break else eval "$collect_var=\"\$$collect_var $1\"" fi ;; esac shift done dprint() { echo "Running $* ..." } if $dry_run; then dbg=dprint fi if test -z "$to"; then echo "$0: Missing destination sites" >&2 exit 1 fi if test -n "$symlink_files"; then x=`echo "$symlink_files" | sed 's/[^ ]//g;s/ //g'` if test -n "$x"; then echo "$0: Odd number of symlink arguments" >&2 exit 1 fi fi if test $# = 0; then if test -z "${symlink_files}${delete_files}${delete_symlinks}"; then echo "$0: No file to upload" 1>&2 exit 1 fi else # Make sure all files exist. We don't want to ask # for the passphrase if the script will fail. for file do if test ! -f $file; then echo "$0: Cannot find \`$file'" 1>&2 exit 1 elif test -n "$symlink_expr"; then linkname=`echo $file | sed "$symlink_expr"` if test -z "$linkname"; then echo "$0: symlink expression produces empty results" >&2 exit 1 elif test "$linkname" = $file; then echo "$0: symlink expression does not alter file name" >&2 exit 1 fi fi done fi # Make sure passphrase is not exported in the environment. unset passphrase # Reset PATH to be sure that echo is a built-in. We will later use # `echo $passphrase' to output the passphrase, so it is important that # it is a built-in (third-party programs tend to appear in `ps' # listings with their arguments...). # Remember this script runs with `set -e', so if echo is not built-in # it will exit now. PATH=/empty echo -n "Enter GPG passphrase: " stty -echo read -r passphrase stty echo echo if test $# -ne 0; then for file do echo "Signing $file ..." rm -f $file.sig echo "$passphrase" | $dbg $GPG --passphrase-fd 0 -ba -o $file.sig $file done fi # mkdirective DESTDIR BASE FILE STMT # Arguments: See upload, below mkdirective () { stmt="$4" if test -n "$3"; then stmt=" filename: $3$stmt" fi cat >${2}.directive<&2 fi $dbg ncftpput savannah.gnu.org /incoming/savannah/$destdir $files ;; savannah.nongnu.org:*) if test -z "$files"; then echo "$0: warning: standalone directives not applicable for $dest" >&2 fi $dbg ncftpput savannah.nongnu.org /incoming/savannah/$destdir $files ;; download.gnu.org.ua:alpha/*|download.gnu.org.ua:ftp/*) destdir_p1=`echo "$destdir" | sed 's,^[^/]*/,,'` destdir_topdir=`echo "$destdir" | sed 's,/.*,,'` mkdirective "$destdir_p1" "$base" "$file" "$stmt" echo "$passphrase" | $dbg $GPG --passphrase-fd 0 --clearsign $base.directive for f in $files $base.directive.asc do echo put $f done | $dbg sftp -b - puszcza.gnu.org.ua:/incoming/$destdir_topdir ;; /*) dest_host=`echo "$dest" | sed 's,:.*,,'` mkdirective "$destdir" "$base" "$file" "$stmt" echo "$passphrase" | $dbg $GPG --passphrase-fd 0 --clearsign $base.directive $dbg cp $files $base.directive.asc $dest_host ;; *) if test -z "$files"; then echo "$0: warning: standalone directives not applicable for $dest" >&2 fi $dbg scp $files $dest ;; esac rm -f $base.directive $base.directive.asc } ##### # Process any standalone directives stmt= if test -n "$symlink_files"; then stmt="$stmt `mksymlink $symlink_files`" fi for file in $delete_files do stmt="$stmt archive: $file" done for file in $delete_symlinks do stmt="$stmt rmsymlink: $file" done if test -n "$stmt"; then for dest in $to do destdir=`echo $dest | sed 's/[^:]*://'` upload "$dest" "$destdir" "`hostname`-$$" "" "$stmt" done fi # Process actual uploads for dest in $to do for file do echo "Uploading $file to $dest ..." stmt= files="$file $file.sig" destdir=`echo $dest | sed 's/[^:]*://'` if test -n "$symlink_expr"; then linkname=`echo $file | sed "$symlink_expr"` stmt="$stmt symlink: $file $linkname symlink: $file.sig $linkname.sig" fi upload "$dest" "$destdir" "$file" "$file" "$stmt" "$files" done done exit 0 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: parted-2.3/build-aux/warn-on-use.h0000644000000000000000000001215211370316113013737 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A C macro for emitting warnings if a function is used. Copyright (C) 2010 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 3 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 Lesser General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* _GL_WARN_ON_USE (function, "literal string") issues a declaration for FUNCTION which will then trigger a compiler warning containing the text of "literal string" anywhere that function is called, if supported by the compiler. If the compiler does not support this feature, the macro expands to an unused extern declaration. This macro is useful for marking a function as a potential portability trap, with the intent that "literal string" include instructions on the replacement function that should be used instead. However, one of the reasons that a function is a portability trap is if it has the wrong signature. Declaring FUNCTION with a different signature in C is a compilation error, so this macro must use the same type as any existing declaration so that programs that avoid the problematic FUNCTION do not fail to compile merely because they included a header that poisoned the function. But this implies that _GL_WARN_ON_USE is only safe to use if FUNCTION is known to already have a declaration. Use of this macro implies that there must not be any other macro hiding the declaration of FUNCTION; but undefining FUNCTION first is part of the poisoning process anyway (although for symbols that are provided only via a macro, the result is a compilation error rather than a warning containing "literal string"). Also note that in C++, it is only safe to use if FUNCTION has no overloads. For an example, it is possible to poison 'getline' by: - adding a call to gl_WARN_ON_USE_PREPARE([[#include ]], [getline]) in configure.ac, which potentially defines HAVE_RAW_DECL_GETLINE - adding this code to a header that wraps the system : #undef getline #if HAVE_RAW_DECL_GETLINE _GL_WARN_ON_USE (getline, "getline is required by POSIX 2008, but" "not universally present; use the gnulib module getline"); #endif It is not possible to directly poison global variables. But it is possible to write a wrapper accessor function, and poison that (less common usage, like &environ, will cause a compilation error rather than issue the nice warning, but the end result of informing the developer about their portability problem is still achieved): #if HAVE_RAW_DECL_ENVIRON static inline char ***rpl_environ (void) { return &environ; } _GL_WARN_ON_USE (rpl_environ, "environ is not always properly declared"); # undef environ # define environ (*rpl_environ ()) #endif */ #ifndef _GL_WARN_ON_USE # if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__) /* A compiler attribute is available in gcc versions 4.3.0 and later. */ # define _GL_WARN_ON_USE(function, message) \ extern __typeof__ (function) function __attribute__ ((__warning__ (message))) # elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING /* Verify the existence of the function. */ # define _GL_WARN_ON_USE(function, message) \ extern __typeof__ (function) function # else /* Unsupported. */ # define _GL_WARN_ON_USE(function, message) \ _GL_WARN_EXTERN_C int _gl_warn_on_use # endif #endif /* _GL_WARN_ON_USE_CXX (function, rettype, parameters_and_attributes, "string") is like _GL_WARN_ON_USE (function, "string"), except that the function is declared with the given prototype, consisting of return type, parameters, and attributes. This variant is useful for overloaded functions in C++. _GL_WARN_ON_USE does not work in this case. */ #ifndef _GL_WARN_ON_USE_CXX # if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__) # define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \ extern rettype function parameters_and_attributes \ __attribute__ ((__warning__ (msg))) # elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING /* Verify the existence of the function. */ # define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \ extern rettype function parameters_and_attributes # else /* Unsupported. */ # define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \ _GL_WARN_EXTERN_C int _gl_warn_on_use # endif #endif /* _GL_WARN_EXTERN_C declaration; performs the declaration with C linkage. */ #ifndef _GL_WARN_EXTERN_C # if defined __cplusplus # define _GL_WARN_EXTERN_C extern "C" # else # define _GL_WARN_EXTERN_C extern # endif #endif parted-2.3/build-aux/mktempd0000744000000000000000000000717111370541031013004 00000000000000#!/bin/sh # Create a temporary directory, much like mktemp -d does. # Copyright (C) 2007-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Written by Jim Meyering. # Usage: mktempd /tmp phoey.XXXXXXXXXX # First, try to use the mktemp program. # Failing that, we'll roll our own mktemp-like function: # - try to get random bytes from /dev/urandom # - failing that, generate output from a combination of quickly-varying # sources and gzip. Ignore non-varying gzip header, and extract # "random" bits from there. # - given those bits, map to file-name bytes using tr, and try to create # the desired directory. # - make only $MAX_TRIES attempts ME=`basename "$0"` die() { echo >&2 "$ME: $@"; exit 1; } MAX_TRIES=4 rand_bytes() { n=$1 chars=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 dev_rand=/dev/urandom if test -r "$dev_rand"; then # Note: 256-length($chars) == 194; 3 copies of $chars is 186 + 8 = 194. dd ibs=$n count=1 if="$dev_rand" | tr -c $chars 01234567$chars$chars$chars return fi cmds='date; date +%N; free; who -a; w; ps auxww; ps ef; netstat -n' data=` (eval "$cmds") 2>&1 | gzip ` n_plus_50=`expr $n + 50` # Ensure that $data has length at least 50+$n while :; do len=`echo "$data"|wc -c` test $n_plus_50 -le $len && break; data=` (echo "$data"; eval "$cmds") 2>&1 | gzip ` done echo "$data" \ | dd bs=1 skip=50 count=$n 2>/dev/null \ | tr -c $chars 01234567$chars$chars$chars } mktempd() { case $# in 2);; *) die "Usage: $ME DIR TEMPLATE";; esac destdir=$1 template=$2 # Disallow any trailing slash on specified destdir: # it would subvert the post-mktemp "case"-based destdir test. case $destdir in /) ;; */) die "invalid destination dir: remove trailing slash(es)";; esac case $template in *XXXX) ;; *) die "invalid template: $template (must have a suffix of at least 4 X's)";; esac fail=0 # First, try to use mktemp. d=`env -u TMPDIR mktemp -d -t -p "$destdir" "$template" 2>/dev/null` \ || fail=1 # The resulting name must be in the specified directory. case $d in "$destdir"*);; *) fail=1;; esac # It must have created the directory. test -d "$d" || fail=1 # It must have 0700 permissions. Handle sticky "S" bits. perms=`ls -dgo "$d" 2>/dev/null|tr S -` || fail=1 case $perms in drwx------*) ;; *) fail=1;; esac test $fail = 0 && { echo "$d" return } # If we reach this point, we'll have to create a directory manually. # Get a copy of the template without its suffix of X's. base_template=`echo "$template"|sed 's/XX*$//'` # Calculate how many X's we've just removed. template_length=`echo "$template" | wc -c` nx=`echo "$base_template" | wc -c` nx=`expr $template_length - $nx` err= i=1 while :; do X=`rand_bytes $nx` candidate_dir="$destdir/$base_template$X" err=`mkdir -m 0700 "$candidate_dir" 2>&1` \ && { echo "$candidate_dir"; return; } test $MAX_TRIES -le $i && break; i=`expr $i + 1` done die "$err" } mktempd "$@" parted-2.3/build-aux/ltmain.sh0000755000000000000000000074737311400005556013262 00000000000000# Generated from ltmain.m4sh. # libtool (GNU libtool 1.3121 2009-09-18) 2.2.7a # Written by Gordon Matzigkeit , 1996 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, # 2007, 2008, 2009 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # GNU Libtool is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Libtool; see the file COPYING. If not, a copy # can be downloaded from http://www.gnu.org/licenses/gpl.html, # or obtained by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # Usage: $progname [OPTION]... [MODE-ARG]... # # Provide generalized library-building support services. # # --config show all configuration variables # --debug enable verbose shell tracing # -n, --dry-run display commands without modifying any files # --features display basic configuration information and exit # --mode=MODE use operation mode MODE # --preserve-dup-deps don't remove duplicate dependency libraries # --quiet, --silent don't print informational messages # --no-quiet, --no-silent # print informational messages (default) # --tag=TAG use configuration variables from tag TAG # -v, --verbose print more informational messages than default # --no-verbose don't print the extra informational messages # --version print version information # -h, --help, --help-all print short, long, or detailed help message # # MODE must be one of the following: # # clean remove files from the build directory # compile compile a source file into a libtool object # execute automatically set library path, then run a program # finish complete the installation of libtool libraries # install install libraries or executables # link create a library or an executable # uninstall remove libraries from an installed directory # # MODE-ARGS vary depending on the MODE. When passed as first option, # `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that. # Try `$progname --help --mode=MODE' for a more detailed description of MODE. # # When reporting a bug, please describe a test case to reproduce it and # include the following information: # # host-triplet: $host # shell: $SHELL # compiler: $LTCC # compiler flags: $LTCFLAGS # linker: $LD (gnu? $with_gnu_ld) # $progname: (GNU libtool 1.3121 2009-09-18) 2.2.7a # automake: $automake_version # autoconf: $autoconf_version # # Report bugs to . PROGRAM=libtool PACKAGE=libtool VERSION=2.2.7a TIMESTAMP=" 1.3121 2009-09-18" package_revision=1.3121 # 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 BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } # NLS nuisances: We save the old values to restore during execute mode. # Only set LANG and LC_ALL to C if already set. # These must not be set unconditionally because not all systems understand # e.g. LANG=C (notably SCO). lt_user_locale= lt_safe_locale= for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${$lt_var+set}\" = set; then save_$lt_var=\$$lt_var $lt_var=C export $lt_var lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\" lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\" fi" done $lt_unset CDPATH # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh # is ksh but when the shell is invoked as "sh" and the current value of # the _XPG environment variable is not equal to 1 (one), the special # positional parameter $0, within a function call, is the name of the # function. progpath="$0" : ${CP="cp -f"} : ${ECHO=$as_echo} : ${EGREP="/bin/grep -E"} : ${FGREP="/bin/grep -F"} : ${GREP="/bin/grep"} : ${LN_S="ln -s"} : ${MAKE="make"} : ${MKDIR="mkdir"} : ${MV="mv -f"} : ${RM="rm -f"} : ${SED="/bin/sed"} : ${SHELL="${CONFIG_SHELL-/bin/sh}"} : ${Xsed="$SED -e 1s/^X//"} # Global variables: EXIT_SUCCESS=0 EXIT_FAILURE=1 EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. exit_status=$EXIT_SUCCESS # Make sure IFS has a sensible default lt_nl=' ' IFS=" $lt_nl" dirname="s,/[^/]*$,," basename="s,^.*/,," # func_dirname_and_basename file append nondir_replacement # perform func_basename and func_dirname in a single function # call: # dirname: Compute the dirname of FILE. If nonempty, # add APPEND to the result, otherwise set result # to NONDIR_REPLACEMENT. # value returned in "$func_dirname_result" # basename: Compute filename of FILE. # value retuned in "$func_basename_result" # Implementation must be kept synchronized with func_dirname # and func_basename. For efficiency, we do not delegate to # those functions but instead duplicate the functionality here. func_dirname_and_basename () { # Extract subdirectory from the argument. func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"` if test "X$func_dirname_result" = "X${1}"; then func_dirname_result="${3}" else func_dirname_result="$func_dirname_result${2}" fi func_basename_result=`$ECHO "${1}" | $SED -e "$basename"` } # Generated shell functions inserted here. # These SED scripts presuppose an absolute path with a trailing slash. pathcar="s,^/\([^/]*\).*$,\1," pathcdr="s,^/[^/]*,," removedotparts="s@/\(\./\)\{1,\}@/@g;s,/\.$,/," collapseslashes="s@/\{1,\}@/@g" finalslash="s,/*$,/," # func_normal_abspath PATH # Remove doubled-up and trailing slashes, "." path components, # and cancel out any ".." path components in PATH after making # it an absolute path. # value returned in "$func_normal_abspath_result" func_normal_abspath () { # Start from root dir and reassemble the path. func_normal_abspath_result= func_normal_abspath_tpath=$1 func_normal_abspath_altnamespace= case $func_normal_abspath_tpath in "") # Empty path, that just means $cwd. func_stripname '' '/' "`pwd`" func_normal_abspath_result=$func_stripname_result return ;; # The next three entries are used to spot a run of precisely # two leading slashes without using negated character classes; # we take advantage of case's first-match behaviour. ///*) # Unusual form of absolute path, do nothing. ;; //*) # Not necessarily an ordinary path; POSIX reserves leading '//' # and for example Cygwin uses it to access remote file shares # over CIFS/SMB, so we conserve a leading double slash if found. func_normal_abspath_altnamespace=/ ;; /*) # Absolute path, do nothing. ;; *) # Relative path, prepend $cwd. func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath ;; esac # Cancel out all the simple stuff to save iterations. We also want # the path to end with a slash for ease of parsing, so make sure # there is one (and only one) here. func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"` while :; do # Processed it all yet? if test "$func_normal_abspath_tpath" = / ; then # If we ascended to the root using ".." the result may be empty now. if test -z "$func_normal_abspath_result" ; then func_normal_abspath_result=/ fi break fi func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ -e "$pathcar"` func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ -e "$pathcdr"` # Figure out what to do with it case $func_normal_abspath_tcomponent in "") # Trailing empty path component, ignore it. ;; ..) # Parent dir; strip last assembled component from result. func_dirname "$func_normal_abspath_result" func_normal_abspath_result=$func_dirname_result ;; *) # Actual path component, append it. func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent ;; esac done # Restore leading double-slash if one was found on entry. func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result } # func_relative_path SRCDIR DSTDIR # generates a relative path from SRCDIR to DSTDIR, with a trailing # slash if non-empty, suitable for immediately appending a filename # without needing to append a separator. # value returned in "$func_relative_path_result" func_relative_path () { func_relative_path_result= func_normal_abspath "$1" func_relative_path_tlibdir=$func_normal_abspath_result func_normal_abspath "$2" func_relative_path_tbindir=$func_normal_abspath_result # Ascend the tree starting from libdir while :; do # check if we have found a prefix of bindir case $func_relative_path_tbindir in $func_relative_path_tlibdir) # found an exact match func_relative_path_tcancelled= break ;; $func_relative_path_tlibdir*) # found a matching prefix func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" func_relative_path_tcancelled=$func_stripname_result if test -z "$func_relative_path_result"; then func_relative_path_result=. fi break ;; *) func_dirname $func_relative_path_tlibdir func_relative_path_tlibdir=${func_dirname_result} if test "x$func_relative_path_tlibdir" = x ; then # Have to descend all the way to the root! func_relative_path_result=../$func_relative_path_result func_relative_path_tcancelled=$func_relative_path_tbindir break fi func_relative_path_result=../$func_relative_path_result ;; esac done # Now calculate path; take care to avoid doubling-up slashes. func_stripname '' '/' "$func_relative_path_result" func_relative_path_result=$func_stripname_result func_stripname '/' '/' "$func_relative_path_tcancelled" if test "x$func_stripname_result" != x ; then func_relative_path_result=${func_relative_path_result}/${func_stripname_result} fi # Normalisation. If bindir is libdir, return empty string, # else relative path ending with a slash; either way, target # file name can be directly appended. if test ! -z "$func_relative_path_result"; then func_stripname './' '' "$func_relative_path_result/" func_relative_path_result=$func_stripname_result fi } # The name of this program: func_dirname_and_basename "$progpath" progname=$func_basename_result # Make sure we have an absolute path for reexecution: case $progpath in [\\/]*|[A-Za-z]:\\*) ;; *[\\/]*) progdir=$func_dirname_result progdir=`cd "$progdir" && pwd` progpath="$progdir/$progname" ;; *) save_IFS="$IFS" IFS=: for progdir in $PATH; do IFS="$save_IFS" test -x "$progdir/$progname" && break done IFS="$save_IFS" test -n "$progdir" || progdir=`pwd` progpath="$progdir/$progname" ;; esac # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. Xsed="${SED}"' -e 1s/^X//' sed_quote_subst='s/\([`"$\\]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\(["`\\]\)/\\\1/g' # Re-`\' parameter expansions in output of double_quote_subst that were # `\'-ed in input to the same. If an odd number of `\' preceded a '$' # in input to double_quote_subst, that '$' was protected from expansion. # Since each input `\' is now two `\'s, look for any number of runs of # four `\'s followed by two `\'s and then a '$'. `\' that '$'. bs='\\' bs2='\\\\' bs4='\\\\\\\\' dollar='\$' sed_double_backslash="\ s/$bs4/&\\ /g s/^$bs2$dollar/$bs&/ s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g s/\n//g" # Standard options: opt_dry_run=false opt_help=false opt_quiet=false opt_verbose=false opt_warning=: # func_echo arg... # Echo program name prefixed message, along with the current mode # name if it has been set yet. func_echo () { $ECHO "$progname${mode+: }$mode: $*" } # func_verbose arg... # Echo program name prefixed message in verbose mode only. func_verbose () { $opt_verbose && func_echo ${1+"$@"} # A bug in bash halts the script if the last line of a function # fails when set -e is in force, so we need another command to # work around that: : } # func_echo_all arg... # Invoke $ECHO with all args, space-separated. func_echo_all () { $ECHO "$*" } # func_error arg... # Echo program name prefixed message to standard error. func_error () { $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2 } # func_warning arg... # Echo program name prefixed warning message to standard error. func_warning () { $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2 # bash bug again: : } # func_fatal_error arg... # Echo program name prefixed message to standard error, and exit. func_fatal_error () { func_error ${1+"$@"} exit $EXIT_FAILURE } # func_fatal_help arg... # Echo program name prefixed message to standard error, followed by # a help hint, and exit. func_fatal_help () { func_error ${1+"$@"} func_fatal_error "$help" } help="Try \`$progname --help' for more information." ## default # func_grep expression filename # Check whether EXPRESSION matches any line of FILENAME, without output. func_grep () { $GREP "$1" "$2" >/dev/null 2>&1 } # func_mkdir_p directory-path # Make sure the entire path to DIRECTORY-PATH is available. func_mkdir_p () { my_directory_path="$1" my_dir_list= if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then # Protect directory names starting with `-' case $my_directory_path in -*) my_directory_path="./$my_directory_path" ;; esac # While some portion of DIR does not yet exist... while test ! -d "$my_directory_path"; do # ...make a list in topmost first order. Use a colon delimited # list incase some portion of path contains whitespace. my_dir_list="$my_directory_path:$my_dir_list" # If the last portion added has no slash in it, the list is done case $my_directory_path in */*) ;; *) break ;; esac # ...otherwise throw away the child directory and loop my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"` done my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'` save_mkdir_p_IFS="$IFS"; IFS=':' for my_dir in $my_dir_list; do IFS="$save_mkdir_p_IFS" # mkdir can fail with a `File exist' error if two processes # try to create one of the directories concurrently. Don't # stop in that case! $MKDIR "$my_dir" 2>/dev/null || : done IFS="$save_mkdir_p_IFS" # Bail out if we (or some other process) failed to create a directory. test -d "$my_directory_path" || \ func_fatal_error "Failed to create \`$1'" fi } # func_mktempdir [string] # Make a temporary directory that won't clash with other running # libtool processes, and avoids race conditions if possible. If # given, STRING is the basename for that directory. func_mktempdir () { my_template="${TMPDIR-/tmp}/${1-$progname}" if test "$opt_dry_run" = ":"; then # Return a directory name, but don't create it in dry-run mode my_tmpdir="${my_template}-$$" else # If mktemp works, use that first and foremost my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` if test ! -d "$my_tmpdir"; then # Failing that, at least try and use $RANDOM to avoid a race my_tmpdir="${my_template}-${RANDOM-0}$$" save_mktempdir_umask=`umask` umask 0077 $MKDIR "$my_tmpdir" umask $save_mktempdir_umask fi # If we're not in dry-run mode, bomb out on failure test -d "$my_tmpdir" || \ func_fatal_error "cannot create temporary directory \`$my_tmpdir'" fi $ECHO "$my_tmpdir" } # func_quote_for_eval arg # Aesthetically quote ARG to be evaled later. # This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT # is double-quoted, suitable for a subsequent eval, whereas # FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters # which are still active within double quotes backslashified. func_quote_for_eval () { case $1 in *[\\\`\"\$]*) func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;; *) func_quote_for_eval_unquoted_result="$1" ;; esac case $func_quote_for_eval_unquoted_result in # Double-quote args containing shell metacharacters to delay # word splitting, command substitution and and variable # expansion for a subsequent eval. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\"" ;; *) func_quote_for_eval_result="$func_quote_for_eval_unquoted_result" esac } # func_quote_for_expand arg # Aesthetically quote ARG to be evaled later; same as above, # but do not quote variable references. func_quote_for_expand () { case $1 in *[\\\`\"]*) my_arg=`$ECHO "$1" | $SED \ -e "$double_quote_subst" -e "$sed_double_backslash"` ;; *) my_arg="$1" ;; esac case $my_arg in # Double-quote args containing shell metacharacters to delay # word splitting and command substitution for a subsequent eval. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") my_arg="\"$my_arg\"" ;; esac func_quote_for_expand_result="$my_arg" } # func_show_eval cmd [fail_exp] # Unless opt_silent is true, then output CMD. Then, if opt_dryrun is # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP # is given, then evaluate it. func_show_eval () { my_cmd="$1" my_fail_exp="${2-:}" ${opt_silent-false} || { func_quote_for_expand "$my_cmd" eval "func_echo $func_quote_for_expand_result" } if ${opt_dry_run-false}; then :; else eval "$my_cmd" my_status=$? if test "$my_status" -eq 0; then :; else eval "(exit $my_status); $my_fail_exp" fi fi } # func_show_eval_locale cmd [fail_exp] # Unless opt_silent is true, then output CMD. Then, if opt_dryrun is # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP # is given, then evaluate it. Use the saved locale for evaluation. func_show_eval_locale () { my_cmd="$1" my_fail_exp="${2-:}" ${opt_silent-false} || { func_quote_for_expand "$my_cmd" eval "func_echo $func_quote_for_expand_result" } if ${opt_dry_run-false}; then :; else eval "$lt_user_locale $my_cmd" my_status=$? eval "$lt_safe_locale" if test "$my_status" -eq 0; then :; else eval "(exit $my_status); $my_fail_exp" fi fi } # func_version # Echo version message to standard output and exit. func_version () { $SED -n '/(C)/!b go :more /\./!{ N s/\n# // b more } :go /^# '$PROGRAM' (GNU /,/# warranty; / { s/^# // s/^# *$// s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/ p }' < "$progpath" exit $? } # func_usage # Echo short help message to standard output and exit. func_usage () { $SED -n '/^# Usage:/,/^# *-h/ { s/^# // s/^# *$// s/\$progname/'$progname'/ p }' < "$progpath" echo $ECHO "run \`$progname --help | more' for full usage" exit $? } # func_help [NOEXIT] # Echo long help message to standard output and exit, # unless 'noexit' is passed as argument. func_help () { $SED -n '/^# Usage:/,/# Report bugs to/ { s/^# // s/^# *$// s*\$progname*'$progname'* s*\$host*'"$host"'* s*\$SHELL*'"$SHELL"'* s*\$LTCC*'"$LTCC"'* s*\$LTCFLAGS*'"$LTCFLAGS"'* s*\$LD*'"$LD"'* s/\$with_gnu_ld/'"$with_gnu_ld"'/ s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/ s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/ p }' < "$progpath" ret=$? if test -z "$1"; then exit $ret fi } # func_missing_arg argname # Echo program name prefixed message to standard error and set global # exit_cmd. func_missing_arg () { func_error "missing argument for $1" exit_cmd=exit } exit_cmd=: magic="%%%MAGIC variable%%%" magic_exe="%%%MAGIC EXE variable%%%" # Global variables. # $mode is unset nonopt= execute_dlfiles= preserve_args= lo2o="s/\\.lo\$/.${objext}/" o2lo="s/\\.${objext}\$/.lo/" extracted_archives= extracted_serial=0 opt_dry_run=false opt_duplicate_deps=false opt_silent=false opt_debug=: # If this variable is set in any of the actions, the command in it # will be execed at the end. This prevents here-documents from being # left over by shells. exec_cmd= # func_fatal_configuration arg... # Echo program name prefixed message to standard error, followed by # a configuration failure hint, and exit. func_fatal_configuration () { func_error ${1+"$@"} func_error "See the $PACKAGE documentation for more information." func_fatal_error "Fatal configuration error." } # func_config # Display the configuration for all the tags in this script. func_config () { re_begincf='^# ### BEGIN LIBTOOL' re_endcf='^# ### END LIBTOOL' # Default configuration. $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath" # Now print the configurations for the tags. for tagname in $taglist; do $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath" done exit $? } # func_features # Display the features supported by this script. func_features () { echo "host: $host" if test "$build_libtool_libs" = yes; then echo "enable shared libraries" else echo "disable shared libraries" fi if test "$build_old_libs" = yes; then echo "enable static libraries" else echo "disable static libraries" fi exit $? } # func_enable_tag tagname # Verify that TAGNAME is valid, and either flag an error and exit, or # enable the TAGNAME tag. We also add TAGNAME to the global $taglist # variable here. func_enable_tag () { # Global variable: tagname="$1" re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" sed_extractcf="/$re_begincf/,/$re_endcf/p" # Validate tagname. case $tagname in *[!-_A-Za-z0-9,/]*) func_fatal_error "invalid tag name: $tagname" ;; esac # Don't test for the "default" C tag, as we know it's # there but not specially marked. case $tagname in CC) ;; *) if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then taglist="$taglist $tagname" # Evaluate the configuration. Be careful to quote the path # and the sed script, to avoid splitting on whitespace, but # also don't use non-portable quotes within backquotes within # quotes we have to do it in 2 steps: extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` eval "$extractedcf" else func_error "ignoring unknown tag $tagname" fi ;; esac } # Parse options once, thoroughly. This comes as soon as possible in # the script to make things like `libtool --version' happen quickly. { # Shorthand for --mode=foo, only valid as the first argument case $1 in clean|clea|cle|cl) shift; set dummy --mode clean ${1+"$@"}; shift ;; compile|compil|compi|comp|com|co|c) shift; set dummy --mode compile ${1+"$@"}; shift ;; execute|execut|execu|exec|exe|ex|e) shift; set dummy --mode execute ${1+"$@"}; shift ;; finish|finis|fini|fin|fi|f) shift; set dummy --mode finish ${1+"$@"}; shift ;; install|instal|insta|inst|ins|in|i) shift; set dummy --mode install ${1+"$@"}; shift ;; link|lin|li|l) shift; set dummy --mode link ${1+"$@"}; shift ;; uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) shift; set dummy --mode uninstall ${1+"$@"}; shift ;; esac # Parse non-mode specific arguments: while test "$#" -gt 0; do opt="$1" shift case $opt in --config) func_config ;; --debug) preserve_args="$preserve_args $opt" func_echo "enabling shell trace mode" opt_debug='set -x' $opt_debug ;; -dlopen) test "$#" -eq 0 && func_missing_arg "$opt" && break execute_dlfiles="$execute_dlfiles $1" shift ;; --dry-run | -n) opt_dry_run=: ;; --features) func_features ;; --finish) mode="finish" ;; --mode) test "$#" -eq 0 && func_missing_arg "$opt" && break case $1 in # Valid mode arguments: clean) ;; compile) ;; execute) ;; finish) ;; install) ;; link) ;; relink) ;; uninstall) ;; # Catch anything else as an error *) func_error "invalid argument for $opt" exit_cmd=exit break ;; esac mode="$1" shift ;; --preserve-dup-deps) opt_duplicate_deps=: ;; --quiet|--silent) preserve_args="$preserve_args $opt" opt_silent=: opt_verbose=false ;; --no-quiet|--no-silent) preserve_args="$preserve_args $opt" opt_silent=false ;; --verbose| -v) preserve_args="$preserve_args $opt" opt_silent=false opt_verbose=: ;; --no-verbose) preserve_args="$preserve_args $opt" opt_verbose=false ;; --tag) test "$#" -eq 0 && func_missing_arg "$opt" && break preserve_args="$preserve_args $opt $1" func_enable_tag "$1" # tagname is set here shift ;; # Separate optargs to long options: -dlopen=*|--mode=*|--tag=*) func_opt_split "$opt" set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"} shift ;; -\?|-h) func_usage ;; --help) opt_help=: ;; --help-all) opt_help=': help-all' ;; --version) func_version ;; -*) func_fatal_help "unrecognized option \`$opt'" ;; *) nonopt="$opt" break ;; esac done case $host in *cygwin* | *mingw* | *pw32* | *cegcc*) # don't eliminate duplications in $postdeps and $predeps opt_duplicate_compiler_generated_deps=: ;; *) opt_duplicate_compiler_generated_deps=$opt_duplicate_deps ;; esac # Having warned about all mis-specified options, bail out if # anything was wrong. $exit_cmd $EXIT_FAILURE } # func_check_version_match # Ensure that we are using m4 macros, and libtool script from the same # release of libtool. func_check_version_match () { if test "$package_revision" != "$macro_revision"; then if test "$VERSION" != "$macro_version"; then if test -z "$macro_version"; then cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, but the $progname: definition of this LT_INIT comes from an older release. $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION $progname: and run autoconf again. _LT_EOF else cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, but the $progname: definition of this LT_INIT comes from $PACKAGE $macro_version. $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION $progname: and run autoconf again. _LT_EOF fi else cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, $progname: but the definition of this LT_INIT comes from revision $macro_revision. $progname: You should recreate aclocal.m4 with macros from revision $package_revision $progname: of $PACKAGE $VERSION and run autoconf again. _LT_EOF fi exit $EXIT_MISMATCH fi } ## ----------- ## ## Main. ## ## ----------- ## $opt_help || { # Sanity checks first: func_check_version_match if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then func_fatal_configuration "not configured to build any kind of library" fi test -z "$mode" && func_fatal_error "error: you must specify a MODE." # Darwin sucks eval std_shrext=\"$shrext_cmds\" # Only execute mode is allowed to have -dlopen flags. if test -n "$execute_dlfiles" && test "$mode" != execute; then func_error "unrecognized option \`-dlopen'" $ECHO "$help" 1>&2 exit $EXIT_FAILURE fi # Change the help message to a mode-specific one. generic_help="$help" help="Try \`$progname --help --mode=$mode' for more information." } # func_lalib_p file # True iff FILE is a libtool `.la' library or `.lo' object file. # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_lalib_p () { test -f "$1" && $SED -e 4q "$1" 2>/dev/null \ | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 } # func_lalib_unsafe_p file # True iff FILE is a libtool `.la' library or `.lo' object file. # This function implements the same check as func_lalib_p without # resorting to external programs. To this end, it redirects stdin and # closes it afterwards, without saving the original file descriptor. # As a safety measure, use it only where a negative result would be # fatal anyway. Works if `file' does not exist. func_lalib_unsafe_p () { lalib_p=no if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then for lalib_p_l in 1 2 3 4 do read lalib_p_line case "$lalib_p_line" in \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; esac done exec 0<&5 5<&- fi test "$lalib_p" = yes } # func_ltwrapper_script_p file # True iff FILE is a libtool wrapper script # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_script_p () { func_lalib_p "$1" } # func_ltwrapper_executable_p file # True iff FILE is a libtool wrapper executable # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_executable_p () { func_ltwrapper_exec_suffix= case $1 in *.exe) ;; *) func_ltwrapper_exec_suffix=.exe ;; esac $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 } # func_ltwrapper_scriptname file # Assumes file is an ltwrapper_executable # uses $file to determine the appropriate filename for a # temporary ltwrapper_script. func_ltwrapper_scriptname () { func_ltwrapper_scriptname_result="" if func_ltwrapper_executable_p "$1"; then func_dirname_and_basename "$1" "" "." func_stripname '' '.exe' "$func_basename_result" func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper" fi } # func_ltwrapper_p file # True iff FILE is a libtool wrapper script or wrapper executable # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_p () { func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" } # func_execute_cmds commands fail_cmd # Execute tilde-delimited COMMANDS. # If FAIL_CMD is given, eval that upon failure. # FAIL_CMD may read-access the current command in variable CMD! func_execute_cmds () { $opt_debug save_ifs=$IFS; IFS='~' for cmd in $1; do IFS=$save_ifs eval cmd=\"$cmd\" func_show_eval "$cmd" "${2-:}" done IFS=$save_ifs } # func_source file # Source FILE, adding directory component if necessary. # Note that it is not necessary on cygwin/mingw to append a dot to # FILE even if both FILE and FILE.exe exist: automatic-append-.exe # behavior happens only for exec(3), not for open(2)! Also, sourcing # `FILE.' does not work on cygwin managed mounts. func_source () { $opt_debug case $1 in */* | *\\*) . "$1" ;; *) . "./$1" ;; esac } # func_infer_tag arg # Infer tagged configuration to use if any are available and # if one wasn't chosen via the "--tag" command line option. # Only attempt this if the compiler in the base compile # command doesn't match the default compiler. # arg is usually of the form 'gcc ...' func_infer_tag () { $opt_debug if test -n "$available_tags" && test -z "$tagname"; then CC_quoted= for arg in $CC; do func_quote_for_eval "$arg" CC_quoted="$CC_quoted $func_quote_for_eval_result" done CC_expanded=`func_echo_all $CC` CC_quoted_expanded=`func_echo_all $CC_quoted` case $@ in # Blanks in the command may have been stripped by the calling shell, # but not from the CC environment variable when configure was run. " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;; # Blanks at the start of $base_compile will cause this to fail # if we don't check for them as well. *) for z in $available_tags; do if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then # Evaluate the configuration. eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" CC_quoted= for arg in $CC; do # Double-quote args containing other shell metacharacters. func_quote_for_eval "$arg" CC_quoted="$CC_quoted $func_quote_for_eval_result" done CC_expanded=`func_echo_all $CC` CC_quoted_expanded=`func_echo_all $CC_quoted` case "$@ " in " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) # The compiler in the base compile command matches # the one in the tagged configuration. # Assume this is the tagged configuration we want. tagname=$z break ;; esac fi done # If $tagname still isn't set, then no tagged configuration # was found and let the user know that the "--tag" command # line option must be used. if test -z "$tagname"; then func_echo "unable to infer tagged configuration" func_fatal_error "specify a tag with \`--tag'" # else # func_verbose "using $tagname tagged configuration" fi ;; esac fi } # func_write_libtool_object output_name pic_name nonpic_name # Create a libtool object file (analogous to a ".la" file), # but don't create it if we're doing a dry run. func_write_libtool_object () { write_libobj=${1} if test "$build_libtool_libs" = yes; then write_lobj=\'${2}\' else write_lobj=none fi if test "$build_old_libs" = yes; then write_oldobj=\'${3}\' else write_oldobj=none fi $opt_dry_run || { cat >${write_libobj}T <?"'"'"' &()|`$[]' \ && func_warning "libobj name \`$libobj' may not contain shell special characters." func_dirname_and_basename "$obj" "/" "" objname="$func_basename_result" xdir="$func_dirname_result" lobj=${xdir}$objdir/$objname test -z "$base_compile" && \ func_fatal_help "you must specify a compilation command" # Delete any leftover library objects. if test "$build_old_libs" = yes; then removelist="$obj $lobj $libobj ${libobj}T" else removelist="$lobj $libobj ${libobj}T" fi # On Cygwin there's no "real" PIC flag so we must build both object types case $host_os in cygwin* | mingw* | pw32* | os2* | cegcc*) pic_mode=default ;; esac if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then # non-PIC code in shared libraries is not supported pic_mode=default fi # Calculate the filename of the output object if compiler does # not support -o with -c if test "$compiler_c_o" = no; then output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext} lockfile="$output_obj.lock" else output_obj= need_locks=no lockfile= fi # Lock this critical section if it is needed # We use this script file to make the link, it avoids creating a new file if test "$need_locks" = yes; then until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do func_echo "Waiting for $lockfile to be removed" sleep 2 done elif test "$need_locks" = warn; then if test -f "$lockfile"; then $ECHO "\ *** ERROR, $lockfile exists and contains: `cat $lockfile 2>/dev/null` This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi removelist="$removelist $output_obj" $ECHO "$srcfile" > "$lockfile" fi $opt_dry_run || $RM $removelist removelist="$removelist $lockfile" trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 if test -n "$fix_srcfile_path"; then eval srcfile=\"$fix_srcfile_path\" fi func_quote_for_eval "$srcfile" qsrcfile=$func_quote_for_eval_result # Only build a PIC object if we are building libtool libraries. if test "$build_libtool_libs" = yes; then # Without this assignment, base_compile gets emptied. fbsd_hideous_sh_bug=$base_compile if test "$pic_mode" != no; then command="$base_compile $qsrcfile $pic_flag" else # Don't build PIC code command="$base_compile $qsrcfile" fi func_mkdir_p "$xdir$objdir" if test -z "$output_obj"; then # Place PIC objects in $objdir command="$command -o $lobj" fi func_show_eval_locale "$command" \ 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' if test "$need_locks" = warn && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $ECHO "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi # Just move the object if needed, then go on to compile the next one if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then func_show_eval '$MV "$output_obj" "$lobj"' \ 'error=$?; $opt_dry_run || $RM $removelist; exit $error' fi # Allow error messages only from the first compilation. if test "$suppress_opt" = yes; then suppress_output=' >/dev/null 2>&1' fi fi # Only build a position-dependent object if we build old libraries. if test "$build_old_libs" = yes; then if test "$pic_mode" != yes; then # Don't build PIC code command="$base_compile $qsrcfile$pie_flag" else command="$base_compile $qsrcfile $pic_flag" fi if test "$compiler_c_o" = yes; then command="$command -o $obj" fi # Suppress compiler output if we already did a PIC compilation. command="$command$suppress_output" func_show_eval_locale "$command" \ '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' if test "$need_locks" = warn && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $ECHO "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi # Just move the object if needed if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then func_show_eval '$MV "$output_obj" "$obj"' \ 'error=$?; $opt_dry_run || $RM $removelist; exit $error' fi fi $opt_dry_run || { func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" # Unlock the critical section if it was locked if test "$need_locks" != no; then removelist=$lockfile $RM "$lockfile" fi } exit $EXIT_SUCCESS } $opt_help || { test "$mode" = compile && func_mode_compile ${1+"$@"} } func_mode_help () { # We need to display help for each of the modes. case $mode in "") # Generic help is extracted from the usage comments # at the start of this file. func_help ;; clean) $ECHO \ "Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... Remove files from the build directory. RM is the name of the program to use to delete files associated with each FILE (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed to RM. If FILE is a libtool library, object or program, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; compile) $ECHO \ "Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE Compile a source file into a libtool library object. This mode accepts the following additional options: -o OUTPUT-FILE set the output file name to OUTPUT-FILE -no-suppress do not suppress compiler output for multiple passes -prefer-pic try to building PIC objects only -prefer-non-pic try to building non-PIC objects only -shared do not build a \`.o' file suitable for static linking -static only build a \`.o' file suitable for static linking -Wc,FLAG pass FLAG directly to the compiler COMPILE-COMMAND is a command to be used in creating a \`standard' object file from the given SOURCEFILE. The output file name is determined by removing the directory component from SOURCEFILE, then substituting the C source code suffix \`.c' with the library object suffix, \`.lo'." ;; execute) $ECHO \ "Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... Automatically set library path, then run a program. This mode accepts the following additional options: -dlopen FILE add the directory containing FILE to the library path This mode sets the library path environment variable according to \`-dlopen' flags. If any of the ARGS are libtool executable wrappers, then they are translated into their corresponding uninstalled binary, and any of their required library directories are added to the library path. Then, COMMAND is executed, with ARGS as arguments." ;; finish) $ECHO \ "Usage: $progname [OPTION]... --mode=finish [LIBDIR]... Complete the installation of libtool libraries. Each LIBDIR is a directory that contains libtool libraries. The commands that this mode executes may require superuser privileges. Use the \`--dry-run' option if you just want to see what would be executed." ;; install) $ECHO \ "Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... Install executables or libraries. INSTALL-COMMAND is the installation command. The first component should be either the \`install' or \`cp' program. The following components of INSTALL-COMMAND are treated specially: -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation The rest of the components are interpreted as arguments to that command (only BSD-compatible install options are recognized)." ;; link) $ECHO \ "Usage: $progname [OPTION]... --mode=link LINK-COMMAND... Link object files or libraries together to form another library, or to create an executable program. LINK-COMMAND is a command using the C compiler that you would use to create a program from several object files. The following components of LINK-COMMAND are treated specially: -all-static do not do any dynamic linking at all -avoid-version do not add a version suffix if possible -bindir BINDIR specify path to binaries directory (for systems where libraries must be found in the PATH setting at runtime) -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) -export-symbols SYMFILE try to export only the symbols listed in SYMFILE -export-symbols-regex REGEX try to export only the symbols matching REGEX -LLIBDIR search LIBDIR for required installed libraries -lNAME OUTPUT-FILE requires the installed library libNAME -module build a library that can dlopened -no-fast-install disable the fast-install mode -no-install link a not-installable executable -no-undefined declare that a library does not refer to external symbols -o OUTPUT-FILE create OUTPUT-FILE from the specified objects -objectlist FILE Use a list of object files found in FILE to specify objects -precious-files-regex REGEX don't remove output files matching REGEX -release RELEASE specify package release information -rpath LIBDIR the created library will eventually be installed in LIBDIR -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries -shared only do dynamic linking of libtool libraries -shrext SUFFIX override the standard shared library file extension -static do not do any dynamic linking of uninstalled libtool libraries -static-libtool-libs do not do any dynamic linking of libtool libraries -version-info CURRENT[:REVISION[:AGE]] specify library version info [each variable defaults to 0] -weak LIBNAME declare that the target provides the LIBNAME interface -Wc,FLAG -Xcompiler FLAG pass linker-specific FLAG directly to the compiler -Wl,FLAG -Xlinker FLAG pass linker-specific FLAG directly to the linker -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) All other options (arguments beginning with \`-') are ignored. Every other argument is treated as a filename. Files ending in \`.la' are treated as uninstalled libtool libraries, other files are standard or library object files. If the OUTPUT-FILE ends in \`.la', then a libtool library is created, only library objects (\`.lo' files) may be specified, and \`-rpath' is required, except when creating a convenience library. If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created using \`ar' and \`ranlib', or on Windows using \`lib'. If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file is created, otherwise an executable program is created." ;; uninstall) $ECHO \ "Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... Remove libraries from an installation directory. RM is the name of the program to use to delete files associated with each FILE (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed to RM. If FILE is a libtool library, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; *) func_fatal_help "invalid operation mode \`$mode'" ;; esac echo $ECHO "Try \`$progname --help' for more information about other modes." } # Now that we've collected a possible --mode arg, show help if necessary if $opt_help; then if test "$opt_help" = :; then func_mode_help else { func_help noexit for mode in compile link execute install finish uninstall clean; do func_mode_help done } | sed -n '1p; 2,$s/^Usage:/ or: /p' { func_help noexit for mode in compile link execute install finish uninstall clean; do echo func_mode_help done } | sed '1d /^When reporting/,/^Report/{ H d } $x /information about other modes/d /more detailed .*MODE/d s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/' fi exit $? fi # func_mode_execute arg... func_mode_execute () { $opt_debug # The first argument is the command name. cmd="$nonopt" test -z "$cmd" && \ func_fatal_help "you must specify a COMMAND" # Handle -dlopen flags immediately. for file in $execute_dlfiles; do test -f "$file" \ || func_fatal_help "\`$file' is not a file" dir= case $file in *.la) # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$file" \ || func_fatal_help "\`$lib' is not a valid libtool archive" # Read the libtool library. dlname= library_names= func_source "$file" # Skip this library if it cannot be dlopened. if test -z "$dlname"; then # Warn if it was a shared library. test -n "$library_names" && \ func_warning "\`$file' was not linked with \`-export-dynamic'" continue fi func_dirname "$file" "" "." dir="$func_dirname_result" if test -f "$dir/$objdir/$dlname"; then dir="$dir/$objdir" else if test ! -f "$dir/$dlname"; then func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" fi fi ;; *.lo) # Just add the directory containing the .lo file. func_dirname "$file" "" "." dir="$func_dirname_result" ;; *) func_warning "\`-dlopen' is ignored for non-libtool libraries and objects" continue ;; esac # Get the absolute pathname. absdir=`cd "$dir" && pwd` test -n "$absdir" && dir="$absdir" # Now add the directory to shlibpath_var. if eval "test -z \"\$$shlibpath_var\""; then eval "$shlibpath_var=\"\$dir\"" else eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" fi done # This variable tells wrapper scripts just to set shlibpath_var # rather than running their programs. libtool_execute_magic="$magic" # Check if any of the arguments is a wrapper script. args= for file do case $file in -* | *.la | *.lo ) ;; *) # Do a test to see if this is really a libtool program. if func_ltwrapper_script_p "$file"; then func_source "$file" # Transform arg to wrapped name. file="$progdir/$program" elif func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" func_source "$func_ltwrapper_scriptname_result" # Transform arg to wrapped name. file="$progdir/$program" fi ;; esac # Quote arguments (to preserve shell metacharacters). func_quote_for_eval "$file" args="$args $func_quote_for_eval_result" done if test "X$opt_dry_run" = Xfalse; then if test -n "$shlibpath_var"; then # Export the shlibpath_var. eval "export $shlibpath_var" fi # Restore saved environment variables for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${save_$lt_var+set}\" = set; then $lt_var=\$save_$lt_var; export $lt_var else $lt_unset $lt_var fi" done # Now prepare to actually exec the command. exec_cmd="\$cmd$args" else # Display what would be done. if test -n "$shlibpath_var"; then eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" echo "export $shlibpath_var" fi $ECHO "$cmd$args" exit $EXIT_SUCCESS fi } test "$mode" = execute && func_mode_execute ${1+"$@"} # func_mode_finish arg... func_mode_finish () { $opt_debug libdirs="$nonopt" admincmds= if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then for dir do libdirs="$libdirs $dir" done for libdir in $libdirs; do if test -n "$finish_cmds"; then # Do each command in the finish commands. func_execute_cmds "$finish_cmds" 'admincmds="$admincmds '"$cmd"'"' fi if test -n "$finish_eval"; then # Do the single finish_eval. eval cmds=\"$finish_eval\" $opt_dry_run || eval "$cmds" || admincmds="$admincmds $cmds" fi done fi # Exit here if they wanted silent mode. $opt_silent && exit $EXIT_SUCCESS echo "----------------------------------------------------------------------" echo "Libraries have been installed in:" for libdir in $libdirs; do $ECHO " $libdir" done echo echo "If you ever happen to want to link against installed libraries" echo "in a given directory, LIBDIR, you must either use libtool, and" echo "specify the full pathname of the library, or use the \`-LLIBDIR'" echo "flag during linking and do at least one of the following:" if test -n "$shlibpath_var"; then echo " - add LIBDIR to the \`$shlibpath_var' environment variable" echo " during execution" fi if test -n "$runpath_var"; then echo " - add LIBDIR to the \`$runpath_var' environment variable" echo " during linking" fi if test -n "$hardcode_libdir_flag_spec"; then libdir=LIBDIR eval flag=\"$hardcode_libdir_flag_spec\" $ECHO " - use the \`$flag' linker flag" fi if test -n "$admincmds"; then $ECHO " - have your system administrator run these commands:$admincmds" fi if test -f /etc/ld.so.conf; then echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" fi echo echo "See any operating system documentation about shared libraries for" case $host in solaris2.[6789]|solaris2.1[0-9]) echo "more information, such as the ld(1), crle(1) and ld.so(8) manual" echo "pages." ;; *) echo "more information, such as the ld(1) and ld.so(8) manual pages." ;; esac echo "----------------------------------------------------------------------" exit $EXIT_SUCCESS } test "$mode" = finish && func_mode_finish ${1+"$@"} # func_mode_install arg... func_mode_install () { $opt_debug # There may be an optional sh(1) argument at the beginning of # install_prog (especially on Windows NT). if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || # Allow the use of GNU shtool's install command. case $nonopt in *shtool*) :;; *) false;; esac; then # Aesthetically quote it. func_quote_for_eval "$nonopt" install_prog="$func_quote_for_eval_result " arg=$1 shift else install_prog= arg=$nonopt fi # The real first argument should be the name of the installation program. # Aesthetically quote it. func_quote_for_eval "$arg" install_prog="$install_prog$func_quote_for_eval_result" install_shared_prog=$install_prog case " $install_prog " in *[\\\ /]cp\ *) install_cp=: ;; *) install_cp=false ;; esac # We need to accept at least all the BSD install flags. dest= files= opts= prev= install_type= isdir=no stripme= no_mode=: for arg do arg2= if test -n "$dest"; then files="$files $dest" dest=$arg continue fi case $arg in -d) isdir=yes ;; -f) if $install_cp; then :; else prev=$arg fi ;; -g | -m | -o) prev=$arg ;; -s) stripme=" -s" continue ;; -*) ;; *) # If the previous option needed an argument, then skip it. if test -n "$prev"; then if test "x$prev" = x-m && test -n "$install_override_mode"; then arg2=$install_override_mode no_mode=false fi prev= else dest=$arg continue fi ;; esac # Aesthetically quote the argument. func_quote_for_eval "$arg" install_prog="$install_prog $func_quote_for_eval_result" if test -n "$arg2"; then func_quote_for_eval "$arg2" fi install_shared_prog="$install_shared_prog $func_quote_for_eval_result" done test -z "$install_prog" && \ func_fatal_help "you must specify an install program" test -n "$prev" && \ func_fatal_help "the \`$prev' option requires an argument" if test -n "$install_override_mode" && $no_mode; then if $install_cp; then :; else func_quote_for_eval "$install_override_mode" install_shared_prog="$install_shared_prog -m $func_quote_for_eval_result" fi fi if test -z "$files"; then if test -z "$dest"; then func_fatal_help "no file or destination specified" else func_fatal_help "you must specify a destination" fi fi # Strip any trailing slash from the destination. func_stripname '' '/' "$dest" dest=$func_stripname_result # Check to see that the destination is a directory. test -d "$dest" && isdir=yes if test "$isdir" = yes; then destdir="$dest" destname= else func_dirname_and_basename "$dest" "" "." destdir="$func_dirname_result" destname="$func_basename_result" # Not a directory, so check to see that there is only one file specified. set dummy $files; shift test "$#" -gt 1 && \ func_fatal_help "\`$dest' is not a directory" fi case $destdir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) for file in $files; do case $file in *.lo) ;; *) func_fatal_help "\`$destdir' must be an absolute directory name" ;; esac done ;; esac # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic="$magic" staticlibs= future_libdirs= current_libdirs= for file in $files; do # Do each installation. case $file in *.$libext) # Do the static libraries later. staticlibs="$staticlibs $file" ;; *.la) # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$file" \ || func_fatal_help "\`$file' is not a valid libtool archive" library_names= old_library= relink_command= func_source "$file" # Add the libdir to current_libdirs if it is the destination. if test "X$destdir" = "X$libdir"; then case "$current_libdirs " in *" $libdir "*) ;; *) current_libdirs="$current_libdirs $libdir" ;; esac else # Note the libdir as a future libdir. case "$future_libdirs " in *" $libdir "*) ;; *) future_libdirs="$future_libdirs $libdir" ;; esac fi func_dirname "$file" "/" "" dir="$func_dirname_result" dir="$dir$objdir" if test -n "$relink_command"; then # Determine the prefix the user has applied to our future dir. inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` # Don't allow the user to place us outside of our expected # location b/c this prevents finding dependent libraries that # are installed to the same prefix. # At present, this check doesn't affect windows .dll's that # are installed into $libdir/../bin (currently, that works fine) # but it's something to keep an eye on. test "$inst_prefix_dir" = "$destdir" && \ func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir" if test -n "$inst_prefix_dir"; then # Stick the inst_prefix_dir data into the link command. relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` else relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` fi func_warning "relinking \`$file'" func_show_eval "$relink_command" \ 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"' fi # See the names of the shared library. set dummy $library_names; shift if test -n "$1"; then realname="$1" shift srcname="$realname" test -n "$relink_command" && srcname="$realname"T # Install the shared library and build the symlinks. func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \ 'exit $?' tstripme="$stripme" case $host_os in cygwin* | mingw* | pw32* | cegcc*) case $realname in *.dll.a) tstripme="" ;; esac ;; esac if test -n "$tstripme" && test -n "$striplib"; then func_show_eval "$striplib $destdir/$realname" 'exit $?' fi if test "$#" -gt 0; then # Delete the old symlinks, and create new ones. # Try `ln -sf' first, because the `ln' binary might depend on # the symlink we replace! Solaris /bin/ln does not understand -f, # so we also need to try rm && ln -s. for linkname do test "$linkname" != "$realname" \ && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" done fi # Do each command in the postinstall commands. lib="$destdir/$realname" func_execute_cmds "$postinstall_cmds" 'exit $?' fi # Install the pseudo-library for information purposes. func_basename "$file" name="$func_basename_result" instname="$dir/$name"i func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' # Maybe install the static library, too. test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" ;; *.lo) # Install (i.e. copy) a libtool object. # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then destfile="$destdir/$destname" else func_basename "$file" destfile="$func_basename_result" destfile="$destdir/$destfile" fi # Deduce the name of the destination old-style object file. case $destfile in *.lo) func_lo2o "$destfile" staticdest=$func_lo2o_result ;; *.$objext) staticdest="$destfile" destfile= ;; *) func_fatal_help "cannot copy a libtool object to \`$destfile'" ;; esac # Install the libtool object if requested. test -n "$destfile" && \ func_show_eval "$install_prog $file $destfile" 'exit $?' # Install the old object if enabled. if test "$build_old_libs" = yes; then # Deduce the name of the old-style object file. func_lo2o "$file" staticobj=$func_lo2o_result func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' fi exit $EXIT_SUCCESS ;; *) # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then destfile="$destdir/$destname" else func_basename "$file" destfile="$func_basename_result" destfile="$destdir/$destfile" fi # If the file is missing, and there is a .exe on the end, strip it # because it is most likely a libtool script we actually want to # install stripped_ext="" case $file in *.exe) if test ! -f "$file"; then func_stripname '' '.exe' "$file" file=$func_stripname_result stripped_ext=".exe" fi ;; esac # Do a test to see if this is really a libtool program. case $host in *cygwin* | *mingw*) if func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" wrapper=$func_ltwrapper_scriptname_result else func_stripname '' '.exe' "$file" wrapper=$func_stripname_result fi ;; *) wrapper=$file ;; esac if func_ltwrapper_script_p "$wrapper"; then notinst_deplibs= relink_command= func_source "$wrapper" # Check the variables that should have been set. test -z "$generated_by_libtool_version" && \ func_fatal_error "invalid libtool wrapper script \`$wrapper'" finalize=yes for lib in $notinst_deplibs; do # Check to see that each library is installed. libdir= if test -f "$lib"; then func_source "$lib" fi libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test if test -n "$libdir" && test ! -f "$libfile"; then func_warning "\`$lib' has not been installed in \`$libdir'" finalize=no fi done relink_command= func_source "$wrapper" outputname= if test "$fast_install" = no && test -n "$relink_command"; then $opt_dry_run || { if test "$finalize" = yes; then tmpdir=`func_mktempdir` func_basename "$file$stripped_ext" file="$func_basename_result" outputname="$tmpdir/$file" # Replace the output file specification. relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` $opt_silent || { func_quote_for_expand "$relink_command" eval "func_echo $func_quote_for_expand_result" } if eval "$relink_command"; then : else func_error "error: relink \`$file' with the above command before installing it" $opt_dry_run || ${RM}r "$tmpdir" continue fi file="$outputname" else func_warning "cannot relink \`$file'" fi } else # Install the binary that we compiled earlier. file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"` fi fi # remove .exe since cygwin /usr/bin/install will append another # one anyway case $install_prog,$host in */usr/bin/install*,*cygwin*) case $file:$destfile in *.exe:*.exe) # this is ok ;; *.exe:*) destfile=$destfile.exe ;; *:*.exe) func_stripname '' '.exe' "$destfile" destfile=$func_stripname_result ;; esac ;; esac func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' $opt_dry_run || if test -n "$outputname"; then ${RM}r "$tmpdir" fi ;; esac done for file in $staticlibs; do func_basename "$file" name="$func_basename_result" # Set up the ranlib parameters. oldlib="$destdir/$name" func_show_eval "$install_prog \$file \$oldlib" 'exit $?' if test -n "$stripme" && test -n "$old_striplib"; then func_show_eval "$old_striplib $oldlib" 'exit $?' fi # Do each command in the postinstall commands. func_execute_cmds "$old_postinstall_cmds" 'exit $?' done test -n "$future_libdirs" && \ func_warning "remember to run \`$progname --finish$future_libdirs'" if test -n "$current_libdirs"; then # Maybe just do a dry run. $opt_dry_run && current_libdirs=" -n$current_libdirs" exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' else exit $EXIT_SUCCESS fi } test "$mode" = install && func_mode_install ${1+"$@"} # func_generate_dlsyms outputname originator pic_p # Extract symbols from dlprefiles and create ${outputname}S.o with # a dlpreopen symbol table. func_generate_dlsyms () { $opt_debug my_outputname="$1" my_originator="$2" my_pic_p="${3-no}" my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'` my_dlsyms= if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then if test -n "$NM" && test -n "$global_symbol_pipe"; then my_dlsyms="${my_outputname}S.c" else func_error "not configured to extract global symbols from dlpreopened files" fi fi if test -n "$my_dlsyms"; then case $my_dlsyms in "") ;; *.c) # Discover the nlist of each of the dlfiles. nlist="$output_objdir/${my_outputname}.nm" func_show_eval "$RM $nlist ${nlist}S ${nlist}T" # Parse the name list into a source file. func_verbose "creating $output_objdir/$my_dlsyms" $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ /* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */ /* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */ #ifdef __cplusplus extern \"C\" { #endif #if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) #pragma GCC diagnostic ignored \"-Wstrict-prototypes\" #endif /* External symbol declarations for the compiler. */\ " if test "$dlself" = yes; then func_verbose "generating symbol list for \`$output'" $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" # Add our own program objects to the symbol list. progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP` for progfile in $progfiles; do func_verbose "extracting global C symbols from \`$progfile'" $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'" done if test -n "$exclude_expsyms"; then $opt_dry_run || { eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' } fi if test -n "$export_symbols_regex"; then $opt_dry_run || { eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' } fi # Prepare the list of exported symbols if test -z "$export_symbols"; then export_symbols="$output_objdir/$outputname.exp" $opt_dry_run || { $RM $export_symbols eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' case $host in *cygwin* | *mingw* | *cegcc* ) eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' ;; esac } else $opt_dry_run || { eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' case $host in *cygwin* | *mingw* | *cegcc* ) eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' ;; esac } fi fi for dlprefile in $dlprefiles; do func_verbose "extracting global C symbols from \`$dlprefile'" func_basename "$dlprefile" name="$func_basename_result" $opt_dry_run || { eval '$ECHO ": $name " >> "$nlist"' eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'" } done $opt_dry_run || { # Make sure we have at least an empty file. test -f "$nlist" || : > "$nlist" if test -n "$exclude_expsyms"; then $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T $MV "$nlist"T "$nlist" fi # Try sorting and uniquifying the output. if $GREP -v "^: " < "$nlist" | if sort -k 3 /dev/null 2>&1; then sort -k 3 else sort +2 fi | uniq > "$nlist"S; then : else $GREP -v "^: " < "$nlist" > "$nlist"S fi if test -f "$nlist"S; then eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' else echo '/* NONE */' >> "$output_objdir/$my_dlsyms" fi echo >> "$output_objdir/$my_dlsyms" "\ /* The mapping between symbol names and symbols. */ typedef struct { const char *name; void *address; } lt_dlsymlist; " case $host in *cygwin* | *mingw* | *cegcc* ) echo >> "$output_objdir/$my_dlsyms" "\ /* DATA imports from DLLs on WIN32 con't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */" lt_dlsym_const= ;; *osf5*) echo >> "$output_objdir/$my_dlsyms" "\ /* This system does not cope well with relocations in const data */" lt_dlsym_const= ;; *) lt_dlsym_const=const ;; esac echo >> "$output_objdir/$my_dlsyms" "\ extern $lt_dlsym_const lt_dlsymlist lt_${my_prefix}_LTX_preloaded_symbols[]; $lt_dlsym_const lt_dlsymlist lt_${my_prefix}_LTX_preloaded_symbols[] = {\ { \"$my_originator\", (void *) 0 }," case $need_lib_prefix in no) eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" ;; *) eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" ;; esac echo >> "$output_objdir/$my_dlsyms" "\ {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt_${my_prefix}_LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif\ " } # !$opt_dry_run pic_flag_for_symtable= case "$compile_command " in *" -static "*) ;; *) case $host in # compiling the symbol table file with pic_flag works around # a FreeBSD bug that causes programs to crash when -lm is # linked before any other PIC object. But we must not use # pic_flag when linking with -static. The problem exists in # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; *-*-hpux*) pic_flag_for_symtable=" $pic_flag" ;; *) if test "X$my_pic_p" != Xno; then pic_flag_for_symtable=" $pic_flag" fi ;; esac ;; esac symtab_cflags= for arg in $LTCFLAGS; do case $arg in -pie | -fpie | -fPIE) ;; *) symtab_cflags="$symtab_cflags $arg" ;; esac done # Now compile the dynamic symbol file. func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' # Clean up the generated files. func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"' # Transform the symbol file into the correct name. symfileobj="$output_objdir/${my_outputname}S.$objext" case $host in *cygwin* | *mingw* | *cegcc* ) if test -f "$output_objdir/$my_outputname.def"; then compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` else compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` fi ;; *) compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` ;; esac ;; *) func_fatal_error "unknown suffix for \`$my_dlsyms'" ;; esac else # We keep going just in case the user didn't refer to # lt_preloaded_symbols. The linker will fail if global_symbol_pipe # really was required. # Nullify the symbol file. compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"` finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"` fi } # func_win32_libid arg # return the library type of file 'arg' # # Need a lot of goo to handle *both* DLLs and import libs # Has to be a shell function in order to 'eat' the argument # that is supplied when $file_magic_command is called. # Despite the name, also deal with 64 bit binaries. func_win32_libid () { $opt_debug win32_libid_type="unknown" win32_fileres=`file -L $1 2>/dev/null` case $win32_fileres in *ar\ archive\ import\ library*) # definitely import win32_libid_type="x86 archive import" ;; *ar\ archive*) # could be an import, or static if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | $EGREP 'file format (pe-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then win32_nmres=`eval $NM -f posix -A $1 | $SED -n -e ' 1,100{ / I /{ s,.*,import, p q } }'` case $win32_nmres in import*) win32_libid_type="x86 archive import";; *) win32_libid_type="x86 archive static";; esac fi ;; *DLL*) win32_libid_type="x86 DLL" ;; *executable*) # but shell scripts are "executable" too... case $win32_fileres in *MS\ Windows\ PE\ Intel*) win32_libid_type="x86 DLL" ;; esac ;; esac $ECHO "$win32_libid_type" } # func_extract_an_archive dir oldlib func_extract_an_archive () { $opt_debug f_ex_an_ar_dir="$1"; shift f_ex_an_ar_oldlib="$1" if test "$lock_old_archive_extraction" = yes; then lockfile=$f_ex_an_ar_oldlib.lock until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do func_echo "Waiting for $lockfile to be removed" sleep 2 done fi func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ 'stat=$?; rm -f "$lockfile"; exit $stat' if test "$lock_old_archive_extraction" = yes; then $opt_dry_run || rm -f "$lockfile" fi if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then : else func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" fi } # func_extract_archives gentop oldlib ... func_extract_archives () { $opt_debug my_gentop="$1"; shift my_oldlibs=${1+"$@"} my_oldobjs="" my_xlib="" my_xabs="" my_xdir="" for my_xlib in $my_oldlibs; do # Extract the objects. case $my_xlib in [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; *) my_xabs=`pwd`"/$my_xlib" ;; esac func_basename "$my_xlib" my_xlib="$func_basename_result" my_xlib_u=$my_xlib while :; do case " $extracted_archives " in *" $my_xlib_u "*) func_arith $extracted_serial + 1 extracted_serial=$func_arith_result my_xlib_u=lt$extracted_serial-$my_xlib ;; *) break ;; esac done extracted_archives="$extracted_archives $my_xlib_u" my_xdir="$my_gentop/$my_xlib_u" func_mkdir_p "$my_xdir" case $host in *-darwin*) func_verbose "Extracting $my_xabs" # Do not bother doing anything if just a dry run $opt_dry_run || { darwin_orig_dir=`pwd` cd $my_xdir || exit $? darwin_archive=$my_xabs darwin_curdir=`pwd` darwin_base_archive=`basename "$darwin_archive"` darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` if test -n "$darwin_arches"; then darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` darwin_arch= func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" for darwin_arch in $darwin_arches ; do func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}" $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" func_extract_an_archive "`pwd`" "${darwin_base_archive}" cd "$darwin_curdir" $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" done # $darwin_arches ## Okay now we've a bunch of thin objects, gotta fatten them up :) darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u` darwin_file= darwin_files= for darwin_file in $darwin_filelist; do darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` $LIPO -create -output "$darwin_file" $darwin_files done # $darwin_filelist $RM -rf unfat-$$ cd "$darwin_orig_dir" else cd $darwin_orig_dir func_extract_an_archive "$my_xdir" "$my_xabs" fi # $darwin_arches } # !$opt_dry_run ;; *) func_extract_an_archive "$my_xdir" "$my_xabs" ;; esac my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` done func_extract_archives_result="$my_oldobjs" } # func_emit_wrapper [arg=no] # # Emit a libtool wrapper script on stdout. # Don't directly open a file because we may want to # incorporate the script contents within a cygwin/mingw # wrapper executable. Must ONLY be called from within # func_mode_link because it depends on a number of variables # set therein. # # ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR # variable will take. If 'yes', then the emitted script # will assume that the directory in which it is stored is # the $objdir directory. This is a cygwin/mingw-specific # behavior. func_emit_wrapper () { func_emit_wrapper_arg1=${1-no} $ECHO "\ #! $SHELL # $output - temporary wrapper script for $objdir/$outputname # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION # # The $output program cannot be directly executed until all the libtool # libraries that it depends on are installed. # # This wrapper script should never be moved out of the build directory. # If it is, it will not operate correctly. # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. sed_quote_subst='$sed_quote_subst' # 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 BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH relink_command=\"$relink_command\" # This environment variable determines our operation mode. if test \"\$libtool_install_magic\" = \"$magic\"; then # install mode needs the following variables: generated_by_libtool_version='$macro_version' notinst_deplibs='$notinst_deplibs' else # When we are sourced in execute mode, \$file and \$ECHO are already set. if test \"\$libtool_execute_magic\" != \"$magic\"; then file=\"\$0\"" qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` $ECHO "\ # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF \$1 _LTECHO_EOF' } ECHO=\"$qECHO\" fi\ # Find the directory that this script lives in. thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\` test \"x\$thisdir\" = \"x\$file\" && thisdir=. # Follow symbolic links until we get to the real thisdir. file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\` while test -n \"\$file\"; do destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\` # If there was a directory component, then change thisdir. if test \"x\$destdir\" != \"x\$file\"; then case \"\$destdir\" in [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; *) thisdir=\"\$thisdir/\$destdir\" ;; esac fi file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\` file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\` done # Usually 'no', except on cygwin/mingw when embedded into # the cwrapper. WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then # special case for '.' if test \"\$thisdir\" = \".\"; then thisdir=\`pwd\` fi # remove .libs from thisdir case \"\$thisdir\" in *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;; $objdir ) thisdir=. ;; esac fi # Try to get the absolute directory name. absdir=\`cd \"\$thisdir\" && pwd\` test -n \"\$absdir\" && thisdir=\"\$absdir\" " if test "$fast_install" = yes; then $ECHO "\ program=lt-'$outputname'$exeext progdir=\"\$thisdir/$objdir\" if test ! -f \"\$progdir/\$program\" || { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ test \"X\$file\" != \"X\$progdir/\$program\"; }; then file=\"\$\$-\$program\" if test ! -d \"\$progdir\"; then $MKDIR \"\$progdir\" else $RM \"\$progdir/\$file\" fi" $ECHO "\ # relink executable if necessary if test -n \"\$relink_command\"; then if relink_command_output=\`eval \$relink_command 2>&1\`; then : else $ECHO \"\$relink_command_output\" >&2 $RM \"\$progdir/\$file\" exit 1 fi fi $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || { $RM \"\$progdir/\$program\"; $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } $RM \"\$progdir/\$file\" fi" else $ECHO "\ program='$outputname' progdir=\"\$thisdir/$objdir\" " fi $ECHO "\ if test -f \"\$progdir/\$program\"; then" # Export our shlibpath_var if we have one. if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then $ECHO "\ # Add our own library path to $shlibpath_var $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" # Some systems cannot cope with colon-terminated $shlibpath_var # The second colon is a workaround for a bug in BeOS R4 sed $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` export $shlibpath_var " fi # fixup the dll searchpath if we need to. if test -n "$dllsearchpath"; then $ECHO "\ # Add the dll search path components to the executable PATH PATH=$dllsearchpath:\$PATH " fi $ECHO "\ if test \"\$libtool_execute_magic\" != \"$magic\"; then # Run the actual program with our arguments. " case $host in # Backslashes separate directories on plain windows *-*-mingw | *-*-os2* | *-cegcc*) $ECHO "\ exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} " ;; *) $ECHO "\ exec \"\$progdir/\$program\" \${1+\"\$@\"} " ;; esac $ECHO "\ \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 exit 1 fi else # The program doesn't exist. \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 exit 1 fi fi\ " } # func_to_host_path arg # # Convert paths to host format when used with build tools. # Intended for use with "native" mingw (where libtool itself # is running under the msys shell), or in the following cross- # build environments: # $build $host # mingw (msys) mingw [e.g. native] # cygwin mingw # *nix + wine mingw # where wine is equipped with the `winepath' executable. # In the native mingw case, the (msys) shell automatically # converts paths for any non-msys applications it launches, # but that facility isn't available from inside the cwrapper. # Similar accommodations are necessary for $host mingw and # $build cygwin. Calling this function does no harm for other # $host/$build combinations not listed above. # # ARG is the path (on $build) that should be converted to # the proper representation for $host. The result is stored # in $func_to_host_path_result. func_to_host_path () { func_to_host_path_result="$1" if test -n "$1"; then case $host in *mingw* ) lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' case $build in *mingw* ) # actually, msys # awkward: cmd appends spaces to result func_to_host_path_result=`( cmd //c echo "$1" ) 2>/dev/null | $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"` ;; *cygwin* ) func_to_host_path_result=`cygpath -w "$1" | $SED -e "$lt_sed_naive_backslashify"` ;; * ) # Unfortunately, winepath does not exit with a non-zero # error code, so we are forced to check the contents of # stdout. On the other hand, if the command is not # found, the shell will set an exit code of 127 and print # *an error message* to stdout. So we must check for both # error code of zero AND non-empty stdout, which explains # the odd construction: func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null` if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then func_to_host_path_result=`$ECHO "$func_to_host_path_tmp1" | $SED -e "$lt_sed_naive_backslashify"` else # Allow warning below. func_to_host_path_result= fi ;; esac if test -z "$func_to_host_path_result" ; then func_error "Could not determine host path corresponding to" func_error " \`$1'" func_error "Continuing, but uninstalled executables may not work." # Fallback: func_to_host_path_result="$1" fi ;; esac fi } # end: func_to_host_path # func_to_host_pathlist arg # # Convert pathlists to host format when used with build tools. # See func_to_host_path(), above. This function supports the # following $build/$host combinations (but does no harm for # combinations not listed here): # $build $host # mingw (msys) mingw [e.g. native] # cygwin mingw # *nix + wine mingw # # Path separators are also converted from $build format to # $host format. If ARG begins or ends with a path separator # character, it is preserved (but converted to $host format) # on output. # # ARG is a pathlist (on $build) that should be converted to # the proper representation on $host. The result is stored # in $func_to_host_pathlist_result. func_to_host_pathlist () { func_to_host_pathlist_result="$1" if test -n "$1"; then case $host in *mingw* ) lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' # Remove leading and trailing path separator characters from # ARG. msys behavior is inconsistent here, cygpath turns them # into '.;' and ';.', and winepath ignores them completely. func_stripname : : "$1" func_to_host_pathlist_tmp1=$func_stripname_result case $build in *mingw* ) # Actually, msys. # Awkward: cmd appends spaces to result. func_to_host_pathlist_result=` ( cmd //c echo "$func_to_host_pathlist_tmp1" ) 2>/dev/null | $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"` ;; *cygwin* ) func_to_host_pathlist_result=`cygpath -w -p "$func_to_host_pathlist_tmp1" | $SED -e "$lt_sed_naive_backslashify"` ;; * ) # unfortunately, winepath doesn't convert pathlists func_to_host_pathlist_result="" func_to_host_pathlist_oldIFS=$IFS IFS=: for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do IFS=$func_to_host_pathlist_oldIFS if test -n "$func_to_host_pathlist_f" ; then func_to_host_path "$func_to_host_pathlist_f" if test -n "$func_to_host_path_result" ; then if test -z "$func_to_host_pathlist_result" ; then func_to_host_pathlist_result="$func_to_host_path_result" else func_append func_to_host_pathlist_result ";$func_to_host_path_result" fi fi fi done IFS=$func_to_host_pathlist_oldIFS ;; esac if test -z "$func_to_host_pathlist_result"; then func_error "Could not determine the host path(s) corresponding to" func_error " \`$1'" func_error "Continuing, but uninstalled executables may not work." # Fallback. This may break if $1 contains DOS-style drive # specifications. The fix is not to complicate the expression # below, but for the user to provide a working wine installation # with winepath so that path translation in the cross-to-mingw # case works properly. lt_replace_pathsep_nix_to_dos="s|:|;|g" func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\ $SED -e "$lt_replace_pathsep_nix_to_dos"` fi # Now, add the leading and trailing path separators back case "$1" in :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result" ;; esac case "$1" in *: ) func_append func_to_host_pathlist_result ";" ;; esac ;; esac fi } # end: func_to_host_pathlist # func_emit_cwrapperexe_src # emit the source code for a wrapper executable on stdout # Must ONLY be called from within func_mode_link because # it depends on a number of variable set therein. func_emit_cwrapperexe_src () { cat < #include #ifdef _MSC_VER # include # include # include #else # include # include # ifdef __CYGWIN__ # include # endif #endif #include #include #include #include #include #include #include #include /* declarations of non-ANSI functions */ #if defined(__MINGW32__) # ifdef __STRICT_ANSI__ int _putenv (const char *); # endif #elif defined(__CYGWIN__) # ifdef __STRICT_ANSI__ char *realpath (const char *, char *); int putenv (char *); int setenv (const char *, const char *, int); # endif /* #elif defined (other platforms) ... */ #endif /* portability defines, excluding path handling macros */ #if defined(_MSC_VER) # define setmode _setmode # define stat _stat # define chmod _chmod # define getcwd _getcwd # define putenv _putenv # define S_IXUSR _S_IEXEC # ifndef _INTPTR_T_DEFINED # define _INTPTR_T_DEFINED # define intptr_t int # endif #elif defined(__MINGW32__) # define setmode _setmode # define stat _stat # define chmod _chmod # define getcwd _getcwd # define putenv _putenv #elif defined(__CYGWIN__) # define HAVE_SETENV # define FOPEN_WB "wb" /* #elif defined (other platforms) ... */ #endif #if defined(PATH_MAX) # define LT_PATHMAX PATH_MAX #elif defined(MAXPATHLEN) # define LT_PATHMAX MAXPATHLEN #else # define LT_PATHMAX 1024 #endif #ifndef S_IXOTH # define S_IXOTH 0 #endif #ifndef S_IXGRP # define S_IXGRP 0 #endif /* path handling portability macros */ #ifndef DIR_SEPARATOR # define DIR_SEPARATOR '/' # define PATH_SEPARATOR ':' #endif #if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ defined (__OS2__) # define HAVE_DOS_BASED_FILE_SYSTEM # define FOPEN_WB "wb" # ifndef DIR_SEPARATOR_2 # define DIR_SEPARATOR_2 '\\' # endif # ifndef PATH_SEPARATOR_2 # define PATH_SEPARATOR_2 ';' # endif #endif #ifndef DIR_SEPARATOR_2 # define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) #else /* DIR_SEPARATOR_2 */ # define IS_DIR_SEPARATOR(ch) \ (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) #endif /* DIR_SEPARATOR_2 */ #ifndef PATH_SEPARATOR_2 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) #else /* PATH_SEPARATOR_2 */ # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) #endif /* PATH_SEPARATOR_2 */ #ifndef FOPEN_WB # define FOPEN_WB "w" #endif #ifndef _O_BINARY # define _O_BINARY 0 #endif #define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) #define XFREE(stale) do { \ if (stale) { free ((void *) stale); stale = 0; } \ } while (0) #undef LTWRAPPER_DEBUGPRINTF #if defined LT_DEBUGWRAPPER # define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args static void ltwrapper_debugprintf (const char *fmt, ...) { va_list args; va_start (args, fmt); (void) vfprintf (stderr, fmt, args); va_end (args); } #else # define LTWRAPPER_DEBUGPRINTF(args) #endif const char *program_name = NULL; void *xmalloc (size_t num); char *xstrdup (const char *string); const char *base_name (const char *name); char *find_executable (const char *wrapper); char *chase_symlinks (const char *pathspec); int make_executable (const char *path); int check_executable (const char *path); char *strendzap (char *str, const char *pat); void lt_fatal (const char *message, ...); void lt_setenv (const char *name, const char *value); char *lt_extend_str (const char *orig_value, const char *add, int to_end); void lt_update_exe_path (const char *name, const char *value); void lt_update_lib_path (const char *name, const char *value); char **prepare_spawn (char **argv); void lt_dump_script (FILE *f); EOF cat <"))); for (i = 0; i < newargc; i++) { LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d] : %s\n", i, (newargz[i] ? newargz[i] : ""))); } EOF case $host_os in mingw*) cat <<"EOF" /* execv doesn't actually work on mingw as expected on unix */ newargz = prepare_spawn (newargz); rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz); if (rval == -1) { /* failed to start process */ LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, errno)); return 127; } return rval; EOF ;; *) cat <<"EOF" execv (lt_argv_zero, newargz); return rval; /* =127, but avoids unused variable warning */ EOF ;; esac cat <<"EOF" } void * xmalloc (size_t num) { void *p = (void *) malloc (num); if (!p) lt_fatal ("Memory exhausted"); return p; } char * xstrdup (const char *string) { return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL; } const char * base_name (const char *name) { const char *base; #if defined (HAVE_DOS_BASED_FILE_SYSTEM) /* Skip over the disk name in MSDOS pathnames. */ if (isalpha ((unsigned char) name[0]) && name[1] == ':') name += 2; #endif for (base = name; *name; name++) if (IS_DIR_SEPARATOR (*name)) base = name + 1; return base; } int check_executable (const char *path) { struct stat st; LTWRAPPER_DEBUGPRINTF (("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!")); if ((!path) || (!*path)) return 0; if ((stat (path, &st) >= 0) && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) return 1; else return 0; } int make_executable (const char *path) { int rval = 0; struct stat st; LTWRAPPER_DEBUGPRINTF (("(make_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!")); if ((!path) || (!*path)) return 0; if (stat (path, &st) >= 0) { rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); } return rval; } /* Searches for the full path of the wrapper. Returns newly allocated full path name if found, NULL otherwise Does not chase symlinks, even on platforms that support them. */ char * find_executable (const char *wrapper) { int has_slash = 0; const char *p; const char *p_next; /* static buffer for getcwd */ char tmp[LT_PATHMAX + 1]; int tmp_len; char *concat_name; LTWRAPPER_DEBUGPRINTF (("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!")); if ((wrapper == NULL) || (*wrapper == '\0')) return NULL; /* Absolute path? */ #if defined (HAVE_DOS_BASED_FILE_SYSTEM) if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') { concat_name = xstrdup (wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } else { #endif if (IS_DIR_SEPARATOR (wrapper[0])) { concat_name = xstrdup (wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } #if defined (HAVE_DOS_BASED_FILE_SYSTEM) } #endif for (p = wrapper; *p; p++) if (*p == '/') { has_slash = 1; break; } if (!has_slash) { /* no slashes; search PATH */ const char *path = getenv ("PATH"); if (path != NULL) { for (p = path; *p; p = p_next) { const char *q; size_t p_len; for (q = p; *q; q++) if (IS_PATH_SEPARATOR (*q)) break; p_len = q - p; p_next = (*q == '\0' ? q : q + 1); if (p_len == 0) { /* empty path: current directory */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal ("getcwd failed"); tmp_len = strlen (tmp); concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); } else { concat_name = XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, p, p_len); concat_name[p_len] = '/'; strcpy (concat_name + p_len + 1, wrapper); } if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } } /* not found in PATH; assume curdir */ } /* Relative path | not found in path: prepend cwd */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal ("getcwd failed"); tmp_len = strlen (tmp); concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); return NULL; } char * chase_symlinks (const char *pathspec) { #ifndef S_ISLNK return xstrdup (pathspec); #else char buf[LT_PATHMAX]; struct stat s; char *tmp_pathspec = xstrdup (pathspec); char *p; int has_symlinks = 0; while (strlen (tmp_pathspec) && !has_symlinks) { LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n", tmp_pathspec)); if (lstat (tmp_pathspec, &s) == 0) { if (S_ISLNK (s.st_mode) != 0) { has_symlinks = 1; break; } /* search backwards for last DIR_SEPARATOR */ p = tmp_pathspec + strlen (tmp_pathspec) - 1; while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) p--; if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) { /* no more DIR_SEPARATORS left */ break; } *p = '\0'; } else { char *errstr = strerror (errno); lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr); } } XFREE (tmp_pathspec); if (!has_symlinks) { return xstrdup (pathspec); } tmp_pathspec = realpath (pathspec, buf); if (tmp_pathspec == 0) { lt_fatal ("Could not follow symlinks for %s", pathspec); } return xstrdup (tmp_pathspec); #endif } char * strendzap (char *str, const char *pat) { size_t len, patlen; assert (str != NULL); assert (pat != NULL); len = strlen (str); patlen = strlen (pat); if (patlen <= len) { str += len - patlen; if (strcmp (str, pat) == 0) *str = '\0'; } return str; } static void lt_error_core (int exit_status, const char *mode, const char *message, va_list ap) { fprintf (stderr, "%s: %s: ", program_name, mode); vfprintf (stderr, message, ap); fprintf (stderr, ".\n"); if (exit_status >= 0) exit (exit_status); } void lt_fatal (const char *message, ...) { va_list ap; va_start (ap, message); lt_error_core (EXIT_FAILURE, "FATAL", message, ap); va_end (ap); } void lt_setenv (const char *name, const char *value) { LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n", (name ? name : ""), (value ? value : ""))); { #ifdef HAVE_SETENV /* always make a copy, for consistency with !HAVE_SETENV */ char *str = xstrdup (value); setenv (name, str, 1); #else int len = strlen (name) + 1 + strlen (value) + 1; char *str = XMALLOC (char, len); sprintf (str, "%s=%s", name, value); if (putenv (str) != EXIT_SUCCESS) { XFREE (str); } #endif } } char * lt_extend_str (const char *orig_value, const char *add, int to_end) { char *new_value; if (orig_value && *orig_value) { int orig_value_len = strlen (orig_value); int add_len = strlen (add); new_value = XMALLOC (char, add_len + orig_value_len + 1); if (to_end) { strcpy (new_value, orig_value); strcpy (new_value + orig_value_len, add); } else { strcpy (new_value, add); strcpy (new_value + add_len, orig_value); } } else { new_value = xstrdup (add); } return new_value; } void lt_update_exe_path (const char *name, const char *value) { LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n", (name ? name : ""), (value ? value : ""))); if (name && *name && value && *value) { char *new_value = lt_extend_str (getenv (name), value, 0); /* some systems can't cope with a ':'-terminated path #' */ int len = strlen (new_value); while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1])) { new_value[len-1] = '\0'; } lt_setenv (name, new_value); XFREE (new_value); } } void lt_update_lib_path (const char *name, const char *value) { LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n", (name ? name : ""), (value ? value : ""))); if (name && *name && value && *value) { char *new_value = lt_extend_str (getenv (name), value, 0); lt_setenv (name, new_value); XFREE (new_value); } } EOF case $host_os in mingw*) cat <<"EOF" /* Prepares an argument vector before calling spawn(). Note that spawn() does not by itself call the command interpreter (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") : ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); GetVersionEx(&v); v.dwPlatformId == VER_PLATFORM_WIN32_NT; }) ? "cmd.exe" : "command.com"). Instead it simply concatenates the arguments, separated by ' ', and calls CreateProcess(). We must quote the arguments since Win32 CreateProcess() interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a special way: - Space and tab are interpreted as delimiters. They are not treated as delimiters if they are surrounded by double quotes: "...". - Unescaped double quotes are removed from the input. Their only effect is that within double quotes, space and tab are treated like normal characters. - Backslashes not followed by double quotes are not special. - But 2*n+1 backslashes followed by a double quote become n backslashes followed by a double quote (n >= 0): \" -> " \\\" -> \" \\\\\" -> \\" */ #define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" #define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" char ** prepare_spawn (char **argv) { size_t argc; char **new_argv; size_t i; /* Count number of arguments. */ for (argc = 0; argv[argc] != NULL; argc++) ; /* Allocate new argument vector. */ new_argv = XMALLOC (char *, argc + 1); /* Put quoted arguments into the new argument vector. */ for (i = 0; i < argc; i++) { const char *string = argv[i]; if (string[0] == '\0') new_argv[i] = xstrdup ("\"\""); else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL) { int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL); size_t length; unsigned int backslashes; const char *s; char *quoted_string; char *p; length = 0; backslashes = 0; if (quote_around) length++; for (s = string; *s != '\0'; s++) { char c = *s; if (c == '"') length += backslashes + 1; length++; if (c == '\\') backslashes++; else backslashes = 0; } if (quote_around) length += backslashes + 1; quoted_string = XMALLOC (char, length + 1); p = quoted_string; backslashes = 0; if (quote_around) *p++ = '"'; for (s = string; *s != '\0'; s++) { char c = *s; if (c == '"') { unsigned int j; for (j = backslashes + 1; j > 0; j--) *p++ = '\\'; } *p++ = c; if (c == '\\') backslashes++; else backslashes = 0; } if (quote_around) { unsigned int j; for (j = backslashes; j > 0; j--) *p++ = '\\'; *p++ = '"'; } *p = '\0'; new_argv[i] = quoted_string; } else new_argv[i] = (char *) string; } new_argv[argc] = NULL; return new_argv; } EOF ;; esac cat <<"EOF" void lt_dump_script (FILE* f) { EOF func_emit_wrapper yes | $SED -e 's/\([\\"]\)/\\\1/g' \ -e 's/^/ fputs ("/' -e 's/$/\\n", f);/' cat <<"EOF" } EOF } # end: func_emit_cwrapperexe_src # func_win32_import_lib_p ARG # True if ARG is an import lib, as indicated by $file_magic_cmd func_win32_import_lib_p () { $opt_debug case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in *import*) : ;; *) false ;; esac } # func_mode_link arg... func_mode_link () { $opt_debug case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) # It is impossible to link a dll without this setting, and # we shouldn't force the makefile maintainer to figure out # which system we are compiling for in order to pass an extra # flag for every libtool invocation. # allow_undefined=no # FIXME: Unfortunately, there are problems with the above when trying # to make a dll which has undefined symbols, in which case not # even a static library is built. For now, we need to specify # -no-undefined on the libtool link line when we can be certain # that all symbols are satisfied, otherwise we get a static library. allow_undefined=yes ;; *) allow_undefined=yes ;; esac libtool_args=$nonopt base_compile="$nonopt $@" compile_command=$nonopt finalize_command=$nonopt compile_rpath= finalize_rpath= compile_shlibpath= finalize_shlibpath= convenience= old_convenience= deplibs= old_deplibs= compiler_flags= linker_flags= dllsearchpath= lib_search_path=`pwd` inst_prefix_dir= new_inherited_linker_flags= avoid_version=no bindir= dlfiles= dlprefiles= dlself=no export_dynamic=no export_symbols= export_symbols_regex= generated= libobjs= ltlibs= module=no no_install=no objs= non_pic_objects= precious_files_regex= prefer_static_libs=no preload=no prev= prevarg= release= rpath= xrpath= perm_rpath= temp_rpath= thread_safe=no vinfo= vinfo_number=no weak_libs= single_module="${wl}-single_module" func_infer_tag $base_compile # We need to know -static, to get the right output filenames. for arg do case $arg in -shared) test "$build_libtool_libs" != yes && \ func_fatal_configuration "can not build a shared library" build_old_libs=no break ;; -all-static | -static | -static-libtool-libs) case $arg in -all-static) if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then func_warning "complete static linking is impossible in this configuration" fi if test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; -static) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=built ;; -static-libtool-libs) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; esac build_libtool_libs=no build_old_libs=yes break ;; esac done # See if our shared archives depend on static archives. test -n "$old_archive_from_new_cmds" && build_old_libs=yes # Go through the arguments, transforming them on the way. while test "$#" -gt 0; do arg="$1" shift func_quote_for_eval "$arg" qarg=$func_quote_for_eval_unquoted_result func_append libtool_args " $func_quote_for_eval_result" # If the previous option needs an argument, assign it. if test -n "$prev"; then case $prev in output) func_append compile_command " @OUTPUT@" func_append finalize_command " @OUTPUT@" ;; esac case $prev in bindir) bindir="$arg" prev= continue ;; dlfiles|dlprefiles) if test "$preload" = no; then # Add the symbol object into the linking commands. func_append compile_command " @SYMFILE@" func_append finalize_command " @SYMFILE@" preload=yes fi case $arg in *.la | *.lo) ;; # We handle these cases below. force) if test "$dlself" = no; then dlself=needless export_dynamic=yes fi prev= continue ;; self) if test "$prev" = dlprefiles; then dlself=yes elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then dlself=yes else dlself=needless export_dynamic=yes fi prev= continue ;; *) if test "$prev" = dlfiles; then dlfiles="$dlfiles $arg" else dlprefiles="$dlprefiles $arg" fi prev= continue ;; esac ;; expsyms) export_symbols="$arg" test -f "$arg" \ || func_fatal_error "symbol file \`$arg' does not exist" prev= continue ;; expsyms_regex) export_symbols_regex="$arg" prev= continue ;; framework) case $host in *-*-darwin*) case "$deplibs " in *" $qarg.ltframework "*) ;; *) deplibs="$deplibs $qarg.ltframework" # this is fixed later ;; esac ;; esac prev= continue ;; inst_prefix) inst_prefix_dir="$arg" prev= continue ;; objectlist) if test -f "$arg"; then save_arg=$arg moreargs= for fil in `cat "$save_arg"` do # moreargs="$moreargs $fil" arg=$fil # A libtool-controlled object. # Check to see that this really is a libtool object. if func_lalib_unsafe_p "$arg"; then pic_object= non_pic_object= # Read the .lo file func_source "$arg" if test -z "$pic_object" || test -z "$non_pic_object" || test "$pic_object" = none && test "$non_pic_object" = none; then func_fatal_error "cannot find name of object for \`$arg'" fi # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" if test "$pic_object" != none; then # Prepend the subdirectory the object is found in. pic_object="$xdir$pic_object" if test "$prev" = dlfiles; then if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then dlfiles="$dlfiles $pic_object" prev= continue else # If libtool objects are unsupported, then we need to preload. prev=dlprefiles fi fi # CHECK ME: I think I busted this. -Ossama if test "$prev" = dlprefiles; then # Preload the old-style object. dlprefiles="$dlprefiles $pic_object" prev= fi # A PIC object. func_append libobjs " $pic_object" arg="$pic_object" fi # Non-PIC object. if test "$non_pic_object" != none; then # Prepend the subdirectory the object is found in. non_pic_object="$xdir$non_pic_object" # A standard non-PIC object func_append non_pic_objects " $non_pic_object" if test -z "$pic_object" || test "$pic_object" = none ; then arg="$non_pic_object" fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" func_append non_pic_objects " $non_pic_object" fi else # Only an error if not doing a dry-run. if $opt_dry_run; then # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" func_lo2o "$arg" pic_object=$xdir$objdir/$func_lo2o_result non_pic_object=$xdir$func_lo2o_result func_append libobjs " $pic_object" func_append non_pic_objects " $non_pic_object" else func_fatal_error "\`$arg' is not a valid libtool object" fi fi done else func_fatal_error "link input file \`$arg' does not exist" fi arg=$save_arg prev= continue ;; precious_regex) precious_files_regex="$arg" prev= continue ;; release) release="-$arg" prev= continue ;; rpath | xrpath) # We need an absolute path. case $arg in [\\/]* | [A-Za-z]:[\\/]*) ;; *) func_fatal_error "only absolute run-paths are allowed" ;; esac if test "$prev" = rpath; then case "$rpath " in *" $arg "*) ;; *) rpath="$rpath $arg" ;; esac else case "$xrpath " in *" $arg "*) ;; *) xrpath="$xrpath $arg" ;; esac fi prev= continue ;; shrext) shrext_cmds="$arg" prev= continue ;; weak) weak_libs="$weak_libs $arg" prev= continue ;; xcclinker) linker_flags="$linker_flags $qarg" compiler_flags="$compiler_flags $qarg" prev= func_append compile_command " $qarg" func_append finalize_command " $qarg" continue ;; xcompiler) compiler_flags="$compiler_flags $qarg" prev= func_append compile_command " $qarg" func_append finalize_command " $qarg" continue ;; xlinker) linker_flags="$linker_flags $qarg" compiler_flags="$compiler_flags $wl$qarg" prev= func_append compile_command " $wl$qarg" func_append finalize_command " $wl$qarg" continue ;; *) eval "$prev=\"\$arg\"" prev= continue ;; esac fi # test -n "$prev" prevarg="$arg" case $arg in -all-static) if test -n "$link_static_flag"; then # See comment for -static flag below, for more details. func_append compile_command " $link_static_flag" func_append finalize_command " $link_static_flag" fi continue ;; -allow-undefined) # FIXME: remove this flag sometime in the future. func_fatal_error "\`-allow-undefined' must not be used because it is the default" ;; -avoid-version) avoid_version=yes continue ;; -bindir) prev=bindir continue ;; -dlopen) prev=dlfiles continue ;; -dlpreopen) prev=dlprefiles continue ;; -export-dynamic) export_dynamic=yes continue ;; -export-symbols | -export-symbols-regex) if test -n "$export_symbols" || test -n "$export_symbols_regex"; then func_fatal_error "more than one -exported-symbols argument is not allowed" fi if test "X$arg" = "X-export-symbols"; then prev=expsyms else prev=expsyms_regex fi continue ;; -framework) prev=framework continue ;; -inst-prefix-dir) prev=inst_prefix continue ;; # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* # so, if we see these flags be careful not to treat them like -L -L[A-Z][A-Z]*:*) case $with_gcc/$host in no/*-*-irix* | /*-*-irix*) func_append compile_command " $arg" func_append finalize_command " $arg" ;; esac continue ;; -L*) func_stripname '-L' '' "$arg" dir=$func_stripname_result if test -z "$dir"; then if test "$#" -gt 0; then func_fatal_error "require no space between \`-L' and \`$1'" else func_fatal_error "need path for \`-L' option" fi fi # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) absdir=`cd "$dir" && pwd` test -z "$absdir" && \ func_fatal_error "cannot determine absolute directory name of \`$dir'" dir="$absdir" ;; esac case "$deplibs " in *" -L$dir "*) ;; *) deplibs="$deplibs -L$dir" lib_search_path="$lib_search_path $dir" ;; esac case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` case :$dllsearchpath: in *":$dir:"*) ;; ::) dllsearchpath=$dir;; *) dllsearchpath="$dllsearchpath:$dir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; ::) dllsearchpath=$testbindir;; *) dllsearchpath="$dllsearchpath:$testbindir";; esac ;; esac continue ;; -l*) if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*) # These systems don't actually have a C or math library (as such) continue ;; *-*-os2*) # These systems don't actually have a C library (as such) test "X$arg" = "X-lc" && continue ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. test "X$arg" = "X-lc" && continue ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C and math libraries are in the System framework deplibs="$deplibs System.ltframework" continue ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype test "X$arg" = "X-lc" && continue ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work test "X$arg" = "X-lc" && continue ;; esac elif test "X$arg" = "X-lc_r"; then case $host in *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc_r directly, use -pthread flag. continue ;; esac fi deplibs="$deplibs $arg" continue ;; -module) module=yes continue ;; # Tru64 UNIX uses -model [arg] to determine the layout of C++ # classes, name mangling, and exception handling. # Darwin uses the -arch flag to determine output architecture. -model|-arch|-isysroot) compiler_flags="$compiler_flags $arg" func_append compile_command " $arg" func_append finalize_command " $arg" prev=xcompiler continue ;; -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) compiler_flags="$compiler_flags $arg" func_append compile_command " $arg" func_append finalize_command " $arg" case "$new_inherited_linker_flags " in *" $arg "*) ;; * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;; esac continue ;; -multi_module) single_module="${wl}-multi_module" continue ;; -no-fast-install) fast_install=no continue ;; -no-install) case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) # The PATH hackery in wrapper scripts is required on Windows # and Darwin in order for the loader to find any dlls it needs. func_warning "\`-no-install' is ignored for $host" func_warning "assuming \`-no-fast-install' instead" fast_install=no ;; *) no_install=yes ;; esac continue ;; -no-undefined) allow_undefined=no continue ;; -objectlist) prev=objectlist continue ;; -o) prev=output ;; -precious-files-regex) prev=precious_regex continue ;; -release) prev=release continue ;; -rpath) prev=rpath continue ;; -R) prev=xrpath continue ;; -R*) func_stripname '-R' '' "$arg" dir=$func_stripname_result # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) func_fatal_error "only absolute run-paths are allowed" ;; esac case "$xrpath " in *" $dir "*) ;; *) xrpath="$xrpath $dir" ;; esac continue ;; -shared) # The effects of -shared are defined in a previous loop. continue ;; -shrext) prev=shrext continue ;; -static | -static-libtool-libs) # The effects of -static are defined in a previous loop. # We used to do the same as -all-static on platforms that # didn't have a PIC flag, but the assumption that the effects # would be equivalent was wrong. It would break on at least # Digital Unix and AIX. continue ;; -thread-safe) thread_safe=yes continue ;; -version-info) prev=vinfo continue ;; -version-number) prev=vinfo vinfo_number=yes continue ;; -weak) prev=weak continue ;; -Wc,*) func_stripname '-Wc,' '' "$arg" args=$func_stripname_result arg= save_ifs="$IFS"; IFS=',' for flag in $args; do IFS="$save_ifs" func_quote_for_eval "$flag" arg="$arg $func_quote_for_eval_result" compiler_flags="$compiler_flags $func_quote_for_eval_result" done IFS="$save_ifs" func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; -Wl,*) func_stripname '-Wl,' '' "$arg" args=$func_stripname_result arg= save_ifs="$IFS"; IFS=',' for flag in $args; do IFS="$save_ifs" func_quote_for_eval "$flag" arg="$arg $wl$func_quote_for_eval_result" compiler_flags="$compiler_flags $wl$func_quote_for_eval_result" linker_flags="$linker_flags $func_quote_for_eval_result" done IFS="$save_ifs" func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; -Xcompiler) prev=xcompiler continue ;; -Xlinker) prev=xlinker continue ;; -XCClinker) prev=xcclinker continue ;; # -msg_* for osf cc -msg_*) func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" ;; # -64, -mips[0-9] enable 64-bit mode on the SGI compiler # -r[0-9][0-9]* specifies the processor on the SGI compiler # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler # +DA*, +DD* enable 64-bit mode on the HP compiler # -q* pass through compiler args for the IBM compiler # -m*, -t[45]*, -txscale* pass through architecture-specific # compiler args for GCC # -F/path gives path to uninstalled frameworks, gcc on darwin # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC # @file GCC response files # -tp=* Portland pgcc target processor selection -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*) func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" func_append compile_command " $arg" func_append finalize_command " $arg" compiler_flags="$compiler_flags $arg" continue ;; # Some other compiler flag. -* | +*) func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" ;; *.$objext) # A standard object. objs="$objs $arg" ;; *.lo) # A libtool-controlled object. # Check to see that this really is a libtool object. if func_lalib_unsafe_p "$arg"; then pic_object= non_pic_object= # Read the .lo file func_source "$arg" if test -z "$pic_object" || test -z "$non_pic_object" || test "$pic_object" = none && test "$non_pic_object" = none; then func_fatal_error "cannot find name of object for \`$arg'" fi # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" if test "$pic_object" != none; then # Prepend the subdirectory the object is found in. pic_object="$xdir$pic_object" if test "$prev" = dlfiles; then if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then dlfiles="$dlfiles $pic_object" prev= continue else # If libtool objects are unsupported, then we need to preload. prev=dlprefiles fi fi # CHECK ME: I think I busted this. -Ossama if test "$prev" = dlprefiles; then # Preload the old-style object. dlprefiles="$dlprefiles $pic_object" prev= fi # A PIC object. func_append libobjs " $pic_object" arg="$pic_object" fi # Non-PIC object. if test "$non_pic_object" != none; then # Prepend the subdirectory the object is found in. non_pic_object="$xdir$non_pic_object" # A standard non-PIC object func_append non_pic_objects " $non_pic_object" if test -z "$pic_object" || test "$pic_object" = none ; then arg="$non_pic_object" fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" func_append non_pic_objects " $non_pic_object" fi else # Only an error if not doing a dry-run. if $opt_dry_run; then # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" func_lo2o "$arg" pic_object=$xdir$objdir/$func_lo2o_result non_pic_object=$xdir$func_lo2o_result func_append libobjs " $pic_object" func_append non_pic_objects " $non_pic_object" else func_fatal_error "\`$arg' is not a valid libtool object" fi fi ;; *.$libext) # An archive. deplibs="$deplibs $arg" old_deplibs="$old_deplibs $arg" continue ;; *.la) # A libtool-controlled library. if test "$prev" = dlfiles; then # This library was specified with -dlopen. dlfiles="$dlfiles $arg" prev= elif test "$prev" = dlprefiles; then # The library was specified with -dlpreopen. dlprefiles="$dlprefiles $arg" prev= else deplibs="$deplibs $arg" fi continue ;; # Some other compiler argument. *) # Unknown arguments in both finalize_command and compile_command need # to be aesthetically quoted because they are evaled later. func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" ;; esac # arg # Now actually substitute the argument into the commands. if test -n "$arg"; then func_append compile_command " $arg" func_append finalize_command " $arg" fi done # argument parsing loop test -n "$prev" && \ func_fatal_help "the \`$prevarg' option requires an argument" if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then eval arg=\"$export_dynamic_flag_spec\" func_append compile_command " $arg" func_append finalize_command " $arg" fi oldlibs= # calculate the name of the file, without its directory func_basename "$output" outputname="$func_basename_result" libobjs_save="$libobjs" if test -n "$shlibpath_var"; then # get the directories listed in $shlibpath_var eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\` else shlib_search_path= fi eval sys_lib_search_path=\"$sys_lib_search_path_spec\" eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" func_dirname "$output" "/" "" output_objdir="$func_dirname_result$objdir" # Create the object directory. func_mkdir_p "$output_objdir" # Determine the type of output case $output in "") func_fatal_help "you must specify an output file" ;; *.$libext) linkmode=oldlib ;; *.lo | *.$objext) linkmode=obj ;; *.la) linkmode=lib ;; *) linkmode=prog ;; # Anything else should be a program. esac specialdeplibs= libs= # Find all interdependent deplibs by searching for libraries # that are linked more than once (e.g. -la -lb -la) for deplib in $deplibs; do if $opt_duplicate_deps ; then case "$libs " in *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; esac fi libs="$libs $deplib" done if test "$linkmode" = lib; then libs="$predeps $libs $compiler_lib_search_path $postdeps" # Compute libraries that are listed more than once in $predeps # $postdeps and mark them as special (i.e., whose duplicates are # not to be eliminated). pre_post_deps= if $opt_duplicate_compiler_generated_deps; then for pre_post_dep in $predeps $postdeps; do case "$pre_post_deps " in *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; esac pre_post_deps="$pre_post_deps $pre_post_dep" done fi pre_post_deps= fi deplibs= newdependency_libs= newlib_search_path= need_relink=no # whether we're linking any uninstalled libtool libraries notinst_deplibs= # not-installed libtool libraries notinst_path= # paths that contain not-installed libtool libraries case $linkmode in lib) passes="conv dlpreopen link" for file in $dlfiles $dlprefiles; do case $file in *.la) ;; *) func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file" ;; esac done ;; prog) compile_deplibs= finalize_deplibs= alldeplibs=no newdlfiles= newdlprefiles= passes="conv scan dlopen dlpreopen link" ;; *) passes="conv" ;; esac for pass in $passes; do # The preopen pass in lib mode reverses $deplibs; put it back here # so that -L comes before libs that need it for instance... if test "$linkmode,$pass" = "lib,link"; then ## FIXME: Find the place where the list is rebuilt in the wrong ## order, and fix it there properly tmp_deplibs= for deplib in $deplibs; do tmp_deplibs="$deplib $tmp_deplibs" done deplibs="$tmp_deplibs" fi if test "$linkmode,$pass" = "lib,link" || test "$linkmode,$pass" = "prog,scan"; then libs="$deplibs" deplibs= fi if test "$linkmode" = prog; then case $pass in dlopen) libs="$dlfiles" ;; dlpreopen) libs="$dlprefiles" ;; link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; esac fi if test "$linkmode,$pass" = "lib,dlpreopen"; then # Collect and forward deplibs of preopened libtool libs for lib in $dlprefiles; do # Ignore non-libtool-libs dependency_libs= case $lib in *.la) func_source "$lib" ;; esac # Collect preopened libtool deplibs, except any this library # has declared as weak libs for deplib in $dependency_libs; do func_basename "$deplib" deplib_base=$func_basename_result case " $weak_libs " in *" $deplib_base "*) ;; *) deplibs="$deplibs $deplib" ;; esac done done libs="$dlprefiles" fi if test "$pass" = dlopen; then # Collect dlpreopened libraries save_deplibs="$deplibs" deplibs= fi for deplib in $libs; do lib= found=no case $deplib in -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else compiler_flags="$compiler_flags $deplib" if test "$linkmode" = lib ; then case "$new_inherited_linker_flags " in *" $deplib "*) ;; * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;; esac fi fi continue ;; -l*) if test "$linkmode" != lib && test "$linkmode" != prog; then func_warning "\`-l' is ignored for archives/objects" continue fi func_stripname '-l' '' "$deplib" name=$func_stripname_result if test "$linkmode" = lib; then searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" else searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" fi for searchdir in $searchdirs; do for search_ext in .la $std_shrext .so .a; do # Search the libtool library lib="$searchdir/lib${name}${search_ext}" if test -f "$lib"; then if test "$search_ext" = ".la"; then found=yes else found=no fi break 2 fi done done if test "$found" != yes; then # deplib doesn't seem to be a libtool library if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" fi continue else # deplib is a libtool library # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, # We need to do some special things here, and not later. if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $deplib "*) if func_lalib_p "$lib"; then library_names= old_library= func_source "$lib" for l in $old_library $library_names; do ll="$l" done if test "X$ll" = "X$old_library" ; then # only static version available found=no func_dirname "$lib" "" "." ladir="$func_dirname_result" lib=$ladir/$old_library if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" fi continue fi fi ;; *) ;; esac fi fi ;; # -l *.ltframework) if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" if test "$linkmode" = lib ; then case "$new_inherited_linker_flags " in *" $deplib "*) ;; * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;; esac fi fi continue ;; -L*) case $linkmode in lib) deplibs="$deplib $deplibs" test "$pass" = conv && continue newdependency_libs="$deplib $newdependency_libs" func_stripname '-L' '' "$deplib" newlib_search_path="$newlib_search_path $func_stripname_result" ;; prog) if test "$pass" = conv; then deplibs="$deplib $deplibs" continue fi if test "$pass" = scan; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi func_stripname '-L' '' "$deplib" newlib_search_path="$newlib_search_path $func_stripname_result" ;; *) func_warning "\`-L' is ignored for archives/objects" ;; esac # linkmode continue ;; # -L -R*) if test "$pass" = link; then func_stripname '-R' '' "$deplib" dir=$func_stripname_result # Make sure the xrpath contains only unique directories. case "$xrpath " in *" $dir "*) ;; *) xrpath="$xrpath $dir" ;; esac fi deplibs="$deplib $deplibs" continue ;; *.la) lib="$deplib" ;; *.$libext) if test "$pass" = conv; then deplibs="$deplib $deplibs" continue fi case $linkmode in lib) # Linking convenience modules into shared libraries is allowed, # but linking other static libraries is non-portable. case " $dlpreconveniencelibs " in *" $deplib "*) ;; *) valid_a_lib=no case $deplibs_check_method in match_pattern*) set dummy $deplibs_check_method; shift match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \ | $EGREP "$match_pattern_regex" > /dev/null; then valid_a_lib=yes fi ;; pass_all) valid_a_lib=yes ;; esac if test "$valid_a_lib" != yes; then echo $ECHO "*** Warning: Trying to link with static lib archive $deplib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have" echo "*** because the file extensions .$libext of this argument makes me believe" echo "*** that it is just a static archive that I should not use here." else echo $ECHO "*** Warning: Linking the shared library $output against the" $ECHO "*** static library $deplib is not portable!" deplibs="$deplib $deplibs" fi ;; esac continue ;; prog) if test "$pass" != link; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi continue ;; esac # linkmode ;; # *.$libext *.lo | *.$objext) if test "$pass" = conv; then deplibs="$deplib $deplibs" elif test "$linkmode" = prog; then if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then # If there is no dlopen support or we're linking statically, # we need to preload. newdlprefiles="$newdlprefiles $deplib" compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else newdlfiles="$newdlfiles $deplib" fi fi continue ;; %DEPLIBS%) alldeplibs=yes continue ;; esac # case $deplib if test "$found" = yes || test -f "$lib"; then : else func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'" fi # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$lib" \ || func_fatal_error "\`$lib' is not a valid libtool archive" func_dirname "$lib" "" "." ladir="$func_dirname_result" dlname= dlopen= dlpreopen= libdir= library_names= old_library= inherited_linker_flags= # If the library was installed with an old release of libtool, # it will not redefine variables installed, or shouldnotlink installed=yes shouldnotlink=no avoidtemprpath= # Read the .la file func_source "$lib" # Convert "-framework foo" to "foo.ltframework" if test -n "$inherited_linker_flags"; then tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do case " $new_inherited_linker_flags " in *" $tmp_inherited_linker_flag "*) ;; *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";; esac done fi dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` if test "$linkmode,$pass" = "lib,link" || test "$linkmode,$pass" = "prog,scan" || { test "$linkmode" != prog && test "$linkmode" != lib; }; then test -n "$dlopen" && dlfiles="$dlfiles $dlopen" test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" fi if test "$pass" = conv; then # Only check for convenience libraries deplibs="$lib $deplibs" if test -z "$libdir"; then if test -z "$old_library"; then func_fatal_error "cannot find name of link library for \`$lib'" fi # It is a libtool convenience library, so add in its objects. convenience="$convenience $ladir/$objdir/$old_library" old_convenience="$old_convenience $ladir/$objdir/$old_library" elif test "$linkmode" != prog && test "$linkmode" != lib; then func_fatal_error "\`$lib' is not a convenience library" fi tmp_libs= for deplib in $dependency_libs; do deplibs="$deplib $deplibs" if $opt_duplicate_deps ; then case "$tmp_libs " in *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; esac fi tmp_libs="$tmp_libs $deplib" done continue fi # $pass = conv # Get the name of the library we link against. linklib= for l in $old_library $library_names; do linklib="$l" done if test -z "$linklib"; then func_fatal_error "cannot find name of link library for \`$lib'" fi # This library was specified with -dlopen. if test "$pass" = dlopen; then if test -z "$libdir"; then func_fatal_error "cannot -dlopen a convenience library: \`$lib'" fi if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then # If there is no dlname, no dlopen support or we're linking # statically, we need to preload. We also need to preload any # dependent libraries so libltdl's deplib preloader doesn't # bomb out in the load deplibs phase. dlprefiles="$dlprefiles $lib $dependency_libs" else newdlfiles="$newdlfiles $lib" fi continue fi # $pass = dlopen # We need an absolute path. case $ladir in [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; *) abs_ladir=`cd "$ladir" && pwd` if test -z "$abs_ladir"; then func_warning "cannot determine absolute directory name of \`$ladir'" func_warning "passing it literally to the linker, although it might fail" abs_ladir="$ladir" fi ;; esac func_basename "$lib" laname="$func_basename_result" # Find the relevant object directory and library name. if test "X$installed" = Xyes; then if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then func_warning "library \`$lib' was moved." dir="$ladir" absdir="$abs_ladir" libdir="$abs_ladir" else dir="$libdir" absdir="$libdir" fi test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes else if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then dir="$ladir" absdir="$abs_ladir" # Remove this search path later notinst_path="$notinst_path $abs_ladir" else dir="$ladir/$objdir" absdir="$abs_ladir/$objdir" # Remove this search path later notinst_path="$notinst_path $abs_ladir" fi fi # $installed = yes func_stripname 'lib' '.la' "$laname" name=$func_stripname_result # This library was specified with -dlpreopen. if test "$pass" = dlpreopen; then if test -z "$libdir" && test "$linkmode" = prog; then func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'" fi # Prefer using a static library (so that no silly _DYNAMIC symbols # are required to link). if test -n "$old_library"; then newdlprefiles="$newdlprefiles $dir/$old_library" # Keep a list of preopened convenience libraries to check # that they are being used correctly in the link pass. test -z "$libdir" && \ dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library" # Otherwise, use the dlname, so that lt_dlopen finds it. elif test -n "$dlname"; then newdlprefiles="$newdlprefiles $dir/$dlname" else newdlprefiles="$newdlprefiles $dir/$linklib" fi fi # $pass = dlpreopen if test -z "$libdir"; then # Link the convenience library if test "$linkmode" = lib; then deplibs="$dir/$old_library $deplibs" elif test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$dir/$old_library $compile_deplibs" finalize_deplibs="$dir/$old_library $finalize_deplibs" else deplibs="$lib $deplibs" # used for prog,scan pass fi continue fi if test "$linkmode" = prog && test "$pass" != link; then newlib_search_path="$newlib_search_path $ladir" deplibs="$lib $deplibs" linkalldeplibs=no if test "$link_all_deplibs" != no || test -z "$library_names" || test "$build_libtool_libs" = no; then linkalldeplibs=yes fi tmp_libs= for deplib in $dependency_libs; do case $deplib in -L*) func_stripname '-L' '' "$deplib" newlib_search_path="$newlib_search_path $func_stripname_result" ;; esac # Need to link against all dependency_libs? if test "$linkalldeplibs" = yes; then deplibs="$deplib $deplibs" else # Need to hardcode shared library paths # or/and link against static libraries newdependency_libs="$deplib $newdependency_libs" fi if $opt_duplicate_deps ; then case "$tmp_libs " in *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; esac fi tmp_libs="$tmp_libs $deplib" done # for deplib continue fi # $linkmode = prog... if test "$linkmode,$pass" = "prog,link"; then if test -n "$library_names" && { { test "$prefer_static_libs" = no || test "$prefer_static_libs,$installed" = "built,yes"; } || test -z "$old_library"; }; then # We need to hardcode the library path if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then # Make sure the rpath contains only unique directories. case "$temp_rpath:" in *"$absdir:"*) ;; *) temp_rpath="$temp_rpath$absdir:" ;; esac fi # Hardcode the library path. # Skip directories that are in the system default run-time # search path. case " $sys_lib_dlsearch_path " in *" $absdir "*) ;; *) case "$compile_rpath " in *" $absdir "*) ;; *) compile_rpath="$compile_rpath $absdir" esac ;; esac case " $sys_lib_dlsearch_path " in *" $libdir "*) ;; *) case "$finalize_rpath " in *" $libdir "*) ;; *) finalize_rpath="$finalize_rpath $libdir" esac ;; esac fi # $linkmode,$pass = prog,link... if test "$alldeplibs" = yes && { test "$deplibs_check_method" = pass_all || { test "$build_libtool_libs" = yes && test -n "$library_names"; }; }; then # We only need to search for static libraries continue fi fi link_static=no # Whether the deplib will be linked statically use_static_libs=$prefer_static_libs if test "$use_static_libs" = built && test "$installed" = yes; then use_static_libs=no fi if test -n "$library_names" && { test "$use_static_libs" = no || test -z "$old_library"; }; then case $host in *cygwin* | *mingw* | *cegcc*) # No point in relinking DLLs because paths are not encoded notinst_deplibs="$notinst_deplibs $lib" need_relink=no ;; *) if test "$installed" = no; then notinst_deplibs="$notinst_deplibs $lib" need_relink=yes fi ;; esac # This is a shared library # Warn about portability, can't link against -module's on some # systems (darwin). Don't bleat about dlopened modules though! dlopenmodule="" for dlpremoduletest in $dlprefiles; do if test "X$dlpremoduletest" = "X$lib"; then dlopenmodule="$dlpremoduletest" break fi done if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then echo if test "$linkmode" = prog; then $ECHO "*** Warning: Linking the executable $output against the loadable module" else $ECHO "*** Warning: Linking the shared library $output against the loadable module" fi $ECHO "*** $linklib is not portable!" fi if test "$linkmode" = lib && test "$hardcode_into_libs" = yes; then # Hardcode the library path. # Skip directories that are in the system default run-time # search path. case " $sys_lib_dlsearch_path " in *" $absdir "*) ;; *) case "$compile_rpath " in *" $absdir "*) ;; *) compile_rpath="$compile_rpath $absdir" esac ;; esac case " $sys_lib_dlsearch_path " in *" $libdir "*) ;; *) case "$finalize_rpath " in *" $libdir "*) ;; *) finalize_rpath="$finalize_rpath $libdir" esac ;; esac fi if test -n "$old_archive_from_expsyms_cmds"; then # figure out the soname set dummy $library_names shift realname="$1" shift libname=`eval "\\$ECHO \"$libname_spec\""` # use dlname if we got it. it's perfectly good, no? if test -n "$dlname"; then soname="$dlname" elif test -n "$soname_spec"; then # bleh windows case $host in *cygwin* | mingw* | *cegcc*) func_arith $current - $age major=$func_arith_result versuffix="-$major" ;; esac eval soname=\"$soname_spec\" else soname="$realname" fi # Make a new name for the extract_expsyms_cmds to use soroot="$soname" func_basename "$soroot" soname="$func_basename_result" func_stripname 'lib' '.dll' "$soname" newlib=libimp-$func_stripname_result.a # If the library has no export list, then create one now if test -f "$output_objdir/$soname-def"; then : else func_verbose "extracting exported symbol list from \`$soname'" func_execute_cmds "$extract_expsyms_cmds" 'exit $?' fi # Create $newlib if test -f "$output_objdir/$newlib"; then :; else func_verbose "generating import library for \`$soname'" func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' fi # make sure the library variables are pointing to the new library dir=$output_objdir linklib=$newlib fi # test -n "$old_archive_from_expsyms_cmds" if test "$linkmode" = prog || test "$mode" != relink; then add_shlibpath= add_dir= add= lib_linked=yes case $hardcode_action in immediate | unsupported) if test "$hardcode_direct" = no; then add="$dir/$linklib" case $host in *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; *-*-sysv4*uw2*) add_dir="-L$dir" ;; *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ *-*-unixware7*) add_dir="-L$dir" ;; *-*-darwin* ) # if the lib is a (non-dlopened) module then we can not # link against it, someone is ignoring the earlier warnings if /usr/bin/file -L $add 2> /dev/null | $GREP ": [^:]* bundle" >/dev/null ; then if test "X$dlopenmodule" != "X$lib"; then $ECHO "*** Warning: lib $linklib is a module, not a shared library" if test -z "$old_library" ; then echo echo "*** And there doesn't seem to be a static archive available" echo "*** The link will probably fail, sorry" else add="$dir/$old_library" fi elif test -n "$old_library"; then add="$dir/$old_library" fi fi esac elif test "$hardcode_minus_L" = no; then case $host in *-*-sunos*) add_shlibpath="$dir" ;; esac add_dir="-L$dir" add="-l$name" elif test "$hardcode_shlibpath_var" = no; then add_shlibpath="$dir" add="-l$name" else lib_linked=no fi ;; relink) if test "$hardcode_direct" = yes && test "$hardcode_direct_absolute" = no; then add="$dir/$linklib" elif test "$hardcode_minus_L" = yes; then add_dir="-L$dir" # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in [\\/]*) add_dir="$add_dir -L$inst_prefix_dir$libdir" ;; esac fi add="-l$name" elif test "$hardcode_shlibpath_var" = yes; then add_shlibpath="$dir" add="-l$name" else lib_linked=no fi ;; *) lib_linked=no ;; esac if test "$lib_linked" != yes; then func_fatal_configuration "unsupported hardcode properties" fi if test -n "$add_shlibpath"; then case :$compile_shlibpath: in *":$add_shlibpath:"*) ;; *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; esac fi if test "$linkmode" = prog; then test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" test -n "$add" && compile_deplibs="$add $compile_deplibs" else test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" if test "$hardcode_direct" != yes && test "$hardcode_minus_L" != yes && test "$hardcode_shlibpath_var" = yes; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; esac fi fi fi if test "$linkmode" = prog || test "$mode" = relink; then add_shlibpath= add_dir= add= # Finalize command for both is simple: just hardcode it. if test "$hardcode_direct" = yes && test "$hardcode_direct_absolute" = no; then add="$libdir/$linklib" elif test "$hardcode_minus_L" = yes; then add_dir="-L$libdir" add="-l$name" elif test "$hardcode_shlibpath_var" = yes; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; esac add="-l$name" elif test "$hardcode_automatic" = yes; then if test -n "$inst_prefix_dir" && test -f "$inst_prefix_dir$libdir/$linklib" ; then add="$inst_prefix_dir$libdir/$linklib" else add="$libdir/$linklib" fi else # We cannot seem to hardcode it, guess we'll fake it. add_dir="-L$libdir" # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in [\\/]*) add_dir="$add_dir -L$inst_prefix_dir$libdir" ;; esac fi add="-l$name" fi if test "$linkmode" = prog; then test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" test -n "$add" && finalize_deplibs="$add $finalize_deplibs" else test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" fi fi elif test "$linkmode" = prog; then # Here we assume that one of hardcode_direct or hardcode_minus_L # is not unsupported. This is valid on all known static and # shared platforms. if test "$hardcode_direct" != unsupported; then test -n "$old_library" && linklib="$old_library" compile_deplibs="$dir/$linklib $compile_deplibs" finalize_deplibs="$dir/$linklib $finalize_deplibs" else compile_deplibs="-l$name -L$dir $compile_deplibs" finalize_deplibs="-l$name -L$dir $finalize_deplibs" fi elif test "$build_libtool_libs" = yes; then # Not a shared library if test "$deplibs_check_method" != pass_all; then # We're trying link a shared library against a static one # but the system doesn't support it. # Just print a warning and add the library to dependency_libs so # that the program can be linked against the static library. echo $ECHO "*** Warning: This system can not link to static lib archive $lib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have." if test "$module" = yes; then echo "*** But as you try to build a module library, libtool will still create " echo "*** a static module, that should work as long as the dlopening application" echo "*** is linked with the -dlopen flag to resolve symbols at runtime." if test -z "$global_symbol_pipe"; then echo echo "*** However, this would only work if libtool was able to extract symbol" echo "*** lists from a program, using \`nm' or equivalent, but libtool could" echo "*** not find such a program. So, this module is probably useless." echo "*** \`nm' from GNU binutils and a full rebuild may help." fi if test "$build_old_libs" = no; then build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi fi else deplibs="$dir/$old_library $deplibs" link_static=yes fi fi # link shared/static library? if test "$linkmode" = lib; then if test -n "$dependency_libs" && { test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes || test "$link_static" = yes; }; then # Extract -R from dependency_libs temp_deplibs= for libdir in $dependency_libs; do case $libdir in -R*) func_stripname '-R' '' "$libdir" temp_xrpath=$func_stripname_result case " $xrpath " in *" $temp_xrpath "*) ;; *) xrpath="$xrpath $temp_xrpath";; esac;; *) temp_deplibs="$temp_deplibs $libdir";; esac done dependency_libs="$temp_deplibs" fi newlib_search_path="$newlib_search_path $absdir" # Link against this library test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" # ... and its dependency_libs tmp_libs= for deplib in $dependency_libs; do newdependency_libs="$deplib $newdependency_libs" if $opt_duplicate_deps ; then case "$tmp_libs " in *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; esac fi tmp_libs="$tmp_libs $deplib" done if test "$link_all_deplibs" != no; then # Add the search paths of all dependency libraries for deplib in $dependency_libs; do path= case $deplib in -L*) path="$deplib" ;; *.la) func_dirname "$deplib" "" "." dir="$func_dirname_result" # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; *) absdir=`cd "$dir" && pwd` if test -z "$absdir"; then func_warning "cannot determine absolute directory name of \`$dir'" absdir="$dir" fi ;; esac if $GREP "^installed=no" $deplib > /dev/null; then case $host in *-*-darwin*) depdepl= eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` if test -n "$deplibrary_names" ; then for tmp in $deplibrary_names ; do depdepl=$tmp done if test -f "$absdir/$objdir/$depdepl" ; then depdepl="$absdir/$objdir/$depdepl" darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` if test -z "$darwin_install_name"; then darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` fi compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}" linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}" path= fi fi ;; *) path="-L$absdir/$objdir" ;; esac else eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` test -z "$libdir" && \ func_fatal_error "\`$deplib' is not a valid libtool archive" test "$absdir" != "$libdir" && \ func_warning "\`$deplib' seems to be moved" path="-L$absdir" fi ;; esac case " $deplibs " in *" $path "*) ;; *) deplibs="$path $deplibs" ;; esac done fi # link_all_deplibs != no fi # linkmode = lib done # for deplib in $libs if test "$pass" = link; then if test "$linkmode" = "prog"; then compile_deplibs="$new_inherited_linker_flags $compile_deplibs" finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" else compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` fi fi dependency_libs="$newdependency_libs" if test "$pass" = dlpreopen; then # Link the dlpreopened libraries before other libraries for deplib in $save_deplibs; do deplibs="$deplib $deplibs" done fi if test "$pass" != dlopen; then if test "$pass" != conv; then # Make sure lib_search_path contains only unique directories. lib_search_path= for dir in $newlib_search_path; do case "$lib_search_path " in *" $dir "*) ;; *) lib_search_path="$lib_search_path $dir" ;; esac done newlib_search_path= fi if test "$linkmode,$pass" != "prog,link"; then vars="deplibs" else vars="compile_deplibs finalize_deplibs" fi for var in $vars dependency_libs; do # Add libraries to $var in reverse order eval tmp_libs=\"\$$var\" new_libs= for deplib in $tmp_libs; do # FIXME: Pedantically, this is the right thing to do, so # that some nasty dependency loop isn't accidentally # broken: #new_libs="$deplib $new_libs" # Pragmatically, this seems to cause very few problems in # practice: case $deplib in -L*) new_libs="$deplib $new_libs" ;; -R*) ;; *) # And here is the reason: when a library appears more # than once as an explicit dependence of a library, or # is implicitly linked in more than once by the # compiler, it is considered special, and multiple # occurrences thereof are not removed. Compare this # with having the same library being listed as a # dependency of multiple other libraries: in this case, # we know (pedantically, we assume) the library does not # need to be listed more than once, so we keep only the # last copy. This is not always right, but it is rare # enough that we require users that really mean to play # such unportable linking tricks to link the library # using -Wl,-lname, so that libtool does not consider it # for duplicate removal. case " $specialdeplibs " in *" $deplib "*) new_libs="$deplib $new_libs" ;; *) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$deplib $new_libs" ;; esac ;; esac ;; esac done tmp_libs= for deplib in $new_libs; do case $deplib in -L*) case " $tmp_libs " in *" $deplib "*) ;; *) tmp_libs="$tmp_libs $deplib" ;; esac ;; *) tmp_libs="$tmp_libs $deplib" ;; esac done eval $var=\"$tmp_libs\" done # for var fi # Last step: remove runtime libs from dependency_libs # (they stay in deplibs) tmp_libs= for i in $dependency_libs ; do case " $predeps $postdeps $compiler_lib_search_path " in *" $i "*) i="" ;; esac if test -n "$i" ; then tmp_libs="$tmp_libs $i" fi done dependency_libs=$tmp_libs done # for pass if test "$linkmode" = prog; then dlfiles="$newdlfiles" fi if test "$linkmode" = prog || test "$linkmode" = lib; then dlprefiles="$newdlprefiles" fi case $linkmode in oldlib) if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then func_warning "\`-dlopen' is ignored for archives" fi case " $deplibs" in *\ -l* | *\ -L*) func_warning "\`-l' and \`-L' are ignored for archives" ;; esac test -n "$rpath" && \ func_warning "\`-rpath' is ignored for archives" test -n "$xrpath" && \ func_warning "\`-R' is ignored for archives" test -n "$vinfo" && \ func_warning "\`-version-info/-version-number' is ignored for archives" test -n "$release" && \ func_warning "\`-release' is ignored for archives" test -n "$export_symbols$export_symbols_regex" && \ func_warning "\`-export-symbols' is ignored for archives" # Now set the variables for building old libraries. build_libtool_libs=no oldlibs="$output" objs="$objs$old_deplibs" ;; lib) # Make sure we only generate libraries of the form `libNAME.la'. case $outputname in lib*) func_stripname 'lib' '.la' "$outputname" name=$func_stripname_result eval shared_ext=\"$shrext_cmds\" eval libname=\"$libname_spec\" ;; *) test "$module" = no && \ func_fatal_help "libtool library \`$output' must begin with \`lib'" if test "$need_lib_prefix" != no; then # Add the "lib" prefix for modules if required func_stripname '' '.la' "$outputname" name=$func_stripname_result eval shared_ext=\"$shrext_cmds\" eval libname=\"$libname_spec\" else func_stripname '' '.la' "$outputname" libname=$func_stripname_result fi ;; esac if test -n "$objs"; then if test "$deplibs_check_method" != pass_all; then func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs" else echo $ECHO "*** Warning: Linking the shared library $output against the non-libtool" $ECHO "*** objects $objs is not portable!" libobjs="$libobjs $objs" fi fi test "$dlself" != no && \ func_warning "\`-dlopen self' is ignored for libtool libraries" set dummy $rpath shift test "$#" -gt 1 && \ func_warning "ignoring multiple \`-rpath's for a libtool library" install_libdir="$1" oldlibs= if test -z "$rpath"; then if test "$build_libtool_libs" = yes; then # Building a libtool convenience library. # Some compilers have problems with a `.al' extension so # convenience libraries should have the same extension an # archive normally would. oldlibs="$output_objdir/$libname.$libext $oldlibs" build_libtool_libs=convenience build_old_libs=yes fi test -n "$vinfo" && \ func_warning "\`-version-info/-version-number' is ignored for convenience libraries" test -n "$release" && \ func_warning "\`-release' is ignored for convenience libraries" else # Parse the version information argument. save_ifs="$IFS"; IFS=':' set dummy $vinfo 0 0 0 shift IFS="$save_ifs" test -n "$7" && \ func_fatal_help "too many parameters to \`-version-info'" # convert absolute version numbers to libtool ages # this retains compatibility with .la files and attempts # to make the code below a bit more comprehensible case $vinfo_number in yes) number_major="$1" number_minor="$2" number_revision="$3" # # There are really only two kinds -- those that # use the current revision as the major version # and those that subtract age and use age as # a minor version. But, then there is irix # which has an extra 1 added just for fun # case $version_type in darwin|linux|osf|windows|none) func_arith $number_major + $number_minor current=$func_arith_result age="$number_minor" revision="$number_revision" ;; freebsd-aout|freebsd-elf|qnx|sunos) current="$number_major" revision="$number_minor" age="0" ;; irix|nonstopux) func_arith $number_major + $number_minor current=$func_arith_result age="$number_minor" revision="$number_minor" lt_irix_increment=no ;; esac ;; no) current="$1" revision="$2" age="$3" ;; esac # Check that each of the things are valid numbers. case $current in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "CURRENT \`$current' must be a nonnegative integer" func_fatal_error "\`$vinfo' is not valid version information" ;; esac case $revision in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "REVISION \`$revision' must be a nonnegative integer" func_fatal_error "\`$vinfo' is not valid version information" ;; esac case $age in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "AGE \`$age' must be a nonnegative integer" func_fatal_error "\`$vinfo' is not valid version information" ;; esac if test "$age" -gt "$current"; then func_error "AGE \`$age' is greater than the current interface number \`$current'" func_fatal_error "\`$vinfo' is not valid version information" fi # Calculate the version variables. major= versuffix= verstring= case $version_type in none) ;; darwin) # Like Linux, but with the current version available in # verstring for coding it into the library header func_arith $current - $age major=.$func_arith_result versuffix="$major.$age.$revision" # Darwin ld doesn't like 0 for these options... func_arith $current + 1 minor_current=$func_arith_result xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" ;; freebsd-aout) major=".$current" versuffix=".$current.$revision"; ;; freebsd-elf) major=".$current" versuffix=".$current" ;; irix | nonstopux) if test "X$lt_irix_increment" = "Xno"; then func_arith $current - $age else func_arith $current - $age + 1 fi major=$func_arith_result case $version_type in nonstopux) verstring_prefix=nonstopux ;; *) verstring_prefix=sgi ;; esac verstring="$verstring_prefix$major.$revision" # Add in all the interfaces that we are compatible with. loop=$revision while test "$loop" -ne 0; do func_arith $revision - $loop iface=$func_arith_result func_arith $loop - 1 loop=$func_arith_result verstring="$verstring_prefix$major.$iface:$verstring" done # Before this point, $major must not contain `.'. major=.$major versuffix="$major.$revision" ;; linux) func_arith $current - $age major=.$func_arith_result versuffix="$major.$age.$revision" ;; osf) func_arith $current - $age major=.$func_arith_result versuffix=".$current.$age.$revision" verstring="$current.$age.$revision" # Add in all the interfaces that we are compatible with. loop=$age while test "$loop" -ne 0; do func_arith $current - $loop iface=$func_arith_result func_arith $loop - 1 loop=$func_arith_result verstring="$verstring:${iface}.0" done # Make executables depend on our current version. verstring="$verstring:${current}.0" ;; qnx) major=".$current" versuffix=".$current" ;; sunos) major=".$current" versuffix=".$current.$revision" ;; windows) # Use '-' rather than '.', since we only want one # extension on DOS 8.3 filesystems. func_arith $current - $age major=$func_arith_result versuffix="-$major" ;; *) func_fatal_configuration "unknown library version type \`$version_type'" ;; esac # Clear the version info if we defaulted, and they specified a release. if test -z "$vinfo" && test -n "$release"; then major= case $version_type in darwin) # we can't check for "0.0" in archive_cmds due to quoting # problems, so we reset it completely verstring= ;; *) verstring="0.0" ;; esac if test "$need_version" = no; then versuffix= else versuffix=".0.0" fi fi # Remove version info from name if versioning should be avoided if test "$avoid_version" = yes && test "$need_version" = no; then major= versuffix= verstring="" fi # Check to see if the archive will have undefined symbols. if test "$allow_undefined" = yes; then if test "$allow_undefined_flag" = unsupported; then func_warning "undefined symbols not allowed in $host shared libraries" build_libtool_libs=no build_old_libs=yes fi else # Don't allow undefined symbols. allow_undefined_flag="$no_undefined_flag" fi fi func_generate_dlsyms "$libname" "$libname" "yes" libobjs="$libobjs $symfileobj" test "X$libobjs" = "X " && libobjs= if test "$mode" != relink; then # Remove our outputs, but don't remove object files since they # may have been created when compiling PIC objects. removelist= tempremovelist=`$ECHO "$output_objdir/*"` for p in $tempremovelist; do case $p in *.$objext | *.gcno) ;; $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) if test "X$precious_files_regex" != "X"; then if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 then continue fi fi removelist="$removelist $p" ;; *) ;; esac done test -n "$removelist" && \ func_show_eval "${RM}r \$removelist" fi # Now set the variables for building old libraries. if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then oldlibs="$oldlibs $output_objdir/$libname.$libext" # Transform .lo files to .o files. oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP` fi # Eliminate all temporary directories. #for path in $notinst_path; do # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"` # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"` # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"` #done if test -n "$xrpath"; then # If the user specified any rpath flags, then add them. temp_xrpath= for libdir in $xrpath; do temp_xrpath="$temp_xrpath -R$libdir" case "$finalize_rpath " in *" $libdir "*) ;; *) finalize_rpath="$finalize_rpath $libdir" ;; esac done if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then dependency_libs="$temp_xrpath $dependency_libs" fi fi # Make sure dlfiles contains only unique files that won't be dlpreopened old_dlfiles="$dlfiles" dlfiles= for lib in $old_dlfiles; do case " $dlprefiles $dlfiles " in *" $lib "*) ;; *) dlfiles="$dlfiles $lib" ;; esac done # Make sure dlprefiles contains only unique files old_dlprefiles="$dlprefiles" dlprefiles= for lib in $old_dlprefiles; do case "$dlprefiles " in *" $lib "*) ;; *) dlprefiles="$dlprefiles $lib" ;; esac done if test "$build_libtool_libs" = yes; then if test -n "$rpath"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc*) # these systems don't actually have a c library (as such)! ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C library is in the System framework deplibs="$deplibs System.ltframework" ;; *-*-netbsd*) # Don't link with libc until the a.out ld.so is fixed. ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work ;; *) # Add libc to deplibs on all other systems if necessary. if test "$build_libtool_need_lc" = "yes"; then deplibs="$deplibs -lc" fi ;; esac fi # Transform deplibs into only deplibs that can be linked in shared. name_save=$name libname_save=$libname release_save=$release versuffix_save=$versuffix major_save=$major # I'm not sure if I'm treating the release correctly. I think # release should show up in the -l (ie -lgmp5) so we don't want to # add it in twice. Is that correct? release="" versuffix="" major="" newdeplibs= droppeddeps=no case $deplibs_check_method in pass_all) # Don't check for shared/static. Everything works. # This might be a little naive. We might want to check # whether the library exists or not. But this is on # osf3 & osf4 and I'm not really sure... Just # implementing what was already the behavior. newdeplibs=$deplibs ;; test_compile) # This code stresses the "libraries are programs" paradigm to its # limits. Maybe even breaks it. We compile a program, linking it # against the deplibs as a proxy for the library. Then we can check # whether they linked in statically or dynamically with ldd. $opt_dry_run || $RM conftest.c cat > conftest.c </dev/null` for potent_lib in $potential_libs; do # Follow soft links. if ls -lLd "$potent_lib" 2>/dev/null | $GREP " -> " >/dev/null; then continue fi # The statement above tries to avoid entering an # endless loop below, in case of cyclic links. # We might still enter an endless loop, since a link # loop can be closed while we follow links, # but so what? potlib="$potent_lib" while test -h "$potlib" 2>/dev/null; do potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` case $potliblink in [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; *) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";; esac done if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | $SED -e 10q | $EGREP "$file_magic_regex" > /dev/null; then newdeplibs="$newdeplibs $a_deplib" a_deplib="" break 2 fi done done fi if test -n "$a_deplib" ; then droppeddeps=yes echo $ECHO "*** Warning: linker path does not have real file for library $a_deplib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have" echo "*** because I did check the linker path looking for a file starting" if test -z "$potlib" ; then $ECHO "*** with $libname but no candidates were found. (...for file magic test)" else $ECHO "*** with $libname and none of the candidates passed a file format test" $ECHO "*** using a file magic. Last file checked: $potlib" fi fi ;; *) # Add a -L argument. newdeplibs="$newdeplibs $a_deplib" ;; esac done # Gone through all deplibs. ;; match_pattern*) set dummy $deplibs_check_method; shift match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` for a_deplib in $deplibs; do case $a_deplib in -l*) func_stripname -l '' "$a_deplib" name=$func_stripname_result if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $a_deplib "*) newdeplibs="$newdeplibs $a_deplib" a_deplib="" ;; esac fi if test -n "$a_deplib" ; then libname=`eval "\\$ECHO \"$libname_spec\""` for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do potential_libs=`ls $i/$libname[.-]* 2>/dev/null` for potent_lib in $potential_libs; do potlib="$potent_lib" # see symlink-check above in file_magic test if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \ $EGREP "$match_pattern_regex" > /dev/null; then newdeplibs="$newdeplibs $a_deplib" a_deplib="" break 2 fi done done fi if test -n "$a_deplib" ; then droppeddeps=yes echo $ECHO "*** Warning: linker path does not have real file for library $a_deplib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have" echo "*** because I did check the linker path looking for a file starting" if test -z "$potlib" ; then $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" else $ECHO "*** with $libname and none of the candidates passed a file format test" $ECHO "*** using a regex pattern. Last file checked: $potlib" fi fi ;; *) # Add a -L argument. newdeplibs="$newdeplibs $a_deplib" ;; esac done # Gone through all deplibs. ;; none | unknown | *) newdeplibs="" tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'` if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then for i in $predeps $postdeps ; do # can't use Xsed below, because $i might contain '/' tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"` done fi case $tmp_deplibs in *[!\ \ ]*) echo if test "X$deplibs_check_method" = "Xnone"; then echo "*** Warning: inter-library dependencies are not supported in this platform." else echo "*** Warning: inter-library dependencies are not known to be supported." fi echo "*** All declared inter-library dependencies are being dropped." droppeddeps=yes ;; esac ;; esac versuffix=$versuffix_save major=$major_save release=$release_save libname=$libname_save name=$name_save case $host in *-*-rhapsody* | *-*-darwin1.[012]) # On Rhapsody replace the C library with the System framework newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'` ;; esac if test "$droppeddeps" = yes; then if test "$module" = yes; then echo echo "*** Warning: libtool could not satisfy all declared inter-library" $ECHO "*** dependencies of module $libname. Therefore, libtool will create" echo "*** a static module, that should work as long as the dlopening" echo "*** application is linked with the -dlopen flag." if test -z "$global_symbol_pipe"; then echo echo "*** However, this would only work if libtool was able to extract symbol" echo "*** lists from a program, using \`nm' or equivalent, but libtool could" echo "*** not find such a program. So, this module is probably useless." echo "*** \`nm' from GNU binutils and a full rebuild may help." fi if test "$build_old_libs" = no; then oldlibs="$output_objdir/$libname.$libext" build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi else echo "*** The inter-library dependencies that have been dropped here will be" echo "*** automatically added whenever a program is linked with this library" echo "*** or is declared to -dlopen it." if test "$allow_undefined" = no; then echo echo "*** Since this library must not contain undefined symbols," echo "*** because either the platform does not support them or" echo "*** it was explicitly requested with -no-undefined," echo "*** libtool will only create a static version of it." if test "$build_old_libs" = no; then oldlibs="$output_objdir/$libname.$libext" build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi fi fi fi # Done checking deplibs! deplibs=$newdeplibs fi # Time to change all our "foo.ltframework" stuff back to "-framework foo" case $host in *-*-darwin*) newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $deplibs " in *" -L$path/$objdir "*) new_libs="$new_libs -L$path/$objdir" ;; esac ;; esac done for deplib in $deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$new_libs $deplib" ;; esac ;; *) new_libs="$new_libs $deplib" ;; esac done deplibs="$new_libs" # All the library-specific variables (install_libdir is set above). library_names= old_library= dlname= # Test again, we may have decided not to build it any more if test "$build_libtool_libs" = yes; then if test "$hardcode_into_libs" = yes; then # Hardcode the library paths hardcode_libdirs= dep_rpath= rpath="$finalize_rpath" test "$mode" != relink && rpath="$compile_rpath$rpath" for libdir in $rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" dep_rpath="$dep_rpath $flag" fi elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; *) perm_rpath="$perm_rpath $libdir" ;; esac fi done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" if test -n "$hardcode_libdir_flag_spec_ld"; then eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" else eval dep_rpath=\"$hardcode_libdir_flag_spec\" fi fi if test -n "$runpath_var" && test -n "$perm_rpath"; then # We should set the runpath_var. rpath= for dir in $perm_rpath; do rpath="$rpath$dir:" done eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" fi test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" fi shlibpath="$finalize_shlibpath" test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" if test -n "$shlibpath"; then eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" fi # Get the real and link names of the library. eval shared_ext=\"$shrext_cmds\" eval library_names=\"$library_names_spec\" set dummy $library_names shift realname="$1" shift if test -n "$soname_spec"; then eval soname=\"$soname_spec\" else soname="$realname" fi if test -z "$dlname"; then dlname=$soname fi lib="$output_objdir/$realname" linknames= for link do linknames="$linknames $link" done # Use standard objects if they are pic test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP` test "X$libobjs" = "X " && libobjs= delfiles= if test -n "$export_symbols" && test -n "$include_expsyms"; then $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" export_symbols="$output_objdir/$libname.uexp" delfiles="$delfiles $export_symbols" fi orig_export_symbols= case $host_os in cygwin* | mingw* | cegcc*) if test -n "$export_symbols" && test -z "$export_symbols_regex"; then # exporting using user supplied symfile if test "x`$SED 1q $export_symbols`" != xEXPORTS; then # and it's NOT already a .def file. Must figure out # which of the given symbols are data symbols and tag # them as such. So, trigger use of export_symbols_cmds. # export_symbols gets reassigned inside the "prepare # the list of exported symbols" if statement, so the # include_expsyms logic still works. orig_export_symbols="$export_symbols" export_symbols= always_export_symbols=yes fi fi ;; esac # Prepare the list of exported symbols if test -z "$export_symbols"; then if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then func_verbose "generating symbol list for \`$libname.la'" export_symbols="$output_objdir/$libname.exp" $opt_dry_run || $RM $export_symbols cmds=$export_symbols_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" func_len " $cmd" len=$func_len_result if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then func_show_eval "$cmd" 'exit $?' skipped_export=false else # The command line is too long to execute in one step. func_verbose "using reloadable object file for export list..." skipped_export=: # Break out early, otherwise skipped_export may be # set to false by a later but shorter cmd. break fi done IFS="$save_ifs" if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' func_show_eval '$MV "${export_symbols}T" "$export_symbols"' fi fi fi if test -n "$export_symbols" && test -n "$include_expsyms"; then tmp_export_symbols="$export_symbols" test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' fi if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then # The given exports_symbols file has to be filtered, so filter it. func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" # FIXME: $output_objdir/$libname.filter potentially contains lots of # 's' commands which not all seds can handle. GNU sed should be fine # though. Also, the filter scales superlinearly with the number of # global variables. join(1) would be nice here, but unfortunately # isn't a blessed tool. $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter delfiles="$delfiles $export_symbols $output_objdir/$libname.filter" export_symbols=$output_objdir/$libname.def $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols fi tmp_deplibs= for test_deplib in $deplibs; do case " $convenience " in *" $test_deplib "*) ;; *) tmp_deplibs="$tmp_deplibs $test_deplib" ;; esac done deplibs="$tmp_deplibs" if test -n "$convenience"; then if test -n "$whole_archive_flag_spec" && test "$compiler_needs_object" = yes && test -z "$libobjs"; then # extract the archives, so we have objects to list. # TODO: could optimize this to just extract one archive. whole_archive_flag_spec= fi if test -n "$whole_archive_flag_spec"; then save_libobjs=$libobjs eval libobjs=\"\$libobjs $whole_archive_flag_spec\" test "X$libobjs" = "X " && libobjs= else gentop="$output_objdir/${outputname}x" generated="$generated $gentop" func_extract_archives $gentop $convenience libobjs="$libobjs $func_extract_archives_result" test "X$libobjs" = "X " && libobjs= fi fi if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then eval flag=\"$thread_safe_flag_spec\" linker_flags="$linker_flags $flag" fi # Make a backup of the uninstalled library when relinking if test "$mode" = relink; then $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? fi # Do each of the archive commands. if test "$module" = yes && test -n "$module_cmds" ; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then eval test_cmds=\"$module_expsym_cmds\" cmds=$module_expsym_cmds else eval test_cmds=\"$module_cmds\" cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then eval test_cmds=\"$archive_expsym_cmds\" cmds=$archive_expsym_cmds else eval test_cmds=\"$archive_cmds\" cmds=$archive_cmds fi fi if test "X$skipped_export" != "X:" && func_len " $test_cmds" && len=$func_len_result && test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then : else # The command line is too long to link in one step, link piecewise # or, if using GNU ld and skipped_export is not :, use a linker # script. # Save the value of $output and $libobjs because we want to # use them later. If we have whole_archive_flag_spec, we # want to use save_libobjs as it was before # whole_archive_flag_spec was expanded, because we can't # assume the linker understands whole_archive_flag_spec. # This may have to be revisited, in case too many # convenience libraries get linked in and end up exceeding # the spec. if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then save_libobjs=$libobjs fi save_output=$output func_basename "$output" output_la=$func_basename_result # Clear the reloadable object creation command queue and # initialize k to one. test_cmds= concat_cmds= objlist= last_robj= k=1 if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then output=${output_objdir}/${output_la}.lnkscript func_verbose "creating GNU ld script: $output" echo 'INPUT (' > $output for obj in $save_libobjs do $ECHO "$obj" >> $output done echo ')' >> $output delfiles="$delfiles $output" elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then output=${output_objdir}/${output_la}.lnk func_verbose "creating linker input file list: $output" : > $output set x $save_libobjs shift firstobj= if test "$compiler_needs_object" = yes; then firstobj="$1 " shift fi for obj do $ECHO "$obj" >> $output done delfiles="$delfiles $output" output=$firstobj\"$file_list_spec$output\" else if test -n "$save_libobjs"; then func_verbose "creating reloadable object files..." output=$output_objdir/$output_la-${k}.$objext eval test_cmds=\"$reload_cmds\" func_len " $test_cmds" len0=$func_len_result len=$len0 # Loop over the list of objects to be linked. for obj in $save_libobjs do func_len " $obj" func_arith $len + $func_len_result len=$func_arith_result if test "X$objlist" = X || test "$len" -lt "$max_cmd_len"; then func_append objlist " $obj" else # The command $test_cmds is almost too long, add a # command to the queue. if test "$k" -eq 1 ; then # The first file doesn't have a previous command to add. reload_objs=$objlist eval concat_cmds=\"$reload_cmds\" else # All subsequent reloadable object files will link in # the last one created. reload_objs="$objlist $last_robj" eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\" fi last_robj=$output_objdir/$output_la-${k}.$objext func_arith $k + 1 k=$func_arith_result output=$output_objdir/$output_la-${k}.$objext objlist=" $obj" func_len " $last_robj" func_arith $len0 + $func_len_result len=$func_arith_result fi done # Handle the remaining objects by creating one last # reloadable object file. All subsequent reloadable object # files will link in the last one created. test -z "$concat_cmds" || concat_cmds=$concat_cmds~ reload_objs="$objlist $last_robj" eval concat_cmds=\"\${concat_cmds}$reload_cmds\" if test -n "$last_robj"; then eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\" fi delfiles="$delfiles $output" else output= fi if ${skipped_export-false}; then func_verbose "generating symbol list for \`$libname.la'" export_symbols="$output_objdir/$libname.exp" $opt_dry_run || $RM $export_symbols libobjs=$output # Append the command to create the export file. test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" if test -n "$last_robj"; then eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" fi fi test -n "$save_libobjs" && func_verbose "creating a temporary reloadable object file: $output" # Loop through the commands generated above and execute them. save_ifs="$IFS"; IFS='~' for cmd in $concat_cmds; do IFS="$save_ifs" $opt_silent || { func_quote_for_expand "$cmd" eval "func_echo $func_quote_for_expand_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$mode" = relink; then ( cd "$output_objdir" && \ $RM "${realname}T" && \ $MV "${realname}U" "$realname" ) fi exit $lt_exit } done IFS="$save_ifs" if test -n "$export_symbols_regex" && ${skipped_export-false}; then func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' func_show_eval '$MV "${export_symbols}T" "$export_symbols"' fi fi if ${skipped_export-false}; then if test -n "$export_symbols" && test -n "$include_expsyms"; then tmp_export_symbols="$export_symbols" test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' fi if test -n "$orig_export_symbols"; then # The given exports_symbols file has to be filtered, so filter it. func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" # FIXME: $output_objdir/$libname.filter potentially contains lots of # 's' commands which not all seds can handle. GNU sed should be fine # though. Also, the filter scales superlinearly with the number of # global variables. join(1) would be nice here, but unfortunately # isn't a blessed tool. $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter delfiles="$delfiles $export_symbols $output_objdir/$libname.filter" export_symbols=$output_objdir/$libname.def $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols fi fi libobjs=$output # Restore the value of output. output=$save_output if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then eval libobjs=\"\$libobjs $whole_archive_flag_spec\" test "X$libobjs" = "X " && libobjs= fi # Expand the library linking commands again to reset the # value of $libobjs for piecewise linking. # Do each of the archive commands. if test "$module" = yes && test -n "$module_cmds" ; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then cmds=$module_expsym_cmds else cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then cmds=$archive_expsym_cmds else cmds=$archive_cmds fi fi fi if test -n "$delfiles"; then # Append the command to remove temporary files to $cmds. eval cmds=\"\$cmds~\$RM $delfiles\" fi # Add any objects from preloaded convenience libraries if test -n "$dlprefiles"; then gentop="$output_objdir/${outputname}x" generated="$generated $gentop" func_extract_archives $gentop $dlprefiles libobjs="$libobjs $func_extract_archives_result" test "X$libobjs" = "X " && libobjs= fi save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $opt_silent || { func_quote_for_expand "$cmd" eval "func_echo $func_quote_for_expand_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$mode" = relink; then ( cd "$output_objdir" && \ $RM "${realname}T" && \ $MV "${realname}U" "$realname" ) fi exit $lt_exit } done IFS="$save_ifs" # Restore the uninstalled library and exit if test "$mode" = relink; then $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? if test -n "$convenience"; then if test -z "$whole_archive_flag_spec"; then func_show_eval '${RM}r "$gentop"' fi fi exit $EXIT_SUCCESS fi # Create links to the real library. for linkname in $linknames; do if test "$realname" != "$linkname"; then func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' fi done # If -module or -export-dynamic was specified, set the dlname. if test "$module" = yes || test "$export_dynamic" = yes; then # On all known operating systems, these are identical. dlname="$soname" fi fi ;; obj) if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then func_warning "\`-dlopen' is ignored for objects" fi case " $deplibs" in *\ -l* | *\ -L*) func_warning "\`-l' and \`-L' are ignored for objects" ;; esac test -n "$rpath" && \ func_warning "\`-rpath' is ignored for objects" test -n "$xrpath" && \ func_warning "\`-R' is ignored for objects" test -n "$vinfo" && \ func_warning "\`-version-info' is ignored for objects" test -n "$release" && \ func_warning "\`-release' is ignored for objects" case $output in *.lo) test -n "$objs$old_deplibs" && \ func_fatal_error "cannot build library object \`$output' from non-libtool objects" libobj=$output func_lo2o "$libobj" obj=$func_lo2o_result ;; *) libobj= obj="$output" ;; esac # Delete the old objects. $opt_dry_run || $RM $obj $libobj # Objects from convenience libraries. This assumes # single-version convenience libraries. Whenever we create # different ones for PIC/non-PIC, this we'll have to duplicate # the extraction. reload_conv_objs= gentop= # reload_cmds runs $LD directly, so let us get rid of # -Wl from whole_archive_flag_spec and hope we can get by with # turning comma into space.. wl= if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` else gentop="$output_objdir/${obj}x" generated="$generated $gentop" func_extract_archives $gentop $convenience reload_conv_objs="$reload_objs $func_extract_archives_result" fi fi # Create the old-style object. reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test output="$obj" func_execute_cmds "$reload_cmds" 'exit $?' # Exit if we aren't doing a library object file. if test -z "$libobj"; then if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi exit $EXIT_SUCCESS fi if test "$build_libtool_libs" != yes; then if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi # Create an invalid libtool object if no PIC, so that we don't # accidentally link it into a program. # $show "echo timestamp > $libobj" # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? exit $EXIT_SUCCESS fi if test -n "$pic_flag" || test "$pic_mode" != default; then # Only do commands if we really have different PIC objects. reload_objs="$libobjs $reload_conv_objs" output="$libobj" func_execute_cmds "$reload_cmds" 'exit $?' fi if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi exit $EXIT_SUCCESS ;; prog) case $host in *cygwin*) func_stripname '' '.exe' "$output" output=$func_stripname_result.exe;; esac test -n "$vinfo" && \ func_warning "\`-version-info' is ignored for programs" test -n "$release" && \ func_warning "\`-release' is ignored for programs" test "$preload" = yes \ && test "$dlopen_support" = unknown \ && test "$dlopen_self" = unknown \ && test "$dlopen_self_static" = unknown && \ func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support." case $host in *-*-rhapsody* | *-*-darwin1.[012]) # On Rhapsody replace the C library is the System framework compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'` finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'` ;; esac case $host in *-*-darwin*) # Don't allow lazy linking, it breaks C++ global constructors # But is supposedly fixed on 10.4 or later (yay!). if test "$tagname" = CXX ; then case ${MACOSX_DEPLOYMENT_TARGET-10.0} in 10.[0123]) compile_command="$compile_command ${wl}-bind_at_load" finalize_command="$finalize_command ${wl}-bind_at_load" ;; esac fi # Time to change all our "foo.ltframework" stuff back to "-framework foo" compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $compile_deplibs " in *" -L$path/$objdir "*) new_libs="$new_libs -L$path/$objdir" ;; esac ;; esac done for deplib in $compile_deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$new_libs $deplib" ;; esac ;; *) new_libs="$new_libs $deplib" ;; esac done compile_deplibs="$new_libs" compile_command="$compile_command $compile_deplibs" finalize_command="$finalize_command $finalize_deplibs" if test -n "$rpath$xrpath"; then # If the user specified any rpath flags, then add them. for libdir in $rpath $xrpath; do # This is the magic to use -rpath. case "$finalize_rpath " in *" $libdir "*) ;; *) finalize_rpath="$finalize_rpath $libdir" ;; esac done fi # Now hardcode the library paths rpath= hardcode_libdirs= for libdir in $compile_rpath $finalize_rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" rpath="$rpath $flag" fi elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; *) perm_rpath="$perm_rpath $libdir" ;; esac fi case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$libdir:"*) ;; ::) dllsearchpath=$libdir;; *) dllsearchpath="$dllsearchpath:$libdir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; ::) dllsearchpath=$testbindir;; *) dllsearchpath="$dllsearchpath:$testbindir";; esac ;; esac done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" eval rpath=\" $hardcode_libdir_flag_spec\" fi compile_rpath="$rpath" rpath= hardcode_libdirs= for libdir in $finalize_rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" rpath="$rpath $flag" fi elif test -n "$runpath_var"; then case "$finalize_perm_rpath " in *" $libdir "*) ;; *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; esac fi done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" eval rpath=\" $hardcode_libdir_flag_spec\" fi finalize_rpath="$rpath" if test -n "$libobjs" && test "$build_old_libs" = yes; then # Transform all the library objects into standard objects. compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP` finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP` fi func_generate_dlsyms "$outputname" "@PROGRAM@" "no" # template prelinking step if test -n "$prelink_cmds"; then func_execute_cmds "$prelink_cmds" 'exit $?' fi wrappers_required=yes case $host in *cegcc* | *mingw32ce*) # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. wrappers_required=no ;; *cygwin* | *mingw* ) if test "$build_libtool_libs" != yes; then wrappers_required=no fi ;; *) if test "$need_relink" = no || test "$build_libtool_libs" != yes; then wrappers_required=no fi ;; esac if test "$wrappers_required" = no; then # Replace the output file specification. compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'` link_command="$compile_command$compile_rpath" # We have no uninstalled library dependencies, so finalize right now. exit_status=0 func_show_eval "$link_command" 'exit_status=$?' # Delete the generated files. if test -f "$output_objdir/${outputname}S.${objext}"; then func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"' fi exit $exit_status fi if test -n "$compile_shlibpath$finalize_shlibpath"; then compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" fi if test -n "$finalize_shlibpath"; then finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" fi compile_var= finalize_var= if test -n "$runpath_var"; then if test -n "$perm_rpath"; then # We should set the runpath_var. rpath= for dir in $perm_rpath; do rpath="$rpath$dir:" done compile_var="$runpath_var=\"$rpath\$$runpath_var\" " fi if test -n "$finalize_perm_rpath"; then # We should set the runpath_var. rpath= for dir in $finalize_perm_rpath; do rpath="$rpath$dir:" done finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " fi fi if test "$no_install" = yes; then # We don't need to create a wrapper script. link_command="$compile_var$compile_command$compile_rpath" # Replace the output file specification. link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'` # Delete the old output file. $opt_dry_run || $RM $output # Link the executable and exit func_show_eval "$link_command" 'exit $?' exit $EXIT_SUCCESS fi if test "$hardcode_action" = relink; then # Fast installation is not supported link_command="$compile_var$compile_command$compile_rpath" relink_command="$finalize_var$finalize_command$finalize_rpath" func_warning "this platform does not like uninstalled shared libraries" func_warning "\`$output' will be relinked during installation" else if test "$fast_install" != no; then link_command="$finalize_var$compile_command$finalize_rpath" if test "$fast_install" = yes; then relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` else # fast_install is set to needless relink_command= fi else link_command="$compile_var$compile_command$compile_rpath" relink_command="$finalize_var$finalize_command$finalize_rpath" fi fi # Replace the output file specification. link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` # Delete the old output files. $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname func_show_eval "$link_command" 'exit $?' # Now create the wrapper script. func_verbose "creating $output" # Quote the relink command for shipping. if test -n "$relink_command"; then # Preserve any variables that may affect compiler behavior for var in $variables_saved_for_relink; do if eval test -z \"\${$var+set}\"; then relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else func_quote_for_eval "$var_value" relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" fi done relink_command="(cd `pwd`; $relink_command)" relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` fi # Only actually do things if not in dry run mode. $opt_dry_run || { # win32 will think the script is a binary if it has # a .exe suffix, so we strip it off here. case $output in *.exe) func_stripname '' '.exe' "$output" output=$func_stripname_result ;; esac # test for cygwin because mv fails w/o .exe extensions case $host in *cygwin*) exeext=.exe func_stripname '' '.exe' "$outputname" outputname=$func_stripname_result ;; *) exeext= ;; esac case $host in *cygwin* | *mingw* ) func_dirname_and_basename "$output" "" "." output_name=$func_basename_result output_path=$func_dirname_result cwrappersource="$output_path/$objdir/lt-$output_name.c" cwrapper="$output_path/$output_name.exe" $RM $cwrappersource $cwrapper trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 func_emit_cwrapperexe_src > $cwrappersource # The wrapper executable is built using the $host compiler, # because it contains $host paths and files. If cross- # compiling, it, like the target executable, must be # executed on the $host or under an emulation environment. $opt_dry_run || { $LTCC $LTCFLAGS -o $cwrapper $cwrappersource $STRIP $cwrapper } # Now, create the wrapper script for func_source use: func_ltwrapper_scriptname $cwrapper $RM $func_ltwrapper_scriptname_result trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 $opt_dry_run || { # note: this script will not be executed, so do not chmod. if test "x$build" = "x$host" ; then $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result else func_emit_wrapper no > $func_ltwrapper_scriptname_result fi } ;; * ) $RM $output trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 func_emit_wrapper no > $output chmod +x $output ;; esac } exit $EXIT_SUCCESS ;; esac # See if we need to build an old-fashioned archive. for oldlib in $oldlibs; do if test "$build_libtool_libs" = convenience; then oldobjs="$libobjs_save $symfileobj" addlibs="$convenience" build_libtool_libs=no else if test "$build_libtool_libs" = module; then oldobjs="$libobjs_save" build_libtool_libs=no else oldobjs="$old_deplibs $non_pic_objects" if test "$preload" = yes && test -f "$symfileobj"; then oldobjs="$oldobjs $symfileobj" fi fi addlibs="$old_convenience" fi if test -n "$addlibs"; then gentop="$output_objdir/${outputname}x" generated="$generated $gentop" func_extract_archives $gentop $addlibs oldobjs="$oldobjs $func_extract_archives_result" fi # Do each command in the archive commands. if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then cmds=$old_archive_from_new_cmds else # Add any objects from preloaded convenience libraries if test -n "$dlprefiles"; then gentop="$output_objdir/${outputname}x" generated="$generated $gentop" func_extract_archives $gentop $dlprefiles oldobjs="$oldobjs $func_extract_archives_result" fi # POSIX demands no paths to be encoded in archives. We have # to avoid creating archives with duplicate basenames if we # might have to extract them afterwards, e.g., when creating a # static archive out of a convenience library, or when linking # the entirety of a libtool archive into another (currently # not supported by libtool). if (for obj in $oldobjs do func_basename "$obj" $ECHO "$func_basename_result" done | sort | sort -uc >/dev/null 2>&1); then : else echo "copying selected object files to avoid basename conflicts..." gentop="$output_objdir/${outputname}x" generated="$generated $gentop" func_mkdir_p "$gentop" save_oldobjs=$oldobjs oldobjs= counter=1 for obj in $save_oldobjs do func_basename "$obj" objbase="$func_basename_result" case " $oldobjs " in " ") oldobjs=$obj ;; *[\ /]"$objbase "*) while :; do # Make sure we don't pick an alternate name that also # overlaps. newobj=lt$counter-$objbase func_arith $counter + 1 counter=$func_arith_result case " $oldobjs " in *[\ /]"$newobj "*) ;; *) if test ! -f "$gentop/$newobj"; then break; fi ;; esac done func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" oldobjs="$oldobjs $gentop/$newobj" ;; *) oldobjs="$oldobjs $obj" ;; esac done fi eval cmds=\"$old_archive_cmds\" func_len " $cmds" len=$func_len_result if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then cmds=$old_archive_cmds else # the command line is too long to link in one step, link in parts func_verbose "using piecewise archive linking..." save_RANLIB=$RANLIB RANLIB=: objlist= concat_cmds= save_oldobjs=$oldobjs oldobjs= # Is there a better way of finding the last object in the list? for obj in $save_oldobjs do last_oldobj=$obj done eval test_cmds=\"$old_archive_cmds\" func_len " $test_cmds" len0=$func_len_result len=$len0 for obj in $save_oldobjs do func_len " $obj" func_arith $len + $func_len_result len=$func_arith_result func_append objlist " $obj" if test "$len" -lt "$max_cmd_len"; then : else # the above command should be used before it gets too long oldobjs=$objlist if test "$obj" = "$last_oldobj" ; then RANLIB=$save_RANLIB fi test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" objlist= len=$len0 fi done RANLIB=$save_RANLIB oldobjs=$objlist if test "X$oldobjs" = "X" ; then eval cmds=\"\$concat_cmds\" else eval cmds=\"\$concat_cmds~\$old_archive_cmds\" fi fi fi func_execute_cmds "$cmds" 'exit $?' done test -n "$generated" && \ func_show_eval "${RM}r$generated" # Now create the libtool archive. case $output in *.la) old_library= test "$build_old_libs" = yes && old_library="$libname.$libext" func_verbose "creating $output" # Preserve any variables that may affect compiler behavior for var in $variables_saved_for_relink; do if eval test -z \"\${$var+set}\"; then relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else func_quote_for_eval "$var_value" relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" fi done # Quote the link command for shipping. relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` if test "$hardcode_automatic" = yes ; then relink_command= fi # Only create the output if not a dry run. $opt_dry_run || { for installed in no yes; do if test "$installed" = yes; then if test -z "$install_libdir"; then break fi output="$output_objdir/$outputname"i # Replace all uninstalled libtool libraries with the installed ones newdependency_libs= for deplib in $dependency_libs; do case $deplib in *.la) func_basename "$deplib" name="$func_basename_result" eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` test -z "$libdir" && \ func_fatal_error "\`$deplib' is not a valid libtool archive" newdependency_libs="$newdependency_libs $libdir/$name" ;; *) newdependency_libs="$newdependency_libs $deplib" ;; esac done dependency_libs="$newdependency_libs" newdlfiles= for lib in $dlfiles; do case $lib in *.la) func_basename "$lib" name="$func_basename_result" eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` test -z "$libdir" && \ func_fatal_error "\`$lib' is not a valid libtool archive" newdlfiles="$newdlfiles $libdir/$name" ;; *) newdlfiles="$newdlfiles $lib" ;; esac done dlfiles="$newdlfiles" newdlprefiles= for lib in $dlprefiles; do case $lib in *.la) # Only pass preopened files to the pseudo-archive (for # eventual linking with the app. that links it) if we # didn't already link the preopened objects directly into # the library: func_basename "$lib" name="$func_basename_result" eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` test -z "$libdir" && \ func_fatal_error "\`$lib' is not a valid libtool archive" newdlprefiles="$newdlprefiles $libdir/$name" ;; esac done dlprefiles="$newdlprefiles" else newdlfiles= for lib in $dlfiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac newdlfiles="$newdlfiles $abs" done dlfiles="$newdlfiles" newdlprefiles= for lib in $dlprefiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac newdlprefiles="$newdlprefiles $abs" done dlprefiles="$newdlprefiles" fi $RM $output # place dlname in correct position for cygwin # In fact, it would be nice if we could use this code for all target # systems that can't hard-code library paths into their executables # and that have no shared library path variable independent of PATH, # but it turns out we can't easily determine that from inspecting # libtool variables, so we have to hard-code the OSs to which it # applies here; at the moment, that means platforms that use the PE # object format with DLL files. See the long comment at the top of # tests/bindir.at for full details. tdlname=$dlname case $host,$output,$installed,$module,$dlname in *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) # If a -bindir argument was supplied, place the dll there. if test "x$bindir" != x ; then func_relative_path "$install_libdir" "$bindir" tdlname=$func_relative_path_result$dlname else # Otherwise fall back on heuristic. tdlname=../bin/$dlname fi ;; esac $ECHO > $output "\ # $outputname - a libtool library file # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION # # Please DO NOT delete this file! # It is necessary for linking the library. # The name that we can dlopen(3). dlname='$tdlname' # Names of this library. library_names='$library_names' # The name of the static archive. old_library='$old_library' # Linker flags that can not go in dependency_libs. inherited_linker_flags='$new_inherited_linker_flags' # Libraries that this one depends upon. dependency_libs='$dependency_libs' # Names of additional weak libraries provided by this library weak_library_names='$weak_libs' # Version information for $libname. current=$current age=$age revision=$revision # Is this an already installed library? installed=$installed # Should we warn about portability when linking against -modules? shouldnotlink=$module # Files to dlopen/dlpreopen dlopen='$dlfiles' dlpreopen='$dlprefiles' # Directory that this library needs to be installed in: libdir='$install_libdir'" if test "$installed" = no && test "$need_relink" = yes; then $ECHO >> $output "\ relink_command=\"$relink_command\"" fi done } # Do a symbolic link so that the libtool archive can be found in # LD_LIBRARY_PATH before the program is installed. func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' ;; esac exit $EXIT_SUCCESS } { test "$mode" = link || test "$mode" = relink; } && func_mode_link ${1+"$@"} # func_mode_uninstall arg... func_mode_uninstall () { $opt_debug RM="$nonopt" files= rmforce= exit_status=0 # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic="$magic" for arg do case $arg in -f) RM="$RM $arg"; rmforce=yes ;; -*) RM="$RM $arg" ;; *) files="$files $arg" ;; esac done test -z "$RM" && \ func_fatal_help "you must specify an RM program" rmdirs= origobjdir="$objdir" for file in $files; do func_dirname "$file" "" "." dir="$func_dirname_result" if test "X$dir" = X.; then objdir="$origobjdir" else objdir="$dir/$origobjdir" fi func_basename "$file" name="$func_basename_result" test "$mode" = uninstall && objdir="$dir" # Remember objdir for removal later, being careful to avoid duplicates if test "$mode" = clean; then case " $rmdirs " in *" $objdir "*) ;; *) rmdirs="$rmdirs $objdir" ;; esac fi # Don't error if the file doesn't exist and rm -f was used. if { test -L "$file"; } >/dev/null 2>&1 || { test -h "$file"; } >/dev/null 2>&1 || test -f "$file"; then : elif test -d "$file"; then exit_status=1 continue elif test "$rmforce" = yes; then continue fi rmfiles="$file" case $name in *.la) # Possibly a libtool archive, so verify it. if func_lalib_p "$file"; then func_source $dir/$name # Delete the libtool libraries and symlinks. for n in $library_names; do rmfiles="$rmfiles $objdir/$n" done test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" case "$mode" in clean) case " $library_names " in # " " in the beginning catches empty $dlname *" $dlname "*) ;; *) rmfiles="$rmfiles $objdir/$dlname" ;; esac test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" ;; uninstall) if test -n "$library_names"; then # Do each command in the postuninstall commands. func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' fi if test -n "$old_library"; then # Do each command in the old_postuninstall commands. func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' fi # FIXME: should reinstall the best remaining shared library. ;; esac fi ;; *.lo) # Possibly a libtool object, so verify it. if func_lalib_p "$file"; then # Read the .lo file func_source $dir/$name # Add PIC object to the list of files to remove. if test -n "$pic_object" && test "$pic_object" != none; then rmfiles="$rmfiles $dir/$pic_object" fi # Add non-PIC object to the list of files to remove. if test -n "$non_pic_object" && test "$non_pic_object" != none; then rmfiles="$rmfiles $dir/$non_pic_object" fi fi ;; *) if test "$mode" = clean ; then noexename=$name case $file in *.exe) func_stripname '' '.exe' "$file" file=$func_stripname_result func_stripname '' '.exe' "$name" noexename=$func_stripname_result # $file with .exe has already been added to rmfiles, # add $file without .exe rmfiles="$rmfiles $file" ;; esac # Do a test to see if this is a libtool program. if func_ltwrapper_p "$file"; then if func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" relink_command= func_source $func_ltwrapper_scriptname_result rmfiles="$rmfiles $func_ltwrapper_scriptname_result" else relink_command= func_source $dir/$noexename fi # note $name still contains .exe if it was in $file originally # as does the version of $file that was added into $rmfiles rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" if test "$fast_install" = yes && test -n "$relink_command"; then rmfiles="$rmfiles $objdir/lt-$name" fi if test "X$noexename" != "X$name" ; then rmfiles="$rmfiles $objdir/lt-${noexename}.c" fi fi fi ;; esac func_show_eval "$RM $rmfiles" 'exit_status=1' done objdir="$origobjdir" # Try to remove the ${objdir}s in the directories where we deleted files for dir in $rmdirs; do if test -d "$dir"; then func_show_eval "rmdir $dir >/dev/null 2>&1" fi done exit $exit_status } { test "$mode" = uninstall || test "$mode" = clean; } && func_mode_uninstall ${1+"$@"} test -z "$mode" && { help="$generic_help" func_fatal_help "you must specify a MODE" } test -z "$exec_cmd" && \ func_fatal_help "invalid operation mode \`$mode'" if test -n "$exec_cmd"; then eval exec "$exec_cmd" exit $EXIT_FAILURE fi exit $exit_status # The TAGs below are defined such that we never get into a situation # in which we disable both kinds of libraries. Given conflicting # choices, we go for a static library, that is the most portable, # since we can't tell whether shared libraries were disabled because # the user asked for that or because the platform doesn't support # them. This is particularly important on AIX, because we don't # support having both static and shared libraries enabled at the same # time on that platform, so we default to a shared-only configuration. # If a disable-shared tag is given, we'll fallback to a static-only # configuration. But we'll never go from static-only to shared-only. # ### BEGIN LIBTOOL TAG CONFIG: disable-shared build_libtool_libs=no build_old_libs=yes # ### END LIBTOOL TAG CONFIG: disable-shared # ### BEGIN LIBTOOL TAG CONFIG: disable-static build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` # ### END LIBTOOL TAG CONFIG: disable-static # Local Variables: # mode:shell-script # sh-indentation:2 # End: # vi:sw=2 parted-2.3/build-aux/c++defs.h0000644000000000000000000002710711377165371013023 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* C++ compatible function declaration macros. Copyright (C) 2010 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 3 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 Lesser General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _GL_CXXDEFS_H #define _GL_CXXDEFS_H /* The three most frequent use cases of these macros are: * For providing a substitute for a function that is missing on some platforms, but is declared and works fine on the platforms on which it exists: #if @GNULIB_FOO@ # if !@HAVE_FOO@ _GL_FUNCDECL_SYS (foo, ...); # endif _GL_CXXALIAS_SYS (foo, ...); _GL_CXXALIASWARN (foo); #elif defined GNULIB_POSIXCHECK ... #endif * For providing a replacement for a function that exists on all platforms, but is broken/insufficient and needs to be replaced on some platforms: #if @GNULIB_FOO@ # if @REPLACE_FOO@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef foo # define foo rpl_foo # endif _GL_FUNCDECL_RPL (foo, ...); _GL_CXXALIAS_RPL (foo, ...); # else _GL_CXXALIAS_SYS (foo, ...); # endif _GL_CXXALIASWARN (foo); #elif defined GNULIB_POSIXCHECK ... #endif * For providing a replacement for a function that exists on some platforms but is broken/insufficient and needs to be replaced on some of them and is additionally either missing or undeclared on some other platforms: #if @GNULIB_FOO@ # if @REPLACE_FOO@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef foo # define foo rpl_foo # endif _GL_FUNCDECL_RPL (foo, ...); _GL_CXXALIAS_RPL (foo, ...); # else # if !@HAVE_FOO@ or if !@HAVE_DECL_FOO@ _GL_FUNCDECL_SYS (foo, ...); # endif _GL_CXXALIAS_SYS (foo, ...); # endif _GL_CXXALIASWARN (foo); #elif defined GNULIB_POSIXCHECK ... #endif */ /* _GL_EXTERN_C declaration; performs the declaration with C linkage. */ #if defined __cplusplus # define _GL_EXTERN_C extern "C" #else # define _GL_EXTERN_C extern #endif /* _GL_FUNCDECL_RPL (func, rettype, parameters_and_attributes); declares a replacement function, named rpl_func, with the given prototype, consisting of return type, parameters, and attributes. Example: _GL_FUNCDECL_RPL (open, int, (const char *filename, int flags, ...) _GL_ARG_NONNULL ((1))); */ #define _GL_FUNCDECL_RPL(func,rettype,parameters_and_attributes) \ _GL_FUNCDECL_RPL_1 (rpl_##func, rettype, parameters_and_attributes) #define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters_and_attributes) \ _GL_EXTERN_C rettype rpl_func parameters_and_attributes /* _GL_FUNCDECL_SYS (func, rettype, parameters_and_attributes); declares the system function, named func, with the given prototype, consisting of return type, parameters, and attributes. Example: _GL_FUNCDECL_SYS (open, int, (const char *filename, int flags, ...) _GL_ARG_NONNULL ((1))); */ #define _GL_FUNCDECL_SYS(func,rettype,parameters_and_attributes) \ _GL_EXTERN_C rettype func parameters_and_attributes /* _GL_CXXALIAS_RPL (func, rettype, parameters); declares a C++ alias called GNULIB_NAMESPACE::func that redirects to rpl_func, if GNULIB_NAMESPACE is defined. Example: _GL_CXXALIAS_RPL (open, int, (const char *filename, int flags, ...)); */ #define _GL_CXXALIAS_RPL(func,rettype,parameters) \ _GL_CXXALIAS_RPL_1 (func, rpl_##func, rettype, parameters) #if defined __cplusplus && defined GNULIB_NAMESPACE # define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \ namespace GNULIB_NAMESPACE \ { \ rettype (*const func) parameters = ::rpl_func; \ } \ _GL_EXTERN_C int _gl_cxxalias_dummy #else # define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \ _GL_EXTERN_C int _gl_cxxalias_dummy #endif /* _GL_CXXALIAS_RPL_CAST_1 (func, rpl_func, rettype, parameters); is like _GL_CXXALIAS_RPL_1 (func, rpl_func, rettype, parameters); except that the C function rpl_func may have a slightly different declaration. A cast is used to silence the "invalid conversion" error that would otherwise occur. */ #if defined __cplusplus && defined GNULIB_NAMESPACE # define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \ namespace GNULIB_NAMESPACE \ { \ rettype (*const func) parameters = \ reinterpret_cast(::rpl_func); \ } \ _GL_EXTERN_C int _gl_cxxalias_dummy #else # define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \ _GL_EXTERN_C int _gl_cxxalias_dummy #endif /* _GL_CXXALIAS_SYS (func, rettype, parameters); declares a C++ alias called GNULIB_NAMESPACE::func that redirects to the system provided function func, if GNULIB_NAMESPACE is defined. Example: _GL_CXXALIAS_SYS (open, int, (const char *filename, int flags, ...)); */ #if defined __cplusplus && defined GNULIB_NAMESPACE /* If we were to write rettype (*const func) parameters = ::func; like above in _GL_CXXALIAS_RPL_1, the compiler could optimize calls better (remove an indirection through a 'static' pointer variable), but then the _GL_CXXALIASWARN macro below would cause a warning not only for uses of ::func but also for uses of GNULIB_NAMESPACE::func. */ # define _GL_CXXALIAS_SYS(func,rettype,parameters) \ namespace GNULIB_NAMESPACE \ { \ static rettype (*func) parameters = ::func; \ } \ _GL_EXTERN_C int _gl_cxxalias_dummy #else # define _GL_CXXALIAS_SYS(func,rettype,parameters) \ _GL_EXTERN_C int _gl_cxxalias_dummy #endif /* _GL_CXXALIAS_SYS_CAST (func, rettype, parameters); is like _GL_CXXALIAS_SYS (func, rettype, parameters); except that the C function func may have a slightly different declaration. A cast is used to silence the "invalid conversion" error that would otherwise occur. */ #if defined __cplusplus && defined GNULIB_NAMESPACE # define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \ namespace GNULIB_NAMESPACE \ { \ static rettype (*func) parameters = \ reinterpret_cast(::func); \ } \ _GL_EXTERN_C int _gl_cxxalias_dummy #else # define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \ _GL_EXTERN_C int _gl_cxxalias_dummy #endif /* _GL_CXXALIAS_SYS_CAST2 (func, rettype, parameters, rettype2, parameters2); is like _GL_CXXALIAS_SYS (func, rettype, parameters); except that the C function is picked among a set of overloaded functions, namely the one with rettype2 and parameters2. Two consecutive casts are used to silence the "cannot find a match" and "invalid conversion" errors that would otherwise occur. */ #if defined __cplusplus && defined GNULIB_NAMESPACE /* The outer cast must be a reinterpret_cast. The inner cast: When the function is defined as a set of overloaded functions, it works as a static_cast<>, choosing the designated variant. When the function is defined as a single variant, it works as a reinterpret_cast<>. The parenthesized cast syntax works both ways. */ # define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \ namespace GNULIB_NAMESPACE \ { \ static rettype (*func) parameters = \ reinterpret_cast( \ (rettype2(*)parameters2)(::func)); \ } \ _GL_EXTERN_C int _gl_cxxalias_dummy #else # define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \ _GL_EXTERN_C int _gl_cxxalias_dummy #endif /* _GL_CXXALIASWARN (func); causes a warning to be emitted when ::func is used but not when GNULIB_NAMESPACE::func is used. func must be defined without overloaded variants. */ #if defined __cplusplus && defined GNULIB_NAMESPACE # define _GL_CXXALIASWARN(func) \ _GL_CXXALIASWARN_1 (func, GNULIB_NAMESPACE) # define _GL_CXXALIASWARN_1(func,namespace) \ _GL_CXXALIASWARN_2 (func, namespace) /* To work around GCC bug , we enable the warning only when not optimizing. */ # if !__OPTIMIZE__ # define _GL_CXXALIASWARN_2(func,namespace) \ _GL_WARN_ON_USE (func, \ "The symbol ::" #func " refers to the system function. " \ "Use " #namespace "::" #func " instead.") # elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING # define _GL_CXXALIASWARN_2(func,namespace) \ extern __typeof__ (func) func # else # define _GL_CXXALIASWARN_2(func,namespace) \ _GL_EXTERN_C int _gl_cxxalias_dummy # endif #else # define _GL_CXXALIASWARN(func) \ _GL_EXTERN_C int _gl_cxxalias_dummy #endif /* _GL_CXXALIASWARN1 (func, rettype, parameters_and_attributes); causes a warning to be emitted when the given overloaded variant of ::func is used but not when GNULIB_NAMESPACE::func is used. */ #if defined __cplusplus && defined GNULIB_NAMESPACE # define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \ _GL_CXXALIASWARN1_1 (func, rettype, parameters_and_attributes, \ GNULIB_NAMESPACE) # define _GL_CXXALIASWARN1_1(func,rettype,parameters_and_attributes,namespace) \ _GL_CXXALIASWARN1_2 (func, rettype, parameters_and_attributes, namespace) /* To work around GCC bug , we enable the warning only when not optimizing. */ # if !__OPTIMIZE__ # define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ _GL_WARN_ON_USE_CXX (func, rettype, parameters_and_attributes, \ "The symbol ::" #func " refers to the system function. " \ "Use " #namespace "::" #func " instead.") # elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING # define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ extern __typeof__ (func) func # else # define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ _GL_EXTERN_C int _gl_cxxalias_dummy # endif #else # define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \ _GL_EXTERN_C int _gl_cxxalias_dummy #endif #endif /* _GL_CXXDEFS_H */ parted-2.3/build-aux/depcomp0000744000000000000000000004426711370541031013001 00000000000000#! /bin/sh # depcomp - compile a program generating dependencies as side-effects scriptversion=2009-04-28.21; # UTC # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free # Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Alexandre Oliva . case $1 in '') echo "$0: No command. Try \`$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: depcomp [--help] [--version] PROGRAM [ARGS] Run PROGRAMS ARGS to compile a file, generating dependencies as side-effects. Environment variables: depmode Dependency tracking mode. source Source file read by `PROGRAMS ARGS'. object Object file output by `PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. tmpdepfile Temporary file to use when 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 cygpath_u="cygpath -u -f -" if test "$depmode" = msvcmsys; then # This is just like msvisualcpp but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 cygpath_u="sed s,\\\\\\\\,/,g" depmode=msvisualcpp fi 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 "X$1" != 'X--mode=compile'; do shift done shift fi # Remove `-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done test -z "$dashmflag" && dashmflag=-M # Require at least two characters before searching for `:' # in the target name. This is to cope with DOS-style filenames: # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. "$@" $dashmflag | sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$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 "X$1" != 'X--mode=compile'; do shift done shift fi # X makedepend shift cleared=no eat=no for arg do case $cleared in no) set ""; shift cleared=yes ;; esac if test $eat = yes; then eat=no continue fi case "$arg" in -D*|-I*) set fnord "$@" "$arg"; shift ;; # Strip any option that makedepend may not understand. Remove # the object too, otherwise makedepend will parse it as a source file. -arch) eat=yes ;; -*|$object) ;; *) set fnord "$@" "$arg"; shift ;; esac done obj_suffix=`echo "$object" | sed 's/^.*\././'` touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" 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 "X$1" != 'X--mode=compile'; do shift done shift fi # Remove `-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done "$@" -E | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" cat < "$tmpdepfile" >> "$depfile" sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; msvisualcpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi IFS=" " for arg do case "$arg" in -o) shift ;; $object) shift ;; "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") set fnord "$@" shift shift ;; *) set fnord "$@" "$arg" shift shift ;; esac done "$@" -E 2>/dev/null | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" echo " " >> "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; msvcmsys) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; none) exec "$@" ;; *) echo "Unknown depmode $depmode" 1>&2 exit 1 ;; esac exit 0 # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: parted-2.3/build-aux/arg-nonnull.h0000644000000000000000000000244211333760251014026 00000000000000/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A C macro for declaring that specific arguments must not be NULL. Copyright (C) 2009, 2010 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 3 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 Lesser General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* _GL_ARG_NONNULL((n,...,m)) tells the compiler and static analyzer tools that the values passed as arguments n, ..., m must be non-NULL pointers. n = 1 stands for the first argument, n = 2 for the second argument etc. */ #ifndef _GL_ARG_NONNULL # if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || __GNUC__ > 3 # define _GL_ARG_NONNULL(params) __attribute__ ((__nonnull__ params)) # else # define _GL_ARG_NONNULL(params) # endif #endif parted-2.3/build-aux/git-version-gen0000744000000000000000000001300611377760354014374 00000000000000#!/bin/sh # Print a version string. scriptversion=2010-05-28.15; # UTC # Copyright (C) 2007-2010 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 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # This script is derived from GIT-VERSION-GEN from GIT: http://git.or.cz/. # It may be run two ways: # - from a git repository in which the "git describe" command below # produces useful output (thus requiring at least one signed tag) # - from a non-git-repo directory containing a .tarball-version file, which # presumes this script is invoked like "./git-version-gen .tarball-version". # In order to use intra-version strings in your project, you will need two # separate generated version string files: # # .tarball-version - present only in a distribution tarball, and not in # a checked-out repository. Created with contents that were learned at # the last time autoconf was run, and used by git-version-gen. Must not # be present in either $(srcdir) or $(builddir) for git-version-gen to # give accurate answers during normal development with a checked out tree, # but must be present in a tarball when there is no version control system. # Therefore, it cannot be used in any dependencies. GNUmakefile has # hooks to force a reconfigure at distribution time to get the value # correct, without penalizing normal development with extra reconfigures. # # .version - present in a checked-out repository and in a distribution # tarball. Usable in dependencies, particularly for files that don't # want to depend on config.h but do want to track version changes. # Delete this file prior to any autoconf run where you want to rebuild # files to pick up a version string change; and leave it stale to # minimize rebuild time after unrelated changes to configure sources. # # It is probably wise to add these two files to .gitignore, so that you # don't accidentally commit either generated file. # # Use the following line in your configure.ac, so that $(VERSION) will # automatically be up-to-date each time configure is run (and note that # since configure.ac no longer includes a version string, Makefile rules # should not depend on configure.ac for version updates). # # AC_INIT([GNU project], # m4_esyscmd([build-aux/git-version-gen .tarball-version]), # [bug-project@example]) # # Then use the following lines in your Makefile.am, so that .version # will be present for dependencies, and so that .tarball-version will # exist in distribution tarballs. # # BUILT_SOURCES = $(top_srcdir)/.version # $(top_srcdir)/.version: # echo $(VERSION) > $@-t && mv $@-t $@ # dist-hook: # echo $(VERSION) > $(distdir)/.tarball-version case $# in 1|2) ;; *) echo 1>&2 "Usage: $0 \$srcdir/.tarball-version" \ '[TAG-NORMALIZATION-SED-SCRIPT]' exit 1;; esac tarball_version_file=$1 tag_sed_script="${2:-s/x/x/}" nl=' ' # First see if there is a tarball-only version file. # then try "git describe", then default. if test -f $tarball_version_file then v=`cat $tarball_version_file` || exit 1 case $v in *$nl*) v= ;; # reject multi-line output [0-9]*) ;; *) v= ;; esac test -z "$v" \ && echo "$0: WARNING: $tarball_version_file seems to be damaged" 1>&2 fi if test -n "$v" then : # use $v elif test -d .git \ && v=`git describe --abbrev=4 --match='v*' HEAD 2>/dev/null \ || git describe --abbrev=4 HEAD 2>/dev/null` \ && v=`printf '%s\n' "$v" | sed "$tag_sed_script"` \ && case $v in v[0-9]*) ;; *) (exit 1) ;; esac then # Is this a new git that lists number of commits since the last # tag or the previous older version that did not? # Newer: v6.10-77-g0f8faeb # Older: v6.10-g0f8faeb case $v in *-*-*) : git describe is okay three part flavor ;; *-*) : git describe is older two part flavor # Recreate the number of commits and rewrite such that the # result is the same as if we were using the newer version # of git describe. vtag=`echo "$v" | sed 's/-.*//'` numcommits=`git rev-list "$vtag"..HEAD | wc -l` v=`echo "$v" | sed "s/\(.*\)-\(.*\)/\1-$numcommits-\2/"`; ;; esac # Change the first '-' to a '.', so version-comparing tools work properly. # Remove the "g" in git describe's output string, to save a byte. v=`echo "$v" | sed 's/-/./;s/\(.*\)-g/\1-/'`; else v=UNKNOWN fi v=`echo "$v" |sed 's/^v//'` # Don't declare a version "dirty" merely because a time stamp has changed. git update-index --refresh > /dev/null 2>&1 dirty=`sh -c 'git diff-index --name-only HEAD' 2>/dev/null` || dirty= case "$dirty" in '') ;; *) # Append the suffix only if there isn't one already. case $v in *-dirty) ;; *) v="$v-dirty" ;; esac ;; esac # Omit the trailing newline, so that m4_esyscmd can use the result directly. echo "$v" | tr -d "$nl" # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: parted-2.3/build-aux/config.guess0000744000000000000000000012765511370541031013747 00000000000000#! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 # Free Software Foundation, Inc. timestamp='2010-04-03' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # 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., 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 Per Bothner. Please send patches (context # diff format) to and include a ChangeLog # entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi trap 'exit 1' HUP INT TERM # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" HUP INT PIPE TERM ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ /usr/sbin/$sysctl 2>/dev/null || echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "${UNAME_VERSION}" in Debian*) release='-gnu' ;; *) release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; *:SolidBSD:*:*) echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerpc-unknown-mirbsd${UNAME_RELEASE} exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE="alpha" ;; "EV4.5 (21064)") UNAME_MACHINE="alpha" ;; "LCA4 (21066/21068)") UNAME_MACHINE="alpha" ;; "EV5 (21164)") UNAME_MACHINE="alphaev5" ;; "EV5.6 (21164A)") UNAME_MACHINE="alphaev56" ;; "EV5.6 (21164PC)") UNAME_MACHINE="alphapca56" ;; "EV5.7 (21164PC)") UNAME_MACHINE="alphapca57" ;; "EV6 (21264)") UNAME_MACHINE="alphaev6" ;; "EV6.7 (21264A)") UNAME_MACHINE="alphaev67" ;; "EV6.8CB (21264C)") UNAME_MACHINE="alphaev68" ;; "EV6.8AL (21264B)") UNAME_MACHINE="alphaev68" ;; "EV6.8CX (21264D)") UNAME_MACHINE="alphaev68" ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE="alphaev69" ;; "EV7 (21364)") UNAME_MACHINE="alphaev7" ;; "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition exit ;; *:z/VM:*:*) echo s390-ibm-zvmoe exit ;; *:OS400:*:*) echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; arm:riscos:*:*|arm:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; s390x:SunOS:*:*) echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) echo i386-pc-auroraux${UNAME_RELEASE} exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build SUN_ARCH="i386" # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then SUN_ARCH="x86_64" fi fi echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`$dummy $dummyarg` && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` then echo "$SYSTEM_NAME" else echo rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit ;; *:AIX:*:[456]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 esac ;; esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ ${HP_ARCH} = "hppa2.0w" ] then eval $set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | grep -q __LP64__ then HP_ARCH="hppa2.0w" else HP_ARCH="hppa64" fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) case ${UNAME_MACHINE} in pc98) echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; *:Interix*:*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; authenticamd | genuineintel | EM64T) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) echo ia64-unknown-interix${UNAME_RELEASE} exit ;; esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; 8664:Windows_NT:*) echo x86_64-pc-mks exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; *:GNU:*:*) # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then echo ${UNAME_MACHINE}-unknown-linux-gnu else echo ${UNAME_MACHINE}-unknown-linux-gnueabi fi exit ;; avr32*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; cris:Linux:*:*) echo cris-axis-linux-gnu exit ;; crisv32:Linux:*:*) echo crisv32-axis-linux-gnu exit ;; frv:Linux:*:*) echo frv-unknown-linux-gnu exit ;; i*86:Linux:*:*) LIBC=gnu eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __dietlibc__ LIBC=dietlibc #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` echo "${UNAME_MACHINE}-pc-linux-${LIBC}" exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef ${UNAME_MACHINE} #undef ${UNAME_MACHINE}el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=${UNAME_MACHINE}el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=${UNAME_MACHINE} #else CPU= #endif #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo or32-unknown-linux-gnu exit ;; padre:Linux:*:*) echo sparc-unknown-linux-gnu exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-gnu ;; PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-gnu exit ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit ;; i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub # prints for the "djgpp" host, or else GDB configury will decide that # this is a cross-build. echo i586-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; paragon:*:*:*) echo i860-intel-osf1 exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; NCR*:*:4.2:* | MPRAS*:*:4.2:*) OS_REL='.3' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. echo ${UNAME_MACHINE}-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit ;; SX-7:SUPER-UX:*:*) echo sx7-nec-superux${UNAME_RELEASE} exit ;; SX-8:SUPER-UX:*:*) echo sx8-nec-superux${UNAME_RELEASE} exit ;; SX-8R:SUPER-UX:*:*) echo sx8r-nec-superux${UNAME_RELEASE} exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in i386) eval $set_cc_for_build if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then UNAME_PROCESSOR="x86_64" fi fi ;; unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NSE-?:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = "386"; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit ;; *:ITS:*:*) echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; esac ;; *:XENIX:*:SysV) echo i386-pc-xenix exit ;; i*86:skyos:*:*) echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' exit ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; i*86:AROS:*:*) echo ${UNAME_MACHINE}-pc-aros exit ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 eval $set_cc_for_build cat >$dummy.c < # include #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (__arm) && defined (__acorn) && defined (__unix) printf ("arm-acorn-riscix\n"); exit (0); #endif #if defined (hp300) && !defined (hpux) printf ("m68k-hp-bsd\n"); exit (0); #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) # if !defined (ultrix) # include # if defined (BSD) # if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); # else # if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); # else printf ("vax-dec-bsd\n"); exit (0); # endif # endif # else printf ("vax-dec-bsd\n"); exit (0); # endif # else printf ("vax-dec-ultrix\n"); exit (0); # endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } # Convex versions that predate uname can use getsysinfo(1) if [ -x /usr/convex/getsysinfo ] then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd exit ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; c34*) echo c34-convex-bsd exit ;; c38*) echo c38-convex-bsd exit ;; c4*) echo c4-convex-bsd exit ;; esac fi cat >&2 < in order to provide the needed information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: parted-2.3/build-aux/config.rpath0000744000000000000000000004401211370541031013720 00000000000000#! /bin/sh # Output a system dependent set of variables, describing how to set the # run time search path of shared libraries in an executable. # # Copyright 1996-2010 Free Software Foundation, Inc. # Taken from GNU libtool, 2001 # Originally by Gordon Matzigkeit , 1996 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # # The first argument passed to this file is the canonical host specification, # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld # should be set by the caller. # # The set of defined variables is at the end of this script. # Known limitations: # - On IRIX 6.5 with CC="cc", the run time search patch must not be longer # than 256 bytes, otherwise the compiler driver will dump core. The only # known workaround is to choose shorter directory names for the build # directory and/or the installation directory. # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a shrext=.so host="$1" host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` # Code taken from libtool.m4's _LT_CC_BASENAME. for cc_temp in $CC""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` # Code taken from libtool.m4's _LT_COMPILER_PIC. wl= if test "$GCC" = yes; then wl='-Wl,' else case "$host_os" in aix*) wl='-Wl,' ;; darwin*) case $cc_basename in xlc*) wl='-Wl,' ;; esac ;; mingw* | cygwin* | pw32* | os2* | cegcc*) ;; hpux9* | hpux10* | hpux11*) wl='-Wl,' ;; irix5* | irix6* | nonstopux*) wl='-Wl,' ;; newsos6) ;; linux* | k*bsd*-gnu) case $cc_basename in ecc*) wl='-Wl,' ;; icc* | ifort*) wl='-Wl,' ;; lf95*) wl='-Wl,' ;; pgcc | pgf77 | pgf90) wl='-Wl,' ;; ccc*) wl='-Wl,' ;; como) wl='-lopt=' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) wl='-Wl,' ;; esac ;; esac ;; osf3* | osf4* | osf5*) wl='-Wl,' ;; rdos*) ;; solaris*) wl='-Wl,' ;; sunos4*) wl='-Qoption ld ' ;; sysv4 | sysv4.2uw2* | sysv4.3*) wl='-Wl,' ;; sysv4*MP*) ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) wl='-Wl,' ;; unicos*) wl='-Wl,' ;; uts4*) ;; esac fi # Code taken from libtool.m4's _LT_LINKER_SHLIBS. hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_direct=no hardcode_minus_L=no case "$host_os" in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs=yes if test "$with_gnu_ld" = yes; then # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. # Unlike libtool, we use -rpath here, not --rpath, since the documented # option of GNU ld is called -rpath, not --rpath. hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' case "$host_os" in aix[3-9]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs=no fi ;; amigaos*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # Samuel A. Falvo II reports # that the semantics of dynamic libraries on AmigaOS, at least up # to version 4, is to share data among multiple programs linked # with the same dynamic library. Since this doesn't match the # behavior of shared libraries on other platforms, we cannot use # them. ld_shlibs=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then : else ld_shlibs=no fi ;; interix[3-9]*) hardcode_direct=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; netbsd*) ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs=no elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' else ld_shlibs=no fi ;; esac ;; sunos4*) hardcode_direct=yes ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = no; then hardcode_libdir_flag_spec= fi else case "$host_os" in aix3*) # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test "$GCC" = yes; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix[4-9]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac fi hardcode_direct=yes hardcode_libdir_separator=':' if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && \ strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct=unsupported hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac fi # Begin _LT_AC_SYS_LIBPATH_AIX. echo 'int main () { return 0; }' > conftest.c ${CC} ${LDFLAGS} conftest.c -o conftest aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` fi if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib" fi rm -f conftest.c conftest # End _LT_AC_SYS_LIBPATH_AIX. if test "$aix_use_runtimelinking" = yes; then hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' else hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" fi fi ;; amigaos*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # see comment about different semantics on the GNU ld section ld_shlibs=no ;; bsdi[45]*) ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec=' ' libext=lib ;; darwin* | rhapsody*) hardcode_direct=no if test "$GCC" = yes ; then : else case $cc_basename in xlc*) ;; *) ld_shlibs=no ;; esac fi ;; dgux*) hardcode_libdir_flag_spec='-L$libdir' ;; freebsd1*) ld_shlibs=no ;; freebsd2.2*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; freebsd2*) hardcode_direct=yes hardcode_minus_L=yes ;; freebsd* | dragonfly*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; hpux9*) hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; hpux10*) if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_direct=no ;; *) hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; netbsd*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; newsos6) hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then hardcode_libdir_flag_spec='${wl}-rpath,$libdir' else case "$host_os" in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) hardcode_libdir_flag_spec='-R$libdir' ;; *) hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; osf3*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) if test "$GCC" = yes; then hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else # Both cc and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi hardcode_libdir_separator=: ;; solaris*) hardcode_libdir_flag_spec='-R$libdir' ;; sunos4*) hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes ;; sysv4) case $host_vendor in sni) hardcode_direct=yes # is this really true??? ;; siemens) hardcode_direct=no ;; motorola) hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac ;; sysv4.3*) ;; sysv4*MP*) if test -d /usr/nec; then ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) ;; sysv5* | sco3.2v5* | sco5v6*) hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator=':' ;; uts4*) hardcode_libdir_flag_spec='-L$libdir' ;; *) ld_shlibs=no ;; esac fi # Check dynamic linker characteristics # Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER. # Unlike libtool.m4, here we don't care about _all_ names of the library, but # only about the one the linker finds when passed -lNAME. This is the last # element of library_names_spec in libtool.m4, or possibly two of them if the # linker has special search rules. library_names_spec= # the last element of library_names_spec in libtool.m4 libname_spec='lib$name' case "$host_os" in aix3*) library_names_spec='$libname.a' ;; aix[4-9]*) library_names_spec='$libname$shrext' ;; amigaos*) library_names_spec='$libname.a' ;; beos*) library_names_spec='$libname$shrext' ;; bsdi[45]*) library_names_spec='$libname$shrext' ;; cygwin* | mingw* | pw32* | cegcc*) shrext=.dll library_names_spec='$libname.dll.a $libname.lib' ;; darwin* | rhapsody*) shrext=.dylib library_names_spec='$libname$shrext' ;; dgux*) library_names_spec='$libname$shrext' ;; freebsd1*) ;; freebsd* | dragonfly*) case "$host_os" in freebsd[123]*) library_names_spec='$libname$shrext$versuffix' ;; *) library_names_spec='$libname$shrext' ;; esac ;; gnu*) library_names_spec='$libname$shrext' ;; hpux9* | hpux10* | hpux11*) case $host_cpu in ia64*) shrext=.so ;; hppa*64*) shrext=.sl ;; *) shrext=.sl ;; esac library_names_spec='$libname$shrext' ;; interix[3-9]*) library_names_spec='$libname$shrext' ;; irix5* | irix6* | nonstopux*) library_names_spec='$libname$shrext' case "$host_os" in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; *) libsuff= shlibsuff= ;; esac ;; esac ;; linux*oldld* | linux*aout* | linux*coff*) ;; linux* | k*bsd*-gnu) library_names_spec='$libname$shrext' ;; knetbsd*-gnu) library_names_spec='$libname$shrext' ;; netbsd*) library_names_spec='$libname$shrext' ;; newsos6) library_names_spec='$libname$shrext' ;; nto-qnx*) library_names_spec='$libname$shrext' ;; openbsd*) library_names_spec='$libname$shrext$versuffix' ;; os2*) libname_spec='$name' shrext=.dll library_names_spec='$libname.a' ;; osf3* | osf4* | osf5*) library_names_spec='$libname$shrext' ;; rdos*) ;; solaris*) library_names_spec='$libname$shrext' ;; sunos4*) library_names_spec='$libname$shrext$versuffix' ;; sysv4 | sysv4.3*) library_names_spec='$libname$shrext' ;; sysv4*MP*) library_names_spec='$libname$shrext' ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) library_names_spec='$libname$shrext' ;; uts4*) library_names_spec='$libname$shrext' ;; esac sed_quote_subst='s/\(["`$\\]\)/\\\1/g' escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` shlibext=`echo "$shrext" | sed -e 's,^\.,,'` escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <. # Written by Jim Meyering use strict; use Getopt::Long; use Digest::MD5; use Digest::SHA1; use POSIX qw(strftime); (my $ME = $0) =~ s|.*/||; my %valid_release_types = map {$_ => 1} qw (alpha beta stable); my @archive_suffixes = ('tar.gz', 'tar.bz2', 'tar.lzma', 'tar.xz'); sub usage ($) { my ($exit_code) = @_; my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR); if ($exit_code != 0) { print $STREAM "Try `$ME --help' for more information.\n"; } else { my @types = sort keys %valid_release_types; print $STREAM < = C Compute the sizes of the C<@file> and return them as a hash. Return C if one of the computation failed. =cut sub sizes (@) { my (@file) = @_; my $fail = 0; my %res; foreach my $f (@file) { my $cmd = "du --human $f"; my $t = `$cmd`; # FIXME-someday: give a better diagnostic, a la $PROCESS_STATUS $@ and (warn "$ME: command failed: `$cmd'\n"), $fail = 1; chomp $t; $t =~ s/^([\d.]+[MkK]).*/${1}B/; $res{$f} = $t; } return $fail ? undef : %res; } =item C dedicated to the list of <@file>, which sizes are stored in C<%size>, and which are available from the C<@url>. =cut sub print_locations ($\@\%@) { my ($title, $url, $size, @file) = @_; print "Here are the $title:\n"; foreach my $url (@{$url}) { for my $file (@file) { print " $url/$file"; print " (", $$size{$file}, ")" if exists $$size{$file}; print "\n"; } } print "\n"; } =item C. =cut sub print_checksums (@) { my (@file) = @_; print "Here are the MD5 and SHA1 checksums:\n"; print "\n"; foreach my $meth (qw (md5 sha1)) { foreach my $f (@file) { open IN, '<', $f or die "$ME: $f: cannot open for reading: $!\n"; binmode IN; my $dig = ($meth eq 'md5' ? Digest::MD5->new->addfile(*IN)->hexdigest : Digest::SHA1->new->addfile(*IN)->hexdigest); close IN; print "$dig $f\n"; } } print "\n"; } =item C addressing changes between versions C<$prev_version> and C<$curr_version>. =cut sub print_news_deltas ($$$) { my ($news_file, $prev_version, $curr_version) = @_; print "\n$news_file\n\n"; # Print all lines from $news_file, starting with the first one # that mentions $curr_version up to but not including # the first occurrence of $prev_version. my $in_items; my $re_prefix = qr/(?:\* )?(?:Noteworthy c|Major c|C)(?i:hanges)/; open NEWS, '<', $news_file or die "$ME: $news_file: cannot open for reading: $!\n"; while (defined (my $line = )) { if ( ! $in_items) { # Match lines like these: # * Major changes in release 5.0.1: # * Noteworthy changes in release 6.6 (2006-11-22) [stable] $line =~ /^$re_prefix.*(?:[^\d.]|$)\Q$curr_version\E(?:[^\d.]|$)/o or next; $in_items = 1; print $line; } else { # This regexp must not match version numbers in NEWS items. # For example, they might well say `introduced in 4.5.5', # and we don't want that to match. $line =~ /^$re_prefix.*(?:[^\d.]|$)\Q$prev_version\E(?:[^\d.]|$)/o and last; print $line; } } close NEWS; $in_items or die "$ME: $news_file: no matching lines for `$curr_version'\n"; } sub print_changelog_deltas ($$) { my ($package_name, $prev_version) = @_; # Print new ChangeLog entries. # First find all CVS-controlled ChangeLog files. use File::Find; my @changelog; find ({wanted => sub {$_ eq 'ChangeLog' && -d 'CVS' and push @changelog, $File::Find::name}}, '.'); # If there are no ChangeLog files, we're done. @changelog or return; my %changelog = map {$_ => 1} @changelog; # Reorder the list of files so that if there are ChangeLog # files in the specified directories, they're listed first, # in this order: my @dir = qw ( . src lib m4 config doc ); # A typical @changelog array might look like this: # ./ChangeLog # ./po/ChangeLog # ./m4/ChangeLog # ./lib/ChangeLog # ./doc/ChangeLog # ./config/ChangeLog my @reordered; foreach my $d (@dir) { my $dot_slash = $d eq '.' ? $d : "./$d"; my $target = "$dot_slash/ChangeLog"; delete $changelog{$target} and push @reordered, $target; } # Append any remaining ChangeLog files. push @reordered, sort keys %changelog; # Remove leading `./'. @reordered = map { s!^\./!!; $_ } @reordered; print "\nChangeLog entries:\n\n"; # print join ("\n", @reordered), "\n"; $prev_version =~ s/\./_/g; my $prev_cvs_tag = "\U$package_name\E-$prev_version"; my $cmd = "cvs -n diff -u -r$prev_cvs_tag -rHEAD @reordered"; open DIFF, '-|', $cmd or die "$ME: cannot run `$cmd': $!\n"; # Print two types of lines, making minor changes: # Lines starting with `+++ ', e.g., # +++ ChangeLog 22 Feb 2003 16:52:51 -0000 1.247 # and those starting with `+'. # Don't print the others. my $prev_printed_line_empty = 1; while (defined (my $line = )) { if ($line =~ /^\+\+\+ /) { my $separator = "*"x70 ."\n"; $line =~ s///; $line =~ s/\s.*//; $prev_printed_line_empty or print "\n"; print $separator, $line, $separator; } elsif ($line =~ /^\+/) { $line =~ s///; print $line; $prev_printed_line_empty = ($line =~ /^$/); } } close DIFF; # The exit code should be 1. # Allow in case there are no modified ChangeLog entries. $? == 256 || $? == 128 or warn "$ME: warning: `cmd' had unexpected exit code or signal ($?)\n"; } sub get_tool_versions ($$) { my ($tool_list, $gnulib_version) = @_; @$tool_list or return (); my $fail; my @tool_version_pair; foreach my $t (@$tool_list) { if ($t eq 'gnulib') { push @tool_version_pair, ucfirst $t . ' ' . $gnulib_version; next; } # Assume that the last "word" on the first line of # `tool --version` output is the version string. my ($first_line, undef) = split ("\n", `$t --version`); if ($first_line =~ /.* (\d[\w.-]+)$/) { $t = ucfirst $t; push @tool_version_pair, "$t $1"; } else { defined $first_line and $first_line = ''; warn "$ME: $t: unexpected --version output\n:$first_line"; $fail = 1; } } $fail and exit 1; return @tool_version_pair; } { # Neutralize the locale, so that, for instance, "du" does not # issue "1,2" instead of "1.2", what confuses our regexps. $ENV{LC_ALL} = "C"; my $mail_headers; my $release_type; my $package_name; my $prev_version; my $curr_version; my $gpg_key_id; my @url_dir_list; my @news_file; my $bootstrap_tools; my $gnulib_version; my $print_checksums_p = 1; GetOptions ( 'mail-headers=s' => \$mail_headers, 'release-type=s' => \$release_type, 'package-name=s' => \$package_name, 'previous-version=s' => \$prev_version, 'current-version=s' => \$curr_version, 'gpg-key-id=s' => \$gpg_key_id, 'url-directory=s' => \@url_dir_list, 'news=s' => \@news_file, 'bootstrap-tools=s' => \$bootstrap_tools, 'gnulib-version=s' => \$gnulib_version, 'print-checksums!' => \$print_checksums_p, 'archive-suffix=s' => \@archive_suffixes, help => sub { usage 0 }, version => sub { print "$ME version $VERSION\n"; exit }, ) or usage 1; my $fail = 0; # Ensure that sure each required option is specified. $release_type or (warn "$ME: release type not specified\n"), $fail = 1; $package_name or (warn "$ME: package name not specified\n"), $fail = 1; $prev_version or (warn "$ME: previous version string not specified\n"), $fail = 1; $curr_version or (warn "$ME: current version string not specified\n"), $fail = 1; $gpg_key_id or (warn "$ME: GnuPG key ID not specified\n"), $fail = 1; @url_dir_list or (warn "$ME: URL directory name(s) not specified\n"), $fail = 1; my @tool_list = split ',', $bootstrap_tools; grep (/^gnulib$/, @tool_list) ^ defined $gnulib_version and (warn "$ME: when specifying gnulib as a tool, you must also specify\n" . "--gnulib-version=V, where V is the result of running git describe\n" . "in the gnulib source directory.\n"), $fail = 1; exists $valid_release_types{$release_type} or (warn "$ME: `$release_type': invalid release type\n"), $fail = 1; @ARGV and (warn "$ME: too many arguments:\n", join ("\n", @ARGV), "\n"), $fail = 1; $fail and usage 1; my $my_distdir = "$package_name-$curr_version"; my $xd = "$package_name-$prev_version-$curr_version.xdelta"; my @candidates = map { "$my_distdir.$_" } @archive_suffixes; my @tarballs = grep {-f $_} @candidates; @tarballs or die "$ME: none of " . join(', ', @candidates) . " were found\n"; my @sizable = @tarballs; -f $xd and push @sizable, $xd; my %size = sizes (@sizable); %size or exit 1; my $headers = ''; if (defined $mail_headers) { ($headers = $mail_headers) =~ s/\s+(\S+:)/\n$1/g; $headers .= "\n"; } # The markup is escaped as <\# so that when this script is sent by # mail (or part of a diff), Gnus is not triggered. print < FIXME: put comments here EOF print_locations ("compressed sources", @url_dir_list, %size, @tarballs); -f $xd and print_locations ("xdelta diffs (useful? if so, " . "please tell bug-gnulib\@gnu.org)", @url_dir_list, %size, $xd); my @sig_files = map { "$_.sig" } @tarballs; print_locations ("GPG detached signatures[*]", @url_dir_list, %size, @sig_files); if ($url_dir_list[0] =~ "gnu\.org") { print "To reduce load on the main server, use a mirror listed at:\n"; print " http://www.gnu.org/order/ftp.html\n\n"; } $print_checksums_p and print_checksums (@sizable); print <. # Requirements: everything required to bootstrap your package, # plus these: git, cvs, cvsu, rsync, mktemp ME=`basename "$0"` warn() { printf '%s: %s\n' "$ME" "$*" >&2; } die() { warn "$*"; exit 1; } help_version() { case $1 in --help) cat <. EOF exit ;; --version) year=`echo "$VERSION" | sed 's/[^0-9].*//'` cat < This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. EOF exit ;; *) die "unrecognized option: $1";; esac } case $# in 0) ;; 1) help_version $1 ;; *) die "$ME: too many options" ;; esac prev=.prev-version version=$(cat $prev) || die "$ME: no $prev file?" pkg=$(sed -n 's/^PACKAGE = \(.*\)/\1/p' Makefile) || die "$ME: no Makefile?" tmp_branch=web-doc-$version-$$ cleanup() { __st=$?; rm -rf "$tmp" git checkout master git branch -d $tmp_branch exit $__st } trap cleanup 0 trap 'exit $?' 1 2 13 15 # We must build using sources for which --version reports the # just-released version number, not some string like 7.6.18-20761. # That version string propagates into all documentation. git checkout -b $tmp_branch v$version ok=0 ./bootstrap && ./configure && make && make web-manual && ok=1 test $ok = 1 || exit 1 tmp=$(mktemp -d --tmpdir=. web-doc-update.XXXXXX) || exit 1 ( cd $tmp \ && cvs -d $USER@cvs.sv.gnu.org:/webcvs/$pkg co $pkg ) rsync -avP doc/manual/ $tmp/$pkg/manual ( cd $tmp/$pkg/manual # Add any new files: cvsu --types='?'|sed s/..// | xargs --no-run-if-empty -- cvs add -ko cvs ci -m $version ) # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "VERSION=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: parted-2.3/build-aux/gendocs.sh0000744000000000000000000003105511370541031013374 00000000000000#!/bin/sh -e # gendocs.sh -- generate a GNU manual in many formats. This script is # mentioned in maintain.texi. See the help message below for usage details. scriptversion=2010-05-04.09 # Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 # 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 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # # Original author: Mohit Agarwal. # Send bug reports and any other correspondence to bug-texinfo@gnu.org. prog=`basename "$0"` srcdir=`pwd` scripturl="http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~/texinfo/texinfo/util/gendocs.sh" templateurl="http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~/texinfo/texinfo/util/gendocs_template" : ${SETLANG="env LANG= LC_MESSAGES= LC_ALL= LANGUAGE="} : ${MAKEINFO="makeinfo"} : ${TEXI2DVI="texi2dvi -t @finalout"} : ${DVIPS="dvips"} : ${DOCBOOK2HTML="docbook2html"} : ${DOCBOOK2PDF="docbook2pdf"} : ${DOCBOOK2PS="docbook2ps"} : ${DOCBOOK2TXT="docbook2txt"} : ${GENDOCS_TEMPLATE_DIR="."} : ${TEXI2HTML="texi2html"} unset CDPATH unset use_texi2html version="gendocs.sh $scriptversion Copyright 2009 Free Software Foundation, Inc. There is NO warranty. You may redistribute this software under the terms of the GNU General Public License. For more information about these matters, see the files named COPYING." usage="Usage: $prog [OPTION]... PACKAGE MANUAL-TITLE Generate various output formats from PACKAGE.texinfo (or .texi or .txi) source. See the GNU Maintainers document for a more extensive discussion: http://www.gnu.org/prep/maintain_toc.html Options: -s SRCFILE read Texinfo from SRCFILE, instead of PACKAGE.{texinfo|texi|txi} -o OUTDIR write files into OUTDIR, instead of manual/. --email ADR use ADR as contact in generated web pages. --docbook convert to DocBook too (xml, txt, html, pdf and ps). --html ARG pass indicated ARG to makeinfo or texi2html for HTML targets. --texi2html use texi2html to generate HTML targets. --help display this help and exit successfully. --version display version information and exit successfully. Simple example: $prog --email bug-gnu-emacs@gnu.org emacs \"GNU Emacs Manual\" Typical sequence: cd PACKAGESOURCE/doc wget \"$scripturl\" wget \"$templateurl\" $prog --email BUGLIST MANUAL \"GNU MANUAL - One-line description\" Output will be in a new subdirectory \"manual\" (by default, use -o OUTDIR to override). Move all the new files into your web CVS tree, as explained in the Web Pages node of maintain.texi. Please use the --email ADDRESS option to specify your bug-reporting address in the generated HTML pages. MANUAL-TITLE is included as part of the HTML of the overall manual/index.html file. It should include the name of the package being documented. manual/index.html is created by substitution from the file $GENDOCS_TEMPLATE_DIR/gendocs_template. (Feel free to modify the generic template for your own purposes.) If you have several manuals, you'll need to run this script several times with different MANUAL values, specifying a different output directory with -o each time. Then write (by hand) an overall index.html with links to them all. If a manual's Texinfo sources are spread across several directories, first copy or symlink all Texinfo sources into a single directory. (Part of the script's work is to make a tar.gz of the sources.) You can set the environment variables MAKEINFO, TEXI2DVI, and DVIPS to control the programs that get executed, and GENDOCS_TEMPLATE_DIR to control where the gendocs_template file is looked for. (With --docbook, the environment variables DOCBOOK2HTML, DOCBOOK2PDF, DOCBOOK2PS, and DOCBOOK2TXT are also respected.) By default, makeinfo is run in the default (English) locale, since that's the language of most Texinfo manuals. If you happen to have a non-English manual and non-English web site, see the SETLANG setting in the source. Email bug reports or enhancement requests to bug-texinfo@gnu.org. " calcsize() { size=`ls -ksl $1 | awk '{print $1}'` echo $size } MANUAL_TITLE= PACKAGE= EMAIL=webmasters@gnu.org # please override with --email htmlarg= outdir=manual srcfile= while test $# -gt 0; do case $1 in --email) shift; EMAIL=$1;; --help) echo "$usage"; exit 0;; --version) echo "$version"; exit 0;; -s) shift; srcfile=$1;; -o) shift; outdir=$1;; --docbook) docbook=yes;; --html) shift; htmlarg=$1;; --texi2html) use_texi2html=1;; -*) echo "$0: Unknown option \`$1'." >&2 echo "$0: Try \`--help' for more information." >&2 exit 1;; *) if test -z "$PACKAGE"; then PACKAGE=$1 elif test -z "$MANUAL_TITLE"; then MANUAL_TITLE=$1 else echo "$0: extra non-option argument \`$1'." >&2 exit 1 fi;; esac shift done # For most of the following, the base name is just $PACKAGE base=$PACKAGE if test -n "$srcfile"; then # but here, we use the basename of $srcfile base=`basename "$srcfile"` case $base in *.txi|*.texi|*.texinfo) base=`echo "$base"|sed 's/\.[texinfo]*$//'`;; esac PACKAGE=$base elif test -s "$srcdir/$PACKAGE.texinfo"; then srcfile=$srcdir/$PACKAGE.texinfo elif test -s "$srcdir/$PACKAGE.texi"; then srcfile=$srcdir/$PACKAGE.texi elif test -s "$srcdir/$PACKAGE.txi"; then srcfile=$srcdir/$PACKAGE.txi else echo "$0: cannot find .texinfo or .texi or .txi for $PACKAGE in $srcdir." >&2 exit 1 fi if test ! -r $GENDOCS_TEMPLATE_DIR/gendocs_template; then echo "$0: cannot read $GENDOCS_TEMPLATE_DIR/gendocs_template." >&2 echo "$0: it is available from $templateurl." >&2 exit 1 fi case $outdir in /*) dotdot_outdir="$outdir";; *) dotdot_outdir="../$outdir";; esac echo Generating output formats for $srcfile cmd="$SETLANG $MAKEINFO -o $PACKAGE.info \"$srcfile\"" echo "Generating info files... ($cmd)" eval "$cmd" mkdir -p $outdir/ tar czf $outdir/$PACKAGE.info.tar.gz $PACKAGE.info* info_tgz_size=`calcsize $outdir/$PACKAGE.info.tar.gz` # do not mv the info files, there's no point in having them available # separately on the web. cmd="${TEXI2DVI} \"$srcfile\"" echo "Generating dvi ... ($cmd)" eval "$cmd" # now, before we compress dvi: echo Generating postscript... ${DVIPS} $PACKAGE -o gzip -f -9 $PACKAGE.ps ps_gz_size=`calcsize $PACKAGE.ps.gz` mv $PACKAGE.ps.gz $outdir/ # compress/finish dvi: gzip -f -9 $PACKAGE.dvi dvi_gz_size=`calcsize $PACKAGE.dvi.gz` mv $PACKAGE.dvi.gz $outdir/ cmd="${TEXI2DVI} --pdf \"$srcfile\"" echo "Generating pdf ... ($cmd)" eval "$cmd" pdf_size=`calcsize $PACKAGE.pdf` mv $PACKAGE.pdf $outdir/ cmd="$SETLANG $MAKEINFO -o $PACKAGE.txt --no-split --no-headers \"$srcfile\"" echo "Generating ASCII... ($cmd)" eval "$cmd" ascii_size=`calcsize $PACKAGE.txt` gzip -f -9 -c $PACKAGE.txt >$outdir/$PACKAGE.txt.gz ascii_gz_size=`calcsize $outdir/$PACKAGE.txt.gz` mv $PACKAGE.txt $outdir/ html_split() { opt="--split=$1 $htmlarg --node-files" cmd="$SETLANG $TEXI2HTML --output $PACKAGE.html $opt \"$srcfile\"" echo "Generating html by $1... ($cmd)" eval "$cmd" split_html_dir=$PACKAGE.html ( cd ${split_html_dir} || exit 1 ln -sf ${PACKAGE}.html index.html tar -czf $dotdot_outdir/${PACKAGE}.html_$1.tar.gz -- *.html ) eval html_$1_tgz_size=`calcsize $outdir/${PACKAGE}.html_$1.tar.gz` rm -f $outdir/html_$1/*.html mkdir -p $outdir/html_$1/ mv ${split_html_dir}/*.html $outdir/html_$1/ rmdir ${split_html_dir} } if test -z "$use_texi2html"; then opt="--no-split --html -o $PACKAGE.html $htmlarg" cmd="$SETLANG $MAKEINFO $opt \"$srcfile\"" echo "Generating monolithic html... ($cmd)" rm -rf $PACKAGE.html # in case a directory is left over eval "$cmd" html_mono_size=`calcsize $PACKAGE.html` gzip -f -9 -c $PACKAGE.html >$outdir/$PACKAGE.html.gz html_mono_gz_size=`calcsize $outdir/$PACKAGE.html.gz` mv $PACKAGE.html $outdir/ cmd="$SETLANG $MAKEINFO --html -o $PACKAGE.html $htmlarg \"$srcfile\"" echo "Generating html by node... ($cmd)" eval "$cmd" split_html_dir=$PACKAGE.html ( cd ${split_html_dir} || exit 1 tar -czf $dotdot_outdir/${PACKAGE}.html_node.tar.gz -- *.html ) html_node_tgz_size=`calcsize $outdir/${PACKAGE}.html_node.tar.gz` rm -f $outdir/html_node/*.html mkdir -p $outdir/html_node/ mv ${split_html_dir}/*.html $outdir/html_node/ rmdir ${split_html_dir} else cmd="$SETLANG $TEXI2HTML --output $PACKAGE.html $htmlarg \"$srcfile\"" echo "Generating monolithic html... ($cmd)" rm -rf $PACKAGE.html # in case a directory is left over eval "$cmd" html_mono_size=`calcsize $PACKAGE.html` gzip -f -9 -c $PACKAGE.html >$outdir/$PACKAGE.html.gz html_mono_gz_size=`calcsize $outdir/$PACKAGE.html.gz` mv $PACKAGE.html $outdir/ html_split node html_split chapter html_split section fi echo Making .tar.gz for sources... d=`dirname $srcfile` srcfiles=`ls $d/*.texinfo $d/*.texi $d/*.txi $d/*.eps 2>/dev/null` || true tar cvzfh $outdir/$PACKAGE.texi.tar.gz $srcfiles texi_tgz_size=`calcsize $outdir/$PACKAGE.texi.tar.gz` if test -n "$docbook"; then cmd="$SETLANG $MAKEINFO -o - --docbook \"$srcfile\" > ${srcdir}/$PACKAGE-db.xml" echo "Generating docbook XML... ($cmd)" eval "$cmd" docbook_xml_size=`calcsize $PACKAGE-db.xml` gzip -f -9 -c $PACKAGE-db.xml >$outdir/$PACKAGE-db.xml.gz docbook_xml_gz_size=`calcsize $outdir/$PACKAGE-db.xml.gz` mv $PACKAGE-db.xml $outdir/ cmd="${DOCBOOK2HTML} -o $split_html_db_dir ${outdir}/$PACKAGE-db.xml" echo "Generating docbook HTML... ($cmd)" eval "$cmd" split_html_db_dir=html_node_db ( cd ${split_html_db_dir} || exit 1 tar -czf $dotdot_outdir/${PACKAGE}.html_node_db.tar.gz -- *.html ) html_node_db_tgz_size=`calcsize $outdir/${PACKAGE}.html_node_db.tar.gz` rm -f $outdir/html_node_db/*.html mkdir -p $outdir/html_node_db mv ${split_html_db_dir}/*.html $outdir/html_node_db/ rmdir ${split_html_db_dir} cmd="${DOCBOOK2TXT} ${outdir}/$PACKAGE-db.xml" echo "Generating docbook ASCII... ($cmd)" eval "$cmd" docbook_ascii_size=`calcsize $PACKAGE-db.txt` mv $PACKAGE-db.txt $outdir/ cmd="${DOCBOOK2PS} ${outdir}/$PACKAGE-db.xml" echo "Generating docbook PS... ($cmd)" eval "$cmd" gzip -f -9 -c $PACKAGE-db.ps >$outdir/$PACKAGE-db.ps.gz docbook_ps_gz_size=`calcsize $outdir/$PACKAGE-db.ps.gz` mv $PACKAGE-db.ps $outdir/ cmd="${DOCBOOK2PDF} ${outdir}/$PACKAGE-db.xml" echo "Generating docbook PDF... ($cmd)" eval "$cmd" docbook_pdf_size=`calcsize $PACKAGE-db.pdf` mv $PACKAGE-db.pdf $outdir/ fi echo "Writing index file..." if test -z "$use_texi2html"; then CONDS="/%%IF *HTML_SECTION%%/,/%%ENDIF *HTML_SECTION%%/d;\ /%%IF *HTML_CHAPTER%%/,/%%ENDIF *HTML_CHAPTER%%/d" else CONDS="/%%ENDIF.*%%/d;/%%IF *HTML_SECTION%%/d;/%%IF *HTML_CHAPTER%%/d" fi curdate=`$SETLANG date '+%B %d, %Y'` sed \ -e "s!%%TITLE%%!$MANUAL_TITLE!g" \ -e "s!%%EMAIL%%!$EMAIL!g" \ -e "s!%%PACKAGE%%!$PACKAGE!g" \ -e "s!%%DATE%%!$curdate!g" \ -e "s!%%HTML_MONO_SIZE%%!$html_mono_size!g" \ -e "s!%%HTML_MONO_GZ_SIZE%%!$html_mono_gz_size!g" \ -e "s!%%HTML_NODE_TGZ_SIZE%%!$html_node_tgz_size!g" \ -e "s!%%HTML_SECTION_TGZ_SIZE%%!$html_section_tgz_size!g" \ -e "s!%%HTML_CHAPTER_TGZ_SIZE%%!$html_chapter_tgz_size!g" \ -e "s!%%INFO_TGZ_SIZE%%!$info_tgz_size!g" \ -e "s!%%DVI_GZ_SIZE%%!$dvi_gz_size!g" \ -e "s!%%PDF_SIZE%%!$pdf_size!g" \ -e "s!%%PS_GZ_SIZE%%!$ps_gz_size!g" \ -e "s!%%ASCII_SIZE%%!$ascii_size!g" \ -e "s!%%ASCII_GZ_SIZE%%!$ascii_gz_size!g" \ -e "s!%%TEXI_TGZ_SIZE%%!$texi_tgz_size!g" \ -e "s!%%DOCBOOK_HTML_NODE_TGZ_SIZE%%!$html_node_db_tgz_size!g" \ -e "s!%%DOCBOOK_ASCII_SIZE%%!$docbook_ascii_size!g" \ -e "s!%%DOCBOOK_PS_GZ_SIZE%%!$docbook_ps_gz_size!g" \ -e "s!%%DOCBOOK_PDF_SIZE%%!$docbook_pdf_size!g" \ -e "s!%%DOCBOOK_XML_SIZE%%!$docbook_xml_size!g" \ -e "s!%%DOCBOOK_XML_GZ_SIZE%%!$docbook_xml_gz_size!g" \ -e "s,%%SCRIPTURL%%,$scripturl,g" \ -e "s!%%SCRIPTNAME%%!$prog!g" \ -e "$CONDS" \ $GENDOCS_TEMPLATE_DIR/gendocs_template >$outdir/index.html echo "Done, see $outdir/ subdirectory for new files." # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-end: "$" # End: �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������parted-2.3/build-aux/do-release-commit-and-tag������������������������������������������������������0000744�0000000�0000000�00000010501�11370541031�016151� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # In a git/autoconf/automake-enabled project with a NEWS file and a version- # controlled .prev-version file, automate the procedure by which we record # the date, release-type and version string in the NEWS file. That commit # will serve to identify the release, so apply a signed tag to it as well. VERSION=2009-11-06.10 # UTC # Note: this is a bash script (could be zsh or dash) # Copyright (C) 2009, 2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # Written by Jim Meyering ME=`basename "$0"` warn() { printf '%s: %s\n' "$ME" "$*" >&2; } die() { warn "$*"; exit 1; } help_version() { case $1 in --help) cat <<EOF Usage: $ME VERSION RELEASE_TYPE Run this script to perform the final pre-release NEWS update in which the date, release-type and version string are recorded. Commit that result with a log entry marking the release, and apply a signed tag. Run it from your project's the top-level directory. Requirements: - you use git for version-control - a NEWS file, with line 3 identical to this: * Noteworthy changes in release ?.? (????-??-??) [?] - a version-controlled .prev-version file Options: --help print this help, then exit --version print version number, then exit EXAMPLE: To update NEWS and tag the beta 8.1 release of coreutils, I would run this: $ME 8.1 beta Report bugs and patches to <bug-gnulib@gnu.org>. EOF exit ;; --version) year=`echo "$VERSION" | sed 's/[^0-9].*//'` cat <<EOF $ME $VERSION Copyright (C) $year Free Software Foundation, Inc, License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. EOF exit ;; *) die "unrecognized option: $1";; esac } case $# in 1) help_version $1; exit 0;; 2) ;; *) warn "Usage: $ME VERSION TYPE"; exit 1;; esac ver=$1 type=$2 # Verify that $ver looks like a version number, and... echo "$ver"|grep -E '^[0-9][0-9.]*[0-9]$' > /dev/null \ || die "invalid version: $ver" prev_ver=$(cat .prev-version) \ || die 'failed to determine previous version number from .prev-version' # Verify that $ver is sensible (> .prev-version). case $(printf "$prev_ver\n$ver\n"|sort -V -u|tr '\n' ':') in "$prev_ver:$ver:") ;; *) die "invalid version: $ver";; esac case $type in alpha|beta|stable) ;; *) die "invalid release type: $type";; esac # Extract package name from Makefile. pkg=$(sed -n 's/^PACKAGE = \(.*\)/\1/p' Makefile) \ || die 'failed to determine package name from Makefile' # simple check: no question marks on line 3 of NEWS noteworthy='* Noteworthy changes in release' test "$(sed -n 3p NEWS)" = "$noteworthy ?.? (????-??-??) [?]" \ || die 'line 3 of NEWS looks fishy!' # No dirt allowed. case $(git diff-index --name-only HEAD) in '') ;; *) die 'this tree is dirty; commit your changes first';; esac # update NEWS to have today's date, plus desired version number and $type perl -MPOSIX -ni -e 'my $today = strftime "%F", localtime time;' \ -e 'my ($type, $ver) = qw('"$type $ver"');' \ -e 'my $pfx = "'"$noteworthy"'";' \ -e 'print $.==3 ? "$pfx $ver ($today) [$type]\n" : $_' \ NEWS || die 'failed to update NEWS' # Ensure the current branch name is "master": curr_br=$(git rev-parse --symbolic-full-name HEAD) test "$curr_br" = refs/heads/master || die not on master printf "version $ver\n\n* NEWS: Record release date.\n" \ | git commit -F - -a || die 'git commit failed' git tag -s -m "$pkg $ver" v$ver HEAD || die 'git tag failed' # Local variables: # indent-tabs-mode: nil # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "VERSION=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: " # UTC" # End: �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������parted-2.3/build-aux/gitlog-to-changelog������������������������������������������������������������0000744�0000000�0000000�00000012645�11370541031�015177� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}' & eval 'exec perl -wS "$0" $argv:q' if 0; # Convert git log output to ChangeLog format. my $VERSION = '2009-10-30 13:46'; # UTC # The definition above must lie within the first 8 lines in order # for the Emacs time-stamp write hook (at end) to update it. # If you change this file with Emacs, please let the write hook # do its job. Otherwise, update this string manually. # Copyright (C) 2008-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # Written by Jim Meyering use strict; use warnings; use Getopt::Long; use POSIX qw(strftime); (my $ME = $0) =~ s|.*/||; # use File::Coda; # http://meyering.net/code/Coda/ END { defined fileno STDOUT or return; close STDOUT and return; warn "$ME: failed to close standard output: $!\n"; $? ||= 1; } sub usage ($) { my ($exit_code) = @_; my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR); if ($exit_code != 0) { print $STREAM "Try `$ME --help' for more information.\n"; } else { print $STREAM <<EOF; Usage: $ME [OPTIONS] [ARGS] Convert git log output to ChangeLog format. If present, any ARGS are passed to "git log". To avoid ARGS being parsed as options to $ME, they may be preceded by '--'. OPTIONS: --since=DATE convert only the logs since DATE; the default is to convert all log entries. --format=FMT set format string for commit subject and body; see 'man git-log' for the list of format metacharacters; the default is '%s%n%b%n' --help display this help and exit --version output version information and exit EXAMPLE: $ME --since=2008-01-01 > ChangeLog $ME -- -n 5 foo > last-5-commits-to-branch-foo EOF } exit $exit_code; } # If the string $S is a well-behaved file name, simply return it. # If it contains white space, quotes, etc., quote it, and return the new string. sub shell_quote($) { my ($s) = @_; if ($s =~ m![^\w+/.,-]!) { # Convert each single quote to '\'' $s =~ s/\'/\'\\\'\'/g; # Then single quote the string. $s = "'$s'"; } return $s; } sub quoted_cmd(@) { return join (' ', map {shell_quote $_} @_); } { my $since_date = '1970-01-01 UTC'; my $format_string = '%s%n%b%n'; GetOptions ( help => sub { usage 0 }, version => sub { print "$ME version $VERSION\n"; exit }, 'since=s' => \$since_date, 'format=s' => \$format_string, ) or usage 1; my @cmd = (qw (git log --log-size), "--since=$since_date", '--pretty=format:%ct %an <%ae>%n%n'.$format_string, @ARGV); open PIPE, '-|', @cmd or die ("$ME: failed to run `". quoted_cmd (@cmd) ."': $!\n" . "(Is your Git too old? Version 1.5.1 or later is required.)\n"); my $prev_date_line = ''; while (1) { defined (my $in = <PIPE>) or last; $in =~ /^log size (\d+)$/ or die "$ME:$.: Invalid line (expected log size):\n$in"; my $log_nbytes = $1; my $log; my $n_read = read PIPE, $log, $log_nbytes; $n_read == $log_nbytes or die "$ME:$.: unexpected EOF\n"; my @line = split "\n", $log; my $author_line = shift @line; defined $author_line or die "$ME:$.: unexpected EOF\n"; $author_line =~ /^(\d+) (.*>)$/ or die "$ME:$.: Invalid line " . "(expected date/author/email):\n$author_line\n"; my $date_line = sprintf "%s $2\n", strftime ("%F", localtime ($1)); # If this line would be the same as the previous date/name/email # line, then arrange not to print it. if ($date_line ne $prev_date_line) { $prev_date_line eq '' or print "\n"; print $date_line; } $prev_date_line = $date_line; # Omit "Signed-off-by..." lines. @line = grep !/^Signed-off-by: .*>$/, @line; # If there were any lines if (@line == 0) { warn "$ME: warning: empty commit message:\n $date_line\n"; } else { # Remove leading and trailing blank lines. while ($line[0] =~ /^\s*$/) { shift @line; } while ($line[$#line] =~ /^\s*$/) { pop @line; } # Prefix each non-empty line with a TAB. @line = map { length $_ ? "\t$_" : '' } @line; print "\n", join ("\n", @line), "\n"; } defined ($in = <PIPE>) or last; $in ne "\n" and die "$ME:$.: unexpected line:\n$in"; } close PIPE or die "$ME: error closing pipe from " . quoted_cmd (@cmd) . "\n"; # FIXME-someday: include $PROCESS_STATUS in the diagnostic } # Local Variables: # mode: perl # indent-tabs-mode: nil # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "my $VERSION = '" # time-stamp-format: "%:y-%02m-%02d %02H:%02M" # time-stamp-time-zone: "UTC" # time-stamp-end: "'; # UTC" # End: �������������������������������������������������������������������������������������������parted-2.3/build-aux/install-sh���������������������������������������������������������������������0000744�0000000�0000000�00000032725�11370541031�013424� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # install - install a program, script, or datafile scriptversion=2010-02-06.18; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to # deal in the Software without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. nl=' ' IFS=" "" $nl" # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit=${DOITPROG-} if test -z "$doit"; then doit_exec=exec else doit_exec=$doit fi # Put in absolute file names if you don't have them in your path; # or use environment vars. chgrpprog=${CHGRPPROG-chgrp} chmodprog=${CHMODPROG-chmod} chownprog=${CHOWNPROG-chown} cmpprog=${CMPPROG-cmp} cpprog=${CPPROG-cp} mkdirprog=${MKDIRPROG-mkdir} mvprog=${MVPROG-mv} rmprog=${RMPROG-rm} stripprog=${STRIPPROG-strip} posix_glob='?' initialize_posix_glob=' test "$posix_glob" != "?" || { if (set -f) 2>/dev/null; then posix_glob= else posix_glob=: fi } ' posix_mkdir= # Desired mode of installed file. mode=0755 chgrpcmd= chmodcmd=$chmodprog chowncmd= mvcmd=$mvprog rmcmd="$rmprog -f" stripcmd= src= dst= dir_arg= dst_arg= copy_on_change=false no_target_directory= usage="\ Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: --help display this help and exit. --version display version info and exit. -c (ignored) -C install only if different (preserve the last data modification time) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -s $stripprog installed files. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " while test $# -ne 0; do case $1 in -c) ;; -C) copy_on_change=true;; -d) dir_arg=true;; -g) chgrpcmd="$chgrpprog $2" shift;; --help) echo "$usage"; exit $?;; -m) mode=$2 case $mode in *' '* | *' '* | *' '* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac shift;; -o) chowncmd="$chownprog $2" shift;; -s) stripcmd=$stripprog;; -t) dst_arg=$2 shift;; -T) no_target_directory=true;; --version) echo "$0 $scriptversion"; exit $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac shift done if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dst_arg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dst_arg" shift # fnord fi shift # arg dst_arg=$arg done fi if test $# -eq 0; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 fi # It's OK to call `install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi if test -z "$dir_arg"; then do_exit='(exit $ret); exit $ret' trap "ret=129; $do_exit" 1 trap "ret=130; $do_exit" 2 trap "ret=141; $do_exit" 13 trap "ret=143; $do_exit" 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names starting with `-'. case $src in -*) src=./$src;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dst_arg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dst_arg # Protect names starting with `-'. case $dst in -*) dst=./$dst;; esac # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then if test -n "$no_target_directory"; then echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else # Prefer dirname, but fall back on a substitute if dirname fails. dstdir=` (dirname "$dst") 2>/dev/null || expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$dst" : 'X\(//\)[^/]' \| \ X"$dst" : 'X\(//\)$' \| \ X"$dst" : 'X\(/\)' \| . 2>/dev/null || echo X"$dst" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q' ` test -d "$dstdir" dstdir_status=$? fi fi obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 if (umask $mkdir_umask && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writeable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. ls_ld_tmpdir=`ls -ld "$tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/d" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null fi trap '' 0;; esac;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix='/';; -*) prefix='./';; *) prefix='';; esac eval "$initialize_posix_glob" oIFS=$IFS IFS=/ $posix_glob set -f set fnord $dstdir shift $posix_glob set +f IFS=$oIFS prefixes= for d do test -z "$d" && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/_inst.$$_ rmtmp=$dstdir/_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && # If -C, don't bother to copy if it wouldn't change the file. if $copy_on_change && old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && eval "$initialize_posix_glob" && $posix_glob set -f && set X $old && old=:$2:$4:$5:$6 && set X $new && new=:$2:$4:$5:$6 && $posix_glob set +f && test "$old" = "$new" && $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 then rm -f "$dsttmp" else # Rename the file to the real destination. $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. { # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { test ! -f "$dst" || $doit $rmcmd -f "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } fi || exit 1 trap '' 0 fi done # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: �������������������������������������������parted-2.3/.x-sc_GPL_version������������������������������������������������������������������������0000644�0000000�0000000�00000000030�11145340116�012633� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������build-aux/vc-list-files ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������parted-2.3/cfg.mk�����������������������������������������������������������������������������������0000644�0000000�0000000�00000003742�11370314006�010615� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Customize maint.mk -*- makefile -*- # Copyright (C) 2003-2010 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 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # Use alpha.gnu.org for alpha and beta releases. # Use ftp.gnu.org for stable releases. gnu_ftp_host-alpha = alpha.gnu.org gnu_ftp_host-beta = alpha.gnu.org gnu_ftp_host-stable = ftp.gnu.org gnu_rel_host = $(gnu_ftp_host-$(RELEASE_TYPE)) url_dir_list = \ ftp://$(gnu_rel_host)/gnu/parted # Used in maint.mk's web-manual rule manual_title = Parted User's Manual # Tests not to run as part of "make distcheck". # Exclude changelog-check here so that there's less churn in ChangeLog # files -- otherwise, you'd need to have the upcoming version number # at the top of the file for each `make distcheck' run. local-checks-to-skip = \ sc_error_message_uppercase \ sc_error_message_period \ sc_file_system \ sc_prohibit_strcmp \ sc_prohibit_atoi_atof \ sc_require_test_exit_idiom \ sc_space_tab \ sc_texinfo_acronym # Now that we have better (check.mk) tests, make this the default. export VERBOSE = yes old_NEWS_hash = 71570fda344ec276ea5c9ff0ab82fdce include $(srcdir)/dist-check.mk useless_free_options = \ --name=pth_free # Tools used to bootstrap this package, used for "announcement". bootstrap-tools = autoconf,automake,gnulib,gperf update-copyright-env = \ UPDATE_COPYRIGHT_USE_INTERVALS=1 \ UPDATE_COPYRIGHT_MAX_LINE_LENGTH=79 ������������������������������parted-2.3/scripts/���������������������������������������������������������������������������������0000755�0000000�0000000�00000000000�11400006127�011262� 5����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������parted-2.3/scripts/data/����������������������������������������������������������������������������0000755�0000000�0000000�00000000000�11400006127�012173� 5����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������parted-2.3/scripts/data/abi/������������������������������������������������������������������������0000755�0000000�0000000�00000000000�11400006127�012726� 5����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������parted-2.3/scripts/data/abi/baseline_symbols.txt����������������������������������������������������0000644�0000000�0000000�00000026577�11303722522�016770� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������FUNC:__efi_crc32 FUNC:_amiga_add_id FUNC:_amiga_free_ids FUNC:_amiga_id_in_list FUNC:_copy_hidden_sectors FUNC:_fini FUNC:_init FUNC:_ped_device_probe FUNC:_ped_disk_alloc FUNC:_ped_disk_free FUNC:_ped_partition_alloc FUNC:_ped_partition_attempt_align FUNC:_ped_partition_free FUNC:_update_stats FUNC:abs_mod FUNC:amiga_find_part FUNC:ext2_bcache_deinit FUNC:ext2_bcache_dump FUNC:ext2_bcache_flush FUNC:ext2_bcache_flush_range FUNC:ext2_bcache_init FUNC:ext2_bcache_sync FUNC:ext2_bcreate FUNC:ext2_block_relocate FUNC:ext2_bread FUNC:ext2_brelse FUNC:ext2_close FUNC:ext2_commit_metadata FUNC:ext2_copy_block FUNC:ext2_destroy_dev_handle FUNC:ext2_do_inode FUNC:ext2_find_free_block FUNC:ext2_find_free_inode FUNC:ext2_get_block_state FUNC:ext2_get_inode_offset FUNC:ext2_get_inode_state FUNC:ext2_inode_relocate FUNC:ext2_is_group_sparse FUNC:ext2_make_dev_handle_from_parted_geometry FUNC:ext2_metadata_push FUNC:ext2_mkfs FUNC:ext2_move_blocks FUNC:ext2_open FUNC:ext2_read_blocks FUNC:ext2_read_inode FUNC:ext2_resize_fs FUNC:ext2_set_block_state FUNC:ext2_set_inode_state FUNC:ext2_sync FUNC:ext2_write_blocks FUNC:ext2_write_inode FUNC:ext2_zero_blocks FUNC:ext2_zero_inode FUNC:extended_euclid FUNC:fat_alloc FUNC:fat_alloc_buffers FUNC:fat_boot_sector_analyse FUNC:fat_boot_sector_generate FUNC:fat_boot_sector_probe_type FUNC:fat_boot_sector_read FUNC:fat_boot_sector_set_boot_code FUNC:fat_boot_sector_write FUNC:fat_calc_align_sectors FUNC:fat_calc_resize_sizes FUNC:fat_calc_sizes FUNC:fat_check FUNC:fat_check_resize_geometry FUNC:fat_clobber FUNC:fat_close FUNC:fat_cluster_to_frag FUNC:fat_cluster_to_sector FUNC:fat_collect_cluster_info FUNC:fat_copy FUNC:fat_create FUNC:fat_create_fat16 FUNC:fat_create_fat32 FUNC:fat_dir_entry_get_first_cluster FUNC:fat_dir_entry_get_length FUNC:fat_dir_entry_get_name FUNC:fat_dir_entry_has_first_cluster FUNC:fat_dir_entry_is_active FUNC:fat_dir_entry_is_directory FUNC:fat_dir_entry_is_file FUNC:fat_dir_entry_is_null_term FUNC:fat_dir_entry_is_system_file FUNC:fat_dir_entry_set_first_cluster FUNC:fat_duplicate_clusters FUNC:fat_frag_to_cluster FUNC:fat_frag_to_sector FUNC:fat_free FUNC:fat_free_buffers FUNC:fat_get_cluster_flag FUNC:fat_get_cluster_usage FUNC:fat_get_copy_constraint FUNC:fat_get_create_constraint_fat16 FUNC:fat_get_create_constraint_fat32 FUNC:fat_get_fragment_flag FUNC:fat_get_resize_constraint FUNC:fat_info_sector_generate FUNC:fat_info_sector_read FUNC:fat_info_sector_write FUNC:fat_is_fragment_active FUNC:fat_is_sector_in_clusters FUNC:fat_max_cluster_count FUNC:fat_max_cluster_size FUNC:fat_min_cluster_count FUNC:fat_min_cluster_size FUNC:fat_min_reserved_sector_count FUNC:fat_op_context_create_initial_fat FUNC:fat_op_context_destroy FUNC:fat_op_context_map_cluster FUNC:fat_op_context_map_fragment FUNC:fat_op_context_map_static_cluster FUNC:fat_op_context_map_static_fragment FUNC:fat_op_context_new FUNC:fat_open FUNC:fat_probe FUNC:fat_probe_fat16 FUNC:fat_probe_fat32 FUNC:fat_read_cluster FUNC:fat_read_clusters FUNC:fat_read_fragment FUNC:fat_read_fragments FUNC:fat_recommend_min_cluster_size FUNC:fat_resize FUNC:fat_sector_to_cluster FUNC:fat_sector_to_frag FUNC:fat_set_frag_sectors FUNC:fat_table_alloc_check_cluster FUNC:fat_table_alloc_cluster FUNC:fat_table_clear FUNC:fat_table_compare FUNC:fat_table_count_stats FUNC:fat_table_destroy FUNC:fat_table_duplicate FUNC:fat_table_entry_size FUNC:fat_table_get FUNC:fat_table_is_active FUNC:fat_table_is_available FUNC:fat_table_is_bad FUNC:fat_table_is_empty FUNC:fat_table_is_eof FUNC:fat_table_new FUNC:fat_table_read FUNC:fat_table_set FUNC:fat_table_set_avail FUNC:fat_table_set_bad FUNC:fat_table_set_cluster_count FUNC:fat_table_set_eof FUNC:fat_table_write FUNC:fat_table_write_all FUNC:fat_traverse_begin FUNC:fat_traverse_complete FUNC:fat_traverse_directory FUNC:fat_traverse_entries_per_buffer FUNC:fat_traverse_mark_dirty FUNC:fat_traverse_next_dir_entry FUNC:fat_write_cluster FUNC:fat_write_clusters FUNC:fat_write_fragment FUNC:fat_write_fragments FUNC:fat_write_sync_cluster FUNC:fat_write_sync_clusters FUNC:fat_write_sync_fragment FUNC:fat_write_sync_fragments FUNC:findit FUNC:geom_dal_create FUNC:geom_dal_free FUNC:geom_dal_reopen FUNC:hfs_and_wrapper_probe FUNC:hfs_btree_search FUNC:hfs_file_close FUNC:hfs_file_open FUNC:hfs_file_read_sector FUNC:hfs_file_write_sector FUNC:hfs_find_start_pack FUNC:hfs_free_bad_blocks_list FUNC:hfs_get_empty_end FUNC:hfs_is_bad_block FUNC:hfs_pack_free_space_from_block FUNC:hfs_probe FUNC:hfs_read_bad_blocks FUNC:hfs_update_mdb FUNC:hfsc_cache_add_extent FUNC:hfsc_cache_move_extent FUNC:hfsc_cache_search_extent FUNC:hfsc_can_use_geom FUNC:hfsc_delete_cache FUNC:hfsc_new_cache FUNC:hfsj_replay_journal FUNC:hfsj_update_jib FUNC:hfsj_update_jl FUNC:hfsplus_btree_search FUNC:hfsplus_file_close FUNC:hfsplus_file_open FUNC:hfsplus_file_read FUNC:hfsplus_file_write FUNC:hfsplus_find_start_pack FUNC:hfsplus_free_bad_blocks_list FUNC:hfsplus_get_empty_end FUNC:hfsplus_get_min_size FUNC:hfsplus_is_bad_block FUNC:hfsplus_pack_free_space_from_block FUNC:hfsplus_probe FUNC:hfsplus_read_bad_blocks FUNC:hfsplus_update_vh FUNC:hfsx_probe FUNC:mac_alloc FUNC:ped_alignment_align_down FUNC:ped_alignment_align_nearest FUNC:ped_alignment_align_up FUNC:ped_alignment_destroy FUNC:ped_alignment_duplicate FUNC:ped_alignment_init FUNC:ped_alignment_intersect FUNC:ped_alignment_is_aligned FUNC:ped_alignment_new FUNC:ped_assert FUNC:ped_calloc FUNC:ped_constraint_any FUNC:ped_constraint_destroy FUNC:ped_constraint_done FUNC:ped_constraint_duplicate FUNC:ped_constraint_exact FUNC:ped_constraint_init FUNC:ped_constraint_intersect FUNC:ped_constraint_is_solution FUNC:ped_constraint_new FUNC:ped_constraint_new_from_max FUNC:ped_constraint_new_from_min FUNC:ped_constraint_new_from_min_max FUNC:ped_constraint_solve_max FUNC:ped_constraint_solve_nearest FUNC:ped_debug FUNC:ped_debug_set_handler FUNC:ped_device_begin_external_access FUNC:ped_device_check FUNC:ped_device_close FUNC:ped_device_destroy FUNC:ped_device_end_external_access FUNC:ped_device_free_all FUNC:ped_device_get FUNC:ped_device_get_constraint FUNC:ped_device_get_next FUNC:ped_device_is_busy FUNC:ped_device_open FUNC:ped_device_probe_all FUNC:ped_device_read FUNC:ped_device_sync FUNC:ped_device_sync_fast FUNC:ped_device_write FUNC:ped_disk_add_partition FUNC:ped_disk_amiga_done FUNC:ped_disk_amiga_init FUNC:ped_disk_bsd_done FUNC:ped_disk_bsd_init FUNC:ped_disk_check FUNC:ped_disk_clobber FUNC:ped_disk_commit FUNC:ped_disk_commit_to_dev FUNC:ped_disk_commit_to_os FUNC:ped_disk_delete_all FUNC:ped_disk_delete_partition FUNC:ped_disk_destroy FUNC:ped_disk_duplicate FUNC:ped_disk_dvh_done FUNC:ped_disk_dvh_init FUNC:ped_disk_extended_partition FUNC:ped_disk_get_last_partition_num FUNC:ped_disk_get_max_partition_geometry FUNC:ped_disk_get_max_primary_partition_count FUNC:ped_disk_get_partition FUNC:ped_disk_get_partition_by_sector FUNC:ped_disk_get_primary_partition_count FUNC:ped_disk_gpt_done FUNC:ped_disk_gpt_init FUNC:ped_disk_loop_done FUNC:ped_disk_loop_init FUNC:ped_disk_mac_done FUNC:ped_disk_mac_init FUNC:ped_disk_maximize_partition FUNC:ped_disk_minimize_extended_partition FUNC:ped_disk_msdos_done FUNC:ped_disk_msdos_init FUNC:ped_disk_new FUNC:ped_disk_new_fresh FUNC:ped_disk_next_partition FUNC:ped_disk_pc98_done FUNC:ped_disk_pc98_init FUNC:ped_disk_print FUNC:ped_disk_probe FUNC:ped_disk_remove_partition FUNC:ped_disk_set_partition_geom FUNC:ped_disk_sun_done FUNC:ped_disk_sun_init FUNC:ped_disk_type_check_feature FUNC:ped_disk_type_get FUNC:ped_disk_type_get_next FUNC:ped_disk_type_register FUNC:ped_disk_type_unregister FUNC:ped_div_round_to_nearest FUNC:ped_div_round_up FUNC:ped_exception_catch FUNC:ped_exception_fetch_all FUNC:ped_exception_get_option_string FUNC:ped_exception_get_type_string FUNC:ped_exception_leave_all FUNC:ped_exception_rethrow FUNC:ped_exception_set_handler FUNC:ped_exception_throw FUNC:ped_file_system_amiga_done FUNC:ped_file_system_amiga_init FUNC:ped_file_system_check FUNC:ped_file_system_clobber FUNC:ped_file_system_close FUNC:ped_file_system_copy FUNC:ped_file_system_create FUNC:ped_file_system_ext2_done FUNC:ped_file_system_ext2_init FUNC:ped_file_system_fat_done FUNC:ped_file_system_fat_init FUNC:ped_file_system_get_copy_constraint FUNC:ped_file_system_get_create_constraint FUNC:ped_file_system_get_resize_constraint FUNC:ped_file_system_hfs_done FUNC:ped_file_system_hfs_init FUNC:ped_file_system_jfs_done FUNC:ped_file_system_jfs_init FUNC:ped_file_system_linux_swap_done FUNC:ped_file_system_linux_swap_init FUNC:ped_file_system_ntfs_done FUNC:ped_file_system_ntfs_init FUNC:ped_file_system_open FUNC:ped_file_system_probe FUNC:ped_file_system_probe_specific FUNC:ped_file_system_reiserfs_done FUNC:ped_file_system_reiserfs_init FUNC:ped_file_system_resize FUNC:ped_file_system_type_get FUNC:ped_file_system_type_get_next FUNC:ped_file_system_type_register FUNC:ped_file_system_type_unregister FUNC:ped_file_system_ufs_done FUNC:ped_file_system_ufs_init FUNC:ped_file_system_xfs_done FUNC:ped_file_system_xfs_init FUNC:ped_geometry_check FUNC:ped_geometry_destroy FUNC:ped_geometry_duplicate FUNC:ped_geometry_init FUNC:ped_geometry_intersect FUNC:ped_geometry_map FUNC:ped_geometry_new FUNC:ped_geometry_read FUNC:ped_geometry_set FUNC:ped_geometry_set_end FUNC:ped_geometry_set_start FUNC:ped_geometry_sync FUNC:ped_geometry_sync_fast FUNC:ped_geometry_test_equal FUNC:ped_geometry_test_inside FUNC:ped_geometry_test_overlap FUNC:ped_geometry_test_sector_inside FUNC:ped_geometry_write FUNC:ped_get_version FUNC:ped_greatest_common_divisor FUNC:ped_malloc FUNC:ped_partition_destroy FUNC:ped_partition_flag_get_by_name FUNC:ped_partition_flag_get_name FUNC:ped_partition_flag_next FUNC:ped_partition_get_flag FUNC:ped_partition_get_name FUNC:ped_partition_get_path FUNC:ped_partition_is_active FUNC:ped_partition_is_busy FUNC:ped_partition_is_flag_available FUNC:ped_partition_new FUNC:ped_partition_print FUNC:ped_partition_set_flag FUNC:ped_partition_set_name FUNC:ped_partition_set_system FUNC:ped_partition_type_get_name FUNC:ped_realloc FUNC:ped_register_disk_type FUNC:ped_round_down_to FUNC:ped_round_to_nearest FUNC:ped_round_up_to FUNC:ped_set_architecture FUNC:ped_timer_destroy FUNC:ped_timer_destroy_nested FUNC:ped_timer_new FUNC:ped_timer_new_nested FUNC:ped_timer_reset FUNC:ped_timer_set_state_name FUNC:ped_timer_touch FUNC:ped_timer_update FUNC:ped_unit_format FUNC:ped_unit_format_byte FUNC:ped_unit_format_custom FUNC:ped_unit_format_custom_byte FUNC:ped_unit_get_by_name FUNC:ped_unit_get_default FUNC:ped_unit_get_name FUNC:ped_unit_get_size FUNC:ped_unit_parse FUNC:ped_unit_parse_custom FUNC:ped_unit_set_default FUNC:ped_unregister_disk_type FUNC:raw_part_parse NOTYPE:__bss_start NOTYPE:_edata NOTYPE:_end OBJECT:12:linux_disk_ops OBJECT:16:_affs0_type OBJECT:16:_affs1_type OBJECT:16:_affs2_type OBJECT:16:_affs3_type OBJECT:16:_affs4_type OBJECT:16:_affs5_type OBJECT:16:_affs6_type OBJECT:16:_affs7_type OBJECT:16:_amufs0_type OBJECT:16:_amufs1_type OBJECT:16:_amufs2_type OBJECT:16:_amufs3_type OBJECT:16:_amufs4_type OBJECT:16:_amufs5_type OBJECT:16:_amufs_type OBJECT:16:_apfs1_type OBJECT:16:_apfs2_type OBJECT:16:_asfs_type OBJECT:16:fat16_type OBJECT:16:fat32_type OBJECT:1:fat16 OBJECT:24:ops OBJECT:324:xfsstats OBJECT:4:ext2_buffer_cache_pool_size OBJECT:4:ext2_hash_bits OBJECT:4:ext2_relocator_pool_size OBJECT:4:hfs_block OBJECT:4:hfs_block_count OBJECT:4:hfsp_block OBJECT:4:hfsp_block_count OBJECT:4:ped_alignment_any OBJECT:4:ped_alignment_none OBJECT:4:ped_architecture OBJECT:4:ped_exception OBJECT:8:_bitmap OBJECT:8:ped_linux_arch ���������������������������������������������������������������������������������������������������������������������������������parted-2.3/scripts/extract_symvers������������������������������������������������������������������0000744�0000000�0000000�00000004317�11333731662�014413� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Copyright (C) 2002-2003, 2007, 2009-2010 Free Software Foundation, # Inc. # # This file is part of the GNU ISO C++ Library. This library 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 3, or (at your option) # any later version. # # This library 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 library. If not, see <http://www.gnu.org/licenses/>. # # As a special exception, you may use this file as part of a free software # library without restriction. Specifically, if other files instantiate # templates or use macros or inline functions from this file, or you compile # this file and link it with other files to produce an executable, this # file does not by itself cause the resulting executable to be covered by # the GNU General Public License. This exception does not however # invalidate any other reasons why the executable file might be covered by # the GNU General Public License. if test ${#} -lt 2 || test $1 = '--help'; then echo "Usage: extract_symvers shared_lib output_file" 1>&2 exit 1 fi lib=$1 output=$2 # GNU binutils, somewhere after version 2.11.2, requires -W/--wide to avoid # default line truncation. -W is not supported and truncation did not occur # by default before that point. readelf="readelf --symbols" if readelf --help | grep -- --wide > /dev/null; then readelf="$readelf --wide" fi # This avoids weird sorting problems later. LC_ALL=C export LC_ALL LANG=C export LANG tmp=extract.$$ ${readelf} ${lib} | sed '/\.dynsym/,/^$/p;d' | egrep -v ' (LOCAL|UND) ' |\ awk '{ if ($4 == "FUNC" || $4 == "NOTYPE") printf "%s:%s\n", $4, $8; else if ($4 == "OBJECT") printf "%s:%s:%s\n", $4, $3, $8; }' | sort | uniq > $tmp 2>&1 # else printf "Huh? What is %s?\n", $8; # I think we'll be doing some more with this file, but for now, dump. mv $tmp $output exit 0 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������parted-2.3/BUGS�������������������������������������������������������������������������������������0000644�0000000�0000000�00000000366�11370314006�010207� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ Please see the FAQ (available on the web site at http://www.gnu.org/software/parted/) for common bugs from the past and http://alioth.debian.org/parted/ for a bug tracker. ======================================================================= ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������parted-2.3/aclocal.m4�������������������������������������������������������������������������������0000644�0000000�0000000�00000131113�11400005565�011360� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# generated automatically by aclocal 1.11a -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65.70-64f8f],, [m4_warning([this file was generated for autoconf 2.65.70-64f8f. 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'.])]) # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- # # Copyright © 2004 Scott James Remnant <scott@netsplit.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 # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # PKG_PROG_PKG_CONFIG([MIN-VERSION]) # ---------------------------------- AC_DEFUN([PKG_PROG_PKG_CONFIG], [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) fi if test -n "$PKG_CONFIG"; then _pkg_min_version=m4_default([$1], [0.9.0]) AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) PKG_CONFIG="" fi fi[]dnl ])# PKG_PROG_PKG_CONFIG # PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) # # Check to see whether a particular set of modules exists. Similar # to PKG_CHECK_MODULES(), but does not set variables or print errors. # # # Similar to PKG_CHECK_MODULES, make sure that the first instance of # this or PKG_CHECK_MODULES is called, or make sure to call # PKG_CHECK_EXISTS manually # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_EXISTS], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl if test -n "$PKG_CONFIG" && \ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then m4_ifval([$2], [$2], [:]) m4_ifvaln([$3], [else $3])dnl fi]) # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) # --------------------------------------------- m4_define([_PKG_CONFIG], [if test -n "$$1"; then pkg_cv_[]$1="$$1" elif test -n "$PKG_CONFIG"; then PKG_CHECK_EXISTS([$3], [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], [pkg_failed=yes]) else pkg_failed=untried fi[]dnl ])# _PKG_CONFIG # _PKG_SHORT_ERRORS_SUPPORTED # ----------------------------- AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], [AC_REQUIRE([PKG_PROG_PKG_CONFIG]) if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi[]dnl ])# _PKG_SHORT_ERRORS_SUPPORTED # PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], # [ACTION-IF-NOT-FOUND]) # # # Note that if there is a possibility the first call to # PKG_CHECK_MODULES might not happen, you should be sure to include an # explicit call to PKG_PROG_PKG_CONFIG in your configure.ac # # # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_MODULES], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl pkg_failed=no AC_MSG_CHECKING([for $1]) _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) _PKG_CONFIG([$1][_LIBS], [libs], [$2]) m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS and $1[]_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.]) if test $pkg_failed = yes; then _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1` else $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD ifelse([$4], , [AC_MSG_ERROR(dnl [Package requirements ($2) were not met: $$1_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. _PKG_TEXT ])], [AC_MSG_RESULT([no]) $4]) elif test $pkg_failed = untried; then ifelse([$4], , [AC_MSG_FAILURE(dnl [The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. _PKG_TEXT To get pkg-config, see <http://pkg-config.freedesktop.org/>.])], [$4]) else $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS $1[]_LIBS=$pkg_cv_[]$1[]_LIBS AC_MSG_RESULT([yes]) ifelse([$3], , :, [$3]) fi[]dnl ])# PKG_CHECK_MODULES # Copyright (C) 2002, 2003, 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. # 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.11a' 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.11a], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.11a])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # 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` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 9 # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ(2.52)dnl ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl m4_define([_AM_COND_VALUE_$1], [$2])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009, # 2010 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 11 # 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` fi am__universal=false m4_case([$1], [CC], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac], [CXX], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac]) for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE(dependency-tracking, [ --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl AC_SUBST([am__nodep])dnl _AM_SUBST_NOTMAKE([am__nodep])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. #serial 5 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ # Autoconf 2.62 quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` AS_MKDIR_P([$dirpart/$fdir]) # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking # is enabled. FIXME. This creates each `.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006, 2008, 2009 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 16 # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.62])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) AM_MISSING_PROG(AUTOCONF, autoconf) AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) AM_MISSING_PROG(AUTOHEADER, autoheader) AM_MISSING_PROG(MAKEINFO, makeinfo) AC_REQUIRE([AM_PROG_INSTALL_SH])dnl AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl AC_REQUIRE([AM_PROG_MKDIR_P])dnl # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES(CC)], [define([AC_PROG_CC], defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES(CXX)], [define([AC_PROG_CXX], defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], [_AM_DEPENDENCIES(OBJC)], [define([AC_PROG_OBJC], defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl ]) _AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl dnl The `parallel-tests' driver may need to know about EXEEXT, so add the dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro dnl is hooked onto _AC_COMPILER_EXEEXT early, see below. AC_CONFIG_COMMANDS_PRE(dnl [m4_provide_if([_AM_COMPILER_EXEEXT], [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl ]) dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further dnl mangled by Autoconf and run in a shell conditional statement. m4_define([_AC_COMPILER_EXEEXT], m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_arg=$1 _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001, 2003, 2005, 2008 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 if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi AC_SUBST(install_sh)]) # Copyright (C) 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 4 # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from `make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) # Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 6 # AM_PROG_CC_C_O # -------------- # Like AC_PROG_CC_C_O, but changed for automake. AC_DEFUN([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC_C_O])dnl AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([compile])dnl # FIXME: we rely on the cache variable name because # there is no other way. set dummy $CC am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']` eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o if test "$am_t" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi dnl Make sure AC_PROG_CC is never called again, or it will override our dnl setting of CC. m4_define([AC_PROG_CC], [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])]) ]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 6 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it supports --run. # If it does, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= AC_MSG_WARN([`missing' script is too old or missing]) fi ]) # Copyright (C) 2003, 2004, 2005, 2006 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 ]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 Free Software # Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 5 # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # -------------------- # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)]) # _AM_SET_OPTIONS(OPTIONS) # ------------------------ # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008, 2009 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 6 # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[[\\\"\#\$\&\'\`$am_lf]]*) AC_MSG_ERROR([unsafe absolute working directory name]);; esac case $srcdir in *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);; esac # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( for am_try in 1 2; do echo timestamp > conftest.file set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi rm -f conftest.file if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi if test "$[2]" = conftest.file || test $am_try -eq 2; then break fi # Just in case. sleep 1 done test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT(yes)]) # Copyright (C) 2009 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 1 # AM_SILENT_RULES([DEFAULT]) # -------------------------- # Enable less verbose build rules; with the default set to DEFAULT # (`yes' being less verbose, `no' or empty being verbose). AC_DEFUN([AM_SILENT_RULES], [AC_ARG_ENABLE([silent-rules], [ --enable-silent-rules less verbose build output (undo: `make V=1') --disable-silent-rules verbose build output (undo: `make V=0')]) case $enable_silent_rules in yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; esac AC_SUBST([AM_DEFAULT_VERBOSITY])dnl AM_BACKSLASH='\' AC_SUBST([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) # 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], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 3 # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # AM_SUBST_NOTMAKE(VARIABLE) # -------------------------- # Public sister of _AM_SUBST_NOTMAKE. AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004, 2005 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 # 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 <conftest.tar]) grep GrepMe conftest.dir/file >/dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR m4_include([m4/00gnulib.m4]) m4_include([m4/alloca.m4]) m4_include([m4/argmatch.m4]) m4_include([m4/asm-underscore.m4]) m4_include([m4/assert.m4]) m4_include([m4/btowc.m4]) m4_include([m4/calloc.m4]) m4_include([m4/canonicalize.m4]) m4_include([m4/close-stream.m4]) m4_include([m4/close.m4]) m4_include([m4/closeout.m4]) m4_include([m4/codeset.m4]) m4_include([m4/config-h.m4]) m4_include([m4/dirname.m4]) m4_include([m4/dos.m4]) m4_include([m4/double-slash-root.m4]) m4_include([m4/dup2.m4]) m4_include([m4/eealloc.m4]) m4_include([m4/environ.m4]) m4_include([m4/errno_h.m4]) m4_include([m4/error.m4]) m4_include([m4/extensions.m4]) m4_include([m4/fclose.m4]) m4_include([m4/fcntl-o.m4]) m4_include([m4/fcntl_h.m4]) m4_include([m4/fpending.m4]) m4_include([m4/fsync.m4]) m4_include([m4/getopt.m4]) m4_include([m4/gettext.m4]) m4_include([m4/gettimeofday.m4]) m4_include([m4/glibc21.m4]) m4_include([m4/gnulib-common.m4]) m4_include([m4/gnulib-comp.m4]) m4_include([m4/iconv.m4]) m4_include([m4/include_next.m4]) m4_include([m4/inline.m4]) m4_include([m4/intlmacosx.m4]) m4_include([m4/inttypes-pri.m4]) m4_include([m4/inttypes.m4]) m4_include([m4/langinfo_h.m4]) m4_include([m4/lib-ignore.m4]) m4_include([m4/lib-ld.m4]) m4_include([m4/lib-link.m4]) m4_include([m4/lib-prefix.m4]) m4_include([m4/libtool.m4]) m4_include([m4/localcharset.m4]) m4_include([m4/locale-fr.m4]) m4_include([m4/locale-ja.m4]) m4_include([m4/locale-tr.m4]) m4_include([m4/locale-zh.m4]) m4_include([m4/long-options.m4]) m4_include([m4/longlong.m4]) m4_include([m4/lseek.m4]) m4_include([m4/lstat.m4]) m4_include([m4/ltoptions.m4]) m4_include([m4/ltsugar.m4]) m4_include([m4/ltversion.m4]) m4_include([m4/lt~obsolete.m4]) m4_include([m4/malloc.m4]) m4_include([m4/malloca.m4]) m4_include([m4/manywarnings.m4]) m4_include([m4/mbrtowc.m4]) m4_include([m4/mbsinit.m4]) m4_include([m4/mbstate_t.m4]) m4_include([m4/memchr.m4]) m4_include([m4/mkstemp.m4]) m4_include([m4/mmap-anon.m4]) m4_include([m4/mode_t.m4]) m4_include([m4/multiarch.m4]) m4_include([m4/nl_langinfo.m4]) m4_include([m4/nls.m4]) m4_include([m4/o-direct.m4]) m4_include([m4/open.m4]) m4_include([m4/pathmax.m4]) m4_include([m4/po.m4]) m4_include([m4/priv-set.m4]) m4_include([m4/progtest.m4]) m4_include([m4/putenv.m4]) m4_include([m4/quote.m4]) m4_include([m4/quotearg.m4]) m4_include([m4/readlink.m4]) m4_include([m4/realloc.m4]) m4_include([m4/regex.m4]) m4_include([m4/rpmatch.m4]) m4_include([m4/safe-read.m4]) m4_include([m4/setenv.m4]) m4_include([m4/sleep.m4]) m4_include([m4/ssize_t.m4]) m4_include([m4/stat.m4]) m4_include([m4/stdarg.m4]) m4_include([m4/stdbool.m4]) m4_include([m4/stddef_h.m4]) m4_include([m4/stdint.m4]) m4_include([m4/stdio_h.m4]) m4_include([m4/stdlib_h.m4]) m4_include([m4/strdup.m4]) m4_include([m4/strerror.m4]) m4_include([m4/string_h.m4]) m4_include([m4/strndup.m4]) m4_include([m4/strnlen.m4]) m4_include([m4/symlink.m4]) m4_include([m4/sys_stat_h.m4]) m4_include([m4/sys_time_h.m4]) m4_include([m4/tempname.m4]) m4_include([m4/time_h.m4]) m4_include([m4/unistd_h.m4]) m4_include([m4/unlink.m4]) m4_include([m4/unlinkdir.m4]) m4_include([m4/usleep.m4]) m4_include([m4/version-etc.m4]) m4_include([m4/warn-on-use.m4]) m4_include([m4/warnings.m4]) m4_include([m4/wchar_h.m4]) m4_include([m4/wchar_t.m4]) m4_include([m4/wcrtomb.m4]) m4_include([m4/wctob.m4]) m4_include([m4/wctype_h.m4]) m4_include([m4/wint_t.m4]) m4_include([m4/xalloc.m4]) m4_include([m4/xstrndup.m4]) m4_include([m4/xstrtol.m4]) �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������parted-2.3/doc/�������������������������������������������������������������������������������������0000755�0000000�0000000�00000000000�11400006133�010335� 5����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������parted-2.3/doc/fdl.texi�����������������������������������������������������������������������������0000644�0000000�0000000�00000044235�11370314006�011734� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ @node GNU Free Documentation License @appendixsec GNU Free Documentation License @cindex FDL, GNU Free Documentation License @center Version 1.1, March 2000 @display Copyright @copyright{} 2000, 2009-2010 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @end display @enumerate 0 @item PREAMBLE The purpose of this License is to make a manual, textbook, or other written document @dfn{free} in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others. This License is a kind of ``copyleft'', which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software. We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference. @item APPLICABILITY AND DEFINITIONS This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. The ``Document'', below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as ``you''. A ``Modified Version'' of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language. A ``Secondary Section'' is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (For example, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them. The ``Invariant Sections'' are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. The ``Cover Texts'' are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A ``Transparent'' copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup has been designed to thwart or discourage subsequent modification by readers is not Transparent. A copy that is not ``Transparent'' is called ``Opaque''. Examples of suitable formats for Transparent copies include plain @sc{ascii} without markup, Texinfo input format, La@TeX{} input format, @acronym{SGML} or @acronym{XML} using a publicly available @acronym{DTD}, and standard-conforming simple @acronym{HTML} designed for human modification. Opaque formats include PostScript, @acronym{PDF}, proprietary formats that can be read and edited only by proprietary word processors, @acronym{SGML} or @acronym{XML} for which the @acronym{DTD} and/or processing tools are not generally available, and the machine-generated @acronym{HTML} produced by some word processors for output purposes only. The ``Title Page'' means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, ``Title Page'' means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text. @item VERBATIM COPYING You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3. You may also lend copies, under the same conditions stated above, and you may publicly display copies. @item COPYING IN QUANTITY If you publish printed copies of the Document numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects. If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages. If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public. It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document. @item MODIFICATIONS You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version: @enumerate A @item Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission. @item List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has less than five). @item State on the Title page the name of the publisher of the Modified Version, as the publisher. @item Preserve all the copyright notices of the Document. @item Add an appropriate copyright notice for your modifications adjacent to the other copyright notices. @item Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below. @item Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice. @item Include an unaltered copy of this License. @item Preserve the section entitled ``History'', and its title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section entitled ``History'' in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence. @item Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the ``History'' section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission. @item In any section entitled ``Acknowledgments'' or ``Dedications'', preserve the section's title, and preserve in the section all the substance and tone of each of the contributor acknowledgments and/or dedications given therein. @item Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles. @item Delete any section entitled ``Endorsements''. Such a section may not be included in the Modified Version. @item Do not retitle any existing section as ``Endorsements'' or to conflict in title with any Invariant Section. @end enumerate If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles. You may add a section entitled ``Endorsements'', provided it contains nothing but endorsements of your Modified Version by various parties---for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard. You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one. The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version. @item COMBINING DOCUMENTS You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice. The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work. In the combination, you must combine any sections entitled ``History'' in the various original documents, forming one section entitled ``History''; likewise combine any sections entitled ``Acknowledgments'', and any sections entitled ``Dedications''. You must delete all sections entitled ``Endorsements.'' @item COLLECTIONS OF DOCUMENTS You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects. You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document. @item AGGREGATION WITH INDEPENDENT WORKS A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, does not as a whole count as a Modified Version of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an ``aggregate'', and this License does not apply to the other self-contained works thus compiled with the Document, on account of their being thus compiled, if they are not themselves derivative works of the Document. If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Document's Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate. @item TRANSLATION Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License provided that you also include the original English version of this License. In case of a disagreement between the translation and the original English version of this License, the original English version will prevail. @item TERMINATION You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. @item FUTURE REVISIONS OF THIS LICENSE The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See @uref{http://www.gnu.org/copyleft/}. Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License ``or any later version'' applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. @end enumerate @page @appendixsubsec ADDENDUM: How to use this License for your documents To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page: @smallexample @group Copyright (C) @var{year} @var{your name}. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with the Invariant Sections being @var{list their titles}, with the Front-Cover Texts being @var{list}, and with the Back-Cover Texts being @var{list}. A copy of the license is included in the section entitled ``GNU Free Documentation License''. @end group @end smallexample If you have no Invariant Sections, write ``with no Invariant Sections'' instead of saying which ones are invariant. If you have no Front-Cover Texts, write ``no Front-Cover Texts'' instead of ``Front-Cover Texts being @var{list}''; likewise for Back-Cover Texts. If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software. @c Local Variables: @c ispell-local-pdict: "ispell-dict" @c End: �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������parted-2.3/doc/parted.texi��������������������������������������������������������������������������0000644�0000000�0000000�00000111404�11377757431�012463� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������\input texinfo @c -*-texinfo-*- @c %**start of header @setfilename parted.info @settitle Parted User's Manual @include version.texi @paragraphindent 2 @c %**end of header @ifinfo This file documents the use of GNU Parted, a program for creating, resizing, checking and copy partitions and file systems on them. @end ifinfo @ifnottex @c texi2pdf don't understand copying and insertcopying ??? @c modifications must also be done in the titlepage @copying Copyright @copyright{} 1999-2010 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled ``GNU Free Documentation License''. @end copying @c WTF does the info get the copying output and the plaintext output not ???? @ifplaintext @insertcopying @end ifplaintext @end ifnottex @dircategory System administration @direntry * parted: (parted). GNU partitioning software @end direntry @titlepage @title GNU Parted User Manual @subtitle GNU Parted, version @value{VERSION}, @value{UPDATED} @author Andrew Clausen @email{clausen@@gnu.org} @author Richard M. Kreuter @email{kreuter@@anduril.rutgers.edu} @author Leslie Patrick Polzer @email{polzer@@gnu.org} @c @page @c @vskip 0pt plus 1filll @c modifications must also be done in the copying block Copyright @copyright{} 1999-2009 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled ``GNU Free Documentation License''. @end titlepage @ifnottex @node Top @top GNU Parted User Manual @c WTF doesn't texi2html include the titlepage? @ifhtml @insertcopying @end ifhtml This document describes the use of GNU Parted, a program for creating, destroying, resizing, checking and copying hard drive partitions, and the file systems on them. This document applies roughly to version @strong{@value{VERSION}} of GNU Parted. The original version was written by Andrew Clausen in text format. Richard M. Kreuter translated it into Texinfo format in 2002, to be heavily edited by Leslie P. Polzer in 2006. @end ifnottex @shortcontents @menu * Introduction:: Overview * Using Parted:: Partitioning a Hard Drive * Related information:: Further reading on related topics * Copying This Manual:: How to make copies of this manual * History:: This manual's history * Concept index:: Concept index @end menu @node Introduction @chapter Introduction @menu * Overview:: GNU Parted and prerequisite knowledge * Software Required:: GNU Parted's software dependencies * Supported Platforms:: Where you can use GNU Parted * License:: What you may and may not do with GNU Parted * Compiling:: How to build GNU Parted * Static binaries:: How to get and use a static version of GNU Parted @end menu @node Overview @section Overview of GNU Parted @cindex description of parted @cindex overview @cindex parted description @cindex bugs, reporting @cindex reporting bugs @cindex contacting developers GNU Parted is a program for creating, destroying, resizing, checking and copying partitions, and the file systems on them. This is useful for creating space for new operating systems, for reorganizing disk usage, for copying data between hard disks and for ``disk imaging'' --- replicating an installation on another computer. This documentation is written with the assumption that the reader has some understanding of partitioning and file systems. If you want to learn more about these, the upcoming GNU Storage Guide is recommended reading. GNU Parted was designed to minimize the chance of data loss. For example, it was designed to avoid data loss during interruptions (like power failure) and performs many safety checks. However, there could be bugs in GNU Parted, so you should back up your important files before running Parted. Also note that reiserfs support relies on libreiserfs, which does not fulfil the aforementioned requirement. The same holds for any external tools like @kbd{ntfsresize}. The GNU Parted homepage is @uref{http://www.gnu.org/software/parted}. The library and frontend themselves can be downloaded from @uref{ftp://ftp.gnu.org/gnu/parted}. You can also find a listing of mailing lists, notes for contributing and more useful information on the web site. Please send bug reports to @email{bug-parted@@gnu.org}. When sending bug reports, please include the version of GNU Parted. Please include the output from these commands (for disk @file{/dev/hda}): @example @group # @kbd{parted /dev/hda print unit s print unit chs print} @end group @end example Feel free to ask for help on this list --- just check that your question isn't answered here first. If you don't understand the documentation, please tell us, so we can explain it better. General philosophy is: if you need to ask for help, then something needs to be fixed so you (and others) don't need to ask for help. Also, we'd love to hear your ideas :-) @node Software Required @section Software Required for the use of Parted @cindex software dependencies @cindex required software @cindex libuuid @cindex e2fsprogs @cindex readline @cindex gettext If you're installing or compiling Parted yourself, you'll need to have some other programs installed. If you are compiling Parted, you will need both the normal and devel packages of these programs installed: @itemize @bullet @item libuuid, part of the e2fsprogs package. If you don't have this, you can get it from: @uref{http://web.mit.edu/tytso/www/linux/e2fsprogs.html} If you want to compile Parted and e2fsprogs, note that you will need to @kbd{make install} and @kbd{make install-libs} e2fsprogs. @item GNU Readline (optional), available from @uref{ftp://ftp.gnu.org/gnu/readline} If you are compiling Parted, and you don't have readline, you can disable Parted's readline support with the @kbd{--disable-readline} option for @command{configure}. @item GNU gettext (or compatible software) for compilation, if internationalisation support is desired. @uref{ftp://ftp.gnu.org/gnu/gettext} @item libreiserfs, if you want reiserfs support: @uref{http://reiserfs.osdn.org.ua} Note that parted will automatically detect libreiserfs at runtime, and enable reiserfs support. libreiserfs is new, and hasn't been widely tested yet. @end itemize @node Supported Platforms @section Platforms on which GNU Parted runs @cindex supported platforms @cindex platforms, supported Hopefully, this list will grow a lot. If you do not have one of these platforms, then you can use a rescue disk and a static binary of GNU Parted. @xref{Static binaries}. @table @asis @item GNU/Linux Linux versions 2.0 and up, on Alpha, x86 PCs, PC98, Macintosh PowerPC, Sun hardware. @item GNU/Hurd @end table GNU libc 2.1 or higher is required. You can probably use older versions by using the @samp{--disable-nls} option. @xref{Compiling, Building GNU Parted}. (Note: I think we have now dropped this requirement. TODO: check if libc 2.0 works!) @node License @section Terms of distribution for GNU Parted @cindex license terms @cindex terms of distribution @cindex gnu gpl @cindex gpl GNU Parted is free software, covered by the GNU General Public License Version 2. This should have been included with the Parted distribution, in the COPYING file. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. Libparted is considered part of GNU Parted. It is covered by the GNU General Public License. It is NOT released under the GNU Lesser General Public License (LGPL). @node Compiling @section Building GNU Parted @cindex compiling parted @cindex building parted If you want to compile GNU Parted, this is generally done with: @example @group $ @kbd{./configure} $ @kbd{make} @end group @end example However, there are a few options for @command{configure}: @table @code @item --without-readline turns off use of readline. This is useful for making rescue disks, etc., where few libraries are available. @item --disable-debug don't include assertions @item --disable-dynamic-loading disables dynamic loading of some libraries (only libreiserfs for now, although we hope to expand this). Dynamic loading is useful because it allows you to reuse libparted shared libraries even when you don't know if some libraries will be available. It has a small overhead (mainly linking with libdl), so it may be useful to disable it on bootdisks if you don't need the flexibility. @item --disable-fs disable all file system support @item --disable-nls turns off native language support. This is useful for use with old versions of glibc, or a trimmed down version of glibc suitable for rescue disks. @item --disable-shared turns off shared libraries. This may be necessary for use with old versions of GNU libc, if you get a compile error about a ``spilled register''. Also useful for boot/rescue disks. @item --disable-Werror ignore warning messages in compilation @item --enable-discover-only support only reading/probing (reduces size considerably) @item --enable-mtrace enable malloc() debugging @item --enable-read-only disable writing (for debugging) @end table @node Static binaries @section Using static binaries of GNU Parted @cindex static binary @cindex unsupported platforms @cindex resizing root device @subsection Introduction If you want to run GNU Parted on a machine without GNU/Linux installed, or you want to resize a root or boot partition, you will need to use a boot disk. Special boot disk images for GNU Parted used to be available, but with the emergence of a plethora of rescue disks and Live CDs that all include GNU Parted this is no longer necessary. However, please note that these disks often ship with out-of-date versions of Parted. To compensate for this a static binary of the latest GNU Parted version is available, which you can use thus: @c There should be instructions for CD and USB here. @subsection Creating the Parted disk @enumerate @item Boot your system @item Download @file{parted-static-VERSION.tgz} from @uref{ftp://ftp.gnu.org/gnu/parted/static} @item Unpack the tarball, resulting in a file called ``parted.static". @item Insert a floppy. @item Do a low-level format on it (on GNU/Linux this can be achieved with the tool ``fdformat" from the ``util-linux" package. This is basically a sanity check because floppy disks often contain bad blocks. @item Create a file system. Example: @example $ @kbd{parted /dev/fd0 mklabel loop mkpartfs ext2 0 1.4} @end example @item Mount the floppy disk, e.g., @example $ @kbd{mount -t ext2 /dev/fd0 /mnt/floppy} @end example @item Copy @file{parted.static} to the floppy, e.g., @example $ @kbd{cp parted.static /mnt/floppy} @end example @item Unmount the floppy, e.g., @example $ @kbd{umount /mnt/floppy} @end example @end enumerate @subsection Using the Parted disk @enumerate @item Choose a rescue disk that suits you. @item Boot off your rescue disk. Mount the disk you copied Parted onto. @item Run Parted. For example, @example # @kbd{cd /mnt/floppy} # @kbd{./parted-static} @end example @end enumerate @node Using Parted @chapter Using Parted @cindex commands @menu * Partitioning:: Disk partitioning in context * Running Parted:: Partitioning with Parted * Invoking Parted:: Parted's invocation options and commands * Command explanations:: Full explanation of parted's commands @end menu @node Partitioning @section Introduction to Partitioning @cindex partitioning overview Unfortunately, partitioning your disk is rather complicated. This is because there are interactions between many different systems that need to be taken into consideration. This manual used to introduce the reader to these systems and their working. This content has moved to the GNU Storage Guide. @node Running Parted @section Using GNU Parted @cindex modes of use Parted has two modes: command line and interactive. Parted should always be started with: @example # @kbd{parted @var{device}} @end example @noindent where @var{device} is the hard disk device to edit. (If you're lazy and omit the DEVICE argument, Parted will attempt to guess which device you want.) In command line mode, this is followed by one or more commands. For example: @example # @kbd{parted /dev/sda resize 1 52Mb 104Mb mkfs 2 fat16} @end example @noindent Options (like @kbd{--help}) can only be specified on the command line. In interactive mode, commands are entered one at a time at a prompt, and modify the disk immediately. For example: @example (parted) @kbd{resize 1 52.0005Mb 104.5Mb} (parted) @kbd{mkfs 2 fat16} @end example @noindent Unambiguous abbreviations are allowed. For example, you can type ``p'' instead of ``print'', and ``resi'' instead of ``resize''. Commands can be typed either in English, or your native language (if your language has been translated). This may create ambiguities. Commands are case-insensitive. Numbers indicating partition locations can be whole numbers or decimals. The suffix selects the unit, which may be one of those described in @ref{unit}, except CHS and compact. If no suffix is given, then the default unit is assumed. Negative numbers count back from the end of the disk, with ``-1s'' indicating the end of the disk. Parted will compute sensible ranges for the locations you specify (e.g. a range of +/- 500 MB when you specify the location in ``G''). Use the sector unit ``s'' to specify exact locations. If you don't give a parameter to a command, Parted will prompt you for it. For example: @example (parted) @kbd{resize 1} Start? @kbd{0Gb} End? @kbd{40Gb} @end example Parted will always warn you before doing something that is potentially dangerous, unless the command is one of those that is inherently dangerous (viz., rm, mklabel and mkfs). For example, if you attempt to shrink a partition ``too much'' (i.e., by more than the free space available), Parted will automatically reduce the shrinkage so that the partition is the smallest it can be without losing data. If this size is significantly different from the size requested, Parted will warn you. Since many partitioning systems have complicated constraints, Parted will usually do something slightly different to what you asked. (For example, create a partition starting at 10.352Mb, not 10.4Mb) If the calculated values differ too much, Parted will ask you for confirmation. Currently ext3 filesystem functionality does not work. To manage ext3 type filesystems use tools like resize2fs or mke2fs. Note that the currently supported ext2 filesystem will be deprecated once ext3 support is finalized. Further note that ext3 support will have limited functionality that is yet to be defined. Use tools like resize2fs (8) and mke2fs (8) to manage these types of filesystems. @node Invoking Parted @section Command Line Options @cindex options at invocation @cindex commands, overview @cindex invocation options When invoked from the command line, Parted supports the following syntax: @example # @kbd{parted [@var{option}] @var{device} [@var{command} [@var{argument}]]} @end example Available options and commands follow. For detailed explanations of the use of Parted commands, see @ref{Command explanations}. Options begin with a hyphen, commands do not: Options: @table @samp @item -h @itemx --help display a help message @item -s @itemx --script never prompt the user @item -a alignment-type @itemx --align alignment-type Set alignment for newly created partitions, valid alignment types are: none, cylinder, minimal and optimal. @item -v @itemx --version display the version @end table @node Command explanations @section Parted Session Commands @cindex command syntax @cindex detailed command listing @cindex commands, detailed listing GNU Parted provides the following commands: @menu * align-check:: * check:: * cp:: * help:: * mklabel:: * mkfs:: * mkpart:: * mkpartfs:: * move:: * name:: * print:: * quit:: * rescue:: * resize:: * rm:: * select:: * set:: * unit:: @end menu @node align-check @subsection align-check @cindex align-check, command description @cindex command description, align-check @deffn Command align-check @var{align-type} @var{n} Determine whether the starting sector of partition @var{n} meets the disk's selected alignment criteria. @var{align-type} must be @samp{minimal}, @samp{optimal} or an abbreviation. When in script mode, if the partition does not meet the alignment requirement, exit with status 1; otherwise (including on older kernels for which alignment data is not available), continue processing any remaining commands. Without @option{--script}, print either @samp{@var{N} aligned} or @samp{@var{N} not aligned}. Example: @example (parted) @kbd{align-check minimal 1} 1 aligned @end example @end deffn @node check @subsection check @cindex check, command description @cindex command description, check @deffn Command check @var{number} Checks if the file system on partition @var{number} has any errors. Example: @example (parted) @kbd{check 1} @end example Check the file system on partition 1. @end deffn @node cp @subsection cp @cindex cp, command description @cindex command description, cp @deffn Command cp [@var{from-device}] @var{from-number} @var{to-number} Copies the file system on the partition @var{from-number} to partition @var{to-number}, deleting the original contents of the destination partition. An optional device parameter, @var{from-device} can be given, which specifies which device the source partition is on. Supported file systems: @itemize @bullet @item ext2 (provided the destination partition is larger than the source partition) @item fat16, fat32 @item linux-swap (equivalent to mkswap on destination partition) @item reiserfs (if libreiserfs is installed) @end itemize Example: @example (parted) @kbd{cp /dev/hdb 2 3} @end example @c FIXME: this doesn't format right. Copy partition 2 of @file{/dev/hdb} (i.e., @file{/dev/hdb2}) to partition on 3, on the device Parted was loaded with, destroying the original contents of partition 3. @end deffn @node help @subsection help @cindex help, command description @cindex command description, help @deffn Command help [@var{command}] Prints general help, or help on @var{command}. Example: @example (parted) @kbd{help resize} @end example Print help for the resize command. @end deffn @node mklabel @subsection mklabel @cindex mklabel, command description @cindex command description, mkindex @deffn Command mklabel @var{label-type} Creates a new disk label, of type @var{label-type}. The new disk label will have no partitions. This command (normally) won't technically destroy your data, but it will make it basically unusable, and you will need to use the rescue command (@pxref{Related information}) to recover any partitions. Parted works on all partition tables. @footnote{Everyone seems to have a different word for ``disk label'' --- these are all the same thing: partition table, partition map.} @var{label-type} must be one of these supported disk labels: @itemize @bullet @item bsd @item loop (raw disk access) @item gpt @item mac @item msdos @item pc98 @item sun @end itemize Example: @example (parted) @kbd{mklabel msdos} @end example Create an MS-DOS disk label. This is still the most common disk label for PCs. @end deffn @node mkfs @subsection mkfs @cindex mkfs, command description @cindex command description, mkfs @deffn Command mkfs @var{number} @var{fs-type} Makes a file system @var{fs-type} on partition @var{number}, destroying all data that resides on that partition. Supported file systems: @itemize @bullet @item ext2 @item fat16, fat32 @item linux-swap @item reiserfs (if libreiserfs is installed) @end itemize Example: @example (parted) @kbd{mkfs 2 fat32} @end example Make a @var{fat32} file system on partition 2. @end deffn @node mkpart @subsection mkpart @cindex mkpart, command description @cindex command description, mkpart @deffn Command mkpart [@var{part-type} @var{fs-type} @var{name}] @var{start} @var{end} Creates a new partition, @emph{without} creating a new file system on that partition. This is useful for creating partitions for file systems (or LVM, etc.) that Parted doesn't support. You may specify a file system type, to set the appropriate partition code in the partition table for the new partition. @var{fs-type} is required for data partitions (i.e., non-extended partitions). @var{start} and @var{end} are the offset from the beginning of the disk, that is, the ``distance'' from the start of the disk. @var{part-type} is one of @samp{primary}, @samp{extended} or @samp{logical}, and may be specified only with @samp{msdos} or @samp{dvh} partition tables. A @var{name} must be specified for a @samp{gpt} partition table. Neither @var{part-type} nor @var{name} may be used with a @samp{sun} partition table. @var{fs-type} must be one of these supported file systems: @itemize @bullet @item ext2 @item fat16, fat32 @item hfs, hfs+, hfsx @item linux-swap @item NTFS @item reiserfs @item ufs @end itemize Example: @example (parted) @kbd{mkpart logical 0.0 692.1} @end example Create a logical partition that will contain an ext2 file system. The partition will start at the beginning of the disk, and end 692.1 megabytes into the disk. @end deffn @node mkpartfs @subsection mkpartfs @cindex mkpartfs, command description @cindex command description, mkpartfs @deffn Command mkpartfs @var{part-type} @var{fs-type} @var{start} @var{end} Creates a new partition of type @var{part-type} with a new file system of type @var{fs-type} on it. The new partition will start @var{start} megabytes, and end @var{end} megabytes from the beginning of the disk. Do not use this command to recover a deleted partition (use mkpart instead). Using this command is discouraged. Instead use mkpart to create an empty partition, and then use external tools like mke2fs (8) to create the filesystem. @var{part-type} is one of: primary, extended, logical. Extended and logical are only used for msdos and dvh disk labels. @var{fs-type} must be one of these supported file systems: @itemize @bullet @item ext2 @item fat16, fat32 @item linux-swap @item reiserfs (if libreiserfs is installed) @end itemize Example: @example (parted) @kbd{mkpartfs logical ext2 440 670} @end example Make a logical partition and write an ext2 file system, starting 440 megabytes and ending 670 megabytes from the beginning of the disk. @end deffn @node move @subsection move @cindex move, command description @cindex command description, move @deffn Command move @var{number} @var{start} @var{end} Moves partition on the disk, by moving its beginning to @var{start}. You can't move a partition so that the old and new positions overlap. That is, you can only move partitions into free space. If you want to resize a partition in-place, use @command{resize}. Move never changes the partition number. Supported file systems: @itemize @bullet @item ext2 (provided the destination partition is larger than the source partition) @item fat16, fat32 @item linux-swap @item reiserfs (if libreiserfs is installed) @end itemize Example: @example (parted) move 2 150M 500M @end example Move the partition numbered 2 so that it begins 150 megabytes from the start of the disk, and ends 500 megabytes from the start. @end deffn @node name @subsection name @cindex name, command description @cindex command description, name @deffn Command name @var{number} @var{name} Sets the name for the partition @var{number} (GPT, Mac, MIPS and PC98 only). The name can be placed in quotes. Example: @example (parted) @kbd{name 2 'Secret Documents'} @end example Set the name of partition 2 to `Secret Documents'. @end deffn @node print @subsection print @cindex print, command description @cindex command description, print @deffn Command print [@var{number}] Displays the partition table on the device parted is editing, or detailed information about a particular partition. Example: @example @group (parted) @kbd{print} Disk geometry for /dev/hda: 0.000-2445.679 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.031 945.000 primary fat32 boot, lba 2 945.000 2358.562 primary ext2 3 2358.562 2445.187 primary linux-swap (parted) @kbd{print 1} Minor: 1 Flags: boot, lba File System: fat32 Size: 945.000Mb (0%) Minimum size: 84.361Mb (0%) Maximum size: 2445.679Mb (100%) @end group @end example @end deffn @node quit @subsection quit @cindex quit, command description @cindex command description, quit @deffn Command quit Quits Parted. @c RMK: generality: the following will apply to any operating system on @c which parted will run, not only Linux-based ones. @c clausen: yeah... just that the way hurd and linux work are totally @c different, and it's actually very hard to speak in general. Need to @c discuss this more It is only after Parted exits that the Linux kernel knows about the changes Parted has made to the disks. However, the changes caused by typing your commands will @emph{probably} be made to the disk immediately after typing a command. However, the operating system's cache and the disk's hardware cache may delay this. @end deffn @node rescue @subsection rescue @cindex rescue, command description @cindex command description, rescue @deffn Command rescue @var{start} @var{end} Rescue a lost partition that used to be located approximately between @var{start} and @var{end}. If such a partition is found, Parted will ask you if you want to create a partition for it. This is useful if you accidently deleted a partition with parted's rm command, for example. Example: @example (parted) @kbd{print} @group Disk geometry for /dev/hdc: 0.000-8063.507 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.031 8056.032 primary ext3 @end group (parted) @kbd{rm} Partition number? 1 (parted) @kbd{print} @group Disk geometry for /dev/hdc: 0.000-8063.507 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags @end group @end example OUCH! We deleted our ext3 partition!!! Parted comes to the rescue... @example (parted) @kbd{rescue} Start? 0 End? 8056 Information: A ext3 primary partition was found at 0.031MB -> 8056.030MB. Do you want to add it to the partition table? Yes/No/Cancel? @kbd{y} (parted) @kbd{print} @group Disk geometry for /dev/hdc: 0.000-8063.507 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.031 8056.032 primary ext3 @end group @end example It's back! :) @end deffn @node resize @subsection resize @cindex resize, command description @cindex command description, resize @deffn Command resize @var{number} @var{start} @var{end} Resizes the partition with number @var{number}. The partition will start @var{start} from the beginning of the disk, and end @var{end} from the beginning of the disk. resize never changes the partition number. Extended partitions can be resized only so long as the new extended partition completely contains all logical partitions. Note that Parted can manipulate partitions whether or not they have been defragmented, so you do not need to defragment the disk before using Parted. Supported file systems: @itemize @bullet @item ext2 -- restriction: the new @var{start} must be the same as the old @var{start}. @item fat16, fat32 @item hfs, hfs+, hfsx -- restriction: the new @var{start} must be the same as the old @var{start} and the new @var{end} must be smaller than the old @var{end}. @item linux-swap @item reiserfs (if libreiserfs is installed) @end itemize Example: @example (parted) @kbd{resize 3 200M 850M} @end example Resize partition 3, so that it begins 200 megabytes and ends 850 megabytes from the beginning of the disk. @end deffn @node rm @subsection rm @cindex rm, command description @cindex command description, rm @deffn Command rm @var{number} Removes the partition with number @var{number}. If you accidently delete a partition with this command, use mkpart (@emph{not} mkpartfs) to recover it. Also, you can use the gpart program (@pxref{Related information}) to recover damaged disk labels. Note for msdos disk labels: if you delete a logical partition, all logical partitions with a larger partition number will be renumbered. For example, if you delete a logical partition with a partition number of 6, then logical partitions that were number 7, 8 and 9 would be renumbered to 6, 7 and 8 respectively. This means, for example, that you have to update @file{/etc/fstab} on GNU/Linux systems. Example: @example (parted) @kbd{rm 3} @end example Remove partition 3. @end deffn @node select @subsection select @cindex select, command description @cindex command description, select @deffn Command select @var{device} Selects the device, @var{device}, for Parted to edit. The device can be a Linux hard disk device, a partition, a software RAID device or LVM logical volume. Example: @example (parted) @kbd{select /dev/hdb} @end example Select @file{/dev/hdb} (the slave device on the first ide controller on Linux) as the device to edit. @end deffn @node set @subsection set @cindex set, command description @cindex command description, set @deffn Command set @var{number} @var{flag} @var{state} Changes a flag on the partition with number @var{number}. A flag can be either ``on'' or ``off''. Some or all of these flags will be available, depending on what disk label you are using: @table @samp @item bios_grub (GPT) - Enable this to record that the selected partition is a GRUB BIOS partition. @item boot (Mac, MS-DOS, PC98) - should be enabled if you want to boot off the partition. The semantics vary between disk labels. For MS-DOS disk labels, only one partition can be bootable. If you are installing LILO on a partition that partition must be bootable. For PC98 disk labels, all ext2 partitions must be bootable (this is enforced by Parted). @item lba (MS-DOS) - this flag can be enabled to tell MS DOS, MS Windows 9x and MS Windows ME based operating systems to use Linear (LBA) mode. @item root (Mac) - this flag should be enabled if the partition is the root device to be used by Linux. @item swap (Mac) - this flag should be enabled if the partition is the swap device to be used by Linux. @item hidden (MS-DOS, PC98) - this flag can be enabled to hide partitions from Microsoft operating systems. @item raid (MS-DOS) - this flag can be enabled to tell linux the partition is a software RAID partition. @item LVM (MS-DOS) - this flag can be enabled to tell linux the partition is a physical volume. @item PALO (MS-DOS) - this flag can be enabled so that the partition can be used by the Linux/PA-RISC boot loader, palo. @item PREP (MS-DOS) - this flag can be enabled so that the partition can be used as a PReP boot partition on PowerPC PReP or IBM RS6K/CHRP hardware. @item DIAG (MS-DOS) - Enable this to indicate that a partition can be used as a diagnostics / recovery partition. @end table The print command displays all enabled flags for each partition. Example: @example (parted) @kbd{set 1 boot on} @end example Set the @samp{boot} flag on partition 1. @end deffn @node unit @subsection unit @cindex unit, command description @cindex command description, unit @deffn Command unit @var{unit} Selects the current default unit that Parted will use to display locations and capacities on the disk and to interpret those given by the user if they are not suffixed by an @var{unit}. @var{unit} may be one of: @table @samp @item s sector (n bytes depending on the sector size, often 512) @item B byte @item kB kilobyte (1000 bytes) @item MB megabyte (1000000 bytes) @item GB gigabyte (1000000000 bytes) @item TB terabyte (1000000000000 bytes) @item % percentage of the device (between 0 and 100) @item cyl cylinders (related to the BIOS CHS geometry) @item chs cylinders, heads, sectors addressing (related to the BIOS CHS geometry) @item compact This is a special unit that defaults to megabytes for input, and picks a unit that gives a compact human readable representation for output. @end table The default unit apply only for the output and when no unit is specified after an input number. Input numbers can be followed by an unit (without any space or other character between them), in which case this unit apply instead of the default unit for this particular number, but CHS and cylinder units are not supported as a suffix. If no suffix is given, then the default unit is assumed. Parted will compute sensible ranges for the locations you specify (e.g. a range of +/- 500 MB when you specify the location in ``G'') and will select the nearest location in this range from the one you wrote that satisfies constraints from both the operation, the filesystem being worked on, the disk label, other partitions and so on. Use the sector unit ``s'' to specify exact locations (if they do not satisfy all constraints, Parted will ask you for the nearest solution). Note that negative numbers count back from the end of the disk, with ``-1s'' pointing to the end of the disk. Example: @example @group (parted) unit compact (parted) print Disk geometry for /dev/hda: 0kB - 123GB Disk label type: msdos Number Start End Size Type File system Flags 1 32kB 1078MB 1077MB primary reiserfs boot 2 1078MB 2155MB 1078MB primary linux-swap 3 2155MB 123GB 121GB extended 5 2155MB 7452MB 5297MB logical reiserfs @end group @group (parted) unit chs print Disk geometry for /dev/hda: 0,0,0 - 14946,225,62 BIOS cylinder,head,sector geometry: 14946,255,63. Each cylinder is 8225kB. Disk label type: msdos Number Start End Type File system Flags 1 0,1,0 130,254,62 primary reiserfs boot 2 131,0,0 261,254,62 primary linux-swap 3 262,0,0 14945,254,62 extended 5 262,2,0 905,254,62 logical reiserfs @end group @group (parted) unit mb print Disk geometry for /dev/hda: 0MB - 122942MB Disk label type: msdos Number Start End Size Type File system Flags 1 0MB 1078MB 1077MB primary reiserfs boot 2 1078MB 2155MB 1078MB primary linux-swap 3 2155MB 122935MB 120780MB extended 5 2155MB 7452MB 5297MB logical reiserfs @end group @end example @end deffn @node Related information @chapter Related information @cindex further reading @cindex related documentation If you want to find out more information, please see the GNU Parted web site. These files in the Parted distribution contain further information: @itemize @bullet @item @kbd{ABOUT-NLS} - information about using Native Language Support, and the Free Translation Project. @item @kbd{AUTHORS} - who wrote what. @item @kbd{ChangeLog} - record of changes made to Parted. @item @kbd{COPYING} - the GNU General Public License, the terms under which GNU Parted may be distributed. @item @kbd{COPYING.DOC} - the GNU Free Documentation Licence, the term under which Parted's documentation may be distributed. @item @kbd{INSTALL} --- how to compile and install Parted, and most other free software @end itemize @node Copying This Manual @appendix Copying This Manual @menu * GNU Free Documentation License:: License for copying this manual @end menu @include fdl.texi @node History @appendix This manual's history @cindex history of this manual This manual was based on the file @kbd{USER} included in GNU Parted version 1.4.22 source distribution. The GNU Parted source distribution is available at @uref{ftp.gnu.org/gnu/parted}. Initial Texinfo formatting by Richard M. Kreuter, 2002. Maintainance by Andrew Clausen from 2002 to 2005 and by Leslie P. Polzer from July 2005 onwards. This manual is distributed under the GNU Free Documentation License, version 1.1 or later, at your discretion, any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. @xref{Copying This Manual}, for details. @node Concept index @unnumbered Index @printindex cp @bye @ignore Notes by RMK: Notes on possible (unimplemented!) modifications: The output samples from parted's print command, fdisk's p command, etc., might be made into tables (multi-column tables) to ensure spiffy formatting. I'd like to find a way to make *entry: see *synonym type references in the index, so, e.g., to refer people looking for Apple to Macintosh, and PowerPC to Macintosh, etc. Probably texinfo does this already; I dunno. Notes by Leslie: TODO: - add "version" command. - read through and correct. - role of FreeDOS? @end ignore ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������parted-2.3/doc/USER.jp������������������������������������������������������������������������������0000644�0000000�0000000�00000216234�11370314006�011405� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������============================================================================== GNU Parted ÆüËܸìÈÇ ============================================================================== written by Andrew Clausen <clausen@gnu.org> translated by Yoshinori K. Okuji <okuji@gnu.org> Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. Copyright (C) 2001 Yoshinori K. Okuji Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with the no Invariant Sections, with the no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the file, COPYING.DOC. Ìܼ¡ -------- 1 ƳÆþ 2 Parted ¤Î»ÈÍÑ 3 BIOS ¤È¥Õ¥¡¡¼¥à¥¦¥§¥¢ 4 ¥Ö¡¼¥È¡¦¥í¡¼¥À 5 ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à 6 ¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à 7 LVM¡¢¥½¥Õ¥È¥¦¥§¥¢ RAID ¤È ľÀÜŪ¤Ê¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Ø¤Î¥¢¥¯¥»¥¹ 8 ¥Ç¥£¥¹¥¯¡¦¥¤¥á¡¼¥¸¥ó¥° 9 ¤µ¤é¤Ê¤ë¾ðÊó¤È´ØÏ¢¥½¥Õ¥È¥¦¥§¥¢ 1 ƳÆþ 1.1 ɬÍפʥ½¥Õ¥È¥¦¥§¥¢ 1.2 ¥µ¥Ý¡¼¥È¤µ¤ì¤ë¥×¥é¥Ã¥È¥Û¡¼¥à 1.3 ¥é¥¤¥»¥ó¥¹ 1.4 ¥³¥ó¥Ñ¥¤¥ë 1.5 GNU Parted ¥Ö¡¼¥È¡¦¥Ç¥£¥¹¥¯ 2 Parted ¤Î»ÈÍÑ 2.1 Parted ¤Î¼Â¹Ô 2.2 ¥ª¥×¥·¥ç¥ó 2.3 ¥³¥Þ¥ó¥É¤Î³µÍ× 2.4 ¥³¥Þ¥ó¥É¤Î¾ÜºÙ¤Ê²òÀâ 2.5 ¼ÂÎã 3 BIOS ¤È¥Õ¥¡¡¼¥à¥¦¥§¥¢ 3.1 PC BIOS 3.2 Macintosh OpenFirmware 3.3 PC98 BIOS 4 ¥Ö¡¼¥È¡¦¥í¡¼¥À 4.1 LILO (Linux Loader) 4.2 GNU GRUB (GRand Unified Bootloader) 4.3 MS DOS¡¢MS Windows 9x¡¢MS Windows ME 4.4 MS Windows NT 4.5 MS Windows 2000 4.6 Quik 4.7 Yaboot 5 ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à 5.1 GNU/Linux ¤È FreeBSD 5.2 MS Windows ¤È OS/2 5.3 MacOS 6 ¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à 6.1 Ext2 6.2 FAT16 ¤È FAT32 6.3 Reiserfs 7 LVM¡¢¥½¥Õ¥È¥¦¥§¥¢ RAID ¤È ľÀÜŪ¤Ê¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Ø¤Î¥¢¥¯¥»¥¹ 7.1 ¥½¥Õ¥È¥¦¥§¥¢ RAID ¤ä LVM ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÎºîÀ® 7.2 ¥½¥Õ¥È¥¦¥§¥¢ RAID ¤ä LVM ÏÀÍý¥Ü¥ê¥å¡¼¥à¾å¤Î¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥àÁàºî 8 ¥Ç¥£¥¹¥¯¡¦¥¤¥á¡¼¥¸¥ó¥° 9 ¤µ¤é¤Ê¤ë¾ðÊó¤È´ØÏ¢¥½¥Õ¥È¥¦¥§¥¢ ------------------------------------------------------------------------------ 1 ƳÆþ ------------------------------------------------------------------------------ GNU Parted ¤Ï¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ä¤½¤Î¾å¤ËÃÛ¤«¤ì¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òºîÀ®¤·¤¿¤ê¡¢ ÇË´þ¤·¤¿¤ê¡¢Â礭¤µ¤òÊѹ¹¤·¤¿¤ê¡¢¸¡ºº¤·¤¿¤ê¡¢Ê£À½¤¹¤ë¤¿¤á¤Î¥×¥í¥°¥é¥à¤Ç¤¹¡£ ¿·¤·¤¤¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¤ÎÎΰè¤òºîÀ®¤·¤¿¤ê¡¢¥Ç¥£¥¹¥¯¤Î»ÈÍÑË¡¤ò ºÆÊÔÀ®¤·¤¿¤ê¡¢¥Ï¡¼¥É¡¦¥Ç¥£¥¹¥¯´Ö¤Ç¥Ç¡¼¥¿¤ò¥³¥Ô¡¼¤·¤¿¤ê¡¢¤¿¤¯¤µ¤ó¤Î ¥³¥ó¥Ô¥å¡¼¥¿¤Ë·«¤êÊÖ¤·¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿´Ä¶­¤òÊ£À½¤¹¤ë¡Ö¥Ç¥£¥¹¥¯¡¦ ¥¤¥á¡¼¥¸¥ó¥°¡×¤ò¹Ô¤¦¤Î¤Ë¡¢¤³¤ì¤ÏÌò¤ËΩ¤Á¤Þ¤¹¡£ ¤³¤Î²òÀâ¤Ç¤Ï¡¢¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ä¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë´Ø¤¹¤ëÃ챤ò²¾Äꤷ¤Æ¤¤¤Þ¤¹¡£ ¤â¤·¤³¤ì¤é¤ò¤â¤Ã¤ÈÊÙ¶¯¤·¤¿¤±¤ì¤Ð¡¢Partition mini-HOWTO ¤òÆÉ¤à¤ÈÎɤ¤¤Ç¤·¤ç¤¦¡£ ¤½¤ì¤Ï¤­¤Ã¤È¤¢¤Ê¤¿¤Î¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¤«¡¢°Ê²¼¤«¤é ÍøÍѲÄǽ¤Ç¤¹: http://www.linuxdoc.org/HOWTO/mini/Partition/index.html GNU Parted ¤Ï¥Ç¡¼¥¿¤Î»¼º¤Î²ÄǽÀ­¤òºÇ¾®¸Â¤Ëα¤á¤ë¤è¤¦¤ËÀ߷פµ¤ì¤Þ¤·¤¿¡£ Î㤨¤Ð¡¢(ÅÅÎÏÉÔ­¤Î¤è¤¦¤Ê) ¾ã³²¤Î´Ö¤Ë¥Ç¡¼¥¿¤Î»¼º¤¬µ¯¤­¤ë¤Î¤òÈò¤±¤ë ¤è¤¦¤ËÀ߷פµ¤ì¡¢Â¿¤¯¤Î°ÂÁ´¸¡ºº¤ò¹Ô¤¤¤Þ¤¹¡£¤·¤«¤·¡¢Parted ¤Ë¥Ð¥°¤¬¤¢¤ë ¤«¤â¤·¤ì¤Ê¤¤¤Î¤Ç¡¢½ÅÍפʥե¡¥¤¥ë¤ò¥Ð¥Ã¥¯¥¢¥Ã¥×¤·¤Æ¤ª¤¯¤Ù¤­¤Ç¤¹¡£ GNU Parted ¤Î¥Û¡¼¥à¥Ú¡¼¥¸¤Ï www.gnu.org/software/parted ¤Ç¤¹¡£ ftp.gnu.org/gnu/parted ¤«¤é¥À¥¦¥ó¥í¡¼¥É¤Ç¤­¤Þ¤¹¡£ Parted ¤Î¥á¥¤¥ê¥ó¥°¡¦¥ê¥¹¥È¤Ï parted@gnu.org ¤Ç¤¹¡£¹ØÆÉ¤¹¤ë¤Ë¤Ï¡¢Âê̾¤Ë ¡Ösubscribe¡×¤È½ñ¤¤¤Æ bug-parted-request@gnu.org ¤Ë¥á¡¼¥ë¤ò½Ð¤·¤Æ¤¯¤À¤µ¤¤¡£ ¹ØÆÉ¤Î¾ðÊó¤ä¥¢¡¼¥«¥¤¥Ö¤Ï°Ê²¼¤«¤éÍøÍѲÄǽ¤Ç¤¹: http://mail.gnu.org/mailman/listinfo/bug-parted ¥Ð¥°¤ÎÊó¹ð¤ò bug-parted@gnu.org ¤ËÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£¥Ð¥°Êó¹ð¤òÁ÷¤ë¤È¤­¡¢ GNU Parted ¤Î¥Ð¡¼¥¸¥ç¥ó¤ò´Þ¤á¤Æ¤¯¤À¤µ¤¤¡£¤â¤·¤½¤Î¥Ð¥°¤¬¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¡¦ ¥Æ¡¼¥Ö¥ë¤Ë´Ø·¸¤·¤Æ¤¤¤ë¤Ê¤é¡¢¼¡¤Î¥³¥Þ¥ó¥É¤«¤é¤Î½ÐÎϤòÆþ¤ì¤Æ¤¯¤À¤µ¤¤: # fdisk /dev/hda -l # fdisk /dev/hda Command (m for help): p Command (m for help): x Extended command (m for help): p µ¤³Ú¤Ë¤³¤Î¥ê¥¹¥È¤Ë½õ¤±¤òµá¤á¤Æ¤¯¤À¤µ¤¤ - ¤Þ¤º¤¢¤Ê¤¿¤Î¼ÁÌ䤬¤³¤³¤ÇÅú¤¨¤é¤ì ¤Æ¤¤¤Ê¤¤¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£¤â¤·²òÀ⤬ʬ¤«¤é¤Ê¤±¤ì¤Ð¡¢¤â¤Ã¤È¾å¼ê¤¯ ÀâÌÀ¤Ç¤­¤ë¤è¤¦¡¢²æ¡¹¤Ë¶µ¤¨¤Æ¤¯¤À¤µ¤¤¡£°ìÈÌŪ¤Êů³Ø: ¤â¤·¤¢¤Ê¤¿¤¬½õ¤±¤ò µá¤á¤ëɬÍפ¬¤¢¤ë¤Ê¤é¡¢¤¢¤Ê¤¿ (¤ä¾¤Î¿Í¡¹) ¤¬½õ¤±¤òµá¤á¤ëɬÍפ¬¤Ê¤¤¤è¤¦¤Ë¡¢ ²¿¤«¤ò½¤Àµ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤Þ¤¿¡¢²æ¡¹¤Ï¤¢¤Ê¤¿¤Î°Õ¸«¤ò¤È¤Æ¤âʹ¤­¤¿¤¯»×¤Ã¤Æ¤¤¤Þ¤¹ :-) 1.1 ɬÍפʥ½¥Õ¥È¥¦¥§¥¢ ------------------------------------------------------------------------------ * e2fsprogs ¥Ñ¥Ã¥±¡¼¥¸¤Î°ìÉô¤Ç¤¢¤ë¡¢libuuid¡£¤â¤·¤³¤ì¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¤Ê¤é¡¢ http://web.mit.edu/tytso/www/linux/e2fsprogs.html ¤«¤éÆþ¼ê¤Ç¤­¤Þ¤¹¡£ ¤â¤· Parted¡¢¤½¤·¤Æ e2fsprogs ¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤¿¤¤¤Ê¤é¡¢e2fsprogs ¤ò "make install" ¤È "make install-libs" ¤¹¤ëɬÍפ¬¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ * GNU Readline (Ǥ°Õ)¡¢ ftp://ftp.gnu.org/gnu/readline ¤«¤éÆþ¼ê¤Ç¤­¤Þ¤¹¡£ ¤â¤· Parted ¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¤¤¤Æ¡¢readline ¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¤Ê¤é¡¢Parted ¤Î readline ¥µ¥Ý¡¼¥È¤ò ./configure ¤Ø¤Î --disable-readline ¥ª¥×¥·¥ç¥ó¤Ç̵¸ú ¤Ë¤Ç¤­¤Þ¤¹¡£ * ¤â¤·¹ñºÝ²½¥µ¥Ý¡¼¥È¤¬Ë¾¤Þ¤ì¤ë¤Ê¤é¡¢¥³¥ó¥Ñ¥¤¥ëÍÑ¤Ë GNU gettext (¤¢¤ë¤¤¤Ï¡¢¸ß´¹¥½¥Õ¥È¥¦¥§¥¢)¡£ ftp://ftp.gnu.org/gnu/gettext 1.2 ¥µ¥Ý¡¼¥È¤µ¤ì¤ë¥×¥é¥Ã¥È¥Û¡¼¥à ------------------------------------------------------------------------------ ˾¤à¤é¤¯¤Ï¡¢¤³¤Î°ìÍ÷ɽ¤¬¤º¤Ã¤ÈÁýÂ礹¤ë¤³¤È¤ò¡£¤â¤·¤³¤ì¤é¤Î¥×¥é¥Ã¥È¥Û¡¼¥à ¤Î°ì¤Ä¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¤Ê¤é (º£¤Î¤È¤³¤í¤Ï Linux!)¡¢¥Ö¡¼¥È¡¦¥Ç¥£¥¹¥¯¤¬»È¤¨¤Þ¤¹ (¥»¥¯¥·¥ç¥ó 1.5 ¤ò»²¾È) * Linux >= 2.0.x, 2.2.x (Alpha¡¢x86 PC¡¢PC98¡¢Macintosh PowerPC¡¢Sun) Ãí°Õ: GNU libc 2.1 °Ê¾å¤¬É¬ÍפǤ¹¡£¤ª¤½¤é¤¯ --disable-nls ¥ª¥×¥·¥ç¥ó¤ò»ÈÍÑ ¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¤â¤Ã¤È¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤òÍøÍѤǤ­¤Þ¤¹¡£ (Ãð: ¤³¤ÎɬÍ×À­¤ò¤â ¤Ï¤äÀÚ¤êÍî¤È¤·¤¿¤È»×¤¤¤Þ¤¹¡£ ¤ä¤ë¤Ù¤­¤³¤È: libc 2.0 ¤¬Æ°¤¯¤«³Îǧ¤¹¤ë!) 1.3 ¥é¥¤¥»¥ó¥¹ ------------------------------------------------------------------------------ GNU Parted ¤Ï¥Õ¥ê¡¼¥½¥Õ¥È¥¦¥§¥¢¤Ç¤¢¤ê¡¢GNU General Public License ¥Ð¡¼¥¸¥ç¥ó2¤¬Å¬ÍѤµ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤Ï Parted ÇÛÉÛʪ¤È¤È¤â¤Ë¡¢COPYING ¥Õ¥¡¥¤¥ë¤Ë´Þ¤á¤é¤ì¤Æ¤¤¤ë¤Ï¤º¤Ç¤¹¡£¤â¤·¤Ê¤±¤ì¤Ð¡¢ Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA ¤Ë¼ê»æ¤ò½ñ¤¤¤Æ¤¯¤À¤µ¤¤¡£ Ãí¼á: libparted ¤Ï GNU Parted ¤Î°ìÉô¤È¹Í¤¨¤é¤ì¤Æ¤¤¤Þ¤¹¡£¤½¤ì¤Ï GNU General Public License ¤Ë¤è¤Ã¤ÆÊݸ¤ì¤Æ¤¤¤Þ¤¹¡£¤½¤ì¤Ï GNU Lesser General Public License (LGPL) ¤Î²¼¤Ç¤Ï¥ê¥ê¡¼¥¹¤µ¤ì¤Æ¡Ø¤¤¤Þ¤»¤ó¡Ù¡£ 1.4 ¥³¥ó¥Ñ¥¤¥ë ------------------------------------------------------------------------------ GNU Parted ¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤¿¤±¤ì¤Ð¡¢Ä̾盧¤Î¤è¤¦¤Ë¤·¤Æ¹Ô¤ï¤ì¤Þ¤¹: $ ./configure $ make ¤·¤«¤·¡¢./configure ¤ËÂФ·¤Æ¿ô¸Ä¤Î¥ª¥×¥·¥ç¥ó¤¬ÍѰդµ¤ì¤Æ¤¤¤Þ¤¹: --without-readline readline ¤ò»ÈÍѤ·¤Þ¤»¤ó¡£¤³¤ì¤Ï¤¢¤Þ¤ê ¿¤¯¤Î¥é¥¤¥Ö¥é¥ê¤¬ÍøÍѤǤ­¤Ê¤¤¤è¤¦¤Ê¡¢ ¶ÛµÞÍѥǥ£¥¹¥¯¤Ê¤É¤òºîÀ®¤¹¤ë¤Î¤ËÊØÍø¤Ç¤¹¡£ --disable-nls Êì¹ñ¸ì¥µ¥Ý¡¼¥È¤ò¼è¤ê¾Ã¤·¤Þ¤¹¡£¤³¤ì¤Ï glibc ¤Î¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤ä¶ÛµÞÍѥǥ£¥¹¥¯¤Ë Ŭ¤·¤¿¡¢µ¡Ç½¤òºï¸º¤·¤¿glibc ¤È°ì½ï¤Ë»ÈÍÑ ¤¹¤ë¤Î¤ËÊØÍø¤Ç¤¹¡£ --disable-shared ¶¦Í­¥é¥¤¥Ö¥é¥ê¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ï¤â¤· ¡Ö¤³¤ï¤µ¤ì¤¿¥ì¥¸¥¹¥¿ (spilled register)¡× ¤Ë´Ø¤¹¤ë¥³¥ó¥Ñ¥¤¥ë¡¦¥¨¥é¡¼¤ò¼õ¤±¼è¤Ã¤¿¤é¡¢ GNU libc ¤Î¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤È°ì½ï¤Ë»È¤¦¤¿¤á ¤ËɬÍפˤʤ뤫¤â¤·¤ì¤Þ¤»¤ó¡£¥Ö¡¼¥È/¶ÛµÞÍÑ ¥Ç¥£¥¹¥¯¤Ë¤âÍ­ÍѤǤ·¤ç¤¦¡£ --enable-all-static ´°Á´¤ËÀÅŪ¤Ê¥Ð¥¤¥Ê¥ê¤È¤·¤Æ¡¢Parted ¤Î¥Ð¥¤ ¥Ê¥ê¤ò¹½ÃÛ¤·¤Þ¤¹¡£¤³¤ì¤Ï¥Ö¡¼¥È¡¦¥Ç¥£¥¹¥¯¤Ë ÊØÍø¤Ç¡¢¤È¤¤¤¦¤Î¤â¡¢¤¤¤«¤Ê¤ë¥é¥¤¥Ö¥é¥ê¤â ¥Ö¡¼¥È¡¦¥Ç¥£¥¹¥¯¾å¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëɬÍפ¬ ¤Ê¤¤¤«¤é¤Ç¤¹ (¾¤Î¥×¥í¥°¥é¥à¤¬É¬ÍפȤ¹¤ë¤« ¤â¤·¤ì¤Ê¤¤¤±¤É...)¡£Ãí°Õ: strip(1) ¤âÁö¤é ¤»¤¿¤¤¤Ç¤·¤ç¤¦¡£ 1.5 GNU Parted ¥Ö¡¼¥È¡¦¥Ç¥£¥¹¥¯ ------------------------------------------------------------------------------ GNU/Linux ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¤¤Ê¤¤¥Þ¥·¥ó¤Ç Parted ¤ò¼Â¹Ô¤·¤¿¤¤¡¢¤¢¤ë¤¤¤Ï¡¢ ¥ë¡¼¥È¡¦¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ä¥Ö¡¼¥È¡¦¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÎÂ礭¤µ¤òÊѹ¹¤·¤¿¤¤¤Ê¤é¡¢ ¥Ö¡¼¥È¡¦¥Ç¥£¥¹¥¯¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ë¤Ç¤·¤ç¤¦¡£ ¥Ö¡¼¥È¡¦¥Ç¥£¥¹¥¯¤Î¥¤¥á¡¼¥¸¤Ï°Ê²¼¤«¤éÆþ¼ê²Äǽ¤Ç¤¹: ftp://ftp.gnu.org/gnu/parted/bootdisk/partboot.img ¼ÂºÝ¤Ë¥Ö¡¼¥È¡¦¥Ç¥£¥¹¥¯¤òºîÀ®¤¹¤ë¤Ë¤Ï¡¢(GNU/Linux ¤Ç¤Ï) ¤³¤¦ÂǤÁ¹þ¤ó¤Ç ¤¯¤À¤µ¤¤: # dd if=partboot.img of=/dev/fd0 bs=1440k ¤¢¤ë¤¤¤Ï¡¢DOS ¤Ç RAWRITE.EXE ¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£ ÉÔ±¿¤Ë¤â¡¢¤½¤Î¥Ö¡¼¥È¡¦¥Ç¥£¥¹¥¯¤Ï¤¢¤Þ¤ê¹­ÈϰϤΥϡ¼¥É¥¦¥§¥¢¤ò¥µ¥Ý¡¼¥È¤·¤Æ ¤¤¤Þ¤»¤ó¡£¤â¤·¤¢¤Ê¤¿¤Î¥Ï¡¼¥É¡¦¥Ç¥£¥¹¥¯¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¤Ê¤é¡¢¼«Ê¬ÀìÍÑ ¤Î¥Ö¡¼¥È¡¦¥Ç¥£¥¹¥¯¤òºî¤ëɬÍפ¬¤¢¤ë¤Ç¤·¤ç¤¦¡£parted ¤Î¥Ð¥¤¥Ê¥ê¤ò parted ¤Î ¥Ö¡¼¥È¡¦¥Ç¥£¥¹¥¯¤«¤é¾¤Î¥Ç¥£¥¹¥¯¤Ø¥³¥Ô¡¼¤¹¤ë (ÊýË¡¤Ï°Ê²¼¤ÇÀâÌÀ) ¤³¤È¤¬¤Ç¤­ ¤Þ¤¹¤·¡¢Â¾¤Î¥Ö¡¼¥È¡¦¥Ç¥£¥¹¥¯¤ò»î¤·¤¿¤ê¡¢¼«Ê¬ÀìÍѤΤâ¤Î¤òºî¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ ¤¢¤Ä¤é¤¨¤Î parted ¥Ö¡¼¥È¡¦¥Ç¥£¥¹¥¯¤òºî¤ë¤¿¤á¤Î¥·¥§¥ë¡¦¥¹¥¯¥ê¥×¥È¡¢mkparted ¤¬ÊØÍø¤«¤â¤·¤ì¤Þ¤»¤ó¡£¤½¤ì¤Ï¤³¤³¤«¤éÆþ¼ê¤Ç¤­¤Þ¤¹: ftp://ftp.tux.org/pub/people/kent-robotti/mkparted ¥Ö¡¼¥È¡¦¥Ç¥£¥¹¥¯¤«¤é¾¤Î¥Ç¥£¥¹¥¯¤Ø parted ¤ò¥³¥Ô¡¼¤¹¤ë¤Ë¤Ï: (1) Parted ¤Î¥Ö¡¼¥È¡¦¥Ç¥£¥¹¥¯¤Çµ¯Æ°¤·¤Þ¤¹¡£ (2) ¾¤Î (ext2 ¤Î) ¥Õ¥í¥Ã¥Ô¥£¡¦¥Ç¥£¥¹¥¯¤òÁÞÆþ¤·¤Þ¤¹¡£¤â¤·¤½¤ì¤¬¥Õ¥©¡¼¥Þ¥Ã¥È ¤µ¤ì¤Æ¤¤¤Ê¤¤¤Ê¤é¡¢"parted /dev/fd0 mklabel loop mkfs 1 ext2" ¤Ç ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òºîÀ®¤Ç¤­¤Þ¤¹¡£ (3) ¤½¤Î¥Õ¥í¥Ã¥Ô¥£¡¦¥Ç¥£¥¹¥¯¤ò¥Þ¥¦¥ó¥È¤·¤Þ¤¹¡£ ("mount -t ext2 /dev/fd0 /mnt/floppy") (4) /sbin/parted ¤ò¤½¤Î¥Õ¥í¥Ã¥Ô¥£¤Ë¥³¥Ô¡¼¤·¤Þ¤¹¡£ ("cp /sbin/parted /mnt/floppy") (5) /lib/* ¤ò¤½¤Î¥Õ¥í¥Ã¥Ô¥£¤Ë¥³¥Ô¡¼¤·¤Þ¤¹¡£ ("cp /lib/* /mnt/floppy) (6) ¤½¤Î¥Õ¥í¥Ã¥Ô¥£¤ò¥¢¥ó¥Þ¥¦¥ó¥È¤·¤Þ¤¹¡£ ("umount /mnt/floppy") (7) ¤¢¤Ê¤¿¤Î¥Ï¡¼¥É¡¦¥Ç¥£¥¹¥¯¤ò¥µ¥Ý¡¼¥È¡Ø¤·¤Æ¤¤¤ë¡Ù¥Ö¡¼¥È¡¦¥Ç¥£¥¹¥¯¤ò¸«ÉÕ¤± ¤Þ¤¹¡£ (¥Ò¥ó¥È: Â礭¤Ê¥ß¥é¡¼¡¦¥µ¥¤¥È¾å¤Ç¤µ¤Þ¤¶¤Þ¤Ê¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤«¤é ¶ÛµÞÍѥǥ£¥¹¥¯¤òõ¤·¤Æ¤ß¤è¤¦¤È¤·¤Ê¤µ¤¤) (8) ¤¢¤Ê¤¿¤Î¶ÛµÞÍѥǥ£¥¹¥¯¤Çµ¯Æ°¤·¤Þ¤¹¡£ Parted ¤ò¥³¥Ô¡¼¤·¤¿¥Ç¥£¥¹¥¯¤ò ¥Þ¥¦¥ó¥È¤·¤Þ¤¹¡£ (9) Parted ¤ò¼Â¹Ô¤·¤Þ¤¹: # cd /mnt/floppy # LD_LIBRARY_PATH=. ./parted ------------------------------------------------------------------------------ 2 Parted ¤Î»ÈÍÑ ------------------------------------------------------------------------------ ¤¢¤¤¤Ë¤¯¡¢¥Ç¥£¥¹¥¯¤Îʬ³ä¤Ï´öʬº®¤ßÆþ¤Ã¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤Ï¹Íθ¤ËÆþ¤ì¤ëɬÍפΠ¤¢¤ë¡¢¤¿¤¯¤µ¤ó¤Î°Û¤Ê¤Ã¤¿¥·¥¹¥Æ¥à´Ö¤Ç¤ÎÁê¸ßºîÍѤ¬¤¢¤ë¤«¤é¤Ç¤¹: * BIOS ¤ä¥Õ¥¡¡¼¥à¥¦¥§¥¢ - ¥á¥â¥ê¤Î¥Á¥§¥Ã¥¯¤Ê¤É¤ò¹Ô¤¦¡¢¤¢¤Ê¤¿¤Î¥³¥ó¥Ô¥å¡¼¥¿ Æâ¤Î ROM ¥Á¥Ã¥×¤ËÁȤ߹þ¤Þ¤ì¤¿¥×¥í¥°¥é¥à¡£¤³¤Î¥·¥¹¥Æ¥à¤Î¥×¥í¥°¥é¥à¤ò(ÍÆ°×¤Ë¤Ï) Êѹ¹¤Ç¤­¤Þ¤»¤ó¡£BIOS ¤ä¥Õ¥¡¡¼¥à¥¦¥§¥¢¡¦¥×¥í¥°¥é¥à¤ÎÎã: AmiBIOS¡¢Award¡¢ Phoenix¡¢OpenFirmware¡£¤³¤ì¤é¤Î¥×¥í¥°¥é¥à¤Î¤¦¤Á¡¢°ì¤Ä¤À¤±¤ò»ý¤Ã¤Æ¤¤¤ë¤Ç¤·¤ç¤¦¡£ * ¥Ö¡¼¥È¡¦¥í¡¼¥À - »È¤¤¤¿¤¤¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¤òÁªÂò¤¹¤ë¤³¤È¤ò ²Äǽ¤Ë¤·¡¢¤½¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¤ò¥í¡¼¥É¤¹¤ë¥×¥í¥°¥é¥à¡£Îã: LILO¡¢ GRUB¡¢Yaboot¡¢Quik¡£ÆÃ¤ËÊ£¿ô¤Î¼ïÎà¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¤ò¥¤¥ó¥¹¥È¡¼¥ë ¤·¤Æ¤¤¤ë¤Ê¤é¡¢Ê£¿ô¤Î¥Ö¡¼¥È¡¦¥í¡¼¥À¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¤¤ë¤«¤â¤·¤ì¤Þ¤»¤ó * Parted ¤òưºî¤µ¤»¤ë¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à (ÅöºÂ¤Ï¡¢¤³¤ì¤Ï GNU/Linux ¤Ë°ã¤¤¤¢¤ê¤Þ¤»¤ó)¡¢¤½¤·¤Æ¡¢¤¢¤Ê¤¿¤¬»ÈÍѤ¹¤ë¾¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¡£ * ¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Î¼ïÎà - ¥Ç¡¼¥¿¤¬¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë³ÊǼ¤µ¤ì¤ë¼êÃÊ¡£ ¤³¤ì¤é¤ÎÎã¤Ï: ext2¡¢fat¡¢hfs¡¢reiserfs¡£¤·¤Ð¤·¤Ð°Û¤Ê¤ë¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Î ¼ïÎà¤ò´Þ¤à¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò»ý¤Ã¤Æ¤¤¤ë¤Ç¤·¤ç¤¦¡£ Parted ¤Ï¾åµ­¤Î¤¿¤¯¤µ¤ó¤ÎÁȤ߹ç¤ï¤»¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤ª¤ê¡¢¾­Íè¤Ï¤â¤Ã¤È¥µ¥Ý¡¼¥È ¤¹¤ë¤Ç¤·¤ç¤¦¡£¤½¤ì¤æ¤¨¡¢3¾Ï¤¬ BIOS ¤Ë´Ø¤·¤Æ¡¢4¾Ï¤¬¥Ö¡¼¥È¡¦¥í¡¼¥À¤Ë¤Ä¤¤¤Æ¡¢ 5¾Ï¤¬¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¤Ë¤Ä¤¤¤Æ¡¢¤½¤·¤Æ¡¢6¾Ï¤¬¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Ë ¤Ä¤¤¤Æ½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡£ ¤³¤Î¾Ï¤Ï Parted ¤Î»ÈÍÑË¡¤òµ­½Ò¤·¤Æ¤ª¤ê¡¢¤³¤ì¤Ï¤É¤ó¤Ê¥·¥¹¥Æ¥à¤ò»È¤Ã ¤Æ¤¤¤ë¤«¤Ë¤«¤«¤ï¤é¤º¡¢ÂçÂÎÆ±¤¸¤Ç¤¹¡£¤³¤Î¾Ï¤òÆÉ¤ß¡¢¤½¤·¤Æ¡¢3¡¢4¡¢5¤È6¾Ï¡¢ ¤½¤ì¤¾¤ì¤òÆÉ¤à¤Ù¤­¤Ç¤¹¡£¤·¤«¤·¡¢¤¢¤Ê¤¿¤Ë´Ø·¸¤¬¤¢¤ë¥»¥¯¥·¥ç¥ó¤À¤±¤òÆÉ¤àɬÍ× ¤¬¤¢¤ê¤Þ¤¹¡£Î㤨¤Ð¡¢¤â¤·¥Ö¡¼¥È¡¦¥í¡¼¥À¤È¤·¤Æ LILO ¤À¤±¤ò»È¤Ã¤Æ¤¤¤ë¤Ê¤é¡¢ ƳÆþ¤È¡¢4¾Ï¤Î LILO ¤Ë´Ø¤¹¤ë¥»¥¯¥·¥ç¥ó¤À¤±¤òÆÉ¤àɬÍפ¬¤¢¤ê¤Þ¤¹¡£ 2.1 Parted ¤Î¼Â¹Ô ------------------------------------------------------------------------------ Parted ¤ÏÆó¤Ä¤ÎÍͼ°¡¢¥³¥Þ¥ó¥É¡¦¥é¥¤¥ó¤ÈÂÐÏ÷¿¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£Parted ¤Ï¾ï¤Ë ¤³¤Î¤è¤¦¤Ë³«»Ï¤µ¤ì¤ë¤Ù¤­¤Ç¤¹: # parted DEVICE ¤³¤³¤Ç¡¢DEVICE ¤ÏÊÔ½¸¤¹¤ë¥Ï¡¼¥É¡¦¥Ç¥£¥¹¥¯¡¦¥É¥é¥¤¥Ö¤Ç¤¹¡£(¤â¤·¤¢¤Ê¤¿¤¬ÂÕ¤± ¤Æ¤¤¤ë¤Ê¤é¡¢Parted ¤Ï¤É¤Î¥Ç¥Ð¥¤¥¹¤ò˾¤ó¤Ç¤¤¤ë¤Î¤«¡¢¿ä¬¤·¤è¤¦¤È»î¤ß¤Þ¤¹¡£) ¥³¥Þ¥ó¥É¡¦¥é¥¤¥ó¤Î¥â¡¼¥É¤Ç¤Ï¡¢¤³¤Î¸å¤Ë°ì¤Ä¤«¤½¤ì°Ê¾å¤Î¥³¥Þ¥ó¥É¤ò³¤±¤Þ¤¹¡£ Îã: # parted /dev/sda resize 1 52 104 mkfs 2 fat (--help ¤Î¤è¤¦¤Ê) ¥ª¥×¥·¥ç¥ó¤Ï¥³¥Þ¥ó¥É¡¦¥é¥¤¥ó¾å¤Ç¤Î¤ß»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ÂÐÏ÷¿¥â¡¼¥É¤Ç¤Ï¡¢¥³¥Þ¥ó¥É¤Ï°ìÅ٤˰ì¤Ä¤º¤Ä¥×¥í¥ó¥×¥È¤ËÆþÎϤµ¤ì¤Þ¤¹¡£Îã: (parted) resize 1 52.0005 104.5 (parted) mkfs 2 fat Û£Ëæ¤Ç¤Ê¤¤¾Êά¤Ïµö¤µ¤ì¤Þ¤¹¡£Î㤨¤Ð¡¢¡Öprint¡×¤ÎÂå¤ï¤ê¤Ë¡Öp¡×¤ò¡¢¡Öresize¡× ¤ÎÂå¤ï¤ê¤Ë¡Öre¡×¤òÂǤĤ³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥³¥Þ¥ó¥É¤Ï±Ñ¸ì¤Ç¤â¡¢¤¢¤Ê¤¿¤ÎÊì¹ñ¸ì¤Ç¤â ÂǤÁ¹þ¤á¤Þ¤¹ (¤â¤·¤¢¤Ê¤¿¤Î¸À¸ì¤¬ËÝÌõ¤µ¤ì¤Æ¤¤¤ë¤Ê¤é)¡£¤³¤Î¤³¤È¤¬Û£Ë椵¤òÀ¸¤ß ½Ð¤¹¤«¤â¤·¤ì¤Þ¤»¤ó¡£ ¤Þ¤¿¡¢¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î°ÌÃÖ¤ËÂбþ¤¹¤ë¿ô»ú¤Ë¾®¿ô°Ì¤ò»ØÄê¤Ç¤­¤ë¤³¤È¤ËÃí°Õ¤·¤Æ ¤¯¤À¤µ¤¤ (¥á¥¬¥Ð¥¤¥Èñ°Ì¤Ç)¡£ 2.2 ¥ª¥×¥·¥ç¥ó ------------------------------------------------------------------------------ -h, --help ¥Ø¥ë¥×¡¦¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹ -s, --script ·è¤·¤Æ¥æ¡¼¥¶¤Î´³¾Ä¤òÂ¥¤·¤Þ¤»¤ó -v, --version ¥Ð¡¼¥¸¥ç¥ó¤òɽ¼¨¤·¤Þ¤¹ 2.3 ¥³¥Þ¥ó¥É¤Î³µÍ× ------------------------------------------------------------------------------ check MINOR ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë´Êñ¤Ê¸¡ºº¤ò¹Ô¤¤¤Þ¤¹ cp [FROM-DEVICE] FROM-MINOR TO-MINOR ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¾¤Î¥Ñ¡¼¥Æ¥£ ¥·¥ç¥ó¤Ë¥³¥Ô¡¼¤·¤Þ¤¹ help [COMMAND] °ìÈÌŪ¤Ê¥Ø¥ë¥×¤«¡¢COMMAND ¤Ë´Ø¤¹¤ë¥Ø¥ë¥×¤ò ɽ¼¨¤·¤Þ¤¹ mklabel LABEL-TYPE ¿·¤·¤¤¥Ç¥£¥¹¥¯¡¦¥é¥Ù¥ë(¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¡¦ ¥Æ¡¼¥Ö¥ë)¤òºîÀ®¤·¤Þ¤¹ mkfs MINOR FS-TYPE ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó MINOR ¾å¤Ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à FS-TYPE ¤òºîÀ®¤·¤Þ¤¹ mkpart PART-TYPE [FS-TYPE] START END ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºîÀ®¤·¤Þ¤¹ mkpartfs PART-TYPE FS-TYPE START END ¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤È°ì½ï¤Ë¥Ñ¡¼ ¥Æ¥£¥·¥ç¥ó¤òºîÀ®¤·¤Þ¤¹ move MINOR START END ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó MINOR ¤ò°Üư¤·¤Þ¤¹ name MINOR NAME ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó MINOR ¤ò NAME ¤È̾ÉÕ¤±¤Þ¤¹ print ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¡¦¥Æ¡¼¥Ö¥ë¤òɽ¼¨¤·¤Þ¤¹ quit ¥×¥í¥°¥é¥à¤ò½ªÎ»¤·¤Þ¤¹ resize MINOR START END ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó MINOR ¾å¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î Â礭¤µ¤òÊѹ¹¤·¤Þ¤¹ rm MINOR ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó MINOR ¤òºï½ü¤·¤Þ¤¹ select DEVICE ÊÔ½¸¤¹¤ë¥Ç¥Ð¥¤¥¹¤òÁª¤Ó¤Þ¤¹ set MINOR FLAG STATE ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó MINOR ¾å¤Î¥Õ¥é¥°¤òÊѹ¹¤·¤Þ¤¹ FLAG ¤Ï boot¡¢root¡¢swap¡¢hidden¡¢raid¡¢lvm¡¢lba ¤Î¤¦¤Á¤Î°ì¤Ä¤Ç¤¹¡£ FS-TYPE ¤Ï ext2¡¢FAT¡¢hfs¡¢linux-swap¡¢ntfs¡¢reiserfs ¤Î¤¦¤Á¤Î°ì¤Ä¤Ç¤¹¡£ LABEL-TYPE ¤Ï sun¡¢bsd¡¢mac¡¢loop¡¢pc98¡¢msdos¡¢gpt ¤Î¤¦¤Á¤Î°ì¤Ä¤Ç¤¹¡£ MINOR ¤Ï Linux ¤Ë»È¤ï¤ì¤ë¥Ñ¡¼¥Æ¥£¥·¥ç¥óÈÖ¹æ¤Ç¤¹¡£ PART-TYPE ¤Ï primary¡¢logical¡¢extended ¤Î¤¦¤Á¤Î°ì¤Ä¤Ç¤¹¡£ ´ðËÜ (primary) ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ïɸ½àŪ¤Ê¡¢³ÈÄ¥À­¤Î¤Ê¤¤¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ç¤¹¡£ ³ÈÄ¥ (extended) ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï¤¿¤À¾¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¡¢Àµ³Î¤Ë¤ÏÏÀÍý (logical) ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¡¢¤ò´Þ¤à¤À¤±¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ç¤¹¡£¤µ¤é¤Ë¤è¤êÀµ³Î ¤Ë¤Ï¡¢³ÈÄ¥¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï¥Ç¥£¥¹¥¯¡¦¥É¥é¥¤¥Ö¤Î¤è¤¦¤Ë¹½ÃÛ¤µ¤ì¤Æ¤ª¤ê¡¢ ¡Ö´ðËܡץѡ¼¥Æ¥£¥·¥ç¥ó (ÏÀÍý¥Ñ¡¼¥Æ¥£¥·¥ç¥ó) ¤È¡¢Ç¤°Õ¤Ç¡¢Ê̤ΡֳÈÄ¥¡× ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òÊÝ»ý¤·¡¢¤½¤ì¤¬ºÆ¤ÓºÙʬ¤µ¤ì¤Æ ... ºÇÂç¤Ç¤â³ÈÄ¥¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï°ì¤Ä¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¯¤Æ¡¢°ì¤Ä¤Î´ðËÜ ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÎÎΰè¤òÀê¤á¤Þ¤¹¡£¤â¤· msdos ¥Ç¥£¥¹¥¯¡¦¥é¥Ù¥ë¤ò»È¤Ã¤Æ ¤¤¤Ê¤¤¤Ê¤é¡¢´ðËܥѡ¼¥Æ¥£¥·¥ç¥ó¤À¤±¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ START ¤È END ¤Ï¥¼¥í¤«¤é»Ï¤Þ¤ë¡¢¥á¥¬¥Ð¥¤¥È¤Çɽ¤µ¤ì¤Þ¤¹¡£¾®¿ô¤ò»È¤Ã¤Æ¤â ¹½¤¤¤Þ¤»¤ó (Îã: 1258.9)¡£ 2.4 ¥³¥Þ¥ó¥É¤Î¾ÜºÙ¤Ê²òÀâ ------------------------------------------------------------------------------ 2.4.1 check ------------- check MINOR ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë´Êñ¤Ê¸¡ºº¤ò¹Ô¤¤¤Þ¤¹ check ¥³¥Þ¥ó¥É¤Ï¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¥¨¥é¡¼¤¬¤¢¤ë¤«¤É¤¦¤«¤ò¸¡ºº¤·¤Þ¤¹¡£ Îã: (parted) check 1 2.4.2 cp ---------- cp [FROM-DEVICE] FROM-MINOR TO-MINOR ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¾¤Î ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë¥³¥Ô¡¼¤·¤Þ¤¹ ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò¾¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë¥³¥Ô¡¼¤·¡¢¤½¤ÎÌÜŪ¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î ¸µ¡¹¤¢¤Ã¤¿Ãæ¿È¤òºï½ü¤·¤Þ¤¹¡£ºÇ½é¤Î MINOR ÈÖ¹æ¤Ï¸µ¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò»Ø¤·¡¢ ÆóÈÖÌܤÏÌÜŪ¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò»Ø¤·¤Þ¤¹¡£ Ǥ°Õ¤Î¥Ñ¥é¥á¡¼¥¿¤È¤·¤Æ¡¢¥Ç¥Ð¥¤¥¹¤òÍ¿¤¨¤ë¤³¤È¤¬¤Ç¤­¡¢¤½¤ì¤ÏÌÜŪ¤Î ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤¬¤É¤Î¥Ç¥Ð¥¤¥¹¾å¤Ë¤¢¤ë¤«¤ò»ØÄꤷ¤Þ¤¹¡£ ¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à: * ext2 (ÌÜŪ¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤¬¸µ¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤è¤ê¤âÂ礭¤¤¤È¤¤¤¦¾ò·ï¤Ç) * FAT * linux-swap (ÌÜŪ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë¤ª¤±¤ë mkfs ¤ÈÅù²Á) Îã: (parted) cp /dev/hdb 2 3 /dev/hdb ¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó2 (¤Ä¤Þ¤ê¡¢/dev/hdb2) ¤ò¡¢Parted ¤¬¥í¡¼¥É ¤¹¤ë¤È¤­¤Ë»È¤Ã¤¿¥Ç¥Ð¥¤¥¹¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó3¤Ë¥³¥Ô¡¼¤·¡¢¥Ñ¡¼¥Æ¥£¥·¥ç¥ó3 ¤Î°ÊÁ°¤ÎÆâÍÆ¤òÇ˲õ¤·¤Þ¤¹¡£ 2.4.3 help ------------ help [COMMAND] °ìÈÌŪ¤Ê¥Ø¥ë¥×¤«¡¢COMMAND ¤Ë´Ø¤¹¤ë ¥Ø¥ë¥×¤òɽ¼¨¤·¤Þ¤¹ Îã: (parted) help resize 2.4.4 mklabel --------------- mklabel LABEL-TYPE ¿·¤·¤¤¥Ç¥£¥¹¥¯¡¦¥é¥Ù¥ë(¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¡¦ ¥Æ¡¼¥Ö¥ë)¤òºîÀ®¤·¤Þ¤¹ ¿·¤·¤¤¥Ç¥£¥¹¥¯¡¦¥é¥Ù¥ë¤ò¡¢¥¿¥¤¥× LABEL-TYPE ¤ÇºîÀ®¤·¤Þ¤¹¡£¿·¤·¤¤¥Ç¥£¥¹¥¯¡¦ ¥é¥Ù¥ë¤Ï¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò°ì¤Ä¤â»ý¤Á¤Þ¤»¤ó¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï (Ä̾ï¤Ï)¡¢µ»½ÑŪ¤Ë ¸À¤Ã¤Æ¡¢¥Ç¡¼¥¿¤òÇ˲õ¤·¤Þ¤»¤ó¤¬¡¢´ðËÜŪ¤ËÍøÍÑÉÔǽ¤Ë¤·¤Æ¤·¤Þ¤¤¡¢¥Ñ¡¼¥Æ¥£¥·¥ç¥ó ¤ò½¤Éü¤¹¤ë¤Ë¤Ï¡¢gpart (¥»¥¯¥·¥ç¥ó 9 ¤ò»²¾È) ¤Î¤è¤¦¤Ê¥×¥í¥°¥é¥à¤òÍøÍѤ¹¤ëɬÍ× ¤¬¤¢¤ë¤Ç¤·¤ç¤¦¡£(»ä¤ÎÃΤë¸Â¤ê) gpart ¤Ï msdos ¥Ç¥£¥¹¥¯¡¦¥é¥Ù¥ë¤Ë¤À¤±»È¤¨¤Þ¤¹¡£ ²æ¡¹¤Î¤³¤Îµ¡Ç½¤ò Parted ¤Ë²Ã¤¨¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡¢¤¢¤ë¤¤¤Ï¡¢¤¹¤ë¤Ù¤­¤Ç¤·¤ç¤¦¡£ Ãí¼á: ¤ß¤ó¤Ê¡¢¡Ö¥Ç¥£¥¹¥¯¡¦¥é¥Ù¥ë¡×¤Ë°ã¤¦¸ÀÍÕ¤ò»È¤¦¤è¤¦¤Ç¤¹ - °Ê²¼¤ÏÁ´¤ÆÆ±¤¸ ¤â¤Î¤Ç¤¹: ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¡¦¥Æ¡¼¥Ö¥ë¡¢¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¡¦¥Þ¥Ã¥×¡£¤Þ¤¿¡¢x86 ¥Þ¥·¥ó ¾å¤Î¥Þ¥¹¥¿¡¼¡¦¥Ö¡¼¥È¡¦¥ì¥³¡¼¥É¤Ï¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¡¦¥Æ¡¼¥Ö¥ë¤ÈƱ¤¸¥»¥¯¥¿¤Ë¼ý¤á¤é ¤ì¤Æ¤¤¤Þ¤¹ (Parted ¤ò»ÈÍѤ¹¤ë¤Î¤Ë¤³¤Î¤³¤È¤òÃΤëɬÍפϤ¢¤ê¤Þ¤»¤ó)¡£ ¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥Ç¥£¥¹¥¯¡¦¥é¥Ù¥ë: * bsd * loop (ľÀÜŪ¤Ê¥Ç¥£¥¹¥¯¡¦¥¢¥¯¥»¥¹) * gpt * mac * msdos * pc98 * sun Îã: (parted) mklabel msdos 2.4.5 mkfs ------------ mkfs MINOR FS-TYPE ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó MINOR ¾å¤Ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à FS-TYPE ¤òºîÀ®¤·¤Þ¤¹ ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¾å¤Ë¿·¤·¤¤¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òºîÀ®¤·¡¢¤½¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë ¸ºß¤¹¤ë¥Ç¡¼¥¿¤òÁ´¤ÆÇ˲õ¤·¤Þ¤¹¡£ ¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à: * ext2 * FAT * linux-swap Îã: (parted) mkfs 2 fat 2.4.6 mkpart -------------- mkpart PART-TYPE [FS-TYPE] START END (¿·µ¬¤Î)¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò ºî¤é¤º¤Ë¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºî À®¤·¤Þ¤¹¡£¥Ç¡¼¥¿¡¦¥Ñ¡¼¥Æ¥£ ¥·¥ç¥ó¤Ç¤Ï¡¢FS-TYPE ¤¬É¬Í× ¤È¤µ¤ì¤Þ¤¹ ¿·¤·¤¤¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òºîÀ®¡Ø¤»¤º¤Ë¡Ù¡¢¿·¤·¤¤¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºîÀ®¤·¤Þ¤¹¡£ ¤³¤ì¤Ï¶öÁ³¤Ëºï½ü¤·¤Æ¤·¤Þ¤Ã¤¿¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò²óÉü¤¹¤ë¤Î¤ËÌò¤ËΩ¤Á¤Þ¤¹¡£ PART-TYPE ¤Ï¤³¤Î¤¦¤Á¤Î°ì¤Ä¤Ç¤¹: primary (´ðËÜ)¡¢extended (³ÈÄ¥)¡¢ logical (ÏÀÍý)¡£extended ¤È logical ¤Ï msdos ¥Ç¥£¥¹¥¯¡¦¥é¥Ù¥ë¤ËÂФ·¤Æ¤Î¤ß »ÈÍѤ·¤Þ¤¹¡£ ¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à: * ext2 * FAT * HFS * linux-swap * NTFS * reiserfs Îã: (parted) mkpart logical ext2 0.0 692.1 2.4.7 mkpartfs ---------------- mkpartfs PART-TYPE FS-TYPE START END ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤È°ì½ï¤Ë ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºîÀ®¤·¤Þ¤¹ ¿·¤·¤¤¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥àÉÕ¤­¤Ç¿·¤·¤¤¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºîÀ®¤·¤Þ¤¹¡£ºï½ü¤·¤Æ ¤·¤Þ¤Ã¤¿¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò²óÉü¤µ¤»¤ë¤Î¤Ë¡¢¤³¤Î¥³¥Þ¥ó¥É¤ò»È¤ï¤Ê¤¤¤Ç¤¯¤À¤µ¤¤ (Âå¤ï¤ê¤Ë mkpart ¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤)¡£ PART-TYPE ¤Ï¤³¤Î¤¦¤Á¤Î°ì¤Ä¤Ç¤¹: primary (´ðËÜ)¡¢extended (³ÈÄ¥)¡¢ logical (ÏÀÍý)¡£extended ¤È logical ¤Ï msdos ¥Ç¥£¥¹¥¯¡¦¥é¥Ù¥ë¤ËÂФ·¤Æ¤Î¤ß »ÈÍѤ·¤Þ¤¹¡£ ¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à: * ext2 * FAT * linux-swap Îã: (parted) mkpartfs logical ext2 440 670 2.4.8 move ------------ move MINOR START [END] ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó MINOR ¤ò°Üư¤·¤Þ¤¹ ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò°Üư¤·¤Þ¤¹¡£ Ãí: move ¤Ï·è¤·¤Æ¥Þ¥¤¥Ê¡¼ÈÖ¹æ¤òÊѹ¹¤·¤Þ¤»¤ó¡£ ¤â¤· END ¤¬»ØÄꤵ¤ì¤Ê¤±¤ì¤Ð¡¢¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÎÂ礭¤µ¤ÏƱ¤¸¤Þ¤Þ¤Ë¤Ê¤ê¤Þ¤¹¡£ ¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à: * ext2 (ÌÜŪ¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤¬¸µ¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤è¤êÂ礭¤¤¤È¤¤¤¦¾ò·ï¤Ç) * FAT * linux-swap 2.4.9 name ------------ name MINOR NAME ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó MINOR ¤ò NAME ¤È̾ÉÕ¤± ¤Þ¤¹ ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë̾Á°¤òÉÕ¤±¤Þ¤¹ (Mac ¤È PC98 ¤À¤±)¡£ ̾Á°¤Ï¥¯¥¦¥©¡¼¥È¤Ç°Ï¤á ¤Þ¤¹¡£ Îã: (parted) name 2 'Secret Documents' 2.4.10 print ------------- print ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¡¦¥Æ¡¼¥Ö¥ë¤òɽ¼¨¤·¤Þ¤¹ ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¡¦¥Æ¡¼¥Ö¥ë¤òɽ¼¨¤·¤Þ¤¹¡£ Îã: (parted) print Disk geometry for /dev/hda: 0.000-2445.679 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.031 945.000 primary FAT boot, lba 2 945.000 2358.562 primary ext2 3 2358.562 2445.187 primary linux-swap 2.4.11 resize -------------- resize MINOR START END ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó MINOR ¾å¤Î¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤ÎÂ礭¤µ¤òÊѹ¹¤·¤Þ¤¹ ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÎÂ礭¤µ¤òÊѹ¹¤·¤Þ¤¹¡£ Ãí: resize ¤Ï·è¤·¤Æ¥Þ¥¤¥Ê¡¼ÈÖ¹æ¤òÊѹ¹ ¤·¤Þ¤»¤ó¡£ºÆ¤Ó¡¢Ãí: ¿·¤·¤¤³ÈÄ¥¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤¬´°Á´¤ËÁ´¤Æ¤ÎÏÀÍý¥Ñ¡¼¥Æ¥£¥·¥ç¥ó ¤ò´Þ¤ó¤Ç¤¤¤ë¸Â¤ê¡¢³ÈÄ¥¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÎÂ礭¤µ¤òÊѹ¹¤Ç¤­¤Þ¤¹¡£ Parted ¤Ï¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤¬¡Ö¥Ç¥Õ¥é¥°¡×¤µ¤ì¤Æ¤¤¤ë¤³¤È¤òÍ׵ᤷ¤Ê¤¤¤³¤È¤Ë Ãí°Õ¤·¤Æ¤¯¤À¤µ¤¤ (ɬÍפʤ顢Parted ¤Ï°ÂÁ´¤Ë¥Ç¡¼¥¿¤ò°Üư¤Ç¤­¤Þ¤¹)¡£¥Ç¥Õ¥é¥° ¤¹¤ë¤Î¤Ï»þ´Ö¤Î̵Â̤Ǥ¹¡£¼ÙË⤷¤Ê¤¤¤Ç! ¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à: * ext2 - À©¸Â: ¿·¤·¤¤ START ¤Ï¸Å¤¤ START ¤ÈƱ¤¸¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó * FAT * linux-swap Îã: (parted) resize 3 200 850 2.4.12 rm ---------- rm MINOR ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó MINOR ¤òºï½ü¤·¤Þ¤¹ ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò½üµî¤·¤Þ¤¹¡£¤â¤·¶öÁ³¤Ë¤³¤Î¥³¥Þ¥ó¥É¤Ç¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò ºï½ü¤·¤Æ¤·¤Þ¤Ã¤¿¤é¡¢¼è¤êÌ᤹¤¿¤á¤Ë mkpart ¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤ (mkpartfs ¤Ç¤Ï ¡Ø¤¢¤ê¤Þ¤»¤ó¡Ù)¡£¤Þ¤¿¡¢Â»½ý¤ò¼õ¤±¤¿¥Ç¥£¥¹¥¯¡¦¥é¥Ù¥ë¤ò²óÉü¤µ¤»¤ë¤¿¤á¤Ë¡¢ gpart ¥×¥í¥°¥é¥à¤ò»È¤¦¤³¤È¤â²Äǽ¤Ç¤¹ (6¾Ï¤ò»²¾È)¡£ msdos ¥Ç¥£¥¹¥¯¡¦¥é¥Ù¥ë¤Î¤¿¤á¤ÎÃí°Õ: ¤â¤·ÏÀÍý¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºï½ü¤¹¤ì¤Ð¡¢ ¤è¤êÂ礭¤¤¥Þ¥¤¥Ê¡¼ÈÖ¹æ¤ÎÉÕ¤¤¤¿ÏÀÍý¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÏÁ´ÉôÈֹ椬ÉÕ¤±Ä¾¤µ¤ì¤ë ¤Ç¤·¤ç¤¦¡£Î㤨¤Ð¡¢¤â¤· 6 ¤Î¥Þ¥¤¥Ê¡¼ÈÖ¹æ¤ÎÏÀÍý¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºï½ü¤¹¤ì¤Ð¡¢ Èֹ椬 7¡¢8¡¢9 ¤À¤Ã¤¿ logical ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï¤½¤ì¤¾¤ì 6¡¢7¡¢8 ¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤³¤Î¤³¤È¤Î¤¿¤á¤Ë¡¢/etc/fstab ¤ò¹¹¿·¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ Îã: (parted) rm 3 2.4.13 select -------------- select DEVICE ÊÔ½¸¤¹¤ë¥Ç¥Ð¥¤¥¹¤òÁªÂò¤·¤Þ¤¹ Parted ¤¬ÊÔ½¸¤¹¤ë¥Ç¥Ð¥¤¥¹¤òÁªÂò¤·¤Þ¤¹¡£¥Ç¥Ð¥¤¥¹¤ÏÄ̾ï Linux ¤Î¥Ï¡¼¥É¡¦¥Ç¥£ ¥¹¥¯¡¦¥Ç¥Ð¥¤¥¹¤«¡¢¤¢¤ë¤¤¤Ï¡¢¤â¤·¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Ø¤ÎľÀÜ¥¢¥¯¥»¥¹¤¬Í׵ᤵ ¤ì¤ë¤Ê¤é¡¢¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ä¡¢¥½¥Õ¥È¥¦¥§¥¢ RAID ¥Ç¥Ð¥¤¥¹¡¢LVM ÏÀÍý¥Ü¥ê¥å¡¼¥à ¤Ç¤·¤ç¤¦¡£ Îã: (parted) select /dev/hdb 2.4.14 set ----------- set MINOR FLAG STATE ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó MINOR ¾å¤Î¥Õ¥é¥°¤ò Êѹ¹¤·¤Þ¤¹ ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¾å¤Î¥Õ¥é¥°¤òÊѹ¹¤·¤Þ¤¹¡£¥Õ¥é¥°¤Ï¡Öon¡×¤«¡Öoff¡×¤Î¤É¤Á¤é¤«¤Ç ¤¹¡£¤³¤ì¤é¤Î¥Õ¥é¥°¤Î°ìÉô¡¢¤¢¤ë¤¤¤Ï¡¢Á´Éô¤¬¡¢¤¢¤Ê¤¿¤¬»È¤Ã¤Æ¤¤¤ë¥Ç¥£¥¹¥¯¡¦¥é ¥Ù¥ë¤Ë±þ¤¸¤Æ¡¢ÍøÍѤǤ­¤ë¤Ç¤·¤ç¤¦: * boot (Mac¡¢MSDOS¡¢PC98) - ¤½¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤«¤éµ¯Æ°¤·¤¿¤±¤ì¤Ð¡¢Í­¸ú¤Ë ¤µ¤ì¤ë¤Ù¤­¤Ç¤¹¡£¤½¤Î°ÕÌ£¤Ï¥Ç¥£¥¹¥¯¡¦¥é¥Ù¥ë´Ö¤Ç¤µ¤Þ¤¶¤Þ¤Ç¤¹¡£MSDOS ¥Ç¥£¥¹¥¯¡¦ ¥é¥Ù¥ë¤Ç¤Ï¡¢¤¿¤À°ì¤Ä¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤À¤±¤¬µ¯Æ°²Äǽ¤Ë¤Ê¤êÆÀ¤Þ¤¹¡£¤â¤·¥Ñ¡¼¥Æ¥£ ¥·¥ç¥ó¤Ë LILO ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¤¤ë¤Ê¤é¡¢¤½¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ïµ¯Æ°²Äǽ¤Ç¤Ê¤± ¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£PC98 ¥Ç¥£¥¹¥¯¡¦¥é¥Ù¥ë¤Ç¤Ï¡¢Á´¤Æ¤Î ext2 ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤¬µ¯Æ° ²Äǽ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó (¤³¤ì¤Ï Parted ¤Ë¶¯À©¤µ¤ì¤Þ¤¹)¡£ * lba (MSDOS) - MSDOS¡¢MS Windows 9x ¤ä MS Windows ME ¤ò´ðËܤȤ¹¤ë¥ª¥Ú¥ì¡¼ ¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¤Ë¥ê¥Ë¥¢ (LBA) ¥â¡¼¥É¤ò»È¤¦¤è¤¦¤Ë»Ø¼¨¤¹¤ë¤¿¤á¤Ë¡¢¤³¤Î¥Õ¥é¥° ¤ÏÍ­¸ú¤Ë¤Ç¤­¤Þ¤¹¡£ * root (Mac) - ¤½¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤¬ Linux ¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤ë¥ë¡¼¥È¡¦¥Ç¥Ð¥¤ ¥¹¤Ê¤é¡¢¤³¤Î¥Õ¥é¥°¤òÍ­¸ú¤Ë¤¹¤Ù¤­¤Ç¤¹¡£ * swap (Mac) - ¤½¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤¬ Linux ¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤ë¥¹¥ï¥Ã¥×¡¦¥Ç¥Ð ¥¤¥¹¤Ê¤é¡¢¤³¤Î¥Õ¥é¥°¤òÍ­¸ú¤Ë¤¹¤Ù¤­¤Ç¤¹¡£ * hidden (MSDOS, PC98) - ¥Þ¥¤¥¯¥í¥½¥Õ¥È¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¤«¤é ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò±£¤¹¤¿¤á¤Ë¡¢¤³¤Î¥Õ¥é¥°¤òÍ­¸ú¤Ë¤Ç¤­¤Þ¤¹¡£ * raid (MSDOS) - Linux ¤Ë¤½¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤¬¥½¥Õ¥È¥¦¥§¥¢ RAID ¥Ñ¡¼¥Æ¥£ ¥·¥ç¥ó¤Ç¤¢¤ë¤³¤È¤ò¶µ¤¨¤ë¤¿¤á¤Ë¡¢¤³¤Î¥Õ¥é¥°¤òÍ­¸ú¤Ç¤­¤Þ¤¹¡£ * LVM (MSDOS) - Linux ¤Ë¤½¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤¬ÊªÍý¥Ü¥ê¥å¡¼¥à¤Ç¤¢¤ë¤³¤È¤ò¶µ¤¨ ¤ë¤¿¤á¤Ë¡¢¤³¤Î¥Õ¥é¥°¤òÍ­¸ú¤Ë¤Ç¤­¤Þ¤¹¡£ print ¥³¥Þ¥ó¥É¤Ï³Æ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ËÂФ·¤ÆÍ­¸ú¤Ë¤µ¤ì¤Æ¤¤¤ë¥Õ¥é¥°Á´¤Æ¤òɽ¼¨¤· ¤Þ¤¹¡£ Îã: (parted) set 1 boot on 2.4.15 quit ------------ quit ¥×¥í¥°¥é¥à¤ò½ªÎ»¤·¤Þ¤¹ Parted ¤ò½ªÎ»¤µ¤»¤Þ¤¹¡£Linux ¥«¡¼¥Í¥ë¤¬ Parted ¤¬¥Ç¥£¥¹¥¯¤ËÂФ·¤Æ¹Ô¤Ã¤¿ Êѹ¹¤òÃΤë¤Î¤Ï¡¢Parted ¤¬½ªÎ»¤·¤¿¸å¤À¤±¤Ç¤¹¡£¤·¤«¤·¤Ê¤¬¤é¡¢¥³¥Þ¥ó¥É¤òÂǤÁ ¹þ¤ó¤Ç°ú¤­µ¯¤³¤µ¤ì¤ëÊѹ¹¤Ï¡Ø¤ª¤½¤é¤¯¡Ù¡¢¥³¥Þ¥ó¥É¤òÂǤƤФ¹¤°¤µ¤Þ¥Ç¥£¥¹¥¯¤Ë È¿±Ç¤µ¤ì¤ë¤Ç¤·¤ç¤¦¡£¤Ç¤â¡¢Linux ¤Î¥­¥ã¥Ã¥·¥å¤ä¥Ç¥£¥¹¥¯¤Î¥Ï¡¼¥É¥¦¥§¥¢¡¦ ¥­¥ã¥Ã¥·¥å¤¬¤³¤ì¤òÃٱ䤵¤»¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£ 2.5 ¼ÂÎã ------------------------------------------------------------------------------ °Ê²¼¤ÎÎã¤Ç¡¢ºÇ¤â¤¢¤ê¤Õ¤ì¤¿¾õ¶·¤òÊñ´Þ¤¹¤ë¤è¤¦¤Ë»î¤ß¤Þ¤¹¡£Îã³°¤Ï¥Ç¥£¥¹¥¯¡¦ ¥¤¥á¡¼¥¸¥ó¥°¤Ç¡¢¤½¤ì¤Ï8¾Ï¤Ç°·¤ï¤ì¤Æ¤¤¤Þ¤¹¡£ 2.5.1 Îã 1 ----------------- ¾õ¶· ¤¢¤Ê¤¿¤Î¥Ç¥£¥¹¥¯¤Î³ä¤êÅö¤Æ¤¬¼¡¤Î¤è¤¦¤Ç¤¢¤ë¤È¹Í¤¨¤Æ¤¯¤À¤µ¤¤: (parted) print Disk geometry for /dev/hda: 0.000-1000.000 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.063 500.000 primary ext2 2 500.000 625.000 primary linux-swap ¤½¤Î¥Ç¥£¥¹¥¯¤ÎºÇ¸å¤Ë (¥Ñ¡¼¥Æ¥£¥·¥ç¥ó 2 ¤Î¸å¤Ë) 375 Mb ¤Î¶õ¤­Îΰ褬¤¢¤ê¤Þ¤¹¡£ ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó 1 ¤Ï ext2 ¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤ò»ý¤Á¡¢¤½¤ì¤¬¥ë¡¼¥È¡¦¥Ç¥Ð¥¤¥¹¤Ç ¤¹¡£¥Ñ¡¼¥Æ¥£¥·¥ç¥ó 2 ¤Ï¥¹¥ï¥Ã¥×¡¦¥Ç¥Ð¥¤¥¹¤Ç¤¹¡£ ¤½¤Î¥Ç¥£¥¹¥¯¤ÎºÇ¸å¤Î¶õ¤­Îΰè¤ò¥Ñ¡¼¥Æ¥£¥·¥ç¥ó 1 ¾å¤Î¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥àÍÑ¤Ë»È ¤¤¤¿¤«¤Ã¤¿¤È¤·¤Þ¤¹¡£ ¼ê½ç¤Î¸«ËÜ (1) °Ê²¼¤ÎÃʳ¬¤Ç¡¢¥Ñ¡¼¥Æ¥£¥·¥ç¥ó 1 ¾å¤Î¥ë¡¼¥È¡¦¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤È¥Ñ¡¼¥Æ¥£ ¥·¥ç¥ó 2 ¾å¤Î¥¹¥ï¥Ã¥×¡¦¥Ç¥Ð¥¤¥¹¤ÎξÊý¤ò½¤Àµ¤·¤Þ¤¹¡£¤½¤ì¤æ¤¨¡¢¤É¤Á¤é¤Î¥Ñ¡¼ ¥Æ¥£¥·¥ç¥ó¤ò¤â»ÈÍѤ·¤Æ¤¤¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£Â¿Ê¬ Parted ¤Î¥Ö¡¼¥È¡¦¥Ç¥£¥¹¥¯¤ò »ÈÍѤ¹¤ë¤Ù¤­¤Ç¤¹ (¥»¥¯¥·¥ç¥ó 1.5 ¤ò»²¾È)¡£¤½¤Î¥Ö¡¼¥È¡¦¥Ç¥£¥¹¥¯¤«¤é¡¢Parted ¤ò¼Â¹Ô¤·¤Þ¤¹: # parted /dev/hda (2) ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó 2 (¥¹¥ï¥Ã¥×¡¦¥Ñ¡¼¥Æ¥£¥·¥ç¥ó) ¤ò½üµî¤·¤Þ¤¹¡£ÉáÄÌ¡¢¥Ç¡¼¥¿ ¤¬¾è¤Ã¤Æ¤¤¤ë¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºï½ü¤·¤¿¤¯¤Ï¤Ê¤¤¤Ç¤·¤ç¤¦¡£¤·¤«¤·¡¢¡Ö¥¹¥ï¥Ã¥×¡¦ ¥ª¥ó¡× (¥Þ¥¦¥ó¥È) ¤µ¤ì¤Æ¤¤¤Ê¤¤¤È¤­¡¢¥¹¥ï¥Ã¥×¡¦¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï¥Ç¡¼¥¿¤ò´Þ¤ó ¤Ç¤¤¤Þ¤»¤ó¤Î¤Ç¡¢¤½¤ì¤ò½üµî¤·¡¢Âå¤ï¤ê¤Î¥¹¥ï¥Ã¥×¡¦¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò¸å¤Çºî¤ë¤³¤È ¤¬¤Ç¤­¤Þ¤¹¡£ (parted) rm 2 (3) ¤½¤Î¥Ç¥£¥¹¥¯¤ÎºÇ¸å¤Ë¿·¤·¤¤¥¹¥ï¥Ã¥×¡¦¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºîÀ®¤·¤Þ¤¹: (parted) mkpartfs primary linux-swap 875 999.9 (parted) print Disk geometry for /dev/hda: 0.000-1000.000 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.063 500.000 primary ext2 2 875.000 1000.000 primary linux-swap (4) ¶áÀܤ·¤¿¶õ¤­Îΰè¤Ë¸þ¤«¤Ã¤Æ¡¢¥Ñ¡¼¥Æ¥£¥·¥ç¥ó 1 ¤òÁýÂ礵¤»¤Þ¤¹: (parted) resize 1 0.063 874.9 ½ª¤ï¤ê¤Þ¤·¤¿! (parted) print Disk geometry for /dev/hda: 0.000-1000.000 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.063 874.999 primary ext2 2 875.000 1000.000 primary linux-swap 2.5.2 Îã 2 ----------------- ¾õ¶· ¤¢¤Ê¤¿¤Î¥Ç¥£¥¹¥¯¤Î³ä¤ê°¸¤Æ¤¬¤³¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤È¹Í¤¨¤Æ¤¯¤À¤µ¤¤: Disk geometry for /dev/hda: 0-8063.5 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.0 23.5 primary ext2 boot 2 23.5 8056.0 extended 5 23.6 3545.6 logical ext2 6 3545.6 7067.7 logical ext2 7 7067.7 7326.5 logical ext2 8 7326.5 7585.4 logical ext2 9 7585.4 7844.2 logical linux-swap Filesystem Size Used Avail Use% Mounted on /dev/hda8 251M 31M 207M 13% / /dev/hda1 23M 2.4M 19M 11% /boot /dev/hda5 3.4G 577M 2.7G 18% /usr /dev/hda6 3.4G 289M 2.9G 9% /home /dev/hda7 251M 12M 226M 5% /var /home (/dev/hda6) ¤ÎÎΰè¤ò»È¤Ã¤Æ¡¢/var ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó (/dev/hda7) ¤ò 1GB ¤Ë Áý¤ä¤·¤¿¤«¤Ã¤¿¤È¤·¤Þ¤¹¡£ Parted ¤Ç¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÎÂ礭¤µ¤òÊѹ¹¤¹¤ë¤Î¤Ë¡¢resize ¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹: (parted) resize PARTITION_NUMBER NEW_START NEW_END NEW_START ¤Ï (¤¢¤¤¤Ë¤¯) ext2 ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ç¤Ï°ÊÁ°¤Î³«»ÏÅÀ¤ÈƱ¤¸¤Ç¤Ê¤±¤ì¤Ð ¤Ê¤ê¤Þ¤»¤ó¡£¤À¤«¤é¡¢¤³¤Î¼ê³¤­¤Ï¤«¤Ê¤êÊ£»¨¤Ë¤Ê¤ê¤Þ¤¹¡£¤½¤ì¤Ï²Äǽ¤Ç¤Ï¤¢¤ê¤Þ¤¹ ¤¬ :-) Ãí: ¤â¤· (FAT ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ç¤Ç¤­¤ë¤è¤¦¤Ë) Parted ¤¬ ext2 ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î ³«»ÏÅÀ¤Î°Üư¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤¿¤é¤Ê¤é¡¢¤½¤ì¤Ï¼è¤ë¤Ë­¤ê¤Ê¤«¤Ã¤¿¤Ç¤·¤ç¤¦: (parted) resize 6 3545.6 6200 (parted) resize 7 6200 7326.5 ¼ê½ç¤Î¸«ËÜ: (1) /home ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó (/dev/hda6) ¤ò 500MB ½Ì¤á¤Þ¤¹: # parted /dev/hda (parted) resize 6 3545.6 6200 (2) ¤½¤Î¾ì½ê¤Ë¿·¤·¤¤¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºîÀ®¤·¤Þ¤¹¡£¤³¤ì¤ÏºÇ½ªÅª¤Ë¤Ï /var ¤Ë ¤Ê¤ë¤È¤³¤í¤Ç¤¹¡£¤³¤Î¿·¤·¤¤¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï 10 ¤ÈÈÖ¹æÉÕ¤±¤µ¤ì¤Þ¤¹¡£ (parted) mkpartfs logical ext2 6200 7067.7 (3) °ÊÁ°¤Î /var ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó (/dev/hda7) ¤ò¿·¤·¤¤Êý (/dev/hda10) ¤Ø¥³¥Ô¡¼ ¤·¤Þ¤¹¡£ (parted) cp 7 10 (4) °ÊÁ°¤Î /var ¤òºï½ü¤·¤Þ¤¹¡£ (parted) rm 7 ¤³¤Î»þÅÀ¤Ç¡¢Á´¤Æ¤Î 7 °Ê¹ß¤ÎÏÀÍý¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÏÈֹ椬ÊѤï¤Ã¤¿¤È¤³¤í¤Ç¤¹¡£ ¤À¤«¤é¡¢8¡¢9¡¢10 ¤Ï¤½¤ì¤¾¤ì 7¡¢8¡¢9 ¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤³¤ÎÈÖ¹æ¤ÎºÆ³ä¤êÅö¤Æ¤Ï¡¢¤³¤Î¥Ç¥£¥¹¥¯¾å¤Î²¿¤é¤«¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤¬¥Þ¥¦¥ó¥È ¤µ¤ì¤Æ¤¤¤ë´Ö¤Ë¤Ï¹Ô¤ï¤ì¤Þ¤»¤ó (¤³¤ì¤ÏºÆµ¯Æ°¤¹¤ë¤È¤­¤Ëµ¯¤­¤Þ¤¹)¡£¤½¤Î·Ù¹ð ¥á¥Ã¥»¡¼¥¸¤¬¸ì¤Ã¤Æ¤¤¤ë¤Î¤Ï¤³¤Î¤³¤È¤Ç¤¹¡£¤À¤«¤é¡¢¤â¤·¤³¤Î¥á¥Ã¥»¡¼¥¸¤ò¼õ¤± ¼è¤Ã¤¿¤Ê¤é¡¢Parted ¤Ë¤è¤Ã¤Æ±Æ¶Á¤òÍ¿¤¨¤é¤ì¤¿ (Parted ¤Ë¤è¤Ã¤ÆÂ礭¤µ¤¬Êѹ¹ ¤µ¤ì¤¿¤ê¡¢ºîÀ®¤µ¤ì¤¿¤ê¤·¤¿) ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¡¢ºÆµ¯Æ°°ÊÁ°¤Ë¥Þ¥¦¥ó¥È¤·¤è¤¦ ¤È»î¤ß¤Æ¤ÏÀäÂФ¤¤±¤Þ¤»¤ó¡£ (5) (º£¤Ç¤Ï 9 ¤ÈÈÖ¹æÉÕ¤±¤é¤ì¤¿) ¿·¤·¤¤ /var ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÎÂ礭¤µ¤ò¡¢ °ÊÁ°¤Î /var ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òÄɲ乤뤳¤È¤Ç¡¢Êѹ¹¤·¤Þ¤¹: (parted) resize 9 6200 7326.5 (parted) quit Warning: The kernel was unable to re-read the partition table on /dev/hda (Device or resource busy). This means Linux knows nothing about any modifications you made. You should reboot your computer before doing anything with /dev/hda. (6) ¥Ñ¡¼¥Æ¥£¥·¥ç¥óÈֹ椬Êѹ¹¤µ¤ì¤¿¤Î¤Ç¡¢/etc/fstab ¤ò¹¹¿·¤·¤Ê¤±¤ì¤Ð¤Ê¤ê ¤Þ¤»¤ó¡£¥ë¡¼¥È¡¦¥Ç¥Ð¥¤¥¹¤Ï Parted ¤Ë¤è¤Ã¤Æ±Æ¶Á¤µ¤ì¤Ê¤«¤Ã¤¿¤Î¤Ç¡¢¤³¤ì¤Ï ºÆµ¯Æ°¤¹¤ëÁ°¤Ë¹Ô¤¨¤Þ¤¹¡£(¤â¤· Parted ¤ò»È¤Ã¤Æ¥ë¡¼¥È¡¦¥Ç¥Ð¥¤¥¹¤Ë²¿¤«¤ò ¤·¤¿¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢¥Ö¡¼¥È¡¦¥Ç¥£¥¹¥¯¤ò»È¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹)¡£ ¤â¤·º£¤Þ¤Ç¤Î /etc/fstab ¤¬¤³¤ó¤Ê´¶¤¸¤À¤Ã¤¿¤é: /dev/hda8 / ext2 defaults 1 1 /dev/hda1 /boot ext2 defaults 1 2 /dev/hda6 /home ext2 grpquota,usrquota 0 2 /dev/cdrom /mnt/cdrom iso9660 noauto,owner,ro 0 0 /dev/hda5 /usr ext2 defaults 1 2 /dev/hda7 /var ext2 grpquota,usrquota 0 2 /dev/fd0 /mnt/floppy auto noauto,owner 0 0 none /proc proc defaults 0 0 none /dev/pts devpts gid=5,mode=620 0 0 /dev/hda9 swap swap defaults 0 0 ¿ô¹Ô¤òÊѹ¹¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹: * /var ¤Ïº£¤Ç¤Ï /dev/hda9 ¤Ç¤¹ (¿·¤·¤¤¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë¥³¥Ô¡¼¤·¤¿¤«¤é) * /dev/hda8 (¥ë¡¼¥È¡¦¥Ç¥Ð¥¤¥¹) ¤Ï /dev/hda7 ¤ËÈֹ椬Êѹ¹¤µ¤ì¤Æ¤¤¤Þ¤¹ * /dev/hda9 (¥¹¥ï¥Ã¥×¡¦¥Ç¥Ð¥¤¥¹) ¤Ï /dev/hda8 ¤ËÈֹ椬Êѹ¹¤µ¤ì¤Æ¤¤¤Þ¤¹ ¿·¤·¤¤ /etc/fstab ¤Ï¤³¤ó¤Ê´¶¤¸¤Ç¤¹: /dev/hda7 / ext2 defaults 1 1 /dev/hda1 /boot ext2 defaults 1 2 /dev/hda6 /home ext2 grpquota,usrquota 0 2 /dev/cdrom /mnt/cdrom iso9660 noauto,owner,ro 0 0 /dev/hda5 /usr ext2 defaults 1 2 /dev/hda9 /var ext2 grpquota,usrquota 0 2 /dev/fd0 /mnt/floppy auto noauto,owner 0 0 none /proc proc defaults 0 0 none /dev/pts devpts gid=5,mode=620 0 0 /dev/hda8 swap swap defaults 0 0 (7) ºÆµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤Ç¤ª¤·¤Þ¤¤¡ª [ÌõÃí: ¤·¤«¤·¤³¤ì¤À¤È¡¢¸µ¡¹ /var ¤Î¤¢¤Ã¤¿¤È¤³¤í¤Ï̤»ÈÍѤΤޤ޻Ĥµ¤ì¤Æ¤·¤Þ¤¦ ¤Î¤Ç¡¢¤Á¤ç¤Ã¤È¤â¤Ã¤¿¤¤¤Ê¤¤µ¤¤¬¤¹¤ë... ¤¿¤Ã¤¿¤Î5%¤·¤«»È¤Ã¤Æ¤¤¤Ê¤¤¤ó¤À¤«¤é¡¢ tar ¤Ç¸Ç¤á¤Æ¡¢/home ¤Ë¤Ç¤âÃÖ¤¤¤È¤¤¤Æ¡¢¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºî¤êľ¤·¤Æ¡¢tar ¤ÇÉü¸µ¤·¤¿Êý¤¬Îɤ¤¤Î¤Ç¤Ï¡©] ------------------------------------------------------------------------------ 3 BIOS ¤È¥Õ¥¡¡¼¥à¥¦¥§¥¢ ------------------------------------------------------------------------------ ¡ÖBIOS¡× (´ðËÜÆþ½ÐÎÏ¥·¥¹¥Æ¥à) ¤È¡Ö¥Õ¥¡¡¼¥à¥¦¥§¥¢¡×¤ÏƱ¤¸¤â¤Î¤ò°ÕÌ£¤·¤Þ¤¹¡£ ¤·¤«¤·¡¢PC ¤ä PC98 ¤Ë´ð¤Å¤¯¥³¥ó¥Ô¥å¡¼¥¿¤Ç¤Ï¡¢BIOS ¤È¤¤¤¦¸ÀÍÕ¤ÎÊý¤¬ÉáÄ̤Ǥ¹¡£ Apple Macintosh ¤ä Sun ¤Î¥³¥ó¥Ô¥å¡¼¥¿¤Ç¤Ï¡¢¡Ö¥Õ¥¡¡¼¥à¥¦¥§¥¢¡×¤È¤¤¤¦¸ÀÍÕ¤ÎÊý ¤¬ÉáÄ̤Ǥ¹¡£ BIOS ¤ä¥Õ¥¡¡¼¥à¥¦¥§¥¢¤Î¥×¥í¥°¥é¥à¤Ï¥³¥ó¥Ô¥å¡¼¥¿ÆâÉô¤Î ROM ¥Á¥Ã¥×¤Ë ÁȤ߹þ¤Þ¤ì¤Æ¤ª¤ê¡¢¥á¥â¥ê¤Î¸¡ºº¤Ê¤É¤ò¹Ô¤¤¤Þ¤¹¡£¤³¤Î¥×¥í¥°¥é¥à¤Ï (ÍÆ°×¤Ë¤Ï) Êѹ¹¤Ç¤­¤Þ¤»¤ó¡£º£Æü¤Î BIOS ¤Ï°ìÈÌŪ¤Ë 20 ǯÁ°¤Ë»È¤ï¤ì¤¿ BIOS ¤È¸ß´¹¤Ê¤Î¤Ç¡¢ ¤³¤ì¤é¤Î¥×¥í¥°¥é¥à¤Ï¸Å¤á¤«¤·¤¤À߷פǤ¢¤ë·¹¸þ¤¬¤¢¤ê¤Þ¤¹¡£²¿Ç¯¤Ë¤âÅϤäơ¢ ȿľ´ÑŪ¤ÊÊýË¡¤Çµ¡Ç½¤¬Äɲäµ¤ì¤Æ¤­¤Æ¤ª¤ê¡¢º£Æü¤Ç¤Ï¿¤¯¤Îº®Íð¤ò¤â¤¿¤é¤¹¡¢ ¤¢¤Þ¤ê¤ËÈÑ»¨¤Ê¥·¥¹¥Æ¥à¤ËƳ¤¤¤Æ¤·¤Þ¤Ã¤Æ¤¤¤Þ¤¹¡£ 3.1 PC BIOS ------------------------------------------------------------------------------ ¿ô¼ï¤ÎÉáµÚ¤·¤¿ PC BIOS ¤¬¤¢¤ê¤Þ¤¹: AmiBIOS¡¢Award¡¢Phoenix ¤ä¾¤Î¤â¤Î¤Ç¤¹¡£ ¤½¤ì¤é¤ÏÁ´¤Æ»÷¤¿¤è¤¦¤Ê¤ä¤êÊý¤Çưºî¤·¤Þ¤¹¡£¤³¤ì¤é¤Î BIOS ¤Ï¤É¤ì¤â¥Ñ¡¼¥Æ¥£ ¥·¥ç¥ó¡¦¥Æ¡¼¥Ö¥ë¤òÍý²ò¤·¤¿¤ê¡¢ÃΤäƤ¤¤¿¤ê¤Ï¤·¤Þ¤»¤ó¡£¤½¤ì¤é¤Ï´ÖÀÜŪ¤Ë¥Ñ¡¼ ¥Æ¥£¥·¥ç¥Ë¥ó¥°¤Ë±Æ¶Á¤·¤Þ¤¹¡£ ¤¢¤Ê¤¿¤Î¥³¥ó¥Ô¥å¡¼¥¿¤¬µ¯Æ°¤¹¤ë¤È¤­: (1) ¤³¤ì¤é¤Î BIOS ¤Ï¥Ï¡¼¥É¡¦¥Ç¥£¥¹¥¯¾å¤Î MBR (¥Þ¥¹¥¿¡¼¡¦¥Ö¡¼¥È¡¦¥ì¥³¡¼¥É) ¤Ë¼ý¤á¤é¤ì¤¿¡¢¥Ö¡¼¥È¡¦¥í¡¼¥À¡¦¥×¥í¥°¥é¥à¤ÎºÇ½é¤Î¤ï¤º¤«¤ÊÉôʬ¤ò¥í¡¼¥É¤·¤Þ¤¹¡£ (2) BIOS ¤Ï¤½¤Î¥Ö¡¼¥È¡¦¥í¡¼¥À¤ÎºÇ½é¤Î¤ï¤º¤«¤ÊÉôʬ¤ò¼Â¹Ô¤·¤Þ¤¹¡£ (3) ¤½¤Î¥Ö¡¼¥È¡¦¥í¡¼¥À¡¦¥×¥í¥°¥é¥à¤Ï¤½¤ì¼«¿È¤Î»Ä¤ê¤ò¥í¡¼¥É¤¹¤ë¤Î¤Ë¡¢BIOS ¤ò »ÈÍѤ·¤Þ¤¹¡£ (4) ¤½¤Î¥Ö¡¼¥È¡¦¥í¡¼¥À¤Ï¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à (¤¢¤ë¤¤¤Ï¡¢Â¾¤Î¥Ö¡¼¥È¡¦ ¥í¡¼¥À¡¢¤½¤Î¾ì¹ç¤Ï¥¹¥Æ¥Ã¥× 2 ¤ËºÆ¤ÓÌá¤ê¤Þ¤¹) ¤ò¥í¡¼¥É¤¹¤ë¤Î¤Ë¡¢BIOS ¤ò»ÈÍÑ ¤·¤Þ¤¹¡£ (5) ¤½¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¤ÏÄ̾ï¤Î¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Ø¤Î¥¢¥¯¥»¥¹¤ò ¹Ô¤¦¤Î¤Ë¡¢BIOS ¤ò»ÈÍѤ·¤¿¤ê¡¢¤·¤Ê¤«¤Ã¤¿¤ê¤·¤Þ¤¹¡£ (Windows ¤ÏÉáÄ̹Ԥ¤¡¢Linux ¤ä BSD ¤Ï¤·¤Þ¤»¤ó) ¥¹¥Æ¥Ã¥× (3) ¤«¤é (5) ¤Ï¡¢¥Ç¥£¥¹¥¯¤ËÏä·¤«¤±¤ë¤è¤¦¤ËÍ׵᤹¤ë¤Î¤Ë¡¢ BIOS ¤ÈÄÌ¿®¤¹¤ë¥×¥í¥°¥é¥à¤ò´Þ¤ß¤Þ¤¹¡£BIOS ¤ËÏä·¤«¤±¤ë¤Î¤ËÆó¤Ä¤Î¤ä¤êÊý¤¬ ¤¢¤ê¤Þ¤¹: CHS (¥·¥ê¥ó¥À¡¢¥Ø¥Ã¥É¡¢¤½¤·¤Æ¡¢¥»¥¯¥¿) ¤ò»È¤Ã¤Æ¡¢¤¢¤ë¤¤¤Ï¡¢LBA (¥ê¥Ë¥¢¡¦¥Ö¥í¥Ã¥¯¡¦¥¢¥É¥ì¥Ã¥·¥ó¥°) ¤ò»È¤Ã¤Æ¡£¸Å¤á¤Î BIOS ¤Ï CHS ¤À¤±¤ò¥µ ¥Ý¡¼¥È¤·¤Þ¤¹¡£CHS ¥µ¥Ý¡¼¥È¤Ï¾­Íè¾Ã¤¨µî¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢¿·¤·¤¤ BIOS ¤Ï ÉáÄÌ LBA ¤È CHS ¤ÎξÊý¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£ (CHS ¤Ï³µ¤·¤Æ¤ª¤¾¤Þ¤·¤¤°äʪ¤Ç ¤¢¤ë¤È¹Í¤¨¤é¤ì¤Æ¤¤¤Þ¤¹) (ÌõÃí: ¾Ã¤¨µî¤ë¤³¤È¤Ï¤Ê¤¤¤Ç¤·¤ç¤¦¡¢PC ¤¬¤¢¤ë¸Â¤ê) ¥Ö¡¼¥È¡¦¥í¡¼¥À¤Ë¤è¤Ã¤Æ¹Ô¤ï¤ì¤ë¡¢¥¹¥Æ¥Ã¥× (3) ¤È (4) ¤Ï¾ï¤ËƱ¤¸¥¢¥¯ ¥»¥¹¼êË¡¤ò»È¤¦¤Ç¤·¤ç¤¦ - ¾ï¤Ë LBA ¤«¡¢¾ï¤Ë CHS ¤Ç¡£Windows ¤Î¥Ö¡¼¥È¡¦¥í¡¼¥À ¤Î¾ì¹ç¡¢¤³¤ì¤Ï Windows ¤Î¥Ö¡¼¥È¡¦¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¾å¤Î LBA ¥Õ¥é¥°¤Ë¤è¤Ã¤Æ·èÄê ¤µ¤ì¤Þ¤¹¡£(¥Õ¥é¥°¤Ë´Ø¤¹¤ë¾ðÊó¤Ï¡¢2.4.14 ¤ò»²¾È)¡£ Linux ¤Î¾ì¹ç¡¢¤ª¤½¤é¤¯ LILO ¤« GRUB ¤ò¥Ö¡¼¥È¡¦¥í¡¼¥À¤È¤·¤Æ»ÈÍѤ·¤Æ¤¤¤ë¤Ç¤·¤ç¤¦¡£ GRUB ¤ÏÍøÍѲÄǽ¤Ê ¤é¡¢LBA ¤ò»È¤¤¡¢¤µ¤â¤Ê¤±¤ì¤Ð CHS ¤ò»È¤¤¤Þ¤¹¡£ LILO ¤Ï¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤È¤­¡¢ ÁªÂò¤¹¤ë¤³¤È¤òÍ׵ᤷ¤Þ¤¹ (linear¡¢¤¢¤ë¤¤¤Ï lba32 ¥ª¥×¥·¥ç¥ó¤Ç)¡£ ¥¹¥Æ¥Ã¥× (5) - ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤ÆÆþ½ÐÎϤ¬¹Ô¤ï¤ì¤ë - Windows ¤À¤±¤¬ BIOS ¤Ë¤è¤Ã¤ÆÆþ½ÐÎϤò¹Ô¤¤¤Þ¤¹¡£ [²æ¡¹¤Ï¤Þ¤À¤½¤ÎÌäÂê¤Ë¤Ä¤¤¤Æ ½½Ê¬¤Ë¤Ïʬ¤«¤ê¤Þ¤»¤ó¤¬¡¢Windows ¤Ï CHS ¥â¡¼¥É¤Ç¤½¤ì¼«¿È¤ÎÌäÂê¤òÊú¤¨¤Æ¤¤¤ë ¤è¤¦¤Ë¸«¤¨¤Þ¤¹¡£¿Í¡¹¤Ï Windows ¤¬¤½¤ì¼«¿È¤Î¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Ê¤É¤òÂÌÌÜ¤Ë ¤¹¤ë¾ì¹ç¤Ë¤Ä¤¤¤Æ¶µ¤¨¤Æ¤¯¤ì¤Þ¤·¤¿¡£²æ¡¹¤Ë¤Ï¡¢²¿¤¬µ¯¤­¤Æ¤¤¤ë¤Î¤«¤òÃΤë¤Î¤¬ËÜÅö ¤Ëº¤Æñ¤Ç¤¹¡£¤Ç¤­¤ë¤³¤È¤Ê¤é¡¢LBA ¤ò»È¤¦¤³¤È¤ò¶¯¤¯´«¤á¤Þ¤¹!] ¤À¤«¤é¡¢»°¤Ä¤Î¾õ¶·¤¬¤¢¤ê¤¨¡¢¤½¤ì¤é¤ÏÁ´¤Æ¤³¤³¤Ç¥«¥Ð¡¼¤µ¤ì¤Æ¤¤¤Þ¤¹: (1) CHS ¥â¡¼¥É¤ò»È¤Ã¤Æ¤¤¤Æ¡¢¤¢¤Ê¤¿¤Î BIOS ¤Ï CHS ¥â¡¼¥É¤À¤±¤ò¥µ¥Ý¡¼¥È¤·¤Æ ¤¤¤Þ¤¹¡£ (2) CHS ¥â¡¼¥É¤ò»È¤Ã¤Æ¤¤¤Æ¡¢¤¢¤Ê¤¿¤Î BIOS ¤Ï CHS ¤È LBA ¤ÎξÊý¤ò¥µ¥Ý¡¼¥È¤· ¤Æ¤¤¤Þ¤¹¡£¤À¤«¤é¡¢CHS ¥â¡¼¥É¤«¤é LBA ¥â¡¼¥É¤Ø¡¢²Äǽ¤Ê¸Â¤êÁ᤯¡¢ÊÑ´¹¤·¤¿¤¤ ¤Ç¤¹¡£ (3) LBA ¥â¡¼¥É¤ò¤¹¤Ç¤Ë»È¤Ã¤Æ¤¤¤Þ¤¹¡£ 3.1.1 CHS ¥â¡¼¥É¤Ç¤Î Parted ¤Î»ÈÍÑ ---------------------------------- Linux ¤ÏÄ̾ï BIOS ¤Î¥¸¥ª¥á¥È¥ê¤ò¼«Æ°Åª¤Ë¸¡½Ð¤·¤Þ¤¹¡£¤·¤«¤·¡¢¤È¤­¤É¤­´Ö°ã¤¤¤ò ÈȤ·¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢Linux ¤Ø¥Ñ¥é¥á¡¼¥¿¤òÅϤ¹¤³¤È¤Ë¤è¤Ã¤Æ¡¢¼«Ê¬¤Ç¶µ¤¨¤Æ¤¢¤²¤ë ¤Ù¤­¤Ç¤¹¡£Î㤨¤Ð¡¢Linux ¤¬¥Ï¡¼¥É¡¦¥É¥é¥¤¥Ö /dev/hda ¤Ï¥¸¥ª¥á¥È¥ê 256/64/63 ¤ò»ý¤Ä¤È¹Í¤¨¡¢BIOS ¤ÎÀßÄê¥×¥í¥°¥é¥à¤Ï¤½¤Î¥¸¥ª¥á¥È¥ê¤Ï 512/32/63 ¤À¤È½ñ¤¤¤Æ¤¤ ¤ë¤Ê¤é¡¢¤³¤Î¥Ñ¥é¥á¡¼¥¿¤ò Linux ¤ËÅϤ¹¤ÈÎɤ¤¤Ç¤·¤ç¤¦: hda=512,32,63 ¥Ñ¥é¥á¡¼¥¿¤Ï¡¢¤É¤ó¤Ê¥Ö¡¼¥È¡¦¥í¡¼¥À¤ò»È¤Ã¤Æ¤¤¤ë¤«¤Ë°Í¤ê¡¢°Û¤Ã¤¿ÊýË¡¤ÇÅϤµ¤ì ¤Þ¤¹¡£¤ª¤½¤é¤¯ LILO ¤ò»È¤Ã¤Æ¤¤¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¼¡¤Î¹Ô¤ò /etc/lilo.conf ¤ËÄɲà ¤·¤Þ¤¹: (¤½¤·¤Æ¡¢¤½¤ÎÊѹ¹¤¬È¿±Ç¤µ¤ì¤ë¤è¤¦¤Ë¡¢/sbin/lilo ¤ò¼Â¹Ô¤·¡¢ºÆµ¯Æ°¤¹¤ë ɬÍפ¬¤¢¤ê¤Þ¤¹) append="hda=512,32,63" Parted ¤ÏÉáÄÌ Linux ¤¬´Ö°ã¤Ã¤¿¥¸¥ª¥á¥È¥ê¤ò¸¡½Ð¤·¤¿¤«¤É¤¦¤«¤ò¸¡½Ð¤Ç¤­¤Þ¤¹¡£ ¤·¤«¤·¡¢¥Ç¥£¥¹¥¯¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤¬¤Ê¤¤¤È¡¢¤³¤ì¤Ï¤Ç¤­¤Þ¤»¤ó¡£¤³¤Î¾ì¹ç¡¢¼«Ê¬¤Ç ¸¡ºº¤¹¤ë¤Ù¤­¤Ç¤¹¡£¤³¤ì¤ò¹Ô¤¦¤Î¤ÏÈó¾ï¤Ë½ÅÍפǤ¹¡£ ¤È¤­¤É¤­¡¢Parted ¤Ï¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤¬¥·¥ê¥ó¥À¶­³¦¤Ë·¤Ã¤Æ¤¤¤Ê¤¤¤Èʸ¶ç ¤ò¸À¤¦¤Ç¤·¤ç¤¦¡£Parted ¤Ï̵»ë¤¹¤ë¤¿¤á¤Î¥ª¥×¥·¥ç¥ó¤òÄ󶡤¹¤ë¤Ç¤·¤ç¤¦¡£¤â¤· ̵»ë¤¹¤ë¤Ê¤é¡¢Parted ¤Ï¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¡¦¥Æ¡¼¥Ö¥ë¤Ë¤¤¤¯¤Ä¤«¤Î·ÝÅö¤ò¹Ô¤¦¤Ç¤·¤ç¤¦¡£ Linux ¤Ë¤Ï²¿¤ÎÌäÂê¤â¤Ê¤¤¤Ç¤·¤ç¤¦¡£DOS ¤ä Windows ¤Ï¡¢¤â¤· LBA ¥â¡¼¥É¤ò»È¤Ã¤Æ ¤¤¤ë¤Ê¤é¡¢ÌäÂê¤Ê¤¤¤Ç¤·¤ç¤¦¡£¤â¤· DOS/Windows ¤¬ CHS ¥â¡¼¥É¤ò»È¤Ã¤Æ¤¤¤ë¤Ê¤é¡¢ ¤½¤Î¥Ö¡¼¥È¡¦¥í¡¼¥À¤òºÆ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ì¤Ð (¥»¥¯¥·¥ç¥ó 4.3 ¤ò»²¾È)¡¢¤É¤ó¤ÊÌäÂê ¤â²ò·è¤¹¤ë¤Ï¤º¤Ç¤¹ - ¤Ç¤â¡¢LBA ¥â¡¼¥É¤Ø¤ÎÀڤ괹¤¨¤¬Ë¾¤Þ¤·¤¤¤Ç¤¹ (°Ê²¼¤Î¡¢ 3.1.2 ¤ò»²¾È)¡£ ¥Ö¡¼¥È²áÄø¤Ë´Ø·¸¤¹¤ë¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï¡¢¤â¤· CHS ¥â¡¼¥É¤¬»È¤ï¤ì¤Æ¤¤¤ë ¤Ê¤é¡¢¥·¥ê¥ó¥À 1024 ¤è¤êÁ°¤Ç½ª¤ï¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤¢¤ë¥Ñ¡¼¥Æ¥£¥·¥ç¥ó ¤¬¥Ö¡¼¥È²áÄø¤Ë´Ø·¸¤·¤Æ¤¤¤ë¤«¤É¤¦¤«¤ò·èÄꤹ¤ë¤Î¤Ë¡¢¥Ö¡¼¥È¡¦¥í¡¼¥À¤Ë´Ø¤¹¤ë¥»¥¯ ¥·¥ç¥ó¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£Åµ·¿Åª¤ÊÀßÄê¤Ï¡¢¾®¤µ¤Ê Linux ¤Î /boot ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¡¢ Windows ¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¡¢¤½¤·¤Æ¡¢Linux ¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò»ý¤Ã¤Æ¤¤¤ë¤â¤Î¤Ç¤¹¡£ 3.1.2 CHS ¤«¤é LBA ¤Ø¤ÎÊÑ´¹ ---------------------------------- Windows ¤Î¥Ö¡¼¥È¡¦¥í¡¼¥À¡¢µÚ¤Ó¡¢¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¤Ë LBA ¥â¡¼¥É¤ò »È¤ï¤»¤ë¤Ë¤Ï¡¢Á´¤Æ¤Î FAT ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¾å¤Î LBA ¥Õ¥é¥°¤òΩ¤Æ¤ë¤À¤±¤Ç¤¹ (¥»¥¯¥·¥ç¥ó 2.4.14 ¤ò»²¾È)¡£²¿¤âÌäÂê¤Ê¤¤¤Ï¤º¤Ç¤¹¡£¤â¤· Windows ¤òµ¯Æ°¤¹¤ë ¤Î¤ËÌäÂ꤬¤¢¤ì¤Ð¡¢Windows ¤Î¥Ö¡¼¥È¡¦¥í¡¼¥À¤òºÆ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ ľ¤»¤Þ¤¹ (¥»¥¯¥·¥ç¥ó 4.3 ¤ò»²¾È)¡£ Linux ¤ÏÆþ½ÐÎÏ¤Ë BIOS ¤ò»È¤¤¤Þ¤»¤ó¡£¤·¤«¤·¡¢¥Ö¡¼¥È¡¦¥í¡¼¥À (LILO ¤ä GRUB) ¤Ï¤¹¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£¤â¤·²Äǽ¤Ê¤é¡¢GRUB ¤Ï¼«Æ°Åª¤Ë LBA ¤ò»È¤¤¤Þ¤¹¡£ LILO ¤Ï¡Ölinear¡×¤ä¡Ölba32¡×¥ª¥×¥·¥ç¥ó¤òɬÍפȤ·¤Þ¤¹¡£¤À¤«¤é¡¢¤â¤· LILO ¤¬ /etc/lilo.conf ¤òÊѹ¹¤·¡¢/sbin/lilo ¤ÇºÆ¥¤¥ó¥¹¥È¡¼¥ë (¥»¥¯¥·¥ç¥ó 4.1 ¤ò»²¾È) ¤·¤¿¸å¤Ç¤âµ¯Æ°¤¹¤ë¤Ê¤é¡¢Á´Éô½ª¤ï¤Ã¤Æ¤Þ¤¹! (¤â¤·ÌäÂ꤬¤¢¤ì¤Ð¡¢¡Ölinear¡×¤ä ¡Ölba32¡×¤òºï½ü¤·¡¢¥Ö¡¼¥È¡¦¥Ç¥£¥¹¥¯¤«¤é LILO ¤òºÆ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢ CHS ¤ËÌᤷ¤Æ¤¯¤À¤µ¤¤) º£¤ä LBA ¤ò»È¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢ÆÉ¤ß¿Ê¤ó¤Ç¤¯¤À¤µ¤¤... 3.1.3 LBA ¥â¡¼¥É ---------------- LBA ¤Ï CHS ¤ÎÌäÂê¤ÎÁ´¤Æ¤ò²ò·è¤·¤Þ¤¹¡£¤·¤«¤·¡¢Linux ¤ä Parted ¤¬ LBA ¤ò»È¤Ã ¤Æ¤¤¤ë¤³¤È¤ò¸«Ê¬¤±¤ë¡¢¿®Íê¤Ç¤­¤ëÊýË¡¤Ï¤Ê¤¤¤Î¤Ç¡¢Parted ¤Ï·¤Ã¤Æ¤¤¤Ê¤¤¥·¥ê¥ó¥À ¤ä¡¢Ì·½â¤·¤¿ BIOS ¥¸¥ª¥á¥È¥ê¤Ë¤Ä¤¤¤Æ·Ù¹ð¤òÍ¿¤¨¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£¤â¤· LBA ¥â¡¼¥É¤ò»È¤Ã¤Æ¤¤¤ë¤Ê¤é¡¢¤³¤ì¤é¤Î¥á¥Ã¥»¡¼¥¸¤Ï̵»ë¤·¤Æ¤«¤Þ¤¤¤Þ¤»¤ó¡£ (Parted ¤Î¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤Ç¤ÏÌäÂ꤬¤¢¤ê¤Þ¤·¤¿¤¬¡¢¤½¤ì¤é¤ÏÁ´¤Æ²ò·èºÑ¤ß¤Ç¤¹) ¤â¤·¥Ç¥£¥¹¥¯¤¬ LBA ¥â¡¼¥É¤Ç¤¢¤ë¤Ê¤é¡¢Parted (¤ä¾¤Î¤Û¤È¤ó¤É¤Î¥×¥í¥°¥é¥à) ¤Ï CHS ¥¸¥ª¥á¥È¥ê¤Ï X/255/63 ¤Ç¤¢¤ë¤Èɽ¸½¤¹¤ë¤Ç¤·¤ç¤¦ - CHS ¤«¤é LBA ¤ËÀڤ괹¤¨ ¤¿¤Î¤Ç¤Ê¤±¤ì¤Ð¡£ 3.2 Macintosh OpenFirmware ------------------------------------------------------------------------------ PowerMac ¤Î OpenFirmware ¤Ë¤ÏÆó¤Ä¤Î¼çÍפʥС¼¥¸¥ç¥ó¤¬¤¢¤ê¤Þ¤¹ - ¡Ö¸Å¤¤À¤³¦¡× (old world) ¤Ç»È¤ï¤ì¤Æ¤¤¤ë¤â¤Î¤È¡¢¡Ö¿·¤·¤¤À¤³¦¡× (new world) ¤Î PowerMac ¤Ç ¤Î¤â¤Î¤Ç¤¹¡£¤½¤ì¤é¤Ë¤Ï½ÅÂç¤Ê°ã¤¤¤¬¤¢¤ê¤Þ¤¹¡£¤·¤«¤·¡¢Î¾Êý¤È¤â¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¡¦ ¥Æ¡¼¥Ö¥ë¤òÍý²ò¤·¤Þ¤¹¡£ ξÊý¤È¤â¡¢¥æ¡¼¥¶¤¬¸·Ì©¤Ë°ì¤Ä¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò¥Ö¡¼¥È¡¦¥Ñ¡¼¥Æ¥£¥·¥ç¥ó (¥Ö¡¼¥È¡¦¥í¡¼¥À¤Î¤¢¤ë¥Ñ¡¼¥Æ¥£¥·¥ç¥ó) ¤ËÁª¤Ö¤³¤È¤òÍ׵ᤷ¤Þ¤¹¡£¤·¤«¤·¡¢¤³¤ì¤ò ¹Ô¤¦¤Î¤Ë¡¢¤½¤ì¤é¤Ï°ã¤Ã¤¿»ÅÁȤߤòÍѤ¤¤Þ¤¹¡£ 3.2.1 ¸Å¤¤À¤³¦¤Î OpenFirmware ------------------------------ µ¯Æ°¤¹¤ë¤è¤¦¤ËÁª¤Ð¤ì¤¿¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï¡¢Quik ¤Î¤è¤¦¤Ê¡¢¤µ¤Þ¤¶¤Þ¤Ê¥Ö¡¼¥È¡¦ ¥í¡¼¥À¤Ë¤è¤Ã¤ÆÀßÄꤵ¤ì¤Þ¤¹¡£¤À¤«¤é¡¢¤¢¤Ê¤¿¤Ï²¿¤â¤·¤Ê¤¯¤ÆÎɤ¤¤Ï¤º¤Ç¤¹¡£²æ¡¹¤Ï ¤³¤ì¤ËÂФ¹¤ë¥µ¥Ý¡¼¥È¤ò Parted ¤ËÄɲ乤ë¤Ç¤·¤ç¤¦¡¢¤â¤·Ã¯¤«½½Ê¬¤ËÁû¤¬¤·¤¯¶«¤ó ¤À¤é... 3.2.2 ¿·¤·¤¤À¤³¦¤Î OpenFirmware ------------------------------ ¿·¤·¤¤À¤³¦¤Î OpenFirmware ¤Ï¥Ö¡¼¥È¡¦¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤¬ HFS ¤Ç¤¢¤ê¡¢¥Ö¡¼¥È¡¦ ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤È¤·¤Æ°õ¤¬ÉÕ¤±¤é¤ì¤Æ¤¤¤ë¤³¤È¤òɬÍפȤ·¤Þ¤¹¡£¥Ö¡¼¥È¡¦¥Ñ¡¼¥Æ¥£ ¥·¥ç¥ó¤È¤·¤Æ°õ¤òÉÕ¤±¤ë¤Î¤Ë¡¢°Û¤Ê¤ë»ÅÁȤߤò»È¤¤¤Þ¤¹¡£¤³¤ì¤Ï Parted ¤Î¡Öboot¡× ¥Õ¥é¥°¤Ç´ÉÍý¤·¤Þ¤¹¡£Î㤨¤Ð: (parted) set 2 boot on 3.3 PC98 BIOS ------------------------------------------------------------------------------ PC98 BIOS ¤Ï¤¤¤¯¤Ä¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë¤Ç¤â¡¢µ¯Æ°²Äǽ¤À¤È°õ¤òÉÕ¤±¤é¤ì¤ë¤è¤¦¤Ë ¤·¤Æ¤¤¤Þ¤¹¡£Parted ¤Î¡Öboot¡×¥Õ¥é¥°¤Ç¡¢¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òµ¯Æ°²Äǽ¤À¤È°õ¤òÉÕ¤± ¤¿¤ê¡¢³°¤·¤¿¤ê¤Ç¤­¤Þ¤¹¡£Î㤨¤Ð: (parted) set 2 boot off ------------------------------------------------------------------------------ 4 ¥Ö¡¼¥È¡¦¥í¡¼¥À ------------------------------------------------------------------------------ ¥Ö¡¼¥È¡¦¥í¡¼¥À¤Ï¡¢»È¤¤¤¿¤¤¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¤òÁª¤ó¤À¤ê¡¢¤½¤Î¥ª¥Ú ¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¤ò¥í¡¼¥É¤¹¤ë¤³¤È¤ò²Äǽ¤Ë¤¹¤ë¥×¥í¥°¥é¥à¤Ç¤¹¡£ÆÃ¤Ë¡¢ ¤â¤·Ê£¿ô¤Î¼ïÎà¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¤¤ë¤Ê¤é¡¢Ê£¿ô ¤Î¥Ö¡¼¥È¡¦¥í¡¼¥À¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¤¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£¥Ö¡¼¥È¡¦¥í¡¼¥À¤Ë¤È¤Ã¤Æ¡¢ ¾¤Î¥Ö¡¼¥È¡¦¥í¡¼¥À¤ò¥í¡¼¥É¤Ç¤­¤ë¤Î¤ÏÅö¤¿¤êÁ°¤Î¤³¤È¤Ç¤¹¡£ ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÎÂ礭¤µ¤òÊѹ¹¤¹¤ë¤È¤­¡¢Â¿Î̤Υǡ¼¥¿¤¬°Üư¤µ¤»¤é¤ì¤Þ¤¹¡£Â¿¤¯¤Î ¥Ö¡¼¥È¡¦¥í¡¼¥À¤Ï¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤òÍý²ò¤·¤Þ¤»¤ó¡£¤½¤ì¤é¤Ïñ¤ËɬÍפȤµ¤ì¤ë ¥Ö¡¼¥È¡¦¥í¡¼¥À¤Î¾ðÊ󤬥ǥ£¥¹¥¯¾å¤Î¤É¤³¤Ë¤¢¤ë¤«¤òµ­²±¤·¤Æ¤¤¤ë¤À¤±¤Ç¤¹¡£¤â¤· ¤³¤Î¾ðÊ󤬯°¤«¤µ¤ì¤¿¤é¡¢¤½¤ì¤¬¤É¤³¤Ë°Üư¤µ¤»¤é¤ì¤¿¤«¶µ¤¨¤Æ¤¢¤²¤Ê¤±¤ì¤Ð¤Ê¤ê ¤Þ¤»¤ó¡£¤³¤ì¤Ï¤½¤Î¥Ö¡¼¥È¡¦¥í¡¼¥À¤òºÆ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¹Ô¤ï¤ì¤Þ¤¹ (¤Ä¤Þ¤ê¡¢¤½¤Î¥Ö¡¼¥È¡¦¥í¡¼¥À¤Î¥¤¥ó¥¹¥È¡¼¥é¡¦¥×¥í¥°¥é¥à¤òºÆ¤ÓÁö¤é¤»¤ë¡¢¤½¤ì¤Ï Ä̾亮¥§¥ë¤Çñ°ì¤Î¥³¥Þ¥ó¥É¤òȯ¹Ô¤¹¤ë¤³¤È¤òɬÍפȤ·¤Þ¤¹)¡£¤¢¤é¤æ¤ë¥Ö¡¼¥È¡¦ ¥í¡¼¥À¤¬¤³¤Î¤³¤È¤òɬÍפȤ¹¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ 4.1 LILO (Linux Loader) --------------------------- LILO ¤Ï x86 ÍѤÎͭ̾¤Ê¥Ö¡¼¥È¡¦¥í¡¼¥À¤Ç¤¹¡£LILO ¤Î¥Ö¡¼¥È¡¦¥í¡¼¥À¤ÏÄ̾ï°Ê²¼¤Ç ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹: # /sbin/lilo ¤â¤·¥Ö¡¼¥È¡¦¥Ç¥£¥¹¥¯¤ò»È¤Ã¤Æ¤¤¤ë¤Ê¤é¡¢Âå¤ï¤ê¤Ë¼¡¤ò¹Ô¤¦¤Ù¤­¤Ç¤¹: (¤³¤³¤Ç¡¢ /dev/hda1 ¤Ï¤¢¤Ê¤¿¤Î¥ë¡¼¥È¡¦¥Ç¥Ð¥¤¥¹¤ÈÃÖ¤­´¹¤¨¤ë¤Ù¤­¤Ç¤¹) # mount /dev/hda1 /mnt # chroot /mnt /sbin/lilo # umount /dev/hda1 LILO ¤Î (¤½¤ì¤Û¤É¤Ç¤Ï¤Ê¤¤¤¬) ¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤Ï LBA ¥â¡¼¥É¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ ¤»¤ó (¥»¥¯¥·¥ç¥ó 3.1 ¤ò»²¾È)¡£LBA ¥â¡¼¥É¤Ï /etc/lilo.conf ¤Ç¡¢lba32 ¤ä linear ¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤ÆÍ­¸ú²½¤µ¤ì¤Þ¤¹ (¤â¤Ã¤È¾ðÊó¤òÆÀ¤ë¤Î¤Ë¡¢LILO ¤Î²òÀâ ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤)¡£ ¤â¤· LBA ¥â¡¼¥É¤ò»È¤¦¤Ê¤é¡¢¤¢¤Ê¤¿¤Î BIOS ¤¬ LBA ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë ¸Â¤ê¡¢²¿¤âÌäÂê¤Ê¤¤¤Ï¤º¤Ç¤¹¡£ ¤â¤· CHS ¥â¡¼¥É¤ò»È¤¦¤Ê¤é¡¢/boot ¥Ç¥£¥ì¥¯¥È¥ê¤ò»ý¤Ä¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï ¥·¥ê¥ó¥À 1024 Æâ¤Ë¼ý¤Þ¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤À¤«¤é¡¢¤â¤·Â礭¤Ê¥Ç¥£¥¹¥¯ (¸À¤Ã¤Æ¤ß¤ì¤Ð¡¢8 ¥®¥¬Ä¶) ¤ò»ý¤Ã¤Æ¤¤¤ë¤Ê¤é¡¢¥Ç¥£¥¹¥¯¤Î½é¤áÊÕ¤ê¤Ë¡¢/boot ¥Ñ¡¼ ¥Æ¥£¥·¥ç¥ó¤ò»ý¤Ã¤Æ¤¤¤ë¤Ù¤­¤Ç¤¹¡£ 4.2 GNU GRUB (GRand Unified Bootloader) ------------------------------------------- GRUB ¤Ï x86 ÍѤΡ¢Èæ³ÓŪ¿·¤·¤¤¥Ö¡¼¥È¡¦¥í¡¼¥À¤Ç¤¹¡£¤É¤¦¤ä¤Ã¤Æ GRUB ¤¬¥¤¥ó¥¹ ¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤«¤Ë¤è¤Ã¤Æ¡¢¤½¤ì¤Ï¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤òÍý²ò¤¹¤ë¤«¤â¤·¤ì¤Ê¤¤ ¤·¡¢Ã±¤Ëµ¯Æ°¥Õ¥¡¥¤¥ë¤¬¼ý¤á¤é¤ì¤Æ¤¤¤ë¤«¤ò³Ð¤¨¤Æ¤¤¤ë¤À¤±¤«¤â¤·¤ì¤Þ¤»¤ó¡£ ¡ÖStage 1.5¡×¤ò»È¤Ã¤Æ¤¤¤ë¤Ê¤é¡¢¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤òÍý²ò¤·¤Þ¤¹¡£¤â¤· Stage 1.5 ¤ò»È¤Ã¤Æ¤¤¤Ê¤¤¤«¡¢¥Ñ¡¼¥Æ¥£¥·¥ç¥óÈֹ椬ÊѤï¤Ã¤¿¤é¡¢Stage 2 ¤òºÆ¥¤¥ó¥¹¥È¡¼¥ë ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹ (GRUB ¤Î²òÀâ¤òÆÉ¤ó¤Ç¤¯¤À¤µ¤¤)¡£¤½¤¦¤Ç¤Ê¤¤¤Ê¤é¡¢²¿¤â¤·¤Ê ¤¯¤Æ¹½¤¤¤Þ¤»¤ó¡£ GRUB ¤Ï LBA ¤¬ÍøÍѲÄǽ¤«¡¢¼«Æ°Åª¤Ë¸¡½Ð¤·¡¢¤â¤·ÍøÍѲÄǽ¤Ê¤é¡¢¤½¤ì¤ò »È¤¦¤Ç¤·¤ç¤¦ (LILO ¤Î¡Ölba32¡×¥ª¥×¥·¥ç¥ó¤ÈƱÅù)¡£ 4.3 MS DOS¡¢MS Windows 9x¡¢MS Windows ME -------------------------------------------- DOS ¤È Windows ¤Ï¡¢¤â¤·¥Ö¡¼¥È¡¦¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î FAT ¤Î¼ïÎà (FAT16 ¤« FAT32) ¤òÊѹ¹¤¹¤ì¤Ð¡¢¤½¤Î¥Ö¡¼¥È¡¦¥í¡¼¥À¤òºÆ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤òÍ׵ᤷ¤Þ¤¹¡£ Parted ¤Ï¤³¤ì¤ò¹Ô¤ª¤¦¤È»î¤ß¤ëÁ°¤Ë·Ù¹ð¤¹¤ë¤Ç¤·¤ç¤¦¡£¤½¤Î¥Ö¡¼¥È¡¦¥í¡¼¥À¤òºÆ ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤¿¤á¤Ë¡¢¥Ö¡¼¥È¡¦¥Ç¥£¥¹¥¯¤òºîÀ®¤¹¤ë¤«¡¢¥Ö¡¼¥È CDROM ¤ò»ÈÍÑ ¤Ç¤­¤Þ¤¹¡£¥Ö¡¼¥È¡¦¥Ç¥£¥¹¥¯¤ÎÊýË¡¤Ï Windows ME ¤Ç¤ÏƯ¤­¤Þ¤»¤ó¡£ ¥Ö¡¼¥È¡¦¥Ç¥£¥¹¥¯¤ÎÊýË¡: (DOS/Windows 9x) (1) Windows ¥Ö¡¼¥È¡¦¥Ç¥£¥¹¥¯¤ÎºîÀ® * Windows ¤òµ¯Æ°¤·¤Þ¤¹¡£¡Ø¤³¤Î¤³¤È¤Ï Parted ¤ò»È¤¦Á°¤Ë¡¢¥Ö¡¼¥È¡¦ ¥Ç¥£¥¹¥¯¤òºî¤ë¤Ù¤­¤Ç¤¢¤ë¤È°ÕÌ£¤·¤Æ¤¤¤Þ¤¹¡£¡Ù * Windows ¥¨¥¯¥¹¥×¥í¡¼¥é¤Î¥Õ¥í¥Ã¥Ô¥£¡¦¥É¥é¥¤¥Ö¤Ç±¦¥¯¥ê¥Ã¥¯¤·¤Þ¤¹¡£ * ¡Ö¥Õ¥©¡¼¥Þ¥Ã¥È¡×¤ò¥¯¥ê¥Ã¥¯¤·¤Þ¤¹¡£ * ¡Ö¥·¥¹¥Æ¥à¡¦¥Õ¥¡¥¤¥ë¤ò¥³¥Ô¡¼¤¹¤ë¡×¤Ë°õ¤òÉÕ¤±¤Þ¤¹¡£ * ¡Ö¥Õ¥©¡¼¥Þ¥Ã¥È¡×¤ò¥¯¥ê¥Ã¥¯¤·¤Þ¤¹¡£ * C:\WINDOWS\COMMAND\SYS.COM ¤ò A:\ ¤Ë¥³¥Ô¡¼¤·¤Þ¤¹¡£Ãí: C:\WINDOWS ¤ÏÊ̤Î̾Á°¤ÇÆÉ¤ó¤Ç¤¤¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡¢C:\WIN98 ¤Î¤è¤¦¤Ê¡£ (2) µ¯Æ°¤¹¤ë¤È¤­¤Ë¥Õ¥í¥Ã¥Ô¥£¡¦¥É¥é¥¤¥Ö¤Ë¤½¤Î¥Ö¡¼¥È¡¦¥Ç¥£¥¹¥¯¤ò»Ä¤·¤Æ¤ª¤¤¤Æ¡¢ Windows ¤Î¥Ö¡¼¥È¡¦¥Ç¥£¥¹¥¯¤«¤éµ¯Æ°¤·¤Þ¤¹¡£ (3) DOS ¥×¥í¥ó¥×¥È¤Ç¼¡¤òÂǤÁ¤Þ¤¹: A:\>sys c: ÌõÃí: Ìõ¼Ô¤Ïµ×¤·¤¯ÆüËܸìÈÇ Windows ¤ò¿¨¤Ã¤¿¤³¤È¤¬¤Ê¤¤¤Î¤Ç¡¢Ìõ¸ì¤¬Åö¤Ã¤Æ¤Ê¤¤¤« ¤â¤·¤ì¤Þ¤»¤ó¡£°ã¤Ã¤Æ¤¿¤é¡¢¶µ¤¨¤Æ¤¯¤À¤µ¤¤¡£ CDROM ¤ÎÊýË¡: (Windows 9x/ME) (1) Windows ¤Î CDROM ¤òÁÞ¤·¡¢¤½¤ì¤«¤éµ¯Æ°¤·¤Þ¤¹¡£(¡ÖCDROM ¥µ¥Ý¡¼¥È¤Ê¤·¤Ç µ¯Æ°¡×¤òÁª¤Ó¤Þ¤¹) (2) ¼¡¤Î¤è¤¦¤ËÂǤÁ¤Þ¤¹: A:\>c: C:\>cd \windows\command (\win98\command ¤ä»÷¤¿¤è¤¦¤Ê¤â¤Î¤«¤â) C:\WINDOWS\COMMAND>sys c: ¤Þ¤¿¡¢DOS ¤ä Windows ¤Ï¿ô¸Ä¤ÎÀ©¸Â¤ò²¡¤·ÉÕ¤±¤Þ¤¹: * ¥Ö¡¼¥È¡¦¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï¡Öboot¡×¥Õ¥é¥°¤ÇÁªÂò¤µ¤ì¤Æ¤¤¤ë¤Ù¤­¤Ç¤¹¡£¤¿¤Ã¤¿ °ì¤Ä¤Î¥Ö¡¼¥È¡¦¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤À¤±¤¬ÁªÂò¤µ¤ìÆÀ¤Þ¤¹ (¤È¤­¤É¤­¡Ö¥¢¥¯¥Æ¥£¥Ö¡× (active) ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤È¸Æ¤Ð¤ì¤Þ¤¹)¡£Î㤨¤Ð¡¢¥Ñ¡¼¥Æ¥£¥·¥ç¥ó 3 ¤ò¥Ö¡¼¥È¡¦ ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ËÀßÄꤹ¤ë¤Ë¤Ï¡¢¤³¤¦¤·¤Þ¤¹: (parted) set 3 boot on * MS DOS ¤ä MS Windows 9x/ME ¤ÏºÇ½é¤Î FAT ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤«¤é¤·¤«µ¯Æ°¤Ç¤­ ¤Þ¤»¤ó¡£¤¹¤Ê¤ï¤Á¡¢°ìÈÖ¾®¤µ¤¤¡Ø¥Þ¥¤¥Ê¡¼¡ÙÈÖ¹æ¤ò»ý¤Ä¡¢±£¤µ¤ì¤Æ¤¤¤Ê¤¤ FAT ¥Ñ¡¼ ¥Æ¥£¥·¥ç¥ó¤Ç¤¹¡£GRUB ¤ä LILO ¤Î¤è¤¦¤Ê¥Ö¡¼¥È¡¦¥í¡¼¥À (¤½¤·¤Æ¡¢¤¤¤¯¤Ä¤«¤Î BIOS) ¤Ï¤³¤Î¿¶¤ëÉñ¤¤¤òÊѹ¹¤Ç¤­¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤... * ¤â¤· (LBA ¥¢¥É¥ì¥Ã¥·¥ó¥°¤Ç¤Ï¤Ê¤¯) CHS ¥¢¥É¥ì¥Ã¥·¥ó¥°¤ò»È¤Ã¤Æ¤¤¤ë¤Ê¤é¡¢ ¥Ö¡¼¥È¡¦¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î³«»ÏÅÀ¤Ï¥·¥ê¥ó¥À 1024 ¤è¤ê¤â¾®¤µ¤¯¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¥Ö¡¼¥È¡¦¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¾å¤Î LBA ¥Õ¥é¥°¤òÍ­¸ú¤Ë¤·¤¿¤ê¡¢Ìµ¸ú¤Ë¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢ MS DOS ¤Ë LBA ¥¢¥É¥ì¥Ã¥·¥ó¥°¤ò»È¤¦ (¤¢¤ë¤¤¤Ï¡¢»È¤ï¤Ê¤¤) ¤è¤¦¤Ë¶µ¤¨¤ë¤³¤È¤¬ ¤Ç¤­¤Þ¤¹¡£Î㤨¤Ð¡¢¥Ñ¡¼¥Æ¥£¥·¥ç¥ó 2 ¾å¤Î LBA ¥Õ¥é¥°¤òÍ­¸ú¤¹¤ë¤Ë¤Ï¡¢¤³¤¦¤·¤Þ¤¹: (parted) set 2 lba on Ãí: LBA ¥¢¥É¥ì¥Ã¥·¥ó¥°¤Ï¡¢PC-DOS ¤ÎÁ´¤Æ¥Ð¡¼¥¸¥ç¥ó¤À¤±¤Ç¤Ê¤¯¡¢MS-DOS 6.22 ¤ä ¤½¤ì°ÊÁ°¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ ·Ù¹ð: ¤¤¤¯¤Ä¤«¤Î BIOS ¤Ç¤Ï¡¢BIOS ¤Ç¤âÍ­¸ú¤Ë¤·¤Ê¤¤¤È¡¢LBA ¥¢¥É¥ì¥Ã¥·¥ó¥°¤¬ Í­¸ú¤Ë¤Ê¤é¤Ê¤¤¤Ç¤·¤ç¤¦¡£²¿¤é¤«¤ÎÍýͳ¤Ç¡¢Windows ¤¬¤³¤Î¥Õ¥é¥°¤òÊѹ¹¤·¤¿¸å¤Ë µ¯Æ°¤·¤Ê¤¤¤Ê¤é¡¢¤³¤ì¤¬¤ª¤½¤é¤¯¤½¤ÎÌäÂê¤Ç¤¹¡£ * ¡ÖËÜÅö¤Î¡×MS-DOS (¤Ä¤Þ¤ê¡¢¥Ð¡¼¥¸¥ç¥ó 6.22 ¤Þ¤Ç) ¤È MS-DOS 7.0 (¤Ä¤Þ¤ê¡¢ Windows 95/95a) ¤Ï FAT32 ¤òÃΤê¤Þ¤»¤ó¡£¤½¤Î¤¿¤á¡¢¡ØºÇ½é¤Î¡Ù FAT ¥Ñ¡¼¥Æ¥£ ¥·¥ç¥ó¤¬ FAT32 ¤Î¤È¤­¡¢¤½¤ì¤é¤ò ¡ØÆóÈÖÌܤΡ٠FAT (¤â¤Á¤í¤ó¡¢FAT16 ¤Î¤ß) ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤«¤éµ¯Æ°¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£Î¾Êý¤È¤â´ðËܥѡ¼¥Æ¥£¥·¥ç¥ó¤Ç¤Ê¤± ¤ì¤Ð¤Ê¤é¤º¡¢µ¯Æ°¤·¤¿¤¤Êý¤ò¥¢¥¯¥Æ¥£¥Ö¡¦¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ËÀßÄꤹ¤ëɬÍפ¬¤¢¤ë ¤Ç¤·¤ç¤¦¡£ 4.4 MS Windows NT -------------------------------------- Windows NT ¤Ï FAT32 ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òÆÉ¤ó¤À¤ê¡¢µ¯Æ°¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£ ¤½¤ì¤æ¤¨¡¢¤â¤· Windows NT ¤Ç»È¤¤¤¿¤¤¤Ê¤é¡¢FAT16 ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤«¤é FAT32 ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ËÊѹ¹¤·¤Æ¤ÏÀäÂФ¤¤±¤Þ¤»¤ó¡£ 4.5 MS Windows 2000 ----------------------- Windows 2000 ¤Ï¡¢¥·¥¹¥Æ¥à¡¦¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î FAT ¤Î¼ïÎà (FAT16 ¤« FAT32) ¤òÊѹ¹¤·¤¿¤é¡¢¤½¤Î¥Ö¡¼¥È¡¦¥í¡¼¥À¤òºÆ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤òÍ׵ᤷ¤Þ¤¹¡£Parted ¤Ï¤³¤ì¤ò¹Ô¤ª¤¦¤È»î¤ß¤ëÁ°¤Ë·Ù¹ð¤¹¤ë¤Ç¤·¤ç¤¦¡£¤½¤Î¥Ö¡¼¥È¡¦¥í¡¼¥À¤òºÆ¥¤¥ó¥¹¥È¡¼ ¥ë¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹: (1) Windows 2000 ¤Î CD ¤«¤éµ¯Æ°¤·¤Þ¤¹¡£ (2) ¥¤¥ó¥¹¥È¡¼¥ë¤Ë¼è¤ê¤«¤«¤ê¤¿¤¤¤«¤É¤¦¤«¤ò¿Ö¤¯¤Ç¤·¤ç¤¦¡£Enter ¤òÂǤÁ¤Þ¤¹¡£ (3) ¤½¤·¤Æ¡¢¿·¤·¤¤¥·¥¹¥Æ¥à¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤¤¤«¡¢Â¸ºß¤¹¤ë¥·¥¹¥Æ¥à¤ò½¤Éü¤· ¤¿¤¤¤«¤ò¿Ò¤Í¤ë¤Ç¤·¤ç¤¦¡£¸å¼Ô¤òÁª¤Ó¤Þ¤¹ (¡ÖR¡×¤ò²¡¤·¤Æ)¡£ (4) ¼«Æ°½¤Éü¤ò¹Ô¤¤¤¿¤¤¤«¡¢Éüµì¥³¥ó¥½¡¼¥ë (recovery console) ¤ò»È¤¤¤¿¤¤¤«¤ò ¿Ö¤¯¤Ç¤·¤ç¤¦¡£Éüµì¥³¥ó¥½¡¼¥ë¤ò»È¤¦¤ÈÁªÂò¤·¤Þ¤¹¡£ (5) ¤½¤Î¥³¥ó¥½¡¼¥ë¤Ç¡¢¤³¤¦ÂǤÁ¤Þ¤¹: C:\>fixboot NT/2000 ¤Î¥Ö¡¼¥È¡¦¥í¡¼¥À¤Ï¤Þ¤¿°Ê²¼¤òɬÍפȤ·¤Þ¤¹: * ¡Ø´ðËܡ٠FAT12¡¢FAT16¡¢¤¢¤ë¤¤¤Ï¡¢NTFS ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó (Windows 2000 ¤Ç¤Ï FAT32 ¤â²Äǽ)¡¢¤½¤ì¤Ï¡Ö¥·¥¹¥Æ¥à¡¦¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¡×¤È¸Æ¤Ð¤ì¤Þ¤¹¤¬¡¢¤½¤ÎÃæ¤Ë¡¢ ¤½¤ì¼«¿È¤Î¥Ö¡¼¥È¡¦¥»¥¯¥¿¤Î¥³¡¼¥É¤¬¤¢¤ë¤³¤È¡£¤³¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï¡Öboot¡× ¥Õ¥é¥°¤¬ Parted ¤ÇΩ¤Æ¤é¤ì¤Æ¤¤¤ë¤Ù¤­¤Ç¤¹¡£ * ¥Õ¥¡¥¤¥ë NTLDR¡¢BOOT.INI ¤È NTDETECT.COM ¤¬¥·¥¹¥Æ¥à¡¦¥Ñ¡¼¥Æ¥£¥·¥ç¥óÆâ¤Ë ¤¢¤ë¤³¤È¡£BOOT.INI ¤Ï´ðËܥѡ¼¥Æ¥£¥·¥ç¥ó¤ÎʪÍý°ÌÃÖ¤ä¡Ö¥Ö¡¼¥È¡¦¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¡× ¤È¸Æ¤Ð¤ì¤ë¡¢Windows NT ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿ÏÀÍý¥É¥é¥¤¥Ö¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤òÊÝ»ý ¤·¤Þ¤¹¡£¥Ö¡¼¥È¡¦¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤È¥·¥¹¥Æ¥à¡¦¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï°ì¤Ä¤Î´ðËܥѡ¼¥Æ¥£ ¥·¥ç¥ó¤Ë°ì½ï¤ËÀßÃÖ¤·¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£ * Ǥ°Õ¤Ç¡¢¥Õ¥¡¥¤¥ë NTBOOTDD.SYS ¤¬¥·¥¹¥Æ¥à¡¦¥Ñ¡¼¥Æ¥£¥·¥ç¥óÆâ¤Ë¤¢¤ë¤³¤È¡¢ ¤½¤ì¤Ï¡¢¼«¿È¤Î BIOS ¤ò»ý¤¿¤Ê¤¤ (¤¢¤ë¤¤¤Ï¡¢¤½¤Î BIOS ¤¬Â礭¤Ê¥Ç¥£¥¹¥¯¤Ë¥¢¥¯ ¥»¥¹¤Ç¤­¤Ê¤¤) ¤È¤­¤Î¡¢SCSI ¤ä IDE ¥³¥ó¥È¥í¡¼¥é¤Î̾Á°¤òÊѤ¨¤é¤ì¤¿¥Ç¥£¥¹¥¯¡¦ ¥É¥é¥¤¥Ð¤Ç¤¹¡£ * MS Windows NT ¤Ç¤Ï¡¢¥·¥¹¥Æ¥à¡¦¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï¥·¥ê¥ó¥À 1024 °ÊÁ°¤Ç½ª¤ï¤ë ¤Ù¤­¤Ç¡¢¥·¥ê¥ó¥À 1024 °ÊÁ°¤Ë³«»Ï¤·¡Ø¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡Ù¡£¤â¤·¥·¥ê¥ó¥À 1024 °Ê¹ß¤Ç½ª¤ï¤ê¡¢µ¯Æ°¤ËɬÍפʥե¡¥¤¥ë¤¬¤³¤Î¶­³¦°Ê¹ß¤Ëư¤«¤µ¤ì¤¿¤é¡¢MS Windows NT ¤Ï¤â¤Ï¤ä³«»Ï¤·¤Ê¤¤¤Ç¤·¤ç¤¦! * ¥Ö¡¼¥È¤È¥·¥¹¥Æ¥à¡¦¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÎξÊý¤Ï¡¢¤½¤Î¾¤ÎÊѹ¹¤Ê¤·¤Ë¡¢Â礭¤µ¤ò Êѹ¹¤µ¤ì¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£ * ¤â¤·¥Ö¡¼¥È¡¦¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÎÈÖ¹æ (¤Ä¤Þ¤ê¡¢¤½¤Î¡Ø¥Þ¥¤¥Ê¡¼¡ÙÈÖ¹æ) ¤¬Êѹ¹ ¤µ¤ì¤ì¤Ð¡¢BOOT.INIT ¤ò¹¹¿·¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ 4.6 Quik ------------ Quik ¤Ï¡ÖµìÀ¤³¦ (old world)¡×¤Î Macintosh PowerPC ÍѤΡ¢ÉáµÚ¤·¤¿¥Ö¡¼¥È¡¦ ¥í¡¼¥À¤Ç¤¹¡£¤â¤·ext2 ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÎÂ礭¤µ¤òÊѤ¨¤¿¤é¡¢Quik ¤òºÆ¥¤¥ó¥¹¥È¡¼ ¥ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹: # /sbin/quik 4.7 Yaboot -------------- Yaboot ¤Ï¡Ö¿·À¤³¦ (new world)¡×¤Î Macintosh PowerPC ÍѤΡ¢ÉáµÚ¤·¤¿¥Ö¡¼¥È¡¦ ¥í¡¼¥À¤Ç¤¹¡£(¡Ö¿·À¤³¦¡×¤Ï 1999 ¤«¤éÀ½Â¤¤µ¤ì¤Æ¤¤¤ë¡¢¿§¤ÎÉÕ¤¤¤¿ PowerPC ¤Ë °¤·¤Æ¤¤¤Þ¤¹) Yaboot ¤Ï¡¢¾¯¤Ê¤¯¤È¤â 800k ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡¢¤½¤ì¼«¿È¤Îµ¯Æ°¥Ñ¡¼¥Æ¥£ ¥·¥ç¥ó¤òɬÍפȤ·¤Þ¤¹¡£¤À¤«¤é¡¢¤â¤· GNU/Linux ¤ò¿¿¤Ã¿·¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¤ ¤ë¤Ê¤é¡¢¤³¤Î¤è¤¦¤Ê¤³¤È¤ò¤¹¤ë¤Ç¤·¤ç¤¦: (parted) mklabel mac (parted) print Disk geometry for /dev/sda: 0.000-6149.882 megabytes Disk label type: mac Minor Start End Filesystem Name Flags 1 0.000 0.031 Apple (parted) mkpart primary hfs 0.032 1 (parted) print Disk geometry for /dev/hdb: 0.000-6149.882 megabytes Disk label type: mac Minor Start End Filesystem Name Flags 1 0.000 0.031 Apple 2 0.031 1.000 (parted) set 2 boot on (parted) print Disk geometry for /dev/hdb: 0.000-6149.882 megabytes Disk label type: mac Minor Start End Filesystem Name Flags 1 0.000 0.031 Apple 2 0.031 1.000 boot ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÎÂ礭¤µ¤òÊѹ¹¤·¤¿¸å¤Ë Yaboot ¤òºÆ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë ɬÍפϤ¢¤ê¤Þ¤»¤ó¡£Yaboot ¤Ï ybin ¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡£ ------------------------------------------------------------------------------ 5 ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à ------------------------------------------------------------------------------ º£¤Î¤È¤³¤í¡¢Parted ¤Ï GNU/Linux ¤Î²¼¤Ç¤Î¤ßưºî¤·¤Þ¤¹¡£¤·¤«¤·¡¢Â¾¤Î¥ª¥Ú¥ì¡¼ ¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ»È¤ï¤ì¤Æ¤¤¤ë¡¢¤¢¤ë¤¤¤Ï¡¢¶¦Í­¤µ¤ì¤¿¥Ñ¡¼¥Æ¥£¥·¥ç¥ó ¤ÎÂ礭¤µ¤òÊѹ¹¤¹¤ë¤Î¤ËÍøÍѤǤ­¤Þ¤¹¡£ ¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤ÎÂ礭¤µ¤òÊѹ¹¤·¤¿¤¤¤È¤­¡¢¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤ò³Îǧ ¤·¤Æ¤¯¤À¤µ¤¤¡£Parted ¤Ï¥Þ¥¦¥ó¥È¤µ¤ì¤¿¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÎÂ礭¤µ¤òÊѹ¹¤Ç¤­¤Þ¤»¤ó (¤³¤ì¤Ï¾­ÍèÊѤï¤ë¤«¤â¤·¤ì¤Þ¤»¤ó...) ¤â¤·¥ë¡¼¥È¤ä¥Ö¡¼¥È¡¦¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÎÂ礭¤µ¤òÊѹ¹¤·¤¿¤¤¤Ê¤é¡¢¥Ö¡¼¥È¡¦¥Ç¥£¥¹¥¯ ¤ò»È¤¦ (¥»¥¯¥·¥ç¥ó 1.5 ¤ò»²¾È) ¤«¡¢ext2resize ¥Ñ¥Ã¥±¡¼¥¸¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¡¢ Andreas Dilger ¤Î online ext2 resizer (¾Ü¤·¤¯¤Ï¡¢6¾Ï¤ò»²¾È) ¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£ ¤â¤·¥Þ¥¦¥ó¥È¤µ¤ì¤¿¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤¬¤¢¤ë¥Ç¥£¥¹¥¯¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¡¦¥Æ¡¼¥Ö¥ë¤ò ½¤Àµ¤¹¤ë¤Ê¤é¡¢¤¹¤°¤ËºÆµ¯Æ°¤¹¤ë¤Ù¤­¤Ç¤¹¡£Linux ¤Ï¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¡¦¥Æ¡¼¥Ö¥ë¤Ë ²Ã¤¨¤¿Êѹ¹¤Ë¤Ä¤¤¤ÆÊ¬¤«¤é¤Ê¤¤¤Ç¤·¤ç¤¦¡£ (¤³¤ì¤Ï¥«¡¼¥Í¥ë 2.4 ¤Ç¡¢¤½¤ì¤Î¥µ¥Ý¡¼ ¥È¤òÄɲ乤ë¤È¤­¤Ëľ¤µ¤ì¤ë¤Ç¤·¤ç¤¦) 5.1 GNU/Linux ¤È FreeBSD ------------------------------------------------------------------------------ ξÊý¤Î¥·¥¹¥Æ¥à¤Ï¥Ç¥£¥¹¥¯¡¦¥é¥Ù¥ë¤Ë¤Ï¤«¤Ê¤ê½ÀÆð¤Ç¡¢¤¿¤¯¤µ¤ó¤Î°Û¤Ê¤ë¥Ç¥£¥¹¥¯¡¦ ¥é¥Ù¥ë¤Î¼ïÎà¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£ FreeBSD ¤Ï¡¢MSDOS ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¡¦¥Æ¡¼¥Ö¥ë¤È¤Ï¸ß´¹À­¤Î¤Ê¤¤¡¢ ¥Ç¥£¥¹¥¯¡¦¥é¥Ù¥ë¡¦¥·¥¹¥Æ¥à¤È¡¢MSDOS ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¡¦¥Æ¡¼¥Ö¥ë¤È¸ß´¹¤Ê¡¢ ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¡¦¥¹¥é¥¤¥¹¡¦¥·¥¹¥Æ¥à¤ò»ý¤Á¤Þ¤¹¡£Parted ¤Ï BSD ¥Ç¥£¥¹¥¯¡¦ ¥é¥Ù¥ë¡¦¥·¥¹¥Æ¥à¤À¤±¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£¤½¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¡¦¥¹¥é¥¤¥¹¡¦¥·¥¹¥Æ¥à ¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤³¤È¤Ï¤¢¤ê¤½¤¦¤Ë¤Ê¤¯¡¢¤Ê¤¼¤Ê¤é¡¢¤½¤Î°ÕÌ£ÏÀ¤Ï¤¤¤µ¤µ¤«´ñ̯¤Ç¡¢ ¡ÖÉáÄ̤Ρץѡ¼¥Æ¥£¥·¥ç¥ó¡¦¥Æ¡¼¥Ö¥ë¤¬¤ä¤ë¤è¤¦¤Ë¤ÏƯ¤«¤Ê¤¤¤«¤é¤Ç¤¹¡£ 5.2 MS Windows ¤È OS/2 ------------------------------------------------------------------------------ MS Windows ¤È OS/2 ¤Ï msdos ¥Ç¥£¥¹¥¯¡¦¥é¥Ù¥ë¤À¤±¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£¤½¤ì¤æ ¤¨¡¢¤â¤·¿·¤·¤¤¥Ç¥£¥¹¥¯¡¦¥é¥Ù¥ë¤òºîÀ®¤¹¤ë¤Ê¤é¡¢°Ê²¼¤ò»ÈÍѤ¹¤ë¤Ù¤­¤Ç¤¹: (parted) mklabel msdos 5.3 MacOS ------------------------------------------------------------------------------ MacOS (¤È OpenFirmware) ¤Ï mac ¥Ç¥£¥¹¥¯¡¦¥é¥Ù¥ë¤À¤±¤òÍý²ò¤·¤Þ¤¹¡£¤½¤ì¤æ¤¨¡¢ ¤â¤·¿·¤·¤¤¥Ç¥£¥¹¥¯¡¦¥é¥Ù¥ë¤òºîÀ®¤¹¤ë¤Ê¤é¡¢°Ê²¼¤ò»ÈÍѤ¹¤ë¤Ù¤­¤Ç¤¹: (parted) mklabel mac Ãí: Mac ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¡¦¥Þ¥Ã¥×¤Ç¤Ï¡¢¶õ¤­Îΰè¤Ï¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¡¦¥Þ¥Ã¥×¤Î¹àÌÜ ¤ò¤È¤Ã¤Æ¤·¤Þ¤¦ (¤½¤·¤Æ¡¢Linux ¤Ï 15 ¤òͤ¨¤ë¹àÌܤò»ý¤Ä¤³¤È¤ò¹¥¤Þ¤Ê¤¤) ¤Î¤Ç¡¢ ¶õ¤­Îΰè¤ò»Ä¤¹¤Î¤òÈò¤±¤ë¤Ù¤­¤Ç¤¹¡£Î㤨¤Ð¡¢¤â¤·°Ê²¼¤ò¹Ô¤¨¤Ð: (parted) print Disk geometry for /dev/sda: 0.000-6149.882 megabytes Disk label type: mac Minor Start End Filesystem Name Flags 1 0.000 0.031 Apple 2 0.031 1.000 boot 3 1.000 1000.000 ext2 root root (parted) mkpartfs primary ext2 1001 2000 (parted) print Disk geometry for /dev/sda: 0.000-6149.882 megabytes Disk label type: mac Minor Start End Filesystem Name Flags 1 0.000 0.031 Apple 2 0.031 1.000 boot 3 1.000 1000.000 ext2 root root 4 1001.000 2000.000 ext2 ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó 3 ¤È 4 ¤Î´Ö¤Ë¡¢1 ¥á¥¬¥Ð¥¤¥È¤Î¶õ¤­Îΰ褬¤¢¤ê¤Þ¤¹¡£¥Ñ¡¼¥Æ¥£ ¥·¥ç¥ó¤ò 0.1M Î¥¤·¤ÆºîÀ®¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¤³¤ì¤òÈò¤±¤é¤ì¤Þ¤¹ (¤³¤Î¾ì¹ç¡¢ Parted ¤Ï¼«Æ°Åª¤Ë¤½¤ì¤é¤ò°ì½ï¤Ë¡Ö²¡¤·¹þ¤ß¡×¤Þ¤¹)¡£¤À¤«¤é¡¢¾å¤ÎÎã¤Ç¤Ï¡¢ÊѤï¤ê ¤Ë¼¡¤ò¹Ô¤¦¤Ù¤­¤Ç¤¹: (parted) mkpartfs primary ext2 1000.1 2000 (parted) print Disk geometry for /dev/sda: 0.000-6149.882 megabytes Disk label type: mac Minor Start End Filesystem Name Flags 1 0.000 0.031 Apple 2 0.031 1.000 boot 3 1.000 1000.000 ext2 root root 4 1000.000 2000.000 ext2 ------------------------------------------------------------------------------ 6 ¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à ------------------------------------------------------------------------------ Parted ¤Ï°Ê²¼¤ÎÁàºî¤ËÂФ¹¤ë¥µ¥Ý¡¼¥È¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹: ¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à ¸¡½Ð ºîÀ® Â礭¤µÊѹ¹ ¥³¥Ô¡¼ ÅÀ¸¡ ext2 * * *1 *2 *3 ext3 * *1 *2 *3 fat * * *4 *4 * hfs * jfs * linux-swap * * * * * ntfs * reiserfs * ufs * xfs * Ãí: (1) ext2 ¤È ext3 ¤Ç¤Ï¡¢¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î³«»ÏÅÀ¤Ï¸ÇÄꤵ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ (2) ¥³¥Ô¡¼Àè¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï¡¢¥³¥Ô¡¼¸µ¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤è¤êÂ礭¤¯ (¤¢¤ë¤¤¤Ï¡¢ ´°Á´¤ËƱ¤¸¥µ¥¤¥º) ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ (3) ¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤¬³«¤«¤ì¤ë¤È¤­¤Ë¡¢¸ÂÄꤵ¤ì¤¿ÅÀ¸¡¤¬¹Ô¤ï¤ì¤Þ¤¹¡£¤³¤ì¤¬ º£¤Î¤È¤³¤íÍ£°ì¤ÎÅÀ¸¡¤Ç¤¹¡£¤â¤·¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Ë²¿¤é¤«¤Î¸í¤ê(¤½¤·¤Æ¡¢°ìÈÌ ¤Ë¸í¤ê¤ÎÂçȾ) ¤¬¤¢¤ì¤Ð¡¢(resize ¤ò´Þ¤à) Á´¤Æ¤Î¥³¥Þ¥ó¥É¤Ï¤½¤Î¼ºÇÔ¤ò¾å¼ê¤¯½èÍý ¤·¡¢¤½¤Î¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Ï¼êÉÕ¤«¤º¤Î¤Þ¤Þ¤Ë¤Ê¤ê¤Þ¤¹¡£ (4) fat ¤Ç¤Ï¡¢Â礭¤µ¤ÎÊѹ¹¤ä¥³¥Ô¡¼¤Î¸å¡¢¿·¤·¤¤¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÎÂ礭¤µ¤Ï¥¯¥é ¥¹¥¿¤ÎÂ礭¤µ¤ËÀ©¸Â¤µ¤ì¤Þ¤¹ (¼ç¤Ë FAT16 ¤Ë±Æ¶Á¤·¤Þ¤¹)¡£¤³¤ì¤Ï¤¢¤Ê¤¿¤¬¹Í¤¨¤ë ¤è¤ê¤â°­¤¯¤Æ¡¢¤È¤¤¤¦¤Î¤â¡¢¥¯¥é¥¹¥¿¤ÎÂ礭¤µ¤òÁª¤Ö¤³¤È¤Ï¤Ç¤­¤Ê¤¤¤«¤é¤Ç¤¹ (¤½¤ì¤Ï Windows ¤Î¥Ð¥°¤Ç¤¹¤¬¡¢¸ß´¹À­¤ÏÍߤ·¤¤¡¢¤½¤¦¤Ç¤¹¤è¤Í?) ¤À¤«¤é¡¢¼ÂºÝŪ¤Ë¤Ï¡¢(Parted ¤Ï¥¯¥é¥¹¥¿¤ÎÂ礭¤µ¤ò½Ì¾®¤Ç¤­¤ë¤Î¤Ç) ¥Ñ¡¼ ¥Æ¥£¥·¥ç¥ó¤ò¾ï¤Ë½Ì¾®¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢¤¢¤Ê¤¿¤¬Íߤ¹¤ëÂ礭¤µ¤Ë¡¢¥Ñ¡¼¥Æ¥£ ¥·¥ç¥ó¤òÁýÂ礵¤»¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£¤â¤· FAT32 ¤ò»È¤¦¤³¤È¤Ë²¿¤â ÌäÂ꤬¤Ê¤¤¤Ê¤é¡¢¾ï¤Ë¤¢¤Ê¤¿¤¬Íߤ¹¤ëÂ礭¤µ¤Ë¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òÁýÂ礵¤»¤é¤ì¤ë¤Ç ¤·¤ç¤¦¡£ Í×Ìó: ¤¤¤Ä¤Ç¤â¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò½Ì¾®¤Ç¤­¤Þ¤¹¡£¤â¤·²¿¤é¤«¤ÎÍýͳ¤Ç FAT32 ¤ò»È¤¨¤Ê¤¤¤Ê¤é¡¢¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òÁýÂ礵¤»¤é¤ì¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£ 6.1 Ext2 ------------------------------------------------------------------------------ Parted ¤Ï (¤Þ¤À) ext2 ¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Î¥³¥Ô¡¼¤òľÀܤϥµ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó¡£ ¤·¤«¤·¤Ê¤¬¤é¡¢¤³¤ì¤ò°Ù¤¹¿ë¤²¤ëÊýË¡¤¬¾¯¤·¤À¤±¤¢¤ê¤Þ¤¹: * Parted ¤Î mkfs ¥³¥Þ¥ó¥É (¤« mkfs.ext2) ¤ò»È¤¤¡¢¤½¤ì¤«¤é¥·¥§¥ë¤Ç °Ê²¼¤ò¼Â¹Ô¤·¤Þ¤¹: ľ¤·¤Æ¤¯¤ì¡ª¡ª ¤³¤ì¤Ï¤¢¤Þ¤ê¾å¼ê¤¯¹Ô¤«¤Ê¤¤ - ¤Ç¤âÂçÄñ¤Î¿Í¤Ë¤ÏÂç¾æÉ× ¤Ê¤Ï¤º... # mount -t ext2 /dev/hda2 /mnt/dst # find /mnt/src -depth | cpio -pm /mnt/dst * ¤â¤·Ê£À½¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤¬¸µ¤è¤ê¤âÂ礭¤¯¤Ê¤ë¤Ê¤é¡¢¤³¤¦¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹: ¤Þ¤º¡¢¿·¤·¤¤ ext2 ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºîÀ®¤·¤Þ¤¹¡£¤½¤ì¤«¤é: # dd if=/dev/src-device of=/dev/dst-device bs=1024 count=(OLD SIZE) # parted /dev/hda resize 2 (START) (END) ¤³¤³¤Ç¡¢(OLD SIZE) ¤Ï¸µ¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò¥­¥í¥Ð¥¤¥È¤Çɽ¤·¤¿Â礭¤µ¤Ç¤¹¡£ (START) ¤È (END) ¤ÏÊ£À½¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ËÂФ¹¤ë¡¢¿·¤·¤¤³«»ÏÅÀ¤È½ªÃ¼¤Ç¤¹¡£ 6.2 FAT16 ¤È FAT32 ------------------------------------------------------------------------------ Parted ¤Ï (¤Þ¤À) FAT ¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Î¥¯¥é¥¹¥¿¤ÎÂ礭¤µ¤òÁýÂ礵¤»¤é¤ì¤Þ¤» ¤ó¡£¤³¤Î¤³¤È¤Î¤¿¤á¤Ë¡¢¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÎÂ礭¤µ¤ÎÊѹ¹¤ä¥³¥Ô¡¼¤ËÀ©¸Â¤¬Àߤ±¤é¤ì¤Þ ¤¹¡£¤³¤ì¤Ï¤·¤Ð¤·¤ÐÁ´¤¯´ñ²ø¤Ç¡¢¤È¤¤¤¦¤Î¤â¡¢Parted ¤Ï FAT16 ¤È FAT32 ¤Î¥Õ¥¡¥¤ ¥ë¡¦¥·¥¹¥Æ¥à¤òÊÑ´¹¤Ç¤­¤ë¤«¤é¤Ç¡¢¥¯¥é¥¹¥¿¤ÎÂ礭¤µ¤¬¤É¤ì¤Û¤É¤Ë¤Ê¤êÆÀ¤ë¤«¤Ë¤Ä¤¤ ¤Æ¡¢°Û¤Ê¤ëÀ©¸Â¤¬¤¢¤ê¤Þ¤¹¡£ Î㤨¤Ð¡¢¥¯¥é¥¹¥¿¤ÎÂ礭¤µ¤¬ 4k ¤Ç¤¢¤ë 100Mb ¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤¬¤¢¤ë¤È¤·¤Æ¤ß¤Þ ¤·¤ç¤¦¡£¤³¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò 400Mb ¤ËÊѹ¹¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¤Ê¤¼¤Ê¤é¡¢¤½ ¤Î¥¯¥é¥¹¥¿¤ÎÂ礭¤µ¤ò 16k ¤ËÊѹ¹¤¹¤ëɬÍפ¬¤¢¤ë¤«¤é¤Ç¤¹¡£¤·¤«¤·¡¢¤â¤· FAT32 ¤ò»È¤¨¤Ð¡¢¤½¤ì¤Ï 600Mb ¤ËÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£600Mb ¤Î FAT32 ¥Õ¥¡¥¤¥ë¡¦¥· ¥¹¥Æ¥à¤ËÂФ·¤Æ¡¢µÕ¤âÀ®¤êΩ¤Á¤Þ¤¹¡£ Ãí: ¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤ò¥³¥Ô¡¼¤·¤¿¤ê¡¢Â礭¤µ¤òÊѹ¹¤¹¤ë¤È¤­¡¢Parted ¤Ï (¤â¤· ²Äǽ¤Ê¤é) FAT16 ¤È FAT32 ¤Î´Ö¤ÇÊÑ´¹¤·¤¿¤¤¤«¿Ò¤Í¤ë¤Ç¤·¤ç¤¦¡£¤½¤ì¤æ¤¨¡¢¤¢¤ë ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò (Â礭¤µ¤òÊѹ¹¤»¤º¤Ë) FAT32 ¤ËÊÑ´¹¤·¤¿¤¤¤À¤±¤Ê¤é¡¢¤½¤Î¥Ñ¡¼ ¥Æ¥£¥·¥ç¥ó¤òƱ¤¸Â礭¤µ¤ËÊѹ¹¤¹¤ë¤À¤±¤Ç¤Ç¤­¤Þ¤¹¡£ 6.2.1 MS DriveSpace ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó -------------------------------- MS DriveSpace ¤Ï MS Windows 95 ¤ËÉÕ°¤·¤Æ¤¤¤ë¥×¥í¥°¥é¥à¤Ç¡¢FAT ¥Õ¥¡¥¤¥ë¡¦ ¥·¥¹¥Æ¥à¤ò°µ½Ì¤¹¤ë¤Î¤Ë»ÈÍѤǤ­¤Þ¤¹¡£»ä¤Ï¤³¤ì¤Ï DoubleSpace ¤ÈƱ¤¸¤è¤¦¤Ëưºî ¤¹¤ë¤È¹Í¤¨¤Æ¤¤¤ë¤Î¤Ç¡¢¤³¤³¤Ë½ñ¤«¤ì¤Æ¤¤¤ë¤³¤È¤Ï¤É¤ì¤Ç¤â DoubleSpace ¤Ë¤âÅö¤Æ ¤Ï¤Þ¤ë¤Ï¤º¤Ç¤¹¡£ ¤³¤ì¤é¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÎÂ礭¤µ¤òÊѹ¹¤·¤¿¤ê¥³¥Ô¡¼¤¹¤ë¤¿¤á¤Ë Parted ¤ò»ÈÍѤ¹¤ë ¤³¤È¤Ï²Äǽ¤Ç¤¹¤¬¡¢2¡¢3¡¢Í¾Ê¬¤Ë¤ä¤é¤Ê¤¤¤È¤¤¤±¤Þ¤»¤ó... 6.2.1.1 DriveSpace ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÎÁýÂç -------------------------------------- (1) ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò˾¤ß¤ÎÂ礭¤µ¤ËÁýÂ礵¤»¤ë¤Î¤Ë¡¢Parted ¤Î resize ¥³¥Þ¥ó¥É ¤ò»È¤¤¤Þ¤¹¡£ (2) ¶õ¤­Îΰè¤ò¥Û¥¹¥È¡¦¥É¥é¥¤¥Ö¤«¤é°µ½Ì¥É¥é¥¤¥Ö¤Ø°Ü¤¹¤¿¤á¤Ë¡¢MS DriveSpace ¤ò»ÈÍѤ·¤Þ¤¹¡£ 6.2.1.2 DriveSpace ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î½Ì¾® ---------------------------------------- (1) °µ½Ì¥É¥é¥¤¥Ö¤«¤é¥Û¥¹¥È¡¦¥É¥é¥¤¥Ö¤Ø¶õ¤­Îΰè¤ò°Ü¤¹¤¿¤á¤Ë¡¢MS DriveSpace ¤ò»ÈÍѤ·¤Þ¤¹¡£°Ü¤µ¤ì¤ë¶õ¤­Îΰè¤ÎÎ̤ϥѡ¼¥Æ¥£¥·¥ç¥ó¤ò½Ì¾®¤¹¤ë¡¢Ë¾¤ß¤ÎÎÌ¤È °ìÃפ·¤Þ¤¹¡£ (2) ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò˾¤ß¤ÎÂ礭¤µ¤Ë½Ì¾®¤¹¤ë¤¿¤á¤Ë¡¢Parted ¤Î resize ¥³¥Þ¥ó¥É ¤ò»ÈÍѤ·¤Þ¤¹¡£Ãí: Parted ¤Ï¤½¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò¤É¤ì¤À¤±½Ì¾®¤¹¤ë¤Î¤«¤¬Ê¬¤«¤ë ¤è¤¦¡¢¤½¤Î¿ô»ú¤ò¾å¼ê¤¯ÊÖ¤·¤Æ¤Ï¤¯¤ì¤Þ¤»¤ó¡£¤³¤ì¤Ï¤ä¤ë¤Ù¤­¤³¤È¤Î¥ê¥¹¥È¤Ëµó¤² ¤é¤ì¤Æ¤¤¤Þ¤¹¡£ 6.2.1.3 DriveSpace ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î¥³¥Ô¡¼ -------------------------------------- ¤â¤· DriveSpace ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò¤â¤Ã¤ÈÂ礭¤¤¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë¥³¥Ô¡¼¤·¤¿¤¤¤Ê¤é¡¢ ˾¤ß¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÎÂ礭¤µ¤òÊѤ¨¤ë¤Î¤Ç¤Ï¤Ê¤¯¥³¥Ô¡¼¤¹¤ë¤³¤È¤ò½ü¤¤¤Æ¡¢ DriveSpace ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÎÁýÂçÍѤÎÀâÌÀ¤Ë½¾¤Ã¤Æ¤¯¤À¤µ¤¤¡£¤½¤·¤Æ¡¢DriveSpace ¤Ç¤Î¿·¤·¤¤¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò»È¤Ã¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤·¤«¤·¡¢¤â¤· DriveSpace ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò¤è¤ê¾®¤µ¤Ê¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë¥³¥Ô¡¼ ¤·¤¿¤¤¤Ê¤é¡¢Êª»ö¤Ï¾¯¡¹Ê£»¨¤Ë¤Ê¤ê¤Þ¤¹: (1) °µ½Ì¥É¥é¥¤¥Ö¤«¤é¸»¤Ç¤¢¤ë¥Û¥¹¥È¡¦¥É¥é¥¤¥Ö¤Ë¶õ¤­Îΰè¤ò°Ü¤¹¤¿¤á¤Ë¡¢MS DriveSpace ¤ò»È¤¤¤Þ¤¹¡£°Ü¤µ¤ì¤ëÎΰè¤ÎÎ̤ϸµ¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÈÊ£À½¥Ñ¡¼¥Æ¥£ ¥·¥ç¥ó¤Î˾¤ß¤ÎÂ礭¤µ¤Îº¹¤è¤ê¤âÂ礭¤¯¤¢¤ë¤Ù¤­¤Ç¤¹¡£ (2) ¸µ¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òÊ£À½¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ø¥³¥Ô¡¼¤¹¤ë¤¿¤á¡¢Parted ¤ò»È¤¤ ¤Þ¤¹¡£ (3) ¸µ¤Î¥Û¥¹¥È¡¦¥É¥é¥¤¥Ö¤«¤é°µ½Ì¥É¥é¥¤¥Ö¤Ø¶õ¤­Îΰè¤òÌ᤹¤¿¤á¡¢MS DriveSpace ¤ò»È¤¤¤Þ¤¹¡£ (4) Ê£À½¥Û¥¹¥È¡¦¥É¥é¥¤¥Ö¤«¤é°µ½Ì¥É¥é¥¤¥Ö¤Ø¶õ¤­Îΰè¤òÌ᤹¤¿¤á¡¢MS DriveSpace ¤ò»È¤¤¤Þ¤¹¡£ 6.3 Reiserfs ------------------------------------------------------------------------------ Parted ¤Ï reiserfs ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó¡£¤·¤«¤·¡¢reiserfs ¤Ë¤Ï¤½¤ì¼«¿È¤Î Â礭¤µÊѹ¹¥Ä¡¼¥ë¡¢resize_reiserfs ¤¬ÉÕ¤¤¤Æ¤¤¤Þ¤¹¡£¤¿¤À¤¢¤Ê¤¿¤ÎÃΤ餻¤ë¤¿¤á ¤À¤±¤Ë ;-) ------------------------------------------------------------------------------ 7 LVM¡¢RAID ¤ÈľÀÜŪ¤Ê¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Ø¤Î¥¢¥¯¥»¥¹ ------------------------------------------------------------------------------ LVM (ÏÀÍý¥Ü¥ê¥å¡¼¥à¡¦¥Þ¥Í¡¼¥¸¥ã) ¤Ï¥Ñ¡¼¥Æ¥£¥·¥ç¥Ë¥ó¥°¤ÎÂåÂØ¥·¥¹¥Æ¥à¤Ç¤¹¡£¤½¤ì ¤ÏÏÀÍý¥Ü¥ê¥å¡¼¥à (¤Ä¤Þ¤ê¡¢¡Ö²¾Áۥѡ¼¥Æ¥£¥·¥ç¥ó¡×) ¤¬¤¿¤¯¤µ¤ó¤ÎʪÍý¥Ü¥ê¥å¡¼¥à (¤Ä¤Þ¤ê¡¢¥Ï¡¼¥É¡¦¥Ç¥£¥¹¥¯¤ä¥Ñ¡¼¥Æ¥£¥·¥ç¥ó) ¤Ë¹­¤¬¤ë¤³¤È¤òµö¤·¤Þ¤¹¡£LVM ¤Ï Linux ¥Ð¡¼¥¸¥ç¥ó 2.4 ¤«¤½¤ì°Ê¹ß¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ RAID (°Â²Á¤Ê¥Ç¥£¥¹¥¯¤Î¾éŤÊÇÛÎó) ¤Ï¤¿¤¯¤µ¤ó¤Î¥Ç¥£¥¹¥¯¤ä¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò°ì½ï ¤Ë¡¢¡Ö²¾Áۥѡ¼¥Æ¥£¥·¥ç¥ó¡×¤È¤·¤Æ»È¤¦¤¿¤á¤Î¥·¥¹¥Æ¥à¤Ç¤¹¡£¥½¥Õ¥È¥¦¥§¥¢ RAID ¤ò ÍøÍѤ¹¤ë¤Î¤Ë¡¢¿ô¼ï¤Î°Û¤Ê¤ë¥â¡¼¥É¤¬¤¢¤ê¡¢ËܼÁŪ¤Ë¤Ï: * À­Ç½¤ò¸þ¾å¤µ¤»¡¢Á´Îΰè¤òñ°ì¤Î¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¾å¤ÇÍøÍѤǤ­¤ë¤è¤¦¤Ë¤¹¤ë ¤¿¤á¡¢Ê£¿ô¤Î (¾®¤µ¤Ê) ¥Ç¥£¥¹¥¯¤òñ°ì¤Î¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Î¤¿¤á¤Ë»ÈÍÑ¡£ * ¿®ÍêÀ­¤ÈÀ­Ç½¤ò¸þ¾å¤µ¤»¤ë¤¿¤á¡¢¾ðÊó¤Î¾éĹ¤Ê¥³¥Ô¡¼¤ò¼ý¤á¤ë¤Î¤ËÊ£¿ô¤Î¥Ç¥£¥¹ ¥¯¤ò»ÈÍÑ¡£ ¥½¥Õ¥È¥¦¥§¥¢ RAID ¤Ï Linux ¥Ð¡¼¥¸¥ç¥ó 2.0 ¤«¤½¤ì°Ê¹ß¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¥Ï¡¼¥É¥¦¥§¥¢ RAID ¤Ï¤Õ¤Ä¤¦¤Ë Parted ¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹ - ¤À¤«¤é¡¢¤â¤· (¥½¥Õ ¥È¥¦¥§¥¢ RAID ¤ËÂФ·¤Æ) ¥Ï¡¼¥É¥¦¥§¥¢ RAID ¤ò»È¤Ã¤Æ¤¤¤ë¤Ê¤é¡¢¤³¤Î¥»¥¯¥·¥ç¥ó¤ò ÆÉ¤àɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ LVM¡¢¥½¥Õ¥È¥¦¥§¥¢ RAID ¤ä¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï¤·¤Ð¤·¤ÐƱ»þ¤Ë»ÈÍѤµ¤ì¤Þ¤¹¤¬¡¢¤½¤ì¤é ¤ÏÁ´¤ÆÆÈΩ¤Ë»È¤ï¤ìÆÀ¤Þ¤¹: * LVM ¤È¥½¥Õ¥È¥¦¥§¥¢ RAID ¤Ï¤·¤Ð¤·¤Ð¡¢À¸¤Î¥Ï¡¼¥É¡¦¥Ç¥£¥¹¥¯¤Ç¤Ï¤Ê¤¯¡¢¥Ñ¡¼ ¥Æ¥£¥·¥ç¥ó¤«¤éÀ®¤êΩ¤Á¤Þ¤¹¡£ * !!! ľ¤·¤Æ¤¯¤ì (Ãí: LVM ¾å¤Ç»È¤ï¤ì¤¿ RAID ¤Ï¤Þ¤À Linux ¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ ¤¤¤Ê¤¤ (?)) GNU Parted ¤Ï LVM ¤ä¥½¥Õ¥È¥¦¥§¥¢ RAID ¤ò´°Á´¤Ë¤Ï¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó¤¬¡¢¤½¤ì ¤é¤Î¸Ä¡¹¤Î¥Ä¡¼¥ë¤ÈÁȤ߹ç¤ï¤»¤Æ»È¤¦¤È¤­¡¢¤½¤ì¤Ç¤â¤Ê¤ªÍ­ÍѤǤ¹¡£Parted ¤Ï°Ê²¼¤Î ºî¶È¤ËÌò¤ËΩ¤Á¤Þ¤¹: * ¥½¥Õ¥È¥¦¥§¥¢ RAID ¤ä LVM ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÎºîÀ® * ÏÀÍý¥Ü¥ê¥å¡¼¥à (¤¢¤ë¤¤¤Ï¡¢¡Ö²¾Áۥѡ¼¥Æ¥£¥·¥ç¥ó¡×) ¾å¤Î¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à ¤ÎºîÀ®¡¢Â礭¤µÊѹ¹¤ä¥³¥Ô¡¼ 7.1 RAID ¤ä LVM ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÎºîÀ® ------------------------------------------------------------------------------- RAID ¤ä LVM ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºîÀ®¤¹¤ë¤¿¤á¤Ë¡¢°Ê²¼¤ò¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó: (1) mkpart ¥³¥Þ¥ó¥É¤Ç¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºîÀ®¤·¤Þ¤¹¡£ (2) ¤½¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¾å¤Î LVM ¤ä RAID ¥Õ¥é¥°¤òΩ¤Æ¤Þ¤¹¡£ Î㤨¤Ð: (parted) mkpart primary ext2 0 4000 (parted) set 1 lvm on Ãí: ¤½¤Î LVM ¤ä RAID ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï¤Þ¤À»ÈÍѽàÈ÷¤¬À°¤Ã¤Æ¤¤¤Ê¤¤¤Ç¤·¤ç¤¦¡£ ¤½¤ì¤Ç¤â¤ä¤Ï¤ê¡¢RAID ¤ËÂФ·¤Æ¤Ï mkraid(8) ¤ò¼Â¹Ô¤·¤¿¤ê¡¢ÊªÍý¥Ü¥ê¥å¡¼¥à¤ò½é´ü ²½¤·¤¿¤ê¡¢ÏÀÍý¥°¥ë¡¼¥×¤òºîÀ®¤¹¤ë¤Ê¤É¤Î¤¿¤á¤Ë¡¢LVM ¥Ä¡¼¥ë¤ò»È¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ 7.2 ¥½¥Õ¥È¥¦¥§¥¢ RAID ¤ä LVM ÏÀÍý¥Ü¥ê¥å¡¼¥à¾å¤Î¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥àÁàºî ------------------------------------------------------------------------------- Parted ¤Ï RAID ¤ä LVM ¤òÍý²ò¤·¤Þ¤»¤ó¤¬¡¢RAID ¤ä LVM ÏÀÍý¥Ü¥ê¥å¡¼¥à¤òÁàºî¤¹¤ë ¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤½¤ì¤Ï Linux ¤Î RAID ¤ä LVM ¤Î¥µ¥Ý¡¼¥È¤òÍøÍѤ·¤Þ¤¹¡£¤½¤ì¤æ¤¨¡¢ ¤¢¤Ê¤¿¤Î Linux ¥«¡¼¥Í¥ë¤¬ RAID ¤ä LVM ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¸Â¤ê¡¢¤³¤ì¤é¤Î ÊýË¡¤ò»È¤¨¤Þ¤¹¡£ RAID ¤ä LVM ÏÀÍý¥Ü¥ê¥å¡¼¥à (¤¢¤ë¤¤¤Ï¡¢¤½¤ì¤¬½ÅÍפʤ顢À¸¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó) ¾å ¤Î¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤òÁàºî¤¹¤ë¤¿¤á¤Ë¡¢ÏÀÍý¥Ü¥ê¥å¡¼¥à (¥Ñ¡¼¥Æ¥£¥·¥ç¥ó) ¥Ç¥Ð¥¤ ¥¹¤òÁª¤Ö¤³¤È¤Ë¤è¤Ã¤Æ¡¢parted ¤ò³«»Ï¤Ç¤­¤Þ¤¹¡£Î㤨¤Ð: # parted /dev/md0 ¤³¤Î¾Ï¤Î»Ä¤ê¤Ç¤Ï¡¢¡Ö²¾ÁۥǥХ¤¥¹¡×¤Ï Parted ¤¬ÊÔ½¸¤·¤Æ¤¤¤ë¥Ç¥Ð¥¤¥¹¤ò»Ø¤¹¤Ç ¤·¤ç¤¦ (¤¹¤°¾å¤ÎÎã¤Ç¤Ï: /dev/md0)¡£ 7.2.1 ¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤ÎºîÀ® ------------------------------ (1) loop ¥Ç¥£¥¹¥¯¡¦¥é¥Ù¥ë¤òºîÀ®¤·¤Þ¤¹¡£¤³¤ì¤Ïµ¶¤Î¥Ç¥£¥¹¥¯¡¦¥é¥Ù¥ë¤Ç¡¢ Parted ¤Ë²¾ÁۥǥХ¤¥¹¤òñ°ì¤Î¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤È¤·¤Æ°·¤¦¤è¤¦¤Ë¶µ¤¨¤Þ¤¹¡£ ¤³¤Îµ¶¤Î¥Ç¥£¥¹¥¯¡¦¥é¥Ù¥ë¤Ç¤Ï¡¢¥¼¥í¡¢¤Þ¤¿¤Ï¡¢°ì¤Ä¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£ (parted) mklabel loop (2) Parted ¤Î mkpartfs ¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¡¢¤½¤Î¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤òºîÀ®¤·¤Þ¤¹¡£ ¤½¤Î¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Î³«»ÏÅÀ¤ò¥¼¥í¤Ë¤¹¤ë¤Ù¤­¤Ç¤¹¡£¤½¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï²¾ÁÛ ¥Ç¥Ð¥¤¥¹Æâ¤Î¤É¤³¤Ç½ª¤ï¤Ã¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£²¾ÁۥǥХ¤¥¹¤ÎÂ礭¤µ¤Ï print ¥³¥Þ ¥ó¥É¤Ç¸«½Ð¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£Îã: (parted) print Disk geometry for /dev/md0: 0.000-47.065 megabytes Disk label type: loop Minor Start End Filesystem Flags (parted) mkpartfs primary ext2 0 47.065 (parted) print Disk geometry for /dev/md0: 0.000-47.065 megabytes Disk label type: loop Minor Start End Filesystem Flags 1 0.000 47.065 ext2 7.2.2 ¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤ÎÂ礭¤µÊѹ¹ ------------------------------ Ä̾²¾ÁۥǥХ¤¥¹¤ÎÂ礭¤µ¤òÊѹ¹¤¹¤ë¤Î¤ÈƱ¤¸»þ¤Ë¡¢¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤ÎÂ礭¤µ ¤òÊѹ¹¤·¤Þ¤¹¡£¤â¤·¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤È²¾ÁۥǥХ¤¥¹¤ÎÂ礭¤µ¤òÁýÂ礵¤»¤Æ¤¤¤ë ¤Ê¤é¡¢¤Þ¤º¤½¤Î¥Ç¥Ð¥¤¥¹¤ò (RAID ¤ä LVM ¥Ä¡¼¥ë¤Ç) ÁýÂ礵¤»¤ë¤Ù¤­¤Ç¡¢¤½¤·¤Æ¤½¤Î ¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤òÁýÂ礵¤»¤Þ¤¹¡£¤â¤·¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤È²¾ÁۥǥХ¤¥¹¤ò½Ì¾® ¤·¤Æ¤¤¤ë¤Ê¤é¡¢¤Þ¤º¤½¤Î¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤ò½Ì¾®¤µ¤»¡¢¤½¤·¤Æ¡¢¤½¤Î²¾ÁۥǥХ¤¥¹ ¤ò¸å¤Ç¹Ô¤¦¤Ù¤­¤Ç¤¹¡£ Parted ¤Ç¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤ÎÂ礭¤µ¤òÊѹ¹¤¹¤ë¤¿¤á¤Ë¡¢resize ¥³¥Þ¥ó¥É¤ò»È¤¤ ¤Þ¤¹¡£Î㤨¤Ð: (parted) select /dev/md0 (parted) resize 1 0 20 7.2.3 ²¾ÁۥǥХ¤¥¹¤«¤é¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ø¤Î¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Î¥³¥Ô¡¼ ------------------------------------------------------------------ ñ¤Ë cp ¥³¥Þ¥ó¥É¤ò»È¤¤¤Þ¤¹¡£Î㤨¤Ð: (parted) select /dev/hda (parted) cp /dev/md0 1 3 7.2.4 ¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤«¤é²¾ÁۥǥХ¤¥¹¤Ø¤Î¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Î¥³¥Ô¡¼ ------------------------------------------------- (1) ²¾ÁۥǥХ¤¥¹¾å¤Ë loop ¥Ç¥£¥¹¥¯¡¦¥é¥Ù¥ë¤òºîÀ®¤·¤Þ¤¹¡£Î㤨¤Ð: (parted) select /dev/md0 (parted) mklabel loop (2) mkpartfs ¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¡¢²¾ÁۥǥХ¤¥¹¾å¤Ë¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤òºîÀ®¤·¤Þ¤¹¡£ Î㤨¤Ð: (parted) mkpartfs primary ext2 0 47.065 (3) cp ¥³¥Þ¥ó¥É¤Ç¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò¥³¥Ô¡¼¤·¤Þ¤¹: (parted) select /dev/hda (parted) cp /dev/md0 3 1 ------------------------------------------------------------------------------ 8 ¥Ç¥£¥¹¥¯¡¦¥¤¥á¡¼¥¸¥ó¥° ------------------------------------------------------------------------------ ¥Ç¥£¥¹¥¯¡¦¥¤¥á¡¼¥¸¥ó¥°¤ÏÂà¶þ¤Ê Windows ¤Î¥¤¥ó¥¹¥È¡¼¥ëºî¶È¤ò²óÈò¤¹¤ë¤¿¤á¤Î ¼êË¡¤Ç¤¹¡£Î㤨¤Ð¡¢¤â¤· Windows ¤È Office ¤ò 1000 ¥Þ¥·¥ó¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤¤ ¤Ê¤é¡¢Â¿Ê¬ 1000 »þ´Ö¤ÎÌó 5 Çܤ°¤é¤¤¤«¤«¤ë¤Ç¤·¤ç¤¦¡£GNU/Linux ¤À¤È¡¢Red Hat ¤Î kickstart ¤Î¤è¤¦¤Ê¥×¥í¥°¥é¥à¤¬¤¢¤ë¤Î¤Ç¡¢¤½¤ó¤Ê¤Ë¤Ò¤É¤¯¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ¤½¤Î¥×¥í¥°¥é¥à¤Ï¾¤Î¥×¥í¥°¥é¥à¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ä¡¢¼ÂºÝŪ¤Ë¤Ï¡¢¤¢¤Ê¤¿¤¬¤ä¤ë ɬÍפΤ¢¤ë¤³¤È¤ò²¿¤Ç¤â¼«Æ°²½¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤½¤Î¤¿¤á¡¢¥Ç¥£¥¹¥¯¡¦ ¥¤¥á¡¼¥¸¥ó¥°¤ÏËÜÅö¤Ë Windows ¥Þ¥·¥ó¤À¤±¤Î¤¿¤á¤Ë»È¤ï¤ì¤Æ¤¤¤Þ¤¹¡£ÌÀ¤é¤«¤Ë¡¢ ²æ¡¹¤Ï Windows (¤ä¡¢¤¤¤«¤Ê¤ë¼«Í³¤Ç¤Ê¤¤¥½¥Õ¥È¥¦¥§¥¢) ¤òÁ´¤¯»È¤ï¤Ê¤¤¤è¤¦¤Ë ´«¤á¤Æ¤¤¤Þ¤¹¤¬¡¢¤Û¤È¤ó¤É¤ÎÁÈ¿¥¤Ç¤Ï¡¢Î¾Êý¤Î¥·¥¹¥Æ¥à¤¬ÍøÍѤǤ­¤ë¾õÂ֤ˤ¢¤ë °Ü¹Ô´ü¤ò·Ð¤ë¤³¤È¤Ê¤¯¡¢Windows ¤«¤é GNU/Linux (¤ä¾¤Î¥Õ¥ê¡¼¥½¥Õ¥È¥¦¥§¥¢) ¤ËÀڤ괹¤¨¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¤³¤È¤òÍý²ò¤·¤Æ¤¤¤Þ¤¹¡£ ¥Ç¥£¥¹¥¯¡¦¥¤¥á¡¼¥¸¥ó¥°¤ò»È¤¨¤Ð¡¢¥Ö¡¼¥È¡¦¥Ç¥£¥¹¥¯¤È CD ¤òÁÞ¤·¹þ¤ß¡¢¤½¤ì¤ò Èô¤Ð¤¹¤³¤È¤Ë¤è¤Ã¤Æ¡¢Windows ¤È Office ¤ò´Þ¤à¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î¥Ç¥£¥¹¥¯¡¦¥¤ ¥á¡¼¥¸¤ò CD ¤Ë¾Æ¤­¡¢¤½¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òľÀÜÁ´¤Æ¤Î¥³¥ó¥Ô¥å¡¼¥¿¤Î¥Ï¡¼¥É¡¦ ¥Ç¥£¥¹¥¯¤Ë¥³¥Ô¡¼¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤·¤«¤· Windows ¤Î¥Ç¥£¥¹¥¯¾å¤Î¥Ñ¡¼¥Æ¥£ ¥·¥ç¥ó¤Ï¤ª¤½¤é¤¯¤â¤Ã¤ÈÂ礭¤¯¤Ê¤ë¤Ç¤·¤ç¤¦¤«¤é¡¢¤½¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï¤Þ¤¿Âç ¤­¤µ¤òÊѹ¹¤µ¤ì¤Í¤Ð¤Ê¤é¤Ê¤¤¤Ç¤·¤ç¤¦¡£»ä¤Ï²¿¿Í¤â¤Î¿Í¡¹¤¬¤³¤Î½èÃÖ¤ò Linux ¤Î ¥Ö¡¼¥È¡¦¥Õ¥í¥Ã¥Ô¥£¤È Parted ¤ò»È¤Ã¤Æ¤¦¤Þ¤¯¼«Æ°²½¤·¤¿¤Èʹ¤¤¤Æ¤¤¤Þ¤¹¡£¤½¤Î ¥Õ¥í¥Ã¥Ô¥£¤ò CD ¾å¤Î¥Ö¡¼¥È¡¦¥¤¥á¡¼¥¸¤È¤·¤ÆÍøÍѤ¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢CDROM ¤À ¤±¤ò»È¤¦¤³¤È¤â²Äǽ¤Ç¤¹¡£¤è¤ê¿¤¯¤Î¾ðÊó¤òÃΤ뤿¤á¤Ë CD writing HOWTO ¤òÆÉ¤ó ¤Ç¤¯¤À¤µ¤¤¡£¤³¤¦¤·¤¿¤³¤ÈÁ´ÂΤòƯ¤«¤»¤ë¤¿¤á¤Ë¤ä¤é¤Ê¤¤¤È¤¤¤±¤Ê¤¤ÉÔ²Ä»×µÄ¤Ê ¤³¤È¤¬¾¯¤·¤¢¤ê¤Þ¤¹ (¤½¤ì¤é¤Ï¼¡¤Î°ÂÄê·ÏÎó¤Çľ¤µ¤ì¤ë¤Ç¤·¤ç¤¦)¡£¤¤¤º¤ì¤Ë¤»¤è¡¢ °Ê²¼¤¬°ìÈÌŪ¤ÊÊýË¡¤Ç¤¹: (1) ˾¤ß¤ÎÀßÄê¤Ç¡¢¤¢¤ë¥Þ¥·¥ó¤Ë Windows ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£640 Mb °Ê¾å »È¤ï¤º¡¢´°Á´¤Ê Linux ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤È CD ¤Î¥¤¥á¡¼¥¸Æó¤Äʬ¤Î¥³¥Ô¡¼ÍѤΠ1300 Mb ¤Î¤¿¤á¤Ë½½Ê¬¤Ê;ÃϤò»Ä¤¹¸Â¤ê¡¢¤½¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò¹¥¤­¤Ê¤À¤±Â礭¤¯ ¤·¤Æ¹½¤¤¤Þ¤»¤ó¡£ (2) ¤½¤Î¥Þ¥·¥ó¤Ë Linux ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£ (3) ¤½¤Î CD ¤Î¥¤¥á¡¼¥¸¤Î¤¿¤á¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òºî¤ê¤Þ¤¹ (Îã: /root/cdimage/)¡£ (4) ¤½¤Î CD ¤Î¥¤¥á¡¼¥¸¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë 640 Mb ¤Î¥Ç¥£¥¹¥¯¡¦¥¤¥á¡¼¥¸¤Î¥Õ¥¡¥¤¥ë (Îã: /root/cdimage/diskimage) ¤òºîÀ®¤·¤Þ¤¹: # dd if=/dev/zero of=/root/cdimage/diskimage bs=1M count=640 (5) Windows ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò¥Ç¥£¥¹¥¯¡¦¥¤¥á¡¼¥¸¤Ø¥³¥Ô¡¼¤¹¤ë¤¿¤á¡¢Parted ¤ò ÍøÍѤ·¤Þ¤¹: # parted /root/cdimage/diskimage mklabel msdos mkpart primary fat 0 639 # parted /root/cdimage/diskimage cp /dev/hda 1 1 (6) ¤½¤Î CD ¤Î¥¤¥á¡¼¥¸¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é CD ¥¤¥á¡¼¥¸¤òºîÀ®¤·¡¢¤½¤ì¤ò¤¢¤Ê¤¿ ¹¥¤ß¤Î CD ½ñ¤­¹þ¤ß¥Ä¡¼¥ë¤Ç CD ¤Ë¾Æ¤­¤Þ¤¹¡£ (7) Êì¹ñ¸ì¥µ¥Ý¡¼¥È¤È readline ¥µ¥Ý¡¼¥È¤ò̵¸ú¤Ë¤·¤¿¡¢Parted ¤ÎÆÃÊ̤ʥС¼¥¸¥ç¥ó ¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹ (¤¢¤ë¤¤¤Ï¡¢Freshmeat ¤«¤éÆÃÊÌ¤Ê RPM ¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Þ¤¹): localhost:~/parted-1.0.0# ./configure --disable-nls --without-readline --disable-shared; make (8) Linux ¤Î¥Ö¡¼¥È¡¦¥Ç¥£¥¹¥¯¤òºîÀ®¤·¤Þ¤¹ (Bootdisk HOWTO ¤ò»²¾È)¡£ (9) ¤½¤Î¥Ö¡¼¥È¡¦¥Ç¥£¥¹¥¯ (¤«Êä½¼¤Î¥ë¡¼¥È¡¦¥Ç¥£¥¹¥¯) ¤Ë¾ÊάÈǤΠParted ¤ò ÃÖ¤­¤Þ¤¹¡£ (10) °Ê²¼¤ò¹Ô¤¦¥·¥§¥ë¡¦¥¹¥¯¥ê¥×¥È¤ò½ñ¤­¤Þ¤¹: mount /dev/cdrom /mnt/cdrom parted --script /dev/hda mklabel msdos mkpartfs primary fat 0 SOME-SIZE parted --script /dev/hda cp /mnt/cdrom/diskimage 1 1 parted --script /dev/hda set 1 boot on /sbin/halt (11) ¥¤¥ó¥¹¥È¡¼¥ë³«»Ï¡ª ¤½¤Î¥Õ¥í¥Ã¥Ô¥£¤È CD ¤ò³Æ¥³¥ó¥Ô¥å¡¼¥¿¤ËÁÞ¤·¹þ¤ß¡¢ ¤½¤ì¤ò²ó¤·¤Æ¤¤¤­¤Þ¤¹... ÌÀ¤é¤«¤Ë¡¢»ä¤Ï¤³¤ÎÊýË¡¤ò¤º¤Ã¤È´Êñ¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤·¡¢¤½¤¦¤¹¤ë¤Ç¤·¤ç¤¦¡£ ²æ¡¹¤Ï¤³¤ì¤ò¹Ô¤¦¤Î¤Ë¾®·¿¤Î¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤òºî¤í¤¦¤È¹Í¤¨¤Æ¤¤¤ë¤È¤³¤í ¤Ç¤¹¡£»ä¤Ë¤Ï¤½¤¦¤¤¤¦¤â¤Î¤ò´ÉÍý¤¹¤ë»þ´Ö¤¬¤¢¤ê¤Þ¤»¤ó¡¢Í­»Ö¤Ï¤¤¤Þ¤»¤ó¤«¡© ------------------------------------------------------------------------------ 9 ¤µ¤é¤Ê¤ë¾ðÊó¤È´ØÏ¢¥½¥Õ¥È¥¦¥§¥¢ ------------------------------------------------------------------------------ ¤â¤·¤â¤Ã¤È¤¿¤¯¤µ¤ó¤Î¾ðÊó¤òȯ¸«¤·¤¿¤é¡¢µ¤·Ú¤Ë parted@gnu.org ¤Ë¼ÁÌä¤òÁ÷¤Ã¤Æ ¤¯¤À¤µ¤¤¡£(!) ¤Ï¤ª¤½¤é¤¯¤¢¤Ê¤¿¤Î¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¾ðÊó¤« ¥½¥Õ¥È¥¦¥§¥¢¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£ GNU Parted ÇÛÉÛÊªÃæ¤Î¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Ï¤µ¤é¤Ê¤ë¾ðÊó¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹: * ABOUT-NLS - Êì¹ñ¸ì¥µ¥Ý¡¼¥È¤Î»ÈÍÑ¤È Free Translation Project ¤Ë¤Ä¤¤¤Æ¤Î ¾ðÊó * API - libparted ¤Î API ¤Î²òÀâ * AUTHORS - 郎²¿¤ò½ñ¤¤¤¿¤« * BUGS - ̤²ò·è¤Î¥Ð¥° * ChangeLog - GNU Parted ¤Ë¤Ê¤µ¤ì¤¿Êѹ¹¤ÎÍúÎò * COPYING - GNU Parted ¤ÎÇÛÉÛ¾ò·ï¤Ç¤¢¤ë¡¢GNU General Public License * COPYING.DOC - Parted ¤Î²òÀâ½ñ¤¬ÇÛÉÛ¤µ¤ì¤Æ¤è¤¤¾ò·ï¤Ç¤¢¤ë¡¢GNU Free Documentation Licence * FAT - FAT ¤ÎÂ礭¤µÊѹ¹¥×¥í¥°¥é¥à¤Îưºî¤Î»ÅÁȤ˴ؤ¹¤ë¾ðÊó (¥×¥í¥°¥é¥ÞÍÑ) * INSTALL - GNU Parted ¤ä ¾¤Î¤Û¤È¤ó¤É¤Î¥Õ¥ê¡¼¥½¥Õ¥È¥¦¥§¥¢¤Î¥³¥ó¥Ñ¥¤¥ëÊýË¡ * TODO - ¤Þ¤À¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤¤¡¢·×²èÃæ¤ÎÆÃħ °Ê²¼¤Î²òÀâ½ñ¤Ï GNU Parted ¤È¤Ï°ì½ï¤ËÇÛÉÛ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¤¬¡¢Ìò¤ËΩ¤Ä¤«¤â ¤·¤ì¤Þ¤»¤ó¡£¤³¤ì¤é¤Î¤¦¤Á¡¢¤Û¤È¤ó¤É¤Ï¿ʬ¤¢¤Ê¤¿¤Î¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤Ë Æþ¤Ã¤Æ¤¤¤ë¤Ç¤·¤ç¤¦¡£Î㤨¤Ð¡¢Red Hat Linux ¤Ç¤Ï¡¢CD ¾å¤Î /doc/HOWTO ¤È /doc/FAQ ¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£ [ÌõÃí: ¿¤¯¤Î LDP ¥É¥­¥å¥á¥ó¥È¤ÏÍ­»Ö¤Î¼ê¤Ë¤è¤êÆüËܸì¤ËËÝÌõ¤µ¤ì¤Æ¤ª¤ê¡¢JF ¤Î¥Ú¡¼¥¸¤«¤é¥À¥¦¥ó¥í¡¼¥É¤Ç¤­¤Þ¤¹: http://jf.linux.or.jp/ °Ê²¼¤Ç¤Ï¥ª¥ê¥¸¥Ê¥ë¤ÎURL¤Î¤Þ¤Þ¤Ë¤·¤Æ¤ª¤­¤Þ¤¹¡£] * Filesystems HOWTO http://penguin.cz/~mhi/fs/ * Hard Disk Upgrade mini-HOWTO (!): http://sunsite.unc.edu/LDP/HOWTO * Large Disk HOWTO http://www.win.tue.nl/~aeb/linux/Large-Disk.html * LILO mini-HOWTO (!) http://sunsite.unc.edu/LDP/HOWTO * MILO HOWTO (!) http://sunsite.unc.edu/LDP/HOWTO * Linux+OS mini-HOWTOs (!): Linux+DOS+Win95+OS2, Linux+FreeBSD-mini-HOWTO, Linux+Win95, Linux+FreeBSD, Linux+NT-Loader. ¤³¤ì¤é¤Ï°Ê²¼¤«¤éÆþ¼ê¤Ç¤­¤Þ¤¹: http://sunsite.unc.edu/LDP/HOWTO * Partition mini-HOWTO (!): http://www.linuxdoc.org/HOWTO/mini/Partition/index.html * Partition Table HOWTO http://www.win.tue.nl/~aeb/partitions/partition_tables.html * Partition Types list http://www.win.tue.nl/~aeb/partitions/partition_types.html * Software RAID HOWTO http://linas.org/linux/Software-RAID/Software-RAID.html ¤³¤³¤Ç¾¤Î´ØÏ¢¤·¤¿¥×¥í¥°¥é¥à¤òµó¤²¤Þ¤¹¡£¤³¤ì¤é¤Î°ìÉô¤âÍ­ÍѤʲòÀâ¤ò»ý¤Ã¤Æ ¤¤¤Þ¤¹: * Disk Drake. www.linux-mandrake.com/diskdrake. ¤³¤ì¤Ï Parted ¤Èµ¡Ç½Åª¤Ë Îà»÷¤·¤Æ¤¤¤Þ¤¹¡£Disk Drake ¤Î FAT ¥³¡¼¥É¤Ï²æ¡¹¤Î Parted ¤Î¥³¡¼¥É¤ò´ð¤Ë¤·¤Æ¤¤ ¤Þ¤¹¡£¤µ¤¢¡¢Disk Drake ¤¬¤É¤Î¤è¤¦¤Ë Parted ¤ËɤŨ¤¹¤ë¤«¸«¤Æ¤ß¤Þ¤·¤ç¤¦: (²æ¡¹ ξ¼Ô¤¬Æ±°Õ¤·¤Æ¤¤¤Þ¤¹ :-) Disk Drake ¤Ï: - »È¤¦¤Î¤¬¤â¤Ã¤È´Êñ¤Ç¡¢´Ö°ã¤¤¤òÈȤµ¤Ê¤¤¤è¤¦¤Ë¼é¤Ã¤Æ¤¯¤ì¤Þ¤¹ - ¤â¤Ã¤È´°À®Å٤ι⤤ÌäÂê²ò·è¼êË¡ (/etc/fstab¡¢lilo ¤Ê¤É¤ò½èÍý¤·¤Þ¤¹) - FAT ¤Î¥µ¥Ý¡¼¥È¤Ï¤â¤Ã¤ÈÉϼå (FAT16¡¢FAT32 ´Ö¤ÇÊÑ´¹¤Ç¤­¤Ê¤¤¤·¡¢ ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò¥³¥Ô¡¼¤Ç¤­¤Þ¤»¤ó) - ext2 ¤Î¥µ¥Ý¡¼¥È¤Ï¤â¤Ã¤ÈÉϼå (º£¤Î¤È¤³¤í¤Ï) - (µìÍè¤Î) DOS ¤ä Windows ¥·¥¹¥Æ¥à¤È¤Î¸ß´¹À­¤ò¤¢¤ó¤Þ¤ê¹Íθ¤·¤Æ¤Þ¤»¤ó - Èó PC ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ë¤Ï¥µ¥Ý¡¼¥È¤Ê¤· * dosfsck * e2fsck, resize2fs e2fsprogs (!) http://web.mit.edu/tytso/www/linux/e2fsprogs.html * ext2resize - Parted ¤ÈƱ¤¸¥³¡¼¥É¤ò»È¤¤¤Þ¤¹¤¬¡¢¥¢¥ó¥Þ¥¦¥ó¥È¤òɬÍפȤ·¤Ê¤¤¡¢ online ext2 resizer ¤Î¤è¤¦¤Ê¡¢Â¾¤Î¤¤¤¤¤â¤Î¤ò¤¤¤¯¤Ä¤«´Þ¤ó¤Ç¤¤¤Þ¤¹¡£ http://ext2resize.sourceforge.net * fdisk (!) * FIPS (!) (First Interactive Partition Splitter) http://www.igd.fhg.de/~aschaefe/fips/ * GPart - ²õ¤ì¤¿¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¡¦¥Æ¡¼¥Ö¥ë¤ò²óÉü¤µ¤»¤Þ¤¹¡£ http://www.stud.uni-hannover.de/user/76201/gpart * GNU GRUB - GRand Unified Bootloader http://www.gnu.org/software/grub/grub.html * LILO (!) (LInux LOader) ftp://tsx-11.mit.edu/pub/linux/packages/lilo/ * LVM http://linux.msede.com/lvm * mkdosfs (!) (¤È¤­¤É¤­ mkfs.msdos ¤È¸Æ¤Ð¤ì¤Þ¤¹) * mke2fs (!) (¤È¤­¤É¤­ mkfs.ext2 ¤È¸Æ¤Ð¤ì¤Þ¤¹) * mkfs (!) * mkswap (!) * quik (!) * reiserfs: Ãí: reiserfs ¤ÎÂ礭¤µÊѹ¹¥Ä¡¼¥ë¤ÏÄ̾ï¤Î reiserfs ÇÛÉÛʪ¤Ë´Þ¤Þ ¤ì¤Æ¤¤¤Þ¤¹¡£ http://devlinux.com/projects/reiserfs * yaboot (!) http://ppclinux.apple.com/~benh/ ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������parted-2.3/doc/Makefile.am��������������������������������������������������������������������������0000644�0000000�0000000�00000000705�11035473300�012323� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# C must be the first sub-directory because it contains the POT files. SUBDIRS = C pt_BR info_TEXINFOS = parted.texi MAKEINFO = makeinfo --no-split EXTRA_DIST = FAT \ USER.jp \ API \ fdl.texi \ parted-pt_BR.texi .PHONY: updatepo updatepo: list='$(SUBDIRS)'; for dir in $$list; do \ $(MAKE) -C "$$dir" updatepo; \ done MAINTAINERCLEANFILES = Makefile.in \ mdate-sh \ texinfo.tex �����������������������������������������������������������parted-2.3/doc/version.texi�������������������������������������������������������������������������0000644�0000000�0000000�00000000127�11400005627�012644� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������@set UPDATED 28 May 2010 @set UPDATED-MONTH May 2010 @set EDITION 2.3 @set VERSION 2.3 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������parted-2.3/doc/parted-pt_BR.texi��������������������������������������������������������������������0000644�0000000�0000000�00000305135�11370314006�013451� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������\input texinfo @c -*-texinfo-*- @c %**start of header @setfilename parted-pt_BR.info @settitle Manual do Usuário do Parted @c %**end of header @c RMK: for definitions and discussion of my methods, skip to the end @c of the file, after the "bye" directive. @include version.texi @paragraphindent 4 @direntry * parted: (parted). software de particionamento GNU @c RMK: the following doesn't work. 'info --usage' is improperly documented. @c * Chamando o parted: (parted)Chamando o Parted. Opções de linha de comando e comandos @end direntry @c RMK: texi: an info section describing the file is texinfo custom. @ifinfo This file documents the use of GNU Parted, a program for creating, resising, checking and copy partitions, and file systems on them. Copyright 1999-2002, 2009-2010 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with the no Invariant Sections, with the no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled ``GNU Free Documentation License''. @end ifinfo @c RMK: texi : the titlepage section is texinfo custom. @titlepage @title Manual do GNU Parted @subtitle GNU Parted, versão @value{VERSION}, @value{UPDATED} @author Andrew Clausen @email{clausen@@gnu.org} @c FDL: Following section 4.B of the GNU Free Documentation License, @c I am required to list myself as an author of this work. @author Richard M. Kreuter @email{kreuter@@anduril.rutgers.edu} @author Bernardo João Torres da Silveira (Tradução Portuguesa) @email{bernardojts@@ig.com.br} @page @vskip 0pt plus 1filll Copyright @copyright{} 1999, 2000, 2001, 2002 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled ``GNU Free Documentation License''. @end titlepage @ifnottex @node Top @top TITLE @c RMK: added Top node describing this manual Should it be more verbose? This document describes the use of GNU Parted, a program for creating, destroying, resizing, checking and copying hard drive partitions, and the file systems on them. This document applies to @value{VERSION} of GNU Parted. Its content is substantially similar to the user's manual included in the source distribution of GNU Parted @value{VERSION}. That file was written by Andrew Clausen. @end ifnottex @c if we don't get menus (eg: HTML), use contents instead @shortcontents @menu * Instrodução:: Overview * Usando o Parted:: Particionando um Disco Rígido * BIOSes e Firmwares:: Entre ligar e carregar * Carregadores de Boot:: Como o sistema operacional inicia * Sistemas Operacionais:: Sistemas Operacionais e sistemas de arquivo * Sistemas de Arquivo:: Sistemas de arquivo suportados, e seus truques * LVM e RAID:: Volumes virtuais de disco * Espelhamento de Disco:: Clonando instalações * Software Relacionado:: Leitura posterior em tópicos relacionados * Copiando esse Manual:: Como fazer cópias desse manual * História:: A história desse manual @ifnotplaintext * Índice:: Índice de conceitos citados @end ifnotplaintext @end menu @node Introdução @chapter Introdução @menu * Overview:: GNU Parted e conhecimentos necessários * Software Necessário:: Dependências de software do GNU Parted * Plataformas Suportadas:: Aonde você pode usar o GNU Parted * Licença:: O que você pode e o que não pode com o GNU Parted * Compilando:: Como compilar o GNU Parted * Discos de boot do Parted:: Como usar o Parted em plataformas não suportadas @end menu @node Overview @section Overview do GNU Parted @cindex descrição do parted @cindex overview @cindex descrição do parted @cindex bugs, como relatar @cindex relatando bugs @cindex falando com os desenvolvedores O GNU Parted é um programa para criar, destruir, redimensionar, checar e copiar partições, e os sistemas de arquivos nelas. Ele é útil para criar espaço para novos sistemas operacionais, reorganizar o uso de disco, copiar dados entre discos rígidos, e ``espelhamento de discos'' --- clonar instalações em muitos computadores. Esta documentação assume que você conhece partições e sistemas de arquivos. Se você pode querer aprender mais sobre eles, a Partition mini-HOWTO é leitura recomendada. Ela provavelmente vem com a sua distribuição, ou está disponível em @c FIXME: standards: howto labelled non-free by LDP @uref{http://www.linuxdoc.org/HOWTO/mini/Partition/index.html} O GNU Parted foi feito para minizar as chances de perdas de dados. Por exemplo, ele foi feito para evitar perda de dados durante interrupções (como falta de luz) e realiza muitas checagens de erro. Contudo podem existir bugs no Parted, então você deve fazer backup de arquivos importantes. A página do GNU Parted é @uref{www.gnu.org/software/parted}. Ele pode ser baixado em @uref{ftp.gnu.org/gnu/parted}. A lista de e-mails do Parted é @email{parted@@gnu.org}. Para se inscrever, escreve para @email{bug-parted-request@@gnu.org} com @samp{subscribe} no assunto. Informações para inscrição e os arquivos estão disponíveis em: @uref{http://mail.gnu.org/mailman/listinfo/bug-parted} Por favor mande relatos de bugs para @email{bug-parted@@gnu.org}. Quando enviar relatos de bugs, por favor inclua a versão do GNU Parted. Se o bug é relativo a tabelas de partição, então por favor inclua a saída desses comandos: @example @group # @kbd{fdisk /dev/hda -l} # @kbd{fdisk /dev/hda} Command (m for help): @kbd{p} Command (m for help): @kbd{x} Extended command (m for help): @kbd{p} @end group @end example Sinta-se à vontade para pedir ajuda nessa lista --- somente confira se a sua pergunta não foi respondida aqui ainda. Se você não entende a documentação, por favor nos diga, para que possamos explicar melhor. Nossa filosofia é: se você precisar pedir por ajuda, então algo precisa ser ajustado para que você (e outros) não precisem pedir por ajuda. Do mesmo modo, adoraríamos ouvir suas idéias :-) @node Software Necessário @section Software necessário para usar o Parted @cindex dependências de software @cindex software necessário @cindex libuuid @cindex e2fsprogs @cindex readline @cindex gettext O GNU Parted depende dos seguintes pacotes para compilar corretamente: @itemize @bullet @item libuuid, part of the e2fsprogs package. Se você não tem, você pode pegá-la em: @uref{http://web.mit.edu/tytso/www/linux/e2fsprogs.html} Se você quer compilar o Parted e a e2fsprogs, note que você vai predcisar fazer @kbd{make install} and @kbd{make install-libs} e2fsprogs. @item GNU Readline (opcional), disponível em @uref{ftp://ftp.gnu.org/gnu/readline} Se você está compilando o Parted, e você não tem readline, você pode desabilitar o suporte do Parted a readline com o a opção @kbd{--disable-readline} para o @command{configure}. @item GNU gettext (ou software compatível) para compilação, se você dese suporte a internacionalização. @uref{ftp://ftp.gnu.org/gnu/gettext} @item libreiserfs, se vocÊ quiser suporte a reiserfs: @uref{http://reiserfs.linux.kiev.ua} Preste atenção que o parted vai automaticamente detectar a libreiserfs quando rodar, e vai habilitar o suporte a reiserfs. A libreiserfs é nova e não foi muito testada ainda. @end itemize @node Plataformas Suportadas @section Platformas aonde o GNU Parted roda @cindex plataformas suportadas @cindex platformas, suportadas Esperamos que essa lista cresça bastante. Se você não tem uma dessas plataformas (Linux no momento!), então você precisar usar um disco de boot. @xref{Discos de boot do Parted, Usando os Discos de Boot do Parted}. @table @asis @item GNU/Linux Linux versões 2.0 para cima, no Alpha, PCs x86, PC98, Macintosh PowerPC, e Sun. @c RMK: veracidade: bem, *Eu* nunca ussei o parted num GNU/Hurd ... :) @item GNU/Hurd Suporte experimental. @end table A GNU libc 2.1 ou superior é necessária. Você provavelmente pode usar versões anteriores usando a opção @samp{--disable-nls}. @xref{Compilando o GNU Parted}. (Nota: Eu acho que nós já tiramos essa necessidade. Á fazer: checar se funciona na libc 2.0!) @node Licença @section Termos de distribuição para o GNU Parted @cindex termos da licença @cindex terms da distribuição @cindex gnu gpl @cindex gpl O GNU Parted é software livre, previsto pela GNU General Public Licese Version 2. Ela deve vir com a distribuição do Parted, no arquivo COPYING. Se não, escreva para a Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. Libparted é considerada parte do GNU Parted. Ela é prevista pela GNU General Public License. NÃO é lançada sobre a GNU Lesser General Public License (LGPL). @node Compilando @section Compilando o GNU Parted @cindex compilando o parted @cindex compilando o parted Se você quer compilar o GNU Parted, geralmente é feito com: @example @group $ @kbd{./configure} $ @kbd{make} @end group @end example Contudo há algumas opções para o @command{configure}: @table @code @item --without-readline desliga o uso de readline. Isso é útil para fazer discos de boot, etc., onde poucas bibliotecas estão disponíveis. @item --disable-debug não inclui símbolos para debugar @item --disable-dynamic-loading desabilita o carregamento dinâmico de algumas biblioteas (somente reiserfs no momento, apesar de haver pretensões de expansão). Carregamento dinâmico é útil porque ele permite você reusar as bibliotecas compartilhadas do libparted mesmo quando você não sabe se algumas bibliotecas vão estar disponíveis. Isso tem um pequeno aumento (principalmente ligando com a libdl), então pode ser útil desabilitar isso em discos de boot se você não precisa de flexibilidade. @item --disable-fs desabilita o suporte a todos os sistemas de arquivo @item --disable-nls desativa o suporte a língua nativa. Isso é útil par usar com versões antigas da glibc, ou uma versão reduzida da glibc boa para discos de boot. @item --disable-shared desabilita o uso de bibliotecas compartilhadas. Ela pode ser necessária para uso com versões antigas da GNU libc, se você receber um erro sobre algum ``registrador cuspido''. Também útil para discos de boot. @item --disable-Werror ignorar avisos na compilação @item --enable-all-static compila o executável do Parted como um binário completamente estático Isto é conveniente para discos de boot, porque você não precisa instalar qualquer bibliotecas no disco de boot (contudo, alguns programas podem precisar delas@dots{}) Nota: você também vai precisar rodar o strip(1). @item --enable-discover-only suporta somente leitura/checagem @item --enable-mtrace habilita debugar os malloc()'s @item --enable-read-only desabilita escrita (para debugar) @end table @node Discos de Boot do Parted @section Usando um Disco de Boot do Parted @cindex disco de boot @cindex disquete de boot @cindex plataformas não-suportadas Se você quer rodar o Parted numa máquina sem o GNU/Linux instalado, ou voê quer redimensionar uma partição raíz ou de boot, você vai precisar usar um disco de boot. Uma imagem para um disco de boot está disponível em: @uref{ftp://ftp.gnu.org/gnu/parted/bootdisk/partboot.img} @c RMK: printing: added some wording here to make the paragraph look @c acceptable in print Para criar os discos de boot, a imagem de disco deve ser escrita para um disquete de boot. No GNU/Linux, isso pode ser feito com @example # @kbd{dd if=partboot.img of=/dev/fd0 bs=1440k} @end example @noindent Ou use o RAWRITE.EXE dentro do DOS. Infelizmente, o disco de boot não dá suporte a vários tipos de hardware. Se o seu disco rígido não é suportado, então você vai precisar fazer o seu próprio disco de boot. Você pode copiar o binário do parted do disco de boot do parted para outro disco, ou tentar outros discos de boot, ou fazer o seu próprio. Você pode achar o mkparted útil, que é um script shell para fazer seus próprios discos de boot do parted. Ele está disponível em: @uref{ftp://ftp.tux.org/pub/people/kent-robotti/mkparted} Para copiar o parted do disco de boot para outro disco: @enumerate @item Fazer o Boot de um disco de boot do Parted. @item Insira outro disquete de boot formatado em ext2. Se ele não está formatado, você pode criar um sistema de arquivo com, por exemplo: @example $ @kbd{parted /dev/fd0 mklabel loop mkpartfs primary ext2 0 1.4} @end example @item Monte o disquete, ex: @example $ @kbd{mount -t ext2 /dev/fd0 /mnt/floppy} @end example @item Copie o @file{/sbin/parted} para o disquete, ex: @example $ @kbd{cp /sbin/parted /mnt/floppy} @end example @item Copie @file{/lib/*} para o disquete, ex: @example $ @kbd{cp /lib/* /mnt/floppy} @end example @item Desmonte o disquete, ex: @example $ @kbd{umount /mnt/floppy} @end example @item Ache um disquete de boot que @emph{realmente} suporte o seu disco rígidos. (Dica: try looking for rescue disks from various distributions on big mirror sites) @item Tire o seu disquete de boot. Monte o disquete aonde você copiou o Parted. @item Rode o Parted. Por exemplo, @example # @kbd{cd /mnt/floppy} # @kbd{LD_LIBRARY_PATH=. ./parted} @end example @end enumerate @node Usando o Parted @chapter Usando o Parted @cindex comandos @menu * Particionando:: Particionamento de disco no context * Rodando o Parted:: Particionamento com o Parted * Chamando o Parted:: Chamando o parted e suas opções * Explicação dos command:: Explicação completa dos comandos do parted * Exemplos:: Sessões de exemplo do Parted @end menu @node Particionando @section Conceitos de Particionamento @cindex overview do particionamento Infelizmente, particionar o disco é mais complicado. Isto é porque exisstem interações entre muitos sistemas operacionais diferentes que precisam ser levadas em conta: @itemize @bullet @item A BIOS ou firmware - o programa que é colocado numa ROm dentro do seu computador, que faz checagem de memória, etc. Você não pode (facilmente) mudar os programas nesse sistema. Exemplos de BIOS ou programas firmware: AmiBIOS, Award, Phoenix, OpenFirmware. Você somente vai ter um desses programas. @item O carregador de boot - o programa que permite você selecionar qual sistema operacional que você quer usar, e carrega aquele sistema operacional. Exemplos: LILO, GRUB, Yaboot, Quik. Você pode ter mais de um carregador de boot instalado, especialmente se você tem mais de um tipo de sistema operacional instalado. @item O sistema operacional (nesse momento, este deve ser o GNU/Linux) que rode Parted e outros sistemas operacionais que você use. @item Os tipos de sistemas de arquivo - a maneira como os dados devem ser guardados nas partições. Exemplos deles são: ext2, fat32, hfs, reiserfs. Você freqüentemente ter partições de sistemas de arquivo diferente. @end itemize O Parted suporta muitas combinações de BIOS, carregadores de boot, sistemas operacionais, e sistemas de arquivo, e vai suportar mais ainda no futuro. Para melhor entender as regras de cada, por favor veja @ref{BIOSes and Firmware}, @ref{Boot Loaders}, @ref{Sistemas operacionais}, e @ref{Sistemas de arquivo}. Este capítulo descreve como usar o Parted, que é sempre o mesmo, não importa que sistemas que você está usando. Você deve ler esse capítulo, então cada um dos capítulos sobre BIOS's, carregadores de boot, sistemas operacionais, e sistemas de arquivo. Contudo, você só precisa ler as seções que são relevantes pra você. Por exemplo, se você só usa o LILO como carregador de boot, você só precisar ler a introdução e @ref{LILO, the section on LILO}. @node Rodando o Parted @section Usando o GNU Parted @cindex modos de uso O Parted tem dois modos: linha de comando e interativo. O Parted sempre deve começar com: @example # @kbd{parted @var{device}} @end example @noindent aonde @var{device} o dispositivo de disco rígido que você quer editar. (Se você é malandro, o Parted vai tentar adivinhar qual dispositivo você quer.) No modo de linha de comando, ele é seguido por um ou mais comandos. Por exemplo: @example # @kbd{parted /dev/sda resize 1 52 104 mkfs 2 fat16} @end example @noindent Opções (como @kbd{--help}) só podem ser especificadas na linha de comando. No modo interativo, os comandos são inseridos um de cada vez num prompt, e você modifica o disco imediatamente. Por exemplo: @example (parted) @kbd{resize 1 52.0005 104.5} (parted) @kbd{mkfs 2 fat16} @end example @c RMK MARK @noindent Abreviações não-ambíguas são permitidas. Por exemplo, você pode digitar ``p'' ao invés de ``print'', e ``re'' ao invés de ``resize''. Comandos podem ser digitados, tanto em inglês, ou em português. Isto pode criar ambiguidades. Também perceba que você pode specificar casas decimais nos números correspondentes (em megabytes). Números negativos são contados a partir do final do disco, com "-0" sendo o final do disco. Se você não der um paramêtro para um comando, o Parted vai perguntar para você. Por exemplo: @example (parted) @kbd{resize 1} Start? @kbd{0} End? @kbd{400} @end example O Parted sempre vai avisar você antes de fazer algo que é potencialmente perigoso, a não ser que algo seja algo obviamente perigoso (por exemplo: rm, mklabel, mkfs). Por exemplo, se você tenta diminuir ``muito'' uma partição (por exemplo, menos que o espaço disponível), o Parted vai automaticamente redimensionar para o mínimo que ele pode fazer sem perder dados. Se este mínimo é muito diferente do que você pediu, ele vai avisar que vai fazer uma coisa significantemente diferente do que você pediu. Por causa dos sistemas de particionamento terem restrições complicadas, o Parted geralmente vai fazer algo diferente do que você pediu (Por exemplo, criar um particionamento começando em 10.352, e não 10.4). @node Chamando o Parted @section Opções de Linha de Comando @cindex opções na chamada @cindex comandos, overview @cindex opções na chamada Quando chamado na linha de comando, o parted suporta a seguinte sintaxe: @example # @kbd{parted [@var{opção}] @var{dispositivo} [@var{comando} [@var{argumento}]]} @end example As seguintes opções e comandos estão disponíveis. Para explicações detalhadas do uso dos comandos do parted, veja @ref{Command explanations}. Opções começam com um hífen, e comandos não: Opções @table @samp @item -h @itemx --help mostra uma mensagem de ajuda @item -s @itemx --script nunca pede pela intervenção do usuário @item -v @itemx --version mostra a versão display the vesion @end table @node Explicação dos comandos @section Comandos de Sessão no Parted @cindex sintaxe dos comandos @cindex listagem detalhada dos comandos @cindex comandos, lista detalhada O GNU Parted nos dá os seguintes comandos: @menu * check:: * cp:: * help:: * mklabel:: * mkfs:: * mkpart:: * mkpartfs:: * move:: * name:: * print:: * quit:: * rescue:: * resize:: * rm:: * select:: * set:: @end menu @node check @subsection check @cindex check, descrição do comando @cindex descrição do comando, check @deffn Comando check @var{minor} Checa se o sistemas de arquivo na partição @var{minor} tem algum erro. Exemplo: @example (parted) @kbd{check 1} @end example Checa o sistema na partição 1. @end deffn @node cp @subsection cp @cindex cp, descrição do comando @cindex descrição do comando, cp @deffn Comando cp [@var{qual-dispositivo}] @var{from-minor} @var{to-minor} Copia o sistemas de arquivo na partição @var{from-minor} para a partição @var{to-minor}, apagando o conteúdo original da partição de destino. Um parâmetro opcional pode ser dado, @var{qual-dispositivo}, que especifica de qual dispositivo a partição de origem é. Sistemas de arquivo suportados @itemize @item ext2, ext3 (desde que a partição de destino é maior que a partição de origem) @item fat16, fat32 @item linux-swap (equivalente ao mkswap na partição de destino) @item reiserfs (se a libreiserfs está instalada) @end itemize Exemplo: @example (parted) @kbd{cp /dev/hdb 2 3} @end example @c FIXME: this doesn't format right. Copia a partição 2 do @file{/dev/hdb} (por exemplo, @file{/dev/hdb2}) para a partição em 3, no dispositivo aonde o Parted foi carregado, destruindo o conteúdo original da partição 3. @end deffn @node help @subsection help @cindex help, descrição do comando @cindex descrição do comando, help @deffn Comando help [@var{comando}] Mostra a ajuda geral, ou a ajuda no @var{comando}. Exemplo: @example (parted) @kbd{help resize} @end example Mostra a ajuda para o comando resize. @end deffn @node mklabel @subsection mklabel @cindex mklabel, descrição do comando @cindex descrição do comando, mkindex @deffn Comando mklabel @var{tipo-de-etiqueta} Cria uma nova etiqueta de disco, do tipo @var{tipo-de-etiqueta}. A nova etiqueta de disco não vai ter partições. Este comando (normalmente) não vai tecnicamente destruir seus dados, mas vai fazê-los inutilizáveis, e você vai precisar usar o comando rescue (@pxref{Softwares Relacionados}) para recuperar qualquer partição. Gpart só trabalha com etiquetas de disco do msdos (AFAIK), mas é muito melhor que o parted para recuperar partições. O Parted funciona em todas as tabelas de partição. @footnote{Todo mundo parece ter diferentes palavras para ``etiqueta de disco'' --- todas essas palavras significam a mesma coisa: tabela de partições, mapa das partições. Também o Registro Mestre do Boot em máquinas x86 é guardado no mesmo setor das Tabelas de Partição (você não precisa saber disso para usar o Parted).} @var{tipo-de-etiqueta} deve ser de um desses tipos de tabelas de partição suportados: @itemize @item bsd @item loop (acesso bruto ao disco) @item gpt @item mac @item msdos @item pc98 @item sun @end itemize Exemplo: @example (parted) @kbd{mklabel msdos} @end example Cria uma etiqueta de disco ao estilo msdos. @end deffn @node mkfs @subsection mkfs @cindex mkfs, descrição do comando @cindex descrição do comando, mkfs @deffn Command mkfs @var{minor} @var{tipo-de-sistema-de-arquivo} Faz um sistemas de arquivo @var{tipo-de-sistema-de-arquivo} na partição @var{minor}, destruindo todos os dados que residem naquela partição. Tipos de arquivo suportados: @itemize @item ext2 @item mips @item fat16 @item fat32 @item linux-swap @item reiserfs (se a libreiserfs estiver instalada) @end itemize Exemplo: @example (parted) @kbd{mkfs 2 fat32} @end example Faz um sistemas de arquivo @var{fat32} na partição 2. @end deffn @node mkpart @subsection mkpart @cindex mkpart, descrição do comando @cindex descrição do comando, mkpart @deffn Comando mkpart @var{tipo-de-partição} [@var{tipo-de-sistemas-de-arquivo}] @var{começo} @var{fim} Cria uma nova partição, @emph{sem} criar um novo sistemas de arquivo na partição. Ela é útil para criar partições para sistemas de arquivo (ou LVM, etc.) que o Parted não suporta. Você pode especificar tipo de sistemas de arquivo, para definir o código de partição apropriado na tabela de partições para a nova partição. @var{tipo-de-sistemas-de-arquivo} é necessário para partições de dados (por exemplo, partições não- extendidas). @var{começo} e @var{fim} são a distância do começo do didco, isto é, a ``distância'' do começo do disco. @var{tipo-de-partição} é uma dessas: primary (primária), extended (extendida), logical (lógica). Extendida e lógica somente são usadas para tabelas de partição do tipo msdos e mips. @var{tipo-de-sistemas-de-arquivo} deve ser um dos suportados: @itemize @item ext2 @item fat32 @item fat16 @item HFS @item linux-swap @item NTFS @item reiserfs @item ufs @end itemize Exemplo: @example (parted) @kbd{mkpart logical 0.0 692.1} @end example Cria uma partição lógica que vai conter um sistemas de arquivo ext2. A partição vai começar no começo do disco, e finalizar em 692.1 megabytes naquele disco. @end deffn @node mkpartfs @subsection mkpartfs @cindex mkpartfs, descrição do comando @cindex descrição do comando, mkpartfs @deffn Comando mkpartfs @var{tipo-de-partição} @var{tipo-de-sistemas-de-arquivos} @var{começo} @var{fim} Cria uma nova partição do tipo @var{tipo-de-partição} com um novo sistemas de arquivo do tipo @var{tipo-de-sistemas-de-arquivo} nele. a nova partição vai começar em @var{começo} megabytes, e tem fim em @var{fim} megabytes do começo do disco. Não use esse comando para recuperar uma partição (use mkpart ao invés disso). @var{tipo-de-partição} é uma dessas: primary (primária), extended (extendida), logical (lógica). Extendida e lógica são somente usadas por tabelas de partição do tipo msdos e mips. @var{tipo-de-sistemas-de-arquivo} deve ser um dos seguintes suportados: @itemize @item ext2 @item fat32 @item fat16 @item linux-swap @item reiserfs (se a libreiserfs está instalada) @end itemize Exemplo: @example (parted) @kbd{mkpartfs logical ext2 440 670} @end example Cria uma partição lógica e coloca um sistemas de arquivo do tipo ext2, começando em 440 megabytes e finalizando em 670 megabytes do começo do disco. @end deffn @node move @subsection move @cindex move, descrição do comando @cindex descrição do comando, move @deffn Comando move @var{minor} @var{começo} [@var{fim}] Move a partição no disco, movendo seu começo para @var{começo}. Nota: mover nunca muda o número do minor. Se nenhum @var{fim} é dado, o tamanho da partição permanece o mesmo. Sistemas de arquivo suportados: @itemize @item ext2, ext3 (desde que a partição de destino é maior que a partição de origem) @item fat32 @item fat16 @item linux-swap @item reiserfs (se a libreiserfs está instalada) @end itemize Exemplo: @example (parted) move 2 150 @end example Move a partição com o minor número 2 para que ela comece 150 megabytes do início do disco. @end deffn @node name @subsection name @cindex name, descrição do comando @cindex descrição do comando, name @deffn Comando name @var{minor} @var{nome} Define um nome para a partição @var{minor} (Mac e PC98 somente). O nome poder ser colocado entre aspas. Exemplo: @example (parted) @kbd{name 2 'Secreto'} @end example Define o nome da partição 2 para `Secreto'. @end deffn @node print @subsection print @cindex print, descrição do comando @cindex descrição do comando, print @deffn Comando print Mostra a tabela de partições que o parted está editando. Exemplo: @example @group (parted) @kbd{print} Disk geometry for /dev/hda: 0.000-2445.679 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.031 945.000 primary FAT boot, lba 2 945.000 2358.562 primary ext2 3 2358.562 2445.187 primary linux-swap @end group @end example @end deffn @node quit @subsection quit @cindex quit, descrição do comando @cindex descrição do comando, quit @deffn Comando quit Sai do Parted. @c RMK: generality: the following will apply to any operating system on @c which parted will run, not only Linux-based ones. @c clausen: yeah... just that the way hurd and linux work are totally @c different, and it's actually very hard to speak in general. Need to @c discuss this more É somente depois que o Parted sai que o kernel do Linux fica sabendo das mudanças que o Parted fez nos discos. Contudo, as mudanças causadas quando você digita um comando vai @emph{provavelmente} serem feitas para o disco imediatamente após digitar um comando. Mas, Linux é cache, e o cache do hardware do disco pode por uma demora nisso. @end deffn @node rescue @subsection rescue @cindex rescue, descrição do comando @cindex descrição do comando, rescue @deffn Comando rescue @var{começo} @var{fim} resgata partições perdidas entre @var{começo} e @var{fim} Procura entre @var{começo} e @var{fim} por assinaturas de sistemas de arquivo. Se alguma é encontrada, ele vai perguntar se você quer criar uma partição pra ele. Isto é útil quando você acidentalmente apagou uma partição com o comando rm do parted, por exemplo. Infelizmente não há uma barra de progresso, porque é difícil (uma possível correção!) para dizer quanto vai demorar. Se o Parted não acha nada, ele vai demorar muito tempo procurando (o que é um bug que deve ser corrigido). No entanto, no exemplo abaixo, a partição é instantaneamente recuperada. Exemplo: @example (parted) @kbd{print} @group Disk geometry for /dev/hdc: 0.000-8063.507 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.031 8056.032 primary ext3 @end group (parted) @kbd{rm} Partition number? 1 (parted) @kbd{print} @group Disk geometry for /dev/hdc: 0.000-8063.507 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags @end group @end example AI! Nós deletamos a nossa partição ext3!!! Parted vem para nos salvar... @example (parted) @kbd{rescue} Start? 0.0005? End? 8063.5073? Information: A ext3 primary partition was found at 0.031Mb -> 8056.030Mb. Do you want to add it to the partition table? Yes/No/Cancel? @kbd{y} (parted) @kbd{print} @group Disk geometry for /dev/hdc: 0.000-8063.507 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.031 8056.032 primary ext3 @end group @end example Está de volta! :) @end deffn @node resize @subsection resize @cindex resize, descrição do comando @cindex descrição do comando, resize @deffn Comando resize @var{minor} @var{começo} @var{fim} Redimensiona a partição com o número @var{minor}. A partição vai começar em @var{começo} do começo do disco, e terminar em @var{fim} do começo do disco. O resize nunca muda o número do minor. Partições extendidas podem ser redimensionadas, desde que a nova partição entendida contenha todas as partições lógicas. Note que o Parted não requer que um sistema seja ``desfragmentado'' (Parted pode mover os dados seguramente se necessário). É uma perda de tempo desframentar. Não se preocupe! Sistemas de arquivo suportados: @itemize @item ext2, ext3 - restrição: o novo @var{começo} deve ser o mesmo do antigo @var{começo}. @item fat16, fat32 @item linux-swap @item reiserfs (se a libreiserfs estiver instalada) @end itemize Exemplo: @example (parted) @kbd{resize 3 200 850} @end example Redimensiona a partição 3, para que ela começa em 200 megabytes e termine em 850 megabytes do começo do disco. @end deffn @node rm @subsection rm @cindex rm, descrição do comando @cindex descrição do comando, rm @deffn Comando rm @var{minor} Remove a partição com número @var{minor}. Se você acidentalmente apagar a partição com esse comando, use o mkpart (@emph{não} o mkpartfs) para recuperá-la. Você também pode usar o programa gpart (@pxref{Programas Relacionados}) para recuperar tabelas de partição danificadas. Nota para tabelas de partição do tipo msdos: se você apagar uma partição lógica, todas as partições lógicas com um número maior que essa vão ser apagados. Por exemplo, se você apagar uma partição lógica com um número minor 6, então as partições que eram número 7, 8 e 9 devem ser renumeradas para 6, 7 e 8 respectivamente. Isto significa que você deve atualizar a @file{/etc/fstab} em sistemas GNU/Linux. Exemplo: @example (parted) @kbd{rm 3} @end example Remove a partição 3. @end deffn @node select @subsection select @cindex select, descrição do comando @cindex descrição do comando, select @deffn Comando select @var{dispositivo} Seleciona o dispositivo, @var{dispositivo}, para o Parted editar. O dispositivo geralmente é um dispositivo de disco rígido do Linux, ou, se acesso direto a um arquivo é necessário --- uma partição, dispositivo RAID em software, ou um volume lógico LVM. Exemplo: @example (parted) @kbd{select /dev/hdb} @end example Seleciona @file{/dev/hdb} (o disco slave na primeira controladora ide no Linux) como um dispositivo para editar. @end deffn @node set @subsection set @cindex set, descrição do comando @cindex descrição do comando, set @deffn Comando set @var{minor} @var{sinalizador} @var{estado} Muda um sinalizador na partição de número @var{minor}. Um sinalizador pode ser ``on'' ou ``off''. Algumas ou todas essas flags estarão disponíveis, dependendo qual tabela de partições você está usando: @table @samp @item boot (Mac, MSDOS, PC98) - só deve ser habilitada se você quer fazer boot da partição. A semântica poder variar entre as tabelas de partição. Para tabelas de partição do MSDOS, somente uma partição pode ser carregável. Se você está instalando LILO numa partição (@pxref{LILO}), então aquela partição deve ser carregável. Para tabelas de partição do PC98, todas as partições ext2 devem ser carregáveis (Isto é reforçado pelo Parted). @item lba (MSDOS) - este sinalizador pode ser habilitado, para dizer ao MS DOS, o MS Windows 9x ao MS Windows ME e outros sistemas baseados neles para usar o modo Linear (LBA). @item root (Mac) - este sinalizador deve ser habilitado se a partição está na partição raiz a ser usada pelo Linux. @item swap (Mac) - este sinalizador deve ser habilitado se a partição é a swap que vai ser usada pelo Linux. @item hidden (MSDOS, PC98) - esta flag deve ser habilitada para esconder partições de sistemas operacionais Microsoft. @item raid (MSDOS) - este sinalizador pode ser habilitado para dizer ao Linux que essa partição é uma partição de software RAID @xref{LVM e RAID}. @item LVM (MSDOS) - este sinalizador pode ser habilitado para dizer à partição linux que a partição é um volume físico. @end table O comando print mostra todas os sinalizadores para cada partição. Exemplo: @example (parted) @kbd{set 1 boot on} @end example Define o sinalizador de @samp{boot} na partição 1. @end deffn @node Exexmplos @section Sessões de Exemplo do Parted @cindex sessões de exemplo do parted @cindex sessões de exemplo do parted Estes exemplos tenta cobrir a maior parte das circunstâncias, com a exceção de espelhamento de disco, que é discutido em @ref{Espelhamento de disco}. @menu * Aumentando uma partição usando espaço não-usado:: * Redimensionando uma partição ext2 num disco cheio:: @end menu @node Aumentando uma partição usando espaço inusado @subsection Exemplo: Aumentando uma partição para usar espaço inusado @cindex aumentando uma partição, exemplo @cindex exemplo, aumentando uma partição Suponhã que seu disco se pareça com isso: @example @group (parted) @kbd{print} Disk geometry for /dev/hda: 0.000-1000.000 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.063 500.000 primary ext2 2 500.000 625.000 primary linux-swap @end group @end example @noindent Existem 375 Mb de espaço livre no final do disco (depois da partição 2). A Partição 1 tem um sistemas de arquivo ext2, que é o dispositivo riaz. A partição 2 é um dispositivo de swap. Suponha que você queira usar o espaço livre no final do disco para o sistemas de arquivo na partição 1. Você pode fazer o seguinte: @enumerate @item Estes passos vão modificar tanto o sistemas de arquivo raiz na partição 1, quanto o dispositivo de swap na partição 2. Portanto, você não deveria estar usando nenhuma das duas partições. Você provavelmente deve usar um disco de boot do Parted. @xref{Discos de boot do Parted}. Do disco de boot, rode o Parted: @example # @kbd{parted /dev/hda} @end example @item Remove a partição 2 (a partição de swap). Normalmente, você não ia querer apagar uma partição com dados nela. Mas, uma partição não contém dados enquanto não está montada, então você pode removê-la, e criar uma outra partição de swap no seu lugar. @example (parted) @kbd{rm 2} @end example @item Cria uma nova partição de swap no fim do disco: @example @group (parted) @kbd{mkpartfs primary linux-swap 875 999.9} (parted) @kbd{print} Disk geometry for /dev/hda: 0.000-1000.000 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.063 500.000 primary ext2 2 875.000 1000.000 primary linux-swap @end group @end example @item Aumenta a partição 1 no espaço que está sobrando @example (parted) @kbd{resize 1 0.063 874.9} @end example Tudo feito! @example @group (parted) @kbd{print} Disk geometry for /dev/hda: 0.000-1000.000 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.063 874.999 primary ext2 2 875.000 1000.000 primary linux-swap @end group @end example @end enumerate @node Redimensionando uma partição ext2 em um disco cheio @subsection Exemplo: Redimensionando uma partição ext2 num disco cheio @cindex redimensionando uma partição num disco cheio, exemplo @cindex exemplo, redimensionando uma partição num disco cheio Suponha que o seu disco se pareça com isso: @example @group (parted) @kbd{print} Disk geometry for /dev/hda: 0-8063.5 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.0 23.5 primary ext2 boot 2 23.5 8056.0 extended 5 23.6 3545.6 logical ext2 6 3545.6 7067.7 logical ext2 7 7067.7 7326.5 logical ext2 8 7326.5 7585.4 logical ext2 9 7585.4 7844.2 logical linux-swap @end group @group $ @kbd{df -h} Filesystem Size Used Avail Use% Mounted on /dev/hda8 251M 31M 207M 13% / /dev/hda1 23M 2.4M 19M 11% /boot /dev/hda5 3.4G 577M 2.7G 18% /usr /dev/hda6 3.4G 289M 2.9G 9% /home /dev/hda7 251M 12M 226M 5% /var @end group @end example Suponha que você queira aumentar a partição do @file{/var} @file{/dev/hda7}) para 1GB, usando algum espaço da partição do @file{/home} (@file{/dev/hda6}). Para redimensionar uma partição usando o Parted, você pode usar o comando resize: @example (parted) resize @var{numero-da-particao} @var{novo-começo} @var{novo-fim} @end example @noindent @var{novo começo} deve ser o mesmo que o antigo começo em partições ext2 (infelizmente). Então esse processo vai ficar mais complicado. @emph{É} possível, portanto. @footnote{Se o Parted suportasse mover o começo de partições ext2 (como ele faz com partições FAT), então seria muito mais simples: @example @group (parted) @kbd{resize 6 3545.6 6200} (parted) @kbd{resize 7 6200 7326.5} @end group @end example } @enumerate @item Diminuir a partição do @file{/home} (@file{/dev/hda6}) em 500MB: @example # @kbd{parted /dev/hda} (parted) @kbd{resize 6 3545.6 6200} @end example @item Cria uma nova partição no seu lugar. Ali é onde @file{/var} vai estar, eventualmente. Esta nova partição vai ser numerada como 10. @example (parted) @kbd{mkpartfs logical ext2 6200 7067.7} @end example @item Copia a antiga partição do @file{/var} (@file{/dev/hda7}) para a nova (@file{/dev/hda10}). @example (parted) @kbd{cp 7 10} @end example @item Apaga a antiga @file{/var} @example (parted) rm 7 @end example Nesse momento: todas as partições lógicas com número maior que 7 mudaram de número. Então 8, 9 e 10 viraram 7, 8 e 9 respectivamente. Esta renumeração não vai acontecer de verdade enquanto qualquer uma delas estiver montadas naquele disco (só vai acontecer quando você reiniciar). Isto é do que essa mensagem de aviso trata. Então você @emph{nunca} deve tentar montar um sistemas de arquivo tocado pelo Parted (redimensionado ou criado pelo Parted), antes de reiniciar se você receber essa mensagem. @item Redimensiona a nova partição do @file{/var} (agora numerada para 9), adicionando o espaço da antiga partição do @file{/var}: @example @group (parted) @kbd{resize 9 6200 7326.5} (parted) @kbd{quit} Warning: The kernel was unable to re-read the partition table on /dev/hda (Device or resource busy). This means Linux knows nothing about any modifications you made. You should reboot your computer before doing anything with /dev/hda. @end group @end example @item Pelos números das partições terem mudado, a @file{/etc/fstab} deve ser atualizada. Isto pode ser feito antes de reiniciar, porque a partição raiz não foi tocada pelo Parted. (Se você quer que o Parted faça algo com a partição raiz, você precisa usar o disco de boot). Se a antiga @file{/etc/fstab} se parece com isso: @example @group /dev/hda8 / ext2 defaults 1 1 /dev/hda1 /boot ext2 defaults 1 2 /dev/hda6 /home ext2 grpquota,usrquota 0 2 /dev/cdrom /mnt/cdrom iso9660 noauto,owner,ro 0 0 /dev/hda5 /usr ext2 defaults 1 2 /dev/hda7 /var ext2 grpquota,usrquota 0 2 /dev/fd0 /mnt/floppy auto noauto,owner 0 0 none /proc proc defaults 0 0 none /dev/pts devpts gid=5,mode=620 0 0 /dev/hda9 swap swap defaults 0 0 @end group @end example Algumas linhas precisam ser alteradas: A few lines need to be changed: @itemize @item @file{/var} is now /dev/hda9 (because we copied it to a new partition) @item @file{/dev/hda8} (the root device) has been renumbered to @file{/dev/hda7} @item @file{/dev/hda9} (the swap device) has been renumbered to @file{/dev/hda8} @end itemize The new @file{/etc/fstab} looks like this: @example @group /dev/hda7 / ext2 defaults 1 1 /dev/hda1 /boot ext2 defaults 1 2 /dev/hda6 /home ext2 grpquota,usrquota 0 2 /dev/cdrom /mnt/cdrom iso9660 noauto,owner,ro 0 0 /dev/hda5 /usr ext2 defaults 1 2 /dev/hda9 /var ext2 grpquota,usrquota 0 2 /dev/fd0 /mnt/floppy auto noauto,owner 0 0 none /proc proc defaults 0 0 none /dev/pts devpts gid=5,mode=620 0 0 /dev/hda8 swap swap defaults 0 0 @end group @end example @item Reboot. That's it! @end enumerate @node BIOSes and Firmware @chapter BIOSes and Firmware @cindex bios @cindex firmware ``BIOS'' (Basic Input/Output System) and ``firmware'' mean the same thing. However, on PC and PC98 based computers, the word BIOS is more common. On Apple Macintosh and Sun computers, the word ``firmware'' is more common. The BIOS or firmware program is built into a ROM chip inside your computer, that does memory checks, etc. You can not (easily) change this program. Since BIOSes today are generally compatible with BIOSes in use 20 years ago, these programs tend to have an antiquated design. Features have been added in counter-intuitive ways over the years, leading to overly complicated systems that cause a lot of confusion today. @menu * PC BIOSes:: The Legacy of IBM * Macintosh OpenFirmware:: Go Forth, Young Hacker! * PC98 BIOS:: The BIOS of the PC98 computer * SGI / MIPS Firmware:: The firmware of SGI MIPS computers @end menu @node PC BIOSes @section The PC BIOS @cindex pc bios @cindex bios, pc There are a few popular PC BIOSes: AmiBIOS, Award, Phoenix, and others. They all work in a similar way. None of these BIOSes understand or know about partition tables. They affect partitioning indirectly. There are a few popular PC BIOSes: AmiBIOS, Award, Phoenix, and others. They all work in a similar way. None of these BIOSes understand or know about partition tables. They affect partitioning indirectly. outras. Elas todas trabalham de modo semelhante. Nenhma dessas BIOSs entende ou conhecem sobre tabelas de partição, mas elas a afetam indiretamente. O seguinte ocorre quando o seu computador é ligado: @enumerate @item Estas BIOSs carregam o primeiro bit do programa carregador de boot, guardado na MBR (Master Boot Record - Registro Mestre do Boot) no disco rígido. @item A BIOS execute o primeiro bit do carregador de boot, guardado na MBR (Master Boot Record - Registro Mestre do Boot) no disco rígido. @item O programa carregador de boot usa a BIOS para carregar o resto do próprio programa. @item O carregador de boot usa a BIOS para carregar o sistema operacional (ou quem sabe, outro carregador de boot, nesse caso, você vai para o passo 2 de novo). @item O sistema operacional pode ou não usar a bios para acessar arquivos (o Windows geralmente usa, o Linux ou o BSd não). @end enumerate @c RMK: FIXME: learn how to refer to entries in the above list, so that @c the following paragraphs doesn't depend on the order details of the @c list. Os passos (3) a (5) involvem programas comunicando-se com a BIOS, para pedir para falar com os discos. Existem duas maneiras de se comunicar com a BIOS para fazer isso: usando CHS (Cylinders Heads and Sectors - Cilindros Trilhas e Setores) ou LBA (Linear Block Addressing - Endereçamento de Blocos Linear). BIOSs antigas somente vão suportar CHS. As novas BIOSs geralmente suportam tanto LBA quanto CHS, apesar do suporte a CHS ser interrompido no futuro. (o CHS é considerado um sistema legado horrível.) Passos (3) e (4), feitos pelo carregador deboot, sempre vão usar o mesmo método de acesso --- sempre LBA ou sempre CHS. No caso do carregador de boot do Windows, ele é determinado pelo indicador de LBA na partição de boot do Windows (@pxref{definida} para informações sobre indicadores). No caso do Linux, você provavelmente estará usando LILO ou GRUB como carregador de boot. O GRUB usa LBA se estiver disponível, e CHS se não. O LILO requer que você escolha quando você instala ele (com as opções "linear" ou "lba32"). @c RMK: FIXME: find way to refer to above steps by @-command Passo (5) - E/S feita pelo sistema operacional - somente o Windows faz E/S pela BIOS. [Nós ainda não sabemos o suficiente sobre os problemas, mas parece que o Windows pode ter seus próprios problemas com o modo CHS. As pessoas nos disseram de vezes em que o Windows corrompe seu próprio sistemas de arquivo, etc. É realmente difícil para nós saber o que está acontecendo. Nós recomendamos fortemente que você use LBA, se você pode!] Então existem 3 possíveis situações, todas discutidas aqui: @enumerate @item Você está usando o modo CHS, e a sua BIOS só suporta o modo CHS. @item Você está usando o modo CHS, e a sua BIOS suporta tanto LBA quanto CHS. Então, você quer converter do modo CHS para LBA O Mais Rápido Possível @sc{tm}. @item Você já está usando o modo LBA. @end enumerate @menu * O Parted e o modo CHS:: Usando o Parted em BIOSs com modo CHS * Do modo CHS para LBA:: Convertendo a BIOS do modo CHS para LBA * O Parted e o modo LBA:: Usando o Parted com o modo LBA @end menu @node O Parted e o modo CHS @subsection Usando o Parted em BIOS do modo CHS @cindex bios de modo chs @cindex chs, bios com geometria de disco do modo O Linux normalmente detecta a geometria da BIOS automaticamente. Contudo, às vezes isso dá errado. Neste caso, você mesmo deve dizer ao Linux, passando um parâmetro para ele. Por exemplo, se o Linux pensa que o seu disco rígido @file{/dev/hda} tem a geometria 256/64/63, mas o programa de configuração da BIOS diz que a geometria é 512/32/63, então você deve passar esse parâmetro ao Linux: @example @kbd{hda=512,32,63} @end example Os parâmetros são passados de diversas maneiras, dependendo do carregador de boot que você está usando. Você provavelmente está usando o LILO. Neste caso, você adiciona a seguinte linha para o @file{/etc/lilo.conf}: (Você então precisa rodar o @command{/sbin/lilo}, e reiniciar para as mudanças terem efeito) @c RMK: FIXME: can't get the quotes right: texinfo double quotes ``'' don't @c work in example's, and keyboard double quotes "" don't look right in text. @example append="hda=512,32,63" @end example O Parted geralmente pode detectar se o Linux detectou a geometria incorreta. Contudo, ele não pode fazer isso se não existem partições no disco. Neste caso, você mesmo pode checar. É muito importante que você faça isso. Algumas vezes, o Parted vai reclamar que as partições não estão alinhadas aos limites dos cilindros. O Parted vai te dar a opção de ignorar. Se você ignorar, então o Parted via fazer alguns truques com a sua tabela de partições. No Linux não vai ter problemas. No DOS e no Windows não vão ter problemas se eles estão usando o modo LBA. Se o DOS/Windows está usando o modo CHS, então reinstalar o gerenciador de boot (@pxref{MS DOS MS Windows 9x MS Windows ME}) deve resolver qualquer problema - mas mudar pro modo LBA é preferível (veja @pxref{Do modo CHS para LBA}). Partições que estão envolvidas no processo de boot devem finalizar antes do cilindro 1024, se o modo CHS está sendo usado. Veja a seção sobre o processo de boot para determinar se a partição está envolvida no processo de boot. A configuração típica é ter uma pequena partição Linux para o @file{/boot}, uma partição Windows, e então a(s) partição(ões) Linux. @node Do modo CHS para o LBA @subsection Convertendo do modo CHS para o LBA @cindex chs para lba, converting de Para fazer com que o carregador de boot do Windows e o sistema operacional usarem o modo LBA, somente defina o indicador LBA em todas as partições FAT @ref{set}. Você não deve ter problemas. Se você tiver problemas carregando o Windows, então reinstalar o carregador de boot do Windows vai consertar isso @ref{MS DOS MS Windows 9x MS Windows ME}. O Linux não usa a BIOS para E/S. Contudo, o carregador de boot (LILO ou GRUB) pode. O GRUB automaticamente usa LBA, caso esteja disponível. O LILO exige a opção ``linear'' ou ``lba32''. Então, se o LILO ainda carrega após mudar o @file{/etc/lilo.conf} e rodar o @command{/sbin/lilo}, então está tudo feito! @xref{LILO}. (Se você tiver problemas, reverta para CHS de volta, removendo a opção ``linear'' ou ``lba32'', e reinstalando o lilo do disco de boot.) Agora que você está usando LBA continue lendo@dots{} @node O Parted e o modo LBA @subsection Usando o Parted no modo LBA @cindex modo lba @cindex lba, geometria de disco do modo O modo LBA resolve todos os problemas do CHS. Contudo, não existe uma maneira confiável para o Linux ou o Parted saber que você está usando LBA, então o Parted pode te dar avisos sobre cilindros não alinhados, ou a geometria da BIOS ser inconsistente, etc. Você pode ignorar essas mensagens, se você está usando o modo LBA. (Versões antigas do Parted tinham problemas, mas todos foram resolvidos). Quando o seu disco está no modo LBA, o Parted (e a maioria dos outros programas) vai dizer que a sua geometria é X/255/63 - a menos que você tenha mudado do CHS para LBA. @node Macintosh OpenFirmware @section OpenFirmware do the Apple Macintosh @cindex open firmware, macintosh @cindex macintosh open firmware Existem duas versões do OpenFirmware do PowerMac - uma usada no ``antigo mundo'' do PowerMac, e outra usada no ``novo mundo''. O ``Novo mundo'' se refere aos PowerPCs coloridos feitos desde 1999. Eles tem diferenças significantes. Contudo, ambos entendem tabelas de partição. Ambas requerem que o usuário escolha exatamente uma partição para ser a partição de boot (a partição com o carregador de boot). Contudo, eles usam mecanismos diferentes para fazer isso. @menu * Velho Mundo:: * Novo Mundo:: @end menu @node Velho Mundo @subsection OpenFirware Macintosh do Velho Mundo @cindex firmware macintosh do velho mundo @cindex velho mundo, firmware macintosh do @cindex firmware macintosh do velho mundo A partição escolhida para dar boot é definida por vários carregadores de boot, como o Quik. Então, você não deve precisar fazer nada. Nós poderíamos adicionar suporte a isso no Parted, se alguém gritar muito alto@dots{} @node Novo Mundo @subsection OpenFirware Macintosh do Novo Mundo @cindex firware macintosh do velho mundo @cindex novo mundo, firwarem macintosh do @cindex firwarem macintosh do novo mundo @c RMK: completeness: do we have a description of HFS anywhere here? OpenFirmware do novo mundo requer que a partição que dá boot seja HFS e marcada como partição de boot. Ela usa um mecanismo diferente para ser marcada como a partição de boot. Isto é controlado com o indicador ``boot'' no Parted. Por exemplo: @example (parted) @kbd{set 2 boot on} @end example @node BIOS dos PC98 @section As BIOS dos PC98 @cindex bios do pc98 @c RMK: completeness : should we describe what machines are likely to @c have a PC 98 bios? @c RMK: illiteracy: the only pages I found for PC98 info were in Japanese, @c which I can't read :( A BIOS dos PC98 permitem a você marcar qualquer número de partição como bootável. Você pode desmarcar ou marcar uma partição como bootável com o indicador ``boot'' do Parted. Por exemplo: @example (parted) @kbd{set 2 boot off} @end example @node Firmwares dos SGI / MIPS @section Firmware dos SGI / MIPS @cindex firmware dos sgi @cindex firmware dos mips O firmware dos SGI / MIPS permite você fazer o boot de arquivos de boot especiais, que são gerenciados pela tabela de partições. No Parted, esses arquivos de boot são tratados como partições lógicas dentro das partições extendidas. Por exemplo: @example Disk label type: mips Minor Start End Type Filesystem Name Flags 9 0.000 2.732 extended 17 0.002 0.002 logical sgilabel 18 0.003 1.162 logical symmon 19 1.404 1.670 logical sash 1 2.732 8555.212 primary xfs root 2 8555.213 8682.270 primary swap @end example A Partição 9 é a partição extendida (um cabeçalho de volume, na terminologia dos SGI/MIPS) aonde o arquivo de boot pode ficar. As partições 17, 18 e 19 são os arquivos de boot. Seus nomes podem ser manipulados com o comando name do Parted. A partição 1 e 2 são partições normais. Elas não podem ter nomes. Note que o Linux não vê os arquivos de boot como partições (talvez devesse?). Então o /dev/hda17 não existe no Linux. Você deve usar o dvhtool(8) para manipular arquivos de boot. @node Carregadores de Boot @chapter Carregadores de Boot @cindex carregadores de boot O carregador de boot é o programa que permite que você selecione qual sistema operacional você quer usar, e carrega aquele sistema operacional. Você pode ter mais de um carregador de boot instalado, especialmente se você tem mais de um tipo de sistema operacional instalado. É comum para carregadores de boot poderem carregar outros carregadores de boot. Quando se redimensiona uma partição, muitos dados se movem. Muitos carregadores de boot não entendem o sistemas de arquivo. Eles só lembram aonde que as informações necessárias para o carregador de boot reside. Se esta informação é movida, deve-se dizer ao carregador de boot pra onde elas se moveram. Isto é feito reinstalando o carregador de boot (por exemplo, rodando novamente o programa instalador do carregador de boot, que normalmente envolve digitar um único comando na shell). Nem todos os carregadores de boot exigem isso. @menu * LILO:: O LInux LOader * GNU GRUB:: GNU GRand Unified Boot-loader * MS DOS MS Windows 9x MS Windows ME:: Software Legado da MS * MS Windows NT:: Carregador do MS Windows NT * MS Windows 2000:: Carregador do MS Windows 2000 * Quik:: Quik * Yaboot:: Yaboot @end menu @node LILO @section LILO: um carregador de boot para o kernel do Linux @cindex lilo LILO é um carregador de boot popular para os x86. O carregador de boot do LILO é geralmente instalado com: @example # @kbd{/sbin/lilo} @end example Se você está usando um disco de boot, então você deve fazer isso: (aonde @file{/dev/hda1} deve ser substituído com a partição raiz) @example # @kbd{mount /dev/hda1 /mnt} # @kbd{chroot /mnt /sbin/lilo} # @kbd{umount /dev/hda1} @end example Versões antigas do LILO não suportam o modo LBA (@pxref{BIOSs de PC}). O modo LBA é habilitado com as opções lba32 ou linear, no @file{/etc/lilo.conf} (veja a documentação do LILO para maiores informações). Se você usa o modo LBA, você não deve ter problemas, contanto que a sua BIOS suporte LBA. Se você usa o modo CHS, então a partição com o diretório @file{/boot} deve acabar antes do cilindro 1024. Então, se você tem um disco grande (vamos dizer, com mais de 8 gigabytes), você deve ter um partição para o @file{/boot} próximo ao começo do disco. @node GNU GRUB @section GRUB: O GNU GRand Unified Bootloader @cindex grub GRUB é um carregador de boot relativamente novo, para x86. Dependendo de como o GRUB é instalado, ele pode entender o sistemas de arquivo, ou simplesmente lembrar aonde os arquivos de boot estão guardados. Ele entende o sistemas de arquivo se ele está usando ``Stage1.5''. Se ele não está usando Stage1.5, ou o número da partição muda, então você precisa reinstalar o Stage2 (por favor veja a documentação do GRUB). Do modo contrário, você não precisa fazer nada. O GRUB automaticamente detecta se LBA está disponível, e vai usá-lo se ele está disponível (equivalente à opção ``lba32'' do LILO). @node MS DOS MS Windows 9x MS Windows ME @section Carregadores de Boot Legados dos Sistemas Operacionais Microsoft @cindex carregador de boot do win32 @cindex carregador de boot legado dos sistemas operacinais microsoft O DOS e Windows requerem que você reinstale o carregador de boot se você mudar o tipo de FAT (FAT16 ou FAT32) da partição de boot. O Parted vai avisar você antes de fazer isso. Para reinstalar o carregador de boot, você pode tanto criar um disco de boot, ou usar o CDROM de boot. O método do disco de boot não funciona com o Windows ME. @itemize @minus @item MÉTODO DO DISCO DE BOOT (DOS/Windows 9x) @enumerate @item Criar um disco de boot do Windows @itemize @bullet @item Carregue o Windows. @emph{Isto implica que você deve fazer um disco de boot antes de usar o parted}. @item Clique com o direito no drive de disquete no Windows Explorer. @item Clique em ``Formatar''. @item Selecione ``Copiar somente os arquivos de sistema''. @item Clique em ``Formatar''. @item Copie o C:\WINDOWS\COMMAND\SYS.COM para o A:\ Nota: você deve ter chamado o C:\WINDOWS de algo mais, como C:\WIN98. @end itemize @item Carregue o disco de boot do Windows, deixando o disco de boot no drive de disquete quando carregar. Você pode precisar dizer à sua BIOS para usar o disquete como boot. @item Digite o seguinte no prompt do DOS: @example A:\>@kbd{sys c:} @end example @end enumerate @item MÉTODO DO CDROM: (Windows 9x/ME) @enumerate @item Insira o CDROM do Windows, e faça boot dele. (Selecione ``boot sem suporte a CDROM''). @item Digite: @example A:\>@kbd{c:} C:\>@kbd{cd \windows\command} (pode ser \win98\command, ou similar) C:\WINDOWS\COMMAND>@kbd{sys c:} @end example Isto é tudo. @end enumerate @end itemize Além disso, o DOS e Windows impõe algumas restrições: @itemize @bullet @item A partição de boot deve ser selecionada com o indicador ``boot''. Somente uma partição podem ser selecionadas (algumas vezes chamadas de partições ``ativas''). Por exemplo, para definir a partição 3 como a partição de boot faça: @example (parted) @kbd{set 3 boot on} @end example @item O MS DOS e o MS Windows 9x/ME só podem fazer boot da primeira partição FAT. Isto é, a partição FAT com o menor número de partição, que não está oculta. Note que os carregadores de boot como o GRUB e o LILO (e algumas BIOSs) podem mudar esse comportamento@dots{} @item Se você está usando endereçamento CHS (ao invés de endereçamento LBA), então o início da partição de boot deve ser antes do cilindro 1024. Você pode dizer ao MS DOS para usar (ou não usar) o endereçamento LBA, habilitando ou desabilitando o indicador LBA na partição de boot. Por exemplo, habilitar o indicador LBA na partição 2, faça: @example (parted) @kbd{set 2 lba on} @end example Nota: o endereçamento LBA não é suportado pelo MS-DOS 6.22 ou inferior, bem como todas as versões do PC-DOS. Aviso: algumas BIOSs não vão habilitar o endereçamento LBA, ao menos que você habilite na BIOS também. Se, por alguma razão, o Windows não inicializar após mudar esse indicador, então este é provavelmente o problema. @item o MS-DOS ``real'' (por exemplo, versão 6.2 pra cima) e o MS-DOS 7.0 (por exemplo, o Windows 95/98a) não conhecem FAT32. Então é possível inicializar eles da @emph{segunda partição fat} (somente FAT16, claro), quando @emph{a primeira partição fat} é FAT32. Ambas tem que ser partições primárias, então você provavelmente vai ter que definir qual você quer inicializar como partição ativa. @end itemize @node MS Windows NT @section O Carregador de Boot do Microsoft Windows NT @cindex carregador de boot do microsoft windows nt O Windows NT não pode ler ou inicializar de partições FAT32. Portanto, você não deve nunca converter partições FAT16 para FAT32, se você quer usá-las com o Windows NT. @node MS Windows 2000 @section O Carregador de Boot do Microsoft Windows 2000 @cindex carregador de boot do microsoft windows 2000 O Windows 2000 requer que você reinstale o carregador de boot se você mudar o tipo de FAT (FAT16 ou FAT32) do sistemas de partições. O Parted vai avisar você antes de tentar fazer isso. Para reinstalar o carregador de boot, faça: @enumerate @item Faça boot do CD do Windows 2000. @item Ele vai perguntar se você quer continuar. Aperte Enter. @item Ele então vai perguntar se você quer instalar um novo sistema, ou Consertar um sistema pré-existente. Escolha a última (apertando ``R''). Ele vai perguntar se você quer reparar automaticamente, ou se você quer usar o console de recuperação. Escolha usar o console de recuperação. @item No console, digite: @example C:\>@kbd{fixboot} @end example O sistema deve inicializar com sucesso agora. @end enumerate O carregador de boot do NT/2000 também precisa: @itemize @bullet @item seu próprio código no setor de boot de uma partição PRIMÁRIA FAT12, FAT16 ou NTFS (FAT32 é possível com o Windows 2000), que é chamada de ``partição de sistema''. Esta partição deve ser marcada com o indicador de ``boot'' no Parted. @item os arquivos NTLDR, BOOT.INI e NTDETECT.COM dentro do sistema da partição. O BOOT.INI guarda toda a informação sobre a localização física da primeira partição ou de um drive lógico aonde o Windows NT foi instalado, chamado de ``partição de boot''. A partição de boot e a partição de sistema podem estar localizadas juntas numa partição primária. @c RMK: usage: ambiguous use of 'this': it refers to disk controller? @item opcionalmente, o arquivo NTBOOTDD.SYS dentro do sistemas de partições que é renomeado driver de disco para o seu controlador SCSI ou IDE, quando ele não tem BIOS própria (ou sua BIOS não acessa discos grandes). @item com o MS Windows NT, o sistemas de partições deve terminar antes do cilindro 1024 e @emph{deve} começar antes do cilindro 1024. Se ele termina antes do cilindro 1024 e os arquivos necessários para a inicialização são movidos depois dessa borda, o MS Windows NT não vai mais inicializar. @item ambos a partição de boot e de sistemas deve ser redimensionada, sem a necessidade de qualquer outra mudança. @item se o número da partição de boot muda (por exemplo, seu número de partição), então o BOOT.INI deve ser atualizado. @end itemize @node Quik @section Quik: um carregador de boot para PowerPCs Macintosh @cindex carregador de boot para macintoshs do velho mundo @cindex velho mundo, carregador de boot do macintosh do O Quik é um carregador de boot popular para PowerPCs Macintosh do ``Velho Mundo''. Você precisa reinstalar o Quik se você redimensionar uma partição ext2, usando: @example # @kbd{/sbin/quik} @end example @node Yaboot @section Yaboot: um carregador de boot para PowerPCs Macintosh @cindex carregador de boot para macintoshs do velho mundo @cindex velho mundo, carregadores de boot para macintoshs do O Yaboot é um carregador de boot popular para Power PCs Macintosh do ``velho mundo''. (``Novo-mundo'' se refere aos PowerPCs coloridos fabricados desde 1999.) O Yaboot precisa de sua partição de boot que deve ser pelo menos 800k. Então, se você está instalando o GNU/Linux do zero, você faria algo como isso: @example (parted) @kbd{mklabel mac} @group (parted) @kbd{print} Disk geometry for /dev/sda: 0.000-6149.882 megabytes Disk label type: mac Minor Start End Filesystem Name Flags 1 0.000 0.031 Apple @end group (parted) @kbd{mkpart primary hfs 0.032 1} @group (parted) @kbd{print} Disk geometry for /dev/hdb: 0.000-6149.882 megabytes Disk label type: mac Minor Start End Filesystem Name Flags 1 0.000 0.031 Apple 2 0.031 1.000 @end group (parted) @kbd{set 2 boot on} @group (parted) @kbd{print} Disk geometry for /dev/hdb: 0.000-6149.882 megabytes Disk label type: mac Minor Start End Filesystem Name Flags 1 0.000 0.031 Apple 2 0.031 1.000 boot @end group @end example Você não precisa reinstalar o Yaboot depois de redimensionar uma partição. O Yaboot é instalado com o ybin @ref{Software Relacionado}. @node Sistemas Operacionais @chapter Sistemas Operacionais @cindex sistemas operacionais O Parted somente roda sob o GNU/Linux e o GNU/Hurd, no momento. Contudo, ele pode ser usado para redimensionar partições usadas por, ou compartilhadas com outros sistemas operacionais. Quando você quer redimensionar um sistemas de arquivo, certifique-se de que não está montado. O Parted não pode redimensionar partições montadas (isto pode mudar no futuro@dots{}). Se você modificar a tabela de partições num disco com um partição montada nela, você deve reiniciar imediatamente. O Linux não vai saber sobre as mudanças que você fez na tabela de partições. (Isto vai ser corrigido, com o kernel 2.4, e quando nós adicionarmos suporte a ele.) Se você quer redimensionar sua partição root ou de boot, use um disco de boot @xref{Discos de boot do Parted}, ou use o redimensionador online do Andreas Dilger, incluído no pacote ext2resize @ref{Ext2}. @menu * GNU/Linux e FreeBSD:: Suporte a tabelas de partição nesses sistemas livres * MS Windows and OS/2:: Suporte a tabelas de partição nesses sistemas * MacOS:: As tabelas de partição suportadas pelo MacOS @end menu @node GNU/Linux e FreeBSD @section Tabelas de partição usadas pelo GNU/Linux e FreeBSD @cindex tabelas de partição do gnu/linux @cindex tabelas de partição do freebsd @cindex freebsd, tabelas de partição do @cindex linux, tabelas de partição do Ambos os sistemas GNU/Linux e FreeBSD são mais mais flexíveis quanto a tabelas de partição, suportando muitos tipos de tabelas de partição. @c RMK: padding: added notes about disklabel support for Linux kernel Por ser mais difícil para uma máquina usar discos rígidos com tabelas de partição normalmente usadas por outras arquiteturas, distribuições padrão do kernel do Linux somente suportam as tabelas de partição populares para a arquitetura para as quais foram compiladas. Por exemplo, um kernel do Linux padrão compilado para o PC provavelmente não vai ter suporte a tabelas de partição do Mac ou da Sun. Para acessar os sistemas de arquivo em discos com tabelas de partição não suportados, o kernel vai ter que ser recompilado. O FreeBSD tem um sistemas de tabelas de partições que é incompatível com as tabelas de partições do MSDOS. O Parted somente suporta o sistemas de tabelas de partição dos BSDs. É improvável que suporte o sistemas de partições em fatias, porque a semântica é muito estranha, e não trabalha como tabelas de partição ``normais''. @node O MS Windows e o OS/2 @section Tabelas de partição de disco suportadas por sistemas Microsoft e o OS/2 @cindex tabelas de partição legadas pela microsoft e a ibm @cindex microsoft e ibm, tabelas de partição legadas pela O MS Windows e o OS/2 somente suportam as tabelas de partição do MSDOS. Portanto, se você criar uma nova tabela de partições, você deve usar: @example (parted) @kbd{mklabel msdos} @end example @node MacOS @section Suporte a Tabelas de Partição no Sistema Operacional Macintosh @cindex tabelas de partição do macintosh @cindex macintosh, tabelas de partição do @c RMK: completeness: does Mac OS X understand non-mac disklabels? O MacOS (e o OpenFirmware) somente entende as tabelas de partição do mac. Portanto se você criar uma nova tabelas de partições, você deve usar: @example (parted) @kbd{mklabel mac} @end example Note que para tabelas de partição do Mac, você deve evitar deixar espaços livres em volta, porque as regiões de espaço livre deixam entradas na tabela de partições (e o Linux não gosta de ter mais de 15 entradas). Por exemplo, se você fizer: @example @group (parted) @kbd{print} Disk geometry for /dev/sda: 0.000-6149.882 megabytes Disk label type: mac Minor Start End Filesystem Name Flags 1 0.000 0.031 Apple 2 0.031 1.000 boot 3 1.000 1000.000 ext2 root root @end group (parted) @kbd{ mkpartfs primary ext2 1001 2000} @group (parted) @kbd{print} Disk geometry for /dev/sda: 0.000-6149.882 megabytes Disk label type: mac Minor Start End Filesystem Name Flags 1 0.000 0.031 Apple 2 0.031 1.000 boot 3 1.000 1000.000 ext2 root root 4 1001.000 2000.000 ext2 @end group @end example Existe 1 megabyte de espaço livre entre as partições 3 e 4. Você pode evitar isso, criando partições de 0.1M (no caso, o Parted automaticamente ``junta'' elas). Então, no exemplo acima, você deveria fazer isso ao invés: @example (parted) @kbd{mkpartfs primary ext2 1000.1 2000} @group (parted) @kbd{print} Disk geometry for /dev/sda: 0.000-6149.882 megabytes Disk label type: mac Minor Start End Filesystem Name Flags 1 0.000 0.031 Apple 2 0.031 1.000 boot 3 1.000 1000.000 ext2 root root 4 1000.000 2000.000 ext2 @end group @end example @node Sistemas de Arquivo @chapter Sistemas de Arquivo suportados pelo Parted @cindex sistemas de arquivo @menu * Sistemas Suportados:: File systems operations supported by GNU Parted * Ext2:: Sistemas ext2 do Linux no Parted * FAT16 and FAT32:: Sistemas Legados e o Parted da Microsoft e o Parted * Reiserfs:: Sistema jornalístico Reiser e o Parted @end menu @node Sistemas de Arquivo Suportados @section Sistemas de Arquivo Suportados pelo GNU Parted @cindex sistemas de arquivo suportados @cindex sistemas de arquivo suportados O Parted tem suporte a essas operações: @c RMK: FIXME: can we put in nicer marks for "true", and note markers @c to associate notes below with entries in this table? @multitable {Filesystem} {detect} {create} {resize} {copy} {check} @item Sistema de Arquivo @tab detecta @tab cria @tab redimensiona @tab copia @tab checa @item ext2 @tab * @tab * @tab *1 @tab *2 @tab *3 @item ext3 @tab * @tab @tab *1 @tab *2 @tab *3 @item fat16 @tab * @tab * @tab *4 @tab *4 @tab * @item fat32 @tab * @tab * @tab * @tab * @tab * @item hfs @tab * @tab @tab @tab @tab @item jfs @tab * @tab @tab @tab @tab @item linux-swap @tab * @tab * @tab * @tab * @tab * @item ntfs @tab * @tab @tab @tab @tab @item reiserfs @tab * @tab *5 @tab *1,5 @tab *5 @tab *3,5 @item ufs @tab * @tab @tab @tab @tab @item xfs @tab * @tab @tab @tab @tab @end multitable @c RMK: note: the following is not an enumerated list, just a bunch of @c notes associated to entries in the above matrix. That's bad. @noindent NOTAS: (1) O início da partição deve estar fixa para ext2, ext3 e reiserfs. (2) A partição que você copia deve ser maior (ou exatament o mesmo tamanho) da partição que você está copiando. (3) Checagem limitada é feita quando o sistemas de arquivo é aberto. Esta é a única checagem no momento. Todos os comandos (incluindo o resize) vão falhar graciosamente, deixando o sistemas de arquivo intacto, se não existir erros no sistemas de arquivo (e a vasta maioria de erros no geral). (4) O tamanho da nova partição, após redimensionar ou copiar, é restrito pelo tamanho de cluster para a fat (principalmente afeta FAT16). Isto é pior do que você pensa, porque você não chega a escolher o tamanho do cluster (isso é um bug no Windows, mas você quer compatibilidade, certo?). Então, em prática, você sempre pode diminuir sua partição (porque o Parted pode diminuir o tamanho do cluster), você não vai poder aumentar a partição pro tamanho que você quer. Se você não tiver problemas em usar FAT32, você sempre vai poder aumentar a partição pro tamanho que você quiser. Resumo: você sempre pode diminuir a sua partição. Se você não pode usar FAT32 por alguma razão, então você não vai poder aumentar sua partição. (5) O suporte a reiserfs é habilitado se você instalar libreiserfs, disponível em @uref{reiserfs.linux.kiev.ua}. (É provável que esteja disonível logo em www.namesys.com... nos diga se/quando isso acontecer!) @node Ext2 @section O GNU Parted e o Second Extended Filesystem @cindex suporte a sistema de arquivo ext2 @cindex suporte a sistemas second extended O Parted não suporta diretamente cópia de sistemas de arquivo ext2 (ainda). Contudo, existem algumas maneiras de se conseguir isso: @itemize @item Use o comando mkfs (ou mkfs.ext2), e então rode na shell: ME CONSERTE!!! isto ainda não funciona muito bem - mas deve estar OK para a maioria das pessoas@dots{} @example # @kbd{mount -t ext2 /dev/hda2 /mnt/dst} # @kbd{find /mnt/src -depth | cpio -pm /mnt/dst} @end example @item Se você duplicar uma partição que será maior que o original, isto também pode ser feito: primeiro, crie uma nova partição ext2. Então: @example # @kbd{dd if=/dev/dsp-antigo of=/dev/dsp-novo bs=1024 count=@var{tam_ant}} # @kbd{parted /dev/hda resize 2 @var{início} @var{fim}} @end example @noindent aonde @var{tam_ant} é o tamanho da partição original em kilobytes. @var{início} e @var{fim} são o novo começo e fim para a partição duplicada. @end itemize @node FAT16 e FAT32 @section Suporte a Sistemas de Arquivo da Microsoft @cindex suporte a sistemas de arquivo fat @cindex suporte a sistemas de arquivo legados da microsoft O Parted não pode aumentar o tamanho do cluster de sistemas de arquivo FAT (ainda). Isto põe restrições em redimensionar e copiar partições. Isto é geralmente bizarro, porque o Parted pode converter sistemas de arquivo entre FAT16 e FAT32, que tem restrições diferentes no que o tamanho do cluster pode ser. Por exemplo, vamos dizer que uma partição de 100Mb com um tamanho de cluster de 4k. Esta partição não pode ser redimensionados para 400Mb, porque o tamanho do cluster deveria ser mudado para 16k. Contudo, ele pode ser redimensionado para 600Mb se você usar FAT32. O contrário é verdade para sistemas de arquivo FAT32 de 600Mb. Note: quando você copia ou redimensiona um sistemas de arquivo, o Parted vai perguntar se você quer converter entre FAT16 e FAT32 (se isso for possível). Portanto, se você só quer converter um partição para FAT32 (sem redimensionar), você só precisa redimensionar a partição para o mesmo tamanho. @menu * MS DriveSpace:: Partições MS DriveSpace @end menu @node MS DriveSpace @subsection Partições MS DriveSpace @cindex partições drivespace O MS DriveSpace é um programa que vem com o MS Windows 95 que pdoe ser usado para comprimir sistemas de arquivo FAT. Eu acredito que ele funcione do mesmo jeito que o DoubleSpace, então tudo dito aqui pode ser aplicado no DoubleSpace também. É possível para o Parted redimensionar e copiar essas partições, mas você tem que fazer algumas coisas a mais@dots{} @menu * Aumentando uma partição DriveSpace:: * Diminuindo um partição DriveSpace:: * Copiando uma partição DriveSpace:: @end menu @node Aumentando uma partição DriveSpace @subsection Aumentando uma partição DriveSpace @cindex partição drivespace, aumentando uma Para aumentar o tamanho de uma partição DriveSpace, faça o seguinte @enumerate @item Use o comando resize do Parted para aumentar a partição para o tamanho desejado. @item Use o MS DriveSpace para enviar o espaço livre do drive de origem para o drive comprimido. @end enumerate @node Diminuindo uma partição DriveSpace @subsubsection Diminuindo uma partição DriveSpace @cindex partição drivespace, diminuindo uma Para aumentar o tamanho de uma partição DriveSpace, faça o seguinte: @enumerate @item Use o MS DriveSpace para jogar o espaço livre do drive comprimido para o drive de origem. O número de espaço jogado corresponde ao montante que se deve diminuir a partição. @c RMK: usage: "Parted doesn't give good feedback on what the nubmers" huh? @item Use o comando resize do Parted para diminuir uma partição para o tamanho desejado. NOTA: O Parted não tem uma boa resposta com os números pelo qual se pede para uma partição diminuir. Isto está na lista de afazeres. @end enumerate @node Copiando uma partição DriveSpace @subsubsection Copiando uma partição DriveSpace @cindex partição drivespace, copiando uma Se você quer copiar uma partição DriveSpace para uma partição que é maior, então você pode seguir as instruções para aumentar uma partição DriveSpace, exceto se você copiar ao invés de redimensionar para a partição desejada, e ter certeza de que você usou a nova partição no DriveSpace. Contudo, se você quer copiar uma partição DriveSpace que é menor, as coisas ficam um pouco mais complicadas: @enumerate @item Use o MS DriveSpace para empurrar o espaço livre do disco comprimido para o drive de origem. O montante de disco empurrado deve ser mais que a diferença entre o disco de origem e o tamanho desejado de uma das partições duplicadas. @item Use o Parted para copiar a partição de destino para a partição duplicada. @item Use o MS DriveSpace para empurrar o espaço livre do disco de origem de volta para o disco comprimido. @item Use o MS DriveSpace para empurrar o espaço livre do drive duplicado de volta para o drive comprimido. @end enumerate @node Reiserfs @section Sistemas de Arquivo Jornalístico Reiserfs @cindex reiserfs O Parted suporta reiserfs se a libreiserfs está instalada. O Parted detecta isso ao rodar, e automaticamente ativa o suporte. Você pode baixar a libreiserfs em: @uref{http://reiserfs.linux.kiev.ua} Note que a libreiserfs é software novo, e não foi largamente testado. @node LVM e RAID @chapter LVM e RAID @cindex lvm e raid @cindex raid e lvm @menu * Visão geral da LVM e RAID:: Visão geral da LVM e RAID * Criando partições RAID ou LVM:: Configurando partições RAID e LVM * Manipulando um volume RAID ou LVM:: Operações em partições RAID ou LVM @end menu @node Visão geral do LVM e RAID @section Logical Volume Manager e Redundant Arrays of Inexpensive Disks @cindex lvm e raid, visão geral do @cindex lvw, visão geral @cindex raid, visão geral O LVM (Logical Volume Manager) é um sistema alternativo para particionamento. Ele permite volumes lógicos (por exemplo, ``partições virtuais'') a serem espalhadas em muitos volumes físicos (por exemplo, discos e/ou partições). O LVM é suportado no Linux versão 2.4 e superior. RAID (Redundant Array of Inexpensive Disks - Ordem Redundante de Discos Baratos) é um sistema para usar muitos discos e/ou partições juntas, como uma ``partição virtual''. Existem muito poucos modos de usar software RAID, e são essencialmente: @c RMK: if there are only two options, why not put them into a sentence? @itemize @item usar múltiplos (pequenos) discos par um único sistemas de arquivo, aumentar a performance e fazer todo o espaço disponível ser disponível num único sistemas de arquivo. @item usar múltiplos discos para guardar cópias redundantes de informação, para aumentar a confiança e performance. @end itemize RAID por software é suportado no Linux versão 2.0 e superior. @c RMK: usage: what does ``is supported normally by Parted'' mean? RAID por hardware é normalmente suportado pelo Parted - então você não precisa ler essa seção se você está usando RAID por hardware (o oposto para RAID por software). LVM, RAID por software e partições são comumente usadas simultaneamente, mas elas todas podem ser usadas independentemente. LVM e RAID por software são geralmente compostas de partições, mais do que discos rígidos. O GNU Parted não suporta LVM e RAID por software completamente, mas ele é ainda útil quando usado em combinação com suas ferramentas respectivas. O Parted é útil para essas tarefas: @itemize @item criar uma partição RAID ou LVM de software @item criando, redimensionando ou copiando um sistema de arquivo num volume lógico (ou ``partição lógica'') @end itemize @node Criando partições LVM ou RAID @section Criando partições LVM ou RAID @cindex criação de partições lvm @cindex criação de partições raid Para criar uma partição RAID ou LVM, você deve: @enumerate @item Criar uma partição com o comando mkpart @item Definir o indicador LVM ou RAID na partição. @end enumerate Por exemplo: @example (parted) @kbd{mkpart primary ext2 0 4000} (parted) @kbd{set 1 lvm on} @end example Nota: a partição LVM ou RAID não vai estar pronta para uso ainda. Você ainda precisa rodar o mkraid(8) para RAIDs, ou usar as ferramentas de LVM para inicializar o volume físico, e criar grupos lógicos, etc. @node Manipulando um volume RAID ou LVM @section Manipulando um Sistema de Arquivo num volume RAID ou LVM @cindex operação em partições raid @cindex operações em partições lvm O Parted pode manipular volumes lógicos RAID e LVM, mesmo não entendendo RAID ou LVM. Ele utiliza o suporte do Linux a RAID e LVM. Portanto, você somente pode usar esses métodos se o seu kernel do Linux suporta RAID e/ou LVM. Para manipular um sistema de arquivo num volume lógico RAID ou LVM (ou, uma partição sozinha, para esse intuito), você pode iniciar o parted selecionando o dispositivo do volume (partição) lógico. Por exemplo: @example # @kbd{parted /dev/md0} @end example Para o resto desse capítulo, ``dispositivo virtual'' vai se referir ao dispositivo que o Parted está editando (no nosso exemplo, @file{/dev/md0}). For the rest of this chapter, ``virtual device'' will refer to the device Parted is editting (in our example cases, @file{/dev/md0}). @menu * Criando um sistema de arquivo num dispositivo RAID ou LVM:: * Redimensionando um sistema de arquivo:: * Copiando um sistema de arquivo de um dispositivo virtual para uma partição:: * Copiando um sistema de arquivo para um dispositivo virtual:: @end menu @node Criando um Sistema de Arquivo num dispositivo RAID ou LVM @subsection Criando um Sistema de Arquivo num Dispositivo VIrtual LVM ou RAID @cindex lvm, criando um sistema de arquivo em @cindex raid, criando um sistema de arquivo em Para criar um sistema de arquivo num volume LVM, use os seguintes passos: @enumerate @item Crie uma tabelas de partição de loop. Este é uma tabela de partições falsa, que diz ao Parted para tratar o dispositivo virtual como um único sistema de arquivo. Com essa falsa tabela de partições, existe ou nenhuma ou uma partição. @example (parted) @kbd{mklabel loop} @end example @item Crie o sistema de arquivo, usando o comando mkpartfs do Parted. Você deve deixar o início do sistema de arquivo 0. A partição pode terminar em qualquer lugar dentro do dispositivo virtual. Você pode encontrar o tamanho do dispositivo virtual com o comando print. Por exemplo: @example (parted) @kbd{print} @group Disk geometry for /dev/md0: 0.000-47.065 megabytes Disk label type: loop Minor Start End Filesystem Flags @end group (parted) @kbd{mkpartfs primary ext2 0 47.065} (parted) @kbd{print} @group Disk geometry for /dev/md0: 0.000-47.065 megabytes Disk label type: loop Minor Start End Filesystem Flags 1 0.000 47.065 ext2 @end group @end example @end enumerate @node Redimensionando um sistemas de arquivo @subsection Redimensionando um Sistema de Arquivos num Dispositivo Virtual LVM ou RAID @cindex lvm, redimensionando um sistema de arquivo @cindex raid, redimensionando um sistema de arquivo Você geralmente redimensiona o sistema de arquivo ao mesmo tempo que você redimensiona o seu dispositivo virtual. Se você está aumentando o sistema de arquivo e o dispositivo virtual, você deve primeiro aumentar o dispositivo virtual (com as ferramentas RAID ou LVM), e então aumentar o sistema de arquivo. Se você está diminuindo o sistema de arquivo e o dispositivo virtual, você deve diminuir o sistema de arquivo primeiro, e então o dispositivo virtual. Para redimensionar o sistema de arquivo no Parted, use o comando resize. Por exemplo: @example (parted) @kbd{select /dev/md0} (parted) @kbd{resize 1 0 20} @end example @node Copiando um sistema de arquivo de um dispositivo virtual para uma partição @subsection Copiando um Sistema de Arquivo de um Dispositivo LVM ou RAID para uma partição @cindex lvm, copiando de um lvm para uma partição @cindex raid, copiando de um raid para uma partição Para copiar um sistema de arquivo de um dispositivo virtual LVM ou RAID, é só usar o comando cp. Por exemplo: (parted) @kbd{select /dev/hda} (parted) @kbd{cp /dev/md0 1 3} @node Copiando um sistema de arquivo para um dispositivo virtual @subsection Copiando um Sistema de Arquivo de um Dispositivo Virtual RAID ou LVM @cindex lvm, copiando de uma partição lvm para um volume @cindex raid, copiando de uma partição para um volume raid Para copiar o sistema de arquivo para um dispositivo virtual LVM ou RAID, use a seguinte receita: @enumerate @item Crie a tabela de partições de loop no dispositivo virtual. Por exemplo: @example (parted) @kbd{select /dev/md0} (parted) @kbd{mklabel loop} @end example @item Crie um sistema de arquivo no dispositivo virtual, com o comando mkpartfs. Por exemplo: @example (parted) @kbd{mkpartfs primary ext2 0 47.065} @end example @item Copie a partição com o comando cp: @example (parted) @kbd{select /dev/hda} (parted) @kbd{cp /dev/md0 3 1} @end example @end enumerate @node Espelhamento de Discos @chapter Espelhamento de Discos @cindex espelhamento de discos Espelhamento de disco é o método para evitar o tedioso processo de instalação do Windows. Por exemplo, se você quer instalar o Windows e o Office em 1000 máquinas, vai levar provavelmente 5 vezes 1000 horas. As coisas não são tão ruins com o GNU/Linux, porque existem programas como o kickstart da Red Hat, que permite você automatizar a instalação de outros programas, ou praticamente qualquer coisa que você precise fazer. Portanto, o espelhamento de disco é somente usado para máquinas Windows (ou qualquer software não-livre) em geral, mas nós imaginamos que a maioria das organizações achariam impossível migrar do Windows para o GNU/Linux (ou qualquer outro software livre) sem um período de transição, aonde ambos os sistemas estão disponíveis. @c FIXME: standards: the CD-Writing howto is listed as non-free by LDP Com o espelhamento de disco, você pode torrar um CD com uma imagem de disco ou de uma partição contendo o Windows e o Office, e copiar a partição diretamente nos discos rígidos de todos os computadores, colocando um disco de boot e um CD, e deixando rolar. Mas a partição no disco Windows vai provavelmente ser maior, então a partição também vai ter de ser redimensionada. Eu já vi várias pessoas comentarem que elas gerenciaram esse processo usando discos de boot do Linux e o Parted. É possível usar o CDROM somente, usando o disquete de boot como a imagem de boot do CD. Leia a CD writing HOWTO para maiores informações. Existem algumas coisas peculiares que você tem que fazer pra coisa toda funcionar (que vai ser resolvida na próxima série estável do Parted). De qualquer modo, este é o processo geral: @enumerate @item Instale o Windows numa máquina, com a configuração que você quiser. Você pode ter uma partição do tamanho que quiser, contanto que não use mais de 640Mb, e deixe espaço para um instalação completa do Linux, e outros 1300Mb para duas cópias da imagem de disco. @item Instale o Linux na máquina. @item Faça um diretório para imagem do CD (exemplo: @file{/root/imagem}) @item Crie um arquivo de imagem de disco (exemplo: @file{/root/imagem/disco}) no diretório do CD: @example # @kbd{dd if=/dev/zero of=/root/imagem/disco bs=1M count=640} @end example @item Use o Parted para copiar a partição Windows para a imagem de disco: @example # @kbd{parted /root/cdimage/diskimage mklabel msdos} # @kbd{parted /root/cdimage/diskimage mkpart primary fat32 0 639} # @kbd{parted /root/cdimage/diskimage cp /dev/hda 1 1} @end example @item Crie uma imagem de CD do diretório da imagem de CD e torre esse CD com a sua ferramenta favorita de gravação. @item Compile uma versão especial do Parted sem suporte a língua nacional e suporte a readline (ou baixe a RPM especial da Freshmeat): @example localhost:~/parted-1.0.0# @kbd{./configure --disable-nls --without-readline --disable-shared; make} @end example @c FIXME: standards: LDP labelled the Bootdisk HOWTO non-free. @item Crie um disquete de boot do Linux (veja a Bootdisk HOWTO). @item Ponha a versão reduzida do Parted no disquete de boot (ou um disco raiz suplementar). @item Escreva um script shell para fazer o seguinte: @example @asis{mount /dev/cdrom /mnt/cdrom} @asis{parted --script /dev/hda mklabel msdos} @asis{parted --script /dev/hda mkpartfs primary fat 0 @var{algum-tamanho}} @asis{parted --script /dev/hda cp /mnt/cdrom/diskimage 1 1} @asis{parted --script /dev/hda set 1 boot on} @asis{/sbin/halt} @end example @var{algum-tamanho} é o tamanho que você quer que a primeira partição use. @item Inicie a instalação! Ponha o disquete + CD dentro de cada computador, e deixe rolar@dots{} @end enumerate Obviamente eu posso e vou fazer esse processo muito mais fácil. Nós estamos considerando fazer uma mini-distribuição para fazer isso. Eu não teria tempo para fazer isso --- algum voluntário? @node Software Relacionado @chapter Software Relacionado @cindex software relacionado @cindex leitura posterior @cindex documentação relacionada Se você quer procurar mais informações, sinta-se à vontade para enviar perguntas para @email{parted@@gnu.org}. (!) indica que a informação/software está provavelmente incluída na sua distribuição. Estes arquivos na distribuição do Parted contém informações adicionais: @itemize @bullet @item ABOUT-NLS - informações sobre usar o Suporte a Língua Nativa, e o Projeto de Tradução Livre @item API - a documentação sobre a API da libparted @item AUTHORS - quem escreveu o que @item BUGS - erros não arrumados @item ChangeLog - mudanças feitas no Parted @item COPYING - a GNU General Public License, os termos pelos quais o GNU Parted pode ser distribuido @item COPYING.DOC - a GNU Free Documentation Licence, o termo pelo qual a documentação do Parted pode ser distribuída. @item FAT -- informações sobre como o redimensionador de FAT funciona (para programadores) @item INSTALL --- como compilar e instalar o Parted, e a maioria dos outros softwares livres @item TODO --- recursos planejados que ainda não foram implementados @end itemize Estes documentos não são distribuídos com o Parted, mas você pode achar eles úteis. A maioria deles provavelmente vai estar na sua distribuição. Por exemplo, no Red Hat Linux, olhe no cd dentro de @file{/doc/HOWTO} e @file{/doc/FAQ}. @itemize @bullet @c RMK: usefulness: available at the LDP -- should these urls be updated? @c RMK: standards: GPL'd documentation. @item Filesystems HOWTO @uref{http://penguin.cz/~mhi/fs} @c RMK: usefulness: available at the LDP -- should these urls be updated? @c FIXME: standards: LDP labelled this non-free @item Hard Disk Upgrade mini-HOWTO (!): @uref{http://sunsite.unc.edu/LDP/HOWTO} @c RMK: usefulness: available at the LDP -- should these urls be updated? @c FIXME: standards: LDP labelled this non-free @item Large Disk HOWTO @uref{http://www.win.tue.nl/~aeb/linux/Large-Disk.html} @item LILO mini-HOWTO (!) @uref{http://sunsite.unc.edu/LDP/HOWTO} @c RMK: usefulness: available at the LDP -- should these urls be updated? @item MILO HOWTO (!) @uref{http://sunsite.unc.edu/LDP/HOWTO} @c FIXME: standards: in short, none of the following is free documenation @c FIXME: standards: Linux+DOS+Win95+OS2 labelled non-free by LDP @c FIXME: standards: Linux+FreeBSD-mini labelled non-free by LDP @c FIXME: reference: can't find a Linux+Win95, only Linux+Win95-mini @c FIXME: standards: Linux+Win95-mini labelled non-free by LDP @c FIXME: reference: can't find a Linux+FreeBSD, only Linux+FreeBSD-mini @c FIXME: reference: can't find a Linux+NT-Loader, only "NT OS Loader + @c Linux mini @c FIXME: standards: NT OS Loader + Linux mini labelled non-free by LDP @item Linux+OS mini-HOWTOs (!): Linux+DOS+Win95+OS2, Linux+FreeBSD-mini-HOWTO, Linux+Win95, Linux+FreeBSD, Linux+NT-Loader. You can get these from: @uref{http://sunsite.unc.edu/LDP/HOWTO} @c FIXME: standards: Partition mini labelled non-free by LDP @item Partition mini-HOWTO (!): @uref{http://www.linuxdoc.org/HOWTO/mini/Partition/index.html} @c RMK: standards: no clear distribution terms @item Partition Table HOWTO @uref{http://www.win.tue.nl/~aeb/partitions/partition_tables.html} @c FIXME: standards: no clear distribution terms @item Lista de Tipos de Partições @uref{http://www.win.tue.nl/~aeb/partitions/partition_types.html} @item Software RAID HOWTO @uref{http://linas.org/linux/Software-RAID/Software-RAID.html} @end itemize Outros programas relacionados estão listados aqui. Alguns deles também tem documentação útil: @itemize @bullet @item Disk Drake. Disponível em @uref{www.linux-mandrake.com/diskdrake} Ele é simular em funcionalidade ao Parted. O código de FAT no Disk Drake é baseado no nosso código do Parted. Aqui é como o Disk Drake se compara ao Parted: (que ambos concordamos :-) O Disk Drake é: @itemize @minus @item mais fácil de usar, te proteje de cometer enganos @item uma solução mais completa (lida com o @file{/etc/fstab}, lilo, etc.) @item menos suporte à FAT (não pode converter FAT16<->FAT32, não copia partições) @item menos suporte a ext2 (no momento) @item menos atenção à compatibilidade entre sistemas DOS/Windows (mais antigos) @item sem suporte a arquiteturas não-PC @end itemize @item dvhtool (para SGI/MIPS) (!) @c RMK: standards: unchecked @item dosfsck (!) @item e2fsck, resize2fs e2fsprogs (!) @uref{http://web.mit.edu/tytso/www/linux/e2fsprogs.html} @item ext2resize - usa o mesmo código do Parted, mas inclui algumas outras coisas também, como um redimensionar ext2 na hora, que não requer desmontagem. @uref{http://ext2resize.sourceforge.net} @item fdisk (!) @item FIPS (!) (First Interactive Partition Splitter - Primeiro Divisor de Partições Interativo) @uref{http://www.igd.fhg.de/~aschaefe/fips} @ RMK: standards: GPL'd @item GPart - recupera tabelas de partição quebradas. @uref{http://www.stud.uni-hannover.de/user/76201/gpart} @item GNU GRUB - GRand Unified Boot-loader @uref{http://www.gnu.org/software/grub/grub.html} @item LILO (!) (LInux LOader) @uref{ftp://tsx-11.mit.edu/pub/linux/packages/lilo} @item LVM @uref{http://linux.msede.com/lvm} @c RMK: standards: is mkdosfs Free? @item mkdosfs (!) (às vezes chamada de mkfs.msdos) @item mke2fs (!) (às vezes chamada de mkfs.ext2) @item mkfs (!) @item mkswap (!) @item quik (!) @item reiserfs: NOTA: um redimensionador reiserfs é incluído com a distribuição reiserfs normal. @uref{http://devlinux.com/projects/reiserfs} Também, uma implementação independente da raiserfs userland (que o parted também utiliza) @uref{http://reiserfs.linux.kiev.ua}. Ele pode ser adotado por outros usuários no futuro... @item yaboot (!) @uref{http://penguinppc.org/bootloaders/yaboot/} @item ybin (!) @uref{http://penguinppc.org/bootloaders/yaboot/} @end itemize @node Copiando Este Manual @appendix Copiando Este Manual @menu * GNU Free Documentation License:: Licença para copiar esse manual @end menu @include fdl.texi @c FDL: FDL 4.I suggests a HISTORY section be included in @c the documentation. In this case it seems superfluous, but @c here's one, in case it is desired. As far as I'm concerned, @c this node doesn't fit well into the structure of the document @c at present. @node História @appendix A história desse manual @cindex a história desse manual Esse manual é baseado no arquivo, USER, incluído na versão 1.4.22. O código-fonte do GNU Parted está disponível em @uref{ftp.gnu.org/gnu/parted}. Formatação texinfo por Richard M. Kreuter, 2002. Este manual é distribuído sob a GNU Free Documentation License, versão 1.1 ou superior, à sua discrição, sem Seções Invariantes, sem Textos na Capa, e sem Textos na Contra-capa. @xref{Copiando este Manual}, para mais detalhes. @c FIXME: why doesn't this @ifnotplaintext work?! @c @ifnotplaintext @node Índice @unnumbered Índice @printindex cp @c @end ifnotplaintext @bye @ignore I've (that is, RMK) included (too much) commentary in this file. Lines of the form FIXME:<category>: are bugs, and should be fixed. The categories are sort of vague, but "standards" means that something doesnt't meet somebody's (probably I've tried to check the license for each program and documentation referenced, but have missed some. As a rule, if a Howto or mini-Howto has been labelled as non-free by the LDP, then I've assumed it's also non-Free for GNU purposes. I've also tried to note the free software and documentation, since omission of such notes lead me to recheck things I'd forgotten I'd check, etc. Many nodes give some detailed explanation of how to use parted along with a non-free operating system using non-free utilities that are part of that system. This may be a violation of the GNU standards, node/section "References". I've marked up the text anyhow, in case the content is deemed acceptable by decision makers, and hope that my contribution here doesn't sway decisions. For what it's worth, I've noted references to non-free software as "acceptable" in case the reference includes a description of what the software can't do (e.g., not suck, not harm mankind). This idiosyncratic assessment of the permissibility of reference of non-free software is meant partly as a joke. Note: there is a free (GPL'd) DOS compatible operating system, FreeDOS, that I've tested and found to work pretty well, better in many respects that Micros~1's DOS. Many of the tips and tricks described in the manual might work with or be needed for a FreeDOS based system. In principle, one could rewrite the sections of this manual to make reference only to 'DOS-compatible' systems, and refer people to FreeDOS. I, for one, would be happy to refer people to FreeDOS, since it's a nice project that could play a valuable role among free operating systems (actually, it does: it's the DOS kernel for DOSEMU). But would reworking references to MS DOS and its progeny to refer to FreeDOS just be a clever hack around the GNU standards? I dunno... <Sigh> Screed over. Notes on possible (unimplemented!) modifications: The output samples from parted's print command, fdisk's p command, etc., might be made into tables (multi-column tables) to ensure spiffy formatting. I'd like to find a way to make *entry: see *synonym type references in the index, so, e.g., to refer people looking for Apple to Macintosh, and PowerPC to Macintosh, etc. Probably texinfo does this already; I dunno. Notes on general fixes: RMK: usage: eg -> e.g. ("e.g." is customarily spelled thus). RMK: usage: "its" is English possessive third person singular adjective (cf "sein/ihr", "son/sa/ses"). "it's" is a contraction of "it is", i.e., third person singular present active indicative of "to be" (cf "das ist", "il est"). I hope that description doesn't come off too snotty. I've changed 'it's' to 'its' more times than noted above. RMK: usage (punctuation): in English, commas are only used to separate relative clauses when the information in the clause is deemed non-essential for identifying the referent of the noun on which the clause depends (German uses commas around every relative clause, by contrast). So: "I have read the book that was assigned" doesn't have a comma because the clause 'that was assigned' is needed to identify which book is the object of 'read', whereas "I have read the book, which wasn't very good" implies that the fact that the book wasn't very good is extra information, not required for the identification of the book, e.g. its identity has already been established). @end ignore �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������parted-2.3/doc/FAT����������������������������������������������������������������������������������0000644�0000000�0000000�00000070577�11370314006�010641� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������=============================================================================== GNU Parted FAT file system documentation =============================================================================== by Andrew Clausen <clausen@gnu.org> Copyright (C) 2000, 2001 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with the no Invariant Sections, with the no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the file, COPYING.DOC. CONTENTS -------- PART I - THE FAT FILE SYSTEM 1 Introduction 2 Overview 3 The Boot Sector 3.1 Data Layout 3.2 Descriptions of Fields 3.3 Calculating the ignored fields 3.4 DOS/Windows bootstrap process 4 The Info Sector 4.1 Data Layout 4.2 Descriptions of Fields 5 File Allocation Tables 6 Directory tree 6.1 Directory entries PART II - GNU PARTED'S FAT IMPLEMENTATION 7 Resizing "issues" 8 Overview of GNU Parted's Strategy =============================================================================== PART I - THE FAT FILE SYSTEM =============================================================================== ------------------------------------------------------------------------------- 1 INTRODUCTION ------------------------------------------------------------------------------- This document describes the FAT filesystem, and GNU Parted's support for it. Unfortunately, there are no particularly good sources of information on the FAT filesystem. The information here was deduced from the source code of about 10 different programs, documentation from about 20 different sources and testing. There are many cases where documentation for FAT from various sources (including Microsoft) are misleading, or just plain wrong. For us, documentation is correct if it matches the behaviour of Microsoft's implementation. ------------------------------------------------------------------------------- 2 OVERVIEW ------------------------------------------------------------------------------- FAT is a filesystem that is mainly used by Microsoft DOS, Windows 95, Windows 98 and Windows 2000. FAT also stands for File Allocation Table - a part of the FAT filesystem. FAT comes in three flavors: FAT12, FAT16 and FAT32. FAT12 is used on floppy disks, and REALLY old hard drives <32Mb. FAT16 is typically used on small hard drives <500Mb, and is very inefficient for large hard drives. FAT32 is used on hard drives >500Mb under Windows 95 OSR2 and later and Windows 2000. These three flavors have important differences (not JUST an increase in the maximum possible number of clusters). On FAT12 and FAT16 cluster size directly relates to the filesystem size: the number of clusters is always between 2041 and 4080 resp. 32761 and 65520. The FAT filesystem has these parts (on disk, in this order): * a bootsector. This contains all of the information about the filesystem - whether it's FAT12, FAT16 or FAT32, how big it is, etc. * an information sector (FAT32 only). This contains additional information that couldn't fit in the boot sector. * file allocation tables (FATs). There are usually two identical copies. This is used to store the sequence of clusters that make of files. Essentially, if you want to know the number of the cluster that comes after cluster X in a file, you look up the number for X. If X is a magic number, it means it's the end of the file. * clusters. The data inside files are stored in clusters. Most directory information is stored in clusters (except the root directory in FAT12 and FAT16). Clusters may be 1, 2, 4, 8, etc. sectors. Clusters are numbered, counting from 2. * directory tree. The FAT filesystem has files and directories (no named pipes, links, or anything fancy like that), that are stored in clusters. The root directory on FAT12 and FAT16 is stored separately. In FAT32, the root directory is stored inside a normal cluster, just like everything else. ------------------------------------------------------------------------------- 3 THE BOOT SECTOR ------------------------------------------------------------------------------- The boot sector contains all of the information about the filesystem - whether it's FAT12, FAT16 or FAT32, how big it is, etc. It also contains the boot loader for the operating system, if there is an operating system on the file system. It is always the first thing to appear in the filesystem - i.e. it's found at sector 0. A word of warning: while the values inside the boot sector will always be consistent with the file system, many of these values are not read by Microsoft's implementation - they are calculated independently. 3.1 The Data Layout ------------------------------------------------------------------------------- Taken from libparted/fs_fat/bootsector.h: struct __attribute__ ((packed)) _FatBootSector { __u8 boot_jump[3]; /* 00: Boot strap short or near jump */ __u8 system_id[8]; /* 03: system name */ __u16 sector_size; /* 0b: bytes per logical sector */ __u8 cluster_size; /* 0d: sectors/cluster */ __u16 reserved; /* 0e: reserved sectors */ __u8 fats; /* 10: number of FATs */ __u16 dir_entries; /* 11: number of root directory entries */ __u16 sectors; /* 13: if 0, sector_count supersedes */ __u8 media; /* 15: media code */ __u16 fat_length; /* 16: sectors/FAT for FAT12/16 */ __u16 secs_track; /* 18: sectors per track */ __u16 heads; /* 1a: number of heads */ __u32 hidden; /* 1c: hidden sectors (partition start) */ __u32 sector_count; /* 20: no. of sectors (if sectors == 0) */ union __attribute__ ((packed)) { /* FAT16 fields */ struct __attribute__ ((packed)) { __u8 drive_num; /* 24: */ __u8 empty_1; /* 25: */ __u8 ext_signature; /* 26: always 0x29 */ __u32 serial_number; /* 27: */ __u8 volume_name [11]; /* 2b: */ __u8 fat_name [8]; /* 37: */ __u8 boot_code[448]; /* 3f: Boot code (or message) */ } fat16; /* FAT32 fields */ struct __attribute__ ((packed)) { __u32 fat_length; /* 24: size of FAT in sectors */ __u16 flags; /* 28: bit8: fat mirroring, low4: active fat */ __u16 version; /* 2a: minor * 256 + major */ __u32 root_dir_cluster; /* 2c: */ __u16 info_sector; /* 30: */ __u16 backup_sector; /* 32: */ __u8 empty_1 [12]; /* 34: */ __u16 drive_num; /* 40: */ __u8 ext_signature; /* 42: always 0x29 */ __u32 serial_number; /* 43: */ __u8 volume_name [11]; /* 47: */ __u8 fat_name [8]; /* 52: */ __u8 boot_code[420]; /* 5a: Boot code (or message) */ } fat32; } u; __u16 boot_sign; /* 1fe: always 0xAA55 */ }; 3.2 Descriptions of Fields ------------------------------------------------------------------------------- 3.2.1 Fields common to FAT12, FAT16 and FAT32 ----------------------------------------------- __u8 boot_jump[3]; /* 00: Boot strap short or near jump */ This contains the Intel x86 instruction to "jump" to further down in the boot sector. This is necessary, because on PC systems, the first sector of the disk is loaded and executed. On hard disks of PC systems, the first sector of the disk is in fact the Master Boot Record - which contains the partition table. The master boot record loads the first sector of the boot partition, so the end result is the same for floppy's and hard disks. __u8 system_id[8]; /* 03: system name */ This contains the name of the program or operatings system that created the file system. For FAT32, it seems you must have "MSWIN4.1" here. If this is "MSDMF3.2" (afaik only the "MSDMF" is checked") the partition can't be written under Windows 9x, Windows NT and Windows 2000. This is how Microsoft realizes read-only installation or distribution floppy disks. __u16 sector_size; /* 0b: bytes per logical sector */ This is bizarre. Sectors are always 512 bytes. However, a "logical" sector is a hack that allows sectors to be bigger (a multiple of 512 bytes). This is rarely used, and untested in GNU Parted at the moment. (Side note: is it possible to use this to avoid requiring a cluster resize?) __u8 cluster_size; /* 0d: sectors/cluster */ THIS IS IGNORED BY MICROSOFT'S IMPLEMENTATION OF FAT12 AND FAT16! (See section 3.3) This contains the size of all clusters, given in sectors. This value is "read-only". __u16 reserved; /* 0e: reserved sectors */ The number of sectors before the file allocation tables begin. i.e. The number of the first sector of the first file allocation table. __u8 fats; /* 10: number of FATs */ The number of file allocation tables (usually 2). __u16 dir_entries; /* 11: number of root directory entries */ The size of the root directory (FAT12 and FAT16 only), in "directory entries" (32 bytes). The root directory is immediately after the FATs (FAT12 and FAT16 only). The first cluster (i.e. cluster number 2) starts immediately after the root directory (or after the FATs for FAT32). __u16 sectors; /* 13: if 0, sector_count supersedes */ THIS IS IGNORED BY MICROSOFT'S IMPLEMENTATION! The total size of the file system. If the file system is bigger than 65536 sectors, this is set to 0, and a 32 bit field is used instead. Microsoft's implementation gets this values from hardware (for floppy disks), or the partition table (for hard disks), rather than reading it off disk. __u8 media; /* 15: media code */ For hard disks, this should always be 0xf8. __u16 fat_length; /* 16: sectors/FAT for FAT12/16 */ THIS IS IGNORED BY MICROSOFT'S IMPLEMENTATION! (See section 3.3) The size in sectors of each file allocation table (FAT12 and FAT16 only). A 32-bit field is used for FAT32. This value is "read-only". __u16 secs_track; /* 18: sectors per track */ __u16 heads; /* 1a: number of heads */ These should match the BIOS geometry. The GNU Parted README file explains BIOS geometry. __u32 hidden; /* 1c: hidden sectors (partition start) */ On a hard disk, this should be the number of sectors from the start of the head (in terms of BIOS geometry) to the start of the partition. i.e. the S in the CHS partition start. __u32 sector_count; /* 20: no. of sectors (if sectors == 0) */ The size of the file system in sectors (if sectors is 0). __u16 boot_sign; /* 1fe: always 0xAA55 */ Boot sector signature. Don't use this exclusively to detect FAT file systems! It's also the signature for partition table sectors (and it appears in the same place too!) Idiots. 3.2.2 Fields in FAT12 and FAT16 --------------------------------- __u8 drive_num; /* 24: */ Always 0x80. __u8 ext_signature; /* 26: always 0x29 */ Always 0x29. __u32 serial_number; /* 27: */ Serial number: Used to detect media change on floppy disk and removable drives. __u8 volume_name [11]; /* 2b: */ The disk label. __u8 fat_name [8]; /* 37: */ "FAT12\0\0\0" or "FAT16\0\0\0". 3.2.3 Fields in FAT32 ----------------------- __u32 fat_length; /* 24: size of FAT in sectors */ The size in sectors of each file allocation table. __u16 flags; /* 28: bit8: fat mirroring, low4: active fat */ No idea what these are. __u16 version; /* 2a: minor * 256 + major */ Seems to be 0 (?) __u32 root_dir_cluster; /* 2c: */ The number of the first cluster in the root directory. __u16 info_sector; /* 30: */ The number of the information sector. __u16 backup_sector; /* 32: */ The number of the backup of the boot sector (i.e. this sector). __u16 drive_num; /* 40: */ Always 0x80. __u8 ext_signature; /* 42: always 0x29 */ Always 0x29. __u32 serial_number; /* 43: */ Serial number (for Echelon, or something) __u8 volume_name [11]; /* 47: */ The disk label. __u8 fat_name [8]; /* 52: */ "FAT32\0\0\0". 3.3 Calculating the ignored fields ------------------------------------------------------------------------------- The cluster_size and fat_length fields are ignored by Microsoft's implementation of FAT12 and FAT16, but NOT FAT32. That is, they are written out correctly, but NOT READ IN. (Note: if FAT32 file system is configured to have less than 65520 clusters, then Windows assumes it's FAT16) Since these values don't usually change unless you resize a filesystem, this causes no problems. However, if you want to resize the filesystem, you have to calculate these values to what Microsoft calculates them to, from the size of the filesystem. It took me 2 months to figure this out (I want to KILL somebody...) Here's the algorithm I came up with that seemed to match all my test data: (from libparted/fs_fat/calc.c) FatCluster fat_max_cluster_count (FatType fat_type) { switch (fat_type) { case FAT_TYPE_FAT12: return 0xff0; case FAT_TYPE_FAT16: return 0xfff0; case FAT_TYPE_FAT32: return 0x0ffffff0; } return 0; } FatCluster fat_min_cluster_count (FatType fat_type) { switch (fat_type) { case FAT_TYPE_FAT12: case FAT_TYPE_FAT16: return fat_max_cluster_count (fat_type) / 2; case FAT_TYPE_FAT32: return 0xfff0; } return 0; } static int calc_sizes (PedGeometry* geom, PedSector align, int cluster_size, PedSector root_dir_sectors, FatCluster* out_cluster_count, PedSector* out_fat_size, FatType fat_type) { PedSector data_fat_size; PedSector fat_sectors; PedSector cluster_sectors; FatCluster cluster_count; int i; data_fat_size = geom->length - fat_min_reserved_sector_count (fat_type) - align; if (fat_type == FAT_TYPE_FAT16) data_fat_size -= root_dir_sectors; fat_sectors = 0; for (i = 0; i < 2; i++) { if (fat_type == FAT_TYPE_FAT32) cluster_sectors = data_fat_size - fat_sectors; else cluster_sectors = data_fat_size - 2 * fat_sectors; cluster_count = cluster_sectors / (cluster_size / 512); fat_sectors = div_round_up (cluster_count + 2, entries_per_sector (fat_type)); } cluster_sectors = data_fat_size - 2 * fat_sectors; cluster_count = cluster_sectors / (cluster_size / 512); if (cluster_count > fat_max_cluster_count (fat_type) || cluster_count < fat_min_cluster_count (fat_type)) return 0; *out_cluster_count = cluster_count; *out_fat_size = fat_sectors; return 1; } FIXME: this is the "trial and error" algorithm. What happened to my simple, test one? If the implications of the above code aren't that clear, here are some of them: * for FAT16, the minimum number of clusters is 32760. * the cluster size is completely determined by the size of the file system, for FAT16. That means, if a file system is to be resized, it is quite possible that the cluster size must be changed just to be compatible with Microsoft's implementation (Linux, for example, doesn't calculate the numbers independently, so it would work fine. So always test your code on Microsoft as well as Linux) 3.4 DOS/Windows bootstrap process ------------------------------------------------------------------------------- All of the information that follows is from me reverse-engineering different versions of Microsoft's boot sectors. It's pretty weird code (as you can imagine...), so there might be mistakes here. There are many different versions of the boot sector: * Windows 98/2000/ME FAT12/FAT16 (supports CHS and LBA) * Windows 98/2000/ME FAT32 (supports CHS and LBA) (1) The MBR, LILO, or whatever loads in the first sector of the FAT partition into 0000:7c00, and executes it. (2) The first sector of the FAT partition (the "boot sector") does: (a) loads the Master Boot Record (sector 0 of the disk) using the BIOS's CHS calls, and finds the boot partition. If the boot partition has the LBA flag marked, it writes 0xe to [bp+2] (0000:7c02). The "read sectors" function in the boot loader checks for 0xe here, and uses LBA if it finds it, and CHS otherwise. (b) If it is the FAT32 version of the boot sector, it loads sectors 1 through 3 of the partition (it finds this from the "hidden" field in the FAT boot sector, that was loaded by the MBR/LILO) at address 0000:7e00, and continues executing at 0000:8000. Note: the FAT16 version doesn't require any more sectors to be read (they crammed it all in!), and it goes directly to step 3. (3) The code loads IO.SYS (starting at address 0000:0700), off the same partition, and executes it, beginning execution at 0070:0200. (Note: According to the x86 real mode segmentation scheme, 0070:0200 refers to the same physical memory as 0000:0900) ------------------------------------------------------------------------------- 4 THE INFO SECTOR ------------------------------------------------------------------------------- The info sector is used in FAT32 to store additional information about the file system. 4.1 Data Layout ------------------------------------------------------------------------------- struct __attribute__ ((packed)) _FatInfoSector { __u32 signature_1; /* should be 0x41615252 */ __u8 unused [480]; __u32 signature_2; /* should be 0x61417272 */ __u32 free_clusters; __u32 next_cluster; /* most recently allocated cluster */ __u8 unused2 [0xe]; __u16 signature_3; /* should be 0xaa55 */ }; 4.2 Descriptions of Fields ------------------------------------------------------------------------------- __u32 signature_1; /* should be 0x41615252 */ Always 0x41615252 ("AaRR") __u32 signature_2; /* should be 0x61417272 */ Always 0x61417272 ("aArr") __u32 free_clusters; The number of free clusters. This could be calculated by going through the FATs, but this is stored on shutdown to speed things up. __u32 next_cluster; /* most recently allocated cluster */ This contains the number of the last cluster allocated. This speeds up cluster allocation, because free clusters usually come in chunks, so you can scan right for free clusters in the FAT. __u16 signature_3; /* should be 0xaa55 */ Always 0xaa55. ------------------------------------------------------------------------------- 5 FILE ALLOCATION TABLES ------------------------------------------------------------------------------- File allocation table (FAT) is a strange name, come to think of it. Perhaps it should be called cluster allocation table, or something (?). Essentially, it is used to represent file chains (i.e. linked lists) for files and directories. There are usually two FATs (one is a backup, and should be identical). Anyway, a FAT is essentially an array. In FAT12, each entry is 12 bits, FAT16 - 16 bits, FAT32 - 32 bits. Hence the names. The first byte of each FAT must match the "media" field in the boot sector. The rest of the first 2 entries are filled with 0xff. All remaining entries - from 2 onwards - correspond to a cluster. i.e. the second entry corresponds to cluster 2. Clusters are numbered from 2 onwards (i.e. there is no cluster 1). The number in each entry gives the number of the cluster that occurs next in the file chain (linked list). However, there are a few magic numbers: * unused (0). Indicates the cluster is unused. * end of file (0xff0 for FAT12, 0xfff0 for FAT16, 0x0ffffff0 for FAT32). Indicates this is the last cluster in the file or directory. Obviouslly for FAT32, the number of clusters must be < 0x0ffffff0. So it should be called FAT28, perhaps... * bad cluster (0xff7 for FAT12, 0xfff7 for FAT16, 0x0ffffff7 for FAT32). Indicates the disk is physically damaged where the cluster is stored. ------------------------------------------------------------------------------- 6 DIRECTORY TREE ------------------------------------------------------------------------------- The directory tree is simple: there are files and directories. Files and directories are stored in clusters (except the root directory on FAT12 and FAT16). Directories are essentially special files that contain directory entries. In FAT12 and FAT16, the root directory is stored immediately after the FATs. In FAT32, the first cluster of the root directory is given in the FAT. (To get the second cluster - if there is one - you just look up the FAT) 6.1 Directory Entries ------------------------------------------------------------------------------ Directories are made up of directory entries, each of which represent a file, a directory or part of a file name (the VFAT extension - YUCK!!!). Each directory (except the root directory) contains a '.' (this directory) and '..' (parent directory) entry. 6.1.1 Fields -------------- From libparted/fs_fat/fat.h: struct __attribute__ ((packed)) _FatDirEntry { __u8 name[8]; __u8 extension[3]; __u8 attributes; __u8 is_upper_case_name; __u8 creation_time_low; /* milliseconds */ __u16 creation_time_high; __u16 creation_date; __u16 access_date; __u16 first_cluster_high; /* for FAT32 */ __u16 time; __u16 date; __u16 first_cluster; __u32 length; }; 6.1.2 Field Descriptions -------------------------- __u8 name[8]; The first part of the file name. Eg, for a file called README.TXT, this is README. Files with names longer than 8 characters use the VFAT extension (not described here). When a file is deleted, the first character is set to 0xe5. If the first character is 0x0, then the entire directory entry is unused. __u8 extension[3]; The last part of the file name. Eg, for a file called README.TXT, this is TXT. This explains all those .HTM files around the place... __u8 attributes; If this is 0x0f, then this directory entry is a VFAT entry, and stores part of a file name. Otherwise, it's treated as various bit fields: 0x1 read-only 0x2 hidden 0x4 system 0x8 volume label 0x10 directory 0x20 archived __u8 is_upper_case_name; A Microsoft cludge: create a file with 8.3 name BUT containing small letters (like ReadMe.Txt) which is treated as an LFN (long file name) and occupies three directory entries. Now when you rename this file to all uppercase README.TXT,- under Windows NT 4 the then superfluous LFN-VFAT entries are removed, resulting in a smaller directory, but under Windows 9x the LFN-VFAT entries are just upd- and this flag is set. Executing DEFRAG on such entries MIGHT then remove the superfluous LFN-VFAT entries and shrink the directory. __u8 creation_time_low; /* milliseconds */ __u16 creation_time_high; __u16 creation_date; Creation time and date. Not used wih MS-DOS <7.0! __u16 access_date; Last access date. Not used wih MS-DOS <7.0! __u16 first_cluster_high; /* for FAT32 */ High 32 bits of the first cluster in the file or directory (FAT32 only) __u16 time; __u16 date; ? __u16 first_cluster; Low 16 bits of first cluster. __u32 length; Length of file in bytes. =============================================================================== PART II - GNU PARTED'S FAT IMPLEMENTATION =============================================================================== ------------------------------------------------------------------------------- 7 RESIZING "ISSUES" ------------------------------------------------------------------------------- To resize a FAT file system, a program must: * copy all used clusters that lie outside of the new partition onto free space on that partition. The directory tree and FATs must be updated to reflect this. * grow or shrink the file allocation table(s) to the size corresponding to the size of the partition. * convert between FAT16 and FAT32 if necessary. This involves: - changing the form of the root directory (FAT16 has it's before the clusters whereas FAT32 stores it in normal clusters). - creating space for the backup boot sector and info sector. - updating the directory tree to use 32 bit first cluster entries. * align the start of the clusters (using the "reserved" field in the boot sector), so that the clusters that are common to the old and new partition can be preserved. * re-number clusters. e.g. if you chop out some clusters from the beginning (i.e. move the start forward), then the first cluster (i.e. number 2) will be refer to a different cluster on the disk. The directory tree and FATs must be updated to reflect this. * create a new boot sector (and the info sector and backup boot sector for FAT32) ------------------------------------------------------------------------------- 8 OVERVIEW OF GNU PARTED'S STRATEGY ------------------------------------------------------------------------------- GNU Parted copies all clusters that are not accessible from the new file system (either because it lies outside the file system, or file system meta-data must reside there instead) to an accessible place. Since all clusters must be renumbered (in most cases), the entire directory tree must be updated. However converting the directory tree from one numbering system to another would break the file system if it was interrupted halfway through. Instead, GNU Parted duplicates the directory tree (except the root directory for FAT16) along with clusters that need to be copied because they lie outside the new file system. The directory tree is duplicated at the same time as inaccessible clusters are. The relevant function, needs_duplicating() in libparted/fs_fat/clstdup.c is: static int needs_duplicating (FatOpContext* ctx, FatCluster cluster) { FatSpecific* fs_info = FAT_SPECIFIC (ctx->old_fs); return (fs_info->fat_flag_map [cluster] == FAT_FLAG_FILE && !fat_op_context_map_static_cluster (ctx, cluster)) || fs_info->fat_flag_map [cluster] == FAT_FLAG_DIRECTORY; } A good overview of this implementation is in the fat_resize() function, in libparted/fs_fat/resize.c (slightly edited): int fat_resize (PedFileSystem* fs, PedGeometry* geom) { FatSpecific* fs_info = FAT_SPECIFIC (fs); FatSpecific* new_fs_info; FatOpContext* ctx; PedFileSystem* new_fs; ctx = create_resize_context (fs, geom); if (!ctx) return 0; new_fs = ctx->new_fs; new_fs_info = FAT_SPECIFIC (new_fs); if (!fat_duplicate_clusters (ctx)) return 0; if (fs_info->fat_type == FAT_TYPE_FAT16 && new_fs_info->fat_type == FAT_TYPE_FAT32) { if (!alloc_root_dir (ctx)) return 0; } if (!fat_construct_new_fat (ctx)) return 0; if (!fat_construct_dir_tree (ctx)) return 0; if (!fat_table_write_all (new_fs_info->fat, new_fs)) return 0; if (!fat_boot_sector_generate (&new_fs_info->boot_sector, new_fs)) return 0; if (!fat_boot_sector_write (&new_fs_info->boot_sector, new_fs)) return 0; if (new_fs_info->fat_type == FAT_TYPE_FAT32) { if (!fat_info_sector_generate ( &new_fs_info->info_sector, new_fs)) return 0; if (!fat_info_sector_write (&new_fs_info->info_sector, new_fs)) return 0; } if (!resize_context_assimilate (ctx)) return 0; return 1; } ���������������������������������������������������������������������������������������������������������������������������������parted-2.3/doc/po4a.mk������������������������������������������������������������������������������0000644�0000000�0000000�00000005616�11165324410�011472� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # You must set the $(lang) variable when you include this makefile. # # You can use the $(po4a_translate_options) variable to specify additional # options to po4a. # For example: po4a_translate_options=-L KOI8-R -A KOI8-R # # # This makefile deals with the manpages generated from POs with po4a, and # should be included in an automake Makefile.am. # # The po must be named: # <man>.$(lang).po # If a man page require an addendum, you must name it: # <man>.$(lang).po.addendum # Where <man> corresponds to a filename in the C directory (which contains # the English man pages). # # The POs suffix is $(lang).po to allow dl10n to detect the outdated POs. # # # If a man page cannot be generated (it is not sufficiently translated; the # threshold is 80%), it won't be distributed, and the build won't fail. # mandir = @mandir@/$(lang) # Inform automake that we want to install some man pages in section 1, 5 # and 8. # We can't simply use: # dist_man_MANS = $(wildcard *.[1-9]) # Because when Makefile.in is generated, dist_man_MANS is empty, and # automake do not generate the install-man targets. dist_man_MANS = # Override the automake's install-man target. # And set dist_man_MANS according to the pages that could be generated # when this target is called. install-man: dist_man_MANS = pt_BR-parted.8 install-man: install-man1 install-man5 install-man8 # For each .po, try to generate the man page all-local: for po in `ls -1 $(srcdir)/*.$(lang).po 2>/dev/null`; do \ $(MAKE) $$(basename $${po%.$(lang).po}); \ done # Remove the man pages that were generated from a .po clean-local: for po in `ls -1 $(srcdir)/*.$(lang).po 2>/dev/null`; do \ rm -f $$(basename $${po%.$(lang).po}); \ done .PHONY: updatepo # Update the PO in srcdir, according to the POT in C. # Based on the gettext po/Makefile.in.in updatepo: tmpdir=`pwd`; \ cd $(srcdir); \ for po in *.$(lang).po; do \ case "$$po" in '*'*) continue;; esac; \ pot=../C/po/$${po%$(lang).po}pot; \ echo "$(MSGMERGE) $$po $$pot -o $${po%po}new.po"; \ if $(MSGMERGE) $$po $$pot -o $$tmpdir/$${po%po}new.po; then \ if cmp $$po $$tmpdir/$${po%po}new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$${po%po}new.po; \ else \ if mv -f $$tmpdir/$${po%po}new.po $$po; then \ :; \ else \ echo "msgmerge for $$po failed: cannot move $$tmpdir/$${po%po}new.po to $$po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "msgmerge for $$po failed!" 1>&2; \ rm -f $$tmpdir/$${po%po}new.po; \ fi; \ msgfmt -o /dev/null --statistics $$po; \ done dist-hook: updatepo # Build the pages partprobe.8: for locale in pt_BR ; do \ po4a-translate -f man -m $(srcdir)/../C/$@ -p $@.$$locale.po -l $@ $(po4a_translate_options) ; \ if [ -f $(srcdir)/$@.$$locale.po.addendum ]; then \ po4a-translate -f man -m $(srcdir)/../C/$@ -p $@.$$locale.po -l $@ -a $(srcdir)/$@.$$locale.po.addendum $(po4a_translate_options) ; \ fi ; \ done ������������������������������������������������������������������������������������������������������������������parted-2.3/doc/Makefile.in��������������������������������������������������������������������������0000644�0000000�0000000�00000151463�11400005573�012343� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Makefile.in generated by automake 1.11a from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = doc DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(srcdir)/stamp-vti $(srcdir)/version.texi ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \ $(top_srcdir)/m4/asm-underscore.m4 $(top_srcdir)/m4/assert.m4 \ $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/calloc.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \ $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/dirname.m4 \ $(top_srcdir)/m4/dos.m4 $(top_srcdir)/m4/double-slash-root.m4 \ $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/extensions.m4 \ $(top_srcdir)/m4/fclose.m4 $(top_srcdir)/m4/fcntl-o.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fpending.m4 \ $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getopt.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \ $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/lib-ignore.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \ $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \ $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/long-options.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \ $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/memchr.m4 \ $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \ $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/o-direct.m4 $(top_srcdir)/m4/open.m4 \ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \ $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/readlink.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/safe-read.m4 \ $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \ $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/symlink.m4 \ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \ $(top_srcdir)/m4/version-etc.m4 \ $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \ $(top_srcdir)/m4/wctype_h.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xstrndup.m4 \ $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/lib/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = AM_V_DVIPS = $(am__v_DVIPS_$(V)) am__v_DVIPS_ = $(am__v_DVIPS_$(AM_DEFAULT_VERBOSITY)) am__v_DVIPS_0 = @echo " DVIPS " $@; AM_V_MAKEINFO = $(am__v_MAKEINFO_$(V)) am__v_MAKEINFO_ = $(am__v_MAKEINFO_$(AM_DEFAULT_VERBOSITY)) am__v_MAKEINFO_0 = @echo " MAKEINFO" $@; AM_V_INFOHTML = $(am__v_INFOHTML_$(V)) am__v_INFOHTML_ = $(am__v_INFOHTML_$(AM_DEFAULT_VERBOSITY)) am__v_INFOHTML_0 = @echo " INFOHTML" $@; AM_V_TEXI2DVI = $(am__v_TEXI2DVI_$(V)) am__v_TEXI2DVI_ = $(am__v_TEXI2DVI_$(AM_DEFAULT_VERBOSITY)) am__v_TEXI2DVI_0 = @echo " TEXI2DVI" $@; AM_V_TEXI2PDF = $(am__v_TEXI2PDF_$(V)) am__v_TEXI2PDF_ = $(am__v_TEXI2PDF_$(AM_DEFAULT_VERBOSITY)) am__v_TEXI2PDF_0 = @echo " TEXI2PDF" $@; AM_V_texinfo = $(am__v_texinfo_$(V)) am__v_texinfo_ = $(am__v_texinfo_$(AM_DEFAULT_VERBOSITY)) am__v_texinfo_0 = -q AM_V_texidevnull = $(am__v_texidevnull_$(V)) am__v_texidevnull_ = $(am__v_texidevnull_$(AM_DEFAULT_VERBOSITY)) am__v_texidevnull_0 = > /dev/null INFO_DEPS = $(srcdir)/parted.info TEXINFO_TEX = $(top_srcdir)/build-aux/texinfo.tex am__TEXINFO_TEX_DIR = $(top_srcdir)/build-aux DVIS = parted.dvi PDFS = parted.pdf PSS = parted.ps HTMLS = parted.html TEXINFOS = parted.texi TEXI2DVI = texi2dvi TEXI2PDF = $(TEXI2DVI) --pdf --batch MAKEINFOHTML = $(MAKEINFO) --html AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS) DVIPS = dvips RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive am__installdirs = "$(DESTDIR)$(infodir)" am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ distdir ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ BUILDINFO = @BUILDINFO@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ CONFIG_INCLUDE = @CONFIG_INCLUDE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DL_LIBS = @DL_LIBS@ DM_LIBS = @DM_LIBS@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENABLE_DEVICE_MAPPER = @ENABLE_DEVICE_MAPPER@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPURGE = @GNULIB_FPURGE@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSTATAT = @GNULIB_FSTATAT@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETGROUPS = @GNULIB_GETGROUPS@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMCHR = @GNULIB_MEMCHR@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDIRAT = @GNULIB_MKDIRAT@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKFIFO = @GNULIB_MKFIFO@ GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@ GNULIB_MKNOD = @GNULIB_MKNOD@ GNULIB_MKNODAT = @GNULIB_MKNODAT@ GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PTSNAME = @GNULIB_PTSNAME@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ GNULIB_RMDIR = @GNULIB_RMDIR@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STAT = @GNULIB_STAT@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNCAT = @GNULIB_STRNCAT@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRPTIME = @GNULIB_STRPTIME@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNLINK = @GNULIB_UNLINK@ GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_USLEEP = @GNULIB_USLEEP@ GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_FUTIMENS = @HAVE_FUTIMENS@ HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETGROUPS = @HAVE_GETGROUPS@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@ HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@ HAVE_LANGINFO_H = @HAVE_LANGINFO_H@ HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LCHOWN = @HAVE_LCHOWN@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LOCALTIME_R = @HAVE_LOCALTIME_R@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_MKFIFO = @HAVE_MKFIFO@ HAVE_MKFIFOAT = @HAVE_MKFIFOAT@ HAVE_MKNOD = @HAVE_MKNOD@ HAVE_MKNODAT = @HAVE_MKNODAT@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ HAVE_OS_H = @HAVE_OS_H@ HAVE_PIPE2 = @HAVE_PIPE2@ HAVE_PREAD = @HAVE_PREAD@ HAVE_PTSNAME = @HAVE_PTSNAME@ HAVE_PWRITE = @HAVE_PWRITE@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TTYNAME_R = @HAVE_TTYNAME_R@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_USLEEP = @HAVE_USLEEP@ HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ HAVE_WCRTOMB = @HAVE_WCRTOMB@ HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE__BOOL = @HAVE__BOOL@ IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ INTLINCS = @INTLINCS@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ LIBTOOL = @LIBTOOL@ LIB_BLKID = @LIB_BLKID@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@ LOCALE_JA = @LOCALE_JA@ LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTALLOCA = @LTALLOCA@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ MAKEINFO = makeinfo --no-split MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ NEXT_WCTYPE_H = @NEXT_WCTYPE_H@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OS = @OS@ OS_LIBS = @OS_LIBS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PARTEDLDFLAGS = @PARTEDLDFLAGS@ PARTED_LIBS = @PARTED_LIBS@ PARTED_USABLE_TEST_DIR = @PARTED_USABLE_TEST_DIR@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POSUB = @POSUB@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PRIPTR_PREFIX = @PRIPTR_PREFIX@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REISER_LIBS = @REISER_LIBS@ REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FSTAT = @REPLACE_FSTAT@ REPLACE_FSTATAT = @REPLACE_FSTATAT@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ REPLACE_MBRLEN = @REPLACE_MBRLEN@ REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ REPLACE_MBSINIT = @REPLACE_MBSINIT@ REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_OPENAT = @REPLACE_OPENAT@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALPATH = @REPLACE_REALPATH@ REPLACE_REMOVE = @REPLACE_REMOVE@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRNCAT = @REPLACE_STRNCAT@ REPLACE_STRNDUP = @REPLACE_STRNDUP@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ REPLACE_UNSETENV = @REPLACE_UNSETENV@ REPLACE_USLEEP = @REPLACE_USLEEP@ REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ SELINUX_LIBS = @SELINUX_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_NLS = @USE_NLS@ UUID_LIBS = @UUID_LIBS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_aux_dir = @abs_aux_dir@ 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@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ gltests_WITNESS = @gltests_WITNESS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ # C must be the first sub-directory because it contains the POT files. SUBDIRS = C pt_BR info_TEXINFOS = parted.texi EXTRA_DIST = FAT \ USER.jp \ API \ fdl.texi \ parted-pt_BR.texi MAINTAINERCLEANFILES = Makefile.in \ mdate-sh \ texinfo.tex all: all-recursive .SUFFIXES: .SUFFIXES: .dvi .html .info .pdf .ps .texi $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu doc/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs .texi.info: $(AM_V_MAKEINFO)restore=: && backupdir="$(am__leading_dot)am$$$$" && \ am__cwd=`pwd` && $(am__cd) $(srcdir) && \ rm -rf $$backupdir && mkdir $$backupdir && \ if ($(MAKEINFO) --version) >/dev/null 2>&1; then \ for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \ if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \ done; \ else :; fi && \ cd "$$am__cwd"; \ if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ -o $@ $<; \ then \ rc=0; \ $(am__cd) $(srcdir); \ else \ rc=$$?; \ $(am__cd) $(srcdir) && \ $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \ fi; \ rm -rf $$backupdir; exit $$rc .texi.dvi: $(AM_V_TEXI2DVI)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \ $(TEXI2DVI) $(AM_V_texinfo) $< $(AM_V_texidevnull) .texi.pdf: $(AM_V_TEXI2PDF)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \ $(TEXI2PDF) $(AM_V_texinfo) $< $(AM_V_texidevnull) .texi.html: $(AM_V_MAKEINFO)rm -rf $(@:.html=.htp) $(AM_V_at)if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ -o $(@:.html=.htp) $<; \ then \ rm -rf $@; \ if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \ mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \ else \ if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \ rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \ exit 1; \ fi $(srcdir)/parted.info: parted.texi $(srcdir)/version.texi parted.dvi: parted.texi $(srcdir)/version.texi parted.pdf: parted.texi $(srcdir)/version.texi parted.html: parted.texi $(srcdir)/version.texi $(srcdir)/version.texi: $(srcdir)/stamp-vti $(srcdir)/stamp-vti: parted.texi $(top_srcdir)/configure @(dir=.; test -f ./parted.texi || dir=$(srcdir); \ set `$(SHELL) $(top_srcdir)/build-aux/mdate-sh $$dir/parted.texi`; \ echo "@set UPDATED $$1 $$2 $$3"; \ echo "@set UPDATED-MONTH $$2 $$3"; \ echo "@set EDITION $(VERSION)"; \ echo "@set VERSION $(VERSION)") > vti.tmp @cmp -s vti.tmp $(srcdir)/version.texi \ || (echo "Updating $(srcdir)/version.texi"; \ cp vti.tmp $(srcdir)/version.texi) -@rm -f vti.tmp @cp $(srcdir)/version.texi $@ mostlyclean-vti: -rm -f vti.tmp maintainer-clean-vti: -rm -f $(srcdir)/stamp-vti $(srcdir)/version.texi .dvi.ps: $(AM_V_DVIPS)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ $(DVIPS) $(AM_V_texinfo) -o $@ $< uninstall-dvi-am: @$(NORMAL_UNINSTALL) @list='$(DVIS)'; test -n "$(dvidir)" || list=; \ for p in $$list; do \ $(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(dvidir)/$$f'"; \ rm -f "$(DESTDIR)$(dvidir)/$$f"; \ done uninstall-html-am: @$(NORMAL_UNINSTALL) @list='$(HTMLS)'; test -n "$(htmldir)" || list=; \ for p in $$list; do \ $(am__strip_dir) \ echo " rm -rf '$(DESTDIR)$(htmldir)/$$f'"; \ rm -rf "$(DESTDIR)$(htmldir)/$$f"; \ done uninstall-info-am: @$(PRE_UNINSTALL) @if test -d '$(DESTDIR)$(infodir)' && \ (install-info --version && \ install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \ list='$(INFO_DEPS)'; \ for file in $$list; do \ relfile=`echo "$$file" | sed 's|^.*/||'`; \ echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \ if install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \ then :; else test ! -f "$(DESTDIR)$(infodir)/$$relfile" || exit 1; fi; \ done; \ else :; fi @$(NORMAL_UNINSTALL) @list='$(INFO_DEPS)'; \ for file in $$list; do \ relfile=`echo "$$file" | sed 's|^.*/||'`; \ relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \ (if test -d "$(DESTDIR)$(infodir)" && cd "$(DESTDIR)$(infodir)"; then \ echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \ rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \ else :; fi); \ done uninstall-pdf-am: @$(NORMAL_UNINSTALL) @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \ for p in $$list; do \ $(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(pdfdir)/$$f'"; \ rm -f "$(DESTDIR)$(pdfdir)/$$f"; \ done uninstall-ps-am: @$(NORMAL_UNINSTALL) @list='$(PSS)'; test -n "$(psdir)" || list=; \ for p in $$list; do \ $(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(psdir)/$$f'"; \ rm -f "$(DESTDIR)$(psdir)/$$f"; \ done dist-info: $(INFO_DEPS) @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ list='$(INFO_DEPS)'; \ for base in $$list; do \ case $$base in \ $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \ esac; \ if test -f $$base; then d=.; else d=$(srcdir); fi; \ base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \ for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \ if test -f $$file; then \ relfile=`expr "$$file" : "$$d/\(.*\)"`; \ test -f "$(distdir)/$$relfile" || \ cp -p $$file "$(distdir)/$$relfile"; \ else :; fi; \ done; \ done mostlyclean-aminfo: -rm -rf parted.aux parted.cp parted.cps parted.fn parted.fns parted.ky \ parted.kys parted.log parted.pg parted.pgs parted.tmp \ parted.toc parted.tp parted.tps parted.vr parted.vrs clean-aminfo: -test -z "parted.dvi parted.pdf parted.ps parted.html" \ || rm -rf parted.dvi parted.pdf parted.ps parted.html maintainer-clean-aminfo: @list='$(INFO_DEPS)'; for i in $$list; do \ i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \ echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \ rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \ done # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done cscopelist-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-info check-am: all-am check: check-recursive all-am: Makefile $(INFO_DEPS) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(infodir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(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 mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-recursive clean-am: clean-aminfo clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: $(DVIS) html: html-recursive html-am: $(HTMLS) info: info-recursive info-am: $(INFO_DEPS) install-data-am: install-info-am install-dvi: install-dvi-recursive install-dvi-am: $(DVIS) @$(NORMAL_INSTALL) test -z "$(dvidir)" || $(MKDIR_P) "$(DESTDIR)$(dvidir)" @list='$(DVIS)'; test -n "$(dvidir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dvidir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(dvidir)" || exit $$?; \ done install-exec-am: install-html: install-html-recursive install-html-am: $(HTMLS) @$(NORMAL_INSTALL) test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)" @list='$(HTMLS)'; list2=; test -n "$(htmldir)" || list=; \ for p in $$list; do \ if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \ $(am__strip_dir) \ if test -d "$$d$$p"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \ $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \ echo " $(INSTALL_DATA) '$$d$$p'/* '$(DESTDIR)$(htmldir)/$$f'"; \ $(INSTALL_DATA) "$$d$$p"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \ else \ list2="$$list2 $$d$$p"; \ fi; \ done; \ test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldir)" || exit $$?; \ done; } install-info: install-info-recursive install-info-am: $(INFO_DEPS) @$(NORMAL_INSTALL) test -z "$(infodir)" || $(MKDIR_P) "$(DESTDIR)$(infodir)" @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \ for file in $$list; do \ case $$file in \ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ esac; \ if test -f $$file; then d=.; else d=$(srcdir); fi; \ file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \ for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \ $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \ if test -f $$ifile; then \ echo "$$ifile"; \ else : ; fi; \ done; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done @$(POST_INSTALL) @if (install-info --version && \ install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \ list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \ for file in $$list; do \ relfile=`echo "$$file" | sed 's|^.*/||'`; \ echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\ install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\ done; \ else : ; fi install-man: install-pdf: install-pdf-recursive install-pdf-am: $(PDFS) @$(NORMAL_INSTALL) test -z "$(pdfdir)" || $(MKDIR_P) "$(DESTDIR)$(pdfdir)" @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pdfdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(pdfdir)" || exit $$?; done install-ps: install-ps-recursive install-ps-am: $(PSS) @$(NORMAL_INSTALL) test -z "$(psdir)" || $(MKDIR_P) "$(DESTDIR)$(psdir)" @list='$(PSS)'; test -n "$(psdir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(psdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(psdir)" || exit $$?; done installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-aminfo \ maintainer-clean-generic maintainer-clean-vti mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-aminfo mostlyclean-generic \ mostlyclean-libtool mostlyclean-vti pdf: pdf-recursive pdf-am: $(PDFS) ps: ps-recursive ps-am: $(PSS) uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \ uninstall-pdf-am uninstall-ps-am .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) \ cscopelist-recursive ctags-recursive install-am install-strip \ tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-aminfo clean-generic \ clean-libtool cscopelist cscopelist-recursive ctags \ ctags-recursive dist-info distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-aminfo maintainer-clean-generic \ maintainer-clean-vti mostlyclean mostlyclean-aminfo \ mostlyclean-generic mostlyclean-libtool mostlyclean-vti pdf \ pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ uninstall-dvi-am uninstall-html-am uninstall-info-am \ uninstall-pdf-am uninstall-ps-am .PHONY: updatepo updatepo: list='$(SUBDIRS)'; for dir in $$list; do \ $(MAKE) -C "$$dir" updatepo; \ done # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������parted-2.3/doc/API����������������������������������������������������������������������������������0000644�0000000�0000000�00000021417�11370314006�010625� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������=============================================================================== GNU libparted API =============================================================================== <<< This file is deprecated and being converted to Doxygen in-line documentation. Until this is finished, both are incomplete but fully document the API together. >>> ( scroll down to read ) by Andrew Clausen <clausen@gnu.org>, Leslie P. Polzer <polzer@gnu.org> Copyright (C) 1999, 2000, 2001, 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with the no Invariant Sections, with the no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the file, COPYING.DOC. CONTENTS -------- 1 Introduction 2 Initialising libparted 3 PedDevice 4 PedDisk, PedDiskType 5 PedGeometry 6 PedPartition, PedPartitionType 7 PedFileSystem, PedFileSystemType 8 PedConstraint, PedAlignment 9 PedTimer 10 PedUnit 11 Exceptions ------------------------------------------------------------------------------- 1 INTRODUCTION ------------------------------------------------------------------------------- GNU Parted is built on top of libparted, which does all of the real work. libparted provides an API capable of manipulating partition tables, and the filesystems on them. The main motivation for separating the back-end into a separate library was to encourage different GNU/Linux distributions to encorporate their own customized front-end into the install process. This documents the API -- not the implementation details of libparted. Documentation that is not relevant to programs using the API are marked with INTERNAL. Apart from this file, a good place to look would be parted/parted.c, the front-end's source, and the TUTORIAL file (not finished yet!). This documentation isn't as complete as it should be. Feel free to ask questions, either to me personally (clausen@gnu.org), or to the mailing list (bug-parted@gnu.org). 1.1 TERMINOLOGY ------------------- Some of the terminology is a bit weird, so you might want to read this. CONSTRAINT a set of conditions that must be satisfied, for a given GEOMETRY of a PARTITION. DEVICE a storage device. DISK a storage device, with a valid partition table. EXCEPTION an event that needs attention. EXTENDED PARTITION a PRIMARY PARTITION, that may contain LOGICAL PARTITIONS instead of a file system. There is at most one extended partition. FILE SYSTEM any data that resides on a partition. For the purposes for GNU Parted, this includes swap devices. GEOMETRY a description of a continuous region on a disk. eg, partitions have a geometry. HIDDEN PARTITION a partition that is hidden from MS operating systems. Only FAT partitions may be hidden. LOGICAL PARTITION like normal partitions, but they lie inside the extended partition. PARTITION a continuous region on a disk where a file system may reside. PRIMARY PARTITION a normal, vanilla, partition. PARTITION TABLE also, DISK LABEL. A description of where the partitions lie, and information about those partitions. For example, what type of file system resides on them. The partition table is usually at the start of the disk. TIMER a progress meter. It is an entity that keeps track of time, and who to inform when something interesting happens. 1.2 DESIGN -------------- libparted has a fairly object-oriented design. The most important objects are: PedArchitecture describes support for an "archicture", which is sort of like "operating system", but could also be, for example, another libparted environment, EVMS, etc. PedConstraint a constraint on the geometry of a partition PedDevice a storage device PedDisk a device + partition table PedFileSystem a filesystem, associated with a PedGeometry, NOT a PedPartition. PedGeometry a continious region on a device PedPartition a partition (basically PedGeometry plus some attributes) PedTimer a timer keeps track of progress and time All functions return 0 (or NULL) on failure and non-zero (or non-NULL) on success. If a function fails, an exception is thrown. This may be handled by either an exception handler, or the calling function (see the section on exceptions). All objects should be considered read-only; they should only be modified by calls to libparted's API. ------------------------------------------------------------------------------- 2 INITIALISING LIBPARTED ------------------------------------------------------------------------------- Headers for libparted can be included with: #include <parted/parted.h> Parted automatically initialises itself via an __attribute__ ((constructor)) function. However, you might want to set the exception handler with ped_exception_set_handler(). libparted does come with a default exception handler, if you're feeling lazy. Here's a minimal example: #include <parted/parted.h> int main() { /* automatically initialized */ ped_exception_set_handler(exception_handler); /* see section 7 */ return 0; /* automatically cleaned up */ } ----------------------------------------------------------------------------- 5 PEDGEOMETRY ----------------------------------------------------------------------------- 5.1 FIELDS -------------- 5.2 FUNCTIONS ----------------- ----------------------------------------------------------------------------- 6 PEDPARTITION, PEDPARTITIONTYPE ----------------------------------------------------------------------------- interface: <parted/disk.h> implementation: libparted/disk.c A PedPartition represents a partition (surprise!). PedPartitions have weird relationships with PedDisks. Hence, many functions for manipulating partitions will be called ped_disk_* - so have a look at the PedDisk documentation as well. Parted creates "imaginary" free space and metadata partitions. You can't do any operations on these partitions (like set_geometry, {set,get}_flag, etc.) Partitions that are not free space or metadata partitions are said to be "active" partitions. You can use ped_partition_is_active() to check. 6.1 FIELDS -------------- 6.2 FUNCTIONS ----------------- ----------------------------------------------------------------------------- 7 PEDFILESYSTEM, PEDFILESYSTEMTYPE ----------------------------------------------------------------------------- 7.1 FIELDS -------------- 7.2 FUNCTIONS ----------------- ----------------------------------------------------------------------------- 8 PEDCONSTRAINT, PEDALIGNMENT ----------------------------------------------------------------------------- "Alignments" are restrictions on the location of a sector in the form of: sector = offset + X * grain_size For example, logical partitions on msdos disk labels usually have a constraint with offset = 63 and grain_size = 16065 (Long story!). An important (and non-obvious!) property of alignment restrictions is they are closed under intersection, i.e. if you take two constraints, like (offset, grain_size) = (63, 16065) and (0, 4), then either: * there are no valid solutions * all solutions can be expressed in the form of (offset + X * grain_size) In the example, the intersection of the constraint is (16128, 64260). For more information on the maths, see the source -- there's a large comment containing proofs above ped_alignment_intersect() in libparted/natmath.c The restrictions on the location of the start and end are in the form of PedGeometry objects -- continous regions in which the start and end must lie. Obviously, these restrictions are also closed under intersection. The other restriction -- the minimum size -- is also closed under intersection. (The intersection of 2 minimum size restrictions is the maximum of the 2 values) FIXME: mention ped_alignment_any 8.2 FUNCTIONS ----------------- ----------------------------------------------------------------------------- 9 PEDTIMER ----------------------------------------------------------------------------- 9.1 FIELDS -------------- typedef void PedTimerHandler (PedTimer* timer, void* context); 9.2 FUNCTIONS ----------------- ----------------------------------------------------------------------------- 10 PEDUNIT ----------------------------------------------------------------------------- 10.1 CONSTANTS ----------------- 10.2 FUNCTIONS ----------------- ----------------------------------------------------------------------------- 11 EXCEPTIONS ----------------------------------------------------------------------------- 11.1 FIELDS -------------- �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������parted-2.3/doc/C/�����������������������������������������������������������������������������������0000755�0000000�0000000�00000000000�11400006132�010516� 5����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������parted-2.3/doc/C/Makefile.am������������������������������������������������������������������������0000644�0000000�0000000�00000001365�11145340116�012510� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������## Process this file with automake to produce Makefile.in dist_man8_MANS = \ parted.8 \ partprobe.8 .PHONY: updatepo # Update the POT in srcdir # Make sure the update does not only consist in a new POT-Creation-Date # Don't do anything if $(srcdir) is read-only (i.e., for "make distcheck"). updatepo: cd $(srcdir); \ test -w . || exit 0; \ for name in $(dist_man8_MANS); do \ echo $$name; \ cp po/$$name.pot po/$$name.new.pot; \ po4a-updatepo -f man -m $$name -p po/$$name.new.pot; \ diff -I '^\"POT-Creation-Date: ' po/$$name.pot po/$$name.new.pot 2>&1 > /dev/null; \ if [ $$? ]; then \ mv po/$$name.new.pot po/$$name.pot; \ else \ rm -f po/$$name.new.pot; \ fi; \ done dist-hook: updatepo MAINTAINERCLEANFILES = Makefile.in ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������parted-2.3/doc/C/Makefile.in������������������������������������������������������������������������0000644�0000000�0000000�00000111456�11400005572�012522� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Makefile.in generated by automake 1.11a from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = doc/C DIST_COMMON = $(dist_man8_MANS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \ $(top_srcdir)/m4/asm-underscore.m4 $(top_srcdir)/m4/assert.m4 \ $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/calloc.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \ $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/dirname.m4 \ $(top_srcdir)/m4/dos.m4 $(top_srcdir)/m4/double-slash-root.m4 \ $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/extensions.m4 \ $(top_srcdir)/m4/fclose.m4 $(top_srcdir)/m4/fcntl-o.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fpending.m4 \ $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getopt.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \ $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/lib-ignore.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \ $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \ $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/long-options.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \ $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/memchr.m4 \ $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \ $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/o-direct.m4 $(top_srcdir)/m4/open.m4 \ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \ $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/readlink.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/safe-read.m4 \ $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \ $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/symlink.m4 \ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \ $(top_srcdir)/m4/version-etc.m4 \ $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \ $(top_srcdir)/m4/wctype_h.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xstrndup.m4 \ $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/lib/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' man8dir = $(mandir)/man8 am__installdirs = "$(DESTDIR)$(man8dir)" NROFF = nroff MANS = $(dist_man8_MANS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ BUILDINFO = @BUILDINFO@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ CONFIG_INCLUDE = @CONFIG_INCLUDE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DL_LIBS = @DL_LIBS@ DM_LIBS = @DM_LIBS@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENABLE_DEVICE_MAPPER = @ENABLE_DEVICE_MAPPER@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPURGE = @GNULIB_FPURGE@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSTATAT = @GNULIB_FSTATAT@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETGROUPS = @GNULIB_GETGROUPS@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMCHR = @GNULIB_MEMCHR@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDIRAT = @GNULIB_MKDIRAT@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKFIFO = @GNULIB_MKFIFO@ GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@ GNULIB_MKNOD = @GNULIB_MKNOD@ GNULIB_MKNODAT = @GNULIB_MKNODAT@ GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PTSNAME = @GNULIB_PTSNAME@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ GNULIB_RMDIR = @GNULIB_RMDIR@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STAT = @GNULIB_STAT@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNCAT = @GNULIB_STRNCAT@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRPTIME = @GNULIB_STRPTIME@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNLINK = @GNULIB_UNLINK@ GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_USLEEP = @GNULIB_USLEEP@ GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_FUTIMENS = @HAVE_FUTIMENS@ HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETGROUPS = @HAVE_GETGROUPS@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@ HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@ HAVE_LANGINFO_H = @HAVE_LANGINFO_H@ HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LCHOWN = @HAVE_LCHOWN@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LOCALTIME_R = @HAVE_LOCALTIME_R@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_MKFIFO = @HAVE_MKFIFO@ HAVE_MKFIFOAT = @HAVE_MKFIFOAT@ HAVE_MKNOD = @HAVE_MKNOD@ HAVE_MKNODAT = @HAVE_MKNODAT@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ HAVE_OS_H = @HAVE_OS_H@ HAVE_PIPE2 = @HAVE_PIPE2@ HAVE_PREAD = @HAVE_PREAD@ HAVE_PTSNAME = @HAVE_PTSNAME@ HAVE_PWRITE = @HAVE_PWRITE@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TTYNAME_R = @HAVE_TTYNAME_R@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_USLEEP = @HAVE_USLEEP@ HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ HAVE_WCRTOMB = @HAVE_WCRTOMB@ HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE__BOOL = @HAVE__BOOL@ IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ INTLINCS = @INTLINCS@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ LIBTOOL = @LIBTOOL@ LIB_BLKID = @LIB_BLKID@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@ LOCALE_JA = @LOCALE_JA@ LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTALLOCA = @LTALLOCA@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ NEXT_WCTYPE_H = @NEXT_WCTYPE_H@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OS = @OS@ OS_LIBS = @OS_LIBS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PARTEDLDFLAGS = @PARTEDLDFLAGS@ PARTED_LIBS = @PARTED_LIBS@ PARTED_USABLE_TEST_DIR = @PARTED_USABLE_TEST_DIR@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POSUB = @POSUB@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PRIPTR_PREFIX = @PRIPTR_PREFIX@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REISER_LIBS = @REISER_LIBS@ REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FSTAT = @REPLACE_FSTAT@ REPLACE_FSTATAT = @REPLACE_FSTATAT@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ REPLACE_MBRLEN = @REPLACE_MBRLEN@ REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ REPLACE_MBSINIT = @REPLACE_MBSINIT@ REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_OPENAT = @REPLACE_OPENAT@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALPATH = @REPLACE_REALPATH@ REPLACE_REMOVE = @REPLACE_REMOVE@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRNCAT = @REPLACE_STRNCAT@ REPLACE_STRNDUP = @REPLACE_STRNDUP@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ REPLACE_UNSETENV = @REPLACE_UNSETENV@ REPLACE_USLEEP = @REPLACE_USLEEP@ REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ SELINUX_LIBS = @SELINUX_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_NLS = @USE_NLS@ UUID_LIBS = @UUID_LIBS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_aux_dir = @abs_aux_dir@ 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@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ gltests_WITNESS = @gltests_WITNESS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ dist_man8_MANS = \ parted.8 \ partprobe.8 MAINTAINERCLEANFILES = Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/C/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu doc/C/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-man8: $(dist_man8_MANS) @$(NORMAL_INSTALL) test -z "$(man8dir)" || $(MKDIR_P) "$(DESTDIR)$(man8dir)" @list='$(dist_man8_MANS)'; test -n "$(man8dir)" || exit 0; \ { for i in $$list; do echo "$$i"; done; \ } | while read p; do \ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; echo "$$p"; \ done | \ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ sed 'N;N;s,\n, ,g' | { \ list=; while read file base inst; do \ if test "$$base" = "$$inst"; then list="$$list $$file"; else \ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst" || exit $$?; \ fi; \ done; \ for i in $$list; do echo "$$i"; done | $(am__base_list) | \ while read files; do \ test -z "$$files" || { \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man8dir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(man8dir)" || exit $$?; }; \ done; } uninstall-man8: @$(NORMAL_UNINSTALL) @list='$(dist_man8_MANS)'; test -n "$(man8dir)" || exit 0; \ files=`{ for i in $$list; do echo "$$i"; done; \ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ test -z "$$files" || { \ echo " ( cd '$(DESTDIR)$(man8dir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(man8dir)" && rm -f $$files; } tags: TAGS TAGS: ctags: CTAGS CTAGS: cscope cscopelist: distdir: $(DISTFILES) @list='$(MANS)'; if test -n "$$list"; then \ list=`for p in $$list; do \ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \ if test -n "$$list" && \ grep 'ab help2man is required to generate this page' $$list >/dev/null; then \ echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \ grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \ echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \ echo " typically \`make maintainer-clean' will remove them" >&2; \ exit 1; \ else :; fi; \ else :; fi @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook check-am: all-am check: check-am all-am: Makefile $(MANS) installdirs: for dir in "$(DESTDIR)$(man8dir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(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 mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-man install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-man8 install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-man uninstall-man: uninstall-man8 .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ dist-hook distclean distclean-generic distclean-libtool \ distdir dvi dvi-am html html-am info info-am install \ install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-man8 install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am uninstall uninstall-am uninstall-man uninstall-man8 .PHONY: updatepo # Update the POT in srcdir # Make sure the update does not only consist in a new POT-Creation-Date # Don't do anything if $(srcdir) is read-only (i.e., for "make distcheck"). updatepo: cd $(srcdir); \ test -w . || exit 0; \ for name in $(dist_man8_MANS); do \ echo $$name; \ cp po/$$name.pot po/$$name.new.pot; \ po4a-updatepo -f man -m $$name -p po/$$name.new.pot; \ diff -I '^\"POT-Creation-Date: ' po/$$name.pot po/$$name.new.pot 2>&1 > /dev/null; \ if [ $$? ]; then \ mv po/$$name.new.pot po/$$name.pot; \ else \ rm -f po/$$name.new.pot; \ fi; \ done dist-hook: updatepo # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������parted-2.3/doc/C/parted.8���������������������������������������������������������������������������0000644�0000000�0000000�00000014535�11310213364�012025� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������.TH PARTED 8 "2007 March 29" parted "GNU Parted Manual" .SH NAME GNU Parted \- a partition manipulation program .SH SYNOPSIS .B parted [options] [device [command [options...]...]] .SH DESCRIPTION .B parted is a disk partitioning and partition resizing program. It allows you to create, destroy, resize, move and copy ext2, linux-swap, FAT, FAT32, and reiserfs partitions. It can create, resize, and move Macintosh HFS partitions, as well as detect jfs, ntfs, ufs, and xfs partitions. It is useful for creating space for new operating systems, reorganising disk usage, and copying data to new hard disks. .PP This manual page documents \fBparted\fP briefly. Complete documentation is distributed with the package in GNU Info format; see near the bottom. .SH OPTIONS .TP .B -h, --help displays a help message .TP .B -l, --list lists partition layout on all block devices .TP .B -m, --machine displays machine parseable output .TP .B -s, --script never prompts for user intervention .TP .B -v, --version displays the version .TP .B -a \fIalignment-type\fP, --align \fIalignment-type\fP Set alignment for newly created partitions, valid alignment types are: .RS .IP none Use the minimum alignment allowed by the disk type. .IP cylinder Align partitions to cylinders. .IP minimal Use minimum alignment as given by the disk topology information. This and the opt value will use layout information provided by the disk to align the logical partition table addresses to actual physical blocks on the disks. The min value is the minimum aligment needed to align the partition properly to physical blocks, which avoids performance degradation. .IP optimal Use optimum alignment as given by the disk topology information. This aligns to a multiple of the physical block size in a way that guarantees optimal performance. .RE .SH COMMANDS .TP .B [device] The block device to be used. When none is given, \fBparted\fP will use the first block device it finds. .TP .B [command [options]] Specifies the command to be executed. If no command is given, .BR parted will present a command prompt. Possible commands are: .RS .TP .B check \fIpartition\fP Do a simple check on \fIpartition\fP. .TP .B cp \fI[source-device]\fP \fIsource\fP \fIdest\fP Copy the \fIsource\fP partition's filesystem on \fIsource-device\fP (or the current device if no other device was specified) to the \fIdest\fP partition on the current device. .TP .B help \fI[command]\fP Print general help, or help on \fIcommand\fP if specified. .TP .B mkfs \fIpartition\fP \fIfs-type\fP Make a filesystem \fIfs-type\fP on \fIpartition\fP. \fIfs-type\fP can be one of "fat16", "fat32", "ext2", "linux-swap", or "reiserfs". .TP .B mklabel \fIlabel-type\fP Create a new disklabel (partition table) of \fIlabel-type\fP. \fIlabel-type\fP should be one of "bsd", "dvh", "gpt", "loop", "mac", "msdos", "pc98", or "sun". .TP .B mkpart \fIpart-type\fP \fI[fs-type]\fP \fIstart\fP \fIend\fP Make a \fIpart-type\fP partition with filesystem \fIfs-type\fP (if specified), beginning at \fIstart\fP and ending at \fIend\fP (by default in megabytes). \fIfs-type\fP can be one of "fat16", "fat32", "ext2", "HFS", "linux-swap", "NTFS", "reiserfs", or "ufs". \fIpart-type\fP should be one of "primary", "logical", or "extended". .TP .B mkpartfs \fIpart-type\fP \fIfs-type\fP \fIstart\fP \fIend\fP Make a \fIpart-type\fP partition with filesystem \fIfs-type\fP beginning at \fIstart\fP and ending at \fIend\fP (by default in megabytes). Using this command is discouraged. Instead use .BR mkpart to create an empty partition, and then use external tools like .BR mke2fs (8) to create the filesystem. .TP .B move \fIpartition\fP \fIstart\fP \fIend\fP Move \fIpartition\fP so that it begins at \fIstart\fP and ends at \fIend\fP. Note: \fBmove\fP never changes the minor number. .TP .B name \fIpartition\fP \fIname\fP Set the name of \fIpartition\fP to \fIname\fP. This option works only on Mac, PC98, and GPT disklabels. The name can be placed in quotes, if necessary. .TP .B print Display the partition table. .TP .B quit Exit from \fBparted\fP. .TP .B rescue \fIstart\fP \fIend\fP Rescue a lost partition that was located somewhere between \fIstart\fP and \fIend\fP. If a partition is found, \fBparted\fP will ask if you want to create an entry for it in the partition table. .TP .B resize \fIpartition\fP \fIstart\fP \fIend\fP Resize the filesystem on \fIpartition\fP so that it begins at \fIstart\fP and ends at \fIend\fP (by default in megabytes). .TP .B rm \fIpartition\fP Delete \fIpartition\fP. .TP .B select \fIdevice\fP Choose \fIdevice\fP as the current device to edit. \fIdevice\fP should usually be a Linux hard disk device, but it can be a partition, software raid device, or an LVM logical volume if necessary. .TP .B set \fIpartition\fP \fIflag\fP \fIstate\fP Change the state of the \fIflag\fP on \fIpartition\fP to \fIstate\fP. Supported flags are: "boot", "root", "swap", "hidden", "raid", "lvm", "lba", and "palo". \fIstate\fP should be either "on" or "off". .TP .B unit \fIunit\fP Set \fIunit\fP as the unit to use when displaying locations and sizes, and for interpreting those given by the user when not suffixed with an explicit unit. \fIunit\fP can be one of "s" (sectors), "B" (bytes), "kB", "MB", "GB", "TB", "%" (percentage of device size), "cyl" (cylinders), "chs" (cylinders, heads, sectors), or "compact" (megabytes for input, and a human-friendly form for output). .TP .B version Display version information and a copyright message. .RE .SH KNOWN ISSUES ext3 filesystem functionality does not currently work. To manage ext3 type filesystems use tools like .BR resize2fs (8) or .BR mke2fs (8). Note that the currently supported ext2 filesystem will be deprecated once ext3 support is finalized. Further note that ext3 support will have limited functionality that is yet to be defined. Use tools like .BR resize2fs (8) and .BR mke2fs (8) to manage these types of filesystems. To manually resize an ext3 filesystem and/or a partition use .BR resize2fs (8), .BR fdisk (8) or similar tools. For LVM situations, you will need to use the LVM commands to resize the LVM elements. .SH REPORTING BUGS Report bugs to <bug-parted@gnu.org> .SH SEE ALSO .BR fdisk (8), .BR mkfs (8), The \fIparted\fP program is fully documented in the .BR info(1) format .IR "GNU partitioning software" manual. .SH AUTHOR This manual page was written by Timshel Knoll <timshel@debian.org>, for the Debian GNU/Linux system (but may be used by others). �������������������������������������������������������������������������������������������������������������������������������������������������������������������parted-2.3/doc/C/partprobe.8������������������������������������������������������������������������0000644�0000000�0000000�00000003156�11154043331�012542� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������.\" Hey, EMACS: -*- nroff -*- .\" First parameter, NAME, should be all caps .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" other parameters are allowed: see man(7), man(1) .TH PARTPROBE 8 "March 18, 2002" parted "GNU Parted Manual" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: .\" .nh disable hyphenation .\" .hy enable hyphenation .\" .ad l left justify .\" .ad b justify to both left and right margins .\" .nf disable filling .\" .fi enable filling .\" .br insert line break .\" .sp <n> insert n+1 empty lines .\" for manpage-specific macros, see man(7) .SH NAME partprobe \- inform the OS of partition table changes .SH SYNOPSIS .B partprobe .RI [ -d ] .RI [ -s ] .RI [ devices... ] .SH DESCRIPTION This manual page documents briefly the .B partprobe command. .PP .\" TeX users may be more comfortable with the \fB<whatever>\fP and .\" \fI<whatever>\fP escape sequences to invode bold face and italics, .\" respectively. \fBpartprobe\fP is a program that informs the operating system kernel of partition table changes, by requesting that the operating system re-read the partition table. .SH OPTIONS This program uses short UNIX style options. .TP .B \-d Don't update the kernel. .TP .B \-s Show a summary of devices and their partitions. .TP .B \-h Show summary of options. .TP .B \-v Show version of program. .SH SEE ALSO .BR parted (8). .SH AUTHOR This manual page was written by Timshel Knoll <timshel@debian.org>, for the Debian GNU/Linux system (but may be used by others). ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������parted-2.3/doc/parted.info��������������������������������������������������������������������������0000644�0000000�0000000�00000171666�11400005630�012433� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������This is parted.info, produced by makeinfo version 4.13 from parted.texi. This file documents the use of GNU Parted, a program for creating, resizing, checking and copy partitions and file systems on them. Copyright (C) 1999-2010 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". INFO-DIR-SECTION System administration START-INFO-DIR-ENTRY * parted: (parted). GNU partitioning software END-INFO-DIR-ENTRY  File: parted.info, Node: Top, Next: Introduction, Up: (dir) GNU Parted User Manual ********************** This document describes the use of GNU Parted, a program for creating, destroying, resizing, checking and copying hard drive partitions, and the file systems on them. This document applies roughly to version *2.3* of GNU Parted. The original version was written by Andrew Clausen in text format. Richard M. Kreuter translated it into Texinfo format in 2002, to be heavily edited by Leslie P. Polzer in 2006. * Menu: * Introduction:: Overview * Using Parted:: Partitioning a Hard Drive * Related information:: Further reading on related topics * Copying This Manual:: How to make copies of this manual * History:: This manual's history * Concept index:: Concept index  File: parted.info, Node: Introduction, Next: Using Parted, Prev: Top, Up: Top 1 Introduction ************** * Menu: * Overview:: GNU Parted and prerequisite knowledge * Software Required:: GNU Parted's software dependencies * Supported Platforms:: Where you can use GNU Parted * License:: What you may and may not do with GNU Parted * Compiling:: How to build GNU Parted * Static binaries:: How to get and use a static version of GNU Parted  File: parted.info, Node: Overview, Next: Software Required, Up: Introduction 1.1 Overview of GNU Parted ========================== GNU Parted is a program for creating, destroying, resizing, checking and copying partitions, and the file systems on them. This is useful for creating space for new operating systems, for reorganizing disk usage, for copying data between hard disks and for "disk imaging" -- replicating an installation on another computer. This documentation is written with the assumption that the reader has some understanding of partitioning and file systems. If you want to learn more about these, the upcoming GNU Storage Guide is recommended reading. GNU Parted was designed to minimize the chance of data loss. For example, it was designed to avoid data loss during interruptions (like power failure) and performs many safety checks. However, there could be bugs in GNU Parted, so you should back up your important files before running Parted. Also note that reiserfs support relies on libreiserfs, which does not fulfil the aforementioned requirement. The same holds for any external tools like `ntfsresize'. The GNU Parted homepage is `http://www.gnu.org/software/parted'. The library and frontend themselves can be downloaded from `ftp://ftp.gnu.org/gnu/parted'. You can also find a listing of mailing lists, notes for contributing and more useful information on the web site. Please send bug reports to <bug-parted@gnu.org>. When sending bug reports, please include the version of GNU Parted. Please include the output from these commands (for disk `/dev/hda'): # parted /dev/hda print unit s print unit chs print Feel free to ask for help on this list -- just check that your question isn't answered here first. If you don't understand the documentation, please tell us, so we can explain it better. General philosophy is: if you need to ask for help, then something needs to be fixed so you (and others) don't need to ask for help. Also, we'd love to hear your ideas :-)  File: parted.info, Node: Software Required, Next: Supported Platforms, Prev: Overview, Up: Introduction 1.2 Software Required for the use of Parted =========================================== If you're installing or compiling Parted yourself, you'll need to have some other programs installed. If you are compiling Parted, you will need both the normal and devel packages of these programs installed: * libuuid, part of the e2fsprogs package. If you don't have this, you can get it from: `http://web.mit.edu/tytso/www/linux/e2fsprogs.html' If you want to compile Parted and e2fsprogs, note that you will need to `make install' and `make install-libs' e2fsprogs. * GNU Readline (optional), available from `ftp://ftp.gnu.org/gnu/readline' If you are compiling Parted, and you don't have readline, you can disable Parted's readline support with the `--disable-readline' option for `configure'. * GNU gettext (or compatible software) for compilation, if internationalisation support is desired. `ftp://ftp.gnu.org/gnu/gettext' * libreiserfs, if you want reiserfs support: `http://reiserfs.osdn.org.ua' Note that parted will automatically detect libreiserfs at runtime, and enable reiserfs support. libreiserfs is new, and hasn't been widely tested yet.  File: parted.info, Node: Supported Platforms, Next: License, Prev: Software Required, Up: Introduction 1.3 Platforms on which GNU Parted runs ====================================== Hopefully, this list will grow a lot. If you do not have one of these platforms, then you can use a rescue disk and a static binary of GNU Parted. *Note Static binaries::. GNU/Linux Linux versions 2.0 and up, on Alpha, x86 PCs, PC98, Macintosh PowerPC, Sun hardware. GNU/Hurd GNU libc 2.1 or higher is required. You can probably use older versions by using the `--disable-nls' option. *Note Building GNU Parted: Compiling. (Note: I think we have now dropped this requirement. TODO: check if libc 2.0 works!)  File: parted.info, Node: License, Next: Compiling, Prev: Supported Platforms, Up: Introduction 1.4 Terms of distribution for GNU Parted ======================================== GNU Parted is free software, covered by the GNU General Public License Version 2. This should have been included with the Parted distribution, in the COPYING file. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. Libparted is considered part of GNU Parted. It is covered by the GNU General Public License. It is NOT released under the GNU Lesser General Public License (LGPL).  File: parted.info, Node: Compiling, Next: Static binaries, Prev: License, Up: Introduction 1.5 Building GNU Parted ======================= If you want to compile GNU Parted, this is generally done with: $ ./configure $ make However, there are a few options for `configure': `--without-readline' turns off use of readline. This is useful for making rescue disks, etc., where few libraries are available. `--disable-debug' don't include assertions `--disable-dynamic-loading' disables dynamic loading of some libraries (only libreiserfs for now, although we hope to expand this). Dynamic loading is useful because it allows you to reuse libparted shared libraries even when you don't know if some libraries will be available. It has a small overhead (mainly linking with libdl), so it may be useful to disable it on bootdisks if you don't need the flexibility. `--disable-fs' disable all file system support `--disable-nls' turns off native language support. This is useful for use with old versions of glibc, or a trimmed down version of glibc suitable for rescue disks. `--disable-shared' turns off shared libraries. This may be necessary for use with old versions of GNU libc, if you get a compile error about a "spilled register". Also useful for boot/rescue disks. `--disable-Werror' ignore warning messages in compilation `--enable-discover-only' support only reading/probing (reduces size considerably) `--enable-mtrace' enable malloc() debugging `--enable-read-only' disable writing (for debugging)  File: parted.info, Node: Static binaries, Prev: Compiling, Up: Introduction 1.6 Using static binaries of GNU Parted ======================================= 1.6.1 Introduction ------------------ If you want to run GNU Parted on a machine without GNU/Linux installed, or you want to resize a root or boot partition, you will need to use a boot disk. Special boot disk images for GNU Parted used to be available, but with the emergence of a plethora of rescue disks and Live CDs that all include GNU Parted this is no longer necessary. However, please note that these disks often ship with out-of-date versions of Parted. To compensate for this a static binary of the latest GNU Parted version is available, which you can use thus: 1.6.2 Creating the Parted disk ------------------------------ 1. Boot your system 2. Download `parted-static-VERSION.tgz' from `ftp://ftp.gnu.org/gnu/parted/static' 3. Unpack the tarball, resulting in a file called "parted.static". 4. Insert a floppy. 5. Do a low-level format on it (on GNU/Linux this can be achieved with the tool "fdformat" from the "util-linux" package. This is basically a sanity check because floppy disks often contain bad blocks. 6. Create a file system. Example: $ parted /dev/fd0 mklabel loop mkpartfs ext2 0 1.4 7. Mount the floppy disk, e.g., $ mount -t ext2 /dev/fd0 /mnt/floppy 8. Copy `parted.static' to the floppy, e.g., $ cp parted.static /mnt/floppy 9. Unmount the floppy, e.g., $ umount /mnt/floppy 1.6.3 Using the Parted disk --------------------------- 1. Choose a rescue disk that suits you. 2. Boot off your rescue disk. Mount the disk you copied Parted onto. 3. Run Parted. For example, # cd /mnt/floppy # ./parted-static  File: parted.info, Node: Using Parted, Next: Related information, Prev: Introduction, Up: Top 2 Using Parted ************** * Menu: * Partitioning:: Disk partitioning in context * Running Parted:: Partitioning with Parted * Invoking Parted:: Parted's invocation options and commands * Command explanations:: Full explanation of parted's commands  File: parted.info, Node: Partitioning, Next: Running Parted, Up: Using Parted 2.1 Introduction to Partitioning ================================ Unfortunately, partitioning your disk is rather complicated. This is because there are interactions between many different systems that need to be taken into consideration. This manual used to introduce the reader to these systems and their working. This content has moved to the GNU Storage Guide.  File: parted.info, Node: Running Parted, Next: Invoking Parted, Prev: Partitioning, Up: Using Parted 2.2 Using GNU Parted ==================== Parted has two modes: command line and interactive. Parted should always be started with: # parted DEVICE where DEVICE is the hard disk device to edit. (If you're lazy and omit the DEVICE argument, Parted will attempt to guess which device you want.) In command line mode, this is followed by one or more commands. For example: # parted /dev/sda resize 1 52Mb 104Mb mkfs 2 fat16 Options (like `--help') can only be specified on the command line. In interactive mode, commands are entered one at a time at a prompt, and modify the disk immediately. For example: (parted) resize 1 52.0005Mb 104.5Mb (parted) mkfs 2 fat16 Unambiguous abbreviations are allowed. For example, you can type "p" instead of "print", and "resi" instead of "resize". Commands can be typed either in English, or your native language (if your language has been translated). This may create ambiguities. Commands are case-insensitive. Numbers indicating partition locations can be whole numbers or decimals. The suffix selects the unit, which may be one of those described in *note unit::, except CHS and compact. If no suffix is given, then the default unit is assumed. Negative numbers count back from the end of the disk, with "-1s" indicating the end of the disk. Parted will compute sensible ranges for the locations you specify (e.g. a range of +/- 500 MB when you specify the location in "G"). Use the sector unit "s" to specify exact locations. If you don't give a parameter to a command, Parted will prompt you for it. For example: (parted) resize 1 Start? 0Gb End? 40Gb Parted will always warn you before doing something that is potentially dangerous, unless the command is one of those that is inherently dangerous (viz., rm, mklabel and mkfs). For example, if you attempt to shrink a partition "too much" (i.e., by more than the free space available), Parted will automatically reduce the shrinkage so that the partition is the smallest it can be without losing data. If this size is significantly different from the size requested, Parted will warn you. Since many partitioning systems have complicated constraints, Parted will usually do something slightly different to what you asked. (For example, create a partition starting at 10.352Mb, not 10.4Mb) If the calculated values differ too much, Parted will ask you for confirmation. Currently ext3 filesystem functionality does not work. To manage ext3 type filesystems use tools like resize2fs or mke2fs. Note that the currently supported ext2 filesystem will be deprecated once ext3 support is finalized. Further note that ext3 support will have limited functionality that is yet to be defined. Use tools like resize2fs (8) and mke2fs (8) to manage these types of filesystems.  File: parted.info, Node: Invoking Parted, Next: Command explanations, Prev: Running Parted, Up: Using Parted 2.3 Command Line Options ======================== When invoked from the command line, Parted supports the following syntax: # parted [OPTION] DEVICE [COMMAND [ARGUMENT]] Available options and commands follow. For detailed explanations of the use of Parted commands, see *note Command explanations::. Options begin with a hyphen, commands do not: Options: `-h' `--help' display a help message `-s' `--script' never prompt the user `-a alignment-type' `--align alignment-type' Set alignment for newly created partitions, valid alignment types are: none, cylinder, minimal and optimal. `-v' `--version' display the version  File: parted.info, Node: Command explanations, Prev: Invoking Parted, Up: Using Parted 2.4 Parted Session Commands =========================== GNU Parted provides the following commands: * Menu: * align-check:: * check:: * cp:: * help:: * mklabel:: * mkfs:: * mkpart:: * mkpartfs:: * move:: * name:: * print:: * quit:: * rescue:: * resize:: * rm:: * select:: * set:: * unit::  File: parted.info, Node: align-check, Next: check, Up: Command explanations 2.4.1 align-check ----------------- -- Command: align-check ALIGN-TYPE N Determine whether the starting sector of partition N meets the disk's selected alignment criteria. ALIGN-TYPE must be `minimal', `optimal' or an abbreviation. When in script mode, if the partition does not meet the alignment requirement, exit with status 1; otherwise (including on older kernels for which alignment data is not available), continue processing any remaining commands. Without `--script', print either `N aligned' or `N not aligned'. Example: (parted) align-check minimal 1 1 aligned  File: parted.info, Node: check, Next: cp, Prev: align-check, Up: Command explanations 2.4.2 check ----------- -- Command: check NUMBER Checks if the file system on partition NUMBER has any errors. Example: (parted) check 1 Check the file system on partition 1.  File: parted.info, Node: cp, Next: help, Prev: check, Up: Command explanations 2.4.3 cp -------- -- Command: cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER Copies the file system on the partition FROM-NUMBER to partition TO-NUMBER, deleting the original contents of the destination partition. An optional device parameter, FROM-DEVICE can be given, which specifies which device the source partition is on. Supported file systems: * ext2 (provided the destination partition is larger than the source partition) * fat16, fat32 * linux-swap (equivalent to mkswap on destination partition) * reiserfs (if libreiserfs is installed) Example: (parted) cp /dev/hdb 2 3 Copy partition 2 of `/dev/hdb' (i.e., `/dev/hdb2') to partition on 3, on the device Parted was loaded with, destroying the original contents of partition 3.  File: parted.info, Node: help, Next: mklabel, Prev: cp, Up: Command explanations 2.4.4 help ---------- -- Command: help [COMMAND] Prints general help, or help on COMMAND. Example: (parted) help resize Print help for the resize command.  File: parted.info, Node: mklabel, Next: mkfs, Prev: help, Up: Command explanations 2.4.5 mklabel ------------- -- Command: mklabel LABEL-TYPE Creates a new disk label, of type LABEL-TYPE. The new disk label will have no partitions. This command (normally) won't technically destroy your data, but it will make it basically unusable, and you will need to use the rescue command (*note Related information::) to recover any partitions. Parted works on all partition tables. (1) LABEL-TYPE must be one of these supported disk labels: * bsd * loop (raw disk access) * gpt * mac * msdos * pc98 * sun Example: (parted) mklabel msdos Create an MS-DOS disk label. This is still the most common disk label for PCs. ---------- Footnotes ---------- (1) Everyone seems to have a different word for "disk label" -- these are all the same thing: partition table, partition map.  File: parted.info, Node: mkfs, Next: mkpart, Prev: mklabel, Up: Command explanations 2.4.6 mkfs ---------- -- Command: mkfs NUMBER FS-TYPE Makes a file system FS-TYPE on partition NUMBER, destroying all data that resides on that partition. Supported file systems: * ext2 * fat16, fat32 * linux-swap * reiserfs (if libreiserfs is installed) Example: (parted) mkfs 2 fat32 Make a FAT32 file system on partition 2.  File: parted.info, Node: mkpart, Next: mkpartfs, Prev: mkfs, Up: Command explanations 2.4.7 mkpart ------------ -- Command: mkpart [PART-TYPE FS-TYPE NAME] START END Creates a new partition, _without_ creating a new file system on that partition. This is useful for creating partitions for file systems (or LVM, etc.) that Parted doesn't support. You may specify a file system type, to set the appropriate partition code in the partition table for the new partition. FS-TYPE is required for data partitions (i.e., non-extended partitions). START and END are the offset from the beginning of the disk, that is, the "distance" from the start of the disk. PART-TYPE is one of `primary', `extended' or `logical', and may be specified only with `msdos' or `dvh' partition tables. A NAME must be specified for a `gpt' partition table. Neither PART-TYPE nor NAME may be used with a `sun' partition table. FS-TYPE must be one of these supported file systems: * ext2 * fat16, fat32 * hfs, hfs+, hfsx * linux-swap * NTFS * reiserfs * ufs Example: (parted) mkpart logical 0.0 692.1 Create a logical partition that will contain an ext2 file system. The partition will start at the beginning of the disk, and end 692.1 megabytes into the disk.  File: parted.info, Node: mkpartfs, Next: move, Prev: mkpart, Up: Command explanations 2.4.8 mkpartfs -------------- -- Command: mkpartfs PART-TYPE FS-TYPE START END Creates a new partition of type PART-TYPE with a new file system of type FS-TYPE on it. The new partition will start START megabytes, and end END megabytes from the beginning of the disk. Do not use this command to recover a deleted partition (use mkpart instead). Using this command is discouraged. Instead use mkpart to create an empty partition, and then use external tools like mke2fs (8) to create the filesystem. PART-TYPE is one of: primary, extended, logical. Extended and logical are only used for msdos and dvh disk labels. FS-TYPE must be one of these supported file systems: * ext2 * fat16, fat32 * linux-swap * reiserfs (if libreiserfs is installed) Example: (parted) mkpartfs logical ext2 440 670 Make a logical partition and write an ext2 file system, starting 440 megabytes and ending 670 megabytes from the beginning of the disk.  File: parted.info, Node: move, Next: name, Prev: mkpartfs, Up: Command explanations 2.4.9 move ---------- -- Command: move NUMBER START END Moves partition on the disk, by moving its beginning to START. You can't move a partition so that the old and new positions overlap. That is, you can only move partitions into free space. If you want to resize a partition in-place, use `resize'. Move never changes the partition number. Supported file systems: * ext2 (provided the destination partition is larger than the source partition) * fat16, fat32 * linux-swap * reiserfs (if libreiserfs is installed) Example: (parted) move 2 150M 500M Move the partition numbered 2 so that it begins 150 megabytes from the start of the disk, and ends 500 megabytes from the start.  File: parted.info, Node: name, Next: print, Prev: move, Up: Command explanations 2.4.10 name ----------- -- Command: name NUMBER NAME Sets the name for the partition NUMBER (GPT, Mac, MIPS and PC98 only). The name can be placed in quotes. Example: (parted) name 2 'Secret Documents' Set the name of partition 2 to `Secret Documents'.  File: parted.info, Node: print, Next: quit, Prev: name, Up: Command explanations 2.4.11 print ------------ -- Command: print [NUMBER] Displays the partition table on the device parted is editing, or detailed information about a particular partition. Example: (parted) print Disk geometry for /dev/hda: 0.000-2445.679 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.031 945.000 primary fat32 boot, lba 2 945.000 2358.562 primary ext2 3 2358.562 2445.187 primary linux-swap (parted) print 1 Minor: 1 Flags: boot, lba File System: fat32 Size: 945.000Mb (0%) Minimum size: 84.361Mb (0%) Maximum size: 2445.679Mb (100%)  File: parted.info, Node: quit, Next: rescue, Prev: print, Up: Command explanations 2.4.12 quit ----------- -- Command: quit Quits Parted. It is only after Parted exits that the Linux kernel knows about the changes Parted has made to the disks. However, the changes caused by typing your commands will _probably_ be made to the disk immediately after typing a command. However, the operating system's cache and the disk's hardware cache may delay this.  File: parted.info, Node: rescue, Next: resize, Prev: quit, Up: Command explanations 2.4.13 rescue ------------- -- Command: rescue START END Rescue a lost partition that used to be located approximately between START and END. If such a partition is found, Parted will ask you if you want to create a partition for it. This is useful if you accidently deleted a partition with parted's rm command, for example. Example: (parted) print Disk geometry for /dev/hdc: 0.000-8063.507 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.031 8056.032 primary ext3 (parted) rm Partition number? 1 (parted) print Disk geometry for /dev/hdc: 0.000-8063.507 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags OUCH! We deleted our ext3 partition!!! Parted comes to the rescue... (parted) rescue Start? 0 End? 8056 Information: A ext3 primary partition was found at 0.031MB -> 8056.030MB. Do you want to add it to the partition table? Yes/No/Cancel? y (parted) print Disk geometry for /dev/hdc: 0.000-8063.507 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.031 8056.032 primary ext3 It's back! :)  File: parted.info, Node: resize, Next: rm, Prev: rescue, Up: Command explanations 2.4.14 resize ------------- -- Command: resize NUMBER START END Resizes the partition with number NUMBER. The partition will start START from the beginning of the disk, and end END from the beginning of the disk. resize never changes the partition number. Extended partitions can be resized only so long as the new extended partition completely contains all logical partitions. Note that Parted can manipulate partitions whether or not they have been defragmented, so you do not need to defragment the disk before using Parted. Supported file systems: * ext2 - restriction: the new START must be the same as the old START. * fat16, fat32 * hfs, hfs+, hfsx - restriction: the new START must be the same as the old START and the new END must be smaller than the old END. * linux-swap * reiserfs (if libreiserfs is installed) Example: (parted) resize 3 200M 850M Resize partition 3, so that it begins 200 megabytes and ends 850 megabytes from the beginning of the disk.  File: parted.info, Node: rm, Next: select, Prev: resize, Up: Command explanations 2.4.15 rm --------- -- Command: rm NUMBER Removes the partition with number NUMBER. If you accidently delete a partition with this command, use mkpart (_not_ mkpartfs) to recover it. Also, you can use the gpart program (*note Related information::) to recover damaged disk labels. Note for msdos disk labels: if you delete a logical partition, all logical partitions with a larger partition number will be renumbered. For example, if you delete a logical partition with a partition number of 6, then logical partitions that were number 7, 8 and 9 would be renumbered to 6, 7 and 8 respectively. This means, for example, that you have to update `/etc/fstab' on GNU/Linux systems. Example: (parted) rm 3 Remove partition 3.  File: parted.info, Node: select, Next: set, Prev: rm, Up: Command explanations 2.4.16 select ------------- -- Command: select DEVICE Selects the device, DEVICE, for Parted to edit. The device can be a Linux hard disk device, a partition, a software RAID device or LVM logical volume. Example: (parted) select /dev/hdb Select `/dev/hdb' (the slave device on the first ide controller on Linux) as the device to edit.  File: parted.info, Node: set, Next: unit, Prev: select, Up: Command explanations 2.4.17 set ---------- -- Command: set NUMBER FLAG STATE Changes a flag on the partition with number NUMBER. A flag can be either "on" or "off". Some or all of these flags will be available, depending on what disk label you are using: `bios_grub' (GPT) - Enable this to record that the selected partition is a GRUB BIOS partition. `boot' (Mac, MS-DOS, PC98) - should be enabled if you want to boot off the partition. The semantics vary between disk labels. For MS-DOS disk labels, only one partition can be bootable. If you are installing LILO on a partition that partition must be bootable. For PC98 disk labels, all ext2 partitions must be bootable (this is enforced by Parted). `lba' (MS-DOS) - this flag can be enabled to tell MS DOS, MS Windows 9x and MS Windows ME based operating systems to use Linear (LBA) mode. `root' (Mac) - this flag should be enabled if the partition is the root device to be used by Linux. `swap' (Mac) - this flag should be enabled if the partition is the swap device to be used by Linux. `hidden' (MS-DOS, PC98) - this flag can be enabled to hide partitions from Microsoft operating systems. `raid' (MS-DOS) - this flag can be enabled to tell linux the partition is a software RAID partition. `LVM' (MS-DOS) - this flag can be enabled to tell linux the partition is a physical volume. `PALO' (MS-DOS) - this flag can be enabled so that the partition can be used by the Linux/PA-RISC boot loader, palo. `PREP' (MS-DOS) - this flag can be enabled so that the partition can be used as a PReP boot partition on PowerPC PReP or IBM RS6K/CHRP hardware. `DIAG' (MS-DOS) - Enable this to indicate that a partition can be used as a diagnostics / recovery partition. The print command displays all enabled flags for each partition. Example: (parted) set 1 boot on Set the `boot' flag on partition 1.  File: parted.info, Node: unit, Prev: set, Up: Command explanations 2.4.18 unit ----------- -- Command: unit UNIT Selects the current default unit that Parted will use to display locations and capacities on the disk and to interpret those given by the user if they are not suffixed by an UNIT. UNIT may be one of: `s' sector (n bytes depending on the sector size, often 512) `B' byte `kB' kilobyte (1000 bytes) `MB' megabyte (1000000 bytes) `GB' gigabyte (1000000000 bytes) `TB' terabyte (1000000000000 bytes) `%' percentage of the device (between 0 and 100) `cyl' cylinders (related to the BIOS CHS geometry) `chs' cylinders, heads, sectors addressing (related to the BIOS CHS geometry) `compact' This is a special unit that defaults to megabytes for input, and picks a unit that gives a compact human readable representation for output. The default unit apply only for the output and when no unit is specified after an input number. Input numbers can be followed by an unit (without any space or other character between them), in which case this unit apply instead of the default unit for this particular number, but CHS and cylinder units are not supported as a suffix. If no suffix is given, then the default unit is assumed. Parted will compute sensible ranges for the locations you specify (e.g. a range of +/- 500 MB when you specify the location in "G") and will select the nearest location in this range from the one you wrote that satisfies constraints from both the operation, the filesystem being worked on, the disk label, other partitions and so on. Use the sector unit "s" to specify exact locations (if they do not satisfy all constraints, Parted will ask you for the nearest solution). Note that negative numbers count back from the end of the disk, with "-1s" pointing to the end of the disk. Example: (parted) unit compact (parted) print Disk geometry for /dev/hda: 0kB - 123GB Disk label type: msdos Number Start End Size Type File system Flags 1 32kB 1078MB 1077MB primary reiserfs boot 2 1078MB 2155MB 1078MB primary linux-swap 3 2155MB 123GB 121GB extended 5 2155MB 7452MB 5297MB logical reiserfs (parted) unit chs print Disk geometry for /dev/hda: 0,0,0 - 14946,225,62 BIOS cylinder,head,sector geometry: 14946,255,63. Each cylinder is 8225kB. Disk label type: msdos Number Start End Type File system Flags 1 0,1,0 130,254,62 primary reiserfs boot 2 131,0,0 261,254,62 primary linux-swap 3 262,0,0 14945,254,62 extended 5 262,2,0 905,254,62 logical reiserfs (parted) unit mb print Disk geometry for /dev/hda: 0MB - 122942MB Disk label type: msdos Number Start End Size Type File system Flags 1 0MB 1078MB 1077MB primary reiserfs boot 2 1078MB 2155MB 1078MB primary linux-swap 3 2155MB 122935MB 120780MB extended 5 2155MB 7452MB 5297MB logical reiserfs  File: parted.info, Node: Related information, Next: Copying This Manual, Prev: Using Parted, Up: Top 3 Related information ********************* If you want to find out more information, please see the GNU Parted web site. These files in the Parted distribution contain further information: * `ABOUT-NLS' - information about using Native Language Support, and the Free Translation Project. * `AUTHORS' - who wrote what. * `ChangeLog' - record of changes made to Parted. * `COPYING' - the GNU General Public License, the terms under which GNU Parted may be distributed. * `COPYING.DOC' - the GNU Free Documentation Licence, the term under which Parted's documentation may be distributed. * `INSTALL' -- how to compile and install Parted, and most other free software  File: parted.info, Node: Copying This Manual, Next: History, Prev: Related information, Up: Top Appendix A Copying This Manual ****************************** * Menu: * GNU Free Documentation License:: License for copying this manual  File: parted.info, Node: GNU Free Documentation License, Up: Copying This Manual A.1 GNU Free Documentation License ================================== Version 1.1, March 2000 Copyright (C) 2000, 2009-2010 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. 0. PREAMBLE The purpose of this License is to make a manual, textbook, or other written document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others. This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software. We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference. 1. APPLICABILITY AND DEFINITIONS This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you". A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language. A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (For example, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them. The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup has been designed to thwart or discourage subsequent modification by readers is not Transparent. A copy that is not "Transparent" is called "Opaque". Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modification. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only. The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text. 2. VERBATIM COPYING You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3. You may also lend copies, under the same conditions stated above, and you may publicly display copies. 3. COPYING IN QUANTITY If you publish printed copies of the Document numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects. If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages. If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public. It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document. 4. MODIFICATIONS You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version: A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission. B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has less than five). C. State on the Title page the name of the publisher of the Modified Version, as the publisher. D. Preserve all the copyright notices of the Document. E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices. F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below. G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice. H. Include an unaltered copy of this License. I. Preserve the section entitled "History", and its title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence. J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission. K. In any section entitled "Acknowledgments" or "Dedications", preserve the section's title, and preserve in the section all the substance and tone of each of the contributor acknowledgments and/or dedications given therein. L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles. M. Delete any section entitled "Endorsements". Such a section may not be included in the Modified Version. N. Do not retitle any existing section as "Endorsements" or to conflict in title with any Invariant Section. If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles. You may add a section entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard. You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one. The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version. 5. COMBINING DOCUMENTS You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice. The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work. In the combination, you must combine any sections entitled "History" in the various original documents, forming one section entitled "History"; likewise combine any sections entitled "Acknowledgments", and any sections entitled "Dedications". You must delete all sections entitled "Endorsements." 6. COLLECTIONS OF DOCUMENTS You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects. You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document. 7. AGGREGATION WITH INDEPENDENT WORKS A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, does not as a whole count as a Modified Version of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an "aggregate", and this License does not apply to the other self-contained works thus compiled with the Document, on account of their being thus compiled, if they are not themselves derivative works of the Document. If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Document's Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate. 8. TRANSLATION Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License provided that you also include the original English version of this License. In case of a disagreement between the translation and the original English version of this License, the original English version will prevail. 9. TERMINATION You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 10. FUTURE REVISIONS OF THIS LICENSE The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See `http://www.gnu.org/copyleft/'. Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. A.1.1 ADDENDUM: How to use this License for your documents ---------------------------------------------------------- To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page: Copyright (C) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. A copy of the license is included in the section entitled ``GNU Free Documentation License''. If you have no Invariant Sections, write "with no Invariant Sections" instead of saying which ones are invariant. If you have no Front-Cover Texts, write "no Front-Cover Texts" instead of "Front-Cover Texts being LIST"; likewise for Back-Cover Texts. If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.  File: parted.info, Node: History, Next: Concept index, Prev: Copying This Manual, Up: Top Appendix B This manual's history ******************************** This manual was based on the file `USER' included in GNU Parted version 1.4.22 source distribution. The GNU Parted source distribution is available at `ftp.gnu.org/gnu/parted'. Initial Texinfo formatting by Richard M. Kreuter, 2002. Maintainance by Andrew Clausen from 2002 to 2005 and by Leslie P. Polzer from July 2005 onwards. This manual is distributed under the GNU Free Documentation License, version 1.1 or later, at your discretion, any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. *Note Copying This Manual::, for details.  File: parted.info, Node: Concept index, Prev: History, Up: Top Index ***** �[index�] * Menu: * align-check, command description: align-check. (line 6) * bugs, reporting: Overview. (line 6) * building parted: Compiling. (line 6) * check, command description: check. (line 6) * command description, align-check: align-check. (line 6) * command description, check: check. (line 6) * command description, cp: cp. (line 6) * command description, help: help. (line 6) * command description, mkfs: mkfs. (line 6) * command description, mkindex: mklabel. (line 6) * command description, mkpart: mkpart. (line 6) * command description, mkpartfs: mkpartfs. (line 6) * command description, move: move. (line 6) * command description, name: name. (line 6) * command description, print: print. (line 6) * command description, quit: quit. (line 6) * command description, rescue: rescue. (line 6) * command description, resize: resize. (line 6) * command description, rm: rm. (line 6) * command description, select: select. (line 6) * command description, set: set. (line 6) * command description, unit: unit. (line 6) * command syntax: Command explanations. (line 6) * commands: Using Parted. (line 6) * commands, detailed listing: Command explanations. (line 6) * commands, overview: Invoking Parted. (line 6) * compiling parted: Compiling. (line 6) * contacting developers: Overview. (line 6) * cp, command description: cp. (line 6) * description of parted: Overview. (line 6) * detailed command listing: Command explanations. (line 6) * e2fsprogs: Software Required. (line 6) * FDL, GNU Free Documentation License: GNU Free Documentation License. (line 6) * further reading: Related information. (line 6) * gettext: Software Required. (line 6) * gnu gpl: License. (line 6) * gpl: License. (line 6) * help, command description: help. (line 6) * history of this manual: History. (line 6) * invocation options: Invoking Parted. (line 6) * libuuid: Software Required. (line 6) * license terms: License. (line 6) * mkfs, command description: mkfs. (line 6) * mklabel, command description: mklabel. (line 6) * mkpart, command description: mkpart. (line 6) * mkpartfs, command description: mkpartfs. (line 6) * modes of use: Running Parted. (line 6) * move, command description: move. (line 6) * name, command description: name. (line 6) * options at invocation: Invoking Parted. (line 6) * overview: Overview. (line 6) * parted description: Overview. (line 6) * partitioning overview: Partitioning. (line 6) * platforms, supported: Supported Platforms. (line 6) * print, command description: print. (line 6) * quit, command description: quit. (line 6) * readline: Software Required. (line 6) * related documentation: Related information. (line 6) * reporting bugs: Overview. (line 6) * required software: Software Required. (line 6) * rescue, command description: rescue. (line 6) * resize, command description: resize. (line 6) * resizing root device: Static binaries. (line 6) * rm, command description: rm. (line 6) * select, command description: select. (line 6) * set, command description: set. (line 6) * software dependencies: Software Required. (line 6) * static binary: Static binaries. (line 6) * supported platforms: Supported Platforms. (line 6) * terms of distribution: License. (line 6) * unit, command description: unit. (line 6) * unsupported platforms: Static binaries. (line 6)  Tag Table: Node: Top797 Node: Introduction1666 Node: Overview2236 Node: Software Required4281 Node: Supported Platforms5640 Node: License6356 Node: Compiling6987 Node: Static binaries8632 Node: Using Parted10467 Node: Partitioning10886 Node: Running Parted11342 Node: Invoking Parted14285 Node: Command explanations15065 Node: align-check15451 Node: check16180 Node: cp16479 Node: help17410 Node: mklabel17684 Ref: mklabel-Footnote-118565 Node: mkfs18694 Node: mkpart19190 Node: mkpartfs20600 Node: move21746 Node: name22627 Node: print23005 Node: quit23894 Node: rescue24389 Node: resize25914 Node: rm27124 Node: select28021 Node: set28490 Node: unit30787 Node: Related information34336 Node: Copying This Manual35159 Node: GNU Free Documentation License35403 Node: History55291 Node: Concept index56096  End Tag Table ��������������������������������������������������������������������������parted-2.3/doc/pt_BR/�������������������������������������������������������������������������������0000755�0000000�0000000�00000000000�11400006133�011343� 5����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������parted-2.3/doc/pt_BR/Makefile.am��������������������������������������������������������������������0000644�0000000�0000000�00000000176�11035473300�013333� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������## Process this file with automake to produce Makefile.in lang=pt_BR include ../po4a.mk MAINTAINERCLEANFILES = Makefile.in ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������parted-2.3/doc/pt_BR/Makefile.in��������������������������������������������������������������������0000644�0000000�0000000�00000107447�11400005573�013354� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Makefile.in generated by automake 1.11a from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # # You must set the $(lang) variable when you include this makefile. # # You can use the $(po4a_translate_options) variable to specify additional # options to po4a. # For example: po4a_translate_options=-L KOI8-R -A KOI8-R # # # This makefile deals with the manpages generated from POs with po4a, and # should be included in an automake Makefile.am. # # The po must be named: # <man>.$(lang).po # If a man page require an addendum, you must name it: # <man>.$(lang).po.addendum # Where <man> corresponds to a filename in the C directory (which contains # the English man pages). # # The POs suffix is $(lang).po to allow dl10n to detect the outdated POs. # # # If a man page cannot be generated (it is not sufficiently translated; the # threshold is 80%), it won't be distributed, and the build won't fail. # VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ DIST_COMMON = $(dist_man_MANS) $(srcdir)/../po4a.mk \ $(srcdir)/Makefile.am $(srcdir)/Makefile.in subdir = doc/pt_BR ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \ $(top_srcdir)/m4/asm-underscore.m4 $(top_srcdir)/m4/assert.m4 \ $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/calloc.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \ $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/dirname.m4 \ $(top_srcdir)/m4/dos.m4 $(top_srcdir)/m4/double-slash-root.m4 \ $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/extensions.m4 \ $(top_srcdir)/m4/fclose.m4 $(top_srcdir)/m4/fcntl-o.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fpending.m4 \ $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getopt.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \ $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/lib-ignore.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \ $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \ $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/long-options.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \ $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/memchr.m4 \ $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \ $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/o-direct.m4 $(top_srcdir)/m4/open.m4 \ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quote.m4 \ $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/readlink.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/safe-read.m4 \ $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \ $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/symlink.m4 \ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/usleep.m4 \ $(top_srcdir)/m4/version-etc.m4 \ $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \ $(top_srcdir)/m4/wctype_h.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xstrndup.m4 \ $(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/lib/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ BUILDINFO = @BUILDINFO@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ CONFIG_INCLUDE = @CONFIG_INCLUDE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DL_LIBS = @DL_LIBS@ DM_LIBS = @DM_LIBS@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENABLE_DEVICE_MAPPER = @ENABLE_DEVICE_MAPPER@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPURGE = @GNULIB_FPURGE@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSTATAT = @GNULIB_FSTATAT@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETGROUPS = @GNULIB_GETGROUPS@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMCHR = @GNULIB_MEMCHR@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDIRAT = @GNULIB_MKDIRAT@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKFIFO = @GNULIB_MKFIFO@ GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@ GNULIB_MKNOD = @GNULIB_MKNOD@ GNULIB_MKNODAT = @GNULIB_MKNODAT@ GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PTSNAME = @GNULIB_PTSNAME@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ GNULIB_RMDIR = @GNULIB_RMDIR@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STAT = @GNULIB_STAT@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNCAT = @GNULIB_STRNCAT@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRPTIME = @GNULIB_STRPTIME@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNLINK = @GNULIB_UNLINK@ GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_USLEEP = @GNULIB_USLEEP@ GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WRITE = @GNULIB_WRITE@ GREP = @GREP@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_FUTIMENS = @HAVE_FUTIMENS@ HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETGROUPS = @HAVE_GETGROUPS@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@ HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@ HAVE_LANGINFO_H = @HAVE_LANGINFO_H@ HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LCHOWN = @HAVE_LCHOWN@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LOCALTIME_R = @HAVE_LOCALTIME_R@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_MKFIFO = @HAVE_MKFIFO@ HAVE_MKFIFOAT = @HAVE_MKFIFOAT@ HAVE_MKNOD = @HAVE_MKNOD@ HAVE_MKNODAT = @HAVE_MKNODAT@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ HAVE_OS_H = @HAVE_OS_H@ HAVE_PIPE2 = @HAVE_PIPE2@ HAVE_PREAD = @HAVE_PREAD@ HAVE_PTSNAME = @HAVE_PTSNAME@ HAVE_PWRITE = @HAVE_PWRITE@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TTYNAME_R = @HAVE_TTYNAME_R@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_USLEEP = @HAVE_USLEEP@ HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ HAVE_WCRTOMB = @HAVE_WCRTOMB@ HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE__BOOL = @HAVE__BOOL@ IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ INTLINCS = @INTLINCS@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ LIBTOOL = @LIBTOOL@ LIB_BLKID = @LIB_BLKID@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@ LOCALE_JA = @LOCALE_JA@ LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTALLOCA = @LTALLOCA@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ NEXT_WCTYPE_H = @NEXT_WCTYPE_H@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OS = @OS@ OS_LIBS = @OS_LIBS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PARTEDLDFLAGS = @PARTEDLDFLAGS@ PARTED_LIBS = @PARTED_LIBS@ PARTED_USABLE_TEST_DIR = @PARTED_USABLE_TEST_DIR@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POSUB = @POSUB@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PRIPTR_PREFIX = @PRIPTR_PREFIX@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REISER_LIBS = @REISER_LIBS@ REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FSTAT = @REPLACE_FSTAT@ REPLACE_FSTATAT = @REPLACE_FSTATAT@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ REPLACE_MBRLEN = @REPLACE_MBRLEN@ REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ REPLACE_MBSINIT = @REPLACE_MBSINIT@ REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_OPENAT = @REPLACE_OPENAT@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALPATH = @REPLACE_REALPATH@ REPLACE_REMOVE = @REPLACE_REMOVE@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRNCAT = @REPLACE_STRNCAT@ REPLACE_STRNDUP = @REPLACE_STRNDUP@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ REPLACE_UNSETENV = @REPLACE_UNSETENV@ REPLACE_USLEEP = @REPLACE_USLEEP@ REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SED = @SED@ SELINUX_LIBS = @SELINUX_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_NLS = @USE_NLS@ UUID_LIBS = @UUID_LIBS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WERROR_CFLAGS = @WERROR_CFLAGS@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_aux_dir = @abs_aux_dir@ 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@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ gltests_WITNESS = @gltests_WITNESS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@/$(lang) 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_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ lang = pt_BR # Inform automake that we want to install some man pages in section 1, 5 # and 8. # We can't simply use: # dist_man_MANS = $(wildcard *.[1-9]) # Because when Makefile.in is generated, dist_man_MANS is empty, and # automake do not generate the install-man targets. dist_man_MANS = MAINTAINERCLEANFILES = Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/../po4a.mk $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/pt_BR/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu doc/pt_BR/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags: TAGS TAGS: ctags: CTAGS CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook check-am: all-am check: check-am all-am: Makefile all-local installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool clean-local mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am all-local check check-am clean clean-generic \ clean-libtool clean-local dist-hook distclean \ distclean-generic distclean-libtool distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am # Override the automake's install-man target. # And set dist_man_MANS according to the pages that could be generated # when this target is called. install-man: dist_man_MANS = pt_BR-parted.8 install-man: install-man1 install-man5 install-man8 # For each .po, try to generate the man page all-local: for po in `ls -1 $(srcdir)/*.$(lang).po 2>/dev/null`; do \ $(MAKE) $$(basename $${po%.$(lang).po}); \ done # Remove the man pages that were generated from a .po clean-local: for po in `ls -1 $(srcdir)/*.$(lang).po 2>/dev/null`; do \ rm -f $$(basename $${po%.$(lang).po}); \ done .PHONY: updatepo # Update the PO in srcdir, according to the POT in C. # Based on the gettext po/Makefile.in.in updatepo: tmpdir=`pwd`; \ cd $(srcdir); \ for po in *.$(lang).po; do \ case "$$po" in '*'*) continue;; esac; \ pot=../C/po/$${po%$(lang).po}pot; \ echo "$(MSGMERGE) $$po $$pot -o $${po%po}new.po"; \ if $(MSGMERGE) $$po $$pot -o $$tmpdir/$${po%po}new.po; then \ if cmp $$po $$tmpdir/$${po%po}new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$${po%po}new.po; \ else \ if mv -f $$tmpdir/$${po%po}new.po $$po; then \ :; \ else \ echo "msgmerge for $$po failed: cannot move $$tmpdir/$${po%po}new.po to $$po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "msgmerge for $$po failed!" 1>&2; \ rm -f $$tmpdir/$${po%po}new.po; \ fi; \ msgfmt -o /dev/null --statistics $$po; \ done dist-hook: updatepo # Build the pages partprobe.8: for locale in pt_BR ; do \ po4a-translate -f man -m $(srcdir)/../C/$@ -p $@.$$locale.po -l $@ $(po4a_translate_options) ; \ if [ -f $(srcdir)/$@.$$locale.po.addendum ]; then \ po4a-translate -f man -m $(srcdir)/../C/$@ -p $@.$$locale.po -l $@ -a $(srcdir)/$@.$$locale.po.addendum $(po4a_translate_options) ; \ fi ; \ done # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������parted-2.3/doc/stamp-vti����������������������������������������������������������������������������0000644�0000000�0000000�00000000127�11400005627�012133� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������@set UPDATED 28 May 2010 @set UPDATED-MONTH May 2010 @set EDITION 2.3 @set VERSION 2.3 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������parted-2.3/AUTHORS����������������������������������������������������������������������������������0000644�0000000�0000000�00000021110�11324137521�010566� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������This file is part of GNU Parted Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation Inc. This file may be modified and/or distributed without restriction. This is not an invitation to misrepresent who contributed to GNU Parted. ------------------------------------------------------------------------------- We need to keep track of copyright (see the Maintainer HOWTO on www.gnu.org). Leslie Patrick Polzer <polzer@gnu.org> * parts of 1.6.24 PedUnit API * GPT pth_* functions and block size fixes * PED_SECTOR_SIZE -> PED_SECTOR_SIZE_DEFAULT * debugging framework * ext2 "strange layout" fix (experimental) * support for physical block sizes * SCO BFS support http://nic-nac-project.de/~skypher/ Snail Mail: Am Kirchberg 15 89537 Giengen Germany Andrew Clausen <clausen@gnu.org> * all FAT code (libparted/fs_fat) * all linux-swap code (libparted/fs_linux_swap) * some reiserfs glue code (libparted/fs_reiserfs) with Umanets * most of the API (with lots of discussion with Lennert Buytenhek) (include/parted/*) * generic filesystem code (filesys.c) and device code (device.c) * exception code (exception.c, debug.c) * partition table code (disk.c) * dos partition support (disk_dos.c) * mac partition support (disk_mac.c) * mips partition support (disk_mips.c) * loopback support (disk_loop.c) * some of the PC98 code (disk_pc98.c), with Masahiro Sakai. * misc. hacking on all disk_*.c code * low-level I/O code (device.c, geom.c, linux.c) - init_scsi() stolen from gnome-gfdisk via Matt Wilson. * constraint solver (natmath.c, constraint.c) * command-line, and fdisk-like frontend (parted/*) * stubs for ntfs, hfs, xfs * hacked on libparted/fs_ext2 a fair bit (bug fixes, error handling, support for > 1024 groups, etc.) * libparted/mbr.s (the MBR boot loader code) * misc hacking on GNU/Hurd port * major surgery on GUID Partition Table (GPT) support (disk_gpt.[ch]) * progress meter support (libparted/timer.c include/parted/timer.h) Snail mail: 18 Shaw St Ashwood, 3147 Australia Lennert Buytenhek <buytenh@gnu.org> * original ext2 code (libparted/fs_ext2) * discussion/ideas for API Matthew Wilson <msw@redhat.com> * basis of partition table and device code (disk.c, disk_dos.c, and device.c) Has morphed into something that looks completely different now :-) * bug fixes * BSD disklabel support (disk_bsd.c) * Python bindings to libparted * Don't detect AIX physical volumes as msdos partition tables * Code for manipulating AIX PVs Martin von Löwis <martin@mira.isdn.cs.tu-berlin.de> * German translations Baty Jean-Marc <baty@club-internet.fr> * French translations Hiroshi Takekawa <takekawa@sr3.t.u-tokyo.ac.jp> * Japanese translations Eliphas Levy Theodoro <eliphas@conectiva.com> * Brazillian Portugese translations Dmitry S. Sivachenko <dima@Chg.RU> * Russian translations Timshel Knoll <timshel@pobox.com> * man pages (parted.8 partprobe.8) * bug fixes Ivo Timmermans <itimmermans@bigfoot.com> * Dutch translations Ryoji Kawagishi <kawagisi@yk.rim.or.jp> * Japanese translation of doc/USER (user documentation) (replaced by Okuji's version, now) Okuji Yoshinori <okuji@kuicr.kyoto-a.ac.jp> * doc/USER.jp * contributions to Japanese translations Masahiro Sakai <ZVM01052@nifty.ne.jp> * most of the PC98 support (disk_pc98.c), with Andrew Clausen * lots of tedious work on parted/strlist.c Damien Genet <damien.genet@free.fr> * parted.m4 Ben Collins <bcollins@debian.org> * Sun disk label support (libparted/disk_sun.c) * stubs for UFS Vincent Stelhé <vincent.stelhe@free.fr> * move syntax patch (make END specification optional). Trivial for copyright purposes (no disclaimer needed) Neal H Walfield <neal@cs.uml.edu> * GNU/Hurd port - libparted/gnu.c Thomas Roelz <tom@suse.de> * misc bug fixes Matt Domsch <Matt_Domsch@dell.com> * GUID Partition Table (GPT) support (disk_gpt.[ch], crc32.[ch]) * misc bug fixes, including end-of-device workaround in libparted/linux.c Kjetil Torgrim Homme <kjetilho@linpro.no> * Norweigen translations Jörgen Tegnér <jorgen.tegner@telia.com> * Swedish translations Keld Simonsen <keld@dkuug.dk> * Danish translations Richard M. Kreuter <kreuter@ausar.rutgers.edu> * converted doc/USER to texinfo (doc/parted.texi) Miquel Matas <miquelmatas@wanadoo.es> * Catalan translations Andreas Dilger <adilger@clusterfs.com> * lots of mix bug fixes/cleanups Vicente E. Llorens <vllorens@mundofree.com> * Spanish translations Yury Umanets <torque@ukrpost.net> * basis of libparted/fs_reiserfs Bernardo João Torres da Silveira <bernardojts@ig.com.br> * pt_BR translation of FAQ and parted.texi Wojciech Polak <polak@gnu.org> * Polish translations Miloslav Trmac <mitr@volny.cz> * Czech translations Maxim V. Dziumanenko <mvd@mylinux.com.ua> * Ukrainian translations Giuseppe Sacco <eppesuig@debian.org> * Italian translations Guillaume Knispel <k_guillaume@libertysurf.fr> * nearly all hfs and hfs+ code (libparted/fs_hfs) * hfs+ support for mac partitions (disk_mac.c) * sync_fast code (linux.c gnu.c geom.[ch] device.[ch] ) * various fixes (parted.c ui.c filesys.c disk_dos.c disk.c doc/parted.texi doc/API disk_gpt.c disk_mac.c unit.c fs_fat/traverse.c) Chris Lumens <clumens@redhat.com> * interactive help fixes for filesystem types * gcc-4 pedanticism cleanups Wei-Lun Chao <chaoweilun@pcmail.com.tw> * Taiwanese dialect of Chinese (Cantonese?) translations. Tran Thi Hoang Quyen <banhdauxanhhaiduong@gmail.com> * Vietnamese translations Eduardo Maestri Righes <eduardo@tteng.com.br> * hidden partitions support * setting MS Reserved partitions through "set" command. Arif E. Nugroho <arif_endro@yahoo.com> * Indonesian translations Ithamar R. Adema <ithamar@unet.nl> * BeOS support David Cantrell <dcantrell@redhat.com> * Added support for Promise SX8 devices (original patch from Jeremy Katz <katzj@redhat.com>) * Brought IBM/Red Hat DASD patches forward to parted-1.7.x Original IBM authors: Volker Sameske <sameske@de.ibm.com> Horst Hummel <Horst.Hummel@de.ibm.com> Original Red Hat authors: Phil Knirsch <phil@redhat.de> Harald Hoyer <harald@redhat.de> * Prevent SIGFPE when FAT sector size is 0 * Add virtual DASD (VIODASD) on iSeries support * Use O_DIRECT I/O to prevent first partition corruption on GPT disks * Prevent sector reading exceptions from ped_geometry_check() on Mac disklabels. * Various bug fixes and other things. Peter Jones <pjones@redhat.com> * Add ped_exception_get_handler() * /dev/mapper read/write support on Linux (via libdevmapper) Darren Lavender <dl1@hppine99.gbr.hp.com> * Fix SIGSEGV in parted 1.6.19 and assertion error in 1.7.0 * Add support for LUN/device resize detection and option GPT header corruption * Fixed off-by-one error in GPT header that allowed for overlap between LDAs of LastUsableLBA and PartitionEntryLBA in backup GPT Olaf Hering <olh@suse.de> * Fixes for Macintosh disk label code Debarshi Ray <rishi@gnu.org> * Display disk model and transport type in parted(8). * '--list/-l' command line switch. * Introduce 'print devices' and alias 'print list' to 'print all'. * Alias 'mktable' to 'mklabel'. * Code and API clean-up, bug fixes, and other miscellaneous stuff. Harald Welte <laforge@gnumonks.org> * SD/MMC Storage card support on Linux ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������parted-2.3/.tarball-version�������������������������������������������������������������������������0000644�0000000�0000000�00000000004�11400006133�012607� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������2.3 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������parted-2.3/THANKS�����������������������������������������������������������������������������������0000644�0000000�0000000�00000002744�11370314006�010441� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������In no particular order: * Jonathan duSaint <jon@rockgeeks.net> for binary unit support and more. * Kamil Ignacak <acerion@wp.pl> for help with the migration of the API documentation. * Conectiva, www.conectiva.com, for sponsoring Parted's development (in the past). Eliphas, beber (aka Pato), baretta, fuganti, claudio, olive (anyone else?) * Stefan Kanthak <101.33761@germanynet.de> for lots of info on boot-loaders, and some corrections to the documentation * Fabian Emmes <fab@orlen.de> for RPM spec file, help with hidden partitions and autoconfusion :-) - and lots of other misc. help. * Falk Hueffner <falk.hueffner@student.uni-tuebingen.de> for bug fixes. * Kevin Lindsay <klindsay@stormix.com> for lots of bug reports, etc. * John Weismiller <john@stormix.com> for lots of bug reports, etc. * Andries Brouwer <Andries.Brouwer@cwi.nl> for advice on BIOS geometry * Simon Kirby <sim@stormix.com> for advice on BIOS geometry * Glenn McGrath <Glenn.McGrath@jcu.edu.au> * Timshel Knoll <timshel@pobox.com> for Debian stuff * Tim Waugh <twaugh@redhat.com> for bug reports and fixes * My friends for helping with testing: Tristan Zwalf, Menaka Lashitha Bandara, Thomas Hambleton * Ryan Weaver <ryanw@infohwy.com> for parted.spec.in patches * Benjamin Herrenschmidt <bh40@calva.net> for answering all of our questions on Mac's * Ethan Benson <erbenson@alaska.net> for lots of advice / testing on ppc * Charles Stevenson <csteven@terraplex.com> - ppc stuff * heaps of people we left out! ����������������������������parted-2.3/.prev-version����������������������������������������������������������������������������0000644�0000000�0000000�00000000004�11341767666�012177� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������2.2 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������